{"report_id":"504db2f5-2531-4543-9e2a-b615df620726","version":0,"status":"done","tags":[],"date":"2026-07-27T12:22:40Z","url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"104.21.83.44","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"title":"Prime Elite Capital Investment","dom":{"size":101669,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (9776)","md5":"1a6608dd326c2fe9aaf8b5e3bc4600fc","sha1":"a3d14ec7541c9ffc5973b51cec21de36737092b2","sha256":"019d03d01286eb85986efb37c8b20debc3d378be1951de7c75a75db461ec53d9","sha512":"0d5ffdde41402c05ef9c8a7630f2a2fcf92a59fc0565ec9e2c454517829be82100b8d237ba57157b2eaa798373f78b5f196623fed37719bf29f6aa7ee88d7d36","ssdeep":"1536:2X9bY8+HkLsechiG+2Ir6oPEDiqd3I7PvkW9uCcLnw2pgk69+CmCxCFCsk19sCj4:2S+/qdALW1g8qCaQTl77","tlshash":"4da3501164f08427018b46da56395e166eb5d743c60b0a9cbebc4bfe2fd7cb9cb23168","dom_hash":"domhashd41426c8174a191caf17107b0f7b2a4c","first_seen":"2026-07-27T12:22:49.728908Z","last_seen":"2026-07-27T12:22:49.728908Z","times_seen":1,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"104.21.83.44","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T12:22:40Z","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":1}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":4,"received_data":97116,"sent_data":2221,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1579,"sent_data":545,"comment":"","tags":null,"fingerprints":null},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"3.122.217.85","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":636,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.112.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":32329,"sent_data":577,"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":7,"received_data":88913,"sent_data":3976,"comment":"","tags":null,"fingerprints":null},{"fqdn":"places.googleapis.com","ip":{"addr":"172.217.119.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":263251,"first_seen":"2024-01-23T17:05:15Z","last_seen":"2026-07-22T08:17:27.855343Z","alert_count":0,"request_count":2,"received_data":2544,"sent_data":2911,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":1,"received_data":75995,"sent_data":510,"comment":"","tags":null,"fingerprints":null},{"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":4,"received_data":329035,"sent_data":1900,"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":"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":196315,"sent_data":1870,"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":25235,"sent_data":1901,"comment":"","tags":null,"fingerprints":null},{"fqdn":"maps.googleapis.com","ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":3442,"first_seen":"2012-05-22T14:23:23Z","last_seen":"2026-07-27T08:05:41.956091Z","alert_count":0,"request_count":19,"received_data":1556356,"sent_data":10514,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":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":527,"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":"cdnjs.cloudflare.com","ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":1222,"first_seen":"2012-05-23T12:49:49Z","last_seen":"2026-07-26T22:43:30.214545Z","alert_count":0,"request_count":3,"received_data":29202,"sent_data":1572,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"primeelitecapital.com","ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-05-26","domain_rank":4627901,"first_seen":"2026-07-27T05:57:53.668868Z","last_seen":"2026-07-27T05:57:53.668868Z","alert_count":67,"request_count":67,"received_data":2397309,"sent_data":83202,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]},{"name":"cdnjs","description":"cdnjs is a free distributed JS library delivery service.","website":"https://cdnjs.com","common_platform_enumeration":"","icon":"cdnjs.svg","categories":["CDN"]},{"name":"jQuery:1.12.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"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":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","categories":["JavaScript libraries"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.154.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":1,"received_data":2956,"sent_data":829,"comment":"","tags":null,"fingerprints":[{"name":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":468,"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":"maps.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":"2012-05-22T14:23:15Z","last_seen":"2026-07-20T13:49:49.880606Z","alert_count":0,"request_count":1,"received_data":252481,"sent_data":502,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"4dca23795e91546ba2d23b50b213b7c3","sha1":"bfb1fffb49d668e99d789ad4571e8077f8c6cd6c","sha256":"b62f69dbaa02357e39d5777cb50dbf92d08644ee336b6efe9c8f9bcdbb58b536","sha512":"f16bb1dd345a9106fa08d3c4f1edd7576f5f699e561d7b261cdd9e57f3df30abe0985a3fa7b1b7c99d163c26c01e20ac5f9f0c7d1632698e5ec6b588f99e4aea","ssdeep":"","tlshash":"8ac08c47b030480a148bf025c3ca468c3234840a003a0e243e48608a3fb3f98030d9e8","size":163,"data":"","first_seen":"2025-07-11T20:05:07.063989Z","last_seen":"2026-07-27T12:23:18.862201Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"61f55a688b20d009a41cdc8ced9dc7a3","sha1":"39015538a8c694de34df8e0697a8f349f479d901","sha256":"9135a5b431f26a00664d5485568ebe4626f85840d3ad20ff1976900f81ba5c8c","sha512":"1dbe8f9c9b741a44a08ebb5c35a35d60b90b2525b0167e0d224a6a96b2fd1a250a28c8ec4529335ef718eb36e3225149f195a36eb1210cedd69f7fddc43ec192","ssdeep":"","tlshash":"72f0d31b16602636061761f86bcecf4428354197e182cc11392c41858ff1c9db91dfe8","size":648,"data":"","first_seen":"2026-07-27T05:58:00.920385Z","last_seen":"2026-07-27T12:23:18.863844Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"905092834d59e6ce43aca3a20a58e6c9","sha1":"0c7db5bb06693250d7db2d1f993e3a37f936d8c2","sha256":"e0a4b86a90a79d606abad02a7afb53842e7ab93b276fa9103e3df31fcbdd81f2","sha512":"d038095e3dd516fed5d7e83f1b9bd53567c0dadf648d45e86d971ddcd410128b1728f38e56dcd3a1e51a41706b5d1e9c5b301472587dc615016dcc4e19256aec","ssdeep":"","tlshash":"e41121ba36c764a61326a46307af400db3e527821a2a04f0e4a0d44d6f94e85a56fb8c","size":1000,"data":"","first_seen":"2023-09-18T13:12:18Z","last_seen":"2026-08-10T02:12:53.973127Z","times_seen":174,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"7c7c6846a193865d20f4772b23f7e24f","sha1":"4a1c7e5f051be878634e283a55ba62a88272fd22","sha256":"a07a2d11fcc105c8e94ff28b7e1e2b6700f005138b43d66fb761aa2cbeda880b","sha512":"e54e4160f953007af89d641ae1bf1345abb7d315bfd8f8b286d8ed918d18f15583a12ca29b7ecb1b2fde827fa9c695472009e35b902c3bf7ea8cd6d36746a6fc","ssdeep":"","tlshash":"89310206f57616554b37315b9fbf40011226a40bac15fc51bece46c85f4ca581bf7ed4","size":1536,"data":"","first_seen":"2026-07-27T05:58:00.923406Z","last_seen":"2026-07-27T12:23:18.867062Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"83ab6426f2225deb26cf809233372dad","sha1":"5c663fb5478fc820caafb5d7adbe917bfb2baa44","sha256":"5f4ec2a157a060f176226a593206d0f4bcc8228c5772c26b003fa4b5ca2412c2","sha512":"ca5ec44eef480943c60ffc9916b0abd736bd3aad9fe832d64a8164dbdcf48d1887f76c1206e9ba9e45a92550b4edc9ca164e14cdb694c22202850b3b4d089551","ssdeep":"","tlshash":"e3e0ab3d2c34409497a300b891b6e238391630200494ed1b8896882a28b0bca6d01994","size":416,"data":"","first_seen":"2026-07-27T05:58:00.925207Z","last_seen":"2026-07-27T12:23:18.86835Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/js?key=AIzaSyCmL18misQw9KdwqGaw3zHkitj8vG6QF2Y\u0026paint_origin=\u0026libraries=geometry,search\u0026v=weekly\u0026loading=async\u0026language=en\u0026region=us\u0026experimentation=allowed\u0026callback=onApiLoad","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"9807435091dc20fddc13d875506f0fb3","sha1":"17b70dbd570beb03a05ce58da0aa2ee2119407d7","sha256":"e8dbab68d882e85faf72a74585bbedbee7041912e831f8cf65515260afdded72","sha512":"4e746a4e7ba5a854bc0304485ec80740273e1da9b44cc6e5abb80568e3bf8964790165dc3c6a382a1ea8e58911890b833053c91628e58e86e87e59143228d01e","ssdeep":"384:lVsmEM03oU8Dl7X+XH4NFC2JupSETMH8U4lNRsOM9BWIfabysggC5j2GwqgGODeu:lVtEM03oUcl7X+XHuFCoupSEE4lNRsNY","tlshash":"cb52947b33851c36dd03e17cf45a6d0e24b3da672db5aae0c62768ca8d250b91816fc9","size":13422,"data":"","first_seen":"2026-07-27T12:15:59.244515Z","last_seen":"2026-07-27T12:58:09.488372Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/common.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"31d2d0109cbb555d4d1bb1d1aadf2133","sha1":"9c93dcffd69503e2ad240ea9fa1702abe08144a3","sha256":"a2ceda9bcc0100ef6d1130dc49439e47e8fa1233e7cd025a6018919eec222ecc","sha512":"19a4c7de0f35af185ff9b846790bee70d3fbe2570dc172a3a557b5f08032c872e42d462e4ff8554e3b07949966bc5fb43a15676fa03b6b54d5238108b7165054","ssdeep":"3072:SxAH1dW3t/h44XaocAVOUK4gemXkkI/xMrvgnU7:SY1dpoGUKxezV/xMzgnU7","tlshash":"77c3a6d5329370a3ab71b4b540a70007b2a5e485f40d8c2eb5f9ccf6aef495a11f9b39","size":128639,"data":"","first_seen":"2026-07-22T18:24:50.770414Z","last_seen":"2026-07-28T17:04:50.836884Z","times_seen":982,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/util.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"6a66b994a8cff590771a8cf7c8d22985","sha1":"75f991bb10c469f7602ad12bbefe3f0194d84ab7","sha256":"854d0de447affcb4cc29bd570d8311a969aa5d43b88f0c64950ac84233cb037b","sha512":"1469786d2b55b52ba1614146b7a32a99d4b354de0a36b36860309c9b18fe873713eb5616db80133d80537cb775e59052264a48a4b5661bbf5c5fc0243c16c440","ssdeep":"3072:gzIavX/CiQKjOnkJG7NJG7A8kwyuZmBFZq:gzIax4npCk8kxu0BFZq","tlshash":"7d64d77c32316b4ee973c85bc626300e90257ddbfad488bdfee59186d954988f0e4a34","size":317352,"data":"","first_seen":"2026-07-22T18:24:50.743146Z","last_seen":"2026-07-28T17:04:50.854605Z","times_seen":983,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/onion.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"421954624ee9f01aa15be44f2b89e522","sha1":"500625170f43e269744914b969650684a154c3a5","sha256":"0bbb31460cd2f1a337bb98cd67f97f6a9b25a7367b11139b3cd27558bd76e47d","sha512":"629af7bd9eb45bc1f8b0f9cf7905135db2dce4f6d1576330ce5aafcd765fe9af7800364f7a253f6cfb5d80475e4d92fa724d91cd34ef9e0f6a3eb1b26a853a50","ssdeep":"768:SXtlSb4RUZIPi9V+Lljoscl23wj8pStC4MYrahg80FchsPE7jf/s5W9dg:8cl2484MYFxR5W9dg","tlshash":"81d2e5a872937193c3f2a270417f110be52d64c1f40889adb9a89dd57ff858a21f9f78","size":28303,"data":"","first_seen":"2026-07-22T18:28:15.455232Z","last_seen":"2026-07-28T15:45:30.733544Z","times_seen":447,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/log.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"d80bd779d1639d8052dbfe149ef9f254","sha1":"05f90927ec492a44cb7c76db0dcb360776abdf3d","sha256":"2b35eb9523d8ea44f04328da81728ced64b876391dbf7eee813d81ba5afddf3f","sha512":"1e13421c24584ca42871b70d0fa7dfd2ff691989dbc22d0c2f6fb58fbad42bd7d14d69568c9a5daeb7683f13ac388ce1490b6cc8b77c601360676204ce479106","ssdeep":"768:IN9bgjR2X67JncsaA8vjogJb0y80jCs6aCantweLK:l067Ojsaa","tlshash":"dfd2b6d4b3a270d28bb1e4a5406b4007b6656451f00cdc6efded98e57cf8a4742baf78","size":28608,"data":"","first_seen":"2026-07-22T18:28:15.52878Z","last_seen":"2026-07-28T17:04:50.838827Z","times_seen":369,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.gstatic.com/maps-api-v3/embed/js/65/10a/init_embed.js","fqdn":"maps.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"},"introduction_type":"scriptElement","is_inline":false,"md5":"424edc36df5a2d8b663652504970eecd","sha1":"46307cfcd6bc5de9966d62bcec39e3a40dfdfd01","sha256":"592c00f5f216755d1a2872ab7f95ce149ab3f6640c9c1f7343f5dc3892866cfd","sha512":"4b7949e0c81e20723b471b3acd67a42a2f4ec8012a07e7de8b982c2b0ceb6b9a5abacc4d46e884b1228fc492e1a79ddb5ff0065ded4747b45b8e99a9688a078f","ssdeep":"3072:4T+6KaHLm378DYbh4ROPi60EHwIJubLisDqDP:43lO7KYt6kieHwUu3bDy","tlshash":"11342bdc7265706682b398f1002f014bb235f8a6f44c84b8f195e9e5ae74da902b7f7d","size":251642,"data":"","first_seen":"2026-07-22T18:33:47.554302Z","last_seen":"2026-08-06T16:21:42.880587Z","times_seen":953,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"01cece45c90a71db7d3616eb1b64ee64","sha1":"51ec46279d524491393c8a9d3ef1835c8947b961","sha256":"3a62321995cd73f8e559e86048958d42a12bedd237f56310881e8eff6cfb4ca7","sha512":"952bfdec446a7acfef9800e976fd6c9e12cb56c988c854644015a5b446171d2d90a8ca5c0b42b6399a57e2f952db2b83aace4f2a1b608a7aaaacaa1ee89679b3","ssdeep":"","tlshash":"8f01cb9376d41439c0ad102273bf81a6f8b126e75d3261e0541edc458db0e081faeeb9","size":724,"data":"","first_seen":"2023-03-07T01:10:28Z","last_seen":"2026-08-10T13:01:49.771952Z","times_seen":4550,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"9e8f56e8e1806253ba01a95cfc3d392c","sha1":"a8af90d7482e1e99d03de6bf88fed2315c5dd728","sha256":"2595496fe48df6fcf9b1bc57c29a744c121eb4dd11566466bc13d2e52e6bbcc8","sha512":"63f0f6f94fbabadc3f774ccaa6a401696e8a7651a074bc077d214f91da080b36714fd799eb40fed64154972008e34fc733d6ee314ac675727b37b58ffbebebee","ssdeep":"","tlshash":"6021d5743a18107e226a0133e56f66cee1f23715fd17e440408ad89566e4fe5063fed9","size":1239,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-11T11:47:44.061251Z","times_seen":418034,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/jquery-1.12.4.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"618538b4ab9639d444e962729a927f15","sha1":"dacc1f76630a9708add066819b1aabf8dce01056","sha256":"27d92130c0321dad5a03760fd5ac98a3d04ed4c94d88418fe6d50da1f7fc5cbe","sha512":"bcb6754ea246939a19a917cc0b810e1753c1b0f1a8b1b7e652128ef15dee4fc79111e4d88fe12f9188449a307e82240d0261af402d783428edfe5785c860372d","ssdeep":"1536:jYE1JVoiB9JqZdXXe2pD3PgoIiulrUdTJ5Fk/zkZ4HjL5o8srOaS9TwDhb7/Jp96:y4J+03jL5TCOauTwDhFdnCVQNLa98Hrc","tlshash":"9693d7d9b6d6706287b734a851bf410bb17aa8eab40c4c60f058c8e47e74e9d507bf2d","size":97168,"data":"","first_seen":"2023-03-07T01:12:12Z","last_seen":"2026-08-10T05:01:09.649677Z","times_seen":5773,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/particles.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"00debcf6cf0789a19cee2278011afcd4","sha1":"8017f8b1869077db728573f1ca4684a00af69462","sha256":"faee7815a5fd27e938d1e01c8392b66332024908eb118048f608eee671371df6","sha512":"29e7f9b1cee07d369c47b4d929e95cad1b35e62a5fefeb7e9fb661ea628d25b996fbf4517425bd9f07cb9f8617d2cda73ba2afe58d8286a8086a4682e8f5b4f4","ssdeep":"384:NkfJtGvWjT6uYvqhCz8wSEHESxtVAFPQcYpeib+9rOEKXWd/:NC7T6uYvn8wRxwyryVOEKXW5","tlshash":"61a2934d23f73e77378ab2e09be9d122c774a4d1399b04b0f93c667da52549201ee7a0","size":23364,"data":"","first_seen":"2023-03-07T01:16:44Z","last_seen":"2026-08-11T11:15:06.368121Z","times_seen":5492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/scripts.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"90a6318d9aa85813140dd817ae8862c3","sha1":"ea57d1fcd19054e85b224f778429b6f7fe65f09a","sha256":"efe21a86bcd0d8477c8595b64a625ad5e4115208b35e20142316b9c0746e1aad","sha512":"01ed7532f9ab519646bd6a7c345127fd01059bb9c52778d5666d94ad02c97845ae4c57e54880ae0b470bde243e0a85686b0d02b663d7c8a35d0ccd0e0f755c2f","ssdeep":"192:mGfWr8ndsnyT77/xa+UI9ar2D9S8ImG7AAV41oOodEmkGkgwaC:mGuY3n7JanGW2D08IV7AAV41oOodJkGu","tlshash":"4b220e87b36d506b56ff73ac463e8281e97dc437c001867ab8ad455837b8b2462b3f19","size":10265,"data":"","first_seen":"2026-07-27T05:58:00.833027Z","last_seen":"2026-07-27T12:23:18.801936Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/Chart.bundle.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"b6f55af77c3972c9dcbf33b0acacacbc","sha1":"b7e996fff90a6d43b7c4ad5709fa47652c0183dc","sha256":"246ea1b2e323167436b295aad1489a0d124169aaf38456d4c62513c500c0f4b9","sha512":"4915b536e7a05820f87e8c15077b14c2bd8b9cb9d501c2930ad613f73f38aec91fa2aaad2197c45b588a074b85d51cef7526ea71522ce8590e3638f98fcf1163","ssdeep":"12288:YCmQvz7lFFn4+Y0iSHea5yrwUtBkYd8k/DEqXBvQiN:YCmKz7ljFdYFN","tlshash":"5ab4f898f7ed2126422632585e1f51cda63d9033590adc69bc6ca5a42fd4c3c43fbfa8","size":535484,"data":"","first_seen":"2023-03-07T12:06:49Z","last_seen":"2026-07-27T12:23:18.800314Z","times_seen":37,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/Chart.PieceLabel.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"45de61544771d6e30dc86258e0c43042","sha1":"98fd98a9e4b1b7b8ab852d24505aadcf7fdb25d2","sha256":"f67c4bf9ecb3e781b1815024d9c085950ec7539b80cb73b52e6f4af94984dec0","sha512":"cf0ca77135b528b444422d247e33aac7abdb2554b853fc77e2fe97f7335916fc4ca21c6eb8cee82810183cdc84c923ac94d181dcd4369110d25c46231a260df0","ssdeep":"96:F/4OJPZcdefrbZeoMsulKUkfRJWHajP65T:N4ZAYo/uoWi65T","tlshash":"1ca1d70d32b87066c46365a4718f018e5633bbadaa42ad6cb674d7f15dd484a30ffb70","size":4910,"data":"","first_seen":"2023-03-13T14:09:52Z","last_seen":"2026-08-02T02:46:50.143728Z","times_seen":18,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"88d0fe722f04973e2888b58a63aa0570","sha1":"f947512e51f8ef4b15bba3f701de64e53a7f7f9b","sha256":"e0e2bc4e1d3ee5024c4e1aa58a6cad9aa42fc63a8c89ce18013a1c8f2b94875c","sha512":"f425865c5489fbf5f42d6cd2442645b0e3e149f9ba8db9cbf8ca6aa34a3c29ed9262bf2b093a9be3fc069bef67d771ed0c4d4d4290043ab31e703670e055d01a","ssdeep":"384:SKwx0bG/ON7gum0tQt8RYgKpJz8vYHpElIVombV:y//ONetpb8QHpEqj","tlshash":"afb2a54bb2242345069372b9419b110d713bfb78fc41855c70badadfaa4b84e9277b3d","size":23890,"data":"","first_seen":"2023-03-07T01:07:29Z","last_seen":"2026-08-11T07:49:44.859042Z","times_seen":11304,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/geometry.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"a3ff4707ad93e4297dbe2f2429a0ca03","sha1":"fbeb10e42ab2198fa9ddf56d88c79eb3ee223481","sha256":"43f3b18399de83bc94ff9855d2052369c94a254fd354cd12e7a6cd2754ecf020","sha512":"0f8fb929f39e30fdaa775adf385467fa9eee60c49d71229519e51837f71f33d1b9d3d7c99b4fbbc54fce2dc608e39dc0e0269a86b92b82167cc9f46761bcf43d","ssdeep":"192:bgT/KojfT00xuWvchDh+AeJ9ZUE0Okh3/e5MfB6ruCK3V:cuojLfxu+UFdk35yPF","tlshash":"94e1b97c3a6a3957d370eb5684450053e5a7b5be205b8e488c7de28e26b84cd05eff38","size":6974,"data":"","first_seen":"2026-07-22T18:33:47.566776Z","last_seen":"2026-07-28T15:47:12.141913Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/search.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"17061d1b13c9f43bff64b27832337004","sha1":"5bd040c5f2bd4b3dba0690f7e8828d12bc2af5d3","sha256":"b851bd0888ab1f429c234a6c6309aee8c544e76558265c158116bfee86129aca","sha512":"7b04793ca48b3b494af4dc02a361366301a7d57c0930cef9ad8f0ef4abad086b362e76105a9edb3fce16f5186263c620b374c7856fde7192826a0efc0cf3af50","ssdeep":"","tlshash":"6a5178f33352f83742aad27124ae008288681452d515805cfdbce8cba8f8e9705f7e71","size":2621,"data":"","first_seen":"2026-07-22T18:33:47.61981Z","last_seen":"2026-07-28T14:38:16.183881Z","times_seen":481,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/places.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"be4981f0230df6b97a80adc9d5dd4b33","sha1":"048703dd666cb0f67405c4fd7657d7eecc687660","sha256":"72e38bb0c99fe765e15773e4b1cedc7c5f31467adcad307f73a1e95234fe840b","sha512":"edc53fce0942c20963b79543066a6ba90bec25d63ac9470c9f39c29a083cefea65ce0f67db1f669fb4cd1b46ff738ae1e46b247e0b4f07d312bc35278af0ea46","ssdeep":"6144:LlpGT5AdO0UW99druuOgkBhXoOkxHdnmD4o97TgLuaenUmhxSPT/Z2OHLtpwh3zr:5yB3QN8SS","tlshash":"a2a45d56a29132765a778860570b6206e334e407e0146becb86cdfd15ffbf8182b773a","size":473459,"data":"","first_seen":"2026-07-22T18:28:15.503745Z","last_seen":"2026-07-28T15:47:12.117549Z","times_seen":481,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/bootstrap/js/bootstrap.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"14d449eb8876fa55e1ef3c2cc52b0c17","sha1":"a9545831803b1359cfeed47e3b4d6bae68e40e99","sha256":"e7ed36ceee5450b4243bbc35188afabdfb4280c7c57597001de0ed167299b01b","sha512":"00d9069b9bd29ad0daa0503f341d67549cce28e888e1affd1a2a45b64a4c1bc460d81cfc4751857f991f2f4fb3d2572fd97fca651ba0c2b0255530209b182f22","ssdeep":"768:9VG5R15WbHVKZrycEHSYro34CrSLB6WU/6DqBf4l1B:9VIRuo53XiwWTvl1B","tlshash":"7523c84a7254b4a202dfa476913f450bb73b389aa60bc16cb95994ed1d7cd8c3227f3c","size":48944,"data":"","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-11T11:42:03.795553Z","times_seen":110737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/parallax.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"ce1dcbe40051b86b9d4bc1f524576f1e","sha1":"734d85ac56a048592f7d9ca0d1c9f6abcccba760","sha256":"2536b1e464f9c3cb7496d6fbfc65dd75b34eaf09fe81fda9522759903df3f5b2","sha512":"37cfd9ae2c65db1f996b306bceaf2f840828856b8cc62ab5e1bc868ed69babb59483c5b043e1a3711240b7e0f57272cd7813c2574b029af8f68c8d002c4475b8","ssdeep":"96:tJxRzw7xb6yrO0H3xZmOfVkN9MrbInQ/3Stg6Td0ySI+H6b3DKBBMURSFVEmDJTZ:jLk1b6yb3/mr9NQitg6Tu2YyDSjCVZ","tlshash":"c1d143466175201343abf392542e0609a236703d3a07806d7fbc94efed76e19237bbb8","size":6666,"data":"","first_seen":"2023-03-09T12:12:27Z","last_seen":"2026-07-27T12:23:18.814911Z","times_seen":156,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/map.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"922e7260a49b2f802729df59fd3923a8","sha1":"7b4e8d74ee2a53221304dd3ccc4cdcb7ed25c2ad","sha256":"16bae430a3895103eba1439d072cb185a62e0e4e40e58040a417ce5de62d4e01","sha512":"53185a0bdb85089fecab857fd6577dff71897af003839a77487d3057da01bad7ec30d5541554db27662411951dd895292b29cd206623f3835fc344bf9af5c930","ssdeep":"1536:AaGl/79tdMpHti1T17kmBKbe+DsgZ2Wtqrv74X4UBbWt4FlWg:AaGl/79tEU1T1om4JDsgUWtqrv74XFBh","tlshash":"ff8309a1322235f69bf6c4b8505b0203b165e445f00d89ae7d6cddda5aecc8b12feb71","size":81213,"data":"","first_seen":"2026-07-22T18:28:15.481935Z","last_seen":"2026-07-28T15:45:30.726426Z","times_seen":539,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/controls.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"dd407c42d72964155a9066112c340df9","sha1":"fdd49b71e35a061fc459afd4e71e9aace9ae1f4c","sha256":"ea5c043b7a79ffdf780139a794bd476522e6f02878623222bc12231808703004","sha512":"aded001dbd3f7653302505eebf6c4e415b596dcd53744c178f019ca4623e8da721f16fffd2b57a3f5973790ca9a0181de26409f5fb9a2f79cd4fda4a3db5b4d9","ssdeep":"3072:s4yYRY/f28sJeygp/sMXedg44mSqu4rc3vpjLD/vnS6HjwCum1pt/PeLT4sCjwp+:s49nhJeygp/sMX6gJLX4ajLD/vn1a+","tlshash":"84a3f9b0322a1137d9f9c0a9a15b4606b064d158e201466f7ebddcea66fccdb21fb734","size":102295,"data":"","first_seen":"2026-07-22T18:28:15.442437Z","last_seen":"2026-07-28T15:47:12.129501Z","times_seen":532,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2d845d4e5dae54ef316ab1f4afbd340f","sha1":"77cb4b35802a34bf87845e0037db699db2bc3eb5","sha256":"80c628dadfece26454f812ecb723b5146dc0c55a24cdb58bf5a9a6c9610b2fc4","sha512":"156090c10eb0d32e9ce2045b55f81ce0aa445471e0094ff606b040edc1cc082c8bd4443c27c1f0abd5fec8012310d0516b17322865b9187f41f8e0eebf1a31ba","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECizwNWF0:XDD4U6KKZgtBgtCi50","tlshash":"4a73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75427,"data":"","first_seen":"2026-07-27T12:18:56.831443Z","last_seen":"2026-07-27T12:56:34.945459Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/magnific-popup.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"a475f642015f28fbdef0652a5842fc86","sha1":"df1d8abdf047ad61eca0bf36075ec0579f7bd958","sha256":"ea6a4b1f799e54256ebfa05f3bcc18d5a743d412c69b07525c3cbf860fdd85fd","sha512":"a230d63e594f15b7fbcceb449f19208ee6b1788aae497adc2fe412b5d7af8fa9c9213ff2b3699334e9f578149c7b9a1c9ea8e334d50fc0e3a00faa8171be8008","ssdeep":"384:iPhVPXQ2G2XAQyqVxRQ5giCCMLtA15h5/F6l8aZwHwztLCpmst:iPBIt8I5h5t1qkOLCMst","tlshash":"ec921894f2b2b21383a735b8686f60093a729952ed06c855a55d94d87efcec89027f3c","size":20224,"data":"","first_seen":"2023-03-07T01:41:30Z","last_seen":"2026-08-08T05:34:28.986553Z","times_seen":446,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/waypoints.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"4fe14337a62d710389f42e8a5d1043f7","sha1":"5f3e0f34b6d7460c5f160db4fe568cde29f3ffa5","sha256":"069b3ff0c0e6c33e08368f94906ae49ec76ab1ed570819c768148ced15b138bf","sha512":"1640c47e1fec258203fdc02be6722ecb46f941bc9deace00cd4efb9a90203c09562cb43b7284d7dd9b4a4d3975a96130d0c214d73de567d8f88487487d88491f","ssdeep":"96:fdBvpnG3nnRh+1pRVKmHyjyYfAPiQc954LT4KN/WzdBUVKdBJEdfdpu531v8L7:f5G3nC19KWssPVpX4KN/eU8Ju4e/","tlshash":"94f1fac9b4c7b4221befa0b5d43f060bb33a9d4561098068f194e4da3db4a6da567f38","size":8051,"data":"","first_seen":"2023-03-07T01:41:57Z","last_seen":"2026-08-10T10:03:22.664196Z","times_seen":6382,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/chart_script.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"84eac15a5fed03d3e6e8224e2f344f77","sha1":"de608c93762d61ccdde44ad7534df33081939a99","sha256":"b485af8d92e4de9edd513dcf5557acdc57c5ba2d92d2c02983ab1a577cf974f4","sha512":"a03931ac4b3daed331c51456e9b07d4f664d26e4c4d6208f6e3b60cbb479191336297b10723be0066ace7e616fff792449027e4c02d36c3f709ba11c89b2c2f2","ssdeep":"96:Tq5hFFFFR121g5t0W/BFFFFRn5t47H5hFFFFR121g5t0W/BFFFFRn5t47B:TkhFFFFTH0+FFFFNwhFFFFTH0+FFFFNq","tlshash":"fa9100af754e822a972b5b8776bbcf0a7930d1146347a13df52b00c83f9449df166380","size":4323,"data":"","first_seen":"2026-07-27T05:58:00.861065Z","last_seen":"2026-07-27T12:23:18.842916Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/places_impl.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"21b5450de68637aa88fb65cfe4a54d89","sha1":"908d2873435239c1429412dd3f0dbd1835f75121","sha256":"8ebe40cded4a21d514aaca687891474976770d41bc2d99030c21ec7c020e6662","sha512":"88a8142a921a152420c4ee7c989612be7f6a7009ba47d1066f52dab9f08adb9cb952b75bb34f8d6a7bc989784ff9c09b615964997915077f3918994fd4c17026","ssdeep":"384:3VtxQZkbVsLSmVsm7gW4+yHgAYBjwntn8QbXofzMjGKoyOaEv8QCkafaQvE1oRVB:3VtxYqUSMsW4+yHR/ofzMjGKoyOaEv8z","tlshash":"f052d56170e7f0e6c736b840d853029bb7bad4c2f05d8f35a85998a1bcf099a41f97b0","size":13216,"data":"","first_seen":"2026-07-22T18:28:15.412929Z","last_seen":"2026-07-28T15:47:12.141402Z","times_seen":483,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/search_impl.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea0b6390cb1eb1e6ae4a139871f3ce1b","sha1":"3b1f34ae86417d5d7b02a102bb7b34834150f5cf","sha256":"cb519439ef4ada9e14278f38876d6d2b96ddebbf3be04cf4bde2b51452b652de","sha512":"75b5a581413303833c93546f3defc571bbc3e886bb393c40071e06eb694d38e03f244feb2583bfe71b352119b35e88ef3bfb4c08db751a91d74f31c24096d4c6","ssdeep":"","tlshash":"dd712474311ab6a3421911a01e9e80043668f5cab10ec4b67e989f029ffdcd757f1bf5","size":3569,"data":"","first_seen":"2026-07-22T18:33:47.621488Z","last_seen":"2026-07-28T14:38:16.167855Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/jquery.countdown.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"5d3ff3c3fbaa67cc639501f44eeb07be","sha1":"bd66e4cd58de09c198e7abc77fa4c883955d189e","sha256":"2249399b2268c260d0698542503d16afebc80e437c846239f12196744ebbd40f","sha512":"96d7ae443f9a50436b64f4d758544f4c17030f120659ee6ebb46a93c49fedd92980f00da104ac82bdaef474433506994439e4a144d91a864d5a19b0a72d18c57","ssdeep":"96:kbG5QHArNbeRFMSiM3jG6Ghdynv/2bBqz2eJxMxHxqxAxixw3xexIxrxAxW7qD2O:fQH+UpxGhdBqztJxMxHxqxAxixw3xexx","tlshash":"71b1c6ceb3b213d5089553b101ae1506613bf25be4e6001cb5fceac87a65c5d607fd78","size":5339,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-11T02:01:16.253199Z","times_seen":11143,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/main.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"d2078089c3631c1895c20cedeb888c10","sha1":"fda10194f3f126b3191699c5d147f05feb7c8f98","sha256":"b8c7c4e37e6b36e4facd47f199460cb514fb1da2c4a984a8b6cbd5070f28aa2b","sha512":"85f7483c31158cd1da1fd84c49f7d9f2d8fde1bcbfd5a0eda8f974c4068626b088f85d8580c95e256bd273cdeaca9c1d137e3e6bb72dc0f87d4814b9c25d8287","ssdeep":"3072:KzHovwhh+hNI8cMS9xlgb7HBrT+kQqbdhfDnT8tSsZ95urOHLNeM6NGPbQ7RpYS:KzuHI8cMGcbBrykCh5ucLNbLPMRWS","tlshash":"00543e947362716287b6e4b4502b0007f17ea49af00c89acf69cddf2aef994941b7f74","size":298828,"data":"","first_seen":"2026-07-22T18:28:15.502166Z","last_seen":"2026-07-28T15:47:12.157718Z","times_seen":539,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-11T09:30:19.612341Z","times_seen":8356,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/owlcarousel/js/owl.carousel.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"f80088cc8ff68f9cc0ffea0e48e04895","sha1":"21a323fae0e3a7d7f3ae176d8f7dbe31f9eada69","sha256":"c8c728d772f3ff93b5c7c65b86855f3dc0502d1bedd04a7ed1d6af06567322f4","sha512":"56854152b63423a86d7b9496aae10b1288a055cb3e8b1f91cb4d1093d11322a6a2b9163b27b9f1213161c44309c3e0c739281c00fc27fd852aff8a43500b6479","ssdeep":"768:8BA7dtMFA0fdb3kKNSRInLGhep2lcwJeL+CkbQdc71COpUQuiBt33:gAzMF3d3MxAcZ4DU","tlshash":"0b137246b3202d2a869b61e0663f160bb23a291ce414507d7d79a6de6d7dc4c213fbfc","size":42860,"data":"","first_seen":"2023-03-07T12:02:38Z","last_seen":"2026-08-06T20:19:23.956694Z","times_seen":465,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.154.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"cd1197c45484d4fc6772549bd096f8e7","sha1":"e009e56266a2e3dbc205738b52a543f2fa03adf5","sha256":"0f0b8339c99fcb1bd023a4ce5f7dca60a5d7257b0cb07c6b06a7c89a5347278c","sha512":"3c8206958c32922989855b96025c8102fbf094057be93c59d2524fbffea30b5c04b43099647307cb5ee5aff1730195ff5307fa99fcd901e536daa5bf93b90476","ssdeep":"","tlshash":"2c31ce3915622df7ce931729e5362c0239ec01772890cdf835cd9c9a9f104b33605b5d","size":1473,"data":"","first_seen":"2026-07-27T12:22:49.858874Z","last_seen":"2026-07-27T12:22:49.858874Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-B-VHc1K4.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":"44df6240c839beea4111582dddf02793","sha1":"4b4dd2241d5ff95eba46fb8893058404630825cd","sha256":"a4019ee0c737ef5d214e80e5a87a5a6e839ff2cf4e286cdad9ed6ff397eba250","sha512":"2f30c45b38eeb4a1900f295893fa30362dce2af015cb8eac6b997795ff4b72db55a92d8d38bb7a8cc8f529c612906aa9d2a2a41539c6a67052ae569733ff7e02","ssdeep":"384:Xrgi5RFMkSjJOE/0BW2rvZZ795P6nrnBOVmPCRkXQbpaIF2x:XEizlSjJOEiWYPR5P6rnBOVmycQbpaIi","tlshash":"6c72d7742700783f712f489e15ade546b232c29dd693892d8b2fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-27T07:28:16.135673Z","last_seen":"2026-07-29T06:17:50.042235Z","times_seen":1081,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-kb1yqHaA.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":"4a99d6fd0e84ed566d578d0ed5dea128","sha1":"c729468068793db7ca783d243b2ec065b6e2f202","sha256":"99501ff83cea2d37fb29f4ff7e0bfc1a93655e56db91bce74171fe29f0821884","sha512":"fcab2b13f37fe49c7a500be1285445ec1dfb120ed4f6d909925ea5616ee9f62d999fe83c1f8210dcc1742528ee3469e5671b34191317836ab4ed3b020ade8608","ssdeep":"6144:mLjnOEIL18ad2jJKaQF+tRkYcuBa+y+mFJW:iOEIZRd29Uqj4r+mF4","tlshash":"b3443ad53294b03543db51e6906f1106b33e5c58580d812cf269ede638baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-27T07:28:16.16312Z","last_seen":"2026-07-29T06:17:50.104199Z","times_seen":1066,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/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":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"debug","text":"Search endpoint requested!","filename":"https://maps.gstatic.com/maps-api-v3/embed/js/65/10a/init_embed.js","line_number":301,"column_number":349}]},"http":[{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Google+Sans+Text:400\u0026text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93\u0026lang=en","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.113Z","timestamp":1785154929113,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Google+Sans+Text:400\u0026text=%E2%86%90%E2%86%92%E2%86%91%E2%86%93\u0026lang=en HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 12:22:09 GMT\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":267,"size_decoded":911,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"58d13cd1e0ad1077aaa369cc468fcfcd","sha1":"c91f8420cde1eafd2dc5c458aad5d28aed620c82","sha256":"2fdd09f2c1ba15e64a0183ba6ec557c8f705774db97978cda5e5a132d6242650","sha512":"fc2fdc1e49ea43d9c46ef87af3e659791faafe10ca96aa526da61709c5b82d854d52f55a18488cf6802db2772a70d49e8eddff8da5376f61859681d72d4b1a96","ssdeep":"","tlshash":"ced02b191961b55656115ce7778e3c365c4d0114710182b85e6b1c949cd457942a07fd","first_seen":"2026-06-02T02:18:04.777678Z","last_seen":"2026-08-11T11:19:57.035709Z","times_seen":7052,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL2wvZm9udD9raXQ9NWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNW1FaGtnbzNGSV9FOGxINTcwb0JkSXcmc2tleT1iMjBjOGViYzk4MDJjMTE2JnY9djI1KSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsyMTkwLTIxOTM7Cn0K"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/GetPlaceWidgetMetadata","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.728Z","timestamp":1785154929728,"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":"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":"POST /$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/GetPlaceWidgetMetadata HTTP/1.1\r\nHost: maps.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\nContent-Type: application/json+protobuf\r\nX-Goog-Gmp-Client-Signals: CAkqCDMuNjUuMTBhWg4SDAjxmp3TBhCAw5faAg==\r\nX-Goog-Maps-Session-Id: 88B3FBD8-ED45-403E-88C1-9CA5E54961ED\r\nX-User-Agent: grpc-web-javascript/0.1\r\nContent-Length: 42\r\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.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":42,"data":"[9,\"5201\",\"https://www.google.com\",null,1]"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 993\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nserver-timing: gfet4t7; dur=20\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":1416,"size_decoded":1571,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"2c0b0afc63b46951b5170a2bf183e13e","sha1":"160770b21d570d85e89bc6d997cda3db2867058d","sha256":"a4f7c5aed9373d71e04dcdca83998bdfedbf3c97b50007a9b3a425af70cb0764","sha512":"4ba0fc17c73d5c0e69b4a6419ab34cbc67cabc827399b9baefe665169472b8425beacb263b53384f79d0b18d8f631010f3f2f5d8e5ecbb5742d07e3960eae804","ssdeep":"","tlshash":"bf21b9be5ca078116e11d8400e945f980c62a4c108689bd5f9d5309f99f6f6a7970ebc","first_seen":"2026-07-27T12:22:49.736174Z","last_seen":"2026-07-27T12:22:49.736174Z","times_seen":1,"resource_available":false,"data":"WyJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SW1KaFl6UTRNV014WVRZd05UVTJORFV5TmpFNU16QTFNMlU1TlRJd05EVTFNV1JpT1dJME0yWWlMQ0owZVhBaU9pSktWMVFpZlEuZXdvSkltVjRjQ0lnT2lBeE56ZzFNVFU0TlRJNUxBb0pJbVpwWld4a1gyMWhjMnNpSURvZ0ltUnBjM0JzWVhsT1lXMWxMR1p2Y20xaGRIUmxaRUZrWkhKbGMzTXNjMmh2Y25SR2IzSnRZWFIwWldSQlpHUnlaWE56TEdselVIVnlaVk5sY25acFkyVkJjbVZoUW5WemFXNWxjM01zZFhObGNsSmhkR2x1WjBOdmRXNTBMSEpoZEdsdVp5eDFjMlZ5VW1GMGFXNW5RMjkxYm5Rc1oyOXZaMnhsVFdGd2MxVnlhU3gwZVhCbGN5eG5iMjluYkdWTllYQnpUR2x1YTNNaUxBb0pJbWxoZENJZ09pQXhOemcxTVRVME9USTVMQW9KSW1semN5SWdPaUFpYldGd2N5MXFjeTFsYldKbFpDMXBiblJsY201aGJFQndiR0ZqWlMxMWFTMXJhWFF0YW5NdGFXNTBaWEp1WVd3dWFXRnRMbWR6WlhKMmFXTmxZV05qYjNWdWRDNWpiMjBpTEFvSkltcDBhU0lnT2lBaU1qYzFNelEwTmprd05qazFPRFF5TVRBM05TSXNDZ2tpY0d4aGRHWnZjbTFmZEhsd1pTSWdPaUFpU25NaUxBb0pJbk5qYjNCbElpQTZJQ0pvZEhSd2N6b3ZMM2QzZHk1bmIyOW5iR1ZoY0dsekxtTnZiUzloZFhSb0wyMWhjSE10Y0d4aGRHWnZjbTB1Y0d4aFkyVnpMbVJsZEdGcGJITWlMQW9KSW5ObGMzTnBiMjVmZEhsd1pTSWdPaUFpUlcxaVpXUlFiR0ZqWlZkcFpHZGxkSE5KYm5SbGNtNWhiRkJzWVdObFJHVjBZV2xzY3lJc0Nna2ljMmxuYm1Wa1gyWnZjaUlnT2lBeU1qWTNOell4TnpNME1EVXNDZ2tpYzNWaUlpQTZJQ0p0WVhCekxXcHpMV1Z0WW1Wa0xXbHVkR1Z5Ym1Gc1FIQnNZV05sTFhWcExXdHBkQzFxY3kxcGJuUmxjbTVoYkM1cFlXMHVaM05sY25acFkyVmhZMk52ZFc1MExtTnZiU0lLZlFvLlQ5SUZDRWMzOEN5bWlXUl9MLXRrUkkyTmh2aDhtbU14M2tYQ0RHVlpRcmpDN1R2emxGTmxuTlFWY29xNVlWd211UGxIaTdySVQ0d25TcjBqcHQ2TnZzQklmTk5LOWJ2cnFOWGVQMFJlRG1ER2xyNHJ5b2Z2SXNKSExySjdieV9VUUhJWS0wVlBtWmtyemVIdS14X0hILXltemRDZHRqQmY4emwtNVBkQkZXTXAyQmx2NHRleU9YYXRSRVdnb0hVNHllN1lUU2VmLTZxVDM2Q1lGY2Zmb1ViWG1FYVNyZGlRUjJUbm02QmlDa3paaXZKVC16VjFndkdudUdsRGhkeVVyWnFQQzhBczJmanBfU2UwNkVoTjNIV25hZnJsd2pNTnc1UEhKaDBpS2xOVUpaeE1ubjZQVUNRaGNnVDRUR1hJTEFLV0dfMnllZ1BOMHlmcEhfRXZ3ZyIsbnVsbCwiZGlzcGxheU5hbWUsZm9ybWF0dGVkQWRkcmVzcyxzaG9ydEZvcm1hdHRlZEFkZHJlc3MsaXNQdXJlU2VydmljZUFyZWFCdXNpbmVzcyx1c2VyUmF0aW5nQ291bnQscmF0aW5nLHVzZXJSYXRpbmdDb3VudCxnb29nbGVNYXBzVXJpLHR5cGVzLGdvb2dsZU1hcHNMaW5rcyJd"}},"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":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:18.931Z","timestamp":1785154938931,"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://primeelitecapital.com/\r\nOrigin: https://primeelitecapital.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 12:22:18 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: kyNnt3QGiTo4KvfIDu7FNqrmIiW0GQGL0Q5iuMQcTt82VlixgLAGlWzZODP9VhuCa/6hzCM\r\nx-77-nzt-ray: e2f75420502aed4d7a4d676a5aa07639\r\nx-77-cache: HIT\r\nx-77-age: 553\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-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":37,"timings":{"blocked":0,"dns":3,"connect":8,"send":0,"wait":9,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.945Z","timestamp":1785154927945,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/owl-carousel/1.3.3/owl.carousel.min.js HTTP/1.1\r\nHost: cdnjs.cloudflare.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://primeelitecapital.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 5743\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 04 May 2020 16:13:51 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CrINyhNGrcaDDjumpTMaNfSazf037CFtlmzQHWxWdrDN7UE1GN4E7wkXMmGCPQOiZhWcvg5n4%2FItiiYE37QPwb2r6QyR62IPqgLyG%2BAoUzwVpYHqQsIHfQXPP1PYZlBjotORSyiD\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a21b9b9baeab2efa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":23890,"size_decoded":6745,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (635)","md5":"88d0fe722f04973e2888b58a63aa0570","sha1":"f947512e51f8ef4b15bba3f701de64e53a7f7f9b","sha256":"e0e2bc4e1d3ee5024c4e1aa58a6cad9aa42fc63a8c89ce18013a1c8f2b94875c","sha512":"f425865c5489fbf5f42d6cd2442645b0e3e149f9ba8db9cbf8ca6aa34a3c29ed9262bf2b093a9be3fc069bef67d771ed0c4d4d4290043ab31e703670e055d01a","ssdeep":"384:SKwx0bG/ON7gum0tQt8RYgKpJz8vYHpElIVombV:y//ONetpb8QHpEqj","tlshash":"afb2a54bb2242345069372b9419b110d713bfb78fc41855c70badadfaa4b84e9277b3d","first_seen":"2023-03-07T01:07:29Z","last_seen":"2026-08-11T07:49:44.859042Z","times_seen":11304,"resource_available":true,"data":"ImZ1bmN0aW9uIiE9PXR5cGVvZiBPYmplY3QuY3JlYXRlJiYoT2JqZWN0LmNyZWF0ZT1mdW5jdGlvbihmKXtmdW5jdGlvbiBnKCl7fWcucHJvdG90eXBlPWY7cmV0dXJuIG5ldyBnfSk7CihmdW5jdGlvbihmLGcsayl7dmFyIGw9e2luaXQ6ZnVuY3Rpb24oYSxiKXt0aGlzLiRlbGVtPWYoYik7dGhpcy5vcHRpb25zPWYuZXh0ZW5kKHt9LGYuZm4ub3dsQ2Fyb3VzZWwub3B0aW9ucyx0aGlzLiRlbGVtLmRhdGEoKSxhKTt0aGlzLnVzZXJPcHRpb25zPWE7dGhpcy5sb2FkQ29udGVudCgpfSxsb2FkQ29udGVudDpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYSl7dmFyIGQsZT0iIjtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGIub3B0aW9ucy5qc29uU3VjY2VzcyliLm9wdGlvbnMuanNvblN1Y2Nlc3MuYXBwbHkodGhpcyxbYV0pO2Vsc2V7Zm9yKGQgaW4gYS5vd2wpYS5vd2wuaGFzT3duUHJvcGVydHkoZCkmJihlKz1hLm93bFtkXS5pdGVtKTtiLiRlbGVtLmh0bWwoZSl9Yi5sb2dJbigpfXZhciBiPXRoaXMsZTsiZnVuY3Rpb24iPT09dHlwZW9mIGIub3B0aW9ucy5iZWZvcmVJbml0JiZiLm9wdGlvbnMuYmVmb3JlSW5pdC5hcHBseSh0aGlzLFtiLiRlbGVtXSk7InN0cmluZyI9PT10eXBlb2YgYi5vcHRpb25zLmpzb25QYXRoPwooZT1iLm9wdGlvbnMuanNvblBhdGgsZi5nZXRKU09OKGUsYSkpOmIubG9nSW4oKX0sbG9nSW46ZnVuY3Rpb24oKXt0aGlzLiRlbGVtLmRhdGEoIm93bC1vcmlnaW5hbFN0eWxlcyIsdGhpcy4kZWxlbS5hdHRyKCJzdHlsZSIpKTt0aGlzLiRlbGVtLmRhdGEoIm93bC1vcmlnaW5hbENsYXNzZXMiLHRoaXMuJGVsZW0uYXR0cigiY2xhc3MiKSk7dGhpcy4kZWxlbS5jc3Moe29wYWNpdHk6MH0pO3RoaXMub3JpZ25hbEl0ZW1zPXRoaXMub3B0aW9ucy5pdGVtczt0aGlzLmNoZWNrQnJvd3NlcigpO3RoaXMud3JhcHBlcldpZHRoPTA7dGhpcy5jaGVja1Zpc2libGU9bnVsbDt0aGlzLnNldFZhcnMoKX0sc2V0VmFyczpmdW5jdGlvbigpe2lmKDA9PT10aGlzLiRlbGVtLmNoaWxkcmVuKCkubGVuZ3RoKXJldHVybiExO3RoaXMuYmFzZUNsYXNzKCk7dGhpcy5ldmVudFR5cGVzKCk7dGhpcy4kdXNlckl0ZW1zPXRoaXMuJGVsZW0uY2hpbGRyZW4oKTt0aGlzLml0ZW1zQW1vdW50PXRoaXMuJHVzZXJJdGVtcy5sZW5ndGg7CnRoaXMud3JhcEl0ZW1zKCk7dGhpcy4kb3dsSXRlbXM9dGhpcy4kZWxlbS5maW5kKCIub3dsLWl0ZW0iKTt0aGlzLiRvd2xXcmFwcGVyPXRoaXMuJGVsZW0uZmluZCgiLm93bC13cmFwcGVyIik7dGhpcy5wbGF5RGlyZWN0aW9uPSJuZXh0Ijt0aGlzLnByZXZJdGVtPTA7dGhpcy5wcmV2QXJyPVswXTt0aGlzLmN1cnJlbnRJdGVtPTA7dGhpcy5jdXN0b21FdmVudHMoKTt0aGlzLm9uU3RhcnR1cCgpfSxvblN0YXJ0dXA6ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZUl0ZW1zKCk7dGhpcy5jYWxjdWxhdGVBbGwoKTt0aGlzLmJ1aWxkQ29udHJvbHMoKTt0aGlzLnVwZGF0ZUNvbnRyb2xzKCk7dGhpcy5yZXNwb25zZSgpO3RoaXMubW92ZUV2ZW50cygpO3RoaXMuc3RvcE9uSG92ZXIoKTt0aGlzLm93bFN0YXR1cygpOyExIT09dGhpcy5vcHRpb25zLnRyYW5zaXRpb25TdHlsZSYmdGhpcy50cmFuc2l0aW9uVHlwZXModGhpcy5vcHRpb25zLnRyYW5zaXRpb25TdHlsZSk7ITA9PT10aGlzLm9wdGlvbnMuYXV0b1BsYXkmJgoodGhpcy5vcHRpb25zLmF1dG9QbGF5PTVFMyk7dGhpcy5wbGF5KCk7dGhpcy4kZWxlbS5maW5kKCIub3dsLXdyYXBwZXIiKS5jc3MoImRpc3BsYXkiLCJibG9jayIpO3RoaXMuJGVsZW0uaXMoIjp2aXNpYmxlIik/dGhpcy4kZWxlbS5jc3MoIm9wYWNpdHkiLDEpOnRoaXMud2F0Y2hWaXNpYmlsaXR5KCk7dGhpcy5vbnN0YXJ0dXA9ITE7dGhpcy5lYWNoTW92ZVVwZGF0ZSgpOyJmdW5jdGlvbiI9PT10eXBlb2YgdGhpcy5vcHRpb25zLmFmdGVySW5pdCYmdGhpcy5vcHRpb25zLmFmdGVySW5pdC5hcHBseSh0aGlzLFt0aGlzLiRlbGVtXSl9LGVhY2hNb3ZlVXBkYXRlOmZ1bmN0aW9uKCl7ITA9PT10aGlzLm9wdGlvbnMubGF6eUxvYWQmJnRoaXMubGF6eUxvYWQoKTshMD09PXRoaXMub3B0aW9ucy5hdXRvSGVpZ2h0JiZ0aGlzLmF1dG9IZWlnaHQoKTt0aGlzLm9uVmlzaWJsZUl0ZW1zKCk7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLm9wdGlvbnMuYWZ0ZXJBY3Rpb24mJnRoaXMub3B0aW9ucy5hZnRlckFjdGlvbi5hcHBseSh0aGlzLApbdGhpcy4kZWxlbV0pfSx1cGRhdGVWYXJzOmZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLm9wdGlvbnMuYmVmb3JlVXBkYXRlJiZ0aGlzLm9wdGlvbnMuYmVmb3JlVXBkYXRlLmFwcGx5KHRoaXMsW3RoaXMuJGVsZW1dKTt0aGlzLndhdGNoVmlzaWJpbGl0eSgpO3RoaXMudXBkYXRlSXRlbXMoKTt0aGlzLmNhbGN1bGF0ZUFsbCgpO3RoaXMudXBkYXRlUG9zaXRpb24oKTt0aGlzLnVwZGF0ZUNvbnRyb2xzKCk7dGhpcy5lYWNoTW92ZVVwZGF0ZSgpOyJmdW5jdGlvbiI9PT10eXBlb2YgdGhpcy5vcHRpb25zLmFmdGVyVXBkYXRlJiZ0aGlzLm9wdGlvbnMuYWZ0ZXJVcGRhdGUuYXBwbHkodGhpcyxbdGhpcy4kZWxlbV0pfSxyZWxvYWQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2cuc2V0VGltZW91dChmdW5jdGlvbigpe2EudXBkYXRlVmFycygpfSwwKX0sd2F0Y2hWaXNpYmlsaXR5OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZighMT09PWEuJGVsZW0uaXMoIjp2aXNpYmxlIikpYS4kZWxlbS5jc3Moe29wYWNpdHk6MH0pLApnLmNsZWFySW50ZXJ2YWwoYS5hdXRvUGxheUludGVydmFsKSxnLmNsZWFySW50ZXJ2YWwoYS5jaGVja1Zpc2libGUpO2Vsc2UgcmV0dXJuITE7YS5jaGVja1Zpc2libGU9Zy5zZXRJbnRlcnZhbChmdW5jdGlvbigpe2EuJGVsZW0uaXMoIjp2aXNpYmxlIikmJihhLnJlbG9hZCgpLGEuJGVsZW0uYW5pbWF0ZSh7b3BhY2l0eToxfSwyMDApLGcuY2xlYXJJbnRlcnZhbChhLmNoZWNrVmlzaWJsZSkpfSw1MDApfSx3cmFwSXRlbXM6ZnVuY3Rpb24oKXt0aGlzLiR1c2VySXRlbXMud3JhcEFsbCgnPGRpdiBjbGFzcz0ib3dsLXdyYXBwZXIiPicpLndyYXAoJzxkaXYgY2xhc3M9Im93bC1pdGVtIj48L2Rpdj4nKTt0aGlzLiRlbGVtLmZpbmQoIi5vd2wtd3JhcHBlciIpLndyYXAoJzxkaXYgY2xhc3M9Im93bC13cmFwcGVyLW91dGVyIj4nKTt0aGlzLndyYXBwZXJPdXRlcj10aGlzLiRlbGVtLmZpbmQoIi5vd2wtd3JhcHBlci1vdXRlciIpO3RoaXMuJGVsZW0uY3NzKCJkaXNwbGF5IiwiYmxvY2siKX0sCmJhc2VDbGFzczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW0uaGFzQ2xhc3ModGhpcy5vcHRpb25zLmJhc2VDbGFzcyksYj10aGlzLiRlbGVtLmhhc0NsYXNzKHRoaXMub3B0aW9ucy50aGVtZSk7YXx8dGhpcy4kZWxlbS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuYmFzZUNsYXNzKTtifHx0aGlzLiRlbGVtLmFkZENsYXNzKHRoaXMub3B0aW9ucy50aGVtZSl9LHVwZGF0ZUl0ZW1zOmZ1bmN0aW9uKCl7dmFyIGEsYjtpZighMT09PXRoaXMub3B0aW9ucy5yZXNwb25zaXZlKXJldHVybiExO2lmKCEwPT09dGhpcy5vcHRpb25zLnNpbmdsZUl0ZW0pcmV0dXJuIHRoaXMub3B0aW9ucy5pdGVtcz10aGlzLm9yaWduYWxJdGVtcz0xLHRoaXMub3B0aW9ucy5pdGVtc0N1c3RvbT0hMSx0aGlzLm9wdGlvbnMuaXRlbXNEZXNrdG9wPSExLHRoaXMub3B0aW9ucy5pdGVtc0Rlc2t0b3BTbWFsbD0hMSx0aGlzLm9wdGlvbnMuaXRlbXNUYWJsZXQ9ITEsdGhpcy5vcHRpb25zLml0ZW1zVGFibGV0U21hbGw9CiExLHRoaXMub3B0aW9ucy5pdGVtc01vYmlsZT0hMTthPWYodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlV2lkdGgpLndpZHRoKCk7YT4odGhpcy5vcHRpb25zLml0ZW1zRGVza3RvcFswXXx8dGhpcy5vcmlnbmFsSXRlbXMpJiYodGhpcy5vcHRpb25zLml0ZW1zPXRoaXMub3JpZ25hbEl0ZW1zKTtpZighMSE9PXRoaXMub3B0aW9ucy5pdGVtc0N1c3RvbSlmb3IodGhpcy5vcHRpb25zLml0ZW1zQ3VzdG9tLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVswXS1iWzBdfSksYj0wO2I8dGhpcy5vcHRpb25zLml0ZW1zQ3VzdG9tLmxlbmd0aDtiKz0xKXRoaXMub3B0aW9ucy5pdGVtc0N1c3RvbVtiXVswXTw9YSYmKHRoaXMub3B0aW9ucy5pdGVtcz10aGlzLm9wdGlvbnMuaXRlbXNDdXN0b21bYl1bMV0pO2Vsc2UgYTw9dGhpcy5vcHRpb25zLml0ZW1zRGVza3RvcFswXSYmITEhPT10aGlzLm9wdGlvbnMuaXRlbXNEZXNrdG9wJiYodGhpcy5vcHRpb25zLml0ZW1zPXRoaXMub3B0aW9ucy5pdGVtc0Rlc2t0b3BbMV0pLAphPD10aGlzLm9wdGlvbnMuaXRlbXNEZXNrdG9wU21hbGxbMF0mJiExIT09dGhpcy5vcHRpb25zLml0ZW1zRGVza3RvcFNtYWxsJiYodGhpcy5vcHRpb25zLml0ZW1zPXRoaXMub3B0aW9ucy5pdGVtc0Rlc2t0b3BTbWFsbFsxXSksYTw9dGhpcy5vcHRpb25zLml0ZW1zVGFibGV0WzBdJiYhMSE9PXRoaXMub3B0aW9ucy5pdGVtc1RhYmxldCYmKHRoaXMub3B0aW9ucy5pdGVtcz10aGlzLm9wdGlvbnMuaXRlbXNUYWJsZXRbMV0pLGE8PXRoaXMub3B0aW9ucy5pdGVtc1RhYmxldFNtYWxsWzBdJiYhMSE9PXRoaXMub3B0aW9ucy5pdGVtc1RhYmxldFNtYWxsJiYodGhpcy5vcHRpb25zLml0ZW1zPXRoaXMub3B0aW9ucy5pdGVtc1RhYmxldFNtYWxsWzFdKSxhPD10aGlzLm9wdGlvbnMuaXRlbXNNb2JpbGVbMF0mJiExIT09dGhpcy5vcHRpb25zLml0ZW1zTW9iaWxlJiYodGhpcy5vcHRpb25zLml0ZW1zPXRoaXMub3B0aW9ucy5pdGVtc01vYmlsZVsxXSk7dGhpcy5vcHRpb25zLml0ZW1zPnRoaXMuaXRlbXNBbW91bnQmJgohMD09PXRoaXMub3B0aW9ucy5pdGVtc1NjYWxlVXAmJih0aGlzLm9wdGlvbnMuaXRlbXM9dGhpcy5pdGVtc0Ftb3VudCl9LHJlc3BvbnNlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiLGU7aWYoITAhPT1hLm9wdGlvbnMucmVzcG9uc2l2ZSlyZXR1cm4hMTtlPWYoZykud2lkdGgoKTthLnJlc2l6ZXI9ZnVuY3Rpb24oKXtmKGcpLndpZHRoKCkhPT1lJiYoITEhPT1hLm9wdGlvbnMuYXV0b1BsYXkmJmcuY2xlYXJJbnRlcnZhbChhLmF1dG9QbGF5SW50ZXJ2YWwpLGcuY2xlYXJUaW1lb3V0KGIpLGI9Zy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZT1mKGcpLndpZHRoKCk7YS51cGRhdGVWYXJzKCl9LGEub3B0aW9ucy5yZXNwb25zaXZlUmVmcmVzaFJhdGUpKX07ZihnKS5yZXNpemUoYS5yZXNpemVyKX0sdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oKXt0aGlzLmp1bXBUbyh0aGlzLmN1cnJlbnRJdGVtKTshMSE9PXRoaXMub3B0aW9ucy5hdXRvUGxheSYmdGhpcy5jaGVja0FwKCl9LGFwcGVuZEl0ZW1zU2l6ZXM6ZnVuY3Rpb24oKXt2YXIgYT0KdGhpcyxiPTAsZT1hLml0ZW1zQW1vdW50LWEub3B0aW9ucy5pdGVtczthLiRvd2xJdGVtcy5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPWYodGhpcyk7ZC5jc3Moe3dpZHRoOmEuaXRlbVdpZHRofSkuZGF0YSgib3dsLWl0ZW0iLE51bWJlcihjKSk7aWYoMD09PWMlYS5vcHRpb25zLml0ZW1zfHxjPT09ZSljPmV8fChiKz0xKTtkLmRhdGEoIm93bC1yb3VuZFBhZ2VzIixiKX0pfSxhcHBlbmRXcmFwcGVyU2l6ZXM6ZnVuY3Rpb24oKXt0aGlzLiRvd2xXcmFwcGVyLmNzcyh7d2lkdGg6dGhpcy4kb3dsSXRlbXMubGVuZ3RoKnRoaXMuaXRlbVdpZHRoKjIsbGVmdDowfSk7dGhpcy5hcHBlbmRJdGVtc1NpemVzKCl9LGNhbGN1bGF0ZUFsbDpmdW5jdGlvbigpe3RoaXMuY2FsY3VsYXRlV2lkdGgoKTt0aGlzLmFwcGVuZFdyYXBwZXJTaXplcygpO3RoaXMubG9vcHMoKTt0aGlzLm1heCgpfSxjYWxjdWxhdGVXaWR0aDpmdW5jdGlvbigpe3RoaXMuaXRlbVdpZHRoPU1hdGgucm91bmQodGhpcy4kZWxlbS53aWR0aCgpLwp0aGlzLm9wdGlvbnMuaXRlbXMpfSxtYXg6ZnVuY3Rpb24oKXt2YXIgYT0tMSoodGhpcy5pdGVtc0Ftb3VudCp0aGlzLml0ZW1XaWR0aC10aGlzLm9wdGlvbnMuaXRlbXMqdGhpcy5pdGVtV2lkdGgpO3RoaXMub3B0aW9ucy5pdGVtcz50aGlzLml0ZW1zQW1vdW50P3RoaXMubWF4aW11bVBpeGVscz1hPXRoaXMubWF4aW11bUl0ZW09MDoodGhpcy5tYXhpbXVtSXRlbT10aGlzLml0ZW1zQW1vdW50LXRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLm1heGltdW1QaXhlbHM9YSk7cmV0dXJuIGF9LG1pbjpmdW5jdGlvbigpe3JldHVybiAwfSxsb29wczpmdW5jdGlvbigpe3ZhciBhPTAsYj0wLGUsYzt0aGlzLnBvc2l0aW9uc0luQXJyYXk9WzBdO3RoaXMucGFnZXNJbkFycmF5PVtdO2ZvcihlPTA7ZTx0aGlzLml0ZW1zQW1vdW50O2UrPTEpYis9dGhpcy5pdGVtV2lkdGgsdGhpcy5wb3NpdGlvbnNJbkFycmF5LnB1c2goLWIpLCEwPT09dGhpcy5vcHRpb25zLnNjcm9sbFBlclBhZ2UmJihjPWYodGhpcy4kb3dsSXRlbXNbZV0pLApjPWMuZGF0YSgib3dsLXJvdW5kUGFnZXMiKSxjIT09YSYmKHRoaXMucGFnZXNJbkFycmF5W2FdPXRoaXMucG9zaXRpb25zSW5BcnJheVtlXSxhPWMpKX0sYnVpbGRDb250cm9sczpmdW5jdGlvbigpe2lmKCEwPT09dGhpcy5vcHRpb25zLm5hdmlnYXRpb258fCEwPT09dGhpcy5vcHRpb25zLnBhZ2luYXRpb24pdGhpcy5vd2xDb250cm9scz1mKCc8ZGl2IGNsYXNzPSJvd2wtY29udHJvbHMiLz4nKS50b2dnbGVDbGFzcygiY2xpY2thYmxlIiwhdGhpcy5icm93c2VyLmlzVG91Y2gpLmFwcGVuZFRvKHRoaXMuJGVsZW0pOyEwPT09dGhpcy5vcHRpb25zLnBhZ2luYXRpb24mJnRoaXMuYnVpbGRQYWdpbmF0aW9uKCk7ITA9PT10aGlzLm9wdGlvbnMubmF2aWdhdGlvbiYmdGhpcy5idWlsZEJ1dHRvbnMoKX0sYnVpbGRCdXR0b25zOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWYoJzxkaXYgY2xhc3M9Im93bC1idXR0b25zIi8+Jyk7YS5vd2xDb250cm9scy5hcHBlbmQoYik7YS5idXR0b25QcmV2PQpmKCI8ZGl2Lz4iLHsiY2xhc3MiOiJvd2wtcHJldiIsaHRtbDphLm9wdGlvbnMubmF2aWdhdGlvblRleHRbMF18fCIifSk7YS5idXR0b25OZXh0PWYoIjxkaXYvPiIseyJjbGFzcyI6Im93bC1uZXh0IixodG1sOmEub3B0aW9ucy5uYXZpZ2F0aW9uVGV4dFsxXXx8IiJ9KTtiLmFwcGVuZChhLmJ1dHRvblByZXYpLmFwcGVuZChhLmJ1dHRvbk5leHQpO2Iub24oInRvdWNoc3RhcnQub3dsQ29udHJvbHMgbW91c2Vkb3duLm93bENvbnRyb2xzIiwnZGl2W2NsYXNzXj0ib3dsIl0nLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX0pO2Iub24oInRvdWNoZW5kLm93bENvbnRyb2xzIG1vdXNldXAub3dsQ29udHJvbHMiLCdkaXZbY2xhc3NePSJvd2wiXScsZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpO2YodGhpcykuaGFzQ2xhc3MoIm93bC1uZXh0Iik/YS5uZXh0KCk6YS5wcmV2KCl9KX0sYnVpbGRQYWdpbmF0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLnBhZ2luYXRpb25XcmFwcGVyPQpmKCc8ZGl2IGNsYXNzPSJvd2wtcGFnaW5hdGlvbiIvPicpO2Eub3dsQ29udHJvbHMuYXBwZW5kKGEucGFnaW5hdGlvbldyYXBwZXIpO2EucGFnaW5hdGlvbldyYXBwZXIub24oInRvdWNoZW5kLm93bENvbnRyb2xzIG1vdXNldXAub3dsQ29udHJvbHMiLCIub3dsLXBhZ2UiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKTtOdW1iZXIoZih0aGlzKS5kYXRhKCJvd2wtcGFnZSIpKSE9PWEuY3VycmVudEl0ZW0mJmEuZ29UbyhOdW1iZXIoZih0aGlzKS5kYXRhKCJvd2wtcGFnZSIpKSwhMCl9KX0sdXBkYXRlUGFnaW5hdGlvbjpmdW5jdGlvbigpe3ZhciBhLGIsZSxjLGQsZztpZighMT09PXRoaXMub3B0aW9ucy5wYWdpbmF0aW9uKXJldHVybiExO3RoaXMucGFnaW5hdGlvbldyYXBwZXIuaHRtbCgiIik7YT0wO2I9dGhpcy5pdGVtc0Ftb3VudC10aGlzLml0ZW1zQW1vdW50JXRoaXMub3B0aW9ucy5pdGVtcztmb3IoYz0wO2M8dGhpcy5pdGVtc0Ftb3VudDtjKz0xKTA9PT1jJXRoaXMub3B0aW9ucy5pdGVtcyYmCihhKz0xLGI9PT1jJiYoZT10aGlzLml0ZW1zQW1vdW50LXRoaXMub3B0aW9ucy5pdGVtcyksZD1mKCI8ZGl2Lz4iLHsiY2xhc3MiOiJvd2wtcGFnZSJ9KSxnPWYoIjxzcGFuPjwvc3Bhbj4iLHt0ZXh0OiEwPT09dGhpcy5vcHRpb25zLnBhZ2luYXRpb25OdW1iZXJzP2E6IiIsImNsYXNzIjohMD09PXRoaXMub3B0aW9ucy5wYWdpbmF0aW9uTnVtYmVycz8ib3dsLW51bWJlcnMiOiIifSksZC5hcHBlbmQoZyksZC5kYXRhKCJvd2wtcGFnZSIsYj09PWM/ZTpjKSxkLmRhdGEoIm93bC1yb3VuZFBhZ2VzIixhKSx0aGlzLnBhZ2luYXRpb25XcmFwcGVyLmFwcGVuZChkKSk7dGhpcy5jaGVja1BhZ2luYXRpb24oKX0sY2hlY2tQYWdpbmF0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZighMT09PWEub3B0aW9ucy5wYWdpbmF0aW9uKXJldHVybiExO2EucGFnaW5hdGlvbldyYXBwZXIuZmluZCgiLm93bC1wYWdlIikuZWFjaChmdW5jdGlvbigpe2YodGhpcykuZGF0YSgib3dsLXJvdW5kUGFnZXMiKT09PQpmKGEuJG93bEl0ZW1zW2EuY3VycmVudEl0ZW1dKS5kYXRhKCJvd2wtcm91bmRQYWdlcyIpJiYoYS5wYWdpbmF0aW9uV3JhcHBlci5maW5kKCIub3dsLXBhZ2UiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZih0aGlzKS5hZGRDbGFzcygiYWN0aXZlIikpfSl9LGNoZWNrTmF2aWdhdGlvbjpmdW5jdGlvbigpe2lmKCExPT09dGhpcy5vcHRpb25zLm5hdmlnYXRpb24pcmV0dXJuITE7ITE9PT10aGlzLm9wdGlvbnMucmV3aW5kTmF2JiYoMD09PXRoaXMuY3VycmVudEl0ZW0mJjA9PT10aGlzLm1heGltdW1JdGVtPyh0aGlzLmJ1dHRvblByZXYuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5idXR0b25OZXh0LmFkZENsYXNzKCJkaXNhYmxlZCIpKTowPT09dGhpcy5jdXJyZW50SXRlbSYmMCE9PXRoaXMubWF4aW11bUl0ZW0/KHRoaXMuYnV0dG9uUHJldi5hZGRDbGFzcygiZGlzYWJsZWQiKSx0aGlzLmJ1dHRvbk5leHQucmVtb3ZlQ2xhc3MoImRpc2FibGVkIikpOnRoaXMuY3VycmVudEl0ZW09PT0KdGhpcy5tYXhpbXVtSXRlbT8odGhpcy5idXR0b25QcmV2LnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpLHRoaXMuYnV0dG9uTmV4dC5hZGRDbGFzcygiZGlzYWJsZWQiKSk6MCE9PXRoaXMuY3VycmVudEl0ZW0mJnRoaXMuY3VycmVudEl0ZW0hPT10aGlzLm1heGltdW1JdGVtJiYodGhpcy5idXR0b25QcmV2LnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpLHRoaXMuYnV0dG9uTmV4dC5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSkpfSx1cGRhdGVDb250cm9sczpmdW5jdGlvbigpe3RoaXMudXBkYXRlUGFnaW5hdGlvbigpO3RoaXMuY2hlY2tOYXZpZ2F0aW9uKCk7dGhpcy5vd2xDb250cm9scyYmKHRoaXMub3B0aW9ucy5pdGVtcz49dGhpcy5pdGVtc0Ftb3VudD90aGlzLm93bENvbnRyb2xzLmhpZGUoKTp0aGlzLm93bENvbnRyb2xzLnNob3coKSl9LGRlc3Ryb3lDb250cm9sczpmdW5jdGlvbigpe3RoaXMub3dsQ29udHJvbHMmJnRoaXMub3dsQ29udHJvbHMucmVtb3ZlKCl9LG5leHQ6ZnVuY3Rpb24oYSl7aWYodGhpcy5pc1RyYW5zaXRpb24pcmV0dXJuITE7CnRoaXMuY3VycmVudEl0ZW0rPSEwPT09dGhpcy5vcHRpb25zLnNjcm9sbFBlclBhZ2U/dGhpcy5vcHRpb25zLml0ZW1zOjE7aWYodGhpcy5jdXJyZW50SXRlbT50aGlzLm1heGltdW1JdGVtKyghMD09PXRoaXMub3B0aW9ucy5zY3JvbGxQZXJQYWdlP3RoaXMub3B0aW9ucy5pdGVtcy0xOjApKWlmKCEwPT09dGhpcy5vcHRpb25zLnJld2luZE5hdil0aGlzLmN1cnJlbnRJdGVtPTAsYT0icmV3aW5kIjtlbHNlIHJldHVybiB0aGlzLmN1cnJlbnRJdGVtPXRoaXMubWF4aW11bUl0ZW0sITE7dGhpcy5nb1RvKHRoaXMuY3VycmVudEl0ZW0sYSl9LHByZXY6ZnVuY3Rpb24oYSl7aWYodGhpcy5pc1RyYW5zaXRpb24pcmV0dXJuITE7dGhpcy5jdXJyZW50SXRlbT0hMD09PXRoaXMub3B0aW9ucy5zY3JvbGxQZXJQYWdlJiYwPHRoaXMuY3VycmVudEl0ZW0mJnRoaXMuY3VycmVudEl0ZW08dGhpcy5vcHRpb25zLml0ZW1zPzA6dGhpcy5jdXJyZW50SXRlbS0oITA9PT10aGlzLm9wdGlvbnMuc2Nyb2xsUGVyUGFnZT8KdGhpcy5vcHRpb25zLml0ZW1zOjEpO2lmKDA+dGhpcy5jdXJyZW50SXRlbSlpZighMD09PXRoaXMub3B0aW9ucy5yZXdpbmROYXYpdGhpcy5jdXJyZW50SXRlbT10aGlzLm1heGltdW1JdGVtLGE9InJld2luZCI7ZWxzZSByZXR1cm4gdGhpcy5jdXJyZW50SXRlbT0wLCExO3RoaXMuZ29Ubyh0aGlzLmN1cnJlbnRJdGVtLGEpfSxnb1RvOmZ1bmN0aW9uKGEsYixlKXt2YXIgYz10aGlzO2lmKGMuaXNUcmFuc2l0aW9uKXJldHVybiExOyJmdW5jdGlvbiI9PT10eXBlb2YgYy5vcHRpb25zLmJlZm9yZU1vdmUmJmMub3B0aW9ucy5iZWZvcmVNb3ZlLmFwcGx5KHRoaXMsW2MuJGVsZW1dKTthPj1jLm1heGltdW1JdGVtP2E9Yy5tYXhpbXVtSXRlbTowPj1hJiYoYT0wKTtjLmN1cnJlbnRJdGVtPWMub3dsLmN1cnJlbnRJdGVtPWE7aWYoITEhPT1jLm9wdGlvbnMudHJhbnNpdGlvblN0eWxlJiYiZHJhZyIhPT1lJiYxPT09Yy5vcHRpb25zLml0ZW1zJiYhMD09PWMuYnJvd3Nlci5zdXBwb3J0M2QpcmV0dXJuIGMuc3dhcFNwZWVkKDApLAohMD09PWMuYnJvd3Nlci5zdXBwb3J0M2Q/Yy50cmFuc2l0aW9uM2QoYy5wb3NpdGlvbnNJbkFycmF5W2FdKTpjLmNzczJzbGlkZShjLnBvc2l0aW9uc0luQXJyYXlbYV0sMSksYy5hZnRlckdvKCksYy5zaW5nbGVJdGVtVHJhbnNpdGlvbigpLCExO2E9Yy5wb3NpdGlvbnNJbkFycmF5W2FdOyEwPT09Yy5icm93c2VyLnN1cHBvcnQzZD8oYy5pc0NzczNGaW5pc2g9ITEsITA9PT1iPyhjLnN3YXBTcGVlZCgicGFnaW5hdGlvblNwZWVkIiksZy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5pc0NzczNGaW5pc2g9ITB9LGMub3B0aW9ucy5wYWdpbmF0aW9uU3BlZWQpKToicmV3aW5kIj09PWI/KGMuc3dhcFNwZWVkKGMub3B0aW9ucy5yZXdpbmRTcGVlZCksZy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5pc0NzczNGaW5pc2g9ITB9LGMub3B0aW9ucy5yZXdpbmRTcGVlZCkpOihjLnN3YXBTcGVlZCgic2xpZGVTcGVlZCIpLGcuc2V0VGltZW91dChmdW5jdGlvbigpe2MuaXNDc3MzRmluaXNoPSEwfSwKYy5vcHRpb25zLnNsaWRlU3BlZWQpKSxjLnRyYW5zaXRpb24zZChhKSk6ITA9PT1iP2MuY3NzMnNsaWRlKGEsYy5vcHRpb25zLnBhZ2luYXRpb25TcGVlZCk6InJld2luZCI9PT1iP2MuY3NzMnNsaWRlKGEsYy5vcHRpb25zLnJld2luZFNwZWVkKTpjLmNzczJzbGlkZShhLGMub3B0aW9ucy5zbGlkZVNwZWVkKTtjLmFmdGVyR28oKX0sanVtcFRvOmZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PT10eXBlb2YgdGhpcy5vcHRpb25zLmJlZm9yZU1vdmUmJnRoaXMub3B0aW9ucy5iZWZvcmVNb3ZlLmFwcGx5KHRoaXMsW3RoaXMuJGVsZW1dKTthPj10aGlzLm1heGltdW1JdGVtfHwtMT09PWE/YT10aGlzLm1heGltdW1JdGVtOjA+PWEmJihhPTApO3RoaXMuc3dhcFNwZWVkKDApOyEwPT09dGhpcy5icm93c2VyLnN1cHBvcnQzZD90aGlzLnRyYW5zaXRpb24zZCh0aGlzLnBvc2l0aW9uc0luQXJyYXlbYV0pOnRoaXMuY3NzMnNsaWRlKHRoaXMucG9zaXRpb25zSW5BcnJheVthXSwxKTt0aGlzLmN1cnJlbnRJdGVtPQp0aGlzLm93bC5jdXJyZW50SXRlbT1hO3RoaXMuYWZ0ZXJHbygpfSxhZnRlckdvOmZ1bmN0aW9uKCl7dGhpcy5wcmV2QXJyLnB1c2godGhpcy5jdXJyZW50SXRlbSk7dGhpcy5wcmV2SXRlbT10aGlzLm93bC5wcmV2SXRlbT10aGlzLnByZXZBcnJbdGhpcy5wcmV2QXJyLmxlbmd0aC0yXTt0aGlzLnByZXZBcnIuc2hpZnQoMCk7dGhpcy5wcmV2SXRlbSE9PXRoaXMuY3VycmVudEl0ZW0mJih0aGlzLmNoZWNrUGFnaW5hdGlvbigpLHRoaXMuY2hlY2tOYXZpZ2F0aW9uKCksdGhpcy5lYWNoTW92ZVVwZGF0ZSgpLCExIT09dGhpcy5vcHRpb25zLmF1dG9QbGF5JiZ0aGlzLmNoZWNrQXAoKSk7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLm9wdGlvbnMuYWZ0ZXJNb3ZlJiZ0aGlzLnByZXZJdGVtIT09dGhpcy5jdXJyZW50SXRlbSYmdGhpcy5vcHRpb25zLmFmdGVyTW92ZS5hcHBseSh0aGlzLFt0aGlzLiRlbGVtXSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmFwU3RhdHVzPSJzdG9wIjtnLmNsZWFySW50ZXJ2YWwodGhpcy5hdXRvUGxheUludGVydmFsKX0sCmNoZWNrQXA6ZnVuY3Rpb24oKXsic3RvcCIhPT10aGlzLmFwU3RhdHVzJiZ0aGlzLnBsYXkoKX0scGxheTpmdW5jdGlvbigpe3ZhciBhPXRoaXM7YS5hcFN0YXR1cz0icGxheSI7aWYoITE9PT1hLm9wdGlvbnMuYXV0b1BsYXkpcmV0dXJuITE7Zy5jbGVhckludGVydmFsKGEuYXV0b1BsYXlJbnRlcnZhbCk7YS5hdXRvUGxheUludGVydmFsPWcuc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXthLm5leHQoITApfSxhLm9wdGlvbnMuYXV0b1BsYXkpfSxzd2FwU3BlZWQ6ZnVuY3Rpb24oYSl7InNsaWRlU3BlZWQiPT09YT90aGlzLiRvd2xXcmFwcGVyLmNzcyh0aGlzLmFkZENzc1NwZWVkKHRoaXMub3B0aW9ucy5zbGlkZVNwZWVkKSk6InBhZ2luYXRpb25TcGVlZCI9PT1hP3RoaXMuJG93bFdyYXBwZXIuY3NzKHRoaXMuYWRkQ3NzU3BlZWQodGhpcy5vcHRpb25zLnBhZ2luYXRpb25TcGVlZCkpOiJzdHJpbmciIT09dHlwZW9mIGEmJnRoaXMuJG93bFdyYXBwZXIuY3NzKHRoaXMuYWRkQ3NzU3BlZWQoYSkpfSwKYWRkQ3NzU3BlZWQ6ZnVuY3Rpb24oYSl7cmV0dXJueyItd2Via2l0LXRyYW5zaXRpb24iOiJhbGwgIithKyJtcyBlYXNlIiwiLW1vei10cmFuc2l0aW9uIjoiYWxsICIrYSsibXMgZWFzZSIsIi1vLXRyYW5zaXRpb24iOiJhbGwgIithKyJtcyBlYXNlIix0cmFuc2l0aW9uOiJhbGwgIithKyJtcyBlYXNlIn19LHJlbW92ZVRyYW5zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm57Ii13ZWJraXQtdHJhbnNpdGlvbiI6IiIsIi1tb3otdHJhbnNpdGlvbiI6IiIsIi1vLXRyYW5zaXRpb24iOiIiLHRyYW5zaXRpb246IiJ9fSxkb1RyYW5zbGF0ZTpmdW5jdGlvbihhKXtyZXR1cm57Ii13ZWJraXQtdHJhbnNmb3JtIjoidHJhbnNsYXRlM2QoIithKyJweCwgMHB4LCAwcHgpIiwiLW1vei10cmFuc2Zvcm0iOiJ0cmFuc2xhdGUzZCgiK2ErInB4LCAwcHgsIDBweCkiLCItby10cmFuc2Zvcm0iOiJ0cmFuc2xhdGUzZCgiK2ErInB4LCAwcHgsIDBweCkiLCItbXMtdHJhbnNmb3JtIjoidHJhbnNsYXRlM2QoIisKYSsicHgsIDBweCwgMHB4KSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgiK2ErInB4LCAwcHgsMHB4KSJ9fSx0cmFuc2l0aW9uM2Q6ZnVuY3Rpb24oYSl7dGhpcy4kb3dsV3JhcHBlci5jc3ModGhpcy5kb1RyYW5zbGF0ZShhKSl9LGNzczJtb3ZlOmZ1bmN0aW9uKGEpe3RoaXMuJG93bFdyYXBwZXIuY3NzKHtsZWZ0OmF9KX0sY3NzMnNsaWRlOmZ1bmN0aW9uKGEsYil7dmFyIGU9dGhpcztlLmlzQ3NzRmluaXNoPSExO2UuJG93bFdyYXBwZXIuc3RvcCghMCwhMCkuYW5pbWF0ZSh7bGVmdDphfSx7ZHVyYXRpb246Ynx8ZS5vcHRpb25zLnNsaWRlU3BlZWQsY29tcGxldGU6ZnVuY3Rpb24oKXtlLmlzQ3NzRmluaXNoPSEwfX0pfSxjaGVja0Jyb3dzZXI6ZnVuY3Rpb24oKXt2YXIgYT1rLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Euc3R5bGUuY3NzVGV4dD0iICAtbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgLW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpIjsKYT1hLnN0eWxlLmNzc1RleHQubWF0Y2goL3RyYW5zbGF0ZTNkXCgwcHgsIDBweCwgMHB4XCkvZyk7dGhpcy5icm93c2VyPXtzdXBwb3J0M2Q6bnVsbCE9PWEmJjE9PT1hLmxlbmd0aCxpc1RvdWNoOiJvbnRvdWNoc3RhcnQiaW4gZ3x8Zy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50c319LG1vdmVFdmVudHM6ZnVuY3Rpb24oKXtpZighMSE9PXRoaXMub3B0aW9ucy5tb3VzZURyYWd8fCExIT09dGhpcy5vcHRpb25zLnRvdWNoRHJhZyl0aGlzLmdlc3R1cmVzKCksdGhpcy5kaXNhYmxlZEV2ZW50cygpfSxldmVudFR5cGVzOmZ1bmN0aW9uKCl7dmFyIGE9WyJzIiwiZSIsIngiXTt0aGlzLmV2X3R5cGVzPXt9OyEwPT09dGhpcy5vcHRpb25zLm1vdXNlRHJhZyYmITA9PT10aGlzLm9wdGlvbnMudG91Y2hEcmFnP2E9WyJ0b3VjaHN0YXJ0Lm93bCBtb3VzZWRvd24ub3dsIiwidG91Y2htb3ZlLm93bCBtb3VzZW1vdmUub3dsIiwidG91Y2hlbmQub3dsIHRvdWNoY2FuY2VsLm93bCBtb3VzZXVwLm93bCJdOgohMT09PXRoaXMub3B0aW9ucy5tb3VzZURyYWcmJiEwPT09dGhpcy5vcHRpb25zLnRvdWNoRHJhZz9hPVsidG91Y2hzdGFydC5vd2wiLCJ0b3VjaG1vdmUub3dsIiwidG91Y2hlbmQub3dsIHRvdWNoY2FuY2VsLm93bCJdOiEwPT09dGhpcy5vcHRpb25zLm1vdXNlRHJhZyYmITE9PT10aGlzLm9wdGlvbnMudG91Y2hEcmFnJiYoYT1bIm1vdXNlZG93bi5vd2wiLCJtb3VzZW1vdmUub3dsIiwibW91c2V1cC5vd2wiXSk7dGhpcy5ldl90eXBlcy5zdGFydD1hWzBdO3RoaXMuZXZfdHlwZXMubW92ZT1hWzFdO3RoaXMuZXZfdHlwZXMuZW5kPWFbMl19LGRpc2FibGVkRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy4kZWxlbS5vbigiZHJhZ3N0YXJ0Lm93bCIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpfSk7dGhpcy4kZWxlbS5vbigibW91c2Vkb3duLmRpc2FibGVUZXh0U2VsZWN0IixmdW5jdGlvbihhKXtyZXR1cm4gZihhLnRhcmdldCkuaXMoImlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBvcHRpb24iKX0pfSwKZ2VzdHVyZXM6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEpe2lmKHZvaWQgMCE9PWEudG91Y2hlcylyZXR1cm57eDphLnRvdWNoZXNbMF0ucGFnZVgseTphLnRvdWNoZXNbMF0ucGFnZVl9O2lmKHZvaWQgMD09PWEudG91Y2hlcyl7aWYodm9pZCAwIT09YS5wYWdlWClyZXR1cm57eDphLnBhZ2VYLHk6YS5wYWdlWX07aWYodm9pZCAwPT09YS5wYWdlWClyZXR1cm57eDphLmNsaWVudFgseTphLmNsaWVudFl9fX1mdW5jdGlvbiBiKGEpeyJvbiI9PT1hPyhmKGspLm9uKGQuZXZfdHlwZXMubW92ZSxlKSxmKGspLm9uKGQuZXZfdHlwZXMuZW5kLGMpKToib2ZmIj09PWEmJihmKGspLm9mZihkLmV2X3R5cGVzLm1vdmUpLGYoaykub2ZmKGQuZXZfdHlwZXMuZW5kKSl9ZnVuY3Rpb24gZShiKXtiPWIub3JpZ2luYWxFdmVudHx8Ynx8Zy5ldmVudDtkLm5ld1Bvc1g9YShiKS54LWgub2Zmc2V0WDtkLm5ld1Bvc1k9YShiKS55LWgub2Zmc2V0WTtkLm5ld1JlbGF0aXZlWD1kLm5ld1Bvc1gtaC5yZWxhdGl2ZVBvczsKImZ1bmN0aW9uIj09PXR5cGVvZiBkLm9wdGlvbnMuc3RhcnREcmFnZ2luZyYmITAhPT1oLmRyYWdnaW5nJiYwIT09ZC5uZXdSZWxhdGl2ZVgmJihoLmRyYWdnaW5nPSEwLGQub3B0aW9ucy5zdGFydERyYWdnaW5nLmFwcGx5KGQsW2QuJGVsZW1dKSk7KDg8ZC5uZXdSZWxhdGl2ZVh8fC04PmQubmV3UmVsYXRpdmVYKSYmITA9PT1kLmJyb3dzZXIuaXNUb3VjaCYmKHZvaWQgMCE9PWIucHJldmVudERlZmF1bHQ/Yi5wcmV2ZW50RGVmYXVsdCgpOmIucmV0dXJuVmFsdWU9ITEsaC5zbGlkaW5nPSEwKTsoMTA8ZC5uZXdQb3NZfHwtMTA+ZC5uZXdQb3NZKSYmITE9PT1oLnNsaWRpbmcmJmYoaykub2ZmKCJ0b3VjaG1vdmUub3dsIik7ZC5uZXdQb3NYPU1hdGgubWF4KE1hdGgubWluKGQubmV3UG9zWCxkLm5ld1JlbGF0aXZlWC81KSxkLm1heGltdW1QaXhlbHMrZC5uZXdSZWxhdGl2ZVgvNSk7ITA9PT1kLmJyb3dzZXIuc3VwcG9ydDNkP2QudHJhbnNpdGlvbjNkKGQubmV3UG9zWCk6ZC5jc3MybW92ZShkLm5ld1Bvc1gpfQpmdW5jdGlvbiBjKGEpe2E9YS5vcmlnaW5hbEV2ZW50fHxhfHxnLmV2ZW50O3ZhciBjO2EudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7aC5kcmFnZ2luZz0hMTshMCE9PWQuYnJvd3Nlci5pc1RvdWNoJiZkLiRvd2xXcmFwcGVyLnJlbW92ZUNsYXNzKCJncmFiYmluZyIpO2QuZHJhZ0RpcmVjdGlvbj0wPmQubmV3UmVsYXRpdmVYP2Qub3dsLmRyYWdEaXJlY3Rpb249ImxlZnQiOmQub3dsLmRyYWdEaXJlY3Rpb249InJpZ2h0IjswIT09ZC5uZXdSZWxhdGl2ZVgmJihjPWQuZ2V0TmV3UG9zaXRpb24oKSxkLmdvVG8oYywhMSwiZHJhZyIpLGgudGFyZ2V0RWxlbWVudD09PWEudGFyZ2V0JiYhMCE9PWQuYnJvd3Nlci5pc1RvdWNoJiYoZihhLnRhcmdldCkub24oImNsaWNrLmRpc2FibGUiLGZ1bmN0aW9uKGEpe2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7YS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0KCk7ZihhLnRhcmdldCkub2ZmKCJjbGljay5kaXNhYmxlIil9KSwKYT1mLl9kYXRhKGEudGFyZ2V0LCJldmVudHMiKS5jbGljayxjPWEucG9wKCksYS5zcGxpY2UoMCwwLGMpKSk7Yigib2ZmIil9dmFyIGQ9dGhpcyxoPXtvZmZzZXRYOjAsb2Zmc2V0WTowLGJhc2VFbFdpZHRoOjAscmVsYXRpdmVQb3M6MCxwb3NpdGlvbjpudWxsLG1pblN3aXBlOm51bGwsbWF4U3dpcGU6bnVsbCxzbGlkaW5nOm51bGwsZGFyZ2dpbmc6bnVsbCx0YXJnZXRFbGVtZW50Om51bGx9O2QuaXNDc3NGaW5pc2g9ITA7ZC4kZWxlbS5vbihkLmV2X3R5cGVzLnN0YXJ0LCIub3dsLXdyYXBwZXIiLGZ1bmN0aW9uKGMpe2M9Yy5vcmlnaW5hbEV2ZW50fHxjfHxnLmV2ZW50O3ZhciBlO2lmKDM9PT1jLndoaWNoKXJldHVybiExO2lmKCEoZC5pdGVtc0Ftb3VudDw9ZC5vcHRpb25zLml0ZW1zKSl7aWYoITE9PT1kLmlzQ3NzRmluaXNoJiYhZC5vcHRpb25zLmRyYWdCZWZvcmVBbmltRmluaXNofHwhMT09PWQuaXNDc3MzRmluaXNoJiYhZC5vcHRpb25zLmRyYWdCZWZvcmVBbmltRmluaXNoKXJldHVybiExOwohMSE9PWQub3B0aW9ucy5hdXRvUGxheSYmZy5jbGVhckludGVydmFsKGQuYXV0b1BsYXlJbnRlcnZhbCk7ITA9PT1kLmJyb3dzZXIuaXNUb3VjaHx8ZC4kb3dsV3JhcHBlci5oYXNDbGFzcygiZ3JhYmJpbmciKXx8ZC4kb3dsV3JhcHBlci5hZGRDbGFzcygiZ3JhYmJpbmciKTtkLm5ld1Bvc1g9MDtkLm5ld1JlbGF0aXZlWD0wO2YodGhpcykuY3NzKGQucmVtb3ZlVHJhbnNpdGlvbigpKTtlPWYodGhpcykucG9zaXRpb24oKTtoLnJlbGF0aXZlUG9zPWUubGVmdDtoLm9mZnNldFg9YShjKS54LWUubGVmdDtoLm9mZnNldFk9YShjKS55LWUudG9wO2IoIm9uIik7aC5zbGlkaW5nPSExO2gudGFyZ2V0RWxlbWVudD1jLnRhcmdldHx8Yy5zcmNFbGVtZW50fX0pfSxnZXROZXdQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY2xvc2VzdEl0ZW0oKTthPnRoaXMubWF4aW11bUl0ZW0/YT10aGlzLmN1cnJlbnRJdGVtPXRoaXMubWF4aW11bUl0ZW06MDw9dGhpcy5uZXdQb3NYJiYodGhpcy5jdXJyZW50SXRlbT0KYT0wKTtyZXR1cm4gYX0sY2xvc2VzdEl0ZW06ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9ITA9PT1hLm9wdGlvbnMuc2Nyb2xsUGVyUGFnZT9hLnBhZ2VzSW5BcnJheTphLnBvc2l0aW9uc0luQXJyYXksZT1hLm5ld1Bvc1gsYz1udWxsO2YuZWFjaChiLGZ1bmN0aW9uKGQsZyl7ZS1hLml0ZW1XaWR0aC8yMD5iW2QrMV0mJmUtYS5pdGVtV2lkdGgvMjA8ZyYmImxlZnQiPT09YS5tb3ZlRGlyZWN0aW9uKCk/KGM9ZyxhLmN1cnJlbnRJdGVtPSEwPT09YS5vcHRpb25zLnNjcm9sbFBlclBhZ2U/Zi5pbkFycmF5KGMsYS5wb3NpdGlvbnNJbkFycmF5KTpkKTplK2EuaXRlbVdpZHRoLzIwPGcmJmUrYS5pdGVtV2lkdGgvMjA+KGJbZCsxXXx8YltkXS1hLml0ZW1XaWR0aCkmJiJyaWdodCI9PT1hLm1vdmVEaXJlY3Rpb24oKSYmKCEwPT09YS5vcHRpb25zLnNjcm9sbFBlclBhZ2U/KGM9YltkKzFdfHxiW2IubGVuZ3RoLTFdLGEuY3VycmVudEl0ZW09Zi5pbkFycmF5KGMsYS5wb3NpdGlvbnNJbkFycmF5KSk6CihjPWJbZCsxXSxhLmN1cnJlbnRJdGVtPWQrMSkpfSk7cmV0dXJuIGEuY3VycmVudEl0ZW19LG1vdmVEaXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgYTswPnRoaXMubmV3UmVsYXRpdmVYPyhhPSJyaWdodCIsdGhpcy5wbGF5RGlyZWN0aW9uPSJuZXh0Iik6KGE9ImxlZnQiLHRoaXMucGxheURpcmVjdGlvbj0icHJldiIpO3JldHVybiBhfSxjdXN0b21FdmVudHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2EuJGVsZW0ub24oIm93bC5uZXh0IixmdW5jdGlvbigpe2EubmV4dCgpfSk7YS4kZWxlbS5vbigib3dsLnByZXYiLGZ1bmN0aW9uKCl7YS5wcmV2KCl9KTthLiRlbGVtLm9uKCJvd2wucGxheSIsZnVuY3Rpb24oYixlKXthLm9wdGlvbnMuYXV0b1BsYXk9ZTthLnBsYXkoKTthLmhvdmVyU3RhdHVzPSJwbGF5In0pO2EuJGVsZW0ub24oIm93bC5zdG9wIixmdW5jdGlvbigpe2Euc3RvcCgpO2EuaG92ZXJTdGF0dXM9InN0b3AifSk7YS4kZWxlbS5vbigib3dsLmdvVG8iLGZ1bmN0aW9uKGIsZSl7YS5nb1RvKGUpfSk7CmEuJGVsZW0ub24oIm93bC5qdW1wVG8iLGZ1bmN0aW9uKGIsZSl7YS5qdW1wVG8oZSl9KX0sc3RvcE9uSG92ZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzOyEwPT09YS5vcHRpb25zLnN0b3BPbkhvdmVyJiYhMCE9PWEuYnJvd3Nlci5pc1RvdWNoJiYhMSE9PWEub3B0aW9ucy5hdXRvUGxheSYmKGEuJGVsZW0ub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLnN0b3AoKX0pLGEuJGVsZW0ub24oIm1vdXNlb3V0IixmdW5jdGlvbigpeyJzdG9wIiE9PWEuaG92ZXJTdGF0dXMmJmEucGxheSgpfSkpfSxsYXp5TG9hZDpmdW5jdGlvbigpe3ZhciBhLGIsZSxjLGQ7aWYoITE9PT10aGlzLm9wdGlvbnMubGF6eUxvYWQpcmV0dXJuITE7Zm9yKGE9MDthPHRoaXMuaXRlbXNBbW91bnQ7YSs9MSliPWYodGhpcy4kb3dsSXRlbXNbYV0pLCJsb2FkZWQiIT09Yi5kYXRhKCJvd2wtbG9hZGVkIikmJihlPWIuZGF0YSgib3dsLWl0ZW0iKSxjPWIuZmluZCgiLmxhenlPd2wiKSwic3RyaW5nIiE9PXR5cGVvZiBjLmRhdGEoInNyYyIpPwpiLmRhdGEoIm93bC1sb2FkZWQiLCJsb2FkZWQiKToodm9pZCAwPT09Yi5kYXRhKCJvd2wtbG9hZGVkIikmJihjLmhpZGUoKSxiLmFkZENsYXNzKCJsb2FkaW5nIikuZGF0YSgib3dsLWxvYWRlZCIsImNoZWNrZWQiKSksKGQ9ITA9PT10aGlzLm9wdGlvbnMubGF6eUZvbGxvdz9lPj10aGlzLmN1cnJlbnRJdGVtOiEwKSYmZTx0aGlzLmN1cnJlbnRJdGVtK3RoaXMub3B0aW9ucy5pdGVtcyYmYy5sZW5ndGgmJnRoaXMubGF6eVByZWxvYWQoYixjKSkpfSxsYXp5UHJlbG9hZDpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGUoKXthLmRhdGEoIm93bC1sb2FkZWQiLCJsb2FkZWQiKS5yZW1vdmVDbGFzcygibG9hZGluZyIpO2IucmVtb3ZlQXR0cigiZGF0YS1zcmMiKTsiZmFkZSI9PT1kLm9wdGlvbnMubGF6eUVmZmVjdD9iLmZhZGVJbig0MDApOmIuc2hvdygpOyJmdW5jdGlvbiI9PT10eXBlb2YgZC5vcHRpb25zLmFmdGVyTGF6eUxvYWQmJmQub3B0aW9ucy5hZnRlckxhenlMb2FkLmFwcGx5KHRoaXMsCltkLiRlbGVtXSl9ZnVuY3Rpb24gYygpe2YrPTE7ZC5jb21wbGV0ZUltZyhiLmdldCgwKSl8fCEwPT09az9lKCk6MTAwPj1mP2cuc2V0VGltZW91dChjLDEwMCk6ZSgpfXZhciBkPXRoaXMsZj0wLGs7IkRJViI9PT1iLnByb3AoInRhZ05hbWUiKT8oYi5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCJ1cmwoIitiLmRhdGEoInNyYyIpKyIpIiksaz0hMCk6YlswXS5zcmM9Yi5kYXRhKCJzcmMiKTtjKCl9LGF1dG9IZWlnaHQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dmFyIGE9ZihlLiRvd2xJdGVtc1tlLmN1cnJlbnRJdGVtXSkuaGVpZ2h0KCk7ZS53cmFwcGVyT3V0ZXIuY3NzKCJoZWlnaHQiLGErInB4Iik7ZS53cmFwcGVyT3V0ZXIuaGFzQ2xhc3MoImF1dG9IZWlnaHQiKXx8Zy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS53cmFwcGVyT3V0ZXIuYWRkQ2xhc3MoImF1dG9IZWlnaHQiKX0sMCl9ZnVuY3Rpb24gYigpe2QrPTE7ZS5jb21wbGV0ZUltZyhjLmdldCgwKSk/YSgpOjEwMD49ZD9nLnNldFRpbWVvdXQoYiwKMTAwKTplLndyYXBwZXJPdXRlci5jc3MoImhlaWdodCIsIiIpfXZhciBlPXRoaXMsYz1mKGUuJG93bEl0ZW1zW2UuY3VycmVudEl0ZW1dKS5maW5kKCJpbWciKSxkO3ZvaWQgMCE9PWMuZ2V0KDApPyhkPTAsYigpKTphKCl9LGNvbXBsZXRlSW1nOmZ1bmN0aW9uKGEpe3JldHVybiFhLmNvbXBsZXRlfHwidW5kZWZpbmVkIiE9PXR5cGVvZiBhLm5hdHVyYWxXaWR0aCYmMD09PWEubmF0dXJhbFdpZHRoPyExOiEwfSxvblZpc2libGVJdGVtczpmdW5jdGlvbigpe3ZhciBhOyEwPT09dGhpcy5vcHRpb25zLmFkZENsYXNzQWN0aXZlJiZ0aGlzLiRvd2xJdGVtcy5yZW1vdmVDbGFzcygiYWN0aXZlIik7dGhpcy52aXNpYmxlSXRlbXM9W107Zm9yKGE9dGhpcy5jdXJyZW50SXRlbTthPHRoaXMuY3VycmVudEl0ZW0rdGhpcy5vcHRpb25zLml0ZW1zO2ErPTEpdGhpcy52aXNpYmxlSXRlbXMucHVzaChhKSwhMD09PXRoaXMub3B0aW9ucy5hZGRDbGFzc0FjdGl2ZSYmZih0aGlzLiRvd2xJdGVtc1thXSkuYWRkQ2xhc3MoImFjdGl2ZSIpOwp0aGlzLm93bC52aXNpYmxlSXRlbXM9dGhpcy52aXNpYmxlSXRlbXN9LHRyYW5zaXRpb25UeXBlczpmdW5jdGlvbihhKXt0aGlzLm91dENsYXNzPSJvd2wtIithKyItb3V0Ijt0aGlzLmluQ2xhc3M9Im93bC0iK2ErIi1pbiJ9LHNpbmdsZUl0ZW1UcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEub3V0Q2xhc3MsZT1hLmluQ2xhc3MsYz1hLiRvd2xJdGVtcy5lcShhLmN1cnJlbnRJdGVtKSxkPWEuJG93bEl0ZW1zLmVxKGEucHJldkl0ZW0pLGY9TWF0aC5hYnMoYS5wb3NpdGlvbnNJbkFycmF5W2EuY3VycmVudEl0ZW1dKSthLnBvc2l0aW9uc0luQXJyYXlbYS5wcmV2SXRlbV0sZz1NYXRoLmFicyhhLnBvc2l0aW9uc0luQXJyYXlbYS5jdXJyZW50SXRlbV0pK2EuaXRlbVdpZHRoLzI7YS5pc1RyYW5zaXRpb249ITA7YS4kb3dsV3JhcHBlci5hZGRDbGFzcygib3dsLW9yaWdpbiIpLmNzcyh7Ii13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbiI6ZysicHgiLCItbW96LXBlcnNwZWN0aXZlLW9yaWdpbiI6ZysKInB4IiwicGVyc3BlY3RpdmUtb3JpZ2luIjpnKyJweCJ9KTtkLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixsZWZ0OmYrInB4In0pLmFkZENsYXNzKGIpLm9uKCJ3ZWJraXRBbmltYXRpb25FbmQgb0FuaW1hdGlvbkVuZCBNU0FuaW1hdGlvbkVuZCBhbmltYXRpb25lbmQiLGZ1bmN0aW9uKCl7YS5lbmRQcmV2PSEwO2Qub2ZmKCJ3ZWJraXRBbmltYXRpb25FbmQgb0FuaW1hdGlvbkVuZCBNU0FuaW1hdGlvbkVuZCBhbmltYXRpb25lbmQiKTthLmNsZWFyVHJhbnNTdHlsZShkLGIpfSk7Yy5hZGRDbGFzcyhlKS5vbigid2Via2l0QW5pbWF0aW9uRW5kIG9BbmltYXRpb25FbmQgTVNBbmltYXRpb25FbmQgYW5pbWF0aW9uZW5kIixmdW5jdGlvbigpe2EuZW5kQ3VycmVudD0hMDtjLm9mZigid2Via2l0QW5pbWF0aW9uRW5kIG9BbmltYXRpb25FbmQgTVNBbmltYXRpb25FbmQgYW5pbWF0aW9uZW5kIik7YS5jbGVhclRyYW5zU3R5bGUoYyxlKX0pfSxjbGVhclRyYW5zU3R5bGU6ZnVuY3Rpb24oYSwKYil7YS5jc3Moe3Bvc2l0aW9uOiIiLGxlZnQ6IiJ9KS5yZW1vdmVDbGFzcyhiKTt0aGlzLmVuZFByZXYmJnRoaXMuZW5kQ3VycmVudCYmKHRoaXMuJG93bFdyYXBwZXIucmVtb3ZlQ2xhc3MoIm93bC1vcmlnaW4iKSx0aGlzLmlzVHJhbnNpdGlvbj10aGlzLmVuZEN1cnJlbnQ9dGhpcy5lbmRQcmV2PSExKX0sb3dsU3RhdHVzOmZ1bmN0aW9uKCl7dGhpcy5vd2w9e3VzZXJPcHRpb25zOnRoaXMudXNlck9wdGlvbnMsYmFzZUVsZW1lbnQ6dGhpcy4kZWxlbSx1c2VySXRlbXM6dGhpcy4kdXNlckl0ZW1zLG93bEl0ZW1zOnRoaXMuJG93bEl0ZW1zLGN1cnJlbnRJdGVtOnRoaXMuY3VycmVudEl0ZW0scHJldkl0ZW06dGhpcy5wcmV2SXRlbSx2aXNpYmxlSXRlbXM6dGhpcy52aXNpYmxlSXRlbXMsaXNUb3VjaDp0aGlzLmJyb3dzZXIuaXNUb3VjaCxicm93c2VyOnRoaXMuYnJvd3NlcixkcmFnRGlyZWN0aW9uOnRoaXMuZHJhZ0RpcmVjdGlvbn19LGNsZWFyRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy4kZWxlbS5vZmYoIi5vd2wgb3dsIG1vdXNlZG93bi5kaXNhYmxlVGV4dFNlbGVjdCIpOwpmKGspLm9mZigiLm93bCBvd2wiKTtmKGcpLm9mZigicmVzaXplIix0aGlzLnJlc2l6ZXIpfSx1bldyYXA6ZnVuY3Rpb24oKXswIT09dGhpcy4kZWxlbS5jaGlsZHJlbigpLmxlbmd0aCYmKHRoaXMuJG93bFdyYXBwZXIudW53cmFwKCksdGhpcy4kdXNlckl0ZW1zLnVud3JhcCgpLnVud3JhcCgpLHRoaXMub3dsQ29udHJvbHMmJnRoaXMub3dsQ29udHJvbHMucmVtb3ZlKCkpO3RoaXMuY2xlYXJFdmVudHMoKTt0aGlzLiRlbGVtLmF0dHIoInN0eWxlIix0aGlzLiRlbGVtLmRhdGEoIm93bC1vcmlnaW5hbFN0eWxlcyIpfHwiIikuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW0uZGF0YSgib3dsLW9yaWdpbmFsQ2xhc3NlcyIpKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cuY2xlYXJJbnRlcnZhbCh0aGlzLmNoZWNrVmlzaWJsZSk7dGhpcy51bldyYXAoKTt0aGlzLiRlbGVtLnJlbW92ZURhdGEoKX0scmVpbml0OmZ1bmN0aW9uKGEpe2E9Zi5leHRlbmQoe30sdGhpcy51c2VyT3B0aW9ucywKYSk7dGhpcy51bldyYXAoKTt0aGlzLmluaXQoYSx0aGlzLiRlbGVtKX0sYWRkSXRlbTpmdW5jdGlvbihhLGIpe3ZhciBlO2lmKCFhKXJldHVybiExO2lmKDA9PT10aGlzLiRlbGVtLmNoaWxkcmVuKCkubGVuZ3RoKXJldHVybiB0aGlzLiRlbGVtLmFwcGVuZChhKSx0aGlzLnNldFZhcnMoKSwhMTt0aGlzLnVuV3JhcCgpO2U9dm9pZCAwPT09Ynx8LTE9PT1iPy0xOmI7ZT49dGhpcy4kdXNlckl0ZW1zLmxlbmd0aHx8LTE9PT1lP3RoaXMuJHVzZXJJdGVtcy5lcSgtMSkuYWZ0ZXIoYSk6dGhpcy4kdXNlckl0ZW1zLmVxKGUpLmJlZm9yZShhKTt0aGlzLnNldFZhcnMoKX0scmVtb3ZlSXRlbTpmdW5jdGlvbihhKXtpZigwPT09dGhpcy4kZWxlbS5jaGlsZHJlbigpLmxlbmd0aClyZXR1cm4hMTthPXZvaWQgMD09PWF8fC0xPT09YT8tMTphO3RoaXMudW5XcmFwKCk7dGhpcy4kdXNlckl0ZW1zLmVxKGEpLnJlbW92ZSgpO3RoaXMuc2V0VmFycygpfX07Zi5mbi5vd2xDYXJvdXNlbD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoITA9PT0KZih0aGlzKS5kYXRhKCJvd2wtaW5pdCIpKXJldHVybiExO2YodGhpcykuZGF0YSgib3dsLWluaXQiLCEwKTt2YXIgYj1PYmplY3QuY3JlYXRlKGwpO2IuaW5pdChhLHRoaXMpO2YuZGF0YSh0aGlzLCJvd2xDYXJvdXNlbCIsYil9KX07Zi5mbi5vd2xDYXJvdXNlbC5vcHRpb25zPXtpdGVtczo1LGl0ZW1zQ3VzdG9tOiExLGl0ZW1zRGVza3RvcDpbMTE5OSw0XSxpdGVtc0Rlc2t0b3BTbWFsbDpbOTc5LDNdLGl0ZW1zVGFibGV0Ols3NjgsMl0saXRlbXNUYWJsZXRTbWFsbDohMSxpdGVtc01vYmlsZTpbNDc5LDFdLHNpbmdsZUl0ZW06ITEsaXRlbXNTY2FsZVVwOiExLHNsaWRlU3BlZWQ6MjAwLHBhZ2luYXRpb25TcGVlZDo4MDAscmV3aW5kU3BlZWQ6MUUzLGF1dG9QbGF5OiExLHN0b3BPbkhvdmVyOiExLG5hdmlnYXRpb246ITEsbmF2aWdhdGlvblRleHQ6WyJwcmV2IiwibmV4dCJdLHJld2luZE5hdjohMCxzY3JvbGxQZXJQYWdlOiExLHBhZ2luYXRpb246ITAscGFnaW5hdGlvbk51bWJlcnM6ITEsCnJlc3BvbnNpdmU6ITAscmVzcG9uc2l2ZVJlZnJlc2hSYXRlOjIwMCxyZXNwb25zaXZlQmFzZVdpZHRoOmcsYmFzZUNsYXNzOiJvd2wtY2Fyb3VzZWwiLHRoZW1lOiJvd2wtdGhlbWUiLGxhenlMb2FkOiExLGxhenlGb2xsb3c6ITAsbGF6eUVmZmVjdDoiZmFkZSIsYXV0b0hlaWdodDohMSxqc29uUGF0aDohMSxqc29uU3VjY2VzczohMSxkcmFnQmVmb3JlQW5pbUZpbmlzaDohMCxtb3VzZURyYWc6ITAsdG91Y2hEcmFnOiEwLGFkZENsYXNzQWN0aXZlOiExLHRyYW5zaXRpb25TdHlsZTohMSxiZWZvcmVVcGRhdGU6ITEsYWZ0ZXJVcGRhdGU6ITEsYmVmb3JlSW5pdDohMSxhZnRlckluaXQ6ITEsYmVmb3JlTW92ZTohMSxhZnRlck1vdmU6ITEsYWZ0ZXJBY3Rpb246ITEsc3RhcnREcmFnZ2luZzohMSxhZnRlckxhenlMb2FkOiExfX0pKGpRdWVyeSx3aW5kb3csZG9jdW1lbnQpOw=="}},"time_used":58,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":58,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.402Z","timestamp":1785154928402,"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/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7884\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:57:12 GMT\r\nexpires: Fri, 23 Jul 2027 02:57:12 GMT\r\ncache-control: public, max-age=31536000\r\nage: 379496\r\nlast-modified: Mon, 15 Sep 2025 16:34:42 GMT\r\ncontent-type: font/woff2\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":7884,"size_decoded":8696,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7884, version 1.0","md5":"9212f6f9860f9fc6c69b02fedf6db8c3","sha1":"ac6d71b4d5fdd2b3dabc9a06ff6c001e4251da0b","sha256":"7d93459d86585bfcdbb7e0376056226adb25821ee54b96236fe2123e9560929f","sha512":"67317495f4b53e20a9f31c034e456e6c37f387dffb2c092caa5159bc441cfcadd02749ffe5bbed1d580d5300a59e48a767ef2c6d9978b474f84c1a2cd095c126","ssdeep":"192:xLFDbKO9E3rS3JWBRO/J601FSS5ZUbik3Zy2f0:pd9J5W501otlI","tlshash":"c3f1ae4eb3f2cd1be40982e53a0fc90b1c578272681fd772d067a22517893bc8db2c81","first_seen":"2023-04-05T15:35:34Z","last_seen":"2026-08-11T11:52:27.161705Z","times_seen":390368,"resource_available":false,"data":"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"}},"time_used":54,"timings":{"blocked":-1,"dns":3,"connect":30,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Material+Symbols+Outlined\u0026text=%EE%97%8B%EE%97%8C\u0026lang=en","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.117Z","timestamp":1785154929117,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=Material+Symbols+Outlined\u0026text=%EE%97%8B%EE%97%8C\u0026lang=en HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 12:22:09 GMT\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":721,"size_decoded":1137,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"59cdad9a7be1993a303d451e11e83cc5","sha1":"2bd6e86082a6827b17ddf36b6cb01473ba19cf7b","sha256":"43d6d0648fe75c9f17879d634932eb8b4cf5fc2edf8fb2dcbd8d7f0fdc600b00","sha512":"37bd37cf63d53f64e5a6a8d2ffec0a49eb8d8637968e9b37174a073b6926a66797e249fdc2477aeb2d532946d0ec2ac767021fdd7d3ef1df7793e5fc04deeaf3","ssdeep":"","tlshash":"a101cb986a655a81a2950c53334f3f225e1c411f788ad8feaf521e4c5dfe9b70381b0f","first_seen":"2026-07-23T00:52:28.058172Z","last_seen":"2026-07-28T13:19:40.520994Z","times_seen":376,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL2wvZm9udD9raXQ9a0pGMUJ2WVg3Qmdua1NyVXdUOE9ocmRRdzRvRUxkUEllZUlJOXY2b0RNekJ5SFg5ckE2UnpheEhNUGRZNDN6ai1qQ3h2M2Z6dlJOVTIyWlhHSnBFcGpDXzF2LXBfNE1ySW1IQ0lKSVpyREN2SE9lamRkeVZPNnZDVGxrJnNrZXk9YjhkYzIwODg4NTRiMTIyZiZ2PXYzNjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVK2U1Y2ItZTVjYzsKfQoKLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgewogIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC1zaXplOiAyNHB4OwogIGxpbmUtaGVpZ2h0OiAxOwogIGxldHRlci1zcGFjaW5nOiBub3JtYWw7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgd29yZC13cmFwOiBub3JtYWw7CiAgZGlyZWN0aW9uOiBsdHI7CiAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJzsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwp9Cg=="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo5.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.987Z","timestamp":1785154927987,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo5.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=O0KLeK3bxo7mg%2BUF5b4E%2FkHVZDxHBzSkdXPwIbPgLg0k95QxYG1TVsnV9MvAON8z1L6fCeh7L9TzSvrpia7zFqMYeRZ9K5vIvjQvZUUf2LKJZgdhJUgcXKV96ynC9sZgPnJQTPF11VU%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed81b28a-OSL\r\ncontent-length: 4681\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4681,"size_decoded":5443,"mime_type":"image/png","magic":"PNG image data, 162 x 46, 8-bit/color RGBA, non-interlaced","md5":"41fa8085d9586a8f24832b3687059097","sha1":"2ca8e98e09a501ed6d91d314954db9cc812cdc35","sha256":"8668d6deb9a7f407d09b09da302657dee9796dcf5ef07da5dfdd248e087c984e","sha512":"6c8b64416fa6642d3257569e4f1226ec746e1bbcbe8831981153609c20c1c45f84ab218bfa51110278ec28b61d3a694b79bda59a3bdecd541f989a5c92c5bee1","ssdeep":"96:M2oYb1mIjs1dggutL8l3AYrwf43jn8zSiHXDqDVIMPmTzJ:WWgu6hMIj/gXWm8gJ","tlshash":"baa17e846d04a565909ad5a308d7ee278e130083fae52c7ae8ebe488ae723f41513ccd","first_seen":"2026-07-27T05:58:00.891579Z","last_seen":"2026-07-27T12:23:18.805643Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKIAAAAuCAYAAACrgMK4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVDNzRDMUU0M0NBMjExRThCMUFBQjlGRTExNjAzMzUwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVDNzRDMUU1M0NBMjExRThCMUFBQjlGRTExNjAzMzUwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RUM3NEMxRTIzQ0EyMTFFOEIxQUFCOUZFMTE2MDMzNTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUM3NEMxRTMzQ0EyMTFFOEIxQUFCOUZFMTE2MDMzNTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6WQJHYAAAOv0lEQVR42uydCXhVxRXH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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/css/animate.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.714Z","timestamp":1785154927714,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/css/animate.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:08 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CdLWLlVX%2BJoC7bt3gKRFLJTzVU5AncyAMZ3yU5JqQ4PZ8dlHFAkBdYWbfWXT9Y9DXljNNH21bup6jcS1lWD2n2%2BxnvM9QkqzSF0Wv1sgoMw2KHQWURG4%2BRwR0NYIhw3s2l%2BWccl2UHY%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9a3d29b28a-OSL\r\ncontent-length: 4874\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":73029,"size_decoded":5687,"mime_type":"text/css","magic":"ASCII text, with very long lines (460), with CRLF line terminators","md5":"c5b24615265e8e28d747bd885e62a617","sha1":"0209ea07e50fbfddf574b39db7d15b5e58b86c33","sha256":"486f43cd21e94ca1c6aad2f6e1f1c273176747e0c3cda01534e6f9c0cf2a2d9b","sha512":"b871dda71a97d77e531998a84ce60f2146624961bff8f86fb658550d952f4e226f9b21baf644db2d1f926fcd11844bc436b7db8ab8a65f99296bae47ba0a36ea","ssdeep":"192:CDvQHnFHQvFpjIBz+a+pjRfBV7lucqBJm7YfPZBWgQc95YKm/0kLyJgprWXhOX87:CbW5TT","tlshash":"1163d9661c91114457720b25d7de4f6cea3ca17318226efab3c2588b8f71bac13cda5b","first_seen":"2023-04-09T10:56:04Z","last_seen":"2026-08-09T14:52:41.367382Z","times_seen":1277,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCg0KLyohDQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUNCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQ0KDQpDb3B5cmlnaHQgKGMpIDIwMTMgRGFuaWVsIEVkZW4NCg0KUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQoNClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KDQpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuDQoqLw0KDQouYW5pbWF0ZWQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCn0NCg0KLmFuaW1hdGVkLmluZmluaXRlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQp9DQoNCi5hbmltYXRlZC5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpOw0KICB9DQp9DQoNCi5ib3VuY2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7DQogIDAlLCA1MCUsIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAyNSUsIDc1JSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDI1JSwgNzUlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mbGFzaCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICBhbmltYXRpb24tbmFtZTogZmxhc2g7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Ugew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcHVsc2Ugew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCn0NCg0KLnB1bHNlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7DQogIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMS4yNSkgc2NhbGVZKDAuNzUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMjUpIHNjYWxlWSgwLjc1KTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjc1KSBzY2FsZVkoMS4yNSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZVgoMC43NSkgc2NhbGVZKDEuMjUpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEuMTUpIHNjYWxlWSgwLjg1KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjE1KSBzY2FsZVkoMC44NSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJ1YmJlckJhbmQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMS4yNSkgc2NhbGVZKDAuNzUpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgxLjI1KSBzY2FsZVkoMC43NSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZVgoMS4yNSkgc2NhbGVZKDAuNzUpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDAuNzUpIHNjYWxlWSgxLjI1KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoMC43NSkgc2NhbGVZKDEuMjUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuNzUpIHNjYWxlWSgxLjI1KTsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxLjE1KSBzY2FsZVkoMC44NSk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKDEuMTUpIHNjYWxlWSgwLjg1KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjE1KSBzY2FsZVkoMC44NSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KfQ0KDQoucnViYmVyQmFuZCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7DQogIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Ugew0KICAwJSwgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOw0KICB9DQoNCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzaGFrZSB7DQogIDAlLCAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KDQogIDIwJSwgNDAlLCA2MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCn0NCg0KLnNoYWtlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7DQogIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc3dpbmcgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogIH0NCn0NCg0KLnN3aW5nIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOw0KICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7DQogIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsNCiAgfQ0KDQogIDMwJSwgNTAlLCA3MCUsIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7DQogIH0NCg0KICA0MCUsIDYwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7DQogIH0NCg0KICAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOw0KICB9DQoNCiAgNDAlLCA2MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsNCiAgfQ0KfQ0KDQoudGFkYSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogIGFuaW1hdGlvbi1uYW1lOiB0YWRhOw0KfQ0KDQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsNCiAgfQ0KDQogIDE1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOw0KICB9DQoNCiAgNDUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB3b2JibGUgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7DQogIH0NCg0KICAxNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsNCiAgfQ0KDQogIDQ1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOw0KICB9DQp9DQoNCi53b2JibGUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7DQogIH0NCg0KICA3MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW4gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguOSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCi5ib3VuY2VJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5ib3VuY2VJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5ib3VuY2VJbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5ib3VuY2VJblJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5ib3VuY2VJblVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAyNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAyNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC45NSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KfQ0KDQouYm91bmNlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQoNCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYm91bmNlT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYm91bmNlT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCi5ib3VuY2VPdXRSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KLmJvdW5jZU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQouZmFkZUluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5mYWRlSW5Eb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5mYWRlSW5Eb3duQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkxlZnRCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluUmlnaHRCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5mYWRlSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5mYWRlSW5VcEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouZmFkZU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0RG93bkJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQouZmFkZU91dExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0TGVmdEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KfQ0KDQouZmFkZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0UmlnaHRCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0VXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouZmFkZU91dFVwQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcCB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwSW5YIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOw0KICB9DQoNCiAgNzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmZsaXBJblggew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOw0KICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogIH0NCg0KICA3MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcEluWSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5mbGlwSW5ZIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcE91dFggew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmZsaXBPdXRYIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwT3V0WSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouZmxpcE91dFkgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5saWdodFNwZWVkSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoubGlnaHRTcGVlZE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluRG93bkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW5Eb3duUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluVXBMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluVXBSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0RG93bkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0RG93blJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLnNsaWRlSW5MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5zbGlkZUluUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5zbGlkZU91dExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCi5zbGlkZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0VXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJblVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgMjAlLCA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaGluZ2Ugew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDIwJSwgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDgwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICBhbmltYXRpb24tbmFtZTogaGluZ2U7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICB9DQp9DQoNCi5yb2xsSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm9sbE91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTsNCiAgfQ0KfQ0KDQoucm9sbE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi56b29tSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKDYwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKDYwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCn0NCg0KLnpvb21JbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQ4cHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0OHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDhweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0OHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDhweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KfQ0KDQouem9vbUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCgtNDhweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQ4cHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCn0NCg0KLnpvb21JblJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQp9DQoNCi56b29tSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi56b29tT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXREb3duIHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogIH0NCn0NCg0KLnpvb21PdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQycHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0MnB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0MnB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQycHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0MnB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQycHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCgtNDJweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00MnB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00MnB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQycHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogIH0NCn0NCg0KLnpvb21PdXRSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRVcCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguNDc1KSB0cmFuc2xhdGVZKDYwcHgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsNCiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOw0KICB9DQp9DQoNCi56b29tT3V0VXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7DQp9"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/app.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.972Z","timestamp":1785154927972,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/app.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:48 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=T5d3ui9uzDJRTWmR3ZU8x5%2F66ozvOONesrzKxdtjGFbc3xe8rbHoMFzJe%2B1nKcrrlz1X9BNQZS1k5oLGNMNCjiAOxddyTsBfFI30SO7peB0oa6yy06wgJoFQ0zfdX1GKx60F1H3qQ%2FU%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd74b28a-OSL\r\ncontent-length: 1720\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":1720,"size_decoded":2484,"mime_type":"image/png","magic":"PNG image data, 76 x 78, 8-bit/color RGBA, non-interlaced","md5":"0f9ef9b42fbfe711224d1f63027141fc","sha1":"564c9823c712acb2a7f54907d228cb88e4e88ff9","sha256":"8efde48443e725dd77166f82d8733d441b1c11c54002da1a0148e8096b12b8cc","sha512":"19281d6db879a9545ffce32f052ef73ca056d5425984406155cfc8adf02b07b1e05739612c88b271310b5311af9da4a4ae33f234af25eb75efcbd3524cc39001","ssdeep":"","tlshash":"0e31da88e5627901c59c6b8d54f1402f6e25dc00d980b4a6facfd90f9d7087d54be5d3","first_seen":"2025-05-13T12:23:37.65746Z","last_seen":"2026-07-27T12:23:18.799285Z","times_seen":8,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEwAAABOCAYAAACKX/AgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCNUZDN0Y1Mzk3MDExRThBQ0JGRjIzRjBDNzYyOTI2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCNUZDN0Y2Mzk3MDExRThBQ0JGRjIzRjBDNzYyOTI2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUI1RkM3RjMzOTcwMTFFOEFDQkZGMjNGMEM3NjI5MjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUI1RkM3RjQzOTcwMTFFOEFDQkZGMjNGMEM3NjI5MjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4XSEoVAAADLklEQVR42uxcgXXaMBCV+xiADepskGxgJiidoGaCwgSBCUgngE5AMgHuBPEGuBPgDejdyymoPJoaIVuy+PfePSs2Vk7fp38n2VJyOBwUpLl8AgQADICFJANXFSVJ8l4mXkzpMCb94qldL6TPZFNl2OSmnc4qEsCovpwOS9KhZ2eoSWdk1zpYwKiujIpbOcWG/vQE1jfSXMojsq1wlg1wRS5U6tod3mTqm2vYBrFl57Sdripi3jINDEGMB5i6aufAoX2pHAuLhvG9q//8bGKSeEMppGty/ZWLRg5aeLC/Le7hAJE1+E0XtnQOmE3AKPmAxBWZPqSNLvlIJP4ID4O0BtgiCUTYFngYuiQAA2CexoE8/tuQ3gOw5mPTsSgAs/C4FetNA8bdTaZfmnhRro6TgjfrYXoG4l4AHLKC9JvLhnQHwOy8DoAhD7Mj+vG1L0mE6+Y++M6Hh31Xb+8trxGOljyFNEWXDJznwGGhASZjwn3D5NT2f2x53BmLh6XShdocRGddjTnRJQEYAAtKBj2ytTLSifofx/4DJt9mjahYyqmJbviF174a1a7lvL42isrDuPFGubK8Vhpl9qiz18BhIP33mdYhAGsGFE8QvpLuQ/i0M/QouZHMv5TMf0mgFcxB8vV1emF9zGVr4bQoAUuFpB8IIJ7imRqpgu0bIb5/HitgHAV5MP5qeFNtpBRWHhZzl+RcamsMxBc6JdALEMBhf+dVzFV30hULM89ClDwfJXkKhqMkTy9vQ3iTHXqX1GuQuPsxeDmB9kM8zwwAl8hT7FGypgZOCKD6JEravhjhep5iBYw5K5PkNTUiJ8uDjYd1zYNdAzYTT8rUcXle1fUAum9Rcib8VdLfzyD9j6Nkbmb0MiwaAbCPo6QSkh4Ln2UyWbiyzPRnFqvcegOYJvWFgGMClFvW+Sv6KEm6NzxEe8edjYd1HSx8jCWX4k3lSZSslKNFoDFFyVpmJSaqp4I5fQAGwKLnMCwwhbQLGBaYQgBYPIDJ9/da5rcQJT9feX+pjl/mlJ5tOftEsbuTj+2wTgyMdv8w7FB3aTuxB6JnwMS4VGGXTQgSVwDWvvwRYAB1LGq6AXqhlAAAAABJRU5ErkJggg=="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/flags/.html","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.981Z","timestamp":1785154927981,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/flags/.html HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html\r\nlast-modified: Thu, 29 May 2025 09:33:48 GMT\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=rHMGAt7xIAMOeiHBvy0b5VSwd73aUj%2Bbx%2FXd%2FeZOIVzUVVnw7nhVmucHOI40indnNDtjlzRPt%2B%2BHOTpSI1wVIk6shbwqzspuMXx7uplYLwOaoeHDfV2OsgdPRnQaUwy9%2FcLLpwfKvSE%3D\"}]}\r\nvary: Accept-Encoding\r\npriority: u=5,i\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: zstd\r\ncf-ray: a21b9b9bed7ab28a-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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1251,"size_decoded":1438,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"8150f458ed6fb9b1db4e5cfa57a1a281","sha1":"6e5726854d28687b560d7fdcb5c782c425c7dfb9","sha256":"4c13d452dd5d49671bd93ca32f2b4f85c78e39b6ab0ad1f38d98ed267f8fd896","sha512":"4cc6a112673aef8bb8bb8a385c26791b805d43bb707b509880e894f1c83bab4e16f13de187036c5f660c3bec1d286258396b7bde65c5d7945c5019665196818c","ssdeep":"","tlshash":"c021353ec1c1560ae0271164fbc1f7a86669825291970f703b9eb176f6cd0bb56a36c8","first_seen":"2024-02-08T16:48:55Z","last_seen":"2026-08-11T11:42:35.271147Z","times_seen":148877,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiNmMGYwZjA7IGZvbnQtc2l6ZToxMnB4O21hcmdpbjphdXRvO3BhZGRpbmc6MHB4IDMwcHggMHB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7Y2xlYXI6Ym90aDtoZWlnaHQ6MTAwcHg7bWFyZ2luLXRvcDotMTAxcHg7YmFja2dyb3VuZC1jb2xvcjojNDc0NzQ3O2JvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTUpO2JveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIGluc2V0OyI+Cjxicj5Qcm91ZGx5IHBvd2VyZWQgYnkgTGl0ZVNwZWVkIFdlYiBTZXJ2ZXI8cD5QbGVhc2UgYmUgYWR2aXNlZCB0aGF0IExpdGVTcGVlZCBUZWNobm9sb2dpZXMgSW5jLiBpcyBub3QgYSB3ZWIgaG9zdGluZyBjb21wYW55IGFuZCwgYXMgc3VjaCwgaGFzIG5vIGNvbnRyb2wgb3ZlciBjb250ZW50IGZvdW5kIG9uIHRoaXMgc2l0ZS48L3A+PC9kaXY+PC9ib2R5PjwvaHRtbD4K"}},"time_used":139,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":139,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white1.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.990Z","timestamp":1785154927990,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white1.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nrS5%2FZ%2BrJ9CmoNTwgXgHSzz6BtocgfzCnD4h4slRBRLQkcmrUT7XwK%2B89U2Mjg%2BPi3qSDxapZtnXcSocP55CxDk1k3BYQ7expoCas%2FQuspMvAlqP5KbkfpyGbBJTRadOJpZGJIFPKaQ%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd84b28a-OSL\r\ncontent-length: 3100\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":3100,"size_decoded":3868,"mime_type":"image/png","magic":"PNG image data, 158 x 47, 8-bit/color RGBA, non-interlaced","md5":"16b18bf03a1f24550d0e63562c6a910c","sha1":"1d0c79dab478b9ccb9aa58b891e9dffddf79572e","sha256":"ffeeb213330b24bce74cc2285ea76f1a207f03a198558e5965736e473ff93548","sha512":"31ba99be1a727a9b2cd4981a47595e3083a5254b2e65083cd50167523cea2600749eac95a9a60d2d34050950c45716e5071a5e0c0fa99d85dccb0c1e841376a9","ssdeep":"","tlshash":"7a514ed9c7d9f88062944a5004cba8ab54d95c4016c0f297f9cfcce64a72fb1dbe10d7","first_seen":"2026-07-27T05:58:00.875689Z","last_seen":"2026-07-27T12:23:18.792784Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAvCAYAAAASE3OrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM4NkQ0NDdENzQ4MjExRTg5MTg0QzFERUY0RTA0OEEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM4NkQ0NDdFNzQ4MjExRTg5MTg0QzFERUY0RTA0OEEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mzg2RDQ0N0I3NDgyMTFFODkxODRDMURFRjRFMDQ4QTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mzg2RDQ0N0M3NDgyMTFFODkxODRDMURFRjRFMDQ4QTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7Xp1FMAAAIkklEQVR42uxdLZDbOBR+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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700\u0026lang=en","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.115Z","timestamp":1785154929115,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Roboto:300,400,500,700|Google+Sans:400,500,700|Google+Sans+Text:400,500,700\u0026lang=en HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 12:22:09 GMT\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":83253,"size_decoded":4419,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"f8a4a6f700f464273cd9f60f5f9f74d0","sha1":"7a8a5123ce86e5e9a5d420b2b956634ab5632003","sha256":"5794322385e4c2f5b58cbd9fa57f529fa100a1ebb787625160a4f3f5355d4885","sha512":"8c94dc108236ff0373fb804966ffa9555f50759e258ca2433b6b4665aed93ed49af136e78a8351281a90510947b166a4f9e65a981c6fe6b7217450a233a65c0a","ssdeep":"768:JmKT2dwBrqXPPEFsbbYSRv4wFMl22YfRiJhan6BBYERNeWwhQHHYORjUM8:JJSGYfYIHTj","tlshash":"c68331621017a0157b936cd623ce7d25ee0e51187100d57a9bfe4a8becdbc6a03e17be","first_seen":"2026-07-23T00:53:02.560879Z","last_seen":"2026-08-11T11:19:57.044622Z","times_seen":1414,"resource_available":false,"data":"LyogYXJtZW5pYW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlJVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwOCwgVSswNTMwLTA1OEYsIFUrMjAxMCwgVSsyMDI0LCBVKzI1Q0MsIFUrRkIxMy1GQjE3Owp9Ci8qIGJlbmdhbGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlBVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswOTgwLTA5RkUsIFUrMUNEMCwgVSsxQ0QyLCBVKzFDRDUtMUNENiwgVSsxQ0Q4LCBVKzFDRTEsIFUrMUNFQSwgVSsxQ0VELCBVKzFDRjIsIFUrMUNGNS0xQ0Y3LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQThGMTsKfQovKiBjYW5hZGlhbi1hYm9yaWdpbmFsICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBoMFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAyQzcsIFUrMDJEOC0wMkQ5LCBVKzAyREIsIFUrMDMwNywgVSsxNDAwLTE2N0YsIFUrMThCMC0xOEY1LCBVKzI1Q0MsIFUrMTFBQjAtMTFBQkY7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqOFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQallVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQak1VdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogZXRoaW9waWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlNVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwRSwgVSsxMjAwLTEzOTksIFUrMkQ4MC0yRERFLCBVK0FCMDEtQUIyRSwgVSsxRTdFMC0xRTdFNiwgVSsxRTdFOC0xRTdFQiwgVSsxRTdFRC0xRTdFRSwgVSsxRTdGMC0xRTdGRTsKfQovKiBnZW9yZ2lhbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaTBVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNTg5LCBVKzEwQTAtMTBGRiwgVSsxQzkwLTFDQkEsIFUrMUNCRC0xQ0JGLCBVKzIwNUEsIFUrMkQwMC0yRDJGLCBVKzJFMzE7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqNFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQakVVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogZ3VqYXJhdGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlrVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTgwLTBBRkYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBODMwLUE4Mzk7Cn0KLyogZ3VybXVraGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGhFVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTAxLTBBNzYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVSsyNjJDLCBVK0E4MzAtQTgzOTsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpBVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBraG1lciAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQamtVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxNzgwLTE3RkYsIFUrMTlFMC0xOUZGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIGxhbyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQanNVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswRTgxLTBFREYsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogbWFsYXlhbGFtICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpb1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDcsIFUrMDMyMywgVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBEMDAtMEQ3RiwgVSsxQ0RBLCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBODMwLUE4MzI7Cn0KLyogb3JpeWEgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlzVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQjAxLTBCNzcsIFUrMUNEQSwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0M7Cn0KLyogc2luaGFsYSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaThVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTY0LTA5NjUsIFUrMEQ4MS0wREY0LCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzI1Q0MsIFUrMTExRTEtMTExRjQ7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQbHdVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHRhbWlsICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpUVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NjQtMDk2NSwgVSswQjgyLTBCRkEsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQzsKfQovKiB0ZWx1Z3UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGk0VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQzAwLTBDN0YsIFUrMUNEQSwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIHRoYWkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlZVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDJENywgVSswMzAzLCBVKzAzMzEsIFUrMEUwMS0wRTVCLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGowVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQandVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpJVXZiUXVpLUEzdHcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBhcm1lbmlhbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaUlVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA4LCBVKzA1MzAtMDU4RiwgVSsyMDEwLCBVKzIwMjQsIFUrMjVDQywgVStGQjEzLUZCMTc7Cn0KLyogYmVuZ2FsaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaUFVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzA5ODAtMDlGRSwgVSsxQ0QwLCBVKzFDRDIsIFUrMUNENS0xQ0Q2LCBVKzFDRDgsIFUrMUNFMSwgVSsxQ0VBLCBVKzFDRUQsIFUrMUNGMiwgVSsxQ0Y1LTFDRjcsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBOEYxOwp9Ci8qIGNhbmFkaWFuLWFib3JpZ2luYWwgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGgwVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDJDNywgVSswMkQ4LTAyRDksIFUrMDJEQiwgVSswMzA3LCBVKzE0MDAtMTY3RiwgVSsxOEIwLTE4RjUsIFUrMjVDQywgVSsxMUFCMC0xMUFCRjsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGo4VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqWVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqTVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBldGhpb3BpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaU1VdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzBFLCBVKzEyMDAtMTM5OSwgVSsyRDgwLTJEREUsIFUrQUIwMS1BQjJFLCBVKzFFN0UwLTFFN0U2LCBVKzFFN0U4LTFFN0VCLCBVKzFFN0VELTFFN0VFLCBVKzFFN0YwLTFFN0ZFOwp9Ci8qIGdlb3JnaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpMFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA1ODksIFUrMTBBMC0xMEZGLCBVKzFDOTAtMUNCQSwgVSsxQ0JELTFDQkYsIFUrMjA1QSwgVSsyRDAwLTJEMkYsIFUrMkUzMTsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGo0VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqRVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBndWphcmF0aSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaWtVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBBODAtMEFGRiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4MzAtQTgzOTsKfQovKiBndXJtdWtoaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaEVVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBBMDEtMEE3NiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVKzI2MkMsIFUrQTgzMC1BODM5Owp9Ci8qIGhlYnJldyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQakFVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIGtobWVyICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqa1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzE3ODAtMTdGRiwgVSsxOUUwLTE5RkYsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogbGFvICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqc1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzBFODEtMEVERiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiBtYWxheWFsYW0gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlvVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNywgVSswMzIzLCBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEQwMC0wRDdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4MzAtQTgzMjsKfQovKiBvcml5YSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaXNVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBCMDEtMEI3NywgVSsxQ0RBLCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQzsKfQovKiBzaW5oYWxhICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpOFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NjQtMDk2NSwgVSswRDgxLTBERjQsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjVDQywgVSsxMTFFMS0xMTFGNDsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBsd1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdGFtaWwgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGlRVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk2NC0wOTY1LCBVKzBCODItMEJGQSwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDOwp9Ci8qIHRlbHVndSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaTRVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBDMDAtMEM3RiwgVSsxQ0RBLCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdGhhaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaVlVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkQ3LCBVKzAzMDMsIFUrMDMzMSwgVSswRTAxLTBFNUIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQajBVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqd1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaklVdmJRdWktQTN0dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGFybWVuaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpSVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDgsIFUrMDUzMC0wNThGLCBVKzIwMTAsIFUrMjAyNCwgVSsyNUNDLCBVK0ZCMTMtRkIxNzsKfQovKiBiZW5nYWxpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpQVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMDk4MC0wOUZFLCBVKzFDRDAsIFUrMUNEMiwgVSsxQ0Q1LTFDRDYsIFUrMUNEOCwgVSsxQ0UxLCBVKzFDRUEsIFUrMUNFRCwgVSsxQ0YyLCBVKzFDRjUtMUNGNywgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4RjE7Cn0KLyogY2FuYWRpYW4tYWJvcmlnaW5hbCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaDBVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkM3LCBVKzAyRDgtMDJEOSwgVSswMkRCLCBVKzAzMDcsIFUrMTQwMC0xNjdGLCBVKzE4QjAtMThGNSwgVSsyNUNDLCBVKzExQUIwLTExQUJGOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQajhVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpZVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpNVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGV0aGlvcGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpTVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMEUsIFUrMTIwMC0xMzk5LCBVKzJEODAtMkRERSwgVStBQjAxLUFCMkUsIFUrMUU3RTAtMUU3RTYsIFUrMUU3RTgtMUU3RUIsIFUrMUU3RUQtMUU3RUUsIFUrMUU3RjAtMUU3RkU7Cn0KLyogZ2VvcmdpYW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGkwVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDU4OSwgVSsxMEEwLTEwRkYsIFUrMUM5MC0xQ0JBLCBVKzFDQkQtMUNCRiwgVSsyMDVBLCBVKzJEMDAtMkQyRiwgVSsyRTMxOwp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQajRVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpFVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGd1amFyYXRpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpa1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEE4MC0wQUZGLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQTgzMC1BODM5Owp9Ci8qIGd1cm11a2hpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBoRVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEEwMS0wQTc2LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrMjYyQywgVStBODMwLUE4Mzk7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqQVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDctMDMwOCwgVSswNTkwLTA1RkYsIFUrMjAwQy0yMDEwLCBVKzIwQUEsIFUrMjVDQywgVStGQjFELUZCNEY7Cn0KLyoga2htZXIgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGprVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMTc4MC0xN0ZGLCBVKzE5RTAtMTlGRiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiBsYW8gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGpzVXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMEU4MS0wRURGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIG1hbGF5YWxhbSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaW9VdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LCBVKzAzMjMsIFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswRDAwLTBEN0YsIFUrMUNEQSwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQTgzMC1BODMyOwp9Ci8qIG9yaXlhICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpc1V2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEIwMS0wQjc3LCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDOwp9Ci8qIHNpbmhhbGEgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGk4VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk2NC0wOTY1LCBVKzBEODEtMERGNCwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyNUNDLCBVKzExMUUxLTExMUY0Owp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGx3VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB0YW1pbCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fucy92NzAvNFVhc3JFTkhzeEpsR0R1R28xT0lsSmZDNmxfMjRybENLMVlvX0lxY3NpaDNTQXlINmNBd2hYOVJQaVFVdmJRdWktQTN0NFROLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTY0LTA5NjUsIFUrMEI4Mi0wQkZBLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0M7Cn0KLyogdGVsdWd1ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpNFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEMwMC0wQzdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiB0aGFpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBpWVV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAyRDcsIFUrMDMwMywgVSswMzMxLCBVKzBFMDEtMEU1QiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqMFV2YlF1aS1BM3Q0VE4ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnMvdjcwLzRVYXNyRU5Ic3hKbEdEdUdvMU9JbEpmQzZsXzI0cmxDSzFZb19JcWNzaWgzU0F5SDZjQXdoWDlSUGp3VXZiUXVpLUEzdDRUTi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zL3Y3MC80VWFzckVOSHN4SmxHRHVHbzFPSWxKZkM2bF8yNHJsQ0sxWW9fSXFjc2loM1NBeUg2Y0F3aFg5UlBqSVV2YlF1aS1BM3R3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogYXJtZW5pYW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRnAyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwOCwgVSswNTMwLTA1OEYsIFUrMjAxMCwgVSsyMDI0LCBVKzI1Q0MsIFUrRkIxMy1GQjE3Owp9Ci8qIGJlbmdhbGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRmgyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswOTgwLTA5RkUsIFUrMUNEMCwgVSsxQ0QyLCBVKzFDRDUtMUNENiwgVSsxQ0Q4LCBVKzFDRTEsIFUrMUNFQSwgVSsxQ0VELCBVKzFDRjIsIFUrMUNGNS0xQ0Y3LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQThGMTsKfQovKiBjYW5hZGlhbi1hYm9yaWdpbmFsICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUdWMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAyQzcsIFUrMDJEOC0wMkQ5LCBVKzAyREIsIFUrMDMwNywgVSsxNDAwLTE2N0YsIFUrMThCMC0xOEY1LCBVKzI1Q0MsIFUrMTFBQjAtMTFBQkY7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUVkMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFFNTJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFFdDJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogZXRoaW9waWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRnQyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwRSwgVSsxMjAwLTEzOTksIFUrMkQ4MC0yRERFLCBVK0FCMDEtQUIyRSwgVSsxRTdFMC0xRTdFNiwgVSsxRTdFOC0xRTdFQiwgVSsxRTdFRC0xRTdFRSwgVSsxRTdGMC0xRTdGRTsKfQovKiBnZW9yZ2lhbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFGVjJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNTg5LCBVKzEwQTAtMTBGRiwgVSsxQzkwLTFDQkEsIFUrMUNCRC0xQ0JGLCBVKzIwNUEsIFUrMkQwMC0yRDJGLCBVKzJFMzE7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUVaMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFFbDJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogZ3VqYXJhdGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRkYyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTgwLTBBRkYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBODMwLUE4Mzk7Cn0KLyogZ3VybXVraGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxR2wyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTAxLTBBNzYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVSsyNjJDLCBVK0E4MzAtQTgzOTsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRWgyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBrYW5uYWRhICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUZCMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEM4MC0wQ0YzLCBVKzFDRDAsIFUrMUNEMi0xQ0QzLCBVKzFDREEsIFUrMUNGMiwgVSsxQ0Y0LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQTgzMC1BODM1Owp9Ci8qIGtobWVyICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUVGMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzE3ODAtMTdGRiwgVSsxOUUwLTE5RkYsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogbGFvICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUVOMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzBFODEtMEVERiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiBtYWxheWFsYW0gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRkoyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNywgVSswMzIzLCBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEQwMC0wRDdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4MzAtQTgzMjsKfQovKiBvcml5YSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFGTjJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBCMDEtMEI3NywgVSsxQ0RBLCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQzsKfQovKiBzaW5oYWxhICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUZkMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NjQtMDk2NSwgVSswRDgxLTBERjQsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjVDQywgVSsxMTFFMS0xMTFGNDsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUNSMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdGFtaWwgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXU5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVxRngyaTFkQy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk2NC0wOTY1LCBVKzBCODItMEJGQSwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDOwp9Ci8qIHRlbHVndSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFGWjJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTUxLTA5NTIsIFUrMDk2NC0wOTY1LCBVKzBDMDAtMEM3RiwgVSsxQ0RBLCBVKzFDRjIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdGhhaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFGNTJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkQ3LCBVKzAzMDMsIFUrMDMzMSwgVSswRTAxLTBFNUIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFFVjJpMWRDLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVV1OS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1cUVSMmkxZEMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVdTktS3pwUmlMQ0F0NFVucmMteElLbUNVNXFFcDJpdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGFybWVuaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5uaGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA4LCBVKzA1MzAtMDU4RiwgVSsyMDEwLCBVKzIwMjQsIFUrMjVDQywgVStGQjEzLUZCMTc7Cn0KLyogYmVuZ2FsaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubnBqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswOTgwLTA5RkUsIFUrMUNEMCwgVSsxQ0QyLCBVKzFDRDUtMUNENiwgVSsxQ0Q4LCBVKzFDRTEsIFUrMUNFQSwgVSsxQ0VELCBVKzFDRjIsIFUrMUNGNS0xQ0Y3LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQThGMTsKfQovKiBjYW5hZGlhbi1hYm9yaWdpbmFsICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5rZGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkM3LCBVKzAyRDgtMDJEOSwgVSswMkRCLCBVKzAzMDcsIFUrMTQwMC0xNjdGLCBVKzE4QjAtMThGNSwgVSsyNUNDLCBVKzExQUIwLTExQUJGOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubVZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5teGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubWxqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGV0aGlvcGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5ubGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzBFLCBVKzEyMDAtMTM5OSwgVSsyRDgwLTJEREUsIFUrQUIwMS1BQjJFLCBVKzFFN0UwLTFFN0U2LCBVKzFFN0U4LTFFN0VCLCBVKzFFN0VELTFFN0VFLCBVKzFFN0YwLTFFN0ZFOwp9Ci8qIGdlb3JnaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5uZGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNTg5LCBVKzEwQTAtMTBGRiwgVSsxQzkwLTFDQkEsIFUrMUNCRC0xQ0JGLCBVKzIwNUEsIFUrMkQwMC0yRDJGLCBVKzJFMzE7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5tUmp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbm10anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBndWphcmF0aSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubk5qdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTgwLTBBRkYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBODMwLUE4Mzk7Cn0KLyogZ3VybXVraGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbmt0anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEEwMS0wQTc2LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrMjYyQywgVStBODMwLUE4Mzk7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5tcGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIGthbm5hZGEgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbm5KanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEM4MC0wQ0YzLCBVKzFDRDAsIFUrMUNEMi0xQ0QzLCBVKzFDREEsIFUrMUNGMiwgVSsxQ0Y0LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQTgzMC1BODM1Owp9Ci8qIGtobWVyICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5tTmp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxNzgwLTE3RkYsIFUrMTlFMC0xOUZGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIGxhbyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubUZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMEU4MS0wRURGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIG1hbGF5YWxhbSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubkJqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNywgVSswMzIzLCBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEQwMC0wRDdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4MzAtQTgzMjsKfQovKiBvcml5YSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubkZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQjAxLTBCNzcsIFUrMUNEQSwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0M7Cn0KLyogc2luaGFsYSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZublZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk2NC0wOTY1LCBVKzBEODEtMERGNCwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyNUNDLCBVKzExMUUxLTExMUY0Owp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbmdaanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdGFtaWwgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbm41anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NjQtMDk2NSwgVSswQjgyLTBCRkEsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQzsKfQovKiB0ZWx1Z3UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvTGxWbm5SanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEMwMC0wQzdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiB0aGFpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5ueGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkQ3LCBVKzAzMDMsIFUrMDMzMSwgVSswRTAxLTBFNUIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubWRqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9MbFZubVpqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b0xsVm5taGp0Zy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGFybWVuaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5uaGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA4LCBVKzA1MzAtMDU4RiwgVSsyMDEwLCBVKzIwMjQsIFUrMjVDQywgVStGQjEzLUZCMTc7Cn0KLyogYmVuZ2FsaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubnBqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswOTgwLTA5RkUsIFUrMUNEMCwgVSsxQ0QyLCBVKzFDRDUtMUNENiwgVSsxQ0Q4LCBVKzFDRTEsIFUrMUNFQSwgVSsxQ0VELCBVKzFDRjIsIFUrMUNGNS0xQ0Y3LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQThGMTsKfQovKiBjYW5hZGlhbi1hYm9yaWdpbmFsICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5rZGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkM3LCBVKzAyRDgtMDJEOSwgVSswMkRCLCBVKzAzMDcsIFUrMTQwMC0xNjdGLCBVKzE4QjAtMThGNSwgVSsyNUNDLCBVKzExQUIwLTExQUJGOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubVZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5teGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubWxqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGV0aGlvcGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5ubGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzBFLCBVKzEyMDAtMTM5OSwgVSsyRDgwLTJEREUsIFUrQUIwMS1BQjJFLCBVKzFFN0UwLTFFN0U2LCBVKzFFN0U4LTFFN0VCLCBVKzFFN0VELTFFN0VFLCBVKzFFN0YwLTFFN0ZFOwp9Ci8qIGdlb3JnaWFuICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5uZGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNTg5LCBVKzEwQTAtMTBGRiwgVSsxQzkwLTFDQkEsIFUrMUNCRC0xQ0JGLCBVKzIwNUEsIFUrMkQwMC0yRDJGLCBVKzJFMzE7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5tUmp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbm10anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBndWphcmF0aSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubk5qdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQTgwLTBBRkYsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQywgVStBODMwLUE4Mzk7Cn0KLyogZ3VybXVraGkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbmt0anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEEwMS0wQTc2LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrMjYyQywgVStBODMwLUE4Mzk7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5tcGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIGthbm5hZGEgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbm5KanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEM4MC0wQ0YzLCBVKzFDRDAsIFUrMUNEMi0xQ0QzLCBVKzFDREEsIFUrMUNGMiwgVSsxQ0Y0LCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0MsIFUrQTgzMC1BODM1Owp9Ci8qIGtobWVyICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5tTmp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxNzgwLTE3RkYsIFUrMTlFMC0xOUZGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIGxhbyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubUZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMEU4MS0wRURGLCBVKzIwMEMtMjAwRCwgVSsyNUNDOwp9Ci8qIG1hbGF5YWxhbSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubkJqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNywgVSswMzIzLCBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEQwMC0wRDdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjBCOSwgVSsyNUNDLCBVK0E4MzAtQTgzMjsKfQovKiBvcml5YSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubkZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk1MS0wOTUyLCBVKzA5NjQtMDk2NSwgVSswQjAxLTBCNzcsIFUrMUNEQSwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyMEI5LCBVKzI1Q0M7Cn0KLyogc2luaGFsYSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRublZqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDk2NC0wOTY1LCBVKzBEODEtMERGNCwgVSsxQ0YyLCBVKzIwMEMtMjAwRCwgVSsyNUNDLCBVKzExMUUxLTExMUY0Owp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbmdaanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdGFtaWwgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbm41anRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NjQtMDk2NSwgVSswQjgyLTBCRkEsIFUrMjAwQy0yMDBELCBVKzIwQjksIFUrMjVDQzsKfQovKiB0ZWx1Z3UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdHb29nbGUgU2FucyBUZXh0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZ29vZ2xlc2Fuc3RleHQvdjI1LzVhVXA5LUt6cFJpTENBdDRVbnJjLXhJS21DVTVvUEZUbm5SanRpdTcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5NTEtMDk1MiwgVSswOTY0LTA5NjUsIFUrMEMwMC0wQzdGLCBVKzFDREEsIFUrMUNGMiwgVSsyMDBDLTIwMEQsIFUrMjVDQzsKfQovKiB0aGFpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5ueGp0aXU3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMkQ3LCBVKzAzMDMsIFUrMDMzMSwgVSswRTAxLTBFNUIsIFUrMjAwQy0yMDBELCBVKzI1Q0M7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubWRqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0dvb2dsZSBTYW5zIFRleHQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9nb29nbGVzYW5zdGV4dC92MjUvNWFVcDktS3pwUmlMQ0F0NFVucmMteElLbUNVNW9QRlRubVpqdGl1Ny53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnR29vZ2xlIFNhbnMgVGV4dCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2dvb2dsZXNhbnN0ZXh0L3YyNS81YVVwOS1LenBSaUxDQXQ0VW5yYy14SUttQ1U1b1BGVG5taGp0Zy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":36,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":35,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"places.googleapis.com/$rpc/google.maps.places.v1.Places/GetPlace","fqdn":"places.googleapis.com","domain":"places.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.119.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.789Z","timestamp":1785154929789,"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":"OPTIONS /$rpc/google.maps.places.v1.Places/GetPlace HTTP/1.1\r\nHost: places.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: authorization,content-type,x-goog-api-key,x-goog-fieldmask,x-goog-gmp-client-signals,x-goog-maps-api-salt,x-goog-maps-session-id,x-user-agent\r\nReferer: https://www.google.com/\r\nOrigin: https://www.google.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/2 200 \r\naccess-control-allow-origin: https://www.google.com\r\ntiming-allow-origin: https://www.google.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: authorization,content-type,x-goog-api-key,x-goog-fieldmask,x-goog-gmp-client-signals,x-goog-maps-api-salt,x-goog-maps-session-id,x-user-agent\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncontent-type: text/html\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=7\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":0,"size_decoded":767,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":52,"timings":{"blocked":0,"dns":1,"connect":8,"send":0,"wait":17,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.theme.min.css","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.916Z","timestamp":1785154927916,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/owl-carousel/1.3.3/owl.theme.min.css HTTP/1.1\r\nHost: cdnjs.cloudflare.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://primeelitecapital.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 277\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 04 May 2020 16:13:51 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=pTm9VY0ITXQzsYI4f51wiOeZ25eE7ITeoDm7zeawzVFvWSGLYQQp9H%2Bd66h838kTUWtrNHHf6VKm47JYCagOTjRmnul3KKl6eORS7v4pJqy1MpWOdjjScaQX6I1HgPF8t70ex%2FKH\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nserver: cloudflare\r\ncf-ray: a21b9b9b8e3a2efa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1152,"size_decoded":1264,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1152), with no line terminators","md5":"95fcaf9d3ddc8ec1473dc2e258e07af1","sha1":"51686c49609bba8b7c1285ca13a16137068bb76f","sha256":"d83a1a4511df1d69daea6a5f1889b1031fdcbb4bc51a9a8491c7ff6177feca4e","sha512":"7f6f1cbdd03806addd0bd5fdc0d992c76d6b8d623ee698885bfba87362ee43aedab0ac5f423528c3632470235c7c989a2eb1dc19b79dd70cd87b7765638c3d80","ssdeep":"","tlshash":"a02168e4d65c435c2076c3447a08cecb618d72b7a21815fae4cebe34d38ad01392f389","first_seen":"2023-04-05T15:21:14Z","last_seen":"2026-08-10T19:13:16.412538Z","times_seen":820,"resource_available":false,"data":"Lm93bC10aGVtZSAub3dsLWNvbnRyb2xze21hcmdpbi10b3A6MTBweDt0ZXh0LWFsaWduOmNlbnRlcn0ub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1idXR0b25zIGRpdntjb2xvcjojRkZGO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3pvb206MTsqZGlzcGxheTppbmxpbmU7bWFyZ2luOjVweDtwYWRkaW5nOjNweCAxMHB4O2ZvbnQtc2l6ZToxMnB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czozMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozMHB4O2JvcmRlci1yYWRpdXM6MzBweDtiYWNrZ3JvdW5kOiM4Njk3OTE7ZmlsdGVyOkFscGhhKE9wYWNpdHk9NTApO29wYWNpdHk6LjV9Lm93bC10aGVtZSAub3dsLWNvbnRyb2xzLmNsaWNrYWJsZSAub3dsLWJ1dHRvbnMgZGl2OmhvdmVye2ZpbHRlcjpBbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lfS5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLXBhZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7em9vbToxOypkaXNwbGF5OmlubGluZX0ub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbjo1cHggN3B4O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTUwKTtvcGFjaXR5Oi41Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoyMHB4Oy1tb3otYm9yZGVyLXJhZGl1czoyMHB4O2JvcmRlci1yYWRpdXM6MjBweDtiYWNrZ3JvdW5kOiM4Njk3OTF9Lm93bC10aGVtZSAub3dsLWNvbnRyb2xzIC5vd2wtcGFnZS5hY3RpdmUgc3Bhbiwub3dsLXRoZW1lIC5vd2wtY29udHJvbHMuY2xpY2thYmxlIC5vd2wtcGFnZTpob3ZlciBzcGFue2ZpbHRlcjpBbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eToxfS5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLXBhZ2Ugc3Bhbi5vd2wtbnVtYmVyc3toZWlnaHQ6YXV0bzt3aWR0aDphdXRvO2NvbG9yOiNGRkY7cGFkZGluZzoycHggMTBweDtmb250LXNpemU6MTJweDstd2Via2l0LWJvcmRlci1yYWRpdXM6MzBweDstbW96LWJvcmRlci1yYWRpdXM6MzBweDtib3JkZXItcmFkaXVzOjMwcHh9Lm93bC1pdGVtLmxvYWRpbmd7bWluLWhlaWdodDoxNTBweDtiYWNrZ3JvdW5kOnVybChBamF4TG9hZGVyLmdpZikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXJ9"}},"time_used":41,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/payment.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.971Z","timestamp":1785154927971,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/payment.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:14 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=BZWD%2FkFG4pYskrBhV%2FA%2FXJV%2Bsp9Bcv7XoUbiecEPd0infU3akgy3cRrBKK3Si1XHJ02E6lXuxSqkljSn6pSTZ9UCudNcWR%2Btk95pgSywVvPQYKR7Ibf7MB1WO9evQ02QXObu2y%2F0Jmo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd73b28a-OSL\r\ncontent-length: 1499\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":1499,"size_decoded":2269,"mime_type":"image/png","magic":"PNG image data, 76 x 78, 8-bit/color RGBA, non-interlaced","md5":"c73b94a26d8abd6dcd947f257204d4a7","sha1":"953720450c1a029333d36f6aa0ceef6739a37d1e","sha256":"8e17911ae220d9b1f403262fbaa1930874dd7f14d6e2183250922385956e64ff","sha512":"4bb7352e5637c4f9696e8b6ccdb7132c3123ec83e409d4962100dfa41ad6ea90059edbd87ee2b36130640b368ce58496a7d1fb18538859271a335b863dace1ef","ssdeep":"","tlshash":"8a31c789fa802a42a80ae7c03cf540a34f2ba5905bd8f826f5cece3bc4f80b5441c5c3","first_seen":"2025-05-13T12:23:37.665043Z","last_seen":"2026-07-27T12:23:18.787222Z","times_seen":9,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEwAAABOCAYAAACKX/AgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExRTZERTQ0Mzk3MDExRTg4RTgyRTBGNjZDRTE2OEE0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExRTZERTQ1Mzk3MDExRTg4RTgyRTBGNjZDRTE2OEE0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFFNkRFNDIzOTcwMTFFODhFODJFMEY2NkNFMTY4QTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFFNkRFNDMzOTcwMTFFODhFODJFMEY2NkNFMTY4QTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4MJ0PQAAACUUlEQVR42uybjW3CMBBGnYoB2ICMkBHCCJ2gbFA6QdMJUDeACRih6QRkhHSDbpCe4SjGNUkQEUX4nWRFBPNzj/P5s/ElTdMYrL89gABgAAMYwACGAQxgAAMYwDCAnWkj90GSJMFOskBP5ZLeOYta/K9P+B8GFug4k8uztCyG6BF/K7m8C7jlqT6JS28fYXJvLJe1tNySl7aSVt45L+vrk44k6+uj8Pj2I2z7YN/2sKRtmp3NY8tR4nOhvm80cI4ZBYAt9AWzWBO79V0ZLFqB2eSuHdexz4aWgbJI24DNtVMGsCbbpyWXka/DJpr8q9iBOQwmbcI1i2A2PMdKX1Kh9C9R+mo2yRWg2bFQHdoOTNorrA5LJobkwEPSLgcq0PxOgp3AKplSp7DaarEP/x5D8kwDGMCun/Sz0NiNOOlXXcDsHlAOK4YkOgwdhg4jhwEMBAC7+iz5Xwk2NbdxHOHkkYFewMSRvIeQLeVDygu/6Mzcxsblm7TikgjLezpSxjAkyWEAiyTpSw4s2nIHEUaEDS4z7MJ34d1+8Y8x6CmjpwE/etV2oG50wz9maF9uHOiXmmH37z4vjbC6h2SoGZKHZGzDc0n2uv0hWavq7orkoQVz6/slXs33h0YVG4jmaANxiqxAhwEMYPcIrDL8ietabry/HH1gX86yJPYZMnOZuE9Q2BAG1l3YoB0pnelbOqNPusVZRYSwWouzKP87TvCd5X9BYG5omogKTHVG/FNg2huY84LUUMIcXHxjKH2AAQxgAMMABjCAAQxgAMMANrD9CDAAXHm/cuVIavMAAAAASUVORK5CYII="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/InitMapsJwt","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.682Z","timestamp":1785154929682,"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":"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":"POST /$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/InitMapsJwt HTTP/1.1\r\nHost: maps.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\nContent-Type: application/json+protobuf\r\nX-Goog-Gmp-Client-Signals: CAkqCDMuNjUuMTBhWg4SDAjxmp3TBhCAiOe4Ag==\r\nX-Goog-Maps-Session-Id: 88B3FBD8-ED45-403E-88C1-9CA5E54961ED\r\nX-User-Agent: grpc-web-javascript/0.1\r\nContent-Length: 26\r\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.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":26,"data":"[\"https://www.google.com\"]"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json+protobuf; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 44\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nserver-timing: gfet4t7; dur=11\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":26,"size_decoded":621,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"32614dece60430fd015c4a3da94f8eea","sha1":"d40064faefc4ee4e111e04056dc9c5eb3ff115bc","sha256":"1792f06eaeb1e4f816bd9bad83fb0de646c556bbc96fc0cbba7af37591ebb1ff","sha512":"5bb863725d984947af9b3d6699e94a5333f5adf809749a46c4561c6cd86689c9f3bc19b1add77ea65d48c48f3d8cc342c638530022968b30c8d6608b99dc5607","ssdeep":"","tlshash":"5780000a23c20b00c0c08e20b00000a82308b80a38c2000a0a83200002e08a80208000","first_seen":"2026-07-27T11:02:16.46454Z","last_seen":"2026-07-28T10:51:10.192116Z","times_seen":29,"resource_available":false,"data":"Wzg4MDYyNDg2MyxbIjE3ODU2OTAwMDAiXV0="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/dilution.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.973Z","timestamp":1785154927973,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/dilution.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:58 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ux4TE8By8TAuxcaMm9TEjFik6Hx5Du0NU44iFt7nbtk0zLeLoZEM66HxuXG5d2sjbVgsj5sUWjgiKux%2FFOlb4oq6yWWx2RsSvaXpYWIvhfULkPAkm3d47g3p10NXfvYjgicZ4t4AN8k%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd75b28a-OSL\r\ncontent-length: 1979\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":1979,"size_decoded":2739,"mime_type":"image/png","magic":"PNG image data, 76 x 78, 8-bit/color RGBA, non-interlaced","md5":"f83e7303e6c73f2b497c34ebf5b1ad0c","sha1":"956a44b9d1559bbe3b1000f3c5d475b16841007f","sha256":"3cd5bef99b11b730e168d422f67fd6faeb0a7305ad933fbbdeb4523cf7b57110","sha512":"a819583b40bc2ac694edec19de738a7db3892920c0de3b2a07674c91f4775f664fefd30a875ee31596d61bf485d5b4cf9155689da0f7b5008078f91ac9d1d92d","ssdeep":"","tlshash":"6641b608ea81f9829009d9010cf6603b8e1d9540ded5ec9ff8dfc852a6531e7044e3c7","first_seen":"2025-05-13T12:23:37.665967Z","last_seen":"2026-07-27T12:23:18.846054Z","times_seen":7,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEwAAABOCAYAAACKX/AgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI0RkY5QjI5Mzk3MDExRTg4NjI2QzhERUVENURFODlDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI0RkY5QjJBMzk3MDExRTg4NjI2QzhERUVENURFODlDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGRjlCMjczOTcwMTFFODg2MjZDOERFRUQ1REU4OUMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjRGRjlCMjgzOTcwMTFFODg2MjZDOERFRUQ1REU4OUMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4NlJOLAAAEMUlEQVR42uycgXGjMBBFzU0KcAlcB1wFIRXE6SCp4EgFcSrwXAXkKuA6wKkAd0A6wB1w0szXzWZPIoAICGc1o8EDQZYeq9XfFU7Utu1GSv/yTRAIMAEmwASYAJMiwATYIuXKt4EoijZK/Gbq4+0Kxvuq+rv3EeuRr9IHMN3InarngGFtVT2gn6fFLIyA+xO6eann+hPgxIeJ0xdgAoz7h+1XADaV039RtcGKe6MWgCMg+izBJ89V91H144R+lHD2sc8KORkw1bEHdXhAx/i1yMNqYwxyaDmw1TDVD1LDUt05+zzHq5DNXw3uTR3eRoA+W9o6itOXVVKACTABJkWACTAB9uklMfpNabJkjJZbDBjU+mxFfV9KRO8GkUKwwE4IQ2iMWcwFDQkAHRb9IqdvfeNH/iVelbW1U7Vm53QOvcVxq/P/+Hzvm+HA9x10DIs2dQIgpwBxLp5qzJMCQ2cq2mkzLTGoun1fGgNyAKQEkGrSRo26Y39b8L6ECCxG5wsOAhbRkIHSkhv/Y2lvxyCZ+ytqvcyyclzfBg2MdLjAoDLLtQOzDF5c5ymoBlbLp1uKe0uX5QYHzNH5xDK1SjLwpv24lIBlm37Gqv57SKsBxhx/A8vi0zQj0IoOUIXL55E28j7+MHhgxBeZQd93WMeBgCvI+cIx/SrUdA5lMBswLj06/I8e/J5YZs1hDJl+qwdGBrx3rHApYOY47hzTOx+r43zGu0gsqTci9Esh6uN3Va9VrSx/ZqzvTAZaQ7nf6Y0X3c7cfV90EwTx3o1jO+5Z1ScO0WcX6tKzFaWkd+y+7OC4/N0lUb4kMEiLGrkrG5zccu6H9nm2lXPOjs8tKxISiNvkglkh9zjmHUJ1VOpoLcKVxpB7y/V3at2kf3qK3eyigGHwg9Q6XTl7it3eaj/k4Ltr+sWujMZQsTs0ngwSGB1cRzCeO/JVGmbTEZOWjoyFM14NPR9mkneJI93z4fTpkaLZ9ciJ5cEnEGE9FYsPB02/vnqrayHBtSroFDXZdEgsDr93sGwG6ytVbP0JDVjGdm3MtElHaKXtiHsy7r9ggftQgZWss3WX8/0g2TgqdwT/1TALL0MF9m9K+Aya7mCPvLfl+bWpgE2d3onJu6R65ToOnIIpYstrnNPpnVds9R/J9v9iZfGXgmFJ+jdAO8efUCeuH8DzVC/4ri1bEWOqlB2wbPBKm/a6aGBYCKrN+xdXhhR9X8WV/kUCQ8JQSw/fn9ro+4sxq/BqgMFfZRM3m3NhejFOH846ogp9AkvbmN8UrQYYJIHtKW9H6qm3ECTEpwADrNpoJXLpjPo08UMYtUhAzL7gh2TL5fRtSjrEgkC89R3zl3ntfKpdcnlPX4AJsMtaJbESxovtRA+LDJYHpkWjgvV7rHyYuTx6j1f+y6b4MAEmwASYAJMiwATYIuWvAAMAk9V0WTwoB+0AAAAASUVORK5CYII="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white4.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.993Z","timestamp":1785154927993,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white4.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=B8aAmrSrUm%2Bcg2fOIplZ70BYIOfawFELqdAk4uefmFyFUDr%2BXaE4v1JT23u%2FjXpp68zdS6KGHZXay4tbEQZOvGPQkUM3iGfouD7ORhr4xw2yqx77mKj6qACgGsrl%2BGH3VJpucSR03Rg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd87b28a-OSL\r\ncontent-length: 3379\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":3379,"size_decoded":4145,"mime_type":"image/png","magic":"PNG image data, 155 x 77, 8-bit/color RGBA, non-interlaced","md5":"af1080d9dcc0d160c423e2297dda4916","sha1":"6ebbba279a0f4234766da37d19cfa4bc79e0c03e","sha256":"f439e155cd7eff23a3ea41b2afdbe10aa21ab9758f3eeeb632fc585d8662894f","sha512":"345e682f90f040c15a07c24716246b525137d8e3a160d4e79c395897091fd5672f44473862a2c5cf989ebd83a0fc9700013bbd13974fd15750a98d8b272b76bd","ssdeep":"","tlshash":"8b612a46a7847d8192a4f04539ecd0269c263f4046fcf7d2a9ef81591d2a3349a2f1c7","first_seen":"2026-07-27T05:58:00.893583Z","last_seen":"2026-07-27T12:23:18.851214Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAABNCAYAAACxBha+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJEMDBBQTBGNzQ4NTExRTg4OEVCQTczRDdEM0FEMUI2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJEMDBBQTEwNzQ4NTExRTg4OEVCQTczRDdEM0FEMUI2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQwMEFBMEQ3NDg1MTFFODg4RUJBNzNEN0QzQUQxQjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQwMEFBMEU3NDg1MTFFODg4RUJBNzNEN0QzQUQxQjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5hLOwnAAAJqUlEQVR42uxdPYgbRxQe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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/search_impl.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.022Z","timestamp":1785154929022,"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":"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 /maps-api-v3/api/js/65/10a/search_impl.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 1320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:12 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411657\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":3569,"size_decoded":2158,"mime_type":"text/javascript","magic":"ASCII text, with very long lines (559)","md5":"ea0b6390cb1eb1e6ae4a139871f3ce1b","sha1":"3b1f34ae86417d5d7b02a102bb7b34834150f5cf","sha256":"cb519439ef4ada9e14278f38876d6d2b96ddebbf3be04cf4bde2b51452b652de","sha512":"75b5a581413303833c93546f3defc571bbc3e886bb393c40071e06eb694d38e03f244feb2583bfe71b352119b35e88ef3bfb4c08db751a91d74f31c24096d4c6","ssdeep":"","tlshash":"dd712474311ab6a3421911a01e9e80043668f5cab10ec4b67e989f029ffdcd757f1bf5","first_seen":"2026-07-22T18:33:47.621488Z","last_seen":"2026-07-28T14:38:16.167855Z","times_seen":438,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ3NlYXJjaF9pbXBsJywgZnVuY3Rpb24oXyl7dmFyIEd1Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmloKGEsMSxiKX0sSHViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWgoYSwyLGIpfSxKdWI9ZnVuY3Rpb24oYSl7aWYoXy5McFsxNV0pe3ZhciBiPWEudGg7bGV0IGM9YS50aD1hLmdldE1hcCgpO2ImJmEucWgmJihhLnNoPyhiPWIuX19nbS5SbCxiLnNldChiLmdldCgpLnFxKGEucWgpKSk6YS5xaCYmXy55V2EoYS5xaCxiKSYmKChhLnJofHxbXSkuZm9yRWFjaChfLm1uKSxhLnJoPW51bGwpKTtpZihjKXtiPW5ldyBfLml5O2xldCBkPWEuZ2V0KCJsYXllcklkIikuc3BsaXQoInwiKTtiLmxheWVySWQ9ZFswXTtmb3IobGV0IGU9MTtlPGQubGVuZ3RoOysrZSl7bGV0IFtmLC4uLmddPWRbZV0uc3BsaXQoIjoiKTtiLnBhcmFtZXRlcnNbZl09Zy5qb2luKCI6Iil9YS5nZXQoInNwb3RsaWdodERlc2NyaXB0aW9uIikmJihiLnNwb3RsaWdodERlc2NyaXB0aW9uPV8uaWkoXy52eCxfLmVFKGEuZ2V0KCJzcG90bGlnaHREZXNjcmlwdGlvbiIpKSkpOwphLmdldCgicGFpbnRFeHBlcmltZW50SWRzIikmJihiLnBhaW50RXhwZXJpbWVudElkcz1hLmdldCgicGFpbnRFeHBlcmltZW50SWRzIikuc2xpY2UoMCkpO2EuZ2V0KCJzdHlsZXIiKSYmKGIuc3R5bGVyPV8uaWkoXy5yeCxfLmVFKGEuZ2V0KCJzdHlsZXIiKSkpKTthLmdldCgicm9hZG1hcFN0eWxlciIpJiYoYi5yb2FkbWFwU3R5bGVyPV8uaWkoXy5yeCxfLmVFKGEuZ2V0KCJyb2FkbWFwU3R5bGVyIikpKSk7YS5nZXQoInRyYXZlbE1hcFJlcXVlc3QiKSYmKGIudHJhdmVsTWFwUmVxdWVzdD1fLmlpKF8udEEsXy5lRShhLmdldCgidHJhdmVsTWFwUmVxdWVzdCIpKSkpO2EuZ2V0KCJtYXBzQXBpTGF5ZXIiKSYmKGIubWFwc0FwaUxheWVyPV8uaWkoXy53eCxfLmVFKGEuZ2V0KCJtYXBzQXBpTGF5ZXIiKSkpKTthLmdldCgibWFwRmVhdHVyZXMiKSYmKGIubWFwRmVhdHVyZXM9YS5nZXQoIm1hcEZlYXR1cmVzIikpO2EuZ2V0KCJjbGlja2FibGVDaXRpZXMiKSYmKGIuY2xpY2thYmxlQ2l0aWVzPQphLmdldCgiY2xpY2thYmxlQ2l0aWVzIikpO2EuZ2V0KCJzZWFyY2hQaXBlTWV0YWRhdGEiKSYmKGIuc2VhcmNoUGlwZU1ldGFkYXRhPV8uaWkoXy5aeixfLmVFKGEuZ2V0KCJzZWFyY2hQaXBlTWV0YWRhdGEiKSkpKTthLmdldCgiZ21tQ29udGV4dFBpcGVNZXRhZGF0YSIpJiYoYi5nbW1Db250ZXh0UGlwZU1ldGFkYXRhPV8uaWkoXy5jQSxfLmVFKGEuZ2V0KCJnbW1Db250ZXh0UGlwZU1ldGFkYXRhIikpKSk7YS5nZXQoIm92ZXJsYXlMYXllciIpJiYoYi5vdmVybGF5TGF5ZXI9Xy5paShfLnh4LF8uZUUoYS5nZXQoIm92ZXJsYXlMYXllciIpKSkpO2EuZ2V0KCJjYXNlRXhwZXJpbWVudElkcyIpJiYoYi5jYXNlRXhwZXJpbWVudElkcz1hLmdldCgiY2FzZUV4cGVyaW1lbnRJZHMiKS5zbGljZSgwKSk7YS5nZXQoImJvb3N0TWFwRXhwZXJpbWVudElkcyIpJiYoYi5ib29zdE1hcEV4cGVyaW1lbnRJZHM9YS5nZXQoImJvb3N0TWFwRXhwZXJpbWVudElkcyIpLnNsaWNlKDApKTthLmdldCgiYWlyUXVhbGl0eVBpcGVNZXRhZGF0YSIpJiYKKGIuYWlyUXVhbGl0eVBpcGVNZXRhZGF0YT1fLmlpKF8uc0EsXy5lRShhLmdldCgiYWlyUXVhbGl0eVBpcGVNZXRhZGF0YSIpKSkpO2EuZ2V0KCJkaXJlY3Rpb25zUGlwZVBhcmFtZXRlcnMiKSYmKGIuZGlyZWN0aW9uc1BpcGVQYXJhbWV0ZXJzPV8uaWkoXy5yQSxfLmVFKGEuZ2V0KCJkaXJlY3Rpb25zUGlwZVBhcmFtZXRlcnMiKSkpKTthLmdldCgiY2xpZW50U2lnbmFsUGlwZU1ldGFkYXRhIikmJihiLmNsaWVudFNpZ25hbFBpcGVNZXRhZGF0YT1fLmlpKF8uRXosXy5lRShhLmdldCgiY2xpZW50U2lnbmFsUGlwZU1ldGFkYXRhIikpKSk7Yi5kYXJrTGF1bmNoPSEhYS5nZXQoImRhcmtMYXVuY2giKTthLnFoPWI7YS5zaD1hLmdldCgicmVuZGVyT25CYXNlTWFwIik7YS5zaD8oYT1jLl9fZ20uUmwsYS5zZXQoXy5ydihhLmdldCgpLGIpKSk6SXViKGEsYyxiKTtfLk0oYywxNDgyODIpfX19LEl1Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IEt1YjtkPV8ubEgoZCk7Yy5zaD1kLmxvYWQuYmluZChkKTsKYy5jbGlja2FibGU9YS5nZXQoImNsaWNrYWJsZSIpIT09ITE7Xy5YVmEoYyxfLklPKGIpKTtiPVtdO2IucHVzaChfLmtuKGMsImNsaWNrIixMdWIuYmluZChudWxsLGEpKSk7Zm9yKGxldCBlIG9mWyJtb3VzZW92ZXIiLCJtb3VzZW91dCIsIm1vdXNlbW92ZSJdKWIucHVzaChfLmtuKGMsZSxNdWIuYmluZChudWxsLGEsZSkpKTtiLnB1c2goXy5rbihhLCJjbGlja2FibGVfY2hhbmdlZCIsKCk9PnthLnFoLmNsaWNrYWJsZT1hLmdldCgiY2xpY2thYmxlIikhPT0hMX0pKTthLnJoPWJ9LEx1Yj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPW51bGw7aWYoZSYmKGY9e3N0YXR1czplLmdldFN0YXR1cygpfSxlLmdldFN0YXR1cygpPT09MCkpe2YubG9jYXRpb249Xy5TZihlLF8ub0EsMik/bmV3IF8uVG0oXy5LdyhfLkcoZSxfLm9BLDIpKSxfLk13KF8uRyhlLF8ub0EsMikpKTpudWxsO2xldCBnPXt9O2YuZmllbGRzPWc7bGV0IGg9Xy5ZZihlLF8uT08sMyk7Zm9yKGxldCBrPTA7azxoOysrayl7bGV0IG09Cl8ud3UoZSwzLF8uT08sayk7Z1ttLmdldEtleSgpXT1tLmdldFZhbHVlKCl9fV8ud24oYSwiY2xpY2siLGIsYyxkLGYpfSxNdWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9bnVsbDtmJiYoaD17dGl0bGU6ZlsxXS50aXRsZSxzbmlwcGV0OmZbMV0uc25pcHBldH0pO18ud24oYSxiLGMsZCxlLGgsZyl9LE51Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1KbCgpe3JldHVybiBfLkgodGhpcywyKX1raihhKXtyZXR1cm4gXy5paCh0aGlzLDMsYSl9cGwoKXtyZXR1cm4gXy5wdSh0aGlzLDMpfX0sT3ViPV8uJGkoTnViLFswLF8uVSwtMixfLlksXy5XV2FdKSxQdWI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0U3RhdHVzKCl7cmV0dXJuIF8uUGcodGhpcywxLC0xKX1nZXRMb2NhdGlvbigpe3JldHVybiBfLkFnKHRoaXMsXy5vQSwyKX19LFF1Yj1jbGFzc3t9LEt1Yj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPQpfLmVyLGI9Xy5kcjt0aGlzLnFoPV8uSmw7dGhpcy5mZXRjaD1fLkt5LmJpbmQoUXViLGEsXy5WQSsiL21hcHMvYXBpL2pzL0xheWVyc1NlcnZpY2UuR2V0RmVhdHVyZSIsYil9bG9hZChhLGIpe2Z1bmN0aW9uIGMoZSl7YihuZXcgUHViKGUmJmUpKX12YXIgZD1IdWIoR3ViKG5ldyBOdWIsYS5sYXllcklkLnNwbGl0KCJ8IilbMF0pLGEuZmVhdHVyZUlkKS5raih0aGlzLnFoLnJoKCkucmgoKSk7Zm9yKGxldCBlIGluIGEucGFyYW1ldGVycylfLkZWYShfLlpmKGQsNCxfLk9PKSxlKS5zZXRWYWx1ZShhLnBhcmFtZXRlcnNbZV0pO2E9Xy5SaihkLE91YigpKTt0aGlzLmZldGNoKGEsYyxjKTtyZXR1cm4gYX1jYW5jZWwoKXt0aHJvdyBFcnJvcigiTm90IGltcGxlbWVudGVkIik7fX07Xy5JbCgic2VhcmNoX2ltcGwiLG5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9SnVifX0pO30pOwo="}},"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":"primeelitecapital.com/assets/js/jquery.countdown.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.937Z","timestamp":1785154927937,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/jquery.countdown.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:42 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=DzV9y8fdxOg1QBCp%2F6j3fJTADiIDT27KkTpw6M8qs50LRbZ6uo6WnJFxM45z%2Ba4FdPW3gLq4gmMq%2F03R7iU4rD6SaWIcBjWsweEoEndI1eM1X7tQ7fSb%2BmZF8X8FTwnehteGMT1LjGw%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d60b28a-OSL\r\ncontent-length: 2238\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5339,"size_decoded":3013,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (4136)","md5":"5d3ff3c3fbaa67cc639501f44eeb07be","sha1":"bd66e4cd58de09c198e7abc77fa4c883955d189e","sha256":"2249399b2268c260d0698542503d16afebc80e437c846239f12196744ebbd40f","sha512":"96d7ae443f9a50436b64f4d758544f4c17030f120659ee6ebb46a93c49fedd92980f00da104ac82bdaef474433506994439e4a144d91a864d5a19b0a72d18c57","ssdeep":"96:kbG5QHArNbeRFMSiM3jG6Ghdynv/2bBqz2eJxMxHxqxAxixw3xexIxrxAxW7qD2O:fQH+UpxGhdBqztJxMxHxqxAxixw3xexx","tlshash":"71b1c6ceb3b213d5089553b101ae1506613bf25be4e6001cb5fceac87a65c5d607fd78","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-11T02:01:16.253199Z","times_seen":11143,"resource_available":true,"data":"LyohCiAqIFRoZSBGaW5hbCBDb3VudGRvd24gZm9yIGpRdWVyeSB2Mi4yLjAgKGh0dHA6Ly9oaWxpb3MuZ2l0aHViLmlvL2pRdWVyeS5jb3VudGRvd24vKQogKiBDb3B5cmlnaHQgKGMpIDIwMTYgRWRzb24gSGlsaW9zCiAqIAogKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCiAqIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluCiAqIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8KICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YKICogdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLAogKiBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKICogCiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAogKiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgogKiAKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MKICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCiAqIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUgogKiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgogKi8KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoalF1ZXJ5KX0oZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYSl7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGE7aWYoU3RyaW5nKGEpLm1hdGNoKGcpKXJldHVybiBTdHJpbmcoYSkubWF0Y2goL15bMC05XSokLykmJihhPU51bWJlcihhKSksU3RyaW5nKGEpLm1hdGNoKC9cLS8pJiYoYT1TdHJpbmcoYSkucmVwbGFjZSgvXC0vZywiLyIpKSxuZXcgRGF0ZShhKTt0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGNhc3QgYCIrYSsiYCB0byBhIGRhdGUgb2JqZWN0LiIpfWZ1bmN0aW9uIGMoYSl7dmFyIGI9YS50b1N0cmluZygpLnJlcGxhY2UoLyhbLj8qK14kW1xdXFwoKXt9fC1dKS9nLCJcXCQxIik7cmV0dXJuIG5ldyBSZWdFeHAoYil9ZnVuY3Rpb24gZChhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGQ9Yi5tYXRjaCgvJSgtfCEpP1tBLVpdezF9KDpbXjtdKzspPy9naSk7aWYoZClmb3IodmFyIGY9MCxnPWQubGVuZ3RoO2Y8ZzsrK2Ype3ZhciBoPWRbZl0ubWF0Y2goLyUoLXwhKT8oW2EtekEtWl17MX0pKDpbXjtdKzspPy8pLGo9YyhoWzBdKSxrPWhbMV18fCIiLGw9aFszXXx8IiIsbT1udWxsO2g9aFsyXSxpLmhhc093blByb3BlcnR5KGgpJiYobT1pW2hdLG09TnVtYmVyKGFbbV0pKSxudWxsIT09bSYmKCIhIj09PWsmJihtPWUobCxtKSksIiI9PT1rJiZtPDEwJiYobT0iMCIrbS50b1N0cmluZygpKSxiPWIucmVwbGFjZShqLG0udG9TdHJpbmcoKSkpfXJldHVybiBiPWIucmVwbGFjZSgvJSUvLCIlIil9fWZ1bmN0aW9uIGUoYSxiKXt2YXIgYz0icyIsZD0iIjtyZXR1cm4gYSYmKGE9YS5yZXBsYWNlKC8oOnw7fFxzKS9naSwiIikuc3BsaXQoL1wsLyksMT09PWEubGVuZ3RoP2M9YVswXTooZD1hWzBdLGM9YVsxXSkpLE1hdGguYWJzKGIpPjE/YzpkfXZhciBmPVtdLGc9W10saD17cHJlY2lzaW9uOjEwMCxlbGFwc2U6ITEsZGVmZXI6ITF9O2cucHVzaCgvXlswLTldKiQvLnNvdXJjZSksZy5wdXNoKC8oWzAtOV17MSwyfVwvKXsyfVswLTldezR9KCBbMC05XXsxLDJ9KDpbMC05XXsyfSl7Mn0pPy8uc291cmNlKSxnLnB1c2goL1swLTldezR9KFtcL1wtXVswLTldezEsMn0pezJ9KCBbMC05XXsxLDJ9KDpbMC05XXsyfSl7Mn0pPy8uc291cmNlKSxnPW5ldyBSZWdFeHAoZy5qb2luKCJ8IikpO3ZhciBpPXtZOiJ5ZWFycyIsbToibW9udGhzIixuOiJkYXlzVG9Nb250aCIsZDoiZGF5c1RvV2VlayIsdzoid2Vla3MiLFc6IndlZWtzVG9Nb250aCIsSDoiaG91cnMiLE06Im1pbnV0ZXMiLFM6InNlY29uZHMiLEQ6InRvdGFsRGF5cyIsSToidG90YWxIb3VycyIsTjoidG90YWxNaW51dGVzIixUOiJ0b3RhbFNlY29uZHMifSxqPWZ1bmN0aW9uKGIsYyxkKXt0aGlzLmVsPWIsdGhpcy4kZWw9YShiKSx0aGlzLmludGVydmFsPW51bGwsdGhpcy5vZmZzZXQ9e30sdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGgpLHRoaXMuaW5zdGFuY2VOdW1iZXI9Zi5sZW5ndGgsZi5wdXNoKHRoaXMpLHRoaXMuJGVsLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIsdGhpcy5pbnN0YW5jZU51bWJlciksZCYmKCJmdW5jdGlvbiI9PXR5cGVvZiBkPyh0aGlzLiRlbC5vbigidXBkYXRlLmNvdW50ZG93biIsZCksdGhpcy4kZWwub24oInN0b3BlZC5jb3VudGRvd24iLGQpLHRoaXMuJGVsLm9uKCJmaW5pc2guY291bnRkb3duIixkKSk6dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGgsZCkpLHRoaXMuc2V0RmluYWxEYXRlKGMpLHRoaXMub3B0aW9ucy5kZWZlcj09PSExJiZ0aGlzLnN0YXJ0KCl9O2EuZXh0ZW5kKGoucHJvdG90eXBlLHtzdGFydDpmdW5jdGlvbigpe251bGwhPT10aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO3ZhciBhPXRoaXM7dGhpcy51cGRhdGUoKSx0aGlzLmludGVydmFsPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YS51cGRhdGUuY2FsbChhKX0sdGhpcy5vcHRpb25zLnByZWNpc2lvbil9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQoInN0b3BlZCIpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLmludGVydmFsP3RoaXMuc3RvcCgpOnRoaXMuc3RhcnQoKX0scGF1c2U6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5zdGFydCgpfSxyZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLnN0b3AuY2FsbCh0aGlzKSxmW3RoaXMuaW5zdGFuY2VOdW1iZXJdPW51bGwsZGVsZXRlIHRoaXMuJGVsLmRhdGEoKS5jb3VudGRvd25JbnN0YW5jZX0sc2V0RmluYWxEYXRlOmZ1bmN0aW9uKGEpe3RoaXMuZmluYWxEYXRlPWIoYSl9LHVwZGF0ZTpmdW5jdGlvbigpe2lmKDA9PT10aGlzLiRlbC5jbG9zZXN0KCJodG1sIikubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMucmVtb3ZlKCk7dmFyIGIsYz12b2lkIDAhPT1hLl9kYXRhKHRoaXMuZWwsImV2ZW50cyIpLGQ9bmV3IERhdGU7Yj10aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCktZC5nZXRUaW1lKCksYj1NYXRoLmNlaWwoYi8xZTMpLGI9IXRoaXMub3B0aW9ucy5lbGFwc2UmJmI8MD8wOk1hdGguYWJzKGIpLHRoaXMudG90YWxTZWNzTGVmdCE9PWImJmMmJih0aGlzLnRvdGFsU2Vjc0xlZnQ9Yix0aGlzLmVsYXBzZWQ9ZD49dGhpcy5maW5hbERhdGUsdGhpcy5vZmZzZXQ9e3NlY29uZHM6dGhpcy50b3RhbFNlY3NMZWZ0JTYwLG1pbnV0ZXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjApJTYwLGhvdXJzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwKSUyNCxkYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSU3LGRheXNUb1dlZWs6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpJTcsZGF5c1RvTW9udGg6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQlMzAuNDM2OCksd2Vla3M6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQvNyksd2Vla3NUb01vbnRoOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0LzcpJTQsbW9udGhzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0LzMwLjQzNjgpLHllYXJzOk1hdGguYWJzKHRoaXMuZmluYWxEYXRlLmdldEZ1bGxZZWFyKCktZC5nZXRGdWxsWWVhcigpKSx0b3RhbERheXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpLHRvdGFsSG91cnM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjApLHRvdGFsTWludXRlczpNYXRoLmZsb29yKHRoaXMudG90YWxTZWNzTGVmdC82MCksdG90YWxTZWNvbmRzOnRoaXMudG90YWxTZWNzTGVmdH0sdGhpcy5vcHRpb25zLmVsYXBzZXx8MCE9PXRoaXMudG90YWxTZWNzTGVmdD90aGlzLmRpc3BhdGNoRXZlbnQoInVwZGF0ZSIpOih0aGlzLnN0b3AoKSx0aGlzLmRpc3BhdGNoRXZlbnQoImZpbmlzaCIpKSl9LGRpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5FdmVudChiKyIuY291bnRkb3duIik7Yy5maW5hbERhdGU9dGhpcy5maW5hbERhdGUsYy5lbGFwc2VkPXRoaXMuZWxhcHNlZCxjLm9mZnNldD1hLmV4dGVuZCh7fSx0aGlzLm9mZnNldCksYy5zdHJmdGltZT1kKHRoaXMub2Zmc2V0KSx0aGlzLiRlbC50cmlnZ2VyKGMpfX0pLGEuZm4uY291bnRkb3duPWZ1bmN0aW9uKCl7dmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIpO2lmKHZvaWQgMCE9PWMpe3ZhciBkPWZbY10sZT1iWzBdO2oucHJvdG90eXBlLmhhc093blByb3BlcnR5KGUpP2RbZV0uYXBwbHkoZCxiLnNsaWNlKDEpKTpudWxsPT09U3RyaW5nKGUpLm1hdGNoKC9eWyRBLVpfXVswLTlBLVpfJF0qJC9pKT8oZC5zZXRGaW5hbERhdGUuY2FsbChkLGUpLGQuc3RhcnQoKSk6YS5lcnJvcigiTWV0aG9kICVzIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5jb3VudGRvd24iLnJlcGxhY2UoL1wlcy9naSxlKSl9ZWxzZSBuZXcgaih0aGlzLGJbMF0sYlsxXSl9KX19KTs="}},"time_used":147,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":147,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.991Z","timestamp":1785154927991,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3v%2F7eHsDBCpmvnLayt97NslFRzy9t3trjLgQezcwjjCUX9%2BHTU25b6epHyzHdwR%2Bei%2F38YBdhPveGvG3P74upBnlNhwnBRt0Aoxn%2Fu%2Fiyli86OpQ2goUb4NDPJIvUblo7KOxxcBWXNI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd85b28a-OSL\r\ncontent-length: 2696\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2696,"size_decoded":3466,"mime_type":"image/png","magic":"PNG image data, 155 x 45, 8-bit/color RGBA, non-interlaced","md5":"419648154e1de0f2f730fb04aa52bed5","sha1":"becf1cbf51485b2cb6c90d21592083adb172b9de","sha256":"60e71772a14fdfd118d59c83b306d325079381398f4903ee968413250ac32ca7","sha512":"8af28b14a9f72ca7e86ffbbe9621d5a8e1a5b09fcbf6e7bfa66fcdad74f308b52ffa5658faa6a5d050bd6611359a5d9f02ff5a73959492a528945c6610f4bb74","ssdeep":"","tlshash":"e951ea8edcb015450164dbe768dbd03be9478b41d454b9916bcec35d0ae42b8142e5df","first_seen":"2026-07-27T05:58:00.909146Z","last_seen":"2026-07-27T12:23:18.859317Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAAAtCAYAAAC58hnkAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkyNkFDNzcwNzQ4MjExRTg4OUI4OTRBREY5RTg3MkM1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjkyNkFDNzcxNzQ4MjExRTg4OUI4OTRBREY5RTg3MkM1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTI2QUM3NkU3NDgyMTFFODg5Qjg5NEFERjlFODcyQzUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTI2QUM3NkY3NDgyMTFFODg5Qjg5NEFERjlFODcyQzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5sxN7ZAAAG/klEQVR42uydLZPjOBCG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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/rounded-shape2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.447Z","timestamp":1785154928447,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/rounded-shape2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/style.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:14 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:18 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=FyPywszUwJd4jXwlQTiukqlD2PBOq5FzmYkxg5eX9gzvc5Gj%2BYCi%2FjbQee68xAx3YLAwR9%2BWjRk0jkt2Bs3Ik%2BuDFGx%2FuN0yrx8bKpaHcNS1iMCT5B32qkeE2cxJuyQHORLBjaxeC8Q%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21b9b9ecde8b28a-OSL\r\ncontent-length: 6537\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":6537,"size_decoded":7305,"mime_type":"image/png","magic":"PNG image data, 494 x 402, 8-bit/color RGBA, non-interlaced","md5":"73931e46930772fbc3f1c209d14929d3","sha1":"9f4b4718e1bee5c8262f16af62b07e42b0f66d5f","sha256":"e9b24e94c094383f6927f5cb28b37a93b8d10300d1d5c224dc9212f588863059","sha512":"fa0136eae13d04ffdebe3c26c2e8b0be413deebe62fd7bcabcaf83048592a89b8039af2e925116a312721751b339cf245f1ef276b7ccd50f178724efabc9603d","ssdeep":"192:dmjDyZ0k7528PWDTblgKGHjGP+gaGMqVT/MOXonF:3Z0k75h+TuzCmgaSvWF","tlshash":"12d18e87fadcf53343066a986cf254274157acd0ac96b9efd08e09438cb71f9051e45b","first_seen":"2024-12-01T05:41:48.780182Z","last_seen":"2026-08-04T02:29:04.847851Z","times_seen":7,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAe4AAAGSCAYAAAAl9yLsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAyQjVCRjQ1M0JFRTExRTg5NTJCQjcyRUJCNzA1MTM2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjAyQjVCRjQ2M0JFRTExRTg5NTJCQjcyRUJCNzA1MTM2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDJCNUJGNDMzQkVFMTFFODk1MkJCNzJFQkI3MDUxMzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDJCNUJGNDQzQkVFMTFFODk1MkJCNzJFQkI3MDUxMzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz70LpabAAAV/0lEQVR42uzd+2pcV5YH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"}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/mapsjs/gen_204?csp_test=true","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.924Z","timestamp":1785154928924,"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":"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 /maps/api/mapsjs/gen_204?csp_test=true HTTP/1.1\r\nHost: maps.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\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.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/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 23\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,vary,vary,content-encoding,date,server,content-length\r\nserver-timing: gfet4t7; dur=9\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":3,"size_decoded":590,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"8a80554c91d9fca8acb82f023de02f11","sha1":"5f36b2ea290645ee34d943220a14b54ee5ea5be5","sha256":"ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356","sha512":"ca4b6defb8adcc010050bc8b1bb8f8092c4928b8a0fba32146abcfb256e4d91672f88ca2cdf6210e754e5b8ac5e23fb023806ccd749ac8b701f79a691f03c87a","ssdeep":"","tlshash":"c7200000000000000000000c00000000000000000c0000000000000000000000000000","first_seen":"2023-03-07T01:10:31Z","last_seen":"2026-08-11T11:54:51.398533Z","times_seen":430910,"resource_available":true,"data":"e30K"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/map.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.992Z","timestamp":1785154928992,"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":"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 /maps-api-v3/api/js/65/10a/map.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 25835\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411663\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":81213,"size_decoded":26674,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3353)","md5":"922e7260a49b2f802729df59fd3923a8","sha1":"7b4e8d74ee2a53221304dd3ccc4cdcb7ed25c2ad","sha256":"16bae430a3895103eba1439d072cb185a62e0e4e40e58040a417ce5de62d4e01","sha512":"53185a0bdb85089fecab857fd6577dff71897af003839a77487d3057da01bad7ec30d5541554db27662411951dd895292b29cd206623f3835fc344bf9af5c930","ssdeep":"1536:AaGl/79tdMpHti1T17kmBKbe+DsgZ2Wtqrv74X4UBbWt4FlWg:AaGl/79tEU1T1om4JDsgUWtqrv74XFBh","tlshash":"ff8309a1322235f69bf6c4b8505b0203b165e445f00d89ae7d6cddda5aecc8b12feb71","first_seen":"2026-07-22T18:28:15.481935Z","last_seen":"2026-07-28T15:45:30.726426Z","times_seen":539,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ21hcCcsIGZ1bmN0aW9uKF8pe3ZhciBtdmE9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBfLlVhLkpTT04ucGFyc2UoYSl9Y2F0Y2goYil7fWE9U3RyaW5nKGEpO2lmKC9eXHMqJC8udGVzdChhKT8wOi9eW1xdLDp7fVxzXHUyMDI4XHUyMDI5XSokLy50ZXN0KGEucmVwbGFjZSgvXFxbIlxcXC9iZm5ydHVdL2csIkAiKS5yZXBsYWNlKC8oPzoiW14iXFxcblxyXHUyMDI4XHUyMDI5XHgwMC1ceDA4XHgwYS1ceDFmXSoifHRydWV8ZmFsc2V8bnVsbHwtP1xkKyg/OlwuXGQqKT8oPzpbZUVdWytcLV0/XGQrKT8pW1xzXHUyMDI4XHUyMDI5XSooPz06fCx8XXx9fCQpL2csIl0iKS5yZXBsYWNlKC8oPzpefDp8LCkoPzpbXHNcdTIwMjhcdTIwMjldKlxbKSsvZywiIikpKXRyeXtyZXR1cm4gZXZhbCgiKCIrYSsiKSIpfWNhdGNoKGIpe310aHJvdyBFcnJvcigiSW52YWxpZCBKU09OIHN0cmluZzogIithKTt9LG52YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5LZyhhLDE1KX0sb3ZhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5rdigpO3JldHVybiBfLkpnKGEsCjE4KX0scHZhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5rdigpO3JldHVybiBfLktnKGEsMTcpfSx3RD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnFoP25ldyBfLldwKGIucWgsYi5yaCk6Xy5YcChhLF8ueHYoXy55dihhLGIpKSl9LHF2YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9QXJyYXkoYyksZT10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmE7Zm9yKGxldCBmPTA7ZjxjO2YrKylmIGluIGUmJihkW2ZdPWIuY2FsbCh2b2lkIDAsZVtmXSxmLGEpKTtyZXR1cm4gZH0scnZhPWZ1bmN0aW9uKGEpe18uR3goYS5yZXF1ZXN0KTtmb3IobGV0IGI9Xy5IeChhLnJlcXVlc3QpLTE7Yj4wOy0tYilfLkt2KF8uR3YoYS5yZXF1ZXN0LDIsXy50eCxiKSxfLkd2KGEucmVxdWVzdCwyLF8udHgsYi0xKSk7YT1fLkh3KF8uR3YoYS5yZXF1ZXN0LDIsXy50eCwwKSwxKTthPV8uUWYoYSwyKTtfLlFmKGEsMyl9LHN2YT1mdW5jdGlvbihhKXt2YXIgYj1fLldnKGEsMSksYz1bXTtmb3IobGV0IGQ9CjA7ZDxiO2QrKyljLnB1c2goYS5nZXRVcmwoZCkpO3JldHVybiBjfSx0dmE9ZnVuY3Rpb24oYSxiKXthPXN2YShfLkcoYS5zaCxfLlJ5LDgpKTtyZXR1cm4gcXZhKGEsYz0+YCR7Y31kZWc9JHtifSZgKX0sdXZhPWZ1bmN0aW9uKGEpe2lmKGEucWgmJmEuZW8oKSl7dmFyIGI9Xy5HKGEucWgsXy5meSwxMyk7Xy5CZyhiLF8uZ3ksNSkubGVuZ3RoPjA/YT0hMDpfLm12KGEucWgpPyhhPV8ubHYoYS5xaCksYT1fLllmKGEsXy5oeSwzKT4wKTphPSExfWVsc2UgYT0hMTtyZXR1cm4gYX0sdnZhPWZ1bmN0aW9uKGEpe2lmKCFhLnFofHwhYS5lbygpKXJldHVybiBudWxsO3ZhciBiPV8uSChhLnFoLDMpfHxudWxsO2lmKF8ubXYoYS5xaCkpe2E9Xy5pdihfLmx2KGEucWgpKTtpZighYXx8IV8uU2YoYSxfLmx5LDMpKXJldHVybiBudWxsO2E9Xy5HKGEsXy5seSwzKTtmb3IobGV0IGM9MDtjPF8uWWYoYSxfLm15LDEpO2MrKyl7bGV0IGQ9Xy53dShhLDEsXy5teSxjKTtpZihkLmdldFR5cGUoKT09PQoyNilmb3IobGV0IGU9MDtlPF8uWWYoZCxfLm55LDIpO2UrKyl7bGV0IGY9Xy53dShkLDIsXy5ueSxlKTtpZihmLmdldEtleSgpPT09InN0eWxlcyIpcmV0dXJuIGYuZ2V0VmFsdWUoKX19fXJldHVybiBifSx5RD1mdW5jdGlvbihhKXthPV8ubHYoYS5xaCk7dmFyIGI7aWYoYj1hJiZfLlNmKGEseEQsMikpYj1fLkcoYSx4RCwyKSxiPV8ueXUoYix3dmEsMyx4dmEpO2I/KGE9Xy5HKGEseEQsMiksYT1fLnp1KGEsd3ZhLDMseHZhKSk6YT1udWxsO3JldHVybiBhfSx6RD1mdW5jdGlvbihhKXtpZighYS5xaClyZXR1cm4gbnVsbDt2YXIgYj1fLkN1KGEucWgsNCk/Xy5KZyhhLnFoLDQpOm51bGw7IWImJl8ubXYoYS5xaCkmJihhPXlEKGEpKSYmKGI9Xy5KZyhhLDEpKTtyZXR1cm4gYn0seXZhPWZ1bmN0aW9uKGEsYil7YS53aHx8KGEud2g9Yj9iOiIiKX0senZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmE7Zm9yKGxldCBlPQowO2U8YztlKyspaWYoZSBpbiBkJiYhYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpcmV0dXJuITE7cmV0dXJuITB9LEF2YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphO2ZvcihsZXQgZT0wO2U8YztlKyspaWYoZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKSlyZXR1cm4gZTtyZXR1cm4tMX0sQnZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uRmsoYSk7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJLZXlzIGFyZSB1bmRlZmluZWQiKTt2YXIgYz1uZXcgXy5SdihudWxsKTthPV8uRWsoYSk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF0sZj1hW2RdO0FycmF5LmlzQXJyYXkoZik/Yy5zZXRWYWx1ZXMoZSxmKTpjLmFkZChlLGYpfXJldHVybiBjfSxDdmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGF0LmxvLGU9YS5sYXQuaGksZj1hLmxuZy5sbyxnPWEubG5nLmhpLGg9YS50b1NwYW4oKSwKaz1oLmxhdCgpO2g9aC5sbmcoKTtfLk9uKGEubG5nKSYmKGcrPTM2MCk7ZC09YiprO2UrPWIqaztmLT1iKmg7Zys9YipoO2MmJihhPU1hdGgubWluKGssaCkvYyxhPU1hdGgubWF4KDFFLTYsYSksZD1hKk1hdGguZmxvb3IoZC9hKSxlPWEqTWF0aC5jZWlsKGUvYSksZj1hKk1hdGguZmxvb3IoZi9hKSxnPWEqTWF0aC5jZWlsKGcvYSkpO2lmKGE9Zy1mPj0zNjApZj0tMTgwLGc9MTgwO3JldHVybiBuZXcgXy5SbihuZXcgXy5UbShkLGYsYSksbmV3IF8uVG0oZSxnLGEpKX0sRHZhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0cnl7YT9fLlVwKGEsITEpP2IoKTpjKEVycm9yKCJFcnJvciBmb2N1c2luZyBlbGVtZW50OiBUaGUgZWxlbWVudCBpcyBub3QgZm9jdXNlZCBhZnRlciB0aGUgZm9jdXMgYXR0ZW1wdC4iKSk6YyhFcnJvcigiRXJyb3IgZm9jdXNpbmcgZWxlbWVudDogbnVsbCBlbGVtZW50IGNhbm5vdCBiZSBmb2N1c2VkIikpfWNhdGNoKGQpe2MoZCl9fSl9KX0sCkd2YT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPWEudG9Mb3dlckNhc2UoKTtyZXR1cm4gRXZhLmhhc093blByb3BlcnR5KGEpP0V2YVthXTpGdmEuaGFzT3duUHJvcGVydHkoYSk/RnZhW2FdOm51bGx9LEh2YT1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YSYmYS5zb21lKGQ9PnsoZD0oYj09PSJyb2FkbWFwIiYmZC5yb2FkbWFwU3R5bGVyP2Qucm9hZG1hcFN0eWxlcjpkLnN0eWxlcil8fG51bGwpJiZkLmdldFR5cGUoKT09PTY4JiYoYz1kKTtyZXR1cm4hIWN9KTtyZXR1cm4gY30sSXZhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1udWxsO2lmKGI9SHZhKGIsYykpZD1iO2Vsc2UgaWYoYSYmKGQ9bmV3IF8ucngsXy5QdyhkLGEudHlwZSksYS5wYXJhbXMpKWZvcihsZXQgZSBvZiBPYmplY3Qua2V5cyhhLnBhcmFtcykpYj1fLlJ3KGQpLF8uT3coYixlKSwoYz1hLnBhcmFtc1tlXSkmJmIuc2V0VmFsdWUoYyk7cmV0dXJuIGR9LEp2YT1mdW5jdGlvbihhLGIsYyxkLGUsZixnLApoLGs9ITEsbT0hMSl7dmFyIHA9bmV3IF8uakI7Xy5MeChwLGEsYixjIT09Imh5YnJpZCIpOyhjPT09InNhdGVsbGl0ZSJ8fGM9PT0iaHlicmlkIiYmIW0pJiZydmEocCk7YyE9PSJzYXRlbGxpdGUiJiZfLldtYShwLGMsMCxkKTtnJiZjIT09InNhdGVsbGl0ZSImJmcuZm9yRWFjaChxPT57cC5OaihxLGMsITEpfSk7ZSYmZS5mb3JFYWNoKHE9PntfLlB4KHAscSl9KTtmJiZfLnN4KGYsXy5DeChfLkp4KHAucmVxdWVzdCkpKTtoJiZfLlptYShwLGgpO2t8fF8uS3gocCxbNDcwODM1MDJdKTtyZXR1cm4gcC5yZXF1ZXN0fSxLdmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbSxwLHE9ITEpe3ZhciB1PVtdOyhlPUl2YShlLGssYykpJiZ1LnB1c2goZSk7ZT1uZXcgXy5yeDtfLlB3KGUsMzcpO18uT3coXy5SdyhlKSwic21hcnRtYXBzIik7dS5wdXNoKGUpO3JldHVybntTbzpKdmEoYSxiLGMsZCx1LGYsayxwLG0scSksQ3E6ZyxzY2FsZTpofX0sTXZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9CltdLGc9W107KGI9SXZhKGIsZCxhKSkmJmYucHVzaChiKTtpZihjKXt2YXIgaD1fLnN4KGMpO2YucHVzaChoKX12YXIgaz1uZXcgU2V0LG0scCxxO2QmJmQuZm9yRWFjaCh4PT57dmFyIHo9Xy5SbWEoeCk7eiYmKGcucHVzaCh6KSx4LnNlYXJjaFBpcGVNZXRhZGF0YSYmKG09eC5zZWFyY2hQaXBlTWV0YWRhdGEpLHgudHJhdmVsTWFwUmVxdWVzdCYmKHA9eC50cmF2ZWxNYXBSZXF1ZXN0KSx4LmNsaWVudFNpZ25hbFBpcGVNZXRhZGF0YSYmKHE9eC5jbGllbnRTaWduYWxQaXBlTWV0YWRhdGEpLHgucGFpbnRFeHBlcmltZW50SWRzPy5mb3JFYWNoKEI9PntrLmFkZChCKX0pKX0pO2lmKGUpe2lmKGUuREEpdmFyIHU9ZS5EQTtlLnBhaW50RXhwZXJpbWVudElkcz8uZm9yRWFjaCh6PT57ay5hZGQoeil9KTtpZigoYz1lLlRKKSYmIV8uamooYykpe2h8fChoPW5ldyBfLnJ4LF8uUHcoaCwyNiksZi5wdXNoKGgpKTtmb3IobGV0IFt6LEJdb2YgT2JqZWN0LmVudHJpZXMoYykpYz16LGQ9QixiPQpfLlJ3KGgpLF8uT3coYixjKSxiLnNldFZhbHVlKGQpfWxldCB4PWUuc3R5bGVyczt4JiZ4Lmxlbmd0aCYmKGY9Zi5maWx0ZXIoej0+IXguc29tZShCPT5CLmdldFR5cGUoKT09PXouZ2V0VHlwZSgpKSksZi5wdXNoKC4uLngpKX1yZXR1cm57bWFwVHlwZXM6THZhW2FdLHN0eWxlcnM6ZixlaTpnLHBhaW50RXhwZXJpbWVudElkczpbLi4ua10sUm86dSxzZWFyY2hQaXBlTWV0YWRhdGE6bSx0cmF2ZWxNYXBSZXF1ZXN0OnAsY2xpZW50U2lnbmFsUGlwZU1ldGFkYXRhOnF9fSxPdmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5xaC5yai5raSxjPWEucWgucmoubGksZD1hLnFoLnJqLnVpO2lmKGEuRmgpe3ZhciBlPV8uTnEoXy5WeChhLkNpLHtraTpiKy41LGxpOmMrLjUsdWk6ZH0pLG51bGwpO2lmKCFOdmEoYS5GaCxlKSl7YS5yaD0hMDthLkZoLlNqKCkuYWRkTGlzdGVuZXJPbmNlKCgpPT57T3ZhKGEpfSk7cmV0dXJufX1hLnJoPSExO2U9YS5zY2FsZT09PTJ8fGEuc2NhbGU9PT00P2Euc2NhbGU6CjE7ZT1NYXRoLm1pbigxPDxkLGUpO3ZhciBmPWEud2gmJmUhPT00LGc9ZDtmb3IobGV0IGg9ZTtoPjE7aC89MilnLS07KGI9YS50aCh7a2k6YixsaTpjLHVpOmR9KSk/KGI9KG5ldyBfLld2KF8uYW5hKGEuc2gsYikpKS5odigieCIsYi5raSkuaHYoInkiLGIubGkpLmh2KCJ6IixnKSxlIT09MSYmYi5odigidyIsYS5DaS5zaXplLlhoL2UpLGYmJihlKj0yKSxlIT09MSYmYi5odigic2NhbGUiLGUpLGEucWguc2V0VXJsKGIudG9TdHJpbmcoKSkudGhlbihhLmxuKSk6YS5xaC5zZXRVcmwoIiIpLnRoZW4oYS5sbil9LEFEPWZ1bmN0aW9uKGEsYixjLGQ9e1FsOm51bGx9KXt2YXIgZT1kLmhlYWRpbmcsZj1kLkhMLGc9ZC5RbDtkPWQuT3g7dmFyIGg9Xy5qbShlKTtmPSFoJiZmIT09ITE7aWYoYj09PSJzYXRlbGxpdGUiJiZoKXt2YXIgaztoP2s9dHZhKGEuc2gsZXx8MCk6az1zdmEoXy5HKGEuc2guc2gsXy5SeSwyKSk7Yj1uZXcgXy5sQih7WGg6MjU2LFloOjI1Nn0saD80NTowLGV8fDApOwpyZXR1cm4gbmV3IFB2YShrLGYmJl8uWXcoKT4xLF8uWHgoZSksZyYmZy5zY2FsZXx8bnVsbCxiLGg/YS56aDpudWxsLCEhZCxhLndoKX1yZXR1cm4gbmV3IF8ubkIoXy5UeChhLnNoKSwiU29ycnksIHdlIGhhdmUgbm8gaW1hZ2VyeSBoZXJlLiIsZiYmXy5ZdygpPjEsXy5YeChlKSxjLGcsZSxhLndoLGEueGgsISFkKX0sU3ZhPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkKXtpZighZHx8IWQuU28pcmV0dXJuIGQ7dmFyIGU9ZC5Tby5jbG9uZSgpO18uUHcoXy5DeChfLkp4KGUpKSxjKTtyZXR1cm57c2NhbGU6ZC5zY2FsZSxDcTpkLkNxLFNvOmV9fXJldHVybiBjPT57dmFyIGQ9QUQoYSwicm9hZG1hcCIsYS5xaCx7SEw6ITEsUWw6YigzLGMuUWwoKS5nZXQoKSl9KSxlPUFEKGEsInJvYWRtYXAiLGEucWgse1FsOmIoMTgsYy5RbCgpLmdldCgpKX0pO2Q9bmV3IFF2YShbZCxlXSk7Yz1BRChhLCJyb2FkbWFwIixhLnFoLHtRbDpjLlFsKCkuZ2V0KCl9KTtyZXR1cm4gbmV3IFJ2YShkLGMpfX0sClR2YT1mdW5jdGlvbihhKXtyZXR1cm4oYixjKT0+e3ZhciBkPWIuUWwoKS5nZXQoKTtpZihfLmptKGIuaGVhZGluZykpe2xldCBlPUFEKGEsInNhdGVsbGl0ZSIsbnVsbCx7aGVhZGluZzpiLmhlYWRpbmcsUWw6ZCxPeDohMX0pO2I9QUQoYSwiaHlicmlkIixhLnFoLHtoZWFkaW5nOmIuaGVhZGluZyxRbDpkfSk7cmV0dXJuIG5ldyBRdmEoW2UsYl0sYyl9cmV0dXJuIEFEKGEsImh5YnJpZCIsYS5xaCx7aGVhZGluZzpiLmhlYWRpbmcsUWw6ZCxPeDpjfSl9fSxVdmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IEJEKFR2YShhKSxhLnFoLHR5cGVvZiBiPT09Im51bWJlciI/bmV3IF8uTHEoYik6YS5wcm9qZWN0aW9uLHR5cGVvZiBiPT09Im51bWJlciI/MjE6MjIsIkh5YnJpZCIsIlNob3cgaW1hZ2VyeSB3aXRoIHN0cmVldCBuYW1lcyIsXy5Bei5oeWJyaWQsYG1AJHthLnRofWAse3R5cGU6NjgscGFyYW1zOntzZXQ6IlJvYWRtYXBTYXRlbGxpdGUifX0sImh5YnJpZCIsITEsYS5yaCxhLmxhbmd1YWdlLAphLnJlZ2lvbixiLGEubWFwKX0sVnZhPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT5BRChhLCJzYXRlbGxpdGUiLG51bGwse2hlYWRpbmc6Yi5oZWFkaW5nLFFsOmIuUWwoKS5nZXQoKSxPeDpjfSl9LFd2YT1mdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBiPT09Im51bWJlciI7cmV0dXJuIG5ldyBCRChWdmEoYSksbnVsbCx0eXBlb2YgYj09PSJudW1iZXIiP25ldyBfLkxxKGIpOmEucHJvamVjdGlvbixjPzIxOjIyLCJTYXRlbGxpdGUiLCJTaG93IHNhdGVsbGl0ZSBpbWFnZXJ5IixjPyJhIjpfLkF6LnNhdGVsbGl0ZSxudWxsLG51bGwsInNhdGVsbGl0ZSIsITEsYS5yaCxhLmxhbmd1YWdlLGEucmVnaW9uLGIsYS5tYXApfSxYdmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+QUQoYSxiLGEucWgse1FsOmMuUWwoKS5nZXQoKX0pfSxZdmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9WzAsOTAsMTgwLDI3MF07ZD1kLnlNO2lmKGI9PT0iaHlicmlkIil7Yj1VdmEoYSk7Yi5zaD17fTsKZm9yKGxldCBmIG9mIGUpYi5zaFtmXT1VdmEoYSxmKX1lbHNlIGlmKGI9PT0ic2F0ZWxsaXRlIil7Yj1XdmEoYSk7Yi5zaD17fTtmb3IobGV0IGYgb2YgZSliLnNoW2ZdPVd2YShhLGYpfWVsc2UgYj1iPT09InJvYWRtYXAiJiZfLll3KCk+MSYmZD9uZXcgQkQoU3ZhKGEpLGEucWgsYS5wcm9qZWN0aW9uLDIyLCJNYXAiLCJTaG93IHN0cmVldCBtYXAiLF8uQXoucm9hZG1hcCxgbUAke2EudGh9YCx7dHlwZTo2OCxwYXJhbXM6e3NldDoiUm9hZG1hcCJ9fSwicm9hZG1hcCIsITEsYS5yaCxhLmxhbmd1YWdlLGEucmVnaW9uLHZvaWQgMCxhLm1hcCk6Yj09PSJ0ZXJyYWluIj9uZXcgQkQoWHZhKGEsInRlcnJhaW4iKSxhLnFoLGEucHJvamVjdGlvbiwyMSwiVGVycmFpbiIsIlNob3cgc3RyZWV0IG1hcCB3aXRoIHRlcnJhaW4iLF8uQXoudGVycmFpbixgckAke2EudGh9YCx7dHlwZTo2OCxwYXJhbXM6e3NldDpjPyJUZXJyYWluRGFyayI6IlRlcnJhaW4ifX0sInRlcnJhaW4iLGMsYS5yaCxhLmxhbmd1YWdlLAphLnJlZ2lvbix2b2lkIDAsYS5tYXApOm5ldyBCRChYdmEoYSwicm9hZG1hcCIpLGEucWgsYS5wcm9qZWN0aW9uLDIyLCJNYXAiLCJTaG93IHN0cmVldCBtYXAiLF8uQXoucm9hZG1hcCxgbUAke2EudGh9YCx7dHlwZTo2OCxwYXJhbXM6e3NldDpjPyJSb2FkbWFwRGFyayI6IlJvYWRtYXAifX0sInJvYWRtYXAiLGMsYS5yaCxhLmxhbmd1YWdlLGEucmVnaW9uLHZvaWQgMCxhLm1hcCk7cmV0dXJuIGJ9LFp2YT1mdW5jdGlvbihhKXthLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7YS5zdHlsZS53aWR0aD0iMXB4IjthLnN0eWxlLmhlaWdodD0iMXB4IjthLnN0eWxlLm1hcmdpbj0iLTFweCI7YS5zdHlsZS5wYWRkaW5nPSIwIjthLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Euc3R5bGUuY2xpcFBhdGg9Imluc2V0KDEwMCUpIjthLnN0eWxlLndoaXRlU3BhY2U9Im5vd3JhcCI7YS5zdHlsZS5ib3JkZXI9IjAifSxDRD1mdW5jdGlvbihhLGIsYyxkLGUpeyR2YShhKTthd2EoYSxiLGMsZCwKZSl9LGF3YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWV8fGQsZz1hLlJoLkRuKGMpLGg9Xy5OcShnLGEubWFwLmdldFByb2plY3Rpb24oKSksaz1hLnRoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2M9bmV3IF8uYkIoaCxmLG5ldyBfLmJvKGMuY2xpZW50WC1rLmxlZnQsYy5jbGllbnRZLWsudG9wKSxuZXcgXy5ibyhnLnFoLGcucmgpKTtmPSEhZCYmZC5wb2ludGVyVHlwZT09PSJ0b3VjaCI7Zz0hIWQmJiEhd2luZG93Lk1TUG9pbnRlckV2ZW50JiZkLnBvaW50ZXJUeXBlPT09d2luZG93Lk1TUG9pbnRlckV2ZW50Lk1TUE9JTlRFUl9UWVBFX1RPVUNIO2lmKGEubWFwLl9fZ20uemgudEEoYixjLCEhZCYmISFkLnRvdWNoZXN8fGZ8fGcpKWQmJmUmJl8ucXUoZSkmJl8uaG4oZCk7ZWxzZXthLm1hcC5fX2dtLnNldCgiY3Vyc29yIixhLm1hcC5nZXQoImRyYWdnYWJsZUN1cnNvciIpKTtiIT09ImRyYWdzdGFydCImJmIhPT0iZHJhZyImJmIhPT0iZHJhZ2VuZCJ8fF8ud24oYS5tYXAuX19nbSwKYixjKTtpZihhLndoLmdldCgpPT09Im5vbmUiKXtpZihiPT09ImRyYWdzdGFydCJ8fGI9PT0iZHJhZ2VuZCIpcmV0dXJuO2I9PT0iZHJhZyImJihiPSJtb3VzZW1vdmUiKX1iPT09ImRyYWdzdGFydCJ8fGI9PT0iZHJhZyJ8fGI9PT0iZHJhZ2VuZCI/Xy53bihhLm1hcCxiKTpfLnduKGEubWFwLGIsYyl9fSwkdmE9ZnVuY3Rpb24oYSl7aWYoYS5yaCl7bGV0IGI9YS5yaDthd2EoYSwibW91c2Vtb3ZlIixiLmNvb3JkcyxiLnFoKTthLnJoPW51bGw7YS5zaD1EYXRlLm5vdygpfX0sY3dhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIFssYyxkXT1fLnNsKF8uSmwpLnJoKCkuc3BsaXQoIi4iKSxlPXtsYW5ndWFnZTpfLkpsLnJoKCkucmgoKSxyZWdpb246Xy5KbC5yaCgpLnRoKCksYWx0OiJwcm90b2pzb24ifTtlPUJ2YShlKTtjJiZlLmFkZCgibWFqb3JfdmVyc2lvbiIsYyk7ZCYmZS5hZGQoIm1pbm9yX3ZlcnNpb24iLGQpO2ImJmUuYWRkKCJtYXBfaWRzIixiKTtlLmFkZCgibWFwX3R5cGUiLAoxKTt2YXIgZj1gJHtfLnZtKCJnTWFwQ29uZmlnc0Jhc2VVcmwiKXx8Imh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9tYXBzanMvbWFwQ29uZmlnczpiYXRjaEdldCJ9PyR7ZS50b1N0cmluZygpfWAsZz1gR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEk6IFVuYWJsZSB0byBmZXRjaCBjb25maWd1cmF0aW9uIGZvciBtYXBJZCAke2J9YCxoPWEucmgoKTtyZXR1cm4gbmV3IFByb21pc2Uoaz0+e18ueGsoaCwiY29tcGxldGUiLCgpPT57aWYoXy5PayhoKSl7aWYoaC5xaCliOnt2YXIgbT1oLnFoLnJlc3BvbnNlVGV4dDtpZihfLlVhLkpTT04pdHJ5e3ZhciBwPV8uVWEuSlNPTi5wYXJzZShtKTticmVhayBifWNhdGNoKHEpe31wPW12YShtKX1lbHNlIHA9dm9pZCAwO3A9bmV3IGJ3YShwKTttPV8uQ2cocCxfLlN5LDEpO1ttXT1tO2Euc2w9Xy5tZyhwLDIpO20mJl8ud2YobSkubGVuZ3RoP2EucWg9bTooY29uc29sZS5lcnJvcihnKSxhLnFoPW51bGwpfWVsc2UgY29uc29sZS5lcnJvcihnKSwKYS5xaD1udWxsLGEuc2w9bnVsbDtrKCl9KTtoLnNlbmQoZil9KX0sREQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5BdyhiKS5maWx0ZXIoYz0+KDAsXy56cWEpKGMpP2M9PT1hLnFofHxjPT09YS5yaHx8Yy5vZmZzZXRXaWR0aCYmYy5vZmZzZXRIZWlnaHQmJndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGMpLnZpc2liaWxpdHkhPT0iaGlkZGVuIjohMSl9LGR3YT1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGc9PmEub3duZXJFbGVtZW50LmNvbnRhaW5zKGcpKSxkPWIuaW5kZXhPZihjWzBdKSxlPWIuaW5kZXhPZihhLnFoLGQpLGY9Yi5pbmRleE9mKGEucmgsZSk7Yj1iLmluZGV4T2YoY1tjLmxlbmd0aC0xXSxmKTtpZighKGEub3duZXJFbGVtZW50LmdldFJvb3ROb2RlKClpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpKWZvcihsZXQgZyBvZltkLGUsZixiXSk7cmV0dXJue0dOOmQsSkQ6ZSxpSTpmLEhOOmJ9fSxFRD1mdW5jdGlvbihhKXtEdmEoYSkuY2F0Y2goKCk9Pnt9KX0sRkQ9ZnVuY3Rpb24oYSl7YT0KYS5vd25lckVsZW1lbnQuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gYSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q/YS5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50OmRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9LGV3YT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMiIpLGY9e1pzOm5ldyBfLmJvKDAsMCksSXU6bmV3IF8uZ28oMjQsMjQpLGxhYmVsOiJDbG9zZSBkaWFsb2ciLG9mZnNldDpuZXcgXy5ibygyNCwyNCksb3duZXJFbGVtZW50OmEub3duZXJFbGVtZW50fTtmPW5ldyBfLlVxKGYpO2UudGV4dENvbnRlbnQ9YS50aXRsZTtmLmVsZW1lbnQuc3R5bGUucG9zaXRpb249InN0YXRpYyI7Zi5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2EucWwoKX0pOwpkLmFwcGVuZENoaWxkKGUpO2QuYXBwZW5kQ2hpbGQoZi5lbGVtZW50KTtjLmFwcGVuZENoaWxkKGEuY29udGVudCk7Yi5hcHBlbmRDaGlsZChkKTtiLmFwcGVuZENoaWxkKGMpO18uVHEoZCwiZGlhbG9nLXZpZXctLWhlYWRlciIpO18uVHEoYiwiZGlhbG9nLXZpZXctLWNvbnRlbnQiKTtfLlRxKGMsImRpYWxvZy12aWV3LS1pbm5lci1jb250ZW50Iik7cmV0dXJuIGJ9LGZ3YT1mdW5jdGlvbihhKXthLmFpLnR1KGI9PntiKG51bGwpfSl9LGd3YT1mdW5jdGlvbigpe3JldHVybihhLGIpPT57aWYoYSYmYilyZXR1cm4uOTw9R0QoYSxiKX19LGl3YT1mdW5jdGlvbigpe3ZhciBhPWh3YSxiPSExO3JldHVybihjLGQpPT57aWYoYyYmZCl7aWYoLjk5OTk5OT5HRChjLGQpKXJldHVybiBiPSExO2M9Q3ZhKGMsKGEtMSkvMik7cmV0dXJuLjk5OTk5OTxHRChjLGQpP2I9ITA6Yn19fSxOdmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5nZXQoImZlYXR1cmVSZWN0cyIpfHxbXSkuc29tZShjPT5jLmNvbnRhaW5zKGIpKX0sCkdEPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuIDA7dmFyIGM9MDtpZighYSlyZXR1cm4gYzt2YXIgZD1hLmxhdCxlPWEubG5nO2ZvcihsZXQgZyBvZiBiKWlmKGEuaW50ZXJzZWN0cyhnKSl7Yj1nLmxhdDt2YXIgZj1nLmxuZztpZihnLmNvbnRhaW5zQm91bmRzKGEpKXJldHVybiAxO2Y9ZS5jb250YWlucyhmLmxvKSYmZi5jb250YWlucyhlLmxvKSYmIWUuZXF1YWxzKGYpP18uTm4oZi5sbyxlLmhpKStfLk5uKGUubG8sZi5oaSk6Xy5ObihlLmNvbnRhaW5zKGYubG8pP2YubG86ZS5sbyxlLmNvbnRhaW5zKGYuaGkpP2YuaGk6ZS5oaSk7Yys9ZiooTWF0aC5taW4oZC5oaSxiLmhpKS1NYXRoLm1heChkLmxvLGIubG8pKX1yZXR1cm4gYy89ZC5zcGFuKCkqZS5zcGFuKCl9LElEPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7dmFyIGs9YS5fX2dtLG09ay5nZXQoImJhc2VNYXBUeXBlIik7bSYmIW0ub3cmJihhLmdldFRpbHQoKSE9PTAmJmEuc2V0VGlsdCgwKSxhLmdldEhlYWRpbmcoKSE9PQowJiZhLnNldEhlYWRpbmcoMCkpO3ZhciBwPUlELlhNKGEuZ2V0RGl2KCkpO3Aud2lkdGgtPWU7cC53aWR0aD1NYXRoLm1heCgxLHAud2lkdGgpO3AuaGVpZ2h0LT1mO3AuaGVpZ2h0PU1hdGgubWF4KDEscC5oZWlnaHQpO209YS5nZXRQcm9qZWN0aW9uKCk7cD1JRC5ZTShtLGIscCxhLmdldCgiaXNGcmFjdGlvbmFsWm9vbUVuYWJsZWQiKSk7dmFyIHE9YS5nZXQoIm1heFpvb20iKXx8MjI7cD5xJiYocD1xKTt2YXIgdT1JRC5lTihiLG0pO2lmKF8uam0ocCkmJnUpe3E9Xy5WcChwLGEuZ2V0VGlsdCgpfHwwLGEuZ2V0SGVhZGluZygpfHwwKTt2YXIgeD1fLlhwKHEse1hoOmcvMixZaDpoLzJ9KTt1PV8udXYoXy5Fdyh1LG0pLHgpOyh1PV8uTnEodSxtKSl8fGNvbnNvbGUud2FybigiVW5hYmxlIHRvIGNhbGN1bGF0ZSBuZXcgbWFwIGNlbnRlci4iKTt4PWEuZ2V0Q2VudGVyKCk7ay5nZXQoImlzSW5pdGlhbGl6ZWQiKSYmdSYmeCYmcCYmcD09PWEuZ2V0Wm9vbSgpPyhrPV8ueXYocSxfLkV3KHgsCm0pKSxtPV8ueXYocSxfLkV3KHUsbSkpLGEucGFuQnkobS5YaC1rLlhoLG0uWWgtay5ZaCkpOihhLnNldENlbnRlcih1KSxhLnNldFpvb20ocCkpfX12YXIgZT04MCxmPTgwLGc9MCxoPTA7aWYodHlwZW9mIGM9PT0ibnVtYmVyIillPWY9MipjLS4wMTtlbHNlIGlmKGMpe2xldCBrPWMubGVmdHx8MCxtPWMucmlnaHR8fDAscD1jLmJvdHRvbXx8MDtjPWMudG9wfHwwO2U9ayttLS4wMTtmPWMrcC0uMDE7aD1jLXA7Zz1rLW19YS5nZXRQcm9qZWN0aW9uKCk/ZCgpOl8udG4oYSwicHJvamVjdGlvbl9jaGFuZ2VkIixkKX0sa3dhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtuZXcgandhKGEsYixjLGQsZSxmKX0sbHdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucWgubGVuZ3RoO2ZvcihsZXQgYz0wO2M8YjsrK2MpXy5ZeChhLnFoW2NdLEpEKGEsYS5tYXBUeXBlcy5nZXRBdChjKSkpfSxvd2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm1hcFR5cGVzLmdldEF0KGIpO213YShhLGMpO3ZhciBkPWEuc2goYS50aCwKYixhLlJoLGU9Pnt2YXIgZj1hLm1hcFR5cGVzLmdldEF0KGIpOyFlJiZmJiZfLnduKGYsInRpbGVzbG9hZGVkIil9KTtfLll4KGQsSkQoYSxjKSk7YS5xaC5zcGxpY2UoYiwwLGQpO253YShhLGIpfSxKRD1mdW5jdGlvbihhLGIpe3JldHVybiBiP2IgaW5zdGFuY2VvZiBfLkFxP2IucWgoYS5yaC5nZXQoKSk6bmV3IF8ucEIoYik6bnVsbH0sbXdhPWZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9MTUwNzgxO3N3aXRjaChiLm1hcFR5cGVJZCl7Y2FzZSAicm9hZG1hcCI6Yz0xNTA3Nzc7YnJlYWs7Y2FzZSAic2F0ZWxsaXRlIjpjPTE1MDc3ODticmVhaztjYXNlICJoeWJyaWQiOmM9MTUwNzc5O2JyZWFrO2Nhc2UgInRlcnJhaW4iOmM9MTUwNzgwfWIgaW5zdGFuY2VvZiBfLkJxJiYoYz0xNTA3ODIpO2Eud2goYyl9fSxud2E9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9MDtjPGEucWgubGVuZ3RoOysrYyljIT09YiYmYS5xaFtjXS5zZXRaSW5kZXgoYyl9LHB3YT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gbmV3IF8ub0IoKGUsCmYpPT57ZT1uZXcgXy5yQihhLGIsYyxfLmJ5KGUpLGYse0NBOiEwfSk7Yy5OaihlKTtyZXR1cm4gZX0sZCl9LHF3YT1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBkP25ldyBLRChhLCgpPT5lKTpfLkxwWzIzXT9uZXcgS0QoYSxmPT57dmFyIGc9Yy5nZXQoInNjYWxlIik7cmV0dXJuIGc9PT0yfHxnPT09ND9iOmZ9KTphfSxyd2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEubWFwVHlwZUlkKXtjYXNlICJyb2FkbWFwIjpyZXR1cm4gMTQ5ODc5O2Nhc2UgInNhdGVsbGl0ZSI6cmV0dXJuIGEub3c/MTQ5ODgyOjE0OTg4MDtjYXNlICJoeWJyaWQiOnJldHVybiBhLm93PzE0OTg4MjoxNDk4Nzc7Y2FzZSAidGVycmFpbiI6cmV0dXJuIDE0OTg4MTtkZWZhdWx0OnJldHVybiAxNDk4Nzh9fSxzd2E9ZnVuY3Rpb24oYSl7aWYoXy5ydyhhLmdldERpdigpKSYmXy55dygpKXtfLk0oYSwxNDk4NzYpO3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0idmlld3BvcnQiXScpOyhiPQpiJiZiLmNvbnRlbnQpJiZiLm1hdGNoKC93aWR0aD1kZXZpY2Utd2lkdGgvKSYmXy5NKGEsMTQ5ODc1KX19LExEPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7c3dpdGNoKGEpe2Nhc2UgMDpiPTE2NTc1MjticmVhaztjYXNlIDE6Yj0xNjU3NTM7YnJlYWs7Y2FzZSAyOmI9MTY1NzU0O2JyZWFrO2Nhc2UgMzpiPTE2NTc1NTticmVhaztjYXNlIDQ6TEQoMCk7Yj0xNjU3NTM7YnJlYWs7Y2FzZSA1OkxEKDIpLGI9MTY1NzU1fWImJl8uTSh3aW5kb3csYil9LHR3YT1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbmQoYz0+YTw9Yy50aHJlc2hvbGQpPy5BbH0sdXdhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoZixnLGgpe3tsZXQgcT1hLmdldENlbnRlcigpLHU9YS5nZXRab29tKCkseD1hLmdldFByb2plY3Rpb24oKTtpZihxJiZ1IT1udWxsJiZ4KXt2YXIgaz1hLmdldFRpbHQoKXx8MCxtPWEuZ2V0SGVhZGluZygpfHwwLHA9Xy5WcCh1LGssbSk7Zj17Y2VudGVyOl8udHYoXy5FdyhxLHgpLApfLlhwKHAse1hoOmYsWWg6Z30pKSx6b29tOnUsaGVhZGluZzptLHRpbHQ6a319ZWxzZSBmPXZvaWQgMH1mJiZjLllsKGYsaCl9Xy5rbihiLCJwYW5ieSIsKGYsZyk9PntlKGYsZywhMCl9KTtfLmtuKGIsInBhbmJ5bm93IiwoZixnKT0+e2UoZixnLCExKX0pO18ua24oYiwicGFuYnlmcmFjdGlvbiIsKGYsZyk9Pnt2YXIgaD1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2YqPWgucmlnaHQtaC5sZWZ0O2cqPWguYm90dG9tLWgudG9wO2UoZixnLCEwKX0pO18ua24oYiwicGFudG9sYXRsbmdib3VuZHMiLChmLGcpPT57Xy51bmEoYSxjLGYsZyl9KTtfLmtuKGIsInBhbnRvIixmPT57aWYoZiBpbnN0YW5jZW9mIF8uVG0pe3ZhciBnPWEuZ2V0Q2VudGVyKCk7bGV0IGg9YS5nZXRab29tKCksaz1hLmdldFByb2plY3Rpb24oKTtnJiZoIT1udWxsJiZrPyhmPV8uRXcoZixrKSxnPV8uRXcoZyxrKSxkLllsKHtjZW50ZXI6Xy53dihkLlJoLlFrLGYsZyksem9vbTpoLGhlYWRpbmc6YS5nZXRIZWFkaW5nKCl8fAowLHRpbHQ6YS5nZXRUaWx0KCl8fDB9KSk6YS5zZXRDZW50ZXIoZil9ZWxzZSB0aHJvdyBFcnJvcigicGFuVG86IGxhdExuZyBtdXN0IGJlIG9mIHR5cGUgTGF0TG5nIik7fSl9LHZ3YT1mdW5jdGlvbihhLGIsYyl7Xy5rbihiLCJ0aWx0cm90YXRlYnlub3ciLChkLGUpPT57dmFyIGY9YS5nZXRDZW50ZXIoKSxnPWEuZ2V0Wm9vbSgpLGg9YS5nZXRQcm9qZWN0aW9uKCk7aWYoZiYmZyE9bnVsbCYmaCl7dmFyIGs9YS5nZXRUaWx0KCl8fDAsbT1hLmdldEhlYWRpbmcoKXx8MDtjLllsKHtjZW50ZXI6Xy5FdyhmLGgpLHpvb206ZyxoZWFkaW5nOm0rZCx0aWx0OmsrZX0sITEpfX0pfSxNRD1mdW5jdGlvbihhLGIsYyl7YS5tYXAuX19nbS5XaChuZXcgXy5jcmEoYixjKSl9LHd3YT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1hLm1hcC5fX2dtLGM9Yi5nZXQoImJsb2NraW5nTGF5ZXJDb3VudCIpfHwwO2Iuc2V0KCJibG9ja2luZ0xheWVyQ291bnQiLGMrMSk7YXdhaXQgY3dhKGEucWgsYS5tYXBJZCk7CmM9YS5xaC5xaDt2YXIgZD1hLnFoLnNsO2M/TUQoYSxjLGQpOk1EKGEsbnVsbCxudWxsKTthd2FpdCBiLndoO2E9Yi5nZXQoImJsb2NraW5nTGF5ZXJDb3VudCIpfHwwO2Iuc2V0KCJibG9ja2luZ0xheWVyQ291bnQiLGEtMSl9LHh3YT1mdW5jdGlvbigpe3ZhciBhPW51bGwsYj1udWxsLGM9ITE7cmV0dXJuKGQsZSxmKT0+e2lmKGYpcmV0dXJuIG51bGw7aWYoYj09PWQmJmM9PT1lKXJldHVybiBhO2I9ZDtjPWU7YT1udWxsO2QgaW5zdGFuY2VvZiBfLkFxP2E9ZC5xaChlKTpkJiYoYT1uZXcgXy5wQihkKSk7cmV0dXJuIGF9fSx6d2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9fZ207Yj1uZXcgeXdhKGEubWFwVHlwZXMsYy5SbCxiLGMuWXIsYSk7Yi5iaW5kVG8oImhlYWRpbmciLGEpO2IuYmluZFRvKCJtYXBUeXBlSWQiLGEpO18uTHBbMjNdJiZiLmJpbmRUbygic2NhbGUiLGEpO2IuYmluZFRvKCJhcGlzdHlsZSIsYyk7Yi5iaW5kVG8oImF1dGhVc2VyIixjKTtiLmJpbmRUbygidGlsdCIsCmMpO2IuYmluZFRvKCJibG9ja2luZ0xheWVyQ291bnQiLGMpO3JldHVybiBifSxBd2E9ZnVuY3Rpb24oYSxiKXtpZihhLnRoPWIpYS56aCYmYS5zZXQoImhlYWRpbmciLGEuemgpLGI9YS5nZXQoIm1hcFR5cGVJZCIpLGEucmgoYil9LEJ3YT1mdW5jdGlvbihhKXtyZXR1cm4gYT49MTUuNT82Ny41OmE+MTQ/NDUrKGEtMTQpKjIyLjUvMS41OmE+MTA/MzArKGEtMTApKjE1LzQ6MzB9LE5EPWZ1bmN0aW9uKGEpe2lmKGEuZ2V0KCJtYXBUeXBlSWQiKSl7dmFyIGI9YS5zZXQ7dmFyIGM9YS5nZXQoInpvb20iKXx8MDt2YXIgZD1hLmdldCgiZGVzaXJlZFRpbHQiKTthLnFoPyhkPWR8fDAsYz1Cd2EoYyksYz1kPmM/YzpkKTpjPTA7Yi5jYWxsKGEsImFjdHVhbFRpbHQiLGMpfX0sQ3dhPWZ1bmN0aW9uKGEsYil7KGEucWg9YikmJk5EKGEpfSxEd2E9ZnVuY3Rpb24oYSxiLGMpe3N3aXRjaChiLmdldCgibWFwVHlwZUlkIikpe2Nhc2UgInJvYWRtYXAiOmEucmg9Yy5jb2xvclNjaGVtZT09PSJEQVJLIj8KMjoxO2JyZWFrO2Nhc2UgInRlcnJhaW4iOmEucmg9Yy5jb2xvclNjaGVtZT09PSJEQVJLIj82OjU7YnJlYWs7Y2FzZSAiaHlicmlkIjpjYXNlICJzYXRlbGxpdGUiOmEucmg9NzticmVhaztkZWZhdWx0OmEucmg9MH1jLkZoJiZ5dmEoYSxjLkZoKX0sRXdhPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKHUpe18uTShiLHUpfWlmKCFhLmlzRW1wdHkoKSl7dmFyIGU9dnZhKGEpLGY9dXZhKGEpLGc9Yy5jb2xvclNjaGVtZT09PSJEQVJLIixoPWc/MjU4MzU1OjE0OTgzNSxrPWIuZ2V0KCJtYXBUeXBlSWQiKTtpZihmKXtsZXQgdT1fLnZuYShhKTt1LmdldCg4KSYmKF8uTShiLDE4NjM2MyksayE9PSJyb2FkbWFwInx8Z3x8KGg9MTg2MzYzKSk7dS5nZXQoMjcpJiYoXy5NKGIsMjU1OTI5KSxrPT09InJvYWRtYXAiJiZnJiYoaD0yNTU5MjkpKTt1LmdldCgxMikmJihfLk0oYiwyNTU5MzApLGshPT0idGVycmFpbiJ8fGd8fChoPTI1NTkzMCkpO3UuZ2V0KDI5KSYmKF8uTShiLDI1NTkzMSksCms9PT0idGVycmFpbiImJmcmJihoPTI1NTkzMSkpO3UuZ2V0KDExKSYmKF8uTShiLDI1NTkzMiksaz09PSJoeWJyaWQiJiYoaD0yNTU5MzIpKX1kKGgpO3ZhciBtPV8uQm5hKGEsZCkscD1fLkRuYShhKSxxPXA7cCYmcC5zdHlsZXJzJiYocT17Li4ucCxzdHlsZXJzOltdfSk7KGZ8fGV8fG0ubGVuZ3RofHxwKSYmXy51bihiLCJtYXB0eXBlaWRfY2hhbmdlZCIsKCk9Pnt2YXIgdT1jLlJsLmdldCgpO0R3YShhLGIsYyk7eXZhKGEsYy5GaD8/IiIpO3ZhciB4PWEucW0oKTt4JiYoYy5Nci5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9eCk7Yi5nZXQoIm1hcFR5cGVJZCIpPT09InJvYWRtYXAiPyhjLnNldCgiYXBpc3R5bGUiLGV8fG51bGwpLGMuc2V0KCJoYXNDdXN0b21TdHlsZXMiLGZ8fCEhZSksbS5mb3JFYWNoKHo9Pnt1PV8ucnYodSx6KX0pLGMuUmwuc2V0KHUpLHg9cCxmJiYoYy5zZXQoImlzTGVnZW5kYXJ5IiwhMCkseD17Li4ucCxzdHlsZXJzOm51bGx9KSxjLllyLnNldCh4KSk6KGMuc2V0KCJhcGlzdHlsZSIsCm51bGwpLGMuc2V0KCJoYXNDdXN0b21TdHlsZXMiLCExKSxtLmZvckVhY2goej0+e3U9dS5xcSh6KX0pLGMuUmwuc2V0KHUpLGMuWXIuc2V0KHEpKX0pfX0sRndhPWZ1bmN0aW9uKGEpe2lmKCFhLnNoKXthLnNoPSEwO3ZhciBiPSgpPT57YS5SaC5YQSgpP18uJHgoYik6KGEuc2g9ITEsXy53bihhLm1hcCwiaWRsZSIpKX07Xy4keChiKX19LE9EPWZ1bmN0aW9uKGEpe2lmKCFhLndoKXthLnJoKCk7dmFyIGI9YS5SaC5zbSgpLGM9YS5tYXAuZ2V0VGlsdCgpfHwwLGQ9IWJ8fGIudGlsdCE9PWMsZT1hLm1hcC5nZXRIZWFkaW5nKCl8fDAsZj0hYnx8Yi5oZWFkaW5nIT09ZTtpZihhLnRoPyFhLnFoOiFhLnFofHxkfHxmKXthLndoPSEwO3RyeXtsZXQgaz1hLm1hcC5nZXRQcm9qZWN0aW9uKCksbT1hLm1hcC5nZXRDZW50ZXIoKSxwPWEubWFwLmdldFpvb20oKTthLm1hcC5nZXQoImlzRnJhY3Rpb25hbFpvb21FbmFibGVkIil8fE1hdGgucm91bmQocCk9PT1wfHx0eXBlb2YgcCE9PSJudW1iZXIifHwKXy5NKGEubWFwLDE0OTgzNyk7aWYoayYmbSYmcCE9bnVsbCYmIWlzTmFOKG0ubGF0KCkpJiYhaXNOYU4obS5sbmcoKSkpe3ZhciBnPV8uRXcobSxrKSxoPSFifHxiLnpvb20hPT1wfHxkfHxmO2EuUmguWWwoe2NlbnRlcjpnLHpvb206cCx0aWx0OmMsaGVhZGluZzplfSxhLnhoJiZoKX19ZmluYWxseXthLndoPSExfX19fSxJd2E9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7dmFyIGI9W107Zm9yKGxldCBnIG9mIGEpe3ZhciBjPWcuZmVhdHVyZVR5cGUsZD1nLmVsZW1lbnRUeXBlLGU9Zy5zdHlsZXJzLGY9W107bGV0IGg9R3ZhKGMpO2gmJmYucHVzaChgcy50OiR7aH1gKTtjIT1udWxsJiZoPT1udWxsJiZfLkJtKF8uQW0oYGludmFsaWQgc3R5bGUgZmVhdHVyZSB0eXBlOiAke2N9YCxudWxsKSk7Yz1kJiZHd2FbZC50b0xvd2VyQ2FzZSgpXTsoYz1jIT1udWxsP2M6bnVsbCkmJmYucHVzaChgcy5lOiR7Y31gKTtkIT1udWxsJiZjPT1udWxsJiZfLkJtKF8uQW0oYGludmFsaWQgc3R5bGUgZWxlbWVudCB0eXBlOiAke2R9YCwKbnVsbCkpO2lmKGUpZm9yKGxldCBrIG9mIGUpe2E6e2Q9aztmb3IobGV0IG0gb2YgT2JqZWN0LmtleXMoZCkpaWYoZT1kW21dLChjPW0mJkh3YVttLnRvTG93ZXJDYXNlKCldfHxudWxsKSYmKF8uam0oZSl8fF8ubW0oZSl8fF8ubm0oZSkpJiZlKXtkPWBwLiR7Y306JHtlfWA7YnJlYWsgYX1kPXZvaWQgMH1kJiZmLnB1c2goZCl9KGY9Zi5qb2luKCJ8IikpJiZiLnB1c2goZil9Yj1iLmpvaW4oIiwiKTtyZXR1cm4gYi5sZW5ndGg+KF8uTHBbMTMxXT8xMjI4ODoxRTMpPyhfLnJtKCJDdXN0b20gc3R5bGUgc3RyaW5nIGZvciAiK2EudG9TdHJpbmcoKSksIiIpOmJ9LEt3YT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdOyFhLmdldCgiaXNMZWdlbmRhcnkiKSYmXy5McFsxM10mJmMucHVzaCh7ZmVhdHVyZVR5cGU6InBvaS5idXNpbmVzcyIsZWxlbWVudFR5cGU6ImxhYmVscyIsc3R5bGVyczpbe3Zpc2liaWxpdHk6Im9mZiJ9XX0pO2ImJihBcnJheS5pc0FycmF5KGIpfHxjb25zb2xlLmVycm9yKCJNYXAgc3R5bGVzIG11c3QgYmUgYW4gYXJyYXksIGJ1dCB3YXMgcGFzc2VkOiIsCmIpLEp3YShjLGIpKTtiPWEuZ2V0KCJ1RFMiKT9hLmdldCgibWFwVHlwZUlkIik9PT0iaHlicmlkIj8iIjoicC5zOi02MHxwLmw6LTYwIjpJd2EoYyk7YiE9PWEucWgmJihhLnFoPWIsYS5ub3RpZnkoImFwaXN0eWxlIikpO2lmKGMubGVuZ3RoJiYoIWJ8fGIubGVuZ3RoPjFFMykpe2xldCBkPWI/Yi5sZW5ndGg6MDtfLnlwKCgpPT57Xy53bihhLCJzdHlsZWVycm9yIixkKX0pfX0sSndhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2MpYS5wdXNoKGJbY10pfSxNd2E9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2I9THdhKGIuamooKSk7dmFyIGQ9Xy5veSgpO2MmJihkWyJYLUdvb2ctTWFwcy0tVG1wLUludGVybmFsLVVzYWdlLUF0dHJpYnV0aW9uLUlkcyJdPUFycmF5LmZyb20oYykuam9pbigiLCIpKTthPWEucWg7YT1hd2FpdCBhLnFoLnFoKGEucmgrIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5tYXBzLm1hcHNqcy52MS5NYXBzSnNJbnRlcm5hbFNlcnZpY2UvR2V0Vmlld3BvcnRJbmZvIiwKYixkfHx7fSxfLnhxYSk7cmV0dXJuKDAsXy53cWEpKGEuamooKSl9LE53YT1mdW5jdGlvbihhKXt2YXIgYj1fLkcoYSxfLm9BLDEpO2E9Xy5HKGEsXy5vQSwyKTtyZXR1cm4gXy5TbihfLkt3KGIpLF8uTXcoYiksXy5LdyhhKSxfLk13KGEpKX0sU3dhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJib3VuZHMiKSxjPWEubWFwLl9fZ20uQmg7aWYoYj9iLmxhdC5oaT09PWIubGF0LmxvfHxiLmxuZy5oaT09PWIubG5nLmxvOjEpXy51cChjLCJNQVBfSU5JVElBTElaQVRJT04iKTtlbHNle2EueGguc2V0KCJsYXRMbmciLGImJmIuZ2V0Q2VudGVyKCkpO2Zvcih2YXIgZCBpbiBhLnFoKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLnFoLGQpJiZhLnFoW2RdLnNldCgidmlld3BvcnQiLGIpO2Q9YS5zaDt2YXIgZT1Pd2EoYSksZj1hLmdldCgiYm91bmRzIiksZz1hLmdldE1hcFR5cGVJZCgpO2lmKGU9YS5zaD1fLmptKGUpJiZmJiZnP2Ake2d9fCR7ZX1gOm51bGwpe2lmKChkPQplIT09ZCl8fChkPShkPWEuZ2V0KCJib3VuZHMiKSk/YS5yaD8hYS5yaC5jb250YWluc0JvdW5kcyhkKTohMDohMSksZCl7Zm9yKHZhciBoIGluIGEucWgpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEucWgsaCkmJmEucWhbaF0uc2V0KCJmZWF0dXJlUmVjdHMiLHZvaWQgMCk7aD0rK2Euemg7ZD1hLmdldE1hcFR5cGVJZCgpO2Y9UHdhKGEpO2c9T3dhKGEpO2lmKF8uam0oZikmJl8uam0oZykpe2U9bmV3IF8uU0E7aWYoYS5tYXAuZ2V0KCJtYXBJZCIpKXt2YXIgaz1lLG09YS5tYXAuZ2V0KCJtYXBJZCIpO18uaWgoaywxNixtKX1nPWUua2ooYS5sYW5ndWFnZSkuc2V0Wm9vbShnKTtfLmtoKGcsNSxmKTtmPV8uJGcoZSw3LCExKTtfLmtoKGYsOCwwKTtfLkxwWzQzXT9fLmtoKGUsMTEsNzgpOl8uTHBbMzVdJiZfLmtoKGUsMTEsMjg5KTsoZj1hLmdldCgiYmFzZU1hcFR5cGUiKSkmJmYuSXcmJmEudGgmJl8uaWgoZSw2LGYuSXcpO2Eucmg9Q3ZhKGIsMSwxMCk7Yj0KYS5yaDtmPV8ud2coZSxfLlJBLDEpO18uTncoXy5MdyhfLndnKGYsXy5vQSwxKSxiLmdldFNvdXRoV2VzdCgpLmxhdCgpKSxiLmdldFNvdXRoV2VzdCgpLmxuZygpKTtfLk53KF8uTHcoXy53ZyhmLF8ub0EsMiksYi5nZXROb3J0aEVhc3QoKS5sYXQoKSksYi5nZXROb3J0aEVhc3QoKS5sbmcoKSk7YS53aD8oYS53aD0hMSxiPV8ua2goZSwxMiwxKS5zZXRVcmwoYS5EaC5zdWJzdHJpbmcoMCwxMDI0KSksXy4kZyhiLDE0LCEwKSxhLm1hcC52RXx8KGI9ZSxmPV8uc3UoYS5tYXApLnRvU3RyaW5nKCksXy5paChiLDE3LGYpKSk6Xy5raChlLDEyLDIpO2I9ZTt0cnl7bGV0IHA9YXdhaXQgUXdhKGEsYikscT1hLm1hcC5fX2dtLkJoLHU9Xy5QZyhwLDgpPT09MTt1JiZwLmdldFN0YXR1cygpIT09MCYmXy50cChxLDE0KTt0cnl7UndhKGEsaCxkLHApfWNhdGNoKHgpe3UmJl8udHAocSwxMyl9fWNhdGNoKHApe18uUGcoYiwxMik9PT0xJiYoYT1wPy5tZXNzYWdlPy5tYXRjaCgvZXJyb3I6IFxbKFxkKylcXS8pLApfLnRwKGMsOSx7ZUk6YSYmYS5sZW5ndGg+MT9OdW1iZXIoYVsxXSk6LTF9KSl9fX19ZWxzZSBhLnNldCgiYXR0cmlidXRpb25UZXh0IiwiIil9fSxRd2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm1hcC5nZXRJbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoKTtyZXR1cm4oYz1jP0FycmF5LmZyb20oYyk6dm9pZCAwKT9Nd2EoYS55aCxiLGMpOk13YShhLnloLGIpfSxUd2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRNYXBUeXBlSWQoKTtpZihiPT09Imh5YnJpZCJ8fGI9PT0ic2F0ZWxsaXRlIil2YXIgYz1hLkNoO2EueGguc2V0KCJtYXhab29tUmVjdHMiLGMpfSxPd2E9ZnVuY3Rpb24oYSl7YT1hLmdldCgiem9vbSIpO3JldHVybiBfLmptKGEpP01hdGgucm91bmQoYSk6bnVsbH0sUHdhPWZ1bmN0aW9uKGEpe2E9YS5nZXQoImJhc2VNYXBUeXBlIik7aWYoIWEpcmV0dXJuIG51bGw7c3dpdGNoKGEubWFwVHlwZUlkKXtjYXNlICJyb2FkbWFwIjpyZXR1cm4gMDtjYXNlICJ0ZXJyYWluIjpyZXR1cm4gNDsKY2FzZSAiaHlicmlkIjpyZXR1cm4gMztjYXNlICJzYXRlbGxpdGUiOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSxSd2E9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoKF8uUGcoZCw4KSE9PTF8fFV3YShhLGQpKSYmYj09PWEuemgpe2lmKGEuZ2V0TWFwVHlwZUlkKCk9PT1jKXRyeXt2YXIgZT1kZWNvZGVVUklDb21wb25lbnQoZC5nZXRBdHRyaWJ1dGlvbigpKTthLnNldCgiYXR0cmlidXRpb25UZXh0IixlKX1jYXRjaChoKXtfLk0od2luZG93LDE1NDk1Myl9YS50aCYmVndhKGEudGgsXy5HKGQsV3dhLDQpKTt2YXIgZj17fTtmb3IobGV0IGg9MCxrPV8uWWYoZCxYd2EsMik7aDxrOysraCljPV8ud3UoZCwyLFh3YSxoKSxiPWMuZ2V0RmVhdHVyZU5hbWUoKSxjPV8uRyhjLF8uUkEsMiksYz1Od2EoYyksZltiXT1mW2JdfHxbXSxmW2JdLnB1c2goYyk7Xy5maihhLnFoLChoLGspPT57aC5zZXQoImZlYXR1cmVSZWN0cyIsZltrXXx8W10pfSk7Yj1fLllmKGQsWXdhLDMpO2M9QXJyYXkoYik7CmEuQ2g9Yztmb3IoZT0wO2U8YjsrK2Upe3ZhciBnPV8ud3UoZCwzLFl3YSxlKTtsZXQgaD1fLkxnKGcsMSk7Zz1Od2EoXy5HKGcsXy5SQSwyKSk7Y1tlXT17Ym91bmRzOmcsbWF4Wm9vbTpofX1Ud2EoYSl9fSxVd2E9ZnVuY3Rpb24oYSxiKXtfLml3PSEwO3ZhciBjPV8uRyhiLF8ubnEsOSkuZ2V0U3RhdHVzKCk7aWYoYyE9PTEmJmMhPT0yKXJldHVybiBfLnF5KCksYz1fLkcoYixfLm5xLDkpLGI9Xy5wdShjLDMpP18uRyhiLF8ubnEsOSkucmgoKTpfLnB5KCksXy5ybShiKSxfLlVhLmdtX2F1dGhGYWlsdXJlJiZfLlVhLmdtX2F1dGhGYWlsdXJlKCksXy5rdygpLF8udXAoYS5tYXAuX19nbS5CaCwiTUFQX0lOSVRJQUxJWkFUSU9OIiksITE7Yz09PTImJihhLkJoKCksYT1fLkcoYixfLm5xLDkpLnJoKCl8fF8ucHkoKSxfLnJtKGEpKTtfLmt3KCk7cmV0dXJuITB9LFBEPWZ1bmN0aW9uKGEsYj0tSW5maW5pdHksYz1JbmZpbml0eSl7cmV0dXJuIGI+Yz8oYitjKS8yOk1hdGgubWF4KE1hdGgubWluKGEsCmMpLGIpfSxURD1mdW5jdGlvbihhLGIpe2lmKCEoYS5CaCYmYiE9PWEucmh8fGIudGFyZ2V0RWxlbWVudCYmYS5yaCYmYS5yaC50YXJnZXRFbGVtZW50JiZfLnl5KGIudGFyZ2V0RWxlbWVudCxhLnJoLnRhcmdldEVsZW1lbnQpPjApKXt2YXIgYz1iPT09YS50aDtsZXQgZD1iLk9yKCk7ZCYmYS5xaC5oYXMoZCk/KGIhPT1hLnJoJiZRRChhLGEucmgsYyksUkQoYSxiLGMpKTpiPT09YS5yaCYmKGEuQmg9ITEsUUQoYSxiLGMpLGI9U0QoYSlbMF0pJiYoYj1hLnFoLmdldChiKXx8bnVsbCxSRChhLGIsYykpfX0sVUQ9ZnVuY3Rpb24oYSxiKXtpZihiLnRhcmdldEVsZW1lbnQpe2IudGFyZ2V0RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixhLkZoKTtiLnRhcmdldEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsYS5DaCk7Yi50YXJnZXRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixhLkRoKTtmb3IobGV0IGMgb2YgYS5BaCljLnJlbW92ZSgpOwphLkFoPVtdO2IuT3IoKS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTthLnFoLmRlbGV0ZShiLnRhcmdldEVsZW1lbnQpfX0sUUQ9ZnVuY3Rpb24oYSxiLGM9ITEpe2ImJmIudGFyZ2V0RWxlbWVudCYmKGI9Yi5PcigpLGIuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIiksYyYmYi5ibHVyKCksYS5yaD1udWxsLGEudGg9bnVsbCl9LFJEPWZ1bmN0aW9uKGEsYixjPSExKXtpZihiJiZiLnRhcmdldEVsZW1lbnQpe3ZhciBkPWIuT3IoKTtkLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIik7dmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PWRvY3VtZW50LmJvZHk7YyYmIWUmJmQuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KTthLnJoPWJ9fSxTRD1mdW5jdGlvbihhKXthPVsuLi5hLnFoLmtleXMoKV07YS5zb3J0KF8ueXkpO3JldHVybiBhfSxad2E9ZnVuY3Rpb24oYSxiLGM9ITEpeyFhLnNofHxiJiZiLlRxfHwoYj1jP2BUbyBuYXZpZ2F0ZSwgcHJlc3MgdGhlIGFycm93IGtleXMuJHthLndoPwoiXHUwMGEwIjoiIn1gOiIiLGEueGh8fGEuSWgueXYoYixjKSl9LCR3YT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuX19nbSxkPWIuc2goKTtiPWIudGgoKTt2YXIgZT1iLm1hcChnPT5fLkgoZywyKSk7Zm9yKHZhciBmIG9mIGMudGgua2V5cygpKWMudGguZ2V0KGYpLmlzRW5hYmxlZD1kLmluY2x1ZGVzKGYpO2ZvcihsZXQgW2csaF1vZiBjLnloKXtsZXQgaz1nO2Y9aDtlLmluY2x1ZGVzKGspPyhmLmlzRW5hYmxlZD0hMCxmLkRzPV8uZnYoYi5maW5kKG09Pl8uSChtLDIpPT09aykpKTpmLmlzRW5hYmxlZD0hMX1mb3IobGV0IGcgb2YgZCljLnRoLmhhcyhnKXx8Yy50aC5zZXQoZyxuZXcgXy5xdCh7bWFwOmEsZmVhdHVyZVR5cGU6Z30pKTtmb3IobGV0IGcgb2YgYilkPV8uSChnLDIpLGMueWguaGFzKGQpfHxjLnloLnNldChkLG5ldyBfLnF0KHttYXA6YSxkYXRhc2V0SWQ6ZCxEczpfLmZ2KGcpLGZlYXR1cmVUeXBlOiJEQVRBU0VUIn0pKTtjLkloPSEwfSxheGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGQpe3ZhciBlPQpiLmdldEF0KGQpO2lmKGUgaW5zdGFuY2VvZiBfLkJxKXtkPWUuZ2V0KCJzdHlsZXMiKTtsZXQgZj1Jd2EoZCk7ZS5xaD1nPT57dmFyIGg9Zz9lLnJoPT09Imh5YnJpZCI/IiI6InAuczotNjB8cC5sOi02MCI6ZixrPVl2YShhLGUucmgsITEpO3JldHVybihuZXcgVkQoayxoLG51bGwsbnVsbCxudWxsLG51bGwpKS5xaChnKX19fV8ua24oYiwiaW5zZXJ0X2F0IixjKTtfLmtuKGIsInNldF9hdCIsYyk7Yi5mb3JFYWNoKChkLGUpPT57YyhlKX0pfSxWd2E9ZnVuY3Rpb24oYSxiKXtpZihfLllmKGIsV0QsMSkpe2Eucmg9e307YS5xaD17fTtmb3IobGV0IGU9MDtlPF8uWWYoYixXRCwxKTsrK2Upe3ZhciBjPV8ud3UoYiwxLFdELGUpLGQ9Xy5HKGMsXy5FeCwyKTtsZXQgZj1kLmdldFpvb20oKSxnPV8uU3coZCk7ZD1fLlV3KGQpO2M9Yy5KbygpO2xldCBoPWEucmg7aFtmXT1oW2ZdfHx7fTtoW2ZdW2ddPWhbZl1bZ118fHt9O2hbZl1bZ11bZF09YzthLnFoW2ZdPU1hdGgubWF4KGEucWhbZl18fAowLGMpfWZ3YShhLnNoKX19LGJ4YT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPW5hdmlnYXRvcjtjPShjLnVzZXJBZ2VudERhdGEmJmMudXNlckFnZW50RGF0YS5wbGF0Zm9ybT9jLnVzZXJBZ2VudERhdGEucGxhdGZvcm09PT0ibWFjT1MiOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygibWFjaW50b3NoIikpPyJVc2UgXHUyMzE4ICsgc2Nyb2xsIHRvIHpvb20gdGhlIG1hcCI6IlVzZSBjdHJsICsgc2Nyb2xsIHRvIHpvb20gdGhlIG1hcCI7YS5ydi50ZXh0Q29udGVudD1iP2M6IlVzZSB0d28gZmluZ2VycyB0byBtb3ZlIHRoZSBtYXAiO2EuY29udGFpbmVyLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj0iMC4zcyI7YS5jb250YWluZXIuc3R5bGUub3BhY2l0eT0iMSI7YS5jb250YWluZXIuc3R5bGUuZGlzcGxheT0iIn0sY3hhPWZ1bmN0aW9uKGEpe2EuY29udGFpbmVyLnN0eWxlLnRyYW5zaXRpb25EdXJhdGlvbj0iMC44cyI7YS5jb250YWluZXIuc3R5bGUub3BhY2l0eT0KIjAiO2EuY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxleGE9ZnVuY3Rpb24oYSxiKXtpZighXy5xdShiKSl7dmFyIGM9YS5lbmFibGVkKCk7aWYoYyE9PSExKXt2YXIgZD1jPT1udWxsJiYhYi5jdHJsS2V5JiYhYi5hbHRLZXkmJiFiLm1ldGFLZXkmJiFiLmJ1dHRvbnM7Yz1hLnhoKGQ/MTo0KTtpZihjIT09Im5vbmUiJiYoYyE9PSJjb29wZXJhdGl2ZSJ8fCFkKSYmKF8uZm4oYiksZD1hLlJoLnNtKCkpKXt2YXIgZT0oYi5kZWx0YVl8fGIud2hlZWxEZWx0YXx8MCkqKGIuZGVsdGFNb2RlPT09MT8xNjoxKSxmPWEud2goKTshZiYmKGU+MCYmZTxhLnJofHxlPDAmJmU+YS5yaCk/YS5yaD1lOihhLnJoPWUsYS5xaCs9ZSxhLnRoLnl2KCksIWYmJk1hdGguYWJzKGEucWgpPDE2fHwoZj8oTWF0aC5hYnMoYS5xaCk+MTYmJihhLnFoPV8uY3coYS5xaDwwPy0xNjoxNixhLnFoLC4wMSkpLGU9LShhLnFoLzE2KS81KTplPS1NYXRoLnNpZ24oYS5xaCksYS5xaD0wLGI9Yz09PSJ6b29tYXJvdW5kY2VudGVyIj8KZC5jZW50ZXI6YS5SaC5EbihiKSxmP2EuUmguREsoZSxiKTooYz1NYXRoLnJvdW5kKGQuem9vbStlKSxhLnNoIT09YyYmKGR4YShhLlJoLGMsYiwoKT0+e2Euc2g9bnVsbH0pLGEuc2g9YykpLGEuUW8oMSkpKX19fX0sZnhhPWZ1bmN0aW9uKGEsYil7cmV0dXJue0VqOmEuUmguRG4oYi5FaikscmFkaXVzOmIucmFkaXVzLHpvb206YS5SaC5zbSgpLnpvb219fSxreGE9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ImdyZWVkeSIse3NNOmU9KCk9PiEwLElTOmY9ITEsR1A6Zz0oKT0+bnVsbCx6RjpoPSExLFFvOms9KCk9Pnt9fT17fSl7aD17ekY6aCxMbCh7Y29vcmRzOnUsZXZlbnQ6eCxXcjp6fSl7aWYoeil7ej1xO3ZhciBCPXguYnV0dG9uPT09MztpZih6LmVuYWJsZWQoKSYmKHg9ei5yaCg0KSx4IT09Im5vbmUiKSl7dmFyIEs9ei5SaC5zbSgpO0smJihCPUsuem9vbSsoQj8tMToxKSx6LnFoKCl8fChCPU1hdGgucm91bmQoQikpLHU9eD09PSJ6b29tYXJvdW5kY2VudGVyIj96LlJoLnNtKCkuY2VudGVyOgp6LlJoLkRuKHUpLGR4YSh6LlJoLEIsdSksei5RbygxKSl9fX19O3ZhciBtPV8ucXgoYi5acCxoKSxwPSgpPT5hLmRBIT09dm9pZCAwP2EuZEEoKTohMTtuZXcgZ3hhKGIuWnAsYSxkLGcscCxrKTt2YXIgcT1uZXcgaHhhKGEsZCxlLHAsayk7aC5Hcz1uZXcgaXhhKGEsZCxtLGMsayk7ZiYmKGgudE09bmV3IGp4YShhLG0sYyxrKSk7cmV0dXJuIG19LFhEPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NYXRoLmNvcygtYipNYXRoLlBJLzE4MCk7Yj1NYXRoLnNpbigtYipNYXRoLlBJLzE4MCk7Yz1fLnV2KGMsYSk7cmV0dXJuIG5ldyBfLldwKGMucWgqZC1jLnJoKmIrYS5xaCxjLnFoKmIrYy5yaCpkK2EucmgpfSxZRD1mdW5jdGlvbihhLGIpe3ZhciBjPWEuUmguc20oKTtyZXR1cm57RWo6Yi5FaixrQTphLlJoLkRuKGIuRWopLHJhZGl1czpiLnJhZGl1cyxQbzpiLlBvLEJxOmIuQnEsdnU6Yi52dSx6b29tOmMuem9vbSxoZWFkaW5nOmMuaGVhZGluZyx0aWx0OmMudGlsdCxjZW50ZXI6Yy5jZW50ZXJ9fSwKbHhhPWZ1bmN0aW9uKGEsYil7cmV0dXJue0VqOmIuRWosWU86YS5SaC5zbSgpLnRpbHQsWE86YS5SaC5zbSgpLmhlYWRpbmd9fSxteGE9ZnVuY3Rpb24oe3dpZHRoOmEsaGVpZ2h0OmJ9KXtyZXR1cm57d2lkdGg6YXx8MSxoZWlnaHQ6Ynx8MX19LG54YT1mdW5jdGlvbihhLGI9KCk9Pnt9KXtyZXR1cm57RWw6e2hqOmEsb2o6KCk9PmEsUHU6W10sc2s6MH0sb2o6KCk9Pih7Y2FtZXJhOmEsZG9uZTowfSksS246Yn19LG94YT1mdW5jdGlvbihhKXt2YXIgYj1EYXRlLm5vdygpO3JldHVybiBhLmluc3RydWN0aW9ucz9hLmluc3RydWN0aW9ucy5vaihiKS5jYW1lcmE6bnVsbH0scHhhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluc3RydWN0aW9ucz9hLmluc3RydWN0aW9ucy50eXBlOnZvaWQgMH0sWkQ9ZnVuY3Rpb24oYSl7YS54aHx8KGEueGg9ITAsYS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYj0+e2EueGg9ITE7aWYoYS5pbnN0cnVjdGlvbnMpe2xldCBkPWEuaW5zdHJ1Y3Rpb25zO3ZhciBjPQpkLm9qKGIpO2xldCBlPWMuZG9uZTtjPWMuY2FtZXJhO2U9PT0wJiYoYS5pbnN0cnVjdGlvbnM9bnVsbCxkLktuJiZkLktuKCkpO2M/YS5jYW1lcmE9Yz1hLnFoLkN3KGMpOmM9YS5jYW1lcmE7YyYmKGU9PT0wJiZhLnRoP3F4YShhLmVpLGMsYiwhMSk6KGEuZWkudGkoYyxiLGQuRWwpLGUhPT0xJiZlIT09MHx8WkQoYSkpKTtjJiYhZC5FbCYmYS5zaChjKX1lbHNlIGEuY2FtZXJhJiZxeGEoYS5laSxhLmNhbWVyYSxiLCEwKTthLnRoPSExfSkpfSxxeGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Yi5jZW50ZXIsZj1iLmhlYWRpbmcsZz1iLnRpbHQsaD1fLlZwKGIuem9vbSxnLGYsYS5yaCk7YS5xaD17Y2VudGVyOmUsc2NhbGU6aH07Yj1hLmdldEJvdW5kcyhiKTtlPWEub3JpZ2luPXdEKGgsZSk7YS5vZmZzZXQ9e1hoOjAsWWg6MH07dmFyIGs9YS54aDtrJiYoYS5zaC5zdHlsZVtrXT1hLnRoLnN0eWxlW2tdPWB0cmFuc2xhdGUoJHthLm9mZnNldC5YaH1weCwke2Eub2Zmc2V0LllofXB4KWApOwphLm9wdGlvbnMubkJ8fChhLnNoLnN0eWxlLndpbGxDaGFuZ2U9YS50aC5zdHlsZS53aWxsQ2hhbmdlPSIiKTtrPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCEwKTtmb3IobGV0IG0gb2YgT2JqZWN0LnZhbHVlcyhhLmVpKSltLnRpKGIsYS5vcmlnaW4saCxmLGcsZSx7WGg6ay53aWR0aCxZaDprLmhlaWdodH0se1JOOmQsVnI6ITAsdGltZXN0YW1wOmN9KX0sJEQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybntjZW50ZXI6Xy50dihjLF8uWHAoXy5WcChiLGEudGlsdCxhLmhlYWRpbmcpLF8ueXYoXy5WcChhLnpvb20sYS50aWx0LGEuaGVhZGluZyksXy51dihhLmNlbnRlcixjKSkpKSx6b29tOmIsaGVhZGluZzphLmhlYWRpbmcsdGlsdDphLnRpbHR9fSxyeGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnFoLmNhbWVyYS5oZWFkaW5nIT09Yi5oZWFkaW5nJiZjPzM6YS5zaD9hLnFoLmNhbWVyYS56b29tIT09Yi56b29tJiZjPzI6MTowfSx3eGE9ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPWMuSkwhPT0KITEsZT0hIWMubkI7cmV0dXJuIG5ldyBzeGEoZj0+bmV3IHR4YShhLGYse25COmV9KSwoZixnLGgsayk9Pm5ldyB1eGEobmV3IHZ4YShmLGcsaCkse0tuOmssbWF4RGlzdGFuY2U6ZD8xLjU6MH0pLGIpfSxkeGE9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe3ZhciBlPWEuY29udHJvbGxlci5GdSgpLGY9YS5zbSgpO2I9TWF0aC5taW4oYixlLm1heCk7Yj1NYXRoLm1heChiLGUubWluKTtmJiYoYj0kRChmLGIsYyksZD1hLnNoKGEucWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCEwKSxmLGIsZCksYS5jb250cm9sbGVyLnJoKGQpKX0sYUU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnNtKCk7aWYoIWMpcmV0dXJuIG51bGw7Yj1uZXcgeHhhKGMsYiwoKT0+e1pEKGEuY29udHJvbGxlcil9LGQ9PnthLmNvbnRyb2xsZXIucmgoZCl9LGEuZEEhPT12b2lkIDA/YS5kQSgpOiExKTthLmNvbnRyb2xsZXIucmgoYik7cmV0dXJuIGJ9LHl4YT1mdW5jdGlvbihhLGIpe2EuZEE9Yn0senhhPWZ1bmN0aW9uKGEsCmIsYyxkKXtfLmFtKF8uVXIsKGUsZik9PntjLnNldChmLFl2YShhLGYsYix7eU06ZH0pKX0pfSxBeGE9ZnVuY3Rpb24oYSxiKXtfLnVuKGIsImJhc2VtYXB0eXBlX2NoYW5nZWQiLCgpPT57dmFyIGQ9Yi5nZXQoImJhc2VNYXBUeXBlIik7YSYmZCYmXy5NKGEscndhKGQpKX0pO3ZhciBjPWEuX19nbTtfLnVuKGMsImhhc2N1c3RvbXN0eWxlc19jaGFuZ2VkIiwoKT0+e2MuZ2V0KCJoYXNDdXN0b21TdHlsZXMiKSYmXy5NKGEsMTQ5ODg1KX0pfSxDeGE9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgQnhhKGd3YSgpKSxiPXt9O2Iub2JsaXF1ZXM9bmV3IEJ4YShpd2EoKSk7Yi5yZXBvcnRfbWFwX2lzc3VlPWE7cmV0dXJuIGJ9LER4YT1mdW5jdGlvbihhLGIpe2lmKGEuZ2V0KCJ0aWx0SW50ZXJhY3Rpb25FbmFibGVkIikhPW51bGwpYT1hLmdldCgidGlsdEludGVyYWN0aW9uRW5hYmxlZCIpO2Vsc2V7aWYoYi5xaCl7dmFyIGM9Xy5DdShiLnFoLDEwKT9fLkpnKGIucWgsMTApOm51bGw7IWMmJl8ubXYoYi5xaCkmJgooYj15RChiKSkmJihjPV8uSmcoYiwzKSl9ZWxzZSBjPW51bGw7YT1jPz8hIV8uTW4oYSl9cmV0dXJuIGF9LEV4YT1mdW5jdGlvbihhLGIpe2lmKGEuZ2V0KCJoZWFkaW5nSW50ZXJhY3Rpb25FbmFibGVkIikhPW51bGwpYT1hLmdldCgiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCIpO2Vsc2V7aWYoYi5xaCl7dmFyIGM9Xy5DdShiLnFoLDkpP18uSmcoYi5xaCw5KTpudWxsOyFjJiZfLm12KGIucWgpJiYoYj15RChiKSkmJihjPV8uSmcoYiwyKSl9ZWxzZSBjPW51bGw7YT1jPz8hIV8uTW4oYSl9cmV0dXJuIGF9LGF5YT1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYoTWEpe3ZhciBvYj1zYi5nZXQoKTtXYS5xaChvYj09PSJjb29wZXJhdGl2ZSI/TWE6NCk7cmV0dXJuIG9ifWZ1bmN0aW9uIGcoKXt2YXIgTWE9YS5nZXQoInN0cmVldFZpZXciKTtNYT8oYS5iaW5kVG8oInN2Q2xpZW50IixNYSwiY2xpZW50IiksTWEuX19nbS5iaW5kVG8oImZvbnRMb2FkZWQiLFBkKSk6KGEudW5iaW5kKCJzdkNsaWVudCIpLAphLnNldCgic3ZDbGllbnQiLG51bGwpKX1mdW5jdGlvbiBoKCl7dmFyIE1hPXoucWguY2xpZW50V2lkdGgsb2I9ei5xaC5jbGllbnRIZWlnaHQ7aWYoQ2MhPT1NYXx8amIhPT1vYil7Q2M9TWE7amI9b2I7ZGEmJmRhLlV5KCk7Sy5zZXQoInNpemUiLG5ldyBfLmdvKE1hLG9iKSk7UGIudXBkYXRlKCk7dmFyIGxiPXoucWg7TWE8PTB8fG9iPD0wfHwoKE1hPXR3YShNYSxGeGEpKSYmXy5NKGxiLE1hKSwob2I9dHdhKG9iLEd4YSkpJiZfLk0obGIsb2IpKX19dmFyIGs9Xy5KbC5yaCgpLnJoKCksbT1hLl9fZ20scD1tLkJoO20uc2V0KCJtYXBIYXNCZWVuQWJsZVRvQmVEcmF3biIsITEpO3ZhciBxPW5ldyBQcm9taXNlKE1hPT57dmFyIG9iPV8udW4oYSwiYm91bmRzX2NoYW5nZWQiLGFzeW5jKCk9Pnt2YXIgbGI9YS5nZXQoImJvdW5kcyIpO2xiJiYhXy5wdihsYikuZXF1YWxzKF8ub3YobGIpKSYmKG9iLnJlbW92ZSgpLGF3YWl0IDAsbS5zZXQoIm1hcEhhc0JlZW5BYmxlVG9CZURyYXduIiwKITApLE1hKCkpfSl9KSx1PWEuZ2V0RGl2KCk7aWYodSlpZihBcnJheS5mcm9tKG5ldyBTZXQoWzQyXSkpWzBdIT09NDIpXy5GbmEodSk7ZWxzZXtfLnJuKGMsIm1vdXNlZG93biIsKCk9PntfLk0oYSwxNDk4ODYpfSwhMCk7dmFyIHg9Xy5rY2EobS5jb2xvclNjaGVtZSk7bS5zZXQoImRhcmtUaGVtZUVuYWJsZWQiLHgpO3ZhciB6PW5ldyBfLkJyYSh7Y29udGFpbmVyOmMsZ0g6dSxWRzohMCxldzp4LGJhY2tncm91bmRDb2xvcjpiLmJhY2tncm91bmRDb2xvcj8/dm9pZCAwLGtGOiEwLFVOOl8uQXYoYSkscEs6IWEudkV9KSxCPXouZXEsSz1uZXcgXy55bixPPV8ub2NhKCJESVYiKTtPLmlkPV8uS24oKTtPLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3ouSGouYXBwZW5kQ2hpbGQoTyk7ei5Iai5zZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiLE8uaWQpO3ZhciBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtBLnRleHRDb250ZW50PSJUbyBuYXZpZ2F0ZSB0aGUgbWFwIHdpdGggdG91Y2ggZ2VzdHVyZXMgZG91YmxlLXRhcCBhbmQgaG9sZCB5b3VyIGZpbmdlciBvbiB0aGUgbWFwLCB0aGVuIGRyYWcgdGhlIG1hcC4iOwpfLnVuKGEsImdlc3R1cmVoYW5kbGluZ19jaGFuZ2VkIiwoKT0+e18ueXcoKSYmYS5nZXQoImdlc3R1cmVIYW5kbGluZyIpIT09Im5vbmUiP08ucHJlcGVuZChBKTpBLnJlbW92ZSgpfSk7Xy53dyh6LnFoLDApO20uc2V0KCJwYW5lcyIsei5ubik7bS5zZXQoImlubmVyQ29udGFpbmVyIix6LlpwKTttLnNldCgiaW50ZXJhY3RpdmVDb250YWluZXIiLHouSGopO20uc2V0KCJvdXRlckNvbnRhaW5lciIsei5xaCk7bS5zZXQoImNvbmZpZ1ZlcnNpb24iLCIiKTttLkpoPW5ldyBIeGEoYyk7bS5KaC5NaD16Lm5uLm92ZXJsYXlNb3VzZVRhcmdldDttLm5pPSgpPT57KEl4YXx8KEl4YT1uZXcgSnhhKSkuc2hvdyhhKX07YS5hZGRMaXN0ZW5lcigia2V5Ym9hcmRzaG9ydGN1dHNfY2hhbmdlZCIsKCk9Pnt2YXIgTWE9Xy5BdihhKTt6LkhqLnRhYkluZGV4PU1hPzA6LTF9KTt2YXIgUT1uZXcgS3hhLGNhPUN4YSgpLGlhLEdhLExhPW52YShfLmt2KCkpO3U9cHZhKCk7dmFyIEZhPXU+MD91OkxhLFZhPQphLmdldCgibm9QZXJUaWxlIikmJl8uTHBbMTVdO1ZhJiZfLk0oYSwyNTI3OTUpO20uc2V0KCJyb2FkbWFwRXBvY2giLEZhKTtxLnRoZW4oKCk9PnthLmdldCgibWFwSWQiKSYmKF8uTShhLDE1MDUwNSksYS5nZXQoIm1hcElkIik9PT1fLnJoYSYmXy5NKGEsMTY4OTQyKSl9KTt2YXIgcmI9KCk9PntfLkhsKCJ1dGlsIikudGhlbihNYT0+e3ZhciBvYj1uZXcgXy5ucTtfLm52KG9iLDIpO01hLmVyLnRoKG9iKX0pfTsoKCk9Pnt2YXIgTWE9bmV3IEx4YTtpYT1xd2EoTWEsTGEsYSxWYSxGYSk7R2E9bmV3IE14YShrLFEsY2EsVmE/bnVsbDpNYSxfLnh3KCkscmIsYSl9KSgpO0dhLmJpbmRUbygidGlsdCIsYSk7R2EuYmluZFRvKCJoZWFkaW5nIixhKTtHYS5iaW5kVG8oImJvdW5kcyIsYSk7R2EuYmluZFRvKCJ6b29tIixhKTt1PW5ldyBOeGEoXy53ZyhfLkpsLF8uUngsMiksXy5rdigpLF8uSmwucmgoKSxhLGlhLGNhLm9ibGlxdWVzLG0ucWgpO3p4YSh1LHgsYS5tYXBUeXBlcyxiLmVuYWJsZVNwbGl0VGlsZXM/PwohMSk7bS5zZXQoImV2ZW50Q2FwdHVyZXIiLHoubnQpO20uc2V0KCJtZXNzYWdlT3ZlcmxheSIsei5yaCk7dmFyIERiPV8ubW8oITEpLElhPXp3YShhLERiKTtHYS5iaW5kVG8oImJhc2VNYXBUeXBlIixJYSk7Yj1tLkh2PUlhLnhoO3ZhciBzYj1fLmJvYSh7ZHJhZ2dhYmxlOm5ldyBfLnNCKGEsImRyYWdnYWJsZSIpLGhIOm5ldyBfLnNCKGEsImdlc3R1cmVIYW5kbGluZyIpLEhrOm0uZ24sSHI6YS5nZXREaXYoKX0pLGNjPSFfLkxwWzIwXXx8YS5nZXQoImFuaW1hdGVkWm9vbSIpIT09ITEsVmI9bnVsbCxFZD0hMSxMYj1udWxsLHdhPW5ldyBPeGEoYSxNYT0+d3hhKHosTWEse0pMOmNjLG5COiEwfSkpLGRhPXdhLlJoLCRhPSgpPT57RWR8fChFZD0hMCxWYiYmVmIoKSxkJiZkLnJoPy5yZW1vdmUoKSxMYiYmKGRhLnhtKExiKSxMYj1udWxsKSxwLlpuKDEyMjQ0NywwKSl9LHdiPU1hPT57YS5nZXQoInRpbGVzbG9hZGluZyIpIT09TWEmJmEuc2V0KCJ0aWxlc2xvYWRpbmciLE1hKTtNYXx8CigkYSgpLF8ud24oYSwidGlsZXNsb2FkZWQiKSl9LE5kPU1hPT57d2IoIU1hLktDKTtNYS5LQyYmcC5abigyMTEyNDIsMCk7TWEuQkgmJnAuWm4oMjExMjQzLDApO01hLnNHJiZwLlpuKDIxMzMzNywwKTtNYS5BSCYmcC5abigyMTMzMzgsMCl9LGtiPW5ldyBfLm9CKChNYSxvYik9PntNYT1uZXcgXy5yQihCLDAsZGEsXy5ieShNYSksb2Ise0NBOiEwfSk7ZGEuTmooTWEpO3JldHVybiBNYX0sTWE9Pnt3YihNYSl9KSxzYT1fLlN4KCk7cS50aGVuKCgpPT57bmV3IFB4YShhLGEuZ2V0KCJtYXBJZCIpLHNhKX0pO20ud2gudGhlbihNYT0+e0V3YShNYSxhLG0pfSk7UHJvbWlzZS5hbGwoW20ud2gsbS5xaC5rRV0pLnRoZW4oKFtNYV0pPT57TWEuc2goKS5sZW5ndGg+MCYmbS5xaC5lbygpJiZfLlJuYSgpfSk7bS53aC50aGVuKE1hPT57JHdhKGEsTWEpO18uTGRhKGEsITApfSk7bS53aC50aGVuKE1hPT57dmFyIG9iPWEuZ2V0KCJyZW5kZXJpbmdUeXBlIik7b2I9PT0iVkVDVE9SIj9fLk0oYSwKMjA2MTQ0KTpvYj09PSJSQVNURVIiP18uTShhLDIwNjE0NSk6Xy5NbihhKT8ob2I9ekQoTWEpIT09ITE/IlZFQ1RPUiI6IlJBU1RFUiIsb2IhPT0iVkVDVE9SInx8ekQoTWEpfHxfLk0oYSwyMDY1NzcpKTpvYj16RChNYSk/IlZFQ1RPUiI6IlJBU1RFUiI7b2I9PT0iVkVDVE9SIj8oXy5NKGEsMTUwMTUyKSxfLkhsKCJ3ZWJnbCIpLnRoZW4obGI9Pnt2YXIgeGI9ITEsaWM9TWEuaXNFbXB0eSgpP18ubWcoXy5KbCw0MSk6TWEuc2wsWmM9Xy5ObCgxODUzOTMpLFRkPSgpPT57Xy5NKGEsMTg5NTI3KX0sb2M9KCk9PntfLnVwKHAsIlZFQ1RPUl9NQVBfSU5JVElBTElaQVRJT04iKX0sTWM9RmE7b3ZhKCkmJihpYz1udWxsLE1jPXZvaWQgMCk7dHJ5e3ZhciB6ZD1sYi55aCh6LlpwLE5kLGRhLElhLnNoLE1hLF8uSmwucmgoKSxpYyxfLlR4KHNhLCEwKSxhLE1jLFRkLG9jKX1jYXRjaChnZCl7bGV0IGpkPWdkLmNhdXNlO2dkIGluc3RhbmNlb2YgXy56cmEmJihqZD0xRTMrKF8uam0oZ2QuY2F1c2UpPwpnZC5jYXVzZTotMSkpO18uT2woWmMsamQhPW51bGw/amQ6Mik7eGI9ITB9ZmluYWxseXt4Yj8obS5CeighMSksXy5ybSgiQXR0ZW1wdGVkIHRvIGxvYWQgYSBWZWN0b3IgTWFwLCBidXQgZmFpbGVkLiBGYWxsaW5nIGJhY2sgdG8gUmFzdGVyLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3dlYmdsL3N1cHBvcnQgZm9yIG1vcmUgaW5mbyIpKTooXy5PbChaYywwKSwoMCxfLnRyYSkoKXx8Xy5NKGEsMjEyMTQzKSxtLkJ6KCEwKSxtLmprPXpkLG0uc2V0KCJjb25maWdWZXJzaW9uIix6ZC55aCgpKSxkYS5qRih6ZC5BaCgpKSl9fSkpOm0uQnooITEpfSk7bS5zaC50aGVuKE1hPT57TWE/Xy5NKGEsMTUwOTM3KTpfLnVwKHAsIlZFQ1RPUl9NQVBfSU5JVElBTElaQVRJT04iKTtNYSYmKHdhLnRoPSEwKTtBd2EoSWEsTWEpO2lmKE1hKV8ucXYoSWEuc2gsb2I9PntvYj9rYi5jbGVhcigpOl8uWXgoa2IsSWEueGguZ2V0KCkpfSk7CmVsc2V7bGV0IG9iPW51bGw7Xy5xdihJYS54aCxsYj0+e29iIT09bGImJihvYj1sYixfLll4KGtiLGxiKSl9KX19KTttLnNldCgiY3Vyc29yIixhLmdldCgiZHJhZ2dhYmxlQ3Vyc29yIikpO25ldyBReGEoYSxkYSx6LHNiKTtxPW5ldyBfLnNCKGEsImRyYWdnaW5nQ3Vyc29yIik7dT1uZXcgXy5zQihtLCJjdXJzb3IiKTt2YXIgV2E9bmV3IFJ4YShtLmdldCgibWVzc2FnZU92ZXJsYXkiKSkseGU9bmV3IF8uekIoei5acCxxLHUsc2IpLHllPWt4YShkYSx6LHhlLGYse3pGOiEwLHNNKCl7cmV0dXJuIWEuZ2V0KCJkaXNhYmxlRG91YmxlQ2xpY2tab29tIil9LEdQKCl7cmV0dXJuIGEuZ2V0KCJzY3JvbGx3aGVlbCIpfSxRbzpMRH0pO18ucXYoc2IsTWE9Pnt5ZS5HdChNYT09PSJjb29wZXJhdGl2ZSJ8fE1hPT09Im5vbmUiKX0pO2Uoe21hcDphLFJoOmRhLEh2OmIsbm46ei5ubn0pO20uc2gudGhlbihNYT0+e01hfHxfLkhsKCJvbmlvbiIpLnRoZW4ob2I9PntvYi5LTihhLGlhKX0pfSk7dmFyIGllPQpuZXcgU3hhO2llLmJpbmRUbygidGlsdCIsYSk7aWUuYmluZFRvKCJ6b29tIixhKTtpZS5iaW5kVG8oIm1hcFR5cGVJZCIsYSk7aWUuYmluZFRvKCJhZXJpYWwiLGNhLm9ibGlxdWVzLCJhdmFpbGFibGUiKTtQcm9taXNlLmFsbChbbS5zaCxtLndoXSkudGhlbigoW01hLG9iXSk9PntDd2EoaWUsTWEpO2EuZ2V0KCJpc0ZyYWN0aW9uYWxab29tRW5hYmxlZCIpPT1udWxsJiZhLnNldCgiaXNGcmFjdGlvbmFsWm9vbUVuYWJsZWQiLE1hKTt5eGEoZGEsKCk9PmEuZ2V0KCJpc0ZyYWN0aW9uYWxab29tRW5hYmxlZCIpKTt2YXIgbGI9KCk9Pnt2YXIgeGI9TWEmJkR4YShhLG9iKSxpYz1NYSYmRXhhKGEsb2IpO01hfHwhYS5nZXQoInRpbHRJbnRlcmFjdGlvbkVuYWJsZWQiKSYmIWEuZ2V0KCJoZWFkaW5nSW50ZXJhY3Rpb25FbmFibGVkIil8fF8uZG4oInRpbHRJbnRlcmFjdGlvbkVuYWJsZWQgYW5kIGhlYWRpbmdJbnRlcmFjdGlvbkVuYWJsZWQgb25seSBoYXZlIGFuIGVmZmVjdCBvbiB2ZWN0b3IgbWFwcy4iKTsKYS5nZXQoInRpbHRJbnRlcmFjdGlvbkVuYWJsZWQiKT09bnVsbCYmYS5zZXQoInRpbHRJbnRlcmFjdGlvbkVuYWJsZWQiLHhiKTthLmdldCgiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCIpPT1udWxsJiZhLnNldCgiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCIsaWMpO3hiJiZfLk0oYSwxNTA5MzkpO2ljJiZfLk0oYSwxNTA5MzgpO3ZhciBaYz1kYTt5ZS5Dai5Hcz1uZXcgVHhhKFpjLGYseWUseGIsaWMseGUsTEQpO3hifHxpYz95ZS5Dai5KSj1uZXcgVXhhKFpjLHllLHhiLGljLHhlLExEKTp5ZS5Dai5KSj12b2lkIDB9O2xiKCk7YS5hZGRMaXN0ZW5lcigidGlsdGludGVyYWN0aW9uZW5hYmxlZF9jaGFuZ2VkIixsYik7YS5hZGRMaXN0ZW5lcigiaGVhZGluZ2ludGVyYWN0aW9uZW5hYmxlZF9jaGFuZ2VkIixsYil9KTttLmJpbmRUbygidGlsdCIsaWUsImFjdHVhbFRpbHQiKTtfLmtuKEdhLCJhdHRyaWJ1dGlvbnRleHRfY2hhbmdlZCIsKCk9PnthLnNldCgibWFwRGF0YVByb3ZpZGVycyIsCkdhLmdldCgiYXR0cmlidXRpb25UZXh0IikpfSk7dmFyIGlkPW5ldyBWeGE7Xy5IbCgidXRpbCIpLnRoZW4oTWE9PntNYS5lci5xaCgoKT0+e0RiLnNldCghMCk7aWQuc2V0KCJ1RFMiLCEwKX0pfSk7aWQuYmluZFRvKCJzdHlsZXMiLGEpO2lkLmJpbmRUbygibWFwVHlwZUlkIixJYSk7aWQuYmluZFRvKCJtYXBUeXBlU3R5bGVzIixJYSwic3R5bGVzIik7bS5iaW5kVG8oImFwaXN0eWxlIixpZCk7bS5iaW5kVG8oImlzTGVnZW5kYXJ5IixpZCk7bS5iaW5kVG8oImhhc0N1c3RvbVN0eWxlcyIsaWQpO18udm4oaWQsInN0eWxlZXJyb3IiLGEpO2U9bmV3IFd4YShtLlJsKTtlLmJpbmRUbygidGlsZU1hcFR5cGUiLElhKTttLmJpbmRUbygic3R5bGUiLGUpO3ZhciB3Yz1uZXcgXy4kQShhLGRhLCgpPT57dmFyIE1hPW0uc2V0LG9iO2lmKHdjLmJvdW5kcyYmd2Mub3JpZ2luJiZ3Yy5zY2FsZSYmd2MuY2VudGVyJiZ3Yy5zaXplKXtpZihvYj13Yy5zY2FsZS5xaCl7dmFyIGxiPW9iLkJvKHdjLm9yaWdpbiwKd2MuY2VudGVyLF8uenYod2Muc2NhbGUpLHdjLnNjYWxlLnRpbHQsd2Muc2NhbGUuaGVhZGluZyx3Yy5zaXplKTtvYj1uZXcgXy5ibygtbGJbMF0sLWxiWzFdKTtsYj1uZXcgXy5ibyh3Yy5zaXplLlhoLWxiWzBdLHdjLnNpemUuWWgtbGJbMV0pfWVsc2Ugb2I9Xy55dih3Yy5zY2FsZSxfLnV2KHdjLmJvdW5kcy5taW4sd2Mub3JpZ2luKSksbGI9Xy55dih3Yy5zY2FsZSxfLnV2KHdjLmJvdW5kcy5tYXgsd2Mub3JpZ2luKSksb2I9bmV3IF8uYm8ob2IuWGgsb2IuWWgpLGxiPW5ldyBfLmJvKGxiLlhoLGxiLlloKTtvYj1uZXcgXy55byhbb2IsbGJdKX1lbHNlIG9iPW51bGw7TWEuY2FsbChtLCJwaXhlbEJvdW5kcyIsb2IpfSksSmQ9d2M7ZGEuTmood2MpO20uc2V0KCJwcm9qZWN0aW9uQ29udHJvbGxlciIsd2MpO20uc2V0KCJtb3VzZUV2ZW50VGFyZ2V0Iix7fSk7KG5ldyBYeGEoei5acCkpLmJpbmRUbygidGl0bGUiLG0pO2QmJihfLnF2KGQuc2gsKCk9Pnt2YXIgTWE9ZC5zaC5nZXQoKTsKTGJ8fCFNYXx8RWR8fChMYj1uZXcgXy5DcmEoQiwtMSxNYSxkYS5RayksZC5yaD8ucmVtb3ZlKCksZGEuTmooTGIpKX0pLGQuYmluZFRvKCJ0aWx0IixtKSxkLmJpbmRUbygic2l6ZSIsbSkpO20uYmluZFRvKCJ6b29tIixhKTttLmJpbmRUbygiY2VudGVyIixhKTttLmJpbmRUbygic2l6ZSIsSyk7bS5iaW5kVG8oImJhc2VNYXBUeXBlIixJYSk7YS5zZXQoInRvc1VybCIsXy5xcmEpO2U9bmV3IFl4YTtlLmJpbmRUbygiaW1tdXRhYmxlIixtLCJiYXNlTWFwVHlwZSIpO3E9bmV3IF8uaHJhKHtwcm9qZWN0aW9uOm5ldyBfLnB0fSk7cS5iaW5kVG8oInByb2plY3Rpb24iLGUpO2EuYmluZFRvKCJwcm9qZWN0aW9uIixxKTt1d2EoYSxtLGRhLHdhKTt2d2EoYSxtLGRhKTt2YXIgS2Q9bmV3IFp4YShhLGRhKTtfLmtuKG0sIm1vdmVjYW1lcmEiLE1hPT57S2QubW92ZUNhbWVyYShNYSl9KTttLnNoLnRoZW4oTWE9PntLZC5zaD1NYT8yOjE7aWYoS2QucmghPT12b2lkIDB8fEtkLnFoIT09dm9pZCAwKUtkLm1vdmVDYW1lcmEoe3RpbHQ6S2QucmgsCmhlYWRpbmc6S2QucWh9KSxLZC5yaD12b2lkIDAsS2QucWg9dm9pZCAwfSk7dmFyIFBiPW5ldyAkeGEoZGEsYSk7UGIuYmluZFRvKCJtYXBUeXBlTWF4Wm9vbSIsSWEsIm1heFpvb20iKTtQYi5iaW5kVG8oIm1hcFR5cGVNaW5ab29tIixJYSwibWluWm9vbSIpO1BiLmJpbmRUbygibWF4Wm9vbSIsYSk7UGIuYmluZFRvKCJtaW5ab29tIixhKTtQYi5iaW5kVG8oInRyYWNrZXJNYXhab29tIixRLCJtYXhab29tIik7UGIuYmluZFRvKCJyZXN0cmljdGlvbiIsYSk7UGIuYmluZFRvKCJwcm9qZWN0aW9uIixhKTttLnNoLnRoZW4oTWE9PntQYi5xaD1NYTtQYi51cGRhdGUoKX0pO3ZhciBQZD1uZXcgXy5qcmEoXy5ydyhjKSk7bS5iaW5kVG8oImZvbnRMb2FkZWQiLFBkKTtlPW0ueGg7ZS5iaW5kVG8oInNjcm9sbHdoZWVsIixhKTtlLmJpbmRUbygiZGlzYWJsZURvdWJsZUNsaWNrWm9vbSIsYSk7ZS5fX2dtLnNldCgiZm9jdXNGYWxsYmFja0VsZW1lbnQiLHouSGopO2coKTtfLmtuKGEsInN0cmVldHZpZXdfY2hhbmdlZCIsCmcpO2EudkV8fChWYj0oKT0+e1ZiPW51bGw7UHJvbWlzZS5hbGwoW18uSGwoImNvbnRyb2xzIiksbS5zaCxtLndoXSkudGhlbigoW01hLG9iLGxiXSk9Pnt2YXIgeGI9ei5xaCxpYz1uZXcgTWEuaEcoeGIsYS5IdCgpKTtfLmtuKGEsInNob3VsZFVzZVJUTENvbnRyb2xzQ2hhbmdlIiwoKT0+e2ljLnNldCgiaXNSVEwiLGEuSHQoKSl9KTttLnNldCgibGF5b3V0TWFuYWdlciIsaWMpO3ZhciBaYz1vYiYmRHhhKGEsbGIpO2xiPW9iJiZFeGEoYSxsYik7TWEubE8oaWMsYSxJYSx4YixHYSxjYS5yZXBvcnRfbWFwX2lzc3VlLFBiLGllLHoubnQsYyxtLmduLGlhLEpkLGRhLG9iLFpjLGxiLHgpO01hLm1PKGEsei5Iaix4YixPLFpjLGxiKTtNYS5vRihjKX0pfSxfLk0oYSwxNTAxODIpLEF4YShhLElhKSxzd2EoYSksXy53bihtLCJtYXBiaW5kaW5nY29tcGxldGUiKSk7ZT1uZXcgTnhhKF8ud2coXy5KbCxfLlJ4LDIpLF8ua3YoKSxfLkpsLnJoKCksYSxuZXcgS0QoaWEsTWE9PlZhP0ZhOk1hfHwKTGEpLGNhLm9ibGlxdWVzLG0ucWgpO2F4YShlLGEub3ZlcmxheU1hcFR5cGVzKTtrd2EoTWE9PntfLk0oYSxNYSl9LHoubm4ubWFwUGFuZSxhLm92ZXJsYXlNYXBUeXBlcyxkYSxiLERiKTtfLkxwWzM1XSYmbS5iaW5kVG8oImNhcmQiLGEpO18uTHBbMTVdJiZtLmJpbmRUbygiYXV0aFVzZXIiLGEpO3ZhciBDYz0wLGpiPTAsWWM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7WWMuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTtZYy5mcmFtZUJvcmRlcj0iMCI7WWMudGFiSW5kZXg9LTE7WWMuc3R5bGUuY3NzVGV4dD0iei1pbmRleDogLTE7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyB0b3A6IDA7IGxlZnQ6IDA7IGJvcmRlcjogbm9uZTsgb3BhY2l0eTogMCI7Xy5xbihZYywibG9hZCIsKCk9PntoKCk7Xy5xbihZYy5jb250ZW50V2luZG93LCJyZXNpemUiLGgpfSk7ei5xaC5hcHBlbmRDaGlsZChZYyk7Yj1fLmxtYSh6LkhqLAp2b2lkIDAsITApO3oucWguYXBwZW5kQ2hpbGQoYil9ZWxzZSBfLnVwKHAsIk1BUF9JTklUSUFMSVpBVElPTiIpfSx3dmE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSx4RD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHh2YT1bMSwyLDMsNF0sWHdhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldEZlYXR1cmVOYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfWNsZWFyUmVjdCgpe3JldHVybiBfLlFmKHRoaXMsMil9fSxZd2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Y2xlYXJSZWN0KCl7cmV0dXJuIF8uUWYodGhpcywyKX19LFdEPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFRpbGUoKXtyZXR1cm4gXy5BZyh0aGlzLF8uRXgsMil9Sm8oKXtyZXR1cm4gXy5LZyh0aGlzLDMpfX0sV3dhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sCkV2YT17YWxsOjAsYWRtaW5pc3RyYXRpdmU6MSwiYWRtaW5pc3RyYXRpdmUuY291bnRyeSI6MTcsImFkbWluaXN0cmF0aXZlLnByb3ZpbmNlIjoxOCwiYWRtaW5pc3RyYXRpdmUubG9jYWxpdHkiOjE5LCJhZG1pbmlzdHJhdGl2ZS5uZWlnaGJvcmhvb2QiOjIwLCJhZG1pbmlzdHJhdGl2ZS5sYW5kX3BhcmNlbCI6MjEscG9pOjIsInBvaS5idXNpbmVzcyI6MzMsInBvaS5nb3Zlcm5tZW50IjozNCwicG9pLnNjaG9vbCI6MzUsInBvaS5tZWRpY2FsIjozNiwicG9pLmF0dHJhY3Rpb24iOjM3LCJwb2kucGxhY2Vfb2Zfd29yc2hpcCI6MzgsInBvaS5zcG9ydHNfY29tcGxleCI6MzksInBvaS5wYXJrIjo0MCxyb2FkOjMsInJvYWQuaGlnaHdheSI6NDksInJvYWQuaGlnaHdheS5jb250cm9sbGVkX2FjY2VzcyI6Nzg1LCJyb2FkLmFydGVyaWFsIjo1MCwicm9hZC5sb2NhbCI6NTEsInJvYWQubG9jYWwuZHJpdmFibGUiOjgxNywicm9hZC5sb2NhbC50cmFpbCI6ODE4LHRyYW5zaXQ6NCwidHJhbnNpdC5saW5lIjo2NSwKInRyYW5zaXQubGluZS5yYWlsIjoxMDQxLCJ0cmFuc2l0LmxpbmUuZmVycnkiOjEwNDIsInRyYW5zaXQubGluZS50cmFuc2l0X2xheWVyIjoxMDQzLCJ0cmFuc2l0LnN0YXRpb24iOjY2LCJ0cmFuc2l0LnN0YXRpb24ucmFpbCI6MTA1NywidHJhbnNpdC5zdGF0aW9uLmJ1cyI6MTA1OCwidHJhbnNpdC5zdGF0aW9uLmFpcnBvcnQiOjEwNTksInRyYW5zaXQuc3RhdGlvbi5mZXJyeSI6MTA2MCxsYW5kc2NhcGU6NSwibGFuZHNjYXBlLm1hbl9tYWRlIjo4MSwibGFuZHNjYXBlLm1hbl9tYWRlLmJ1aWxkaW5nIjoxMjk3LCJsYW5kc2NhcGUubWFuX21hZGUuYnVzaW5lc3NfY29ycmlkb3IiOjEyOTksImxhbmRzY2FwZS5uYXR1cmFsIjo4MiwibGFuZHNjYXBlLm5hdHVyYWwubGFuZGNvdmVyIjoxMzEzLCJsYW5kc2NhcGUubmF0dXJhbC50ZXJyYWluIjoxMzE0LHdhdGVyOjZ9LEZ2YT17InBvaS5idXNpbmVzcy5zaG9wcGluZyI6NTI5LCJwb2kuYnVzaW5lc3MuZm9vZF9hbmRfZHJpbmsiOjUzMCwKInBvaS5idXNpbmVzcy5nYXNfc3RhdGlvbiI6NTMxLCJwb2kuYnVzaW5lc3MuY2FyX3JlbnRhbCI6NTMyLCJwb2kuYnVzaW5lc3MubG9kZ2luZyI6NTMzLCJsYW5kc2NhcGUubWFuX21hZGUuYnVzaW5lc3NfY29ycmlkb3IiOjEyOTksImxhbmRzY2FwZS5tYW5fbWFkZS5idWlsZGluZyI6MTI5N30sR3dhPXthbGw6IiIsZ2VvbWV0cnk6ImciLCJnZW9tZXRyeS5maWxsIjoiZy5mIiwiZ2VvbWV0cnkuc3Ryb2tlIjoiZy5zIixsYWJlbHM6ImwiLCJsYWJlbHMuaWNvbiI6ImwuaSIsImxhYmVscy50ZXh0IjoibC50IiwibGFiZWxzLnRleHQuZmlsbCI6ImwudC5mIiwibGFiZWxzLnRleHQuc3Ryb2tlIjoibC50LnMifSxid2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxMd2E9Xy5iaihfLlNBKSxMdmE9e3JvYWRtYXA6WzBdLHNhdGVsbGl0ZTpbMV0saHlicmlkOlsxLDBdLHRlcnJhaW46WzIsMF19LEJEPWNsYXNzIGV4dGVuZHMgXy5BcXtjb25zdHJ1Y3RvcihhLApiLGMsZCxlLGYsZyxoLGssbSxwLHEsdSx4LHosQj1udWxsKXtzdXBlcigpO3RoaXMuemg9Yjt0aGlzLnByb2plY3Rpb249Yzt0aGlzLm1heFpvb209ZDt0aGlzLm5hbWU9ZTt0aGlzLmFsdD1mO3RoaXMueWg9Zzt0aGlzLkl3PWg7dGhpcy5tYXBUeXBlSWQ9bTt0aGlzLm1qPXA7dGhpcy5yaD1xO3RoaXMubGFuZ3VhZ2U9dTt0aGlzLnJlZ2lvbj14O3RoaXMuaGVhZGluZz16O3RoaXMubWFwPUI7dGhpcy5zaD1udWxsO3RoaXMudHJpZ2dlcnNUaWxlTG9hZEV2ZW50PSEwO3RoaXMud2g9bnVsbDt0aGlzLnhoPWE7dGhpcy50aWxlU2l6ZT1uZXcgXy5nbygyNTYsMjU2KTt0aGlzLm93PV8uam0oeik7dGhpcy5fX2dtc2Q9azt0aGlzLnRoPV8ubW8oe30pfXFoKGE9ITEpe3JldHVybiB0aGlzLnhoKHRoaXMsYSl9UWwoKXtyZXR1cm4gdGhpcy50aH19LFZEPWNsYXNzIGV4dGVuZHMgQkR7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3N1cGVyKGEueGgsYS56aCxhLnByb2plY3Rpb24sYS5tYXhab29tLAphLm5hbWUsYS5hbHQsYS55aCxhLkl3LGEuX19nbXNkLGEubWFwVHlwZUlkLGEubWosYS5yaCxhLmxhbmd1YWdlLGEucmVnaW9uLGEuaGVhZGluZyxhLm1hcCk7dGhpcy53aD1NdmEodGhpcy5tYXBUeXBlSWQsdGhpcy5fX2dtc2QsYixlLGYpO3RoaXMub3cmJnRoaXMubWFwVHlwZUlkPT09InNhdGVsbGl0ZSJ8fHRoaXMudGguc2V0KEt2YSh0aGlzLmxhbmd1YWdlLHRoaXMucmVnaW9uLHRoaXMubWFwVHlwZUlkLHRoaXMucmgsdGhpcy5fX2dtc2QsYixjLGQsZSwhIXRoaXMubWFwPy5nZXQoIm1hcElkIiksZix0aGlzLm93KSl9fSxieWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlPXt9KXt0aGlzLnFoPWE7dGhpcy5yaD1iLnNsaWNlKDApO3RoaXMuc2g9ZS56a3x8KCgpPT57fSk7dGhpcy5sb2FkZWQ9UHJvbWlzZS5hbGwoYi5tYXAoZj0+Zi5sb2FkZWQpKS50aGVuKCgpPT57fSk7ZCYmXy5ReCh0aGlzLnFoLGMuWGgsYy5ZaCl9bmsoKXtyZXR1cm4gdGhpcy5xaH1Nbygpe3JldHVybiB6dmEodGhpcy5yaCwKYT0+YS5NbygpKX1yZWxlYXNlKCl7Zm9yKGxldCBhIG9mIHRoaXMucmgpYS5yZWxlYXNlKCk7dGhpcy5zaCgpfX0sUXZhPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSl7dGhpcy5yaD1hO3RoaXMucWg9Yjt0aGlzLkNpPWFbMF0uQ2k7dGhpcy5Jbj1hWzBdLklufWttKGEsYj17fSl7dmFyIGM9Xy53bCgiRElWIiksZD1xdmEodGhpcy5yaCwoZSxmKT0+e2U9ZS5rbShhKTt2YXIgZz1lLm5rKCk7Zy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2cuc3R5bGUuekluZGV4PWAke2Z9YDtjLmFwcGVuZENoaWxkKGcpO3JldHVybiBlfSk7cmV0dXJuIG5ldyBieWEoYyxkLHRoaXMuQ2kuc2l6ZSx0aGlzLnFoLHt6azpiLnprfSl9fSxjeWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYsZyxoKXt0aGlzLnFoPWE7dGhpcy53aD1jO3RoaXMudGg9ZDt0aGlzLnNjYWxlPWU7dGhpcy5DaT1mO3RoaXMuRmg9Zzt0aGlzLmxvYWRlZD1uZXcgUHJvbWlzZShrPT57dGhpcy5sbj1rfSk7dGhpcy5yaD0KITE7dGhpcy5zaD0oYnx8W10pLm1hcChrPT5rLnJlcGxhY2UoLyYkLywiIikpO2gmJihhPXRoaXMubmsoKSxfLlF4KGEsZi5zaXplLlhoLGYuc2l6ZS5ZaCkpO092YSh0aGlzKX1uaygpe3JldHVybiB0aGlzLnFoLm5rKCl9TW8oKXtyZXR1cm4hdGhpcy5yaCYmdGhpcy5xaC5NbygpfXJlbGVhc2UoKXt0aGlzLnFoLnJlbGVhc2UoKX19LFB2YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnPSExLGgpe3RoaXMuZXJyb3JNZXNzYWdlPSJTb3JyeSwgd2UgaGF2ZSBubyBpbWFnZXJ5IGhlcmUuIjt0aGlzLndoPWI7dGhpcy5yaD1jO3RoaXMuc2NhbGU9ZDt0aGlzLkNpPWU7dGhpcy5GaD1mO3RoaXMuc2g9Zzt0aGlzLnRoPWg7dGhpcy5zaXplPW5ldyBfLmdvKHRoaXMuQ2kuc2l6ZS5YaCx0aGlzLkNpLnNpemUuWWgpO3RoaXMuSW49MTt0aGlzLnFoPWF8fFtdfWttKGEsYil7dmFyIGM9Xy53bCgiRElWIik7YT1uZXcgXy5rQihhLHRoaXMuc2l6ZSxjLHtlcnJvck1lc3NhZ2U6dGhpcy5lcnJvck1lc3NhZ2V8fAp2b2lkIDAsems6YiYmYi56ayxYeTp0aGlzLnRofHx2b2lkIDB9KTtyZXR1cm4gbmV3IGN5YShhLHRoaXMucWgsdGhpcy53aCx0aGlzLnJoLHRoaXMuc2NhbGUsdGhpcy5DaSx0aGlzLkZoLHRoaXMuc2gpfX0sZHlhPVt7b0M6MTA4LjI1LG5DOjEwOS42MjUsckM6NDkscUM6NTEuNX0se29DOjEwOS42MjUsbkM6MTA5Ljc1LHJDOjQ5LHFDOjUwLjg3NX0se29DOjEwOS43NSxuQzoxMTAuNSxyQzo0OSxxQzo1MC42MjV9LHtvQzoxMTAuNSxuQzoxMTAuNjI1LHJDOjQ5LHFDOjQ5Ljc1fV0sUnZhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5yaD1hO3RoaXMucWg9Yjt0aGlzLkNpPV8ubUI7dGhpcy5Jbj0xfWttKGEsYil7YTp7dmFyIGM9YS51aTtpZighKGM8Nykpe3ZhciBkPTE8PGMtNztjPWEua2kvZDtkPWEubGkvZDtmb3IoZSBvZiBkeWEpaWYoYz49ZS5vQyYmYzw9ZS5uQyYmZD49ZS5yQyYmZDw9ZS5xQyl7dmFyIGU9ITA7YnJlYWsgYX19ZT0hMX1yZXR1cm4gZT90aGlzLnFoLmttKGEsCmIpOnRoaXMucmgua20oYSxiKX19LE54YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnKXt0aGlzLm1hcD1kO3RoaXMucWg9ZTt0aGlzLnpoPWY7dGhpcy54aD1nO3RoaXMucHJvamVjdGlvbj1uZXcgXy5wdDt0aGlzLmxhbmd1YWdlPWMucmgoKTt0aGlzLnJlZ2lvbj1jLnRoKCk7dGhpcy50aD1udmEoYik7dGhpcy5yaD1fLktnKGIsMTYpO3RoaXMuc2g9bmV3IF8uJG1hKGEsYixjKTt0aGlzLndoPSgpPT57dmFyIHtCaDpofT1kLl9fZ207Xy50cChoLDIpO18uTShkLDE0ODI4MCl9fX07dmFyIFF4YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLm1hcD1hO3RoaXMuUmg9Yjt0aGlzLndoPWQ7dGhpcy5zaD0wO3RoaXMucmg9bnVsbDt0aGlzLnFoPSExO3RoaXMueGg9Yy5Iajt0aGlzLnRoPWMuWnA7Xy5xeChjLm50LHtXbDplPT57Q0QodGhpcywibW91c2Vkb3duIixlLmNvb3JkcyxlLnFoKX0scnQ6ZT0+e3RoaXMuUmguWEEoKXx8KHRoaXMucmg9ZSxEYXRlLm5vdygpLXRoaXMuc2g+NSYmJHZhKHRoaXMpKX0sdW06ZT0+e0NEKHRoaXMsIm1vdXNldXAiLGUuY29vcmRzLGUucWgpO3RoaXMueGg/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9LExsOih7Y29vcmRzOmUsZXZlbnQ6ZixXcjpnfSk9PntmLmJ1dHRvbj09PTM/Z3x8Q0QodGhpcywicmlnaHRjbGljayIsZSxmLnFoKTpnP0NEKHRoaXMsImRibGNsaWNrIixlLGYucWgsXy4kdygiZGJsY2xpY2siLGUsZi5xaCkpOkNEKHRoaXMsImNsaWNrIixlLGYucWgsXy4kdygiY2xpY2siLGUsZi5xaCkpfSxHczp7a246KGUsCmYpPT57dGhpcy5xaHx8KHRoaXMucWg9ITAsQ0QodGhpcywiZHJhZ3N0YXJ0IixlLkVqLGYucWgpKX0sam46KGUsZik9Pnt2YXIgZz10aGlzLnFoPyJkcmFnIjoibW91c2Vtb3ZlIjtDRCh0aGlzLGcsZS5FaixmLnFoLF8uJHcoZyxlLkVqLGYucWgpKX0sSm46KGUsZik9Pnt0aGlzLnFoJiYodGhpcy5xaD0hMSxDRCh0aGlzLCJkcmFnZW5kIixlLGYucWgpKX19LHB3OmU9PntfLmV4KGUpO0NEKHRoaXMsImNvbnRleHRtZW51IixlLmNvb3JkcyxlLnFoKX19KS5HdCghMCk7bmV3IF8uYUIoYy5acCxjLm50LHtYdTplPT57Q0QodGhpcywibW91c2VvdXQiLGUsZSl9LFl1OmU9PntDRCh0aGlzLCJtb3VzZW92ZXIiLGUsZSl9fSl9fTt2YXIgZXlhPWNsYXNze2NvbnN0cnVjdG9yKGE9KCk9Pm5ldyBfLktrKXt0aGlzLnNsPXRoaXMucWg9bnVsbDt0aGlzLnJoPWF9fTt2YXIgZnlhPSgwLF8uR2opYC54eEdIeVAtZGlhbG9nLXZpZXd7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjhweH0ueHhHSHlQLWRpYWxvZy12aWV3IC51TkdCYi1kaWFsb2ctdmlldy0tY29udGVudHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvOy1tb3otYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjI0cHggOHB4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueHhHSHlQLWRpYWxvZy12aWV3IC51TkdCYi1kaWFsb2ctdmlldy0tY29udGVudCAudU5HakQtZGlhbG9nLXZpZXctLWhlYWRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDoxNnB4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxNnB4fS54eEdIeVAtZGlhbG9nLXZpZXcgLnVOR0JiLWRpYWxvZy12aWV3LS1jb250ZW50IC51TkdqRC1kaWFsb2ctdmlldy0taGVhZGVyIGgye2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjI0cHg7Zm9udC1zaXplOjE2cHg7bGV0dGVyLXNwYWNpbmc6LjAwNjI1ZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMzYzQwNDM7bWFyZ2luOjB9Lnh4R0h5UC1kaWFsb2ctdmlldyAudU5HQmItZGlhbG9nLXZpZXctLWNvbnRlbnQgLkJFSUJjTS1kaWFsb2ctdmlldy0taW5uZXItY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDE2cHggMTZweDtvdmVyZmxvdzphdXRvfVxuYDt2YXIgZ3lhPSgwLF8uR2opYC5JcVNIWU4tbW9kYWwtb3ZlcmxheS12aWV3e2JhY2tncm91bmQtY29sb3I6IzIwMjEyNH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDNweCkpIG9yIChiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpKSl7LklxU0hZTi1tb2RhbC1vdmVybGF5LXZpZXd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMyLDMzLDM2LC43KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDNweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoM3B4KX19LklxU0hZTi1tb2RhbC1vdmVybGF5LXZpZXd7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX1cbmA7dmFyIGh5YT1jbGFzcyBleHRlbmRzIF8uR3R7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7dGhpcy50aD10aGlzLnNoPXRoaXMueGg9bnVsbDt0aGlzLm93bmVyRWxlbWVudD1hLm93bmVyRWxlbWVudDt0aGlzLmNvbnRlbnQ9YS5jb250ZW50O3RoaXMuWXg9YS5ZeDt0aGlzLlNxPWEuU3E7dGhpcy5sYWJlbD1hLmxhYmVsO3RoaXMubUI9YS5tQjt0aGlzLmFDPWEuYUM7dGhpcy5yb2xlPWEucm9sZXx8ImRpYWxvZyI7dGhpcy5xaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLnFoLnRhYkluZGV4PTA7dGhpcy5xaC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3RoaXMucmg9dGhpcy5xaC5jbG9uZU5vZGUoITApO18uU3QoZ3lhLHRoaXMuZWxlbWVudCk7Xy5UcSh0aGlzLmVsZW1lbnQsIm1vZGFsLW92ZXJsYXktdmlldyIpO3RoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLHRoaXMucm9sZSk7dGhpcy5tQiYmdGhpcy5sYWJlbHx8KHRoaXMubUI/CnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5tQik6dGhpcy5sYWJlbCYmdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdGhpcy5sYWJlbCkpO3RoaXMuY29udGVudC50YWJJbmRleD10aGlzLmNvbnRlbnQudGFiSW5kZXg7Xy5JcCh0aGlzLmNvbnRlbnQpO3RoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnFoKTt0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50KTt0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5yaCk7dGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO3RoaXMud2g9bmV3IF8uJGsodGhpcyk7dGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57dGhpcy5jb250ZW50LmNvbnRhaW5zKGIudGFyZ2V0KSYmYi50YXJnZXQhPT1iLmN1cnJlbnRUYXJnZXR8fHRoaXMucWwoKX0pO3RoaXMuYUMmJl8udm4odGhpcywiaGlkZSIsdGhpcy5hQyk7dGhpcy54aShhLApoeWEsIk1vZGFsT3ZlcmxheVZpZXciKX15aChhKXt0aGlzLnNoPWEucmVsYXRlZFRhcmdldDtpZih0aGlzLm93bmVyRWxlbWVudC5jb250YWlucyh0aGlzLmVsZW1lbnQpKXtERCh0aGlzLHRoaXMuY29udGVudCk7dmFyIGI9REQodGhpcyxkb2N1bWVudC5ib2R5KSxjPWEudGFyZ2V0LGQ9ZHdhKHRoaXMsYik7YS50YXJnZXQ9PT10aGlzLnFoPyhjPWQuR04sYT1kLkpELGQ9ZC5pSSx0aGlzLmVsZW1lbnQuY29udGFpbnModGhpcy5zaCk/KC0tYyxjPj0wP0VEKGJbY10pOkVEKGJbZC0xXSkpOkVEKGJbYSsxXSkpOmEudGFyZ2V0PT09dGhpcy5yaD8oYz1kLkpELGE9ZC5pSSxkPWQuSE4sdGhpcy5lbGVtZW50LmNvbnRhaW5zKHRoaXMuc2gpPyhkKz0xLGQ8Yi5sZW5ndGg/RUQoYltkXSk6RUQoYltjKzFdKSk6RUQoYlthLTFdKSk6KGQ9ZC5KRCx0aGlzLm93bmVyRWxlbWVudC5jb250YWlucyhjKSYmIXRoaXMuZWxlbWVudC5jb250YWlucyhjKSYmRUQoYltkKzFdKSl9fXpoKGEpeyhhLmtleT09PQoiRXNjYXBlInx8YS5rZXk9PT0iRXNjIikmJnRoaXMub3duZXJFbGVtZW50LmNvbnRhaW5zKHRoaXMuZWxlbWVudCkmJnRoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5IT09Im5vbmUiJiZ0aGlzLmVsZW1lbnQuY29udGFpbnMoRkQodGhpcykpJiZGRCh0aGlzKSYmKHRoaXMucWwoKSxhLnN0b3BQcm9wYWdhdGlvbigpKX1zaG93KGEpe3RoaXMueGg9RkQodGhpcyk7dGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dGhpcy5TcSYmdGhpcy5TcS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO2E/YSgpOihhPUREKHRoaXMsdGhpcy5jb250ZW50KSxFRChhWzBdKSk7dGhpcy50aD1fLmh3KHRoaXMub3duZXJFbGVtZW50LCJmb2N1cyIsdGhpcyx0aGlzLnloLCEwKTtfLmFsKHRoaXMud2gsdGhpcy5lbGVtZW50LCJrZXlkb3duIix0aGlzLnpoKX1xbCgpe3RoaXMuZWxlbWVudC5zdHlsZS5kaXNwbGF5IT09Im5vbmUiJiYodGhpcy5TcSYmdGhpcy5TcS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksCl8ud24odGhpcywiaGlkZSIsdm9pZCAwKSx0aGlzLnRoJiZ0aGlzLnRoLnJlbW92ZSgpLF8uYmwodGhpcy53aCksdGhpcy5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLER2YSh0aGlzLnhoKS5jYXRjaCgoKT0+e30pKX19O3ZhciBpeWE9Y2xhc3MgZXh0ZW5kcyBfLkd0e2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMuY29udGVudD1hLmNvbnRlbnQ7dGhpcy5ZeD1hLll4O3RoaXMuU3E9YS5TcTt0aGlzLm93bmVyRWxlbWVudD1hLm93bmVyRWxlbWVudDt0aGlzLnRpdGxlPWEudGl0bGU7dGhpcy5yb2xlPWEucm9sZTtfLlN0KGZ5YSx0aGlzLmVsZW1lbnQpO18uVHEodGhpcy5lbGVtZW50LCJkaWFsb2ctdmlldyIpO3ZhciBiPWV3YSh0aGlzKTt0aGlzLnFoPW5ldyBoeWEoe2xhYmVsOnRoaXMudGl0bGUsY29udGVudDpiLG93bmVyRWxlbWVudDp0aGlzLm93bmVyRWxlbWVudCxlbGVtZW50OnRoaXMuZWxlbWVudCxTcTp0aGlzLlNxLGFDOnRoaXMsWXg6dGhpcy5ZeCxyb2xlOnRoaXMucm9sZX0pO3RoaXMueGkoYSxpeWEsIkRpYWxvZ1ZpZXciKX1zaG93KCl7dGhpcy5xaC5zaG93KCl9cWwoKXt0aGlzLnFoLnFsKCl9fTt2YXIgSXhhPW51bGwsSnhhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBzPW5ldyBTZXR9c2hvdyhhKXt2YXIgYj1fLmhiKGEpO2lmKCF0aGlzLm1hcHMuaGFzKGIpKXt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Quc3R5bGUuZm9udFNpemU9IjE0cHgiO2Quc3R5bGUuY29sb3I9InJnYmEoMCwwLDAsMC44NykiO2Quc3R5bGUubWFyZ2luQm90dG9tPSIxNXB4IjtkLnRleHRDb250ZW50PSJUaGlzIHBhZ2UgY2FuJ3QgbG9hZCBHb29nbGUgTWFwcyBjb3JyZWN0bHkuIjt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtfLlB2KGYsImh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L2Vycm9yLW1lc3NhZ2VzIik7Zi50ZXh0Q29udGVudD0iRG8geW91IG93biB0aGlzIHdlYnNpdGU/IjsKZi50YXJnZXQ9Il9ibGFuayI7Zi5yZWw9Im5vb3BlbmVyIjtmLnN0eWxlLmNvbG9yPSJyZ2JhKDAsIDAsIDAsIDAuNTQpIjtmLnN0eWxlLmZvbnRTaXplPSIxMnB4IjtlLmFwcGVuZChmKTtjLmFwcGVuZChkLGUpO2Q9YS5fX2dtLmdldCgib3V0ZXJDb250YWluZXIiKTthPWEuZ2V0RGl2KCk7dmFyIGc9bmV3IGl5YSh7Y29udGVudDpjLFNxOmQsb3duZXJFbGVtZW50OmEscm9sZToiYWxlcnRkaWFsb2ciLHRpdGxlOiJFcnJvciJ9KTtfLlRxKGcuZWxlbWVudCwiZGVncmFkZWQtbWFwLWRpYWxvZy12aWV3Iik7Zy5hZGRMaXN0ZW5lcigiaGlkZSIsKCk9PntnLmVsZW1lbnQucmVtb3ZlKCk7dGhpcy5tYXBzLmRlbGV0ZShiKX0pO2EuYXBwZW5kQ2hpbGQoZy5lbGVtZW50KTtnLnNob3coKTt0aGlzLm1hcHMuYWRkKGIpfX19O3ZhciBqeWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmFpPW5ldyBfLkxoYX1hZGRMaXN0ZW5lcihhLGIpe3RoaXMuYWkuYWRkTGlzdGVuZXIoYSxiKX1hZGRMaXN0ZW5lck9uY2UoYSxiKXt0aGlzLmFpLmFkZExpc3RlbmVyT25jZShhLGIpfXJlbW92ZUxpc3RlbmVyKGEsYil7dGhpcy5haS5yZW1vdmVMaXN0ZW5lcihhLGIpfX07dmFyIEJ4YT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnJoPWE7dGhpcy5xaD1uZXcganlhfVNqKCl7cmV0dXJuIHRoaXMucWh9Y2hhbmdlZChhKXtpZihhIT09ImF2YWlsYWJsZSIpe2E9PT0iZmVhdHVyZVJlY3RzIiYmZndhKHRoaXMucWgpO2E9dGhpcy5nZXQoInZpZXdwb3J0Iik7dmFyIGI9dGhpcy5nZXQoImZlYXR1cmVSZWN0cyIpO2E9dGhpcy5yaChhLGIpO2EhPW51bGwmJmEhPXRoaXMuZ2V0KCJhdmFpbGFibGUiKSYmdGhpcy5zZXQoImF2YWlsYWJsZSIsYSl9fX07SUQuWE09Xy5ScDtJRC5ZTT1mdW5jdGlvbihhLGIsYyxkPSExKXt2YXIgZT1iLmdldFNvdXRoV2VzdCgpO2I9Yi5nZXROb3J0aEVhc3QoKTt2YXIgZj1lLmxuZygpLGc9Yi5sbmcoKTtmPmcmJihlPW5ldyBfLlRtKGUubGF0KCksZi0zNjAsITApKTtlPWEuZnJvbUxhdExuZ1RvUG9pbnQoZSk7Yj1hLmZyb21MYXRMbmdUb1BvaW50KGIpO2E9TWF0aC5tYXgoZS54LGIueCktTWF0aC5taW4oZS54LGIueCk7ZT1NYXRoLm1heChlLnksYi55KS1NYXRoLm1pbihlLnksYi55KTtpZihhPmMud2lkdGh8fGU+Yy5oZWlnaHQpcmV0dXJuIDA7Yz1NYXRoLm1pbihfLmV3KGMud2lkdGgrMUUtMTIpLV8uZXcoYSsxRS0xMiksXy5ldyhjLmhlaWdodCsxRS0xMiktXy5ldyhlKzFFLTEyKSk7ZHx8KGM9TWF0aC5mbG9vcihjKSk7cmV0dXJuIGN9OwpJRC5lTj1mdW5jdGlvbihhLGIpe2E9Xy5udyhiLGEsMCk7cmV0dXJuIF8ubXcoYixuZXcgXy5ibygoYS5taW5YK2EubWF4WCkvMiwoYS5taW5ZK2EubWF4WSkvMiksMCl9O3ZhciBqd2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3ZhciBnPXB3YTt0aGlzLnRoPWI7dGhpcy5tYXBUeXBlcz1jO3RoaXMuUmg9ZDt0aGlzLnNoPWc7dGhpcy5xaD1bXTt0aGlzLndoPWE7ZS5hZGRMaXN0ZW5lcigoKT0+e2x3YSh0aGlzKX0pO2YuYWRkTGlzdGVuZXIoKCk9Pntsd2EodGhpcyl9KTt0aGlzLnJoPWY7Xy5rbihjLCJpbnNlcnRfYXQiLGg9Pntvd2EodGhpcyxoKX0pO18ua24oYywicmVtb3ZlX2F0IixoPT57dmFyIGs9dGhpcy5xaFtoXTtrJiYodGhpcy5xaC5zcGxpY2UoaCwxKSxud2EodGhpcyksay5jbGVhcigpKX0pO18ua24oYywic2V0X2F0IixoPT57dmFyIGs9dGhpcy5tYXBUeXBlcy5nZXRBdChoKTttd2EodGhpcyxrKTtoPXRoaXMucWhbaF07KGs9SkQodGhpcyxrKSk/Xy5ZeChoLGspOmguY2xlYXIoKX0pO3RoaXMubWFwVHlwZXMuZm9yRWFjaCgoaCxrKT0+e293YSh0aGlzLGspfSl9fTt2YXIgS0Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPWE7dGhpcy50cmFuc2Zvcm09Yn1oRShhKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0odGhpcy5xaC5oRShhKSl9dkQoYSl7cmV0dXJuIHRoaXMudHJhbnNmb3JtKHRoaXMucWgudkQoYSkpfVNqKCl7cmV0dXJuIHRoaXMucWguU2ooKX19O3ZhciBGeGE9W3t0aHJlc2hvbGQ6MjAwLEFsOjI3MDg5NH0se3RocmVzaG9sZDozMDAsQWw6MjcwODk1fSx7dGhyZXNob2xkOjUwMCxBbDoyNzA4OTZ9LHt0aHJlc2hvbGQ6MUUzLEFsOjI3MDg5N30se3RocmVzaG9sZDpJbmZpbml0eSxBbDoyNzA4OTh9XSxHeGE9W3t0aHJlc2hvbGQ6MjAwLEFsOjI3MDg5OX0se3RocmVzaG9sZDozMDAsQWw6MjcwOTAwfSx7dGhyZXNob2xkOjUwMCxBbDoyNzA5MDF9LHt0aHJlc2hvbGQ6MUUzLEFsOjI3MDkwMn0se3RocmVzaG9sZDpJbmZpbml0eSxBbDoyNzA5MDN9XTt2YXIgUHhhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm1hcD1hO3RoaXMubWFwSWQ9Yjt0aGlzLnFoPW5ldyBleWEoKCk9Pm5ldyBfLktrKTtiPyhhPWI/Yy5yaFtiXXx8bnVsbDpudWxsKT9NRCh0aGlzLGEsXy5tZyhfLkpsLDQxKSk6d3dhKHRoaXMpOk1EKHRoaXMsbnVsbCxudWxsKX19O3ZhciB5d2E9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLk55PWE7dGhpcy53aD10aGlzLnloPW51bGw7dGhpcy50aD0hMTt0aGlzLnFoPXRoaXMuemg9bnVsbDt2YXIgZj1uZXcgXy5zQih0aGlzLCJhcGlzdHlsZSIpLGc9bmV3IF8uc0IodGhpcywiYXV0aFVzZXIiKSxoPW5ldyBfLnNCKHRoaXMsImJhc2VNYXBUeXBlIiksaz1uZXcgXy5zQih0aGlzLCJzY2FsZSIpLG09bmV3IF8uc0IodGhpcywidGlsdCIpO2E9bmV3IF8uc0IodGhpcywiYmxvY2tpbmdMYXllckNvdW50Iik7dGhpcy5zaD1uZXcgXy5sbyhudWxsKTt2YXIgcD10aGlzLkFoLmJpbmQodGhpcyk7Yj1uZXcgXy5MeShbZixnLGIsaCxrLG0sZF0scCk7Xy5FbmEodGhpcywidGlsZU1hcFR5cGUiLGIpO3RoaXMueGg9bmV3IF8uTHkoW2IsYyxhXSx4d2EoKSk7dGhpcy5tYXA9ZX1tYXBUeXBlSWRfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJtYXBUeXBlSWQiKTt0aGlzLnJoKGEpfWhlYWRpbmdfY2hhbmdlZCgpe2lmKCF0aGlzLnRoKXt2YXIgYT0KdGhpcy5nZXQoImhlYWRpbmciKTtpZih0eXBlb2YgYT09PSJudW1iZXIiKXt2YXIgYj1fLmRtKE1hdGgucm91bmQoYS85MCkqOTAsMCwzNjApO2EhPT1iPyh0aGlzLnNldCgiaGVhZGluZyIsYiksdGhpcy56aD1hKTooYT10aGlzLmdldCgibWFwVHlwZUlkIiksdGhpcy5yaChhKSl9fX10aWx0X2NoYW5nZWQoKXtpZighdGhpcy50aCl7dmFyIGE9dGhpcy5nZXQoIm1hcFR5cGVJZCIpO3RoaXMucmgoYSl9fXNldE1hcFR5cGVJZChhKXt0aGlzLnJoKGEpO3RoaXMuc2V0KCJtYXBUeXBlSWQiLGEpfXJoKGEpe3ZhciBiPXRoaXMuZ2V0KCJoZWFkaW5nIil8fDAsYz10aGlzLk55LmdldChhfHwiIik7aWYoYSYmIWMpe3ZhciB7Qmg6ZH09dGhpcy5tYXAuX19nbTtfLnVwKGQsIk1BUF9JTklUSUFMSVpBVElPTiIpfWQ9dGhpcy5nZXQoInRpbHQiKTt2YXIgZT10aGlzLnRoO2lmKHRoaXMuZ2V0KCJ0aWx0IikmJiF0aGlzLnRoJiZjJiZjIGluc3RhbmNlb2YgQkQmJmMuc2gmJmMuc2hbYl0pYz1jLnNoW2JdOwplbHNlIGlmKGQ9PT0wJiZiIT09MCYmIWUpe3RoaXMuc2V0KCJoZWFkaW5nIiwwKTtyZXR1cm59YyYmYz09PXRoaXMueWh8fCh0aGlzLndoJiYoXy5tbih0aGlzLndoKSx0aGlzLndoPW51bGwpLGEmJih0aGlzLndoPV8ua24odGhpcy5OeSxhLnRvTG93ZXJDYXNlKCkrIl9jaGFuZ2VkIix0aGlzLnJoLmJpbmQodGhpcyxhKSkpLGMmJmMgaW5zdGFuY2VvZiBfLkJxPyhhPWMucmgsdGhpcy5zZXQoInN0eWxlcyIsYy5nZXQoInN0eWxlcyIpKSx0aGlzLnNldCgiYmFzZU1hcFR5cGUiLHRoaXMuTnkuZ2V0KGEpKSk6KHRoaXMuc2V0KCJzdHlsZXMiLG51bGwpLHRoaXMuc2V0KCJiYXNlTWFwVHlwZSIsYykpLHRoaXMuc2V0KCJtYXhab29tIixjJiZjLm1heFpvb20pLHRoaXMuc2V0KCJtaW5ab29tIixjJiZjLm1pblpvb20pLHRoaXMueWg9Yyl9QWgoYSxiLGMsZCxlLGYsZyl7aWYoZj09PXZvaWQgMClyZXR1cm4gbnVsbDtpZihkIGluc3RhbmNlb2YgQkQpe2Q9bmV3IFZEKGQsYSxiLGUsYywKZyk7aWYoYT10aGlzLnFoIGluc3RhbmNlb2YgVkQpaWYoYT10aGlzLnFoLGE9PT1kKWE9ITA7ZWxzZSBpZihhJiZkKXtpZihiPWEuaGVhZGluZz09PWQuaGVhZGluZyYmYS5wcm9qZWN0aW9uPT09ZC5wcm9qZWN0aW9uJiZhLkl3PT09ZC5JdylhPWEudGguZ2V0KCksYj1kLnRoLmdldCgpLGI9YT09Yj8hMDphJiZiP2Euc2NhbGU9PWIuc2NhbGUmJmEuQ3E9PWIuQ3EmJihhLlNvPT1iLlNvPyEwOmEuU28mJmIuU28/Xy5KdihhLlNvLGIuU28pOiExKTohMTthPWJ9ZWxzZSBhPSExO2F8fCh0aGlzLnFoPWQsdGhpcy5zaC5zZXQoZC53aCkpfWVsc2UgYT10aGlzLnFoIT09ZCx0aGlzLnFoPWQsKHRoaXMuc2guZ2V0KCl8fGEpJiZ0aGlzLnNoLnNldChudWxsKTtyZXR1cm4gdGhpcy5xaH19O3ZhciBLeGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NoYW5nZWQoYSl7aWYoYT09PSJtYXhab29tUmVjdHMifHxhPT09ImxhdExuZyIpe2E9dGhpcy5nZXQoImxhdExuZyIpO2xldCBiPXRoaXMuZ2V0KCJtYXhab29tUmVjdHMiKTtpZihhJiZiKXtsZXQgYz12b2lkIDA7Zm9yKGxldCBkPTAsZTtlPWJbZCsrXTspYSYmZS5ib3VuZHMuY29udGFpbnMoYSkmJihjPU1hdGgubWF4KGN8fDAsZS5tYXhab29tKSk7YT1jO2EhPT10aGlzLmdldCgibWF4Wm9vbSIpJiZ0aGlzLnNldCgibWF4Wm9vbSIsYSl9ZWxzZSB0aGlzLmdldCgibWF4Wm9vbSIpIT09dm9pZCAwJiZ0aGlzLnNldCgibWF4Wm9vbSIsdm9pZCAwKX19fTt2YXIgWnhhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5tYXA9YTt0aGlzLlJoPWI7dGhpcy5xaD10aGlzLnJoPXZvaWQgMDt0aGlzLnNoPTB9bW92ZUNhbWVyYShhKXt2YXIgYj10aGlzLm1hcC5nZXRDZW50ZXIoKSxjPXRoaXMubWFwLmdldFpvb20oKSxkPXRoaXMubWFwLmdldFByb2plY3Rpb24oKSxlPWMhPW51bGx8fGEuem9vbSE9bnVsbDtpZigoYnx8YS5jZW50ZXIpJiZlJiZkKXtlPWEuY2VudGVyP18uWG0oYS5jZW50ZXIpOmI7Yz1hLnpvb20hPW51bGw/YS56b29tOmM7dmFyIGY9dGhpcy5tYXAuZ2V0VGlsdCgpfHwwLGc9dGhpcy5tYXAuZ2V0SGVhZGluZygpfHwwO3RoaXMuc2g9PT0yPyhmPWEudGlsdCE9bnVsbD9hLnRpbHQ6ZixnPWEuaGVhZGluZyE9bnVsbD9hLmhlYWRpbmc6Zyk6dGhpcy5zaD09PTA/KHRoaXMucmg9YS50aWx0LHRoaXMucWg9YS5oZWFkaW5nKTooYS50aWx0fHxhLmhlYWRpbmcpJiZfLmRuKCJnb29nbGUubWFwcy5tb3ZlQ2FtZXJhKCkgQ2FtZXJhT3B0aW9ucyBpbmNsdWRlcyB0aWx0IG9yIGhlYWRpbmcsIHdoaWNoIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHJhc3RlciBtYXBzIik7CmE9Xy5FdyhlLGQpO2ImJmIhPT1lJiYoYj1fLkV3KGIsZCksYT1fLnd2KHRoaXMuUmguUWssYSxiKSk7dGhpcy5SaC5ZbCh7Y2VudGVyOmEsem9vbTpjLGhlYWRpbmc6Zyx0aWx0OmZ9LCExKX19fTt2YXIgU3hhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5zaD10aGlzLnFoPXRoaXMucmg9ITF9YWN0dWFsVGlsdF9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoImFjdHVhbFRpbHQiKTtpZihhIT1udWxsJiZhIT09dGhpcy5nZXQoInRpbHQiKSl7dGhpcy5yaD0hMDt0cnl7dGhpcy5zZXQoInRpbHQiLGEpfWZpbmFsbHl7dGhpcy5yaD0hMX19fXRpbHRfY2hhbmdlZCgpe2lmKCF0aGlzLnJoKXt2YXIgYT10aGlzLmdldCgidGlsdCIpO2EhPT10aGlzLmdldCgiZGVzaXJlZFRpbHQiKT90aGlzLnNldCgiZGVzaXJlZFRpbHQiLGEpOmEhPT10aGlzLmdldCgiYWN0dWFsVGlsdCIpJiZ0aGlzLnNldCgiYWN0dWFsVGlsdCIsdGhpcy5nZXQoImFjdHVhbFRpbHQiKSk7dGhpcy5zaHx8YSE9PTQ1fHx0aGlzLnFofHwodGhpcy5zaD0hMCxjb25zb2xlLndhcm4oIkFzIG9mIE1hcHMgSmF2YVNjcmlwdCBBUEkgdmVyc2lvbiAzLjY1LCA0NVx1MDBiMCBpbWFnZXJ5IG9uIHJhc3RlciBtYXBzIGluIHNhdGVsbGl0ZSBhbmQgaHlicmlkIG1hcCB0eXBlcyBpcyBubyBsb25nZXIgYXZhaWxhYmxlLiBGb3IgbW9yZSBpbmZvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kZXByZWNhdGlvbnMiKSl9fW1hcFR5cGVJZF9jaGFuZ2VkKCl7TkQodGhpcyl9em9vbV9jaGFuZ2VkKCl7TkQodGhpcyl9ZGVzaXJlZFRpbHRfY2hhbmdlZCgpe05EKHRoaXMpfX07dmFyIE94YT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubWFwPWE7dGhpcy54aD10aGlzLnNoPSExO3RoaXMuWHc9bnVsbDt0aGlzLnRoPXRoaXMucWg9dGhpcy53aD0hMTt2YXIgYz1uZXcgXy5BcCgoKT0+e3RoaXMubm90aWZ5KCJib3VuZHMiKTtGd2EodGhpcyl9LDApO3RoaXMucmg9KCk9PntjLkRpKCl9O3RoaXMuUmg9YigoZCxlKT0+e3RoaXMueGg9ITA7dmFyIGY9dGhpcy5tYXAuZ2V0UHJvamVjdGlvbigpO3RoaXMuWHcmJmUubWluLmVxdWFscyh0aGlzLlh3Lm1pbikmJmUubWF4LmVxdWFscyh0aGlzLlh3Lm1heCl8fCh0aGlzLlh3PWUsdGhpcy5yaCgpKTtpZighdGhpcy5xaCl7dGhpcy5xaD0hMDt0cnl7bGV0IGc9Xy5OcShkLmNlbnRlcixmLCEwKSxoPXRoaXMubWFwLmdldENlbnRlcigpOyFnfHxoJiZnLmVxdWFscyhoKXx8dGhpcy5tYXAuc2V0Q2VudGVyKGcpO2xldCBrPXRoaXMubWFwLmdldCgiaXNGcmFjdGlvbmFsWm9vbUVuYWJsZWQiKT8KZC56b29tOk1hdGgucm91bmQoZC56b29tKTt0aGlzLm1hcC5nZXRab29tKCkhPT1rJiZ0aGlzLm1hcC5zZXRab29tKGspO3RoaXMudGgmJih0aGlzLm1hcC5nZXRIZWFkaW5nKCkhPT1kLmhlYWRpbmcmJnRoaXMubWFwLnNldEhlYWRpbmcoZC5oZWFkaW5nKSx0aGlzLm1hcC5nZXRUaWx0KCkhPT1kLnRpbHQmJnRoaXMubWFwLnNldFRpbHQoZC50aWx0KSl9ZmluYWxseXt0aGlzLnFoPSExfX19KTthLmJpbmRUbygiYm91bmRzIix0aGlzLHZvaWQgMCwhMCk7YS5hZGRMaXN0ZW5lcigiY2VudGVyX2NoYW5nZWQiLCgpPT57T0QodGhpcyl9KTthLmFkZExpc3RlbmVyKCJ6b29tX2NoYW5nZWQiLCgpPT57T0QodGhpcyl9KTthLmFkZExpc3RlbmVyKCJwcm9qZWN0aW9uX2NoYW5nZWQiLCgpPT57T0QodGhpcyl9KTthLmFkZExpc3RlbmVyKCJ0aWx0X2NoYW5nZWQiLCgpPT57T0QodGhpcyl9KTthLmFkZExpc3RlbmVyKCJoZWFkaW5nX2NoYW5nZWQiLCgpPT57T0QodGhpcyl9KTtPRCh0aGlzKX1ZbChhKXt0aGlzLlJoLllsKGEsCiEwKTt0aGlzLnJoKCl9Z2V0Qm91bmRzKCl7e2xldCBkPXRoaXMubWFwLmdldCgiY2VudGVyIiksZT10aGlzLm1hcC5nZXQoInpvb20iKTtpZihkJiZlIT1udWxsKXt2YXIgYT10aGlzLm1hcC5nZXQoInRpbHQiKXx8MCxiPXRoaXMubWFwLmdldCgiaGVhZGluZyIpfHwwO3ZhciBjPXRoaXMubWFwLmdldFByb2plY3Rpb24oKTthPXtjZW50ZXI6Xy5FdyhkLGMpLHpvb206ZSx0aWx0OmEsaGVhZGluZzpifTthPXRoaXMuUmgubkQoYSk7Yz1fLnFtYShhLGMsITApfWVsc2UgYz1udWxsfXJldHVybiBjfX07dmFyIGt5YT17YWRtaW5pc3RyYXRpdmU6MTUwMTQ3LCJhZG1pbmlzdHJhdGl2ZS5jb3VudHJ5IjoxNTAxNDYsImFkbWluaXN0cmF0aXZlLnByb3ZpbmNlIjoxNTAxNTEsImFkbWluaXN0cmF0aXZlLmxvY2FsaXR5IjoxNTAxNDksImFkbWluaXN0cmF0aXZlLm5laWdoYm9yaG9vZCI6MTUwMTUwLCJhZG1pbmlzdHJhdGl2ZS5sYW5kX3BhcmNlbCI6MTUwMTQ4LHBvaToxNTAxNjEsInBvaS5idXNpbmVzcyI6MTUwMTYwLCJwb2kuZ292ZXJubWVudCI6MTUwMTYyLCJwb2kuc2Nob29sIjoxNTAxNjYsInBvaS5tZWRpY2FsIjoxNTAxNjMsInBvaS5hdHRyYWN0aW9uIjoxNTAxODQsInBvaS5wbGFjZV9vZl93b3JzaGlwIjoxNTAxNjUsInBvaS5zcG9ydHNfY29tcGxleCI6MTUwMTY3LCJwb2kucGFyayI6MTUwMTY0LHJvYWQ6MTUwMTY4LCJyb2FkLmhpZ2h3YXkiOjE1MDE2OSwicm9hZC5oaWdod2F5LmNvbnRyb2xsZWRfYWNjZXNzIjoxNTAxNzAsInJvYWQuYXJ0ZXJpYWwiOjE1MDE3MSwicm9hZC5sb2NhbCI6MTUwMTg1LAoicm9hZC5sb2NhbC5kcml2YWJsZSI6MTUwMTg2LCJyb2FkLmxvY2FsLnRyYWlsIjoxNTAxODcsdHJhbnNpdDoxNTAxNzIsInRyYW5zaXQubGluZSI6MTUwMTczLCJ0cmFuc2l0LmxpbmUucmFpbCI6MTUwMTc1LCJ0cmFuc2l0LmxpbmUuZmVycnkiOjE1MDE3NCwidHJhbnNpdC5saW5lLnRyYW5zaXRfbGF5ZXIiOjE1MDE3NiwidHJhbnNpdC5zdGF0aW9uIjoxNTAxNzcsInRyYW5zaXQuc3RhdGlvbi5yYWlsIjoxNTAxNzgsInRyYW5zaXQuc3RhdGlvbi5idXMiOjE1MDE4MCwidHJhbnNpdC5zdGF0aW9uLmFpcnBvcnQiOjE1MDE4MSwidHJhbnNpdC5zdGF0aW9uLmZlcnJ5IjoxNTAxNzksbGFuZHNjYXBlOjE1MDE1MywibGFuZHNjYXBlLm1hbl9tYWRlIjoxNTAxNTQsImxhbmRzY2FwZS5tYW5fbWFkZS5idWlsZGluZyI6MTUwMTU1LCJsYW5kc2NhcGUubWFuX21hZGUuYnVzaW5lc3NfY29ycmlkb3IiOjE1MDE1NiwibGFuZHNjYXBlLm5hdHVyYWwiOjE1MDE1NywibGFuZHNjYXBlLm5hdHVyYWwubGFuZGNvdmVyIjoxNTAxNTgsCiJsYW5kc2NhcGUubmF0dXJhbC50ZXJyYWluIjoxNTAxNTksd2F0ZXI6MTUwMTgzfTt2YXIgSHdhPXtodWU6ImgiLHNhdHVyYXRpb246InMiLGxpZ2h0bmVzczoibCIsZ2FtbWE6ImciLGludmVydF9saWdodG5lc3M6ImlsIix2aXNpYmlsaXR5OiJ2Iixjb2xvcjoiYyIsd2VpZ2h0OiJ3In07dmFyIFZ4YT1jbGFzcyBleHRlbmRzIF8ueW57Y2hhbmdlZChhKXtpZihhIT09ImFwaXN0eWxlIiYmYSE9PSJoYXNDdXN0b21TdHlsZXMiKXt2YXIgYj10aGlzLmdldCgibWFwVHlwZVN0eWxlcyIpfHx0aGlzLmdldCgic3R5bGVzIik7dGhpcy5zZXQoImhhc0N1c3RvbVN0eWxlcyIsdGhpcy5nZXQoImlzTGVnZW5kYXJ5Iil8fF8uJGwoYik+MCk7S3dhKHRoaXMsYik7aWYoYT09PSJzdHlsZXMiKXRyeXtpZihiKWZvcihsZXQgYyBvZiBiKWMmJmMuZmVhdHVyZVR5cGUmJkd2YShjLmZlYXR1cmVUeXBlKSYmYy5mZWF0dXJlVHlwZSBpbiBreWEmJl8uTSh0aGlzLGt5YVtjLmZlYXR1cmVUeXBlXSl9Y2F0Y2goYyl7fX19Z2V0QXBpc3R5bGUoKXtyZXR1cm4gdGhpcy5xaH19O3ZhciBseWE9Y2xhc3MgZXh0ZW5kcyBfLnRCe3JoKCl7cmV0dXJuW25ldyBfLmRyYV19fTt2YXIgTXhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZixnKXtzdXBlcigpO3RoaXMubGFuZ3VhZ2U9YTt0aGlzLnhoPWI7dGhpcy5xaD1jO3RoaXMudGg9ZDt0aGlzLkRoPWU7dGhpcy5CaD1mO3RoaXMubWFwPWc7dGhpcy5yaD10aGlzLnNoPW51bGw7dGhpcy56aD0xO3RoaXMud2g9ITA7dGhpcy5BaD1uZXcgXy5BcCgoKT0+e1N3YSh0aGlzKX0sMCk7dGhpcy55aD1uZXcgbHlhfWNoYW5nZWQoYSl7YSE9PSJhdHRyaWJ1dGlvblRleHQiJiYoYT09PSJiYXNlTWFwVHlwZSImJihUd2EodGhpcyksdGhpcy5zaD1udWxsKSx0aGlzLkFoLkRpKCkpfWdldE1hcFR5cGVJZCgpe3ZhciBhPXRoaXMuZ2V0KCJiYXNlTWFwVHlwZSIpO3JldHVybiBhJiZhLm1hcFR5cGVJZH19O3ZhciBteWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlPSExKXt0aGlzLnJoPWM7dGhpcy5zaD1kO3RoaXMuYm91bmRzPWEmJnttaW46YS5taW4sbWF4OmEubWluLnFoPD1hLm1heC5xaD9hLm1heDpuZXcgXy5XcChhLm1heC5xaCsyNTYsYS5tYXgucmgpLFJUOmEubWF4LnFoLWEubWluLnFoLFNUOmEubWF4LnJoLWEubWluLnJofTsoZD10aGlzLmJvdW5kcykmJmMud2lkdGgmJmMuaGVpZ2h0PyhhPU1hdGgubG9nMihjLndpZHRoLyhkLm1heC5xaC1kLm1pbi5xaCkpLGM9TWF0aC5sb2cyKGMuaGVpZ2h0LyhkLm1heC5yaC1kLm1pbi5yaCkpLGU9TWF0aC5tYXgoYj9iLm1pbjowLGU/TWF0aC5tYXgoTWF0aC5jZWlsKGEpLE1hdGguY2VpbChjKSk6TWF0aC5taW4oTWF0aC5mbG9vcihhKSxNYXRoLmZsb29yKGMpKSkpOmU9Yj9iLm1pbjowO3RoaXMucWg9e21pbjplLG1heDpNYXRoLm1pbihiP2IubWF4OkluZmluaXR5LDMwKX07dGhpcy5xaC5tYXg9TWF0aC5tYXgodGhpcy5xaC5taW4sCnRoaXMucWgubWF4KX1DdyhhKXt2YXIge3pvb206Yix0aWx0OmMsaGVhZGluZzpkLGNlbnRlcjplfT1hO2I9UEQoYix0aGlzLnFoLm1pbix0aGlzLnFoLm1heCk7dGhpcy5zaCYmKGM9UEQoYywwLEJ3YShiKSkpO2Q9KGQlMzYwKzM2MCklMzYwO2lmKCF0aGlzLmJvdW5kc3x8IXRoaXMucmgud2lkdGh8fCF0aGlzLnJoLmhlaWdodClyZXR1cm57Y2VudGVyOmUsem9vbTpiLGhlYWRpbmc6ZCx0aWx0OmN9O2E9dGhpcy5yaC53aWR0aC9NYXRoLnBvdygyLGIpO3ZhciBmPXRoaXMucmguaGVpZ2h0L01hdGgucG93KDIsYik7ZT1uZXcgXy5XcChQRChlLnFoLHRoaXMuYm91bmRzLm1pbi5xaCthLzIsdGhpcy5ib3VuZHMubWF4LnFoLWEvMiksUEQoZS5yaCx0aGlzLmJvdW5kcy5taW4ucmgrZi8yLHRoaXMuYm91bmRzLm1heC5yaC1mLzIpKTtyZXR1cm57Y2VudGVyOmUsem9vbTpiLGhlYWRpbmc6ZCx0aWx0OmN9fUZ1KCl7cmV0dXJue21pbjp0aGlzLnFoLm1pbixtYXg6dGhpcy5xaC5tYXh9fX07dmFyICR4YT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuUmg9YTt0aGlzLm1hcD1iO3RoaXMucWg9ITE7dGhpcy51cGRhdGUoKX1jaGFuZ2VkKGEpe2EhPT0iem9vbVJhbmdlIiYmYSE9PSJib3VuZHNSYW5nZSImJnRoaXMudXBkYXRlKCl9dXBkYXRlKCl7dmFyIGE9bnVsbCxiPXRoaXMuZ2V0KCJyZXN0cmljdGlvbiIpO2ImJl8uTSh0aGlzLm1hcCwxNDk4NTApO3ZhciBjPXRoaXMuZ2V0KCJwcm9qZWN0aW9uIik7aWYoYil7YT1fLkV3KGIubGF0TG5nQm91bmRzLmdldFNvdXRoV2VzdCgpLGMpO3ZhciBkPV8uRXcoYi5sYXRMbmdCb3VuZHMuZ2V0Tm9ydGhFYXN0KCksYyk7YT17bWluOm5ldyBfLldwKF8uUG4oYi5sYXRMbmdCb3VuZHMubG5nKT8tSW5maW5pdHk6YS5xaCxkLnJoKSxtYXg6bmV3IF8uV3AoXy5QbihiLmxhdExuZ0JvdW5kcy5sbmcpP0luZmluaXR5OmQucWgsYS5yaCl9O2Q9Yi5zdHJpY3RCb3VuZHM9PTF9Yj1uZXcgXy5aQSh0aGlzLmdldCgibWluWm9vbSIpfHwKMCx0aGlzLmdldCgibWF4Wm9vbSIpfHwzMCk7Yz10aGlzLmdldCgibWFwVHlwZU1pblpvb20iKTt2YXIgZT10aGlzLmdldCgibWFwVHlwZU1heFpvb20iKSxmPXRoaXMuZ2V0KCJ0cmFja2VyTWF4Wm9vbSIpO18uam0oYykmJihiLm1pbj1NYXRoLm1heChiLm1pbixjKSk7Xy5qbShmKT9iLm1heD1NYXRoLm1pbihiLm1heCxmKTpfLmptKGUpJiYoYi5tYXg9TWF0aC5taW4oYi5tYXgsZSkpO18uSW0oaz0+ay5taW48PWsubWF4LCJtaW5ab29tIGNhbm5vdCBleGNlZWQgbWF4Wm9vbSIpKGIpO3ZhciB7d2lkdGg6ZyxoZWlnaHQ6aH09dGhpcy5SaC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtkPW5ldyBteWEoYSxiLHt3aWR0aDpnLGhlaWdodDpofSx0aGlzLnFoLGQpO3RoaXMuUmguaEYoZCk7dGhpcy5zZXQoInpvb21SYW5nZSIsbmV3IF8uWkEoZC5GdSgpLm1pbixkLkZ1KCkubWF4KSk7dGhpcy5zZXQoImJvdW5kc1JhbmdlIixhKX19O3ZhciBIeGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5Ycj1hO3RoaXMuemg9bmV3IFdlYWtNYXA7dGhpcy5xaD1uZXcgTWFwO3RoaXMudGg9dGhpcy5yaD1udWxsO3RoaXMuQmg9ITE7dGhpcy5MaD1fLktuKCk7dGhpcy5zaD1udWxsO3RoaXMud2g9dGhpcy54aD0hMTt0aGlzLkNoPWQ9PntkPXRoaXMucWguZ2V0KGQuY3VycmVudFRhcmdldCl8fG51bGw7ZCE9PXRoaXMucmgmJlFEKHRoaXMsdGhpcy5yaCk7WndhKHRoaXMsZCwhMCk7UkQodGhpcyxkKTt0aGlzLnRoPWQ7dGhpcy5CaD0hMH07dGhpcy5EaD1kPT57KGQ9dGhpcy5xaC5nZXQoZC5jdXJyZW50VGFyZ2V0KSkmJnRoaXMudGg9PT1kJiYodGhpcy50aD1udWxsKTtad2EodGhpcyxkKX07dGhpcy5GaD1kPT57dmFyIGU9ZC5jdXJyZW50VGFyZ2V0LGY9dGhpcy5xaC5nZXQoZSk7aWYoZi5aaylkLmtleT09PSJFc2NhcGUiJiZmLlRBKGQpO2Vsc2V7dmFyIGc9dGhpcy54aD0hMSxoPW51bGw7aWYoXy5BeShkKXx8Xy5CeShkKSl0aGlzLnFoLnNpemU8PQoxP2g9bnVsbDooZz1TRCh0aGlzKSxoPWcubGVuZ3RoLGg9Z1soZy5pbmRleE9mKGUpLTEraCklaF0pLHRoaXMueGg9Zz0hMDtlbHNlIGlmKF8uRHkoZCl8fF8uRXkoZCkpdGhpcy5xaC5zaXplPD0xP2g9bnVsbDooZz1TRCh0aGlzKSxoPWdbKGcuaW5kZXhPZihlKSsxKSVnLmxlbmd0aF0pLHRoaXMueGg9Zz0hMDtkLmFsdEtleSYmKF8uenkoZCl8fGQua2V5PT09Xy5ncmEpP2YubXYoZCk6IWQuYWx0S2V5JiZfLnp5KGQpJiYoZz0hMCxmLlVBKGQpKTtoJiZoIT09ZSYmKFFEKHRoaXMsdGhpcy5xaC5nZXQoZSl8fG51bGwsITApLFJEKHRoaXMsdGhpcy5xaC5nZXQoaCl8fG51bGwsITApLF8uTSh3aW5kb3csMTcxMjIxKSk7ZyYmKGQucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpKX19O3RoaXMuQWg9W107dGhpcy55aD1uZXcgU2V0O3ZhciBiPV8uR3coKSxjPSgpPT57Zm9yKGxldCBkIG9mIHRoaXMueWgpVUQodGhpcyxkKSxkLnRhcmdldEVsZW1lbnQmJihkLkdvJiYKKGQubkkodGhpcy5Ycil8fGQuWmspJiYoZC50YXJnZXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLHRoaXMuQ2gpLGQudGFyZ2V0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsdGhpcy5EaCksZC50YXJnZXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuRmgpLHRoaXMucWguc2V0KGQudGFyZ2V0RWxlbWVudCxkKSksZC5BeigpLHRoaXMuQWg9Xy5JcChkLk9yKCkpKSxURCh0aGlzLGQpO3RoaXMueWguY2xlYXIoKX07dGhpcy5KaD1kPT57dGhpcy55aC5hZGQoZCk7Xy5GdyhiLGMsdGhpcyx0aGlzKX07dGhpcy5JaD1uZXcgXy5DcCgoZCxlKT0+e3RoaXMuc2gudGV4dENvbnRlbnQ9ZDt0aGlzLndoPWU/IXRoaXMud2g6dGhpcy53aH0sMTUwKX1zZXQgTWgoYSl7dGhpcy5zaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7dGhpcy5zaC5pZD10aGlzLkxoO3RoaXMuc2gudGV4dENvbnRlbnQ9IiI7WnZhKHRoaXMuc2gpOwp0aGlzLnNoLnNldEF0dHJpYnV0ZSgiYXJpYS1saXZlIiwicG9saXRlIik7YS5hcHBlbmRDaGlsZCh0aGlzLnNoKTthLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57dmFyIGM9Yi50YXJnZXQ7Xy5ndyhiKXx8Xy5xdShiKXx8IXRoaXMucWguaGFzKGMpfHx0aGlzLnFoLmdldChjKS5HdShiKX0pfUdoKGEpe2lmKCF0aGlzLnpoLmhhcyhhKSl7dmFyIGI9W107Yi5wdXNoKF8ua24oYSwiQ0xFQVJfVEFSR0VUIiwoKT0+e1VEKHRoaXMsYSl9KSk7Yi5wdXNoKF8ua24oYSwiVVBEQVRFX0ZPQ1VTIiwoKT0+e3RoaXMuSmgoYSl9KSk7Yi5wdXNoKF8ua24oYSwiUkVNT1ZFX0ZPQ1VTIiwoKT0+e2EuQXooKTtVRCh0aGlzLGEpO1REKHRoaXMsYSk7dmFyIGM9dGhpcy56aC5nZXQoYSk7aWYoYylmb3IobGV0IGQgb2YgYylkLnJlbW92ZSgpO3RoaXMuemguZGVsZXRlKGEpfSkpO2IucHVzaChfLmtuKGEsIkVMRU1FTlRTX1JFTU9WRUQiLCgpPT57VUQodGhpcyxhKTtURCh0aGlzLGEpfSkpO3RoaXMuemguc2V0KGEsCmIpfX1PaChhKXt0aGlzLkdoKGEpO3RoaXMuSmgoYSl9fTt2YXIgWXhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5rZXlzPXtwcm9qZWN0aW9uOjF9fWltbXV0YWJsZV9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoImltbXV0YWJsZSIpLGI9dGhpcy5xaDthIT09YiYmKF8uYW0odGhpcy5rZXlzLGM9PnsoYiYmYltjXSkhPT0oYSYmYVtjXSkmJnRoaXMuc2V0KGMsYSYmYVtjXSl9KSx0aGlzLnFoPWEpfX07dmFyIEx4YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmg9e307dGhpcy5xaD17fTt0aGlzLnNoPW5ldyBqeWF9aEUoYSl7dmFyIGI9dGhpcy5yaCxjPWEua2ksZD1hLmxpO2E9YS51aTtyZXR1cm4gYlthXSYmYlthXVtjXSYmYlthXVtjXVtkXXx8MH12RChhKXtyZXR1cm4gdGhpcy5xaFthXXx8MH1Taigpe3JldHVybiB0aGlzLnNofX07dmFyIFd4YT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmVpPWE7YS5hZGRMaXN0ZW5lcigoKT0+e3RoaXMubm90aWZ5KCJzdHlsZSIpfSl9Y2hhbmdlZChhKXthIT09InRpbGVNYXBUeXBlIiYmYSE9PSJzdHlsZSImJnRoaXMubm90aWZ5KCJzdHlsZSIpfWdldFN0eWxlKCl7dmFyIGE9W10sYj10aGlzLmdldCgidGlsZU1hcFR5cGUiKTtpZihiIGluc3RhbmNlb2YgQkQmJihiPWIuX19nbXNkKSl7bGV0IGQ9Xy5QdyhuZXcgXy5yeCxiLnR5cGUpO2lmKGIucGFyYW1zKWZvcih2YXIgYyBpbiBiLnBhcmFtcyl7aWYoIWIucGFyYW1zLmhhc093blByb3BlcnR5KGMpKWNvbnRpbnVlO2xldCBlPV8uT3coXy5SdyhkKSxjKSxmPWIucGFyYW1zW2NdO2YmJmUuc2V0VmFsdWUoZil9YS5wdXNoKGQpfWM9Xy5QdyhuZXcgXy5yeCwzNyk7Xy5PdyhfLlJ3KGMpLCJzbWFydG1hcHMiKTthLnB1c2goYyk7dGhpcy5laS5nZXQoKS5mb3JFYWNoKGQ9PntkLnN0eWxlciYmCmEucHVzaChkLnN0eWxlcil9KTtyZXR1cm4gYX19O3ZhciBYeGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8uTnAud2g7c3VwZXIoKTt0aGlzLnRoPWI7dGhpcy5saXN0ZW5lcj10aGlzLnJoPXRoaXMucWg9bnVsbDtiJiYodGhpcy5xaD1fLnJ3KGEpLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMucWguc3R5bGUud2lkdGg9IjFweCIsdGhpcy5xaC5zdHlsZS5oZWlnaHQ9IjFweCIsXy53dyh0aGlzLnFoLDFFMykpO3RoaXMuZWxlbWVudD1hO3RoaXMubGlzdGVuZXImJihfLm1uKHRoaXMubGlzdGVuZXIpLHRoaXMubGlzdGVuZXI9bnVsbCk7dGhpcy50aCYmYSYmKHRoaXMubGlzdGVuZXI9Xy5xbihhLCJtb3VzZW1vdmUiLHRoaXMuc2guYmluZCh0aGlzKSwhMCkpO3RoaXMudGl0bGVfY2hhbmdlZCgpfXRpdGxlX2NoYW5nZWQoKXtpZih0aGlzLmVsZW1lbnQpe3ZhciBhPXRoaXMuZ2V0KCJ0aXRsZSIpO2E/dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGl0bGUiLGEpOnRoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoInRpdGxlIik7CmlmKHRoaXMucWgmJnRoaXMucmgpe2E9dGhpcy5lbGVtZW50O2lmKGEubm9kZVR5cGU9PTEpe3RyeXt2YXIgYj1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGMpe2I9e2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX1iPW5ldyBfLmR3KGIubGVmdCxiLnRvcCl9ZWxzZSBiPWEuY2hhbmdlZFRvdWNoZXM/YS5jaGFuZ2VkVG91Y2hlc1swXTphLGI9bmV3IF8uZHcoYi5jbGllbnRYLGIuY2xpZW50WSk7Xy51dyh0aGlzLnFoLG5ldyBfLmJvKHRoaXMucmguY2xpZW50WC1iLngsdGhpcy5yaC5jbGllbnRZLWIueSkpO3RoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnFoKX19fXNoKGEpe3RoaXMucmg9e2NsaWVudFg6YS5jbGllbnRYLGNsaWVudFk6YS5jbGllbnRZfX19O3ZhciBueWE9KDAsXy5HailgLmdtLXN0eWxlLW1vY3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjU5KTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IGVhc2UtaW4tb3V0O3RyYW5zaXRpb246b3BhY2l0eSBlYXNlLWluLW91dH0uZ20tc3R5bGUtbW90e2NvbG9yOndoaXRlO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMnB4O21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9c2VudGluZWx7fVxuYDt2YXIgUnhhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29udGFpbmVyPWE7dGhpcy5yaD0wO3RoaXMucnY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpO2EuYXBwZW5kQ2hpbGQodGhpcy5ydik7Xy5xdyhhLCJnbS1zdHlsZS1tb2MiKTtfLnF3KHRoaXMucnYsImdtLXN0eWxlLW1vdCIpO18uU3QobnlhLGEpO2Euc3R5bGUudHJhbnNpdGlvblByb3BlcnR5PSJvcGFjaXR5LCBkaXNwbGF5IjthLnN0eWxlLnRyYW5zaXRpb25CZWhhdmlvcj0iYWxsb3ctZGlzY3JldGUiO2Euc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPSIwIjthLnN0eWxlLm9wYWNpdHk9IjAiO2Euc3R5bGUuZGlzcGxheT0ibm9uZSI7YS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsYj0+e18uZ24oYik7Xy5obihiKX0pfXFoKGEpe2NsZWFyVGltZW91dCh0aGlzLnJoKTthPT09MT8oYnhhKHRoaXMsITApLHRoaXMucmg9c2V0VGltZW91dCgoKT0+e2N4YSh0aGlzKX0sMTUwMCkpOmE9PT0yP2J4YSh0aGlzLAohMSk6YT09PTM/Y3hhKHRoaXMpOmE9PT00JiYodGhpcy5jb250YWluZXIuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPSIwLjJzIix0aGlzLmNvbnRhaW5lci5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJub25lIil9fTt2YXIgaHhhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZT0oKT0+e30pe3RoaXMuUmg9YTt0aGlzLnJoPWI7dGhpcy5lbmFibGVkPWM7dGhpcy5xaD1kO3RoaXMuUW89ZX19O3ZhciBneGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGY9KCk9Pnt9KXt0aGlzLlJoPWI7dGhpcy54aD1jO3RoaXMuZW5hYmxlZD1kO3RoaXMud2g9ZTt0aGlzLlFvPWY7dGhpcy5zaD1udWxsO3RoaXMucmg9dGhpcy5xaD0wO3RoaXMudGg9bmV3IF8uQ3AoKCk9Pnt0aGlzLnJoPXRoaXMucWg9MH0sMUUzKTtuZXcgXy5GcChhLCJ3aGVlbCIsZz0+e2V4YSh0aGlzLGcpfSl9fTt2YXIganhhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPW51bGwsZD0oKT0+e30pe3RoaXMuUmg9YTt0aGlzLnpqPWI7dGhpcy5jdXJzb3I9Yzt0aGlzLlFvPWQ7dGhpcy5hY3RpdmU9bnVsbH1rbihhLGIpe2Iuc3RvcCgpO2lmKCF0aGlzLmFjdGl2ZSl7dGhpcy5jdXJzb3ImJl8uSnkodGhpcy5jdXJzb3IsITApO3ZhciBjPWFFKHRoaXMuUmgsKCk9Pnt0aGlzLmFjdGl2ZT1udWxsO3RoaXMuemoucmVzZXQoYil9KTtjP3RoaXMuYWN0aXZlPXtvcmlnaW46YS5FaixaTzp0aGlzLlJoLnNtKCkuem9vbSxKcDpjfTp0aGlzLnpqLnJlc2V0KGIpfX1qbihhKXtpZih0aGlzLmFjdGl2ZSl7YT10aGlzLmFjdGl2ZS5aTysoYS5Fai5jbGllbnRZLXRoaXMuYWN0aXZlLm9yaWdpbi5jbGllbnRZKS8xMjg7dmFyIHtjZW50ZXI6YixoZWFkaW5nOmMsdGlsdDpkfT10aGlzLlJoLnNtKCk7dGhpcy5hY3RpdmUuSnAucHIoe2NlbnRlcjpiLHpvb206YSxoZWFkaW5nOmMsdGlsdDpkfSl9fUpuKCl7dGhpcy5jdXJzb3ImJgpfLkp5KHRoaXMuY3Vyc29yLCExKTt0aGlzLmFjdGl2ZSYmKHRoaXMuYWN0aXZlLkpwLnJlbGVhc2UoKSx0aGlzLlFvKDEpKTt0aGlzLmFjdGl2ZT1udWxsfX07dmFyIGl4YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkPW51bGwsZT0oKT0+e30pe3RoaXMuUmg9YTt0aGlzLnFoPWI7dGhpcy56aj1jO3RoaXMuY3Vyc29yPWQ7dGhpcy5Rbz1lO3RoaXMuYWN0aXZlPW51bGx9a24oYSxiKXt2YXIgYz0hdGhpcy5hY3RpdmUmJmIuYnV0dG9uPT09MSYmYS5Qbz09PTEsZD10aGlzLnFoKGM/Mjo0KTtkPT09Im5vbmUifHxkPT09ImNvb3BlcmF0aXZlIiYmY3x8KGIuc3RvcCgpLHRoaXMuYWN0aXZlP3RoaXMuYWN0aXZlLnZwPWZ4YSh0aGlzLGEpOih0aGlzLmN1cnNvciYmXy5KeSh0aGlzLmN1cnNvciwhMCksKGM9YUUodGhpcy5SaCwoKT0+e3RoaXMuYWN0aXZlPW51bGw7dGhpcy56ai5yZXNldChiKX0pKT90aGlzLmFjdGl2ZT17dnA6ZnhhKHRoaXMsYSksSnA6Y306dGhpcy56ai5yZXNldChiKSkpfWpuKGEpe2lmKHRoaXMuYWN0aXZlKXt2YXIgYj10aGlzLnFoKDQpO2lmKGIhPT0ibm9uZSIpe3ZhciBjPXRoaXMuUmguc20oKTtiPWI9PT0iem9vbWFyb3VuZGNlbnRlciImJgphLlBvPjE/Yy5jZW50ZXI6Xy51dihfLnR2KGMuY2VudGVyLHRoaXMuYWN0aXZlLnZwLkVqKSx0aGlzLlJoLkRuKGEuRWopKTt0aGlzLmFjdGl2ZS5KcC5wcih7Y2VudGVyOmIsem9vbTp0aGlzLmFjdGl2ZS52cC56b29tK01hdGgubG9nKGEucmFkaXVzL3RoaXMuYWN0aXZlLnZwLnJhZGl1cykvTWF0aC5MTjIsaGVhZGluZzpjLmhlYWRpbmcsdGlsdDpjLnRpbHR9KX19fUpuKCl7dGhpcy5xaCgzKTt0aGlzLmN1cnNvciYmXy5KeSh0aGlzLmN1cnNvciwhMSk7dGhpcy5hY3RpdmUmJih0aGlzLmFjdGl2ZS5KcC5yZWxlYXNlKCksdGhpcy5Rbyg0KSk7dGhpcy5hY3RpdmU9bnVsbH19O3ZhciBUeGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGY9bnVsbCxnPSgpPT57fSl7dGhpcy5SaD1hO3RoaXMudGg9Yjt0aGlzLnpqPWM7dGhpcy54aD1kO3RoaXMud2g9ZTt0aGlzLmN1cnNvcj1mO3RoaXMuUW89Zzt0aGlzLnFoPXRoaXMuYWN0aXZlPW51bGw7dGhpcy5zaD10aGlzLnJoPTB9a24oYSxiKXt2YXIgYz0hdGhpcy5hY3RpdmUmJmIuYnV0dG9uPT09MSYmYS5Qbz09PTEsZD10aGlzLnRoKGM/Mjo0KTtpZihkIT09Im5vbmUiJiYoZCE9PSJjb29wZXJhdGl2ZSJ8fCFjKSlpZihiLnN0b3AoKSx0aGlzLmFjdGl2ZSl7aWYoYz1ZRCh0aGlzLGEpLHRoaXMucWg9dGhpcy5hY3RpdmUudnA9Yyx0aGlzLnNoPTAsdGhpcy5yaD1hLkJxLHRoaXMuYWN0aXZlLnd1PT09Mnx8dGhpcy5hY3RpdmUud3U9PT0zKXRoaXMuYWN0aXZlLnd1PTB9ZWxzZSB0aGlzLmN1cnNvciYmXy5KeSh0aGlzLmN1cnNvciwhMCksKGM9YUUodGhpcy5SaCwoKT0+e3RoaXMuYWN0aXZlPW51bGw7dGhpcy56ai5yZXNldChiKX0pKT8KKGQ9WUQodGhpcyxhKSx0aGlzLmFjdGl2ZT17dnA6ZCxKcDpjLHd1OjB9LHRoaXMucWg9ZCx0aGlzLnNoPTAsdGhpcy5yaD1hLkJxKTp0aGlzLnpqLnJlc2V0KGIpfWpuKGEpe2lmKHRoaXMuYWN0aXZlKXt2YXIgYj10aGlzLnRoKDQpO2lmKGIhPT0ibm9uZSIpe3ZhciBjPXRoaXMuUmguc20oKSxkPXRoaXMucmgtYS5CcTtNYXRoLnJvdW5kKE1hdGguYWJzKGQpKT49MTc5JiYodGhpcy5yaD10aGlzLnJoPGEuQnE/dGhpcy5yaCszNjA6dGhpcy5yaC0zNjAsZD10aGlzLnJoLWEuQnEpO3RoaXMuc2grPWQ7dmFyIGU9dGhpcy5hY3RpdmUud3U7ZD10aGlzLmFjdGl2ZS52cDt2YXIgZj1NYXRoLmFicyh0aGlzLnNoKTtpZihlPT09MXx8ZT09PTJ8fGU9PT0zKWQ9ZTtlbHNlIGlmKGEuUG88Mj9lPSExOihlPU1hdGguYWJzKGQucmFkaXVzLWEucmFkaXVzKSxlPWY8MTAmJmU+PShiPT09ImNvb3BlcmF0aXZlIj8yMDoxMCkpLGUpZD0xO2Vsc2V7aWYoZT10aGlzLndoKWEuUG8hPT0yP2U9ITE6CihlPU1hdGguYWJzKGQudnUtYS52dSl8fDFFLTEwLGU9Zj49KGI9PT0iY29vcGVyYXRpdmUiPzEwOjUpJiZhLnZ1Pj01MCYmZi9lPj0uOT8hMDohMSk7ZD1lPzM6dGhpcy54aCYmKGI9PT0iY29vcGVyYXRpdmUiJiZhLlBvIT09M3x8Yj09PSJncmVlZHkiJiZhLlBvIT09Mj8wOk1hdGguYWJzKGQuRWouY2xpZW50WS1hLkVqLmNsaWVudFkpPj0xNSYmZjw9MjApPzI6MH1kIT09dGhpcy5hY3RpdmUud3UmJih0aGlzLmFjdGl2ZS53dT1kLHRoaXMucWg9WUQodGhpcyxhKSx0aGlzLnNoPTApO2Y9Yy5jZW50ZXI7ZT1jLnpvb207dmFyIGc9Yy5oZWFkaW5nLGg9Yy50aWx0O3N3aXRjaChkKXtjYXNlIDI6aD10aGlzLnFoLnRpbHQrKHRoaXMucWguRWouY2xpZW50WS1hLkVqLmNsaWVudFkpLzEuNTticmVhaztjYXNlIDM6Zz10aGlzLnFoLmhlYWRpbmctdGhpcy5zaDtmPVhEKHRoaXMucWgua0EsdGhpcy5zaCx0aGlzLnFoLmNlbnRlcik7YnJlYWs7Y2FzZSAxOmY9Yj09PSJ6b29tYXJvdW5kY2VudGVyIiYmCmEuUG8+MT9jLmNlbnRlcjpfLnV2KF8udHYoYy5jZW50ZXIsdGhpcy5xaC5rQSksdGhpcy5SaC5EbihhLkVqKSk7ZT10aGlzLnFoLnpvb20rTWF0aC5sb2coYS5yYWRpdXMvdGhpcy5xaC5yYWRpdXMpL01hdGguTE4yO2JyZWFrO2Nhc2UgMDpmPWI9PT0iem9vbWFyb3VuZGNlbnRlciImJmEuUG8+MT9jLmNlbnRlcjpfLnV2KF8udHYoYy5jZW50ZXIsdGhpcy5xaC5rQSksdGhpcy5SaC5EbihhLkVqKSl9dGhpcy5yaD1hLkJxO3RoaXMuYWN0aXZlLkpwLnByKHtjZW50ZXI6Zix6b29tOmUsaGVhZGluZzpnLHRpbHQ6aH0pfX19Sm4oKXt0aGlzLnRoKDMpO3RoaXMuY3Vyc29yJiZfLkp5KHRoaXMuY3Vyc29yLCExKTt0aGlzLmFjdGl2ZSYmKHRoaXMuUW8odGhpcy5hY3RpdmUud3UpLHRoaXMuYWN0aXZlLkpwLnJlbGVhc2UodGhpcy5xaD90aGlzLnFoLmtBOnZvaWQgMCkpO3RoaXMucWg9dGhpcy5hY3RpdmU9bnVsbDt0aGlzLnNoPXRoaXMucmg9MH19O3ZhciBVeGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlPW51bGwsZj0oKT0+e30pe3RoaXMuUmg9YTt0aGlzLnpqPWI7dGhpcy5yaD1jO3RoaXMucWg9ZDt0aGlzLmN1cnNvcj1lO3RoaXMuUW89Zjt0aGlzLmFjdGl2ZT1udWxsfWtuKGEsYil7Yi5zdG9wKCk7aWYodGhpcy5hY3RpdmUpdGhpcy5hY3RpdmUudnA9bHhhKHRoaXMsYSk7ZWxzZXt0aGlzLmN1cnNvciYmXy5KeSh0aGlzLmN1cnNvciwhMCk7dmFyIGM9YUUodGhpcy5SaCwoKT0+e3RoaXMuYWN0aXZlPW51bGw7dGhpcy56ai5yZXNldChiKX0pO2M/dGhpcy5hY3RpdmU9e3ZwOmx4YSh0aGlzLGEpLEpwOmN9OnRoaXMuemoucmVzZXQoYil9fWpuKGEpe2lmKHRoaXMuYWN0aXZlKXt2YXIgYj10aGlzLlJoLnNtKCksYz10aGlzLmFjdGl2ZS52cC5FaixkPXRoaXMuYWN0aXZlLnZwLlhPLGU9dGhpcy5hY3RpdmUudnAuWU8sZj1jLmNsaWVudFgtYS5Fai5jbGllbnRYO2E9Yy5jbGllbnRZLWEuRWouY2xpZW50WTtjPWIuaGVhZGluZzsKdmFyIGc9Yi50aWx0O3RoaXMucWgmJihjPWQtZi8zKTt0aGlzLnJoJiYoZz1lK2EvMyk7dGhpcy5hY3RpdmUuSnAucHIoe2NlbnRlcjpiLmNlbnRlcix6b29tOmIuem9vbSxoZWFkaW5nOmMsdGlsdDpnfSl9fUpuKCl7dGhpcy5jdXJzb3ImJl8uSnkodGhpcy5jdXJzb3IsITEpO3RoaXMuYWN0aXZlJiYodGhpcy5hY3RpdmUuSnAucmVsZWFzZSgpLHRoaXMuUW8oNSkpO3RoaXMuYWN0aXZlPW51bGx9fTt2YXIgb3lhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnJoPWE7dGhpcy5zaD1iO3RoaXMucWg9Y319LHZ4YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5xaD1iO3RoaXMuaGo9Yzt0aGlzLlB1PVtdO3RoaXMucmg9Yi5oZWFkaW5nKzM2MCpNYXRoLnJvdW5kKChjLmhlYWRpbmctYi5oZWFkaW5nKS8zNjApO3ZhciB7d2lkdGg6ZCxoZWlnaHQ6ZX09bXhhKGEpO2E9bmV3IG95YShiLmNlbnRlci5xaC9kLGIuY2VudGVyLnJoL2UsLjUqTWF0aC5wb3coMiwtYi56b29tKSk7dmFyIGY9bmV3IG95YShjLmNlbnRlci5xaC9kLGMuY2VudGVyLnJoL2UsLjUqTWF0aC5wb3coMiwtYy56b29tKSk7dGhpcy5nYW1tYT0oZi5xaC1hLnFoKS9hLnFoO3RoaXMuc2s9TWF0aC5oeXBvdCguNSpNYXRoLmh5cG90KGYucmgtYS5yaCxmLnNoLWEuc2gsZi5xaC1hLnFoKSoodGhpcy5nYW1tYT9NYXRoLmxvZzFwKHRoaXMuZ2FtbWEpL3RoaXMuZ2FtbWE6MSkvYS5xaCwuMDA1KihjLnRpbHQtCmIudGlsdCksLjAwNyooYy5oZWFkaW5nLXRoaXMucmgpKTtiPXRoaXMucWguem9vbTtpZih0aGlzLnFoLnpvb208dGhpcy5oai56b29tKWZvcig7Oyl7Yj0zKk1hdGguZmxvb3IoYi8zKzEpO2lmKGI+PXRoaXMuaGouem9vbSlicmVhazt0aGlzLlB1LnB1c2goTWF0aC5hYnMoYi10aGlzLnFoLnpvb20pL01hdGguYWJzKHRoaXMuaGouem9vbS10aGlzLnFoLnpvb20pKnRoaXMuc2spfWVsc2UgaWYodGhpcy5xaC56b29tPnRoaXMuaGouem9vbSlmb3IoOzspe2I9MypNYXRoLmNlaWwoYi8zLTEpO2lmKGI8PXRoaXMuaGouem9vbSlicmVhazt0aGlzLlB1LnB1c2goTWF0aC5hYnMoYi10aGlzLnFoLnpvb20pL01hdGguYWJzKHRoaXMuaGouem9vbS10aGlzLnFoLnpvb20pKnRoaXMuc2spfX1vaihhKXtpZihhPD0wKXJldHVybiB0aGlzLnFoO2lmKGE+PXRoaXMuc2spcmV0dXJuIHRoaXMuaGo7YS89dGhpcy5zazt2YXIgYj10aGlzLmdhbW1hP01hdGguZXhwbTEoYSpNYXRoLmxvZzFwKHRoaXMuZ2FtbWEpKS8KdGhpcy5nYW1tYTphO3JldHVybntjZW50ZXI6bmV3IF8uV3AodGhpcy5xaC5jZW50ZXIucWgqKDEtYikrdGhpcy5oai5jZW50ZXIucWgqYix0aGlzLnFoLmNlbnRlci5yaCooMS1iKSt0aGlzLmhqLmNlbnRlci5yaCpiKSx6b29tOnRoaXMucWguem9vbSooMS1hKSt0aGlzLmhqLnpvb20qYSxoZWFkaW5nOnRoaXMucmgqKDEtYSkrdGhpcy5oai5oZWFkaW5nKmEsdGlsdDp0aGlzLnFoLnRpbHQqKDEtYSkrdGhpcy5oai50aWx0KmF9fX07dmFyIHV4YT1jbGFzc3tjb25zdHJ1Y3RvcihhLHtKUzpiPTMwMCxtYXhEaXN0YW5jZTpjPUluZmluaXR5LEtuOmQ9KCk9Pnt9LHNwZWVkOmU9MS41fT17fSl7dGhpcy5FbD1hO3RoaXMuS249ZDt0aGlzLmVhc2luZz1uZXcgcHlhKGUvMUUzLGIpO3RoaXMucWg9YS5zazw9Yz8wOi0xfW9qKGEpe2lmKCF0aGlzLnFoKXt2YXIgYj10aGlzLmVhc2luZyxjPXRoaXMuRWwuc2s7dGhpcy5xaD1hKyhjPGIucmg/TWF0aC5hY29zKDEtYy9iLnNwZWVkKmIucWgpL2IucWg6Yi5zaCsoYy1iLnJoKS9iLnNwZWVkKTtyZXR1cm57ZG9uZToxLGNhbWVyYTp0aGlzLkVsLm9qKDApfX1hPj10aGlzLnFoP2E9e2RvbmU6MCxjYW1lcmE6dGhpcy5FbC5oan06KGI9dGhpcy5lYXNpbmcsYT10aGlzLnFoLWEsYT17ZG9uZToxLGNhbWVyYTp0aGlzLkVsLm9qKHRoaXMuRWwuc2stKGE8Yi5zaD8oMS1NYXRoLmNvcyhhKmIucWgpKSpiLnNwZWVkL2IucWg6Yi5yaCtiLnNwZWVkKihhLWIuc2gpKSl9KTtyZXR1cm4gYX19LApweWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnNwZWVkPWE7dGhpcy5zaD1iO3RoaXMucWg9TWF0aC5QSS8yL2I7dGhpcy5yaD1hL3RoaXMucWh9fTt2YXIgcXlhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuZWk9YTt0aGlzLnpoPWI7dGhpcy5xaD1jO3RoaXMuc2g9ZDt0aGlzLnJlcXVlc3RBbmltYXRpb25GcmFtZT1fLiR4O3RoaXMuY2FtZXJhPW51bGw7dGhpcy54aD0hMTt0aGlzLmluc3RydWN0aW9ucz1udWxsO3RoaXMudGg9ITB9c20oKXtyZXR1cm4gdGhpcy5jYW1lcmF9WWwoYSxiLGM9KCk9Pnt9KXthPXRoaXMucWguQ3coYSk7dGhpcy5jYW1lcmEmJmI/dGhpcy5yaCh0aGlzLnpoKHRoaXMuZWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCEwKSx0aGlzLmNhbWVyYSxhLGMpKTp0aGlzLnJoKG54YShhLGMpKX13aCgpe3JldHVybiB0aGlzLmluc3RydWN0aW9ucz90aGlzLmluc3RydWN0aW9ucy5FbD90aGlzLmluc3RydWN0aW9ucy5FbC5oajpudWxsOnRoaXMuY2FtZXJhfVhBKCl7cmV0dXJuISF0aGlzLmluc3RydWN0aW9uc31oRihhKXt0aGlzLnFoPWE7IXRoaXMuaW5zdHJ1Y3Rpb25zJiZ0aGlzLmNhbWVyYSYmKGE9CnRoaXMucWguQ3codGhpcy5jYW1lcmEpLGEuY2VudGVyPT09dGhpcy5jYW1lcmEuY2VudGVyJiZhLnpvb209PT10aGlzLmNhbWVyYS56b29tJiZhLmhlYWRpbmc9PT10aGlzLmNhbWVyYS5oZWFkaW5nJiZhLnRpbHQ9PT10aGlzLmNhbWVyYS50aWx0fHx0aGlzLnJoKG54YShhKSkpfUZ1KCl7cmV0dXJuIHRoaXMucWguRnUoKX1qRihhKXt0aGlzLnJlcXVlc3RBbmltYXRpb25GcmFtZT1hfXJoKGEpe3RoaXMuaW5zdHJ1Y3Rpb25zJiZ0aGlzLmluc3RydWN0aW9ucy5LbiYmdGhpcy5pbnN0cnVjdGlvbnMuS24oKTt0aGlzLmluc3RydWN0aW9ucz1hO3RoaXMudGg9ITA7KGE9YS5FbCkmJnRoaXMuc2godGhpcy5xaC5DdyhhLmhqKSk7WkQodGhpcyl9VXkoKXt0aGlzLmVpLlV5KCk7dGhpcy5pbnN0cnVjdGlvbnMmJnRoaXMuaW5zdHJ1Y3Rpb25zLkVsP3RoaXMuc2godGhpcy5xaC5Ddyh0aGlzLmluc3RydWN0aW9ucy5FbC5oaikpOnRoaXMuY2FtZXJhJiZ0aGlzLnNoKHRoaXMuY2FtZXJhKX19O3ZhciB0eGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMueWg9Yjt0aGlzLm9wdGlvbnM9Yzt0aGlzLmVpPXt9O3RoaXMub2Zmc2V0PXRoaXMucWg9bnVsbDt0aGlzLm9yaWdpbj1uZXcgXy5XcCgwLDApO3RoaXMuYm91bmRpbmdDbGllbnRSZWN0PW51bGw7dGhpcy53aD1hLlpwO3RoaXMudGg9YS5lcTt0aGlzLnNoPWEuTXE7dGhpcy54aD1fLmF5KCk7dGhpcy5vcHRpb25zLm5CJiYodGhpcy5zaC5zdHlsZS53aWxsQ2hhbmdlPXRoaXMudGguc3R5bGUud2lsbENoYW5nZT0idHJhbnNmb3JtIil9TmooYSl7dmFyIGI9Xy5oYihhKTtpZighdGhpcy5laVtiXSl7aWYoYS5mTil7bGV0IGM9YS5xcztjJiYodGhpcy5yaD1jLHRoaXMuemg9Yil9dGhpcy5laVtiXT1hO3RoaXMueWgoKX19eG0oYSl7dmFyIGI9Xy5oYihhKTt0aGlzLmVpW2JdJiYoYj09PXRoaXMuemgmJih0aGlzLnpoPXRoaXMucmg9dm9pZCAwKSxhLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5laVtiXSl9VXkoKXt0aGlzLmJvdW5kaW5nQ2xpZW50UmVjdD0KbnVsbDt0aGlzLnloKCl9Z2V0Qm91bmRpbmdDbGllbnRSZWN0KGE9ITEpe2lmKGEmJnRoaXMuYm91bmRpbmdDbGllbnRSZWN0KXJldHVybiB0aGlzLmJvdW5kaW5nQ2xpZW50UmVjdDthPXRoaXMud2guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHRoaXMuYm91bmRpbmdDbGllbnRSZWN0PXt0b3A6YS50b3AscmlnaHQ6YS5yaWdodCxib3R0b206YS5ib3R0b20sbGVmdDphLmxlZnQsd2lkdGg6dGhpcy53aC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy53aC5jbGllbnRIZWlnaHQseDphLngseTphLnl9fWdldEJvdW5kcyhhLHt0b3A6Yj0wLGxlZnQ6Yz0wLGJvdHRvbTpkPTAscmlnaHQ6ZT0wfT17fSl7dmFyIGY9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoITApO2MtPWYud2lkdGgvMjtlPWYud2lkdGgvMi1lO2M+ZSYmKGM9ZT0oYytlKS8yKTt2YXIgZz1iLWYuaGVpZ2h0LzI7ZD1mLmhlaWdodC8yLWQ7Zz5kJiYoZz1kPShnK2QpLzIpO2lmKHRoaXMucmgpe3ZhciBoPXtYaDpmLndpZHRoLApZaDpmLmhlaWdodH07bGV0IGs9YS5jZW50ZXIsbT1hLnpvb20scD1hLnRpbHQ7YT1hLmhlYWRpbmc7Yys9Zi53aWR0aC8yO2UrPWYud2lkdGgvMjtnKz1mLmhlaWdodC8yO2QrPWYuaGVpZ2h0LzI7Zj10aGlzLnJoLkV3KGMsZyxrLG0scCxhLGgpO2I9dGhpcy5yaC5FdyhjLGQsayxtLHAsYSxoKTtjPXRoaXMucmguRXcoZSxnLGssbSxwLGEsaCk7ZT10aGlzLnJoLkV3KGUsZCxrLG0scCxhLGgpfWVsc2UgaD1fLlZwKGEuem9vbSxhLnRpbHQsYS5oZWFkaW5nKSxmPV8udHYoYS5jZW50ZXIsXy5YcChoLHtYaDpjLFloOmd9KSksYj1fLnR2KGEuY2VudGVyLF8uWHAoaCx7WGg6ZSxZaDpnfSkpLGU9Xy50dihhLmNlbnRlcixfLlhwKGgse1hoOmUsWWg6ZH0pKSxjPV8udHYoYS5jZW50ZXIsXy5YcChoLHtYaDpjLFloOmR9KSk7cmV0dXJue21pbjpuZXcgXy5XcChNYXRoLm1pbihmLnFoLGIucWgsZS5xaCxjLnFoKSxNYXRoLm1pbihmLnJoLGIucmgsZS5yaCxjLnJoKSksbWF4Om5ldyBfLldwKE1hdGgubWF4KGYucWgsCmIucWgsZS5xaCxjLnFoKSxNYXRoLm1heChmLnJoLGIucmgsZS5yaCxjLnJoKSl9fURuKGEpe3ZhciBiPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHZvaWQgMCk7aWYodGhpcy5xaCl7bGV0IGM9e1hoOmIud2lkdGgsWWg6Yi5oZWlnaHR9O3JldHVybiB0aGlzLnJoP3RoaXMucmguRXcoYS5jbGllbnRYLWIubGVmdCxhLmNsaWVudFktYi50b3AsdGhpcy5xaC5jZW50ZXIsXy56dih0aGlzLnFoLnNjYWxlKSx0aGlzLnFoLnNjYWxlLnRpbHQsdGhpcy5xaC5zY2FsZS5oZWFkaW5nLGMpOl8udHYodGhpcy5xaC5jZW50ZXIsXy5YcCh0aGlzLnFoLnNjYWxlLHtYaDphLmNsaWVudFgtKGIubGVmdCtiLnJpZ2h0KS8yLFloOmEuY2xpZW50WS0oYi50b3ArYi5ib3R0b20pLzJ9KSl9cmV0dXJuIG5ldyBfLldwKDAsMCl9RUYoYSxiPSExLGM9ITEpe2lmKCF0aGlzLnFoKXJldHVybntjbGllbnRYOjAsY2xpZW50WTowfTtjPWM/d0QodGhpcy5xaC5zY2FsZSx0aGlzLnFoLmNlbnRlcik6dGhpcy5xaC5jZW50ZXI7CmI9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoYik7aWYodGhpcy5yaClyZXR1cm4gYT10aGlzLnJoLkJvKGEsYyxfLnp2KHRoaXMucWguc2NhbGUpLHRoaXMucWguc2NhbGUudGlsdCx0aGlzLnFoLnNjYWxlLmhlYWRpbmcse1hoOmIud2lkdGgsWWg6Yi5oZWlnaHR9KSx7Y2xpZW50WDpiLmxlZnQrYVswXSxjbGllbnRZOmIudG9wK2FbMV19O3ZhciB7WGg6ZCxZaDplfT1fLnl2KHRoaXMucWguc2NhbGUsXy51dihhLGMpKTtyZXR1cm57Y2xpZW50WDooYi5sZWZ0K2IucmlnaHQpLzIrZCxjbGllbnRZOihiLnRvcCtiLmJvdHRvbSkvMitlfX10aShhLGIsYyl7dmFyIGQ9YS5jZW50ZXIsZT1fLlZwKGEuem9vbSxhLnRpbHQsYS5oZWFkaW5nLHRoaXMucmgpLGY9IWUuZXF1YWxzKHRoaXMucWgmJnRoaXMucWguc2NhbGUpO3RoaXMucWg9e3NjYWxlOmUsY2VudGVyOmR9O2lmKChmfHx0aGlzLnJoKSYmdGhpcy5vZmZzZXQpdGhpcy5vcmlnaW49d0QoZSxfLnR2KGQsXy5YcChlLHRoaXMub2Zmc2V0KSkpOwplbHNlIGlmKHRoaXMub2Zmc2V0PV8ueHYoXy55dihlLF8udXYodGhpcy5vcmlnaW4sZCkpKSxkPXRoaXMueGgpdGhpcy5zaC5zdHlsZVtkXT10aGlzLnRoLnN0eWxlW2RdPWB0cmFuc2xhdGUoJHt0aGlzLm9mZnNldC5YaH1weCwke3RoaXMub2Zmc2V0LllofXB4KWAsdGhpcy5zaC5zdHlsZS53aWxsQ2hhbmdlPXRoaXMudGguc3R5bGUud2lsbENoYW5nZT0idHJhbnNmb3JtIjtkPV8udXYodGhpcy5vcmlnaW4sXy5YcChlLHRoaXMub2Zmc2V0KSk7Zj10aGlzLmdldEJvdW5kcyhhKTt2YXIgZz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCghMCk7Zm9yKGxldCBoIG9mIE9iamVjdC52YWx1ZXModGhpcy5laSkpaC50aShmLHRoaXMub3JpZ2luLGUsYS5oZWFkaW5nLGEudGlsdCxkLHtYaDpnLndpZHRoLFloOmcuaGVpZ2h0fSx7Uk46ITAsVnI6ITEsRWw6Yyx0aW1lc3RhbXA6Yn0pfX07dmFyIHh4YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuY2FtZXJhPWE7dGhpcy5yaD1jO3RoaXMudGg9ZDt0aGlzLnNoPWU7dGhpcy5oaXN0b3J5PVtdO3RoaXMucWg9bnVsbDt0aGlzLnprPWJ9S24oKXt0aGlzLnprJiYodGhpcy56aygpLHRoaXMuems9bnVsbCl9b2ooKXtyZXR1cm57Y2FtZXJhOnRoaXMuY2FtZXJhLGRvbmU6dGhpcy56az8yOjB9fXByKGEpe3RoaXMuY2FtZXJhPWE7dGhpcy5yaCgpO3ZhciBiPV8uWng/Xy5VYS5wZXJmb3JtYW5jZS5ub3coKTpEYXRlLm5vdygpO3RoaXMucWg9e3RpY2s6YixjYW1lcmE6YX07dGhpcy5oaXN0b3J5Lmxlbmd0aD4wJiZiLXRoaXMuaGlzdG9yeS5zbGljZSgtMSlbMF0udGljazwxMHx8KHRoaXMuaGlzdG9yeS5wdXNoKHt0aWNrOmIsY2FtZXJhOmF9KSx0aGlzLmhpc3RvcnkubGVuZ3RoPjEwJiZ0aGlzLmhpc3Rvcnkuc3BsaWNlKDAsMSkpfXJlbGVhc2UoYSl7dmFyIGI9Xy5aeD9fLlVhLnBlcmZvcm1hbmNlLm5vdygpOgpEYXRlLm5vdygpO2lmKCEodGhpcy5oaXN0b3J5Lmxlbmd0aDw9MCkmJnRoaXMucWgpe3ZhciBjPUF2YSh0aGlzLmhpc3RvcnksZT0+Yi1lLnRpY2s8MTI1JiZ0aGlzLnFoLnRpY2stZS50aWNrPj0xMCk7Yz1jPDA/dGhpcy5xaDp0aGlzLmhpc3RvcnlbY107dmFyIGQ9dGhpcy5xaC50aWNrLWMudGljaztzd2l0Y2gocnhhKHRoaXMsYy5jYW1lcmEsYSkpe2Nhc2UgMzphPW5ldyByeWEodGhpcy5xaC5jYW1lcmEsLTE4MCtfLmJ3KHRoaXMucWguY2FtZXJhLmhlYWRpbmctYy5jYW1lcmEuaGVhZGluZy0gLTE4MCwzNjApLGQsYixhfHx0aGlzLnFoLmNhbWVyYS5jZW50ZXIpO2JyZWFrO2Nhc2UgMjphPW5ldyBzeWEodGhpcy5xaC5jYW1lcmEsYy5jYW1lcmEsZCxhfHx0aGlzLnFoLmNhbWVyYS5jZW50ZXIpO2JyZWFrO2Nhc2UgMTphPW5ldyB0eWEodGhpcy5xaC5jYW1lcmEsYy5jYW1lcmEsZCk7YnJlYWs7ZGVmYXVsdDphPW5ldyB1eWEodGhpcy5xaC5jYW1lcmEsYy5jYW1lcmEsZCxiKX10aGlzLnRoKG5ldyB2eWEoYSwKYikpfX19LHZ5YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuRWw9YTt0aGlzLnN0YXJ0VGltZT1ifUtuKCl7fW9qKGEpe2EtPXRoaXMuc3RhcnRUaW1lO3JldHVybntjYW1lcmE6dGhpcy5FbC5vaihhKSxkb25lOmE8dGhpcy5FbC5zaz8xOjB9fX0sdXlhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuUHU9W107dmFyIGU9YS56b29tLWIuem9vbSxmPWEuem9vbTtmPWU8LS4xP01hdGguZmxvb3IoZik6ZT4uMT9NYXRoLmNlaWwoZik6TWF0aC5yb3VuZChmKTtlPWQrMUUzKk1hdGguc3FydChNYXRoLmh5cG90KGEuY2VudGVyLnFoLWIuY2VudGVyLnFoLGEuY2VudGVyLnJoLWIuY2VudGVyLnJoKSpNYXRoLnBvdygyLGEuem9vbSkvYykvMy4yO3ZhciBnPWQrMUUzKiguNS1NYXRoLmFicyhhLnpvb20lMS0uNSkpLzI7dGhpcy5zaz0oYzw9MD9nOk1hdGgubWF4KGcsZSkpLWQ7ZD1jPD0wPzA6KGEuY2VudGVyLnFoLWIuY2VudGVyLnFoKS9jO2I9Yzw9MD8wOihhLmNlbnRlci5yaC0KYi5jZW50ZXIucmgpL2M7dGhpcy5xaD0uNSp0aGlzLnNrKmQ7dGhpcy5yaD0uNSp0aGlzLnNrKmI7dGhpcy5zaD1hO3RoaXMuaGo9e2NlbnRlcjpfLnR2KGEuY2VudGVyLG5ldyBfLldwKHRoaXMuc2sqZC8yLHRoaXMuc2sqYi8yKSksaGVhZGluZzphLmhlYWRpbmcsdGlsdDphLnRpbHQsem9vbTpmfX1vaihhKXtpZihhPj10aGlzLnNrKXJldHVybiB0aGlzLmhqO2E9TWF0aC5taW4oMSwxLWEvdGhpcy5zayk7cmV0dXJue2NlbnRlcjpfLnV2KHRoaXMuaGouY2VudGVyLG5ldyBfLldwKHRoaXMucWgqYSphKmEsdGhpcy5yaCphKmEqYSkpLHpvb206dGhpcy5oai56b29tLWEqKHRoaXMuaGouem9vbS10aGlzLnNoLnpvb20pLHRpbHQ6dGhpcy5oai50aWx0LGhlYWRpbmc6dGhpcy5oai5oZWFkaW5nfX19LHN5YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLlB1PVtdO2I9YS56b29tLWIuem9vbTtjPWM8PTA/MDpiL2M7dGhpcy5zaz0xRTMqTWF0aC5zcXJ0KE1hdGguYWJzKGMpKS8KLjQ7dGhpcy5xaD10aGlzLnNrKmMvMjtjPWEuem9vbSt0aGlzLnFoO2I9JEQoYSxjLGQpLmNlbnRlcjt0aGlzLnNoPWE7dGhpcy5yaD1kO3RoaXMuaGo9e2NlbnRlcjpiLGhlYWRpbmc6YS5oZWFkaW5nLHRpbHQ6YS50aWx0LHpvb206Y319b2ooYSl7aWYoYT49dGhpcy5zaylyZXR1cm4gdGhpcy5oajthPU1hdGgubWluKDEsMS1hL3RoaXMuc2spO2E9dGhpcy5oai56b29tLWEqYSphKnRoaXMucWg7cmV0dXJue2NlbnRlcjokRCh0aGlzLnNoLGEsdGhpcy5yaCkuY2VudGVyLHpvb206YSx0aWx0OnRoaXMuaGoudGlsdCxoZWFkaW5nOnRoaXMuaGouaGVhZGluZ319fSx0eWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuUHU9W107dmFyIGQ9TWF0aC5oeXBvdChhLmNlbnRlci5xaC1iLmNlbnRlci5xaCxhLmNlbnRlci5yaC1iLmNlbnRlci5yaCkqTWF0aC5wb3coMixhLnpvb20pO3RoaXMuc2s9MUUzKk1hdGguc3FydChjPD0wPzA6ZC9jKS8zLjI7ZD1jPD0wPzA6KGEuY2VudGVyLnJoLQpiLmNlbnRlci5yaCkvYzt0aGlzLnFoPXRoaXMuc2sqKGM8PTA/MDooYS5jZW50ZXIucWgtYi5jZW50ZXIucWgpL2MpLzI7dGhpcy5yaD10aGlzLnNrKmQvMjt0aGlzLmhqPXtjZW50ZXI6Xy50dihhLmNlbnRlcixuZXcgXy5XcCh0aGlzLnFoLHRoaXMucmgpKSxoZWFkaW5nOmEuaGVhZGluZyx0aWx0OmEudGlsdCx6b29tOmEuem9vbX19b2ooYSl7aWYoYT49dGhpcy5zaylyZXR1cm4gdGhpcy5oajthPU1hdGgubWluKDEsMS1hL3RoaXMuc2spO3JldHVybntjZW50ZXI6Xy51dih0aGlzLmhqLmNlbnRlcixuZXcgXy5XcCh0aGlzLnFoKmEqYSphLHRoaXMucmgqYSphKmEpKSx6b29tOnRoaXMuaGouem9vbSx0aWx0OnRoaXMuaGoudGlsdCxoZWFkaW5nOnRoaXMuaGouaGVhZGluZ319fSxyeWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLlB1PVtdO2M9Yzw9MD8wOmIvYztiPWQrTWF0aC5taW4oMUUzKk1hdGguc3FydChNYXRoLmFicyhjKSksMUUzKS8yO2M9KGItZCkqYy8KMjt2YXIgZj1YRChlLC1jLGEuY2VudGVyKTt0aGlzLnNrPWItZDt0aGlzLnJoPWM7dGhpcy5xaD1lO3RoaXMuaGo9e2NlbnRlcjpmLGhlYWRpbmc6YS5oZWFkaW5nK2MsdGlsdDphLnRpbHQsem9vbTphLnpvb219fW9qKGEpe2lmKGE+PXRoaXMuc2spcmV0dXJuIHRoaXMuaGo7YT1NYXRoLm1pbigxLDEtYS90aGlzLnNrKTthKj10aGlzLnJoKmEqYTtyZXR1cm57Y2VudGVyOlhEKHRoaXMucWgsYSx0aGlzLmhqLmNlbnRlciksem9vbTp0aGlzLmhqLnpvb20sdGlsdDp0aGlzLmhqLnRpbHQsaGVhZGluZzp0aGlzLmhqLmhlYWRpbmctYX19fTt2YXIgc3hhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnNoPWI7dGhpcy5Raz1fLldpYTt0aGlzLnFoPWEoKCk9PntaRCh0aGlzLmNvbnRyb2xsZXIpfSk7dGhpcy5jb250cm9sbGVyPW5ldyBxeWEodGhpcy5xaCxiLHtDdzpkPT5kLEZ1OigpPT4oe21pbjowLG1heDoxRTN9KX0sZD0+e2Q/Lnpvb20hPW51bGwmJmMoZCx0aGlzLnFoLmdldEJvdW5kcyhkKSl9KX1OaihhKXt0aGlzLnFoLk5qKGEpfXhtKGEpe3RoaXMucWgueG0oYSl9Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCl7cmV0dXJuIHRoaXMucWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9RG4oYSl7cmV0dXJuIHRoaXMucWguRG4oYSl9RUYoYSxiPSExLGM9ITEpe3JldHVybiB0aGlzLnFoLkVGKGEsYixjKX1zbSgpe3JldHVybiB0aGlzLmNvbnRyb2xsZXIuc20oKX1uRChhLGIpe3JldHVybiB0aGlzLnFoLmdldEJvdW5kcyhhLGIpfXdoKCl7cmV0dXJuIHRoaXMuY29udHJvbGxlci53aCgpfXJlZnJlc2goKXtaRCh0aGlzLmNvbnRyb2xsZXIpfVlsKGEsCmIsYyl7dGhpcy5jb250cm9sbGVyLllsKGEsYixjKX1yaChhKXt0aGlzLmNvbnRyb2xsZXIucmgoYSl9REsoYSxiKXt2YXIgYz0oKT0+e30sZDtpZihkPXB4YSh0aGlzLmNvbnRyb2xsZXIpPT09MD9veGEodGhpcy5jb250cm9sbGVyKTp0aGlzLnNtKCkpe2E9ZC56b29tK2E7dmFyIGU9dGhpcy5jb250cm9sbGVyLkZ1KCk7YT1NYXRoLm1pbihhLGUubWF4KTthPU1hdGgubWF4KGEsZS5taW4pO2U9dGhpcy53aCgpO2UmJmUuem9vbT09PWF8fChiPSREKGQsYSxiKSxjPXRoaXMuc2godGhpcy5xaC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoITApLGQsYixjKSxjLnR5cGU9MCx0aGlzLmNvbnRyb2xsZXIucmgoYykpfX1oRihhKXt0aGlzLmNvbnRyb2xsZXIuaEYoYSl9akYoYSl7dGhpcy5jb250cm9sbGVyLmpGKGEpfVhBKCl7cmV0dXJuIHRoaXMuY29udHJvbGxlci5YQSgpfVV5KCl7dGhpcy5jb250cm9sbGVyLlV5KCl9fTt2YXIgaHdhO2h3YT1NYXRoLnNxcnQoMik7Xy53eWE9WyJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy92dC9seXJzPXMiXTt2YXIgeHlhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5NUD1heWE7dGhpcy5maXRCb3VuZHM9SUR9b08oYSxiLGMsZCxlKXthPW5ldyBfLmtCKGEsYixjLHt9KTthLnNldFVybChkKS50aGVuKGUpO3JldHVybiBhfX07Xy5JbCgibWFwIixuZXcgeHlhKTt9KTsK"}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.917Z","timestamp":1785154927917,"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":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /translate_a/element.js?cb=googleTranslateElementInit2 HTTP/1.1\r\nHost: translate.google.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://primeelitecapital.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\ncontent-type: text/javascript; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75427,"size_decoded":27152,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"2d845d4e5dae54ef316ab1f4afbd340f","sha1":"77cb4b35802a34bf87845e0037db699db2bc3eb5","sha256":"80c628dadfece26454f812ecb723b5146dc0c55a24cdb58bf5a9a6c9610b2fc4","sha512":"156090c10eb0d32e9ce2045b55f81ce0aa445471e0094ff606b040edc1cc082c8bd4443c27c1f0abd5fec8012310d0516b17322865b9187f41f8e0eebf1a31ba","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECizwNWF0:XDD4U6KKZgtBgtCi50","tlshash":"4a73b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T12:18:56.831443Z","last_seen":"2026-07-27T12:56:34.945459Z","times_seen":7,"resource_available":true,"data":"CiAgICAvLyBnby9tc3Mtc2V0dXAjNy1sb2FkLXRoZS1qcy1vci1jc3MtZnJvbS15b3VyLWluaXRpYWwtcGFnZQogICAgaWYoIXdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSkgewogICAgICBjb25zdCBfRHVtcEV4Y2VwdGlvbiA9IHdpbmRvd1snX0R1bXBFeGNlcHRpb24nXSB8fCBmdW5jdGlvbihlKSB7CiAgICAgICAgdGhyb3cgZTsKICAgICAgfTsKICAgICAgd2luZG93WydfRHVtcEV4Y2VwdGlvbiddID0gX0R1bXBFeGNlcHRpb247CiAgICB9CiAgInVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4NzAwODAwNCwgMHgwLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwp2YXIgYWEsY2EsZmEsamEscmEseGEsQmEsRGEsRmEsR2EsSWEsWWEsYmIsZmIsZ2IsamIsa2IsbmIscGIscWIsc2IsdWIsdmIsQWIsQmIsRmIsSWIsSmIsTWIsTmIsT2IsUWIsU2IseixSYixVYixZYixaYixhYyxiYzthYT1mdW5jdGlvbihhLGIpe2lmKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKUVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsYWEpO2Vsc2V7dmFyIGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O2NhPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIlcyIpO2Zvcih2YXIgYz0iIixkPWEubGVuZ3RoLTEsZT0wO2U8ZDtlKyspYys9YVtlXSsoZTxiLmxlbmd0aD9iW2VdOiIlcyIpO2FhLmNhbGwodGhpcyxjK2FbZF0pfTtmYT1mdW5jdGlvbihhKXtpZihfLmRhKWEoXy5kYSk7ZWxzZXt2YXIgYjsoKGI9ZWEpIT1udWxsP2I6ZWE9W10pLnB1c2goYSl9fTsKamE9ZnVuY3Rpb24oKXshXy5kYSYmXy5oYSYmXy5pYSgpO3JldHVybiBfLmRhfTtfLmlhPWZ1bmN0aW9uKCl7Xy5kYT1fLmhhKCk7dmFyIGE7KGE9ZWEpPT1udWxsfHxhLmZvckVhY2goZmEpO2VhPXZvaWQgMH07Xy5sYT1mdW5jdGlvbihhKXtfLmRhJiZrYShhKX07Xy5tYT1mdW5jdGlvbigpe18uZGEmJl8uZGEubWQoKX07Xy5vYT1mdW5jdGlvbihhLGIpe2IuaGFzT3duUHJvcGVydHkoImRpc3BsYXlOYW1lIil8fChiLmRpc3BsYXlOYW1lPWEudG9TdHJpbmcoKSk7YltuYV09YX07Xy5wYT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07cmE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hcmd1bWVudHMubGVuZ3RoO2I8YzsrK2Ipe3ZhciBkPWFyZ3VtZW50c1tiXTtfLnFhKGQpP3JhLmFwcGx5KG51bGwsZCk6Xy5wYShkKX19O18udT1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlc9dGhpcy5XfTsKXy50YT1mdW5jdGlvbihhLGIpe3JldHVybiBzYShhLGIpPj0wfTtfLnVhPWZ1bmN0aW9uKGEsYil7Xy50YShhLGIpfHxhLnB1c2goYil9O18udmE9ZnVuY3Rpb24oYSxiKXtiPXNhKGEsYik7dmFyIGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O18ud2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7aWYoYj4wKXtmb3IodmFyIGM9QXJyYXkoYiksZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt4YT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihfLnFhKGQpKXt2YXIgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IodmFyIGc9MDtnPGY7ZysrKWFbZStnXT1kW2ddfWVsc2UgYS5wdXNoKGQpfX07CkJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9MCxkPXt9O2M8YS5sZW5ndGg7KXt2YXIgZT1hW2MrK10sZj1fLnlhKGUpPyJvIisoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsemEpJiZlW3phXXx8KGVbemFdPSsrQWEpKToodHlwZW9mIGUpLmNoYXJBdCgwKStlO09iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGYpfHwoZFtmXT0hMCxhW2IrK109ZSl9YS5sZW5ndGg9Yn07Xy5DYT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1ifTtEYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlmKGIuY2FsbCh2b2lkIDAsYVtjXSxjLGEpKXJldHVybiEwO3JldHVybiExfTsKRmE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZCxlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7ZD1hcmd1bWVudHNbZV07Zm9yKGMgaW4gZClhW2NdPWRbY107Zm9yKHZhciBmPTA7ZjxFYS5sZW5ndGg7ZisrKWM9RWFbZl0sT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGQsYykmJihhW2NdPWRbY10pfX07R2E9ZnVuY3Rpb24oYSl7cmV0dXJue3ZhbHVlT2Y6YX0udmFsdWVPZigpfTtJYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIUhhKXJldHVybiBhO3RyeXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4gY307YT1IYS5jcmVhdGVQb2xpY3koImdvb2cjaHRtbCIse2NyZWF0ZUhUTUw6YixjcmVhdGVTY3JpcHQ6YixjcmVhdGVTY3JpcHRVUkw6Yn0pfWNhdGNoKGMpe31yZXR1cm4gYX07Xy5LYT1mdW5jdGlvbigpe0phPT09dm9pZCAwJiYoSmE9SWEoKSk7cmV0dXJuIEphfTsKXy5NYT1mdW5jdGlvbihhKXt2YXIgYj1fLkthKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLkxhKGEpfTtfLk5hPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkxhKXJldHVybiBhLmc7dGhyb3cgRXJyb3IoInQiKTt9O18uT2E9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ZG9jdW1lbnQ6Yjt2YXIgYyxkO2I9KGQ9KGM9YikucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmQuY2FsbChjLGErIltub25jZV0iKTtyZXR1cm4gYj09bnVsbD8iIjpiLm5vbmNlfHxiLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18uUWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5LYSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgXy5QYShhKX07Xy5SYT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTsKXy5TYT1mdW5jdGlvbihhLGIpe2Euc3JjPV8uTmEoYik7KGI9Xy5PYSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpKSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy5UYT1mdW5jdGlvbigpe3ZhciBhPV8udi5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoKS5pbmRleE9mKGEpIT0tMX07Xy5XYT1mdW5jdGlvbigpe3JldHVybiBfLlVhPyEhXy5WYSYmXy5WYS5icmFuZHMubGVuZ3RoPjA6ITF9O18uWGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XYSgpPyExOl8udygiT3BlcmEiKX07WWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5VYT8hIV8uVmEmJiEhXy5WYS5wbGF0Zm9ybTohMX07Xy5aYT1mdW5jdGlvbigpe3JldHVybiBfLncoImlQaG9uZSIpJiYhXy53KCJpUG9kIikmJiFfLncoImlQYWQiKX07Xy4kYT1mdW5jdGlvbigpe3JldHVybiBfLlphKCl8fF8udygiaVBhZCIpfHxfLncoImlQb2QiKX07Cl8uYWI9ZnVuY3Rpb24oKXtyZXR1cm4gWWEoKT9fLlZhLnBsYXRmb3JtPT09Im1hY09TIjpfLncoIk1hY2ludG9zaCIpfTtiYj1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLmRiPWZ1bmN0aW9uKGEsYil7Y2IuY2FsbCh0aGlzLGE/YS50eXBlOiIiKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MDt0aGlzLmtleT0iIjt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT0hMTt0aGlzLnN0YXRlPW51bGw7dGhpcy5wb2ludGVySWQ9MDt0aGlzLnBvaW50ZXJUeXBlPSIiO3RoaXMudGltZVN0YW1wPTA7dGhpcy5nPW51bGw7YSYmdGhpcy5pbml0KGEsYil9OwpmYj1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVmM9ZTt0aGlzLmtleT0rK2ViO3RoaXMub2M9dGhpcy5IYz0hMX07Z2I9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5oPTB9O18uaGI9ZnVuY3Rpb24oKXtfLnUuY2FsbCh0aGlzKTt0aGlzLlFhPW5ldyBnYih0aGlzKTt0aGlzLldnPXRoaXM7dGhpcy5mZD1udWxsfTtqYj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5nPWF8fHdpbmRvdzt0aGlzLmg9Xy54KHRoaXMuZywicmVzaXplIix0aGlzLmwsITEsdGhpcyk7dGhpcy5qPV8uaWIodGhpcy5nfHx3aW5kb3cpfTsKa2I9ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuaD1hP2EuZy5kZWZhdWx0Vmlldzp3aW5kb3c7dGhpcy5vPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMuaj0oMCxfLnkpKHRoaXMuQSx0aGlzKTt0aGlzLmw9bnVsbDsodGhpcy5nPXRoaXMuaC5tYXRjaE1lZGlhP3RoaXMuaC5tYXRjaE1lZGlhKCIobWluLXJlc29sdXRpb246IDEuNWRwcHgpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIik6bnVsbCkmJnR5cGVvZiB0aGlzLmcuYWRkTGlzdGVuZXIhPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIhPT0iZnVuY3Rpb24iJiYodGhpcy5nPW51bGwpfTsKbmI9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLm89YTtpZihiKXtpZih0aGlzLmwpdGhyb3cgRXJyb3IoIngiKTt0aGlzLmw9Yjt0aGlzLmg9Xy5sYihiKTt0aGlzLmc9bmV3IGpiKF8ubWIoYikpO3RoaXMuZy5uZCh0aGlzLm8uaCgpKTt0aGlzLmo9bmV3IGtiKHRoaXMuaCk7dGhpcy5qLnN0YXJ0KCl9fTtwYj1mdW5jdGlvbihhKXthPWEuSGQuY2hhckNvZGVBdChhLkJiKyspO3JldHVybiBvYlthXX07cWI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTA7ZG97dmFyIGQ9cGIoYSk7Ynw9KGQmMzEpPDxjO2MrPTV9d2hpbGUoZCYzMik7cmV0dXJuIGI8MD9iKzQyOTQ5NjcyOTY6Yn07Xy5yYj1mdW5jdGlvbihhKXtfLnYuc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07c2I9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLmg9Yn07CnViPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5sPWE7dGhpcy5BPWI7dGhpcy5qPXRiP251bGw6W107dGhpcy5oPXRiP251bGw6W107dGhpcy5vPXRiP251bGw6W107dGhpcy5CPSExfTt2Yj1mdW5jdGlvbigpe3RoaXMuTz10aGlzLnFhPW51bGx9O0FiPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9d2IucmVtb3ZlKCk7KXt0cnl7YS5nLmNhbGwoYS5zY29wZSl9Y2F0Y2goYil7Xy5yYihiKX14Yih5YixhKX16Yj0hMX07QmI9ZnVuY3Rpb24oKXt0aGlzLkI9W107dGhpcy5vPXRoaXMuaD0hMTt0aGlzLmw9dm9pZCAwO3RoaXMuRz10aGlzLlc9dGhpcy5EPSExO3RoaXMuQz0wO3RoaXMuaj1udWxsO3RoaXMuQT0wfTtfLkNiPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5FYj1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLmluZGV4T2YoIj0iKSxlPW51bGw7aWYoZD49MCl7dmFyIGY9YVtjXS5zdWJzdHJpbmcoMCxkKTtlPWFbY10uc3Vic3RyaW5nKGQrMSl9ZWxzZSBmPWFbY107YihmLGU/Xy5EYihlKToiIil9fX07RmI9ZnVuY3Rpb24oYSxiLGMpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspRmIoYSxTdHJpbmcoYltkXSksYyk7ZWxzZSBiIT1udWxsJiZjLnB1c2goYSsoYj09PSIiPyIiOiI9IitfLkdiKGIpKSl9O18uSGI9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPXt9fTtJYj1mdW5jdGlvbigpe307SmI9ZnVuY3Rpb24oKXt9O18uTGI9ZnVuY3Rpb24oYSl7YT1fLktiKGEpO3JldHVybiBfLk1hKGEpfTsKXy5LYj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PW51bGw/Im51bGwiOmE9PT12b2lkIDA/InVuZGVmaW5lZCI6YX07TWI9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbigpe307Yi5wcm90b3R5cGU9YTtyZXR1cm4gbmV3IGJ9O05iPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PUFycmF5LnByb3RvdHlwZXx8YT09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2JdPWMudmFsdWU7cmV0dXJuIGF9OwpPYj1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXTtpZihjJiZjLk1hdGg9PU1hdGgpcmV0dXJuIGN9dGhyb3cgRXJyb3IoImEiKTt9O18uUGI9T2IodGhpcyk7UWI9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpO18uUGIuQmlnSW50NjRBcnJheSYmKFFiLnB1c2goIkJpZ0ludDY0IiksUWIucHVzaCgiQmlnVWludDY0IikpO1NiPWZ1bmN0aW9uKGEsYil7aWYoYilmb3IodmFyIGM9MDtjPFFiLmxlbmd0aDtjKyspUmIoUWJbY10rIkFycmF5LnByb3RvdHlwZS4iK2EsYil9Owp6PWZ1bmN0aW9uKGEsYil7YiYmUmIoYSxiKX07UmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlBiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmTmIoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTsKXy5UYj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sZnVuY3Rpb24oKXt9KTtyZXR1cm4gbmV3IGMgaW5zdGFuY2VvZiBjfWlmKHR5cGVvZiBSZWZsZWN0IT0idW5kZWZpbmVkIiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe2lmKGEoKSlyZXR1cm4gUmVmbGVjdC5jb25zdHJ1Y3Q7dmFyIGI9UmVmbGVjdC5jb25zdHJ1Y3Q7cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtjPWIoYyxkKTtlJiZSZWZsZWN0LnNldFByb3RvdHlwZU9mKGMsZS5wcm90b3R5cGUpO3JldHVybiBjfX1yZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2U9PT12b2lkIDAmJihlPWMpO2U9TWIoZS5wcm90b3R5cGV8fE9iamVjdC5wcm90b3R5cGUpO3JldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjLGUsZCl8fGV9fSgpOwppZih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT0iZnVuY3Rpb24iKVViPU9iamVjdC5zZXRQcm90b3R5cGVPZjtlbHNle3ZhciBWYjthOnt2YXIgV2I9e2E6ITB9LFhiPXt9O3RyeXtYYi5fX3Byb3RvX189V2I7VmI9WGIuYTticmVhayBhfWNhdGNoKGEpe31WYj0hMX1VYj1WYj9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoImJgIithKTtyZXR1cm4gYX06bnVsbH1ZYj1VYjsKXy5CPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9TWIoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYoWWIpWWIoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLmVhPWIucHJvdG90eXBlfTtaYj1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX07Cl8uQz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6WmIoYSl9O3Rocm93IEVycm9yKCJjYCIrU3RyaW5nKGEpKTt9O18uJGI9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPV8uQyhhKTtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTthPWN9cmV0dXJuIGF9O2FjPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpfTsKYmM9dHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihhLGIpe2lmKGE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiZCIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTtpZihkKWZvcih2YXIgZSBpbiBkKWFjKGQsZSkmJihhW2VdPWRbZV0pfXJldHVybiBhfTt6KCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8YmN9KTtfLmNjPWZ1bmN0aW9uKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZWAiK2EpO307Xy5GPWZ1bmN0aW9uKCl7dGhpcy5HPSExO3RoaXMuQT1udWxsO3RoaXMuaj12b2lkIDA7dGhpcy5nPTE7dGhpcy5vPXRoaXMuQz0wO3RoaXMuVz10aGlzLmw9bnVsbH07Xy5GLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTsKXy5GLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O18uRi5wcm90b3R5cGUuZ2V0WWllbGRSZXN1bHRKc2M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qfTtfLkYucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmw9e3JldHVybjphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlWyJyZXR1cm4iXT1fLkYucHJvdG90eXBlLnJldHVybjtfLkYucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7dGhpcy5sPXt4YTphfTt0aGlzLmc9dGhpcy5vfTtfLkYucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1fLkYucHJvdG90eXBlLlI7Xy5GLnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtfLkYucHJvdG90eXBlLnlpZWxkPV8uRi5wcm90b3R5cGUuaDsKXy5GLnByb3RvdHlwZS5UPWZ1bmN0aW9uKGEsYil7YT1fLkMoYSk7dmFyIGM9YS5uZXh0KCk7Xy5jYyhjKTtpZihjLmRvbmUpdGhpcy5qPWMudmFsdWUsdGhpcy5nPWI7ZWxzZSByZXR1cm4gdGhpcy5BPWEsdGhpcy5oKGMudmFsdWUsYil9O18uRi5wcm90b3R5cGUueWllbGRBbGw9Xy5GLnByb3RvdHlwZS5UO18uRi5wcm90b3R5cGUueGE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O18uRi5wcm90b3R5cGUuanVtcFRvPV8uRi5wcm90b3R5cGUueGE7Xy5GLnByb3RvdHlwZS5CPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O18uRi5wcm90b3R5cGUuanVtcFRvRW5kPV8uRi5wcm90b3R5cGUuQjtfLkYucHJvdG90eXBlLkY9ZnVuY3Rpb24oYSxiKXt0aGlzLkM9YTtiIT12b2lkIDAmJih0aGlzLm89Yil9O18uRi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPV8uRi5wcm90b3R5cGUuRjtfLkYucHJvdG90eXBlLlA9ZnVuY3Rpb24oYSl7dGhpcy5DPTA7dGhpcy5vPWF8fDB9OwpfLkYucHJvdG90eXBlLnNldEZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLlA7Xy5GLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5DPWJ8fDB9O18uRi5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1fLkYucHJvdG90eXBlLks7Xy5GLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfHwwO2E9dGhpcy5sLmJmO3RoaXMubD1udWxsO3JldHVybiBhfTtfLkYucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1fLkYucHJvdG90eXBlLkQ7Xy5GLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuV1tjXT10aGlzLmw6dGhpcy5XPVt0aGlzLmxdO3RoaXMuQz1hfHwwO3RoaXMubz1ifHwwfTtfLkYucHJvdG90eXBlLmVudGVyRmluYWxseUJsb2NrPV8uRi5wcm90b3R5cGUuTDsKXy5GLnByb3RvdHlwZS5xYT1mdW5jdGlvbihhLGIpe2I9dGhpcy5XLnNwbGljZShifHwwKVswXTsoYj10aGlzLmw9dGhpcy5sfHxiKT9iLkNmP3RoaXMuZz10aGlzLkN8fHRoaXMubzpiLnhhIT12b2lkIDAmJnRoaXMubzxiLnhhPyh0aGlzLmc9Yi54YSx0aGlzLmw9bnVsbCk6dGhpcy5nPXRoaXMubzp0aGlzLmc9YX07Xy5GLnByb3RvdHlwZS5sZWF2ZUZpbmFsbHlCbG9jaz1fLkYucHJvdG90eXBlLnFhO18uRi5wcm90b3R5cGUuTz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGRjKGEpfTtfLkYucHJvdG90eXBlLmZvckluPV8uRi5wcm90b3R5cGUuTzt2YXIgZGM9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9O2RjLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpkYy5wcm90b3R5cGUuZ2V0TmV4dD1kYy5wcm90b3R5cGUuaDtfLmVjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9O3ooImdsb2JhbFRoaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlBifSk7eigiUmVmbGVjdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTp7fX0pO3ooIlJlZmxlY3QuY29uc3RydWN0IixmdW5jdGlvbigpe3JldHVybiBfLlRifSk7eigiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpZYj9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gWWIoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeigiU3ltYm9sIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO3ZhciBiPWZ1bmN0aW9uKGYsZyl7dGhpcy5nPWY7TmIodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfTtiLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmd9O3ZhciBjPSJqc2NvbXBfc3ltYm9sXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCkrIl8iLGQ9MCxlPWZ1bmN0aW9uKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoImciKTtyZXR1cm4gbmV3IGIoYysoZnx8IiIpKyJfIitkKyssZil9O3JldHVybiBlfSk7eigiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJoIik7TmIoQXJyYXkucHJvdG90eXBlLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBmYyhaYih0aGlzKSl9fSk7cmV0dXJuIGF9KTsKdmFyIGZjPWZ1bmN0aW9uKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfTsKeigiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuZz1udWxsfWZ1bmN0aW9uIGMoZyl7cmV0dXJuIGcgaW5zdGFuY2VvZiBlP2c6bmV3IGUoZnVuY3Rpb24oaCl7aChnKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaD1mdW5jdGlvbihnKXtpZih0aGlzLmc9PW51bGwpe3RoaXMuZz1bXTt2YXIgaD10aGlzO3RoaXMuaihmdW5jdGlvbigpe2gubygpfSl9dGhpcy5nLnB1c2goZyl9O3ZhciBkPV8uUGIuc2V0VGltZW91dDtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2QoZywwKX07Yi5wcm90b3R5cGUubz1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtnW2hdPW51bGw7dHJ5e2soKX1jYXRjaChsKXt0aGlzLmwobCl9fX10aGlzLmc9bnVsbH07Yi5wcm90b3R5cGUubD1mdW5jdGlvbihnKXt0aGlzLmooZnVuY3Rpb24oKXt0aHJvdyBnOwp9KX07dmFyIGU9ZnVuY3Rpb24oZyl7dGhpcy5nPTA7dGhpcy5qPXZvaWQgMDt0aGlzLmg9W107dGhpcy5CPSExO3ZhciBoPXRoaXMubCgpO3RyeXtnKGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtlLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhsKXtyZXR1cm4gZnVuY3Rpb24obil7a3x8KGs9ITAsbC5jYWxsKGgsbikpfX12YXIgaD10aGlzLGs9ITE7cmV0dXJue3Jlc29sdmU6Zyh0aGlzLkkpLHJlamVjdDpnKHRoaXMubyl9fTtlLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGcpe2lmKGc9PT10aGlzKXRoaXMubyhuZXcgVHlwZUVycm9yKCJpIikpO2Vsc2UgaWYoZyBpbnN0YW5jZW9mIGUpdGhpcy5LKGcpO2Vsc2V7YTpzd2l0Y2godHlwZW9mIGcpe2Nhc2UgIm9iamVjdCI6dmFyIGg9ZyE9bnVsbDticmVhayBhO2Nhc2UgImZ1bmN0aW9uIjpoPSEwO2JyZWFrIGE7ZGVmYXVsdDpoPSExfWg/dGhpcy5HKGcpOnRoaXMuQShnKX19O2UucHJvdG90eXBlLkc9CmZ1bmN0aW9uKGcpe3ZhciBoPXZvaWQgMDt0cnl7aD1nLnRoZW59Y2F0Y2goayl7dGhpcy5vKGspO3JldHVybn10eXBlb2YgaD09ImZ1bmN0aW9uIj90aGlzLkwoaCxnKTp0aGlzLkEoZyl9O2UucHJvdG90eXBlLm89ZnVuY3Rpb24oZyl7dGhpcy5DKDIsZyl9O2UucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5DKDEsZyl9O2UucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoImpgIitnKyJgIitoKyJgIit0aGlzLmcpO3RoaXMuZz1nO3RoaXMuaj1oO3RoaXMuZz09PTImJnRoaXMuVygpO3RoaXMuRCgpfTtlLnByb3RvdHlwZS5XPWZ1bmN0aW9uKCl7dmFyIGc9dGhpcztkKGZ1bmN0aW9uKCl7aWYoZy5GKCkpe3ZhciBoPV8uUGIuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07ZS5wcm90b3R5cGUuRj1mdW5jdGlvbigpe2lmKHRoaXMuQilyZXR1cm4hMTt2YXIgZz1fLlBiLkN1c3RvbUV2ZW50LApoPV8uUGIuRXZlbnQsaz1fLlBiLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9Xy5QYi5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxnLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxnKSk7Zy5wcm9taXNlPXRoaXM7Zy5yZWFzb249dGhpcy5qO3JldHVybiBrKGcpfTtlLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7aWYodGhpcy5oIT1udWxsKXtmb3IodmFyIGc9MDtnPHRoaXMuaC5sZW5ndGg7KytnKWYuaCh0aGlzLmhbZ10pO3RoaXMuaD1udWxsfX07dmFyIGY9bmV3IGI7ZS5wcm90b3R5cGUuSz1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLkljKGgucmVzb2x2ZSwKaC5yZWplY3QpfTtlLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbih0KXt0cnl7bChwKHQpKX1jYXRjaChBKXtuKEEpfX06cn12YXIgbCxuLHE9bmV3IGUoZnVuY3Rpb24ocCxyKXtsPXA7bj1yfSk7dGhpcy5JYyhrKGcsbCksayhoLG4pKTtyZXR1cm4gcX07ZS5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2UucHJvdG90eXBlLkljPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJrYCIrbC5nKTt9fXZhciBsPXRoaXM7dGhpcy5oPT0KbnVsbD9mLmgoayk6dGhpcy5oLnB1c2goayk7dGhpcy5CPSEwfTtlLnJlc29sdmU9YztlLnJlamVjdD1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtrKGcpfSl9O2UucmFjZT1mdW5jdGlvbihnKXtyZXR1cm4gbmV3IGUoZnVuY3Rpb24oaCxrKXtmb3IodmFyIGw9Xy5DKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKWMobi52YWx1ZSkuSWMoaCxrKX0pfTtlLmFsbD1mdW5jdGlvbihnKXt2YXIgaD1fLkMoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2MoW10pOm5ldyBlKGZ1bmN0aW9uKGwsbil7ZnVuY3Rpb24gcSh0KXtyZXR1cm4gZnVuY3Rpb24oQSl7cFt0XT1BO3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGMoay52YWx1ZSkuSWMocShwLmxlbmd0aC0xKSxuKSxrPWgubmV4dCgpO3doaWxlKCFrLmRvbmUpfSl9O3JldHVybiBlfSk7CnZhciBoYz1mdW5jdGlvbihhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJsYCIrYyk7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJtYCIrYyk7cmV0dXJuIGErIiJ9O3ooIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPWhjKHRoaXMsYiwic3RhcnRzV2l0aCIpLGU9ZC5sZW5ndGgsZj1iLmxlbmd0aDtjPU1hdGgubWF4KDAsTWF0aC5taW4oY3wwLGQubGVuZ3RoKSk7Zm9yKHZhciBnPTA7ZzxmJiZjPGU7KWlmKGRbYysrXSE9YltnKytdKXJldHVybiExO3JldHVybiBnPj1mfX0pO3ooIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fFlifSk7eigiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJuIil9KTsKeigiV2Vha01hcCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBjKGspe3ZhciBsPXR5cGVvZiBrO3JldHVybiBsPT09Im9iamVjdCImJmshPT1udWxsfHxsPT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBkKGspe2lmKCFhYyhrLGYpKXt2YXIgbD1uZXcgYjtOYihrLGYse3ZhbHVlOmx9KX19ZnVuY3Rpb24gZShrKXt2YXIgbD1PYmplY3Rba107bCYmKE9iamVjdFtrXT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgYilyZXR1cm4gbjtPYmplY3QuaXNFeHRlbnNpYmxlKG4pJiZkKG4pO3JldHVybiBsKG4pfSl9aWYoZnVuY3Rpb24oKXtpZighYXx8IU9iamVjdC5zZWFsKXJldHVybiExO3RyeXt2YXIgaz1PYmplY3Quc2VhbCh7fSksbD1PYmplY3Quc2VhbCh7fSksbj1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihuLmdldChrKSE9Mnx8bi5nZXQobCkhPTMpcmV0dXJuITE7bi5kZWxldGUoayk7bi5zZXQobCw0KTtyZXR1cm4hbi5oYXMoaykmJm4uZ2V0KGwpPT00fWNhdGNoKHEpe3JldHVybiExfX0oKSlyZXR1cm4gYTsKdmFyIGY9IiRqc2NvbXBfaGlkZGVuXyIrTWF0aC5yYW5kb20oKTtlKCJmcmVlemUiKTtlKCJwcmV2ZW50RXh0ZW5zaW9ucyIpO2UoInNlYWwiKTt2YXIgZz0wLGg9ZnVuY3Rpb24oayl7dGhpcy5nPShnKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1fLkMoayk7Zm9yKHZhciBsOyEobD1rLm5leHQoKSkuZG9uZTspbD1sLnZhbHVlLHRoaXMuc2V0KGxbMF0sbFsxXSl9fTtoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oayxsKXtpZighYyhrKSl0aHJvdyBFcnJvcigibyIpO2Qoayk7aWYoIWFjKGssZikpdGhyb3cgRXJyb3IoInBgIitrKTtrW2ZdW3RoaXMuZ109bDtyZXR1cm4gdGhpc307aC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGspe3JldHVybiBjKGspJiZhYyhrLGYpP2tbZl1bdGhpcy5nXTp2b2lkIDB9O2gucHJvdG90eXBlLmhhcz1mdW5jdGlvbihrKXtyZXR1cm4gYyhrKSYmYWMoayxmKSYmYWMoa1tmXSx0aGlzLmcpfTtoLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGMoaykmJgphYyhrLGYpJiZhYyhrW2ZdLHRoaXMuZyk/ZGVsZXRlIGtbZl1bdGhpcy5nXTohMX07cmV0dXJuIGh9KTsKeigiTWFwIixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGg9T2JqZWN0LnNlYWwoe3g6NH0pLGs9bmV3IGEoXy5DKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbj1sLm5leHQoKTtpZihuLmRvbmV8fG4udmFsdWVbMF0hPWh8fG4udmFsdWVbMV0hPSJzIilyZXR1cm4hMTtuPWwubmV4dCgpO3JldHVybiBuLmRvbmV8fG4udmFsdWVbMF0ueCE9NHx8bi52YWx1ZVsxXSE9InQifHwhbC5uZXh0KCkuZG9uZT8hMTohMH1jYXRjaChxKXtyZXR1cm4hMX19KCkpcmV0dXJuIGE7dmFyIGI9bmV3IFdlYWtNYXAsYz1mdW5jdGlvbihoKXt0aGlzWzBdPXt9O3RoaXNbMV09CmYoKTt0aGlzLnNpemU9MDtpZihoKXtoPV8uQyhoKTtmb3IodmFyIGs7IShrPWgubmV4dCgpKS5kb25lOylrPWsudmFsdWUsdGhpcy5zZXQoa1swXSxrWzFdKX19O2MucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxiYjp0aGlzWzFdLmJiLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmJiLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmJiPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtjLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYmIubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5iYj1oLmVudHJ5LmJiLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07Yy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5iYj1mKCk7dGhpcy5zaXplPTB9O2MucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07Yy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2MucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZSh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtjLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07Yy5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtjLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxuOyEobj1sLm5leHQoKSkuZG9uZTspbj1uLnZhbHVlLGguY2FsbChrLG5bMV0sblswXSx0aGlzKX07Yy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1jLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBkPWZ1bmN0aW9uKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Yi5oYXMoayk/bD1iLmdldChrKToobD0iIisgKytnLGIuc2V0KGssbCkpOmw9InBfIitrO3ZhciBuPWhbMF1bbF07aWYobiYmYWMoaFswXSxsKSlmb3IoaD0wO2g8bi5sZW5ndGg7aCsrKXt2YXIgcT1uW2hdO2lmKGshPT1rJiZxLmtleSE9PXEua2V5fHxrPT09cS5rZXkpcmV0dXJue2lkOmwsbGlzdDpuLGluZGV4OmgsZW50cnk6cX19cmV0dXJue2lkOmwsbGlzdDpuLGluZGV4Oi0xLGVudHJ5OnZvaWQgMH19LGU9ZnVuY3Rpb24oaCxrKXt2YXIgbD1oWzFdO3JldHVybiBmYyhmdW5jdGlvbigpe2lmKGwpe2Zvcig7bC5oZWFkIT0KaFsxXTspbD1sLmJiO2Zvcig7bC5uZXh0IT1sLmhlYWQ7KXJldHVybiBsPWwubmV4dCx7ZG9uZTohMSx2YWx1ZTprKGwpfTtsPW51bGx9cmV0dXJue2RvbmU6ITAsdmFsdWU6dm9pZCAwfX0pfSxmPWZ1bmN0aW9uKCl7dmFyIGg9e307cmV0dXJuIGguYmI9aC5uZXh0PWguaGVhZD1ofSxnPTA7cmV0dXJuIGN9KTsKeigiU2V0IixmdW5jdGlvbihhKXtpZihmdW5jdGlvbigpe2lmKCFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uInx8IWEucHJvdG90eXBlLmVudHJpZXN8fHR5cGVvZiBPYmplY3Quc2VhbCE9ImZ1bmN0aW9uIilyZXR1cm4hMTt0cnl7dmFyIGM9T2JqZWN0LnNlYWwoe3g6NH0pLGQ9bmV3IGEoXy5DKFtjXSkpO2lmKCFkLmhhcyhjKXx8ZC5zaXplIT0xfHxkLmFkZChjKSE9ZHx8ZC5zaXplIT0xfHxkLmFkZCh7eDo0fSkhPWR8fGQuc2l6ZSE9MilyZXR1cm4hMTt2YXIgZT1kLmVudHJpZXMoKSxmPWUubmV4dCgpO2lmKGYuZG9uZXx8Zi52YWx1ZVswXSE9Y3x8Zi52YWx1ZVsxXSE9YylyZXR1cm4hMTtmPWUubmV4dCgpO3JldHVybiBmLmRvbmV8fGYudmFsdWVbMF09PWN8fGYudmFsdWVbMF0ueCE9NHx8Zi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgYj1mdW5jdGlvbihjKXt0aGlzLmc9bmV3IE1hcDtpZihjKXtjPQpfLkMoYyk7Zm9yKHZhciBkOyEoZD1jLm5leHQoKSkuZG9uZTspdGhpcy5hZGQoZC52YWx1ZSl9dGhpcy5zaXplPXRoaXMuZy5zaXplfTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlczsKYi5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1iLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3ZhciBpYz1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBTdHJpbmcmJihhKz0iIik7dmFyIGM9MCxkPSExLGU9e25leHQ6ZnVuY3Rpb24oKXtpZighZCYmYzxhLmxlbmd0aCl7dmFyIGY9YysrO3JldHVybnt2YWx1ZTpiKGYsYVtmXSksZG9uZTohMX19ZD0hMDtyZXR1cm57ZG9uZTohMCx2YWx1ZTp2b2lkIDB9fX07ZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBlfTt6KCJBcnJheS5wcm90b3R5cGUuZW50cmllcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuW2IsY119KX19KTsKeigiQXJyYXkucHJvdG90eXBlLmtleXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXtyZXR1cm4gaWModGhpcyxmdW5jdGlvbihiKXtyZXR1cm4gYn0pfX0pO3ooIlN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1oYyh0aGlzLGIsImVuZHNXaXRoIik7Yz09PXZvaWQgMCYmKGM9ZC5sZW5ndGgpO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGU9Yi5sZW5ndGg7ZT4wJiZjPjA7KWlmKGRbLS1jXSE9YlstLWVdKXJldHVybiExO3JldHVybiBlPD0wfX0pO3ooIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTsKeigiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXthOnt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7Zm9yKHZhciBlPWQubGVuZ3RoLGY9MDtmPGU7ZisrKXt2YXIgZz1kW2ZdO2lmKGIuY2FsbChjLGcsZixkKSl7Yj1nO2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifX0pO3ooIk9iamVjdC5lbnRyaWVzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilhYyhiLGQpJiZjLnB1c2goW2QsYltkXV0pO3JldHVybiBjfX0pOwp6KCJBcnJheS5mcm9tIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyxkKXtjPWMhPW51bGw/YzpmdW5jdGlvbihoKXtyZXR1cm4gaH07dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7eigiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBpYyh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTsKeigiT2JqZWN0LnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGIpYWMoYixkKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfX0pO3ooIk9iamVjdC5pcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBiPT09Yz9iIT09MHx8MS9iPT09MS9jOmIhPT1iJiZjIT09Y319KTt6KCJBcnJheS5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzO2QgaW5zdGFuY2VvZiBTdHJpbmcmJihkPVN0cmluZyhkKSk7dmFyIGU9ZC5sZW5ndGg7Yz1jfHwwO2ZvcihjPDAmJihjPU1hdGgubWF4KGMrZSwwKSk7YzxlO2MrKyl7dmFyIGY9ZFtjXTtpZihmPT09Ynx8T2JqZWN0LmlzKGYsYikpcmV0dXJuITB9cmV0dXJuITF9fSk7CnooIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gaGModGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3ooIk51bWJlci5NQVhfU0FGRV9JTlRFR0VSIixmdW5jdGlvbigpe3JldHVybiA5MDA3MTk5MjU0NzQwOTkxfSk7eigiTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIiLGZ1bmN0aW9uKCl7cmV0dXJuLTkwMDcxOTkyNTQ3NDA5OTF9KTt6KCJOdW1iZXIuaXNJbnRlZ2VyIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUoYik/Yj09PU1hdGguZmxvb3IoYik6ITF9fSk7eigiTnVtYmVyLmlzU2FmZUludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoYikmJk1hdGguYWJzKGIpPD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19KTsKeigiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3ooIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pO3ooIk51bWJlci5pc05hTiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGI9PT0ibnVtYmVyIiYmaXNOYU4oYil9fSk7CnooIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2lmKGIgaW5zdGFuY2VvZiBSZWdFeHAmJiFiLmdsb2JhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJxIik7cmV0dXJuIGIgaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5yZXBsYWNlKGIsYyk6dGhpcy5yZXBsYWNlKG5ldyBSZWdFeHAoU3RyaW5nKGIpLnJlcGxhY2UoLyhbLSgpXFtcXXt9Kz8qLiRcXnwsOiM8IVxcXSkvZywiXFwkMSIpLnJlcGxhY2UoL1x4MDgvZywiXFx4MDgiKSwiZyIpLGMpfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmxhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtiPWI9PT12b2lkIDA/MTpiO3ZhciBjPVtdO0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGhpcyxmdW5jdGlvbihkKXtBcnJheS5pc0FycmF5KGQpJiZiPjA/KGQ9QXJyYXkucHJvdG90eXBlLmZsYXQuY2FsbChkLGItMSksYy5wdXNoLmFwcGx5KGMsZCkpOmMucHVzaChkKX0pO3JldHVybiBjfX0pO3ooIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwp6KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtTYigiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO18uX0R1bXBFeGNlcHRpb249d2luZG93Ll9EdW1wRXhjZXB0aW9ufHxmdW5jdGlvbihhKXt0aHJvdyBhO307d2luZG93Ll9EdW1wRXhjZXB0aW9uPV8uX0R1bXBFeGNlcHRpb247dmFyIGpjLGxjLG1jLG5jLHphLEFhLHBjLHFjO2pjPWpjfHx7fTtfLnY9dGhpc3x8c2VsZjtsYz1mdW5jdGlvbihhLGIpe3ZhciBjPV8ua2MoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTttYz1fLnYuX0ZfdG9nZ2xlc19kZWZhdWx0X3RyfHxbXTtuYz1mdW5jdGlvbigpe307bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18ua2M9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udjtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy5vYz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtyZXR1cm4gYiE9Im9iamVjdCI/YjphP0FycmF5LmlzQXJyYXkoYSk/ImFycmF5IjpiOiJudWxsIn07Xy5xYT1mdW5jdGlvbihhKXt2YXIgYj1fLm9jKGEpO3JldHVybiBiPT0iYXJyYXkifHxiPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIn07Cl8ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTt6YT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtBYT0wO3BjPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfTtxYz1mdW5jdGlvbihhLGIsYyl7aWYoIWEpdGhyb3cgRXJyb3IoKTtpZihhcmd1bWVudHMubGVuZ3RoPjIpe3ZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO0FycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGUsZCk7cmV0dXJuIGEuYXBwbHkoYixlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkoYixhcmd1bWVudHMpfX07Cl8ueT1mdW5jdGlvbihhLGIsYyl7Xy55PUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP3BjOnFjO3JldHVybiBfLnkuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLnJjPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8udixkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07Cl8uRz1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5lYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTWs9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtfLkcoYWEsRXJyb3IpO2FhLnByb3RvdHlwZS5uYW1lPSJDdXN0b21FcnJvciI7dmFyIHNjO18uRyhjYSxhYSk7Y2EucHJvdG90eXBlLm5hbWU9IkFzc2VydGlvbkVycm9yIjt2YXIgZWE7dmFyIHRjPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5nPWJ8fG51bGx9O3RjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciB1Yz1uZXcgdGMoIm43M3F3ZiIsIm43M3F3ZiIpO3ZhciBuYT1TeW1ib2woInMiKTtfLnUucHJvdG90eXBlLnFhPSExO18udS5wcm90b3R5cGUucWI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xYX07Xy51LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5xYXx8KHRoaXMucWE9ITAsdGhpcy5NKCkpfTtfLnUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLnUucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtpZih0aGlzLlcpZm9yKDt0aGlzLlcubGVuZ3RoOyl0aGlzLlcuc2hpZnQoKSgpfTt2YXIgc2Esd2M7c2E9QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiB0eXBlb2YgYiE9PSJzdHJpbmcifHxiLmxlbmd0aCE9MT8tMTphLmluZGV4T2YoYiwwKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTtfLnZjPUFycmF5LnByb3RvdHlwZS5mb3JFYWNoP2Z1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsdm9pZCAwKX06ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5sZW5ndGgsZD10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZT0wO2U8YztlKyspZSBpbiBkJiZiLmNhbGwodm9pZCAwLGRbZV0sZSxhKX07CndjPUFycmF5LnByb3RvdHlwZS5yZWR1Y2U/ZnVuY3Rpb24oYSxiLGMpe0FycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jOygwLF8udmMpKGEsZnVuY3Rpb24oZSxmKXtkPWIuY2FsbCh2b2lkIDAsZCxlLGYsYSl9KX07Xy54Yz1BcnJheS5wcm90b3R5cGUuc29tZT9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKylpZihlIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpKXJldHVybiEwO3JldHVybiExfTtfLnljPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18uQ2EucHJvdG90eXBlLmFzcGVjdFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2lkdGgvdGhpcy5oZWlnaHR9O18uQ2EucHJvdG90eXBlLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLkNhLnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5DYS5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O3ZhciBFYTtFYT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO18uemM9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5BYz1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHJpbSgpfTpmdW5jdGlvbihhKXtyZXR1cm4vXltcc1x4YTBdKihbXHNcU10qPylbXHNceGEwXSokLy5leGVjKGEpWzFdfTt2YXIgQmM9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsSGE9QmMsSmE7Xy5MYT1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5MYS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkNjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBVUkw9PT0iZnVuY3Rpb24ifSk7Xy5EYz1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5EYy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nKyIifTtfLkVjPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLkRjKEJjP0JjLmVtcHR5SFRNTDoiIil9KTtfLlBhPWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtfLlBhLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O18uR2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYSkpfTtfLkRiPWZ1bmN0aW9uKGEpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQoYS5yZXBsYWNlKC9cKy9nLCIgIikpfTt2YXIgRmM9ISEobWNbMF0+PjI1JjEpLEdjPSEhKG1jWzBdPj4yMCYxKSxIYz0hIShtY1swXT4+MjcmMSksSWM9ISEobWNbMF0mODE5MiksSmM9ISEobWNbMF0+PjE5JjEpLEtjPSEhKG1jWzBdPj4xNyYxKSxMYz0hIShtY1swXT4+MTgmMSk7dmFyIHRiLE5jLE9jO18uVWE9RmM/SGM6bGMoNjEwNDAxMzAxLCExKTtfLk1jPUZjP0djfHwhSWM6bGMoNzQ4NDAyMTQ3LCEwKTt0Yj1GYz9KYzpsYyg5MTk0NDQ4MjQsITEpO05jPUZjP0tjOmxjKDkyODg3NTM5OCwhMSk7T2M9RmM/TGM6bGMoNjgzNzQ5MjAxLCExKTt2YXIgUGM7UGM9Xy52Lm5hdmlnYXRvcjtfLlZhPVBjP1BjLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtfLlFjPWZ1bmN0aW9uKGEpe18uUWNbIiAiXShhKTtyZXR1cm4gYX07Xy5RY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgZWQ7Xy5SYz1fLlhhKCk7Xy5TYz1fLldhKCk/ITE6Xy53KCJUcmlkZW50Iil8fF8udygiTVNJRSIpO18uVGM9Xy53KCJFZGdlIik7Xy5VYz1fLncoIkdlY2tvIikmJiEoXy5UYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xJiYhXy53KCJFZGdlIikpJiYhKF8udygiVHJpZGVudCIpfHxfLncoIk1TSUUiKSkmJiFfLncoIkVkZ2UiKTtfLlZjPV8uVGEoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIV8udygiRWRnZSIpO18uV2M9Xy5WYyYmXy53KCJNb2JpbGUiKTtfLlljPV8uYWIoKTtfLlpjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLncoIldpbmRvd3MiKTtfLiRjPVlhKCk/Xy5WYS5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLncoIkFuZHJvaWQiKTtfLmFkPV8uWmEoKTtfLmJkPV8udygiaVBhZCIpO18uY2Q9Xy53KCJpUG9kIik7Xy5kZD1fLiRhKCk7CmE6e3ZhciBmZD0iIixnZD1mdW5jdGlvbigpe3ZhciBhPV8uVGEoKTtpZihfLlVjKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYSk7aWYoXy5UYylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKGEpO2lmKF8uU2MpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKGEpO2lmKF8uVmMpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoYSk7aWYoXy5SYylyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhhKX0oKTtnZCYmKGZkPWdkP2dkWzFdOiIiKTtpZihfLlNjKXt2YXIgaGQsaWQ9Xy52LmRvY3VtZW50O2hkPWlkP2lkLmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoaGQhPW51bGwmJmhkPnBhcnNlRmxvYXQoZmQpKXtlZD1TdHJpbmcoaGQpO2JyZWFrIGF9fWVkPWZkfV8uamQ9ZWQ7dmFyIGtkPSJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIiksCmxkPVtbIkEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse3VhOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse3VhOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse3VhOjV9XSxbInNyY3NldCIse3VhOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV0sWyJzcmNzZXQiLHt1YTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHt1YTo1fV1dKV1dLG1kPSJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSwKbmQ9W1siZGlyIix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX0pfV0sWyJhc3luYyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImFzeW5jIixuZXcgU2V0KFsiYXN5bmMiXSldXSl9KX1dLFsibG9hZGluZyIse3VhOjMsY29uZGl0aW9uczpHYShmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwKFtbImxvYWRpbmciLG5ldyBTZXQoWyJlYWdlciIsImxhenkiXSldXSl9KX1dLFsicG9zdGVyIix7dWE6NX1dLFsidGFyZ2V0Iix7dWE6Myxjb25kaXRpb25zOkdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9KX1dXSxvZD1uZXcgZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoWyJkYXRhLSIsImFyaWEtIl0pLGU9bmV3IE1hcChsZCk7dGhpcy5qPWE7dGhpcy5nPQplO3RoaXMubD1iO3RoaXMubz1jO3RoaXMuaD1kfShuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIGtkLmNvbmNhdCgiU1RZTEUgVElUTEUgSU5QVVQgVEVYVEFSRUEgQlVUVE9OIExBQkVMIi5zcGxpdCgiICIpKX0pKSxuZXcgU2V0KEdhKGZ1bmN0aW9uKCl7cmV0dXJuIG1kLmNvbmNhdChbImNsYXNzIiwiaWQiLCJ0YWJpbmRleCIsImNvbnRlbnRlZGl0YWJsZSIsIm5hbWUiXSl9KSksbmV3IE1hcChHYShmdW5jdGlvbigpe3JldHVybiBuZC5jb25jYXQoW1sic3R5bGUiLHt1YToxfV1dKX0pKSk7dmFyIHBkPWZ1bmN0aW9uKCl7dGhpcy5nPW9kfTtwZC5wcm90b3R5cGUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfTtfLnFkPUdhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBwZH0pO3ZhciB2ZCx1ZCx4ZDtfLmxiPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyBfLnJkKF8uc2QoYSkpOnNjfHwoc2M9bmV3IF8ucmQpfTtfLnRkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTt2ZD1mdW5jdGlvbihhLGIpe18uemMoYixmdW5jdGlvbihjLGQpe2Q9PSJzdHlsZSI/YS5zdHlsZS5jc3NUZXh0PWM6ZD09ImNsYXNzIj9hLmNsYXNzTmFtZT1jOmQ9PSJmb3IiP2EuaHRtbEZvcj1jOnVkLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKHVkW2RdLGMpOmQubGFzdEluZGV4T2YoImFyaWEtIiwwKT09MHx8ZC5sYXN0SW5kZXhPZigiZGF0YS0iLDApPT0wP2Euc2V0QXR0cmlidXRlKGQsYyk6YVtkXT1jfSl9Owp1ZD17Y2VsbHBhZGRpbmc6ImNlbGxQYWRkaW5nIixjZWxsc3BhY2luZzoiY2VsbFNwYWNpbmciLGNvbHNwYW46ImNvbFNwYW4iLGZyYW1lYm9yZGVyOiJmcmFtZUJvcmRlciIsaGVpZ2h0OiJoZWlnaHQiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixub25jZToibm9uY2UiLHJvbGU6InJvbGUiLHJvd3NwYW46InJvd1NwYW4iLHR5cGU6InR5cGUiLHVzZW1hcDoidXNlTWFwIix2YWxpZ246InZBbGlnbiIsd2lkdGg6IndpZHRoIn07Xy5pYj1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLkNhKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLm1iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKXy55ZD1mdW5jdGlvbihhLGIpe3ZhciBjPWJbMV0sZD1fLndkKGEsU3RyaW5nKGJbMF0pKTtjJiYodHlwZW9mIGM9PT0ic3RyaW5nIj9kLmNsYXNzTmFtZT1jOkFycmF5LmlzQXJyYXkoYyk/ZC5jbGFzc05hbWU9Yy5qb2luKCIgIik6dmQoZCxjKSk7Yi5sZW5ndGg+MiYmeGQoYSxkLGIsMik7cmV0dXJuIGR9Owp4ZD1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgpe2gmJmIuYXBwZW5kQ2hpbGQodHlwZW9mIGg9PT0ic3RyaW5nIj9hLmNyZWF0ZVRleHROb2RlKGgpOmgpfWZvcig7ZDxjLmxlbmd0aDtkKyspe3ZhciBmPWNbZF07aWYoIV8ucWEoZil8fF8ueWEoZikmJmYubm9kZVR5cGU+MCllKGYpO2Vsc2V7YTp7aWYoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIil7aWYoXy55YShmKSl7dmFyIGc9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uInx8dHlwZW9mIGYuaXRlbT09InN0cmluZyI7YnJlYWsgYX1pZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpe2c9dHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIjticmVhayBhfX1nPSExfV8udmMoZz9fLndhKGYpOmYsZSl9fX07Xy53ZD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTsKXy56ZD1mdW5jdGlvbihhKXtmb3IodmFyIGI7Yj1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYil9O18uQWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucGFyZW50Tm9kZT9hLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk6bnVsbH07Xy5CZD1mdW5jdGlvbihhLGIpe2lmKCFhfHwhYilyZXR1cm4hMTtpZihhLmNvbnRhaW5zJiZiLm5vZGVUeXBlPT0xKXJldHVybiBhPT1ifHxhLmNvbnRhaW5zKGIpO2lmKHR5cGVvZiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIilyZXR1cm4gYT09Ynx8ISEoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSYxNik7Zm9yKDtiJiZhIT1iOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYj09YX07Xy5zZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Cl8uQ2Q9ZnVuY3Rpb24oYSxiKXtpZigidGV4dENvbnRlbnQiaW4gYSlhLnRleHRDb250ZW50PWI7ZWxzZSBpZihhLm5vZGVUeXBlPT0zKWEuZGF0YT1TdHJpbmcoYik7ZWxzZSBpZihhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09Myl7Zm9yKDthLmxhc3RDaGlsZCE9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEubGFzdENoaWxkKTthLmZpcnN0Q2hpbGQuZGF0YT1TdHJpbmcoYil9ZWxzZSBfLnpkKGEpLGEuYXBwZW5kQ2hpbGQoXy5zZChhKS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYikpKX07Xy5yZD1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Xy52LmRvY3VtZW50fHxkb2N1bWVudH07Xy5tPV8ucmQucHJvdG90eXBlO18ubS5IPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKHRoaXMuZyxhKX07Xy5tLmRqPV8ucmQucHJvdG90eXBlLkg7Xy5tLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMuZykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cl8ubS5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy55ZCh0aGlzLmcsYXJndW1lbnRzKX07Xy5tLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2QodGhpcy5nLGEpfTtfLm0uY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpfTtfLm0uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm0uYXBwZW5kPWZ1bmN0aW9uKGEsYil7eGQoXy5zZChhKSxhLGFyZ3VtZW50cywxKX07Xy5tLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8ubS5pZT1fLnpkO18ubS5yZW1vdmVOb2RlPV8uQWQ7Xy5tLmNvbnRhaW5zPV8uQmQ7Xy5tLlNiPV8uQ2Q7YmIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWR9O3ZhciBjYj1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT1hIGluc3RhbmNlb2YgYmI/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaD0hMX07Y2IucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuaD0hMH07Y2IucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTt2YXIgRGQ9ZnVuY3Rpb24oKXtpZighXy52LmFkZEV2ZW50TGlzdGVuZXJ8fCFPYmplY3QuZGVmaW5lUHJvcGVydHkpcmV0dXJuITE7dmFyIGE9ITEsYj1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXthPSEwfX0pO3RyeXt2YXIgYz1mdW5jdGlvbigpe307Xy52LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYik7Xy52LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGMsYil9Y2F0Y2goZCl7fXJldHVybiBhfSgpO18uRyhfLmRiLGNiKTsKXy5kYi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLlZjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5WY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuZz1hO2EuZGVmYXVsdFByZXZlbnRlZCYmXy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLmRiLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLmRiLmVhLnN0b3BQcm9wYWdhdGlvbi5jYWxsKHRoaXMpO3RoaXMuZy5zdG9wUHJvcGFnYXRpb24/dGhpcy5nLnN0b3BQcm9wYWdhdGlvbigpOnRoaXMuZy5jYW5jZWxCdWJibGU9ITB9O18uZGIucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7Xy5kYi5lYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgRWQ9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxGZD1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtFZF0pfTt2YXIgZWI9MDt2YXIgR2Q9ZnVuY3Rpb24oYSl7YS5vYz0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5WYz1udWxsfTtnYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5nW2ZdO2F8fChhPXRoaXMuZ1tmXT1bXSx0aGlzLmgrKyk7dmFyIGc9SGQoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLkhjPSExKSk6KGI9bmV3IGZiKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5IYz1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O2diLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuZykpcmV0dXJuITE7dmFyIGU9dGhpcy5nW2FdO2I9SGQoZSxiLGMsZCk7cmV0dXJuIGI+LTE/KEdkKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5nW2FdLHRoaXMuaC0tKSwhMCk6ITF9Owp2YXIgSWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJl8udmEoYS5nW2NdLGIpJiYoR2QoYiksYS5nW2NdLmxlbmd0aD09MCYmKGRlbGV0ZSBhLmdbY10sYS5oLS0pKX07Z2IucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5nW2EudG9TdHJpbmcoKV07dmFyIGU9LTE7YSYmKGU9SGQoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Z2IucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YSE9PXZvaWQgMCxkPWM/YS50b1N0cmluZygpOiIiLGU9YiE9PXZvaWQgMDtyZXR1cm4gRGEodGhpcy5nLGZ1bmN0aW9uKGYpe2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7KytnKWlmKCEoYyYmZltnXS50eXBlIT1kfHxlJiZmW2ddLmNhcHR1cmUhPWIpKXJldHVybiEwO3JldHVybiExfSl9Owp2YXIgSGQ9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYub2MmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLlZjPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgSmQsS2QsTWQsUGQsUmQsU2QsVGQsUWQsV2QsT2Q7SmQ9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7S2Q9e307TWQ9MDtfLng9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpcmV0dXJuIF8uTmQoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKylfLngoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPU9kKGMpO3JldHVybiBGZChhKT9hLk4oYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCExLGQsZSl9OwpQZD1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoInYiKTt2YXIgZz1fLnlhKGUpPyEhZS5jYXB0dXJlOiEhZSxoPVFkKGEpO2h8fChhW0pkXT1oPW5ldyBnYihhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1SZCgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpRGR8fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQoU2QoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJ3Iik7TWQrKztyZXR1cm4gY307UmQ9ZnVuY3Rpb24oKXt2YXIgYT1UZCxiPWZ1bmN0aW9uKGMpe3JldHVybiBhLmNhbGwoYi5zcmMsYi5saXN0ZW5lcixjKX07cmV0dXJuIGJ9OwpfLk5kPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspXy5OZChhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9T2QoYyk7cmV0dXJuIEZkKGEpP2EuYWUoYixjLF8ueWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlBkKGEsYixjLCEwLGQsZSl9O18uVWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uVWQoYSxiW2ZdLGMsZCxlKTtlbHNlIGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsYz1PZChjKSxGZChhKT9hLnljKGIsYyxkLGUpOmEmJihhPVFkKGEpKSYmKGI9YS5qYyhiLGMsZCxlKSkmJl8uVmQoYil9OwpfLlZkPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLm9jKXt2YXIgYj1hLnNyYztpZihGZChiKSlJZChiLlFhLGEpO2Vsc2V7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudChTZChjKSxkKTpiLmFkZExpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyJiZiLnJlbW92ZUxpc3RlbmVyKGQpO01kLS07KGM9UWQoYikpPyhJZChjLGEpLGMuaD09MCYmKGMuc3JjPW51bGwsYltKZF09bnVsbCkpOkdkKGEpfX19O1NkPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIEtkP0tkW2FdOktkW2FdPSJvbiIrYX07VGQ9ZnVuY3Rpb24oYSxiKXtpZihhLm9jKWE9ITA7ZWxzZXtiPW5ldyBfLmRiKGIsdGhpcyk7dmFyIGM9YS5saXN0ZW5lcixkPWEuVmN8fGEuc3JjO2EuSGMmJl8uVmQoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07ClFkPWZ1bmN0aW9uKGEpe2E9YVtKZF07cmV0dXJuIGEgaW5zdGFuY2VvZiBnYj9hOm51bGx9O1dkPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7T2Q9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbV2RdfHwoYVtXZF09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtXZF19O18uRyhfLmhiLF8udSk7Xy5oYi5wcm90b3R5cGVbRWRdPSEwO18ubT1fLmhiLnByb3RvdHlwZTtfLm0ubmQ9ZnVuY3Rpb24oYSl7dGhpcy5mZD1hfTtfLm0uYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLngodGhpcyxhLGIsYyxkKX07Xy5tLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5VZCh0aGlzLGEsYixjLGQpfTsKXy5tLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmZkO2lmKGMpZm9yKGI9W107YztjPWMuZmQpYi5wdXNoKGMpO2M9dGhpcy5XZzt2YXIgZD1hLnR5cGV8fGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPW5ldyBjYihhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIGNiKWEudGFyZ2V0PWEudGFyZ2V0fHxjO2Vsc2V7dmFyIGU9YTthPW5ldyBjYihkLGMpO0ZhKGEsZSl9ZT0hMDt2YXIgZjtpZihiKWZvcihmPWIubGVuZ3RoLTE7IWEuaCYmZj49MDtmLS0pe3ZhciBnPWEuY3VycmVudFRhcmdldD1iW2ZdO2U9WGQoZyxkLCEwLGEpJiZlfWEuaHx8KGc9YS5jdXJyZW50VGFyZ2V0PWMsZT1YZChnLGQsITAsYSkmJmUsYS5ofHwoZT1YZChnLGQsITEsYSkmJmUpKTtpZihiKWZvcihmPTA7IWEuaCYmZjxiLmxlbmd0aDtmKyspZz1hLmN1cnJlbnRUYXJnZXQ9YltmXSxlPVhkKGcsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubS5NPWZ1bmN0aW9uKCl7Xy5oYi5lYS5NLmNhbGwodGhpcyk7aWYodGhpcy5RYSl7dmFyIGE9dGhpcy5RYSxiPTAsYztmb3IoYyBpbiBhLmcpe2Zvcih2YXIgZD1hLmdbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKSsrYixHZChkW2VdKTtkZWxldGUgYS5nW2NdO2EuaC0tfX10aGlzLmZkPW51bGx9O18ubS5OPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm0uYWU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuUWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubS55Yz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5RYS5yZW1vdmUoU3RyaW5nKGEpLGIsYyxkKX07CnZhciBYZD1mdW5jdGlvbihhLGIsYyxkKXtiPWEuUWEuZ1tTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtmb3IodmFyIGU9ITAsZj0wO2Y8Yi5sZW5ndGg7KytmKXt2YXIgZz1iW2ZdO2lmKGcmJiFnLm9jJiZnLmNhcHR1cmU9PWMpe3ZhciBoPWcubGlzdGVuZXIsaz1nLlZjfHxnLnNyYztnLkhjJiZJZChhLlFhLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uaGIucHJvdG90eXBlLmpjPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlFhLmpjKFN0cmluZyhhKSxiLGMsZCl9O18uaGIucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuUWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTtfLkcoamIsXy5oYik7amIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtqYi5lYS5NLmNhbGwodGhpcyk7dGhpcy5oJiYoXy5WZCh0aGlzLmgpLHRoaXMuaD1udWxsKTt0aGlzLmo9dGhpcy5nPW51bGx9O2piLnByb3RvdHlwZS5sPWZ1bmN0aW9uKCl7dmFyIGE9Xy5pYih0aGlzLmd8fHdpbmRvdyk7Xy55YyhhLHRoaXMuail8fCh0aGlzLmo9YSx0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpKX07Xy5HKGtiLF8uaGIpO2tiLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5nJiYodHlwZW9mIHRoaXMuZy5hZGRFdmVudExpc3RlbmVyPT09ImZ1bmN0aW9uIj8odGhpcy5nLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5qKSx0aGlzLmw9ZnVuY3Rpb24oKXthLmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhLmopfSk6KHRoaXMuZy5hZGRMaXN0ZW5lcih0aGlzLmopLHRoaXMubD1mdW5jdGlvbigpe2EuZy5yZW1vdmVMaXN0ZW5lcihhLmopfSkpfTtrYi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5kZXZpY2VQaXhlbFJhdGlvPj0xLjU/MjoxO3RoaXMubyE9YSYmKHRoaXMubz1hLHRoaXMuZGlzcGF0Y2hFdmVudCgiYSIpKX07a2IucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmwmJnRoaXMubCgpO2tiLmVhLk0uY2FsbCh0aGlzKX07Xy5HKG5iLF8udSk7bmIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5sPW51bGw7dGhpcy5nJiYodGhpcy5nLmRpc3Bvc2UoKSx0aGlzLmc9bnVsbCk7Xy5wYSh0aGlzLmopO3RoaXMuaj1udWxsfTtfLm9hKHVjLG5iKTt2YXIgb2I9bmV3IFVpbnQ4QXJyYXkoMTIzKSxZZD0hMTt2YXIgWmQ9W107bmM9bmN8fHt9O3ZhciAkZD1mdW5jdGlvbigpe18udS5jYWxsKHRoaXMpfTtfLkcoJGQsXy51KTskZC5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe307c2IucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSl7dGhpcy5nJiYodGhpcy5nLmNhbGwodGhpcy5ofHxudWxsLGEpLHRoaXMuZz10aGlzLmg9bnVsbCl9O3NiLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuaD10aGlzLmc9bnVsbH07bmMuR2U9c2I7Xy5HKHViLF8udSk7dWIucHJvdG90eXBlLkM9JGQ7dWIucHJvdG90eXBlLmc9bnVsbDt1Yi5wcm90b3R5cGUuUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfTt2YXIgYWU9ZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1bXSk7YS5qLnB1c2gobmV3IG5jLkdlKGIsYykpfSxiZT1mdW5jdGlvbihhLGIpe2EuaHx8KGEuaD1bXSk7YS5oLnB1c2gobmV3IG5jLkdlKGIsdm9pZCAwKSl9O3ViLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe3RoaXMuZz1uZXcgJGR9O3ViLnByb3RvdHlwZS5vbkxvYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuQztiLmluaXRpYWxpemUoYSgpKTt0aGlzLmc9YjtpZih0aGlzLm8mJihiPWNlKHRoaXMubyxhKCkpKSlyZXR1cm4gYjtpZih0aGlzLmomJihhPWNlKHRoaXMuaixhKCkpKSlyZXR1cm4gYTt0aGlzLmgmJih0aGlzLmgubGVuZ3RoPTApO3JldHVybiBudWxsfTsKdWIucHJvdG90eXBlLmZlPWZ1bmN0aW9uKGEpe3RoaXMuaCYmKGE9Y2UodGhpcy5oLGEpKSYmXy5yYihFcnJvcigieWAiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuaiYmKHRoaXMuai5sZW5ndGg9MCl9O3ZhciBjZT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspdHJ5e2FbZF0uZXhlY3V0ZShiKX1jYXRjaChlKXtfLnJiKGUpLGMucHVzaChlKX1hLmxlbmd0aD0wO3JldHVybiBjLmxlbmd0aD9jOm51bGx9O3ViLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dWIuZWEuTS5jYWxsKHRoaXMpO18ucGEodGhpcy5nKX07bmMuRmU9dWI7dmFyIGRlPXtFUlJPUjoiZXJyb3IiLElETEU6ImlkbGUiLGxnOiJhY3RpdmUiLElnOiJ1c2VySWRsZSIsSGc6InVzZXJBY3RpdmUifTtfLm09dmIucHJvdG90eXBlO18ubS5YZj1mdW5jdGlvbigpe307Xy5tLnFlPWZ1bmN0aW9uKCl7fTtfLm0uamU9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiQSIpO307Xy5tLmtmPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWF9O18ubS5zZT1mdW5jdGlvbihhKXt0aGlzLnFhPWF9O18ubS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiExfTtfLm0uRGY9ZnVuY3Rpb24oKXtyZXR1cm4hMX07dmFyIGVlPXR5cGVvZiBBc3luY0NvbnRleHQhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEFzeW5jQ29udGV4dC5TbmFwc2hvdD09PSJmdW5jdGlvbiI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpfTpmdW5jdGlvbihhKXtyZXR1cm4gYX07dmFyIGZlPWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5qPWI7dGhpcy5oPTA7dGhpcy5nPW51bGx9O2ZlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtpZih0aGlzLmg+MCl7dGhpcy5oLS07dmFyIGE9dGhpcy5nO3RoaXMuZz1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMubCgpO3JldHVybiBhfTt2YXIgeGI9ZnVuY3Rpb24oYSxiKXthLmooYik7YS5oPDEwMCYmKGEuaCsrLGIubmV4dD1hLmcsYS5nPWIpfTt2YXIgZ2U9ZnVuY3Rpb24oKXt0aGlzLmg9dGhpcy5nPW51bGx9O2dlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz15Yi5nZXQoKTtjLnNldChhLGIpO3RoaXMuaD90aGlzLmgubmV4dD1jOnRoaXMuZz1jO3RoaXMuaD1jfTtnZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dmFyIGE9bnVsbDt0aGlzLmcmJihhPXRoaXMuZyx0aGlzLmc9dGhpcy5nLm5leHQsdGhpcy5nfHwodGhpcy5oPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX07dmFyIHliPW5ldyBmZShmdW5jdGlvbigpe3JldHVybiBuZXcgaGV9LGZ1bmN0aW9uKGEpe3JldHVybiBhLnJlc2V0KCl9KSxoZT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZz1udWxsfTtoZS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5nPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfTsKaGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5nPW51bGx9O3ZhciBpZSx6Yj0hMSx3Yj1uZXcgZ2Usa2U9ZnVuY3Rpb24oYSxiKXtpZXx8amUoKTt6Ynx8KGllKCksemI9ITApO3diLmFkZChhLGIpfSxqZT1mdW5jdGlvbigpe3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO2llPWZ1bmN0aW9uKCl7YS50aGVuKEFiKX19O18ubGU9ZnVuY3Rpb24oKXt9O3ZhciBtZT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIHBlLEFlLHllLHdlO18ub2U9ZnVuY3Rpb24oYSl7dGhpcy5nPTA7dGhpcy5CPXZvaWQgMDt0aGlzLmw9dGhpcy5oPXRoaXMuaj1udWxsO3RoaXMubz10aGlzLkE9ITE7aWYoYSE9Xy5sZSl0cnl7dmFyIGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe18ubmUoYiwyLGMpfSxmdW5jdGlvbihjKXtfLm5lKGIsMyxjKX0pfWNhdGNoKGMpe18ubmUodGhpcywzLGMpfX07cGU9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5qPXRoaXMuaD10aGlzLmw9dGhpcy5nPW51bGw7dGhpcy5vPSExfTtwZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy5oPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLm89ITF9O3ZhciBxZT1uZXcgZmUoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHBlfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxyZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cWUuZ2V0KCk7ZC5sPWE7ZC5oPWI7ZC5qPWM7cmV0dXJuIGR9OwpfLm9lLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gc2UodGhpcyxlZSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSxlZSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy5vZS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5vZS5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe3JldHVybiBzZSh0aGlzLG51bGwsZWUoYSksYil9O18ub2UucHJvdG90eXBlLmNhdGNoPV8ub2UucHJvdG90eXBlLkM7Xy5vZS5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZz09MCl7dmFyIGI9bmV3IHVlKGEpO2tlKGZ1bmN0aW9uKCl7dmUodGhpcyxiKX0sdGhpcyl9fTsKdmFyIHZlPWZ1bmN0aW9uKGEsYil7aWYoYS5nPT0wKWlmKGEuail7dmFyIGM9YS5qO2lmKGMuaCl7Zm9yKHZhciBkPTAsZT1udWxsLGY9bnVsbCxnPWMuaDtnJiYoZy5vfHwoZCsrLGcuZz09YSYmKGU9ZyksIShlJiZkPjEpKSk7Zz1nLm5leHQpZXx8KGY9Zyk7ZSYmKGMuZz09MCYmZD09MT92ZShjLGIpOihmPyhkPWYsZC5uZXh0PT1jLmwmJihjLmw9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTp3ZShjKSx4ZShjLGUsMyxiKSkpfWEuaj1udWxsfWVsc2UgXy5uZShhLDMsYil9LHplPWZ1bmN0aW9uKGEsYil7YS5ofHxhLmchPTImJmEuZyE9M3x8eWUoYSk7YS5sP2EubC5uZXh0PWI6YS5oPWI7YS5sPWJ9LHNlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXJlKG51bGwsbnVsbCxudWxsKTtlLmc9bmV3IF8ub2UoZnVuY3Rpb24oZixnKXtlLmw9Yj9mdW5jdGlvbihoKXt0cnl7dmFyIGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChsKXtnKGwpfX06ZjtlLmg9Yz9mdW5jdGlvbihoKXt0cnl7dmFyIGs9CmMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB1ZT9nKGgpOmYoayl9Y2F0Y2gobCl7ZyhsKX19Omd9KTtlLmcuaj1hO3plKGEsZSk7cmV0dXJuIGUuZ307Xy5vZS5wcm90b3R5cGUuRj1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMixhKX07Xy5vZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhKXt0aGlzLmc9MDtfLm5lKHRoaXMsMyxhKX07Cl8ubmU9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZz09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJCIikpO2EuZz0xO2E6e3ZhciBkPWMsZT1hLkYsZj1hLkc7aWYoZCBpbnN0YW5jZW9mIF8ub2Upe3plKGQscmUoZXx8Xy5sZSxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKG1lKGQpKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8ueWEoZCkpdHJ5e3ZhciBoPWQudGhlbjtpZih0eXBlb2YgaD09PSJmdW5jdGlvbiIpe0FlKGQsaCxlLGYsYSk7Zz0hMDticmVhayBhfX1jYXRjaChrKXtmLmNhbGwoYSxrKTtnPSEwO2JyZWFrIGF9Zz0hMX19Z3x8KGEuQj1jLGEuZz1iLGEuaj1udWxsLHllKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB1ZXx8QmUoYSxjKSl9fTtBZT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExLGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLGcsaCl9Y2F0Y2goayl7aChrKX19Owp5ZT1mdW5jdGlvbihhKXthLkF8fChhLkE9ITAsa2UoYS5ELGEpKX07d2U9ZnVuY3Rpb24oYSl7dmFyIGI9bnVsbDthLmgmJihiPWEuaCxhLmg9Yi5uZXh0LGIubmV4dD1udWxsKTthLmh8fChhLmw9bnVsbCk7cmV0dXJuIGJ9O18ub2UucHJvdG90eXBlLkQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT13ZSh0aGlzKTspeGUodGhpcyxhLHRoaXMuZyx0aGlzLkIpO3RoaXMuQT0hMX07CnZhciB4ZT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLmgmJiFiLm8pZm9yKDthJiZhLm87YT1hLmopYS5vPSExO2lmKGIuZyliLmcuaj1udWxsLENlKGIsYyxkKTtlbHNlIHRyeXtiLm8/Yi5sLmNhbGwoYi5qKTpDZShiLGMsZCl9Y2F0Y2goZSl7RmUuY2FsbChudWxsLGUpfXhiKHFlLGIpfSxDZT1mdW5jdGlvbihhLGIsYyl7Yj09Mj9hLmwuY2FsbChhLmosYyk6YS5oJiZhLmguY2FsbChhLmosYyl9LEJlPWZ1bmN0aW9uKGEsYil7YS5vPSEwO2tlKGZ1bmN0aW9uKCl7YS5vJiZGZS5jYWxsKG51bGwsYil9KX0sRmU9Xy5yYix1ZT1mdW5jdGlvbihhKXthYS5jYWxsKHRoaXMsYSl9O18uRyh1ZSxhYSk7dWUucHJvdG90eXBlLm5hbWU9ImNhbmNlbCI7QmIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbihhKXtpZih0aGlzLmgpdGhpcy5sIGluc3RhbmNlb2YgQmImJnRoaXMubC5jYW5jZWwoKTtlbHNle2lmKHRoaXMuail7dmFyIGI9dGhpcy5qO2RlbGV0ZSB0aGlzLmo7YT9iLmNhbmNlbChhKTooYi5BLS0sYi5BPD0wJiZiLmNhbmNlbCgpKX10aGlzLkc9ITA7dGhpcy5ofHx0aGlzLkYobmV3IEdlKHRoaXMpKX19O0JiLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYil7dGhpcy5EPSExO0hlKHRoaXMsYSxiKX07dmFyIEhlPWZ1bmN0aW9uKGEsYixjKXthLmg9ITA7YS5sPWM7YS5vPSFiO0llKGEpfSxLZT1mdW5jdGlvbihhKXtpZihhLmgpe2lmKCFhLkcpdGhyb3cgbmV3IEplKGEpO2EuRz0hMX19O0JiLnByb3RvdHlwZS5nPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITAsYSl9O0JiLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGEpe0tlKHRoaXMpO0hlKHRoaXMsITEsYSl9Owp2YXIgTWU9ZnVuY3Rpb24oYSxiLGMpe0xlKGEsYixudWxsLGMpfSxOZT1mdW5jdGlvbihhLGIsYyl7TGUoYSxudWxsLGIsYyl9LExlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuaDtlfHwoYj09PWM/Yj1jPWVlKGIpOihiPWVlKGIpLGM9ZWUoYykpKTthLkIucHVzaChbYixjLGRdKTtlJiZJZShhKX07QmIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1uZXcgXy5vZShmdW5jdGlvbihnLGgpe2U9ZztkPWh9KTtMZSh0aGlzLGUsZnVuY3Rpb24oZyl7ZyBpbnN0YW5jZW9mIEdlP2YuY2FuY2VsKCk6ZChnKTtyZXR1cm4gT2V9LHRoaXMpO3JldHVybiBmLnRoZW4oYSxiLGMpfTtCYi5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIFBlPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIEJiP01lKGEsKDAsXy55KShiLkssYikpOk1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gYn0pfTsKQmIucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJiO0xlKHRoaXMsYi5nLGIuRixiKTthJiYoYi5qPXRoaXMsdGhpcy5BKyspO3JldHVybiBifTsKdmFyIFFlPWZ1bmN0aW9uKGEpe3JldHVybiBfLnhjKGEuQixmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9LE9lPXt9LEllPWZ1bmN0aW9uKGEpe2lmKGEuQyYmYS5oJiZRZShhKSl7dmFyIGI9YS5DLGM9UmVbYl07YyYmKF8udi5jbGVhclRpbWVvdXQoYy5nKSxkZWxldGUgUmVbYl0pO2EuQz0wfWEuaiYmKGEuai5BLS0sZGVsZXRlIGEuaik7Yj1hLmw7Zm9yKHZhciBkPWM9ITE7YS5CLmxlbmd0aCYmIWEuRDspe3ZhciBlPWEuQi5zaGlmdCgpLGY9ZVswXSxnPWVbMV07ZT1lWzJdO2lmKGY9YS5vP2c6Zil0cnl7dmFyIGg9Zi5jYWxsKGV8fG51bGwsYik7aD09PU9lJiYoaD12b2lkIDApO2ghPT12b2lkIDAmJihhLm89YS5vJiYoaD09Ynx8aCBpbnN0YW5jZW9mIEVycm9yKSxhLmw9Yj1oKTtpZihtZShiKXx8dHlwZW9mIF8udi5Qcm9taXNlPT09ImZ1bmN0aW9uIiYmYiBpbnN0YW5jZW9mIF8udi5Qcm9taXNlKWQ9ITAsYS5EPSEwfWNhdGNoKGspe2I9CmssYS5vPSEwLFFlKGEpfHwoYz0hMCl9fWEubD1iO2QmJihoPSgwLF8ueSkoYS5JLGEsITApLGQ9KDAsXy55KShhLkksYSwhMSksYiBpbnN0YW5jZW9mIEJiPyhMZShiLGgsZCksYi5XPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IFNlKGIpLFJlW2IuZ109YixhLkM9Yi5nKX0sSmU9ZnVuY3Rpb24oKXthYS5jYWxsKHRoaXMpfTtfLkcoSmUsYWEpO0plLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCBoYXMgYWxyZWFkeSBmaXJlZCI7SmUucHJvdG90eXBlLm5hbWU9IkFscmVhZHlDYWxsZWRFcnJvciI7dmFyIEdlPWZ1bmN0aW9uKCl7YWEuY2FsbCh0aGlzKX07Xy5HKEdlLGFhKTtHZS5wcm90b3R5cGUubWVzc2FnZT0iRGVmZXJyZWQgd2FzIGNhbmNlbGVkIjtHZS5wcm90b3R5cGUubmFtZT0iQ2FuY2VsZWRFcnJvciI7dmFyIFNlPWZ1bmN0aW9uKGEpe3RoaXMuZz1fLnYuc2V0VGltZW91dCgoMCxfLnkpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLmg9YX07ClNlLnByb3RvdHlwZS50aHJvd0Vycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIFJlW3RoaXMuZ107dGhyb3cgdGhpcy5oO307dmFyIFJlPXt9O3ZhciBUZT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9RXJyb3IuY2FsbCh0aGlzKTt0aGlzLm1lc3NhZ2U9Yy5tZXNzYWdlOyJzdGFjayJpbiBjJiYodGhpcy5zdGFjaz1jLnN0YWNrKTt0aGlzLm5hbWU9Ik1vZHVsZUxvYWRGYWlsdXJlIjt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1iO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9O18uQihUZSxFcnJvcik7VGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFVlKHRoaXMpKyIgKCIrKHRoaXMuc3RhdHVzIT12b2lkIDA/dGhpcy5zdGF0dXM6Ij8iKSsiKSJ9Owp2YXIgVWU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSBUZS5nLkplOnJldHVybiJVbmF1dGhvcml6ZWQiO2Nhc2UgVGUuZy5CZTpyZXR1cm4iQ29uc2VjdXRpdmUgbG9hZCBmYWlsdXJlcyI7Y2FzZSBUZS5nLlRJTUVPVVQ6cmV0dXJuIlRpbWVkIG91dCI7Y2FzZSBUZS5nLkhlOnJldHVybiJPdXQgb2YgZGF0ZSBtb2R1bGUgaWQiO2Nhc2UgVGUuZy50ZDpyZXR1cm4iSW5pdCBlcnJvciI7ZGVmYXVsdDpyZXR1cm4iVW5rbm93biBmYWlsdXJlIHR5cGUgIithLnR5cGV9fTtuYy5GYT1UZTtuYy5GYS5nPXtKZTowLEJlOjEsVElNRU9VVDoyLEhlOjMsdGQ6NH07dmFyIFZlPWZ1bmN0aW9uKCl7dmIuY2FsbCh0aGlzKTt0aGlzLkk9bnVsbDt0aGlzLmc9bmV3IE1hcDt0aGlzLm89bmV3IFNldDt0aGlzLkE9W107dGhpcy5DPW5ldyBTZXQ7dGhpcy5qPVtdO3RoaXMuQj1uZXcgU2V0O3RoaXMuaD1OYz9uZXcgTWFwOnt9O3RoaXMuSz1uZXcgTWFwO3RoaXMubD10aGlzLkQ9bmV3IG5jLkZlKFtdLCIiKTt0aGlzLkw9bnVsbDt0aGlzLkY9bmV3IEJiO3RoaXMuUj10aGlzLlQ9dGhpcy5QPXRoaXMuVz0hMX07Xy5HKFZlLHZiKTt2YXIgV2U9ZnVuY3Rpb24oYSxiKXthYS5jYWxsKHRoaXMsIkVycm9yIGxvYWRpbmcgIithKyI6ICIrYil9O18uRyhXZSxhYSk7VmUucHJvdG90eXBlLlhmPWZ1bmN0aW9uKGEpe3RoaXMuVz1hfTsKVmUucHJvdG90eXBlLnFlPWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgVmUpKXRoaXMucWUoYSxiKTtlbHNlIGlmKHR5cGVvZiBhPT09InN0cmluZyIpe2lmKGEuc3RhcnRzV2l0aCgiZCQiKSl7YT1hLnN1YnN0cmluZygyKTtmb3IodmFyIGM9W10sZD0wLGU9YS5pbmRleE9mKCIvIiksZj0wLGc9ITEsaD0wOzspe3ZhciBrPWc/YS5zdWJzdHJpbmcoZik6YS5zdWJzdHJpbmcoZixlKTtpZihrLmxlbmd0aD09PTApZCsrLGY9InN5IitkLnRvU3RyaW5nKDM2KSxrPVtdO2Vsc2V7dmFyIGw9ay5pbmRleE9mKCI6Iik7aWYobDwwKWY9ayxrPVtdO2Vsc2UgaWYobD09PWsubGVuZ3RoLTEpZj1rLnN1YnN0cmluZygwLGwpLGs9QXJyYXkoY1toLTFdKTtlbHNle2Y9ay5zdWJzdHJpbmcoMCxsKTtrPWsuc3Vic3RyaW5nKGwrMSkuc3BsaXQoIiwiKTtsPWg7Zm9yKHZhciBuPTA7bjxrLmxlbmd0aDtuKyspbC09a1tuXS5sZW5ndGg9PT0wPzE6TnVtYmVyKGtbbl0pLGtbbl09Y1tsXX1sPQowO2lmKGYubGVuZ3RoPT09MClsPTE7ZWxzZSBpZihmLmNoYXJBdCgwKT09PSIrInx8Zi5jaGFyQXQoMCk9PT0iLSIpbD1OdW1iZXIoZik7bCE9PTAmJihkKz1sLGY9InN5IitkLnRvU3RyaW5nKDM2KSl9Yy5wdXNoKGYpO1hlKHRoaXMsZixrKTtpZihnKWJyZWFrO2Y9ZSsxO2U9YS5pbmRleE9mKCIvIixmKTtlPT09LTEmJihnPSEwKTtoKyt9dGhpcy5JPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpWWUodGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7aD1hW2RdLnNwbGl0KCI6Iik7ZT1oWzBdO2c9W107aWYoaFsxXSlmb3IoZz1oWzFdLnNwbGl0KCIsIiksaD0wO2g8Zy5sZW5ndGg7aCsrKWdbaF09Y1twYXJzZUludChnW2hdLDM2KV07Yy5wdXNoKGUpO1hlKHRoaXMsZSxnKX10aGlzLkk9Y31pZihiJiZiLmxlbmd0aCl7YT1fLkMoYik7Zm9yKGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXRoaXMuby5hZGQoYy52YWx1ZSk7CnRoaXMuTD1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5GLmh8fHRoaXMuRi5nKCk7T2JqZWN0LmZyZWV6ZSh0aGlzLkkpO1plKHRoaXMpfX07CnZhciBZZT1mdW5jdGlvbihhLGIpe2lmKCFZZCl7Zm9yKHZhciBjPTA7Yzw2NDtjKyspb2JbIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJDb2RlQXQoYyldPWM7WWQ9ITB9dmFyIGQ9e0hkOmIsQmI6Mn07cWIoZCk7dmFyIGU9cWIoZCksZj1xYihkKSsxO2I9QXJyYXkoZSk7Yz1BcnJheShlKTt2YXIgZz1BcnJheShlKTtmPUFycmF5KGYpO3ZhciBoPTAsaz0wLGw9ZC5IZCxuPWQuQmI7ZC5CYj1kLkhkLmluZGV4T2YoInwiLGQuQmIpKzE7Zm9yKHZhciBxPTA7cTxlO3ErKyl7dmFyIHA9cWIoZCkscj1wJjIsdD1wJjE7cD4+Pj0yO3Q/KGgrPXA+Pj4xXi0ocCYxKSxwPSJzeSIraC50b1N0cmluZygzNikpOih0PW4sbis9cCxwPWwuc3Vic3RyaW5nKHQsbikpO2JbcV09cDtyJiYoZltrKytdPXApfWZba109IiI7ZC5CYisrO2s9ZSYtMjtoPWUmMTtmb3IobD0wO2w8aztsKz0yKW49cGIoZCksZ1tsXT1uJjcsZ1tsKwoxXT1uPj4+MyY3O2gmJihoPXBiKGQpLGdba109aCY3KTtkLkJiKys7Zm9yKGs9MDtrPGU7aysrKWdba109PT03JiYoZ1trXT1xYihkKSk7ZC5CYisrO2ZvcihoPWs9MDtoPGU7aCsrKXtsPWdbaF07bj1sPT09MD9aZDpBcnJheShsKTtjW2hdPW47cT1rO2ZvcihyPTA7cjxsO3IrKylxLT1xYihkKSxuW3JdPWZbcV07ZltrXT09PWJbaF0mJmsrK31mb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKVhlKGEsYltkXSxjW2RdKTthLkk9Yn07VmUucHJvdG90eXBlLmplPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5oIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmguZ2V0KGEpO2MmJihjLmRlbGV0ZShiKSxjLnNpemU9PT0wJiZ0aGlzLmguZGVsZXRlKGEpKX1lbHNlIGlmKHRoaXMuaFthXSl7ZGVsZXRlIHRoaXMuaFthXVtiXTtmb3IoYyBpbiB0aGlzLmhbYV0pcmV0dXJuO2RlbGV0ZSB0aGlzLmhbYV19fTtWZS5wcm90b3R5cGUuc2U9ZnVuY3Rpb24oYSl7VmUuZWEuc2UuY2FsbCh0aGlzLGEpO1plKHRoaXMpfTsKVmUucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zaXplPjB9O1ZlLnByb3RvdHlwZS5EZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIuc2l6ZT4wfTsKdmFyIGFmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUCxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoJGUoYSxjP2RlLmxnOmRlLklETEUpLGEuUD1jKTtiPWEuRGYoKTtiIT1hLlQmJigkZShhLGI/ZGUuSGc6ZGUuSWcpLGEuVD1iKX0sWGU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZy5nZXQoYik7ZD9kLmw9YzphLmcuc2V0KGIsbmV3IG5jLkZlKGMsYikpfSxkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT17fTtiPV8uQyhuZXcgU2V0KGIpKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTtpZighZyl0aHJvdyBFcnJvcigiQ2AiK2YpO3ZhciBoPW5ldyBCYjtlW2ZdPWg7Zy5nP2guZyhhLnFhKTooYmYoYSxmLGcsISFjLGgpLGNmKGEsZil8fGQucHVzaChmKSl9ZC5sZW5ndGg+MCYmKGEuby5zaXplPT09MD9hLkcoZCk6KGEuai5wdXNoKGQpLGFmKGEpKSk7cmV0dXJuIGV9LGJmPWZ1bmN0aW9uKGEsYixjLGQsZSl7YWUoYywKZS5nLGUpO2JlKGMsZnVuY3Rpb24oZil7ZS5GKG5ldyBXZShiLGYpKX0pO2NmKGEsYik/ZCYmKGEuQi5hZGQoYiksYWYoYSkpOmQmJmEuQi5hZGQoYil9OwpWZS5wcm90b3R5cGUuRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcztiPWI9PT12b2lkIDA/MDpiO3ZhciBlPWVmKHRoaXMsYSk7dGhpcy5vPW5ldyBTZXQoZSk7dGhpcy5BPXRoaXMuVz9hOl8ud2EoZSk7YWYodGhpcyk7aWYoZS5sZW5ndGghPT0wKXthPV8uQyhlKTtmb3IodmFyIGY9YS5uZXh0KCk7IWYuZG9uZTtmPWEubmV4dCgpKXRoaXMuQy5hZGQoZi52YWx1ZSk7YT10aGlzLk87aWYoIWEpdGhyb3cgRXJyb3IoIkQiKTtpZigodGhpcy5oIGluc3RhbmNlb2YgTWFwP3RoaXMuaC5zaXplPjA6T2JqZWN0LmtleXModGhpcy5oKS5sZW5ndGg+MCkmJiFhLkkpdGhyb3cgRXJyb3IoIkUiKTtmZihhLF8ud2EoZSksdGhpcy5nLHtqaDp0aGlzLmgsZmU6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBnZihkLGQuQSxlLGchPW51bGw/Zzp2b2lkIDAsaCxiLCEhayl9LEZpOigwLF8ueSkodGhpcy5sYSx0aGlzKSxtaDohIWN9KX19Owp2YXIgaGY9ZnVuY3Rpb24oYSl7dGhpcy5oPWE7dGhpcy5qPW5ldyBTZXQ7dGhpcy5nPVtdfSxqZj1mdW5jdGlvbihhLGIpe2lmKCFhLmouaGFzKGIpJiYoYS5qLmFkZChiKSwhYS5oLkMuaGFzKGIpKSl7dmFyIGM9YS5oLmcuZ2V0KGIpO2lmKGMmJiFjLmcpe2M9Yy5sO2Zvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKWpmKGEsY1tkXSk7YS5nLnB1c2goYil9fX0sZWY9ZnVuY3Rpb24oYSxiKXtiPWIuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBhLmcuZ2V0KGUpLmc/KF8udi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIEVycm9yKCJGYCIrZSl9LDApLCExKTohMH0pO2lmKE9jKXt2YXIgYz1uZXcgaGYoYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspamYoYyxiW2RdKTtjPWMuZ31lbHNle2M9W107Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljPWMuY29uY2F0KGtmKGEsYltkXSkpO0JhKGMpfXJldHVybiFhLlcmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEuaj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS5qKSwKW2JdKTpjfSxrZj1mdW5jdGlvbihhLGIpe2lmKE9jKXJldHVybiBhPW5ldyBoZihhKSxqZihhLGIpLGEuZzt2YXIgYz1bXTthLkMuaGFzKGIpfHxjLnB1c2goYik7Yj1bYl07Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWEuZy5nZXQoYltkXSkubCxmPWUubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciBnPWVbZl07YS5nLmdldChnKS5nfHxhLkMuaGFzKGcpfHwoYy5wdXNoKGcpLGIucHVzaChnKSl9Yy5yZXZlcnNlKCk7QmEoYyk7cmV0dXJuIGN9LFplPWZ1bmN0aW9uKGEpe2lmKGEubD09YS5EKXthLmw9bnVsbDt2YXIgYj1hLkQub25Mb2FkKCgwLF8ueSkoYS5rZixhKSk7YiYmYi5sZW5ndGgmJmxmKGEsbmV3IG5jLkZhKG5jLkZhLmcudGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpO2FmKGEpfX07ClZlLnByb3RvdHlwZS5tZD1mdW5jdGlvbigpe2lmKHRoaXMubCl7dmFyIGE9dGhpcy5sLlJhKCksYj1bXTtpZih0aGlzLmggaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuaC5nZXQoYSk7aWYoYyl7Yz1fLkMoQXJyYXkuZnJvbShjKSk7Zm9yKHZhciBkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7ZD1kLnZhbHVlO3ZhciBlPXRoaXMuZy5nZXQoZCk7ZSYmIWUuZyYmKHRoaXMuamUoYSxkKSxiLnB1c2goZCkpfWRmKHRoaXMsYil9fWVsc2UgaWYodGhpcy5oW2FdKXtjPV8uQyhPYmplY3Qua2V5cyh0aGlzLmhbYV0pKTtmb3IoZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLChlPXRoaXMuZy5nZXQoZCkpJiYhZS5nJiYodGhpcy5qZShhLGQpLGIucHVzaChkKSk7ZGYodGhpcyxiKX10aGlzLnFiKCl8fCgoYj10aGlzLmcuZ2V0KGEpLm9uTG9hZCgoMCxfLnkpKHRoaXMua2YsdGhpcykpKSYmYi5sZW5ndGgmJmxmKHRoaXMsbmV3IG5jLkZhKG5jLkZhLmcudGQsCnZvaWQgMCx2b2lkIDAsdm9pZCAwLGJbMF0pKSx0aGlzLkIuZGVsZXRlKGEpLHRoaXMuby5kZWxldGUoYSksdGhpcy5vLnNpemUhPT0wfHxtZih0aGlzKSx0aGlzLkwmJmE9PXRoaXMuTCYmKHRoaXMuRi5ofHx0aGlzLkYuZygpKSxhZih0aGlzKSx0aGlzLmw9bnVsbCl9fTt2YXIgY2Y9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspaWYoXy50YShhLmpbY10sYikpcmV0dXJuITA7cmV0dXJuITF9O1ZlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGRmKHRoaXMsW2FdLGIpW2FdfTsKdmFyIGthPWZ1bmN0aW9uKGEpe3ZhciBiPV8uZGE7Yi5sJiZiLmwuUmEoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIiYmKGIubWQoKSxiLmcuZGVsZXRlKCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikpO3ZhciBjPWIuZy5nZXQoYSk7YyYmbmYoYixjLmx8fFtdLGZ1bmN0aW9uKGQpe2QubWQoKTtiLm8uZGVsZXRlKGQuUmEoKSl9LGZ1bmN0aW9uKGQpe3JldHVybiFkLmd9LG5ldyBTZXQpO2IubD1iLmcuZ2V0KGEpO2IubCYmKGIubC5CPSEwKX0sZ2Y9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9KGc9PT12b2lkIDA/MDpnKT8wOihmPT09dm9pZCAwPzA6ZikrMTtmPV8ud2EoYyk7YS5BPWI7Yz1fLkMoYyk7Zm9yKGc9Yy5uZXh0KCk7IWcuZG9uZTtnPWMubmV4dCgpKWEuQy5kZWxldGUoZy52YWx1ZSk7aWYoZD09NDAxKWxmKGEsbmV3IG5jLkZhKG5jLkZhLmcuSmUsZCkpLGEuai5sZW5ndGg9MDtlbHNlIGlmKGQ9PTQxMClvZihhLG5ldyBuYy5GYShuYy5GYS5nLkhlLApkKSksbWYoYSk7ZWxzZSBpZihoPj0zKW9mKGEsbmV3IG5jLkZhKG5jLkZhLmcuQmUsZCxmLGUpKSxtZihhKTtlbHNle3ZhciBrPWQ9PTgwMDF8fCExOyhkPU1hdGgucG93KGgsMikqNUUzKT9fLnYuc2V0VGltZW91dChmdW5jdGlvbigpe2EuRyhiLGgsayl9LGQpOmEuRyhiLGgsayl9fTtWZS5wcm90b3R5cGUubGE9ZnVuY3Rpb24oKXtvZih0aGlzLG5ldyBuYy5GYShuYy5GYS5nLlRJTUVPVVQpKTttZih0aGlzKX07CnZhciBvZj1mdW5jdGlvbihhLGIpe2EuQS5sZW5ndGg+MT9hLmo9YS5BLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS5qKTpsZihhLGIpfSxsZj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuQTthLm8uY2xlYXIoKTtmb3IodmFyIGQ9W10sZT0wO2U8YS5qLmxlbmd0aDtlKyspe3ZhciBmPWEualtlXS5maWx0ZXIoZnVuY3Rpb24oayl7dmFyIGw9a2YodGhpcyxrKTtyZXR1cm4gXy54YyhjLGZ1bmN0aW9uKG4pe3JldHVybiBfLnRhKGwsbil9KX0sYSk7eGEoZCxmKX1mb3IoZT0wO2U8Yy5sZW5ndGg7ZSsrKV8udWEoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS5qLmxlbmd0aDtmKyspXy52YShhLmpbZl0sZFtlXSk7YS5CLmRlbGV0ZShkW2VdKX1pZihlPWEuSy5nZXQoZGUuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZm9yKHZhciBnPWVbZl0saD0wO2g8ZC5sZW5ndGg7aCsrKWcoZGUuRVJST1IsZFtoXSxiKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKShlPQphLmcuZ2V0KGNbZF0pKSYmZS5mZShiKTthLkEubGVuZ3RoPTA7YWYoYSl9LG1mPWZ1bmN0aW9uKGEpe2Zvcig7YS5qLmxlbmd0aDspe3ZhciBiPWEuai5zaGlmdCgpLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hdGhpcy5nLmdldChjKS5nfSxhKTtpZihiLmxlbmd0aD4wKXthLkcoYik7cmV0dXJufX1hZihhKX0sJGU9ZnVuY3Rpb24oYSxiKXthPWEuSy5nZXQoYik7Zm9yKHZhciBjPTA7YSYmYzxhLmxlbmd0aDtjKyspYVtjXShiKX0sbmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uQyhiKTtmb3IodmFyIGY9Yi5uZXh0KCk7IWYuZG9uZTtmPWIubmV4dCgpKXtmPWYudmFsdWU7dmFyIGc9YS5nLmdldChmKTshZS5oYXMoZikmJmQoZykmJihlLmFkZChmKSxuZihhLGcubHx8W10sYyxkLGUpLGMoZykpfX07ClZlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7cmEoQXJyYXkuZnJvbSh0aGlzLmcudmFsdWVzKCkpLHRoaXMuRCk7dGhpcy5nLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5BPVtdO3RoaXMuQi5jbGVhcigpO3RoaXMuaj1bXTt0aGlzLksuY2xlYXIoKTt0aGlzLlI9ITB9O1ZlLnByb3RvdHlwZS5xYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O18uaGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZlfTt2YXIgcGY9W10scWY9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXtkJiZ3YyhkLGZ1bmN0aW9uKGUsZil7ZVtmLmlkXT0hMDtyZXR1cm4gZX0sYy5KaSl9dmFyIGM9e0ppOnt9LGluZGV4OnBmLmxlbmd0aCxWbDphfTtiKGEubGQpO2IoYS5qbSk7cGYucHVzaChjKTthLmxkJiZfLnZjKGEubGQsZnVuY3Rpb24oZCl7dmFyIGU9ZC5pZDtlIGluc3RhbmNlb2YgdGMmJmQubW9kdWxlJiYoZS5nPWQubW9kdWxlKX0pfTtxZih7bGQ6W3tpZDp1YyxMYjpuYixtdWx0aXBsZTohMH1dfSk7Xy5yZj1SZWdFeHAoIl4oPzooW146Lz8jLl0rKTopPyg/Oi8vKD86KFteXFxcXC8/I10qKUApPyhbXlxcXFwvPyNdKj8pKD86OihbMC05XSspKT8oPz1bXFxcXC8/I118JCkpPyhbXj8jXSspPyg/OlxcPyhbXiNdKikpPyg/OiMoW1xcc1xcU10qKSk/JCIpO3ZhciBzZj17fTt2YXIgdGY9bmV3IHRjKCJNcEp3WmMiLCJNcEp3WmMiKTtfLnVmPW5ldyB0YygiVVVKcVZlIiwiVVVKcVZlIik7dmFyIHZmPW5ldyBiYix3Zj1mdW5jdGlvbihhLGIsYyl7Y2IuY2FsbCh0aGlzLGEsYik7dGhpcy5ub2RlPWI7dGhpcy5raW5kPWN9O18uQih3ZixjYik7Xy54Zj1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO18ueWY9ZnVuY3Rpb24oYSxiKXtifHxfLmxiKCk7dGhpcy5oPWF8fG51bGx9O18ueWYucHJvdG90eXBlLmthPWZ1bmN0aW9uKGEsYil7YT1hKGJ8fHt9LHRoaXMuaD90aGlzLmguZ2V0RGF0YSgpOnt9KTt0aGlzLmcobnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgXy56ZiYmYSBpbnN0YW5jZW9mIF8uemY/YS5aYjpudWxsKTtyZXR1cm4gU3RyaW5nKGEpfTtfLnlmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7fTt2YXIgQWY9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5oPXRoaXMuZy5nKF8udWYpfTtBZi5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3RoaXMuZy5xYigpfHwodGhpcy5oPXRoaXMuZy5nKF8udWYpKTtyZXR1cm4gdGhpcy5oP3RoaXMuaC5qKCk6e319O3ZhciBCZj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgQWYoYSk7Xy55Zi5jYWxsKHRoaXMsYixhLmdldCh1YykuaCk7dGhpcy5qPW5ldyBfLmhiO3RoaXMubD1ifTtfLkIoQmYsXy55Zik7QmYucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLmdldERhdGEoKX07QmYucHJvdG90eXBlLmc9ZnVuY3Rpb24oYSxiKXtfLnlmLnByb3RvdHlwZS5nLmNhbGwodGhpcyxhLGIpO3RoaXMuai5kaXNwYXRjaEV2ZW50KG5ldyB3Zih2ZixhLGIpKX07Xy5vYSh0ZixCZik7cWYoe2xkOlt7aWQ6dGYsTGI6QmYsbXVsdGlwbGU6ITB9XX0pO3ZhciBDZj1mdW5jdGlvbihhLGIpe3RoaXMuZGVmYXVsdFZhbHVlPWE7dGhpcy50eXBlPWI7dGhpcy52YWx1ZT1hfTtDZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O0NmLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZT1hfTt2YXIgRGY9ZnVuY3Rpb24oYSl7Q2YuY2FsbCh0aGlzLGEsImIiKX07Xy5CKERmLENmKTtEZi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBFZj1mdW5jdGlvbigpe3RoaXMuZz17fTt0aGlzLmo9IiI7dGhpcy5oPXt9fTtFZi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmorRmYodGhpcyk7dmFyIGI9dGhpcy5oO3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYilGYihkLGJbZF0sYyk7Yj1jLmpvaW4oIiYiKTtjPSIiO2IhPSIiJiYoYz0iPyIrYik7cmV0dXJuIGErY307CnZhciBIZj1mdW5jdGlvbihhKXthPUdmKGEsIm1kIik7cmV0dXJuISFhJiZhIT09IjAifSxGZj1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPWZ1bmN0aW9uKGQpe2EuZ1tkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EuZ1tkXSl9O0hmKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5nfHxJZihhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuZy5leGNtfHxhLmcuZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksR2YoYSwiYnIiKSE9IjEiJiZHZihhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLEdmKGEsInJiIik9PSIxIiYmYygicmIiKSxHZihhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLEpmKGEpIT09IiImJgpjKCJ3dCIpLGMoImdzc21vZHVsZXNldHByb3RvIiksYygidWpnIiksYygic3AiKSxjKCJpY2hjIiksYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9LEdmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZ1tiXT9hLmdbYl06bnVsbH0sSWY9ZnVuY3Rpb24oYSxiLGMpe2M/YS5nW2JdPWM6ZGVsZXRlIGEuZ1tiXX0sSmY9ZnVuY3Rpb24oYSl7c3dpdGNoKEdmKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fSxNZj1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9S2YoYSksZD1uZXcgRWYsZT1jLm1hdGNoKF8ucmYpWzVdO18uemMoTGYsZnVuY3Rpb24oZyl7dmFyIGg9ZS5tYXRjaCgiLyIrZysiPShbXi9dKykiKTtoJiZJZihkLGcsaFsxXSl9KTsKdmFyIGY9IiI7Zj1hLmluZGV4T2YoIl8vc3MvIikhPS0xPyJfL3NzLyI6Il8vanMvIjtkLmo9YS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpO2lmKCFiKXJldHVybiBkOyhhPWMubWF0Y2goXy5yZilbNl18fG51bGwpJiZfLkViKGEsZnVuY3Rpb24oZyxoKXtkLmhbZ109aH0pO3JldHVybiBkfSxLZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCJodHRwczovL3ViZXJwcm94eS1wZW4tcmVkaXJlY3QuY29ycC5nb29nbGUuY29tL3ViZXJwcm94eS9wZW4/dXJsPSIpP2Euc3Vic3RyKDY1KTphfSxMZj17Wmo6ImsiLHFqOiJjayIsVGo6Im0iLERqOiJleG0iLEJqOiJleGNtIixlajoiYW0iLGZqOiJhbWMiLFJqOiJtbSIsWWo6InJ0IixNajoiZCIsQ2o6ImVkIixqazoic3YiLHNqOiJkZW9iIixtajoiY2IiLG9qOiJjY2IiLG5qOiJjYmkiLGdrOiJycyIsYWs6InNkY2giLE5qOiJpbSIsdGo6ImRnIix6ajoiYnIiLHlqOiJici1kIixBajoicmIiLEJrOiJ6cyIsQWs6Ind0IiwKRWo6ImVlIixpazoic20iLFNqOiJtZCIsSmo6Imdzc21vZHVsZXNldHByb3RvIix5azoidWpnIix4azoic3AiLExqOiJpY2hjIixmazoic2xrIix2ajoiZHRpIix1ajoiZGJ3aCIsT2o6ImljIn0sTmY9UmVnRXhwKCJeW2EtekEtWjAtOS1fKl0rJCIpO18uRyhfLkhiLF8udSk7dmFyIE9mPVtdO18uSGIucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIFBmKHRoaXMsYSxiLGMsZCl9O3ZhciBQZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihPZlswXT1jLnRvU3RyaW5nKCkpLGM9T2YpO2Zvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKXt2YXIgaD1fLngoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5ofHxhKTtpZighaClicmVhazthLmdbaC5rZXldPWh9cmV0dXJuIGF9O18uSGIucHJvdG90eXBlLmFlPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBRZih0aGlzLGEsYixjLGQpfTsKdmFyIFFmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcih2YXIgZz0wO2c8Yy5sZW5ndGg7ZysrKVFmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5OZChiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuaHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5nW2Iua2V5XT1ifXJldHVybiBhfTtfLkhiLnByb3RvdHlwZS55Yz1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy55YyhhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy55YShkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLmh8fHRoaXMsYz1PZChjKSxkPSEhZCxiPUZkKGEpP2EuamMoYixjLGQsZSk6YT8oYT1RZChhKSk/YS5qYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8uVmQoYiksZGVsZXRlIHRoaXMuZ1tiLmtleV0pO3JldHVybiB0aGlzfTsKXy5SZj1mdW5jdGlvbihhKXtfLnpjKGEuZyxmdW5jdGlvbihiLGMpe3RoaXMuZy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5WZChiKX0sYSk7YS5nPXt9fTtfLkhiLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5IYi5lYS5NLmNhbGwodGhpcyk7Xy5SZih0aGlzKX07Xy5IYi5wcm90b3R5cGUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTiIpO307dmFyIFNmLFRmPWZ1bmN0aW9uKCl7fTtfLkcoVGYsSWIpO1RmLnByb3RvdHlwZS5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07U2Y9bmV3IFRmO18uRyhKYixJYik7SmIucHJvdG90eXBlLmc9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoIndpdGhDcmVkZW50aWFscyJpbiBhKXJldHVybiBhO2lmKHR5cGVvZiBYRG9tYWluUmVxdWVzdCE9InVuZGVmaW5lZCIpcmV0dXJuIG5ldyBVZjt0aHJvdyBFcnJvcigiTyIpO307dmFyIFVmPWZ1bmN0aW9uKCl7dGhpcy5nPW5ldyBYRG9tYWluUmVxdWVzdDt0aGlzLnJlYWR5U3RhdGU9MDt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMucmVzcG9uc2VUeXBlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuc3RhdHVzPS0xO3RoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLmcub25sb2FkPSgwLF8ueSkodGhpcy5QaCx0aGlzKTt0aGlzLmcub25lcnJvcj0oMCxfLnkpKHRoaXMuRGUsdGhpcyk7dGhpcy5nLm9ucHJvZ3Jlc3M9KDAsXy55KSh0aGlzLlNoLHRoaXMpO3RoaXMuZy5vbnRpbWVvdXQ9KDAsXy55KSh0aGlzLldoLHRoaXMpfTtfLm09VWYucHJvdG90eXBlOwpfLm0ub3Blbj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCYmIWMpdGhyb3cgRXJyb3IoIlAiKTt0aGlzLmcub3BlbihhLGIpfTtfLm0uc2VuZD1mdW5jdGlvbihhKXtpZihhKWlmKHR5cGVvZiBhPT0ic3RyaW5nIil0aGlzLmcuc2VuZChhKTtlbHNlIHRocm93IEVycm9yKCJRIik7ZWxzZSB0aGlzLmcuc2VuZCgpfTtfLm0uYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmcuYWJvcnQoKX07Xy5tLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oKXt9O18ubS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbihhKXtyZXR1cm4gYS50b0xvd2VyQ2FzZSgpPT0iY29udGVudC10eXBlIj90aGlzLmcuY29udGVudFR5cGU6IiJ9O18ubS5QaD1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTIwMDt0aGlzLnJlc3BvbnNlVGV4dD10aGlzLmcucmVzcG9uc2VUZXh0O1ZmKHRoaXMsNCl9O18ubS5EZT1mdW5jdGlvbigpe3RoaXMuc3RhdHVzPTUwMDt0aGlzLnJlc3BvbnNlVGV4dD0iIjtWZih0aGlzLDQpfTsKXy5tLldoPWZ1bmN0aW9uKCl7dGhpcy5EZSgpfTtfLm0uU2g9ZnVuY3Rpb24oKXt0aGlzLnN0YXR1cz0yMDA7VmYodGhpcywxKX07dmFyIFZmPWZ1bmN0aW9uKGEsYil7YS5yZWFkeVN0YXRlPWI7aWYoYS5vbnJlYWR5c3RhdGVjaGFuZ2UpYS5vbnJlYWR5c3RhdGVjaGFuZ2UoKX07VWYucHJvdG90eXBlLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe3JldHVybiJjb250ZW50LXR5cGU6ICIrdGhpcy5nLmNvbnRlbnRUeXBlfTt2YXIgWGYsWWY7Xy5XZj1mdW5jdGlvbihhKXtfLmhiLmNhbGwodGhpcyk7dGhpcy5oZWFkZXJzPW5ldyBNYXA7dGhpcy5LPWF8fG51bGw7dGhpcy5oPSExO3RoaXMuZz1udWxsO3RoaXMuQT0iIjt0aGlzLmo9dGhpcy5GPXRoaXMubz10aGlzLkQ9ITE7dGhpcy5CPTA7dGhpcy5sPW51bGw7dGhpcy5JPSIiO3RoaXMuQz0hMX07Xy5HKF8uV2YsXy5oYik7WGY9L15odHRwcz8kL2k7WWY9WyJQT1NUIiwiUFVUIl07Xy5aZj1bXTtfLldmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCk7Xy52YShfLlpmLHRoaXMpfTsKXy5XZi5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmcpdGhyb3cgRXJyb3IoIlNgIit0aGlzLkErImAiK2EpO2I9Yj9iLnRvVXBwZXJDYXNlKCk6IkdFVCI7dGhpcy5BPWE7dGhpcy5EPSExO3RoaXMuaD0hMDt0aGlzLmc9dGhpcy5LP3RoaXMuSy5nKCk6U2YuZygpO3RoaXMuZy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZWUoKDAsXy55KSh0aGlzLkcsdGhpcykpO3RyeXt0aGlzLkY9ITAsdGhpcy5nLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuRj0hMX1jYXRjaChnKXskZih0aGlzKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKXtlPV8uQyhkLmtleXMoKSk7Zm9yKHZhciBmPWUubmV4dCgpOyFmLmRvbmU7Zj0KZS5uZXh0KCkpZj1mLnZhbHVlLGMuc2V0KGYsZC5nZXQoZikpfWVsc2UgdGhyb3cgRXJyb3IoIlRgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4iY29udGVudC10eXBlIj09Zy50b0xvd2VyQ2FzZSgpfSk7ZT1fLnYuRm9ybURhdGEmJmEgaW5zdGFuY2VvZiBfLnYuRm9ybURhdGE7IV8udGEoWWYsYil8fGR8fGV8fGMuc2V0KCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIpO2I9Xy5DKGMpO2ZvcihkPWIubmV4dCgpOyFkLmRvbmU7ZD1iLm5leHQoKSljPV8uQyhkLnZhbHVlKSxkPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsdGhpcy5nLnNldFJlcXVlc3RIZWFkZXIoZCxjKTt0aGlzLkkmJih0aGlzLmcucmVzcG9uc2VUeXBlPXRoaXMuSSk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLmcmJnRoaXMuZy53aXRoQ3JlZGVudGlhbHMhPT10aGlzLkMmJgoodGhpcy5nLndpdGhDcmVkZW50aWFscz10aGlzLkMpO3RyeXt0aGlzLmwmJihjbGVhclRpbWVvdXQodGhpcy5sKSx0aGlzLmw9bnVsbCksdGhpcy5CPjAmJih0aGlzLmw9c2V0VGltZW91dCh0aGlzLlIuYmluZCh0aGlzKSx0aGlzLkIpKSx0aGlzLm89ITAsdGhpcy5nLnNlbmQoYSksdGhpcy5vPSExfWNhdGNoKGcpeyRmKHRoaXMpfX07Xy5XZi5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3R5cGVvZiBqYyE9InVuZGVmaW5lZCImJnRoaXMuZyYmKHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTt2YXIgJGY9ZnVuY3Rpb24oYSl7YS5oPSExO2EuZyYmKGEuaj0hMCxhLmcuYWJvcnQoKSxhLmo9ITEpO2RnKGEpO2VnKGEpfSxkZz1mdW5jdGlvbihhKXthLkR8fChhLkQ9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpfLldmLnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuZyYmdGhpcy5oJiYodGhpcy5oPSExLHRoaXMuaj0hMCx0aGlzLmcuYWJvcnQoKSx0aGlzLmo9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxlZyh0aGlzKSl9O18uV2YucHJvdG90eXBlLk09ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmgmJih0aGlzLmg9ITEsdGhpcy5qPSEwLHRoaXMuZy5hYm9ydCgpLHRoaXMuaj0hMSksZWcodGhpcywhMCkpO18uV2YuZWEuTS5jYWxsKHRoaXMpfTtfLldmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7dGhpcy5xYigpfHwodGhpcy5GfHx0aGlzLm98fHRoaXMuaj9mZyh0aGlzKTp0aGlzLk8oKSl9O18uV2YucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtmZyh0aGlzKX07CnZhciBmZz1mdW5jdGlvbihhKXtpZihhLmgmJnR5cGVvZiBqYyE9InVuZGVmaW5lZCIpaWYoYS5vJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXNldFRpbWVvdXQoYS5HLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSwoYS5nP2EuZy5yZWFkeVN0YXRlOjApPT00KXthLmg9ITE7dHJ5e18uZ2coYSk/KGEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKSk6ZGcoYSl9ZmluYWxseXtlZyhhKX19fSxlZz1mdW5jdGlvbihhLGIpe2lmKGEuZyl7YS5sJiYoY2xlYXJUaW1lb3V0KGEubCksYS5sPW51bGwpO3ZhciBjPWEuZzthLmc9bnVsbDtifHxhLmRpc3BhdGNoRXZlbnQoInJlYWR5Iik7dHJ5e2Mub25yZWFkeXN0YXRlY2hhbmdlPW51bGx9Y2F0Y2goZCl7fX19O18uV2YucHJvdG90eXBlLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLmd9OwpfLmdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaGcoYSk7YTpzd2l0Y2goYil7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnZhciBjPSEwO2JyZWFrIGE7ZGVmYXVsdDpjPSExfWlmKCFjKXtpZihiPWI9PT0wKWE9U3RyaW5nKGEuQSkubWF0Y2goXy5yZilbMV18fG51bGwsIWEmJl8udi5zZWxmJiZfLnYuc2VsZi5sb2NhdGlvbiYmKGE9Xy52LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpLGI9IVhmLnRlc3QoYT9hLnRvTG93ZXJDYXNlKCk6IiIpO2M9Yn1yZXR1cm4gY307Xy5oZz1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEuZz9hLmcucmVhZHlTdGF0ZTowKT4yP2EuZy5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTtfLmlnPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nP2EuZy5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goYil7cmV0dXJuIiJ9fTt2YXIga2c9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dGhpcy5GPWE7dGhpcy5CPU1mKGEpO3RoaXMubD10aGlzLm89bnVsbDt0aGlzLkk9ITA7dGhpcy5oPW5ldyBfLkhiKHRoaXMpO3RoaXMuRz1bXTt0aGlzLkE9bmV3IFNldDt0aGlzLmc9W107dGhpcy5LPW5ldyBqZzt0aGlzLmo9W107dGhpcy5DPSExO2E9KDAsXy55KSh0aGlzLkQsdGhpcyk7c2YudmVyc2lvbj1hfTtfLkIoa2csXy51KTsKdmFyIGxnPWZ1bmN0aW9uKGEsYil7YS5nLmxlbmd0aCYmUGUoYixhLmdbYS5nLmxlbmd0aC0xXSk7YS5nLnB1c2goYik7TWUoYixmdW5jdGlvbigpe18udmEodGhpcy5nLGIpfSxhKX0sZmY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO3ZhciBmPWUuamg7ZD1lLm1oO3ZhciBnPWUuZmU7ZT1lLkZpO2I9bWcoYSxiLGMsZixkKTtuZyhhLGIsZyxlLGQpfSxtZz1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9ZD09PXZvaWQgMD9OYz9uZXcgTWFwOnt9OmQ7dmFyIGY9W107b2coYSxiLGMsZCxlPT09dm9pZCAwPyExOmUsZnVuY3Rpb24oZyl7Zi5wdXNoKGcuUmEoKSl9KTtyZXR1cm4gZn0sb2c9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Zz1nPT09dm9pZCAwP3t9Omc7Yj1fLkMoYik7Zm9yKHZhciBoPWIubmV4dCgpOyFoLmRvbmU7aD1iLm5leHQoKSl7dmFyIGs9aC52YWx1ZTtoPWMuZ2V0KGspOyFlJiYoYS5BLmhhcyhrKXx8aC5nKXx8Z1trXXx8KGdba109ITAsaz1kIGluc3RhbmNlb2YKTWFwPyhrPWQuZ2V0KGspKT9BcnJheS5mcm9tKGspOltdOmRba10/T2JqZWN0LmtleXMoZFtrXSk6W10sb2coYSxoLmwuY29uY2F0KGspLGMsZCxlLGYsZyksZihoKSl9fSxuZz1mdW5jdGlvbihhLGIsYyxkLGUpe2U9ZT09PXZvaWQgMD8hMTplO3ZhciBmPVtdLGc9bmV3IEJiO2I9W2JdO2Zvcih2YXIgaD1mdW5jdGlvbihxLHApe2Zvcih2YXIgcj1bXSx0PTAsQT1NYXRoLmZsb29yKHEubGVuZ3RoL3ApKzEsRD0wO0Q8cDtEKyspe3ZhciBFPShEKzEpKkE7ci5wdXNoKHEuc2xpY2UodCxFKSk7dD1FfXJldHVybiByfSxrPWIuc2hpZnQoKTtrOyl7dmFyIGw9cGcoYSxrLCEhZSwhMCk7aWYobC5sZW5ndGg8PTJFMyl7aWYoaz1yZyhhLGssZSkpZi5wdXNoKGspLFBlKGcsay5nKX1lbHNlIGI9aChrLE1hdGguY2VpbChsLmxlbmd0aC8yRTMpKS5jb25jYXQoYik7az1iLnNoaWZ0KCl9dmFyIG49bmV3IEJiO2xnKGEsbik7TWUobixmdW5jdGlvbigpe3JldHVybiBzZyhhLGYsYyxkKX0pO05lKG4sCmZ1bmN0aW9uKCl7dmFyIHE9bmV3IHRnO3Euaj0hMDtxLmg9LTE7c2codGhpcyxbcV0sYyxkKX0sYSk7TWUoZyxmdW5jdGlvbigpe3JldHVybiBuLmcoKX0pO2cuZygpfSxyZz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cGcoYSxiLCEoYz09PXZvaWQgMHx8IWMpKTthLkcucHVzaChkKTtiPV8uQyhiKTtmb3IoYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5BLmFkZChjLnZhbHVlKTtpZihhLkMpYT1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKSxfLlNhKGEsXy5MYihkKSksYS50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGEuYXN5bmM9ITEsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtlbHNle3ZhciBlPW5ldyB0ZyxmPW5ldyBfLldmKGEuai5sZW5ndGg+MD9uZXcgSmI6dm9pZCAwKTthLmguTihmLCJzdWNjZXNzIiwoMCxfLnkpKGUuQixlLGYpKTthLmguTihmLCJlcnJvciIsKDAsXy55KShlLkEsZSxmKSk7YS5oLk4oZiwidGltZW91dCIsKDAsXy55KShlLkMsZSkpO1BmKGEuaCwKZiwicmVhZHkiLGYuZGlzcG9zZSwhMSxmKTtmLkI9M0U0O3VnKGEuSyxmdW5jdGlvbigpe2Yuc2VuZChkKTtyZXR1cm4gZS5nfSk7cmV0dXJuIGV9cmV0dXJuIG51bGx9LHNnPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT0hMSxmLGc9ITEsaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgaz1iW2hdO2lmKCFmJiZrLmope2U9ITA7Zj1rLmg7YnJlYWt9ZWxzZSBrLmwmJihnPSEwKX1oPV8ud2EoYS5nKTsoZXx8ZykmJmYhPS0xJiYoYS5nLmxlbmd0aD0wKTtpZihlKWMmJmMoZik7ZWxzZSBpZihnKWQmJmQoKTtlbHNlIGZvcihhPTA7YTxiLmxlbmd0aDthKyspZD1iW2FdLHZnKGQubyxkLkNhKXx8YyYmYyg4MDAxKTsoZXx8ZykmJmYhPS0xJiZfLnZjKGgsZnVuY3Rpb24obCl7bC5jYW5jZWwoKX0pfTtrZy5wcm90b3R5cGUuTT1mdW5jdGlvbigpe3RoaXMuaC5kaXNwb3NlKCk7ZGVsZXRlIHNmLnZlcnNpb247Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyl9OwprZy5wcm90b3R5cGUuRD1mdW5jdGlvbigpe3JldHVybiBHZih0aGlzLkIsImsiKX07CnZhciBwZz1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT1fLkNiKGEuRi5tYXRjaChfLnJmKVszXXx8bnVsbCk7aWYoYS5qLmxlbmd0aD4wJiYhXy50YShhLmosZSkmJmUhPW51bGwmJndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSE9ZSl0aHJvdyBFcnJvcigiV2AiK2UpO3ZhciBmPWEuQjtlPW5ldyBFZjtlLmc9T2JqZWN0LmFzc2lnbih7fSxmLmcpO2Uuaj1mLmo7ZS5oPU9iamVjdC5hc3NpZ24oe30sZi5oKTtkZWxldGUgZS5nLm07ZGVsZXRlIGUuZy5leG07ZGVsZXRlIGUuZy5lZDtpZihiKXtmPV8uQyhiKTtmb3IodmFyIGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWlmKGc9Zy52YWx1ZSwhTmYudGVzdChnKSl0aHJvdyBFcnJvcigiTWAiK2cpO31JZihlLCJtIixiLmpvaW4oIiwiKSk7YS5vJiYoSWYoZSwiY2siLGEubyksYS5sJiZJZihlLCJycyIsYS5sKSk7SWYoZSwiZCIsIjAiKTtjJiYoZS5oLnp4PU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoKMjE0NzQ4MzY0OCkudG9TdHJpbmcoMzYpK01hdGguYWJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KV5EYXRlLm5vdygpKS50b1N0cmluZygzNikpO2E9ZS50b1N0cmluZygpO2QmJmEubGFzdEluZGV4T2YoIi8iLDApPT0wJiYoZT1kb2N1bWVudC5sb2NhdGlvbi5ocmVmLm1hdGNoKF8ucmYpLGQ9ZVsxXSxiPWVbMl0sYz1lWzNdLGU9ZVs0XSxmPSIiLGQmJihmKz1kKyI6IiksYyYmKGYrPSIvLyIsYiYmKGYrPWIrIkAiKSxmKz1jLGUmJihmKz0iOiIrZSkpLGE9ZithKTtyZXR1cm4gYX0sdmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihhLmxlbmd0aD4xJiZhLmNoYXJBdChhLmxlbmd0aC0xKT09PSJcbiIpe3ZhciBkPWEubGFzdEluZGV4T2YoIlxuIixhLmxlbmd0aC0yKTtkPj0wJiYoYz1hLnN1YnN0cmluZyhkKzEsYS5sZW5ndGgtMSkpfWQ9Yy5sZW5ndGgtMTE7aWYoZD49MCYmYy5pbmRleE9mKCJHb29nbGUgSW5jLiIsZCk9PWR8fGMubGFzdEluZGV4T2YoIi8vIyBzb3VyY2VNYXBwaW5nVVJMPSIsCjApPT0wKXRyeXtjPXdpbmRvdzthPWErIlxyXG4vLyMgc291cmNlVVJMPSIrYjthPV8uS2IoYSk7dmFyIGU9Xy5RYShhKTt2YXIgZj1fLlJhKGUpO2MuZXZhbChmKT09PWYmJmMuZXZhbChmLnRvU3RyaW5nKCkpfWNhdGNoKGcpe3JldHVybiExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9LHdnPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ2IoYS5tYXRjaChfLnJmKVs1XXx8bnVsbCl8fCIiO2I9Xy5DYihLZihiKS5tYXRjaChfLnJmKVs1XXx8bnVsbCk7cmV0dXJuKGI9PT1udWxsPzA6UmVnRXhwKCIoL18vanMvKXwoL18vc3MvKSIsImciKS50ZXN0KGIpJiYvXC9rPS8udGVzdChiKSk/YTpudWxsfSx0Zz1mdW5jdGlvbigpe3RoaXMuZz1uZXcgQmI7dGhpcy5DYT10aGlzLm89IiI7dGhpcy5qPSExO3RoaXMuaD0wO3RoaXMubD0hMX07dGcucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7dGhpcy5vPV8uaWcoYSk7dGhpcy5DYT1TdHJpbmcoYS5BKTt0aGlzLmcuZygpfTsKdGcucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSl7dGhpcy5qPSEwO3RoaXMuaD1fLmhnKGEpO3RoaXMuZy5nKCl9O3RnLnByb3RvdHlwZS5DPWZ1bmN0aW9uKCl7dGhpcy5sPSEwO3RoaXMuZy5nKCl9O3ZhciBqZz1mdW5jdGlvbigpe3RoaXMuZz0wO3RoaXMuaD1bXX0sdWc9ZnVuY3Rpb24oYSxiKXthLmgucHVzaChiKTt4ZyhhKX0seGc9ZnVuY3Rpb24oYSl7Zm9yKDthLmc8NSYmYS5oLmxlbmd0aDspeWcoYSxhLmguc2hpZnQoKSl9LHlnPWZ1bmN0aW9uKGEsYil7YS5nKys7TWUoYigpLGZ1bmN0aW9uKCl7dGhpcy5nLS07eGcodGhpcyl9LGEpfTt2YXIgemc9bmV3IERmKCExKSxBZz1kb2N1bWVudC5sb2NhdGlvbi5ocmVmOwpxZih7ZmxhZ3M6e2RtbDp6Z30saW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt2YXIgYj16Zy5nZXQoKSxjPSIiLGQ9IiI7d2luZG93JiZ3aW5kb3cuX0ZfY3NzUm93S2V5JiYoYz13aW5kb3cuX0ZfY3NzUm93S2V5LHdpbmRvdy5fRl9jb21iaW5lZFNpZ25hdHVyZSYmKGQ9d2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlKSk7aWYoYyYmdHlwZW9mIHdpbmRvdy5fRl9pbnN0YWxsQ3NzIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVSIpO3ZhciBlLGY9Xy52Ll9GX2pzVXJsO2YmJihlPXdnKGYpKTshZSYmKGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhc2UtanMiKSkmJihlPWYuc3JjP2Yuc3JjOmYuZ2V0QXR0cmlidXRlKCJocmVmIiksZT13ZyhlKSk7ZXx8KGU9d2coQWcpKTtlfHwoZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IiksZT13ZyhlW2UubGVuZ3RoLTFdLnNyYykpO2lmKCFlKXRocm93IEVycm9yKCJWIik7ZT1uZXcga2coZSk7YyYmKGUubz1jKTsKZCYmKGUubD1kKTtlLkM9YjtiPWphKCk7Yi5PPWU7Yi5YZighMCk7Yj1qYSgpO2Iuc2UoYSk7YS5qKGIpfX0pOwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemU9ZnVuY3Rpb24oYSxiKXtpZighXy5kYSl7aWYoIV8uaGEpcmV0dXJuO18uaWEoKX1fLmRhLnFlKGEsYil9OwpfLl9Nb2R1bGVNYW5hZ2VyX2luaXRpYWxpemUoJ2IvbjczcXdmL1VVSnFWZS9NcEp3WmMvZWxfY29uZi9lbF9tYWluX2Nzcy9zeTEvc3kyOjYvc3kzOjcvc3k0OjYvZWxfbWFpbjo1LDgsOS9jb3JzcHJveHkvd2Vic2l0ZV9lcnJvci9uYXZpZ2F0aW9udWk6Ny9waGlzaGluZ19wcm90ZWN0aW9uOjgvX3N0YW06OScsWydlbF9jb25mJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxhKCJlbF9jb25mIik7CnZhciBDZztfLl9leHBvcnRWZXJzaW9uPWZ1bmN0aW9uKGEpe18ucmMoImdvb2dsZS50cmFuc2xhdGUudiIsYSl9O18uX2dldENhbGxiYWNrRnVuY3Rpb249ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua2MoYSl9O0NnPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07Ynx8KGI9ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWQiKSkpO2IuYXBwZW5kQ2hpbGQoYSl9O18uX2xvYWRKcz1mdW5jdGlvbihhKXt2YXIgYj1fLndkKGRvY3VtZW50LCJTQ1JJUFQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5jaGFyc2V0PSJVVEYtOCI7Xy5TYShiLF8uTGIoYSkpO0NnKGIpfTsKXy5fbG9hZENzcz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7Yi50eXBlPSJ0ZXh0L2NzcyI7Yi5yZWw9InN0eWxlc2hlZXQiO2IuY2hhcnNldD0iVVRGLTgiO2IuaHJlZj1hO0NnKGIpfTtfLl9pc05TPWZ1bmN0aW9uKGEpe2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgYj13aW5kb3csYz0wO2M8YS5sZW5ndGg7KytjKWlmKCEoYj1iW2FbY11dKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5fc2V0dXBOUz1mdW5jdGlvbihhKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyliLmhhc093blByb3BlcnR5P2IuaGFzT3duUHJvcGVydHkoYVtjXSk/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0Mic7IGMuX2NlZj0nXHg1YjAsMSwwLFx4NWJceDIyZXNfZW5ceDIyLFx4MjJlbl96aFx4MjIsXHgyMmVuX2RlXHgyMixceDIyZW5famFceDIyLFx4MjJlbl9lc1x4MjIsXHgyMmRlX2VuXHgyMlx4NWQsbnVsbCxceDViMCwzLDEwMCxceDViXHgyMmVuX2hpXHgyMixceDIyaGlfZW5ceDIyLFx4MjJlbl9lc1x4MjIsXHgyMmVzX2VuXHgyMixceDIyZW5fZGVceDIyLFx4MjJkZV9lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5famFceDIyLFx4MjJlbl9hclx4MjIsXHgyMmVuX2lkXHgyMlx4NWRceDVkLDAsMSwwXHg1ZCc7IGMuX2NhYz0nJzsgYy5fY2FtPScnOyBjLl9jZW52PSdwcm9kJztjLl9jbGw9J0lORk8nOyBjLl9jZ2FrPScnOyBjLl9jdGtrPSc0OTU4NzYuMzMyNzg5MjQnOyBjb25zdCBoPSd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBvcGg9J3RyYW5zbGF0ZS1wYS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHM9J2h0dHBzJysnOi8vJzsgYy5fcGFoPWg7IGMuX3Bhcz1zOyBjb25zdCBiPXMrJ3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbSc7IGNvbnN0IHN0YXRpY1BhdGggPSAnL3RyYW5zbGF0ZV9zdGF0aWMvJzsgYy5fcGNpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2N0cmwzLmdpZic7IGMuX3BtaT1iK3N0YXRpY1BhdGgrJ2ltZy9taW5pX2dvb2dsZS5wbmcnOyBjLl9wYmk9YitzdGF0aWNQYXRoKydpbWcvdGVfYmsuZ2lmJzsgYy5fcGxpPWIrc3RhdGljUGF0aCsnaW1nL2xvYWRpbmcuZ2lmJzsgYy5fcHM9J2h0dHBzOlwvXC93d3cuZ3N0YXRpYy5jb21cL19cL3RyYW5zbGF0ZV9odHRwXC9fXC9zc1wva1x4M2R0cmFuc2xhdGVfaHR0cC50ci5CN0RpaDlKeWpudy5MLkY0Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QwXC9yc1x4M2RBTjhTUGZwQzA0dnJyelFYZ3NfVENNNUV0cnV3ZlB6TnRRXC9tXHgzZGVsX21haW5fY3NzJzsgYy5fcGxsYT1vcGgrJ1wvdjFcL3N1cHBvcnRlZExhbmd1YWdlcyc7IGMuX3B1aD0ndHJhbnNsYXRlLmdvb2dsZS5jb20nO2MuX2NuYWw9e307X2xvYWRDc3MoYy5fcHMpOyBfbG9hZEpzKCdodHRwczpcL1wvdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvanNcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIubm8uc2Nyblk2UTJfeXcuT1wvYW1ceDNkQklBQUJ3XC9kXHgzZDFcL2V4bVx4M2RlbF9jb25mXC9lZFx4M2QxXC9yc1x4M2RBTjhTUGZxMUtsVUZxZWlGdkJNdWRkdXpHdGIzOVFXWHV3XC9tXHgzZGVsX21haW4nKTtfZXhwb3J0VmVyc2lvbignVEVfMjAyNjA3MjInKTsKICAgICAgICB9KSgpOwogICAgICB9KSgpOwogIA=="}},"time_used":156,"timings":{"blocked":-1,"dns":4,"connect":15,"send":0,"wait":108,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white3.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.992Z","timestamp":1785154927992,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white3.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=I8zEtK3NV1UBiRCtEdTOZpJyxWzd7BbO8k0nZhaESouP2Lsq8p5J%2F6UqDRlwk2W3ZkXBJpLUhG4BGueRNOfLC73v%2FBCJhdKQgXc0qxZjJMa8Iv0D%2FYQD%2FYcalZMeHatE1T6rQW50aDE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd86b28a-OSL\r\ncontent-length: 2915\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2915,"size_decoded":3681,"mime_type":"image/png","magic":"PNG image data, 152 x 43, 8-bit/color RGBA, non-interlaced","md5":"ff085ba9bdee0c603753632fa8c6f5d1","sha1":"149893d43732a4410a181b8e703b1f2e6499f7ea","sha256":"735e09bd57ed90f15e8725c26ae70ad2cb70163512e31b838a42652e429c470a","sha512":"a8b784361b13e702352bbfe6a1f0562bbc3c42000e6356944ae87a4c75d7206ee1fc7ca3672348c9df016183d0246125c716a09e16d26a5cd5871ecd8963cdf9","ssdeep":"","tlshash":"80512bc1ab012613d0fccb9138e6174f5e470c116fe5b276a49fa45987202e1511d6c3","first_seen":"2026-07-27T05:58:00.846873Z","last_seen":"2026-07-27T12:23:18.84666Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJgAAAArCAYAAACEnEH6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJDN0Y1OUY2NzQ4MjExRThBQTc3RDU3NzREOEQyNzVBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJDN0Y1OUY3NzQ4MjExRThBQTc3RDU3NzREOEQyNzVBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkM3RjU5RjQ3NDgyMTFFOEFBNzdENTc3NEQ4RDI3NUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkM3RjU5RjU3NDgyMTFFOEFBNzdENTc3NEQ4RDI3NUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Mkv20AAAH2UlEQVR42uxdLZOjTBCe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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/team_bg2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.603Z","timestamp":1785154928603,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/team_bg2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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 404 \r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\npriority: u=5,i\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CbHCJIzXDfvHwvZDMYE9Z7GGkr7UT1itPER0jCiAR4p0ta3CTD4xV8B2B7PVL43ult4WFp3lO92OU4j9%2B%2Bzt9NuuWVQllCUOfZgW2RcBqWpO8L0mBhrgDuwJ8SZmJeuXR6wWLoRcAXQ%3D\"}]}\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\ncf-cache-status: BYPASS\r\ncontent-encoding: zstd\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21b9b9fce03b28a-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":6609,"size_decoded":2906,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (5395)","md5":"307dca9c775906b8de45869cabe98fcd","sha1":"2b80c3a2fd4a235b2cc9f89315a554d0721c0dd1","sha256":"8437bd0ef46a19c9a7c294c53e0429b40e76ebbd5fe9fd73a9025752495ddb1c","sha512":"80c03f7add3a33a5df7b1f1665253283550dac484d26339ecd85672fb506dce44bd0bf96275d5c41a2e7369c3b604de377b7f5985d7d0d76c7ac663d60a67a1c","ssdeep":"96:k2J/SNi/FLQVTLKCGWz5ln59Jy0jRdoMVZTdI5:k2pV2RKCxDnxyTMVZT0","tlshash":"d9d1975fdac5101e60d385b7e8d4ea4c8916aac3de234bdbb54f7915cf8038719a361c","first_seen":"2023-03-10T04:10:06Z","last_seen":"2026-08-10T18:45:42.1833Z","times_seen":4782,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgoKICAgICAgICA8dGl0bGU+Tm90IEZvdW5kPC90aXRsZT4KCiAgICAgICAgPCEtLSBGb250cyAtLT4KICAgICAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iPgogICAgICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TnVuaXRvJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovaHRtbHtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWNvZGV7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1odG1se2ZvbnQtZmFtaWx5OnN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7bGluZS1oZWlnaHQ6MS41fSosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkICNlMmU4ZjB9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWNvZGV7Zm9udC1mYW1pbHk6TWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2V9c3ZnLHZpZGVve2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfXZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5iZy13aGl0ZXstLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LHZhcigtLWJnLW9wYWNpdHkpKX0uYmctZ3JheS0xMDB7LS1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojZjdmYWZjO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDcsMjUwLDI1Mix2YXIoLS1iZy1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTIwMHstLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOiNlZGYyZjc7Ym9yZGVyLWNvbG9yOnJnYmEoMjM3LDI0MiwyNDcsdmFyKC0tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLWdyYXktNDAwey0tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6I2NiZDVlMDtib3JkZXItY29sb3I6cmdiYSgyMDMsMjEzLDIyNCx2YXIoLS1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItdHtib3JkZXItdG9wLXdpZHRoOjFweH0uYm9yZGVyLXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0uaC01e2hlaWdodDoxLjI1cmVtfS5oLTh7aGVpZ2h0OjJyZW19LmgtMTZ7aGVpZ2h0OjRyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtfS5sZWFkaW5nLTd7bGluZS1oZWlnaHQ6MS43NXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5tbC0xe21hcmdpbi1sZWZ0Oi4yNXJlbX0ubXQtMnttYXJnaW4tdG9wOi41cmVtfS5tci0ye21hcmdpbi1yaWdodDouNXJlbX0ubWwtMnttYXJnaW4tbGVmdDouNXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm1sLTR7bWFyZ2luLWxlZnQ6MXJlbX0ubXQtOHttYXJnaW4tdG9wOjJyZW19Lm1sLTEye21hcmdpbi1sZWZ0OjNyZW19Li1tdC1weHttYXJnaW4tdG9wOi0xcHh9Lm1heC13LXhse21heC13aWR0aDozNnJlbX0ubWF4LXctNnhse21heC13aWR0aDo3MnJlbX0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59LnAtNntwYWRkaW5nOjEuNXJlbX0ucHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnB4LTR7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5weC02e3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LnB0LTh7cGFkZGluZy10b3A6MnJlbX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS50b3AtMHt0b3A6MH0ucmlnaHQtMHtyaWdodDowfS5zaGFkb3d7Ym94LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNil9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWdyYXktMjAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2VkZjJmNztjb2xvcjpyZ2JhKDIzNywyNDIsMjQ3LHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktMzAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2UyZThmMDtjb2xvcjpyZ2JhKDIyNiwyMzIsMjQwLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNDAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2NiZDVlMDtjb2xvcjpyZ2JhKDIwMywyMTMsMjI0LHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNTAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2EwYWVjMDtjb2xvcjpyZ2JhKDE2MCwxNzQsMTkyLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNjAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6IzcxODA5Njtjb2xvcjpyZ2JhKDExMywxMjgsMTUwLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNzAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6IzRhNTU2ODtjb2xvcjpyZ2JhKDc0LDg1LDEwNCx2YXIoLS10ZXh0LW9wYWNpdHkpKX0udGV4dC1ncmF5LTkwMHstLXRleHQtb3BhY2l0eToxO2NvbG9yOiMxYTIwMmM7Y29sb3I6cmdiYSgyNiwzMiw0NCx2YXIoLS10ZXh0LW9wYWNpdHkpKX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS50cmFja2luZy13aWRlcntsZXR0ZXItc3BhY2luZzouMDVlbX0udy01e3dpZHRoOjEuMjVyZW19LnctOHt3aWR0aDoycmVtfS53LWF1dG97d2lkdGg6YXV0b30uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgIHNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QC13ZWJraXQta2V5ZnJhbWVzIHBpbmd7MCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX03NSUsdG97dHJhbnNmb3JtOnNjYWxlKDIpO29wYWNpdHk6MH19QGtleWZyYW1lcyAgcGluZ3swJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTc1JSx0b3t0cmFuc2Zvcm06c2NhbGUoMik7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzICBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLDEsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwxLDEpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9fUBrZXlmcmFtZXMgIGJvdW5jZXswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjUlKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC44LDAsMSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLDEsMSl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOi41cmVtfS5zbVw6YmxvY2t7ZGlzcGxheTpibG9ja30uc21cOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXDpqdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5zbVw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVw6aC0yMHtoZWlnaHQ6NXJlbX0uc21cOm1sLTB7bWFyZ2luLWxlZnQ6MH0uc21cOnB4LTZ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0uc21cOnB0LTB7cGFkZGluZy10b3A6MH0uc21cOnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnNtXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubWRcOmJvcmRlci10LTB7Ym9yZGVyLXRvcC13aWR0aDowfS5tZFw6Ym9yZGVyLWx7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey5sZ1w6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmRhcmtcOmJnLWdyYXktODAwey0tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzJkMzc0ODtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDUsNTUsNzIsdmFyKC0tYmctb3BhY2l0eSkpfS5kYXJrXDpiZy1ncmF5LTkwMHstLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMxYTIwMmM7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDMyLDQ0LHZhcigtLWJnLW9wYWNpdHkpKX0uZGFya1w6Ym9yZGVyLWdyYXktNzAwey0tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6IzRhNTU2ODtib3JkZXItY29sb3I6cmdiYSg3NCw4NSwxMDQsdmFyKC0tYm9yZGVyLW9wYWNpdHkpKX0uZGFya1w6dGV4dC13aGl0ZXstLXRleHQtb3BhY2l0eToxO2NvbG9yOiNmZmY7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSx2YXIoLS10ZXh0LW9wYWNpdHkpKX0uZGFya1w6dGV4dC1ncmF5LTQwMHstLXRleHQtb3BhY2l0eToxO2NvbG9yOiNjYmQ1ZTA7Y29sb3I6cmdiYSgyMDMsMjEzLDIyNCx2YXIoLS10ZXh0LW9wYWNpdHkpKX19CiAgICAgICAgPC9zdHlsZT4KCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgICBib2R5IHsKICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0iYW50aWFsaWFzZWQiPgogICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGZsZXggaXRlbXMtdG9wIGp1c3RpZnktY2VudGVyIG1pbi1oLXNjcmVlbiBiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktOTAwIHNtOml0ZW1zLWNlbnRlciBzbTpwdC0wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXcteGwgbXgtYXV0byBzbTpweC02IGxnOnB4LTgiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcHQtOCBzbTpqdXN0aWZ5LXN0YXJ0IHNtOnB0LTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB4LTQgdGV4dC1sZyB0ZXh0LWdyYXktNTAwIGJvcmRlci1yIGJvcmRlci1ncmF5LTQwMCB0cmFja2luZy13aWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDQwNCAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTQgdGV4dC1sZyB0ZXh0LWdyYXktNTAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdCBGb3VuZCAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2JvZHk+CjwvaHRtbD4K"}},"time_used":239,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":239,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/749774df013cc070971d50d6c0aba457934b4a21.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:15.354Z","timestamp":1785154935354,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/749774df013cc070971d50d6c0aba457934b4a21.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://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://primeelitecapital.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 12:22:15 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-08-11T04:47:25.170734Z","times_seen":2433,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":97,"timings":{"blocked":0,"dns":2,"connect":21,"send":0,"wait":26,"receive":0,"ssl":47},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/flags/.html","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.424Z","timestamp":1785154928424,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/flags/.html HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html\r\nlast-modified: Thu, 29 May 2025 09:33:48 GMT\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=i0PR4woIYeGapK%2FEbcJPqskLjTYRBkzQZiX%2BaMrM%2BOuvzfaFavjneQWYouPXOYpt1Pua%2F5aSv%2Btanpg7l4IMI86g2C1gb1L%2Fj2OeLF7rPknHzJ%2Fej9Dx5qJ%2FK89JobEtpAsd6B4jjnU%3D\"}]}\r\nvary: Accept-Encoding\r\npriority: u=5,i\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: zstd\r\ncf-ray: a21b9b9eade0b28a-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":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":1251,"size_decoded":1442,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"8150f458ed6fb9b1db4e5cfa57a1a281","sha1":"6e5726854d28687b560d7fdcb5c782c425c7dfb9","sha256":"4c13d452dd5d49671bd93ca32f2b4f85c78e39b6ab0ad1f38d98ed267f8fd896","sha512":"4cc6a112673aef8bb8bb8a385c26791b805d43bb707b509880e894f1c83bab4e16f13de187036c5f660c3bec1d286258396b7bde65c5d7945c5019665196818c","ssdeep":"","tlshash":"c021353ec1c1560ae0271164fbc1f7a86669825291970f703b9eb176f6cd0bb56a36c8","first_seen":"2024-02-08T16:48:55Z","last_seen":"2026-08-11T11:42:35.271147Z","times_seen":148877,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiNmMGYwZjA7IGZvbnQtc2l6ZToxMnB4O21hcmdpbjphdXRvO3BhZGRpbmc6MHB4IDMwcHggMHB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7Y2xlYXI6Ym90aDtoZWlnaHQ6MTAwcHg7bWFyZ2luLXRvcDotMTAxcHg7YmFja2dyb3VuZC1jb2xvcjojNDc0NzQ3O2JvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTUpO2JveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIGluc2V0OyI+Cjxicj5Qcm91ZGx5IHBvd2VyZWQgYnkgTGl0ZVNwZWVkIFdlYiBTZXJ2ZXI8cD5QbGVhc2UgYmUgYWR2aXNlZCB0aGF0IExpdGVTcGVlZCBUZWNobm9sb2dpZXMgSW5jLiBpcyBub3QgYSB3ZWIgaG9zdGluZyBjb21wYW55IGFuZCwgYXMgc3VjaCwgaGFzIG5vIGNvbnRyb2wgb3ZlciBjb250ZW50IGZvdW5kIG9uIHRoaXMgc2l0ZS48L3A+PC9kaXY+PC9ib2R5PjwvaHRtbD4K"}},"time_used":52,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":52,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/places_impl.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.999Z","timestamp":1785154928999,"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":"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 /maps-api-v3/api/js/65/10a/places_impl.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 3578\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411664\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":13216,"size_decoded":4416,"mime_type":"text/javascript","magic":"ASCII text, with very long lines (6211)","md5":"21b5450de68637aa88fb65cfe4a54d89","sha1":"908d2873435239c1429412dd3f0dbd1835f75121","sha256":"8ebe40cded4a21d514aaca687891474976770d41bc2d99030c21ec7c020e6662","sha512":"88a8142a921a152420c4ee7c989612be7f6a7009ba47d1066f52dab9f08adb9cb952b75bb34f8d6a7bc989784ff9c09b615964997915077f3918994fd4c17026","ssdeep":"384:3VtxQZkbVsLSmVsm7gW4+yHgAYBjwntn8QbXofzMjGKoyOaEv8QCkafaQvE1oRVB:3VtxYqUSMsW4+yHR/ofzMjGKoyOaEv8z","tlshash":"f052d56170e7f0e6c736b840d853029bb7bad4c2f05d8f35a85998a1bcf099a41f97b0","first_seen":"2026-07-22T18:28:15.412929Z","last_seen":"2026-07-28T15:47:12.141402Z","times_seen":483,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ3BsYWNlc19pbXBsJywgZnVuY3Rpb24oXyl7dmFyIHV0Yix3dGIseHRiLHl0Yix6dGIsQnRiLER0YixPNSxIdGIsSXRiLEx0YixOdGIsVHRiLFd0YiwkdGIsZHViO18uTDU9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5MZihhKTtpZih2b2lkIDA9PT1fLnZnKXtpZihfLnRnKGEsZCxjKSE9PWMpcmV0dXJufWVsc2UgXy5yZyhhLkxpLHZvaWQgMCxkLGMpO3JldHVybiBfLndnKGEsYixjKX07dXRiPWZ1bmN0aW9uKGEsYixjKXtjPWN8fHt9O2MuZm9ybWF0PSJqc3BiIjt0aGlzLnFoPW5ldyBfLlJyKGMpO3RoaXMucmg9YT09dm9pZCAwP2E6YS5yZXBsYWNlKC9cLyskLywiIil9O3d0Yj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEucWgucWgoYS5yaCsiLyRycGMvZ29vZ2xlLmludGVybmFsLm1hcHMuZ21wc2Rrc2JhY2tlbmQudjEuR21wU2Rrc0JhY2tlbmRTZXJ2aWNlL0dldFdpZGdldENvbnRlbnQiLGIsY3x8e30sdnRiKX07eHRiPWZ1bmN0aW9uKGEsYil7Xy5GZyhhLF8uRXIsMSxNNSxiKX07Cnl0Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5MNShhLF8uTjUsMixNNSl9O3p0Yj1mdW5jdGlvbihhLGIpe18uRmcoYSxfLk41LDIsTTUsYil9O0J0Yj1mdW5jdGlvbihhLGIpe18uRmcoYSxfLkVyLDEsQXRiLGIpfTtEdGI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEN0YjtyZXR1cm4gXy5qaChiLDEsYSl9O18uRXRiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamgoYSwxLGIpfTtPNT1mdW5jdGlvbihhLGIsYyl7Yz1jfHx7fTtjLmZvcm1hdD0ianNwYiI7dGhpcy5xaD1uZXcgXy5ScihjKTt0aGlzLnJoPWE9PXZvaWQgMD9hOmEucmVwbGFjZSgvXC8rJC8sIiIpfTtfLlE1PWZ1bmN0aW9uKCl7UDV8fChQNT1uZXcgRnRiKTtyZXR1cm4gUDV9OwpIdGI9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9UjU7dmFyIGM9bmV3IEd0YjtjPV8uamgoYywxLGEuY29udGV4dFRva2VuKTtjPV8uY2goYywyLGEucE8pO2M9Xy5jaChjLDMsYS51VCk7Yz1fLmpoKGMsNCxhLlFQKTtyZXR1cm4gYS5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM/KGE9e1siWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXTpBcnJheS5mcm9tKGEuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKS5qb2luKCIsIil9LHd0YihiLnFoLGMsYSkpOnd0YihiLnFoLGMpfTtfLlM1PWZ1bmN0aW9uKGEsYixjKXtiP2EucmgoYik6KGI9Xy5KbC5yaCgpLnJoKCkpJiZhLnJoKGIpO2M/YS50aChjKTooYz1fLkpsLnJoKCkudGgoKSxiPV8uSmwucmgoKS54aCgpLGMmJiFiJiZhLnRoKGMpKX07Ckl0Yj1hc3luYyBmdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1fLlE1KCkucWg7Yj17Li4uXy5veShnPy5TayksIlgtR29vZy1GaWVsZE1hc2siOmIuam9pbigiLCIpfTtmPy5sZW5ndGgmJihiWyJYLUdvb2ctTWFwcy0tVG1wLUludGVybmFsLVVzYWdlLUF0dHJpYnV0aW9uLUlkcyJdPWYuam9pbigiLCIpKTthPV8uRXRiKG5ldyBfLlQ1LGBwbGFjZXMvJHthfWApO2UmJmEueXAoZS50b2tlbik7Xy5TNShhLGMsZCk7cmV0dXJuIGF3YWl0IGguZ2V0UGxhY2UoYSxiKX07Ckx0Yj1hc3luYyBmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uUTUoKS5xaDtlPXsuLi5fLm95KGU/LlNrKSwiWC1Hb29nLUZpZWxkTWFzayI6InBob3RvX3VyaSJ9O2Q/Lmxlbmd0aCYmKGVbIlgtR29vZy1NYXBzLS1UbXAtSW50ZXJuYWwtVXNhZ2UtQXR0cmlidXRpb24tSWRzIl09ZC5qb2luKCIsIikpO2Q9bmV3IEp0YjthPV8uamgoZCwxLGEpO2E9Xy5haChhLDQsITApO2IhPW51bGwmJl8uY2goYSwyLGIpO2MhPW51bGwmJl8uY2goYSwzLGMpO2I9YXdhaXQgZi5xaC5xaChmLnJoKyIvJHJwYy9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL0dldFBob3RvTWVkaWEiLGEsZXx8e30sS3RiKTtyZXR1cm4gXy5IKGIsMil9O050Yj1hc3luYyBmdW5jdGlvbihhKXtSNT1SNXx8bmV3IE10YjtyZXR1cm4gYXdhaXQgSHRiKGEpfTsKVHRiPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5RNSgpLnFoLGQ9YS5sb2NhdGlvblJlc3RyaWN0aW9uLGU9YS5pbmNsdWRlZFByaW1hcnlUeXBlcyxmPWEuaW5jbHVkZWRUeXBlcyxnPWEuZXhjbHVkZWRQcmltYXJ5VHlwZXMsaD1hLmV4Y2x1ZGVkVHlwZXMsaz1hLmxhbmd1YWdlLG09YS5tYXhSZXN1bHRDb3VudCxwPWEucmFua1ByZWZlcmVuY2UscT1hLnJlZ2lvbix1PWEuZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZDtiPXsuLi5fLm95KGI/LlNrKSwiWC1Hb29nLUZpZWxkTWFzayI6Xy5PdGIoYS5maWVsZHMpfTthLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyYmKGJbIlgtR29vZy1NYXBzLS1UbXAtSW50ZXJuYWwtVXNhZ2UtQXR0cmlidXRpb24tSWRzIl09QXJyYXkuZnJvbShhLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcykuam9pbigiLCIpKTthPW5ldyBQdGI7dmFyIHg9Xy53ZyhhLFF0Yiw4KTt4PV8uTDUoeCxfLk41LDIsUnRiKTt2YXIgej1kLmdldENlbnRlcigpOwpfLmNqKF8ud2coeCxfLkRyLDEpLHo/LmxhdCgpPz8wKTtfLmRqKF8ud2coeCxfLkRyLDEpLHo/LmxuZygpPz8wKTt4LnNldFJhZGl1cyhkLmdldFJhZGl1cygpPz8wKTtlJiZfLm5nKGEsNSxlLF8uYmYpO2YmJl8ubmcoYSwzLGYsXy5iZik7ZyYmXy5uZyhhLDYsZyxfLmJmKTtoJiZfLm5nKGEsNCxoLF8uYmYpO20mJl8uY2goYSw3LG0pO2lmKHApe2Q9U3RiLmdldChwKTtpZihkPT09dm9pZCAwKXRocm93IEVycm9yKGBVbmtub3duIFNlYXJjaE5lYXJieVJhbmtQcmVmZXJlbmNlOiAke3B9YCk7Xy5saChhLDksZCl9Xy5TNShhLGsscSk7dSE9bnVsbCYmXy5haChhLDE1LHUpO3JldHVybiBhd2FpdCBjLnNlYXJjaE5lYXJieShhLGIpfTsKV3RiPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5RNSgpLnFoLGQ9YS5pbnB1dCxlPWEuaW5wdXRPZmZzZXQsZj1hLmxvY2F0aW9uQmlhcyxnPWEubG9jYXRpb25SZXN0cmljdGlvbixoPWEuaW5jbHVkZWRQcmltYXJ5VHlwZXMsaz1hLmluY2x1ZGVkUmVnaW9uQ29kZXMsbT1hLmxhbmd1YWdlLHA9YS5yZWdpb24scT1hLm9yaWdpbix1PWEuc2Vzc2lvblRva2VuLHg9YS5wdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQsej1hLmZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQ7YT1hLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczt2YXIgQj17Li4uXy5veShiPy5Tayl9O2EmJihCWyJYLUdvb2ctTWFwcy0tVG1wLUludGVybmFsLVVzYWdlLUF0dHJpYnV0aW9uLUlkcyJdPUFycmF5LmZyb20oYSkuam9pbigiLCIpKTt2YXIgSz1EdGIoZCk7ZSYmXy5jaChLLDksZSk7ZiYmKGYgaW5zdGFuY2VvZiBfLlJuPyhmPV8uVTUoZikseHRiKF8ud2coSyxWNSwyKSxmKSk6CmYgaW5zdGFuY2VvZiBfLlNvPyhiPXl0YihfLndnKEssVjUsMikpLGQ9Zi5nZXRDZW50ZXIoKSxmPWYuZ2V0UmFkaXVzKCl8fDAsZT1kPy5sYXQoKXx8MCxkPWQ/LmxuZygpfHwwLF8uY2ooXy53ZyhiLF8uRHIsMSksZSksXy5kaihfLndnKGIsXy5EciwxKSxkKSxiLnNldFJhZGl1cyhmKSk6ZiBpbnN0YW5jZW9mIF8uVG0mJihmPShuZXcgXy5ONSkuc2V0Q2VudGVyKF8uVzUoZikpLnNldFJhZGl1cygwKSx6dGIoXy53ZyhLLFY1LDIpLGYpKSk7ZyYmKGc9Xy5VNShnKSxCdGIoXy53ZyhLLFV0YiwzKSxnKSk7aCYmXy56RShLLDQsaCk7ayYmXy56RShLLDUsayk7cSYmKGg9Xy5XNShxKSxfLkVnKEssXy5Eciw4LGgpKTt1JiZLLnlwKHUudG9rZW4pO18uUzUoSyxtLHApO3ghPW51bGwmJl8uYWgoSywxMix4KTt6IT1udWxsJiZfLmFoKEssMTMseik7cmV0dXJuIG5ldyBQcm9taXNlKChPLEEpPT57Yy5xaC5xaChjLnJoKyIvJHJwYy9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL0F1dG9jb21wbGV0ZVBsYWNlcyIsCkssQnx8e30sVnRiKS50aGVuKFE9PntPKHtQTDpfLklmKFEpLHlHOkt9KX0pLmNhdGNoKFE9PntBKFEpfSl9KX07JHRiPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5RNSgpLnFoLGQ9YS5wYXJlbnQsZT1hLnF1ZXJ5LGY9YS5yYW5rUHJlZmVyZW5jZSxnPWEubGFuZ3VhZ2UsaD1hLnJlZ2lvbjthPXsuLi5fLm95KGIuU2spLCJYLUdvb2ctRmllbGRNYXNrIjphLmZpZWxkcy5qb2luKCIsIil9O2I9bmV3IFh0YjtkPV8uamgoYiwxLGQpO2UmJmQuc2V0UXVlcnkoZSk7aWYoZil7ZT1ZdGIuZ2V0KGYpO2lmKGU9PT12b2lkIDApdGhyb3cgRXJyb3IoYFVua25vd24gU2VhcmNoUmV2aWV3c1JhbmtQcmVmZXJlbmNlOiAke2Z9YCk7Xy5saChkLDMsZSl9Xy5TNShkLGcsaCk7cmV0dXJuIGF3YWl0IGMucWgucWgoYy5yaCsiLyRycGMvZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlBsYWNlcy9TZWFyY2hSZXZpZXdQb3N0cyIsZCxhfHx7fSxadGIpfTsKZHViPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5RNSgpLnFoLGQ9YS5wYXJlbnQsZT1hLnF1ZXJ5LGY9YS5yYW5rUHJlZmVyZW5jZSxnPWEubGFuZ3VhZ2UsaD1hLnJlZ2lvbjthPXsuLi5fLm95KGIuU2spLCJYLUdvb2ctRmllbGRNYXNrIjphLmZpZWxkcy5qb2luKCIsIil9O2I9bmV3IGF1YjtkJiZfLmpoKGIsMSxkKTtlJiZiLnNldFF1ZXJ5KGUpO2lmKGYpe2Q9YnViLmdldChmKTtpZihkPT09dm9pZCAwKXRocm93IEVycm9yKGBVbmtub3duIFNlYXJjaE1lZGlhUmFua1ByZWZlcmVuY2U6ICR7Zn1gKTtfLmxoKGIsMyxkKX1fLlM1KGIsZyxoKTtyZXR1cm4gYXdhaXQgYy5xaC5xaChjLnJoKyIvJHJwYy9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL1NlYXJjaE1lZGlhIixiLGF8fHt9LGN1Yil9OwpfLlU1PWZ1bmN0aW9uKGEpe2E9bmV3IF8uUm4oYSk7dmFyIGI9bmV3IF8uRXI7dmFyIGM9Xy5kaihfLmNqKG5ldyBfLkRyLGEuZ2V0U291dGhXZXN0KCkubGF0KCkpLGEuZ2V0U291dGhXZXN0KCkubG5nKCkpO2I9Xy5FZyhiLF8uRHIsMSxjKTthPV8uZGooXy5jaihuZXcgXy5EcixhLmdldE5vcnRoRWFzdCgpLmxhdCgpKSxhLmdldE5vcnRoRWFzdCgpLmxuZygpKTtyZXR1cm4gXy5FZyhiLF8uRHIsMixhKX07Xy5XNT1mdW5jdGlvbihhKXtyZXR1cm4gXy5kaihfLmNqKG5ldyBfLkRyLGEubGF0KCkpLGEubG5nKCkpfTtfLk90Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoYj0+YHBsYWNlcy4ke2J9YCkuam9pbigiLCIpfTt2YXIgR3RiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fTt2YXIgdnRiPW5ldyBfLlFyKCIvZ29vZ2xlLmludGVybmFsLm1hcHMuZ21wc2Rrc2JhY2tlbmQudjEuR21wU2Rrc0JhY2tlbmRTZXJ2aWNlL0dldFdpZGdldENvbnRlbnQiLEd0YixhPT5hLmpqKCksXy5iaihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1Ibygpe3JldHVybiBfLkgodGhpcywzKX19KSk7dmFyIGV1Yj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuRVZDb25uZWN0b3JUeXBlIiwnW251bGwsW1siRVZfQ09OTkVDVE9SX1RZUEVfVU5TUEVDSUZJRUQiLDBdLFsiRVZfQ09OTkVDVE9SX1RZUEVfT1RIRVIiLDFdLFsiRVZfQ09OTkVDVE9SX1RZUEVfSjE3NzIiLDJdLFsiRVZfQ09OTkVDVE9SX1RZUEVfVFlQRV8yIiwzXSxbIkVWX0NPTk5FQ1RPUl9UWVBFX0NIQURFTU8iLDRdLFsiRVZfQ09OTkVDVE9SX1RZUEVfQ0NTX0NPTUJPXzEiLDVdLFsiRVZfQ09OTkVDVE9SX1RZUEVfQ0NTX0NPTUJPXzIiLDZdLFsiRVZfQ09OTkVDVE9SX1RZUEVfVEVTTEEiLDddLFsiRVZfQ09OTkVDVE9SX1RZUEVfVU5TUEVDSUZJRURfR0JfVCIsOF0sWyJFVl9DT05ORUNUT1JfVFlQRV9VTlNQRUNJRklFRF9XQUxMX09VVExFVCIsOV0sWyJFVl9DT05ORUNUT1JfVFlQRV9OQUNTIiwxMF1dXScpO18uTjU9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0Q2VudGVyKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDEpfXNldENlbnRlcihhKXtyZXR1cm4gXy5FZyh0aGlzLF8uRHIsMSxhKX1nZXRSYWRpdXMoKXtyZXR1cm4gXy5PZyh0aGlzLDIpfXNldFJhZGl1cyhhKXtyZXR1cm4gXy5oaCh0aGlzLDIsYSl9fTtfLlg1PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywxKX1zZXRVcmwoYSl7cmV0dXJuIF8uamgodGhpcywxLGEpfX07dmFyIGZ1Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1VaSgpe3JldHVybiBfLkFnKHRoaXMsXy5JciwxKX1nZXRVcmwoKXtyZXR1cm4gXy5IKHRoaXMsMil9c2V0VXJsKGEpe3JldHVybiBfLmpoKHRoaXMsMixhKX1nZXRJY29uKCl7cmV0dXJuIF8uQWcodGhpcyxfLlg1LDQpfXNldEljb24oYSl7cmV0dXJuIF8uRWcodGhpcyxfLlg1LDQsYSl9TG8oKXtyZXR1cm4gXy5TZih0aGlzLF8uWDUsNCl9fTtfLlk1PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfVVpKCl7cmV0dXJuIF8uQWcodGhpcyxfLklyLDEpfVRwKCl7cmV0dXJuIF8uQ2codGhpcyxmdWIsMil9fTtfLlo1PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMil9VWkoKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMzEpfXNldFR5cGVzKGEsYil7cmV0dXJuIF8ueHUodGhpcyw1LF8uYmYsYSxiLF8uZGYpfWdldExvY2F0aW9uKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDEyKX1oYXNUYWtlb3V0KCl7cmV0dXJuIF8uQ3UodGhpcywzMyl9aGFzRGVsaXZlcnkoKXtyZXR1cm4gXy5DdSh0aGlzLDM0KX1oYXNEaW5lSW4oKXtyZXR1cm4gXy5DdSh0aGlzLDM1KX1oYXNDdXJic2lkZVBpY2t1cCgpe3JldHVybiBfLkN1KHRoaXMsMzYpfWhhc091dGRvb3JTZWF0aW5nKCl7cmV0dXJuIF8uQ3UodGhpcyw1NSl9aGFzTGl2ZU11c2ljKCl7cmV0dXJuIF8uQ3UodGhpcyw1Nil9aGFzTWVudUZvckNoaWxkcmVuKCl7cmV0dXJuIF8uQ3UodGhpcyw1Nyl9aGFzUmVzdHJvb20oKXtyZXR1cm4gXy5DdSh0aGlzLAo2NCl9QUQoKXtyZXR1cm4gXy5BZyh0aGlzLF8uWTUsOTgpfWJ3KCl7cmV0dXJuIF8uU2YodGhpcyxfLlk1LDk4KX19O3ZhciBndWI9Xy5XaSgiZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlByaWNlTGV2ZWwiLCdbbnVsbCxbWyJQUklDRV9MRVZFTF9VTlNQRUNJRklFRCIsMF0sWyJQUklDRV9MRVZFTF9GUkVFIiwxXSxbIlBSSUNFX0xFVkVMX0lORVhQRU5TSVZFIiwyXSxbIlBSSUNFX0xFVkVMX01PREVSQVRFIiwzXSxbIlBSSUNFX0xFVkVMX0VYUEVOU0lWRSIsNF0sWyJQUklDRV9MRVZFTF9WRVJZX0VYUEVOU0lWRSIsNV1dXScpO3ZhciBWNT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LE01PVsxLDJdO3ZhciBVdGI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxBdGI9WzEsMl07dmFyIEN0Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaChhKXtyZXR1cm4gXy5qaCh0aGlzLDYsYSl9dGgoYSl7cmV0dXJuIF8uamgodGhpcyw3LGEpfXlwKGEpe3JldHVybiBfLmpoKHRoaXMsMTEsYSl9fTt2YXIgVnRiPW5ldyBfLlFyKCIvZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlBsYWNlcy9BdXRvY29tcGxldGVQbGFjZXMiLEN0YixhPT5hLmpqKCksXy5haihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19KSk7dmFyIEp0Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfX07dmFyIEt0Yj1uZXcgXy5RcigiL2dvb2dsZS5tYXBzLnBsYWNlcy52MS5QbGFjZXMvR2V0UGhvdG9NZWRpYSIsSnRiLGE9PmEuamooKSxfLmFqKGNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSkpO18uVDU9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0TmFtZSgpe3JldHVybiBfLkgodGhpcywxKX1yaChhKXtyZXR1cm4gXy5qaCh0aGlzLDIsYSl9dGgoYSl7cmV0dXJuIF8uamgodGhpcywzLGEpfXlwKGEpe3JldHVybiBfLmpoKHRoaXMsNCxhKX19O3ZhciBodWI9bmV3IF8uUXIoIi9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL0dldFBsYWNlIixfLlQ1LGE9PmEuamooKSxfLmFqKF8uWjUpKTt2YXIgYXViPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFF1ZXJ5KCl7cmV0dXJuIF8uSCh0aGlzLDIpfXNldFF1ZXJ5KGEpe3JldHVybiBfLmpoKHRoaXMsMixhKX1yaChhKXtyZXR1cm4gXy5qaCh0aGlzLDUsYSl9dGgoYSl7cmV0dXJuIF8uamgodGhpcyw2LGEpfX07dmFyIGN1Yj1uZXcgXy5RcigiL2dvb2dsZS5tYXBzLnBsYWNlcy52MS5QbGFjZXMvU2VhcmNoTWVkaWEiLGF1YixhPT5hLmpqKCksXy5haihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19KSk7dmFyIFF0Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFJ0Yj1bMSwyLDMsNCw1XTt2YXIgUHRiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKGEpe3JldHVybiBfLmpoKHRoaXMsMSxhKX10aChhKXtyZXR1cm4gXy5qaCh0aGlzLDIsYSl9fTt2YXIgaXViPW5ldyBfLlFyKCIvZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlBsYWNlcy9TZWFyY2hOZWFyYnkiLFB0YixhPT5hLmpqKCksXy5haihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX13RCgpe3JldHVybiBfLkNnKHRoaXMsXy5aNSwxKX19KSk7dmFyIFh0Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRRdWVyeSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRRdWVyeShhKXtyZXR1cm4gXy5qaCh0aGlzLDIsYSl9cmgoYSl7cmV0dXJuIF8uamgodGhpcyw0LGEpfXRoKGEpe3JldHVybiBfLmpoKHRoaXMsNSxhKX19O3ZhciBadGI9bmV3IF8uUXIoIi9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL1NlYXJjaFJldmlld1Bvc3RzIixYdGIsYT0+YS5qaigpLF8uYWooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSkpO18uanViPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKGEpe3JldHVybiBfLmpoKHRoaXMsMixhKX10aChhKXtyZXR1cm4gXy5qaCh0aGlzLDMsYSl9fTtfLmt1Yj1uZXcgXy5RcigiL2dvb2dsZS5tYXBzLnBsYWNlcy52MS5QbGFjZXMvU2VhcmNoVGV4dCIsXy5qdWIsYT0+YS5qaigpLF8uYWooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9d0QoKXtyZXR1cm4gXy5DZyh0aGlzLF8uWjUsMSl9fSkpO081LnByb3RvdHlwZS5zZWFyY2hOZWFyYnk9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnFoLnFoKHRoaXMucmgrIi8kcnBjL2dvb2dsZS5tYXBzLnBsYWNlcy52MS5QbGFjZXMvU2VhcmNoTmVhcmJ5IixhLGJ8fHt9LGl1YixjKX07TzUucHJvdG90eXBlLmdldFBsYWNlPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5xaC5xaCh0aGlzLnJoKyIvJHJwYy9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL0dldFBsYWNlIixhLGJ8fHt9LGh1YixjKX07dmFyIGx1Yj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuU2VhcmNoTWVkaWFSZXF1ZXN0LlJhbmtQcmVmZXJlbmNlIiwnW251bGwsW1siUkFOS19QUkVGRVJFTkNFX1VOU1BFQ0lGSUVEIiwwXSxbIk1PU1RfUkVMRVZBTlQiLDFdLFsiTkVXRVNUIiwyXV1dJyk7dmFyIG11Yj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuU2VhcmNoTmVhcmJ5UmVxdWVzdC5SYW5rUHJlZmVyZW5jZSIsJ1tudWxsLFtbIlJBTktfUFJFRkVSRU5DRV9VTlNQRUNJRklFRCIsMF0sWyJESVNUQU5DRSIsMV0sWyJQT1BVTEFSSVRZIiwyXV1dJyk7dmFyIG51Yj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuU2VhcmNoUmV2aWV3UG9zdHNSZXF1ZXN0LlJhbmtQcmVmZXJlbmNlIiwnW251bGwsW1siUkFOS19QUkVGRVJFTkNFX1VOU1BFQ0lGSUVEIiwwXSxbIk1PU1RfUkVMRVZBTlQiLDFdLFsiTkVXRVNUIiwyXSxbIkhJR0hFU1RfUkFUSU5HIiwzXSxbIkxPV0VTVF9SQVRJTkciLDRdXV0nKTt2YXIgb3ViPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5TZWFyY2hUZXh0UmVxdWVzdC5SYW5rUHJlZmVyZW5jZSIsJ1tudWxsLFtbIlJBTktfUFJFRkVSRU5DRV9VTlNQRUNJRklFRCIsMF0sWyJESVNUQU5DRSIsMV0sWyJSRUxFVkFOQ0UiLDJdXV0nKTtfLnB1Yj1uZXcgU2V0KFsidHlwZXMiLCJwbGFjZV9pZCIsIm5hbWUiXSk7Xy5xdWI9KDAsXy5HailgLnBhYy1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDt6LWluZGV4OjEwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXRvcDoxcHggc29saWQgI2Q5ZDlkOTtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmOy13ZWJraXQtYm94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMyk7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMyk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbn0ucGFjLWxvZ286YWZ0ZXJ7Y29udGVudDoiIjtwYWRkaW5nOjFweCAxcHggMXB4IDA7aGVpZ2h0OjE4cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9jaztiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvYXBpLTMvaW1hZ2VzL3Bvd2VyZWQtYnktZ29vZ2xlLW9uLXdoaXRlMy5wbmcpO2JhY2tncm91bmQtcG9zaXRpb246MTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTIwcHggMTRweDtiYWNrZ3JvdW5kLXNpemU6MTIwcHggMTRweH0uaGRwaS5wYWMtbG9nbzphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvYXBpLTMvaW1hZ2VzL3Bvd2VyZWQtYnktZ29vZ2xlLW9uLXdoaXRlM19oZHBpLnBuZyl9LnBhYy1pdGVte2N1cnNvcjpkZWZhdWx0O3BhZGRpbmc6MCA0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTY7Zm9udC1zaXplOjExcHg7Y29sb3I6IzUxNTE1MX0ucGFjLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5wYWMtaXRlbS1zZWxlY3RlZCwucGFjLWl0ZW0tc2VsZWN0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWJmMmZlfS5wYWMtbWF0Y2hlZHtmb250LXdlaWdodDo3MDB9LnBhYy1pdGVtLXF1ZXJ5e2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctcmlnaHQ6M3B4O2NvbG9yOiMwMDB9LnBhYy1pY29ue3dpZHRoOjE1cHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjdweDttYXJnaW4tdG9wOjZweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL2FwaS0zL2ltYWdlcy9hdXRvY29tcGxldGUtaWNvbnMucG5nKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTozNHB4IDM0cHg7YmFja2dyb3VuZC1zaXplOjM0cHh9LmhkcGkgLnBhYy1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vbWFwcy5nc3RhdGljLmNvbS9tYXBmaWxlcy9hcGktMy9pbWFnZXMvYXV0b2NvbXBsZXRlLWljb25zX2hkcGkucG5nKX0ucGFjLWljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTFweCAtMXB4fS5wYWMtaXRlbS1zZWxlY3RlZCAucGFjLWljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE4cHggLTFweH0ucGFjLWljb24tbWFya2Vye2JhY2tncm91bmQtcG9zaXRpb246LTFweCAtMTYxcHh9LnBhYy1pdGVtLXNlbGVjdGVkIC5wYWMtaWNvbi1tYXJrZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMThweCAtMTYxcHh9LnBhYy1wbGFjZWhvbGRlcntjb2xvcjpncmF5fXNlbnRpbmVse31cbmA7Xy5ydWI9T2JqZWN0LmZyZWV6ZSgiY3VyYnNpZGVfcGlja3VwIGRlbGl2ZXJ5IGRpbmVfaW4gZ29vZF9mb3Jfa2lkcyBsaXZlbHkgcG9wdWxhcl93aXRoX3RvdXJpc3RzIHJlc2VydmFibGUgcm9tYW50aWMgc2VydmVzX2hhcHB5X2hvdXIgc2VydmVzX2JyZWFrZmFzdCBzZXJ2ZXNfbHVuY2ggc2VydmVzX2Rpbm5lciBzZXJ2ZXNfYmVlciBzZXJ2ZXNfd2luZSBzZXJ2ZXNfYnJ1bmNoIHNlcnZlc192ZWdldGFyaWFuX2Zvb2QgdGFrZW91dCB3aGVlbGNoYWlyX2FjY2Vzc2libGVfZW50cmFuY2UiLnNwbGl0KCIgIikpO18uc3ViPV8uQ20oe2xvY2F0aW9uOl8uTW0oXy5YbSl9LCEwKTt2YXIgdHViO3R1Yj1ldWIoKTtfLnV1Yj1fLk9qKHR1Yik7Xy52dWI9Xy5Raih0dWIpO3ZhciBGdGI9Y2xhc3MgZXh0ZW5kcyBfLmF1e3RoKCl7cmV0dXJuIE81fXNoKCl7cmV0dXJuImh0dHBzOi8vcGxhY2VzLmdvb2dsZWFwaXMuY29tLyJ9cmgoKXtyZXR1cm5bLi4ud3ViLG5ldyBfLiR0KHsiWC1Hb29nLU1hcHMtQVBJLVNhbHQiOiJvcC1wbGFjZXMtanMifSldfX0sUDUsd3ViPVtdO3ZhciB4dWI7eHViPWd1YigpO18ueXViPV8uT2ooeHViKTtfLnp1Yj1fLlFqKHh1Yik7dmFyIEF1YjtBdWI9b3ViKCk7Xy5CdWI9Xy5PaihBdWIpO18uUWooQXViKTt2YXIgQ3ViPWx1YigpLGJ1Yj1fLk9qKEN1Yik7Xy5RaihDdWIpO3ZhciBEdWI9bXViKCksU3RiPV8uT2ooRHViKTtfLlFqKER1Yik7dmFyIEV1Yj1udWIoKSxZdGI9Xy5PaihFdWIpO18uUWooRXViKTt2YXIgRnViPWNsYXNzIGV4dGVuZHMgXy5hdXt0aCgpe3JldHVybiB1dGJ9c2goKXtyZXR1cm4gXy5WQX19O3ZhciBSNSxNdGI9Y2xhc3MgZXh0ZW5kcyBGdWJ7fTtfLiQ1PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5IUD1UdGI7dGhpcy5HTT1JdGI7dGhpcy56SD1MdGI7dGhpcy5PTD1XdGI7dGhpcy5JTT1OdGI7dGhpcy5CSj0kdGI7dGhpcy5BSj1kdWJ9fTtfLiQ1LnByb3RvdHlwZS56Sj1fLmhhKDU5KTtfLiQ1LnByb3RvdHlwZS5CSj0kdGI7Xy4kNS5wcm90b3R5cGUuQUo9ZHViO18uSWwoInBsYWNlc19pbXBsIixuZXcgXy4kNSk7fSk7Cg=="}},"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":"primeelitecapital.com/","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T12:22:07.160Z","timestamp":1785154927160,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: primeelitecapital.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/3 200 \r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: no-cache, private\r\nset-cookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 14:22:07 GMT; Max-Age=7200; path=/; samesite=lax; secure\nprime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 14:22:07 GMT; Max-Age=7200; path=/; httponly; samesite=lax; secure\r\npriority: u=0,i\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=6h4gWqDES9OCNAac7SA70yazMVf0%2BmzaTkI9Auf2mn3q2c6cHcpR8fVJLiCCZiMV0YwwPEUvzxY5RQxFOMTi7PJZb4vZ%2FHkGqQSdkIdKtVWS2HfXrXRSXFi0Uw1tCZtuoJGgrdNTYsA%3D\"}]}\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: zstd\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21b9b972ca1b28a-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"particles.js","description":"Particles.js is a JavaScript library for creating particles.","website":"https://github.com/VincentGarreau/particles.js","common_platform_enumeration":"","icon":"","categories":["JavaScript graphics"]},{"name":"cdnjs","description":"cdnjs is a free distributed JS library delivery service.","website":"https://cdnjs.com","common_platform_enumeration":"","icon":"cdnjs.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":"jQuery:1.12.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"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":"OWL Carousel","description":"OWL Carousel is an enabled jQuery plugin that lets you create responsive carousel sliders.","website":"https://owlcarousel2.github.io/OwlCarousel2/","common_platform_enumeration":"","icon":"OWL Carousel.png","categories":["JavaScript libraries"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":81896,"size_decoded":17589,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (974)","md5":"08bc45bd30837f7a467e7baff8a5f193","sha1":"bde64c66357f5b7d310817634a30d09821357424","sha256":"1ed170ea4d7ec3fb5e09dc90a25042664a51486c07bee8fb835f1635727ae93f","sha512":"0057f430b03f2f90149544a790ec0b17568ef77c80f44c343b86be2ccb09ca71f324998a75542da73e0a373d499d7005fb2fd05fb69429def5e023eda8f08db1","ssdeep":"1536:hX9bY8G56fP86/LKcBIbo1aLkslKMPPa/wdB3f2VgXAChKhXh0hWV0bYsNMIeZU4:hcSdALW1g8qsmTa","tlshash":"5083421234f10427018342ea6a295f0aafb1e747c61f065c7abc4bed1fd3da5db23669","first_seen":"2026-07-27T12:22:49.761715Z","last_seen":"2026-07-27T12:22:49.761715Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8IS0tIE1ldGEgLS0+CiAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPTAiIC8+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iQ3J5cHRvY3VycmVuY3kgaW52ZXN0bWVudCwgQml0Y29pbiBJbnZlc3RtZW50LCBSZWFsIEVzdGF0ZSBpbnZlc3RtZW50LCBmb3JleCBpbnZlc3RtZW50IiAvPgogICAgPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtdGl0bGUiIGNvbnRlbnQ9ImFwZXh0cnVzdGdsb2JhbCBJbnZlc3RtZW50IiAvPgogICAgPG1ldGEgbmFtZT0iZGVmYXVsdExhbmd1YWdlIiBjb250ZW50PSJlbiIgLz4KICAgIDxtZXRhIG5hbWU9ImF2YWlsYWJsZUxhbmd1YWdlcyIgY29udGVudD0iZW4iIC8+CiAgICA8bWV0YSBuYW1lPSJtc3ZhbGlkYXRlLjAxIiBjb250ZW50PSI3OUQ4MjM4MzE1OUE4RDc5M0Y3OUVDMjhFMkQxRjcwQyIgLz4KICAgIDxtZXRhIG5hbWU9InRoZW1lLWNvbG9yIiBjb250ZW50PSIjMDAzNTg3IiAvPgogICAgPCEtLSBDU1JGIFRva2VuIC0tPgogICAgPG1ldGEgbmFtZT0iY3NyZi10b2tlbiIgY29udGVudD0iYkRoWUNmd1hUM2V6dDQzV0Y4OHQwNkNPM2YycXpBanNZd05kdElzYyI+CiAKPCEtLUVuZCBvZiBUYXdrLnRvIFNjcmlwdC0tPgogICAgPCEtLSBTSVRFIFRJVExFIC0tPgogICAgPHRpdGxlPlByaW1lIEVsaXRlIENhcGl0YWwgSW52ZXN0bWVudDwvdGl0bGU+CiAgICA8IS0tIEZhdmljb24gSWNvbiAtLT4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgdHlwZT0iaW1hZ2UveC1pY29uIiBocmVmPSJhc3NldHMvaW1hZ2VzL2Zhdmljb24ucG5nIj4KICAgIDwhLS0gQW5pbWF0aW9uIENTUyAtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYXNzZXRzL2Nzcy9hbmltYXRlLmNzcyI+CiAgICA8IS0tIExhdGVzdCBCb290c3RyYXAgbWluIENTUyAtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYXNzZXRzL2Jvb3RzdHJhcC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgogICAgPCEtLSBHb29nbGUgRm9udCAtLT4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Qb3BwaW5zOjEwMCwyMDAsMzAwLDQwMCw1MDAsNjAwLDcwMCw4MDAsOTAwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPCEtLSBGb250IEF3ZXNvbWUgQ1NTIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJhc3NldHMvY3NzL2lvbmljb25zLm1pbi5jc3MiPgogICAgPCEtLS0gb3dsIGNhcm91c2VsIENTUy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJhc3NldHMvb3dsY2Fyb3VzZWwvY3NzL293bC5jYXJvdXNlbC5taW4uY3NzIj4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYXNzZXRzL293bGNhcm91c2VsL2Nzcy9vd2wudGhlbWUuY3NzIj4KICAgIDwhLS0gTWFnbmlmaWMgUG9wdXAgQ1NTIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJhc3NldHMvY3NzL21hZ25pZmljLXBvcHVwLmNzcyI+CiAgICA8IS0tIFN0eWxlIENTUyAtLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iYXNzZXRzL2Nzcy9zdHlsZS5jc3MiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJhc3NldHMvY3NzL3Jlc3BvbnNpdmUuY3NzIj4KICAgIDwhLS0gQ29sb3IgQ1NTIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJhc3NldHMvY29sb3IvdGhlbWUtYmx1ZS1wcm8uY3NzIj4KCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL293bC1jYXJvdXNlbC8xLjMuMy9vd2wuY2Fyb3VzZWwubWluLmNzcyI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL293bC1jYXJvdXNlbC8xLjMuMy9vd2wudGhlbWUubWluLmNzcyI+CgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCkBtZWRpYSAobWF4LXdpZHRoOiA3NTBweCl7CiAgICAuc3RhdHN7CiAgICAgICAgd2lkdGg6MTAwJTsKICAgICAgICBtYXJnaW4tdG9wOjIycHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OjBweDsKICAgIH0KfQoKLnRlc3RpbW9uaWFsewogICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCBwdXJwbGU7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggIGxpZ2h0Z3JheTsKICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDEzMHB4OwogICAgbWFyZ2luOiAwIDE1cHggMzBweCAxNXB4OwogICAgb3ZlcmZsb3c6IGF1dG87CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgIGJvcmRlci1yYWRpdXM6IDVweAp9Ci50ZXN0aW1vbmlhbDpiZWZvcmV7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7CiAgICByaWdodDogMDsKICAgIGJvcmRlci10b3A6IDI1cHggc29saWQgcHVycGxlOwogICAgYm9yZGVyLWxlZnQ6IDI1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItcmlnaHQ6IDI1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgdHJhbnNmb3JtLW9yaWdpbjogODAlIC0zMCUgMDsKfQoudGVzdGltb25pYWwgLnBpY3sKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0OiA4MHB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNjBweDsKICAgIGxlZnQ6IDIwcHg7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggbGlnaHRncmF5Owp9Ci50ZXN0aW1vbmlhbCAucGljIGltZ3sKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwp9Ci50ZXN0aW1vbmlhbCAuZGVzY3JpcHRpb257CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICBjb2xvcjogIzkxODY4NjsKICAgIGxpbmUtaGVpZ2h0OiAyNXB4OwogICAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoudGVzdGltb25pYWwgLnRpdGxlewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiBwdXJwbGU7CiAgICBtYXJnaW46IDA7Cn0KLnRlc3RpbW9uaWFsIC5wb3N0ewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgZm9udC1zaXplOiAxN3B4OwogICAgY29sb3I6IHB1cnBsZTsKfQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlIHNwYW57CiAgICBib3JkZXI6IDJweCBzb2xpZCBwdXJwbGU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgb3BhY2l0eTogMTsKfQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlLmFjdGl2ZSBzcGFuLAoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlOmhvdmVyIHNwYW57CiAgICBiYWNrZ3JvdW5kOiBwdXJwbGU7Cn0KQG1lZGlhICBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpewogICAgLnRlc3RpbW9uaWFsewogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDMzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQogICAgLnRlc3RpbW9uaWFsIC5waWN7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4OwogICAgfQp9Cjwvc3R5bGU+Cgo8IS0tID09PT09PT09PT09PSBNZW51IGJhciBwb2xpc2ggPT09PT09PT09PT09IC0tPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgLyogR2xhc3N5IGRhcmsgaGVhZGVyIHRoYXQgc3RheXMgY29uc2lzdGVudCAoc28gdGhlIHdoaXRlLXRleHQgbG9nbyBpcyBhbHdheXMgdmlzaWJsZSkgKi8KICAgIC5oZWFkZXJfd3JhcCwKICAgIC5oZWFkZXJfd3JhcC5hZmZpeCwKICAgIC5oZWFkZXJfd3JhcC5uYXZiYXJfZml4ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDIwLCA0OCwgMC45MikgIWltcG9ydGFudDsKICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMThweCByZ2JhKDAsIDAsIDAsIDAuMjgpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDkwLCAxOTYsIDI0MCwgMC4xOCk7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZSwgYm94LXNoYWRvdyAuM3MgZWFzZTsKICAgIH0KICAgIC5oZWFkZXJfd3JhcCAubmF2YmFyIHsgcGFkZGluZy10b3A6IDhweDsgcGFkZGluZy1ib3R0b206IDhweDsgfQoKICAgIC8qIEhvcml6b250YWwgbG9nbyBzaXppbmcgKi8KICAgIC5uYXZiYXItYnJhbmQgaW1nLmxvZ29fbGlnaHQsCiAgICAubmF2YmFyLWJyYW5kIGltZy5sb2dvX2RhcmsgewogICAgICAgIGhlaWdodDogNDZweDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDIzMHB4OwogICAgfQoKICAgIC8qIE5hdiBsaW5rcyAqLwogICAgLmhlYWRlcl93cmFwIC5uYXZiYXItbmF2IC5uYXYtbGluayB7CiAgICAgICAgY29sb3I6ICNlYWYyZmYgIWltcG9ydGFudDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHggIWltcG9ydGFudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2UsIGJhY2tncm91bmQgLjJzIGVhc2U7CiAgICB9CiAgICAuaGVhZGVyX3dyYXAgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLAogICAgLmhlYWRlcl93cmFwIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cyB7CiAgICAgICAgY29sb3I6ICM1QUM0RjAgIWltcG9ydGFudDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDkwLCAxOTYsIDI0MCwgMC4xMCk7CiAgICB9CgogICAgLyogTGFuZ3VhZ2UgdHJhbnNsYXRvciBkcm9wZG93biAqLwogICAgLmhlYWRlci10cmFuc2xhdGUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDAgNnB4OyB9CiAgICAuaGVhZGVyLXRyYW5zbGF0ZSBzZWxlY3QgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikgIWltcG9ydGFudDsKICAgICAgICBjb2xvcjogI2VhZjJmZiAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTAsIDE5NiwgMjQwLCAwLjQ1KSAhaW1wb3J0YW50OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4ICFpbXBvcnRhbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMgZWFzZTsKICAgIH0KICAgIC5oZWFkZXItdHJhbnNsYXRlIHNlbGVjdDpob3ZlciB7IGJvcmRlci1jb2xvcjogIzVBQzRGMCAhaW1wb3J0YW50OyB9CiAgICAuaGVhZGVyLXRyYW5zbGF0ZSBzZWxlY3Qgb3B0aW9uIHsgY29sb3I6ICMxMTE7IH0KCiAgICAvKiBMb2dpbiAvIFNpZ24tdXAgYnV0dG9ucyDigJQgY29tcGFjdCBwaWxscyAqLwogICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIC5idG4sCiAgICAuaGVhZGVyX3dyYXAgLm5hdl9idG4gLmJ0bi1kZWZhdWx0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsKICAgICAgICBwYWRkaW5nOiA5cHggMjJweCAhaW1wb3J0YW50OwogICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDsKICAgICAgICBib3JkZXItcmFkaXVzOiAyNHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICAgIC8qIExvZ2luID0gb3V0bGluZSwgU2lnbiB1cCA9IHNvbGlkIGdyYWRpZW50ICovCiAgICAuaGVhZGVyX3dyYXAgLm5hdl9idG4gbGk6Zmlyc3QtY2hpbGQgLmJ0biB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgICAgICBjb2xvcjogI2VhZjJmZiAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlcjogMS41cHggc29saWQgcmdiYSg5MCwgMTk2LCAyNDAsIDAuNykgIWltcG9ydGFudDsKICAgIH0KICAgIC5oZWFkZXJfd3JhcCAubmF2X2J0biBsaTpmaXJzdC1jaGlsZCAuYnRuOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDkwLCAxOTYsIDI0MCwgMC4xMikgIWltcG9ydGFudDsKICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogICAgfQogICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIGxpOmxhc3QtY2hpbGQgLmJ0biB7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzJmNmRmMCwgIzVBQzRGMCkgIWltcG9ydGFudDsKICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OwogICAgfQogICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIGxpOmxhc3QtY2hpbGQgLmJ0bjpob3ZlciB7CiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDcpOwogICAgfQoKICAgIC8qIEhhbWJ1cmdlciB0b2dnbGVyICovCiAgICAuaGVhZGVyX3dyYXAgLm5hdmJhci10b2dnbGVyIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDkwLCAxOTYsIDI0MCwgMC41KSAhaW1wb3J0YW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBjb2xvcjogIzVBQzRGMDsKICAgIH0KICAgIC5oZWFkZXJfd3JhcCAubmF2YmFyLXRvZ2dsZXIgc3BhbiB7IGNvbG9yOiAjNUFDNEYwOyBmb250LXNpemU6IDIycHg7IH0KCiAgICAvKiAtLS0tIE1vYmlsZSAvIGNvbGxhcHNlZCBtZW51IChiZWxvdyBsZyA9IDk5MnB4KSAtLS0tICovCiAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHsKICAgICAgICAuaGVhZGVyX3dyYXAgLm5hdmJhci1jb2xsYXBzZSB7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDI0LCA1NiwgMC45Nik7CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTAsIDE5NiwgMjQwLCAwLjE4KTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDsKICAgICAgICB9CiAgICAgICAgLmhlYWRlcl93cmFwIC5uYXZiYXItbmF2IHsgd2lkdGg6IDEwMCU7IH0KICAgICAgICAuaGVhZGVyX3dyYXAgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsKICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgICAgIH0KICAgICAgICAuaGVhZGVyLXRyYW5zbGF0ZSB7IG1hcmdpbjogMTJweCAwIDZweDsgfQogICAgICAgIC5oZWFkZXItdHJhbnNsYXRlIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9CiAgICAgICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICB9CiAgICAgICAgLmhlYWRlcl93cmFwIC5uYXZfYnRuIGxpIHsgZmxleDogMTsgbGlzdC1zdHlsZTogbm9uZTsgfQogICAgICAgIC5oZWFkZXJfd3JhcCAubmF2X2J0biAuYnRuLAogICAgICAgIC5oZWFkZXJfd3JhcCAubmF2X2J0biAuYnRuLWRlZmF1bHQgewogICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KICAgIH0KPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHkgY2xhc3M9InZfYmx1ZSIgZGF0YS1zcHk9InNjcm9sbCIgZGF0YS1vZmZzZXQ9IjExMCI+CiAgICA8IS0tIExPQURFUiAtLT4KICAgPGRpdiBjbGFzcz0icHJlbG9hZGVyIj4KICAgICAgICA8ZGl2IGlkPSJnLXNwaW5uZXIiIGNsYXNzPSJsb2FkaW5nIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIGMxIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLSBFTkQgTE9BREVSIC0tPgoKICAgIDwhLS0gU1RBUlQgSEVBREVSIC0tPgo8aGVhZGVyIGNsYXNzPSJoZWFkZXJfd3JhcCBmaXhlZC10b3AiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyI+IAogICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQgcGFnZS1zY3JvbGwgYW5pbWF0aW9uIiBocmVmPSIjaG9tZSIgZGF0YS1hbmltYXRpb249ImZhZGVJbkxlZnQiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjhzIj4KICAgICAgICAgICAgPGltZyBjbGFzcz0ibG9nb19saWdodCIgc3JjPSJzdG9yYWdlL2FwcC9wdWJsaWMvcGhvdG9zL3ByaW1lLWVsaXRlLWxvZ28taG9yaXpvbnRhbC5zdmciIGFsdD0ibG9nbyIgd2lkdGg9IjE4MCIgLz4KICAgICAgICAgICAgPGltZyBjbGFzcz0ibG9nb19kYXJrIiBzcmM9InN0b3JhZ2UvYXBwL3B1YmxpYy9waG90b3MvcHJpbWUtZWxpdGUtbG9nby1ob3Jpem9udGFsLnN2ZyIgYWx0PSJsb2dvIiAvPgogICAgICAgIDwvYT4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2YmFyLXRvZ2dsZXIgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluUmlnaHQiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIxLjJzIiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBhcmlhLWNvbnRyb2xzPSJuYXZiYXJTdXBwb3J0ZWRDb250ZW50IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5hdmlnYXRpb24iPiA8c3BhbiBjbGFzcz0iaW9uLWFuZHJvaWQtbWVudSI+PC9zcGFuPiA8L2J1dHRvbj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNlIG5hdmJhci1jb2xsYXBzZSBqdXN0aWZ5LWNvbnRlbnQtZW5kIiBpZD0ibmF2YmFyU3VwcG9ydGVkQ29udGVudCI+CiAgICAgICAgPHVsIGNsYXNzPSJuYXZiYXItbmF2IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJbkRvd24iIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIxLjJzIj4KICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9Im5hdi1saW5rIHBhZ2Utc2Nyb2xsIiBocmVmPSIjYWJvdXQiPkFib3V0PC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9Im5hdi1saW5rIHBhZ2Utc2Nyb2xsIiBocmVmPSIjcm9hZF9tYXAiPlJvYWQgTWFwPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9Im5hdi1saW5rIHBhZ2Utc2Nyb2xsIiBocmVmPSIjdGVhbSI+VGVhbTwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGNsYXNzPSJuYXYtbGluayBwYWdlLXNjcm9sbCIgaHJlZj0iI3BhcnRuZXJzIj5QYXJ0bmVyczwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGNsYXNzPSJuYXYtbGluayBwYWdlLXNjcm9sbCIgaHJlZj0iI2ZhcSI+RkFRPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgY2xhc3M9Im5hdi1saW5rIHBhZ2Utc2Nyb2xsIiBocmVmPSIjY29udGFjdCI+Q29udGFjdDwvYT48L2xpPgogICAgICAgIDwvdWw+CgogICAgICAgIDwhLS0gTGFuZ3VhZ2UgdHJhbnNsYXRvcjogY2xlYW4gZHJvcGRvd24gdGhhdCBkcml2ZXMgdGhlIGhpZGRlbiBHb29nbGUKICAgICAgICAgICAgIGdhZGdldCB2aWEgZG9HVHJhbnNsYXRlKCkuIFRoZSBHb29nbGUgdG9wIGJhbm5lciBpcyBzdXBwcmVzc2VkIGJlbG93CiAgICAgICAgICAgICBzbyBjaGFuZ2luZyBsYW5ndWFnZSBuZXZlciBvZmZzZXRzIHRoZSBoZWFkZXIuIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10cmFuc2xhdGUgbm90cmFuc2xhdGUiIHRyYW5zbGF0ZT0ibm8iPgogICAgICAgICAgICA8c2VsZWN0IG9uY2hhbmdlPSJkb0dUcmFuc2xhdGUodGhpcyk7IiBhcmlhLWxhYmVsPSJUcmFuc2xhdGUgdGhpcyBzaXRlIgogICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IzEzMWQzMDtjb2xvcjpvcmFuZ2U7Ym9yZGVyOjFweCBzb2xpZCAjMzM0MTU1O3BhZGRpbmc6NnB4IDEycHg7Ym9yZGVyLXJhZGl1czo2cHg7Zm9udC1zaXplOjE0cHg7Y3Vyc29yOnBvaW50ZXI7bWF4LXdpZHRoOjE3MHB4OyI+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPiYjMTI3NzYwOyBMYW5ndWFnZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58ZW4iPkVuZ2xpc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGFmIj5BZnJpa2FhbnM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHNxIj5BbGJhbmlhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58YW0iPkFtaGFyaWM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGFyIj5BcmFiaWM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGh5Ij5Bcm1lbmlhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58YXoiPkF6ZXJiYWlqYW5pPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxldSI+QmFzcXVlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxiZSI+QmVsYXJ1c2lhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58Ym4iPkJlbmdhbGk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGJzIj5Cb3NuaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxiZyI+QnVsZ2FyaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxjYSI+Q2F0YWxhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58Y2ViIj5DZWJ1YW5vPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxueSI+Q2hpY2hld2E8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHpoLUNOIj5DaGluZXNlIChTaW1wbGlmaWVkKTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58emgtVFciPkNoaW5lc2UgKFRyYWRpdGlvbmFsKTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58Y28iPkNvcnNpY2FuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxociI+Q3JvYXRpYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGNzIj5DemVjaDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58ZGEiPkRhbmlzaDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bmwiPkR1dGNoPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxlbyI+RXNwZXJhbnRvPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxldCI+RXN0b25pYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHRsIj5GaWxpcGlubzwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58ZmkiPkZpbm5pc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGZyIj5GcmVuY2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGZ5Ij5GcmlzaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxnbCI+R2FsaWNpYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGthIj5HZW9yZ2lhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58ZGUiPkdlcm1hbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58ZWwiPkdyZWVrPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxndSI+R3VqYXJhdGk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGh0Ij5IYWl0aWFuIENyZW9sZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58aGEiPkhhdXNhPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxoYXciPkhhd2FpaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxpdyI+SGVicmV3PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxoaSI+SGluZGk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGhtbiI+SG1vbmc8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGh1Ij5IdW5nYXJpYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGlzIj5JY2VsYW5kaWM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGlnIj5JZ2JvPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxpZCI+SW5kb25lc2lhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58Z2EiPklyaXNoPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxpdCI+SXRhbGlhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58amEiPkphcGFuZXNlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxqdyI+SmF2YW5lc2U8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGtuIj5LYW5uYWRhPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxrayI+S2F6YWtoPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxrbSI+S2htZXI8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGtvIj5Lb3JlYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGt1Ij5LdXJkaXNoIChLdXJtYW5qaSk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGt5Ij5LeXJneXo8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGxvIj5MYW88L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGxhIj5MYXRpbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bHYiPkxhdHZpYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGx0Ij5MaXRodWFuaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxsYiI+THV4ZW1ib3VyZ2lzaDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bWsiPk1hY2Vkb25pYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufG1nIj5NYWxhZ2FzeTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bXMiPk1hbGF5PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxtbCI+TWFsYXlhbGFtPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxtdCI+TWFsdGVzZTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bWkiPk1hb3JpPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxtciI+TWFyYXRoaTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bW4iPk1vbmdvbGlhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58bXkiPk15YW5tYXIgKEJ1cm1lc2UpPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxuZSI+TmVwYWxpPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxubyI+Tm9yd2VnaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxwcyI+UGFzaHRvPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxmYSI+UGVyc2lhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58cGwiPlBvbGlzaDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58cHQiPlBvcnR1Z3Vlc2U8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHBhIj5QdW5qYWJpPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxybyI+Um9tYW5pYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHJ1Ij5SdXNzaWFuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxzbSI+U2Ftb2FuPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxnZCI+U2NvdHMgR2FlbGljPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxzciI+U2VyYmlhbjwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58c3QiPlNlc290aG88L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHNuIj5TaG9uYTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58c2QiPlNpbmRoaTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58c2kiPlNpbmhhbGE8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHNrIj5TbG92YWs8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHNsIj5TbG92ZW5pYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHNvIj5Tb21hbGk8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufGVzIj5TcGFuaXNoPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxzdSI+U3VuZGFuZXNlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxzdyI+U3dhaGlsaTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58c3YiPlN3ZWRpc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHRnIj5UYWppazwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58dGEiPlRhbWlsPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnx0ZSI+VGVsdWd1PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnx0aCI+VGhhaTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58dHIiPlR1cmtpc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHVrIj5Va3JhaW5pYW48L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHVyIj5VcmR1PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnx1eiI+VXpiZWs8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHZpIj5WaWV0bmFtZXNlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJlbnxjeSI+V2Vsc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHhoIj5YaG9zYTwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iZW58eWkiPllpZGRpc2g8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHlvIj5Zb3J1YmE8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImVufHp1Ij5adWx1PC9vcHRpb24+CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgIDwvZGl2PgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCmEuZ2ZsYWcge3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250LXNpemU6MjRweDtwYWRkaW5nOjFweCAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2d0cmFuc2xhdGUubmV0L2ZsYWdzLzI0LnBuZyk7fQphLmdmbGFnIGltZyB7Ym9yZGVyOjA7fQphLmdmbGFnOmhvdmVyIHtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2d0cmFuc2xhdGUubmV0L2ZsYWdzLzI0YS5wbmcpO30KLmhlYWRlci10cmFuc2xhdGUge2Rpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBtYXJnaW46MCAxNHB4O30KI2dvb2ctZ3QtdHQsIC5nb29nLXRvb2x0aXAsIC5nb29nLXRvb2x0aXA6aG92ZXIge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KLmdvb2ctdGUtYmFubmVyLWZyYW1lLCAuZ29vZy10ZS1iYW5uZXItZnJhbWUuc2tpcHRyYW5zbGF0ZSwgLnNraXB0cmFuc2xhdGUsIGlmcmFtZS5za2lwdHJhbnNsYXRlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsgdmlzaWJpbGl0eTpoaWRkZW4gIWltcG9ydGFudDsgaGVpZ2h0OjAgIWltcG9ydGFudDt9Ci5nb29nLXRlLW1lbnUtdmFsdWU6aG92ZXIge3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7fQouZ29vZy10ZXh0LWhpZ2hsaWdodCB7YmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50O30KYm9keSB7dG9wOjAgIWltcG9ydGFudDsgcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7fQojZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiB7ZGlzcGxheTpub25lIWltcG9ydGFudDt9Cgo8L3N0eWxlPgoKICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYgbmF2X2J0biBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5SaWdodCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjEuNnMiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgaHJlZj0iL2xvZ2luIj5Mb2dpbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9Im5hdi1saW5rIHBhZ2Utc2Nyb2xsIGJ0biBidG4tZGVmYXVsdCIgaHJlZj0iaHR0cHM6Ly9wcmltZWVsaXRlY2FwaXRhbC5jb20vcmVnaXN0ZXIiPlNpZ24gVXAhPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L25hdj4KICAgICAgICA8L2Rpdj4KPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgIGZ1bmN0aW9uIGdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0MigpIHsKICAgICAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHtwYWdlTGFuZ3VhZ2U6ICdlbicsYXV0b0Rpc3BsYXk6IGZhbHNlfSwgJ2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDInKTsKICAgIH0KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20vdHJhbnNsYXRlX2EvZWxlbWVudC5qcz9jYj1nb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdDIiPjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovKiBTYWZldHkgbmV0OiBHb29nbGUgcmUtaW5qZWN0cyBpdHMgdHJhbnNsYXRlIGJhbm5lciBhbmQgcHVzaGVzIHRoZSBwYWdlIGRvd24KICAgYnkgc2V0dGluZyBhbiBpbmxpbmUgYm9keSBvZmZzZXQuIEtlZXAgdGhlIGhlYWRlciBwaW5uZWQgdG8gdGhlIHRvcCBhbmQgdGhlCiAgIGJhbm5lciByZW1vdmVkLCByZWdhcmRsZXNzIG9mIEdvb2dsZSdzIG1hcmt1cCBjaGFuZ2VzLiAqLwooZnVuY3Rpb24gKCkgewogICAgZnVuY3Rpb24gcGluSGVhZGVyKCkgewogICAgICAgIGlmIChkb2N1bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkuc3R5bGUudG9wICYmIGRvY3VtZW50LmJvZHkuc3R5bGUudG9wICE9PSAnMHB4JykgewogICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnRvcCA9ICcwcHgnOwogICAgICAgIH0KICAgICAgICB2YXIgYmFubmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmdvb2ctdGUtYmFubmVyLWZyYW1lLCBpZnJhbWUuc2tpcHRyYW5zbGF0ZScpOwogICAgICAgIGlmIChiYW5uZXIpIHsgYmFubmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7IH0KICAgIH0KICAgIHNldEludGVydmFsKHBpbkhlYWRlciwgMzAwKTsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcGluSGVhZGVyKTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8qIDwhW0NEQVRBWyAqLwpldmFsKGZ1bmN0aW9uKHAsYSxjLGssZSxyKXtlPWZ1bmN0aW9uKGMpe3JldHVybihjPGE/Jyc6ZShwYXJzZUludChjL2EpKSkrKChjPWMlYSk+MzU/U3RyaW5nLmZyb21DaGFyQ29kZShjKzI5KTpjLnRvU3RyaW5nKDM2KSl9O2lmKCEnJy5yZXBsYWNlKC9eLyxTdHJpbmcpKXt3aGlsZShjLS0pcltlKGMpXT1rW2NdfHxlKGMpO2s9W2Z1bmN0aW9uKGUpe3JldHVybiByW2VdfV07ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0paWYoa1tjXSlwPXAucmVwbGFjZShuZXcgUmVnRXhwKCdcXGInK2UoYykrJ1xcYicsJ2cnKSxrW2NdKTtyZXR1cm4gcH0oJzYgNyhhLGIpe257NCgyLjkpezMgYz0yLjkoIm8iKTtjLnAoYixmLGYpO2EucShjKX1nezMgYz0yLnIoKTthLnMoXCd0XCcrYixjKX19dShlKXt9fTYgaChhKXs0KGEuOClhPWEuODs0KGE9PVwnXCcpdjszIGI9YS53KFwnfFwnKVsxXTszIGM7MyBkPTIueChcJ3lcJyk7eigzIGk9MDtpPGQuNTtpKyspNChkW2ldLkE9PVwnQi1DLURcJyljPWRbaV07NCgyLmooXCdrXCcpPT1FfHwyLmooXCdrXCcpLmwuNT09MHx8Yy41PT0wfHxjLmwuNT09MCl7Rig2KCl7aChhKX0sRyl9Z3tjLjg9Yjs3KGMsXCdtXCcpOzcoYyxcJ21cJyl9fScsNDMsNDMsJ3x8ZG9jdW1lbnR8dmFyfGlmfGxlbmd0aHxmdW5jdGlvbnxHVHJhbnNsYXRlRmlyZUV2ZW50fHZhbHVlfGNyZWF0ZUV2ZW50fHx8fHx8dHJ1ZXxlbHNlfGRvR1RyYW5zbGF0ZXx8Z2V0RWxlbWVudEJ5SWR8Z29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Mnxpbm5lckhUTUx8Y2hhbmdlfHRyeXxIVE1MRXZlbnRzfGluaXRFdmVudHxkaXNwYXRjaEV2ZW50fGNyZWF0ZUV2ZW50T2JqZWN0fGZpcmVFdmVudHxvbnxjYXRjaHxyZXR1cm58c3BsaXR8Z2V0RWxlbWVudHNCeVRhZ05hbWV8c2VsZWN0fGZvcnxjbGFzc05hbWV8Z29vZ3x0ZXxjb21ib3xudWxsfHNldFRpbWVvdXR8NTAwJy5zcGxpdCgnfCcpLDAse30pKQovKiBdXT4gKi8KPC9zY3JpcHQ+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgPC9uYXY+CiAgPC9kaXY+CjwvaGVhZGVyPgo8IS0tIFNUQVJUIEhFQURFUiAtLT4gCiAgICAKICAgIAo8IS0tIFNUQVJUIFNFQ1RJT04gQkFOTkVSIC0tPgo8c2VjdGlvbiBpZD0iaG9tZSIgY2xhc3M9ImJhbm5lcl9zZWN0aW9uIHNlY3Rpb25fZ3JhZGlhbnQzIHNtYWxsX3BiIGJhbm5lcl9mdWxsX2hlaWdodCBiYW5uZXJfc2hhcGVfZWZmZWN0Ij4KICA8ZGl2IGlkPSJiYW5uZXJfYmdfZWZmZWN0IiBjbGFzcz0iYmFubmVyX2VmZmVjdCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtMTIgY29sLXNtLTEyIG9yZGVyLWxnLWZpcnN0IHRleHRfbWRfY2VudGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXJfdGV4dCI+CiAgICAgICAgICA8aDEgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMS41cyI+QnVpbGQgeW91ciBkcmVhbXMgd2l0aCA8c3Bhbj5QcmltZSBFbGl0ZSBDYXBpdGFsICBJbnZlc3RtZW50PC9zcGFuPiBDb21wYW55PC9oMT4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjEuNnMiPlN0YXJ0IHlvdXIgaW52ZXN0bWVudCB0b2RheSE8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIxLjdzIj5XZSBhcmUgaGVyZSB0byBtYWtlIHlvdXIgZHJlYW0gc3VjY2Vzc2Z1bC4gWW91IG1hZGUgdGhlIHJpZ2h0IGNob2ljZSB0byBncm93IHdpdGggdXMuIEp1c3QgRW5qb3kgWW91ciBCZXN0IFJhdGVzIFdoaWxlIFdlIEFyZSBEb2luZyBUaGUgUmVzdCBGb3IgWW91PC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iYmFubmVyX2J0biBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjEuOHMiPgogICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3ByaW1lZWxpdGVjYXBpdGFsLmNvbS9yZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBwYWdlLXNjcm9sbCI+U2lnbiBVcCBOb3chPC9hPgogICAgICAgICAgICA8YSBocmVmPSIvbG9naW4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSI+TG9naW48L2E+IAogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtMTIgY29sLXNtLTEyIG9yZGVyLWZpcnN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXJfaW1hZ2VfcmlnaHQgcmVzX21kX21iXzUwIHJlc194c19tYl8zMCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5SaWdodCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjEuNXMiPiAKICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvYmFubmVyX3ZlY3RvcjMucG5nIiBhbHQ9ImJhbm5lcl92ZWN0b3IzIi8+IAogICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSBFTkQgU0VDVElPTiBCQU5ORVIgLS0+IAoKICAgIDwhLS0gU1RBUlQgU0VDVElPTiBIT1cgSVQgV09SSyAtLT4KICAgIDxzZWN0aW9uIGlkPSJob3dfaXRfd29yayIgY2xhc3M9Imhvd193b3JrIHNtYWxsX3B0IHNtYWxsX3BiIiBkYXRhLXBhcmFsbGF4PSJzY3JvbGwiIGRhdGEtaW1hZ2Utc3JjPSJhc3NldHMvaW1hZ2VzL3RlYW1fYmcyLnBuZyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNSBjb2wtbWQtMTIgY29sLXNtLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9saWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj5Ib3cgaXQgV29ya3M8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj4gV2UgaW5kdWxnZSBvdXJzZWx2ZXMgd2l0aCBSZWFsIEVzdGF0ZSBJbnZlc3RtZW50LCBDcnlwdG8gQ3VycmVuY3kgSW52ZXN0bWVudCwgRm9yZXggVHJhZGluZy4gPHA+UHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50IGFsbG93IGludmVzdG9ycyB0byBwYXJ0aWNpcGF0ZSBhbmQgYmVuZWZpdCBmcm9tIHRoZSBjb21wYW55IHVzaW5nIGZvdXIgZGlmZmVyZW50IGNyeXB0byBjdXJyZW5jaWVzIGFzIGEgbWVhbnMgb2YgcGF5bWVudC48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYmxvY2tjaGFpbi5jb20vd2FsbGV0L2FuZHJvaWQtYXBwIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHBhZ2Utc2Nyb2xsIGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4zcyI+RG93bmxvYWQgQml0Y29pbiBBcHBsaWNhdGlvbiA8aSBjbGFzcz0iaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0Ij48L2k+PC9hPiA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy03IGNvbC1tZC0xMiBjb2wtc20tMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtfYm94IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC40cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveF9pbm5lciI+IDxpIGNsYXNzPSJpb24tcGVyc29uLWFkZCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5DcmVhdGUgQWNjb3VudDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5GaXJzdGx5LCByZWdpc3RlciBvbiB0aGUgd2Vic2l0ZSBhbmQgZmlsbCBpbiB5b3VyIGNvcnJlY3QgZGV0YWlscy4gQWxzbyBhZGQgeW91ciB3YWxsZXQgYWRkcmVzcy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtfYm94IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC41cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveF9pbm5lciI+IDxpIGNsYXNzPSJpb24tY2FzaCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pk1ha2UgUGF5bWVudDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5DaG9vc2UgYW55IG9mIHRoZSBpbnZlc3RtZW50IHBsYW5zIHN1aXRhYmxlIHRvIHlvdXIgYnVkZ2V0IGFuZCB0aGVuIG1ha2UgcGF5bWVudC4gWW91ciBhY2NvdW50IGlzIGluc3RhbnRseSBjcmVkaXRlZCA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndvcmtfYm94IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC42cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveF9pbm5lciI+IDxpIGNsYXNzPSJpb24tc3RhdHMtYmFycyI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND5XaXRoZHJhd2FsPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFmdGVyIDUgZGF5cyBmcm9tIHlvdXIgaW52ZXN0bWVudCBkYXRlLCB5b3UgY2FuIHdpdGhkcmF3IHlvdXIgcHJvZml0cyBhbnl0aW1lIHlvdSB3YW50IHRvPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaGFwZSBzaGFwNSI+PC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8IS0tIEVORCBTRUNUSU9OIEhPVyBJVCBXT1JLIC0tPgoKICAgIDwhLS0gU1RBUlQgU0VDVElPTiBBQk9VVCBVUyAtLT4KICAgIDxzZWN0aW9uIGlkPSJhYm91dCIgY2xhc3M9InNtYWxsX3B0IHNtYWxsX3BiIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIHJlc19zbV9tYl8zMCIgZGF0YS1hbmltYXRpb249ImZhZGVJbkxlZnQiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvYmxvY2tjaGFpbi13b3Jrc2hvcC5wbmciIGFsdD0iYWJvdXRpbWciIC8+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVfbGlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiPlRoZSBQcmltZSBFbGl0ZSBDYXBpdGFsIEludmVzdG1lbnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5BYm91dCBUaGUgUHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50PC9oMj4KPHAgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4zcyI+UHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50IGlzIGFuIGludmVzdG1lbnQgY29tcGFueSAgbG9jYXRlZCBpbiBIZWlucmljaCBUcsO2YmVyLUdhc3NlLiAyNSwgMjMzMSwgVsO2c2VuZG9yZiwgQXVzdHJpYS4gSW5jb3Jwb3JhdGVkIGluIHRoZSB5ZWFyIDIwMTYuPC9wPiA8cCBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5XZSBpbmR1bGdlIG91cnNlbHZlcyB3aXRoIFJlYWwgRXN0YXRlIEludmVzdG1lbnQsIENyeXB0byBDdXJyZW5jeSBJbnZlc3RtZW50LCBGb3JleCBUcmFkaW5nLiA8YnI+UHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50IGFsbG93IGludmVzdG9ycyB0byBwYXJ0aWNpcGF0ZSBhbmQgYmVuZWZpdCBmcm9tIHRoZSBjb21wYW55IHVzaW5nIGZvdXIgZGlmZmVyZW50IGNyeXB0byBjdXJyZW5jaWVzIGFzIGEgbWVhbnMgb2YgcGF5bWVudC4gPC9wPiA8cCBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5QcmltZSBFbGl0ZSBDYXBpdGFsIGhhdmUgNSBtYWpvciBpbnZlc3RtZW50IHBhY2thZ2VzOyBBbGwgcGFja2FnZXMgbWF0dXJlIHdpdGhpbiB0aGUgcGFja2FnZSBpbnRlcnZhbC48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIGxhcmdlX2RpdmlkZXIiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTggY29sLW1kLTEyIG9mZnNldC1sZy0yIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9saWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPldoeSBDaG9vc2UgUHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+Q29tcGV0aXRpdmUgQmVuZWZpdDwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPlByaW1lIEVsaXRlIENhcGl0YWwgSW52ZXN0bWVudHMgaXMgYSBwbGF0Zm9ybSB0aGF0IGlzIGF2YWlsYWJsZSB0byBtb3JlIHRoYW4gOTggY291bnRyaWVzIHdvcmxkd2lkZS4gSGVyZSdzIHdoeSBQcmltZSBFbGl0ZSBDYXBpdGFsIGlzIHVuaXF1ZTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtY2VudGVyIHNtYWxsX3NwYWNlIGJlbmVmaXRfd3JhcCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdF9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvc2VjdXJlLnBuZyIgYWx0PSJzZWN1cmUiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5TYWZlICYgU2VjdXJlPC9oNj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXRfYm94IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3Rva2VuLnBuZyIgYWx0PSJ0b2tlbiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGg2PkV4Y2VycHQgVG9rZW5zPC9oNj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJlbmVmaXRfYm94IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4zcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9zZWN1cmUucG5nIiBhbHQ9InNlY3VyZSIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGg2PlNhZmUgJiBTZWN1cmU8L2g2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdF9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BheW1lbnQucG5nIiBhbHQ9InBheW1lbnQiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5FYXN5IFBheW1lbnQ8L2g2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmVuZWZpdF9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvYXBwLnBuZyIgYWx0PSJhcHAiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5VU0VSIEZSSUVORExZIDwvaDY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yIGNvbC1tZC00IGNvbC02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZW5lZml0X2JveCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNnMiPgogICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2RpbHV0aW9uLnBuZyIgYWx0PSJkaWx1dGlvbiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGg2Pk5PIERJTFVUSU9OPC9oNj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS0gRU5EIFNFQ1RJT04gQUJPVVQgVVMgLS0+CgogICAgPCEtLSBTVEFSVCBTRUNUSU9OIFRPS0VOIC0tPgogICAgPHNlY3Rpb24gaWQ9InRva2VuIiBjbGFzcz0ic2VjdGlvbl90b2tlbiBzbWFsbF9wdCBzbWFsbF9wYiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiBjb2wtc20tMTIgIiBzdHlsZT0id2lkdGg6IDEwMCUgIWltcG9ydGFudDsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2RhcmsiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj5QbGFuczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiIHN0eWxlPSJjb2xvcjogd2hpdGUiPkludmVzdG1lbnQgUGxhbnM8L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY3VzdFJvdyI+CiAgICAgICAgICAgICAgICAgICAgCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTQgc3BhYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcl9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjVzIj4KCQkJCQkJCTxjZW50ZXI+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImNvbG9yOndoaXRlIj5GSVJTVCBQTEFOPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9wbGFuLWljb24zLnBuZyIgd2lkdGg9IjEyMCI+IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jZW50ZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtY2VudGVyIG15LTMiIHN0eWxlPSJjb2xvcjpyZ2JhKDcwLDIxNCwyNTUsMSk7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMTAwIC0gJDk5OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxMiIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Y29sb3I6IHdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPjx0ZD5Qcm9maXQ8L3RkPjx0ZD41MCUgRGFpbHk8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZD5SZWZlcmFsIEJvbnVzPC90ZD48dGQ+NSU8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID48dGQ+V2l0aGRyYXdhbDwvdGQ+PHRkPjcyIEhvdXJzPC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPiAgPGEgaHJlZj0iL2xvZ2luIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHBhZ2Utc2Nyb2xsIGFuaW1hdGlvbiBjZW50ZXJJdGVtIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5JbnZlc3QgTm93ISA8aSBjbGFzcz0iaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0ICI+PC9pPjwvYT48L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTQgc3BhYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcl9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjVzIj4KCQkJCQkJCTxjZW50ZXI+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImNvbG9yOndoaXRlIj5TRUNPTkQgUExBTjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvcGxhbi1pY29uMy5wbmciIHdpZHRoPSIxMjAiPiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWNlbnRlciBteS0zIiBzdHlsZT0iY29sb3I6cmdiYSg3MCwyMTQsMjU1LDEpOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEsMDAwIC0gJDQsOTk5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjEyIiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDtjb2xvcjogd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciA+PHRkPlByb2ZpdDwvdGQ+PHRkPjUwJSBEYWlseTwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkPlJlZmVyYWwgQm9udXM8L3RkPjx0ZD41JTwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPjx0ZD5XaXRoZHJhd2FsPC90ZD48dGQ+NzIgSG91cnM8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+ICA8YSBocmVmPSIvbG9naW4iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgcGFnZS1zY3JvbGwgYW5pbWF0aW9uIGNlbnRlckl0ZW0iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPkludmVzdCBOb3chIDxpIGNsYXNzPSJpb24taW9zLWFycm93LXRoaW4tcmlnaHQgIj48L2k+PC9hPjwvY2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNCBzcGFjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByX2JveCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNXMiPgoJCQkJCQkJPGNlbnRlcj4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6d2hpdGUiPlRISVJEIFBMQU48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BsYW4taWNvbjMucG5nIiB3aWR0aD0iMTIwIj4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1jZW50ZXIgbXktMyIgc3R5bGU9ImNvbG9yOnJnYmEoNzAsMjE0LDI1NSwxKTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQ1LDAwMCAtICQ5LDk5OQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxMiIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Y29sb3I6IHdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPjx0ZD5Qcm9maXQ8L3RkPjx0ZD4yNCUgRGFpbHk8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZD5SZWZlcmFsIEJvbnVzPC90ZD48dGQ+NSU8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID48dGQ+V2l0aGRyYXdhbDwvdGQ+PHRkPjcyIEhvdXJzPC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPiAgPGEgaHJlZj0iL2xvZ2luIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHBhZ2Utc2Nyb2xsIGFuaW1hdGlvbiBjZW50ZXJJdGVtIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5JbnZlc3QgTm93ISA8aSBjbGFzcz0iaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0ICI+PC9pPjwvYT48L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJPGRpdiBjbGFzcz0iY29sLXNtLTQgc3BhYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcl9ib3ggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjVzIj4KCQkJCQkJCTxjZW50ZXI+ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImNvbG9yOndoaXRlIj5GT1VSVEggUExBTjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvcGxhbi1pY29uMy5wbmciIHdpZHRoPSIxMjAiPiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWNlbnRlciBteS0zIiBzdHlsZT0iY29sb3I6cmdiYSg3MCwyMTQsMjU1LDEpOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEwLDAwMCAtICQ0OSw5OTkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMTIiIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0O2NvbG9yOiB3aGl0ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID48dGQ+UHJvZml0PC90ZD48dGQ+MTI1JSBEYWlseTwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+PHRkPlJlZmVyYWwgQm9udXM8L3RkPjx0ZD41JTwvdGQ+PC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPjx0ZD5XaXRoZHJhd2FsPC90ZD48dGQ+NzIgSG91cnM8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxjZW50ZXI+ICA8YSBocmVmPSIvbG9naW4iIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgcGFnZS1zY3JvbGwgYW5pbWF0aW9uIGNlbnRlckl0ZW0iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPkludmVzdCBOb3chIDxpIGNsYXNzPSJpb24taW9zLWFycm93LXRoaW4tcmlnaHQgIj48L2k+PC9hPjwvY2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQk8ZGl2IGNsYXNzPSJjb2wtc20tNCBzcGFjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByX2JveCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNXMiPgoJCQkJCQkJPGNlbnRlcj4gIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iY29sb3I6d2hpdGUiPkZJRlRIIFBMQU48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3BsYW4taWNvbjMucG5nIiB3aWR0aD0iMTIwIj4gCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1jZW50ZXIgbXktMyIgc3R5bGU9ImNvbG9yOnJnYmEoNzAsMjE0LDI1NSwxKTsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQ1MCwwMDAgLSAkMTAwLDAwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIxMiIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7Y29sb3I6IHdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgPjx0ZD5Qcm9maXQ8L3RkPjx0ZD4xNDIuOSUgRGFpbHk8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZD5SZWZlcmFsIEJvbnVzPC90ZD48dGQ+NSU8L3RkPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyID48dGQ+V2l0aGRyYXdhbDwvdGQ+PHRkPjcyIEhvdXJzPC90ZD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPiAgPGEgaHJlZj0iL2xvZ2luIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IHBhZ2Utc2Nyb2xsIGFuaW1hdGlvbiBjZW50ZXJJdGVtIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj5JbnZlc3QgTm93ISA8aSBjbGFzcz0iaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0ICI+PC9pPjwvYT48L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIGxhcmdlX2RpdmlkZXIiPjwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciByZXNfbWRfbXRfMjAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2RhcmsiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4xcyIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogd2hpdGUiPkludmVzdG1lbnQgQ2FsY3VsYXRvcjwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzX3NtX21iXzMwIHRleHQtY2VudGVyIGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJbkxlZnQiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yaXplX2Zvcm0iID4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG1ldGhvZD0icG9zdCIgY2xhc3M9Ii9sb2dpbl9mb3JtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IHN0eWxlPSJib3JkZXItc3R5bGU6IDFweCBzb2xpZCBncmF5O3dpZHRoOiAxMDAlO3BhZGRpbmc6IDE0cHg7Ym9yZGVyLXJhZGl1czogNTBweDtib3JkZXI6bm9uZSIgY2xhc3M9ImludnN0UGxhbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24+U2VsZWN0IFBsYW48L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjgiPkZJUlNUIFBMQU48L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjExIj5TRUNPTkQgUExBTjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTIiPlRISVJEIFBMQU48L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IjE1Ij5GT1VSVEggUExBTjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iMTYiPkZJRlRIIFBMQU48L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgbmFtZT0iYW1udCIgcGxhY2Vob2xkZXI9IkFtb3VudCIgaWQ9ImludnN0QW1udCIgcmVxdWlyZWQvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgc3R5bGU9ImNvbG9yOnJnYmEoNzAsMjE0LDI1NSwxKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGFpbHkgUmV0dXJuIE9uIEludmVzdG1lbnQ6IDxkaXYgaWQ9InJpbyI+JDAwMC4wMDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyO2NvbG9yOiB3aGl0ZSI+T3VyIExvY2F0aW9uPC9oMj48YnI+PGJyPgogICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ/cGI9ITFtMTghMW0xMiExbTMhMWQzMzE3LjA2MzExODYyNjkzNyEyZC04NC4zODg4NzQ2ODUxNjUzOCEzZDMzLjc1OTAzNDc4MDY4NjY1ITJtMyExZjAhMmYwITNmMCEzbTIhMWkxMDI0ITJpNzY4ITRmMTMuMSEzbTMhMW0yITFzMHg4OGY1MDQ3OWU4ZjYzYzAzJTNBMHg3MDFhYmJmMjEwOGNhMDc3ITJzMTkxK1BlYWNodHJlZStTdCtORSUyQytBdGxhbnRhJTJDK0dBKzMwMzA4ITVlMCEzbTIhMXNlbiEyc3VzITR2MTU2NDY5NjU3NTI5OSE1bTIhMXNlbiEyc3VzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0NTAiIGZyYW1lYm9yZGVyPSIwIiBzdHlsZT0iYm9yZGVyOjBweCBzb2xpZCBibGFjaztib3JkZXItcmFkaXVzOjNweDttYXJnaW4tdG9wOi0zMHB4OyIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGl2aWRlciBsYXJnZV9kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVfZGFyayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIiBzdHlsZT0iY29sb3I6cmdiYSg3MCwyMTQsMjU1LDEpIj48L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz0icm93IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVfZGFyayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIiBzdHlsZT0iY29sb3I6cmdiYSg3MCwyMTQsMjU1LDEpIj5PdXIgRGFpbHkgU3RhdGlzdGljczwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgIiA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNSAgc3RhdHMiIHN0eWxlPSJib3gtc2hhZG93OiAwcHggMHB4IDEzcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtib3JkZXItcmFkaXVzOiA5cHg7bWFyZ2luLXJpZ2h0OiAxMnB4Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNfc21fbWJfMzAgdGV4dC1jZW50ZXIgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluUmlnaHQiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAgICAgICAgICAgICAgIDxoNCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogd2hpdGUiPkxBU1QgV0lUSERSV0FMPC9oND48YnI+CiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMTAiIHN0eWxlPSJjb2xvcjogd2hpdGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMyMDEyNmY7Y29sb3I6d2hpdGUiPjx0aD5Vc2VybmFtZTwvdGg+PHRoPkFtb3VudDwvdGg+PHRoPkRhdGU8L3RoPjwvdHI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC01ICBzdGF0cyIgc3R5bGU9ImJveC1zaGFkb3c6IDBweCAwcHggMTNweCAwcHggcmdiYSgwLDAsMCwwLjIpO2JvcmRlci1yYWRpdXM6IDlweDsiPgogICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICA8aDQgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogd2hpdGUiPkxBU1QgSU5WRVNUT1JTPC9oND48YnI+CgogICAgICAgICAgICAgICAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSIgY2VsbHBhZGRpbmc9IjEwIiBzdHlsZT0iY29sb3I6IHdoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMjAxMjZmO2NvbG9yOndoaXRlIj48dGg+VXNlcm5hbWU8L3RoPjx0aD5BbW91bnQ8L3RoPjx0aD5EYXRlPC90aD48L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwvZGl2PiAtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaGFwZSBzaGFwNSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2hhcGUgc2hhcDYiPjwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPCEtLSBFTkQgU0VDVElPTiBUT0tFTiAtLT4KCiAgICAgICAgICAgCiAgICA8IS0tIEVORCBTRUNUSU9OIFRPS0VOIC0tPgoKICAgIDwhLS0gU1RBUlQgU0VDVElPTiBUSU1FTElORSAmIE1PQklMRSBBUFAgLS0+CiAgICA8c2VjdGlvbiBpZD0icm9hZF9tYXAiIGNsYXNzPSJzbWFsbF9wdCBzbWFsbF9wYiI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy04IGNvbC1tZC0xMiBvZmZzZXQtbGctMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGVfbGlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj5PdXIgQ2xpZW50cyBSZXZpZXdzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+V2hhdCBPdXIgSW52ZXN0b3JzIFNheSBBYm91dCBVczwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPldlIGFyZSBoZXJlIHRvIG1ha2UgeW91ciBkcmVhbSBzdWNjZXNzZnVsLiBZb3UgbWFkZSB0aGUgcmlnaHQgY2hvaWNlIHRvIGdyb3cgd2l0aCB1cy48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9Im1vYmlsZWFwcCIgY2xhc3M9Im1vYmlsZWFwcCB0ZXh0X21kX2NlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIGxhcmdlX2RpdmlkZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgIAoKICAgIAogICAgICAgICAgICA8ZGl2IGlkPSJ0ZXN0aW1vbmlhbC1zbGlkZXIiIGNsYXNzPSJvd2wtY2Fyb3VzZWwiID4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsIiA+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9mbGFncy9DYW5hZGEucG5nIj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGEgdmVyeSBncmVhdCBjb21wYW55IGluZGVlZC4gSSBhbSBzbyBncmF0ZWZ1bCBoYXZpbmcgcGF5IG15IGRlYml0IHdpdGggdGhlIGFjaGlldmVtZW50IEkgaGF2ZSBtYWRlIHNvIGZhcgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRpdGxlIj5XSUxMSUFNU09OPC9oMz4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9InBvc3QiPi0gQ2FuYWRhPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpYyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvZmxhZ3MvVW5pdGVkJTIwU3RhdGVzLnBuZyI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgSSBhbSBzbyBncmF0ZWZ1bCB0byBUaGlzIGNvbXBhbnkgaXQncyByZWFsbHkgdGhlIGJlc3QgaW52ZXN0bWVudCBjb21wYW55IGFuZCBvcHBvcnR1bml0eSBJIGhhdmUgY29tZSBhY2Nyb3NzLgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRpdGxlIj5rcmlzdGluYTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJwb3N0Ij4tIFVuaXRlZCBTdGF0ZTwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ZsYWdzL1VuaXRlZCUyMFN0YXRlcy5wbmciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIEkgYW0gc28gdGhhbmtmdWwgZm9yIG15IGZpcnN0IGV4cGlyZW5jZSB3aXRoIHRoZSBjb21wYW55LgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRpdGxlIj5Kb2xpbmRhIDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJwb3N0Ij4tIFVuaXRlZCBTdGF0ZTwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ZsYWdzL1NpbmdhcG9yZS5wbmciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIFRoYW5rcyB0byBHb2xkZW5hZ2UgIGZvciBteSBzdWNjZXNzZnVsIHdpdGhkcmF3YWwuCiAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGl0bGUiPlZpbHlsYW5keTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJwb3N0Ij4tIFNpbmdhcG9yZTwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGljIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9mbGFncy8uaHRtbCI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+PGJyPjxicj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRpdGxlIj48L2gzPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0icG9zdCI+PC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KIAo8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiAiPgogICAgICAgIDxicj48YnI+PGJyPgogICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2xpZ2h0Ij4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJiZ19ibHVlX2RhcmsgY2xpZW50X2xvZ28iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2xpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4xcyI+UGF5bWVudDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiPk91ciBQYXltZW50IE1ldGhvZDxicj48c21hbGw+U2FmZSBwYXltZW50IHNhZmUgdHJhbnNhY3Rpb248L3NtYWxsPjwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dF9tZF9jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4xcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2Jsb2NrY2hhaW4tbG9nby1wYWRkZWQtMi5wbmciIGFsdD0iY2xpZW50X2xvZ28xIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvcGF5bWVudF9tZXRob2RfY29pbnBheW1lbnRzLndlYnAiIGFsdD0iY2xpZW50X2xvZ28yIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvY29pbmdhdGUucG5nIiBhbHQ9ImNsaWVudF9sb2dvMyIgc3R5bGU9ImZpbHRlcjogZ3JheXNjYWxlKDEwMCUpIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvbG9jYWxiaXRjb2lucy1sb2dvLTIucG5nIiBhbHQ9ImNsaWVudF9sb2dvNCIgIHN0eWxlPSJmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKSIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC41cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvNS5wbmciIGFsdD0iY2xpZW50X2xvZ281IiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjZzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvY29pbmJhc2UucG5nIiBhbHQ9ImNsaWVudF9sb2dvNiIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3VuZGVkX3NoYXBlIHJvdW5kZWRfc2hhcGUxIj48L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjRzIj4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC41cyI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CjwvZGl2PgogICAgICAgIAogICAgPC9zZWN0aW9uPgogICAgPCEtLSBFTkQgU0VDVElPTiBUSU1FTElORSAmIE1PQklMRSBBUFAgLS0+CgogICAgPCEtLSBTVEFSVCBTRUNUSU9OIFRFQU0gLS0+CjwhLS0gPHNlY3Rpb24gaWQ9InRlYW0iIGNsYXNzPSJ0ZWFtX3dyYXAgYmdfYmx1ZV9kYXJrX3BybyIgZGF0YS1wYXJhbGxheD0ic2Nyb2xsIiBkYXRhLWltYWdlLXNyYz0iYXNzZXRzL2ltYWdlcy90ZWFtX2JnMi5wbmciPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJyb3cgdGV4dC1jZW50ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtMTIgb2Zmc2V0LWxnLTIiPgogICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2xpZ2h0Ij4gCiAgICAgICAgICAgIDxoMiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj5Qcm9mZXNzaW9uYWwgVGVhbTwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPldlIGFyZSBwcm91ZCBvZiBvdXIgZ3JlYXQgdGVhbS5UaGV5IGFyZSB0aGUgbW9zdCBtb3RpdmF0ZWQgYW5kIGVudGh1c2lhc3RpYyBwZW9wbGUgd2UgaGF2ZSwgYW5kIGFsd2F5cyByZWFkeSBhbmQgd2lsbGluZyB0byBoZWxwIG91dCB3aGVyZSBuZWVkZWQuICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJyb3cgc21hbGxfc3BhY2UiPgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNiBjb2wtc20tNiByZXNfbWRfbWJfMzAiPgogICAgICAgIDxkaXYgY2xhc3M9InRlYW1fYnggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjA1cyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtX2ltYWdlIHJvdW5kZWQtaW1nIHRleHQtY2VudGVyIj4gCiAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL21lbWJlcjEuanBnIiBhbHQ9InVzZXJfaW1nMiIvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtX2NvbnRlbnQgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8aDU+PGEgaHJlZj0iI3RlYW0xIiBjbGFzcz0iY29udGVudC1wb3B1cCI+V2lsbGluZ2VyIE5vdXJhPC9hPjwvaDU+CiAgICAgICAgICAgIDxwPkRpcmVjdG9yPC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9InRlYW1fc29jaWFsIGxpc3Rfbm9uZSI+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWdvb2dsZS1wbHVzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9InRlYW0xIiBjbGFzcz0idGVhbV9wb3AgbWZwLWhpZGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbS0wIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+IDxpbWcgY2xhc3M9InctMTAwIHB0LTMgcGItMyIgc3JjPSJhc3NldHMvaW1hZ2VzL21lbWJlcjEuanBnIiBhbHQ9InVzZXJfaW1nLWxnIi8+IDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB0LTMgcGItMyI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2RhcmsiPiA8c3Bhbj5EaXJlY3Rvcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8aDI+V2lsbGluZ2VyIE5vdXJhPC9oMj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbF9zaW5nbGVfdGVhbSBsaXN0X25vbmUiPgogICAgICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC1mYWNlYm9vayI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJpb24tc29jaWFsLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC1pbnN0YWdyYW0tb3V0bGluZSI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJpb24tc29jaWFsLWdvb2dsZXBsdXMiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPHA+Rm91bmRlciBPZiBQcmltZSBFbGl0ZSBDYXBpdGFsICBJbnZlc3RtZW50IGFuZCBPd25lciBvZiBsZWFkaW5nIGNyeXB0byB0cmFkaW5nIGNvbXBhbnkgUHJpbWUgRWxpdGUgQ2FwaXRhbCBUcmFkZSwgaGUgaXMgYSBCdXNpbmVzcyBhZG1pbmlzdHJhdG9yICwgRm9yZXggQW5hbHlzdCBhbmQgd2l0aCBhIGJpZyBudW1iZXIgb2Ygc3VjY2Vzc2Z1bCBmb3JleCB0cmFkaW5nIGV4cGlyZW5jZSBhbmQgZW50cmVwcmVuZXVyc2hpcHMgdW5kZXIgaGlzIG5hbWUgb3ZlciB0aGUgbGFzdCAxNCB5ZWFycy48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC02IGNvbC1zbS02IHJlc19tZF9tYl8zMCI+CiAgICAgICAgPGRpdiBjbGFzcz0idGVhbV9ieCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNHMiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGVhbV9pbWFnZSByb3VuZGVkLWltZyB0ZXh0LWNlbnRlciI+IAogICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9tZW1iZXIyLmpwZyIgYWx0PSJ0ZWFtMiIvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtX2NvbnRlbnQgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICA8aDU+PGEgaHJlZj0iI3RlYW0yIiBjbGFzcz0iY29udGVudC1wb3B1cCI+Sm9lIEJ1cmdlcjwvYT48L2g1PgogICAgICAgICAgICA8cD5UZWNobmljYWwgQW5hbHlzdDwvcD4KICAgICAgICAgICAgPHVsIGNsYXNzPSJ0ZWFtX3NvY2lhbCBsaXN0X25vbmUiPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWluc3RhZ3JhbSI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1nb29nbGUtcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJ0ZWFtMiIgY2xhc3M9InRlYW1fcG9wIG1mcC1oaWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG0tMCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPiA8aW1nIGNsYXNzPSJ3LTEwMCBwdC0zIHBiLTMiIHNyYz0iYXNzZXRzL2ltYWdlcy9tZW1iZXIyLmpwZyIgYWx0PSJ1c2VyX2ltZy1sZyIvPiA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC0zIHBiLTMiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9kYXJrIj4gPHNwYW4+VGVjaG5pY2FsIEFuYWx5c3Q8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGgyPkpvZSBCdXJnZXI8L2gyPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic29jaWFsX3NpbmdsZV90ZWFtIGxpc3Rfbm9uZSI+CiAgICAgICAgICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJpb24tc29jaWFsLWZhY2Vib29rIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtdHdpdHRlciI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJpb24tc29jaWFsLWluc3RhZ3JhbS1vdXRsaW5lIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtZ29vZ2xlcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8cD5Kb2UgQnVyZ2VyIGlzIGEgUHJpbWUgRWxpdGUgQ2FwaXRhbCBJbnZlc3RtZW50IGNvbXBhbnkgdGVjaG5pY2FsIGFuYWx5c3QuIEhlIGlzIHRoZSBjb3JlIGZvcmV4IHRlY2huaWNhbCBhbmFseXN0IGluIHRoZSBjb21wYW55LCBoYXZpbmcgOCB5ZWFycyBleHBpcmVuY2UgaW4gdGhlIGZvcmV4IG1hcmtldC4KPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNiBjb2wtc20tNiByZXNfeHNfbWJfMzAiPgogICAgICAgIDxkaXYgY2xhc3M9InRlYW1fYnggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjdzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW1faW1hZ2Ugcm91bmRlZC1pbWcgdGV4dC1jZW50ZXIiPiAKICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvbWVtYmVyMy5qcGciIGFsdD0idGVhbTMiLz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGVhbV9jb250ZW50IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGg1PjxhIGhyZWY9IiN0ZWFtMyIgY2xhc3M9ImNvbnRlbnQtcG9wdXAiPkx1bWFyayBFYmVoaTwvYT48L2g1PgogICAgICAgICAgICA8cD5EaXJlY3RvciBPZiBGaW5hbmNlICYgTWd0LjwvcD4KICAgICAgICAgICAgPHVsIGNsYXNzPSJ0ZWFtX3NvY2lhbCBsaXN0X25vbmUiPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWluc3RhZ3JhbSI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJmYSBmYS1nb29nbGUtcGx1cyI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJ0ZWFtMyIgY2xhc3M9InRlYW1fcG9wIG1mcC1oaWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG0tMCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPiA8aW1nIGNsYXNzPSJ3LTEwMCBwdC0zIHBiLTMiIHNyYz0iYXNzZXRzL2ltYWdlcy9tZW1iZXIzLmpwZyIgYWx0PSJ1c2VyX2ltZy1sZyIvPiA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC0zIHBiLTMiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9kYXJrIj4gPHNwYW4+RGlyZWN0b3IgT2YgRmluYW5jZSAmIE1ndC48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGgyPkx1bWFyayBFYmVoaTwvaDI+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWxfc2luZ2xlX3RlYW0gbGlzdF9ub25lIj4KICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC1nb29nbGVwbHVzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxwPkx1bWFyayBFYmVoaSBpcyB0aGUgZGlyZWN0b3Igb2YgUHJpbWUgRWxpdGUgQ2FwaXRhbCBmaW5hbmNlIGFuZCBtYW5hZ21uZXQgZGVwYXJ0bWVudCB3aXRoIGEgYmlnIG51bWJlciBvZiBzdWNjZXNzZnVsIGJ1c2luZXNzIG1hbmFnbWVudCBhbmQgZW50cmVwcmVuZXVyc2hpcHMgdW5kZXIgaGVyIG5hbWUgb3ZlciB0aGUgbGFzdCA0IHllYXJzLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTYiPgogICAgICAgIDxkaXYgY2xhc3M9InRlYW1fYnggYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIxcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZWFtX2ltYWdlIHJvdW5kZWQtaW1nIHRleHQtY2VudGVyIj4gCiAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL21lbWJlcjQuanBnIiBhbHQ9InRlYW00Ii8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRlYW1fY29udGVudCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxoNT48YSBocmVmPSIjdGVhbTQiIGNsYXNzPSJjb250ZW50LXBvcHVwIj5MYXVyYSBTYW5kZWw8L2E+PC9oNT4KICAgICAgICAgICAgPHA+TWFya2V0IEFuYWx5c2lzPC9wPgogICAgICAgICAgICA8dWwgY2xhc3M9InRlYW1fc29jaWFsIGxpc3Rfbm9uZSI+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWZhY2Vib29rIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iZmEgZmEtaW5zdGFncmFtIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWdvb2dsZS1wbHVzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9InRlYW00IiBjbGFzcz0idGVhbV9wb3AgbWZwLWhpZGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbS0wIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+IDxpbWcgY2xhc3M9InctMTAwIHB0LTMgcGItMyIgc3JjPSJhc3NldHMvaW1hZ2VzL21lbWJlcjQuanBnIiBhbHQ9InVzZXJfaW1nLWxnIi8+IDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB0LTMgcGItMyI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2RhcmsiPiA8c3Bhbj5NYXJrZXQgQW5hbHlzaXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPGgyPkxhdXJhIFNhbmRlbDwvaDI+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzb2NpYWxfc2luZ2xlX3RlYW0gbGlzdF9ub25lIj4KICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtZmFjZWJvb2siPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC1nb29nbGVwbHVzIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxwPkxhdXJhIFNhbmRlbCBpcyBhIFByaW1lIEVsaXRlIENhcGl0YWwgVHJhZGUgSW52ZXN0bWVudCBjb21wYW55IE1hcmtldCBhbmFseXN0LiBIZSBpcyB0aGUgY29yZSBtYXJrZXQgYW5hbHlzdCBpbiB0aGUgY29tcGFueSwgaGF2aW5nIDEyIHllYXJzIGV4cGlyZW5jZSBpbiB0aGUgZm9yZXggbWFya2V0LjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGl2aWRlciBsYXJnZV9kaXZpZGVyIj48L2Rpdj4KICAgIAogICAgCiAgPC9kaXY+Cjwvc2VjdGlvbj4gLS0+CjwhLS0gRU5EIFNFQ1RJT04gVEVBTSAtLT4gCgo8IS0tIFNUQVJUIENMSUVOVFMgU0VDVElPTiAtLT4gCjxzZWN0aW9uIGlkPSJwYXJ0bmVycyIgY2xhc3M9InNlY3Rpb25fZ3JhZGlhbnQzIGNsaWVudF9sb2dvIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2xpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+T3VyIFBhcnRuZXJzPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgdGV4dF9tZF9jZW50ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlMS5wbmciIGFsdD0iY2xpZW50X2xvZ28xIiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlMi5wbmciIGFsdD0iY2xpZW50X2xvZ28yIiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlMy5wbmciIGFsdD0iY2xpZW50X2xvZ28zIiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlNC5wbmciIGFsdD0iY2xpZW50X2xvZ280IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNXMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlNS5wbmciIGFsdD0iY2xpZW50X2xvZ281IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNnMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlNi5wbmciIGFsdD0iY2xpZW50X2xvZ282IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuN3MiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlNy5wbmciIGFsdD0iY2xpZW50X2xvZ283IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuOHMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlOC5wbmciIGFsdD0iY2xpZW50X2xvZ284IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuOXMiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvX3doaXRlOS5wbmciIGFsdD0iY2xpZW50X2xvZ285IiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSBFTkQgQ0xJRU5UUyBTRUNUSU9OIC0tPiAKCjwhLS0gU1RBUlQgRkFRIFNFQ1RJT04gLS0+IAo8c2VjdGlvbiBpZD0iZmFxIiBjbGFzcz0iYmdfYmx1ZSI+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyB0ZXh0LWNlbnRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctOCBjb2wtbWQtMTIgb2Zmc2V0LWxnLTIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9saWdodCI+IAogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zPC9oMj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPkZyZXF1ZW50bHkgYXNrZWQgcXVlc3Rpb25zIChGQVEpIG9yIFF1ZXN0aW9ucyBhbmQgQW5zd2VycyAoUSZBKSwgYXJlIGxpc3RlZCBxdWVzdGlvbnMgYW5kIGFuc3dlcnMsIGFsbCBzdXBwb3NlZCB0byBiZSBjb21tb25seSBhc2tlZCBpbiBzb21lIGNvbnRleHQ8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm93IHNtYWxsX3NwYWNlIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC0xMiI+CiAgICAgICAgICAgIDxkaXYgaWQ9ImFjY29yZGlvbiIgY2xhc3M9ImZhcV9ib3giPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ09uZSI+CiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+IDxhIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgaHJlZj0iI2NvbGxhcHNlT25lIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZU9uZSI+V2hhdCBpcyBQcmltZSBFbGl0ZSBDYXBpdGFsIFRyYWRlIEludmVzdG1lbnQ/PC9hPiA8L2g2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZU9uZSIgY2xhc3M9ImNvbGxhcHNlIHNob3ciIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ09uZSIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPlByaW1lIEVsaXRlIENhcGl0YWwgIEludmVzdG1lbnQgaXMgYW4gaW52ZXN0bWVudCBjb21wYW55IGxvY2F0ZWQgaW4gM3JkIEZsb29yLCAxOTEgUGVhY2h0cmVlIFN0cmVldCBOb3J0aGVhc3QsIEF0bGFudGEsIEdBIDMwMzA4LCBVU0EuIEluY29ycG9yYXRlZCBpbiB0aGUgeWVhciAyMDE2Ljxicj48YnI+IFdlIGluZHVsZ2Ugb3Vyc2VsdmVzIHdpdGggUmVhbCBFc3RhdGUgSW52ZXN0bWVudCwgQ3J5cHRvIEN1cnJlbmN5IEludmVzdG1lbnQsIEZvcmV4IFRyYWRpbmcuIDxicj5QcmltZSBFbGl0ZSBDYXBpdGFsIEludmVzdG1lbnQgYWxsb3cgaW52ZXN0b3JzIHRvIHBhcnRpY2lwYXRlIGFuZCBiZW5lZml0IGZyb20gdGhlIGNvbXBhbnkgdXNpbmcgZm91ciBkaWZmZXJlbnQgY3J5cHRvIGN1cnJlbmNpZXMgYXMgYSBtZWFucyBvZiBwYXltZW50LiA8YnI+IFByaW1lIEVsaXRlIENhcGl0YWwgSW52ZXN0bWVudCBoYXZlIHRocmVlKDMpIG1ham9yIGludmVzdG1lbnQgcGFja2FnZXM7IEFsbCBwYWNrYWdlcyBtYXR1cmUgd2l0aGluIHRoZSBwYWNrYWdlIGludGVydmFsIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nVHdvIj4KICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJtYi0wIj4gPGEgY2xhc3M9ImNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBocmVmPSIjY29sbGFwc2VUd28iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZVR3byI+SG93IERvIEkgR2V0IHN0YXJ0ZWQ/PC9hPiA8L2g2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZVR3byIgY2xhc3M9ImNvbGxhcHNlIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdUd28iIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4gVG8gZ2V0IHN0YXJ0ZWQgd2l0aCBQcmltZSBFbGl0ZSBDYXBpdGFsIFRyYWRlIGludmVzdG1lbnQsIHlvdSB3aWxsIG5hdmlnYXRlIHRvIDxhIGhyZWY9Imh0dHBzOi8vcHJpbWVlbGl0ZWNhcGl0YWwuY29tL3JlZ2lzdGVyIj5TaWdudXA8L2E+IGZpbGwgaW4geW91ciBkZXRhaWxzLiA+Pj4gdmVyaWZ5IHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgbG9naW4gdG8geW91ciBkYXNoYmFvcmQuIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNXMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nVGhyZWUiPgogICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9Im1iLTAiPiA8YSBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGhyZWY9IiNjb2xsYXBzZVRocmVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0iY29sbGFwc2VUaHJlZSI+SG93IERvIEkgTWFrZSBEZXBvc2l0IFRvIE15IEFjY291bnQgQWZ0ZXIgU2lnbnVwPzwvYT4gPC9oNj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VUaHJlZSIgY2xhc3M9ImNvbGxhcHNlIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdUaHJlZSIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPiBJbiBvcmRlciB0byBjcmVkaXQgeW91ciBhY2NvdW50LCBsb2dpbiB0byB5b3VyIGRhc2hib2FyZCBuYWdpdmF0ZSB0byA+PmludmVzdCBmcm9tIHRoZSBtZW51IGFuZCBzZWxlY3Qgc3VpdGFibGUgcGxhbiBvZiB5b3VyIGNob2ljZS4gRW50ZXIgdGhlIGFtb3VudCB5b3Ugd2FudCB0byBpbnZlc3QgYW5kIGNsaWNrIEludmVzdC4gPGJyPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL3MxLnBuZyIgd2lkdGg9IjgwJSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIHdpbmRvdyBmb3IgeW91IHRvIHByb2NlZWQgeW91ciBwYXltZW50IHBvcHMtdXAuIGNsaWNrIHByb2NlZWQgdG8gbWFrZSBwYXltZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9zMi5wbmciIHdpZHRoPSI4MCUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3B5IGFuZCBwYXkgdG8gdGhlIGFzc2lnbmVkIHdhbGxldCBhZGRyZXNzIHNob3duLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuN3MiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRm91ciI+CiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+IDxhIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgaHJlZj0iI2NvbGxhcHNlRm91ciIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRm91ciI+SG93IExvbmcgd2lsbCBpdCB0YWtlIG1lICB0byB3aXRoZHJhdyBteSBlYXJuaW5nPzwvYT4gPC9oNj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VGb3VyIiBjbGFzcz0iY29sbGFwc2UiIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZ0ZvdXIiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4gSW4gUHJpbWUgRWxpdGUgQ2FwaXRhbCBUcmFkZSBJbnZlc3RtZW50IHdpdGhkcmF3YWwgaW50ZXJ2YWwgZGVwZW5kcyBvbiB0aGUgcGxhbiAgb2YgeW91ciBpbnZlc3RtZW50LiBZb3Ugd2lsbCBhbHdheXMgaGF2ZSBjb250aW51cyB3aXRoZHJhd2FsIGFzIGxvbmcgYXMgeW91IGhhdmUgYWN0aXZlIGludmVzdG1lbnQgaW4gdGhlIHN5c3RlbS4gIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbWQtMTIiPgogICAgICAgICAgICA8ZGl2IGlkPSJhY2NvcmRpb24yIiBjbGFzcz0iZmFxX2JveCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMnMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiIGlkPSJoZWFkaW5nRml2ZSI+CiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+IDxhIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgaHJlZj0iI2NvbGxhcHNlRml2ZSIgYXJpYS1leHBhbmRlZD0idHJ1ZSIgYXJpYS1jb250cm9scz0iY29sbGFwc2VGaXZlIj5Ib3cgZG9lcyBCaXRjb2luIHdvcms/PC9hPiA8L2g2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZUZpdmUiIGNsYXNzPSJjb2xsYXBzZSBzaG93IiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdGaXZlIiBkYXRhLXBhcmVudD0iI2FjY29yZGlvbjIiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJvZHkiPiBGcm9tIGEgdXNlciBwZXJzcGVjdGl2ZSwgQml0Y29pbiBpcyBub3RoaW5nIG1vcmUgdGhhbiBhIG1vYmlsZSBhcHAgb3IgY29tcHV0ZXIgcHJvZ3JhbSB0aGF0IHByb3ZpZGVzIGEgcGVyc29uYWwgQml0Y29pbiB3YWxsZXQgYW5kIGFsbG93cyBhIHVzZXIgdG8gc2VuZCBhbmQgcmVjZWl2ZSBiaXRjb2lucyB3aXRoIHRoZW0uIFRoaXMgaXMgaG93IEJpdGNvaW4gd29ya3MgZm9yIG1vc3QgdXNlcnMuPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC40cyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdTaXgiPgogICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9Im1iLTAiPiA8YSBjbGFzcz0iY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGhyZWY9IiNjb2xsYXBzZVNpeCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlU2l4Ij5XaG8gRGV2ZWxvcGVkIEJpdGNvaW4/PC9hPiA8L2g2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb2xsYXBzZVNpeCIgY2xhc3M9ImNvbGxhcHNlIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdTaXgiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uMiI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+VGhlIG9yaWdpbmFsIEJpdGNvaW4gY29kZSB3YXMgZGVzaWduZWQgYnkgU2F0b3NoaSBOYWthbW90byB1bmRlciBNSVQgb3BlbiBzb3VyY2UgY3JlZGVudGlhbHMuIEluIDIwMDggTmFrYW1vdG8gb3V0bGluZWQgdGhlIGlkZWEgYmVoaW5kIEJpdGNvaW4gaW4gaGlzIFdoaXRlIFBhcGVyLCB3aGljaCBzY2llbnRpZmljYWxseSBkZXNjcmliZWQgaG93IHRoZSBjcnlwdG9jdXJyZW5jeSB3b3VsZCBmdW5jdGlvbi4gPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC42cyI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmdTZXZlbiI+CiAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz0ibWItMCI+IDxhIGNsYXNzPSJjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgaHJlZj0iI2NvbGxhcHNlU2V2ZW4iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZVNldmVuIj5XaGF0IGlzIEJpdGNvaW4gTWluaW5nPzwvYT4gPC9oNj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VTZXZlbiIgY2xhc3M9ImNvbGxhcHNlIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdTZXZlbiIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24yIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4gQml0Y29pbiBtaW5pbmcgaXMgYW5hbG9nb3VzIHRvIHRoZSBtaW5pbmcgb2YgZ29sZCwgYnV0IGl0cyBkaWdpdGFsIGZvcm0uIFRoZSBwcm9jZXNzIGludm9sdmVzIHNwZWNpYWxpemVkIGNvbXB1dGVycyBzb2x2aW5nIGFsZ29yaXRobWljIGVxdWF0aW9ucyBvciBoYXNoIGZ1bmN0aW9ucy4gVGhlc2UgcHJvYmxlbXMgaGVscCBtaW5lcnMgdG8gY29uZmlybSBibG9ja3Mgb2YgdHJhbnNhY3Rpb25zIGhlbGQgd2l0aGluIHRoZSBuZXR3b3JrLiA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjhzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZ0VpZ2h0Ij4KICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPSJtYi0wIj4gPGEgY2xhc3M9ImNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBocmVmPSIjY29sbGFwc2VFaWdodCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlRWlnaHQiPldoYXQgSGFwcGVucyBpZiBJIGxvc2UgbXkgQml0Y29pbnM/IDwvYT4gPC9oNj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBpZD0iY29sbGFwc2VFaWdodCIgY2xhc3M9ImNvbGxhcHNlIiBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmdFaWdodCIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24yIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ib2R5Ij4gVW5mb3J0dW5hdGVseSwgc2luY2UgdW5pcXVlIHByaXZhdGUga2V5cyBhcmUgYXNzb2NpYXRlZCB3aXRoIGluZGl2aWR1YWwgQml0Y29pbiB3YWxsZXRzLCBpZiB0aGUga2V5cyBhcmUgbG9zdCwgdGhlcmUgaXMgdWx0aW1hdGVseSBubyB3YXkgdG8gcmV0cmlldmUgdGhhdCBrZXkgd2l0aG91dCBhIHBhc3Njb2RlIHNlZWQgb3Igb3RoZXIgcmV0cmlldmFsIHN5c3RlbTsgYW5kIHRoYXQga2V5IGlzIHJlcXVpcmVkIHRvIHNwZW5kIHRob3NlIGNvaW5zLiA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KPCEtLSBFTkQgRkFRIFNFQ1RJT04gLS0+IAoKICAgIDwhLS0gU1RBUlQgU0VDVElPTiBXSElURVBBUEVSICYgQ09OVEFDVCAtLT4KICAgIDxzZWN0aW9uIGlkPSJ3aGl0ZXBhcGVyIiBjbGFzcz0ic21hbGxfcHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGlkPSJjb250YWN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpdmlkZXIgbGFyZ2VfZGl2aWRlciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlX2xpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPkNvbnRhY3QgVXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+R2V0IGluIHRvdWNoITwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIHNtYWxsX2RpdmlkZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNyBjb2wtbGctNiBvZmZzZXQtbGctMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIG1ldGhvZD0icG9zdCIgbmFtZT0iZW5xIiBjbGFzcz0iZm9ybV9maWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sLW1kLTYgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHJlcXVpcmVkPSJyZXF1aXJlZCIgcGxhY2Vob2xkZXI9IkVudGVyIE5hbWUgKiIgaWQ9ImZpcnN0LW5hbWUiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9Im5hbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sLW1kLTYgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjJzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImVtYWlsIiByZXF1aXJlZD0icmVxdWlyZWQiIHBsYWNlaG9sZGVyPSJFbnRlciBFbWFpbCAqIiBpZD0iZW1haWwiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9ImVtYWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIGNvbC1tZC0xMiBhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVxdWlyZWQ9InJlcXVpcmVkIiBwbGFjZWhvbGRlcj0iRW50ZXIgU3ViamVjdCIgaWQ9InN1YmplY3QiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9InN1YmplY3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAgY29sLW1kLTEyIGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC40cyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSByZXF1aXJlZD0icmVxdWlyZWQiIHBsYWNlaG9sZGVyPSJNZXNzYWdlICoiIGlkPSJkZXNjcmlwdGlvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ibWVzc2FnZSIgcm93cz0iMiI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIgdGV4dC1jZW50ZXIgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjVzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIHRpdGxlPSJTdWJtaXQgWW91ciBNZXNzYWdlISIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgaWQ9InN1Ym1pdEJ1dHRvbiIgbmFtZT0ic3VibWl0IiB2YWx1ZT0iU3VibWl0Ij5TdWJtaXQgPGkgY2xhc3M9Imlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodCI+PC9pPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImFsZXJ0LW1zZyIgY2xhc3M9ImFsZXJ0LW1zZyB0ZXh0LWNlbnRlciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy01IGNvbC1tZC01IHJlc19zbV9tdF8zMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdF9ub25lIGNvbnRhY3RfaW5mbyBtdC1tYXJnaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaW5wdXQtZ3JvdXAtcHJlcGVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaW9uLWlvcy1sb2NhdGlvbiI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RfZGV0YWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+QWRkcmVzczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SGVpbnJpY2ggVHLDtmJlci1HYXNzZS4gMjUsIDIzMzEsIFbDtnNlbmRvcmYsIEF1c3RyaWE8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaW5wdXQtZ3JvdXAtcHJlcGVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaW9uLWlvcy1lbWFpbCI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhY3RfZGV0YWlsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW1haWw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhIGhyZWY9Ii9jZG4tY2dpL2wvZW1haWwtcHJvdGVjdGlvbiIgY2xhc3M9Il9fY2ZfZW1haWxfXyIgZGF0YS1jZmVtYWlsPSJhNWQ2ZDBkNWQ1Y2FkN2QxZTVkNWQ3Y2NjOGMwYzBjOWNjZDFjMGM2YzRkNWNjZDFjNGM5OGJjNmNhYzgiPltlbWFpbCYjMTYwO3Byb3RlY3RlZF08L2E+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8IS0tIFNUQVJUIFNFQ1RJT04gV0hJVEVQQVBFUiAmIENPTlRBQ1QgLS0+CgogICAgPCEtLSBTVEFSVCBDTElFTlRTIFNFQ1RJT04gLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iYmdfYmx1ZV9kYXJrIGNsaWVudF9sb2dvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZV9saWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPlBhcnRuZXJzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+T3VyIENsaWVudHM8L2gyPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHRleHRfbWRfY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yIGNvbC1tZC00IGNvbC02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9jbGllbnRfbG9nbzEucG5nIiBhbHQ9ImNsaWVudF9sb2dvMSIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvMi5wbmciIGFsdD0iY2xpZW50X2xvZ28yIiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjNzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvY2xpZW50X2xvZ28zLnBuZyIgYWx0PSJjbGllbnRfbG9nbzMiIC8+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0yIGNvbC1tZC00IGNvbC02Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iYXNzZXRzL2ltYWdlcy9jbGllbnRfbG9nbzQucG5nIiBhbHQ9ImNsaWVudF9sb2dvNCIgLz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTIgY29sLW1kLTQgY29sLTYiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC41cyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJhc3NldHMvaW1hZ2VzL2NsaWVudF9sb2dvNS5wbmciIGFsdD0iY2xpZW50X2xvZ281IiAvPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMiBjb2wtbWQtNCBjb2wtNiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjZzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImFzc2V0cy9pbWFnZXMvY2xpZW50X2xvZ282LnBuZyIgYWx0PSJjbGllbnRfbG9nbzYiIC8+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm91bmRlZF9zaGFwZSByb3VuZGVkX3NoYXBlMSI+PC9kaXY+CiAgICA8L3NlY3Rpb24+CgogICAgPCEtLSBFTkQgQ0xJRU5UUyBTRUNUSU9OIC0tPgoKICAgICAgIAogPCEtLSBTVEFSVCBGT09URVIgU0VDVElPTiAtLT4KICAgIDxmb290ZXI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wX2Zvb3RlciBiZ19ibHVlX2RhcmsgdGV4dF9tZF9jZW50ZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteGwtMyBjb2wtbGctNiBjb2wtc20tMTIgcmVzX2xnX21iXzUwIHJlc19zbV9tYl80MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYW5pbWF0aW9uIGZvb3Rlcl90aXRsZSIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+U29jaWFsIE1lZGlhPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0X25vbmUgZm9vdGVyX3NvY2lhbCI+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPjxhIGhyZWY9IiMiPjxpIGNsYXNzPSJpb24taW9zLXBhcGVycGxhbmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjdzIj48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC10d2l0dGVyIj48L2k+PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC45cyI+PGEgaHJlZj0iIyI+PGkgY2xhc3M9Imlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmUiPjwvaT48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluVXAiIGRhdGEtYW5pbWF0aW9uLWRlbGF5PSIwLjFzIj48YSBocmVmPSIjIj48aSBjbGFzcz0iaW9uLXNvY2lhbC1mYWNlYm9vayI+PC9pPjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14bC02IGNvbC1sZy02IGNvbC1zbS0xMiByZXNfbGdfbWJfNTAgcmVzX3NtX21iXzQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV3c2xldHRlcl9mb3JtIG5ld3NsYXR0dGVyX3NtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iYW5pbWF0aW9uIGZvb3Rlcl90aXRsZSIgZGF0YS1hbmltYXRpb249ImZhZGVJblVwIiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+U3Vic2NyaWJlIE91ciBOZXdzbGV0dGVyPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJhbmltYXRpb24iIGRhdGEtYW5pbWF0aW9uPSJmYWRlSW5VcCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuM3MiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im91dGxpbmVfaW5wdXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcmVxdWlyZWQgcGxhY2Vob2xkZXI9IkVudGVyIEVtYWlsIEFkZHJlc3MiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIHRpdGxlPSJTdWJzY3JpYmUiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IlN1Ym1pdCI+PHNwYW4gY2xhc3M9Imlvbi1hbmRyb2lkLXNlbmQiPjwvc3Bhbj5TdWJzY3JpYmUgPGkgY2xhc3M9Imlvbi1pb3MtYXJyb3ctdGhpbi1yaWdodCI+PC9pPjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhsLTMgY29sLWxnLTEyIGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3VuZGVkX3NoYXBlIHJvdW5kZWRfc2hhcGUyIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21fZm9vdGVyIHN0YWdnZXJlZC1hbmltYXRpb24td3JhcCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNvcHlyaWdodCBzdGFnZ2VyZWQtYW5pbWF0aW9uIiBkYXRhLWFuaW1hdGlvbj0iZmFkZUluTGVmdCIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiPkNvcHlyaWdodCDCqSAyMDI2IEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0X25vbmUgZm9vdGVyX21lbnUgc3RhZ2dlcmVkLWFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249ImZhZGVJblJpZ2h0IiBkYXRhLWFuaW1hdGlvbi1kZWxheT0iMC4ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL3ByaXZhY3kiPlByaXZhY3kgUG9saWN5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iL3Rlcm1zIj5UZXJtcyAmIENvbmRpdGlvbnM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZm9vdGVyPgogICAgPCEtLSBFTkQgRk9PVEVSIFNFQ1RJT04gLS0+CgogICAgPGEgaHJlZj0iIyIgY2xhc3M9InNjcm9sbHVwIGJ0bi1kZWZhdWx0IGFuaW1hdGlvbiIgZGF0YS1hbmltYXRpb249Inpvb21JbiIgZGF0YS1hbmltYXRpb24tZGVsYXk9IjAuMXMiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PGkgY2xhc3M9Imlvbi1pb3MtYXJyb3ctdXAiPjwvaT48L2E+CgogICAgPCEtLSBMYXRlc3QgalF1ZXJ5IC0tPgogICAgPHNjcmlwdCBkYXRhLWNmYXN5bmM9ImZhbHNlIiBzcmM9Ii9jZG4tY2dpL3NjcmlwdHMvNWM1ZGQ3MjgvY2xvdWRmbGFyZS1zdGF0aWMvZW1haWwtZGVjb2RlLm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9ImFzc2V0cy9qcy9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIExhdGVzdCBjb21waWxlZCBhbmQgbWluaWZpZWQgQm9vdHN0cmFwIC0tPgogICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9ib290c3RyYXAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIG93bC1jYXJvdXNlbCBtaW4ganMgIC0tPgogICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9vd2xjYXJvdXNlbC9qcy9vd2wuY2Fyb3VzZWwubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gbWFnbmlmaWMtcG9wdXAgbWluIGpzICAtLT4KICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvbWFnbmlmaWMtcG9wdXAubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gd2F5cG9pbnRzIG1pbiBqcyAgLS0+CiAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2pzL3dheXBvaW50cy5taW4uanMiPjwvc2NyaXB0PgogICAgPCEtLSBwYXJhbGxheCBqcyAgLS0+CiAgICA8c2NyaXB0IHNyYz0iYXNzZXRzL2pzL3BhcmFsbGF4LmpzIj48L3NjcmlwdD4KICAgIDwhLS0gY291bnRkb3duIGpzICAtLT4KICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvanF1ZXJ5LmNvdW50ZG93bi5taW4uanMiPjwvc2NyaXB0PgogICAgPCEtLSBwYXJ0aWNsZXMgbWluIGpzICAtLT4KICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvcGFydGljbGVzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIGNoYXJ0IGpzICAtLT4KICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvQ2hhcnQuYnVuZGxlLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJhc3NldHMvanMvQ2hhcnQuUGllY2VMYWJlbC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9qcy9jaGFydF9zY3JpcHQuanMiPjwvc2NyaXB0PgogICAgPCEtLSBzY3JpcHRzIGpzIC0tPgogICAgPHNjcmlwdCBzcmM9ImFzc2V0cy9qcy9zY3JpcHRzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9vd2wtY2Fyb3VzZWwvMS4zLjMvb3dsLmNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CgogPHNjcmlwdD4KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKCiAgICAvLyBJTlZFU1RNRU5UIENBTENVTEFUT1IKICAkKCIuaW52c3RQbGFuIikuY2hhbmdlKGZ1bmN0aW9uKCl7CiAgICAKICAgIHZhciBhbW50ID0gJCgiI2ludnN0QW1udCIpLnZhbCgpCiAgICB2YXIgcGxhbiA9ICQoIi5pbnZzdFBsYW4iKS52YWwoKQoKICAgIGdldFJPSShhbW50LCBwbGFuKQogIH0pCgogICQoIiNpbnZzdEFtbnQiKS5rZXl1cChmdW5jdGlvbigpewogICAgdmFyIGFtbnQgPSAkKCIjaW52c3RBbW50IikudmFsKCkKICAgIHZhciBwbGFuID0gJCgiLmludnN0UGxhbiIpLnZhbCgpCgogICAgZ2V0Uk9JKGFtbnQsIHBsYW4pCiAgfSkKCiAgICBhc3luYyBmdW5jdGlvbiBnZXRST0koYW1udCwgcGxhbil7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgnaHR0cHM6Ly9wcmltZWVsaXRlY2FwaXRhbC5jb20vYXBpL2NhbGN1bGF0ZS1pbnZlc3RtZW50JywgewogICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywKICAgICAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogJCgnbWV0YVtuYW1lPSJjc3JmLXRva2VuIl0nKS5hdHRyKCdjb250ZW50JykgLy8gaWYgeW91J3JlIHVzaW5nIExhcmF2ZWwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7CiAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBhbW50LAogICAgICAgICAgICAgICAgICAgIHBsYW46IHBsYW4KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIHJlc3BvbnNlIHdhcyBub3Qgb2snKTsKCiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CiAgICAgICAgICAgIGNvbnN0IHJvaSA9IGRhdGEucm9pOwogICAgICAgICAgICAKICAgICAgICAgICAgJCgiI3JpbyIpLnRleHQoJyQnICsgcGFyc2VGbG9hdChyb2kpLnRvRml4ZWQoMikpOwogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTsKICAgICAgICAgICAgJCgiI3JpbyIpLnRleHQoZXJyb3IpOwogICAgICAgIH0KICAgIH0KCiAgICAkKCIjdGVzdGltb25pYWwtc2xpZGVyIikub3dsQ2Fyb3VzZWwoewogICAgICAgIGl0ZW1zOjIsCiAgICAgICAgaXRlbXNEZXNrdG9wOlsxMDAwLDJdLAogICAgICAgIGl0ZW1zRGVza3RvcFNtYWxsOls5OTAsMV0sCiAgICAgICAgaXRlbXNUYWJsZXQ6Wzc2OCwxXSwKICAgICAgICBwYWdpbmF0aW9uOnRydWUsCiAgICAgICAgbmF2aWdhdGlvbjpmYWxzZSwKICAgICAgICBuYXZpZ2F0aW9uVGV4dDpbIiIsIiJdLAogICAgICAgIHNsaWRlU3BlZWQ6MTAwMCwKICAgICAgICBhdXRvUGxheTp0cnVlCiAgICB9KTsKfSk7Cjwvc2NyaXB0PgoKCjwhLS0gU21hcnRzdXBwIExpdmUgQ2hhdCBzY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307DQpfc21hcnRzdXBwLmtleSA9ICc3NDk3NzRkZjAxM2NjMDcwOTcxZDUwZDZjMGFiYTQ1NzkzNGI0YTIxJzsNCndpbmRvdy5zbWFydHN1cHB8fChmdW5jdGlvbihkKSB7DQogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOw0KICBzPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO2M9ZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsNCiAgYy50eXBlPSd0ZXh0L2phdmFzY3JpcHQnO2MuY2hhcnNldD0ndXRmLTgnO2MuYXN5bmM9dHJ1ZTsNCiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsNCn0pKGRvY3VtZW50KTsNCjwvc2NyaXB0Pg0KPG5vc2NyaXB0PiBQb3dlcmVkIGJ5IDxhIGhyZWY94oCcaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbeKAnSB0YXJnZXQ94oCcX2JsYW5r4oCdPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4="}},"time_used":348,"timings":{"blocked":-1,"dns":43,"connect":14,"send":0,"wait":290,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/bootstrap/css/bootstrap.min.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.715Z","timestamp":1785154927715,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/bootstrap/css/bootstrap.min.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:08 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CB1upILxFbS0RbOrMVDXm88VsYQzW6LsPkeAxojlHNG8hnE6r0Zsw1jJO4rui5MVxvp9t8z6DnJbp7GZn%2FQCV9Z8P7kLGPWeppliERYvNZKbryELcWdZ6yi1MNy4%2FE9i%2FFxtQl6dvyI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9a3d2ab28a-OSL\r\ncontent-length: 18586\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":144877,"size_decoded":19398,"mime_type":"text/css","magic":"ASCII text, with very long lines (65325)","md5":"450fc463b8b1a349df717056fbb3e078","sha1":"895125a4522a3b10ee7ada06ee6503587cbf95c5","sha256":"2c0f3dcfe93d7e380c290fe4ab838ed8cadff1596d62697f5444be460d1f876d","sha512":"93bf1ed5f6d8b34f53413a86efd4a925d578c97abc757ea871f3f46f340745e4126c48219d2e8040713605b64a9ecf7ad986aa8102f5ea5ecf9228801d962f5d","ssdeep":"1536:GcoqwrUPyDHU7c7TcDEBi82NcuSELL4d/+oENM6HN26Q:VoPgPard2oENM6HN26Q","tlshash":"f6e37667f591322da097ca1851c0bbfa466f8156d6221ffbf4273b604b8a6c70a73d0d","first_seen":"2023-04-05T03:09:34Z","last_seen":"2026-08-11T11:27:24.887463Z","times_seen":59646,"resource_available":false,"data":"LyohCiAqIEJvb3RzdHJhcCB2NC4wLjAgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbSkKICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUaGUgQm9vdHN0cmFwIEF1dGhvcnMKICogQ29weXJpZ2h0IDIwMTEtMjAxOCBUd2l0dGVyLCBJbmMuCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpCiAqLzpyb290ey0tYmx1ZTojMDA3YmZmOy0taW5kaWdvOiM2NjEwZjI7LS1wdXJwbGU6IzZmNDJjMTstLXBpbms6I2U4M2U4YzstLXJlZDojZGMzNTQ1Oy0tb3JhbmdlOiNmZDdlMTQ7LS15ZWxsb3c6I2ZmYzEwNzstLWdyZWVuOiMyOGE3NDU7LS10ZWFsOiMyMGM5OTc7LS1jeWFuOiMxN2EyYjg7LS13aGl0ZTojZmZmOy0tZ3JheTojNmM3NTdkOy0tZ3JheS1kYXJrOiMzNDNhNDA7LS1wcmltYXJ5OiMwMDdiZmY7LS1zZWNvbmRhcnk6IzZjNzU3ZDstLXN1Y2Nlc3M6IzI4YTc0NTstLWluZm86IzE3YTJiODstLXdhcm5pbmc6I2ZmYzEwNzstLWRhbmdlcjojZGMzNTQ1Oy0tbGlnaHQ6I2Y4ZjlmYTstLWRhcms6IzM0M2E0MDstLWJyZWFrcG9pbnQteHM6MDstLWJyZWFrcG9pbnQtc206NTc2cHg7LS1icmVha3BvaW50LW1kOjc2OHB4Oy0tYnJlYWtwb2ludC1sZzo5OTJweDstLWJyZWFrcG9pbnQteGw6MTIwMHB4Oy0tZm9udC1mYW1pbHktc2Fucy1zZXJpZjotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiOy0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZX0qLDo6YWZ0ZXIsOjpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tcy10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLW92ZXJmbG93LXN0eWxlOnNjcm9sbGJhcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9QC1tcy12aWV3cG9ydHt3aWR0aDpkZXZpY2Utd2lkdGh9YXJ0aWNsZSxhc2lkZSxkaWFsb2csZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWJvZHl7bWFyZ2luOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6I2ZmZn1bdGFiaW5kZXg9Ii0xIl06Zm9jdXN7b3V0bGluZTowIWltcG9ydGFudH1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowO292ZXJmbG93OnZpc2libGV9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjVyZW19cHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtfWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO2N1cnNvcjpoZWxwO2JvcmRlci1ib3R0b206MH1hZGRyZXNze21hcmdpbi1ib3R0b206MXJlbTtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDppbmhlcml0fWRsLG9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tYm90dG9tOi41cmVtO21hcmdpbi1sZWZ0OjB9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW19ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19YXtjb2xvcjojMDA3YmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMsYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXJ7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX1hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1c3tvdXRsaW5lOjB9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfXByZXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtO292ZXJmbG93OmF1dG87LW1zLW92ZXJmbG93LXN0eWxlOnNjcm9sbGJhcn1maWd1cmV7bWFyZ2luOjAgMCAxcmVtfWltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyLXN0eWxlOm5vbmV9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX1jYXB0aW9ue3BhZGRpbmctdG9wOi43NXJlbTtwYWRkaW5nLWJvdHRvbTouNzVyZW07Y29sb3I6IzZjNzU3ZDt0ZXh0LWFsaWduOmxlZnQ7Y2FwdGlvbi1zaWRlOmJvdHRvbX10aHt0ZXh0LWFsaWduOmluaGVyaXR9bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTouNXJlbX1idXR0b257Ym9yZGVyLXJhZGl1czowfWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjFweCBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3J9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXttYXJnaW46MDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXR9YnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbixodG1sIFt0eXBlPWJ1dHRvbl17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyLXN0eWxlOm5vbmV9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1pbnB1dFt0eXBlPWRhdGVdLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLGlucHV0W3R5cGU9bW9udGhdLGlucHV0W3R5cGU9dGltZV17LXdlYmtpdC1hcHBlYXJhbmNlOmxpc3Rib3h9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0bztyZXNpemU6dmVydGljYWx9ZmllbGRzZXR7bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowfWxlZ2VuZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzowO21hcmdpbi1ib3R0b206LjVyZW07Zm9udC1zaXplOjEuNXJlbTtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfVt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hde291dGxpbmUtb2Zmc2V0Oi0ycHg7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257Zm9udDppbmhlcml0Oy13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259b3V0cHV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW07Y3Vyc29yOnBvaW50ZXJ9dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsaDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7Y29sb3I6aW5oZXJpdH0uaDEsaDF7Zm9udC1zaXplOjIuNXJlbX0uaDIsaDJ7Zm9udC1zaXplOjJyZW19LmgzLGgze2ZvbnQtc2l6ZToxLjc1cmVtfS5oNCxoNHtmb250LXNpemU6MS41cmVtfS5oNSxoNXtmb250LXNpemU6MS4yNXJlbX0uaDYsaDZ7Zm9udC1zaXplOjFyZW19LmxlYWR7Zm9udC1zaXplOjEuMjVyZW07Zm9udC13ZWlnaHQ6MzAwfS5kaXNwbGF5LTF7Zm9udC1zaXplOjZyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS0ye2ZvbnQtc2l6ZTo1LjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS0ze2ZvbnQtc2l6ZTo0LjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn0uZGlzcGxheS00e2ZvbnQtc2l6ZTozLjVyZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuMn1ocnttYXJnaW4tdG9wOjFyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlcjowO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpfS5zbWFsbCxzbWFsbHtmb250LXNpemU6ODAlO2ZvbnQtd2VpZ2h0OjQwMH0ubWFyayxtYXJre3BhZGRpbmc6LjJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9Lmxpc3QtdW5zdHlsZWR7cGFkZGluZy1sZWZ0OjA7bGlzdC1zdHlsZTpub25lfS5saXN0LWlubGluZXtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5lLWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2t9Lmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tcmlnaHQ6LjVyZW19LmluaXRpYWxpc217Zm9udC1zaXplOjkwJTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmJsb2NrcXVvdGV7bWFyZ2luLWJvdHRvbToxcmVtO2ZvbnQtc2l6ZToxLjI1cmVtfS5ibG9ja3F1b3RlLWZvb3RlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6IzZjNzU3ZH0uYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZXtjb250ZW50OiJcMjAxNCBcMDBBMCJ9LmltZy1mbHVpZHttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uaW1nLXRodW1ibmFpbHtwYWRkaW5nOi4yNXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1yYWRpdXM6LjI1cmVtO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5maWd1cmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZpZ3VyZS1pbWd7bWFyZ2luLWJvdHRvbTouNXJlbTtsaW5lLWhlaWdodDoxfS5maWd1cmUtY2FwdGlvbntmb250LXNpemU6OTAlO2NvbG9yOiM2Yzc1N2R9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlfWNvZGV7Zm9udC1zaXplOjg3LjUlO2NvbG9yOiNlODNlOGM7d29yZC1icmVhazpicmVhay13b3JkfWE+Y29kZXtjb2xvcjppbmhlcml0fWtiZHtwYWRkaW5nOi4ycmVtIC40cmVtO2ZvbnQtc2l6ZTo4Ny41JTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxMjUyOTtib3JkZXItcmFkaXVzOi4ycmVtfWtiZCBrYmR7cGFkZGluZzowO2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OjcwMH1wcmV7ZGlzcGxheTpibG9jaztmb250LXNpemU6ODcuNSU7Y29sb3I6IzIxMjUyOX1wcmUgY29kZXtmb250LXNpemU6aW5oZXJpdDtjb2xvcjppbmhlcml0O3dvcmQtYnJlYWs6bm9ybWFsfS5wcmUtc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OjM0MHB4O292ZXJmbG93LXk6c2Nyb2xsfS5jb250YWluZXJ7d2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NTQwcHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29udGFpbmVye21heC13aWR0aDo3MjBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjk2MHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjExNDBweH19LmNvbnRhaW5lci1mbHVpZHt3aWR0aDoxMDAlO3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfS5yb3d7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5uby1ndXR0ZXJze21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9Lm5vLWd1dHRlcnM+LmNvbCwubm8tZ3V0dGVycz5bY2xhc3MqPWNvbC1de3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uY29sLC5jb2wtMSwuY29sLTEwLC5jb2wtMTEsLmNvbC0xMiwuY29sLTIsLmNvbC0zLC5jb2wtNCwuY29sLTUsLmNvbC02LC5jb2wtNywuY29sLTgsLmNvbC05LC5jb2wtYXV0bywuY29sLWxnLC5jb2wtbGctMSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLTIsLmNvbC1sZy0zLC5jb2wtbGctNCwuY29sLWxnLTUsLmNvbC1sZy02LC5jb2wtbGctNywuY29sLWxnLTgsLmNvbC1sZy05LC5jb2wtbGctYXV0bywuY29sLW1kLC5jb2wtbWQtMSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLTIsLmNvbC1tZC0zLC5jb2wtbWQtNCwuY29sLW1kLTUsLmNvbC1tZC02LC5jb2wtbWQtNywuY29sLW1kLTgsLmNvbC1tZC05LC5jb2wtbWQtYXV0bywuY29sLXNtLC5jb2wtc20tMSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLTIsLmNvbC1zbS0zLC5jb2wtc20tNCwuY29sLXNtLTUsLmNvbC1zbS02LC5jb2wtc20tNywuY29sLXNtLTgsLmNvbC1zbS05LC5jb2wtc20tYXV0bywuY29sLXhsLC5jb2wteGwtMSwuY29sLXhsLTEwLC5jb2wteGwtMTEsLmNvbC14bC0xMiwuY29sLXhsLTIsLmNvbC14bC0zLC5jb2wteGwtNCwuY29sLXhsLTUsLmNvbC14bC02LC5jb2wteGwtNywuY29sLXhsLTgsLmNvbC14bC05LC5jb2wteGwtYXV0b3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MXB4O3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweH0uY29sey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wtYXV0b3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wtMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC0zey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtNHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLTV7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC02ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtN3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLTh7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC05ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtMTB7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC0xMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLTEyey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1maXJzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjA7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLWxhc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxNDstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci0xey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MjstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDozOy1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItM3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjQ7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci00ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NTstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLTV7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo2Oy1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItNnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjc7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci03ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ODstbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLTh7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo5Oy1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItOXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEwOy1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXItMTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMTstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXItMTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMjstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItMTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMzstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jb2wtc217LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1zbS1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1zbS0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtc20tMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLXNtLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1zbS00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtc20tNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLXNtLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1zbS03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtc20tOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLXNtLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1zbS0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLXNtLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtc20tMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXNtLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItc20tbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1zbS0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLXNtLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItc20tMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1zbS0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLXNtLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItc20tNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1zbS02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLXNtLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItc20tOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1zbS05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1zbS0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1zbS0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1zbS0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtc20tMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtc20tMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1zbS0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXNtLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LXNtLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LXNtLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtc20tN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtc20tOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtc20tOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1zbS0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtc20tMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtbWR7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1tZC1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1tZC0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbWQtMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLW1kLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1tZC00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbWQtNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLW1kLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1tZC03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbWQtOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLW1kLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1tZC0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLW1kLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtbWQtMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLW1kLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbWQtbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1tZC0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLW1kLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItbWQtMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1tZC0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLW1kLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItbWQtNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1tZC02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLW1kLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItbWQtOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1tZC05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1tZC0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1tZC0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1tZC0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtbWQtMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtbWQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1tZC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1tZC0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LW1kLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LW1kLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LW1kLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtbWQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtbWQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtbWQtOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1tZC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtbWQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb2wtbGd7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1sZy1hdXRvey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1sZy0xey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbGctMnstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLWxnLTN7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1sZy00ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbGctNXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLWxnLTZ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1sZy03ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbGctOHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLWxnLTl7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1sZy0xMHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLWxnLTExey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtbGctMTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLWxnLWZpcnN0ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MDstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbGctbGFzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE0Oy1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1sZy0wey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLWxnLTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoyOy1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItbGctMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjM7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1sZy0zey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NDstbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLWxnLTR7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo1Oy1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItbGctNXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjY7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1sZy02ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NzstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLWxnLTd7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo4Oy1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItbGctOHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjk7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1sZy05ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MTA7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1sZy0xMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjExOy1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1sZy0xMXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEyOy1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1sZy0xMnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEzOy1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtbGctMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtbGctMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1sZy0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1sZy0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LWxnLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LWxnLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LWxnLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtbGctN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtbGctOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtbGctOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1sZy0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtbGctMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29sLXhsey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wteGwtYXV0b3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wteGwtMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLXhsLTJ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC14bC0zey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wteGwtNHstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLXhsLTV7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC14bC02ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wteGwtN3std2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLXhsLTh7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC14bC05ey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wteGwtMTB7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC14bC0xMXstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLXhsLTEyey13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci14bC1maXJzdHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjA7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLXhsLWxhc3R7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxNDstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXIteGwtMHstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjE7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci14bC0xey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6MjstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLXhsLTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDozOy1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXIteGwtM3std2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjQ7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci14bC00ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6NTstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLXhsLTV7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo2Oy1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXIteGwtNnstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjc7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci14bC03ey13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ODstbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLXhsLTh7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDo5Oy1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXIteGwtOXstd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOjEwOy1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXIteGwtMTB7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMTstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXIteGwtMTF7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMjstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXIteGwtMTJ7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDoxMzstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LXhsLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LXhsLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQteGwtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC14bC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC14bC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC14bC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LXhsLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LXhsLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LXhsLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQteGwtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LXhsLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fS50YWJsZXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MXJlbTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS50YWJsZSB0ZCwudGFibGUgdGh7cGFkZGluZzouNzVyZW07dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1zbSB0ZCwudGFibGUtc20gdGh7cGFkZGluZzouM3JlbX0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCwudGFibGUtYm9yZGVyZWQgdGhlYWQgdGh7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZS1wcmltYXJ5LC50YWJsZS1wcmltYXJ5PnRkLC50YWJsZS1wcmltYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1zZWNvbmRhcnksLnRhYmxlLXNlY29uZGFyeT50ZCwudGFibGUtc2Vjb25kYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkYn0udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOGNiY2Z9LnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS50YWJsZS1zdWNjZXNzLC50YWJsZS1zdWNjZXNzPnRkLC50YWJsZS1zdWNjZXNzPnRoe2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1pbmZvLC50YWJsZS1pbmZvPnRkLC50YWJsZS1pbmZvPnRoe2JhY2tncm91bmQtY29sb3I6I2JlZTVlYn0udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS13YXJuaW5nLC50YWJsZS13YXJuaW5nPnRkLC50YWJsZS13YXJuaW5nPnRoe2JhY2tncm91bmQtY29sb3I6I2ZmZWViYX0udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1kYW5nZXIsLnRhYmxlLWRhbmdlcj50ZCwudGFibGUtZGFuZ2VyPnRoe2JhY2tncm91bmQtY29sb3I6I2Y1YzZjYn0udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9LnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZjFiMGI3fS50YWJsZS1saWdodCwudGFibGUtbGlnaHQ+dGQsLnRhYmxlLWxpZ2h0PnRoe2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjZWNmNn0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS50YWJsZS1kYXJrLC50YWJsZS1kYXJrPnRkLC50YWJsZS1kYXJrPnRoe2JhY2tncm91bmQtY29sb3I6I2M2YzhjYX0udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1hY3RpdmUsLnRhYmxlLWFjdGl2ZT50ZCwudGFibGUtYWN0aXZlPnRoe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDc1KX0udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZSAudGhlYWQtZGFyayB0aHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxMjUyOTtib3JkZXItY29sb3I6IzMyMzgzZX0udGFibGUgLnRoZWFkLWxpZ2h0IHRoe2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2fS50YWJsZS1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5fS50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojMzIzODNlfS50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA1KX0udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA3NSl9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXNte2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZS1zbT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1tZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUtbWQ+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDo5OTEuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtbGd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfS50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS14bHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUteGw+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX0udGFibGUtcmVzcG9uc2l2ZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS5mb3JtLWNvbnRyb2x7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9LmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsLmZvcm0tY29udHJvbFtyZWFkb25seV17YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO29wYWNpdHk6MX1zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKXtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KX1zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmZvcm0tY29udHJvbC1maWxlLC5mb3JtLWNvbnRyb2wtcmFuZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5jb2wtZm9ybS1sYWJlbHtwYWRkaW5nLXRvcDpjYWxjKC4zNzVyZW0gKyAxcHgpO3BhZGRpbmctYm90dG9tOmNhbGMoLjM3NXJlbSArIDFweCk7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNX0uY29sLWZvcm0tbGFiZWwtbGd7cGFkZGluZy10b3A6Y2FsYyguNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguNXJlbSArIDFweCk7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5jb2wtZm9ybS1sYWJlbC1zbXtwYWRkaW5nLXRvcDpjYWxjKC4yNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguMjVyZW0gKyAxcHgpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNX0uZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtO21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjFweCAwfS5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1sZywuZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtc20sLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmZvcm0tY29udHJvbC1zbSwuaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMnJlbX0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPnNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLHNlbGVjdC5mb3JtLWNvbnRyb2wtc206bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pe2hlaWdodDpjYWxjKDEuODEyNXJlbSArIDJweCl9LmZvcm0tY29udHJvbC1sZywuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLXByZXBlbmQ+c2VsZWN0LmlucHV0LWdyb3VwLXRleHQ6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz5zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxzZWxlY3QuZm9ybS1jb250cm9sLWxnOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKXtoZWlnaHQ6Y2FsYygyLjg3NXJlbSArIDJweCl9LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxcmVtfS5mb3JtLXRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4yNXJlbX0uZm9ybS1yb3d7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLXJpZ2h0Oi01cHg7bWFyZ2luLWxlZnQ6LTVweH0uZm9ybS1yb3c+LmNvbCwuZm9ybS1yb3c+W2NsYXNzKj1jb2wtXXtwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLWxlZnQ6NXB4fS5mb3JtLWNoZWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1sZWZ0OjEuMjVyZW19LmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tbGVmdDotMS4yNXJlbX0uZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojNmM3NTdkfS5mb3JtLWNoZWNrLWxhYmVse21hcmdpbi1ib3R0b206MH0uZm9ybS1jaGVjay1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tcmlnaHQ6Ljc1cmVtfS5mb3JtLWNoZWNrLWlubGluZSAuZm9ybS1jaGVjay1pbnB1dHtwb3NpdGlvbjpzdGF0aWM7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMzEyNXJlbTttYXJnaW4tbGVmdDowfS52YWxpZC1mZWVkYmFja3tkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTttYXJnaW4tdG9wOi4yNXJlbTtmb250LXNpemU6ODAlO2NvbG9yOiMyOGE3NDV9LnZhbGlkLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7ei1pbmRleDo1O2Rpc3BsYXk6bm9uZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi41cmVtO21hcmdpbi10b3A6LjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCwxNjcsNjksLjgpO2JvcmRlci1yYWRpdXM6LjJyZW19LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQsLmZvcm0tY29udHJvbC5pcy12YWxpZCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlke2JvcmRlci1jb2xvcjojMjhhNzQ1fS5jdXN0b20tc2VsZWN0LmlzLXZhbGlkOmZvY3VzLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZDpmb2N1c3tib3JkZXItY29sb3I6IzI4YTc0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tc2VsZWN0LmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojMjhhNzQ1fS5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzI4YTc0NX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzcxZGQ4YX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy12YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzM0Y2U1N30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWx7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6aW5oZXJpdH0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmludmFsaWQtZmVlZGJhY2t7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDouMjVyZW07Zm9udC1zaXplOjgwJTtjb2xvcjojZGMzNTQ1fS5pbnZhbGlkLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7ei1pbmRleDo1O2Rpc3BsYXk6bm9uZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi41cmVtO21hcmdpbi10b3A6LjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjAsNTMsNjksLjgpO2JvcmRlci1yYWRpdXM6LjJyZW19LmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZCwuZm9ybS1jb250cm9sLmlzLWludmFsaWQsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZDpmb2N1cywuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOiNkYzM1NDU7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuMjUpfS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1zZWxlY3QuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuZm9ybS1jb250cm9sLmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmZvcm0tY2hlY2stbGFiZWx7Y29sb3I6I2RjMzU0NX0uZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6I2RjMzU0NX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZmEyYTl9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2U0NjA2ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6I2RjMzU0NX0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6aW5oZXJpdH0uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWZpbGUtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVse2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjI1KX0uZm9ybS1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3t3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZm9ybS1pbmxpbmUgbGFiZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MH0uZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXB7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206MH0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1wbGFpbnRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMjVyZW07bWFyZ2luLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjB9fS5idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzouMzc1cmVtIC43NXJlbTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpjb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9LmJ0bjpmb2N1cywuYnRuOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4uZm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5idG4uZGlzYWJsZWQsLmJ0bjpkaXNhYmxlZHtvcGFjaXR5Oi42NX0uYnRuOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpe2N1cnNvcjpwb2ludGVyfS5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bm9uZX1hLmJ0bi5kaXNhYmxlZCxmaWVsZHNldDpkaXNhYmxlZCBhLmJ0bntwb2ludGVyLWV2ZW50czpub25lfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDY5ZDk7Ym9yZGVyLWNvbG9yOiMwMDYyY2N9LmJ0bi1wcmltYXJ5LmZvY3VzLC5idG4tcHJpbWFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLXByaW1hcnkuZGlzYWJsZWQsLmJ0bi1wcmltYXJ5OmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjO2JvcmRlci1jb2xvcjojMDA1Y2JmfS5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tc2Vjb25kYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tc2Vjb25kYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWE2MjY4O2JvcmRlci1jb2xvcjojNTQ1YjYyfS5idG4tc2Vjb25kYXJ5LmZvY3VzLC5idG4tc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQsLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1NDViNjI7Ym9yZGVyLWNvbG9yOiM0ZTU1NWJ9LmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLXN1Y2Nlc3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjE4ODM4O2JvcmRlci1jb2xvcjojMWU3ZTM0fS5idG4tc3VjY2Vzcy5mb2N1cywuYnRuLXN1Y2Nlc3M6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1zdWNjZXNzLmRpc2FibGVkLC5idG4tc3VjY2VzczpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFlN2UzNDtib3JkZXItY29sb3I6IzFjNzQzMH0uYnRuLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTM4NDk2O2JvcmRlci1jb2xvcjojMTE3YThifS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4taW5mby5kaXNhYmxlZCwuYnRuLWluZm86ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMTdhOGI7Ym9yZGVyLWNvbG9yOiMxMDcwN2Z9LmJ0bi1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4td2FybmluZ3tjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNlMGE4MDA7Ym9yZGVyLWNvbG9yOiNkMzllMDB9LmJ0bi13YXJuaW5nLmZvY3VzLC5idG4td2FybmluZzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLXdhcm5pbmcuZGlzYWJsZWQsLmJ0bi13YXJuaW5nOmRpc2FibGVke2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwO2JvcmRlci1jb2xvcjojYzY5NTAwfS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzgyMzMzO2JvcmRlci1jb2xvcjojYmQyMTMwfS5idG4tZGFuZ2VyLmZvY3VzLC5idG4tZGFuZ2VyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tZGFuZ2VyLmRpc2FibGVkLC5idG4tZGFuZ2VyOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYmQyMTMwO2JvcmRlci1jb2xvcjojYjIxZjJkfS5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tbGlnaHR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1saWdodDpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2UyZTZlYTtib3JkZXItY29sb3I6I2RhZTBlNX0uYnRuLWxpZ2h0LmZvY3VzLC5idG4tbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLWxpZ2h0LmRpc2FibGVkLC5idG4tbGlnaHQ6ZGlzYWJsZWR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNkYWUwZTU7Ym9yZGVyLWNvbG9yOiNkM2Q5ZGZ9LmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLWRhcmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1kYXJrOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjMyNzJiO2JvcmRlci1jb2xvcjojMWQyMTI0fS5idG4tZGFyay5mb2N1cywuYnRuLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLWRhcmsuZGlzYWJsZWQsLmJ0bi1kYXJrOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0O2JvcmRlci1jb2xvcjojMTcxYTFkfS5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1Miw1OCw2NCwuNSl9LmJ0bi1vdXRsaW5lLXByaW1hcnl7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cywuYnRuLW91dGxpbmUtcHJpbWFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZCwuYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZHtjb2xvcjojMDA3YmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeXtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZCwuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtc2Vjb25kYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTA4LDExNywxMjUsLjUpfS5idG4tb3V0bGluZS1zdWNjZXNze2NvbG9yOiMyOGE3NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWR7Y29sb3I6IzI4YTc0NTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5idG4tb3V0bGluZS1pbmZve2NvbG9yOiMxN2EyYjg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1vdXRsaW5lLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLC5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVke2NvbG9yOiMxN2EyYjg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1vdXRsaW5lLXdhcm5pbmd7Y29sb3I6I2ZmYzEwNztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZzpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cywuYnRuLW91dGxpbmUtd2FybmluZzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZCwuYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZHtjb2xvcjojZmZjMTA3O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJ0bi1vdXRsaW5lLWRhbmdlcntjb2xvcjojZGMzNTQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywuYnRuLW91dGxpbmUtZGFuZ2VyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZHtjb2xvcjojZGMzNTQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1vdXRsaW5lLWxpZ2h0e2NvbG9yOiNmOGY5ZmE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0OmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tb3V0bGluZS1saWdodC5mb2N1cywuYnRuLW91dGxpbmUtbGlnaHQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLW91dGxpbmUtbGlnaHQuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWxpZ2h0OmRpc2FibGVke2NvbG9yOiNmOGY5ZmE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tb3V0bGluZS1kYXJre2NvbG9yOiMzNDNhNDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcms6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcmsuZm9jdXMsLmJ0bi1vdXRsaW5lLWRhcms6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLW91dGxpbmUtZGFyay5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFyazpkaXNhYmxlZHtjb2xvcjojMzQzYTQwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLWxpbmt7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluay5mb2N1cywuYnRuLWxpbms6Zm9jdXN7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzpub25lfS5idG4tbGluay5kaXNhYmxlZCwuYnRuLWxpbms6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZH0uYnRuLWdyb3VwLWxnPi5idG4sLmJ0bi1sZ3twYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19LmJ0bi1ncm91cC1zbT4uYnRuLC5idG4tc217cGFkZGluZzouMjVyZW0gLjVyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjJyZW19LmJ0bi1ibG9ja3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmJ0bi1ibG9jaysuYnRuLWJsb2Nre21hcmdpbi10b3A6LjVyZW19aW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5mYWRle29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9LmZhZGUuc2hvd3tvcGFjaXR5OjF9LmNvbGxhcHNle2Rpc3BsYXk6bm9uZX0uY29sbGFwc2Uuc2hvd3tkaXNwbGF5OmJsb2NrfXRyLmNvbGxhcHNlLnNob3d7ZGlzcGxheTp0YWJsZS1yb3d9dGJvZHkuY29sbGFwc2Uuc2hvd3tkaXNwbGF5OnRhYmxlLXJvdy1ncm91cH0uY29sbGFwc2luZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBlYXNlfS5kcm9wZG93biwuZHJvcHVwe3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6LjNlbSBzb2xpZDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLWxlZnQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7bWluLXdpZHRoOjEwcmVtO3BhZGRpbmc6LjVyZW0gMDttYXJnaW46LjEyNXJlbSAwIDA7Zm9udC1zaXplOjFyZW07Y29sb3I6IzIxMjUyOTt0ZXh0LWFsaWduOmxlZnQ7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czouMjVyZW19LmRyb3B1cCAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouMTI1cmVtfS5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDowO2JvcmRlci1yaWdodDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNlbSBzb2xpZDtib3JkZXItbGVmdDouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDttYXJnaW4tbGVmdDouMTI1cmVtfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDouM2VtIHNvbGlkfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye3ZlcnRpY2FsLWFsaWduOjB9LmRyb3BsZWZ0IC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDttYXJnaW4tcmlnaHQ6LjEyNXJlbX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiJ9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6bm9uZX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLXJpZ2h0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0Oi4zZW0gc29saWQ7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjpiZWZvcmV7dmVydGljYWwtYWxpZ246MH0uZHJvcGRvd24tZGl2aWRlcntoZWlnaHQ6MDttYXJnaW46LjVyZW0gMDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0uZHJvcGRvd24taXRlbXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gMS41cmVtO2NsZWFyOmJvdGg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5kcm9wZG93bi1pdGVtOmZvY3VzLC5kcm9wZG93bi1pdGVtOmhvdmVye2NvbG9yOiMxNjE4MWI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5kcm9wZG93bi1pdGVtLmFjdGl2ZSwuZHJvcGRvd24taXRlbTphY3RpdmV7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kcm9wZG93bi1tZW51LnNob3d7ZGlzcGxheTpibG9ja30uZHJvcGRvd24taGVhZGVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAxLjVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTouODc1cmVtO2NvbG9yOiM2Yzc1N2Q7d2hpdGUtc3BhY2U6bm93cmFwfS5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cD4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoxfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46Zm9jdXMsLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1c3t6LWluZGV4OjF9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXB7d2lkdGg6YXV0b30uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXA+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi41NjI1cmVtO3BhZGRpbmctbGVmdDouNTYyNXJlbX0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcnttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtc20+LmJ0bisuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LC5idG4tc20rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi4zNzVyZW07cGFkZGluZy1sZWZ0Oi4zNzVyZW19LmJ0bi1ncm91cC1sZz4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6Ljc1cmVtO3BhZGRpbmctbGVmdDouNzVyZW19LmJ0bi1ncm91cC12ZXJ0aWNhbHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLC5idG4tZ3JvdXAtdmVydGljYWwgLmJ0bi1ncm91cHt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bisuYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cCsuYnRuLWdyb3Vwe21hcmdpbi10b3A6LTFweDttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0bnttYXJnaW4tYm90dG9tOjB9LmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9cmFkaW9dLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LW1zLWZsZXgtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMCV9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87d2lkdGg6MSU7bWFyZ2luLWJvdHRvbTowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6Zm9jdXMsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0OmZvY3VzLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hcHBlbmQsLmlucHV0LWdyb3VwLXByZXBlbmR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjJ9LmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5idG4sLmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1hcHBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmJ0biwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG4rLmJ0biwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuKy5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmlucHV0LWdyb3VwLXRleHQrLmlucHV0LWdyb3VwLXRleHR7bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtcHJlcGVuZHttYXJnaW4tcmlnaHQ6LTFweH0uaW5wdXQtZ3JvdXAtYXBwZW5ke21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLXRleHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW19LmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1jaGVja2JveF0sLmlucHV0LWdyb3VwLXRleHQgaW5wdXRbdHlwZT1yYWRpb117bWFyZ2luLXRvcDowfS5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uY3VzdG9tLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttaW4taGVpZ2h0OjEuNXJlbTtwYWRkaW5nLWxlZnQ6MS41cmVtfS5jdXN0b20tY29udHJvbC1pbmxpbmV7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tcmlnaHQ6MXJlbX0uY3VzdG9tLWNvbnRyb2wtaW5wdXR7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtvcGFjaXR5OjB9LmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1jb250cm9sLWlucHV0OmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6YWN0aXZlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYjNkN2ZmfS5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWx7Y29sb3I6IzZjNzU3ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjB9LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNXJlbTtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO3BvaW50ZXItZXZlbnRzOm5vbmU7Y29udGVudDoiIjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2fS5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOi4yNXJlbTtsZWZ0OjA7ZGlzcGxheTpibG9jazt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO2NvbnRlbnQ6IiI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6NTAlIDUwJX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMjMsMjU1LC41KX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1yYWRpdXM6NTAlfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNFJTNDY2lyY2xlIHI9JzMnIGZpbGw9JyUyM2ZmZicvJTNFJTNDL3N2ZyUzRSIpfS5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1zZWxlY3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTtwYWRkaW5nOi4zNzVyZW0gMS43NXJlbSAuMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nzt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzQzYTQwJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFIikgbm8tcmVwZWF0IHJpZ2h0IC43NXJlbSBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjhweCAxMHB4O2JvcmRlcjoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOi4yNXJlbTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmN1c3RvbS1zZWxlY3Q6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDVweCByZ2JhKDEyOCwxODksMjU1LC41KX0uY3VzdG9tLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVle2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5jdXN0b20tc2VsZWN0W211bHRpcGxlXSwuY3VzdG9tLXNlbGVjdFtzaXplXTpub3QoW3NpemU9IjEiXSl7aGVpZ2h0OmF1dG87cGFkZGluZy1yaWdodDouNzVyZW07YmFja2dyb3VuZC1pbWFnZTpub25lfS5jdXN0b20tc2VsZWN0OmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5ke29wYWNpdHk6MH0uY3VzdG9tLXNlbGVjdC1zbXtoZWlnaHQ6Y2FsYygxLjgxMjVyZW0gKyAycHgpO3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbTtmb250LXNpemU6NzUlfS5jdXN0b20tc2VsZWN0LWxne2hlaWdodDpjYWxjKDIuODc1cmVtICsgMnB4KTtwYWRkaW5nLXRvcDouMzc1cmVtO3BhZGRpbmctYm90dG9tOi4zNzVyZW07Zm9udC1zaXplOjEyNSV9LmN1c3RvbS1maWxle3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7bWFyZ2luLWJvdHRvbTowfS5jdXN0b20tZmlsZS1pbnB1dHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7d2lkdGg6MTAwJTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTttYXJnaW46MDtvcGFjaXR5OjB9LmN1c3RvbS1maWxlLWlucHV0OmZvY3Vzfi5jdXN0b20tZmlsZS1jb250cm9se2JvcmRlci1jb2xvcjojODBiZGZmO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZXtib3JkZXItY29sb3I6IzgwYmRmZn0uY3VzdG9tLWZpbGUtaW5wdXQ6bGFuZyhlbil+LmN1c3RvbS1maWxlLWxhYmVsOjphZnRlcntjb250ZW50OiJCcm93c2UifS5jdXN0b20tZmlsZS1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjE7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7cGFkZGluZzouMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjM7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYyhjYWxjKDIuMjVyZW0gKyAycHgpIC0gMXB4ICogMik7cGFkZGluZzouMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nztjb250ZW50OiJCcm93c2UiO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItbGVmdDoxcHggc29saWQgI2NlZDRkYTtib3JkZXItcmFkaXVzOjAgLjI1cmVtIC4yNXJlbSAwfS5uYXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0ubmF2LWxpbmt7ZGlzcGxheTpibG9jaztwYWRkaW5nOi41cmVtIDFyZW19Lm5hdi1saW5rOmZvY3VzLC5uYXYtbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0ubmF2LWxpbmsuZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZH0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1pdGVte21hcmdpbi1ib3R0b206LTFweH0ubmF2LXRhYnMgLm5hdi1saW5re2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMsLm5hdi10YWJzIC5uYXYtbGluazpob3Zlcntib3JkZXItY29sb3I6I2U5ZWNlZiAjZTllY2VmICNkZWUyZTZ9Lm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmssLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTYgI2RlZTJlNiAjZmZmfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdi1waWxscyAubmF2LWxpbmt7Ym9yZGVyLXJhZGl1czouMjVyZW19Lm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLC5uYXYtcGlsbHMgLnNob3c+Lm5hdi1saW5re2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5uYXYtZmlsbCAubmF2LWl0ZW17LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87dGV4dC1hbGlnbjpjZW50ZXJ9Lm5hdi1qdXN0aWZpZWQgLm5hdi1pdGVtey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO3RleHQtYWxpZ246Y2VudGVyfS50YWItY29udGVudD4udGFiLXBhbmV7ZGlzcGxheTpub25lfS50YWItY29udGVudD4uYWN0aXZle2Rpc3BsYXk6YmxvY2t9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6LjVyZW0gMXJlbX0ubmF2YmFyPi5jb250YWluZXIsLm5hdmJhcj4uY29udGFpbmVyLWZsdWlke2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lm5hdmJhci1icmFuZHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDouMzEyNXJlbTtwYWRkaW5nLWJvdHRvbTouMzEyNXJlbTttYXJnaW4tcmlnaHQ6MXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci1uYXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246c3RhdGljO2Zsb2F0Om5vbmV9Lm5hdmJhci10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5uYXZiYXItY29sbGFwc2V7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MTAwJTtmbGV4LWJhc2lzOjEwMCU7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5hdmJhci10b2dnbGVye3BhZGRpbmc6LjI1cmVtIC43NXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbX0ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMsLm5hdmJhci10b2dnbGVyOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0ubmF2YmFyLXRvZ2dsZXItaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07dmVydGljYWwtYWxpZ246bWlkZGxlO2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KXsubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdmJhci1leHBhbmQtc217LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLXNtIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1leHBhbmQtbWR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLW1kIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KXsubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm5hdmJhci1leHBhbmQtbGd7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnUtcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItZXhwYW5kLWxnIC5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCV9fUBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCl7Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubmF2YmFyLWV4cGFuZC14bHstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQteGwgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX19Lm5hdmJhci1leHBhbmR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpzdGFydDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXZ7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9Lm5hdmJhci1leHBhbmQgLmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmR7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjpyZ2JhKDAsMCwwLC41KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC43KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zKX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVye2NvbG9yOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgwLCAwLCAwLCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0e2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGF7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5ke2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6aG92ZXJ7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3Zlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5re2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNFJTNDL3N2ZyUzRSIpfS5uYXZiYXItZGFyayAubmF2YmFyLXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhe2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3Zlcntjb2xvcjojZmZmfS5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uY2FyZD5ocnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5jYXJkPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5jYXJkPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0uY2FyZC1ib2R5ey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MS4yNXJlbX0uY2FyZC10aXRsZXttYXJnaW4tYm90dG9tOi43NXJlbX0uY2FyZC1zdWJ0aXRsZXttYXJnaW4tdG9wOi0uMzc1cmVtO21hcmdpbi1ib3R0b206MH0uY2FyZC10ZXh0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5jYXJkLWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNhcmQtbGluaysuY2FyZC1saW5re21hcmdpbi1sZWZ0OjEuMjVyZW19LmNhcmQtaGVhZGVye3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9LmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxke2JvcmRlci1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KSAwIDB9LmNhcmQtaGVhZGVyKy5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowfS5jYXJkLWZvb3RlcntwYWRkaW5nOi43NXJlbSAxLjI1cmVtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9LmNhcmQtZm9vdGVyOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgY2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1oZWFkZXItdGFic3ttYXJnaW4tcmlnaHQ6LS42MjVyZW07bWFyZ2luLWJvdHRvbTotLjc1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtO2JvcmRlci1ib3R0b206MH0uY2FyZC1oZWFkZXItcGlsbHN7bWFyZ2luLXJpZ2h0Oi0uNjI1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtfS5jYXJkLWltZy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3BhZGRpbmc6MS4yNXJlbX0uY2FyZC1pbWd7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1pbWctdG9we3dpZHRoOjEwMCU7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWltZy1ib3R0b217d2lkdGg6MTAwJTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtZGVja3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJkLWRlY2sgLmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1kZWNrey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5jYXJkLWRlY2sgLmNhcmR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAwIDAlO2ZsZXg6MSAwIDAlOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDoxNXB4fX0uY2FyZC1ncm91cHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJkLWdyb3VwPi5jYXJke21hcmdpbi1ib3R0b206MTVweH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtZ3JvdXB7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcH0uY2FyZC1ncm91cD4uY2FyZHstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAwIDAlO2ZsZXg6MSAwIDAlO21hcmdpbi1ib3R0b206MH0uY2FyZC1ncm91cD4uY2FyZCsuY2FyZHttYXJnaW4tbGVmdDowO2JvcmRlci1sZWZ0OjB9LmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGR7Ym9yZGVyLXJhZGl1czouMjVyZW19LmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZCAuY2FyZC1pbWctdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbX0uY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctYm90dG9tLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1pbWctdG9we2JvcmRlci1yYWRpdXM6MH19LmNhcmQtY29sdW1ucyAuY2FyZHttYXJnaW4tYm90dG9tOi43NXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtY29sdW1uc3std2Via2l0LWNvbHVtbi1jb3VudDozOy1tb3otY29sdW1uLWNvdW50OjM7Y29sdW1uLWNvdW50OjM7LXdlYmtpdC1jb2x1bW4tZ2FwOjEuMjVyZW07LW1vei1jb2x1bW4tZ2FwOjEuMjVyZW07Y29sdW1uLWdhcDoxLjI1cmVtfS5jYXJkLWNvbHVtbnMgLmNhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJX19LmJyZWFkY3J1bWJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7cGFkZGluZzouNzVyZW0gMXJlbTttYXJnaW4tYm90dG9tOjFyZW07bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4yNXJlbX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbTtjb2xvcjojNmM3NTdkO2NvbnRlbnQ6Ii8ifS5icmVhZGNydW1iLWl0ZW0rLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3Jle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJyZWFkY3J1bWItaXRlbS5hY3RpdmV7Y29sb3I6IzZjNzU3ZH0ucGFnaW5hdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOi4yNXJlbX0ucGFnZS1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWxlZnQ6LTFweDtsaW5lLWhlaWdodDoxLjI1O2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNn0ucGFnZS1saW5rOmhvdmVye2NvbG9yOiMwMDU2YjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2fS5wYWdlLWxpbms6Zm9jdXN7ei1pbmRleDoyO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LnBhZ2UtbGluazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0ucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7bWFyZ2luLWxlZnQ6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtfS5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmt7ei1pbmRleDoxO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGlua3tjb2xvcjojNmM3NTdkO3BvaW50ZXItZXZlbnRzOm5vbmU7Y3Vyc29yOmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZGVlMmU2fS5wYWdpbmF0aW9uLWxnIC5wYWdlLWxpbmt7cGFkZGluZzouNzVyZW0gMS41cmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNX0ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouM3JlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4zcmVtfS5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4zcmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4zcmVtfS5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmt7cGFkZGluZzouMjVyZW0gLjVyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41fS5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4ycmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjJyZW19LnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjJyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjJyZW19LmJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6LjI1ZW0gLjRlbTtmb250LXNpemU6NzUlO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtib3JkZXItcmFkaXVzOi4yNXJlbX0uYmFkZ2U6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5iYWRnZS1waWxse3BhZGRpbmctcmlnaHQ6LjZlbTtwYWRkaW5nLWxlZnQ6LjZlbTtib3JkZXItcmFkaXVzOjEwcmVtfS5iYWRnZS1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5iYWRnZS1wcmltYXJ5W2hyZWZdOmZvY3VzLC5iYWRnZS1wcmltYXJ5W2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjfS5iYWRnZS1zZWNvbmRhcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2R9LmJhZGdlLXNlY29uZGFyeVtocmVmXTpmb2N1cywuYmFkZ2Utc2Vjb25kYXJ5W2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojNTQ1YjYyfS5iYWRnZS1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1fS5iYWRnZS1zdWNjZXNzW2hyZWZdOmZvY3VzLC5iYWRnZS1zdWNjZXNzW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0fS5iYWRnZS1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4fS5iYWRnZS1pbmZvW2hyZWZdOmZvY3VzLC5iYWRnZS1pbmZvW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMTE3YThifS5iYWRnZS13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3fS5iYWRnZS13YXJuaW5nW2hyZWZdOmZvY3VzLC5iYWRnZS13YXJuaW5nW2hyZWZdOmhvdmVye2NvbG9yOiMyMTI1Mjk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwfS5iYWRnZS1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDV9LmJhZGdlLWRhbmdlcltocmVmXTpmb2N1cywuYmFkZ2UtZGFuZ2VyW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojYmQyMTMwfS5iYWRnZS1saWdodHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX0uYmFkZ2UtbGlnaHRbaHJlZl06Zm9jdXMsLmJhZGdlLWxpZ2h0W2hyZWZdOmhvdmVye2NvbG9yOiMyMTI1Mjk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZGFlMGU1fS5iYWRnZS1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwfS5iYWRnZS1kYXJrW2hyZWZdOmZvY3VzLC5iYWRnZS1kYXJrW2hyZWZdOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0fS5qdW1ib3Ryb257cGFkZGluZzoycmVtIDFyZW07bWFyZ2luLWJvdHRvbToycmVtO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4zcmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuanVtYm90cm9ue3BhZGRpbmc6NHJlbSAycmVtfX0uanVtYm90cm9uLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtib3JkZXItcmFkaXVzOjB9LmFsZXJ0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czouMjVyZW19LmFsZXJ0LWhlYWRpbmd7Y29sb3I6aW5oZXJpdH0uYWxlcnQtbGlua3tmb250LXdlaWdodDo3MDB9LmFsZXJ0LWRpc21pc3NpYmxle3BhZGRpbmctcmlnaHQ6NHJlbX0uYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7cGFkZGluZzouNzVyZW0gMS4yNXJlbTtjb2xvcjppbmhlcml0fS5hbGVydC1wcmltYXJ5e2NvbG9yOiMwMDQwODU7YmFja2dyb3VuZC1jb2xvcjojY2NlNWZmO2JvcmRlci1jb2xvcjojYjhkYWZmfS5hbGVydC1wcmltYXJ5IGhye2JvcmRlci10b3AtY29sb3I6IzlmY2RmZn0uYWxlcnQtcHJpbWFyeSAuYWxlcnQtbGlua3tjb2xvcjojMDAyNzUyfS5hbGVydC1zZWNvbmRhcnl7Y29sb3I6IzM4M2Q0MTtiYWNrZ3JvdW5kLWNvbG9yOiNlMmUzZTU7Ym9yZGVyLWNvbG9yOiNkNmQ4ZGJ9LmFsZXJ0LXNlY29uZGFyeSBocntib3JkZXItdG9wLWNvbG9yOiNjOGNiY2Z9LmFsZXJ0LXNlY29uZGFyeSAuYWxlcnQtbGlua3tjb2xvcjojMjAyMzI2fS5hbGVydC1zdWNjZXNze2NvbG9yOiMxNTU3MjQ7YmFja2dyb3VuZC1jb2xvcjojZDRlZGRhO2JvcmRlci1jb2xvcjojYzNlNmNifS5hbGVydC1zdWNjZXNzIGhye2JvcmRlci10b3AtY29sb3I6I2IxZGZiYn0uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGlua3tjb2xvcjojMGIyZTEzfS5hbGVydC1pbmZve2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojZDFlY2YxO2JvcmRlci1jb2xvcjojYmVlNWVifS5hbGVydC1pbmZvIGhye2JvcmRlci10b3AtY29sb3I6I2FiZGRlNX0uYWxlcnQtaW5mbyAuYWxlcnQtbGlua3tjb2xvcjojMDYyYzMzfS5hbGVydC13YXJuaW5ne2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZmM2NkO2JvcmRlci1jb2xvcjojZmZlZWJhfS5hbGVydC13YXJuaW5nIGhye2JvcmRlci10b3AtY29sb3I6I2ZmZThhMX0uYWxlcnQtd2FybmluZyAuYWxlcnQtbGlua3tjb2xvcjojNTMzZjAzfS5hbGVydC1kYW5nZXJ7Y29sb3I6IzcyMWMyNDtiYWNrZ3JvdW5kLWNvbG9yOiNmOGQ3ZGE7Ym9yZGVyLWNvbG9yOiNmNWM2Y2J9LmFsZXJ0LWRhbmdlciBocntib3JkZXItdG9wLWNvbG9yOiNmMWIwYjd9LmFsZXJ0LWRhbmdlciAuYWxlcnQtbGlua3tjb2xvcjojNDkxMjE3fS5hbGVydC1saWdodHtjb2xvcjojODE4MTgyO2JhY2tncm91bmQtY29sb3I6I2ZlZmVmZTtib3JkZXItY29sb3I6I2ZkZmRmZX0uYWxlcnQtbGlnaHQgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZWNlY2Y2fS5hbGVydC1saWdodCAuYWxlcnQtbGlua3tjb2xvcjojNjg2ODY4fS5hbGVydC1kYXJre2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojZDZkOGQ5O2JvcmRlci1jb2xvcjojYzZjOGNhfS5hbGVydC1kYXJrIGhye2JvcmRlci10b3AtY29sb3I6I2I5YmJiZX0uYWxlcnQtZGFyayAuYWxlcnQtbGlua3tjb2xvcjojMDQwNTA1fUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MXJlbSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjoxcmVtIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fS5wcm9ncmVzc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxcmVtO292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6Ljc1cmVtO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4yNXJlbX0ucHJvZ3Jlc3MtYmFye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjt0cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlfS5wcm9ncmVzcy1iYXItc3RyaXBlZHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOjFyZW0gMXJlbX0ucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlfS5tZWRpYXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lm1lZGlhLWJvZHl7LXdlYmtpdC1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxfS5saXN0LWdyb3Vwe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowfS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9ue3dpZHRoOjEwMCU7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWFsaWduOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5saXN0LWdyb3VwLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi43NXJlbSAxLjI1cmVtO21hcmdpbi1ib3R0b206LTFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpfS5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbTpob3Zlcnt6LWluZGV4OjE7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtOmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle3otaW5kZXg6Mjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0ubGlzdC1ncm91cC1mbHVzaCAubGlzdC1ncm91cC1pdGVte2JvcmRlci1yaWdodDowO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJhZGl1czowfS5saXN0LWdyb3VwLWZsdXNoOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcDowfS5saXN0LWdyb3VwLWZsdXNoOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MH0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnl7Y29sb3I6IzAwNDA4NTtiYWNrZ3JvdW5kLWNvbG9yOiNiOGRhZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzAwNDA4NTtiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9Lmxpc3QtZ3JvdXAtaXRlbS1wcmltYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA0MDg1O2JvcmRlci1jb2xvcjojMDA0MDg1fS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5e2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojZDZkOGRifS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMzgzZDQxO2JhY2tncm91bmQtY29sb3I6I2M4Y2JjZn0ubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM4M2Q0MTtib3JkZXItY29sb3I6IzM4M2Q0MX0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3N7Y29sb3I6IzE1NTcyNDtiYWNrZ3JvdW5kLWNvbG9yOiNjM2U2Y2J9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzE1NTcyNDtiYWNrZ3JvdW5kLWNvbG9yOiNiMWRmYmJ9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTU1NzI0O2JvcmRlci1jb2xvcjojMTU1NzI0fS5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2JlZTVlYn0ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2FiZGRlNX0ubGlzdC1ncm91cC1pdGVtLWluZm8ubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwYzU0NjA7Ym9yZGVyLWNvbG9yOiMwYzU0NjB9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5ne2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZlZWJhfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiM4NTY0MDQ7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izg1NjQwNDtib3JkZXItY29sb3I6Izg1NjQwNH0ubGlzdC1ncm91cC1pdGVtLWRhbmdlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2Y1YzZjYn0ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzcyMWMyNDtiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM3MjFjMjQ7Ym9yZGVyLWNvbG9yOiM3MjFjMjR9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodHtjb2xvcjojODE4MTgyO2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM4MTgxODI7Ym9yZGVyLWNvbG9yOiM4MTgxODJ9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJre2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojYzZjOGNhfS5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMxYjFlMjE7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS5saXN0LWdyb3VwLWl0ZW0tZGFyay5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFiMWUyMTtib3JkZXItY29sb3I6IzFiMWUyMX0uY2xvc2V7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjEuNXJlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojMDAwO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtvcGFjaXR5Oi41fS5jbG9zZTpmb2N1cywuY2xvc2U6aG92ZXJ7Y29sb3I6IzAwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtvcGFjaXR5Oi43NX0uY2xvc2U6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uLmNsb3Nle3BhZGRpbmc6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tb2RhbC1vcGVue292ZXJmbG93OmhpZGRlbn0ubW9kYWx7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDUwO2Rpc3BsYXk6bm9uZTtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTowfS5tb2RhbC1vcGVuIC5tb2RhbHtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDphdXRvO21hcmdpbjouNXJlbTtwb2ludGVyLWV2ZW50czpub25lfS5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2d7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLW91dCwtd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpfS5tb2RhbC5zaG93IC5tb2RhbC1kaWFsb2d7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfS5tb2RhbC1kaWFsb2ctY2VudGVyZWR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OmNhbGMoMTAwJSAtICguNXJlbSAqIDIpKX0ubW9kYWwtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czouM3JlbTtvdXRsaW5lOjB9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA0MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1vZGFsLWJhY2tkcm9wLmZhZGV7b3BhY2l0eTowfS5tb2RhbC1iYWNrZHJvcC5zaG93e29wYWNpdHk6LjV9Lm1vZGFsLWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjFyZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U5ZWNlZjtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4zcmVtfS5tb2RhbC1oZWFkZXIgLmNsb3Nle3BhZGRpbmc6MXJlbTttYXJnaW46LTFyZW0gLTFyZW0gLTFyZW0gYXV0b30ubW9kYWwtdGl0bGV7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuNX0ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bztwYWRkaW5nOjFyZW19Lm1vZGFsLWZvb3RlcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6ZW5kOy1tcy1mbGV4LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOjFyZW07Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0ubW9kYWwtZm9vdGVyPjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDouMjVyZW19Lm1vZGFsLWZvb3Rlcj46bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tcmlnaHQ6LjI1cmVtfS5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm1vZGFsLWRpYWxvZ3ttYXgtd2lkdGg6NTAwcHg7bWFyZ2luOjEuNzVyZW0gYXV0b30ubW9kYWwtZGlhbG9nLWNlbnRlcmVke21pbi1oZWlnaHQ6Y2FsYygxMDAlIC0gKDEuNzVyZW0gKiAyKSl9Lm1vZGFsLXNte21heC13aWR0aDozMDBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tb2RhbC1sZ3ttYXgtd2lkdGg6ODAwcHh9fS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTA3MDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXNoYWRvdzpub25lO3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtYnJlYWs6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtYnJlYWs6YXV0bztmb250LXNpemU6Ljg3NXJlbTt3b3JkLXdyYXA6YnJlYWstd29yZDtvcGFjaXR5OjB9LnRvb2x0aXAuc2hvd3tvcGFjaXR5Oi45fS50b29sdGlwIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOi44cmVtO2hlaWdodDouNHJlbX0udG9vbHRpcCAuYXJyb3c6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSwuYnMtdG9vbHRpcC10b3B7cGFkZGluZzouNHJlbSAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93LC5icy10b29sdGlwLXRvcCAuYXJyb3d7Ym90dG9tOjB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtdG9vbHRpcC10b3AgLmFycm93OjpiZWZvcmV7dG9wOjA7Ym9yZGVyLXdpZHRoOi40cmVtIC40cmVtIDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtdG9vbHRpcC1yaWdodHtwYWRkaW5nOjAgLjRyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdywuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3d7bGVmdDowO3dpZHRoOi40cmVtO2hlaWdodDouOHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtcmlnaHQgLmFycm93OjpiZWZvcmV7cmlnaHQ6MDtib3JkZXItd2lkdGg6LjRyZW0gLjRyZW0gLjRyZW0gMDtib3JkZXItcmlnaHQtY29sb3I6IzAwMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy10b29sdGlwLWJvdHRvbXtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3csLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvd3t0b3A6MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLWJvdHRvbSAuYXJyb3c6OmJlZm9yZXtib3R0b206MDtib3JkZXItd2lkdGg6MCAuNHJlbSAuNHJlbTtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sLmJzLXRvb2x0aXAtbGVmdHtwYWRkaW5nOjAgLjRyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93LC5icy10b29sdGlwLWxlZnQgLmFycm93e3JpZ2h0OjA7d2lkdGg6LjRyZW07aGVpZ2h0Oi44cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLWxlZnQgLmFycm93OjpiZWZvcmV7bGVmdDowO2JvcmRlci13aWR0aDouNHJlbSAwIC40cmVtIC40cmVtO2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9LnRvb2x0aXAtaW5uZXJ7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmc6LjI1cmVtIC41cmVtO2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNjA7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6Mjc2cHg7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOi4zcmVtfS5wb3BvdmVyIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0Oi41cmVtO21hcmdpbjowIC4zcmVtfS5wb3BvdmVyIC5hcnJvdzo6YWZ0ZXIsLnBvcG92ZXIgLmFycm93OjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSwuYnMtcG9wb3Zlci10b3B7bWFyZ2luLWJvdHRvbTouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdywuYnMtcG9wb3Zlci10b3AgLmFycm93e2JvdHRvbTpjYWxjKCguNXJlbSArIDFweCkgKiAtMSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3Jle2JvcmRlci13aWR0aDouNXJlbSAuNXJlbSAwfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItdG9wIC5hcnJvdzo6YmVmb3Jle2JvdHRvbTowO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlcntib3R0b206MXB4O2JvcmRlci10b3AtY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0sLmJzLXBvcG92ZXItcmlnaHR7bWFyZ2luLWxlZnQ6LjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdywuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3d7bGVmdDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSk7d2lkdGg6LjVyZW07aGVpZ2h0OjFyZW07bWFyZ2luOi4zcmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIC41cmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YmVmb3JlLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YmVmb3Jle2xlZnQ6MDtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvdzo6YWZ0ZXJ7bGVmdDoxcHg7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNmZmZ9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSwuYnMtcG9wb3Zlci1ib3R0b217bWFyZ2luLXRvcDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93e3RvcDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3Jle2JvcmRlci13aWR0aDowIC41cmVtIC41cmVtIC41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5hcnJvdzo6YmVmb3Jle3RvcDowO2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlcnt0b3A6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlLC5icy1wb3BvdmVyLWJvdHRvbSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjUwJTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07bWFyZ2luLWxlZnQ6LS41cmVtO2NvbnRlbnQ6IiI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Y3ZjdmN30uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtcG9wb3Zlci1sZWZ0e21hcmdpbi1yaWdodDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csLmJzLXBvcG92ZXItbGVmdCAuYXJyb3d7cmlnaHQ6Y2FsYygoLjVyZW0gKyAxcHgpICogLTEpO3dpZHRoOi41cmVtO2hlaWdodDoxcmVtO21hcmdpbjouM3JlbSAwfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIDAgLjVyZW0gLjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZXtyaWdodDowO2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWxlZnQgLmFycm93OjphZnRlcntyaWdodDoxcHg7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZn0ucG9wb3Zlci1oZWFkZXJ7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxcmVtO2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KX0ucG9wb3Zlci1oZWFkZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5wb3BvdmVyLWJvZHl7cGFkZGluZzouNXJlbSAuNzVyZW07Y29sb3I6IzIxMjUyOX0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2UsLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXBlcnNwZWN0aXZlOjEwMDBweDtwZXJzcGVjdGl2ZToxMDAwcHh9LmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtaXRlbS1wcmV2LC5jYXJvdXNlbC1pdGVtLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5jYXJvdXNlbC1pdGVtLW5leHQsLmNhcm91c2VsLWl0ZW0tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0LC5jYXJvdXNlbC1pdGVtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodCwuY2Fyb3VzZWwtaXRlbS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX0uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtaXRlbS1wcmV2ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkgb3IgKHRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZCkpey5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19LmNhcm91c2VsLWNvbnRyb2wtbmV4dCwuY2Fyb3VzZWwtY29udHJvbC1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNSU7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5Oi41fS5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3ZlciwuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLC5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtvdXRsaW5lOjA7b3BhY2l0eTouOX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2e2xlZnQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0e3JpZ2h0OjB9LmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRSIpfS5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFIil9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MTBweDtsZWZ0OjA7ei1pbmRleDoxNTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjE1JTttYXJnaW4tbGVmdDoxNSU7bGlzdC1zdHlsZTpub25lfS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWZsZXg6MDstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvO3dpZHRoOjMwcHg7aGVpZ2h0OjNweDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjNweDt0ZXh0LWluZGVudDotOTk5cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTBweDtsZWZ0OjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTBweDtjb250ZW50OiIifS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTEwcHg7bGVmdDowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwcHg7Y29udGVudDoiIn0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNSU7Ym90dG9tOjIwcHg7bGVmdDoxNSU7ei1pbmRleDoxMDtwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ24tYmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi10b3B7dmVydGljYWwtYWxpZ246dG9wIWltcG9ydGFudH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZSFpbXBvcnRhbnR9LmFsaWduLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b20haW1wb3J0YW50fS5hbGlnbi10ZXh0LWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbSFpbXBvcnRhbnR9LmFsaWduLXRleHQtdG9we3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wIWltcG9ydGFudH0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fWEuYmctcHJpbWFyeTpmb2N1cyxhLmJnLXByaW1hcnk6aG92ZXIsYnV0dG9uLmJnLXByaW1hcnk6Zm9jdXMsYnV0dG9uLmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZCFpbXBvcnRhbnR9YS5iZy1zZWNvbmRhcnk6Zm9jdXMsYS5iZy1zZWNvbmRhcnk6aG92ZXIsYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyxidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzU0NWI2MiFpbXBvcnRhbnR9LmJnLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1IWltcG9ydGFudH1hLmJnLXN1Y2Nlc3M6Zm9jdXMsYS5iZy1zdWNjZXNzOmhvdmVyLGJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzLGJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFlN2UzNCFpbXBvcnRhbnR9LmJnLWluZm97YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4IWltcG9ydGFudH1hLmJnLWluZm86Zm9jdXMsYS5iZy1pbmZvOmhvdmVyLGJ1dHRvbi5iZy1pbmZvOmZvY3VzLGJ1dHRvbi5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzExN2E4YiFpbXBvcnRhbnR9LmJnLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLmJnLXdhcm5pbmc6Zm9jdXMsYS5iZy13YXJuaW5nOmhvdmVyLGJ1dHRvbi5iZy13YXJuaW5nOmZvY3VzLGJ1dHRvbi5iZy13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QzOWUwMCFpbXBvcnRhbnR9LmJnLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDUhaW1wb3J0YW50fWEuYmctZGFuZ2VyOmZvY3VzLGEuYmctZGFuZ2VyOmhvdmVyLGJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMsYnV0dG9uLmJnLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzAhaW1wb3J0YW50fS5iZy1saWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEuYmctbGlnaHQ6Zm9jdXMsYS5iZy1saWdodDpob3ZlcixidXR0b24uYmctbGlnaHQ6Zm9jdXMsYnV0dG9uLmJnLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RhZTBlNSFpbXBvcnRhbnR9LmJnLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLmJnLWRhcms6Zm9jdXMsYS5iZy1kYXJrOmhvdmVyLGJ1dHRvbi5iZy1kYXJrOmZvY3VzLGJ1dHRvbi5iZy1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFkMjEyNCFpbXBvcnRhbnR9LmJnLXdoaXRle2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5ib3JkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLTB7Ym9yZGVyOjAhaW1wb3J0YW50fS5ib3JkZXItdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fS5ib3JkZXItc2Vjb25kYXJ5e2JvcmRlci1jb2xvcjojNmM3NTdkIWltcG9ydGFudH0uYm9yZGVyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiMyOGE3NDUhaW1wb3J0YW50fS5ib3JkZXItaW5mb3tib3JkZXItY29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9LmJvcmRlci13YXJuaW5ne2JvcmRlci1jb2xvcjojZmZjMTA3IWltcG9ydGFudH0uYm9yZGVyLWRhbmdlcntib3JkZXItY29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9LmJvcmRlci1saWdodHtib3JkZXItY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9LmJvcmRlci1kYXJre2JvcmRlci1jb2xvcjojMzQzYTQwIWltcG9ydGFudH0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjojZmZmIWltcG9ydGFudH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLXJpZ2h0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGVmdHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnJvdW5kZWQtMHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fS5jbGVhcmZpeDo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO2NvbnRlbnQ6IiJ9LmQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtaW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmQtc20tbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXNtLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtc20taW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1zbS1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1zbS10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1zbS10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXNtLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1zbS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtc20taW5saW5lLWZsZXh7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5kLW1kLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1tZC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLW1kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtbWQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtbWQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtbWQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1tZC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtbWQtZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLW1kLWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZC1sZy1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLWxnLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLWxnLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLWxnLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtbGctdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLWxnLWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1sZy1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5kLXhsLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC14bC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXhsLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQteGwtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQteGwtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQteGwtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC14bC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQteGwtZmxleHtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXhsLWlubGluZS1mbGV4e2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94IWltcG9ydGFudDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSBwcmludHsuZC1wcmludC1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtcHJpbnQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLXByaW50LWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXByaW50LXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXByaW50LXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLXByaW50LWZsZXh7ZGlzcGxheTotd2Via2l0LWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1wcmludC1pbmxpbmUtZmxleHtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveCFpbXBvcnRhbnQ7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX0uZW1iZWQtcmVzcG9uc2l2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbn0uZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDoiIn0uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjB9LmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZXtwYWRkaW5nLXRvcDo0Mi44NTcxNDMlfS5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmV7cGFkZGluZy10b3A6NTYuMjUlfS5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LmVtYmVkLXJlc3BvbnNpdmUtMWJ5MTo6YmVmb3Jle3BhZGRpbmctdG9wOjEwMCV9LmZsZXgtcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmZsZXgtc20tcm93ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtc20tcm93LXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1jb2x1bW4tcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXNtLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtc20td3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0ey13ZWJraXQtYm94LXBhY2s6c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWVuZHstd2Via2l0LWJveC1wYWNrOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1jZW50ZXJ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWJldHdlZW57LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5IWltcG9ydGFudDstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdGFydHstd2Via2l0LWJveC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1lbmR7LXdlYmtpdC1ib3gtYWxpZ246ZW5kIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tY2VudGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZXstd2Via2l0LWJveC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tc3RyZXRjaHstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbGV4LW1kLXJvd3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1tZC1jb2x1bW57LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LW1kLXJvdy1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtY29sdW1uLXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1tZC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LW1kLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1lbmR7LXdlYmtpdC1ib3gtcGFjazplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyey13ZWJraXQtYm94LXBhY2s6Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuey13ZWJraXQtYm94LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtc3RhcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtZW5key13ZWJraXQtYm94LWFsaWduOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLWNlbnRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtYmFzZWxpbmV7LXdlYmtpdC1ib3gtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2h7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxleC1sZy1yb3d7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWwhaW1wb3J0YW50Oy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWwhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtbGctY29sdW1uey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1sZy1yb3ctcmV2ZXJzZXstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWxnLWNvbHVtbi1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2UhaW1wb3J0YW50Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWxnLXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbGctbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC1sZy13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnR7LXdlYmtpdC1ib3gtcGFjazpzdGFydCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctZW5key13ZWJraXQtYm94LXBhY2s6ZW5kIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLWNlbnRlcnstd2Via2l0LWJveC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2Vlbnstd2Via2l0LWJveC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLXN0YXJ0ey13ZWJraXQtYm94LWFsaWduOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWVuZHstd2Via2l0LWJveC1hbGlnbjplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1jZW50ZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5ley13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1zdHJldGNoey13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5mbGV4LXhsLXJvd3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbCFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC14bC1jb2x1bW57LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsIWltcG9ydGFudDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LXhsLXJvdy1yZXZlcnNley13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtY29sdW1uLXJldmVyc2V7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsIWltcG9ydGFudDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZSFpbXBvcnRhbnQ7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC14bC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LXhsLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0IWltcG9ydGFudDstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1lbmR7LXdlYmtpdC1ib3gtcGFjazplbmQhaW1wb3J0YW50Oy1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyey13ZWJraXQtYm94LXBhY2s6Y2VudGVyIWltcG9ydGFudDstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1iZXR3ZWVuey13ZWJraXQtYm94LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RhcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtZW5key13ZWJraXQtYm94LWFsaWduOmVuZCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWNlbnRlcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtYmFzZWxpbmV7LXdlYmtpdC1ib3gtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2h7LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fS5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbG9hdC1zbS1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1zbS1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXNtLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZmxvYXQtbWQtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbWQtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1tZC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmZsb2F0LWxnLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LWxnLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbGctbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxvYXQteGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQteGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC14bC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX0ucG9zaXRpb24tc3RhdGlje3Bvc2l0aW9uOnN0YXRpYyFpbXBvcnRhbnR9LnBvc2l0aW9uLXJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlIWltcG9ydGFudH0ucG9zaXRpb24tYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS5wb3NpdGlvbi1maXhlZHtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnR9LnBvc2l0aW9uLXN0aWNreXtwb3NpdGlvbjotd2Via2l0LXN0aWNreSFpbXBvcnRhbnQ7cG9zaXRpb246c3RpY2t5IWltcG9ydGFudH0uZml4ZWQtdG9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTAzMH0uZml4ZWQtYm90dG9te3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTAzMH1Ac3VwcG9ydHMgKChwb3NpdGlvbjotd2Via2l0LXN0aWNreSkgb3IgKHBvc2l0aW9uOnN0aWNreSkpey5zdGlja3ktdG9we3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5O3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjEwMjB9fS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvO3doaXRlLXNwYWNlOm5vcm1hbDstd2Via2l0LWNsaXAtcGF0aDpub25lO2NsaXAtcGF0aDpub25lfS53LTI1e3dpZHRoOjI1JSFpbXBvcnRhbnR9LnctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0udy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS53LTEwMHt3aWR0aDoxMDAlIWltcG9ydGFudH0uaC0yNXtoZWlnaHQ6MjUlIWltcG9ydGFudH0uaC01MHtoZWlnaHQ6NTAlIWltcG9ydGFudH0uaC03NXtoZWlnaHQ6NzUlIWltcG9ydGFudH0uaC0xMDB7aGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5tdy0xMDB7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fS5taC0xMDB7bWF4LWhlaWdodDoxMDAlIWltcG9ydGFudH0ubS0we21hcmdpbjowIWltcG9ydGFudH0ubXQtMCwubXktMHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5tci0wLC5teC0we21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ubWItMCwubXktMHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tbC0wLC5teC0we21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5tLTF7bWFyZ2luOi4yNXJlbSFpbXBvcnRhbnR9Lm10LTEsLm15LTF7bWFyZ2luLXRvcDouMjVyZW0haW1wb3J0YW50fS5tci0xLC5teC0xe21hcmdpbi1yaWdodDouMjVyZW0haW1wb3J0YW50fS5tYi0xLC5teS0xe21hcmdpbi1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ubWwtMSwubXgtMXttYXJnaW4tbGVmdDouMjVyZW0haW1wb3J0YW50fS5tLTJ7bWFyZ2luOi41cmVtIWltcG9ydGFudH0ubXQtMiwubXktMnttYXJnaW4tdG9wOi41cmVtIWltcG9ydGFudH0ubXItMiwubXgtMnttYXJnaW4tcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5tYi0yLC5teS0ye21hcmdpbi1ib3R0b206LjVyZW0haW1wb3J0YW50fS5tbC0yLC5teC0ye21hcmdpbi1sZWZ0Oi41cmVtIWltcG9ydGFudH0ubS0ze21hcmdpbjoxcmVtIWltcG9ydGFudH0ubXQtMywubXktM3ttYXJnaW4tdG9wOjFyZW0haW1wb3J0YW50fS5tci0zLC5teC0ze21hcmdpbi1yaWdodDoxcmVtIWltcG9ydGFudH0ubWItMywubXktM3ttYXJnaW4tYm90dG9tOjFyZW0haW1wb3J0YW50fS5tbC0zLC5teC0ze21hcmdpbi1sZWZ0OjFyZW0haW1wb3J0YW50fS5tLTR7bWFyZ2luOjEuNXJlbSFpbXBvcnRhbnR9Lm10LTQsLm15LTR7bWFyZ2luLXRvcDoxLjVyZW0haW1wb3J0YW50fS5tci00LC5teC00e21hcmdpbi1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5tYi00LC5teS00e21hcmdpbi1ib3R0b206MS41cmVtIWltcG9ydGFudH0ubWwtNCwubXgtNHttYXJnaW4tbGVmdDoxLjVyZW0haW1wb3J0YW50fS5tLTV7bWFyZ2luOjNyZW0haW1wb3J0YW50fS5tdC01LC5teS01e21hcmdpbi10b3A6M3JlbSFpbXBvcnRhbnR9Lm1yLTUsLm14LTV7bWFyZ2luLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5tYi01LC5teS01e21hcmdpbi1ib3R0b206M3JlbSFpbXBvcnRhbnR9Lm1sLTUsLm14LTV7bWFyZ2luLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC0wLC5weS0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci0wLC5weC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLTAsLnB5LTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLTAsLnB4LTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC0xLC5weS0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLTEsLnB4LTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi0xLC5weS0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLTEsLnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQtMiwucHktMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLTIsLnB4LTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLTIsLnB5LTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC0yLC5weC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC0zLC5weS0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci0zLC5weC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLTMsLnB5LTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLTMsLnB4LTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC00LC5weS00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLTQsLnB4LTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi00LC5weS00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLTQsLnB4LTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC01LC5weS01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci01LC5weC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLTUsLnB5LTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLTUsLnB4LTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLWF1dG97bWFyZ2luOmF1dG8haW1wb3J0YW50fS5tdC1hdXRvLC5teS1hdXRve21hcmdpbi10b3A6YXV0byFpbXBvcnRhbnR9Lm1yLWF1dG8sLm14LWF1dG97bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fS5tYi1hdXRvLC5teS1hdXRve21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9Lm1sLWF1dG8sLm14LWF1dG97bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5tLXNtLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1zbS0wLC5teS1zbS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXNtLTAsLm14LXNtLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1zbS0wLC5teS1zbS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXNtLTAsLm14LXNtLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tc20tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtc20tMSwubXktc20tMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTEsLm14LXNtLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTEsLm15LXNtLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1zbS0xLC5teC1zbS0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tc20tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1zbS0yLC5teS1zbS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1zbS0yLC5teC1zbS0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTIsLm15LXNtLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTIsLm14LXNtLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXNtLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1zbS0zLC5teS1zbS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTMsLm14LXNtLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1zbS0zLC5teS1zbS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTMsLm14LXNtLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tc20tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtc20tNCwubXktc20tNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTQsLm14LXNtLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTQsLm15LXNtLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1zbS00LC5teC1zbS00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tc20tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXNtLTUsLm15LXNtLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItc20tNSwubXgtc20tNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXNtLTUsLm15LXNtLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtc20tNSwubXgtc20tNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1zbS0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXNtLTAsLnB5LXNtLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXNtLTAsLnB4LXNtLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItc20tMCwucHktc20tMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtc20tMCwucHgtc20tMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtc20tMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTEsLnB5LXNtLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItc20tMSwucHgtc20tMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTEsLnB5LXNtLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtc20tMSwucHgtc20tMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1zbS0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1zbS0yLC5weS1zbS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItc20tMiwucHgtc20tMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItc20tMiwucHktc20tMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXNtLTIsLnB4LXNtLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1zbS0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXNtLTMsLnB5LXNtLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXNtLTMsLnB4LXNtLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItc20tMywucHktc20tM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtc20tMywucHgtc20tM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtc20tNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTQsLnB5LXNtLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItc20tNCwucHgtc20tNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXNtLTQsLnB5LXNtLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtc20tNCwucHgtc20tNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1zbS01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXNtLTUsLnB5LXNtLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXNtLTUsLnB4LXNtLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItc20tNSwucHktc20tNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtc20tNSwucHgtc20tNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tc20tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXNtLWF1dG8sLm15LXNtLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItc20tYXV0bywubXgtc20tYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXNtLWF1dG8sLm15LXNtLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtc20tYXV0bywubXgtc20tYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5tLW1kLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1tZC0wLC5teS1tZC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLW1kLTAsLm14LW1kLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1tZC0wLC5teS1tZC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLW1kLTAsLm14LW1kLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tbWQtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtbWQtMSwubXktbWQtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTEsLm14LW1kLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTEsLm15LW1kLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1tZC0xLC5teC1tZC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tbWQtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1tZC0yLC5teS1tZC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1tZC0yLC5teC1tZC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTIsLm15LW1kLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTIsLm14LW1kLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLW1kLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1tZC0zLC5teS1tZC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTMsLm14LW1kLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1tZC0zLC5teS1tZC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTMsLm14LW1kLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tbWQtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtbWQtNCwubXktbWQtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTQsLm14LW1kLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTQsLm15LW1kLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1tZC00LC5teC1tZC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tbWQtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LW1kLTUsLm15LW1kLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItbWQtNSwubXgtbWQtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLW1kLTUsLm15LW1kLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtbWQtNSwubXgtbWQtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1tZC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LW1kLTAsLnB5LW1kLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLW1kLTAsLnB4LW1kLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbWQtMCwucHktbWQtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbWQtMCwucHgtbWQtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbWQtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTEsLnB5LW1kLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbWQtMSwucHgtbWQtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTEsLnB5LW1kLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbWQtMSwucHgtbWQtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1tZC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1tZC0yLC5weS1tZC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbWQtMiwucHgtbWQtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbWQtMiwucHktbWQtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLW1kLTIsLnB4LW1kLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1tZC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LW1kLTMsLnB5LW1kLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLW1kLTMsLnB4LW1kLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbWQtMywucHktbWQtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbWQtMywucHgtbWQtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbWQtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTQsLnB5LW1kLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbWQtNCwucHgtbWQtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLW1kLTQsLnB5LW1kLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbWQtNCwucHgtbWQtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1tZC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LW1kLTUsLnB5LW1kLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLW1kLTUsLnB4LW1kLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbWQtNSwucHktbWQtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbWQtNSwucHgtbWQtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tbWQtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LW1kLWF1dG8sLm15LW1kLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItbWQtYXV0bywubXgtbWQtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLW1kLWF1dG8sLm15LW1kLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtbWQtYXV0bywubXgtbWQtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tLWxnLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC1sZy0wLC5teS1sZy0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLWxnLTAsLm14LWxnLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi1sZy0wLC5teS1sZy0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLWxnLTAsLm14LWxnLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tbGctMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtbGctMSwubXktbGctMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTEsLm14LWxnLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTEsLm15LWxnLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC1sZy0xLC5teC1sZy0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tbGctMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC1sZy0yLC5teS1sZy0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci1sZy0yLC5teC1sZy0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTIsLm15LWxnLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTIsLm14LWxnLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLWxnLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC1sZy0zLC5teS1sZy0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTMsLm14LWxnLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi1sZy0zLC5teS1sZy0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTMsLm14LWxnLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tbGctNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtbGctNCwubXktbGctNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTQsLm14LWxnLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTQsLm15LWxnLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC1sZy00LC5teC1sZy00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tbGctNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LWxnLTUsLm15LWxnLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItbGctNSwubXgtbGctNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLWxnLTUsLm15LWxnLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtbGctNSwubXgtbGctNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC1sZy0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LWxnLTAsLnB5LWxnLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLWxnLTAsLnB4LWxnLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItbGctMCwucHktbGctMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtbGctMCwucHgtbGctMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtbGctMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTEsLnB5LWxnLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItbGctMSwucHgtbGctMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTEsLnB5LWxnLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtbGctMSwucHgtbGctMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC1sZy0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC1sZy0yLC5weS1sZy0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItbGctMiwucHgtbGctMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItbGctMiwucHktbGctMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLWxnLTIsLnB4LWxnLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC1sZy0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LWxnLTMsLnB5LWxnLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLWxnLTMsLnB4LWxnLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItbGctMywucHktbGctM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtbGctMywucHgtbGctM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtbGctNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTQsLnB5LWxnLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItbGctNCwucHgtbGctNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLWxnLTQsLnB5LWxnLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtbGctNCwucHgtbGctNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC1sZy01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LWxnLTUsLnB5LWxnLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLWxnLTUsLnB4LWxnLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItbGctNSwucHktbGctNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtbGctNSwucHgtbGctNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tbGctYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWxnLWF1dG8sLm15LWxnLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItbGctYXV0bywubXgtbGctYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWxnLWF1dG8sLm15LWxnLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtbGctYXV0bywubXgtbGctYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubS14bC0we21hcmdpbjowIWltcG9ydGFudH0ubXQteGwtMCwubXkteGwtMHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5tci14bC0wLC5teC14bC0we21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ubWIteGwtMCwubXkteGwtMHttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tbC14bC0wLC5teC14bC0we21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5tLXhsLTF7bWFyZ2luOi4yNXJlbSFpbXBvcnRhbnR9Lm10LXhsLTEsLm15LXhsLTF7bWFyZ2luLXRvcDouMjVyZW0haW1wb3J0YW50fS5tci14bC0xLC5teC14bC0xe21hcmdpbi1yaWdodDouMjVyZW0haW1wb3J0YW50fS5tYi14bC0xLC5teS14bC0xe21hcmdpbi1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ubWwteGwtMSwubXgteGwtMXttYXJnaW4tbGVmdDouMjVyZW0haW1wb3J0YW50fS5tLXhsLTJ7bWFyZ2luOi41cmVtIWltcG9ydGFudH0ubXQteGwtMiwubXkteGwtMnttYXJnaW4tdG9wOi41cmVtIWltcG9ydGFudH0ubXIteGwtMiwubXgteGwtMnttYXJnaW4tcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5tYi14bC0yLC5teS14bC0ye21hcmdpbi1ib3R0b206LjVyZW0haW1wb3J0YW50fS5tbC14bC0yLC5teC14bC0ye21hcmdpbi1sZWZ0Oi41cmVtIWltcG9ydGFudH0ubS14bC0ze21hcmdpbjoxcmVtIWltcG9ydGFudH0ubXQteGwtMywubXkteGwtM3ttYXJnaW4tdG9wOjFyZW0haW1wb3J0YW50fS5tci14bC0zLC5teC14bC0ze21hcmdpbi1yaWdodDoxcmVtIWltcG9ydGFudH0ubWIteGwtMywubXkteGwtM3ttYXJnaW4tYm90dG9tOjFyZW0haW1wb3J0YW50fS5tbC14bC0zLC5teC14bC0ze21hcmdpbi1sZWZ0OjFyZW0haW1wb3J0YW50fS5tLXhsLTR7bWFyZ2luOjEuNXJlbSFpbXBvcnRhbnR9Lm10LXhsLTQsLm15LXhsLTR7bWFyZ2luLXRvcDoxLjVyZW0haW1wb3J0YW50fS5tci14bC00LC5teC14bC00e21hcmdpbi1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5tYi14bC00LC5teS14bC00e21hcmdpbi1ib3R0b206MS41cmVtIWltcG9ydGFudH0ubWwteGwtNCwubXgteGwtNHttYXJnaW4tbGVmdDoxLjVyZW0haW1wb3J0YW50fS5tLXhsLTV7bWFyZ2luOjNyZW0haW1wb3J0YW50fS5tdC14bC01LC5teS14bC01e21hcmdpbi10b3A6M3JlbSFpbXBvcnRhbnR9Lm1yLXhsLTUsLm14LXhsLTV7bWFyZ2luLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5tYi14bC01LC5teS14bC01e21hcmdpbi1ib3R0b206M3JlbSFpbXBvcnRhbnR9Lm1sLXhsLTUsLm14LXhsLTV7bWFyZ2luLWxlZnQ6M3JlbSFpbXBvcnRhbnR9LnAteGwtMHtwYWRkaW5nOjAhaW1wb3J0YW50fS5wdC14bC0wLC5weS14bC0we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5wci14bC0wLC5weC14bC0we3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnBiLXhsLTAsLnB5LXhsLTB7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnBsLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5wLXhsLTF7cGFkZGluZzouMjVyZW0haW1wb3J0YW50fS5wdC14bC0xLC5weS14bC0xe3BhZGRpbmctdG9wOi4yNXJlbSFpbXBvcnRhbnR9LnByLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1yaWdodDouMjVyZW0haW1wb3J0YW50fS5wYi14bC0xLC5weS14bC0xe3BhZGRpbmctYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTEsLnB4LXhsLTF7cGFkZGluZy1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9LnAteGwtMntwYWRkaW5nOi41cmVtIWltcG9ydGFudH0ucHQteGwtMiwucHkteGwtMntwYWRkaW5nLXRvcDouNXJlbSFpbXBvcnRhbnR9LnByLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1yaWdodDouNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTIsLnB5LXhsLTJ7cGFkZGluZy1ib3R0b206LjVyZW0haW1wb3J0YW50fS5wbC14bC0yLC5weC14bC0ye3BhZGRpbmctbGVmdDouNXJlbSFpbXBvcnRhbnR9LnAteGwtM3twYWRkaW5nOjFyZW0haW1wb3J0YW50fS5wdC14bC0zLC5weS14bC0ze3BhZGRpbmctdG9wOjFyZW0haW1wb3J0YW50fS5wci14bC0zLC5weC14bC0ze3BhZGRpbmctcmlnaHQ6MXJlbSFpbXBvcnRhbnR9LnBiLXhsLTMsLnB5LXhsLTN7cGFkZGluZy1ib3R0b206MXJlbSFpbXBvcnRhbnR9LnBsLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1sZWZ0OjFyZW0haW1wb3J0YW50fS5wLXhsLTR7cGFkZGluZzoxLjVyZW0haW1wb3J0YW50fS5wdC14bC00LC5weS14bC00e3BhZGRpbmctdG9wOjEuNXJlbSFpbXBvcnRhbnR9LnByLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1yaWdodDoxLjVyZW0haW1wb3J0YW50fS5wYi14bC00LC5weS14bC00e3BhZGRpbmctYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTQsLnB4LXhsLTR7cGFkZGluZy1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9LnAteGwtNXtwYWRkaW5nOjNyZW0haW1wb3J0YW50fS5wdC14bC01LC5weS14bC01e3BhZGRpbmctdG9wOjNyZW0haW1wb3J0YW50fS5wci14bC01LC5weC14bC01e3BhZGRpbmctcmlnaHQ6M3JlbSFpbXBvcnRhbnR9LnBiLXhsLTUsLnB5LXhsLTV7cGFkZGluZy1ib3R0b206M3JlbSFpbXBvcnRhbnR9LnBsLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1sZWZ0OjNyZW0haW1wb3J0YW50fS5tLXhsLWF1dG97bWFyZ2luOmF1dG8haW1wb3J0YW50fS5tdC14bC1hdXRvLC5teS14bC1hdXRve21hcmdpbi10b3A6YXV0byFpbXBvcnRhbnR9Lm1yLXhsLWF1dG8sLm14LXhsLWF1dG97bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fS5tYi14bC1hdXRvLC5teS14bC1hdXRve21hcmdpbi1ib3R0b206YXV0byFpbXBvcnRhbnR9Lm1sLXhsLWF1dG8sLm14LXhsLWF1dG97bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnR9fS50ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5IWltcG9ydGFudH0udGV4dC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwIWltcG9ydGFudH0udGV4dC10cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey50ZXh0LXNtLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1zbS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1zbS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LnRleHQtbWQtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LW1kLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LW1kLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsudGV4dC1sZy1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtbGctcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtbGctY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudGV4dC14bC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQteGwtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQteGwtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19LnRleHQtbG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZSFpbXBvcnRhbnR9LnRleHQtdXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSFpbXBvcnRhbnR9LnRleHQtY2FwaXRhbGl6ZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplIWltcG9ydGFudH0uZm9udC13ZWlnaHQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtbm9ybWFse2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWJvbGR7Zm9udC13ZWlnaHQ6NzAwIWltcG9ydGFudH0uZm9udC1pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWMhaW1wb3J0YW50fS50ZXh0LXdoaXRle2NvbG9yOiNmZmYhaW1wb3J0YW50fS50ZXh0LXByaW1hcnl7Y29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9YS50ZXh0LXByaW1hcnk6Zm9jdXMsYS50ZXh0LXByaW1hcnk6aG92ZXJ7Y29sb3I6IzAwNjJjYyFpbXBvcnRhbnR9LnRleHQtc2Vjb25kYXJ5e2NvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fWEudGV4dC1zZWNvbmRhcnk6Zm9jdXMsYS50ZXh0LXNlY29uZGFyeTpob3Zlcntjb2xvcjojNTQ1YjYyIWltcG9ydGFudH0udGV4dC1zdWNjZXNze2NvbG9yOiMyOGE3NDUhaW1wb3J0YW50fWEudGV4dC1zdWNjZXNzOmZvY3VzLGEudGV4dC1zdWNjZXNzOmhvdmVye2NvbG9yOiMxZTdlMzQhaW1wb3J0YW50fS50ZXh0LWluZm97Y29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9YS50ZXh0LWluZm86Zm9jdXMsYS50ZXh0LWluZm86aG92ZXJ7Y29sb3I6IzExN2E4YiFpbXBvcnRhbnR9LnRleHQtd2FybmluZ3tjb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojZDM5ZTAwIWltcG9ydGFudH0udGV4dC1kYW5nZXJ7Y29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9YS50ZXh0LWRhbmdlcjpmb2N1cyxhLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiNiZDIxMzAhaW1wb3J0YW50fS50ZXh0LWxpZ2h0e2NvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEudGV4dC1saWdodDpmb2N1cyxhLnRleHQtbGlnaHQ6aG92ZXJ7Y29sb3I6I2RhZTBlNSFpbXBvcnRhbnR9LnRleHQtZGFya3tjb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLnRleHQtZGFyazpmb2N1cyxhLnRleHQtZGFyazpob3Zlcntjb2xvcjojMWQyMTI0IWltcG9ydGFudH0udGV4dC1tdXRlZHtjb2xvcjojNmM3NTdkIWltcG9ydGFudH0udGV4dC1oaWRle2ZvbnQ6MC8wIGE7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbiFpbXBvcnRhbnR9QG1lZGlhIHByaW50eyosOjphZnRlciw6OmJlZm9yZXt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fWE6bm90KC5idG4pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YWJiclt0aXRsZV06OmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKHRpdGxlKSAiKSJ9cHJle3doaXRlLXNwYWNlOnByZS13cmFwIWltcG9ydGFudH1ibG9ja3F1b3RlLHByZXtib3JkZXI6MXB4IHNvbGlkICM5OTk7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9aW1nLHRye3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9QHBhZ2V7c2l6ZTphM31ib2R5e21pbi13aWR0aDo5OTJweCFpbXBvcnRhbnR9LmNvbnRhaW5lcnttaW4td2lkdGg6OTkycHghaW1wb3J0YW50fS5uYXZiYXJ7ZGlzcGxheTpub25lfS5iYWRnZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkIWltcG9ydGFudH19Ci8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uY3NzLm1hcCAqLw=="}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/color/theme-blue-pro.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.912Z","timestamp":1785154927912,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/color/theme-blue-pro.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:36 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=tCgFL7x8osTJfdPafdEYEJfB07IrTq69MQk3JWgpu0J9RrGVLWPgMOOA0iA45ldInVaawJ38wtIzGY1JqUca7FTENaax%2BcKD4xJmfMUhc1WRecZMuGQTXyFn7IHGW%2BjQ0B%2Bxi7r8SOI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b7d51b28a-OSL\r\ncontent-length: 1075\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5492,"size_decoded":1886,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"556c4dd7039681482cba8c8cf2ae2531","sha1":"2531cf8e1b4362743790591a3fb13521ac1949f5","sha256":"714725462d8694ffbc0d46660f3eb6a6c9347b904d508572d66e5ae7f5e83c0e","sha512":"5cfc3b0eb524dd41db73f0f6913e83f72140b87c4b715ba3e79b643a8a0447ebf7e73ab8e1fd5c56dc866fdf7b2ba55c29fde862dc537150079903f01ff42d26","ssdeep":"96:w3CSr+aLzRrAv/6/u0qfen1RPqRjfo/8hFrUlHluL0bhHiFug:w3V+EzM5UlF0og","tlshash":"4bb1add0370a6cc46773c045136abd63076b739dee162efd74b5918c0985e982b6a31b","first_seen":"2026-07-27T05:58:00.900437Z","last_seen":"2026-07-27T12:23:18.786062Z","times_seen":3,"resource_available":false,"data":"LyohDQpBdXRob3IgICAgICAgOiBCZXN0d2ViY3JlYXRvci4NClRlbXBsYXRlIE5hbWU6IENyeXB0b2tpbmcgLSBCaXRjb2luICYgSUNPIENyeXB0b2N1cnJlbmN5IExhbmRpbmcgUGFnZSBIVE1MIFRlbXBsYXRlDQpWZXJzaW9uICAgICAgOiAxLjUNCiovDQoNCmJ1dHRvbiwNCi5idG4tZGVmYXVsdCwNCi5ncmFkaWVudF9ib3gsDQoucm9hZG1hcC5ncmFkaWVudF9ib3g6YmVmb3JlLA0KLm5ld3NsZXR0ZXJfZm9ybSAub3V0bGluZV9pbnB1dCwNCi5yb2FkbWFwX2ljb24uaWNvbl9ncmFkaWVudF9ib3g6OmJlZm9yZSwNCi5tZnAtYmcsDQoudl9ibHVlIC5tZnAtYmcsDQoudl9kYXJrIC5tZnAtYmcsDQoudl9kYXJrX2xpZ2h0IC5tZnAtYmcsDQoucHJvZ3Jlc3MtYmFyIHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI5LDEwNiwyNTUsMSkgMCUscmdiYSg3MCwyMTQsMjU1LDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI5LDEwNiwyNTUsMSkgMCUscmdiYSg3MCwyMTQsMjU1LDEpIDk5JSk7DQp9DQoNCi5idG4tZGVmYXVsdDo6YmVmb3JlLA0KLmJ0bi1kZWZhdWx0LmFjdGl2ZS5mb2N1cywgDQouYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLCANCi5idG4tZGVmYXVsdC5hY3RpdmU6aG92ZXIsIA0KLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywgDQouYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLA0KLmJ0bi1kZWZhdWx0LmFjdGl2ZSwNCi5idG4tZGVmYXVsdDphY3RpdmUsDQouYnRuLWRlZmF1bHQuZm9jdXM6YWN0aXZlLCANCi5idG4tZGVmYXVsdDpmb2N1cywNCi5idG4uYWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCANCi5idG46YWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLA0KLnNvY2lhbF90ZWFtIGE6OmJlZm9yZSB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg3MCwyMTQsMjU1LDEpIDAlLHJnYmEoMjksMTA2LDI1NSwxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg3MCwyMTQsMjU1LDEpIDAlLHJnYmEoMjksMTA2LDI1NSwxKSA5OSUpOw0KfQ0KLmJ0bi1zZWNvbmRhcnk6aG92ZXIsDQouYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCANCi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgDQouYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIA0KLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyLA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLA0KLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLA0KLmJ0bi1zZWNvbmRhcnkuZm9jdXM6YWN0aXZlLCANCi5idG4tc2Vjb25kYXJ5OmZvY3VzLA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCANCi5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpmb2N1czpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgDQouc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywNCi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgDQouYnRuLXNlY29uZGFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCglib3JkZXItY29sb3I6ICNmZmZmZmY7DQoJY29sb3I6ICMwMDAwMDA7DQoJYm94LXNoYWRvdzpub25lOw0KCW91dGxpbmU6bm9uZTsNCn0NCi5ncmFkaWVudF9ib3gucm9hZG1hcF9pbm5lcjo6YWZ0ZXIsDQouZ3JhZGllbnRfYm94LnJvYWRtYXBfaW5uZXI6OmJlZm9yZSB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyOSwxMDYsMjU1LDEpIDAlLHJnYmEoNzAsMjE0LDI1NSwxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyOSwxMDYsMjU1LDEpIDAlLHJnYmEoNzAsMjE0LDI1NSwxKSA5OSUpOw0KfQ0KDQoudGVhbV9pbmZvLA0KLmZhcV9jb250ZW50IC5jYXJkLWhlYWRlciBhLA0KLmZhcV9jb250ZW50IC5jYXJkLA0KLnJvYWRtYXBfaW5uZXIsDQoucm9hZG1hcDo6YmVmb3JlLA0KLnJvYWRtYXBfaW5uZXI6OmJlZm9yZSwNCi5yb2FkbWFwX2lubmVyOjphZnRlciwNCi5yb2FkbWFwIC5vd2wtbmF2IGksDQoucm9hZG1hcF9pY29uOjpiZWZvcmUsDQouc29jaWFsX3RlYW0gYSwNCi5mb290ZXJfc29jaWFsIGxpIGE6aG92ZXIsDQoudl9ibHVlIC5yb2FkbWFwX2lubmVyOjpiZWZvcmUsIA0KLnZfYmx1ZSAucm9hZG1hcF9pbm5lcjo6YWZ0ZXIsIA0KLnZfYmx1ZSAucm9hZG1hcDo6YmVmb3JlLCANCi52X2JsdWUgLnJvYWRtYXBfaW5uZXIsIA0KLnZfYmx1ZSAucm9hZG1hcCAub3dsLW5hdiBpLA0KLnZfYmx1ZSAudGVhbV9pbmZvLA0KLnZfYmx1ZSAuZmFxX2NvbnRlbnQgLmNhcmQsIA0KLnZfYmx1ZSAuZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGEsDQoudl9kYXJrIC5yb2FkbWFwX2lubmVyOjpiZWZvcmUsIA0KLnZfZGFyayAucm9hZG1hcF9pbm5lcjo6YWZ0ZXIsIA0KLnZfZGFyayAucm9hZG1hcDo6YmVmb3JlLCANCi52X2RhcmsgLnJvYWRtYXBfaW5uZXIsIA0KLnZfZGFyayAucm9hZG1hcCAub3dsLW5hdiBpLA0KLnZfZGFyayAudGVhbV9pbmZvLA0KLnZfZGFyayAuZmFxX2NvbnRlbnQgLmNhcmQsIA0KLnZfZGFyayAuZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGEsDQoudl9kYXJrX2xpZ2h0IC5yb2FkbWFwX2lubmVyOjpiZWZvcmUsIA0KLnZfZGFya19saWdodCAucm9hZG1hcF9pbm5lcjo6YWZ0ZXIsIA0KLnZfZGFya19saWdodCAucm9hZG1hcDo6YmVmb3JlLCANCi52X2RhcmtfbGlnaHQgLnJvYWRtYXBfaW5uZXIsIA0KLnZfZGFya19saWdodCAucm9hZG1hcCAub3dsLW5hdiBpLA0KLnZfZGFya19saWdodCAudGVhbV9pbmZvLA0KLnZfZGFya19saWdodCAuZmFxX2NvbnRlbnQgLmNhcmQsIA0KLnZfZGFya19saWdodCAuZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGEsDQoudl9saWdodCAucm9hZG1hcF9pbm5lcjo6YmVmb3JlLCANCi52X2xpZ2h0IC5yb2FkbWFwX2lubmVyOjphZnRlciwgDQoudl9saWdodCAucm9hZG1hcDo6YmVmb3JlLCANCi52X2xpZ2h0IC5yb2FkbWFwX2lubmVyLCANCi52X2xpZ2h0IC5yb2FkbWFwIC5vd2wtbmF2IGksDQoudl9saWdodCAudGVhbV9pbmZvLA0KLnZfbGlnaHQgLmZhcV9jb250ZW50IC5jYXJkLCANCi52X2xpZ2h0IC5mYXFfY29udGVudCAuY2FyZC1oZWFkZXIgYSwNCi52X2xpZ2h0IC5mb290ZXJfc29jaWFsIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICM0NmQ2ZmY7DQp9DQoucm9hZG1hcCAub3dsLW5hdiAuZGlzYWJsZWQgaSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzE2YTZjZjsNCgljb2xvcjogI2ZmZjsNCn0NCi5idG4gc3BhbiB7DQoJY29sb3I6ICMxZDZhZmY7DQp9DQouYnRuOmhvdmVyIHNwYW4sDQpoZWFkZXIgYTpob3ZlciwgDQoubmF2YmFyLW5hdiBsaSBhLmFjdGl2ZSwNCi52X2xpZ2h0IGhlYWRlciBhOmhvdmVyLCANCi52X2xpZ2h0IC5uYXZiYXItbmF2IGxpIGEuYWN0aXZlLA0KLmJhbm5lcl90ZXh0IGgxIHNwYW4sDQouYm94X2lubmVyIGksDQouc29jaWFsX3NpbmdsZV90ZWFtIGxpIGEsDQouY29udGFjdF9kZXRhaWwgc3BhbiwNCi5mb290ZXJfbWVudSBsaSBhOmhvdmVyLCANCi5mb290ZXJfbGluayBhOmhvdmVyLA0KLmJsb2dfdGl0bGUgYTpob3ZlciwNCi52X2JsdWUgLmJsb2dfdGl0bGUgYTpob3ZlciwNCi52X2RhcmsgLmJsb2dfdGl0bGUgYTpob3ZlciwNCi52X2RhcmtfbGlnaHQgLmJsb2dfdGl0bGUgYTpob3ZlciwNCi5ibG9nX21ldGEgbGkgYTpob3ZlciwNCi52X2JsdWUgLmJsb2dfbWV0YSBsaSBhOmhvdmVyLA0KLnZfZGFyayAuYmxvZ19tZXRhIGxpIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5ibG9nX21ldGEgbGkgYTpob3ZlciwNCi5ibG9nX2NvbnRlbnQgYTpob3ZlciwNCi52X2JsdWUgLmJsb2dfY29udGVudCBhOmhvdmVyLA0KLnZfZGFyayAuYmxvZ19jb250ZW50IGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5ibG9nX2NvbnRlbnQgYTpob3ZlciwNCi53aWRnZXRfY2F0ZWdvcnkgbGkgYTpob3ZlciwgDQoud2lkZ2V0X2FyY2hpdmUgbGkgYTpob3ZlciwNCi53aWRnZXQtcG9zdC1jb250ZW50IGE6aG92ZXIsDQoudGFncyBsaSBhOmhvdmVyLA0KLnZfYmx1ZSAud2lkZ2V0X2NhdGVnb3J5IGxpIGE6aG92ZXIsIA0KLnZfYmx1ZSAud2lkZ2V0X2FyY2hpdmUgbGkgYTpob3ZlciwNCi52X2JsdWUgLndpZGdldC1wb3N0LWNvbnRlbnQgaDYgYTpob3ZlciwNCi52X2JsdWUgLnRhZ3MgbGkgYTpob3ZlciwNCi52X2RhcmsgLndpZGdldF9jYXRlZ29yeSBsaSBhOmhvdmVyLCANCi52X2RhcmsgLndpZGdldF9hcmNoaXZlIGxpIGE6aG92ZXIsDQoudl9kYXJrIC53aWRnZXQtcG9zdC1jb250ZW50IGg2IGE6aG92ZXIsDQoudl9kYXJrIC50YWdzIGxpIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC53aWRnZXRfY2F0ZWdvcnkgbGkgYTpob3ZlciwgDQoudl9kYXJrX2xpZ2h0IC53aWRnZXRfYXJjaGl2ZSBsaSBhOmhvdmVyLA0KLnZfZGFya19saWdodCAud2lkZ2V0LXBvc3QtY29udGVudCBoNiBhOmhvdmVyLA0KLnZfZGFya19saWdodCAudGFncyBsaSBhOmhvdmVyLA0KLm1ldGFfZGF0YSBhOmhvdmVyLA0KLmNvbW1lbnQtcmVwbHk6aG92ZXIsDQoudl9ibHVlIC5tZXRhX2RhdGEgYTpob3ZlciwNCi52X2JsdWUgLmNvbW1lbnQtcmVwbHk6aG92ZXIsDQoudl9kYXJrIC5tZXRhX2RhdGEgYTpob3ZlciwNCi52X2RhcmsgLmNvbW1lbnQtcmVwbHk6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5tZXRhX2RhdGEgYTpob3ZlciwNCi52X2RhcmtfbGlnaHQgLmNvbW1lbnQtcmVwbHk6aG92ZXIsDQouZm9yZ290X3Bhc3M6aG92ZXIsDQouYXV0aG9yaXplX2Zvcm0gYTpob3ZlciwNCi52X2JsdWUgLmZvcmdvdF9wYXNzOmhvdmVyLA0KLnZfYmx1ZSAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgc3BhbiBhOmhvdmVyLA0KLnZfZGFyayAuZm9yZ290X3Bhc3M6aG92ZXIsDQoudl9kYXJrIC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCBzcGFuIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5mb3Jnb3RfcGFzczpob3ZlciwNCi52X2RhcmtfbGlnaHQgLmF1dGhvcml6ZV9mb3JtIC5mb3JtLWdyb3VwIHNwYW4gYTpob3ZlciwNCi50bV9kYXRlLA0KLmFwcF9mZWF0dXJlIGksDQoudGVhbV9jb250ZW50IGg1IGEsDQoudGVhbV9zb2NpYWwgbGkgYTpob3ZlciwNCi5hcHBfYnRuIGxpIGE6aG92ZXIgc3BhbiB7DQoJY29sb3I6ICM0NmQ2ZmY7DQp9DQoNCi50YWdzIGxpIGE6aG92ZXIsDQoudl9ibHVlIC50YWdzIGxpIGE6aG92ZXIsDQoudl9kYXJrIC50YWdzIGxpIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC50YWdzIGxpIGE6aG92ZXIsDQouZG9jX2JveCB7DQoJYm9yZGVyLWNvbG9yOiAjNDZkNmZmOw0KfQ0KDQo="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white6.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.996Z","timestamp":1785154927996,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white6.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=LG7BEIAvufqV41PZnHomC2XBPCScsAqG0PYzbYIGd%2FBRClAr0XRncMh0EoG4149nZtnCuVRtCbAW7zxmtq8WQ%2BS0O4BeGnnS%2BhNYNZQRlIeA8mVmWTwMY8pJo50jlINV35HuJmUQKtE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd89b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 2880\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2880,"size_decoded":3644,"mime_type":"image/png","magic":"PNG image data, 163 x 49, 8-bit/color RGBA, non-interlaced","md5":"c3c8b1cf3ef179543b5f0b05cabed093","sha1":"b3c307ef73a0f929fc19f7107658674e017e8ee8","sha256":"530d87d667eab638842c394783f3de8364bd310c6c0acb29dcae9402fcf7898b","sha512":"4cdbe8d5da4932ead91ecab632403962b33c6d9388a0787d8ec8674f20071b0df129372b4310715550a3c77ab57f1ccde748c7b6749006d1054edb397e528136","ssdeep":"","tlshash":"d1513d8ce9c02c151248908e21bae52eb9392c51bfd6f573fe7bcc4a8a601b485597d7","first_seen":"2026-07-27T05:58:00.804255Z","last_seen":"2026-07-27T12:23:18.779561Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKMAAAAxCAYAAAC2whnIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzQjdFNTVBNzQ4MjExRThBRkZDQjk1QTEwMjIxOEFFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzQjdFNTVCNzQ4MjExRThBRkZDQjk1QTEwMjIxOEFFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNCN0U1NTg3NDgyMTFFOEFGRkNCOTVBMTAyMjE4QUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNCN0U1NTk3NDgyMTFFOEFGRkNCOTVBMTAyMjE4QUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6cxZmBAAAHtklEQVR42uxdIXDrPAzW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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/controls.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.997Z","timestamp":1785154928997,"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":"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 /maps-api-v3/api/js/65/10a/controls.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 26438\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411664\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":102295,"size_decoded":27277,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (1783)","md5":"dd407c42d72964155a9066112c340df9","sha1":"fdd49b71e35a061fc459afd4e71e9aace9ae1f4c","sha256":"ea5c043b7a79ffdf780139a794bd476522e6f02878623222bc12231808703004","sha512":"aded001dbd3f7653302505eebf6c4e415b596dcd53744c178f019ca4623e8da721f16fffd2b57a3f5973790ca9a0181de26409f5fb9a2f79cd4fda4a3db5b4d9","ssdeep":"3072:s4yYRY/f28sJeygp/sMXedg44mSqu4rc3vpjLD/vnS6HjwCum1pt/PeLT4sCjwp+:s49nhJeygp/sMX6gJLX4ajLD/vn1a+","tlshash":"84a3f9b0322a1137d9f9c0a9a15b4606b064d158e201466f7ebddcea66fccdb21fb734","first_seen":"2026-07-22T18:28:15.442437Z","last_seen":"2026-07-28T15:47:12.129501Z","times_seen":532,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ2NvbnRyb2xzJywgZnVuY3Rpb24oXyl7dmFyIFdFYSxoSixYRWEsWUVhLFpFYSwkRWEsYUZhLGJGYSxqSixjRmEsZkZhLGtKLGxKLG1KLG5KLG9KLHBKLGhGYSxnRmEsakZhLHFKLGtGYSx0SixsRmEsbUZhLG5GYSxySix2SixzSix1Six5SixwRmEsb0ZhLHpKLEFKLHJGYSxxRmEsc0ZhLHRGYSx1RmEsd0ZhLEJKLHZGYSx4RmEsQ0oseUZhLERKLEFGYSxCRmEsQ0ZhLEVKLEZKLEdKLERGYSxFRmEsSEosSUosSkosRkZhLEdGYSxLSixIRmEsS0ZhLElGYSxORmEsTUZhLE9GYSxOSixRRmEsUEZhLFJGYSxWRmEsVUZhLE9KLFFKLFhGYSxZRmEsWkZhLFJKLCRGYSxhR2EsYkdhLGNHYSxkR2EsU0osZUdhLFVKLGdHYSxoR2EsaUdhLGpHYSxrR2EsbEdhLGZHYSxtR2EsbkdhLG9HYSxxR2EsckdhLHRHYSxWSixXSix2R2EseEdhLHlHYSx6R2EsQUdhLEJHYSxER2EsRUdhLENHYSxGR2EsR0dhLEhHYSxKR2EsS0dhLE5HYSxPR2EsWEosUEdhLElHYSxMR2EsVUdhLFNHYSxUR2EsUkdhLFlKLFZHYSxXR2EsWEdhLFlHYSxhSGEsY0hhLGVIYSwKZ0hhLGlIYSxrSGEsbUhhLG9IYSxxSGEsc0hhLEhIYSxOSGEsckhhLHdIYSx2SGEsdUhhLHhIYSxhSyx5SGEsT0hhLFpKLGJLLEZIYSwkR2EsdEhhLElIYSxBSGEsQ0hhLERIYSxFSGEsR0hhLCRKLEJIYSxWSGEsWkhhLCRIYSxhSWEsYklhLGNLLGNJYSxmSWEsZUlhLGdJYTtXRWE9ZnVuY3Rpb24oYSxiLGMpe18uYWwoYSxiLCJhbmltYXRlIixjKX07aEo9ZnVuY3Rpb24oYSl7YS5zdHlsZS50ZXh0QWxpZ249Xy5EQi5JaigpPyJyaWdodCI6ImxlZnQifTtYRWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLGU9dHlwZW9mIGE9PT0ic3RyaW5nIj9hLnNwbGl0KCIiKTphO2ZvcigtLWQ7ZD49MDstLWQpZCBpbiBlJiZiLmNhbGwoYyxlW2RdLGQsYSl9O1lFYT1mdW5jdGlvbihhKXtyZXR1cm4gU3RyaW5nKGEpLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGMudG9VcHBlckNhc2UoKX0pfTsKXy5pSj1mdW5jdGlvbihhKXtfLlVFKGEsImdtbm9zY3JlZW4iKTtfLnF3KGEsImdtbm9wcmludCIpfTtaRWE9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLmJvcmRlclRvcExlZnRSYWRpdXM9YjthLnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPWJ9OyRFYT1mdW5jdGlvbihhLGIpe2Euc3R5bGUuYm9yZGVyQm90dG9tTGVmdFJhZGl1cz1iO2Euc3R5bGUuYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM9Yn07YUZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ucG0oMik7YS5zdHlsZS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzPWI7YS5zdHlsZS5ib3JkZXJUb3BMZWZ0UmFkaXVzPWJ9O2JGYT1mdW5jdGlvbihhKXt2YXIgYj1fLnBtKDIpO2Euc3R5bGUuYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM9YjthLnN0eWxlLmJvcmRlclRvcFJpZ2h0UmFkaXVzPWJ9OwpqSj1mdW5jdGlvbihhLGIpe2I9Ynx8e307dmFyIGM9YS5zdHlsZTtjLmNvbG9yPSJibGFjayI7Yy5mb250RmFtaWx5PSJSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZiI7Xy5YRShhKTtfLlRwKGEpO2IudGl0bGUmJmEuc2V0QXR0cmlidXRlKCJ0aXRsZSIsYi50aXRsZSk7Yz1fLnl3KCk/MS4zODoxO2E9YS5zdHlsZTthLmZvbnRTaXplPV8ucG0oYi5mb250U2l6ZXx8MTEpO2EuYmFja2dyb3VuZENvbG9yPWIubWo/IiM0NDQiOiIjZmZmIjt2YXIgZD1bXTtmb3IobGV0IGU9MCxmPV8uJGwoYi5wYWRkaW5nKTtlPGY7KytlKWQucHVzaChfLnBtKGMqYi5wYWRkaW5nW2VdKSk7YS5wYWRkaW5nPWQuam9pbigiICIpO2Iud2lkdGgmJihhLndpZHRoPV8ucG0oYypiLndpZHRoKSl9O2NGYT1mdW5jdGlvbihhLGIpe3N3aXRjaChfLmNGKGIpKXtjYXNlIDE6YS5kaXIhPT0ibHRyIiYmKGEuZGlyPSJsdHIiKTticmVhaztjYXNlIC0xOmEuZGlyIT09InJ0bCImJihhLmRpcj0icnRsIik7YnJlYWs7ZGVmYXVsdDphLnJlbW92ZUF0dHJpYnV0ZSgiZGlyIil9fTsKZkZhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1kRmFbY107aWYoIWQpe3ZhciBlPVlFYShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9Xy5oRigpK18uZ3phKGUpLGEuc3R5bGVbZV0hPT12b2lkIDAmJihkPWUpKTtkRmFbY109ZH0oYz1kKSYmKGVGYS50ZXN0KGMpP2Euc3R5bGUuc2V0UHJvcGVydHkoYyxiKTphLnN0eWxlW2NdPWIpfTtrSj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilmRmEoYSxjLGIpO2Vsc2UgZm9yKGxldCBkIGluIGIpZkZhKGEsYltkXSxkKX07bEo9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYT09Im51bWJlciImJihhPShiP01hdGgucm91bmQoYSk6YSkrInB4Iik7cmV0dXJuIGF9O21KPWZ1bmN0aW9uKGEsYixjKXtpZihiIGluc3RhbmNlb2YgXy5kdyl7dmFyIGQ9Yi54O2I9Yi55fWVsc2UgZD1iLGI9YzthLnN0eWxlLmxlZnQ9bEooZCwhMSk7YS5zdHlsZS50b3A9bEooYiwhMSl9OwpuSj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uaUUpYz1iLmhlaWdodCxiPWIud2lkdGg7ZWxzZSBpZihjPT12b2lkIDApdGhyb3cgRXJyb3IoIm1pc3NpbmcgaGVpZ2h0IGFyZ3VtZW50Iik7YS5zdHlsZS53aWR0aD1sSihiLCEwKTthLnN0eWxlLmhlaWdodD1sSihjLCEwKX07b0o9ZnVuY3Rpb24oYSl7cmV0dXJuIGE+NDA/YS8yLTI6YTwyOD9hLTEwOjE4fTtwSj1mdW5jdGlvbihhLGIpe18uRUNhKGEsYik7Yj1hLml0ZW1zW2JdO3JldHVybnt1cmw6Xy5adyhhLnBuLnVybCwhYS5wbi5CeSxhLnBuLkJ5KSxzaXplOmEuTW4sc2NhbGVkU2l6ZTphLnBuLnNpemUsb3JpZ2luOmIuc2VnbWVudCxhbmNob3I6YS5hbmNob3J9fTtoRmE9ZnVuY3Rpb24oYSl7YT1nRmEoYSwiaHlicmlkIiwic2F0ZWxsaXRlIiwibGFiZWxzIiwiTGFiZWxzIik7YS5zZXQoImVuYWJsZWQiLCEwKTtyZXR1cm4gYX07CmdGYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YS5zaC5nZXQoYik7ZT1uZXcgaUZhKGV8fGcubmFtZSxnLmFsdCxkLCEwLCExLGYpO2EubWFwcGluZ1tiXT17bWFwVHlwZUlkOmMsaXo6ZCx2YWx1ZTohMH07YS5tYXBwaW5nW2NdPXttYXBUeXBlSWQ6YyxpejpkLHZhbHVlOiExfTtyZXR1cm4gZX07akZhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlJxKGE9PT0wPyJab29tIGluIjoiWm9vbSBvdXQiKTtkLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCJnbS1jb250cm9sLWFjdGl2ZSIpO2Quc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7cUooZCxhLGIsYyk7cmV0dXJuIGR9OwpxSj1mdW5jdGlvbihhLGIsYyxkKXthLmlubmVyVGV4dD0iIjtiPWI9PT0wP2Q9PT0yP1tfLlFJWyJ6b29tX2luX25vcm1hbF9kYXJrLnN2ZyJdLF8uUUlbInpvb21faW5faG92ZXJfZGFyay5zdmciXSxfLlFJWyJ6b29tX2luX2FjdGl2ZV9kYXJrLnN2ZyJdLF8uUUlbInpvb21faW5fZGlzYWJsZV9kYXJrLnN2ZyJdXTpbXy5RSVsiem9vbV9pbl9ub3JtYWwuc3ZnIl0sXy5RSVsiem9vbV9pbl9ob3Zlci5zdmciXSxfLlFJWyJ6b29tX2luX2FjdGl2ZS5zdmciXSxfLlFJWyJ6b29tX2luX2Rpc2FibGUuc3ZnIl1dOmQ9PT0yP1tfLlFJWyJ6b29tX291dF9ub3JtYWxfZGFyay5zdmciXSxfLlFJWyJ6b29tX291dF9ob3Zlcl9kYXJrLnN2ZyJdLF8uUUlbInpvb21fb3V0X2FjdGl2ZV9kYXJrLnN2ZyJdLF8uUUlbInpvb21fb3V0X2Rpc2FibGVfZGFyay5zdmciXV06W18uUUlbInpvb21fb3V0X25vcm1hbC5zdmciXSxfLlFJWyJ6b29tX291dF9ob3Zlci5zdmciXSxfLlFJWyJ6b29tX291dF9hY3RpdmUuc3ZnIl0sCl8uUUlbInpvb21fb3V0X2Rpc2FibGUuc3ZnIl1dO2ZvcihsZXQgZSBvZiBiKWI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIiksYi5zdHlsZS53aWR0aD1iLnN0eWxlLmhlaWdodD1gJHtNYXRoLnJvdW5kKGMqLjcpfXB4YCxiLnNyYz1lLGIuYWx0PSIiLGEuYXBwZW5kQ2hpbGQoYil9O2tGYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Y3x8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWQ7aWYodHlwZW9mIGE9PT0ibnVtYmVyIiYmYil7bGV0IGY9YT49Yi5tYXg7Yy5zdHlsZS5jdXJzb3I9Zj8iZGVmYXVsdCI6InBvaW50ZXIiO2UmJiFjLmRpc2FibGVkJiZmJiZkLmZvY3VzKCk7Yy5kaXNhYmxlZD1mO2E9YTw9Yi5taW47ZC5zdHlsZS5jdXJzb3I9YT8iZGVmYXVsdCI6InBvaW50ZXIiO2UmJiFkLmRpc2FibGVkJiZhJiZjLmZvY3VzKCk7ZC5kaXNhYmxlZD1hfX07CnRKPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGIpe2Nhc2UgIkRvd24iOnZhciBjPSJNb3ZlIGRvd24iO2JyZWFrO2Nhc2UgIkxlZnQiOmM9Ik1vdmUgbGVmdCI7YnJlYWs7Y2FzZSAiUmlnaHQiOmM9Ik1vdmUgcmlnaHQiO2JyZWFrO2RlZmF1bHQ6Yz0iTW92ZSB1cCJ9Yz1fLlJxKGMpO3JKKGEsYyk7Yy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3N3aXRjaChiKXtjYXNlICJEb3duIjpzSihhLGMsIkRvd24iKTtjLnN0eWxlLmJvdHRvbT0iMCI7Yy5zdHlsZS5sZWZ0PSI1MCUiO2Muc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVYKC01MCUpIjticmVhaztjYXNlICJMZWZ0IjpzSihhLGMsIkxlZnQiKTtjLnN0eWxlLmJvdHRvbT0iNTAlIjtjLnN0eWxlLmxlZnQ9IjAiO2Muc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDUwJSkiO2JyZWFrO2Nhc2UgIlJpZ2h0IjpzSihhLGMsIlJpZ2h0Iik7Yy5zdHlsZS5ib3R0b209IjUwJSI7Yy5zdHlsZS5yaWdodD0iMCI7Yy5zdHlsZS50cmFuc2Zvcm09CiJ0cmFuc2xhdGVZKDUwJSkiO2JyZWFrO2RlZmF1bHQ6c0ooYSxjLCJVcCIpLGMuc3R5bGUudG9wPSIwIixjLnN0eWxlLmxlZnQ9IjUwJSIsYy5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVgoLTUwJSkifWMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9Pntzd2l0Y2goYil7Y2FzZSAiRG93biI6Xy53bihhLCJwYW5ieWZyYWN0aW9uIiwwLC41KTticmVhaztjYXNlICJMZWZ0IjpfLnduKGEsInBhbmJ5ZnJhY3Rpb24iLC0uNSwwKTticmVhaztjYXNlICJSaWdodCI6Xy53bihhLCJwYW5ieWZyYWN0aW9uIiwuNSwwKTticmVhaztkZWZhdWx0Ol8ud24oYSwicGFuYnlmcmFjdGlvbiIsMCwtLjUpfV8uTSh3aW5kb3csXy4kRShkKT8yMjYwMjM6MjI2MDIyKX0pO3JldHVybiBjfTsKbEZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9akZhKGIsYS5jb250cm9sU2l6ZSxhLnRoKTtySihhLGMpO2Muc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtiPT09MD9jLnN0eWxlLnRvcD0iMCI6Yy5zdHlsZS5ib3R0b209IjAiO2EuRHk/Yy5zdHlsZS5sZWZ0PSIwIjpjLnN0eWxlLnJpZ2h0PSIwIjtjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixkPT57Xy53bihhLCJ6b29tTWFwIixiKTtfLk0od2luZG93LF8uJEUoZCk/MjI2MDIxOjIyNjAyMCl9KTtyZXR1cm4gY307Cm1GYT1mdW5jdGlvbihhKXthLnFoLmlkPV8uS24oKTthLnFoLnN0eWxlLmxpc3RTdHlsZT0ibm9uZSI7YS5xaC5zdHlsZS5wYWRkaW5nPSIwIjthLnFoLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2EucWguc3R5bGUucG9zaXRpb249ImFic29sdXRlIjthLnFoLnN0eWxlLnpJbmRleD0iOTk5OTk5Ijt2YXIgYj1hLmNvbnRyb2xTaXplPj4yO2EucWguc3R5bGUubWFyZ2luPWAke2J9cHhgO2EucWguc3R5bGUuaGVpZ2h0PWEucWguc3R5bGUud2lkdGg9YCR7YS5jb250cm9sU2l6ZSozK2IqMn1weGA7Yj1jPT57dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTtkLmFwcGVuZENoaWxkKGMpO2EucWguYXBwZW5kQ2hpbGQoZCl9O2IoYS55aCk7YihhLnhoKTtiKGEuemgpO2IoYS53aCk7YihhLkFoKTtiKGEuRmgpfTsKbkZhPWZ1bmN0aW9uKGEpe2Euc2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGI9Pnt1SihhKTtfLk0od2luZG93LF8uJEUoYik/MjI2MDAxOjIyNkUzKX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGI9PntiLnJlbGF0ZWRUYXJnZXQhPT1udWxsJiYoYj1hLmNvbnRhaW5zKGIucmVsYXRlZFRhcmdldCksYS5yaCYmIWImJnVKKGEpKX0pO2EucWguYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYj0+e2Iua2V5PT09IkVzY2FwZSImJmEucmgmJih1SihhKSxhLnNoLmZvY3VzKCkpfSl9OwpySj1mdW5jdGlvbihhLGIpe2IuY2xhc3NMaXN0LmFkZCgiZ20tY29udHJvbC1hY3RpdmUiKTtiLnN0eWxlLndpZHRoPWAke2EuY29udHJvbFNpemV9cHhgO2Iuc3R5bGUuaGVpZ2h0PWAke2EuY29udHJvbFNpemV9cHhgO2Iuc3R5bGUuYm9yZGVyUmFkaXVzPSI1MCUiO2Iuc3R5bGUuYm94U2hhZG93PSIwIDFweCA0cHggLTFweCByZ2JhKDAsMCwwLDAuMykiO3ZhciBjPU1hdGgucm91bmQoYS5jb250cm9sU2l6ZSouNyk7Yi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9YS50aD09PTI/IiM0NDQiOiIjZmZmIjtiLnN0eWxlLmJhY2tncm91bmRSZXBlYXQ9Im5vLXJlcGVhdCI7Yi5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT1gJHtjfXB4YDtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj1gJHsoYS5jb250cm9sU2l6ZS1jKS8yfXB4YH07CnZKPWZ1bmN0aW9uKGEsYixjKXtjLmlubmVyVGV4dD0iIjtmb3IobGV0IGQgb2YgYiliPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpLGIuc3R5bGUud2lkdGg9Yi5zdHlsZS5oZWlnaHQ9YCR7TWF0aC5yb3VuZChhLmNvbnRyb2xTaXplKi43KX1weGAsYi5zcmM9ZCxiLmFsdD0iIixjLmFwcGVuZENoaWxkKGIpfTtzSj1mdW5jdGlvbihhLGIsYyl7Yi5pbm5lclRleHQ9IiI7dmFyIGQ9YS50aD09PTI/Il9kYXJrIjoiIjt2SihhLFtfLlFJW2BjYW1lcmFfbW92ZV8ke2MudG9Mb3dlckNhc2UoKX0ke2R9LnN2Z2BdLF8uUUlbYGNhbWVyYV9tb3ZlXyR7Yy50b0xvd2VyQ2FzZSgpfV9ob3ZlciR7ZH0uc3ZnYF0sXy5RSVtgY2FtZXJhX21vdmVfJHtjLnRvTG93ZXJDYXNlKCl9X2FjdGl2ZSR7ZH0uc3ZnYF0sXy5RSVtgY2FtZXJhX21vdmVfJHtjLnRvTG93ZXJDYXNlKCl9X2Rpc2FibGUke2R9LnN2Z2BdXSxiKX07CnVKPWZ1bmN0aW9uKGEpe2Eucmg9IWEucmg7YS5zaC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGEucmgudG9TdHJpbmcoKSk7YS5xaC5zdHlsZS5kaXNwbGF5PWEucmg/IiI6Im5vbmUifTt5Sj1mdW5jdGlvbihhKXthPV8uaGIoYSk7ZGVsZXRlIHdKW2FdO18uamood0opJiZ4SiYmeEouc3RvcCgpfTtwRmE9ZnVuY3Rpb24oKXt4Snx8KHhKPW5ldyBfLkFwKGZ1bmN0aW9uKCl7b0ZhKCl9LDIwKSk7dmFyIGE9eEo7YS5pc0FjdGl2ZSgpfHxhLnN0YXJ0KCl9O29GYT1mdW5jdGlvbigpe3ZhciBhPV8ubWIoKTtfLmZqKHdKLGZ1bmN0aW9uKGIpe3FGYShiLGEpfSk7Xy5qaih3Sil8fHBGYSgpfTt6Sj1mdW5jdGlvbigpe18uR2suY2FsbCh0aGlzKTt0aGlzLnJoPTA7dGhpcy5lbmRUaW1lPXRoaXMuc3RhcnRUaW1lPW51bGx9OwpBSj1mdW5jdGlvbihhLGIsYyxkKXt6Si5jYWxsKHRoaXMpO2lmKCFBcnJheS5pc0FycmF5KGEpfHwhQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcigiU3RhcnQgYW5kIGVuZCBwYXJhbWV0ZXJzIG11c3QgYmUgYXJyYXlzIik7aWYoYS5sZW5ndGghPWIubGVuZ3RoKXRocm93IEVycm9yKCJTdGFydCBhbmQgZW5kIHBvaW50cyBtdXN0IGJlIHRoZSBzYW1lIGxlbmd0aCIpO3RoaXMucWg9YTt0aGlzLnRoPWI7dGhpcy5kdXJhdGlvbj1jO3RoaXMuc2g9ZDt0aGlzLmNvb3Jkcz1bXTt0aGlzLnByb2dyZXNzPTB9OwpyRmE9ZnVuY3Rpb24oYSl7aWYoYS5yaD09MClhLnByb2dyZXNzPTAsYS5jb29yZHM9YS5xaDtlbHNlIGlmKGEucmg9PTEpcmV0dXJuO3lKKGEpO3ZhciBiPV8ubWIoKTthLnN0YXJ0VGltZT1iO2EuTnUoKSYmKGEuc3RhcnRUaW1lLT1hLmR1cmF0aW9uKmEucHJvZ3Jlc3MpO2EuZW5kVGltZT1hLnN0YXJ0VGltZSthLmR1cmF0aW9uO2EucHJvZ3Jlc3N8fGEuUXAoImJlZ2luIik7YS5RcCgicGxheSIpO2EuTnUoKSYmYS5RcCgicmVzdW1lIik7YS5yaD0xO3ZhciBjPV8uaGIoYSk7YyBpbiB3Snx8KHdKW2NdPWEpO3BGYSgpO3FGYShhLGIpfTsKcUZhPWZ1bmN0aW9uKGEsYil7YjxhLnN0YXJ0VGltZSYmKGEuZW5kVGltZT1iK2EuZW5kVGltZS1hLnN0YXJ0VGltZSxhLnN0YXJ0VGltZT1iKTthLnByb2dyZXNzPShiLWEuc3RhcnRUaW1lKS8oYS5lbmRUaW1lLWEuc3RhcnRUaW1lKTthLnByb2dyZXNzPjEmJihhLnByb2dyZXNzPTEpO3NGYShhLGEucHJvZ3Jlc3MpO2EucHJvZ3Jlc3M9PTE/KGEucmg9MCx5SihhKSxhLlFwKCJmaW5pc2giKSxhLlFwKCJlbmQiKSk6YS5yaD09MSYmYS5RcCgiYW5pbWF0ZSIpfTtzRmE9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5zaD09PSJmdW5jdGlvbiImJihiPWEuc2goYikpO2EuY29vcmRzPUFycmF5KGEucWgubGVuZ3RoKTtmb3IobGV0IGM9MDtjPGEucWgubGVuZ3RoO2MrKylhLmNvb3Jkc1tjXT0oYS50aFtjXS1hLnFoW2NdKSpiK2EucWhbY119Owp0RmE9ZnVuY3Rpb24oYSxiKXtfLm5rLmNhbGwodGhpcyxhKTt0aGlzLmNvb3Jkcz1iLmNvb3Jkczt0aGlzLng9Yi5jb29yZHNbMF07dGhpcy55PWIuY29vcmRzWzFdO3RoaXMuej1iLmNvb3Jkc1syXTt0aGlzLmR1cmF0aW9uPWIuZHVyYXRpb247dGhpcy5wcm9ncmVzcz1iLnByb2dyZXNzO3RoaXMuc3RhdGU9Yi5yaH07dUZhPWZ1bmN0aW9uKGEpe3JldHVybiAzKmEqYS0yKmEqYSphfTt3RmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZ2V0KCJwb3YiKTtpZihkKXt2YXIgZT1fLmJ3KGQuaGVhZGluZywzNjApO3ZGYShhLGUsYz9NYXRoLmZsb29yKChlKzEwMCkvOTApKjkwOk1hdGguY2VpbCgoZS0xMDApLzkwKSo5MCxkLnBpdGNoLGQucGl0Y2gpO18uTSh3aW5kb3csXy4kRShiKT8xNzEzMzY6MTcxMzM1KX19OwpCSj1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgibWFwU2l6ZSIpLGM9YS5nZXQoInBhbkNvbnRyb2wiKSxkPSEhYS5nZXQoImRpc2FibGVEZWZhdWx0VUkiKTthLmxheW91dC5kaXYuc3R5bGUudmlzaWJpbGl0eT1jfHxjPT09dm9pZCAwJiYhZCYmYiYmYi53aWR0aD49MjAwJiZiLmhlaWdodD49MjAwPyIiOiJoaWRkZW4iO18ud24oYS5sYXlvdXQuZGl2LCJyZXNpemUiKX07dkZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9bmV3IF8uJGs7YS5hbmltYXRpb24mJmEuYW5pbWF0aW9uLnN0b3AoKTtiPWEuYW5pbWF0aW9uPW5ldyBBSihbYixkXSxbYyxlXSwxMjAwLHVGYSk7V0VhKGYsYixnPT57eEZhKGEsITEsZyl9KTtfLk15YShmLGIsImZpbmlzaCIsZz0+e3hGYShhLCEwLGcpfSk7ckZhKGIpfTsKeEZhPWZ1bmN0aW9uKGEsYixjKXthLnFoPSEwO3ZhciBkPWEuZ2V0KCJwb3YiKTtkJiYoYS5zZXQoInBvdiIse2hlYWRpbmc6Yy5jb29yZHNbMF0scGl0Y2g6Yy5jb29yZHNbMV0sem9vbTpkLnpvb219KSxhLnFoPSExLGImJihhLmFuaW1hdGlvbj1udWxsKSl9OwpDSj1mdW5jdGlvbihhLGIsYyxkKXthLmlubmVyVGV4dD0iIjtiPWI/ZD09PTI/W18uUUlbImZ1bGxzY3JlZW5fZXhpdF9ub3JtYWxfZGFyay5zdmciXSxfLlFJWyJmdWxsc2NyZWVuX2V4aXRfaG92ZXJfZGFyay5zdmciXSxfLlFJWyJmdWxsc2NyZWVuX2V4aXRfYWN0aXZlX2Rhcmsuc3ZnIl1dOltfLlFJWyJmdWxsc2NyZWVuX2V4aXRfbm9ybWFsLnN2ZyJdLF8uUUlbImZ1bGxzY3JlZW5fZXhpdF9ob3Zlci5zdmciXSxfLlFJWyJmdWxsc2NyZWVuX2V4aXRfYWN0aXZlLnN2ZyJdXTpkPT09Mj9bXy5RSVsiZnVsbHNjcmVlbl9lbnRlcl9ub3JtYWxfZGFyay5zdmciXSxfLlFJWyJmdWxsc2NyZWVuX2VudGVyX2hvdmVyX2Rhcmsuc3ZnIl0sXy5RSVsiZnVsbHNjcmVlbl9lbnRlcl9hY3RpdmVfZGFyay5zdmciXV06W18uUUlbImZ1bGxzY3JlZW5fZW50ZXJfbm9ybWFsLnN2ZyJdLF8uUUlbImZ1bGxzY3JlZW5fZW50ZXJfaG92ZXIuc3ZnIl0sXy5RSVsiZnVsbHNjcmVlbl9lbnRlcl9hY3RpdmUuc3ZnIl1dOwpmb3IobGV0IGUgb2YgYiliPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpLGIuc3R5bGUud2lkdGg9Yi5zdHlsZS5oZWlnaHQ9Xy5wbShvSihjKSksYi5zcmM9ZSxiLmFsdD0iIixhLmFwcGVuZENoaWxkKGIpfTt5RmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS53aDtmb3IobGV0IGMgb2YgYilfLm1uKGMpO2Eud2gubGVuZ3RoPTB9O0RKPWZ1bmN0aW9uKGEsYil7YS5xaC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9ekZhW2JdLmJhY2tncm91bmRDb2xvcjthLnNoJiYoYS54aD1iLENKKGEucWgsYS5nbi5nZXQoKSxhLnRoLGIpKX07CkFGYT1mdW5jdGlvbihhKXt2YXIgYj1fLlJxKCJLZXlib2FyZCBzaG9ydGN1dHMiKTthLmNvbnRhaW5lci5hcHBlbmRDaGlsZChiKTtiLnN0eWxlLnpJbmRleD0iMTAwMDAwMiI7Yi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Iuc3R5bGUuYmFja2dyb3VuZENvbG9yPSJ0cmFuc3BhcmVudCI7Yi5zdHlsZS5ib3JkZXI9Im5vbmUiO2Iuc3R5bGUub3V0bGluZU9mZnNldD0iM3B4IjtfLlBFKGIsImNsaWNrIixhLnFoLnFoKTtyZXR1cm4gYn07QkZhPWZ1bmN0aW9uKGEpe2EuZWxlbWVudC5zdHlsZS5yaWdodD0iMHB4IjthLmVsZW1lbnQuc3R5bGUuYm90dG9tPSIwcHgiO2EuZWxlbWVudC5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVgoMTAwJSkifTsKQ0ZhPWZ1bmN0aW9uKGEpe3ZhciB7aGVpZ2h0OmIsd2lkdGg6Yyxib3R0b206ZCxyaWdodDplfT1hLnFoLnFoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHtib3R0b206ZixyaWdodDpnfT1hLnJoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2EuZWxlbWVudC5zdHlsZS50cmFuc2Zvcm09IiI7YS5lbGVtZW50LnN0eWxlLmhlaWdodD1gJHtifXB4YDthLmVsZW1lbnQuc3R5bGUud2lkdGg9YCR7Y31weGA7YS5lbGVtZW50LnN0eWxlLmJvdHRvbT1gJHtmLWR9cHhgO2EuZWxlbWVudC5zdHlsZS5yaWdodD1gJHtnLWV9cHhgfTtFSj1mdW5jdGlvbihhLGIpe2lmKGEuc3R5bGUuZGlzcGxheT09PSJub25lIilyZXR1cm4gMDtiPSFiJiZfLkpFKGEuZGF0YXNldC5jb250cm9sV2lkdGgpO2lmKCFfLmptKGIpfHxpc05hTihiKSliPWEub2Zmc2V0V2lkdGg7YT1fLmlIKGEpO2IrPV8uSkUoYS5tYXJnaW5MZWZ0KXx8MDtyZXR1cm4gYis9Xy5KRShhLm1hcmdpblJpZ2h0KXx8MH07CkZKPWZ1bmN0aW9uKGEsYil7aWYoYS5zdHlsZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiAwO2I9IWImJl8uSkUoYS5kYXRhc2V0LmNvbnRyb2xIZWlnaHQpO2lmKCFfLmptKGIpfHxpc05hTihiKSliPWEub2Zmc2V0SGVpZ2h0O2E9Xy5pSChhKTtiKz1fLkpFKGEubWFyZ2luVG9wKXx8MDtyZXR1cm4gYis9Xy5KRShhLm1hcmdpbkJvdHRvbSl8fDB9O0dKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yjtzd2l0Y2goYil7Y2FzZSAyNDpjPTExO2JyZWFrO2Nhc2UgMjM6Yz0xMDticmVhaztjYXNlIDI1OmM9MTI7YnJlYWs7Y2FzZSAxOTpjPTY7YnJlYWs7Y2FzZSAxNzpjPTQ7YnJlYWs7Y2FzZSAxODpjPTU7YnJlYWs7Y2FzZSAyMjpjPTk7YnJlYWs7Y2FzZSAyMTpjPTg7YnJlYWs7Y2FzZSAyMDpjPTc7YnJlYWs7Y2FzZSAxNTpjPTI7YnJlYWs7Y2FzZSAxNDpjPTE7YnJlYWs7Y2FzZSAxNjpjPTM7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gY31yZXR1cm4gREZhKGEsYyl9OwpERmE9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXQoImlzUlRMIikpcmV0dXJuIGI7c3dpdGNoKGIpe2Nhc2UgMTA6cmV0dXJuIDEyO2Nhc2UgMTI6cmV0dXJuIDEwO2Nhc2UgNjpyZXR1cm4gOTtjYXNlIDQ6cmV0dXJuIDg7Y2FzZSA1OnJldHVybiA3O2Nhc2UgOTpyZXR1cm4gNjtjYXNlIDg6cmV0dXJuIDQ7Y2FzZSA3OnJldHVybiA1O2Nhc2UgMTpyZXR1cm4gMztjYXNlIDM6cmV0dXJuIDF9cmV0dXJuIGJ9O0VGYT1mdW5jdGlvbihhKXt2YXIgYj0wO2Zvcih2YXIge2hlaWdodDpjfW9mIGEpYj1NYXRoLm1heChjLGIpO3ZhciBkPWM9MDtmb3IobGV0IGU9YS5sZW5ndGg7ZT4wOy0tZSl7bGV0IGY9YVtlLTFdO2lmKGI9PT1mLmhlaWdodCl7Zi53aWR0aD5kJiZmLndpZHRoPmYuaGVpZ2h0P2Q9Zi5oZWlnaHQ6Yz1mLndpZHRoO2JyZWFrfWVsc2UgZD1NYXRoLm1heChmLmhlaWdodCxkKX1yZXR1cm4gbmV3IF8uZ28oYyxkKX07CkhKPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPTAsZj0wLGc9W107Zm9yKGxldCB7Yno6ayxlbGVtZW50Om19b2YgYSl7dmFyIGg9RUoobSk7bGV0IHA9RUoobSwhMCk7YT1GSihtKTtsZXQgcT1GSihtLCEwKTtiPT09ImxlZnQiP20uc3R5bGUubGVmdD1fLnBtKGUpOm0uc3R5bGUucmlnaHQ9Xy5wbShlKyhoLXApKTtjPT09InRvcCI/bS5zdHlsZS50b3A9Xy5wbSgwKTptLnN0eWxlLmJvdHRvbT1fLnBtKGEtcSk7aD1lK2g7YT5mJiYoZj1hLGQucHVzaCh7bWluV2lkdGg6ZSxoZWlnaHQ6Zn0pKTtlPWg7a3x8Zy5wdXNoKG5ldyBfLmdvKGUsYSkpO20uc3R5bGUudmlzaWJpbGl0eT0iIn1yZXR1cm4gRUZhKGcpfTsKSUo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9MCxmPVtdO2ZvcihsZXQge2J6OmcsZWxlbWVudDpofW9mIGEpe2E9RUooaCk7bGV0IGs9RkooaCksbT1FSihoLCEwKSxwPUZKKGgsITApLHE9MDtmb3IobGV0IHtoZWlnaHQ6dSxtaW5XaWR0aDp4fW9mIGQpe2lmKHg+YSlicmVhaztxPXV9ZT1NYXRoLm1heChxLGUpO2M9PT0idG9wIj9oLnN0eWxlLnRvcD1fLnBtKGUpOmguc3R5bGUuYm90dG9tPV8ucG0oZStrLXApO2I9PT0ibGVmdCI/aC5zdHlsZS5sZWZ0PV8ucG0oMCk6aC5zdHlsZS5yaWdodD1fLnBtKGEtbSk7ZSs9aztnfHxmLnB1c2gobmV3IF8uZ28oYSxlKSk7aC5zdHlsZS52aXNpYmlsaXR5PSIifXJldHVybiBFRmEoZil9OwpKSj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0wLGY9MDtmb3IobGV0IHtiejpnLGVsZW1lbnQ6aH1vZiBhKXtsZXQgaz1FSihoKSxtPUZKKGgpLHA9RUooaCwhMCk7Yj09PSJsZWZ0Ij9oLnN0eWxlLmxlZnQ9IjAiOmI9PT0icmlnaHQiP2guc3R5bGUucmlnaHQ9Xy5wbShrLXApOmguc3R5bGUubGVmdD1fLnBtKChjLXApLzIpO2UrPW07Z3x8KGY9TWF0aC5tYXgoayxmKSl9Yj0oZC1lKS8yO2ZvcihsZXQge2VsZW1lbnQ6Z31vZiBhKWcuc3R5bGUudG9wPV8ucG0oYiksYis9RkooZyksZy5zdHlsZS52aXNpYmlsaXR5PSIiO3JldHVybiBmfTsKRkZhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0wLGU9MDtmb3IobGV0IHtiejpmLGVsZW1lbnQ6Z31vZiBhKXtsZXQgaD1FSihnKSxrPUZKKGcpLG09RkooZywhMCk7Yj09PSJ0b3AiP2cuc3R5bGUudG9wPV8ucG0oMCk6Zy5zdHlsZS5ib3R0b209Xy5wbShrLW0pO2QrPWg7Znx8KGU9TWF0aC5tYXgoayxlKSl9Yj0oYy1kKS8yO2ZvcihsZXQge2VsZW1lbnQ6Zn1vZiBhKWYuc3R5bGUubGVmdD1fLnBtKGIpLGIrPUVKKGYpLGYuc3R5bGUudmlzaWJpbGl0eT0iIjtyZXR1cm4gZX07R0ZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e2VsZW1lbnQ6YixoZWlnaHQ6MCx3aWR0aDowLFlFOl8ua24oYiwicmVzaXplIiwoKT0+dm9pZCBLSihhLGMpKX07cmV0dXJuIGN9OwpLSj1mdW5jdGlvbihhLGIpe2Iud2lkdGg9Xy5KRShiLmVsZW1lbnQuZGF0YXNldC5jb250cm9sV2lkdGgpO2IuaGVpZ2h0PV8uSkUoYi5lbGVtZW50LmRhdGFzZXQuY29udHJvbEhlaWdodCk7Yi53aWR0aHx8KGIud2lkdGg9Yi5lbGVtZW50Lm9mZnNldFdpZHRoKTtiLmhlaWdodHx8KGIuaGVpZ2h0PWIuZWxlbWVudC5vZmZzZXRIZWlnaHQpO3ZhciBjPTA7Zm9yKGxldCB7ZWxlbWVudDpoLHdpZHRoOmt9b2YgYS5lbGVtZW50cyloLnN0eWxlLmRpc3BsYXkhPT0ibm9uZSImJmguc3R5bGUudmlzaWJpbGl0eSE9PSJoaWRkZW4iJiYoYz1NYXRoLm1heChjLGspKTt2YXIgZD0wLGU9ITEsZj1hLnBhZGRpbmc7YS5yaChhLmVsZW1lbnRzLCh7ZWxlbWVudDpoLGhlaWdodDprLHdpZHRoOm19KT0+e2guc3R5bGUuZGlzcGxheSE9PSJub25lIiYmaC5zdHlsZS52aXNpYmlsaXR5IT09ImhpZGRlbiImJihlP2QrPWY6ZT0hMCxoLnN0eWxlLmxlZnQ9Xy5wbSgoYy1tKS8yKSxoLnN0eWxlLnRvcD0KXy5wbShkKSxkKz1rKX0pO2I9Yzt2YXIgZz1kO2EuY29udGFpbmVyLmRhdGFzZXQuY29udHJvbFdpZHRoPWAke2J9YDthLmNvbnRhaW5lci5kYXRhc2V0LmNvbnRyb2xIZWlnaHQ9YCR7Z31gO18uVkUoYS5jb250YWluZXIsISghYiYmIWcpKTtfLnduKGEuY29udGFpbmVyLCJyZXNpemUiKX07CkhGYT1mdW5jdGlvbihhLGIpe3ZhciBjPSJZb3UgYXJlIHVzaW5nIGEgYnJvd3NlciB0aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJLiBQbGVhc2UgY29uc2lkZXIgY2hhbmdpbmcgeW91ciBicm93c2VyLiIsZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmNsYXNzTmFtZT0iaW5mb21zZyI7YS5hcHBlbmRDaGlsZChkKTt2YXIgZT1kLnN0eWxlO2UuYmFja2dyb3VuZD0iI0Y5RURCRSI7ZS5ib3JkZXI9IjFweCBzb2xpZCAjRjBDMzZEIjtlLmJvcmRlclJhZGl1cz0iMnB4IjtlLmJveFNpemluZz0iYm9yZGVyLWJveCI7ZS5ib3hTaGFkb3c9IjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMikiO2UuZm9udEZhbWlseT0iUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWYiO2UuZm9udFNpemU9IjEycHgiO2UuZm9udFdlaWdodD0iNDAwIjtlLmxlZnQ9IjEwJSI7ZS5xaD0iMnB4IjtlLnBhZGRpbmc9IjVweCAxNHB4IjtlLnBvc2l0aW9uPQoiYWJzb2x1dGUiO2UudGV4dEFsaWduPSJjZW50ZXIiO2UudG9wPSIxMHB4IjtlLndlYmtpdEJvcmRlclJhZGl1cz0iMnB4IjtlLndpZHRoPSI4MCUiO2UuekluZGV4PTI0NjAxO2QuaW5uZXJUZXh0PWM7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YiYmKGQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSksZC5hcHBlbmRDaGlsZChjKSxjLmlubmVyVGV4dD0iTGVhcm4gbW9yZSIsYy5ocmVmPWIsYy50YXJnZXQ9Il9ibGFuayIpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSk7ZC5hcHBlbmRDaGlsZChiKTtiLmlubmVyVGV4dD0iRGlzbWlzcyI7Yi50YXJnZXQ9Il9ibGFuayI7Yy5zdHlsZS5wYWRkaW5nTGVmdD1iLnN0eWxlLnBhZGRpbmdMZWZ0PSIwLjhlbSI7Yy5zdHlsZS5ib3hTaXppbmc9Yi5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO2Muc3R5bGUuY29sb3I9CmIuc3R5bGUuY29sb3I9ImJsYWNrIjtjLnN0eWxlLmN1cnNvcj1iLnN0eWxlLmN1cnNvcj0icG9pbnRlciI7Yy5zdHlsZS50ZXh0RGVjb3JhdGlvbj1iLnN0eWxlLnRleHREZWNvcmF0aW9uPSJ1bmRlcmxpbmUiO2Muc3R5bGUud2hpdGVTcGFjZT1iLnN0eWxlLndoaXRlU3BhY2U9Im5vd3JhcCI7Yi5vbmNsaWNrPWZ1bmN0aW9uKCl7YS5yZW1vdmVDaGlsZChkKX19O0tGYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKCl7dmFyIGc9YS5nZXRNYXBUeXBlSWQoKSxoPWQ9PT0yO0lGYShmLGc9PT0ic2F0ZWxsaXRlInx8Zz09PSJoeWJyaWQifHxoKX12YXIgZj1uZXcgSkZhKGEsYixjKTtfLmtuKGEsIm1hcHR5cGVpZF9jaGFuZ2VkIixlKTtlKCk7cmV0dXJuIGZ9O0lGYT1mdW5jdGlvbihhLGIpe18ub0goYS5pbWFnZSxiP18uUUlbImdvb2dsZV9sb2dvX3doaXRlLnN2ZyJdOl8uUUlbImdvb2dsZV9sb2dvX2Rhcmsuc3ZnIl0pfTsKXy5MSj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gbmV3IExGYShhLGIsYyxkKX07TkZhPWZ1bmN0aW9uKGEsYixjKXtfLnVuKGEsImFjdGl2ZV9jaGFuZ2VkIiwoKT0+e3ZhciBkPSEhYS5nZXQoImFjdGl2ZSIpO2Eucmguc3R5bGUuZGlzcGxheT1kPyIiOiJub25lIjthLnNoLnN0eWxlLmRpc3BsYXk9ZD8ibm9uZSI6IiI7YS5xaC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsZD8idHJ1ZSI6ImZhbHNlIil9KTtfLnFuKGEucWgsIm1vdXNlb3ZlciIsKCk9PntNRmEoYSwhMCl9KTtfLnFuKGEucWgsIm1vdXNlb3V0IiwoKT0+e01GYShhLCExKX0pO2I9bmV3IE1KKGEucWgsYixjKTtiLmJpbmRUbygidmFsdWUiLGEpO2IuYmluZFRvKCJkaXNwbGF5IixhKTthLmJpbmRUbygiYWN0aXZlIixiKX07TUZhPWZ1bmN0aW9uKGEsYil7YS5xaC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9YS5taj9iPyIjNjY2IjoiIzQ0NCI6Yj8iI2ViZWJlYiI6IiNmZmYifTsKT0ZhPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7ZnVuY3Rpb24gZShmKXtmb3IobGV0IGcgb2YgZilpZihnLmdldCgiZGlzcGxheSIpIT09ITEpcmV0dXJuITA7cmV0dXJuITF9YS5zZXQoImRpc3BsYXkiLGUoYikmJmUoYykpfWZvcihsZXQgZSBvZiBiLmNvbmNhdChjKSlfLmtuKGUsImRpc3BsYXlfY2hhbmdlZCIsZCl9O05KPWZ1bmN0aW9uKGEpe3JldHVybiBhLndoP2Euc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50OmRvY3VtZW50LmFjdGl2ZUVsZW1lbnR9OwpRRmE9ZnVuY3Rpb24oYSxiKXtpZihiLmtleT09PSJFc2NhcGUifHxiLmtleT09PSJFc2MiKWEuc2V0KCJhY3RpdmUiLCExKTtlbHNle3ZhciBjPWEubWVudUl0ZW1zLmZpbHRlcihlPT5lLmdldCgiZGlzcGxheSIpIT09ITEpLGQ9YS5yaD9jLmluZGV4T2YoYS5yaCk6MDtpZihiLmtleT09PSJBcnJvd1VwIilkLS07ZWxzZSBpZihiLmtleT09PSJBcnJvd0Rvd24iKWQrKztlbHNlIGlmKGIua2V5PT09IkhvbWUiKWQ9MDtlbHNlIGlmKGIua2V5PT09IkVuZCIpZD1jLmxlbmd0aC0xO2Vsc2UgcmV0dXJuO2Q9KGQrYy5sZW5ndGgpJWMubGVuZ3RoO1BGYShhLGNbZF0pfX07UEZhPWZ1bmN0aW9uKGEsYil7YS5yaD1iO2IubmsoKS5mb2N1cygpfTsKUkZhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucWg7aWYoIWIuYWkpe3ZhciBjPWEuY29udGFpbmVyO2IuYWk9W18ucW4oYywibW91c2VvdXQiLCgpPT57Yi50aW1lb3V0PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57YS5zZXQoImFjdGl2ZSIsITEpfSwxRTMpfSksXy5odyhjLCJtb3VzZW92ZXIiLGEsYS50aCksXy5xbihiLCJrZXlkb3duIixkPT57UUZhKGEsZCl9KSxfLnFuKGIsImJsdXIiLCgpPT57c2V0VGltZW91dCgoKT0+e2IuY29udGFpbnMoTkooYSkpfHxhLnNldCgiYWN0aXZlIiwhMSl9LDApfSwhMCldO2Euc2hhZG93Um9vdD8oYi5haS5wdXNoKF8ucW4oYS5zaGFkb3dSb290LCJjbGljayIsZD0+e2EuY29udGFpbmVyLmNvbnRhaW5zKGQudGFyZ2V0KXx8YS5zZXQoImFjdGl2ZSIsITEpfSkpLGIuYWkucHVzaChfLnFuKGRvY3VtZW50LmJvZHksImNsaWNrIixkPT57ZC50YXJnZXQhPT1hLnNoYWRvd1Jvb3QuaG9zdCYmYS5zZXQoImFjdGl2ZSIsITEpfSkpKTpiLmFpLnB1c2goXy5xbihkb2N1bWVudC5ib2R5LAoiY2xpY2siLGQ9PnthLmNvbnRhaW5lci5jb250YWlucyhkLnRhcmdldCl8fGEuc2V0KCJhY3RpdmUiLCExKX0pKX1fLldFKGIpO2EuY29udGFpbmVyLmNvbnRhaW5zKE5KKGEpKSYmKGM9YS5tZW51SXRlbXMuZmluZChkPT5kLmdldCgiZGlzcGxheSIpIT09ITEpKSYmUEZhKGEsYyl9OwpWRmE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5zaD09PTIsZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmLnNldEF0dHJpYnV0ZSgicm9sZSIsInByZXNlbnRhdGlvbiIpO2EuY29udGFpbmVyLmFwcGVuZENoaWxkKGYpO2Yuc3R5bGUuY3NzRmxvYXQ9ImxlZnQiO18uU3QoU0ZhLGEuY29udGFpbmVyKTtfLnF3KGYsImdtLXN0eWxlLW10YyIpO3ZhciBnPV8uc3coYi5sYWJlbCxhLmNvbnRhaW5lciwhMCk7Zz1fLkxKKGYsZyxiLnFoLHt0aXRsZTpiLmFsdCxwYWRkaW5nOlswLDE3XSxoZWlnaHQ6YS5yaCxmb250U2l6ZTpvSihhLnJoKSxEdzohMSxhRjohMSxDeTohMCxyTjohMCxtajplfSk7Zi5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO3ZhciBoPWcubmsoKTtuZXcgXy5GcChoLCJmb2N1c2luIiwoKT0+e2Yuc3R5bGUuekluZGV4PSIxIn0pO25ldyBfLkZwKGgsImZvY3Vzb3V0IiwoKT0+e2Yuc3R5bGUuekluZGV4PSIwIn0pO2guc3R5bGUuZGlyZWN0aW9uPSIiO2IuaHEmJgpnLmJpbmRUbygidmFsdWUiLGEsYi5ocSk7aD1udWxsO3ZhciBrPV8uUnAoZik7Yi5yaCYmKGg9bmV3IFRGYShhLGYsYi5yaCxhLnJoLGcubmsoKSx7cG9zaXRpb246bmV3IF8uYm8oZD8wOmMsay5oZWlnaHQpLHdQOmQsbWo6ZX0pLFVGYShmLGcsaCkpO2EucWgucHVzaCh7cGFyZW50Tm9kZTpmLEhzOmh9KTtyZXR1cm4gYys9ay53aWR0aH07ClVGYT1mdW5jdGlvbihhLGIsYyl7bmV3IF8uRnAoYSwiY2xpY2siLCgpPT57Yy5zZXQoImFjdGl2ZSIsITApfSk7bmV3IF8uRnAoYSwibW91c2VvdmVyIiwoKT0+e2IuZ2V0KCJhY3RpdmUiKSYmYy5zZXQoImFjdGl2ZSIsITApfSk7Xy5xbihiLCJhY3RpdmVfY2hhbmdlZCIsKCk9PntiLmdldCgiYWN0aXZlIil8fGMuc2V0KCJhY3RpdmUiLCExKX0pO18ua24oYiwia2V5ZG93biIsZD0+e2Qua2V5IT09IkFycm93RG93biImJmQua2V5IT09IkFycm93VXAifHxjLnNldCgiYWN0aXZlIiwhMCl9KTtfLmtuKGIsImNsaWNrIixkPT57Xy5NKHdpbmRvdyxfLiRFKGQpPzE2NDc1MzoxNjQ3NTIpfSl9O09KPWZ1bmN0aW9uKGEsYixjKXthLmdldChiKSE9PWMmJihhLnFoPSEwLGEuc2V0KGIsYyksYS5xaD0hMSl9OwpfLlBKPWZ1bmN0aW9uKGEsYj1kb2N1bWVudC5oZWFkLGM9ITEpe18uWEUoYSk7Xy5UcChhKTtfLlN0KFdGYSxiKTtfLnF3KGEsImdtLXN0eWxlLWNjIik7YS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5hcHBlbmRDaGlsZChiKTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKGQpO2Quc3R5bGUud2lkdGg9Xy5wbSgxKTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQoZCk7YS5LRz1kO2Quc3R5bGUuYmFja2dyb3VuZENvbG9yPWM/IiMwMDAiOiIjZjVmNWY1IjtkLnN0eWxlLndpZHRoPSJhdXRvIjtkLnN0eWxlLmhlaWdodD0iMTAwJSI7ZC5zdHlsZS5tYXJnaW5MZWZ0PV8ucG0oMSk7Xy5ZRShiLC43KTtiLnN0eWxlLndpZHRoPSIxMDAlIjtiLnN0eWxlLmhlaWdodD0iMTAwJSI7Xy50dyhiKTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwphLmFwcGVuZENoaWxkKGIpO2EucnY9YjtiLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Yi5zdHlsZS5wYWRkaW5nTGVmdD1iLnN0eWxlLnBhZGRpbmdSaWdodD1fLnBtKDYpO2Iuc3R5bGUuYm94U2l6aW5nPSJib3JkZXItYm94IjtiLnN0eWxlLmZvbnRGYW1pbHk9IlJvYm90byxBcmlhbCxzYW5zLXNlcmlmIjtiLnN0eWxlLmZvbnRTaXplPV8ucG0oMTApO2Iuc3R5bGUuY29sb3I9Yz8iI2ZmZiI6IiMwMDAwMDAiO2Iuc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIjtiLnN0eWxlLmRpcmVjdGlvbj0ibHRyIjtiLnN0eWxlLnRleHRBbGlnbj0icmlnaHQiO2Euc3R5bGUuaGVpZ2h0PV8ucG0oMTQpO2Euc3R5bGUubGluZUhlaWdodD1fLnBtKDE0KTtiLnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSI7Yi5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siO3JldHVybiBifTsKUUo9ZnVuY3Rpb24oYSl7YS5LRyYmKGEuS0cuc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjMDAwIixhLnJ2LnN0eWxlLmNvbG9yPSIjZmZmIil9O1hGYT1mdW5jdGlvbihhLGIpe2I/KGEuc3R5bGUuZm9udEZhbWlseT0iQXJpYWwsc2Fucy1zZXJpZiIsYS5zdHlsZS5mb250U2l6ZT0iODUlIixhLnN0eWxlLmZvbnRXZWlnaHQ9ImJvbGQiLGEuc3R5bGUuYm90dG9tPSIxcHgiLGEuc3R5bGUucGFkZGluZz0iMXB4IDNweCIpOihhLnN0eWxlLmZvbnRGYW1pbHk9IlJvYm90byxBcmlhbCxzYW5zLXNlcmlmIixhLnN0eWxlLmZvbnRTaXplPV8ucG0oMTApKTthLnN0eWxlLnRleHREZWNvcmF0aW9uPSJub25lIjthLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSJ9O1lGYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBJbWFnZTthLnNyYz1fLlFJWyJidWdfcmVwb3J0X2ljb24uc3ZnIl07YS5hbHQ9IiI7YS5zdHlsZS5oZWlnaHQ9IjEycHgiO2Euc3R5bGUudmVydGljYWxBbGlnbj0iLTJweCI7cmV0dXJuIGF9OwpaRmE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2IudGFyZ2V0PSJfYmxhbmsiO2IucmVsPSJub29wZW5lciI7Yi50aXRsZT0iUmVwb3J0IGVycm9ycyBpbiB0aGUgcm9hZCBtYXAgb3IgaW1hZ2VyeSB0byBHb29nbGUiO2NGYShiLCJSZXBvcnQgZXJyb3JzIGluIHRoZSByb2FkIG1hcCBvciBpbWFnZXJ5IHRvIEdvb2dsZSIpO2IudGV4dENvbnRlbnQ9IlJlcG9ydCBhIG1hcCBlcnJvciI7Yi5hcmlhTGFiZWw9Xy5RcSgiUmVwb3J0IGEgbWFwIGVycm9yIik7WEZhKGIpO2EuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGJ9O1JKPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJhdmFpbGFibGUiKTtfLnduKGEucmgsInJlc2l6ZSIpO2Euc2V0KCJybWlMaW5rRGF0YSIsYj97bGFiZWw6IlJlcG9ydCBhIG1hcCBlcnJvciIsdG9vbHRpcDoiUmVwb3J0IGVycm9ycyBpbiB0aGUgcm9hZCBtYXAgb3IgaW1hZ2VyeSB0byBHb29nbGUiLHVybDphLnNofTp2b2lkIDApfTsKJEZhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJhdmFpbGFibGUiKSxjPWEuZ2V0KCJlbmFibGVkIikhPT0hMTtpZihiPT09dm9pZCAwKXJldHVybiExO2E9YS5nZXQoIm1hcFR5cGVJZCIpO3JldHVybiBiJiZfLkF6YShhKSYmYyYmIV8ueXcoKX07YUdhPWZ1bmN0aW9uKGEsYixjKXthLmlubmVyVGV4dD0iIjtiPWI/W18uUUlbInRpbHRfNDVfbm9ybWFsLnN2ZyJdLF8uUUlbInRpbHRfNDVfaG92ZXIuc3ZnIl0sXy5RSVsidGlsdF80NV9hY3RpdmUuc3ZnIl1dOltfLlFJWyJ0aWx0XzBfbm9ybWFsLnN2ZyJdLF8uUUlbInRpbHRfMF9ob3Zlci5zdmciXSxfLlFJWyJ0aWx0XzBfYWN0aXZlLnN2ZyJdXTtmb3IobGV0IGQgb2YgYiliPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpLGIuYWx0PSIiLGIuc3R5bGUud2lkdGg9Xy5wbShvSihjKSksYi5zcmM9ZCxhLmFwcGVuZENoaWxkKGIpfTsKYkdhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXy5RSVsicm90YXRlX3JpZ2h0X25vcm1hbC5zdmciXSxfLlFJWyJyb3RhdGVfcmlnaHRfaG92ZXIuc3ZnIl0sXy5RSVsicm90YXRlX3JpZ2h0X2FjdGl2ZS5zdmciXV07Zm9yKGxldCBlIG9mIGQpe2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7bGV0IGY9Xy5wbShvSihiKSsyKTtkLmFsdD0iIjtkLnN0eWxlLndpZHRoPWY7ZC5zdHlsZS5oZWlnaHQ9ZjtkLnNyYz1lO2Euc3R5bGUudHJhbnNmb3JtPWM/InNjYWxlWCgtMSkiOiIiO2EuYXBwZW5kQ2hpbGQoZCl9fTsKY0dhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Iuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjtiLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Iuc3R5bGUud2lkdGg9Xy5wbSgzKmEvNCk7Yi5zdHlsZS5oZWlnaHQ9Xy5wbSgxKTtiLnN0eWxlLm1hcmdpbj0iMCA1cHgiO2Iuc3R5bGUuYmFja2dyb3VuZENvbG9yPSJyZ2IoMjMwLCAyMzAsIDIzMCkiO3JldHVybiBifTsKZEdhPWZ1bmN0aW9uKGEsYil7a0ooYS5xaCwicG9zaXRpb24iLCJyZWxhdGl2ZSIpO2tKKGEucWgsImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTthLnFoLnN0eWxlLmhlaWdodD1sSig4LCEwKTtrSihhLnFoLCJib3R0b20iLCItMXB4Iik7dmFyIGM9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKGEucWgsYyk7bkooYywiMTAwJSIsNCk7a0ooYywicG9zaXRpb24iLCJhYnNvbHV0ZSIpO21KKGMsMCwwKTtjPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChhLnFoLGMpO25KKGMsNCw4KTttSihjLDAsMCk7Yz1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQoYS5xaCxjKTtuSihjLDQsOCk7a0ooYywicG9zaXRpb24iLCJhYnNvbHV0ZSIpO2tKKGMsInJpZ2h0IiwiMHB4Iik7a0ooYywiYm90dG9tIiwiMHB4Iik7Yz1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQoYS5xaCxjKTtrSihjLCJwb3NpdGlvbiIsImFic29sdXRlIik7CmtKKGMsImJhY2tncm91bmRDb2xvciIsYS5ldz8iI2ZmZiI6IiMwMDAwMDAiKTtjLnN0eWxlLmhlaWdodD1sSigyLCEwKTtrSihjLCJsZWZ0IiwiMXB4Iik7a0ooYywiYm90dG9tIiwiMXB4Iik7a0ooYywicmlnaHQiLCIxcHgiKTtjPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChhLnFoLGMpO2tKKGMsInBvc2l0aW9uIiwiYWJzb2x1dGUiKTtuSihjLDIsNik7bUooYywxLDEpO2tKKGMsImJhY2tncm91bmRDb2xvciIsYS5ldz8iI2ZmZiI6IiMwMDAwMDAiKTtjPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5hcHBlbmRDaGlsZChhLnFoLGMpO25KKGMsMiw2KTtrSihjLCJwb3NpdGlvbiIsImFic29sdXRlIik7a0ooYywiYmFja2dyb3VuZENvbG9yIixhLmV3PyIjZmZmIjoiIzAwMDAwMCIpO2tKKGMsImJvdHRvbSIsIjFweCIpO2tKKGMsInJpZ2h0IiwiMXB4Iil9OwpTSj1mdW5jdGlvbihhKXt2YXIgYj1hLnRoLmdldCgpO2ImJihiKj04MCxiPWEuc2g/ZUdhKGIvMUUzLGIsITApOmVHYShiLzE2MDkuMzQ0LGIqMy4yODA4NCwhMSksYS5yaC50ZXh0Q29udGVudD1iLnJNKyJcdTAwYTAiLGEuY29udGFpbmVyLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsYi51SSksYS5jb250YWluZXIudGl0bGU9Yi51SSxhLnFoLnN0eWxlLndpZHRoPWxKKGIuY1ArNCwhMCksXy53bihhLmNvbnRhaW5lciwicmVzaXplIikpfTsKZUdhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLGU9Yz8ia20iOiJtaSI7YTwxJiYoZD1iLGU9Yz8ibSI6ImZ0Iik7Zm9yKGI9MTtkPj1iKjEwOyliKj0xMDtkPj1iKjUmJihiKj01KTtkPj1iKjImJihiKj0yKTtkPU1hdGgucm91bmQoODAqYi9kKTt2YXIgZj1kLnRvU3RyaW5nKCksZz1iLnRvU3RyaW5nKCksaD1jPyJNYXAgU2NhbGU6ICIrZysiIGttIHBlciAiK2YrIiBwaXhlbHMiOiJNYXAgU2NhbGU6ICIrZysiIG1pIHBlciAiK2YrIiBwaXhlbHMiO2E8MSYmKGg9Yz8iTWFwIFNjYWxlOiAiK2crIiBtIHBlciAiK2YrIiBwaXhlbHMiOiJNYXAgU2NhbGU6ICIrZysiIGZ0IHBlciAiK2YrIiBwaXhlbHMiKTtyZXR1cm57Y1A6ZCxyTTpgJHtifSAke2V9YCx1STpofX07ClVKPWZ1bmN0aW9uKGEpe18uYkguY2FsbCh0aGlzLGEsVEopO18udEcoYSxUSil8fF8uc0coYSxUSix7b3B0aW9uczowfSxbImRpdiIsLDEsMCxbIiAiLFsiaW1nIiw4LDEsMV0sIiAiLFsiYnV0dG9uIiwsMSwyLFsiICIsWyJpbWciLDgsMSwzXSwiICIsWyJpbWciLDgsMSw0XSwiICIsWyJpbWciLDgsMSw1XSwiICJdXSwiICIsWyJidXR0b24iLCwxLDYsWyIgIixbImltZyIsOCwxLDddLCIgIixbImltZyIsOCwxLDhdLCIgIixbImltZyIsOCwxLDldLCIgIl1dLCIgIixbImJ1dHRvbiIsLDEsMTAsWyIgIixbImltZyIsOCwxLDExXSwiICIsWyJpbWciLDgsMSwxMl0sIiAiLFsiaW1nIiw4LDEsMTNdLCIgIl1dLCIgPGRpdj4gIixbImRpdiIsLCwxNCwiIFJvdGF0ZSB0aGUgdmlldyAiXSwiICIsWyJkaXYiLCwsMTVdLCIgIixbImRpdiIsLCwxNl0sIiA8L2Rpdj4gIl1dLFtdLGZHYSgpKX07Z0dhPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEub3B0aW9ucywiIixiPT5fLkgoYiwxMCkpfTsKaEdhPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEub3B0aW9ucywiIixiPT5fLkFnKGIsXy5nSCw3KSxiPT5fLkgoYiwzKSl9O2lHYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLm9wdGlvbnMsIiIsYj0+Xy5BZyhiLF8uZ0gsOCksYj0+Xy5IKGIsMykpfTtqR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5vcHRpb25zLCIiLGI9Pl8uQWcoYixfLmdILDkpLGI9Pl8uSChiLDMpKX07a0dhPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEub3B0aW9ucywiIixiPT5fLkgoYiwxMikpfTtsR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5vcHRpb25zLCIiLGI9Pl8uSChiLDExKSl9OwpmR2E9ZnVuY3Rpb24oKXtyZXR1cm5bWyIkdCIsInQtYXZLSzhoRGdnOVEiLCIkYSIsWzcsLCwsLCJnbS1jb21wYXNzIl1dLFsiJGEiLFs4LCwsLGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEub3B0aW9ucywiIixiPT5fLkFnKGIsXy5nSCwzKSxiPT5fLkgoYiwzKSl9LCJzcmMiLCwsMV0sIiRhIixbMCwsLCwiIiwiYWx0IiwsMV0sIiRhIixbMCwsLCwiNDgiLCJoZWlnaHQiLCwxXSwiJGEiLFswLCwsLCI0OCIsIndpZHRoIiwsMV1dLFsiJGEiLFs3LCwsLCwiZ20tY29udHJvbC1hY3RpdmUiLCwxXSwiJGEiLFs3LCwsLCwiZ20tY29tcGFzcy10dXJuIiwsMV0sIiRhIixbMCwsLCxnR2EsImFyaWEtbGFiZWwiLCwsMV0sIiRhIixbMCwsLCxnR2EsInRpdGxlIiwsLDFdLCIkYSIsWzAsLCwsImJ1dHRvbiIsInR5cGUiLCwxXSwiJGEiLFsyMiwsLCxmdW5jdGlvbigpe3JldHVybiJjb21wYXNzLmNvdW50ZXJjbG9ja3dpc2UifSwianNhY3Rpb24iLCwxXV0sWyIkYSIsWzgsLCwsaEdhLCJzcmMiLAosLDFdLCIkYSIsWzAsLCwsIiIsImFsdCIsLDFdLCIkYSIsWzAsLCwsImZhbHNlIiwiZHJhZ2dhYmxlIiwsMV0sIiRhIixbMCwsLCwiNDgiLCJoZWlnaHQiLCwxXSwiJGEiLFswLCwsLCIxNCIsIndpZHRoIiwsMV1dLFsiJGEiLFs4LCwsLGlHYSwic3JjIiwsLDFdLCIkYSIsWzAsLCwsIiIsImFsdCIsLDFdLCIkYSIsWzAsLCwsImZhbHNlIiwiZHJhZ2dhYmxlIiwsMV0sIiRhIixbMCwsLCwiNDgiLCJoZWlnaHQiLCwxXSwiJGEiLFswLCwsLCIxNCIsIndpZHRoIiwsMV1dLFsiJGEiLFs4LCwsLGpHYSwic3JjIiwsLDFdLCIkYSIsWzAsLCwsIiIsImFsdCIsLDFdLCIkYSIsWzAsLCwsImZhbHNlIiwiZHJhZ2dhYmxlIiwsMV0sIiRhIixbMCwsLCwiNDgiLCJoZWlnaHQiLCwxXSwiJGEiLFswLCwsLCIxNCIsIndpZHRoIiwsMV1dLFsiJGEiLFs3LCwsLCwiZ20tY29udHJvbC1hY3RpdmUiLCwxXSwiJGEiLFs3LCwsLCwiZ20tY29tcGFzcy1uZWVkbGUiLCwxXSwiJGEiLFswLCwsLGtHYSwiYXJpYS1sYWJlbCIsCiwsMV0sIiRhIixbMCwsLCxrR2EsInRpdGxlIiwsLDFdLCIkYSIsWzAsLCwsImJ1dHRvbiIsInR5cGUiLCwxXSwiJGEiLFsyMiwsLCxmdW5jdGlvbigpe3JldHVybiJjb21wYXNzLm5vcnRoIn0sImpzYWN0aW9uIiwsMV1dLFsiJGEiLFs4LCwsLGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEub3B0aW9ucywiIixiPT5fLkFnKGIsXy5nSCw0KSxiPT5fLkgoYiwzKSl9LCJzcmMiLCwsMV0sIiRhIixbMCwsLCwiIiwiYWx0IiwsMV0sIiRhIixbMCwsLCwiZmFsc2UiLCJkcmFnZ2FibGUiLCwxXSwiJGEiLFswLCwsLCI0OCIsImhlaWdodCIsLDFdLCIkYSIsWzAsLCwsIjIwIiwid2lkdGgiLCwxXV0sWyIkYSIsWzgsLCwsZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5vcHRpb25zLCIiLGI9Pl8uQWcoYixfLmdILDUpLGI9Pl8uSChiLDMpKX0sInNyYyIsLCwxXSwiJGEiLFswLCwsLCIiLCJhbHQiLCwxXSwiJGEiLFswLCwsLCJmYWxzZSIsImRyYWdnYWJsZSIsLDFdLCIkYSIsWzAsLCwsIjQ4IiwKImhlaWdodCIsLDFdLCIkYSIsWzAsLCwsIjIwIiwid2lkdGgiLCwxXV0sWyIkYSIsWzgsLCwsZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5vcHRpb25zLCIiLGI9Pl8uQWcoYixfLmdILDYpLGI9Pl8uSChiLDMpKX0sInNyYyIsLCwxXSwiJGEiLFswLCwsLCIiLCJhbHQiLCwxXSwiJGEiLFswLCwsLCJmYWxzZSIsImRyYWdnYWJsZSIsLDFdLCIkYSIsWzAsLCwsIjQ4IiwiaGVpZ2h0IiwsMV0sIiRhIixbMCwsLCwiMjAiLCJ3aWR0aCIsLDFdXSxbIiRhIixbNywsLCwsImdtLWNvbnRyb2wtYWN0aXZlIiwsMV0sIiRhIixbNywsLCwsImdtLWNvbXBhc3MtdHVybiIsLDFdLCIkYSIsWzcsLCwsLCJnbS1jb21wYXNzLXR1cm4tb3Bwb3NpdGUiLCwxXSwiJGEiLFswLCwsLGxHYSwiYXJpYS1sYWJlbCIsLCwxXSwiJGEiLFswLCwsLGxHYSwidGl0bGUiLCwsMV0sIiRhIixbMCwsLCwiYnV0dG9uIiwidHlwZSIsLDFdLCIkYSIsWzIyLCwsLGZ1bmN0aW9uKCl7cmV0dXJuImNvbXBhc3MuY2xvY2t3aXNlIn0sCiJqc2FjdGlvbiIsLDFdXSxbIiRhIixbOCwsLCxoR2EsInNyYyIsLCwxXSwiJGEiLFswLCwsLCIiLCJhbHQiLCwxXSwiJGEiLFswLCwsLCJmYWxzZSIsImRyYWdnYWJsZSIsLDFdLCIkYSIsWzAsLCwsIjQ4IiwiaGVpZ2h0IiwsMV0sIiRhIixbMCwsLCwiMTQiLCJ3aWR0aCIsLDFdXSxbIiRhIixbOCwsLCxpR2EsInNyYyIsLCwxXSwiJGEiLFswLCwsLCIiLCJhbHQiLCwxXSwiJGEiLFswLCwsLCJmYWxzZSIsImRyYWdnYWJsZSIsLDFdLCIkYSIsWzAsLCwsIjQ4IiwiaGVpZ2h0IiwsMV0sIiRhIixbMCwsLCwiMTQiLCJ3aWR0aCIsLDFdXSxbIiRhIixbOCwsLCxqR2EsInNyYyIsLCwxXSwiJGEiLFswLCwsLCIiLCJhbHQiLCwxXSwiJGEiLFswLCwsLCJmYWxzZSIsImRyYWdnYWJsZSIsLDFdLCIkYSIsWzAsLCwsIjQ4IiwiaGVpZ2h0IiwsMV0sIiRhIixbMCwsLCwiMTQiLCJ3aWR0aCIsLDFdXSxbIiRhIixbNywsLCwsImdtLWNvbXBhc3MtdG9vbHRpcC10ZXh0IiwsMV1dLFsiJGEiLFs3LAosLCwsImdtLWNvbXBhc3MtYXJyb3ctcmlnaHQiLCwxXSwiJGEiLFs3LCwsLCwiZ20tY29tcGFzcy1hcnJvdy1yaWdodC1vdXRlciIsLDFdXSxbIiRhIixbNywsLCwsImdtLWNvbXBhc3MtYXJyb3ctcmlnaHQiLCwxXSwiJGEiLFs3LCwsLCwiZ20tY29tcGFzcy1hcnJvdy1yaWdodC1pbm5lciIsLDFdXV19O21HYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPyhiLmV2ZXJ5KGM9PmEuTXYuaW5jbHVkZXMoYykpLGIpOmEuTXZ9O25HYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1qRmEoYyxhLnJoLGQpO2IuYXBwZW5kQ2hpbGQoZSk7Xy5xbihlLCJjbGljayIsZj0+e3ZhciBnPWM9PT0wPzE6LTE7YS5zZXQoInpvb20iLGEuZ2V0KCJ6b29tIikrZyk7Xy5NKHdpbmRvdyxfLiRFKGYpPzE2NDkzNToxNjQ5MzQpfSk7ZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9ZD09PTI/IiM0NDQiOiIjZmZmIjtyZXR1cm4gZX07Cm9HYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgibWFwU2l6ZSIpO2I9YiYmYi53aWR0aD49MjAwJiZiLmhlaWdodD49MjAwfHwhIWEuZ2V0KCJkaXNwbGF5Iik7YS54aD1iO2lmKGEueGgpe18uV0UoYS5jb250YWluZXIpO2I9YS5yaDt2YXIgYz0yKmEucmgrMTthLnFoLnN0eWxlLndpZHRoPV8ucG0oYik7YS5xaC5zdHlsZS5oZWlnaHQ9Xy5wbShjKTthLmNvbnRhaW5lci5kYXRhc2V0LmNvbnRyb2xXaWR0aD1TdHJpbmcoYik7YS5jb250YWluZXIuZGF0YXNldC5jb250cm9sSGVpZ2h0PVN0cmluZyhjKTtfLnduKGEuY29udGFpbmVyLCJyZXNpemUiKTtiPWEudGguc3R5bGU7Yi53aWR0aD1fLnBtKGEucmgpO2IuaGVpZ2h0PV8ucG0oYS5yaCk7Yi5sZWZ0PWIudG9wPSIwIjthLnNoLnN0eWxlLnRvcD0iMCI7Yj1hLndoLnN0eWxlO2Iud2lkdGg9Xy5wbShhLnJoKTtiLmhlaWdodD1fLnBtKGEucmgpO2IubGVmdD1iLnRvcD0iMCJ9ZWxzZSBhLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PQoibm9uZSJ9O3FHYT1mdW5jdGlvbihhLGIpe3ZhciBjPXBHYVtiXTtxSihhLnRoLDAsYS5yaCxiKTtxSihhLndoLDEsYS5yaCxiKTthLnFoLnN0eWxlLmJhY2tncm91bmRDb2xvcj1jLmJhY2tncm91bmRDb2xvcjthLnNoLnN0eWxlLmJhY2tncm91bmRDb2xvcj1jLm9IfTtyR2E9ZnVuY3Rpb24oYSl7YS5YeiYmKGEuWHoudW5iaW5kQWxsKCksYS5Yej1udWxsKX07dEdhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gbmV3IHNHYShkLGEsYixjKX07Vko9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoImF0dHJpYnV0aW9uVGV4dCIpfHwiSW1hZ2UgbWF5IGJlIHN1YmplY3QgdG8gY29weXJpZ2h0IjthLndoJiYoYj1iLnJlcGxhY2UoIk1hcCBkYXRhIiwiTWFwIERhdGEiKSk7Xy5hRihhLnRoLF8uSWooXy5PcixiKSk7Xy53bihhLnFoLCJyZXNpemUiKX07V0o9YXN5bmMgZnVuY3Rpb24oYSl7Xy53bihhLmNvbnRhaW5lciwicmVzaXplIil9Owp2R2E9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gbmV3IHVHYShhKX07eEdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIG5ldyB3R2EoYyxhLGIpfTt5R2E9ZnVuY3Rpb24oYSxiLGMpe18ucW4oYiwibW91c2VvdmVyIiwoKT0+e2Iuc3R5bGUuY29sb3I9IiNiYmIiO2Iuc3R5bGUuZm9udFdlaWdodD0iYm9sZCJ9KTtfLnFuKGIsIm1vdXNlb3V0IiwoKT0+e2Iuc3R5bGUuY29sb3I9IiM5OTkiO2Iuc3R5bGUuZm9udFdlaWdodD0iNDAwIn0pO18uaHcoYiwiY2xpY2siLGEsZD0+e2Euc2V0KCJwYW5vIixjKTtfLk0od2luZG93LF8uJEUoZCk/MTcxMjI0OjE3MTIyMyl9KX07CnpHYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtiLnNyYz1fLlFJWyJwZWdtYW5fZG9ja19ub3JtYWwuc3ZnIl07Yi5zdHlsZS53aWR0aD1iLnN0eWxlLmhlaWdodD1fLnBtKGEpO2Iuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtiLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIjtiLmFsdD0iU3RyZWV0IFZpZXcgUGVnbWFuIENvbnRyb2wiO2Iuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSI7cmV0dXJuIGJ9OwpBR2E9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Yi5zcmM9Xy5RSVsicGVnbWFuX2RvY2tfYWN0aXZlLnN2ZyJdO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSI7Yi5zdHlsZS53aWR0aD1iLnN0eWxlLmhlaWdodD1fLnBtKGEpO2Iuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtiLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIjtiLmFsdD0iUGVnbWFuIGlzIG9uIHRvcCBvZiB0aGUgTWFwIjtiLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiO3JldHVybiBifTsKQkdhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2Iuc3R5bGUuZGlzcGxheT0ibm9uZSI7Yi5zdHlsZS53aWR0aD1iLnN0eWxlLmhlaWdodD1fLnBtKGEqNC8zKTtiLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Yi5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjAlLCAtNDUlKSI7Yi5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIjtiLmFsdD0iU3RyZWV0IFZpZXcgUGVnbWFuIENvbnRyb2wiO2Iuc3JjPV8uUUlbInBlZ21hbl9kb2NrX2hvdmVyLnN2ZyJdO3JldHVybiBifTsKREdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuY29udGFpbmVyO2EuY29udGFpbmVyLnRleHRDb250ZW50PSIiO2lmKGEudmlzaWJsZSl7Yi5zdHlsZS5kaXNwbGF5PSIiO3ZhciBjPW5ldyBfLmdvKGEucWgsYS5xaCk7Yi5zdHlsZS5ib3hTaGFkb3c9IjAgMXB4IDRweCAtMXB4IHJnYmEoMCwwLDAsMC4zKSI7Yi5zdHlsZS5ib3JkZXJSYWRpdXM9Xy5wbShhLnFoPjQwP01hdGgucm91bmQoYS5xaC8yMCk6Mik7Yi5zdHlsZS53aWR0aD1fLnBtKGMud2lkdGgpO2Iuc3R5bGUuaGVpZ2h0PV8ucG0oYy5oZWlnaHQpO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQoZCk7ZC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Quc3R5bGUubGVmdD0iNTAlIjtkLnN0eWxlLnRvcD0iNTAlIjtkLmFwcGVuZChhLnJoLkhELGEucmguYWN0aXZlLGEucmguR0QpO2Quc3R5bGUudHJhbnNmb3JtPSJzY2FsZVgodmFyKC0tcGVnbWFuLXNjYWxlWCkpIjtiLmRhdGFzZXQuY29udHJvbFdpZHRoPQpTdHJpbmcoYy53aWR0aCk7Yi5kYXRhc2V0LmNvbnRyb2xIZWlnaHQ9U3RyaW5nKGMuaGVpZ2h0KTtfLnduKGIsInJlc2l6ZSIpO0NHYShhLGEuZ2V0KCJtb2RlIikpfWVsc2UgYi5zdHlsZS5kaXNwbGF5PSJub25lIixfLnduKGIsInJlc2l6ZSIpfTtFR2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoIm1hcFNpemUiKTtiPSEhYS5nZXQoImRpc3BsYXkiKXx8ISEoYiYmYi53aWR0aD49MjAwJiZiJiZiLmhlaWdodD49MjAwKTthLnZpc2libGUhPWImJihhLnZpc2libGU9YixER2EoYSkpfTtDR2E9ZnVuY3Rpb24oYSxiKXthLnZpc2libGUmJihhPWEucmgsYS5IRC5zdHlsZS5kaXNwbGF5PWEuR0Quc3R5bGUuZGlzcGxheT1hLmFjdGl2ZS5zdHlsZS5kaXNwbGF5PSJub25lIixiPT09MT9hLkhELnN0eWxlLmRpc3BsYXk9IiI6Yj09PTI/YS5HRC5zdHlsZS5kaXNwbGF5PSIiOmEuYWN0aXZlLnN0eWxlLmRpc3BsYXk9IiIpfTsKRkdhPWZ1bmN0aW9uKGEpe2E9cEooYS5DaCwwKTtyZXR1cm4gXy5wSChhLnVybCxudWxsLGEub3JpZ2luLGEuc2l6ZSxudWxsLGEuc2NhbGVkU2l6ZSl9O0dHYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLnN0eWxlLmhlaWdodD1hLnN0eWxlLmhlaWdodDtiLnN0eWxlLndpZHRoPWEuc3R5bGUud2lkdGg7Yi5hcHBlbmRDaGlsZChhKTtyZXR1cm4gYn07SEdhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShhc3luYyBiPT57dmFyIGM9YXdhaXQgXy5IbCgibWFya2VyIiksZD1hLnJoKCk7Yz1jLlNHKHtjb250ZW50OmEuQmgsYUQ6ITAsZHJhZ0luZGljYXRvcjpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksZ21wRHJhZ2dhYmxlOiEwLG1hcDpkPT09MHx8ZD09PTE/bnVsbDphLm1hcCx6SW5kZXg6MUU2fSk7YihjKX0pfTsKSkdhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKCFhLnpoKXtsZXQgYj1hd2FpdCBhLnRoO2Euc2V0KCJkcmFnUG9zaXRpb24iLGIucG9zaXRpb24mJm5ldyBfLlRtKGIucG9zaXRpb24pKTtfLnduKGEsImRyYWdlbmQiKX1JR2EoYSl9O0tHYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1hd2FpdCBhLnRoO18udm4oYiwiZHJhZ3N0YXJ0IixhKTtfLnZuKGIsImRyYWciLGEpO18ua24oYiwiZHJhZ2VuZCIsYS5MaCk7Xy5rbihiLCJsb25ncHJlc3NkcmFnc3RhcnQiLCgpPT57YS55aD0hMH0pO18ua24oYiwiZHJhZ2NhbmNlbCIsYS5JaCl9OwpOR2E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yaCgpO2lmKF8uUUgoYikpe3ZhciBjPWEucmgoKS0zO2M9cEooYS5DaCxjKX1lbHNlIGI9PT03PyhjPUxHYShhKSxhLkpoIT09YyYmKGEuSmg9YyxhLkdoPXt1cmw6TUdhW2NdLHNpemU6bmV3IF8uZ28oNDksNTIpLHNjYWxlZFNpemU6bmV3IF8uZ28oNDksNTIpLG9yaWdpbjpuZXcgXy5ibygwLDApfSksYz1hLkdoKTpjPW51bGw7Yz8oYS5zaC5maXJzdENoaWxkLl9fc3JjX18hPT1jLnVybCYmXy5vSChhLnNoLmZpcnN0Q2hpbGQsYy51cmwpLF8ucUgoYS5zaCxjLnNpemV8fG51bGwsYy5vcmlnaW58fG51bGwsYy5zY2FsZWRTaXplKSxjLnNpemUmJihhLkJoLnN0eWxlLmhlaWdodD1gJHtjLnNpemUuaGVpZ2h0fXB4YCxhLkJoLnN0eWxlLndpZHRoPWAke2Muc2l6ZS53aWR0aH1weGApLGEuc2guc3R5bGUudG9wPWI9PT03PyI1MCUiOiIiLGEuc2guc3R5bGUuZGlzcGxheT0iIik6YS5zaC5zdHlsZS5kaXNwbGF5PSJub25lIn07Ck9HYT1mdW5jdGlvbihhKXthLnFCLnNldFZpc2libGUoITEpO2EuQWguc2V0VmlzaWJsZShfLlFIKGEucmgoKSkpfTtYSj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1hd2FpdCBhLnRoO2IuWms/YS5zZXQoImRyYWdQb3NpdGlvbiIsYi5wb3NpdGlvbiYmbmV3IF8uVG0oYi5wb3NpdGlvbikpOmEueWgmJihhLnNldCgiZHJhZ1Bvc2l0aW9uIixiLnBvc2l0aW9uJiZuZXcgXy5UbShiLnBvc2l0aW9uKSksYS55aD0hMSl9O1BHYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZG9tRXZlbnQ7Yj1iLnBpeGVsO2MgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50P18uRHkoYyk/YS5xaCg1KTpfLkF5KGMpJiZhLnFoKDMpOihjPWI/Lng/PzAsYz5hLnhoKzU/KGEucWgoNSksYS54aD1jKTpjPGEueGgtNSYmKGEucWgoMyksYS54aD1jKSl9O0lHYT1mdW5jdGlvbihhKXt3aW5kb3cuY2xlYXJUaW1lb3V0KGEud2gpO2Eud2g9MDthLnNldCgiZHJhZ2dpbmciLCExKTthLnFoKDEpO2Euemg9ITF9OwpMR2E9ZnVuY3Rpb24oYSl7KGE9Xy5KRShhLmdldCgiaGVhZGluZyIpKSUzNjApfHwoYT0wKTthPDAmJihhKz0zNjApO3JldHVybiBNYXRoLnJvdW5kKGEvMzYwKjE2KSUxNn07ClVHYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tYXAuX19nbSxlPW5ldyBRR2EoYixhLmNvbnRyb2xTaXplLGc9PnthLm1hcmtlci5sdihnKX0sZz0+e2EubWFya2VyLm12KGcpfSxhLm1qKTtlLmJpbmRUbygibW9kZSIsYSk7ZS5iaW5kVG8oIm1hcFNpemUiLGEpO2UuYmluZFRvKCJkaXNwbGF5IixhKTtlLmJpbmRUbygiaXNPbkxlZnQiLGEpO2EubWFya2VyLmJpbmRUbygibW9kZSIsYSk7YS5tYXJrZXIuYmluZFRvKCJkcmFnUG9zaXRpb24iLGEpO2EubWFya2VyLmJpbmRUbygibG9jYXRpb24iLGEpO3ZhciBmPW5ldyBfLkVJKFsibWFwSGVhZGluZyIsInN0cmVldHZpZXdIZWFkaW5nIl0sImhlYWRpbmciLFJHYSk7Zi5iaW5kVG8oInN0cmVldHZpZXdIZWFkaW5nIixhLCJoZWFkaW5nIik7Zi5iaW5kVG8oIm1hcEhlYWRpbmciLGEubWFwLCJoZWFkaW5nIik7YS5tYXJrZXIuYmluZFRvKCJoZWFkaW5nIixmKTthLmJpbmRUbygicGVnbWFuRHJhZ2dpbmciLGEubWFya2VyLCJkcmFnZ2luZyIpOwpkLmJpbmRUbygicGVnbWFuRHJhZ2dpbmciLGEpO18uc24oZSwiZHJhZ3N0YXJ0IixhLCgpPT57YS5vZmZzZXQ9Xy5VSChiLGEuQ2gpO1NHYShhKX0pO2Q9WyJkcmFnc3RhcnQiLCJkcmFnIiwiZHJhZ2VuZCJdO2ZvcihsZXQgZyBvZiBkKV8ua24oZSxnLCgpPT57Xy53bihhLm1hcmtlcixnLHtsYXRMbmc6YS5tYXJrZXIuZ2V0KCJwb3NpdGlvbiIpLHBpeGVsOmUuZ2V0KCJwb3NpdGlvbiIpfSl9KTtfLmtuKGUsInBvc2l0aW9uX2NoYW5nZWQiLCgpPT57dmFyIGc9ZS5nZXQoInBvc2l0aW9uIik7KGc9Yyh7Y2xpZW50WDpnLngrYS5vZmZzZXQueCxjbGllbnRZOmcueSthLm9mZnNldC55fSkpJiZhLm1hcmtlci5zZXQoImRyYWdQb3NpdGlvbiIsZyl9KTtfLmtuKGEubWFya2VyLCJkcmFnc3RhcnQiLCgpPT57U0dhKGEpfSk7Xy5rbihhLm1hcmtlciwiZHJhZ2VuZCIsYXN5bmMoKT0+e2F3YWl0IFRHYShhLCExKX0pO18ua24oYS5tYXJrZXIsImhvdmVyIixhc3luYygpPT57YXdhaXQgVEdhKGEsCiEwKX0pfTtTR2E9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgXy5IbCgic3RyZWV0dmlldyIpO2lmKCFhLnNoKXt2YXIgYz1hLm1hcC5fX2dtLGQ9KDAsXy5pYikoYS55aC5nZXRVcmwsYS55aCksZT1jLmdldCgicGFuZXMiKTthLnNoPW5ldyBiLlpLKGUuZmxvYXRQYW5lLGQsYS5jb25maWcpO2Euc2guYmluZFRvKCJsb2NhdGlvbiIsYSk7YS5zaC5iaW5kVG8oIm1vZGUiLGEpO2Euc2guYmluZFRvKCJwaXhlbEJvdW5kcyIsYyk7Yj1uZXcgXy5SSShmPT57Zj1uZXcgXy4kQShhLm1hcCxhLlJoLGYpO2EuUmguTmooZik7cmV0dXJuIGZ9KTtiLmJpbmRUbygibGF0TG5nUG9zaXRpb24iLGEubWFya2VyLCJkcmFnUG9zaXRpb24iKTthLnNoLmJpbmRUbygicGl4ZWxQb3NpdGlvbiIsYil9fTsKVEdhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXQoImRyYWdQb3NpdGlvbiIpLGQ9YS5tYXAuZ2V0Wm9vbSgpO2Q9TWF0aC5tYXgoNTAsTWF0aC5wb3coMiwxNi1kKSozNSk7YS5zZXQoImhvdmVyIixiKTthLnpoPSExO3ZhciBlPWF3YWl0IF8uSGwoInN0cmVldHZpZXciKSxmPWEucWh8fHZvaWQgMDthLnJofHwoYS5yaD1uZXcgZS5ZSyhmKSxhLmJpbmRUbygic2xvVHJhY2tpbmdJZCIsYS5yaCwic2xvVHJhY2tpbmdJZCIsITApLGEuYmluZFRvKCJpc0hvdmVyIixhLnJoLCJpc0hvdmVyIiwhMCksYS5yaC5iaW5kVG8oInJlc3VsdCIsYSxudWxsLCEwKSk7YS5yaC5nZXRQYW5vcmFtYUJ5TG9jYXRpb24oYyxkLGY/dm9pZCAwOmQ8MTAwPyJuZWFyZXN0IjoiYmVzdCIsYixhLm1hcC5nZXQoInN0cmVldFZpZXdDb250cm9sT3B0aW9ucyIpPy5zb3VyY2VzLCEwKX07UkdhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZG0oYi0oYXx8MCksMCwzNjApfTsKWUo9ZnVuY3Rpb24oKXtyZXR1cm4gXy5KbC5yaCgpLnRoKCk9PT0iQ0gifTtWR2E9ZnVuY3Rpb24oYSl7Xy5pSihhKTthLnN0eWxlLmZvbnRTaXplPSIxMHB4IjthLnN0eWxlLmhlaWdodD0iMTdweCI7YS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiNmNWY1ZjUiO2Euc3R5bGUuYm9yZGVyPSIxcHggc29saWQgI2RjZGNkYyI7YS5zdHlsZS5saW5lSGVpZ2h0PSIxOXB4In07V0dhPWZ1bmN0aW9uKGEpe2E9e2NvbnRlbnQ6KG5ldyBfLlVJKGEpKS5lbGVtZW50LHRpdGxlOiJLZXlib2FyZCBzaG9ydGN1dHMifTthPW5ldyBfLllxKGEpO18uVHEoYSwia2V5Ym9hcmQtc2hvcnRjdXRzLWRpYWxvZy12aWV3Iik7cmV0dXJuIGF9O1hHYT1mdW5jdGlvbigpe3JldHVybiJAbWVkaWEgcHJpbnQgeyAgLmdtLXN0eWxlIC5nbW5vcHJpbnQsIC5nbW5vcHJpbnQgeyAgICBkaXNwbGF5Om5vbmUgIH19QG1lZGlhIHNjcmVlbiB7ICAuZ20tc3R5bGUgLmdtbm9zY3JlZW4sIC5nbW5vc2NyZWVuIHsgICAgZGlzcGxheTpub25lICB9fSJ9OwpZR2E9ZnVuY3Rpb24oYSl7aWYoIV8uTHBbMl0pe3ZhciBiPSEhXy5McFsyMV07YS5xaD9iPUtGYShhLnFoLGEuZWosYixhLkpoKTooYj1uZXcgSkZhKGEucmgsYS5laixiKSxJRmEoYiwhMCkpO2I9Yi5nZXREaXYoKTthLnNoLmFkZEVsZW1lbnQoYiwyMywhMCwtMUUzKTthLnNldCgibG9nb1dpZHRoIixiLm9mZnNldFdpZHRoKX19OwphSGE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpHYShhLlBoLGEuemgsYS5NaSxhLkdqLGEuSWgpO2IuYmluZFRvKCJzaXplIixhKTtiLmJpbmRUbygicm1pV2lkdGgiLGEpO2IuYmluZFRvKCJhdHRyaWJ1dGlvblRleHQiLGEpO2IuYmluZFRvKCJmb250TG9hZGVkIixhKTtiLmJpbmRUbygibWFwVHlwZUlkIixhKTtiLmJpbmRUbygiaXNDdXN0b21QYW5vcmFtYSIsYSk7Yi5xaC5hZGRMaXN0ZW5lcigiY2xpY2siLGM9PnthLmJpfHwoYS5iaT0kR2EoYSkpO2EuTWkuX19nbS5nZXQoImRldmVsb3BlclByb3ZpZGVkRGl2IikuYXBwZW5kQ2hpbGQoYS5iaSk7YS5iaS5iai5zaG93TW9kYWwoKTtfLk0od2luZG93LF8uJEUoYyk/MTY0OTcwOjE2NDk2OSl9KTtyZXR1cm4gYn07CmNIYT1mdW5jdGlvbihhKXtpZihhLnJoKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLkdoPW5ldyBiSGEoYixhLnJsKTthLkdoLmJpbmRUbygicG92IixhLnJoKTthLkdoLmJpbmRUbygicGFubyIsYS5yaCk7YS5HaC5iaW5kVG8oInRha2VEb3duVXJsIixhLnJoKTthLnJoLnNldCgicm1pV2lkdGgiLGIub2Zmc2V0V2lkdGgpO18uTHBbMTddJiYoYS5HaC5iaW5kVG8oInZpc2libGUiLGEucmgsInJlcG9ydEVycm9yQ29udHJvbCIpLGEucmguYmluZFRvKCJybWlMaW5rRGF0YSIsYS5HaCkpfX07ZUhhPWZ1bmN0aW9uKGEpe2lmKGEucWgpe3ZhciBiPV8uUnEoIk1hcCBTY2FsZSIpO18uVHAoYik7Xy5YRShiKTt2YXIgYz1fLlBKKGIsYS56aCxhLkloKTthLlNoPW5ldyBkSGEoYixjLG5ldyBfLkx5KFtuZXcgXy5zQihhLCJwcm9qZWN0aW9uIiksbmV3IF8uc0IoYSwiYm90dG9tUmlnaHQiKSxuZXcgXy5zQihhLCJ6b29tIildLF8uSUJhKSxhLkloKTtaSihhKX19OwpnSGE9ZnVuY3Rpb24oYSl7aWYoYS5xaCl7dmFyIGI9Xy5KbC5yaCgpLGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS53aD1uZXcgZkhhKGMsYS5xaCxfLkgoYiwxNSksYS5JaCk7YS53aC5iaW5kVG8oImF2YWlsYWJsZSIsYSwicm1pQXZhaWxhYmxlIik7YS53aC5iaW5kVG8oImJvdW5kcyIsYSk7Xy5McFsxN10/KGEud2guYmluZFRvKCJlbmFibGVkIixhLCJyZXBvcnRFcnJvckNvbnRyb2wiKSxhLnFoLmJpbmRUbygicm1pTGlua0RhdGEiLGEud2gpKTphLndoLnNldCgiZW5hYmxlZCIsITApO2Eud2guYmluZFRvKCJtYXBUeXBlSWQiLGEpO2Eud2guYmluZFRvKCJzZXNzaW9uU3RhdGUiLGEuQ20pO2EuYmluZFRvKCJybWlXaWR0aCIsYS53aCwid2lkdGgiKTtfLmtuKGEud2gsInJtaWxpbmtkYXRhX2NoYW5nZWQiLCgpPT57dmFyIGQ9YS53aC5nZXQoInJtaUxpbmtEYXRhIik7YS5xaC5zZXQoInJtaVVybCIsZCYmZC51cmwpfSl9fTsKaUhhPWZ1bmN0aW9uKGEpe2EuTGgmJihhLkxoLnVuYmluZEFsbCgpLHlGYShhLkxoKSxhLkxoPW51bGwsYS5zaC5MbihhLlZqKSk7dmFyIGI9Xy5ScSgiVG9nZ2xlIGZ1bGxzY3JlZW4gdmlldyIpLGM9bmV3IGhIYShhLnpoLGIsYS56bSxhLnhoLGEuSmgpO2MuYmluZFRvKCJkaXNwbGF5IixhLCJmdWxsc2NyZWVuQ29udHJvbCIpO2MuYmluZFRvKCJkaXNhYmxlRGVmYXVsdFVJIixhKTtjLmJpbmRUbygibWFwVHlwZUlkIixhKTt2YXIgZD1hLmdldCgiZnVsbHNjcmVlbkNvbnRyb2xPcHRpb25zIil8fHt9O2Euc2guYWRkRWxlbWVudChiLGQmJmQucG9zaXRpb258fDIwLCEwLC0xMDA3KTthLkxoPWM7YS5Waj1ifTsKa0hhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zaDtpZihhLnFoJiZfLk1uKGEucWgpKXt2YXIgZD17ImNvbnRyb2wtYmxvY2stZW5kLWlubGluZS1jZW50ZXIiOjI0LCJjb250cm9sLWJsb2NrLWVuZC1pbmxpbmUtc3RhcnQiOjIzLCJjb250cm9sLWJsb2NrLWVuZC1pbmxpbmUtZW5kIjoyNSwiY29udHJvbC1pbmxpbmUtc3RhcnQtYmxvY2stZW5kIjoxOSwiY29udHJvbC1pbmxpbmUtc3RhcnQtYmxvY2stY2VudGVyIjoxNywiY29udHJvbC1pbmxpbmUtc3RhcnQtYmxvY2stc3RhcnQiOjE4LCJjb250cm9sLWlubGluZS1lbmQtYmxvY2stZW5kIjoyMiwiY29udHJvbC1pbmxpbmUtZW5kLWJsb2NrLWNlbnRlciI6MjEsImNvbnRyb2wtaW5saW5lLWVuZC1ibG9jay1zdGFydCI6MjAsImNvbnRyb2wtYmxvY2stc3RhcnQtaW5saW5lLWNlbnRlciI6MTUsImNvbnRyb2wtYmxvY2stc3RhcnQtaW5saW5lLXN0YXJ0IjoxNCwiY29udHJvbC1ibG9jay1zdGFydC1pbmxpbmUtZW5kIjoxNn07Zm9yKGxldCBbZSwKZl1vZiBPYmplY3QuZW50cmllcyhkKSl7bGV0IGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpO2cubmFtZT1lO2cuc3R5bGUuZGlzcGxheT0iZmxleCI7Zy5zdHlsZS5mbGV4RGlyZWN0aW9uPWUuc3RhcnRzV2l0aCgiY29udHJvbC1ibG9jayIpPyJyb3ciOiJjb2x1bW4iO2cuYWRkRXZlbnRMaXN0ZW5lcigic2xvdGNoYW5nZSIsKCk9PntfLnduKGcsInJlc2l6ZSIpfSk7Yy5hZGRFbGVtZW50KGcsZiwhMSwxRTMpfX1mb3IoZD1iLmxlbmd0aC0xO2Q+PTA7ZC0tKXtsZXQgZT1kLGY9YltkXTtpZighZilicmVhaztmdW5jdGlvbiBnKGgpe2lmKGgpe3ZhciBrPWguaW5kZXg7Xy5qbShrKXx8KGs9MUUzKTtrPU1hdGgubWF4KGssLTk5OSk7Xy53dyhoLE1hdGgubWluKDk5OTk5OSxfLkpFKGguc3R5bGUuekluZGV4fHwwKSkpO2MuYWRkRWxlbWVudChoLGUsITEsayl9fWYuZm9yRWFjaChnKTtfLmtuKGYsImluc2VydF9hdCIsaD0+e2coZi5nZXRBdChoKSl9KTtfLmtuKGYsInJlbW92ZV9hdCIsCihoLGspPT57Yy5MbihrKX0pO18uTShhLnFoLDI2NDc0OCk7Xy5NKGEucWgsakhhLmdldChlKSl9fTttSGE9ZnVuY3Rpb24oYSl7YS5kaT1uZXcgbEhhKGEueWgucWgsYS5QaCk7dmFyIGI9YS5kaS5jb250YWluZXI7YS5mbD9hLnpoLmluc2VydEJlZm9yZShiLGEuemguY2hpbGRyZW5bMF0pOmEuUGguaW5zZXJ0QmVmb3JlKGIsYS5QaC5jaGlsZHJlblswXSl9O29IYT1mdW5jdGlvbihhKXtpZihhLnFoKXt2YXIgYj1bYS55aC5xaCxhLnloLnJoLGEueWguc2gsYS5TaCxhLnloLnRoXTthLndoJiZiLnB1c2goYS53aCl9ZWxzZSBiPVthLnloLnFoLGEueWgucmgsYS55aC5zaCxhLnloLnRoLGEuR2hdO2I9bmV3IG5IYSh7TXY6Yn0pO2Euc2guYWRkRWxlbWVudChiLmNvbnRhaW5lciwyNSwhMCk7cmV0dXJuIGJ9OwpxSGE9ZnVuY3Rpb24oYSl7aWYoYS5xaCl7dmFyIGI9YS5xaCxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2M9bmV3IHBIYShjKTtjLmJpbmRUbygiY2FyZCIsYi5fX2dtKTtiPWMuZ2V0RGl2KCk7YS5zaC5hZGRFbGVtZW50KGIsMTQsITAsLjEpfX07c0hhPWZ1bmN0aW9uKGEpe18uSGwoInV0aWwiKS50aGVuKGI9PntiLmVyLnFoKCgpPT57YS5FaT0hMDtySGEoYSk7YS5BaCYmKGEuQWguc2V0KCJkaXNwbGF5IiwhMSksYS5BaC51bmJpbmRBbGwoKSxhLkFoPW51bGwpfSl9KX07CkhIYT1mdW5jdGlvbihhKXthLkRoJiYockdhKGEuRGgpLGEuRGgudW5iaW5kQWxsKCksYS5EaD1udWxsKTthLnRoJiYoYS50aD1udWxsKTthLkNoJiYoYS5DaC51bmJpbmRBbGwoKSxhLkNoPW51bGwpO2EuWmgmJihhLlpoLnVuYmluZEFsbCgpLGEuWmg9bnVsbCk7Zm9yKHZhciBiIG9mIGEuemkpdEhhKGEsYik7YS56aT1bXTthLnNoJiZfLnRuKGEuc2gsImlzcnRsX2NoYW5nZWQiLCgpPT57JEooYSl9KTtiPWEuVms9dUhhKGEpO3ZhciBjPWEud2s9dkhhKGEpLGQ9YS5Xaz13SGEoYSksZT1hLmFqPWFLKGEpLGY9YS5Jaz14SGEoYSk7YS54az15SGEoYSk7dmFyIGc9cD0+KGEuZ2V0KHApfHx7fSkucG9zaXRpb24saD1iJiYoZygicGFuQ29udHJvbE9wdGlvbnMiKXx8MjIpO2I9ZCYmKGcoInpvb21Db250cm9sT3B0aW9ucyIpfHxkPT0zJiYxOXx8MjIpO3ZhciBrPWMmJihnKCJjYW1lcmFDb250cm9sT3B0aW9ucyIpfHwyMik7Yz1kPT0zfHxfLnl3KCk7ZT1lJiYoZygic3RyZWV0Vmlld0NvbnRyb2xPcHRpb25zIil8fAoyMik7Zj1mJiYoZygicm90YXRlQ29udHJvbE9wdGlvbnMiKXx8YyYmMTl8fDIyKTt2YXIgbT1hLkJtO2c9KHAscSk9Pnt2YXIgdT1HSihhLnNoLHApO2lmKCFtW3VdKXtsZXQgej1hLnhoPj4yLEI9MTIrKGEueGg+PjEpLEs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Xy5pSihLKTtfLnF3KEssImdtLWJ1bmRsZWQtY29udHJvbCIpO3ZhciB4PUs7dT09PTEwfHx1PT09MTF8fHU9PT0xMnx8dT09PTZ8fHU9PT05P18ucXcoeCwiZ20tYnVuZGxlZC1jb250cm9sLW9uLWJvdHRvbSIpOl8uVUUoeCwiZ20tYnVuZGxlZC1jb250cm9sLW9uLWJvdHRvbSIpO0suc3R5bGUubWFyZ2luPV8ucG0oeik7Xy5UcChLKTttW3VdPW5ldyB6SGEoSyx1LEIpO2Euc2guYWRkRWxlbWVudChLLHAsITEsLjEpfXA9bVt1XTtwLmFkZChxKTthLnppLnB1c2goe2RpdjpxLG9COnB9KX07Yz1bMSw1LDQsNiwxMF07YS5zaC5nZXQoImlzUlRMIikmJmMucHVzaCgyLDEzLDExKTtiJiYoZD1BSGEoYSksZyhiLApkKSk7ZSYmKEJIYShhKSxnKGUsYS5aaSksYS5BaCYmYS5zaCYmYS5BaC5zZXQoImlzT25MZWZ0IixjLmluY2x1ZGVzKEdKKGEuc2gsZSkpKSk7ayYmKGU9Yy5pbmNsdWRlcyhHSihhLnNoLGspKSxlPUNIYShhLGUpLGcoayxlKSk7aCYmYS5yaCYmXy5QcCgpLnRyYW5zZm9ybSYmKGU9REhhKGEpLGcoaCxlKSk7ZiYmKGg9RUhhKGEpLGcoZixoKSk7YS5NaCYmKGEuTWgucmVtb3ZlKCksYS5NaD1udWxsKTtpZihoPUZIYShhKSYmMjIpZT1HSGEoYSksZyhoLGUpO2EuQ2gmJmEuRGgmJmEuRGguWHomJmY9PWImJmEuQ2guYmluZFRvKCJtb3VzZW92ZXIiLGEuRGguWHopO2ZvcihsZXQgcCBvZiBhLnppKV8ud24ocC5kaXYsInJlc2l6ZSIpO2EudGgmJnNldFRpbWVvdXQoKCk9Pnt2YXIgcD1HSihhLnNoLGspO2EudGg/LkdoKG1bcF0pfSwwKX07Ck5IYT1mdW5jdGlvbihhKXtySGEoYSk7aWYoYS5XaSYmIWEuRWkpe3ZhciBiPUlIYShhKTtpZihiKXt2YXIgYz1fLnZ3KCJkaXYiKTtfLmlKKGMpO2Muc3R5bGUubWFyZ2luPV8ucG0oYS54aD4+Mik7Xy5xbihjLCJtb3VzZW92ZXIiLCgpPT57Xy53dyhjLDFFNil9KTtfLnFuKGMsIm1vdXNlb3V0IiwoKT0+e18ud3coYywwKX0pO18ud3coYywwKTt2YXIgZD1hLmdldCgibWFwVHlwZUNvbnRyb2xPcHRpb25zIil8fHt9LGU9YS5XaD1uZXcgSkhhKGEuV2ksZC5tYXBUeXBlSWRzKTtlLmJpbmRUbygiem9vbSIsYSk7dmFyIGY9ZS5idXR0b25zO2Euc2guYWRkRWxlbWVudChjLGQucG9zaXRpb258fDE0LCExLC4yKTtkPW51bGw7Yj09Mj8oZD1uZXcgS0hhKGMsZixhLnhoLGEuSmgpLGUuYmluZFRvKCJtYXBUeXBlSWQiLGQpKTpkPW5ldyBMSGEoYyxmLGEueGgsYS5KaCk7Yj1hLnNpPW5ldyBNSGEoZS5tYXBwaW5nKTtiLnNldCgibGFiZWxzIiwhMCk7ZC5iaW5kVG8oIm1hcFR5cGVJZCIsYiwKImludGVybmFsTWFwVHlwZUlkIik7ZC5iaW5kVG8oImxhYmVscyIsYik7ZC5iaW5kVG8oInRlcnJhaW4iLGIpO2QuYmluZFRvKCJ0aWx0IixhLCJkZXNpcmVkVGlsdCIpO2QuYmluZFRvKCJmb250TG9hZGVkIixhKTtkLmJpbmRUbygibWFwU2l6ZSIsYSwic2l6ZSIpO2QuYmluZFRvKCJkaXNwbGF5IixhLCJtYXBUeXBlQ29udHJvbCIpO2IuYmluZFRvKCJtYXBUeXBlSWQiLGEpO18ud24oYywicmVzaXplIik7YS5PaD17ZGl2OmMsb0I6bnVsbH07YS5uaT1kfX19O3JIYT1mdW5jdGlvbihhKXthLm5pJiYoYS5uaS51bmJpbmRBbGwmJmEubmkudW5iaW5kQWxsKCksYS5uaT1udWxsKTthLnNpJiYoYS5zaS51bmJpbmRBbGwoKSxhLnNpPW51bGwpO2EuV2gmJihhLldoLnVuYmluZEFsbCgpLGEuV2g9bnVsbCk7YS5PaCYmKHRIYShhLGEuT2gpLF8uZHEoYS5PaC5kaXYpLGEuT2g9bnVsbCl9Owp3SGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoInpvb21Db250cm9sIiksYz1iSyhhKTtyZXR1cm4hYiYmIWEucmh8fGMmJmI9PT12b2lkIDB8fGEucmgmJmI9PT0hMT8oYS5yaHx8Xy5NKGEucWgsMTQ4MjYyKSxudWxsKTphLmdldCgic2l6ZSIpPzE6bnVsbH07dkhhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJjYW1lcmFDb250cm9sIiksYz1iSyhhKTtpZighYS5nZXQoInNpemUiKXx8YS5yaClyZXR1cm4hMTsoYS5nZXQoImNhbWVyYUNvbnRyb2wiKSE9PXZvaWQgMHx8YykmJl8uTShhLnFoLGI/MjI2ODQ4OjIyNjAwMik7cmV0dXJuIGM/Yj09MTpiIT0wfTt1SGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoInBhbkNvbnRyb2wiKSxjPWJLKGEpO2lmKGIhPT12b2lkIDB8fGMpcmV0dXJuIGEucmh8fF8uTShhLnFoLGI/MTQ4MjU1OjE0ODI1NCksISFiO2I9YS5nZXQoInNpemUiKTtyZXR1cm4gXy55dygpfHwhYj8hMTpiLndpZHRoPj00MDAmJmIuaGVpZ2h0Pj0zNzB8fCEhYS5yaH07CnhIYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgicm90YXRlQ29udHJvbCIpLGM9YksoYSk7KGIhPT12b2lkIDB8fGMpJiZfLk0oYS5xaCxiPzE0ODI1NzoxNDgyNTYpO3JldHVybiFhLmdldCgic2l6ZSIpfHxhLnJoPyExOmM/Yj09MTpiIT0wfTthSz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgic3RyZWV0Vmlld0NvbnRyb2wiKSxjPWEuZ2V0KCJkaXNhYmxlRGVmYXVsdFVJIiksZD0hIWEuZ2V0KCJzaXplIik7KGIhPT12b2lkIDB8fGMpJiZfLk0oYS5xaCxiPzE0ODI2MDoxNDgyNjEpO2I9PW51bGwmJihiPSFjKTthPWQmJiFhLnJoO3JldHVybiBiJiZhfTt5SGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmg/ITE6YksoYSk/YS5nZXQoIm15TG9jYXRpb25Db250cm9sIik9PTE6YS5nZXQoIm15TG9jYXRpb25Db250cm9sIikhPTB9OwpPSGE9ZnVuY3Rpb24oYSl7aWYod0hhKGEpIT1hLldrfHx2SGEoYSkhPWEud2t8fHVIYShhKSE9YS5Wa3x8eEhhKGEpIT1hLklrfHxhSyhhKSE9YS5hanx8eUhhKGEpIT1hLnhrKWEuQmhbMV09ITA7YS5CaFswXT0hMDthLkZoLkRpKCl9O1pKPWZ1bmN0aW9uKGEpe2lmKGEuU2gpe3ZhciBiPWEuZ2V0KCJzY2FsZUNvbnRyb2wiKTtiIT09dm9pZCAwJiZfLk0oYS5xaCxiPzE0ODI1OToxNDgyNTgpO2I/YS5TaC5lbmFibGUoKTphLlNoLmRpc2FibGUoKX19O2JLPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldCgiZGlzYWJsZURlZmF1bHRVSSIpfTtGSGE9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuZ2V0KCJkaXNhYmxlRGVmYXVsdFVJIikmJiEhYS5yaH07CiRHYT1mdW5jdGlvbihhKXt2YXIgYj1hLk1pLl9fZ20uZ2V0KCJkZXZlbG9wZXJQcm92aWRlZERpdiIpLGM9V0dhKHtLczphLkNsLExzOmEuZm0sb3duZXJFbGVtZW50OmIsR3c6ITAsVXc6YS5xaD8ibWFwIjoic3RyZWV0X3ZpZXcifSk7Yy5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntiLnJlbW92ZUNoaWxkKGMpfSk7cmV0dXJuIGN9O3RIYT1mdW5jdGlvbihhLGIpe2Iub0I/KGIub0IucmVtb3ZlKGIuZGl2KSxkZWxldGUgYi5vQik6YS5zaC5MbihiLmRpdil9OwpJSGE9ZnVuY3Rpb24oYSl7aWYoIWEuV2kpcmV0dXJuIG51bGw7dmFyIGI9KGEuZ2V0KCJtYXBUeXBlQ29udHJvbE9wdGlvbnMiKXx8e30pLnN0eWxlfHwwLGM9YS5nZXQoIm1hcFR5cGVDb250cm9sIiksZD1iSyhhKTtpZihjPT09dm9pZCAwJiZkfHxjIT09dm9pZCAwJiYhYylyZXR1cm4gXy5NKGEucWgsMTQ4MjUxKSxudWxsO2I9PTE/Xy5NKGEucWgsMTQ4MjUzKTpiPT0yJiZfLk0oYS5xaCwxNDgyNTIpO3JldHVybiBiPT0yfHxiPT0xP2I6MX07QUhhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuRGg9bmV3IFBIYShhLnhoLGEuemgsYS5KaCk7Yi5iaW5kVG8oInpvb21SYW5nZSIsYSk7Yi5iaW5kVG8oImRpc3BsYXkiLGEsInpvb21Db250cm9sIik7Yi5iaW5kVG8oImRpc2FibGVEZWZhdWx0VUkiLGEpO2IuYmluZFRvKCJtYXBTaXplIixhLCJzaXplIik7Yi5iaW5kVG8oIm1hcFR5cGVJZCIsYSk7Yi5iaW5kVG8oInpvb20iLGEpO3JldHVybiBiLmdldERpdigpfTsKQ0hhPWZ1bmN0aW9uKGEsYj0hMSl7YS50aD1uZXcgUUhhKHtjb250cm9sU2l6ZTphLnhoLER5OmIsWHI6YS56aCxDRjphLkpofSk7YS50aC5PbihhLmdldCgiY2FtZXJhQ29udHJvbCIpLGEuZ2V0KCJzaXplIikpO2EudGguRGgoYS5nZXQoIm1hcFR5cGVJZCIpKTtfLmtuKGEudGgsInBhbmJ5ZnJhY3Rpb24iLChjLGQpPT57Xy53bihhLCJwYW5ieWZyYWN0aW9uIixjLGQpfSk7Xy5rbihhLnRoLCJ6b29tTWFwIixjPT57Yz1jPT09MD8xOi0xO2Euc2V0KCJ6b29tIixhLmdldCgiem9vbSIpK2MpfSk7cmV0dXJuIGEudGh9O0RIYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5WSShVSix7Q3Q6Xy5EQi5JaigpfSksYz1uZXcgUkhhKGIsYS54aCxhLnpoKTtjLmJpbmRUbygicG92IixhKTtjLmJpbmRUbygiZGlzYWJsZURlZmF1bHRVSSIsYSk7Yy5iaW5kVG8oInBhbkNvbnRyb2wiLGEpO2MuYmluZFRvKCJtYXBTaXplIixhLCJzaXplIik7cmV0dXJuIGIuZGl2fTsKRUhhPWZ1bmN0aW9uKGEpe3ZhciBiPV8udncoImRpdiIpO18uaUooYik7YS5DaD1uZXcgU0hhKGIsYS54aCxhLnpoKTthLkNoLmJpbmRUbygibWFwU2l6ZSIsYSwic2l6ZSIpO2EuQ2guYmluZFRvKCJyb3RhdGVDb250cm9sIixhKTthLkNoLmJpbmRUbygiaGVhZGluZyIsYSk7YS5DaC5iaW5kVG8oInRpbHQiLGEpO3JldHVybiBifTtHSGE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy52dygiZGl2IiksYz1hLlpoPW5ldyBUSGEoYixhLnhoKTtjLmJpbmRUbygicGFubyIsYSk7Yy5iaW5kVG8oImZsb29ycyIsYSk7Yy5iaW5kVG8oImZsb29ySWQiLGEpO3JldHVybiBifTskSj1mdW5jdGlvbihhKXthLkJoWzFdPSEwO2EuRmguRGkoKX07CkJIYT1mdW5jdGlvbihhKXtpZighYS5BaCYmIWEuRWkmJmEud2omJmEucWgpe3ZhciBiPWEuQWg9bmV3IFVIYShhLnFoLGEud2osYS5aaSxhLnpoLGEucmwsYS5hbCxhLnhoLGEuR2osYS5YbXx8dm9pZCAwLGEuSWgpO2IuYmluZFRvKCJtYXBIZWFkaW5nIixhLCJoZWFkaW5nIik7Yi5iaW5kVG8oInRpbHQiLGEpO2IuYmluZFRvKCJwcm9qZWN0aW9uIixhLnFoKTtiLmJpbmRUbygibWFwVHlwZUlkIixhKTthLmJpbmRUbygicGFub3JhbWFWaXNpYmxlIixiKTtiLmJpbmRUbygibWFwU2l6ZSIsYSwic2l6ZSIpO2IuYmluZFRvKCJkaXNwbGF5IixhLCJzdHJlZXRWaWV3Q29udHJvbCIpO2IuYmluZFRvKCJkaXNhYmxlRGVmYXVsdFVJIixhKTsoYj1hLnFoLl9fZ20ueGgpJiZiLl9fZ20uc2V0KCJmb2N1c0ZhbGxiYWNrRWxlbWVudCIsYS5aaSk7VkhhKGEpfX07ClZIYT1mdW5jdGlvbihhKXt2YXIgYj1hLkFoO2lmKGIpe3ZhciBjPWIuQWgsZD1hLmdldCgic3RyZWV0VmlldyIpO2lmKGQhPWMpe2lmKGMpe2xldCBlPWMuX19nbTtlLnVuYmluZCgicmVzdWx0Iik7ZS51bmJpbmQoImhlYWRpbmciKTtjLnVuYmluZCgicGFzc2l2ZUxvZ28iKTtjLnFoLnJlbW92ZUxpc3RlbmVyKGEuT2ssYSk7Yy5xaC5zZXQoITEpfWQmJihjPWQuX19nbSxjLmdldCgicmVzdWx0IikhPW51bGwmJmIuc2V0KCJyZXN1bHQiLGMuZ2V0KCJyZXN1bHQiKSksYy5iaW5kVG8oImlzSG92ZXIiLGIpLGMuYmluZFRvKCJyZXN1bHQiLGIpLGMuZ2V0KCJoZWFkaW5nIikhPW51bGwmJmIuc2V0KCJoZWFkaW5nIixjLmdldCgiaGVhZGluZyIpKSxjLmJpbmRUbygiaGVhZGluZyIsYiksZC5iaW5kVG8oInBhc3NpdmVMb2dvIixhKSxkLnFoLmFkZExpc3RlbmVyKGEuT2ssYSksYS5zZXQoInBhbm9yYW1hVmlzaWJsZSIsZC5nZXQoInZpc2libGUiKSksYi5iaW5kVG8oImNsaWVudCIsZCkpOwpiLkFoPWR9fX07Cl8uWEhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZD1jLnN0eWxlO2QuYmFja2dyb3VuZENvbG9yPSJ3aGl0ZSI7ZC5mb250V2VpZ2h0PSI1MDAiO2QuZm9udEZhbWlseT0iUm9ib3RvLCBzYW5zLXNlcmlmIjtkLnBhZGRpbmc9IjE1cHggMjVweCI7ZC5ib3hTaXppbmc9ImJvcmRlci1ib3giO2QudG9wPSI1cHgiO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7ZS5hbHQ9IiI7ZS5zcmM9Xy5VQSsiYXBpLTMvaW1hZ2VzL2dvb2dsZV9ncmF5LnN2ZyI7ZS5zdHlsZS5ib3JkZXI9ZS5zdHlsZS5tYXJnaW49ZS5zdHlsZS5wYWRkaW5nPSIwIjtlLnN0eWxlLmhlaWdodD0iMTdweCI7ZS5zdHlsZS52ZXJ0aWNhbEFsaWduPSJtaWRkbGUiO2Uuc3R5bGUud2lkdGg9IjUycHgiO18uVHAoZSk7ZC5hcHBlbmRDaGlsZChlKTtjLmFwcGVuZENoaWxkKGQpO2Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CmQuc3R5bGUubGluZUhlaWdodD0iMjBweCI7ZC5zdHlsZS5tYXJnaW49IjE1cHggMCI7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZS5zdHlsZS5jb2xvcj0icmdiYSgwLDAsMCwwLjg3KSI7ZS5zdHlsZS5mb250U2l6ZT0iMTRweCI7ZS5pbm5lclRleHQ9IlRoaXMgcGFnZSBjYW4ndCBsb2FkIEdvb2dsZSBNYXBzIGNvcnJlY3RseS4iO2QuYXBwZW5kQ2hpbGQoZSk7Yy5hcHBlbmRDaGlsZChkKTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7ZC5zdHlsZS53aWR0aD0iMTAwJSI7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3ZhciBmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Zi5zdHlsZS5saW5lSGVpZ2h0PSIxNnB4IjtmLnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSI7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uUHYoZyxiKTtnLmlubmVyVGV4dD0iRG8geW91IG93biB0aGlzIHdlYnNpdGU/IjtnLnRhcmdldD0KIl9ibGFuayI7Zy5yZWw9Im5vb3BlbmVyIjtnLnN0eWxlLmNvbG9yPSJyZ2JhKDAsIDAsIDAsIDAuNTQpIjtnLnN0eWxlLmZvbnRTaXplPSIxMnB4IjtnLm9uY2xpY2s9KCk9PntfLk0oYSwxNDgyNDMpfTtmLmFwcGVuZENoaWxkKGcpO2UuYXBwZW5kQ2hpbGQoZik7Xy5SdChXSGEpO2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTtiLnN0eWxlLnRleHRBbGlnbj0icmlnaHQiO2Y9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Zi5jbGFzc05hbWU9ImRpc21pc3NCdXR0b24iO2YuaW5uZXJUZXh0PSJPSyI7Zi5vbmNsaWNrPSgpPT57YS5yZW1vdmVDaGlsZChjKTtfLnduKGEsImRtZCIpO18uTShhLDE0ODI0Mil9O2IuYXBwZW5kQ2hpbGQoZik7ZS5hcHBlbmRDaGlsZChiKTtkLmFwcGVuZENoaWxkKGUpO2MuYXBwZW5kQ2hpbGQoZCk7YS5hcHBlbmRDaGlsZChjKTtfLk0oYSwxNDgyNDQpO3JldHVybiBjfTsKWkhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLG0scCxxLHUseCx6LEIsSyxPKXt2YXIgQT1iLmdldCgic3RyZWV0VmlldyIpO2s9Yi5fX2dtO2lmKEEmJmspe3E9bmV3IF8uV0koXy5oRSgpLEEuZ2V0KCJjbGllbnQiKSk7QT1fLkNpYVtBLmdldCgiY2xpZW50IildO3ZhciBRPW5ldyBZSGEoe1pMOmZ1bmN0aW9uKExhKXtyZXR1cm4gdS5mcm9tQ29udGFpbmVyUGl4ZWxUb0xhdExuZyhuZXcgXy5ibyhMYS5jbGllbnRYLExhLmNsaWVudFkpKX0sWkc6Yi5jb250cm9scyxNcjptLEhrOnAsd0k6YSxtYXA6YixOeTpiLm1hcFR5cGVzLGdzOmQsTEo6ITAsUmg6eCxjb250cm9sU2l6ZTpiLmdldCgiY29udHJvbFNpemUiKXx8NDAsSXo6QSxSSjpxLE91OnosTHM6QixLczpLLHhNOiEwLG1qOk99KSxjYT1uZXcgXy5FSShbImJvdW5kcyJdLCJib3R0b21SaWdodCIsTGE9PkxhJiZfLm92KExhKSksaWEsR2E7Xy51bihiLCJpZGxlIiwoKT0+e3ZhciBMYT1iLmdldCgiYm91bmRzIik7TGEhPQppYSYmKFEuc2V0KCJib3VuZHMiLExhKSxjYS5zZXQoImJvdW5kcyIsTGEpLGlhPUxhKTtMYT1iLmdldCgiY2VudGVyIik7TGEhPUdhJiYoUS5zZXQoImNlbnRlciIsTGEpLEdhPUxhKX0pO1EuYmluZFRvKCJib3R0b21SaWdodCIsY2EpO1EuYmluZFRvKCJkaXNhYmxlRGVmYXVsdFVJIixiKTtRLmJpbmRUbygiaGVhZGluZyIsYik7US5iaW5kVG8oInByb2plY3Rpb24iLGIpO1EuYmluZFRvKCJyZXBvcnRFcnJvckNvbnRyb2wiLGIpO1EuYmluZFRvKCJyZXN0cmljdGlvbiIsYik7US5iaW5kVG8oInBhc3NpdmVMb2dvIixiKTtRLmJpbmRUbygiem9vbSIsayk7US5iaW5kVG8oIm1hcFR5cGVJZCIsYyk7US5iaW5kVG8oImF0dHJpYnV0aW9uVGV4dCIsZSk7US5iaW5kVG8oInpvb21SYW5nZSIsZyk7US5iaW5kVG8oInRpbHQiLGgpO1EuYmluZFRvKCJkZXNpcmVkVGlsdCIsaCk7US5iaW5kVG8oImtleWJvYXJkU2hvcnRjdXRzIixiLCJrZXlib2FyZFNob3J0Y3V0cyIsITApO1EuYmluZFRvKCJjYW1lcmFDb250cm9sT3B0aW9ucyIsCmIsbnVsbCwhMCk7US5iaW5kVG8oIm1hcFR5cGVDb250cm9sT3B0aW9ucyIsYixudWxsLCEwKTtRLmJpbmRUbygicGFuQ29udHJvbE9wdGlvbnMiLGIsbnVsbCwhMCk7US5iaW5kVG8oInJvdGF0ZUNvbnRyb2xPcHRpb25zIixiLG51bGwsITApO1EuYmluZFRvKCJzY2FsZUNvbnRyb2xPcHRpb25zIixiLG51bGwsITApO1EuYmluZFRvKCJzdHJlZXRWaWV3Q29udHJvbE9wdGlvbnMiLGIsbnVsbCwhMCk7US5iaW5kVG8oInpvb21Db250cm9sT3B0aW9ucyIsYixudWxsLCEwKTtRLmJpbmRUbygibWFwVHlwZUNvbnRyb2wiLGIpO1EuYmluZFRvKCJteUxvY2F0aW9uQ29udHJvbE9wdGlvbnMiLGIpO1EuYmluZFRvKCJmdWxsc2NyZWVuQ29udHJvbE9wdGlvbnMiLGIsbnVsbCwhMCk7Yi5nZXQoImZ1bGxzY3JlZW5Db250cm9sT3B0aW9ucyIpJiZRLm5vdGlmeSgiZnVsbHNjcmVlbkNvbnRyb2xPcHRpb25zIik7US5iaW5kVG8oImNhbWVyYUNvbnRyb2wiLGIpO1EuYmluZFRvKCJwYW5Db250cm9sIiwKYik7US5iaW5kVG8oInJvdGF0ZUNvbnRyb2wiLGIpO1EuYmluZFRvKCJtb3Rpb25UcmFja2luZ0NvbnRyb2wiLGIpO1EuYmluZFRvKCJtb3Rpb25UcmFja2luZ0NvbnRyb2xPcHRpb25zIixiLG51bGwsITApO1EuYmluZFRvKCJzY2FsZUNvbnRyb2wiLGIpO1EuYmluZFRvKCJzdHJlZXRWaWV3Q29udHJvbCIsYik7US5iaW5kVG8oImZ1bGxzY3JlZW5Db250cm9sIixiKTtRLmJpbmRUbygiem9vbUNvbnRyb2wiLGIpO1EuYmluZFRvKCJteUxvY2F0aW9uQ29udHJvbCIsYik7US5iaW5kVG8oInJtaUF2YWlsYWJsZSIsZiwiYXZhaWxhYmxlIik7US5iaW5kVG8oInN0cmVldFZpZXciLGIpO1EuYmluZFRvKCJmb250TG9hZGVkIixrKTtRLmJpbmRUbygic2l6ZSIsayk7ay5iaW5kVG8oInJlbmRlckhlYWRpbmciLFEpO18udm4oUSwicGFuYnlmcmFjdGlvbiIsayl9fTsKJEhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9bmV3IF8uV0koXy5oRSgpLGcuZ2V0KCJjbGllbnQiKSksbT1uZXcgWUhhKHtaRzpmLE1yOmQsbWo6ITAsSGs6aCx3STplLGdzOmMsY29udHJvbFNpemU6Zy5nZXQoImNvbnRyb2xTaXplIil8fDQwLExKOiExLFpQOmcsUko6a30pO20uc2V0KCJzdHJlZXRWaWV3Q29udHJvbCIsITEpO20uYmluZFRvKCJhdHRyaWJ1dGlvblRleHQiLGIsImNvcHlyaWdodCIpO20uc2V0KCJtYXBUeXBlSWQiLCJzdHJlZXR2aWV3Iik7bS5zZXQoInRpbHQiLCEwKTttLmJpbmRUbygiaGVhZGluZyIsYik7bS5iaW5kVG8oInpvb20iLGIsInpvb21GaW5hbCIpO20uYmluZFRvKCJ6b29tUmFuZ2UiLGIpO20uYmluZFRvKCJwb3YiLGIsInBvdiIpO20uYmluZFRvKCJwb3NpdGlvbiIsZyk7bS5iaW5kVG8oInBhbm8iLGcpO20uYmluZFRvKCJwYXNzaXZlTG9nbyIsZyk7bS5iaW5kVG8oImZsb29ycyIsYik7bS5iaW5kVG8oImZsb29ySWQiLGIpO20uYmluZFRvKCJybWlXaWR0aCIsCmcpO20uYmluZFRvKCJmdWxsc2NyZWVuQ29udHJvbE9wdGlvbnMiLGcsbnVsbCwhMCk7bS5iaW5kVG8oInBhbkNvbnRyb2xPcHRpb25zIixnLG51bGwsITApO20uYmluZFRvKCJ6b29tQ29udHJvbE9wdGlvbnMiLGcsbnVsbCwhMCk7bS5iaW5kVG8oImZ1bGxzY3JlZW5Db250cm9sIixnKTttLmJpbmRUbygicGFuQ29udHJvbCIsZyk7bS5iaW5kVG8oInpvb21Db250cm9sIixnKTttLmJpbmRUbygiZGlzYWJsZURlZmF1bHRVSSIsZyk7bS5iaW5kVG8oImZvbnRMb2FkZWQiLGcuX19nbSk7bS5iaW5kVG8oInNpemUiLGIpO2EudmlldyYmYS52aWV3LmFkZExpc3RlbmVyKCJzY2VuZV9jaGFuZ2VkIiwoKT0+e3ZhciBwPWEudmlldy5nZXQoInNjZW5lIik7bS5zZXQoImlzQ3VzdG9tUGFub3JhbWEiLHA9PT0iYyIpfSk7Xy5CcChtLkZoKTtfLnZuKG0sInBhbmJ5ZnJhY3Rpb24iLGEpfTsKYUlhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJ6b29tIik7Xy5qbShiKSYmKGEuc2V0KCJ6b29tIixiKzEpLF8uTSh3aW5kb3csMTY1Mzc0KSl9O2JJYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgiem9vbSIpO18uam0oYikmJihhLnNldCgiem9vbSIsYi0xKSxfLk0od2luZG93LDE2NTM3NCkpfTtjSz1mdW5jdGlvbihhLGIsYyl7Xy53bihhLCJwYW5ieWZyYWN0aW9uIixiLGMpO18uTSh3aW5kb3csMTY1MzczKX07Y0lhPWZ1bmN0aW9uKGEsYil7cmV0dXJuISEoYi50YXJnZXQhPT1hLnNyY3x8Yi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5fHxhLmdldCgiZW5hYmxlZCIpPT09ITEpfTsKZklhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1uZXcgZElhKGIsZSxmKTtnLmJpbmRUbygiem9vbSIsYSk7Zy5iaW5kVG8oImVuYWJsZWQiLGEsImtleWJvYXJkU2hvcnRjdXRzIik7ZSYmZy5iaW5kVG8oInRpbHQiLGEuX19nbSk7ZiYmZy5iaW5kVG8oImhlYWRpbmciLGEpO18udm4oZywidGlsdHJvdGF0ZWJ5bm93IixhLl9fZ20pO18udm4oZywicGFuYnlmcmFjdGlvbiIsYS5fX2dtKTtfLnZuKGcsInBhbmJ5bm93IixhLl9fZ20pO18udm4oZywicGFuYnkiLGEuX19nbSk7ZUlhKGEsZCxlLGYpO3ZhciBoPWEuX19nbS54aCxrPW51bGw7Xy51bihhLCJzdHJlZXR2aWV3X2NoYW5nZWQiLCgpPT57dmFyIG09YS5nZXQoInN0cmVldFZpZXciKSxwPWs7cCYmXy5tbihwKTtrPW51bGw7bSYmKGs9Xy51bihtLCJ2aXNpYmxlX2NoYW5nZWQiLCgpPT57bS5nZXRWaXNpYmxlKCkmJm09PT1oPyhiLmJsdXIoKSxjLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiIpOmMuc3R5bGUudmlzaWJpbGl0eT0KIiJ9KSl9KTtkPSgpPT57Zy5GaD0hIWEuZ2V0KCJoZWFkaW5nSW50ZXJhY3Rpb25FbmFibGVkIik7Zy5HaD0hIWEuZ2V0KCJ0aWx0SW50ZXJhY3Rpb25FbmFibGVkIil9O18udW4oYSwidGlsdGludGVyYWN0aW9uZW5hYmxlZF9jaGFuZ2VkIixkKTtfLnVuKGEsImhlYWRpbmdpbnRlcmFjdGlvbmVuYWJsZWRfY2hhbmdlZCIsZCl9O2VJYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgXy5VSSh7S3M6ZCxMczpjLG93bmVyRWxlbWVudDpiLEd3OiExLFV3OiJtYXAifSk7Xy51bihhLCJrZXlib2FyZHNob3J0Y3V0c19jaGFuZ2VkIiwoKT0+e18uQXYoYSk/Yi5hcHBlbmQoZS5lbGVtZW50KTplLmVsZW1lbnQucmVtb3ZlKCl9KX07Xy50eC5wcm90b3R5cGUuVUg9Xy5rYSg0NSxmdW5jdGlvbigpe3JldHVybiBfLkFnKHRoaXMsXy54eCw2KX0pO2dJYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19OwpfLmRLPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWtqKGEpe3JldHVybiBfLmloKHRoaXMsMSxhKX19O18uZEsucHJvdG90eXBlLnBsPV8uaGEoOSk7dmFyIGhJYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGlJYT0oKT0+Xy5SaWEuc29tZShhPT4hIWRvY3VtZW50W2FdKSxlRmE9L14tLS4rLyxkRmE9e307dmFyIGlGYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYsZyl7c3VwZXIoKTt0aGlzLmxhYmVsPWF8fCIiO3RoaXMuYWx0PWJ8fCIiO3RoaXMudGg9Znx8bnVsbDt0aGlzLmhxPWM7dGhpcy5xaD1kO3RoaXMuc2g9ZTt0aGlzLnJoPWd8fG51bGx9fTt2YXIgSkhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5zaD1hO3RoaXMubWFwcGluZz17fTt0aGlzLmJ1dHRvbnM9W107dGhpcy5sYWJlbHM9dGhpcy5yaD10aGlzLnFoPW51bGw7Yj1ifHxbInJvYWRtYXAiLCJzYXRlbGxpdGUiLCJoeWJyaWQiLCJ0ZXJyYWluIl07dmFyIGM9Xy52YyhiLCJ0ZXJyYWluIikmJl8udmMoYiwicm9hZG1hcCIpLGQ9Xy52YyhiLCJoeWJyaWQiKSYmXy52YyhiLCJzYXRlbGxpdGUiKTtfLmtuKHRoaXMsIm1hcHR5cGVpZF9jaGFuZ2VkIiwoKT0+e3ZhciBlPXRoaXMuZ2V0KCJtYXBUeXBlSWQiKTt0aGlzLmxhYmVscyYmdGhpcy5sYWJlbHMuc2V0KCJkaXNwbGF5IixlPT09InNhdGVsbGl0ZSIpO3RoaXMucWgmJnRoaXMucWguc2V0KCJkaXNwbGF5IixlPT09InJvYWRtYXAiKX0pO18ua24odGhpcywiem9vbV9jaGFuZ2VkIiwoKT0+e2lmKHRoaXMucWgpe2xldCBlPXRoaXMuZ2V0KCJ6b29tIik7dGhpcy5xaC5zZXQoImVuYWJsZWQiLAplPD10aGlzLnJoKX19KTtmb3IobGV0IGUgb2YgYil7aWYoZT09PSJoeWJyaWQiJiZkKWNvbnRpbnVlO2lmKGU9PT0idGVycmFpbiImJmMpY29udGludWU7Yj1hLmdldChlKTtpZighYiljb250aW51ZTtsZXQgZj1udWxsO2U9PT0icm9hZG1hcCI/YyYmKHRoaXMucWg9Z0ZhKHRoaXMsInRlcnJhaW4iLCJyb2FkbWFwIiwidGVycmFpbiIsdm9pZCAwLCJab29tIG91dCB0byBzaG93IHN0cmVldCBtYXAgd2l0aCB0ZXJyYWluIiksZj1bW3RoaXMucWhdXSx0aGlzLnJoPWEuZ2V0KCJ0ZXJyYWluIikubWF4Wm9vbSk6ZSE9PSJzYXRlbGxpdGUiJiZlIT09Imh5YnJpZCJ8fCFkfHwodGhpcy5sYWJlbHM9aEZhKHRoaXMpLGY9W1t0aGlzLmxhYmVsc11dKTt0aGlzLmJ1dHRvbnMucHVzaChuZXcgaUZhKGIubmFtZSxiLmFsdCwibWFwVHlwZUlkIixlLG51bGwsbnVsbCxmKSl9fX07dmFyIGVLPSgwLF8uR2opYC5nbS1jb250cm9sLWFjdGl2ZVx1MDAzZWltZ3std2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5Om5vbmU7bGVmdDo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS5nbS1jb250cm9sLWFjdGl2ZVx1MDAzZWltZzpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrfS5nbS1jb250cm9sLWFjdGl2ZTphY3RpdmVcdTAwM2VpbWc6Zmlyc3QtY2hpbGQsLmdtLWNvbnRyb2wtYWN0aXZlOmRpc2FibGVkXHUwMDNlaW1nOmZpcnN0LWNoaWxkLC5nbS1jb250cm9sLWFjdGl2ZTpmb2N1c1x1MDAzZWltZzpmaXJzdC1jaGlsZCwuZ20tY29udHJvbC1hY3RpdmU6aG92ZXJcdTAwM2VpbWc6Zmlyc3QtY2hpbGR7ZGlzcGxheTpub25lfS5nbS1jb250cm9sLWFjdGl2ZTpmb2N1c1x1MDAzZWltZzpudGgtY2hpbGQoMiksLmdtLWNvbnRyb2wtYWN0aXZlOmhvdmVyXHUwMDNlaW1nOm50aC1jaGlsZCgyKXtkaXNwbGF5OmJsb2NrfS5nbS1jb250cm9sLWFjdGl2ZTphY3RpdmVcdTAwM2VpbWc6bnRoLWNoaWxkKDMpe2Rpc3BsYXk6YmxvY2t9LmdtLWNvbnRyb2wtYWN0aXZlOmRpc2FibGVkXHUwMDNlaW1nOm50aC1jaGlsZCg0KXtkaXNwbGF5OmJsb2NrfXNlbnRpbmVse31cbmA7dmFyIFFIYT1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e2NvbnN0cnVjdG9yKGE9e2NvbnRyb2xTaXplOjQwLER5OiExLENGOjF9KXtzdXBlcigpO3RoaXMucmg9dGhpcy5CaD0hMTt0aGlzLnNoPV8uUnEoIk1hcCBjYW1lcmEgY29udHJvbHMiKTt0aGlzLnFoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1lbnUiKTt0aGlzLmNvbnRyb2xTaXplPWEuY29udHJvbFNpemU7dGhpcy5EeT1hLkR5fHwhMTt0aGlzLlhyPWEuWHI7dGhpcy50aD1hLkNGfHwxO3RoaXMuSmg9YS5DRnx8MTt0aGlzLnloPXRKKHRoaXMsIlVwIik7dGhpcy54aD10Sih0aGlzLCJMZWZ0Iik7dGhpcy56aD10Sih0aGlzLCJSaWdodCIpO3RoaXMud2g9dEoodGhpcywiRG93biIpO3RoaXMuQWg9bEZhKHRoaXMsMCk7dGhpcy5GaD1sRmEodGhpcywxKX1jb25uZWN0ZWRDYWxsYmFjaygpe2lmKCF0aGlzLkJoKXt0aGlzLkJoPSEwO3RoaXMuc3R5bGUuY3Vyc29yPSJwb2ludGVyIjt0aGlzLmRhdGFzZXQuY29udHJvbFdpZHRoPQpTdHJpbmcodGhpcy5jb250cm9sU2l6ZSk7dGhpcy5kYXRhc2V0LmNvbnRyb2xIZWlnaHQ9U3RyaW5nKHRoaXMuY29udHJvbFNpemUpO18uWEUodGhpcyk7Xy5UcCh0aGlzKTtfLmlKKHRoaXMpO18uU3QoZUssdGhpcy5Ycnx8dGhpcyk7ckoodGhpcyx0aGlzLnNoKTtsZXQgYT10aGlzLnRoPT09Mj8iX2RhcmsiOiIiO3ZKKHRoaXMsW18uUUlbYGNhbWVyYV9jb250cm9sJHthfS5zdmdgXSxfLlFJW2BjYW1lcmFfY29udHJvbF9ob3ZlciR7YX0uc3ZnYF0sXy5RSVtgY2FtZXJhX2NvbnRyb2xfYWN0aXZlJHthfS5zdmdgXSxfLlFJW2BjYW1lcmFfY29udHJvbF9kaXNhYmxlJHthfS5zdmdgXV0sdGhpcy5zaCk7dGhpcy5zaC50eXBlPSJidXR0b24iO3RoaXMuc2guc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKTttRmEodGhpcyk7dGhpcy5hcHBlbmRDaGlsZCh0aGlzLnNoKTt0aGlzLmFwcGVuZENoaWxkKHRoaXMucWgpO3RoaXMuc2guc2V0QXR0cmlidXRlKCJhcmlhLWNvbnRyb2xzIiwKdGhpcy5xaC5pZCk7bkZhKHRoaXMpfX1HaChhKXt2YXIgYj10aGlzLmNvbnRyb2xTaXplPj4yO2E9YS5jb250YWluZXI7aWYoTnVtYmVyKChhLnN0eWxlLmxlZnR8fGEuc3R5bGUucmlnaHQpLnJlcGxhY2UoInB4IiwiIikpPnRoaXMuY29udHJvbFNpemUpdGhpcy5xaC5zdHlsZS5sZWZ0PWAtJHt0aGlzLmNvbnRyb2xTaXplKzIqYn1weGAsYS5zdHlsZS5ib3R0b20/dGhpcy5xaC5zdHlsZS5ib3R0b209IjEwMCUiOnRoaXMucWguc3R5bGUudG9wPSIxMDAlIjtlbHNle3RoaXMuRHk/dGhpcy5xaC5zdHlsZS5sZWZ0PSIxMDAlIjp0aGlzLnFoLnN0eWxlLnJpZ2h0PSIxMDAlIjt2YXIgYz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKSxkPU51bWJlcihjLmJvdHRvbS5yZXBsYWNlKCJweCIsIiIpKTtjPU51bWJlcihjLnRvcC5yZXBsYWNlKCJweCIsIiIpKTt2YXIgZT1OdW1iZXIodGhpcy5zdHlsZS50b3AucmVwbGFjZSgicHgiLCIiKSk7YS5zdHlsZS50b3A/dGhpcy5xaC5zdHlsZS50b3A9CmMrZT49dGhpcy5jb250cm9sU2l6ZStiP2AtJHt0aGlzLmNvbnRyb2xTaXplKzIqYn1weGA6YC0ke2J9cHhgOmQtZS10aGlzLmNvbnRyb2xTaXplPj10aGlzLmNvbnRyb2xTaXplK2I/dGhpcy5xaC5zdHlsZS50b3A9YC0ke3RoaXMuY29udHJvbFNpemUrMipifXB4YDp0aGlzLnFoLnN0eWxlLmJvdHRvbT1gLSR7Yn1weGB9fUNoKGEsYixjLGQpe2lmKGQpe3ZhciBlPWMudG9KU09OKCksZj1kLmxhdExuZ0JvdW5kcy50b0pTT04oKTtkPWUubm9ydGg+PWYubm9ydGgtMUUtNjtjPWUud2VzdDw9Zi53ZXN0KzFFLTY7bGV0IGc9ZS5lYXN0Pj1mLmVhc3QtMUUtNjtlPWUuc291dGg8PWYuc291dGgrMUUtNjtmPXRoaXMuZ2V0Um9vdE5vZGUoKS5hY3RpdmVFbGVtZW50OyhmPT09dGhpcy55aCYmZHx8Zj09PXRoaXMueGgmJmN8fGY9PT10aGlzLnpoJiZnfHxmPT09dGhpcy53aCYmZSkmJnRoaXMuc2guZm9jdXMoKTt0aGlzLnloLmRpc2FibGVkPWQ7dGhpcy54aC5kaXNhYmxlZD1jO3RoaXMuemguZGlzYWJsZWQ9Cmc7dGhpcy53aC5kaXNhYmxlZD1lfWtGYShhLGIsdGhpcy5BaCx0aGlzLkZoKX1EaChhKXthPWEhPT0ic2F0ZWxsaXRlIiYmYSE9PSJoeWJyaWQifHwhXy5McFs0M10/dGhpcy5KaDoyO2lmKHRoaXMudGghPT1hKXt0aGlzLnRoPWE7dmFyIGI9YT09PTI/Il9kYXJrIjoiIjt2Sih0aGlzLFtfLlFJW2BjYW1lcmFfY29udHJvbCR7Yn0uc3ZnYF0sXy5RSVtgY2FtZXJhX2NvbnRyb2xfaG92ZXIke2J9LnN2Z2BdLF8uUUlbYGNhbWVyYV9jb250cm9sX2FjdGl2ZSR7Yn0uc3ZnYF0sXy5RSVtgY2FtZXJhX2NvbnRyb2xfZGlzYWJsZSR7Yn0uc3ZnYF1dLHRoaXMuc2gpO3NKKHRoaXMsdGhpcy53aCwiRG93biIpO3NKKHRoaXMsdGhpcy54aCwiTGVmdCIpO3NKKHRoaXMsdGhpcy56aCwiUmlnaHQiKTtzSih0aGlzLHRoaXMueWgsIlVwIik7cUoodGhpcy5BaCwwLGEsdGhpcy5jb250cm9sU2l6ZSk7cUoodGhpcy5BaCwxLGEsdGhpcy5jb250cm9sU2l6ZSl9fU9uKGEsYil7dGhpcy5zdHlsZS5kaXNwbGF5PQpiJiZiLndpZHRoPj0yMDAmJmIuaGVpZ2h0Pj0yMDB8fGE/IiI6Im5vbmUifX07Xy54bygiZ21wLWludGVybmFsLWNhbWVyYS1jb250cm9sIixRSGEpO3ZhciBwSGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jb250YWluZXI9YTt0aGlzLnFoPW51bGx9Y2FyZF9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoImNhcmQiKTt0aGlzLnFoJiZ0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzLnFoKTtpZihhKXtsZXQgYj10aGlzLnFoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Iuc3R5bGUuYmFja2dyb3VuZENvbG9yPSJ3aGl0ZSI7Yi5hcHBlbmRDaGlsZChhKTtiLnN0eWxlLm1hcmdpbj1fLnBtKDEwKTtiLnN0eWxlLnBhZGRpbmc9Xy5wbSgxKTtiLnN0eWxlLmJveFNoYWRvdz0iMCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjMpIjtiLnN0eWxlLmJvcmRlclJhZGl1cz1fLnBtKDIpO3RoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGIpO3RoaXMucWg9Yn1lbHNlIHRoaXMucWg9bnVsbH1nZXREaXYoKXtyZXR1cm4gdGhpcy5jb250YWluZXJ9fTt2YXIgaklhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldEhlYWRpbmcoKXtyZXR1cm4gXy5PZyh0aGlzLDEpfXNldEhlYWRpbmcoYSl7cmV0dXJuIF8uQXUodGhpcywxLGEpfX07dmFyIHdKPXt9LHhKPW51bGw7Xy5xYih6SixfLkdrKTt6Si5wcm90b3R5cGUuTnU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yaD09LTF9O3pKLnByb3RvdHlwZS5RcD1mdW5jdGlvbihhKXt0aGlzLmRpc3BhdGNoRXZlbnQoYSl9O18ucWIoQUosekopO18uYWE9QUoucHJvdG90eXBlO18uYWEudGo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kdXJhdGlvbn07Xy5hYS5zdG9wPWZ1bmN0aW9uKGEpe3lKKHRoaXMpO3RoaXMucmg9MDthJiYodGhpcy5wcm9ncmVzcz0xKTtzRmEodGhpcyx0aGlzLnByb2dyZXNzKTt0aGlzLlFwKCJzdG9wIik7dGhpcy5RcCgiZW5kIil9O18uYWEucGF1c2U9ZnVuY3Rpb24oKXt0aGlzLnJoPT0xJiYoeUoodGhpcyksdGhpcy5yaD0tMSx0aGlzLlFwKCJwYXVzZSIpKX07Xy5hYS5Caz1mdW5jdGlvbigpe3RoaXMucmg9PTB8fHRoaXMuc3RvcCghMSk7dGhpcy5RcCgiZGVzdHJveSIpO0FKLmlyLkJrLmNhbGwodGhpcyl9O18uYWEuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFhLlFwPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgdEZhKGEsdGhpcykpfTtfLnFiKHRGYSxfLm5rKTt2YXIgUkhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmxheW91dD1hO3RoaXMuYW5pbWF0aW9uPW51bGw7dGhpcy5xaD0hMTtiLz00MDthLmRpdi5zdHlsZS50cmFuc2Zvcm09YHNjYWxlKCR7Yn0pYDthLmRpdi5zdHlsZS50cmFuc2Zvcm1PcmlnaW49ImxlZnQiO2EuZGl2LmRhdGFzZXQuY29udHJvbFdpZHRoPVN0cmluZyhNYXRoLnJvdW5kKDQ4KmIpKTthLmRpdi5kYXRhc2V0LmNvbnRyb2xIZWlnaHQ9U3RyaW5nKE1hdGgucm91bmQoNDgqYikpO2EuYWRkTGlzdGVuZXIoImNvbXBhc3MuY2xvY2t3aXNlIiwiY2xpY2siLGQ9Pnt3RmEodGhpcyxkLCEwKX0pO2EuYWRkTGlzdGVuZXIoImNvbXBhc3MuY291bnRlcmNsb2Nrd2lzZSIsImNsaWNrIixkPT57d0ZhKHRoaXMsZCwhMSl9KTthLmFkZExpc3RlbmVyKCJjb21wYXNzLm5vcnRoIiwiY2xpY2siLGQ9Pnt2YXIgZT10aGlzLmdldCgicG92Iik7aWYoZSl7dmFyIGY9Xy5idyhlLmhlYWRpbmcsCjM2MCk7dkZhKHRoaXMsZixmPDE4MD8wOjM2MCxlLnBpdGNoLDApO18uTSh3aW5kb3csXy4kRShkKT8xNzEzMzY6MTcxMzM1KX19KTtfLlN0KGVLLGMpfWNoYW5nZWQoKXshdGhpcy5xaCYmdGhpcy5hbmltYXRpb24mJih0aGlzLmFuaW1hdGlvbi5zdG9wKCksdGhpcy5hbmltYXRpb249bnVsbCk7dmFyIGE9dGhpcy5nZXQoInBvdiIpO2lmKGEpe2E9KG5ldyBqSWEpLnNldEhlYWRpbmcoXy5kbSgtYS5oZWFkaW5nLDAsMzYwKSk7Xy5LdihfLndnKGEsXy5nSCwzKSxfLmhIKF8uQkUoXy5RSVsiY29tcGFzc19iYWNrZ3JvdW5kLnN2ZyJdKSkpO18uS3YoXy53ZyhhLF8uZ0gsNCksXy5oSChfLkJFKF8uUUlbImNvbXBhc3NfbmVlZGxlX25vcm1hbC5zdmciXSkpKTtfLkt2KF8ud2coYSxfLmdILDUpLF8uaEgoXy5CRShfLlFJWyJjb21wYXNzX25lZWRsZV9ob3Zlci5zdmciXSkpKTtfLkt2KF8ud2coYSxfLmdILDYpLF8uaEgoXy5CRShfLlFJWyJjb21wYXNzX25lZWRsZV9hY3RpdmUuc3ZnIl0pKSk7Cl8uS3YoXy53ZyhhLF8uZ0gsNyksXy5oSChfLkJFKF8uUUlbImNvbXBhc3Nfcm90YXRlX25vcm1hbC5zdmciXSkpKTtfLkt2KF8ud2coYSxfLmdILDgpLF8uaEgoXy5CRShfLlFJWyJjb21wYXNzX3JvdGF0ZV9ob3Zlci5zdmciXSkpKTtfLkt2KF8ud2coYSxfLmdILDkpLF8uaEgoXy5CRShfLlFJWyJjb21wYXNzX3JvdGF0ZV9hY3RpdmUuc3ZnIl0pKSk7dmFyIGI9Xy5paChhLDEwLCJSb3RhdGUgY291bnRlcmNsb2Nrd2lzZSIpO2I9Xy5paChiLDExLCJSb3RhdGUgY2xvY2t3aXNlIik7Xy5paChiLDEyLCJSZXNldCB0aGUgdmlldyIpO3RoaXMubGF5b3V0LnVwZGF0ZShbYV0pO3RoaXMubGF5b3V0LmRpdi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1nbS1jb21wYXNzLWNvbnRyb2wtcm90YXRpb24tZGVncmVlIixgcm90YXRlKCR7YS5nZXRIZWFkaW5nKCl9ZGVnKWApfX1tYXBTaXplX2NoYW5nZWQoKXtCSih0aGlzKX1kaXNhYmxlRGVmYXVsdFVJX2NoYW5nZWQoKXtCSih0aGlzKX1wYW5Db250cm9sX2NoYW5nZWQoKXtCSih0aGlzKX19O3ZhciBqSGE9bmV3IE1hcChbWzI0LDI2NDcwOV0sWzI1LDI2NDcxMF0sWzIzLDI2NDcxMV0sWzE1LDI2NDcxMl0sWzE2LDI2NDcxM10sWzE0LDI2NDcxNF0sWzExLDI2NDcxNV0sWzEwLDI2NDcxNl0sWzEyLDI2NDcxN10sWzExLDI2NDcxOF0sWzEzLDI2NDcxOV0sWzIxLDI2NDcyMF0sWzIyLDI2NDcyMV0sWzIwLDI2NDcyMl0sWzE3LDI2NDcyM10sWzE5LDI2NDcyNF0sWzE4LDI2NDcyNV0sWzYsMjY0NzI2XSxbNCwyNjQ3MjddLFs1LDI2NDcyOF0sWzUsMjY0NzI5XSxbOSwyNjQ3MzBdLFs4LDI2NDczMV0sWzcsMjY0NzMyXSxbNywyNjQ3MzNdLFsyLDI2NDczNF0sWzEsMjY0NzM1XSxbMywyNjQ3MzZdLFsyLDI2NDczN11dKTt2YXIgaEhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkLGU9MSl7c3VwZXIoKTt0aGlzLmduPWM7dGhpcy53aD1bXTt0aGlzLnNldCgiY29sb3JUaGVtZSIsZSk7dGhpcy54aD1lO3RoaXMucmg9YTt0aGlzLnRoPWQ7dGhpcy5xaD1iO3RoaXMucWguc3R5bGUuY3Vyc29yPSJwb2ludGVyIjt0aGlzLnFoLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKTt0aGlzLnNoPWlJYSgpO3RoaXMuemg9KCk9Pnt0aGlzLmduLnNldChfLm9lYSh0aGlzLnJoLHRoaXMucmguZ2V0Um9vdE5vZGUoKSkpfTt0aGlzLnJlZnJlc2g9KCk9Pnt2YXIgZj10aGlzLmdldCgiZGlzcGxheSIpLGc9ISF0aGlzLmdldCgiZGlzYWJsZURlZmF1bHRVSSIpO18uVkUodGhpcy5xaCwoZj09PXZvaWQgMCYmIWd8fCEhZikmJnRoaXMuc2gpO18ud24odGhpcy5xaCwicmVzaXplIil9O3RoaXMuc2gmJihfLlN0KGVLLGEpLHRoaXMucWguc2V0QXR0cmlidXRlKCJjbGFzcyIsImdtLWNvbnRyb2wtYWN0aXZlIGdtLWZ1bGxzY3JlZW4tY29udHJvbCIpLAp0aGlzLnFoLnN0eWxlLmJvcmRlclJhZGl1cz1fLnBtKF8uZkgoZCkpLHRoaXMucWguc3R5bGUud2lkdGg9dGhpcy5xaC5zdHlsZS5oZWlnaHQ9Xy5wbShkKSx0aGlzLnFoLnN0eWxlLmJveFNoYWRvdz0iMCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjMpIixDSih0aGlzLnFoLHRoaXMuZ24uZ2V0KCksZCxlKSx0aGlzLnFoLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLF8ucW4odGhpcy5xaCwiY2xpY2siLGY9PntfLk0od2luZG93LF8uJEUoZik/MTY0Njc2OjE2NDY3NSk7aWYodGhpcy5nbi5nZXQoKSl7Zm9yKGxldCBnIG9mIF8uUGlhKWlmKGcgaW4gZG9jdW1lbnQpe2RvY3VtZW50W2ddKCk7YnJlYWt9dGhpcy5xaC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIil9ZWxzZXtmb3IobGV0IGcgb2YgXy5RaWEpdGhpcy53aC5wdXNoKF8ucW4oZG9jdW1lbnQsZyx0aGlzLnpoKSk7Zj10aGlzLnJoO2ZvcihsZXQgZyBvZiBfLlNpYSlpZihnIGluIGYpe2ZbZ10oKTticmVha310aGlzLnFoLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwKInRydWUiKX19KSk7Xy5rbih0aGlzLCJkaXNhYmxlZGVmYXVsdHVpX2NoYW5nZWQiLHRoaXMucmVmcmVzaCk7Xy5rbih0aGlzLCJkaXNwbGF5X2NoYW5nZWQiLHRoaXMucmVmcmVzaCk7Xy5rbih0aGlzLCJtYXB0eXBlaWRfY2hhbmdlZCIsKCk9Pnt2YXIgZj10aGlzLmdldCgibWFwVHlwZUlkIik9PT0ic3RyZWV0dmlldyI/Mjp0aGlzLmdldCgiY29sb3JUaGVtZSIpO0RKKHRoaXMsZik7dGhpcy5xaC5zdHlsZS5tYXJnaW49Xy5wbSh0aGlzLnRoPj4yKTt0aGlzLnJlZnJlc2goKX0pO18ua24odGhpcywiY29sb3JUaGVtZV9jaGFuZ2VkIiwoKT0+e3ZhciBmPXRoaXMuZ2V0KCJjb2xvclRoZW1lIik7Zj09bnVsbCYmKGY9MSk7REoodGhpcyxmKX0pO3RoaXMuZ24uYWRkTGlzdGVuZXIoKCk9PntfLnduKHRoaXMucmgsInJlc2l6ZSIpO3RoaXMuZ24uZ2V0KCl8fHlGYSh0aGlzKTt0aGlzLnNoJiZDSih0aGlzLnFoLHRoaXMuZ24uZ2V0KCksdGhpcy50aCx0aGlzLnhoKX0pO0RKKHRoaXMsCmUpO3RoaXMucmVmcmVzaCgpfX0sekZhPXtbMV06e1NNOi01MixjbG9zZTotNzgsdG9wOi04NixiYWNrZ3JvdW5kQ29sb3I6IiNmZmYifSxbMl06e1NNOjAsY2xvc2U6LTI2LHRvcDotODYsYmFja2dyb3VuZENvbG9yOiIjNDQ0In19O3ZhciBsSGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLnFoPWE7dGhpcy5yaD1iO3RoaXMuY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuZWxlbWVudD1BRmEodGhpcyk7dGhpcy5oYXNGb2N1cz1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dGhpcy5lbGVtZW50O0JGYSh0aGlzKTtfLnFuKHRoaXMuZWxlbWVudCwiZm9jdXMiLCgpPT57dGhpcy5CRCgpfSk7Xy5xbih0aGlzLmVsZW1lbnQsImJsdXIiLCgpPT57dGhpcy5oYXNGb2N1cz0hMTtCRmEodGhpcyl9KTtfLmtuKHRoaXMsInVwZGF0ZSIsKCk9Pnt0aGlzLmhhc0ZvY3VzJiZDRmEodGhpcyl9KTtfLnZuKGEsInVwZGF0ZSIsdGhpcyl9QkQoKXt0aGlzLmhhc0ZvY3VzPSEwO0NGYSh0aGlzKX19O3ZhciBrSWE9bmV3IFNldChbMywxMiw2LDldKSxsSWE9WzEsMiwzLDUsNyw0LDEzLDgsNiw5LDEwLDExLDEyXSxtSWE9WzMsMiwxLDcsNSw4LDEzLDQsOSw2LDEyLDExLDEwXSxuSWE9bmV3IFNldChbMjQsMjMsMjUsMTksMTcsMTgsMjIsMjEsMjAsMTUsMTQsMTZdKSxvSWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYj0hMSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMudGg9bmV3IF8uQXAoKCk9Pnt0aGlzLndoKCl9LDApO18uaHcoYSwicmVzaXplIix0aGlzLHRoaXMud2gpO3RoaXMuc2g9bmV3IE1hcDt0aGlzLnJoPW5ldyBTZXQ7dGhpcy5zZXQoImlzUlRMIixiKTt0aGlzLnFoPW5ldyBNYXA7Zm9yKGxldCBjIG9mIGxJYSlhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKGEpLHRoaXMucWguc2V0KGMsYSksdGhpcy5zaC5zZXQoYyxbXSk7dGhpcy5pc1JUTF9jaGFuZ2VkKCl9Z2V0U2l6ZSgpe3JldHVybiBfLlJwKHRoaXMuY29udGFpbmVyKX1hZGRFbGVtZW50KGEsCmIsYz0hMSxkKXt2YXIgZT1HSih0aGlzLGIpLGY9dGhpcy5zaC5nZXQoZSk7aWYoZil7Wy4uLnRoaXMucmhdLnNvbWUoaz0+ay5lbGVtZW50PT09YSk7dmFyIGc9ZCE9PXZvaWQgMCYmXy5qbShkKT9kOmYubGVuZ3RoLGg7Zm9yKGg9MDtoPGYubGVuZ3RoJiYhKGZbaF0uaW5kZXg9PT1nJiZmW2hdLmtJPGIpJiYhKGZbaF0uaW5kZXg+Zyk7KytoKTtiPXtlbGVtZW50OmEsYno6ISFjLGluZGV4OmcsTE46ZCxrSTpiLGxpc3RlbmVyOl8ua24oYSwicmVzaXplIiwoKT0+e3RoaXMudGguRGkoKX0pfTtmLnNwbGljZShoLDAsYik7dGhpcy5yaC5hZGQoYik7Xy50dyhhKTthLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7Yj10aGlzLnFoLmdldChlKTtlPXRoaXMuZ2V0KCJpc1JUTCIpIT09a0lhLmhhcyhlKT9mLmxlbmd0aC1oLTE6aDtiLmluc2VydEJlZm9yZShhLGIuY2hpbGRyZW5bZV0pO3RoaXMudGguRGkoKX19TG4oYSl7YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7CmZvcihsZXQgYyBvZiB0aGlzLnNoLnZhbHVlcygpKWZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7KytkKWlmKGNbZF0uZWxlbWVudD09PWEpe3RoaXMucmguZGVsZXRlKGNbZF0pO3ZhciBiPWE7Yi5zdHlsZS50b3A9ImF1dG8iO2Iuc3R5bGUuYm90dG9tPSJhdXRvIjtiLnN0eWxlLmxlZnQ9ImF1dG8iO2Iuc3R5bGUucmlnaHQ9ImF1dG8iO18ubW4oY1tkXS5saXN0ZW5lcik7Yy5zcGxpY2UoZCwxKX10aGlzLnRoLkRpKCl9d2goKXt2YXIgYT10aGlzLmdldFNpemUoKSxiPWEud2lkdGg7YT1hLmhlaWdodDt2YXIgYz10aGlzLnNoLGQ9W10sZT1ISihjLmdldCgxKSwibGVmdCIsInRvcCIsZCksZj1JSihjLmdldCg1KSwibGVmdCIsInRvcCIsZCk7ZD1bXTt2YXIgZz1ISihjLmdldCgxMCksImxlZnQiLCJib3R0b20iLGQpLGg9SUooYy5nZXQoNiksImxlZnQiLCJib3R0b20iLGQpO2Q9W107dmFyIGs9SEooYy5nZXQoMyksInJpZ2h0IiwidG9wIixkKSxtPUlKKGMuZ2V0KDcpLCJyaWdodCIsInRvcCIsCmQpO2Q9W107dmFyIHA9SEooYy5nZXQoMTIpLCJyaWdodCIsImJvdHRvbSIsZCk7ZD1JSihjLmdldCg5KSwicmlnaHQiLCJib3R0b20iLGQpO3ZhciBxPUZGYShjLmdldCgxMSksImJvdHRvbSIsYiksdT1GRmEoYy5nZXQoMiksInRvcCIsYikseD1KSihjLmdldCg0KSwibGVmdCIsYixhKTtKSihjLmdldCgxMyksImNlbnRlciIsYixhKTtjPUpKKGMuZ2V0KDgpLCJyaWdodCIsYixhKTt0aGlzLnNldCgiYm91bmRzIixuZXcgXy55byhbbmV3IF8uYm8oTWF0aC5tYXgoeCxlLndpZHRoLGcud2lkdGgsZi53aWR0aCxoLndpZHRoKXx8MCxNYXRoLm1heCh1LGUuaGVpZ2h0LGYuaGVpZ2h0LGsuaGVpZ2h0LG0uaGVpZ2h0KXx8MCksbmV3IF8uYm8oYi0oTWF0aC5tYXgoYyxrLndpZHRoLHAud2lkdGgsbS53aWR0aCxkLndpZHRoKXx8MCksYS0oTWF0aC5tYXgocSxnLmhlaWdodCxwLmhlaWdodCxoLmhlaWdodCxkLmhlaWdodCl8fDApKV0pKX1pc1JUTF9jaGFuZ2VkKCl7aWYodGhpcy5xaCl7dmFyIGE9CnRoaXMuZ2V0KCJpc1JUTCIpP21JYTpsSWE7Zm9yKGxldCBiIG9mIGEpdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5xaC5nZXQoYikpO2E9Wy4uLnRoaXMucmhdO2ZvcihsZXQgYiBvZiBhKXRoaXMuTG4oYi5lbGVtZW50KSx0aGlzLmFkZEVsZW1lbnQoYi5lbGVtZW50LGIua0ksYi5ieixiLkxOKX19fTt2YXIgekhhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPTApe3RoaXMuY29udGFpbmVyPWE7dGhpcy5wYWRkaW5nPWM7dGhpcy5lbGVtZW50cz1bXTtuSWEuaGFzKGIpO3RoaXMucmg9KHRoaXMucWg9Yj09PTN8fGI9PT0xMnx8Yj09PTZ8fGI9PT05KT9YRWEuYmluZCh0aGlzKTpfLnJjLmJpbmQodGhpcyk7YS5kYXRhc2V0LmNvbnRyb2xXaWR0aD0iMCI7YS5kYXRhc2V0LmNvbnRyb2xIZWlnaHQ9IjAifWFkZChhKXthLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7dGhpcy5xaD90aGlzLmNvbnRhaW5lci5pbnNlcnRCZWZvcmUoYSx0aGlzLmNvbnRhaW5lci5maXJzdENoaWxkKTp0aGlzLmNvbnRhaW5lci5hcHBlbmRDaGlsZChhKTthPUdGYSh0aGlzLGEpO3RoaXMuZWxlbWVudHMucHVzaChhKTtLSih0aGlzLGEpfXJlbW92ZShhKXt0aGlzLmNvbnRhaW5lci5yZW1vdmVDaGlsZChhKTtYRWEodGhpcy5lbGVtZW50cywoYixjKT0+e2IuZWxlbWVudD09PWEmJih0aGlzLmVsZW1lbnRzLnNwbGljZShjLAoxKSx0aGlzLm9uUmVtb3ZlKGIpKX0pfW9uUmVtb3ZlKGEpe2EmJihLSih0aGlzLGEpLGEuWUUmJihfLm1uKGEuWUUpLGRlbGV0ZSBhLllFKSl9fTtuZXcgXy5nbyg0MCw0MCk7bmV3IF8uZ28oMzAsMzApO18uWncoImFwaS0zL2ltYWdlcy9teV9sb2NhdGlvbl9zcGlubmVyIiwhMCwhMCk7dmFyIEpGYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5xaD1hO3RoaXMucmg9Yzt0aGlzLmNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmNvbnRhaW5lci5zdHlsZS5tYXJnaW49IjAgNXB4Ijt0aGlzLmNvbnRhaW5lci5zdHlsZS56SW5kZXg9IjEwMDAwMDAiO3RoaXMubGluaz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dGhpcy5saW5rLnN0eWxlLmRpc3BsYXk9ImlubGluZSI7dGhpcy5saW5rLnRhcmdldD0iX2JsYW5rIjt0aGlzLmxpbmsucmVsPSJub29wZW5lciI7dGhpcy5saW5rLnRpdGxlPSJPcGVuIHRoaXMgYXJlYSBpbiBHb29nbGUgTWFwcyAob3BlbnMgYSBuZXcgd2luZG93KSI7dGhpcy5saW5rLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIk9wZW4gdGhpcyBhcmVhIGluIEdvb2dsZSBNYXBzIChvcGVucyBhIG5ldyB3aW5kb3cpIik7Xy5Qdih0aGlzLmxpbmssYi5nZXQoInVybCIpKTt0aGlzLmxpbmsuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLApkPT57Xy5NKHdpbmRvdyxfLiRFKGQpPzE2NTIzMDoxNjUyMjkpfSk7dGhpcy5kaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Xy5RcCh0aGlzLmRpdixfLkZpYSk7Xy5YRSh0aGlzLmRpdik7dGhpcy5pbWFnZT1fLm5IKG51bGwsdGhpcy5kaXYsXy5wbyxfLkZpYSk7dGhpcy5pbWFnZS5hbHQ9Ikdvb2dsZSI7Xy5rbihiLCJ1cmxfY2hhbmdlZCIsKCk9PntfLlB2KHRoaXMubGluayxiLmdldCgidXJsIikpfSk7Xy5rbih0aGlzLnFoLCJwYXNzaXZlbG9nb19jaGFuZ2VkIiwoKT0+e3RoaXMudGkoKX0pO3RoaXMudGkoKX1nZXREaXYoKXtyZXR1cm4gdGhpcy5jb250YWluZXJ9dGkoKXt0aGlzLnJoJiZ0aGlzLnFoLmdldCgicGFzc2l2ZUxvZ28iKT90aGlzLmNvbnRhaW5lci5jb250YWlucyh0aGlzLmxpbmspP3RoaXMuY29udGFpbmVyLnJlcGxhY2VDaGlsZCh0aGlzLmRpdix0aGlzLmxpbmspOnRoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuZGl2KToodGhpcy5saW5rLmFwcGVuZENoaWxkKHRoaXMuZGl2KSwKdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5saW5rKSl9fTt2YXIgTUo9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO18ua24odGhpcywidmFsdWVfY2hhbmdlZCIsKCk9Pnt0aGlzLnNldCgiYWN0aXZlIix0aGlzLmdldCgidmFsdWUiKT09Yil9KTt2YXIgZD0oKT0+e3RoaXMuZ2V0KCJlbmFibGVkIikhPT0hMSYmKGMhPW51bGwmJnRoaXMuZ2V0KCJhY3RpdmUiKT90aGlzLnNldCgidmFsdWUiLGMpOnRoaXMuc2V0KCJ2YWx1ZSIsYikpfTtuZXcgXy5GcChhLCJjbGljayIsZCk7YS50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPT0iYnV0dG9uIiYmbmV3IF8uRnAoYSwia2V5ZG93biIsZT0+e2Uua2V5IT09IkVudGVyIiYmZS5rZXkhPT0iICJ8fGQoKX0pO18ua24odGhpcywiZGlzcGxheV9jaGFuZ2VkIiwoKT0+e18uVkUoYSx0aGlzLmdldCgiZGlzcGxheSIpIT09ITEpfSl9fTt2YXIgTEZhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMuYnV0dG9uPV8uUnEoZC50aXRsZSk7aWYodGhpcy5DeT1kLkN5fHwhMSl0aGlzLmJ1dHRvbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJtZW51aXRlbXJhZGlvIiksdGhpcy5idXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO18uSXAodGhpcy5idXR0b24pO2EuYXBwZW5kQ2hpbGQodGhpcy5idXR0b24pO18uckUodGhpcy5idXR0b24pO3RoaXMuc3R5bGU9dGhpcy5idXR0b24uc3R5bGU7dGhpcy5taj1kLm1qfHwhMTt0aGlzLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2QuVEQ/aEoodGhpcy5idXR0b24pOnRoaXMuc3R5bGUudGV4dEFsaWduPSJjZW50ZXIiO2QuaGVpZ2h0JiYodGhpcy5zdHlsZS5oZWlnaHQ9Xy5wbShkLmhlaWdodCksdGhpcy5zdHlsZS5kaXNwbGF5PSJ0YWJsZS1jZWxsIix0aGlzLnN0eWxlLnZlcnRpY2FsQWxpZ249Im1pZGRsZSIpO3RoaXMuc3R5bGUucG9zaXRpb249CiJyZWxhdGl2ZSI7akoodGhpcy5idXR0b24sZCk7ZC5EdyYmYUZhKHRoaXMuYnV0dG9uKTtkLmFGJiZiRmEodGhpcy5idXR0b24pO3RoaXMuYnV0dG9uLnN0eWxlLmJhY2tncm91bmRDbGlwPSJwYWRkaW5nLWJveCI7dGhpcy5lQT1kLmVBfHwhMTt0aGlzLkR3PWQuRHd8fCExO3RoaXMuYnV0dG9uLnN0eWxlLmJveFNoYWRvdz0iMCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjMpIjtkLlROPyhhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxhLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsXy51dyhhLG5ldyBfLmJvKDMsMCksIV8uREIuSWooKSwhMCksYS5hcHBlbmRDaGlsZChiKSx0aGlzLmJ1dHRvbi5hcHBlbmRDaGlsZChhKSxiPV8ubkgoXy5adygiYXJyb3ctZG93biIpLHRoaXMuYnV0dG9uKSxfLnV3KGIsbmV3IF8uYm8oOCwwKSwhXy5EQi5JaigpKSxiLnN0eWxlLnRvcD0iNTAlIixiLnN0eWxlLm1hcmdpblRvcD1fLnBtKC0yKSx0aGlzLnNldCgiYWN0aXZlIiwhMSksCnRoaXMuYnV0dG9uLnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsInRydWUiKSx0aGlzLmJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpKToodGhpcy5idXR0b24uYXBwZW5kQ2hpbGQoYiksYj1uZXcgTUoodGhpcy5idXR0b24sYyksYi5iaW5kVG8oInZhbHVlIix0aGlzKSx0aGlzLmJpbmRUbygiYWN0aXZlIixiKSxiLmJpbmRUbygiZW5hYmxlZCIsdGhpcykpO2Quck4mJnRoaXMuYnV0dG9uLnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsInRydWUiKTtkLmVBJiYodGhpcy5zdHlsZS5mb250V2VpZ2h0PSI1MDAiKTt0aGlzLnBhZGRpbmdMZWZ0PV8uSkUodGhpcy5zdHlsZS5wYWRkaW5nTGVmdCl8fDA7ZC5URHx8KHRoaXMuc3R5bGUuZm9udFdlaWdodD0iNTAwIixkPXRoaXMuYnV0dG9uLm9mZnNldFdpZHRoLXRoaXMucGFkZGluZ0xlZnQtKF8uSkUodGhpcy5zdHlsZS5wYWRkaW5nUmlnaHQpfHwwKSx0aGlzLnN0eWxlLmZvbnRXZWlnaHQ9IiIsCl8uam0oZCkmJmQ+PTAmJih0aGlzLnN0eWxlLm1pbldpZHRoPV8ucG0oZCkpKTtuZXcgXy5GcCh0aGlzLmJ1dHRvbiwiY2xpY2siLGU9Pnt0aGlzLmdldCgiZW5hYmxlZCIpIT09ITEmJl8ud24odGhpcywiY2xpY2siLGUpfSk7bmV3IF8uRnAodGhpcy5idXR0b24sImtleWRvd24iLGU9Pnt0aGlzLmdldCgiZW5hYmxlZCIpIT09ITEmJl8ud24odGhpcywia2V5ZG93biIsZSl9KTtuZXcgXy5GcCh0aGlzLmJ1dHRvbiwiYmx1ciIsZT0+e3RoaXMuZ2V0KCJlbmFibGVkIikhPT0hMSYmXy53bih0aGlzLCJibHVyIixlKX0pO25ldyBfLkZwKHRoaXMuYnV0dG9uLCJtb3VzZW92ZXIiLCgpPT57dGhpcy5yaCghMCl9KTtuZXcgXy5GcCh0aGlzLmJ1dHRvbiwibW91c2VvdXQiLCgpPT57dGhpcy5yaCghMSl9KTtfLmtuKHRoaXMsImVuYWJsZWRfY2hhbmdlZCIsKCk9Pnt0aGlzLnJoKCExKX0pO18ua24odGhpcywiYWN0aXZlX2NoYW5nZWQiLCgpPT57dGhpcy5yaCghMSl9KX1uaygpe3JldHVybiB0aGlzLmJ1dHRvbn1yaChhKXt2YXIgYj0KISF0aGlzLmdldCgiYWN0aXZlIil8fHRoaXMuZUE7dGhpcy5nZXQoImVuYWJsZWQiKT09MD8odGhpcy5zdHlsZS5jb2xvcj0iZ3JheSIsYT1iPSExKToodGhpcy5zdHlsZS5jb2xvcj10aGlzLm1qP2J8fGE/IiNmZmYiOiIjYWFhIjpifHxhPyIjMDAwIjoiIzU2NTY1NiIsdGhpcy5DeSYmdGhpcy5idXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLGI/InRydWUiOiJmYWxzZSIpKTt0aGlzLkR3fHwodGhpcy5zdHlsZS5ib3JkZXJMZWZ0PSIwIik7Xy5qbSh0aGlzLnBhZGRpbmdMZWZ0KSYmKHRoaXMuc3R5bGUucGFkZGluZ0xlZnQ9Xy5wbSh0aGlzLnBhZGRpbmdMZWZ0KSk7dGhpcy5zdHlsZS5mb250V2VpZ2h0PWI/IjUwMCI6IiI7dGhpcy5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9dGhpcy5taj9hPyIjNjY2IjoiIzQ0NCI6YT8iI2ViZWJlYiI6IiNmZmYifX07dmFyIHBJYT0oMCxfLkdqKWAuc3NRSUhPLWNoZWNrYm94LW1lbnUtaXRlbVx1MDAzZXNwYW5cdTAwM2VzcGFue2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmlubGluZS1ibG9ja31AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSwocHJlZmVycy1jb250cmFzdDptb3JlKXsuc3NRSUhPLWNoZWNrYm94LW1lbnUtaXRlbVx1MDAzZXNwYW5cdTAwM2VzcGFue2JhY2tncm91bmQtY29sb3I6QnV0dG9uVGV4dH19XG5gO3ZhciBxSWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLnFoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7YS5hcHBlbmRDaGlsZCh0aGlzLnFoKTt0aGlzLnFoLnRhYkluZGV4PS0xO3RoaXMucWguc2V0QXR0cmlidXRlKCJyb2xlIiwibWVudWl0ZW1jaGVja2JveCIpO3RoaXMucWguc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixiKTt0aGlzLm1qPWUubWp8fCExO18uSXAodGhpcy5xaCk7dGhpcy5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7dGhpcy5yaC5zdHlsZVsibWFzay1pbWFnZSJdPWB1cmwoIiR7Xy5RSVsiY2hlY2tib3hfY2hlY2tlZC5zdmciXX0iKWA7dGhpcy5yaC5zdHlsZVsiLXdlYmtpdC1tYXNrLWltYWdlIl09YHVybCgiJHtfLlFJWyJjaGVja2JveF9jaGVja2VkLnN2ZyJdfSIpYDt0aGlzLm1qJiYodGhpcy5yaC5zdHlsZS5maWx0ZXI9ImludmVydCgxMDAlKSIpO3RoaXMuc2g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwp0aGlzLnNoLnN0eWxlWyJtYXNrLWltYWdlIl09YHVybCgiJHtfLlFJWyJjaGVja2JveF9lbXB0eS5zdmciXX0iKWA7dGhpcy5zaC5zdHlsZVsiLXdlYmtpdC1tYXNrLWltYWdlIl09YHVybCgiJHtfLlFJWyJjaGVja2JveF9lbXB0eS5zdmciXX0iKWA7dGhpcy5taiYmKHRoaXMuc2guc3R5bGUuZmlsdGVyPSJpbnZlcnQoMTAwJSkiKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTt0aGlzLnFoLmFwcGVuZENoaWxkKGEpO2EuYXBwZW5kQ2hpbGQodGhpcy5yaCk7YS5hcHBlbmRDaGlsZCh0aGlzLnNoKTt0aGlzLmxhYmVsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7dGhpcy5xaC5hcHBlbmRDaGlsZCh0aGlzLmxhYmVsKTt0aGlzLmxhYmVsLnRleHRDb250ZW50PWI7akoodGhpcy5xaCxlKTtiPV8uREIuSWooKTtfLnJFKHRoaXMucWgpO2hKKHRoaXMucWgpO3RoaXMuc2guc3R5bGUuaGVpZ2h0PXRoaXMucmguc3R5bGUuaGVpZ2h0PSIxZW0iO3RoaXMuc2guc3R5bGUud2lkdGg9CnRoaXMucmguc3R5bGUud2lkdGg9IjFlbSI7dGhpcy5zaC5zdHlsZS50cmFuc2Zvcm09dGhpcy5yaC5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMC4xNWVtKSI7dGhpcy5sYWJlbC5zdHlsZS5jdXJzb3I9ImluaGVyaXQiO3RoaXMubWo/KHRoaXMucWguc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjNDQ0Iix0aGlzLnFoLnN0eWxlLmNvbG9yPSIjZmZmIik6KHRoaXMucWguc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjZmZmIix0aGlzLnFoLnN0eWxlLmNvbG9yPSIjMDAwIik7dGhpcy5xaC5zdHlsZS53aGl0ZVNwYWNlPSJub3dyYXAiO3RoaXMucWguc3R5bGVbYj8icGFkZGluZ0xlZnQiOiJwYWRkaW5nUmlnaHQiXT1fLnBtKDgpO05GYSh0aGlzLGMsZCk7Xy5TdChwSWEsdGhpcy5xaCk7Xy5UcSh0aGlzLnFoLCJjaGVja2JveC1tZW51LWl0ZW0iKX1uaygpe3JldHVybiB0aGlzLnFofX07dmFyIHJJYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLnFoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7YS5hcHBlbmRDaGlsZCh0aGlzLnFoKTt2YXIgZT10aGlzLnFoO2pKKGUsZCk7Xy5zdyhiLGUpO2Uuc3R5bGUuYmFja2dyb3VuZENvbG9yPWQ/Lm1qPyIjNDQ0IjoiI2ZmZiI7ZS50YWJJbmRleD0tMTtlLnNldEF0dHJpYnV0ZSgicm9sZSIsIm1lbnVpdGVtcmFkaW8iKTtlLnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwiZmFsc2UiKTtfLklwKGUpO18uc24odGhpcywiYWN0aXZlX2NoYW5nZWQiLHRoaXMsKCk9Pnt2YXIgZj10aGlzLmdldCgiYWN0aXZlIil8fCExO2Uuc3R5bGUuZm9udFdlaWdodD1mPyI1MDAiOiIiO2Uuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLGYpfSk7Xy5zbih0aGlzLCJlbmFibGVkX2NoYW5nZWQiLHRoaXMsKCk9Pnt2YXIgZj10aGlzLmdldCgiZW5hYmxlZCIpIT09ITE7ZS5zdHlsZS5jb2xvcj0KZD8ubWo/Zj8iI2ZmZiI6IiNhYWEiOmY/IiMwMDAiOiIjNTY1NjU2IjsoZj1mP2Q/LnRpdGxlOmQ/LnFNKSYmZS5zZXRBdHRyaWJ1dGUoInRpdGxlIixmKX0pO2E9bmV3IE1KKGUsYyk7YS5iaW5kVG8oInZhbHVlIix0aGlzKTthLmJpbmRUbygiZGlzcGxheSIsdGhpcyk7YS5iaW5kVG8oImVuYWJsZWQiLHRoaXMpO3RoaXMuYmluZFRvKCJhY3RpdmUiLGEpO18uaHcoZSwibW91c2VvdmVyIix0aGlzLCgpPT57dGhpcy5nZXQoImVuYWJsZWQiKSE9PSExJiYoZD8ubWo/KGUuc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjNjY2IixlLnN0eWxlLmNvbG9yPSIjZmZmIik6KGUuc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjZWJlYmViIixlLnN0eWxlLmNvbG9yPSIjMDAwIikpfSk7Xy5xbihlLCJtb3VzZW91dCIsKCk9PntkPy5taj8oZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiM0NDQiLGUuc3R5bGUuY29sb3I9IiNhYWEiKTooZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiNmZmYiLGUuc3R5bGUuY29sb3I9CiIjNTY1NjU2Iil9KX1uaygpe3JldHVybiB0aGlzLnFofX07dmFyIHNJYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmFwcGVuZENoaWxkKGIpO2Iuc3R5bGUubWFyZ2luPSIxcHggMCI7Yi5zdHlsZS5ib3JkZXJUb3A9IjFweCBzb2xpZCAjZWJlYmViIjthPXRoaXMuZ2V0KCJkaXNwbGF5Iik7YiYmKGIuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSxiLnN0eWxlLnZpc2liaWxpdHk9Yi5zdHlsZS52aXNpYmlsaXR5fHwiaW5oZXJpdCIsYi5zdHlsZS5kaXNwbGF5PWE/IiI6Im5vbmUiKTtfLnNuKHRoaXMsImRpc3BsYXlfY2hhbmdlZCIsdGhpcyxmdW5jdGlvbigpe2Iuc3R5bGUuZGlzcGxheT10aGlzLmdldCgiZGlzcGxheSIpIT09ITE/IiI6Im5vbmUifSl9fTt2YXIgVEZhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZj17fSl7c3VwZXIoKTt0aGlzLnhoPWE7dGhpcy5jb250YWluZXI9Yjt0aGlzLnNoPWU7dGhpcy5tZW51SXRlbXM9W107dGhpcy5yaD1udWxsO3RoaXMuc2hhZG93Um9vdD0odGhpcy53aD1iLmdldFJvb3ROb2RlKClpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpP2IuZ2V0Um9vdE5vZGUoKTpudWxsO3RoaXMucWg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTtiLmFwcGVuZENoaWxkKHRoaXMucWgpO2E9dGhpcy5xaDthLnN0eWxlLmJhY2tncm91bmRDb2xvcj1mLm1qPyIjNDQ0IjoiI2ZmZiI7YS5zdHlsZS5saXN0U3R5bGU9Im5vbmUiO2Euc3R5bGUubWFyZ2luPWEuc3R5bGUucGFkZGluZz0iMCI7Xy53dyhhLC0xKTthLnN0eWxlLnBhZGRpbmc9Xy5wbSgyKTskRWEoYSxfLnBtKF8uZkgoZCkpKTthLnN0eWxlLmJveFNoYWRvdz0iMCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwwLjMpIjtmLnBvc2l0aW9uPwpfLnV3KGEsZi5wb3NpdGlvbixmLndQKTooYS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGEuc3R5bGUudG9wPSIxMDAlIixhLnN0eWxlLmxlZnQ9IjAiLGEuc3R5bGUucmlnaHQ9IjAiKTtoSihhKTthLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2I9dGhpcy5zaC5pZHx8KHRoaXMuc2guaWQ9Xy5LbigpKTthLnNldEF0dHJpYnV0ZSgicm9sZSIsIm1lbnUiKTtmb3IoYS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsYik7Xy4kbChjKTspe2I9Yy5zaGlmdCgpO2ZvcihsZXQgZyBvZiBiKXtsZXQgaDtlPXt0aXRsZTpnLmFsdCxxTTpnLnRofHx2b2lkIDAsZm9udFNpemU6b0ooZCkscGFkZGluZzpbMStkPj4zXSxtajpmLm1qfHwhMX07Zy5zaCE9bnVsbD9oPW5ldyBxSWEoYSxnLmxhYmVsLGcucWgsZy5zaCxlKTpoPW5ldyBySWEoYSxnLmxhYmVsLGcucWgsZSk7aC5iaW5kVG8oInZhbHVlIix0aGlzLnhoLGcuaHEpO2guYmluZFRvKCJkaXNwbGF5IixnKTtoLmJpbmRUbygiZW5hYmxlZCIsCmcpO3RoaXMubWVudUl0ZW1zLnB1c2goaCl9ZT1jLmZsYXQoKTtpZihlLmxlbmd0aCl7bGV0IGc9bmV3IHNJYShhKTtPRmEoZyxiLGUpfX19dGgoKXt2YXIgYT10aGlzLnFoO2EudGltZW91dCYmKHdpbmRvdy5jbGVhclRpbWVvdXQoYS50aW1lb3V0KSxhLnRpbWVvdXQ9bnVsbCl9YWN0aXZlX2NoYW5nZWQoKXt0aGlzLnRoKCk7aWYodGhpcy5nZXQoImFjdGl2ZSIpKVJGYSh0aGlzKTtlbHNle2xldCBhPXRoaXMucWg7YS5haSYmKGEuYWkuZm9yRWFjaChfLm1uKSxhLmFpPW51bGwpO2EuY29udGFpbnMoTkoodGhpcykpJiZ0aGlzLnNoLmZvY3VzKCk7dGhpcy5yaD1udWxsO2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9fX07dmFyIFNGYT0oMCxfLkdqKWAuZ20tc3R5bGUgLmdtLXN0eWxlLW10YyBkaXYsLmdtLXN0eWxlIC5nbS1zdHlsZS1tdGMgbGFiZWx7Zm9udC13ZWlnaHQ6NDAwfS5nbS1zdHlsZSAuZ20tc3R5bGUtbXRjIGxpLC5nbS1zdHlsZSAuZ20tc3R5bGUtbXRjIHVsey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZ20tc3R5bGUtbXRjLWJid3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwfS5nbS1zdHlsZS1tdGMtYmJ3IC5nbS1zdHlsZS1tdGM6Zmlyc3Qtb2YtdHlwZVx1MDAzZWJ1dHRvbntib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czoycHh9LmdtLXN0eWxlLW10Yy1iYncgLmdtLXN0eWxlLW10YzpsYXN0LW9mLXR5cGVcdTAwM2VidXR0b257Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MnB4O2JvcmRlci1lbmQtZW5kLXJhZGl1czoycHh9c2VudGluZWx7fVxuYDt2YXIgTEhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMuY29udGFpbmVyPWE7dGhpcy5xaD1bXTt0aGlzLmNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoInJvbGUiLCJtZW51YmFyIik7dGhpcy5jb250YWluZXIuY2xhc3NMaXN0LmFkZCgiZ20tc3R5bGUtbXRjLWJidyIpO3RoaXMucmg9Yzt0aGlzLnNoPWQ7Xy5rbih0aGlzLCJmb250bG9hZGVkX2NoYW5nZWQiLCgpPT57aWYodGhpcy5nZXQoImZvbnRMb2FkZWQiKSl7dmFyIGU9dGhpcy5xaC5sZW5ndGgsZj0wO2ZvcihsZXQgZz0wO2c8ZTsrK2cpe2xldCBoPV8uUnAodGhpcy5xaFtnXS5wYXJlbnROb2RlKSxrPWc9PT1lLTE7dGhpcy5xaFtnXS5IcyYmXy51dyh0aGlzLnFoW2ddLkhzLnFoLG5ldyBfLmJvKGs/MDpmLGguaGVpZ2h0KSxrKTtmKz1oLndpZHRofXRoaXMucWgubGVuZ3RoPTB9fSk7Xy5rbih0aGlzLCJtYXBzaXplX2NoYW5nZWQiLCgpPT57dGhpcy5PbigpfSk7Xy5rbih0aGlzLAoiZGlzcGxheV9jaGFuZ2VkIiwoKT0+e3RoaXMuT24oKX0pO2M9Yi5sZW5ndGg7ZD0wO2ZvcihsZXQgZT0wO2U8YzsrK2UpZD1WRmEodGhpcyxiW2VdLGQsZT09PWMtMSk7Xy5nRigpO2Euc3R5bGUuY3Vyc29yPSJwb2ludGVyIn1Pbigpe3ZhciBhPXRoaXMuZ2V0KCJtYXBTaXplIik7YT0hISh0aGlzLmdldCgiZGlzcGxheSIpfHxhJiZhLndpZHRoPj0yMDAmJmEuaGVpZ2h0Pj0yMDApO3RoaXMuY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9YT8iIjoibm9uZSI7Xy53bih0aGlzLmNvbnRhaW5lciwicmVzaXplIil9fTt2YXIgS0hhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMuY29udGFpbmVyPWE7Xy5nRigpO2Euc3R5bGUuY3Vyc29yPSJwb2ludGVyIjtoSihhKTthLnN0eWxlLndpZHRoPV8ucG0oMTIwKTtfLlN0KFNGYSxkb2N1bWVudC5oZWFkKTtfLnF3KGEsImdtLXN0eWxlLW10YyIpO3ZhciBlPV8uc3coIiIsYSwhMCk7ZD1fLkxKKGEsZSxudWxsLHt0aXRsZToiQ2hhbmdlIG1hcCBzdHlsZSIsVE46ITAsVEQ6ITAsZUE6ITAscGFkZGluZzpbOCwxN10sZm9udFNpemU6MTgsRHc6ITAsYUY6ITAsbWo6ZD09PTJ9KTt2YXIgZj17fSxnPVtiXTtmb3IobGV0IGsgb2YgYilrLmhxPT09Im1hcFR5cGVJZCImJihmW2sucWhdPWsubGFiZWwpLGsucmgmJmcucHVzaCguLi5rLnJoKTt0aGlzLmFkZExpc3RlbmVyKCJtYXB0eXBlaWRfY2hhbmdlZCIsKCk9PntlLnRleHRDb250ZW50PWZbdGhpcy5nZXQoIm1hcFR5cGVJZCIpXXx8IiJ9KTt2YXIgaD1kLm5rKCk7CnRoaXMuSHM9bmV3IFRGYSh0aGlzLGEsZyxjLGgpO2QuYWRkTGlzdGVuZXIoImNsaWNrIixrPT57dGhpcy5Icy5zZXQoImFjdGl2ZSIsIXRoaXMuSHMuZ2V0KCJhY3RpdmUiKSk7Xy5NKHdpbmRvdyxfLiRFKGspPzE2NDc1MzoxNjQ3NTIpfSk7ZC5hZGRMaXN0ZW5lcigia2V5ZG93biIsaz0+e2sua2V5IT09IkFycm93RG93biImJmsua2V5IT09IkFycm93VXAifHx0aGlzLkhzLnNldCgiYWN0aXZlIiwhMCl9KTt0aGlzLkhzLmFkZExpc3RlbmVyKCJhY3RpdmVfY2hhbmdlZCIsKCk9PntoLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsdGhpcy5Icy5nZXQoImFjdGl2ZSIpPyJ0cnVlIjoiZmFsc2UiKX0pfW1hcFNpemVfY2hhbmdlZCgpe3RoaXMuT24oKX1kaXNwbGF5X2NoYW5nZWQoKXt0aGlzLk9uKCl9T24oKXt2YXIgYT10aGlzLmdldCgibWFwU2l6ZSIpO2E9ISEodGhpcy5nZXQoImRpc3BsYXkiKXx8YSYmYS53aWR0aD49MjAwJiZhLmhlaWdodD49MjAwKTtfLlZFKHRoaXMuY29udGFpbmVyLAphKTtfLnduKHRoaXMuY29udGFpbmVyLCJyZXNpemUiKX19O3ZhciBNSGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD0hMTt0aGlzLm1hcD1hfWNoYW5nZWQoYSl7aWYoIXRoaXMucWgpaWYoYT09PSJtYXBUeXBlSWQiKXthPXRoaXMuZ2V0KCJtYXBUeXBlSWQiKTt2YXIgYj10aGlzLm1hcFthXTtiJiZiLm1hcFR5cGVJZCYmKGE9Yi5tYXBUeXBlSWQpO09KKHRoaXMsImludGVybmFsTWFwVHlwZUlkIixhKTtiJiZiLml6JiZPSih0aGlzLGIuaXosYi52YWx1ZSl9ZWxzZXthPXRoaXMuZ2V0KCJpbnRlcm5hbE1hcFR5cGVJZCIpO2lmKHRoaXMubWFwKWZvcihsZXQgW2MsZF1vZiBPYmplY3QuZW50cmllcyh0aGlzLm1hcCkpe2I9YztsZXQgZT1kO2UmJmUubWFwVHlwZUlkPT09YSYmZS5peiYmdGhpcy5nZXQoZS5peik9PWUudmFsdWUmJihhPWIpfU9KKHRoaXMsIm1hcFR5cGVJZCIsYSl9fX07dmFyIFdGYT0oMCxfLkdqKWAuZ20tc3R5bGUgLmdtLXN0eWxlLWNjIGEsLmdtLXN0eWxlIC5nbS1zdHlsZS1jYyBidXR0b24sLmdtLXN0eWxlIC5nbS1zdHlsZS1jYyBzcGFuLC5nbS1zdHlsZSAuZ20tc3R5bGUtbXRjIGRpdntmb250LXNpemU6MTBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmdtLXN0eWxlIC5nbS1zdHlsZS1jYyBhLC5nbS1zdHlsZSAuZ20tc3R5bGUtY2MgYnV0dG9uLC5nbS1zdHlsZSAuZ20tc3R5bGUtY2Mgc3BhbntvdXRsaW5lLW9mZnNldDozcHh9c2VudGluZWx7fVxuYDt2YXIgZkhhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkPSExKXtzdXBlcigpO3RoaXMucmg9YTt0aGlzLnNoPSIiO3RoaXMucnY9Xy5QSihhLGIuZ2V0RGl2KCksZCk7dGhpcy54aD1ZRmEoKTthLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3RoaXMucWg9WkZhKHRoaXMucnYpO3RoaXMucWguc3R5bGUuY29sb3I9ZD8iI2ZmZiI6IiMwMDAwMDAiO18ucW4odGhpcy5xaCwiY2xpY2siLGU9PntfLklFKDE2MTUyOSk7Xy5NKHdpbmRvdyxfLiRFKGUpPzE2NTIyNjoxNjUyMjUpfSk7dGhpcy50aD1iO3RoaXMud2g9Y31zZXNzaW9uU3RhdGVfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJzZXNzaW9uU3RhdGUiKTtpZihhKXt2YXIgYj1uZXcgXy5DSDtfLkt2KGIsYSk7YT1fLndnKGIsaElhLDEwKTtfLmtoKGEsMSwxKTtfLiRnKGIsMTIsITApO2I9Xy5BQ2EoYix0aGlzLndoKTtiKz0iJnJhcHNyYz1hcGl2MyI7Xy5Qdih0aGlzLnFoLGIpO3RoaXMuc2g9Yjt0aGlzLmdldCgiYXZhaWxhYmxlIikmJgp0aGlzLnNldCgicm1pTGlua0RhdGEiLHtsYWJlbDoiUmVwb3J0IGEgbWFwIGVycm9yIix0b29sdGlwOiJSZXBvcnQgZXJyb3JzIGluIHRoZSByb2FkIG1hcCBvciBpbWFnZXJ5IHRvIEdvb2dsZSIsdXJsOnRoaXMuc2h9KX19YXZhaWxhYmxlX2NoYW5nZWQoKXtSSih0aGlzKX1lbmFibGVkX2NoYW5nZWQoKXtSSih0aGlzKX1tYXBUeXBlSWRfY2hhbmdlZCgpe1JKKHRoaXMpfUp0KCl7JEZhKHRoaXMpJiYoXy5nRigpLF8uTSh0aGlzLnRoLDE0ODI2MyksdGhpcy5yaC5zdHlsZS5kaXNwbGF5PSIiLHRoaXMucWgudGV4dENvbnRlbnQ9IiIsdGhpcy5xaC5hcHBlbmRDaGlsZCh0aGlzLnhoKSl9SXQoKXskRmEodGhpcykmJihfLmdGKCksXy5NKHRoaXMudGgsMTQ4MjYzKSx0aGlzLnJoLnN0eWxlLmRpc3BsYXk9IiIsdGhpcy5xaC50ZXh0Q29udGVudD0iUmVwb3J0IGEgbWFwIGVycm9yIil9cWwoKXt0aGlzLnJoLnN0eWxlLmRpc3BsYXk9Im5vbmUifUVuKCl7cmV0dXJuIHRoaXMucmh9fTt2YXIgdElhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMucWg9Yjt0aGlzLnNoPSEwO2E9Xy5McFs0M10/InJnYigzNCwgMzQsIDM0KSI6InJnYigyNTUsIDI1NSwgMjU1KSI7Xy5TdChlSyxjKTt0aGlzLnJoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMucmgpO3RoaXMucmguc3R5bGUuYmFja2dyb3VuZENvbG9yPWE7dGhpcy5yaC5zdHlsZS5ib3hTaGFkb3c9IjAgMXB4IDRweCAtMXB4IHJnYmEoMCwwLDAsMC4zKSI7dGhpcy5yaC5zdHlsZS5ib3JkZXJSYWRpdXM9Xy5wbShfLmZIKHRoaXMucWgpKTt0aGlzLnRoPV8uUnEoIlJvdGF0ZSBtYXAgY2xvY2t3aXNlIik7dGhpcy50aC5zdHlsZS5sZWZ0PSIwIjt0aGlzLnRoLnN0eWxlLnRvcD0iMCI7dGhpcy50aC5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIjt0aGlzLnRoLnNldEF0dHJpYnV0ZSgiY2xhc3MiLAoiZ20tY29udHJvbC1hY3RpdmUiKTtfLlFwKHRoaXMudGgsbmV3IF8uZ28odGhpcy5xaCx0aGlzLnFoKSk7Xy5YRSh0aGlzLnRoKTtiR2EodGhpcy50aCx0aGlzLnFoLCExKTt0aGlzLnJoLmFwcGVuZENoaWxkKHRoaXMudGgpO3RoaXMuemg9Y0dhKHRoaXMucWgpO3RoaXMucmguYXBwZW5kQ2hpbGQodGhpcy56aCk7dGhpcy53aD1fLlJxKCJSb3RhdGUgbWFwIGNvdW50ZXJjbG9ja3dpc2UiKTt0aGlzLndoLnN0eWxlLmxlZnQ9IjAiO3RoaXMud2guc3R5bGUudG9wPSIwIjt0aGlzLndoLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO3RoaXMud2guc2V0QXR0cmlidXRlKCJjbGFzcyIsImdtLWNvbnRyb2wtYWN0aXZlIik7Xy5RcCh0aGlzLndoLG5ldyBfLmdvKHRoaXMucWgsdGhpcy5xaCkpO18uWEUodGhpcy53aCk7YkdhKHRoaXMud2gsdGhpcy5xaCwhMCk7dGhpcy5yaC5hcHBlbmRDaGlsZCh0aGlzLndoKTt0aGlzLnloPWNHYSh0aGlzLnFoKTt0aGlzLnJoLmFwcGVuZENoaWxkKHRoaXMueWgpOwp0aGlzLnhoPV8uUnEoIlRpbHQgbWFwIik7dGhpcy54aC5zdHlsZS5sZWZ0PXRoaXMueGguc3R5bGUudG9wPSIwIjt0aGlzLnhoLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO3RoaXMueGguc2V0QXR0cmlidXRlKCJjbGFzcyIsImdtLXRpbHQgZ20tY29udHJvbC1hY3RpdmUiKTthR2EodGhpcy54aCwhMSx0aGlzLnFoKTtfLlFwKHRoaXMueGgsbmV3IF8uZ28odGhpcy5xaCx0aGlzLnFoKSk7Xy5YRSh0aGlzLnhoKTt0aGlzLnJoLmFwcGVuZENoaWxkKHRoaXMueGgpO3RoaXMudGguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9Pnt2YXIgZT0rdGhpcy5nZXQoImhlYWRpbmciKXx8MDt0aGlzLnNldCgiaGVhZGluZyIsKGUrMjcwKSUzNjApO18uTSh3aW5kb3csXy4kRShkKT8xNjQ4MjI6MTY0ODIxKX0pO3RoaXMud2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9Pnt2YXIgZT0rdGhpcy5nZXQoImhlYWRpbmciKXx8MDt0aGlzLnNldCgiaGVhZGluZyIsKGUrOTApJTM2MCk7Xy5NKHdpbmRvdywKXy4kRShkKT8xNjQ4MjI6MTY0ODIxKX0pO3RoaXMueGguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9Pnt0aGlzLnNoPSF0aGlzLnNoO3RoaXMuc2V0KCJ0aWx0Iix0aGlzLnNoPzQ1OjApO18uTSh3aW5kb3csXy4kRShkKT8xNjQ4MjQ6MTY0ODIzKX0pO18ua24odGhpcywidGlsdF9jaGFuZ2VkIiwoKT0+e3RoaXMuc2g9dGhpcy5nZXQoInRpbHQiKSE9PTA7dGhpcy5yZWZyZXNoKCl9KTtfLmtuKHRoaXMsIm1hcHNpemVfY2hhbmdlZCIsKCk9Pnt0aGlzLnJlZnJlc2goKX0pO18ua24odGhpcywicm90YXRlY29udHJvbF9jaGFuZ2VkIiwoKT0+e3RoaXMucmVmcmVzaCgpfSl9cmVmcmVzaCgpe3ZhciBhPXRoaXMuY29udGFpbmVyO2FHYSh0aGlzLnhoLHRoaXMuc2gsdGhpcy5xaCk7dGhpcy50aC5zdHlsZS5kaXNwbGF5PXRoaXMuc2g/ImJsb2NrIjoibm9uZSI7dGhpcy56aC5zdHlsZS5kaXNwbGF5PXRoaXMuc2g/ImJsb2NrIjoibm9uZSI7dGhpcy53aC5zdHlsZS5kaXNwbGF5PXRoaXMuc2g/CiJibG9jayI6Im5vbmUiO3RoaXMueWguc3R5bGUuZGlzcGxheT10aGlzLnNoPyJibG9jayI6Im5vbmUiO3ZhciBiPXRoaXMucWgsYz1NYXRoLmZsb29yKDMqdGhpcy5xaCkrMjtjPXRoaXMuc2g/Yzp0aGlzLnFoO3RoaXMucmguc3R5bGUud2lkdGg9Xy5wbShiKTt0aGlzLnJoLnN0eWxlLmhlaWdodD1fLnBtKGMpO2EuZGF0YXNldC5jb250cm9sV2lkdGg9U3RyaW5nKGIpO2EuZGF0YXNldC5jb250cm9sSGVpZ2h0PVN0cmluZyhjKTthLnN0eWxlLmRpc3BsYXk9Im5vbmUiO18ud24oYSwicmVzaXplIil9fTt2YXIgU0hhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTthPW5ldyB0SWEoYSxiLGMpO2EuYmluZFRvKCJtYXBTaXplIix0aGlzKTthLmJpbmRUbygicm90YXRlQ29udHJvbCIsdGhpcyk7YS5iaW5kVG8oImhlYWRpbmciLHRoaXMpO2EuYmluZFRvKCJ0aWx0Iix0aGlzKX19O3ZhciBkSGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZD0hMSl7dGhpcy5jb250YWluZXI9YTt0aGlzLnRoPWM7dGhpcy5ldz1kO3RoaXMuZW5hYmxlZD0hMTt0aGlzLnNoPSEwO2M9bmV3IF8uQmwoXy5BbChiKSk7dGhpcy5yaD1jLmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtjLmFwcGVuZENoaWxkKGIsdGhpcy5yaCk7dGhpcy5yaC5zdHlsZS5jb2xvcj1kPyIjZmZmIjoiIzAwMDAwMCI7dGhpcy5xaD1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2MuYXBwZW5kQ2hpbGQoYix0aGlzLnFoKTtkR2EodGhpcyxjKTtiPV8uS24oKTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtkLmlkPWI7ZC50ZXh0Q29udGVudD0iQ2xpY2sgdG8gdG9nZ2xlIGJldHdlZW4gbWV0cmljIGFuZCBpbXBlcmlhbCB1bml0cyI7ZC5zdHlsZS5kaXNwbGF5PSJub25lIjthLmFwcGVuZENoaWxkKGQpO2Euc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixiKTtfLnZrKGEsImNsaWNrIixlPT57dGhpcy5zaD0KIXRoaXMuc2g7U0oodGhpcyk7Xy4kRShlKT9fLk0od2luZG93LDE2NTA5MSk6Xy5NKHdpbmRvdywxNjc1MTEpfSk7Xy5xdih0aGlzLnRoLCgpPT57U0oodGhpcyl9KX1lbmFibGUoKXt0aGlzLmVuYWJsZWQ9ITA7U0oodGhpcyl9ZGlzYWJsZSgpe3RoaXMuZW5hYmxlZD0hMTtTSih0aGlzKX1zaG93KCl7dGhpcy5lbmFibGVkJiYodGhpcy5jb250YWluZXIuc3R5bGUuZGlzcGxheT0iIil9cWwoKXt0aGlzLmVuYWJsZWR8fCh0aGlzLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJub25lIil9SnQoKXt0aGlzLnNob3coKX1JdCgpe3RoaXMuc2hvdygpfUVuKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyfX07Xy5xYihVSixfLmVIKTtVSi5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihhKXtfLmNIKHRoaXMsMCxhKX07dmFyIFRKPSJ0LWF2S0s4aERnZzlRIjt2YXIgbkhhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9MDt0aGlzLmNvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtZmxleCI7dGhpcy5yaD1uZXcgXy5BcCgoKT0+e3RoaXMudXBkYXRlKHRoaXMucWgpfSwwKTt0aGlzLk12PWEuTXY7dGhpcy5wQT1tR2EodGhpcyxhLnBBKTtmb3IobGV0IGIgb2YgdGhpcy5NdiliLnFsKCksYT1iLkVuKCksdGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQoYSksXy5rbihhLCJyZXNpemUiLCgpPT57dGhpcy5yaC5EaSgpfSl9dXBkYXRlKGEpe3RoaXMucWg9YTtmb3IodmFyIGIgb2YgdGhpcy5NdiliLnFsKCksYi5KdCgpO2lmKGE8dGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpZm9yKHZhciBjIG9mIHRoaXMucEEpaWYoYj10aGlzLmNvbnRhaW5lci5vZmZzZXRXaWR0aCxhPGIpYy5xbCgpO2Vsc2UgYnJlYWs7ZWxzZSBmb3IoYz10aGlzLnBBLmxlbmd0aC0KMTtjPj0wO2MtLSl7bGV0IGQ9dGhpcy5wQVtjXTtkLkl0KCk7Yj10aGlzLmNvbnRhaW5lci5vZmZzZXRXaWR0aDthPGImJmQuSnQoKX1fLnduKHRoaXMuY29udGFpbmVyLCJyZXNpemUiKX19O3ZhciBwR2E9e1sxXTp7YmFja2dyb3VuZENvbG9yOiIjZmZmIixvSDoiI2U2ZTZlNiJ9LFsyXTp7YmFja2dyb3VuZENvbG9yOiIjNDQ0IixvSDoiIzFhMWExYSJ9fSx1SWE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjLGQ9MSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMueGg9ITE7dGhpcy5zZXQoImNvbG9yVGhlbWUiLGQ/ZDoxKTt0aGlzLmdldCgiY29sb3JUaGVtZSIpO3RoaXMucmg9Yjt0aGlzLnFoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5xaCk7Xy5YRSh0aGlzLnFoKTtfLlRwKHRoaXMucWgpO3RoaXMucWguc3R5bGUuYm94U2hhZG93PSIwIDFweCA0cHggLTFweCByZ2JhKDAsMCwwLDAuMykiO3RoaXMucWguc3R5bGUuYm9yZGVyUmFkaXVzPV8ucG0oXy5mSChiKSk7dGhpcy5xaC5zdHlsZS5jdXJzb3I9InBvaW50ZXIiO18uU3QoZUssYyk7Xy5xbih0aGlzLnFoLCJtb3VzZW92ZXIiLCgpPT57dGhpcy5zZXQoIm1vdXNlb3ZlciIsCiEwKX0pO18ucW4odGhpcy5xaCwibW91c2VvdXQiLCgpPT57dGhpcy5zZXQoIm1vdXNlb3ZlciIsITEpfSk7dGhpcy50aD1uR2EodGhpcyx0aGlzLnFoLDAsZCk7dGhpcy5zaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLnFoLmFwcGVuZENoaWxkKHRoaXMuc2gpO3RoaXMuc2guc3R5bGUucG9zaXRpb249InJlbGF0aXZlIjt0aGlzLnNoLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO3RoaXMuc2guc3R5bGUud2lkdGg9Xy5wbSgzKmIvNCk7dGhpcy5zaC5zdHlsZS5oZWlnaHQ9Xy5wbSgxKTt0aGlzLnNoLnN0eWxlLm1hcmdpbj0iMCA1cHgiO3RoaXMud2g9bkdhKHRoaXMsdGhpcy5xaCwxLGQpO18ua24odGhpcywiZGlzcGxheV9jaGFuZ2VkIiwoKT0+b0dhKHRoaXMpKTtfLmtuKHRoaXMsIm1hcHNpemVfY2hhbmdlZCIsKCk9Pm9HYSh0aGlzKSk7Xy5rbih0aGlzLCJtYXB0eXBlaWRfY2hhbmdlZCIsKCk9Pnt2YXIgZT10aGlzLmdldCgibWFwVHlwZUlkIik7ZT0oZT09PQoic2F0ZWxsaXRlInx8ZT09PSJoeWJyaWQiKSYmXy5McFs0M118fGU9PT0ic3RyZWV0dmlldyI/Mjp0aGlzLmdldCgiY29sb3JUaGVtZSIpO3FHYSh0aGlzLGUpfSk7Xy5rbih0aGlzLCJjb2xvcnRoZW1lX2NoYW5nZWQiLCgpPT57cUdhKHRoaXMsdGhpcy5nZXQoImNvbG9yVGhlbWUiKSl9KX1jaGFuZ2VkKGEpe2lmKGE9PT0iem9vbSJ8fGE9PT0iem9vbVJhbmdlIil7YT10aGlzLmdldCgiem9vbSIpO2xldCBiPXRoaXMuZ2V0KCJ6b29tUmFuZ2UiKTtrRmEoYSxiLHRoaXMudGgsdGhpcy53aCl9fX07dmFyIFBIYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dmFyIGQ9dGhpcy5xaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtfLmlKKGQpO2E9bmV3IHVJYShkLGEsYixjKTthLmJpbmRUbygibWFwU2l6ZSIsdGhpcyk7YS5iaW5kVG8oImRpc3BsYXkiLHRoaXMsImRpc3BsYXkiKTthLmJpbmRUbygibWFwVHlwZUlkIix0aGlzKTthLmJpbmRUbygiem9vbSIsdGhpcyk7YS5iaW5kVG8oInpvb21SYW5nZSIsdGhpcyk7dGhpcy5Yej1hfWdldERpdigpe3JldHVybiB0aGlzLnFofX07dmFyIHNHYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTtfLmlKKGEpO18ud3coYSwxMDAwMDAxKTt0aGlzLnFoPWE7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5hcHBlbmQoZSk7YT1fLlBKKGUsYixkKTt0aGlzLnhoPWU7ZT1fLlJxKCJNYXAgRGF0YSIpO2EuYXBwZW5kQ2hpbGQoZSk7ZS50ZXh0Q29udGVudD0iTWFwIERhdGEiO2Uuc3R5bGUuY29sb3I9dGhpcy5zaD8iI2ZmZiI6IiMwMDAwMDAiO2Uuc3R5bGUuZGlzcGxheT0iaW5saW5lLWJsb2NrIjtlLnN0eWxlLmZvbnRGYW1pbHk9ImluaGVyaXQiO2Uuc3R5bGUubGluZUhlaWdodD0iaW5oZXJpdCI7Xy5QRShlLCJjbGljayIsdGhpcyk7dGhpcy5yaD1lO3RoaXMuc2g9ZDtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTthLmFwcGVuZChkKTtkLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3RoaXMudGg9ZDt0aGlzLndoPWM7VkoodGhpcyl9Zm9udExvYWRlZF9jaGFuZ2VkKCl7VkoodGhpcyl9YXR0cmlidXRpb25UZXh0X2NoYW5nZWQoKXtWSih0aGlzKX1oaWRkZW5fY2hhbmdlZCgpe1ZKKHRoaXMpfW1hcFR5cGVJZF9jaGFuZ2VkKCl7dGhpcy5nZXQoIm1hcFR5cGVJZCIpPT09CiJzdHJlZXR2aWV3IiYmKFFKKHRoaXMueGgpLHRoaXMucmguc3R5bGUuY29sb3I9IiNmZmYiKX1KdCgpe3RoaXMuZ2V0KCJoaWRkZW4iKXx8KHRoaXMucWguc3R5bGUuZGlzcGxheT0iIix0aGlzLnJoLnN0eWxlLmRpc3BsYXk9IiIsdGhpcy5yaC5zdHlsZS5jb2xvcj10aGlzLnNoPyIjZmZmIjoiIzAwMDAwMCIsdGhpcy50aC5zdHlsZS5kaXNwbGF5PSJub25lIixfLmdGKCkpfUl0KCl7dGhpcy5nZXQoImhpZGRlbiIpfHwodGhpcy5xaC5zdHlsZS5kaXNwbGF5PSIiLHRoaXMucmguc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy50aC5zdHlsZS5kaXNwbGF5PSIiLHRoaXMucmguc3R5bGUuY29sb3I9dGhpcy5zaD8iI2ZmZiI6IiMwMDAwMDAiLF8uZ0YoKSl9cWwoKXt0aGlzLmdldCgiaGlkZGVuIikmJih0aGlzLnFoLnN0eWxlLmRpc3BsYXk9Im5vbmUiKX1Fbigpe3JldHVybiB0aGlzLnFofX07dmFyIHZJYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnJoPWEub3duZXJFbGVtZW50O3RoaXMucWg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5xaC5zdHlsZS5jb2xvcj0idmFyKC0tb24tc3VyZmFjZSkiO3RoaXMucWguc3R5bGUubWF4V2lkdGg9IjI4MHB4Ijt0aGlzLmJqPW5ldyBfLllxKHtjb250ZW50OnRoaXMucWgsdGl0bGU6Ik1hcCBEYXRhIn0pO18uVHEodGhpcy5iaiwiY29weXJpZ2h0LWRpYWxvZy12aWV3Iil9bmsoKXtyZXR1cm4gdGhpcy5ian12aXNpYmxlX2NoYW5nZWQoKXt0aGlzLmdldCgidmlzaWJsZSIpPyhfLmdGKCksdGhpcy5yaC5hcHBlbmRDaGlsZCh0aGlzLmJqKSx0aGlzLmJqLmJqLnNob3dNb2RhbCgpKTp0aGlzLmJqLmNsb3NlKCl9YXR0cmlidXRpb25UZXh0X2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgiYXR0cmlidXRpb25UZXh0Iil8fCIiOyh0aGlzLnFoLnRleHRDb250ZW50PWEpfHx0aGlzLmJqLmNsb3NlKCl9fTt2YXIgd0lhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO18uaUooYSk7Xy53dyhhLDEwMDAwMDEpO3RoaXMucmg9Yzt0aGlzLnNoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuYXBwZW5kKHRoaXMuc2gpO3RoaXMudGg9Xy5QSih0aGlzLnNoLGIsYyk7YT1fLlJxKCJLZXlib2FyZCBzaG9ydGN1dHMiKTt0aGlzLnRoLmFwcGVuZENoaWxkKGEpO2EudGV4dENvbnRlbnQ9IktleWJvYXJkIHNob3J0Y3V0cyI7YS5zdHlsZS5jb2xvcj10aGlzLnJoPyIjZmZmIjoiIzAwMDAwMCI7YS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siO2Euc3R5bGUuZm9udEZhbWlseT0iaW5oZXJpdCI7YS5zdHlsZS5saW5lSGVpZ2h0PSJpbmhlcml0IjtfLlBFKGEsImNsaWNrIix0aGlzKTt0aGlzLnFoPWE7YT1uZXcgSW1hZ2U7YS5zcmM9dGhpcy5yaD9fLlFJWyJrZXlib2FyZF9pY29uX2Rhcmsuc3ZnIl06Xy5RSVsia2V5Ym9hcmRfaWNvbi5zdmciXTsKYS5hbHQ9IiI7YS5zdHlsZS5oZWlnaHQ9IjlweCI7YS5zdHlsZS52ZXJ0aWNhbEFsaWduPSItMXB4Ijt0aGlzLndoPWE7V0oodGhpcyl9YXN5bmMgZm9udExvYWRlZF9jaGFuZ2VkKCl7YXdhaXQgV0oodGhpcyl9a2V5Ym9hcmRTaG9ydGN1dHNTaG93bl9jaGFuZ2VkKCl7V0oodGhpcyl9SnQoKXt0aGlzLmdldCgia2V5Ym9hcmRTaG9ydGN1dHNTaG93biIpJiYodGhpcy5jb250YWluZXIuc3R5bGUuZGlzcGxheT0iIix0aGlzLnFoLnRleHRDb250ZW50PSIiLHRoaXMucWguYXBwZW5kQ2hpbGQodGhpcy53aCksXy5nRigpLF8ud24odGhpcywidXBkYXRlIikpfUl0KCl7dGhpcy5nZXQoImtleWJvYXJkU2hvcnRjdXRzU2hvd24iKSYmKHRoaXMuY29udGFpbmVyLnN0eWxlLmRpc3BsYXk9IiIsdGhpcy5xaC50ZXh0Q29udGVudD0iIix0aGlzLnFoLnRleHRDb250ZW50PSJLZXlib2FyZCBzaG9ydGN1dHMiLF8uZ0YoKSxfLnduKHRoaXMsInVwZGF0ZSIpKX1xbCgpe3RoaXMuZ2V0KCJrZXlib2FyZFNob3J0Y3V0c1Nob3duIil8fAoodGhpcy5jb250YWluZXIuc3R5bGUuZGlzcGxheT0ibm9uZSIsXy53bih0aGlzLCJ1cGRhdGUiKSl9RW4oKXtyZXR1cm4gdGhpcy5jb250YWluZXJ9ZXcoKXtyZXR1cm4gdGhpcy5yaH19O3ZhciB1R2E9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7Xy5VRShhLCJnbW5vcHJpbnQiKTtfLnF3KGEsImdtbm9zY3JlZW4iKTt0aGlzLnFoPWE7dmFyIGI9dGhpcy5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmFwcGVuZChiKTtiLnN0eWxlLmZvbnRGYW1pbHk9IlJvYm90byxBcmlhbCxzYW5zLXNlcmlmIjtiLnN0eWxlLmZvbnRTaXplPV8ucG0oMTEpO2Iuc3R5bGUuY29sb3I9IiMwMDAwMDAiO2Iuc3R5bGUuZGlyZWN0aW9uPSJsdHIiO2Iuc3R5bGUudGV4dEFsaWduPSJyaWdodCI7Yi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9IiNmNWY1ZjUifWF0dHJpYnV0aW9uVGV4dF9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoImF0dHJpYnV0aW9uVGV4dCIpfHwiIjt0aGlzLnJoLnRleHRDb250ZW50PWF9aGlkZGVuX2NoYW5nZWQoKXt2YXIgYT0hdGhpcy5nZXQoImhpZGRlbiIpO3RoaXMucWguc3R5bGUuZGlzcGxheT1hPyIiOiJub25lIjthJiYKXy5nRigpfUp0KCl7fUl0KCl7fXFsKCl7fUVuKCl7cmV0dXJuIHRoaXMucWh9fTt2YXIgd0dhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTtfLmlKKGEpO2Euc3R5bGUuekluZGV4PSIxMDAwMDAxIjt0aGlzLnFoPWE7dGhpcy5yaD1fLlBKKGEsYixjKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTt0aGlzLnJoLmFwcGVuZChhKTt0aGlzLnNoPWE7YS5zdHlsZS50ZXh0RGVjb3JhdGlvbj0ibm9uZSI7YS5zdHlsZS5jdXJzb3I9InBvaW50ZXIiO2EudGV4dENvbnRlbnQ9IlRlcm1zIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsXy5RcSgiVGVybXMiKSk7Xy5QdihhLF8ucXJhKTthLnRhcmdldD0iX2JsYW5rIjthLnJlbD0ibm9vcGVuZXIiO2Euc3R5bGUuY29sb3I9Yz8iI2ZmZiI6IiMwMDAwMDAiO2EuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntfLk0od2luZG93LF8uJEUoZCk/MTY1MjM0OjE2NTIzMyl9KX1oaWRkZW5fY2hhbmdlZCgpe18ud24odGhpcy5xaCwicmVzaXplIil9bWFwVHlwZUlkX2NoYW5nZWQoKXt0aGlzLmdldCgibWFwVHlwZUlkIik9PT0KInN0cmVldHZpZXciJiYoUUoodGhpcy5xaCksdGhpcy5zaC5zdHlsZS5jb2xvcj0iI2ZmZiIpfWZvbnRMb2FkZWRfY2hhbmdlZCgpe18ud24odGhpcy5xaCwicmVzaXplIil9SnQoKXt0aGlzLkl0KCl9SXQoKXt0aGlzLmdldCgiaGlkZGVuIil8fCh0aGlzLnFoLnN0eWxlLmRpc3BsYXk9IiIsXy5nRigpKX1xbCgpe3RoaXMuZ2V0KCJoaWRkZW4iKSYmKHRoaXMucWguc3R5bGUuZGlzcGxheT0ibm9uZSIpfUVuKCl7cmV0dXJuIHRoaXMucWh9fTt2YXIgWkdhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3N1cGVyKCk7dmFyIGY9YyBpbnN0YW5jZW9mIF8ubm87Zj1uZXcgd0lhKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGEsZj8hMDplKTtmLmJpbmRUbygia2V5Ym9hcmRTaG9ydGN1dHNTaG93biIsdGhpcyk7Zi5iaW5kVG8oImZvbnRMb2FkZWQiLHRoaXMpO2Q9dEdhKGEsZCxlKTtkLmJpbmRUbygiYXR0cmlidXRpb25UZXh0Iix0aGlzKTtkLmJpbmRUbygiZm9udExvYWRlZCIsdGhpcyk7ZC5iaW5kVG8oImlzQ3VzdG9tUGFub3JhbWEiLHRoaXMpO2MuX19nbS5nZXQoImlubmVyQ29udGFpbmVyIik7dmFyIGc9bmV3IHZJYSh7b3duZXJFbGVtZW50OmJ9KTtnLmJpbmRUbygiYXR0cmlidXRpb25UZXh0Iix0aGlzKTtfLmtuKGQsImNsaWNrIixoPT57Zy5zZXQoInZpc2libGUiLCEwKTtfLk0od2luZG93LF8uJEUoaCk/MTY1MDQ5OjE2NTA0OCl9KTtiPXZHYSgpO2IuYmluZFRvKCJhdHRyaWJ1dGlvblRleHQiLAp0aGlzKTthPXhHYShhLGUpO2EuYmluZFRvKCJmb250TG9hZGVkIix0aGlzKTthLmJpbmRUbygibWFwVHlwZUlkIix0aGlzKTtkLmJpbmRUbygibWFwVHlwZUlkIix0aGlzKTtjJiZfLkxwWzI4XT8oZC5iaW5kVG8oImhpZGRlbiIsYywiaGlkZUxlZ2FsTm90aWNlcyIpLGIuYmluZFRvKCJoaWRkZW4iLGMsImhpZGVMZWdhbE5vdGljZXMiKSxhLmJpbmRUbygiaGlkZGVuIixjLCJoaWRlTGVnYWxOb3RpY2VzIikpOihkLmJpbmRUbygiaXNDdXN0b21QYW5vcmFtYSIsdGhpcyksYi5iaW5kVG8oImhpZGRlbiIsdGhpcywiaXNDdXN0b21QYW5vcmFtYSIpKTt0aGlzLnJoPWQ7dGhpcy5zaD1iO3RoaXMudGg9YTt0aGlzLnFoPWZ9fTt2YXIgeElhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uSmwucmgoKTthPV8uSChhLDE1KTtzdXBlcigpO3RoaXMucWg9YS5yZXBsYWNlKCJ3d3cuZ29vZ2xlIiwibWFwcy5nb29nbGUiKX1jaGFuZ2VkKGEpe2lmKGEhPT0idXJsIilpZih0aGlzLmdldCgicGFubyIpKXthPXRoaXMuZ2V0KCJwb3YiKTt2YXIgYj10aGlzLmdldCgicG9zaXRpb24iKTthJiZiJiYoYT1fLkRDYShhLGIsdGhpcy5nZXQoInBhbm8iKSx0aGlzLnFoKSx0aGlzLnNldCgidXJsIixhKSl9ZWxzZXthPXt9O2lmKGI9dGhpcy5nZXQoImNlbnRlciIpKWI9bmV3IF8uVG0oYi5sYXQoKSxiLmxuZygpKSxhLmxsPWIudG9VcmxWYWx1ZSgpO2I9dGhpcy5nZXQoInpvb20iKTtfLmptKGIpJiYoYS56PWIpO2I9dGhpcy5nZXQoIm1hcFR5cGVJZCIpOyhiPWI9PT0idGVycmFpbiI/InAiOmI9PT0iaHlicmlkIj8iaCI6Xy5BeltiXSkmJihhLnQ9Yik7aWYoYj10aGlzLmdldCgicGFubyIpKXthLno9CjE3O2EubGF5ZXI9ImMiO2xldCBkPXRoaXMuZ2V0KCJwb3NpdGlvbiIpO2QmJihhLmNibGw9ZC50b1VybFZhbHVlKCkpO2EucGFub2lkPWI7KGI9dGhpcy5nZXQoInBvdiIpKSYmKGEuY2JwPWAxMiwke2IuaGVhZGluZ30sLCR7TWF0aC5tYXgoYi56b29tLTMpfSwkey1iLnBpdGNofWApfWEuaGw9Xy5KbC5yaCgpLnJoKCk7YS5nbD1fLkpsLnJoKCkudGgoKTthLm1hcGNsaWVudD1fLkxwWzM1XT8iZW1iZWQiOiJhcGl2MyI7bGV0IGM9W107Xy5hbShhLChkLGUpPT57Yy5wdXNoKGAke2R9PSR7ZX1gKX0pO3RoaXMuc2V0KCJ1cmwiLHRoaXMucWgrIj8iK2Muam9pbigiJiIpKX19fTt2YXIgeUlhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uSmwucmgoKTtzdXBlcigpO3RoaXMubG9jYWxlPWF9Y2hhbmdlZChhKXtpZihhIT09InNlc3Npb25TdGF0ZSIpe2E9bmV3IF8uQ0g7dmFyIGI9dGhpcy5nZXQoInpvb20iKSxjPXRoaXMuZ2V0KCJjZW50ZXIiKSxkPXRoaXMuZ2V0KCJwYW5vIik7aWYoYiE9bnVsbCYmYyE9bnVsbHx8ZCE9bnVsbCl7dmFyIGU9dGhpcy5sb2NhbGU7Xy53ZyhhLF8uZEssMikua2ooZS5yaCgpKTt2YXIgZj1fLndnKGEsXy5kSywyKTtlPWUudGgoKTtfLmloKGYsMixlKTtmPV8ud2coYSxfLktILDMpO2U9dGhpcy5nZXQoIm1hcFR5cGVJZCIpO2U9PT0iaHlicmlkInx8ZT09PSJzYXRlbGxpdGUiP18ua2goZiwxLDMpOihfLmtoKGYsMSwwKSxlPT09InRlcnJhaW4iJiYoZT1fLndnKGEsZ0lhLDUpLF8uQnUoZSwxLDQpKSk7ZT1fLndnKGYsXy5OSCwyKTtfLmtoKGUsMSwyKTtjJiYoXy5lRihlLGMubG5nKCkpLGM9Yy5sYXQoKSwKXy5BdShlLDMsYykpO3R5cGVvZiBiPT09Im51bWJlciImJl8uQXUoZSw2LGIpO2Uuc2V0SGVhZGluZyh0aGlzLmdldCgiaGVhZGluZyIpfHwwKTtkJiYoYj1fLndnKGYsXy5DQ2EsMyksXy5paChiLDEsZCkpO3RoaXMuc2V0KCJzZXNzaW9uU3RhdGUiLGEpfWVsc2UgdGhpcy5zZXQoInNlc3Npb25TdGF0ZSIsbnVsbCl9fX07dmFyIFRIYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMucWg9Yjt0aGlzLnJoPVtdO18uWEUoYSk7Xy5UcChhKTthLnN0eWxlLmZvbnRGYW1pbHk9IlJvYm90byxBcmlhbCxzYW5zLXNlcmlmIjthLnN0eWxlLmZvbnRTaXplPV8ucG0oTWF0aC5yb3VuZCgxMSpiLzQwKSk7YS5zdHlsZS50ZXh0QWxpZ249ImNlbnRlciI7YS5zdHlsZS5ib3hTaGFkb3c9InJnYmEoMCwgMCwgMCwgMC4zKSAwcHggMXB4IDRweCAtMXB4IjthLmRhdGFzZXQuY29udHJvbFdpZHRoPVN0cmluZyhiKTthLnN0eWxlLmN1cnNvcj0icG9pbnRlciI7dGhpcy5jb250YWluZXI9YX1mbG9vcnNfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJmbG9vcklkIiksYj10aGlzLmdldCgiZmxvb3JzIil8fFtdLGM9dGhpcy5jb250YWluZXI7aWYoYi5sZW5ndGg+MSl7Xy5XRShjKTt0aGlzLnJoLmZvckVhY2goZD0+e18uQ3coZCl9KTt0aGlzLnJoPVtdO2ZvcihsZXQgZD1iLmxlbmd0aCwKZT1kLTE7ZT49MDstLWUpe2xldCBmPV8uUnEoYltlXS5kZXNjcmlwdGlvbnx8YltlXS5sR3x8IkZsb29yIExldmVsIik7YltlXS5sRD09YT8oZi5zdHlsZS5jb2xvcj0iI2FhYSIsZi5zdHlsZS5mb250V2VpZ2h0PSJib2xkIixmLnN0eWxlLmJhY2tncm91bmRDb2xvcj0iIzMzMyIpOih5R2EodGhpcyxmLGJbZV0uYlApLGYuc3R5bGUuY29sb3I9IiM5OTkiLGYuc3R5bGUuZm9udFdlaWdodD0iNDAwIixmLnN0eWxlLmJhY2tncm91bmRDb2xvcj0iIzIyMiIpO2Yuc3R5bGUuaGVpZ2h0PWYuc3R5bGUud2lkdGg9Xy5wbSh0aGlzLnFoKTtlPT09ZC0xP1pFYShmLF8ucG0oXy5mSCh0aGlzLnFoKSkpOmU9PT0wJiYkRWEoZixfLnBtKF8uZkgodGhpcy5xaCkpKTtfLnN3KGJbZV0ubEcsZik7Yy5hcHBlbmRDaGlsZChmKTt0aGlzLnJoLnB1c2goZil9c2V0VGltZW91dCgoKT0+e18ud24oYywicmVzaXplIil9KX1lbHNlIGMuc3R5bGUuZGlzcGxheT0ibm9uZSJ9fTt2YXIgUUdhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3N1cGVyKCk7dGhpcy5jb250YWluZXI9YTt0aGlzLnFoPWI7dGhpcy5zaD1jO3RoaXMud2g9ZDt0aGlzLnZpc2libGU9ITA7dGhpcy5zZXQoImlzT25MZWZ0IiwhMSk7YS5jbGFzc0xpc3QuYWRkKCJnbS1zdnBjIik7YS5zZXRBdHRyaWJ1dGUoImRpciIsImx0ciIpO2Euc3R5bGUuYmFja2dyb3VuZD1lPyIjNDQ0IjoiI2ZmZiI7Yj10aGlzLnFoPDMyP3RoaXMucWgtMjp0aGlzLnFoPDQwPzMwOjEwK3RoaXMucWgvMjt0aGlzLnJoPXtIRDp6R2EoYiksYWN0aXZlOkFHYShiKSxHRDpCR2EoYil9O0RHYSh0aGlzKTt0aGlzLnNldCgicG9zaXRpb24iLF8uVEkucGFkLm9mZnNldCk7Xy5odyhhLCJtb3VzZW92ZXIiLHRoaXMsdGhpcy50aCk7Xy5odyhhLCJtb3VzZW91dCIsdGhpcyx0aGlzLnhoKTthLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixmPT57IWYuYWx0S2V5JiZfLnp5KGYpJiZ0aGlzLndoKGYpfSk7CmEuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLGY9Pnt0aGlzLnNoKGYpfSk7YS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmPT57dGhpcy5zaChmKX0se3Bhc3NpdmU6ITF9KTtfLmtuKHRoaXMsIm1vZGVfY2hhbmdlZCIsKCk9Pnt2YXIgZj10aGlzLmdldCgibW9kZSIpO0NHYSh0aGlzLGYpfSk7Xy5rbih0aGlzLCJkaXNwbGF5X2NoYW5nZWQiLCgpPT57RUdhKHRoaXMpfSk7Xy5rbih0aGlzLCJtYXBzaXplX2NoYW5nZWQiLCgpPT57RUdhKHRoaXMpfSk7dGhpcy5zZXQoIm1vZGUiLDEpfXRoKCl7dGhpcy5nZXQoIm1vZGUiKT09PTEmJnRoaXMuc2V0KCJtb2RlIiwyKX14aCgpe3RoaXMuZ2V0KCJtb2RlIik9PT0yJiZ0aGlzLnNldCgibW9kZSIsMSl9aXNPbkxlZnRfY2hhbmdlZCgpe3RoaXMuY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KCItLXBlZ21hbi1zY2FsZVgiLFN0cmluZyh0aGlzLmdldCgiaXNPbkxlZnQiKT8tMToxKSl9fTt2YXIgeklhPVtfLlFJWyJsaWx5cGFkXzAuc3ZnIl0sXy5RSVsibGlseXBhZF8xLnN2ZyJdLF8uUUlbImxpbHlwYWRfMi5zdmciXSxfLlFJWyJsaWx5cGFkXzMuc3ZnIl0sXy5RSVsibGlseXBhZF80LnN2ZyJdLF8uUUlbImxpbHlwYWRfNS5zdmciXSxfLlFJWyJsaWx5cGFkXzYuc3ZnIl0sXy5RSVsibGlseXBhZF83LnN2ZyJdLF8uUUlbImxpbHlwYWRfOC5zdmciXSxfLlFJWyJsaWx5cGFkXzkuc3ZnIl0sXy5RSVsibGlseXBhZF8xMC5zdmciXSxfLlFJWyJsaWx5cGFkXzExLnN2ZyJdLF8uUUlbImxpbHlwYWRfMTIuc3ZnIl0sXy5RSVsibGlseXBhZF8xMy5zdmciXSxfLlFJWyJsaWx5cGFkXzE0LnN2ZyJdLF8uUUlbImxpbHlwYWRfMTUuc3ZnIl1dLE1HYT1bXy5RSVsibGlseXBhZF9wZWdtYW5fMC5zdmciXSxfLlFJWyJsaWx5cGFkX3BlZ21hbl8xLnN2ZyJdLF8uUUlbImxpbHlwYWRfcGVnbWFuXzIuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMy5zdmciXSxfLlFJWyJsaWx5cGFkX3BlZ21hbl80LnN2ZyJdLApfLlFJWyJsaWx5cGFkX3BlZ21hbl81LnN2ZyJdLF8uUUlbImxpbHlwYWRfcGVnbWFuXzYuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fNy5zdmciXSxfLlFJWyJsaWx5cGFkX3BlZ21hbl84LnN2ZyJdLF8uUUlbImxpbHlwYWRfcGVnbWFuXzkuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTAuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTEuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTIuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTMuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTQuc3ZnIl0sXy5RSVsibGlseXBhZF9wZWdtYW5fMTUuc3ZnIl1dLEFJYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm1hcD1hO3RoaXMueGg9dGhpcy53aD0wO3RoaXMuemg9dGhpcy55aD0hMTt0aGlzLkpoPXRoaXMuRmg9LTE7dGhpcy5EaD10aGlzLkdoPW51bGw7dmFyIGI9e2NsaWNrYWJsZTohMSxjcm9zc09uRHJhZzohMSxkcmFnZ2FibGU6ITAsCm1hcDphLG1hcE9ubHk6ITAsaW50ZXJuYWxNYXJrZXI6ITAsekluZGV4OjFFNn07dGhpcy5DaD1fLlRJLkdzO3RoaXMuTWg9Xy5USS55UDt0aGlzLnJoPV8uVW4oIm1vZGUiKTt0aGlzLnFoPV8uVm4oIm1vZGUiKTt0aGlzLnNoPUZHYSh0aGlzKTt0aGlzLkJoPUdHYSh0aGlzLnNoKTt0aGlzLnRoPUhHYSh0aGlzKTt0aGlzLnFCPWE9bmV3IF8ueHMoYik7dGhpcy5BaD1iPW5ldyBfLnhzKGIpO3RoaXMucWgoMSk7dGhpcy5zZXQoImhlYWRpbmciLDApO2EuYmluZFRvKCJpY29uIix0aGlzLCJsaWx5cGFkSWNvbiIpO2EuYmluZFRvKCJkcmFnZ2luZyIsdGhpcyk7Yi5zZXQoImN1cnNvciIsXy5JeSk7Yi5zZXQoImljb24iLHBKKHRoaXMuTWgsMCkpO2IuYmluZFRvKCJkcmFnZ2luZyIsdGhpcyk7Xy5rbih0aGlzLCJkcmFnc3RhcnQiLHRoaXMua24pO18ua24odGhpcywiZHJhZyIsdGhpcy5qbik7dGhpcy5MaD0oKT0+e3RoaXMuSm4oKX07dGhpcy5JaD0oKT0+e0pHYSh0aGlzKX07S0dhKHRoaXMpfWFzeW5jIGx2KGEpe3RoaXMuemg9CiEwO3ZhciBiPV8uUkgoYSk7aWYoYil7dmFyIGM9YXdhaXQgdGhpcy50aDtjLm1hcD10aGlzLm1hcDtjLmlGKGIpO2F3YWl0IGMuQ0goKTtjLmx2KGEpfX1hc3luYyBtdihhKXt0aGlzLnpoPSEwO3ZhciBiPWF3YWl0IHRoaXMudGg7Yi5tYXA9dGhpcy5tYXA7Yi5wb3NpdGlvbj10aGlzLm1hcC5nZXRDZW50ZXIoKTthd2FpdCBiLkNIKCk7Yi5tdihhKX1hc3luYyBkcmFnUG9zaXRpb25fY2hhbmdlZCgpe3RoaXMuQWguc2V0KCJwb3NpdGlvbiIsdGhpcy5nZXQoImRyYWdQb3NpdGlvbiIpKTsoYXdhaXQgdGhpcy50aCkucG9zaXRpb249dGhpcy5nZXQoImRyYWdQb3NpdGlvbiIpfWFzeW5jIG1vZGVfY2hhbmdlZCgpe05HYSh0aGlzKTtPR2EodGhpcyk7dmFyIGE9dGhpcy5nZXQoIm1vZGUiKSxiPWF3YWl0IHRoaXMudGg7YT09PTB8fGE9PT0xPyhiLnBvc2l0aW9uPW51bGwsYi5tYXA9bnVsbCk6Yi5tYXA9dGhpcy5tYXB9aGVhZGluZ19jaGFuZ2VkKCl7dGhpcy5yaCgpPT09NyYmTkdhKHRoaXMpfWFzeW5jIGxvY2F0aW9uX2NoYW5nZWQoKXt2YXIgYT0KdGhpcy5nZXQoImxvY2F0aW9uIik7dGhpcy5zZXQoInBvc2l0aW9uIixhPy5sYXRMbmcpfXBvc2l0aW9uX2NoYW5nZWQoKXt2YXIgYT10aGlzLnJoKCk7aWYoXy5RSChhKSlpZih0aGlzLmdldCgicG9zaXRpb24iKSl7dGhpcy5xQi5zZXRWaXNpYmxlKCEwKTt0aGlzLkFoLnNldFZpc2libGUoITEpO2E9dGhpcy5zZXQ7dmFyIGI9TEdhKHRoaXMpO3RoaXMuRmghPT1iJiYodGhpcy5GaD1iLHRoaXMuRGg9e3VybDp6SWFbYl0sc2NhbGVkU2l6ZTpuZXcgXy5nbyg0OSw1MiksYW5jaG9yOm5ldyBfLmJvKDI1LDM1KX0pO2EuY2FsbCh0aGlzLCJsaWx5cGFkSWNvbiIsdGhpcy5EaCl9ZWxzZSBhPXRoaXMucmgoKSxhPT09NT90aGlzLnFoKDYpOmE9PT0zJiZ0aGlzLnFoKDQpO2Vsc2UoYj10aGlzLmdldCgicG9zaXRpb24iKSkmJmE9PT0xJiZ0aGlzLnFoKDcpLHRoaXMuc2V0KCJkcmFnUG9zaXRpb24iLGIpO3RoaXMucUIuc2V0KCJwb3NpdGlvbiIsdGhpcy5nZXQoInBvc2l0aW9uIikpfWtuKGEpe3RoaXMuc2V0KCJkcmFnZ2luZyIsCiEwKTt0aGlzLnFoKDUpO3RoaXMueGg9YS5waXhlbD8ueD8/MDtYSih0aGlzKX1qbihhKXtQR2EodGhpcyxhKTtPR2EodGhpcyk7d2luZG93LmNsZWFyVGltZW91dCh0aGlzLndoKTt0aGlzLndoPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57Xy53bih0aGlzLCJob3ZlciIpO3RoaXMud2g9MH0sMzAwKTtYSih0aGlzKX1hc3luYyBKbigpe2F3YWl0IFhKKHRoaXMpO18ud24odGhpcywiZHJhZ2VuZCIpO0lHYSh0aGlzKX19O3ZhciBVSGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmLGcsaCxrLG0pe3ZhciBwPV8uSmw7c3VwZXIoKTt0aGlzLm1hcD1hO3RoaXMuQ2g9ZDt0aGlzLnloPWU7dGhpcy5jb25maWc9cDt0aGlzLlJoPWY7dGhpcy5jb250cm9sU2l6ZT1nO3RoaXMuemg9dGhpcy53aD10aGlzLm1qPSExO3RoaXMucmg9dGhpcy5zaD10aGlzLkFoPW51bGw7dGhpcy5CaD1fLlVuKCJtb2RlIik7dGhpcy54aD1fLlZuKCJtb2RlIik7dGhpcy5xaD1rfHxudWxsO3RoaXMueGgoMSk7dGhpcy5taj1tfHwhMTt0aGlzLm1hcmtlcj1uZXcgQUlhKHRoaXMubWFwKTtVR2EodGhpcyxjLGIpO3RoaXMub3ZlcmxheT1uZXcgXy5FRWEoaCk7aHx8KHRoaXMub3ZlcmxheS5iaW5kVG8oIm1hcEhlYWRpbmciLHRoaXMpLHRoaXMub3ZlcmxheS5iaW5kVG8oInRpbHQiLHRoaXMpKTt0aGlzLm92ZXJsYXkuYmluZFRvKCJjbGllbnQiLHRoaXMpO3RoaXMub3ZlcmxheS5iaW5kVG8oImNsaWVudCIsCmEsInN2Q2xpZW50Iik7dGhpcy5vdmVybGF5LmJpbmRUbygic3RyZWV0Vmlld0NvbnRyb2xPcHRpb25zIixhKTt0aGlzLm9mZnNldD1fLlVIKGMsZCk7dGhpcy50aD17U1M6KCk9PnRoaXMubWFya2VyLFRTOigpPT50aGlzLnJoLFVIOigpPT50aGlzLm92ZXJsYXksVVM6KCk9PnRoaXMuc2h9fXBxKCl7dmFyIGE9dGhpcy5tYXAub3ZlcmxheU1hcFR5cGVzLGI9dGhpcy5vdmVybGF5O2EuZm9yRWFjaCgoYyxkKT0+e2M9PWImJmEucmVtb3ZlQXQoZCl9KTt0aGlzLndoPSExfUZwKCl7dmFyIGE9dGhpcy5nZXQoInByb2plY3Rpb24iKTthJiZhLndGJiYodGhpcy5tYXAub3ZlcmxheU1hcFR5cGVzLnB1c2godGhpcy5vdmVybGF5KSx0aGlzLndoPSEwKX1tb2RlX2NoYW5nZWQoKXt2YXIgYT1fLlFIKHRoaXMuQmgoKSk7YSE9dGhpcy53aCYmKGE/dGhpcy5GcCgpOnRoaXMucHEoKSl9dGlsdF9jaGFuZ2VkKCl7dGhpcy53aCYmKHRoaXMucHEoKSx0aGlzLkZwKCkpfWhlYWRpbmdfY2hhbmdlZCgpe3RoaXMud2gmJgoodGhpcy5wcSgpLHRoaXMuRnAoKSl9cmVzdWx0X2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgicmVzdWx0Iik7dGhpcy5zZXQoImxvY2F0aW9uIixhPy5sb2NhdGlvbik7dGhpcy56aD90aGlzLnhoKDEpOnRoaXMuZ2V0KCJob3ZlciIpfHx0aGlzLnNldCgicGFub3JhbWFWaXNpYmxlIiwhIWEpfXBhbm9yYW1hVmlzaWJsZV9jaGFuZ2VkKCl7dGhpcy56aD10aGlzLmdldCgicGFub3JhbWFWaXNpYmxlIik9PTA7dmFyIGE9dGhpcy5nZXQoInBhbm9yYW1hVmlzaWJsZSIpLGI9dGhpcy5nZXQoImhvdmVyIik7YXx8Ynx8dGhpcy54aCgxKTthJiZ0aGlzLm5vdGlmeSgicG9zaXRpb24iKX19O3ZhciBiSGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMucWg9YjtZSigpP1ZHYShhKTooYj1hLGE9Xy5QSihhKSxRSihiKSk7dGhpcy5hbmNob3I9Xy52dygiYSIsYSk7WUooKT9YRmEodGhpcy5hbmNob3IsITApOih0aGlzLmFuY2hvci5zdHlsZS50ZXh0RGVjb3JhdGlvbj0ibm9uZSIsdGhpcy5hbmNob3Iuc3R5bGUuY29sb3I9IiNmZmYiKTt0aGlzLmFuY2hvci5zZXRBdHRyaWJ1dGUoInRhcmdldCIsIl9uZXciKTthPShZSigpLCJSZXBvcnQgYSBwcm9ibGVtIik7Xy5zdyhhLHRoaXMuYW5jaG9yKTt0aGlzLmFuY2hvci5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiUmVwb3J0IHByb2JsZW1zIHdpdGggU3RyZWV0IFZpZXcgaW1hZ2VyeSB0byBHb29nbGUiKTtfLnFuKHRoaXMuYW5jaG9yLCJjbGljayIsYz0+e18uTSh3aW5kb3csXy4kRShjKT8xNzEzODA6MTcxMzc5KX0pO2NGYSh0aGlzLmFuY2hvciwiUmVwb3J0IHByb2JsZW1zIHdpdGggU3RyZWV0IFZpZXcgaW1hZ2VyeSB0byBHb29nbGUiKX12aXNpYmxlX2NoYW5nZWQoKXt2YXIgYT0KdGhpcy5nZXQoInZpc2libGUiKSE9PSExPyIiOiJub25lIjt0aGlzLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PWE7Xy53bih0aGlzLmNvbnRhaW5lciwicmVzaXplIil9dGFrZURvd25VcmxfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJwb3YiKSxiPXRoaXMuZ2V0KCJwYW5vIiksYz10aGlzLmdldCgidGFrZURvd25VcmwiKTthJiYoY3x8YikmJihhPSIxLCIrTnVtYmVyKE51bWJlcihhLmhlYWRpbmcpLnRvRml4ZWQoMykpLnRvU3RyaW5nKCkrIiwsIitOdW1iZXIoTnVtYmVyKE1hdGgubWF4KDAsYS56b29tLTF8fDApKS50b0ZpeGVkKDMpKS50b1N0cmluZygpKyIsIitOdW1iZXIoTnVtYmVyKC1hLnBpdGNoKS50b0ZpeGVkKDMpKS50b1N0cmluZygpLGI9Yz9jKygiJmNicD0iK2ErIiZobD0iK18uSmwucmgoKS5yaCgpKTp0aGlzLnFoLmdldFVybCgicmVwb3J0IixbInBhbm9pZD0iK2IsImNicD0iK2EsImhsPSIrXy5KbC5yaCgpLnJoKCldKSxfLlB2KHRoaXMuYW5jaG9yLGIpLHRoaXMuc2V0KCJybWlMaW5rRGF0YSIsCntsYWJlbDooWUooKSwiUmVwb3J0IGEgcHJvYmxlbSIpLHRvb2x0aXA6IlJlcG9ydCBwcm9ibGVtcyB3aXRoIFN0cmVldCBWaWV3IGltYWdlcnkgdG8gR29vZ2xlIix1cmw6Yn0pKX1wb3ZfY2hhbmdlZCgpe3RoaXMudGFrZURvd25VcmxfY2hhbmdlZCgpfXBhbm9fY2hhbmdlZCgpe3RoaXMudGFrZURvd25VcmxfY2hhbmdlZCgpfUp0KCl7fUl0KCl7fXFsKCl7fUVuKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyfX07dmFyIFlIYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLkpoPWEubWo/MjoxO3RoaXMuSWg9ISFhLm1qO3RoaXMuRmg9bmV3IF8uQXAoKCk9Pnt0aGlzLkJoWzFdJiZISGEodGhpcyk7dGhpcy5CaFswXSYmTkhhKHRoaXMpO3RoaXMuQmhbM10mJmlIYSh0aGlzKTt0aGlzLkJoPXt9O3RoaXMuZ2V0KCJkaXNhYmxlRGVmYXVsdFVJIikmJiF0aGlzLnJoJiZfLk0odGhpcy5xaCwxNDgyNDUpfSwwKTt0aGlzLnNoPWEud0l8fG51bGw7dGhpcy5QaD1hLmdzO3RoaXMuSWgmJlFKKHRoaXMuUGgpO3RoaXMuV2k9YS5OeXx8bnVsbDt0aGlzLnhoPWEuY29udHJvbFNpemU7dGhpcy53aj1hLlpMfHxudWxsO3RoaXMucWg9YS5tYXB8fG51bGw7dGhpcy5yaD1hLlpQfHxudWxsO3RoaXMuTWk9dGhpcy5xaHx8dGhpcy5yaDt0aGlzLnJsPWEuUko7dGhpcy5YbT1hLkl6fHxudWxsO3RoaXMuYWw9YS5SaHx8bnVsbDt0aGlzLkdqPSEhYS5PdTt0aGlzLmZtPSEhYS5MczsKdGhpcy5DbD0hIWEuS3M7dGhpcy5mbD0hIWEueE07dGhpcy5Jaz10aGlzLnhrPXRoaXMud2s9dGhpcy5Waz0hMTt0aGlzLkNoPXRoaXMuV2s9dGhpcy5iaT10aGlzLmRpPW51bGw7dGhpcy56aD1hLk1yO3RoaXMuVmo9Xy5ScSgiVG9nZ2xlIGZ1bGxzY3JlZW4gdmlldyIpO3RoaXMuTGg9bnVsbDt0aGlzLnptPWEuSGs7dGhpcy50aD10aGlzLkRoPW51bGw7dGhpcy5haj0hMTt0aGlzLnppPVtdO3RoaXMuT2g9bnVsbDt0aGlzLkJtPXt9O3RoaXMuQmg9e307dGhpcy5NaD10aGlzLlpoPXRoaXMuV2g9dGhpcy5zaT1udWxsO3RoaXMuWmk9Xy5ScSgiRHJhZyBQZWdtYW4gb250byB0aGUgbWFwIHRvIG9wZW4gU3RyZWV0IFZpZXciKTt0aGlzLkFoPW51bGw7dGhpcy5FaT0hMTtfLkJ6KFhHYSx0aGlzLnpoKTt2YXIgYj10aGlzLmVqPW5ldyB4SWE7Yi5iaW5kVG8oImNlbnRlciIsdGhpcyk7Yi5iaW5kVG8oInpvb20iLHRoaXMpO2IuYmluZFRvKCJtYXBUeXBlSWQiLHRoaXMpO2IuYmluZFRvKCJwYW5vIiwKdGhpcyk7Yi5iaW5kVG8oInBvc2l0aW9uIix0aGlzKTtiLmJpbmRUbygicG92Iix0aGlzKTtiLmJpbmRUbygiaGVhZGluZyIsdGhpcyk7Yi5iaW5kVG8oInRpbHQiLHRoaXMpO2EubWFwJiZfLmtuKGIsInVybF9jaGFuZ2VkIiwoKT0+e2EubWFwLnNldCgibWFwVXJsIixiLmdldCgidXJsIikpfSk7dmFyIGM9bmV3IHlJYTtjLmJpbmRUbygiY2VudGVyIix0aGlzKTtjLmJpbmRUbygiem9vbSIsdGhpcyk7Yy5iaW5kVG8oIm1hcFR5cGVJZCIsdGhpcyk7Yy5iaW5kVG8oInBhbm8iLHRoaXMpO2MuYmluZFRvKCJoZWFkaW5nIix0aGlzKTt0aGlzLkNtPWM7WUdhKHRoaXMpO3RoaXMueWg9YUhhKHRoaXMpO3RoaXMuR2g9bnVsbDtjSGEodGhpcyk7dGhpcy5TaD1udWxsO2VIYSh0aGlzKTt0aGlzLndoPW51bGw7YS5MSiYmZ0hhKHRoaXMpO2lIYSh0aGlzKTtrSGEodGhpcyxhLlpHKTttSGEodGhpcyk7dGhpcy5Qbj1vSGEodGhpcyk7dGhpcy5rZXlib2FyZFNob3J0Y3V0c19jaGFuZ2VkKCk7Cl8uTHBbMzVdJiZxSGEodGhpcyk7c0hhKHRoaXMpfWJvdW5kc19jaGFuZ2VkKCl7dGhpcy50aD8uQ2godGhpcy5nZXQoInpvb20iKSx0aGlzLmdldCgiem9vbVJhbmdlIiksdGhpcy5nZXQoImJvdW5kcyIpLHRoaXMuZ2V0KCJyZXN0cmljdGlvbiIpKX1yZXN0cmljdGlvbl9jaGFuZ2VkKCl7dGhpcy50aD8uQ2godGhpcy5nZXQoInpvb20iKSx0aGlzLmdldCgiem9vbVJhbmdlIiksdGhpcy5nZXQoImJvdW5kcyIpLHRoaXMuZ2V0KCJyZXN0cmljdGlvbiIpKX1kaXNhYmxlRGVmYXVsdFVJX2NoYW5nZWQoKXtPSGEodGhpcyl9c2l6ZV9jaGFuZ2VkKCl7T0hhKHRoaXMpO3RoaXMuZ2V0KCJzaXplIikmJih0aGlzLlBuLnVwZGF0ZSh0aGlzLmdldCgic2l6ZSIpLndpZHRoLSh0aGlzLmdldCgibG9nb1dpZHRoIil8fDApKSx0aGlzLnRoPy5Pbih0aGlzLmdldCgiY2FtZXJhQ29udHJvbCIpLHRoaXMuZ2V0KCJzaXplIikpKX1tYXBUeXBlSWRfY2hhbmdlZCgpe2FLKHRoaXMpIT10aGlzLmFqJiYKKHRoaXMuQmhbMV09ITAsdGhpcy5GaC5EaSgpKTt0aGlzLk1oJiZ0aGlzLk1oLnNldE1hcFR5cGVJZCh0aGlzLmdldCgibWFwVHlwZUlkIikpO3RoaXMudGg/LkRoKHRoaXMuZ2V0KCJtYXBUeXBlSWQiKSl9bWFwVHlwZUNvbnRyb2xfY2hhbmdlZCgpe3RoaXMuQmhbMF09ITA7dGhpcy5GaC5EaSgpfW1hcFR5cGVDb250cm9sT3B0aW9uc19jaGFuZ2VkKCl7dGhpcy5CaFswXT0hMDt0aGlzLkZoLkRpKCl9ZnVsbHNjcmVlbkNvbnRyb2xPcHRpb25zX2NoYW5nZWQoKXt0aGlzLkJoWzNdPSEwO3RoaXMuRmguRGkoKX1zY2FsZUNvbnRyb2xfY2hhbmdlZCgpe1pKKHRoaXMpfXNjYWxlQ29udHJvbE9wdGlvbnNfY2hhbmdlZCgpe1pKKHRoaXMpfWtleWJvYXJkU2hvcnRjdXRzX2NoYW5nZWQoKXt2YXIgYT0hISh0aGlzLnFoJiZfLkF2KHRoaXMucWgpfHx0aGlzLnJoKTthPyh0aGlzLmRpLmNvbnRhaW5lci5zdHlsZS5kaXNwbGF5PSIiLHRoaXMueWguc2V0KCJrZXlib2FyZFNob3J0Y3V0c1Nob3duIiwKITApKTphfHwodGhpcy5kaS5jb250YWluZXIuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy55aC5zZXQoImtleWJvYXJkU2hvcnRjdXRzU2hvd24iLCExKSl9Y2FtZXJhQ29udHJvbF9jaGFuZ2VkKCl7JEoodGhpcyl9Y2FtZXJhQ29udHJvbE9wdGlvbnNfY2hhbmdlZCgpeyRKKHRoaXMpfXBhbkNvbnRyb2xfY2hhbmdlZCgpeyRKKHRoaXMpfXBhbkNvbnRyb2xPcHRpb25zX2NoYW5nZWQoKXskSih0aGlzKX1yb3RhdGVDb250cm9sX2NoYW5nZWQoKXskSih0aGlzKX1yb3RhdGVDb250cm9sT3B0aW9uc19jaGFuZ2VkKCl7JEoodGhpcyl9c3RyZWV0Vmlld0NvbnRyb2xfY2hhbmdlZCgpeyRKKHRoaXMpfXN0cmVldFZpZXdDb250cm9sT3B0aW9uc19jaGFuZ2VkKCl7JEoodGhpcyl9em9vbUNvbnRyb2xfY2hhbmdlZCgpeyRKKHRoaXMpfXpvb21Db250cm9sT3B0aW9uc19jaGFuZ2VkKCl7JEoodGhpcyl9bXlMb2NhdGlvbkNvbnRyb2xfY2hhbmdlZCgpeyRKKHRoaXMpfW15TG9jYXRpb25Db250cm9sT3B0aW9uc19jaGFuZ2VkKCl7JEoodGhpcyl9c3RyZWV0Vmlld19jaGFuZ2VkKCl7VkhhKHRoaXMpfU9rKGEpe3RoaXMuZ2V0KCJwYW5vcmFtYVZpc2libGUiKSE9CmEmJnRoaXMuc2V0KCJwYW5vcmFtYVZpc2libGUiLGEpfXBhbm9yYW1hVmlzaWJsZV9jaGFuZ2VkKCl7dmFyIGE9dGhpcy5nZXQoInN0cmVldFZpZXciKTthJiYodGhpcy5BaCYmYS5fX2dtLmJpbmRUbygic2xvVHJhY2tpbmdJZCIsdGhpcy5BaCksYS5xaC5zZXQoISF0aGlzLmdldCgicGFub3JhbWFWaXNpYmxlIikpKX19O3ZhciBXSGE9KDAsXy5HailgLmRpc21pc3NCdXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RhZGNlMDtjb2xvcjojMWE3M2U4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDozNnB4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MCAyNHB4fS5kaXNtaXNzQnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSg2NiwxMzMsMjQ0LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCAjZDJlM2ZjfS5kaXNtaXNzQnV0dG9uOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiYSg2NiwxMzMsMjQ0LC4xMik7Ym9yZGVyOjFweCBzb2xpZCAjZDJlM2ZjO291dGxpbmU6MH0uZGlzbWlzc0J1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkYWRjZTA7b3V0bGluZTpub25lfS5kaXNtaXNzQnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDY2LDEzMywyNDQsLjEyKTtib3JkZXI6MXB4IHNvbGlkICNkMmUzZmM7b3V0bGluZTowfS5kaXNtaXNzQnV0dG9uOmhvdmVyOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiYSg2NiwxMzMsMjQ0LC4xNik7Ym9yZGVyOjFweCBzb2xpZCAjZDJlMmZkfS5kaXNtaXNzQnV0dG9uOmhvdmVyOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDY2LDEzMywyNDQsLjA0KTtib3JkZXI6MXB4IHNvbGlkICNkMmUzZmN9LmRpc21pc3NCdXR0b246aG92ZXI6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjYsMTMzLDI0NCwuMTYpO2JvcmRlcjoxcHggc29saWQgI2QyZTJmZH0uZGlzbWlzc0J1dHRvbjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDY2LDEzMywyNDQsLjE2KTtib3JkZXI6MXB4IHNvbGlkICNkMmUyZmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjAsNjQsNjcsLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2MCw2NCw2NywuMTUpO2JveC1zaGFkb3c6MCAxcHggMnB4IDAgcmdiYSg2MCw2NCw2NywuMyksMCAxcHggM3B4IDFweCByZ2JhKDYwLDY0LDY3LC4xNSl9LmRpc21pc3NCdXR0b246ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2YxZjNmNDtjb2xvcjojM2M0MDQzfXNlbnRpbmVse31cbmA7dmFyIEJJYT1bMzcsMzgsMzksNDBdLENJYT1bMzgsNDBdLERJYT1bMzcsMzldLEVJYT17Mzg6WzAsLTFdLDQwOlswLDFdLDM3OlstMSwwXSwzOTpbMSwwXX0sRklhPXszODpbMCwxXSw0MDpbMCwtMV0sMzc6Wy0xLDBdLDM5OlsxLDBdfTt2YXIgZks9T2JqZWN0LmZyZWV6ZShbLi4uQ0lhLC4uLkRJYV0pLGRJYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5zcmM9YTt0aGlzLkdoPWI7dGhpcy5GaD1jO3RoaXMuc2g9dGhpcy5yaD0wO3RoaXMudGg9bnVsbDt0aGlzLkFoPXRoaXMucWg9MDt0aGlzLnpoPXRoaXMud2g9bnVsbDt0aGlzLnhoPXt9O3RoaXMueWg9e307Xy5odyhhLCJrZXlkb3duIix0aGlzLHRoaXMuSWgpO18uaHcoYSwia2V5cHJlc3MiLHRoaXMsdGhpcy5KaCk7Xy5odyhhLCJrZXl1cCIsdGhpcyx0aGlzLkxoKX1JaChhKXtpZihjSWEodGhpcyxhKSlyZXR1cm4hMDt2YXIgYj0hMTtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDM4OmNhc2UgNDA6Y2FzZSAzNzpjYXNlIDM5OmI9YS5zaGlmdEtleSYmQ0lhLmluZGV4T2YoYS5rZXlDb2RlKT49MDtsZXQgYz1hLnNoaWZ0S2V5JiZESWEuaW5kZXhPZihhLmtleUNvZGUpPj0wJiZ0aGlzLkZoJiYhdGhpcy5yaDtiJiZ0aGlzLkdoJiYKIXRoaXMucmh8fGM/KHRoaXMueWhbYS5rZXlDb2RlXT0hMCx0aGlzLnNofHwodGhpcy5BaD0wLHRoaXMucWg9MSx0aGlzLkNoKCkpLF8uTSh3aW5kb3csYj8xNjUzNzY6MTY1Mzc1KSk6dGhpcy5zaHx8KHRoaXMueGhbYS5rZXlDb2RlXT0hMCx0aGlzLnJofHwodGhpcy50aD1uZXcgXy5vSSgxMDApLHRoaXMuQmgoKSksXy5NKHdpbmRvdywxNjUzNzMpKTtiPSEwO2JyZWFrO2Nhc2UgMzQ6Y0sodGhpcywwLC43NSk7Yj0hMDticmVhaztjYXNlIDMzOmNLKHRoaXMsMCwtLjc1KTtiPSEwO2JyZWFrO2Nhc2UgMzY6Y0sodGhpcywtLjc1LDApO2I9ITA7YnJlYWs7Y2FzZSAzNTpjSyh0aGlzLC43NSwwKTtiPSEwO2JyZWFrO2Nhc2UgMTg3OmNhc2UgMTA3OmFJYSh0aGlzKTtiPSEwO2JyZWFrO2Nhc2UgMTg5OmNhc2UgMTA5OmJJYSh0aGlzKSxiPSEwfXN3aXRjaChhLndoaWNoKXtjYXNlIDYxOmNhc2UgNDM6YUlhKHRoaXMpO2I9ITA7YnJlYWs7Y2FzZSA0NTpjYXNlIDk1OmNhc2UgMTczOmJJYSh0aGlzKSwKYj0hMH1iJiYoXy5nbihhKSxfLmhuKGEpKTtyZXR1cm4hYn1KaChhKXtpZihjSWEodGhpcyxhKSlyZXR1cm4hMDtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDM4OmNhc2UgNDA6Y2FzZSAzNzpjYXNlIDM5OmNhc2UgMzQ6Y2FzZSAzMzpjYXNlIDM2OmNhc2UgMzU6Y2FzZSAxODc6Y2FzZSAxMDc6Y2FzZSAxODk6Y2FzZSAxMDk6cmV0dXJuIF8uZ24oYSksXy5obihhKSwhMX1zd2l0Y2goYS53aGljaCl7Y2FzZSA2MTpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA5NTpjYXNlIDE3MzpyZXR1cm4gXy5nbihhKSxfLmhuKGEpLCExfXJldHVybiEwfUxoKGEpe3ZhciBiPSExO3N3aXRjaChhLmtleUNvZGUpe2Nhc2UgMzg6Y2FzZSA0MDpjYXNlIDM3OmNhc2UgMzk6dGhpcy54aFthLmtleUNvZGVdPW51bGwsdGhpcy55aFthLmtleUNvZGVdPSExLGI9ITB9cmV0dXJuIWJ9QmgoKXt2YXIgYT0wLGI9MCxjPSExO2Zvcih2YXIgZCBvZiBCSWEpaWYodGhpcy54aFtkXSl7bGV0IFtlLGZdPUVJYVtkXTthKz1lOwpiKz1mO2M9ITB9Yz8oZD0xLF8uWkgodGhpcy50aCkmJihkPXRoaXMudGgubmV4dCgpKSxjPU1hdGgucm91bmQoNypkKjUqYSksZD1NYXRoLnJvdW5kKDcqZCo1KmIpLGM9PT0wJiYoYz1hKSxkPT09MCYmKGQ9YiksXy53bih0aGlzLCJwYW5ieW5vdyIsYyxkLDEpLHRoaXMucmg9Xy5MRSh0aGlzLHRoaXMuQmgsMTApKTp0aGlzLnJoPTB9Q2goKXt2YXIgYT0wLGI9MCxjPSExO2ZvcihsZXQgZD0wO2Q8ZksubGVuZ3RoO2QrKyl0aGlzLnloW2ZLW2RdXSYmKGM9RklhW2ZLW2RdXSxhKz1jWzBdLGIrPWNbMV0sYz0hMCk7Yz8oXy53bih0aGlzLCJ0aWx0cm90YXRlYnlub3ciLHRoaXMucWgqYSx0aGlzLnFoKmIpLHRoaXMuc2g9Xy5MRSh0aGlzLHRoaXMuQ2gsMTApLHRoaXMucWg9TWF0aC5taW4oMS44LHRoaXMucWgrLjAxKSx0aGlzLkFoKyssdGhpcy53aD17eDphLHk6Yn0pOih0aGlzLnNoPTAsdGhpcy56aD1uZXcgXy5vSShNYXRoLm1pbihNYXRoLnJvdW5kKHRoaXMuQWgvMiksMzUpLDEpLApfLkxFKHRoaXMsdGhpcy5EaCwxMCkpfURoKCl7aWYoIXRoaXMuc2gmJiF0aGlzLnJoJiZfLlpIKHRoaXMuemgpKXt2YXIgYT10aGlzLndoLngsYj10aGlzLndoLnksYz10aGlzLnpoLm5leHQoKTtfLnduKHRoaXMsInRpbHRyb3RhdGVieW5vdyIsdGhpcy5xaCpjKmEsdGhpcy5xaCpjKmIpO18uTEUodGhpcyx0aGlzLkRoLDEwKX19fTt2YXIgR0lhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5oRz1vSWE7dGhpcy5sTz1aSGE7dGhpcy5uTz0kSGE7dGhpcy5tTz1mSWF9S0ooYSxiKXthPV8uWEhhKGEsYikuc3R5bGU7YS5ib3JkZXI9IjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTIpIjthLmJvcmRlclJhZGl1cz0iNXB4IjthLmxlZnQ9IjUwJSI7YS5tYXhXaWR0aD0iMzc1cHgiO2EucG9zaXRpb249ImFic29sdXRlIjthLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YS53aWR0aD0iY2FsYygxMDAlIC0gMTBweCkiO2EuekluZGV4PSIxIn1vRihhKXtpZihfLmplYSgpJiYhYS5fX2dtX2Jic3Ape2EuX19nbV9iYnNwPSEwO3ZhciBiPW5ldyBfLld2KCJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9lcnJvci1tZXNzYWdlcyN1bnN1cHBvcnRlZC1icm93c2VycyIpO25ldyBIRmEoYSxiKX19fTtfLklsKCJjb250cm9scyIsbmV3IEdJYSk7fSk7Cg=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-kb1yqHaA.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://primeelitecapital.com/","date":"2026-07-27T12:22:18.821Z","timestamp":1785154938821,"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-kb1yqHaA.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://primeelitecapital.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 12:22:18 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a670743-42705\"\r\nexpires: Tue, 27 Jul 2027 07:27:08 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: kzimfnY9N8Ss6id/mAdjZHgIT7SmRzTs8H4a8ArEj0GqpTOcRgQb1ckzWSRtrnNfILKRKbs\r\nx-77-nzt-ray: fdb541238e1c8e7f7a4d676ad2b71e31\r\nage: 19\r\nx-77-cache: HIT\r\nx-77-age: 17678\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":92601,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"4a99d6fd0e84ed566d578d0ed5dea128","sha1":"c729468068793db7ca783d243b2ec065b6e2f202","sha256":"99501ff83cea2d37fb29f4ff7e0bfc1a93655e56db91bce74171fe29f0821884","sha512":"fcab2b13f37fe49c7a500be1285445ec1dfb120ed4f6d909925ea5616ee9f62d999fe83c1f8210dcc1742528ee3469e5671b34191317836ab4ed3b020ade8608","ssdeep":"6144:mLjnOEIL18ad2jJKaQF+tRkYcuBa+y+mFJW:iOEIZRd29Uqj4r+mF4","tlshash":"b3443ad53294b03543db51e6906f1106b33e5c58580d812cf269ede638baec8a2f7fb8","first_seen":"2026-07-27T07:28:16.16312Z","last_seen":"2026-07-29T06:17:50.104199Z","times_seen":1066,"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/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjVgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+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+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBlMDdjMjA4YTM4ZTZmNTA4NGM4ZWI0NjBiOTU4YTQyZjc3OGE1OTY1YCxlLmNvbW1pdEluZm89YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjUgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1NyBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0yNyAwOToxOTozMiArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+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+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGUwN2MyMDhhMzhlNmY1MDg0YzhlYjQ2MGI5NThhNDJmNzc4YTU5NjVgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQta2IxeXFIYUEuanMubWFw"}},"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":"maps.googleapis.com/maps-api-v3/api/js/65/10a/log.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.659Z","timestamp":1785154929659,"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":"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 /maps-api-v3/api/js/65/10a/log.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 10356\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:12 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411657\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":28608,"size_decoded":11195,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (1860)","md5":"d80bd779d1639d8052dbfe149ef9f254","sha1":"05f90927ec492a44cb7c76db0dcb360776abdf3d","sha256":"2b35eb9523d8ea44f04328da81728ced64b876391dbf7eee813d81ba5afddf3f","sha512":"1e13421c24584ca42871b70d0fa7dfd2ff691989dbc22d0c2f6fb58fbad42bd7d14d69568c9a5daeb7683f13ac388ce1490b6cc8b77c601360676204ce479106","ssdeep":"768:IN9bgjR2X67JncsaA8vjogJb0y80jCs6aCantweLK:l067Ojsaa","tlshash":"dfd2b6d4b3a270d28bb1e4a5406b4007b6656451f00cdc6efded98e57cf8a4742baf78","first_seen":"2026-07-22T18:28:15.52878Z","last_seen":"2026-07-28T17:04:50.838827Z","times_seen":369,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ2xvZycsIGZ1bmN0aW9uKF8pe3ZhciBWTWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5Ma2EoKTtiLnJoLmhhcyhhKTtyZXR1cm4gbmV3IF8uTWthKCgpPT57cGVyZm9ybWFuY2Uubm93KCk+PWIuc2gmJmIucmVzZXQoKTtiLnFoLmhhcyhhKXx8Yi5xaC5zZXQoYSxfLktuKCkpO3JldHVybiBiLnFoLmdldChhKX0pfSxmTD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uUWYoYSxiLGM9PW51bGw/YzpfLlFlKGMsdm9pZCAwKSl9LFhNYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1uZXcgXy5LaztXTWEucHVzaChoKTtiJiZfLnhrKGgsImNvbXBsZXRlIixiKTtoLlNwLmFkZCgicmVhZHkiLGguSUcsITAsdm9pZCAwLHZvaWQgMCk7ZiYmKGguQmg9TWF0aC5tYXgoMCxmKSk7ZyYmKGgueWg9Zyk7aC5zZW5kKGEsYyxkLGUpfSxZTWE9ZnVuY3Rpb24oYSxiKXtpZihiJiZhIGluIGIpcmV0dXJuIGE7dmFyIGM9Xy5oRigpO3JldHVybiBjPyhjPWMudG9Mb3dlckNhc2UoKSxhPWMrXy5nemEoYSksYj09PXZvaWQgMHx8YSBpbgpiP2E6bnVsbCk6bnVsbH0sWk1hPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiIiO2lmKC9eYWJvdXQ6KD86Ymxhbmt8c3JjZG9jKSQvLnRlc3QoYSkpcmV0dXJuIHdpbmRvdy5vcmlnaW58fCIiO2EuaW5kZXhPZigiYmxvYjoiKT09PTAmJihhPWEuc3Vic3RyaW5nKDUpKTthPWEuc3BsaXQoIiMiKVswXS5zcGxpdCgiPyIpWzBdO2E9YS50b0xvd2VyQ2FzZSgpO2EuaW5kZXhPZigiLy8iKT09MCYmKGE9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK2EpOy9eW1x3XC1dKjpcL1wvLy50ZXN0KGEpfHwoYT13aW5kb3cubG9jYXRpb24uaHJlZik7dmFyIGI9YS5zdWJzdHJpbmcoYS5pbmRleE9mKCI6Ly8iKSszKSxjPWIuaW5kZXhPZigiLyIpO2MhPS0xJiYoYj1iLnN1YnN0cmluZygwLGMpKTtjPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCI6Ly8iKSk7aWYoIWMpdGhyb3cgRXJyb3IoIlVSSSBpcyBtaXNzaW5nIHByb3RvY29sOiAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09CiJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiSW52YWxpZCBVUkkgc2NoZW1lIGluIG9yaWdpbjogIitjKTthPSIiO3ZhciBkPWIuaW5kZXhPZigiOiIpO2lmKGQhPS0xKXt2YXIgZT1iLnN1YnN0cmluZyhkKzEpO2I9Yi5zdWJzdHJpbmcoMCxkKTtpZihjPT09Imh0dHAiJiZlIT09IjgwInx8Yz09PSJodHRwcyImJmUhPT0iNDQzIilhPSI6IitlfXJldHVybiBjKyI6Ly8iK2IrYX0sJE1hPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2VbMF09MTczMjU4NDE5MztlWzFdPTQwMjMyMzM0MTc7ZVsyXT0yNTYyMzgzMTAyO2VbM109MjcxNzMzODc4O2VbNF09MzI4NTM3NzUyMDtwPW09MH1mdW5jdGlvbiBiKHEpe2Zvcih2YXIgdT1nLHg9MDt4PAo2NDt4Kz00KXVbeC80XT1xW3hdPDwyNHxxW3grMV08PDE2fHFbeCsyXTw8OHxxW3grM107Zm9yKHg9MTY7eDw4MDt4KyspcT11W3gtM11edVt4LThdXnVbeC0xNF1edVt4LTE2XSx1W3hdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHo9ZVsxXSxCPWVbMl0sSz1lWzNdLE89ZVs0XTtmb3IoeD0wO3g8ODA7eCsrKXtpZih4PDQwKWlmKHg8MjApe3ZhciBBPUteeiYoQl5LKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQT16XkJeSyxRPTE4NTk3NzUzOTM7ZWxzZSB4PDYwPyhBPXomQnxLJih6fEIpLFE9MjQwMDk1OTcwOCk6KEE9el5CXkssUT0zMzk1NDY5NzgyKTtBPSgocTw8NXxxPj4+MjcpJjQyOTQ5NjcyOTUpK0ErTytRK3VbeF0mNDI5NDk2NzI5NTtPPUs7Sz1CO0I9KHo8PDMwfHo+Pj4yKSY0Mjk0OTY3Mjk1O3o9cTtxPUF9ZVswXT1lWzBdK3EmNDI5NDk2NzI5NTtlWzFdPWVbMV0reiY0Mjk0OTY3Mjk1O2VbMl09ZVsyXStCJjQyOTQ5NjcyOTU7ZVszXT1lWzNdK0smCjQyOTQ5NjcyOTU7ZVs0XT1lWzRdK08mNDI5NDk2NzI5NX1mdW5jdGlvbiBjKHEsdSl7aWYodHlwZW9mIHE9PT0ic3RyaW5nIil7cT11bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQocSkpO2Zvcih2YXIgeD1bXSx6PTAsQj1xLmxlbmd0aDt6PEI7Kyt6KXgucHVzaChxLmNoYXJDb2RlQXQoeikpO3E9eH11fHwodT1xLmxlbmd0aCk7eD0wO2lmKG09PTApZm9yKDt4KzY0PHU7KWIocS5zbGljZSh4LHgrNjQpKSx4Kz02NCxwKz02NDtmb3IoO3g8dTspaWYoZlttKytdPXFbeCsrXSxwKyssbT09NjQpZm9yKG09MCxiKGYpO3grNjQ8dTspYihxLnNsaWNlKHgseCs2NCkpLHgrPTY0LHArPTY0fWZ1bmN0aW9uIGQoKXt2YXIgcT1bXSx1PXAqODttPDU2P2MoaCw1Ni1tKTpjKGgsNjQtKG0tNTYpKTtmb3IodmFyIHg9NjM7eD49NTY7eC0tKWZbeF09dSYyNTUsdT4+Pj04O2IoZik7Zm9yKHg9dT0wO3g8NTt4KyspZm9yKHZhciB6PTI0O3o+PTA7ei09OClxW3UrK109ZVt4XT4+eiYyNTU7cmV0dXJuIHF9CmZvcih2YXIgZT1bXSxmPVtdLGc9W10saD1bMTI4XSxrPTE7azw2NDsrK2spaFtrXT0wO3ZhciBtLHA7YSgpO3JldHVybntyZXNldDphLHVwZGF0ZTpjLGRpZ2VzdDpkLGxNOmZ1bmN0aW9uKCl7Zm9yKHZhciBxPWQoKSx1PSIiLHg9MDt4PHEubGVuZ3RoO3grKyl1Kz0iMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KE1hdGguZmxvb3IocVt4XS8xNikpKyIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQocVt4XSUxNik7cmV0dXJuIHV9fX0sYk5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy5VYS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixhTmEoWk1hKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfSxhTmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnJjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksY05hKGUuam9pbigiICIpKTt2YXIgZj1bXSxnPVtdO18ucmMoYywKZnVuY3Rpb24oaCl7Zy5wdXNoKGgua2V5KTtmLnB1c2goaC52YWx1ZSl9KTtjPU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lKCkvMUUzKTtlPWYubGVuZ3RoPT0wP1tjLGIsYV06W2Yuam9pbigiOiIpLGMsYixhXTtfLnJjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSk7YT1jTmEoZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LGNOYT1mdW5jdGlvbihhKXt2YXIgYj0kTWEoKTtiLnVwZGF0ZShhKTtyZXR1cm4gYi5sTSgpLnRvTG93ZXJDYXNlKCl9LGdMPWZ1bmN0aW9uKCl7dGhpcy5xaD1kb2N1bWVudHx8e2Nvb2tpZToiIn19LGhMPWZ1bmN0aW9uKGEpe2E9KGEucWguY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1fLnNFKGFbZl0pO3ZhciBlPWQuaW5kZXhPZigiPSIpO2U9PS0xPyhiLnB1c2goIiIpLGMucHVzaChkKSk6CihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX0sZE5hPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8uVWFbYV0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGE9KG5ldyBnTCkuZ2V0KGIpKTtyZXR1cm4gYT9iTmEoYSxjLGQpOm51bGx9LGVOYT1mdW5jdGlvbihhKXt2YXIgYj1aTWEoXy5VYT8ubG9jYXRpb24uaHJlZiksYz1bXSxkOyhkPV8uVWEuX19TQVBJU0lEfHxfLlVhLl9fQVBJU0lEfHxfLlVhLl9fM1BTQVBJU0lEfHxfLlVhLl9fMVBTQVBJU0lEfHxfLlVhLl9fT1ZFUlJJREVfU0lEKT9kPSEwOih0eXBlb2YgZG9jdW1lbnQhPT0idW5kZWZpbmVkIiYmKGQ9bmV3IGdMLGQ9ZC5nZXQoIlNBUElTSUQiKXx8ZC5nZXQoIkFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8ZC5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpLGQ9ISFkKTtpZihkKXt2YXIgZT0oZD1iPWIuaW5kZXhPZigiaHR0cHM6Iik9PQowfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18uVWEuX19TQVBJU0lEOl8uVWEuX19BUElTSUQ7ZXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChlPW5ldyBnTCxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/Yk5hKGUsZD8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpO2ImJigoYj1kTmEoIl9fMVBTQVBJU0lEIiwiX19TZWN1cmUtMVBBUElTSUQiLCJTQVBJU0lEMVBIQVNIIixhKSkmJmMucHVzaChiKSwoYT1kTmEoIl9fM1BTQVBJU0lEIiwiX19TZWN1cmUtM1BBUElTSUQiLCJTQVBJU0lEM1BIQVNIIixhKSkmJmMucHVzaChhKSl9cmV0dXJuIGMubGVuZ3RoPT0wP251bGw6Yy5qb2luKCIgIil9LGZOYT0KZnVuY3Rpb24oKXt9LGdOYT1mdW5jdGlvbihhKXt0aGlzLnJoPXRoaXMucWg9dm9pZCAwO3RoaXMuc2g9ITE7dGhpcy50aD13aW5kb3c7dGhpcy53aD1hO3RoaXMueGg9Zk5hfSxrTmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oTmErKyxkPU1hdGgubWF4KGEubWVhc3VyZT9hLm1lYXN1cmUubGVuZ3RoOjAsYS53Qj9hLndCLmxlbmd0aDowKSxlPXtpZDpjLE5JOmEubWVhc3VyZSxTSTphLndCLGNvbnRleHQ6YixhcmdzOltdfSxmPWU7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGc9Zi5KRSE9PTA7ZyYmKGY9T2JqZWN0LmFzc2lnbih7SkU6MH0sZSkpO2J8fChmLmNvbnRleHQ9dGhpcyk7Zi5hcmdzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7ZD5hcmd1bWVudHMubGVuZ3RoJiZmLmFyZ3MucHVzaChuZXcgYS5YUCk7ZyYmKGc9aUwsIWEuY0Z8fGpMPT0wfHxhLm1lYXN1cmUmJmpMIT0xfHwoZz0oZysxKSUyKSxpTmFbZ10ucHVzaChmKSk7cmV0dXJuIGpOYShhLndpbmRvdyl9fSwKb05hPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307akw9MTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoOysrZCl7dmFyIGU9YVtkXTt2YXIgZj1lLmFyZ3NbZS5hcmdzLmxlbmd0aC0xXTtmJiZ0eXBlb2YgZj09PSJvYmplY3QiJiYoZi5ub3c9Yik7aWYoZS5OSSl7ZS5KRT0xO3RyeXtlLk5JLmFwcGx5KGUuY29udGV4dCxlLmFyZ3MpfWNhdGNoKGcpe2NbZF09ITAsXy5CYihnKX19fWpMPTI7Zm9yKGQ9MDtkPGEubGVuZ3RoOysrZClpZihlPWFbZF0sKGY9ZS5hcmdzW2UuYXJncy5sZW5ndGgtMV0pJiZ0eXBlb2YgZj09PSJvYmplY3QiJiYoZi5ub3c9YiksIWNbZF0mJmUuU0kpe2UuSkU9Mjt0cnl7ZS5TSS5hcHBseShlLmNvbnRleHQsZS5hcmdzKX1jYXRjaChnKXtfLkJiKGcpfX1rTD4wJiZiPjEmJihhPWIta0wsYTw1MDAmJihsTmErKyxhPjEwMCYmbU5hKyssbk5hPGEmJihuTmE9YSkpKTtrTD1sTC5zaXplJiZiPjE/YjowfSxqTmE9ZnVuY3Rpb24oYSl7aWYoIWxMLmhhcyhhKSl7bEwuc2l6ZXx8CihtTD1uZXcgXy5aSSk7bEwuYWRkKGEpO2xldCBiPW1MLnJlc29sdmU7YS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYz0+e2xMLmNsZWFyKCk7dmFyIGQ9aU5hW2lMXTtpTD0oaUwrMSklMjt0cnl7b05hKGQsYyl9ZmluYWxseXtqTD0wLGQubGVuZ3RoPTB9YigpfSl9cmV0dXJuIG1MLnByb21pc2V9LHBOYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTWFwO2ZvcihsZXQgYyBvZiBPYmplY3Qua2V5cyhhKSliLnNldChhW2NdLnZsLGFbY10ueGwpO3JldHVybiBifSxxTmE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9MDtjPGEucWgubGVuZ3RoOysrYylhLnFoW2NdKGIpfSxuTD1mdW5jdGlvbihhLGIpe2EucWgucHVzaChiKX0sb0w9ZnVuY3Rpb24oYSl7dmFyIGI9ck5hLGM9Xy5oYihhKSxkPShbLC4uLmZdKT0+YihjLGYpLGU9KFtmLC4uLmddKT0+YS5hcHBseShmLGcpO3JldHVybiBmdW5jdGlvbiguLi5mKXt2YXIgZz10aGlzfHxfLlVhLGg9c05hLmdldChnKTtofHwoaD17fSxzTmEuc2V0KGcsCmgpKTtyZXR1cm4gXy5aeWEoaCxbdGhpcywuLi5mXSxlLGQpfX0sck5hPWZ1bmN0aW9uKGEsYil7YT1bYV07Zm9yKGxldCBjPWIubGVuZ3RoLTE7Yz49MDstLWMpYS5wdXNoKHR5cGVvZiBiW2NdLGJbY10pO3JldHVybiBhLmpvaW4oIlx2Iil9LHBMPWZ1bmN0aW9uKGEpe18uR2suY2FsbCh0aGlzKTthfHwoYT10TmF8fCh0TmE9bmV3IF8uQmwpKTt0aGlzLnFoPWE7aWYodGhpcy5yaD10aGlzLlpNKCkpdGhpcy5zaD1fLnZrKHRoaXMucWgucWgsdGhpcy5yaCwoMCxfLmliKSh0aGlzLk1LLHRoaXMpKX0sdU5hPWZ1bmN0aW9uKCl7dGhpcy5yaD0wO3RoaXMucWg9W119LHZOYT1mdW5jdGlvbihhLGIpe2lmKGI+PWEucWgubGVuZ3RoKXRocm93IEVycm9yKCJPdXQgb2YgYm91bmRzIGV4Y2VwdGlvbiIpO3JldHVybiBhLnFoLmxlbmd0aDw1MD9iOihhLnJoK051bWJlcihiKSklNTB9LHdOYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1uZXcgQ29tcHJlc3Npb25TdHJlYW0oImd6aXAiKSxjPQoobmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX0scUw9ZnVuY3Rpb24oYSxiKXthLnFoPWI7YS50aW1lciYmYS5lbmFibGVkPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfSx5TmE9ZnVuY3Rpb24oYSl7Xy5HZyhyTCx4TmEsMSxhKX0sQU5hPWZ1bmN0aW9uKGEsYj16TmEpe2lmKCFzTCl7YT1hLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighYXx8dHlwZW9mIGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxhLmJyYW5kcyYmdHlwZW9mIGEuYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3lOYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+Cnt2YXIgZT1uZXcgeE5hO2U9Xy5paChlLDEsZC5icmFuZCk7cmV0dXJuIF8uaWgoZSwyLGQudmVyc2lvbil9KSk7dHlwZW9mIGEubW9iaWxlPT09ImJvb2xlYW4iJiZfLiRnKHJMLDIsYS5tb2JpbGUpO3NMPWEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoYil9dmFyIGM9bmV3IFNldChiKTtyZXR1cm4gc0wudGhlbihkPT57dmFyIGU9ckwuY2xvbmUoKTtjLmhhcygicGxhdGZvcm0iKSYmXy5paChlLDMsZC5wbGF0Zm9ybSk7Yy5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiZfLmloKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7Yy5oYXMoImFyY2hpdGVjdHVyZSIpJiZfLmloKGUsNSxkLmFyY2hpdGVjdHVyZSk7Yy5oYXMoIm1vZGVsIikmJl8uaWgoZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJl8uaWgoZSw3LGQudWFGdWxsVmVyc2lvbik7cmV0dXJuIGUuamooKX0pLmNhdGNoKCgpPT5yTC5qaigpKX0sQk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtoKGEsMSwxKX0sd0w9ZnVuY3Rpb24oYSwKYil7Xy5FZyhhLnFoLHRMLDEsYik7Xy5QZyhiLDEpfHxCTmEoYik7YS5VcXx8KGI9dUwoYSksXy5IKGIsNSl8fF8uaWgoYiw1LGEubG9jYWxlKSk7YS5zaCYmKGI9dUwoYSksXy5BZyhiLHZMLDkpfHxfLkVnKGIsdkwsOSxhLnNoKSl9LHVMPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQWcoYS5xaCx0TCwxKTtifHwoYj1uZXcgdEwsd0woYSxiKSk7YT1iO2I9Xy5BZyhhLHhMLDExKTtifHwoYj1uZXcgeEwsXy5FZyhhLHhMLDExLGIpKTtyZXR1cm4gYn0sQ05hPWZ1bmN0aW9uKGEsYil7YS5yaD1ifSxFTmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5VcT92b2lkIDA6d2luZG93O2I/QU5hKGIsek5hKS50aGVuKGM9PnthLnNoPUROYShjPz8iW10iKTtjPXVMKGEpO18uRWcoYyx2TCw5LGEuc2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfSx5TD1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn0sCkZOYT1mdW5jdGlvbihhLGIpe2lmKCFhLldoKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06YS5xcj8oKT0+e3dpbmRvdyYmd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2s/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYyx7dGltZW91dDphLklofSk6d2luZG93JiZ3aW5kb3cuc2V0VGltZW91dD93aW5kb3cuc2V0VGltZW91dChjKTphLmZsdXNoKCl9OmN9LHpMPWZ1bmN0aW9uKGEpe2EuQWh8fChhLnNoLmlzRmluYWw9ITAsYS5PaCYmKGEuc2gucmg9MyxHTmEoYSkpLGEuTWgmJihhLnNoLnJoPTIsSE5hKGEpKSxhLmZsdXNoKCksYS5zaC5pc0ZpbmFsPSExKX0sSU5hPWZ1bmN0aW9uKGEpe2EueWh8fChhLnloPXlMKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLnloKSkudG9TdHJpbmcoKX1jYXRjaChiKXtyZXR1cm4obmV3IFVSTChhLnloLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX0sSk5hPWZ1bmN0aW9uKGEsCmIpe2Eud2g9bmV3IF8uZ0koYjwxPzE6YiwzRTUsLjEpO3FMKGEucmgsYS53aC5nZXRWYWx1ZSgpKX0sR05hPWZ1bmN0aW9uKGEpe0tOYShhLDMyLDEwLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPXdpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5qaigpKX1jYXRjaHt9ZHx8KGEuWmg9ITEpO3JldHVybiBkfSl9LExOYT1mdW5jdGlvbihhLGIsYz1udWxsLGQ9YS53aXRoQ3JlZGVudGlhbHMpe3ZhciBlPXt9LGY9bmV3IFVSTChJTmEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5vcyYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEub3MsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5vcykpO2UmJmEuQWgmJkpTT04uc3RyaW5naWZ5KGUpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixTTDoxLE5COmUsQXc6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLApQdzphLlB3fX0sSE5hPWZ1bmN0aW9uKGEpe0tOYShhLDYsNSwoYixjKT0+e2I9bmV3IFVSTChiKTtiLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImJhc2U2NGpzb24iKTtiLnNlYXJjaFBhcmFtcy5zZXQoInAiLF8uJHlhKGMuamooKSwzKSk7Yz1iLnRvU3RyaW5nKCk7aWYoYy5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWM7cmV0dXJuITB9KX0sS05hPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWgubGVuZ3RoIT09MCl7dmFyIGU9bmV3IFVSTChJTmEoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS5BdSgpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsZik7ZS5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5vc3x8IjAiKTtmb3IoZj0wO2Y8YyYmYS5xaC5sZW5ndGg7KytmKXtsZXQgZz1hLnFoLnNsaWNlKDAsYiksaD1hLnNoLlVuKGcsYS50aCxhLnhoLGEuYnYsYS5GaCxhLkRoKTtpZighZChlLnRvU3RyaW5nKCksCmgpKXsrK2EueGg7YnJlYWt9YS50aD0wO2EueGg9MDthLkZoPTA7YS5EaD0wO2EucWg9YS5xaC5zbGljZShnLmxlbmd0aCl9YS5yaC5lbmFibGVkJiZhLnJoLnN0b3AoKX19LFFOYT1mdW5jdGlvbihhKXt2YXIgYj1fLmdjYShfLkpsLnJoKCkpLGM9bmV3IE1OYSh7U3U6MTYyNyxBdTooKT0+bnVsbCxvczpudWxsLGhuOm5ldyBOTmEsbEs6YixVcTohMCxPdjohMSxiRDohMH0pO2MuU2g9ITA7Sk5hKGMsNTAwKTtyZXR1cm4gbmV3IE9OYShiLG5ldyBQTmEoYSksYyl9LFNOYT1mdW5jdGlvbigpe3ZhciBhPV8uSmwsYj1uZXcgUk5hO18ua2goYiwxLDApO3ZhciBjPV8udm0oImdDbGVhcmN1dExvZ2dpbmdFMkVUZXN0SWQiKTtjJiZfLmloKGIsMyxjKTtjPV8uSmw/LnpoKCl8fFtdO2MubGVuZ3RoPjAmJl8ubmcoYiwxMSxjLF8uUWUpO2M9Xy5zbChhKS5yaCgpPT09ImludGVybmFsIjtjPV8uJGcoYiwyLGMpO3ZhciBkPV8uc2woYSkucmgoKTtjPV8uaWgoYyw0LGQpO2Q9YS50aCgpO2M9Xy5paChjLAo1LGQpO2Q9YS54aCgpO2M9Xy5paChjLDYsZCk7YT1OdW1iZXIoXy5PZyhhLDQ0LDEpLnRvRml4ZWQoMikpKjFFNDthPV8uYmgoYywxMCxhKTtfLmloKGEsNyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24uaG9zdHx8d2luZG93LmxvY2F0aW9uLmhvc3QpO3JldHVybiBifSxUTmE9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpO1thLlZCLGEuSnddLmZpbHRlcihiPT5iIT09dm9pZCAwKTtpZihhLlZCKXJldHVybiBhLlZCO2lmKGEuSncpdHJ5e2lmKCFwZXJmb3JtYW5jZSlyZXR1cm4gMDtsZXQgYj1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpO2lmKCFiLmxlbmd0aClyZXR1cm4gMDtsZXQgYz1iLmZpbHRlcihkPT4obmV3IFVSTChkLm5hbWUpKS5ob3N0bmFtZS5pbmNsdWRlcygiZ29vZ2xlIikmJmQubmFtZS5pbmNsdWRlcyhhLkp3KSk7cmV0dXJuIGMubGVuZ3RoPT09MD8wOmMucG9wKCkucmVxdWVzdFN0YXJ0fHwKMH1jYXRjaChiKXtyZXR1cm4gMH1yZXR1cm4gcGVyZm9ybWFuY2Uubm93KCl9LFdNYT1bXTtfLkxuLnByb3RvdHlwZS5Rcj1fLmthKDIwLGZ1bmN0aW9uKCl7cmV0dXJuIF8uc3UodGhpcykudG9TdHJpbmcoKX0pO18uUUEucHJvdG90eXBlLlFyPV8ua2EoMTksZnVuY3Rpb24oKXtyZXR1cm4gXy5IKHRoaXMsMyl9KTtfLlNBLnByb3RvdHlwZS5Rcj1fLmthKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIF8uSCh0aGlzLDE3KX0pO18uS2sucHJvdG90eXBlLklHPV8ua2EoNixmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO18ueWMoV01hLHRoaXMpfSk7CnZhciB0TmEsVU5hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sVk5hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sV05hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWE5hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sQUw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxCTD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDIzMyl9Z2V0VmlzaWJsZSgpe3JldHVybiBfLlBnKHRoaXMsNil9c2V0VmlzaWJsZShhKXtyZXR1cm4gXy5raCh0aGlzLDYsYSl9a2ooYSl7cmV0dXJuIF8uaWgodGhpcywxNyxhKX1wbCgpe3JldHVybiBfLnB1KHRoaXMsMTcpfX07Xy5hYT1nTC5wcm90b3R5cGU7Xy5hYS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighXy5VYS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtLSTo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpfLmFhLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBnPWMucGF0aHx8dm9pZCAwO3ZhciBoPWMuS0l9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgbmFtZSAiJythKyciJyk7aWYoL1s7XHJcbl0vLnRlc3QoYikpdGhyb3cgRXJyb3IoJ0ludmFsaWQgY29va2llIHZhbHVlICInK2IrJyInKTtoPT09dm9pZCAwJiYoaD0tMSk7Yz1mPyI7ZG9tYWluPSIrZjoiIjtnPWc/IjtwYXRoPSIrZzoiIjtkPWQ/IjtzZWN1cmUiOiIiO2g9aDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCk7dGhpcy5xaC5jb29raWU9YSsiPSIrYitjK2craCtkKyhlIT1udWxsPwoiO3NhbWVzaXRlPSIrZToiIil9O18uYWEuZ2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9YSsiPSIsZD0odGhpcy5xaC5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgZT0wLGY7ZTxkLmxlbmd0aDtlKyspe2Y9Xy5zRShkW2VdKTtpZihmLmxhc3RJbmRleE9mKGMsMCk9PTApcmV0dXJuIGYuc2xpY2UoYy5sZW5ndGgpO2lmKGY9PWEpcmV0dXJuIiJ9cmV0dXJuIGJ9O18uYWEucmVtb3ZlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmdldChhKSE9PXZvaWQgMDt0aGlzLnNldChhLCIiLHtLSTowLHBhdGg6Yixkb21haW46Y30pO3JldHVybiBkfTtfLmFhLlJzPWZ1bmN0aW9uKCl7cmV0dXJuIGhMKHRoaXMpLmtleXN9O18uYWEuSm09ZnVuY3Rpb24oKXtyZXR1cm4gaEwodGhpcykudmFsdWVzfTtfLmFhLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5xaC5jb29raWV9OwpfLmFhLmxrPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWguY29va2llPyh0aGlzLnFoLmNvb2tpZXx8IiIpLnNwbGl0KCI7IikubGVuZ3RoOjB9O18uYWEuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgYT1oTCh0aGlzKS5rZXlzO2ZvcihsZXQgYj1hLmxlbmd0aC0xO2I+PTA7Yi0tKXRoaXMucmVtb3ZlKGFbYl0pfTt0cnl7bGV0IGE9d2luZG93Py50b3A/P18uVWE7YS5VM2JISGY/PyhhLlUzYkhIZj0wKTthLlUzYkhIZisrfWNhdGNoKGEpe18uVWEuVTNiSEhmPz8oXy5VYS5VM2JISGY9MCksXy5VYS5VM2JISGYrK307aWYoXy5VYT8uU3ltYm9sPy5mb3Ipe3ZhciBZTmE9U3ltYm9sLmZvcigiZ29vZ2xlLmdvZW0iKTtfLlVhW1lOYV18fChfLlVhW1lOYV09bmV3IFdlYWtNYXApfTt2YXIgbE5hPTE7dmFyIGlOYT1bW10sW11dLGlMPTAsbEw9bmV3IFNldCxtTD1udWxsLGtMPTAsbU5hPTAsbk5hPTAsakw9MCxoTmE9MDtfLmFhPWdOYS5wcm90b3R5cGU7Xy5hYS5tZWFzdXJlPWZ1bmN0aW9uKGEpe3RoaXMucWg9YTtyZXR1cm4gdGhpc307Xy5hYS53Qj1mdW5jdGlvbihhKXt0aGlzLnJoPWE7cmV0dXJuIHRoaXN9O18uYWEuY0Y9ZnVuY3Rpb24oKXt0aGlzLnNoPSEwO3JldHVybiB0aGlzfTtfLmFhLndpbmRvdz1mdW5jdGlvbihhKXt0aGlzLnRoPWE7cmV0dXJuIHRoaXN9O18uYWEuVW49ZnVuY3Rpb24oKXtyZXR1cm4ga05hKHttZWFzdXJlOnRoaXMucWgsd0I6dGhpcy5yaCxYUDp0aGlzLnhoLHdpbmRvdzp0aGlzLnRoLGNGOnRoaXMuc2h9LHRoaXMud2gpfTt2YXIgQ0w9e0FSUk9XX0tFWVM6e3ZsOiJhcnJvd19rZXlzIix4bDoiV3huN3ViIn0sQVVUT01BVEVEOnt2bDoiYXV0b21hdGVkIix4bDoid2pwTFljIn0sQ0xJQ0s6e3ZsOiJjbGljayIseGw6ImNPdUNnZCJ9LERSQUdFTkQ6e3ZsOiJkcmFnZW5kIix4bDoiUmxEM1cifSxEUk9QOnt2bDoiZHJvcCIseGw6IkRhWTgzYiJ9LEdFTkVSSUNfQ0xJQ0s6e3ZsOiJnZW5lcmljX2NsaWNrIix4bDoic3pKZ2pjIn0sSE9WRVI6e3ZsOiJob3ZlciIseGw6IlptZGtFIn0sSU1QUkVTU0lPTjp7dmw6ImltcHJlc3Npb24iLHhsOiJ4cjZiQiJ9LEtFWUJPQVJEX0VOVEVSOnt2bDoia2V5Ym9hcmRfZW50ZXIiLHhsOiJTWWhIOWQifSxLRVlQUkVTUzp7dmw6ImtleXByZXNzIix4bDoiS3IydzRiIn0sTE9OR19QUkVTUzp7dmw6ImxvbmdfcHJlc3MiLHhsOiJ0ZlNOVmIifSxNT1VTRU9WRVI6e3ZsOiJtb3VzZW92ZXIiLHhsOiJGcmZFM2IifSxSSUdIVF9DTElDSzp7dmw6InJpZ2h0Y2xpY2siLHhsOiJDWVFtemUifSwKU0NST0xMOnt2bDoic2Nyb2xsIix4bDoiWHVIcHNiIn0sU1dJUEU6e3ZsOiJzd2lwZSIseGw6ImV0ZWVkYiJ9LFZJUzp7dmw6InZpcyIseGw6IkhrZ0JzZiJ9fSxaTmE9cE5hKENMKSwkTmE9bmV3IE1hcDtmb3IobGV0IGEgb2YgT2JqZWN0LmtleXMoQ0wpKSROYS5zZXQoQ0xbYV0ueGwsQ0xbYV0udmwpO3BOYSh7VFJBQ0s6e3ZsOiJ0cmFjayIseGw6InUwMTROIn0sSU5ERVg6e3ZsOiJpbmRleCIseGw6ImNRWVNQYyJ9LE1VVEFCTEU6e3ZsOiJtdXRhYmxlIix4bDoiZFlGajdlIn0sQ09NUE9ORU5UX0lEOnt2bDoiY2lkIix4bDoiY091eXEifSxURVNUX0NPREU6e3ZsOiJ0YyIseGw6IkRNNkV6ZSJ9fSk7Xy5UclsxNTg3MjA1Ml09Xy5xQTt2YXIgUE5hPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX1tRyhhKXt2YXIgYj10aGlzLnFoLmpqKCk7Xy5paChhLDgsYil9cmgoKXt9c2goKXt9fTt2YXIgREw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5yaD1hO3RoaXMucWg9W107dGhpcy5zaD1bXX19O3ZhciBhT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRUw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxKX19O3ZhciBiT2E9Xy5YaSgxODcsRUwsYU9hKTt2YXIgRkw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxNyl9fSxjT2E9Xy5UbGEoRkwpO3ZhciBkT2E9Y2xhc3MgZXh0ZW5kcyBETHtHSihhKXtuTCh0aGlzLGI9PntpZihjT2EoYikpe2xldCBjPW5ldyBFTDtfLmF2KGMsYk9hLGEpO18uRWcoYixFTCwxNSxjKX19KX19O3ZhciBHTD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBlT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw3KX1nZXRUaW1lKCl7cmV0dXJuIF8uQWcodGhpcyxfLmJyLDEpfWdldFN0YXR1cygpe3JldHVybiBfLkFnKHRoaXMsR0wsNil9fTt2YXIgZk9hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGdPYT1fLlhpKDEyMCxFTCxmT2EpO3ZhciBoT2E9Y2xhc3MgZXh0ZW5kcyBETHtHSihhKXtuTCh0aGlzLGI9PntpZihiIGluc3RhbmNlb2YgRkwpe2xldCBjPW5ldyBFTDtfLmF2KGMsZ09hLGEpO18uRWcoYixFTCwxNSxjKX19KX19O3ZhciBpT2E9Y2xhc3N7cWgoKXtyZXR1cm5bXX19O18uVHJbNDE1NjM3OV09Xy5Eejt2YXIgak9hPTAsSEw9dm9pZCAwO3ZhciBrT2E9Y2xhc3MgZXh0ZW5kcyBfLm5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoInZpc2liaWxpdHljaGFuZ2UiKTt0aGlzLmhpZGRlbj1hO3RoaXMudmlzaWJpbGl0eVN0YXRlPWJ9fTt2YXIgc05hPW5ldyBXZWFrTWFwO18ucWIocEwsXy5Hayk7Xy5hYT1wTC5wcm90b3R5cGU7Xy5hYS5aTT1vTChmdW5jdGlvbigpe3ZhciBhPXRoaXMuakIoKSxiPXRoaXMuTEEoKSE9ImhpZGRlbiI7aWYoYSl7dmFyIGM7Yj9jPSgoXy5oRigpfHwiIikrInZpc2liaWxpdHljaGFuZ2UiKS50b0xvd2VyQ2FzZSgpOmM9InZpc2liaWxpdHljaGFuZ2UiO2E9Y31lbHNlIGE9bnVsbDtyZXR1cm4gYX0pO18uYWEuTEE9b0woZnVuY3Rpb24oKXtyZXR1cm4gWU1hKCJoaWRkZW4iLHRoaXMucWgucWgpfSk7Xy5hYS5qTj1vTChmdW5jdGlvbigpe3JldHVybiBZTWEoInZpc2liaWxpdHlTdGF0ZSIsdGhpcy5xaC5xaCl9KTtfLmFhLmpCPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkxBKCl9O18uYWEuTUs9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmpCKCk/dGhpcy5xaC5xaFt0aGlzLmpOKCldOm51bGw7YT1uZXcga09hKCEhdGhpcy5xaC5xaFt0aGlzLkxBKCldLGEpO3RoaXMuZGlzcGF0Y2hFdmVudChhKX07Cl8uYWEuQms9ZnVuY3Rpb24oKXtfLkFrKHRoaXMuc2gpO3BMLmlyLkJrLmNhbGwodGhpcyl9O3ZhciBtT2E9Y2xhc3MgZXh0ZW5kcyBfLiRre2NvbnN0cnVjdG9yKGEsYixjKXsoe2dBOmUsQ006ZD0hMX09e0NNOiExLGdBOnZvaWQgMCxVVDohMX0pO3ZhciBkLGU7c3VwZXIoKTt0aGlzLnhoPWE7dGhpcy5yaD1jO3RoaXMuQWg9ZDt0aGlzLkRoPWJ8fG5ldyBsT2E7dGhpcy5DaCgpO3RoaXMuRmg9bmV3IHBMO3RoaXMuQmg9KG5ldyBnTmEodGhpcykpLm1lYXN1cmUoZT8oKT0+ZSgpLnRoZW4odGhpcy55aC5iaW5kKHRoaXMpKTp0aGlzLnloKS5jRigpLlVuKCk7bmV3IF8uT0IodGhpcy5CaCw1MDAsdGhpcyk7dGhpcy54aCBpbnN0YW5jZW9mIGlPYSYmKHRoaXMudGg9dGhpcy54aCl9bG9nKGEpe3RoaXMucmgmJnRoaXMucmgudHUoYSk7Xy5HZShfLk9mKGEsMTEsdm9pZCAwLF8uU0RhKSl9Z2V0TWV0YWRhdGEoYSxiKXt2YXIgYz1uZXcgQkw7cU5hKGEucWgsYyk7Zm9yKGE9MDthPGIubGVuZ3RoOysrYSlxTmEoYlthXS5xaCxjKTtyZXR1cm4gY315aCgpe3RoaXMuRmguTEEoKX1DaCgpe2lmKHRoaXMuQWgpaWYoWk5hLmhhcygiZ2VuZXJpY19jbGljayIpKVpOYS5nZXQoImdlbmVyaWNfY2xpY2siKTsKZWxzZSB0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIEV2ZW50TGFiZWwgZ2VuZXJpY19jbGljay4iKTt9fTt2YXIgbk9hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG9PYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBxT2E9Y2xhc3N7Y29uc3RydWN0b3IoKXtwT2ErK319LHBPYT0wO3ZhciBsT2E9Y2xhc3N7c2goKXt9bUcoKXt9cmgoKXt9fTt2YXIgSUw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSkw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgck9hPV8uWGkoMTI2LEVMLEpMKTt2YXIgc09hPV8uWGkoNjE4LEJMLEpMKTtfLiR6WzYxOF09WzAsWzAsXy5aeV1dO18uJHpbMjczXT1bLTIse30sXy5SXTtfLmFhPXVOYS5wcm90b3R5cGU7Xy5hYS5hZGQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5xaFt0aGlzLnJoXTt0aGlzLnFoW3RoaXMucmhdPWE7dGhpcy5yaD0odGhpcy5yaCsxKSU1MDtyZXR1cm4gYn07Xy5hYS5nZXQ9ZnVuY3Rpb24oYSl7YT12TmEodGhpcyxhKTtyZXR1cm4gdGhpcy5xaFthXX07Xy5hYS5zZXQ9ZnVuY3Rpb24oYSxiKXthPXZOYSh0aGlzLGEpO3RoaXMucWhbYV09Yn07Xy5hYS5saz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnFoLmxlbmd0aH07Xy5hYS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RoPT0wfTtfLmFhLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5yaD10aGlzLnFoLmxlbmd0aD0wfTtfLmFhLkptPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5saygpLGI9dGhpcy5saygpLGM9dGhpcy5saygpLWE7Zm9yKGE9W107YzxiO2MrKylhLnB1c2godGhpcy5nZXQoYykpO3JldHVybiBhfTsKXy5hYS5Scz1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5saygpO2ZvcihsZXQgYz0wO2M8YjtjKyspYVtjXT1jO3JldHVybiBhfTt2YXIgdE9hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldEtleSgpe3JldHVybiBfLkgodGhpcywxKX1nZXRWYWx1ZSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRWYWx1ZShhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTt2YXIgdU9hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHZPYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB3T2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw0KX19O3ZhciBLTD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDM3KX1zZXRWYWx1ZShhLGIpe3JldHVybiBfLiRmKHRoaXMsMyx0T2EsYSxiKX19O3ZhciB5T2E9Y2xhc3MgZXh0ZW5kcyBpT2F7Y29uc3RydWN0b3IoKXt2YXIgYT14T2E7c3VwZXIoKTt0aGlzLnJoPWE7dGhpcy5zaD1uZXcgdU5hfXFoKGEpe3ZhciBiPW5ldyBGTCxjPV8uYmgoYiwxLGEucmgpO18uYmgoYywzLDEpO2lmKGEucWgubGVuZ3RoPjApZm9yKHZhciBkIG9mIGEucWgpZChiKTtjPURhdGUubm93KCk7Yz1OdW1iZXIuaXNGaW5pdGUoYyk/Yy50b1N0cmluZygpOnZvaWQgMDtpZihiIGluc3RhbmNlb2YgRkwmJighXy5BZyhiLEVMLDE1KXx8IV8uQWcoYixFTCwxNSkuZ2V0RXh0ZW5zaW9uKHJPYSkpKXtkPW5ldyBKTDt2YXIgZT1uZXcgSUw7bGV0IGY9Xy5BZyhiLEVMLDE1KTtmfHwoZj1uZXcgRUwpO2ZMKGUsMSxjKTtfLkVnKGQsSUwsMSxlKTtfLmF2KGYsck9hLGQpO18uRWcoYixFTCwxNSxmKX1iIGluc3RhbmNlb2YgQkwmJihkPW5ldyBKTCxlPW5ldyBJTCxmTChlLDEsYyksXy5FZyhkLElMLDEsZSksXy5hdihiLHNPYSxkKSk7SEx8fChjPUhMPW5ldyBYTmEsCmQ9RGF0ZS5ub3coKSoxRTMrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFFMyksXy5vRShjLDEsZCksXy5kaChITCwyLDApLF8uZGgoSEwsMywwKSxqT2E9MCk7Yz1uZXcgQUw7Yz1fLkVnKGMsWE5hLDEsSEwpO2Q9KytqT2E7ZD1fLm9FKGMsMixkKTtjPW5ldyBvT2E7Xy5FZyhjLEFMLDEsZCk7ZD1uZXcgbk9hO18uRWcoZCxBTCwxLHZvaWQgMCk7Xy5FZyhjLEZMLDQsYik7Xy5FZyhjLG5PYSw5LGQpO3RoaXMuc2guYWRkKG5ldyBxT2EpO3RoaXMucmgoIlNlbWFudGljIEV2ZW50IixjKTtiPW5ldyBLTDtfLm5nKGIsMjAsYS5zaCxfLkZlKTthPWMuamooKTtfLmloKGIsMjQsYSk7cmV0dXJuW2JdfX0seE9hPWE9PmErIjoiK0pTT04uc3RyaW5naWZ5KG51bGwsbnVsbCwxKS5yZXBsYWNlKC8iL2csIiIpO3ZhciB6T2E9Y2xhc3N7akIoYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn19O3ZhciBBT2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPWE7dGhpcy5OaT1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLnJoPSgpPT5fLm1iKCk7dGhpcy5zaD10aGlzLnJoKCl9c3RhcnQoKXt0aGlzLmVuYWJsZWQ9ITA7dGhpcy50aW1lcnx8KHRoaXMudGltZXI9c2V0VGltZW91dCgoKT0+e3RoaXMudGljaygpfSx0aGlzLnFoKSx0aGlzLnNoPXRoaXMucmgoKSl9c3RvcCgpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgYT1NYXRoLm1heCh0aGlzLnJoKCktdGhpcy5zaCwwKTthPHRoaXMucWgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMucWgtYSk6KHRoaXMudGltZXImJihjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy50aW1lcj12b2lkIDApLHRoaXMuTmkoKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSwKdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBCT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9U0EoKXtyZXR1cm4gXy5QZyh0aGlzLDEpfX07dmFyIHhOYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLkgodGhpcywyKX19O3ZhciB2TD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LEROYT1fLmJqKHZMKTt2YXIgeEw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgQ09hPVswLF8uVSwtMSxfLlosXy5VLC0xLF8uWixfLlUsLTEsWzAsXy5ZLFswLF8uVSwtMV0sXy5SLF8uVSwtNV0sWzAsXy5aLF8uUixfLlAsLTJdXTt2YXIgek5hPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxyTD1uZXcgdkwsc0w9bnVsbDt2YXIgRE9hPVswLF8uVSxfLlosMSxfLlUsLTEsXy5aLDEsXy5aLDEsXy52cl07dmFyIEVPYT1bMCxfLlosXy5VLC0yXTt2YXIgRk9hPVswLF8uVSxfLlpdO3ZhciBHT2E9WzAsXy5VLF8uWl07dmFyIEhPYT1bMCxfLlIsLTNdO3ZhciBJT2E9WzAsXy5aLF8uVSwtMSxfLnZyLF8uUCwtMSxfLlUsLTUsXy5ZLFswLF8uVSwtNF0sLTEsXy5SLFswLF8uUiwtM10sXy5aXTt2YXIgdEw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLlRyWzY2MzIxNjg3XT1bMCxfLlosMSxbMCxfLlUsLTYsXy52cixfLlAsXy5VLC0xLF8udnJdLDEsWzAsXy5VLDEsXy5VLC01XSxfLlUsLTEsWzAsXy5aLF8uVSwtOF0sWzAsXy5VLC0zXSxbMCxfLlUsXy5aLF8uVSwtMl0sQ09hLF8udnIsWzAsXy5VLC0zLF8udnIsXy5QLF8uVSwtMV0sWzAsXy5aLF8uVSwtMV0sWzAsXy5VLC05XSxbMCxfLlUsLTYsXy5aLF8uVSwxLF8uVSxfLlIsXy5aLC0xLF8uUixfLlUsLTIsXy5aLF8uVSxfLlosXy5VLF8uUCwtMV0sMSxbMCxfLlpdLDEsWzAsXy5VLC00XSwxLERPYSxbMCxbMSwyLDMsNCw1LDZdLF8ubXosRE9hLF8ubXosRk9hLF8ubXosR09hLF8ubXosWzAsXy5aXSxfLm16LElPYSxfLm16LEVPYV0sRk9hLEdPYSxJT2EsWzAsWzAsXy5aLF8uVSwtMSxfLnZyLF8uUCwtMSxfLlUsLTQsXy5ZLFswLF8uVSwtNF0sLTEsMSxIT2FdLFswLF8uWixfLlUsLTEsXy52cixfLlAsLTEsXy5VLC00LEhPYV1dLEVPYSxbMCxfLlUsWzAsXy5QLC0zLF8uWl0sCl8uWiwtMixbMCxfLlAsLTFdLF8uUl0sNCxbMCxfLlUsXy5aLF8uVSwtMSxfLnZyLF8uWixfLlUsLTEsXy5aLF8uUCwtMV1dO3ZhciBKT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9eHooYSl7cmV0dXJuIF8ua2godGhpcywyLGEpfX07dmFyIEtPYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEpe3RoaXMuVXE9Yjt0aGlzLnNoPXRoaXMubG9jYWxlPW51bGw7dGhpcy5yaD0wO3RoaXMuaXNGaW5hbD0hMTt0aGlzLnFoPW5ldyBKT2E7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5xaC54eihhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt3TCh0aGlzLG5ldyB0TCl9eHooYSl7dGhpcy5xaC54eihhKTtyZXR1cm4gdGhpc31VbihhLGI9MCxjPTAsZD1udWxsLGU9MCxmPTApe2lmKCF0aGlzLlVxKXt2YXIgZz11TCh0aGlzKTt2YXIgaD1uZXcgQk9hO2g9Xy5raChoLDEsdGhpcy5yaCk7aD1fLiRnKGgsMix0aGlzLmlzRmluYWwpO2M9Xy5iaChoLDMsYz4wP2M6dm9pZCAwKTtlPV8uYmgoYyw0LGU+MD9lOnZvaWQgMCk7Zj1fLmJoKGUsNSxmPjA/Zjp2b2lkIDApLndoKCk7Xy5FZyhnLEJPYSwxMCxmKX1nPXRoaXMucWguY2xvbmUoKTtmPURhdGUubm93KCkudG9TdHJpbmcoKTsKZz1mTChnLDQsZik7YT1fLkdnKGcsS0wsMyxhLnNsaWNlKCkpO2QmJihnPW5ldyB1T2EsZD1fLmJoKGcsMTMsZCksZz1uZXcgdk9hLGQ9Xy5FZyhnLHVPYSwyLGQpLGc9bmV3IHdPYSxkPV8uRWcoZyx2T2EsMSxkKSxkPV8ua2goZCwyLDkpLF8uRWcoYSx3T2EsMTgsZCkpO2ImJl8ub0UoYSwxNCxiKTtyZXR1cm4gYX19O3ZhciBMT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw4KX19LE1PYT1fLmJqKExPYSk7dmFyIE5PYT1fLlhpKDE3NTIzNzM3NSxMT2EsY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE1OYT1jbGFzcyBleHRlbmRzIF8ubWt7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFqPSIiO3RoaXMucWg9W107dGhpcy5iaT0iIjt0aGlzLk1oPXRoaXMuT2g9dGhpcy5BaD0hMTt0aGlzLmRpPXRoaXMuR2g9LTE7dGhpcy5TaD0hMTt0aGlzLkNoPXRoaXMuQmg9bnVsbDt0aGlzLnhoPXRoaXMudGg9MDt0aGlzLnFyPSExO3RoaXMuSWg9dm9pZCAwO3RoaXMuRGg9dGhpcy5GaD0wO3RoaXMubmk9MTt0aGlzLlB3PTA7dGhpcy5TdT1hLlN1O3RoaXMuQXU9YS5BdXx8KCgpPT57fSk7dGhpcy5zaD1uZXcgS09hKGEuU3UsYS5VcSk7dGhpcy5obj1hLmhufHxudWxsO3RoaXMuYnY9YS5idnx8bnVsbDt0aGlzLnloPWEubEt8fG51bGw7dGhpcy5vcz1hLm9zfHxudWxsO3RoaXMuT3Y9YS5Pdnx8ITE7dGhpcy5yaT1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLmJEO3RoaXMuVXE9YS5VcXx8ITE7dGhpcy5aaD0hdGhpcy5VcSYmISF3aW5kb3cmJiEhd2luZG93Lm5hdmlnYXRvciYmCndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbiE9PXZvaWQgMDt0aGlzLldoPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMhPT0idW5kZWZpbmVkIiYmISEobmV3IFVSTCh5TCgpKSkuc2VhcmNoUGFyYW1zJiYhIShuZXcgVVJMKHlMKCkpKS5zZWFyY2hQYXJhbXMuc2V0O3ZhciBiPUJOYShuZXcgdEwpO3dMKHRoaXMuc2gsYik7dGhpcy53aD1uZXcgXy5nSSgxRTQsM0U1LC4xKTthPUZOYSh0aGlzLGEuZ0EpO3RoaXMucmg9bmV3IEFPYSh0aGlzLndoLmdldFZhbHVlKCksYSk7dGhpcy5QaD1uZXcgQU9hKDZFNSxhKTt0aGlzLk92fHx0aGlzLlBoLnN0YXJ0KCk7dGhpcy5VcXx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgpPT57ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09ImhpZGRlbiImJnpMKHRoaXMpfSksd2luZG93Py5hZGRFdmVudExpc3RlbmVyPy4oInBhZ2VoaWRlIiwoKT0+e3pMKHRoaXMpfSkpfUJrKCl7ekwodGhpcyk7dGhpcy5yaC5zdG9wKCk7CnRoaXMuUGguc3RvcCgpO3N1cGVyLkJrKCl9dHUoYSl7aWYoYSBpbnN0YW5jZW9mIEtMKXRoaXMubG9nKGEpO2Vsc2UgdHJ5e3ZhciBiPW5ldyBLTCxjPWEuamooKTt2YXIgZD1fLmloKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLldoKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLm5pKys7YT1fLm9FKGEsMjEsYik7dGhpcy5xaiYmXy5paChhLDI2LHRoaXMucWopO2I9YTtpZihfLlhlKF8uT2YoYiwxKSk9PW51bGwpe3ZhciBjPURhdGUubm93KCk7Yz1OdW1iZXIuaXNGaW5pdGUoYyk/Yy50b1N0cmluZygpOiIwIjtmTChiLDEsYyl9Xy53RShiLDE1KSE9bnVsbHx8Xy5vRShiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5CaCYmKGM9dGhpcy5CaC5jbG9uZSgpLF8uRWcoYixXTmEsMTYsYykpO2I9dGhpcy5xaC5sZW5ndGgtMUUzKzE7Yj4wJiYodGhpcy5xaC5zcGxpY2UoMCxiKSx0aGlzLnRoKz1iKTt0aGlzLnFoLnB1c2goYSk7CnRoaXMuT3Z8fHRoaXMucmguZW5hYmxlZHx8dGhpcy5yaC5zdGFydCgpfX1mbHVzaChhLGIpe2lmKHRoaXMucWgubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgYz1EYXRlLm5vdygpO2lmKHRoaXMuZGk+YyYmdGhpcy5HaDxjKWImJmIoInRocm90dGxlZCIpO2Vsc2V7dGhpcy5obiYmKHR5cGVvZiB0aGlzLmhuLlNBPT09ImZ1bmN0aW9uIj9DTmEodGhpcy5zaCx0aGlzLmhuLlNBKCkpOnRoaXMuc2gucmg9MCk7dmFyIGQ9dGhpcy5zaC5Vbih0aGlzLnFoLHRoaXMudGgsdGhpcy54aCx0aGlzLmJ2LHRoaXMuRmgsdGhpcy5EaCksZT10aGlzLkF1KCk7aWYoZSYmdGhpcy5iaT09PWUpYiYmYigic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2UgaWYodGhpcy5xaD1bXSx0aGlzLnJoLmVuYWJsZWQmJnRoaXMucmguc3RvcCgpLHRoaXMudGg9MCx0aGlzLkFoKWQuamooKSxhJiZhKCk7ZWxzZXtjPWQuamooKTtsZXQgZjt0aGlzLkNoJiZ0aGlzLkNoLmpCKGMubGVuZ3RoKSYmKGY9d05hKGMpKTtsZXQgZz0KTE5hKHRoaXMsYyxlKSxoPXA9Pnt0aGlzLndoLnJlc2V0KCk7cUwodGhpcy5yaCx0aGlzLndoLmdldFZhbHVlKCkpO2lmKHApe3ZhciBxPW51bGw7dHJ5e2xldCB1PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3E9TU9hKHUpfWNhdGNoKHUpe31xJiYocD1OdW1iZXIoXy5OZyhxLDEsXy5kZSgiLTEiKSkpLHA+MCYmKHRoaXMuR2g9RGF0ZS5ub3coKSx0aGlzLmRpPXRoaXMuR2grcCkscT1xLnFoKE5PYSkpJiYocT1fLktnKHEsMSwtMSkscSE9PS0xJiYodGhpcy5TaHx8Sk5hKHRoaXMscSkpKX1hJiZhKCk7dGhpcy54aD0wfSxrPShwLHEpPT57dmFyIHU9Xy5DZyhkLEtMLDMpO3ZhciB4PU51bWJlcihfLk5nKGQsMTQpKTtfLm1EYSh0aGlzLndoKTtxTCh0aGlzLnJoLHRoaXMud2guZ2V0VmFsdWUoKSk7cD09PTQwMSYmZSYmKHRoaXMuYmk9ZSk7eCYmKHRoaXMudGgrPXgpO3E9PT12b2lkIDAmJihxPTUwMDw9cCYmcDw2MDB8fHA9PT00MDF8fApwPT09MCk7cSYmKHRoaXMucWg9dS5jb25jYXQodGhpcy5xaCksdGhpcy5Pdnx8dGhpcy5yaC5lbmFibGVkfHx0aGlzLnJoLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7Kyt0aGlzLnhofSxtPSgpPT57dGhpcy5obiYmdGhpcy5obi5zZW5kKGcsaCxrKX07Zj9mLnRoZW4ocD0+e2cuTkJbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Zy5OQlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7Zy5ib2R5PXA7Zy5TTD0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19fTt2YXIgT09hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zTD10eXBlb2YgQWJvcnRDb250cm9sbGVyIT09InVuZGVmaW5lZCJ9YXN5bmMgc2VuZChhLGIsYyl7dmFyIGQ9dGhpcy5zTD9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQmJmEuUHc+MD9zZXRUaW1lb3V0KCgpPT57ZC5hYm9ydCgpfSxhLlB3KTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5BdyxoZWFkZXJzOnsuLi5hLk5CfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS5QdyYmZD9kLnNpZ25hbDpudWxsfSk7Zi5zdGF0dXM9PT0yMDA/Yj8uKGF3YWl0IGYudGV4dCgpKTpjPy4oZi5zdGF0dXMpfWNhdGNoKGYpe3N3aXRjaChmPy5uYW1lKXtjYXNlICJBYm9ydEVycm9yIjpjPy4oNDA4KTticmVhaztkZWZhdWx0OmM/Lig0MDApfX1maW5hbGx5e2NsZWFyVGltZW91dChlKX19U0EoKXtyZXR1cm4gNH19O3ZhciBQT2E9Y2xhc3MgZXh0ZW5kcyBfLm1re2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLlN1PTE2Mjc7dGhpcy5vcz0iMCI7dGhpcy5yaD0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5obj1udWxsO3RoaXMucWo9IiI7dGhpcy5idj1udWxsO3RoaXMuc2g9ITE7dGhpcy5xaD12b2lkIDA7dGhpcy5yaT1udWxsfWJEKCl7dGhpcy50aD0hMDtyZXR1cm4gdGhpc31xcihhKXt0aGlzLnNoPSEwO3RoaXMucWg9YTtyZXR1cm4gdGhpc31Vbigpe3RoaXMuaG58fCh0aGlzLmhuPW5ldyBPT2EpO3ZhciBhPW5ldyBNTmEoe1N1OnRoaXMuU3UsQXU6dGhpcy5BdT90aGlzLkF1OmVOYSxvczp0aGlzLm9zLGxLOnRoaXMucmgsVXE6ITEsT3Y6ITEsYkQ6dGhpcy50aCxnQTp0aGlzLmdBLGhuOnRoaXMuaG59KTtfLmdFKHRoaXMsYSk7YS5DaD1uZXcgek9hO3RoaXMucWomJihhLnFqPXRoaXMucWopO3RoaXMuYnYmJihhLmJ2PXRoaXMuYnYpOwpFTmEoYS5zaCk7aWYodGhpcy5zaCl7dmFyIGI9dGhpcy5xaDthLnFyPSEwO2EuSWg9Yn10aGlzLmhuLnh6JiZ0aGlzLmhuLnh6KHRoaXMuU3UpO3RoaXMuaG4uTFAmJnRoaXMuaG4uTFAoYSk7cmV0dXJuIGF9fTt2YXIgT05hPWNsYXNzIGV4dGVuZHMgbU9he2NvbnN0cnVjdG9yKGEsYixjKXt2YXIgZD1uZXcgeU9hO2N8fChjPW5ldyBQT2EsYSYmKGMucmg9YSksYz1jLlVuKCkpO3N1cGVyKGQsYnx8bnVsbCxjKTt0aGlzLnNoPWM7dGhpcy5zaC5BaD0hMTthPXRoaXMuc2g7YS5PaD1hLlpoO3RoaXMuc2guTWg9ITB9fTt2YXIgTEw9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxRT2E9Xy5iaihMTCk7dmFyIFJPYT1fLlhpKDE5NCxFTCxMTCk7dmFyIFJOYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLkgodGhpcyw0KX19O3ZhciBTT2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0SW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKGEpe3JldHVybiBfLlZnKHRoaXMsMyxhKX1Rcigpe3JldHVybiBfLkgodGhpcyw0KX19O3ZhciBUT2E9Xy5YaSgxODksRUwsU09hKTt2YXIgTk5hPWNsYXNze3NlbmQoYSxiPSgpPT57fSxjPSgpPT57fSl7WE1hKGEudXJsLGQ9PntkPWQudGFyZ2V0O18uT2soZCk/YihkLlJyKCkpOmMoZC5nZXRTdGF0dXMoKSl9LGEuQXcsYS5ib2R5LGEuTkIsYS5QdyxhLndpdGhDcmVkZW50aWFscyl9U0EoKXtyZXR1cm4gMX19O3ZhciBVT2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50aD1hO3RoaXMucWg9bmV3IE1hcH1zaChhLGIpe2ZvcihsZXQgYyBvZiBiLm1ldGFkYXRhfHxbXSlfLmZJKExMKShjKSYmXy5hdihhLFJPYSxjKTtmb3IobGV0IGMgb2YgYi5zZXJpYWxpemVkSm91cm5leVNoYXJpbmdNZXRhZGF0YXx8W10pXy5hdihhLFJPYSxRT2EoYykpfXJoKGEsYil7bkwoYSxjPT57aWYoY09hKGMpKXtsZXQgZz1uZXcgRUw7dmFyIGQ9ZztpZihiLkhJfHxiLmZvcmNlMTAwUGVyY2VudFNhbXBsZWRMb2c9PT0hMHx8Yi5GSD09PSEwfHxiLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyYmYi5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMubGVuZ3RoIT09MCl7dmFyIGU9bmV3IFNPYSxmPWIuSEk7ZiYmXy5paChlLDQsZik7Yi5mb3JjZTEwMFBlcmNlbnRTYW1wbGVkTG9nPT09ITAmJl8uYmgoZSwyLDFFNCk7Yi5GSD09PSEwJiZfLmtoKGUsMSwyKTtiLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyYmCl8uekUoZSwzLGIuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKTtfLmF2KGQsVE9hLGUpfXRoaXMuc2goZyxiKTtfLkVnKGMsRUwsMTUsZyl9fSl9eGgoYSxiLGMpe3ZhciBkPV8ueG4oYSk7aWYoIXRoaXMucWguaGFzKGQpfHwhdGhpcy5xaC5nZXQoZCkuaGFzKGIpKXt2YXIgZT10aGlzLnFoLmhhcyhkKT90aGlzLnFoLmdldChkKTpuZXcgU2V0O2UuYWRkKGIpO3RoaXMucWguc2V0KGQsZSk7ZD12b2lkIDA7dHlwZW9mIGE/LlFyPT09ImZ1bmN0aW9uIiYmKGQ9YT8uUXIoKXx8dm9pZCAwKTthPW5ldyBETChiKTt0aGlzLnJoKGEsey4uLmMsSEk6ZH0pO3RoaXMudGgoYSl9fXdoKGEpe2E9bmV3IERMKGEpO3RoaXMucmgoYSx7Rkg6ITB9KTt0aGlzLnRoKGEpfX07dmFyIFZPYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPW5ldyBNYXA7dGhpcy55aD0xO3RoaXMud2g9YTt0aGlzLnRoPVtdO18uaHcoZG9jdW1lbnQsInZpc2liaWxpdHljaGFuZ2UiLHRoaXMsdGhpcy56aCl9aHUoYSxiKXtpZihkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUhPT0idmlzaWJsZSIpcmV0dXJuIG51bGw7dmFyIGM9Yj8uTHh8fDNFNCxkPVROYShiKTtpZihiPy5KdyYmZD09PTApcmV0dXJuIG51bGw7dmFyIGU9YGUtJHt0aGlzLnloKyt9YDthPXtMeDpjLEZ0OmEsc3RhcnRUaW1lOmR9O3RoaXMucWguc2V0KGUsYSk7Yz1zZXRUaW1lb3V0KCgpPT57dGhpcy5abihlLDQpfSxjKTthLnFuPWM7cmV0dXJuIGV9anUoYSl7YSYmdGhpcy5xaC5nZXQoYSkmJnRoaXMucWguZGVsZXRlKGEpfXhoKCl7dGhpcy5xaC5jbGVhcigpfUFoKGEpe2EmJihhPXRoaXMucWguZ2V0KGEpKSYmIWEuTnUmJihhLkVCPXBlcmZvcm1hbmNlLm5vdygpLGEuTnU9ITAsY2xlYXJUaW1lb3V0KGEucW4pKX1CaChhKXtpZihhKXt2YXIgYj0KdGhpcy5xaC5nZXQoYSk7aWYoYiYmYi5OdSl7bGV0IGM9cGVyZm9ybWFuY2Uubm93KCktYi5FQjtiLnN0YXJ0VGltZSs9YztiLk51PSExO3NldFRpbWVvdXQoKCk9Pnt0aGlzLlpuKGEsNCl9LGIuTHg/PzNFNCl9fX1abihhLGIsYyl7aWYoYSl7dmFyIGQ9dGhpcy5xaC5nZXQoYSk7aWYoZCl7dGhpcy5xaC5kZWxldGUoYSk7dmFyIHtGdDplLHN0YXJ0VGltZTpmLERKOmc9e319PWQ7YT1fLmhJKHBlcmZvcm1hbmNlLm5vdygpLWYpO3ZhciBoPW5ldyBHTDtiPV8uYmgoaCwxLGIpO2g9bmV3IGVPYTthPV8uRWcoaCxfLkZyLDMsYSk7YT1fLkVnKGEsR0wsNixiKTtiPW5ldyBmT2E7YT1fLkVnKGIsZU9hLDEsYSk7dGhpcy5yaChuZXcgaE9hKGUpLGEpO2lmKE9iamVjdC5rZXlzKGcpLmxlbmd0aHx8Yyl7YT1uZXcgYU9hO3R5cGVvZiBjPy5lST09PSJudW1iZXIiJiZfLmJoKGEsMixjLmVJKTtpZihPYmplY3Qua2V5cyhnKS5sZW5ndGgpe2M9bmV3IFZOYTtmb3IobGV0IFtrLG1db2YgT2JqZWN0LmVudHJpZXMoZykpYj0KbSxoPW5ldyBVTmEsaD1fLmJoKGgsMSwrayksYj1fLm9FKGgsMixiKSxfLkh2KGMsMSxVTmEsYik7Xy5FZyhhLFZOYSwxLGMpfXRoaXMucmgobmV3IGRPYShkLkZ0KSxhKX1mb3IobGV0IGsgb2YgdGhpcy50aCl0aGlzLndoKGspO3RoaXMudGg9W107cGVyZm9ybWFuY2Uubm93KCl9fX1zaChhLHtMVDpiLE1UOmN9KXtpZigoYT10aGlzLnFoLmdldChhKSkmJmImJmMpe2xldCBkPWEuREp8fHt9O2RbYl09TWF0aC5tYXgoZFtiXXx8MCxjKTthLkRKPWR9fXJoKGEsYil7YS5HSihiKTt0aGlzLnRoLnB1c2goYSl9emgoKXtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUhPT0idmlzaWJsZSImJnRoaXMucWguY2xlYXIoKX19O3ZhciBXT2E9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy54Sj1WTWEodGhpcyk7dmFyIGE9U05hKCk7dGhpcy5xaD1RTmEoYSk7dmFyIGI9Yz0+e18uaWgoYSw4LHRoaXMueEoudG9TdHJpbmcoKSk7dmFyIGQ9dGhpcy5xaDtpZihkLnRoKXtjPWQudGgucWgoYyk7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDsrK2UpZC5EaC5tRyhjW2VdKSxkLnJoJiZkLnJoLnR1KGNbZV0pfX07dGhpcy5Idz1uZXcgVk9hKGIpO3RoaXMueEg9bmV3IFVPYShiKX19O18uSWwoImxvZyIsV09hKTt9KTsK"}},"time_used":10,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":10,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/css/style.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.909Z","timestamp":1785154927909,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/css/style.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:20 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Ws2D%2B8A77tvmQdfNAfmMpHMLUnrrl11MrVVgBrV3CvxpMt1RIhoMSgkxJ0L4KNaEYcra0hk2Ktl4BXEr5KXsPTRWOb6AJC7Flvh9%2F6EwzBj7PUC201wETvbnXXxl9AGJ5w3nGyA%2FOuE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b6d4fb28a-OSL\r\ncontent-length: 10034\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":63361,"size_decoded":10846,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with CRLF line terminators","md5":"43a64fdf98152e4c26f7bc4834a42c72","sha1":"f0786da9763a717f1ad8e7b7a3bcde2ff6ca00bd","sha256":"1d995ac032103ce6e76652d7be4156e52ad4a9197cba82bcd06ec3709723ac98","sha512":"2e042ab70259586ae2d63887f013d343101a1afa09f3eae25e85c51d4f6dd2c3317c3ee2449de9a919c2cab9da3e840c434eb26ebf2d9aaa77c21576bdf70b6f","ssdeep":"768:E5kukKLnycWlNt4t8Mzx9Eixos/NJStn6kw0xWtJiKuVTIZFHr8dgIlg4wFmHtl4:E5k5+k92AYlA6","tlshash":"615343a9db98208d7313ae9977f1da520f1d80f9de0f4b7df16471688246bc83a37285","first_seen":"2026-07-27T05:58:00.844606Z","last_seen":"2026-07-27T12:23:18.799768Z","times_seen":3,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkF1dGhvciAgICAgICA6IEJlc3R3ZWJjcmVhdG9yLg0KVGVtcGxhdGUgTmFtZTogQ3J5cHRva2luZyAtIEJpdGNvaW4gJiBJQ08gQ3J5cHRvY3VycmVuY3kgTGFuZGluZyBQYWdlIEhUTUwgVGVtcGxhdGUNClZlcnNpb24gICAgICA6IDEuNQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICBDU1MgSU5ERVgNCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIDAxLiBHRU5FUkFMIFNUWUxFIChib2R5LCBsaW5rIGNvbG9yLCBzZWN0aW9uLXRpdGxlLCBvdmVybGF5LCBzZWN0aW9uLXBhZGRpbmcgZXRjKQ0KICAgIDAyLiBIRUFERVIgREVTSUdODQoJMDMuIEJBTk5FUiBTRUNUSU9ODQoJMDQuIEhPVyBJVCBXT1JLUyBTRUNUSU9ODQoJMDUuIEFCT1VUIFNFQ1RJT04NCgkwNi4gVE9LRU4gU0VDVElPTg0KCTA3LiBUSU1FTElORSBTRUNUSU9ODQoJMDguIFRFQU0gU0VDVElPTg0KCTA5LiBGQVEgU0VDVElPTg0KCTEwLiBDTElFTlQgU0VDVElPTg0KCTExLiBDT05UQUNUIFNFQ1RJT04NCgkxMi4gRk9PVEVSIFNFQ1RJT04NCgkxMy4gQkxPRyBQQUdFDQoJMTQuIExPR0lOIFBBR0UNCgkxNS4gTU9CSUxFIEFQUCBTRUNUSU9ODQoJMTYuIFdISVRFUEFQRVIgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KICANCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQogIDAxLiBHRU5FUkFMIFNUWUxFDQogKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCkBpbXBvcnQgIHVybCgiLi4vLi4vLi4vc3RhY2twYXRoLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIpOw0KDQpib2R5IHsNCgliYWNrZ3JvdW5kOiAjZmZmZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQogICAgY29sb3I6ICM3YTdhN2E7DQogICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBsaW5lLWhlaWdodDogMzBweDsNCn0NCmh0bWwsDQpib2R5IHsgDQoJaGVpZ2h0OiAxMDAlOw0KfQ0KaDEsDQpoMiwNCmgzLA0KaDQsDQpoNSwNCmg2IHsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCnAgew0KCWNvbG9yOiM3YTdhN2E7DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KfQ0KYSB7DQoJY29sb3I6ICMyMDEyNmY7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsNCgl0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7DQp9DQphOmhvdmVyIHsNCgljb2xvcjogIzI2YjZkNDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOw0KfQ0KYTpmb2N1cyB7DQoJb3V0bGluZTogbm9uZTsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQppbWcgew0KCW1heC13aWR0aDogMTAwJTsNCn0NCnVsLA0KbGkgew0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7DQoJY29sb3I6ICM3YWI5ZmY7DQoJZm9udC13ZWlnaHQ6IDQwMDsNCglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOw0KfQ0KLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogIzdhYjlmZjsNCglmb250LXdlaWdodDogNDAwOw0KCWZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7DQp9DQouZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogIzdhYjlmZjsNCglmb250LXdlaWdodDogNDAwOw0KCWZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7DQp9DQouZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7DQoJY29sb3I6ICM3YWI5ZmY7DQoJZm9udC13ZWlnaHQ6IDQwMDsNCglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOw0KfQ0KZmllbGRzZXQgew0KCWJvcmRlcjogMCBub25lOw0KCW1hcmdpbjogMCBhdXRvOw0KCXBhZGRpbmc6IDA7DQp9DQpzZWN0aW9uIHsNCglwYWRkaW5nOiAxMDBweCAwOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLm5vLXBhZGRpbmcgeyANCglwYWRkaW5nOiAwDQp9DQpzZWN0aW9uLnNtYWxsX3B0IHsNCglwYWRkaW5nLXRvcDogNTBweDsNCn0NCnNlY3Rpb24uc21hbGxfcGIgew0KCXBhZGRpbmctYm90dG9tOiA1MHB4Ow0KfQ0KLmxpc3Rfbm9uZSBsaSB7DQoJbGlzdC1zdHlsZTpub25lOw0KfQ0KaW5wdXQgew0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAxMHB4IDIwcHg7DQoJd2lkdGg6IDEwMCU7DQp9DQpidXR0b24gew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCglib3JkZXI6IDA7DQoJYm9yZGVyLXJhZGl1czogNDBweDsNCgljb2xvcjogI2ZmZmZmZjsNCgljdXJzb3I6IHBvaW50ZXI7DQoJcGFkZGluZzogMTBweCAyMHB4Ow0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQoJdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCn0NCmJ1dHRvbjpob3ZlciB7DQoJY29sb3I6I2ZmZjsNCn0NCmJ1dHRvbjpmb2N1cyB7DQoJb3V0bGluZTpub25lOw0KfQ0KLnRpdGxlX2xpZ2h0IGgyLCANCi50aXRsZV9kYXJrIGgyew0KCWZvbnQtc2l6ZTogMzBweDsNCglmb250LXdlaWdodDogYm9sZDsNCgltYXJnaW4tYm90dG9tOiAzMHB4Ow0KCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOw0KfQ0KLnRpdGxlX2xpZ2h0IHNwYW4sIA0KLnRpdGxlX2Rhcmsgc3BhbiB7DQoJY29sb3I6ICM3YWI5ZmY7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC13ZWlnaHQ6IDUwMDsNCglsZXR0ZXItc3BhY2luZzogMXB4Ow0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQoudGl0bGVfbGlnaHQgaDIsDQoudGl0bGVfbGlnaHQgcCB7DQoJY29sb3I6I2ZmZjsNCn0NCg0KLmRpdmlkZXIgew0KCWNsZWFyOmJvdGg7DQoJZGlzcGxheTpibG9jazsNCgloZWlnaHQ6MjBweDsNCn0NCi5iZ19ibHVlX2Rhcmsgew0KCWJhY2tncm91bmQtY29sb3IgOiMwZDI0NzY7DQp9DQouYmdfYmxhY2tfZGFyayB7DQoJYmFja2dyb3VuZC1jb2xvciA6IzA4MGIxZjsNCn0NCi5iZ19ibHVlIHsNCgliYWNrZ3JvdW5kLWNvbG9yIDojMTQyYmFjOw0KfQ0KLmJnX2JsdWVfZGFya19wcm8gew0KCWJhY2tncm91bmQtY29sb3I6ICMwNDFiOWM7DQp9DQoubGFyZ2VfZGl2aWRlciB7DQoJaGVpZ2h0OjEwMHB4Ow0KfQ0KLnNtYWxsX2RpdmlkZXIgew0KCWhlaWdodDo1MHB4Ow0KfQ0KLnNtYWxsX3NwYWNlIHsNCgltYXJnaW4tdG9wOjIwcHg7DQp9DQoubGFyZ2Vfc3BhY2Ugew0KCW1hcmdpbi10b3A6IDUwcHg7DQp9DQouY29udGFpbmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogNTsNCn0NCi5hbmltYXRpb24sDQouc3RhZ2dlcmVkLWFuaW1hdGlvbiB7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KDQoudl9saWdodCAudGl0bGVfbGlnaHQgc3BhbiwgDQoudl9saWdodCAudGl0bGVfZGFyayBzcGFuIHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi52X2xpZ2h0IC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLnZfbGlnaHQgLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi52X2xpZ2h0IC5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLnZfbGlnaHQgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLnZfZGFyayAudGl0bGVfbGlnaHQgc3BhbiwgDQoudl9kYXJrIC50aXRsZV9kYXJrIHNwYW4sDQoudl9kYXJrX2xpZ2h0IC50aXRsZV9saWdodCBzcGFuLCANCi52X2RhcmtfbGlnaHQgLnRpdGxlX2Rhcmsgc3BhbiB7DQoJY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9kYXJrX2xpZ2h0IC50aXRsZV9kYXJrIGgyIHsNCgljb2xvcjogIzFhMWMzNDsNCn0NCg0KLypTVEFSVCBMT0FERVIgREVTSUdOKi8NCi5wcmVsb2FkZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwZDQ2OWY7DQoJYm90dG9tOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGZpeGVkOw0KCXJpZ2h0OiAwOw0KCXRvcDogMDsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCXotaW5kZXg6IDk5OTk5Ow0KfQ0KI2ctc3Bpbm5lciB7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luOjAgYXV0bzsNCgloZWlnaHQ6MTUwcHg7DQoJbWFyZ2luOiAtMTAwcHggYXV0byAwOw0KCXRvcDogNTAlOw0KCXdpZHRoOjE1MHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCW9wYWNpdHk6MDsNCgktbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKSINCn0NCiNnLXNwaW5uZXIubG9hZGluZyB7DQoJb3BhY2l0eToxOw0KCS1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCkiOw0KCS13ZWJraXQtdHJhbnNpdGlvbjoxcyBlYXNlLWluLW91dCBhbGw7DQoJdHJhbnNpdGlvbjoxcyBlYXNlLWluLW91dCBhbGw7DQoJLXdlYmtpdC1hbmltYXRpb246cm90YXRlIDJzIGN1YmljLWJlemllciguNDY1LCAuMTgzLCAuMTUzLCAuOTQ2KSBpbmZpbml0ZTsNCglhbmltYXRpb246cm90YXRlIDJzIGN1YmljLWJlemllciguNDY1LCAuMTgzLCAuMTUzLCAuOTQ2KSBpbmZpbml0ZQ0KfQ0KI2ctc3Bpbm5lcj4uY2lyY2xlIHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgloZWlnaHQ6MzBweDsNCgl3aWR0aDozMHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlDQp9DQojZy1zcGlubmVyLmxvYWRpbmc+LmNpcmNsZS5jMSB7DQoJbGVmdDo2MHB4Ow0KCXRvcDo1cHg7DQoJYmFja2dyb3VuZDojMjZCNkQ0Ow0KCS13ZWJraXQtYW5pbWF0aW9uOmMxQ2VudGVyIDRzIGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKSBpbmZpbml0ZTsNCglhbmltYXRpb246YzFDZW50ZXIgNHMgY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpIGluZmluaXRlDQp9DQojZy1zcGlubmVyLmxvYWRpbmc+LmNpcmNsZS5jMiB7DQoJbGVmdDo1cHg7DQoJdG9wOjYwcHg7DQoJYmFja2dyb3VuZDojQzYxNjY0Ow0KCS13ZWJraXQtYW5pbWF0aW9uOmMyQ2VudGVyIDRzIGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKSBpbmZpbml0ZTsNCglhbmltYXRpb246YzJDZW50ZXIgNHMgY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpIGluZmluaXRlDQp9DQojZy1zcGlubmVyLmxvYWRpbmc+LmNpcmNsZS5jMyB7DQoJbGVmdDo2MHB4Ow0KCWJvdHRvbTo1cHg7DQoJYmFja2dyb3VuZDojZmJiZDA2Ow0KCS13ZWJraXQtYW5pbWF0aW9uOmMzQ2VudGVyIDRzIGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKSBpbmZpbml0ZTsNCglhbmltYXRpb246YzNDZW50ZXIgNHMgY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpIGluZmluaXRlDQp9DQojZy1zcGlubmVyLmxvYWRpbmc+LmNpcmNsZS5jNCB7DQoJcmlnaHQ6NXB4Ow0KCXRvcDo2MHB4Ow0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCgktd2Via2l0LWFuaW1hdGlvbjpjNENlbnRlciA0cyBjdWJpYy1iZXppZXIoLjY0NSwgLjA0NSwgLjM1NSwgMSkgaW5maW5pdGU7DQoJYW5pbWF0aW9uOmM0Q2VudGVyIDRzIGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKSBpbmZpbml0ZQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZSB7DQoJZnJvbSB7DQoJLXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpOw0KCXRyYW5zZm9ybTpyb3RhdGUoMGRlZykNCn0NCnRvIHsNCgktd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTsNCgl0cmFuc2Zvcm06cm90YXRlKDM2MGRlZykNCn0NCn0NCkBrZXlmcmFtZXMgcm90YXRlIHsNCglmcm9tIHsNCgktd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7DQoJdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKQ0KfQ0KdG8gew0KCS13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpOw0KCXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKQ0KfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGMxQ2VudGVyIHsNCjAlIHsNCgl0b3A6NXB4Ow0KCWJhY2tncm91bmQ6IzI2QjZENA0KfQ0KMjQlIHsNCgliYWNrZ3JvdW5kOiMyNkI2RDQNCn0NCjI0JSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0DQp9DQoyNSUgew0KCWJhY2tncm91bmQ6I2ZiYmQwNjsNCgl0b3A6NjBweA0KfQ0KNTAlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJdG9wOjVweA0KfQ0KNTUlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJdG9wOjVweA0KfQ0KNzQlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDYNCn0NCjc1JSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0Ow0KCXRvcDo2MHB4DQp9DQoxMDAlIHsNCgliYWNrZ3JvdW5kOiMyNkI2RDQ7DQoJdG9wOjVweA0KfQ0KfQ0KQGtleWZyYW1lcyBjMUNlbnRlciB7DQowJSB7DQoJdG9wOjVweDsNCgliYWNrZ3JvdW5kOiMyNkI2RDQNCn0NCjI0JSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0DQp9DQoyNCUgew0KCWJhY2tncm91bmQ6IzI2QjZENA0KfQ0KMjUlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJdG9wOjYwcHgNCn0NCjUwJSB7DQoJYmFja2dyb3VuZDojZmJiZDA2Ow0KCXRvcDo1cHgNCn0NCjU1JSB7DQoJYmFja2dyb3VuZDojZmJiZDA2Ow0KCXRvcDo1cHgNCn0NCjc0JSB7DQoJYmFja2dyb3VuZDojZmJiZDA2DQp9DQo3NSUgew0KCWJhY2tncm91bmQ6IzI2QjZENDsNCgl0b3A6NjBweA0KfQ0KMTAwJSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0Ow0KCXRvcDo1cHgNCn0NCn0NCkAtd2Via2l0LWtleWZyYW1lcyBjMkNlbnRlciB7DQowJSB7DQoJYmFja2dyb3VuZDojQzYxNjY0Ow0KCWxlZnQ6NXB4DQp9DQoyNCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NA0KfQ0KMjUlIHsNCgliYWNrZ3JvdW5kOiNlYTQ0MzY7DQoJbGVmdDo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglsZWZ0OjVweA0KfQ0KNTUlIHsNCgliYWNrZ3JvdW5kOiNlYTQ0MzY7DQoJbGVmdDo1cHgNCn0NCjc0JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2DQp9DQo3NSUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglsZWZ0OjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglsZWZ0OjVweA0KfQ0KfQ0KQGtleWZyYW1lcyBjMkNlbnRlciB7DQowJSB7DQoJYmFja2dyb3VuZDojQzYxNjY0Ow0KCWxlZnQ6NXB4DQp9DQoyNCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NA0KfQ0KMjUlIHsNCgliYWNrZ3JvdW5kOiNlYTQ0MzY7DQoJbGVmdDo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglsZWZ0OjVweA0KfQ0KNTUlIHsNCgliYWNrZ3JvdW5kOiNlYTQ0MzY7DQoJbGVmdDo1cHgNCn0NCjc0JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2DQp9DQo3NSUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglsZWZ0OjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglsZWZ0OjVweA0KfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGMzQ2VudGVyIHsNCjAlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJYm90dG9tOjVweA0KfQ0KMjQlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDYNCn0NCjI1JSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0Ow0KCWJvdHRvbTo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6IzI2QjZENDsNCglib3R0b206NXB4DQp9DQo1NSUgew0KCWJhY2tncm91bmQ6IzI2QjZENDsNCglib3R0b206NXB4DQp9DQo3NCUgew0KCWJhY2tncm91bmQ6IzI2QjZENA0KfQ0KNzUlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJYm90dG9tOjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I2ZiYmQwNjsNCglib3R0b206NXB4DQp9DQp9DQpAa2V5ZnJhbWVzIGMzQ2VudGVyIHsNCjAlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJYm90dG9tOjVweA0KfQ0KMjQlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDYNCn0NCjI1JSB7DQoJYmFja2dyb3VuZDojMjZCNkQ0Ow0KCWJvdHRvbTo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6IzI2QjZENDsNCglib3R0b206NXB4DQp9DQo1NSUgew0KCWJhY2tncm91bmQ6IzI2QjZENDsNCglib3R0b206NXB4DQp9DQo3NCUgew0KCWJhY2tncm91bmQ6IzI2QjZENA0KfQ0KNzUlIHsNCgliYWNrZ3JvdW5kOiNmYmJkMDY7DQoJYm90dG9tOjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I2ZiYmQwNjsNCglib3R0b206NXB4DQp9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYzRDZW50ZXIgew0KMCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglyaWdodDo1cHgNCn0NCjI0JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2DQp9DQoyNSUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglyaWdodDo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglyaWdodDo1cHgNCn0NCjU1JSB7DQoJYmFja2dyb3VuZDojQzYxNjY0Ow0KCXJpZ2h0OjVweA0KfQ0KNzQlIHsNCgliYWNrZ3JvdW5kOiNDNjE2NjQNCn0NCjc1JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2Ow0KCXJpZ2h0OjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglyaWdodDo1cHgNCn0NCn0NCkBrZXlmcmFtZXMgYzRDZW50ZXIgew0KMCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglyaWdodDo1cHgNCn0NCjI0JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2DQp9DQoyNSUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglyaWdodDo2MHB4DQp9DQo1MCUgew0KCWJhY2tncm91bmQ6I0M2MTY2NDsNCglyaWdodDo1cHgNCn0NCjU1JSB7DQoJYmFja2dyb3VuZDojQzYxNjY0Ow0KCXJpZ2h0OjVweA0KfQ0KNzQlIHsNCgliYWNrZ3JvdW5kOiNDNjE2NjQNCn0NCjc1JSB7DQoJYmFja2dyb3VuZDojZWE0NDM2Ow0KCXJpZ2h0OjYwcHgNCn0NCjEwMCUgew0KCWJhY2tncm91bmQ6I2VhNDQzNjsNCglyaWdodDo1cHgNCn0NCn0NCg0KLnZfbGlnaHQgLnByZWxvYWRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmZjsNCn0NCi52X2RhcmsgLnByZWxvYWRlciwNCi52X2RhcmtfbGlnaHQgLnByZWxvYWRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBjMGUyODsNCn0NCi52X2JsdWVfcHJvIC5wcmVsb2FkZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDEzN2Q7DQp9DQogDQovKkVORCBQUkVMT0FERVIgREVTSUdOKi8NCg0KLyogVEhFTUUgREVNTyBDU1MqLw0KLmNvbG9yLXN3aXRjaCB7DQogICAgYmFja2dyb3VuZDogIzIxMjEyMTsNCglsZWZ0OiAtMjAwcHg7DQoJcGFkZGluZzogMjBweCAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQogICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlIDBzOw0KCXdpZHRoOiAyMDBweDsNCiAgICB6LWluZGV4OiA5OTk5OTk5Ow0KfQ0KLmNvbG9yLXN3aXRjaCBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMTBweCAyMHB4Ow0KfQ0KLmNvbG9yX2JveCB7DQoJcGFkZGluZzowcHggMjBweDsNCn0NCi5zd2l0Y2gtYWN0aXZlIHsNCiAgICBsZWZ0OiAwOw0KfQ0KLmRlbW8gdWwgew0KCXBvc2l0aW9uOiBmaXhlZDsNCglsZWZ0OiAwcHg7DQoJdG9wOiAzNSU7DQoJei1pbmRleDo5OTk7DQp9DQouZGVtbyB1bCBsaSB7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQouZGVtbyBsaSBhIHsNCgliYWNrZ3JvdW5kOiAjMjEyMTIxOw0KCWNvbG9yOiAjZmZmZmZmOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZTogMjRweDsNCgloZWlnaHQ6IDQwcHg7DQoJbGluZS1oZWlnaHQ6IDQ0cHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiA0MHB4Ow0KCXRyYW5zaXRpb246IGFsbCAuNHMgZWFzZSAwczsNCn0NCi5kZW1vIGxpIGEuYmctZ3JlZW4gew0KCWJhY2tncm91bmQtY29sb3I6ICM3M2UwODA7DQp9DQouZGVtbyBsaSBhLmRtIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZWY3MjQwOw0KfQ0KLmRlbW8gbGkgYSBpIHsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KfQ0KLmljb24gew0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDowOw0KfQ0KLmljb24uc3dpdGNoLWFjdGl2ZSB7DQoJbGVmdDogMjAwcHg7DQp9DQoubWVudV9saW5rIHsNCglsZWZ0OiAwOw0KCXBvc2l0aW9uOiBmaXhlZDsNCgl0b3A6IDMwJTsNCgl6LWluZGV4OiA5OTsNCn0NCi5tZW51X2xpbmsgYSB7DQoJY29sb3I6I2ZmZjsNCglwYWRkaW5nOjEwcHg7DQp9DQouY29sb3Itc3dpdGNoIGJ1dHRvbjo6YWZ0ZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KCWNvbnRlbnQ6ICJcZjEyMiI7DQoJZm9udC1mYW1pbHk6ICJJb25pY29ucyI7DQoJZm9udC1zaXplOiAxNnB4Ow0KCWxlZnQ6IDhweDsNCglvcGFjaXR5OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDVweDsNCn0NCi5jb2xvci1zd2l0Y2ggYnV0dG9uIHsNCglib3JkZXI6IDAgbm9uZTsNCglib3JkZXItcmFkaXVzOiAzcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCWhlaWdodDogMzBweDsNCglsaW5lLWhlaWdodDogMjBweDsNCgltYXJnaW46IDJweDsNCglwYWRkaW5nOiAwOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJd2lkdGg6IDMwcHg7DQp9DQouY29sb3Itc3dpdGNoIC5hY3RpdmU6OmFmdGVyIHsNCiAgICBvcGFjaXR5OiAxOw0KfQ0KLmRlZmF1bHQgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCn0NCi5ncmVlbiB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgxNCwxNTYsMjU1LDEpIDAlLHJnYmEoNjQsMjQ4LDE2NiwxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxNCwxNTYsMjU1LDEpIDAlLHJnYmEoNjQsMjQ4LDE2NiwxKSA5OSUpOw0KfQ0KLm9yYW5nZSB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMzgsMTY4LDczLDEpIDAlLHJnYmEoMjQ0LDEwNyw2OSwxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyMzgsMTY4LDczLDEpIDAlLHJnYmEoMjQ0LDEwNyw2OSwxKSA5OSUpOw0KfQ0KLnBpbmsgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNTksODIsMjU1LDEpIDAlLHJnYmEoMjA3LDUsMjEzLDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDU5LDgyLDI1NSwxKSAwJSxyZ2JhKDIwNyw1LDIxMywxKSA5OSUpOw0KfQ0KLmxpZ2h0cGluayB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMTAzLDIwMywxKSAwJSxyZ2JhKDI1NSwyMDQsMTAzLDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwxMDMsMjAzLDEpIDAlLHJnYmEoMjU1LDIwNCwxMDMsMSkgOTklKTsNCn0NCi5saWdodGJsdWUgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTgzLDMzLDI1NSwxKSAwJSxyZ2JhKDMzLDIxMiwyNTMsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTgzLDMzLDI1NSwxKSAwJSxyZ2JhKDMzLDIxMiwyNTMsMSkgOTklKTsNCn0NCi5saWdodGdyZWVuIHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyMiwxNDcsNzUsMSkgMCUscmdiYSg4NiwyMTQsMTY3LDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIyMiwxNDcsNzUsMSkgMCUscmdiYSg4NiwyMTQsMTY3LDEpIDk5JSk7DQp9DQoubGlnaHRyZWQgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNDcsMTcwLDE3MSwxKSAwJSxyZ2JhKDIzNiw2Nyw5MCwxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg0NywxNzAsMTcxLDEpIDAlLHJnYmEoMjM2LDY3LDkwLDEpIDk5JSk7DQp9DQouYmx1ZS1wcm8gew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjksMTA2LDI1NSwxKSAwJSxyZ2JhKDcwLDIxNCwyNTUsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjksMTA2LDI1NSwxKSAwJSxyZ2JhKDcwLDIxNCwyNTUsMSkgOTklKTsNCn0NCg0KDQovKiBCVE4gU1RBUlQgKi8NCi5idG4gew0KCWJvcmRlcjogMCBub25lOw0KCWJvcmRlci1yYWRpdXM6IDQwcHg7DQoJZm9udC1zaXplOiAxNnB4Ow0KCWhlaWdodDogNTRweDsNCglsaW5lLWhlaWdodDogNTRweDsNCglwYWRkaW5nOiAwIDI1cHg7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCi5idG4gc3BhbiB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3JkZXItcmFkaXVzOiAxMDAlOw0KCWNvbG9yOiAjNzQ1OWE2Ow0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglmb250LXNpemU6IDI0cHg7DQoJaGVpZ2h0OiA0MnB4Ow0KCWxpbmUtaGVpZ2h0OiA0NnB4Ow0KCW1hcmdpbi1sZWZ0OiAtMjBweDsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQoJbWFyZ2luLXRvcDogLTFweDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgl3aWR0aDogNDJweDsNCgl0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UgMHM7DQp9DQouYnRuOmhvdmVyIHNwYW4gew0KCWNvbG9yOiAjMjViOGQ1Ow0KfQ0KLmJ0bi5hY3RpdmUuZm9jdXMsIA0KLmJ0bi5hY3RpdmU6Zm9jdXMsIA0KLmJ0bi5hY3RpdmU6aG92ZXIsIA0KLmJ0bjphY3RpdmU6Zm9jdXMsIA0KLmJ0bjphY3RpdmU6aG92ZXIsDQouYnRuLmFjdGl2ZSwNCi5idG46YWN0aXZlLA0KLmJ0bi5mb2N1czphY3RpdmUsIA0KLmJ0bjpmb2N1cywNCi5idG4uYWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCANCi5idG46YWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsNCglib3gtc2hhZG93Om5vbmU7DQoJb3V0bGluZTpub25lOw0KfQ0KLmJ0bi1kZWZhdWx0IHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDExNyw4OCwxNjUsMSkgMCUscmdiYSgzNywxODQsMjEzLDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDExNyw4OCwxNjUsMSkgMCUscmdiYSgzNywxODQsMjEzLDEpIDk5JSk7DQoJYm9yZGVyOiAwOw0KCWNvbG9yOiAjZmZmOw0KCW91dGxpbmU6bm9uZTsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJei1pbmRleDoyOw0KfQ0KLmJ0bi1kZWZhdWx0OmhvdmVyLC5idG4tYm9yZGVyOmhvdmVyIHsNCgljb2xvcjojZmZmOw0KfQ0KLmJ0bi1kZWZhdWx0LmFjdGl2ZS5mb2N1cywgDQouYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLCANCi5idG4tZGVmYXVsdC5hY3RpdmU6aG92ZXIsIA0KLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywgDQouYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLA0KLmJ0bi1kZWZhdWx0LmFjdGl2ZSwNCi5idG4tZGVmYXVsdDphY3RpdmUsDQouYnRuLWRlZmF1bHQuZm9jdXM6YWN0aXZlLCANCi5idG4tZGVmYXVsdDpmb2N1cywNCi5idG4uYWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCANCi5idG46YWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM3LDE4NCwyMTMsMSkgMCUscmdiYSgxMTcsODgsMTY1LDEpIDk5JSk7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDM3LDE4NCwyMTMsMSkgMCUscmdiYSgxMTcsODgsMTY1LDEpIDk5JSk7DQoJYm94LXNoYWRvdzpub25lOw0KCWNvbG9yOiAjZmZmOw0KCW91dGxpbmU6bm9uZTsNCn0NCi5idG4tZGVmYXVsdDo6YmVmb3JlIHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDM3LDE4NCwyMTMsMSkgMCUscmdiYSgxMTcsODgsMTY1LDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDM3LDE4NCwyMTMsMSkgMCUscmdiYSgxMTcsODgsMTY1LDEpIDk5JSk7DQoJYm9yZGVyLXJhZGl1czogNDBweDsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDEwMCU7DQoJbGVmdDogMDsNCglvcGFjaXR5OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAtMTsNCn0NCi5idG4tZGVmYXVsdDpob3ZlcjpiZWZvcmUgew0KCW9wYWNpdHk6IDE7DQp9DQouYnRuLWJvcmRlciB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgxMTcsODgsMTY1LDEpIDAlLHJnYmEoMzcsMTg0LDIxMywxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxMTcsODgsMTY1LDEpIDAlLHJnYmEoMzcsMTg0LDIxMywxKSA5OSUpOw0KCWJvcmRlcjogMDsNCgljb2xvcjogI2ZmZjsNCglvdXRsaW5lOm5vbmU7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCXotaW5kZXg6MjsNCn0NCi5idG4tYm9yZGVyOjphZnRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzEwM2Y5ODsNCglib3JkZXItcmFkaXVzOiA0MHB4Ow0KCWJvdHRvbTogMDsNCgljb250ZW50OiAiIjsNCglsZWZ0OiAwOw0KCW1hcmdpbjogMnB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogMDsNCgl0b3A6IDA7DQoJdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCgl6LWluZGV4OiAtMTsNCn0NCi5idG4tYm9yZGVyOmhvdmVyOmFmdGVyIHsNCglvcGFjaXR5IDowOw0KfQ0KLmJ0biBpIHsNCglmb250LXNpemU6IDMwcHg7DQoJbGluZS1oZWlnaHQ6IDI0cHg7DQoJbWFyZ2luLWxlZnQ6IDVweDsNCglwYWRkaW5nLXRvcDogNHB4Ow0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQouYnRuLXNlY29uZGFyeSB7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCglib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOw0KCWxpbmUtaGVpZ2h0OiA1MHB4Ow0KfQ0KLmJ0bi1zZWNvbmRhcnk6aG92ZXIsDQouYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCANCi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgDQouYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIA0KLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyLA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLA0KLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLA0KLmJ0bi1zZWNvbmRhcnkuZm9jdXM6YWN0aXZlLCANCi5idG4tc2Vjb25kYXJ5OmZvY3VzLA0KLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLCANCi5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpmb2N1czpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgDQouc2hvdyA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cywNCi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSwgDQouYnRuLXNlY29uZGFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkgew0KCWJhY2tncm91bmQ6ICNmZmZmZmY7DQoJYm9yZGVyLWNvbG9yOiAjZmZmZmZmOw0KCWNvbG9yOiAjMDAwMDAwOw0KCWJveC1zaGFkb3c6bm9uZTsNCglvdXRsaW5lOm5vbmU7DQp9DQouc2Nyb2xsdXAgew0KCWJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7DQoJYm9yZGVyLXJhZGl1czogMTAwJTsNCglib3R0b206IDIwcHg7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAzMHB4Ow0KCWhlaWdodDogNTBweDsNCglsaW5lLWhlaWdodDogNTBweDsNCglwb3NpdGlvbjogZml4ZWQ7DQoJcmlnaHQ6IDIwcHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiA1MHB4Ow0KCXotaW5kZXg6OTk7DQp9DQouc2Nyb2xsdXA6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICNmZjg4MGU7DQoJY29sb3I6I2ZmZjsNCn0NCi5zY3JvbGx1cDpmb2N1cyB7DQoJY29sb3I6I2ZmZjsNCn0NCi5idG4gKyAuYnRuOmxhc3QtY2hpbGQgew0KCW1hcmdpbi1sZWZ0OiAxMHB4Ow0KfQ0KLnNoYXBlIHsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KCWJhY2tncm91bmQtc2l6ZTogY29udGFpbjsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDgwOHB4Ow0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMTAwcHg7DQoJd2lkdGg6IDI0MnB4Ow0KCXotaW5kZXg6IC0xOw0KfQ0KLnNoYXAxIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9zaGFwZTEucG5nIik7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyOw0KCWJvdHRvbTogMTAwcHg7DQoJbGVmdDogYXV0bzsNCglyaWdodDogMDsNCgl0b3A6IGF1dG87DQp9DQouc2hhcDIgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL3NoYXBlMi5wbmciKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjsNCn0NCi5zaGFwMyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvc2hhcGUzLnBuZyIpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyOw0KfQ0KLnNoYXA0IHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9zaGFwZTQucG5nIik7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7DQp9DQouc2hhcDUgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL3NoYXBlNS5wbmciKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQoJYm90dG9tOiAxMDBweDsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAwOw0KCXRvcDogYXV0bzsNCn0NCi5zaGFwNiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvc2hhcGU2LnBuZyIpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyOw0KfQ0KLnJvdW5kZWRfc2hhcGUgew0KCWJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1zaXplOiBjb250YWluOw0KCWNvbnRlbnQ6ICIiOw0KCWhlaWdodDogNDAycHg7DQoJbGVmdDogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwcHg7DQoJd2lkdGg6IDQ5NHB4Ow0KCXotaW5kZXg6IDE7DQp9DQoucm91bmRlZF9zaGFwZTEgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL3JvdW5kZWQtc2hhcGUxLnBuZyIpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wOw0KfQ0KLnJvdW5kZWRfc2hhcGUyIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9yb3VuZGVkLXNoYXBlMi5wbmciKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207DQoJYm90dG9tOiAwOw0KCWxlZnQ6IGF1dG87DQoJcmlnaHQ6IDA7DQoJdG9wOiBhdXRvOw0KfQ0KLmxpZ2h0X3JvdW5kZWRfc2hhcGUzIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9saWdodF9yb3VuZGVkLXNoYXBlMy5wbmciKTsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDsNCn0NCi5saWdodF9yb3VuZGVkX3NoYXBlNCB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvbGlnaHRfcm91bmRlZC1zaGFwZTQucG5nIik7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tOw0KCWJvdHRvbTogMDsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAwOw0KCXRvcDogYXV0bzsNCn0NCi5saWdodF9yb3VuZGVkX3NoYXBlNSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvbGlnaHRfcm91bmRlZC1zaGFwZTUucG5nIik7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tOw0KCWJvdHRvbTogMDsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAwOw0KCXRvcDogYXV0bzsNCn0NCg0KLnZfbGlnaHQgLmJ0bi1kZWZhdWx0LA0KLnZfbGlnaHQgLmJ0bi1kZWZhdWx0OmhvdmVyIHsNCgljb2xvcjogI2ZmZjsNCn0NCi52X2xpZ2h0IC5idG4tYm9yZGVyIHsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5idG4tYm9yZGVyOmhvdmVyIHsNCgljb2xvcjogI2ZmZjsNCn0NCi52X2xpZ2h0IC5idG4tYm9yZGVyOjphZnRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmZjsNCn0NCi5saWdodF9yb3VuZGVkX3NoYXBlMSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWFnZXMvbGlnaHRfcm91bmRlZC1zaGFwZTEucG5nIik7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7DQp9DQoubGlnaHRfcm91bmRlZF9zaGFwZTIgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL2xpZ2h0X3JvdW5kZWQtc2hhcGUyLnBuZyIpOw0KCWJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTsNCglib3R0b206IDA7DQoJbGVmdDogYXV0bzsNCglyaWdodDogMDsNCgl0b3A6IGF1dG87DQp9DQoudl9kYXJrIC5idG4tYm9yZGVyOjphZnRlciwNCi52X2RhcmtfbGlnaHQgLmJ0bi1ib3JkZXI6OmFmdGVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDgwYjFiOw0KfQ0KLnZfYmx1ZV9wcm8gLmJ0bi1ib3JkZXI6OmFmdGVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDYxMjdBOw0KfQ0KDQovKiBCVE4gRU5EICovDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KICAwMS5FTkQgR0VORVJBTCBTVFlMRQ0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjAyLiBTVEFSVCBIRUFERVIgREVTSUdODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KaGVhZGVyIHsNCgloZWlnaHQ6IDExMHB4Ow0KCXBhZGRpbmc6IDI1cHggMDsNCgl0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOw0KfQ0KLm5hdmJhciB7DQoJcGFkZGluZzogMDsNCn0NCi5tb2RhbC1vcGVuIGhlYWRlci5maXhlZC10b3Agew0KCXBhZGRpbmc6IDVweCAwICFpbXBvcnRhbnQ7DQp9DQoubmF2LWZpeGVkLA0KaGVhZGVyLmFjdGl2ZSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBGM0U5NzsNCglib3gtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCn0NCmhlYWRlci5uYXYtZml4ZWQgew0KCWhlaWdodDogNzBweDsNCglwYWRkaW5nOiA1cHggMDsNCn0NCmhlYWRlci5uby1zdGlja3kgew0KCXBvc2l0aW9uOmFic29sdXRlOw0KfQ0KaGVhZGVyIGEgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KaGVhZGVyIGE6aG92ZXIsLm5hdmJhci1uYXYgbGkgYS5hY3RpdmUgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1uYXYgLm5hdi1saW5rIHsNCglwYWRkaW5nOiAwIDEwcHg7DQp9DQoubmF2X2J0biBsaSB7DQoJbWFyZ2luLWxlZnQ6IDEwcHg7DQp9DQoubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdi5uYXZfYnRuIGEgew0KCWhlaWdodDogYXV0bzsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCXBhZGRpbmc6IDEwcHggMjVweDsNCn0NCg0KLmxvZ29fZGFyaywNCi52X2xpZ2h0IC5sb2dvX2xpZ2h0IHsNCglkaXNwbGF5OiBub25lOw0KfQ0KLnZfbGlnaHQgLmxvZ29fZGFyayB7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoudl9saWdodCBoZWFkZXIgYSB7DQoJY29sb3I6ICMyMDEyNmY7DQp9DQoudl9saWdodCAubmF2LWZpeGVkLCANCi52X2xpZ2h0IGhlYWRlci5hY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmY7DQp9DQoudl9saWdodCBoZWFkZXIgYTpob3ZlciwgDQoudl9saWdodCAubmF2YmFyLW5hdiBsaSBhLmFjdGl2ZSB7DQoJY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9kYXJrIC5uYXYtZml4ZWQsDQoudl9kYXJrIGhlYWRlci5hY3RpdmUsDQoudl9kYXJrX2xpZ2h0IC5uYXYtZml4ZWQsDQoudl9kYXJrX2xpZ2h0IGhlYWRlci5hY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICMxYTFjMzQ7DQp9DQoudl9ibHVlX3BybyAubmF2LWZpeGVkLCANCi52X2JsdWVfcHJvIGhlYWRlci5hY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAzNmQ7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDIuIEVORCBIRUFERVIgREVTSUdODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDMuIEJBTk5FUiBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmJhbm5lcl9zZWN0aW9uIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwZDQ2OWY7DQoJcGFkZGluZzoyMDBweCAwOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXotaW5kZXg6MDsNCn0NCi5iYW5uZXJfZnVsbF9oZWlnaHQgew0KCW1pbi1oZWlnaHQ6IDEwMHZoOw0KfQ0KLmJhbm5lcl90ZXh0IGgxIHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXdlaWdodDogYm9sZDsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQouYmFubmVyX3RleHQgaDEgc3BhbiB7DQoJY29sb3I6ICMyNmI2ZDQ7DQp9DQouYmFubmVyX3RleHQgaDMgew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCi5iYW5uZXJfdGV4dCBwIHsNCgljb2xvcjojZmZmOw0KfQ0KLmJhbm5lcl9pbWFnZV9yaWdodCB7DQoJbWluLXdpZHRoOiA2OTBweDsNCn0NCi5iYW5uZXJfaW1hZ2VfbGVmdCB7DQoJbGVmdDogLTI1JTsNCgltaW4td2lkdGg6IDY5MHB4Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5iYW5uZXJfYnRuIC5idG4gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi5zZWN0aW9uX3dhdmUgew0KCWJhY2tncm91bmQtcG9zaXRpb246bGVmdCB0b3A7DQoJYm90dG9tOiAwOw0KCWhlaWdodDogMTAwcHg7DQoJbGVmdDogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcmlnaHQ6IDA7DQp9DQouc2VjdGlvbl93YXZlMiB7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsNCgloZWlnaHQ6IDExMHB4Ow0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXJpZ2h0OjA7DQoJdG9wOiAwOw0KfQ0KLmJhbm5lcl9lZmZlY3Qgew0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogMDsNCgl0b3A6IDA7DQp9DQouYmFubmVyX3NlY3Rpb24gLnRrX2NvdW50ZG93biB7DQoJYmFja2dyb3VuZC1jb2xvcjpSR0JBKDE1LDYyLDE1MSwwLjYpOw0KCW1heC13aWR0aDo0ODBweDs7DQoJbWFyZ2luOjAgYXV0bzsNCn0NCi5iYW5uZXJfc2VjdGlvbiAudGtfY291bnRlcl9pbm5lciB7DQoJYm9yZGVyOjA7DQp9DQouYmFubmVyX3NlY3Rpb24gLmNvdW50ZXJfYm94IC50a19jb3VudGVyIHsNCglib3JkZXI6IDFweCBzb2xpZCBSR0JBKDI1NSwyNTUsMjU1LDAuMik7IGJvcmRlci1yYWRpdXM6IDEwcHg7DQp9DQoucHJvZ3Jlc3MsDQoucHJvZ3Jlc3MtYmFyIHsNCglib3JkZXItcmFkaXVzOiAyMHB4Ow0KfQ0KLnByb2dyZXNzIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmY7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJaGVpZ2h0OiA0MHB4Ow0KCW92ZXJmbG93OiB2aXNpYmxlOw0KCW1hcmdpbi10b3A6IDYwcHg7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KLnByb2dyZXNzLWJhciB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgxMTcsODgsMTY1LDEpIDAlLHJnYmEoMzcsMTg0LDIxMywxKSA5OSUpOw0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgxMTcsODgsMTY1LDEpIDAlLHJnYmEoMzcsMTg0LDIxMywxKSA5OSUpOw0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmY7DQogICAgYm94LXNoYWRvdzogMCAwIDAgMDsNCg0KfQ0KLnRva2VuX2JveCAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwNUI1RkY7DQp9DQoucHJvZ3Jlc3MgLnByb2dyZXNzX2xhYmVsIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAtOHB4Ow0KICAgIGJvdHRvbTogLThweDsNCiAgICB3aWR0aDogMXB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogI2ZmZjsNCn0NCi5wcm9ncmVzcyAucHJvZ3Jlc3NfbGFiZWwgc3Ryb25new0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiA1MCU7DQogICAgYm90dG9tOiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KfQ0KLnByb2dyZXNzX21heF92YWwgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KCWZvbnQtc2l6ZToxMnB4Ow0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KCXBhZGRpbmc6MCAxNXB4Ow0KfQ0KLmJhbm5lcl9zaGFwZV9lZmZlY3Qgew0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmJhbm5lcl9zaGFwZV9lZmZlY3Q6OmJlZm9yZSB7DQogYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwYzEyNzcgMCUsICMxZDZhZmYgNDUwJSkgcmVwZWF0IHNjcm9sbCAwIDA7DQogYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMGMxMjc3IDAlLCAjMWQ2YWZmIDQ1MCUpIHJlcGVhdCBzY3JvbGwgMCAwOw0KIGJvcmRlci1yYWRpdXM6IDI3MHB4IDI3MHB4IDA7DQogY29udGVudDogIiI7DQogaGVpZ2h0OiAxMDAlOw0KIGxlZnQ6IDA7DQogb3BhY2l0eTogMC4zOw0KIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiB0b3A6IDA7DQogLW1vei10cmFuc2Zvcm06IHNrZXdYKC0yNWRlZyk7DQogLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yNWRlZyk7DQogdHJhbnNmb3JtOiBza2V3WCgtMjVkZWcpOw0KIHdpZHRoOiA0NCU7DQogei1pbmRleDogMDsNCn0NCi5iYW5uZXJfc2hhcGVfZWZmZWN0OjphZnRlciB7DQogYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwYzEyNzcgMCUsICMxZDZhZmYgMzAwJSkgcmVwZWF0IHNjcm9sbCAwIDA7DQogYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMGMxMjc3IDAlLCAjMWQ2YWZmIDMwMCUpIHJlcGVhdCBzY3JvbGwgMCAwOw0KIGJvcmRlci1yYWRpdXM6IDE1MHB4IDMyMHB4IDM5MHB4IDI1MHB4Ow0KIGNvbnRlbnQ6ICIiOw0KIGhlaWdodDogMTAwJTsNCiBsZWZ0OiAwOw0KIG9wYWNpdHk6IDAuMzsNCiBwb3NpdGlvbjogYWJzb2x1dGU7DQogdG9wOiAwOw0KIC1tb3otdHJhbnNmb3JtOiBza2V3KC0yNWRlZyk7DQogLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTI1ZGVnKTsNCiB0cmFuc2Zvcm06IHNrZXcoLTI1ZGVnKTsNCiB3aWR0aDogMzAlOw0KfQ0KLnNlY3Rpb25fZ3JhZGlhbnQgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgzMiwxOCwxMTEsMSkgMTAlLHJnYmEoMTMsNzAsMTU5LDEpIDEwMCUpOw0KCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMzIsMTgsMTExLDEpIDEwJSxyZ2JhKDEzLDcwLDE1OSwxKSAxMDAlKTsNCn0NCi5zZWN0aW9uX2dyYWRpYW50MiB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDEzLDcwLDE1OSwxKSAxMCUscmdiYSgzMiwxOCwxMTEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgxMyw3MCwxNTksMSkgMTAlLHJnYmEoMzIsMTgsMTExLDEpIDEwMCUpOw0KfQ0KLnNlY3Rpb25fZ3JhZGlhbnQzIHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDE5LDEyNSwxKSAxMCUscmdiYSgzMiwxOCwxMTEsMSkgMTAwJSk7DQoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsMTksMTI1LDEpIDEwJSxyZ2JhKDMyLDE4LDExMSwxKSAxMDAlKTsNCn0NCi5zZWN0aW9uX2dyYWRpYW50X2Rhcmsgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLDAsMCwxKSAxMCUscmdiYSgxMiwxNCw0MSwxKSAxMDAlKTsNCgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDEpIDEwJSxyZ2JhKDEyLDE0LDQxLDEpIDEwMCUpOw0KfQ0KLnNlY3Rpb25fbGlnaHRfYmcgew0KCWJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmY7DQp9DQouaG93X3dvcmsgLnNoYXBlIHsNCglib3R0b206IGF1dG87DQoJdG9wOiAwOw0KfQ0KLnZfbGlnaHQgLmJhbm5lcl90ZXh0IGgxLA0KLnZfbGlnaHQgLmJhbm5lcl90ZXh0IGgzIHsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5iYW5uZXJfdGV4dCBwLA0KLnZfbGlnaHQgLnByb2dyZXNzIC5wcm9ncmVzc19sYWJlbCB7DQoJY29sb3I6ICM3YTdhN2E7DQp9DQoudl9ibHVlIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMGQ0NjlmOw0KfQ0KLnZfZGFyayB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBjMGUyODsNCn0NCi52X2JsdWVfcHJvIC5iYW5uZXJfc2VjdGlvbiAudGtfY291bnRkb3duIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwLCA0MywgMTcyLCAwLjUpOw0KfQ0KDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDMuIEVORCBCQU5ORVIgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA0LiBIT1cgSVQgV09SS1MgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5ob3dfd29yayB7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsNCgliYWNrZ3JvdW5kLXNpemU6IGNvdmVyOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KLndvcmtfYm94IHsNCglmbG9hdDogbGVmdDsNCgltYXJnaW4tdG9wOjMwcHg7DQoJcGFkZGluZy1sZWZ0OiAzMHB4Ow0KCXdpZHRoOiA1MCU7DQp9DQoud29ya19ib3g6bnRoLWNoaWxkKC1uKzIpIHsNCgltYXJnaW46IDA7DQp9DQouYm94X2lubmVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmY7DQoJYm94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQoJcGFkZGluZzogMjBweCAyNXB4Ow0KfQ0KLndvcmtfYm94Om50aC1jaGlsZCgybikgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0b3A6IDE1MHB4Ow0KfQ0KLndvcmtfYm94Om50aC1jaGlsZCgybisxKSB7DQoJY2xlYXI6IGJvdGg7DQp9DQouYm94X2lubmVyIGg0IHsNCgljb2xvcjogIzdhN2E3YTsNCglmb250LXNpemU6IDIycHg7DQoJZm9udC13ZWlnaHQ6IDYwMDsNCgltYXJnaW46IDEwcHggMDsNCn0NCi5ib3hfaW5uZXIgcCB7DQoJbWFyZ2luOiAwOw0KfQ0KLmJveF9pbm5lciBpIHsNCgljb2xvcjogIzI2YjZkNDsNCglmb250LXNpemU6IDUwcHg7DQp9DQoNCi52X2JsdWUgLmJveF9pbm5lciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBmM2U5NzsNCn0NCi52X2JsdWUgLmJlbmVmaXRfYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMGYzZTk3Ow0KfQ0KLnZfYmx1ZSAuYm94X2lubmVyIGg0LA0KLnZfYmx1ZSAuYm94X2lubmVyIHAsDQoudl9ibHVlIC5ib3hfaW5uZXIgaSB7DQoJY29sb3I6ICNmZmY7DQp9DQoudl9kYXJrIC5ib3hfaW5uZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMxYTFjMzQ7DQp9DQoudl9kYXJrIC5iZW5lZml0X2JveCwNCi5zZWN0aW9uX2dyYWRpYW50X2RhcmsgLmJlbmVmaXRfYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFyayAuYm94X2lubmVyIGg0LA0KLnZfZGFyayAuYm94X2lubmVyIHAsDQoudl9kYXJrIC5ib3hfaW5uZXIgaSB7DQoJY29sb3I6ICNmZmY7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDQuIEVORCBIT1cgSVQgV09SS1MgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA1LiBBQk9VVCBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmJlbmVmaXRfYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDIzNzgwOw0KCWJvcmRlci1yYWRpdXM6IDEwcHg7DQoJcGFkZGluZzogMTVweCA1cHg7DQp9DQouYmVuZWZpdF9ib3ggaDYgew0KCWNvbG9yOiAjZmZmZmZmOw0KCW1hcmdpbi1ib3R0b206IDA7DQoJbWFyZ2luLXRvcDogMTBweDsNCn0NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowNS4gRU5EIEFCT1VUIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQowNi4gVE9LRU4gU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5zZWN0aW9uX3Rva2VuIHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCi5wcl9ib3ggaDYgew0KCWNvbG9yOiAjN2FiOWZmOw0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQoucHJfYm94IHAgew0KCWZvbnQtc2l6ZToxNHB4Ow0KCWZvbnQtd2VpZ2h0OiA1MDA7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCgltYXJnaW46IDA7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KfQ0KLnByX2JveCB7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCW1hcmdpbi1ib3R0b206IDE1cHg7DQoJcGFkZGluZzogMjBweDsNCn0NCi50a19jb3VudGRvd25fdGltZSB7DQoJbWFyZ2luOiAxNXB4IDA7DQp9DQoudGtfY291bnRkb3duIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDIzNzgwOw0KCWJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KCXBhZGRpbmc6IDEwcHg7DQp9DQouY291bnRkb3duX3NoYXBlIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9jb3VudGVyX2JnLnBuZyIpOw0KfQ0KLnRrX2NvdW50ZXJfaW5uZXIgew0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7DQoJcGFkZGluZzogMjVweDsNCn0NCi5jb3VudGVyX2JveCB7DQoJY29sb3I6I2ZmZjsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgl3aWR0aDoyNSU7DQp9DQouY291bnRlcl9ib3ggLnRrX2NvdW50ZXIgew0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAzNnB4Ow0KCWZvbnQtd2VpZ2h0OiA1MDA7DQoJbWFyZ2luOiAwIDVweDsNCglwYWRkaW5nOiAyMHB4IDVweDsNCn0NCi5jb3VudGVyX2JveCAudGtfdGV4dCB7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWZvbnQtd2VpZ2h0OiA1MDA7DQoJbWFyZ2luLXRvcDogMTBweDsNCgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KfQ0KLnRrX2NvdW50ZG93biAuYnRuIHsNCgltYXJnaW46IDE1cHggMDsNCn0NCi5waWVfY2hhcnRfaWNvbiBpbWcgew0KCWRpc3BsYXk6IHRhYmxlOw0KCWxlZnQ6IDA7DQoJbWFyZ2luOiAwIGF1dG87DQoJcGFkZGluZzogMjBweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcmlnaHQ6IDA7DQoJdG9wOiA1MCU7DQoJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOw0KCXotaW5kZXg6IC0xOw0KfQ0KLnRva2VuX2NoYXJ0IHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouY2hhcnRfbGlzdCBsaSB7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1sZWZ0OiAzcHggc29saWQgIzdhN2E3YTsNCglib3gtc2hhZG93OiAwIDVweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsNCglmb250LXdlaWdodDo1MDA7DQoJbWFyZ2luLWJvdHRvbTogMTJweDsNCglwYWRkaW5nOiA3cHggMTVweDsNCgl0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsNCn0NCi5jaGFydF9saXN0IGxpOmxhc3QtY2hpbGQgew0KCW1hcmdpbjowOw0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yMSB7DQoJYm9yZGVyLWNvbG9yOiAjZmY3ODc2Ow0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yMiB7DQoJYm9yZGVyLWNvbG9yOiAjMzZmZmFkOw0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yMyB7DQoJYm9yZGVyLWNvbG9yOiAjM2I4YTk5Ow0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yNCB7DQoJYm9yZGVyLWNvbG9yOiAjMTNhZmNjOw0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yNSB7DQoJYm9yZGVyLWNvbG9yOiAjY2MxNjY3Ow0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yNiB7DQoJYm9yZGVyLWNvbG9yOiAjRjkxRjY0Ow0KfQ0KLmNoYXJ0X2xpc3QgLmNvbG9yNyB7DQoJYm9yZGVyLWNvbG9yOiAjQjIzQUY4Ow0KfQ0KLnRva2VuX3dyYXAgew0KCWJhY2tncm91bmQtY29sb3I6ICMxNDJCQUM7DQoJYm9yZGVyLXJhZGl1czogN3B4Ow0KCXBhZGRpbmc6MjBweDsNCn0NCi50b2tlbl9pbm5lciBoNSB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KLnNvY2lhbF9pY29uLA0KLnNvY2lhbF9pY29uIGxpIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQouc29jaWFsX2ljb24gbGkgew0KCW1hcmdpbi1sZWZ0OiA1cHg7DQp9DQouc29jaWFsX2ljb24gbGk6Zmlyc3QtY2hpbGQgew0KCW1hcmdpbi1sZWZ0OiAwcHg7DQp9DQouc29jaWFsX2ljb24gbGkgYSB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAyMHB4Ow0KfQ0KLnRrX3NhbGVfaW5mbyB7DQoJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmZmZmOw0KCW1hcmdpbi10b3A6IDQ1cHg7DQoJcGFkZGluZy1sZWZ0OiAzMHB4Ow0KfQ0KLnRrX3ByaWNpbmdfaW5mbyBoNiB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQp9DQoudGtfcHJpY2luZ19pbmZvIGg1IHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXdlaWdodDogNjAwOw0KCW1hcmdpbi1ib3R0b206IDVweDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KfQ0KLnRrX3ByaWNpbmdfaW5mbyBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXNpemU6IDE0cHg7DQp9DQoudGtfcHJpY2luZ19pbmZvIHNwYW4gew0KCWNvbG9yOiAjOTNmZmEwOw0KfQ0KLnRrX3ByaWNpbmdfaW5mbyBsaSBpbWcgew0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJaGVpZ2h0OiAxOHB4Ow0KCW1hcmdpbi1yaWdodDogN3B4Ow0KCXdpZHRoOiAxOHB4Ow0KfQ0KLnRrX3ByaWNpbmdfaW5mbyBsaSB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAxNHB4Ow0KfQ0KLnRva2VuX2NoYXJ0X2luZm8gew0KCXBhZGRpbmctbGVmdDogMzBweDsNCn0NCi50b2tlbl9jaGFydF9pbmZvIGg1IHsNCgljb2xvcjogI2ZmZmZmZjsNCgltYXJnaW4tYm90dG9tOiAyMHB4Ow0KfQ0KLmNoYXJ0X2luZm8gbGkgew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtc2l6ZTogMTRweDsNCgltYXJnaW4tdG9wOiA1cHg7DQp9DQouY2xfY2lyY2xlIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCWhlaWdodDogMTBweDsNCgltYXJnaW4tcmlnaHQ6IDVweDsNCgl3aWR0aDogMTBweDsNCn0NCi5jb2xvcjEgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDUzY2U7DQp9DQouY29sb3IyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZDViNjMxOw0KfQ0KLmNvbG9yMyB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2QyNjI4ODsNCn0NCi5jb2xvcjQgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMGUyZjQ7DQp9DQouY29sb3I1IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0YWNjOw0KfQ0KDQoudl9saWdodCAucHJfYm94IGg2IHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi52X2xpZ2h0IC50a19jb3VudGRvd24gew0KCWJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmY7DQp9DQoudl9saWdodCAuY291bnRlcl9ib3ggew0KCWNvbG9yOiAjMjAxMjZmOw0KfQ0KLnZfbGlnaHQgLmNvdW50ZXJfYm94IC50a19jb3VudGVyIHsNCglib3JkZXItY29sb3I6ICMyMDEyNmY7DQp9DQoudl9saWdodCAudGtfY291bnRlcl9pbm5lciB7DQoJYm9yZGVyOiAxcHggc29saWQgIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5jb3VudGRvd25fc2hhcGUgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL2xpZ2h0X2NvdW50ZXJfYmcucG5nIik7DQp9DQoudl9ibHVlIC5wcl9ib3gsIA0KLnZfYmx1ZSAudGtfY291bnRkb3duLA0KLnZfYmx1ZSAuY2hhcnRfbGlzdCBsaSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBmM2U5NzsNCn0NCi52X2JsdWUgLnByX2JveCBwLA0KLnZfYmx1ZSAuY2hhcnRfbGlzdCBsaSB7DQoJY29sb3I6ICNmZmY7DQp9DQoudl9kYXJrIC5wcl9ib3gsIA0KLnZfZGFyayAudGtfY291bnRkb3duLA0KLnZfZGFya19saWdodCAudGtfY291bnRkb3duLA0KLnZfZGFyayAuY2hhcnRfbGlzdCBsaSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzFhMWMzNDsNCn0NCi52X2RhcmsgLnByX2JveCBoNiwNCi52X2RhcmtfbGlnaHQgLnByX2JveCBoNiB7DQoJY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9kYXJrIC5wcl9ib3ggcCwNCi52X2RhcmsgLmNoYXJ0X2xpc3QgbGkgew0KCWNvbG9yOiAjZmZmOw0KfQ0KLnZfZGFyayAuY291bnRkb3duX3NoYXBlLA0KLnZfZGFya19saWdodCAuY291bnRkb3duX3NoYXBlIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltYWdlcy9saWdodF9jb3VudGVyX2JnMi5wbmciKTsNCn0NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA2LiBFTkQgVE9LRU4gU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA3LiBUSU1FTElORSBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLnJvYWRtYXAgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCglkaXNwbGF5OiBibG9jazsNCn0NCi5yb2FkbWFwX2JveCB7DQoJbWFyZ2luLXRvcDoxMjBweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLnJvYWRtYXAuZ3JhZGllbnRfYm94IHsNCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoucm9hZG1hcDo6YmVmb3JlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjZiNmQ0Ow0KCWNvbnRlbnQ6ICIiOw0KCWhlaWdodDogM3B4Ow0KICAgIGxlZnQ6IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTVweDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCi5yb2FkbWFwX2ljb24gew0KCWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQoJaGVpZ2h0OiAzMXB4Ow0KCWxlZnQ6IDA7DQoJbWFyZ2luOiAwIGF1dG87DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcmlnaHQ6IDA7DQoJdG9wOiAtMTIwcHg7DQoJdHJhbnNmb3JtOiByb3RhdGUoLTYwZGVnKSBza2V3WSgzMGRlZyk7DQoJd2lkdGg6IDI3cHg7DQp9DQoucm9hZG1hcF9pY29uLmljb25fZ3JhZGllbnRfYm94OjpiZWZvcmUgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCn0NCi5yb2FkbWFwX2ljb246OmJlZm9yZSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzI2YjZkNDsNCgljb2xvcjogI2ZmZmZmZjsNCgljb250ZW50OiAiYyI7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAyOHB4Ow0KCWZvbnQtd2VpZ2h0OiA3MDA7DQoJaGVpZ2h0OiBpbmhlcml0Ow0KCXRyYW5zZm9ybTogc2tld1koLTMwZGVnKSByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZSgwJSk7DQoJd2lkdGg6IGluaGVyaXQ7DQp9DQoucmRfY29tcGxldGUgLnJvYWRtYXBfaWNvbjo6YmVmb3JlIHsNCgljb250ZW50OiAi74SiIjsNCglmb250LWZhbWlseTogaW9uaWNvbnM7DQoJZm9udC1zaXplOiAxNnB4Ow0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQp9DQoucm9hZG1hcF9pbm5lcjo6YmVmb3JlIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjZiNmQ0Ow0KCWNvbnRlbnQ6ICIiOw0KCWhlaWdodDogOTRweDsNCglsZWZ0OiAwOw0KCW1hcmdpbjogMCBhdXRvOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogMDsNCgl0b3A6IC0xMDBweDsNCgl3aWR0aDogM3B4Ow0KfQ0KLnJvYWRtYXBfaW5uZXI6OmFmdGVyIHsNCgliYWNrZ3JvdW5kOiAjMjZiNmQ0IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQoJYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsNCglib3JkZXItcmFkaXVzOiAxMDAlOw0KCWNvbnRlbnQ6ICIiOw0KCWhlaWdodDogMTVweDsNCglsZWZ0OiAwOw0KCW1hcmdpbjogMCBhdXRvOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogMDsNCgl0b3A6IC02cHg7DQoJd2lkdGg6IDE1cHg7DQoJei1pbmRleDogLTE7DQp9DQoucm9hZG1hcF9pbm5lciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzI2YjZkNDsNCglib3JkZXItcmFkaXVzOiAxMHB4Ow0KCXBhZGRpbmc6MjBweDsNCn0NCi5yb2FkbWFwX2JveCBoNiB7DQoJY29sb3I6ICNmZmZmZmY7DQp9DQoucm9hZG1hcF9ib3ggcCB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgltYXJnaW46IDA7DQp9DQoucm9hZG1hcCAub3dsLXByZXYsDQoucm9hZG1hcCAub3dsLW5leHQgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQp9DQoucm9hZG1hcCAub3dsLXByZXYgew0KCWxlZnQ6IC0zM3B4Ow0KfQ0KLnJvYWRtYXAgLm93bC1uZXh0IHsNCglyaWdodDogLTMzcHg7DQp9DQoucm9hZG1hcCAub3dsLW5hdiBpIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjZiNmQ0Ow0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJY29sb3I6ICNmZmZmZmY7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC1zaXplOiAyNnB4Ow0KCWhlaWdodDogMzNweDsNCglsaW5lLWhlaWdodDogMzdweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgl3aWR0aDogMzNweDsNCn0NCi5yb2FkbWFwIC5vd2wtcHJldiBpIHsNCglwYWRkaW5nLXJpZ2h0OiAzcHg7DQp9DQoucm9hZG1hcCAub3dsLW5leHQgaSB7DQoJcGFkZGluZy1sZWZ0OiAzcHg7DQp9DQoucm9hZG1hcCAub3dsLW5hdiAuZGlzYWJsZWQgew0KCWN1cnNvcjogZGVmYXVsdDsNCn0NCi5yb2FkbWFwIC5vd2wtbmF2IC5kaXNhYmxlZCBpIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMUM4OEJEOw0KCWNvbG9yOiAjOUZCM0Q3Ow0KfQ0KLnRpbWVsaW5lX3dyYXAgew0KCW1hcmdpbi10b3A6IDIwcHg7DQoJcGFkZGluZy10b3A6IDMwcHg7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnRpbWVsaW5lX3dyYXA6OmJlZm9yZSB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3R0b206IDA7DQoJY29udGVudDogIiI7DQoJaGVpZ2h0OiAxMDAlOw0KCWxlZnQ6IDUwJTsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCXdpZHRoOiAxcHg7DQp9DQoudGltZWxpbmVfYmxvY2sgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoudGltZWxpbmVfaWNvbiB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3JkZXItcmFkaXVzOiAxMDAlOw0KCWZvbnQtc2l6ZTogMTJweDsNCgloZWlnaHQ6IDIwcHg7DQoJbGVmdDogNTAlOw0KCWxpbmUtaGVpZ2h0OiAyM3B4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJdG9wOiAwOw0KCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsNCgl3aWR0aDogMjBweDsNCn0NCi50aW1lbGluZV9jb250ZW50IHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJd2lkdGg6IDQ3JTsNCn0NCi50aW1lbGluZV9jb250ZW50IGg2LCANCi50aW1lbGluZV9jb250ZW50IHAgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnRtX2RhdGUgew0KCWNvbG9yOiAjNDZkNmZmOw0KCWZvbnQtd2VpZ2h0OiA2MDA7DQoJbGVmdDogMTEzJTsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KCXRvcDogLTNweDsNCgl3aWR0aDogMTAwJTsNCn0NCi50aW1lbGluZV9ibG9jazpudGgtY2hpbGQoMm4pIC50aW1lbGluZV9jb250ZW50IHsNCglmbG9hdDogcmlnaHQ7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCi50aW1lbGluZV9ibG9jazpudGgtY2hpbGQoMm4pIC50bV9kYXRlIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAxMTMlOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KLnRpbWVsaW5lX2ljb24udG1fY29tcGxldGUgew0KCWJhY2tncm91bmQtY29sb3I6ICM3M2UwODA7DQoJY29sb3I6ICNmZmZmZmY7DQp9DQoNCi53ZWxjb21lLW1zZ3sNCgl3aWR0aDogNDAlO21hcmdpbjogMCBhdXRvOw0KCSBtYXJnaW4tdG9wOiAxNTRweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCglib3JkZXItcmFkaXVzOiAzcHg7DQoJYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IGxpZ2h0Z3JheTsNCglwYWRkaW5nOiAyMnB4Ow0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnZfYmx1ZSAucm9hZG1hcF9pbm5lcjo6YmVmb3JlLA0KLnZfYmx1ZSAucm9hZG1hcF9pbm5lcjo6YWZ0ZXIsDQoudl9ibHVlIC5yb2FkbWFwOjpiZWZvcmUsDQoudl9ibHVlIC5yb2FkbWFwX2lubmVyLA0KLnZfYmx1ZSAucm9hZG1hcCAub3dsLW5hdiBpIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMGYzZTk3Ow0KfQ0KDQoudl9kYXJrIC5yb2FkbWFwX2lubmVyOjpiZWZvcmUsDQoudl9kYXJrIC5yb2FkbWFwX2lubmVyOjphZnRlciwNCi52X2RhcmsgLnJvYWRtYXA6OmJlZm9yZSwNCi52X2RhcmsgLnJvYWRtYXBfaW5uZXIsDQoudl9kYXJrIC5yb2FkbWFwIC5vd2wtbmF2IGksDQoudl9kYXJrX2xpZ2h0IC5yb2FkbWFwX2lubmVyOjpiZWZvcmUsDQoudl9kYXJrX2xpZ2h0IC5yb2FkbWFwX2lubmVyOjphZnRlciwNCi52X2RhcmtfbGlnaHQgLnJvYWRtYXA6OmJlZm9yZSwNCi52X2RhcmtfbGlnaHQgLnJvYWRtYXBfaW5uZXIsDQoudl9kYXJrX2xpZ2h0IC5yb2FkbWFwIC5vd2wtbmF2IGkgIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFyayAucm9hZG1hcCAub3dsLW5hdiAuZGlzYWJsZWQgaSwNCi52X2RhcmtfbGlnaHQgLnJvYWRtYXAgLm93bC1uYXYgLmRpc2FibGVkIGkgew0KCWNvbG9yOiAjOTk5OTk5Ow0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA3LiBFTkQgVElNRUxJTkUgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjA4LiBURUFNIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoudGVhbV9pbmZvIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjViOGQ1Ow0KCXBhZGRpbmc6IDIwcHg7DQp9DQouZ3JhZGllbnRfYm94IHsNCgliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDExNyw4OCwxNjUsMSkgMCUscmdiYSgzNywxODQsMjEzLDEpIDk5JSk7DQoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDExNyw4OCwxNjUsMSkgMCUscmdiYSgzNywxODQsMjEzLDEpIDk5JSk7DQp9DQoudGVhbV9pbmZvIGg0IGEgew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtc2l6ZTogMjJweDsNCglmb250LXdlaWdodDpib2xkOw0KfQ0KLnRlYW1faW5mbyBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCW1hcmdpbjogMDsNCn0NCi50ZWFtX2ltZyB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoudGVhbV9pbWcgaW1nIHsNCgl3aWR0aDogMTAwJTsNCn0NCi5zb2NpYWxfdGVhbSB7DQoJbGVmdDogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcmlnaHQ6IDA7DQoJdG9wOiA1MCU7DQoJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7DQoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOw0KfQ0KLnNvY2lhbF90ZWFtIGxpIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJb3BhY2l0eTogMDsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTMwcHgpOw0KCXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMHM7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KLnRlYW1faW1nOmhvdmVyIC5zb2NpYWxfdGVhbSBsaSB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCgl2aXNpYmlsaXR5OiB2aXNpYmxlOw0KfQ0KLnNvY2lhbF90ZWFtIGxpOm50aC1jaGlsZCgybikgew0KCXRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UgMHM7DQp9DQouc29jaWFsX3RlYW0gbGk6bnRoLWNoaWxkKDNuKSB7DQoJdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZSAwczsNCn0NCi5zb2NpYWxfdGVhbSBsaTpudGgtY2hpbGQoNG4pIHsNCgl0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsNCn0NCi5zb2NpYWxfdGVhbSBhIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiMyNWI4ZDU7DQoJYm9yZGVyLXJhZGl1czogNDBweDsNCgljb2xvcjogI2ZmZmZmZjsNCglkaXNwbGF5OiBibG9jazsNCglmb250LXNpemU6IDI0cHg7DQoJaGVpZ2h0OiAzOHB4Ow0KCWxpbmUtaGVpZ2h0OiA0MHB4Ow0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXdpZHRoOiAzOHB4Ow0KCXotaW5kZXg6MTsNCn0NCi5zb2NpYWxfdGVhbSBhOmJlZm9yZSB7DQoJYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgxMTcsODgsMTY1LDEpIDAlLHJnYmEoMzcsMTg0LDIxMywxKSA5OSUpOw0KICAJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDExNyw4OCwxNjUsMSkgMCUscmdiYSgzNywxODQsMjEzLDEpIDk5JSk7DQoJYm9yZGVyLXJhZGl1czogNDBweDsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDEwMCU7DQoJbGVmdDogMDsNCglvcGFjaXR5OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCgl3aWR0aDogMTAwJTsNCgl6LWluZGV4OiAtMTsNCn0NCi5zb2NpYWxfdGVhbSBhOmhvdmVyOmJlZm9yZSB7DQoJb3BhY2l0eTogMTsNCn0NCi5tZnAtYmcgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgzMiwxOCwxMTEsMSkgMTAlLHJnYmEoMTMsNzAsMTU5LDEpIDEwMCUpOw0KCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMzIsMTgsMTExLDEpIDEwJSxyZ2JhKDEzLDcwLDE1OSwxKSAxMDAlKTsNCglvcGFjaXR5OiAwLjg7DQp9IA0KLnRlYW1fcG9wIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KCWJvcmRlci1yYWRpdXM6IDRweDsNCgltYXJnaW46IDMwcHggYXV0bzsNCgltYXgtd2lkdGg6IDgwMHB4Ow0KCXBhZGRpbmc6IDEwcHg7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnNvY2lhbF9zaW5nbGVfdGVhbSB7DQoJbWFyZ2luLWJvdHRvbTogMTBweDsNCn0NCi5zb2NpYWxfc2luZ2xlX3RlYW0gbGkgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KfQ0KLnNvY2lhbF9zaW5nbGVfdGVhbSBsaSBhIHsNCgljb2xvcjogIzI1YjhkNTsNCn0NCi50ZWFtX3BvcCAudGl0bGVfZGFyayBoMiB7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KLnRlYW1fd3JhcCAuc2hhcDEsDQoudGVhbV93cmFwIC5zaGFwNSB7DQoJYm90dG9tOiBhdXRvOw0KCXRvcDogMTAwcHg7DQp9DQoudGVhbV93cmFwIC5zaGFwMiwNCi50ZWFtX3dyYXAgLnNoYXA2IHsNCglib3R0b206IDEwMHB4Ow0KCXRvcDogYXV0bzsNCn0NCi50ZWFtX2NvbnRlbnQgew0KCW1hcmdpbi10b3A6IDE1cHg7DQp9DQoudGVhbV9ieCB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzE0MmJhYzsNCn0NCi50ZWFtX2ltYWdlIHsNCglwYWRkaW5nLXRvcDogMTVweDsNCn0NCi5yb3VuZGVkLWltZyBpbWcgew0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQp9DQoudGVhbV9jb250ZW50IGg1IGEgew0KCWNvbG9yOiAjNDZkNmZmOw0KfQ0KLnRlYW1fY29udGVudCBoNSB7DQoJbWFyZ2luLWJvdHRvbTogNXB4Ow0KfQ0KLnRlYW1fY29udGVudCBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCgltYXJnaW46IDA7DQp9DQoudGVhbV9zb2NpYWwgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAzNmQ7DQoJbWFyZ2luLXRvcDoxMHB4Ow0KCXBhZGRpbmc6IDEwcHggMTVweDsNCn0NCi50ZWFtX3NvY2lhbCBsaSB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KfQ0KLnRlYW1fc29jaWFsIGxpIGEgew0KCWNvbG9yOiAjZmZmZmZmOw0KCXBhZGRpbmc6IDAgNXB4Ow0KfQ0KLnRlYW1fc29jaWFsIGxpIGE6aG92ZXIgew0KCWNvbG9yOiAjNDZkNmZmOw0KfQ0KDQoudl9ibHVlIC50ZWFtX2luZm8gew0KCWJhY2tncm91bmQtY29sb3I6ICMwZjNlOTc7DQp9DQoudl9ibHVlIC5tZnAtYmcgew0KCWJhY2tncm91bmQtY29sb3I6ICMwZDQ2OWY7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCi52X2RhcmsgLnRlYW1faW5mbywNCi52X2RhcmtfbGlnaHQgLnRlYW1faW5mbyB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzFhMWMzNDsNCn0NCi52X2RhcmsgLm1mcC1iZywNCi52X2RhcmtfbGlnaHQgLm1mcC1iZyAgew0KCWJhY2tncm91bmQtY29sb3I6ICMxYTFjMzQ7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCg0KDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDguIEVORCBURUFNIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDkuIEZBUSBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmZhcV9jb250ZW50IC5jYXJkIHsNCglib3JkZXI6IDAgbm9uZTsNCglib3JkZXItcmFkaXVzOiAwOw0KCW1hcmdpbi1ib3R0b206IDEwcHg7DQp9DQouZmFxX2NvbnRlbnQgLmNhcmQ6bGFzdC1jaGlsZCB7DQoJbWFyZ2luLWJvdHRvbTogMHB4Ow0KfQ0KLmZhcV9jb250ZW50IC5jYXJkLWhlYWRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCglib3JkZXI6IDAgbm9uZTsNCglwYWRkaW5nOjA7DQp9DQouZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGEgew0KCWJhY2tncm91bmQtY29sb3I6ICMyNWI4ZDU7DQoJY29sb3I6ICNmZmZmZmY7DQoJZGlzcGxheTogYmxvY2s7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCXBhZGRpbmc6IDE1cHggNDBweCAxNXB4IDE1cHg7DQp9DQouZmFxX2NvbnRlbnQgLmNhcmQtYm9keSB7DQoJcGFkZGluZzogMTBweCAxNXB4Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl6LWluZGV4OiAxOw0KfQ0KLmZhcV9jb250ZW50IC5jYXJkIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzI1YjhkNTsNCn0NCi5mYXFfY29udGVudCAuY2FyZC1ib2R5OjphZnRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3R0b206IDFweDsNCgljb250ZW50OiAiIjsNCglsZWZ0OiAxcHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXJpZ2h0OiAxcHg7DQoJdG9wOiAwOw0KCXotaW5kZXg6IC0xOw0KfQ0KLmZhcV9jb250ZW50IC5jYXJkLWhlYWRlciBhOjphZnRlciB7DQoJY29sb3I6ICNmZmZmZmY7DQoJY29udGVudDogIu+IiCI7DQoJZm9udC1mYW1pbHk6ICJJb25pY29ucyI7DQoJZm9udC1zaXplOiAyMnB4Ow0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXJpZ2h0OiAxNXB4Ow0KCXRvcDogMTJweDsNCn0NCi5mYXFfY29udGVudCAuY2FyZC1oZWFkZXIgYS5jb2xsYXBzZWQ6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICJcZjIxNyI7DQp9DQouZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGE6OmJlZm9yZSB7DQoJY29udGVudDogIlEuIjsNCglmb250LXdlaWdodDogNjAwOw0KCW1hcmdpbi1yaWdodDogNXB4Ow0KfQ0KLmNhcmQtYm9keTo6YmVmb3JlIHsNCgljb250ZW50OiAiQS4iOw0KCWZvbnQtd2VpZ2h0OiA2MDA7DQoJbWFyZ2luLXJpZ2h0OjVweDsNCn0NCi5mYXFfYm94IC5jYXJkIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7DQoJbWFyZ2luLWJvdHRvbTogMTBweDsNCn0NCi5mYXFfYm94IC5jYXJkLWhlYWRlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCglib3JkZXI6IDAgbm9uZTsNCglwYWRkaW5nOiAwOw0KfQ0KLmZhcV9ib3ggLmNhcmQtaGVhZGVyIGEgew0KCWNvbG9yOiAjZmZmZmZmOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtd2VpZ2h0OiA2MDA7DQoJcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDsNCn0NCi5mYXFfYm94IC5jYXJkLWJvZHkgew0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmOw0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLmZhcV9ib3ggLmNhcmQtaGVhZGVyIGE6OmFmdGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCgljb250ZW50OiAiXGYxMjYiOw0KCWZvbnQtZmFtaWx5OiAiSW9uaWNvbnMiOw0KCWZvbnQtc2l6ZTogMjJweDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogMTVweDsNCgl0b3A6IDEycHg7DQp9DQouZmFxX2JveCAuY2FyZC1oZWFkZXIgYS5jb2xsYXBzZWQ6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICJcZjEyMyI7DQp9DQouZmFxX2JveCAuY2FyZC1ib2R5OjpiZWZvcmUgew0KCWNvbnRlbnQ6IG5vcm1hbDsNCn0NCg0KLnZfYmx1ZSAuZmFxX2NvbnRlbnQgLmNhcmQtYm9keTo6YWZ0ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwZjNlOTc7DQp9DQoudl9ibHVlIC5mYXFfY29udGVudCAuY2FyZC1ib2R5LA0KLnZfZGFyayAuZmFxX2NvbnRlbnQgLmNhcmQtYm9keSAgew0KCWNvbG9yOiAjZmZmOw0KfQ0KLnZfYmx1ZSAuZmFxX2NvbnRlbnQgLmNhcmQsDQoudl9ibHVlIC5mYXFfY29udGVudCAuY2FyZC1oZWFkZXIgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBmM2U5NzsNCn0NCi52X2RhcmsgLmZhcV9jb250ZW50IC5jYXJkLA0KLnZfZGFyayAuZmFxX2NvbnRlbnQgLmNhcmQtaGVhZGVyIGEsDQoudl9kYXJrX2xpZ2h0IC5mYXFfY29udGVudCAuY2FyZCwNCi52X2RhcmtfbGlnaHQgLmZhcV9jb250ZW50IC5jYXJkLWhlYWRlciBhIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFyayAuZmFxX2NvbnRlbnQgLmNhcmQtYm9keTo6YWZ0ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMxMjE0MmM7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMDkuIEVORCBGQVEgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMC4gQ0xJRU5UIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouY2xpZW50X2xvZ28gaW1nIHsNCgltYXJnaW4tdG9wOiAyMHB4Ow0KfQ0KLmNsaWVudF9sb2dvIC5zaGFwZSB7DQoJaGVpZ2h0OiA5MHZoOw0KCXotaW5kZXg6IDE7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTAuIEVORCBDTElFTlQgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMS4gQ09OVEFDVCBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmZvcm1fZmllbGQgaW5wdXQsIC5mb3JtX2ZpZWxkIHRleHRhcmVhIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjN2FiOWZmOw0KCWJvcmRlci1sZWZ0OjA7DQoJYm9yZGVyLXJpZ2h0OjA7DQoJYm9yZGVyLXRvcDogMDsNCglib3JkZXItcmFkaXVzOiAwOw0KCWNvbG9yOiAjN2FiOWZmOw0KCXBhZGRpbmc6IDEwcHggMDsNCn0NCi5mb3JtX2ZpZWxkIGlucHV0OmZvY3VzLA0KLmZvcm1fZmllbGQgdGV4dGFyZWE6Zm9jdXMgew0KCWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQoJYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3YWI5ZmY7DQoJYm9yZGVyLWxlZnQ6MDsNCglib3JkZXItcmlnaHQ6MDsNCglib3JkZXItdG9wOiAwOw0KCWJveC1zaGFkb3c6IG5vbmU7DQoJY29sb3I6ICM3YWI5ZmY7DQoJb3V0bGluZTogMCBub25lOw0KfQ0KLmZvcm1fZmllbGQgdGV4dGFyZWEgew0KCXJlc2l6ZTogbm9uZTsNCn0NCi5mb3JtX2ZpZWxkIGlucHV0W3JlcXVpcmVkPSJyZXF1aXJlZCJdIHsNCglib3gtc2hhZG93OiBub25lOw0KCW91dGxpbmU6IG1lZGl1bSBub25lOw0KfQ0KLmNvbnRhY3RfZGV0YWlsIHsNCglib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmZmZmY7DQoJcGFkZGluZy1sZWZ0OiAxMHB4Ow0KfQ0KLmNvbnRhY3RfaW5mbyBsaSB7DQoJbWFyZ2luLWJvdHRvbTogMjVweDsNCn0NCi5jb250YWN0X2luZm8gbGk6bGFzdC1jaGlsZCB7DQoJbWFyZ2luLWJvdHRvbTogMHB4Ow0KfQ0KLmNvbnRhY3RfaW5mbyBsaSBpIHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXNpemU6IDI2cHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiA0MHB4Ow0KfQ0KLmNvbnRhY3RfZGV0YWlsIHNwYW4gew0KCWNvbG9yOiAjMjZiNmQ0Ow0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZTogMTRweDsNCglmb250LXdlaWdodDogNjAwOw0KCWxpbmUtaGVpZ2h0OiBub3JtYWw7DQoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCn0NCi5jb250YWN0X2RldGFpbCBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCW1hcmdpbjogMDsNCn0NCi5hbGVydC1tc2ctZmFpbHVyZSB7DQogICAgY29sb3I6ICNmZjAwMDA7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KfQ0KLmFsZXJ0LW1zZy1zdWNjZXNzIHsNCgljb2xvcjogIzA3QUQwMDsNCgltYXJnaW4tdG9wOiA1cHg7DQp9DQouZm9ybV9zdWJtaXQgew0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KfQ0KLmNvbnRhY3RfZm9ybSBpbnB1dCwgDQouY29udGFjdF9mb3JtIHRleHRhcmVhIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KCWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsNCglib3JkZXItcmFkaXVzOiAwOw0KCWNvbG9yOiAjZmZmOw0KCXBhZGRpbmc6IDEwcHg7DQp9DQouY29udGFjdF9mb3JtIHRleHRhcmVhIHsNCgloZWlnaHQ6MTcwcHg7DQp9DQouY29udGFjdF9mb3JtIGlucHV0OmZvY3VzLA0KLmNvbnRhY3RfZm9ybSB0ZXh0YXJlYTpmb2N1cyB7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCglib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7DQoJYm94LXNoYWRvdzogbm9uZTsNCgljb2xvcjogI2ZmZmZmZjsNCglvdXRsaW5lOiAwIG5vbmU7DQp9DQouY29udGFjdF9mb3JtIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLmNvbnRhY3RfZm9ybSAuZm9ybS1jb250cm9sOi1tb3otcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLmNvbnRhY3RfZm9ybSAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi5jb250YWN0X2Zvcm0gLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLmNvbl9pbmZvIHAgew0KCWNvbG9yOiAjZmZmOw0KCW1hcmdpbjogMDsNCn0NCi5jb25fZHQgbGkgew0KCW1hcmdpbi1ib3R0b206IDE1cHg7DQp9DQouY29uX2R0IGkgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAzNmQ7DQoJYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWhlaWdodDogMzVweDsNCglsaW5lLWhlaWdodDogMzVweDsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiAzNXB4Ow0KfQ0KDQoNCi52X2xpZ2h0IC5mb3JtX2ZpZWxkIGlucHV0LCANCi52X2xpZ2h0IC5mb3JtX2ZpZWxkIHRleHRhcmVhIHsNCglib3JkZXItY29sb3I6ICMyNmI2ZDQ7DQoJY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9saWdodCAuY29udGFjdF9pbmZvIGxpIGkgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLnZfbGlnaHQgLmNvbnRhY3RfZGV0YWlsIHsNCglib3JkZXItY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9saWdodCAuY29udGFjdF9kZXRhaWwgcCB7DQoJY29sb3I6ICM3YTdhN2E7DQp9DQoudl9kYXJrIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnZfZGFyayAuZm9ybS1jb250cm9sOi1tb3otcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnZfZGFyayAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi52X2RhcmsgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnZfZGFyayAuZm9ybV9maWVsZCBpbnB1dCwgDQoudl9kYXJrIC5mb3JtX2ZpZWxkIHRleHRhcmVhLA0KLnZfZGFyayAuZm9ybV9maWVsZCBpbnB1dDpmb2N1cywNCi52X2RhcmsgLmZvcm1fZmllbGQgdGV4dGFyZWE6Zm9jdXMgew0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOw0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnZfZGFya19saWdodCAuZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi52X2RhcmtfbGlnaHQgLmZvcm0tY29udHJvbDotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi52X2RhcmtfbGlnaHQgLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7DQoJY29sb3I6ICNmZmZmZmY7DQp9DQoudl9kYXJrX2xpZ2h0IC5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi52X2RhcmtfbGlnaHQgLmZvcm1fZmllbGQgaW5wdXQsIA0KLnZfZGFya19saWdodCAuZm9ybV9maWVsZCB0ZXh0YXJlYSwNCi52X2RhcmtfbGlnaHQgLmZvcm1fZmllbGQgaW5wdXQ6Zm9jdXMsDQoudl9kYXJrX2xpZ2h0IC5mb3JtX2ZpZWxkIHRleHRhcmVhOmZvY3VzIHsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjExLiBFTkQgQ09OVEFDVCBTRUNUSU9ODQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjEyLiBGT09URVIgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi50b3BfZm9vdGVyIHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCi50b3BfZm9vdGVyIHsNCglib3JkZXItdG9wOiAxcHggc29saWQgIzNkNTA5MTsNCglwYWRkaW5nOiAxMDBweCAwOw0KfQ0KLmZvb3Rlcl90aXRsZSB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAyMnB4Ow0KCWZvbnQtd2VpZ2h0OiA2MDA7DQoJbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCi5uZXdzbGV0dGVyX2Zvcm0gZm9ybSB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dCB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzBkMjQ3NjsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi5uZXdzbGV0dGVyX2Zvcm0gLm91dGxpbmVfaW5wdXQgew0KCWJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTE3LDg4LDE2NSwxKSAwJSxyZ2JhKDM3LDE4NCwyMTMsMSkgOTklKTsNCglib3JkZXItcmFkaXVzOiA0MHB4Ow0KCWJvdHRvbTogMDsNCgljb250ZW50OiAiIjsNCglsZWZ0OiAwOw0KCXBhZGRpbmc6IDJweDsNCglyaWdodDogMDsNCgl0b3A6IDA7DQp9DQoub3V0bGluZV9pbnB1dCBpbnB1dCB7DQoJYm9yZGVyLXJhZGl1czogMzBweDsNCgloZWlnaHQ6IDYwcHg7DQoJcGFkZGluZy1yaWdodDogMzclOw0KCXdpZHRoOiAxMDAlOw0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7DQoJY29sb3I6I2ZmZjsNCglvcGFjaXR5OiAxOw0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjojZmZmOw0KCW9wYWNpdHk6IDE7DQp9DQoubmV3c2xldHRlcl9mb3JtIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjojZmZmOw0KCW9wYWNpdHk6IDE7DQp9DQoubmV3c2xldHRlcl9mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7DQoJY29sb3I6I2ZmZjsNCglvcGFjaXR5OiAxOw0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dDpmb2N1cyB7DQoJb3V0bGluZTpub25lOw0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSBidXR0b24gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogNXB4Ow0KCXRvcDogNXB4Ow0KfQ0KLm5ld3NsZXR0ZXJfZm9ybSArIC5mb290ZXJfc29jaWFsIHsNCgltYXJnaW4tdG9wOiAzMHB4Ow0KfQ0KLm5ld3NsYXR0dGVyX3NtYWxsIHsNCgltYXJnaW46IDAgYXV0bzsNCgltYXgtd2lkdGg6IDQ5MHB4Ow0KfQ0KLmZvb3Rlcl9zb2NpYWwgbGkgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW46IDAgM3B4Ow0KfQ0KLmZvb3Rlcl9zb2NpYWwgbGkgYSB7DQoJYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsNCglib3JkZXItcmFkaXVzOiAxMDAlOw0KCWNvbG9yOiAjZmZmZmZmOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZTogMjBweDsNCgloZWlnaHQ6IDQwcHg7DQoJbGluZS1oZWlnaHQ6IDQwcHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiA0MHB4Ow0KfQ0KLmZvb3Rlcl9zb2NpYWwgbGkgYTpob3ZlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzI2YjZkNDsNCglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KLmJvdHRvbV9mb290ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwYTFjNWQ7DQoJcGFkZGluZzogMzBweCAwOw0KfQ0KLmNvcHlyaWdodCB7DQoJY29sb3I6ICNmZmZmZmY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCW1hcmdpbjogMDsNCn0NCi5mb290ZXJfbWVudSB7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQouZm9vdGVyX21lbnUgbGkgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW4tbGVmdDogMTBweDsNCn0NCi5mb290ZXJfbWVudSBsaSBhLA0KLmZvb3Rlcl9saW5rIGEgew0KCWNvbG9yOiNmZmY7DQoJZm9udC1zaXplOjE0cHg7DQp9DQouZm9vdGVyX21lbnUgbGkgYTpob3ZlciwNCi5mb290ZXJfbGluayBhOmhvdmVyIHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi5mb290ZXJfbGluayBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCXZlcnRpY2FsLWFsaWduOiB0b3A7DQoJd2lkdGg6IDUwJTsNCn0NCi5mb290ZXJfbGluayBsaTpudGgtY2hpbGQoLW4rMikgew0KCW1hcmdpbi10b3A6IDBweDsNCn0NCi5mb290ZXJfbGluayBsaTpudGgtY2hpbGQoMm4rMSkgew0KCXBhZGRpbmctcmlnaHQ6IDE1cHg7DQp9DQouZm9vdGVyX2Rlc2Mgew0KCW1hcmdpbi10b3A6MjBweDsNCn0NCi5mb290ZXJfZGVzYyBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCgltYXJnaW4tYm90dG9tOiAwOw0KfQ0KDQoudl9saWdodCAudG9wX2Zvb3RlciB7DQoJYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMmQwZTI7DQp9DQoudl9saWdodCAuZm9vdGVyX3RpdGxlIHsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5uZXdzbGV0dGVyX2Zvcm0gaW5wdXQgew0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQoJY29sb3I6ICM3YTdhN2E7DQp9DQoudl9saWdodCAubmV3c2xldHRlcl9mb3JtIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsNCgljb2xvcjojN2E3YTdhOw0KfQ0KLnZfbGlnaHQgLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHsNCgljb2xvcjojN2E3YTdhOw0KfQ0KLnZfbGlnaHQgLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7DQoJY29sb3I6IzdhN2E3YTsNCn0NCi52X2xpZ2h0IC5uZXdzbGV0dGVyX2Zvcm0gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCgljb2xvcjojN2E3YTdhOw0KfQ0KLnZfbGlnaHQgLmZvb3Rlcl9zb2NpYWwgbGkgYSB7DQoJYm9yZGVyOiAycHggc29saWQgIzIwMTI2ZjsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5mb290ZXJfc29jaWFsIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMyNmI2ZDQ7DQoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi52X2xpZ2h0IC5mb290ZXJfbGluayBhIHsNCgljb2xvcjogIzIwMTI2ZjsNCn0NCi52X2xpZ2h0IC5mb290ZXJfbGluayBhOmhvdmVyIHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi52X2RhcmsgLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dCwNCi52X2RhcmtfbGlnaHQgLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dCB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzA4MGIxZjsNCn0NCi52X2RhcmsgLnRvcF9mb290ZXIsDQoudl9kYXJrX2xpZ2h0IC50b3BfZm9vdGVyIHsNCglib3JkZXItdG9wOiAxcHggc29saWQgIzM5M2M0YzsNCn0NCi52X2RhcmsgLmJvdHRvbV9mb290ZXIsDQoudl9kYXJrX2xpZ2h0IC5ib3R0b21fZm9vdGVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMGMwZTI4Ow0KfQ0KLnZfYmx1ZV9wcm8gLm5ld3NsZXR0ZXJfZm9ybSBpbnB1dCB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzE0MmJhYzsNCn0NCi52X2JsdWVfcHJvIC5ib3R0b21fZm9vdGVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDQxYjljOw0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjEyLiBFTkQgRk9PVEVSIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoxMy4gQkxPRyBQQUdFDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5ibG9nX2NvbnRlbnQgew0KCXBhZGRpbmc6IDE1cHg7DQoJbWFyZ2luLWJvdHRvbTogNDBweDsNCn0NCi5ibG9nX3RpdGxlIHsNCglmb250LXdlaWdodDogNjAwOw0KfQ0KLmJsb2dfaXRlbSB7DQoJYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsNCn0NCi5ibG9nX21ldGEgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl3aWR0aDogMTAwJTsNCn0NCi5ibG9nX21ldGEgbGkgew0KCWZsb2F0OiBsZWZ0Ow0KCXBhZGRpbmctcmlnaHQ6IDE1cHg7DQp9DQouYmxvZ19tZXRhIGxpOmxhc3QtY2hpbGQgew0KCXBhZGRpbmc6IDA7DQp9DQouYmxvZ19jb250ZW50IHAgew0KCW1hcmdpbjogMDsNCn0NCi5ibG9nX2ltZyB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi5ibG9nX2ltZyBpbWcgew0KCXpvb206IDE7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOw0KCS1vLXRyYW5zZm9ybTogc2NhbGUoMSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KCXRyYW5zZm9ybTogc2NhbGUoMSk7IC8qIFN0YW5kYXJkIFByb3BlcnR5ICovDQoJdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCgl3aWR0aDoxMDAlOw0KfQ0KLmJsb2dfaXRlbTpob3ZlciBpbWcgew0KCXpvb206IDEuMTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCgktby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQoJdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyAvKiBTdGFuZGFyZCBQcm9wZXJ0eSAqLw0KfQ0KLnBhZ2luYXRpb24gbGkgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMmU4NzsNCgljb2xvcjogI2ZmZmZmZjsNCglkaXNwbGF5OiBibG9jazsNCglmb250LXNpemU6IDE4cHg7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCglwYWRkaW5nOiAxMHB4IDIycHg7DQp9DQoucGFnaW5hdGlvbiBsaS5hY3RpdmUgYSwNCi5wYWdpbmF0aW9uIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDFlNzc7DQp9DQoucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCBhIHsNCglib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsNCn0NCi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQgYSB7DQoJYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7DQp9DQoNCi8qU2lkZWJhciBTZWN0aW9uKi8NCi5zaWRlYmFyX2Jsb2NrIHsNCglwYWRkaW5nLWxlZnQ6IDMwcHg7DQp9DQouZm9ybV9zZWFyY2ggew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5mb3JtX3NlYXJjaCBpbnB1dCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCglib3JkZXItcmFkaXVzOiA0MHB4Ow0KCXBhZGRpbmctcmlnaHQ6IDQ1cHg7DQp9DQouZm9ybV9zZWFyY2ggYnV0dG9uIHsNCgliYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQoJYm9yZGVyLXJhZGl1czogMDsNCgljb2xvcjogIzk5OTk5OTsNCglmb250LXNpemU6IDIycHg7DQoJcGFkZGluZzogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcmlnaHQ6IDIwcHg7DQoJdG9wOiAxMnB4Ow0KfQ0KLndpZGdldCB7DQoJbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCi53aWRnZXRfdGl0bGUgew0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkZGRkOw0KCW1hcmdpbi1ib3R0b206IDE1cHg7DQoJcGFkZGluZy1ib3R0b206IDEwcHg7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLndpZGdldF90aXRsZTo6YmVmb3JlIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMjAxMjZmOw0KCWJvdHRvbTogLTJweDsNCgljb250ZW50OiAiIjsNCgloZWlnaHQ6IDNweDsNCglsZWZ0OiAwOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogNzBweDsNCn0NCi53aWRnZXRfY2F0ZWdvcnkgbGksDQoud2lkZ2V0X2FyY2hpdmUgbGkgew0KCW1hcmdpbi1ib3R0b206IDVweDsNCn0NCi53aWRnZXRfY2F0ZWdvcnkgbGkgYSwNCi53aWRnZXRfYXJjaGl2ZSBsaSBhIHsNCgljb2xvcjogIzdhN2E3YTsNCglkaXNwbGF5OiBibG9jazsNCglwYWRkaW5nLWxlZnQ6IDIwcHg7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLndpZGdldF9jYXRlZ29yeSBsaSBhOmhvdmVyLA0KLndpZGdldF9hcmNoaXZlIGxpIGE6aG92ZXIgew0KCWNvbG9yOiMyNmI2ZDQ7DQp9DQoud2lkZ2V0X2NhdGVnb3J5IGxpIGE6OmJlZm9yZSwNCi53aWRnZXRfYXJjaGl2ZSBsaSBhOmJlZm9yZSB7DQoJY29udGVudDogIlxmMzBmIjsNCglmb250LWZhbWlseTogaW9uaWNvbnM7DQoJbGVmdDogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KfQ0KLndpZGdldC1wb3N0LXRodW1iIHsNCglmbG9hdDogbGVmdDsNCn0NCi53aWRnZXQtcG9zdC10aHVtYiBpbWcgew0KCW1heC13aWR0aDogMTAwcHg7DQp9DQoud2lkZ2V0LXBvc3QtY29udGVudCBoNiB7DQoJZm9udC13ZWlnaHQ6IDYwMDsNCn0NCi53aWRnZXQtcG9zdC1jb250ZW50IHsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBhZGRpbmctbGVmdDogMTBweDsNCn0NCi53aWRnZXQtcG9zdCB7DQoJYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjOTk5OTk5Ow0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW4tdG9wOiAxNXB4Ow0KCXBhZGRpbmctYm90dG9tOiAxNXB4Ow0KCXdpZHRoOiAxMDAlOw0KfQ0KLndpZGdldC1kYXRlIHsNCglmb250LXNpemU6IDE0cHg7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCn0NCi50YWdzIGxpIHsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCn0NCi50YWdzIGxpIGEgew0KCWJvcmRlcjogMXB4IHNvbGlkICM3YTdhN2E7DQoJYm9yZGVyLXJhZGl1czogNDBweDsNCgljb2xvcjogIzdhN2E3YTsNCglkaXNwbGF5OiBibG9jazsNCglmb250LXNpemU6MTRweDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCXBhZGRpbmc6IDVweCAxNXB4Ow0KfQ0KLnRhZ3MgbGkgYTpob3ZlciB7DQoJYm9yZGVyLWNvbG9yOiMyNmI2ZDQ7DQoJY29sb3I6IzI2YjZkNDsNCn0NCi53aWRnZXRfYXJjaGl2ZSBsaSBhIHNwYW4gew0KCWZsb2F0OiByaWdodDsNCn0NCg0KLypQb3N0IERldGFpbCovDQoucG9zdF9jb250ZW50IHAgew0KCW1hcmdpbi1ib3R0b206IDIwcHg7DQp9DQouYmxvZ19jb250ZW50X2RldGFpbCAuYmxvZ19jb250ZW50IHA6bGFzdC1jaGlsZCB7DQoJbWFyZ2luOjA7DQp9DQoucG9zdF9jb250ZW50IHsNCgltYXJnaW4tdG9wOiAyMHB4Ow0KfQ0KLnNvY2lhbC1zaGFyZSB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCXdpZHRoOiAxMDAlOw0KfQ0KLnNvY2lhbC1zaGFyZSBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQouc29jaWFsLXNoYXJlIGxpIGEgew0KCWJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7DQoJYm9yZGVyLXJhZGl1czogMTAwJTsNCgljb2xvcjogI2ZmZmZmZjsNCglkaXNwbGF5OiBibG9jazsNCgloZWlnaHQ6IDM1cHg7DQoJbGluZS1oZWlnaHQ6IDM2cHg7DQoJbWFyZ2luLXJpZ2h0OiA1cHg7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiAzNXB4Ow0KfQ0KLnNvY2lhbC1zaGFyZSBsaSBhOmhvdmVyIHsNCglvcGFjaXR5OiAwLjc7DQp9DQouc29jaWFsLXNoYXJlIGxpLmZhY2Vib29rIGEgew0KICAgIGJhY2tncm91bmQ6ICMzYjU5OTk7DQp9DQouc29jaWFsLXNoYXJlIGxpLnR3aXR0ZXIgYSB7DQogICAgYmFja2dyb3VuZDogIzM0Q0JGRjsNCn0NCi5zb2NpYWwtc2hhcmUgbGkuZ29vZ2xlLXBsdXMgYSB7DQogICAgYmFja2dyb3VuZDogI0QxNDgzNjsNCn0NCi5zb2NpYWwtc2hhcmUgbGkucGludGVyZXN0IGEgew0KICAgIGJhY2tncm91bmQ6ICNCMzA2MTA7DQp9DQouc29jaWFsLXNoYXJlIGxpLmxpbmtlZGluIGEgew0KICAgIGJhY2tncm91bmQ6ICMwMTY2OUE7DQp9DQouc29jaWFsLXNoYXJlIGxpLnJlZGRpdCBhIHsNCiAgICBiYWNrZ3JvdW5kOiAjNkZDMkZEOw0KfQ0KLnNvY2lhbC1zaGFyZSBsaS50dW1ibHIgYSB7DQogICAgYmFja2dyb3VuZDogIzJENTc3MDsNCn0NCi5jb21tZW50X2luZm8gew0KCWJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmY7DQoJbWFyZ2luLXRvcDogMTBweDsNCglwYWRkaW5nOiAzMHB4Ow0KfQ0KLmNvbW1lbnRfaW5mby5yZXBseSB7DQoJYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGRkZGQ7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmctbGVmdDogOTBweDsNCn0NCi5jb21tZW50LWFyZWEgew0KCW1hcmdpbi10b3A6IDMwcHg7DQp9DQouY29tbWVudC10aXRsZSB7DQoJbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCi51c2VyX2ltZyBpbWcgew0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJaGVpZ2h0OiBhdXRvOw0KCW1heC13aWR0aDogODBweDsNCn0NCi5jb21tZW50X2NvbnRlbnQgew0KCXBhZGRpbmctbGVmdDogMjBweDsNCn0NCi5tZXRhX2RhdGEgaDYgew0KCW1hcmdpbi1ib3R0b206IDA7DQp9DQouY29tbWVudC10aW1lIHsNCglmb250LXNpemU6IDE0cHg7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCgltYXJnaW4tYm90dG9tOiA4cHg7DQp9DQouY29tbWVudC1yZXBseSBpIHsNCgltYXJnaW4tcmlnaHQ6IDVweDsNCn0NCi5jb21tZW50X2NvbnRlbnQgcCB7DQoJbWFyZ2luOiAwOw0KfQ0KLmNvbW1lbnRfbGlzdCB7DQoJbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCg0KLnZfYmx1ZSAuYmxvZ19jb250ZW50LA0KLnZfYmx1ZSAuY29tbWVudF9pbmZvIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMGYzZTk3Ow0KfQ0KLnZfZGFya19saWdodCAuYmxvZ190aXRsZSwNCi52X2RhcmtfbGlnaHQgLmJsb2dfdGl0bGUgYSwNCi52X2RhcmtfbGlnaHQgLmJsb2dfbWV0YSBsaSBhLA0KLnZfZGFya19saWdodCAuYmxvZ19jb250ZW50IGEsDQoudl9kYXJrX2xpZ2h0IC53aWRnZXRfdGl0bGUsDQoudl9kYXJrX2xpZ2h0IC53aWRnZXQtcG9zdC1jb250ZW50IGg2IGEsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LXRpdGxlIGg1IHsNCgljb2xvcjogIzFhMWMzNDsNCn0NCi52X2JsdWUgLmJsb2dfdGl0bGUgYSwNCi52X2JsdWUgLmJsb2dfbWV0YSBhLA0KLnZfYmx1ZSAuYmxvZ19jb250ZW50IHAsDQoudl9ibHVlIC5ibG9nX2NvbnRlbnQgYSwNCi52X2JsdWUgLndpZGdldF90aXRsZSwNCi52X2JsdWUgLndpZGdldF9jYXRlZ29yeSBsaSBhLA0KLnZfYmx1ZSAud2lkZ2V0X2FyY2hpdmUgbGkgYSwNCi52X2JsdWUgLndpZGdldC1wb3N0LWNvbnRlbnQgaDYgYSwNCi52X2JsdWUgLndpZGdldC1kYXRlLA0KLnZfYmx1ZSAudGFncyBsaSBhLA0KLnZfYmx1ZSAucG9zdF9jb250ZW50IHAsDQoudl9ibHVlIC5jb21tZW50LXRpdGxlIGg1LA0KLnZfYmx1ZSAubWV0YV9kYXRhIGEsDQoudl9ibHVlIC5jb21tZW50LXRpbWUsDQoudl9ibHVlIC5jb21tZW50LXJlcGx5LA0KLnZfYmx1ZSAuY29tbWVudF9jb250ZW50IHAsDQoudl9kYXJrIC5ibG9nX3RpdGxlIGEsDQoudl9kYXJrIC5ibG9nX21ldGEgYSwNCi52X2RhcmsgLmJsb2dfY29udGVudCBwLA0KLnZfZGFyayAuYmxvZ19jb250ZW50IGEsDQoudl9kYXJrIC53aWRnZXRfdGl0bGUsDQoudl9kYXJrIC53aWRnZXRfY2F0ZWdvcnkgbGkgYSwNCi52X2RhcmsgLndpZGdldF9hcmNoaXZlIGxpIGEsDQoudl9kYXJrIC53aWRnZXQtcG9zdC1jb250ZW50IGg2IGEsDQoudl9kYXJrIC53aWRnZXQtZGF0ZSwNCi52X2RhcmsgLnRhZ3MgbGkgYSwNCi52X2RhcmsgLnBvc3RfY29udGVudCBwLA0KLnZfZGFyayAuY29tbWVudC10aXRsZSBoNSwNCi52X2RhcmsgLm1ldGFfZGF0YSBhLA0KLnZfZGFyayAuY29tbWVudC10aW1lLA0KLnZfZGFyayAuY29tbWVudC1yZXBseSwNCi52X2RhcmsgLmNvbW1lbnRfY29udGVudCBwLA0KLnZfZGFya19saWdodCAubWV0YV9kYXRhIGEsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LXRpbWUsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50X2NvbnRlbnQgcCwNCi52X2RhcmtfbGlnaHQgLmNvbW1lbnQtcmVwbHkgew0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnZfYmx1ZSAuYmxvZ190aXRsZSBhOmhvdmVyLA0KLnZfYmx1ZSAuYmxvZ19tZXRhIGE6aG92ZXIsDQoudl9ibHVlIC5ibG9nX2NvbnRlbnQgYTpob3ZlciwNCi52X2JsdWUgLndpZGdldF9jYXRlZ29yeSBsaSBhOmhvdmVyLA0KLnZfYmx1ZSAud2lkZ2V0X2FyY2hpdmUgbGkgYTpob3ZlciwNCi52X2JsdWUgLndpZGdldC1wb3N0LWNvbnRlbnQgaDYgYTpob3ZlciwNCi52X2JsdWUgLnRhZ3MgbGkgYTpob3ZlciwNCi52X2JsdWUgLm1ldGFfZGF0YSBhOmhvdmVyLA0KLnZfYmx1ZSAuY29tbWVudC1yZXBseTpob3ZlciwNCi52X2RhcmsgLnRhZ3MgbGkgYTpob3ZlciwNCi52X2RhcmsgLmJsb2dfdGl0bGUgYTpob3ZlciwNCi52X2RhcmsgLmJsb2dfbWV0YSBhOmhvdmVyLA0KLnZfZGFyayAuYmxvZ19jb250ZW50IGE6aG92ZXIsDQoudl9kYXJrIC53aWRnZXRfY2F0ZWdvcnkgbGkgYTpob3ZlciwNCi52X2RhcmsgLndpZGdldF9hcmNoaXZlIGxpIGE6aG92ZXIsDQoudl9kYXJrIC53aWRnZXQtcG9zdC1jb250ZW50IGg2IGE6aG92ZXIsDQoudl9kYXJrIC50YWdzIGxpIGE6aG92ZXIsDQoudl9kYXJrIC5tZXRhX2RhdGEgYTpob3ZlciwNCi52X2RhcmsgLmNvbW1lbnQtcmVwbHk6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5ibG9nX3RpdGxlIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5ibG9nX21ldGEgbGkgYTpob3ZlciwNCi52X2RhcmtfbGlnaHQgLmJsb2dfY29udGVudCBhOmhvdmVyLA0KLnZfZGFya19saWdodCAud2lkZ2V0LXBvc3QtY29udGVudCBoNiBhOmhvdmVyLA0KLnZfZGFya19saWdodCAubWV0YV9kYXRhIGE6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LXJlcGx5OmhvdmVyIHsNCgljb2xvcjogIzI2YjZkNDsNCn0NCi52X2JsdWUgLnRhZ3MgbGkgYSB7DQoJYm9yZGVyLWNvbG9yOiAjZmZmOw0KfQ0KLnZfYmx1ZSAudGFncyBsaSBhOmhvdmVyIHsNCglib3JkZXItY29sb3I6ICMyNmI2ZDQ7DQp9DQoudl9ibHVlIC53aWRnZXRfdGl0bGU6OmJlZm9yZSB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCn0NCi52X2JsdWUgLmNvbW1lbnRfaW5mby5yZXBseSB7DQoJYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDFlNzc7DQp9DQoudl9kYXJrIC5ibG9nX2NvbnRlbnQsDQoudl9kYXJrIC5jb21tZW50X2luZm8sDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50X2luZm8gew0KCWJhY2tncm91bmQtY29sb3I6ICMxYTFjMzQ7DQp9DQoudl9kYXJrIC5jb21tZW50X2luZm8ucmVwbHksDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50X2luZm8ucmVwbHkgew0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwMDE0Ow0KfQ0KLnZfZGFyayAudGFncyBsaSBhIHsNCglib3JkZXItY29sb3I6ICNmZmY7DQp9DQoudl9kYXJrIC50YWdzIGxpIGE6aG92ZXIgew0KCWJvcmRlci1jb2xvcjogIzI2YjZkNDsNCn0NCi52X2RhcmsgLndpZGdldF90aXRsZTpiZWZvcmUgew0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQp9DQoudl9kYXJrX2xpZ2h0IC53aWRnZXRfdGl0bGU6YmVmb3JlIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFyayAucGFnaW5hdGlvbiBsaSBhLA0KLnZfZGFya19saWdodCAucGFnaW5hdGlvbiBsaSBhIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFyayAucGFnaW5hdGlvbiBsaS5hY3RpdmUgYSwNCi52X2RhcmsgLnBhZ2luYXRpb24gbGkgYTpob3ZlciwNCi52X2RhcmtfbGlnaHQgLnBhZ2luYXRpb24gbGkuYWN0aXZlIGEsDQoudl9kYXJrX2xpZ2h0IC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMyYTJjNDQ7DQp9DQoudl9saWdodCAuYmxvZ19jb250ZW50IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOGZmOw0KfQ0KLnZfbGlnaHQgLnBhZ2luYXRpb24gbGkgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmZjsNCgljb2xvcjogIzAwMmU4NzsNCn0NCi52X2xpZ2h0IC5wYWdpbmF0aW9uIGxpLmFjdGl2ZSBhLA0KLnZfbGlnaHQgLnBhZ2luYXRpb24gbGkgYTpob3ZlciB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2U2ZThlZjsNCn0NCi52X2RhcmtfbGlnaHQgLmNvbW1lbnQtYXJlYSAuZm9ybV9maWVsZCBpbnB1dCwgDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LWFyZWEgLmZvcm1fZmllbGQgdGV4dGFyZWEsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LWFyZWEgLmZvcm1fZmllbGQgaW5wdXQ6Zm9jdXMsDQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LWFyZWEgLmZvcm1fZmllbGQgdGV4dGFyZWE6Zm9jdXMgew0KCWJvcmRlci1jb2xvcjogIzFhMWMzNDsNCgljb2xvcjojMWExYzM0Ow0KfQ0KLnZfZGFya19saWdodCAuY29tbWVudC1hcmVhIC5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFya19saWdodCAuY29tbWVudC1hcmVhIC5mb3JtLWNvbnRyb2w6LW1vei1wbGFjZWhvbGRlciB7DQoJY29sb3I6ICMxYTFjMzQ7DQp9DQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LWFyZWEgLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7DQoJY29sb3I6ICMxYTFjMzQ7DQp9DQoudl9kYXJrX2xpZ2h0IC5jb21tZW50LWFyZWEgLmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgew0KCWNvbG9yOiAjMWExYzM0Ow0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjEzLiBFTkQgQkxPRyBQQUdFDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE0LiBMT0dJTiBQQUdFDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCi5hdXRob3JpemVfYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmY7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCWJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCW1hcmdpbjogMCBhdXRvOw0KCW1heC13aWR0aDogNDAwcHg7DQoJcGFkZGluZzogMzVweDsNCn0NCi5hdXRob3JpemVfZm9ybSBpbnB1dCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsNCglib3JkZXItcmFkaXVzOiA0MHB4Ow0KfQ0KLmF1dGhvcml6ZV9mb3JtIGlucHV0I3Bhc3N3b3JkLWZpZWxkIHsNCglwYWRkaW5nLXJpZ2h0OiA1MHB4Ow0KfQ0KLmF1dGhvcml6ZV9mb3JtIGlucHV0OmhvdmVyLCANCi5hdXRob3JpemVfZm9ybSBpbnB1dDpmb2N1cyB7DQoJYm9yZGVyLWNvbG9yOiAjOTk5OTk5Ow0KfQ0KLmF1dGhvcml6ZV9mb3JtIGJ1dHRvbiB7DQoJd2lkdGg6IDEwMCU7DQp9DQouY2hlY2tib3hfZmllbGQgaW5wdXQgew0KCWRpc3BsYXk6IG5vbmU7DQoJd2lkdGg6IGF1dG87DQp9DQouY2hlY2tib3hfZmllbGQgbGFiZWwgew0KCXBhZGRpbmctbGVmdDogMjBweDsNCgljdXJzb3I6IHBvaW50ZXI7DQoJZm9udC1zaXplOiAxNHB4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouY2hlY2tib3hfZmllbGQgbGFiZWw6OmJlZm9yZSB7DQoJY29udGVudDogIlxmMzcyIjsNCglmb250LWZhbWlseTogaW9uaWNvbnM7DQoJZm9udC1zaXplOiAxOHB4Ow0KCWxlZnQ6IDA7DQoJbGluZS1oZWlnaHQ6IG5vcm1hbDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1cHg7DQp9DQouY2hlY2tib3hfZmllbGQgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUgew0KCWNvbnRlbnQ6ICJcZjM3MyI7DQp9DQouZm9yZ290X3Bhc3Mgew0KCWZsb2F0OiByaWdodDsNCglmb250LXNpemU6IDE0cHg7DQp9DQouYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi50b2dnbGUtcGFzc3dvcmQgew0KCWNvbG9yOiAjOTk5OTk5Ow0KCWN1cnNvcjogcG9pbnRlcjsNCglmb250LXNpemU6IDI2cHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXJpZ2h0OiAxNXB4Ow0KCXRvcDogMTJweDsNCn0NCi5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHsNCgltYXJnaW46IDA7DQp9DQoNCi52X2JsdWUgLmF1dGhvcml6ZV9ib3ggew0KCWJhY2tncm91bmQtY29sb3I6ICMwZjNlOTc7DQp9DQoudl9saWdodCAuYXV0aG9yaXplX2JveCB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmZjsNCn0NCi52X2JsdWUgLmNoZWNrYm94X2ZpZWxkIGxhYmVsLA0KLnZfYmx1ZSAuZm9yZ290X3Bhc3MsDQoudl9ibHVlIC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCBzcGFuLA0KLnZfYmx1ZSAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgc3BhbiBhLA0KLnZfYmx1ZSAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgLmNoZWNrYm94X2ZpZWxkIGxhYmVsIGEsDQoudl9kYXJrIC5jaGVja2JveF9maWVsZCBsYWJlbCwNCi52X2RhcmsgLmZvcmdvdF9wYXNzLA0KLnZfZGFyayAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgc3BhbiwNCi52X2RhcmsgLmF1dGhvcml6ZV9mb3JtIC5mb3JtLWdyb3VwIHNwYW4gYSwNCi52X2RhcmsgLmF1dGhvcml6ZV9mb3JtIC5mb3JtLWdyb3VwIC5jaGVja2JveF9maWVsZCBsYWJlbCBhIHsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCg0KLnZfYmx1ZSAuZm9yZ290X3Bhc3M6aG92ZXIsDQoudl9ibHVlIC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCBzcGFuIGE6aG92ZXIsDQoudl9ibHVlIC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCAuY2hlY2tib3hfZmllbGQgbGFiZWwgYTpob3ZlciwNCi52X2RhcmsgLmZvcmdvdF9wYXNzOmhvdmVyLA0KLnZfZGFyayAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgc3BhbiBhOmhvdmVyLA0KLnZfZGFyayAuYXV0aG9yaXplX2Zvcm0gLmZvcm0tZ3JvdXAgLmNoZWNrYm94X2ZpZWxkIGxhYmVsIGE6aG92ZXIgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KDQoudl9kYXJrIC5hdXRob3JpemVfYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFya19saWdodCAuZm9yZ290X3Bhc3MsDQoudl9kYXJrX2xpZ2h0IC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCBzcGFuIGEgew0KCWNvbG9yOiAjMWExYzM0Ow0KfQ0KLnZfZGFya19saWdodCAuZm9yZ290X3Bhc3M6aG92ZXIsDQoudl9kYXJrX2xpZ2h0IC5hdXRob3JpemVfZm9ybSAuZm9ybS1ncm91cCBzcGFuIGE6aG92ZXIgew0KCWNvbG9yOiAjMjZiNmQ0Ow0KfQ0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE0LiBMT0dJTiBQQUdFDQoqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCjE1LiBNT0JJTEUgQVBQIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLmFwcF9idG4gbGkgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQouYXBwX2J0biBsaSBhIHNwYW4gew0KCWNvbG9yOiAjZmZmZmZmOw0KCWZvbnQtc2l6ZTogMThweDsNCgltYXJnaW4tbGVmdDogNXB4Ow0KfQ0KLmFwcF9idG4gbGkgYTpob3ZlciBzcGFuIHsNCgljb2xvcjogIzQ2ZDZmZjsNCn0NCi5hcHBfZmVhdHVyZSB7DQoJbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCi5hcHBfY29udGVudCBwIHsNCgljb2xvcjogI2ZmZmZmZjsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KLmFwcF9mZWF0dXJlIGkgew0KCWNvbG9yOiAjNDZkNmZmOw0KCWZvbnQtc2l6ZTogMjRweDsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KLmFwcF9mZWF0dXJlIGg1IHsNCgljb2xvcjogI2ZmZmZmZjsNCglmb250LXNpemU6IDE4cHg7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTUuIEVORCBNT0JJTEUgQVBQIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KDQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTYuIFdISVRFUEFQRVIgU0VDVElPTg0KKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQouZG9jX2JveCB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDM2ZDsNCglib3JkZXItbGVmdDogM3B4IHNvbGlkICM0NmQ2ZmY7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCXBhZGRpbmc6IDEwcHg7DQp9DQoud3BfZG9jdW1lbnQgew0KCW1hcmdpbi1sZWZ0OiAtMTBweDsNCgltYXJnaW4tcmlnaHQ6IC0xMHB4Ow0KfQ0KLndwX2RvY3VtZW50IGxpIHsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAwIDEwcHg7DQoJd2lkdGg6IDI1JTsNCn0NCi5kb2NfYm94IGg1LCANCi5kb2NfYm94IGEgew0KCWNvbG9yOiAjZmZmZmZmOw0KCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOw0KfQ0KLmRvY19ib3ggYTpob3ZlciB7DQoJY29sb3I6ICM0NmQ2ZmY7DQp9DQouZG9jX2JveCBhIGkgew0KCW1hcmdpbi1sZWZ0OiA1cHg7DQp9DQovKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KMTYuIEVORCBXSElURVBBUEVSIFNFQ1RJT04NCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw=="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/s2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.005Z","timestamp":1785154928005,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/s2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:20 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gAVmV%2B%2FMsmmJCsYvPxp98f19Cn432yTrvkhvj8OPPRgUHzjYPnKLuVdbqd%2BfWwEjCylgth9XS10c57ybr9PuL4CTsOI90on2%2Fj3jtpq3dlVT5WAZmB3m1Mtlb6nCv%2FCchcZqqre3hTM%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d91b28a-OSL\r\ncontent-length: 107509\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":107509,"size_decoded":108279,"mime_type":"image/png","magic":"PNG image data, 1240 x 614, 8-bit/color RGBA, non-interlaced","md5":"2aaa2792c6aa2ec2889b1787e012e4a0","sha1":"4684910315495c0eb6d73e38773f2f0be341fbb1","sha256":"fea2776a7577e81bd4fde1a2e88cc09528f9000a0f5019eabd366623a6c7b4cd","sha512":"d67dfa31a289b355819338e1b2413db102c74d33788ef7991dc058329cbaa45c091b0ab1101c4d2719d946acde8a8307358ff149ef071b10db74e03c2a62f77c","ssdeep":"3072:1TSQ8UFqpXoGDlJTpIlmy0Jn+clUoUGVMk8N:1TXvKoGpIlmvUpI58N","tlshash":"a1b3e0433e5cdf299f27e81a211d1358eb0ca3bcddad13bf8090c5671ad91086db6e0a","first_seen":"2026-07-27T05:58:00.911289Z","last_seen":"2026-07-27T12:23:18.843441Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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":"fetch","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:18.957Z","timestamp":1785154938957,"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://primeelitecapital.com/\r\nOrigin: https://primeelitecapital.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://primeelitecapital.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 12:22:19 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":529,"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-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":60,"timings":{"blocked":0,"dns":0,"connect":29,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/css/ionicons.min.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.903Z","timestamp":1785154927903,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/css/ionicons.min.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:12 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3bfaiRF4ciT4aLreNw8QJxJKcgl4ozoxMFRXv83K3nrMXCjVKzqEOkhnnB%2FMzTZN4M%2BuWClEM%2FnS57TIlLwdIyslQaNg6TVSqQAMjiHuJggh95V0sfkVwix9ZAPhNZehqteoRkt%2Betc%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b6d4ab28a-OSL\r\ncontent-length: 7585\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":51315,"size_decoded":8398,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (50822), with CRLF line terminators","md5":"d7432a180bd93eb38253545f57f0014a","sha1":"1458beebfe1b9d979004130958429a0a0af9b9f3","sha256":"5ec58a15605a24149ef03ce26cb01b18edeb0c3adfe768d2709dc38f5bfd7999","sha512":"c7addba3174b08ad657925ae89a177fb63c00ba2bd2e84d57de552fbebe716c0cafea6adfafaea265b55c45681e69d59a65aad2d27ea79bbd9ec14e22f1a90e2","ssdeep":"384:H4kb8hhJhjRqFdtYRjJIjsjaHnNfc2C4741mf5HRzu:H4lhhjQFduRjJ7uHFcu7Smf5xzu","tlshash":"b133f8e4d20c0dd0ab35c447ab49674858b5f7fbe4584ca8e42fd4ac39cb224a3e5b6d","first_seen":"2025-04-30T13:02:14.496896Z","last_seen":"2026-07-27T12:23:18.849712Z","times_seen":39,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsvKiENCiAgSW9uaWNvbnMsIHYyLjAuMA0KICBDcmVhdGVkIGJ5IEJlbiBTcGVycnkgZm9yIHRoZSBJb25pYyBGcmFtZXdvcmssIGh0dHA6Ly9pb25pY29ucy5jb20vDQogIGh0dHBzOi8vdHdpdHRlci5jb20vYmVuanNwZXJyeSAgaHR0cHM6Ly90d2l0dGVyLmNvbS9pb25pY2ZyYW1ld29yaw0KICBNSVQgTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL2RyaWZ0eWNvL2lvbmljb25zDQoNCiAgQW5kcm9pZC1zdHlsZSBpY29ucyBvcmlnaW5hbGx5IGJ1aWx0IGJ5IEdvb2dsZeKAmXMNCiAgTWF0ZXJpYWwgRGVzaWduIEljb25zOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL21hdGVyaWFsLWRlc2lnbi1pY29ucw0KICB1c2VkIHVuZGVyIENDIEJZIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8NCiAgTW9kaWZpZWQgaWNvbnMgdG8gZml0IGlvbmljb27igJlzIGdyaWQgZnJvbSBvcmlnaW5hbC4NCiovQGZvbnQtZmFjZXtmb250LWZhbWlseToiSW9uaWNvbnMiO3NyYzp1cmwoIi4uL2ZvbnRzL2lvbmljb25zMjhiNS5lb3Q/dj0yLjAuMCIpO3NyYzp1cmwoIi4uL2ZvbnRzL2lvbmljb25zMjhiNS5lb3Q/dj0yLjAuMCNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoIi4uL2ZvbnRzL2lvbmljb25zMjhiNS50dGY/dj0yLjAuMCIpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoIi4uL2ZvbnRzL2lvbmljb25zMjhiNS53b2ZmP3Y9Mi4wLjAiKSBmb3JtYXQoIndvZmYiKSx1cmwoIi4uL2ZvbnRzL2lvbmljb25zMjhiNS5zdmc/dj0yLjAuMCNJb25pY29ucyIpIGZvcm1hdCgic3ZnIik7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfS5pb24sLmlvbmljb25zLC5pb24tYWxlcnQ6YmVmb3JlLC5pb24tYWxlcnQtY2lyY2xlZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFkZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFkZC1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1hbGFybS1jbG9jazpyZSwuaW9uLWFuZHJvaWQtYWxlcnQ6YmVmb3JlLC5pb24tYW5kcm9pZC1hcHBzOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJjaGl2ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWJhY2s6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kb3duOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGRvd246YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bi1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWRyb3BsZWZ0LWNpcmNsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wdXA6YmVmb3JlLC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wdXAtY2lyY2xlOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXJyb3ctZm9yd2FyZDpiZWZvcmUsLmlvbi1hbmRyb2lkLWFycm93LXVwOmJlZm9yZSwuaW9uLWFuZHJvaWQtYXR0YWNoOmJlZm9yZSwuaW9uLWFuZHJvaWQtYmFyOmJlZm9yZSwuaW9uLWFuZHJvaWQtYmljeWNsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWJvYXQ6YmVmb3JlLC5pb24tYW5kcm9pZC1ib29rbWFyazpiZWZvcmUsLmlvbi1hbmRyb2lkLWJ1bGI6YmVmb3JlLC5pb24tYW5kcm9pZC1idXM6YmVmb3JlLC5pb24tYW5kcm9pZC1jYWxlbmRhcjpiZWZvcmUsLmlvbi1hbmRyb2lkLWNhbGw6YmVmb3JlLC5pb24tYW5kcm9pZC1jYW1lcmE6YmVmb3JlLC5pb24tYW5kcm9pZC1jYW5jZWw6YmVmb3JlLC5pb24tYW5kcm9pZC1jYXI6YmVmb3JlLC5pb24tYW5kcm9pZC1jYXJ0OmJlZm9yZSwuaW9uLWFuZHJvaWQtY2hhdDpiZWZvcmUsLmlvbi1hbmRyb2lkLWNoZWNrYm94OmJlZm9yZSwuaW9uLWFuZHJvaWQtY2hlY2tib3gtYmxhbms6YmVmb3JlLC5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2hlY2tib3gtb3V0bGluZS1ibGFuazpiZWZvcmUsLmlvbi1hbmRyb2lkLWNoZWNrbWFyay1jaXJjbGU6YmVmb3JlLC5pb24tYW5kcm9pZC1jbGlwYm9hcmQ6YmVmb3JlLC5pb24tYW5kcm9pZC1jbG9zZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWNsb3VkOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2xvdWQtY2lyY2xlOmJlZm9yZSwuaW9uLWFuZHJvaWQtY2xvdWQtZG9uZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWNsb3VkLW91dGxpbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1jb2xvci1wYWxldHRlOmJlZm9yZSwuaW9uLWFuZHJvaWQtY29tcGFzczpiZWZvcmUsLmlvbi1hbmRyb2lkLWNvbnRhY3Q6YmVmb3JlLC5pb24tYW5kcm9pZC1jb250YWN0czpiZWZvcmUsLmlvbi1hbmRyb2lkLWNvbnRyYWN0OmJlZm9yZSwuaW9uLWFuZHJvaWQtY3JlYXRlOmJlZm9yZSwuaW9uLWFuZHJvaWQtZGVsZXRlOmJlZm9yZSwuaW9uLWFuZHJvaWQtZGVza3RvcDpiZWZvcmUsLmlvbi1hbmRyb2lkLWRvY3VtZW50OmJlZm9yZSwuaW9uLWFuZHJvaWQtZG9uZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWRvbmUtYWxsOmJlZm9yZSwuaW9uLWFuZHJvaWQtZG93bmxvYWQ6YmVmb3JlLC5pb24tYW5kcm9pZC1kcmFmdHM6YmVmb3JlLC5pb24tYW5kcm9pZC1leGl0OmJlZm9yZSwuaW9uLWFuZHJvaWQtZXhwYW5kOmJlZm9yZSwuaW9uLWFuZHJvaWQtZmF2b3JpdGU6YmVmb3JlLC5pb24tYW5kcm9pZC1mYXZvcml0ZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWFuZHJvaWQtZmlsbTpiZWZvcmUsLmlvbi1hbmRyb2lkLWZvbGRlcjpiZWZvcmUsLmlvbi1hbmRyb2lkLWZvbGRlci1vcGVuOmJlZm9yZSwuaW9uLWFuZHJvaWQtZnVubmVsOmJlZm9yZSwuaW9uLWFuZHJvaWQtZ2xvYmU6YmVmb3JlLC5pb24tYW5kcm9pZC1oYW5kOmJlZm9yZSwuaW9uLWFuZHJvaWQtaGFuZ291dDpiZWZvcmUsLmlvbi1hbmRyb2lkLWhhcHB5OmJlZm9yZSwuaW9uLWFuZHJvaWQtaG9tZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWltYWdlOmJlZm9yZSwuaW9uLWFuZHJvaWQtbGFwdG9wOmJlZm9yZSwuaW9uLWFuZHJvaWQtbGlzdDpiZWZvcmUsLmlvbi1hbmRyb2lkLWxvY2F0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLWxvY2s6YmVmb3JlLC5pb24tYW5kcm9pZC1tYWlsOmJlZm9yZSwuaW9uLWFuZHJvaWQtbWFwOmJlZm9yZSwuaW9uLWFuZHJvaWQtbWVudTpiZWZvcmUsLmlvbi1hbmRyb2lkLW1pY3JvcGhvbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1taWNyb3Bob25lLW9mZjpiZWZvcmUsLmlvbi1hbmRyb2lkLW1vcmUtaG9yaXpvbnRhbDpiZWZvcmUsLmlvbi1hbmRyb2lkLW1vcmUtdmVydGljYWw6YmVmb3JlLC5pb24tYW5kcm9pZC1uYXZpZ2F0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnM6YmVmb3JlLC5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW5vbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1ub3RpZmljYXRpb25zLW9mZjpiZWZvcmUsLmlvbi1hbmRyb2lkLW9wZW46YmVmb3JlLC5pb24tYW5kcm9pZC1vcHRpb25zOmJlZm9yZSwuaW9uLWFuZHJvaWQtcGVvcGxlOmJlZm9yZSwuaW9uLWFuZHJvaWQtcGVyc29uOmJlZm9yZSwuaW9uLWFuZHJvaWQtcGVyc29uLWFkZDpiZWZvcmUsLmlvbi1hbmRyb2lkLXBob25lLWxhbmRzY2FwZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXBob25lLXBvcnRyYWl0OmJlZm9yZSwuaW9uLWFuZHJvaWQtcGluOmJlZm9yZSwuaW9uLWFuZHJvaWQtcGxhbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1wbGF5c3RvcmU6YmVmb3JlLC5pb24tYW5kcm9pZC1wcmludDpiZWZvcmUsLmlvbi1hbmRyb2lkLXJhZGlvLWJ1dHRvbi1vZmY6YmVmb3JlLC5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb246YmVmb3JlLC5pb24tYW5kcm9pZC1yZWZyZXNoOmJlZm9yZSwuaW9uLWFuZHJvaWQtcmVtb3ZlOmJlZm9yZSwuaW9uLWFuZHJvaWQtcmVtb3ZlLWNpcmNsZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXJlc3RhdXJhbnQ6YmVmb3JlLC5pb24tYW5kcm9pZC1zYWQ6YmVmb3JlLC5pb24tYW5kcm9pZC1zZWFyY2g6YmVmb3JlLC5pb24tYW5kcm9pZC1zZW5kOmJlZm9yZSwuaW9uLWFuZHJvaWQtc2V0dGluZ3M6YmVmb3JlLC5pb24tYW5kcm9pZC1zaGFyZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXNoYXJlLWFsdDpiZWZvcmUsLmlvbi1hbmRyb2lkLXN0YXI6YmVmb3JlLC5pb24tYW5kcm9pZC1zdGFyLWhhbGY6YmVmb3JlLC5pb24tYW5kcm9pZC1zdGFyLW91dGxpbmU6YmVmb3JlLC5pb24tYW5kcm9pZC1zdG9wd2F0Y2g6YmVmb3JlLC5pb24tYW5kcm9pZC1zdWJ3YXk6YmVmb3JlLC5pb24tYW5kcm9pZC1zdW5ueTpiZWZvcmUsLmlvbi1hbmRyb2lkLXN5bmM6YmVmb3JlLC5pb24tYW5kcm9pZC10ZXh0c21zOmJlZm9yZSwuaW9uLWFuZHJvaWQtdGltZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXRyYWluOmJlZm9yZSwuaW9uLWFuZHJvaWQtdW5sb2NrOmJlZm9yZSwuaW9uLWFuZHJvaWQtdXBsb2FkOmJlZm9yZSwuaW9uLWFuZHJvaWQtdm9sdW1lLWRvd246YmVmb3JlLC5pb24tYW5kcm9pZC12b2x1bWUtbXV0ZTpiZWZvcmUsLmlvbi1hbmRyb2lkLXZvbHVtZS1vZmY6YmVmb3JlLC5pb24tYW5kcm9pZC12b2x1bWUtdXA6YmVmb3JlLC5pb24tYW5kcm9pZC13YWxrOmJlZm9yZSwuaW9uLWFuZHJvaWQtd2FybmluZzpiZWZvcmUsLmlvbi1hbmRyb2lkLXdhdGNoOmJlZm9yZSwuaW9uLWFuZHJvaWQtd2lmaTpiZWZvcmUsLmlvbi1hcGVydHVyZTpiZWZvcmUsLmlvbi1hcmNoaXZlOmJlZm9yZSwuaW9uLWFycm93LWRvd24tYTpiZWZvcmUsLmlvbi1hcnJvdy1kb3duLWI6YmVmb3JlLC5pb24tYXJyb3ctZG93bi1jOmJlZm9yZSwuaW9uLWFycm93LWV4cGFuZDpiZWZvcmUsLmlvbi1hcnJvdy1ncmFwaC1kb3duLWxlZnQ6YmVmb3JlLC5pb24tYXJyb3ctZ3JhcGgtZG93bi1yaWdodDpiZWZvcmUsLmlvbi1hcnJvdy1ncmFwaC11cC1sZWZ0OmJlZm9yZSwuaW9uLWFycm93LWdyYXBoLXVwLXJpZ2h0OmJlZm9yZSwuaW9uLWFycm93LWxlZnQtYTpiZWZvcmUsLmlvbi1hcnJvdy1sZWZ0LWI6YmVmb3JlLC5pb24tYXJyb3ctbGVmdC1jOmJlZm9yZSwuaW9uLWFycm93LW1vdmU6YmVmb3JlLC5pb24tYXJyb3ctcmVzaXplOmJlZm9yZSwuaW9uLWFycm93LXJldHVybi1sZWZ0OmJlZm9yZSwuaW9uLWFycm93LXJldHVybi1yaWdodDpiZWZvcmUsLmlvbi1hcnJvdy1yaWdodC1hOmJlZm9yZSwuaW9uLWFycm93LXJpZ2h0LWI6YmVmb3JlLC5pb24tYXJyb3ctcmlnaHQtYzpiZWZvcmUsLmlvbi1hcnJvdy1zaHJpbms6YmVmb3JlLC5pb24tYXJyb3ctc3dhcDpiZWZvcmUsLmlvbi1hcnJvdy11cC1hOmJlZm9yZSwuaW9uLWFycm93LXVwLWI6YmVmb3JlLC5pb24tYXJyb3ctdXAtYzpiZWZvcmUsLmlvbi1hc3RlcmlzazpiZWZvcmUsLmlvbi1hdDpiZWZvcmUsLmlvbi1iYWNrc3BhY2U6YmVmb3JlLC5pb24tYmFja3NwYWNlLW91dGxpbmU6YmVmb3JlLC5pb24tYmFnOmJlZm9yZSwuaW9uLWJhdHRlcnktY2hhcmdpbmc6YmVmb3JlLC5pb24tYmF0dGVyeS1lbXB0eTpiZWZvcmUsLmlvbi1iYXR0ZXJ5LWZ1bGw6YmVmb3JlLC5pb24tYmF0dGVyeS1oYWxmOmJlZm9yZSwuaW9uLWJhdHRlcnktbG93OmJlZm9yZSwuaW9uLWJlYWtlcjpiZWZvcmUsLmlvbi1iZWVyOmJlZm9yZSwuaW9uLWJsdWV0b290aDpiZWZvcmUsLmlvbi1ib25maXJlOmJlZm9yZSwuaW9uLWJvb2ttYXJrOmJlZm9yZSwuaW9uLWJvd3RpZTpiZWZvcmUsLmlvbi1icmllZmNhc2U6YmVmb3JlLC5pb24tYnVnOmJlZm9yZSwuaW9uLWNhbGN1bGF0b3I6YmVmb3JlLC5pb24tY2FsZW5kYXI6YmVmb3JlLC5pb24tY2FtZXJhOmJlZm9yZSwuaW9uLWNhcmQ6YmVmb3JlLC5pb24tY2FzaDpiZWZvcmUsLmlvbi1jaGF0Ym94OmJlZm9yZSwuaW9uLWNoYXRib3gtd29ya2luZzpiZWZvcmUsLmlvbi1jaGF0Ym94ZXM6YmVmb3JlLC5pb24tY2hhdGJ1YmJsZTpiZWZvcmUsLmlvbi1jaGF0YnViYmxlLXdvcmtpbmc6YmVmb3JlLC5pb24tY2hhdGJ1YmJsZXM6YmVmb3JlLC5pb24tY2hlY2ttYXJrOmJlZm9yZSwuaW9uLWNoZWNrbWFyay1jaXJjbGVkOmJlZm9yZSwuaW9uLWNoZWNrbWFyay1yb3VuZDpiZWZvcmUsLmlvbi1jaGV2cm9uLWRvd246YmVmb3JlLC5pb24tY2hldnJvbi1sZWZ0OmJlZm9yZSwuaW9uLWNoZXZyb24tcmlnaHQ6YmVmb3JlLC5pb24tY2hldnJvbi11cDpiZWZvcmUsLmlvbi1jbGlwYm9hcmQ6YmVmb3JlLC5pb24tY2xvY2s6YmVmb3JlLC5pb24tY2xvc2U6YmVmb3JlLC5pb24tY2xvc2UtY2lyY2xlZDpiZWZvcmUsLmlvbi1jbG9zZS1yb3VuZDpiZWZvcmUsLmlvbi1jbG9zZWQtY2FwdGlvbmluZzpiZWZvcmUsLmlvbi1jbG91ZDpiZWZvcmUsLmlvbi1jb2RlOmJlZm9yZSwuaW9uLWNvZGUtZG93bmxvYWQ6YmVmb3JlLC5pb24tY29kZS13b3JraW5nOmJlZm9yZSwuaW9uLWNvZmZlZTpiZWZvcmUsLmlvbi1jb21wYXNzOmJlZm9yZSwuaW9uLWNvbXBvc2U6YmVmb3JlLC5pb24tY29ubmVjdGlvbi1iYXJzOmJlZm9yZSwuaW9uLWNvbnRyYXN0OmJlZm9yZSwuaW9uLWNyb3A6YmVmb3JlLC5pb24tY3ViZTpiZWZvcmUsLmlvbi1kaXNjOmJlZm9yZSwuaW9uLWRvY3VtZW50OmJlZm9yZSwuaW9uLWRvY3VtZW50LXRleHQ6YmVmb3JlLC5pb24tZHJhZzpiZWZvcmUsLmlvbi1lYXJ0aDpiZWZvcmUsLmlvbi1lYXNlbDpiZWZvcmUsLmlvbi1lZGl0OmJlZm9yZSwuaW9uLWVnZzpiZWZvcmUsLmlvbi1lamVjdDpiZWZvcmUsLmlvbi1lbWFpbDpiZWZvcmUsLmlvbi1lbWFpbC11bnJlYWQ6YmVmb3JlLC5pb24tZXJsZW5tZXllci1mbGFzazpiZWZvcmUsLmlvbi1lcmxlbm1leWVyLWZsYXNrLWJ1YmJsZXM6YmVmb3JlLC5pb24tZXllOmJlZm9yZSwuaW9uLWV5ZS1kaXNhYmxlZDpiZWZvcmUsLmlvbi1mZW1hbGU6YmVmb3JlLC5pb24tZmlsaW5nOmJlZm9yZSwuaW9uLWZpbG0tbWFya2VyOmJlZm9yZSwuaW9uLWZpcmViYWxsOmJlZm9yZSwuaW9uLWZsYWc6YmVmb3JlLC5pb24tZmxhbWU6YmVmb3JlLC5pb24tZmxhc2g6YmVmb3JlLC5pb24tZmxhc2gtb2ZmOmJlZm9yZSwuaW9uLWZvbGRlcjpiZWZvcmUsLmlvbi1mb3JrOmJlZm9yZSwuaW9uLWZvcmstcmVwbzpiZWZvcmUsLmlvbi1mb3J3YXJkOmJlZm9yZSwuaW9uLWZ1bm5lbDpiZWZvcmUsLmlvbi1nZWFyLWE6YmVmb3JlLC5pb24tZ2Vhci1iOmJlZm9yZSwuaW9uLWdyaWQ6YmVmb3JlLC5pb24taGFtbWVyOmJlZm9yZSwuaW9uLWhhcHB5OmJlZm9yZSwuaW9uLWhhcHB5LW91dGxpbmU6YmVmb3JlLC5pb24taGVhZHBob25lOmJlZm9yZSwuaW9uLWhlYXJ0OmJlZm9yZSwuaW9uLWhlYXJ0LWJyb2tlbjpiZWZvcmUsLmlvbi1oZWxwOmJlZm9yZSwuaW9uLWhlbHAtYnVveTpiZWZvcmUsLmlvbi1oZWxwLWNpcmNsZWQ6YmVmb3JlLC5pb24taG9tZTpiZWZvcmUsLmlvbi1pY2VjcmVhbTpiZWZvcmUsLmlvbi1pbWFnZTpiZWZvcmUsLmlvbi1pbWFnZXM6YmVmb3JlLC5pb24taW5mb3JtYXRpb246YmVmb3JlLC5pb24taW5mb3JtYXRpb24tY2lyY2xlZDpiZWZvcmUsLmlvbi1pb25pYzpiZWZvcmUsLmlvbi1pb3MtYWxhcm06YmVmb3JlLC5pb24taW9zLWFsYXJtLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWFsYnVtczpiZWZvcmUsLmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWFtZXJpY2FuZm9vdGJhbGw6YmVmb3JlLC5pb24taW9zLWFtZXJpY2FuZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYW5hbHl0aWNzOmJlZm9yZSwuaW9uLWlvcy1hbmFseXRpY3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctYmFjazpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctZm9yd2FyZDpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctbGVmdDpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctcmlnaHQ6YmVmb3JlLC5pb24taW9zLWFycm93LXRoaW4tZG93bjpiZWZvcmUsLmlvbi1pb3MtYXJyb3ctdGhpbi1sZWZ0OmJlZm9yZSwuaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0OmJlZm9yZSwuaW9uLWlvcy1hcnJvdy10aGluLXVwOmJlZm9yZSwuaW9uLWlvcy1hcnJvdy11cDpiZWZvcmUsLmlvbi1pb3MtYXQ6YmVmb3JlLC5pb24taW9zLWF0LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJhcmNvZGU6YmVmb3JlLC5pb24taW9zLWJhcmNvZGUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYmFzZWJhbGw6YmVmb3JlLC5pb24taW9zLWJhc2ViYWxsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlLC5pb24taW9zLWJhc2tldGJhbGwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYmVsbDpiZWZvcmUsLmlvbi1pb3MtYmVsbC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ib2R5OmJlZm9yZSwuaW9uLWlvcy1ib2R5LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWJvbHQ6YmVmb3JlLC5pb24taW9zLWJvbHQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtYm9vazpiZWZvcmUsLmlvbi1pb3MtYm9vay1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ib29rbWFya3M6YmVmb3JlLC5pb24taW9zLWJvb2ttYXJrcy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1ib3g6YmVmb3JlLC5pb24taW9zLWJveC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1icmllZmNhc2U6YmVmb3JlLC5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1icm93c2VyczpiZWZvcmUsLmlvbi1pb3MtYnJvd3NlcnMtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmUsLmlvbi1pb3MtY2FsY3VsYXRvci1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jYWxlbmRhcjpiZWZvcmUsLmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2FtZXJhOmJlZm9yZSwuaW9uLWlvcy1jYW1lcmEtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2FydDpiZWZvcmUsLmlvbi1pb3MtY2FydC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jaGF0Ym94ZXM6YmVmb3JlLC5pb24taW9zLWNoYXRib3hlcy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jaGF0YnViYmxlOmJlZm9yZSwuaW9uLWlvcy1jaGF0YnViYmxlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNoZWNrbWFyazpiZWZvcmUsLmlvbi1pb3MtY2hlY2ttYXJrLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1jaGVja21hcmstb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2lyY2xlLWZpbGxlZDpiZWZvcmUsLmlvbi1pb3MtY2lyY2xlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNsb2NrOmJlZm9yZSwuaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jbG9zZTpiZWZvcmUsLmlvbi1pb3MtY2xvc2UtZW1wdHk6YmVmb3JlLC5pb24taW9zLWNsb3NlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNsb3VkOmJlZm9yZSwuaW9uLWlvcy1jbG91ZC1kb3dubG9hZDpiZWZvcmUsLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2xvdWQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2xvdWQtdXBsb2FkOmJlZm9yZSwuaW9uLWlvcy1jbG91ZC11cGxvYWQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY2xvdWR5OmJlZm9yZSwuaW9uLWlvcy1jbG91ZHktbmlnaHQ6YmVmb3JlLC5pb24taW9zLWNsb3VkeS1uaWdodC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jbG91ZHktb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY29nOmJlZm9yZSwuaW9uLWlvcy1jb2ctb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY29sb3ItZmlsdGVyOmJlZm9yZSwuaW9uLWlvcy1jb2xvci1maWx0ZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY29sb3Itd2FuZDpiZWZvcmUsLmlvbi1pb3MtY29sb3Itd2FuZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jb21wb3NlOmJlZm9yZSwuaW9uLWlvcy1jb21wb3NlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWNvbnRhY3Q6YmVmb3JlLC5pb24taW9zLWNvbnRhY3Qtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtY29weTpiZWZvcmUsLmlvbi1pb3MtY29weS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1jcm9wOmJlZm9yZSwuaW9uLWlvcy1jcm9wLXN0cm9uZzpiZWZvcmUsLmlvbi1pb3MtZG93bmxvYWQ6YmVmb3JlLC5pb24taW9zLWRvd25sb2FkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWRyYWc6YmVmb3JlLC5pb24taW9zLWVtYWlsOmJlZm9yZSwuaW9uLWlvcy1lbWFpbC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1leWU6YmVmb3JlLC5pb24taW9zLWV5ZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1mYXN0Zm9yd2FyZDpiZWZvcmUsLmlvbi1pb3MtZmFzdGZvcndhcmQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmlsaW5nOmJlZm9yZSwuaW9uLWlvcy1maWxpbmctb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmlsbTpiZWZvcmUsLmlvbi1pb3MtZmlsbS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1mbGFnOmJlZm9yZSwuaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWZsYW1lOmJlZm9yZSwuaW9uLWlvcy1mbGFtZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1mbGFzazpiZWZvcmUsLmlvbi1pb3MtZmxhc2stb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZmxvd2VyOmJlZm9yZSwuaW9uLWlvcy1mbG93ZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZm9sZGVyOmJlZm9yZSwuaW9uLWlvcy1mb2xkZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZm9vdGJhbGw6YmVmb3JlLC5pb24taW9zLWZvb3RiYWxsLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWdhbWUtY29udHJvbGxlci1hOmJlZm9yZSwuaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYjpiZWZvcmUsLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtZ2VhcjpiZWZvcmUsLmlvbi1pb3MtZ2Vhci1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1nbGFzc2VzOmJlZm9yZSwuaW9uLWlvcy1nbGFzc2VzLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWdyaWQtdmlldzpiZWZvcmUsLmlvbi1pb3MtZ3JpZC12aWV3LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWhlYXJ0OmJlZm9yZSwuaW9uLWlvcy1oZWFydC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1oZWxwOmJlZm9yZSwuaW9uLWlvcy1oZWxwLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1oZWxwLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWhvbWU6YmVmb3JlLC5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtaW5maW5pdGU6YmVmb3JlLC5pb24taW9zLWluZmluaXRlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLWluZm9ybWF0aW9uOmJlZm9yZSwuaW9uLWlvcy1pbmZvcm1hdGlvbi1lbXB0eTpiZWZvcmUsLmlvbi1pb3MtaW5mb3JtYXRpb24tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtaW9uaWMtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mta2V5cGFkOmJlZm9yZSwuaW9uLWlvcy1rZXlwYWQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbGlnaHRidWxiOmJlZm9yZSwuaW9uLWlvcy1saWdodGJ1bGItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbGlzdDpiZWZvcmUsLmlvbi1pb3MtbGlzdC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1sb2NhdGlvbjpiZWZvcmUsLmlvbi1pb3MtbG9jYXRpb24tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbG9ja2VkOmJlZm9yZSwuaW9uLWlvcy1sb2NrZWQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbG9vcDpiZWZvcmUsLmlvbi1pb3MtbG9vcC1zdHJvbmc6YmVmb3JlLC5pb24taW9zLW1lZGljYWw6YmVmb3JlLC5pb24taW9zLW1lZGljYWwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbWVka2l0OmJlZm9yZSwuaW9uLWlvcy1tZWRraXQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbWljOmJlZm9yZSwuaW9uLWlvcy1taWMtb2ZmOmJlZm9yZSwuaW9uLWlvcy1taWMtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbWludXM6YmVmb3JlLC5pb24taW9zLW1pbnVzLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1taW51cy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1tb25pdG9yOmJlZm9yZSwuaW9uLWlvcy1tb25pdG9yLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLW1vb246YmVmb3JlLC5pb24taW9zLW1vb24tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtbW9yZTpiZWZvcmUsLmlvbi1pb3MtbW9yZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1tdXNpY2FsLW5vdGU6YmVmb3JlLC5pb24taW9zLW11c2ljYWwtbm90ZXM6YmVmb3JlLC5pb24taW9zLW5hdmlnYXRlOmJlZm9yZSwuaW9uLWlvcy1uYXZpZ2F0ZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1udXRyaXRpb246YmVmb3JlLC5pb24taW9zLW51dHJpdGlvbi1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wYXBlcjpiZWZvcmUsLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGFwZXJwbGFuZTpiZWZvcmUsLmlvbi1pb3MtcGFwZXJwbGFuZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wYXJ0bHlzdW5ueTpiZWZvcmUsLmlvbi1pb3MtcGFydGx5c3Vubnktb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGF1c2U6YmVmb3JlLC5pb24taW9zLXBhdXNlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBhdzpiZWZvcmUsLmlvbi1pb3MtcGF3LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBlb3BsZTpiZWZvcmUsLmlvbi1pb3MtcGVvcGxlLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBlcnNvbjpiZWZvcmUsLmlvbi1pb3MtcGVyc29uLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBlcnNvbmFkZDpiZWZvcmUsLmlvbi1pb3MtcGVyc29uYWRkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBob3RvczpiZWZvcmUsLmlvbi1pb3MtcGhvdG9zLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBpZTpiZWZvcmUsLmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXBpbnQ6YmVmb3JlLC5pb24taW9zLXBpbnQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcGxheTpiZWZvcmUsLmlvbi1pb3MtcGxheS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wbHVzOmJlZm9yZSwuaW9uLWlvcy1wbHVzLWVtcHR5OmJlZm9yZSwuaW9uLWlvcy1wbHVzLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXByaWNldGFnOmJlZm9yZSwuaW9uLWlvcy1wcmljZXRhZy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wcmljZXRhZ3M6YmVmb3JlLC5pb24taW9zLXByaWNldGFncy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1wcmludGVyOmJlZm9yZSwuaW9uLWlvcy1wcmludGVyLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXB1bHNlOmJlZm9yZSwuaW9uLWlvcy1wdWxzZS1zdHJvbmc6YmVmb3JlLC5pb24taW9zLXJhaW55OmJlZm9yZSwuaW9uLWlvcy1yYWlueS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3JlLC5pb24taW9zLXJlY29yZGluZy1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1yZWRvOmJlZm9yZSwuaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXJlZnJlc2g6YmVmb3JlLC5pb24taW9zLXJlZnJlc2gtZW1wdHk6YmVmb3JlLC5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcmVsb2FkOmJlZm9yZSwuaW9uLWlvcy1yZXZlcnNlLWNhbWVyYTpiZWZvcmUsLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmEtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtcmV3aW5kOmJlZm9yZSwuaW9uLWlvcy1yZXdpbmQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtcm9zZTpiZWZvcmUsLmlvbi1pb3Mtcm9zZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1zZWFyY2g6YmVmb3JlLC5pb24taW9zLXNlYXJjaC1zdHJvbmc6YmVmb3JlLC5pb24taW9zLXNldHRpbmdzOmJlZm9yZSwuaW9uLWlvcy1zZXR0aW5ncy1zdHJvbmc6YmVmb3JlLC5pb24taW9zLXNodWZmbGU6YmVmb3JlLC5pb24taW9zLXNodWZmbGUtc3Ryb25nOmJlZm9yZSwuaW9uLWlvcy1za2lwYmFja3dhcmQ6YmVmb3JlLC5pb24taW9zLXNraXBiYWNrd2FyZC1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1za2lwZm9yd2FyZDpiZWZvcmUsLmlvbi1pb3Mtc2tpcGZvcndhcmQtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc25vd3k6YmVmb3JlLC5pb24taW9zLXNwZWVkb21ldGVyOmJlZm9yZSwuaW9uLWlvcy1zcGVlZG9tZXRlci1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy1zdGFyOmJlZm9yZSwuaW9uLWlvcy1zdGFyLWhhbGY6YmVmb3JlLC5pb24taW9zLXN0YXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc3RvcHdhdGNoOmJlZm9yZSwuaW9uLWlvcy1zdG9wd2F0Y2gtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtc3Vubnk6YmVmb3JlLC5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRlbGVwaG9uZTpiZWZvcmUsLmlvbi1pb3MtdGVsZXBob25lLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXRlbm5pc2JhbGw6YmVmb3JlLC5pb24taW9zLXRlbm5pc2JhbGwtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdGh1bmRlcnN0b3JtOmJlZm9yZSwuaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdGltZTpiZWZvcmUsLmlvbi1pb3MtdGltZS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy10aW1lcjpiZWZvcmUsLmlvbi1pb3MtdGltZXItb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdG9nZ2xlOmJlZm9yZSwuaW9uLWlvcy10b2dnbGUtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdHJhc2g6YmVmb3JlLC5pb24taW9zLXRyYXNoLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXVuZG86YmVmb3JlLC5pb24taW9zLXVuZG8tb3V0bGluZTpiZWZvcmUsLmlvbi1pb3MtdW5sb2NrZWQ6YmVmb3JlLC5pb24taW9zLXVubG9ja2VkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXVwbG9hZDpiZWZvcmUsLmlvbi1pb3MtdXBsb2FkLW91dGxpbmU6YmVmb3JlLC5pb24taW9zLXZpZGVvY2FtOmJlZm9yZSwuaW9uLWlvcy12aWRlb2NhbS1vdXRsaW5lOmJlZm9yZSwuaW9uLWlvcy12b2x1bWUtaGlnaDpiZWZvcmUsLmlvbi1pb3Mtdm9sdW1lLWxvdzpiZWZvcmUsLmlvbi1pb3Mtd2luZWdsYXNzOmJlZm9yZSwuaW9uLWlvcy13aW5lZ2xhc3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1pb3Mtd29ybGQ6YmVmb3JlLC5pb24taW9zLXdvcmxkLW91dGxpbmU6YmVmb3JlLC5pb24taXBhZDpiZWZvcmUsLmlvbi1pcGhvbmU6YmVmb3JlLC5pb24taXBvZDpiZWZvcmUsLmlvbi1qZXQ6YmVmb3JlLC5pb24ta2V5OmJlZm9yZSwuaW9uLWtuaWZlOmJlZm9yZSwuaW9uLWxhcHRvcDpiZWZvcmUsLmlvbi1sZWFmOmJlZm9yZSwuaW9uLWxldmVsczpiZWZvcmUsLmlvbi1saWdodGJ1bGI6YmVmb3JlLC5pb24tbGluazpiZWZvcmUsLmlvbi1sb2FkLWE6YmVmb3JlLC5pb24tbG9hZC1iOmJlZm9yZSwuaW9uLWxvYWQtYzpiZWZvcmUsLmlvbi1sb2FkLWQ6YmVmb3JlLC5pb24tbG9jYXRpb246YmVmb3JlLC5pb24tbG9jay1jb21iaW5hdGlvbjpiZWZvcmUsLmlvbi1sb2NrZWQ6YmVmb3JlLC5pb24tbG9nLWluOmJlZm9yZSwuaW9uLWxvZy1vdXQ6YmVmb3JlLC5pb24tbG9vcDpiZWZvcmUsLmlvbi1tYWduZXQ6YmVmb3JlLC5pb24tbWFsZTpiZWZvcmUsLmlvbi1tYW46YmVmb3JlLC5pb24tbWFwOmJlZm9yZSwuaW9uLW1lZGtpdDpiZWZvcmUsLmlvbi1tZXJnZTpiZWZvcmUsLmlvbi1taWMtYTpiZWZvcmUsLmlvbi1taWMtYjpiZWZvcmUsLmlvbi1taWMtYzpiZWZvcmUsLmlvbi1taW51czpiZWZvcmUsLmlvbi1taW51cy1jaXJjbGVkOmJlZm9yZSwuaW9uLW1pbnVzLXJvdW5kOmJlZm9yZSwuaW9uLW1vZGVsLXM6YmVmb3JlLC5pb24tbW9uaXRvcjpiZWZvcmUsLmlvbi1tb3JlOmJlZm9yZSwuaW9uLW1vdXNlOmJlZm9yZSwuaW9uLW11c2ljLW5vdGU6YmVmb3JlLC5pb24tbmF2aWNvbjpiZWZvcmUsLmlvbi1uYXZpY29uLXJvdW5kOmJlZm9yZSwuaW9uLW5hdmlnYXRlOmJlZm9yZSwuaW9uLW5ldHdvcms6YmVmb3JlLC5pb24tbm8tc21va2luZzpiZWZvcmUsLmlvbi1udWNsZWFyOmJlZm9yZSwuaW9uLW91dGxldDpiZWZvcmUsLmlvbi1wYWludGJydXNoOmJlZm9yZSwuaW9uLXBhaW50YnVja2V0OmJlZm9yZSwuaW9uLXBhcGVyLWFpcnBsYW5lOmJlZm9yZSwuaW9uLXBhcGVyY2xpcDpiZWZvcmUsLmlvbi1wYXVzZTpiZWZvcmUsLmlvbi1wZXJzb246YmVmb3JlLC5pb24tcGVyc29uLWFkZDpiZWZvcmUsLmlvbi1wZXJzb24tc3RhbGtlcjpiZWZvcmUsLmlvbi1waWUtZ3JhcGg6YmVmb3JlLC5pb24tcGluOmJlZm9yZSwuaW9uLXBpbnBvaW50OmJlZm9yZSwuaW9uLXBpenphOmJlZm9yZSwuaW9uLXBsYW5lOmJlZm9yZSwuaW9uLXBsYW5ldDpiZWZvcmUsLmlvbi1wbGF5OmJlZm9yZSwuaW9uLXBsYXlzdGF0aW9uOmJlZm9yZSwuaW9uLXBsdXM6YmVmb3JlLC5pb24tcGx1cy1jaXJjbGVkOmJlZm9yZSwuaW9uLXBsdXMtcm91bmQ6YmVmb3JlLC5pb24tcG9kaXVtOmJlZm9yZSwuaW9uLXBvdW5kOmJlZm9yZSwuaW9uLXBvd2VyOmJlZm9yZSwuaW9uLXByaWNldGFnOmJlZm9yZSwuaW9uLXByaWNldGFnczpiZWZvcmUsLmlvbi1wcmludGVyOmJlZm9yZSwuaW9uLXB1bGwtcmVxdWVzdDpiZWZvcmUsLmlvbi1xci1zY2FubmVyOmJlZm9yZSwuaW9uLXF1b3RlOmJlZm9yZSwuaW9uLXJhZGlvLXdhdmVzOmJlZm9yZSwuaW9uLXJlY29yZDpiZWZvcmUsLmlvbi1yZWZyZXNoOmJlZm9yZSwuaW9uLXJlcGx5OmJlZm9yZSwuaW9uLXJlcGx5LWFsbDpiZWZvcmUsLmlvbi1yaWJib24tYTpiZWZvcmUsLmlvbi1yaWJib24tYjpiZWZvcmUsLmlvbi1zYWQ6YmVmb3JlLC5pb24tc2FkLW91dGxpbmU6YmVmb3JlLC5pb24tc2Npc3NvcnM6YmVmb3JlLC5pb24tc2VhcmNoOmJlZm9yZSwuaW9uLXNldHRpbmdzOmJlZm9yZSwuaW9uLXNoYXJlOmJlZm9yZSwuaW9uLXNodWZmbGU6YmVmb3JlLC5pb24tc2tpcC1iYWNrd2FyZDpiZWZvcmUsLmlvbi1za2lwLWZvcndhcmQ6YmVmb3JlLC5pb24tc29jaWFsLWFuZHJvaWQ6YmVmb3JlLC5pb24tc29jaWFsLWFuZHJvaWQtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtYW5ndWxhcjpiZWZvcmUsLmlvbi1zb2NpYWwtYW5ndWxhci1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1hcHBsZTpiZWZvcmUsLmlvbi1zb2NpYWwtYXBwbGUtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtYml0Y29pbjpiZWZvcmUsLmlvbi1zb2NpYWwtYml0Y29pbi1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1idWZmZXI6YmVmb3JlLC5pb24tc29jaWFsLWJ1ZmZlci1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1jaHJvbWU6YmVmb3JlLC5pb24tc29jaWFsLWNocm9tZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1jb2RlcGVuOmJlZm9yZSwuaW9uLXNvY2lhbC1jb2RlcGVuLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWNzczM6YmVmb3JlLC5pb24tc29jaWFsLWNzczMtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZGVzaWduZXJuZXdzOmJlZm9yZSwuaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZHJpYmJibGU6YmVmb3JlLC5pb24tc29jaWFsLWRyaWJiYmxlLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWRyb3Bib3g6YmVmb3JlLC5pb24tc29jaWFsLWRyb3Bib3gtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZXVybzpiZWZvcmUsLmlvbi1zb2NpYWwtZXVyby1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUsLmlvbi1zb2NpYWwtZmFjZWJvb2stb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtZm91cnNxdWFyZTpiZWZvcmUsLmlvbi1zb2NpYWwtZm91cnNxdWFyZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1mcmVlYnNkLWRldmlsOmJlZm9yZSwuaW9uLXNvY2lhbC1naXRodWI6YmVmb3JlLC5pb24tc29jaWFsLWdpdGh1Yi1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1nb29nbGU6YmVmb3JlLC5pb24tc29jaWFsLWdvb2dsZS1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC1nb29nbGVwbHVzOmJlZm9yZSwuaW9uLXNvY2lhbC1nb29nbGVwbHVzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWhhY2tlcm5ld3M6YmVmb3JlLC5pb24tc29jaWFsLWhhY2tlcm5ld3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtaHRtbDU6YmVmb3JlLC5pb24tc29jaWFsLWh0bWw1LW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWluc3RhZ3JhbTpiZWZvcmUsLmlvbi1zb2NpYWwtaW5zdGFncmFtLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLWphdmFzY3JpcHQ6YmVmb3JlLC5pb24tc29jaWFsLWphdmFzY3JpcHQtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtbGlua2VkaW46YmVmb3JlLC5pb24tc29jaWFsLWxpbmtlZGluLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLW1hcmtkb3duOmJlZm9yZSwuaW9uLXNvY2lhbC1ub2RlanM6YmVmb3JlLC5pb24tc29jaWFsLW9jdG9jYXQ6YmVmb3JlLC5pb24tc29jaWFsLXBpbnRlcmVzdDpiZWZvcmUsLmlvbi1zb2NpYWwtcGludGVyZXN0LW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXB5dGhvbjpiZWZvcmUsLmlvbi1zb2NpYWwtcmVkZGl0OmJlZm9yZSwuaW9uLXNvY2lhbC1yZWRkaXQtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtcnNzOmJlZm9yZSwuaW9uLXNvY2lhbC1yc3Mtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtc2FzczpiZWZvcmUsLmlvbi1zb2NpYWwtc2t5cGU6YmVmb3JlLC5pb24tc29jaWFsLXNreXBlLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXNuYXBjaGF0OmJlZm9yZSwuaW9uLXNvY2lhbC1zbmFwY2hhdC1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC10dW1ibHI6YmVmb3JlLC5pb24tc29jaWFsLXR1bWJsci1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC10dXg6YmVmb3JlLC5pb24tc29jaWFsLXR3aXRjaDpiZWZvcmUsLmlvbi1zb2NpYWwtdHdpdGNoLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXR3aXR0ZXI6YmVmb3JlLC5pb24tc29jaWFsLXR3aXR0ZXItb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtdXNkOmJlZm9yZSwuaW9uLXNvY2lhbC11c2Qtb3V0bGluZTpiZWZvcmUsLmlvbi1zb2NpYWwtdmltZW86YmVmb3JlLC5pb24tc29jaWFsLXZpbWVvLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXdoYXRzYXBwOmJlZm9yZSwuaW9uLXNvY2lhbC13aGF0c2FwcC1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC13aW5kb3dzOmJlZm9yZSwuaW9uLXNvY2lhbC13aW5kb3dzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXdvcmRwcmVzczpiZWZvcmUsLmlvbi1zb2NpYWwtd29yZHByZXNzLW91dGxpbmU6YmVmb3JlLC5pb24tc29jaWFsLXlhaG9vOmJlZm9yZSwuaW9uLXNvY2lhbC15YWhvby1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC15ZW46YmVmb3JlLC5pb24tc29jaWFsLXllbi1vdXRsaW5lOmJlZm9yZSwuaW9uLXNvY2lhbC15b3V0dWJlOmJlZm9yZSwuaW9uLXNvY2lhbC15b3V0dWJlLW91dGxpbmU6YmVmb3JlLC5pb24tc291cC1jYW46YmVmb3JlLC5pb24tc291cC1jYW4tb3V0bGluZTpiZWZvcmUsLmlvbi1zcGVha2VycGhvbmU6YmVmb3JlLC5pb24tc3BlZWRvbWV0ZXI6YmVmb3JlLC5pb24tc3Bvb246YmVmb3JlLC5pb24tc3RhcjpiZWZvcmUsLmlvbi1zdGF0cy1iYXJzOmJlZm9yZSwuaW9uLXN0ZWFtOmJlZm9yZSwuaW9uLXN0b3A6YmVmb3JlLC5pb24tdGhlcm1vbWV0ZXI6YmVmb3JlLC5pb24tdGh1bWJzZG93bjpiZWZvcmUsLmlvbi10aHVtYnN1cDpiZWZvcmUsLmlvbi10b2dnbGU6YmVmb3JlLC5pb24tdG9nZ2xlLWZpbGxlZDpiZWZvcmUsLmlvbi10cmFuc2dlbmRlcjpiZWZvcmUsLmlvbi10cmFzaC1hOmJlZm9yZSwuaW9uLXRyYXNoLWI6YmVmb3JlLC5pb24tdHJvcGh5OmJlZm9yZSwuaW9uLXRzaGlydDpiZWZvcmUsLmlvbi10c2hpcnQtb3V0bGluZTpiZWZvcmUsLmlvbi11bWJyZWxsYTpiZWZvcmUsLmlvbi11bml2ZXJzaXR5OmJlZm9yZSwuaW9uLXVubG9ja2VkOmJlZm9yZSwuaW9uLXVwbG9hZDpiZWZvcmUsLmlvbi11c2I6YmVmb3JlLC5pb24tdmlkZW9jYW1lcmE6YmVmb3JlLC5pb24tdm9sdW1lLWhpZ2g6YmVmb3JlLC5pb24tdm9sdW1lLWxvdzpiZWZvcmUsLmlvbi12b2x1bWUtbWVkaXVtOmJlZm9yZSwuaW9uLXZvbHVtZS1tdXRlOmJlZm9yZSwuaW9uLXdhbmQ6YmVmb3JlLC5pb24td2F0ZXJkcm9wOmJlZm9yZSwuaW9uLXdpZmk6YmVmb3JlLC5pb24td2luZWdsYXNzOmJlZm9yZSwuaW9uLXdvbWFuOmJlZm9yZSwuaW9uLXdyZW5jaDpiZWZvcmUsLmlvbi14Ym94OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiSW9uaWNvbnMiO3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTt0ZXh0LXJlbmRlcmluZzphdXRvO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmlvbi1hbGVydDpiZWZvcmV7Y29udGVudDoiXGYxMDEifS5pb24tYWxlcnQtY2lyY2xlZDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5pb24tYW5kcm9pZC1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmM3In0uaW9uLWFuZHJvaWQtYWRkLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYzNTkifS5pb24tYW5kcm9pZC1hbGFybS1jbG9jazpiZWZvcmV7Y29udGVudDoiXGYzNWEifS5pb24tYW5kcm9pZC1hbGVydDpiZWZvcmV7Y29udGVudDoiXGYzNWIifS5pb24tYW5kcm9pZC1hcHBzOmJlZm9yZXtjb250ZW50OiJcZjM1YyJ9Lmlvbi1hbmRyb2lkLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmM5In0uaW9uLWFuZHJvaWQtYXJyb3ctYmFjazpiZWZvcmV7Y29udGVudDoiXGYyY2EifS5pb24tYW5kcm9pZC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjM1ZCJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duOmJlZm9yZXtjb250ZW50OiJcZjM1ZiJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYzNWUifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmV7Y29udGVudDoiXGYzNjEifS5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzYwIn0uaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjM2MyJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzYyIn0uaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHVwOmJlZm9yZXtjb250ZW50OiJcZjM2NSJ9Lmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzY0In0uaW9uLWFuZHJvaWQtYXJyb3ctZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYzMGYifS5pb24tYW5kcm9pZC1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYzNjYifS5pb24tYW5kcm9pZC1hdHRhY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMzY3In0uaW9uLWFuZHJvaWQtYmFyOmJlZm9yZXtjb250ZW50OiJcZjM2OCJ9Lmlvbi1hbmRyb2lkLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzY5In0uaW9uLWFuZHJvaWQtYm9hdDpiZWZvcmV7Y29udGVudDoiXGYzNmEifS5pb24tYW5kcm9pZC1ib29rbWFyazpiZWZvcmV7Y29udGVudDoiXGYzNmIifS5pb24tYW5kcm9pZC1idWxiOmJlZm9yZXtjb250ZW50OiJcZjM2YyJ9Lmlvbi1hbmRyb2lkLWJ1czpiZWZvcmV7Y29udGVudDoiXGYzNmQifS5pb24tYW5kcm9pZC1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5pb24tYW5kcm9pZC1jYWxsOmJlZm9yZXtjb250ZW50OiJcZjJkMiJ9Lmlvbi1hbmRyb2lkLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYyZDMifS5pb24tYW5kcm9pZC1jYW5jZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzZlIn0uaW9uLWFuZHJvaWQtY2FyOmJlZm9yZXtjb250ZW50OiJcZjM2ZiJ9Lmlvbi1hbmRyb2lkLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzcwIn0uaW9uLWFuZHJvaWQtY2hhdDpiZWZvcmV7Y29udGVudDoiXGYyZDQifS5pb24tYW5kcm9pZC1jaGVja2JveDpiZWZvcmV7Y29udGVudDoiXGYzNzQifS5pb24tYW5kcm9pZC1jaGVja2JveC1ibGFuazpiZWZvcmV7Y29udGVudDoiXGYzNzEifS5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjM3MyJ9Lmlvbi1hbmRyb2lkLWNoZWNrYm94LW91dGxpbmUtYmxhbms6YmVmb3Jle2NvbnRlbnQ6IlxmMzcyIn0uaW9uLWFuZHJvaWQtY2hlY2ttYXJrLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYzNzUifS5pb24tYW5kcm9pZC1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzc2In0uaW9uLWFuZHJvaWQtY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ3In0uaW9uLWFuZHJvaWQtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzdhIn0uaW9uLWFuZHJvaWQtY2xvdWQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjM3NyJ9Lmlvbi1hbmRyb2lkLWNsb3VkLWRvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzc4In0uaW9uLWFuZHJvaWQtY2xvdWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNzkifS5pb24tYW5kcm9pZC1jb2xvci1wYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZjM3YiJ9Lmlvbi1hbmRyb2lkLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMzdjIn0uaW9uLWFuZHJvaWQtY29udGFjdDpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5pb24tYW5kcm9pZC1jb250YWN0czpiZWZvcmV7Y29udGVudDoiXGYyZDkifS5pb24tYW5kcm9pZC1jb250cmFjdDpiZWZvcmV7Y29udGVudDoiXGYzN2QifS5pb24tYW5kcm9pZC1jcmVhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzdlIn0uaW9uLWFuZHJvaWQtZGVsZXRlOmJlZm9yZXtjb250ZW50OiJcZjM3ZiJ9Lmlvbi1hbmRyb2lkLWRlc2t0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMzgwIn0uaW9uLWFuZHJvaWQtZG9jdW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzgxIn0uaW9uLWFuZHJvaWQtZG9uZTpiZWZvcmV7Y29udGVudDoiXGYzODMifS5pb24tYW5kcm9pZC1kb25lLWFsbDpiZWZvcmV7Y29udGVudDoiXGYzODIifS5pb24tYW5kcm9pZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYyZGQifS5pb24tYW5kcm9pZC1kcmFmdHM6YmVmb3Jle2NvbnRlbnQ6IlxmMzg0In0uaW9uLWFuZHJvaWQtZXhpdDpiZWZvcmV7Y29udGVudDoiXGYzODUifS5pb24tYW5kcm9pZC1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzg2In0uaW9uLWFuZHJvaWQtZmF2b3JpdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzg4In0uaW9uLWFuZHJvaWQtZmF2b3JpdGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzODcifS5pb24tYW5kcm9pZC1maWxtOmJlZm9yZXtjb250ZW50OiJcZjM4OSJ9Lmlvbi1hbmRyb2lkLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGYyZTAifS5pb24tYW5kcm9pZC1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGYzOGEifS5pb24tYW5kcm9pZC1mdW5uZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzhiIn0uaW9uLWFuZHJvaWQtZ2xvYmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzhjIn0uaW9uLWFuZHJvaWQtaGFuZDpiZWZvcmV7Y29udGVudDoiXGYyZTMifS5pb24tYW5kcm9pZC1oYW5nb3V0OmJlZm9yZXtjb250ZW50OiJcZjM4ZCJ9Lmlvbi1hbmRyb2lkLWhhcHB5OmJlZm9yZXtjb250ZW50OiJcZjM4ZSJ9Lmlvbi1hbmRyb2lkLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMzhmIn0uaW9uLWFuZHJvaWQtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmU0In0uaW9uLWFuZHJvaWQtbGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZjM5MCJ9Lmlvbi1hbmRyb2lkLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMzkxIn0uaW9uLWFuZHJvaWQtbG9jYXRlOmJlZm9yZXtjb250ZW50OiJcZjJlOSJ9Lmlvbi1hbmRyb2lkLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMzkyIn0uaW9uLWFuZHJvaWQtbWFpbDpiZWZvcmV7Y29udGVudDoiXGYyZWIifS5pb24tYW5kcm9pZC1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMzkzIn0uaW9uLWFuZHJvaWQtbWVudTpiZWZvcmV7Y29udGVudDoiXGYzOTQifS5pb24tYW5kcm9pZC1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZjJlYyJ9Lmlvbi1hbmRyb2lkLW1pY3JvcGhvbmUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjM5NSJ9Lmlvbi1hbmRyb2lkLW1vcmUtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGYzOTYifS5pb24tYW5kcm9pZC1tb3JlLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjM5NyJ9Lmlvbi1hbmRyb2lkLW5hdmlnYXRlOmJlZm9yZXtjb250ZW50OiJcZjM5OCJ9Lmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMzliIn0uaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1ub25lOmJlZm9yZXtjb250ZW50OiJcZjM5OSJ9Lmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjM5YSJ9Lmlvbi1hbmRyb2lkLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMzljIn0uaW9uLWFuZHJvaWQtb3B0aW9uczpiZWZvcmV7Y29udGVudDoiXGYzOWQifS5pb24tYW5kcm9pZC1wZW9wbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzllIn0uaW9uLWFuZHJvaWQtcGVyc29uOmJlZm9yZXtjb250ZW50OiJcZjNhMCJ9Lmlvbi1hbmRyb2lkLXBlcnNvbi1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzlmIn0uaW9uLWFuZHJvaWQtcGhvbmUtbGFuZHNjYXBlOmJlZm9yZXtjb250ZW50OiJcZjNhMSJ9Lmlvbi1hbmRyb2lkLXBob25lLXBvcnRyYWl0OmJlZm9yZXtjb250ZW50OiJcZjNhMiJ9Lmlvbi1hbmRyb2lkLXBpbjpiZWZvcmV7Y29udGVudDoiXGYzYTMifS5pb24tYW5kcm9pZC1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYzYTQifS5pb24tYW5kcm9pZC1wbGF5c3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmYwIn0uaW9uLWFuZHJvaWQtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2E1In0uaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmV7Y29udGVudDoiXGYzYTYifS5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb246YmVmb3Jle2NvbnRlbnQ6IlxmM2E3In0uaW9uLWFuZHJvaWQtcmVmcmVzaDpiZWZvcmV7Y29udGVudDoiXGYzYTgifS5pb24tYW5kcm9pZC1yZW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmY0In0uaW9uLWFuZHJvaWQtcmVtb3ZlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYzYTkifS5pb24tYW5kcm9pZC1yZXN0YXVyYW50OmJlZm9yZXtjb250ZW50OiJcZjNhYSJ9Lmlvbi1hbmRyb2lkLXNhZDpiZWZvcmV7Y29udGVudDoiXGYzYWIifS5pb24tYW5kcm9pZC1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMmY1In0uaW9uLWFuZHJvaWQtc2VuZDpiZWZvcmV7Y29udGVudDoiXGYyZjYifS5pb24tYW5kcm9pZC1zZXR0aW5nczpiZWZvcmV7Y29udGVudDoiXGYyZjcifS5pb24tYW5kcm9pZC1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYyZjgifS5pb24tYW5kcm9pZC1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2FjIn0uaW9uLWFuZHJvaWQtc3RhcjpiZWZvcmV7Y29udGVudDoiXGYyZmMifS5pb24tYW5kcm9pZC1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmM2FkIn0uaW9uLWFuZHJvaWQtc3Rhci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNhZSJ9Lmlvbi1hbmRyb2lkLXN0b3B3YXRjaDpiZWZvcmV7Y29udGVudDoiXGYyZmQifS5pb24tYW5kcm9pZC1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmM2FmIn0uaW9uLWFuZHJvaWQtc3Vubnk6YmVmb3Jle2NvbnRlbnQ6IlxmM2IwIn0uaW9uLWFuZHJvaWQtc3luYzpiZWZvcmV7Y29udGVudDoiXGYzYjEifS5pb24tYW5kcm9pZC10ZXh0c21zOmJlZm9yZXtjb250ZW50OiJcZjNiMiJ9Lmlvbi1hbmRyb2lkLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxmM2IzIn0uaW9uLWFuZHJvaWQtdHJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmM2I0In0uaW9uLWFuZHJvaWQtdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZjNiNSJ9Lmlvbi1hbmRyb2lkLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYzYjYifS5pb24tYW5kcm9pZC12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzYjcifS5pb24tYW5kcm9pZC12b2x1bWUtbXV0ZTpiZWZvcmV7Y29udGVudDoiXGYzYjgifS5pb24tYW5kcm9pZC12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjNiOSJ9Lmlvbi1hbmRyb2lkLXZvbHVtZS11cDpiZWZvcmV7Y29udGVudDoiXGYzYmEifS5pb24tYW5kcm9pZC13YWxrOmJlZm9yZXtjb250ZW50OiJcZjNiYiJ9Lmlvbi1hbmRyb2lkLXdhcm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxmM2JjIn0uaW9uLWFuZHJvaWQtd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmM2JkIn0uaW9uLWFuZHJvaWQtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYzMDUifS5pb24tYXBlcnR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzEzIn0uaW9uLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTAyIn0uaW9uLWFycm93LWRvd24tYTpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5pb24tYXJyb3ctZG93bi1iOmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9Lmlvbi1hcnJvdy1kb3duLWM6YmVmb3Jle2NvbnRlbnQ6IlxmMTA1In0uaW9uLWFycm93LWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGYyNWUifS5pb24tYXJyb3ctZ3JhcGgtZG93bi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjI1ZiJ9Lmlvbi1hcnJvdy1ncmFwaC1kb3duLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjI2MCJ9Lmlvbi1hcnJvdy1ncmFwaC11cC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjI2MSJ9Lmlvbi1hcnJvdy1ncmFwaC11cC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYyNjIifS5pb24tYXJyb3ctbGVmdC1hOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9Lmlvbi1hcnJvdy1sZWZ0LWI6YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uaW9uLWFycm93LWxlZnQtYzpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5pb24tYXJyb3ctbW92ZTpiZWZvcmV7Y29udGVudDoiXGYyNjMifS5pb24tYXJyb3ctcmVzaXplOmJlZm9yZXtjb250ZW50OiJcZjI2NCJ9Lmlvbi1hcnJvdy1yZXR1cm4tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5pb24tYXJyb3ctcmV0dXJuLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9Lmlvbi1hcnJvdy1yaWdodC1hOmJlZm9yZXtjb250ZW50OiJcZjEwOSJ9Lmlvbi1hcnJvdy1yaWdodC1iOmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9Lmlvbi1hcnJvdy1yaWdodC1jOmJlZm9yZXtjb250ZW50OiJcZjEwYiJ9Lmlvbi1hcnJvdy1zaHJpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uaW9uLWFycm93LXN3YXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjY4In0uaW9uLWFycm93LXVwLWE6YmVmb3Jle2NvbnRlbnQ6IlxmMTBjIn0uaW9uLWFycm93LXVwLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uaW9uLWFycm93LXVwLWM6YmVmb3Jle2NvbnRlbnQ6IlxmMTBlIn0uaW9uLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OiJcZjMxNCJ9Lmlvbi1hdDpiZWZvcmV7Y29udGVudDoiXGYxMGYifS5pb24tYmFja3NwYWNlOmJlZm9yZXtjb250ZW50OiJcZjNiZiJ9Lmlvbi1iYWNrc3BhY2Utb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzYmUifS5pb24tYmFnOmJlZm9yZXtjb250ZW50OiJcZjExMCJ9Lmlvbi1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9Lmlvbi1iYXR0ZXJ5LWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjExMiJ9Lmlvbi1iYXR0ZXJ5LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMTEzIn0uaW9uLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDoiXGYxMTQifS5pb24tYmF0dGVyeS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uaW9uLWJlYWtlcjpiZWZvcmV7Y29udGVudDoiXGYyNjkifS5pb24tYmVlcjpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5pb24tYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjExNiJ9Lmlvbi1ib25maXJlOmJlZm9yZXtjb250ZW50OiJcZjMxNSJ9Lmlvbi1ib29rbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNmIifS5pb24tYm93dGllOmJlZm9yZXtjb250ZW50OiJcZjNjMCJ9Lmlvbi1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjZjIn0uaW9uLWJ1ZzpiZWZvcmV7Y29udGVudDoiXGYyYmUifS5pb24tY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYyNmQifS5pb24tY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTE3In0uaW9uLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5pb24tY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxMTkifS5pb24tY2FzaDpiZWZvcmV7Y29udGVudDoiXGYzMTYifS5pb24tY2hhdGJveDpiZWZvcmV7Y29udGVudDoiXGYxMWIifS5pb24tY2hhdGJveC13b3JraW5nOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9Lmlvbi1jaGF0Ym94ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMTFjIn0uaW9uLWNoYXRidWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uaW9uLWNoYXRidWJibGUtd29ya2luZzpiZWZvcmV7Y29udGVudDoiXGYxMWQifS5pb24tY2hhdGJ1YmJsZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMTFmIn0uaW9uLWNoZWNrbWFyazpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5pb24tY2hlY2ttYXJrLWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uaW9uLWNoZWNrbWFyay1yb3VuZDpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5pb24tY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9Lmlvbi1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uaW9uLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uaW9uLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTI2In0uaW9uLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5pb24tY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjZlIn0uaW9uLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9Lmlvbi1jbG9zZS1jaXJjbGVkOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9Lmlvbi1jbG9zZS1yb3VuZDpiZWZvcmV7Y29udGVudDoiXGYxMjkifS5pb24tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMzE3In0uaW9uLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9Lmlvbi1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjI3MSJ9Lmlvbi1jb2RlLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjI2ZiJ9Lmlvbi1jb2RlLXdvcmtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMjcwIn0uaW9uLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYyNzIifS5pb24tY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYyNzMifS5pb24tY29tcG9zZTpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5pb24tY29ubmVjdGlvbi1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjI3NCJ9Lmlvbi1jb250cmFzdDpiZWZvcmV7Y29udGVudDoiXGYyNzUifS5pb24tY3JvcDpiZWZvcmV7Y29udGVudDoiXGYzYzEifS5pb24tY3ViZTpiZWZvcmV7Y29udGVudDoiXGYzMTgifS5pb24tZGlzYzpiZWZvcmV7Y29udGVudDoiXGYxMmQifS5pb24tZG9jdW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJmIn0uaW9uLWRvY3VtZW50LXRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJlIn0uaW9uLWRyYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uaW9uLWVhcnRoOmJlZm9yZXtjb250ZW50OiJcZjI3NiJ9Lmlvbi1lYXNlbDpiZWZvcmV7Y29udGVudDoiXGYzYzIifS5pb24tZWRpdDpiZWZvcmV7Y29udGVudDoiXGYyYmYifS5pb24tZWdnOmJlZm9yZXtjb250ZW50OiJcZjI3NyJ9Lmlvbi1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5pb24tZW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uaW9uLWVtYWlsLXVucmVhZDpiZWZvcmV7Y29udGVudDoiXGYzYzMifS5pb24tZXJsZW5tZXllci1mbGFzazpiZWZvcmV7Y29udGVudDoiXGYzYzUifS5pb24tZXJsZW5tZXllci1mbGFzay1idWJibGVzOmJlZm9yZXtjb250ZW50OiJcZjNjNCJ9Lmlvbi1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMzIn0uaW9uLWV5ZS1kaXNhYmxlZDpiZWZvcmV7Y29udGVudDoiXGYzMDYifS5pb24tZmVtYWxlOmJlZm9yZXtjb250ZW50OiJcZjI3OCJ9Lmlvbi1maWxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMTM0In0uaW9uLWZpbG0tbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjEzNSJ9Lmlvbi1maXJlYmFsbDpiZWZvcmV7Y29udGVudDoiXGYzMTkifS5pb24tZmxhZzpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5pb24tZmxhbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMzFhIn0uaW9uLWZsYXNoOmJlZm9yZXtjb250ZW50OiJcZjEzNyJ9Lmlvbi1mbGFzaC1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMTM2In0uaW9uLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGYxMzkifS5pb24tZm9yazpiZWZvcmV7Y29udGVudDoiXGYyN2EifS5pb24tZm9yay1yZXBvOmJlZm9yZXtjb250ZW50OiJcZjJjMCJ9Lmlvbi1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjEzYSJ9Lmlvbi1mdW5uZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzFiIn0uaW9uLWdlYXItYTpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5pb24tZ2Vhci1iOmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9Lmlvbi1ncmlkOmJlZm9yZXtjb250ZW50OiJcZjEzZiJ9Lmlvbi1oYW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjdiIn0uaW9uLWhhcHB5OmJlZm9yZXtjb250ZW50OiJcZjMxYyJ9Lmlvbi1oYXBweS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNjNiJ9Lmlvbi1oZWFkcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQwIn0uaW9uLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjE0MSJ9Lmlvbi1oZWFydC1icm9rZW46YmVmb3Jle2NvbnRlbnQ6IlxmMzFkIn0uaW9uLWhlbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uaW9uLWhlbHAtYnVveTpiZWZvcmV7Y29udGVudDoiXGYyN2MifS5pb24taGVscC1jaXJjbGVkOmJlZm9yZXtjb250ZW50OiJcZjE0MiJ9Lmlvbi1ob21lOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9Lmlvbi1pY2VjcmVhbTpiZWZvcmV7Y29udGVudDoiXGYyN2QifS5pb24taW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uaW9uLWltYWdlczpiZWZvcmV7Y29udGVudDoiXGYxNDgifS5pb24taW5mb3JtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uaW9uLWluZm9ybWF0aW9uLWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ5In0uaW9uLWlvbmljOmJlZm9yZXtjb250ZW50OiJcZjE0YiJ9Lmlvbi1pb3MtYWxhcm06YmVmb3Jle2NvbnRlbnQ6IlxmM2M4In0uaW9uLWlvcy1hbGFybS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNjNyJ9Lmlvbi1pb3MtYWxidW1zOmJlZm9yZXtjb250ZW50OiJcZjNjYSJ9Lmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2M5In0uaW9uLWlvcy1hbWVyaWNhbmZvb3RiYWxsOmJlZm9yZXtjb250ZW50OiJcZjNjYyJ9Lmlvbi1pb3MtYW1lcmljYW5mb290YmFsbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNjYiJ9Lmlvbi1pb3MtYW5hbHl0aWNzOmJlZm9yZXtjb250ZW50OiJcZjNjZSJ9Lmlvbi1pb3MtYW5hbHl0aWNzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2NkIn0uaW9uLWlvcy1hcnJvdy1iYWNrOmJlZm9yZXtjb250ZW50OiJcZjNjZiJ9Lmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYzZDAifS5pb24taW9zLWFycm93LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2QxIn0uaW9uLWlvcy1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjNkMiJ9Lmlvbi1pb3MtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2QzIn0uaW9uLWlvcy1hcnJvdy10aGluLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmM2Q0In0uaW9uLWlvcy1hcnJvdy10aGluLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q1In0uaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjNkNiJ9Lmlvbi1pb3MtYXJyb3ctdGhpbi11cDpiZWZvcmV7Y29udGVudDoiXGYzZDcifS5pb24taW9zLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjNkOCJ9Lmlvbi1pb3MtYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2RhIn0uaW9uLWlvcy1hdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNkOSJ9Lmlvbi1pb3MtYmFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYzZGMifS5pb24taW9zLWJhcmNvZGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZGIifS5pb24taW9zLWJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZjNkZSJ9Lmlvbi1pb3MtYmFzZWJhbGwtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZGQifS5pb24taW9zLWJhc2tldGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmM2UwIn0uaW9uLWlvcy1iYXNrZXRiYWxsLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2RmIn0uaW9uLWlvcy1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjNlMiJ9Lmlvbi1pb3MtYmVsbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlMSJ9Lmlvbi1pb3MtYm9keTpiZWZvcmV7Y29udGVudDoiXGYzZTQifS5pb24taW9zLWJvZHktb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZTMifS5pb24taW9zLWJvbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2U2In0uaW9uLWlvcy1ib2x0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2U1In0uaW9uLWlvcy1ib29rOmJlZm9yZXtjb250ZW50OiJcZjNlOCJ9Lmlvbi1pb3MtYm9vay1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlNyJ9Lmlvbi1pb3MtYm9va21hcmtzOmJlZm9yZXtjb250ZW50OiJcZjNlYSJ9Lmlvbi1pb3MtYm9va21hcmtzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2U5In0uaW9uLWlvcy1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmM2VjIn0uaW9uLWlvcy1ib3gtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZWIifS5pb24taW9zLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYzZWUifS5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlZCJ9Lmlvbi1pb3MtYnJvd3NlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmM2YwIn0uaW9uLWlvcy1icm93c2Vycy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNlZiJ9Lmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYzZjIifS5pb24taW9zLWNhbGN1bGF0b3Itb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZjEifS5pb24taW9zLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZjNmNCJ9Lmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZjMifS5pb24taW9zLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYzZjYifS5pb24taW9zLWNhbWVyYS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNmNSJ9Lmlvbi1pb3MtY2FydDpiZWZvcmV7Y29udGVudDoiXGYzZjgifS5pb24taW9zLWNhcnQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZjcifS5pb24taW9zLWNoYXRib3hlczpiZWZvcmV7Y29udGVudDoiXGYzZmEifS5pb24taW9zLWNoYXRib3hlcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNmOSJ9Lmlvbi1pb3MtY2hhdGJ1YmJsZTpiZWZvcmV7Y29udGVudDoiXGYzZmMifS5pb24taW9zLWNoYXRidWJibGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzZmIifS5pb24taW9zLWNoZWNrbWFyazpiZWZvcmV7Y29udGVudDoiXGYzZmYifS5pb24taW9zLWNoZWNrbWFyay1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYzZmQifS5pb24taW9zLWNoZWNrbWFyay1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjNmZSJ9Lmlvbi1pb3MtY2lyY2xlLWZpbGxlZDpiZWZvcmV7Y29udGVudDoiXGY0MDAifS5pb24taW9zLWNpcmNsZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwMSJ9Lmlvbi1pb3MtY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNDAzIn0uaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwMiJ9Lmlvbi1pb3MtY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDA2In0uaW9uLWlvcy1jbG9zZS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0MDQifS5pb24taW9zLWNsb3NlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDA1In0uaW9uLWlvcy1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGY0MGMifS5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjQwOCJ9Lmlvbi1pb3MtY2xvdWQtZG93bmxvYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MDcifS5pb24taW9zLWNsb3VkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDA5In0uaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDBiIn0uaW9uLWlvcy1jbG91ZC11cGxvYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MGEifS5pb24taW9zLWNsb3VkeTpiZWZvcmV7Y29udGVudDoiXGY0MTAifS5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmV7Y29udGVudDoiXGY0MGUifS5pb24taW9zLWNsb3VkeS1uaWdodC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQwZCJ9Lmlvbi1pb3MtY2xvdWR5LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDBmIn0uaW9uLWlvcy1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNDEyIn0uaW9uLWlvcy1jb2ctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MTEifS5pb24taW9zLWNvbG9yLWZpbHRlcjpiZWZvcmV7Y29udGVudDoiXGY0MTQifS5pb24taW9zLWNvbG9yLWZpbHRlci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQxMyJ9Lmlvbi1pb3MtY29sb3Itd2FuZDpiZWZvcmV7Y29udGVudDoiXGY0MTYifS5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MTUifS5pb24taW9zLWNvbXBvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDE4In0uaW9uLWlvcy1jb21wb3NlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDE3In0uaW9uLWlvcy1jb250YWN0OmJlZm9yZXtjb250ZW50OiJcZjQxYSJ9Lmlvbi1pb3MtY29udGFjdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQxOSJ9Lmlvbi1pb3MtY29weTpiZWZvcmV7Y29udGVudDoiXGY0MWMifS5pb24taW9zLWNvcHktb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MWIifS5pb24taW9zLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmNDFlIn0uaW9uLWlvcy1jcm9wLXN0cm9uZzpiZWZvcmV7Y29udGVudDoiXGY0MWQifS5pb24taW9zLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjQyMCJ9Lmlvbi1pb3MtZG93bmxvYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MWYifS5pb24taW9zLWRyYWc6YmVmb3Jle2NvbnRlbnQ6IlxmNDIxIn0uaW9uLWlvcy1lbWFpbDpiZWZvcmV7Y29udGVudDoiXGY0MjMifS5pb24taW9zLWVtYWlsLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDIyIn0uaW9uLWlvcy1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmNDI1In0uaW9uLWlvcy1leWUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MjQifS5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjQyNyJ9Lmlvbi1pb3MtZmFzdGZvcndhcmQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MjYifS5pb24taW9zLWZpbGluZzpiZWZvcmV7Y29udGVudDoiXGY0MjkifS5pb24taW9zLWZpbGluZy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQyOCJ9Lmlvbi1pb3MtZmlsbTpiZWZvcmV7Y29udGVudDoiXGY0MmIifS5pb24taW9zLWZpbG0tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MmEifS5pb24taW9zLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxmNDJkIn0uaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDJjIn0uaW9uLWlvcy1mbGFtZTpiZWZvcmV7Y29udGVudDoiXGY0MmYifS5pb24taW9zLWZsYW1lLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDJlIn0uaW9uLWlvcy1mbGFzazpiZWZvcmV7Y29udGVudDoiXGY0MzEifS5pb24taW9zLWZsYXNrLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDMwIn0uaW9uLWlvcy1mbG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDMzIn0uaW9uLWlvcy1mbG93ZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0MzIifS5pb24taW9zLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGY0MzUifS5pb24taW9zLWZvbGRlci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzNCJ9Lmlvbi1pb3MtZm9vdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM3In0uaW9uLWlvcy1mb290YmFsbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzNiJ9Lmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWE6YmVmb3Jle2NvbnRlbnQ6IlxmNDM5In0uaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzOCJ9Lmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3Jle2NvbnRlbnQ6IlxmNDNiIn0uaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQzYSJ9Lmlvbi1pb3MtZ2VhcjpiZWZvcmV7Y29udGVudDoiXGY0M2QifS5pb24taW9zLWdlYXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0M2MifS5pb24taW9zLWdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDNmIn0uaW9uLWlvcy1nbGFzc2VzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDNlIn0uaW9uLWlvcy1ncmlkLXZpZXc6YmVmb3Jle2NvbnRlbnQ6IlxmNDQxIn0uaW9uLWlvcy1ncmlkLXZpZXctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NDAifS5pb24taW9zLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjQ0MyJ9Lmlvbi1pb3MtaGVhcnQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NDIifS5pb24taW9zLWhlbHA6YmVmb3Jle2NvbnRlbnQ6IlxmNDQ2In0uaW9uLWlvcy1oZWxwLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjQ0NCJ9Lmlvbi1pb3MtaGVscC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ0NSJ9Lmlvbi1pb3MtaG9tZTpiZWZvcmV7Y29udGVudDoiXGY0NDgifS5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NDcifS5pb24taW9zLWluZmluaXRlOmJlZm9yZXtjb250ZW50OiJcZjQ0YSJ9Lmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NDkifS5pb24taW9zLWluZm9ybWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjQ0ZCJ9Lmlvbi1pb3MtaW5mb3JtYXRpb24tZW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNDRiIn0uaW9uLWlvcy1pbmZvcm1hdGlvbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ0YyJ9Lmlvbi1pb3MtaW9uaWMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NGUifS5pb24taW9zLWtleXBhZDpiZWZvcmV7Y29udGVudDoiXGY0NTAifS5pb24taW9zLWtleXBhZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ0ZiJ9Lmlvbi1pb3MtbGlnaHRidWxiOmJlZm9yZXtjb250ZW50OiJcZjQ1MiJ9Lmlvbi1pb3MtbGlnaHRidWxiLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDUxIn0uaW9uLWlvcy1saXN0OmJlZm9yZXtjb250ZW50OiJcZjQ1NCJ9Lmlvbi1pb3MtbGlzdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1MyJ9Lmlvbi1pb3MtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNDU2In0uaW9uLWlvcy1sb2NhdGlvbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1NSJ9Lmlvbi1pb3MtbG9ja2VkOmJlZm9yZXtjb250ZW50OiJcZjQ1OCJ9Lmlvbi1pb3MtbG9ja2VkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDU3In0uaW9uLWlvcy1sb29wOmJlZm9yZXtjb250ZW50OiJcZjQ1YSJ9Lmlvbi1pb3MtbG9vcC1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDU5In0uaW9uLWlvcy1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ1YyJ9Lmlvbi1pb3MtbWVkaWNhbC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ1YiJ9Lmlvbi1pb3MtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjQ1ZSJ9Lmlvbi1pb3MtbWVka2l0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDVkIn0uaW9uLWlvcy1taWM6YmVmb3Jle2NvbnRlbnQ6IlxmNDYxIn0uaW9uLWlvcy1taWMtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjQ1ZiJ9Lmlvbi1pb3MtbWljLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDYwIn0uaW9uLWlvcy1taW51czpiZWZvcmV7Y29udGVudDoiXGY0NjQifS5pb24taW9zLW1pbnVzLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjQ2MiJ9Lmlvbi1pb3MtbWludXMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NjMifS5pb24taW9zLW1vbml0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNDY2In0uaW9uLWlvcy1tb25pdG9yLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDY1In0uaW9uLWlvcy1tb29uOmJlZm9yZXtjb250ZW50OiJcZjQ2OCJ9Lmlvbi1pb3MtbW9vbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ2NyJ9Lmlvbi1pb3MtbW9yZTpiZWZvcmV7Y29udGVudDoiXGY0NmEifS5pb24taW9zLW1vcmUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NjkifS5pb24taW9zLW11c2ljYWwtbm90ZTpiZWZvcmV7Y29udGVudDoiXGY0NmIifS5pb24taW9zLW11c2ljYWwtbm90ZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDZjIn0uaW9uLWlvcy1uYXZpZ2F0ZTpiZWZvcmV7Y29udGVudDoiXGY0NmUifS5pb24taW9zLW5hdmlnYXRlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDZkIn0uaW9uLWlvcy1udXRyaXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNDcwIn0uaW9uLWlvcy1udXRyaXRpb24tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NmYifS5pb24taW9zLXBhcGVyOmJlZm9yZXtjb250ZW50OiJcZjQ3MiJ9Lmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NzEifS5pb24taW9zLXBhcGVycGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDc0In0uaW9uLWlvcy1wYXBlcnBsYW5lLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDczIn0uaW9uLWlvcy1wYXJ0bHlzdW5ueTpiZWZvcmV7Y29udGVudDoiXGY0NzYifS5pb24taW9zLXBhcnRseXN1bm55LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDc1In0uaW9uLWlvcy1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGY0NzgifS5pb24taW9zLXBhdXNlLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDc3In0uaW9uLWlvcy1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmNDdhIn0uaW9uLWlvcy1wYXctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0NzkifS5pb24taW9zLXBlb3BsZTpiZWZvcmV7Y29udGVudDoiXGY0N2MifS5pb24taW9zLXBlb3BsZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ3YiJ9Lmlvbi1pb3MtcGVyc29uOmJlZm9yZXtjb250ZW50OiJcZjQ3ZSJ9Lmlvbi1pb3MtcGVyc29uLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDdkIn0uaW9uLWlvcy1wZXJzb25hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDgwIn0uaW9uLWlvcy1wZXJzb25hZGQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0N2YifS5pb24taW9zLXBob3RvczpiZWZvcmV7Y29udGVudDoiXGY0ODIifS5pb24taW9zLXBob3Rvcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4MSJ9Lmlvbi1pb3MtcGllOmJlZm9yZXtjb250ZW50OiJcZjQ4NCJ9Lmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDgzIn0uaW9uLWlvcy1waW50OmJlZm9yZXtjb250ZW50OiJcZjQ4NiJ9Lmlvbi1pb3MtcGludC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4NSJ9Lmlvbi1pb3MtcGxheTpiZWZvcmV7Y29udGVudDoiXGY0ODgifS5pb24taW9zLXBsYXktb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ODcifS5pb24taW9zLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDhiIn0uaW9uLWlvcy1wbHVzLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjQ4OSJ9Lmlvbi1pb3MtcGx1cy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4YSJ9Lmlvbi1pb3MtcHJpY2V0YWc6YmVmb3Jle2NvbnRlbnQ6IlxmNDhkIn0uaW9uLWlvcy1wcmljZXRhZy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ4YyJ9Lmlvbi1pb3MtcHJpY2V0YWdzOmJlZm9yZXtjb250ZW50OiJcZjQ4ZiJ9Lmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDhlIn0uaW9uLWlvcy1wcmludGVyOmJlZm9yZXtjb250ZW50OiJcZjQ5MSJ9Lmlvbi1pb3MtcHJpbnRlci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjQ5MCJ9Lmlvbi1pb3MtcHVsc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDkzIn0uaW9uLWlvcy1wdWxzZS1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDkyIn0uaW9uLWlvcy1yYWlueTpiZWZvcmV7Y29udGVudDoiXGY0OTUifS5pb24taW9zLXJhaW55LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDk0In0uaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDk3In0uaW9uLWlvcy1yZWNvcmRpbmctb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OTYifS5pb24taW9zLXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxmNDk5In0uaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDk4In0uaW9uLWlvcy1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjQ5YyJ9Lmlvbi1pb3MtcmVmcmVzaC1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGY0OWEifS5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OWIifS5pb24taW9zLXJlbG9hZDpiZWZvcmV7Y29udGVudDoiXGY0OWQifS5pb24taW9zLXJldmVyc2UtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjQ5ZiJ9Lmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmEtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0OWUifS5pb24taW9zLXJld2luZDpiZWZvcmV7Y29udGVudDoiXGY0YTEifS5pb24taW9zLXJld2luZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRhMCJ9Lmlvbi1pb3Mtcm9zZTpiZWZvcmV7Y29udGVudDoiXGY0YTMifS5pb24taW9zLXJvc2Utb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YTIifS5pb24taW9zLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGY0YTUifS5pb24taW9zLXNlYXJjaC1zdHJvbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGE0In0uaW9uLWlvcy1zZXR0aW5nczpiZWZvcmV7Y29udGVudDoiXGY0YTcifS5pb24taW9zLXNldHRpbmdzLXN0cm9uZzpiZWZvcmV7Y29udGVudDoiXGY0YTYifS5pb24taW9zLXNodWZmbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGE5In0uaW9uLWlvcy1zaHVmZmxlLXN0cm9uZzpiZWZvcmV7Y29udGVudDoiXGY0YTgifS5pb24taW9zLXNraXBiYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGY0YWIifS5pb24taW9zLXNraXBiYWNrd2FyZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRhYSJ9Lmlvbi1pb3Mtc2tpcGZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGFkIn0uaW9uLWlvcy1za2lwZm9yd2FyZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRhYyJ9Lmlvbi1pb3Mtc25vd3k6YmVmb3Jle2NvbnRlbnQ6IlxmNGFlIn0uaW9uLWlvcy1zcGVlZG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGY0YjAifS5pb24taW9zLXNwZWVkb21ldGVyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGFmIn0uaW9uLWlvcy1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjRiMyJ9Lmlvbi1pb3Mtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjRiMSJ9Lmlvbi1pb3Mtc3Rhci1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRiMiJ9Lmlvbi1pb3Mtc3RvcHdhdGNoOmJlZm9yZXtjb250ZW50OiJcZjRiNSJ9Lmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI0In0uaW9uLWlvcy1zdW5ueTpiZWZvcmV7Y29udGVudDoiXGY0YjcifS5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI2In0uaW9uLWlvcy10ZWxlcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGI5In0uaW9uLWlvcy10ZWxlcGhvbmUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YjgifS5pb24taW9zLXRlbm5pc2JhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNGJiIn0uaW9uLWlvcy10ZW5uaXNiYWxsLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJhIn0uaW9uLWlvcy10aHVuZGVyc3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxmNGJkIn0uaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YmMifS5pb24taW9zLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJmIn0uaW9uLWlvcy10aW1lLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGJlIn0uaW9uLWlvcy10aW1lcjpiZWZvcmV7Y29udGVudDoiXGY0YzEifS5pb24taW9zLXRpbWVyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGMwIn0uaW9uLWlvcy10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGMzIn0uaW9uLWlvcy10b2dnbGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YzIifS5pb24taW9zLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjRjNSJ9Lmlvbi1pb3MtdHJhc2gtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0YzQifS5pb24taW9zLXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxmNGM3In0uaW9uLWlvcy11bmRvLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM2In0uaW9uLWlvcy11bmxvY2tlZDpiZWZvcmV7Y29udGVudDoiXGY0YzkifS5pb24taW9zLXVubG9ja2VkLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGM4In0uaW9uLWlvcy11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGNiIn0uaW9uLWlvcy11cGxvYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0Y2EifS5pb24taW9zLXZpZGVvY2FtOmJlZm9yZXtjb250ZW50OiJcZjRjZCJ9Lmlvbi1pb3MtdmlkZW9jYW0tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0Y2MifS5pb24taW9zLXZvbHVtZS1oaWdoOmJlZm9yZXtjb250ZW50OiJcZjRjZSJ9Lmlvbi1pb3Mtdm9sdW1lLWxvdzpiZWZvcmV7Y29udGVudDoiXGY0Y2YifS5pb24taW9zLXdpbmVnbGFzczpiZWZvcmV7Y29udGVudDoiXGY0ZDEifS5pb24taW9zLXdpbmVnbGFzcy1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRkMCJ9Lmlvbi1pb3Mtd29ybGQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGQzIn0uaW9uLWlvcy13b3JsZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRkMiJ9Lmlvbi1pcGFkOmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9Lmlvbi1pcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWZhIn0uaW9uLWlwb2Q6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uaW9uLWpldDpiZWZvcmV7Y29udGVudDoiXGYyOTUifS5pb24ta2V5OmJlZm9yZXtjb250ZW50OiJcZjI5NiJ9Lmlvbi1rbmlmZTpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5pb24tbGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9Lmlvbi1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjFmZCJ9Lmlvbi1sZXZlbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjk4In0uaW9uLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDoiXGYyOTkifS5pb24tbGluazpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5pb24tbG9hZC1hOmJlZm9yZXtjb250ZW50OiJcZjI5YSJ9Lmlvbi1sb2FkLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjliIn0uaW9uLWxvYWQtYzpiZWZvcmV7Y29udGVudDoiXGYyOWMifS5pb24tbG9hZC1kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9Lmlvbi1sb2NhdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxZmYifS5pb24tbG9jay1jb21iaW5hdGlvbjpiZWZvcmV7Y29udGVudDoiXGY0ZDQifS5pb24tbG9ja2VkOmJlZm9yZXtjb250ZW50OiJcZjIwMCJ9Lmlvbi1sb2ctaW46YmVmb3Jle2NvbnRlbnQ6IlxmMjllIn0uaW9uLWxvZy1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjlmIn0uaW9uLWxvb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMjAxIn0uaW9uLW1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGYyYTAifS5pb24tbWFsZTpiZWZvcmV7Y29udGVudDoiXGYyYTEifS5pb24tbWFuOmJlZm9yZXtjb250ZW50OiJcZjIwMiJ9Lmlvbi1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjAzIn0uaW9uLW1lZGtpdDpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5pb24tbWVyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMzNmIn0uaW9uLW1pYy1hOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9Lmlvbi1taWMtYjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5pb24tbWljLWM6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uaW9uLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9Lmlvbi1taW51cy1jaXJjbGVkOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9Lmlvbi1taW51cy1yb3VuZDpiZWZvcmV7Y29udGVudDoiXGYyMDgifS5pb24tbW9kZWwtczpiZWZvcmV7Y29udGVudDoiXGYyYzEifS5pb24tbW9uaXRvcjpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5pb24tbW9yZTpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5pb24tbW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMzQwIn0uaW9uLW11c2ljLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjBjIn0uaW9uLW5hdmljb246YmVmb3Jle2NvbnRlbnQ6IlxmMjBlIn0uaW9uLW5hdmljb24tcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjBkIn0uaW9uLW5hdmlnYXRlOmJlZm9yZXtjb250ZW50OiJcZjJhMyJ9Lmlvbi1uZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZjM0MSJ9Lmlvbi1uby1zbW9raW5nOmJlZm9yZXtjb250ZW50OiJcZjJjMiJ9Lmlvbi1udWNsZWFyOmJlZm9yZXtjb250ZW50OiJcZjJhNCJ9Lmlvbi1vdXRsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzQyIn0uaW9uLXBhaW50YnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ1In0uaW9uLXBhaW50YnVja2V0OmJlZm9yZXtjb250ZW50OiJcZjRkNiJ9Lmlvbi1wYXBlci1haXJwbGFuZTpiZWZvcmV7Y29udGVudDoiXGYyYzMifS5pb24tcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZjIwZiJ9Lmlvbi1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5pb24tcGVyc29uOmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9Lmlvbi1wZXJzb24tYWRkOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9Lmlvbi1wZXJzb24tc3RhbGtlcjpiZWZvcmV7Y29udGVudDoiXGYyMTIifS5pb24tcGllLWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjJhNSJ9Lmlvbi1waW46YmVmb3Jle2NvbnRlbnQ6IlxmMmE2In0uaW9uLXBpbnBvaW50OmJlZm9yZXtjb250ZW50OiJcZjJhNyJ9Lmlvbi1waXp6YTpiZWZvcmV7Y29udGVudDoiXGYyYTgifS5pb24tcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjE0In0uaW9uLXBsYW5ldDpiZWZvcmV7Y29udGVudDoiXGYzNDMifS5pb24tcGxheTpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5pb24tcGxheXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMzBhIn0uaW9uLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE4In0uaW9uLXBsdXMtY2lyY2xlZDpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5pb24tcGx1cy1yb3VuZDpiZWZvcmV7Y29udGVudDoiXGYyMTcifS5pb24tcG9kaXVtOmJlZm9yZXtjb250ZW50OiJcZjM0NCJ9Lmlvbi1wb3VuZDpiZWZvcmV7Y29udGVudDoiXGYyMTkifS5pb24tcG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmE5In0uaW9uLXByaWNldGFnOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9Lmlvbi1wcmljZXRhZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMmFiIn0uaW9uLXByaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uaW9uLXB1bGwtcmVxdWVzdDpiZWZvcmV7Y29udGVudDoiXGYzNDUifS5pb24tcXItc2Nhbm5lcjpiZWZvcmV7Y29udGVudDoiXGYzNDYifS5pb24tcXVvdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzQ3In0uaW9uLXJhZGlvLXdhdmVzOmJlZm9yZXtjb250ZW50OiJcZjJhYyJ9Lmlvbi1yZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uaW9uLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMjFjIn0uaW9uLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjIxZSJ9Lmlvbi1yZXBseS1hbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMjFkIn0uaW9uLXJpYmJvbi1hOmJlZm9yZXtjb250ZW50OiJcZjM0OCJ9Lmlvbi1yaWJib24tYjpiZWZvcmV7Y29udGVudDoiXGYzNDkifS5pb24tc2FkOmJlZm9yZXtjb250ZW50OiJcZjM0YSJ9Lmlvbi1zYWQtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZDcifS5pb24tc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMzRiIn0uaW9uLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGYyMWYifS5pb24tc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMmFkIn0uaW9uLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjIyMCJ9Lmlvbi1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZjIyMSJ9Lmlvbi1za2lwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9Lmlvbi1za2lwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uaW9uLXNvY2lhbC1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9Lmlvbi1zb2NpYWwtYW5kcm9pZC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIyNCJ9Lmlvbi1zb2NpYWwtYW5ndWxhcjpiZWZvcmV7Y29udGVudDoiXGY0ZDkifS5pb24tc29jaWFsLWFuZ3VsYXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZDgifS5pb24tc29jaWFsLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9Lmlvbi1zb2NpYWwtYXBwbGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5pb24tc29jaWFsLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmMmFmIn0uaW9uLXNvY2lhbC1iaXRjb2luLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFlIn0uaW9uLXNvY2lhbC1idWZmZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uaW9uLXNvY2lhbC1idWZmZXItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMjgifS5pb24tc29jaWFsLWNocm9tZTpiZWZvcmV7Y29udGVudDoiXGY0ZGIifS5pb24tc29jaWFsLWNocm9tZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRkYSJ9Lmlvbi1zb2NpYWwtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGY0ZGQifS5pb24tc29jaWFsLWNvZGVwZW4tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZGMifS5pb24tc29jaWFsLWNzczM6YmVmb3Jle2NvbnRlbnQ6IlxmNGRmIn0uaW9uLXNvY2lhbC1jc3MzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGRlIn0uaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjJiIn0uaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3Mtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5pb24tc29jaWFsLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9Lmlvbi1zb2NpYWwtZHJpYmJibGUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5pb24tc29jaWFsLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMjJmIn0uaW9uLXNvY2lhbC1kcm9wYm94LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjJlIn0uaW9uLXNvY2lhbC1ldXJvOmJlZm9yZXtjb250ZW50OiJcZjRlMSJ9Lmlvbi1zb2NpYWwtZXVyby1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRlMCJ9Lmlvbi1zb2NpYWwtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMjMxIn0uaW9uLXNvY2lhbC1mYWNlYm9vay1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzMCJ9Lmlvbi1zb2NpYWwtZm91cnNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzNGQifS5pb24tc29jaWFsLWZvdXJzcXVhcmUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNGMifS5pb24tc29jaWFsLWZyZWVic2QtZGV2aWw6YmVmb3Jle2NvbnRlbnQ6IlxmMmM0In0uaW9uLXNvY2lhbC1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uaW9uLXNvY2lhbC1naXRodWItb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5pb24tc29jaWFsLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYzNGYifS5pb24tc29jaWFsLWdvb2dsZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjM0ZSJ9Lmlvbi1zb2NpYWwtZ29vZ2xlcGx1czpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5pb24tc29jaWFsLWdvb2dsZXBsdXMtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyMzQifS5pb24tc29jaWFsLWhhY2tlcm5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjM3In0uaW9uLXNvY2lhbC1oYWNrZXJuZXdzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uaW9uLXNvY2lhbC1odG1sNTpiZWZvcmV7Y29udGVudDoiXGY0ZTMifS5pb24tc29jaWFsLWh0bWw1LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGUyIn0uaW9uLXNvY2lhbC1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxmMzUxIn0uaW9uLXNvY2lhbC1pbnN0YWdyYW0tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNTAifS5pb24tc29jaWFsLWphdmFzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGU1In0uaW9uLXNvY2lhbC1qYXZhc2NyaXB0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGU0In0uaW9uLXNvY2lhbC1saW5rZWRpbjpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5pb24tc29jaWFsLWxpbmtlZGluLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjM4In0uaW9uLXNvY2lhbC1tYXJrZG93bjpiZWZvcmV7Y29udGVudDoiXGY0ZTYifS5pb24tc29jaWFsLW5vZGVqczpiZWZvcmV7Y29udGVudDoiXGY0ZTcifS5pb24tc29jaWFsLW9jdG9jYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGU4In0uaW9uLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmIxIn0uaW9uLXNvY2lhbC1waW50ZXJlc3Qtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyYjAifS5pb24tc29jaWFsLXB5dGhvbjpiZWZvcmV7Y29udGVudDoiXGY0ZTkifS5pb24tc29jaWFsLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYyM2IifS5pb24tc29jaWFsLXJlZGRpdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzYSJ9Lmlvbi1zb2NpYWwtcnNzOmJlZm9yZXtjb250ZW50OiJcZjIzZCJ9Lmlvbi1zb2NpYWwtcnNzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uaW9uLXNvY2lhbC1zYXNzOmJlZm9yZXtjb250ZW50OiJcZjRlYSJ9Lmlvbi1zb2NpYWwtc2t5cGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjNmIn0uaW9uLXNvY2lhbC1za3lwZS1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9Lmlvbi1zb2NpYWwtc25hcGNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVjIn0uaW9uLXNvY2lhbC1zbmFwY2hhdC1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRlYiJ9Lmlvbi1zb2NpYWwtdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9Lmlvbi1zb2NpYWwtdHVtYmxyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQwIn0uaW9uLXNvY2lhbC10dXg6YmVmb3Jle2NvbnRlbnQ6IlxmMmM1In0uaW9uLXNvY2lhbC10d2l0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGVlIn0uaW9uLXNvY2lhbC10d2l0Y2gtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZWQifS5pb24tc29jaWFsLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQzIn0uaW9uLXNvY2lhbC10d2l0dGVyLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQyIn0uaW9uLXNvY2lhbC11c2Q6YmVmb3Jle2NvbnRlbnQ6IlxmMzUzIn0uaW9uLXNvY2lhbC11c2Qtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYzNTIifS5pb24tc29jaWFsLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjI0NSJ9Lmlvbi1zb2NpYWwtdmltZW8tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5pb24tc29jaWFsLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjRmMCJ9Lmlvbi1zb2NpYWwtd2hhdHNhcHAtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGY0ZWYifS5pb24tc29jaWFsLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ3In0uaW9uLXNvY2lhbC13aW5kb3dzLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ2In0uaW9uLXNvY2lhbC13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ5In0uaW9uLXNvY2lhbC13b3JkcHJlc3Mtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5pb24tc29jaWFsLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjI0YiJ9Lmlvbi1zb2NpYWwteWFob28tb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyNGEifS5pb24tc29jaWFsLXllbjpiZWZvcmV7Y29udGVudDoiXGY0ZjIifS5pb24tc29jaWFsLXllbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OiJcZjRmMSJ9Lmlvbi1zb2NpYWwteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5pb24tc29jaWFsLXlvdXR1YmUtb3V0bGluZTpiZWZvcmV7Y29udGVudDoiXGYyNGMifS5pb24tc291cC1jYW46YmVmb3Jle2NvbnRlbnQ6IlxmNGY0In0uaW9uLXNvdXAtY2FuLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGYzIn0uaW9uLXNwZWFrZXJwaG9uZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5pb24tc3BlZWRvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmIzIn0uaW9uLXNwb29uOmJlZm9yZXtjb250ZW50OiJcZjJiNCJ9Lmlvbi1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjI0ZSJ9Lmlvbi1zdGF0cy1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjJiNSJ9Lmlvbi1zdGVhbTpiZWZvcmV7Y29udGVudDoiXGYzMGIifS5pb24tc3RvcDpiZWZvcmV7Y29udGVudDoiXGYyNGYifS5pb24tdGhlcm1vbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmI2In0uaW9uLXRodW1ic2Rvd246YmVmb3Jle2NvbnRlbnQ6IlxmMjUwIn0uaW9uLXRodW1ic3VwOmJlZm9yZXtjb250ZW50OiJcZjI1MSJ9Lmlvbi10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzU1In0uaW9uLXRvZ2dsZS1maWxsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzU0In0uaW9uLXRyYW5zZ2VuZGVyOmJlZm9yZXtjb250ZW50OiJcZjRmNSJ9Lmlvbi10cmFzaC1hOmJlZm9yZXtjb250ZW50OiJcZjI1MiJ9Lmlvbi10cmFzaC1iOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9Lmlvbi10cm9waHk6YmVmb3Jle2NvbnRlbnQ6IlxmMzU2In0uaW9uLXRzaGlydDpiZWZvcmV7Y29udGVudDoiXGY0ZjcifS5pb24tdHNoaXJ0LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGY2In0uaW9uLXVtYnJlbGxhOmJlZm9yZXtjb250ZW50OiJcZjJiNyJ9Lmlvbi11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjM1NyJ9Lmlvbi11bmxvY2tlZDpiZWZvcmV7Y29udGVudDoiXGYyNTQifS5pb24tdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjI1NSJ9Lmlvbi11c2I6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uaW9uLXZpZGVvY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9Lmlvbi12b2x1bWUtaGlnaDpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5pb24tdm9sdW1lLWxvdzpiZWZvcmV7Y29udGVudDoiXGYyNTgifS5pb24tdm9sdW1lLW1lZGl1bTpiZWZvcmV7Y29udGVudDoiXGYyNTkifS5pb24tdm9sdW1lLW11dGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjVhIn0uaW9uLXdhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzU4In0uaW9uLXdhdGVyZHJvcDpiZWZvcmV7Y29udGVudDoiXGYyNWIifS5pb24td2lmaTpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5pb24td2luZWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjJiOSJ9Lmlvbi13b21hbjpiZWZvcmV7Y29udGVudDoiXGYyNWQifS5pb24td3JlbmNoOmJlZm9yZXtjb250ZW50OiJcZjJiYSJ9Lmlvbi14Ym94OmJlZm9yZXtjb250ZW50OiJcZjMwYyJ9DQo="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/owlcarousel/js/owl.carousel.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.932Z","timestamp":1785154927932,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/owlcarousel/js/owl.carousel.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:36 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=eDpn8ZrIJ74uwYsG7ohxEGM5VL%2FZrcCLpeJIwSWXzbKWsDCGTDnCkYafY68vayzOok1yJ6Xl5kxwCU4xSVKtRVY%2B08k9iXGPWtjX%2B3qHP2KVZWg9G2IObAk7gWvYeo8AchA9w4y6HMI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d5cb28a-OSL\r\ncontent-length: 10698\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":42860,"size_decoded":11472,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (32012), with CRLF line terminators","md5":"f80088cc8ff68f9cc0ffea0e48e04895","sha1":"21a323fae0e3a7d7f3ae176d8f7dbe31f9eada69","sha256":"c8c728d772f3ff93b5c7c65b86855f3dc0502d1bedd04a7ed1d6af06567322f4","sha512":"56854152b63423a86d7b9496aae10b1288a055cb3e8b1f91cb4d1093d11322a6a2b9163b27b9f1213161c44309c3e0c739281c00fc27fd852aff8a43500b6479","ssdeep":"768:8BA7dtMFA0fdb3kKNSRInLGhep2lcwJeL+CkbQdc71COpUQuiBt33:gAzMF3d3MxAcZ4DU","tlshash":"0b137246b3202d2a869b61e0663f160bb23a291ce414507d7d79a6de6d7dc4c213fbfc","first_seen":"2023-03-07T12:02:38Z","last_seen":"2026-08-06T20:19:23.956694Z","times_seen":465,"resource_available":true,"data":"LyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMi4wDQogKiBDb3B5cmlnaHQgMjAxMy0yMDE2IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLw0KIWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoYixjKXt0aGlzLnNldHRpbmdzPW51bGwsdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsYyksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuX2hhbmRsZXJzPXt9LHRoaXMuX3BsdWdpbnM9e30sdGhpcy5fc3VwcmVzcz17fSx0aGlzLl9jdXJyZW50PW51bGwsdGhpcy5fc3BlZWQ9bnVsbCx0aGlzLl9jb29yZGluYXRlcz1bXSx0aGlzLl9icmVha3BvaW50PW51bGwsdGhpcy5fd2lkdGg9bnVsbCx0aGlzLl9pdGVtcz1bXSx0aGlzLl9jbG9uZXM9W10sdGhpcy5fbWVyZ2Vycz1bXSx0aGlzLl93aWR0aHM9W10sdGhpcy5faW52YWxpZGF0ZWQ9e30sdGhpcy5fcGlwZT1bXSx0aGlzLl9kcmFnPXt0aW1lOm51bGwsdGFyZ2V0Om51bGwscG9pbnRlcjpudWxsLHN0YWdlOntzdGFydDpudWxsLGN1cnJlbnQ6bnVsbH0sZGlyZWN0aW9uOm51bGx9LHRoaXMuX3N0YXRlcz17Y3VycmVudDp7fSx0YWdzOntpbml0aWFsaXppbmc6WyJidXN5Il0sYW5pbWF0aW5nOlsiYnVzeSJdLGRyYWdnaW5nOlsiaW50ZXJhY3RpbmciXX19LGEuZWFjaChbIm9uUmVzaXplIiwib25UaHJvdHRsZWRSZXNpemUiXSxhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5faGFuZGxlcnNbY109YS5wcm94eSh0aGlzW2NdLHRoaXMpfSx0aGlzKSksYS5lYWNoKGUuUGx1Z2lucyxhLnByb3h5KGZ1bmN0aW9uKGEsYil7dGhpcy5fcGx1Z2luc1thLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK2Euc2xpY2UoMSldPW5ldyBiKHRoaXMpfSx0aGlzKSksYS5lYWNoKGUuV29ya2VycyxhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5fcGlwZS5wdXNoKHtmaWx0ZXI6Yy5maWx0ZXIscnVuOmEucHJveHkoYy5ydW4sdGhpcyl9KX0sdGhpcykpLHRoaXMuc2V0dXAoKSx0aGlzLmluaXRpYWxpemUoKX1lLkRlZmF1bHRzPXtpdGVtczozLGxvb3A6ITEsY2VudGVyOiExLHJld2luZDohMSxtb3VzZURyYWc6ITAsdG91Y2hEcmFnOiEwLHB1bGxEcmFnOiEwLGZyZWVEcmFnOiExLG1hcmdpbjowLHN0YWdlUGFkZGluZzowLG1lcmdlOiExLG1lcmdlRml0OiEwLGF1dG9XaWR0aDohMSxzdGFydFBvc2l0aW9uOjAscnRsOiExLHNtYXJ0U3BlZWQ6MjUwLGZsdWlkU3BlZWQ6ITEsZHJhZ0VuZFNwZWVkOiExLHJlc3BvbnNpdmU6e30scmVzcG9uc2l2ZVJlZnJlc2hSYXRlOjIwMCxyZXNwb25zaXZlQmFzZUVsZW1lbnQ6YixmYWxsYmFja0Vhc2luZzoic3dpbmciLGluZm86ITEsbmVzdGVkSXRlbVNlbGVjdG9yOiExLGl0ZW1FbGVtZW50OiJkaXYiLHN0YWdlRWxlbWVudDoiZGl2IixyZWZyZXNoQ2xhc3M6Im93bC1yZWZyZXNoIixsb2FkZWRDbGFzczoib3dsLWxvYWRlZCIsbG9hZGluZ0NsYXNzOiJvd2wtbG9hZGluZyIscnRsQ2xhc3M6Im93bC1ydGwiLHJlc3BvbnNpdmVDbGFzczoib3dsLXJlc3BvbnNpdmUiLGRyYWdDbGFzczoib3dsLWRyYWciLGl0ZW1DbGFzczoib3dsLWl0ZW0iLHN0YWdlQ2xhc3M6Im93bC1zdGFnZSIsc3RhZ2VPdXRlckNsYXNzOiJvd2wtc3RhZ2Utb3V0ZXIiLGdyYWJDbGFzczoib3dsLWdyYWIifSxlLldpZHRoPXtEZWZhdWx0OiJkZWZhdWx0IixJbm5lcjoiaW5uZXIiLE91dGVyOiJvdXRlciJ9LGUuVHlwZT17RXZlbnQ6ImV2ZW50IixTdGF0ZToic3RhdGUifSxlLlBsdWdpbnM9e30sZS5Xb3JrZXJzPVt7ZmlsdGVyOlsid2lkdGgiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbigpe3RoaXMuX3dpZHRoPXRoaXMuJGVsZW1lbnQud2lkdGgoKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7YS5jdXJyZW50PXRoaXMuX2l0ZW1zJiZ0aGlzLl9pdGVtc1t0aGlzLnJlbGF0aXZlKHRoaXMuX2N1cnJlbnQpXX19LHtmaWx0ZXI6WyJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5jbG9uZWQiKS5yZW1vdmUoKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5zZXR0aW5ncy5tYXJnaW58fCIiLGM9IXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLGQ9dGhpcy5zZXR0aW5ncy5ydGwsZT17d2lkdGg6ImF1dG8iLCJtYXJnaW4tbGVmdCI6ZD9iOiIiLCJtYXJnaW4tcmlnaHQiOmQ/IiI6Yn07IWMmJnRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY3NzKGUpLGEuY3NzPWV9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiPSh0aGlzLndpZHRoKCkvdGhpcy5zZXR0aW5ncy5pdGVtcykudG9GaXhlZCgzKS10aGlzLnNldHRpbmdzLm1hcmdpbixjPW51bGwsZD10aGlzLl9pdGVtcy5sZW5ndGgsZT0hdGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgsZj1bXTtmb3IoYS5pdGVtcz17bWVyZ2U6ITEsd2lkdGg6Yn07ZC0tOyljPXRoaXMuX21lcmdlcnNbZF0sYz10aGlzLnNldHRpbmdzLm1lcmdlRml0JiZNYXRoLm1pbihjLHRoaXMuc2V0dGluZ3MuaXRlbXMpfHxjLGEuaXRlbXMubWVyZ2U9Yz4xfHxhLml0ZW1zLm1lcmdlLGZbZF09ZT9iKmM6dGhpcy5faXRlbXNbZF0ud2lkdGgoKTt0aGlzLl93aWR0aHM9Zn19LHtmaWx0ZXI6WyJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGI9W10sYz10aGlzLl9pdGVtcyxkPXRoaXMuc2V0dGluZ3MsZT1NYXRoLm1heCgyKmQuaXRlbXMsNCksZj0yKk1hdGguY2VpbChjLmxlbmd0aC8yKSxnPWQubG9vcCYmYy5sZW5ndGg/ZC5yZXdpbmQ/ZTpNYXRoLm1heChlLGYpOjAsaD0iIixpPSIiO2ZvcihnLz0yO2ctLTspYi5wdXNoKHRoaXMubm9ybWFsaXplKGIubGVuZ3RoLzIsITApKSxoKz1jW2JbYi5sZW5ndGgtMV1dWzBdLm91dGVySFRNTCxiLnB1c2godGhpcy5ub3JtYWxpemUoYy5sZW5ndGgtMS0oYi5sZW5ndGgtMSkvMiwhMCkpLGk9Y1tiW2IubGVuZ3RoLTFdXVswXS5vdXRlckhUTUwraTt0aGlzLl9jbG9uZXM9YixhKGgpLmFkZENsYXNzKCJjbG9uZWQiKS5hcHBlbmRUbyh0aGlzLiRzdGFnZSksYShpKS5hZGRDbGFzcygiY2xvbmVkIikucHJlcGVuZFRvKHRoaXMuJHN0YWdlKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5zZXR0aW5ncy5ydGw/MTotMSxiPXRoaXMuX2Nsb25lcy5sZW5ndGgrdGhpcy5faXRlbXMubGVuZ3RoLGM9LTEsZD0wLGU9MCxmPVtdOysrYzxiOylkPWZbYy0xXXx8MCxlPXRoaXMuX3dpZHRoc1t0aGlzLnJlbGF0aXZlKGMpXSt0aGlzLnNldHRpbmdzLm1hcmdpbixmLnB1c2goZCtlKmEpO3RoaXMuX2Nvb3JkaW5hdGVzPWZ9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcsYj10aGlzLl9jb29yZGluYXRlcyxjPXt3aWR0aDpNYXRoLmNlaWwoTWF0aC5hYnMoYltiLmxlbmd0aC0xXSkpKzIqYSwicGFkZGluZy1sZWZ0IjphfHwiIiwicGFkZGluZy1yaWdodCI6YXx8IiJ9O3RoaXMuJHN0YWdlLmNzcyhjKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoLGM9IXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLGQ9dGhpcy4kc3RhZ2UuY2hpbGRyZW4oKTtpZihjJiZhLml0ZW1zLm1lcmdlKWZvcig7Yi0tOylhLmNzcy53aWR0aD10aGlzLl93aWR0aHNbdGhpcy5yZWxhdGl2ZShiKV0sZC5lcShiKS5jc3MoYS5jc3MpO2Vsc2UgYyYmKGEuY3NzLndpZHRoPWEuaXRlbXMud2lkdGgsZC5jc3MoYS5jc3MpKX19LHtmaWx0ZXI6WyJpdGVtcyJdLHJ1bjpmdW5jdGlvbigpe3RoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDwxJiZ0aGlzLiRzdGFnZS5yZW1vdmVBdHRyKCJzdHlsZSIpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXthLmN1cnJlbnQ9YS5jdXJyZW50P3RoaXMuJHN0YWdlLmNoaWxkcmVuKCkuaW5kZXgoYS5jdXJyZW50KTowLGEuY3VycmVudD1NYXRoLm1heCh0aGlzLm1pbmltdW0oKSxNYXRoLm1pbih0aGlzLm1heGltdW0oKSxhLmN1cnJlbnQpKSx0aGlzLnJlc2V0KGEuY3VycmVudCl9fSx7ZmlsdGVyOlsicG9zaXRpb24iXSxydW46ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyh0aGlzLl9jdXJyZW50KSl9fSx7ZmlsdGVyOlsid2lkdGgiLCJwb3NpdGlvbiIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlPXRoaXMuc2V0dGluZ3MucnRsPzE6LTEsZj0yKnRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLGc9dGhpcy5jb29yZGluYXRlcyh0aGlzLmN1cnJlbnQoKSkrZixoPWcrdGhpcy53aWR0aCgpKmUsaT1bXTtmb3IoYz0wLGQ9dGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoO2Q+YztjKyspYT10aGlzLl9jb29yZGluYXRlc1tjLTFdfHwwLGI9TWF0aC5hYnModGhpcy5fY29vcmRpbmF0ZXNbY10pK2YqZSwodGhpcy5vcChhLCI8PSIsZykmJnRoaXMub3AoYSwiPiIsaCl8fHRoaXMub3AoYiwiPCIsZykmJnRoaXMub3AoYiwiPiIsaCkpJiZpLnB1c2goYyk7dGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oIjplcSgiK2kuam9pbigiKSwgOmVxKCIpKyIpIikuYWRkQ2xhc3MoImFjdGl2ZSIpLHRoaXMuc2V0dGluZ3MuY2VudGVyJiYodGhpcy4kc3RhZ2UuY2hpbGRyZW4oIi5jZW50ZXIiKS5yZW1vdmVDbGFzcygiY2VudGVyIiksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLmN1cnJlbnQoKSkuYWRkQ2xhc3MoImNlbnRlciIpKX19XSxlLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7aWYodGhpcy5lbnRlcigiaW5pdGlhbGl6aW5nIiksdGhpcy50cmlnZ2VyKCJpbml0aWFsaXplIiksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLnNldHRpbmdzLnJ0bENsYXNzLHRoaXMuc2V0dGluZ3MucnRsKSx0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCYmIXRoaXMuaXMoInByZS1sb2FkaW5nIikpe3ZhciBiLGMsZTtiPXRoaXMuJGVsZW1lbnQuZmluZCgiaW1nIiksYz10aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3Rvcj8iLiIrdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3I6ZCxlPXRoaXMuJGVsZW1lbnQuY2hpbGRyZW4oYykud2lkdGgoKSxiLmxlbmd0aCYmMD49ZSYmdGhpcy5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzKGIpfXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcyksdGhpcy4kc3RhZ2U9YSgiPCIrdGhpcy5zZXR0aW5ncy5zdGFnZUVsZW1lbnQrJyBjbGFzcz0iJyt0aGlzLnNldHRpbmdzLnN0YWdlQ2xhc3MrJyIvPicpLndyYXAoJzxkaXYgY2xhc3M9IicrdGhpcy5zZXR0aW5ncy5zdGFnZU91dGVyQ2xhc3MrJyIvPicpLHRoaXMuJGVsZW1lbnQuYXBwZW5kKHRoaXMuJHN0YWdlLnBhcmVudCgpKSx0aGlzLnJlcGxhY2UodGhpcy4kZWxlbWVudC5jaGlsZHJlbigpLm5vdCh0aGlzLiRzdGFnZS5wYXJlbnQoKSkpLHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIik/dGhpcy5yZWZyZXNoKCk6dGhpcy5pbnZhbGlkYXRlKCJ3aWR0aCIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKSx0aGlzLnJlZ2lzdGVyRXZlbnRIYW5kbGVycygpLHRoaXMubGVhdmUoImluaXRpYWxpemluZyIpLHRoaXMudHJpZ2dlcigiaW5pdGlhbGl6ZWQiKX0sZS5wcm90b3R5cGUuc2V0dXA9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZpZXdwb3J0KCksYz10aGlzLm9wdGlvbnMucmVzcG9uc2l2ZSxkPS0xLGU9bnVsbDtjPyhhLmVhY2goYyxmdW5jdGlvbihhKXtiPj1hJiZhPmQmJihkPU51bWJlcihhKSl9KSxlPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyxjW2RdKSwiZnVuY3Rpb24iPT10eXBlb2YgZS5zdGFnZVBhZGRpbmcmJihlLnN0YWdlUGFkZGluZz1lLnN0YWdlUGFkZGluZygpKSxkZWxldGUgZS5yZXNwb25zaXZlLGUucmVzcG9uc2l2ZUNsYXNzJiZ0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIix0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIikucmVwbGFjZShuZXcgUmVnRXhwKCIoIit0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUNsYXNzKyItKVxcUytcXHMiLCJnIiksIiQxIitkKSkpOmU9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zKSx0aGlzLnRyaWdnZXIoImNoYW5nZSIse3Byb3BlcnR5OntuYW1lOiJzZXR0aW5ncyIsdmFsdWU6ZX19KSx0aGlzLl9icmVha3BvaW50PWQsdGhpcy5zZXR0aW5ncz1lLHRoaXMuaW52YWxpZGF0ZSgic2V0dGluZ3MiKSx0aGlzLnRyaWdnZXIoImNoYW5nZWQiLHtwcm9wZXJ0eTp7bmFtZToic2V0dGluZ3MiLHZhbHVlOnRoaXMuc2V0dGluZ3N9fSl9LGUucHJvdG90eXBlLm9wdGlvbnNMb2dpYz1mdW5jdGlvbigpe3RoaXMuc2V0dGluZ3MuYXV0b1dpZHRoJiYodGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmc9ITEsdGhpcy5zZXR0aW5ncy5tZXJnZT0hMSl9LGUucHJvdG90eXBlLnByZXBhcmU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy50cmlnZ2VyKCJwcmVwYXJlIix7Y29udGVudDpifSk7cmV0dXJuIGMuZGF0YXx8KGMuZGF0YT1hKCI8Iit0aGlzLnNldHRpbmdzLml0ZW1FbGVtZW50KyIvPiIpLmFkZENsYXNzKHRoaXMub3B0aW9ucy5pdGVtQ2xhc3MpLmFwcGVuZChiKSksdGhpcy50cmlnZ2VyKCJwcmVwYXJlZCIse2NvbnRlbnQ6Yy5kYXRhfSksYy5kYXRhfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIGI9MCxjPXRoaXMuX3BpcGUubGVuZ3RoLGQ9YS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4gdGhpc1thXX0sdGhpcy5faW52YWxpZGF0ZWQpLGU9e307Yz5iOykodGhpcy5faW52YWxpZGF0ZWQuYWxsfHxhLmdyZXAodGhpcy5fcGlwZVtiXS5maWx0ZXIsZCkubGVuZ3RoPjApJiZ0aGlzLl9waXBlW2JdLnJ1bihlKSxiKys7dGhpcy5faW52YWxpZGF0ZWQ9e30sIXRoaXMuaXMoInZhbGlkIikmJnRoaXMuZW50ZXIoInZhbGlkIil9LGUucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKGEpe3N3aXRjaChhPWF8fGUuV2lkdGguRGVmYXVsdCl7Y2FzZSBlLldpZHRoLklubmVyOmNhc2UgZS5XaWR0aC5PdXRlcjpyZXR1cm4gdGhpcy5fd2lkdGg7ZGVmYXVsdDpyZXR1cm4gdGhpcy5fd2lkdGgtMip0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyt0aGlzLnNldHRpbmdzLm1hcmdpbn19LGUucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oKXt0aGlzLmVudGVyKCJyZWZyZXNoaW5nIiksdGhpcy50cmlnZ2VyKCJyZWZyZXNoIiksdGhpcy5zZXR1cCgpLHRoaXMub3B0aW9uc0xvZ2ljKCksdGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKSx0aGlzLnVwZGF0ZSgpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyksdGhpcy5sZWF2ZSgicmVmcmVzaGluZyIpLHRoaXMudHJpZ2dlcigicmVmcmVzaGVkIil9LGUucHJvdG90eXBlLm9uVGhyb3R0bGVkUmVzaXplPWZ1bmN0aW9uKCl7Yi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksdGhpcy5yZXNpemVUaW1lcj1iLnNldFRpbWVvdXQodGhpcy5faGFuZGxlcnMub25SZXNpemUsdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlUmVmcmVzaFJhdGUpfSxlLnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pdGVtcy5sZW5ndGg/dGhpcy5fd2lkdGg9PT10aGlzLiRlbGVtZW50LndpZHRoKCk/ITE6dGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKT8odGhpcy5lbnRlcigicmVzaXppbmciKSx0aGlzLnRyaWdnZXIoInJlc2l6ZSIpLmlzRGVmYXVsdFByZXZlbnRlZCgpPyh0aGlzLmxlYXZlKCJyZXNpemluZyIpLCExKToodGhpcy5pbnZhbGlkYXRlKCJ3aWR0aCIpLHRoaXMucmVmcmVzaCgpLHRoaXMubGVhdmUoInJlc2l6aW5nIiksdm9pZCB0aGlzLnRyaWdnZXIoInJlc2l6ZWQiKSkpOiExOiExfSxlLnByb3RvdHlwZS5yZWdpc3RlckV2ZW50SGFuZGxlcnM9ZnVuY3Rpb24oKXthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kc3RhZ2Uub24oYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKyIub3dsLmNvcmUiLGEucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsdGhpcykpLHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSE9PSExJiZ0aGlzLm9uKGIsInJlc2l6ZSIsdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpLHRoaXMuc2V0dGluZ3MubW91c2VEcmFnJiYodGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuZHJhZ0NsYXNzKSx0aGlzLiRzdGFnZS5vbigibW91c2Vkb3duLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnU3RhcnQsdGhpcykpLHRoaXMuJHN0YWdlLm9uKCJkcmFnc3RhcnQub3dsLmNvcmUgc2VsZWN0c3RhcnQub3dsLmNvcmUiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KSksdGhpcy5zZXR0aW5ncy50b3VjaERyYWcmJih0aGlzLiRzdGFnZS5vbigidG91Y2hzdGFydC5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ1N0YXJ0LHRoaXMpKSx0aGlzLiRzdGFnZS5vbigidG91Y2hjYW5jZWwub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdFbmQsdGhpcykpKX0sZS5wcm90b3R5cGUub25EcmFnU3RhcnQ9ZnVuY3Rpb24oYil7dmFyIGQ9bnVsbDszIT09Yi53aGljaCYmKGEuc3VwcG9ydC50cmFuc2Zvcm0/KGQ9dGhpcy4kc3RhZ2UuY3NzKCJ0cmFuc2Zvcm0iKS5yZXBsYWNlKC8uKlwofFwpfCAvZywiIikuc3BsaXQoIiwiKSxkPXt4OmRbMTY9PT1kLmxlbmd0aD8xMjo0XSx5OmRbMTY9PT1kLmxlbmd0aD8xMzo1XX0pOihkPXRoaXMuJHN0YWdlLnBvc2l0aW9uKCksZD17eDp0aGlzLnNldHRpbmdzLnJ0bD9kLmxlZnQrdGhpcy4kc3RhZ2Uud2lkdGgoKS10aGlzLndpZHRoKCkrdGhpcy5zZXR0aW5ncy5tYXJnaW46ZC5sZWZ0LHk6ZC50b3B9KSx0aGlzLmlzKCJhbmltYXRpbmciKSYmKGEuc3VwcG9ydC50cmFuc2Zvcm0/dGhpcy5hbmltYXRlKGQueCk6dGhpcy4kc3RhZ2Uuc3RvcCgpLHRoaXMuaW52YWxpZGF0ZSgicG9zaXRpb24iKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzLCJtb3VzZWRvd24iPT09Yi50eXBlKSx0aGlzLnNwZWVkKDApLHRoaXMuX2RyYWcudGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLl9kcmFnLnRhcmdldD1hKGIudGFyZ2V0KSx0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0PWQsdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50PWQsdGhpcy5fZHJhZy5wb2ludGVyPXRoaXMucG9pbnRlcihiKSxhKGMpLm9uKCJtb3VzZXVwLm93bC5jb3JlIHRvdWNoZW5kLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnRW5kLHRoaXMpKSxhKGMpLm9uZSgibW91c2Vtb3ZlLm93bC5jb3JlIHRvdWNobW92ZS5vd2wuY29yZSIsYS5wcm94eShmdW5jdGlvbihiKXt2YXIgZD10aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLHRoaXMucG9pbnRlcihiKSk7YShjKS5vbigibW91c2Vtb3ZlLm93bC5jb3JlIHRvdWNobW92ZS5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ01vdmUsdGhpcykpLE1hdGguYWJzKGQueCk8TWF0aC5hYnMoZC55KSYmdGhpcy5pcygidmFsaWQiKXx8KGIucHJldmVudERlZmF1bHQoKSx0aGlzLmVudGVyKCJkcmFnZ2luZyIpLHRoaXMudHJpZ2dlcigiZHJhZyIpKX0sdGhpcykpKX0sZS5wcm90b3R5cGUub25EcmFnTW92ZT1mdW5jdGlvbihhKXt2YXIgYj1udWxsLGM9bnVsbCxkPW51bGwsZT10aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLHRoaXMucG9pbnRlcihhKSksZj10aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5zdGFnZS5zdGFydCxlKTt0aGlzLmlzKCJkcmFnZ2luZyIpJiYoYS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2V0dGluZ3MubG9vcD8oYj10aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKSxjPXRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkrMSktYixmLng9KChmLngtYiklYytjKSVjK2IpOihiPXRoaXMuc2V0dGluZ3MucnRsP3RoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkpOnRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpLGM9dGhpcy5zZXR0aW5ncy5ydGw/dGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSk6dGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSksZD10aGlzLnNldHRpbmdzLnB1bGxEcmFnPy0xKmUueC81OjAsZi54PU1hdGgubWF4KE1hdGgubWluKGYueCxiK2QpLGMrZCkpLHRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudD1mLHRoaXMuYW5pbWF0ZShmLngpKX0sZS5wcm90b3R5cGUub25EcmFnRW5kPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsdGhpcy5wb2ludGVyKGIpKSxlPXRoaXMuX2RyYWcuc3RhZ2UuY3VycmVudCxmPWQueD4wXnRoaXMuc2V0dGluZ3MucnRsPyJsZWZ0IjoicmlnaHQiO2EoYykub2ZmKCIub3dsLmNvcmUiKSx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MpLCgwIT09ZC54JiZ0aGlzLmlzKCJkcmFnZ2luZyIpfHwhdGhpcy5pcygidmFsaWQiKSkmJih0aGlzLnNwZWVkKHRoaXMuc2V0dGluZ3MuZHJhZ0VuZFNwZWVkfHx0aGlzLnNldHRpbmdzLnNtYXJ0U3BlZWQpLHRoaXMuY3VycmVudCh0aGlzLmNsb3Nlc3QoZS54LDAhPT1kLng/Zjp0aGlzLl9kcmFnLmRpcmVjdGlvbikpLHRoaXMuaW52YWxpZGF0ZSgicG9zaXRpb24iKSx0aGlzLnVwZGF0ZSgpLHRoaXMuX2RyYWcuZGlyZWN0aW9uPWYsKE1hdGguYWJzKGQueCk+M3x8KG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fZHJhZy50aW1lPjMwMCkmJnRoaXMuX2RyYWcudGFyZ2V0Lm9uZSgiY2xpY2sub3dsLmNvcmUiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KSksdGhpcy5pcygiZHJhZ2dpbmciKSYmKHRoaXMubGVhdmUoImRyYWdnaW5nIiksdGhpcy50cmlnZ2VyKCJkcmFnZ2VkIikpfSxlLnByb3RvdHlwZS5jbG9zZXN0PWZ1bmN0aW9uKGIsYyl7dmFyIGQ9LTEsZT0zMCxmPXRoaXMud2lkdGgoKSxnPXRoaXMuY29vcmRpbmF0ZXMoKTtyZXR1cm4gdGhpcy5zZXR0aW5ncy5mcmVlRHJhZ3x8YS5lYWNoKGcsYS5wcm94eShmdW5jdGlvbihhLGgpe3JldHVybiJsZWZ0Ij09PWMmJmI+aC1lJiZoK2U+Yj9kPWE6InJpZ2h0Ij09PWMmJmI+aC1mLWUmJmgtZitlPmI/ZD1hKzE6dGhpcy5vcChiLCI8IixoKSYmdGhpcy5vcChiLCI+IixnW2ErMV18fGgtZikmJihkPSJsZWZ0Ij09PWM/YSsxOmEpLC0xPT09ZH0sdGhpcykpLHRoaXMuc2V0dGluZ3MubG9vcHx8KHRoaXMub3AoYiwiPiIsZ1t0aGlzLm1pbmltdW0oKV0pP2Q9Yj10aGlzLm1pbmltdW0oKTp0aGlzLm9wKGIsIjwiLGdbdGhpcy5tYXhpbXVtKCldKSYmKGQ9Yj10aGlzLm1heGltdW0oKSkpLGR9LGUucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5zcGVlZCgpPjA7dGhpcy5pcygiYW5pbWF0aW5nIikmJnRoaXMub25UcmFuc2l0aW9uRW5kKCksYyYmKHRoaXMuZW50ZXIoImFuaW1hdGluZyIpLHRoaXMudHJpZ2dlcigidHJhbnNsYXRlIikpLGEuc3VwcG9ydC50cmFuc2Zvcm0zZCYmYS5zdXBwb3J0LnRyYW5zaXRpb24/dGhpcy4kc3RhZ2UuY3NzKHt0cmFuc2Zvcm06InRyYW5zbGF0ZTNkKCIrYisicHgsMHB4LDBweCkiLHRyYW5zaXRpb246dGhpcy5zcGVlZCgpLzFlMysicyJ9KTpjP3RoaXMuJHN0YWdlLmFuaW1hdGUoe2xlZnQ6YisicHgifSx0aGlzLnNwZWVkKCksdGhpcy5zZXR0aW5ncy5mYWxsYmFja0Vhc2luZyxhLnByb3h5KHRoaXMub25UcmFuc2l0aW9uRW5kLHRoaXMpKTp0aGlzLiRzdGFnZS5jc3Moe2xlZnQ6YisicHgifSl9LGUucHJvdG90eXBlLmlzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFthXSYmdGhpcy5fc3RhdGVzLmN1cnJlbnRbYV0+MH0sZS5wcm90b3R5cGUuY3VycmVudD1mdW5jdGlvbihhKXtpZihhPT09ZClyZXR1cm4gdGhpcy5fY3VycmVudDtpZigwPT09dGhpcy5faXRlbXMubGVuZ3RoKXJldHVybiBkO2lmKGE9dGhpcy5ub3JtYWxpemUoYSksdGhpcy5fY3VycmVudCE9PWEpe3ZhciBiPXRoaXMudHJpZ2dlcigiY2hhbmdlIix7cHJvcGVydHk6e25hbWU6InBvc2l0aW9uIix2YWx1ZTphfX0pO2IuZGF0YSE9PWQmJihhPXRoaXMubm9ybWFsaXplKGIuZGF0YSkpLHRoaXMuX2N1cnJlbnQ9YSx0aGlzLmludmFsaWRhdGUoInBvc2l0aW9uIiksdGhpcy50cmlnZ2VyKCJjaGFuZ2VkIix7cHJvcGVydHk6e25hbWU6InBvc2l0aW9uIix2YWx1ZTp0aGlzLl9jdXJyZW50fX0pfXJldHVybiB0aGlzLl9jdXJyZW50fSxlLnByb3RvdHlwZS5pbnZhbGlkYXRlPWZ1bmN0aW9uKGIpe3JldHVybiJzdHJpbmciPT09YS50eXBlKGIpJiYodGhpcy5faW52YWxpZGF0ZWRbYl09ITAsdGhpcy5pcygidmFsaWQiKSYmdGhpcy5sZWF2ZSgidmFsaWQiKSksYS5tYXAodGhpcy5faW52YWxpZGF0ZWQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0pfSxlLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbihhKXthPXRoaXMubm9ybWFsaXplKGEpLGEhPT1kJiYodGhpcy5fc3BlZWQ9MCx0aGlzLl9jdXJyZW50PWEsdGhpcy5zdXBwcmVzcyhbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZWQiXSksdGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXMoYSkpLHRoaXMucmVsZWFzZShbInRyYW5zbGF0ZSIsInRyYW5zbGF0ZWQiXSkpfSxlLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLl9pdGVtcy5sZW5ndGgsZT1iPzA6dGhpcy5fY2xvbmVzLmxlbmd0aDtyZXR1cm4hdGhpcy5pc051bWVyaWMoYSl8fDE+Yz9hPWQ6KDA+YXx8YT49YytlKSYmKGE9KChhLWUvMiklYytjKSVjK2UvMiksYX0sZS5wcm90b3R5cGUucmVsYXRpdmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEtPXRoaXMuX2Nsb25lcy5sZW5ndGgvMix0aGlzLm5vcm1hbGl6ZShhLCEwKX0sZS5wcm90b3R5cGUubWF4aW11bT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZT10aGlzLnNldHRpbmdzLGY9dGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoO2lmKGUubG9vcClmPXRoaXMuX2Nsb25lcy5sZW5ndGgvMit0aGlzLl9pdGVtcy5sZW5ndGgtMTtlbHNlIGlmKGUuYXV0b1dpZHRofHxlLm1lcmdlKXtmb3IoYj10aGlzLl9pdGVtcy5sZW5ndGgsYz10aGlzLl9pdGVtc1stLWJdLndpZHRoKCksZD10aGlzLiRlbGVtZW50LndpZHRoKCk7Yi0tJiYoYys9dGhpcy5faXRlbXNbYl0ud2lkdGgoKSt0aGlzLnNldHRpbmdzLm1hcmdpbiwhKGM+ZCkpOyk7Zj1iKzF9ZWxzZSBmPWUuY2VudGVyP3RoaXMuX2l0ZW1zLmxlbmd0aC0xOnRoaXMuX2l0ZW1zLmxlbmd0aC1lLml0ZW1zO3JldHVybiBhJiYoZi09dGhpcy5fY2xvbmVzLmxlbmd0aC8yKSxNYXRoLm1heChmLDApfSxlLnByb3RvdHlwZS5taW5pbXVtPWZ1bmN0aW9uKGEpe3JldHVybiBhPzA6dGhpcy5fY2xvbmVzLmxlbmd0aC8yfSxlLnByb3RvdHlwZS5pdGVtcz1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWQ/dGhpcy5faXRlbXMuc2xpY2UoKTooYT10aGlzLm5vcm1hbGl6ZShhLCEwKSx0aGlzLl9pdGVtc1thXSl9LGUucHJvdG90eXBlLm1lcmdlcnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1kP3RoaXMuX21lcmdlcnMuc2xpY2UoKTooYT10aGlzLm5vcm1hbGl6ZShhLCEwKSx0aGlzLl9tZXJnZXJzW2FdKX0sZS5wcm90b3R5cGUuY2xvbmVzPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuX2Nsb25lcy5sZW5ndGgvMixlPWMrdGhpcy5faXRlbXMubGVuZ3RoLGY9ZnVuY3Rpb24oYSl7cmV0dXJuIGElMj09PTA/ZSthLzI6Yy0oYSsxKS8yfTtyZXR1cm4gYj09PWQ/YS5tYXAodGhpcy5fY2xvbmVzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGYoYil9KTphLm1hcCh0aGlzLl9jbG9uZXMsZnVuY3Rpb24oYSxjKXtyZXR1cm4gYT09PWI/ZihjKTpudWxsfSl9LGUucHJvdG90eXBlLnNwZWVkPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09ZCYmKHRoaXMuX3NwZWVkPWEpLHRoaXMuX3NwZWVkfSxlLnByb3RvdHlwZS5jb29yZGluYXRlcz1mdW5jdGlvbihiKXt2YXIgYyxlPTEsZj1iLTE7cmV0dXJuIGI9PT1kP2EubWFwKHRoaXMuX2Nvb3JkaW5hdGVzLGEucHJveHkoZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5jb29yZGluYXRlcyhiKX0sdGhpcykpOih0aGlzLnNldHRpbmdzLmNlbnRlcj8odGhpcy5zZXR0aW5ncy5ydGwmJihlPS0xLGY9YisxKSxjPXRoaXMuX2Nvb3JkaW5hdGVzW2JdLGMrPSh0aGlzLndpZHRoKCktYysodGhpcy5fY29vcmRpbmF0ZXNbZl18fDApKS8yKmUpOmM9dGhpcy5fY29vcmRpbmF0ZXNbZl18fDAsYz1NYXRoLmNlaWwoYykpfSxlLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIDA9PT1jPzA6TWF0aC5taW4oTWF0aC5tYXgoTWF0aC5hYnMoYi1hKSwxKSw2KSpNYXRoLmFicyhjfHx0aGlzLnNldHRpbmdzLnNtYXJ0U3BlZWQpfSxlLnByb3RvdHlwZS50bz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3VycmVudCgpLGQ9bnVsbCxlPWEtdGhpcy5yZWxhdGl2ZShjKSxmPShlPjApLSgwPmUpLGc9dGhpcy5faXRlbXMubGVuZ3RoLGg9dGhpcy5taW5pbXVtKCksaT10aGlzLm1heGltdW0oKTt0aGlzLnNldHRpbmdzLmxvb3A/KCF0aGlzLnNldHRpbmdzLnJld2luZCYmTWF0aC5hYnMoZSk+Zy8yJiYoZSs9LTEqZipnKSxhPWMrZSxkPSgoYS1oKSVnK2cpJWcraCxkIT09YSYmaT49ZC1lJiZkLWU+MCYmKGM9ZC1lLGE9ZCx0aGlzLnJlc2V0KGMpKSk6dGhpcy5zZXR0aW5ncy5yZXdpbmQ/KGkrPTEsYT0oYSVpK2kpJWkpOmE9TWF0aC5tYXgoaCxNYXRoLm1pbihpLGEpKSx0aGlzLnNwZWVkKHRoaXMuZHVyYXRpb24oYyxhLGIpKSx0aGlzLmN1cnJlbnQoYSksdGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSYmdGhpcy51cGRhdGUoKX0sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihhKXthPWF8fCExLHRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSkrMSxhKX0sZS5wcm90b3R5cGUucHJldj1mdW5jdGlvbihhKXthPWF8fCExLHRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSktMSxhKX0sZS5wcm90b3R5cGUub25UcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09ZCYmKGEuc3RvcFByb3BhZ2F0aW9uKCksKGEudGFyZ2V0fHxhLnNyY0VsZW1lbnR8fGEub3JpZ2luYWxUYXJnZXQpIT09dGhpcy4kc3RhZ2UuZ2V0KDApKT8hMToodGhpcy5sZWF2ZSgiYW5pbWF0aW5nIiksdm9pZCB0aGlzLnRyaWdnZXIoInRyYW5zbGF0ZWQiKSl9LGUucHJvdG90eXBlLnZpZXdwb3J0PWZ1bmN0aW9uKCl7dmFyIGQ7aWYodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCE9PWIpZD1hKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQmFzZUVsZW1lbnQpLndpZHRoKCk7ZWxzZSBpZihiLmlubmVyV2lkdGgpZD1iLmlubmVyV2lkdGg7ZWxzZXtpZighYy5kb2N1bWVudEVsZW1lbnR8fCFjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCl0aHJvdyJDYW4gbm90IGRldGVjdCB2aWV3cG9ydCB3aWR0aC4iO2Q9Yy5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh9cmV0dXJuIGR9LGUucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24oYil7dGhpcy4kc3RhZ2UuZW1wdHkoKSx0aGlzLl9pdGVtcz1bXSxiJiYoYj1iIGluc3RhbmNlb2YgalF1ZXJ5P2I6YShiKSksdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3ImJihiPWIuZmluZCgiLiIrdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IpKSxiLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5ub2RlVHlwZX0pLmVhY2goYS5wcm94eShmdW5jdGlvbihhLGIpe2I9dGhpcy5wcmVwYXJlKGIpLHRoaXMuJHN0YWdlLmFwcGVuZChiKSx0aGlzLl9pdGVtcy5wdXNoKGIpLHRoaXMuX21lcmdlcnMucHVzaCgxKmIuZmluZCgiW2RhdGEtbWVyZ2VdIikuYWRkQmFjaygiW2RhdGEtbWVyZ2VdIikuYXR0cigiZGF0YS1tZXJnZSIpfHwxKX0sdGhpcykpLHRoaXMucmVzZXQodGhpcy5pc051bWVyaWModGhpcy5zZXR0aW5ncy5zdGFydFBvc2l0aW9uKT90aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb246MCksdGhpcy5pbnZhbGlkYXRlKCJpdGVtcyIpfSxlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYixjKXt2YXIgZT10aGlzLnJlbGF0aXZlKHRoaXMuX2N1cnJlbnQpO2M9Yz09PWQ/dGhpcy5faXRlbXMubGVuZ3RoOnRoaXMubm9ybWFsaXplKGMsITApLGI9YiBpbnN0YW5jZW9mIGpRdWVyeT9iOmEoYiksdGhpcy50cmlnZ2VyKCJhZGQiLHtjb250ZW50OmIscG9zaXRpb246Y30pLGI9dGhpcy5wcmVwYXJlKGIpLDA9PT10aGlzLl9pdGVtcy5sZW5ndGh8fGM9PT10aGlzLl9pdGVtcy5sZW5ndGg/KDA9PT10aGlzLl9pdGVtcy5sZW5ndGgmJnRoaXMuJHN0YWdlLmFwcGVuZChiKSwwIT09dGhpcy5faXRlbXMubGVuZ3RoJiZ0aGlzLl9pdGVtc1tjLTFdLmFmdGVyKGIpLHRoaXMuX2l0ZW1zLnB1c2goYiksdGhpcy5fbWVyZ2Vycy5wdXNoKDEqYi5maW5kKCJbZGF0YS1tZXJnZV0iKS5hZGRCYWNrKCJbZGF0YS1tZXJnZV0iKS5hdHRyKCJkYXRhLW1lcmdlIil8fDEpKToodGhpcy5faXRlbXNbY10uYmVmb3JlKGIpLHRoaXMuX2l0ZW1zLnNwbGljZShjLDAsYiksdGhpcy5fbWVyZ2Vycy5zcGxpY2UoYywwLDEqYi5maW5kKCJbZGF0YS1tZXJnZV0iKS5hZGRCYWNrKCJbZGF0YS1tZXJnZV0iKS5hdHRyKCJkYXRhLW1lcmdlIil8fDEpKSx0aGlzLl9pdGVtc1tlXSYmdGhpcy5yZXNldCh0aGlzLl9pdGVtc1tlXS5pbmRleCgpKSx0aGlzLmludmFsaWRhdGUoIml0ZW1zIiksdGhpcy50cmlnZ2VyKCJhZGRlZCIse2NvbnRlbnQ6Yixwb3NpdGlvbjpjfSl9LGUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXthPXRoaXMubm9ybWFsaXplKGEsITApLGEhPT1kJiYodGhpcy50cmlnZ2VyKCJyZW1vdmUiLHtjb250ZW50OnRoaXMuX2l0ZW1zW2FdLHBvc2l0aW9uOmF9KSx0aGlzLl9pdGVtc1thXS5yZW1vdmUoKSx0aGlzLl9pdGVtcy5zcGxpY2UoYSwxKSx0aGlzLl9tZXJnZXJzLnNwbGljZShhLDEpLHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKSx0aGlzLnRyaWdnZXIoInJlbW92ZWQiLHtjb250ZW50Om51bGwscG9zaXRpb246YX0pKX0sZS5wcm90b3R5cGUucHJlbG9hZEF1dG9XaWR0aEltYWdlcz1mdW5jdGlvbihiKXtiLmVhY2goYS5wcm94eShmdW5jdGlvbihiLGMpe3RoaXMuZW50ZXIoInByZS1sb2FkaW5nIiksYz1hKGMpLGEobmV3IEltYWdlKS5vbmUoImxvYWQiLGEucHJveHkoZnVuY3Rpb24oYSl7Yy5hdHRyKCJzcmMiLGEudGFyZ2V0LnNyYyksYy5jc3MoIm9wYWNpdHkiLDEpLHRoaXMubGVhdmUoInByZS1sb2FkaW5nIiksIXRoaXMuaXMoInByZS1sb2FkaW5nIikmJiF0aGlzLmlzKCJpbml0aWFsaXppbmciKSYmdGhpcy5yZWZyZXNoKCl9LHRoaXMpKS5hdHRyKCJzcmMiLGMuYXR0cigic3JjIil8fGMuYXR0cigiZGF0YS1zcmMiKXx8Yy5hdHRyKCJkYXRhLXNyYy1yZXRpbmEiKSl9LHRoaXMpKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQub2ZmKCIub3dsLmNvcmUiKSx0aGlzLiRzdGFnZS5vZmYoIi5vd2wuY29yZSIpLGEoYykub2ZmKCIub3dsLmNvcmUiKSx0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmUhPT0hMSYmKGIuY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpLHRoaXMub2ZmKGIsInJlc2l6ZSIsdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpKTtmb3IodmFyIGQgaW4gdGhpcy5fcGx1Z2lucyl0aGlzLl9wbHVnaW5zW2RdLmRlc3Ryb3koKTt0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNsb25lZCIpLnJlbW92ZSgpLHRoaXMuJHN0YWdlLnVud3JhcCgpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY29udGVudHMoKS51bndyYXAoKSx0aGlzLiRzdGFnZS5jaGlsZHJlbigpLnVud3JhcCgpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucnRsQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MpLmF0dHIoImNsYXNzIix0aGlzLiRlbGVtZW50LmF0dHIoImNsYXNzIikucmVwbGFjZShuZXcgUmVnRXhwKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MrIi1cXFMrXFxzIiwiZyIpLCIiKSkucmVtb3ZlRGF0YSgib3dsLmNhcm91c2VsIil9LGUucHJvdG90eXBlLm9wPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLnNldHRpbmdzLnJ0bDtzd2l0Y2goYil7Y2FzZSI8IjpyZXR1cm4gZD9hPmM6Yz5hO2Nhc2UiPiI6cmV0dXJuIGQ/Yz5hOmE+YztjYXNlIj49IjpyZXR1cm4gZD9jPj1hOmE+PWM7Y2FzZSI8PSI6cmV0dXJuIGQ/YT49YzpjPj1hfX0sZS5wcm90b3R5cGUub249ZnVuY3Rpb24oYSxiLGMsZCl7YS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMsZCk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK2IsYyl9LGUucHJvdG90eXBlLm9mZj1mdW5jdGlvbihhLGIsYyxkKXthLnJlbW92ZUV2ZW50TGlzdGVuZXI/YS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYyxkKTphLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrYixjKX0sZS5wcm90b3R5cGUudHJpZ2dlcj1mdW5jdGlvbihiLGMsZCxmLGcpe3ZhciBoPXtpdGVtOntjb3VudDp0aGlzLl9pdGVtcy5sZW5ndGgsaW5kZXg6dGhpcy5jdXJyZW50KCl9fSxpPWEuY2FtZWxDYXNlKGEuZ3JlcChbIm9uIixiLGRdLGZ1bmN0aW9uKGEpe3JldHVybiBhfSkuam9pbigiLSIpLnRvTG93ZXJDYXNlKCkpLGo9YS5FdmVudChbYiwib3dsIixkfHwiY2Fyb3VzZWwiXS5qb2luKCIuIikudG9Mb3dlckNhc2UoKSxhLmV4dGVuZCh7cmVsYXRlZFRhcmdldDp0aGlzfSxoLGMpKTtyZXR1cm4gdGhpcy5fc3VwcmVzc1tiXXx8KGEuZWFjaCh0aGlzLl9wbHVnaW5zLGZ1bmN0aW9uKGEsYil7Yi5vblRyaWdnZXImJmIub25UcmlnZ2VyKGopfSksdGhpcy5yZWdpc3Rlcih7dHlwZTplLlR5cGUuRXZlbnQsbmFtZTpifSksdGhpcy4kZWxlbWVudC50cmlnZ2VyKGopLHRoaXMuc2V0dGluZ3MmJiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnNldHRpbmdzW2ldJiZ0aGlzLnNldHRpbmdzW2ldLmNhbGwodGhpcyxqKSksan0sZS5wcm90b3R5cGUuZW50ZXI9ZnVuY3Rpb24oYil7YS5lYWNoKFtiXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbYl18fFtdKSxhLnByb3h5KGZ1bmN0aW9uKGEsYil7dGhpcy5fc3RhdGVzLmN1cnJlbnRbYl09PT1kJiYodGhpcy5fc3RhdGVzLmN1cnJlbnRbYl09MCksdGhpcy5fc3RhdGVzLmN1cnJlbnRbYl0rK30sdGhpcykpfSxlLnByb3RvdHlwZS5sZWF2ZT1mdW5jdGlvbihiKXthLmVhY2goW2JdLmNvbmNhdCh0aGlzLl9zdGF0ZXMudGFnc1tiXXx8W10pLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdGF0ZXMuY3VycmVudFtiXS0tfSx0aGlzKSl9LGUucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGIpe2lmKGIudHlwZT09PWUuVHlwZS5FdmVudCl7aWYoYS5ldmVudC5zcGVjaWFsW2IubmFtZV18fChhLmV2ZW50LnNwZWNpYWxbYi5uYW1lXT17fSksIWEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdLm93bCl7dmFyIGM9YS5ldmVudC5zcGVjaWFsW2IubmFtZV0uX2RlZmF1bHQ7YS5ldmVudC5zcGVjaWFsW2IubmFtZV0uX2RlZmF1bHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIWN8fCFjLmFwcGx5fHxhLm5hbWVzcGFjZSYmLTEhPT1hLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKT9hLm5hbWVzcGFjZSYmYS5uYW1lc3BhY2UuaW5kZXhPZigib3dsIik+LTE6Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdLm93bD0hMH19ZWxzZSBiLnR5cGU9PT1lLlR5cGUuU3RhdGUmJih0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdP3RoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09dGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXS5jb25jYXQoYi50YWdzKTp0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdPWIudGFncyx0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdPWEuZ3JlcCh0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdLGEucHJveHkoZnVuY3Rpb24oYyxkKXtyZXR1cm4gYS5pbkFycmF5KGMsdGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXSk9PT1kfSx0aGlzKSkpfSxlLnByb3RvdHlwZS5zdXBwcmVzcz1mdW5jdGlvbihiKXthLmVhY2goYixhLnByb3h5KGZ1bmN0aW9uKGEsYil7dGhpcy5fc3VwcmVzc1tiXT0hMH0sdGhpcykpfSxlLnByb3RvdHlwZS5yZWxlYXNlPWZ1bmN0aW9uKGIpe2EuZWFjaChiLGEucHJveHkoZnVuY3Rpb24oYSxiKXtkZWxldGUgdGhpcy5fc3VwcmVzc1tiXX0sdGhpcykpfSxlLnByb3RvdHlwZS5wb2ludGVyPWZ1bmN0aW9uKGEpe3ZhciBjPXt4Om51bGwseTpudWxsfTtyZXR1cm4gYT1hLm9yaWdpbmFsRXZlbnR8fGF8fGIuZXZlbnQsYT1hLnRvdWNoZXMmJmEudG91Y2hlcy5sZW5ndGg/YS50b3VjaGVzWzBdOmEuY2hhbmdlZFRvdWNoZXMmJmEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP2EuY2hhbmdlZFRvdWNoZXNbMF06YSxhLnBhZ2VYPyhjLng9YS5wYWdlWCxjLnk9YS5wYWdlWSk6KGMueD1hLmNsaWVudFgsYy55PWEuY2xpZW50WSksY30sZS5wcm90b3R5cGUuaXNOdW1lcmljPWZ1bmN0aW9uKGEpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGEpKX0sZS5wcm90b3R5cGUuZGlmZmVyZW5jZT1mdW5jdGlvbihhLGIpe3JldHVybnt4OmEueC1iLngseTphLnktYi55fX0sYS5mbi5vd2xDYXJvdXNlbD1mdW5jdGlvbihiKXt2YXIgYz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZj1kLmRhdGEoIm93bC5jYXJvdXNlbCIpO2Z8fChmPW5ldyBlKHRoaXMsIm9iamVjdCI9PXR5cGVvZiBiJiZiKSxkLmRhdGEoIm93bC5jYXJvdXNlbCIsZiksYS5lYWNoKFsibmV4dCIsInByZXYiLCJ0byIsImRlc3Ryb3kiLCJyZWZyZXNoIiwicmVwbGFjZSIsImFkZCIsInJlbW92ZSJdLGZ1bmN0aW9uKGIsYyl7Zi5yZWdpc3Rlcih7dHlwZTplLlR5cGUuRXZlbnQsbmFtZTpjfSksZi4kZWxlbWVudC5vbihjKyIub3dsLmNhcm91c2VsLmNvcmUiLGEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJmEucmVsYXRlZFRhcmdldCE9PXRoaXMmJih0aGlzLnN1cHByZXNzKFtjXSksZltjXS5hcHBseSh0aGlzLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKSx0aGlzLnJlbGVhc2UoW2NdKSl9LGYpKX0pKSwic3RyaW5nIj09dHlwZW9mIGImJiJfIiE9PWIuY2hhckF0KDApJiZmW2JdLmFwcGx5KGYsYyl9KX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvcj1lfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1mdW5jdGlvbihiKXt0aGlzLl9jb3JlPWIsdGhpcy5faW50ZXJ2YWw9bnVsbCx0aGlzLl92aXNpYmxlPW51bGwsdGhpcy5faGFuZGxlcnM9eyJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b1JlZnJlc2gmJnRoaXMud2F0Y2goKX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2F1dG9SZWZyZXNoOiEwLGF1dG9SZWZyZXNoSW50ZXJ2YWw6NTAwfSxlLnByb3RvdHlwZS53YXRjaD1mdW5jdGlvbigpe3RoaXMuX2ludGVydmFsfHwodGhpcy5fdmlzaWJsZT10aGlzLl9jb3JlLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpLHRoaXMuX2ludGVydmFsPWIuc2V0SW50ZXJ2YWwoYS5wcm94eSh0aGlzLnJlZnJlc2gsdGhpcyksdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaEludGVydmFsKSl9LGUucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oKXt0aGlzLl9jb3JlLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpIT09dGhpcy5fdmlzaWJsZSYmKHRoaXMuX3Zpc2libGU9IXRoaXMuX3Zpc2libGUsdGhpcy5fY29yZS4kZWxlbWVudC50b2dnbGVDbGFzcygib3dsLWhpZGRlbiIsIXRoaXMuX3Zpc2libGUpLHRoaXMuX3Zpc2libGUmJnRoaXMuX2NvcmUuaW52YWxpZGF0ZSgid2lkdGgiKSYmdGhpcy5fY29yZS5yZWZyZXNoKCkpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYztiLmNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihjIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2NdJiYodGhpc1tjXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9SZWZyZXNoPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9sb2FkZWQ9W10sdGhpcy5faGFuZGxlcnM9eyJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwgY2hhbmdlLm93bC5jYXJvdXNlbCByZXNpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncyYmdGhpcy5fY29yZS5zZXR0aW5ncy5sYXp5TG9hZCYmKGIucHJvcGVydHkmJiJwb3NpdGlvbiI9PWIucHJvcGVydHkubmFtZXx8ImluaXRpYWxpemVkIj09Yi50eXBlKSlmb3IodmFyIGM9dGhpcy5fY29yZS5zZXR0aW5ncyxlPWMuY2VudGVyJiZNYXRoLmNlaWwoYy5pdGVtcy8yKXx8Yy5pdGVtcyxmPWMuY2VudGVyJiYtMSplfHwwLGc9KGIucHJvcGVydHkmJmIucHJvcGVydHkudmFsdWUhPT1kP2IucHJvcGVydHkudmFsdWU6dGhpcy5fY29yZS5jdXJyZW50KCkpK2YsaD10aGlzLl9jb3JlLmNsb25lcygpLmxlbmd0aCxpPWEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLmxvYWQoYil9LHRoaXMpO2YrKzxlOyl0aGlzLmxvYWQoaC8yK3RoaXMuX2NvcmUucmVsYXRpdmUoZykpLGgmJmEuZWFjaCh0aGlzLl9jb3JlLmNsb25lcyh0aGlzLl9jb3JlLnJlbGF0aXZlKGcpKSxpKSxnKyt9LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpfTtlLkRlZmF1bHRzPXtsYXp5TG9hZDohMX0sZS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbihjKXt2YXIgZD10aGlzLl9jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKGMpLGU9ZCYmZC5maW5kKCIub3dsLWxhenkiKTshZXx8YS5pbkFycmF5KGQuZ2V0KDApLHRoaXMuX2xvYWRlZCk+LTF8fChlLmVhY2goYS5wcm94eShmdW5jdGlvbihjLGQpe3ZhciBlLGY9YShkKSxnPWIuZGV2aWNlUGl4ZWxSYXRpbz4xJiZmLmF0dHIoImRhdGEtc3JjLXJldGluYSIpfHxmLmF0dHIoImRhdGEtc3JjIik7dGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkIix7ZWxlbWVudDpmLHVybDpnfSwibGF6eSIpLGYuaXMoImltZyIpP2Yub25lKCJsb2FkLm93bC5sYXp5IixhLnByb3h5KGZ1bmN0aW9uKCl7Zi5jc3MoIm9wYWNpdHkiLDEpLHRoaXMuX2NvcmUudHJpZ2dlcigibG9hZGVkIix7ZWxlbWVudDpmLHVybDpnfSwibGF6eSIpfSx0aGlzKSkuYXR0cigic3JjIixnKTooZT1uZXcgSW1hZ2UsZS5vbmxvYWQ9YS5wcm94eShmdW5jdGlvbigpe2YuY3NzKHsiYmFja2dyb3VuZC1pbWFnZSI6InVybCgiK2crIikiLG9wYWNpdHk6IjEifSksdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkZWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5Iil9LHRoaXMpLGUuc3JjPWcpfSx0aGlzKSksdGhpcy5fbG9hZGVkLnB1c2goZC5nZXQoMCkpKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGI7Zm9yKGEgaW4gdGhpcy5oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihhLHRoaXMuaGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkxhenk9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2hhbmRsZXJzPXsiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIHJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCYmdGhpcy51cGRhdGUoKX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQmJiJwb3NpdGlvbiI9PWEucHJvcGVydHkubmFtZSYmdGhpcy51cGRhdGUoKX0sdGhpcyksImxvYWRlZC5vd2wubGF6eSI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0JiZhLmVsZW1lbnQuY2xvc2VzdCgiLiIrdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtQ2xhc3MpLmluZGV4KCk9PT10aGlzLl9jb3JlLmN1cnJlbnQoKSYmdGhpcy51cGRhdGUoKX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2F1dG9IZWlnaHQ6ITEsYXV0b0hlaWdodENsYXNzOiJvd2wtaGVpZ2h0In0sZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY29yZS5fY3VycmVudCxjPWIrdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtcyxkPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkudG9BcnJheSgpLnNsaWNlKGIsYyksZT1bXSxmPTA7YS5lYWNoKGQsZnVuY3Rpb24oYixjKXtlLnB1c2goYShjKS5oZWlnaHQoKSl9KSxmPU1hdGgubWF4LmFwcGx5KG51bGwsZSksdGhpcy5fY29yZS4kc3RhZ2UucGFyZW50KCkuaGVpZ2h0KGYpLmFkZENsYXNzKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodENsYXNzKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGI7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGIgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbYl0mJih0aGlzW2JdPW51bGwpfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b0hlaWdodD1lfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1mdW5jdGlvbihiKXt0aGlzLl9jb3JlPWIsdGhpcy5fdmlkZW9zPXt9LHRoaXMuX3BsYXlpbmc9bnVsbCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5yZWdpc3Rlcih7dHlwZToic3RhdGUiLG5hbWU6InBsYXlpbmciLHRhZ3M6WyJpbnRlcmFjdGluZyJdfSl9LHRoaXMpLCJyZXNpemUub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvJiZ0aGlzLmlzSW5GdWxsU2NyZWVuKCkmJmEucHJldmVudERlZmF1bHQoKX0sdGhpcyksInJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuaXMoInJlc2l6aW5nIikmJnRoaXMuX2NvcmUuJHN0YWdlLmZpbmQoIi5jbG9uZWQgLm93bC12aWRlby1mcmFtZSIpLnJlbW92ZSgpfSx0aGlzKSwiY2hhbmdlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiJwb3NpdGlvbiI9PT1hLnByb3BlcnR5Lm5hbWUmJnRoaXMuX3BsYXlpbmcmJnRoaXMuc3RvcCgpfSx0aGlzKSwicHJlcGFyZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlKXt2YXIgYz1hKGIuY29udGVudCkuZmluZCgiLm93bC12aWRlbyIpO2MubGVuZ3RoJiYoYy5jc3MoImRpc3BsYXkiLCJub25lIiksdGhpcy5mZXRjaChjLGEoYi5jb250ZW50KSkpfX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyksdGhpcy5fY29yZS4kZWxlbWVudC5vbigiY2xpY2sub3dsLnZpZGVvIiwiLm93bC12aWRlby1wbGF5LWljb24iLGEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5wbGF5KGEpfSx0aGlzKSl9O2UuRGVmYXVsdHM9e3ZpZGVvOiExLHZpZGVvSGVpZ2h0OiExLHZpZGVvV2lkdGg6ITF9LGUucHJvdG90eXBlLmZldGNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hdHRyKCJkYXRhLXZpbWVvLWlkIik/InZpbWVvIjphLmF0dHIoImRhdGEtdnphYXItaWQiKT8idnphYXIiOiJ5b3V0dWJlIn0oKSxkPWEuYXR0cigiZGF0YS12aW1lby1pZCIpfHxhLmF0dHIoImRhdGEteW91dHViZS1pZCIpfHxhLmF0dHIoImRhdGEtdnphYXItaWQiKSxlPWEuYXR0cigiZGF0YS13aWR0aCIpfHx0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvV2lkdGgsZj1hLmF0dHIoImRhdGEtaGVpZ2h0Iil8fHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9IZWlnaHQsZz1hLmF0dHIoImhyZWYiKTtpZighZyl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgdmlkZW8gVVJMLiIpO2lmKGQ9Zy5tYXRjaCgvKGh0dHA6fGh0dHBzOnwpXC9cLyhwbGF5ZXIufHd3dy58YXBwLik/KHZpbWVvXC5jb218eW91dHUoYmVcLmNvbXxcLmJlfGJlXC5nb29nbGVhcGlzXC5jb20pfHZ6YWFyXC5jb20pXC8odmlkZW9cL3x2aWRlb3NcL3xlbWJlZFwvfGNoYW5uZWxzXC8uK1wvfGdyb3Vwc1wvLitcL3x3YXRjaFw/dj18dlwvKT8oW0EtWmEtejAtOS5fJS1dKikoXCZcUyspPy8pLGRbM10uaW5kZXhPZigieW91dHUiKT4tMSljPSJ5b3V0dWJlIjtlbHNlIGlmKGRbM10uaW5kZXhPZigidmltZW8iKT4tMSljPSJ2aW1lbyI7ZWxzZXtpZighKGRbM10uaW5kZXhPZigidnphYXIiKT4tMSkpdGhyb3cgbmV3IEVycm9yKCJWaWRlbyBVUkwgbm90IHN1cHBvcnRlZC4iKTtjPSJ2emFhciJ9ZD1kWzZdLHRoaXMuX3ZpZGVvc1tnXT17dHlwZTpjLGlkOmQsd2lkdGg6ZSxoZWlnaHQ6Zn0sYi5hdHRyKCJkYXRhLXZpZGVvIixnKSx0aGlzLnRodW1ibmFpbChhLHRoaXMuX3ZpZGVvc1tnXSl9LGUucHJvdG90eXBlLnRodW1ibmFpbD1mdW5jdGlvbihiLGMpe3ZhciBkLGUsZixnPWMud2lkdGgmJmMuaGVpZ2h0PydzdHlsZT0id2lkdGg6JytjLndpZHRoKyJweDtoZWlnaHQ6IitjLmhlaWdodCsncHg7Iic6IiIsaD1iLmZpbmQoImltZyIpLGk9InNyYyIsaj0iIixrPXRoaXMuX2NvcmUuc2V0dGluZ3MsbD1mdW5jdGlvbihhKXtlPSc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tcGxheS1pY29uIj48L2Rpdj4nLGQ9ay5sYXp5TG9hZD8nPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXRuICcraisnIiAnK2krJz0iJythKyciPjwvZGl2Pic6JzxkaXYgY2xhc3M9Im93bC12aWRlby10biIgc3R5bGU9Im9wYWNpdHk6MTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK2ErJykiPjwvZGl2PicsYi5hZnRlcihkKSxiLmFmdGVyKGUpfTtyZXR1cm4gYi53cmFwKCc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8td3JhcHBlciInK2crIj48L2Rpdj4iKSx0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkJiYoaT0iZGF0YS1zcmMiLGo9Im93bC1sYXp5IiksaC5sZW5ndGg/KGwoaC5hdHRyKGkpKSxoLnJlbW92ZSgpLCExKTp2b2lkKCJ5b3V0dWJlIj09PWMudHlwZT8oZj0iLy9pbWcueW91dHViZS5jb20vdmkvIitjLmlkKyIvaHFkZWZhdWx0LmpwZyIsbChmKSk6InZpbWVvIj09PWMudHlwZT9hLmFqYXgoe3R5cGU6IkdFVCIsdXJsOiIvL3ZpbWVvLmNvbS9hcGkvdjIvdmlkZW8vIitjLmlkKyIuanNvbiIsanNvbnA6ImNhbGxiYWNrIixkYXRhVHlwZToianNvbnAiLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7Zj1hWzBdLnRodW1ibmFpbF9sYXJnZSxsKGYpfX0pOiJ2emFhciI9PT1jLnR5cGUmJmEuYWpheCh7dHlwZToiR0VUIix1cmw6Ii8vdnphYXIuY29tL2FwaS92aWRlb3MvIitjLmlkKyIuanNvbiIsanNvbnA6ImNhbGxiYWNrIixkYXRhVHlwZToianNvbnAiLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7Zj1hLmZyYW1lZ3JhYl91cmwsbChmKX19KSl9LGUucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLl9jb3JlLnRyaWdnZXIoInN0b3AiLG51bGwsInZpZGVvIiksdGhpcy5fcGxheWluZy5maW5kKCIub3dsLXZpZGVvLWZyYW1lIikucmVtb3ZlKCksdGhpcy5fcGxheWluZy5yZW1vdmVDbGFzcygib3dsLXZpZGVvLXBsYXlpbmciKSx0aGlzLl9wbGF5aW5nPW51bGwsdGhpcy5fY29yZS5sZWF2ZSgicGxheWluZyIpLHRoaXMuX2NvcmUudHJpZ2dlcigic3RvcHBlZCIsbnVsbCwidmlkZW8iKX0sZS5wcm90b3R5cGUucGxheT1mdW5jdGlvbihiKXt2YXIgYyxkPWEoYi50YXJnZXQpLGU9ZC5jbG9zZXN0KCIuIit0aGlzLl9jb3JlLnNldHRpbmdzLml0ZW1DbGFzcyksZj10aGlzLl92aWRlb3NbZS5hdHRyKCJkYXRhLXZpZGVvIildLGc9Zi53aWR0aHx8IjEwMCUiLGg9Zi5oZWlnaHR8fHRoaXMuX2NvcmUuJHN0YWdlLmhlaWdodCgpO3RoaXMuX3BsYXlpbmd8fCh0aGlzLl9jb3JlLmVudGVyKCJwbGF5aW5nIiksdGhpcy5fY29yZS50cmlnZ2VyKCJwbGF5IixudWxsLCJ2aWRlbyIpLGU9dGhpcy5fY29yZS5pdGVtcyh0aGlzLl9jb3JlLnJlbGF0aXZlKGUuaW5kZXgoKSkpLHRoaXMuX2NvcmUucmVzZXQoZS5pbmRleCgpKSwieW91dHViZSI9PT1mLnR5cGU/Yz0nPGlmcmFtZSB3aWR0aD0iJytnKyciIGhlaWdodD0iJytoKyciIHNyYz0iLy93d3cueW91dHViZS5jb20vZW1iZWQvJytmLmlkKyI/YXV0b3BsYXk9MSZ2PSIrZi5pZCsnIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPic6InZpbWVvIj09PWYudHlwZT9jPSc8aWZyYW1lIHNyYz0iLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLycrZi5pZCsnP2F1dG9wbGF5PTEiIHdpZHRoPSInK2crJyIgaGVpZ2h0PSInK2grJyIgZnJhbWVib3JkZXI9IjAiIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPic6InZ6YWFyIj09PWYudHlwZSYmKGM9JzxpZnJhbWUgZnJhbWVib3JkZXI9IjAiaGVpZ2h0PSInK2grJyJ3aWR0aD0iJytnKyciIGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gd2Via2l0QWxsb3dGdWxsU2NyZWVuIHNyYz0iLy92aWV3LnZ6YWFyLmNvbS8nK2YuaWQrJy9wbGF5ZXI/YXV0b3BsYXk9dHJ1ZSI+PC9pZnJhbWU+JyksYSgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLWZyYW1lIj4nK2MrIjwvZGl2PiIpLmluc2VydEFmdGVyKGUuZmluZCgiLm93bC12aWRlbyIpKSx0aGlzLl9wbGF5aW5nPWUuYWRkQ2xhc3MoIm93bC12aWRlby1wbGF5aW5nIikpfSxlLnByb3RvdHlwZS5pc0luRnVsbFNjcmVlbj1mdW5jdGlvbigpe3ZhciBiPWMuZnVsbHNjcmVlbkVsZW1lbnR8fGMubW96RnVsbFNjcmVlbkVsZW1lbnR8fGMud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQ7cmV0dXJuIGImJmEoYikucGFyZW50KCkuaGFzQ2xhc3MoIm93bC12aWRlby1mcmFtZSIpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYjt0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZigiY2xpY2sub3dsLnZpZGVvIik7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGIgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbYl0mJih0aGlzW2JdPW51bGwpfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuVmlkZW89ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5jb3JlPWIsdGhpcy5jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLmNvcmUub3B0aW9ucyksdGhpcy5zd2FwcGluZz0hMCx0aGlzLnByZXZpb3VzPWQsdGhpcy5uZXh0PWQsdGhpcy5oYW5kbGVycz17ImNoYW5nZS5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiJwb3NpdGlvbiI9PWEucHJvcGVydHkubmFtZSYmKHRoaXMucHJldmlvdXM9dGhpcy5jb3JlLmN1cnJlbnQoKSx0aGlzLm5leHQ9YS5wcm9wZXJ0eS52YWx1ZSl9LHRoaXMpLCJkcmFnLm93bC5jYXJvdXNlbCBkcmFnZ2VkLm93bC5jYXJvdXNlbCB0cmFuc2xhdGVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmKHRoaXMuc3dhcHBpbmc9InRyYW5zbGF0ZWQiPT1hLnR5cGUpfSx0aGlzKSwidHJhbnNsYXRlLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5zd2FwcGluZyYmKHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVPdXR8fHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVJbikmJnRoaXMuc3dhcCgpfSx0aGlzKX0sdGhpcy5jb3JlLiRlbGVtZW50Lm9uKHRoaXMuaGFuZGxlcnMpfTtlLkRlZmF1bHRzPXthbmltYXRlT3V0OiExLGFuaW1hdGVJbjohMX0sZS5wcm90b3R5cGUuc3dhcD1mdW5jdGlvbigpe2lmKDE9PT10aGlzLmNvcmUuc2V0dGluZ3MuaXRlbXMmJmEuc3VwcG9ydC5hbmltYXRpb24mJmEuc3VwcG9ydC50cmFuc2l0aW9uKXt0aGlzLmNvcmUuc3BlZWQoMCk7dmFyIGIsYz1hLnByb3h5KHRoaXMuY2xlYXIsdGhpcyksZD10aGlzLmNvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEodGhpcy5wcmV2aW91cyksZT10aGlzLmNvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEodGhpcy5uZXh0KSxmPXRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlSW4sZz10aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dDt0aGlzLmNvcmUuY3VycmVudCgpIT09dGhpcy5wcmV2aW91cyYmKGcmJihiPXRoaXMuY29yZS5jb29yZGluYXRlcyh0aGlzLnByZXZpb3VzKS10aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5uZXh0KSxkLm9uZShhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCxjKS5jc3Moe2xlZnQ6YisicHgifSkuYWRkQ2xhc3MoImFuaW1hdGVkIG93bC1hbmltYXRlZC1vdXQiKS5hZGRDbGFzcyhnKSksZiYmZS5vbmUoYS5zdXBwb3J0LmFuaW1hdGlvbi5lbmQsYykuYWRkQ2xhc3MoImFuaW1hdGVkIG93bC1hbmltYXRlZC1pbiIpLmFkZENsYXNzKGYpKX19LGUucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNzcyh7bGVmdDoiIn0pLnJlbW92ZUNsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IG93bC1hbmltYXRlZC1pbiIpLnJlbW92ZUNsYXNzKHRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlSW4pLnJlbW92ZUNsYXNzKHRoaXMuY29yZS5zZXR0aW5ncy5hbmltYXRlT3V0KSx0aGlzLmNvcmUub25UcmFuc2l0aW9uRW5kKCl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuaGFuZGxlcnMpdGhpcy5jb3JlLiRlbGVtZW50Lm9mZihhLHRoaXMuaGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKTsNCn0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkFuaW1hdGU9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9wYXVzZWQ9ITEsdGhpcy5faGFuZGxlcnM9eyJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInNldHRpbmdzIj09PWEucHJvcGVydHkubmFtZT90aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5P3RoaXMucGxheSgpOnRoaXMuc3RvcCgpOmEubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5JiZ0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCl9LHRoaXMpLCJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkmJnRoaXMucGxheSgpfSx0aGlzKSwicGxheS5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oYSxiLGMpe2EubmFtZXNwYWNlJiZ0aGlzLnBsYXkoYixjKX0sdGhpcyksInN0b3Aub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLnN0b3AoKX0sdGhpcyksIm1vdXNlb3Zlci5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSYmdGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmdGhpcy5wYXVzZSgpfSx0aGlzKSwibW91c2VsZWF2ZS5vd2wuYXV0b3BsYXkiOmEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSYmdGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmdGhpcy5wbGF5KCl9LHRoaXMpLCJ0b3VjaHN0YXJ0Lm93bC5jb3JlIjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGF1c2UoKX0sdGhpcyksInRvdWNoZW5kLm93bC5jb3JlIjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMucGxheSgpfSx0aGlzKX0sdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyksdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKX07ZS5EZWZhdWx0cz17YXV0b3BsYXk6ITEsYXV0b3BsYXlUaW1lb3V0OjVlMyxhdXRvcGxheUhvdmVyUGF1c2U6ITEsYXV0b3BsYXlTcGVlZDohMX0sZS5wcm90b3R5cGUucGxheT1mdW5jdGlvbihhLGIpe3RoaXMuX3BhdXNlZD0hMSx0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpfHwodGhpcy5fY29yZS5lbnRlcigicm90YXRpbmciKSx0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCkpfSxlLnByb3RvdHlwZS5fZ2V0TmV4dFRpbWVvdXQ9ZnVuY3Rpb24oZCxlKXtyZXR1cm4gdGhpcy5fdGltZW91dCYmYi5jbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksYi5zZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24oKXt0aGlzLl9wYXVzZWR8fHRoaXMuX2NvcmUuaXMoImJ1c3kiKXx8dGhpcy5fY29yZS5pcygiaW50ZXJhY3RpbmciKXx8Yy5oaWRkZW58fHRoaXMuX2NvcmUubmV4dChlfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5U3BlZWQpfSx0aGlzKSxkfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dCl9LGUucHJvdG90eXBlLl9zZXRBdXRvUGxheUludGVydmFsPWZ1bmN0aW9uKCl7dGhpcy5fdGltZW91dD10aGlzLl9nZXROZXh0VGltZW91dCgpfSxlLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fY29yZS5pcygicm90YXRpbmciKSYmKGIuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX2NvcmUubGVhdmUoInJvdGF0aW5nIikpfSxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJih0aGlzLl9wYXVzZWQ9ITApfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYjt0aGlzLnN0b3AoKTtmb3IoYSBpbiB0aGlzLl9oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihhLHRoaXMuX2hhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5hdXRvcGxheT1lfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhLGIsYyxkKXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2luaXRpYWxpemVkPSExLHRoaXMuX3BhZ2VzPVtdLHRoaXMuX2NvbnRyb2xzPXt9LHRoaXMuX3RlbXBsYXRlcz1bXSx0aGlzLiRlbGVtZW50PXRoaXMuX2NvcmUuJGVsZW1lbnQsdGhpcy5fb3ZlcnJpZGVzPXtuZXh0OnRoaXMuX2NvcmUubmV4dCxwcmV2OnRoaXMuX2NvcmUucHJldix0bzp0aGlzLl9jb3JlLnRvfSx0aGlzLl9oYW5kbGVycz17InByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtiLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSYmdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicrdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RDbGFzcysnIj4nK2EoYi5jb250ZW50KS5maW5kKCJbZGF0YS1kb3RdIikuYWRkQmFjaygiW2RhdGEtZG90XSIpLmF0dHIoImRhdGEtZG90IikrIjwvZGl2PiIpfSx0aGlzKSwiYWRkZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMuc3BsaWNlKGEucG9zaXRpb24sMCx0aGlzLl90ZW1wbGF0ZXMucG9wKCkpfSx0aGlzKSwicmVtb3ZlLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSYmdGhpcy5fdGVtcGxhdGVzLnNwbGljZShhLnBvc2l0aW9uLDEpfSx0aGlzKSwiY2hhbmdlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiJwb3NpdGlvbiI9PWEucHJvcGVydHkubmFtZSYmdGhpcy5kcmF3KCl9LHRoaXMpLCJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJiF0aGlzLl9pbml0aWFsaXplZCYmKHRoaXMuX2NvcmUudHJpZ2dlcigiaW5pdGlhbGl6ZSIsbnVsbCwibmF2aWdhdGlvbiIpLHRoaXMuaW5pdGlhbGl6ZSgpLHRoaXMudXBkYXRlKCksdGhpcy5kcmF3KCksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fY29yZS50cmlnZ2VyKCJpbml0aWFsaXplZCIsbnVsbCwibmF2aWdhdGlvbiIpKX0sdGhpcyksInJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2luaXRpYWxpemVkJiYodGhpcy5fY29yZS50cmlnZ2VyKCJyZWZyZXNoIixudWxsLCJuYXZpZ2F0aW9uIiksdGhpcy51cGRhdGUoKSx0aGlzLmRyYXcoKSx0aGlzLl9jb3JlLnRyaWdnZXIoInJlZnJlc2hlZCIsbnVsbCwibmF2aWdhdGlvbiIpKX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e25hdjohMSxuYXZUZXh0OlsicHJldiIsIm5leHQiXSxuYXZTcGVlZDohMSxuYXZFbGVtZW50OiJkaXYiLG5hdkNvbnRhaW5lcjohMSxuYXZDb250YWluZXJDbGFzczoib3dsLW5hdiIsbmF2Q2xhc3M6WyJvd2wtcHJldiIsIm93bC1uZXh0Il0sc2xpZGVCeToxLGRvdENsYXNzOiJvd2wtZG90Iixkb3RzQ2xhc3M6Im93bC1kb3RzIixkb3RzOiEwLGRvdHNFYWNoOiExLGRvdHNEYXRhOiExLGRvdHNTcGVlZDohMSxkb3RzQ29udGFpbmVyOiExfSxlLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLl9jb3JlLnNldHRpbmdzO3RoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZT0oYy5uYXZDb250YWluZXI/YShjLm5hdkNvbnRhaW5lcik6YSgiPGRpdj4iKS5hZGRDbGFzcyhjLm5hdkNvbnRhaW5lckNsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5fY29udHJvbHMuJHByZXZpb3VzPWEoIjwiK2MubmF2RWxlbWVudCsiPiIpLmFkZENsYXNzKGMubmF2Q2xhc3NbMF0pLmh0bWwoYy5uYXZUZXh0WzBdKS5wcmVwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKS5vbigiY2xpY2siLGEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5wcmV2KGMubmF2U3BlZWQpfSx0aGlzKSksdGhpcy5fY29udHJvbHMuJG5leHQ9YSgiPCIrYy5uYXZFbGVtZW50KyI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1sxXSkuaHRtbChjLm5hdlRleHRbMV0pLmFwcGVuZFRvKHRoaXMuX2NvbnRyb2xzLiRyZWxhdGl2ZSkub24oImNsaWNrIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMubmV4dChjLm5hdlNwZWVkKX0sdGhpcykpLGMuZG90c0RhdGF8fCh0aGlzLl90ZW1wbGF0ZXM9W2EoIjxkaXY+IikuYWRkQ2xhc3MoYy5kb3RDbGFzcykuYXBwZW5kKGEoIjxzcGFuPiIpKS5wcm9wKCJvdXRlckhUTUwiKV0pLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZT0oYy5kb3RzQ29udGFpbmVyP2EoYy5kb3RzQ29udGFpbmVyKTphKCI8ZGl2PiIpLmFkZENsYXNzKGMuZG90c0NsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLm9uKCJjbGljayIsImRpdiIsYS5wcm94eShmdW5jdGlvbihiKXt2YXIgZD1hKGIudGFyZ2V0KS5wYXJlbnQoKS5pcyh0aGlzLl9jb250cm9scy4kYWJzb2x1dGUpP2EoYi50YXJnZXQpLmluZGV4KCk6YShiLnRhcmdldCkucGFyZW50KCkuaW5kZXgoKTtiLnByZXZlbnREZWZhdWx0KCksdGhpcy50byhkLGMuZG90c1NwZWVkKX0sdGhpcykpO2ZvcihiIGluIHRoaXMuX292ZXJyaWRlcyl0aGlzLl9jb3JlW2JdPWEucHJveHkodGhpc1tiXSx0aGlzKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIHRoaXMuX2NvbnRyb2xzKXRoaXMuX2NvbnRyb2xzW2JdLnJlbW92ZSgpO2ZvcihkIGluIHRoaXMub3ZlcmlkZXMpdGhpcy5fY29yZVtkXT10aGlzLl9vdmVycmlkZXNbZF07Zm9yKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbY10mJih0aGlzW2NdPW51bGwpfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZD10aGlzLl9jb3JlLmNsb25lcygpLmxlbmd0aC8yLGU9ZCt0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoLGY9dGhpcy5fY29yZS5tYXhpbXVtKCEwKSxnPXRoaXMuX2NvcmUuc2V0dGluZ3MsaD1nLmNlbnRlcnx8Zy5hdXRvV2lkdGh8fGcuZG90c0RhdGE/MTpnLmRvdHNFYWNofHxnLml0ZW1zO2lmKCJwYWdlIiE9PWcuc2xpZGVCeSYmKGcuc2xpZGVCeT1NYXRoLm1pbihnLnNsaWRlQnksZy5pdGVtcykpLGcuZG90c3x8InBhZ2UiPT1nLnNsaWRlQnkpZm9yKHRoaXMuX3BhZ2VzPVtdLGE9ZCxiPTAsYz0wO2U+YTthKyspe2lmKGI+PWh8fDA9PT1iKXtpZih0aGlzLl9wYWdlcy5wdXNoKHtzdGFydDpNYXRoLm1pbihmLGEtZCksZW5kOmEtZCtoLTF9KSxNYXRoLm1pbihmLGEtZCk9PT1mKWJyZWFrO2I9MCwrK2N9Yis9dGhpcy5fY29yZS5tZXJnZXJzKHRoaXMuX2NvcmUucmVsYXRpdmUoYSkpfX0sZS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbigpe3ZhciBiLGM9dGhpcy5fY29yZS5zZXR0aW5ncyxkPXRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGg8PWMuaXRlbXMsZT10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSxmPWMubG9vcHx8Yy5yZXdpbmQ7dGhpcy5fY29udHJvbHMuJHJlbGF0aXZlLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWMubmF2fHxkKSxjLm5hdiYmKHRoaXMuX2NvbnRyb2xzLiRwcmV2aW91cy50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCFmJiZlPD10aGlzLl9jb3JlLm1pbmltdW0oITApKSx0aGlzLl9jb250cm9scy4kbmV4dC50b2dnbGVDbGFzcygiZGlzYWJsZWQiLCFmJiZlPj10aGlzLl9jb3JlLm1heGltdW0oITApKSksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWMuZG90c3x8ZCksYy5kb3RzJiYoYj10aGlzLl9wYWdlcy5sZW5ndGgtdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkubGVuZ3RoLGMuZG90c0RhdGEmJjAhPT1iP3RoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCIiKSk6Yj4wP3RoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGIrMSkuam9pbih0aGlzLl90ZW1wbGF0ZXNbMF0pKTowPmImJnRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLnNsaWNlKGIpLnJlbW92ZSgpLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLmVxKGEuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSx0aGlzLl9wYWdlcykpLmFkZENsYXNzKCJhY3RpdmUiKSl9LGUucHJvdG90eXBlLm9uVHJpZ2dlcj1mdW5jdGlvbihiKXt2YXIgYz10aGlzLl9jb3JlLnNldHRpbmdzO2IucGFnZT17aW5kZXg6YS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSxjb3VudDp0aGlzLl9wYWdlcy5sZW5ndGgsc2l6ZTpjJiYoYy5jZW50ZXJ8fGMuYXV0b1dpZHRofHxjLmRvdHNEYXRhPzE6Yy5kb3RzRWFjaHx8Yy5pdGVtcyl9fSxlLnByb3RvdHlwZS5jdXJyZW50PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSk7cmV0dXJuIGEuZ3JlcCh0aGlzLl9wYWdlcyxhLnByb3h5KGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGEuc3RhcnQ8PWImJmEuZW5kPj1ifSx0aGlzKSkucG9wKCl9LGUucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe3ZhciBjLGQsZT10aGlzLl9jb3JlLnNldHRpbmdzO3JldHVybiJwYWdlIj09ZS5zbGlkZUJ5PyhjPWEuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSx0aGlzLl9wYWdlcyksZD10aGlzLl9wYWdlcy5sZW5ndGgsYj8rK2M6LS1jLGM9dGhpcy5fcGFnZXNbKGMlZCtkKSVkXS5zdGFydCk6KGM9dGhpcy5fY29yZS5yZWxhdGl2ZSh0aGlzLl9jb3JlLmN1cnJlbnQoKSksZD10aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoLGI/Yys9ZS5zbGlkZUJ5OmMtPWUuc2xpZGVCeSksY30sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihiKXthLnByb3h5KHRoaXMuX292ZXJyaWRlcy50byx0aGlzLl9jb3JlKSh0aGlzLmdldFBvc2l0aW9uKCEwKSxiKX0sZS5wcm90b3R5cGUucHJldj1mdW5jdGlvbihiKXthLnByb3h5KHRoaXMuX292ZXJyaWRlcy50byx0aGlzLl9jb3JlKSh0aGlzLmdldFBvc2l0aW9uKCExKSxiKX0sZS5wcm90b3R5cGUudG89ZnVuY3Rpb24oYixjLGQpe3ZhciBlOyFkJiZ0aGlzLl9wYWdlcy5sZW5ndGg/KGU9dGhpcy5fcGFnZXMubGVuZ3RoLGEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuX3BhZ2VzWyhiJWUrZSklZV0uc3RhcnQsYykpOmEucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKGIsYyl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5OYXZpZ2F0aW9uPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1mdW5jdGlvbihjKXt0aGlzLl9jb3JlPWMsdGhpcy5faGFzaGVzPXt9LHRoaXMuJGVsZW1lbnQ9dGhpcy5fY29yZS4kZWxlbWVudCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihjKXtjLm5hbWVzcGFjZSYmIlVSTEhhc2giPT09dGhpcy5fY29yZS5zZXR0aW5ncy5zdGFydFBvc2l0aW9uJiZhKGIpLnRyaWdnZXIoImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iKX0sdGhpcyksInByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSl7dmFyIGM9YShiLmNvbnRlbnQpLmZpbmQoIltkYXRhLWhhc2hdIikuYWRkQmFjaygiW2RhdGEtaGFzaF0iKS5hdHRyKCJkYXRhLWhhc2giKTtpZighYylyZXR1cm47dGhpcy5faGFzaGVzW2NdPWIuY29udGVudH19LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihjKXtpZihjLm5hbWVzcGFjZSYmInBvc2l0aW9uIj09PWMucHJvcGVydHkubmFtZSl7dmFyIGQ9dGhpcy5fY29yZS5pdGVtcyh0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSksZT1hLm1hcCh0aGlzLl9oYXNoZXMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWQ/YjpudWxsfSkuam9pbigpO2lmKCFlfHxiLmxvY2F0aW9uLmhhc2guc2xpY2UoMSk9PT1lKXJldHVybjtiLmxvY2F0aW9uLmhhc2g9ZX19LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLGEoYikub24oImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iLGEucHJveHkoZnVuY3Rpb24oYSl7dmFyIGM9Yi5sb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKSxlPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksZj10aGlzLl9oYXNoZXNbY10mJmUuaW5kZXgodGhpcy5faGFzaGVzW2NdKTtmIT09ZCYmZiE9PXRoaXMuX2NvcmUuY3VycmVudCgpJiZ0aGlzLl9jb3JlLnRvKHRoaXMuX2NvcmUucmVsYXRpdmUoZiksITEsITApfSx0aGlzKSl9O2UuRGVmYXVsdHM9e1VSTGhhc2hMaXN0ZW5lcjohMX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBjLGQ7YShiKS5vZmYoImhhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24iKTtmb3IoYyBpbiB0aGlzLl9oYW5kbGVycyl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihjLHRoaXMuX2hhbmRsZXJzW2NdKTtmb3IoZCBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tkXSYmKHRoaXNbZF09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5IYXNoPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoYixjKXt2YXIgZT0hMSxmPWIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKTtyZXR1cm4gYS5lYWNoKChiKyIgIitoLmpvaW4oZisiICIpK2YpLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtyZXR1cm4gZ1tiXSE9PWQ/KGU9Yz9iOiEwLCExKTp2b2lkIDB9KSxlfWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGUoYSwhMCl9dmFyIGc9YSgiPHN1cHBvcnQ+IikuZ2V0KDApLnN0eWxlLGg9IldlYmtpdCBNb3ogTyBtcyIuc3BsaXQoIiAiKSxpPXt0cmFuc2l0aW9uOntlbmQ6e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9fSxhbmltYXRpb246e2VuZDp7V2Via2l0QW5pbWF0aW9uOiJ3ZWJraXRBbmltYXRpb25FbmQiLE1vekFuaW1hdGlvbjoiYW5pbWF0aW9uZW5kIixPQW5pbWF0aW9uOiJvQW5pbWF0aW9uRW5kIixhbmltYXRpb246ImFuaW1hdGlvbmVuZCJ9fX0saj17Y3NzdHJhbnNmb3JtczpmdW5jdGlvbigpe3JldHVybiEhZSgidHJhbnNmb3JtIil9LGNzc3RyYW5zZm9ybXMzZDpmdW5jdGlvbigpe3JldHVybiEhZSgicGVyc3BlY3RpdmUiKX0sY3NzdHJhbnNpdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4hIWUoInRyYW5zaXRpb24iKX0sY3NzYW5pbWF0aW9uczpmdW5jdGlvbigpe3JldHVybiEhZSgiYW5pbWF0aW9uIil9fTtqLmNzc3RyYW5zaXRpb25zKCkmJihhLnN1cHBvcnQudHJhbnNpdGlvbj1uZXcgU3RyaW5nKGYoInRyYW5zaXRpb24iKSksYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kPWkudHJhbnNpdGlvbi5lbmRbYS5zdXBwb3J0LnRyYW5zaXRpb25dKSxqLmNzc2FuaW1hdGlvbnMoKSYmKGEuc3VwcG9ydC5hbmltYXRpb249bmV3IFN0cmluZyhmKCJhbmltYXRpb24iKSksYS5zdXBwb3J0LmFuaW1hdGlvbi5lbmQ9aS5hbmltYXRpb24uZW5kW2Euc3VwcG9ydC5hbmltYXRpb25dKSxqLmNzc3RyYW5zZm9ybXMoKSYmKGEuc3VwcG9ydC50cmFuc2Zvcm09bmV3IFN0cmluZyhmKCJ0cmFuc2Zvcm0iKSksYS5zdXBwb3J0LnRyYW5zZm9ybTNkPWouY3NzdHJhbnNmb3JtczNkKCkpfSh3aW5kb3cuWmVwdG98fHdpbmRvdy5qUXVlcnksd2luZG93LGRvY3VtZW50KTs="}},"time_used":143,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":143,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/plan-icon3.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.974Z","timestamp":1785154927974,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/plan-icon3.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:16 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=sWiJCk1R%2FwEhIN2uBnWBo4ujI30xyeKdcjG8Xu%2FIvoKny37Ul0JCmvPZR2YL55iptjPUphTlh1W8qIp1fuzQNsl%2BM7dcv99v1%2FgU97WEIikh1x2Hhv1lmKMd7fPUEEWnfdwES5svoFo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd76b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 13802\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":13802,"size_decoded":14569,"mime_type":"image/png","magic":"PNG image data, 180 x 195, 8-bit/color RGBA, non-interlaced","md5":"4db45fff96ff275ad9927d11c9c4d09e","sha1":"8bf3a4213784d4adb9991f77e92dcde25240dc43","sha256":"400a3f50ce18d6e4543ac2cde789bb799a35e023fdb82ff9413ce9173d32aaff","sha512":"a87616d529ee8eedd636f7b7256516a2756e6bc560ab6293c3fdda882d1d042725fe2606de6fb1404e17b6836a5b7df5ff5f12d55898ddea8598f817c9704e30","ssdeep":"384:QJXE056DpKsA+WzOn/YaeqzZyYT7v4sjLjY/kl6f1:M356DwsAbajxRjw/oM","tlshash":"9b52b09f3374b82a49a43b325df81d4aab5d311a9e052348f5e1f7af939830b071b9d0","first_seen":"2023-11-06T23:58:36Z","last_seen":"2026-07-27T12:23:18.783135Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/coinbase.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.989Z","timestamp":1785154927989,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/coinbase.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:56 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CMgAmNclcapwwKMpg4J%2FgAe57EcvtB1fDPTqT5lmKHx96sK%2FMcgOmNTxt%2FbHbvBF1teV2t7R47VAGQPk5PPAGSyCqqEI7YAA2luwW3B4VG7iwYJqwEAOm4B%2FECl0B1v5dmrtxh7jPwE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd82b28a-OSL\r\ncontent-length: 68113\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":68113,"size_decoded":68880,"mime_type":"image/png","magic":"PNG image data, 2600 x 909, 8-bit/color RGBA, non-interlaced","md5":"8ea2a12b4033ea6e6fda8cff79f4ae06","sha1":"eebc256f28fed8f7b212a91b5a85eb1b88506cb3","sha256":"cb40b5bd754f86d1809653d2abd92557621a3344d7f7dbf6faf6c3c6a05837cf","sha512":"f218c8d98d6425435da872362afa746b769f90529b3b8dd325e7e82233a6245b4c7cf543b2430cec17b618b5cd0bcbe32a715b6504c1f82756e1014582de3e24","ssdeep":"768:a4oesXdLLcEHKiSHElOn4Iqv7DMx80dDduj0jQtPkwyHcbmdZ/tbl8OEN47ns1pu:a4oeILui9On4VDDadFJH/tbljn61j0ZR","tlshash":"3063d033fbb87830d6c386769a9e0f175f240b570507f8b1db7a402521426b1ac9cafa","first_seen":"2023-05-27T13:57:32Z","last_seen":"2026-08-11T04:47:39.154202Z","times_seen":252,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAACigAAAONCAYAAAAWaHopAAAABGdBTUEAALGPC/xhBQABCchJREFUeNrs3XecZWV9P3CwnHPvzC5NEEVUVIwFYwnWRH9iSyyJLSEaNUWNnufc2XEXIWBJdIy9xy7GbmzYRbHEErsxlvOcu7O7uOKqIDZQVED6/F7PnRVRlt2ZO7ff9/v1+v6TGIJzn+d7znnO5zzPXnsBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJg+/z+r+p8jMhyceAAAAABJRU5ErkJggg=="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo4.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.009Z","timestamp":1785154928009,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo4.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=3c8pa7y5XP48FOODKBMLT%2Bh0A%2FySIcE1mQB4pIDaf60VU6VCxhSwjKjqWhGWYIE07fP8DdezyQt8cdfGCAGQC7ByIveFyEc%2FFuNC14KTU3oa5IKXJ%2BsaqN2MD7zNryYI5O4cdc8Qc9k%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d95b28a-OSL\r\ncontent-length: 4393\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":4393,"size_decoded":5159,"mime_type":"image/png","magic":"PNG image data, 155 x 77, 8-bit/color RGBA, non-interlaced","md5":"a9134598f52ac08f98e2c4169f6c868e","sha1":"c7f07f32259d062103c1b63a6d62675d66d7fbd8","sha256":"eab6638c9c8e358db47e200ac719724f4ef7b9d1fca0371e29d367f8b97f8d0b","sha512":"26ad926b86ef505f3957701a5cb223e0aec12de28e03370c03712b9a4cf20aff93434792f41ab0347ef22351a698862bfc7f6b689a036a98a28074875ca4f7c4","ssdeep":"96:I2J20kUpkiNs/Eo38yOYYu6I9HpbOkubpmfXJ3WhrRZrP3wKE5yDjaHb/Qj:NkUeiesoJrI7cghDPok/ob/Qj","tlshash":"f8915da4f690ec95d446e45124f38b1e483f0eb502d5e653f94d9c6bb5e09b25cf03ca","first_seen":"2026-07-27T05:58:00.91374Z","last_seen":"2026-07-27T12:23:18.816517Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAABNCAYAAACxBha+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUyMkRCMTM0M0Q4NzExRThCNDRBQkFDQTM2Q0Y2M0U4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUyMkRCMTM1M0Q4NzExRThCNDRBQkFDQTM2Q0Y2M0U4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RTIyREIxMzIzRDg3MTFFOEI0NEFCQUNBMzZDRjYzRTgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTIyREIxMzMzRDg3MTFFOEI0NEFCQUNBMzZDRjYzRTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7mbTOaAAANn0lEQVR42uydXVLjSBKA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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/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://primeelitecapital.com/","date":"2026-07-27T12:22:08.409Z","timestamp":1785154928409,"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.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/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://primeelitecapital.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: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 411723\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":194344,"size_decoded":68816,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":91,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":17,"receive":27,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/chart_script.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.942Z","timestamp":1785154927942,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/chart_script.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:40 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=mZFUgjO1cATT3w%2FOFDE%2FTgHJDBXdAByQ91QtnC4pJ9AUBz1n34SIXD9IIb0Vjd0cj%2BcoPTiYe9K3IS%2FZ7tLYaPhVouNAX5kjA6mluBW1GMQ7Bxm2Aa8h8LCR0wjzHoHYpT82gb%2F4NPE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9bad66b28a-OSL\r\ncontent-length: 679\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":4323,"size_decoded":1455,"mime_type":"text/javascript","magic":"ASCII text, with CRLF line terminators","md5":"84eac15a5fed03d3e6e8224e2f344f77","sha1":"de608c93762d61ccdde44ad7534df33081939a99","sha256":"b485af8d92e4de9edd513dcf5557acdc57c5ba2d92d2c02983ab1a577cf974f4","sha512":"a03931ac4b3daed331c51456e9b07d4f664d26e4c4d6208f6e3b60cbb479191336297b10723be0066ace7e616fff792449027e4c02d36c3f709ba11c89b2c2f2","ssdeep":"96:Tq5hFFFFR121g5t0W/BFFFFRn5t47H5hFFFFR121g5t0W/BFFFFRn5t47B:TkhFFFFTH0+FFFFNwhFFFFTH0+FFFFNq","tlshash":"fa9100af754e822a972b5b8776bbcf0a7930d1146347a13df52b00c83f9449df166380","first_seen":"2026-07-27T05:58:00.861065Z","last_seen":"2026-07-27T12:23:18.842916Z","times_seen":3,"resource_available":true,"data":"LyohDQogKiBDaGFydF9zY3JpcHQuanMNCiAqIEF1dGhvciAgICAgICA6IEJlc3R3ZWJjcmVhdG9yLg0KICogVGVtcGxhdGUgTmFtZTogTGFuZGluZyBQYWdlDQogKiBWZXJzaW9uICAgICAgOiAxLjQNCiovDQp2YXIgY29uZmlnID0gew0KdHlwZTogJ2RvdWdobnV0JywNCmRhdGE6IHsNCgkNCglkYXRhc2V0czogW3sNCgkJZGF0YTogWzIwLCAxOSwgMTUsIDEwLCAxMl0sDQoJCWJhY2tncm91bmRDb2xvcjogWycjZmY3ODc2JywnIzM2ZmZhZCcsJyMzYjhhOTknLCcjMTNhZmNjJywnI2NjMTY2NyddLA0KCQlib3JkZXJDb2xvcjogWw0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJXSwNCgkJYm9yZGVyV2lkdGg6IDIsDQoJCWxhYmVsOiAnRGF0YXNldCAxJw0KCX1dLA0KCWxhYmVsczogWw0KCQknSW50ZXJjb25uZWN0aW9uIERldi4nLA0KCQknTWFya2V0aW5nICYgR2VuZXJhbCcsDQoJCSdNb2JpbGUgQWQgUGxhdGZvcm0nLA0KCQknQWQgUGxhdGZvcm0gSW50ZWdyYXRpb24nLA0KCQknT3BlcmF0aW9uYWwgT3ZlcmhlYWQnDQoJXQ0KfSwNCm9wdGlvbnM6IHsNCglyZXNwb25zaXZlOiB0cnVlLA0KCWxlZ2VuZDogew0KCSAgZGlzcGxheTogZmFsc2UsDQoJfSwNCgl0aXRsZTogew0KCSAgZGlzcGxheTogZmFsc2UsDQoJICB0ZXh0OiAnQ2hhcnQuanMgRG91Z2hudXQgQ2hhcnQnDQoJfSwNCglwaWVjZUxhYmVsOiB7DQoJCXJlbmRlcjogJ3BlcmNlbnRhZ2UnLA0KCQlmb250Q29sb3I6IFsnI2ZmNzg3NicsJyMzNmZmYWQnLCcjM2I4YTk5JywnIzEzYWZjYycsJyNjYzE2NjcnXSwNCgkJZm9udFNpemU6IDE2LA0KCQlmb250U3R5bGU6ICdib2xkJywNCgkJcG9zaXRpb246ICdvdXRzaWRlJywNCgkJcHJlY2lzaW9uOiAyDQoJfSwNCglhbmltYXRpb246IHsNCgkgIGFuaW1hdGVTY2FsZTogdHJ1ZSwNCgkgIGFuaW1hdGVSb3RhdGU6IHRydWUNCgl9DQp9DQp9Ow0KDQp2YXIgY29uZmlnMiA9IHsNCnR5cGU6ICdkb3VnaG51dCcsDQpkYXRhOiB7DQoJDQoJZGF0YXNldHM6IFt7DQoJCWRhdGE6IFsxMCwgMjAsIDI1LCAxOCwgMTVdLA0KCQliYWNrZ3JvdW5kQ29sb3I6IFsnIzEzQUZDQycsJyNEQTVEODUnLCcjQjg3N0RGJywnIzNCOEE5OScsJyMzNkZGQUQnXSwNCgkJYm9yZGVyQ29sb3I6IFsNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCV0sDQoJCWJvcmRlcldpZHRoOiAyLA0KCQlsYWJlbDogJ0RhdGFzZXQgMScNCgl9XSwNCglsYWJlbHM6IFsNCgkJJ0lDTyBTYWxlJywNCgkJJ0J1aWxkIE91dCcsDQoJCSdUZWFtICYgQWR2aXNlcnMnLA0KCQknUHJpdmF0ZSBJbnZlc3RvcnMnLA0KCQknQm91bnR5Jw0KCV0NCn0sDQpvcHRpb25zOiB7DQoJcmVzcG9uc2l2ZTogdHJ1ZSwNCglsZWdlbmQ6IHsNCgkgIGRpc3BsYXk6IGZhbHNlLA0KCX0sDQoJdGl0bGU6IHsNCgkgIGRpc3BsYXk6IGZhbHNlLA0KCSAgdGV4dDogJ0NoYXJ0LmpzIERvdWdobnV0IENoYXJ0Jw0KCX0sDQoJcGllY2VMYWJlbDogew0KCQlyZW5kZXI6ICdwZXJjZW50YWdlJywNCgkJZm9udENvbG9yOiBbJyMxM0FGQ0MnLCcjREE1RDg1JywnI0I4NzdERicsJyMzQjhBOTknLCcjMzZGRkFEJ10sDQoJCWZvbnRTaXplOiAxNiwNCgkJZm9udFN0eWxlOiAnYm9sZCcsDQoJCXBvc2l0aW9uOiAnb3V0c2lkZScsDQoJCXByZWNpc2lvbjogMg0KCX0sDQoJYW5pbWF0aW9uOiB7DQoJICBhbmltYXRlU2NhbGU6IHRydWUsDQoJICBhbmltYXRlUm90YXRlOiB0cnVlDQoJfQ0KCQ0KfQ0KfTsNCg0Kd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgew0KdmFyIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9zYWxlJykuZ2V0Q29udGV4dCgnMmQnKTsNCndpbmRvdy5teVBpZSA9IG5ldyBDaGFydChjdHgsIGNvbmZpZyk7DQp2YXIgY3R4MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9kaXN0JykuZ2V0Q29udGV4dCgnMmQnKTsNCndpbmRvdy5teVBpZSA9IG5ldyBDaGFydChjdHgyLCBjb25maWcyKTsNCn07DQoNCnZhciBjb25maWcgPSB7DQp0eXBlOiAnZG91Z2hudXQnLA0KZGF0YTogew0KCQ0KCWRhdGFzZXRzOiBbew0KCQlkYXRhOiBbMjAsIDE5LCAxNSwgMTAsIDEyXSwNCgkJYmFja2dyb3VuZENvbG9yOiBbJyNmZjc4NzYnLCcjMzZmZmFkJywnIzNiOGE5OScsJyMxM2FmY2MnLCcjY2MxNjY3J10sDQoJCWJvcmRlckNvbG9yOiBbDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQldLA0KCQlib3JkZXJXaWR0aDogMiwNCgkJbGFiZWw6ICdEYXRhc2V0IDEnDQoJfV0sDQoJbGFiZWxzOiBbDQoJCSdJbnRlcmNvbm5lY3Rpb24gRGV2LicsDQoJCSdNYXJrZXRpbmcgJiBHZW5lcmFsJywNCgkJJ01vYmlsZSBBZCBQbGF0Zm9ybScsDQoJCSdBZCBQbGF0Zm9ybSBJbnRlZ3JhdGlvbicsDQoJCSdPcGVyYXRpb25hbCBPdmVyaGVhZCcNCgldDQp9LA0Kb3B0aW9uczogew0KCXJlc3BvbnNpdmU6IHRydWUsDQoJbGVnZW5kOiB7DQoJICBkaXNwbGF5OiBmYWxzZSwNCgl9LA0KCXRpdGxlOiB7DQoJICBkaXNwbGF5OiBmYWxzZSwNCgkgIHRleHQ6ICdDaGFydC5qcyBEb3VnaG51dCBDaGFydCcNCgl9LA0KCXBpZWNlTGFiZWw6IHsNCgkJcmVuZGVyOiAncGVyY2VudGFnZScsDQoJCWZvbnRDb2xvcjogWycjZmY3ODc2JywnIzM2ZmZhZCcsJyMzYjhhOTknLCcjMTNhZmNjJywnI2NjMTY2NyddLA0KCQlmb250U2l6ZTogMTYsDQoJCWZvbnRTdHlsZTogJ2JvbGQnLA0KCQlwb3NpdGlvbjogJ291dHNpZGUnLA0KCQlwcmVjaXNpb246IDINCgl9LA0KCWFuaW1hdGlvbjogew0KCSAgYW5pbWF0ZVNjYWxlOiB0cnVlLA0KCSAgYW5pbWF0ZVJvdGF0ZTogdHJ1ZQ0KCX0NCn0NCn07DQoNCnZhciBjb25maWcyID0gew0KdHlwZTogJ2RvdWdobnV0JywNCmRhdGE6IHsNCgkNCglkYXRhc2V0czogW3sNCgkJZGF0YTogWzEwLCAyMCwgMjUsIDE4LCAxNV0sDQoJCWJhY2tncm91bmRDb2xvcjogWycjMTNBRkNDJywnI0RBNUQ4NScsJyNCODc3REYnLCcjM0I4QTk5JywnIzM2RkZBRCddLA0KCQlib3JkZXJDb2xvcjogWw0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJCSdyZ2JhKDI1NSwyNTUsMjU1LDAuNSknLA0KCQkJJ3JnYmEoMjU1LDI1NSwyNTUsMC41KScsDQoJCQkncmdiYSgyNTUsMjU1LDI1NSwwLjUpJywNCgkJXSwNCgkJYm9yZGVyV2lkdGg6IDIsDQoJCWxhYmVsOiAnRGF0YXNldCAxJw0KCX1dLA0KCWxhYmVsczogWw0KCQknSUNPIFNhbGUnLA0KCQknQnVpbGQgT3V0JywNCgkJJ1RlYW0gJiBBZHZpc2VycycsDQoJCSdQcml2YXRlIEludmVzdG9ycycsDQoJCSdCb3VudHknDQoJXQ0KfSwNCm9wdGlvbnM6IHsNCglyZXNwb25zaXZlOiB0cnVlLA0KCWxlZ2VuZDogew0KCSAgZGlzcGxheTogZmFsc2UsDQoJfSwNCgl0aXRsZTogew0KCSAgZGlzcGxheTogZmFsc2UsDQoJICB0ZXh0OiAnQ2hhcnQuanMgRG91Z2hudXQgQ2hhcnQnDQoJfSwNCglwaWVjZUxhYmVsOiB7DQoJCXJlbmRlcjogJ3BlcmNlbnRhZ2UnLA0KCQlmb250Q29sb3I6IFsnIzEzQUZDQycsJyNEQTVEODUnLCcjQjg3N0RGJywnIzNCOEE5OScsJyMzNkZGQUQnXSwNCgkJZm9udFNpemU6IDE2LA0KCQlmb250U3R5bGU6ICdib2xkJywNCgkJcG9zaXRpb246ICdvdXRzaWRlJywNCgkJcHJlY2lzaW9uOiAyDQoJfSwNCglhbmltYXRpb246IHsNCgkgIGFuaW1hdGVTY2FsZTogdHJ1ZSwNCgkgIGFuaW1hdGVSb3RhdGU6IHRydWUNCgl9DQoJDQp9DQp9Ow0KDQp3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7DQp2YXIgY3R4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX3NhbGUnKS5nZXRDb250ZXh0KCcyZCcpOw0Kd2luZG93Lm15UGllID0gbmV3IENoYXJ0KGN0eCwgY29uZmlnKTsNCnZhciBjdHgyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2Rpc3QnKS5nZXRDb250ZXh0KCcyZCcpOw0Kd2luZG93Lm15UGllID0gbmV3IENoYXJ0KGN0eDIsIGNvbmZpZzIpOw0KfTsNCg0K"}},"time_used":149,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":149,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"3.122.217.85","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:18.999Z","timestamp":1785154938999,"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://primeelitecapital.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: JKXQ1q0EiFxQ05X7wBB3zg==\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 12:22:19 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: sRmThlrzrtjdQHVuyYH06VxHVdI=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":301,"timings":{"blocked":0,"dns":92,"connect":109,"send":0,"wait":75,"receive":0,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/owlcarousel/css/owl.theme.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.906Z","timestamp":1785154927906,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/owlcarousel/css/owl.theme.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:36 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=QcFNYQm1PV%2Fq6RhYQAXkZ%2F1C91nGJsRlSj5UCqklAgDVeGvFneot0adWTq2YB13x5WkJ1uHzWGHKBMmFxpiKsV%2FdJcHqnhigJ7wc6xdGJLgYBLzCwjoN0nMKvkrfUf00E2B2gKlqN0Q%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b6d4db28a-OSL\r\ncontent-length: 557\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":1765,"size_decoded":1367,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"ff0aa88bbd6a1a2603d40ca1bff385f8","sha1":"6a45c08a14977896b95a29d838144b61678d06df","sha256":"5e992a8032c3d451abbcbdf91498e8b524e8a96cb2323c432311da55018da48c","sha512":"f7f3f76e843c56251ed6fd26326ac9ba6fdb16013b7d5478c28ba429f1ffc8b67cfb066fe9375df3ce4637d3bf27daa12497b837c43630346453efac94602006","ssdeep":"","tlshash":"6b31bfd8d21d122d153745bc3b38cb838e8e71635b0629e8f4fe7974a24586c3a3b399","first_seen":"2023-11-10T18:22:31Z","last_seen":"2026-07-27T12:23:18.83501Z","times_seen":4,"resource_available":false,"data":"LyoNCiogCU93bCBDYXJvdXNlbCBPd2wgRGVtbyBUaGVtZSANCioJdjEuMy4yDQoqLw0KDQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHN7DQpkaXNwbGF5OiBub25lIWltcG9ydGFudDsNCm1hcmdpbi10b3A6IDEwcHg7DQp0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi8qIFN0eWxpbmcgTmV4dCBhbmQgUHJldiBidXR0b25zICovDQoNCi5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLWJ1dHRvbnMgZGl2ew0KCWNvbG9yOiAjRkZGOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl6b29tOiAxOw0KCSpkaXNwbGF5OiBpbmxpbmU7LypJRTcgbGlmZS1zYXZlciAqLw0KCW1hcmdpbjogNXB4Ow0KCXBhZGRpbmc6IDNweCAxMHB4Ow0KCWZvbnQtc2l6ZTogMTJweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7DQoJLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4Ow0KCWJvcmRlci1yYWRpdXM6IDMwcHg7DQoJYmFja2dyb3VuZDogIzg2OTc5MTsNCglmaWx0ZXI6IEFscGhhKE9wYWNpdHk9NTApOy8qSUU3IGZpeCovDQoJb3BhY2l0eTogMC41Ow0KfQ0KLyogQ2xpY2thYmxlIGNsYXNzIGZpeCBwcm9ibGVtIHdpdGggaG92ZXIgb24gdG91Y2ggZGV2aWNlcyAqLw0KLyogVXNlIGl0IGZvciBub24tdG91Y2ggaG92ZXIgYWN0aW9uICovDQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMuY2xpY2thYmxlIC5vd2wtYnV0dG9ucyBkaXY6aG92ZXJ7DQoJZmlsdGVyOiBBbHBoYShPcGFjaXR5PTEwMCk7LypJRTcgZml4Ki8NCglvcGFjaXR5OiAxOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLyogU3R5bGluZyBQYWdpbmF0aW9uKi8NCg0KLm93bC10aGVtZSAub3dsLWNvbnRyb2xzIC5vd2wtcGFnZXsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJem9vbTogMTsNCgkqZGlzcGxheTogaW5saW5lOy8qSUU3IGxpZmUtc2F2ZXIgKi8NCn0NCi5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLXBhZ2Ugc3BhbnsNCglkaXNwbGF5OiBub25lOw0KCXdpZHRoOiA2cHg7DQoJaGVpZ2h0OiA2cHg7DQoJbWFyZ2luOiA1cHggN3B4Ow0KCWZpbHRlcjogQWxwaGEoT3BhY2l0eT01MCk7LypJRTcgZml4Ki8NCglvcGFjaXR5OiAwLjU7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4Ow0KCS1tb3otYm9yZGVyLXJhZGl1czogMjBweDsNCglib3JkZXItcmFkaXVzOiAyMHB4Ow0KCWJhY2tncm91bmQ6ICM4Njk3OTE7DQp9DQoNCi5vd2wtdGhlbWUgLm93bC1jb250cm9scyAub3dsLXBhZ2UuYWN0aXZlIHNwYW4sDQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMuY2xpY2thYmxlIC5vd2wtcGFnZTpob3ZlciBzcGFuew0KCWZpbHRlcjogQWxwaGEoT3BhY2l0eT0xMDApOy8qSUU3IGZpeCovDQoJb3BhY2l0eTogMTsNCn0NCg0KLyogSWYgUGFnaW5hdGlvbk51bWJlcnMgaXMgdHJ1ZSAqLw0KDQoub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlIHNwYW4ub3dsLW51bWJlcnN7DQoJaGVpZ2h0OiBhdXRvOw0KCXdpZHRoOiBhdXRvOw0KCWNvbG9yOiAjRkZGOw0KCXBhZGRpbmc6IDJweCAxMHB4Ow0KCWZvbnQtc2l6ZTogMTJweDsNCgktd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7DQoJLW1vei1ib3JkZXItcmFkaXVzOiAzMHB4Ow0KCWJvcmRlci1yYWRpdXM6IDMwcHg7DQp9DQoNCi8qIHByZWxvYWRpbmcgaW1hZ2VzICovDQoub3dsLWl0ZW0ubG9hZGluZ3sNCgltaW4taGVpZ2h0OiAxNTBweDsNCgliYWNrZ3JvdW5kOiB1cmwoQWpheExvYWRlci5odG1sKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcg0KfQ=="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/scripts.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.943Z","timestamp":1785154927943,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/scripts.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rvLqTiQ5djX2p%2Bb7E9PkLtN2KBmZGYnlqIUoReOR6ewBuGUqUiAEn3hNMLqmi07Qp8mdoIuZKxwrOfWKbFfvGkHJfJRbkuCsIYUpW7gEFCba9gfoTdLPm8tIRTp152ljckBvIp39%2BhM%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9bad67b28a-OSL\r\ncontent-length: 2905\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":10265,"size_decoded":3676,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (477), with CRLF line terminators","md5":"90a6318d9aa85813140dd817ae8862c3","sha1":"ea57d1fcd19054e85b224f778429b6f7fe65f09a","sha256":"efe21a86bcd0d8477c8595b64a625ad5e4115208b35e20142316b9c0746e1aad","sha512":"01ed7532f9ab519646bd6a7c345127fd01059bb9c52778d5666d94ad02c97845ae4c57e54880ae0b470bde243e0a85686b0d02b663d7c8a35d0ccd0e0f755c2f","ssdeep":"192:mGfWr8ndsnyT77/xa+UI9ar2D9S8ImG7AAV41oOodEmkGkgwaC:mGuY3n7JanGW2D08IV7AAV41oOodJkGu","tlshash":"4b220e87b36d506b56ff73ac463e8281e97dc437c001867ab8ad455837b8b2462b3f19","first_seen":"2026-07-27T05:58:00.833027Z","last_seen":"2026-07-27T12:23:18.801936Z","times_seen":3,"resource_available":true,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KQXV0aG9yICAgICAgIDogQmVzdHdlYmNyZWF0b3IuDQpUZW1wbGF0ZSBOYW1lOiBDcnlwdG9raW5nIC0gQml0Y29pbiAmIElDTyBDcnlwdG9jdXJyZW5jeSBMYW5kaW5nIFBhZ2UgSFRNTCBUZW1wbGF0ZQ0KVmVyc2lvbiAgICAgIDogMS41DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQpMQU5ESU5HIFBBR0UgSlMNCio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCihmdW5jdGlvbigkKSB7DQoJJ3VzZSBzdHJpY3QnOw0KCQ0KCS8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoJMDEuIExPQURJTkcgSlMNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCg0KCSQod2luZG93KS5vbignbG9hZCcsIGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlTG9kZXIgPSAkKCIucHJlbG9hZGVyIik7DQoJCXByZUxvZGVyLmRlbGF5KDcwMCkuZmFkZU91dCg1MDApOw0KCX0pOw0KCS8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoJMDIuIFNNT09USCBTQ1JPTExJTkcgSlMNCgkqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KCS8vIFNlbGVjdCBhbGwgbGlua3Mgd2l0aCBoYXNoZXMNCiAgICAkKCdhLnBhZ2Utc2Nyb2xsJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHsNCiAgICAgICAgLy8gT24tcGFnZSBsaW5rcw0KICAgICAgICBpZiAoIGxvY2F0aW9uLnBhdGhuYW1lLnJlcGxhY2UoL15cLy8sICcnKSA9PT0gdGhpcy5wYXRobmFtZS5yZXBsYWNlKC9eXC8vLCAnJykgJiYgbG9jYXRpb24uaG9zdG5hbWUgPT09IHRoaXMuaG9zdG5hbWUgKSB7DQogICAgICAgICAgLy8gRmlndXJlIG91dCBlbGVtZW50IHRvIHNjcm9sbCB0bw0KICAgICAgICAgIHZhciB0YXJnZXQgPSAkKHRoaXMuaGFzaCksDQogICAgICAgICAgICAgIHNwZWVkPSAkKHRoaXMpLmRhdGEoInNwZWVkIikgfHwgODAwOw0KICAgICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQubGVuZ3RoID8gdGFyZ2V0IDogJCgnW25hbWU9JyArIHRoaXMuaGFzaC5zbGljZSgxKSArICddJyk7DQoNCiAgICAgICAgICAvLyBEb2VzIGEgc2Nyb2xsIHRhcmdldCBleGlzdD8NCiAgICAgICAgICBpZiAodGFyZ2V0Lmxlbmd0aCkgew0KICAgICAgICAgICAgLy8gT25seSBwcmV2ZW50IGRlZmF1bHQgaWYgYW5pbWF0aW9uIGlzIGFjdHVhbGx5IGdvbm5hIGhhcHBlbg0KICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgc2Nyb2xsVG9wOiB0YXJnZXQub2Zmc2V0KCkudG9wIC0gNjANCiAgICAgICAgICAgIH0sIHNwZWVkKTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCgkNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KCTAzLiBNRU5VIEpTDQoJKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCgkvL01haW4gbmF2aWdhdGlvbiBzY3JvbGwgc3B5IGZvciBzaGFkb3cNCgkkKHdpbmRvdykub24oJ3Njcm9sbCcsIGZ1bmN0aW9uKCkgew0KCQl2YXIgc2Nyb2xsID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOw0KDQoJICAgIGlmIChzY3JvbGwgPj0gODApIHsNCgkgICAgICAgICQoJ2hlYWRlcicpLmFkZENsYXNzKCduYXYtZml4ZWQnKTsNCgkgICAgfSBlbHNlIHsNCgkgICAgICAgICQoJ2hlYWRlcicpLnJlbW92ZUNsYXNzKCduYXYtZml4ZWQnKTsNCgkgICAgfQ0KDQoJfSk7DQoJDQoJLy9IaWRlIE5hdmJhciBEcm9wZG93biBBZnRlciBDbGljayBPbiBMaW5rcw0KCXZhciBuYXZCYXIgPSAkKCIuaGVhZGVyX3dyYXAiKTsNCgl2YXIgbmF2YmFyTGlua3MgPSBuYXZCYXIuZmluZCgiLm5hdmJhci1jb2xsYXBzZSB1bCBsaSBhLnBhZ2Utc2Nyb2xsIik7DQoNCiAgICAkLmVhY2goIG5hdmJhckxpbmtzLCBmdW5jdGlvbiggaSwgdmFsICkgew0KDQogICAgICB2YXIgbmF2YmFyTGluayA9ICQodGhpcyk7DQoNCiAgICAgICAgbmF2YmFyTGluay5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgbmF2QmFyLmZpbmQoIi5uYXZiYXItY29sbGFwc2UiKS5jb2xsYXBzZSgnaGlkZScpOw0KICAgICAgICB9KTsNCg0KICAgIH0pOw0KCQ0KCS8vTWFpbiBuYXZpZ2F0aW9uIEFjdGl2ZSBDbGFzcyBBZGQgUmVtb3ZlDQoJJCgnLm5hdmJhci10b2dnbGVyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQoJICAgICQoImhlYWRlciIpLnRvZ2dsZUNsYXNzKCJhY3RpdmUiKTsNCgl9KTsNCgkNCgkkKCBkb2N1bWVudCApLnJlYWR5KCBmdW5jdGlvbiAoKSB7DQoJCSQoICcuZHJvcGRvd24tbWVudSBhLmRyb3Bkb3duLXRvZ2dsZScgKS5vbiggJ2NsaWNrJywgZnVuY3Rpb24gKCBlICkgew0KCQkJdmFyICRlbCA9ICQoIHRoaXMgKTsNCgkJCXZhciAkcGFyZW50ID0gJCggdGhpcyApLm9mZnNldFBhcmVudCggIi5kcm9wZG93bi1tZW51IiApOw0KCQkJaWYgKCAhJCggdGhpcyApLm5leHQoKS5oYXNDbGFzcyggJ3Nob3cnICkgKSB7DQoJCQkJJCggdGhpcyApLnBhcmVudHMoICcuZHJvcGRvd24tbWVudScgKS5maXJzdCgpLmZpbmQoICcuc2hvdycgKS5yZW1vdmVDbGFzcyggInNob3ciICk7DQoJCQl9DQoJCQl2YXIgJHN1Yk1lbnUgPSAkKCB0aGlzICkubmV4dCggIi5kcm9wZG93bi1tZW51IiApOw0KCQkJJHN1Yk1lbnUudG9nZ2xlQ2xhc3MoICdzaG93JyApOw0KCQkJDQoJCQkkKCB0aGlzICkucGFyZW50KCAibGkiICkudG9nZ2xlQ2xhc3MoICdzaG93JyApOw0KCQ0KCQkJJCggdGhpcyApLnBhcmVudHMoICdsaS5uYXYtaXRlbS5kcm9wZG93bi5zaG93JyApLm9uKCAnaGlkZGVuLmJzLmRyb3Bkb3duJywgZnVuY3Rpb24gKCBlICkgew0KCQkJCSQoICcuZHJvcGRvd24tbWVudSAuc2hvdycgKS5yZW1vdmVDbGFzcyggInNob3ciICk7DQoJCQl9ICk7DQoJCQkNCgkJCSBpZiAoICEkcGFyZW50LnBhcmVudCgpLmhhc0NsYXNzKCAnbmF2YmFyLW5hdicgKSApIHsNCgkJCQkkZWwubmV4dCgpLmNzcyggeyAidG9wIjogJGVsWzBdLm9mZnNldFRvcCwgImxlZnQiOiAkcGFyZW50Lm91dGVyV2lkdGgoKSAtIDQgfSApOw0KCQkJfQ0KCQ0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9ICk7DQoJfSApOw0KCQ0KICAgDQoJLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCgkwNC4gQkFDS0dST1VORCBBTklNQVRJT04gSlMNCgkqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KCXZhciAkcGFydGljbGVzX2pzID0gJCgnI2Jhbm5lcl9iZ19lZmZlY3QnKTsNCglpZiAoJHBhcnRpY2xlc19qcy5sZW5ndGggPiAwKSB7DQoJCXBhcnRpY2xlc0pTKCdiYW5uZXJfYmdfZWZmZWN0JywNCgkJCS8vIFVwZGF0ZSB5b3VyIHBlcnNvbmFsIGNvZGUuDQoJCQl7DQoJCQkJInBhcnRpY2xlcyI6IHsNCgkJCQkJIm51bWJlciI6IHsNCgkJCQkJCSJ2YWx1ZSI6IDgwLA0KCQkJCQkJImRlbnNpdHkiOiB7DQoJCQkJCQkJImVuYWJsZSI6IHRydWUsDQoJCQkJCQkJInZhbHVlX2FyZWEiOiA4MDANCgkJCQkJCX0NCgkJCQkJfSwNCgkJCQkJImNvbG9yIjogew0KCQkJCQkJInZhbHVlIjogIiMyNkI2RDQiDQoJCQkJCX0sDQoJCQkJCSJzaGFwZSI6IHsNCgkJCQkJCSJ0eXBlIjogInBvbHlnb24iLA0KCQkJCQkJInN0cm9rZSI6IHsNCgkJCQkJCQkid2lkdGgiOiAwLA0KCQkJCQkJCSJjb2xvciI6ICIjMDAwMDAwIg0KCQkJCQkJfSwNCgkJCQkJCSJwb2x5Z29uIjogew0KCQkJCQkJCSJuYl9zaWRlcyI6IDUNCgkJCQkJCX0sDQoJCQkJCQkiaW1hZ2UiOiB7DQoJCQkJCQkJInNyYyI6ICJpbWcvZ2l0aHViLnN2ZyIsDQoJCQkJCQkJIndpZHRoIjogMTAwLA0KCQkJCQkJCSJoZWlnaHQiOiAxMDANCgkJCQkJCX0NCgkJCQkJfSwNCgkJCQkJIm9wYWNpdHkiOiB7DQoJCQkJCQkidmFsdWUiOiAwLjQsDQoJCQkJCQkicmFuZG9tIjogZmFsc2UsDQoJCQkJCQkiYW5pbSI6IHsNCgkJCQkJCQkiZW5hYmxlIjogZmFsc2UsDQoJCQkJCQkJInNwZWVkIjogMSwNCgkJCQkJCQkib3BhY2l0eV9taW4iOiAwLjEsDQoJCQkJCQkJInN5bmMiOiBmYWxzZQ0KCQkJCQkJfQ0KCQkJCQl9LA0KCQkJCQkic2l6ZSI6IHsNCgkJCQkJCSJ2YWx1ZSI6IDMsDQoJCQkJCQkicmFuZG9tIjogdHJ1ZSwNCgkJCQkJCSJhbmltIjogew0KCQkJCQkJCSJlbmFibGUiOiBmYWxzZSwNCgkJCQkJCQkic3BlZWQiOiA0MCwNCgkJCQkJCQkic2l6ZV9taW4iOiAwLjEsDQoJCQkJCQkJInN5bmMiOiBmYWxzZQ0KCQkJCQkJfQ0KCQkJCQl9LA0KCQkJCQkibGluZV9saW5rZWQiOiB7DQoJCQkJCQkiZW5hYmxlIjogdHJ1ZSwNCgkJCQkJCSJkaXN0YW5jZSI6IDE1MCwNCgkJCQkJCSJjb2xvciI6ICIjMjZCNkQ0IiwNCgkJCQkJCSJvcGFjaXR5IjogMC4xLA0KCQkJCQkJIndpZHRoIjogMQ0KCQkJCQl9LA0KCQkJCQkibW92ZSI6IHsNCgkJCQkJCSJlbmFibGUiOiB0cnVlLA0KCQkJCQkJInNwZWVkIjogNiwNCgkJCQkJCSJkaXJlY3Rpb24iOiAibm9uZSIsDQoJCQkJCQkicmFuZG9tIjogZmFsc2UsDQoJCQkJCQkic3RyYWlnaHQiOiBmYWxzZSwNCgkJCQkJCSJvdXRfbW9kZSI6ICJvdXQiLA0KCQkJCQkJImJvdW5jZSI6IGZhbHNlLA0KCQkJCQkJImF0dHJhY3QiOiB7DQoJCQkJCQkJImVuYWJsZSI6IGZhbHNlLA0KCQkJCQkJCSJyb3RhdGVYIjogNjAwLA0KCQkJCQkJCSJyb3RhdGVZIjogMTIwMA0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfSwNCgkJCQkiaW50ZXJhY3Rpdml0eSI6IHsNCgkJCQkJImRldGVjdF9vbiI6ICJjYW52YXMiLA0KCQkJCQkiZXZlbnRzIjogew0KCQkJCQkJIm9uaG92ZXIiOiB7DQoJCQkJCQkJImVuYWJsZSI6IHRydWUsDQoJCQkJCQkJIm1vZGUiOiAicmVwdWxzZSINCgkJCQkJCX0sDQoJCQkJCQkib25jbGljayI6IHsNCgkJCQkJCQkiZW5hYmxlIjogdHJ1ZSwNCgkJCQkJCQkibW9kZSI6ICJwdXNoIg0KCQkJCQkJfSwNCgkJCQkJCSJyZXNpemUiOiB0cnVlDQoJCQkJCX0sDQoJCQkJCSJtb2RlcyI6IHsNCgkJCQkJCSJncmFiIjogew0KCQkJCQkJCSJkaXN0YW5jZSI6IDQwMCwNCgkJCQkJCQkibGluZV9saW5rZWQiOiB7DQoJCQkJCQkJCSJvcGFjaXR5IjogMQ0KCQkJCQkJCX0NCgkJCQkJCX0sDQoJCQkJCQkiYnViYmxlIjogew0KCQkJCQkJCSJkaXN0YW5jZSI6IDQwMCwNCgkJCQkJCQkic2l6ZSI6IDQwLA0KCQkJCQkJCSJkdXJhdGlvbiI6IDIsDQoJCQkJCQkJIm9wYWNpdHkiOiA4LA0KCQkJCQkJCSJzcGVlZCI6IDMNCgkJCQkJCX0sDQoJCQkJCQkicmVwdWxzZSI6IHsNCgkJCQkJCQkiZGlzdGFuY2UiOiAyMDAsDQoJCQkJCQkJImR1cmF0aW9uIjogMC40DQoJCQkJCQl9LA0KCQkJCQkJInB1c2giOiB7DQoJCQkJCQkJInBhcnRpY2xlc19uYiI6IDQNCgkJCQkJCX0sDQoJCQkJCQkicmVtb3ZlIjogew0KCQkJCQkJCSJwYXJ0aWNsZXNfbmIiOiAyDQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9LA0KCQkJCSJyZXRpbmFfZGV0ZWN0IjogdHJ1ZQ0KCQkJfQ0KCQ0KCQkpOw0KCX0NCgkNCgkgIA0KICAJLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCgkwNS4gQkFDS0dST1VORCBBTklNQVRJT04gSlMNCgkqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KCSAkKCcucm9hZG1hcCcpLm93bENhcm91c2VsKHsNCgkgICAgIGxvb3A6IGZhbHNlLA0KCSAgICAgbWFyZ2luOiAzMCwNCgkgICAgIG5hdjogdHJ1ZSwNCgkgICAgIG5hdlRleHQ6IFsnPGkgY2xhc3M9Imlvbi1pb3MtYXJyb3ctYmFjayI+PC9pPicsICc8aSBjbGFzcz0iaW9uLWlvcy1hcnJvdy1mb3J3YXJkIj48L2k+J10sDQoJICAgICByZXNwb25zaXZlOiB7DQoJICAgICAgICAgMDogew0KCSAgICAgICAgICAgICBpdGVtczogMSwNCg0KCSAgICAgICAgIH0sDQoJICAgICAgICAgMzgwOiB7DQoJICAgICAgICAgICAgIGl0ZW1zOiAyLA0KCSAgICAgICAgICAgICBtYXJnaW46IDE1LA0KCSAgICAgICAgIH0sDQoJICAgICAgICAgNjAwOiB7DQoJICAgICAgICAgICAgIGl0ZW1zOiAzDQoJICAgICAgICAgfSwNCgkgICAgICAgICAxMDAwOiB7DQoJICAgICAgICAgICAgIGl0ZW1zOiA1DQoJICAgICAgICAgfSwNCgkgICAgICAgICAxMTk5OiB7DQoJICAgICAgICAgICAgIGl0ZW1zOiA1DQoJICAgICAgICAgfQ0KCSAgICAgfQ0KCSB9KTsNCgkNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KICAgICAwNi5DT1VOVERPV04gSlMNCiAgICAqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KICAgICQoJy50a19jb3VudGRvd25fdGltZScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBlbmRUaW1lID0gJCh0aGlzKS5kYXRhKCd0aW1lJyk7DQogICAgICAgICQodGhpcykuY291bnRkb3duKGVuZFRpbWUsIGZ1bmN0aW9uKHRtKSB7DQogICAgICAgICAgICAkKHRoaXMpLmh0bWwodG0uc3RyZnRpbWUoJzxzcGFuIGNsYXNzPSJjb3VudGVyX2JveCI+PHNwYW4gY2xhc3M9InRrX2NvdW50ZXIgZGF5cyI+JUQgPC9zcGFuPjxzcGFuIGNsYXNzPSJ0a190ZXh0Ij5EYXlzPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iY291bnRlcl9ib3giPjxzcGFuIGNsYXNzPSJ0a19jb3VudGVyIGhvdXJzIj4lSDwvc3Bhbj48c3BhbiBjbGFzcz0idGtfdGV4dCI+SG91cnM8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjb3VudGVyX2JveCI+PHNwYW4gY2xhc3M9InRrX2NvdW50ZXIgbWludXRlcyI+JU08L3NwYW4+PHNwYW4gY2xhc3M9InRrX3RleHQiPk1pbnV0ZXM8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjb3VudGVyX2JveCI+PHNwYW4gY2xhc3M9InRrX2NvdW50ZXIgc2Vjb25kcyI+JVM8L3NwYW4+PHNwYW4gY2xhc3M9InRrX3RleHQiPlNlY29uZHM8L3NwYW4+PC9zcGFuPicpKTsNCiAgICAgICAgfSk7DQogICAgfSk7DQoJDQoJLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSoNCgkgMDcuIFZJREVPIEpTDQoJKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCgkkKCcudmlkZW8nKS5tYWduaWZpY1BvcHVwKHsNCgkJdHlwZTogJ2lmcmFtZScNCgl9KTsNCg0KCS8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoJMDguIENPTlRBQ1QgRk9STSBKUw0KCSo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoJJCgiI3N1Ym1pdEJ1dHRvbiIpLm9uKCJjbGljayIsIGZ1bmN0aW9uKGV2ZW50KSB7DQoJICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJICAgIHZhciBteWRhdGEgPSAkKCJmb3JtIikuc2VyaWFsaXplKCk7DQoJICAgICQuYWpheCh7DQoJICAgICAgICB0eXBlOiAiUE9TVCIsDQoJICAgICAgICBkYXRhVHlwZTogImpzb24iLA0KCSAgICAgICAgdXJsOiAiY29udGFjdC5waHAiLA0KCSAgICAgICAgZGF0YTogbXlkYXRhLA0KCSAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgew0KCSAgICAgICAgICAgIGlmIChkYXRhLnR5cGUgPT09ICJlcnJvciIpIHsNCgkgICAgICAgICAgICAgICAgJCgiI2FsZXJ0LW1zZyIpLnJlbW92ZUNsYXNzKCJhbGVydC1tc2ctc3VjY2VzcyIpOw0KCSAgICAgICAgICAgICAgICAkKCIjYWxlcnQtbXNnIikuYWRkQ2xhc3MoImFsZXJ0LW1zZy1mYWlsdXJlIik7DQoJICAgICAgICAgICAgfSBlbHNlIHsNCgkgICAgICAgICAgICAgICAgJCgiI2FsZXJ0LW1zZyIpLmFkZENsYXNzKCJhbGVydC1tc2ctc3VjY2VzcyIpOw0KCSAgICAgICAgICAgICAgICAkKCIjYWxlcnQtbXNnIikucmVtb3ZlQ2xhc3MoImFsZXJ0LW1zZy1mYWlsdXJlIik7DQoJICAgICAgICAgICAgICAgICQoIiNmaXJzdC1uYW1lIikudmFsKCJFbnRlciBOYW1lIik7DQoJICAgICAgICAgICAgICAgICQoIiNlbWFpbCIpLnZhbCgiRW50ZXIgRW1haWwiKTsNCgkgICAgICAgICAgICAgICAgJCgiI3N1YmplY3QiKS52YWwoIkVudGVyIFN1YmplY3QiKTsNCgkgICAgICAgICAgICAgICAgJCgiI2Rlc2NyaXB0aW9uIikudmFsKCJFbnRlciBNZXNzYWdlIik7DQoNCgkgICAgICAgICAgICB9DQoJICAgICAgICAgICAgJCgiI2FsZXJ0LW1zZyIpLmh0bWwoZGF0YS5tc2cpOw0KCSAgICAgICAgICAgICQoIiNhbGVydC1tc2ciKS5zaG93KCk7DQoJICAgICAgICB9LA0KCSAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKHhociwgdGV4dFN0YXR1cykgew0KCSAgICAgICAgICAgIGFsZXJ0KHRleHRTdGF0dXMpOw0KCSAgICAgICAgfQ0KCSAgICB9KTsNCgl9KTsNCgkNCgkNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KCTA5LiBTQ1JPTExVUCBKUw0KCSo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoJJCh3aW5kb3cpLnNjcm9sbChmdW5jdGlvbigpIHsNCgkJaWYgKCQodGhpcykuc2Nyb2xsVG9wKCkgPiAxNTApIHsNCgkJCSQoJy5zY3JvbGx1cCcpLmZhZGVJbigpOw0KCQl9IGVsc2Ugew0KCQkJJCgnLnNjcm9sbHVwJykuZmFkZU91dCgpOw0KCQl9DQoJfSk7DQoJDQoJJCgiLnNjcm9sbHVwIikub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsNCgkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkkKCdodG1sLCBib2R5JykuYW5pbWF0ZSh7DQoJCQlzY3JvbGxUb3A6IDANCgkJfSwgNjAwKTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0pOw0KCQ0KCQ0KCS8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qDQoJMTAuIFBPUFVQIEpTDQoJKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8NCgkkKCcuY29udGVudC1wb3B1cCcpLm1hZ25pZmljUG9wdXAoew0KCQl0eXBlOiAnaW5saW5lJywNCgkJcHJlbG9hZGVyOiB0cnVlLA0KCQltYWluQ2xhc3M6ICdtZnAtem9vbScNCgl9KTsNCgkNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KCTExLiBBTklNQVRJT04gSlMNCgkqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KCSQoZnVuY3Rpb24oKSB7DQoJDQoJCWZ1bmN0aW9uIGNrU2Nyb2xsSW5pdChpdGVtcywgdHJpZ2dlcikgew0KCQkJaXRlbXMuZWFjaChmdW5jdGlvbigpIHsNCgkJCQl2YXIgY2tFbGVtZW50ID0gJCh0aGlzKSwNCgkJCQkJQW5pbWF0aW9uQ2xhc3MgPSBja0VsZW1lbnQuYXR0cignZGF0YS1hbmltYXRpb24nKSwNCgkJCQkJQW5pbWF0aW9uRGVsYXkgPSBja0VsZW1lbnQuYXR0cignZGF0YS1hbmltYXRpb24tZGVsYXknKTsNCgkNCgkJCQlja0VsZW1lbnQuY3NzKHsNCgkJCQkJJy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5JzogQW5pbWF0aW9uRGVsYXksDQoJCQkJCSctbW96LWFuaW1hdGlvbi1kZWxheSc6IEFuaW1hdGlvbkRlbGF5LA0KCQkJCQknYW5pbWF0aW9uLWRlbGF5JzogQW5pbWF0aW9uRGVsYXkNCgkJCQl9KTsNCgkNCgkJCQl2YXIgY2tUcmlnZ2VyID0gKHRyaWdnZXIpID8gdHJpZ2dlciA6IGNrRWxlbWVudDsNCgkNCgkJCQlja1RyaWdnZXIud2F5cG9pbnQoZnVuY3Rpb24oKSB7DQoJCQkJCWNrRWxlbWVudC5hZGRDbGFzcygiYW5pbWF0ZWQiKS5jc3MoInZpc2liaWxpdHkiLCAidmlzaWJsZSIpOw0KCQkJCQlja0VsZW1lbnQuYWRkQ2xhc3MoJ2FuaW1hdGVkJykuYWRkQ2xhc3MoQW5pbWF0aW9uQ2xhc3MpOw0KCQkJCX0sIHsNCgkJCQkJdHJpZ2dlck9uY2U6IHRydWUsDQoJCQkJCW9mZnNldDogJzkwJScNCgkJCQl9KTsNCgkJCX0pOw0KCQl9DQoJDQoJCWNrU2Nyb2xsSW5pdCgkKCcuYW5pbWF0aW9uJykpOw0KCQlja1Njcm9sbEluaXQoJCgnLnN0YWdnZXJlZC1hbmltYXRpb24nKSwgJCgnLnN0YWdnZXJlZC1hbmltYXRpb24td3JhcCcpKTsNCgkNCgl9KTsNCgkNCgkvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kg0KCSAxMi4gU0hPVyBISURFIFBBU1NXT1JEDQoJICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoJJCgnLnRvZ2dsZS1wYXNzd29yZCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KCQkkKHRoaXMpLnRvZ2dsZUNsYXNzKCJpb24tZXllIGlvbi1leWUtZGlzYWJsZWQiKTsNCgkJdmFyIGlucHV0ID0gJCgkKHRoaXMpLmF0dHIoImRhdGEtdG9nZ2xlIikpOw0KCQlpZiAoaW5wdXQuYXR0cigidHlwZSIpID09ICJwYXNzd29yZCIpIHsNCgkJCWlucHV0LmF0dHIoInR5cGUiLCAidGV4dCIpOw0KCQl9IA0KCQllbHNlIHsNCgkJCWlucHV0LmF0dHIoInR5cGUiLCAicGFzc3dvcmQiKTsNCgkJfQ0KCX0pOw0KCQkJDQp9KShqUXVlcnkpOw0KDQo="}},"time_used":149,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":149,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/coingate.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.985Z","timestamp":1785154927985,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/coingate.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:56 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=vymd%2FeITeYj9tMx3tHBxOhKmmTeC%2F7a%2FQ5PoJToCuTivqPszj3m75iwBg17U6EJLeXjH8Ktnyr4rHoiX02soAK3PRWNYJ84sicxcoek8u4LzpESzY3geod2i5Ai11c6HhKwfTU0r83M%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed7fb28a-OSL\r\ncontent-length: 5134\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":5134,"size_decoded":5898,"mime_type":"image/png","magic":"PNG image data, 282 x 156, 8-bit/color RGBA, non-interlaced","md5":"b329bdcd92efd8fe5cec4b706eefe4d1","sha1":"d35bf7d8f7b6180bd465d43367e881c561e3bef1","sha256":"6daba802ce5a4a3e3f56af1ea28c2ee05921e6134742f316022ca6e634d5de27","sha512":"ca40fb62e0bf9f36b57f668946dfb98d77d3562a52083739ae477afadf0f94ca4122abc77d995839c7e29af6c6c779ab762f7aa76e6f944c2f02b6d9fa125332","ssdeep":"96:oSBBpt/WzUc479ESYaHhlAVa3kh+0Na+eLxZOICxdWN28WYk9QieIQ0:oSHDWzOBt7HhO42OZVkxDWBWYEN3","tlshash":"14b18ffb47f0449ee73e106aed45092ec9d367e87da1c0a3a757ba85c18401a3ca4c24","first_seen":"2026-07-27T05:58:00.858806Z","last_seen":"2026-07-27T12:23:18.824808Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.154.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.439Z","timestamp":1785154928439,"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":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus HTTP/1.1\r\nHost: www.google.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://primeelitecapital.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=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nx-robots-tag: noindex,nofollow\r\ncontent-security-policy: object-src 'none';base-uri 'self';script-src 'nonce-StINRF541e2Rxm3KZusa1A' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/geo-maps-api/1\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, must-revalidate\r\ncontent-type: text/html; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 997\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=144\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Google Maps","description":"Google Maps is a web mapping service. It offers satellite imagery, aerial photography, street maps, 360° interactive panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle and air, or public transportation.","website":"https://maps.google.com","common_platform_enumeration":"","icon":"Google Maps.svg","categories":["Maps"]}],"data":{"size":2239,"size_decoded":1714,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (1217)","md5":"1464895bb907adc798ee21a0392fb6ad","sha1":"25c5a6805b728b219738a361f0c378d7f3b69435","sha256":"fdb536359532c7d8e8100ce7155670625059552d0a7f6625aebef39fd3cb96c9","sha512":"3a67844b778ccbbed535364f751d33cdfdd8cc78aabdd46d4be85a7ebce500e7b40c12b3c9cd76deb45a256c0555dc5317980c7b8cd2c37abec59806fe04d44c","ssdeep":"","tlshash":"33414f2909616df3cf421629a9763d463aed41772890cdf434dd6c92df409b33e02aad","first_seen":"2026-07-27T12:22:49.776214Z","last_seen":"2026-07-27T12:22:49.776214Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgaHRtbCwgYm9keSwgI21hcERpdiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxkaXYgaWQ9Im1hcERpdiI+PC9kaXY+CiAgICAgIAogICAgPHNjcmlwdCBub25jZT0iU3RJTlJGNTQxZTJSeG0zS1p1c2ExQSI+CiAgICAgIGZ1bmN0aW9uIG9uRW1iZWRMb2FkKCkgewogICAgICAgIGluaXRFbWJlZChbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFtbWzIsInNwb3RsaXQiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxbbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwxMSxudWxsLFtudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDFdXV1dLG51bGwsbnVsbCxbW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsW1tbIjk4Njg3OTkwNzM4MTE4MTM4NzciLCIxNjU0NTc1NjkwMTAxNTY3MDIiXSwiL2cvMTFubmZ6MnQxbSIsbnVsbCxbMzM3NTkwMzgxLDM0NTEwOTQ3MDVdLG51bGwsbnVsbCxudWxsLDEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsImdjaWQ6c3VicHJlbWlzZSJdLDAsMCxudWxsLG51bGwsMCxudWxsLDBdXV1dLG51bGwsWyJlbiIsInVzIl0sW251bGwsbnVsbCxudWxsLCIvbWFwcy9hcGkvanMvQXBwbGljYXRpb25TZXJ2aWNlLkdldEVudGl0eURldGFpbHMiLCIvbWFwcy9lbWJlZC91cGdyYWRlMjA0IixudWxsLCIvbWFwcy9lbWJlZC9yZWNvcmQyMDQiXSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsImNFMW5hcTZuSGNPOXdQQVA0TVh5NFFnIixudWxsLG51bGwsbnVsbCxbW1szMzE3LjA2MzExODYyNjkzNywtODQuMzg3MjU5MDk5OTk5OTksMzMuNzU5MDM4MV0sWzAsMCwwXSxudWxsLDEzLjEwMDAwMDM4MTQ2OTczXSxudWxsLDAsW1siMHg4OGY1MDQ3ODcyNDFkNWY1OjB4MjRiZDJjODRhNDAwNDllIiwiUGVhY2h0cmVlIFN0LCBBdGxhbnRhLCBHQSAzMDMwMyIsWzMzLjc1OTAzODEsLTg0LjM4NzI1OTA5OTk5OTk5XV0sIlBlYWNodHJlZSBTdCIsWyJBdGxhbnRhLCBHQSAzMDMwMyJdLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIlBlYWNodHJlZSBTdCwgQXRsYW50YSwgR0EgMzAzMDMiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMSxudWxsLG51bGwsIkNoSUo5ZFZCY25nRTlZZ1JuZ1JBU3NqU1N3SSIsbnVsbCxudWxsLCIwYWhVS0V3aXVuNGFyN1BLVkF4WERIaEFJSGVDaVBJd1E4QmNJQWlnQSJdXSxudWxsLG51bGwsbnVsbCwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFsxXV0pOwogICAgICB9CiAgICAgIGZ1bmN0aW9uIG9uQXBpTG9hZCgpIHsKICAgICAgICB2YXIgZW1iZWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBlbWJlZC5zcmMgPSAiaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcHMtYXBpLXYzL2VtYmVkL2pzLzY1LzEwYS9pbml0X2VtYmVkLmpzIjsKICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVtYmVkKTsKICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Imh0dHBzOi8vbWFwcy5nc3RhdGljLmNvbS9tYXBzLWFwaS12My9lbWJlZC9qcy82NS8xMGEvaW5pdF9lbWJlZC5qcyIgbm9uY2U9IlN0SU5SRjU0MWUyUnhtM0tadXNhMUEiIGFzPSJzY3JpcHQiIC8+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT1BSXphU3lDbUwxOG1pc1F3OUtkd3FHYXczekhraXRqOHZHNlFGMlkmYW1wO3BhaW50X29yaWdpbj0mYW1wO2xpYnJhcmllcz1nZW9tZXRyeSxzZWFyY2gmYW1wO3Y9d2Vla2x5JmFtcDtsb2FkaW5nPWFzeW5jJmFtcDtsYW5ndWFnZT1lbiZhbXA7cmVnaW9uPXVzJmFtcDtleHBlcmltZW50YXRpb249YWxsb3dlZCZhbXA7Y2FsbGJhY2s9b25BcGlMb2FkIiBub25jZT0iU3RJTlJGNTQxZTJSeG0zS1p1c2ExQSIgYXN5bmMgZGVmZXI+PC9zY3JpcHQ+CiAgPC9ib2R5Pgo8L2h0bWw+Cg=="}},"time_used":181,"timings":{"blocked":-1,"dns":2,"connect":25,"send":0,"wait":154,"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":"fetch","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:18.954Z","timestamp":1785154938954,"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\nReferer: https://primeelitecapital.com/\r\nX-Goog-AuthUser: 0\r\nContent-Encoding: gzip\r\nContent-Type: application/binary\r\nContent-Length: 299\r\nOrigin: https://primeelitecapital.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":"POST","post_data":{"size":425,"data":"\u001f\b\u0000\u0000\u0000\u0000\u0000\u0000\u0003ÝTÁn\u0002!\u0010ý\u0017Î»\u0001v\u0001®û\u0007½±dC(\t²\u001b¥=ôë\u000b[5jµí±-!/\f\u003cx\u00033RP\u0017ï\fêÞ$²\u0001\u001dGÏmO0©1'\u0004]nc\u0005ÖZ\u0017 8\u0014J\u0001\u0017\u0015TL\u0012!øF\u0011Ýü÷Ð¡0tè\u00178òÇ %t¢MO×!N\u0017.0-1ç¬dË\nJÙ\u0000/±¤\ri\u001aÞ6-$¢êÐ6Æñ0ÍÆ½ÛYë]´+3ºhüÓjØÂx­s¿\u0010L2¯nc¢\u001bÂ$»¥gZî\u0013\u000bðÔN\u0026!×v]m\u000bx´þáÃß°(?Ë@M$+ \t\u0005\bY§Ï\u003c{\u0013\u000eÞD;\u001fÍÆö~0ë\u003e\u000e½\u000b.:ãÝ]ç«Ü\u001eÞQzíÎí2_?\u0015\u0016ü8hKÃ±\u0026P!+Ðïp¯ïy\u0004\u0000\u0000"}},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://primeelitecapital.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 12:22:19 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":582,"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-08-11T11:50:15.518664Z","times_seen":586698,"resource_available":false,"data":"WyItMSIsbnVsbCxbW1siQU5EUk9JRF9CQUNLVVAiLDBdLFsiQkFUVEVSWV9TVEFUUyIsMF0sWyJTTUFSVF9TRVRVUCIsMF0sWyJUUk9OIiwwXV0sLTMzMzQ3Mzc1OTQwMjQ5NzEyMjVdLFtdLHsiMTc1MjM3Mzc1IjpbMTAwMDBdfV0="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/Chart.PieceLabel.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.941Z","timestamp":1785154927941,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/Chart.PieceLabel.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:40 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=yinitTQJqOJNSovQV3E%2BQtALVly%2FO%2FTk7zYfARSWNEdSKJRAM8yPJ0vz9E0MShIDDGSrK5CBKnBXGFRPjoWLOAeZmCb6MbYvd3FRdEeGo6I7gfQviVPcOXZyQwxxfQsnUfzaz4HR8z4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9bad65b28a-OSL\r\ncontent-length: 1916\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4910,"size_decoded":2689,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (540)","md5":"45de61544771d6e30dc86258e0c43042","sha1":"98fd98a9e4b1b7b8ab852d24505aadcf7fdb25d2","sha256":"f67c4bf9ecb3e781b1815024d9c085950ec7539b80cb73b52e6f4af94984dec0","sha512":"cf0ca77135b528b444422d247e33aac7abdb2554b853fc77e2fe97f7335916fc4ca21c6eb8cee82810183cdc84c923ac94d181dcd4369110d25c46231a260df0","ssdeep":"96:F/4OJPZcdefrbZeoMsulKUkfRJWHajP65T:N4ZAYo/uoWi65T","tlshash":"1ca1d70d32b87066c46365a4718f018e5633bbadaa42ad6cb674d7f15dd484a30ffb70","first_seen":"2023-03-13T14:09:52Z","last_seen":"2026-08-02T02:46:50.143728Z","times_seen":18,"resource_available":true,"data":"LyoqCiAqIFtDaGFydC5QaWVjZUxhYmVsLmpzXXtAbGluayBodHRwczovL2dpdGh1Yi5jb20vZW1uMTc4L0NoYXJ0LlBpZWNlTGFiZWwuanN9CiAqCiAqIEB2ZXJzaW9uIDAuOS4wCiAqIEBhdXRob3IgQ2hlbiwgWWktQ3l1YW4gW2VtbjE3OEBnbWFpbC5jb21dCiAqIEBjb3B5cmlnaHQgQ2hlbiwgWWktQ3l1YW4gMjAxNwogKiBAbGljZW5zZSBNSVQKICovCihmdW5jdGlvbigpe2Z1bmN0aW9uIGMoKXt0aGlzLmRyYXdEYXRhc2V0PXRoaXMuZHJhd0RhdGFzZXQuYmluZCh0aGlzKX0idW5kZWZpbmVkIj09PXR5cGVvZiBDaGFydD9jb25zb2xlLndhcm4oIkNhbiBub3QgZmluZCBDaGFydCBvYmplY3QuIik6KGMucHJvdG90eXBlLmJlZm9yZURhdGFzZXRzVXBkYXRlPWZ1bmN0aW9uKGEpe2lmKHRoaXMucGFyc2VPcHRpb25zKGEpJiYib3V0c2lkZSI9PT10aGlzLnBvc2l0aW9uKXt2YXIgYj0xLjUqdGhpcy5mb250U2l6ZSsyO2EuY2hhcnRBcmVhLnRvcCs9YjthLmNoYXJ0QXJlYS5ib3R0b20tPWJ9fSxjLnByb3RvdHlwZS5hZnRlckRhdGFzZXRzRHJhdz1mdW5jdGlvbihhKXt0aGlzLnBhcnNlT3B0aW9ucyhhKSYmKHRoaXMubGFiZWxCb3VuZHM9W10sYS5jb25maWcuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKHRoaXMuZHJhd0RhdGFzZXQpKX0sYy5wcm90b3R5cGUuZHJhd0RhdGFzZXQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMuY3R4LHA9dGhpcy5jaGFydEluc3RhbmNlLApsPWEuX21ldGFbT2JqZWN0LmtleXMoYS5fbWV0YSlbMF1dLGg9MCxmPTA7ZjxsLmRhdGEubGVuZ3RoO2YrKyl7dmFyIGc9bC5kYXRhW2ZdLGQ9Zy5fdmlldztpZigwIT09ZC5jaXJjdW1mZXJlbmNlfHx0aGlzLnNob3daZXJvKXtzd2l0Y2godGhpcy5yZW5kZXIpe2Nhc2UgInZhbHVlIjp2YXIgZT1hLmRhdGFbZl07dGhpcy5mb3JtYXQmJihlPXRoaXMuZm9ybWF0KGUpKTtlPWUudG9TdHJpbmcoKTticmVhaztjYXNlICJsYWJlbCI6ZT1wLmNvbmZpZy5kYXRhLmxhYmVsc1tmXTticmVhaztjYXNlICJpbWFnZSI6ZT10aGlzLmltYWdlc1tmXT90aGlzLmxvYWRJbWFnZSh0aGlzLmltYWdlc1tmXSk6IiI7YnJlYWs7ZGVmYXVsdDp2YXIgcT1kLmNpcmN1bWZlcmVuY2UvdGhpcy5vcHRpb25zLmNpcmN1bWZlcmVuY2UqMTAwO3E9cGFyc2VGbG9hdChxLnRvRml4ZWQodGhpcy5wcmVjaXNpb24pKTt0aGlzLnNob3dBY3R1YWxQZXJjZW50YWdlc3x8KGgrPXEsMTAwPGgmJihxLT1oLTEwMCxxPXBhcnNlRmxvYXQocS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKSkpKTsKZT1xKyIlIn0iZnVuY3Rpb24iPT09dHlwZW9mIHRoaXMucmVuZGVyJiYoZT10aGlzLnJlbmRlcih7bGFiZWw6cC5jb25maWcuZGF0YS5sYWJlbHNbZl0sdmFsdWU6YS5kYXRhW2ZdLHBlcmNlbnRhZ2U6cSxkYXRhc2V0OmEsaW5kZXg6Zn0pLCJvYmplY3QiPT09dHlwZW9mIGUmJihlPXRoaXMubG9hZEltYWdlKGUpKSk7aWYoIWUpYnJlYWs7Yi5zYXZlKCk7Yi5iZWdpblBhdGgoKTtiLmZvbnQ9Q2hhcnQuaGVscGVycy5mb250U3RyaW5nKHRoaXMuZm9udFNpemUsdGhpcy5mb250U3R5bGUsdGhpcy5mb250RmFtaWx5KTtpZigib3V0c2lkZSI9PT10aGlzLnBvc2l0aW9ufHwiYm9yZGVyIj09PXRoaXMucG9zaXRpb24mJiJwaWUiPT09cC5jb25maWcudHlwZSl7dmFyIGs9ZC5vdXRlclJhZGl1cy8yO3ZhciBjLG09dGhpcy5mb250U2l6ZSsyO3ZhciBuPWQuc3RhcnRBbmdsZSsoZC5lbmRBbmdsZS1kLnN0YXJ0QW5nbGUpLzI7ImJvcmRlciI9PT10aGlzLnBvc2l0aW9uP2M9KGQub3V0ZXJSYWRpdXMtCmspLzIrazoib3V0c2lkZSI9PT10aGlzLnBvc2l0aW9uJiYoYz1kLm91dGVyUmFkaXVzLWsrayttKTtuPXt4OmQueCtNYXRoLmNvcyhuKSpjLHk6ZC55K01hdGguc2luKG4pKmN9O2lmKCJvdXRzaWRlIj09PXRoaXMucG9zaXRpb24pe24ueD1uLng8ZC54P24ueC1tOm4ueCttO3ZhciByPWQub3V0ZXJSYWRpdXMrbX19ZWxzZSBrPWQuaW5uZXJSYWRpdXMsbj1nLnRvb2x0aXBQb3NpdGlvbigpO209dGhpcy5mb250Q29sb3I7ImZ1bmN0aW9uIj09PXR5cGVvZiBtP209bSh7bGFiZWw6cC5jb25maWcuZGF0YS5sYWJlbHNbZl0sdmFsdWU6YS5kYXRhW2ZdLHBlcmNlbnRhZ2U6cSx0ZXh0OmUsYmFja2dyb3VuZENvbG9yOmEuYmFja2dyb3VuZENvbG9yW2ZdLGRhdGFzZXQ6YSxpbmRleDpmfSk6InN0cmluZyIhPT10eXBlb2YgbSYmKG09bVtmXXx8dGhpcy5vcHRpb25zLmRlZmF1bHRGb250Q29sb3IpO2lmKHRoaXMuYXJjKXJ8fChyPShrK2Qub3V0ZXJSYWRpdXMpLzIpLGIuZmlsbFN0eWxlPQptLGIudGV4dEJhc2VsaW5lPSJtaWRkbGUiLHRoaXMuZHJhd0FyY1RleHQoZSxyLGQsdGhpcy5vdmVybGFwKTtlbHNle2s9dGhpcy5tZWFzdXJlVGV4dChlKTtkPW4ueC1rLndpZHRoLzI7az1uLngray53aWR0aC8yO3ZhciB0PW4ueS10aGlzLmZvbnRTaXplLzIsdT1uLnkrdGhpcy5mb250U2l6ZS8yOyh0aGlzLm92ZXJsYXB8fCgib3V0c2lkZSI9PT10aGlzLnBvc2l0aW9uP3RoaXMuY2hlY2tUZXh0Qm91bmQoZCxrLHQsdSk6Zy5pblJhbmdlKGQsdCkmJmcuaW5SYW5nZShkLHUpJiZnLmluUmFuZ2Uoayx0KSYmZy5pblJhbmdlKGssdSkpKSYmdGhpcy5maWxsVGV4dChlLG4sbSl9Yi5yZXN0b3JlKCl9fX0sYy5wcm90b3R5cGUucGFyc2VPcHRpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPWEub3B0aW9ucy5waWVjZUxhYmVsO3JldHVybiBiPyh0aGlzLmNoYXJ0SW5zdGFuY2U9YSx0aGlzLmN0eD1hLmNoYXJ0LmN0eCx0aGlzLm9wdGlvbnM9YS5jb25maWcub3B0aW9ucyx0aGlzLnJlbmRlcj0KYi5yZW5kZXJ8fGIubW9kZSx0aGlzLnBvc2l0aW9uPWIucG9zaXRpb258fCJkZWZhdWx0Iix0aGlzLmFyYz1iLmFyYyx0aGlzLmZvcm1hdD1iLmZvcm1hdCx0aGlzLnByZWNpc2lvbj1iLnByZWNpc2lvbnx8MCx0aGlzLmZvbnRTaXplPWIuZm9udFNpemV8fHRoaXMub3B0aW9ucy5kZWZhdWx0Rm9udFNpemUsdGhpcy5mb250Q29sb3I9Yi5mb250Q29sb3J8fHRoaXMub3B0aW9ucy5kZWZhdWx0Rm9udENvbG9yLHRoaXMuZm9udFN0eWxlPWIuZm9udFN0eWxlfHx0aGlzLm9wdGlvbnMuZGVmYXVsdEZvbnRTdHlsZSx0aGlzLmZvbnRGYW1pbHk9Yi5mb250RmFtaWx5fHx0aGlzLm9wdGlvbnMuZGVmYXVsdEZvbnRGYW1pbHksdGhpcy5oYXNUb29sdGlwPWEudG9vbHRpcC5fYWN0aXZlJiZhLnRvb2x0aXAuX2FjdGl2ZS5sZW5ndGgsdGhpcy5zaG93WmVybz1iLnNob3daZXJvLHRoaXMub3ZlcmxhcD1iLm92ZXJsYXAsdGhpcy5pbWFnZXM9Yi5pbWFnZXN8fFtdLHRoaXMuc2hvd0FjdHVhbFBlcmNlbnRhZ2VzPQpiLnNob3dBY3R1YWxQZXJjZW50YWdlc3x8ITEsITApOiExfSxjLnByb3RvdHlwZS5jaGVja1RleHRCb3VuZD1mdW5jdGlvbihhLGIscCxsKXtmb3IodmFyIGg9dGhpcy5sYWJlbEJvdW5kcyxmPTA7ZjxoLmxlbmd0aDsrK2Ype2Zvcih2YXIgZz1oW2ZdLGQ9W1thLHBdLFthLGxdLFtiLHBdLFtiLGxdXSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBjPWRbZV1bMF0saz1kW2VdWzFdO2lmKGM+PWcubGVmdCYmYzw9Zy5yaWdodCYmaz49Zy50b3AmJms8PWcuYm90dG9tKXJldHVybiExfWQ9W1tnLmxlZnQsZy50b3BdLFtnLmxlZnQsZy5ib3R0b21dLFtnLnJpZ2h0LGcudG9wXSxbZy5yaWdodCxnLmJvdHRvbV1dO2ZvcihlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoYz1kW2VdWzBdLGs9ZFtlXVsxXSxjPj1hJiZjPD1iJiZrPj1wJiZrPD1sKXJldHVybiExfWgucHVzaCh7bGVmdDphLHJpZ2h0OmIsdG9wOnAsYm90dG9tOmx9KTtyZXR1cm4hMH0sYy5wcm90b3R5cGUubWVhc3VyZVRleHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIm9iamVjdCI9PT0KdHlwZW9mIGE/e3dpZHRoOmEud2lkdGgsaGVpZ2h0OmEuaGVpZ2h0fTp0aGlzLmN0eC5tZWFzdXJlVGV4dChhKX0sYy5wcm90b3R5cGUuZmlsbFRleHQ9ZnVuY3Rpb24oYSxiLHApe3ZhciBjPXRoaXMuY3R4OyJvYmplY3QiPT09dHlwZW9mIGE/Yy5kcmF3SW1hZ2UoYSxiLngtYS53aWR0aC8yLGIueS1hLmhlaWdodC8yLGEud2lkdGgsYS5oZWlnaHQpOihjLmZpbGxTdHlsZT1wLGMudGV4dEJhc2VsaW5lPSJ0b3AiLGMudGV4dEFsaWduPSJjZW50ZXIiLGMuZmlsbFRleHQoYSxiLngsYi55LXRoaXMuZm9udFNpemUvMikpfSxjLnByb3RvdHlwZS5sb2FkSW1hZ2U9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEltYWdlO2Iuc3JjPWEuc3JjO2Iud2lkdGg9YS53aWR0aDtiLmhlaWdodD1hLmhlaWdodDtyZXR1cm4gYn0sYy5wcm90b3R5cGUuZHJhd0FyY1RleHQ9ZnVuY3Rpb24oYSxiLGMsbCl7dmFyIGg9dGhpcy5jdHgsZj1jLngsZz1jLnksZD1jLnN0YXJ0QW5nbGU7Yz1jLmVuZEFuZ2xlO2guc2F2ZSgpOwpoLnRyYW5zbGF0ZShmLGcpO2c9Yy1kO2QrPU1hdGguUEkvMjtjKz1NYXRoLlBJLzI7dmFyIGU9ZDtmPXRoaXMubWVhc3VyZVRleHQoYSk7ZCs9KGMtKGYud2lkdGgvYitkKSkvMjtpZihsfHwhKGMtZD5nKSlpZigic3RyaW5nIj09PXR5cGVvZiBhKWZvcihoLnJvdGF0ZShkKSxsPTA7bDxhLmxlbmd0aDtsKyspZD1hLmNoYXJBdChsKSxmPWgubWVhc3VyZVRleHQoZCksaC5zYXZlKCksaC50cmFuc2xhdGUoMCwtMSpiKSxoLmZpbGxUZXh0KGQsMCwwKSxoLnJlc3RvcmUoKSxoLnJvdGF0ZShmLndpZHRoL2IpO2Vsc2UgaC5yb3RhdGUoKGUrYykvMiksaC50cmFuc2xhdGUoMCwtMSpiKSx0aGlzLmZpbGxUZXh0KGEse3g6MCx5OjB9KTtoLnJlc3RvcmUoKX0sQ2hhcnQucGx1Z2luU2VydmljZS5yZWdpc3Rlcih7YmVmb3JlSW5pdDpmdW5jdGlvbihhKXthLnBpZWNlTGFiZWw9bmV3IGN9LGJlZm9yZURhdGFzZXRzVXBkYXRlOmZ1bmN0aW9uKGEpe2EucGllY2VMYWJlbC5iZWZvcmVEYXRhc2V0c1VwZGF0ZShhKX0sCmFmdGVyRGF0YXNldHNEcmF3OmZ1bmN0aW9uKGEpe2EucGllY2VMYWJlbC5hZnRlckRhdGFzZXRzRHJhdyhhKX19KSl9KSgpOwo="}},"time_used":149,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":149,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white5.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.995Z","timestamp":1785154927995,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white5.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=UehUWDAKTQ7moR1iOK%2Fwf8D9pOjeVEcOJa%2F7OlZG%2BmHyDEnNwlFl%2BjGL05ClhwDhIzg31c7vu3PIUfzqt011YJY2rcIQup8X5nu2qVXZvLGldkYp7Fw6es5IwMIShn6uyy7QDyzyjCA%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd88b28a-OSL\r\ncontent-length: 4424\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":4424,"size_decoded":5190,"mime_type":"image/png","magic":"PNG image data, 162 x 46, 8-bit/color RGBA, non-interlaced","md5":"80f122ef07fada7550595d05fcf07125","sha1":"b8abd0fd7df0a1bdb88d8f3a5b5323bc14757aa1","sha256":"1621dbccc3b70a0226edbfe080244efabbe54bea38fe73783d8e5d534a86b92e","sha512":"bd50f71ad4ddd348ae10452f168beb712e8f41e85738b4ce1596e3514ff15aebcb71497aa21a6719113a415d728bb4d22c22bcda9543b0009f304a33b1d79821","ssdeep":"96:M29DwSWGGDbTrCws8eQvUqicx9Y41Hj4LL3oQEa3dSdtypn:Ov/vU/cx9PHELL4ywHypn","tlshash":"29916c8af18abb81eecfcd8048aa5184671345f08f74f9097ceac85129702e4da7b4d7","first_seen":"2026-07-27T05:58:00.778223Z","last_seen":"2026-07-27T12:23:18.83962Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKIAAAAuCAYAAACrgMK4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExMzc3Q0E5NzQ4MTExRThCQTYzODVGQkQyNkE0ODZEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExMzc3Q0FBNzQ4MTExRThCQTYzODVGQkQyNkE0ODZEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTEzNzdDQTc3NDgxMTFFOEJBNjM4NUZCRDI2QTQ4NkQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTEzNzdDQTg3NDgxMTFFOEJBNjM4NUZCRDI2QTQ4NkQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5+zG+6AAANvklEQVR42uyd+XOV1RnH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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo3.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.008Z","timestamp":1785154928008,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo3.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=InXSRV6D9qC8Xh%2F6jsUs4id4wF%2BJASZg0bLN0aWpvY3v2%2FN%2BCxjeajQOy5D2KqtR%2BSoB8LxFw%2B3SYFCmoPEtK%2BEf%2BmM4yzwq7jNpBenulSwCWjeCRHGcWTg3ru9jGpab9uwTFy%2BZgqI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d94b28a-OSL\r\ncontent-length: 2995\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2995,"size_decoded":3771,"mime_type":"image/png","magic":"PNG image data, 152 x 43, 8-bit/color RGBA, non-interlaced","md5":"fc3191a08ff077d3f6b2220e33cff86b","sha1":"e84a34f6967c774f17f6ea298b3db1de40ad8e0d","sha256":"0127502ec5cd0327776e6ce279fdbed1097e430619294393d6f15c57b8310879","sha512":"699b117f0f0ea125ad192d080b28d04aa6fa563be92f46dcf192d95fd3c4d85264d06ca13ffd0b1123d061d237aa81656c0107a2832568aa14f6a3436ac83761","ssdeep":"","tlshash":"3c511987f645a440b188a3c530fa310e5913d844e15de2f27dc6b5114d731e24eb31e3","first_seen":"2026-07-27T05:58:00.7644Z","last_seen":"2026-07-27T12:23:18.771022Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJgAAAArCAYAAACEnEH6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ2NDAxMzU4M0NBMjExRThCMUFFOENBNzU3NDRFRkY4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ2NDAxMzU5M0NBMjExRThCMUFFOENBNzU3NDRFRkY4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDY0MDEzNTYzQ0EyMTFFOEIxQUU4Q0E3NTc0NEVGRjgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDY0MDEzNTczQ0EyMTFFOEIxQUU4Q0E3NTc0NEVGRjgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5NwimNAAAIKUlEQVR42uxcXXKjOBBW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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo6.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.010Z","timestamp":1785154928010,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo6.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=62vNyqr9AhW7XdSPZcn4qmUyMKzzShQ4%2B%2FOEEXkhxjY4lJfOZiDeI0AjYbqAijKZBskHRwQpiLk5N%2B9NhxoFATWH5mGc8bjJEeeKjxurKuP3AAPzh8Cg6LQPX1D5v8rk3fcxz7rWJMg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c1d96b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 3014\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":3014,"size_decoded":3778,"mime_type":"image/png","magic":"PNG image data, 163 x 49, 8-bit/color RGBA, non-interlaced","md5":"6caa0077dc403224da077156076bd17a","sha1":"2b7a886bc70985d80b565ea417829da5ea1b3f5d","sha256":"d49f2af5be11e2a75681e0995a613dd1d9f2839004629f54e3898f1c44184274","sha512":"dd5b8926dceb434c9c18e4801a0e5920f769e7dead5cbe7b8aa023d5dcb07ec513554b1df308bffddcb9dc7d12d430c276410acc373d83ef4812a402b5ac272b","ssdeep":"","tlshash":"8651290cbed4740161eadda168cbf41fcc765983abe4a16561edc4098ff86f8842f1c6","first_seen":"2026-07-27T05:58:00.824287Z","last_seen":"2026-07-27T12:23:18.806597Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAKMAAAAxCAYAAAC2whnIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY1NUUzQUJDM0NBMjExRTg4ODYxODUyRjE3QUVFODRBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY1NUUzQUJEM0NBMjExRTg4ODYxODUyRjE3QUVFODRBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjU1RTNBQkEzQ0EyMTFFODg4NjE4NTJGMTdBRUU4NEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjU1RTNBQkIzQ0EyMTFFODg4NjE4NTJGMTdBRUU4NEEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6j6jqUAAAIPElEQVR42uxdvXLjNhCG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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:15.493Z","timestamp":1785154935493,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://primeelitecapital.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 12:22:18 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a670743-891\"\r\nexpires: Mon, 27 Jul 2026 07:32:27 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: k75qR/+5oU9/BrP0YP1CyflY4RpvheihyJ/N7Q0nHSXOKXk/yhN+i02rEJcZz151mb8tic8\r\nx-77-nzt-ray: fdb541238e1c8e7f7a4d676ab2f9412d\r\nx-77-cache: HIT\r\nx-77-age: 3\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1028,"mime_type":"application/json","magic":"JSON text data","md5":"ac973fd16446a8bd414c2cfdbfbdd6ba","sha1":"6d802991373d8180ad7c4197d08c2e8d8e21d581","sha256":"8c973dd5712d4b0125d2be8cc65e3590298e054fb63560738ecf0f64b8e43277","sha512":"9748bc4696f6ec983d5dbd492e36472b1e083d2e61c3a60133b102a8370f7603b54bfe88360c24035fe882d5c30f0a52eb253ae2d0d460d384d72f9f3b188d79","ssdeep":"","tlshash":"c3417893c0f80d531b9c6627b8855a415d50c3c3a8993e0e72ad8a7f2f4ceb910e67bc","first_seen":"2026-07-27T07:28:16.144753Z","last_seen":"2026-07-29T06:17:50.081451Z","times_seen":1033,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLWtiMXlxSGFBLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQta2IxeXFIYUEuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLWtiMXlxSGFBLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLWtiMXlxSGFBLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1ESHI1dUh3ZC5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1CQTFqY0hudS5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQta2IxeXFIYUEuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LURIcjV1SHdkLmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tQi1WSGMxSzQuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1rYjF5cUhhQS5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":3271,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3252},"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://primeelitecapital.com/","date":"2026-07-27T12:22:18.822Z","timestamp":1785154938822,"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://primeelitecapital.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 12:22:18 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: k7E8baOyuVfqW1WgnQvi6tjj3LjcLreKW6H1OMsytQN8cGiXVzYEUCYBkj309kURLN9zQOU\r\nx-77-nzt-ray: fdb541238e1c8e7f7a4d676ae1343431\r\nx-77-cache: HIT\r\nx-77-age: 1741895\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-08-11T05:40:15.04138Z","times_seen":3366,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Poppins:100,200,300,400,500,600,700,800,900","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.900Z","timestamp":1785154927900,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Poppins:100,200,300,400,500,600,700,800,900 HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://primeelitecapital.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 12:22:07 GMT\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":10199,"size_decoded":1334,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"64c0fe7341f46264ac0b97d4a6f7f66d","sha1":"4082045bc616fe74e7298b864d90c0f9fe17aac3","sha256":"b0f34871a77f4f7db42fdce334ceacc31bab31b0e31d67b3a2d60e72f460baf2","sha512":"b45ebf6624526ac85915e39b9f2e492db7ff128d4df4c8fbe22b218bd9a9bebb30fd9a685644db5c372d4bc1952f7ae91298aca19365cbb6968fca708c0293bd","ssdeep":"192:+7s7Ol71FaU/jH/dCKSe1rV3HwwVzzbtwpOgoaBk:+QCx","tlshash":"b7229cd2083be51467831cc212ce7d36ef4ea284b450a575abfe0c9cada7c69537272d","first_seen":"2025-09-19T06:33:42.415377Z","last_seen":"2026-08-11T08:15:41.371503Z","times_seen":1124,"resource_available":false,"data":"LyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlHeXA4a3Y4SkhnRlZyTFBUdWNYdEFLUFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckxQVHVmbnRBS1BZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckxQVHVjSHRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEZqX1oxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMRmpfWjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEZqX1oxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxEejhaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTER6OFoxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxEejhaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUV5cDhrdjhKSGdGVnJKSmJlY21ORS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpuZWNtTkUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpmZWNnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMR1Q5WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEVqNloxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjExbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxDejdaMUpsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjF4bEZRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTERENFoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMREQ0WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTERENFoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxCVDVaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEJUNVoxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxCVDVaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":83,"timings":{"blocked":-1,"dns":3,"connect":15,"send":0,"wait":34,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/waypoints.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.934Z","timestamp":1785154927934,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/waypoints.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BS0QJ1V0HrWIFdrTvBgzdRxlM2wOTibGjl9Vw5YizCb4qNKFpoKJuYPN%2FoLsCE%2B36x4YEiHLcRsDMbaz3kGj5mIbIj0IGY9OF7DH6it9XP57orpyaHiKxBIm3Cw%2Fnd%2BZtA2vbkuua1A%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d5eb28a-OSL\r\ncontent-length: 2469\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8051,"size_decoded":3246,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (7808), with CRLF line terminators","md5":"4fe14337a62d710389f42e8a5d1043f7","sha1":"5f3e0f34b6d7460c5f160db4fe568cde29f3ffa5","sha256":"069b3ff0c0e6c33e08368f94906ae49ec76ab1ed570819c768148ced15b138bf","sha512":"1640c47e1fec258203fdc02be6722ecb46f941bc9deace00cd4efb9a90203c09562cb43b7284d7dd9b4a4d3975a96130d0c214d73de567d8f88487487d88491f","ssdeep":"96:fdBvpnG3nnRh+1pRVKmHyjyYfAPiQc954LT4KN/WzdBUVKdBJEdfdpu531v8L7:f5G3nC19KWssPVpX4KN/eU8Ju4e/","tlshash":"94f1fac9b4c7b4221befa0b5d43f060bb33a9d4561098068f194e4da3db4a6da567f38","first_seen":"2023-03-07T01:41:57Z","last_seen":"2026-08-10T10:03:22.664196Z","times_seen":6382,"resource_available":true,"data":"Ly8gR2VuZXJhdGVkIGJ5IENvZmZlZVNjcmlwdCAxLjYuMg0KLyoNCmpRdWVyeSBXYXlwb2ludHMgLSB2Mi4wLjMNCkNvcHlyaWdodCAoYykgMjAxMS0yMDEzIENhbGViIFRyb3VnaHRvbg0KRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgYW5kIEdQTCBsaWNlbnNlLg0KaHR0cHM6Ly9naXRodWIuY29tL2ltYWtld2VidGhpbmdzL2pxdWVyeS13YXlwb2ludHMvYmxvYi9tYXN0ZXIvbGljZW5zZXMudHh0DQoqLw0KKGZ1bmN0aW9uKCl7dmFyIHQ9W10uaW5kZXhPZnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj10aGlzLmxlbmd0aDtlPG47ZSsrKXtpZihlIGluIHRoaXMmJnRoaXNbZV09PT10KXJldHVybiBlfXJldHVybi0xfSxlPVtdLnNsaWNlOyhmdW5jdGlvbih0LGUpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kKXtyZXR1cm4gZGVmaW5lKCJ3YXlwb2ludHMiLFsianF1ZXJ5Il0sZnVuY3Rpb24obil7cmV0dXJuIGUobix0KX0pfWVsc2V7cmV0dXJuIGUodC5qUXVlcnksdCl9fSkodGhpcyxmdW5jdGlvbihuLHIpe3ZhciBpLG8sbCxzLGYsdSxhLGMsaCxkLHAseSx2LHcsZyxtO2k9bihyKTtjPXQuY2FsbChyLCJvbnRvdWNoc3RhcnQiKT49MDtzPXtob3Jpem9udGFsOnt9LHZlcnRpY2FsOnt9fTtmPTE7YT17fTt1PSJ3YXlwb2ludHMtY29udGV4dC1pZCI7cD0icmVzaXplLndheXBvaW50cyI7eT0ic2Nyb2xsLndheXBvaW50cyI7dj0xO3c9IndheXBvaW50cy13YXlwb2ludC1pZHMiO2c9IndheXBvaW50IjttPSJ3YXlwb2ludHMiO289ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy4kZWxlbWVudD10O3RoaXMuZWxlbWVudD10WzBdO3RoaXMuZGlkUmVzaXplPWZhbHNlO3RoaXMuZGlkU2Nyb2xsPWZhbHNlO3RoaXMuaWQ9ImNvbnRleHQiK2YrKzt0aGlzLm9sZFNjcm9sbD17eDp0LnNjcm9sbExlZnQoKSx5OnQuc2Nyb2xsVG9wKCl9O3RoaXMud2F5cG9pbnRzPXtob3Jpem9udGFsOnt9LHZlcnRpY2FsOnt9fTt0LmRhdGEodSx0aGlzLmlkKTthW3RoaXMuaWRdPXRoaXM7dC5iaW5kKHksZnVuY3Rpb24oKXt2YXIgdDtpZighKGUuZGlkU2Nyb2xsfHxjKSl7ZS5kaWRTY3JvbGw9dHJ1ZTt0PWZ1bmN0aW9uKCl7ZS5kb1Njcm9sbCgpO3JldHVybiBlLmRpZFNjcm9sbD1mYWxzZX07cmV0dXJuIHIuc2V0VGltZW91dCh0LG5bbV0uc2V0dGluZ3Muc2Nyb2xsVGhyb3R0bGUpfX0pO3QuYmluZChwLGZ1bmN0aW9uKCl7dmFyIHQ7aWYoIWUuZGlkUmVzaXplKXtlLmRpZFJlc2l6ZT10cnVlO3Q9ZnVuY3Rpb24oKXtuW21dKCJyZWZyZXNoIik7cmV0dXJuIGUuZGlkUmVzaXplPWZhbHNlfTtyZXR1cm4gci5zZXRUaW1lb3V0KHQsblttXS5zZXR0aW5ncy5yZXNpemVUaHJvdHRsZSl9fSl9dC5wcm90b3R5cGUuZG9TY3JvbGw9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXM7dD17aG9yaXpvbnRhbDp7bmV3U2Nyb2xsOnRoaXMuJGVsZW1lbnQuc2Nyb2xsTGVmdCgpLG9sZFNjcm9sbDp0aGlzLm9sZFNjcm9sbC54LGZvcndhcmQ6InJpZ2h0IixiYWNrd2FyZDoibGVmdCJ9LHZlcnRpY2FsOntuZXdTY3JvbGw6dGhpcy4kZWxlbWVudC5zY3JvbGxUb3AoKSxvbGRTY3JvbGw6dGhpcy5vbGRTY3JvbGwueSxmb3J3YXJkOiJkb3duIixiYWNrd2FyZDoidXAifX07aWYoYyYmKCF0LnZlcnRpY2FsLm9sZFNjcm9sbHx8IXQudmVydGljYWwubmV3U2Nyb2xsKSl7blttXSgicmVmcmVzaCIpfW4uZWFjaCh0LGZ1bmN0aW9uKHQscil7dmFyIGksbyxsO2w9W107bz1yLm5ld1Njcm9sbD5yLm9sZFNjcm9sbDtpPW8/ci5mb3J3YXJkOnIuYmFja3dhcmQ7bi5lYWNoKGUud2F5cG9pbnRzW3RdLGZ1bmN0aW9uKHQsZSl7dmFyIG4saTtpZihyLm9sZFNjcm9sbDwobj1lLm9mZnNldCkmJm48PXIubmV3U2Nyb2xsKXtyZXR1cm4gbC5wdXNoKGUpfWVsc2UgaWYoci5uZXdTY3JvbGw8KGk9ZS5vZmZzZXQpJiZpPD1yLm9sZFNjcm9sbCl7cmV0dXJuIGwucHVzaChlKX19KTtsLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5vZmZzZXQtZS5vZmZzZXR9KTtpZighbyl7bC5yZXZlcnNlKCl9cmV0dXJuIG4uZWFjaChsLGZ1bmN0aW9uKHQsZSl7aWYoZS5vcHRpb25zLmNvbnRpbnVvdXN8fHQ9PT1sLmxlbmd0aC0xKXtyZXR1cm4gZS50cmlnZ2VyKFtpXSl9fSl9KTtyZXR1cm4gdGhpcy5vbGRTY3JvbGw9e3g6dC5ob3Jpem9udGFsLm5ld1Njcm9sbCx5OnQudmVydGljYWwubmV3U2Nyb2xsfX07dC5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3ZhciB0LGUscixpPXRoaXM7cj1uLmlzV2luZG93KHRoaXMuZWxlbWVudCk7ZT10aGlzLiRlbGVtZW50Lm9mZnNldCgpO3RoaXMuZG9TY3JvbGwoKTt0PXtob3Jpem9udGFsOntjb250ZXh0T2Zmc2V0OnI/MDplLmxlZnQsY29udGV4dFNjcm9sbDpyPzA6dGhpcy5vbGRTY3JvbGwueCxjb250ZXh0RGltZW5zaW9uOnRoaXMuJGVsZW1lbnQud2lkdGgoKSxvbGRTY3JvbGw6dGhpcy5vbGRTY3JvbGwueCxmb3J3YXJkOiJyaWdodCIsYmFja3dhcmQ6ImxlZnQiLG9mZnNldFByb3A6ImxlZnQifSx2ZXJ0aWNhbDp7Y29udGV4dE9mZnNldDpyPzA6ZS50b3AsY29udGV4dFNjcm9sbDpyPzA6dGhpcy5vbGRTY3JvbGwueSxjb250ZXh0RGltZW5zaW9uOnI/blttXSgidmlld3BvcnRIZWlnaHQiKTp0aGlzLiRlbGVtZW50LmhlaWdodCgpLG9sZFNjcm9sbDp0aGlzLm9sZFNjcm9sbC55LGZvcndhcmQ6ImRvd24iLGJhY2t3YXJkOiJ1cCIsb2Zmc2V0UHJvcDoidG9wIn19O3JldHVybiBuLmVhY2godCxmdW5jdGlvbih0LGUpe3JldHVybiBuLmVhY2goaS53YXlwb2ludHNbdF0sZnVuY3Rpb24odCxyKXt2YXIgaSxvLGwscyxmO2k9ci5vcHRpb25zLm9mZnNldDtsPXIub2Zmc2V0O289bi5pc1dpbmRvdyhyLmVsZW1lbnQpPzA6ci4kZWxlbWVudC5vZmZzZXQoKVtlLm9mZnNldFByb3BdO2lmKG4uaXNGdW5jdGlvbihpKSl7aT1pLmFwcGx5KHIuZWxlbWVudCl9ZWxzZSBpZih0eXBlb2YgaT09PSJzdHJpbmciKXtpPXBhcnNlRmxvYXQoaSk7aWYoci5vcHRpb25zLm9mZnNldC5pbmRleE9mKCIlIik+LTEpe2k9TWF0aC5jZWlsKGUuY29udGV4dERpbWVuc2lvbippLzEwMCl9fXIub2Zmc2V0PW8tZS5jb250ZXh0T2Zmc2V0K2UuY29udGV4dFNjcm9sbC1pO2lmKHIub3B0aW9ucy5vbmx5T25TY3JvbGwmJmwhPW51bGx8fCFyLmVuYWJsZWQpe3JldHVybn1pZihsIT09bnVsbCYmbDwocz1lLm9sZFNjcm9sbCkmJnM8PXIub2Zmc2V0KXtyZXR1cm4gci50cmlnZ2VyKFtlLmJhY2t3YXJkXSl9ZWxzZSBpZihsIT09bnVsbCYmbD4oZj1lLm9sZFNjcm9sbCkmJmY+PXIub2Zmc2V0KXtyZXR1cm4gci50cmlnZ2VyKFtlLmZvcndhcmRdKX1lbHNlIGlmKGw9PT1udWxsJiZlLm9sZFNjcm9sbD49ci5vZmZzZXQpe3JldHVybiByLnRyaWdnZXIoW2UuZm9yd2FyZF0pfX0pfSl9O3QucHJvdG90eXBlLmNoZWNrRW1wdHk9ZnVuY3Rpb24oKXtpZihuLmlzRW1wdHlPYmplY3QodGhpcy53YXlwb2ludHMuaG9yaXpvbnRhbCkmJm4uaXNFbXB0eU9iamVjdCh0aGlzLndheXBvaW50cy52ZXJ0aWNhbCkpe3RoaXMuJGVsZW1lbnQudW5iaW5kKFtwLHldLmpvaW4oIiAiKSk7cmV0dXJuIGRlbGV0ZSBhW3RoaXMuaWRdfX07cmV0dXJuIHR9KCk7bD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLHIpe3ZhciBpLG87cj1uLmV4dGVuZCh7fSxuLmZuW2ddLmRlZmF1bHRzLHIpO2lmKHIub2Zmc2V0PT09ImJvdHRvbS1pbi12aWV3Iil7ci5vZmZzZXQ9ZnVuY3Rpb24oKXt2YXIgdDt0PW5bbV0oInZpZXdwb3J0SGVpZ2h0Iik7aWYoIW4uaXNXaW5kb3coZS5lbGVtZW50KSl7dD1lLiRlbGVtZW50LmhlaWdodCgpfXJldHVybiB0LW4odGhpcykub3V0ZXJIZWlnaHQoKX19dGhpcy4kZWxlbWVudD10O3RoaXMuZWxlbWVudD10WzBdO3RoaXMuYXhpcz1yLmhvcml6b250YWw/Imhvcml6b250YWwiOiJ2ZXJ0aWNhbCI7dGhpcy5jYWxsYmFjaz1yLmhhbmRsZXI7dGhpcy5jb250ZXh0PWU7dGhpcy5lbmFibGVkPXIuZW5hYmxlZDt0aGlzLmlkPSJ3YXlwb2ludHMiK3YrKzt0aGlzLm9mZnNldD1udWxsO3RoaXMub3B0aW9ucz1yO2Uud2F5cG9pbnRzW3RoaXMuYXhpc11bdGhpcy5pZF09dGhpcztzW3RoaXMuYXhpc11bdGhpcy5pZF09dGhpcztpPShvPXQuZGF0YSh3KSkhPW51bGw/bzpbXTtpLnB1c2godGhpcy5pZCk7dC5kYXRhKHcsaSl9dC5wcm90b3R5cGUudHJpZ2dlcj1mdW5jdGlvbih0KXtpZighdGhpcy5lbmFibGVkKXtyZXR1cm59aWYodGhpcy5jYWxsYmFjayE9bnVsbCl7dGhpcy5jYWxsYmFjay5hcHBseSh0aGlzLmVsZW1lbnQsdCl9aWYodGhpcy5vcHRpb25zLnRyaWdnZXJPbmNlKXtyZXR1cm4gdGhpcy5kZXN0cm95KCl9fTt0LnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5hYmxlZD1mYWxzZX07dC5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0LnJlZnJlc2goKTtyZXR1cm4gdGhpcy5lbmFibGVkPXRydWV9O3QucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtkZWxldGUgc1t0aGlzLmF4aXNdW3RoaXMuaWRdO2RlbGV0ZSB0aGlzLmNvbnRleHQud2F5cG9pbnRzW3RoaXMuYXhpc11bdGhpcy5pZF07cmV0dXJuIHRoaXMuY29udGV4dC5jaGVja0VtcHR5KCl9O3QuZ2V0V2F5cG9pbnRzQnlFbGVtZW50PWZ1bmN0aW9uKHQpe3ZhciBlLHI7cj1uKHQpLmRhdGEodyk7aWYoIXIpe3JldHVybltdfWU9bi5leHRlbmQoe30scy5ob3Jpem9udGFsLHMudmVydGljYWwpO3JldHVybiBuLm1hcChyLGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSl9O3JldHVybiB0fSgpO2Q9e2luaXQ6ZnVuY3Rpb24odCxlKXt2YXIgcjtpZihlPT1udWxsKXtlPXt9fWlmKChyPWUuaGFuZGxlcik9PW51bGwpe2UuaGFuZGxlcj10fXRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LHIsaSxzO3Q9bih0aGlzKTtpPShzPWUuY29udGV4dCkhPW51bGw/czpuLmZuW2ddLmRlZmF1bHRzLmNvbnRleHQ7aWYoIW4uaXNXaW5kb3coaSkpe2k9dC5jbG9zZXN0KGkpfWk9bihpKTtyPWFbaS5kYXRhKHUpXTtpZighcil7cj1uZXcgbyhpKX1yZXR1cm4gbmV3IGwodCxyLGUpfSk7blttXSgicmVmcmVzaCIpO3JldHVybiB0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGQuX2ludm9rZSh0aGlzLCJkaXNhYmxlIil9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiBkLl9pbnZva2UodGhpcywiZW5hYmxlIil9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtyZXR1cm4gZC5faW52b2tlKHRoaXMsImRlc3Ryb3kiKX0scHJldjpmdW5jdGlvbih0LGUpe3JldHVybiBkLl90cmF2ZXJzZS5jYWxsKHRoaXMsdCxlLGZ1bmN0aW9uKHQsZSxuKXtpZihlPjApe3JldHVybiB0LnB1c2gobltlLTFdKX19KX0sbmV4dDpmdW5jdGlvbih0LGUpe3JldHVybiBkLl90cmF2ZXJzZS5jYWxsKHRoaXMsdCxlLGZ1bmN0aW9uKHQsZSxuKXtpZihlPG4ubGVuZ3RoLTEpe3JldHVybiB0LnB1c2gobltlKzFdKX19KX0sX3RyYXZlcnNlOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbyxsO2lmKHQ9PW51bGwpe3Q9InZlcnRpY2FsIn1pZihlPT1udWxsKXtlPXJ9bD1oLmFnZ3JlZ2F0ZShlKTtvPVtdO3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlO2U9bi5pbkFycmF5KHRoaXMsbFt0XSk7cmV0dXJuIGkobyxlLGxbdF0pfSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG8pfSxfaW52b2tlOmZ1bmN0aW9uKHQsZSl7dC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ7dD1sLmdldFdheXBvaW50c0J5RWxlbWVudCh0aGlzKTtyZXR1cm4gbi5lYWNoKHQsZnVuY3Rpb24odCxuKXtuW2VdKCk7cmV0dXJuIHRydWV9KX0pO3JldHVybiB0aGlzfX07bi5mbltnXT1mdW5jdGlvbigpe3ZhciB0LHI7cj1hcmd1bWVudHNbMF0sdD0yPD1hcmd1bWVudHMubGVuZ3RoP2UuY2FsbChhcmd1bWVudHMsMSk6W107aWYoZFtyXSl7cmV0dXJuIGRbcl0uYXBwbHkodGhpcyx0KX1lbHNlIGlmKG4uaXNGdW5jdGlvbihyKSl7cmV0dXJuIGQuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZWxzZSBpZihuLmlzUGxhaW5PYmplY3Qocikpe3JldHVybiBkLmluaXQuYXBwbHkodGhpcyxbbnVsbCxyXSl9ZWxzZSBpZighcil7cmV0dXJuIG4uZXJyb3IoImpRdWVyeSBXYXlwb2ludHMgbmVlZHMgYSBjYWxsYmFjayBmdW5jdGlvbiBvciBoYW5kbGVyIG9wdGlvbi4iKX1lbHNle3JldHVybiBuLmVycm9yKCJUaGUgIityKyIgbWV0aG9kIGRvZXMgbm90IGV4aXN0IGluIGpRdWVyeSBXYXlwb2ludHMuIil9fTtuLmZuW2ddLmRlZmF1bHRzPXtjb250ZXh0OnIsY29udGludW91czp0cnVlLGVuYWJsZWQ6dHJ1ZSxob3Jpem9udGFsOmZhbHNlLG9mZnNldDowLHRyaWdnZXJPbmNlOmZhbHNlfTtoPXtyZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZWFjaChhLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUucmVmcmVzaCgpfSl9LHZpZXdwb3J0SGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKHQ9ci5pbm5lckhlaWdodCkhPW51bGw/dDppLmhlaWdodCgpfSxhZ2dyZWdhdGU6ZnVuY3Rpb24odCl7dmFyIGUscixpO2U9cztpZih0KXtlPShpPWFbbih0KS5kYXRhKHUpXSkhPW51bGw/aS53YXlwb2ludHM6dm9pZCAwfWlmKCFlKXtyZXR1cm5bXX1yPXtob3Jpem9udGFsOltdLHZlcnRpY2FsOltdfTtuLmVhY2gocixmdW5jdGlvbih0LGkpe24uZWFjaChlW3RdLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkucHVzaChlKX0pO2kuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm9mZnNldC1lLm9mZnNldH0pO3JbdF09bi5tYXAoaSxmdW5jdGlvbih0KXtyZXR1cm4gdC5lbGVtZW50fSk7cmV0dXJuIHJbdF09bi51bmlxdWUoclt0XSl9KTtyZXR1cm4gcn0sYWJvdmU6ZnVuY3Rpb24odCl7aWYodD09bnVsbCl7dD1yfXJldHVybiBoLl9maWx0ZXIodCwidmVydGljYWwiLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUub2Zmc2V0PD10Lm9sZFNjcm9sbC55fSl9LGJlbG93OmZ1bmN0aW9uKHQpe2lmKHQ9PW51bGwpe3Q9cn1yZXR1cm4gaC5fZmlsdGVyKHQsInZlcnRpY2FsIixmdW5jdGlvbih0LGUpe3JldHVybiBlLm9mZnNldD50Lm9sZFNjcm9sbC55fSl9LGxlZnQ6ZnVuY3Rpb24odCl7aWYodD09bnVsbCl7dD1yfXJldHVybiBoLl9maWx0ZXIodCwiaG9yaXpvbnRhbCIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5vZmZzZXQ8PXQub2xkU2Nyb2xsLnh9KX0scmlnaHQ6ZnVuY3Rpb24odCl7aWYodD09bnVsbCl7dD1yfXJldHVybiBoLl9maWx0ZXIodCwiaG9yaXpvbnRhbCIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5vZmZzZXQ+dC5vbGRTY3JvbGwueH0pfSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gaC5faW52b2tlKCJlbmFibGUiKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBoLl9pbnZva2UoImRpc2FibGUiKX0sZGVzdHJveTpmdW5jdGlvbigpe3JldHVybiBoLl9pbnZva2UoImRlc3Ryb3kiKX0sZXh0ZW5kRm46ZnVuY3Rpb24odCxlKXtyZXR1cm4gZFt0XT1lfSxfaW52b2tlOmZ1bmN0aW9uKHQpe3ZhciBlO2U9bi5leHRlbmQoe30scy52ZXJ0aWNhbCxzLmhvcml6b250YWwpO3JldHVybiBuLmVhY2goZSxmdW5jdGlvbihlLG4pe25bdF0oKTtyZXR1cm4gdHJ1ZX0pfSxfZmlsdGVyOmZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvO2k9YVtuKHQpLmRhdGEodSldO2lmKCFpKXtyZXR1cm5bXX1vPVtdO24uZWFjaChpLndheXBvaW50c1tlXSxmdW5jdGlvbih0LGUpe2lmKHIoaSxlKSl7cmV0dXJuIG8ucHVzaChlKX19KTtvLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5vZmZzZXQtZS5vZmZzZXR9KTtyZXR1cm4gbi5tYXAobyxmdW5jdGlvbih0KXtyZXR1cm4gdC5lbGVtZW50fSl9fTtuW21dPWZ1bmN0aW9uKCl7dmFyIHQsbjtuPWFyZ3VtZW50c1swXSx0PTI8PWFyZ3VtZW50cy5sZW5ndGg/ZS5jYWxsKGFyZ3VtZW50cywxKTpbXTtpZihoW25dKXtyZXR1cm4gaFtuXS5hcHBseShudWxsLHQpfWVsc2V7cmV0dXJuIGguYWdncmVnYXRlLmNhbGwobnVsbCxuKX19O25bbV0uc2V0dGluZ3M9e3Jlc2l6ZVRocm90dGxlOjEwMCxzY3JvbGxUaHJvdHRsZTozMH07cmV0dXJuIGkubG9hZChmdW5jdGlvbigpe3JldHVybiBuW21dKCJyZWZyZXNoIil9KX0pfSkuY2FsbCh0aGlzKTs="}},"time_used":141,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":141,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/blockchain-workshop.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.967Z","timestamp":1785154927967,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/blockchain-workshop.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:50 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2ByHbNfDE0ctU%2BZEIBj8vudGX8CdGiqhbrirmDucVn9jFXp%2BPe0%2BhrtQexD81hDmqc02ucXvcBqzvVRFRKudM7pYgY%2BUEhjFZwlI2BqjuSy1r69URPz0ua6qv9qUtxDuxvx8xcfGRLyo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bcd6fb28a-OSL\r\ncontent-length: 33813\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":33813,"size_decoded":34582,"mime_type":"image/png","magic":"PNG image data, 510 x 383, 8-bit colormap, non-interlaced","md5":"009be7e2d2c5ef80e18524a5d6ce0b47","sha1":"cfcfd67e6422ce1d6a706a03899ecdd3b0bed539","sha256":"43821ea7dd99c936ad5d0cf6b8794be79ea48e787c07caf028b0803d1242bb58","sha512":"13228ff6b89fe05249d0574b4f6620cf56298a44830f7164807245d3c3f6f0304c74320198d9665b612b6204746a2b9213078793dad80032ca9e07b052a8ce01","ssdeep":"768:3pPurfBr2B2zP09Ksa9k4UC6MzTADUts/u9YvaNb52jzaRnEqzVs6s8Od:czIKsa9EC6MzsDUtgu9YvIC2iaVsSOd","tlshash":"d9e2e0dca158040686698dc4cbb3b244efe233f0f5d711f4e3e7806abdb8634b495a99","first_seen":"2026-07-27T05:58:00.79878Z","last_seen":"2026-07-27T12:23:18.819352Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/flags/United%20States.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.979Z","timestamp":1785154927979,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/flags/United%20States.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:56:22 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=mDo2QUiAIaiYN1E6S4cSafyFAyWbtO6NlTouRfP1M9wiTsIVwDUOUnHCg%2F6I0GC8vje%2BDrF8fSnoWCi9vV8n0Swu0L1gjpK3i0nb4zcRPhS4TTRF8FUW%2F%2FK1G1i2nW4hsoi70rw6M7E%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed78b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 3608\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3608,"size_decoded":4374,"mime_type":"image/png","magic":"PNG image data, 190 x 100, 8-bit/color RGB, non-interlaced","md5":"2538682d81698137110feff60606bc95","sha1":"4c9183eb10017852f02cfcf102e738d2d8bf6727","sha256":"b2604382a9bf011bd25c51fc2b4fa6baa5280f7a27a5821505bfe3643c63624f","sha512":"c13fcb4b5c2ec4e9583e77ff1fce825199ff5241f9d7934ecf88e2cd94c415ba0b7a1daad4396a59cda136da56b4c45d86c8d68d19c2f28d5d865c91534f045a","ssdeep":"","tlshash":"ab716dd6a6b26b161f603c3fbc0105d174f305cd9d2139bd4944179a050f9232de8f1b","first_seen":"2026-07-27T05:58:00.884975Z","last_seen":"2026-07-27T12:23:18.832627Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/payment_method_coinpayments.webp","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.984Z","timestamp":1785154927984,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/payment_method_coinpayments.webp HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/webp\r\nlast-modified: Sat, 07 Sep 2024 12:55:16 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=yA2mPXci20JD8X5wgajIXIx5ziZw7wRsGwV1EkfKY1NRs3RYCqDXjJQ%2FSQ5%2BlUkyl7Pa15kY0Vb4eIW0WvDnnN4nuTMmHUSi3mXKIw9yBVv3%2Fo0R88EbSBksS4B%2FCHWoNxdGmOxIjv4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed7eb28a-OSL\r\ncontent-length: 68836\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":68836,"size_decoded":69604,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"2ac8afd159508e282f0e8fb01558ddf3","sha1":"8039d33a371b4bc69af4057bc87d7a8fa5aed32a","sha256":"bb670413c1737770bd6ef55ce6272ce58eff456b5849c9921605d67dd3f50a53","sha512":"6a567d956527e6e59329f323aa25de2b9254d7fe9ce9c041762fa1ede6fb4ebf4b3520dc376888feab1e5a7b4b1c33415c5a9491e50c4eb68a21bb75f47c462f","ssdeep":"1536:Nwtnd+t0FXg+nHnyyDTMyIqKUzqJLYAWik5oQjO:N2ktUnHy6EUeJLYAWikSQjO","tlshash":"6963018a33018d5da6da48f2f55381a3dea4d10328d78f819353878678e6e3ae7705f6","first_seen":"2026-07-27T05:58:00.862542Z","last_seen":"2026-07-27T12:23:18.783899Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/rounded-shape1.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.445Z","timestamp":1785154928445,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/rounded-shape1.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/style.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:18 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2B5oNxToAkHmM8PG7Kf32nIIzi3jAXf2XS4PymW7jcsnKhaFx2fqzkG715JhA5dTWGUhQylqMpLLt7CG3fUz0B1ewEySVE5nbi9ji%2Fi2YcKext%2FBYCQmgnzAp5owE%2FvlPWFTqtzjlUeg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21b9b9ecde7b28a-OSL\r\ncontent-length: 6488\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":6488,"size_decoded":7254,"mime_type":"image/png","magic":"PNG image data, 494 x 402, 8-bit/color RGBA, non-interlaced","md5":"4b3e9f9dd1e992d388fc1cee6a47d61f","sha1":"db3c034f9b0b11ea3512ecfe11ff33434cff9f2e","sha256":"6679f76954816eb70629b5b6f0546bc878915f3df0e2aedf1b0d945f0548a1a7","sha512":"1d28ddcff1351fd3ccc987cd27240ee158118b64f90e310103a1ce109a8475f50826e9788708af6e2e94e77cf58251ff1831ca0618bf8bd9733d3ee472175239","ssdeep":"96:h2I2jsJaEwzUUGuKmW5DlH+/NK7Y5OthEIJLTo47AWrC9xOK9o2RPtoabt+jt7d:OoaEwQV2W3YNUoIJLTTNrwR7+RJ","tlshash":"19d18dce269302084141e09135f466bfbe56c7c19480ca88fecedf6e3c56172493e5c7","first_seen":"2025-07-02T02:02:42.976589Z","last_seen":"2026-07-27T12:23:18.802945Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAe4AAAGSCAYAAAAl9yLsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZEQjA3MzY5M0JFQzExRThCRTA3RjJENDgzMzNBNUZBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkZEQjA3MzZBM0JFQzExRThCRTA3RjJENDgzMzNBNUZBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkRCMDczNjczQkVDMTFFOEJFMDdGMkQ0ODMzM0E1RkEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkRCMDczNjgzQkVDMTFFOEJFMDdGMkQ0ODMzM0E1RkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4oiTMCAAAVzklEQVR42uzdfWtbSZYH4JpxUBMTzxq8JCRMiKEh/+Wv/TY7ny9faAwJGAIKbmxixuCNg0OLNbM6SWnbSftFku/VrSM9D1zSr4lcsvW7p07dqr/s/Pc/XxcAIHydXker+IM+v32z1P/3aHrteJ8A4JvIxN+n12mrL/Cv3iMA+MHL6bUtuAEgj1+n15bgBoAcRtNrX3ADQB670+uF4AaAPJ6XxhZxC24AuFtT/W7BDQB326rhLbgBIImYLm+i3y24AWA+0e/eFdwAkMd++f6omOAGgAQG73cLbgBYTGyH+lJwA0AeT8tA/W7BDQDL2S8D9LsFNwAsZ9bvXunmLIIbAJa38n634AaAh9mrl+AGgCRe1upbcANAAtHnflVW0O8W3ADQjZX0uwU3AHSn93634AaAbu2XHvvdghsAutfb892CGwC6N6qVt+AGgCRiL/OnghsA8uj8+W7BDQD9el067HcLbgDo1+wwEsENAEnsTK8XghsA8nheA1xwA0ASD36+W3ADwOo8uN8tuAFgtWK6fOnDSAQ3AKze07/942BXcANAHvvT8B4JbgDIYal+t+AGgOFsT6vuhfrdghsAhrVQv1twA8Dwot8912EkghsAhhf97lfT8L53c5ZHxgoghYtb/vmOoVkbUXFHv3t813/0l53//ud/GSuAJlzVgP46vS6n16T+Oo94rOiXGuSPawiMDGlK489v35wJboA2RTD/z/Q6XyCk5xXBHYue9mqQk+cG7t00vCc3/UtT5QDDfDCf1euyxz8nPvhP6zUL8Wcq8eZFnzumzD+ouAGGFUF6XKvrqwFfRwT406I/3roP06r7XMUNMEyFfVQr7Bac1yuC++/FNHqrXtb36QceBwPoV0xTHzQU2tfFQrj35fsq5itvVXNGf/vHwZ6KG2A1onf9sfTbw+7KWa3s9sv3aXTa8eLnmz4VN0A/VfZhktCeiYr7g+q7/apbcAN0G34RfEeJw+8s4U3HuhPcAD2F9mFps5e9qEvh3ZSd6+d2C26A7kL7cs2+pvdrciOyDp4JbgChPY+x8G7CruAGENqLhPe5t3tQo9l0ueAGENrz+KDybqPqFtwAyzkqm7d4axO/5pbsCG6A5ZxuaPUZswwfi+e8h/Jta1o7pwEs5rJWnpv+9e/7Vli56HNvqbgBFvPREHybbTg1DMNU3YIbYH4nRY93Rr97GCpugDnFWdqfDMMPYqW5freKG6BJx0LqxpuZsWFYLcENMF9AeYb5ZrExy4lhENwArVXb3D0+F4ZhJZ4IboC7Xam256LfreIGaILQnv8G59Aw9G4iuAHuZiX5/DZ9cxrBDdBAEE0Mw0JiYxYnifVIcAPczjT5csZueAQ3wBC+GIKlRL/bYrV+XAhugNvDx5aey9Pv7un70ulgALdUNobgwaLVEGdI7xmKbnx+++ZSxQ1ws6+GoBMOI+nOt3EU3AAq7j7pd3fni+AGuDtw6IbDSDq8mRTcADczvduteLb71DAIbgDyOCpaEEuH9ue3b64EN8AdlQ290O9ezv9vBiS4AVil2WI1FnMuuAEYSsxonBiG+avt2TS54AZgKMfFYSRzB/f1vxHcAAxlXBxGcp9YlHYhuAFogX73/f7UUhDcAH+2YwhW5rLYnGXualtwA9CCs+Ls85v8dtM/FNwAN9s2BCvlMJIfncRJYIIbYH4jQ7BS0e/+WGzOEmLB3qfb/qXgBlBxt0K/+7sP15/bFtwA83liCAax6YeRHN02RS64AVTczYZX2cz94mOHtHtvWgQ3wM22isfChhTPd2/SYrXLaWiP5/kPBTfA7XYNwWCix3u4IeF9Wb/WuQhuAMEtvAcO7bsWowlugPnFI2F63cK7mdAOj3xPANzpafGIUivh/WtZn3UHZ/P2tFXcAIvZK98XqtFGeK/Do2JHD7kZFNwA93tmCJoKvcOSc4e12BHt/UNvPgQ3wP2eqrqbEs94H5RcB5NEWL8rHfTq9bgB7rdVq+5jQ9GMqLjHNbyfl3Z733GT8VvpcHGd4AaYv+r+V/k+3UlbwRhXrEV4Udo5HCZe00npYQc4wQ0wf9X9olhh3qrZmd47A1fgs73We9uyVXADzG+vhsOFoWi+Ao/Ke7e+Z30/i39Zvy8itHufkRHcAIuJZ4nfFVPmrZvUyvf0Wojv1BAfdfB7X9agvlj194LgBlhMTJnvlwX2lqapEJ+9hxHgj2sOju4I80m9/nd6fa2BPeijaIIbYHFRuUW/2yrznK7KH1Pq6XiOG2A5sQDKISQIboBE9ks7jx8huAG4R/RKfzUMCG6APLZr5Q2CGyCJvXqB4AZI4mXpf6MPENwAHYl+96viFDEEN0Aa27XyBsENkET0up8aBgQ3QB763QhugGTi+W79bgQ3QBKjYnMWBDdAKrPDSEBwAyTxvAY4CG6AJPS7EdwAiURovzYMCG6APGzOguAGSCY2Ztk1DAhugDz2i81ZENwAaTiMBMENkIx+N4IbIJm9eoHgBkhiv+h3I7gBUrE5C4IbIJFRrbxBcAMkEc92PzUMCG6APGKVucNIENwAieh3I7gBEtmq4Q2CGyCJmC63OQuCGyARh5EguAGS2S/fHxUDwQ2QwKzfbbEaghsgCYeRILgBknEYCYIbIJmXxWEkCG6ANKLP/arodyO4AdKIinvfMCC4AfJwGAmCGyAZ/W7BDUAyr4t+t+AGIA2HkQhuAJKJw0heGAbBDUAez4vDSAQ3AKnsF4eRCG4A0tDvFtwAJOMwEsENQDKxMYvDSAQ3AInYnEVwA5CIw0gENwDJ6HcLbgCSiV63w0gENwCJ6HcLbgCSiee79bsFNwBJjIrNWQQ3AKk4jERwA5DM8xrgCG4AktDvFtwAJBKh/dowCG4A8rA5i+AGIJnYmGXXMAhuAPLYL/rdghuANLZqeCO4AUgipss9Iia4AUhE1S24AUgktkTdMwyCG4A8bIcquAFQdSO4AeiL4BbcACSyUytvBDcASfynIRDcAORhulxwA5DIqJguF9wApOLwEcENQCK2QBXcACSybQgENwB56HELbgCSMV0uuAFIZMsQCG4A8tDnFtwAgOAGAMENwIZ7YggENwAguAHowZUhENwA5PHVEAhuAKAjjwwB0KGL6TWp1+/119vMduiKxVC/FNttguAGendew/rL9LpcIuSv26phvlPD3EYgw7g0BIIbWL+wPqu/dumq/p6z3zcq8Dgf+plqfKUsThPcwBqY1LD+tMIP9vgzT+sVVfhevejXhSEQ3EDuwD6uoT10mFzU1/JCgPfGNLngBpK6qpXuKivseW8kxjXA94sjKLvmUTDBDSR0UcNx0vhMwGH53gOPAHcUZXfvPY3zHDdwvco+qoE4SfKaYyHbQel+odymMo6CG0jisgb2adIbjg/1poOHfQ9YUZ6AqXLgogZf9g/tuOmIHu2vxdT5Ms4MgYobyPFhfbhGldZFyTXV3xLT5IIbSBDa4zX8umLK913xaNOioe1mR3ADQnswVyrvhZwaAsENCO0Wwnsdevd9m21ug+AGGhTTx0cb9vUeetvvdGIIBDegAm0tvMfeftW24AayidDe1J7vWfG4k2pbcAOJnKqsvrUIrDT3PSG4gebNTvjadNEi+FgsVvM9IbiBBJWmsPpu0xbn3Wbse0JwA22KqVA7Yv0oet2b/NzySTFFLriBpj+k+bNN7XfHTZwpcsENNFxtq6xud7hh4e2xOMENqLZTm22Lugm93ssN+loFN5DSRLUtvIW24Aby+GQIFgq2g7Ke0+ZCW3ADSdglbLnKe51mKc6FtuAG8nxg+7BePrzX4VGxWN/gZLQ19cgQwNrR236YozqG+9NrK+HNxwffAypuIF/FzcPH8CDZWJ7V1yy0VdxAIpOyuSeA9VW97kyvv0+v7UZfZyxA+01gC24gJ6dfdS8C8f302pteL6bXqKGbtONiIaLgBlL7agh6MzvTe69eOwPeSHx7LZ/fvvGuCG5Axc2cAR6V97PptbuCKjyq6+i3fypaIYLbEMBa8fjP6kSAHtUr+t9PahUe11YH7+Nsr/kvbsgQ3LC+LFAaxmW9Zs+ARwX+S/ljOv3JPf//l2vv3++qagQ3wOqrcfvF0wvPcQOA4AYGoA8KghtIxMI0ENxAIr8YAhDcQB4jQwCCGwAQ3ACA4AZ2DAEIbiCPLUMAghvIY9sQgOAG8nhiCEBwAypuQHADPdgS3iC4gVx2DQEIbiCP/zAEILiBPGKq3PanILiBRJ4ZAhDcQB57hgAEN5DHlvAGwQ3k8sIQgOAG8hipukFwA/mqbgePgOAGElXdVpiD4AYSeV5sgwqCG0jllSEAwQ3kERW3VeYguIFEYsrcASQguIFE9ot9zEFwA2nEo2G/GgYQ3EAe0e9+aRhAcAN5PC12VQPBDaTysni+GwQ3kEb0u18VW6KC4AbS0O8GwQ0kE73up4YBBDeQh343CG4gmXi+W78bBDeQxKjYnAUEN5DKTnEYCQhuIJXnNcABwQ0kod8NghtIJEL7tWEAwQ3kYXMWENxAMrExy65hAMEN5LFfbM4CzXhkCJjTxfT6Or0up9dkev1ef73LzrVfH9cP/5GhTGd2GMnh9LoyHCC4aVOE8nm9Lh4Q9uWn/39Ugzyu3WLlchazfvfYUIDgph1RTZ3V67LHG4LZnxH2aoDro7Zvr96EnRkKENwMX10fD/SBPAvxqMRfqMKbF1X31x5v7ADBTaOBfdNrGdfQjgB3zGSb4v2JzVneFf1uGIRV5ZspPnBPptdBaW/aM17bUX1tF96qJsXsyL5hAMHNalzUauk4wWxArGL+oLJrUrQ0zIqA4KZnRzUMJ4le87nqu1nR73YYCQhuehAV6/vpdZr49ccNx4m3sjkOIwHBTcdi9e+7sh6rgGN6f1xMnbckQnvfMIDgprvQzjY1fp+zYgev1ngOHwQ3HYb2la+NFXCKGAhuBJvwTmS2gQ4guBFod36tY295M+LxMAvVQHCzgAjrjxtWhcbjYkfe+iZEaD8zDCC4md+4bOYe0vGYm4Mv2rBnCEBwM394nW/w139UHHzRgpHwBsHN/WaHhWyyTWwTtMqjYSC4ucdYYH1zWfS7WwnukWEAwc3NordrH+8fx+PUMAzOHuYguLnFsSH4E/3uNqpuQHBzQ3U5MQw3chyo4AbBjWo7kUkNb4ZjuhwEN6rthUTv31Ggw3lsCEBw8wcLsOZzXCzeG8q2IQDBzXdRaVt8NT/97mF4JAwEN9UnQ7CQCO1Dw6DiBsHNUM4NwcJszrJ6TgoDwU35Pk1uUdpyNn0/d0Bwo9pOZ1ysD1gl0+UguDee0HkYh5GslulyENwbz6NN3dz86HcDgpuV0N/uxlm9AAQ3qu0kxkXrwfcsCG56pC/bPZuzAIKb3nw1BJ2b1MobQHBDEvGInb3fu2eaHAQ39OZI0HROCwIEN/RKv7tbWjsguKH3CvGDYeiMFfsguKF3MV1uc5buxhIQ3NA7h5F0U21rO4DghpUZF7vUPcQXQwD9Bbe74jweG4KVmfW7/Xwsx3ay0GNw6+fl4aSl1XIYyXImxcI06DW4HbaQh7ONh6kc/XwsxvoA6Dm4w9gdcpqKe2QYVu7Iz8dCPhkC6D+4g36eqpubxc/FRz8fc1fbFvXBioJ7Umw+kcGOIRhEVNxjw3Ave77DCoM72HyifU8MwaDVpGC63UWx6QqsPLhnd8wWl7Qrpsr1uYej33273wwBDBPcYezDqWm7hmBQh0W/+2dnPjNg2OC2GKdte4ZgUA4j+fN4aLHBwMFdis0nWrZdrC4fWvRyTwzDN2M3+dBGcIeY/rIYp01PDcHgjov1IGfGANoK7lIsxmlVTJfbArWNanNTn1s2KweNBnewGKdNzwzB4Db1MBKHsEDjwW0xTptiutyjYW1UnuMNC+24mbdDGjQc3MHmLO2JqfIXhqEJ5xsU3uOifQYpgjvYnKU90eu2DWobzjYgvMc+AyBXcLvbbtPfDUFz4b1uvd/4et4XR5xCyuC2OUt74pnul4ahqfBepwWdk/r1uGGHpMFdipOSWhQL1WyF2o74GTko+Q/diNf/TmhD/uAOTkpqz37xbHdLZquvs+6wdlQ8CgprFdyzH2zH+LUjQvtXw9Cc2GHtfaKq9aLOFrgxhzUM7mAThrbECnOHkLTnsob3uLT7/POkvj7PaMOaB/dsOpB2vCymzFsVC9eiZ3zS0A3vpL6eg2LVODTvUYfVxFGxsrkVEdqxHeqxoWjSVX1v4orZkVhYOMRpb/FzeyqsYTODu9QPgO1imrYVEQb/KqY8M1TgZ9d+duLJgD63sY3vh/P6Z1opDhse3KVW3Y+Ls6JbqrptU5vDZflj5mpUAzx+jnYeGOST+vte1MB2IweC+wezzVleFz3WFkQFd1wsHswmwvXnFd079Wfq+k3xk2t//eWnm4Cr4okPENwLVA7j4rGkVqruveKxnnUwC2H7hMOG+2tPv6/NWdqqugEQ3PeyOUsbtos1BwCCe042Z1F1A5AouG3O0oYnhgBAcM/LSWLDi6lyq/wBBPfcZptMMJwdQwAguBdxVOzUNHTVDYDgnlv0uy1WG44+N8Aa+Mu///3vlf6Bf/vHQWzlaHOW1Zt8fvvmwDAAqLgXMg2P2JzlxNCv3MgQAKi4H1J5x37mFkyt1sH0xskhEwAq7qVEv1uIrNYvhgBAcC9lWvnNFqsBAAkq7ghvm7MAQJbgrmzOAgCJgjvYnAUAEgW3zVkAIFFwh1hhPvaWAECO4A42Z+nR57dvLowCgODu2nENcAAgQXCHcbE5S9cs/gMQ3L2xWK17boQABHfvFeKRt6gz+tsAgrt3NmfpzldDACC4V2Fc9GcfzIpyAMG9SvrdD2OVPoDgXqlJcZKY4AYgTXCHmOq1OYvgBhDcidicZYnQrmefAyC4BzEunklehFX5AIJ7UDZnmd9kWm2boQAQ3IOzOct8jg0BgOBuRUwBn3oL76y2TZMDCO6mHBWbs6i2AQR3KodFv/tnF6ptAMHdqtliNf7wmyEAENxNV5jFYrWZk2m1rX0AILibFwvVNv3Rp8tpaOttAwjuNMZlcxeraRkACO6U4fWxbOZitfG02rajHIDgTudyAyvPsR3SAAR3ZrFYbbwh7+GJR78ABPc6ONuA8D61GA1gszxa869vVom+nF5ba/a1jYuTvwBU3Gsa3uu0u9qV0AYQ3OsuFqwdlPyPik3qTYjQBhDcay8q1ffT6yTp649V4++KQ1UANtqjDfyaj2sIvppe20mq7KNiVzgANjS4S61ao/p+Or1elHYXrsXswKfi9DMANjy4Z2J/8+gXP6sh3kqAn9WZATuhASC4f3JVQzIq270a4qOBXkfcSPxLYAMguOcPzri2awW+u4Iq/LxeVooDILiXFD3wcf3r7RrgT+pfb3Xwe38p37dlteAMAMHdQ4hffwQrptF/mV479e8f3xHmX679HpPiUS4AHuj/BBgAYrPAerbYd3cAAAAASUVORK5CYII="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.508Z","timestamp":1785154928508,"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/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7816\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 23:00:27 GMT\r\nexpires: Wed, 21 Jul 2027 23:00:27 GMT\r\ncache-control: public, max-age=31536000\r\nage: 480101\r\nlast-modified: Mon, 15 Sep 2025 16:35:07 GMT\r\ncontent-type: font/woff2\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":7816,"size_decoded":8628,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7816, version 1.0","md5":"25b0e113ca7cce3770d542736db26368","sha1":"cb726212d5d525021752a1d8470a0fb593e0c49e","sha256":"9338e65fc077355c7a87ae0d64cc101e23b9bf8ad78ae65f0f319c857311b526","sha512":"a0d331e62ab4727f49ca286a1ee7fb81cddc5bb9edf71ef84f4bd4fa1552069af1a82752011ba88fae80862d034135926b7e99d70e59d626d66d4ede90e94c30","ssdeep":"192:Agw5ksLwlyK8F2BXU96Fc575OI3+ga534SlEFwTG4ovej9be:Al5y8FSUMS5VOq1KISlvS4ov+4","tlshash":"a3f1af19d5de5a73f80032b45b6911ba7e42fa83bc68bbedf8046a10ad542cb467cc91","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-08-11T11:54:45.085001Z","times_seen":296146,"resource_available":true,"data":"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"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white7.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.997Z","timestamp":1785154927997,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white7.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:54 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Kse52wgJqyrqeKw%2BwWxZE73CON8Et%2F5dcx3BenTA70zWko%2FLQUpOhv62CnQUt5RIlbTL94Enlik5%2FERIOD0oOHFp1%2FleUnJaCPzGpjKkKop8ODgj0ncIfJIxzvVw4CPmw7S8Mu%2BpCOw%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd8bb28a-OSL\r\ncontent-length: 2588\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2588,"size_decoded":3358,"mime_type":"image/png","magic":"PNG image data, 155 x 77, 8-bit/color RGBA, non-interlaced","md5":"e4798661a1c80af27aeb5ae5adef3961","sha1":"1b656303d6e493d772976e75ca06734e782a341a","sha256":"ae44135c402dd8fa4a37fa83e616ca91cbc40230938d7ceafaa4fcb925fc5389","sha512":"a3ea02ee16ef80c496772e8b85a2a78e6213052667e9a9abf31b6bab19d01aa8b2f66f38df24165363011696995381769bfac079705ab787350d5c547ffefd7a","ssdeep":"","tlshash":"74512b9f79905d8283d8b9d438f52801a70946405fb8f2957aced0224f64ef1625ded6","first_seen":"2026-07-27T05:58:00.821146Z","last_seen":"2026-07-27T12:23:18.844956Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAABNCAYAAACxBha+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2RDlEOENENzQ4NjExRTg4NzlFODNEQTc0MzlGRDEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2RDlEOENFNzQ4NjExRTg4NzlFODNEQTc0MzlGRDEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODZEOUQ4Q0I3NDg2MTFFODg3OUU4M0RBNzQzOUZEMTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODZEOUQ4Q0M3NDg2MTFFODg3OUU4M0RBNzQzOUZEMTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz61FmIyAAAGkklEQVR42uycr3PjOhDH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"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/fonts/ionicons28b5.ttf?v=2.0.0","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.509Z","timestamp":1785154928509,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/fonts/ionicons28b5.ttf?v=2.0.0 HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/ionicons.min.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:14 GMT\r\ncontent-type: font/ttf\r\nlast-modified: Sat, 07 Sep 2024 12:54:48 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kE3zO8AL3m5lrVOkBZLOk3HjDTcL%2FPSAzb3IdF98rQbWR6LWm0nUQ8BPewMioFR03rvSrEj%2FulZ3wAGSd8s7XjVhI8%2B60Vbg2yGkfrugGMfWkChEhQ0QMabEGTWJF%2BLlMOBveD4yR0c%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9f2deeb28a-OSL\r\ncontent-length: 104496\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":188508,"size_decoded":105311,"mime_type":"font/ttf","magic":"TrueType Font data, 15 tables, 1st \"FFTM\", 14 names, Macintosh","md5":"24712f6c47821394fba7942fbb52c3b2","sha1":"1b0a0de084905946a20300ca8c354865dec46764","sha256":"2ba7f20b1d8990e17a47fe3d88e4c766628aaa2baf1dd30fca0a0db59836f5f9","sha512":"e61d99095429861d335b7f1fa720d63ce3a5e7879aad0c02937b7a8367b8107e4b874637b3fa4f5590f8f3e5a68ad8c37d646e6cb315815af8b962dee1cf2777","ssdeep":"3072:ZevphGNEm96ksZlU9WZEwXnwY3Xv8KLyVT8s+mW0uu2r9FsysMgWU/:ZBEm9Z26kXWb+mN+cpX/","tlshash":"2f048e0bf7cfda4bd125a67e44f69b1319a8d0106e2353dbebce364994e76c40c6a0c9","first_seen":"2023-04-05T10:17:13Z","last_seen":"2026-08-10T22:41:00.275474Z","times_seen":13295,"resource_available":false,"data":"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AIAAAAFAAAABwAAAAUAAAAFGAAAAwAAAAEAAAAFeAAABAAAAAYAAAAHAAAABwAAAAYAAAAHAAAABwAAAAYAAAAHAAAABwAAAAcAAAAHAAAABwAAAAOAAAAHAAAABYAAAAcAAAAHAAAABwAAAAcAAAAGgAAEBQAAAAUAAAAHAAAABwAAAAcAAAAHAAAAAgAAAAWAAAACgAAABwAAAAQAAAAEAAAABwAAAAcAAAAHAAAABQAAAAgAAAAHAAAABwAAAAgAAAAF/AAABQAAAAaAAAAFWAAABgAAAAYAAAAHAAAABoAAAASoAAAGAAAABwAAAAeAAAAHAAAABngACAYAAAAHAAAABwAAAAUAAAAGgAAABQAAAAYAAAAGgAAABoAABAYAAAAGUAAABgAAAAaAAAAHAAAACAAABAgAAAAHAAAABVgAAAcAAAAHAAAABgAAAAgAAAAIAAAABwAAAAUAAAAEAAAEBwAAAAcAAAAGgAAABgAAAAQAAAAGAAAABwAAAAgAAAQHAAAABgAAAAaAAAAGAAAABYAAAAYAAAAHAAAABgAAAAUAAAAFAAAABAAAAASAAAAGAAAABgAAAAUAAAAFAAAABwAAAAcAAAAHAAAABwAAAAcAAAAGgAAABrAAAAaAAAAFAAAABVgAAAaAAAAEAAAABoAAAAIAAAAGgAAAAgAAAAaAAAAEAAAABVgAAAOsAAAGAAAABwAAAAcAAAQEgAAABwAAAAWAAAAGgAAABgAAAAaAAAAGAAAABgAAAAYAAAAGAAAABoAAAAYAAAAGgAAAB4AAAAeAAAAHgAAABgAAAAcAAAAGAAAABgAAAAUAAAAHAAAABQAAAAgAAAAGAAAABwAAAAYAAAAGAAAABoAAAAaAAAAFAAAABwAAAAcAAAAGgAAABYAAAAaAAAAGgAAACAAAAAYAAAAFAAAABgAAAAYAAAAGYAAABQAAAAFAAAAFAAAABYAAAAWwAAAFgAAABgAAAAcAAAAHAAAAB4AAAAYAAAAHAAAABIAAAAUAAAAGAAAABoAAAAaAAAAGgAAABYAAAAaAAAAGfAAABoAAAAYAAAAGUAAABlAAAAWAAAAHAAAABQAAAAYAAAAGqAAABYAAAAUAAAAHgAAABIAAAAMAAAAGAAAABgAAAARAAAAHAAAABQAAAAgAAAAIAAAABwAAAAcAAAAHAAAAB4AAAAYAAAgGAAAABwAAAAZQAAAGUAAABwAAAAcAAAAGgAAABoAAAAcAAAAHAAAAAwAAAAUAAAADAAAAAwAAAAMAAAADAAAIBQAAAAUAAAADAAAIBQAAAAP8AAAEAAAABoAAAAaAAAAGgAAABoAAAAaAAAAGgAAABgAAAAYAAAAGAAAABgAAAAOIAAADiAAABgAAAAYAAAAGiAAABogAAAUAAAAFAAAABoAAAAaAAAAGAAAABgAAAASAAAAEgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABoAAAAaAAAAGAAAABgAAAAM8AAAGgAAABoAAAAaAAAAGgAAABoAAAAaAAAADAAAABoAAAAaAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAGAAAABgAAAARIAAAESAAABgAAAAYAAAAGAAAABgAAAAYAAAAGMAAABgAAAAYAAAAGgAAABoAAAASAAAAEgAAABgAAAAYAAAAFAAAABQAAAAWAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAFgAAABYAAAAZAAAAGQAAABAAAAAQAAAAEAAAABAAAAAYAAAAGAAAABwAAAAcAAAAHAAAABwAAAAaAAAAGgAAABwAAAAcAAAAHAAAABwAAAAYAAAAGAAAABwAAAAcAAAAGAAAABgAAAAcAAAAHAAAAAgAAAAaAAAAGgAAABgAAAAYAAAAHAAAAB0AAAAEAAAAGgAAABoAAAAaAAAAGAAAABgAAAASAAAAEgAAABgAAAAYAAAAEgAAABIAAAAUAAAAFAAAACAAAAAekAAAFsAAABbAAAAaAAAAGgAAABGAAAAQAAAAEAAAABAAAAAaAAAAGgAAAB4AAAAeAAAADYAAAA2AAAAUAAAAFAAAAAwAAAAUAAAAGgAAABoAAAAYAAAAGAAAABgAAAAYAAAAFAAAABQAAAAYAAAAGAAAABAAAAAQAAAAGAAAQBgAAEAcAAAAHAAAABQAAAAUAAAAFAAAABQAAAAcAAAAHAAAABwAAAAcAAAADgAAAA4AAAAQAAAAEAAAABAAAAAaAAAAGgAAABoAAAAaAAAAHAAAABwAAAAaAAAAGgAAAB4AAAAcAAAAEgAAABIAAAAeAAAAHgAAABgAAAAYAAAAEAAAABoAAAAaAAAAHAAAABgAAAAYAAAAHAAAABwAAAAUAAAAFAAAABgAAA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AAFBbAABQiQAAUJ8AAFDgAABRDAAAUScAAFGZAABRyAAAUfUAAFIGAABSWgAAUoUAAFKyAABS1gAAUvEAAFMtAABTSQAAU2gAAFNyAABTpwAAU9AAAFPvAABUFwAAVGMAAFSUAABUtwAAVM0AAFTnAABVBAAAVR8AAFU3AABVawAAVYIAAFWhAABVxwAAVd0AAFX2AABWIwAAVk0AAFZjAABWfwAAVsMAAFcNAABXNQAAV10AAFd/AABXpwAAV9MAAFf/AABYFQAAWCUAAFhUAABYcwAAWKEAAFi9AABY1wAAWRgAAFlNAABZowAAWcQAAFoAAABacAAAWrwAAFstAABbkQAAW+sAAFwsAABcUAAAXG4AAFzTAABdIAAAXXwAAF3DAABdzQAAXdcAAF3hAABd6wAAXfUAAF4PAABeKgAAXkUAAF5fAABeaQAAXvQAAF+AAABfuwAAYA8AAGC2AABhSwAAYbEAAGIIAABiOwAAYmEAAGLsAABjKwAAY0UAAGNTAABjmAAAY8UAAGQMAABkPgAAZHQAAGSSAABkywAAZRUAAGVKAABlYAAAZesAAGYsAABmcAAAZqgAAGcEAABnRwAAZ4EAAGetAABn6wAAaBQAAGhaAABohAAAaJMAAGi2AABo0AAAaO8AAGkGAABpJwAAaUAAAGlPAABpeAAAaZcAAGncAABqCQAAakQAAGqJAABquQAAauIAAGs/AABrmgAAa9UAAGwFAABsxQAAbTAAAG2ZAABuIgAAbl8AAG6YAABuxAAAbukAAG8gAABvVgAAb5oAAG/PAABv9QAAcBwAAHA8AABwWQAAcHUAAHCUAABwrwAAcPwAAHE3AABxSAAAcVMAAHGJAABxwwAAchwAAHJxAABysgAActsAAHMOAABzKgAAc38AAHPiAAB1sQAAdnwAAHa1AAB26QAAd04AAHeRAAB37wAAeG4AAHjrAAB5RAAAedMAAHoVAAB6VAAAeoQAAHqsAAB64QAAexwAAHs4AAB7aAAAe7AAAHvdAAB8DAAAfCoAAHxdAAB8jwAAfKkAAHzUAAB8+AAAfUkAAH3gAAB+NAAAfoQAAH69AAB+/AAAfy8AAH9bAAB/dQAAf6gAAH/VAACAEgAAgE4AAIB7AACAlgAAgNkAAIEqAACBaQAAgZ0AAIHGAACB0wAAgfEAAIIHAACCIwAAgkc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AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIZAhoCGwIcAh0CHgIfAiACIQIiAiMCJAIlAiYCJwIoAikCKgIrAiwCLQIuAi8CMAIxAjICMwI0AjUCNgI3AjgCOQI6AjsCPAI9Aj4CPwJAAkECQgJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLTAtQC1QLWAtcC2ALZAtoC2wLcAt0C3gLfAuAC4QLiAuMC5ALlAuYC5wLoAukC6gLrAuwC7QLuAu8C8ALxAvIC8wL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD1APVA9YD1wPYA9kD2gPbA9wD3QPeB3VuaUYxMDAHdW5pRjEwMQd1bmlGMTAyB3VuaUYxMDMHdW5pRjEwNAd1bmlGMTA1B3VuaUYxMDYHdW5pRjEwNwd1bmlGMTA4B3VuaUYxMDkHdW5pRjEwQQd1bmlGMTBCB3VuaUYxMEMHdW5pRjEwRAd1bmlGMTBFB3VuaUYxMEYHdW5pRjExMAd1bmlGMTExB3VuaUYxMTIHdW5pRjExMwd1bmlGMTE0B3VuaUYxMTUHdW5pRjExNgd1bmlGMTE3B3VuaUYxMTgHdW5pRjExOQd1bmlGMTFBB3VuaUYxMUIHdW5pRjExQwd1bmlGMTFEB3VuaUYxMUUHdW5pRjExRgd1bmlGMTIwB3VuaUYxMjEHdW5pRjEyMgd1bmlGMTIzB3VuaUYxMjQHdW5pRjEyNQd1bmlGMTI2B3VuaUYxMjcHdW5pRjEyOAd1bmlGMTI5B3VuaUYxMkEHdW5pRjEyQgd1bmlGMTJDB3VuaUYxMkQHdW5pRjEyRQd1bmlGMTJGB3VuaUYxMzAHdW5pRjEzMQd1bmlGMTMyB3VuaUYxMzMHdW5pRjEzNAd1bmlGMTM1B3VuaUYxMzYHdW5pRjEzNwd1bmlGMTM5B3VuaUYxM0EHdW5pRjEzRAd1bmlGMTNFB3VuaUYxM0YHdW5pRjE0MAd1bmlGMTQxB3VuaUYxNDIHdW5pRjE0Mwd1bmlGMTQ0B3VuaUYxNDcHdW5pRjE0OAd1bmlGMTQ5B3VuaUYxNEEHdW5pRjE0Qgd1bmlGMUY5B3VuaUYxRkEHdW5pRjFGQgd1bmlGMUZDB3VuaUYxRkQHdW5pRjFGRQd1bmlGMUZGB3VuaUYyMDAHdW5pRjIwMQd1bmlGMjAyB3VuaUYyMDMHdW5pRjIwNAd1bmlGMjA1B3VuaUYyMDYHdW5pRjIwNwd1bmlGMjA4B3VuaUYyMDkHdW5pRjIwQQd1bmlGMjBCB3VuaUYyMEMHdW5pRjIwRAd1bmlGMjBFB3VuaUYyMEYHdW5pRjIxMAd1bmlGMjExB3VuaUYyMTIHdW5pRjIxMwd1bmlGMjE0B3VuaUYyMTUHdW5pRjIxNgd1bmlGMjE3B3VuaUYyMTgHdW5pRjIxOQd1bmlGMjFBB3VuaUYyMUIHdW5pRjIxQwd1bmlGMjFEB3VuaUYyMUUHdW5pRjIxRgd1bmlGMjIwB3VuaUYyMjEHdW5pRjIyMgd1bmlGMjIzB3VuaUYyMjQHdW5pRjIyNQd1bmlGMjI2B3VuaUYyMjcHdW5pRjIyOAd1bmlGMjI5B3VuaUYyMkEHdW5pRjIyQgd1bmlGMjJDB3VuaUYyMkQHdW5pRjIyRQd1bmlGMjJGB3VuaUYyMzAHdW5pRjIzMQd1bmlGMjMyB3VuaUYyMzMHdW5pRjIzNAd1bmlGMjM1B3VuaUYyMzYHdW5pRjIzNwd1bmlGMjM4B3VuaUYyMzkHdW5pRjIzQQd1bmlGMjNCB3VuaUYyM0MHdW5pRjIzRAd1bmlGMjNFB3VuaUYyM0YHdW5pRjI0MAd1bmlGMjQxB3VuaUYyNDIHdW5pRjI0Mwd1bmlGMjQ0B3VuaUYyNDUHdW5pRjI0Ngd1bmlGMjQ3B3VuaUYyNDgHdW5pRjI0OQd1bmlGMjRBB3VuaUYyNEIHdW5pRjI0Qwd1bmlGMjREB3VuaUYyNEUHdW5pRjI0Rgd1bmlGMjUwB3VuaUYyNTEHdW5pRjI1Mgd1bmlGMjUzB3VuaUYyNTQHdW5pRjI1NQd1bmlGMjU2B3VuaUYyNTcHdW5pRjI1OAd1bmlGMjU5B3VuaUYyNUEHdW5pRjI1Qgd1bmlGMjVDB3VuaUYyNUQHdW5pRjI1RQd1bmlGMjVGB3VuaUYyNjAHdW5pRjI2MQd1bmlGMjYyB3VuaUYyNjMHdW5pRjI2NAd1bmlGMjY1B3VuaUYyNjYHdW5pRjI2Nwd1bmlGMjY4B3VuaUYyNjkHdW5pRjI2QQd1bmlGMjZCB3VuaUYyNkMHdW5pRjI2RAd1bmlGMjZFB3VuaUYyNkYHdW5pRjI3MAd1bmlGMjcxB3VuaUYyNzIHdW5pRjI3Mwd1bmlGMjc0B3VuaUYyNzUHdW5pRjI3Ngd1bmlGMjc3B3VuaUYyNzgHdW5pRjI3OQd1bmlGMjdBB3VuaUYyN0IHdW5pRjI3Qwd1bmlGMjdEB3VuaUYyOTUHdW5pRjI5Ngd1bmlGMjk3B3VuaUYyOTgHdW5pRjI5OQd1bmlGMjlBB3VuaUYyOUIHdW5pRjI5Qwd1bmlGMjlEB3VuaUYyOUUHdW5pRjI5Rgd1bmlGMkEwB3VuaUYyQTEHdW5pRjJBMgd1bmlGMkEzB3VuaUYyQTQHdW5pRjJBNQd1bmlGMkE2B3VuaUYyQTcHdW5pRjJBOAd1bmlGMkE5B3VuaUYyQUEHdW5pRjJBQgd1bmlGMkFDB3VuaUYyQUQHdW5pRjJBRQd1bmlGMkFGB3VuaUYyQjAHdW5pRjJCMQd1bmlGMkIyB3VuaUYyQjMHdW5pRjJCNAd1bmlGMkI1B3VuaUYyQjYHdW5pRjJCNwd1bmlGMkI4B3VuaUYyQjkHdW5pRjJCQQd1bmlGMkJFB3VuaUYyQkYHdW5pRjJDMAd1bmlGMkMxB3VuaUYyQzIHdW5pRjJDMwd1bmlGMkM0B3VuaUYyQzUHdW5pRjJDNwd1bmlGMkM5B3VuaUYyQ0EHdW5pRjJEMQd1bmlGMkQyB3VuaUYyRDMHdW5pRjJENAd1bmlGMkQ3B3VuaUYyRDgHdW5pRjJEOQd1bmlGMkREB3VuaUYyRTAHdW5pRjJFMwd1bmlGMkU0B3VuaUYyRTkHdW5pRjJFQgd1bmlGMkVDB3VuaUYyRjAHdW5pRjJGNAd1bmlGMkY1B3VuaUYyRjYHdW5pRjJGNwd1bmlGMkY4B3VuaUYyRkMHdW5pRjJGRAd1bmlGMzA1B3VuaUYzMDYHdW5pRjMwQQd1bmlGMzBCB3VuaUYzMEMHdW5pRjMwRgd1bmlGMzEzB3VuaUYzMTQHdW5pRjMxNQd1bmlGMzE2B3VuaUYzMTcHdW5pRjMxOAd1bmlGMzE5B3VuaUYzMUEHdW5pRjMxQgd1bmlGMzFDB3VuaUYzMUQHdW5pRjMzRgd1bmlGMzQwB3VuaUYzNDEHdW5pRjM0Mgd1bmlGMzQzB3VuaUYzNDQHdW5pRjM0NQd1bmlGMzQ2B3VuaUYzNDcHdW5pRjM0OAd1bmlGMzQ5B3VuaUYzNEEHdW5pRjM0Qgd1bmlGMzRDB3VuaUYzNEQHdW5pRjM0RQd1bmlGMzRGB3VuaUYzNTAHdW5pRjM1MQd1bmlGMzUyB3VuaUYzNTMHdW5pRjM1NAd1bmlGMzU1B3VuaUYzNTYHdW5pRjM1Nwd1bmlGMzU4B3VuaUYzNTkHdW5pRjM1QQd1bmlGMzVCB3VuaUYzNUMHdW5pRjM1RAd1bmlGMzVFB3VuaUYzNUYHdW5pRjM2MAd1bmlGMzYxB3VuaUYzNjIHdW5pRjM2Mwd1bmlGMzY0B3VuaUYzNjUHdW5pRjM2Ngd1bmlGMzY3B3VuaUYzNjgHdW5pRjM2OQd1bmlGMzZBB3VuaUYzNkIHdW5pRjM2Qwd1bmlGMzZEB3VuaUYzNkUHdW5pRjM2Rgd1bmlGMzcwB3VuaUYzNzEHdW5pRjM3Mgd1bmlGMzczB3VuaUYzNzQHdW5pRjM3NQd1bmlGMzc2B3VuaUYzNzcHdW5pRjM3OAd1bmlGMzc5B3VuaUYzN0EHdW5pRjM3Qgd1bmlGMzdDB3VuaUYzN0QHdW5pRjM3RQd1bmlGMzdGB3VuaUYzODAHdW5pRjM4MQd1bmlGMzgyB3VuaUYzODMHdW5pRjM4NAd1bmlGMzg1B3VuaUYzODYHdW5pRjM4Nwd1bmlGMzg4B3VuaUYzODkHdW5pRjM4QQd1bmlGMzhCB3VuaUYzOEMHdW5pRjM4RAd1bmlGMzhFB3VuaUYzOEYHdW5pRjM5MAd1bmlGMzkxB3VuaUYzOTIHdW5pRjM5Mwd1bmlGMzk0B3VuaUYzOTUHdW5pRjM5Ngd1bmlGMzk3B3VuaUYzOTgHdW5pRjM5OQd1bmlGMzlBB3VuaUYzOUIHdW5pRjM5Qwd1bmlGMzlEB3VuaUYzOUUHdW5pRjM5Rgd1bmlGM0EwB3VuaUYzQTEHdW5pRjNBMgd1bmlGM0EzB3VuaUYzQTQHdW5pRjNBNQd1bmlGM0E2B3VuaUYzQTcHdW5pRjNBOAd1bmlGM0E5B3VuaUYzQUEHdW5pRjNBQgd1bmlGM0FDB3VuaUYzQUQHdW5pRjNBRQd1bmlGM0FGB3VuaUYzQjAHdW5pRjNCMQd1bmlGM0IyB3VuaUYzQjMHdW5pRjNCNAd1bmlGM0I1B3VuaUYzQjYHdW5pRjNCNwd1bmlGM0I4B3VuaUYzQjkHdW5pRjNCQQd1bmlGM0JCB3VuaUYzQkMHdW5pRjNCRAd1bmlGM0JFB3VuaUYzQkYHdW5pRjNDMAd1bmlGM0MxB3VuaUYzQzIHdW5pRjNDMwd1bmlGM0M0B3VuaUYzQzUHdW5pRjNDNgd1bmlGM0M3B3VuaUYzQzgHdW5pRjNDOQd1bmlGM0NBB3VuaUYzQ0IHdW5pRjNDQwd1bmlGM0NEB3VuaUYzQ0UHdW5pRjNDRgd1bmlGM0QwB3VuaUYzRDEHdW5pRjNEMgd1bmlGM0QzB3VuaUYzRDQHdW5pRjNENQd1bmlGM0Q2B3VuaUYzRDcHdW5pRjNEOAd1bmlGM0Q5B3VuaUYzREEHdW5pRjNEQgd1bmlGM0RDB3VuaUYzREQHdW5pRjNERQd1bmlGM0RGB3VuaUYzRTAHdW5pRjNFMQd1bmlGM0UyB3VuaUYzRTMHdW5pRjNFNAd1bmlGM0U1B3VuaUYzRTYHdW5pRjNFNwd1bmlGM0U4B3VuaUYzRTkHdW5pRjNFQQd1bmlGM0VCB3VuaUYzRUMHdW5pRjNFRAd1bmlGM0VFB3VuaUYzRUYHdW5pRjNGMAd1bmlGM0YxB3VuaUYzRjIHdW5pRjNGMwd1bmlGM0Y0B3VuaUYzRjUHdW5pRjNGNgd1bmlGM0Y3B3VuaUYzRjgHdW5pRjNGOQd1bmlGM0ZBB3VuaUYzRkIHdW5pRjNGQwd1bmlGM0ZEB3VuaUYzRkUHdW5pRjNGRgd1bmlGNDAwB3VuaUY0MDEHdW5pRjQwMgd1bmlGNDAzB3VuaUY0MDQHdW5pRjQwNQd1bmlGNDA2B3VuaUY0MDcHdW5pRjQwOAd1bmlGNDA5B3VuaUY0MEEHdW5pRjQwQgd1bmlGNDBDB3VuaUY0MEQHdW5pRjQwRQd1bmlGNDBGB3VuaUY0MTAHdW5pRjQxMQd1bmlGNDEyB3VuaUY0MTMHdW5pRjQxNAd1bmlGNDE1B3VuaUY0MTYHdW5pRjQxNwd1bmlGNDE4B3VuaUY0MTkHdW5pRjQxQQd1bmlGNDFCB3VuaUY0MUMHdW5pRjQxRAd1bmlGNDFFB3VuaUY0MUYHdW5pRjQyMAd1bmlGNDIxB3VuaUY0MjIHdW5pRjQyMwd1bmlGNDI0B3VuaUY0MjUHdW5pRjQyNgd1bmlGNDI3B3VuaUY0MjgHdW5pRjQyOQd1bmlGNDJBB3VuaUY0MkIHdW5pRjQyQwd1bmlGNDJEB3VuaUY0MkUHdW5pRjQyRgd1bmlGNDMwB3VuaUY0MzEHdW5pRjQzMgd1bmlGNDMzB3VuaUY0MzQHdW5pRjQzNQd1bmlGNDM2B3VuaUY0MzcHdW5pRjQzOAd1bmlGNDM5B3VuaUY0M0EHdW5pRjQzQgd1bmlGNDNDB3VuaUY0M0QHdW5pRjQzRQd1bmlGNDNGB3VuaUY0NDAHdW5pRjQ0MQd1bmlGNDQyB3VuaUY0NDMHdW5pRjQ0NAd1bmlGNDQ1B3VuaUY0NDYHdW5pRjQ0Nwd1bmlGNDQ4B3VuaUY0NDkHdW5pRjQ0QQd1bmlGNDRCB3VuaUY0NEMHdW5pRjQ0RAd1bmlGNDRFB3VuaUY0NEYHdW5pRjQ1MAd1bmlGNDUxB3VuaUY0NTIHdW5pRjQ1Mwd1bmlGNDU0B3VuaUY0NTUHdW5pRjQ1Ngd1bmlGNDU3B3VuaUY0NTgHdW5pRjQ1OQd1bmlGNDVBB3VuaUY0NUIHdW5pRjQ1Qwd1bmlGNDVEB3VuaUY0NUUHdW5pRjQ1Rgd1bmlGNDYwB3VuaUY0NjEHdW5pRjQ2Mgd1bmlGNDYzB3VuaUY0NjQHdW5pRjQ2NQd1bmlGNDY2B3VuaUY0NjcHdW5pRjQ2OAd1bmlGNDY5B3VuaUY0NkEHdW5pRjQ2Qgd1bmlGNDZDB3VuaUY0NkQHdW5pRjQ2RQd1bmlGNDZGB3VuaUY0NzAHdW5pRjQ3MQd1bmlGNDcyB3VuaUY0NzMHdW5pRjQ3NAd1bmlGNDc1B3VuaUY0NzYHdW5pRjQ3Nwd1bmlGNDc4B3VuaUY0NzkHdW5pRjQ3QQd1bmlGNDdCB3VuaUY0N0MHdW5pRjQ3RAd1bmlGNDdFB3VuaUY0N0YHdW5pRjQ4MAd1bmlGNDgxB3VuaUY0ODIHdW5pRjQ4Mwd1bmlGNDg0B3VuaUY0ODUHdW5pRjQ4Ngd1bmlGNDg3B3VuaUY0ODgHdW5pRjQ4OQd1bmlGNDhBB3VuaUY0OEIHdW5pRjQ4Qwd1bmlGNDhEB3VuaUY0OEUHdW5pRjQ4Rgd1bmlGNDkwB3VuaUY0OTEHdW5pRjQ5Mgd1bmlGNDkzB3VuaUY0OTQHdW5pRjQ5NQd1bmlGNDk2B3VuaUY0OTcHdW5pRjQ5OAd1bmlGNDk5B3VuaUY0OUEHdW5pRjQ5Qgd1bmlGNDlDB3VuaUY0OUQHdW5pRjQ5RQd1bmlGNDlGB3VuaUY0QTAHdW5pRjRBMQd1bmlGNEEyB3VuaUY0QTMHdW5pRjRBNAd1bmlGNEE1B3VuaUY0QTYHdW5pRjRBNwd1bmlGNEE4B3VuaUY0QTkHdW5pRjRBQQd1bmlGNEFCB3VuaUY0QUMHdW5pRjRBRAd1bmlGNEFFB3VuaUY0QUYHdW5pRjRCMAd1bmlGNEIxB3VuaUY0QjIHdW5pRjRCMwd1bmlGNEI0B3VuaUY0QjUHdW5pRjRCNgd1bmlGNEI3B3VuaUY0QjgHdW5pRjRCOQd1bmlGNEJBB3VuaUY0QkIHdW5pRjRCQwd1bmlGNEJEB3VuaUY0QkUHdW5pRjRCRgd1bmlGNEMwB3VuaUY0QzEHdW5pRjRDMgd1bmlGNEMzB3VuaUY0QzQHdW5pRjRDNQd1bmlGNEM2B3VuaUY0QzcHdW5pRjRDOAd1bmlGNEM5B3VuaUY0Q0EHdW5pRjRDQgd1bmlGNENDB3VuaUY0Q0QHdW5pRjRDRQd1bmlGNENGB3VuaUY0RDAHdW5pRjREMQd1bmlGNEQyB3VuaUY0RDMHdW5pRjRENAd1bmlGNEQ1B3VuaUY0RDYHdW5pRjRENwd1bmlGNEQ4B3VuaUY0RDkHdW5pRjREQQd1bmlGNERCB3VuaUY0REMHdW5pRjRERAd1bmlGNERFB3VuaUY0REYHdW5pRjRFMAd1bmlGNEUxB3VuaUY0RTIHdW5pRjRFMwd1bmlGNEU0B3VuaUY0RTUHdW5pRjRFNgd1bmlGNEU3B3VuaUY0RTgHdW5pRjRFOQd1bmlGNEVBB3VuaUY0RUIHdW5pRjRFQwd1bmlGNEVEB3VuaUY0RUUHdW5pRjRFRgd1bmlGNEYwB3VuaUY0RjEHdW5pRjRGMgd1bmlGNEYzB3VuaUY0RjQHdW5pRjRGNQd1bmlGNEY2B3VuaUY0RjcAAAABAAH//wAPAAAAAAAAAAAAAAAAAAAAAAAyADIBwP/AAcD/wLAALLAgYGYtsAEsIGQgsMBQsAQmWrAERVtYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsApFYWSwKFBYIbAKRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAArWVkjsABQWGVZWS2wAiwgRSCwBCVhZCCwBUNQWLAFI0KwBiNCGyEhWbABYC2wAywjISMhIGSxBWJCILAGI0KyCgACKiEgsAZDIIogirAAK7EwBSWKUVhgUBthUllYI1khILBAU1iwACsbIbBAWSOwAFBYZVktsAQssAdDK7IAAgBDYEItsAUssAcjQiMgsAAjQmGwgGKwAWCwBCotsAYsICBFILACRWOwAUViYESwAWAtsAcsICBFILAAKyOxAgQlYCBFiiNhIGQgsCBQWCGwABuw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"}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.gstatic.com/maps-api-v3/embed/js/65/10a/init_embed.js","fqdn":"maps.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":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.708Z","timestamp":1785154928708,"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 /maps-api-v3/embed/js/65/10a/init_embed.js HTTP/1.1\r\nHost: maps.gstatic.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 74834\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:34 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:34 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 07:59:47 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411634\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":251642,"size_decoded":75673,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (1842)","md5":"424edc36df5a2d8b663652504970eecd","sha1":"46307cfcd6bc5de9966d62bcec39e3a40dfdfd01","sha256":"592c00f5f216755d1a2872ab7f95ce149ab3f6640c9c1f7343f5dc3892866cfd","sha512":"4b7949e0c81e20723b471b3acd67a42a2f4ec8012a07e7de8b982c2b0ceb6b9a5abacc4d46e884b1228fc492e1a79ddb5ff0065ded4747b45b8e99a9688a078f","ssdeep":"3072:4T+6KaHLm378DYbh4ROPi60EHwIJubLisDqDP:43lO7KYt6kieHwUu3bDy","tlshash":"11342bdc7265706682b398f1002f014bb235f8a6f44c84b8f195e9e5ae74da902b7f7d","first_seen":"2026-07-22T18:33:47.554302Z","last_seen":"2026-08-06T16:21:42.880587Z","times_seen":953,"resource_available":true,"data":"KGZ1bmN0aW9uKCkgeyd1c2Ugc3RyaWN0JztmdW5jdGlvbiBhYSgpe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYX19ZnVuY3Rpb24gYmEoKXtyZXR1cm4gZnVuY3Rpb24oKXt9fWZ1bmN0aW9uIGNhKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzW2FdfX1mdW5jdGlvbiBkYShhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYX19dmFyIHUsZWE9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7fWIucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxmYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfTsKZnVuY3Rpb24gaGEoYSl7YT1bIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLGEsIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdywib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYsIm9iamVjdCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbF07Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07aWYoYyYmYy5NYXRoPT1NYXRoKXJldHVybiBjfXRocm93IEVycm9yKCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0Iik7fXZhciBpYT1oYSh0aGlzKSxqYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGphLnB1c2goIkJpZ0ludDY0IiksamEucHVzaCgiQmlnVWludDY0IikpOwpmdW5jdGlvbiBrYShhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxqYS5sZW5ndGg7YysrKWxhKGphW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfWZ1bmN0aW9uIHgoYSxiKXtiJiZsYShhLGIpfWZ1bmN0aW9uIGxhKGEsYil7dmFyIGM9aWE7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aC0xO2QrKyl7dmFyIGU9YVtkXTtpZighKGUgaW4gYykpcmV0dXJuO2M9Y1tlXX1hPWFbYS5sZW5ndGgtMV07ZD1jW2FdO2I9YihkKTtiIT1kJiZiIT1udWxsJiZmYShjLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9CnZhciBtYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmdW5jdGlvbiBjKCl7fW5ldyBjO1JlZmxlY3QuY29uc3RydWN0KGMsW10sYmEoKSk7cmV0dXJuIG5ldyBjIGluc3RhbmNlb2YgY31pZih0eXBlb2YgUmVmbGVjdCE9InVuZGVmaW5lZCImJlJlZmxlY3QuY29uc3RydWN0KXtpZihhKCkpcmV0dXJuIFJlZmxlY3QuY29uc3RydWN0O3ZhciBiPVJlZmxlY3QuY29uc3RydWN0O3JldHVybiBmdW5jdGlvbihjLGQsZSl7Yz1iKGMsZCk7ZSYmUmVmbGVjdC5zZXRQcm90b3R5cGVPZihjLGUucHJvdG90eXBlKTtyZXR1cm4gY319cmV0dXJuIGZ1bmN0aW9uKGMsZCxlKXtlPT09dm9pZCAwJiYoZT1jKTtlPWVhKGUucHJvdG90eXBlfHxPYmplY3QucHJvdG90eXBlKTtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoYyxlLGQpfHxlfX0oKSxuYTsKaWYodHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZj09ImZ1bmN0aW9uIiluYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgb2E7YTp7dmFyIHBhPXthOiEwfSxxYT17fTt0cnl7cWEuX19wcm90b19fPXBhO29hPXFhLmE7YnJlYWsgYX1jYXRjaChhKXt9b2E9ITF9bmE9b2E/ZnVuY3Rpb24oYSxiKXthLl9fcHJvdG9fXz1iO2lmKGEuX19wcm90b19fIT09Yil0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgZXh0ZW5zaWJsZSIpO3JldHVybiBhfTpudWxsfXZhciByYT1uYTsKZnVuY3Rpb24geihhLGIpe2EucHJvdG90eXBlPWVhKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2lmKHJhKXJhKGEsYik7ZWxzZSBmb3IodmFyIGMgaW4gYilpZihjIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIGQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpO2QmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGMsZCl9ZWxzZSBhW2NdPWJbY107YS5KYT1iLnByb3RvdHlwZX1mdW5jdGlvbiBzYShhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0KZnVuY3Rpb24gQShhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6c2EoYSl9O3Rocm93IEVycm9yKFN0cmluZyhhKSsiIGlzIG5vdCBhbiBpdGVyYWJsZSBvciBBcnJheUxpa2UiKTt9ZnVuY3Rpb24gdGEoYSl7aWYoIShhIGluc3RhbmNlb2YgQXJyYXkpKXthPUEoYSk7Zm9yKHZhciBiLGM9W107IShiPWEubmV4dCgpKS5kb25lOyljLnB1c2goYi52YWx1ZSk7YT1jfXJldHVybiBhfWZ1bmN0aW9uIHVhKGEpe3JldHVybiB2YShhLGEpfWZ1bmN0aW9uIHZhKGEsYil7YS5yYXc9YjtPYmplY3QuZnJlZXplJiYoT2JqZWN0LmZyZWV6ZShhKSxPYmplY3QuZnJlZXplKGIpKTtyZXR1cm4gYX0KZnVuY3Rpb24gd2EoYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9dmFyIHhhPXR5cGVvZiBPYmplY3QuYXNzaWduPT0iZnVuY3Rpb24iP09iamVjdC5hc3NpZ246ZnVuY3Rpb24oYSxiKXtpZihhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIG51bGxpc2ggYXJnIik7YT1PYmplY3QoYSk7Zm9yKHZhciBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl7dmFyIGQ9YXJndW1lbnRzW2NdO2lmKGQpZm9yKHZhciBlIGluIGQpd2EoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O3goIk9iamVjdC5hc3NpZ24iLGZ1bmN0aW9uKGEpe3JldHVybiBhfHx4YX0pO2Z1bmN0aW9uIHlhKGEpe2lmKCEoYSBpbnN0YW5jZW9mIE9iamVjdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiSXRlcmF0b3IgcmVzdWx0ICIrYSsiIGlzIG5vdCBhbiBvYmplY3QiKTt9CmZ1bmN0aW9uIEIoKXt0aGlzLkY9ITE7dGhpcy5sPW51bGw7dGhpcy5EPXZvaWQgMDt0aGlzLmc9MTt0aGlzLmo9dGhpcy5BPTA7dGhpcy5MPXRoaXMuaT1udWxsfWZ1bmN0aW9uIHphKGEpe2lmKGEuRil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7YS5GPSEwfUIucHJvdG90eXBlLkk9ZnVuY3Rpb24oYSl7dGhpcy5EPWF9O2Z1bmN0aW9uIEFhKGEsYil7YS5pPXtUYjpiLFdiOiEwfTthLmc9YS5BfHxhLmp9Qi5wcm90b3R5cGUuZ2V0TmV4dEFkZHJlc3NKc2M9Y2EoImciKTtCLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1jYSgiRCIpO0IucHJvdG90eXBlLnJldHVybj1mdW5jdGlvbihhKXt0aGlzLmk9e3JldHVybjphfTt0aGlzLmc9dGhpcy5qfTtCLnByb3RvdHlwZVsicmV0dXJuIl09Qi5wcm90b3R5cGUucmV0dXJuO0IucHJvdG90eXBlLm1jPWZ1bmN0aW9uKGEpe3RoaXMuaT17bWE6YX07dGhpcy5nPXRoaXMuan07CkIucHJvdG90eXBlLmp1bXBUaHJvdWdoRmluYWxseUJsb2Nrcz1CLnByb3RvdHlwZS5tYztCLnByb3RvdHlwZS5DPWZ1bmN0aW9uKGEsYil7dGhpcy5nPWI7cmV0dXJue3ZhbHVlOmF9fTtCLnByb3RvdHlwZS55aWVsZD1CLnByb3RvdHlwZS5DO0IucHJvdG90eXBlLnFjPWZ1bmN0aW9uKGEsYil7YT1BKGEpO3ZhciBjPWEubmV4dCgpO3lhKGMpO2lmKGMuZG9uZSl0aGlzLkQ9Yy52YWx1ZSx0aGlzLmc9YjtlbHNlIHJldHVybiB0aGlzLmw9YSx0aGlzLkMoYy52YWx1ZSxiKX07Qi5wcm90b3R5cGUueWllbGRBbGw9Qi5wcm90b3R5cGUucWM7Qi5wcm90b3R5cGUubWE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O0IucHJvdG90eXBlLmp1bXBUbz1CLnByb3RvdHlwZS5tYTtCLnByb3RvdHlwZS5QPWZ1bmN0aW9uKCl7dGhpcy5nPTB9O0IucHJvdG90eXBlLmp1bXBUb0VuZD1CLnByb3RvdHlwZS5QOwpCLnByb3RvdHlwZS5FYT1mdW5jdGlvbihhLGIpe3RoaXMuQT1hO2IhPXZvaWQgMCYmKHRoaXMuaj1iKX07Qi5wcm90b3R5cGUuc2V0Q2F0Y2hGaW5hbGx5QmxvY2tzPUIucHJvdG90eXBlLkVhO0IucHJvdG90eXBlLm9jPWZ1bmN0aW9uKGEpe3RoaXMuQT0wO3RoaXMuaj1hfHwwfTtCLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9Qi5wcm90b3R5cGUub2M7Qi5wcm90b3R5cGUuUz1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMuQT1ifHwwfTtCLnByb3RvdHlwZS5sZWF2ZVRyeUJsb2NrPUIucHJvdG90eXBlLlM7Qi5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt0aGlzLkE9YXx8MDthPXRoaXMuaS5UYjt0aGlzLmk9bnVsbDtyZXR1cm4gYX07Qi5wcm90b3R5cGUuZW50ZXJDYXRjaEJsb2NrPUIucHJvdG90eXBlLks7Qi5wcm90b3R5cGUuYmI9ZnVuY3Rpb24oYSxiLGMpe2M/dGhpcy5MW2NdPXRoaXMuaTp0aGlzLkw9W3RoaXMuaV07dGhpcy5BPWF8fDA7dGhpcy5qPWJ8fDB9OwpCLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1CLnByb3RvdHlwZS5iYjtCLnByb3RvdHlwZS5uYz1mdW5jdGlvbihhLGIpe2I9dGhpcy5MLnNwbGljZShifHwwKVswXTsoYj10aGlzLmk9dGhpcy5pfHxiKT9iLldiP3RoaXMuZz10aGlzLkF8fHRoaXMuajpiLm1hIT12b2lkIDAmJnRoaXMuajxiLm1hPyh0aGlzLmc9Yi5tYSx0aGlzLmk9bnVsbCk6dGhpcy5nPXRoaXMuajp0aGlzLmc9YX07Qi5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9Qi5wcm90b3R5cGUubmM7Qi5wcm90b3R5cGUubGM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBCYShhKX07Qi5wcm90b3R5cGUuZm9ySW49Qi5wcm90b3R5cGUubGM7ZnVuY3Rpb24gQmEoYSl7dGhpcy5qPWE7dGhpcy5nPVtdO2Zvcih2YXIgYiBpbiBhKXRoaXMuZy5wdXNoKGIpO3RoaXMuZy5yZXZlcnNlKCl9CkJhLnByb3RvdHlwZS5pPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmcubGVuZ3RoPjA7KXt2YXIgYT10aGlzLmcucG9wKCk7aWYoYSBpbiB0aGlzLmopcmV0dXJuIGF9cmV0dXJuIG51bGx9O0JhLnByb3RvdHlwZS5nZXROZXh0PUJhLnByb3RvdHlwZS5pO2Z1bmN0aW9uIENhKGEpe3RoaXMuZz1uZXcgQjt0aGlzLmk9YX1mdW5jdGlvbiBFYShhLGIpe3phKGEuZyk7dmFyIGM9YS5nLmw7aWYoYylyZXR1cm4gRmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5nLnJldHVybik7YS5nLnJldHVybihiKTtyZXR1cm4gR2EoYSl9CmZ1bmN0aW9uIEZhKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5nLmwsYyk7eWEoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5nLkY9ITEsZTt2YXIgZj1lLnZhbHVlfWNhdGNoKGcpe3JldHVybiBhLmcubD1udWxsLEFhKGEuZyxnKSxHYShhKX1hLmcubD1udWxsO2QuY2FsbChhLmcsZik7cmV0dXJuIEdhKGEpfWZ1bmN0aW9uIEdhKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmkoYS5nKTtpZihiKXJldHVybiBhLmcuRj0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuRD12b2lkIDAsQWEoYS5nLGMpfWEuZy5GPSExO2lmKGEuZy5pKXtiPWEuZy5pO2EuZy5pPW51bGw7aWYoYi5XYil0aHJvdyBiLlRiO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fQpmdW5jdGlvbiBIYShhKXt0aGlzLm5leHQ9ZnVuY3Rpb24oYil7emEoYS5nKTthLmcubD9iPUZhKGEsYS5nLmwubmV4dCxiLGEuZy5JKTooYS5nLkkoYiksYj1HYShhKSk7cmV0dXJuIGJ9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7emEoYS5nKTthLmcubD9iPUZhKGEsYS5nLmxbInRocm93Il0sYixhLmcuSSk6KEFhKGEuZyxiKSxiPUdhKGEpKTtyZXR1cm4gYn07dGhpcy5yZXR1cm49ZnVuY3Rpb24oYil7cmV0dXJuIEVhKGEsYil9O3RoaXNbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfX1mdW5jdGlvbiBJYShhKXtmdW5jdGlvbiBiKGQpe3JldHVybiBhLm5leHQoZCl9ZnVuY3Rpb24gYyhkKXtyZXR1cm4gYS50aHJvdyhkKX1yZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZCxlKXtmdW5jdGlvbiBmKGcpe2cuZG9uZT9kKGcudmFsdWUpOlByb21pc2UucmVzb2x2ZShnLnZhbHVlKS50aGVuKGIsYykudGhlbihmLGUpfWYoYS5uZXh0KCkpfSl9CmZ1bmN0aW9uIEphKGEpe3JldHVybiBJYShuZXcgSGEobmV3IENhKGEpKSl9ZnVuY3Rpb24gS2EoKXtmb3IodmFyIGE9TnVtYmVyKHRoaXMpLGI9W10sYz1hO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspYltjLWFdPWFyZ3VtZW50c1tjXTtyZXR1cm4gYn14KCJnbG9iYWxUaGlzIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8aWF9KTt4KCJSZWZsZWN0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnt9fSk7eCgiUmVmbGVjdC5jb25zdHJ1Y3QiLGZ1bmN0aW9uKCl7cmV0dXJuIG1hfSk7eCgiUmVmbGVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpyYT9mdW5jdGlvbihiLGMpe3RyeXtyZXR1cm4gcmEoYixjKSwhMH1jYXRjaChkKXtyZXR1cm4hMX19Om51bGx9KTsKeCgiU3ltYm9sIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGYpe2lmKHRoaXMgaW5zdGFuY2VvZiBiKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3JldHVybiBuZXcgYyhkKyhmfHwiIikrIl8iK2UrKyxmKX1mdW5jdGlvbiBjKGYsZyl7dGhpcy5nPWY7ZmEodGhpcywiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfWlmKGEpcmV0dXJuIGE7Yy5wcm90b3R5cGUudG9TdHJpbmc9Y2EoImciKTt2YXIgZD0ianNjb21wX3N5bWJvbF8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApKyJfIixlPTA7cmV0dXJuIGJ9KTsKeCgiU3ltYm9sLml0ZXJhdG9yIixmdW5jdGlvbihhKXtpZihhKXJldHVybiBhO2E9U3ltYm9sKCJTeW1ib2wuaXRlcmF0b3IiKTtmYShBcnJheS5wcm90b3R5cGUsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIExhKHNhKHRoaXMpKX19KTtyZXR1cm4gYX0pO2Z1bmN0aW9uIExhKGEpe2E9e25leHQ6YX07YVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3JldHVybiBhfQp4KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGcpe3RoaXMuZz0wO3RoaXMuaj12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgaD10aGlzLmwoKTt0cnl7ZyhoLnJlc29sdmUsaC5yZWplY3QpfWNhdGNoKGspe2gucmVqZWN0KGspfX1mdW5jdGlvbiBjKCl7dGhpcy5nPW51bGx9ZnVuY3Rpb24gZChnKXtyZXR1cm4gZyBpbnN0YW5jZW9mIGI/ZzpuZXcgYihmdW5jdGlvbihoKXtoKGcpfSl9aWYoYSlyZXR1cm4gYTtjLnByb3RvdHlwZS5pPWZ1bmN0aW9uKGcpe2lmKHRoaXMuZz09bnVsbCl7dGhpcy5nPVtdO3ZhciBoPXRoaXM7dGhpcy5qKGZ1bmN0aW9uKCl7aC5BKCl9KX10aGlzLmcucHVzaChnKX07dmFyIGU9aWEuc2V0VGltZW91dDtjLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGcpe2UoZywwKX07Yy5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Zvcig7dGhpcy5nJiZ0aGlzLmcubGVuZ3RoOyl7dmFyIGc9dGhpcy5nO3RoaXMuZz1bXTtmb3IodmFyIGg9MDtoPGcubGVuZ3RoOysraCl7dmFyIGs9CmdbaF07Z1toXT1udWxsO3RyeXtrKCl9Y2F0Y2gobCl7dGhpcy5sKGwpfX19dGhpcy5nPW51bGx9O2MucHJvdG90eXBlLmw9ZnVuY3Rpb24oZyl7dGhpcy5qKGZ1bmN0aW9uKCl7dGhyb3cgZzt9KX07Yi5wcm90b3R5cGUubD1mdW5jdGlvbigpe2Z1bmN0aW9uIGcobCl7cmV0dXJuIGZ1bmN0aW9uKG0pe2t8fChrPSEwLGwuY2FsbChoLG0pKX19dmFyIGg9dGhpcyxrPSExO3JldHVybntyZXNvbHZlOmcodGhpcy5QKSxyZWplY3Q6Zyh0aGlzLkEpfX07Yi5wcm90b3R5cGUuUD1mdW5jdGlvbihnKXtpZihnPT09dGhpcyl0aGlzLkEobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGcgaW5zdGFuY2VvZiBiKXRoaXMuRWEoZyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgZyl7Y2FzZSAib2JqZWN0Ijp2YXIgaD1nIT1udWxsO2JyZWFrIGE7Y2FzZSAiZnVuY3Rpb24iOmg9ITA7YnJlYWsgYTtkZWZhdWx0Omg9ITF9aD90aGlzLkwoZyk6dGhpcy5DKGcpfX07CmIucHJvdG90eXBlLkw9ZnVuY3Rpb24oZyl7dmFyIGg9dm9pZCAwO3RyeXtoPWcudGhlbn1jYXRjaChrKXt0aGlzLkEoayk7cmV0dXJufXR5cGVvZiBoPT0iZnVuY3Rpb24iP3RoaXMuYmIoaCxnKTp0aGlzLkMoZyl9O2IucHJvdG90eXBlLkE9ZnVuY3Rpb24oZyl7dGhpcy5GKDIsZyl9O2IucHJvdG90eXBlLkM9ZnVuY3Rpb24oZyl7dGhpcy5GKDEsZyl9O2IucHJvdG90eXBlLkY9ZnVuY3Rpb24oZyxoKXtpZih0aGlzLmchPTApdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitnKyIsICIraCsiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuZyk7dGhpcy5nPWc7dGhpcy5qPWg7dGhpcy5nPT09MiYmdGhpcy5TKCk7dGhpcy5JKCl9O2IucHJvdG90eXBlLlM9ZnVuY3Rpb24oKXt2YXIgZz10aGlzO2UoZnVuY3Rpb24oKXtpZihnLksoKSl7dmFyIGg9aWEuY29uc29sZTt0eXBlb2YgaCE9PSJ1bmRlZmluZWQiJiZoLmVycm9yKGcuail9fSwxKX07Yi5wcm90b3R5cGUuSz0KZnVuY3Rpb24oKXtpZih0aGlzLkQpcmV0dXJuITE7dmFyIGc9aWEuQ3VzdG9tRXZlbnQsaD1pYS5FdmVudCxrPWlhLmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGs9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgZz09PSJmdW5jdGlvbiI/Zz1uZXcgZygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBoPT09ImZ1bmN0aW9uIj9nPW5ldyBoKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGc9aWEuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50IiksZy5pbml0Q3VzdG9tRXZlbnQoInVuaGFuZGxlZHJlamVjdGlvbiIsITEsITAsZykpO2cucHJvbWlzZT10aGlzO2cucmVhc29uPXRoaXMuajtyZXR1cm4gayhnKX07Yi5wcm90b3R5cGUuST1mdW5jdGlvbigpe2lmKHRoaXMuaSE9bnVsbCl7Zm9yKHZhciBnPTA7Zzx0aGlzLmkubGVuZ3RoOysrZylmLmkodGhpcy5pW2ddKTt0aGlzLmk9bnVsbH19O3ZhciBmPW5ldyBjOwpiLnByb3RvdHlwZS5FYT1mdW5jdGlvbihnKXt2YXIgaD10aGlzLmwoKTtnLlJhKGgucmVzb2x2ZSxoLnJlamVjdCl9O2IucHJvdG90eXBlLmJiPWZ1bmN0aW9uKGcsaCl7dmFyIGs9dGhpcy5sKCk7dHJ5e2cuY2FsbChoLGsucmVzb2x2ZSxrLnJlamVjdCl9Y2F0Y2gobCl7ay5yZWplY3QobCl9fTtiLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gayhwLHIpe3JldHVybiB0eXBlb2YgcD09ImZ1bmN0aW9uIj9mdW5jdGlvbihxKXt0cnl7bChwKHEpKX1jYXRjaCh0KXttKHQpfX06cn12YXIgbCxtLG49bmV3IGIoZnVuY3Rpb24ocCxyKXtsPXA7bT1yfSk7dGhpcy5SYShrKGcsbCksayhoLG0pKTtyZXR1cm4gbn07Yi5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oZyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZyl9O2IucHJvdG90eXBlLlJhPWZ1bmN0aW9uKGcsaCl7ZnVuY3Rpb24gaygpe3N3aXRjaChsLmcpe2Nhc2UgMTpnKGwuaik7YnJlYWs7Y2FzZSAyOmgobC5qKTsKYnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitsLmcpO319dmFyIGw9dGhpczt0aGlzLmk9PW51bGw/Zi5pKGspOnRoaXMuaS5wdXNoKGspO3RoaXMuRD0hMH07Yi5yZXNvbHZlPWQ7Yi5yZWplY3Q9ZnVuY3Rpb24oZyl7cmV0dXJuIG5ldyBiKGZ1bmN0aW9uKGgsayl7ayhnKX0pfTtiLnJhY2U9ZnVuY3Rpb24oZyl7cmV0dXJuIG5ldyBiKGZ1bmN0aW9uKGgsayl7Zm9yKHZhciBsPUEoZyksbT1sLm5leHQoKTshbS5kb25lO209bC5uZXh0KCkpZChtLnZhbHVlKS5SYShoLGspfSl9O2IuYWxsPWZ1bmN0aW9uKGcpe3ZhciBoPUEoZyksaz1oLm5leHQoKTtyZXR1cm4gay5kb25lP2QoW10pOm5ldyBiKGZ1bmN0aW9uKGwsbSl7ZnVuY3Rpb24gbihxKXtyZXR1cm4gZnVuY3Rpb24odCl7cFtxXT10O3ItLTtyPT0wJiZsKHApfX12YXIgcD1bXSxyPTA7ZG8gcC5wdXNoKHZvaWQgMCkscisrLGQoay52YWx1ZSkuUmEobihwLmxlbmd0aC0xKSxtKSxrPWgubmV4dCgpOwp3aGlsZSghay5kb25lKX0pfTtyZXR1cm4gYn0pO3goIk9iamVjdC5zZXRQcm90b3R5cGVPZiIsZnVuY3Rpb24oYSl7cmV0dXJuIGF8fHJhfSk7eCgiU3ltYm9sLmRpc3Bvc2UiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6U3ltYm9sKCJTeW1ib2wuZGlzcG9zZSIpfSk7CngoIldlYWtNYXAiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoayl7dGhpcy5nPShoKz1NYXRoLnJhbmRvbSgpKzEpLnRvU3RyaW5nKCk7aWYoayl7az1BKGspO2Zvcih2YXIgbDshKGw9ay5uZXh0KCkpLmRvbmU7KWw9bC52YWx1ZSx0aGlzLnNldChsWzBdLGxbMV0pfX1mdW5jdGlvbiBjKCl7fWZ1bmN0aW9uIGQoayl7dmFyIGw9dHlwZW9mIGs7cmV0dXJuIGw9PT0ib2JqZWN0IiYmayE9PW51bGx8fGw9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIGUoayl7aWYoIXdhKGssZykpe3ZhciBsPW5ldyBjO2ZhKGssZyx7dmFsdWU6bH0pfX1mdW5jdGlvbiBmKGspe3ZhciBsPU9iamVjdFtrXTtsJiYoT2JqZWN0W2tdPWZ1bmN0aW9uKG0pe2lmKG0gaW5zdGFuY2VvZiBjKXJldHVybiBtO09iamVjdC5pc0V4dGVuc2libGUobSkmJmUobSk7cmV0dXJuIGwobSl9KX1pZihmdW5jdGlvbigpe2lmKCFhfHwhT2JqZWN0LnNlYWwpcmV0dXJuITE7dHJ5e3ZhciBrPU9iamVjdC5zZWFsKHt9KSxsPU9iamVjdC5zZWFsKHt9KSwKbT1uZXcgYShbW2ssMl0sW2wsM11dKTtpZihtLmdldChrKSE9Mnx8bS5nZXQobCkhPTMpcmV0dXJuITE7bS5kZWxldGUoayk7bS5zZXQobCw0KTtyZXR1cm4hbS5oYXMoaykmJm0uZ2V0KGwpPT00fWNhdGNoKG4pe3JldHVybiExfX0oKSlyZXR1cm4gYTt2YXIgZz0iJGpzY29tcF9oaWRkZW5fIitNYXRoLnJhbmRvbSgpO2YoImZyZWV6ZSIpO2YoInByZXZlbnRFeHRlbnNpb25zIik7Zigic2VhbCIpO3ZhciBoPTA7Yi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGssbCl7aWYoIWQoaykpdGhyb3cgRXJyb3IoIkludmFsaWQgV2Vha01hcCBrZXkiKTtlKGspO2lmKCF3YShrLGcpKXRocm93IEVycm9yKCJXZWFrTWFwIGtleSBmYWlsOiAiK2spO2tbZ11bdGhpcy5nXT1sO3JldHVybiB0aGlzfTtiLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oayl7cmV0dXJuIGQoaykmJndhKGssZyk/a1tnXVt0aGlzLmddOnZvaWQgMH07Yi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGspe3JldHVybiBkKGspJiZ3YShrLApnKSYmd2Eoa1tnXSx0aGlzLmcpfTtiLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oayl7cmV0dXJuIGQoaykmJndhKGssZykmJndhKGtbZ10sdGhpcy5nKT9kZWxldGUga1tnXVt0aGlzLmddOiExfTtyZXR1cm4gYn0pOwp4KCJNYXAiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXt2YXIgaD17fTtyZXR1cm4gaC5hYT1oLm5leHQ9aC5oZWFkPWh9ZnVuY3Rpb24gYyhoLGspe3ZhciBsPWhbMV07cmV0dXJuIExhKGZ1bmN0aW9uKCl7aWYobCl7Zm9yKDtsLmhlYWQhPWhbMV07KWw9bC5hYTtmb3IoO2wubmV4dCE9bC5oZWFkOylyZXR1cm4gbD1sLm5leHQse2RvbmU6ITEsdmFsdWU6ayhsKX07bD1udWxsfXJldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19KX1mdW5jdGlvbiBkKGgsayl7dmFyIGw9ayYmdHlwZW9mIGs7bD09Im9iamVjdCJ8fGw9PSJmdW5jdGlvbiI/Zi5oYXMoayk/bD1mLmdldChrKToobD0iIisgKytnLGYuc2V0KGssbCkpOmw9InBfIitrO3ZhciBtPWhbMF1bbF07aWYobSYmd2EoaFswXSxsKSlmb3IoaD0wO2g8bS5sZW5ndGg7aCsrKXt2YXIgbj1tW2hdO2lmKGshPT1rJiZuLmtleSE9PW4ua2V5fHxrPT09bi5rZXkpcmV0dXJue2lkOmwsbGlzdDptLGluZGV4OmgsZW50cnk6bn19cmV0dXJue2lkOmwsCmxpc3Q6bSxpbmRleDotMSxlbnRyeTp2b2lkIDB9fWZ1bmN0aW9uIGUoaCl7dGhpc1swXT17fTt0aGlzWzFdPWIoKTt0aGlzLnNpemU9MDtpZihoKXtoPUEoaCk7Zm9yKHZhciBrOyEoaz1oLm5leHQoKSkuZG9uZTspaz1rLnZhbHVlLHRoaXMuc2V0KGtbMF0sa1sxXSl9fWlmKGZ1bmN0aW9uKCl7aWYoIWF8fHR5cGVvZiBhIT0iZnVuY3Rpb24ifHwhYS5wcm90b3R5cGUuZW50cmllc3x8dHlwZW9mIE9iamVjdC5zZWFsIT0iZnVuY3Rpb24iKXJldHVybiExO3RyeXt2YXIgaD1PYmplY3Quc2VhbCh7eDo0fSksaz1uZXcgYShBKFtbaCwicyJdXSkpO2lmKGsuZ2V0KGgpIT0icyJ8fGsuc2l6ZSE9MXx8ay5nZXQoe3g6NH0pfHxrLnNldCh7eDo0fSwidCIpIT1rfHxrLnNpemUhPTIpcmV0dXJuITE7dmFyIGw9ay5lbnRyaWVzKCksbT1sLm5leHQoKTtpZihtLmRvbmV8fG0udmFsdWVbMF0hPWh8fG0udmFsdWVbMV0hPSJzIilyZXR1cm4hMTttPWwubmV4dCgpO3JldHVybiBtLmRvbmV8fG0udmFsdWVbMF0ueCE9CjR8fG0udmFsdWVbMV0hPSJ0Inx8IWwubmV4dCgpLmRvbmU/ITE6ITB9Y2F0Y2gobil7cmV0dXJuITF9fSgpKXJldHVybiBhO3ZhciBmPW5ldyBXZWFrTWFwO2UucHJvdG90eXBlLnNldD1mdW5jdGlvbihoLGspe2g9aD09PTA/MDpoO3ZhciBsPWQodGhpcyxoKTtsLmxpc3R8fChsLmxpc3Q9dGhpc1swXVtsLmlkXT1bXSk7bC5lbnRyeT9sLmVudHJ5LnZhbHVlPWs6KGwuZW50cnk9e25leHQ6dGhpc1sxXSxhYTp0aGlzWzFdLmFhLGhlYWQ6dGhpc1sxXSxrZXk6aCx2YWx1ZTprfSxsLmxpc3QucHVzaChsLmVudHJ5KSx0aGlzWzFdLmFhLm5leHQ9bC5lbnRyeSx0aGlzWzFdLmFhPWwuZW50cnksdGhpcy5zaXplKyspO3JldHVybiB0aGlzfTtlLnByb3RvdHlwZS5kZWxldGU9ZnVuY3Rpb24oaCl7aD1kKHRoaXMsaCk7cmV0dXJuIGguZW50cnkmJmgubGlzdD8oaC5saXN0LnNwbGljZShoLmluZGV4LDEpLGgubGlzdC5sZW5ndGh8fGRlbGV0ZSB0aGlzWzBdW2guaWRdLGguZW50cnkuYWEubmV4dD0KaC5lbnRyeS5uZXh0LGguZW50cnkubmV4dC5hYT1oLmVudHJ5LmFhLGguZW50cnkuaGVhZD1udWxsLHRoaXMuc2l6ZS0tLCEwKTohMX07ZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzWzBdPXt9O3RoaXNbMV09dGhpc1sxXS5hYT1iKCk7dGhpcy5zaXplPTB9O2UucHJvdG90eXBlLmhhcz1mdW5jdGlvbihoKXtyZXR1cm4hIWQodGhpcyxoKS5lbnRyeX07ZS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGgpe3JldHVybihoPWQodGhpcyxoKS5lbnRyeSkmJmgudmFsdWV9O2UucHJvdG90eXBlLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gYyh0aGlzLGZ1bmN0aW9uKGgpe3JldHVybltoLmtleSxoLnZhbHVlXX0pfTtlLnByb3RvdHlwZS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC5rZXl9KX07ZS5wcm90b3R5cGUudmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcyxmdW5jdGlvbihoKXtyZXR1cm4gaC52YWx1ZX0pfTtlLnByb3RvdHlwZS5mb3JFYWNoPQpmdW5jdGlvbihoLGspe2Zvcih2YXIgbD10aGlzLmVudHJpZXMoKSxtOyEobT1sLm5leHQoKSkuZG9uZTspbT1tLnZhbHVlLGguY2FsbChrLG1bMV0sbVswXSx0aGlzKX07ZS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1lLnByb3RvdHlwZS5lbnRyaWVzO3ZhciBnPTA7cmV0dXJuIGV9KTsKeCgiU2V0IixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGMpe3RoaXMuZz1uZXcgTWFwO2lmKGMpe2M9QShjKTtmb3IodmFyIGQ7IShkPWMubmV4dCgpKS5kb25lOyl0aGlzLmFkZChkLnZhbHVlKX10aGlzLnNpemU9dGhpcy5nLnNpemV9aWYoZnVuY3Rpb24oKXtpZighYXx8dHlwZW9mIGEhPSJmdW5jdGlvbiJ8fCFhLnByb3RvdHlwZS5lbnRyaWVzfHx0eXBlb2YgT2JqZWN0LnNlYWwhPSJmdW5jdGlvbiIpcmV0dXJuITE7dHJ5e3ZhciBjPU9iamVjdC5zZWFsKHt4OjR9KSxkPW5ldyBhKEEoW2NdKSk7aWYoIWQuaGFzKGMpfHxkLnNpemUhPTF8fGQuYWRkKGMpIT1kfHxkLnNpemUhPTF8fGQuYWRkKHt4OjR9KSE9ZHx8ZC5zaXplIT0yKXJldHVybiExO3ZhciBlPWQuZW50cmllcygpLGY9ZS5uZXh0KCk7aWYoZi5kb25lfHxmLnZhbHVlWzBdIT1jfHxmLnZhbHVlWzFdIT1jKXJldHVybiExO2Y9ZS5uZXh0KCk7cmV0dXJuIGYuZG9uZXx8Zi52YWx1ZVswXT09Y3x8Zi52YWx1ZVswXS54IT00fHwKZi52YWx1ZVsxXSE9Zi52YWx1ZVswXT8hMTplLm5leHQoKS5kb25lfWNhdGNoKGcpe3JldHVybiExfX0oKSlyZXR1cm4gYTtiLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYyl7Yz1jPT09MD8wOmM7dGhpcy5nLnNldChjLGMpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZTtyZXR1cm4gdGhpc307Yi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKGMpe2M9dGhpcy5nLmRlbGV0ZShjKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGN9O2IucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5nLmNsZWFyKCk7dGhpcy5zaXplPTB9O2IucHJvdG90eXBlLmhhcz1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy5nLmhhcyhjKX07Yi5wcm90b3R5cGUuZW50cmllcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuZW50cmllcygpfTtiLnByb3RvdHlwZS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtiLnByb3RvdHlwZS5rZXlzPWIucHJvdG90eXBlLnZhbHVlcztiLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPQpiLnByb3RvdHlwZS52YWx1ZXM7Yi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihjLGQpe3ZhciBlPXRoaXM7dGhpcy5nLmZvckVhY2goZnVuY3Rpb24oZil7cmV0dXJuIGMuY2FsbChkLGYsZixlKX0pfTtyZXR1cm4gYn0pO3goIk9iamVjdC52YWx1ZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7dmFyIGM9W10sZDtmb3IoZCBpbiBiKXdhKGIsZCkmJmMucHVzaChiW2RdKTtyZXR1cm4gY319KTt4KCJPYmplY3QuaXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gYj09PWM/YiE9PTB8fDEvYj09PTEvYzpiIT09YiYmYyE9PWN9fSk7CngoIkFycmF5LnByb3RvdHlwZS5pbmNsdWRlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7ZCBpbnN0YW5jZW9mIFN0cmluZyYmKGQ9U3RyaW5nKGQpKTt2YXIgZT1kLmxlbmd0aDtjPWN8fDA7Zm9yKGM8MCYmKGM9TWF0aC5tYXgoYytlLDApKTtjPGU7YysrKXt2YXIgZj1kW2NdO2lmKGY9PT1ifHxPYmplY3QuaXMoZixiKSlyZXR1cm4hMH1yZXR1cm4hMX19KTtmdW5jdGlvbiBNYShhLGIsYyl7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgJ3RoaXMnIHZhbHVlIGZvciBTdHJpbmcucHJvdG90eXBlLiIrYysiIG11c3Qgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIik7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCl0aHJvdyBuZXcgVHlwZUVycm9yKCJGaXJzdCBhcmd1bWVudCB0byBTdHJpbmcucHJvdG90eXBlLiIrYysiIG11c3Qgbm90IGJlIGEgcmVndWxhciBleHByZXNzaW9uIik7cmV0dXJuIGErIiJ9CngoIlN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtyZXR1cm4gTWEodGhpcyxiLCJpbmNsdWRlcyIpLmluZGV4T2YoYixjfHwwKSE9PS0xfX0pO3goIkFycmF5LmZyb20iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjLGQpe2M9YyE9bnVsbD9jOmFhKCk7dmFyIGU9W10sZj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZiW1N5bWJvbC5pdGVyYXRvcl07aWYodHlwZW9mIGY9PSJmdW5jdGlvbiIpe2I9Zi5jYWxsKGIpO2Zvcih2YXIgZz0wOyEoZj1iLm5leHQoKSkuZG9uZTspZS5wdXNoKGMuY2FsbChkLGYudmFsdWUsZysrKSl9ZWxzZSBmb3IoZj1iLmxlbmd0aCxnPTA7ZzxmO2crKyllLnB1c2goYy5jYWxsKGQsYltnXSxnKSk7cmV0dXJuIGV9fSk7CngoIk51bWJlci5pc0Zpbml0ZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGIhPT0ibnVtYmVyIj8hMTohaXNOYU4oYikmJmIhPT1JbmZpbml0eSYmYiE9PS1JbmZpbml0eX19KTt4KCJOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiIsZGEoOTAwNzE5OTI1NDc0MDk5MSkpO3goIk51bWJlci5NSU5fU0FGRV9JTlRFR0VSIixkYSgtOTAwNzE5OTI1NDc0MDk5MSkpO3goIk51bWJlci5pc0ludGVnZXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIE51bWJlci5pc0Zpbml0ZShiKT9iPT09TWF0aC5mbG9vcihiKTohMX19KTt4KCJOdW1iZXIuaXNTYWZlSW50ZWdlciIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihiKSYmTWF0aC5hYnMoYik8PU51bWJlci5NQVhfU0FGRV9JTlRFR0VSfX0pOwp4KCJTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGgiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXt2YXIgZD1NYSh0aGlzLGIsInN0YXJ0c1dpdGgiKTtiKz0iIjt2YXIgZT1kLmxlbmd0aCxmPWIubGVuZ3RoO2M9TWF0aC5tYXgoMCxNYXRoLm1pbihjfDAsZC5sZW5ndGgpKTtmb3IodmFyIGc9MDtnPGYmJmM8ZTspaWYoZFtjKytdIT1iW2crK10pcmV0dXJuITE7cmV0dXJuIGc+PWZ9fSk7eCgiU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3ZhciBkPU1hKHRoaXMsYiwiZW5kc1dpdGgiKTtiKz0iIjtjPT09dm9pZCAwJiYoYz1kLmxlbmd0aCk7Yz1NYXRoLm1heCgwLE1hdGgubWluKGN8MCxkLmxlbmd0aCkpO2Zvcih2YXIgZT1iLmxlbmd0aDtlPjAmJmM+MDspaWYoZFstLWNdIT1iWy0tZV0pcmV0dXJuITE7cmV0dXJuIGU8PTB9fSk7CmZ1bmN0aW9uIE5hKGEsYil7YSBpbnN0YW5jZW9mIFN0cmluZyYmKGErPSIiKTt2YXIgYz0wLGQ9ITEsZT17bmV4dDpmdW5jdGlvbigpe2lmKCFkJiZjPGEubGVuZ3RoKXt2YXIgZj1jKys7cmV0dXJue3ZhbHVlOmIoZixhW2ZdKSxkb25lOiExfX1kPSEwO3JldHVybntkb25lOiEwLHZhbHVlOnZvaWQgMH19fTtlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIGV9eCgiT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybltdfX0pO3goIk1hdGgudHJ1bmMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI9PT1JbmZpbml0eXx8Yj09PS1JbmZpbml0eXx8Yj09PTApcmV0dXJuIGI7dmFyIGM9TWF0aC5mbG9vcihNYXRoLmFicyhiKSk7cmV0dXJuIGI8MD8tYzpjfX0pOwp4KCJOdW1iZXIuaXNOYU4iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09Im51bWJlciImJmlzTmFOKGIpfX0pO3goIkFycmF5LnByb3RvdHlwZS5rZXlzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7cmV0dXJuIE5hKHRoaXMsYWEoKSl9fSk7eCgiQXJyYXkucHJvdG90eXBlLnZhbHVlcyIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbigpe3JldHVybiBOYSh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGN9KX19KTt4KCJNYXRoLnNpZ24iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1OdW1iZXIoYik7cmV0dXJuIGI9PT0wfHxpc05hTihiKT9iOmI+MD8xOi0xfX0pO3goIlJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcn0pOwp4KCJSZWZsZWN0LmdldFByb3RvdHlwZU9mIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8T2JqZWN0LmdldFByb3RvdHlwZU9mfSk7eCgiUmVmbGVjdC5nZXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjLGQpe2lmKGFyZ3VtZW50cy5sZW5ndGg8PTIpcmV0dXJuIGJbY107dmFyIGU7YTp7Zm9yKGU9YjtlOyl7dmFyIGY9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxjKTtpZihmKXtlPWY7YnJlYWsgYX1lPVJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoZSl9ZT12b2lkIDB9aWYoZSlyZXR1cm4gZS5nZXQ/ZS5nZXQuY2FsbChkKTplLnZhbHVlfX0pOwp4KCJBcnJheS5wcm90b3R5cGUuZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMsZCl7dmFyIGU9dGhpcy5sZW5ndGh8fDA7YzwwJiYoYz1NYXRoLm1heCgwLGUrYykpO2lmKGQ9PW51bGx8fGQ+ZSlkPWU7ZD1OdW1iZXIoZCk7ZDwwJiYoZD1NYXRoLm1heCgwLGUrZCkpO2ZvcihjPU51bWJlcihjfHwwKTtjPGQ7YysrKXRoaXNbY109YjtyZXR1cm4gdGhpc319KTtrYSgiZmlsbCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpBcnJheS5wcm90b3R5cGUuZmlsbH0pO3goIkFycmF5LnByb3RvdHlwZS5mbGF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIpe2I9Yj09PXZvaWQgMD8xOmI7dmFyIGM9W107QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGQpe0FycmF5LmlzQXJyYXkoZCkmJmI+MD8oZD1BcnJheS5wcm90b3R5cGUuZmxhdC5jYWxsKGQsYi0xKSxjLnB1c2guYXBwbHkoYyxkKSk6Yy5wdXNoKGQpfSk7cmV0dXJuIGN9fSk7CngoIk1hdGguaW11bCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe2I9TnVtYmVyKGIpO2M9TnVtYmVyKGMpO3ZhciBkPWImNjU1MzUsZT1jJjY1NTM1O3JldHVybiBkKmUrKChiPj4+MTYmNjU1MzUpKmUrZCooYz4+PjE2JjY1NTM1KTw8MTY+Pj4wKXwwfX0pOy8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBDPXRoaXN8fHNlbGY7ZnVuY3Rpb24gT2EoYSxiKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGM9QyxkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn1mdW5jdGlvbiBQYShhLGIpe2E6e3ZhciBjPVsiQ0xPU1VSRV9GTEFHUyJdO2Zvcih2YXIgZD1DLGU9MDtlPGMubGVuZ3RoO2UrKylpZihkPWRbY1tlXV0sZD09bnVsbCl7Yz1udWxsO2JyZWFrIGF9Yz1kfWE9YyYmY1thXTtyZXR1cm4gYSE9bnVsbD9hOmJ9ZnVuY3Rpb24gUWEoYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifWZ1bmN0aW9uIFJhKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxTYSkmJmFbU2FdfHwoYVtTYV09KytUYSl9CnZhciBTYT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxUYT0wO2Z1bmN0aW9uIFVhKGEsYixjKXtyZXR1cm4gYS5jYWxsLmFwcGx5KGEuYmluZCxhcmd1bWVudHMpfWZ1bmN0aW9uIFZhKGEsYixjKXtpZighYSl0aHJvdyBFcnJvcigpO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mil7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7QXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoZSxkKTtyZXR1cm4gYS5hcHBseShiLGUpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShiLGFyZ3VtZW50cyl9fQpmdW5jdGlvbiBXYShhLGIsYyl7V2E9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLnRvU3RyaW5nKCkuaW5kZXhPZigibmF0aXZlIGNvZGUiKSE9LTE/VWE6VmE7cmV0dXJuIFdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBYYShhKXtyZXR1cm4gYX1mdW5jdGlvbiBZYShhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5KYT1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EucmU9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTtmdW5jdGlvbiBaYShhLGIsYyxkKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoLGY9ZTwzP2I6ZD09PW51bGw/ZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk6ZCxnO2lmKFJlZmxlY3QmJnR5cGVvZiBSZWZsZWN0PT09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT09ImZ1bmN0aW9uIilmPVJlZmxlY3QuZGVjb3JhdGUoYSxiLGMsZCk7ZWxzZSBmb3IodmFyIGg9YS5sZW5ndGgtMTtoPj0wO2gtLSlpZihnPWFbaF0pZj0oZTwzP2coZik6ZT4zP2coYixjLGYpOmcoYixjKSl8fGY7ZT4zJiZmJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYixjLGYpfWZ1bmN0aW9uICRhKGEpe2lmKFJlZmxlY3QmJnR5cGVvZiBSZWZsZWN0PT09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhPT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSgiZGVzaWduOnR5cGUiLGEpfTsoZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXthLmluZGV4T2YoIi5nb29nbGUuY29tIik+MCYmd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgianMgZXJyb3I6ICIrYywiKiIpfXR5cGVvZiB3aW5kb3c9PT0ib2JqZWN0IiYmKHdpbmRvdy5vbmVycm9yPWIpfSkoZG9jdW1lbnQucmVmZXJyZXIpO2Z1bmN0aW9uIGFiKCl7dGhyb3cgRXJyb3IoIkludmFsaWQgVVRGOCIpO31mdW5jdGlvbiBiYihhLGIpe2I9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGIpO3JldHVybiBhPT1udWxsP2I6YStifXZhciBjYj12b2lkIDAsZGIsZWI9dHlwZW9mIFRleHREZWNvZGVyIT09InVuZGVmaW5lZCIsZmIsZ2I9dHlwZW9mIFN0cmluZy5wcm90b3R5cGUuaXNXZWxsRm9ybWVkPT09ImZ1bmN0aW9uIixoYj10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIjsKZnVuY3Rpb24gaWIoYSl7dmFyIGI9ITE7Yj1iPT09dm9pZCAwPyExOmI7aWYoaGIpe2lmKGImJihnYj8hYS5pc1dlbGxGb3JtZWQoKTovKD86W15cdUQ4MDAtXHVEQkZGXXxeKVtcdURDMDAtXHVERkZGXXxbXHVEODAwLVx1REJGRl0oPyFbXHVEQzAwLVx1REZGRl0pLy50ZXN0KGEpKSl0aHJvdyBFcnJvcigiRm91bmQgYW4gdW5wYWlyZWQgc3Vycm9nYXRlIik7YT0oZmJ8fChmYj1uZXcgVGV4dEVuY29kZXIpKS5lbmNvZGUoYSl9ZWxzZXtmb3IodmFyIGM9MCxkPW5ldyBVaW50OEFycmF5KDMqYS5sZW5ndGgpLGU9MDtlPGEubGVuZ3RoO2UrKyl7dmFyIGY9YS5jaGFyQ29kZUF0KGUpO2lmKGY8MTI4KWRbYysrXT1mO2Vsc2V7aWYoZjwyMDQ4KWRbYysrXT1mPj42fDE5MjtlbHNle2lmKGY+PTU1Mjk2JiZmPD01NzM0Myl7aWYoZjw9NTYzMTkmJmU8YS5sZW5ndGgpe3ZhciBnPWEuY2hhckNvZGVBdCgrK2UpO2lmKGc+PTU2MzIwJiZnPD01NzM0Myl7Zj0oZi01NTI5NikqMTAyNCtnLTU2MzIwKwo2NTUzNjtkW2MrK109Zj4+MTh8MjQwO2RbYysrXT1mPj4xMiY2M3wxMjg7ZFtjKytdPWY+PjYmNjN8MTI4O2RbYysrXT1mJjYzfDEyODtjb250aW51ZX1lbHNlIGUtLX1pZihiKXRocm93IEVycm9yKCJGb3VuZCBhbiB1bnBhaXJlZCBzdXJyb2dhdGUiKTtmPTY1NTMzfWRbYysrXT1mPj4xMnwyMjQ7ZFtjKytdPWY+PjYmNjN8MTI4fWRbYysrXT1mJjYzfDEyOH19YT1jPT09ZC5sZW5ndGg/ZDpkLnN1YmFycmF5KDAsYyl9cmV0dXJuIGF9O2Z1bmN0aW9uIGpiKGEpe0Muc2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGE7fSwwKX07ZnVuY3Rpb24ga2IoYSxiKXt2YXIgYz1hLmxlbmd0aC1iLmxlbmd0aDtyZXR1cm4gYz49MCYmYS5pbmRleE9mKGIsYyk9PWN9dmFyIGxiPVN0cmluZy5wcm90b3R5cGUudHJpbT9mdW5jdGlvbihhKXtyZXR1cm4gYS50cmltKCl9OmZ1bmN0aW9uKGEpe3JldHVybi9eW1xzXHhhMF0qKFtcc1xTXSo/KVtcc1x4YTBdKiQvLmV4ZWMoYSlbMV19O2Z1bmN0aW9uIG1iKGEsYil7cmV0dXJuIGEuaW5kZXhPZihiKSE9LTF9O3ZhciBuYj1QYSg2MTA0MDEzMDEsITEpLG9iPVBhKDc0ODQwMjE0NywhMCk7ZnVuY3Rpb24gcGIoKXt2YXIgYT1DLm5hdmlnYXRvcjtyZXR1cm4gYSYmKGE9YS51c2VyQWdlbnQpP2E6IiJ9dmFyIHFiLHJiPUMubmF2aWdhdG9yO3FiPXJiP3JiLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtmdW5jdGlvbiBzYigpe3JldHVybiBuYiYmcWImJnFiLmJyYW5kcy5sZW5ndGg+MD8hMTptYihwYigpLCJUcmlkZW50Iil8fG1iKHBiKCksIk1TSUUiKX07dmFyIHRiPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP2Z1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsYyl9OmZ1bmN0aW9uKGEsYixjKXtjPWM9PW51bGw/MDpjPDA/TWF0aC5tYXgoMCxhLmxlbmd0aCtjKTpjO2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLGMpO2Zvcig7YzxhLmxlbmd0aDtjKyspaWYoYyBpbiBhJiZhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sdWI9QXJyYXkucHJvdG90eXBlLmZvckVhY2g/ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YSxlPTA7ZTxjO2UrKyllIGluIGQmJmIuY2FsbCh2b2lkIDAsZFtlXSxlLGEpfSx3Yj1BcnJheS5wcm90b3R5cGUubWFwPwpmdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYSxiLHZvaWQgMCl9OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9QXJyYXkoYyksZT10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmEsZj0wO2Y8YztmKyspZiBpbiBlJiYoZFtmXT1iLmNhbGwodm9pZCAwLGVbZl0sZixhKSk7cmV0dXJuIGR9O2Z1bmN0aW9uIHhiKGEsYil7Yj10YihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfQpmdW5jdGlvbiB5YihhLGIpe2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTt2YXIgZT10eXBlb2YgZDtlPWUhPSJvYmplY3QiP2U6ZD9BcnJheS5pc0FycmF5KGQpPyJhcnJheSI6ZToibnVsbCI7aWYoZT09ImFycmF5Inx8ZT09Im9iamVjdCImJnR5cGVvZiBkLmxlbmd0aD09Im51bWJlciIpe2U9YS5sZW5ndGh8fDA7dmFyIGY9ZC5sZW5ndGh8fDA7YS5sZW5ndGg9ZStmO2Zvcih2YXIgZz0wO2c8ZjtnKyspYVtlK2ddPWRbZ119ZWxzZSBhLnB1c2goZCl9fTt2YXIgemI9c2IoKSxBYj1tYihwYigpLnRvTG93ZXJDYXNlKCksIndlYmtpdCIpJiYhbWIocGIoKSwiRWRnZSIpO3ZhciBCYj17fSxDYj1udWxsO2Z1bmN0aW9uIERiKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7RWIoKTtiPUJiW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgZz1hW2VdLGg9YVtlKzFdLGs9YVtlKzJdLGw9YltnPj4yXTtnPWJbKGcmMyk8PDR8aD4+NF07aD1iWyhoJjE1KTw8MnxrPj42XTtrPWJbayY2M107Y1tmKytdPSIiK2wrZytoK2t9bD0wO2s9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOmw9YVtlKzFdLGs9YlsobCYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT0iIitiW2E+PjJdK2JbKGEmMyk8PDR8bD4+NF0raytkfXJldHVybiBjLmpvaW4oIiIpfQpmdW5jdGlvbiBGYihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6bWIoIj0uIixhW2ItMV0pJiYoYz1tYigiPS4iLGFbYi0yXSk/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO0diKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9CmZ1bmN0aW9uIEdiKGEsYil7ZnVuY3Rpb24gYyhrKXtmb3IoO2Q8YS5sZW5ndGg7KXt2YXIgbD1hLmNoYXJBdChkKyspLG09Q2JbbF07aWYobSE9bnVsbClyZXR1cm4gbTtpZighL15bXHNceGEwXSokLy50ZXN0KGwpKXRocm93IEVycm9yKCJVbmtub3duIGJhc2U2NCBlbmNvZGluZyBhdCBjaGFyOiAiK2wpO31yZXR1cm4ga31FYigpO2Zvcih2YXIgZD0wOzspe3ZhciBlPWMoLTEpLGY9YygwKSxnPWMoNjQpLGg9Yyg2NCk7aWYoaD09PTY0JiZlPT09LTEpYnJlYWs7YihlPDwyfGY+PjQpO2chPTY0JiYoYihmPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fQpmdW5jdGlvbiBFYigpe2lmKCFDYil7Q2I9e307Zm9yKHZhciBhPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGI9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sYz0wO2M8NTtjKyspe3ZhciBkPWEuY29uY2F0KGJbY10uc3BsaXQoIiIpKTtCYltjXT1kO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdO0NiW2ZdPT09dm9pZCAwJiYoQ2JbZl09ZSl9fX19O3ZhciBIYj10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiLEliPSF6YiYmdHlwZW9mIGJ0b2E9PT0iZnVuY3Rpb24iLEpiPS9bLV8uXS9nLEtiPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9O2Z1bmN0aW9uIExiKGEpe3JldHVybiBLYlthXXx8IiJ9ZnVuY3Rpb24gTWIoYSl7aWYoIUliKXJldHVybiBGYihhKTthPUpiLnRlc3QoYSk/YS5yZXBsYWNlKEpiLExiKTphO2E9YXRvYihhKTtmb3IodmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpLGM9MDtjPGEubGVuZ3RoO2MrKyliW2NdPWEuY2hhckNvZGVBdChjKTtyZXR1cm4gYn12YXIgTmI9e307ZnVuY3Rpb24gT2IoYSxiKXtQYihiKTt0aGlzLmc9YTtpZihhIT1udWxsJiZhLmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIkJ5dGVTdHJpbmcgc2hvdWxkIGJlIGNvbnN0cnVjdGVkIHdpdGggbm9uLWVtcHR5IHZhbHVlcyIpO31mdW5jdGlvbiBRYigpe3JldHVybiBSYnx8KFJiPW5ldyBPYihudWxsLE5iKSl9ZnVuY3Rpb24gU2IoYSl7dmFyIGI9YS5nO2lmKGI9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBiPT09InN0cmluZyIpYT1iO2Vsc2V7aWYoSWIpe2Zvcih2YXIgYz0iIixkPTAsZT1iLmxlbmd0aC0xMDI0MDtkPGU7KWMrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxiLnN1YmFycmF5KGQsZCs9MTAyNDApKTtjKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZD9iLnN1YmFycmF5KGQpOmIpO2I9YnRvYShjKX1lbHNlIGI9RGIoYik7YT1hLmc9Yn1yZXR1cm4gYX1PYi5wcm90b3R5cGUuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmc9PW51bGx9OwpmdW5jdGlvbiBUYihhKXtQYihOYik7dmFyIGI9YS5nO2I9Yj09bnVsbHx8SGImJmIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5P2I6dHlwZW9mIGI9PT0ic3RyaW5nIj9NYihiKTpudWxsO3JldHVybiBiPT1udWxsP2I6YS5nPWJ9dmFyIFJiO2Z1bmN0aW9uIFBiKGEpe2lmKGEhPT1OYil0aHJvdyBFcnJvcigiaWxsZWdhbCBleHRlcm5hbCBjYWxsZXIiKTt9O2Z1bmN0aW9uIFViKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07dmFyIFZiPXZvaWQgMDtmdW5jdGlvbiBXYihhKXthPUVycm9yKGEpO1ViKGEsIndhcm5pbmciKTtyZXR1cm4gYX1mdW5jdGlvbiBYYihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPVZiKSE9bnVsbD9jOlZiPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLFViKGEsImluY2lkZW50IiksamIoYSkpfX07ZnVuY3Rpb24gWWIoKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3ZhciBaYj10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI7ZnVuY3Rpb24gJGIoYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9dmFyIGFjPSRiKCJqYXMiLHZvaWQgMCwhMCksYmM9JGIodm9pZCAwLCIwZGkiKSxjYz0kYih2b2lkIDAsIjFvYSIpLGRjPSRiKHZvaWQgMCxTeW1ib2woKSksZWM9JGIodm9pZCAwLCIwdWJzIiksZmM9JGIodm9pZCAwLCIwdWJzYiIpLGhjPSRiKHZvaWQgMCwiMGFjdGsiKSxpYz0kYigibV9tIiwidmUiLCEwKTtNYXRoLm1heC5hcHBseShNYXRoLHRhKE9iamVjdC52YWx1ZXMoe1lkOjEsWGQ6MixXZDo0LGhlOjgsbWU6MTYsZWU6MzIsTmQ6NjQsVWQ6MTI4LFNkOjI1NixpZTo1MTIsVGQ6MTAyNCxWZDoyMDQ4LGZlOjQwOTYsY2U6ODE5Mn0pKSk7dmFyIGpjPXt1ZDp7dmFsdWU6MCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX19LGtjPU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzLEQ9WmI/YWM6InVkIixsYyxtYz1bXTtuYyhtYyw3KTtsYz1PYmplY3QuZnJlZXplKG1jKTtmdW5jdGlvbiBvYyhhLGIpe1pifHxEIGluIGF8fGtjKGEsamMpO2FbRF18PWJ9ZnVuY3Rpb24gbmMoYSxiKXtaYnx8RCBpbiBhfHxrYyhhLGpjKTthW0RdPWJ9O3ZhciBwYz17fTtmdW5jdGlvbiBxYyhhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PXJjJiYhISgyJihhLnZbRF18MCkpOiEhKDImYikmJmEuZyE9PXJjfXZhciByYz17fTtmdW5jdGlvbiBzYyhhLGIpe2EuZz1iP3JjOnZvaWQgMH1mdW5jdGlvbiB0YyhhLGIpe2lmKHR5cGVvZiBiIT09Im51bWJlciJ8fGI8MHx8Yj49YS5sZW5ndGgpdGhyb3cgRXJyb3IoKTt9dmFyIHVjPU9iamVjdC5mcmVlemUoe30pLHZjPU9iamVjdC5mcmVlemUoe30pO2Z1bmN0aW9uIHdjKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGc9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxnO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IodmFyIGggaW4gYSkhaXNOYU4oaCkmJmMoK2gsYVtoXSl9fXZhciB4Yz17fTsKZnVuY3Rpb24geWMoYSl7cmV0dXJuIGEmMTI4P3hjOnZvaWQgMH07ZnVuY3Rpb24gemMoYSl7YS51ZT0hMDtyZXR1cm4gYX07dmFyIEFjPXpjKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifSksQmM9emMoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyJ9KSxDYz16YyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iYm9vbGVhbiJ9KTt2YXIgRGM9dHlwZW9mIEMuQmlnSW50PT09ImZ1bmN0aW9uIiYmdHlwZW9mIEMuQmlnSW50KDApPT09ImJpZ2ludCI7ZnVuY3Rpb24gRWMoYSl7dmFyIGI9YTtpZihCYyhiKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGIpKXRocm93IEVycm9yKFN0cmluZyhiKSk7fWVsc2UgaWYoQWMoYikmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO3JldHVybiBEYz9CaWdJbnQoYSk6YT1DYyhhKT9hPyIxIjoiMCI6QmMoYSk/YS50cmltKCl8fCIwIjpTdHJpbmcoYSl9dmFyIExjPXpjKGZ1bmN0aW9uKGEpe3JldHVybiBEYz9hPj1GYyYmYTw9R2M6YVswXT09PSItIj9JYyhhLEpjKTpJYyhhLEtjKX0pLEpjPU51bWJlci5NSU5fU0FGRV9JTlRFR0VSLnRvU3RyaW5nKCksRmM9RGM/QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKTp2b2lkIDAsS2M9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKSxHYz1EYz9CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpOnZvaWQgMDsKZnVuY3Rpb24gSWMoYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTt2YXIgTWM9dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNsaWNlPT09ImZ1bmN0aW9uIixHPTAsSD0wLE5jO2Z1bmN0aW9uIE9jKGEpe3ZhciBiPWE+Pj4wO0c9YjtIPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfWZ1bmN0aW9uIFBjKGEpe2lmKGE8MCl7T2MoMC1hKTt2YXIgYj1BKFFjKEcsSCkpO2E9Yi5uZXh0KCkudmFsdWU7Yj1iLm5leHQoKS52YWx1ZTtHPWE+Pj4wO0g9Yj4+PjB9ZWxzZSBPYyhhKX1mdW5jdGlvbiBSYyhhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOlNjKGEsYil9ZnVuY3Rpb24gVGMoYSxiKXtyZXR1cm4gRWMoWWIoKT9CaWdJbnQuYXNVaW50Tig2NCwoQmlnSW50KGI+Pj4wKTw8QmlnSW50KDMyKSkrQmlnSW50KGE+Pj4wKSk6U2MoYSxiKSl9CmZ1bmN0aW9uIFVjKGEsYil7cmV0dXJuIFliKCk/RWMoQmlnSW50LmFzSW50Tig2NCwoQmlnSW50LmFzVWludE4oMzIsQmlnSW50KGIpKTw8QmlnSW50KDMyKSkrQmlnSW50LmFzVWludE4oMzIsQmlnSW50KGEpKSkpOkVjKFZjKGEsYikpfWZ1bmN0aW9uIFNjKGEsYil7Yj4+Pj0wO2E+Pj49MDtpZihiPD0yMDk3MTUxKXZhciBjPSIiKyg0Mjk0OTY3Mjk2KmIrYSk7ZWxzZSBZYigpP2M9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpOihjPShhPj4+MjR8Yjw8OCkmMTY3NzcyMTUsYj1iPj4xNiY2NTUzNSxhPShhJjE2Nzc3MjE1KStjKjY3NzcyMTYrYio2NzEwNjU2LGMrPWIqODE0NzQ5NyxiKj0yLGE+PTFFNyYmKGMrPWEvMUU3Pj4+MCxhJT0xRTcpLGM+PTFFNyYmKGIrPWMvMUU3Pj4+MCxjJT0xRTcpLGM9YitXYyhjKStXYyhhKSk7cmV0dXJuIGN9ZnVuY3Rpb24gV2MoYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfQpmdW5jdGlvbiBWYyhhLGIpe2ImMjE0NzQ4MzY0OD9ZYigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPUEoUWMoYSxiKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLGE9Ii0iK1NjKGEsYikpOmE9U2MoYSxiKTtyZXR1cm4gYX0KZnVuY3Rpb24gWGMoYSl7aWYoYS5sZW5ndGg8MTYpUGMoTnVtYmVyKGEpKTtlbHNlIGlmKFliKCkpYT1CaWdJbnQoYSksRz1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxIPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSk7ZWxzZXt2YXIgYj0rKGFbMF09PT0iLSIpO0g9Rz0wO2Zvcih2YXIgYz1hLmxlbmd0aCxkPTArYixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksSCo9MUU2LEc9RyoxRTYrZCxHPj00Mjk0OTY3Mjk2JiYoSCs9TWF0aC50cnVuYyhHLzQyOTQ5NjcyOTYpLEg+Pj49MCxHPj4+PTApO2ImJihiPUEoUWMoRyxIKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLEc9YSxIPWIpfX1mdW5jdGlvbiBRYyhhLGIpe2I9fmI7YT9hPX5hKzE6Yis9MTtyZXR1cm5bYSxiXX07ZnVuY3Rpb24gWWMoYSxiKXt0aHJvdyBFcnJvcihiPT09dm9pZCAwPyJ1bmV4cGVjdGVkIHZhbHVlICIrYSsiISI6Yik7fTt2YXIgWmM9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDAsJGM9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwLGFkPU51bWJlci5pc1NhZmVJbnRlZ2VyLGJkPU51bWJlci5pc0Zpbml0ZSxjZD1NYXRoLnRydW5jO2Z1bmN0aW9uIGRkKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7aWYoYT09PSJOYU4ifHxhPT09IkluZmluaXR5Inx8YT09PSItSW5maW5pdHkiKXJldHVybiBOdW1iZXIoYSl9ZnVuY3Rpb24gZWQoYSl7cmV0dXJuIGEuZGlzcGxheU5hbWV8fGEubmFtZXx8InVua25vd24gdHlwZSBuYW1lIn1mdW5jdGlvbiBmZChhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiEhYX12YXIgZ2Q9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87CmZ1bmN0aW9uIGhkKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYmlnaW50IjpyZXR1cm4hMDtjYXNlICJudW1iZXIiOnJldHVybiBiZChhKTtjYXNlICJzdHJpbmciOnJldHVybiBnZC50ZXN0KGEpO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGlkKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ic3RyaW5nIiYmYSlhPSthO2Vsc2UgaWYodHlwZW9mIGEhPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIGJkKGEpP2F8MDp2b2lkIDB9ZnVuY3Rpb24gamQoYSl7aWYodHlwZW9mIGEhPT0ibnVtYmVyIil0aHJvdyBXYigidWludDMyIik7aWYoIWJkKGEpKXRocm93IFdiKCJ1aW50MzIiKTtyZXR1cm4gYT4+PjB9ZnVuY3Rpb24ga2QoYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gYmQoYSk/YT4+PjA6dm9pZCAwfQpmdW5jdGlvbiBsZChhKXtpZihhWzBdPT09Ii0iKXZhciBiPSExO2Vsc2UgYj1hLmxlbmd0aCxiPWI8MjA/ITA6Yj09PTIwJiZhPD0iMTg0NDY3NDQwNzM3MDk1NTE2MTUiO2lmKGIpcmV0dXJuIGE7WGMoYSk7cmV0dXJuIFNjKEcsSCl9ZnVuY3Rpb24gbWQoYSl7aGQoYSk7YT1jZChhKTtpZighYWQoYSkpe1BjKGEpO3ZhciBiPUcsYz1IO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7Yj1SYyhiLGMpO2E9dHlwZW9mIGI9PT0ibnVtYmVyIj9hPy1iOmI6YT8iLSIrYjpifXJldHVybiBhfWZ1bmN0aW9uIG5kKGEpe2hkKGEpO2E9Y2QoYSk7YT49MCYmYWQoYSl8fChQYyhhKSxhPVJjKEcsSCkpO3JldHVybiBhfWZ1bmN0aW9uIG9kKGEpe2hkKGEpO2E9Y2QoYSk7YT49MCYmYWQoYSk/YT1TdHJpbmcoYSk6KFBjKGEpLGE9U2MoRyxIKSk7cmV0dXJuIGF9CmZ1bmN0aW9uIHBkKGEpe2hkKGEpO3ZhciBiPWNkKE51bWJlcihhKSk7aWYoYWQoYikpcmV0dXJuIFN0cmluZyhiKTtiPWEuaW5kZXhPZigiLiIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7Yj1hLmxlbmd0aDsoYVswXT09PSItIj9iPDIwfHxiPT09MjAmJmE8PSItOTIyMzM3MjAzNjg1NDc3NTgwOCI6YjwxOXx8Yj09PTE5JiZhPD0iOTIyMzM3MjAzNjg1NDc3NTgwNyIpfHwoWGMoYSksYT1WYyhHLEgpKTtyZXR1cm4gYX1mdW5jdGlvbiBxZChhKXtoZChhKTt2YXIgYj1jZChOdW1iZXIoYSkpO2lmKGFkKGIpJiZiPj0wKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBsZChhKX0KZnVuY3Rpb24gcmQoYSl7dmFyIGI9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoWmMoNjQsYSkpO2lmKGhkKGEpKXtpZihjPT09InN0cmluZyIpcmV0dXJuIHBkKGEpO2I/KGhkKGEpLGE9Y2QoYSksYWQoYSk/YT1TdHJpbmcoYSk6KFBjKGEpLGE9VmMoRyxIKSkpOmE9bWQoYSk7cmV0dXJuIGF9fQpmdW5jdGlvbiBzZChhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIWhkKGEpKXRocm93IFdiKCJ1aW50NjQiKTt2YXIgYz10eXBlb2YgYTtzd2l0Y2goYil7Y2FzZSA1MTI6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIHFkKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIFN0cmluZygkYyg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gb2QoYSl9Y2FzZSAxMDI0OnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiBiPWNkKE51bWJlcihhKSksYWQoYikmJmI+PTA/YT1FYyhiKTooYj1hLmluZGV4T2YoIi4iKSxiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpLGE9WWIoKT9FYygkYyg2NCxCaWdJbnQoYSkpKTpFYyhsZChhKSkpLGE7Y2FzZSAiYmlnaW50IjpyZXR1cm4gRWMoJGMoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIGFkKGEpP0VjKG5kKGEpKTpFYyhvZChhKSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiBxZChhKTtjYXNlICJiaWdpbnQiOnJldHVybiBFYygkYyg2NCwKYSkpO2RlZmF1bHQ6cmV0dXJuIG5kKGEpfWRlZmF1bHQ6cmV0dXJuIFljKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX1mdW5jdGlvbiB0ZChhKXtpZihhPT1udWxsKXJldHVybiBhO3ZhciBiPXR5cGVvZiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKFpjKDY0LGEpKTtpZihoZChhKSl7aWYoYj09PSJzdHJpbmciKXJldHVybiBwZChhKTtpZihiPT09Im51bWJlciIpcmV0dXJuIG1kKGEpfX1mdW5jdGlvbiB1ZChhKXtpZihhPT1udWxsKXJldHVybiBhO3ZhciBiPXR5cGVvZiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKCRjKDY0LGEpKTtpZihoZChhKSl7aWYoYj09PSJzdHJpbmciKXJldHVybiBxZChhKTtpZihiPT09Im51bWJlciIpcmV0dXJuIG5kKGEpfX1mdW5jdGlvbiB2ZChhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH0KZnVuY3Rpb24gd2QoYSxiKXtpZighKGEgaW5zdGFuY2VvZiBiKSl0aHJvdyBFcnJvcigiRXhwZWN0ZWQgaW5zdGFuY2VvZiAiK2VkKGIpKyIgYnV0IGdvdCAiKyhhJiZlZChhLmNvbnN0cnVjdG9yKSkpO3JldHVybiBhfWZ1bmN0aW9uIHhkKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbaWNdPT09cGMpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbYmNdfHwoYltiY109eWQoYikpOm5ldyBiOnZvaWQgMDtjPWFbRF18MDtkPWN8ZCYzMnxkJjI7ZCE9PWMmJm5jKGEsZCk7cmV0dXJuIG5ldyBiKGEpfWZ1bmN0aW9uIHlkKGEpe2E9bmV3IGE7b2MoYS52LDM0KTtyZXR1cm4gYX07ZnVuY3Rpb24gemQoYSl7cmV0dXJuIGF9O2Z1bmN0aW9uIEFkKGEpe3ZhciBiPVhhKGRjKTtyZXR1cm4gYj9hW2JdOnZvaWQgMH1mdW5jdGlvbiBCZCgpe31mdW5jdGlvbiBDZChhLGIpe2Zvcih2YXIgYyBpbiBhKSFpc05hTihjKSYmYihhLCtjLGFbY10pfWZ1bmN0aW9uIERkKGEpe3ZhciBiPW5ldyBCZDtDZChhLGZ1bmN0aW9uKGMsZCxlKXtiW2RdPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpfSk7Yi5nPWEuZztyZXR1cm4gYn1mdW5jdGlvbiBFZChhLGIsYyl7aWYoYyl7dmFyIGQsZSxmOygoZj0oZT0oZD1hW2RjXSkhPW51bGw/ZDphW2RjXT1uZXcgQmQpW2JdKSE9bnVsbD9mOmVbYl09W10pLnB1c2goYyl9fWZ1bmN0aW9uIEZkKGEsYil7YjwxMDB8fFhiKGVjLDEpfTtmdW5jdGlvbiBHZChhLGIsYyxkKXt2YXIgZT1kIT09dm9pZCAwO2Q9ISFkO3ZhciBmPVhhKGRjKSxnOyFlJiZaYiYmZiYmKGc9YVtmXSkmJkNkKGcsRmQpO2Y9W107dmFyIGg9YS5sZW5ndGg7Zz00Mjk0OTY3Mjk1O3ZhciBrPSExLGw9ISEoYiY2NCksbT1sP2ImMTI4PzA6LTE6dm9pZCAwO2lmKCEoYiYxKSl7dmFyIG49aCYmYVtoLTFdO24hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJm4uY29uc3RydWN0b3I9PT1PYmplY3Q/KGgtLSxnPWgpOm49dm9pZCAwO2lmKGwmJiEoYiYxMjgpJiYhZSl7az0hMDt2YXIgcDtnPSgocD1IZCkhPW51bGw/cDp6ZCkoZy1tLG0sYSxuLHZvaWQgMCkrbX19Yj12b2lkIDA7Zm9yKHA9MDtwPGg7cCsrKXt2YXIgcj1hW3BdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobCYmcD49Zyl7dmFyIHE9cC1tLHQ9dm9pZCAwOygodD1iKSE9bnVsbD90OmI9e30pW3FdPXJ9ZWxzZSBmW3BdPXJ9aWYobilmb3IodmFyIHYgaW4gbiloPW5bdl0saCE9Cm51bGwmJihoPWMoaCxkKSkhPW51bGwmJihwPSt2LHI9dm9pZCAwLGwmJiFOdW1iZXIuaXNOYU4ocCkmJihyPXArbSk8Zz9mW3JdPWg6KHA9dm9pZCAwLCgocD1iKSE9bnVsbD9wOmI9e30pW3ZdPWgpKTtiJiYoaz9mLnB1c2goYik6ZltnXT1iKTtlJiZYYShkYykmJihhPUFkKGEpKSYmYSBpbnN0YW5jZW9mIEJkJiYoZltkY109RGQoYSkpO3JldHVybiBmfQpmdW5jdGlvbiBJZChhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4gTGMoYSk/TnVtYmVyKGEpOiIiK2E7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIGE/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGI9YVtEXXwwO3JldHVybiBhLmxlbmd0aD09PTAmJmImMT92b2lkIDA6R2QoYSxiLElkKX1pZihhIT1udWxsJiZhW2ljXT09PXBjKXJldHVybiBKZChhKTtpZihhIGluc3RhbmNlb2YgT2IpcmV0dXJuIFNiKGEpO3JldHVybn1yZXR1cm4gYX12YXIgSGQ7ZnVuY3Rpb24gSmQoYSl7YT1hLnY7cmV0dXJuIEdkKGEsYVtEXXwwLElkKX07dmFyIEtkLExkO2Z1bmN0aW9uIE1kKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIEtkfHwoS2Q9WzAsdm9pZCAwLCEwXSk7Y2FzZSAibnVtYmVyIjpyZXR1cm4gYT4wP3ZvaWQgMDphPT09MD9MZHx8KExkPVswLHZvaWQgMF0pOlstYSx2b2lkIDBdO2Nhc2UgInN0cmluZyI6cmV0dXJuWzAsYV07Y2FzZSAib2JqZWN0IjpyZXR1cm4gYX19ZnVuY3Rpb24gTmQoYSxiKXtyZXR1cm4gT2QoYSxiWzBdLGJbMV0pfWZ1bmN0aW9uIEkoYSxiLGMpe3JldHVybiBPZChhLGIsYywyMDQ4KX0KZnVuY3Rpb24gT2QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPzA6ZDtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJuYXJyIik7ZT1hW0RdfDA7aWYob2ImJjEmZSl0aHJvdyBFcnJvcigicmZhcnIiKTsyMDQ4JmUmJiEoMiZlKSYmUGQoKTtpZihlJjI1Nil0aHJvdyBFcnJvcigiZmFyciIpO2lmKGUmNjQpcmV0dXJuKGV8ZCkhPT1lJiZuYyhhLGV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigibWlkIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigicHZ0bG10Iik7Zm9yKHZhciBrIGluIGgpZj0KK2ssZjxnJiYoY1tmK2JdPWhba10sZGVsZXRlIGhba10pO2U9ZSYtMTY3NjA4MzN8KGcmMTAyMyk8PDE0O2JyZWFrIGF9fWlmKGIpe2s9TWF0aC5tYXgoYixmLShlJjEyOD8wOi0xKSk7aWYoaz4xMDI0KXRocm93IEVycm9yKCJzcHZ0Iik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1uYyhhLGV8NjR8ZCk7cmV0dXJuIGF9ZnVuY3Rpb24gUGQoKXtpZihvYil0aHJvdyBFcnJvcigiY2FyciIpO1hiKGhjLDUpfTtmdW5jdGlvbiBRZChhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtEXXwwO2EubGVuZ3RoPT09MCYmYyYxP2E9dm9pZCAwOmMmMnx8KCFifHw0MDk2JmN8fDE2JmM/YT1SZChhLGMsITEsYiYmIShjJjE2KSk6KG9jKGEsMzQpLGMmNCYmT2JqZWN0LmZyZWV6ZShhKSkpO3JldHVybiBhfWlmKGEhPW51bGwmJmFbaWNdPT09cGMpcmV0dXJuIGI9YS52LGM9YltEXXwwLHFjKGEsYyk/YTpTZChhLGIsYyk/VGQoYSxiKTpSZChiLGMpO2lmKGEgaW5zdGFuY2VvZiBPYilyZXR1cm4gYX1mdW5jdGlvbiBUZChhLGIsYyl7YT1uZXcgYS5jb25zdHJ1Y3RvcihiKTtjJiZzYyhhLCEwKTthLnpiPXJjO3JldHVybiBhfWZ1bmN0aW9uIFJkKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPUdkKGEsYixRZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtuYyhhLGIpO3JldHVybiBhfQpmdW5jdGlvbiBVZChhKXt2YXIgYj1hLnYsYz1iW0RdfDA7cmV0dXJuIHFjKGEsYyk/U2QoYSxiLGMpP1RkKGEsYiwhMCk6bmV3IGEuY29uc3RydWN0b3IoUmQoYixjLCExKSk6YX1mdW5jdGlvbiBWZChhKXtpZihhLmchPT1yYylyZXR1cm4hMTt2YXIgYj1hLnY7Yj1SZChiLGJbRF18MCk7b2MoYiwyMDQ4KTthLnY9YjtzYyhhLCExKTthLnpiPXZvaWQgMDtyZXR1cm4hMH1mdW5jdGlvbiBXZChhKXtpZighVmQoYSkmJnFjKGEsYS52W0RdfDApKXRocm93IEVycm9yKCk7fWZ1bmN0aW9uIFhkKGEsYil7Yj09PXZvaWQgMCYmKGI9YVtEXXwwKTtiJjMyJiYhKGImNDA5NikmJm5jKGEsYnw0MDk2KX1mdW5jdGlvbiBTZChhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KG5jKGIsY3wyKSxzYyhhLCEwKSwhMCk6ITF9O2Z1bmN0aW9uIFlkKGEsYixjLGQpe09iamVjdC5pc0V4dGVuc2libGUoYSk7YT1aZChhLnYsYixjLGQpO2lmKGEhPT1udWxsKXJldHVybiBhfWZ1bmN0aW9uIFpkKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBnPWFbZl07aWYoZyE9bnVsbCYmdHlwZW9mIGc9PT0ib2JqZWN0IiYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1nW2JdO3ZhciBoPSEwfWVsc2UgaWYoZT09PWYpYz1nO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaD9nW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fWZ1bmN0aW9uIEooYSxiLGMpe1dkKGEpO3ZhciBkPWEudjskZChkLGRbRF18MCxiLGMpO3JldHVybiBhfQpmdW5jdGlvbiAkZChhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksZz1hLmxlbmd0aC0xO2lmKGc+PTErKGU/MDotMSkmJmY+PWcpe3ZhciBoPWFbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4gaFtjXT1kLGJ9aWYoZjw9ZylyZXR1cm4gYVtmXT1kLGI7aWYoZCE9PXZvaWQgMCl7dmFyIGs7Zz0oKGs9YikhPW51bGw/azpiPWFbRF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifWZ1bmN0aW9uIEsoYSxiLGMpe2E9YS52O3JldHVybiBhZShhLGFbRF18MCxiLGMpIT09dm9pZCAwfWZ1bmN0aW9uIGJlKGEsYixjLGQpe3ZhciBlPWEudjtyZXR1cm4gYWUoZSxlW0RdfDAsYixjZShhLGQsYykpIT09dm9pZCAwfQpmdW5jdGlvbiBkZShhLGIsYyl7dmFyIGQ9YS52O3JldHVybiBlZShhLGQsZFtEXXwwLGIsYywzKS5sZW5ndGh9ZnVuY3Rpb24gZmUoYSxiLGMsZCl7dmFyIGU9YS52O2E9ZWUoYSxlLGVbRF18MCxjLGIsMyk7dGMoYSxkKTtyZXR1cm4gYVtkXX1mdW5jdGlvbiBnZShhLGIsYyxkKXtXZChhKTt2YXIgZT1hLnY7YT1lZShhLGUsZVtEXXwwLGMsYiwyLHZvaWQgMCwhMCk7dGMoYSxkKTtjPWFbZF07Yj1VZChjKTtjIT09YiYmKGFbZF09YixkPWE9PT1sYz83OmFbRF18MCw0MDk2JmR8fChuYyhhLGR8NDA5NiksWGQoZSkpKTtyZXR1cm4gYn0KZnVuY3Rpb24gaGUoYSxiLGMsZCxlLGYsZyxoLGspe3ZhciBsPWI7Zz09PTF8fChnIT09ND8wOjImYnx8ISgxNiZiKSYmMzImZCk/aWUoYil8fChifD0hYS5sZW5ndGh8fGgmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1sJiZuYyhhLGIpLE9iamVjdC5mcmVlemUoYSkpOihnPT09MiYmaWUoYikmJihhPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpLGw9MCxiPWplKGIsZCksZD0kZChjLGQsZSxhLGYpKSxpZShiKXx8KGt8fChifD0xNiksYiE9PWwmJm5jKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8WGQoYyxkKTtyZXR1cm4gYX1mdW5jdGlvbiBrZShhLGIsYyl7YT1aZChhLGIsYyk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpsY31mdW5jdGlvbiBsZShhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9ZnVuY3Rpb24gaWUoYSl7cmV0dXJuISEoMiZhKSYmISEoNCZhKXx8ISEoMjU2JmEpfQpmdW5jdGlvbiBtZShhLGIsYyl7aWYoYiYyKXRocm93IEVycm9yKCk7dmFyIGQ9eWMoYiksZT1rZShhLGMsZCksZj1lPT09bGM/NzplW0RdfDAsZz1sZShmLGIpO2lmKDImZ3x8aWUoZyl8fDE2JmcpZz09PWZ8fGllKGcpfHxuYyhlLGcpLGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSksZj0wLGc9amUoZyxiKSwkZChhLGIsYyxlLGQpO2cmPS0xMztnIT09ZiYmbmMoZSxnKTtyZXR1cm4gZX1mdW5jdGlvbiBuZShhLGIsYyxkKXt2YXIgZT1hW0RdfDAsZj15YyhlKTtlPW9lKGEsZSxjLGIsZik7JGQoYSxlLGIsZCxmKX1mdW5jdGlvbiBjZShhLGIsYyl7YT1hLnY7cmV0dXJuIHBlKHFlKGEpLGEsdm9pZCAwLGIpPT09Yz9jOi0xfQpmdW5jdGlvbiBxZShhKXtpZihaYil7dmFyIGI7cmV0dXJuKGI9YVtjY10pIT1udWxsP2I6YVtjY109bmV3IE1hcH1pZihjYyBpbiBhKXJldHVybiBhW2NjXTtiPW5ldyBNYXA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsY2Mse3ZhbHVlOmJ9KTtyZXR1cm4gYn1mdW5jdGlvbiBvZShhLGIsYyxkLGUpe2Q9PT0wfHxjLmluY2x1ZGVzKGQpO3ZhciBmPXFlKGEpLGc9cGUoZixhLGIsYyxlKTtnIT09ZCYmKGcmJihiPSRkKGEsYixnLHZvaWQgMCxlKSksZi5zZXQoYyxkKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gcGUoYSxiLGMsZCxlKXt2YXIgZj1hLmdldChkKTtpZihmIT1udWxsKXJldHVybiBmO2Zvcih2YXIgZz1mPTA7ZzxkLmxlbmd0aDtnKyspe3ZhciBoPWRbZ107WmQoYixoLGUpIT1udWxsJiYoZiE9PTAmJihjPSRkKGIsYyxmLHZvaWQgMCxlKSksZj1oKX1hLnNldChkLGYpO3JldHVybiBmfQpmdW5jdGlvbiByZShhLGIsYyxkKXtXZChhKTtpZih2b2lkIDA9PT12Yyl7aWYoY2UoYSxkLGMpIT09YylyZXR1cm59ZWxzZSBvZShhLnYsdm9pZCAwLGQsYyk7cmV0dXJuIEwoYSxiLGMpfWZ1bmN0aW9uIEwoYSxiLGMpe1dkKGEpO2E9YS52O3ZhciBkPWFbRF18MCxlPVpkKGEsYyksZj12b2lkIDA9PT12YztiPXhkKGUsYiwhZixkKTtpZighZnx8YilyZXR1cm4gYj1VZChiKSxlIT09YiYmKGQ9JGQoYSxkLGMsYiksWGQoYSxkKSksYn1mdW5jdGlvbiBzZShhLGIsYyl7dmFyIGQ9YVtEXXwwLGU9eWMoZCksZj1aZChhLGMsZSk7aWYoZiE9bnVsbCYmZltpY109PT1wYyl7aWYoIXFjKGYpKXJldHVybiBWZChmKSxmLnY7dmFyIGc9Zi52fWVsc2UgQXJyYXkuaXNBcnJheShmKSYmKGc9Zik7aWYoZyl7dmFyIGg9Z1tEXXwwO2gmMiYmKGc9UmQoZyxoKSl9Zz1OZChnLGIpO2chPT1mJiYkZChhLGQsYyxnLGUpO3JldHVybiBnfQpmdW5jdGlvbiBhZShhLGIsYyxkKXt2YXIgZT0hMTtkPVpkKGEsZCx2b2lkIDAsZnVuY3Rpb24oZil7dmFyIGc9eGQoZixjLCExLGIpO2U9ZyE9PWYmJmchPW51bGw7cmV0dXJuIGd9KTtpZihkIT1udWxsKXJldHVybiBlJiYhcWMoZCkmJlhkKGEsYiksZH1mdW5jdGlvbiBNKGEsYixjKXthPWEudjtyZXR1cm4gYWUoYSxhW0RdfDAsYixjKXx8YltiY118fChiW2JjXT15ZChiKSl9ZnVuY3Rpb24gdGUoYSxiLGMpe3ZhciBkPWEudixlPWRbRF18MDtiPWFlKGQsZSxiLGMpO2lmKGI9PW51bGwpcmV0dXJuIGI7ZT1kW0RdfDA7aWYoIXFjKGEsZSkpe3ZhciBmPVVkKGIpO2YhPT1iJiYoVmQoYSkmJihkPWEudixlPWRbRF18MCksYj1mLGU9JGQoZCxlLGMsYiksWGQoZCxlKSl9cmV0dXJuIGJ9CmZ1bmN0aW9uIGVlKGEsYixjLGQsZSxmLGcsaCl7Zj1xYyhhLGMpPzE6ZjtoPSEhaHx8Zj09PTM7Zj09PTImJlZkKGEpJiYoYj1hLnYsYz1iW0RdfDApO2E9a2UoYixlLGcpO3ZhciBrPWE9PT1sYz83OmFbRF18MCxsPWxlKGssYyksbT0hKDQmbCk7aWYobSl7dmFyIG49YSxwPWMscj0hISgyJmwpO3ImJihwfD0yKTtmb3IodmFyIHE9IXIsdD0hMCx2PTAsdz0wO3Y8bi5sZW5ndGg7disrKXt2YXIgRj14ZChuW3ZdLGQsITEscCk7aWYoRiBpbnN0YW5jZW9mIGQpe2lmKCFyKXt2YXIgRT1xYyhGKTtxJiYocT0hRSk7dCYmKHQ9RSl9blt3KytdPUZ9fXc8diYmKG4ubGVuZ3RoPXcpO2x8PTQ7bD10P2wmLTQwOTc6bHw0MDk2O2w9cT9sfDg6bCYtOX1sIT09ayYmKG5jKGEsbCksMiZsJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1oZShhLGwsYixjLGUsZyxmLG0saCl9ZnVuY3Rpb24gdWUoYSxiLGMsZCl7cmV0dXJuIE0oYSxiLGNlKGEsZCxjKSl9CmZ1bmN0aW9uIHZlKGEsYixjLGQpe2QhPW51bGw/d2QoZCxiKTpkPXZvaWQgMDtKKGEsYyxkKTtkJiYhcWMoZCkmJlhkKGEudik7cmV0dXJuIGF9ZnVuY3Rpb24gamUoYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfQpmdW5jdGlvbiB3ZShhLGIsYyxkLGUsZil7dmFyIGc9dm9pZCAwO1dkKGEpO3ZhciBoPWEudjthPWVlKGEsaCxoW0RdfDAsYyxiLDIsdm9pZCAwLCEwKTtpZihlJiZmKWQhPW51bGx8fChkPWEubGVuZ3RoLTEpLHRjKGEsZCksYS5zcGxpY2UoZCxlKSxhLmxlbmd0aHx8KGFbRF0mPS00MDk3KTtlbHNle2lmKGUpe2lmKHR5cGVvZiBkIT09Im51bWJlciJ8fGQ8MHx8ZD5hLmxlbmd0aCl0aHJvdyBFcnJvcigpO3dkKGcsYyl9ZWxzZSBnPWchPW51bGw/d2QoZyxjKTpuZXcgYztkIT12b2lkIDA/YS5zcGxpY2UoZCxlLGcpOmEucHVzaChnKTtkPWM9YT09PWxjPzc6YVtEXXwwOyhlPXFjKGcpKT8oYyY9LTksYS5sZW5ndGg9PT0xJiYoYyY9LTQwOTcpKTpjfD00MDk2O2MhPT1kJiZuYyhhLGMpO2V8fFhkKGgpO3JldHVybiBnfX1mdW5jdGlvbiB4ZShhLGIpe2E9WWQoYSxiKTtyZXR1cm4gYT09bnVsbD9hOmJkKGEpP2F8MDp2b2lkIDB9CmZ1bmN0aW9uIHllKGEsYil7dmFyIGM9Yz09PXZvaWQgMD8hMTpjO2E9ZmQoWWQoYSxiKSk7cmV0dXJuIGEhPW51bGw/YTpjfWZ1bmN0aW9uIHplKGEsYil7dmFyIGM9Yz09PXZvaWQgMD8wOmM7dmFyIGQ7cmV0dXJuKGQ9aWQoWWQoYSxiKSkpIT1udWxsP2Q6Y31mdW5jdGlvbiBPKGEsYil7dmFyIGM9Yz09PXZvaWQgMD8wOmM7dmFyIGQ7cmV0dXJuKGQ9WWQoYSxiLHZvaWQgMCxkZCkpIT1udWxsP2Q6Y31mdW5jdGlvbiBBZShhLGIpe3ZhciBjPWM9PT12b2lkIDA/IiI6Yzt2YXIgZDtyZXR1cm4oZD12ZChZZChhLGIpKSkhPW51bGw/ZDpjfWZ1bmN0aW9uIEJlKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO3ZhciBkO3JldHVybihkPXhlKGEsYikpIT1udWxsP2Q6Y30KZnVuY3Rpb24gQ2UoYSxiKXt2YXIgYz12b2lkIDA9PT11Yz8yOjQ7dmFyIGQ9YS52LGU9ZFtEXXwwLGY9cWMoYSxlKT8xOmM7Yz1mPT09MztmPT09MiYmVmQoYSkmJihkPWEudixlPWRbRF18MCk7YT1rZShkLGIpO3ZhciBnPWE9PT1sYz83OmFbRF18MCxoPWxlKGcsZSk7dmFyIGs9NCZoPyExOiEwO2lmKGspezQmaCYmKGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSksZz0wLGg9amUoaCxlKSxlPSRkKGQsZSxiLGEpKTtmb3IodmFyIGw9MCxtPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBuPXZkKGFbbF0pO24hPW51bGwmJihhW20rK109bil9bTxsJiYoYS5sZW5ndGg9bSk7aD0oaHw0KSYtNTEzO2gmPS0xMDI1O2gmPS00MDk3fWghPT1nJiYobmMoYSxoKSwyJmgmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhPWhlKGEsaCxkLGUsYix2b2lkIDAsZixrLGMpfQpmdW5jdGlvbiBEZShhLGIsYyl7aWYoYyE9bnVsbCl7aWYodHlwZW9mIGMhPT0ibnVtYmVyIil0aHJvdyBXYigiaW50MzIiKTtpZighYmQoYykpdGhyb3cgV2IoImludDMyIik7Y3w9MH1KKGEsYixjKX1mdW5jdGlvbiBFZShhLGIsYyl7cmV0dXJuIEooYSxiLGM9PW51bGw/YzpzZChjKSl9ZnVuY3Rpb24gRmUoYSxiLGMpe2lmKGMhPW51bGwmJnR5cGVvZiBjIT09Im51bWJlciIpdGhyb3cgRXJyb3IoIlZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAiK3R5cGVvZiBjKyI6ICIrYyk7SihhLGIsYyl9ZnVuY3Rpb24gR2UoYSxiLGMpe2lmKGMhPW51bGwmJnR5cGVvZiBjIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtKKGEsYixjKX1mdW5jdGlvbiBIZShhLGIpe3JldHVybiBZZChhLGIsdm9pZCAwLGRkKSE9bnVsbH07ZnVuY3Rpb24gSWUoYSxiLGMpe3RoaXMuYnVmZmVyPWE7aWYoYyYmIWIpdGhyb3cgRXJyb3IoKTt0aGlzLmc9Yn0KZnVuY3Rpb24gSmUoYSxiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBuZXcgSWUoTWIoYSksYik7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gbmV3IEllKG5ldyBVaW50OEFycmF5KGEpLGIpO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgSWUoYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBJZShhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09T2IpcmV0dXJuIGI9VGIoYSl8fG5ldyBVaW50OEFycmF5KDApLG5ldyBJZShiLCEwLGEpO2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IEllKGEsITEpO3Rocm93IEVycm9yKCk7fTtmdW5jdGlvbiBLZShhKXt0aGlzLmk9bnVsbDt0aGlzLkE9ITE7dGhpcy5nPXRoaXMuaj10aGlzLmw9MDt0aGlzLmluaXQoYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9S2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZD09PXZvaWQgMD97fTpkO2Q9ZS5PYT09PXZvaWQgMD8hMTplLk9hO2U9ZS5CYj09PXZvaWQgMD8hMTplLkJiO3RoaXMuT2E9ZDt0aGlzLkJiPWU7YSYmKGE9SmUoYSx0aGlzLkJiKSx0aGlzLmk9YS5idWZmZXIsdGhpcy5BPWEuZyx0aGlzLmw9Ynx8MCx0aGlzLmo9YyE9PXZvaWQgMD90aGlzLmwrYzp0aGlzLmkubGVuZ3RoLHRoaXMuZz10aGlzLmwpfTtLZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmk9bnVsbDt0aGlzLkE9ITE7dGhpcy5nPXRoaXMuaj10aGlzLmw9MDt0aGlzLk9hPSExfTtLZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5sfTsKZnVuY3Rpb24gTGUoYSxiKXt2YXIgYz0wLGQ9MCxlPTAsZj1hLmksZz1hLmc7ZG97dmFyIGg9ZltnKytdO2N8PShoJjEyNyk8PGU7ZSs9N313aGlsZShlPDMyJiZoJjEyOCk7aWYoZT4zMilmb3IoZHw9KGgmMTI3KT4+NCxlPTM7ZTwzMiYmaCYxMjg7ZSs9NyloPWZbZysrXSxkfD0oaCYxMjcpPDxlO01lKGEsZyk7aWYoIShoJjEyOCkpcmV0dXJuIGIoYz4+PjAsZD4+PjApO3Rocm93IEVycm9yKCk7fWZ1bmN0aW9uIE1lKGEsYil7YS5nPWI7aWYoYj5hLmopdGhyb3cgRXJyb3IoKTt9CmZ1bmN0aW9uIE5lKGEpe3ZhciBiPWEuaSxjPWEuZyxkPWJbYysrXSxlPWQmMTI3O2lmKGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8NyxkJjEyOCYmKGQ9YltjKytdLGV8PShkJjEyNyk8PDE0LGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8MjEsZCYxMjgmJihkPWJbYysrXSxlfD1kPDwyOCxkJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCYmYltjKytdJjEyOCkpKSkpdGhyb3cgRXJyb3IoKTtNZShhLGMpO3JldHVybiBlfWZ1bmN0aW9uIE9lKGEpe3JldHVybiBMZShhLFVjKX1mdW5jdGlvbiBQZShhKXt2YXIgYj1hLmksYz1hLmcsZD1iW2MrMF0sZT1iW2MrMV0sZj1iW2MrMl07Yj1iW2MrM107TWUoYSxhLmcrNCk7cmV0dXJuKGQ8PDB8ZTw8OHxmPDwxNnxiPDwyNCk+Pj4wfQpmdW5jdGlvbiBRZShhKXt2YXIgYj1QZShhKSxjPVBlKGEpO2E9KGM+PjMxKSoyKzE7dmFyIGQ9Yz4+PjIwJjIwNDc7Yj00Mjk0OTY3Mjk2KihjJjEwNDg1NzUpK2I7cmV0dXJuIGQ9PTIwNDc/Yj9OYU46YSpJbmZpbml0eTpkPT0wP2EqNC45RS0zMjQqYjphKk1hdGgucG93KDIsZC0xMDc1KSooYis0NTAzNTk5NjI3MzcwNDk2KX1mdW5jdGlvbiBSZShhKXtmb3IodmFyIGI9MCxjPWEuZyxkPWMrMTAsZT1hLmk7YzxkOyl7dmFyIGY9ZVtjKytdO2J8PWY7aWYoKGYmMTI4KT09PTApcmV0dXJuIE1lKGEsYyksISEoYiYxMjcpfXRocm93IEVycm9yKCk7fWZ1bmN0aW9uIFNlKGEpe3JldHVybiBOZShhKX1mdW5jdGlvbiBUZShhLGIpe2lmKGI8MCl0aHJvdyBFcnJvcigpO3ZhciBjPWEuZztiPWMrYjtpZihiPmEuail0aHJvdyBFcnJvcigpO2EuZz1iO3JldHVybiBjfQpmdW5jdGlvbiBVZShhLGIpe2lmKGI9PTApcmV0dXJuIFFiKCk7dmFyIGM9VGUoYSxiKTthLk9hJiZhLkE/Yz1hLmkuc3ViYXJyYXkoYyxjK2IpOihhPWEuaSxiPWMrYixjPWM9PT1iP25ldyBVaW50OEFycmF5KDApOk1jP2Euc2xpY2UoYyxiKTpuZXcgVWludDhBcnJheShhLnN1YmFycmF5KGMsYikpKTtyZXR1cm4gYy5sZW5ndGg9PTA/UWIoKTpuZXcgT2IoYyxOYil9dmFyIFZlPVtdO3ZhciBXZT0wO2Z1bmN0aW9uIFhlKGEpe2lmKFZlLmxlbmd0aCl7dmFyIGI9VmUucG9wKCk7Yi5pbml0KGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2E9Yn1lbHNlIGE9bmV3IEtlKGEpO3RoaXMuZz1hO3RoaXMuQT10aGlzLmcuZzt0aGlzLmk9dGhpcy5sPXRoaXMuaj0tMTt0aGlzLnNldE9wdGlvbnModm9pZCAwKX1YZS5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/e306YTt0aGlzLnRiPWEudGI9PT12b2lkIDA/ITE6YS50Yn07WGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nLnJlc2V0KCk7dGhpcy5BPXRoaXMuZy5nO3RoaXMuaT10aGlzLmo9dGhpcy5sPS0xfTsKZnVuY3Rpb24gWWUoYSl7dmFyIGI9YS5nO2lmKGIuZz09Yi5qKXJldHVybiExO2EuQT1hLmcuZztiPU5lKGEuZyk+Pj4wO3ZhciBjPWI+Pj4zLGQ9YiY3O2lmKCEoZD49MCYmZDw9NSkpdGhyb3cgRXJyb3IoKTtpZihjPDEpdGhyb3cgRXJyb3IoKTthLmw9YjthLmo9YzthLmk9ZDtyZXR1cm4hMH1mdW5jdGlvbiBaZShhKXtpZihhLmkhPTIpJGUoYSk7ZWxzZXt2YXIgYj1OZShhLmcpPj4+MDthPWEuZztNZShhLGEuZytiKX19ZnVuY3Rpb24gYWYoKXtpZihXZT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtXZSsrfQpmdW5jdGlvbiAkZShhKXt0cnl7c3dpdGNoKGEuaSl7Y2FzZSAwOmEuaSE9MD8kZShhKTpSZShhLmcpO2JyZWFrO2Nhc2UgMTp2YXIgYj1hLmc7TWUoYixiLmcrOCk7YnJlYWs7Y2FzZSAyOlplKGEpO2JyZWFrO2Nhc2UgNTp2YXIgYz1hLmc7TWUoYyxjLmcrNCk7YnJlYWs7Y2FzZSAzOmFmKCk7dmFyIGQ9YS5qO3RyeXtkb3tpZighWWUoYSkpdGhyb3cgRXJyb3IoKTtpZihhLmk9PTQpe2lmKGEuaiE9ZCl0aHJvdyBFcnJvcigpO2JyZWFrfSRlKGEpfXdoaWxlKDEpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBlO31maW5hbGx5e1dlPjAmJldlLS19YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO319Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGU7fX1mdW5jdGlvbiBiZihhKXt2YXIgYj1hLkE7JGUoYSk7cmV0dXJuIGNmKGEsYil9CmZ1bmN0aW9uIGNmKGEsYil7aWYoIWEudGIpe3ZhciBjPWEuZy5nLWI7YS5nLmc9YjtyZXR1cm4gVWUoYS5nLGMpfX1mdW5jdGlvbiBkZihhLGIsYyl7dmFyIGQ9YS5nLmosZT1OZShhLmcpPj4+MDtlPWEuZy5nK2U7dmFyIGY9ZS1kO2Y8PTAmJihhLmcuaj1lLGMoYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxmPWUtYS5nLmcpO2lmKGYpdGhyb3cgRXJyb3IoKTthLmcuZz1lO2EuZy5qPWR9ZnVuY3Rpb24gZWYoYSxiKXtmb3IodmFyIGM9MCxkPTA7WWUoYSkmJmEuaSE9NDspYS5sIT09MTZ8fGM/YS5sIT09MjZ8fGQ/JGUoYSk6Yz8oZD0tMSxkZihhLGMsYikpOihkPWEuQSxaZShhKSk6KGM9TmUoYS5nKT4+PjAsZCYmKGEuZy5nPWQsZD0wKSk7aWYoYS5sIT09MTJ8fCFkfHwhYyl0aHJvdyBFcnJvcigpO30KZnVuY3Rpb24gZmYoYSl7dmFyIGI9TmUoYS5nKT4+PjA7YT1hLmc7dmFyIGM9VGUoYSxiKTthPWEuaTtpZihlYil7dmFyIGQ9YSxlOyhlPWRiKXx8KGU9ZGI9bmV3IFRleHREZWNvZGVyKCJ1dGYtOCIse2ZhdGFsOiEwfSkpO2I9YytiO2Q9Yz09PTAmJmI9PT1kLmxlbmd0aD9kOmQuc3ViYXJyYXkoYyxiKTt0cnl7dmFyIGY9ZS5kZWNvZGUoZCl9Y2F0Y2gobCl7aWYoY2I9PT12b2lkIDApe3RyeXtlLmRlY29kZShuZXcgVWludDhBcnJheShbMTI4XSkpfWNhdGNoKG0pe310cnl7ZS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkoWzk3XSkpLGNiPSEwfWNhdGNoKG0pe2NiPSExfX0hY2ImJihkYj12b2lkIDApO3Rocm93IGw7fX1lbHNle2Y9YztiPWYrYjtjPVtdO2Zvcih2YXIgZz1udWxsLGgsaztmPGI7KWg9YVtmKytdLGg8MTI4P2MucHVzaChoKTpoPDIyND9mPj1iP2FiKCk6KGs9YVtmKytdLGg8MTk0fHwoayYxOTIpIT09MTI4PyhmLS0sYWIoKSk6Yy5wdXNoKChoJjMxKTw8NnxrJjYzKSk6Cmg8MjQwP2Y+PWItMT9hYigpOihrPWFbZisrXSwoayYxOTIpIT09MTI4fHxoPT09MjI0JiZrPDE2MHx8aD09PTIzNyYmaz49MTYwfHwoKGU9YVtmKytdKSYxOTIpIT09MTI4PyhmLS0sYWIoKSk6Yy5wdXNoKChoJjE1KTw8MTJ8KGsmNjMpPDw2fGUmNjMpKTpoPD0yNDQ/Zj49Yi0yP2FiKCk6KGs9YVtmKytdLChrJjE5MikhPT0xMjh8fChoPDwyOCkrKGstMTQ0KT4+MzAhPT0wfHwoKGU9YVtmKytdKSYxOTIpIT09MTI4fHwoKGQ9YVtmKytdKSYxOTIpIT09MTI4PyhmLS0sYWIoKSk6KGg9KGgmNyk8PDE4fChrJjYzKTw8MTJ8KGUmNjMpPDw2fGQmNjMsaC09NjU1MzYsYy5wdXNoKChoPj4xMCYxMDIzKSs1NTI5NiwoaCYxMDIzKSs1NjMyMCkpKTphYigpLGMubGVuZ3RoPj04MTkyJiYoZz1iYihnLGMpLGMubGVuZ3RoPTApO2Y9YmIoZyxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gZ2YoYSxiLGMpe3ZhciBkPU5lKGEuZyk+Pj4wO2ZvcihkPWEuZy5nK2Q7YS5nLmc8ZDspYy5wdXNoKGIoYS5nKSl9dmFyIGhmPVtdO2Z1bmN0aW9uIGpmKGEsYil7dGhpcy5pPWE+Pj4wO3RoaXMuZz1iPj4+MH1mdW5jdGlvbiBrZihhKXtpZighYSlyZXR1cm4gbGZ8fChsZj1uZXcgamYoMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtYYyhhKTtyZXR1cm4gbmV3IGpmKEcsSCl9ZnVuY3Rpb24gbWYoYSl7cmV0dXJuIG5ldyBqZihhJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihhLzQyOTQ5NjcyOTYpKX12YXIgbGY7ZnVuY3Rpb24gbmYoYSxiKXt0aGlzLmk9YT4+PjA7dGhpcy5nPWI+Pj4wfWZ1bmN0aW9uIG9mKGEpe2lmKCFhKXJldHVybiBwZnx8KHBmPW5ldyBuZigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7WGMoYSk7cmV0dXJuIG5ldyBuZihHLEgpfWZ1bmN0aW9uIHFmKGEpe3JldHVybiBuZXcgbmYoYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9dmFyIHBmLHJmLHNmLHRmLHVmLHZmLHdmLHhmOwpmdW5jdGlvbiB5ZihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gd2Z8fCh3Zj1uZXcgQmlnSW50NjRBcnJheSgxKSx4Zj1uZXcgVWludDMyQXJyYXkod2YuYnVmZmVyKSx3ZlswXT1CaWdJbnQoMSksdmY9eGZbMF09PT0xKSx3ZlswXT1hLGE9dmY/MDoxLG5ldyBiKHhmW2FdLHhmWzEtYV0pO3VmfHwocmY9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxzZj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLHRmPUJpZ0ludCg0Mjk0OTY3Mjk1KSx1Zj1CaWdJbnQoMzIpKTtpZihhPj1yZiYmYTw9c2YpcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZ0ZiksTnVtYmVyKGE+PnVmKSl9O2Z1bmN0aW9uIHpmKCl7dGhpcy5nPVtdfXpmLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmxlbmd0aH07emYucHJvdG90eXBlLmVuZD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZzt0aGlzLmc9W107cmV0dXJuIGF9O2Z1bmN0aW9uIEFmKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuZy5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5nLnB1c2goYil9ZnVuY3Rpb24gQmYoYSxiKXtmb3IoO2I+MTI3OylhLmcucHVzaChiJjEyN3wxMjgpLGI+Pj49NzthLmcucHVzaChiKX1mdW5jdGlvbiBDZihhLGIpe2lmKGI+PTApQmYoYSxiKTtlbHNle2Zvcih2YXIgYz0wO2M8OTtjKyspYS5nLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmcucHVzaCgxKX19ZnVuY3Rpb24gRGYoYSxiKXthLmcucHVzaChiPj4+MCYyNTUpO2EuZy5wdXNoKGI+Pj44JjI1NSk7YS5nLnB1c2goYj4+PjE2JjI1NSk7YS5nLnB1c2goYj4+PjI0JjI1NSl9O2Z1bmN0aW9uIEVmKCl7dGhpcy5qPVtdO3RoaXMuaT0wO3RoaXMuZz1uZXcgemZ9ZnVuY3Rpb24gRmYoYSxiKXtiLmxlbmd0aCE9PTAmJihhLmoucHVzaChiKSxhLmkrPWIubGVuZ3RoKX1mdW5jdGlvbiBHZihhLGIpe0hmKGEsYiwyKTtiPWEuZy5lbmQoKTtGZihhLGIpO2IucHVzaChhLmkpO3JldHVybiBifWZ1bmN0aW9uIElmKGEsYil7dmFyIGM9Yi5wb3AoKTtmb3IoYz1hLmkrYS5nLmxlbmd0aCgpLWM7Yz4xMjc7KWIucHVzaChjJjEyN3wxMjgpLGM+Pj49NyxhLmkrKztiLnB1c2goYyk7YS5pKyt9ZnVuY3Rpb24gSGYoYSxiLGMpe0JmKGEuZyxiKjgrYyl9ZnVuY3Rpb24gSmYoYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKEhmKGEsYiwwKSx0eXBlb2YgYyl7Y2FzZSAibnVtYmVyIjphPWEuZztQYyhjKTtBZihhLEcsSCk7YnJlYWs7Y2FzZSAiYmlnaW50IjpjPXlmKGMsbmYscWYpO0FmKGEuZyxjLmksYy5nKTticmVhaztkZWZhdWx0OmM9b2YoYyksQWYoYS5nLGMuaSxjLmcpfX0KZnVuY3Rpb24gS2YoYSxiLGMpe2MhPW51bGwmJihjPXBhcnNlSW50KGMsMTApLEhmKGEsYiwwKSxDZihhLmcsYykpfWZ1bmN0aW9uIExmKGEsYixjKXtIZihhLGIsMik7QmYoYS5nLGMubGVuZ3RoKTtGZihhLGEuZy5lbmQoKSk7RmYoYSxjKX1mdW5jdGlvbiBNZihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgInN0cmluZyI6a2YoYSl9fTtmdW5jdGlvbiBOZigpe2Z1bmN0aW9uIGEoKXt0aHJvdyBFcnJvcigpO31PYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9dmFyIE9mPU5mKCksUGY9TmYoKSxRZj1OZigpLFJmPU5mKCksU2Y9TmYoKSxUZj1OZigpLFVmPU5mKCksVmY9TmYoKSxXZj1OZigpLFhmPU5mKCksWWY9TmYoKSxaZj1OZigpLCRmPU5mKCksYWc9TmYoKSxiZz1OZigpLGNnPU5mKCksZGc9TmYoKSxlZz1OZigpLGZnPU5mKCksZ2c9TmYoKTtmdW5jdGlvbiBQKGEsYixjKXt0aGlzLnY9SShhLGIsYyl9ZnVuY3Rpb24gaGcoYSl7cmV0dXJuIEpkKGEpfVAucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBKZCh0aGlzKX07UC5wcm90b3R5cGVbaWNdPXBjO1AucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudi50b1N0cmluZygpfTtmdW5jdGlvbiBpZyhhLGIpe2lmKHFjKGEpKXRocm93IEVycm9yKCk7aWYoYi5jb25zdHJ1Y3RvciE9PWEuY29uc3RydWN0b3IpdGhyb3cgRXJyb3IoIkNvcHkgc291cmNlIGFuZCB0YXJnZXQgbWVzc2FnZSBtdXN0IGhhdmUgdGhlIHNhbWUgdHlwZS4iKTt2YXIgYz1iLnYsZD1jW0RdfDA7U2QoYixjLGQpPyhhLnY9YyxzYyhhLCEwKSxhLnpiPXJjKTooYj1jPVJkKGMsZCksb2MoYiwyMDQ4KSxhLnY9YixzYyhhLCExKSxhLnpiPXZvaWQgMCl9O2Z1bmN0aW9uIGpnKGEsYixjLGQpe3RoaXMuWWE9YTt0aGlzLlphPWI7dGhpcy5nPWM7dGhpcy5pPWQ7YT1YYShRZik7KGE9ISFhJiZkPT09YSl8fChhPVhhKFJmKSxhPSEhYSYmZD09PWEpO3RoaXMuaj1hfWZ1bmN0aW9uIGtnKGEsYil7dmFyIGM9Yz09PXZvaWQgMD9RZjpjO3JldHVybiBuZXcgamcoYSxiLCExLGMpfWZ1bmN0aW9uIGxnKGEsYixjLGQsZSl7Yj1tZyhiLGQpO2IhPW51bGwmJihjPUdmKGEsYyksZShiLGEpLElmKGEsYykpfXZhciBuZz1rZyhmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaSE9PTIpcmV0dXJuITE7ZGYoYSxzZShiLGQsYyksZSk7cmV0dXJuITB9LGxnKSxvZz1rZyhmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaSE9PTIpcmV0dXJuITE7ZGYoYSxzZShiLGQsYyksZSk7cmV0dXJuITB9LGxnKSxwZz1TeW1ib2woKSxxZz1TeW1ib2woKSxyZz1TeW1ib2woKSxzZz1TeW1ib2woKSx0Zz1TeW1ib2woKSx1Zz1TeW1ib2woKSx2Zyx3ZzsKZnVuY3Rpb24geGcoYSxiLGMsZCl7dmFyIGU9ZFthXTtpZihlKXJldHVybiBlO2U9e307ZS5xYj1kO2UubmE9TWQoZFswXSk7dmFyIGY9ZFsxXSxnPTE7ZiYmZi5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGUueGE9ZixmPWRbKytnXSx0eXBlb2YgZj09PSJmdW5jdGlvbiImJihlLlhiPSEwLHZnIT1udWxsfHwodmc9Ziksd2chPW51bGx8fCh3Zz1kW2crMV0pLGY9ZFtnKz0yXSkpO2Zvcih2YXIgaD17fTtmJiZBcnJheS5pc0FycmF5KGYpJiZmLmxlbmd0aCYmdHlwZW9mIGZbMF09PT0ibnVtYmVyIiYmZlswXT4wOyl7Zm9yKHZhciBrPTA7azxmLmxlbmd0aDtrKyspaFtmW2tdXT1mO2Y9ZFsrK2ddfWZvcihrPTE7ZiE9PXZvaWQgMDspe3R5cGVvZiBmPT09Im51bWJlciImJihrKz1mLGY9ZFsrK2ddKTt2YXIgbD12b2lkIDA7aWYoZiBpbnN0YW5jZW9mIGpnKXZhciBtPWY7ZWxzZSBtPW5nLGctLTtmPXZvaWQgMDtpZigoZj1tKT09bnVsbD8wOmYuail7Zj1kWysrZ107bD1kO3ZhciBuPWc7CnR5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpLGxbbl09Zik7bD1mfWY9ZFsrK2ddO249aysxO3R5cGVvZiBmPT09Im51bWJlciImJmY8MCYmKG4tPWYsZj1kWysrZ10pO2Zvcig7azxuO2srKyl7dmFyIHA9aFtrXTtsP2MoZSxrLG0sbCxwKTpiKGUsayxtLHApfX1yZXR1cm4gZFthXT1lfWZ1bmN0aW9uIHlnKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpP2FbMF1pbnN0YW5jZW9mIGpnP2E6W29nLGFdOlthLHZvaWQgMF19ZnVuY3Rpb24gbWcoYSxiKXtpZihhIGluc3RhbmNlb2YgUClyZXR1cm4gYS52O2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIE5kKGEsYil9O2Z1bmN0aW9uIHpnKGEsYixjLGQpe3ZhciBlPWMuWWE7YVtiXT1kP2Z1bmN0aW9uKGYsZyxoKXtyZXR1cm4gZShmLGcsaCxkKX06ZX1mdW5jdGlvbiBBZyhhLGIsYyxkLGUpe3ZhciBmPWMuWWEsZyxoO2FbYl09ZnVuY3Rpb24oayxsLG0pe3JldHVybiBmKGssbCxtLGh8fChoPXhnKHFnLHpnLEFnLGQpLm5hKSxnfHwoZz1CZyhkKSksZSl9fQpmdW5jdGlvbiBCZyhhKXt2YXIgYj1hW3JnXTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPXhnKHFnLHpnLEFnLGEpO2I9Yy5YYj9mdW5jdGlvbihkLGUpe3JldHVybiB2ZyhkLGUsYyl9OmZ1bmN0aW9uKGQsZSl7YTp7YWYoKTt0cnl7Zm9yKDtZZShlKSYmZS5pIT00Oyl7dmFyIGY9ZS5qLGc9Y1tmXTtpZihnPT1udWxsKXt2YXIgaD1jLnhhO2lmKGgpe3ZhciBrPWhbZl07aWYoayl7dmFyIGw9Q2coayk7bCE9bnVsbCYmKGc9Y1tmXT1sKX19fWchPW51bGwmJmcoZSxkLGYpfHxFZChkLGYsYmYoZSkpfXZhciBtPUFkKGQpO20mJihtLmc9Yy5xYlt1Z10pO3ZhciBuPSEwO2JyZWFrIGF9Y2F0Y2gocCl7aWYocCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IHA7fWZpbmFsbHl7V2U+MCYmV2UtLX1uPXZvaWQgMH1yZXR1cm4gbn07YVtyZ109YjthW3VnXT1EZy5iaW5kKGEpO3JldHVybiBifQpmdW5jdGlvbiBEZyhhLGIsYyxkKXt2YXIgZT10aGlzW3FnXSxmPXRoaXNbcmddLGc9TmQodm9pZCAwLGUubmEpLGg9QWQoYSk7aWYoaCl7dmFyIGs9ITEsbD1lLnhhO2lmKGwpe2U9ZnVuY3Rpb24ocSx0LHYpe2lmKHYubGVuZ3RoIT09MClpZihsW3RdKWZvcihxPUEodiksdD1xLm5leHQoKTshdC5kb25lO3Q9cS5uZXh0KCkpe3Q9dC52YWx1ZTtoZi5sZW5ndGg/KHY9aGYucG9wKCksdi5zZXRPcHRpb25zKHZvaWQgMCksdi5nLmluaXQodCx2b2lkIDAsdm9pZCAwLHZvaWQgMCksdD12KTp0PW5ldyBYZSh0KTt0cnl7az0hMCxmKGcsdCl9ZmluYWxseXt0LmcuY2xlYXIoKSx0Lmw9LTEsdC5qPS0xLHQuaT0tMSxoZi5sZW5ndGg8MTAwJiZoZi5wdXNoKHQpfX1lbHNlIGQ9PW51bGx8fGQoYSx0LHYpfTtpZihiPT1udWxsKUNkKGgsZSk7ZWxzZSBpZihoIT1udWxsKXt2YXIgbT1oW2JdO20mJmUoaCxiLG0pfWlmKGspe3ZhciBuPWFbRF18MDtpZihuJjImJm4mMjA0OCYmKGM9PW51bGx8fCFjLkJlKSl0aHJvdyBFcnJvcigpOwp2YXIgcD15YyhuKSxyPWZ1bmN0aW9uKHEsdCl7aWYoWmQoYSxxLHApIT1udWxsKXN3aXRjaChjPT1udWxsP3ZvaWQgMDpjLkFlKXtjYXNlIDE6cmV0dXJuO2RlZmF1bHQ6dGhyb3cgRXJyb3IoKTt9dCE9bnVsbCYmKG49JGQoYSxuLHEsdCxwKSk7ZGVsZXRlIGhbcV19O2I9PW51bGw/d2MoZyxnW0RdfDAsZnVuY3Rpb24ocSx0KXtyKHEsdCl9KTpyKGIsWmQoZyxiLHApKX19fX1mdW5jdGlvbiBDZyhhKXthPXlnKGEpO3ZhciBiPWFbMF0uWWE7aWYoYT1hWzFdKXt2YXIgYz1CZyhhKSxkPXhnKHFnLHpnLEFnLGEpLm5hO3JldHVybiBmdW5jdGlvbihlLGYsZyl7cmV0dXJuIGIoZSxmLGcsZCxjKX19cmV0dXJuIGJ9O2Z1bmN0aW9uIEVnKGEsYixjKXthW2JdPWMuWmF9ZnVuY3Rpb24gRmcoYSxiLGMsZCl7dmFyIGUsZixnPWMuWmE7YVtiXT1mdW5jdGlvbihoLGssbCl7cmV0dXJuIGcoaCxrLGwsZnx8KGY9eGcocGcsRWcsRmcsZCkubmEpLGV8fChlPUdnKGQpKSl9fWZ1bmN0aW9uIEdnKGEpe3ZhciBiPWFbc2ddO2lmKCFiKXt2YXIgYz14ZyhwZyxFZyxGZyxhKTtiPWZ1bmN0aW9uKGQsZSl7cmV0dXJuIEhnKGQsZSxjKX07YVtzZ109Yn1yZXR1cm4gYn1mdW5jdGlvbiBIZyhhLGIsYyl7d2MoYSxhW0RdfDAsZnVuY3Rpb24oZCxlKXtpZihlIT1udWxsKXt2YXIgZj1JZyhjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fFhiKGZjLDMpfX0pOyhhPUFkKGEpKSYmQ2QoYSxmdW5jdGlvbihkLGUsZil7RmYoYixiLmcuZW5kKCkpO2ZvcihkPTA7ZDxmLmxlbmd0aDtkKyspRmYoYixUYihmW2RdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9CmZ1bmN0aW9uIElnKGEsYil7dmFyIGM9YVtiXTtpZihjKXJldHVybiBjO2lmKGM9YS54YSlpZihjPWNbYl0pe2M9eWcoYyk7dmFyIGQ9Y1swXS5aYTtpZihjPWNbMV0pe3ZhciBlPUdnKGMpLGY9eGcocGcsRWcsRmcsYykubmE7Yz1hLlhiP3dnKGYsZSk6ZnVuY3Rpb24oZyxoLGspe3JldHVybiBkKGcsaCxrLGYsZSl9fWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtmdW5jdGlvbiBKZyhhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltEXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe3ZhciBnPWEoYltlXSk7ZyE9bnVsbCYmKGJbZisrXT1nKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJm5jKGIsYSk7YyYmYSYyJiZPYmplY3QuZnJlZXplKGIpO3JldHVybiBifX1mdW5jdGlvbiBLZyhhLGIsYyl7cmV0dXJuIG5ldyBqZyhhLGIsITEsYyl9ZnVuY3Rpb24gTGcoYSxiLGMpe3JldHVybiBuZXcgamcoYSxiLE9mLGMpfWZ1bmN0aW9uIE1nKGEsYixjKXskZChhLGFbRF18MCxiLGMseWMoYVtEXXwwKSl9CmZ1bmN0aW9uIE5nKGEsYixjKXtiPWRkKGIpO2IhPW51bGwmJihIZihhLGMsMSksYT1hLmcsYz1OY3x8KE5jPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksRz1jLmdldFVpbnQzMigwLCEwKSxIPWMuZ2V0VWludDMyKDQsITApLERmKGEsRyksRGYoYSxIKSl9ZnVuY3Rpb24gT2coYSxiLGMpe2I9aWQoYik7YiE9bnVsbCYmYiE9bnVsbCYmKEhmKGEsYywwKSxDZihhLmcsYikpfWZ1bmN0aW9uIFBnKGEsYixjLGQsZSl7Yj1tZyhiLGQpO2IhPW51bGwmJihjPUdmKGEsYyksZShiLGEpLElmKGEsYykpfQp2YXIgUWc9S2coZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTEpcmV0dXJuITE7TWcoYixjLFFlKGEuZykpO3JldHVybiEwfSxOZyxlZyksUmc9S2coZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5pIT09MSlyZXR1cm4hMTtuZShiLGMsZCxRZShhLmcpKTtyZXR1cm4hMH0sTmcsZWcpLFNnPUtnKGZ1bmN0aW9uKGEsYixjKXtpZihhLmkhPT01KXJldHVybiExO3ZhciBkPVBlKGEuZyk7YT0oZD4+MzEpKjIrMTt2YXIgZT1kPj4+MjMmMjU1O2QmPTgzODg2MDc7TWcoYixjLGU9PTI1NT9kP05hTjphKkluZmluaXR5OmU9PTA/YSoxLjQwMTI5ODQ2NDMyNDgxN0UtNDUqZDphKk1hdGgucG93KDIsZS0xNTApKihkKzgzODg2MDgpKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9ZGQoYik7YiE9bnVsbCYmKEhmKGEsYyw1KSxhPWEuZyxjPU5jfHwoTmM9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxIPTAsRz1jLmdldFVpbnQzMigwLCEwKSwKRGYoYSxHKSl9LGRnKSxUZz1LZyhmdW5jdGlvbihhLGIsYyl7YS5pIT09MD9hPSExOihNZyhiLGMsT2UoYS5nKSksYT0hMCk7cmV0dXJuIGF9LGZ1bmN0aW9uKGEsYixjKXtiPXRkKGIpO2lmKGIhPW51bGwpe3N3aXRjaCh0eXBlb2YgYil7Y2FzZSAic3RyaW5nIjpvZihiKX1KZihhLGMsYil9fSxaZiksVWc9TGcoZnVuY3Rpb24oYSxiLGMpe2EuaSE9PTAmJmEuaSE9PTI/YT0hMTooYj1tZShiLGJbRF18MCxjKSxhLmk9PTI/Z2YoYSxPZSxiKTpiLnB1c2goT2UoYS5nKSksYT0hMCk7cmV0dXJuIGF9LGZ1bmN0aW9uKGEsYixjKXtiPUpnKHRkLGIsITEpO2lmKGIhPW51bGwpZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspSmYoYSxjLGJbZF0pfSxaZiksVmc9S2coZnVuY3Rpb24oYSxiLGMpe2EuaSE9PTA/YT0hMTooTWcoYixjLExlKGEuZyxUYykpLGE9ITApO3JldHVybiBhfSxmdW5jdGlvbihhLGIsYyl7Yj11ZChiKTtpZihiIT1udWxsJiYoTWYoYiksYiE9bnVsbCkpc3dpdGNoKEhmKGEsCmMsMCksdHlwZW9mIGIpe2Nhc2UgIm51bWJlciI6YT1hLmc7UGMoYik7QWYoYSxHLEgpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz15ZihiLGpmLG1mKTtBZihhLmcsYy5pLGMuZyk7YnJlYWs7ZGVmYXVsdDpjPWtmKGIpLEFmKGEuZyxjLmksYy5nKX19LCRmKSxXZz1LZyhmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTtNZyhiLGMsTmUoYS5nKSk7cmV0dXJuITB9LE9nLFVmKSxYZz1LZyhmdW5jdGlvbihhLGIsYyxkKXtpZihhLmkhPT0wKXJldHVybiExO25lKGIsYyxkLE5lKGEuZykpO3JldHVybiEwfSxPZyxVZiksWWc9S2coZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTEpYj0hMTtlbHNle3ZhciBkPWEuZzthPVBlKGQpO2Q9UGUoZCk7TWcoYixjLFRjKGEsZCkpO2I9ITB9cmV0dXJuIGJ9LGZ1bmN0aW9uKGEsYixjKXtiPXVkKGIpO2lmKGIhPW51bGwpc3dpdGNoKE1mKGIpLEhmKGEsYywxKSx0eXBlb2YgYil7Y2FzZSAibnVtYmVyIjphPWEuZztPYyhiKTtEZihhLEcpOwpEZihhLEgpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz15ZihiLGpmLG1mKTthPWEuZztiPWMuZztEZihhLGMuaSk7RGYoYSxiKTticmVhaztkZWZhdWx0OmM9a2YoYiksYT1hLmcsYj1jLmcsRGYoYSxjLmkpLERmKGEsYil9fSxiZyksWmc9S2coZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTUpcmV0dXJuITE7TWcoYixjLFBlKGEuZykpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7Yj1rZChiKTtiIT1udWxsJiYoSGYoYSxjLDUpLERmKGEuZyxiKSl9LFhmKSwkZz1LZyhmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTtNZyhiLGMsUmUoYS5nKSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtiPWZkKGIpO2IhPW51bGwmJihIZihhLGMsMCksYS5nLmcucHVzaChiPzE6MCkpfSxTZiksUT1LZyhmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MilyZXR1cm4hMTtNZyhiLGMsZmYoYSkpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7Yj12ZChiKTtiIT1udWxsJiZMZihhLGMsaWIoYikpfSwKVGYpLGFoPUxnKGZ1bmN0aW9uKGEsYixjKXtpZihhLmkhPT0yKXJldHVybiExO2E9ZmYoYSk7bWUoYixiW0RdfDAsYykucHVzaChhKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9SmcodmQsYiwhMCk7aWYoYiE9bnVsbClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YSxmPWMsZz1iW2RdO2chPW51bGwmJkxmKGUsZixpYihnKSl9fSxUZiksYmgsY2g9dm9pZCAwO2NoPWNoPT09dm9pZCAwP1FmOmNoO2JoPW5ldyBqZyhmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaSE9PTIpcmV0dXJuITE7ZD1OZCh2b2lkIDAsZCk7bWUoYixiW0RdfDAsYykucHVzaChkKTtkZihhLGQsZSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspUGcoYSxiW2ZdLGMsZCxlKTthPWJbRF18MDthJjF8fG5jKGIsYXwxKX19LE9mLGNoKTsKdmFyIGRoPWtnKGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihhLmkhPT0yKXJldHVybiExO3ZhciBnPWJbRF18MDtvZShiLGcsZixjLHljKGcpKTtiPXNlKGIsZCxjKTtkZihhLGIsZSk7cmV0dXJuITB9LFBnKSxlaD1LZyhmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MilyZXR1cm4hMTt2YXIgZD1OZShhLmcpPj4+MDthPVVlKGEuZyxkKTtNZyhiLGMsYSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtiPWI9PW51bGx8fHR5cGVvZiBiPT0ic3RyaW5nInx8YiBpbnN0YW5jZW9mIE9iP2I6dm9pZCAwO2IhPW51bGwmJkxmKGEsYyxKZShiLCEwKS5idWZmZXIpfSxmZyksZmg9S2coZnVuY3Rpb24oYSxiLGMpe2lmKGEuaSE9PTApcmV0dXJuITE7TWcoYixjLE5lKGEuZyk+Pj4wKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9a2QoYik7YiE9bnVsbCYmYiE9bnVsbCYmKEhmKGEsYywwKSxCZihhLmcsYikpfSxWZiksUj1LZyhmdW5jdGlvbihhLGIsYyl7aWYoYS5pIT09MClyZXR1cm4hMTsKTWcoYixjLE5lKGEuZykpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7S2YoYSxjLGlkKGIpKX0sZ2cpLGdoPUxnKGZ1bmN0aW9uKGEsYixjKXtpZihhLmkhPT0wJiZhLmkhPT0yKXJldHVybiExO2I9bWUoYixiW0RdfDAsYyk7YS5pPT0yP2dmKGEsU2UsYik6Yi5wdXNoKE5lKGEuZykpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyl7Yj1KZyhpZCxiLCEwKTtpZihiIT1udWxsKWZvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKUtmKGEsYyxiW2RdKX0sZ2cpO3ZhciBoaD1TeW1ib2woKSxpaD1TeW1ib2woKTtmdW5jdGlvbiBqaChhLGIpe2Zvcih2YXIgYyBpbiBhKWlzTmFOKGMpfHxiKCtjLGFbY10sITEpO3ZhciBkO2M9KGQ9YS5VYikhPW51bGw/ZDphLlViPXt9O2Zvcih2YXIgZSBpbiBhLnhhKWlmKGQ9K2UsIWlzTmFOKGQpJiYhY1tkXSl7dmFyIGY9QSh5ZyhhLnhhW2RdKSksZz1mLm5leHQoKS52YWx1ZTsoZj1mLm5leHQoKS52YWx1ZSkmJnR5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpKTtjW2RdPWY/bmV3IGtoKGYsZy5pLGcuZywhMSxmKTpuZXcgbGgoZy5pLGcuZyl9YT1hLlViO2Zvcih2YXIgaCBpbiBhKWU9K2gsaXNOYU4oZSl8fGIoZSxhW2VdLCEwKX1mdW5jdGlvbiBtaChhLGIsYyl7YVtiXT1uZXcgbGgoYy5pLGMuZyl9ZnVuY3Rpb24gbGgoYSxiKXt0aGlzLlhhPWE7dGhpcy5ZYj1iO3RoaXMuaXNNYXA9ITF9CmZ1bmN0aW9uIGtoKGEsYixjLGQsZSl7dGhpcy5xYj1hO3RoaXMuWGE9Yjt0aGlzLlliPWM7dGhpcy5pc01hcD1kO3RoaXMuQ2Q9ZX1mdW5jdGlvbiBuaChhLGIsYyxkKXt2YXIgZT1NZChkWzBdKTtlPWU/ZT09PUtkOiExO2FbYl09bmV3IGtoKGQsYy5pLGU/T2Y6Yy5nLGU/UGY6ITEsZCl9O3ZhciBvaD17fTtmdW5jdGlvbiBwaChhKXt0aGlzLnY9SShhKX16KHBoLFApO2Z1bmN0aW9uIHFoKGEpe3RoaXMudj1JKGEsNTAwKX16KHFoLFApO2Z1bmN0aW9uIHJoKGEpe3RoaXMudj1JKGEpfXoocmgsUCk7dmFyIHNoPVstMSxvaCxmdW5jdGlvbihhLGIsYyl7YWYoKTt0cnl7Zm9yKHZhciBkPWMueGEsZT17fTtZZShiKSYmYi5pIT00O2U9e29hOnZvaWQgMCxDYjp2b2lkIDB9KWlmKGIubD09PTExKXt2YXIgZj1iLkE7ZS5DYj0hMTtlLm9hPXZvaWQgMDtlZihiLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihrLGwpe2gub2E9aztrPWNbaC5vYV07aWYoaz09bnVsbCl7dmFyIG09ZD09bnVsbD92b2lkIDA6ZFtoLm9hXTtpZihtKXt2YXIgbj1CZyhtKSxwPXhnKHFnLHpnLEFnLG0pLm5hO2s9Y1toLm9hXT1mdW5jdGlvbihyLHEsdCl7cmV0dXJuIG4oc2UocSxwLHQpLHIpfX19ayE9bnVsbD9rKGwsYSxoLm9hKTooaC5DYj0hMCxsLmcuZz1sLmcuail9fShlKSk7ZS5DYiYmRWQoYSxlLm9hLGNmKGIsZikpfWVsc2UgRWQoYSxiLmosYmYoYikpO3ZhciBnPUFkKGEpO2cmJihnLmc9Yy5xYlt1Z10pO3JldHVybiEwfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjsKdGhyb3cgaDt9ZmluYWxseXtXZT4wJiZXZS0tfX0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyxkLGUpe2Q9bWcoZCxhKTtkIT1udWxsJiYoSGYoYywxLDMpLEhmKGMsMiwwKSxDZihjLmcsZSksZT1HZihjLDMpLGIoZCxjKSxJZihjLGUpLEhmKGMsMSw0KSl9fV07dmFyIHRoPVswLFlnLC0xLHNoXTt2YXIgdWg9Wy01MDAsWmcsLTEsMTIsc2gsNDg0LFswLDE0LFswLFswLFIsUV0sJGddXV07dmFyIHZoPVswLDIsUWcsLTFdO2Z1bmN0aW9uIHdoKGEpe3RoaXMudj1JKGEpfXood2gsUCk7ZnVuY3Rpb24geGgoYSl7dGhpcy52PUkoYSl9eih4aCxQKTtmdW5jdGlvbiB5aChhLGIpe0RlKGEsMSxiKX1mdW5jdGlvbiB6aChhLGIpe0RlKGEsMixiKX07ZnVuY3Rpb24gQWgoYSl7dGhpcy52PUkoYSl9eihBaCxQKTtmdW5jdGlvbiBCaChhKXtyZXR1cm4gTShhLHdoLDEpfWZ1bmN0aW9uIENoKGEpe3JldHVybiBMKGEseGgsMyl9O2Z1bmN0aW9uIERoKGEpe3RoaXMudj1JKGEpfXooRGgsUCk7ZnVuY3Rpb24gRWgoYSl7dGhpcy52PUkoYSl9eihFaCxQKTtvaFsxMzI1ODI2MV09dGg7b2hbMTQ4Mjc1NTZdPXVoO2VnLk09ImQiO2RnLk09ImYiO1VmLk09ImkiO1pmLk09ImoiO1ZmLk09InUiOyRmLk09InYiO1NmLk09ImIiO2dnLk09ImUiO1RmLk09InMiO2ZnLk09IkIiO1FmLk09Im0iO1JmLk09Im0iO1hmLk09IngiO2JnLk09InkiO1lmLk09ImciO2NnLk09ImgiO1dmLk09Im4iO2FnLk09Im8iO3ZhciBGaD1SZWdFeHAoIlsrL10iLCJnIik7ZnVuY3Rpb24gR2goYSl7cmV0dXJuIGE9PT0iKyI/Ii0iOiJfIn12YXIgSGg9UmVnRXhwKCJbLj1dKyQiKSxJaD1SZWdFeHAoIihcXCopIiwiZyIpLEpoPVJlZ0V4cCgiKCEpIiwiZyIpLEtoPVJlZ0V4cCgiXlstQS1aYS16MC05Xy4hfiooKSBdKiQiKTtmdW5jdGlvbiBMaChhLGIsYyxkLGUpe3ZhciBmPShhW0RdfDApJjY0P2E6TmQoYSxiLm5hKSxnPWZbRF18MDtqaChiLGZ1bmN0aW9uKGgsayl7dmFyIGw9WmQoZixoLHljKGcpKTtpZihsIT1udWxsKWlmKGsuaXNNYXAmJmwgaW5zdGFuY2VvZiBNYXApbC5mb3JFYWNoKGZ1bmN0aW9uKG4scCl7ZT1NaChjLGgsayxbcCxuXSxkLGUpfSk7ZWxzZSBpZihrLlliKWZvcih2YXIgbT0wO208bC5sZW5ndGg7KyttKWU9TWgoYyxoLGssbFttXSxkLGUpO2Vsc2UgZT1NaChjLGgsayxsLGQsZSl9KTtyZXR1cm4gZX0KZnVuY3Rpb24gTWgoYSxiLGMsZCxlLGYpe2VbZisrXT1hPT09MD8iISI6IiYiO2VbZisrXT1iO2lmKGMuWGEgaW5zdGFuY2VvZiBRZnx8Yy5YYSBpbnN0YW5jZW9mIFJmKXt2YXIgZz1OaChkKSxoO2Q9KGg9Yy5EZCkhPW51bGw/aDpjLkRkPXhnKHRnLG1oLG5oLGMuQ2QpO2VbZisrXT0ibSI7ZVtmKytdPTA7Yz1mO2Y9TGgoTmgoZyksZCxhLGUsZik7ZVtjLTFdPWYtYz4+Mn1lbHNle2g9Yy5YYTtjPWguTTtpZihoIGluc3RhbmNlb2YgVGYpaWYoYT09PTEpZD1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGQpKTtlbHNle2E9dHlwZW9mIGQ9PT0ic3RyaW5nIj9kOiIiK2Q7S2gudGVzdChhKT9nPSExOihnPWVuY29kZVVSSUNvbXBvbmVudChhKS5yZXBsYWNlKC8lMjAvZywiKyIpLGQ9Zy5tYXRjaCgvJVs4OUFCXS9naSksZD1hLmxlbmd0aCsoZD9kLmxlbmd0aDowKSxnPTQqTWF0aC5jZWlsKGQvMyktKDMtZCUzKSUzPGcubGVuZ3RoKTtnJiYoYz0ieiIpO2lmKGM9PT0ieiIpe2c9W107CmZvcihoPWQ9MDtoPGEubGVuZ3RoO2grKyliPWEuY2hhckNvZGVBdChoKSxiPDEyOD9nW2QrK109YjooYjwyMDQ4P2dbZCsrXT1iPj42fDE5MjooKGImNjQ1MTIpPT01NTI5NiYmaCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGgrMSkmNjQ1MTIpPT01NjMyMD8oYj02NTUzNisoKGImMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsraCkmMTAyMyksZ1tkKytdPWI+PjE4fDI0MCxnW2QrK109Yj4+MTImNjN8MTI4KTpnW2QrK109Yj4+MTJ8MjI0LGdbZCsrXT1iPj42JjYzfDEyOCksZ1tkKytdPWImNjN8MTI4KTthPURiKGcsNCl9ZWxzZSBhLmluZGV4T2YoIioiKSE9PS0xJiYoYT1hLnJlcGxhY2UoSWgsIioyQSIpKSxhLmluZGV4T2YoIiEiKSE9PS0xJiYoYT1hLnJlcGxhY2UoSmgsIioyMSIpKTtkPWF9ZWxzZXthPWQ7aWYoIShoIGluc3RhbmNlb2YgZWd8fGggaW5zdGFuY2VvZiBkZykpaWYoaCBpbnN0YW5jZW9mIFNmKWE9YT8xOjA7ZWxzZSBpZihoIGluc3RhbmNlb2YgVGYpYT1TdHJpbmcoYSk7CmVsc2UgaWYoaCBpbnN0YW5jZW9mIGZnKXthIGluc3RhbmNlb2YgT2J8fGE9PW51bGx8fGEgaW5zdGFuY2VvZiBPYnx8KGE9dHlwZW9mIGE9PT0ic3RyaW5nIj9hP25ldyBPYihhLE5iKTpRYigpOnZvaWQgMCk7aWYoYT09bnVsbCl0aHJvdyBFcnJvcigpO2E9U2IoYSkucmVwbGFjZShGaCxHaCkucmVwbGFjZShIaCwiIil9ZWxzZSBpZihoIGluc3RhbmNlb2YgVmZ8fGggaW5zdGFuY2VvZiBYZilhPWtkKGEpO2Vsc2UgaWYoaCBpbnN0YW5jZW9mIFVmfHxoIGluc3RhbmNlb2YgWWZ8fGggaW5zdGFuY2VvZiBXZnx8aCBpbnN0YW5jZW9mIGdnKWE9aWQoYSk7ZWxzZSBpZihoIGluc3RhbmNlb2YgWmZ8fGggaW5zdGFuY2VvZiBhZ3x8aCBpbnN0YW5jZW9mIGNnKWE9cmQoYSk7ZWxzZSBpZihoIGluc3RhbmNlb2YgJGZ8fGggaW5zdGFuY2VvZiBiZylnPWc9PT12b2lkIDA/ITE6ZyxkPXR5cGVvZiBhLGE9YT09bnVsbD9hOmQ9PT0iYmlnaW50Ij9TdHJpbmcoJGMoNjQsYSkpOmhkKGEpP2Q9PT0KInN0cmluZyI/cWQoYSk6Zz9vZChhKTpuZChhKTp2b2lkIDA7ZD1hfWVbZisrXT1jO2VbZisrXT1kfXJldHVybiBmfWZ1bmN0aW9uIE5oKGEpe2lmKGEgaW5zdGFuY2VvZiBQKXJldHVybiBhLnY7aWYoYSBpbnN0YW5jZW9mIE1hcClyZXR1cm5bXS5jb25jYXQodGEoYSkpO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dGhyb3cgRXJyb3IoKTt9Oy8qCgogQ29weXJpZ2h0IDIwMjQgR29vZ2xlLCBJbmMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KdmFyIE9oPXt9O3ZhciBQaD1bIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIiwicG9pbnRlcmVudGVyIiwicG9pbnRlcmxlYXZlIl0sUWg9WyJmb2N1cyIsImJsdXIiLCJlcnJvciIsImxvYWQiLCJ0b2dnbGUiXTt2YXIgUmg9dHlwZW9mIG5hdmlnYXRvciE9PSJ1bmRlZmluZWQiJiYvTWFjaW50b3NoLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLFNoPXR5cGVvZiBuYXZpZ2F0b3IhPT0idW5kZWZpbmVkIiYmIS9PcGVyYXxXZWJLaXQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJi9HZWNrby8udGVzdChuYXZpZ2F0b3IucHJvZHVjdCk7ZnVuY3Rpb24gVGgoYSl7dGhpcy5nPWF9ZnVuY3Rpb24gVWgoYSl7aWYoYT1hLmcuZWlhKXJldHVybntuYW1lOmFbMF0sZWxlbWVudDphWzFdfX07dmFyIFZoPXt9LFdoPS9ccyo7XHMqLztmdW5jdGlvbiBYaCgpe3ZhciBhPXtXYTohMH07dmFyIGI9YT09PXZvaWQgMD97fTphO2E9Yi5XYT09PXZvaWQgMD8hMTpiLldhO2I9Yi5TYT09PXZvaWQgMD8hMDpiLlNhO3RoaXMuU2E9ITA7dGhpcy5XYT1hO3RoaXMuU2E9Yn07KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiB3aW5kb3cuRXZlbnRUYXJnZXQ9PT0iZnVuY3Rpb24iKXJldHVybiBuZXcgRXZlbnRUYXJnZXR9Y2F0Y2goYSl7fXRyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9Y2F0Y2goYSl7fXJldHVybiBudWxsfSkoKTtmdW5jdGlvbiBZaChhLGIpe3ZhciBjPWI9PT12b2lkIDA/e306YjtiPWMuTmE7Yz1jLlRhO3RoaXMuaj1hO3RoaXMuZz0hMTt0aGlzLmk9W107dGhpcy5OYT1iO3RoaXMuVGE9Y31mdW5jdGlvbiBaaChhLGIpe2EuaS5wdXNoKGIpO2EuZ3x8KGEuZz0hMCxQcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7YS5nPSExO2EuVGEoYS5pKX0pKX0KZnVuY3Rpb24gJGgoYSxiKXthLmVjcmQoZnVuY3Rpb24oYyl7dmFyIGQ9bmV3IFRoKGMpLGU7aWYoKGU9Yi5OYSkhPW51bGwpe2lmKGU9ZS5TYSYmYy5ldmVudFR5cGU9PT0iY2xpY2siKWU9Yy5ldmVudCxlPVJoJiZlLm1ldGFLZXl8fCFSaCYmZS5jdHJsS2V5fHxlLndoaWNoPT09Mnx8ZS53aGljaD09bnVsbCYmZS5idXR0b249PT00fHxlLnNoaWZ0S2V5O2UmJihjLmV2ZW50VHlwZT0iY2xpY2ttb2QiKX1pZigoZT1iLk5hKSE9bnVsbCYmIWMuZWlyKXtmb3IodmFyIGY9Yy50YXJnZXRFbGVtZW50O2YmJmYhPT1jLmVpYzspe2lmKGYubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIGc9ZixoPWMsaz1nLGw9ay5fX2pzYWN0aW9uO2lmKCFsKXt2YXIgbT1rLmdldEF0dHJpYnV0ZSgianNhY3Rpb24iKTtpZihtKXtsPU9oW21dO2lmKCFsKXtsPXt9O2Zvcih2YXIgbj1tLnNwbGl0KFdoKSxwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciByPW5bcF07aWYocil7dmFyIHE9ci5pbmRleE9mKCI6IiksCnQ9cSE9PS0xO2xbdD9yLnN1YnN0cigwLHEpLnRyaW0oKToiY2xpY2siXT10P3Iuc3Vic3RyKHErMSkudHJpbSgpOnJ9fU9oW21dPWx9ay5fX2pzYWN0aW9uPWx9ZWxzZSBsPVZoLGsuX19qc2FjdGlvbj1sfWs9bFtoLmV2ZW50VHlwZV07ayE9PXZvaWQgMCYmKGguZWlhPVtrLGddKX1pZihjLmVpYSlicmVhaztnPXZvaWQgMDsoaD1mLl9fb3duZXIpP2Y9aDooaD1mLnBhcmVudE5vZGUsZj0oaD09bnVsbD92b2lkIDA6aC5ub2RlTmFtZSk9PT0iI2RvY3VtZW50LWZyYWdtZW50Ij8oZz1oPT1udWxsP3ZvaWQgMDpoLmhvc3QpIT1udWxsP2c6bnVsbDpoKX1pZigoZj1jLmVpYSkmJmUuV2EmJihjLmV2ZW50VHlwZT09PSJtb3VzZWVudGVyInx8Yy5ldmVudFR5cGU9PT0ibW91c2VsZWF2ZSJ8fGMuZXZlbnRUeXBlPT09InBvaW50ZXJlbnRlciJ8fGMuZXZlbnRUeXBlPT09InBvaW50ZXJsZWF2ZSIpKWlmKGU9Yy5ldmVudCxnPWMuZXZlbnRUeXBlLGg9ZlsxXSxrPWUucmVsYXRlZFRhcmdldCwKIShlLnR5cGU9PT0ibW91c2VvdmVyIiYmZz09PSJtb3VzZWVudGVyInx8ZS50eXBlPT09Im1vdXNlb3V0IiYmZz09PSJtb3VzZWxlYXZlInx8ZS50eXBlPT09InBvaW50ZXJvdmVyIiYmZz09PSJwb2ludGVyZW50ZXIifHxlLnR5cGU9PT0icG9pbnRlcm91dCImJmc9PT0icG9pbnRlcmxlYXZlIil8fGsmJihrPT09aHx8aC5jb250YWlucyhrKSkpYy5laWE9dm9pZCAwO2Vsc2V7ZT1jLmV2ZW50O2c9ZlsxXTtoPXt9O2Zvcih2YXIgdiBpbiBlKXYhPT0ic3JjRWxlbWVudCImJnYhPT0idGFyZ2V0IiYmKGs9dixsPWVba10sdHlwZW9mIGwhPT0iZnVuY3Rpb24iJiYoaFtrXT1sKSk7aC50eXBlPWUudHlwZT09PSJtb3VzZW92ZXIiPyJtb3VzZWVudGVyIjplLnR5cGU9PT0ibW91c2VvdXQiPyJtb3VzZWxlYXZlIjplLnR5cGU9PT0icG9pbnRlcm92ZXIiPyJwb2ludGVyZW50ZXIiOiJwb2ludGVybGVhdmUiO2gudGFyZ2V0PWguc3JjRWxlbWVudD1nO2guYnViYmxlcz0hMTtoLl9vcmlnaW5hbEV2ZW50PQplO2MuZXZlbnQ9aDtjLnRhcmdldEVsZW1lbnQ9ZlsxXX1jLmVpcj0hMH0hKGM9VWgoZCkpfHxjLmVsZW1lbnQudGFnTmFtZSE9PSJBInx8ZC5nLmV2ZW50VHlwZSE9PSJjbGljayImJmQuZy5ldmVudFR5cGUhPT0iY2xpY2ttb2QifHwoYz1kLmcuZXZlbnQsYy5wcmV2ZW50RGVmYXVsdD9jLnByZXZlbnREZWZhdWx0KCk6Yy5yZXR1cm5WYWx1ZT0hMSk7Yi5UYSYmZC5nLmVpcnA/WmgoYixkKTpiLmooZCl9LDApfTtmdW5jdGlvbiBhaShhKXt0aGlzLmVsZW1lbnQ9YTt0aGlzLmc9W119YWkucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuZyxlPWQucHVzaCxmPXRoaXMuZWxlbWVudDtiPWIodGhpcy5lbGVtZW50KTt2YXIgZz0hMTtRaC5pbmRleE9mKGEpPj0wJiYoZz0hMCk7Zi5hZGRFdmVudExpc3RlbmVyKGEsYix0eXBlb2YgYz09PSJib29sZWFuIj97Y2FwdHVyZTpnLHBhc3NpdmU6Y306Zyk7ZS5jYWxsKGQse2V2ZW50VHlwZTphLFc6YixjYXB0dXJlOmcscGFzc2l2ZTpjfSl9OwphaS5wcm90b3R5cGUudGE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPHRoaXMuZy5sZW5ndGg7YSsrKXt2YXIgYj10aGlzLmVsZW1lbnQsYz10aGlzLmdbYV07Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLmV2ZW50VHlwZSxjLlcsdHlwZW9mIGMucGFzc2l2ZT09PSJib29sZWFuIj97Y2FwdHVyZTpjLmNhcHR1cmV9OmMuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudCYmYi5kZXRhY2hFdmVudCgib24iK2MuZXZlbnRUeXBlLGMuVyl9dGhpcy5nPVtdfTtmdW5jdGlvbiBiaSgpe3RoaXMuc3RvcFByb3BhZ2F0aW9uPSEwO3RoaXMuZz1bXTt0aGlzLmk9W107dGhpcy5qPVtdfWJpLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGYpe2YuYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9Zm9yKHZhciBlPTA7ZTx0aGlzLmcubGVuZ3RoO2UrKylkKHRoaXMuZ1tlXSk7dGhpcy5qLnB1c2goZCl9O2JpLnByb3RvdHlwZS50YT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGEodGhpcy5nKSx0YSh0aGlzLmkpKSxiPTA7YjxhLmxlbmd0aDtiKyspYVtiXS50YSgpO3RoaXMuZz1bXTt0aGlzLmk9W107dGhpcy5qPVtdfTtmdW5jdGlvbiBjaShhLGIpe2Zvcih2YXIgYz0wO2M8YS5qLmxlbmd0aDtjKyspYS5qW2NdKGIpfWZ1bmN0aW9uIGRpKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoZWkoYltjXS5lbGVtZW50LGEuZWxlbWVudCkpcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIGVpKGEsYil7aWYoYT09PWIpcmV0dXJuITE7Zm9yKDthIT09YiYmYi5wYXJlbnROb2RlOyliPWIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWJ9O2Z1bmN0aW9uIGZpKGEpe3RoaXMubD17fTt0aGlzLkE9e307dGhpcy5qPW51bGw7dGhpcy5nPVtdO3RoaXMuaT1hfWZpLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbihhLGIsYyl7Z2kodGhpcyx7ZXZlbnRUeXBlOmEsZXZlbnQ6Yix0YXJnZXRFbGVtZW50OmIudGFyZ2V0LGVpYzpjLHRpbWVTdGFtcDpEYXRlLm5vdygpLGVpYTp2b2lkIDAsZWlycDp2b2lkIDAsZWlhY2s6dm9pZCAwfSl9O2Z1bmN0aW9uIGdpKGEsYil7aWYoYS5qKWEuaihiKTtlbHNle2IuZWlycD0hMDt2YXIgYzsoYz1hLmcpPT1udWxsfHxjLnB1c2goYil9fQpmdW5jdGlvbiBoaShhLGIsYyl7aWYoIShiIGluIGEubHx8IWEuaXx8UGguaW5kZXhPZihiKT49MCkpe3ZhciBkPWZ1bmN0aW9uKGcsaCxrKXthLmhhbmRsZUV2ZW50KGcsaCxrKX07YS5sW2JdPWQ7dmFyIGU9Yj09PSJtb3VzZWVudGVyIj8ibW91c2VvdmVyIjpiPT09Im1vdXNlbGVhdmUiPyJtb3VzZW91dCI6Yj09PSJwb2ludGVyZW50ZXIiPyJwb2ludGVyb3ZlciI6Yj09PSJwb2ludGVybGVhdmUiPyJwb2ludGVyb3V0IjpiO2lmKGUhPT1iKXt2YXIgZj1hLkFbZV18fFtdO2YucHVzaChiKTthLkFbZV09Zn1hLmkuYWRkRXZlbnRMaXN0ZW5lcihlLGZ1bmN0aW9uKGcpe3JldHVybiBmdW5jdGlvbihoKXtkKGIsaCxnKX19LGMpfX1maS5wcm90b3R5cGUuVz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sW2FdfTsKZmkucHJvdG90eXBlLnRhPWZ1bmN0aW9uKCl7dmFyIGE7KGE9dGhpcy5pKT09bnVsbHx8YS50YSgpO3RoaXMuaT1udWxsO3RoaXMubD17fTt0aGlzLkE9e307dGhpcy5qPW51bGw7dGhpcy5nPVtdfTtmaS5wcm90b3R5cGUuZWNyZD1mdW5jdGlvbihhKXt0aGlzLmo9YTt2YXIgYjtpZigoYj10aGlzLmcpPT1udWxsPzA6Yi5sZW5ndGgpe2ZvcihhPTA7YTx0aGlzLmcubGVuZ3RoO2ErKylnaSh0aGlzLHRoaXMuZ1thXSk7dGhpcy5nPW51bGx9fTt2YXIgaWk9IS9eXHMqY2xhc3Nccypce1xzKlx9XHMqJC8udGVzdChiYSgpLnRvU3RyaW5nKCkpOy8qCgogQ29weXJpZ2h0IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCnZhciBqaT1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxraT1qaSxsaTtmdW5jdGlvbiBtaSgpe3ZhciBhPW51bGw7aWYoIWtpKXJldHVybiBhO3RyeXt2YXIgYj1hYSgpO2E9a2kuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChjKXt9cmV0dXJuIGF9ZnVuY3Rpb24gbmkoKXtsaT09PXZvaWQgMCYmKGxpPW1pKCkpO3JldHVybiBsaX07ZnVuY3Rpb24gb2koYSl7dGhpcy5nPWF9b2kucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZysiIn07ZnVuY3Rpb24gcGkoYSl7dmFyIGI9bmkoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IG9pKGEpfWZ1bmN0aW9uIHFpKGEpe2lmKGEgaW5zdGFuY2VvZiBvaSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCIiKTt9O2Z1bmN0aW9uIHJpKGEpe3RoaXMuZz1hfXJpLnByb3RvdHlwZS50b1N0cmluZz1jYSgiZyIpO3ZhciBzaT1uZXcgcmkoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7ZnVuY3Rpb24gdGkoYSl7dGhpcy52ZD1hfWZ1bmN0aW9uIHVpKGEpe3JldHVybiBuZXcgdGkoZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoifSl9dmFyIHZpPVt1aSgiZGF0YSIpLHVpKCJodHRwIiksdWkoImh0dHBzIiksdWkoIm1haWx0byIpLHVpKCJmdHAiKSxuZXcgdGkoZnVuY3Rpb24oYSl7cmV0dXJuL15bXjpdKihbLz8jXXwkKS8udGVzdChhKX0pXTtmdW5jdGlvbiB3aShhKXt2YXIgYj1iPT09dm9pZCAwP3ZpOmI7YTppZihiPWI9PT12b2lkIDA/dmk6YiwhKGEgaW5zdGFuY2VvZiByaSkpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKXt2YXIgZD1iW2NdO2lmKGQgaW5zdGFuY2VvZiB0aSYmZC52ZChhKSl7YT1uZXcgcmkoYSk7YnJlYWsgYX19YT12b2lkIDB9cmV0dXJuIGF8fHNpfXZhciB4aT0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIHlpKGEpe3RoaXMuZz1hfXlpLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O2Z1bmN0aW9uIHppKGEpe3ZhciBiPW5pKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgeWkoYSl9dmFyIEFpPW5ldyB5aShqaT9qaS5lbXB0eUhUTUw6IiIpO2Z1bmN0aW9uIEJpKGEpe2lmKGEgaW5zdGFuY2VvZiB5aSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCIiKTt9O2Z1bmN0aW9uIENpKGEpe3RoaXMuZz1hfUNpLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcrIiJ9O2Z1bmN0aW9uIERpKGEpe2lmKGEgaW5zdGFuY2VvZiBDaSlyZXR1cm4gYS5nO3Rocm93IEVycm9yKCIiKTt9O2Z1bmN0aW9uIEVpKGEsYil7aWYoYS5ub2RlVHlwZT09PTEmJi9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCIiKTthLmlubmVySFRNTD1CaShiKX07ZnVuY3Rpb24gRmkoYSxiKXtiPURpKGIpO3ZhciBjPWEuZXZhbChiKTtjPT09YiYmKGM9YS5ldmFsKGIudG9TdHJpbmcoKSkpO3JldHVybiBjfTtmdW5jdGlvbiBHaShhKXtyZXR1cm4gbWIoYSwiJiIpPyJkb2N1bWVudCJpbiBDP0hpKGEpOklpKGEpOmF9ZnVuY3Rpb24gSGkoYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPUMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEucmVwbGFjZShKaSxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9emkoZCsiICIpLEVpKGMsZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9CmZ1bmN0aW9uIElpKGEpe3JldHVybiBhLnJlcGxhY2UoLyYoW147XSspOy9nLGZ1bmN0aW9uKGIsYyl7c3dpdGNoKGMpe2Nhc2UgImFtcCI6cmV0dXJuIiYiO2Nhc2UgImx0IjpyZXR1cm4iPCI7Y2FzZSAiZ3QiOnJldHVybiI+IjtjYXNlICJxdW90IjpyZXR1cm4nIic7ZGVmYXVsdDpyZXR1cm4gYy5jaGFyQXQoMCkhPSIjInx8KGM9TnVtYmVyKCIwIitjLnNsaWNlKDEpKSxpc05hTihjKSk/YjpTdHJpbmcuZnJvbUNoYXJDb2RlKGMpfX0pfXZhciBKaT0vJihbXjtcczwmXSspOz8vZztmdW5jdGlvbiBLaShhKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoQmkoemkoYVswXSkpKX07ZnVuY3Rpb24gTGkoYSl7aWYoTWkudGVzdChhKSlyZXR1cm4gYTthPXdpKGEpLnRvU3RyaW5nKCk7cmV0dXJuIGE9PT1zaS50b1N0cmluZygpPyJhYm91dDppbnZhbGlkI3pqc2xheW91dHoiOmF9dmFyIE1pPVJlZ0V4cCgiXmRhdGE6aW1hZ2UvKD86Ym1wfGdpZnxqcGVnfGpwZ3xwbmd8dGlmZnx3ZWJwfHgtaWNvbik7YmFzZTY0LFstKy9fYS16MC05XSsoPzo9fCUzZCkqJCIsImkiKTtmdW5jdGlvbiBOaShhKXt2YXIgYj1PaS5leGVjKGEpO2lmKCFiKXJldHVybiIwO3VybD1hYm91dDppbnZhbGlkI3pqc2xheW91dHoiO3ZhciBjPWJbMl07cmV0dXJuIGJbMV0/d2koYykudG9TdHJpbmcoKT09c2kudG9TdHJpbmcoKT8iMDt1cmw9YWJvdXQ6aW52YWxpZCN6anNsYXlvdXR6IjphOmMubGVuZ3RoPT0wP2E6IjA7dXJsPWFib3V0OmludmFsaWQjempzbGF5b3V0eiJ9dmFyIE9pPVJlZ0V4cCgiXig/OlswLTldKykoWyBdKjtbIF0qdXJsPSk/KC4qKSQiKTsKZnVuY3Rpb24gUGkoYSl7aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighUWkudGVzdChhKXx8UmkoYSwwKSE9MClyZXR1cm4iempzbGF5b3V0emludmFsaWQiO2Zvcih2YXIgYj1SZWdFeHAoIihbLV9hLXpBLVowLTldKylcXCgiLCJnIiksYzsoYz1iLmV4ZWMoYSkpIT09bnVsbDspaWYoU2koY1sxXSwhMSk9PT1udWxsKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7cmV0dXJuIGF9ZnVuY3Rpb24gUmkoYSxiKXtpZihiPDApcmV0dXJuLTE7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWEuY2hhckF0KGMpO2lmKGQ9PSIoIiliKys7ZWxzZSBpZihkPT0iKSIpaWYoYj4wKWItLTtlbHNlIHJldHVybi0xfXJldHVybiBifQpmdW5jdGlvbiBUaShhKXtpZihhPT1udWxsKXJldHVybiBudWxsO2Zvcih2YXIgYj1SZWdFeHAoIihbLV9hLXpBLVowLTldKylcXCgiLCJnIiksYz1SZWdFeHAoIlsgXHRdKigoPzpcIig/OlteXFx4MDBcIlxcXFxcXG5cXHJcXGZcXHUwMDg1XFx1MDAwYlxcdTIwMjhcXHUyMDI5XSopXCJ8Jyg/OlteXFx4MDAnXFxcXFxcblxcclxcZlxcdTAwODVcXHUwMDBiXFx1MjAyOFxcdTIwMjldKiknKXwoPzpbPyYvOj1dfFsrXFwtLiwhIyVfYS16QS1aMC05XHRdKSopWyBcdF0qIiwiZyIpLGQ9ITAsZT0wLGY9IiI7ZDspe2IubGFzdEluZGV4PTA7dmFyIGc9Yi5leGVjKGEpO2Q9ZyE9PW51bGw7dmFyIGg9YSxrPXZvaWQgMDtpZihkKXtpZihnWzFdPT09dm9pZCAwKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7az1TaShnWzFdLCEwKTtpZihrPT09bnVsbClyZXR1cm4iempzbGF5b3V0emludmFsaWQiO2g9YS5zdWJzdHJpbmcoMCxiLmxhc3RJbmRleCk7YT1hLnN1YnN0cmluZyhiLmxhc3RJbmRleCl9ZT0KUmkoaCxlKTtpZihlPDB8fCFRaS50ZXN0KGgpKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7Zis9aDtpZihkJiZrPT0idXJsIil7Yy5sYXN0SW5kZXg9MDtnPWMuZXhlYyhhKTtpZihnPT09bnVsbHx8Zy5pbmRleCE9MClyZXR1cm4iempzbGF5b3V0emludmFsaWQiO2s9Z1sxXTtpZihrPT09dm9pZCAwKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7Zz1rLmxlbmd0aD09MD8wOmMubGFzdEluZGV4O2lmKGEuY2hhckF0KGcpIT0iKSIpcmV0dXJuInpqc2xheW91dHppbnZhbGlkIjtoPSIiO2subGVuZ3RoPjEmJihrLmxhc3RJbmRleE9mKCciJywwKT09MCYma2IoaywnIicpPyhrPWsuc3Vic3RyaW5nKDEsay5sZW5ndGgtMSksaD0nIicpOmsubGFzdEluZGV4T2YoIiciLDApPT0wJiZrYihrLCInIikmJihrPWsuc3Vic3RyaW5nKDEsay5sZW5ndGgtMSksaD0iJyIpKTtrPUxpKGspO2lmKGs9PSJhYm91dDppbnZhbGlkI3pqc2xheW91dHoiKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7CmYrPWgraytoO2E9YS5zdWJzdHJpbmcoZyl9fXJldHVybiBlIT0wPyJ6anNsYXlvdXR6aW52YWxpZCI6Zn1mdW5jdGlvbiBTaShhLGIpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTthPVVpLmV4ZWMoYSk7aWYoYSE9PW51bGwpe2lmKGFbMV09PT12b2lkIDApcmV0dXJuIG51bGw7Yz1hWzFdfXJldHVybiBiJiZjPT0idXJsInx8YyBpbiBWaT9jOm51bGx9CnZhciBWaT17Ymx1cjohMCxicmlnaHRuZXNzOiEwLGNhbGM6ITAsY2lyY2xlOiEwLGNsYW1wOiEwLCJjb25pYy1ncmFkaWVudCI6ITAsY29udHJhc3Q6ITAsY291bnRlcjohMCxjb3VudGVyczohMCwiY3ViaWMtYmV6aWVyIjohMCwiZHJvcC1zaGFkb3ciOiEwLGVsbGlwc2U6ITAsZ3JheXNjYWxlOiEwLGhzbDohMCxoc2xhOiEwLCJodWUtcm90YXRlIjohMCxpbnNldDohMCxpbnZlcnQ6ITAsb3BhY2l0eTohMCwibGluZWFyLWdyYWRpZW50IjohMCxtYXRyaXg6ITAsbWF0cml4M2Q6ITAsbWF4OiEwLG1pbjohMCxtaW5tYXg6ITAscG9seWdvbjohMCwicmFkaWFsLWdyYWRpZW50IjohMCxyZ2I6ITAscmdiYTohMCxyZWN0OiEwLHJlcGVhdDohMCxyb3RhdGU6ITAscm90YXRlM2Q6ITAscm90YXRleDohMCxyb3RhdGV5OiEwLHJvdGF0ZXo6ITAsc2F0dXJhdGU6ITAsc2VwaWE6ITAsc2NhbGU6ITAsc2NhbGUzZDohMCxzY2FsZXg6ITAsc2NhbGV5OiEwLHNjYWxlejohMCxzdGVwczohMCxza2V3OiEwLApza2V3eDohMCxza2V3eTohMCx0cmFuc2xhdGU6ITAsdHJhbnNsYXRlM2Q6ITAsdHJhbnNsYXRleDohMCx0cmFuc2xhdGV5OiEwLHRyYW5zbGF0ZXo6ITAsInZhciI6ITB9LFFpPVJlZ0V4cCgiXig/OlsqL10/KD86KD86WytcXC0uLCEjJV9hLXpBLVowLTlcdF18ICl8XFwpfFthLXpBLVowLTldXFwofCQpKSokIiksV2k9UmVnRXhwKCJeKD86WyovXT8oPzooPzpcIig/OlteXFx4MDBcIlxcXFxcXG5cXHJcXGZcXHUwMDg1XFx1MDAwYlxcdTIwMjhcXHUyMDI5XXxcXFxcKD86W1xceDIxLVxceDJmXFx4M2EtXFx4NDBcXHg0Ny1cXHg2MFxceDY3LVxceDdlXXxbMC05YS1mQS1GXXsxLDZ9WyBcdF0/KSkqXCJ8Jyg/OlteXFx4MDAnXFxcXFxcblxcclxcZlxcdTAwODVcXHUwMDBiXFx1MjAyOFxcdTIwMjldfFxcXFwoPzpbXFx4MjEtXFx4MmZcXHgzYS1cXHg0MFxceDQ3LVxceDYwXFx4NjctXFx4N2VdfFswLTlhLWZBLUZdezEsNn1bIFx0XT8pKSonKXwoPzpbK1xcLS4sISMlX2EtekEtWjAtOVx0XXwgKXwkKSkqJCIpLApVaT1SZWdFeHAoIl4tKD86bW96fG1zfG98d2Via2l0fGNzczMpLSguKikkIik7dmFyIFhpPXt9O2Z1bmN0aW9uIFlpKCl7fWZ1bmN0aW9uIFppKGEsYixjKXthPWEuZ1tiXTtyZXR1cm4gYSE9bnVsbD9hOmN9ZnVuY3Rpb24gJGkoYSl7YT1hLmc7YS5wYXJhbXx8KGEucGFyYW09W10pO3JldHVybiBhLnBhcmFtfWZ1bmN0aW9uIGFqKGEpe3ZhciBiPXt9OyRpKGEpLnB1c2goYik7cmV0dXJuIGJ9ZnVuY3Rpb24gYmooYSxiKXtyZXR1cm4gJGkoYSlbYl19ZnVuY3Rpb24gY2ooYSl7cmV0dXJuIGEuZy5wYXJhbT9hLmcucGFyYW0ubGVuZ3RoOjB9O2Z1bmN0aW9uIGRqKGEpe3RoaXMuZz1hfHx7fX1ZYShkaixZaSk7ZnVuY3Rpb24gZWooKXt2YXIgYT1maigpO3JldHVybiEhWmkoYSwiaXNfcnRsIil9ZnVuY3Rpb24gZ2ooYSl7aGouZy5jc3MzX3ByZWZpeD1hfTt2YXIgaWo9LzxbXj5dKj58JlteO10rOy9nO2Z1bmN0aW9uIGpqKGEsYil7cmV0dXJuIGI/YS5yZXBsYWNlKGlqLCIiKTphfQp2YXIga2o9UmVnRXhwKCJbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpLGxqPVJlZ0V4cCgiW0EtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSIpLG1qPVJlZ0V4cCgiXlteQS1aYS16XHUwMGMwLVx1MDBkNlx1MDBkOC1cdTAwZjZcdTAwZjgtXHUwMmI4XHUwMzAwLVx1MDU5MFx1MDkwMC1cdTFmZmZcdTIwMGVcdTJjMDAtXHVkODAxXHVkODA0LVx1ZDgzOVx1ZDgzYy1cdWRiZmZcdWY5MDAtXHVmYjFjXHVmZTAwLVx1ZmU2Zlx1ZmVmZC1cdWZmZmZdKltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIiksbmo9Ci9eaHR0cDpcL1wvLiovLG9qPVJlZ0V4cCgiW0EtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXVteXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSokIikscGo9UmVnRXhwKCJbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXVteQS1aYS16XHUwMGMwLVx1MDBkNlx1MDBkOC1cdTAwZjZcdTAwZjgtXHUwMmI4XHUwMzAwLVx1MDU5MFx1MDkwMC1cdTFmZmZcdTIwMGVcdTJjMDAtXHVkODAxXHVkODA0LVx1ZDgzOVx1ZDgzYy1cdWRiZmZcdWY5MDAtXHVmYjFjXHVmZTAwLVx1ZmU2Zlx1ZmVmZC1cdWZmZmZdKiQiKSwKcWo9L1xzKy8scmo9L1tcZFx1MDZmMC1cdTA2ZjldLztmdW5jdGlvbiBzaihhLGIpe3ZhciBjPTAsZD0wLGU9ITE7YT1qaihhLGIpLnNwbGl0KHFqKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXt2YXIgZj1hW2JdO21qLnRlc3QoamooZikpPyhjKyssZCsrKTpuai50ZXN0KGYpP2U9ITA6bGoudGVzdChqaihmKSk/ZCsrOnJqLnRlc3QoZikmJihlPSEwKX1yZXR1cm4gZD09MD9lPzE6MDpjL2Q+LjQ/LTE6MX07ZnVuY3Rpb24gdGooKXt0aGlzLmc9e307dGhpcy5pPW51bGw7Kyt1an12YXIgdmo9MCx1aj0wO2Z1bmN0aW9uIGZqKCl7aGp8fChoaj1uZXcgZGosbWIocGIoKS50b0xvd2VyQ2FzZSgpLCJ3ZWJraXQiKSYmIW1iKHBiKCksIkVkZ2UiKT9naigiLXdlYmtpdC0iKTptYihwYigpLCJGaXJlZm94Iil8fG1iKHBiKCksIkZ4aU9TIik/Z2ooIi1tb3otIik6c2IoKT9naigiLW1zLSIpOihuYiYmcWImJnFiLmJyYW5kcy5sZW5ndGg+MD8wOm1iKHBiKCksIk9wZXJhIikpJiZnaigiLW8tIiksaGouZy5pc19ydGw9ITEsaGouZy5sYW5ndWFnZT0iZW4iKTtyZXR1cm4gaGp9dmFyIGhqPW51bGw7ZnVuY3Rpb24gd2ooKXtyZXR1cm4gZmooKS5nfWZ1bmN0aW9uIFMoYSxiLGMpe3JldHVybiBiLmNhbGwoYyxhLmcsWGkpfQpmdW5jdGlvbiB4aihhLGIsYyl7Yi5pIT1udWxsJiYoYS5pPWIuaSk7YT1hLmc7Yj1iLmc7aWYoYz1jfHxudWxsKXthLk49Yi5OO2EuUj1iLlI7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDsrK2QpYVtjW2RdXT1iW2NbZF1dfWVsc2UgZm9yKGQgaW4gYilhW2RdPWJbZF19O2Z1bmN0aW9uIHlqKGEsYil7dGhpcy53aWR0aD1hO3RoaXMuaGVpZ2h0PWJ9dT15ai5wcm90b3R5cGU7dS5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTt1LmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMud2lkdGgqdGhpcy5oZWlnaHQpfTt1LmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTt1LmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTt1LnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKdS5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGgqPWE7dGhpcy5oZWlnaHQqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTtmdW5jdGlvbiB6aigpe3ZhciBhPXdpbmRvdy5kb2N1bWVudDthPWEuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP2EuZG9jdW1lbnRFbGVtZW50OmEuYm9keTtyZXR1cm4gbmV3IHlqKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfWZ1bmN0aW9uIEFqKGEpe3ZhciBiPWRvY3VtZW50O2E9U3RyaW5nKGEpO2IuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGE9YS50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYi5jcmVhdGVFbGVtZW50KGEpfWZ1bmN0aW9uIEJqKGEpe3ZhciBiPUNqKCk7YS5hcHBlbmRDaGlsZChiKX1mdW5jdGlvbiBEaihhLGIpe2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIEVqKGEpe2EmJmEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpfQpmdW5jdGlvbiBGaihhKXtyZXR1cm4gYS5maXJzdEVsZW1lbnRDaGlsZCE9PXZvaWQgMD9hLmZpcnN0RWxlbWVudENoaWxkOkdqKGEuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gSGooYSl7cmV0dXJuIGEubmV4dEVsZW1lbnRTaWJsaW5nIT09dm9pZCAwP2EubmV4dEVsZW1lbnRTaWJsaW5nOkdqKGEubmV4dFNpYmxpbmcpfWZ1bmN0aW9uIEdqKGEpe2Zvcig7YSYmYS5ub2RlVHlwZSE9MTspYT1hLm5leHRTaWJsaW5nO3JldHVybiBhfWZ1bmN0aW9uIElqKGEsYil7aWYoIWF8fCFiKXJldHVybiExO2lmKGEuY29udGFpbnMmJmIubm9kZVR5cGU9PTEpcmV0dXJuIGE9PWJ8fGEuY29udGFpbnMoYik7aWYodHlwZW9mIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiKXJldHVybiBhPT1ifHwhIShhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpJjE2KTtmb3IoO2ImJmEhPWI7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBiPT1hfTtmdW5jdGlvbiBKaihhKXtpZighYSlyZXR1cm4gS2ooKTtmb3IoYT1hLnBhcmVudE5vZGU7UWEoYSkmJmEubm9kZVR5cGU9PTE7YT1hLnBhcmVudE5vZGUpe3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJkaXIiKTtpZihiJiYoYj1iLnRvTG93ZXJDYXNlKCksYj09Imx0ciJ8fGI9PSJydGwiKSlyZXR1cm4gYn1yZXR1cm4gS2ooKX1mdW5jdGlvbiBLaigpe3JldHVybiBlaigpPyJydGwiOiJsdHIifTt2YXIgTGo9L1snIlwoXS8sTWo9WyJib3JkZXItY29sb3IiLCJib3JkZXItc3R5bGUiLCJib3JkZXItd2lkdGgiLCJtYXJnaW4iLCJwYWRkaW5nIl0sTmo9L2xlZnQvZyxPaj0vcmlnaHQvZyxQaj0vXHMrLztmdW5jdGlvbiBRaihhLGIpe3RoaXMuaT0iIjt0aGlzLmc9Ynx8e307aWYodHlwZW9mIGE9PT0ic3RyaW5nIil0aGlzLmk9YTtlbHNle2I9YS5nO3RoaXMuaT1hLmdldEtleSgpO2Zvcih2YXIgYyBpbiBiKXRoaXMuZ1tjXT09bnVsbCYmKHRoaXMuZ1tjXT1iW2NdKX19UWoucHJvdG90eXBlLmdldEtleT1jYSgiaSIpO2Z1bmN0aW9uIFJqKGEpe3JldHVybiBhLmdldEtleSgpfTtmdW5jdGlvbiBTaihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn07ZnVuY3Rpb24gVGooYSl7YT1VaihhKTtyZXR1cm4gemkoYSl9ZnVuY3Rpb24gVmooYSl7YT1VaihhKTt2YXIgYj1uaSgpO2E9Yj9iLmNyZWF0ZVNjcmlwdChhKTphO3JldHVybiBuZXcgQ2koYSl9ZnVuY3Rpb24gVWooYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmF9O2Z1bmN0aW9uIFdqKGEsYil7dmFyIGM9YS5fX2lubmVyaHRtbDtjfHwoYz1hLl9faW5uZXJodG1sPVthLmlubmVySFRNTCxhLmlubmVySFRNTF0pO2lmKGNbMF0hPWJ8fGNbMV0hPWEuaW5uZXJIVE1MKVFhKGEpJiZRYShhKSYmUWEoYSkmJmEubm9kZVR5cGU9PT0xJiYoIWEubmFtZXNwYWNlVVJJfHxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIikmJmEudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IlNDUklQVCIudG9TdHJpbmcoKT9hLnRleHRDb250ZW50PURpKFZqKGIpKTphLmlubmVySFRNTD1CaShUaihiKSksY1swXT1iLGNbMV09YS5pbm5lckhUTUx9dmFyIFhqPXthY3Rpb246ITAsY2l0ZTohMCxkYXRhOiEwLGZvcm1hY3Rpb246ITAsaHJlZjohMCxpY29uOiEwLG1hbmlmZXN0OiEwLHBvc3RlcjohMCxzcmM6ITB9OwpmdW5jdGlvbiBZaihhKXtpZihhPWEuZ2V0QXR0cmlidXRlKCJqc2luc3RhbmNlIikpe3ZhciBiPWEuaW5kZXhPZigiOyIpO3JldHVybihiPj0wP2Euc3Vic3RyKDAsYik6YSkuc3BsaXQoIiwiKX1yZXR1cm5bXX1mdW5jdGlvbiBaaihhKXtpZihhPWEuZ2V0QXR0cmlidXRlKCJqc2luc3RhbmNlIikpe3ZhciBiPWEuaW5kZXhPZigiOyIpO3JldHVybiBiPj0wP2Euc3Vic3RyKGIrMSk6bnVsbH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBhayhhLGIsYyl7dmFyIGQ9YVtjXXx8IjAiLGU9YltjXXx8IjAiO2Q9cGFyc2VJbnQoZC5jaGFyQXQoMCk9PSIqIj9kLnN1YnN0cmluZygxKTpkLDEwKTtlPXBhcnNlSW50KGUuY2hhckF0KDApPT0iKiI/ZS5zdWJzdHJpbmcoMSk6ZSwxMCk7cmV0dXJuIGQ9PWU/YS5sZW5ndGg+Y3x8Yi5sZW5ndGg+Yz9hayhhLGIsYysxKTohMTpkPmV9CmZ1bmN0aW9uIGJrKGEsYixjLGQsZSxmKXtiW2NdPWU+PWQtMT8iKiIrZTpTdHJpbmcoZSk7Yj1iLmpvaW4oIiwiKTtmJiYoYis9IjsiK2YpO2Euc2V0QXR0cmlidXRlKCJqc2luc3RhbmNlIixiKX1mdW5jdGlvbiBjayhhKXtpZighYS5oYXNBdHRyaWJ1dGUoImpzaW5zdGFuY2UiKSlyZXR1cm4gYTtmb3IodmFyIGI9WWooYSk7Oyl7dmFyIGM9SGooYSk7aWYoIWMpcmV0dXJuIGE7dmFyIGQ9WWooYyk7aWYoIWFrKGQsYiwwKSlyZXR1cm4gYTthPWM7Yj1kfX07dmFyIGRrPXsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn0sZWs9e30sZms7Zm9yKGZrIGluIGRrKWVrW2RrW2ZrXV09Zms7dmFyIGdrPVJlZ0V4cCgiXjwvPyhifHV8aXxlbXxicnxzdWJ8c3VwfHdicnxzcGFuKSggZGlyPShydGx8bHRyfCdsdHInfCdydGwnfFwibHRyXCJ8XCJydGxcIikpPz4iKSxoaz1SZWdFeHAoIl4mKFthLXpBLVpdK3wjWzAtOV0rfCN4WzAtOWEtZkEtRl0rKTsiKSxpaz17IjwiOiImbHQ7IiwiPiI6IiZndDsiLCImIjoiJmFtcDsiLCciJzoiJnF1b3Q7In07ZnVuY3Rpb24gamsoYSl7aWYoYT09bnVsbClyZXR1cm4iIjtpZigha2sudGVzdChhKSlyZXR1cm4gYTthLmluZGV4T2YoIiYiKSE9LTEmJihhPWEucmVwbGFjZShsaywiJmFtcDsiKSk7YS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2UobWssIiZsdDsiKSk7YS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UobmssIiZndDsiKSk7YS5pbmRleE9mKCciJykhPS0xJiYoYT1hLnJlcGxhY2Uob2ssIiZxdW90OyIpKTtyZXR1cm4gYX0KZnVuY3Rpb24gcGsoYSl7aWYoYT09bnVsbClyZXR1cm4iIjthLmluZGV4T2YoJyInKSE9LTEmJihhPWEucmVwbGFjZShvaywiJnF1b3Q7IikpO3JldHVybiBhfXZhciBsaz0vJi9nLG1rPS88L2csbms9Lz4vZyxvaz0vIi9nLGtrPS9bJjw+Il0vLHFrPW51bGw7ZnVuY3Rpb24gcmsoYSl7Zm9yKHZhciBiPSIiLGMsZD0wO2M9YVtkXTsrK2Qpc3dpdGNoKGMpe2Nhc2UgIjwiOmNhc2UgIiYiOnZhciBlPSgiPCI9PWM/Z2s6aGspLmV4ZWMoYS5zdWJzdHIoZCkpO2lmKGUmJmVbMF0pe2IrPWEuc3Vic3RyKGQsZVswXS5sZW5ndGgpO2QrPWVbMF0ubGVuZ3RoLTE7Y29udGludWV9Y2FzZSAiPiI6Y2FzZSAnIic6Yis9aWtbY107YnJlYWs7ZGVmYXVsdDpiKz1jfXFrPT1udWxsJiYocWs9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO0VpKHFrLFRqKGIpKTtyZXR1cm4gcWsuaW5uZXJIVE1MfTt2YXIgc2s9e3JjOjAsT2Q6MixRZDozLHNjOjQsdGM6NSxoYzo2LGpjOjcsVVJMOjgseWM6OSx4YzoxMCx2YzoxMSx3YzoxMix6YzoxMyx1YzoxNCxqZToxNSxrZToxNixQZDoxNyxNZDoxOCxhZToyMCxiZToyMSxaZDoyMn07dmFyIHRrPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gdWsoYSxiKXtpZihhKXthPWEuc3BsaXQoIiYiKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXS5pbmRleE9mKCI9IiksZT1udWxsO2lmKGQ+PTApe3ZhciBmPWFbY10uc3Vic3RyaW5nKDAsZCk7ZT1hW2NdLnN1YnN0cmluZyhkKzEpfWVsc2UgZj1hW2NdO2IoZixlP2RlY29kZVVSSUNvbXBvbmVudChlLnJlcGxhY2UoL1wrL2csIiAiKSk6IiIpfX19O3ZhciB2az17OToxLDExOjMsMTA6NCwxMjo1LDEzOjYsMTQ6N307ZnVuY3Rpb24gd2soYSxiLGMsZCl7aWYoYVsxXT09bnVsbCl7dmFyIGU9YVsxXT1hWzBdLm1hdGNoKHRrKTtpZihlWzZdKXtmb3IodmFyIGY9ZVs2XS5zcGxpdCgiJiIpLGc9e30saD0wLGs9Zi5sZW5ndGg7aDxrOysraCl7dmFyIGw9ZltoXS5zcGxpdCgiPSIpO2lmKGwubGVuZ3RoPT0yKXt2YXIgbT1sWzFdLnJlcGxhY2UoLywvZ2ksIiUyQyIpLnJlcGxhY2UoL1srXS9nLCIlMjAiKS5yZXBsYWNlKC86L2csIiUzQSIpO3RyeXtnW2RlY29kZVVSSUNvbXBvbmVudChsWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KG0pfWNhdGNoKG4pe319fWVbNl09Z31hWzBdPW51bGx9YT1hWzFdO2IgaW4gdmsmJihlPXZrW2JdLGI9PTEzP2MmJihiPWFbZV0sZCE9bnVsbD8oYnx8KGI9YVtlXT17fSksYltjXT1kKTpiJiZkZWxldGUgYltjXSk6YVtlXT1kKX07ZnVuY3Rpb24geGsoYSl7dGhpcy5EPWE7dGhpcy5DPXRoaXMuQT10aGlzLmo9dGhpcy5nPW51bGw7dGhpcy5GPXRoaXMubD0wO3RoaXMuST0hMTt0aGlzLmk9LTE7dGhpcy5LPSsreWt9eGsucHJvdG90eXBlLm5hbWU9Y2EoIkQiKTtmdW5jdGlvbiB6ayhhLGIpe3JldHVybiBiLnRvTG93ZXJDYXNlKCk9PSJocmVmIj8iIyI6YS50b0xvd2VyQ2FzZSgpPT0iaW1nIiYmYi50b0xvd2VyQ2FzZSgpPT0ic3JjIj8iL2ltYWdlcy9jbGVhcmRvdC5naWYiOiIifXhrLnByb3RvdHlwZS5pZD1jYSgiSyIpO2Z1bmN0aW9uIEFrKGEpe2Euaj1hLmc7YS5nPWEuai5zbGljZSgwLGEuaSk7YS5pPS0xfWZ1bmN0aW9uIEJrKGEpe2Zvcih2YXIgYj0oYT1hLmcpP2EubGVuZ3RoOjAsYz0wO2M8YjtjKz03KWlmKGFbYyswXT09MCYmYVtjKzFdPT0iZGlyIilyZXR1cm4gYVtjKzVdO3JldHVybiBudWxsfQpmdW5jdGlvbiBDayhhLGIsYyxkLGUsZixnLGgpe3ZhciBrPWEuaTtpZihrIT0tMSl7aWYoYS5nW2srMF09PWImJmEuZ1trKzFdPT1jJiZhLmdbaysyXT09ZCYmYS5nW2srM109PWUmJmEuZ1trKzRdPT1mJiZhLmdbays1XT09ZyYmYS5nW2srNl09PWgpe2EuaSs9NztyZXR1cm59QWsoYSl9ZWxzZSBhLmd8fChhLmc9W10pO2EuZy5wdXNoKGIpO2EuZy5wdXNoKGMpO2EuZy5wdXNoKGQpO2EuZy5wdXNoKGUpO2EuZy5wdXNoKGYpO2EuZy5wdXNoKGcpO2EuZy5wdXNoKGgpfWZ1bmN0aW9uIERrKGEsYil7YS5sfD1ifWZ1bmN0aW9uIEVrKGEpe3JldHVybiBhLmwmMTAyND8oYT1CayhhKSxhPT0icnRsIj8iXHUyMDJjXHUyMDBlIjphPT0ibHRyIj8iXHUyMDJjXHUyMDBmIjoiIik6YS5DPT09ITE/IiI6IjwvIithLkQrIj4ifQpmdW5jdGlvbiBGayhhLGIsYyxkKXtmb3IodmFyIGU9YS5pIT0tMT9hLmk6YS5nP2EuZy5sZW5ndGg6MCxmPTA7ZjxlO2YrPTcpaWYoYS5nW2YrMF09PWImJmEuZ1tmKzFdPT1jJiZhLmdbZisyXT09ZClyZXR1cm4hMDtpZihhLkEpZm9yKGU9MDtlPGEuQS5sZW5ndGg7ZSs9NylpZihhLkFbZSswXT09YiYmYS5BW2UrMV09PWMmJmEuQVtlKzJdPT1kKXJldHVybiEwO3JldHVybiExfQp4ay5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oYSl7aWYoIXRoaXMuSSYmKHRoaXMuST0hMCx0aGlzLmk9LTEsdGhpcy5nIT1udWxsKSl7Zm9yKHZhciBiPTA7Yjx0aGlzLmcubGVuZ3RoO2IrPTcpaWYodGhpcy5nW2IrNl0pe3ZhciBjPXRoaXMuZy5zcGxpY2UoYiw3KTtiLT03O3RoaXMuQXx8KHRoaXMuQT1bXSk7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy5BLGMpfXRoaXMuRj0wO2lmKGEpZm9yKGI9MDtiPHRoaXMuZy5sZW5ndGg7Yis9NylpZihjPXRoaXMuZ1tiKzVdLHRoaXMuZ1tiKzBdPT0tMSYmYz09YSl7dGhpcy5GPWI7YnJlYWt9dGhpcy5GPT0wP3RoaXMuaT0wOnRoaXMuaj10aGlzLmcuc3BsaWNlKHRoaXMuRix0aGlzLmcubGVuZ3RoKX19OwpmdW5jdGlvbiBHayhhLGIsYyxkLGUsZil7aWYoYj09Nil7aWYoZClmb3IoZSYmKGQ9R2koZCkpLGI9ZC5zcGxpdCgiICIpLGM9Yi5sZW5ndGgsZD0wO2Q8YztkKyspYltkXSE9IiImJkhrKGEsNywiY2xhc3MiLGJbZF0sIiIsZil9ZWxzZSBiIT0xOCYmYiE9MjAmJmIhPTIyJiZGayhhLGIsYyl8fENrKGEsYixjLG51bGwsbnVsbCxlfHxudWxsLGQsISFmKX1mdW5jdGlvbiBJayhhLGIsYyxkLGUpe3N3aXRjaChiKXtjYXNlIDI6Y2FzZSAxOnZhciBmPTg7YnJlYWs7Y2FzZSA4OmY9MDtkPU5pKGQpO2JyZWFrO2RlZmF1bHQ6Zj0wLGQ9InNhbml0aXphdGlvbl9lcnJvcl8iK2J9RmsoYSxmLGMpfHxDayhhLGYsYyxudWxsLGIsbnVsbCxkLCEhZSl9CmZ1bmN0aW9uIEhrKGEsYixjLGQsZSxmKXtzd2l0Y2goYil7Y2FzZSA1OmM9InN0eWxlIjthLmkhPS0xJiZkPT0iZGlzcGxheSImJkFrKGEpO2JyZWFrO2Nhc2UgNzpjPSJjbGFzcyJ9RmsoYSxiLGMsZCl8fENrKGEsYixjLGQsbnVsbCxudWxsLGUsISFmKX1mdW5jdGlvbiBKayhhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gS2soYSxiKXthLkM9PT1udWxsP2EuQz1iOmEuQyYmIWImJkJrKGEpIT1udWxsJiYoYS5EPSJzcGFuIil9CmZ1bmN0aW9uIExrKGEsYixjKXtpZihjWzFdKXt2YXIgZD1jWzFdO2lmKGRbNl0pe3ZhciBlPWRbNl0sZj1bXTtmb3IoaCBpbiBlKXt2YXIgZz1lW2hdO2chPW51bGwmJmYucHVzaChlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKS5yZXBsYWNlKC8lM0EvZ2ksIjoiKS5yZXBsYWNlKC8lMjAvZywiKyIpLnJlcGxhY2UoLyUyQy9naSwiLCIpLnJlcGxhY2UoLyU3Qy9naSwifCIpKX1kWzZdPWYuam9pbigiJiIpfWRbMV09PSJodHRwIiYmZFs0XT09IjgwIiYmKGRbNF09bnVsbCk7ZFsxXT09Imh0dHBzIiYmZFs0XT09IjQ0MyImJihkWzRdPW51bGwpO2U9ZFszXTsvOlswLTldKyQvLnRlc3QoZSkmJihmPWUubGFzdEluZGV4T2YoIjoiKSxkWzNdPWUuc3Vic3RyKDAsZiksZFs0XT1lLnN1YnN0cihmKzEpKTtlPWRbNV07ZFszXSYmZSYmIWUuc3RhcnRzV2l0aCgiLyIpJiYoZFs1XT0iLyIrZSk7ZT1kWzFdO2Y9ZFsyXTt2YXIgaD1kWzNdO2c9ZFs0XTt2YXIgaz0KZFs1XSxsPWRbNl07ZD1kWzddO3ZhciBtPSIiO2UmJihtKz1lKyI6Iik7aCYmKG0rPSIvLyIsZiYmKG0rPWYrIkAiKSxtKz1oLGcmJihtKz0iOiIrZykpO2smJihtKz1rKTtsJiYobSs9Ij8iK2wpO2QmJihtKz0iIyIrZCk7ZD1tfWVsc2UgZD1jWzBdOyhjPU1rKGNbMl0sZCkpfHwoYz16ayhhLkQsYikpO3JldHVybiBjfQpmdW5jdGlvbiBOayhhLGIsYyl7aWYoYS5sJjEwMjQpcmV0dXJuIGE9QmsoYSksYT09InJ0bCI/Ilx1MjAyYiI6YT09Imx0ciI/Ilx1MjAyYSI6IiI7aWYoYS5DPT09ITEpcmV0dXJuIiI7Zm9yKHZhciBkPSI8IithLkQsZT1udWxsLGY9IiIsZz1udWxsLGg9bnVsbCxrPSIiLGwsbT0iIixuPSIiLHA9KGEubCY4MzIpIT0wPyIiOm51bGwscj0iIixxPWEuZyx0PXE/cS5sZW5ndGg6MCx2PTA7djx0O3YrPTcpe3ZhciB3PXFbdiswXSxGPXFbdisxXSxFPXFbdisyXSx5PXFbdis1XSxOPXFbdiszXSxUPXFbdis2XTtpZih5IT1udWxsJiZwIT1udWxsJiYhVClzd2l0Y2godyl7Y2FzZSAtMTpwKz15KyIsIjticmVhaztjYXNlIDc6Y2FzZSA1OnArPXcrIi4iK0UrIiwiO2JyZWFrO2Nhc2UgMTM6cCs9dysiLiIrRisiLiIrRSsiLCI7YnJlYWs7Y2FzZSAxODpjYXNlIDIwOmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDpwKz13KyIuIitGKyIsIn1zd2l0Y2godyl7Y2FzZSA3Onk9PT1udWxsP2ghPW51bGwmJgp4YihoLEUpOnkhPW51bGwmJihoPT1udWxsP2g9W0VdOnRiKGgsRSk+PTB8fGgucHVzaChFKSk7YnJlYWs7Y2FzZSA0Omw9ITE7Zz1OO3k9PW51bGw/Zj1udWxsOmY9PSIiP2Y9eTp5LmNoYXJBdCh5Lmxlbmd0aC0xKT09IjsiP2Y9eStmOmY9eSsiOyIrZjticmVhaztjYXNlIDU6bD0hMTt5IT1udWxsJiZmIT09bnVsbCYmKGYhPSIiJiZmW2YubGVuZ3RoLTFdIT0iOyImJihmKz0iOyIpLGYrPUUrIjoiK3kpO2JyZWFrO2Nhc2UgODplPT1udWxsJiYoZT17fSk7eT09PW51bGw/ZVtGXT1udWxsOnk/KHFbdis0XSYmKHk9R2koeSkpLGVbRl09W3ksbnVsbCxOXSk6ZVtGXT1bIiIsbnVsbCxOXTticmVhaztjYXNlIDE4OnkhPW51bGwmJihGPT0ianNsIj8obD0hMCxrKz15KTpGPT0ianN2cyImJihtKz15KSk7YnJlYWs7Y2FzZSAyMDp5IT1udWxsJiYobiYmKG4rPSIsIiksbis9eSk7YnJlYWs7Y2FzZSAyMjp5IT1udWxsJiYociYmKHIrPSI7Iikscis9eSk7YnJlYWs7Y2FzZSAwOnkhPW51bGwmJgooZCs9IiAiK0YrIj0iLHk9TWsoTix5KSxkPXFbdis0XT9kKygnIicrcGsoeSkrJyInKTpkKygnIicramsoeSkrJyInKSk7YnJlYWs7Y2FzZSAxNDpjYXNlIDExOmNhc2UgMTI6Y2FzZSAxMDpjYXNlIDk6Y2FzZSAxMzplPT1udWxsJiYoZT17fSksTj1lW0ZdLE4hPT1udWxsJiYoTnx8KE49ZVtGXT1bIiIsbnVsbCxudWxsXSksd2soTix3LEUseSkpfX1pZihlIT1udWxsKWZvcih2YXIgWCBpbiBlKXE9TGsoYSxYLGVbWF0pLGQrPSIgIitYKyc9IicramsocSkrJyInO3ImJihkKz0nIGpzYWN0aW9uPSInK3BrKHIpKyciJyk7biYmKGQrPScganNpbnN0YW5jZT0iJytqayhuKSsnIicpO2ghPW51bGwmJmgubGVuZ3RoPjAmJihkKz0nIGNsYXNzPSInK2prKGguam9pbigiICIpKSsnIicpO2smJiFsJiYoZCs9JyBqc2w9IicramsoaykrJyInKTtpZihmIT1udWxsKXtmb3IoO2YhPSIiJiZmW2YubGVuZ3RoLTFdPT0iOyI7KWY9Zi5zdWJzdHIoMCxmLmxlbmd0aC0xKTtmIT0iIiYmKGY9TWsoZywKZiksZCs9JyBzdHlsZT0iJytqayhmKSsnIicpfWsmJmwmJihkKz0nIGpzbD0iJytqayhrKSsnIicpO20mJihkKz0nIGpzdnM9IicramsobSkrJyInKTtwIT1udWxsJiZwLmluZGV4T2YoIi4iKSE9LTEmJihkKz0nIGpzYW49IicrcC5zdWJzdHIoMCxwLmxlbmd0aC0xKSsnIicpO2MmJihkKz0nIGpzdGlkPSInK2EuSysnIicpO3JldHVybiBkKyhiPyIvPiI6Ij4iKX0KeGsucHJvdG90eXBlLmFwcGx5PWZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWU7Yj1iPT0iaW5wdXQifHxiPT0iSU5QVVQifHxiPT0ib3B0aW9uInx8Yj09Ik9QVElPTiJ8fGI9PSJzZWxlY3QifHxiPT0iU0VMRUNUInx8Yj09InRleHRhcmVhInx8Yj09IlRFWFRBUkVBIjt0aGlzLkk9ITE7YTp7dmFyIGM9dGhpcy5nPT1udWxsPzA6dGhpcy5nLmxlbmd0aDt2YXIgZD10aGlzLmk9PWM7ZD90aGlzLmo9dGhpcy5nOnRoaXMuaSE9LTEmJkFrKHRoaXMpO2lmKGQpe2lmKGIpZm9yKGQ9MDtkPGM7ZCs9Nyl7dmFyIGU9dGhpcy5nW2QrMV07aWYoKGU9PSJjaGVja2VkInx8ZT09InZhbHVlIikmJnRoaXMuZ1tkKzVdIT1hW2VdKXtjPSExO2JyZWFrIGF9fWM9ITB9ZWxzZSBjPSExfWlmKCFjKXtjPW51bGw7aWYodGhpcy5qIT1udWxsJiYoZD1jPXt9LCh0aGlzLmwmNzY4KSE9MCYmdGhpcy5qIT1udWxsKSl7ZT10aGlzLmoubGVuZ3RoO2Zvcih2YXIgZj0wO2Y8ZTtmKz03KWlmKHRoaXMualtmKwo1XSE9bnVsbCl7dmFyIGc9dGhpcy5qW2YrMF0saD10aGlzLmpbZisxXSxrPXRoaXMualtmKzJdO2c9PTV8fGc9PTc/ZFtoKyIuIitrXT0hMDpnIT0tMSYmZyE9MTgmJmchPTIwJiYoZFtoXT0hMCl9fXZhciBsPSIiO2U9ZD0iIjtmPW51bGw7Zz0hMTt2YXIgbT1udWxsO2EuaGFzQXR0cmlidXRlKCJjbGFzcyIpJiYobT1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKS5zcGxpdCgiICIpKTtoPSh0aGlzLmwmODMyKSE9MD8iIjpudWxsO2s9IiI7Zm9yKHZhciBuPXRoaXMuZyxwPW4/bi5sZW5ndGg6MCxyPTA7cjxwO3IrPTcpe3ZhciBxPW5bcis1XSx0PW5bciswXSx2PW5bcisxXSx3PW5bcisyXSxGPW5bciszXSxFPW5bcis2XTtpZihxIT09bnVsbCYmaCE9bnVsbCYmIUUpc3dpdGNoKHQpe2Nhc2UgLTE6aCs9cSsiLCI7YnJlYWs7Y2FzZSA3OmNhc2UgNTpoKz10KyIuIit3KyIsIjticmVhaztjYXNlIDEzOmgrPXQrIi4iK3YrIi4iK3crIiwiO2JyZWFrO2Nhc2UgMTg6Y2FzZSAyMDpicmVhazsKZGVmYXVsdDpoKz10KyIuIit2KyIsIn1pZighKHI8dGhpcy5GKSlzd2l0Y2goYyE9bnVsbCYmcSE9PXZvaWQgMCYmKHQ9PTV8fHQ9PTc/ZGVsZXRlIGNbdisiLiIrd106ZGVsZXRlIGNbdl0pLHQpe2Nhc2UgNzpxPT09bnVsbD9tIT1udWxsJiZ4YihtLHcpOnEhPW51bGwmJihtPT1udWxsP209W3ddOnRiKG0sdyk+PTB8fG0ucHVzaCh3KSk7YnJlYWs7Y2FzZSA0OnE9PT1udWxsP2Euc3R5bGUuY3NzVGV4dD0iIjpxIT09dm9pZCAwJiYoYS5zdHlsZS5jc3NUZXh0PU1rKEYscSkpO2Zvcih2YXIgeSBpbiBjKXkubGFzdEluZGV4T2YoInN0eWxlLiIsMCk9PTAmJmRlbGV0ZSBjW3ldO2JyZWFrO2Nhc2UgNTp0cnl7dmFyIE49dy5yZXBsYWNlKC8tKFxTKS9nLEprKTthLnN0eWxlW05dIT1xJiYoYS5zdHlsZVtOXT1xfHwiIil9Y2F0Y2godmIpe31icmVhaztjYXNlIDg6Zj09bnVsbCYmKGY9e30pO2Zbdl09cT09PW51bGw/bnVsbDpxP1txLG51bGwsRl06W2Fbdl18fGEuZ2V0QXR0cmlidXRlKHYpfHwKIiIsbnVsbCxGXTticmVhaztjYXNlIDE4OnEhPW51bGwmJih2PT0ianNsIj9sKz1xOnY9PSJqc3ZzIiYmKGUrPXEpKTticmVhaztjYXNlIDIyOnE9PT1udWxsP2EucmVtb3ZlQXR0cmlidXRlKCJqc2FjdGlvbiIpOnEhPW51bGwmJihuW3IrNF0mJihxPUdpKHEpKSxrJiYoays9IjsiKSxrKz1xKTticmVhaztjYXNlIDIwOnEhPW51bGwmJihkJiYoZCs9IiwiKSxkKz1xKTticmVhaztjYXNlIDA6cT09PW51bGw/YS5yZW1vdmVBdHRyaWJ1dGUodik6cSE9bnVsbCYmKG5bcis0XSYmKHE9R2kocSkpLHE9TWsoRixxKSx0PWEubm9kZU5hbWUsISh0IT0iQ0FOVkFTIiYmdCE9ImNhbnZhcyJ8fHYhPSJ3aWR0aCImJnYhPSJoZWlnaHQiKSYmcT09YS5nZXRBdHRyaWJ1dGUodil8fGEuc2V0QXR0cmlidXRlKHYscSkpO2lmKGIpaWYodj09ImNoZWNrZWQiKWc9ITA7ZWxzZSBpZih0PXYsdD10LnRvTG93ZXJDYXNlKCksdD09InZhbHVlInx8dD09ImNoZWNrZWQifHx0PT0ic2VsZWN0ZWQifHx0PT0ic2VsZWN0ZWRpbmRleCIpdj0KZWsuaGFzT3duUHJvcGVydHkodik/ZWtbdl06dixhW3ZdIT1xJiYoYVt2XT1xKTticmVhaztjYXNlIDE0OmNhc2UgMTE6Y2FzZSAxMjpjYXNlIDEwOmNhc2UgOTpjYXNlIDEzOmY9PW51bGwmJihmPXt9KSxGPWZbdl0sRiE9PW51bGwmJihGfHwoRj1mW3ZdPVthW3ZdfHxhLmdldEF0dHJpYnV0ZSh2KXx8IiIsbnVsbCxudWxsXSksd2soRix0LHcscSkpfX1pZihjIT1udWxsKWZvcih2YXIgVCBpbiBjKWlmKFQubGFzdEluZGV4T2YoImNsYXNzLiIsMCk9PTApeGIobSxULnN1YnN0cig2KSk7ZWxzZSBpZihULmxhc3RJbmRleE9mKCJzdHlsZS4iLDApPT0wKXRyeXthLnN0eWxlW1Quc3Vic3RyKDYpLnJlcGxhY2UoLy0oXFMpL2csSmspXT0iIn1jYXRjaCh2Yil7fWVsc2UodGhpcy5sJjUxMikhPTAmJlQhPSJkYXRhLXJ0aWQiJiZhLnJlbW92ZUF0dHJpYnV0ZShUKTttIT1udWxsJiZtLmxlbmd0aD4wP2Euc2V0QXR0cmlidXRlKCJjbGFzcyIsamsobS5qb2luKCIgIikpKTphLmhhc0F0dHJpYnV0ZSgiY2xhc3MiKSYmCmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsIiIpO2lmKGwhPW51bGwmJmwhPSIiJiZhLmhhc0F0dHJpYnV0ZSgianNsIikpe3k9YS5nZXRBdHRyaWJ1dGUoImpzbCIpO049bC5jaGFyQXQoMCk7Zm9yKFQ9MDs7KXtUPXkuaW5kZXhPZihOLFQpO2lmKFQ9PS0xKXtsPXkrbDticmVha31pZihsLmxhc3RJbmRleE9mKHkuc3Vic3RyKFQpLDApPT0wKXtsPXkuc3Vic3RyKDAsVCkrbDticmVha31UKz0xfWEuc2V0QXR0cmlidXRlKCJqc2wiLGwpfWlmKGYhPW51bGwpZm9yKHZhciBYIGluIGYpeT1mW1hdLHk9PT1udWxsPyhhLnJlbW92ZUF0dHJpYnV0ZShYKSxhW1hdPW51bGwpOih5PUxrKHRoaXMsWCx5KSxhW1hdPXksYS5zZXRBdHRyaWJ1dGUoWCx5KSk7ayYmYS5zZXRBdHRyaWJ1dGUoImpzYWN0aW9uIixrKTtkJiZhLnNldEF0dHJpYnV0ZSgianNpbnN0YW5jZSIsZCk7ZSYmYS5zZXRBdHRyaWJ1dGUoImpzdnMiLGUpO2ghPW51bGwmJihoLmluZGV4T2YoIi4iKSE9LTE/YS5zZXRBdHRyaWJ1dGUoImpzYW4iLApoLnN1YnN0cigwLGgubGVuZ3RoLTEpKTphLnJlbW92ZUF0dHJpYnV0ZSgianNhbiIpKTtnJiYoYS5jaGVja2VkPSEhYS5nZXRBdHRyaWJ1dGUoImNoZWNrZWQiKSl9fTtmdW5jdGlvbiBNayhhLGIpe3N3aXRjaChhKXtjYXNlIG51bGw6cmV0dXJuIGI7Y2FzZSAyOnJldHVybiBMaShiKTtjYXNlIDE6cmV0dXJuIGE9d2koYikudG9TdHJpbmcoKSxhPT09c2kudG9TdHJpbmcoKT8iYWJvdXQ6aW52YWxpZCN6anNsYXlvdXR6IjphO2Nhc2UgODpyZXR1cm4gTmkoYik7ZGVmYXVsdDpyZXR1cm4ic2FuaXRpemF0aW9uX2Vycm9yXyIrYX19dmFyIHlrPTA7ZnVuY3Rpb24gT2soYSl7dGhpcy5nPWF8fHt9fVlhKE9rLFlpKTtPay5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIFppKHRoaXMsImtleSIsIiIpfTtmdW5jdGlvbiBQayhhKXt0aGlzLmc9YXx8e319WWEoUGssWWkpO2Z1bmN0aW9uIFFrKGEpe3RoaXMubD10aGlzLkY9dGhpcy5qPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmc9IiI7dGhpcy5EPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBRaz8odGhpcy5EPWEuRCxSayh0aGlzLGEuaiksdGhpcy5GPWEuRix0aGlzLmw9YS5sLFNrKHRoaXMsYS5DKSx0aGlzLmc9YS5nLFRrKHRoaXMsVWsoYS5pKSksdGhpcy5BPWEuQSk6YSYmKGI9U3RyaW5nKGEpLm1hdGNoKHRrKSk/KHRoaXMuRD0hMSxSayh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkY9VmsoYlsyXXx8IiIpLHRoaXMubD1WayhiWzNdfHwiIiwhMCksU2sodGhpcyxiWzRdKSx0aGlzLmc9VmsoYls1XXx8IiIsITApLFRrKHRoaXMsYls2XXx8IiIsITApLHRoaXMuQT1WayhiWzddfHwiIikpOih0aGlzLkQ9ITEsdGhpcy5pPW5ldyBXayhudWxsLHRoaXMuRCkpfQpRay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuajtiJiZhLnB1c2goWGsoYixZaywhMCksIjoiKTt2YXIgYz10aGlzLmw7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkYpJiZhLnB1c2goWGsoYixZaywhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLkMsYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5nKXRoaXMubCYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKFhrKGMsYy5jaGFyQXQoMCk9PSIvIj9aazokaywhMCkpOyhjPXRoaXMuaS50b1N0cmluZygpKSYmYS5wdXNoKCI/IixjKTsoYz10aGlzLkEpJiZhLnB1c2goIiMiLFhrKGMsYWwpKTtyZXR1cm4gYS5qb2luKCIiKX07ClFrLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBRayh0aGlzKSxjPSEhYS5qO2M/UmsoYixhLmopOmM9ISFhLkY7Yz9iLkY9YS5GOmM9ISFhLmw7Yz9iLmw9YS5sOmM9YS5DIT1udWxsO3ZhciBkPWEuZztpZihjKVNrKGIsYS5DKTtlbHNlIGlmKGM9ISFhLmcpe2lmKGQuY2hhckF0KDApIT0iLyIpaWYodGhpcy5sJiYhdGhpcy5nKWQ9Ii8iK2Q7ZWxzZXt2YXIgZT1iLmcubGFzdEluZGV4T2YoIi8iKTtlIT0tMSYmKGQ9Yi5nLnNsaWNlKDAsZSsxKStkKX1lPWQ7aWYoZT09Ii4uInx8ZT09Ii4iKWQ9IiI7ZWxzZSBpZihtYihlLCIuLyIpfHxtYihlLCIvLiIpKXtkPWUubGFzdEluZGV4T2YoIi8iLDApPT0wO2U9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgZj1bXSxnPTA7ZzxlLmxlbmd0aDspe3ZhciBoPWVbZysrXTtoPT0iLiI/ZCYmZz09ZS5sZW5ndGgmJmYucHVzaCgiIik6aD09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0xJiZmWzBdIT0iIikmJmYucG9wKCksCmQmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGgpLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmc9ZDpjPWEuaS50b1N0cmluZygpIT09IiI7Yz9UayhiLFVrKGEuaSkpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTtmdW5jdGlvbiBSayhhLGIsYyl7YS5qPWM/VmsoYiwhMCk6YjthLmomJihhLmo9YS5qLnJlcGxhY2UoLzokLywiIikpfWZ1bmN0aW9uIFNrKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiQmFkIHBvcnQgbnVtYmVyICIrYik7YS5DPWJ9ZWxzZSBhLkM9bnVsbH1mdW5jdGlvbiBUayhhLGIsYyl7YiBpbnN0YW5jZW9mIFdrPyhhLmk9YixibChhLmksYS5EKSk6KGN8fChiPVhrKGIsY2wpKSxhLmk9bmV3IFdrKGIsYS5EKSl9ZnVuY3Rpb24gVmsoYSxiKXtyZXR1cm4gYT9iP2RlY29kZVVSSShhLnJlcGxhY2UoLyUyNS9nLCIlMjUyNSIpKTpkZWNvZGVVUklDb21wb25lbnQoYSk6IiJ9CmZ1bmN0aW9uIFhrKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLGRsKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9ZnVuY3Rpb24gZGwoYSl7YT1hLmNoYXJDb2RlQXQoMCk7cmV0dXJuIiUiKyhhPj40JjE1KS50b1N0cmluZygxNikrKGEmMTUpLnRvU3RyaW5nKDE2KX12YXIgWWs9L1sjXC9cP0BdL2csJGs9L1sjXD86XS9nLFprPS9bI1w/XS9nLGNsPS9bI1w/QF0vZyxhbD0vIy9nO2Z1bmN0aW9uIFdrKGEsYil7dGhpcy5pPXRoaXMuZz1udWxsO3RoaXMuaj1hfHxudWxsO3RoaXMubD0hIWJ9ZnVuY3Rpb24gZWwoYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5pPTAsYS5qJiZ1ayhhLmosZnVuY3Rpb24oYixjKXthLmFkZChkZWNvZGVVUklDb21wb25lbnQoYi5yZXBsYWNlKC9cKy9nLCIgIikpLGMpfSkpfXU9V2sucHJvdG90eXBlOwp1LmFkZD1mdW5jdGlvbihhLGIpe2VsKHRoaXMpO3RoaXMuaj1udWxsO2E9ZmwodGhpcyxhKTt2YXIgYz10aGlzLmcuZ2V0KGEpO2N8fHRoaXMuZy5zZXQoYSxjPVtdKTtjLnB1c2goYik7dGhpcy5pPXRoaXMuaSsxO3JldHVybiB0aGlzfTt1LnJlbW92ZT1mdW5jdGlvbihhKXtlbCh0aGlzKTthPWZsKHRoaXMsYSk7cmV0dXJuIHRoaXMuZy5oYXMoYSk/KHRoaXMuaj1udWxsLHRoaXMuaT10aGlzLmktdGhpcy5nLmdldChhKS5sZW5ndGgsdGhpcy5nLmRlbGV0ZShhKSk6ITF9O3UuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5pPTB9O3UuaXNFbXB0eT1mdW5jdGlvbigpe2VsKHRoaXMpO3JldHVybiB0aGlzLmk9PTB9O2Z1bmN0aW9uIGdsKGEsYil7ZWwoYSk7Yj1mbChhLGIpO3JldHVybiBhLmcuaGFzKGIpfQp1LmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtlbCh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07ZnVuY3Rpb24gaGwoYSxiKXtlbChhKTt2YXIgYz1bXTtpZih0eXBlb2YgYj09PSJzdHJpbmciKWdsKGEsYikmJihjPWMuY29uY2F0KGEuZy5nZXQoZmwoYSxiKSkpKTtlbHNlIGZvcihhPUFycmF5LmZyb20oYS5nLnZhbHVlcygpKSxiPTA7YjxhLmxlbmd0aDtiKyspYz1jLmNvbmNhdChhW2JdKTtyZXR1cm4gY311LnNldD1mdW5jdGlvbihhLGIpe2VsKHRoaXMpO3RoaXMuaj1udWxsO2E9ZmwodGhpcyxhKTtnbCh0aGlzLGEpJiYodGhpcy5pPXRoaXMuaS10aGlzLmcuZ2V0KGEpLmxlbmd0aCk7dGhpcy5nLnNldChhLFtiXSk7dGhpcy5pPXRoaXMuaSsxO3JldHVybiB0aGlzfTsKdS5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPWhsKHRoaXMsYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9O3Uuc2V0VmFsdWVzPWZ1bmN0aW9uKGEsYil7dGhpcy5yZW1vdmUoYSk7aWYoYi5sZW5ndGg+MCl7dGhpcy5qPW51bGw7dmFyIGM9dGhpcy5nLGQ9Yy5zZXQ7YT1mbCh0aGlzLGEpO3ZhciBlPWIubGVuZ3RoO2lmKGU+MCl7Zm9yKHZhciBmPUFycmF5KGUpLGc9MDtnPGU7ZysrKWZbZ109YltnXTtlPWZ9ZWxzZSBlPVtdO2QuY2FsbChjLGEsZSk7dGhpcy5pPXRoaXMuaStiLmxlbmd0aH19Owp1LnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPWVuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpO2Q9aGwodGhpcyxkKTtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZTtkW2ZdIT09IiImJihnKz0iPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkW2ZdKSkpO2EucHVzaChnKX19cmV0dXJuIHRoaXMuaj1hLmpvaW4oIiYiKX07ZnVuY3Rpb24gVWsoYSl7dmFyIGI9bmV3IFdrO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmk9YS5pKTtyZXR1cm4gYn1mdW5jdGlvbiBmbChhLGIpe2I9U3RyaW5nKGIpO2EubCYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYn0KZnVuY3Rpb24gYmwoYSxiKXtiJiYhYS5sJiYoZWwoYSksYS5qPW51bGwsYS5nLmZvckVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZT1kLnRvTG93ZXJDYXNlKCk7ZCE9ZSYmKHRoaXMucmVtb3ZlKGQpLHRoaXMuc2V0VmFsdWVzKGUsYykpfSxhKSk7YS5sPWJ9O2Z1bmN0aW9uIGlsKGEpe3JldHVybiBhIT1udWxsJiZ0eXBlb2YgYT09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciImJnR5cGVvZiBhLnByb3BlcnR5SXNFbnVtZXJhYmxlIT0idW5kZWZpbmVkIiYmIWEucHJvcGVydHlJc0VudW1lcmFibGUoImxlbmd0aCIpfWZ1bmN0aW9uIGpsKGEsYixjKXtzd2l0Y2goc2ooYSxiKSl7Y2FzZSAxOnJldHVybiExO2Nhc2UgLTE6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4gY319ZnVuY3Rpb24ga2woYSxiLGMpe3JldHVybiBjPyFvai50ZXN0KGpqKGEsYikpOnBqLnRlc3QoamooYSxiKSl9CmZ1bmN0aW9uIGxsKGEpe2lmKGEuZy5vcmlnaW5hbF92YWx1ZSE9bnVsbCl7dmFyIGI9bmV3IFFrKFppKGEsIm9yaWdpbmFsX3ZhbHVlIiwiIikpOyJvcmlnaW5hbF92YWx1ZSJpbiBhLmcmJmRlbGV0ZSBhLmcub3JpZ2luYWxfdmFsdWU7Yi5qJiYoYS5nLnByb3RvY29sPWIuaik7Yi5sJiYoYS5nLmhvc3Q9Yi5sKTtiLkMhPW51bGw/YS5nLnBvcnQ9Yi5DOmIuaiYmKGIuaj09Imh0dHAiP2EuZy5wb3J0PTgwOmIuaj09Imh0dHBzIiYmKGEuZy5wb3J0PTQ0MykpO2IuZyYmKGEuZy5wYXRoPWIuZyk7Yi5BJiYoYS5nLmhhc2g9Yi5BKTt2YXIgYz1iLmk7ZWwoYyk7dmFyIGQ9QXJyYXkuZnJvbShjLmcudmFsdWVzKCkpLGU9QXJyYXkuZnJvbShjLmcua2V5cygpKTtjPVtdO2Zvcih2YXIgZj0wO2Y8ZS5sZW5ndGg7ZisrKWZvcih2YXIgZz1kW2ZdLGg9MDtoPGcubGVuZ3RoO2grKyljLnB1c2goZVtmXSk7Zm9yKGQ9MDtkPGMubGVuZ3RoOysrZCllPWNbZF0sZj1uZXcgT2soYWooYSkpLGYuZy5rZXk9CmUsZT1obChiLmksZSlbMF0sZi5nLnZhbHVlPWV9fWZ1bmN0aW9uIG1sKCl7Zm9yKHZhciBhPTA7YTxhcmd1bWVudHMubGVuZ3RoOysrYSlpZighYXJndW1lbnRzW2FdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIG5sKGEsYil7TGoudGVzdChiKXx8KGI9Yi5pbmRleE9mKCJsZWZ0Iik+PTA/Yi5yZXBsYWNlKE5qLCJyaWdodCIpOmIucmVwbGFjZShPaiwibGVmdCIpLHRiKE1qLGEpPj0wJiYoYT1iLnNwbGl0KFBqKSxhLmxlbmd0aD49NCYmKGI9W2FbMF0sYVszXSxhWzJdLGFbMV1dLmpvaW4oIiAiKSkpKTtyZXR1cm4gYn1mdW5jdGlvbiBvbChhLGIsYyl7c3dpdGNoKHNqKGEsYikpe2Nhc2UgMTpyZXR1cm4ibHRyIjtjYXNlIC0xOnJldHVybiJydGwiO2RlZmF1bHQ6cmV0dXJuIGN9fWZ1bmN0aW9uIHBsKGEsYixjKXtyZXR1cm4ga2woYSxiLGM9PSJydGwiKT8icnRsIjoibHRyIn12YXIgcWw9S2o7CmZ1bmN0aW9uIHJsKGEsYil7cmV0dXJuIGE9PW51bGw/bnVsbDpuZXcgUWooYSxiKX1mdW5jdGlvbiBzbChhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciPyInIithLnJlcGxhY2UoLycvZywiXFwnIikrIiciOlN0cmluZyhhKX1mdW5jdGlvbiB0bChhLGIpe2Zvcih2YXIgYz1hLGQ9QShLYS5hcHBseSgyLGFyZ3VtZW50cykpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXtlPWUudmFsdWU7aWYoIWMpcmV0dXJuIGI7Yz1lKGMpfXJldHVybiBjPT1udWxsfHxjPT12b2lkIDA/YjpjfWZ1bmN0aW9uIHVsKGEpe2Zvcih2YXIgYj1hLGM9QShLYS5hcHBseSgxLGFyZ3VtZW50cykpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXtkPWQudmFsdWU7aWYoIWIpcmV0dXJuIDA7Yj1kKGIpfXJldHVybiBiPT1udWxsfHxiPT12b2lkIDA/MDppbChiKT9iLmxlbmd0aDotMX1mdW5jdGlvbiB2bChhLGIpe3JldHVybiBhPj1ifWZ1bmN0aW9uIHdsKGEsYil7cmV0dXJuIGE+Yn0KZnVuY3Rpb24geGwoYSl7dHJ5e3JldHVybiBhLmNhbGwobnVsbCkhPT12b2lkIDB9Y2F0Y2goYil7cmV0dXJuITF9fWZ1bmN0aW9uIHlsKGEsYil7YT1uZXcgUGsoYSk7bGwoYSk7Zm9yKHZhciBjPTA7YzxjaihhKTsrK2MpaWYoKG5ldyBPayhiaihhLGMpKSkuZ2V0S2V5KCk9PWIpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gemwoYSxiKXtyZXR1cm4gYTw9Yn1mdW5jdGlvbiBBbChhLGIpe3JldHVybiBhPGJ9ZnVuY3Rpb24gQmwoYSxiLGMpe2M9fn4oY3x8MCk7Yz09MCYmKGM9MSk7dmFyIGQ9W107aWYoYz4wKWZvcihhPX5+YTthPGI7YSs9YylkLnB1c2goYSk7ZWxzZSBmb3IoYT1+fmE7YT5iO2ErPWMpZC5wdXNoKGEpO3JldHVybiBkfWZ1bmN0aW9uIENsKGEpe3RyeXt2YXIgYj1hLmNhbGwobnVsbCk7cmV0dXJuIGlsKGIpP2IubGVuZ3RoOmI9PT12b2lkIDA/MDoxfWNhdGNoKGMpe3JldHVybiAwfX0KZnVuY3Rpb24gRGwoYSl7aWYoYSE9bnVsbCl7dmFyIGI9YS5vcmRpbmFsO2I9PW51bGwmJihiPWEueWQpO2lmKGIhPW51bGwmJnR5cGVvZiBiPT0iZnVuY3Rpb24iKXJldHVybiBTdHJpbmcoYi5jYWxsKGEpKX1yZXR1cm4iIithfWZ1bmN0aW9uIEVsKGEpe2lmKGE9PW51bGwpcmV0dXJuIDA7dmFyIGI9YS5vcmRpbmFsO2I9PW51bGwmJihiPWEueWQpO3JldHVybiBiIT1udWxsJiZ0eXBlb2YgYj09ImZ1bmN0aW9uIj9iLmNhbGwoYSk6YT49MD9NYXRoLmZsb29yKGEpOk1hdGguY2VpbChhKX0KZnVuY3Rpb24gRmwoYSxiKXtpZih0eXBlb2YgYT09InN0cmluZyIpe3ZhciBjPW5ldyBQaztjLmcub3JpZ2luYWxfdmFsdWU9YX1lbHNlIGM9bmV3IFBrKGEpO2xsKGMpO2lmKGIpZm9yKGE9MDthPGIubGVuZ3RoOysrYSl7dmFyIGQ9YlthXSxlPWQua2V5IT1udWxsP2Qua2V5OmQua2V5LGY9ZC52YWx1ZSE9bnVsbD9kLnZhbHVlOmQudmFsdWU7ZD0hMTtmb3IodmFyIGc9MDtnPGNqKGMpOysrZylpZigobmV3IE9rKGJqKGMsZykpKS5nZXRLZXkoKT09ZSl7KG5ldyBPayhiaihjLGcpKSkuZy52YWx1ZT1mO2Q9ITA7YnJlYWt9ZHx8KGQ9bmV3IE9rKGFqKGMpKSxkLmcua2V5PWUsZC5nLnZhbHVlPWYpfXJldHVybiBjLmd9ZnVuY3Rpb24gR2woYSxiKXthPW5ldyBQayhhKTtsbChhKTtmb3IodmFyIGM9MDtjPGNqKGEpOysrYyl7dmFyIGQ9bmV3IE9rKGJqKGEsYykpO2lmKGQuZ2V0S2V5KCk9PWIpcmV0dXJuIFppKGQsInZhbHVlIiwiIil9cmV0dXJuIiJ9CmZ1bmN0aW9uIEhsKGEpe2E9bmV3IFBrKGEpO2xsKGEpO3ZhciBiPWEuZy5wcm90b2NvbCE9bnVsbD9aaShhLCJwcm90b2NvbCIsIiIpOm51bGwsYz1hLmcuaG9zdCE9bnVsbD9aaShhLCJob3N0IiwiIik6bnVsbCxkPWEuZy5wb3J0IT1udWxsJiYoYS5nLnByb3RvY29sPT1udWxsfHxaaShhLCJwcm90b2NvbCIsIiIpPT0iaHR0cCImJitaaShhLCJwb3J0IiwwKSE9ODB8fFppKGEsInByb3RvY29sIiwiIik9PSJodHRwcyImJitaaShhLCJwb3J0IiwwKSE9NDQzKT8rWmkoYSwicG9ydCIsMCk6bnVsbCxlPWEuZy5wYXRoIT1udWxsP1ppKGEsInBhdGgiLCIiKTpudWxsLGY9YS5nLmhhc2ghPW51bGw/WmkoYSwiaGFzaCIsIiIpOm51bGwsZz1uZXcgUWsobnVsbCk7YiYmUmsoZyxiKTtjJiYoZy5sPWMpO2QmJlNrKGcsZCk7ZSYmKGcuZz1lKTtmJiYoZy5BPWYpO2ZvcihiPTA7YjxjaihhKTsrK2IpYz1uZXcgT2soYmooYSxiKSksZD1nLGU9Yy5nZXRLZXkoKSxkLmkuc2V0KGUsWmkoYywidmFsdWUiLAoiIikpO3JldHVybiBnLnRvU3RyaW5nKCl9O2Z1bmN0aW9uIElsKGEpe3JldHVybiB0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lOmEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24gSmwoYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9ZnVuY3Rpb24gS2woYSxiKXthLmNsYXNzTGlzdD9iPWEuY2xhc3NMaXN0LmNvbnRhaW5zKGIpOihhPWEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OklsKGEpLm1hdGNoKC9cUysvZyl8fFtdLGI9dGIoYSxiKT49MCk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGwoYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighS2woYSxiKSl7dmFyIGM9SWwoYSk7SmwoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19CmZ1bmN0aW9uIE1sKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOktsKGEsYikmJkpsKGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OklsKGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07dmFyIE5sPS9ccyo7XHMqLyxPbD0vJi9nLFBsPS9eWyRhLXpBLVpfXSokL2ksUWw9L15bXCRfYS16QS1aXVtcJF8wLTlhLXpBLVpdKiQvaSxSbD0vXlxzKiQvLFNsPVJlZ0V4cCgiXigoZGV8ZW4pY29kZVVSSShDb21wb25lbnQpP3xpcyhGaW5pdGV8TmFOKXxwYXJzZShGbG9hdHxJbnQpfGRvY3VtZW50fGZhbHNlfGZ1bmN0aW9ufGpzbGF5b3V0fG51bGx8dGhpc3x0cnVlfHVuZGVmaW5lZHx3aW5kb3d8QXJyYXl8Qm9vbGVhbnxEYXRlfEVycm9yfEpTT058TWF0aHxOdW1iZXJ8T2JqZWN0fFJlZ0V4cHxTdHJpbmd8X19ldmVudCkkIiksVGw9UmVnRXhwKCJbXFwkX2EtekEtWl1bXFwkXzAtOWEtekEtWl0qfCcoXFxcXFxcXFx8XFxcXCd8XFxcXD9bXidcXFxcXSkqJ3xcIihcXFxcXFxcXHxcXFxcXCJ8XFxcXD9bXlwiXFxcXF0pKlwifFswLTldKlxcLj9bMC05XSsoW2VdWy0rXT9bMC05XSspP3wweFswLTlhLWZdK3xcXC18XFwrfFxcKnxcXC98XFwlfFxcPXxcXDx8XFw+fFxcJlxcJj98XFx8XFx8P3xcXCF8XFxefFxcfnxcXCh8XFwpfFxce3xcXH18XFxbfFxcXXxcXCx8XFw7fFxcLnxcXD98XFw6fFxcQHwjWzAtOV0rfFtcXHNdKyIsCiJnaSIpLFVsPXt9LFZsPXt9O2Z1bmN0aW9uIFdsKGEpe3ZhciBiPWEubWF0Y2goVGwpO2I9PW51bGwmJihiPVtdKTtpZihiLmpvaW4oIiIpLmxlbmd0aCE9YS5sZW5ndGgpe2Zvcih2YXIgYz0wLGQ9MDtkPGIubGVuZ3RoJiZhLnN1YnN0cihjLGJbZF0ubGVuZ3RoKT09YltkXTtkKyspYys9YltkXS5sZW5ndGg7dGhyb3cgRXJyb3IoIlBhcnNpbmcgZXJyb3IgYXQgcG9zaXRpb24gIitjKyIgb2YgIithKTt9cmV0dXJuIGJ9CmZ1bmN0aW9uIFhsKGEsYixjKXtmb3IodmFyIGQ9ITEsZT1bXTtiPGM7YisrKXt2YXIgZj1hW2JdO2lmKGY9PSJ7IilkPSEwLGUucHVzaCgifSIpO2Vsc2UgaWYoZj09Ii4ifHxmPT0ibmV3Inx8Zj09IiwiJiZlW2UubGVuZ3RoLTFdPT0ifSIpZD0hMDtlbHNlIGlmKFJsLnRlc3QoZikpYVtiXT0iICI7ZWxzZXtpZighZCYmUWwudGVzdChmKSYmIVNsLnRlc3QoZikpe2lmKGFbYl09KFhpW2ZdIT1udWxsPyJnIjoidiIpKyIuIitmLGY9PSJoYXMifHxmPT0ic2l6ZSIpe2Q9YTtmb3IoYis9MTtkW2JdIT0iKCImJmI8ZC5sZW5ndGg7KWIrKztkW2JdPSIoZnVuY3Rpb24oKXtyZXR1cm4gIjtpZihiPT1kLmxlbmd0aCl0aHJvdyBFcnJvcignIigiIG1pc3NpbmcgZm9yIGhhcygpIG9yIHNpemUoKS4nKTtiKys7Zj1iO2Zvcih2YXIgZz0wLGg9ITA7YjxkLmxlbmd0aDspe3ZhciBrPWRbYl07aWYoaz09IigiKWcrKztlbHNlIGlmKGs9PSIpIil7aWYoZz09MClicmVhaztnLS19ZWxzZSBrLnRyaW0oKSE9CiIiJiZrLmNoYXJBdCgwKSE9JyInJiZrLmNoYXJBdCgwKSE9IiciJiZrIT0iKyImJihoPSExKTtiKyt9aWYoYj09ZC5sZW5ndGgpdGhyb3cgRXJyb3IoJ21hdGNoaW5nICIpIiBtaXNzaW5nIGZvciBoYXMoKSBvciBzaXplKCkuJyk7ZFtiXT0ifSkiO2c9ZC5zbGljZShmLGIpLmpvaW4oIiIpLnRyaW0oKTtpZihoKWZvcihoPSIiK0ZpKHdpbmRvdyxWaihnKSksaD1XbChoKSxYbChoLDAsaC5sZW5ndGgpLGRbZl09aC5qb2luKCIiKSxmKz0xO2Y8YjtmKyspZFtmXT0iIjtlbHNlIFhsKGQsZixiKX19ZWxzZSBpZihmPT0iKCIpZS5wdXNoKCIpIik7ZWxzZSBpZihmPT0iWyIpZS5wdXNoKCJdIik7ZWxzZSBpZihmPT0iKSJ8fGY9PSJdInx8Zj09In0iKXtpZihlLmxlbmd0aD09MCl0aHJvdyBFcnJvcignVW5leHBlY3RlZCAiJytmKyciLicpO2Q9ZS5wb3AoKTtpZihmIT1kKXRocm93IEVycm9yKCdFeHBlY3RlZCAiJytkKyciIGJ1dCBmb3VuZCAiJytmKyciLicpO31kPSExfX1pZihlLmxlbmd0aCE9CjApdGhyb3cgRXJyb3IoIk1pc3NpbmcgYnJhY2tldChzKTogIitlLmpvaW4oKSk7fWZ1bmN0aW9uIFlsKGEsYil7Zm9yKHZhciBjPWEubGVuZ3RoO2I8YztiKyspe3ZhciBkPWFbYl07aWYoZD09IjoiKXJldHVybiBiO2lmKGQ9PSJ7Inx8ZD09Ij8ifHxkPT0iOyIpYnJlYWt9cmV0dXJuLTF9ZnVuY3Rpb24gWmwoYSxiKXtmb3IodmFyIGM9YS5sZW5ndGg7YjxjO2IrKylpZihhW2JdPT0iOyIpcmV0dXJuIGI7cmV0dXJuIGN9ZnVuY3Rpb24gJGwoYSl7YT1XbChhKTtyZXR1cm4gYW0oYSl9ZnVuY3Rpb24gYm0oYSl7cmV0dXJuIGZ1bmN0aW9uKGIsYyl7YlthXT1jfX1mdW5jdGlvbiBhbShhLGIpe1hsKGEsMCxhLmxlbmd0aCk7YT1hLmpvaW4oIiIpO2ImJihhPSd2WyInK2IrJyJdID0gJythKTtiPVZsW2FdO2J8fChiPW5ldyBGdW5jdGlvbigidiIsImciLERpKFZqKCJyZXR1cm4gIithKSkpLFZsW2FdPWIpO3JldHVybiBifWZ1bmN0aW9uIGNtKGEpe3JldHVybiBhfXZhciBkbT1bXTsKZnVuY3Rpb24gZW0oYSl7dmFyIGI9W10sYztmb3IoYyBpbiBVbClkZWxldGUgVWxbY107YT1XbChhKTt2YXIgZD0wO2ZvcihjPWEubGVuZ3RoO2Q8Yzspe2Zvcih2YXIgZT1bbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXSxmPSIiLGc9IiI7ZDxjO2QrKyl7Zz1hW2RdO2lmKGc9PSI/Inx8Zz09IjoiKXtmIT0iIiYmZS5wdXNoKGYpO2JyZWFrfVJsLnRlc3QoZyl8fChnPT0iLiI/KGYhPSIiJiZlLnB1c2goZiksZj0iIik6Zj1nLmNoYXJBdCgwKT09JyInfHxnLmNoYXJBdCgwKT09IiciP2YrRmkod2luZG93LFZqKGcpKTpmK2cpfWlmKGQ+PWMpYnJlYWs7Zj1abChhLGQrMSk7dmFyIGg9ZTtkbS5sZW5ndGg9MDtmb3IodmFyIGs9NTtrPGgubGVuZ3RoOysrayl7dmFyIGw9aFtrXTtPbC50ZXN0KGwpP2RtLnB1c2gobC5yZXBsYWNlKE9sLCImJiIpKTpkbS5wdXNoKGwpfWw9ZG0uam9pbigiJiIpO2g9VWxbbF07aWYoaz10eXBlb2YgaD09InVuZGVmaW5lZCIpaD1VbFtsXT1iLmxlbmd0aCxiLnB1c2goZSk7Cmw9ZT1iW2hdO3ZhciBtPWUubGVuZ3RoLTEsbj1udWxsO3N3aXRjaChlW21dKXtjYXNlICJmaWx0ZXJfdXJsIjpuPTE7YnJlYWs7Y2FzZSAiZmlsdGVyX2ltZ3VybCI6bj0yO2JyZWFrO2Nhc2UgImZpbHRlcl9jc3NfcmVndWxhciI6bj01O2JyZWFrO2Nhc2UgImZpbHRlcl9jc3Nfc3RyaW5nIjpuPTY7YnJlYWs7Y2FzZSAiZmlsdGVyX2Nzc191cmwiOm49N31uJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoZSxtLDEpO2xbMV09bjtkPWFtKGEuc2xpY2UoZCsxLGYpKTtnPT0iOiI/ZVs0XT1kOmc9PSI/IiYmKGVbM109ZCk7Zz1zaztrJiYoZD12b2lkIDAsaz1lWzVdLGs9PSJjbGFzcyJ8fGs9PSJjbGFzc05hbWUiP2UubGVuZ3RoPT02P2Q9Zy5oYzooZS5zcGxpY2UoNSwxKSxkPWcuamMpOms9PSJzdHlsZSI/ZS5sZW5ndGg9PTY/ZD1nLnNjOihlLnNwbGljZSg1LDEpLGQ9Zy50Yyk6ayBpbiBYaj9lLmxlbmd0aD09Nj9kPWcuVVJMOmVbNl09PSJoYXNoIj8oZD1nLnVjLGUubGVuZ3RoPQo2KTplWzZdPT0iaG9zdCI/KGQ9Zy52YyxlLmxlbmd0aD02KTplWzZdPT0icGF0aCI/KGQ9Zy53YyxlLmxlbmd0aD02KTplWzZdPT0icGFyYW0iJiZlLmxlbmd0aD49OD8oZD1nLnpjLGUuc3BsaWNlKDYsMSkpOmVbNl09PSJwb3J0Ij8oZD1nLnhjLGUubGVuZ3RoPTYpOmVbNl09PSJwcm90b2NvbCI/KGQ9Zy55YyxlLmxlbmd0aD02KTpiLnNwbGljZShoLDEpOmQ9Zy5yYyxlWzBdPWQpO2Q9ZisxfXJldHVybiBifWZ1bmN0aW9uIGZtKGEsYil7dmFyIGM9Ym0oYSk7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWIoZCk7YyhkLGUpO3JldHVybiBlfX07ZnVuY3Rpb24gZ20oKXt0aGlzLmc9e319Z20ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1iO3JldHVybiExfTt2YXIgaG09MCxpbT17MDpbXX0sam09e307ZnVuY3Rpb24ga20oYSxiKXt2YXIgYz1TdHJpbmcoKytobSk7am1bYl09YztpbVtjXT1hO3JldHVybiBjfWZ1bmN0aW9uIGxtKGEsYil7YS5zZXRBdHRyaWJ1dGUoImpzdGNhY2hlIixiKTthLl9fanN0Y2FjaGU9aW1bYl19dmFyIG1tPVtdO2Z1bmN0aW9uIG5tKGEpe2EubGVuZ3RoPTA7bW0ucHVzaChhKX0KZm9yKHZhciBvbT1bWyJqc2Nhc2UiLCRsLCIkc2MiXSxbImpzY2FzZWRlZmF1bHQiLGNtLCIkc2QiXSxbImpzbCIsbnVsbCxudWxsXSxbImpzZ2xvYmFscyIsZnVuY3Rpb24oYSl7dmFyIGI9W107YT1BKGEuc3BsaXQoTmwpKTtmb3IodmFyIGM9YS5uZXh0KCk7IWMuZG9uZTtjPWEubmV4dCgpKXt2YXIgZD1sYihjLnZhbHVlKTtpZihkKXt2YXIgZT1kLmluZGV4T2YoIjoiKTtlIT0tMSYmKGM9bGIoZC5zdWJzdHJpbmcoMCxlKSksZD1sYihkLnN1YnN0cmluZyhlKzEpKSxlPWQuaW5kZXhPZigiICIpLGUhPS0xJiYoZD1kLnN1YnN0cmluZyhlKzEpKSxiLnB1c2goW2JtKGMpLGRdKSl9fXJldHVybiBifSwiJGciLCEwXSxbImpzZm9yIixmdW5jdGlvbihhKXt2YXIgYj1bXTthPVdsKGEpO2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7YzxkOyl7dmFyIGU9W10sZj1ZbChhLGMpO2lmKGY9PS0xKXtpZihSbC50ZXN0KGEuc2xpY2UoYyxkKS5qb2luKCIiKSkpYnJlYWs7Zj1jLTF9ZWxzZSBmb3IodmFyIGc9CmM7ZzxmOyl7dmFyIGg9dGIoYSwiLCIsZyk7aWYoaD09LTF8fGg+ZiloPWY7ZS5wdXNoKGJtKGxiKGEuc2xpY2UoZyxoKS5qb2luKCIiKSkpKTtnPWgrMX1lLmxlbmd0aD09MCYmZS5wdXNoKGJtKCIkdGhpcyIpKTtlLmxlbmd0aD09MSYmZS5wdXNoKGJtKCIkaW5kZXgiKSk7ZS5sZW5ndGg9PTImJmUucHVzaChibSgiJGNvdW50IikpO2lmKGUubGVuZ3RoIT0zKXRocm93IEVycm9yKCJNYXggMyB2YXJzIGZvciBqc2ZvcjsgZ290ICIrZS5sZW5ndGgpO2M9WmwoYSxjKTtlLnB1c2goYW0oYS5zbGljZShmKzEsYykpKTtiLnB1c2goZSk7Yys9MX1yZXR1cm4gYn0sImZvciIsITBdLFsianNrZXkiLCRsLCIkayJdLFsianNkaXNwbGF5IiwkbCwiZGlzcGxheSJdLFsianNtYXRjaCIsbnVsbCxudWxsXSxbImpzaWYiLCRsLCJkaXNwbGF5Il0sW251bGwsJGwsIiRpZiJdLFsianN2YXJzIixmdW5jdGlvbihhKXt2YXIgYj1bXTthPVdsKGEpO2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7YzxkOyl7dmFyIGU9CllsKGEsYyk7aWYoZT09LTEpYnJlYWs7dmFyIGY9WmwoYSxlKzEpO2M9YW0oYS5zbGljZShlKzEsZiksbGIoYS5zbGljZShjLGUpLmpvaW4oIiIpKSk7Yi5wdXNoKGMpO2M9ZisxfXJldHVybiBifSwidmFyIiwhMF0sW251bGwsZnVuY3Rpb24oYSl7cmV0dXJuW2JtKGEpXX0sIiR2cyJdLFsianNhdHRycyIsZW0sIl9hIiwhMF0sW251bGwsZW0sIiRhIiwhMF0sW251bGwsZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI6Iik7cmV0dXJuW2Euc3Vic3RyKDAsYiksYS5zdWJzdHIoYisxKV19LCIkdWEiXSxbbnVsbCxmdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm5bYS5zdWJzdHIoMCxiKSwkbChhLnN1YnN0cihiKzEpKV19LCIkdWFlIl0sW251bGwsZnVuY3Rpb24oYSl7dmFyIGI9W107YT1XbChhKTtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDspe3ZhciBlPVlsKGEsYyk7aWYoZT09LTEpYnJlYWs7dmFyIGY9WmwoYSxlKzEpO2M9bGIoYS5zbGljZShjLGUpLmpvaW4oIiIpKTsKZT1hbShhLnNsaWNlKGUrMSxmKSxjKTtiLnB1c2goW2MsZV0pO2M9ZisxfXJldHVybiBifSwiJGlhIiwhMF0sW251bGwsZnVuY3Rpb24oYSl7dmFyIGI9W107YT1XbChhKTtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDspe3ZhciBlPVlsKGEsYyk7aWYoZT09LTEpYnJlYWs7dmFyIGY9WmwoYSxlKzEpO2M9bGIoYS5zbGljZShjLGUpLmpvaW4oIiIpKTtlPWFtKGEuc2xpY2UoZSsxLGYpLGMpO2IucHVzaChbYyxibShjKSxlXSk7Yz1mKzF9cmV0dXJuIGJ9LCIkaWMiLCEwXSxbbnVsbCxjbSwiJHJqIl0sWyJqc2V2YWwiLGZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9V2woYSk7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtjPGQ7KXt2YXIgZT1abChhLGMpO2IucHVzaChhbShhLnNsaWNlKGMsZSkpKTtjPWUrMX1yZXR1cm4gYn0sIiRlIiwhMF0sWyJqc3NraXAiLCRsLCIkc2siXSxbImpzc3dpdGNoIiwkbCwiJHMiXSxbImpzY29udGVudCIsZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI6IiksCmM9bnVsbDtpZihiIT0tMSl7dmFyIGQ9bGIoYS5zdWJzdHIoMCxiKSk7UGwudGVzdChkKSYmKGM9ZD09Imh0bWxfc25pcHBldCI/MTpkPT0icmF3Ij8yOmQ9PSJzYWZlIj83Om51bGwsYT1sYihhLnN1YnN0cihiKzEpKSl9cmV0dXJuW2MsITEsJGwoYSldfSwiJGMiXSxbInRyYW5zY2x1ZGUiLGNtLCIkdSJdLFtudWxsLCRsLCIkdWUiXSxbbnVsbCxudWxsLCIkdXAiXV0scG09e30scW09MDtxbTxvbS5sZW5ndGg7KytxbSl7dmFyIHJtPW9tW3FtXTtybVsyXSYmKHBtW3JtWzJdXT1bcm1bMV0scm1bM11dKX1wbS4kdD1bY20sITFdO3BtLiR4PVtjbSwhMV07cG0uJHU9W2NtLCExXTtmdW5jdGlvbiBzbShhLGIpe2lmKCFifHwhYi5nZXRBdHRyaWJ1dGUpcmV0dXJuIG51bGw7dG0oYSxiLG51bGwpO3ZhciBjPWIuX19ydDtyZXR1cm4gYyYmYy5sZW5ndGg/Y1tjLmxlbmd0aC0xXTpzbShhLGIucGFyZW50Tm9kZSl9CmZ1bmN0aW9uIHVtKGEpe3ZhciBiPWltW2ptW2ErIiAwIl18fCIwIl07YlswXSE9IiR0IiYmKGI9WyIkdCIsYV0uY29uY2F0KGIpKTtyZXR1cm4gYn12YXIgdm09L15cJHggKFxkKyk7Py87ZnVuY3Rpb24gd20oYSxiKXthPWptW2IrIiAiK2FdO3JldHVybiBpbVthXT9hOm51bGx9ZnVuY3Rpb24geG0oYSxiKXthPXdtKGEsYik7cmV0dXJuIGEhPW51bGw/aW1bYV06bnVsbH1mdW5jdGlvbiB5bShhLGIsYyxkLGUpe2lmKGQ9PWUpcmV0dXJuIG5tKGIpLCIwIjtiWzBdPT0iJHQiP2E9YlsxXSsiIDAiOihhKz0iOiIsYT1kPT0wJiZlPT1jLmxlbmd0aD9hK2Muam9pbigiOiIpOmErYy5zbGljZShkLGUpLmpvaW4oIjoiKSk7KGM9am1bYV0pP25tKGIpOmM9a20oYixhKTtyZXR1cm4gY312YXIgem09L1wkdCAoW147XSopL2c7ZnVuY3Rpb24gQW0oYSl7dmFyIGI9YS5fX3J0O2J8fChiPWEuX19ydD1bXSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIHRtKGEsYixjKXtpZighYi5fX2pzdGNhY2hlKXtiLmhhc0F0dHJpYnV0ZSgianN0aWQiKSYmKGIuZ2V0QXR0cmlidXRlKCJqc3RpZCIpLGIucmVtb3ZlQXR0cmlidXRlKCJqc3RpZCIpKTt2YXIgZD1iLmdldEF0dHJpYnV0ZSgianN0Y2FjaGUiKTtpZihkIT1udWxsJiZpbVtkXSliLl9fanN0Y2FjaGU9aW1bZF07ZWxzZXtkPWIuZ2V0QXR0cmlidXRlKCJqc2wiKTt6bS5sYXN0SW5kZXg9MDtmb3IodmFyIGU7ZT16bS5leGVjKGQpOylBbShiKS5wdXNoKGVbMV0pO2M9PW51bGwmJihjPVN0cmluZyhzbShhLGIucGFyZW50Tm9kZSkpKTtpZihhPXZtLmV4ZWMoZCkpZT1hWzFdLGQ9d20oZSxjKSxkPT1udWxsJiYoYT1tbS5sZW5ndGg/bW0ucG9wKCk6W10sYS5wdXNoKCIkeCIpLGEucHVzaChlKSxjPWMrIjoiK2Euam9pbigiOiIpLChkPWptW2NdKSYmaW1bZF0/bm0oYSk6ZD1rbShhLGMpKSxsbShiLGQpLGIucmVtb3ZlQXR0cmlidXRlKCJqc2wiKTtlbHNle2E9bW0ubGVuZ3RoPwptbS5wb3AoKTpbXTtkPW9tLmxlbmd0aDtmb3IoZT0wO2U8ZDsrK2Upe3ZhciBmPW9tW2VdLGc9ZlswXTtpZihnKXt2YXIgaD1iLmdldEF0dHJpYnV0ZShnKTtpZihoKXtmPWZbMl07aWYoZz09ImpzbCIpe2Y9V2woaCk7Zm9yKHZhciBrPWYubGVuZ3RoLGw9MCxtPSIiO2w8azspe3ZhciBuPVpsKGYsbCk7UmwudGVzdChmW2xdKSYmbCsrO2lmKCEobD49bikpe3ZhciBwPWZbbCsrXTtpZighUWwudGVzdChwKSl0aHJvdyBFcnJvcignQ21kIG5hbWUgZXhwZWN0ZWQ7IGdvdCAiJytwKyciIGluICInK2grJyIuJyk7aWYobDxuJiYhUmwudGVzdChmW2xdKSl0aHJvdyBFcnJvcignIiAiIGV4cGVjdGVkIGJldHdlZW4gY21kIGFuZCBwYXJhbS4nKTtsPWYuc2xpY2UobCsxLG4pLmpvaW4oIiIpO3A9PSIkYSI/bSs9bCsiOyI6KG0mJihhLnB1c2goIiRhIiksYS5wdXNoKG0pLG09IiIpLHBtW3BdJiYoYS5wdXNoKHApLGEucHVzaChsKSkpfWw9bisxfW0mJihhLnB1c2goIiRhIiksYS5wdXNoKG0pKX1lbHNlIGlmKGc9PQoianNtYXRjaCIpZm9yKGg9V2woaCksZj1oLmxlbmd0aCxuPTA7bjxmOylrPVlsKGgsbiksbT1abChoLG4pLG49aC5zbGljZShuLG0pLmpvaW4oIiIpLFJsLnRlc3Qobil8fChrIT09LTE/KGEucHVzaCgiZGlzcGxheSIpLGEucHVzaChoLnNsaWNlKGsrMSxtKS5qb2luKCIiKSksYS5wdXNoKCJ2YXIiKSk6YS5wdXNoKCJkaXNwbGF5IiksYS5wdXNoKG4pKSxuPW0rMTtlbHNlIGEucHVzaChmKSxhLnB1c2goaCk7Yi5yZW1vdmVBdHRyaWJ1dGUoZyl9fX1pZihhLmxlbmd0aD09MClsbShiLCIwIik7ZWxzZXtpZihhWzBdPT0iJHUifHxhWzBdPT0iJHQiKWM9YVsxXTtkPWptW2MrIjoiK2Euam9pbigiOiIpXTtpZighZHx8IWltW2RdKWE6e2U9YztjPSIwIjtmPW1tLmxlbmd0aD9tbS5wb3AoKTpbXTtkPTA7Zz1hLmxlbmd0aDtmb3IoaD0wO2g8ZztoKz0yKXtrPWFbaF07bj1hW2grMV07bT1wbVtrXTtwPW1bMV07bT0oMCxtWzBdKShuKTtrPT0iJHQiJiZuJiYoZT1uKTtpZihrPT0iJGsiKWZbZi5sZW5ndGgtCjJdPT0iZm9yIiYmKGZbZi5sZW5ndGgtMl09IiRmayIsZltmLmxlbmd0aC0yKzFdLnB1c2gobSkpO2Vsc2UgaWYoaz09IiR0IiYmYVtoKzJdPT0iJHgiKXttPXdtKCIwIixlKTtpZihtIT1udWxsKXtkPT0wJiYoYz1tKTtubShmKTtkPWM7YnJlYWsgYX1mLnB1c2goIiR0Iik7Zi5wdXNoKG4pfWVsc2UgaWYocClmb3Iobj1tLmxlbmd0aCxwPTA7cDxuOysrcClpZihsPW1bcF0saz09Il9hIil7dmFyIHI9bFswXSxxPWxbNV0sdD1xLmNoYXJBdCgwKTt0PT0iJCI/KGYucHVzaCgidmFyIiksZi5wdXNoKGZtKGxbNV0sbFs0XSkpKTp0PT0iQCI/KGYucHVzaCgiJGEiKSxsWzVdPXEuc3Vic3RyKDEpLGYucHVzaChsKSk6cj09Nnx8cj09N3x8cj09NHx8cj09NXx8cT09ImpzYWN0aW9uInx8cSBpbiBYaj8oZi5wdXNoKCIkYSIpLGYucHVzaChsKSk6KGVrLmhhc093blByb3BlcnR5KHEpJiYobFs1XT1la1txXSksbC5sZW5ndGg9PTYmJihmLnB1c2goIiRhIiksZi5wdXNoKGwpKSl9ZWxzZSBmLnB1c2goayksCmYucHVzaChsKTtlbHNlIGYucHVzaChrKSxmLnB1c2gobSk7aWYoaz09IiR1Inx8az09IiR1ZSJ8fGs9PSIkdXAifHxrPT0iJHgiKWs9aCsyLGY9eW0oZSxmLGEsZCxrKSxkPT0wJiYoYz1mKSxmPVtdLGQ9a31lPXltKGUsZixhLGQsYS5sZW5ndGgpO2Q9PTAmJihjPWUpO2Q9Y31sbShiLGQpfW5tKGEpfX19fWZ1bmN0aW9uIEJtKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX07ZnVuY3Rpb24gQ20oYSl7dGhpcy5nPWE9YT09PXZvaWQgMD9kb2N1bWVudDphO3RoaXMuaj1udWxsO3RoaXMubD17fTt0aGlzLmk9W119Q20ucHJvdG90eXBlLmRvY3VtZW50PWNhKCJnIik7ZnVuY3Rpb24gRG0oYSl7dmFyIGI9YS5nLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIik7YS5nLmhlYWQ/YS5nLmhlYWQuYXBwZW5kQ2hpbGQoYik6YS5nLmJvZHkuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGJ9O2Z1bmN0aW9uIEVtKGEsYixjKXthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTtiPWI9PT12b2lkIDA/bmV3IGdtOmI7Yz1jPT09dm9pZCAwP25ldyBDbShhKTpjO3RoaXMuQT1hO3RoaXMubD1jO3RoaXMuaT1iO25ldyAoYmEoKSk7dGhpcy5DPXt9O2VqKCl9RW0ucHJvdG90eXBlLmRvY3VtZW50PWNhKCJBIik7ZnVuY3Rpb24gRm0oYSxiLGMpe0VtLmNhbGwodGhpcyxhLGMpO3RoaXMuZz17fTt0aGlzLmo9W119eihGbSxFbSk7ZnVuY3Rpb24gR20oYSxiKXtpZih0eXBlb2YgYVszXT09Im51bWJlciIpe3ZhciBjPWFbM107YVszXT1iW2NdO2EuaGI9Y31lbHNlIHR5cGVvZiBhWzNdPT0idW5kZWZpbmVkIiYmKGFbM109W10sYS5oYj0tMSk7dHlwZW9mIGFbMV0hPSJudW1iZXIiJiYoYVsxXT0wKTtpZigoYT1hWzRdKSYmdHlwZW9mIGEhPSJzdHJpbmciKWZvcihjPTA7YzxhLmxlbmd0aDsrK2MpYVtjXSYmdHlwZW9mIGFbY10hPSJzdHJpbmciJiZHbShhW2NdLGIpfQpmdW5jdGlvbiBIbShhLGIsYyxkLGUsZil7Zm9yKHZhciBnPTA7ZzxmLmxlbmd0aDsrK2cpZltnXSYma20oZltnXSxiKyIgIitTdHJpbmcoZykpO0dtKGQsZik7aWYoIUFycmF5LmlzQXJyYXkoYykpe2Y9W107Zm9yKHZhciBoIGluIGMpZltjW2hdXT1oO2M9Zn1hLmdbYl09e2RjOjAsZWxlbWVudHM6ZCxRYjplLGdhOmMscGU6bnVsbCxhc3luYzohMSxmaW5nZXJwcmludDpudWxsfX1mdW5jdGlvbiBJbShhLGIpe3JldHVybiBiIGluIGEuZyYmIWEuZ1tiXS53ZH1mdW5jdGlvbiBKbShhLGIpe3JldHVybiBhLmdbYl18fGEuQ1tiXXx8bnVsbH0KZnVuY3Rpb24gS20oYSxiLGMpe2Zvcih2YXIgZD1jPT1udWxsPzA6Yy5sZW5ndGgsZT0wO2U8ZDsrK2UpZm9yKHZhciBmPWNbZV0sZz0wO2c8Zi5sZW5ndGg7Zys9Mil7dmFyIGg9ZltnKzFdO3N3aXRjaChmW2ddKXtjYXNlICJjc3MiOnZhciBrPXR5cGVvZiBoPT0ic3RyaW5nIj9oOlMoYixoLG51bGwpO2smJihoPWEubCxrIGluIGgubHx8KGgubFtrXT0hMCwiIi5pbmRleE9mKGspPT0tMSYmaC5pLnB1c2goaykpKTticmVhaztjYXNlICIkdXAiOms9Sm0oYSxoWzBdLmdldEtleSgpKTtpZighaylicmVhaztpZihoLmxlbmd0aD09MiYmIVMoYixoWzFdKSlicmVhaztoPWsuZWxlbWVudHM/ay5lbGVtZW50c1szXTpudWxsO3ZhciBsPSEwO2lmKGghPW51bGwpZm9yKHZhciBtPTA7bTxoLmxlbmd0aDttKz0yKWlmKGhbbV09PSIkaWYiJiYhUyhiLGhbbSsxXSkpe2w9ITE7YnJlYWt9bCYmS20oYSxiLGsuUWIpO2JyZWFrO2Nhc2UgIiRnIjooMCxoWzBdKShiLmcsYi5pP2IuaS5nW2hbMV1dOgpudWxsKTticmVhaztjYXNlICJ2YXIiOlMoYixoLG51bGwpfX19O3ZhciBMbT1bInVucmVzb2x2ZWQiLG51bGxdO2Z1bmN0aW9uIE1tKGEpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj10aGlzLmw9dGhpcy5nPXRoaXMudGFnPXRoaXMubmV4dD1udWxsO3RoaXMuaT0hMX1mdW5jdGlvbiBObSgpe3RoaXMuaT1udWxsO3RoaXMubD1TdHJpbmc7dGhpcy5qPSIiO3RoaXMuZz1udWxsfWZ1bmN0aW9uIE9tKGEsYixjLGQsZSl7dGhpcy5nPWE7dGhpcy5sPWI7dGhpcy5LPXRoaXMuRD10aGlzLkM9MDt0aGlzLlM9IiI7dGhpcy5JPVtdO3RoaXMuTD0hMTt0aGlzLkI9Yzt0aGlzLmNvbnRleHQ9ZDt0aGlzLkY9MDt0aGlzLkE9dGhpcy5pPW51bGw7dGhpcy5qPWU7dGhpcy5QPW51bGx9ZnVuY3Rpb24gUG0oYSxiKXtyZXR1cm4gYT09Ynx8YS5BIT1udWxsJiZQbShhLkEsYik/ITA6YS5GPT0yJiZhLmkhPW51bGwmJmEuaVswXSE9bnVsbCYmUG0oYS5pWzBdLGIpfQpmdW5jdGlvbiBRbShhLGIsYyl7aWYoYS5nPT1MbSYmYS5qPT1iKXJldHVybiBhO2lmKGEuSSE9bnVsbCYmYS5JLmxlbmd0aD4wJiZhLmdbYS5DXT09IiR0Iil7aWYoYS5nW2EuQysxXT09YilyZXR1cm4gYTtjJiZjLnB1c2goYS5nW2EuQysxXSl9aWYoYS5BIT1udWxsKXt2YXIgZD1RbShhLkEsYixjKTtpZihkKXJldHVybiBkfXJldHVybiBhLkY9PTImJmEuaSE9bnVsbCYmYS5pWzBdIT1udWxsP1FtKGEuaVswXSxiLGMpOm51bGx9ZnVuY3Rpb24gUm0oYSl7dmFyIGI9YS5QO2lmKGIhPW51bGwpe3ZhciBjPWJbImFjdGlvbjpsb2FkIl07YyE9bnVsbCYmKGMuY2FsbChhLkIuZWxlbWVudCksYlsiYWN0aW9uOmxvYWQiXT1udWxsKTtjPWJbImFjdGlvbjpjcmVhdGUiXTtjIT1udWxsJiYoYy5jYWxsKGEuQi5lbGVtZW50KSxiWyJhY3Rpb246Y3JlYXRlIl09bnVsbCl9YS5BIT1udWxsJiZSbShhLkEpO2EuRj09MiYmYS5pIT1udWxsJiZhLmlbMF0hPW51bGwmJlJtKGEuaVswXSl9O2Z1bmN0aW9uIFNtKCl7dGhpcy5nPXRoaXMuZzt0aGlzLmk9dGhpcy5pfVNtLnByb3RvdHlwZS5nPSExO1NtLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5nfHwodGhpcy5nPSEwLHRoaXMudWIoKSl9O1NtLnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX07U20ucHJvdG90eXBlLnViPWZ1bmN0aW9uKCl7aWYodGhpcy5pKWZvcig7dGhpcy5pLmxlbmd0aDspdGhpcy5pLnNoaWZ0KCkoKX07ZnVuY3Rpb24gVG0oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Yjt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITF9VG0ucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1iYSgpO1RtLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07dmFyIFVtPWZ1bmN0aW9uKCl7aWYoIUMuYWRkRXZlbnRMaXN0ZW5lcnx8IU9iamVjdC5kZWZpbmVQcm9wZXJ0eSlyZXR1cm4hMTt2YXIgYT0hMSxiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7dHJ5e3ZhciBjPWJhKCk7Qy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixjLGIpO0MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsYyxiKX1jYXRjaChkKXt9cmV0dXJuIGF9KCk7ZnVuY3Rpb24gVm0oYSxiKXtUbS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmc9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX1ZYShWbSxUbSk7ClZtLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy50eXBlPWEudHlwZSxkPWEuY2hhbmdlZFRvdWNoZXMmJmEuY2hhbmdlZFRvdWNoZXMubGVuZ3RoP2EuY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1hLnRhcmdldHx8YS5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1iO2I9YS5yZWxhdGVkVGFyZ2V0O2J8fChjPT0ibW91c2VvdmVyIj9iPWEuZnJvbUVsZW1lbnQ6Yz09Im1vdXNlb3V0IiYmKGI9YS50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9YjtkPyh0aGlzLmNsaWVudFg9ZC5jbGllbnRYIT09dm9pZCAwP2QuY2xpZW50WDpkLnBhZ2VYLHRoaXMuY2xpZW50WT1kLmNsaWVudFkhPT12b2lkIDA/ZC5jbGllbnRZOmQucGFnZVksdGhpcy5zY3JlZW5YPWQuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ZC5zY3JlZW5ZfHwwKToodGhpcy5vZmZzZXRYPUFifHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLHRoaXMub2Zmc2V0WT0KQWJ8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmc9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJlZtLkphLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O1ZtLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtWbS5KYS5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmcuc3RvcFByb3BhZ2F0aW9uP3RoaXMuZy5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmcuY2FuY2VsQnViYmxlPSEwfTtWbS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtWbS5KYS5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuZzthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgV209ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgWG09MDtmdW5jdGlvbiBZbShhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMuVz1lO3RoaXMua2V5PSsrWG07dGhpcy5nPXRoaXMucmI9ITF9ZnVuY3Rpb24gWm0oYSl7YS5nPSEwO2EubGlzdGVuZXI9bnVsbDthLnByb3h5PW51bGw7YS5zcmM9bnVsbDthLlc9bnVsbH07ZnVuY3Rpb24gJG0oYSl7dGhpcy5zcmM9YTt0aGlzLmc9e307dGhpcy5pPTB9JG0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEudG9TdHJpbmcoKTthPXRoaXMuZ1tmXTthfHwoYT10aGlzLmdbZl09W10sdGhpcy5pKyspO3ZhciBnPWFuKGEsYixkLGUpO2c+LTE/KGI9YVtnXSxjfHwoYi5yYj0hMSkpOihiPW5ldyBZbShiLHRoaXMuc3JjLGYsISFkLGUpLGIucmI9YyxhLnB1c2goYikpO3JldHVybiBifTskbS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmcpKXJldHVybiExO3ZhciBlPXRoaXMuZ1thXTtiPWFuKGUsYixjLGQpO3JldHVybiBiPi0xPyhabShlW2JdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoZSxiLDEpLGUubGVuZ3RoPT0wJiYoZGVsZXRlIHRoaXMuZ1thXSx0aGlzLmktLSksITApOiExfTsKZnVuY3Rpb24gYm4oYSxiKXt2YXIgYz1iLnR5cGU7YyBpbiBhLmcmJnhiKGEuZ1tjXSxiKSYmKFptKGIpLGEuZ1tjXS5sZW5ndGg9PTAmJihkZWxldGUgYS5nW2NdLGEuaS0tKSl9ZnVuY3Rpb24gYW4oYSxiLGMsZCl7Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDsrK2Upe3ZhciBmPWFbZV07aWYoIWYuZyYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuVz09ZClyZXR1cm4gZX1yZXR1cm4tMX07dmFyIGNuPSJjbG9zdXJlX2xtXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApLGRuPXt9LGVuPTA7ZnVuY3Rpb24gZm4oYSxiLGMsZCxlKXtpZihkJiZkLm9uY2UpZ24oYSxiLGMsZCxlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYikpZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspZm4oYSxiW2ZdLGMsZCxlKTtlbHNlIGM9aG4oYyksYSYmYVtXbV0/YS5LLmFkZChTdHJpbmcoYiksYywhMSxRYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6am4oYSxiLGMsITEsZCxlKX0KZnVuY3Rpb24gam4oYSxiLGMsZCxlLGYpe2lmKCFiKXRocm93IEVycm9yKCJJbnZhbGlkIGV2ZW50IHR5cGUiKTt2YXIgZz1RYShlKT8hIWUuY2FwdHVyZTohIWUsaD1rbihhKTtofHwoYVtjbl09aD1uZXcgJG0oYSkpO2M9aC5hZGQoYixjLGQsZyxmKTtpZighYy5wcm94eSl7ZD1sbigpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpVW18fChlPWcpLGU9PT12b2lkIDAmJihlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYi50b1N0cmluZygpLGQsZSk7ZWxzZSBpZihhLmF0dGFjaEV2ZW50KWEuYXR0YWNoRXZlbnQobW4oYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7ZW4rK319CmZ1bmN0aW9uIGxuKCl7ZnVuY3Rpb24gYShjKXtyZXR1cm4gYi5jYWxsKGEuc3JjLGEubGlzdGVuZXIsYyl9dmFyIGI9bm47cmV0dXJuIGF9ZnVuY3Rpb24gZ24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7ZisrKWduKGEsYltmXSxjLGQsZSk7ZWxzZSBjPWhuKGMpLGEmJmFbV21dP2EuSy5hZGQoU3RyaW5nKGIpLGMsITAsUWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOmpuKGEsYixjLCEwLGQsZSl9ZnVuY3Rpb24gbW4oYSl7cmV0dXJuIGEgaW4gZG4/ZG5bYV06ZG5bYV09Im9uIithfQpmdW5jdGlvbiBubihhLGIpe2lmKGEuZylhPSEwO2Vsc2V7Yj1uZXcgVm0oYix0aGlzKTt2YXIgYz1hLmxpc3RlbmVyLGQ9YS5XfHxhLnNyYztpZihhLnJiJiZ0eXBlb2YgYSE9PSJudW1iZXIiJiZhJiYhYS5nKXt2YXIgZT1hLnNyYztpZihlJiZlW1dtXSlibihlLkssYSk7ZWxzZXt2YXIgZj1hLnR5cGUsZz1hLnByb3h5O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIoZixnLGEuY2FwdHVyZSk6ZS5kZXRhY2hFdmVudD9lLmRldGFjaEV2ZW50KG1uKGYpLGcpOmUuYWRkTGlzdGVuZXImJmUucmVtb3ZlTGlzdGVuZXImJmUucmVtb3ZlTGlzdGVuZXIoZyk7ZW4tLTsoZj1rbihlKSk/KGJuKGYsYSksZi5pPT0wJiYoZi5zcmM9bnVsbCxlW2NuXT1udWxsKSk6Wm0oYSl9fWE9Yy5jYWxsKGQsYil9cmV0dXJuIGF9ZnVuY3Rpb24ga24oYSl7YT1hW2NuXTtyZXR1cm4gYSBpbnN0YW5jZW9mICRtP2E6bnVsbH0KdmFyIG9uPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7ZnVuY3Rpb24gaG4oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2Fbb25dfHwoYVtvbl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtvbl19O2Z1bmN0aW9uIHBuKGEsYixjKXt0aGlzLmk9YTt0aGlzLkM9YS5kb2N1bWVudCgpOysrdmo7dGhpcy5BPXRoaXMubD10aGlzLmc9bnVsbDt0aGlzLmo9ITE7dGhpcy5GPShiJjIpPT0yO3RoaXMuRD1jPT1udWxsP251bGw6RGF0ZS5ub3coKStjfXZhciBxbj1bXTtmdW5jdGlvbiBybihhLGIsYyl7aWYoYj09bnVsbHx8Yi5maW5nZXJwcmludD09bnVsbClyZXR1cm4hMTtiPWMuZ2V0QXR0cmlidXRlKCJqc3NjIik7aWYoIWIpcmV0dXJuITE7Yy5yZW1vdmVBdHRyaWJ1dGUoImpzc2MiKTtjPWIuc3BsaXQoIiAiKTtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyl7Yj1jW2RdLnNwbGl0KCI6Iik7dmFyIGU9YlsxXTtpZigoYj1KbShhLGJbMF0pKSYmYi5maW5nZXJwcmludCE9ZSlyZXR1cm4hMH1yZXR1cm4hMX0KZnVuY3Rpb24gc24oYSxiLGMpe2lmKGEuaj09YiliPW51bGw7ZWxzZSBpZihhLmo9PWMpcmV0dXJuIGI9PW51bGw7aWYoYS5BIT1udWxsKXJldHVybiBzbihhLkEsYixjKTtpZihhLmkhPW51bGwpZm9yKHZhciBkPTA7ZDxhLmkubGVuZ3RoO2QrKyl7dmFyIGU9YS5pW2RdO2lmKGUhPW51bGwpe2lmKGUuQi5lbGVtZW50IT1hLkIuZWxlbWVudClicmVhaztlPXNuKGUsYixjKTtpZihlIT1udWxsKXJldHVybiBlfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiB0bihhLGIsYyxkKXtpZihjIT1hKXJldHVybiBJaihhLGMpO2lmKGI9PWQpcmV0dXJuITA7YT1hLl9fY2RuO3JldHVybiBhIT1udWxsJiZzbihhLGIsZCk9PTF9CmZ1bmN0aW9uIHVuKGEsYil7aWYoYi5CLmVsZW1lbnQmJiFiLkIuZWxlbWVudC5fX2Nkbil2bihhLGIpO2Vsc2UgaWYod24oYikpe3ZhciBjPWIuajtpZihiLkIuZWxlbWVudCl7dmFyIGQ9Yi5CLmVsZW1lbnQ7aWYoYi5MKXt2YXIgZT1iLkIudGFnO2UhPW51bGwmJmUucmVzZXQoY3x8dm9pZCAwKX1jPWIuSTtlPSEhYi5jb250ZXh0LmcuTjtmb3IodmFyIGY9Yy5sZW5ndGgsZz1iLkY9PTEsaD1iLkMsaz0wO2s8ZjsrK2spe3ZhciBsPWNba10sbT1iLmdbaF0sbj1VW21dO2lmKGwhPW51bGwpaWYobC5pPT1udWxsKW4ubWV0aG9kLmNhbGwoYSxiLGwsaCk7ZWxzZXt2YXIgcD1TKGIuY29udGV4dCxsLmksZCkscj1sLmwocCk7aWYobi5nIT0wKXtpZihuLm1ldGhvZC5jYWxsKGEsYixsLGgscCxsLmohPXIpLGwuaj1yLChtPT0iZGlzcGxheSJ8fG09PSIkaWYiKSYmIXB8fG09PSIkc2siJiZwKXtnPSExO2JyZWFrfX1lbHNlIHIhPWwuaiYmKGwuaj1yLG4ubWV0aG9kLmNhbGwoYSxiLGwsaCwKcCkpfWgrPTJ9ZyYmKHhuKGEsYi5CLGIpLHluKGEsYikpO2IuY29udGV4dC5nLk49ZX1lbHNlIHluKGEsYil9fWZ1bmN0aW9uIHluKGEsYil7aWYoYi5GPT0xJiYoYj1iLmksYiE9bnVsbCkpZm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2Mpe3ZhciBkPWJbY107ZCE9bnVsbCYmdW4oYSxkKX19ZnVuY3Rpb24gem4oYSxiKXt2YXIgYz1hLl9fY2RuO2MhPW51bGwmJlBtKGMsYil8fChhLl9fY2RuPWIpfWZ1bmN0aW9uIHZuKGEsYil7dmFyIGM9Yi5CLmVsZW1lbnQ7aWYoIXduKGIpKXJldHVybiExO3ZhciBkPWIuajtjLl9fdnMmJihjLl9fdnNbMF09MSk7em4oYyxiKTtjPSEhYi5jb250ZXh0LmcuTjtpZighYi5nLmxlbmd0aClyZXR1cm4gYi5pPVtdLGIuRj0xLEFuKGEsYixkKSxiLmNvbnRleHQuZy5OPWMsITA7Yi5MPSEwO0JuKGEsYik7Yi5jb250ZXh0LmcuTj1jO3JldHVybiEwfQpmdW5jdGlvbiBBbihhLGIsYyl7Zm9yKHZhciBkPWIuY29udGV4dCxlPUZqKGIuQi5lbGVtZW50KTtlO2U9SGooZSkpe3ZhciBmPW5ldyBPbShDbihhLGUsYyksbnVsbCxuZXcgTW0oZSksZCxjKTt2bihhLGYpO2U9Zi5CLm5leHR8fGYuQi5lbGVtZW50O2YuSS5sZW5ndGg9PTAmJmUuX19jZG4/Zi5pIT1udWxsJiZ5YihiLmksZi5pKTpiLmkucHVzaChmKX19CmZ1bmN0aW9uIERuKGEsYixjKXt2YXIgZD1iLmNvbnRleHQsZT1iLmxbNF07aWYoZSlpZih0eXBlb2YgZT09InN0cmluZyIpYS5nKz1lO2Vsc2UgZm9yKHZhciBmPSEhZC5nLk4sZz0wO2c8ZS5sZW5ndGg7KytnKXt2YXIgaD1lW2ddO2lmKHR5cGVvZiBoPT0ic3RyaW5nIilhLmcrPWg7ZWxzZXtoPW5ldyBPbShoWzNdLGgsbmV3IE1tKG51bGwpLGQsYyk7dmFyIGs9YTtpZihoLmcubGVuZ3RoPT0wKXt2YXIgbD1oLmosbT1oLkI7aC5pPVtdO2guRj0xO0VuKGssaCk7eG4oayxtLGgpO2lmKChtLnRhZy5sJjIwNDgpIT0wKXt2YXIgbj1oLmNvbnRleHQuZy5SO2guY29udGV4dC5nLlI9ITE7RG4oayxoLGwpO2guY29udGV4dC5nLlI9biE9PSExfWVsc2UgRG4oayxoLGwpO0ZuKGssbSxoKX1lbHNlIGguTD0hMCxCbihrLGgpO2guSS5sZW5ndGghPTA/Yi5pLnB1c2goaCk6aC5pIT1udWxsJiZ5YihiLmksaC5pKTtkLmcuTj1mfX19CmZ1bmN0aW9uIEduKGEsYixjKXt2YXIgZD1iLkI7ZC5pPSEwO2IuY29udGV4dC5nLlI9PT0hMT8oeG4oYSxkLGIpLEZuKGEsZCxiKSk6KGQ9YS5qLGEuaj0hMCxCbihhLGIsYyksYS5qPWQpfQpmdW5jdGlvbiBCbihhLGIsYyl7dmFyIGQ9Yi5CLGU9Yi5qLGY9Yi5nLGc9Y3x8Yi5DO2lmKGc9PTApaWYoZlswXT09IiR0IiYmZlsyXT09IiR4Iil7Yz1mWzFdO3ZhciBoPXhtKGZbM10sYyk7aWYoaCE9bnVsbCl7Yi5nPWg7Yi5qPWM7Qm4oYSxiKTtyZXR1cm59fWVsc2UgaWYoZlswXT09IiR4IiYmKGM9eG0oZlsxXSxlKSxjIT1udWxsKSl7Yi5nPWM7Qm4oYSxiKTtyZXR1cm59Zm9yKGM9Zi5sZW5ndGg7ZzxjO2crPTIpe2g9ZltnXTt2YXIgaz1mW2crMV07aD09IiR0IiYmKGU9ayk7ZC50YWd8fChhLmchPW51bGw/aCE9ImZvciImJmghPSIkZmsiJiZFbihhLGIpOihoPT0iJGEifHxoPT0iJHUifHxoPT0iJHVhInx8aD09IiR1YWUifHxoPT0iJHVlInx8aD09IiR1cCJ8fGg9PSJkaXNwbGF5Inx8aD09IiRpZiJ8fGg9PSIkZGQifHxoPT0iJGRjInx8aD09IiRkaCJ8fGg9PSIkc2siKSYmSG4oZCxlKSk7aWYoaD1VW2hdKXtrPW5ldyBObTt2YXIgbD1iLG09bC5nW2crMV07c3dpdGNoKGwuZ1tnXSl7Y2FzZSAiJHVlIjprLmw9ClJqO2suaT1tO2JyZWFrO2Nhc2UgImZvciI6ay5sPUluO2suaT1tWzNdO2JyZWFrO2Nhc2UgIiRmayI6ay5nPVtdO2subD1KbihsLmNvbnRleHQsbC5CLG0say5nKTtrLmk9bVszXTticmVhaztjYXNlICJkaXNwbGF5IjpjYXNlICIkaWYiOmNhc2UgIiRzayI6Y2FzZSAiJHMiOmsuaT1tO2JyZWFrO2Nhc2UgIiRjIjprLmk9bVsyXX1sPWE7bT1iO3ZhciBuPWcscD1tLkIscj1wLmVsZW1lbnQscT1tLmdbbl0sdD1tLmNvbnRleHQsdj1udWxsO2lmKGsuaSlpZihsLmope3Y9IiI7c3dpdGNoKHEpe2Nhc2UgIiR1ZSI6dj1LbjticmVhaztjYXNlICJmb3IiOmNhc2UgIiRmayI6dj1xbjticmVhaztjYXNlICJkaXNwbGF5IjpjYXNlICIkaWYiOmNhc2UgIiRzayI6dj0hMDticmVhaztjYXNlICIkcyI6dj0wO2JyZWFrO2Nhc2UgIiRjIjp2PSIifXY9TG4odCxrLmkscix2KX1lbHNlIHY9Uyh0LGsuaSxyKTtyPWsubCh2KTtrLmo9cjtxPVVbcV07cS5nPT00PyhtLmk9W10sbS5GPXEuaSk6cS5nPT0KMyYmKHA9bS5BPW5ldyBPbShMbSxudWxsLHAsbmV3IHRqLCJudWxsIikscC5EPW0uRCsxLHAuSz1tLkspO20uSS5wdXNoKGspO3EubWV0aG9kLmNhbGwobCxtLGssbix2LCEwKTtpZihoLmchPTApcmV0dXJufWVsc2UgZz09Yi5DP2IuQys9MjpiLkkucHVzaChudWxsKX1pZihhLmc9PW51bGx8fGQudGFnLm5hbWUoKSE9InN0eWxlIil4bihhLGQsYiksYi5pPVtdLGIuRj0xLGEuZyE9bnVsbD9EbihhLGIsZSk6QW4oYSxiLGUpLGIuaS5sZW5ndGg9PTAmJihiLmk9bnVsbCksRm4oYSxkLGIpfWZ1bmN0aW9uIExuKGEsYixjLGQpe3RyeXtyZXR1cm4gUyhhLGIsYyl9Y2F0Y2goZSl7cmV0dXJuIGR9fXZhciBLbj1uZXcgUWooIm51bGwiKTtmdW5jdGlvbiBJbihhKXtyZXR1cm4gU3RyaW5nKE1uKGEpLmxlbmd0aCl9CnBuLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGEsYixjLGQsZSl7eG4odGhpcyxhLkIsYSk7Yz1hLmk7aWYoZSlpZih0aGlzLmchPW51bGwpe2M9YS5pO2U9YS5jb250ZXh0O2Zvcih2YXIgZj1hLmxbNF0sZz0tMSxoPTA7aDxmLmxlbmd0aDsrK2gpe3ZhciBrPWZbaF1bM107aWYoa1swXT09IiRzYyIpe2lmKFMoZSxrWzFdLG51bGwpPT09ZCl7Zz1oO2JyZWFrfX1lbHNlIGtbMF09PSIkc2QiJiYoZz1oKX1iLmc9Zztmb3IoYj0wO2I8Zi5sZW5ndGg7KytiKWQ9ZltiXSxkPWNbYl09bmV3IE9tKGRbM10sZCxuZXcgTW0obnVsbCksZSxhLmopLHRoaXMuaiYmKGQuQi5pPSEwKSxiPT1nP0JuKHRoaXMsZCk6YS5sWzJdJiZHbih0aGlzLGQpO0ZuKHRoaXMsYS5CLGEpfWVsc2V7ZT1hLmNvbnRleHQ7Zz1bXTtmPS0xO2ZvcihoPUZqKGEuQi5lbGVtZW50KTtoO2g9SGooaCkpaz1Dbih0aGlzLGgsYS5qKSxrWzBdPT0iJHNjIj8oZy5wdXNoKGgpLFMoZSxrWzFdLGgpPT09ZCYmKGY9Zy5sZW5ndGgtMSkpOgprWzBdPT0iJHNkIiYmKGcucHVzaChoKSxmPT0tMSYmKGY9Zy5sZW5ndGgtMSkpLGg9Y2soaCk7ZD1nLmxlbmd0aDtmb3IoaD0wO2g8ZDsrK2gpe2s9aD09Zjt2YXIgbD1jW2hdO2t8fGw9PW51bGx8fE5uKHRoaXMuaSxsLCEwKTt2YXIgbT1nW2hdO2w9Y2sobSk7Zm9yKHZhciBuPSEwO247bT1tLm5leHRTaWJsaW5nKVNqKG0sayksbT09bCYmKG49ITEpfWIuZz1mO2YhPS0xJiYoYj1jW2ZdLGI9PW51bGw/KGI9Z1tmXSxhPWNbZl09bmV3IE9tKENuKHRoaXMsYixhLmopLG51bGwsbmV3IE1tKGIpLGUsYS5qKSx2bih0aGlzLGEpKTp1bih0aGlzLGIpKX1lbHNlIGIuZyE9LTEmJnVuKHRoaXMsY1tiLmddKX07ZnVuY3Rpb24gT24oYSxiKXthPWEuZztmb3IodmFyIGMgaW4gYSliLmdbY109YVtjXX1mdW5jdGlvbiBQbihhLGIpe3RoaXMuaT1hO3RoaXMuZz1iO3RoaXMucGE9bnVsbH0KUG4ucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpZih0aGlzLnBhIT1udWxsKWZvcih2YXIgYT0wO2E8dGhpcy5wYS5sZW5ndGg7KythKXRoaXMucGFbYV0uaSh0aGlzKX07ZnVuY3Rpb24gUW4oYSl7YS5QPT1udWxsJiYoYS5QPXt9KTtyZXR1cm4gYS5QfXU9cG4ucHJvdG90eXBlO3UueGQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS5jb250ZXh0O3ZhciBkPWEuQi5lbGVtZW50O2M9YS5nW2MrMV07dmFyIGU9Y1swXSxmPWNbMV07Yz1RbihhKTtlPSJvYnNlcnZlcjoiK2U7dmFyIGc9Y1tlXTtiPVMoYixmLGQpO2lmKGchPW51bGwpe2lmKGcucGFbMF09PWIpcmV0dXJuO2cuZGlzcG9zZSgpfWE9bmV3IFBuKHRoaXMuaSxhKTthLnBhPT1udWxsP2EucGE9W2JdOmEucGEucHVzaChiKTtiLmcoYSk7Y1tlXT1hfTsKdS5JZD1mdW5jdGlvbihhLGIsYyxkLGUpe2M9YS5BO2UmJihjLkkubGVuZ3RoPTAsYy5qPWQuZ2V0S2V5KCksYy5nPUxtKTtpZighUm4odGhpcyxhLGIpKXtlPWEuQjt2YXIgZj1KbSh0aGlzLmksZC5nZXRLZXkoKSk7ZiE9bnVsbCYmKERrKGUudGFnLDc2OCkseGooYy5jb250ZXh0LGEuY29udGV4dCxxbiksT24oZCxjLmNvbnRleHQpLFNuKHRoaXMsYSxjLGYsYixkLmcpKX19O2Z1bmN0aW9uIFRuKGEsYixjKXtyZXR1cm4gYS5nIT1udWxsJiZhLmomJmIubFsyXT8oYy5qPSIiLCEwKTohMX1mdW5jdGlvbiBSbihhLGIsYyl7cmV0dXJuIFRuKGEsYixjKT8oeG4oYSxiLkIsYiksRm4oYSxiLkIsYiksITApOiExfXUuRmQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSbih0aGlzLGEsYikpe3ZhciBkPWEuQTtjPWEuZ1tjKzFdO2Quaj1jO2M9Sm0odGhpcy5pLGMpO2MhPW51bGwmJih4aihkLmNvbnRleHQsYS5jb250ZXh0LGMuZ2EpLFNuKHRoaXMsYSxkLGMsYixjLmdhKSl9fTsKZnVuY3Rpb24gU24oYSxiLGMsZCxlLGYpe3ZhciBnO2lmKCEoZz1lPT1udWxsfHxkPT1udWxsfHwhZC5hc3luYykpe2lmKGEuZyE9bnVsbClmPSExO2Vsc2UgaWYoYS5EIT1udWxsJiZhLkQ8PURhdGUubm93KCkpe2I6e2Y9bmV3IFBuKGEuaSxjKTt2YXIgaD1mLmcuQi5lbGVtZW50O2U9Zi5nLmo7Zz1mLmkuajtpZihnLmxlbmd0aCE9MClmb3IodmFyIGs9Zy5sZW5ndGgtMTtrPj0wOy0tayl7dmFyIGw9Z1trXSxtPWwuZy5CLmVsZW1lbnQ7bD1sLmcuajtpZih0bihtLGwsaCxlKSlicmVhayBiO3RuKGgsZSxtLGwpJiZnLnNwbGljZShrLDEpfWcucHVzaChmKX1mPSEwfWVsc2V7Zz1lLmc7aWYoZz09bnVsbCllLmc9Zz1uZXcgdGoseGooZyxjLmNvbnRleHQpLGY9ITA7ZWxzZXtlPWc7Zz1jLmNvbnRleHQ7az0hMTtmb3IoaCBpbiBlLmcpaWYobT1nLmdbaF0sZS5nW2hdIT1tJiYoZS5nW2hdPW0sZiYmQXJyYXkuaXNBcnJheShmKT9mLmluZGV4T2YoaCkhPS0xOmZbaF0hPW51bGwpKWs9CiEwO2Y9a31mPWEuRiYmIWZ9Zz0hZn1nJiYoYy5nIT1MbT91bihhLGMpOihoPWMuQiwoZj1oLmVsZW1lbnQpJiZ6bihmLGMpLGguZz09bnVsbCYmKGguZz1mP0FtKGYpOltdKSxoPWguZyxlPWMuRCxoLmxlbmd0aDxlLTE/KGMuZz11bShjLmopLEJuKGEsYykpOmgubGVuZ3RoPT1lLTE/VW4oYSxiLGMpOmhbZS0xXSE9Yy5qPyhoLmxlbmd0aD1lLTEsYiE9bnVsbCYmTm4oYS5pLGIsITEpLFVuKGEsYixjKSk6ZiYmcm4oYS5pLGQsZik/KGgubGVuZ3RoPWUtMSxVbihhLGIsYykpOihjLmc9dW0oYy5qKSxCbihhLGMpKSkpfQp1LkpkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmdbYysxXTtpZihkWzJdfHwhUm4odGhpcyxhLGIpKXt2YXIgZT1hLkE7ZS5qPWRbMF07dmFyIGY9Sm0odGhpcy5pLGUuaik7aWYoZiE9bnVsbCl7dmFyIGc9ZS5jb250ZXh0O3hqKGcsYS5jb250ZXh0LHFuKTtjPWEuQi5lbGVtZW50O2lmKGQ9ZFsxXSlmb3IodmFyIGggaW4gZCl7dmFyIGs9ZyxsPWgsbT1TKGEuY29udGV4dCxkW2hdLGMpO2suZ1tsXT1tfWYuWmI/KHhuKHRoaXMsYS5CLGEpLGI9Zi50ZCh0aGlzLmksZy5nKSx0aGlzLmchPW51bGw/dGhpcy5nKz1iOihXaihjLGIpLGMubm9kZU5hbWUhPSJURVhUQVJFQSImJmMubm9kZU5hbWUhPSJ0ZXh0YXJlYSJ8fGMudmFsdWU9PT1ifHwoYy52YWx1ZT1iKSksRm4odGhpcyxhLkIsYSkpOlNuKHRoaXMsYSxlLGYsYixkKX19fTsKdS5HZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nW2MrMV07Yz1kWzBdO3ZhciBlPWRbMV0sZj1hLkIsZz1mLnRhZztpZighZi5lbGVtZW50fHxmLmVsZW1lbnQuX19uYXJyb3dfc3RyYXRlZ3khPSJOQVJST1dfUEFUSCIpaWYoZj1KbSh0aGlzLmksZSkpaWYoZD1kWzJdLGQ9PW51bGx8fFMoYS5jb250ZXh0LGQsbnVsbCkpZD1iLmcsZD09bnVsbCYmKGIuZz1kPW5ldyB0aikseGooZCxhLmNvbnRleHQsZi5nYSksYz09IioiP1ZuKHRoaXMsZSxmLGQsZyk6V24odGhpcyxlLGYsYyxkLGcpfTsKdS5IZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nW2MrMV07Yz1kWzBdO3ZhciBlPWEuQi5lbGVtZW50O2lmKCFlfHxlLl9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiKXt2YXIgZj1hLkIudGFnO2U9UyhhLmNvbnRleHQsZFsxXSxlKTt2YXIgZz1lLmdldEtleSgpLGg9Sm0odGhpcy5pLGcpO2gmJihkPWRbMl0sZD09bnVsbHx8UyhhLmNvbnRleHQsZCxudWxsKSkmJihkPWIuZyxkPT1udWxsJiYoYi5nPWQ9bmV3IHRqKSx4aihkLGEuY29udGV4dCxxbiksT24oZSxkKSxjPT0iKiI/Vm4odGhpcyxnLGgsZCxmKTpXbih0aGlzLGcsaCxjLGQsZikpfX07CmZ1bmN0aW9uIFduKGEsYixjLGQsZSxmKXtlLmcuUj0hMTt2YXIgZz0iIjtpZihjLmVsZW1lbnRzfHxjLlpiKWMuWmI/Zz1qayhsYihjLnRkKGEuaSxlLmcpKSk6KGM9Yy5lbGVtZW50cyxlPW5ldyBPbShjWzNdLGMsbmV3IE1tKG51bGwpLGUsYiksZS5CLmc9W10sYj1hLmcsYS5nPSIiLEJuKGEsZSksZT1hLmcsYS5nPWIsZz1lKTtnfHwoZz16ayhmLm5hbWUoKSxkKSk7ZyYmR2soZiwwLGQsZywhMCwhMSl9ZnVuY3Rpb24gVm4oYSxiLGMsZCxlKXtjLmVsZW1lbnRzJiYoYz1jLmVsZW1lbnRzLGI9bmV3IE9tKGNbM10sYyxuZXcgTW0obnVsbCksZCxiKSxiLkIuZz1bXSxiLkIudGFnPWUsRGsoZSxjWzFdKSxlPWEuZyxhLmc9IiIsQm4oYSxiKSxhLmc9ZSl9CmZ1bmN0aW9uIFVuKGEsYixjKXt2YXIgZD1jLmosZT1jLkIsZj1lLmd8fGUuZWxlbWVudC5fX3J0LGc9Sm0oYS5pLGQpO2lmKGcmJmcud2QpYS5nIT1udWxsJiYoYz1lLnRhZy5pZCgpLGEuZys9TmsoZS50YWcsITEsITApK0VrKGUudGFnKSxhLmxbY109ZSk7ZWxzZSBpZihnJiZnLmVsZW1lbnRzKXtlLmVsZW1lbnQmJkdrKGUudGFnLDAsImpzdGNhY2hlIixlLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJqc3RjYWNoZSIpfHwiMCIsITEsITApO2lmKGUuZWxlbWVudD09bnVsbCYmYiYmYi5sJiZiLmxbMl0pe3ZhciBoPWIubC5oYjtoIT0tMSYmaCE9MCYmWG4oZS50YWcsYi5qLGgpfWYucHVzaChkKTtLbShhLmksYy5jb250ZXh0LGcuUWIpO2UuZWxlbWVudD09bnVsbCYmZS50YWcmJmImJlluKGUudGFnLGIpO2cuZWxlbWVudHNbMF09PSJqc2wiJiYoZS50YWcubmFtZSgpIT0ianNsInx8Yi5sJiZiLmxbMl0pJiZLayhlLnRhZywhMCk7Yy5sPWcuZWxlbWVudHM7ZT1jLkI7ZD1jLmw7aWYoYj0KYS5nPT1udWxsKWEuZz0iIixhLmw9e30sYS5BPXt9O2MuZz1kWzNdO0RrKGUudGFnLGRbMV0pO2Q9YS5nO2EuZz0iIjsoZS50YWcubCYyMDQ4KSE9MD8oZj1jLmNvbnRleHQuZy5SLGMuY29udGV4dC5nLlI9ITEsQm4oYSxjKSxjLmNvbnRleHQuZy5SPWYhPT0hMSk6Qm4oYSxjKTthLmc9ZCthLmc7aWYoYil7Yz1hLmkubDtjLmcmJmMuaS5sZW5ndGghPTAmJihiPWMuaS5qb2luKCIiKSx6Yj8oYy5qfHwoYy5qPURtKGMpKSxkPWMuaik6ZD1EbShjKSxkLnN0eWxlU2hlZXQmJiFkLnNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0Kz1iOmQudGV4dENvbnRlbnQrPWIsYy5pLmxlbmd0aD0wKTtjPWUuZWxlbWVudDtiPWEuQztkPWEuZztpZihkIT0iInx8Yy5pbm5lckhUTUwhPSIiKWlmKGY9Yy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGU9MCxmPT0idGFibGUiPyhkPSI8dGFibGU+IitkKyI8L3RhYmxlPiIsZT0xKTpmPT0idGJvZHkifHxmPT0idGhlYWQifHxmPT0idGZvb3QifHxmPT0iY2FwdGlvbiJ8fApmPT0iY29sZ3JvdXAifHxmPT0iY29sIj8oZD0iPHRhYmxlPjx0Ym9keT4iK2QrIjwvdGJvZHk+PC90YWJsZT4iLGU9Mik6Zj09InRyIiYmKGQ9Ijx0YWJsZT48dGJvZHk+PHRyPiIrZCsiPC90cj48L3Rib2R5PjwvdGFibGU+IixlPTMpLGU9PTApRWkoYyxUaihkKSk7ZWxzZXtiPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7RWkoYixUaihkKSk7Zm9yKGQ9MDtkPGU7KytkKWI9Yi5maXJzdENoaWxkO2Zvcig7ZT1jLmZpcnN0Q2hpbGQ7KWMucmVtb3ZlQ2hpbGQoZSk7Zm9yKGU9Yi5maXJzdENoaWxkO2U7ZT1iLmZpcnN0Q2hpbGQpYy5hcHBlbmRDaGlsZChlKX1jPWMucXVlcnlTZWxlY3RvckFsbD9jLnF1ZXJ5U2VsZWN0b3JBbGwoIltqc3RpZF0iKTpbXTtmb3IoZT0wO2U8Yy5sZW5ndGg7KytlKXtkPWNbZV07Zj1kLmdldEF0dHJpYnV0ZSgianN0aWQiKTtiPWEubFtmXTtmPWEuQVtmXTtkLnJlbW92ZUF0dHJpYnV0ZSgianN0aWQiKTtmb3IoZz1iO2c7Zz1nLmwpZy5lbGVtZW50PWQ7Yi5nJiYKKGQuX19ydD1iLmcsYi5nPW51bGwpO2QuX19jZG49ZjtSbShmKTtkLl9fanN0Y2FjaGU9Zi5nO2lmKGIuail7Zm9yKGQ9MDtkPGIuai5sZW5ndGg7KytkKWY9Yi5qW2RdLGYuc2hpZnQoKS5hcHBseShhLGYpO2Iuaj1udWxsfX1hLmc9bnVsbDthLmw9bnVsbDthLkE9bnVsbH19fWZ1bmN0aW9uIFpuKGEsYixjLGQpe3ZhciBlPWIuY2xvbmVOb2RlKCExKTtpZihiLl9fcnQ9PW51bGwpZm9yKGI9Yi5maXJzdENoaWxkO2IhPW51bGw7Yj1iLm5leHRTaWJsaW5nKWIubm9kZVR5cGU9PTE/ZS5hcHBlbmRDaGlsZChabihhLGIsYywhMCkpOmUuYXBwZW5kQ2hpbGQoYi5jbG9uZU5vZGUoITApKTtlbHNlIGUuX19ydCYmZGVsZXRlIGUuX19ydDtlLl9fY2RuJiZkZWxldGUgZS5fX2NkbjtkfHxTaihlLCEwKTtyZXR1cm4gZX1mdW5jdGlvbiBNbihhKXtyZXR1cm4gYT09bnVsbD9bXTpBcnJheS5pc0FycmF5KGEpP2E6W2FdfQpmdW5jdGlvbiBKbihhLGIsYyxkKXt2YXIgZT1jWzBdLGY9Y1sxXSxnPWNbMl0saD1jWzRdO3JldHVybiBmdW5jdGlvbihrKXt2YXIgbD1iLmVsZW1lbnQ7az1NbihrKTt2YXIgbT1rLmxlbmd0aDtnKGEuZyxtKTtmb3IodmFyIG49ZC5sZW5ndGg9MDtuPG07KytuKXtlKGEuZyxrW25dKTtmKGEuZyxuKTt2YXIgcD1TKGEsaCxsKTtkLnB1c2goU3RyaW5nKHApKX1yZXR1cm4gZC5qb2luKCIsIil9fQp1LmdkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5pLGc9YS5nW2MrMV0saD1nWzBdLGs9Z1sxXSxsPWEuY29udGV4dCxtPWEuQjtkPU1uKGQpO3ZhciBuPWQubGVuZ3RoOygwLGdbMl0pKGwuZyxuKTtpZihlKWlmKHRoaXMuZyE9bnVsbCkkbih0aGlzLGEsYixjLGQpO2Vsc2V7Zm9yKGI9bjtiPGYubGVuZ3RoOysrYilObih0aGlzLmksZltiXSwhMCk7Zi5sZW5ndGg+MCYmKGYubGVuZ3RoPU1hdGgubWF4KG4sMSkpO3ZhciBwPW0uZWxlbWVudDtiPXA7dmFyIHI9ITE7ZT1hLks7Zz1ZaihiKTtmb3IodmFyIHE9MDtxPG58fHE9PTA7KytxKXtpZihyKXt2YXIgdD1abih0aGlzLHAsYS5qKTtEaih0LGIpO2I9dDtnLmxlbmd0aD1lKzF9ZWxzZSBxPjAmJihiPUhqKGIpLGc9WWooYikpLGdbZV0mJmdbZV0uY2hhckF0KDApIT0iKiJ8fChyPW4+MCk7YmsoYixnLGUsbixxKTtxPT0wJiZTaihiLG4+MCk7bj4wJiYoaChsLmcsZFtxXSksayhsLmcscSksQ24odGhpcyxiLG51bGwpLHQ9ZltxXSwKdD09bnVsbD8odD1mW3FdPW5ldyBPbShhLmcsYS5sLG5ldyBNbShiKSxsLGEuaiksdC5DPWMrMix0LkQ9YS5ELHQuSz1lKzEsdC5MPSEwLHZuKHRoaXMsdCkpOnVuKHRoaXMsdCksYj10LkIubmV4dHx8dC5CLmVsZW1lbnQpfWlmKCFyKWZvcihmPUhqKGIpO2YmJmFrKFlqKGYpLGcsZSk7KWg9SGooZiksRWooZiksZj1oO20ubmV4dD1ifWVsc2UgZm9yKG09MDttPG47KyttKWgobC5nLGRbbV0pLGsobC5nLG0pLHVuKHRoaXMsZlttXSl9Owp1LmhkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5pLGc9YS5jb250ZXh0LGg9YS5nW2MrMV0saz1oWzBdLGw9aFsxXTtoPWEuQjtkPU1uKGQpO2lmKGV8fCFoLmVsZW1lbnR8fGguZWxlbWVudC5fX2ZvcmtleV9oYXNfdW5wcm9jZXNzZWRfZWxlbWVudHMpe3ZhciBtPWIuZyxuPWQubGVuZ3RoO2lmKHRoaXMuZyE9bnVsbCkkbih0aGlzLGEsYixjLGQsbSk7ZWxzZXt2YXIgcD1oLmVsZW1lbnQ7Yj1wO3ZhciByPWEuSyxxPVlqKGIpO2U9W107dmFyIHQ9e30sdj1udWxsO3ZhciB3PXRoaXMuQzt0cnl7dmFyIEY9dyYmdy5hY3RpdmVFbGVtZW50O3ZhciBFPUYmJkYubm9kZU5hbWU/RjpudWxsfWNhdGNoKFgpe0U9bnVsbH13PWI7Zm9yKEY9cTt3Oyl7Q24odGhpcyx3LGEuaik7dmFyIHk9Wmoodyk7eSYmKHRbeV09ZS5sZW5ndGgpO2UucHVzaCh3KTshdiYmRSYmSWoodyxFKSYmKHY9dyk7KHc9SGoodykpPyh5PVlqKHcpLGFrKHksRixyKT9GPXk6dz1udWxsKTp3PW51bGx9dz1iLnByZXZpb3VzU2libGluZzsKd3x8KHc9dGhpcy5DLmNyZWF0ZUNvbW1lbnQoImpzZm9yIiksYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHcsYikpO0U9W107cC5fX2ZvcmtleV9oYXNfdW5wcm9jZXNzZWRfZWxlbWVudHM9ITE7aWYobj4wKWZvcihGPTA7RjxuOysrRil7eT1tW0ZdO2lmKHkgaW4gdCl7dmFyIE49dFt5XTtkZWxldGUgdFt5XTtiPWVbTl07ZVtOXT1udWxsO2lmKHcubmV4dFNpYmxpbmchPWIpaWYoYiE9dilEaihiLHcpO2Vsc2UgZm9yKDt3Lm5leHRTaWJsaW5nIT1iOylEaih3Lm5leHRTaWJsaW5nLGIpO0VbRl09ZltOXX1lbHNlIGI9Wm4odGhpcyxwLGEuaiksRGooYix3KTtrKGcuZyxkW0ZdKTtsKGcuZyxGKTtiayhiLHEscixuLEYseSk7Rj09MCYmU2ooYiwhMCk7Q24odGhpcyxiLG51bGwpO0Y9PTAmJnAhPWImJihwPWguZWxlbWVudD1iKTt3PUVbRl07dz09bnVsbD8odz1uZXcgT20oYS5nLGEubCxuZXcgTW0oYiksZyxhLmopLHcuQz1jKzIsdy5EPWEuRCx3Lks9cisxLAp3Lkw9ITAsdm4odGhpcyx3KT9FW0ZdPXc6cC5fX2ZvcmtleV9oYXNfdW5wcm9jZXNzZWRfZWxlbWVudHM9ITApOnVuKHRoaXMsdyk7dz1iPXcuQi5uZXh0fHx3LkIuZWxlbWVudH1lbHNlIGVbMF09bnVsbCxmWzBdJiYoRVswXT1mWzBdKSxTaihiLCExKSxiayhiLHEsciwwLDAsWmooYikpO2Zvcih2YXIgVCBpbiB0KShnPWZbdFtUXV0pJiZObih0aGlzLmksZywhMCk7YS5pPUU7Zm9yKGY9MDtmPGUubGVuZ3RoOysrZillW2ZdJiZFaihlW2ZdKTtoLm5leHQ9Yn19ZWxzZSBpZihkLmxlbmd0aD4wKWZvcihhPTA7YTxmLmxlbmd0aDsrK2EpayhnLmcsZFthXSksbChnLmcsYSksdW4odGhpcyxmW2FdKX07CmZ1bmN0aW9uICRuKGEsYixjLGQsZSxmKXt2YXIgZz1iLmksaD1iLmdbZCsxXSxrPWhbMF07aD1oWzFdO3ZhciBsPWIuY29udGV4dDtjPVRuKGEsYixjKT8wOmUubGVuZ3RoO2Zvcih2YXIgbT1jPT0wLG49Yi5sWzJdLHA9MDtwPGN8fHA9PTAmJm47KytwKXttfHwoayhsLmcsZVtwXSksaChsLmcscCkpO3ZhciByPWdbcF09bmV3IE9tKGIuZyxiLmwsbmV3IE1tKG51bGwpLGwsYi5qKTtyLkM9ZCsyO3IuRD1iLkQ7ci5LPWIuSysxO3IuTD0hMDtyLlM9KGIuUz9iLlMrIiwiOiIiKSsocD09Yy0xfHxtPyIqIjoiIikrU3RyaW5nKHApKyhmJiYhbT8iOyIrZltwXToiIik7dmFyIHE9RW4oYSxyKTtuJiZjPjAmJkdrKHEsMjAsImpzaW5zdGFuY2UiLHIuUyk7cD09MCYmKHIuQi5sPWIuQik7bT9HbihhLHIpOkJuKGEscil9fQp1LktkPWZ1bmN0aW9uKGEsYixjKXtiPWEuY29udGV4dDtjPWEuZ1tjKzFdO3ZhciBkPWEuQi5lbGVtZW50O3RoaXMuaiYmYS5sJiZhLmxbMl0/TG4oYixjLGQsIiIpOlMoYixjLGQpfTt1LkxkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNvbnRleHQsZT1hLmdbYysxXTtjPWVbMF07aWYodGhpcy5nIT1udWxsKWE9UyhkLGVbMV0sbnVsbCksYyhkLmcsYSksYi5nPUJtKGEpO2Vsc2V7YT1hLkIuZWxlbWVudDtpZihiLmc9PW51bGwpe2U9YS5fX3ZzO2lmKCFlKXtlPWEuX192cz1bMV07dmFyIGY9YS5nZXRBdHRyaWJ1dGUoImpzdnMiKTtmPVdsKGYpO2Zvcih2YXIgZz0wLGg9Zi5sZW5ndGg7ZzxoOyl7dmFyIGs9WmwoZixnKSxsPWYuc2xpY2UoZyxrKS5qb2luKCIiKTtnPWsrMTtlLnB1c2goJGwobCkpfX1mPWVbMF0rKztiLmc9ZVtmXX1iPVMoZCxiLmcsYSk7YyhkLmcsYil9fTt1LmZkPWZ1bmN0aW9uKGEsYixjKXtTKGEuY29udGV4dCxhLmdbYysxXSxhLkIuZWxlbWVudCl9Owp1LmpkPWZ1bmN0aW9uKGEsYixjKXtiPWEuZ1tjKzFdO2E9YS5jb250ZXh0OygwLGJbMF0pKGEuZyxhLmk/YS5pLmdbYlsxXV06bnVsbCl9O2Z1bmN0aW9uIFhuKGEsYixjKXtHayhhLDAsImpzdGNhY2hlIix3bShTdHJpbmcoYyksYiksITEsITApfXUuRWQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS5CO2M9YS5nW2MrMV07dGhpcy5nIT1udWxsJiZhLmxbMl0mJlhuKGIudGFnLGEuaiwwKTtiLnRhZyYmYyYmQ2soYi50YWcsLTEsbnVsbCxudWxsLG51bGwsbnVsbCxjLCExKX07CmZ1bmN0aW9uIE5uKGEsYixjKXtpZihiKXtpZihjJiYoYz1iLlAsYyE9bnVsbCkpe2Zvcih2YXIgZCBpbiBjKWlmKGQuaW5kZXhPZigiY29udHJvbGxlcjoiKT09MHx8ZC5pbmRleE9mKCJvYnNlcnZlcjoiKT09MCl7dmFyIGU9Y1tkXTtlIT1udWxsJiZlLmRpc3Bvc2UmJmUuZGlzcG9zZSgpfWIuUD1udWxsfWIuQSE9bnVsbCYmTm4oYSxiLkEsITApO2lmKGIuaSE9bnVsbClmb3IoZD0wO2Q8Yi5pLmxlbmd0aDsrK2QpKGM9Yi5pW2RdKSYmTm4oYSxjLCEwKX19CnUuUmI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLkIsZz1hLmdbY109PSIkaWYiO2lmKHRoaXMuZyE9bnVsbClkJiZ0aGlzLmomJihmLmk9ITAsYi5qPSIiKSxjKz0yLGc/ZD9Cbih0aGlzLGEsYyk6YS5sWzJdJiZHbih0aGlzLGEsYyk6ZD9Cbih0aGlzLGEsYyk6R24odGhpcyxhLGMpLGIuZz0hMDtlbHNle3ZhciBoPWYuZWxlbWVudDtnJiZmLnRhZyYmRGsoZi50YWcsNzY4KTtkfHx4bih0aGlzLGYsYSk7aWYoZSlpZihTaihoLCEhZCksZCliLmd8fChCbih0aGlzLGEsYysyKSxiLmc9ITApO2Vsc2UgaWYoYi5nJiZObih0aGlzLmksYSxhLmdbYS5DXSE9IiR0IiksZyl7ZD0hMTtmb3IoZz1jKzI7ZzxhLmcubGVuZ3RoO2crPTIpaWYoZT1hLmdbZ10sZT09IiR1Inx8ZT09IiR1ZSJ8fGU9PSIkdXAiKXtkPSEwO2JyZWFrfWlmKGQpe2Zvcig7ZD1oLmZpcnN0Q2hpbGQ7KWgucmVtb3ZlQ2hpbGQoZCk7ZD1oLl9fY2RuO2ZvcihnPWEuQTtnIT1udWxsOyl7aWYoZD09Zyl7aC5fX2Nkbj0KbnVsbDticmVha31nPWcuQX1iLmc9ITE7YS5JLmxlbmd0aD0oYy1hLkMpLzIrMTthLkY9MDthLkE9bnVsbDthLmk9bnVsbDtiPUFtKGgpO2IubGVuZ3RoPmEuRCYmKGIubGVuZ3RoPWEuRCl9fX19O3UuemQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS5CO2IhPW51bGwmJmIuZWxlbWVudCE9bnVsbCYmUyhhLmNvbnRleHQsYS5nW2MrMV0sYi5lbGVtZW50KX07dS5CZD1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMuZyE9bnVsbD8oQm4odGhpcyxhLGMrMiksYi5nPSEwKTooZCYmeG4odGhpcyxhLkIsYSksIWV8fGR8fGIuZ3x8KEJuKHRoaXMsYSxjKzIpLGIuZz0hMCkpfTsKdS5yZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5CLmVsZW1lbnQsZT1hLmdbYysxXTtjPWVbMF07dmFyIGY9ZVsxXSxnPWIuZztlPWchPW51bGw7ZXx8KGIuZz1nPW5ldyB0aik7eGooZyxhLmNvbnRleHQpO2I9UyhnLGYsZCk7YyE9ImNyZWF0ZSImJmMhPSJsb2FkInx8IWQ/UW4oYSlbImFjdGlvbjoiK2NdPWI6ZXx8KHpuKGQsYSksYi5jYWxsKGQpKX07dS5zZD1mdW5jdGlvbihhLGIsYyl7Yj1hLmNvbnRleHQ7dmFyIGQ9YS5nW2MrMV0sZT1kWzBdO2M9ZFsxXTt2YXIgZj1kWzJdO2Q9ZFszXTt2YXIgZz1hLkIuZWxlbWVudDthPVFuKGEpO2U9ImNvbnRyb2xsZXI6IitlO3ZhciBoPWFbZV07aD09bnVsbD9hW2VdPVMoYixmLGcpOihjKGIuZyxoKSxkJiZTKGIsZCxnKSl9OwpmdW5jdGlvbiBIbihhLGIpe3ZhciBjPWEuZWxlbWVudCxkPWMuX190YWc7aWYoZCE9bnVsbClhLnRhZz1kLGQucmVzZXQoYnx8dm9pZCAwKTtlbHNlIGlmKGE9ZD1hLnRhZz1jLl9fdGFnPW5ldyB4ayhjLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpLGI9Ynx8dm9pZCAwLGQ9Yy5nZXRBdHRyaWJ1dGUoImpzYW4iKSl7RGsoYSw2NCk7ZD1kLnNwbGl0KCIsIik7dmFyIGU9ZC5sZW5ndGg7aWYoZT4wKXthLmc9W107Zm9yKHZhciBmPTA7ZjxlO2YrKyl7dmFyIGc9ZFtmXSxoPWcuaW5kZXhPZigiLiIpO2lmKGg9PS0xKUNrKGEsLTEsbnVsbCxudWxsLG51bGwsbnVsbCxnLCExKTtlbHNle3ZhciBrPXBhcnNlSW50KGcuc3Vic3RyKDAsaCksMTApLGw9Zy5zdWJzdHIoaCsxKSxtPW51bGw7aD0iX2pzYW5fIjtzd2l0Y2goayl7Y2FzZSA3Omc9ImNsYXNzIjttPWw7aD0iIjticmVhaztjYXNlIDU6Zz0ic3R5bGUiO209bDticmVhaztjYXNlIDEzOmw9bC5zcGxpdCgiLiIpO2c9bFswXTttPWxbMV07CmJyZWFrO2Nhc2UgMDpnPWw7aD1jLmdldEF0dHJpYnV0ZShsKTticmVhaztkZWZhdWx0Omc9bH1DayhhLGssZyxtLG51bGwsbnVsbCxoLCExKX19fWEuST0hMTthLnJlc2V0KGIpfX1mdW5jdGlvbiBFbihhLGIpe3ZhciBjPWIubCxkPWIuQi50YWc9bmV3IHhrKGNbMF0pO0RrKGQsY1sxXSk7Yi5jb250ZXh0LmcuUj09PSExJiZEayhkLDEwMjQpO2EuQSYmKGEuQVtkLmlkKCldPWIpO2IuTD0hMDtyZXR1cm4gZH0KdS5ZYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5nW2MrMV07Yj1hLkIudGFnO3ZhciBlPWEuY29udGV4dCxmPWEuQi5lbGVtZW50O2lmKCFmfHxmLl9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiKXt2YXIgZz1kWzBdLGg9ZFsxXSxrPWRbM10sbD1kWzRdO2E9ZFs1XTtjPSEhZFs3XTtpZighY3x8dGhpcy5nIT1udWxsKWlmKCFkWzhdfHwhdGhpcy5qKXt2YXIgbT0hMDtrIT1udWxsJiYobT10aGlzLmomJmEhPSJub25jZSI/ITA6ISFTKGUsayxmKSk7ZT1tP2w9PW51bGw/dm9pZCAwOnR5cGVvZiBsPT0ic3RyaW5nIj9sOnRoaXMuaj9MbihlLGwsZiwiIik6UyhlLGwsZik6bnVsbDt2YXIgbjtrIT1udWxsfHxlIT09ITAmJmUhPT0hMT9lPT09bnVsbD9uPW51bGw6ZT09PXZvaWQgMD9uPWE6bj1TdHJpbmcoZSk6bj0obT1lKT9hOm51bGw7ZT1uIT09bnVsbHx8dGhpcy5nPT1udWxsO3N3aXRjaChnKXtjYXNlIDY6RGsoYiwyNTYpO2UmJkdrKGIsZywiY2xhc3MiLG4sITEsYyk7CmJyZWFrO2Nhc2UgNzplJiZIayhiLGcsImNsYXNzIixhLG0/IiI6bnVsbCxjKTticmVhaztjYXNlIDQ6ZSYmR2soYixnLCJzdHlsZSIsbiwhMSxjKTticmVhaztjYXNlIDU6aWYobSl7aWYobClpZihoJiZuIT09bnVsbCl7ZD1uO249NTtzd2l0Y2goaCl7Y2FzZSA1Omg9UGkoZCk7YnJlYWs7Y2FzZSA2Omg9V2kudGVzdChkKT9kOiJ6anNsYXlvdXR6aW52YWxpZCI7YnJlYWs7Y2FzZSA3Omg9VGkoZCk7YnJlYWs7ZGVmYXVsdDpuPTYsaD0ic2FuaXRpemF0aW9uX2Vycm9yXyIraH1IayhiLG4sInN0eWxlIixhLGgsYyl9ZWxzZSBlJiZIayhiLGcsInN0eWxlIixhLG4sYyl9ZWxzZSBlJiZIayhiLGcsInN0eWxlIixhLG51bGwsYyk7YnJlYWs7Y2FzZSA4OmgmJm4hPT1udWxsP0lrKGIsaCxhLG4sYyk6ZSYmR2soYixnLGEsbiwhMSxjKTticmVhaztjYXNlIDEzOmg9ZFs2XTtlJiZIayhiLGcsYSxoLG4sYyk7YnJlYWs7Y2FzZSAxNDpjYXNlIDExOmNhc2UgMTI6Y2FzZSAxMDpjYXNlIDk6ZSYmCkhrKGIsZyxhLCIiLG4sYyk7YnJlYWs7ZGVmYXVsdDphPT0ianNhY3Rpb24iPyhlJiZHayhiLGcsYSxuLCExLGMpLGYmJiJfX2pzYWN0aW9uImluIGYmJmRlbGV0ZSBmLl9fanNhY3Rpb24pOmEmJmRbNl09PW51bGwmJihoJiZuIT09bnVsbD9JayhiLGgsYSxuLGMpOmUmJkdrKGIsZyxhLG4sITEsYykpfX19fTtmdW5jdGlvbiBZbihhLGIpe2Zvcih2YXIgYz1iLmcsZD0wO2MmJmQ8Yy5sZW5ndGg7ZCs9MilpZihjW2RdPT0iJHRnIil7UyhiLmNvbnRleHQsY1tkKzFdLG51bGwpPT09ITEmJktrKGEsITEpO2JyZWFrfX0KZnVuY3Rpb24geG4oYSxiLGMpe3ZhciBkPWIudGFnO2lmKGQhPW51bGwpe3ZhciBlPWIuZWxlbWVudDtlPT1udWxsPyhZbihkLGMpLGMubCYmKGU9Yy5sLmhiLGUhPS0xJiZjLmxbMl0mJmMubFszXVswXSE9IiR0IiYmWG4oZCxjLmosZSkpLGMuQi5pJiZIayhkLDUsInN0eWxlIiwiZGlzcGxheSIsIm5vbmUiLCEwKSxlPWQuaWQoKSxjPShjLmxbMV0mMTYpIT0wLGEubD8oYS5nKz1OayhkLGMsITApLGEubFtlXT1iKTphLmcrPU5rKGQsYywhMSkpOmUuX19uYXJyb3dfc3RyYXRlZ3khPSJOQVJST1dfUEFUSCImJihjLkIuaSYmSGsoZCw1LCJzdHlsZSIsImRpc3BsYXkiLCJub25lIiwhMCksZC5hcHBseShlKSl9fWZ1bmN0aW9uIEZuKGEsYixjKXt2YXIgZD1iLmVsZW1lbnQ7Yj1iLnRhZztiIT1udWxsJiZhLmchPW51bGwmJmQ9PW51bGwmJihjPWMubCwoY1sxXSYxNik9PTAmJihjWzFdJjgpPT0wJiYoYS5nKz1FayhiKSkpfQp1LmNkPWZ1bmN0aW9uKGEsYixjKXtpZighVG4odGhpcyxhLGIpKXt2YXIgZD1hLmdbYysxXTtiPWEuY29udGV4dDtjPWEuQi50YWc7dmFyIGU9ZFsxXSxmPSEhYi5nLk47ZD1TKGIsZFswXSxhLkIuZWxlbWVudCk7YT1qbChkLGUsZik7ZT1rbChkLGUsZik7aWYoZiE9YXx8ZiE9ZSljLkM9ITAsR2soYywwLCJkaXIiLGE/InJ0bCI6Imx0ciIpO2IuZy5OPWF9fTt1LmRkPWZ1bmN0aW9uKGEsYixjKXtpZighVG4odGhpcyxhLGIpKXt2YXIgZD1hLmdbYysxXTtiPWEuY29udGV4dDtjPWEuQi5lbGVtZW50O2lmKCFjfHxjLl9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiKXthPWEuQi50YWc7dmFyIGU9ZFswXSxmPWRbMV0sZz1kWzJdO2Q9ISFiLmcuTjtmPWY/UyhiLGYsYyk6bnVsbDtjPVMoYixlLGMpPT0icnRsIjtlPWYhPW51bGw/a2woZixnLGQpOmQ7aWYoZCE9Y3x8ZCE9ZSlhLkM9ITAsR2soYSwwLCJkaXIiLGM/InJ0bCI6Imx0ciIpO2IuZy5OPWN9fX07CnUuYmQ9ZnVuY3Rpb24oYSxiKXtUbih0aGlzLGEsYil8fChiPWEuY29udGV4dCxhPWEuQi5lbGVtZW50LGEmJmEuX19uYXJyb3dfc3RyYXRlZ3k9PSJOQVJST1dfUEFUSCJ8fChiLmcuTj0hIWIuZy5OKSl9Owp1LlpjPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS5nW2MrMV0sZz1mWzBdLGg9YS5jb250ZXh0O2Q9U3RyaW5nKGQpO2M9YS5CO3ZhciBrPSExLGw9ITE7Zi5sZW5ndGg+MyYmYy50YWchPW51bGwmJiFUbih0aGlzLGEsYikmJihsPWZbM10sZj0hIVMoaCxmWzRdLG51bGwpLGs9Zz09N3x8Zz09Mnx8Zz09MSxsPWwhPW51bGw/UyhoLGwsbnVsbCk6amwoZCxrLGYpLGs9bCE9Znx8ZiE9a2woZCxrLGYpKSYmKGMuZWxlbWVudD09bnVsbCYmWW4oYy50YWcsYSksdGhpcy5nPT1udWxsfHxjLnRhZy5DIT09ITEpJiYoR2soYy50YWcsMCwiZGlyIixsPyJydGwiOiJsdHIiKSxrPSExKTt4bih0aGlzLGMsYSk7aWYoZSl7aWYodGhpcy5nIT1udWxsKXtpZighVG4odGhpcyxhLGIpKXtiPW51bGw7ayYmKGguZy5SIT09ITE/KHRoaXMuZys9JzxzcGFuIGRpcj0iJysobD8icnRsIjoibHRyIikrJyI+JyxiPSI8L3NwYW4+Iik6KHRoaXMuZys9bD8iXHUyMDJiIjoiXHUyMDJhIixiPSJcdTIwMmMiKwoobD8iXHUyMDBlIjoiXHUyMDBmIikpKTtzd2l0Y2goZyl7Y2FzZSA3OmNhc2UgMjp0aGlzLmcrPWQ7YnJlYWs7Y2FzZSAxOnRoaXMuZys9cmsoZCk7YnJlYWs7ZGVmYXVsdDp0aGlzLmcrPWprKGQpfWIhPW51bGwmJih0aGlzLmcrPWIpfX1lbHNle2I9Yy5lbGVtZW50O3N3aXRjaChnKXtjYXNlIDc6Y2FzZSAyOldqKGIsZCk7YnJlYWs7Y2FzZSAxOmc9cmsoZCk7V2ooYixnKTticmVhaztkZWZhdWx0Omc9ITE7ZT0iIjtmb3IoaD1iLmZpcnN0Q2hpbGQ7aDtoPWgubmV4dFNpYmxpbmcpe2lmKGgubm9kZVR5cGUhPTMpe2c9ITA7YnJlYWt9ZSs9aC5ub2RlVmFsdWV9aWYoaD1iLmZpcnN0Q2hpbGQpe2lmKGd8fGUhPWQpZm9yKDtoLm5leHRTaWJsaW5nOylFaihoLm5leHRTaWJsaW5nKTtoLm5vZGVUeXBlIT0zJiZFaihoKX1iLmZpcnN0Q2hpbGQ/ZSE9ZCYmKGIuZmlyc3RDaGlsZC5ub2RlVmFsdWU9ZCk6Yi5hcHBlbmRDaGlsZChiLm93bmVyRG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZCkpfWIubm9kZU5hbWUhPQoiVEVYVEFSRUEiJiZiLm5vZGVOYW1lIT0idGV4dGFyZWEifHxiLnZhbHVlPT09ZHx8KGIudmFsdWU9ZCl9Rm4odGhpcyxjLGEpfX07ZnVuY3Rpb24gQ24oYSxiLGMpe3RtKGEuQyxiLGMpO3JldHVybiBiLl9fanN0Y2FjaGV9ZnVuY3Rpb24gYW8oYSl7dGhpcy5tZXRob2Q9YTt0aGlzLmk9dGhpcy5nPTB9dmFyIFU9e30sYm89ITE7CmZ1bmN0aW9uIGNvKCl7aWYoIWJvKXtibz0hMDt2YXIgYT1wbi5wcm90b3R5cGUsYj1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IGFvKGMpfTtVLiRhPWIoYS5ZYyk7VS4kYz1iKGEuWmMpO1UuJGRoPWIoYS5iZCk7VS4kZGM9YihhLmNkKTtVLiRkZD1iKGEuZGQpO1UuZGlzcGxheT1iKGEuUmIpO1UuJGU9YihhLmZkKTtVWyJmb3IiXT1iKGEuZ2QpO1UuJGZrPWIoYS5oZCk7VS4kZz1iKGEuamQpO1UuJGlhPWIoYS5yZCk7VS4kaWM9YihhLnNkKTtVLiRpZj1iKGEuUmIpO1UuJG89YihhLnhkKTtVLiRyPWIoYS56ZCk7VS4kc2s9YihhLkJkKTtVLiRzPWIoYS5JKTtVLiR0PWIoYS5FZCk7VS4kdT1iKGEuRmQpO1UuJHVhPWIoYS5HZCk7VS4kdWFlPWIoYS5IZCk7VS4kdWU9YihhLklkKTtVLiR1cD1iKGEuSmQpO1VbInZhciJdPWIoYS5LZCk7VS4kdnM9YihhLkxkKTtVLiRjLmc9MTtVLmRpc3BsYXkuZz0xO1UuJGlmLmc9MTtVLiRzay5nPTE7VVsiZm9yIl0uZz00O1VbImZvciJdLmk9MjtVLiRmay5nPQo0O1UuJGZrLmk9MjtVLiRzLmc9NDtVLiRzLmk9MztVLiR1Lmc9MztVLiR1ZS5nPTM7VS4kdXAuZz0zO1hpLnJ1bnRpbWU9d2o7WGkuYW5kPW1sO1hpLmJpZGlDc3NGbGlwPW5sO1hpLmJpZGlEaXI9b2w7WGkuYmlkaUV4aXREaXI9cGw7WGkuYmlkaUxvY2FsZURpcj1xbDtYaS51cmw9Rmw7WGkudXJsVG9TdHJpbmc9SGw7WGkudXJsUGFyYW09R2w7WGkuaGFzVXJsUGFyYW09eWw7WGkuYmluZD1ybDtYaS5kZWJ1Zz1zbDtYaS5nZT12bDtYaS5ndD13bDtYaS5sZT16bDtYaS5sdD1BbDtYaS5oYXM9eGw7WGkuc2l6ZT1DbDtYaS5yYW5nZT1CbDtYaS5zdHJpbmc9RGw7WGlbImludCJdPUVsfX0KZnVuY3Rpb24gd24oYSl7dmFyIGI9YS5CLmVsZW1lbnQ7aWYoIWJ8fCFiLnBhcmVudE5vZGV8fGIucGFyZW50Tm9kZS5fX25hcnJvd19zdHJhdGVneSE9Ik5BUlJPV19QQVRIInx8Yi5fX25hcnJvd19zdHJhdGVneSlyZXR1cm4hMDtmb3IoYj0wO2I8YS5nLmxlbmd0aDtiKz0yKXt2YXIgYz1hLmdbYl07aWYoYz09ImZvciJ8fGM9PSIkZmsiJiZiPj1hLkMpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIGVvKGEsYil7dGhpcy5pPWE7dGhpcy5qPW5ldyB0ajt0aGlzLmouaT10aGlzLmkuaTt0aGlzLmc9bnVsbDt0aGlzLmw9Yn1mdW5jdGlvbiBmbyhhLGIsYyl7YS5qLmdbSm0oYS5pLGEubCkuZ2FbYl1dPWN9CmVvLnByb3RvdHlwZS5iYT1mdW5jdGlvbihhLGIsYyl7aWYodGhpcy5nKXt2YXIgZD1KbSh0aGlzLmksdGhpcy5sKTt0aGlzLmcmJnRoaXMuZy5oYXNBdHRyaWJ1dGUoImRhdGEtZG9tZGlmZiIpJiYoZC5kYz0xKTt2YXIgZT10aGlzLmo7ZD10aGlzLmc7dmFyIGY9dGhpcy5pLGc9dGhpcy5sO2NvKCk7aWYoKGImMik9PTApZm9yKHZhciBoPWYuaixrPWgubGVuZ3RoLTE7az49MDstLWspe3ZhciBsPWhba107dG4oZCxnLGwuZy5CLmVsZW1lbnQsbC5nLmopJiZoLnNwbGljZShrLDEpfWg9InJ0bCI9PUpqKGQpO2UuZy5OPWg7ZS5nLlI9ITA7bD1udWxsOyhrPWQuX19jZG4pJiZrLmchPUxtJiZnIT0ibm9fa2V5IiYmKGg9UW0oayxnLG51bGwpKSYmKGs9aCxsPSJyZWJpbmQiLGg9bmV3IHBuKGYsYixjKSx4aihrLmNvbnRleHQsZSksay5CLnRhZyYmIWsuTCYmZD09ay5CLmVsZW1lbnQmJmsuQi50YWcucmVzZXQoZyksdW4oaCxrKSk7aWYobD09bnVsbCl7Zi5kb2N1bWVudCgpO2g9bmV3IHBuKGYsCmIsYyk7Yj1DbihoLGQsbnVsbCk7Zj1iWzBdPT0iJHQiPzE6MDtjPTA7aWYoZyE9Im5vX2tleSImJmchPWQuZ2V0QXR0cmlidXRlKCJpZCIpKXt2YXIgbT0hMTtrPWIubGVuZ3RoLTI7aWYoYlswXT09IiR0IiYmYlsxXT09ZyljPTAsbT0hMDtlbHNlIGlmKGJba109PSIkdSImJmJbaysxXT09ZyljPWssbT0hMDtlbHNlIGZvcihrPUFtKGQpLGw9MDtsPGsubGVuZ3RoOysrbClpZihrW2xdPT1nKXtiPXVtKGcpO2Y9bCsxO2M9MDttPSEwO2JyZWFrfX1rPW5ldyB0ajt4aihrLGUpO2s9bmV3IE9tKGIsbnVsbCxuZXcgTW0oZCksayxnKTtrLkM9YztrLkQ9ZjtrLkIuZz1BbShkKTtlPSExO20mJmJbY109PSIkdCImJihIbihrLkIsZyksZT1ybihoLmksSm0oaC5pLGcpLGQpKTtlP1VuKGgsbnVsbCxrKTp2bihoLGspfX1hJiZhKCk7cmV0dXJuIHRoaXMuZ307CmVvLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmc7aWYoYSE9bnVsbCl7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGI9PW51bGx8fCFiLl9fY2RuKXtiPXRoaXMuaTtpZihhKXt2YXIgYz1hLl9fY2RuO2MmJihjPVFtKGMsdGhpcy5sKSkmJk5uKGIsYywhMCl9YS5wYXJlbnROb2RlIT1udWxsJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7dGhpcy5nPW51bGw7dGhpcy5qPW5ldyB0ajt0aGlzLmouaT10aGlzLmkuaX19fTtmdW5jdGlvbiBnbyhhLGIpe2VvLmNhbGwodGhpcyxhLGIpfVlhKGdvLGVvKTtnby5wcm90b3R5cGUuaW5zdGFudGlhdGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5pO3ZhciBjPXRoaXMubDtpZihiLmRvY3VtZW50KCkpe3ZhciBkPWIuZ1tjXTtpZihkJiZkLmVsZW1lbnRzKXt2YXIgZT1kLmVsZW1lbnRzWzBdO2I9Yi5kb2N1bWVudCgpLmNyZWF0ZUVsZW1lbnQoZSk7ZC5kYyE9MSYmYi5zZXRBdHRyaWJ1dGUoImpzbCIsIiR1ICIrYysiOyIpO2M9Yn1lbHNlIGM9bnVsbH1lbHNlIGM9bnVsbDsodGhpcy5nPWMpJiYodGhpcy5nLl9fYXR0YWNoZWRfdGVtcGxhdGU9dGhpcyk7Yz10aGlzLmc7YSYmYyYmYS5hcHBlbmRDaGlsZChjKTthPXRoaXMuajtjPSJydGwiPT1Kaih0aGlzLmcpO2EuZy5OPWM7cmV0dXJuIHRoaXMuZ307ZnVuY3Rpb24gaG8oYSxiKXtlby5jYWxsKHRoaXMsYSxiKX1ZYShobyxnbyk7ZnVuY3Rpb24gaW8oYSxiKXtiJiZqbyhiLGZ1bmN0aW9uKGMpe2FbY109YltjXX0pfWZ1bmN0aW9uIGtvKGEsYixjKXtiIT1udWxsJiYoYT1NYXRoLm1heChhLGIpKTtjIT1udWxsJiYoYT1NYXRoLm1pbihhLGMpKTtyZXR1cm4gYX1mdW5jdGlvbiBsbyhhKXtyZXR1cm4gYT09PSEhYX1mdW5jdGlvbiBqbyhhLGIpe2lmKGEpZm9yKHZhciBjIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShjKSYmYihjLGFbY10pfWZ1bmN0aW9uIG1vKGEsYil7aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYikpcmV0dXJuIGFbYl19ZnVuY3Rpb24gbm8oKXt2YXIgYT1LYS5hcHBseSgwLGFyZ3VtZW50cyk7Qy5jb25zb2xlJiZDLmNvbnNvbGUuZXJyb3ImJkMuY29uc29sZS5lcnJvci5hcHBseShDLmNvbnNvbGUsdGEoYSkpfTtmdW5jdGlvbiBvbyhhKXt2YXIgYj1FcnJvci5jYWxsKHRoaXMpO3RoaXMubWVzc2FnZT1iLm1lc3NhZ2U7InN0YWNrImluIGImJih0aGlzLnN0YWNrPWIuc3RhY2spO3RoaXMubWVzc2FnZT1hO3RoaXMubmFtZT0iSW52YWxpZFZhbHVlRXJyb3IifXoob28sRXJyb3IpO2Z1bmN0aW9uIHBvKGEsYil7dmFyIGM9IiI7aWYoYiE9bnVsbCl7aWYoIShiIGluc3RhbmNlb2Ygb28pKXJldHVybiBiIGluc3RhbmNlb2YgRXJyb3I/YjpFcnJvcihTdHJpbmcoYikpO2M9IjogIitiLm1lc3NhZ2V9cmV0dXJuIG5ldyBvbyhhK2MpfTt2YXIgcW89ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/IiI6YjtyZXR1cm4gZnVuY3Rpb24oYyl7aWYoYShjKSlyZXR1cm4gYzt0aHJvdyBwbyhifHwiIitjKTt9fShmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIn0sIm5vdCBhIG51bWJlciIpO3ZhciBybz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yz9jKyI6ICI6IiI7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKCFlfHx0eXBlb2YgZSE9PSJvYmplY3QiKXRocm93IHBvKGQrIm5vdCBhbiBPYmplY3QiKTt2YXIgZj17fSxnO2ZvcihnIGluIGUpe2lmKCEoYnx8ZyBpbiBhKSl0aHJvdyBwbyhkKyJ1bmtub3duIHByb3BlcnR5ICIrZyk7ZltnXT1lW2ddfWZvcih2YXIgaCBpbiBhKXRyeXt2YXIgaz1hW2hdKGZbaF0pO2lmKGshPT12b2lkIDB8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGgpKWZbaF09a31jYXRjaChsKXt0aHJvdyBwbyhkKyJpbiBwcm9wZXJ0eSAiK2gsbCk7fXJldHVybiBmfX0oe2xhdDpxbyxsbmc6cW99LCEwKTtmdW5jdGlvbiBzbyhhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7dmFyIGQ7YSBpbnN0YW5jZW9mIHNvP2Q9YS50b0pTT04oKTpkPWE7dmFyIGU9TmFOLGY9TmFOO2lmKCFkfHxkLmxhdD09PXZvaWQgMCYmZC5sbmc9PT12b2lkIDApZT1kLGY9YjtlbHNle2FyZ3VtZW50cy5sZW5ndGg+Mj9jb25zb2xlLndhcm4oIkV4cGVjdGVkIDEgb3IgMiBhcmd1bWVudHMgaW4gbmV3IExhdExuZygpIHdoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgTGF0TG5nIGluc3RhbmNlIG9yIExhdExuZ0xpdGVyYWwgb2JqZWN0LCBidXQgZ290IG1vcmUgdGhhbiAyLiIpOmxvKGFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXT09bnVsbHx8Y29uc29sZS53YXJuKCJFeHBlY3RlZCB0aGUgc2Vjb25kIGFyZ3VtZW50IGluIG5ldyBMYXRMbmcoKSB0byBiZSBib29sZWFuLCBudWxsLCBvciB1bmRlZmluZWQgd2hlbiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYSBMYXRMbmcgaW5zdGFuY2Ugb3IgTGF0TG5nTGl0ZXJhbCBvYmplY3QuIik7CnRyeXtybyhkKSxjPWN8fCEhYixmPWQubG5nLGU9ZC5sYXR9Y2F0Y2goZyl7aWYoIShnIGluc3RhbmNlb2Ygb28pKXRocm93IGc7bm8oZy5uYW1lKyI6ICIrZy5tZXNzYWdlKX19ZT1OdW1iZXIoZSk7Zj1OdW1iZXIoZik7Y3x8KGU9a28oZSwtOTAsOTApLGYhPTE4MCYmKGY9Zj49LTE4MCYmZjwxODA/ZjooKGYtIC0xODApJTM2MCszNjApJTM2MCstMTgwKSk7dGhpcy5sYXQ9ZnVuY3Rpb24oKXtyZXR1cm4gZX07dGhpcy5sbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZn19c28ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIigiK3RoaXMubGF0KCkrIiwgIit0aGlzLmxuZygpKyIpIn07c28ucHJvdG90eXBlLnRvU3RyaW5nPXNvLnByb3RvdHlwZS50b1N0cmluZztzby5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue2xhdDp0aGlzLmxhdCgpLGxuZzp0aGlzLmxuZygpfX07c28ucHJvdG90eXBlLnRvSlNPTj1zby5wcm90b3R5cGUudG9KU09OOwpzby5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEgaW5zdGFuY2VvZiBzbz9hLmxhdCgpOmEubGF0O2E9YSBpbnN0YW5jZW9mIHNvP2EubG5nKCk6YS5sbmc7aWYodHlwZW9mIGIhPT0ibnVtYmVyInx8dHlwZW9mIGEhPT0ibnVtYmVyIilhPSExO2Vsc2V7dmFyIGM9dGhpcy5sYXQoKTtpZihiPU1hdGguYWJzKGMtYik8PTFFLTkpYj10aGlzLmxuZygpLGI9TWF0aC5hYnMoYi1hKTw9MUUtOTthPWJ9cmV0dXJuIGF9O3NvLnByb3RvdHlwZS5lcXVhbHM9c28ucHJvdG90eXBlLmVxdWFscztzby5wcm90b3R5cGUuZXF1YWxzPXNvLnByb3RvdHlwZS5lcXVhbHM7ZnVuY3Rpb24gdG8oYSxiKXtiPU1hdGgucG93KDEwLGIpO3JldHVybiBNYXRoLnJvdW5kKGEqYikvYn1zby5wcm90b3R5cGUudG9VcmxWYWx1ZT1mdW5jdGlvbihhKXthPWEhPT12b2lkIDA/YTo2O3JldHVybiB0byh0aGlzLmxhdCgpLGEpKyIsIit0byh0aGlzLmxuZygpLGEpfTsKc28ucHJvdG90eXBlLnRvVXJsVmFsdWU9c28ucHJvdG90eXBlLnRvVXJsVmFsdWU7ZnVuY3Rpb24gdW8oYSxiKXt0aGlzLng9YTt0aGlzLnk9Yn11by5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iKCIrdGhpcy54KyIsICIrdGhpcy55KyIpIn07dW8ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLng9PXRoaXMueCYmYS55PT10aGlzLnk6ITF9O3VvLnByb3RvdHlwZS5yb3VuZD1mdW5jdGlvbigpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KX07dW8ucHJvdG90eXBlLmVxdWFscz11by5wcm90b3R5cGUuZXF1YWxzO3VvLnByb3RvdHlwZS50b1N0cmluZz11by5wcm90b3R5cGUudG9TdHJpbmc7dW8ucHJvdG90eXBlLmVxdWFscz11by5wcm90b3R5cGUuZXF1YWxzO2Z1bmN0aW9uIHZvKCl7dGhpcy5hYz1uZXcgdW8oMTI4LDEyOCk7dGhpcy5iYz0yNTYvMzYwO3RoaXMuY2M9MjU2LygyKk1hdGguUEkpfXZvLnByb3RvdHlwZS5mcm9tTGF0TG5nVG9Qb2ludD1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9uZXcgdW8oMCwwKTpiO2E6e3RyeXtpZihhIGluc3RhbmNlb2Ygc28pYnJlYWsgYTt2YXIgYz1ybyhhKTthPW5ldyBzbyhjLmxhdCxjLmxuZyk7YnJlYWsgYX1jYXRjaChkKXt0aHJvdyBwbygibm90IGEgTGF0TG5nIG9yIExhdExuZ0xpdGVyYWwiLGQpO31hPXZvaWQgMH1jPXRoaXMuYWM7Yi54PWMueCthLmxuZygpKnRoaXMuYmM7YT1rbyhNYXRoLnNpbihhLmxhdCgpKk1hdGguUEkvMTgwKSwtKDEtMUUtMTUpLDEtMUUtMTUpO2IueT1jLnkrLjUqTWF0aC5sb2coKDErYSkvKDEtYSkpKi10aGlzLmNjO3JldHVybiBifTsKdm8ucHJvdG90eXBlLmZyb21Qb2ludFRvTGF0TG5nPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5hYztyZXR1cm4gbmV3IHNvKCgyKk1hdGguYXRhbihNYXRoLmV4cCgoYS55LWMueSkvLXRoaXMuY2MpKS1NYXRoLlBJLzIpKjE4MC9NYXRoLlBJLChhLngtYy54KS90aGlzLmJjLGI9PT12b2lkIDA/ITE6Yil9O2Z1bmN0aW9uIHdvKGEpe3RoaXMubGVuZ3RoPWEubGVuZ3RofHxhO2Zvcih2YXIgYj0wO2I8dGhpcy5sZW5ndGg7YisrKXRoaXNbYl09YVtiXXx8MH13by5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj1ifHwwO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGgmJmIrYzx0aGlzLmxlbmd0aDtjKyspdGhpc1tiK2NdPWFbY119O3dvLnByb3RvdHlwZS50b1N0cmluZz1BcnJheS5wcm90b3R5cGUuam9pbjt0eXBlb2YgRmxvYXQzMkFycmF5PT0idW5kZWZpbmVkIiYmKHdvLkJZVEVTX1BFUl9FTEVNRU5UPTQsd28ucHJvdG90eXBlLkJZVEVTX1BFUl9FTEVNRU5UPTQsd28ucHJvdG90eXBlLnNldD13by5wcm90b3R5cGUuc2V0LHdvLnByb3RvdHlwZS50b1N0cmluZz13by5wcm90b3R5cGUudG9TdHJpbmcsT2EoIkZsb2F0MzJBcnJheSIsd28pKTtmdW5jdGlvbiB4byhhKXt0aGlzLmxlbmd0aD1hLmxlbmd0aHx8YTtmb3IodmFyIGI9MDtiPHRoaXMubGVuZ3RoO2IrKyl0aGlzW2JdPWFbYl18fDB9eG8ucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe2I9Ynx8MDtmb3IodmFyIGM9MDtjPGEubGVuZ3RoJiZiK2M8dGhpcy5sZW5ndGg7YysrKXRoaXNbYitjXT1hW2NdfTt4by5wcm90b3R5cGUudG9TdHJpbmc9QXJyYXkucHJvdG90eXBlLmpvaW47aWYodHlwZW9mIEZsb2F0NjRBcnJheT09InVuZGVmaW5lZCIpe3RyeXt4by5CWVRFU19QRVJfRUxFTUVOVD04fWNhdGNoKGEpe314by5wcm90b3R5cGUuQllURVNfUEVSX0VMRU1FTlQ9ODt4by5wcm90b3R5cGUuc2V0PXhvLnByb3RvdHlwZS5zZXQ7eG8ucHJvdG90eXBlLnRvU3RyaW5nPXhvLnByb3RvdHlwZS50b1N0cmluZztPYSgiRmxvYXQ2NEFycmF5Iix4byl9O2Z1bmN0aW9uIHlvKCl7bmV3IEZsb2F0NjRBcnJheSgzKX07eW8oKTt5bygpO25ldyBGbG9hdDY0QXJyYXkoNCk7bmV3IEZsb2F0NjRBcnJheSg0KTtuZXcgRmxvYXQ2NEFycmF5KDQpO25ldyBGbG9hdDY0QXJyYXkoMTYpO2Z1bmN0aW9uIHpvKGEsYixjKXthPU1hdGgubG9nKDEvTWF0aC50YW4oTWF0aC5QSS8xODAqYi8yKSooYy8yKSooMipNYXRoLlBJKS8oYSoyNTYpKS9NYXRoLkxOMjtyZXR1cm4gYTwwPzA6YX15bygpO3lvKCk7eW8oKTt5bygpO2Z1bmN0aW9uIEFvKGEsYil7bmV3IEJvKGEsImNvbnRhaW5lcnNpemVfY2hhbmdlZCIsYik7Yi5jYWxsKGEpfWZ1bmN0aW9uIENvKGEsYil7dmFyIGM9S2EuYXBwbHkoMixhcmd1bWVudHMpO2lmKGEpe3ZhciBkPWEuX19lM187ZD1kJiZkW2JdO3ZhciBlO2lmKGU9ISFkKXtiOntmb3IoZiBpbiBkKXt2YXIgZj0hMTticmVhayBifWY9ITB9ZT0hZn1mPWV9ZWxzZSBmPSExO2lmKGYpe2Q9YS5fX2UzX3x8e307aWYoYilmPWRbYl18fHt9O2Vsc2UgZm9yKGY9e30sZD1BKE9iamVjdC52YWx1ZXMoZCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWlvKGYsZS52YWx1ZSk7ZD1BKE9iamVjdC5rZXlzKGYpKTtmb3IoZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpKGU9ZltlLnZhbHVlXSkmJmUuVy5hcHBseShlLmluc3RhbmNlLGMpfX1mdW5jdGlvbiBEbyhhLGIpe2EuX19lM198fChhLl9fZTNfPXt9KTthPWEuX19lM187YVtiXXx8KGFbYl09e30pO3JldHVybiBhW2JdfQpmdW5jdGlvbiBCbyhhLGIsYyl7dGhpcy5pbnN0YW5jZT1hO3RoaXMuZz1iO3RoaXMuVz1jO3RoaXMuaWQ9KytFbztEbyhhLGIpW3RoaXMuaWRdPXRoaXM7Q28odGhpcy5pbnN0YW5jZSwiIit0aGlzLmcrIl9hZGRlZCIpfUJvLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLmluc3RhbmNlJiYoZGVsZXRlIERvKHRoaXMuaW5zdGFuY2UsdGhpcy5nKVt0aGlzLmlkXSxDbyh0aGlzLmluc3RhbmNlLCIiK3RoaXMuZysiX3JlbW92ZWQiKSx0aGlzLlc9dGhpcy5pbnN0YW5jZT1udWxsKX07dmFyIEVvPTA7ZnVuY3Rpb24gVigpe31WLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9Rm8odGhpcyk7YSs9IiI7Yj1tbyhiLGEpO2lmKGIhPT12b2lkIDApe2lmKGIpe2E9Yi5BYTtiPWIuQmE7dmFyIGM9ImdldCIrR28oYSk7cmV0dXJuIGJbY10/YltjXSgpOmIuZ2V0KGEpfXJldHVybiB0aGlzW2FdfX07Vi5wcm90b3R5cGUuZ2V0PVYucHJvdG90eXBlLmdldDtWLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Gbyh0aGlzKTthKz0iIjt2YXIgZD1tbyhjLGEpO2lmKGQpaWYoYT1kLkFhLGQ9ZC5CYSxjPSJzZXQiK0dvKGEpLGRbY10pZFtjXShiKTtlbHNlIGQuc2V0KGEsYik7ZWxzZSB0aGlzW2FdPWIsY1thXT1udWxsLEhvKHRoaXMsYSl9O1YucHJvdG90eXBlLnNldD1WLnByb3RvdHlwZS5zZXQ7Vi5wcm90b3R5cGUubm90aWZ5PWZ1bmN0aW9uKGEpe3ZhciBiPUZvKHRoaXMpO2ErPSIiOyhiPW1vKGIsYSkpP2IuQmEubm90aWZ5KGIuQWEpOkhvKHRoaXMsYSl9OwpWLnByb3RvdHlwZS5ub3RpZnk9Vi5wcm90b3R5cGUubm90aWZ5O1YucHJvdG90eXBlLnNldFZhbHVlcz1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSl7dmFyIGM9YVtiXSxkPSJzZXQiK0dvKGIpO2lmKHRoaXNbZF0pdGhpc1tkXShjKTtlbHNlIHRoaXMuc2V0KGIsYyl9fTtWLnByb3RvdHlwZS5zZXRWYWx1ZXM9Vi5wcm90b3R5cGUuc2V0VmFsdWVzO1YucHJvdG90eXBlLnNldE9wdGlvbnM9Vi5wcm90b3R5cGUuc2V0VmFsdWVzO1YucHJvdG90eXBlLmNoYW5nZWQ9YmEoKTtmdW5jdGlvbiBIbyhhLGIpe3ZhciBjPWIrIl9jaGFuZ2VkIjtpZihhW2NdKWFbY10oKTtlbHNlIGEuY2hhbmdlZChiKTtjPUlvKGEsYik7Zm9yKHZhciBkIGluIGMpe3ZhciBlPWNbZF07SG8oZS5CYSxlLkFhKX1DbyhhLGIudG9Mb3dlckNhc2UoKSsiX2NoYW5nZWQiKX12YXIgSm89e307CmZ1bmN0aW9uIEdvKGEpe3JldHVybiBKb1thXXx8KEpvW2FdPWEuc3Vic3RyaW5nKDAsMSkudG9VcHBlckNhc2UoKSthLnN1YnN0cmluZygxKSl9ZnVuY3Rpb24gRm8oYSl7YS5nbV9hY2Nlc3NvcnNffHwoYS5nbV9hY2Nlc3NvcnNfPXt9KTtyZXR1cm4gYS5nbV9hY2Nlc3NvcnNffWZ1bmN0aW9uIElvKGEsYil7YS5nbV9iaW5kaW5nc198fChhLmdtX2JpbmRpbmdzXz17fSk7YS5nbV9iaW5kaW5nc18uaGFzT3duUHJvcGVydHkoYil8fChhLmdtX2JpbmRpbmdzX1tiXT17fSk7cmV0dXJuIGEuZ21fYmluZGluZ3NfW2JdfVYucHJvdG90eXBlLmJpbmRUbz1mdW5jdGlvbihhLGIsYyxkKXthKz0iIjtjPShjfHxhKSsiIjt0aGlzLnVuYmluZChhKTt2YXIgZT17QmE6dGhpcyxBYTphfSxmPXtCYTpiLEFhOmMsUGI6ZX07Rm8odGhpcylbYV09ZjtJbyhiLGMpWyIiKyhRYShlKT9SYShlKTplKV09ZTtkfHxIbyh0aGlzLGEpfTtWLnByb3RvdHlwZS5iaW5kVG89Vi5wcm90b3R5cGUuYmluZFRvOwpWLnByb3RvdHlwZS51bmJpbmQ9ZnVuY3Rpb24oYSl7dmFyIGI9Rm8odGhpcyksYz1iW2FdO2lmKGMpe2lmKGMuUGIpe3ZhciBkPUlvKGMuQmEsYy5BYSk7Yz1jLlBiO2M9IiIrKFFhKGMpP1JhKGMpOmMpO2RlbGV0ZSBkW2NdfXRoaXNbYV09dGhpcy5nZXQoYSk7YlthXT1udWxsfX07Vi5wcm90b3R5cGUudW5iaW5kPVYucHJvdG90eXBlLnVuYmluZDtWLnByb3RvdHlwZS51bmJpbmRBbGw9ZnVuY3Rpb24oKXt2YXIgYT1XYSh0aGlzLnVuYmluZCx0aGlzKSxiPUZvKHRoaXMpLGM7Zm9yKGMgaW4gYilhKGMpfTtWLnByb3RvdHlwZS51bmJpbmRBbGw9Vi5wcm90b3R5cGUudW5iaW5kQWxsO1YucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBCbyh0aGlzLGEsYil9O1YucHJvdG90eXBlLmFkZExpc3RlbmVyPVYucHJvdG90eXBlLmFkZExpc3RlbmVyO3ZhciBLbz17fSxMbz0oS29bMF09MzE0MTUzLEtvWzFdPTMxNDE1NCxLb1syXT0zMTQxNTUsS29bM109MzE0MTU2LEtvWzRdPTMxNDE1NyxLb1s1XT0zMTQxNTgsS28pO2Z1bmN0aW9uIE1vKGEpe3ZhciBiPXRoaXM7dGhpcy5nPWE7Tm8odGhpcyk7Zm4od2luZG93LCJyZXNpemUiLGZ1bmN0aW9uKCl7Tm8oYil9KX16KE1vLFYpOwpmdW5jdGlvbiBObyhhKXt2YXIgYj16aigpO3ZhciBjPWIud2lkdGg7Yj1iLmhlaWdodDtjPWM+PTUwMCYmYj49NDAwPzU6Yz49NTAwJiZiPj0zMDA/NDpjPj00MDAmJmI+PTMwMD8zOmM+PTMwMCYmYj49MzAwPzI6Yz49MjAwJiZiPj0yMDA/MTowO2EuZ2V0KCJjb250YWluZXJTaXplIikmJmEuZ2V0KCJjb250YWluZXJTaXplIikhPT1jJiZhLmcmJmdvb2dsZS5tYXBzLmxvZ2dlci5jYW5jZWxBdmFpbGFiaWxpdHlFdmVudChhLmcpO2Euc2V0KCJjb250YWluZXJTaXplIixjKTtjPUxvW2NdO2dvb2dsZS5tYXBzLmxvZ2dlciYmYS5nZXQoImNvbnRhaW5lclNpemUiKSE9PXZvaWQgMCYmYyYmZ29vZ2xlLm1hcHMubG9nZ2VyLm1heWJlUmVwb3J0RmVhdHVyZU9uY2Uod2luZG93LGMpO2M9emooKS53aWR0aDtjPU1hdGgucm91bmQoKGMtMjApKi42KTtjPU1hdGgubWluKGMsMjkwKTthLnNldCgiY2FyZFdpZHRoIixjKTtnb29nbGUubWFwcy5ldmVudC50cmlnZ2VyKGEsImNhcmRXaWR0aENoYW5nZWQiKTsKYS5zZXQoInBsYWNlRGVzY1dpZHRoIixjLTUxKX07dmFyIE9vPXtSZDohMSxrYzohMH07T2JqZWN0LmZyZWV6ZShPbyk7ZnVuY3Rpb24gUG8oYSl7dGhpcy52PUkoYSl9eihQbyxQKTtmdW5jdGlvbiBRbyhhLGIpe0dlKGEsMSxiKX07ZnVuY3Rpb24gUm8oYSl7dGhpcy52PUkoYSl9eihSbyxQKTtmdW5jdGlvbiBTbyhhLGIpe0RlKGEsMSxiKX07ZnVuY3Rpb24gVG8oYSl7dGhpcy52PUkoYSl9eihUbyxQKTtmdW5jdGlvbiBVbyhhLGIsYyl7U20uY2FsbCh0aGlzKTt0aGlzLmo9YTt0aGlzLkM9Ynx8MDt0aGlzLmw9Yzt0aGlzLkE9V2EodGhpcy5lZCx0aGlzKX1ZYShVbyxTbSk7dT1Vby5wcm90b3R5cGU7dS5GYT0wO3UudWI9ZnVuY3Rpb24oKXtVby5KYS51Yi5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmo7ZGVsZXRlIHRoaXMubH07dS5zdGFydD1mdW5jdGlvbihhKXt0aGlzLnN0b3AoKTt2YXIgYj10aGlzLkE7YT1hIT09dm9pZCAwP2E6dGhpcy5DO2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIilpZihiJiZ0eXBlb2YgYi5oYW5kbGVFdmVudD09ImZ1bmN0aW9uIiliPVdhKGIuaGFuZGxlRXZlbnQsYik7ZWxzZSB0aHJvdyBFcnJvcigiSW52YWxpZCBsaXN0ZW5lciBhcmd1bWVudCIpO3RoaXMuRmE9TnVtYmVyKGEpPjIxNDc0ODM2NDc/LTE6Qy5zZXRUaW1lb3V0KGIsYXx8MCl9O2Z1bmN0aW9uIFZvKGEpe2EuaXNBY3RpdmUoKXx8YS5zdGFydCh2b2lkIDApfQp1LnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJkMuY2xlYXJUaW1lb3V0KHRoaXMuRmEpO3RoaXMuRmE9MH07dS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkZhIT0wfTt1LmVkPWZ1bmN0aW9uKCl7dGhpcy5GYT0wO3RoaXMuaiYmdGhpcy5qLmNhbGwodGhpcy5sKX07ZnVuY3Rpb24gV28oYSxiLGMsZCl7dmFyIGU9dGhpczt0aGlzLm1hcD1hO3RoaXMuQT1iO3RoaXMubD1jO3RoaXMuaj1udWxsO3RoaXMuZz0hMTtjLmFkZExpc3RlbmVyKCJkaXJlY3Rpb25zQ2FyZC5tb3JlT3B0aW9ucyIsIm1vdXNldXAiLGZ1bmN0aW9uKCl7ZCgxNjE1MjApfSk7dGhpcy5pPW5ldyBVbyhmdW5jdGlvbigpe1hvKGUpfSwwKX16KFdvLFYpO1dvLnByb3RvdHlwZS5jaGFuZ2VkPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5tYXAuZ2V0KCJjYXJkIik7YSE9PXRoaXMubC5kaXYmJmEhPT10aGlzLkEuZGl2fHx0aGlzLmkuc3RhcnQoKX07CmZ1bmN0aW9uIFhvKGEpe2lmKGEuailpZihhLmcpe3ZhciBiPWEuZ2V0KCJjb250YWluZXJTaXplIik7dmFyIGM9bmV3IFRvLGQ9YS5qLGU9YS5nZXQoImVtYmVkVXJsIik7dHlwZW9mIGU9PT0ic3RyaW5nIiYmUW8oTChjLFBvLDMpLGUpO3N3aXRjaChiKXtjYXNlIDU6Y2FzZSA0OmNhc2UgMzpjYXNlIDI6Y2FzZSAxOnZhciBmPWEubDtiPVtkLGNdO2Q9YS5nZXQoImNhcmRXaWR0aCIpO2QtPTIyO1NvKEwoYyxSbywxKSxkKTticmVhaztjYXNlIDA6Zj1hLkE7Yj1bTChjLFBvLDMpXTticmVhaztkZWZhdWx0OnJldHVybn12YXIgZz1hLm1hcDtZbyhmLGIsZnVuY3Rpb24oKXtnLnNldCgiY2FyZCIsZi5kaXYpfSl9ZWxzZSBhLm1hcC5zZXQoImNhcmQiLCIiKX07dmFyIFpvPXsiZ29vZ2xlX2xvZ29fY29sb3Iuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjklMjAyOSUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwc3Ryb2tlJTNEJTIyJTIzZmZmJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS41JTIyJTIwb3BhY2l0eSUzRCUyMi42JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJtMTcuNDcwNiUyMDcuMzM2MTYuNTQxMi0uNTQxMTItLjU1MTktLjUzMDExYy0xLjM2MzYtMS4zMDk3NC0zLjIwMTctMi4zMTk3MS01Ljc1OTEtMi4zMTk3MS00LjYxMzclMjAwLTguNTAyNjIlMjAzLjc1NTE3LTguNTAyNjIlMjA4LjM5NTc4JTIwMCUyMDQuNjQwNyUyMDMuODg4OTIlMjA4LjM5NTglMjA4LjUwMjYyJTIwOC4zOTU4JTIwMi40NzA0JTIwMCUyMDQuMzc2NS0uODE4OCUyMDUuODczMi0yLjM2NzklMjAxLjU2OTUtMS41NzI5JTIwMi4wMjE2LTMuNzM2MyUyMDIuMDIxNi01LjQxMTklMjAwLS41MjMyLS4wNDQtMS4wMjU0LS4xMjk1LTEuNDUyOWwtLjEyMDYtLjYwMjloLTguMzk0N3YzLjU5NDJoNC44MzAxYy0uMTcyNC41OTY2LS40MzIxJTIwMS4wMjg2LS43NDkxJTIwMS4zNDYxLS42Mjg4LjYyMTQtMS41ODIzJTIwMS4zMDk0LTMuMzMxJTIwMS4zMDk0LTIuNjUyNDUlMjAwLTQuNzM1OTgtMi4xMzEyLTQuNzM1OTgtNC44MDk5JTIwMC0yLjY3ODYxJTIwMi4wODM1My00LjgwOTgxJTIwNC43MzU5OC00LjgwOTgxJTIwMS40MzYyJTIwMCUyMDIuNDc1Mi41NjA3JTIwMy4yNTclMjAxLjI5MjI5bC41Mjk4LjQ5NTc0LjUxMy0uNTEzMDN6JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI0Ljg2NTYlMjAyMC43Mjg2YzMuMDg5JTIwMCUyMDUuNjAzNi0yLjQxOTIlMjA1LjYwMzYtNS42NjkyJTIwMC0zLjI2ODEtMi41MTYyLTUuNjY5MjktNS42MDM2LTUuNjY5MjktMy4wODczJTIwMC01LjYwMzUlMjAyLjQwMTE5LTUuNjAzNSUyMDUuNjY5MjklMjAwJTIwMy4yNSUyMDIuNTE0NSUyMDUuNjY5MiUyMDUuNjAzNSUyMDUuNjY5MlptMC03LjkwMDRjMS4wMTQlMjAwJTIwMS45NzY2LjgzNyUyMDEuOTc2NiUyMDIuMjMxMiUyMDAlMjAxLjM4MDUtLjk2NTMlMjAyLjIzMTEtMS45NzY2JTIwMi4yMzExLTEuMDA5OSUyMDAtMS45NzY1LS44NTc0LTEuOTc2NS0yLjIzMTElMjAwLTEuMzg3NC45NjM5LTIuMjMxMiUyMDEuOTc2NS0yLjIzMTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM1Ljc1MTElMjAxNy4yOTA1aC0uMDA0MmMtMS4wMDk5JTIwMC0xLjk3NjYtLjg1NzQtMS45NzY2LTIuMjMxMSUyMDAtMS4zODc0Ljk2NC0yLjIzMTIlMjAxLjk3NjYtMi4yMzEyJTIwMS4wMTM5JTIwMCUyMDEuOTc2NS44MzclMjAxLjk3NjUlMjAyLjIzMTIlMjAwJTIwMS4zODQ1LS45NjglMjAyLjIzNjgtMS45NzIzJTIwMi4yMzExWm0tLjAxMjQlMjAzLjQzODFjMy4wODklMjAwJTIwNS42MDM1LTIuNDE5MiUyMDUuNjAzNS01LjY2OTIlMjAwLTMuMjY4MS0yLjUxNjItNS42NjkyOS01LjYwMzUtNS42NjkyOS0zLjA4NzQlMjAwLTUuNjAzNiUyMDIuNDAxMTktNS42MDM2JTIwNS42NjkyOSUyMDAlMjAzLjI1MDglMjAyLjUyMzYlMjA1LjY2OTIlMjA1LjYwMzYlMjA1LjY2OTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTUxLjk1MyUyMDEwLjQzNTd2LS43NDk5N2gtMy41NTMxdi4xMjI1M2MtLjU1LS4yNjE3OC0xLjIwMjItLjQyNjM5LTEuOTE5MS0uNDI2MzktMi44ODM3JTIwMC01LjQ2NCUyMDIuNTE3OTMtNS40NjQlMjA1LjY5MzkzJTIwMCUyMDIuMTI2OSUyMDEuMTY0JTIwMy45NDc5JTIwMi44MDMzJTIwNC45MTM3bC0uMDY1OC4wMjczLTEuODgwNi43ODAyLS42OTI5LjI4NzQuMjg3Ni42OTI4Yy42MjI4JTIwMS41MDA0JTIwMi4yNzc2JTIwMy4zNjk3JTIwNS4wNTM1JTIwMy4zNjk3JTIwMS40MTA1JTIwMCUyMDIuNzg3LS40MTQ1JTIwMy44MTQtMS40MDkzJTIwMS4wMzMyLTEuMDAwOSUyMDEuNjE3MS0yLjQ5NjUlMjAxLjYxNzEtNC40NjUzem0tNy4yMTk0JTIwOS45ODQ0LS4wMDAyLS4wMDA1Yy41NTUyLjIwMDUlMjAxLjE0NDYuMzA5JTIwMS43NDc0LjMwOS42ODA4JTIwMCUyMDEuMzA1OC0uMTQ2NyUyMDEuODQxLS4zODkxLS4wODc2LjM4OTEtLjI0MTcuNjcxLS40MjUyLjg2ODItLjI4MTIuMzAyMi0uNzIwMi41MDExLTEuMzc0Ny41MDExLS45MTE5MDAwMDAwMDAwMSUyMDAtMS41MjAxLS42NDc2LTEuNzg4My0xLjI4ODdabTEuOTM2MS03LjU5MTljLjk3MjIlMjAwJTIwMS44NzguODQ4MyUyMDEuODc4JTIwMi4yNTU4JTIwMCUyMDEuMzc5Ni0uODk1NiUyMDIuMjE0Ny0xLjg3OCUyMDIuMjE0Ny0xLjA0MjglMjAwLTEuOTkzLS44NzM4LTEuOTkzLTIuMjE0NyUyMDAtMS4zNzU0Ljk1OTUtMi4yNTU4JTIwMS45OTMtMi4yNTU4Wm05LjA2OS03LjYwNzM3di0uNzVoLTMuNjU5OVYyMC40NDEyaDMuNjU5OXolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtNjMuOTEyOCUyMDE2LjA2MTQtLjYxODMtLjQxMjItLjQxNzkuNjE0NWMtLjQ1NjIuNjcwOS0xLjAxMDIlMjAxLjA0MzItMS44MDI1JTIwMS4wNDMyLS40MzA2JTIwMC0uNzU5NS0uMDk4MS0xLjAxOTctLjI2MjItLjA3LS4wNDQxLS4xMzgzLS4wOTUxLS4yMDQ2LS4xNTM2bDUuNjk5OS0yLjM2MjUuNjgyNS0uMjgzTDY1Ljk1OTYlMjAxMy41NTg5bC0uMjE5LS41NTE0Yy0uNDUyOC0xLjIwNzUtMS44ODk5LTMuNjA5MTgtNC45MTI4LTMuNjA5MTgtMi45ODMzJTIwMC01LjMyNDQlMjAyLjM2MzU4LTUuMzI0NCUyMDUuNjY5MjglMjAwJTIwMy4xNDc1JTIwMi4zMjIyJTIwNS42NjkzJTIwNS41NjI1JTIwNS42NjkzJTIwMi42MDQzJTIwMCUyMDQuMTExMS0xLjU5OTElMjA0LjcyODMtMi41MTU2bC40MjEtLjYyNUw2NS41ODgyJTIwMTcuMTc4M3ptLTIuNTY2Ny0zLjIxMDMtMS45MzUzLjgwMTVjLjM3OTUtLjU3NDMlMjAxLjAxMDctLjg1NzIlMjAxLjQ5MDktLjg1NzIuMTY1MyUyMDAlMjAuMzEzNi4wMjA3LjQ0NDQuMDU1N1olMjIvJTNFJTNDL2clM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzQyODVmNCUyMiUyMGQlM0QlMjJNMTEuNzAwOCUyMDE5Ljk4NjhjLTQuMjEzMDQlMjAwLTcuNzUyNjItMy40MzI4LTcuNzUyNjItNy42NDU4JTIwMC00LjIxMjk3JTIwMy41Mzk1OC03LjY0NTc4JTIwNy43NTI2Mi03LjY0NTc4JTIwMi4zMzIzJTIwMCUyMDMuOTkxMi45MTE1OSUyMDUuMjM5NSUyMDIuMTEwNjFsLTEuNDclMjAxLjQ3MDAzYy0uODk1Mi0uODM3NjctMi4xMTA2LTEuNDk0NjctMy43Njk1LTEuNDk0NjctMy4wNzk3MiUyMDAtNS40ODU5OCUyMDIuNDgwMTYtNS40ODU5OCUyMDUuNTU5ODElMjAwJTIwMy4wNzk3JTIwMi40MDYyNiUyMDUuNTU5OSUyMDUuNDg1OTglMjA1LjU1OTklMjAxLjk5NTYlMjAwJTIwMy4xMjg5LS44MDQ4JTIwMy44NTk4LTEuNTI3NS41OTk1LS41OTk2Ljk4NTUtMS40NTM3JTIwMS4xMzMzLTIuNjI4aC00Ljk5MzF2LTIuMDk0Mmg3LjAyOThjLjA3MzkuMzY5NS4xMTUuODIxMi4xMTUlMjAxLjMwNTglMjAwJTIwMS41Njg1LS40MjclMjAzLjUwNjctMS44MDY3JTIwNC44ODY0LTEuMzQ2OSUyMDEuMzk2MS0zLjA1NTElMjAyLjE0MzQtNS4zMzgxJTIwMi4xNDM0JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTk0MjM1JTIyJTIwZCUzRCUyMk0yOS43MTkyJTIwMTUuMDU5NGMwJTIwMi44MzMzLTIuMTc2MyUyMDQuOTE5Mi00Ljg1MzYlMjA0LjkxOTItMi42NzcyJTIwMC00Ljg1MzUtMi4wODU5LTQuODUzNS00LjkxOTIlMjAwLTIuODQ5OCUyMDIuMTc2My00LjkxOTMlMjA0Ljg1MzUtNC45MTkzJTIwMi42NzczJTIwMCUyMDQuODUzNiUyMDIuMDY5NSUyMDQuODUzNiUyMDQuOTE5M20tMi4xMjclMjAwYzAtMS43NzM5LTEuMjY0OC0yLjk4MTItMi43MjY2LTIuOTgxMnMtMi43MjY1JTIwMS4yMTU1LTIuNzI2NSUyMDIuOTgxMmMwJTIwMS43NDkyJTIwMS4yNjQ3JTIwMi45ODExJTIwMi43MjY1JTIwMi45ODExczIuNzI2Ni0xLjIyMzclMjAyLjcyNjYtMi45ODExJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiYjA1JTIyJTIwZCUzRCUyMk00MC41OTIyJTIwMTUuMDU5NGMwJTIwMi44MzMzLTIuMTc2MyUyMDQuOTE5Mi00Ljg1MzUlMjA0LjkxOTItMi42NjkxJTIwMC00Ljg1MzYtMi4wODU5LTQuODUzNi00LjkxOTIlMjAwLTIuODQ5OCUyMDIuMTc2My00LjkxOTMlMjA0Ljg1MzYtNC45MTkzJTIwMi42NzcyJTIwMCUyMDQuODUzNSUyMDIuMDY5NSUyMDQuODUzNSUyMDQuOTE5M20tMi4xMTg4JTIwMGMwLTEuNzczOS0xLjI2NDctMi45ODEyLTIuNzI2NS0yLjk4MTJzLTIuNzI2NiUyMDEuMjE1NS0yLjcyNjYlMjAyLjk4MTJjMCUyMDEuNzQ5MiUyMDEuMjY0OCUyMDIuOTgxMSUyMDIuNzI2NiUyMDIuOTgxMSUyMDEuNDYxOC4wMDgyJTIwMi43MjY1LTEuMjIzNyUyMDIuNzI2NS0yLjk4MTElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM0Mjg1ZjQlMjIlMjBkJTNEJTIyTTUxLjIwMyUyMDEwLjQzNTd2OC44MzY2YzAlMjAzLjYzODItMi4xNDM1JTIwNS4xMjQ2LTQuNjgxMSUyMDUuMTI0Ni0yLjM4OTklMjAwLTMuODE4OC0xLjYwMTQtNC4zNjA5LTIuOTA3MmwxLjg4MDctLjc4MDJjLjMzNjcuODA0OCUyMDEuMTU4JTIwMS43NDkzJTIwMi40ODAyJTIwMS43NDkzJTIwMS42MjYlMjAwJTIwMi42MjgtMS4wMTAxJTIwMi42MjgtMi44OTA4di0uNzA2M2gtLjA3NGMtLjQ4NDUuNTk5NS0xLjQyMDclMjAxLjExNjktMi41OTUxJTIwMS4xMTY5LTIuNDYzNyUyMDAtNC43MTQtMi4xNDM0LTQuNzE0LTQuOTAyOCUyMDAtMi43NzU4JTIwMi4yNTg1LTQuOTQzOSUyMDQuNzE0LTQuOTQzOSUyMDEuMTc0NCUyMDAlMjAyLjExMDYuNTI1NiUyMDIuNTk1MSUyMDEuMTAwNGguMDc0di0uNzk2NnptLTEuOTA1MyUyMDQuNjQ4M2MwLTEuNzMyOC0xLjE1OC0zLjAwNTgtMi42MjgtMy4wMDU4LTEuNDk0NyUyMDAtMi43NDMlMjAxLjI2NDctMi43NDMlMjAzLjAwNTglMjAwJTIwMS43MTY0JTIwMS4yNDgzJTIwMi45NjQ3JTIwMi43NDMlMjAyLjk2NDclMjAxLjQ3JTIwMCUyMDIuNjI4LTEuMjQ4MyUyMDIuNjI4LTIuOTY0NyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzM0YTg1MyUyMiUyMGQlM0QlMjJNNTQuOTg4NyUyMDUuMjIwODNWMTkuNjkxMmgtMi4xNTk5VjUuMjIwODN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTk0MjM1JTIyJTIwZCUzRCUyMm02My40OTY4JTIwMTYuNjg1NCUyMDEuNjc1NCUyMDEuMTE2OWMtLjU0MjEuODA0OS0xLjg0NzglMjAyLjE4NDYtNC4xMDYzJTIwMi4xODQ2LTIuODAwNCUyMDAtNC44MTI1LTIuMTU5OS00LjgxMjUtNC45MTkzJTIwMC0yLjkyMzclMjAyLjAzNjctNC45MTkzJTIwNC41NzQ0LTQuOTE5MyUyMDIuNTU0JTIwMCUyMDMuODAyMyUyMDIuMDI4NSUyMDQuMjEzJTIwMy4xMjlsLjIyMTcuNTU4NC02LjU3ODIlMjAyLjcyNjZjLjUwMS45ODU1JTIwMS4yODk0JTIwMS40OTQ2JTIwMi4zODk4JTIwMS40OTQ2JTIwMS4xMDA1JTIwMCUyMDEuODY0My0uNTUwMiUyMDIuNDIyNy0xLjM3MTVtLTUuMTY1Ni0xLjc3MzklMjA0LjQwMTktMS44MjMxYy0uMjQ2NC0uNjE2LS45NjkxLTEuMDQzLTEuODMxNC0xLjA0My0xLjEwMDUlMjAwLTIuNjI4Ljk2OTEtMi41NzA1JTIwMi44NjYxJTIyLyUzRSUzQy9zdmclM0UiLAoiZ29vZ2xlX2xvZ29fd2hpdGUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjklMjAyOSUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzNDc0NzQ3JTIyJTIwc3Ryb2tlJTNEJTIyJTIzNDc0NzQ3JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS41JTIyJTIwb3BhY2l0eSUzRCUyMi45JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJtMTcuNDcwNiUyMDcuMzM2MTYuNTQxMi0uNTQxMTItLjU1MTktLjUzMDExYy0xLjM2MzYtMS4zMDk3NC0zLjIwMTctMi4zMTk3MS01Ljc1OTEtMi4zMTk3MS00LjYxMzclMjAwLTguNTAyNjIlMjAzLjc1NTE3LTguNTAyNjIlMjA4LjM5NTc4JTIwMCUyMDQuNjQwNyUyMDMuODg4OTIlMjA4LjM5NTglMjA4LjUwMjYyJTIwOC4zOTU4JTIwMi40NzA0JTIwMCUyMDQuMzc2NS0uODE4OCUyMDUuODczMi0yLjM2NzklMjAxLjU2OTUtMS41NzI5JTIwMi4wMjE2LTMuNzM2MyUyMDIuMDIxNi01LjQxMTklMjAwLS41MjMyLS4wNDQtMS4wMjU0LS4xMjk1LTEuNDUyOWwtLjEyMDYtLjYwMjloLTguMzk0N3YzLjU5NDJoNC44MzAxYy0uMTcyNC41OTY2LS40MzIxJTIwMS4wMjg2LS43NDkxJTIwMS4zNDYxLS42Mjg4LjYyMTQtMS41ODIzJTIwMS4zMDk0LTMuMzMxJTIwMS4zMDk0LTIuNjUyNDUlMjAwLTQuNzM1OTgtMi4xMzEyLTQuNzM1OTgtNC44MDk5JTIwMC0yLjY3ODYxJTIwMi4wODM1My00LjgwOTgxJTIwNC43MzU5OC00LjgwOTgxJTIwMS40MzYyJTIwMCUyMDIuNDc1Mi41NjA3JTIwMy4yNTclMjAxLjI5MjI5bC41Mjk4LjQ5NTc0LjUxMy0uNTEzMDN6JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI0Ljg2NTYlMjAyMC43Mjg2YzMuMDg5JTIwMCUyMDUuNjAzNi0yLjQxOTIlMjA1LjYwMzYtNS42NjkyJTIwMC0zLjI2ODEtMi41MTYyLTUuNjY5MzEtNS42MDM2LTUuNjY5MzEtMy4wODczJTIwMC01LjYwMzUlMjAyLjQwMTIxLTUuNjAzNSUyMDUuNjY5MzElMjAwJTIwMy4yNSUyMDIuNTE0NSUyMDUuNjY5MiUyMDUuNjAzNSUyMDUuNjY5MlptMC03LjkwMDRjMS4wMTQlMjAwJTIwMS45NzY2LjgzNyUyMDEuOTc2NiUyMDIuMjMxMiUyMDAlMjAxLjM4MDUtLjk2NTMlMjAyLjIzMTEtMS45NzY2JTIwMi4yMzExLTEuMDA5OSUyMDAtMS45NzY1LS44NTc0LTEuOTc2NS0yLjIzMTElMjAwLTEuMzg3NC45NjM5LTIuMjMxMiUyMDEuOTc2NS0yLjIzMTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM1Ljc1MTElMjAxNy4yOTA1aC0uMDA0MmMtMS4wMDk5JTIwMC0xLjk3NjYtLjg1NzQtMS45NzY2LTIuMjMxMSUyMDAtMS4zODc0Ljk2NC0yLjIzMTIlMjAxLjk3NjYtMi4yMzEyJTIwMS4wMTM5JTIwMCUyMDEuOTc2NS44MzclMjAxLjk3NjUlMjAyLjIzMTIlMjAwJTIwMS4zODQ1LS45NjglMjAyLjIzNjctMS45NzIzJTIwMi4yMzExWm0tLjAxMjQlMjAzLjQzODFjMy4wODklMjAwJTIwNS42MDM1LTIuNDE5MiUyMDUuNjAzNS01LjY2OTIlMjAwLTMuMjY4MS0yLjUxNjItNS42NjkzMS01LjYwMzUtNS42NjkzMS0zLjA4NzQlMjAwLTUuNjAzNiUyMDIuNDAxMjEtNS42MDM2JTIwNS42NjkzMSUyMDAlMjAzLjI1MDglMjAyLjUyMzYlMjA1LjY2OTIlMjA1LjYwMzYlMjA1LjY2OTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTUxLjk1MyUyMDEwLjQzNTd2LS43NDk5N2gtMy41NTMxdi4xMjI1M2MtLjU1LS4yNjE3OC0xLjIwMjItLjQyNjM5LTEuOTE5MS0uNDI2MzktMi44ODM3JTIwMC01LjQ2NCUyMDIuNTE3OTMtNS40NjQlMjA1LjY5MzkzJTIwMCUyMDIuMTI2OSUyMDEuMTY0JTIwMy45NDc5JTIwMi44MDMzJTIwNC45MTM3bC0uMDY1OC4wMjczLTEuODgwNi43ODAyLS42OTI5LjI4NzQuMjg3Ni42OTI4Yy42MjI4JTIwMS41MDA0JTIwMi4yNzc2JTIwMy4zNjk3JTIwNS4wNTM1JTIwMy4zNjk3JTIwMS40MTA1JTIwMCUyMDIuNzg3LS40MTQ1JTIwMy44MTQtMS40MDkzJTIwMS4wMzMyLTEuMDAwOSUyMDEuNjE3MS0yLjQ5NjUlMjAxLjYxNzEtNC40NjUzem0tNy4yMTk0JTIwOS45ODQ0LS4wMDAyLS4wMDA1Yy41NTUyLjIwMDUlMjAxLjE0NDYuMzA5JTIwMS43NDc0LjMwOS42ODA4JTIwMCUyMDEuMzA1OC0uMTQ2NyUyMDEuODQxLS4zODkxLS4wODc2LjM4OTEtLjI0MTcuNjcxLS40MjUyLjg2ODItLjI4MTIuMzAyMi0uNzIwMi41MDExLTEuMzc0Ny41MDExLS45MTE5MDAwMDAwMDAwMSUyMDAtMS41MjAxLS42NDc2LTEuNzg4My0xLjI4ODdabTEuOTM2MS03LjU5MTljLjk3MjIlMjAwJTIwMS44NzguODQ4MyUyMDEuODc4JTIwMi4yNTU4JTIwMCUyMDEuMzc5Ni0uODk1NiUyMDIuMjE0Ny0xLjg3OCUyMDIuMjE0Ny0xLjA0MjglMjAwLTEuOTkzLS44NzM4LTEuOTkzLTIuMjE0NyUyMDAtMS4zNzU0Ljk1OTUtMi4yNTU4JTIwMS45OTMtMi4yNTU4Wm05LjA2OS03LjYwNzM5di0uNzVoLTMuNjU5OVYyMC40NDEyaDMuNjU5OXolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtNjMuOTEyOCUyMDE2LjA2MTQtLjYxODMtLjQxMjItLjQxNzkuNjE0NWMtLjQ1NjIuNjcwOS0xLjAxMDIlMjAxLjA0MzItMS44MDI1JTIwMS4wNDMyLS40MzA2JTIwMC0uNzU5NS0uMDk4MS0xLjAxOTctLjI2MjItLjA3LS4wNDQxLS4xMzgzLS4wOTUxLS4yMDQ2LS4xNTM2bDUuNjk5OS0yLjM2MjUuNjgyNS0uMjgzTDY1Ljk1OTYlMjAxMy41NTg5bC0uMjE5LS41NTE0Yy0uNDUyOC0xLjIwNzUtMS44ODk5LTMuNjA5MTgtNC45MTI4LTMuNjA5MTgtMi45ODMzJTIwMC01LjMyNDQlMjAyLjM2MzU4LTUuMzI0NCUyMDUuNjY5MjglMjAwJTIwMy4xNDc1JTIwMi4zMjIyJTIwNS42NjkzJTIwNS41NjI1JTIwNS42NjkzJTIwMi42MDQzJTIwMCUyMDQuMTExMS0xLjU5OTElMjA0LjcyODMtMi41MTU2bC40MjEtLjYyNUw2NS41ODgyJTIwMTcuMTc4M3ptLTIuNTY2Ny0zLjIxMDMtMS45MzUzLjgwMTVjLjM3OTUtLjU3NDMlMjAxLjAxMDctLjg1NzIlMjAxLjQ5MDktLjg1NzIuMTY1MyUyMDAlMjAuMzEzNi4wMjA3LjQ0NDQuMDU1N1olMjIvJTNFJTNDL2clM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMTEuNzAwOCUyMDE5Ljk4NjhjLTQuMjEzMDQlMjAwLTcuNzUyNjItMy40MzI4LTcuNzUyNjItNy42NDU4JTIwMC00LjIxMjk3JTIwMy41Mzk1OC03LjY0NTc4JTIwNy43NTI2Mi03LjY0NTc4JTIwMi4zMzIzJTIwMCUyMDMuOTkxMi45MTE1OSUyMDUuMjM5NSUyMDIuMTEwNjFsLTEuNDclMjAxLjQ3MDAzYy0uODk1Mi0uODM3NjctMi4xMTA2LTEuNDk0NjctMy43Njk1LTEuNDk0NjctMy4wNzk3MiUyMDAtNS40ODU5OCUyMDIuNDgwMTYtNS40ODU5OCUyMDUuNTU5ODElMjAwJTIwMy4wNzk3JTIwMi40MDYyNiUyMDUuNTU5OSUyMDUuNDg1OTglMjA1LjU1OTklMjAxLjk5NTYlMjAwJTIwMy4xMjg5LS44MDQ4JTIwMy44NTk4LTEuNTI3NS41OTk1LS41OTk2Ljk4NTUtMS40NTM3JTIwMS4xMzMzLTIuNjI4aC00Ljk5MzF2LTIuMDk0Mmg3LjAyOThjLjA3MzkuMzY5NS4xMTUuODIxMi4xMTUlMjAxLjMwNTglMjAwJTIwMS41Njg1LS40MjclMjAzLjUwNjctMS44MDY3JTIwNC44ODY0LTEuMzQ2OSUyMDEuMzk2MS0zLjA1NTElMjAyLjE0MzQtNS4zMzgxJTIwMi4xNDM0bTE4LjAxODQtNC45Mjc0YzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNiUyMDQuOTE5Mi0yLjY3NzIlMjAwLTQuODUzNS0yLjA4NTktNC44NTM1LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNS00LjkxOTMlMjAyLjY3NzMlMjAwJTIwNC44NTM2JTIwMi4wNjk1JTIwNC44NTM2JTIwNC45MTkzbS0yLjEyNyUyMDBjMC0xLjc3MzktMS4yNjQ4LTIuOTgxMi0yLjcyNjYtMi45ODEycy0yLjcyNjUlMjAxLjIxNTUtMi43MjY1JTIwMi45ODEyYzAlMjAxLjc0OTIlMjAxLjI2NDclMjAyLjk4MTElMjAyLjcyNjUlMjAyLjk4MTFzMi43MjY2LTEuMjIzNyUyMDIuNzI2Ni0yLjk4MTFtMTMlMjAwYzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNSUyMDQuOTE5Mi0yLjY2OTElMjAwLTQuODUzNi0yLjA4NTktNC44NTM2LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNi00LjkxOTMlMjAyLjY3NzIlMjAwJTIwNC44NTM1JTIwMi4wNjk1JTIwNC44NTM1JTIwNC45MTkzbS0yLjExODglMjAwYzAtMS43NzM5LTEuMjY0Ny0yLjk4MTItMi43MjY1LTIuOTgxMnMtMi43MjY2JTIwMS4yMTU1LTIuNzI2NiUyMDIuOTgxMmMwJTIwMS43NDkyJTIwMS4yNjQ4JTIwMi45ODExJTIwMi43MjY2JTIwMi45ODExJTIwMS40NjE4LjAwODIlMjAyLjcyNjUtMS4yMjM3JTIwMi43MjY1LTIuOTgxMW0xMi43Mjk2LTQuNjIzN3Y4LjgzNjZjMCUyMDMuNjM4Mi0yLjE0MzUlMjA1LjEyNDYtNC42ODExJTIwNS4xMjQ2LTIuMzg5OSUyMDAtMy44MTg4LTEuNjAxNC00LjM2MDktMi45MDcybDEuODgwNy0uNzgwMmMuMzM2Ny44MDQ4JTIwMS4xNTglMjAxLjc0OTMlMjAyLjQ4MDIlMjAxLjc0OTMlMjAxLjYyNiUyMDAlMjAyLjYyOC0xLjAxMDElMjAyLjYyOC0yLjg5MDh2LS43MDYzaC0uMDc0Yy0uNDg0NS41OTk1LTEuNDIwNyUyMDEuMTE2OS0yLjU5NTElMjAxLjExNjktMi40NjM3JTIwMC00LjcxNC0yLjE0MzQtNC43MTQtNC45MDI4JTIwMC0yLjc3NTglMjAyLjI1ODUtNC45NDM5JTIwNC43MTQtNC45NDM5JTIwMS4xNzQ0JTIwMCUyMDIuMTEwNi41MjU2JTIwMi41OTUxJTIwMS4xMDA0aC4wNzR2LS43OTY2em0tMS45MDUzJTIwNC42NDgzYzAtMS43MzI4LTEuMTU4LTMuMDA1OC0yLjYyOC0zLjAwNTgtMS40OTQ3JTIwMC0yLjc0MyUyMDEuMjY0Ny0yLjc0MyUyMDMuMDA1OCUyMDAlMjAxLjcxNjQlMjAxLjI0ODMlMjAyLjk2NDclMjAyLjc0MyUyMDIuOTY0NyUyMDEuNDclMjAwJTIwMi42MjgtMS4yNDgzJTIwMi42MjgtMi45NjQ3bTUuNjkxLTkuODYzMTlWMTkuNjkxMmgtMi4xNTk5VjUuMjIwODF6bTguNTA4MSUyMDExLjQ2NDU5JTIwMS42NzU0JTIwMS4xMTY5Yy0uNTQyMS44MDQ5LTEuODQ3OCUyMDIuMTg0Ni00LjEwNjMlMjAyLjE4NDYtMi44MDA0JTIwMC00LjgxMjUtMi4xNTk5LTQuODEyNS00LjkxOTMlMjAwLTIuOTIzNyUyMDIuMDM2Ny00LjkxOTMlMjA0LjU3NDQtNC45MTkzJTIwMi41NTQlMjAwJTIwMy44MDIzJTIwMi4wMjg1JTIwNC4yMTMlMjAzLjEyOWwuMjIxNy41NTg0LTYuNTc4MiUyMDIuNzI2NmMuNTAxLjk4NTUlMjAxLjI4OTQlMjAxLjQ5NDYlMjAyLjM4OTglMjAxLjQ5NDYlMjAxLjEwMDUlMjAwJTIwMS44NjQzLS41NTAyJTIwMi40MjI3LTEuMzcxNW0tNS4xNjU2LTEuNzczOSUyMDQuNDAxOS0xLjgyMzFjLS4yNDY0LS42MTYtLjk2OTEtMS4wNDMtMS44MzE0LTEuMDQzLTEuMTAwNSUyMDAtMi42MjguOTY5MS0yLjU3MDUlMjAyLjg2NjElMjIvJTNFJTNDL3N2ZyUzRSJ9O2Z1bmN0aW9uICRvKGEsYil7dmFyIGM9dGhpcztiPWI9PT12b2lkIDA/MDpiO2Euc3R5bGUucGFkZGluZ0JvdHRvbT0iMTJweCI7dGhpcy5nPUFqKCJJTUciKTt0aGlzLmcuc3R5bGUud2lkdGg9IjUycHgiO3RoaXMuZy5zcmM9YXBbYl07dGhpcy5nLmFsdD0iR29vZ2xlIjt0aGlzLmcub25sb2FkPWZ1bmN0aW9uKCl7YS5hcHBlbmRDaGlsZChjLmcpfX12YXIgYnA9e30sYXA9KGJwWzBdPVpvWyJnb29nbGVfbG9nb19jb2xvci5zdmciXSxicFsxXT1ab1siZ29vZ2xlX2xvZ29fd2hpdGUuc3ZnIl0sYnApO2Z1bmN0aW9uIENqKCl7dmFyIGE9QWooImRpdiIpLGI9QWooImRpdiIpO3ZhciBjPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJObyBTdHJlZXQgVmlldyBhdmFpbGFibGUuIik7YS5zdHlsZS5kaXNwbGF5PSJ0YWJsZSI7YS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Euc3R5bGUud2lkdGg9IjEwMCUiO2Euc3R5bGUuaGVpZ2h0PSIxMDAlIjtiLnN0eWxlLmRpc3BsYXk9InRhYmxlLWNlbGwiO2Iuc3R5bGUudmVydGljYWxBbGlnbj0ibWlkZGxlIjtiLnN0eWxlLnRleHRBbGlnbj0iY2VudGVyIjtiLnN0eWxlLmNvbG9yPSJ3aGl0ZSI7Yi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9ImJsYWNrIjtiLnN0eWxlLmZvbnRGYW1pbHk9IlJvYm90byxBcmlhbCxzYW5zLXNlcmlmIjtiLnN0eWxlLmZvbnRTaXplPSIxMXB4IjtiLnN0eWxlLnBhZGRpbmc9IjRweCI7Yi5hcHBlbmRDaGlsZChjKTthLmFwcGVuZENoaWxkKGIpO3JldHVybiBhfTtmdW5jdGlvbiBjcChhKXt0aGlzLnY9SShhKX16KGNwLFApO2Z1bmN0aW9uIGRwKGEpe3JldHVybiBPKGEsMSl9ZnVuY3Rpb24gZXAoYSl7cmV0dXJuIE8oYSwyKX07ZnVuY3Rpb24gZnAoYSl7dGhpcy52PUkoYSl9eihmcCxQKTt2YXIgZ3A9WzAsUWcsLTFdO2Z1bmN0aW9uIGhwKGEsYil7dmFyIGM9d2luZG93LmxvY2F0aW9uLmhyZWYsZD1kb2N1bWVudC5yZWZlcnJlci5tYXRjaCh0ayk7Yz1jLm1hdGNoKHRrKTtpZihkWzNdPT1jWzNdJiZkWzFdPT1jWzFdJiZkWzRdPT1jWzRdJiYoZD13aW5kb3cuZnJhbWVFbGVtZW50KSl7c3dpdGNoKGEpe2Nhc2UgIm1hcCI6ZC5tYXA9YjticmVhaztjYXNlICJzdHJlZXR2aWV3IjpkLnN0cmVldHZpZXc9YjticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJJbnZhbGlkIGZyYW1lIHZhcmlhYmxlOiAiK2EpO31kLmNhbGxiYWNrJiZkLmNhbGxiYWNrKCl9fTtmdW5jdGlvbiBpcChhLGIpe3ZhciBjPWpwKHVlKGEsa3AsMjMsbHApKTthPXtwYW5Db250cm9sOiEwLHpvb206SGUoYyw1KT9PKGMsNSk6MSx6b29tQ29udHJvbDohMCx6b29tQ29udHJvbE9wdGlvbnM6e3Bvc2l0aW9uOmdvb2dsZS5tYXBzLkNvbnRyb2xQb3NpdGlvbi5JTkxJTkVfRU5EX0JMT0NLX0VORH0sZEU6aGcoTShhLG1wLDMzKSl9O2lmKEhlKGMsMyl8fEhlKGMsNCkpYS5wb3Y9e2hlYWRpbmc6TyhjLDMpLHBpdGNoOk8oYyw0KX07Yi5kaXI9IiI7dmFyIGQ9bmV3IGdvb2dsZS5tYXBzLlN0cmVldFZpZXdQYW5vcmFtYShiLGEpLGU9ZG9jdW1lbnQucmVmZXJyZXIuaW5kZXhPZigiLmdvb2dsZS5jb20iKTw9MD9iYSgpOmZ1bmN0aW9uKCl7d2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgic3RyZWV0dmlld3N0YXR1czogIitkLmdldFN0YXR1cygpLCIqIil9O2dvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyT25jZShkLCJzdGF0dXNfY2hhbmdlZCIsZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7aWYoIUhlKGMsCjMpKXt2YXIgaCxrPWQuZ2V0TG9jYXRpb24oKSYmKChoPWQuZ2V0TG9jYXRpb24oKSk9PW51bGw/dm9pZCAwOmgubGF0TG5nKTtoPU8oYyw0KTtpZihrJiZnb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuY29tcHV0ZURpc3RhbmNlQmV0d2VlbihnLGspPjMpaz1nb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuY29tcHV0ZUhlYWRpbmcoayxnKTtlbHNle3ZhciBsPWQuZ2V0UGhvdG9ncmFwaGVyUG92KCk7az1sLmhlYWRpbmc7SGUoYyw0KXx8KGg9bC5waXRjaCl9ZC5zZXRQb3Yoe2hlYWRpbmc6ayxwaXRjaDpofSl9fWUoKTt2YXIgZz1uZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKGRwKE0oYyxjcCwyKSksZXAoTShjLGNwLDIpKSk7ZC5nZXRTdGF0dXMoKSE9PWdvb2dsZS5tYXBzLlN0cmVldFZpZXdTdGF0dXMuT0s/dmQoWWQoYywxKSkhPW51bGw/KGdvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyT25jZShkLCJzdGF0dXNfY2hhbmdlZCIsZnVuY3Rpb24oKXtlKCk7aWYoZC5nZXRTdGF0dXMoKSE9PQpnb29nbGUubWFwcy5TdHJlZXRWaWV3U3RhdHVzLk9LKXt2YXIgaD1DaigpO2IuYXBwZW5kQ2hpbGQoaCk7ZC5zZXRWaXNpYmxlKCExKX1lbHNlIGYoKX0pLGQuc2V0UG9zaXRpb24oZykpOihCaihiKSxkLnNldFZpc2libGUoITEpKTpmKCl9KTt2ZChZZChjLDEpKSE9bnVsbD9kLnNldFBhbm8oQWUoYywxKSk6SyhjLGNwLDIpJiYoSGUoYyw2KXx8eGUoYyw3KSE9bnVsbD8oYT17fSxhLmxvY2F0aW9uPXtsYXQ6ZHAoTShjLGNwLDIpKSxsbmc6ZXAoTShjLGNwLDIpKX0sSGUoYyw2KSYmKGEucmFkaXVzPU8oYyw2KSkseGUoYyw3KSE9bnVsbCYmQmUoYyw3KT09PTEmJihhLnNvdXJjZT1nb29nbGUubWFwcy5TdHJlZXRWaWV3U291cmNlLk9VVERPT1IpLChuZXcgZ29vZ2xlLm1hcHMuU3RyZWV0Vmlld1NlcnZpY2UpLmdldFBhbm9yYW1hKGEsZnVuY3Rpb24oZixnKXtnPT09Ik9LIiYmZiYmZi5sb2NhdGlvbiYmZC5zZXRQYW5vKGYubG9jYXRpb24ucGFubyl9KSk6ZC5zZXRQb3NpdGlvbihuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKGRwKE0oYywKY3AsMikpLGVwKE0oYyxjcCwyKSkpKSk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmNvbnRyb2xzW2dvb2dsZS5tYXBzLkNvbnRyb2xQb3NpdGlvbi5CTE9DS19FTkRfSU5MSU5FX0NFTlRFUl0ucHVzaChhKTtuZXcgJG8oYSwxKTtocCgic3RyZWV0dmlldyIsZCl9O2Z1bmN0aW9uIG5wKGEpe3RoaXMudj1JKGEpfXoobnAsUCk7ZnVuY3Rpb24gb3AoYSl7dGhpcy52PUkoYSl9eihvcCxQKTtmdW5jdGlvbiBwcChhKXt0aGlzLnY9SShhKX16KHBwLFApO2Z1bmN0aW9uIHFwKGEpe3JldHVybiBNKGEsY3AsMyl9O2Z1bmN0aW9uIHJwKGEpe3RoaXMudj1JKGEpfXoocnAsUCk7ZnVuY3Rpb24gc3AoYSl7dGhpcy52PUkoYSl9eihzcCxQKTtzcC5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIEFlKHRoaXMsMSl9O2Z1bmN0aW9uIHRwKGEpe3RoaXMudj1JKGEpfXoodHAsUCk7ZnVuY3Rpb24gdXAoYSl7dGhpcy52PUkoYSl9eih1cCxQKTtmdW5jdGlvbiB2cChhKXt0aGlzLnY9SShhLDUzKX16KHZwLFApO3ZwLnByb3RvdHlwZS5zZXRPcHRpb25zPWZ1bmN0aW9uKGEpe3JldHVybiB2ZSh0aGlzLHRwLDYsYSl9O2Z1bmN0aW9uIHdwKGEpe3JldHVybiBMKGEsdXAsOCl9O2Z1bmN0aW9uIHhwKGEpe3RoaXMudj1JKGEpfXooeHAsUCk7ZnVuY3Rpb24geXAoYSl7dGhpcy52PUkoYSwxNCl9eih5cCxQKTt5cC5wcm90b3R5cGUuZ2V0VHlwZT1mdW5jdGlvbigpe3JldHVybiBCZSh0aGlzLDEpfTtmdW5jdGlvbiB6cChhKXtyZXR1cm4gQWUoYSwyKX07ZnVuY3Rpb24gQXAoYSl7dGhpcy52PUkoYSl9eihBcCxQKTt2YXIgQnA9WzMsMTVdO2Z1bmN0aW9uIENwKGEpe3RoaXMudj1JKGEpfXooQ3AsUCk7ZnVuY3Rpb24gRHAoYSl7cmV0dXJuIE0oYSxFaCwxKX1mdW5jdGlvbiBFcChhKXtyZXR1cm4gTChhLEVoLDEpfTtmdW5jdGlvbiBGcChhKXt0aGlzLnY9SShhKX16KEZwLFApO2Z1bmN0aW9uIEdwKGEpe3RoaXMudj1JKGEpfXooR3AsUCk7ZnVuY3Rpb24gSHAoYSl7cmV0dXJuIGRlKGEseXAsMSl9O2Z1bmN0aW9uIElwKGEpe3RoaXMudj1JKGEpfXooSXAsUCk7ZnVuY3Rpb24gSnAoYSl7cmV0dXJuIE0oYSxwcCwxKX07ZnVuY3Rpb24gS3AoYSl7dGhpcy52PUkoYSl9eihLcCxQKTtmdW5jdGlvbiBMcChhKXt0aGlzLnY9SShhKX16KExwLFApO2Z1bmN0aW9uIE1wKGEpe3JldHVybiBiZShhLElwLDQsTnApfXZhciBOcD1bNCw1LDZdO3ZhciBPcD1bMCwyLFFnLC0xXTt2YXIgUHA9WzAsMix2aCwtMV07ZnVuY3Rpb24ga3AoYSl7dGhpcy52PUkoYSl9eihrcCxQKTtmdW5jdGlvbiBqcChhKXtyZXR1cm4gTShhLGZwLDEpfTtmdW5jdGlvbiBRcChhKXt0aGlzLnY9SShhKX16KFFwLFApO2Z1bmN0aW9uIFJwKGEpe3JldHVybiBBZShhLDEpfTtmdW5jdGlvbiBtcChhKXt0aGlzLnY9SShhKX16KG1wLFApO2Z1bmN0aW9uIFNwKGEpe3JldHVybiBCZShhLDEpfTtmdW5jdGlvbiBUcChhKXt0aGlzLnY9SShhKX16KFRwLFApO3ZhciBscD1bMjIsMjNdO3ZhciBVcD11YShbJzxwcmUgc3R5bGU9IndvcmQtd3JhcDogYnJlYWstd29yZDsgd2hpdGUtc3BhY2U6IHByZS13cmFwIj5UaGUgR29vZ2xlIE1hcHMgRW1iZWQgQVBJIG11c3QgYmUgdXNlZCBpbiBhbiBpZnJhbWUuPC9wcmU+J10pO2Z1bmN0aW9uIFZwKGEsYil7dmFyIGM9TShhLEFoLDEpLGQ9QmgoYyk7aWYoaWQoWWQoYSwyKSk9PW51bGwmJk8oZCwxKTw9MClhPTE7ZWxzZSBpZihpZChZZChhLDIpKSE9bnVsbClhPXplKGEsMik7ZWxzZXthPU1hdGg7dmFyIGU9YS5yb3VuZDtkPU8oZCwxKTtiPWIubGF0KCk7dmFyIGY9TyhjLDQpO2M9TShjLHhoLDMpO2M9emUoYywyKTthPWUuY2FsbChhLHpvKGQvKDYzNzEwMTAqTWF0aC5jb3MoTWF0aC5QSS8xODAqYikpLGYsYykpfXJldHVybiBhfQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWIuZ2V0KCJtYXBVcmwiKTtjIT09dm9pZCAwJiZhLnNldCgiaW5wdXQiLGMpO2dvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyKGIsIm1hcHVybF9jaGFuZ2VkIixmdW5jdGlvbigpe2Euc2V0KCJpbnB1dCIsYi5nZXQoIm1hcFVybCIpKX0pfWZ1bmN0aW9uIFhwKGEpe2lmKCFhKXJldHVybiBudWxsO2E9YS5zcGxpdCgiOiIpO3JldHVybiBhLmxlbmd0aD09PTI/YVsxXTpudWxsfTtmdW5jdGlvbiBZcChhKXt0aGlzLnY9SShhKX16KFlwLFApO1lwLnByb3RvdHlwZS5nZXRUeXBlPWZ1bmN0aW9uKCl7cmV0dXJuIEJlKHRoaXMsMSl9O2Z1bmN0aW9uIFpwKGEpe3RoaXMudj1JKGEpfXooWnAsUCk7ZnVuY3Rpb24gJHAoYSl7cmV0dXJuIEwoYSxZcCwyKX07ZnVuY3Rpb24gYXEoYSl7dGhpcy52PUkoYSl9eihhcSxQKTtmdW5jdGlvbiBicShhKXt0aGlzLnY9SShhKX16KGJxLFApO2Z1bmN0aW9uIGNxKGEpe3RoaXMudj1JKGEpfXooY3EsUCk7ZnVuY3Rpb24gZHEoYSl7dGhpcy52PUkoYSl9eihkcSxQKTtmdW5jdGlvbiBlcShhKXt0aGlzLnY9SShhKX16KGVxLFApO2Z1bmN0aW9uIGZxKGEpe3RoaXMudj1JKGEpfXooZnEsUCk7ZnVuY3Rpb24gZ3EoYSl7dGhpcy52PUkoYSl9eihncSxQKTtmdW5jdGlvbiBocShhKXt0aGlzLnY9SShhKX16KGhxLFApO2hxLnByb3RvdHlwZS5zZXRPcHRpb25zPWZ1bmN0aW9uKGEpe3JldHVybiB2ZSh0aGlzLGVxLDIsYSl9O2hxLnByb3RvdHlwZS5oYXNGb2N1cz1mdW5jdGlvbigpe3JldHVybiB4ZSh0aGlzLDcpIT1udWxsfTtmdW5jdGlvbiBpcShhKXt0aGlzLnY9SShhKX16KGlxLFApO2Z1bmN0aW9uIGpxKGEpe3RoaXMudj1JKGEpfXooanEsUCk7ZnVuY3Rpb24ga3EoYSl7dGhpcy52PUkoYSl9eihrcSxQKTtmdW5jdGlvbiBscShhKXt0aGlzLnY9SShhKX16KGxxLFApO2Z1bmN0aW9uIG1xKGEpe3RoaXMudj1JKGEpfXoobXEsUCk7ZnVuY3Rpb24gbnEoYSl7dGhpcy52PUkoYSl9eihucSxQKTtmdW5jdGlvbiBvcShhKXt0aGlzLnY9SShhKX16KG9xLFApO2Z1bmN0aW9uIHBxKGEpe3RoaXMudj1JKGEpfXoocHEsUCk7ZnVuY3Rpb24gcXEoYSl7dGhpcy52PUkoYSl9eihxcSxQKTtmdW5jdGlvbiBycShhKXt0aGlzLnY9SShhKX16KHJxLFApO2Z1bmN0aW9uIHNxKGEpe3RoaXMudj1JKGEpfXooc3EsUCk7ZnVuY3Rpb24gdHEoYSl7dGhpcy52PUkoYSl9eih0cSxQKTtmdW5jdGlvbiB1cShhKXt0aGlzLnY9SShhKX16KHVxLFApO2Z1bmN0aW9uIHZxKGEpe3RoaXMudj1JKGEpfXoodnEsUCk7ZnVuY3Rpb24gd3EoYSl7cmV0dXJuIEwoYSxocSw0KX07ZnVuY3Rpb24geHEoYSl7dGhpcy52PUkoYSl9eih4cSxQKTt2YXIgeXE9WzAsUSxXZywtMSxbMCxXZ10sJGddO3ZhciB6cT1bMCxnaCxSLGdoLFIseXEsYWgsJGcsLTEsV2csUiwtMSwxLGdoLFswLFJdLGFoLFdnLGJoLFswLFdnXSxbMCxSXSxbMCxSXSxbMCxRLFIsLTEsWzAsV2csLTFdXSxbMCwkZywtMl0sWzAsUiwtMV0sWzAsUixhaF0sYmgsWzAsU2csLTEsUV1dO3ZhciBBcT1bMCxSLFFnLC0xLFNnLFFnLFNnLC00XTt2YXIgQnE9WzAsVmcsJGcsLTEsUSxSXTt2YXIgQ3E9WzAsUSwtMSwkZywtMSx5cSxCcSxSLE9wLFswLCRnXSxSLFswLFZnLFJdLFIsWzAsUSxSXSxbMCxlaF0sUSwtMSxlaCxbMCxRLFJdLFFdO3ZhciBEcT1bMCxRLENxLFswLFFdXTt2YXIgRXE9WzAsWzAsUSwtMV0sRHFdO3ZhciBGcT1bMCxRZywtMl07dmFyIEdxPVswLFFdO3ZhciBIcT1bMCxmdW5jdGlvbigpe3JldHVybiBIcX0sWzAsUSwtMSxbMCxRLC0yLEZxLFJdLCRnLHpxLFIsZWhdLENxLFswLGJoLFswLENxLEZxLGJoLFswLEZxLFNnLFFdLFIsUSwtMV0sWzAsJGcsLTIsUixnaCxSLC0xLFRnLFEsJGcsLTJdLFIsLTEsV2csWzAsV2csLTJdLFIsMSxlaCwtMSxSXSxbMCwkZyxSLC0xLFFdLFswLFEsLTJdLFswLFswLFEsLTFdLFIsWzAsMSxlaF0sWzAsUSwtMl0sWzAsUSwtMSwxLFFdXSxbMCxSLFEsWzAsUl0sUSxbMCxSLEVxLFswLFIsVGddLFswLFEsLTFdXSxbMCxRXSxbMCxSLFswLFswLFEsV2ddXV1dLFswLCRnXSxbMCxSLC0xXSxbMCwxLFEsUixRLC0xXSxbMCxSLFswLGJoLEJxXV0sR3EsWzAsRXFdLFswLEdxLFIsUHBdLFswLGVoLGJoLFswLGVoXSxbMCxbMCxRLGVoXSxSXV0sWzAsUiwtMV0sWzAsUSwtMV0sWzAsZ2gsYmgsWzAsUV1dLFswLDEsUixbMCxRLFdnXV0sWzAsUV0sWzAsUl0sWzAsRHFdLFswLDgsUl0sWzAsUV0sWzAsYmgsWzAsUiwKLTEsVGddLGJoLFswLFIsYmgsWzAsMSxSLFswLFFdLFEsLTJdLFRnXV0sWzAsYmgsWzAsQ3FdXSxbMCxiaCxbMCxSXV0sWzAsJGcsWzAsUl0sUSwtMl1dO3ZhciBJcT1bMCxSLFswLFEsLTFdLFswLFIsQXEsWzAsUSxSLC0xLCRnLFEsLTEsV2csLTEsWzAsJGcsV2csQXEsUl0sWzAsUl1dLCRnLFEsUl0sSHEsWzAsZ2gsLTEsV2ddLFswLFJdLFswLFFdLFEsWzAsUSwtN10sWzAsUiwtMSxbMCxRLC0xLE9wLFFdLFIsWzAsWzAsUSxhaCxRLC0zLFswLFEsLTFdXSxPcF1dLFswLFswLFJdLFswLFVnLFEsYmgsWzAsUV0senEsJGcsLTFdLCRnLC0xLFEsJGcsLTIsV2csWzAsUixRXSwkZyxbMCxRXV0sJGcsUSxbMCxRXSwxLFswLFswLGVoLC0xXV0sWzAsUSwtMixbMCxSXV0sWzAsUixRXV07ZnVuY3Rpb24gSnEoYSl7dmFyIGI9TShhLEdwLDYpO0hwKGIpPjAmJnpwKGZlKGIsMSx5cCwwKSk7QWUoYSwxOCk7TShhLFFwLDgpO2E9TShhLG5wLDkpO0FlKGEsNCl9O2Z1bmN0aW9uIEtxKGEsYil7dGhpcy5pPWE7dGhpcy5qPWI7dGhpcy5nPW51bGw7THEodGhpcyl9CmZ1bmN0aW9uIExxKGEpe3ZhciBiPWEuZyxjPWEuaTthPWEuajtjLmo/KGMuaj1udWxsLFZvKGMuZykpOmMuaS5sZW5ndGgmJihjLmkubGVuZ3RoPTAsVm8oYy5nKSk7Yy5zZXQoImJhc2VQYWludERlc2NyaXB0aW9uIixhKTtpZihiKXthPU1xKGIpO3ZhciBkO2lmKGQ9SyhiLENwLDQpKWQ9TShiLENwLDQpLGQ9SyhkLEVoLDEpO2QmJihkPURwKE0oYixDcCw0KSksZD1LKGQsRGgsMTQpKTtpZihkKXtiPURwKE0oYixDcCw0KSk7Yj1NKGIsRGgsMTQpO2Q9Yi52O3ZhciBlPWRbRF18MDtiPVNkKGIsZCxlKT9UZChiLGQsITApOm5ldyBiLmNvbnN0cnVjdG9yKFJkKGQsZSwhMSkpfWVsc2UgYj1udWxsO2lmKGIpYy5qPWIsVm8oYy5nKTtlbHNle2lmKGI9YSl7YTp7Yj1jLmdldCgiYmFzZVBhaW50RGVzY3JpcHRpb24iKXx8bnVsbDtpZihhJiZiKWZvcihkPU0oYSx4cCw4KSxkPU0oZCxycCwyKSxkPUFlKGQsMSksZD1YcChkKSxlPTA7ZTxIcChiKTtlKyspe3ZhciBmPWZlKGIsMSx5cCxlKTsKZj1NKGYseHAsOCk7Zj1NKGYscnAsMik7Zj1BZShmLDEpO2lmKChmPVhwKGYpKSYmZj09PWQpe2I9ITA7YnJlYWsgYX19Yj0hMX1iPSFifWImJihjLmkucHVzaChhKSxWbyhjLmcpKX19fTtmdW5jdGlvbiBOcShhLGIpe2I9dWUoYixMcCwyMixscCk7YS5zZXRNYXBUeXBlSWQoQmUoYiwzKT09PTE/Z29vZ2xlLm1hcHMuTWFwVHlwZUlkLkhZQlJJRDpnb29nbGUubWFwcy5NYXBUeXBlSWQuUk9BRE1BUCk7aWYoSyhiLGNwLDgpKXt2YXIgYz1NKGIsY3AsOCk7Yz1uZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKGRwKGMpLGVwKGMpKX1lbHNle2M9TShiLEFoLDEpO3ZhciBkPU1wKGIpJiZKcCh1ZShiLElwLDQsTnApKTtpZihkJiZLKGQsY3AsMykmJmlkKFlkKGIsMikpIT1udWxsKXt2YXIgZT1xcChkKSxmPXplKGIsMik7ZD1uZXcgdm87dmFyIGc9QmgoYyk7ZT1kLmZyb21MYXRMbmdUb1BvaW50KG5ldyBzbyhkcChlKSxlcChlKSkpO3ZhciBoPWQuZnJvbUxhdExuZ1RvUG9pbnQobmV3IHNvKE8oZywzKSxPKGcsMikpKSxrPUJoKGMpO2lmKEhlKGssMSkpe2s9TyhnLDEpO2c9TyhnLDMpO3ZhciBsPU8oYyw0KTtjPU0oYyx4aCwzKTtjPXplKGMsMik7Yz1NYXRoLnBvdygyLHpvKGsvKDYzNzEwMTAqCk1hdGguY29zKE1hdGguUEkvMTgwKmcpKSxsLGMpLWYpO2M9ZC5mcm9tUG9pbnRUb0xhdExuZyhuZXcgdW8oKGgueC1lLngpKmMrZS54LChoLnktZS55KSpjK2UueSkpO2M9bmV3IGdvb2dsZS5tYXBzLkxhdExuZyhjLmxhdCgpLGMubG5nKCkpfWVsc2UgYz1uZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKE8oZywzKSxPKGcsMikpfWVsc2UgZD1nb29nbGUubWFwcy5MYXRMbmcsZj1CaChjKSxmPU8oZiwzKSxjPUJoKGMpLGM9TyhjLDIpLGM9bmV3IGQoZixjKX1hLnNldENlbnRlcihjKTthLnNldFpvb20oVnAoYixjKSl9O2Z1bmN0aW9uIE9xKGEpe3ZhciBiPXRoaXM7dGhpcy5tYXA9YTt0aGlzLmk9W107dGhpcy5qPW51bGw7dGhpcy5sPVtdO3RoaXMuZz1uZXcgVW8oZnVuY3Rpb24oKXtQcShiKX0sMCk7dGhpcy5zZXQoImJhc2VQYWludERlc2NyaXB0aW9uIixuZXcgR3ApfXooT3EsVik7CmZ1bmN0aW9uIFFxKGEpe3ZhciBiPW5ldyBHcDtpZyhiLGEuZ2V0KCJiYXNlUGFpbnREZXNjcmlwdGlvbiIpfHxudWxsKTt2YXIgYz1ScShiKTtpZihhLmope3ZhciBkPUVwKEwoYixDcCw0KSk7dmUoZCxEaCwxNCxhLmopO0hwKGIpPT09MCYmKGE9d2UoYiwxLHlwKSxHZShhLDIsInNwb3RsaXQiKSk7YyYmKGM9d3AocmUoYyx2cCwzLEJwKSksSihjLDIsITApKX1lbHNlIGlmKGEuaS5sZW5ndGgpe2Q9TXEoYik7YT1hLmkuc2xpY2UoMCk7ZCYmYS51bnNoaWZ0KGQpO2Q9bmV3IHlwO2lnKGQsYS5wb3AoKSk7U3EoZCxhKTthOntmb3IoYT0wO2E8SHAoYik7KythKWlmKHpwKGZlKGIsMSx5cCxhKSk9PT0ic3BvdGxpZ2h0Iil7aWcoZ2UoYiwxLHlwLGEpLGQpO2JyZWFrIGF9aWcod2UoYiwxLHlwKSxkKX1jJiYoYz13cChyZShjLHZwLDMsQnApKSxKKGMsMiwhMCkpfWM9MDtmb3IoYT1IcChiKTtjPGE7KytjKXtkPWdlKGIsMSx5cCxjKTtmb3IodmFyIGU9ZGUoZCxzcCw0KS0xO2U+PTA7LS1lKWZlKGQsCjQsc3AsZSkuZ2V0S2V5KCk9PT0iZ2lkIiYmd2UoZCw0LHNwLGUsMSwhMCl9cmV0dXJuIGJ9T3EucHJvdG90eXBlLmNoYW5nZWQ9ZnVuY3Rpb24oKXtWbyh0aGlzLmcpfTsKZnVuY3Rpb24gUHEoYSl7dmFyIGI9UXEoYSk7dWIoYS5sLGZ1bmN0aW9uKGgpe2guc2V0TWFwKG51bGwpfSk7YS5sPVtdO2Zvcih2YXIgYz0wO2M8SHAoYik7KytjKXtmb3IodmFyIGQ9ZmUoYiwxLHlwLGMpLGU9W3pwKGQpXSxmPTA7ZjxkZShkLHNwLDQpOysrZil7dmFyIGc9ZmUoZCw0LHNwLGYpO2UucHVzaChnLmdldEtleSgpKyI6IitBZShnLDIpKX1lPXtsYXllcklkOmUuam9pbigifCIpLHJlbmRlck9uQmFzZU1hcDohMH07enAoZCk9PT0iY2F0ZWdvcmljYWwtc2VhcmNoLXJlc3VsdHMtaW5qZWN0aW9uInx8enAoZCk9PT0iY2F0ZWdvcmljYWwtc2VhcmNoInx8enAoZCk9PT0ic3BvdGxpdCI/KGNvbnNvbGUuZGVidWcoIlNlYXJjaCBlbmRwb2ludCByZXF1ZXN0ZWQhIiksZ29vZ2xlLm1hcHMubG9nZ2VyJiZnb29nbGUubWFwcy5sb2dnZXIubWF5YmVSZXBvcnRGZWF0dXJlT25jZSh3aW5kb3csMTk4NTE1KSxlLnNlYXJjaFBpcGVNZXRhZGF0YT1oZyhEcChNKGIsQ3AsNCkpKSk6CksoZCx4cCw4KSYmKGUuc3BvdGxpZ2h0RGVzY3JpcHRpb249aGcoTShkLHhwLDgpKSk7ZD1uZXcgZ29vZ2xlLm1hcHMuc2VhcmNoLkdvb2dsZUxheWVyKGUpO2EubC5wdXNoKGQpO2Quc2V0TWFwKGEubWFwKX1pZihiPVJxKGIpKWNvbnNvbGUuZGVidWcoIkRpcmVjdGlvbnMgZW5kcG9pbnQgcmVxdWVzdGVkISIpLGdvb2dsZS5tYXBzLmxvZ2dlciYmZ29vZ2xlLm1hcHMubG9nZ2VyLm1heWJlUmVwb3J0RmVhdHVyZU9uY2Uod2luZG93LDE5ODUxNiksYz17bGF5ZXJJZDoiZGlyZWN0aW9ucyIscmVuZGVyT25CYXNlTWFwOiEwfSxjLmRpcmVjdGlvbnNQaXBlUGFyYW1ldGVycz1KZChiKSxiPW5ldyBnb29nbGUubWFwcy5zZWFyY2guR29vZ2xlTGF5ZXIoYyksYS5sLnB1c2goYiksYi5zZXRNYXAoYS5tYXApfQpmdW5jdGlvbiBNcShhKXtmb3IodmFyIGI9MDtiPEhwKGEpOysrYil7dmFyIGM9ZmUoYSwxLHlwLGIpO2lmKHpwKGMpPT09InNwb3RsaWdodCIpcmV0dXJuIGN9cmV0dXJuIG51bGx9ZnVuY3Rpb24gUnEoYSl7Zm9yKHZhciBiPTA7YjxkZShhLEZwLDUpOysrYil7dmFyIGM9Z2UoYSw1LEZwLGIpO2lmKGMmJkFlKGMsMSk9PT0iZGlyZWN0aW9ucyIpcmV0dXJuIGE9TChjLENwLDIpLEwoYSxBcCw0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBTcShhLGIpe2lmKGIubGVuZ3RoKXt2YXIgYz1MKGEseHAsOCk7Yz1MKGMseHAsMSk7aWcoYyxTcShiLnBvcCgpLGIpKX1yZXR1cm4gTShhLHhwLDgpfTtmdW5jdGlvbiBUcShhKXt0aGlzLm1hcD1hfXooVHEsVik7VHEucHJvdG90eXBlLmNvbnRhaW5lclNpemVfY2hhbmdlZD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KCJjb250YWluZXJTaXplIik9PT0wP3tkaXNhYmxlRGVmYXVsdFVJOiEwLGRpc2FibGVTSVdBbmRQRFI6ITAsZHJhZ2dhYmxlOiExLGRyYWdnYWJsZUN1cnNvcjoicG9pbnRlciIsbWFwVHlwZUNvbnRyb2w6ITEsY2FtZXJhQ29udHJvbDohMX06e2Rpc2FibGVEZWZhdWx0VUk6ITAsZGlzYWJsZVNJV0FuZFBEUjohMCxkcmFnZ2FibGU6ITAsZHJhZ2dhYmxlQ3Vyc29yOiIiLG1hcFR5cGVDb250cm9sOiExLGNhbWVyYUNvbnRyb2w6ITAsY2FtZXJhQ29udHJvbE9wdGlvbnM6e3Bvc2l0aW9uOmdvb2dsZS5tYXBzLkNvbnRyb2xQb3NpdGlvbi5JTkxJTkVfRU5EX0JMT0NLX0VORH19O3RoaXMubWFwLnNldE9wdGlvbnMoYSl9O2Z1bmN0aW9uIFVxKGEsYil7dGhpcy5jb250YWluZXI9YTt0aGlzLmo9e307YT1Baigic3R5bGUiKTthLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIik7YS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiLmdtLWluc2V0LW1hcHstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjMpO2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjMpO2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlfS5nbS1pbnNldC1tYXA6aG92ZXJ7Ym9yZGVyLXdpZHRoOjRweDttYXJnaW46LTJweDt3aWR0aDo0NnB4fS5nbS1pbnNldC1kYXJre2JhY2tncm91bmQtY29sb3I6cmdiKDM0LDM0LDM0KTtib3JkZXItY29sb3I6cmdiKDM0LDM0LDM0KX0uZ20taW5zZXQtbGlnaHR7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6d2hpdGV9c2VudGluZWx7fVxuIikpOwp2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO2MuaW5zZXJ0QmVmb3JlKGEsYy5jaGlsZE5vZGVzWzBdKTt0aGlzLmc9QWooImJ1dHRvbiIpO3RoaXMuZy5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZ20taW5zZXQtbWFwIik7dGhpcy5jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5nKTt0aGlzLmk9QWooImRpdiIpO3RoaXMuaS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZ20taW5zZXQtbWFwLWltcGwiKTt0aGlzLmkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTthPUFqKCJkaXYiKTthLnN0eWxlLnpJbmRleD0xO2Euc3R5bGUucG9zaXRpb249ImFic29sdXRlIjt0aGlzLmkuc3R5bGUud2lkdGg9dGhpcy5pLnN0eWxlLmhlaWdodD1hLnN0eWxlLndpZHRoPWEuc3R5bGUuaGVpZ2h0PSIzOHB4Ijt0aGlzLmkuc3R5bGUuekluZGV4PSIwIjt0aGlzLmcuYXBwZW5kQ2hpbGQoYSk7dGhpcy5nLmFwcGVuZENoaWxkKHRoaXMuaSk7dGhpcy5sPWIodGhpcy5pLAp7ZGlzYWJsZURvdWJsZUNsaWNrWm9vbTohMCxub0NvbnRyb2xzT3JMb2dnaW5nOiEwLHNjcm9sbHdoZWVsOiExLGRyYWdnYWJsZTohMSxzdHlsZXM6W3tlbGVtZW50VHlwZToibGFiZWxzIixzdHlsZXJzOlt7dmlzaWJpbGl0eToib2ZmIn1dfV0sa2V5Ym9hcmRTaG9ydGN1dHM6ITF9KTt0aGlzLmpbZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLkhZQlJJRF09IlNob3cgc2F0ZWxsaXRlIGltYWdlcnkiO3RoaXMualtnb29nbGUubWFwcy5NYXBUeXBlSWQuUk9BRE1BUF09IlNob3cgc3RyZWV0IG1hcCI7dGhpcy5qW2dvb2dsZS5tYXBzLk1hcFR5cGVJZC5URVJSQUlOXT0iU2hvdyB0ZXJyYWluIG1hcCJ9O2Z1bmN0aW9uIFZxKGEsYixjKXtmdW5jdGlvbiBkKGYpe2YuY2FuY2VsQnViYmxlPSEwO2Yuc3RvcFByb3BhZ2F0aW9uJiZmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBlPXRoaXM7dGhpcy5tYXA9Yjt0aGlzLnZpZXc9Yzt0aGlzLmk9MDt0aGlzLmc9Z29vZ2xlLm1hcHMuTWFwVHlwZUlkLkhZQlJJRDtiLmFkZExpc3RlbmVyKCJtYXB0eXBlaWRfY2hhbmdlZCIsZnVuY3Rpb24oKXtXcShlKX0pO1dxKHRoaXMpO2IuYWRkTGlzdGVuZXIoImNlbnRlcl9jaGFuZ2VkIixmdW5jdGlvbigpe1hxKGUpfSk7WHEodGhpcyk7Yi5hZGRMaXN0ZW5lcigiem9vbV9jaGFuZ2VkIixmdW5jdGlvbigpe1lxKGUpfSk7Qy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGZ1bmN0aW9uKCl7WnEoZSl9KTtacSh0aGlzKTthLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsZCk7YS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIixkLHtwYXNzaXZlOiExfSk7YS5hZGRFdmVudExpc3RlbmVyKCJNb3pNb3VzZVBpeGVsU2Nyb2xsIiwKZCk7YS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgZj1lLm1hcC5nZXQoIm1hcFR5cGVJZCIpLGc9ZS5nO2UuZz1mO2UubWFwLnNldCgibWFwVHlwZUlkIixnKX0pfQpmdW5jdGlvbiBXcShhKXt2YXIgYj1nb29nbGUubWFwcy5NYXBUeXBlSWQsYz1iLkhZQlJJRCxkPWIuUk9BRE1BUDtiPWIuVEVSUkFJTjt2YXIgZT1hLm1hcC5nZXQoIm1hcFR5cGVJZCIpLGY9YS52aWV3O2U9PT1nb29nbGUubWFwcy5NYXBUeXBlSWQuSFlCUklEfHxlPT09Z29vZ2xlLm1hcHMuTWFwVHlwZUlkLlNBVEVMTElURT8oTWwoZi5nLCJnbS1pbnNldC1saWdodCIpLExsKGYuZywiZ20taW5zZXQtZGFyayIpKTooTWwoZi5nLCJnbS1pbnNldC1kYXJrIiksTGwoZi5nLCJnbS1pbnNldC1saWdodCIpKTtlIT09Yz9hLmc9YzphLmchPT1kJiZhLmchPT1iJiYoYS5nPWQpO2M9YS52aWV3O2E9YS5nO2E9PT1nb29nbGUubWFwcy5NYXBUeXBlSWQuSFlCUklEP2MubC5zZXQoIm1hcFR5cGVJZCIsZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlNBVEVMTElURSk6YT09PWdvb2dsZS5tYXBzLk1hcFR5cGVJZC5URVJSQUlOP2MubC5zZXQoIm1hcFR5cGVJZCIsZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlJPQURNQVApOgpjLmwuc2V0KCJtYXBUeXBlSWQiLGEpO2MuZy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGMualthXSk7Yy5nLnNldEF0dHJpYnV0ZSgidGl0bGUiLGMualthXSl9ZnVuY3Rpb24gWHEoYSl7dmFyIGI9YS5tYXAuZ2V0KCJjZW50ZXIiKTtiJiZhLnZpZXcubC5zZXQoImNlbnRlciIsYil9ZnVuY3Rpb24gWnEoYSl7dmFyIGI9YS5tYXAuZ2V0RGl2KCkuY2xpZW50SGVpZ2h0O2I+MCYmKGEuaT1NYXRoLnJvdW5kKE1hdGgubG9nKDM4L2IpL01hdGguTE4yKSxZcShhKSl9ZnVuY3Rpb24gWXEoYSl7dmFyIGI9YS5tYXAuZ2V0KCJ6b29tIil8fDA7YS52aWV3Lmwuc2V0KCJ6b29tIixiK2EuaSl9ZnVuY3Rpb24gJHEoYSxiKXt2YXIgYz1uZXcgVXEoYixmdW5jdGlvbihkLGUpe3JldHVybiBuZXcgZ29vZ2xlLm1hcHMuTWFwKGQsZSl9KTtuZXcgVnEoYixhLGMpfTtmdW5jdGlvbiBhcihhLGIpe3ZhciBjPXRoaXM7dGhpcy5nPWE7dGhpcy5pPWI7QW8oYixmdW5jdGlvbigpe3ZhciBkPWMuaS5nZXQoImNvbnRhaW5lclNpemUiKT49MTtjLmcuc3R5bGUuZGlzcGxheT1kPyIiOiJub25lIn0pfWZ1bmN0aW9uIGJyKGEsYil7dmFyIGM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yy5zdHlsZS5tYXJnaW49IjEwcHgiO2Muc3R5bGUuekluZGV4PSIxIjt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmFwcGVuZENoaWxkKGQpOyRxKGEsZCk7bmV3IGFyKGMsYik7YS5jb250cm9sc1tnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uQkxPQ0tfRU5EX0lOTElORV9TVEFSVF0ucHVzaChjKX07dmFyIGNyPXVhKFsnPHN2ZyBjbGFzcz0iVkdsb0hjZGlyZWN0aW9ucy1pY29uIiB2aWV3Qm94PSIwIDAgMTUgMTUiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuOTcuMjJhLjc0Ny43NDcgMCAwMTEuMDU3IDBsNi43NSA2Ljc1Yy4yOTIuMy4yOTIuNzcyIDAgMS4wNTdsLTYuNzUgNi43NWEuNzQ3Ljc0NyAwIDAxLTEuMDU4IDBMLjIyIDguMDI3YS43NDcuNzQ3IDAgMDEwLTEuMDU4em0yLjAyNSA1Ljc4MmgtMy43NWEuNzUuNzUgMCAwMC0uNzUuNzV2M2gxLjV2LTIuMjVoM3YxLjg3NWwyLjYyNS0yLjYyNS0yLjYyNS0yLjYyNXoiLz48L3N2Zz4nXSksZHI9S2koY3IpLmZpcnN0RWxlbWVudENoaWxkO3ZhciBlcj11YShbJzxzdmcgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTIwMC0xMjBxLTMzIDAtNTYuNS0yMy41VDEyMC0yMDB2LTU2MHEwLTMzIDIzLjUtNTYuNVQyMDAtODQwaDI4MHY4MEgyMDB2NTYwaDU2MHYtMjgwaDgwdjI4MHEwIDMzLTIzLjUgNTYuNVQ3NjAtMTIwem0xODgtMjEyLTU2LTU2IDM3Mi0zNzJINTYwdi04MGgyODB2MjgwaC04MHYtMTQ0eiIvPjwvc3ZnPiddKSxmcj1LaShlcikuZmlyc3RFbGVtZW50Q2hpbGQ7LyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBncj1uZXcgU2V0LGhyPW5ldyBNYXA7CmZ1bmN0aW9uIGlyKGEsYil7aWYoZ2xvYmFsVGhpcy5TaGFkeUNTUyE9PXZvaWQgMCYmKCFnbG9iYWxUaGlzLlNoYWR5Q1NTLm5hdGl2ZVNoYWRvd3x8Z2xvYmFsVGhpcy5TaGFkeUNTUy5BcHBseVNoaW0pKXt2YXIgYyxkLGU9KChjPWdsb2JhbFRoaXMuU2hhZHlET00pPT1udWxsPzA6Yy5pblVzZSkmJigoZD1nbG9iYWxUaGlzLlNoYWR5RE9NKT09bnVsbD92b2lkIDA6ZC5ub1BhdGNoKT09PSEwP2dsb2JhbFRoaXMuU2hhZHlET00ud3JhcDphYSgpLGY9ZnVuY3Rpb24obil7dmFyIHA9aHIuZ2V0KG4pO3A9PT12b2lkIDAmJmhyLnNldChuLHA9W10pO3JldHVybiBwfSxnPW5ldyBNYXAsaD1hLmNyZWF0ZUVsZW1lbnQ7YS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKG4scCl7bj1oLmNhbGwoYSxuLHApO3A9cD09bnVsbD92b2lkIDA6cC5zY29wZTtwIT09dm9pZCAwJiYoZ2xvYmFsVGhpcy5TaGFkeUNTUy5uYXRpdmVTaGFkb3d8fGdsb2JhbFRoaXMuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlRG9tKG4scCksCnA9PT12b2lkIDB8fGdyLmhhcyhwKXx8KHA9ZihwKSxwLnB1c2guYXBwbHkocCx0YShBcnJheS5mcm9tKG4uY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpKS5tYXAoZnVuY3Rpb24ocil7dmFyIHE7KHE9ci5wYXJlbnROb2RlKT09bnVsbHx8cS5yZW1vdmVDaGlsZChyKTtyZXR1cm4gci50ZXh0Q29udGVudH0pKSkpKTtyZXR1cm4gbn07dmFyIGs9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGw9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIik7Yj1iLnByb3RvdHlwZTt2YXIgbT1iLlk7Yi5ZPWZ1bmN0aW9uKG4scCl7cD1wPT09dm9pZCAwP3RoaXM6cDt2YXIgcj1lKHRoaXMuWikucGFyZW50Tm9kZSxxLHQ9KHE9dGhpcy5vcHRpb25zKT09bnVsbD92b2lkIDA6cS5zY29wZSx2O2lmKChyIGluc3RhbmNlb2YgU2hhZG93Um9vdHx8cj09PSgodj10aGlzLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDp2LnplKSkmJnQhPT12b2lkIDAmJiFnci5oYXModCkpe3E9dGhpcy5aOwp2PXRoaXMucWE7ay5hcHBlbmRDaGlsZChsKTt0aGlzLlo9bDt0aGlzLnFhPW51bGw7bS5jYWxsKHRoaXMsbixwKTtuPShuPT1udWxsPzA6bi5fJGxpdFR5cGUkKT90aGlzLkouZ2IudmE6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtwPWYodCk7dmFyIHc9cC5sZW5ndGghPT0wO2lmKHcpe3ZhciBGPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Ri50ZXh0Q29udGVudD1wLmpvaW4oIlxuIik7bi5jb250ZW50LmFwcGVuZENoaWxkKEYpfWdyLmFkZCh0KTtoci5kZWxldGUodCk7Z2xvYmFsVGhpcy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMobix0KTt3JiZnbG9iYWxUaGlzLlNoYWR5Q1NTLm5hdGl2ZVNoYWRvdyYmKHQ9bi5jb250ZW50LnF1ZXJ5U2VsZWN0b3IoInN0eWxlIiksdCE9PW51bGwmJm4uY29udGVudC5hcHBlbmRDaGlsZCh0KSk7ay5yZW1vdmVDaGlsZChsKTt2YXIgRTtpZigoRT1nbG9iYWxUaGlzLlNoYWR5Q1NTKT09bnVsbD8wOkUubmF0aXZlU2hhZG93KUU9Cm4uY29udGVudC5xdWVyeVNlbGVjdG9yKCJzdHlsZSIpLEUhPT1udWxsJiZrLmFwcGVuZENoaWxkKEUuY2xvbmVOb2RlKCEwKSk7ci5pbnNlcnRCZWZvcmUoayx2KTt0aGlzLlo9cTt0aGlzLnFhPXZ9ZWxzZSBtLmNhbGwodGhpcyxuLHApfTtiLkdiPWZ1bmN0aW9uKG4pe3ZhciBwLHI9KHA9dGhpcy5vcHRpb25zKT09bnVsbD92b2lkIDA6cC5zY29wZTtwPWcuZ2V0KHIpO3A9PT12b2lkIDAmJmcuc2V0KHIscD1uZXcgTWFwKTtyPXAuZ2V0KG4uTyk7cj09PXZvaWQgMCYmcC5zZXQobi5PLHI9bmV3IGEobix0aGlzLm9wdGlvbnMpKTtyZXR1cm4gcn19fXZhciBqcjsoanI9Z2xvYmFsVGhpcykubGl0SHRtbFBvbHlmaWxsU3VwcG9ydCE9bnVsbHx8KGpyLmxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQ9aXIpO3ZhciBrcj0iIjtpZihnbG9iYWxUaGlzLlN5bWJvbCl7dmFyIGxyPVN5bWJvbCgpO3R5cGVvZiBsciE9PSJzeW1ib2wiJiYoa3I9T2JqZWN0LmtleXMobHIpWzBdKX0KdmFyIG1yPWtyIT09IiIsbnI9bXI/ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmFba3JdIT09dm9pZCAwfTpkYSghMSk7aWYobXImJiFnbG9iYWxUaGlzLlN5bWJvbC5mb3Ipe3ZhciBvcj1uZXcgTWFwO2dsb2JhbFRoaXMuU3ltYm9sLmZvcj1mdW5jdGlvbihhKXtvci5oYXMoYSl8fG9yLnNldChhLFN5bWJvbChhKSk7cmV0dXJuIG9yLmdldChhKX19O2Z1bmN0aW9uIHByKGEpe2lmKGdsb2JhbFRoaXMuU2hhZHlDU1MhPT12b2lkIDAmJighZ2xvYmFsVGhpcy5TaGFkeUNTUy5uYXRpdmVTaGFkb3d8fGdsb2JhbFRoaXMuU2hhZHlDU1MuQXBwbHlTaGltKSl7YT1hLlJlYWN0aXZlRWxlbWVudC5wcm90b3R5cGU7Z2xvYmFsVGhpcy5TaGFkeURPTSYmZ2xvYmFsVGhpcy5TaGFkeURPTS5pblVzZSYmZ2xvYmFsVGhpcy5TaGFkeURPTS5ub1BhdGNoPT09ITAmJmdsb2JhbFRoaXMuU2hhZHlET00ucGF0Y2hFbGVtZW50UHJvdG8oYSk7dmFyIGI9YS5jYTthLmNhPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sb2NhbE5hbWU7aWYoZ2xvYmFsVGhpcy5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpcmV0dXJuIGIuY2FsbCh0aGlzKTtpZighdGhpcy5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgiX19zY29wZWQiKSl7dGhpcy5jb25zdHJ1Y3Rvci5fX3Njb3BlZD0hMDt2YXIgZj10aGlzLmNvbnN0cnVjdG9yLmphLm1hcChmdW5jdGlvbihsKXtyZXR1cm4gbCBpbnN0YW5jZW9mCkNTU1N0eWxlU2hlZXQ/QXJyYXkuZnJvbShsLmNzc1J1bGVzKS5yZWR1Y2UoZnVuY3Rpb24obSxuKXtyZXR1cm4gbStuLmNzc1RleHR9LCIiKTpsLmNzc1RleHR9KSxnLGg7KGc9Z2xvYmFsVGhpcy5TaGFkeUNTUyk9PW51bGx8fChoPWcuU2NvcGluZ1NoaW0pPT1udWxsfHxoLnByZXBhcmVBZG9wdGVkQ3NzVGV4dChmLGUpO3RoaXMuY29uc3RydWN0b3IuQmM9PT12b2lkIDAmJmdsb2JhbFRoaXMuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlU3R5bGVzKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiksZSl9dmFyIGs7cmV0dXJuKGs9dGhpcy5zaGFkb3dSb290KSE9bnVsbD9rOnRoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3IuQ2EpfTt2YXIgYz1hLmNvbm5lY3RlZENhbGxiYWNrO2EuY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oKXtjLmNhbGwodGhpcyk7dGhpcy5sYSYmZ2xvYmFsVGhpcy5TaGFkeUNTUy5zdHlsZUVsZW1lbnQodGhpcyl9O3ZhciBkPWEuZmI7CmEuZmI9ZnVuY3Rpb24oZSl7dGhpcy5sYXx8Z2xvYmFsVGhpcy5TaGFkeUNTUy5zdHlsZUVsZW1lbnQodGhpcyk7ZC5jYWxsKHRoaXMsZSl9fX12YXIgcXI7KHFyPWdsb2JhbFRoaXMpLnJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydCE9bnVsbHx8KHFyLnJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydD1wcik7ZnVuY3Rpb24gcnIoYSl7YT1hLkxpdEVsZW1lbnQ7aWYoZ2xvYmFsVGhpcy5TaGFkeUNTUyE9PXZvaWQgMCYmKCFnbG9iYWxUaGlzLlNoYWR5Q1NTLm5hdGl2ZVNoYWRvd3x8Z2xvYmFsVGhpcy5TaGFkeUNTUy5BcHBseVNoaW0pKXthLkJjPSEwO2E9YS5wcm90b3R5cGU7dmFyIGI9YS5jYTthLmNhPWZ1bmN0aW9uKCl7dGhpcy5WYS5zY29wZT10aGlzLmxvY2FsTmFtZTtyZXR1cm4gYi5jYWxsKHRoaXMpfX19dmFyIHNyOyhzcj1nbG9iYWxUaGlzKS5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0IT1udWxsfHwoc3IubGl0RWxlbWVudFBvbHlmaWxsU3VwcG9ydD1ycik7LyoKCiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciB0cj11YShbImFib3V0OmludmFsaWQjekNsb3N1cmV6Il0pLHZyPXVyO2Z1bmN0aW9uIHVyKGEsYixjKXtpZihhLm5vZGVUeXBlIT09MSlyZXR1cm4gd3I7Yj1iLnRvTG93ZXJDYXNlKCk7aWYoYj09PSJpbm5lcmh0bWwifHxiPT09ImlubmVydGV4dCJ8fGI9PT0idGV4dGNvbnRlbnQifHxiPT09Im91dGVyaHRtbCIpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEJpKEFpKX07dmFyIGQ9eHIuZ2V0KGEudGFnTmFtZSsiICIrYik7cmV0dXJuIGQhPT12b2lkIDA/ZDovXm9uLy50ZXN0KGIpJiZjPT09ImF0dHJpYnV0ZSImJihhPWEudGFnTmFtZS5pbmNsdWRlcygiLSIpP0hUTUxFbGVtZW50LnByb3RvdHlwZTphLGIgaW4gYSk/ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiaW52YWxpZCBiaW5kaW5nIik7fTp3cn0KdmFyIHlyPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLHpyPXFpKGZ1bmN0aW9uKGEpe3ZhciBiPUthLmFwcGx5KDEsYXJndW1lbnRzKTtpZihiLmxlbmd0aD09PTApcmV0dXJuIHBpKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBwaShjKX0odHIpKTtmdW5jdGlvbiB3cihhKXtyZXR1cm4gYX1mdW5jdGlvbiBBcihhKXtyZXR1cm4geXIudGVzdChTdHJpbmcoYSkpP2E6enJ9ZnVuY3Rpb24gQnIoKXtyZXR1cm4genJ9ZnVuY3Rpb24gQ3IoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBvaT9xaShhKTp6cn0KdmFyIHhyPW5ldyBNYXAoW1siQSBocmVmIixBcl0sWyJBUkVBIGhyZWYiLEFyXSxbIkJBU0UgaHJlZiIsQnJdLFsiQlVUVE9OIGZvcm1hY3Rpb24iLEFyXSxbIkVNQkVEIHNyYyIsQnJdLFsiRk9STSBhY3Rpb24iLEFyXSxbIkZSQU1FIHNyYyIsQnJdLFsiSUZSQU1FIHNyYyIsQ3JdLFsiSUZSQU1FIHNyY2RvYyIsZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiB5aT9CaShhKTpCaShBaSl9XSxbIklOUFVUIGZvcm1hY3Rpb24iLEFyXSxbIkxJTksgaHJlZiIsQ3JdLFsiT0JKRUNUIGNvZGViYXNlIixCcl0sWyJPQkpFQ1QgZGF0YSIsQnJdLFsiU0NSSVBUIGhyZWYiLENyXSxbIlNDUklQVCBzcmMiLENyXSxbIlNDUklQVCB0ZXh0IixCcl0sWyJVU0UgaHJlZiIsQ3JdXSk7dmFyIERyLEVyLEZyLEdyPSgoRHI9Qy5TaGFkeURPTSk9PW51bGw/MDpEci5pblVzZSkmJigoKEVyPUMuU2hhZHlET00pPT1udWxsP3ZvaWQgMDpFci5ub1BhdGNoKT09PSEwfHwoKEZyPUMuU2hhZHlET00pPT1udWxsP3ZvaWQgMDpGci5ub1BhdGNoKT09PSJvbi1kZW1hbmQiKT9DLlNoYWR5RE9NLndyYXA6YWEoKSxIcj1DLnRydXN0ZWRUeXBlcyxJcj1Icj9Ici5jcmVhdGVQb2xpY3koImxpdC1odG1sIix7Y3JlYXRlSFRNTDphYSgpfSk6dm9pZCAwO2Z1bmN0aW9uIEpyKGEpe3JldHVybiBhfWZ1bmN0aW9uIEtyKCl7cmV0dXJuIEpyfXZhciBMcj0ibGl0JCIrTWF0aC5yYW5kb20oKS50b0ZpeGVkKDkpLnNsaWNlKDIpKyIkIixNcj0iPyIrTHIsTnI9IjwiK01yKyI+IixPcj1kb2N1bWVudDtmdW5jdGlvbiBQcihhKXtyZXR1cm4gYT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiJ8fG5yKGEpfQp2YXIgUXI9QXJyYXkuaXNBcnJheSxScj0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxTcj0vLS1ceDNlL2csVHI9Lz4vZyxVcj1SZWdFeHAoIj58WyBcdFxuXGZccl0oPzooW15cXHNcIic+PS9dKykoWyBcdFxuXGZccl0qPVsgXHRcblxmXHJdKig/OlteIFx0XG5cZlxyXCInYDw+PV18KFwifCcpfCkpfCQpIiwiZyIpLFZyPS8nL2csV3I9LyIvZyxYcj0vXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2k7ZnVuY3Rpb24gWXIoYSl7dmFyIGI9S2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9e307cmV0dXJuIGMuXyRsaXRUeXBlJD0xLGMuTz1hLGMudmFsdWVzPWIsY30KdmFyIFpyPVN5bWJvbC5mb3I/U3ltYm9sLmZvcigibGl0LW5vQ2hhbmdlIik6U3ltYm9sKCJsaXQtbm9DaGFuZ2UiKSwkcj1TeW1ib2wuZm9yP1N5bWJvbC5mb3IoImxpdC1ub3RoaW5nIik6U3ltYm9sKCJsaXQtbm90aGluZyIpLGFzPW5ldyBXZWFrTWFwLGJzPU9yLmNyZWF0ZVRyZWVXYWxrZXIoT3IsMTI5KTtmdW5jdGlvbiBjcyhhLGIpe2lmKCFRcihhKXx8IWEuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gSXIhPT12b2lkIDA/SXIuY3JlYXRlSFRNTChiKTpifQpmdW5jdGlvbiBkcyhhLGIpe3ZhciBjPWEuTzt2YXIgZD1hLl8kbGl0VHlwZSQ7dGhpcy5nPVtdO2Zvcih2YXIgZT1hPTAsZj1jLmxlbmd0aC0xLGc9dGhpcy5nLGg9Yy5sZW5ndGgtMSxrPVtdLGw9ZD09PTI/Ijxzdmc+IjpkPT09Mz8iPG1hdGg+IjoiIixtLG49UnIscD0wO3A8aDtwKyspe2Zvcih2YXIgcj1jW3BdLHE9LTEsdD12b2lkIDAsdj0wLHc7djxyLmxlbmd0aDspe24ubGFzdEluZGV4PXY7dz1uLmV4ZWMocik7aWYodz09PW51bGwpYnJlYWs7dj1uLmxhc3RJbmRleDtuPT09UnI/d1sxXT09PSIhLS0iP249U3I6d1sxXSE9PXZvaWQgMD9uPVRyOndbMl0hPT12b2lkIDA/KFhyLnRlc3Qod1syXSkmJihtPW5ldyBSZWdFeHAoIjwvIit3WzJdLCJnIikpLG49VXIpOndbM10hPT12b2lkIDAmJihuPVVyKTpuPT09VXI/d1swXT09PSI+Ij8ocT12b2lkIDAsbj0ocT1tKSE9bnVsbD9xOlJyLHE9LTEpOndbMV09PT12b2lkIDA/cT0tMjoocT1uLmxhc3RJbmRleC13WzJdLmxlbmd0aCwKdD13WzFdLG49d1szXT09PXZvaWQgMD9Vcjp3WzNdPT09JyInP1dyOlZyKTpuPT09V3J8fG49PT1Wcj9uPVVyOm49PT1Tcnx8bj09PVRyP249UnI6KG49VXIsbT12b2lkIDApfXY9bj09PVVyJiZjW3ArMV0uc3RhcnRzV2l0aCgiLz4iKT8iICI6IiI7bCs9bj09PVJyP3IrTnI6cT49MD8oay5wdXNoKHQpLHIuc2xpY2UoMCxxKSsiJGxpdCQiK3Iuc2xpY2UocSkpK0xyK3Y6citMcisocT09PS0yP3A6dil9Yz1bY3MoYyxsKyhjW2hdfHwiPD8+IikrKGQ9PT0yPyI8L3N2Zz4iOmQ9PT0zPyI8L21hdGg+IjoiIikpLGtdO2M9QShjKTttPWMubmV4dCgpLnZhbHVlO2M9Yy5uZXh0KCkudmFsdWU7dGhpcy52YT1kcy5jcmVhdGVFbGVtZW50KG0sYik7YnMuY3VycmVudE5vZGU9dGhpcy52YS5jb250ZW50O2lmKGQ9PT0yfHxkPT09MyliPXRoaXMudmEuY29udGVudC5maXJzdENoaWxkLGIucmVwbGFjZVdpdGguYXBwbHkoYix0YShiLmNoaWxkTm9kZXMpKTtmb3IoOyhiPWJzLm5leHROb2RlKCkpIT09Cm51bGwmJmcubGVuZ3RoPGY7KXtpZihiLm5vZGVUeXBlPT09MSl7aWYoYi5oYXNBdHRyaWJ1dGVzKCkpZm9yKGQ9QShiLmdldEF0dHJpYnV0ZU5hbWVzKCkpLG09ZC5uZXh0KCk7IW0uZG9uZTttPWQubmV4dCgpKW09bS52YWx1ZSxtLmVuZHNXaXRoKCIkbGl0JCIpPyhrPWNbZSsrXSxoPWIuZ2V0QXR0cmlidXRlKG0pLnNwbGl0KExyKSxrPS8oWy4/QF0pPyguKikvLmV4ZWMoayksZy5wdXNoKHt0eXBlOjEsaW5kZXg6YSxuYW1lOmtbMl0sTzpoLGFkOmtbMV09PT0iLiI/ZXM6a1sxXT09PSI/Ij9mczprWzFdPT09IkAiP2dzOmhzfSksYi5yZW1vdmVBdHRyaWJ1dGUobSkpOm0uc3RhcnRzV2l0aChMcikmJihnLnB1c2goe3R5cGU6NixpbmRleDphfSksYi5yZW1vdmVBdHRyaWJ1dGUobSkpO2lmKFhyLnRlc3QoYi50YWdOYW1lKSYmKGQ9Yi50ZXh0Q29udGVudC5zcGxpdChMciksbT1kLmxlbmd0aC0xLG0+MCkpe2IudGV4dENvbnRlbnQ9SHI/SHIuZW1wdHlTY3JpcHQ6IiI7Zm9yKGg9MDtoPAptO2grKyliLmFwcGVuZChkW2hdLE9yLmNyZWF0ZUNvbW1lbnQoIiIpKSxicy5uZXh0Tm9kZSgpLGcucHVzaCh7dHlwZToyLGluZGV4OisrYX0pO2IuYXBwZW5kKGRbbV0sT3IuY3JlYXRlQ29tbWVudCgiIikpfX1lbHNlIGlmKGIubm9kZVR5cGU9PT04KWlmKGIuZGF0YT09PU1yKWcucHVzaCh7dHlwZToyLGluZGV4OmF9KTtlbHNlIGZvcihkPS0xOyhkPWIuZGF0YS5pbmRleE9mKExyLGQrMSkpIT09LTE7KWcucHVzaCh7dHlwZTo3LGluZGV4OmF9KSxkKz1Mci5sZW5ndGgtMTthKyt9fWRzLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGI9T3IuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtiLmlubmVySFRNTD1hO3JldHVybiBifTsKZnVuY3Rpb24gaXMoYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2E6YztpZihiPT09WnIpcmV0dXJuIGI7dmFyIGUsZj1kIT09dm9pZCAwPyhlPWMuaSk9PW51bGw/dm9pZCAwOmVbZF06Yy5DO2U9UHIoYik/dm9pZCAwOmIuXyRsaXREaXJlY3RpdmUkO3ZhciBnO2lmKCgoZz1mKT09bnVsbD92b2lkIDA6Zy5jb25zdHJ1Y3RvcikhPT1lKXt2YXIgaCxrOyhoPWYpPT1udWxsfHwoaz1oLl8kbm90aWZ5RGlyZWN0aXZlQ29ubmVjdGlvbkNoYW5nZWQpPT1udWxsfHxrLmNhbGwoaCwhMSk7ZT09PXZvaWQgMD9mPXZvaWQgMDooZj1uZXcgZShhKSxmLkNjKGEsYyxkKSk7aWYoZCE9PXZvaWQgMCl7dmFyIGwsbTsoKG09KGw9YykuaSkhPW51bGw/bTpsLmk9W10pW2RdPWZ9ZWxzZSBjLkM9Zn1mIT09dm9pZCAwJiYoYj1pcyhhLGYuRGMoYSxiLnZhbHVlcyksZixkKSk7cmV0dXJuIGJ9ZnVuY3Rpb24ganMoYSxiKXt0aGlzLmk9W107dGhpcy5qPXZvaWQgMDt0aGlzLmdiPWE7dGhpcy5nPWJ9CmpzLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2IsYz1iLnZhLmNvbnRlbnQ7Yj1iLmc7dmFyIGQsZT0oKGQ9YT09bnVsbD92b2lkIDA6YS5zZSkhPW51bGw/ZDpPcikuaW1wb3J0Tm9kZShjLCEwKTticy5jdXJyZW50Tm9kZT1lO2M9YnMubmV4dE5vZGUoKTtmb3IodmFyIGY9ZD0wLGc9YlswXTtnIT09dm9pZCAwOyl7aWYoZD09PWcuaW5kZXgpe3ZhciBoPXZvaWQgMDtnLnR5cGU9PT0yP2g9bmV3IGtzKGMsYy5uZXh0U2libGluZyx0aGlzLGEpOmcudHlwZT09PTE/aD1uZXcgZy5hZChjLGcubmFtZSxnLk8sdGhpcyxhKTpnLnR5cGU9PT02JiYoaD1uZXcgbHMoYyx0aGlzLGEpKTt0aGlzLmkucHVzaChoKTtnPWJbKytmXX1oPXZvaWQgMDtkIT09KChoPWcpPT1udWxsP3ZvaWQgMDpoLmluZGV4KSYmKGM9YnMubmV4dE5vZGUoKSxkKyspfWJzLmN1cnJlbnROb2RlPU9yO3JldHVybiBlfTsKanMucHJvdG90eXBlLmw9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1BKHRoaXMuaSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZD1kLnZhbHVlLGQhPT12b2lkIDAmJihkLk8hPT12b2lkIDA/KGQuWShhLGQsYiksYis9ZC5PLmxlbmd0aC0yKTpkLlkoYVtiXSkpLGIrK307aWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoanMucHJvdG90eXBlLHtwYXJlbnROb2RlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnBhcmVudE5vZGV9fSxYOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLlh9fX0pOwpmdW5jdGlvbiBrcyhhLGIsYyxkKXt0aGlzLnR5cGU9Mjt0aGlzLko9JHI7dGhpcy5qPXZvaWQgMDt0aGlzLlo9YTt0aGlzLnFhPWI7dGhpcy5nPWM7dGhpcy5vcHRpb25zPWQ7dmFyIGU7dGhpcy5sPShlPWQ9PW51bGw/dm9pZCAwOmQuaXNDb25uZWN0ZWQpIT1udWxsP2U6ITA7dGhpcy5pPXZvaWQgMH11PWtzLnByb3RvdHlwZTt1Llk9ZnVuY3Rpb24oYSxiKXthPWlzKHRoaXMsYSxiPT09dm9pZCAwP3RoaXM6Yik7UHIoYSk/YT09PSRyfHxhPT1udWxsfHxhPT09IiI/KHRoaXMuSiE9PSRyJiZ0aGlzLkthKCksdGhpcy5KPSRyKTphIT09dGhpcy5KJiZhIT09WnImJnRoaXMuTWIoYSk6YS5fJGxpdFR5cGUkIT09dm9pZCAwP3RoaXMuUmMoYSk6YS5ub2RlVHlwZSE9PXZvaWQgMD90aGlzLmtiKGEpOlFyKGEpfHx0eXBlb2YoYT09bnVsbD92b2lkIDA6YVtTeW1ib2wuaXRlcmF0b3JdKT09PSJmdW5jdGlvbiI/dGhpcy5RYyhhKTp0aGlzLk1iKGEpfTsKdS5vYj1mdW5jdGlvbihhKXtyZXR1cm4gR3IoR3IodGhpcy5aKS5wYXJlbnROb2RlKS5pbnNlcnRCZWZvcmUoYSx0aGlzLnFhKX07dS5rYj1mdW5jdGlvbihhKXtpZih0aGlzLkohPT1hKXt0aGlzLkthKCk7aWYodnIhPT1Lcil7dmFyIGIsYz0oYj10aGlzLloucGFyZW50Tm9kZSk9PW51bGw/dm9pZCAwOmIubm9kZU5hbWU7aWYoYz09PSJTVFlMRSJ8fGM9PT0iU0NSSVBUIil0aHJvdyBFcnJvcigiRm9yYmlkZGVuIik7fXRoaXMuSj10aGlzLm9iKGEpfX07CnUuTWI9ZnVuY3Rpb24oYSl7aWYodGhpcy5KIT09JHImJlByKHRoaXMuSikpe3ZhciBiPUdyKHRoaXMuWikubmV4dFNpYmxpbmc7dGhpcy5pPT09dm9pZCAwJiYodGhpcy5pPXZyKGIsImRhdGEiLCJwcm9wZXJ0eSIpKTthPXRoaXMuaShhKTtiLmRhdGE9YX1lbHNlIGI9T3IuY3JlYXRlVGV4dE5vZGUoIiIpLHRoaXMua2IoYiksdGhpcy5pPT09dm9pZCAwJiYodGhpcy5pPXZyKGIsImRhdGEiLCJwcm9wZXJ0eSIpKSxhPXRoaXMuaShhKSxiLmRhdGE9YTt0aGlzLko9YX07CnUuUmM9ZnVuY3Rpb24oYSl7dmFyIGI9YS52YWx1ZXMsYz1hLl8kbGl0VHlwZSQ7YT10eXBlb2YgYz09PSJudW1iZXIiP3RoaXMuR2IoYSk6KGMudmE9PT12b2lkIDAmJihjLnZhPWRzLmNyZWF0ZUVsZW1lbnQoY3MoYy5oLGMuaFswXSksdGhpcy5vcHRpb25zKSksYyk7dmFyIGQ7KChkPXRoaXMuSik9PW51bGw/dm9pZCAwOmQuZ2IpPT09YT90aGlzLkoubChiKTooZD1uZXcganMoYSx0aGlzKSxhPWQuQSh0aGlzLm9wdGlvbnMpLGQubChiKSx0aGlzLmtiKGEpLHRoaXMuSj1kKX07dS5HYj1mdW5jdGlvbihhKXt2YXIgYj1hcy5nZXQoYS5PKTtiPT09dm9pZCAwJiZhcy5zZXQoYS5PLGI9bmV3IGRzKGEpKTtyZXR1cm4gYn07CnUuUWM9ZnVuY3Rpb24oYSl7UXIodGhpcy5KKXx8KHRoaXMuSj1bXSx0aGlzLkthKCkpO3ZhciBiPXRoaXMuSixjPTAsZDthPUEoYSk7Zm9yKHZhciBlPWEubmV4dCgpOyFlLmRvbmU7ZT1hLm5leHQoKSllPWUudmFsdWUsYz09PWIubGVuZ3RoP2IucHVzaChkPW5ldyBrcyh0aGlzLm9iKE9yLmNyZWF0ZUNvbW1lbnQoIiIpKSx0aGlzLm9iKE9yLmNyZWF0ZUNvbW1lbnQoIiIpKSx0aGlzLHRoaXMub3B0aW9ucykpOmQ9YltjXSxkLlkoZSksYysrO2M8Yi5sZW5ndGgmJih0aGlzLkthKGQmJkdyKGQucWEpLm5leHRTaWJsaW5nLGMpLGIubGVuZ3RoPWMpfTt1LkthPWZ1bmN0aW9uKGEsYil7YT1hPT09dm9pZCAwP0dyKHRoaXMuWikubmV4dFNpYmxpbmc6YTt2YXIgYztmb3IoKGM9dGhpcy5BKT09bnVsbHx8Yy5jYWxsKHRoaXMsITEsITAsYik7YSE9PXRoaXMucWE7KWI9R3IoYSkubmV4dFNpYmxpbmcsR3IoYSkucmVtb3ZlKCksYT1ifTsKZnVuY3Rpb24gbXMoYSxiKXtpZihhLmc9PT12b2lkIDApe2EubD1iO3ZhciBjOyhjPWEuQSk9PW51bGx8fGMuY2FsbChhLGIpfX1pYS5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhrcy5wcm90b3R5cGUse1g6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciBhLGI7cmV0dXJuKGI9KGE9dGhpcy5nKT09bnVsbD92b2lkIDA6YS5YKSE9bnVsbD9iOnRoaXMubH19LHBhcmVudE5vZGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciBhPUdyKHRoaXMuWikucGFyZW50Tm9kZSxiPXRoaXMuZyxjO2IhPT12b2lkIDAmJigoYz1hKT09bnVsbD92b2lkIDA6Yy5ub2RlVHlwZSk9PT0xMSYmKGE9Yi5wYXJlbnROb2RlKTtyZXR1cm4gYX19fSk7CmZ1bmN0aW9uIGhzKGEsYixjLGQsZSl7dGhpcy50eXBlPTE7dGhpcy5KPSRyO3RoaXMuaj12b2lkIDA7dGhpcy5lbGVtZW50PWE7dGhpcy5uYW1lPWI7dGhpcy5nPWQ7dGhpcy5vcHRpb25zPWU7Yy5sZW5ndGg+Mnx8Y1swXSE9PSIifHxjWzFdIT09IiI/KHRoaXMuSj1BcnJheShjLmxlbmd0aC0xKS5maWxsKG5ldyBTdHJpbmcpLHRoaXMuTz1jKTp0aGlzLko9JHI7dGhpcy5zYT12b2lkIDB9CmhzLnByb3RvdHlwZS5ZPWZ1bmN0aW9uKGEsYixjLGQpe2I9Yj09PXZvaWQgMD90aGlzOmI7dmFyIGU9dGhpcy5PLGY9ITE7aWYoZT09PXZvaWQgMCl7aWYoYT1pcyh0aGlzLGEsYiwwKSxmPSFQcihhKXx8YSE9PXRoaXMuSiYmYSE9PVpyKXRoaXMuSj1hfWVsc2V7dmFyIGc9YTthPWVbMF07dmFyIGg7Zm9yKGg9MDtoPGUubGVuZ3RoLTE7aCsrKXt2YXIgaz1pcyh0aGlzLGdbYytoXSxiLGgpO2s9PT1aciYmKGs9dGhpcy5KW2hdKTtmfHwoZj0hUHIoayl8fGshPT10aGlzLkpbaF0pO2lmKGs9PT0kcilhPSRyO2Vsc2UgaWYoYSE9PSRyKXt2YXIgbD12b2lkIDA7YSs9KChsPWspIT1udWxsP2w6IiIpK2VbaCsxXX10aGlzLkpbaF09a319ZiYmIWQmJnRoaXMubGIoYSl9Owpocy5wcm90b3R5cGUubGI9ZnVuY3Rpb24oYSl7aWYoYT09PSRyKUdyKHRoaXMuZWxlbWVudCkucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSk7ZWxzZXt0aGlzLnNhPT09dm9pZCAwJiYodGhpcy5zYT12cih0aGlzLmVsZW1lbnQsdGhpcy5uYW1lLCJhdHRyaWJ1dGUiKSk7dmFyIGI7YT10aGlzLnNhKChiPWEpIT1udWxsP2I6IiIpO3ZhciBjO0dyKHRoaXMuZWxlbWVudCkuc2V0QXR0cmlidXRlKHRoaXMubmFtZSwoYz1hKSE9bnVsbD9jOiIiKX19O2lhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGhzLnByb3RvdHlwZSx7dGFnTmFtZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC50YWdOYW1lfX0sWDp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5YfX19KTtmdW5jdGlvbiBlcygpe2hzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnR5cGU9M30Keihlcyxocyk7ZXMucHJvdG90eXBlLmxiPWZ1bmN0aW9uKGEpe3RoaXMuc2E9PT12b2lkIDAmJih0aGlzLnNhPXZyKHRoaXMuZWxlbWVudCx0aGlzLm5hbWUsInByb3BlcnR5IikpO2E9dGhpcy5zYShhKTt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT1hPT09JHI/dm9pZCAwOmF9O2Z1bmN0aW9uIGZzKCl7aHMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudHlwZT00fXooZnMsaHMpO2ZzLnByb3RvdHlwZS5sYj1mdW5jdGlvbihhKXtHcih0aGlzLmVsZW1lbnQpLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISFhJiZhIT09JHIpfTtmdW5jdGlvbiBncyhhLGIsYyxkLGUpe2hzLmNhbGwodGhpcyxhLGIsYyxkLGUpO3RoaXMudHlwZT01fXooZ3MsaHMpOwpncy5wcm90b3R5cGUuWT1mdW5jdGlvbihhLGIpe3ZhciBjO2E9KGM9aXModGhpcyxhLGI9PT12b2lkIDA/dGhpczpiLDApKSE9bnVsbD9jOiRyO2lmKGEhPT1acil7Yj10aGlzLko7Yz1hPT09JHImJmIhPT0kcnx8YS5jYXB0dXJlIT09Yi5jYXB0dXJlfHxhLm9uY2UhPT1iLm9uY2V8fGEucGFzc2l2ZSE9PWIucGFzc2l2ZTt2YXIgZD1hIT09JHImJihiPT09JHJ8fGMpO2MmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGIpO2QmJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGEpO3RoaXMuSj1hfX07Z3MucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiB0aGlzLko9PT0iZnVuY3Rpb24iKXt2YXIgYixjO3RoaXMuSi5jYWxsKChjPShiPXRoaXMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmIuaG9zdCkhPW51bGw/Yzp0aGlzLmVsZW1lbnQsYSl9ZWxzZSB0aGlzLkouaGFuZGxlRXZlbnQoYSl9OwpmdW5jdGlvbiBscyhhLGIsYyl7dGhpcy5lbGVtZW50PWE7dGhpcy50eXBlPTY7dGhpcy5qPXZvaWQgMDt0aGlzLmc9Yjt0aGlzLm9wdGlvbnM9Y31scy5wcm90b3R5cGUuWT1mdW5jdGlvbihhKXtpcyh0aGlzLGEpfTtpYS5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhscy5wcm90b3R5cGUse1g6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmcuWH19fSk7dmFyIG5zOyhucz1nbG9iYWxUaGlzLmxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQpPT1udWxsfHxucyhkcyxrcyk7dmFyIG9zLHBzOygocHM9Qy5saXRIdG1sVmVyc2lvbnMpIT1udWxsP3BzOkMubGl0SHRtbFZlcnNpb25zPVtdKS5wdXNoKCIzLjMuMyIpOwpvcz1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oZD1jPT1udWxsP3ZvaWQgMDpjLkFiKSE9bnVsbD9kOmI7ZD1lLl8kbGl0UGFydCQ7aWYoZD09PXZvaWQgMCl7dmFyIGY7ZD0oZj1jPT1udWxsP3ZvaWQgMDpjLkFiKSE9bnVsbD9mOm51bGw7ZS5fJGxpdFBhcnQkPWQ9bmV3IGtzKGIuaW5zZXJ0QmVmb3JlKE9yLmNyZWF0ZUNvbW1lbnQoIiIpLGQpLGQsdm9pZCAwLGMhPW51bGw/Yzp7fSl9ZC5ZKGEpO3JldHVybiBkfTt2YXIgcXM9Qy5TaGFkb3dSb290JiYoQy5TaGFkeUNTUz09PXZvaWQgMHx8Qy5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiYiYWRvcHRlZFN0eWxlU2hlZXRzImluIERvY3VtZW50LnByb3RvdHlwZSYmInJlcGxhY2UiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUscnM9U3ltYm9sKCksc3M9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gdHMoYSxiLGMpe3RoaXMuXyRjc3NSZXN1bHQkPSEwO2lmKGMhPT1ycyl0aHJvdyBFcnJvcigiQ1NTUmVzdWx0IGlzIG5vdCBjb25zdHJ1Y3RhYmxlLiBVc2UgYHVuc2FmZUNTU2Agb3IgYGNzc2AgaW5zdGVhZC4iKTt0aGlzLmNzc1RleHQ9YTt0aGlzLmc9Yn10cy5wcm90b3R5cGUudG9TdHJpbmc9Y2EoImNzc1RleHQiKTsKaWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXModHMucHJvdG90eXBlLHtzdHlsZVNoZWV0Ontjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmksYj10aGlzLmc7aWYocXMmJmE9PT12b2lkIDApe3ZhciBjPWIhPT12b2lkIDAmJmIubGVuZ3RoPT09MTtjJiYoYT1zcy5nZXQoYikpO2E9PT12b2lkIDAmJigodGhpcy5pPWE9bmV3IENTU1N0eWxlU2hlZXQpLnJlcGxhY2VTeW5jKHRoaXMuY3NzVGV4dCksYyYmc3Muc2V0KGIsYSkpfXJldHVybiBhfX19KTsKZnVuY3Rpb24gdXMoYSxiKXtpZihxcylhLmFkb3B0ZWRTdHlsZVNoZWV0cz1iLm1hcChmdW5jdGlvbihmKXtyZXR1cm4gZiBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/ZjpmLnN0eWxlU2hlZXR9KTtlbHNle2I9QShiKTtmb3IodmFyIGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtjPWMudmFsdWU7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxlPUMubGl0Tm9uY2U7ZSE9PXZvaWQgMCYmZC5zZXRBdHRyaWJ1dGUoIm5vbmNlIixlKTtkLnRleHRDb250ZW50PWMuY3NzVGV4dDthLmFwcGVuZENoaWxkKGQpfX19CnZhciB2cz1xcz9hYSgpOmZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0KXt2YXIgYj0iIjthPUEoYS5jc3NSdWxlcyk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSliKz1jLnZhbHVlLmNzc1RleHQ7Yj1uZXcgdHModHlwZW9mIGI9PT0ic3RyaW5nIj9iOlN0cmluZyhiKSx2b2lkIDAscnMpfWVsc2UgYj1hO3JldHVybiBifTsvKgoKIENvcHlyaWdodCAyMDE2IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KdmFyIHdzPSFpaXx8SFRNTEVsZW1lbnQuZXM1U2hpbW1lZHx8Qy5SZWZsZWN0PT09dm9pZCAwfHxDLmN1c3RvbUVsZW1lbnRzPT09dm9pZCAwfHxDLmN1c3RvbUVsZW1lbnRzLnBvbHlmaWxsV3JhcEZsdXNoQ2FsbGJhY2t8fCExLHhzO2Z1bmN0aW9uIHlzKCl7ZnVuY3Rpb24gYSgpe3JldHVybiBjLmNvbnN0cnVjdChiLFtdLHRoaXMuY29uc3RydWN0b3IpfXZhciBiPUhUTUxFbGVtZW50O2lmKHdzKXJldHVybiBiO2lmKHhzIT09dm9pZCAwKXJldHVybiB4czt2YXIgYz1DLlJlZmxlY3Q7YS5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmVzNVNoaW1tZWQ9ITA7T2JqZWN0LnNldFByb3RvdHlwZU9mKGEsYik7cmV0dXJuIHhzPWF9dmFyIHpzPSExO3dzfHx6c3x8KHpzPSEwLEMuSFRNTEVsZW1lbnQ9eXMoKSk7CnZhciBBcz15cygpLEJzPU9iamVjdCxDcz1Ccy5pcyxEcz1Ccy5kZWZpbmVQcm9wZXJ0eSxFcz1Ccy5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsRnM9QnMuZ2V0T3duUHJvcGVydHlOYW1lcyxHcz1Ccy5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsSHM9QnMuZ2V0UHJvdG90eXBlT2YsSXM9Qy50cnVzdGVkVHlwZXMsSnM9SXM/SXMuZW1wdHlTY3JpcHQ6IiIsS3M9Qy5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsTHM9e2VjOmZ1bmN0aW9uKGEsYil7c3dpdGNoKGIpe2Nhc2UgQm9vbGVhbjphPWE/SnM6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmE9YT09bnVsbD9hOkpTT04uc3RyaW5naWZ5KGEpfXJldHVybiBhfSx4YjpmdW5jdGlvbihhLGIpe3ZhciBjPWE7c3dpdGNoKGIpe2Nhc2UgQm9vbGVhbjpjPWEhPT1udWxsO2JyZWFrO2Nhc2UgTnVtYmVyOmM9YT09PW51bGw/bnVsbDpOdW1iZXIoYSk7YnJlYWs7Y2FzZSBPYmplY3Q6Y2FzZSBBcnJheTp0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe2M9Cm51bGx9fXJldHVybiBjfX07ZnVuY3Rpb24gTXMoYSxiKXtyZXR1cm4hQ3MoYSxiKX12YXIgTnM9e1BhOiEwLHR5cGU6U3RyaW5nLGhhOkxzLFVhOiExLGZjOiExLFZiOk1zfSxPcztTeW1ib2wubWV0YWRhdGE9PW51bGwmJihTeW1ib2wubWV0YWRhdGE9U3ltYm9sKCJtZXRhZGF0YSIpKTtPcz1TeW1ib2wubWV0YWRhdGE7dmFyIFBzPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFcoKXt2YXIgYT1Bcy5jYWxsKHRoaXMpfHx0aGlzO2EuQz12b2lkIDA7YS5sPSExO2EubGE9ITE7YS5nPW51bGw7YS5JYygpO3JldHVybiBhfXooVyxBcyk7Vy5hZGRJbml0aWFsaXplcj1mdW5jdGlvbihhKXt0aGlzLmcoKTt2YXIgYjsoKGI9dGhpcy5HYSkhPW51bGw/Yjp0aGlzLkdhPVtdKS5wdXNoKGEpfTsKVy51YT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9OczpiO2Iuc3RhdGUmJihiLlBhPSExKTt0aGlzLmcoKTt0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShhKSYmKGI9T2JqZWN0LmNyZWF0ZShiKSxiLkZiPSEwKTt0aGlzLlYuc2V0KGEsYik7Yi53ZXx8KGI9dGhpcy5qKGEsU3ltYm9sKCksYiksYiE9PXZvaWQgMCYmRHModGhpcy5wcm90b3R5cGUsYSxiKSl9O1cuaj1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oZD1Fcyh0aGlzLnByb3RvdHlwZSxhKSkhPW51bGw/ZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbYl19LHNldDpmdW5jdGlvbihoKXt0aGlzW2JdPWh9fSxmPWUuZ2V0LGc9ZS5zZXQ7cmV0dXJue2dldDpmLHNldDpmdW5jdGlvbihoKXt2YXIgaz1mPT1udWxsP3ZvaWQgMDpmLmNhbGwodGhpcyk7Zz09bnVsbHx8Zy5jYWxsKHRoaXMsaCk7UXModGhpcyxhLGssYyl9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX07ClcuemE9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuKGI9dGhpcy5WLmdldChhKSkhPW51bGw/YjpOc307Vy5nPWZ1bmN0aW9uKCl7aWYoIXRoaXMuaGFzT3duUHJvcGVydHkoIlYiKSl7dmFyIGE9SHModGhpcyk7YS55YSgpO2EuR2EhPT12b2lkIDAmJih0aGlzLkdhPVtdLmNvbmNhdCh0YShhLkdhKSkpO3RoaXMuVj1uZXcgTWFwKGEuVil9fTsKVy55YT1mdW5jdGlvbigpe1JzKCk7aWYoIXRoaXMuaGFzT3duUHJvcGVydHkoIndiIikpe3RoaXMud2I9ITA7dGhpcy5nKCk7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydGllcyIpKXt2YXIgYT10aGlzLnByb3BlcnRpZXMsYj1bXS5jb25jYXQodGEoRnMoYSkpLHRhKEdzKGEpKSk7Yj1BKGIpO2Zvcih2YXIgYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYz1jLnZhbHVlLHRoaXMudWEoYyxhW2NdKX1hPXRoaXNbT3NdO2lmKGEhPT1udWxsJiYoYT1Qcy5nZXQoYSksYSE9PXZvaWQgMCkpZm9yKGE9QShhKSxiPWEubmV4dCgpOyFiLmRvbmU7Yj1hLm5leHQoKSljPUEoYi52YWx1ZSksYj1jLm5leHQoKS52YWx1ZSxjPWMubmV4dCgpLnZhbHVlLHRoaXMuVi5zZXQoYixjKTt0aGlzLkxhPW5ldyBNYXA7YT1BKHRoaXMuVik7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWM9QShiLnZhbHVlKSxiPWMubmV4dCgpLnZhbHVlLGM9Yy5uZXh0KCkudmFsdWUsYz10aGlzLmVhKGIsCmMpLGMhPT12b2lkIDAmJnRoaXMuTGEuc2V0KGMsYik7dGhpcy5qYT10aGlzLmkodGhpcy5zdHlsZXMpfX07Vy5pPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpe2E9bmV3IFNldChhLmZsYXQoSW5maW5pdHkpLnJldmVyc2UoKSk7YT1BKGEpO2Zvcih2YXIgYz1hLm5leHQoKTshYy5kb25lO2M9YS5uZXh0KCkpYi51bnNoaWZ0KHZzKGMudmFsdWUpKX1lbHNlIGEhPT12b2lkIDAmJmIucHVzaCh2cyhhKSk7cmV0dXJuIGJ9O1cuZWE9ZnVuY3Rpb24oYSxiKXtiPWIuUGE7cmV0dXJuIGI9PT0hMT92b2lkIDA6dHlwZW9mIGI9PT0ic3RyaW5nIj9iOnR5cGVvZiBhPT09InN0cmluZyI/YS50b0xvd2VyQ2FzZSgpOnZvaWQgMH07dT1XLnByb3RvdHlwZTsKdS5JYz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5JPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGMpe3JldHVybiBhLlNiPWN9KTt0aGlzLmk9bmV3IE1hcDt0aGlzLk9jKCk7UXModGhpcyk7dmFyIGI7KGI9dGhpcy5jb25zdHJ1Y3Rvci5HYSk9PW51bGx8fGIuZm9yRWFjaChmdW5jdGlvbihjKXtyZXR1cm4gYyhhKX0pfTt1Lk9jPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBNYXAsYj1BKHRoaXMuY29uc3RydWN0b3IuVi5rZXlzKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWM9Yy52YWx1ZSx0aGlzLmhhc093blByb3BlcnR5KGMpJiYoYS5zZXQoYyx0aGlzW2NdKSxkZWxldGUgdGhpc1tjXSk7YS5zaXplPjAmJih0aGlzLkM9YSl9O3UuY2E9ZnVuY3Rpb24oKXt2YXIgYSxiPShhPXRoaXMuc2hhZG93Um9vdCkhPW51bGw/YTp0aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLkNhKTt1cyhiLHRoaXMuY29uc3RydWN0b3IuamEpO3JldHVybiBifTsKdS5jb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbigpe3RoaXMuSWEhPW51bGx8fCh0aGlzLklhPXRoaXMuY2EoKSk7dGhpcy5TYighMCk7dmFyIGE7KGE9dGhpcy5qKT09bnVsbHx8YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe3ZhciBjO3JldHVybihjPWIub2QpPT1udWxsP3ZvaWQgMDpjLmNhbGwoYil9KX07dS5TYj1iYSgpO3UuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZnVuY3Rpb24oKXt2YXIgYTsoYT10aGlzLmopPT1udWxsfHxhLmZvckVhY2goZnVuY3Rpb24oYil7dmFyIGM7cmV0dXJuKGM9Yi50ZSk9PW51bGw/dm9pZCAwOmMuY2FsbChiKX0pfTt1LmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaz1mdW5jdGlvbihhLGIsYyl7dGhpcy5BYyhhLGMpfTsKdS5OYz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29uc3RydWN0b3IuVi5nZXQoYSksZD10aGlzLmNvbnN0cnVjdG9yLmVhKGEsYyk7aWYoZCE9PXZvaWQgMCYmYy5VYT09PSEwKXt2YXIgZSxmPSgoKGU9Yy5oYSk9PW51bGw/dm9pZCAwOmUuZWMpIT09dm9pZCAwP2MuaGE6THMpLmVjKGIsYy50eXBlKTt0aGlzLmc9YTtmPT1udWxsP3RoaXMucmVtb3ZlQXR0cmlidXRlKGQpOnRoaXMuc2V0QXR0cmlidXRlKGQsZik7dGhpcy5nPW51bGx9fTsKdS5BYz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29uc3RydWN0b3I7YT1jLkxhLmdldChhKTtpZihhIT09dm9pZCAwJiZ0aGlzLmchPT1hKXtjPWMuemEoYSk7dmFyIGQsZT10eXBlb2YgYy5oYT09PSJmdW5jdGlvbiI/e3hiOmMuaGF9OigoZD1jLmhhKT09bnVsbD92b2lkIDA6ZC54YikhPT12b2lkIDA/Yy5oYTpMczt0aGlzLmc9YTtiPWUueGIoYixjLnR5cGUpO3ZhciBmLGc7dGhpc1thXT0oZz1iIT1udWxsP2I6KGY9dGhpcy5BKT09bnVsbD92b2lkIDA6Zi5nZXQoYSkpIT1udWxsP2c6Yjt0aGlzLmc9bnVsbH19OwpmdW5jdGlvbiBRcyhhLGIsYyxkLGUsZil7ZT1lPT09dm9pZCAwPyExOmU7aWYoYiE9PXZvaWQgMCl7dmFyIGc9YS5jb25zdHJ1Y3RvcjtlPT09ITEmJihmPWFbYl0pO2QhPW51bGx8fChkPWcuemEoYikpO3ZhciBoLGs7aWYoKChrPWQuVmIpIT1udWxsP2s6TXMpKGYsYyl8fGQuZmMmJmQuVWEmJmY9PT0oKGg9YS5BKT09bnVsbD92b2lkIDA6aC5nZXQoYikpJiYhYS5oYXNBdHRyaWJ1dGUoZy5lYShiLGQpKSlhLmViKGIsYyxkKTtlbHNlIHJldHVybn1hLmw9PT0hMSYmKGEuST1hLkhjKCkpfQp1LmViPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMuZmM7dmFyIGY9Yy5VYTtjPWMuRmI7dmFyIGc7aWYoZSYmISgoZz10aGlzLkEpIT1udWxsP2c6dGhpcy5BPW5ldyBNYXApLmhhcyhhKSl7dmFyIGg7dGhpcy5BLnNldChhLChoPWQhPW51bGw/ZDpiKSE9bnVsbD9oOnRoaXNbYV0pO2lmKGMhPT0hMHx8ZCE9PXZvaWQgMClyZXR1cm59dGhpcy5pLmhhcyhhKXx8KHRoaXMubGF8fGV8fChiPXZvaWQgMCksdGhpcy5pLnNldChhLGIpKTtpZihmPT09ITAmJnRoaXMuZyE9PWEpe3ZhciBrOygoaz10aGlzLkQpIT1udWxsP2s6dGhpcy5EPW5ldyBTZXQpLmFkZChhKX19Owp1LkhjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiLGM7cmV0dXJuIEphKGZ1bmN0aW9uKGQpe3N3aXRjaChkLmcpe2Nhc2UgMTpyZXR1cm4gYS5sPSEwLGQuRWEoMiksZC5DKGEuSSw0KTtjYXNlIDQ6ZC5TKDMpO2JyZWFrO2Nhc2UgMjpiPWQuSygpLGEuUHx8UHJvbWlzZS5yZWplY3QoYik7Y2FzZSAzOmM9U3MoYSk7aWYoYz09bnVsbCl7ZC5tYSg1KTticmVha31yZXR1cm4gZC5DKGMsNSk7Y2FzZSA1OnJldHVybiBkLnJldHVybighYS5sKX19KX07CmZ1bmN0aW9uIFNzKGEpe2lmKGEubCl7aWYoIWEubGEpe2EuSWEhPW51bGx8fChhLklhPWEuY2EoKSk7aWYoYS5DKXtmb3IodmFyIGI9QShhLkMpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXt2YXIgZD1BKGMudmFsdWUpO2M9ZC5uZXh0KCkudmFsdWU7ZD1kLm5leHQoKS52YWx1ZTthW2NdPWR9YS5DPXZvaWQgMH1iPWEuY29uc3RydWN0b3IuVjtpZihiLnNpemU+MClmb3IoYj1BKGIpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtkPUEoYy52YWx1ZSk7Yz1kLm5leHQoKS52YWx1ZTtkPWQubmV4dCgpLnZhbHVlO3ZhciBlPWFbY107ZC5GYiE9PSEwfHxhLmkuaGFzKGMpfHxlPT09dm9pZCAwfHxhLmViKGMsdm9pZCAwLGQsZSl9fWI9ITE7Yz1hLmk7dHJ5e2I9ITA7YS5FYihjKTt2YXIgZjsoZj1hLmopPT1udWxsfHxmLmZvckVhY2goZnVuY3Rpb24oZyl7dmFyIGg7cmV0dXJuKGg9Zy5wZCk9PW51bGw/dm9pZCAwOmguY2FsbChnKX0pO2EuYWIoYyl9Y2F0Y2goZyl7dGhyb3cgYj0KITEsYS5KYigpLGc7fWImJmEuZmIoYyl9fXUuRWI9YmEoKTt1LmZiPWZ1bmN0aW9uKGEpe3ZhciBiOyhiPXRoaXMuaik9PW51bGx8fGIuZm9yRWFjaChmdW5jdGlvbihjKXt2YXIgZDtyZXR1cm4oZD1jLnFkKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMpfSk7dGhpcy5sYXx8KHRoaXMubGE9ITApO3RoaXMuRGIoYSl9O3UuSmI9ZnVuY3Rpb24oKXt0aGlzLmk9bmV3IE1hcDt0aGlzLmw9ITF9O3UuYWI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuRCYmKHRoaXMuRD10aGlzLkQuZm9yRWFjaChmdW5jdGlvbihiKXtyZXR1cm4gYS5OYyhiLGFbYl0pfSkpO3RoaXMuSmIoKX07dS5EYj1iYSgpO2lhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFcse29ic2VydmVkQXR0cmlidXRlczp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dGhpcy55YSgpO3JldHVybiB0aGlzLkxhJiZbXS5jb25jYXQodGEodGhpcy5MYS5rZXlzKCkpKX19fSk7Vy5qYT1bXTsKVy5DYT17bW9kZToib3BlbiJ9O1cuVj1uZXcgTWFwO1cud2I9bmV3IE1hcDtLcz09bnVsbHx8S3Moe1JlYWN0aXZlRWxlbWVudDpXfSk7ZnVuY3Rpb24gUnMoKXt2YXIgYTsoKGE9Qy5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucykhPW51bGw/YTpDLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPVtdKS5wdXNoKCIyLjEuMiIpO1JzPWJhKCl9O2Z1bmN0aW9uIFkoKXt2YXIgYT1XLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpczthLlZhPXtob3N0OmF9O2EuRj12b2lkIDA7cmV0dXJuIGF9eihZLFcpO1kuQ2E9Vy5DYTtZLmphPVcuamE7WS5lYT1XLmVhO1kuaT1XLmk7WS5nPVcuZztZLnphPVcuemE7WS5qPVcuajtZLnVhPVcudWE7WS5hZGRJbml0aWFsaXplcj1XLmFkZEluaXRpYWxpemVyO3U9WS5wcm90b3R5cGU7dS5jYT1mdW5jdGlvbigpe3ZhciBhPVcucHJvdG90eXBlLmNhLmNhbGwodGhpcyksYjsoYj10aGlzLlZhKS5BYiE9bnVsbHx8KGIuQWI9YS5maXJzdENoaWxkKTtyZXR1cm4gYX07dS5hYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmJhKCk7dGhpcy5sYXx8KHRoaXMuVmEuaXNDb25uZWN0ZWQ9dGhpcy5pc0Nvbm5lY3RlZCk7Vy5wcm90b3R5cGUuYWIuY2FsbCh0aGlzLGEpO3RoaXMuRj1vcyhiLHRoaXMuSWEsdGhpcy5WYSl9Owp1LmNvbm5lY3RlZENhbGxiYWNrPWZ1bmN0aW9uKCl7Vy5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2suY2FsbCh0aGlzKTt2YXIgYTsoYT10aGlzLkYpPT1udWxsfHxtcyhhLCEwKX07dS5kaXNjb25uZWN0ZWRDYWxsYmFjaz1mdW5jdGlvbigpe1cucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyk7dmFyIGE7KGE9dGhpcy5GKT09bnVsbHx8bXMoYSwhMSl9O3UuYmE9ZnVuY3Rpb24oKXtyZXR1cm4gWnJ9O1kueWE9ZnVuY3Rpb24oKXtUcygpO3JldHVybiBXLnlhLmNhbGwodGhpcyl9O1kuXyRsaXRFbGVtZW50JD0hMDtZLndiPSEwO3ZhciBVczsoVXM9Qy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0KT09bnVsbHx8VXMoe0xpdEVsZW1lbnQ6WX0pO2Z1bmN0aW9uIFRzKCl7dmFyIGE7KChhPUMubGl0RWxlbWVudFZlcnNpb25zKSE9bnVsbD9hOkMubGl0RWxlbWVudFZlcnNpb25zPVtdKS5wdXNoKCI0LjIuMiIpO1RzPWJhKCl9O3ZhciBWcz1mdW5jdGlvbihhKXt2YXIgYj1LYS5hcHBseSgxLGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9YS5sZW5ndGg9PT0xP2FbMF06Yi5yZWR1Y2UoZnVuY3Rpb24oZCxlLGYpe2lmKGUuXyRjc3NSZXN1bHQkPT09ITApZT1lLmNzc1RleHQ7ZWxzZSBpZih0eXBlb2YgZSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogIisoZSsiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIikpO3JldHVybiBkK2UrYVtmKzFdfSxhWzBdKTtyZXR1cm4gbmV3IHRzKGMsYSxycyl9KCl9KFsiOmhvc3R7bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDt6LWluZGV4OjF9LmRlZmF1bHQtcGxhY2UtY2FyZC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MnB4O2JveC1zaGFkb3c6MCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMyk7Y29sb3I6IzFhNzNlODtjdXJzb3I6ZGVmYXVsdDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWw7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmc6OHB4IDEycHg7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5kZWZhdWx0LXBsYWNlLWNhcmQtY29udGFpbmVyIGE6bGluaywuZGVmYXVsdC1wbGFjZS1jYXJkLWNvbnRhaW5lciBhOnZpc2l0ZWR7Y29sb3I6IzFhNzNlODt0ZXh0LWRlY29yYXRpb246bm9uZX0uZGVmYXVsdC1wbGFjZS1jYXJkLWNvbnRhaW5lciBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGVuLWluLW5ldy1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoxNnB4fS5wbGFjZS1kZXRhaWxzLWNvbXBhY3QtY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDtib3gtc2hhZG93OjAgMXB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjMpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOi4yNWVtO2hlaWdodDphdXRvO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ucGxhY2UtZGV0YWlscy1jb21wYWN0LWNvbnRhaW5lci52ZXJ0aWNhbC1sYXlvdXR7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnBsYWNlLWRldGFpbHMtY29tcGFjdC1jb250YWluZXIudmVydGljYWwtbGF5b3V0IGdtcC1wbGFjZS1kZXRhaWxzLWNvbXBhY3R7bWFyZ2luLWJvdHRvbTowfWdtcC1wbGFjZS1kZXRhaWxzLWNvbXBhY3R7LS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXI6IzFhNzNlODstLWdtcC1tYXQtY29sb3ItcHJpbWFyeTojMzM3MGUzOy0tZ21wLW1hdC1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyOiNmMmYyZjI7LS1nbXAtc3Rhci1yYXRpbmctY29sb3I6I2Q3N2QyNTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxMnB4O21heC13aWR0aDoyNTJweH0ucGxhY2UtY2FyZC1idXR0b25zLWNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6OHB4O21hcmdpbi1ib3R0b206MTJweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWlubGluZTo4cHh9LnBsYWNlLWNhcmQtYnV0dG9ucy1jb250YWluZXIgLmRpcmVjdGlvbnMtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW46MH0ub3Blbi1pbi1tYXBzLWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMWE3M2U4O2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjojZmZmO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtmb250LWZhbWlseTpHb29nbGUgU2FucyBUZXh0O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtnYXA6NHB4O2hlaWdodDozMnB4O3BhZGRpbmc6MCAxNnB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGVuLWluLW1hcHMtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzE4NWFiY30ub3Blbi1pbi1tYXBzLWJ1dHRvbiAub3Blbi1pbi1uZXctaWNvbntjb2xvcjojZmZmO2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LmRpcmVjdGlvbnMtYnV0dG9uLWNvbnRhaW5lcntoZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDtoZWlnaHQ6LW1vei1maXQtY29udGVudDtoZWlnaHQ6Zml0LWNvbnRlbnQ7bWFyZ2luLXRvcDoxMnB4O21hcmdpbi1pbmxpbmU6YXV0byAxMnB4O21pbi13aWR0aDozM3B4fS5kaXJlY3Rpb25zLWJ1dHRvbi1jb250YWluZXIgYXtwb3NpdGlvbjpyZWxhdGl2ZX0uZGlyZWN0aW9ucy1idXR0b24tY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmRpcmVjdGlvbnMtYnV0dG9uLWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUgLmRpcmVjdGlvbnMtaWNvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjMWE3M2U4IDEwJSwjZjJmMmYyKTtvdXRsaW5lOjJweCBzb2xpZCAjMWE3M2U4O291dGxpbmUtb2Zmc2V0Oi0ycHh9LmRpcmVjdGlvbnMtaWNvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2YyZjJmMjtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjMzcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzNweH0uZGlyZWN0aW9ucy1pY29uLWNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLCMxYTczZTggOCUsI2YyZjJmMil9LnRhcC1hcmVhe2N1cnNvcjpkZWZhdWx0O2hlaWdodDo0OHB4O2xlZnQ6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOjQ4cHg7ei1pbmRleDowfS5kaXJlY3Rpb25zLWljb257Y29sb3I6IzFhNzNlODtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O3otaW5kZXg6MX0iXSk7ZnVuY3Rpb24gV3MoYSl7cmV0dXJuKGE9PT12b2lkIDA/IiI6YSkrIiAob3BlbnMgaW4gbmV3IHRhYikifTt2YXIgWHM9e1BhOiEwLHR5cGU6U3RyaW5nLGhhOkxzLFVhOiExLFZiOk1zfTsKZnVuY3Rpb24gWXMoYSxiLGMpe2E9YT09PXZvaWQgMD9YczphO3ZhciBkPWMua2luZCxlPWMubWV0YWRhdGEsZj1Qcy5nZXQoZSk7Zj09PXZvaWQgMCYmUHMuc2V0KGUsZj1uZXcgTWFwKTtkPT09InNldHRlciImJihhPU9iamVjdC5jcmVhdGUoYSksYS5GYj0hMCk7Zi5zZXQoYy5uYW1lLGEpO2lmKGQ9PT0iYWNjZXNzb3IiKXt2YXIgZz1jLm5hbWU7cmV0dXJue3NldDpmdW5jdGlvbihrKXt2YXIgbD1iLmdldC5jYWxsKHRoaXMpO2Iuc2V0LmNhbGwodGhpcyxrKTtRcyh0aGlzLGcsbCxhLCEwLGspfSxpbml0OmZ1bmN0aW9uKGspe2shPT12b2lkIDAmJnRoaXMuZWIoZyx2b2lkIDAsYSxrKTtyZXR1cm4ga319fWlmKGQ9PT0ic2V0dGVyIil7dmFyIGg9Yy5uYW1lO3JldHVybiBmdW5jdGlvbihrKXt2YXIgbD10aGlzW2hdO2IuY2FsbCh0aGlzLGspO1FzKHRoaXMsaCxsLGEsITAsayl9fXRocm93IEVycm9yKCJVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246ICIrZCk7fQpmdW5jdGlvbiBacyhhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXtpZih0eXBlb2YgYz09PSJvYmplY3QiKWI9WXMoYSxiLGMpO2Vsc2V7dmFyIGQ9Yi5oYXNPd25Qcm9wZXJ0eShjKTtiLmNvbnN0cnVjdG9yLnVhKGMsYSk7Yj1kP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYixjKTp2b2lkIDB9cmV0dXJuIGJ9fTtmdW5jdGlvbiAkcygpe3JldHVybiBacyhPYmplY3QuYXNzaWduKHt9LHZvaWQgMCx7c3RhdGU6ITAsUGE6ITF9KSl9O2Z1bmN0aW9uIGF0KCl7fWF0LnByb3RvdHlwZS5DYz1mdW5jdGlvbihhLGIsYyl7dGhpcy5EPWE7dGhpcy5nPWI7dGhpcy5BPWN9O2F0LnByb3RvdHlwZS5EYz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmooYSxiKX07YXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5iYS5hcHBseSh0aGlzLHRhKGIpKX07aWEuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXQucHJvdG90eXBlLHtYOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLlh9fX0pOy8qCgogQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwpmdW5jdGlvbiBidChhKXt2YXIgYjtpZihhLnR5cGUhPT0xfHxhLm5hbWUhPT0iY2xhc3MifHwoKGI9YS5PKT09bnVsbD92b2lkIDA6Yi5sZW5ndGgpPjIpdGhyb3cgRXJyb3IoImBjbGFzc01hcCgpYCBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBgY2xhc3NgIGF0dHJpYnV0ZSBhbmQgbXVzdCBiZSB0aGUgb25seSBwYXJ0IGluIHRoZSBhdHRyaWJ1dGUuIik7fXooYnQsYXQpO2J0LnByb3RvdHlwZS5iYT1mdW5jdGlvbihhKXtyZXR1cm4iICIrT2JqZWN0LmtleXMoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBhW2JdfSkuam9pbigiICIpKyIgIn07CmJ0LnByb3RvdHlwZS5qPWZ1bmN0aW9uKGEsYil7Yj1BKGIpLm5leHQoKS52YWx1ZTtpZih0aGlzLmk9PT12b2lkIDApe3RoaXMuaT1uZXcgU2V0O2EuTyE9PXZvaWQgMCYmKHRoaXMubD1uZXcgU2V0KGEuTy5qb2luKCIgIikuc3BsaXQoL1xzLykuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmIT09IiJ9KSkpO2Zvcih2YXIgYyBpbiBiKXt2YXIgZD12b2lkIDA7IWJbY118fCgoZD10aGlzLmwpPT1udWxsPzA6ZC5oYXMoYykpfHx0aGlzLmkuYWRkKGMpfXJldHVybiB0aGlzLmJhKGIpfWM9YS5lbGVtZW50LmNsYXNzTGlzdDthPUEodGhpcy5pKTtmb3IodmFyIGU9YS5uZXh0KCk7IWUuZG9uZTtlPWEubmV4dCgpKWU9ZS52YWx1ZSxlIGluIGJ8fChjLnJlbW92ZShlKSx0aGlzLmkuZGVsZXRlKGUpKTtmb3IoZCBpbiBiKWE9ISFiW2RdLGU9dm9pZCAwLGE9PT10aGlzLmkuaGFzKGQpfHwoZT10aGlzLmwpIT1udWxsJiZlLmhhcyhkKXx8KGE/KGMuYWRkKGQpLHRoaXMuaS5hZGQoZCkpOgooYy5yZW1vdmUoZCksdGhpcy5pLmRlbGV0ZShkKSkpO3JldHVybiBacn07dmFyIGN0PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUthLmFwcGx5KDAsYXJndW1lbnRzKSxjPXt9O3JldHVybiBjLl8kbGl0RGlyZWN0aXZlJD1hLGMudmFsdWVzPWIsY319KGJ0KTt2YXIgZHQ9U3ltYm9sKCk7ZnVuY3Rpb24gZXQoYSxiLGMpe3RoaXMuVT10aGlzLkxiPTA7YT10aGlzLm5iPWE7dmFyIGQ7KChkPWEuaikhPW51bGw/ZDphLmo9bmV3IFNldCkuYWRkKHRoaXMpO2lmKGEuSWEhPT12b2lkIDAmJmEuaXNDb25uZWN0ZWQpe3ZhciBlOyhlPXRoaXMub2QpPT1udWxsfHxlLmNhbGwodGhpcyl9Yj10eXBlb2YgYj09PSJvYmplY3QiP2I6e3Rhc2s6YixnYTpjfTt0aGlzLlhjPWIudGFzazt0aGlzLktiPWIuZ2E7dmFyIGY7dGhpcy5QYz0oZj1iLnFlKSE9bnVsbD9mOmZ0O3RoaXMuVGM9Yi54ZTt0aGlzLlVjPWIueWU7dmFyIGc7dGhpcy5RYT0oZz1iLlFhKSE9bnVsbD9nOiEwO2lmKCJpbml0aWFsVmFsdWUiaW4gYil7dGhpcy5PYj1iLmluaXRpYWxWYWx1ZTt0aGlzLlU9Mjt2YXIgaDt0aGlzLnBiPShoPXRoaXMubWIpPT1udWxsP3ZvaWQgMDpoLmNhbGwodGhpcyl9fXU9ZXQucHJvdG90eXBlO3UucGQ9ZnVuY3Rpb24oKXt0aGlzLlFhPT09ITAmJnRoaXMuTmIoKX07CnUucWQ9ZnVuY3Rpb24oKXt0aGlzLlFhPT09ImFmdGVyVXBkYXRlIiYmdGhpcy5OYigpfTt1Lm1iPWZ1bmN0aW9uKCl7aWYodGhpcy5LYiE9PXZvaWQgMCl7dmFyIGE9dGhpcy5LYigpO2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJUaGUgYXJncyBmdW5jdGlvbiBtdXN0IHJldHVybiBhbiBhcnJheSIpO3JldHVybiBhfX07dS5OYj1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYixjO3JldHVybiBKYShmdW5jdGlvbihkKXtiPWEubWIoKTtjPWEucGI7YS5wYj1iO3JldHVybiBiPT09Y3x8Yj09PXZvaWQgMHx8YyE9PXZvaWQgMCYmYS5QYyhjLGIpP2QubWEoMCk6ZC5DKGEucnVuKGIpLDApfSl9Owp1LnJ1bj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGMsZCxlLGYsZyxoLGssbCxtLG4scCxyLHEsdDtyZXR1cm4gSmEoZnVuY3Rpb24odil7c3dpdGNoKHYuZyl7Y2FzZSAxOnJldHVybiBhIT1udWxsfHwoYT1iLm1iKCkpLGIucGI9YSxiLlU9PT0xPyhjPWIuamIpPT1udWxsfHxjLmFib3J0KCk6KGIub2U9dm9pZCAwLGIuV2M9dm9pZCAwLGIuVmM9dm9pZCAwKSxiLlU9MSxiLlFhPT09ImFmdGVyVXBkYXRlIj9Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFFzKGIubmIpfSk6UXMoYi5uYiksZj0rK2IuTGIsYi5qYj1uZXcgQWJvcnRDb250cm9sbGVyLGc9ITEsdi5FYSgyKSx2LkMoYi5YYyhhLHtzaWduYWw6Yi5qYi5zaWduYWx9KSw0KTtjYXNlIDQ6ZD12LkQ7di5TKDMpO2JyZWFrO2Nhc2UgMjpoPXYuSygpLGc9ITAsZT1oO2Nhc2UgMzppZihiLkxiPT09Zil7aWYoZD09PWR0KWIuVT0wO2Vsc2V7aWYoZz09PSExKXt0cnl7KGw9KGs9YikuVGMpPT1udWxsfHwKbC5jYWxsKGssZCl9Y2F0Y2godyl7fWIuVT0yOyhuPShtPWIpLldjKT09bnVsbHx8bi5jYWxsKG0sZCl9ZWxzZXt0cnl7KHI9KHA9YikuVWMpPT1udWxsfHxyLmNhbGwocCxlKX1jYXRjaCh3KXt9Yi5VPTM7KHQ9KHE9YikuVmMpPT1udWxsfHx0LmNhbGwocSxlKX1iLk9iPWQ7Yi5TYz1lfVFzKGIubmIpfXYuUCgpfX0pfTt1LmFib3J0PWZ1bmN0aW9uKGEpe2lmKHRoaXMuVT09PTEpe3ZhciBiOyhiPXRoaXMuamIpPT1udWxsfHxiLmFib3J0KGEpfX07CnUuYmE9ZnVuY3Rpb24oYSl7c3dpdGNoKHRoaXMuVSl7Y2FzZSAwOnZhciBiO3JldHVybihiPWEuaW5pdGlhbCk9PW51bGw/dm9pZCAwOmIuY2FsbChhKTtjYXNlIDE6dmFyIGM7cmV0dXJuKGM9YS5wZW5kaW5nKT09bnVsbD92b2lkIDA6Yy5jYWxsKGEpO2Nhc2UgMjp2YXIgZDtyZXR1cm4oZD1hLmNvbXBsZXRlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGEsdGhpcy52YWx1ZSk7Y2FzZSAzOnZhciBlO3JldHVybihlPWEuZXJyb3IpPT1udWxsP3ZvaWQgMDplLmNhbGwoYSx0aGlzLmVycm9yKTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmV4cGVjdGVkIHN0YXR1czogIit0aGlzLlUpO319OwppYS5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhldC5wcm90b3R5cGUse3ZhbHVlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6Y2EoIk9iIil9LGVycm9yOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCxnZXQ6Y2EoIlNjIil9LHN0YXR1czp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmNhKCJVIil9fSk7ZnVuY3Rpb24gZnQoYSxiKXtyZXR1cm4gYT09PWJ8fGEubGVuZ3RoPT09Yi5sZW5ndGgmJmEuZXZlcnkoZnVuY3Rpb24oYyxkKXtyZXR1cm4hIUNzKGMsYltkXSl9KX07LyoKCiBDb3B5cmlnaHQgMjAyMSBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBndD11YShbIiJdKSxodD11YSgnXG4gICAgICAgIDxkaXYgY2xhc3M9ImRlZmF1bHQtcGxhY2UtY2FyZC1jb250YWluZXIiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayJcbiAgICAgICAgICAgIGhyZWY9IjsiXG4gICAgICAgICAgICAudGl0bGU9O1xuICAgICAgICAgICAgYXJpYS1sYWJlbD07XG4gICAgICAgICAgICBAbW91c2V1cD07PlxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9wZW4taW4tbmV3LWljb24iPiA7IDwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgJy5zcGxpdCgiOyIpKSxpdD11YShbJ1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZS1jYXJkLWJ1dHRvbnMtY29udGFpbmVyIj5cbiAgICAgICAgICAgICAgICAgICAgICAnLCJcbiAgICAgICAgICAgICAgICAgICAgICAiLCJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAiXSksCmp0PXVhKCdcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9LD5cbiAgICAgICAgICAgICAgPGdtcC1wbGFjZS1kZXRhaWxzLWNvbXBhY3RcbiAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3Itc2NoZW1lOiBsaWdodDsgd2lkdGg6ICxweDsiXG4gICAgICAgICAgICAgICAgcGxhY2U9IiwiXG4gICAgICAgICAgICAgICAgb3JpZW50YXRpb249Imhvcml6b250YWwiXG4gICAgICAgICAgICAgICAgP3RydW5jYXRpb24tcHJlZmVycmVkPSxcbiAgICAgICAgICAgICAgICBAZ21wLWxvYWQ9LD5cbiAgICAgICAgICAgICAgICA8Z21wLXBsYWNlLWRldGFpbHMtcGxhY2UtcmVxdWVzdCBwbGFjZT0iLCI+XG4gICAgICAgICAgICAgICAgPC9nbXAtcGxhY2UtZGV0YWlscy1wbGFjZS1yZXF1ZXN0PlxuICAgICAgICAgICAgICAgIDxnbXAtcGxhY2UtY29udGVudC1jb25maWc+XG4gICAgICAgICAgICAgICAgICA8Z21wLXBsYWNlLXJhdGluZz48L2dtcC1wbGFjZS1yYXRpbmc+XG4gICAgICAgICAgICAgICAgICA8Z21wLXBsYWNlLWFkZHJlc3M+PC9nbXAtcGxhY2UtYWRkcmVzcz5cbiAgICAgICAgICAgICAgICA8L2dtcC1wbGFjZS1jb250ZW50LWNvbmZpZz5cbiAgICAgICAgICAgICAgPC9nbXAtcGxhY2UtZGV0YWlscy1jb21wYWN0PlxuICAgICAgICAgICAgICAsXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAnLnNwbGl0KCIsIikpLAprdD11YShbIlxuICAgICAgICAiLCJcbiAgICAgICJdKSxsdD11YShbIiJdKSxtdD11YShbIiJdKSxudD11YSgnXG4gICAgICA8YVxuICAgICAgICBjbGFzcz0ib3Blbi1pbi1tYXBzLWJ1dHRvbiJcbiAgICAgICAgdGFyZ2V0PSJfYmxhbmsiXG4gICAgICAgIGhyZWY9IjsiXG4gICAgICAgIGFyaWEtbGFiZWw9IjsiXG4gICAgICAgIEBjbGljaz07PlxuICAgICAgICA8c3BhbiBjbGFzcz0ib3Blbi1pbi1uZXctaWNvbiI+IDsgPC9zcGFuPlxuICAgICAgICA7XG4gICAgICA8L2E+XG4gICAgJy5zcGxpdCgiOyIpKSxvdD11YShbIiJdKSxwdD11YShbJyA8YVxuICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayJcbiAgICAgICAgICAgICAgaHJlZj0iJywnIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPSInLCciPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YXAtYXJlYSI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdGlvbnMtaWNvbi1jb250YWluZXIiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdGlvbnMtaWNvbiI+JywKIjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT4iXSkscXQ9dWEoWyIiXSkscnQ9dWEoWydcbiAgICAgIDxkaXYgY2xhc3M9ImRpcmVjdGlvbnMtYnV0dG9uLWNvbnRhaW5lciI+XG4gICAgICAgICcsIlxuICAgICAgPC9kaXY+XG4gICAgIl0pOwpmdW5jdGlvbiBaKCl7dmFyIGE9WS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7YS5wbGFjZUlkPSIiO2EuY2FyZFdpZHRoPTA7YS5jb250YWluZXJTaXplPW51bGw7YS5wbGFjZUNhcmRIaWRkZW49ITE7YS5nb29nbGVNYXBzVVJJPSIiO2EudHJ1bmNhdGlvbkVuYWJsZWQ9ITE7YS5pc1ZlcnRpY2FsTGF5b3V0RW5hYmxlZD0hMTthLmlzRXhwZXJpbWVudGF0aW9uTG9nZ2luZ0VuYWJsZWQ9ITE7YS5yZXBvcnRGZWF0dXJlPWJhKCk7YS5vblBsYWNlQ2FyZFNob3duPWJhKCk7YS5vbkRpcmVjdGlvbnNVUklTaG93bj1iYSgpO2EuZGE9IiI7YS5rYT0iIjthLnliPSExO2EuTD1uZXcgZXQoYSx7dGFzazpmdW5jdGlvbigpe3JldHVybiBnb29nbGUubWFwcy5pbXBvcnRMaWJyYXJ5KCJwbGFjZXMiKX0sZ2E6ZnVuY3Rpb24oKXtyZXR1cm5bXX19KTtyZXR1cm4gYX16KFosWSk7Wi5DYT1ZLkNhO1ouamE9WS5qYTtaLmVhPVkuZWE7Wi5pPVkuaTtaLmc9WS5nO1ouemE9WS56YTtaLmo9WS5qOwpaLnVhPVkudWE7Wi5hZGRJbml0aWFsaXplcj1ZLmFkZEluaXRpYWxpemVyO1oueWE9WS55YTt1PVoucHJvdG90eXBlOwp1LmJhPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztpZih0aGlzLnBsYWNlQ2FyZEhpZGRlbnx8dGhpcy5jYXJkV2lkdGg8PTApcmV0dXJuIFlyKGd0KTtpZihzdCh0aGlzKSl7dmFyIGI9dGhpcy5jb250YWluZXJTaXplPT09MD8iTWFwcyI6c3QodGhpcyk/Ik9wZW4gaW4gTWFwcyI6IiI7cmV0dXJuIFlyKGh0LHRoaXMuZ29vZ2xlTWFwc1VSSSxXcyhiKSxXcyhiKSx0aGlzLm5kLGIsZnIpfWlmKHRoaXMucGxhY2VJZCl7dmFyIGM9eyJwbGFjZS1kZXRhaWxzLWNvbXBhY3QtY29udGFpbmVyIjohMCwidmVydGljYWwtbGF5b3V0Ijp0aGlzLmlzVmVydGljYWxMYXlvdXRFbmFibGVkfTtyZXR1cm4gWXIoa3QsdGhpcy5MLmJhKHtjb21wbGV0ZTpmdW5jdGlvbigpe3JldHVybiBZcihqdCxjdChjKSxhLmNhcmRXaWR0aCxhLnBsYWNlSWQsYS50cnVuY2F0aW9uRW5hYmxlZCxhLmxkLGEucGxhY2VJZCxhLmlzVmVydGljYWxMYXlvdXRFbmFibGVkJiYoYS5rYXx8YS5kYSk/WXIoaXQsYS5rYT9ZcihudCwKYS5rYSxXcygiT3BlbiBpbiBNYXBzIiksYS5rZCxmciwiT3BlbiBpbiBNYXBzIik6WXIobXQpLHR0KGEpKTp0dChhKSl9fSkpfXJldHVybiBZcihsdCl9O3UuRWI9ZnVuY3Rpb24oYSl7WS5wcm90b3R5cGUuRWIuY2FsbCh0aGlzLGEpO2EuaGFzKCJwbGFjZUlkIikmJih0aGlzLmthPXRoaXMuZGE9IiIpfTt1LkRiPWZ1bmN0aW9uKGEpe1kucHJvdG90eXBlLkRiLmNhbGwodGhpcyxhKTtpZihzdCh0aGlzKSl0aGlzLm9uUGxhY2VDYXJkU2hvd24oKTtpZigodGhpcy5jb250YWluZXJTaXplPT09NHx8dGhpcy5jb250YWluZXJTaXplPT09NSkmJnRoaXMuZGEpdGhpcy5vbkRpcmVjdGlvbnNVUklTaG93bigpfTtmdW5jdGlvbiBzdChhKXtyZXR1cm4gYS5nb29nbGVNYXBzVVJJJiYoYS5jb250YWluZXJTaXplPT09MHx8YS5jb250YWluZXJTaXplPT09MXx8YS5jb250YWluZXJTaXplPT09Mil8fCFhLnBsYWNlSWR9CnUua2Q9ZnVuY3Rpb24oKXt0aGlzLnJlcG9ydEZlYXR1cmUoMTYxNTE3KTt2YXIgYTsoYT1nb29nbGUubWFwcy5sb2dnZXIpPT1udWxsfHxhLm1heWJlUmVwb3J0RmVhdHVyZU9uY2UodGhpcy5wbGFjZUlkLDMzNDExMCx7Zm9yY2UxMDBQZXJjZW50U2FtcGxlZExvZzohMH0pfTtmdW5jdGlvbiB0dChhKXtyZXR1cm4gYS5jb250YWluZXJTaXplIT09NCYmYS5jb250YWluZXJTaXplIT09NXx8YS55Yj9ZcihvdCk6WXIocnQsYS5kYT9ZcihwdCxhLmRhLFdzKCJHZXQgZGlyZWN0aW9ucyIpLGRyKTpZcihxdCkpfXUubmQ9ZnVuY3Rpb24oKXt0aGlzLnJlcG9ydEZlYXR1cmUoMTYxNTE3KX07CnUubGQ9ZnVuY3Rpb24oKXt0aGlzLm9uUGxhY2VDYXJkU2hvd24oKTt2YXIgYSxiLGM9KGE9dGhpcy5zaGFkb3dSb290KT09bnVsbD92b2lkIDA6KGI9YS5xdWVyeVNlbGVjdG9yKCJnbXAtcGxhY2UtZGV0YWlscy1jb21wYWN0IikpPT1udWxsP3ZvaWQgMDpiLnBsYWNlO2lmKGMpe3ZhciBkO3RoaXMuZGE9KChkPWMuZ29vZ2xlTWFwc0xpbmtzKT09bnVsbD92b2lkIDA6ZC5kaXJlY3Rpb25zVVJJKXx8IiI7dGhpcy55Yj0hdGhpcy5kYTt2YXIgZTt0aGlzLmthPSgoZT1jLmdvb2dsZU1hcHNMaW5rcyk9PW51bGw/dm9pZCAwOmUucGxhY2VVUkkpfHwiIjtpZih0aGlzLmlzRXhwZXJpbWVudGF0aW9uTG9nZ2luZ0VuYWJsZWQmJnRoaXMucGxhY2VJZCYmIXN0KHRoaXMpJiZ0aGlzLmthKXt2YXIgZjsoZj1nb29nbGUubWFwcy5sb2dnZXIpPT1udWxsfHxmLm1heWJlUmVwb3J0RmVhdHVyZU9uY2UodGhpcy5wbGFjZUlkLHRoaXMuaXNWZXJ0aWNhbExheW91dEVuYWJsZWQ/MzE0MTgyOjMxNDE4MywKe2ZvcmNlMTAwUGVyY2VudFNhbXBsZWRMb2c6ITB9KX19fTtaLnN0eWxlcz1bVnNdO1phKFtacyh7dHlwZTpTdHJpbmd9KSwkYShPYmplY3QpXSxaLnByb3RvdHlwZSwicGxhY2VJZCIsdm9pZCAwKTtaYShbWnMoe3R5cGU6TnVtYmVyfSksJGEoT2JqZWN0KV0sWi5wcm90b3R5cGUsImNhcmRXaWR0aCIsdm9pZCAwKTtaYShbWnMoe3R5cGU6TnVtYmVyfSksJGEoT2JqZWN0KV0sWi5wcm90b3R5cGUsImNvbnRhaW5lclNpemUiLHZvaWQgMCk7WmEoW1pzKHt0eXBlOkJvb2xlYW59KSwkYShPYmplY3QpXSxaLnByb3RvdHlwZSwicGxhY2VDYXJkSGlkZGVuIix2b2lkIDApO1phKFtacyh7dHlwZTpTdHJpbmd9KSwkYShPYmplY3QpXSxaLnByb3RvdHlwZSwiZ29vZ2xlTWFwc1VSSSIsdm9pZCAwKTtaYShbWnMoe3R5cGU6Qm9vbGVhbn0pLCRhKE9iamVjdCldLFoucHJvdG90eXBlLCJ0cnVuY2F0aW9uRW5hYmxlZCIsdm9pZCAwKTsKWmEoW1pzKHt0eXBlOkJvb2xlYW59KSwkYShPYmplY3QpXSxaLnByb3RvdHlwZSwiaXNWZXJ0aWNhbExheW91dEVuYWJsZWQiLHZvaWQgMCk7WmEoW1pzKHt0eXBlOkJvb2xlYW59KSwkYShPYmplY3QpXSxaLnByb3RvdHlwZSwiaXNFeHBlcmltZW50YXRpb25Mb2dnaW5nRW5hYmxlZCIsdm9pZCAwKTtaYShbWnMoe3R5cGU6RnVuY3Rpb259KSwkYShGdW5jdGlvbildLFoucHJvdG90eXBlLCJyZXBvcnRGZWF0dXJlIix2b2lkIDApO1phKFtacyh7dHlwZTpGdW5jdGlvbn0pLCRhKEZ1bmN0aW9uKV0sWi5wcm90b3R5cGUsIm9uUGxhY2VDYXJkU2hvd24iLHZvaWQgMCk7WmEoW1pzKHt0eXBlOkZ1bmN0aW9ufSksJGEoRnVuY3Rpb24pXSxaLnByb3RvdHlwZSwib25EaXJlY3Rpb25zVVJJU2hvd24iLHZvaWQgMCk7WmEoWyRzKCksJGEoT2JqZWN0KV0sWi5wcm90b3R5cGUsImRhIix2b2lkIDApO1phKFskcygpLCRhKE9iamVjdCldLFoucHJvdG90eXBlLCJrYSIsdm9pZCAwKTsKWmEoWyRzKCksJGEoT2JqZWN0KV0sWi5wcm90b3R5cGUsInliIix2b2lkIDApO1phKFtmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXtjIT09dm9pZCAwP2MuYWRkSW5pdGlhbGl6ZXIoZnVuY3Rpb24oKXtjdXN0b21FbGVtZW50cy5kZWZpbmUoYSxiKX0pOmN1c3RvbUVsZW1lbnRzLmRlZmluZShhLGIpfX0oImVtYmVkLXBsYWNlLWNhcmQtZWxlbWVudCIpXSxaKTtmdW5jdGlvbiB1dChhKXt0aGlzLnRpbWVvdXQ9YTt0aGlzLmc9dGhpcy5pPTB9eih1dCxWKTt1dC5wcm90b3R5cGUuaW5wdXRfY2hhbmdlZD1mdW5jdGlvbigpe3ZhciBhPXRoaXMsYj0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLmd8fChiPXRoaXMuaSt0aGlzLnRpbWVvdXQtYixiPU1hdGgubWF4KGIsMCksdGhpcy5nPXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5pPShuZXcgRGF0ZSkuZ2V0VGltZSgpO2EuZz0wO2Euc2V0KCJvdXRwdXQiLGEuZ2V0KCJpbnB1dCIpKX0sYikpfTtmdW5jdGlvbiB2dCgpe316KHZ0LFYpO3Z0LnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgiY29udGFpbmVyU2l6ZSIpPT09MDtpZihiJiZhKXthPXdpbmRvdzt2YXIgYz10aGlzLmdldCgiZW1iZWRVcmwiKTtpZihjIGluc3RhbmNlb2YgcmkpaWYoYyBpbnN0YW5jZW9mIHJpKWM9Yy5nO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2Vsc2UgYz14aS50ZXN0KGMpP2M6dm9pZCAwO2MhPT12b2lkIDAmJmEub3BlbihjLCJfYmxhbmsiLHZvaWQgMCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIHd0KGEpe2VvLmNhbGwodGhpcyxhLHh0KTtJbShhLHh0KXx8KEhtKGEseHQse0hhOjB9LFsiZGl2IiwsMSwwLFsiICIsWyJhIiwsMSwxLCJWaWV3IGxhcmdlciBtYXAiXSwiICJdXSxbWyJjc3MiLCIuZ20tc3R5bGUgLmljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL2VtYmVkL2ltYWdlcy9lbnRpdHkxMS5wbmcpO2JhY2tncm91bmQtc2l6ZTo3MHB4IDIxMHB4fSIsImNzcyIsIkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMiksKG1pbi1yZXNvbHV0aW9uOjEuMmRwcHgpLChtaW4tcmVzb2x1dGlvbjoxMTZkcGkpey5nbS1zdHlsZSAuaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvZW1iZWQvaW1hZ2VzL2VudGl0eTExX2hkcGkucG5nKTtiYWNrZ3JvdW5kLXNpemU6NzBweCAyMTBweH19IiwiY3NzIiwiLmdtLXN0eWxlIC5leHBlcmltZW50LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL2VtYmVkL2ltYWdlcy9leHAyLnBuZyk7YmFja2dyb3VuZC1zaXplOjEwOXB4IDI3NnB4fSIsCiJjc3MiLCJAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoxLjIpLChtaW4tcmVzb2x1dGlvbjoxLjJkcHB4KSwobWluLXJlc29sdXRpb246MTE2ZHBpKXsuZ20tc3R5bGUgLmV4cGVyaW1lbnQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvZW1iZWQvaW1hZ2VzL2V4cDJfaGRwaS5wbmcpO2JhY2tncm91bmQtc2l6ZToxMDlweCAyNzZweH19Il0sWyJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgZGl2LC5nbS1zdHlsZSAucGxhY2UtY2FyZCBhLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGRpdiwuZ20tc3R5bGUgLmRlZmF1bHQtY2FyZCBhe2NvbG9yOiM1YjViNWI7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsO2ZvbnQtc2l6ZToxMnB4Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0iLCJjc3MiLAoiLmdtLXN0eWxlIC5wbGFjZS1jYXJkLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkLC5nbS1zdHlsZSAuZGlyZWN0aW9ucy1jYXJke2N1cnNvcjpkZWZhdWx0fSIsImNzcyIsIi5nbS1zdHlsZSAucGxhY2UtY2FyZC1sYXJnZXtwYWRkaW5nOjlweCA0cHggOXB4IDExcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkLW1lZGl1bXt3aWR0aDphdXRvO3BhZGRpbmc6OXB4IDExcHggOXB4IDExcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5kZWZhdWx0LWNhcmR7cGFkZGluZzo1cHggMTRweCA1cHggMTRweH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgYTpsaW5rLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGE6bGluaywuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOmxpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6IzFhNzNlOH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgYTp2aXNpdGVkLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGE6dmlzaXRlZCwuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOnZpc2l0ZWR7Y29sb3I6IzFhNzNlOH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIGE6aG92ZXIsLmdtLXN0eWxlIC5kZWZhdWx0LWNhcmQgYTpob3ZlciwuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1kZXNjLWxhcmdle3dpZHRoOjIwMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfSIsImNzcyIsIi5nbS1zdHlsZSAucGxhY2UtZGVzYy1tZWRpdW17ZGlzcGxheTppbmxpbmUtYmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5wbGFjZS1uYW1le292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7Y29sb3I6YmxhY2t9IiwiY3NzIiwnaHRtbFtkaXI9InJ0bCJdIC5nbS1zdHlsZSAucGxhY2UtbmFtZXtwYWRkaW5nLXJpZ2h0OjVweH0nLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLmFkZHJlc3N7bWFyZ2luLXRvcDo2cHh9IiwKImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3J7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpyaWdodDt6LWluZGV4OjF9IiwiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZSAudG9vbHRpcC1hbmNob3J7d2lkdGg6NTAlO2Rpc3BsYXk6bm9uZX0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlOmhvdmVyIC50b29sdGlwLWFuY2hvcntkaXNwbGF5OmlubGluZX0iLCJjc3MiLCIuZ20tc3R5bGUgLnRvb2x0aXAtYW5jaG9yPi50b29sdGlwLXRpcC1pbm5lciwuZ20tc3R5bGUgLnRvb2x0aXAtYW5jaG9yPi50b29sdGlwLXRpcC1vdXRlcnt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotOHB4fSIsImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3I+LnRvb2x0aXAtdGlwLW91dGVye2JvcmRlci1ib3R0b206OHB4IHNvbGlkICNjYmNiY2J9IiwKImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3I+LnRvb2x0aXAtdGlwLWlubmVye2JvcmRlci1ib3R0b206OHB4IHNvbGlkIHdoaXRlO3otaW5kZXg6MTt0b3A6MXB4fSIsImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDotNzBweDtsaW5lLWhlaWdodDoxMzclO3BhZGRpbmc6MTBweCAxMnB4IDEwcHggMTNweDt3aWR0aDoyMTBweDttYXJnaW46MDtib3JkZXI6MXB4IHNvbGlkICNjYmNiY2I7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNoYWRvdzowIDJweCA0cHggcmdiYSgwLDAsMCwwLjIpO2JhY2tncm91bmQtY29sb3I6d2hpdGV9IiwiY3NzIiwnaHRtbFtkaXI9InJ0bCJdIC5nbS1zdHlsZSAudG9vbHRpcC1jb250ZW50e2xlZnQ6LTEwcHh9JywiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7aGVpZ2h0OjQzcHg7cGFkZGluZzowIDdweH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZS1saW5re2Rpc3BsYXk6YmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5uYXZpZ2F0ZS10ZXh0e21hcmdpbi10b3A6NXB4O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiMxYTczZTg7Zm9udC1zaXplOjEycHg7bWF4LXdpZHRoOjEwMHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLmhpZGRlbnttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjttYXJnaW46MCBhdXRvfSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbntib3JkZXI6MH0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlLXNlcGFyYXRvcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxcHg7aGVpZ2h0OjQzcHg7dmVydGljYWwtYWxpZ246dG9wO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmYmZiZmIsI2UyZTJlMiwjZmJmYmZiKTtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYik7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYik7YmFja2dyb3VuZDotbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYil9IiwKImNzcyIsIi5nbS1zdHlsZSAucmV2aWV3LWJveHtwYWRkaW5nLXRvcDo1cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5yZXZpZXctYm94LWxpbmt7cGFkZGluZy1sZWZ0OjhweH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLnJldmlldy1udW1iZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzViNWI1Yjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5yZXZpZXctYm94IC5yYXRpbmctc3RhcnN7ZGlzcGxheTppbmxpbmUtYmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5yYXRpbmctc3RhcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMXB4O2hlaWdodDoxMXB4O292ZXJmbG93OmhpZGRlbn0iLCJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZHtjb2xvcjojNWI1YjViO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOy1tb3otdXNlci1zZWxlY3Q6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWNhcmQtbWVkaXVtLWxhcmdle2hlaWdodDo2MXB4O3BhZGRpbmc6MTBweCAxMXB4fSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy1pbmZve3BhZGRpbmctbGVmdDoyNXB4fSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy13YXlwb2ludHtoZWlnaHQ6MjBweH0iLCJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtYWRkcmVzc3tmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEzcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOmJsYWNrfSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy1pY29ue2Zsb2F0OmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4O2hlaWdodDo1MHB4O3dpZHRoOjIwcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWljb24gZGl2e3dpZHRoOjE1cHg7aGVpZ2h0OjQ1cHg7b3ZlcmZsb3c6aGlkZGVufSIsCiJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtc2VwYXJhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxcHg7bWFyZ2luLXRvcDozcHg7bWFyZ2luLWJvdHRvbTo0cHg7YmFja2dyb3VuZC1jb2xvcjojY2NjfSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlOmhvdmVyIC5uYXZpZ2F0ZS1pY29ue2JhY2tncm91bmQtcG9zaXRpb246NDhweCAwfSIsImNzcyIsIi5nbS1zdHlsZSAucmF0aW5nLWZ1bGwtc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjQ4cHggMTY1cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5yYXRpbmctaGFsZi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MzVweCAxNjVweH0iLCJjc3MiLCdodG1sW2Rpcj0icnRsIl0gLmdtLXN0eWxlIC5yYXRpbmctaGFsZi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MTBweCAxNjVweH0nLCJjc3MiLCIuZ20tc3R5bGUgLnJhdGluZy1lbXB0eS1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MjNweCAxNjVweH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWljb257YmFja2dyb3VuZC1wb3NpdGlvbjowIDE0NHB4fSIsImNzcyIsIi5nbS1zdHlsZSAuaW5mb3toZWlnaHQ6MzBweDt3aWR0aDozMHB4O2JhY2tncm91bmQtcG9zaXRpb246MTlweCAzNnB4fSIsImNzcyIsIi5nbS1zdHlsZSAuYm90dG9tLWFjdGlvbnN7cGFkZGluZy10b3A6MTBweH0iLCJjc3MiLCIuZ20tc3R5bGUgLmJvdHRvbS1hY3Rpb25zIC5nb29nbGUtbWFwcy1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrfSIsImNzcyIsIi5zYXZlZC1mcm9tLXNvdXJjZS1saW5re21hcmdpbi10b3A6NXB4O21heC13aWR0aDozMzFweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Il1dLHl0KCkpLEltKGEsInQtMm1TMU53M3VtbDQiKXx8SG0oYSwidC0ybVMxTnczdW1sNCIse30sWyJqc2wiLCwxLDAsIlZpZXcgbGFyZ2VyIG1hcCJdLFtdLFtbIiR0IiwidC0ybVMxTnczdW1sNCJdXSkpfQpZYSh3dCxobyk7d3QucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oYSl7Zm8odGhpcywwLGEpfTt2YXIgeHQ9InQtaU4ycGxHMkVIeGciO2Z1bmN0aW9uIHl0KCl7cmV0dXJuW1siJHQiLCJ0LWlOMnBsRzJFSHhnIiwiJGEiLFs3LCwsLCwiZGVmYXVsdC1jYXJkIl1dLFsiJGEiLFs3LCwsLCwiZ29vZ2xlLW1hcHMtbGluayIsLDFdLCIkYSIsWzgsMSwsLGZ1bmN0aW9uKGEpe3JldHVybiB0bChhLkhhLCIiLGZ1bmN0aW9uKGIpe3JldHVybiBBZShiLDEpfSl9LCJocmVmIiwsLDFdLCIkdWFlIixbImFyaWEtbGFiZWwiLGZ1bmN0aW9uKCl7cmV0dXJuIHJsKCJ0LTJtUzFOdzN1bWw0Iix7fSl9XSwiJGEiLFswLCwsLCJfYmxhbmsiLCJ0YXJnZXQiLCwxXSwiJGEiLFsyMiwsLCxkYSgibW91c2V1cDpkZWZhdWx0Q2FyZC5sYXJnZXJNYXAiKSwianNhY3Rpb24iLCwxXSwiJHVwIixbInQtMm1TMU53M3VtbDQiLHt9XV1dfTtmdW5jdGlvbiB6dChhKXtlby5jYWxsKHRoaXMsYSxBdCk7SW0oYSxBdCl8fChIbShhLEF0LHtzYjowLEhhOjF9LFsiZGl2IiwsMSwwLFsiICIsWyJkaXYiLCwsNF0sIiAiLFsiZGl2IiwsLDUsWyIgIixbImRpdiIsLCw2LFsiICIsWyJkaXYiLDU3NiwxLDEsIiAyNyBLb2FsYSBSZCwgRm9yZXN0IEhpbGwsIE5ldyBTb3V0aCBXYWxlcyAiXSwiICJdXSwiICIsWyJkaXYiLCwsN10sIiAiLFsiZGl2IiwsLDgsWyIgIixbImRpdiIsNTc2LDEsMiwiIEV1Y2FseXB0dXMgRHJpdmUsIE15cnRsZWZvcmQsIE5ldyBTb3V0aCBXYWxlcyAiXSwiICJdXSwiICIsWyJhIiwsMSwzLCJNb3JlIG9wdGlvbnMiXSwiICJdXSwiICJdXSxbWyJjc3MiLCIuZ20tc3R5bGUgLmljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL2VtYmVkL2ltYWdlcy9lbnRpdHkxMS5wbmcpO2JhY2tncm91bmQtc2l6ZTo3MHB4IDIxMHB4fSIsImNzcyIsIkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMiksKG1pbi1yZXNvbHV0aW9uOjEuMmRwcHgpLChtaW4tcmVzb2x1dGlvbjoxMTZkcGkpey5nbS1zdHlsZSAuaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvZW1iZWQvaW1hZ2VzL2VudGl0eTExX2hkcGkucG5nKTtiYWNrZ3JvdW5kLXNpemU6NzBweCAyMTBweH19IiwKImNzcyIsIi5nbS1zdHlsZSAuZXhwZXJpbWVudC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vbWFwcy5nc3RhdGljLmNvbS9tYXBmaWxlcy9lbWJlZC9pbWFnZXMvZXhwMi5wbmcpO2JhY2tncm91bmQtc2l6ZToxMDlweCAyNzZweH0iLCJjc3MiLCJAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoxLjIpLChtaW4tcmVzb2x1dGlvbjoxLjJkcHB4KSwobWluLXJlc29sdXRpb246MTE2ZHBpKXsuZ20tc3R5bGUgLmV4cGVyaW1lbnQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvZW1iZWQvaW1hZ2VzL2V4cDJfaGRwaS5wbmcpO2JhY2tncm91bmQtc2l6ZToxMDlweCAyNzZweH19Il0sWyJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgZGl2LC5nbS1zdHlsZSAucGxhY2UtY2FyZCBhLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGRpdiwuZ20tc3R5bGUgLmRlZmF1bHQtY2FyZCBhe2NvbG9yOiM1YjViNWI7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsO2ZvbnQtc2l6ZToxMnB4Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkLC5nbS1zdHlsZSAuZGlyZWN0aW9ucy1jYXJke2N1cnNvcjpkZWZhdWx0fSIsImNzcyIsIi5nbS1zdHlsZSAucGxhY2UtY2FyZC1sYXJnZXtwYWRkaW5nOjlweCA0cHggOXB4IDExcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkLW1lZGl1bXt3aWR0aDphdXRvO3BhZGRpbmc6OXB4IDExcHggOXB4IDExcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5kZWZhdWx0LWNhcmR7cGFkZGluZzo1cHggMTRweCA1cHggMTRweH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgYTpsaW5rLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGE6bGluaywuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOmxpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6IzFhNzNlOH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgYTp2aXNpdGVkLC5nbS1zdHlsZSAuZGVmYXVsdC1jYXJkIGE6dmlzaXRlZCwuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOnZpc2l0ZWR7Y29sb3I6IzFhNzNlOH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIGE6aG92ZXIsLmdtLXN0eWxlIC5kZWZhdWx0LWNhcmQgYTpob3ZlciwuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1kZXNjLWxhcmdle3dpZHRoOjIwMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfSIsImNzcyIsIi5nbS1zdHlsZSAucGxhY2UtZGVzYy1tZWRpdW17ZGlzcGxheTppbmxpbmUtYmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5wbGFjZS1uYW1le292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7Y29sb3I6YmxhY2t9IiwiY3NzIiwnaHRtbFtkaXI9InJ0bCJdIC5nbS1zdHlsZSAucGxhY2UtbmFtZXtwYWRkaW5nLXJpZ2h0OjVweH0nLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLmFkZHJlc3N7bWFyZ2luLXRvcDo2cHh9IiwKImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3J7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpyaWdodDt6LWluZGV4OjF9IiwiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZSAudG9vbHRpcC1hbmNob3J7d2lkdGg6NTAlO2Rpc3BsYXk6bm9uZX0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlOmhvdmVyIC50b29sdGlwLWFuY2hvcntkaXNwbGF5OmlubGluZX0iLCJjc3MiLCIuZ20tc3R5bGUgLnRvb2x0aXAtYW5jaG9yPi50b29sdGlwLXRpcC1pbm5lciwuZ20tc3R5bGUgLnRvb2x0aXAtYW5jaG9yPi50b29sdGlwLXRpcC1vdXRlcnt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotOHB4fSIsImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3I+LnRvb2x0aXAtdGlwLW91dGVye2JvcmRlci1ib3R0b206OHB4IHNvbGlkICNjYmNiY2J9IiwKImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1hbmNob3I+LnRvb2x0aXAtdGlwLWlubmVye2JvcmRlci1ib3R0b206OHB4IHNvbGlkIHdoaXRlO3otaW5kZXg6MTt0b3A6MXB4fSIsImNzcyIsIi5nbS1zdHlsZSAudG9vbHRpcC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDotNzBweDtsaW5lLWhlaWdodDoxMzclO3BhZGRpbmc6MTBweCAxMnB4IDEwcHggMTNweDt3aWR0aDoyMTBweDttYXJnaW46MDtib3JkZXI6MXB4IHNvbGlkICNjYmNiY2I7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNoYWRvdzowIDJweCA0cHggcmdiYSgwLDAsMCwwLjIpO2JhY2tncm91bmQtY29sb3I6d2hpdGV9IiwiY3NzIiwnaHRtbFtkaXI9InJ0bCJdIC5nbS1zdHlsZSAudG9vbHRpcC1jb250ZW50e2xlZnQ6LTEwcHh9JywiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7aGVpZ2h0OjQzcHg7cGFkZGluZzowIDdweH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5uYXZpZ2F0ZS1saW5re2Rpc3BsYXk6YmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5uYXZpZ2F0ZS10ZXh0e21hcmdpbi10b3A6NXB4O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiMxYTczZTg7Zm9udC1zaXplOjEycHg7bWF4LXdpZHRoOjEwMHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLmhpZGRlbnttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVufSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O292ZXJmbG93OmhpZGRlbjttYXJnaW46MCBhdXRvfSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbntib3JkZXI6MH0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlLXNlcGFyYXRvcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxcHg7aGVpZ2h0OjQzcHg7dmVydGljYWwtYWxpZ246dG9wO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNmYmZiZmIsI2UyZTJlMiwjZmJmYmZiKTtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYik7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYik7YmFja2dyb3VuZDotbGluZWFyLWdyYWRpZW50KHRvcCwjZmJmYmZiLCNlMmUyZTIsI2ZiZmJmYil9IiwKImNzcyIsIi5nbS1zdHlsZSAucmV2aWV3LWJveHtwYWRkaW5nLXRvcDo1cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5wbGFjZS1jYXJkIC5yZXZpZXctYm94LWxpbmt7cGFkZGluZy1sZWZ0OjhweH0iLCJjc3MiLCIuZ20tc3R5bGUgLnBsYWNlLWNhcmQgLnJldmlldy1udW1iZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzViNWI1Yjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5yZXZpZXctYm94IC5yYXRpbmctc3RhcnN7ZGlzcGxheTppbmxpbmUtYmxvY2t9IiwiY3NzIiwiLmdtLXN0eWxlIC5yYXRpbmctc3RhcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMXB4O2hlaWdodDoxMXB4O292ZXJmbG93OmhpZGRlbn0iLCJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtY2FyZHtjb2xvcjojNWI1YjViO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOy1tb3otdXNlci1zZWxlY3Q6dGV4dDstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7dXNlci1zZWxlY3Q6dGV4dH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWNhcmQtbWVkaXVtLWxhcmdle2hlaWdodDo2MXB4O3BhZGRpbmc6MTBweCAxMXB4fSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy1pbmZve3BhZGRpbmctbGVmdDoyNXB4fSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy13YXlwb2ludHtoZWlnaHQ6MjBweH0iLCJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtYWRkcmVzc3tmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEzcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOmJsYWNrfSIsImNzcyIsIi5nbS1zdHlsZSAuZGlyZWN0aW9ucy1pY29ue2Zsb2F0OmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4O2hlaWdodDo1MHB4O3dpZHRoOjIwcHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWljb24gZGl2e3dpZHRoOjE1cHg7aGVpZ2h0OjQ1cHg7b3ZlcmZsb3c6aGlkZGVufSIsCiJjc3MiLCIuZ20tc3R5bGUgLmRpcmVjdGlvbnMtc2VwYXJhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxcHg7bWFyZ2luLXRvcDozcHg7bWFyZ2luLWJvdHRvbTo0cHg7YmFja2dyb3VuZC1jb2xvcjojY2NjfSIsImNzcyIsIi5nbS1zdHlsZSAubmF2aWdhdGUtaWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0iLCJjc3MiLCIuZ20tc3R5bGUgLm5hdmlnYXRlOmhvdmVyIC5uYXZpZ2F0ZS1pY29ue2JhY2tncm91bmQtcG9zaXRpb246NDhweCAwfSIsImNzcyIsIi5nbS1zdHlsZSAucmF0aW5nLWZ1bGwtc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjQ4cHggMTY1cHh9IiwiY3NzIiwiLmdtLXN0eWxlIC5yYXRpbmctaGFsZi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MzVweCAxNjVweH0iLCJjc3MiLCdodG1sW2Rpcj0icnRsIl0gLmdtLXN0eWxlIC5yYXRpbmctaGFsZi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MTBweCAxNjVweH0nLCJjc3MiLCIuZ20tc3R5bGUgLnJhdGluZy1lbXB0eS1zdGFye2JhY2tncm91bmQtcG9zaXRpb246MjNweCAxNjVweH0iLAoiY3NzIiwiLmdtLXN0eWxlIC5kaXJlY3Rpb25zLWljb257YmFja2dyb3VuZC1wb3NpdGlvbjowIDE0NHB4fSIsImNzcyIsIi5nbS1zdHlsZSAuaW5mb3toZWlnaHQ6MzBweDt3aWR0aDozMHB4O2JhY2tncm91bmQtcG9zaXRpb246MTlweCAzNnB4fSIsImNzcyIsIi5nbS1zdHlsZSAuYm90dG9tLWFjdGlvbnN7cGFkZGluZy10b3A6MTBweH0iLCJjc3MiLCIuZ20tc3R5bGUgLmJvdHRvbS1hY3Rpb25zIC5nb29nbGUtbWFwcy1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrfSIsImNzcyIsIi5zYXZlZC1mcm9tLXNvdXJjZS1saW5re21hcmdpbi10b3A6NXB4O21heC13aWR0aDozMzFweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Il1dLEJ0KCkpLEltKGEsInQtdFBIOVNiQXlncE0iKXx8SG0oYSwidC10UEg5U2JBeWdwTSIse30sWyJqc2wiLCwxLDAsIk1vcmUgb3B0aW9ucyJdLFtdLFtbIiR0IiwidC10UEg5U2JBeWdwTSJdXSkpfQpZYSh6dCxobyk7enQucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oYSxiKXtmbyh0aGlzLDAsYSk7Zm8odGhpcywxLGIpfTt2YXIgQXQ9InQtLXRSbXVnTW5iY1kiO2Z1bmN0aW9uIEN0KGEpe3JldHVybiBhLkVjfWZ1bmN0aW9uIER0KGEpe3JldHVybiBhLkZjfQpmdW5jdGlvbiBCdCgpe3JldHVybltbIiR0IiwidC0tdFJtdWdNbmJjWSIsIiRhIixbNywsLCwsImRpcmVjdGlvbnMtY2FyZCJdLCIkYSIsWzcsLCwsLCJkaXJlY3Rpb25zLWNhcmQtbWVkaXVtLWxhcmdlIl0sIiRhIixbNSw1LCwsZnVuY3Rpb24oYSl7cmV0dXJuIGEuTj9ubCgid2lkdGgiLFN0cmluZyh0bChhLkhhLDAsZnVuY3Rpb24oYil7cmV0dXJuIHRlKGIsUm8sMSl9LGZ1bmN0aW9uKGIpe3JldHVybiB6ZShiLDEpfSkpKyJweCIpOlN0cmluZyh0bChhLkhhLDAsZnVuY3Rpb24oYil7cmV0dXJuIHRlKGIsUm8sMSl9LGZ1bmN0aW9uKGIpe3JldHVybiB6ZShiLDEpfSkpKyJweCJ9LCJ3aWR0aCIsLCwxXV0sWyJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLkVjPXRsKGEuc2IsIiIsZnVuY3Rpb24oYil7cmV0dXJuIENlKGIsMil9LGZ1bmN0aW9uKGIpe3JldHVybiBiWzBdfSl9LCIkZGMiLFtDdCwhMV0sIiRhIixbNywsLCwsImRpcmVjdGlvbnMtYWRkcmVzcyJdLCIkYyIsWywsQ3RdXSwKWyJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLkZjPXRsKGEuc2IsIiIsZnVuY3Rpb24oYil7cmV0dXJuIENlKGIsMil9LGZ1bmN0aW9uKGIpe3JldHVybiBiW3VsKGEuc2IsZnVuY3Rpb24oYyl7cmV0dXJuIENlKGMsMil9KS0xXX0pfSwiJGRjIixbRHQsITFdLCIkYSIsWzcsLCwsLCJkaXJlY3Rpb25zLWFkZHJlc3MiXSwiJGMiLFssLER0XV0sWyIkYSIsWzcsLCwsLCJnb29nbGUtbWFwcy1saW5rIiwsMV0sIiRhIixbOCwxLCwsZnVuY3Rpb24oYSl7cmV0dXJuIHRsKGEuSGEsIiIsZnVuY3Rpb24oYil7cmV0dXJuIHRlKGIsUG8sMyl9LGZ1bmN0aW9uKGIpe3JldHVybiBBZShiLDEpfSl9LCJocmVmIiwsLDFdLCIkdWFlIixbImFyaWEtbGFiZWwiLGZ1bmN0aW9uKCl7cmV0dXJuIHJsKCJ0LXRQSDlTYkF5Z3BNIix7fSl9XSwiJGEiLFswLCwsLCJfYmxhbmsiLCJ0YXJnZXQiLCwxXSwiJGEiLFsyMiwsLCxkYSgibW91c2V1cDpkaXJlY3Rpb25zQ2FyZC5tb3JlT3B0aW9ucyIpLCJqc2FjdGlvbiIsCiwxXSwiJHVwIixbInQtdFBIOVNiQXlncE0iLHt9XV0sWyIkYSIsWzcsLCwsLCJpY29uIiwsMV0sIiRhIixbNywsLCwsImRpcmVjdGlvbnMtaWNvbiIsLDFdXSxbIiRhIixbNywsLCwsImRpcmVjdGlvbnMtaW5mbyIsLDFdXSxbIiRhIixbNywsLCwsImRpcmVjdGlvbnMtd2F5cG9pbnQiLCwxXV0sWyIkYSIsWzcsLCwsLCJkaXJlY3Rpb25zLXNlcGFyYXRvciIsLDFdXSxbIiRhIixbNywsLCwsImRpcmVjdGlvbnMtd2F5cG9pbnQiLCwxXV1dfTtmdW5jdGlvbiBFdChhLGIsYyl7dGhpcy5pZD1hO3RoaXMubmFtZT1iO3RoaXMudGl0bGU9Y312YXIgRnQ9W107ZnVuY3Rpb24gR3QoYSxiLGMsZCl7ZD1IdChkLEl0LEp0KTt2YXIgZT1KU09OLGY9ZS5wYXJzZTt2YXIgZz1KU09OLnN0cmluZ2lmeShKZChiKSk7ZT1mLmNhbGwoZSxnKTtjPUt0KGUsZCxjKTtpZyhiLG5ldyBhKGUpKTtyZXR1cm4gY31mdW5jdGlvbiBMdCgpe3RoaXMuZmllbGRzPW5ldyBNYXB9THQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5maWVsZHMuZ2V0KGEpfTtmdW5jdGlvbiBNdChhLGIsYyxkLGUpe3RoaXMuaj1hO3RoaXMubD1iO3RoaXMuaT1jO3RoaXMuZz1kO3RoaXMubWVzc2FnZT1lfWZ1bmN0aW9uIE50KGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiP01hdGgucm91bmQoYSoxRTcpLzFFNzphfQpmdW5jdGlvbiBIdChhLGIsYyl7dmFyIGQ9YlthXTtpZih0eXBlb2YgZD09PSJvYmplY3QiKXJldHVybiBkO3ZhciBlPW5ldyBMdDtiW2FdPWU7YT0xO2ZvcihkPW5ldyBPdChkKTshZC5kb25lKCk7KXthKz1QdChkKXx8MDtkLmRvbmUoKTt2YXIgZj1kLmcuY2hhckNvZGVBdChkLm5leHQrKyktNjUsZz0oZiYxKT4wLGg9KGYmOCk+MCxrPXZvaWQgMCxsPXZvaWQgMDtmJjQ/bD1IdChQdChkKSxiLGMpOmYmMiYmKGs9UHQoZCksaz1jW2tdKTtmPWU7Zz1uZXcgTXQoYSsrLGcsaCxrLGwpO2YuZmllbGRzLnNldChnLmosZyk7ZC5kb25lKCl8fGQuZy5jaGFyQ29kZUF0KGQubmV4dCkhPT00NHx8ZC5uZXh0Kyt9cmV0dXJuIGV9ZnVuY3Rpb24gT3QoYSl7dGhpcy5nPWE7dGhpcy5uZXh0PTB9T3QucHJvdG90eXBlLmRvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZXh0Pj10aGlzLmcubGVuZ3RofTsKZnVuY3Rpb24gUHQoYSl7YS5kb25lKCk7Zm9yKHZhciBiPXZvaWQgMCxjPWEuZy5jaGFyQ29kZUF0KGEubmV4dCk7IWEuZG9uZSgpJiZjPj00OCYmYzw9NTc7Yz1hLmcuY2hhckNvZGVBdCgrK2EubmV4dCkpYy09NDgsYj1iP2IqMTArYzpjO3JldHVybiBifWZ1bmN0aW9uIEt0KGEsYixjKXt2YXIgZD1hLmxlbmd0aDtpZighZClyZXR1cm4hMDt2YXIgZT1hW2QtMV0sZj0hMDtpZihlJiZ0eXBlb2YgZT09PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKSl7ZC0tO2Zvcih2YXIgZyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkoZykpe3ZhciBoPVF0KE51bWJlcihnKSxlW2ddLGIsYyk7aD09bnVsbD9kZWxldGUgZVtnXTooZj0hMSxlW2ddPWgpfX1lPTE7Zm9yKGg9Zz0wO2g8ZDtoPWUrKyl7dmFyIGs9UXQoZSxhW2hdLGIsYyk7YVtoXT1rO2shPW51bGwmJihnPWUpfWYmJihhLmxlbmd0aD1nKTtyZXR1cm4hYS5sZW5ndGh9CmZ1bmN0aW9uIFF0KGEsYixjLGQpe2lmKGI9PW51bGwpcmV0dXJuIGI7YT1jLmdldChhKTtpZighYSlyZXR1cm4gYjtpZihhLmwpe2lmKCFBcnJheS5pc0FycmF5KGIpKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gbnVsbDtpZihhLmkpe2lmKGQmMilmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWJbZF09TnQoYltkXSl9ZWxzZSBpZihhLm1lc3NhZ2Upe2M9QShiKTtmb3IodmFyIGU9Yy5uZXh0KCk7IWUuZG9uZTtlPWMubmV4dCgpKWU9ZS52YWx1ZSxBcnJheS5pc0FycmF5KGUpJiZLdChlLGEubWVzc2FnZSxkKX19ZWxzZSBpZihhLmkpe2lmKGQmMiYmKGI9TnQoYikpLGQmMSYmYj09PShhLmd8fDApKXJldHVybiBudWxsfWVsc2UgaWYoYS5tZXNzYWdlKXtpZigoIUFycmF5LmlzQXJyYXkoYil8fEt0KGIsYS5tZXNzYWdlLGQpKSYmZCYxKXJldHVybiBudWxsfWVsc2UgZCYxJiYoYj1SdChiLGEuZykpO3JldHVybiBifQpmdW5jdGlvbiBSdChhLGIpe3N3aXRjaCh0eXBlb2YgYil7Y2FzZSAidW5kZWZpbmVkIjpyZXR1cm4gYXx8bnVsbDtjYXNlICJib29sZWFuIjpyZXR1cm4gYT9udWxsOmE7Y2FzZSAic3RyaW5nIjpyZXR1cm4gYT09PWI/bnVsbDphO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE9PT1ifHxhPT09U3RyaW5nKGIpP251bGw6YTtkZWZhdWx0OlljKGIpfX07dmFyIFN0PWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI7aWYoKGI9YSk9PW51bGwpe2lmKCEoKHhxPT1udWxsP3ZvaWQgMDp4cS5wcm90b3R5cGUpaW5zdGFuY2VvZiBQKSl0aHJvdyBFcnJvcigpO3hxW2JjXXx8KHhxW2JjXT15ZCh4cSkpO25ldyB4cTtiPXt9O2I9YT0oYltoaF09SXEsYltpaF09eHEsYil9cmV0dXJuIGJ9fSgpO3ZhciBJdD0iQUUxRTJFN0U1NEU2RTZBRTU1RTU2RTYwQUFFNiwxRTYyRTYzRTEgQUEgQUUzRTRBQUMxIEFJSUlJSUlJSUkgQUMwQzFBQUFBQUU1RTYgQUFFM0EgQSBFN0U4RTE3RTIxRTI2RTE0RTI3RTI5RTZFMUUzNUUzNkU2RTM4RTM5RTQxRTFFMUU0M0U0NEU2RTZFNDVFNDZFNkU0N0U1MEU1MkU1MyBBQUU5QUUxMUEgQUFBRTEwQzEgSUlJIEJBQkMyRTEyQkFBQUFBMUJFNkJBRjZFNkU2RTEzRTE0RTFFMTVGMTYgQUMxQUU2QSBBQUFFMSBBQUEgQUIgSUlBIEFBQUFFMTJFMThBRTE5RTZBRTFBRTFFMjBBQTFFMUEgQUFBQUEgMklJICBGMjJFMjRDNEFBRTI1QTNBIEUxN0UxMEYyM0FBQSBFMTBJQSBBQUFDMUJDM0MxQUFBQUEgQzVDNUM1IEFBQUEgRTFBRTIwRTE0RTI4IEFBMUEgQUFFNkFFMzBFNkUzMyBBRTMxRTFFMSBFMUUzMiBBRTE3RTYgQUUzNCBFMSAxQUFBQSBBRTM3IEYxOCBFMzEgRTZBRTQwIDJFMTlFMTkgMUYyMEU0MiBFNkEgQkY2IDFBRTEgRTMyIDhBIEYxNEY0OCBBRjQ5QSAxQUU2QUFBIEY1MSBFMTcgRjYgQUU2QUFBIEJCQSBBQUFBQUFBQSBBQUU1N0FFNTggQUFFMTlBIEU1OUUxOSBBQkFBQUFFMSBFNkU2MUFBQUFBQUFFMUFFNiBCQUY2RTExQUEgRTIwIEFBQUU2Ii5zcGxpdCgiICIpLApKdD1bOTksMSw1LDFFMyw2LC0xXTt2YXIgVHQ9L14oLT9cZCsoXC5cZCspPyksKC0/XGQrKFwuXGQrKT8pKCwoLT9cZCsoXC5cZCspPykpPyQvO2Z1bmN0aW9uIFV0KGEsYil7YT1hLnRvRml4ZWQoYik7Zm9yKGI9YS5sZW5ndGgtMTtiPjA7Yi0tKXt2YXIgYz1hLmNoYXJDb2RlQXQoYik7aWYoYyE9PTQ4KWJyZWFrfXJldHVybiBhLnN1YnN0cmluZygwLGM9PT00Nj9iOmIrMSl9O2Z1bmN0aW9uIFZ0KGEpe2lmKCFIZShhLDIpfHwhSGUoYSwzKSlyZXR1cm4gbnVsbDt2YXIgYj1bVXQoTyhhLDMpLDcpLFV0KE8oYSwyKSw3KV07c3dpdGNoKGEuZ2V0VHlwZSgpKXtjYXNlIDA6Yi5wdXNoKE1hdGgucm91bmQoTyhhLDUpKSsiYSIpO0hlKGEsNykmJmIucHVzaChVdChPKGEsNyksMSkrInkiKTticmVhaztjYXNlIDE6aWYoIUhlKGEsNCkpcmV0dXJuIG51bGw7Yi5wdXNoKFN0cmluZyhNYXRoLnJvdW5kKE8oYSw0KSkpKyJtIik7YnJlYWs7Y2FzZSAyOmlmKCFIZShhLDYpKXJldHVybiBudWxsO2IucHVzaChVdChPKGEsNiksMikrInoiKTticmVhaztkZWZhdWx0OnJldHVybiBudWxsfXZhciBjPU8oYSw4KTtjIT09MCYmYi5wdXNoKFV0KGMsMikrImgiKTtjPU8oYSw5KTtjIT09MCYmYi5wdXNoKFV0KGMsMikrInQiKTthPU8oYSwxMCk7YSE9PTAmJmIucHVzaChVdChhLDIpKyJyIik7cmV0dXJuIkAiK2Iuam9pbigiLCIpfTt2YXIgV3Q9W3t3YToxLERhOiJyZXZpZXdzIn0se3dhOjIsRGE6InBob3RvcyJ9LHt3YTozLERhOiJjb250cmlidXRlIn0se3dhOjQsRGE6ImVkaXRzIn0se3dhOjcsRGE6ImV2ZW50cyJ9LHt3YTo5LERhOiJhbnN3ZXJzIn1dO2Z1bmN0aW9uIFh0KCl7dGhpcy5pPVtdO3RoaXMuZz10aGlzLmo9bnVsbH1YdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmkubGVuZ3RoPTA7dGhpcy5qPXt9O3RoaXMuZz1udWxsfTtmdW5jdGlvbiBZdChhLGIsYyl7YS5pLnB1c2goYz9adChiLCEwKTpiKX12YXIgJHQ9LyUoNDB8M0F8MjR8MkN8M0IpL2csYXU9LyUyMC9nO2Z1bmN0aW9uIFp0KGEsYil7YiYmKGI9a2oudGVzdChqaihhKSkpO2ImJihhKz0iXHUyMDJkIik7YT1lbmNvZGVVUklDb21wb25lbnQoYSk7JHQubGFzdEluZGV4PTA7YT1hLnJlcGxhY2UoJHQsZGVjb2RlVVJJQ29tcG9uZW50KTthdS5sYXN0SW5kZXg9MDtyZXR1cm4gYT1hLnJlcGxhY2UoYXUsIisiKX1mdW5jdGlvbiBidShhKXtyZXR1cm4vXlsnQF18JTQwLy50ZXN0KGEpPyInIithKyInIjphfTtmdW5jdGlvbiBjdShhKXt0aGlzLmk9dGhpcy5nPW51bGw7dmFyIGI9IiIsYz1udWxsLGQ9bnVsbDthPXVlKGEsTHAsMjIsbHApO2lmKE1wKGEpKXtjPXVlKGEsSXAsNCxOcCk7Yj1KcChjKTt2ZChZZChiLDQpKSE9bnVsbD9iPSImY2lkPSIrQWUoYiw0KTooZD1kdShjKSx2ZChZZChiLDEpKSE9bnVsbD9iPSImcT0iK2VuY29kZVVSSUNvbXBvbmVudChkKTooYj15ZShjLDIzKT9udWxsOmRwKHFwKEpwKGMpKSkrIiwiK2VwKHFwKEpwKGMpKSksYj0iJnE9IitlbmNvZGVVUklDb21wb25lbnQoZCkrKGI/IkAiK2VuY29kZVVSSShiKToiIikpKTtpZihKcChjKSYmcXAoSnAoYykpKXt2YXIgZT1xcChKcChjKSk7ZD1kcChlKTtlPWVwKGUpfWVsc2UgZT1CaChNKGEsQWgsMSkpLGQ9TyhlLDMpLGU9TyhlLDIpO2Q9VnAoYSxuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKGQsZSkpO2lmKHllKGMsMjMpKWM9bnVsbDtlbHNle2E9bmV3IHhxO2U9d3EoTChhLHZxLDQpKTt3ZShlLDEsZ3EpO3ZhciBmPUpwKGMpLApnPXdlKGUsMSxncSk7ZT1lcChxcChmKSk7dmFyIGg9ZHAocXAoZikpLGs9QWUoZiwxKTtrJiZrIT09IjB4MDoweDAiPyhrPUwoZyxicSwxKSxmPUFlKGYsMSksR2UoaywxLGYpLGM9ZHUoYyksZz1MKGcsYnEsMSksR2UoZywyLGMpKTooYz1MKGcsZnEsMiksRmUoYywxLGUpLGM9TChnLGZxLDIpLEZlKGMsMixoKSk7Yz0kcChMKGEsWnAsMykpO2lmKCFiZCgyKSl0aHJvdyBXYigiZW51bSIpO0ooYywxLDIpO0ZlKGMsMixlKTtGZShjLDMsaCk7Yz1hfX1lbHNlIGlmKGJlKGEsb3AsNSxOcCkpe2E9dWUoYSxvcCw1LE5wKTtlPUNlKGEsMik7ZT13YihlLGVuY29kZVVSSUNvbXBvbmVudCk7Yj1lWzBdO2U9ZS5zbGljZSgxKS5qb2luKCIrdG86Iik7c3dpdGNoKEJlKGEsMykpe2Nhc2UgMDphPSJkIjticmVhaztjYXNlIDI6YT0idyI7YnJlYWs7Y2FzZSAzOmE9InIiO2JyZWFrO2Nhc2UgMTphPSJiIjticmVhaztkZWZhdWx0OmE9ImQifWI9IiZzYWRkcj0iK2IrIiZkYWRkcj0iK2UrIiZkaXJmbGc9IisKYX1lbHNlIGJlKGEsS3AsNixOcCkmJihiPXVlKGEsS3AsNixOcCksYj0iJnE9IitlbmNvZGVVUklDb21wb25lbnQoQWUoYiwxKSkpO3RoaXMuQT1iO3RoaXMuaj1jO3RoaXMubD1kfXooY3UsVik7CmZ1bmN0aW9uIGV1KGEpe3ZhciBiPWEuZ2V0KCJtYXBVcmwiKTthLnNldCgiZW1iZWRVcmwiLCIiK2IrKGEuZ3x8YS5BKSk7Yj1uZXcgUWsoYik7dmFyIGM9bnVsbCxkPWEuaXx8YS5qO2lmKGQpe2M9Yi5pLmdldCgieiIpO3ZhciBlPU51bWJlcihjKTtjPWMmJiFpc05hTihlKT9NYXRoLmZsb29yKGUpOm51bGw7Yz1jIT09bnVsbCYmYz49MCYmYzw9MjE/YzphLmw7ZT0kcChMKGQsWnAsMykpO0ZlKGUsNixjKTtjPW5ldyBYdDtjLnJlc2V0KCk7Yy5nPW5ldyB4cTtpZyhjLmcsZCk7SihjLmcsOSk7ZT0hMDtkPSExO2lmKEsoYy5nLHZxLDQpKXt2YXIgZj1MKGMuZyx2cSw0KTtpZihLKGYsaHEsNCkpe2U9d3EoZik7WXQoYywiZGlyIiwhMSk7Zj1kZShlLGdxLDEpO2Zvcih2YXIgZz0wO2c8ZjtnKyspe3ZhciBoPWdlKGUsMSxncSxnKTtpZihLKGgsYnEsMSkpe2g9TChoLGJxLDEpO3ZhciBrPUFlKGgsMik7SihoLDIpO2g9aztoPWgubGVuZ3RoPT09MHx8L15bJ0BdfCU0MC8udGVzdChoKXx8ClR0LnRlc3QoaCk/IiciK2grIiciOmh9ZWxzZSBpZihLKGgsZnEsMikpe2s9TShoLGZxLDIpO3ZhciBsPVtVdChPKGssMiksNyksVXQoTyhrLDEpLDcpXTtIZShrLDMpJiZPKGssMykhPT0wJiZsLnB1c2goTWF0aC5yb3VuZChPKGssMykpKTtrPWwuam9pbigiLCIpO0ooaCwyKTtoPWt9ZWxzZSBoPSIiO1l0KGMsaCwhMCl9ZT0hMX1lbHNlIGlmKEsoZixxcSwyKSllPUwoZixxcSwyKSxZdChjLCJzZWFyY2giLCExKSxZdChjLGJ1KEFlKGUsMSkpLCEwKSxKKGUsMSksZT0hMTtlbHNlIGlmKEsoZixicSwzKSllPUwoZixicSwzKSxZdChjLCJwbGFjZSIsITEpLFl0KGMsYnUoQWUoZSwyKSksITApLGU9SihlLDIpLEooZSwzKSxlPSExO2Vsc2UgaWYoSyhmLGNxLDgpKXtpZihmPUwoZixjcSw4KSxZdChjLCJjb250cmliIiwhMSksdmQoWWQoZiwyKSkhPW51bGwpaWYoWXQoYyxBZShmLDIpLCExKSxKKGYsMiksdmQoWWQoZiw0KSkhPW51bGwpWXQoYywicGxhY2UiLCExKSxZdChjLEFlKGYsNCksCiExKSxKKGYsNCk7ZWxzZSBpZih4ZShmLDEpIT1udWxsKWZvcihnPUJlKGYsMSksaD0wO2g8V3QubGVuZ3RoOysraClpZihXdFtoXS53YT09PWcpe1l0KGMsV3RbaF0uRGEsITEpO0ooZiwxKTticmVha319ZWxzZSBLKGYsc3EsMjYpP1l0KGMsImNvbnRyaWIiLCExKTpLKGYsb3EsMTQpPyhZdChjLCJyZXZpZXdzIiwhMSksZT0hMSk6SyhmLHJxLDI3KT9kPSEwOksoZixrcSw5KXx8SyhmLGxxLDYpfHxLKGYsaXEsMTMpfHxLKGYsbXEsNyl8fEsoZixqcSwxNSl8fEsoZixkcSwyMSl8fEsoZixwcSwxMSl8fEsoZix1cSwxMCl8fEsoZix0cSwxNil8fEsoZixucSwxNyl8fEsoZixhcSwyOSl9ZWxzZXtpZihmPUsoYy5nLFpwLDMpKWY9TShjLmcsWnAsMyksZj1CZShmLDYsMSkhPT0xO2lmKGYpe2U9TShjLmcsWnAsMyk7ZT1CZShlLDYsMSk7RnQubGVuZ3RoPjB8fChGdFswXT1udWxsLEZ0WzFdPW5ldyBFdCgxLCJlYXJ0aCIsIkVhcnRoIiksRnRbMl09bmV3IEV0KDIsIm1vb24iLCJNb29uIiksCkZ0WzNdPW5ldyBFdCgzLCJtYXJzIiwiTWFycyIpLEZ0WzVdPW5ldyBFdCg1LCJtZXJjdXJ5IiwiTWVyY3VyeSIpLEZ0WzZdPW5ldyBFdCg2LCJ2ZW51cyIsIlZlbnVzIiksRnRbNF09bmV3IEV0KDQsImlzcyIsIkludGVybmF0aW9uYWwgU3BhY2UgU3RhdGlvbiIpLEZ0WzExXT1uZXcgRXQoMTEsImNlcmVzIiwiQ2VyZXMiKSxGdFsxMl09bmV3IEV0KDEyLCJwbHV0byIsIlBsdXRvIiksRnRbMTddPW5ldyBFdCgxNywidmVzdGEiLCJWZXN0YSIpLEZ0WzE4XT1uZXcgRXQoMTgsImlvIiwiSW8iKSxGdFsxOV09bmV3IEV0KDE5LCJldXJvcGEiLCJFdXJvcGEiKSxGdFsyMF09bmV3IEV0KDIwLCJnYW55bWVkZSIsIkdhbnltZWRlIiksRnRbMjFdPW5ldyBFdCgyMSwiY2FsbGlzdG8iLCJDYWxsaXN0byIpLEZ0WzIyXT1uZXcgRXQoMjIsIm1pbWFzIiwiTWltYXMiKSxGdFsyM109bmV3IEV0KDIzLCJlbmNlbGFkdXMiLCJFbmNlbGFkdXMiKSxGdFsyNF09bmV3IEV0KDI0LCJ0ZXRoeXMiLCJUZXRoeXMiKSwKRnRbMjVdPW5ldyBFdCgyNSwiZGlvbmUiLCJEaW9uZSIpLEZ0WzI2XT1uZXcgRXQoMjYsInJoZWEiLCJSaGVhIiksRnRbMjddPW5ldyBFdCgyNywidGl0YW4iLCJUaXRhbiIpLEZ0WzI4XT1uZXcgRXQoMjgsImlhcGV0dXMiLCJJYXBldHVzIiksRnRbMjldPW5ldyBFdCgyOSwiY2hhcm9uIiwiQ2hhcm9uIikpO2lmKGU9RnRbZV18fG51bGwpWXQoYywic3BhY2UiLCExKSxZdChjLGUubmFtZSwhMCk7ZT1MKGMuZyxacCwzKTtKKGUsNik7ZT0hMX19Zj1MKGMuZyxacCwzKTtnPSExO0soZixZcCwyKSYmKGg9VnQoTShmLFlwLDIpKSxoIT09bnVsbCYmKGMuaS5wdXNoKGgpLGc9ITApLEooZiwyKSk7IWcmJmUmJmMuaS5wdXNoKCJAIik7QmUoYy5nLDEpPT09MSYmKGMuai5hbT0idCIsSihjLmcsMSkpO0ooYy5nLDIpO0soYy5nLFpwLDMpJiYoZT1MKGMuZyxacCwzKSxmPUJlKGUsMSksZiE9PTAmJmYhPT0zfHxKKGUsMykpO0d0KHhxLGMuZywyLDApO2lmKGU9SyhjLmcsdnEsNCkpZT1NKGMuZywKdnEsNCksZT1LKGUsaHEsNCk7aWYoZSl7ZT13cShMKGMuZyx2cSw0KSk7Zj0hMTtnPWRlKGUsZ3EsMSk7Zm9yKGg9MDtoPGc7aCsrKWlmKGs9Z2UoZSwxLGdxLGgpLCFHdChncSxrLDEsMjIpKXtmPSEwO2JyZWFrfWZ8fEooZSwxKX1HdCh4cSxjLmcsMSwwKTtmPWMuZztlPVN0KCk7Zz1lW2loXTtlPXhnKHRnLG1oLG5oLGVbaGhdKTtlLm1lc3NhZ2VUeXBlIT1udWxsfHwoZS5tZXNzYWdlVHlwZT1nKTtmPU5oKGYpO2c9QXJyYXkoNzY4KTtMaChmLGUsMCxnLDApOyhlPWcuam9pbigiIikpJiYoYy5qLmRhdGE9ZSk7ZCYmWXQoYywic2hvcnRsaXN0IiwhMSk7ZD1jLmouZGF0YTtkZWxldGUgYy5qLmRhdGE7ZT1PYmplY3Qua2V5cyhjLmopO2Uuc29ydCgpO2ZvcihmPTA7ZjxlLmxlbmd0aDtmKyspZz1lW2ZdLGMuaS5wdXNoKGcrIj0iK1p0KGMualtnXSkpO2QmJmMuaS5wdXNoKCJkYXRhPSIrWnQoZCwhMSkpO2MuaS5sZW5ndGg+MCYmKGQ9Yy5pLmxlbmd0aC0xLGMuaVtkXT09PSJAIiYmCmMuaS5zcGxpY2UoZCwxKSk7Yz1jLmkubGVuZ3RoPjA/Ii8iK2MuaS5qb2luKCIvIik6IiJ9Yi5pLmNsZWFyKCk7YS5zZXQoImVtYmVkRGlyZWN0aW9uc1VybCIsYz9iLnRvU3RyaW5nKCkrYzpudWxsKX1jdS5wcm90b3R5cGUubWFwVXJsX2NoYW5nZWQ9ZnVuY3Rpb24oKXtldSh0aGlzKX07ZnVuY3Rpb24gZHUoYSl7dmFyIGI9W0FlKGEsMildLGM9Yi5jb25jYXQ7YT1DZShhLDMpO3JldHVybiBjLmNhbGwoYix0YShhKSkuam9pbigiICIpfTtmdW5jdGlvbiBmdShhLGIpe3ZhciBjPSJTb21lIGN1c3RvbSBvbi1tYXAgY29udGVudCBjb3VsZCBub3QgYmUgZGlzcGxheWVkLiIsZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmNsYXNzTmFtZT0iaW5mb21zZyI7YS5hcHBlbmRDaGlsZChkKTt2YXIgZT1kLnN0eWxlO2UuYmFja2dyb3VuZD0iI0Y5RURCRSI7ZS5ib3JkZXI9IjFweCBzb2xpZCAjRjBDMzZEIjtlLmJvcmRlclJhZGl1cz0iMnB4IjtlLmJveFNpemluZz0iYm9yZGVyLWJveCI7ZS5ib3hTaGFkb3c9IjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMikiO2UuZm9udEZhbWlseT0iUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWYiO2UuZm9udFNpemU9IjEycHgiO2UuZm9udFdlaWdodD0iNDAwIjtlLmxlZnQ9IjEwJSI7ZS5nPSIycHgiO2UucGFkZGluZz0iNXB4IDE0cHgiO2UucG9zaXRpb249ImFic29sdXRlIjtlLnRleHRBbGlnbj0iY2VudGVyIjtlLnRvcD0iMTBweCI7ZS53ZWJraXRCb3JkZXJSYWRpdXM9IjJweCI7CmUud2lkdGg9IjgwJSI7ZS56SW5kZXg9MjQ2MDE7ZC5pbm5lclRleHQ9YztjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtiJiYoZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKSxkLmFwcGVuZENoaWxkKGMpLGMuaW5uZXJUZXh0PSJMZWFybiBtb3JlIixjLmhyZWY9YixjLnRhcmdldD0iX2JsYW5rIik7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7ZC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTtkLmFwcGVuZENoaWxkKGIpO2IuaW5uZXJUZXh0PSJEaXNtaXNzIjtiLnRhcmdldD0iX2JsYW5rIjtjLnN0eWxlLnBhZGRpbmdMZWZ0PWIuc3R5bGUucGFkZGluZ0xlZnQ9IjAuOGVtIjtjLnN0eWxlLmJveFNpemluZz1iLnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCI7Yy5zdHlsZS5jb2xvcj1iLnN0eWxlLmNvbG9yPSJibGFjayI7Yy5zdHlsZS5jdXJzb3I9Yi5zdHlsZS5jdXJzb3I9InBvaW50ZXIiO2Muc3R5bGUudGV4dERlY29yYXRpb249CmIuc3R5bGUudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Yy5zdHlsZS53aGl0ZVNwYWNlPWIuc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIjtiLm9uY2xpY2s9ZnVuY3Rpb24oKXthLnJlbW92ZUNoaWxkKGQpfX07dmFyIGd1PW5ldyBTZXQoWyJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIiwid2hlZWwiLCJtb3VzZXdoZWVsIl0pO2Z1bmN0aW9uIGh1KCl7dmFyIGE9dGhpczt0aGlzLmc9bmV3IGJpO3RoaXMuaT1uZXcgZmkodGhpcy5nKTskaCh0aGlzLmksbmV3IFloKGZ1bmN0aW9uKGUpe2l1KGEsZSl9LHtOYTpuZXcgWGgsVGE6ZnVuY3Rpb24oZSl7ZT1BKGUpO2Zvcih2YXIgZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpaXUoYSxmLnZhbHVlKX19KSk7Zm9yKHZhciBiPUEoanUpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKXtjPWMudmFsdWU7dmFyIGQ9Z3UuaGFzKGMpPyExOnZvaWQgMDtoaSh0aGlzLmksYyxkKX10aGlzLmo9e319aHUucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLmcudGEoKX07aHUucHJvdG90eXBlLmw9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuajsoZFthXT1kW2FdfHx7fSlbYl09Y307aHUucHJvdG90eXBlLmFkZExpc3RlbmVyPWh1LnByb3RvdHlwZS5sOwp2YXIganU9ImJsdXIgY2hhbmdlIGNsaWNrIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNldXAgdG91Y2hzdGFydCB0b3VjaGNhbmNlbCB0b3VjaG1vdmUgdG91Y2hlbmQgcG9pbnRlcmRvd24gcG9pbnRlcmxlYXZlIHBvaW50ZXJtb3ZlIHBvaW50ZXJ1cCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBpdShhLGIpe3ZhciBjPVVoKGIpO2lmKGMpe2lmKCFTaHx8Yi5nLnRhcmdldEVsZW1lbnQudGFnTmFtZSE9PSJJTlBVVCImJmIuZy50YXJnZXRFbGVtZW50LnRhZ05hbWUhPT0iVEVYVEFSRUEifHxiLmcuZXZlbnRUeXBlIT09ImZvY3VzIil7dmFyIGQ9Yi5nLmV2ZW50O2Quc3RvcFByb3BhZ2F0aW9uJiZkLnN0b3BQcm9wYWdhdGlvbigpfXRyeXt2YXIgZT0oYS5qW2MubmFtZV18fHt9KVtiLmcuZXZlbnRUeXBlXTtlJiZlKG5ldyBWbShiLmcuZXZlbnQsYy5lbGVtZW50KSl9Y2F0Y2goZil7dGhyb3cgZjt9fX07ZnVuY3Rpb24ga3UoYSxiLGMsZCl7dmFyIGU9Yi5vd25lckRvY3VtZW50fHxkb2N1bWVudCxmPSExO2lmKCFJaihlLmJvZHksYikmJiFiLmlzQ29ubmVjdGVkKXtmb3IoO2IucGFyZW50RWxlbWVudDspYj1iLnBhcmVudEVsZW1lbnQ7dmFyIGc9Yi5zdHlsZS5kaXNwbGF5O2Iuc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5ib2R5LmFwcGVuZENoaWxkKGIpO2Y9ITB9YS5maWxsLmFwcGx5KGEsYyk7YS5iYShmdW5jdGlvbigpe2YmJihlLmJvZHkucmVtb3ZlQ2hpbGQoYiksYi5zdHlsZS5kaXNwbGF5PWcpO2QoKX0pfTt2YXIgbHU9e307CmZ1bmN0aW9uIG11KGEpe3ZhciBiPWJ8fHt9O3ZhciBjPWIuZG9jdW1lbnR8fGRvY3VtZW50LGQ9Yi5kaXZ8fGMuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yz1jPT09dm9pZCAwP2RvY3VtZW50OmM7dmFyIGU9UmEoYyk7Yz1sdVtlXXx8KGx1W2VdPW5ldyBGbShjKSk7YT1uZXcgYShjKTthLmluc3RhbnRpYXRlKGQpO2IuQWQhPW51bGwmJmQuc2V0QXR0cmlidXRlKCJkaXIiLGIuQWQ/InJ0bCI6Imx0ciIpO3RoaXMuZGl2PWQ7dGhpcy5pPWE7dGhpcy5nPW5ldyBodTthOntiPXRoaXMuZy5nO2ZvcihhPTA7YTxiLmcubGVuZ3RoO2ErKylpZihkPT09Yi5nW2FdLmVsZW1lbnQpYnJlYWsgYTtkPW5ldyBhaShkKTtpZihiLnN0b3BQcm9wYWdhdGlvbiljaShiLGQpLGIuZy5wdXNoKGQpO2Vsc2V7Yjp7Zm9yKGE9MDthPGIuZy5sZW5ndGg7YSsrKWlmKGVpKGIuZ1thXS5lbGVtZW50LGQuZWxlbWVudCkpe2E9ITA7YnJlYWsgYn1hPSExfWlmKGEpYi5pLnB1c2goZCk7ZWxzZXtjaShiLGQpO2IuZy5wdXNoKGQpOwpkPVtdLmNvbmNhdCh0YShiLmkpLHRhKGIuZykpO2E9W107Yz1bXTtmb3IoZT0wO2U8Yi5nLmxlbmd0aDsrK2Upe3ZhciBmPWIuZ1tlXTtkaShmLGQpPyhhLnB1c2goZiksZi50YSgpKTpjLnB1c2goZil9Zm9yKGU9MDtlPGIuaS5sZW5ndGg7KytlKWY9Yi5pW2VdLGRpKGYsZCk/YS5wdXNoKGYpOihjLnB1c2goZiksY2koYixmKSk7Yi5nPWM7Yi5pPWF9fX19ZnVuY3Rpb24gWW8oYSxiLGMpe2t1KGEuaSxhLmRpdixiLGN8fGJhKCkpfW11LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyl7dGhpcy5nLmwoYSxiLGMpfTttdS5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuZy5kaXNwb3NlKCk7RWoodGhpcy5kaXYpfTsvKgoKIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCmZ1bmN0aW9uIG51KGEsYil7dmFyIGM9bWEoQXJyYXksW2FdLHRoaXMuY29uc3RydWN0b3IpO2Muc2lnbj1iO09iamVjdC5zZXRQcm90b3R5cGVPZihjLG51LnByb3RvdHlwZSk7aWYoYT5vdSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTWF4aW11bSBCaWdJbnQgc2l6ZSBleGNlZWRlZCIpO3JldHVybiBjfXoobnUsQXJyYXkpOwpmdW5jdGlvbiBwdShhKXtpZih0eXBlb2YgYT09PSJudW1iZXIiKXtpZihhPT09MClyZXR1cm4gcXUoKTtpZigoYSYxMDczNzQxODIzKT09PWEpcmV0dXJuIGE8MD9ydSgtYSwhMCk6cnUoYSwhMSk7aWYoIU51bWJlci5pc0Zpbml0ZShhKXx8TWF0aC5mbG9vcihhKSE9PWEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRoZSBudW1iZXIgIithKyIgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBCaWdJbnQgYmVjYXVzZSBpdCBpcyBub3QgYW4gaW50ZWdlciIpO3N1WzBdPWE7dmFyIGI9KHR1W3V1XT4+PjIwJjIwNDcpLTEwMjMsYz0oYi8zMHwwKSsxO2E9bmV3IG51KGMsYTwwKTt2YXIgZD10dVt1dV0mMTA0ODU3NXwxMDQ4NTc2LGU9dHVbdnVdO2IlPTMwO2lmKGI8MjApe3ZhciBmPTIwLWI7Yj1mKzMyO3ZhciBnPWQ+Pj5mO2Q9ZDw8MzItZnxlPj4+ZjtlPDw9MzItZn1lbHNlIGI9PT0yMD8oYj0zMixnPWQsZD1lKTooZj1iLTIwLGI9MzItZixnPWQ8PGZ8ZT4+PjMyLWYsZD1lPDxmKSxlPTA7YS5IKGMtCjEsZyk7Zm9yKGMtPTI7Yz49MDtjLS0pYj4wPyhiLT0zMCxnPWQ+Pj4yLGQ9ZDw8MzB8ZT4+PjIsZTw8PTMwKTpnPTAsYS5IKGMsZyk7cmV0dXJuIGEuZmEoKX1pZih0eXBlb2YgYT09PSJzdHJpbmciKXtjPXd1KGEpO2lmKGM9PT1udWxsKXRocm93IG5ldyBTeW50YXhFcnJvcigiQ2Fubm90IGNvbnZlcnQgIithKyIgdG8gYSBCaWdJbnQiKTtyZXR1cm4gY31pZih0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYT09PSEwP3J1KDEsITEpOnF1KCk7aWYodHlwZW9mIGE9PT0ib2JqZWN0Iil7aWYoYS5jb25zdHJ1Y3Rvcj09PW51KXJldHVybiBhO2M9eHUoYSk7cmV0dXJuIHB1KGMpfXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjb252ZXJ0ICIrYSsiIHRvIGEgQmlnSW50Iik7fXU9bnUucHJvdG90eXBlOwp1LnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD8xMDphO2lmKGE8Mnx8YT4zNil0aHJvdyBuZXcgUmFuZ2VFcnJvcigidG9TdHJpbmcoKSByYWRpeCBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMiBhbmQgMzYiKTtpZih0aGlzLmxlbmd0aD09PTApdmFyIGI9IjAiO2Vsc2UgaWYoKGEmYS0xKT09PTApe2I9dGhpcy5sZW5ndGg7dmFyIGM9YS0xO2M9KGM+Pj4xJjg1KSsoYyY4NSk7Yz0oYz4+PjImNTEpKyhjJjUxKTtjPShjPj4+NCYxNSkrKGMmMTUpOy0tYTt2YXIgZD10aGlzLkcoYi0xKSxlPShiKjMwLXl1KGQpK2MtMSkvY3wwO3RoaXMuc2lnbiYmZSsrO2lmKGU+MjY4NDM1NDU2KXRocm93IEVycm9yKCJzdHJpbmcgdG9vIGxvbmciKTt2YXIgZj1BcnJheShlKTstLWU7Zm9yKHZhciBnPTAsaD0wLGs9MDtrPGItMTtrKyspe3ZhciBsPXRoaXMuRyhrKTtnPShnfGw8PGgpJmE7ZltlLS1dPXp1W2ddO2g9Yy1oO2c9bD4+Pmg7Zm9yKGg9MzAtaDtoPj1jOylmW2UtLV09enVbZyYKYV0sZz4+Pj1jLGgtPWN9ZltlLS1dPXp1WyhnfGQ8PGgpJmFdO2ZvcihnPWQ+Pj5jLWg7ZyE9PTA7KWZbZS0tXT16dVtnJmFdLGc+Pj49Yzt0aGlzLnNpZ24mJihmW2UtLV09Ii0iKTtpZihlIT09LTEpdGhyb3cgRXJyb3IoImltcGxlbWVudGF0aW9uIGJ1ZyIpO2I9Zi5qb2luKCIiKX1lbHNlIGI9QXUodGhpcyxhLCExKTtyZXR1cm4gYn07dS52YWx1ZU9mPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkNvbnZlcnQgSlNCSSBpbnN0YW5jZXMgdG8gbmF0aXZlIG51bWJlcnMgdXNpbmcgYHRvTnVtYmVyYC4iKTt9OwpmdW5jdGlvbiBCdShhLGIpe2lmKGIuc2lnbil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRXhwb25lbnQgbXVzdCBiZSBwb3NpdGl2ZSIpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gcnUoMSwhMSk7aWYoYS5sZW5ndGg9PT0wKXJldHVybiBhO2lmKGEubGVuZ3RoPT09MSYmYS5HKDApPT09MSlyZXR1cm4gYS5zaWduJiYoYi5HKDApJjEpPT09MCYmYS5sZW5ndGghPT0wJiYoYj1hLkdjKCksYi5zaWduPSFhLnNpZ24sYT1iKSxhO2lmKGIubGVuZ3RoPjEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJpZ0ludCB0b28gYmlnIik7Yj1iLk1hKDApO2lmKGI9PT0xKXJldHVybiBhO2lmKGI+PUN1KXRocm93IG5ldyBSYW5nZUVycm9yKCJCaWdJbnQgdG9vIGJpZyIpO2lmKGEubGVuZ3RoPT09MSYmYS5HKDApPT09Mil7dmFyIGM9MSsoYi8zMHwwKTthPW5ldyBudShjLGEuc2lnbiYmKGImMSkhPT0wKTthLnJhKCk7YS5IKGMtMSwxPDxiJTMwKTtyZXR1cm4gYX1jPW51bGw7dmFyIGQ9YTsoYiYxKSE9PTAmJgooYz1hKTtmb3IoYj4+PTE7YiE9PTA7Yj4+PTEpZD1EdShkLGQpLChiJjEpIT09MCYmKGM9Yz09PW51bGw/ZDpEdShjLGQpKTtyZXR1cm4gY30KZnVuY3Rpb24gRHUoYSxiKXtpZihhLmxlbmd0aD09PTApcmV0dXJuIGE7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBiO3ZhciBjPWEubGVuZ3RoK2IubGVuZ3RoO2EuSGIoKStiLkhiKCk+PTMwJiZjLS07Yz1uZXcgbnUoYyxhLnNpZ24hPT1iLnNpZ24pO2MucmEoKTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl7dmFyIGU9YixmPWEuRyhkKSxnPWMsaD1kO2lmKGYhPT0wKXtmb3IodmFyIGs9ZiYzMjc2NyxsPWY+Pj4xNSxtPWY9MCxuPTA7bjxlLmxlbmd0aDtuKyssaCsrKXt2YXIgcD1nLkcoaCkscj1lLkcobikscT1yJjMyNzY3LHQ9cj4+PjE1O3I9RXUocSxsKTt2YXIgdj1FdSh0LGspO3Q9RXUodCxsKTtwKz1tK0V1KHEsaykrZjtmPXA+Pj4zMDtwJj0xMDczNzQxODIzO3ArPSgociYzMjc2Nyk8PDE1KSsoKHYmMzI3NjcpPDwxNSk7Zis9cD4+PjMwO209dCsocj4+PjE1KSsodj4+PjE1KTtnLkgoaCxwJjEwNzM3NDE4MjMpfWZvcig7ZiE9PTB8fG0hPT0wO2grKyllPWcuRyhoKSxlKz0KZittLG09MCxmPWU+Pj4zMCxnLkgoaCxlJjEwNzM3NDE4MjMpfX1yZXR1cm4gYy5mYSgpfQpmdW5jdGlvbiBGdShhKXtpZihhLmxlbmd0aD09PTApcmV0dXJuIGE7aWYoYS5zaWduKXtpZig2ND5DdSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQmlnSW50IHRvbyBiaWciKTtmb3IodmFyIGI9bmV3IG51KDMsITEpLGM9MCxkPTAsZT1NYXRoLm1pbigyLGEubGVuZ3RoKTtjPGU7YysrKXt2YXIgZj0wLWEuRyhjKS1kO2Q9Zj4+PjMwJjE7Yi5IKGMsZiYxMDczNzQxODIzKX1mb3IoO2M8MjtjKyspYi5IKGMsLWQmMTA3Mzc0MTgyM3wwKTtjPTE2O2IuSCgyLGMtKCgyPGEubGVuZ3RoP2EuRygyKTowKTw8Mjg+Pj4yOCktZCZjLTEpO3JldHVybiBiLmZhKCl9aWYoNjQ+PUN1fHxhLmxlbmd0aDwzKXJldHVybiBhO2lmKGEubGVuZ3RoIT0zfHxhLkcoMik+Pj40IT09MCl7Yj1uZXcgbnUoMyxhLnNpZ24pO2ZvcihkPTA7ZDwyO2QrKyliLkgoZCxhLkcoZCkpO2E9YS5HKDIpO2E9YTw8Mjg+Pj4yODtiLkgoMixhKTthPWIuZmEoKX1yZXR1cm4gYX0KZnVuY3Rpb24gcXUoKXtyZXR1cm4gbmV3IG51KDAsITEpfWZ1bmN0aW9uIHJ1KGEsYil7Yj1uZXcgbnUoMSxiKTtiLkgoMCxhKTtyZXR1cm4gYn11LkdjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPW5ldyBudSh0aGlzLmxlbmd0aCx0aGlzLnNpZ24pLGI9MDtiPHRoaXMubGVuZ3RoO2IrKylhW2JdPXRoaXNbYl07cmV0dXJuIGF9O3UuZmE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcy5sZW5ndGgsYj10aGlzW2EtMV07Yj09PTA7KWEtLSxiPXRoaXNbYS0xXSx0aGlzLnBvcCgpO2E9PT0wJiYodGhpcy5zaWduPSExKTtyZXR1cm4gdGhpc307dS5yYT1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5sZW5ndGg7YSsrKXRoaXNbYV09MH07CmZ1bmN0aW9uIEd1KGEpe3JldHVybiBhPD0xMyYmYT49OT8hMDphPD0xNTk/YT09PTMyOmE8PTEzMTA3MT9hPT09MTYwfHxhPT09NTc2MDphPD0xOTY2MDc/KGEmPTEzMTA3MSxhPD0xMHx8YT09PTQwfHxhPT09NDF8fGE9PT00N3x8YT09PTk1fHxhPT09NDA5Nik6YT09PTY1Mjc5fQpmdW5jdGlvbiB3dShhKXt2YXIgYj1iPT09dm9pZCAwPzA6Yjt2YXIgYz0wLGQ9YS5sZW5ndGgsZT0wO2lmKGU9PT1kKXJldHVybiBxdSgpO2Zvcih2YXIgZj1hLmNoYXJDb2RlQXQoZSk7R3UoZik7KXtpZigrK2U9PT1kKXJldHVybiBxdSgpO2Y9YS5jaGFyQ29kZUF0KGUpfWlmKGY9PT00Myl7aWYoKytlPT09ZClyZXR1cm4gbnVsbDtmPWEuY2hhckNvZGVBdChlKTtjPTF9ZWxzZSBpZihmPT09NDUpe2lmKCsrZT09PWQpcmV0dXJuIG51bGw7Zj1hLmNoYXJDb2RlQXQoZSk7Yz0tMX1pZihiPT09MCl7aWYoYj0xMCxmPT09NDgpe2lmKCsrZT09PWQpcmV0dXJuIHF1KCk7Zj1hLmNoYXJDb2RlQXQoZSk7aWYoZj09PTg4fHxmPT09MTIwKXtiPTE2O2lmKCsrZT09PWQpcmV0dXJuIG51bGw7Zj1hLmNoYXJDb2RlQXQoZSl9ZWxzZSBpZihmPT09Nzl8fGY9PT0xMTEpe2I9ODtpZigrK2U9PT1kKXJldHVybiBudWxsO2Y9YS5jaGFyQ29kZUF0KGUpfWVsc2UgaWYoZj09PTY2fHxmPT09OTgpe2I9CjI7aWYoKytlPT09ZClyZXR1cm4gbnVsbDtmPWEuY2hhckNvZGVBdChlKX19fWVsc2UgaWYoYj09PTE2JiZmPT09NDgpe2lmKCsrZT09PWQpcmV0dXJuIHF1KCk7Zj1hLmNoYXJDb2RlQXQoZSk7aWYoZj09PTg4fHxmPT09MTIwKXtpZigrK2U9PT1kKXJldHVybiBudWxsO2Y9YS5jaGFyQ29kZUF0KGUpfX1pZihjIT09MCYmYiE9PTEwKXJldHVybiBudWxsO2Zvcig7Zj09PTQ4Oyl7aWYoKytlPT09ZClyZXR1cm4gcXUoKTtmPWEuY2hhckNvZGVBdChlKX12YXIgZz1kLWUsaD1IdVtiXSxrPUl1LTE7aWYoZz4xMDczNzQxODI0L2gpcmV0dXJuIG51bGw7Zz1uZXcgbnUoKChoKmcraz4+Pkp1KSsyOSkvMzB8MCwhMSk7dmFyIGw9YjwxMD9iOjEwLG09Yj4xMD9iLTEwOjA7aWYoKGImYi0xKT09PTApe2g+Pj1KdTtiPVtdO3ZhciBuPVtdLHA9ITE7ZG97Zm9yKHZhciByPTAscT0wOzspe2lmKGYtNDg+Pj4wPGwpaz1mLTQ4O2Vsc2UgaWYoKGZ8MzIpLTk3Pj4+MDxtKWs9KGZ8MzIpLTg3O2Vsc2V7cD0KITA7YnJlYWt9cSs9aDtyPXI8PGh8aztpZigrK2U9PT1kKXtwPSEwO2JyZWFrfWY9YS5jaGFyQ29kZUF0KGUpO2lmKHEraD4zMClicmVha31iLnB1c2gocik7bi5wdXNoKHEpfXdoaWxlKCFwKTttPWw9aD0wO2ZvcihwPWIubGVuZ3RoLTE7cD49MDtwLS0pcj1iW3BdLHE9bltwXSxsfD1yPDxtLG0rPXEsbT09PTMwPyhnLkgoaCsrLGwpLGw9bT0wKTptPjMwJiYoZy5IKGgrKyxsJjEwNzM3NDE4MjMpLG0tPTMwLGw9cj4+PnEtbSk7aWYobCE9PTApe2lmKGg+PWcubGVuZ3RoKXRocm93IEVycm9yKCJpbXBsZW1lbnRhdGlvbiBidWciKTtnLkgoaCsrLGwpfWZvcig7aDxnLmxlbmd0aDtoKyspZy5IKGgsMCl9ZWxzZXtnLnJhKCk7bj0hMTtwPTA7ZG97cj0wO2ZvcihxPTE7Oyl7aWYoZi00OD4+PjA8bClrPWYtNDg7ZWxzZSBpZigoZnwzMiktOTc+Pj4wPG0paz0oZnwzMiktODc7ZWxzZXtuPSEwO2JyZWFrfXZhciB0PXEqYjtpZih0PjEwNzM3NDE4MjMpYnJlYWs7cT10O3I9cipiK2s7cCsrOwppZigrK2U9PT1kKXtuPSEwO2JyZWFrfWY9YS5jaGFyQ29kZUF0KGUpfWs9SXUqMzAtMTtnLktjKHEsciwoaCpwK2s+Pj5KdSkvMzB8MCl9d2hpbGUoIW4pfWlmKGUhPT1kKXtpZighR3UoZikpcmV0dXJuIG51bGw7Zm9yKGUrKztlPGQ7ZSsrKWlmKGY9YS5jaGFyQ29kZUF0KGUpLCFHdShmKSlyZXR1cm4gbnVsbH1nLnNpZ249Yz09PS0xO3JldHVybiBnLmZhKCl9CmZ1bmN0aW9uIEF1KGEsYixjKXt2YXIgZD1hLmxlbmd0aDtpZihkPT09MClyZXR1cm4iIjtpZihkPT09MSlyZXR1cm4gYj1hLk1hKDApLnRvU3RyaW5nKGIpLGM9PT0hMSYmYS5zaWduJiYoYj0iLSIrYiksYjt2YXIgZT1IdVtiXS0xO2Q9KCgoZCozMC15dShhLkcoZC0xKSkpKkl1KyhlLTEpKS9lfDApKzE+PjE7dmFyIGY9QnUocnUoYiwhMSkscnUoZCwhMSkpO2U9Zi5NYSgwKTtpZihmLmxlbmd0aD09PTEmJmU8PTMyNzY3KXtmPW5ldyBudShhLmxlbmd0aCwhMSk7Zi5yYSgpO2Zvcih2YXIgZz0wLGg9YS5sZW5ndGgqMi0xO2g+PTA7aC0tKWc9Zzw8MTV8YS5UKGgpLGYuaWIoaCxnL2V8MCksZz1nJWV8MDtlPWcudG9TdHJpbmcoYil9ZWxzZXtoPWYuSWIoKTtnPWYubGVuZ3RoO3ZhciBrPWEuSWIoKS1oO3ZhciBsPW5ldyBudShrKzI+Pj4xLCExKTtsLnJhKCk7dmFyIG09bmV3IG51KGgrMj4+PjEsITEpO20ucmEoKTt2YXIgbj15dShmLlQoaC0xKSktMTU7bj4wJiYoZj1LdShmLG4sMCkpOwplPUt1KGEsbiwxKTtmb3IodmFyIHA9Zi5UKGgtMSkscj0wO2s+PTA7ay0tKXt2YXIgcT0zMjc2Nyx0PWUuVChrK2gpO2lmKHQhPT1wKXt0PSh0PDwxNXxlLlQoaytoLTEpKT4+PjA7cT10L3B8MDt0PXQlcHwwO2Zvcih2YXIgdj1mLlQoaC0yKSx3PWUuVChrK2gtMik7RXUocSx2KT4+PjA+KHQ8PDE2fHcpPj4+MCYmIShxLS0sdCs9cCx0PjMyNzY3KTspO310PWY7dj1xO3c9Zztmb3IodmFyIEY9MCxFPTAseT0wO3k8dzt5Kyspe3ZhciBOPXQuRyh5KSxUPUV1KE4+Pj4xNSx2KTtOPUV1KE4mMzI3NjcsdikrKChUJjMyNzY3KTw8MTUpK0UrRjtGPU4+Pj4zMDtFPVQ+Pj4xNTttLkgoeSxOJjEwNzM3NDE4MjMpfWlmKG0ubGVuZ3RoPncpZm9yKG0uSCh3KyssRitFKTt3PG0ubGVuZ3RoOyltLkgodysrLDApO2Vsc2UgaWYoRitFIT09MCl0aHJvdyBFcnJvcigiaW1wbGVtZW50YXRpb24gYnVnIik7dD1lLk1jKG0sayxoKzEpO3QhPT0wJiYodD1lLkpjKGYsayxoKSxlLmliKGsraCxlLlQoaysKaCkrdCYzMjc2NykscS0tKTtrJjE/cj1xPDwxNTpsLkgoaz4+PjEscnxxKX1lLkxjKG4pO2Y9bDtlPWUuZmEoKTtlPUF1KGUsYiwhMCl9Zi5mYSgpO2ZvcihiPUF1KGYsYiwhMCk7ZS5sZW5ndGg8ZDspZT0iMCIrZTtjPT09ITEmJmEuc2lnbiYmKGI9Ii0iK2IpO3JldHVybiBiK2V9dS5IYj1mdW5jdGlvbigpe3JldHVybiB5dSh0aGlzLkcodGhpcy5sZW5ndGgtMSkpfTsKdS5LYz1mdW5jdGlvbihhLGIsYyl7Yz50aGlzLmxlbmd0aCYmKGM9dGhpcy5sZW5ndGgpO3ZhciBkPWEmMzI3Njc7YT4+Pj0xNTtmb3IodmFyIGU9MCxmPTA7ZjxjO2YrKyl7dmFyIGc9dGhpcy5HKGYpLGg9ZyYzMjc2NyxrPWc+Pj4xNTtnPUV1KGgsYSk7dmFyIGw9RXUoayxkKTtrPUV1KGssYSk7aD1iK0V1KGgsZCkrZTtlPWg+Pj4zMDtoJj0xMDczNzQxODIzO2grPSgoZyYzMjc2Nyk8PDE1KSsoKGwmMzI3NjcpPDwxNSk7ZSs9aD4+PjMwO2I9aysoZz4+PjE1KSsobD4+PjE1KTt0aGlzLkgoZixoJjEwNzM3NDE4MjMpfWlmKGUhPT0wfHxiIT09MCl0aHJvdyBFcnJvcigiaW1wbGVtZW50YXRpb24gYnVnIik7fTt1LkpjPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MCxlPTA7ZTxjO2UrKyl7dmFyIGY9dGhpcy5UKGIrZSkrYS5UKGUpK2Q7ZD1mPj4+MTU7dGhpcy5pYihiK2UsZiYzMjc2Nyl9cmV0dXJuIGR9Owp1Lk1jPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLTE+Pj4xLGU9MDtpZihiJjEpe2I+Pj0xO2Zvcih2YXIgZj10aGlzLkcoYiksZz1mJjMyNzY3LGg9MDtoPGQ7aCsrKXt2YXIgaz1hLkcoaCk7Zj0oZj4+PjE1KS0oayYzMjc2NyktZTtlPWY+Pj4xNSYxO3RoaXMuSChiK2gsKGYmMzI3NjcpPDwxNXxnJjMyNzY3KTtmPXRoaXMuRyhiK2grMSk7Zz0oZiYzMjc2NyktKGs+Pj4xNSktZTtlPWc+Pj4xNSYxfWQ9YS5HKGgpO2Y9KGY+Pj4xNSktKGQmMzI3NjcpLWU7ZT1mPj4+MTUmMTt0aGlzLkgoYitoLChmJjMyNzY3KTw8MTV8ZyYzMjc2Nyk7aWYoYitoKzE+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgYm91bmRzIik7KGMmMSk9PT0wJiYoZj10aGlzLkcoYitoKzEpLGc9KGYmMzI3NjcpLShkPj4+MTUpLWUsZT1nPj4+MTUmMSx0aGlzLkgoYithLmxlbmd0aCxmJjEwNzM3MDkwNTZ8ZyYzMjc2NykpfWVsc2V7Yj4+PTE7Zm9yKGc9MDtnPGEubGVuZ3RoLTE7ZysrKWQ9CnRoaXMuRyhiK2cpLGY9YS5HKGcpLGg9KGQmMzI3NjcpLShmJjMyNzY3KS1lLGU9aD4+PjE1JjEsZD0oZD4+PjE1KS0oZj4+PjE1KS1lLGU9ZD4+PjE1JjEsdGhpcy5IKGIrZywoZCYzMjc2Nyk8PDE1fGgmMzI3NjcpO2g9dGhpcy5HKGIrZyk7YT1hLkcoZyk7ZD0oaCYzMjc2NyktKGEmMzI3NjcpLWU7ZT1kPj4+MTUmMTtmPTA7KGMmMSk9PT0wJiYoZj0oaD4+PjE1KS0oYT4+PjE1KS1lLGU9Zj4+PjE1JjEpO3RoaXMuSChiK2csKGYmMzI3NjcpPDwxNXxkJjMyNzY3KX1yZXR1cm4gZX07dS5MYz1mdW5jdGlvbihhKXtpZihhIT09MCl7Zm9yKHZhciBiPXRoaXMuRygwKT4+PmEsYz10aGlzLmxlbmd0aC0xLGQ9MDtkPGM7ZCsrKXt2YXIgZT10aGlzLkcoZCsxKTt0aGlzLkgoZCxlPDwzMC1hJjEwNzM3NDE4MjN8Yik7Yj1lPj4+YX10aGlzLkgoYyxiKX19OwpmdW5jdGlvbiBLdShhLGIsYyl7dmFyIGQ9YS5sZW5ndGgsZT1uZXcgbnUoZCtjLCExKTtpZihiPT09MCl7Zm9yKGI9MDtiPGQ7YisrKWUuSChiLGEuRyhiKSk7Yz4wJiZlLkgoZCwwKTtyZXR1cm4gZX1mb3IodmFyIGY9MCxnPTA7ZzxkO2crKyl7dmFyIGg9YS5HKGcpO2UuSChnLGg8PGImMTA3Mzc0MTgyM3xmKTtmPWg+Pj4zMC1ifWM+MCYmZS5IKGQsZik7cmV0dXJuIGV9CmZ1bmN0aW9uIHh1KGEpe3ZhciBiPWI9PT12b2lkIDA/ImRlZmF1bHQiOmI7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihhLmNvbnN0cnVjdG9yPT09bnUpcmV0dXJuIGE7aWYodHlwZW9mIFN5bWJvbCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgU3ltYm9sLnRvUHJpbWl0aXZlPT09InN5bWJvbCImJmFbU3ltYm9sLnRvUHJpbWl0aXZlXSl7YT1hW1N5bWJvbC50b1ByaW1pdGl2ZV0oYik7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIik7fWlmKGI9YS52YWx1ZU9mKWlmKGI9Yi5jYWxsKGEpLHR5cGVvZiBiIT09Im9iamVjdCIpcmV0dXJuIGI7aWYoYj1hLnRvU3RyaW5nKWlmKGE9Yi5jYWxsKGEpLHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7dGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpOwp9dS5HPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzW2FdfTt1Lk1hPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzW2FdPj4+MH07dS5IPWZ1bmN0aW9uKGEsYil7dGhpc1thXT1ifDB9O3UubmU9ZnVuY3Rpb24oYSxiKXt0aGlzW2FdPWJ8MH07dS5JYj1mdW5jdGlvbigpe3ZhciBhPXRoaXMubGVuZ3RoO3JldHVybiB0aGlzLk1hKGEtMSk8PTMyNzY3P2EqMi0xOmEqMn07dS5UPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzW2E+Pj4xXT4+PihhJjEpKjE1JjMyNzY3fTt1LmliPWZ1bmN0aW9uKGEsYil7dmFyIGM9YT4+PjEsZD10aGlzLkcoYyk7dGhpcy5IKGMsYSYxP2QmMzI3Njd8Yjw8MTU6ZCYxMDczNzA5MDU2fGImMzI3NjcpfTsKdmFyIG91PTMzNTU0NDMyLEN1PW91PDw1LEh1PVswLDAsMzIsNTEsNjQsNzUsODMsOTAsOTYsMTAyLDEwNywxMTEsMTE1LDExOSwxMjIsMTI2LDEyOCwxMzEsMTM0LDEzNiwxMzksMTQxLDE0MywxNDUsMTQ3LDE0OSwxNTEsMTUzLDE1NCwxNTYsMTU4LDE1OSwxNjAsMTYyLDE2MywxNjUsMTY2XSxKdT01LEl1PTE8PEp1LHp1PSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLnNwbGl0KCIiKSxMdT1uZXcgQXJyYXlCdWZmZXIoOCksc3U9bmV3IEZsb2F0NjRBcnJheShMdSksdHU9bmV3IEludDMyQXJyYXkoTHUpLE11O3N1WzBdPS0wOwp2YXIgdXU9KE11PXR1WzBdIT09MCk/MDoxLHZ1PU11PzE6MCx5dT1NYXRoLmNsejMyP2Z1bmN0aW9uKGEpe3JldHVybiBNYXRoLmNsejMyKGEpLTJ9OmZ1bmN0aW9uKGEpe3JldHVybiBhPT09MD8zMDoyOS0oTWF0aC5sb2coYT4+PjApL01hdGguTE4yfDApfDB9LEV1PU1hdGguaW11bHx8ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSpifDB9O2Z1bmN0aW9uIE51KGEsYil7dGhpcy5pPURjP2dsb2JhbFRoaXMuQmlnSW50LmFzVWludE4oNjQsYSk6RnUoYSk7dGhpcy5nPURjP2dsb2JhbFRoaXMuQmlnSW50LmFzVWludE4oNjQsYik6RnUoYil9ZnVuY3Rpb24gT3UoYSl7aWYoIWEpcmV0dXJuIG51bGw7dHJ5e3ZhciBiPWEuc3BsaXQoIjoiKTtpZihiLmxlbmd0aD09PTEpe2lmKCFQdShhKSlyZXR1cm4gbmV3IE51KFF1LGEuc3RhcnRzV2l0aCgiMHgiKT9SdShhKTpEYz9nbG9iYWxUaGlzLkJpZ0ludChhKTpwdShhKSl9ZWxzZSBpZihiLmxlbmd0aD09PTImJiFQdShiWzBdKSYmIVB1KGJbMV0pKXJldHVybiBuZXcgTnUoUnUoYlswXSksUnUoYlsxXSkpfWNhdGNoKGMpe3JldHVybiBuZXcgTnUoUXUsUXUpfXJldHVybiBudWxsfU51LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIweCIrdGhpcy5pLnRvU3RyaW5nKDE2KSsiOjB4Iit0aGlzLmcudG9TdHJpbmcoMTYpfTsKdmFyIFF1PURjP2dsb2JhbFRoaXMuQmlnSW50KDApOnB1KDApO2Z1bmN0aW9uIFB1KGEpe3JldHVybiFhLmxlbmd0aHx8Ly4rLiotLy50ZXN0KGEpfWZ1bmN0aW9uIFJ1KGEpe3JldHVybiBhLmxlbmd0aDwzP1F1OkRjP2dsb2JhbFRoaXMuQmlnSW50KGEpOnB1KGEpfTtmdW5jdGlvbiBTdShhKXt0aGlzLnY9SShhLDEwMCl9eihTdSxQKTt2YXIgVHU9WzAsdGgsMSxRXTt2YXIgVnU9WzAsZnVuY3Rpb24oKXtyZXR1cm4gVXV9LFFdLFV1PVswLFsxLDIsMyw0LDUsNiw3XSxkaCxUdSxkaCxbMCxbMiwzLDRdLFR1LFhnLFJnLGRoLHVoLFR1XSxkaCxmdW5jdGlvbigpe3JldHVybiBWdX0sZGgsWzAsVHUsLTEsYmgsVHUsdWhdLGRoLFswLFR1LC0xXSxkaCxbMCxUdSxXZ10sZGgsWzAsdWgsZmgsVHVdXTt2YXIgV3U9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPW5ldyBFZjtIZyhiLnYsYyx4ZyhwZyxFZyxGZyxhKSk7RmYoYyxjLmcuZW5kKCkpO2I9bmV3IFVpbnQ4QXJyYXkoYy5pKTtmb3IodmFyIGQ9Yy5qLGU9ZC5sZW5ndGgsZj0wLGc9MDtnPGU7ZysrKXt2YXIgaD1kW2ddO2Iuc2V0KGgsZik7Zis9aC5sZW5ndGh9Yy5qPVtiXTtyZXR1cm4gYn19KFstMTAwLHt9LHRoLFEsZ3AsVXUsOTQsUV0pO2Z1bmN0aW9uIFh1KGEsYixjKXtmdW5jdGlvbiBkKCl7c3dpdGNoKHIuZ2V0TWFwVHlwZUlkKCkpe2Nhc2UgZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlNBVEVMTElURTpjYXNlIGdvb2dsZS5tYXBzLk1hcFR5cGVJZC5IWUJSSUQ6Ri5nLnNyYz1hcFsxXTticmVhaztkZWZhdWx0OkYuZy5zcmM9YXBbMF19fWZ1bmN0aW9uIGUoRSl7Z29vZ2xlLm1hcHMubG9nZ2VyJiZnb29nbGUubWFwcy5sb2dnZXIubWF5YmVSZXBvcnRGZWF0dXJlT25jZSh3aW5kb3csRSl9ZnVuY3Rpb24gZihFKXshKEUmJk1wKG4pJiZoJiZrJiZsKXx8IW0mJnQuZ2V0KCJjb250YWluZXJTaXplIik+PTR8fGdvb2dsZS5tYXBzLmxvZ2dlci5lbmRBdmFpbGFiaWxpdHlFdmVudChFLDApfXZhciBnPXRoaXM7dGhpcy5wbGFjZUlkPXRoaXMuQT1udWxsO3ZhciBoPSExLGs9ITEsbD0hMSxtPSExO3RoaXMuQz1jO3ZhciBuPXJlKGEsTHAsMjIsbHApLHA9emooKTt5aChDaChMKG4sQWgsMSkpLHAud2lkdGgpO3poKENoKEwobiwKQWgsMSkpLHAuaGVpZ2h0KTt0aGlzLkk9YTt0aGlzLmw9MDtiLmRpcj0iIjt2YXIgcj1uZXcgZ29vZ2xlLm1hcHMuTWFwKGIse2RFOmhnKE0oYSxtcCwzMykpfSk7dGhpcy5tYXA9cjtpZih0aGlzLkY9cD1TcChNKGEsbXAsMzMpKT09PTIpZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXJPbmNlKGIsImRtZCIsZnVuY3Rpb24oKXtnLkY9ITE7c3dpdGNoKGcubCl7Y2FzZSAxOll1KGcpO2JyZWFrO2Nhc2UgMjpadShnKTticmVhaztkZWZhdWx0OiR1KGcpfX0pLGdvb2dsZS5tYXBzLmxvZ2dlci5jYW5jZWxBdmFpbGFiaWxpdHlFdmVudChjKTtocCgibWFwIixyKTtOcShyLGEpO3ZhciBxPW5ldyB1dCg1MDApO1dwKHEscik7dGhpcy5pPW5ldyBjdShhKTt0aGlzLmkuYmluZFRvKCJtYXBVcmwiLHEsIm91dHB1dCIpO3ZhciB0PW5ldyBNbyhjKTt0aGlzLkw9bmV3IE9xKHIpO3RoaXMuSz1uZXcgS3EodGhpcy5MLE0oYSxHcCw2KSk7dGhpcy5qPW5ldyBXbyhyLG5ldyBtdSh3dCksbmV3IG11KHp0KSwKZSk7dGhpcy5qLmJpbmRUbygiZW1iZWRVcmwiLHRoaXMuaSk7SnEoYSk7dGhpcy5nPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImVtYmVkLXBsYWNlLWNhcmQtZWxlbWVudCIpO2F2KHRoaXMsITApO3RoaXMuZy5yZXBvcnRGZWF0dXJlPWU7dmFyIHY7dGhpcy5nLmlzVmVydGljYWxMYXlvdXRFbmFibGVkPSgodj1nb29nbGUubWFwcy5lbWJlZEZlYXR1cmVzKT09bnVsbD92b2lkIDA6di5pc1ZlcnRpY2FsUGxhY2VDYXJkTGF5b3V0RW5hYmxlZCgpKT09PSEwO3ZhciB3O3RoaXMuZy5pc0V4cGVyaW1lbnRhdGlvbkxvZ2dpbmdFbmFibGVkPSgodz1nb29nbGUubWFwcy5lbWJlZEZlYXR1cmVzKT09bnVsbD92b2lkIDA6dy5pc0V4cGVyaW1lbnRhdGlvbkxvZ2dpbmdFbmFibGVkKCkpPT09ITA7YyYmKHRoaXMuZy5vblBsYWNlQ2FyZFNob3duPWZ1bmN0aW9uKCl7bD1rPSEwO2YoYyl9LHRoaXMuZy5vbkRpcmVjdGlvbnNVUklTaG93bj1mdW5jdGlvbigpe209ITA7ZihjKX0pO2J2KHRoaXMsCnQuZ2V0KCJjYXJkV2lkdGgiKSx0LmdldCgiY29udGFpbmVyU2l6ZSIpKTtjdih0aGlzKTt0aGlzLmcuZ29vZ2xlTWFwc1VSST10aGlzLmkuZ2V0KCJlbWJlZFVybCIpO2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRoaXMuZyxiKTtnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lck9uY2UociwidGlsZXNsb2FkZWQiLGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9ImdyZXkiO2MmJihoPSEwLGYoYykpfSk7dGhpcy5EPW5ldyB2dDt0aGlzLkQuYmluZFRvKCJjb250YWluZXJTaXplIix0KTt0aGlzLkQuYmluZFRvKCJlbWJlZFVybCIsdGhpcy5pKTtnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lcih0LCJjYXJkV2lkdGhDaGFuZ2VkIixmdW5jdGlvbigpe2J2KGcsdC5nZXQoImNhcmRXaWR0aCIpLHQuZ2V0KCJjb250YWluZXJTaXplIikpfSk7dGhpcy5pLmFkZExpc3RlbmVyKCJlbWJlZHVybF9jaGFuZ2VkIixmdW5jdGlvbigpe2cuZy5nb29nbGVNYXBzVVJJPQpnLmkuZ2V0KCJlbWJlZFVybCIpfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oKXtjdihnKX0pO3RoaXMuai5iaW5kVG8oImNhcmRXaWR0aCIsdCk7dGhpcy5qLmJpbmRUbygiY29udGFpbmVyU2l6ZSIsdCk7cHx8YnIocix0KTsobmV3IFRxKHIpKS5iaW5kVG8oImNvbnRhaW5lclNpemUiLHQpO3Y9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jb250cm9sc1tnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uQkxPQ0tfRU5EX0lOTElORV9DRU5URVJdLnB1c2godik7dmFyIEY9bmV3ICRvKHYpO2QoKTtnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lcihyLCJtYXB0eXBlaWRfY2hhbmdlZCIsZCk7TXAobik/KHRoaXMuQT1yZShuLElwLDQsTnApLHRoaXMucGxhY2VJZD1BZSh0aGlzLkEsMjgpLHllKHRoaXMuQSwyMykmJihtPSEwLGYoYykpLFl1KHRoaXMpLGUoMTYxNTEzKSk6YmUobixvcCw1LE5wKT8oWnUodGhpcyksZSgxNjE1MTQpKToKKGJlKG4sS3AsNixOcCk/ZSgxNjE1MTUpOmUoMTYxNTE2KSwkdSh0aGlzKSk7Z29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIociwiY2xpY2siLGZ1bmN0aW9uKCl7Zy5DJiZnb29nbGUubWFwcy5sb2dnZXIuY2FuY2VsQXZhaWxhYmlsaXR5RXZlbnQoZy5DKTtpZighZy5ELmhhbmRsZUV2ZW50KCEwKSl7dmFyIEU9dWUoZy5JLExwLDIyLGxwKTtiZShFLG9wLDUsTnApP1p1KGcpOihFPWcuaSxFLmc9bnVsbCxFLmk9bnVsbCxldShFKSwkdShnKSk7Zy5BPW51bGw7RT1nLks7RS5nPW51bGw7THEoRSk7Zy5nLnBsYWNlSWQ9IiJ9fSk7Z29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIociwiaWRsZSIsZnVuY3Rpb24oKXtnb29nbGUubWFwcy5ldmVudC50cmlnZ2VyKGcuaiwibWFwc3RhdGV1cGRhdGUiKX0pO2dvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyKHIsInNtbm9wbGFjZWNsaWNrIixmdW5jdGlvbihFKXtnLkMmJmdvb2dsZS5tYXBzLmxvZ2dlci5jYW5jZWxBdmFpbGFiaWxpdHlFdmVudChnLkMpOwppZighZy5ELmhhbmRsZUV2ZW50KCEwKSl7dmFyIHk9T3UoRS5mZWF0dXJlSWQpO2lmKHkpe3ZhciBOPW5ldyBTdTt2YXIgVD1uZXcgcGg7VD1FZShULDEsRWMoeS5pKSk7VD1FZShULDIsRWMoeS5nKSk7Tj12ZShOLHBoLDEsVCk7Tj1EYihXdShOKSw0KX1lbHNlIE49bnVsbDtpZih5JiZOKXtUPWcuSzt2YXIgWD1FLmxhdExuZztFPW5ldyBHcDt2YXIgdmI9RXAoTChFLENwLDQpKTt2Yj1MKHZiLERoLDE0KTt2Yj1MKHZiLHJoLDEpO3ZhciBEYT1uZXcgcGg7RGE9RWUoRGEsMSxFYyh5LmkpLnRvU3RyaW5nKCkpO0RhPUVlKERhLDIsRWMoeS5nKS50b1N0cmluZygpKTt2Yj12ZSh2YixwaCwxLERhKTtEYT1uZXcgcWg7dmFyIEhjPVgubGF0KCkqMUU3O0RhPUooRGEsMSxIYz09bnVsbD9IYzpqZChIYykpO1g9WC5sbmcoKSoxRTc7WD1KKERhLDIsWD09bnVsbD9YOmpkKFgpKTtEYT1YLnY7SGM9RGFbRF18MDtYPXFjKFgsSGMpP1g6U2QoWCxEYSxIYyk/VGQoWCxEYSk6bmV3IFguY29uc3RydWN0b3IoUmQoRGEsCkhjLCEwKSk7dmUodmIscWgsNCxYKTtULmc9RTtMcShUKTtnLnBsYWNlSWQ9TjtOPWcuaTtOLmc9IiZjaWQ9IitFYyh5LmcpO2V1KE4pO1l1KGcpfWVsc2UgZHYoZyxFLnF1ZXJ5U3RyaW5nLEUubGF0TG5nKX19KTt5ZShhLDI2KSYmKHY9bmV3IFFrKCJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS9tYXBzP3A9a21sIiksKGE9UnAoTShhLFFwLDgpKSkmJnYuaS5zZXQoImhsIixhKSxuZXcgZnUoYix2KSk7ZG9jdW1lbnQucmVmZXJyZXIuaW5kZXhPZigiLmdvb2dsZS5jb20iKT4wJiZnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lck9uY2UociwidGlsZXNsb2FkZWQiLGZ1bmN0aW9uKCl7d2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgidGlsZXNsb2FkZWQiLCIqIil9KX1mdW5jdGlvbiAkdShhKXthLmw9MDthLkZ8fGF2KGEsITEpfWZ1bmN0aW9uIFl1KGEpe2EubD0xO2EucGxhY2VJZCYmKGEuZy5wbGFjZUlkPWEucGxhY2VJZCxhdihhLCExKSl9CmZ1bmN0aW9uIFp1KGEpe2EubD0yO2lmKCFhLkYpe2F2KGEsITApO3ZhciBiPWEuajthPXVlKGEuSSxMcCwyMixscCk7YT11ZShhLG9wLDUsTnApO2IuZz0hMDtiLmo9YTtiLmkuc3RhcnQoKX19ZnVuY3Rpb24gZHYoYSxiLGMpe3ZhciBkLGU7SmEoZnVuY3Rpb24oZil7aWYoZi5nPT0xKXJldHVybiBmLkMoZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlLnNlYXJjaEJ5VGV4dCh7dGV4dFF1ZXJ5OmIsZmllbGRzOlsiaWQiXSxsb2NhdGlvbkJpYXM6YyxtYXhSZXN1bHRDb3VudDoxfSksMik7ZD1mLkQ7KGU9ZC5wbGFjZXMpJiZlLmxlbmd0aD4wJiZlWzBdLmlkJiYoYS5wbGFjZUlkPWVbMF0uaWQsWXUoYSkpO2YuUCgpfSl9ZnVuY3Rpb24gYnYoYSxiLGMpe2EuZy5jYXJkV2lkdGg9YjthLmcuY29udGFpbmVyU2l6ZT1jfWZ1bmN0aW9uIGN2KGEpe3ZhciBiPXpqKCkuaGVpZ2h0PD0zNDA7YiE9PWEuZy50cnVuY2F0aW9uRW5hYmxlZCYmKGEuZy50cnVuY2F0aW9uRW5hYmxlZD1iKX0KZnVuY3Rpb24gYXYoYSxiKXtpZighYiYmYS5qLmcpe3ZhciBjPWEuajtjLmc9ITE7Yy5pLnN0YXJ0KCl9YS5nLnBsYWNlQ2FyZEhpZGRlbj1ifTt2YXIgZXY9ITE7T2EoImluaXRFbWJlZCIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3ZhciBjPXBlcmZvcm1hbmNlLm5vdygpO2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7aWYoIWV2JiYhemooKS5pc0VtcHR5KCkpe3ZhciBkO3RyeXtldj0hMDtpZihhKXt2YXIgZT1uZXcgVHAoYSk7aWYoSyhlLEdwLDYpKWZvcih2YXIgZj1MKGUsR3AsNiksZz1IcChmKSxoPTA7aDxnOysraClmb3IodmFyIGs9Z2UoZiwxLHlwLGgpLGw9ZGUoayxzcCw0KS0xO2w+PTA7LS1sKWZlKGssNCxzcCxsKS5nZXRLZXkoKT09PSJnaWQiJiZ3ZShrLDQsc3AsbCwxLCEwKTt2YXIgbT1lfWVsc2UgbT1uZXcgVHA7YTp7dHJ5e2lmKGJlKG0sTHAsMjIsbHApKXt2YXIgbjt2YXIgcD0oKG49dGUobSxMcCxjZShtLGxwLDIyKSkpPT1udWxsPzA6TXAobikpPzE1NjMxNjowO2JyZWFrIGF9aWYoYmUobSxrcCwyMyxscCkpe3A9MDticmVhayBhfX1jYXRjaChxKXt9cD0xNTYzMTZ9T28ua2MmJmdvb2dsZS5tYXBzLmhhc093blByb3BlcnR5KCJsb2dnZXIiKSYmCnAhPT0wJiYoZD1nb29nbGUubWFwcy5sb2dnZXIuYmVnaW5BdmFpbGFiaWxpdHlFdmVudChwLHtzdGFydFRpbWVzdGFtcDpjfSkpO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXBEaXYiKTt5ZShtLDIwKXx8d2luZG93LnBhcmVudCE9PXdpbmRvd3x8d2luZG93Lm9wZW5lcj9iZShtLExwLDIyLGxwKT9uZXcgWHUobSxyLGQpOmJlKG0sa3AsMjMsbHApP25ldyBpcChtLHIpOmQmJmdvb2dsZS5tYXBzLmxvZ2dlci5lbmRBdmFpbGFiaWxpdHlFdmVudChkLDEwKTooZCYmZ29vZ2xlLm1hcHMubG9nZ2VyLmNhbmNlbEF2YWlsYWJpbGl0eUV2ZW50KGQpLGRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQ9IiIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChLaShVcCkpKX1jYXRjaChxKXtjb25zb2xlLmVycm9yKHEpLGQmJmdvb2dsZS5tYXBzLmxvZ2dlci5lbmRBdmFpbGFiaWxpdHlFdmVudChkLDYpfX19ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSI/YigpOmZuKHdpbmRvdywKImxvYWQiLGIpO2ZuKHdpbmRvdywicmVzaXplIixiKX0pO2lmKHdpbmRvdy5vbkVtYmVkTG9hZCl3aW5kb3cub25FbWJlZExvYWQoKTt9KS5jYWxsKHRoaXMpOwo="}},"time_used":46,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":18,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/js?key=AIzaSyCmL18misQw9KdwqGaw3zHkitj8vG6QF2Y\u0026paint_origin=\u0026libraries=geometry,search\u0026v=weekly\u0026loading=async\u0026language=en\u0026region=us\u0026experimentation=allowed\u0026callback=onApiLoad","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.709Z","timestamp":1785154928709,"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 /maps/api/js?key=AIzaSyCmL18misQw9KdwqGaw3zHkitj8vG6QF2Y\u0026paint_origin=\u0026libraries=geometry,search\u0026v=weekly\u0026loading=async\u0026language=en\u0026region=us\u0026experimentation=allowed\u0026callback=onApiLoad HTTP/1.1\r\nHost: maps.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://www.google.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\netag: 0c83d58b\r\ncache-control: public, max-age=1800, stale-while-revalidate=12600\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 2671\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=11\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":13422,"size_decoded":3227,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (12266)","md5":"9807435091dc20fddc13d875506f0fb3","sha1":"17b70dbd570beb03a05ce58da0aa2ee2119407d7","sha256":"e8dbab68d882e85faf72a74585bbedbee7041912e831f8cf65515260afdded72","sha512":"4e746a4e7ba5a854bc0304485ec80740273e1da9b44cc6e5abb80568e3bf8964790165dc3c6a382a1ea8e58911890b833053c91628e58e86e87e59143228d01e","ssdeep":"384:lVsmEM03oU8Dl7X+XH4NFC2JupSETMH8U4lNRsOM9BWIfabysggC5j2GwqgGODeu:lVtEM03oUcl7X+XHuFCoupSEE4lNRsNY","tlshash":"cb52947b33851c36dd03e17cf45a6d0e24b3da672db5aae0c62768ca8d250b91816fc9","first_seen":"2026-07-27T12:15:59.244515Z","last_seen":"2026-07-27T12:58:09.488372Z","times_seen":4,"resource_available":true,"data":"Cgp3aW5kb3cuZ29vZ2xlID0gd2luZG93Lmdvb2dsZSB8fCB7fTsKZ29vZ2xlLm1hcHMgPSBnb29nbGUubWFwcyB8fCB7fTsKKGZ1bmN0aW9uKCkgewogIHZhciBydWxlcyA9IHsKICAgIGNyZWF0ZUhUTUw6IGZ1bmN0aW9uKHNyYykgewogICAgICByZXR1cm4gc3JjOwogICAgfSwKICAgIGNyZWF0ZVNjcmlwdFVSTDogZnVuY3Rpb24oc3JjKSB7CiAgICAgIHJldHVybiBzcmM7CiAgICB9CiAgfTsKICB2YXIgdHRQb2xpY3k7CiAgCiAgdHJ5IHsKICAgdHRQb2xpY3kgPSB3aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgnZ29vZ2xlLW1hcHMtYXBpLWxvYWRlcicsIHJ1bGVzKTsKICB9IGNhdGNoKGUpIHsKICAgIHR0UG9saWN5ID0gcnVsZXM7CiAgfQogIAogIGZ1bmN0aW9uIGdldFNjcmlwdChzcmMpIHsKICAgIHZhciBhLCBub25jZSA9ICgoYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtub25jZV0iKSkgPT0gbnVsbCA/IHZvaWQgMCA6IGEubm9uY2UpIHx8ICIiOwogICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIAogICAgcy5zcmMgPSB0dFBvbGljeS5jcmVhdGVTY3JpcHRVUkwoc3JjKTsKICAgIHMubm9uY2UgPSBub25jZTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyk7CiAgfQogIAogIHZhciBtb2R1bGVzID0gZ29vZ2xlLm1hcHMubW9kdWxlcyA9IHt9OwogIGdvb2dsZS5tYXBzLl9fZ2pzbG9hZF9fID0gZnVuY3Rpb24obmFtZSwgdGV4dCkgewogICAgbW9kdWxlc1tuYW1lXSA9IHRleHQ7CiAgfTsKICAKICBnb29nbGUubWFwcy5Mb2FkID0gZnVuY3Rpb24oYXBpTG9hZCkgewogICAgZGVsZXRlIGdvb2dsZS5tYXBzLkxvYWQ7CiAgICBhcGlMb2FkKFswLjAwOTk5OTk5OTc3NjQ4MjU4MixbbnVsbCxbWyJodHRwczovL2tobXMwLmdvb2dsZWFwaXMuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuXHUwMDI2Z2w9VVNcdTAwMjYiLCJodHRwczovL2tobXMxLmdvb2dsZWFwaXMuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuXHUwMDI2Z2w9VVNcdTAwMjYiXSxudWxsLG51bGwsbnVsbCwxLCIxMDEyIixbImh0dHBzOi8va2htczAuZ29vZ2xlLmNvbS9raD92PTEwMTJcdTAwMjZobD1lblx1MDAyNmdsPVVTXHUwMDI2IiwiaHR0cHM6Ly9raG1zMS5nb29nbGUuY29tL2toP3Y9MTAxMlx1MDAyNmhsPWVuXHUwMDI2Z2w9VVNcdTAwMjYiXV0sbnVsbCxudWxsLG51bGwsbnVsbCxbWyJodHRwczovL2Nia3MwLmdvb2dsZWFwaXMuY29tL2Niaz8iLCJodHRwczovL2Nia3MxLmdvb2dsZWFwaXMuY29tL2Niaz8iXV0sW1siaHR0cHM6Ly9raG1zMC5nb29nbGVhcGlzLmNvbS9raD92PTE2OVx1MDAyNmhsPWVuXHUwMDI2Z2w9VVNcdTAwMjYiLCJodHRwczovL2tobXMxLmdvb2dsZWFwaXMuY29tL2toP3Y9MTY5XHUwMDI2aGw9ZW5cdTAwMjZnbD1VU1x1MDAyNiJdLG51bGwsbnVsbCxudWxsLG51bGwsIjE2OSIsWyJodHRwczovL2tobXMwLmdvb2dsZS5jb20va2g/dj0xNjlcdTAwMjZobD1lblx1MDAyNmdsPVVTXHUwMDI2IiwiaHR0cHM6Ly9raG1zMS5nb29nbGUuY29tL2toP3Y9MTY5XHUwMDI2aGw9ZW5cdTAwMjZnbD1VU1x1MDAyNiJdXSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFtbImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aHVtYm5haWw/aGw9ZW5cdTAwMjZnbD1VU1x1MDAyNiIsImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aHVtYm5haWw/aGw9ZW5cdTAwMjZnbD1VU1x1MDAyNiJdXV0sWyJlbiIsIlVTIixudWxsLDAsbnVsbCxudWxsLCJodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwZmlsZXMvIixudWxsLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20iLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20iLG51bGwsImh0dHBzOi8vbWFwcy5nb29nbGUuY29tIixudWxsLCJodHRwczovL21hcHMuZ3N0YXRpYy5jb20vbWFwcy1hcGktdjMvYXBpL2ltYWdlcy8iLCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMiLG51bGwsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20iLDEsImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzX2FwaV9qc19zbG8vbG9nP2hhc2Zhc3Q9dHJ1ZSIsMCwwXSxbImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzLWFwaS12My9hcGkvanMvNjUvMTBhIiwiMy42NS4xMGEiXSxbODgwNjI0ODYzXSxudWxsLG51bGwsbnVsbCxbMSwyLDMsOCwxMCwxNSwxNywxOCwyMCwyMSwyMywyNiwzMCwzNSwzOSw0NSw0Nyw0OCw1MSw2OCw3Miw3Niw4NSwxMTQsMTMxLDExMl0sbnVsbCxudWxsLCJvbkFwaUxvYWQiLFsiZ2VvbWV0cnkiLCJzZWFyY2giXSxudWxsLDEsImh0dHBzOi8va2htcy5nb29nbGVhcGlzLmNvbS9tej92PTEwMTJcdTAwMjYiLCJBSXphU3lDbUwxOG1pc1F3OUtkd3FHYXczekhraXRqOHZHNlFGMlkiLCJodHRwczovL2VhcnRoYnVpbGRlci5nb29nbGVhcGlzLmNvbSIsImh0dHBzOi8vZWFydGhidWlsZGVyLmdvb2dsZWFwaXMuY29tIixudWxsLCJodHRwczovL210cy5nb29nbGVhcGlzLmNvbS9tYXBzL3Z0L2ljb24iLFtbIi9tYXBzL3Z0Il0sWyIvbWFwcy92dCJdLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsWyIvbWFwcy92dCJdLCIvbWFwcy92dCIsNzg3MDAwMDAwLDc4Nyw3ODc1NTM3MTEsMV0sMiw1MDAsW251bGwsbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wcmV2aWV3L2xvZzIwNCIsIiIsImh0dHBzOi8vc3RhdGljLnBhbm9yYW1pby5jb20uc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9waG90b3MvIixbImh0dHBzOi8vZ2VvMC5nZ3BodC5jb20vY2JrIiwiaHR0cHM6Ly9nZW8xLmdncGh0LmNvbS9jYmsiLCJodHRwczovL2dlbzIuZ2dwaHQuY29tL2NiayIsImh0dHBzOi8vZ2VvMy5nZ3BodC5jb20vY2JrIl0sImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcy9HZW9QaG90b1NlcnZpY2UuR2V0TWV0YWRhdGEiLCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanMvR2VvUGhvdG9TZXJ2aWNlLlNpbmdsZUltYWdlU2VhcmNoIixbImh0dHBzOi8vbGgzLmdncGh0LmNvbS9qc2FwaTIvYS9iL2MvIiwiaHR0cHM6Ly9saDQuZ2dwaHQuY29tL2pzYXBpMi9hL2IvYy8iLCJodHRwczovL2xoNS5nZ3BodC5jb20vanNhcGkyL2EvYi9jLyIsImh0dHBzOi8vbGg2LmdncGh0LmNvbS9qc2FwaTIvYS9iL2MvIl0sImh0dHBzOi8vc3RyZWV0dmlld3BpeGVscy1wYS5nb29nbGVhcGlzLmNvbS92MS90aWxlIixbImh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8iLCJodHRwczovL2xoNC5nb29nbGV1c2VyY29udGVudC5jb20vIiwiaHR0cHM6Ly9saDUuZ29vZ2xldXNlcmNvbnRlbnQuY29tLyIsImh0dHBzOi8vbGg2Lmdvb2dsZXVzZXJjb250ZW50LmNvbS8iXV0sbnVsbCxudWxsLG51bGwsbnVsbCwiL21hcHMvYXBpL2pzL0FwcGxpY2F0aW9uU2VydmljZS5HZXRFbnRpdHlEZXRhaWxzIiwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxbIjY1LjEwYSJdLDEsMCxbMV0sIkNnQVNsamNJa3dZU2ZBZ0JFbmhvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZBZ0NFbmhvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZBZ0RFbmhvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2RnZ0VFbkpvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVNWhkbWxuWVhScGIyNHRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmZ2dGRW5wb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjVNYjNkTWFXZG9kQzFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUkovQ0FZU2UyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmxOaGRHVnNiR2wwWlMxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKekNBY1NiMmgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFVtOWhaRzFoY0MxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKekNBZ1NiMmgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFVtOWhaRzFoY0MxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKOUNBa1NlV2gwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFVtOWhaRzFoY0VGdFltbGhZM1JwZG1VdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2N3Z0tFbTlvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhBdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZBZ0xFbmhvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2N3Z01FbTlvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWUmxjbkpoYVc0dFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2RnZ05FbkpvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVNWhkbWxuWVhScGIyNHRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NkZ2dPRW5Kb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjR0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZlFnUEVubG9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFZKdllXUnRZWEJCYldKcFlXTjBhWFpsTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW9NQkNCQVNmMmgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFVtOWhaRzFoY0VGdFltbGhZM1JwZG1WTWIzZENhWFF0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZmdnUkVucG9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFU1aGRtbG5ZWFJwYjI1TWIzZE1hV2RvZEMxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKNkNCSVNkbWgwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFZISmhibk5wZEVadlkzVnpaV1F0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTY3dnVEVtOW9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFZKdllXUnRZWEF0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZVFnVUVuVm9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFZKdmRYUmxUM1psY25acFpYY3RSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1Njd2dWRW05b2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVkp2WVdSdFlYQXRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NmUWdXRW5sb2RIUndjem92TDNkM2R5NW5jM1JoZEdsakxtTnZiUzl0WVhCekwzSmxjeTlEYjIxd1lXTjBUR1ZuWlc1a1UyUnJMVTVoZG1sbllYUnBiMjVCYldKcFpXNTBMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFb0VCQ0JjU2ZXaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmtGdFltbGxiblJFWVhKckxVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvTUJDQmtTZjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RRbUZ6WlcxaGNFVmthWFJwYm1kVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2N3Z2FFbTlvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhBdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2R3Z2JFbk5vZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWSnZZV1J0WVhCRVlYSnJMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFbjBJSEJKNWFIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFTYjNWMFpVOTJaWEoyYVdWM1JHRnlheTFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUkozQ0IwU2MyaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VkdWeWNtRnBia1JoY21zdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZnZ2VFbnBvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxWUnlZVzV6YVhSR2IyTjFjMlZrUkdGeWF5MUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSnpDQjhTYjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSjNDQ0FTYzJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RVbTloWkcxaGNFUmhjbXN0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTZHdnaEVuTm9kSFJ3Y3pvdkwzZDNkeTVuYzNSaGRHbGpMbU52YlM5dFlYQnpMM0psY3k5RGIyMXdZV04wVEdWblpXNWtVMlJyTFZKdllXUnRZWEJFWVhKckxVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvQUJDQ1VTZkdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZia2hwWjJoRVpYUmhhV3d0Um1WMFkyaGhZbXhsVTNSNWJHVlRaWFJUWkdzdE9HSTFZak5tTXpFNE9UQXdOakV6T1dVNU1HVTJNREJpTXpBM05XUTFNRGtTaVFFSUpoS0VBV2gwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFRtRjJhV2RoZEdsdmJraHBaMmhFWlhSaGFXeE1iM2RNYVdkb2RDMUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSnlDQ2tTYm1oMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RWSEpoZG1Wc0xVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVuWUlLaEp5YUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MVVjbUYyWld4RVlYSnJMVVpsZEdOb1lXSnNaVk4wZVd4bFUyVjBVMlJyTFRoaU5XSXpaak14T0Rrd01EWXhNemxsT1RCbE5qQXdZak13TnpWa05UQTVFbjhJS3hKN2FIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1VTJGMFpXeHNhWFJsTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW44SUxCSjdhSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxVVpYSnlZV2x1Vm1WamRHOXlRMnhwWlc1MExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvTUJDQzBTZjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RWR1Z5Y21GcGJsWmxZM1J2Y2tOc2FXVnVkRVJoY21zdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZRZ3VFbmxvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVNWhkbWxuWVhScGIyNUJiV0pwWlc1MExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvRUJDQzhTZldoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZia0Z0WW1sbGJuUkVZWEpyTFVabGRHTm9ZV0pzWlZOMGVXeGxVMlYwVTJSckxUaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1RW4wSU1CSjVhSFIwY0hNNkx5OTNkM2N1WjNOMFlYUnBZeTVqYjIwdmJXRndjeTl5WlhNdlEyOXRjR0ZqZEV4bFoyVnVaRk5rYXkxQmFYSlJkV0ZzYVhSNVNHVmhkRzFoY0MxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JLQkFRZ3hFbjFvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVRnBjbEYxWVd4cGRIbElaV0YwYldGd1JHRnlheTFHWlhSamFHRmliR1ZUZEhsc1pWTmxkRk5rYXkwNFlqVmlNMll6TVRnNU1EQTJNVE01WlRrd1pUWXdNR0l6TURjMVpEVXdPUko2Q0RJU2RtaDBkSEJ6T2k4dmQzZDNMbWR6ZEdGMGFXTXVZMjl0TDIxaGNITXZjbVZ6TDBOdmJYQmhZM1JNWldkbGJtUlRaR3N0VG1GMmFXZGhkR2x2YmtWbmJXMHRSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NnZ0VJTXhKK2FIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1UldkdGJVeHZkMHhwWjJoMExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVvTUJDRFFTZjJoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZia1ZuYlcxVFlYUmxiR3hwZEdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2ZBZzFFbmhvZEhSd2N6b3ZMM2QzZHk1bmMzUmhkR2xqTG1OdmJTOXRZWEJ6TDNKbGN5OURiMjF3WVdOMFRHVm5aVzVrVTJSckxVNWhkbWxuWVhScGIyNVVkVzV1Wld3dFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2hRRUlOaEtBQVdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RUbUYyYVdkaGRHbHZibFIxYm01bGJFeHZkMHhwWjJoMExVWmxkR05vWVdKc1pWTjBlV3hsVTJWMFUyUnJMVGhpTldJelpqTXhPRGt3TURZeE16bGxPVEJsTmpBd1lqTXdOelZrTlRBNUVuMElOeEo1YUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MU9ZWFpwWjJGMGFXOXVSMnhoYzNObGN5MUdaWFJqYUdGaWJHVlRkSGxzWlZObGRGTmtheTA0WWpWaU0yWXpNVGc1TURBMk1UTTVaVGt3WlRZd01HSXpNRGMxWkRVd09SSjVDRGdTZFdoMGRIQnpPaTh2ZDNkM0xtZHpkR0YwYVdNdVkyOXRMMjFoY0hNdmNtVnpMME52YlhCaFkzUk1aV2RsYm1SVFpHc3RTVzF0WlhKemFYWmxWbWxsZHkxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JKOUNEa1NlV2gwZEhCek9pOHZkM2QzTG1kemRHRjBhV011WTI5dEwyMWhjSE12Y21WekwwTnZiWEJoWTNSTVpXZGxibVJUWkdzdFRtRjJhV2RoZEdsdmJrMXBiazF2WkdVdFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURrU2d3RUlPaEovYUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MU9ZWFpwWjJGMGFXOXVRVzFpYVdWdWRGUjFibTVsYkMxR1pYUmphR0ZpYkdWVGRIbHNaVk5sZEZOa2F5MDRZalZpTTJZek1UZzVNREEyTVRNNVpUa3daVFl3TUdJek1EYzFaRFV3T1JLSUFRZzdFb01CYUhSMGNITTZMeTkzZDNjdVozTjBZWFJwWXk1amIyMHZiV0Z3Y3k5eVpYTXZRMjl0Y0dGamRFeGxaMlZ1WkZOa2F5MU9ZWFpwWjJGMGFXOXVRVzFpYVdWdWRFUmhjbXRVZFc1dVpXd3RSbVYwWTJoaFlteGxVM1I1YkdWVFpYUlRaR3N0T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea1NnUUVJUEJKOWFIUjBjSE02THk5M2QzY3VaM04wWVhScFl5NWpiMjB2YldGd2N5OXlaWE12UTI5dGNHRmpkRXhsWjJWdVpGTmtheTFPWVhacFoyRjBhVzl1VFdsdVRXOWtaVUYxZEc4dFJtVjBZMmhoWW14bFUzUjViR1ZUWlhSVFpHc3RPR0kxWWpObU16RTRPVEF3TmpFek9XVTVNR1UyTURCaU16QTNOV1ExTURraUlEaGlOV0l6WmpNeE9Ea3dNRFl4TXpsbE9UQmxOakF3WWpNd056VmtOVEE1S0FFeWNtaDBkSEJ6T2k4dmQzZDNMbWR2YjJkc1pTNWpiMjB2YldGd2N5OTJkQzl6ZUdadmNtMXpQM1k5T0dJMVlqTm1NekU0T1RBd05qRXpPV1U1TUdVMk1EQmlNekEzTldRMU1Ea21jM1I1YkdWeVgzTjFZblI1Y0dVOVUxUlpURVZTWDB4RlIwVk9SRjlUVlVKVVdWQkZYMU5FU3pwZ0NpNkFmSUI0Z0hTQWNJQnNnR2lBWklCZ2dGeUFXSUJVZ0ZDQVRJQklnRVNBUUlBOGdEaUFOSUF3Z0N5QUtJQWtFZ1FJQUJBQUVnUUlBUkFCRWdRSUFoQUNFZzBJQXhELy8vLy8vLy8vLy84QkVnMElCQkQrLy8vLy8vLy8vLzhCUWdOelpHczQ2WTYwRmpqcmlMZ1dPTzdmdVJZNDZwRHpJZz09IixudWxsLDEsMC4wMDk5OTk5OTk3NzY0ODI1ODIsbnVsbCxbW1s2LCIxNzg0ODAyOTg2Il1dXSwxLCJhc3luYyIsbnVsbCwxLDBdLCBsb2FkU2NyaXB0VGltZSk7CiAgfTsKICB2YXIgbG9hZFNjcmlwdFRpbWUgPSAobmV3IERhdGUpLmdldFRpbWUoKTsKICBnZXRTY3JpcHQoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzLWFwaS12My9hcGkvanMvNjUvMTBhL2dlb21ldHJ5LmpzIik7CiAgZ2V0U2NyaXB0KCJodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy1hcGktdjMvYXBpL2pzLzY1LzEwYS9zZWFyY2guanMiKTsKICBnZXRTY3JpcHQoImh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzLWFwaS12My9hcGkvanMvNjUvMTBhL21haW4uanMiKTsKfSkoKTsK"}},"time_used":50,"timings":{"blocked":0,"dns":1,"connect":8,"send":0,"wait":20,"receive":0,"ssl":21},"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://primeelitecapital.com/","date":"2026-07-27T12:22:08.955Z","timestamp":1785154928955,"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://primeelitecapital.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: 353519\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-08-11T11:38:13.474474Z","times_seen":79427,"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":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/bootstrap/js/bootstrap.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.931Z","timestamp":1785154927931,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/bootstrap/js/bootstrap.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:22 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=qr%2BxmVe%2FSrxcI%2FHnZKjeKQyiFVGdB%2Bi1e8kJf%2B9EeR%2FVtXN5X3gD2yOa6sYZq14n8tS5LaMgcxjiaF5Vp%2Faq7yYqRdgipnwZhEGoY0h%2BXKlb70wJlBygzUt3ockKD%2BeMtyg9eGAlv60%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d5ab28a-OSL\r\ncontent-length: 12542\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":48944,"size_decoded":13328,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (48664)","md5":"14d449eb8876fa55e1ef3c2cc52b0c17","sha1":"a9545831803b1359cfeed47e3b4d6bae68e40e99","sha256":"e7ed36ceee5450b4243bbc35188afabdfb4280c7c57597001de0ed167299b01b","sha512":"00d9069b9bd29ad0daa0503f341d67549cce28e888e1affd1a2a45b64a4c1bc460d81cfc4751857f991f2f4fb3d2572fd97fca651ba0c2b0255530209b182f22","ssdeep":"768:9VG5R15WbHVKZrycEHSYro34CrSLB6WU/6DqBf4l1B:9VIRuo53XiwWTvl1B","tlshash":"7523c84a7254b4a202dfa476913f450bb73b389aa60bc16cb95994ed1d7cd8c3227f3c","first_seen":"2023-03-07T01:02:44Z","last_seen":"2026-08-11T11:42:03.795553Z","times_seen":110737,"resource_available":true,"data":"LyohCiAgKiBCb290c3RyYXAgdjQuMC4wIChodHRwczovL2dldGJvb3RzdHJhcC5jb20pCiAgKiBDb3B5cmlnaHQgMjAxMS0yMDE4IFRoZSBCb290c3RyYXAgQXV0aG9ycyAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2dyYXBocy9jb250cmlidXRvcnMpCiAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogICovCiFmdW5jdGlvbih0LGUpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/ZShleHBvcnRzLHJlcXVpcmUoImpxdWVyeSIpLHJlcXVpcmUoInBvcHBlci5qcyIpKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImV4cG9ydHMiLCJqcXVlcnkiLCJwb3BwZXIuanMiXSxlKTplKHQuYm9vdHN0cmFwPXt9LHQualF1ZXJ5LHQuUG9wcGVyKX0odGhpcyxmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkua2V5LGkpfX1mdW5jdGlvbiBzKHQsZSxuKXtyZXR1cm4gZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbiksdH1mdW5jdGlvbiByKCl7cmV0dXJuKHI9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIG49YXJndW1lbnRzW2VdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYodFtpXT1uW2ldKX1yZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1lPWUmJmUuaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9lLmRlZmF1bHQ6ZSxuPW4mJm4uaGFzT3duUHJvcGVydHkoImRlZmF1bHQiKT9uLmRlZmF1bHQ6bjt2YXIgbyxhLGwsaCxjLHUsZixkLF8sZyxwLG0sdixFLFQseSxDLEksQSxiLEQsUyx3LE4sTyxrLFA9ZnVuY3Rpb24odCl7dmFyIGU9ITE7ZnVuY3Rpb24gbihlKXt2YXIgbj10aGlzLHM9ITE7cmV0dXJuIHQodGhpcykub25lKGkuVFJBTlNJVElPTl9FTkQsZnVuY3Rpb24oKXtzPSEwfSksc2V0VGltZW91dChmdW5jdGlvbigpe3N8fGkudHJpZ2dlclRyYW5zaXRpb25FbmQobil9LGUpLHRoaXN9dmFyIGk9e1RSQU5TSVRJT05fRU5EOiJic1RyYW5zaXRpb25FbmQiLGdldFVJRDpmdW5jdGlvbih0KXtkb3t0Kz1+figxZTYqTWF0aC5yYW5kb20oKSl9d2hpbGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodCkpO3JldHVybiB0fSxnZXRTZWxlY3RvckZyb21FbGVtZW50OmZ1bmN0aW9uKGUpe3ZhciBuLGk9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFyZ2V0Iik7aSYmIiMiIT09aXx8KGk9ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKXx8IiIpLCIjIj09PWkuY2hhckF0KDApJiYobj1pLGk9bj0iZnVuY3Rpb24iPT10eXBlb2YgdC5lc2NhcGVTZWxlY3Rvcj90LmVzY2FwZVNlbGVjdG9yKG4pLnN1YnN0cigxKTpuLnJlcGxhY2UoLyg6fFwufFxbfFxdfCx8PXxAKS9nLCJcXCQxIikpO3RyeXtyZXR1cm4gdChkb2N1bWVudCkuZmluZChpKS5sZW5ndGg+MD9pOm51bGx9Y2F0Y2godCl7cmV0dXJuIG51bGx9fSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbihuKXt0KG4pLnRyaWdnZXIoZS5lbmQpfSxzdXBwb3J0c1RyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbihlKX0saXNFbGVtZW50OmZ1bmN0aW9uKHQpe3JldHVybih0WzBdfHx0KS5ub2RlVHlwZX0sdHlwZUNoZWNrQ29uZmlnOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHMgaW4gbilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixzKSl7dmFyIHI9bltzXSxvPWVbc10sYT1vJiZpLmlzRWxlbWVudChvKT8iZWxlbWVudCI6KGw9byx7fS50b1N0cmluZy5jYWxsKGwpLm1hdGNoKC9ccyhbYS16QS1aXSspLylbMV0udG9Mb3dlckNhc2UoKSk7aWYoIW5ldyBSZWdFeHAocikudGVzdChhKSl0aHJvdyBuZXcgRXJyb3IodC50b1VwcGVyQ2FzZSgpKyc6IE9wdGlvbiAiJytzKyciIHByb3ZpZGVkIHR5cGUgIicrYSsnIiBidXQgZXhwZWN0ZWQgdHlwZSAiJytyKyciLicpfXZhciBsfX07cmV0dXJuIGU9KCJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93fHwhd2luZG93LlFVbml0KSYme2VuZDoidHJhbnNpdGlvbmVuZCJ9LHQuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9bixpLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiYodC5ldmVudC5zcGVjaWFsW2kuVFJBTlNJVElPTl9FTkRdPXtiaW5kVHlwZTplLmVuZCxkZWxlZ2F0ZVR5cGU6ZS5lbmQsaGFuZGxlOmZ1bmN0aW9uKGUpe2lmKHQoZS50YXJnZXQpLmlzKHRoaXMpKXJldHVybiBlLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KSxpfShlKSxMPShhPSJhbGVydCIsaD0iLiIrKGw9ImJzLmFsZXJ0IiksYz0obz1lKS5mblthXSx1PXtDTE9TRToiY2xvc2UiK2gsQ0xPU0VEOiJjbG9zZWQiK2gsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitoKyIuZGF0YS1hcGkifSxmPSJhbGVydCIsZD0iZmFkZSIsXz0ic2hvdyIsZz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLmNsb3NlPWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy5fZWxlbWVudDt2YXIgZT10aGlzLl9nZXRSb290RWxlbWVudCh0KTt0aGlzLl90cmlnZ2VyQ2xvc2VFdmVudChlKS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fcmVtb3ZlRWxlbWVudChlKX0sZS5kaXNwb3NlPWZ1bmN0aW9uKCl7by5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsbCksdGhpcy5fZWxlbWVudD1udWxsfSxlLl9nZXRSb290RWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCksbj0hMTtyZXR1cm4gZSYmKG49byhlKVswXSksbnx8KG49byh0KS5jbG9zZXN0KCIuIitmKVswXSksbn0sZS5fdHJpZ2dlckNsb3NlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9by5FdmVudCh1LkNMT1NFKTtyZXR1cm4gbyh0KS50cmlnZ2VyKGUpLGV9LGUuX3JlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztvKHQpLnJlbW92ZUNsYXNzKF8pLFAuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJm8odCkuaGFzQ2xhc3MoZCk/byh0KS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbihuKXtyZXR1cm4gZS5fZGVzdHJveUVsZW1lbnQodCxuKX0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDE1MCk6dGhpcy5fZGVzdHJveUVsZW1lbnQodCl9LGUuX2Rlc3Ryb3lFbGVtZW50PWZ1bmN0aW9uKHQpe28odCkuZGV0YWNoKCkudHJpZ2dlcih1LkNMT1NFRCkucmVtb3ZlKCl9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49byh0aGlzKSxpPW4uZGF0YShsKTtpfHwoaT1uZXcgdCh0aGlzKSxuLmRhdGEobCxpKSksImNsb3NlIj09PWUmJmlbZV0odGhpcyl9KX0sdC5faGFuZGxlRGlzbWlzcz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLHQuY2xvc2UodGhpcyl9fSxzKHQsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19XSksdH0oKSxvKGRvY3VtZW50KS5vbih1LkNMSUNLX0RBVEFfQVBJLCdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxnLl9oYW5kbGVEaXNtaXNzKG5ldyBnKSksby5mblthXT1nLl9qUXVlcnlJbnRlcmZhY2Usby5mblthXS5Db25zdHJ1Y3Rvcj1nLG8uZm5bYV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBvLmZuW2FdPWMsZy5falF1ZXJ5SW50ZXJmYWNlfSxnKSxSPShtPSJidXR0b24iLEU9Ii4iKyh2PSJicy5idXR0b24iKSxUPSIuZGF0YS1hcGkiLHk9KHA9ZSkuZm5bbV0sQz0iYWN0aXZlIixJPSJidG4iLEE9ImZvY3VzIixiPSdbZGF0YS10b2dnbGVePSJidXR0b24iXScsRD0nW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nLFM9ImlucHV0Iix3PSIuYWN0aXZlIixOPSIuYnRuIixPPXtDTElDS19EQVRBX0FQSToiY2xpY2siK0UrVCxGT0NVU19CTFVSX0RBVEFfQVBJOiJmb2N1cyIrRStUKyIgYmx1ciIrRStUfSxrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9lbGVtZW50PXR9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIHQ9ITAsZT0hMCxuPXAodGhpcy5fZWxlbWVudCkuY2xvc2VzdChEKVswXTtpZihuKXt2YXIgaT1wKHRoaXMuX2VsZW1lbnQpLmZpbmQoUylbMF07aWYoaSl7aWYoInJhZGlvIj09PWkudHlwZSlpZihpLmNoZWNrZWQmJnAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpdD0hMTtlbHNle3ZhciBzPXAobikuZmluZCh3KVswXTtzJiZwKHMpLnJlbW92ZUNsYXNzKEMpfWlmKHQpe2lmKGkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHxuLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8aS5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIil8fG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpKXJldHVybjtpLmNoZWNrZWQ9IXAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykscChpKS50cmlnZ2VyKCJjaGFuZ2UiKX1pLmZvY3VzKCksZT0hMX19ZSYmdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIXAodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQykpLHQmJnAodGhpcy5fZWxlbWVudCkudG9nZ2xlQ2xhc3MoQyl9LGUuZGlzcG9zZT1mdW5jdGlvbigpe3AucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LHYpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1wKHRoaXMpLmRhdGEodik7bnx8KG49bmV3IHQodGhpcykscCh0aGlzKS5kYXRhKHYsbikpLCJ0b2dnbGUiPT09ZSYmbltlXSgpfSl9LHModCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX1dKSx0fSgpLHAoZG9jdW1lbnQpLm9uKE8uQ0xJQ0tfREFUQV9BUEksYixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dC50YXJnZXQ7cChlKS5oYXNDbGFzcyhJKXx8KGU9cChlKS5jbG9zZXN0KE4pKSxrLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChwKGUpLCJ0b2dnbGUiKX0pLm9uKE8uRk9DVVNfQkxVUl9EQVRBX0FQSSxiLGZ1bmN0aW9uKHQpe3ZhciBlPXAodC50YXJnZXQpLmNsb3Nlc3QoTilbMF07cChlKS50b2dnbGVDbGFzcyhBLC9eZm9jdXMoaW4pPyQvLnRlc3QodC50eXBlKSl9KSxwLmZuW21dPWsuX2pRdWVyeUludGVyZmFjZSxwLmZuW21dLkNvbnN0cnVjdG9yPWsscC5mblttXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHAuZm5bbV09eSxrLl9qUXVlcnlJbnRlcmZhY2V9LGspLGo9ZnVuY3Rpb24odCl7dmFyIGU9ImNhcm91c2VsIixuPSJicy5jYXJvdXNlbCIsaT0iLiIrbixvPXQuZm5bZV0sYT17aW50ZXJ2YWw6NWUzLGtleWJvYXJkOiEwLHNsaWRlOiExLHBhdXNlOiJob3ZlciIsd3JhcDohMH0sbD17aW50ZXJ2YWw6IihudW1iZXJ8Ym9vbGVhbikiLGtleWJvYXJkOiJib29sZWFuIixzbGlkZToiKGJvb2xlYW58c3RyaW5nKSIscGF1c2U6IihzdHJpbmd8Ym9vbGVhbikiLHdyYXA6ImJvb2xlYW4ifSxoPSJuZXh0IixjPSJwcmV2Iix1PSJsZWZ0IixmPSJyaWdodCIsZD17U0xJREU6InNsaWRlIitpLFNMSUQ6InNsaWQiK2ksS0VZRE9XTjoia2V5ZG93biIraSxNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitpLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK2ksVE9VQ0hFTkQ6InRvdWNoZW5kIitpLExPQURfREFUQV9BUEk6ImxvYWQiK2krIi5kYXRhLWFwaSIsQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitpKyIuZGF0YS1hcGkifSxfPSJjYXJvdXNlbCIsZz0iYWN0aXZlIixwPSJzbGlkZSIsbT0iY2Fyb3VzZWwtaXRlbS1yaWdodCIsdj0iY2Fyb3VzZWwtaXRlbS1sZWZ0IixFPSJjYXJvdXNlbC1pdGVtLW5leHQiLFQ9ImNhcm91c2VsLWl0ZW0tcHJldiIseT17QUNUSVZFOiIuYWN0aXZlIixBQ1RJVkVfSVRFTToiLmFjdGl2ZS5jYXJvdXNlbC1pdGVtIixJVEVNOiIuY2Fyb3VzZWwtaXRlbSIsTkVYVF9QUkVWOiIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2IixJTkRJQ0FUT1JTOiIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIsREFUQV9TTElERToiW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b10iLERBVEFfUklERTonW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXSd9LEM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKGUsbil7dGhpcy5faXRlbXM9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2FjdGl2ZUVsZW1lbnQ9bnVsbCx0aGlzLl9pc1BhdXNlZD0hMSx0aGlzLl9pc1NsaWRpbmc9ITEsdGhpcy50b3VjaFRpbWVvdXQ9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX2VsZW1lbnQ9dChlKVswXSx0aGlzLl9pbmRpY2F0b3JzRWxlbWVudD10KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5JTkRJQ0FUT1JTKVswXSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciBDPW8ucHJvdG90eXBlO3JldHVybiBDLm5leHQ9ZnVuY3Rpb24oKXt0aGlzLl9pc1NsaWRpbmd8fHRoaXMuX3NsaWRlKGgpfSxDLm5leHRXaGVuVmlzaWJsZT1mdW5jdGlvbigpeyFkb2N1bWVudC5oaWRkZW4mJnQodGhpcy5fZWxlbWVudCkuaXMoIjp2aXNpYmxlIikmJiJoaWRkZW4iIT09dCh0aGlzLl9lbGVtZW50KS5jc3MoInZpc2liaWxpdHkiKSYmdGhpcy5uZXh0KCl9LEMucHJldj1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoYyl9LEMucGF1c2U9ZnVuY3Rpb24oZSl7ZXx8KHRoaXMuX2lzUGF1c2VkPSEwKSx0KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5ORVhUX1BSRVYpWzBdJiZQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiYoUC50cmlnZ2VyVHJhbnNpdGlvbkVuZCh0aGlzLl9lbGVtZW50KSx0aGlzLmN5Y2xlKCEwKSksY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbH0sQy5jeWNsZT1mdW5jdGlvbih0KXt0fHwodGhpcy5faXNQYXVzZWQ9ITEpLHRoaXMuX2ludGVydmFsJiYoY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCksdGhpcy5faW50ZXJ2YWw9bnVsbCksdGhpcy5fY29uZmlnLmludGVydmFsJiYhdGhpcy5faXNQYXVzZWQmJih0aGlzLl9pbnRlcnZhbD1zZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMubmV4dFdoZW5WaXNpYmxlOnRoaXMubmV4dCkuYmluZCh0aGlzKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwpKX0sQy50bz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3RoaXMuX2FjdGl2ZUVsZW1lbnQ9dCh0aGlzLl9lbGVtZW50KS5maW5kKHkuQUNUSVZFX0lURU0pWzBdO3ZhciBpPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtpZighKGU+dGhpcy5faXRlbXMubGVuZ3RoLTF8fGU8MCkpaWYodGhpcy5faXNTbGlkaW5nKXQodGhpcy5fZWxlbWVudCkub25lKGQuU0xJRCxmdW5jdGlvbigpe3JldHVybiBuLnRvKGUpfSk7ZWxzZXtpZihpPT09ZSlyZXR1cm4gdGhpcy5wYXVzZSgpLHZvaWQgdGhpcy5jeWNsZSgpO3ZhciBzPWU+aT9oOmM7dGhpcy5fc2xpZGUocyx0aGlzLl9pdGVtc1tlXSl9fSxDLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0KHRoaXMuX2VsZW1lbnQpLm9mZihpKSx0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2lzUGF1c2VkPW51bGwsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PW51bGx9LEMuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1yKHt9LGEsdCksUC50eXBlQ2hlY2tDb25maWcoZSx0LGwpLHR9LEMuX2FkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9jb25maWcua2V5Ym9hcmQmJnQodGhpcy5fZWxlbWVudCkub24oZC5LRVlET1dOLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9rZXlkb3duKHQpfSksImhvdmVyIj09PXRoaXMuX2NvbmZpZy5wYXVzZSYmKHQodGhpcy5fZWxlbWVudCkub24oZC5NT1VTRUVOVEVSLGZ1bmN0aW9uKHQpe3JldHVybiBlLnBhdXNlKHQpfSkub24oZC5NT1VTRUxFQVZFLGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnQodGhpcy5fZWxlbWVudCkub24oZC5UT1VDSEVORCxmdW5jdGlvbigpe2UucGF1c2UoKSxlLnRvdWNoVGltZW91dCYmY2xlYXJUaW1lb3V0KGUudG91Y2hUaW1lb3V0KSxlLnRvdWNoVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKHQpe3JldHVybiBlLmN5Y2xlKHQpfSw1MDArZS5fY29uZmlnLmludGVydmFsKX0pKX0sQy5fa2V5ZG93bj1mdW5jdGlvbih0KXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSlzd2l0Y2godC53aGljaCl7Y2FzZSAzNzp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5uZXh0KCl9fSxDLl9nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2l0ZW1zPXQubWFrZUFycmF5KHQoZSkucGFyZW50KCkuZmluZCh5LklURU0pKSx0aGlzLl9pdGVtcy5pbmRleE9mKGUpfSxDLl9nZXRJdGVtQnlEaXJlY3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgbj10PT09aCxpPXQ9PT1jLHM9dGhpcy5fZ2V0SXRlbUluZGV4KGUpLHI9dGhpcy5faXRlbXMubGVuZ3RoLTE7aWYoKGkmJjA9PT1zfHxuJiZzPT09cikmJiF0aGlzLl9jb25maWcud3JhcClyZXR1cm4gZTt2YXIgbz0ocysodD09PWM/LTE6MSkpJXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4tMT09PW8/dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdOnRoaXMuX2l0ZW1zW29dfSxDLl90cmlnZ2VyU2xpZGVFdmVudD1mdW5jdGlvbihlLG4pe3ZhciBpPXRoaXMuX2dldEl0ZW1JbmRleChlKSxzPXRoaXMuX2dldEl0ZW1JbmRleCh0KHRoaXMuX2VsZW1lbnQpLmZpbmQoeS5BQ1RJVkVfSVRFTSlbMF0pLHI9dC5FdmVudChkLlNMSURFLHtyZWxhdGVkVGFyZ2V0OmUsZGlyZWN0aW9uOm4sZnJvbTpzLHRvOml9KTtyZXR1cm4gdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHIpLHJ9LEMuX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpe3QodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpLmZpbmQoeS5BQ1RJVkUpLnJlbW92ZUNsYXNzKGcpO3ZhciBuPXRoaXMuX2luZGljYXRvcnNFbGVtZW50LmNoaWxkcmVuW3RoaXMuX2dldEl0ZW1JbmRleChlKV07biYmdChuKS5hZGRDbGFzcyhnKX19LEMuX3NsaWRlPWZ1bmN0aW9uKGUsbil7dmFyIGkscyxyLG89dGhpcyxhPXQodGhpcy5fZWxlbWVudCkuZmluZCh5LkFDVElWRV9JVEVNKVswXSxsPXRoaXMuX2dldEl0ZW1JbmRleChhKSxjPW58fGEmJnRoaXMuX2dldEl0ZW1CeURpcmVjdGlvbihlLGEpLF89dGhpcy5fZ2V0SXRlbUluZGV4KGMpLEM9Qm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7aWYoZT09PWg/KGk9dixzPUUscj11KTooaT1tLHM9VCxyPWYpLGMmJnQoYykuaGFzQ2xhc3MoZykpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGMscikuaXNEZWZhdWx0UHJldmVudGVkKCkmJmEmJmMpe3RoaXMuX2lzU2xpZGluZz0hMCxDJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChjKTt2YXIgST10LkV2ZW50KGQuU0xJRCx7cmVsYXRlZFRhcmdldDpjLGRpcmVjdGlvbjpyLGZyb206bCx0bzpffSk7UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhwKT8odChjKS5hZGRDbGFzcyhzKSxQLnJlZmxvdyhjKSx0KGEpLmFkZENsYXNzKGkpLHQoYykuYWRkQ2xhc3MoaSksdChhKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbigpe3QoYykucmVtb3ZlQ2xhc3MoaSsiICIrcykuYWRkQ2xhc3MoZyksdChhKS5yZW1vdmVDbGFzcyhnKyIgIitzKyIgIitpKSxvLl9pc1NsaWRpbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0KG8uX2VsZW1lbnQpLnRyaWdnZXIoSSl9LDApfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKSk6KHQoYSkucmVtb3ZlQ2xhc3MoZyksdChjKS5hZGRDbGFzcyhnKSx0aGlzLl9pc1NsaWRpbmc9ITEsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKEkpKSxDJiZ0aGlzLmN5Y2xlKCl9fSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKSxzPXIoe30sYSx0KHRoaXMpLmRhdGEoKSk7Im9iamVjdCI9PXR5cGVvZiBlJiYocz1yKHt9LHMsZSkpO3ZhciBsPSJzdHJpbmciPT10eXBlb2YgZT9lOnMuc2xpZGU7aWYoaXx8KGk9bmV3IG8odGhpcyxzKSx0KHRoaXMpLmRhdGEobixpKSksIm51bWJlciI9PXR5cGVvZiBlKWkudG8oZSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGwpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgaVtsXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrbCsnIicpO2lbbF0oKX1lbHNlIHMuaW50ZXJ2YWwmJihpLnBhdXNlKCksaS5jeWNsZSgpKX0pfSxvLl9kYXRhQXBpQ2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGUpe3ZhciBpPVAuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKTtpZihpKXt2YXIgcz10KGkpWzBdO2lmKHMmJnQocykuaGFzQ2xhc3MoXykpe3ZhciBhPXIoe30sdChzKS5kYXRhKCksdCh0aGlzKS5kYXRhKCkpLGw9dGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtc2xpZGUtdG8iKTtsJiYoYS5pbnRlcnZhbD0hMSksby5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodChzKSxhKSxsJiZ0KHMpLmRhdGEobikudG8obCksZS5wcmV2ZW50RGVmYXVsdCgpfX19LHMobyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fV0pLG99KCk7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKGQuQ0xJQ0tfREFUQV9BUEkseS5EQVRBX1NMSURFLEMuX2RhdGFBcGlDbGlja0hhbmRsZXIpLHQod2luZG93KS5vbihkLkxPQURfREFUQV9BUEksZnVuY3Rpb24oKXt0KHkuREFUQV9SSURFKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtDLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChlLGUuZGF0YSgpKX0pfSksdC5mbltlXT1DLl9qUXVlcnlJbnRlcmZhY2UsdC5mbltlXS5Db25zdHJ1Y3Rvcj1DLHQuZm5bZV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiB0LmZuW2VdPW8sQy5falF1ZXJ5SW50ZXJmYWNlfSxDfShlKSxIPWZ1bmN0aW9uKHQpe3ZhciBlPSJjb2xsYXBzZSIsbj0iYnMuY29sbGFwc2UiLGk9Ii4iK24sbz10LmZuW2VdLGE9e3RvZ2dsZTohMCxwYXJlbnQ6IiJ9LGw9e3RvZ2dsZToiYm9vbGVhbiIscGFyZW50OiIoc3RyaW5nfGVsZW1lbnQpIn0saD17U0hPVzoic2hvdyIraSxTSE9XTjoic2hvd24iK2ksSElERToiaGlkZSIraSxISURERU46ImhpZGRlbiIraSxDTElDS19EQVRBX0FQSToiY2xpY2siK2krIi5kYXRhLWFwaSJ9LGM9InNob3ciLHU9ImNvbGxhcHNlIixmPSJjb2xsYXBzaW5nIixkPSJjb2xsYXBzZWQiLF89IndpZHRoIixnPSJoZWlnaHQiLHA9e0FDVElWRVM6Ii5zaG93LCAuY29sbGFwc2luZyIsREFUQV9UT0dHTEU6J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXSd9LG09ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKGUsbil7dGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX3RyaWdnZXJBcnJheT10Lm1ha2VBcnJheSh0KCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpKTtmb3IodmFyIGk9dChwLkRBVEFfVE9HR0xFKSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciByPWlbc10sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7bnVsbCE9PW8mJnQobykuZmlsdGVyKGUpLmxlbmd0aD4wJiYodGhpcy5fc2VsZWN0b3I9byx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChyKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ/dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9dmFyIG89aS5wcm90b3R5cGU7cmV0dXJuIG8udG9nZ2xlPWZ1bmN0aW9uKCl7dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhjKT90aGlzLmhpZGUoKTp0aGlzLnNob3coKX0sby5zaG93PWZ1bmN0aW9uKCl7dmFyIGUscyxyPXRoaXM7aWYoIXRoaXMuX2lzVHJhbnNpdGlvbmluZyYmIXQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoYykmJih0aGlzLl9wYXJlbnQmJjA9PT0oZT10Lm1ha2VBcnJheSh0KHRoaXMuX3BhcmVudCkuZmluZChwLkFDVElWRVMpLmZpbHRlcignW2RhdGEtcGFyZW50PSInK3RoaXMuX2NvbmZpZy5wYXJlbnQrJyJdJykpKS5sZW5ndGgmJihlPW51bGwpLCEoZSYmKHM9dChlKS5ub3QodGhpcy5fc2VsZWN0b3IpLmRhdGEobikpJiZzLl9pc1RyYW5zaXRpb25pbmcpKSl7dmFyIG89dC5FdmVudChoLlNIT1cpO2lmKHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7ZSYmKGkuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQoZSkubm90KHRoaXMuX3NlbGVjdG9yKSwiaGlkZSIpLHN8fHQoZSkuZGF0YShuLG51bGwpKTt2YXIgYT10aGlzLl9nZXREaW1lbnNpb24oKTt0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKHUpLmFkZENsYXNzKGYpLHRoaXMuX2VsZW1lbnQuc3R5bGVbYV09MCx0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoPjAmJnQodGhpcy5fdHJpZ2dlckFycmF5KS5yZW1vdmVDbGFzcyhkKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTt2YXIgbD1mdW5jdGlvbigpe3Qoci5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoZikuYWRkQ2xhc3ModSkuYWRkQ2xhc3MoYyksci5fZWxlbWVudC5zdHlsZVthXT0iIixyLnNldFRyYW5zaXRpb25pbmcoITEpLHQoci5fZWxlbWVudCkudHJpZ2dlcihoLlNIT1dOKX07aWYoUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSl7dmFyIF89InNjcm9sbCIrKGFbMF0udG9VcHBlckNhc2UoKSthLnNsaWNlKDEpKTt0KHRoaXMuX2VsZW1lbnQpLm9uZShQLlRSQU5TSVRJT05fRU5ELGwpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKDYwMCksdGhpcy5fZWxlbWVudC5zdHlsZVthXT10aGlzLl9lbGVtZW50W19dKyJweCJ9ZWxzZSBsKCl9fX0sby5oaWRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGMpKXt2YXIgbj10LkV2ZW50KGguSElERSk7aWYodCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKG4pLCFuLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgaT10aGlzLl9nZXREaW1lbnNpb24oKTtpZih0aGlzLl9lbGVtZW50LnN0eWxlW2ldPXRoaXMuX2VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbaV0rInB4IixQLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKGYpLnJlbW92ZUNsYXNzKHUpLnJlbW92ZUNsYXNzKGMpLHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg+MClmb3IodmFyIHM9MDtzPHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGg7cysrKXt2YXIgcj10aGlzLl90cmlnZ2VyQXJyYXlbc10sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocik7aWYobnVsbCE9PW8pdChvKS5oYXNDbGFzcyhjKXx8dChyKS5hZGRDbGFzcyhkKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSl9dGhpcy5zZXRUcmFuc2l0aW9uaW5nKCEwKTt2YXIgYT1mdW5jdGlvbigpe2Uuc2V0VHJhbnNpdGlvbmluZyghMSksdChlLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhmKS5hZGRDbGFzcyh1KS50cmlnZ2VyKGguSElEREVOKX07dGhpcy5fZWxlbWVudC5zdHlsZVtpXT0iIixQLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpP3QodGhpcy5fZWxlbWVudCkub25lKFAuVFJBTlNJVElPTl9FTkQsYSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoNjAwKTphKCl9fX0sby5zZXRUcmFuc2l0aW9uaW5nPWZ1bmN0aW9uKHQpe3RoaXMuX2lzVHJhbnNpdGlvbmluZz10fSxvLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9wYXJlbnQ9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fdHJpZ2dlckFycmF5PW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGx9LG8uX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4odD1yKHt9LGEsdCkpLnRvZ2dsZT1Cb29sZWFuKHQudG9nZ2xlKSxQLnR5cGVDaGVja0NvbmZpZyhlLHQsbCksdH0sby5fZ2V0RGltZW5zaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoXyk/XzpnfSxvLl9nZXRQYXJlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49bnVsbDtQLmlzRWxlbWVudCh0aGlzLl9jb25maWcucGFyZW50KT8obj10aGlzLl9jb25maWcucGFyZW50LCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5fY29uZmlnLnBhcmVudC5qcXVlcnkmJihuPXRoaXMuX2NvbmZpZy5wYXJlbnRbMF0pKTpuPXQodGhpcy5fY29uZmlnLnBhcmVudClbMF07dmFyIHM9J1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLl9jb25maWcucGFyZW50KyciXSc7cmV0dXJuIHQobikuZmluZChzKS5lYWNoKGZ1bmN0aW9uKHQsbil7ZS5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGkuX2dldFRhcmdldEZyb21FbGVtZW50KG4pLFtuXSl9KSxufSxvLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24oZSxuKXtpZihlKXt2YXIgaT10KGUpLmhhc0NsYXNzKGMpO24ubGVuZ3RoPjAmJnQobikudG9nZ2xlQ2xhc3MoZCwhaSkuYXR0cigiYXJpYS1leHBhbmRlZCIsaSl9fSxpLl9nZXRUYXJnZXRGcm9tRWxlbWVudD1mdW5jdGlvbihlKXt2YXIgbj1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZSk7cmV0dXJuIG4/dChuKVswXTpudWxsfSxpLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQodGhpcyksbz1zLmRhdGEobiksbD1yKHt9LGEscy5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlKTtpZighbyYmbC50b2dnbGUmJi9zaG93fGhpZGUvLnRlc3QoZSkmJihsLnRvZ2dsZT0hMSksb3x8KG89bmV3IGkodGhpcyxsKSxzLmRhdGEobixvKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG9bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtvW2VdKCl9fSl9LHMoaSxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fV0pLGl9KCk7cmV0dXJuIHQoZG9jdW1lbnQpLm9uKGguQ0xJQ0tfREFUQV9BUEkscC5EQVRBX1RPR0dMRSxmdW5jdGlvbihlKXsiQSI9PT1lLmN1cnJlbnRUYXJnZXQudGFnTmFtZSYmZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPXQodGhpcykscz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7dChzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKSxzPWUuZGF0YShuKT8idG9nZ2xlIjppLmRhdGEoKTttLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChlLHMpfSl9KSx0LmZuW2VdPW0uX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPW0sdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09byxtLl9qUXVlcnlJbnRlcmZhY2V9LG19KGUpLFc9ZnVuY3Rpb24odCl7dmFyIGU9ImRyb3Bkb3duIixpPSJicy5kcm9wZG93biIsbz0iLiIraSxhPSIuZGF0YS1hcGkiLGw9dC5mbltlXSxoPW5ldyBSZWdFeHAoIjM4fDQwfDI3IiksYz17SElERToiaGlkZSIrbyxISURERU46ImhpZGRlbiIrbyxTSE9XOiJzaG93IitvLFNIT1dOOiJzaG93biIrbyxDTElDSzoiY2xpY2siK28sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrIitvK2EsS0VZRE9XTl9EQVRBX0FQSToia2V5ZG93biIrbythLEtFWVVQX0RBVEFfQVBJOiJrZXl1cCIrbythfSx1PSJkaXNhYmxlZCIsZj0ic2hvdyIsZD0iZHJvcHVwIixfPSJkcm9wcmlnaHQiLGc9ImRyb3BsZWZ0IixwPSJkcm9wZG93bi1tZW51LXJpZ2h0IixtPSJkcm9wZG93bi1tZW51LWxlZnQiLHY9InBvc2l0aW9uLXN0YXRpYyIsRT0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxUPSIuZHJvcGRvd24gZm9ybSIseT0iLmRyb3Bkb3duLW1lbnUiLEM9Ii5uYXZiYXItbmF2IixJPSIuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKSIsQT0idG9wLXN0YXJ0IixiPSJ0b3AtZW5kIixEPSJib3R0b20tc3RhcnQiLFM9ImJvdHRvbS1lbmQiLHc9InJpZ2h0LXN0YXJ0IixOPSJsZWZ0LXN0YXJ0IixPPXtvZmZzZXQ6MCxmbGlwOiEwLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQifSxrPXtvZmZzZXQ6IihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKSIsZmxpcDoiYm9vbGVhbiIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkifSxMPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSh0LGUpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9wb3BwZXI9bnVsbCx0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKGUpLHRoaXMuX21lbnU9dGhpcy5fZ2V0TWVudUVsZW1lbnQoKSx0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSx0aGlzLl9hZGRFdmVudExpc3RlbmVycygpfXZhciBsPWEucHJvdG90eXBlO3JldHVybiBsLnRvZ2dsZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9lbGVtZW50LmRpc2FibGVkJiYhdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyh1KSl7dmFyIGU9YS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCksaT10KHRoaXMuX21lbnUpLmhhc0NsYXNzKGYpO2lmKGEuX2NsZWFyTWVudXMoKSwhaSl7dmFyIHM9e3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0scj10LkV2ZW50KGMuU0hPVyxzKTtpZih0KGUpLnRyaWdnZXIociksIXIuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKCF0aGlzLl9pbk5hdmJhcil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCBkcm9wZG93biByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3ZhciBvPXRoaXMuX2VsZW1lbnQ7dChlKS5oYXNDbGFzcyhkKSYmKHQodGhpcy5fbWVudSkuaGFzQ2xhc3MobSl8fHQodGhpcy5fbWVudSkuaGFzQ2xhc3MocCkpJiYobz1lKSwic2Nyb2xsUGFyZW50IiE9PXRoaXMuX2NvbmZpZy5ib3VuZGFyeSYmdChlKS5hZGRDbGFzcyh2KSx0aGlzLl9wb3BwZXI9bmV3IG4obyx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmMD09PXQoZSkuY2xvc2VzdChDKS5sZW5ndGgmJnQoImJvZHkiKS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLG51bGwsdC5ub29wKSx0aGlzLl9lbGVtZW50LmZvY3VzKCksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKSx0KHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKGYpLHQoZSkudG9nZ2xlQ2xhc3MoZikudHJpZ2dlcih0LkV2ZW50KGMuU0hPV04scykpfX19fSxsLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxpKSx0KHRoaXMuX2VsZW1lbnQpLm9mZihvKSx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fbWVudT1udWxsLG51bGwhPT10aGlzLl9wb3BwZXImJih0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsKX0sbC51cGRhdGU9ZnVuY3Rpb24oKXt0aGlzLl9pbk5hdmJhcj10aGlzLl9kZXRlY3ROYXZiYXIoKSxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sbC5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QodGhpcy5fZWxlbWVudCkub24oYy5DTElDSyxmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxlLnRvZ2dsZSgpfSl9LGwuX2dldENvbmZpZz1mdW5jdGlvbihuKXtyZXR1cm4gbj1yKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCx0KHRoaXMuX2VsZW1lbnQpLmRhdGEoKSxuKSxQLnR5cGVDaGVja0NvbmZpZyhlLG4sdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksbn0sbC5fZ2V0TWVudUVsZW1lbnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fbWVudSl7dmFyIGU9YS5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7dGhpcy5fbWVudT10KGUpLmZpbmQoeSlbMF19cmV0dXJuIHRoaXMuX21lbnV9LGwuX2dldFBsYWNlbWVudD1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5fZWxlbWVudCkucGFyZW50KCksbj1EO3JldHVybiBlLmhhc0NsYXNzKGQpPyhuPUEsdCh0aGlzLl9tZW51KS5oYXNDbGFzcyhwKSYmKG49YikpOmUuaGFzQ2xhc3MoXyk/bj13OmUuaGFzQ2xhc3MoZyk/bj1OOnQodGhpcy5fbWVudSkuaGFzQ2xhc3MocCkmJihuPVMpLG59LGwuX2RldGVjdE5hdmJhcj1mdW5jdGlvbigpe3JldHVybiB0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXZiYXIiKS5sZW5ndGg+MH0sbC5fZ2V0UG9wcGVyQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXt9O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9jb25maWcub2Zmc2V0P2UuZm49ZnVuY3Rpb24oZSl7cmV0dXJuIGUub2Zmc2V0cz1yKHt9LGUub2Zmc2V0cyx0Ll9jb25maWcub2Zmc2V0KGUub2Zmc2V0cyl8fHt9KSxlfTplLm9mZnNldD10aGlzLl9jb25maWcub2Zmc2V0LHtwbGFjZW1lbnQ6dGhpcy5fZ2V0UGxhY2VtZW50KCksbW9kaWZpZXJzOntvZmZzZXQ6ZSxmbGlwOntlbmFibGVkOnRoaXMuX2NvbmZpZy5mbGlwfSxwcmV2ZW50T3ZlcmZsb3c6e2JvdW5kYXJpZXNFbGVtZW50OnRoaXMuX2NvbmZpZy5ib3VuZGFyeX19fX0sYS5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj10KHRoaXMpLmRhdGEoaSk7aWYobnx8KG49bmV3IGEodGhpcywib2JqZWN0Ij09dHlwZW9mIGU/ZTpudWxsKSx0KHRoaXMpLmRhdGEoaSxuKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtuW2VdKCl9fSl9LGEuX2NsZWFyTWVudXM9ZnVuY3Rpb24oZSl7aWYoIWV8fDMhPT1lLndoaWNoJiYoImtleXVwIiE9PWUudHlwZXx8OT09PWUud2hpY2gpKWZvcih2YXIgbj10Lm1ha2VBcnJheSh0KEUpKSxzPTA7czxuLmxlbmd0aDtzKyspe3ZhciByPWEuX2dldFBhcmVudEZyb21FbGVtZW50KG5bc10pLG89dChuW3NdKS5kYXRhKGkpLGw9e3JlbGF0ZWRUYXJnZXQ6bltzXX07aWYobyl7dmFyIGg9by5fbWVudTtpZih0KHIpLmhhc0NsYXNzKGYpJiYhKGUmJigiY2xpY2siPT09ZS50eXBlJiYvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGUudGFyZ2V0LnRhZ05hbWUpfHwia2V5dXAiPT09ZS50eXBlJiY5PT09ZS53aGljaCkmJnQuY29udGFpbnMocixlLnRhcmdldCkpKXt2YXIgdT10LkV2ZW50KGMuSElERSxsKTt0KHIpLnRyaWdnZXIodSksdS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZ0KCJib2R5IikuY2hpbGRyZW4oKS5vZmYoIm1vdXNlb3ZlciIsbnVsbCx0Lm5vb3ApLG5bc10uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSx0KGgpLnJlbW92ZUNsYXNzKGYpLHQocikucmVtb3ZlQ2xhc3MoZikudHJpZ2dlcih0LkV2ZW50KGMuSElEREVOLGwpKSl9fX19LGEuX2dldFBhcmVudEZyb21FbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuLGk9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KGUpO3JldHVybiBpJiYobj10KGkpWzBdKSxufHxlLnBhcmVudE5vZGV9LGEuX2RhdGFBcGlLZXlkb3duSGFuZGxlcj1mdW5jdGlvbihlKXtpZigoL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKT8hKDMyPT09ZS53aGljaHx8MjchPT1lLndoaWNoJiYoNDAhPT1lLndoaWNoJiYzOCE9PWUud2hpY2h8fHQoZS50YXJnZXQpLmNsb3Nlc3QoeSkubGVuZ3RoKSk6aC50ZXN0KGUud2hpY2gpKSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkJiYhdCh0aGlzKS5oYXNDbGFzcyh1KSkpe3ZhciBuPWEuX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMpLGk9dChuKS5oYXNDbGFzcyhmKTtpZigoaXx8Mjc9PT1lLndoaWNoJiYzMj09PWUud2hpY2gpJiYoIWl8fDI3IT09ZS53aGljaCYmMzIhPT1lLndoaWNoKSl7dmFyIHM9dChuKS5maW5kKEkpLmdldCgpO2lmKDAhPT1zLmxlbmd0aCl7dmFyIHI9cy5pbmRleE9mKGUudGFyZ2V0KTszOD09PWUud2hpY2gmJnI+MCYmci0tLDQwPT09ZS53aGljaCYmcjxzLmxlbmd0aC0xJiZyKysscjwwJiYocj0wKSxzW3JdLmZvY3VzKCl9fWVsc2V7aWYoMjc9PT1lLndoaWNoKXt2YXIgbz10KG4pLmZpbmQoRSlbMF07dChvKS50cmlnZ2VyKCJmb2N1cyIpfXQodGhpcykudHJpZ2dlcigiY2xpY2siKX19fSxzKGEsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBPfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBrfX1dKSxhfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihjLktFWURPV05fREFUQV9BUEksRSxMLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKGMuS0VZRE9XTl9EQVRBX0FQSSx5LEwuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oYy5DTElDS19EQVRBX0FQSSsiICIrYy5LRVlVUF9EQVRBX0FQSSxMLl9jbGVhck1lbnVzKS5vbihjLkNMSUNLX0RBVEFfQVBJLEUsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksTC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodCh0aGlzKSwidG9nZ2xlIil9KS5vbihjLkNMSUNLX0RBVEFfQVBJLFQsZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX0pLHQuZm5bZV09TC5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9TCx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1sLEwuX2pRdWVyeUludGVyZmFjZX0sTH0oZSksTT1mdW5jdGlvbih0KXt2YXIgZT0ibW9kYWwiLG49ImJzLm1vZGFsIixpPSIuIituLG89dC5mbi5tb2RhbCxhPXtiYWNrZHJvcDohMCxrZXlib2FyZDohMCxmb2N1czohMCxzaG93OiEwfSxsPXtiYWNrZHJvcDoiKGJvb2xlYW58c3RyaW5nKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLGZvY3VzOiJib29sZWFuIixzaG93OiJib29sZWFuIn0saD17SElERToiaGlkZSIraSxISURERU46ImhpZGRlbiIraSxTSE9XOiJzaG93IitpLFNIT1dOOiJzaG93biIraSxGT0NVU0lOOiJmb2N1c2luIitpLFJFU0laRToicmVzaXplIitpLENMSUNLX0RJU01JU1M6ImNsaWNrLmRpc21pc3MiK2ksS0VZRE9XTl9ESVNNSVNTOiJrZXlkb3duLmRpc21pc3MiK2ksTU9VU0VVUF9ESVNNSVNTOiJtb3VzZXVwLmRpc21pc3MiK2ksTU9VU0VET1dOX0RJU01JU1M6Im1vdXNlZG93bi5kaXNtaXNzIitpLENMSUNLX0RBVEFfQVBJOiJjbGljayIraSsiLmRhdGEtYXBpIn0sYz0ibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLHU9Im1vZGFsLWJhY2tkcm9wIixmPSJtb2RhbC1vcGVuIixkPSJmYWRlIixfPSJzaG93IixnPXtESUFMT0c6Ii5tb2RhbC1kaWFsb2ciLERBVEFfVE9HR0xFOidbZGF0YS10b2dnbGU9Im1vZGFsIl0nLERBVEFfRElTTUlTUzonW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsRklYRURfQ09OVEVOVDoiLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCIsU1RJQ0tZX0NPTlRFTlQ6Ii5zdGlja3ktdG9wIixOQVZCQVJfVE9HR0xFUjoiLm5hdmJhci10b2dnbGVyIn0scD1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oZSxuKXt0aGlzLl9jb25maWc9dGhpcy5fZ2V0Q29uZmlnKG4pLHRoaXMuX2VsZW1lbnQ9ZSx0aGlzLl9kaWFsb2c9dChlKS5maW5kKGcuRElBTE9HKVswXSx0aGlzLl9iYWNrZHJvcD1udWxsLHRoaXMuX2lzU2hvd249ITEsdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9ITEsdGhpcy5faWdub3JlQmFja2Ryb3BDbGljaz0hMSx0aGlzLl9vcmlnaW5hbEJvZHlQYWRkaW5nPTAsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9MH12YXIgcD1vLnByb3RvdHlwZTtyZXR1cm4gcC50b2dnbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2lzU2hvd24/dGhpcy5oaWRlKCk6dGhpcy5zaG93KHQpfSxwLnNob3c9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZighdGhpcy5faXNUcmFuc2l0aW9uaW5nJiYhdGhpcy5faXNTaG93bil7UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCk7dmFyIGk9dC5FdmVudChoLlNIT1cse3JlbGF0ZWRUYXJnZXQ6ZX0pO3QodGhpcy5fZWxlbWVudCkudHJpZ2dlcihpKSx0aGlzLl9pc1Nob3dufHxpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5faXNTaG93bj0hMCx0aGlzLl9jaGVja1Njcm9sbGJhcigpLHRoaXMuX3NldFNjcm9sbGJhcigpLHRoaXMuX2FkanVzdERpYWxvZygpLHQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoZiksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLHQodGhpcy5fZWxlbWVudCkub24oaC5DTElDS19ESVNNSVNTLGcuREFUQV9ESVNNSVNTLGZ1bmN0aW9uKHQpe3JldHVybiBuLmhpZGUodCl9KSx0KHRoaXMuX2RpYWxvZykub24oaC5NT1VTRURPV05fRElTTUlTUyxmdW5jdGlvbigpe3Qobi5fZWxlbWVudCkub25lKGguTU9VU0VVUF9ESVNNSVNTLGZ1bmN0aW9uKGUpe3QoZS50YXJnZXQpLmlzKG4uX2VsZW1lbnQpJiYobi5faWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KX0pLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3JldHVybiBuLl9zaG93RWxlbWVudChlKX0pKX19LHAuaGlkZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzO2lmKGUmJmUucHJldmVudERlZmF1bHQoKSwhdGhpcy5faXNUcmFuc2l0aW9uaW5nJiZ0aGlzLl9pc1Nob3duKXt2YXIgaT10LkV2ZW50KGguSElERSk7aWYodCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGkpLHRoaXMuX2lzU2hvd24mJiFpLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt0aGlzLl9pc1Nob3duPSExO3ZhciBzPVAuc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJnQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoZCk7cyYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLHQoZG9jdW1lbnQpLm9mZihoLkZPQ1VTSU4pLHQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoXyksdCh0aGlzLl9lbGVtZW50KS5vZmYoaC5DTElDS19ESVNNSVNTKSx0KHRoaXMuX2RpYWxvZykub2ZmKGguTU9VU0VET1dOX0RJU01JU1MpLHM/dCh0aGlzLl9lbGVtZW50KS5vbmUoUC5UUkFOU0lUSU9OX0VORCxmdW5jdGlvbih0KXtyZXR1cm4gbi5faGlkZU1vZGFsKHQpfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzAwKTp0aGlzLl9oaWRlTW9kYWwoKX19fSxwLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCxuKSx0KHdpbmRvdyxkb2N1bWVudCx0aGlzLl9lbGVtZW50LHRoaXMuX2JhY2tkcm9wKS5vZmYoaSksdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX2JhY2tkcm9wPW51bGwsdGhpcy5faXNTaG93bj1udWxsLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPW51bGwsdGhpcy5faWdub3JlQmFja2Ryb3BDbGljaz1udWxsLHRoaXMuX3Njcm9sbGJhcldpZHRoPW51bGx9LHAuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fYWRqdXN0RGlhbG9nKCl9LHAuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1yKHt9LGEsdCksUC50eXBlQ2hlY2tDb25maWcoZSx0LGwpLHR9LHAuX3Nob3dFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsaT1QLnN1cHBvcnRzVHJhbnNpdGlvbkVuZCgpJiZ0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKGQpO3RoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSYmdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV8fGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCksdGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdGhpcy5fZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksdGhpcy5fZWxlbWVudC5zY3JvbGxUb3A9MCxpJiZQLnJlZmxvdyh0aGlzLl9lbGVtZW50KSx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKF8pLHRoaXMuX2NvbmZpZy5mb2N1cyYmdGhpcy5fZW5mb3JjZUZvY3VzKCk7dmFyIHM9dC5FdmVudChoLlNIT1dOLHtyZWxhdGVkVGFyZ2V0OmV9KSxyPWZ1bmN0aW9uKCl7bi5fY29uZmlnLmZvY3VzJiZuLl9lbGVtZW50LmZvY3VzKCksbi5faXNUcmFuc2l0aW9uaW5nPSExLHQobi5fZWxlbWVudCkudHJpZ2dlcihzKX07aT90KHRoaXMuX2RpYWxvZykub25lKFAuVFJBTlNJVElPTl9FTkQscikuZW11bGF0ZVRyYW5zaXRpb25FbmQoMzAwKTpyKCl9LHAuX2VuZm9yY2VGb2N1cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dChkb2N1bWVudCkub2ZmKGguRk9DVVNJTikub24oaC5GT0NVU0lOLGZ1bmN0aW9uKG4pe2RvY3VtZW50IT09bi50YXJnZXQmJmUuX2VsZW1lbnQhPT1uLnRhcmdldCYmMD09PXQoZS5fZWxlbWVudCkuaGFzKG4udGFyZ2V0KS5sZW5ndGgmJmUuX2VsZW1lbnQuZm9jdXMoKX0pfSxwLl9zZXRFc2NhcGVFdmVudD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5faXNTaG93biYmdGhpcy5fY29uZmlnLmtleWJvYXJkP3QodGhpcy5fZWxlbWVudCkub24oaC5LRVlET1dOX0RJU01JU1MsZnVuY3Rpb24odCl7Mjc9PT10LndoaWNoJiYodC5wcmV2ZW50RGVmYXVsdCgpLGUuaGlkZSgpKX0pOnRoaXMuX2lzU2hvd258fHQodGhpcy5fZWxlbWVudCkub2ZmKGguS0VZRE9XTl9ESVNNSVNTKX0scC5fc2V0UmVzaXplRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2lzU2hvd24/dCh3aW5kb3cpLm9uKGguUkVTSVpFLGZ1bmN0aW9uKHQpe3JldHVybiBlLmhhbmRsZVVwZGF0ZSh0KX0pOnQod2luZG93KS5vZmYoaC5SRVNJWkUpfSxwLl9oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Nob3dCYWNrZHJvcChmdW5jdGlvbigpe3QoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoZiksZS5fcmVzZXRBZGp1c3RtZW50cygpLGUuX3Jlc2V0U2Nyb2xsYmFyKCksdChlLl9lbGVtZW50KS50cmlnZ2VyKGguSElEREVOKX0pfSxwLl9yZW1vdmVCYWNrZHJvcD1mdW5jdGlvbigpe3RoaXMuX2JhY2tkcm9wJiYodCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlKCksdGhpcy5fYmFja2Ryb3A9bnVsbCl9LHAuX3Nob3dCYWNrZHJvcD1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT9kOiIiO2lmKHRoaXMuX2lzU2hvd24mJnRoaXMuX2NvbmZpZy5iYWNrZHJvcCl7dmFyIHM9UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmaTtpZih0aGlzLl9iYWNrZHJvcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWU9dSxpJiZ0KHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcyhpKSx0KHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSx0KHRoaXMuX2VsZW1lbnQpLm9uKGguQ0xJQ0tfRElTTUlTUyxmdW5jdGlvbih0KXtuLl9pZ25vcmVCYWNrZHJvcENsaWNrP24uX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITE6dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09PW4uX2NvbmZpZy5iYWNrZHJvcD9uLl9lbGVtZW50LmZvY3VzKCk6bi5oaWRlKCkpfSkscyYmUC5yZWZsb3codGhpcy5fYmFja2Ryb3ApLHQodGhpcy5fYmFja2Ryb3ApLmFkZENsYXNzKF8pLCFlKXJldHVybjtpZighcylyZXR1cm4gdm9pZCBlKCk7dCh0aGlzLl9iYWNrZHJvcCkub25lKFAuVFJBTlNJVElPTl9FTkQsZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoMTUwKX1lbHNlIGlmKCF0aGlzLl9pc1Nob3duJiZ0aGlzLl9iYWNrZHJvcCl7dCh0aGlzLl9iYWNrZHJvcCkucmVtb3ZlQ2xhc3MoXyk7dmFyIHI9ZnVuY3Rpb24oKXtuLl9yZW1vdmVCYWNrZHJvcCgpLGUmJmUoKX07UC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhkKT90KHRoaXMuX2JhY2tkcm9wKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKX1lbHNlIGUmJmUoKX0scC5fYWRqdXN0RGlhbG9nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZWxlbWVudC5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDshdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJnQmJih0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nJiYhdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PXRoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpfSxwLl9yZXNldEFkanVzdG1lbnRzPWZ1bmN0aW9uKCl7dGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nTGVmdD0iIix0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodD0iIn0scC5fY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX2lzQm9keU92ZXJmbG93aW5nPXQubGVmdCt0LnJpZ2h0PHdpbmRvdy5pbm5lcldpZHRoLHRoaXMuX3Njcm9sbGJhcldpZHRoPXRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCl9LHAuX3NldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYodGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcpe3QoZy5GSVhFRF9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKG4saSl7dmFyIHM9dChpKVswXS5zdHlsZS5wYWRkaW5nUmlnaHQscj10KGkpLmNzcygicGFkZGluZy1yaWdodCIpO3QoaSkuZGF0YSgicGFkZGluZy1yaWdodCIscykuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KHIpK2UuX3Njcm9sbGJhcldpZHRoKyJweCIpfSksdChnLlNUSUNLWV9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKG4saSl7dmFyIHM9dChpKVswXS5zdHlsZS5tYXJnaW5SaWdodCxyPXQoaSkuY3NzKCJtYXJnaW4tcmlnaHQiKTt0KGkpLmRhdGEoIm1hcmdpbi1yaWdodCIscykuY3NzKCJtYXJnaW4tcmlnaHQiLHBhcnNlRmxvYXQociktZS5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9KSx0KGcuTkFWQkFSX1RPR0dMRVIpLmVhY2goZnVuY3Rpb24obixpKXt2YXIgcz10KGkpWzBdLnN0eWxlLm1hcmdpblJpZ2h0LHI9dChpKS5jc3MoIm1hcmdpbi1yaWdodCIpO3QoaSkuZGF0YSgibWFyZ2luLXJpZ2h0IixzKS5jc3MoIm1hcmdpbi1yaWdodCIscGFyc2VGbG9hdChyKStlLl9zY3JvbGxiYXJXaWR0aCsicHgiKX0pO3ZhciBuPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0LGk9dCgiYm9keSIpLmNzcygicGFkZGluZy1yaWdodCIpO3QoImJvZHkiKS5kYXRhKCJwYWRkaW5nLXJpZ2h0IixuKS5jc3MoInBhZGRpbmctcmlnaHQiLHBhcnNlRmxvYXQoaSkrdGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9fSxwLl9yZXNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3QoZy5GSVhFRF9DT05URU5UKS5lYWNoKGZ1bmN0aW9uKGUsbil7dmFyIGk9dChuKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBpJiZ0KG4pLmNzcygicGFkZGluZy1yaWdodCIsaSkucmVtb3ZlRGF0YSgicGFkZGluZy1yaWdodCIpfSksdChnLlNUSUNLWV9DT05URU5UKyIsICIrZy5OQVZCQVJfVE9HR0xFUikuZWFjaChmdW5jdGlvbihlLG4pe3ZhciBpPXQobikuZGF0YSgibWFyZ2luLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBpJiZ0KG4pLmNzcygibWFyZ2luLXJpZ2h0IixpKS5yZW1vdmVEYXRhKCJtYXJnaW4tcmlnaHQiKX0pO3ZhciBlPXQoImJvZHkiKS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBlJiZ0KCJib2R5IikuY3NzKCJwYWRkaW5nLXJpZ2h0IixlKS5yZW1vdmVEYXRhKCJwYWRkaW5nLXJpZ2h0Iil9LHAuX2dldFNjcm9sbGJhcldpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9Yyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpO3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgtdC5jbGllbnRXaWR0aDtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxlfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9dCh0aGlzKS5kYXRhKG4pLGE9cih7fSxvLkRlZmF1bHQsdCh0aGlzKS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlKTtpZihzfHwocz1uZXcgbyh0aGlzLGEpLHQodGhpcykuZGF0YShuLHMpKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygc1tlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO3NbZV0oaSl9ZWxzZSBhLnNob3cmJnMuc2hvdyhpKX0pfSxzKG8sbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihoLkNMSUNLX0RBVEFfQVBJLGcuREFUQV9UT0dHTEUsZnVuY3Rpb24oZSl7dmFyIGkscz10aGlzLG89UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO28mJihpPXQobylbMF0pO3ZhciBhPXQoaSkuZGF0YShuKT8idG9nZ2xlIjpyKHt9LHQoaSkuZGF0YSgpLHQodGhpcykuZGF0YSgpKTsiQSIhPT10aGlzLnRhZ05hbWUmJiJBUkVBIiE9PXRoaXMudGFnTmFtZXx8ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBsPXQoaSkub25lKGguU0hPVyxmdW5jdGlvbihlKXtlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxsLm9uZShoLkhJRERFTixmdW5jdGlvbigpe3QocykuaXMoIjp2aXNpYmxlIikmJnMuZm9jdXMoKX0pfSk7cC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwodChpKSxhLHRoaXMpfSksdC5mbi5tb2RhbD1wLl9qUXVlcnlJbnRlcmZhY2UsdC5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1wLHQuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiB0LmZuLm1vZGFsPW8scC5falF1ZXJ5SW50ZXJmYWNlfSxwfShlKSxVPWZ1bmN0aW9uKHQpe3ZhciBlPSJ0b29sdGlwIixpPSJicy50b29sdGlwIixvPSIuIitpLGE9dC5mbltlXSxsPW5ldyBSZWdFeHAoIihefFxccylicy10b29sdGlwXFxTKyIsImciKSxoPXthbmltYXRpb246ImJvb2xlYW4iLHRlbXBsYXRlOiJzdHJpbmciLHRpdGxlOiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIix0cmlnZ2VyOiJzdHJpbmciLGRlbGF5OiIobnVtYmVyfG9iamVjdCkiLGh0bWw6ImJvb2xlYW4iLHNlbGVjdG9yOiIoc3RyaW5nfGJvb2xlYW4pIixwbGFjZW1lbnQ6IihzdHJpbmd8ZnVuY3Rpb24pIixvZmZzZXQ6IihudW1iZXJ8c3RyaW5nKSIsY29udGFpbmVyOiIoc3RyaW5nfGVsZW1lbnR8Ym9vbGVhbikiLGZhbGxiYWNrUGxhY2VtZW50OiIoc3RyaW5nfGFycmF5KSIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkifSxjPXtBVVRPOiJhdXRvIixUT1A6InRvcCIsUklHSFQ6InJpZ2h0IixCT1RUT006ImJvdHRvbSIsTEVGVDoibGVmdCJ9LHU9e2FuaW1hdGlvbjohMCx0ZW1wbGF0ZTonPGRpdiBjbGFzcz0idG9vbHRpcCIgcm9sZT0idG9vbHRpcCI+PGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxzZWxlY3RvcjohMSxwbGFjZW1lbnQ6InRvcCIsb2Zmc2V0OjAsY29udGFpbmVyOiExLGZhbGxiYWNrUGxhY2VtZW50OiJmbGlwIixib3VuZGFyeToic2Nyb2xsUGFyZW50In0sZj0ic2hvdyIsZD0ib3V0IixfPXtISURFOiJoaWRlIitvLEhJRERFTjoiaGlkZGVuIitvLFNIT1c6InNob3ciK28sU0hPV046InNob3duIitvLElOU0VSVEVEOiJpbnNlcnRlZCIrbyxDTElDSzoiY2xpY2siK28sRk9DVVNJTjoiZm9jdXNpbiIrbyxGT0NVU09VVDoiZm9jdXNvdXQiK28sTU9VU0VFTlRFUjoibW91c2VlbnRlciIrbyxNT1VTRUxFQVZFOiJtb3VzZWxlYXZlIitvfSxnPSJmYWRlIixwPSJzaG93IixtPSIudG9vbHRpcC1pbm5lciIsdj0iLmFycm93IixFPSJob3ZlciIsVD0iZm9jdXMiLHk9ImNsaWNrIixDPSJtYW51YWwiLEk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKHQsZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciBJPWEucHJvdG90eXBlO3JldHVybiBJLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sSS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSxJLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sSS50b2dnbGU9ZnVuY3Rpb24oZSl7aWYodGhpcy5faXNFbmFibGVkKWlmKGUpe3ZhciBuPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksaT10KGUuY3VycmVudFRhcmdldCkuZGF0YShuKTtpfHwoaT1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEobixpKSksaS5fYWN0aXZlVHJpZ2dlci5jbGljaz0haS5fYWN0aXZlVHJpZ2dlci5jbGljayxpLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCk/aS5fZW50ZXIobnVsbCxpKTppLl9sZWF2ZShudWxsLGkpfWVsc2V7aWYodCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MocCkpcmV0dXJuIHZvaWQgdGhpcy5fbGVhdmUobnVsbCx0aGlzKTt0aGlzLl9lbnRlcihudWxsLHRoaXMpfX0sSS5kaXNwb3NlPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHQucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSksdCh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksdCh0aGlzLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9mZigiaGlkZS5icy5tb2RhbCIpLHRoaXMudGlwJiZ0KHRoaXMudGlwKS5yZW1vdmUoKSx0aGlzLl9pc0VuYWJsZWQ9bnVsbCx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5faG92ZXJTdGF0ZT1udWxsLHRoaXMuX2FjdGl2ZVRyaWdnZXI9bnVsbCxudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuZGVzdHJveSgpLHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD1udWxsLHRoaXMuY29uZmlnPW51bGwsdGhpcy50aXA9bnVsbH0sSS5zaG93PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZigibm9uZSI9PT10KHRoaXMuZWxlbWVudCkuY3NzKCJkaXNwbGF5IikpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cyIpO3ZhciBpPXQuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XKTtpZih0aGlzLmlzV2l0aENvbnRlbnQoKSYmdGhpcy5faXNFbmFibGVkKXt0KHRoaXMuZWxlbWVudCkudHJpZ2dlcihpKTt2YXIgcz10LmNvbnRhaW5zKHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLmVsZW1lbnQpO2lmKGkuaXNEZWZhdWx0UHJldmVudGVkKCl8fCFzKXJldHVybjt2YXIgcj10aGlzLmdldFRpcEVsZW1lbnQoKSxvPVAuZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7ci5zZXRBdHRyaWJ1dGUoImlkIixvKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixvKSx0aGlzLnNldENvbnRlbnQoKSx0aGlzLmNvbmZpZy5hbmltYXRpb24mJnQocikuYWRkQ2xhc3MoZyk7dmFyIGw9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuY29uZmlnLnBsYWNlbWVudD90aGlzLmNvbmZpZy5wbGFjZW1lbnQuY2FsbCh0aGlzLHIsdGhpcy5lbGVtZW50KTp0aGlzLmNvbmZpZy5wbGFjZW1lbnQsaD10aGlzLl9nZXRBdHRhY2htZW50KGwpO3RoaXMuYWRkQXR0YWNobWVudENsYXNzKGgpO3ZhciBjPSExPT09dGhpcy5jb25maWcuY29udGFpbmVyP2RvY3VtZW50LmJvZHk6dCh0aGlzLmNvbmZpZy5jb250YWluZXIpO3QocikuZGF0YSh0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLHRoaXMpLHQuY29udGFpbnModGhpcy5lbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMudGlwKXx8dChyKS5hcHBlbmRUbyhjKSx0KHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKSx0aGlzLl9wb3BwZXI9bmV3IG4odGhpcy5lbGVtZW50LHIse3BsYWNlbWVudDpoLG1vZGlmaWVyczp7b2Zmc2V0OntvZmZzZXQ6dGhpcy5jb25maWcub2Zmc2V0fSxmbGlwOntiZWhhdmlvcjp0aGlzLmNvbmZpZy5mYWxsYmFja1BsYWNlbWVudH0sYXJyb3c6e2VsZW1lbnQ6dn0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLmNvbmZpZy5ib3VuZGFyeX19LG9uQ3JlYXRlOmZ1bmN0aW9uKHQpe3Qub3JpZ2luYWxQbGFjZW1lbnQhPT10LnBsYWNlbWVudCYmZS5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHQpfSxvblVwZGF0ZTpmdW5jdGlvbih0KXtlLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UodCl9fSksdChyKS5hZGRDbGFzcyhwKSwib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmdCgiYm9keSIpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCx0Lm5vb3ApO3ZhciB1PWZ1bmN0aW9uKCl7ZS5jb25maWcuYW5pbWF0aW9uJiZlLl9maXhUcmFuc2l0aW9uKCk7dmFyIG49ZS5faG92ZXJTdGF0ZTtlLl9ob3ZlclN0YXRlPW51bGwsdChlLmVsZW1lbnQpLnRyaWdnZXIoZS5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XTiksbj09PWQmJmUuX2xlYXZlKG51bGwsZSl9O1Auc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkmJnQodGhpcy50aXApLmhhc0NsYXNzKGcpP3QodGhpcy50aXApLm9uZShQLlRSQU5TSVRJT05fRU5ELHUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEuX1RSQU5TSVRJT05fRFVSQVRJT04pOnUoKX19LEkuaGlkZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLGk9dGhpcy5nZXRUaXBFbGVtZW50KCkscz10LkV2ZW50KHRoaXMuY29uc3RydWN0b3IuRXZlbnQuSElERSkscj1mdW5jdGlvbigpe24uX2hvdmVyU3RhdGUhPT1mJiZpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChpKSxuLl9jbGVhblRpcENsYXNzKCksbi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIpLHQobi5lbGVtZW50KS50cmlnZ2VyKG4uY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSxudWxsIT09bi5fcG9wcGVyJiZuLl9wb3BwZXIuZGVzdHJveSgpLGUmJmUoKX07dCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIocykscy5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHQoaSkucmVtb3ZlQ2xhc3MocCksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJnQoImJvZHkiKS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIixudWxsLHQubm9vcCksdGhpcy5fYWN0aXZlVHJpZ2dlclt5XT0hMSx0aGlzLl9hY3RpdmVUcmlnZ2VyW1RdPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXJbRV09ITEsUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmdCh0aGlzLnRpcCkuaGFzQ2xhc3MoZyk/dChpKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxyKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOnIoKSx0aGlzLl9ob3ZlclN0YXRlPSIiKX0sSS51cGRhdGU9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuc2NoZWR1bGVVcGRhdGUoKX0sSS5pc1dpdGhDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5nZXRUaXRsZSgpKX0sSS5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24oZSl7dCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuYWRkQ2xhc3MoImJzLXRvb2x0aXAtIitlKX0sSS5nZXRUaXBFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGlwPXRoaXMudGlwfHx0KHRoaXMuY29uZmlnLnRlbXBsYXRlKVswXSx0aGlzLnRpcH0sSS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7dGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQobSksdGhpcy5nZXRUaXRsZSgpKSxlLnJlbW92ZUNsYXNzKGcrIiAiK3ApfSxJLnNldEVsZW1lbnRDb250ZW50PWZ1bmN0aW9uKGUsbil7dmFyIGk9dGhpcy5jb25maWcuaHRtbDsib2JqZWN0Ij09dHlwZW9mIG4mJihuLm5vZGVUeXBlfHxuLmpxdWVyeSk/aT90KG4pLnBhcmVudCgpLmlzKGUpfHxlLmVtcHR5KCkuYXBwZW5kKG4pOmUudGV4dCh0KG4pLnRleHQoKSk6ZVtpPyJodG1sIjoidGV4dCJdKG4pfSxJLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC10aXRsZSIpO3JldHVybiB0fHwodD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcudGl0bGU/dGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpOnRoaXMuY29uZmlnLnRpdGxlKSx0fSxJLl9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKHQpe3JldHVybiBjW3QudG9VcHBlckNhc2UoKV19LEkuX3NldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5jb25maWcudHJpZ2dlci5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24obil7aWYoImNsaWNrIj09PW4pdChlLmVsZW1lbnQpLm9uKGUuY29uc3RydWN0b3IuRXZlbnQuQ0xJQ0ssZS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGUudG9nZ2xlKHQpfSk7ZWxzZSBpZihuIT09Qyl7dmFyIGk9bj09PUU/ZS5jb25zdHJ1Y3Rvci5FdmVudC5NT1VTRUVOVEVSOmUuY29uc3RydWN0b3IuRXZlbnQuRk9DVVNJTixzPW49PT1FP2UuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRTplLmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTT1VUO3QoZS5lbGVtZW50KS5vbihpLGUuY29uZmlnLnNlbGVjdG9yLGZ1bmN0aW9uKHQpe3JldHVybiBlLl9lbnRlcih0KX0pLm9uKHMsZS5jb25maWcuc2VsZWN0b3IsZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xlYXZlKHQpfSl9dChlLmVsZW1lbnQpLmNsb3Nlc3QoIi5tb2RhbCIpLm9uKCJoaWRlLmJzLm1vZGFsIixmdW5jdGlvbigpe3JldHVybiBlLmhpZGUoKX0pfSksdGhpcy5jb25maWcuc2VsZWN0b3I/dGhpcy5jb25maWc9cih7fSx0aGlzLmNvbmZpZyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuX2ZpeFRpdGxlKCl9LEkuX2ZpeFRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dHlwZW9mIHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiKTsodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgidGl0bGUiKXx8InN0cmluZyIhPT10KSYmKHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImRhdGEtb3JpZ2luYWwtdGl0bGUiLHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCIiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIiIpKX0sSS5fZW50ZXI9ZnVuY3Rpb24oZSxuKXt2YXIgaT10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhuPW58fHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGkpKXx8KG49bmV3IHRoaXMuY29uc3RydWN0b3IoZS5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLHQoZS5jdXJyZW50VGFyZ2V0KS5kYXRhKGksbikpLGUmJihuLl9hY3RpdmVUcmlnZ2VyWyJmb2N1c2luIj09PWUudHlwZT9UOkVdPSEwKSx0KG4uZ2V0VGlwRWxlbWVudCgpKS5oYXNDbGFzcyhwKXx8bi5faG92ZXJTdGF0ZT09PWY/bi5faG92ZXJTdGF0ZT1mOihjbGVhclRpbWVvdXQobi5fdGltZW91dCksbi5faG92ZXJTdGF0ZT1mLG4uY29uZmlnLmRlbGF5JiZuLmNvbmZpZy5kZWxheS5zaG93P24uX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX2hvdmVyU3RhdGU9PT1mJiZuLnNob3coKX0sbi5jb25maWcuZGVsYXkuc2hvdyk6bi5zaG93KCkpfSxJLl9sZWF2ZT1mdW5jdGlvbihlLG4pe3ZhciBpPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVk7KG49bnx8dChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSkpfHwobj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksdChlLmN1cnJlbnRUYXJnZXQpLmRhdGEoaSxuKSksZSYmKG4uX2FjdGl2ZVRyaWdnZXJbImZvY3Vzb3V0Ij09PWUudHlwZT9UOkVdPSExKSxuLl9pc1dpdGhBY3RpdmVUcmlnZ2VyKCl8fChjbGVhclRpbWVvdXQobi5fdGltZW91dCksbi5faG92ZXJTdGF0ZT1kLG4uY29uZmlnLmRlbGF5JiZuLmNvbmZpZy5kZWxheS5oaWRlP24uX3RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe24uX2hvdmVyU3RhdGU9PT1kJiZuLmhpZGUoKX0sbi5jb25maWcuZGVsYXkuaGlkZSk6bi5oaWRlKCkpfSxJLl9pc1dpdGhBY3RpdmVUcmlnZ2VyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpaWYodGhpcy5fYWN0aXZlVHJpZ2dlclt0XSlyZXR1cm4hMDtyZXR1cm4hMX0sSS5fZ2V0Q29uZmlnPWZ1bmN0aW9uKG4pe3JldHVybiJudW1iZXIiPT10eXBlb2Yobj1yKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCx0KHRoaXMuZWxlbWVudCkuZGF0YSgpLG4pKS5kZWxheSYmKG4uZGVsYXk9e3Nob3c6bi5kZWxheSxoaWRlOm4uZGVsYXl9KSwibnVtYmVyIj09dHlwZW9mIG4udGl0bGUmJihuLnRpdGxlPW4udGl0bGUudG9TdHJpbmcoKSksIm51bWJlciI9PXR5cGVvZiBuLmNvbnRlbnQmJihuLmNvbnRlbnQ9bi5jb250ZW50LnRvU3RyaW5nKCkpLFAudHlwZUNoZWNrQ29uZmlnKGUsbix0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSxufSxJLl9nZXREZWxlZ2F0ZUNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXt9O2lmKHRoaXMuY29uZmlnKWZvcih2YXIgZSBpbiB0aGlzLmNvbmZpZyl0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRbZV0hPT10aGlzLmNvbmZpZ1tlXSYmKHRbZV09dGhpcy5jb25maWdbZV0pO3JldHVybiB0fSxJLl9jbGVhblRpcENsYXNzPWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmdldFRpcEVsZW1lbnQoKSksbj1lLmF0dHIoImNsYXNzIikubWF0Y2gobCk7bnVsbCE9PW4mJm4ubGVuZ3RoPjAmJmUucmVtb3ZlQ2xhc3Mobi5qb2luKCIiKSl9LEkuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9jbGVhblRpcENsYXNzKCksdGhpcy5hZGRBdHRhY2htZW50Q2xhc3ModGhpcy5fZ2V0QXR0YWNobWVudCh0LnBsYWNlbWVudCkpfSxJLl9maXhUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5nZXRUaXBFbGVtZW50KCksbj10aGlzLmNvbmZpZy5hbmltYXRpb247bnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpJiYodChlKS5yZW1vdmVDbGFzcyhnKSx0aGlzLmNvbmZpZy5hbmltYXRpb249ITEsdGhpcy5oaWRlKCksdGhpcy5zaG93KCksdGhpcy5jb25maWcuYW5pbWF0aW9uPW4pfSxhLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPXQodGhpcykuZGF0YShpKSxzPSJvYmplY3QiPT10eXBlb2YgZSYmZTtpZigobnx8IS9kaXNwb3NlfGhpZGUvLnRlc3QoZSkpJiYobnx8KG49bmV3IGEodGhpcyxzKSx0KHRoaXMpLmRhdGEoaSxuKSksInN0cmluZyI9PXR5cGVvZiBlKSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7bltlXSgpfX0pfSxzKGEsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGV9fSx7a2V5OiJEQVRBX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSx7a2V5OiJFdmVudCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF99fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBofX1dKSxhfSgpO3JldHVybiB0LmZuW2VdPUkuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPUksdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09YSxJLl9qUXVlcnlJbnRlcmZhY2V9LEl9KGUpLHg9ZnVuY3Rpb24odCl7dmFyIGU9InBvcG92ZXIiLG49ImJzLnBvcG92ZXIiLGk9Ii4iK24sbz10LmZuW2VdLGE9bmV3IFJlZ0V4cCgiKF58XFxzKWJzLXBvcG92ZXJcXFMrIiwiZyIpLGw9cih7fSxVLkRlZmF1bHQse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLWhlYWRlciI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWJvZHkiPjwvZGl2PjwvZGl2Pid9KSxoPXIoe30sVS5EZWZhdWx0VHlwZSx7Y29udGVudDoiKHN0cmluZ3xlbGVtZW50fGZ1bmN0aW9uKSJ9KSxjPSJmYWRlIix1PSJzaG93IixmPSIucG9wb3Zlci1oZWFkZXIiLGQ9Ii5wb3BvdmVyLWJvZHkiLF89e0hJREU6ImhpZGUiK2ksSElEREVOOiJoaWRkZW4iK2ksU0hPVzoic2hvdyIraSxTSE9XTjoic2hvd24iK2ksSU5TRVJURUQ6Imluc2VydGVkIitpLENMSUNLOiJjbGljayIraSxGT0NVU0lOOiJmb2N1c2luIitpLEZPQ1VTT1VUOiJmb2N1c291dCIraSxNT1VTRUVOVEVSOiJtb3VzZWVudGVyIitpLE1PVVNFTEVBVkU6Im1vdXNlbGVhdmUiK2l9LGc9ZnVuY3Rpb24ocil7dmFyIG8sZztmdW5jdGlvbiBwKCl7cmV0dXJuIHIuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfWc9ciwobz1wKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShnLnByb3RvdHlwZSksby5wcm90b3R5cGUuY29uc3RydWN0b3I9byxvLl9fcHJvdG9fXz1nO3ZhciBtPXAucHJvdG90eXBlO3JldHVybiBtLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLl9nZXRDb250ZW50KCl9LG0uYWRkQXR0YWNobWVudENsYXNzPWZ1bmN0aW9uKGUpe3QodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKCJicy1wb3BvdmVyLSIrZSl9LG0uZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8dCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LG0uc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5nZXRUaXBFbGVtZW50KCkpO3RoaXMuc2V0RWxlbWVudENvbnRlbnQoZS5maW5kKGYpLHRoaXMuZ2V0VGl0bGUoKSk7dmFyIG49dGhpcy5fZ2V0Q29udGVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj1uLmNhbGwodGhpcy5lbGVtZW50KSksdGhpcy5zZXRFbGVtZW50Q29udGVudChlLmZpbmQoZCksbiksZS5yZW1vdmVDbGFzcyhjKyIgIit1KX0sbS5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKXx8dGhpcy5jb25maWcuY29udGVudH0sbS5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciBlPXQodGhpcy5nZXRUaXBFbGVtZW50KCkpLG49ZS5hdHRyKCJjbGFzcyIpLm1hdGNoKGEpO251bGwhPT1uJiZuLmxlbmd0aD4wJiZlLnJlbW92ZUNsYXNzKG4uam9pbigiIikpfSxwLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKSxzPSJvYmplY3QiPT10eXBlb2YgZT9lOm51bGw7aWYoKGl8fCEvZGVzdHJveXxoaWRlLy50ZXN0KGUpKSYmKGl8fChpPW5ldyBwKHRoaXMscyksdCh0aGlzKS5kYXRhKG4saSkpLCJzdHJpbmciPT10eXBlb2YgZSkpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgaVtlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO2lbZV0oKX19KX0scyhwLG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjAuMCJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19LHtrZXk6Ik5BTUUiLGdldDpmdW5jdGlvbigpe3JldHVybiBlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0se2tleToiRXZlbnQiLGdldDpmdW5jdGlvbigpe3JldHVybiBffX0se2tleToiRVZFTlRfS0VZIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaH19XSkscH0oVSk7cmV0dXJuIHQuZm5bZV09Zy5falF1ZXJ5SW50ZXJmYWNlLHQuZm5bZV0uQ29uc3RydWN0b3I9Zyx0LmZuW2VdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbltlXT1vLGcuX2pRdWVyeUludGVyZmFjZX0sZ30oZSksSz1mdW5jdGlvbih0KXt2YXIgZT0ic2Nyb2xsc3B5IixuPSJicy5zY3JvbGxzcHkiLGk9Ii4iK24sbz10LmZuW2VdLGE9e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0sbD17b2Zmc2V0OiJudW1iZXIiLG1ldGhvZDoic3RyaW5nIix0YXJnZXQ6IihzdHJpbmd8ZWxlbWVudCkifSxoPXtBQ1RJVkFURToiYWN0aXZhdGUiK2ksU0NST0xMOiJzY3JvbGwiK2ksTE9BRF9EQVRBX0FQSToibG9hZCIraSsiLmRhdGEtYXBpIn0sYz0iZHJvcGRvd24taXRlbSIsdT0iYWN0aXZlIixmPXtEQVRBX1NQWTonW2RhdGEtc3B5PSJzY3JvbGwiXScsQUNUSVZFOiIuYWN0aXZlIixOQVZfTElTVF9HUk9VUDoiLm5hdiwgLmxpc3QtZ3JvdXAiLE5BVl9MSU5LUzoiLm5hdi1saW5rIixOQVZfSVRFTVM6Ii5uYXYtaXRlbSIsTElTVF9JVEVNUzoiLmxpc3QtZ3JvdXAtaXRlbSIsRFJPUERPV046Ii5kcm9wZG93biIsRFJPUERPV05fSVRFTVM6Ii5kcm9wZG93bi1pdGVtIixEUk9QRE9XTl9UT0dHTEU6Ii5kcm9wZG93bi10b2dnbGUifSxkPSJvZmZzZXQiLF89InBvc2l0aW9uIixnPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlLG4pe3ZhciBpPXRoaXM7dGhpcy5fZWxlbWVudD1lLHRoaXMuX3Njcm9sbEVsZW1lbnQ9IkJPRFkiPT09ZS50YWdOYW1lP3dpbmRvdzplLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcobiksdGhpcy5fc2VsZWN0b3I9dGhpcy5fY29uZmlnLnRhcmdldCsiICIrZi5OQVZfTElOS1MrIiwiK3RoaXMuX2NvbmZpZy50YXJnZXQrIiAiK2YuTElTVF9JVEVNUysiLCIrdGhpcy5fY29uZmlnLnRhcmdldCsiICIrZi5EUk9QRE9XTl9JVEVNUyx0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5fc2Nyb2xsSGVpZ2h0PTAsdCh0aGlzLl9zY3JvbGxFbGVtZW50KS5vbihoLlNDUk9MTCxmdW5jdGlvbih0KXtyZXR1cm4gaS5fcHJvY2Vzcyh0KX0pLHRoaXMucmVmcmVzaCgpLHRoaXMuX3Byb2Nlc3MoKX12YXIgZz1vLnByb3RvdHlwZTtyZXR1cm4gZy5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPXRoaXMuX3Njcm9sbEVsZW1lbnQ9PT10aGlzLl9zY3JvbGxFbGVtZW50LndpbmRvdz9kOl8saT0iYXV0byI9PT10aGlzLl9jb25maWcubWV0aG9kP246dGhpcy5fY29uZmlnLm1ldGhvZCxzPWk9PT1fP3RoaXMuX2dldFNjcm9sbFRvcCgpOjA7dGhpcy5fb2Zmc2V0cz1bXSx0aGlzLl90YXJnZXRzPVtdLHRoaXMuX3Njcm9sbEhlaWdodD10aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSx0Lm1ha2VBcnJheSh0KHRoaXMuX3NlbGVjdG9yKSkubWFwKGZ1bmN0aW9uKGUpe3ZhciBuLHI9UC5nZXRTZWxlY3RvckZyb21FbGVtZW50KGUpO2lmKHImJihuPXQocilbMF0pLG4pe3ZhciBvPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoby53aWR0aHx8by5oZWlnaHQpcmV0dXJuW3QobilbaV0oKS50b3ArcyxyXX1yZXR1cm4gbnVsbH0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdH0pLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFswXS1lWzBdfSkuZm9yRWFjaChmdW5jdGlvbih0KXtlLl9vZmZzZXRzLnB1c2godFswXSksZS5fdGFyZ2V0cy5wdXNoKHRbMV0pfSl9LGcuZGlzcG9zZT1mdW5jdGlvbigpe3QucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LG4pLHQodGhpcy5fc2Nyb2xsRWxlbWVudCkub2ZmKGkpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9zY3JvbGxFbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fc2VsZWN0b3I9bnVsbCx0aGlzLl9vZmZzZXRzPW51bGwsdGhpcy5fdGFyZ2V0cz1udWxsLHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHRoaXMuX3Njcm9sbEhlaWdodD1udWxsfSxnLl9nZXRDb25maWc9ZnVuY3Rpb24obil7aWYoInN0cmluZyIhPXR5cGVvZihuPXIoe30sYSxuKSkudGFyZ2V0KXt2YXIgaT10KG4udGFyZ2V0KS5hdHRyKCJpZCIpO2l8fChpPVAuZ2V0VUlEKGUpLHQobi50YXJnZXQpLmF0dHIoImlkIixpKSksbi50YXJnZXQ9IiMiK2l9cmV0dXJuIFAudHlwZUNoZWNrQ29uZmlnKGUsbixsKSxufSxnLl9nZXRTY3JvbGxUb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz90aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0OnRoaXMuX3Njcm9sbEVsZW1lbnQuc2Nyb2xsVG9wfSxnLl9nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxnLl9nZXRPZmZzZXRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2Nyb2xsRWxlbWVudD09PXdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LGcuX3Byb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRTY3JvbGxUb3AoKSt0aGlzLl9jb25maWcub2Zmc2V0LGU9dGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCksbj10aGlzLl9jb25maWcub2Zmc2V0K2UtdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7aWYodGhpcy5fc2Nyb2xsSGVpZ2h0IT09ZSYmdGhpcy5yZWZyZXNoKCksdD49bil7dmFyIGk9dGhpcy5fdGFyZ2V0c1t0aGlzLl90YXJnZXRzLmxlbmd0aC0xXTt0aGlzLl9hY3RpdmVUYXJnZXQhPT1pJiZ0aGlzLl9hY3RpdmF0ZShpKX1lbHNle2lmKHRoaXMuX2FjdGl2ZVRhcmdldCYmdDx0aGlzLl9vZmZzZXRzWzBdJiZ0aGlzLl9vZmZzZXRzWzBdPjApcmV0dXJuIHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHZvaWQgdGhpcy5fY2xlYXIoKTtmb3IodmFyIHM9dGhpcy5fb2Zmc2V0cy5sZW5ndGg7cy0tOyl7dGhpcy5fYWN0aXZlVGFyZ2V0IT09dGhpcy5fdGFyZ2V0c1tzXSYmdD49dGhpcy5fb2Zmc2V0c1tzXSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5fb2Zmc2V0c1tzKzFdfHx0PHRoaXMuX29mZnNldHNbcysxXSkmJnRoaXMuX2FjdGl2YXRlKHRoaXMuX3RhcmdldHNbc10pfX19LGcuX2FjdGl2YXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2FjdGl2ZVRhcmdldD1lLHRoaXMuX2NsZWFyKCk7dmFyIG49dGhpcy5fc2VsZWN0b3Iuc3BsaXQoIiwiKTtuPW4ubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0KydbZGF0YS10YXJnZXQ9IicrZSsnIl0sJyt0KydbaHJlZj0iJytlKyciXSd9KTt2YXIgaT10KG4uam9pbigiLCIpKTtpLmhhc0NsYXNzKGMpPyhpLmNsb3Nlc3QoZi5EUk9QRE9XTikuZmluZChmLkRST1BET1dOX1RPR0dMRSkuYWRkQ2xhc3ModSksaS5hZGRDbGFzcyh1KSk6KGkuYWRkQ2xhc3ModSksaS5wYXJlbnRzKGYuTkFWX0xJU1RfR1JPVVApLnByZXYoZi5OQVZfTElOS1MrIiwgIitmLkxJU1RfSVRFTVMpLmFkZENsYXNzKHUpLGkucGFyZW50cyhmLk5BVl9MSVNUX0dST1VQKS5wcmV2KGYuTkFWX0lURU1TKS5jaGlsZHJlbihmLk5BVl9MSU5LUykuYWRkQ2xhc3ModSkpLHQodGhpcy5fc2Nyb2xsRWxlbWVudCkudHJpZ2dlcihoLkFDVElWQVRFLHtyZWxhdGVkVGFyZ2V0OmV9KX0sZy5fY2xlYXI9ZnVuY3Rpb24oKXt0KHRoaXMuX3NlbGVjdG9yKS5maWx0ZXIoZi5BQ1RJVkUpLnJlbW92ZUNsYXNzKHUpfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykuZGF0YShuKTtpZihpfHwoaT1uZXcgbyh0aGlzLCJvYmplY3QiPT10eXBlb2YgZSYmZSksdCh0aGlzKS5kYXRhKG4saSkpLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBpW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7aVtlXSgpfX0pfSxzKG8sbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuMC4wIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX1dKSxvfSgpO3JldHVybiB0KHdpbmRvdykub24oaC5MT0FEX0RBVEFfQVBJLGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXQubWFrZUFycmF5KHQoZi5EQVRBX1NQWSkpLG49ZS5sZW5ndGg7bi0tOyl7dmFyIGk9dChlW25dKTtnLl9qUXVlcnlJbnRlcmZhY2UuY2FsbChpLGkuZGF0YSgpKX19KSx0LmZuW2VdPWcuX2pRdWVyeUludGVyZmFjZSx0LmZuW2VdLkNvbnN0cnVjdG9yPWcsdC5mbltlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm5bZV09byxnLl9qUXVlcnlJbnRlcmZhY2V9LGd9KGUpLFY9ZnVuY3Rpb24odCl7dmFyIGU9ImJzLnRhYiIsbj0iLiIrZSxpPXQuZm4udGFiLHI9e0hJREU6ImhpZGUiK24sSElEREVOOiJoaWRkZW4iK24sU0hPVzoic2hvdyIrbixTSE9XTjoic2hvd24iK24sQ0xJQ0tfREFUQV9BUEk6ImNsaWNrLmJzLnRhYi5kYXRhLWFwaSJ9LG89ImRyb3Bkb3duLW1lbnUiLGE9ImFjdGl2ZSIsbD0iZGlzYWJsZWQiLGg9ImZhZGUiLGM9InNob3ciLHU9Ii5kcm9wZG93biIsZj0iLm5hdiwgLmxpc3QtZ3JvdXAiLGQ9Ii5hY3RpdmUiLF89Ij4gbGkgPiAuYWN0aXZlIixnPSdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLHA9Ii5kcm9wZG93bi10b2dnbGUiLG09Ij4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSIsdj1mdW5jdGlvbigpe2Z1bmN0aW9uIG4odCl7dGhpcy5fZWxlbWVudD10fXZhciBpPW4ucHJvdG90eXBlO3JldHVybiBpLnNob3c9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCEodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiZ0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhhKXx8dCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhsKSkpe3ZhciBuLGkscz10KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoZilbMF0sbz1QLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aWYocyl7dmFyIGg9IlVMIj09PXMubm9kZU5hbWU/XzpkO2k9KGk9dC5tYWtlQXJyYXkodChzKS5maW5kKGgpKSlbaS5sZW5ndGgtMV19dmFyIGM9dC5FdmVudChyLkhJREUse3JlbGF0ZWRUYXJnZXQ6dGhpcy5fZWxlbWVudH0pLHU9dC5FdmVudChyLlNIT1cse3JlbGF0ZWRUYXJnZXQ6aX0pO2lmKGkmJnQoaSkudHJpZ2dlcihjKSx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodSksIXUuaXNEZWZhdWx0UHJldmVudGVkKCkmJiFjLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtvJiYobj10KG8pWzBdKSx0aGlzLl9hY3RpdmF0ZSh0aGlzLl9lbGVtZW50LHMpO3ZhciBnPWZ1bmN0aW9uKCl7dmFyIG49dC5FdmVudChyLkhJRERFTix7cmVsYXRlZFRhcmdldDplLl9lbGVtZW50fSkscz10LkV2ZW50KHIuU0hPV04se3JlbGF0ZWRUYXJnZXQ6aX0pO3QoaSkudHJpZ2dlcihuKSx0KGUuX2VsZW1lbnQpLnRyaWdnZXIocyl9O24/dGhpcy5fYWN0aXZhdGUobixuLnBhcmVudE5vZGUsZyk6ZygpfX19LGkuZGlzcG9zZT1mdW5jdGlvbigpe3QucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LGUpLHRoaXMuX2VsZW1lbnQ9bnVsbH0saS5fYWN0aXZhdGU9ZnVuY3Rpb24oZSxuLGkpe3ZhciBzPXRoaXMscj0oIlVMIj09PW4ubm9kZU5hbWU/dChuKS5maW5kKF8pOnQobikuY2hpbGRyZW4oZCkpWzBdLG89aSYmUC5zdXBwb3J0c1RyYW5zaXRpb25FbmQoKSYmciYmdChyKS5oYXNDbGFzcyhoKSxhPWZ1bmN0aW9uKCl7cmV0dXJuIHMuX3RyYW5zaXRpb25Db21wbGV0ZShlLHIsaSl9O3ImJm8/dChyKS5vbmUoUC5UUkFOU0lUSU9OX0VORCxhKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCgxNTApOmEoKX0saS5fdHJhbnNpdGlvbkNvbXBsZXRlPWZ1bmN0aW9uKGUsbixpKXtpZihuKXt0KG4pLnJlbW92ZUNsYXNzKGMrIiAiK2EpO3ZhciBzPXQobi5wYXJlbnROb2RlKS5maW5kKG0pWzBdO3MmJnQocykucmVtb3ZlQ2xhc3MoYSksInRhYiI9PT1uLmdldEF0dHJpYnV0ZSgicm9sZSIpJiZuLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITEpfWlmKHQoZSkuYWRkQ2xhc3MoYSksInRhYiI9PT1lLmdldEF0dHJpYnV0ZSgicm9sZSIpJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsITApLFAucmVmbG93KGUpLHQoZSkuYWRkQ2xhc3MoYyksZS5wYXJlbnROb2RlJiZ0KGUucGFyZW50Tm9kZSkuaGFzQ2xhc3Mobykpe3ZhciByPXQoZSkuY2xvc2VzdCh1KVswXTtyJiZ0KHIpLmZpbmQocCkuYWRkQ2xhc3MoYSksZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKX1pJiZpKCl9LG4uX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9dCh0aGlzKSxyPXMuZGF0YShlKTtpZihyfHwocj1uZXcgbih0aGlzKSxzLmRhdGEoZSxyKSksInN0cmluZyI9PXR5cGVvZiBpKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHJbaV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2krJyInKTtyW2ldKCl9fSl9LHMobixudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC4wLjAifX1dKSxufSgpO3JldHVybiB0KGRvY3VtZW50KS5vbihyLkNMSUNLX0RBVEFfQVBJLGcsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHYuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQodGhpcyksInNob3ciKX0pLHQuZm4udGFiPXYuX2pRdWVyeUludGVyZmFjZSx0LmZuLnRhYi5Db25zdHJ1Y3Rvcj12LHQuZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbi50YWI9aSx2Ll9qUXVlcnlJbnRlcmZhY2V9LHZ9KGUpOyFmdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkuIGpRdWVyeSBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBCb290c3RyYXAncyBKYXZhU2NyaXB0LiIpO3ZhciBlPXQuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZihlWzBdPDImJmVbMV08OXx8MT09PWVbMF0mJjk9PT1lWzFdJiZlWzJdPDF8fGVbMF0+PTQpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGF0IGxlYXN0IGpRdWVyeSB2MS45LjEgYnV0IGxlc3MgdGhhbiB2NC4wLjAiKX0oZSksdC5VdGlsPVAsdC5BbGVydD1MLHQuQnV0dG9uPVIsdC5DYXJvdXNlbD1qLHQuQ29sbGFwc2U9SCx0LkRyb3Bkb3duPVcsdC5Nb2RhbD1NLHQuUG9wb3Zlcj14LHQuU2Nyb2xsc3B5PUssdC5UYWI9Vix0LlRvb2x0aXA9VSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLm1pbi5qcy5tYXA="}},"time_used":152,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":152,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/banner_vector3.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.966Z","timestamp":1785154927966,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/banner_vector3.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:50 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Wq%2B9tjNNmCP4%2FTvEoeRu4Nge9In14uZyEkNRFGDcQ7anDOCUmAMhv40JBR9x4r%2BjekHxY4svlYAablX1kkBg1A3Lsuk57zjSdcUYW%2BrKcVp%2BMIlRbT7Hwnj7hxolw6yQdWZ1Nd3vKVo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bcd6eb28a-OSL\r\ncontent-length: 208695\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":208695,"size_decoded":209465,"mime_type":"image/png","magic":"PNG image data, 1385 x 979, 8-bit/color RGBA, non-interlaced","md5":"94e92466d681da62289e43bdad38361b","sha1":"cd50695bf7ef14887a92823ef5e1175ad57c7db8","sha256":"390cc2f7ef631288ff70a3025e7d0a7b056c31087ae531de68fc0ee500d43ebf","sha512":"012a299503472c25d2f811c42967586bb6313a0646182d137b0ff3ad7d22f19eedff33422037f78e30aba087ce053da8a54316fe3eaa91c9073d1bd23be6ada0","ssdeep":"3072:Gz2QPRfWyPb+2RduTwKuj5efrlM+5JEf4blrfeEwN2lMiH04RnQS1tEKG3X9unZ/:gpWyPb+sOZ3YEO2lMi/4Mr0a","tlshash":"261412d48a385b81f4d97832494013a47f3038575818fb9eeb6828fdfe65f349d8d26a","first_seen":"2026-07-27T05:58:00.78072Z","last_seen":"2026-08-04T02:29:04.768188Z","times_seen":5,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAABWkAAAPTCAYAAADCbIv2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjVEMjA4OTI0OTNCRkRCMTE5MTRBODU5MEQzMTUwOEM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxMDU4NDQ5NzJFMzExRTg5RTcyRDQ5Qjc5MDZENDcwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxMDU4NDQ4NzJFMzExRTg5RTcyRDQ5Qjc5MDZENDcwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmIwOTdiZTk5LTA3MDItNGM4MS1iZjNiLTI3NjA3NjhmZjlkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMDFEMDYyMTcxNzFFODEx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"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/blockchain-logo-padded-2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.982Z","timestamp":1785154927982,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/blockchain-logo-padded-2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:50 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=JqPrYUKX1vfArQKmKvoqSoSVAXUF9B17YxKAIdpkzuvw97Tta5G9o00u%2F8GdDOiQp0LdMnnGEG68F71TyocyA6dmo%2Fmpg6sJSX%2BxjA%2BsOCQPC1ZOX3AQXQt86DIdThvVpHJ0%2BD%2BPBJI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed7bb28a-OSL\r\ncontent-length: 19433\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":19433,"size_decoded":20204,"mime_type":"image/png","magic":"PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced","md5":"105fdaca2e6b1df8335a965d7e0884bc","sha1":"14782f1f9cedb245a2a779a05eae7571d1d37351","sha256":"0eb100d912abc3be576db614851b592339a29805144c88c070fe85e503f8e3b5","sha512":"a93227ed97bfb04acf071331883c026361b80120f5a22efdce99741b75e96d6c0ad8cc71dcbb9726982b5d7b05bd0f207bdf0eb8ea58972581c829bcb8bab4c9","ssdeep":"384:Eq+1C27hvb3KiPh36bjd5l/HPJEuB3OYzjq+QxgTZUd+PAPmufNr8rRVeJ13wN:m1nvb3PgHdbvJEupq+nTC/XfR8rneI","tlshash":"3692cfd08ba8eb69f8deece87badd91dde7ae0a438494ff41007e539183417852c1c48","first_seen":"2026-07-27T05:58:00.906787Z","last_seen":"2026-07-27T12:23:18.795203Z","times_seen":3,"resource_available":false,"data":"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SRqVu9l4VdJLkg7KPVp1RNKbkvqU0JDu4oOBABBn/z+BQjkW6SOfCwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOC0wMi0yNVQwOTo1MjoxNSswMDowMHVOa0EAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTgtMDItMDZUMDk6NDE6NDgrMDA6MDD6afyvAAAATXRFWHRzb2Z0d2FyZQBJbWFnZU1hZ2ljayA2LjguOS05IFExNiB4ODZfNjQgMjAxNy0wNy0zMSBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZ1NhVcYAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAZdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADI0MDDHwXkUAAAAGHRFWHRUaHVtYjo6SW1hZ2U6OldpZHRoADI0MDDSiKUNAAAAGXRFWHRUaHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE1MTc5MTAxMDgn+efLAAAAE3RFWHRUaHVtYjo6U2l6ZQA4MS43S0JCUX5kdgAAAEZ0RVh0VGh1bWI6OlVSSQBmaWxlOi8vL29wdC9wbmdfYmF0Y2hfMi9ibG9ja2NoYWluLWxvZ28tcG5nLXRyYW5zcGFyZW50LnBuZyaK18sAAAAASUVORK5CYII="}},"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/onion.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.013Z","timestamp":1785154929013,"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":"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 /maps-api-v3/api/js/65/10a/onion.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 9387\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:12 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411657\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":28303,"size_decoded":10225,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (1824)","md5":"421954624ee9f01aa15be44f2b89e522","sha1":"500625170f43e269744914b969650684a154c3a5","sha256":"0bbb31460cd2f1a337bb98cd67f97f6a9b25a7367b11139b3cd27558bd76e47d","sha512":"629af7bd9eb45bc1f8b0f9cf7905135db2dce4f6d1576330ce5aafcd765fe9af7800364f7a253f6cfb5d80475e4d92fa724d91cd34ef9e0f6a3eb1b26a853a50","ssdeep":"768:SXtlSb4RUZIPi9V+Lljoscl23wj8pStC4MYrahg80FchsPE7jf/s5W9dg:8cl2484MYFxR5W9dg","tlshash":"81d2e5a872937193c3f2a270417f110be52d64c1f40889adb9a89dd57ff858a21f9f78","first_seen":"2026-07-22T18:28:15.455232Z","last_seen":"2026-07-28T15:45:30.733544Z","times_seen":447,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ29uaW9uJywgZnVuY3Rpb24oXyl7dmFyIHdPLHhPLEVWYSxBTyx6TyxIVmEsSVZhLEpWYSxHVmEsS1ZhLEJPLExWYSxNVmEsTlZhLE9WYSxQVmEsUVZhLFNWYSxUVmEsV1ZhLFlWYSwkVmEsYldhLGRXYSxlV2EsY1dhLEVPLEZPLERPLEdPLGpXYSxrV2EsbFdhLG1XYSxvV2EsbldhLEhPLHdXYSx2V2EsS08sQldhLENXYSxEV2EsQVdhLEVXYSxNV2EsTk8sT1dhLFBXYSxGV2EsR1dhLEhXYSxMV2EsU1dhLFRXYSxRV2EsUldhLExPLFVXYSxWV2EsTU8sSVdhO3dPPWZ1bmN0aW9uKGEsYixjPSExKXtyZXR1cm4oYj0oYj8uVkQoKT9iLll2KCk6dm9pZCAwKT8ueGgoKSkmJmIuaW5jbHVkZXMoIi90aWxlcz8iKT9bYi5yZXBsYWNlKCIvdGlsZXM/IiwiL2ZlYXR1cmVNYXBzPyIpXTpfLlR4KGEsYyl9O3hPPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD4wJiZhWzBdLmluY2x1ZGVzKCIvZmVhdHVyZU1hcHM/Iil9OwpFVmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpcmV0dXJuITA7cmV0dXJuITF9O18uRlZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWgoYSwxLGIpfTtBTz1mdW5jdGlvbihhKXtfLmJILmNhbGwodGhpcyxhLHlPKTt6TyhhKX07CnpPPWZ1bmN0aW9uKGEpe18udEcoYSx5Tyl8fChfLnNHKGEseU8se2VudGl0eTowLHVwOjF9LFsiZGl2IiwsMSwwLFsiICIsWyJkaXYiLCwxLDEsWyIgIixbImRpdiIsNTc2LDEsMiwiRHV0Y2ggQ2hlZXNlIENha2VzIl0sIiAiXV0sIiAiLFsiZGl2IiwsMSwzLFsiICIsWyJzcGFuIiw1NzYsMSw0LCJDZW50cmFsIFN0YXRpb24iXSwiICIsWyJkaXYiLCwxLDVdLCIgIl1dLCIgIl1dLFtdLEdWYSgpKSxfLnRHKGEsInQtWkdoWVF0eEVDSXMiKXx8Xy5zRyhhLCJ0LVpHaFlRdHhFQ0lzIix7fSxbImpzbCIsLDEsMCwiIFN0YXRpb24gaXMgYWNjZXNzaWJsZSAiXSxbXSxbWyIkdCIsInQtWkdoWVF0eEVDSXMiXV0pKX07SFZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLlJrfTtJVmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEueW59O0pWYT1mdW5jdGlvbigpe3JldHVybiBfLlNGKCJ0LVpHaFlRdHhFQ0lzIix7fSl9OwpHVmE9ZnVuY3Rpb24oKXtyZXR1cm5bWyIkdCIsInQtdDB3ZWV5bTJ0Q3ciLCIkYSIsWzcsLCwsLCJ0cmFuc2l0LWNvbnRhaW5lciJdXSxbImRpc3BsYXkiLGZ1bmN0aW9uKGEpe3JldHVybiFfLlZGKGEuZW50aXR5LGI9PmIuYncoKSl9XSxbInZhciIsZnVuY3Rpb24oYSl7cmV0dXJuIGEuUms9Xy5URihhLmVudGl0eSwiIixiPT5iLmdldFRpdGxlKCkpfSwiJGRjIixbSFZhLCExXSwiJGEiLFs3LCwsLCwiZ20tdGl0bGUiXSwiJGEiLFs3LCwsLCwiZ20tZnVsbC13aWR0aCJdLCIkYyIsWywsSFZhXV0sWyJkaXNwbGF5IixmdW5jdGlvbihhKXtyZXR1cm4gXy5WRihhLmVudGl0eSxiPT5iLmJ3KCkpfSwiJGEiLFs3LCwsLCwidHJhbnNpdC10aXRsZSIsLDFdXSxbInZhciIsZnVuY3Rpb24oYSl7cmV0dXJuIGEueW49Xy5URihhLmVudGl0eSwiIixiPT5iLkFEKCksYj0+Yi5nZXROYW1lKCkpfSwiJGRjIixbSVZhLCExXSwiJGMiLFssLElWYV1dLFsiZGlzcGxheSIsZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5lbnRpdHksCjAsYj0+Yi5BRCgpLGI9PmIuWlMoKSk9PTJ9LCIkYSIsWzcsLCwsLCJ0cmFuc2l0LXdoZWVsY2hhaXItaWNvbiIsLDFdLCIkdWFlIixbImFyaWEtbGFiZWwiLEpWYV0sIiR1YWUiLFsidGl0bGUiLEpWYV0sIiRhIixbMCwsLCwiaW1nIiwicm9sZSIsLDFdXV19O0tWYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLmljb24sIiIsYj0+Yi5WTSgpKX07Qk89ZnVuY3Rpb24oYSl7cmV0dXJuIGEuUmt9O0xWYT1mdW5jdGlvbihhKXtyZXR1cm4gYS52az9fLlJGKCJiYWNrZ3JvdW5kLWNvbG9yIixfLlRGKGEuY29tcG9uZW50LCIiLGI9PmIubXAoKSxiPT5iLnFtKCkpKTpfLlRGKGEuY29tcG9uZW50LCIiLGI9PmIubXAoKSxiPT5iLnFtKCkpfTtNVmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVEYoYS5jb21wb25lbnQsITEsYj0+Yi5tcCgpLGI9PmIuTVMoKSl9O05WYT1mdW5jdGlvbihhKXtyZXR1cm4gYS55bn07Ck9WYT1mdW5jdGlvbigpe3JldHVybltbIiR0IiwidC1EamJRUVNoeThhMCIsIiRhIixbNywsLCwsInRyYW5zaXQtY29udGFpbmVyIl1dLFsiJGEiLFs1LCwsLGZ1bmN0aW9uKGEpe3JldHVybiBhLnZrP18uUkYoImRpc3BsYXkiLF8uVEYoYS51cCwhMSxiPT5iLnFEKCkpPyJub25lIjoiIik6Xy5URihhLnVwLCExLGI9PmIucUQoKSk/Im5vbmUiOiIifSwiZGlzcGxheSIsLCwxXSwiJHVwIixbInQtdDB3ZWV5bTJ0Q3ciLHtlbnRpdHk6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZW50aXR5fSx1cDpmdW5jdGlvbihhKXtyZXR1cm4gYS51cH19XV0sWyJmb3IiLFtmdW5jdGlvbihhLGIpe3JldHVybiBhLmNxPWJ9LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubU49Yn0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5wVD1ifSxmdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLmVudGl0eSxbXSxiPT5iLkFEKCksYj0+Yi5RUygpKX1dLCJkaXNwbGF5IixmdW5jdGlvbihhKXtyZXR1cm4gXy5WRihhLmVudGl0eSwKYj0+Yi5idygpKX0sIiRhIixbNywsLCwsInRyYW5zaXQtbGluZS1ncm91cCJdLCIkYSIsWzcsLCxmdW5jdGlvbihhKXtyZXR1cm4gYS5tTiE9MH0sLCJ0cmFuc2l0LWxpbmUtZ3JvdXAtc2VwYXJhdG9yIl1dLFsiZm9yIixbZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pY29uPWJ9LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuZVQ9Yn0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5mVD1ifSxmdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLmNxLFtdLGI9PmIuWFMoKSl9XSwiJGEiLFswLCwsLEtWYSwiYWx0IiwsLDFdLCIkYSIsWzgsMiwsLGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEuaWNvbiwiIixiPT5iLlpIKCksYj0+YlswXSxiPT5iLmdldFVybCgpKX0sInNyYyIsLCwxXSwiJGEiLFswLCwsLEtWYSwidGl0bGUiLCwsMV0sIiRhIixbMCwsLCwiMTUiLCJoZWlnaHQiLCwxXSwiJGEiLFswLCwsLCIxNSIsIndpZHRoIiwsMV1dLFsidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS5uRT1fLlRGKGEuY3EsCjAsYj0+Yi5RSCgpKT09MD8xNTpfLlRGKGEuY3EsMCxiPT5iLlFIKCkpPT0xPzEyOjZ9LCJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLlBQPV8uVUYoYS5jcSxiPT5iLlBIKCkpPmEubkV9LCIkYSIsWzcsLCwsLCJ0cmFuc2l0LWxpbmUtZ3JvdXAtY29udGVudCIsLDFdXSxbImZvciIsW2Z1bmN0aW9uKGEsYil7cmV0dXJuIGEubGluZT1ifSxmdW5jdGlvbihhLGIpe3JldHVybiBhLmk9Yn0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5vVD1ifSxmdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLmNxLFtdLGI9PmIuUEgoKSl9XSwiZGlzcGxheSIsZnVuY3Rpb24oYSl7cmV0dXJuIGEuaTxhLm5FfSwiJHVwIixbInQtV3hUdmVwSWl1X3ciLHtjcTpmdW5jdGlvbihhKXtyZXR1cm4gYS5jcX0sbGluZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5saW5lfX1dXSxbImRpc3BsYXkiLGZ1bmN0aW9uKGEpe3JldHVybiBhLlBQfSwidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS55Tz1fLlVGKGEuY3EsYj0+Yi5QSCgpKS0KYS5uRX0sIiRhIixbNywsLCwsInRyYW5zaXQtbmxpbmVzLW1vcmUtbXNnIiwsMV1dLFsidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS5Saz1TdHJpbmcoYS55Tyl9LCIkZGMiLFtCTywhMV0sIiRjIixbLCxCT11dLFsiJGEiLFs3LCwsLCwidHJhbnNpdC1saW5lLWdyb3VwLXZlaGljbGUtaWNvbnMiLCwxXV0sWyIkYSIsWzcsLCwsLCJ0cmFuc2l0LWNsZWFyLWxpbmVzIiwsMV1dXX07ClBWYT1mdW5jdGlvbigpe3JldHVybltbIiR0IiwidC1XeFR2ZXBJaXVfdyIsImRpc3BsYXkiLGZ1bmN0aW9uKGEpe3JldHVybiBfLlVGKGEubGluZSxiPT5iLmdOKCkpPjB9LCJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLmVFPV8uVkYoYS5jcSxiPT5iLmJUKCkpP18uVEYoYS5jcSwwLGI9PmIuUUgoKSk6Mn0sIiRhIixbNywsLCwsInRyYW5zaXQtZGl2LWxpbmUtbmFtZSJdXSxbIiRhIixbNywsLGZ1bmN0aW9uKGEpe3JldHVybiBhLmVFPT0yfSwsImdtLXRyYW5zaXQtbG9uZyJdLCIkYSIsWzcsLCxmdW5jdGlvbihhKXtyZXR1cm4gYS5lRT09MX0sLCJnbS10cmFuc2l0LW1lZGl1bSJdLCIkYSIsWzcsLCxmdW5jdGlvbihhKXtyZXR1cm4gYS5lRT09MH0sLCJnbS10cmFuc2l0LXNob3J0Il0sIiRhIixbMCwsLCwibGlzdCIsInJvbGUiXV0sWyJmb3IiLFtmdW5jdGlvbihhLGIpe3JldHVybiBhLmNvbXBvbmVudD1ifSxmdW5jdGlvbihhLGIpe3JldHVybiBhLnlTPWJ9LGZ1bmN0aW9uKGEsCmIpe3JldHVybiBhLnpTPWJ9LGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEubGluZSxbXSxiPT5iLmdOKCkpfV0sIiR1cCIsWyJ0LUxXZUp6a1h2QUEwIix7Y29tcG9uZW50OmZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbXBvbmVudH19XV1dfTsKUVZhPWZ1bmN0aW9uKCl7cmV0dXJuW1siJHQiLCJ0LUxXZUp6a1h2QUEwIiwiJGEiLFswLCwsLCJsaXN0aXRlbSIsInJvbGUiXV0sWyJkaXNwbGF5IixmdW5jdGlvbihhKXtyZXR1cm4gXy5WRihhLmNvbXBvbmVudCxiPT5iLkxvKCkpJiZfLlZGKGEuY29tcG9uZW50LGI9PmIuZ2V0SWNvbigpLGI9PmIuWkgoKSxiPT5iWzBdLGI9PmIuS20oKSl9LCIkYSIsWzcsLCwsLCJyZW5kZXJhYmxlLWNvbXBvbmVudC1pY29uIiwsMV0sIiRhIixbMCwsLCxmdW5jdGlvbihhKXtyZXR1cm4gXy5URihhLmNvbXBvbmVudCwiIixiPT5iLmdldEljb24oKSxiPT5iLlZNKCkpfSwiYWx0IiwsLDFdLCIkYSIsWzgsMiwsLGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEuY29tcG9uZW50LCIiLGI9PmIuZ2V0SWNvbigpLGI9PmIuWkgoKSxiPT5iWzBdLGI9PmIuZ2V0VXJsKCkpfSwic3JjIiwsLDFdLCIkYSIsWzAsLCwsIjE1IiwiaGVpZ2h0IiwsMV0sIiRhIixbMCwsLCwiMTUiLCJ3aWR0aCIsLDFdXSxbImRpc3BsYXkiLApmdW5jdGlvbihhKXtyZXR1cm4gXy5WRihhLmNvbXBvbmVudCxiPT5iLmRJKCkpfSwidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS5pVD1fLlRGKGEuY29tcG9uZW50LDAsYj0+Yi5nZXRUeXBlKCkpPT01fSwidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS5YTj1fLlRGKGEuY29tcG9uZW50LCIiLGI9PmIubXAoKSxiPT5iLnFtKCkpPT0iI2ZmZmZmZiJ9LCJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLldEPV8uVkYoYS5jb21wb25lbnQsYj0+Yi5tcCgpLGI9PmIuV0EoKSl9XSxbImRpc3BsYXkiLGZ1bmN0aW9uKGEpe3JldHVybiFfLlZGKGEuY29tcG9uZW50LGI9PmIubXAoKSxiPT5iLnlrKCkpJiZhLldEfSwiJGEiLFs3LCwsLCwicmVuZGVyYWJsZS1jb21wb25lbnQtY29sb3ItYm94IiwsMV0sIiRhIixbNSw1LCwsTFZhLCJiYWNrZ3JvdW5kLWNvbG9yIiwsLDFdXSxbImRpc3BsYXkiLGZ1bmN0aW9uKGEpe3JldHVybiBfLlZGKGEuY29tcG9uZW50LGI9PmIubXAoKSxiPT5iLnlrKCkpJiYKYS5XRH0sIiRhIixbNywsLCwsInJlbmRlcmFibGUtY29tcG9uZW50LXRleHQtYm94Il0sIiRhIixbNywsLE1WYSwsInJlbmRlcmFibGUtY29tcG9uZW50LWJvbGQiXSwiJGEiLFs3LCwsZnVuY3Rpb24oYSl7cmV0dXJuIGEuWE59LCwicmVuZGVyYWJsZS1jb21wb25lbnQtdGV4dC1ib3gtd2hpdGUiXSwiJGEiLFs1LDUsLCxMVmEsImJhY2tncm91bmQtY29sb3IiLCwsMV0sIiRhIixbNSw1LCwsZnVuY3Rpb24oYSl7cmV0dXJuIGEudms/Xy5SRigiY29sb3IiLF8uVEYoYS5jb21wb25lbnQsIiIsYj0+Yi5tcCgpLGI9PmIuR2soKSkpOl8uVEYoYS5jb21wb25lbnQsIiIsYj0+Yi5tcCgpLGI9PmIuR2soKSl9LCJjb2xvciIsLCwxXV0sWyJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLlJrPV8uVEYoYS5jb21wb25lbnQsIiIsYj0+Yi5tcCgpLGI9PmIuY2koKSl9LCIkZGMiLFtCTywhMV0sIiRhIixbNywsLCwsInJlbmRlcmFibGUtY29tcG9uZW50LXRleHQtYm94LWNvbnRlbnQiXSwiJGMiLApbLCxCT11dLFsiZGlzcGxheSIsZnVuY3Rpb24oYSl7cmV0dXJuIF8uVkYoYS5jb21wb25lbnQsYj0+Yi5tcCgpLGI9PmIueWsoKSkmJiFhLldEfSwidmFyIixmdW5jdGlvbihhKXtyZXR1cm4gYS55bj1fLlRGKGEuY29tcG9uZW50LCIiLGI9PmIubXAoKSxiPT5iLmNpKCkpfSwiJGRjIixbTlZhLCExXSwiJGEiLFs3LCwsLCwicmVuZGVyYWJsZS1jb21wb25lbnQtdGV4dCJdLCIkYSIsWzcsLCxNVmEsLCJyZW5kZXJhYmxlLWNvbXBvbmVudC1ib2xkIl0sIiRjIixbLCxOVmFdXV19OwpTVmE9ZnVuY3Rpb24oYSxiKXthPV8uVXgoe2tpOmEueCxsaTphLnksdWk6Yn0pO2lmKCFhKXJldHVybiBudWxsO3ZhciBjPTIxNDc0ODM2NDgvKDE8PGIpO2E9bmV3IF8uYm8oYS5raSpjLGEubGkqYyk7Yz0xMDczNzQxODI0O2I9TWF0aC5taW4oMzEsXy5sbShiLDMxKSk7Q08ubGVuZ3RoPU1hdGguZmxvb3IoYik7Zm9yKGxldCBkPTA7ZDxiOysrZClDT1tkXT1SVmFbKGEueCZjPzI6MCkrKGEueSZjPzE6MCldLGM+Pj0xO3JldHVybiBDTy5qb2luKCIiKX07VFZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoYXJBdCgxKX07V1ZhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuc2VhcmNoKFVWYSk7aWYoYiE9PS0xKXtmb3IoO2EuY2hhckNvZGVBdChiKSE9PTEyNDsrK2IpO3JldHVybiBhLnNsaWNlKDAsYikucmVwbGFjZShWVmEsVFZhKX1yZXR1cm4gYS5yZXBsYWNlKFZWYSxUVmEpfTsKXy5YVmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2IuZm9yRWFjaCgoZCxlKT0+eyhkLnpJbmRleHx8MCk8PShhLnpJbmRleHx8MCkmJihjPWUrMSl9KTtiLmluc2VydEF0KGMsYSl9O1lWYT1mdW5jdGlvbihhLGIsYyl7Yi5kYXRhLnJlbW92ZShjKTtjLnRpbGVzLnJlbW92ZShiKTtjLnRpbGVzLmdldFNpemUoKXx8KGEuZGF0YS5yZW1vdmUoYyksYy5Gaj1udWxsLGMudGlsZXM9bnVsbCl9OyRWYT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0ib2ZlYXR1cmVNYXBUaWxlc18iK2I7Xy5rbihjLCJpbnNlcnRfYXQiLCgpPT57YSYmYVtoXSYmKGFbaF09e30pfSk7Xy5rbihjLCJyZW1vdmVfYXQiLCgpPT57YSYmYVtoXSYmKGMuZ2V0TGVuZ3RoKCl8fChhW2hdPXt9KSl9KTtuZXcgWlZhKGMsZCxlLGYsKGssbSk9PnthJiZhW2hdJiYoYVtoXVtgJHtrLmNvb3JkLnh9LSR7ay5jb29yZC55fS0ke2suem9vbX1gXT1rLmhhc0RhdGEpO2cmJmcoayxtKX0pfTsKYldhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnFoW2MuaWRdPWEucWhbYy5pZF18fHt9LGU9Yi50b1N0cmluZygpO2lmKCFkW2VdJiYhYi5mcmVlemUpe3ZhciBmPW5ldyBhV2EoW2JdLmNvbmNhdChiLnJofHxbXSksW2NdKSxnPWIuc2VjdXJlOyhiLnJofHxbXSkuZm9yRWFjaChtPT57Zz1nfHxtLnNlY3VyZX0pO3ZhciBoPWcmJmEucmg/YS5yaDphLnNoLGs9aC5sb2FkKGYsbT0+e2RlbGV0ZSBkW2VdO3ZhciBwPWIubGF5ZXJJZDtwPVdWYShwKTtpZihtPW0mJm1bYy5CQl0mJm1bYy5CQl1bcF0pbS5Gaj1iLG0udGlsZXN8fChtLnRpbGVzPW5ldyBfLnhxKSxfLkRwKG0udGlsZXMsYyksXy5EcChiLmRhdGEsbSksXy5EcChjLmRhdGEsbSk7bT17Y29vcmQ6Yy5yaix6b29tOmMuem9vbSxoYXNEYXRhOiEhbX07YS5OaSYmYS5OaShtLGIpfSk7ayYmKGRbZV09KCk9PntoLmNhbmNlbChrKX0pfX07CmRXYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEucWhbYi5pZF07Zm9yKGxldCBkIGluIGMpZCYmY1dhKGEsYixkKTtkZWxldGUgYS5xaFtiLmlkXX07ZVdhPWZ1bmN0aW9uKGEsYil7YS50aWxlcy5mb3JFYWNoKGM9PntjLmlkIT1udWxsJiZiV2EoYSxiLGMpfSl9O2NXYT1mdW5jdGlvbihhLGIsYyl7aWYoYT1hLnFoW2IuaWRdKWlmKGI9YVtjXSliKCksZGVsZXRlIGFbY119O0VPPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnJoPWE7dGhpcy5xaD1iO3RoaXMud2g9RE8odGhpcywxKTt0aGlzLnNoPURPKHRoaXMsMyk7dGhpcy50aD1jfTtGTz1mdW5jdGlvbihhLGIpe3JldHVybiBhLnJoLmNoYXJDb2RlQXQoYiktNjN9O0RPPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEZPKGEsYik8PDZ8Rk8oYSxiKzEpfTtHTz1mdW5jdGlvbihhLGIpe3JldHVybiBGTyhhLGIpPDwxMnxGTyhhLGIrMSk8PDZ8Rk8oYSxiKzIpfTsKaldhPWZ1bmN0aW9uKGEsYixjPSExKXtyZXR1cm4gZnVuY3Rpb24oZCxlKXtmdW5jdGlvbiBmKGgpe3ZhciBrPXt9O2ZvcihsZXQgTz0wLEE9Xy4kbChoKTtPPEE7KytPKXt2YXIgbT1oW09dLHA9bS5sYXllcjtpZihwPT09IiIpY29udGludWU7cD1XVmEocCk7dmFyIHE9bS5pZDtrW3FdfHwoa1txXT17fSk7cT1rW3FdO2E6e2lmKCFtKXttPW51bGw7YnJlYWsgYX1sZXQgUT1tLmZlYXR1cmVzO3ZhciB1PW0uYmFzZTtkZWxldGUgbS5iYXNlO2xldCBjYT0oMTw8bS5pZC5sZW5ndGgpLzgzODg2MDg7dmFyIHg9bS5pZCx6PTAsQj0wLEs9MTA3Mzc0MTgyNDtmb3IobGV0IGlhPTAsR2E9eC5sZW5ndGg7aWE8R2E7KytpYSl7bGV0IExhPWZXYVt4LmNoYXJBdChpYSldO2lmKExhPT0yfHxMYT09Myl6Kz1LO2lmKExhPT0xfHxMYT09MylCKz1LO0s+Pj0xfXg9ejtpZighUXx8IVEubGVuZ3RoKXttPW51bGw7YnJlYWsgYX16PW0uZXBvY2g7ej10eXBlb2Ygej09PSJudW1iZXIiJiZtLmxheWVyPwp7W20ubGF5ZXJdOnp9Om51bGw7Zm9yKGxldCBpYSBvZiBRKWlmKEs9aWEuYSlLWzBdKz11WzBdLEtbMV0rPXVbMV0sS1swXS09eCxLWzFdLT1CLEtbMF0qPWNhLEtbMV0qPWNhO3U9W25ldyBnV2EoUSx6KV07bS5yYXN0ZXImJnUucHVzaChuZXcgRU8obS5yYXN0ZXIsUSx6KSk7bT1uZXcgaFdhKFEsdSl9cVtwXT1tP25ldyBpV2EobSk6bnVsbH1lKGspfXZhciBnPWFbKDAsXy5lcikoZCklYS5sZW5ndGhdO2J8fGM/KGQ9Yz8obmV3IF8uV3YoZytkKSkudG9TdHJpbmcoKTooMCxfLmRyKSgobmV3IF8uV3YoZykpLnNldFF1ZXJ5KGQsITApLnRvU3RyaW5nKCkpLF8uYURhKGQse05pOmYsYnA6Zix1RzohMH0pKTpfLkt5KF8uZXIsZyxfLmRyLGQsZixmKX19OwprV2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnO2EucWgmJmEuZWkuZm9yRWFjaChoPT57aWYoaC50aCYmYltoLldwKCldJiZoLmNsaWNrYWJsZSE9PSExKXtoPWguV3AoKTt2YXIgaz1iW2hdWzBdO2suYmImJihmPWgsZz1rKX19KTtnfHxhLmVpLmZvckVhY2goaD0+e2JbaC5XcCgpXSYmaC5jbGlja2FibGUhPT0hMSYmKGY9aC5XcCgpLGc9YltmXVswXSl9KTtpZighZnx8IWd8fCFnLmlkKXJldHVybiBudWxsO2E9bmV3IF8uYm8oMCwwKTtlPTE8PGU7Zy5hPyhhLng9KGMueCtnLmFbMF0pL2UsYS55PShjLnkrZy5hWzFdKS9lKTooYS54PShjLngrZC54KS9lLGEueT0oYy55K2QueSkvZSk7Yz1uZXcgXy5nbygwLDApO2Q9Zy5iYjtlPWcuaW87aWYoZCYmZC5sZW5ndGg+PTQmJmQubGVuZ3RoJTQ9PT0wKXtlPWU/Xy56byhkWzBdLGRbMV0sZFsyXSxkWzNdKTpudWxsO2xldCBoPW51bGw7Zm9yKGxldCBrPWQubGVuZ3RoLTQ7az49MDtrLT00KXtsZXQgbT1fLnpvKGRba10sZFtrKzFdLApkW2srMl0sZFtrKzNdKTttLmVxdWFscyhlKXx8KGg/aC5leHRlbmRCeUJvdW5kcyhtKTpoPW0pfWU/Yy5oZWlnaHQ9LWUuZ2V0U2l6ZSgpLmhlaWdodDpoJiYoYy53aWR0aD1oLm1pblgraC5nZXRTaXplKCkud2lkdGgvMixjLmhlaWdodD1oLm1pblkpfWVsc2UgZSYmKGMud2lkdGg9ZVswXXx8MCxjLmhlaWdodD1lWzFdfHwwKTtyZXR1cm57ZmVhdHVyZTpnLGxheWVySWQ6ZixhbmNob3JQb2ludDphLGFuY2hvck9mZnNldDpjfX07bFdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307YS5mb3JFYWNoKGQ9Pnt2YXIgZT1kLkZqO2UuY2xpY2thYmxlIT09ITEmJihlPWUuV3AoKSxkLmdldChiLngsYi55LGNbZV09W10pLGNbZV0ubGVuZ3RofHxkZWxldGUgY1tlXSl9KTtyZXR1cm4gY307bVdhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucWhbYl0mJmEucWhbYl1bMF19OwpvV2E9ZnVuY3Rpb24oYSxiKXtiLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC5Oei50aWxlc1swXS5pZDxlLk56LnRpbGVzWzBdLmlkPy0xOjF9KTtmb3IodmFyIGM9MjUvYlswXS5Oei5laS5sZW5ndGg7Yi5sZW5ndGg7KXtsZXQgZD1iLnNwbGljZSgwLGMpLGU9ZC5tYXAoZj0+Zi5Oei50aWxlc1swXSk7YS5zaC5sb2FkKG5ldyBhV2EoZFswXS5Oei5laSxlKSxuV2EuYmluZChudWxsLGQpKX19O25XYT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWFbY10uTmkoYil9OwpITz1mdW5jdGlvbihhLGIsYyxkPSExKXtyZXR1cm4gXy5sSChuZXcgXy55RWEobmV3IHBXYShuZXcgcVdhKGpXYShhLGMsZCksKCk9Pnt2YXIgZT17fTtiLmdldCgidGlsdCIpJiYhYi5PdSYmKGUuYko9Im8iLGUuZGVnPVN0cmluZyhiLmdldCgiaGVhZGluZyIpfHwwKSk7dmFyIGY9Yi5nZXQoInN0eWxlIik7ZiYmKGUuc3R5bGU9Zik7Yi5nZXQoIm1hcFR5cGVJZCIpPT09InJvYWRtYXAiJiYoZS5wUT0hMCk7aWYoZj1iLmdldCgiYXBpc3R5bGUiKSllLnZHPWY7Zj1iLmdldCgiYXV0aFVzZXIiKTtmIT1udWxsJiYoZS5DcT1mKTtpZihmPWIuZ2V0KCJtYXBJZFBhaW50T3B0aW9ucyIpKWUuWXI9ZjtyZXR1cm4gZX0pKSkpfTsKd1dhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXt2YXIgQj1kPzA6Zi5nZXQoInRpbHQiKSxLPWQ/MDphLmdldCgiaGVhZGluZyIpLE89YS5nZXQoImF1dGhVc2VyIik7cmV0dXJuIG5ldyByV2EoZyxrLGIuZ2V0QXJyYXkoKSxCLEssTyxxKX12YXIgZj1hLl9fZ20sZz1mLmJpfHwoZi5iaT1uZXcgXy54cSksaD1uZXcgc1dhKGQpO2R8fChoLmJpbmRUbygidGlsdCIsZiksaC5iaW5kVG8oImhlYWRpbmciLGEpKTtoLmJpbmRUbygiYXV0aFVzZXIiLGEpO3ZhciBrPV8uU3goKSxtPXdPKGssZi5xaCkscD13TyhrLGYucWgsITApOyRWYShhLCJvbmlvbiIsYixnLEhPKG0saCwhMSx4TyhtKSksSE8ocCxoLCExLHhPKHApKSk7dmFyIHE9dm9pZCAwLHU9ZSgpO2g9dS5xaCgpO3ZhciB4PV8ubW8oaCk7Xy52SShhLHgsIm92ZXJsYXlMYXllciIsMjAse0xPKEIpe2Z1bmN0aW9uIEsoKXt1PWUoKTtCLktQKHUpfWIuYWRkTGlzdGVuZXIoImluc2VydF9hdCIsSyk7Yi5hZGRMaXN0ZW5lcigicmVtb3ZlX2F0IiwKSyk7Yi5hZGRMaXN0ZW5lcigic2V0X2F0IixLKX0sTU8oKXtfLnduKHUsIm9uaW9udGlsZXNsb2FkZWQiKX19KTt2YXIgej1uZXcgdFdhKGIsISFfLkxwWzE1XSk7Zi5yaC50aGVuKEI9Pnt2YXIgSz1uZXcgdVdhKGIsZyx6LGYseCxCLlJoLlFrKTtmLnpoLnJlZ2lzdGVyKEspO3ZXYShLLGMsYSk7dmFyIE89WyJtb3VzZW92ZXIiLCJtb3VzZW91dCIsIm1vdXNlbW92ZSJdO2ZvcihsZXQgQSBvZiBPKV8ua24oSyxBLFE9Pnt2YXIgY2E9QSxpYT1tV2EoYyxRLmxheWVySWQpO2lmKGlhKXt2YXIgR2E9YS5nZXQoInByb2plY3Rpb24iKS5mcm9tUG9pbnRUb0xhdExuZyhRLmFuY2hvclBvaW50KSxMYT1udWxsO1EuZmVhdHVyZS5jJiYoTGE9SlNPTi5wYXJzZShRLmZlYXR1cmUuYykpO18ud24oaWEsY2EsUS5mZWF0dXJlLmlkLEdhLFEuYW5jaG9yT2Zmc2V0LExhLGlhLmxheWVySWQpfX0pO18ucXYoQi5IdixBPT57QSYmcSE9PUEuQ2kmJihxPUEuQ2ksdT1lKCkseC5zZXQodS5xaCgpKSl9KX0pfTsKXy5JTz1mdW5jdGlvbihhKXt2YXIgYj1hLl9fZ207aWYoIWIuU2gpe2xldCBjPWIuU2g9bmV3IF8uRW8sZD1uZXcgeFdhKGMpO2Iuc2gudGhlbihlPT57d1dhKGEsYyxkLGUpfSl9cmV0dXJuIGIuU2h9O18ueVdhPWZ1bmN0aW9uKGEsYil7Yj1fLklPKGIpO3ZhciBjPS0xO2IuZm9yRWFjaCgoZCxlKT0+e2Q9PT1hJiYoYz1lKX0pO3JldHVybiBjPj0wPyhiLnJlbW92ZUF0KGMpLCEwKTohMX07CnZXYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwO18ua24oYSwiY2xpY2siLGU9PntkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGY9bVdhKGIsZS5sYXllcklkKTtpZihmKXt2YXIgZz1jLmdldCgicHJvamVjdGlvbiIpLmZyb21Qb2ludFRvTGF0TG5nKGUuYW5jaG9yUG9pbnQpLGg9Zi5zaDtoP2gobmV3IF8ueldhKGYubGF5ZXJJZCxlLmZlYXR1cmUuaWQsZi5wYXJhbWV0ZXJzKSxfLnduLmJpbmQoXy5mcyxmLCJjbGljayIsZS5mZWF0dXJlLmlkLGcsZS5hbmNob3JPZmZzZXQpKTooaD1udWxsLGUuZmVhdHVyZS5jJiYoaD1KU09OLnBhcnNlKGUuZmVhdHVyZS5jKSksXy53bihmLCJjbGljayIsZS5mZWF0dXJlLmlkLGcsZS5hbmNob3JPZmZzZXQsbnVsbCxoLGYubGF5ZXJJZCkpfX0sMzAwKX0pO18ua24oYSwiZGJsY2xpY2siLCgpPT57d2luZG93LmNsZWFyVGltZW91dChkKTtkPXZvaWQgMH0pfTsKS089ZnVuY3Rpb24oYSl7Xy5iSC5jYWxsKHRoaXMsYSxKTyk7Xy50RyhhLEpPKXx8KF8uc0coYSxKTyx7ZW50aXR5OjAsdXA6MX0sWyJkaXYiLCwxLDAsWyIiLCIgIixbImRpdiIsLDEsMSxbIiAiLFsiZGl2IiwsMSwyLCJEdXRjaCBDaGVlc2UgQ2FrZXMiXSwiICIsWyJkaXYiLCwsNixbIiAiLFsiZGl2Iiw1NzYsMSwzLCIyOS80My00NSBFIENhbmFsIFJkIl0sIiAiXV0sIiAiXV0sIiIsIiAiLFsiZGl2IiwsMSw0LCJ0cmFuc2l0IGluZm8iXSwiICIsWyJkaXYiLCwsNyxbIiAiLFsiYSIsLDEsNSxbIiAiLFsic3BhbiIsLCwsIiBWaWV3IG9uIEdvb2dsZSBNYXBzICJdLCIgIl1dLCIgIl1dLCIgIl1dLFtdLEFXYSgpKSx6TyhhKSxfLnRHKGEsInQtRGpiUVFTaHk4YTAiKXx8KF8uc0coYSwidC1EamJRUVNoeThhMCIse2VudGl0eTowLHVwOjF9LFsiZGl2IiwsMSwwLFsiIiwiICIsWyJkaXYiLCwxLDEsInRyYW5zaXQgaW5mbyJdLCIgIixbImRpdiIsNTc2LDEsMixbIiAiLFsiZGl2IiwsCiw4LFsiICIsWyJpbWciLDgsMSwzXSwiICJdXSwiICIsWyJkaXYiLCwxLDQsWyIgIixbImRpdiIsLDEsNSwiQmx1ZSBNb3VudGFpbnMgTGluZSJdLCIgIixbImRpdiIsLCw5XSwiICIsWyJkaXYiLCwxLDYsWyIiLCIgYW5kICIsWyJzcGFuIiw1NzYsMSw3LCI1Il0sIiZuYnNwO21vcmUuICJdXSwiICJdXSwiICJdXSwiICJdXSxbXSxPVmEoKSksek8oYSksXy50RyhhLCJ0LVd4VHZlcElpdV93Iil8fChfLnNHKGEsInQtV3hUdmVwSWl1X3ciLHtjcTowLGxpbmU6MX0sWyJkaXYiLCwxLDAsWyIgIixbImRpdiIsNTc2LDEsMSxbIiAiLFsic3BhbiIsLDEsMiwiVDEiXSwiICJdXSwiICJdXSxbXSxQVmEoKSksXy50RyhhLCJ0LUxXZUp6a1h2QUEwIil8fF8uc0coYSwidC1MV2VKemtYdkFBMCIse2NvbXBvbmVudDowfSxbInNwYW4iLCwxLDAsW1siaW1nIiw4LDEsMV0sIiIsWyJzcGFuIiwsMSwyLFsiIixbImRpdiIsLDEsM10sIiIsWyJzcGFuIiw1NzYsMSw0LFtbInNwYW4iLDU3NiwxLDUsIlUxIl1dXSwKIiIsWyJzcGFuIiw1NzYsMSw2LCJOb3J0aGVybiJdXV0sIiJdXSxbXSxRVmEoKSkpKSl9O0JXYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5lbnRpdHl9O0NXYT1mdW5jdGlvbihhKXtyZXR1cm4gYS51cH07RFdhPWZ1bmN0aW9uKGEpe3JldHVybiBhLlJrfTsKQVdhPWZ1bmN0aW9uKCl7cmV0dXJuW1siJHQiLCJ0LVd0bGE3MzM5TkRJIiwiJGEiLFs3LCwsLCwicG9pLWluZm8td2luZG93Il0sIiRhIixbNywsLCwsImdtLXN0eWxlIl1dLFsiZGlzcGxheSIsZnVuY3Rpb24oYSl7cmV0dXJuIV8uVkYoYS5lbnRpdHksYj0+Yi5idygpKX1dLFsiJGEiLFs1LCwsLGZ1bmN0aW9uKGEpe3JldHVybiBhLnZrP18uUkYoImRpc3BsYXkiLF8uVEYoYS51cCwhMSxiPT5iLnFEKCkpPyJub25lIjoiIik6Xy5URihhLnVwLCExLGI9PmIucUQoKSk/Im5vbmUiOiIifSwiZGlzcGxheSIsLCwxXSwiJHVwIixbInQtdDB3ZWV5bTJ0Q3ciLHtlbnRpdHk6QldhLHVwOkNXYX1dXSxbImZvciIsW2Z1bmN0aW9uKGEsYil7cmV0dXJuIGEuREw9Yn0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5tUz1ifSxmdW5jdGlvbihhLGIpe3JldHVybiBhLm5TPWJ9LGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEuZW50aXR5LFtdLGI9Pl8uQ2coYixfLkhJLDMpKX1dLCJ2YXIiLGZ1bmN0aW9uKGEpe3JldHVybiBhLlJrPQphLkRMfSwiJGRjIixbRFdhLCExXSwiJGEiLFs3LCwsLCwiYWRkcmVzcy1saW5lIl0sIiRhIixbNywsLCwsImZ1bGwtd2lkdGgiXSwiJGMiLFssLERXYV1dLFsiZGlzcGxheSIsZnVuY3Rpb24oYSl7cmV0dXJuIF8uVkYoYS5lbnRpdHksYj0+Yi5idygpKX0sIiR1cCIsWyJ0LURqYlFRU2h5OGEwIix7ZW50aXR5OkJXYSx1cDpDV2F9XV0sWyIkYSIsWzgsMSwsLGZ1bmN0aW9uKGEpe3JldHVybiBfLlRGKGEudXAsIiIsYj0+Yi5ZUygpKX0sImhyZWYiLCwsMV0sIiRhIixbMCwsLCwiX2JsYW5rIiwidGFyZ2V0IiwsMV1dLFsiJGEiLFs3LCwsLCwiYWRkcmVzcyIsLDFdXSxbIiRhIixbNywsLCwsInZpZXctbGluayIsLDFdXV19O0VXYT1mdW5jdGlvbihhKXtyZXR1cm4gUmVnRXhwKCJeMHhbYS1mQS1GMC05XXsxLDE2fToweFthLWZBLUYwLTldezEsMTZ9JCIpLnRlc3QoYSl9OwpNV2E9ZnVuY3Rpb24oYSl7dmFyIGI7Xy5rbihhLnJoLCJjbGljayIsKGMsZCk9PntiPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57Xy5JRSgxNjE1MzApO0xPKGEubWFwKXx8RldhKGEpO3ZhciBlPUdXYShhLGMpO2lmKGUmJmUueXUpe3ZhciBmPWUueXUuaWQ7aWYoZilpZihMTyhhLm1hcCkpSFdhKGEsInNtbm9wbGFjZWNsaWNrIixlLnl1LGUuUWosZik7ZWxzZXtfLklFKEVXYShmKT8zODE1MDA6MzgxNTAxKTtpZihFV2EoZikpaWYoZj1fLlBEYShmKSl7dmFyIGc9bmV3IE1PO3ZhciBoPV8uZGUoZi5yaCk7Zz1fLlFmKGcsMSxoPT1udWxsP2g6Xy52RShoKSk7Zj1fLmRlKGYucWgpO2Y9Xy5RZihnLDIsZj09bnVsbD9mOl8udkUoZikpO2c9bmV3IElXYTtmPV8uRWcoZyxNTywxLGYpO2Y9Xy5VYyhKV2EoZiksNCl9ZWxzZSBmPW51bGw7ZWxzZSBmPW51bGw7aWYoZil7aWYoZz1mLGg9YS5tYXAuZ2V0KCJwcm9qZWN0aW9uIiksYS53aD1oJiZoLmZyb21Qb2ludFRvTGF0TG5nKGUuUWopLGEud2gmJgpkLmRvbUV2ZW50KXt2YXIgaz1uZXcgS1dhKGEud2gsZC5kb21FdmVudCxnKTtfLnduKGEubWFwLCJjbGljayIsayl9fWVsc2Ugaz12b2lkIDA7ayYmay5kb21FdmVudCYmXy5xdShrLmRvbUV2ZW50KXx8KGEuYW5jaG9yT2Zmc2V0PWUuYW5jaG9yT2Zmc2V0fHxfLnFvLExXYShhLGYpKX19fSwzMDApfSk7Xy5rbihhLnJoLCJkYmxjbGljayIsKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KGIpO2I9dm9pZCAwfSl9O05PPWZ1bmN0aW9uKGEsYixjKXthLnJoJiZfLmtuKGEucmgsYixkPT57KGQ9R1dhKGEsZCkpJiZkLnl1JiZMTyhhLm1hcCkmJkhXYShhLGMsZC55dSxkLlFqLGQueXUuaWR8fCIiKX0pfTsKT1dhPWZ1bmN0aW9uKGEpe1siZGRzZmVhdHVyZWxheWVyc2NsaWNrIiwiZGRzZmVhdHVyZWxheWVyc21vdXNlbW92ZSJdLmZvckVhY2goYj0+e18ua24oYS5yaCxiLChjLGQsZSk9Pnt2YXIgZj1uZXcgTWFwO2ZvcihsZXQgaCBvZiBlKXtlPShlPWEubWFwLl9fZ20ucWguWXYoKSk/ZS50aCgpOltdO2U9Xy5PRGEoaCxlLGEubWFwKTtpZighZSljb250aW51ZTt2YXIgZz1hLm1hcDtsZXQgaz1nLl9fZ20sbT1lLmZlYXR1cmVUeXBlPT09IkRBVEFTRVQiP2UuZGF0YXNldElkOnZvaWQgMDsoZz1fLm5wKGcse2ZlYXR1cmVUeXBlOmUuZmVhdHVyZVR5cGUsZGF0YXNldElkOm19KS5pc0F2YWlsYWJsZT9lLmZlYXR1cmVUeXBlPT09IkRBVEFTRVQiP20/ay55aC5nZXQobSl8fG51bGw6bnVsbDprLnRoLmdldChlLmZlYXR1cmVUeXBlKXx8bnVsbDpudWxsKSYmKGYuaGFzKGcpP2YuZ2V0KGcpPy5wdXNoKGUpOmYuc2V0KGcsW2VdKSl9aWYoZi5zaXplPjAmJmQubGF0TG5nJiZkLmRvbUV2ZW50KWZvcihsZXQgW2gsCmtdb2YgZilfLnduKGgsYyxuZXcgTldhKGQubGF0TG5nLGQuZG9tRXZlbnQsaykpfSl9KX07UFdhPWZ1bmN0aW9uKGEpe2EuaW5mb1dpbmRvdyYmYS5pbmZvV2luZG93LnNldCgibWFwIixudWxsKTthLnFoPW51bGx9O0ZXYT1mdW5jdGlvbihhKXthLmluZm9XaW5kb3d8fChfLmxEYShhLm1hcC5nZXREaXYoKSksYS5pbmZvV2luZG93PW5ldyBfLnlzKHtmdDohMCxsb2dBc0ludGVybmFsOiEwLGhlYWRlckRpc2FibGVkOiEwfSksYS5pbmZvV2luZG93LmFkZExpc3RlbmVyKCJtYXBfY2hhbmdlZCIsKCk9PnthLmluZm9XaW5kb3cuZ2V0KCJtYXAiKXx8KGEucWg9bnVsbCl9KSl9O0dXYT1mdW5jdGlvbihhLGIpe3ZhciBjPSFfLkxwWzM1XTtyZXR1cm4gYS56aD9hLnpoKGIsYyk6Yn07CkhXYT1mdW5jdGlvbihhLGIsYyxkLGUpe2Q9YS5tYXAuZ2V0KCJwcm9qZWN0aW9uIikuZnJvbVBvaW50VG9MYXRMbmcoZCk7Xy53bihhLm1hcCxiLHtmZWF0dXJlSWQ6ZSxsYXRMbmc6ZCxxdWVyeVN0cmluZzpjLnF1ZXJ5LGFsaWFzSWQ6Yy5hbGlhc0lkLHRyaXBJbmRleDpjLnRyaXBJbmRleCxhZFJlZjpjLmFkUmVmLGZlYXR1cmVJZEZvcm1hdDpjLmZlYXR1cmVJZEZvcm1hdCxpbmNpZGVudE1ldGFkYXRhOmMuaW5jaWRlbnRNZXRhZGF0YSxob3RlbE1ldGFkYXRhOmMuaG90ZWxNZXRhZGF0YSxsb2dnZWRGZWF0dXJlOmMuRUl9KX07CkxXYT1hc3luYyBmdW5jdGlvbihhLGIpe2lmKGImJmEuaW5mb1dpbmRvdyYmYS5xaCE9PWIpe3ZhciBjPWEud2gsZD1hLmFuY2hvck9mZnNldDthLnFoPWI7aWYoYXdhaXQgUVdhKGEsYikpe2lmKGEuaW5mb1dpbmRvdyl7dmFyIGU9e2Rpc2FibGVBdXRvUGFuOiEwfTtkJiYoZS5waXhlbE9mZnNldD1kKTthLmluZm9XaW5kb3cuc2V0T3B0aW9ucyhlKTthLmluZm9XaW5kb3cuc2V0UG9zaXRpb24oYyk7YS5pbmZvV2luZG93LnNldE9wdGlvbnMoe2FyaWFMYWJlbDoiUGxhY2UgZGV0YWlscyJ9KTthLmluZm9XaW5kb3cuZ2V0KCJtYXAiKXx8YS5pbmZvV2luZG93Lm9wZW4oe21hcDphLm1hcH0pfWEuc2gucXVlcnlTZWxlY3RvcigiZ21wLXBsYWNlLWRldGFpbHMtcGxhY2UtcmVxdWVzdCIpLnBsYWNlPWI7YXdhaXQgXy5vemEoYS5zaCk7YS5xaD09PWImJmEuaW5mb1dpbmRvdyYmKGEuaW5mb1dpbmRvdy5zZXRPcHRpb25zKHtkaXNhYmxlQXV0b1BhbjohMX0pLGEuaW5mb1dpbmRvdy5ub3RpZnkoInBvc2l0aW9uIiksCmEuaW5mb1dpbmRvdy5mb2N1cygpKX19fTtTV2E9YXN5bmMgZnVuY3Rpb24oYSl7YS50aHx8KGEudGg9YXdhaXQgUldhKCkpO3ZhciBiPWEudGguUUcsYz1hLnRoLlBsYWNlRGV0YWlsc09yaWVudGF0aW9uLGQ9Xy5KbC5yaCgpO2E9YS5tYXAuZ2V0SW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCk/QXJyYXkuZnJvbShhLm1hcC5nZXRJbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoKSk6dm9pZCAwO2I9Yih7b3JpZW50YXRpb246Yy5IT1JJWk9OVEFMLGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczphfSx7bGFuZ3VhZ2U6ZC5yaCgpLHJlZ2lvbjpkLnRoKCksc2hvd3NBdHRyaWJ1dGlvbjohMSxzaG93c1RyYW5zaXQ6ITB9KTtiLnN0eWxlLmJvcmRlcj0ibm9uZSI7Yi5zdHlsZS5ib3JkZXJSYWRpdXM9IjAiO2Iuc3R5bGUuY29sb3JTY2hlbWU9ImxpZ2h0IjtiLnN0eWxlLm1heFdpZHRoPSIyODBweCI7Yi5zdHlsZS5taW5XaWR0aD0iMTQwcHgiO3JldHVybiBifTsKVFdhPWZ1bmN0aW9uKGEpe2EueGh8fChhLnhoPVNXYShhKS5jYXRjaChiPT57YS54aD1udWxsO3Rocm93IGI7fSkpO3JldHVybiBhLnhofTtRV2E9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLnNoKXJldHVybiEwO3ZhciBjPWF3YWl0IFRXYShhKTtpZihhLnFoIT09Ynx8IWEuaW5mb1dpbmRvdylyZXR1cm4hMTthLnNoPWM7YS5pbmZvV2luZG93LnNldENvbnRlbnQoYyk7cmV0dXJuITB9O1JXYT1hc3luYyBmdW5jdGlvbigpe3JldHVybiBfLkhsKCJwbGFjZXMiKX07TE89ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTHBbMThdJiYoYS5nZXQoImRpc2FibGVTSVciKXx8YS5nZXQoImRpc2FibGVTSVdBbmRQRFIiKSl9O1VXYT1mdW5jdGlvbihhKXt2YXIgYj0iIithLmdldFR5cGUoKSxjPV8uWWYoYSxfLlF3LDIpO2ZvcihsZXQgZD0wO2Q8YzsrK2QpYis9InwiK18ud3UoYSwyLF8uUXcsZCkuZ2V0S2V5KCkrIjoiK18ud3UoYSwyLF8uUXcsZCkuZ2V0VmFsdWUoKTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGIpfTsKVldhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5hbmNob3JQb2ludCxkPWEuZmVhdHVyZSxlPSIiLGY9ITE7aWYoZC5jKXt2YXIgZz1KU09OLnBhcnNlKGQuYyk7ZT1nWzMxNTgxNjA2XSYmZ1szMTU4MTYwNl0uZW50aXR5JiZnWzMxNTgxNjA2XS5lbnRpdHkucXVlcnl8fGdbMV0mJmdbMV0udGl0bGV8fCIiO3ZhciBoPWRvY3VtZW50O2U9ZS5pbmRleE9mKCImIikhPS0xP18uZnphKGUsaCk6ZTt2YXIgaz1nWzE1XSYmZ1sxNV0uYWxpYXNfaWQ7dmFyIG09Z1sxNl0mJmdbMTZdLnRyaXBfaW5kZXg7aD1nWzI5OTc0NDU2XSYmZ1syOTk3NDQ1Nl0uYWRfcmVmO3ZhciBwPWdbMzE1ODE2MDZdJiZnWzMxNTgxNjA2XS5lbnRpdHkmJmdbMzE1ODE2MDZdLmVudGl0eS5mZWF0dXJlX2lkX2Zvcm1hdDt2YXIgcT1nWzMxNTgxNjA2XSYmZ1szMTU4MTYwNl0uZW50aXR5O3ZhciB1PWdbNDM1Mzg1MDddO3ZhciB4PWdbMV0mJmdbMV0uaG90ZWxfZGF0YTtmPWdbMV0mJmdbMV0uaXNfdHJhbnNpdF9zdGF0aW9ufHwKITE7dmFyIHo9Z1sxN10mJmdbMTddLm9tbmltYXBzX2RhdGE7dmFyIEI9Z1syODkyNzEyNV0mJmdbMjg5MjcxMjVdLmRpcmVjdGlvbnNfcmVxdWVzdDtnPWdbNDAxNTQ0MDhdJiZnWzQwMTU0NDA4XS5mZWF0dXJlfXJldHVybntRajpjLHl1OmQuaWQmJmQuaWQuaW5kZXhPZigiZHRpLSIpIT09LTEmJiFiP251bGw6e2lkOmQuaWQscXVlcnk6ZSxhbGlhc0lkOmssYW5jaG9yOmQuYSxhZFJlZjpoLGVudGl0eTpxLHRyaXBJbmRleDptLGZlYXR1cmVJZEZvcm1hdDpwLGluY2lkZW50TWV0YWRhdGE6dSxob3RlbE1ldGFkYXRhOngsaXNUcmFuc2l0U3RhdGlvbjpmLENUOnoscE06QixFSTpnfSxhbmNob3JPZmZzZXQ6YS5hbmNob3JPZmZzZXR8fG51bGx9fTtfLlF5LnByb3RvdHlwZS5XQT1fLmthKDM2LGZ1bmN0aW9uKCl7cmV0dXJuIF8ucHUodGhpcywxKX0pO01PPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Cl8uT089Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0S2V5KCl7cmV0dXJuIF8uSCh0aGlzLDEpfWdldFZhbHVlKCl7cmV0dXJuIF8uSCh0aGlzLDIpfXNldFZhbHVlKGEpe3JldHVybiBfLmloKHRoaXMsMixhKX19O18uV1dhPVswLF8uVSwtMV07SVdhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMTAwKX1KbCgpe3JldHVybiBfLkFnKHRoaXMsTU8sMSl9fTtfLlRyWzEzMjU4MjYxXT1fLlF6O18ucWIoQU8sXy5lSCk7QU8ucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oYSxiKXtfLmNIKHRoaXMsMCxhKTtfLmNIKHRoaXMsMSxiKX07dmFyIHlPPSJ0LXQwd2VleW0ydEN3Ijt2YXIgUlZhPVsidCIsInUiLCJ2IiwidyJdLENPPVtdO3ZhciBWVmE9L1wqLi9nLFVWYT0vW14qXShcKlwqKSpcfC87dmFyIGFXYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuZWk9YTt0aGlzLnRpbGVzPWJ9dG9TdHJpbmcoKXt2YXIgYT10aGlzLnRpbGVzLm1hcChiPT5iLnBvdj9gJHtiLmlkfSwke2IucG92LnRvU3RyaW5nKCl9YDpiLmlkKS5qb2luKCI7Iik7cmV0dXJuIHRoaXMuZWkuam9pbigiOyIpKyJ8IithfX07dmFyIFpWYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuZWk9YTt0aGlzLnRpbGVzPWI7dGhpcy5zaD1jO3RoaXMucmg9ZDt0aGlzLnFoPXt9O3RoaXMuTmk9ZXx8bnVsbDtfLnNuKGIsImluc2VydCIsdGhpcyx0aGlzLndoKTtfLnNuKGIsInJlbW92ZSIsdGhpcyx0aGlzLnpoKTtfLnNuKGEsImluc2VydF9hdCIsdGhpcyx0aGlzLnRoKTtfLnNuKGEsInJlbW92ZV9hdCIsdGhpcyx0aGlzLnhoKTtfLnNuKGEsInNldF9hdCIsdGhpcyx0aGlzLnloKX13aChhKXthLkJCPVNWYShhLnJqLGEuem9vbSk7YS5CQiE9bnVsbCYmKGEuaWQ9YS5CQisoYS5OUHx8IiIpLHRoaXMuZWkuZm9yRWFjaChiPT57YldhKHRoaXMsYixhKX0pKX16aChhKXtkV2EodGhpcyxhKTthLmRhdGEuZm9yRWFjaChiPT57WVZhKGIuRmosYSxiKX0pfXRoKGEpe2VXYSh0aGlzLHRoaXMuZWkuZ2V0QXQoYSkpfXhoKGEsYil7dGhpcy54bShiKX15aChhLGIpe3RoaXMueG0oYik7ZVdhKHRoaXMsdGhpcy5laS5nZXRBdChhKSl9eG0oYSl7dGhpcy50aWxlcy5mb3JFYWNoKGI9Pgp7Y1dhKHRoaXMsYixhLnRvU3RyaW5nKCkpfSk7YS5kYXRhLmZvckVhY2goYj0+e2IudGlsZXMmJmIudGlsZXMuZm9yRWFjaChjPT57WVZhKGEsYyxiKX0pfSl9fTt2YXIgc1dhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhPSExKXtzdXBlcigpO3RoaXMuT3U9YX19O18ueldhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmxheWVySWQ9YTt0aGlzLmZlYXR1cmVJZD1iO3RoaXMucGFyYW1ldGVycz1jPz97fX10b1N0cmluZygpe3JldHVybmAke3RoaXMubGF5ZXJJZH18JHt0aGlzLmZlYXR1cmVJZH1gfX07dmFyIGlXYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWE7dGhpcy50aWxlcz10aGlzLkZqPW51bGx9Z2V0KGEsYixjKXtyZXR1cm4gdGhpcy5xaC5nZXQoYSxiLGMpfWJ5KCl7cmV0dXJuIHRoaXMucWguYnkoKX1Lbygpe3JldHVybiB0aGlzLnFoLktvKCl9fTt2YXIgZ1dhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5xaD1hO3RoaXMuc2g9bmV3IFhXYTt0aGlzLnRoPW5ldyBZV2E7dGhpcy5yaD1ifWJ5KCl7cmV0dXJuIHRoaXMucWh9Z2V0KGEsYixjKXtjPWN8fFtdO3ZhciBkPXRoaXMucWgsZT10aGlzLnNoLGY9dGhpcy50aDtmLng9YTtmLnk9Yjtmb3IobGV0IGc9MCxoPWQubGVuZ3RoO2c8aDsrK2cpe2E9ZFtnXTtiPWEuYTtsZXQgaz1hLmJiO2lmKGImJmspZm9yKGxldCBtPTAscD1rLmxlbmd0aC80O208cDsrK20pe2xldCBxPW0qNDtlLm1pblg9YlswXStrW3FdO2UubWluWT1iWzFdK2tbcSsxXTtlLm1heFg9YlswXStrW3ErMl0rMTtlLm1heFk9YlsxXStrW3ErM10rMTtpZihlLmNvbnRhaW5zUG9pbnQoZikpe2MucHVzaChhKTticmVha319fXJldHVybiBjfUtvKCl7cmV0dXJuIHRoaXMucmh9fSxZV2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnk9dGhpcy54PTB9fSxYV2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1pblk9CnRoaXMubWluWD1JbmZpbml0eTt0aGlzLm1heFk9dGhpcy5tYXhYPS1JbmZpbml0eX1jb250YWluc1BvaW50KGEpe3JldHVybiB0aGlzLm1pblg8PWEueCYmYS54PHRoaXMubWF4WCYmdGhpcy5taW5ZPD1hLnkmJmEueTx0aGlzLm1heFl9fTt2YXIgaFdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5yaD1hO3RoaXMucWg9Yn1ieSgpe3JldHVybiB0aGlzLnJofWdldChhLGIsYyl7Yz1jfHxbXTtmb3IobGV0IGQ9MCxlPXRoaXMucWgubGVuZ3RoO2Q8ZTtkKyspdGhpcy5xaFtkXS5nZXQoYSxiLGMpO3JldHVybiBjfUtvKCl7dmFyIGE9bnVsbDtmb3IobGV0IGIgb2YgdGhpcy5xaCl7bGV0IGM9Yi5LbygpO2lmKGEpYyYmXy5saihhLGMpO2Vsc2UgaWYoYyl7YT17fTtmb3IobGV0IGQgaW4gYylhW2RdPWNbZF19fXJldHVybiBhfX07Xy5hYT1FTy5wcm90b3R5cGU7Xy5hYS5Uaz0wO18uYWEubXU9MDtfLmFhLkxxPXt9O18uYWEuYnk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xaH07Xy5hYS5nZXQ9ZnVuY3Rpb24oYSxiLGMpe2M9Y3x8W107YT1NYXRoLnJvdW5kKGEpO2I9TWF0aC5yb3VuZChiKTtpZihhPDB8fGE+PXRoaXMud2h8fGI8MHx8Yj49dGhpcy5zaClyZXR1cm4gYzt2YXIgZD1iPT10aGlzLnNoLTE/dGhpcy5yaC5sZW5ndGg6R08odGhpcyw1KyhiKzEpKjMpO3RoaXMuVGs9R08odGhpcyw1K2IqMyk7dGhpcy5tdT0wO2Zvcih0aGlzWzhdKCk7dGhpcy5tdTw9YSYmdGhpcy5UazxkOyl0aGlzW0ZPKHRoaXMsdGhpcy5UaysrKV0oKTtmb3IobGV0IGUgaW4gdGhpcy5McSljLnB1c2godGhpcy5xaFt0aGlzLkxxW2VdXSk7cmV0dXJuIGN9O18uYWEuS289ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aH07RU8ucHJvdG90eXBlWzFdPWZ1bmN0aW9uKCl7Kyt0aGlzLm11fTsKRU8ucHJvdG90eXBlWzJdPWZ1bmN0aW9uKCl7dGhpcy5tdSs9Rk8odGhpcyx0aGlzLlRrKTsrK3RoaXMuVGt9O0VPLnByb3RvdHlwZVszXT1mdW5jdGlvbigpe3RoaXMubXUrPURPKHRoaXMsdGhpcy5Uayk7dGhpcy5Uays9Mn07RU8ucHJvdG90eXBlWzVdPWZ1bmN0aW9uKCl7dmFyIGE9Rk8odGhpcyx0aGlzLlRrKTt0aGlzLkxxW2FdPWE7Kyt0aGlzLlRrfTtFTy5wcm90b3R5cGVbNl09ZnVuY3Rpb24oKXt2YXIgYT1ETyh0aGlzLHRoaXMuVGspO3RoaXMuTHFbYV09YTt0aGlzLlRrKz0yfTtFTy5wcm90b3R5cGVbN109ZnVuY3Rpb24oKXt2YXIgYT1HTyh0aGlzLHRoaXMuVGspO3RoaXMuTHFbYV09YTt0aGlzLlRrKz0zfTtFTy5wcm90b3R5cGVbOF09ZnVuY3Rpb24oKXtmb3IobGV0IGEgaW4gdGhpcy5McSlkZWxldGUgdGhpcy5McVthXX07RU8ucHJvdG90eXBlWzldPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuTHFbRk8odGhpcyx0aGlzLlRrKV07Kyt0aGlzLlRrfTsKRU8ucHJvdG90eXBlWzEwXT1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLkxxW0RPKHRoaXMsdGhpcy5UayldO3RoaXMuVGsrPTJ9O0VPLnByb3RvdHlwZVsxMV09ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5McVtHTyh0aGlzLHRoaXMuVGspXTt0aGlzLlRrKz0zfTt2YXIgZldhPXt0OjAsdToxLHY6Mix3OjN9O3ZhciB0V2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmVpPWE7dGhpcy5xaD1ifX07dmFyIFpXYT1bbmV3IF8uYm8oLTUsMCksbmV3IF8uYm8oMCwtNSksbmV3IF8uYm8oNSwwKSxuZXcgXy5ibygwLDUpLG5ldyBfLmJvKC01LC01KSxuZXcgXy5ibygtNSw1KSxuZXcgXy5ibyg1LC01KSxuZXcgXy5ibyg1LDUpLG5ldyBfLmJvKC0xMCwwKSxuZXcgXy5ibygwLC0xMCksbmV3IF8uYm8oMTAsMCksbmV3IF8uYm8oMCwxMCldLHVXYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUsZil7dGhpcy5laT1hO3RoaXMud2g9Yzt0aGlzLnNoPWQ7dGhpcy56SW5kZXg9MjA7dGhpcy5xaD10aGlzLnJoPW51bGw7dGhpcy50aD1uZXcgXy5lSihiLmVsZW1lbnRzLGYsZSl9a3YoYSl7cmV0dXJuIGEhPT0iZHJhZ3N0YXJ0IiYmYSE9PSJkcmFnIiYmYSE9PSJkcmFnZW5kIn1xdihhLGIpe3JldHVybihiP1pXYTpbbmV3IF8uYm8oMCwwKV0pLnNvbWUoZnVuY3Rpb24oYyl7Yz1fLnVJKHRoaXMudGgsYS5RaixjKTtpZighYylyZXR1cm4hMTt2YXIgZD1jLkFwLnVpLGU9bmV3IF8uYm8oYy5Tdi5raSoKMjU2LGMuU3YubGkqMjU2KSxmPW5ldyBfLmJvKGMuQXAua2kqMjU2LGMuQXAubGkqMjU2KSxnPWxXYShjLnltLmRhdGEsZSksaD0hMTt0aGlzLmVpLmZvckVhY2goaz0+e2dbay5XcCgpXSYmKGg9ITApfSk7aWYoIWgpcmV0dXJuITE7Yz1rV2EodGhpcy53aCxnLGYsZSxkKTtpZighYylyZXR1cm4hMTt0aGlzLnJoPWM7cmV0dXJuITB9LHRoaXMpP3RoaXMucmguZmVhdHVyZTpudWxsfWhhbmRsZUV2ZW50KGEsYil7aWYoYT09PSJjbGljayJ8fGE9PT0iZGJsY2xpY2sifHxhPT09InJpZ2h0Y2xpY2sifHxhPT09Im1vdXNlb3ZlciJ8fHRoaXMucWgmJmE9PT0ibW91c2Vtb3ZlIil7dmFyIGM9dGhpcy5yaDtpZihhPT09Im1vdXNlb3ZlciJ8fGE9PT0ibW91c2Vtb3ZlIil0aGlzLnNoLnNldCgiY3Vyc29yIiwicG9pbnRlciIpLHRoaXMucWg9Y31lbHNlIGlmKGE9PT0ibW91c2VvdXQiKWM9dGhpcy5xaCx0aGlzLnNoLnNldCgiY3Vyc29yIiwiIiksdGhpcy5xaD1udWxsO2Vsc2UgcmV0dXJuOwphPT09ImNsaWNrIj9fLnduKHRoaXMsYSxjLGIpOl8ud24odGhpcyxhLGMpfX07dmFyIHhXYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmVpPWE7dGhpcy5xaD17fTtfLmtuKGEsImluc2VydF9hdCIsdGhpcy5pbnNlcnRBdC5iaW5kKHRoaXMpKTtfLmtuKGEsInJlbW92ZV9hdCIsdGhpcy5yZW1vdmVBdC5iaW5kKHRoaXMpKTtfLmtuKGEsInNldF9hdCIsdGhpcy5zZXRBdC5iaW5kKHRoaXMpKX1pbnNlcnRBdChhKXthPXRoaXMuZWkuZ2V0QXQoYSk7dmFyIGI9YS5XcCgpO3RoaXMucWhbYl18fCh0aGlzLnFoW2JdPVtdKTt0aGlzLnFoW2JdLnB1c2goYSl9cmVtb3ZlQXQoYSxiKXthPWIuV3AoKTt0aGlzLnFoW2FdJiZfLm9tKHRoaXMucWhbYV0sYil9c2V0QXQoYSxiKXt0aGlzLnJlbW92ZUF0KGEsYik7dGhpcy5pbnNlcnRBdChhKX19O3ZhciByV2E9Y2xhc3MgZXh0ZW5kcyBfLkFxe2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmLGc9Xy5tQil7c3VwZXIoKTt0aGlzLm1heFpvb209MjU7dmFyIGg9RVZhKGMsbT0+ISghbXx8IW0uc2VjdXJlKSksaz1uZXcgXy5qQjtfLkx4KGssYi5xaC5yaCgpLGIucWgudGgoKSk7Xy5yYyhjLG09PnttJiZrLk5qKG0pfSk7dGhpcy5yaD1uZXcgJFdhKGEsbmV3IF8ubkIoXy5UeChiLCEhaCksbnVsbCwhMSxfLlV4LG51bGwse1NvOmsucmVxdWVzdCxDcTpmfSxkP2V8fDA6dm9pZCAwKSxnKX1xaCgpe3JldHVybiB0aGlzLnJofX0sJFdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnRpbGVzPWE7dGhpcy50QT1iO3RoaXMuQ2k9Yzt0aGlzLkluPTF9a20oYSxiKXt2YXIgYz10aGlzLnRpbGVzLGQ9e3JqOm5ldyBfLmJvKGEua2ksYS5saSksem9vbTphLnVpLGRhdGE6bmV3IF8ueHEsTlA6Xy5oYih0aGlzKX07YT10aGlzLnRBLmttKGEse3prOigpPT57Yy5yZW1vdmUoZCk7Yj8uems/LigpfX0pOwpkLmRpdj1hLm5rKCk7Xy5EcChjLGQpO3JldHVybiBhfX07dmFyIHFXYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMucmg9YTt0aGlzLnFoPWJ9Y2FuY2VsKCl7fWxvYWQoYSxiKXt2YXIgYz1uZXcgXy5qQjtfLkx4KGMsXy5KbC5yaCgpLnJoKCksXy5KbC5yaCgpLnRoKCkpO18uVW1hKGMsMyk7Zm9yKHZhciBkIG9mIGEuZWkpaWYoZC5tYXBUeXBlSWQmJmQucWgpe3ZhciBlPWQubWFwVHlwZUlkLGY9ZC5xaDt2YXIgZz1fLmt2KCk7Zz1fLktnKGcsMTYpO18uV21hKGMsZSxmLGcpfWZvcih2YXIgaCBvZiBhLmVpKWgubWFwVHlwZUlkJiZfLkF6YShoLm1hcFR5cGVJZCl8fGMuTmooaCk7ZT10aGlzLnFoKCk7Zj1fLkpFKGUuZGVnKTtkPWUuYko9PT0ibyI/Xy5YeChmKTpfLlh4KCk7Zm9yKGxldCBrIG9mIGEudGlsZXMpKGg9ZCh7a2k6ay5yai54LGxpOmsucmoueSx1aTprLnpvb219KSkmJl8uVm1hKGMsaCk7aWYoZS5wUSlmb3IobGV0IGsgb2YgYS5laSlrLnJvYWRtYXBTdHlsZXImJl8uUHgoYyxrLnJvYWRtYXBTdHlsZXIpO2ZvcihsZXQgayBvZiBlLnN0eWxlfHwKW10pXy5QeChjLGspO2UudkcmJl8uc3goZS52RyxfLkN4KF8uSngoYy5yZXF1ZXN0KSkpO2UuYko9PT0ibyImJihfLmJoKGMucmVxdWVzdCwxMyxmKSxfLiRnKGMucmVxdWVzdCwxNCwhMCkpO2UuWXImJl8uWm1hKGMsZS5Zcik7YT1gcGI9JHtfLlRtYShfLlF2KGMucmVxdWVzdCwoMCxfLmlCKSgpKSl9YDtlLkNxIT1udWxsJiYoYSs9YCZhdXRodXNlcj0ke2UuQ3F9YCk7dGhpcy5yaChhLGIpO3JldHVybiIifX07dmFyIHBXYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnNoPWE7dGhpcy5xaD1udWxsO3RoaXMucmg9MH1sb2FkKGEsYil7dGhpcy5xaHx8KHRoaXMucWg9e30sXy5NRSh0aGlzLnRoLmJpbmQodGhpcykpKTt2YXIgYz1hLnRpbGVzWzBdO2M9YCR7Yy56b29tfSwke2MucG92fXwke2EuZWkuam9pbigiOyIpfWA7dGhpcy5xaFtjXXx8KHRoaXMucWhbY109W10pO3RoaXMucWhbY10ucHVzaCh7Tno6YSxOaTpifSk7cmV0dXJuYCR7Kyt0aGlzLnJofWB9Y2FuY2VsKCl7fXRoKCl7dmFyIGE9dGhpcy5xaDtpZihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYSkpe2xldCBjPWFbYl07YyYmb1dhKHRoaXMsYyl9dGhpcy5xaD1udWxsfX19O3ZhciBOV2E9Y2xhc3MgZXh0ZW5kcyBfLmJCe2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhLGIpO3RoaXMuZmVhdHVyZXM9Y319O3ZhciBLV2E9Y2xhc3MgZXh0ZW5kcyBfLmJCe2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhLGIpO3RoaXMucGxhY2VJZD1jfHxudWxsfX07Xy5xYihLTyxfLmVIKTtLTy5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihhLGIpe18uY0godGhpcywwLGEpO18uY0godGhpcywxLGIpfTt2YXIgSk89InQtV3RsYTczMzlOREkiO3ZhciBKV2E9Xy5BRShfLlRFYSk7dmFyIGFYYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5tYXA9YTt0aGlzLnJoPWI7dGhpcy56aD1jO3RoaXMucWg9dGhpcy54aD10aGlzLnNoPXRoaXMudGg9dGhpcy53aD10aGlzLmFuY2hvck9mZnNldD10aGlzLmluZm9XaW5kb3c9bnVsbDt0aGlzLmxheW91dD1uZXcgXy5WSShLTyx7Q3Q6Xy5EQi5JaigpfSk7bmV3IF8uVkkoQU8se0N0Ol8uREIuSWooKX0pO01XYSh0aGlzKTtOTyh0aGlzLCJyaWdodGNsaWNrIiwic21ub3BsYWNlcmlnaHRjbGljayIpO05PKHRoaXMsIm1vdXNlb3ZlciIsInNtbm9wbGFjZW1vdXNlb3ZlciIpO05PKHRoaXMsIm1vdXNlb3V0Iiwic21ub3BsYWNlbW91c2VvdXQiKTtPV2EodGhpcyk7Xy5rbih0aGlzLm1hcCwiY2xpY2siLGQ9PntkJiZkLnBsYWNlSWQhPT12b2lkIDB8fFBXYSh0aGlzKX0pfX07dmFyIGJYYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7ZnVuY3Rpb24gZCgpe3guRGkoKX10aGlzLm1hcD1hO3RoaXMucmg9Yjt0aGlzLmVpPWM7dGhpcy5xaD1udWxsO3ZhciBlPW5ldyBfLnhxLGY9bmV3IF8uWnFhKGUpLGc9YS5fX2dtLGg9bmV3IHNXYTtoLmJpbmRUbygiYXV0aFVzZXIiLGcpO2guYmluZFRvKCJ0aWx0IixnKTtoLmJpbmRUbygiaGVhZGluZyIsYSk7aC5iaW5kVG8oInN0eWxlIixnKTtoLmJpbmRUbygiYXBpc3R5bGUiLGcpO2guYmluZFRvKCJtYXBUeXBlSWQiLGEpO18uRW5hKGgsIm1hcElkUGFpbnRPcHRpb25zIixnLllyKTt2YXIgaz1fLlN4KCk7az13TyhrLGcucWgpO3ZhciBtPSEobmV3IF8uV3Yoa1swXSkpLnFoO2g9SE8oayxoLG0seE8oaykpO3ZhciBwPW51bGwscT1uZXcgXy5wQihmLHB8fHZvaWQgMCksdT1fLm1vKHEpLHg9bmV3IF8uQXAodGhpcy5zaCwwLHRoaXMpO2QoKTtfLmtuKGEsImNsaWNrYWJsZWljb25zX2NoYW5nZWQiLGQpO18ua24oZywiYXBpc3R5bGVfY2hhbmdlZCIsCmQpO18ua24oZywiYXV0aHVzZXJfY2hhbmdlZCIsZCk7Xy5rbihnLCJiYXNlbWFwdHlwZV9jaGFuZ2VkIixkKTtfLmtuKGcsInN0eWxlX2NoYW5nZWQiLGQpO2cuUmwuYWRkTGlzdGVuZXIoZCk7Yi5TaigpLmFkZExpc3RlbmVyKGQpOyRWYSh0aGlzLm1hcCwic21hcnRtYXBzIixjLGUsaCxudWxsLChCLEspPT57Qj1jLmdldEF0KGMuZ2V0TGVuZ3RoKCktMSk7aWYoSz09PUIpZm9yKDtjLmdldExlbmd0aCgpPjE7KWMucmVtb3ZlQXQoMCl9KTt2YXIgej1uZXcgdFdhKGMsITEpO2EuX19nbS5yaC50aGVuKEI9Pnt2YXIgSz1uZXcgdVdhKGMsZSx6LGcsdSxCLlJoLlFrKTtLLnpJbmRleD0wO2EuX19nbS56aC5yZWdpc3RlcihLKTt0aGlzLnFoPW5ldyBhWGEoYSxLLFZXYSk7Xy5xdihCLkh2LE89PntPJiYhTy5DaS5lcXVhbHMocCkmJihwPU8uQ2kscT1uZXcgXy5wQihmLHApLHUuc2V0KHEpLGQoKSl9KX0pO18udkkoYSx1LCJtYXBQYW5lIiwwKX1zaCgpe3ZhciBhPW5ldyBfLml5LGI9dGhpcy5laSwKYz10aGlzLm1hcC5fX2dtLGQ9Yy5nZXQoImJhc2VNYXBUeXBlIiksZT1kJiZkLkl3O2lmKGUmJnRoaXMubWFwLmdldENsaWNrYWJsZUljb25zKCkhPT0hMSl7dmFyIGY9Yy5nZXQoInpvb20iKTtpZihmPXRoaXMucmgudkQoZj9NYXRoLnJvdW5kKGYpOmYpKXthLmxheWVySWQ9ZS5yZXBsYWNlKC8oW21ocl1AKVxkKy8sYCQxJHtmfWApO2EubWFwVHlwZUlkPWQubWFwVHlwZUlkO2EucWg9Zjt2YXIgZz1hLnJoPWEucmh8fFtdO2MuUmwuZ2V0KCkuZm9yRWFjaChoPT57Zy5wdXNoKGgpfSk7ZD1jLmdldCgiYXBpc3R5bGUiKXx8IiI7Zj1jLmdldCgic3R5bGUiKXx8W107ZT1fLmVyO2Y9Zi5tYXAoVVdhKS5qb2luKCIsIik7Yz1jLmdldCgiYXV0aFVzZXIiKTthLnBhcmFtZXRlcnMuc2FsdD1lKGAke2R9KyR7Zn0ke2N9YCk7Yz1iLmdldEF0KGIuZ2V0TGVuZ3RoKCktMSk7aWYoIWN8fGMudG9TdHJpbmcoKSE9PWEudG9TdHJpbmcoKSl7YyYmKGMuZnJlZXplPSEwKTtjPWIuZ2V0TGVuZ3RoKCk7CmZvcihkPTA7ZDxjOysrZClpZihlPWIuZ2V0QXQoZCksZS50b1N0cmluZygpPT09YS50b1N0cmluZygpKXtiLnJlbW92ZUF0KGQpO2UuZnJlZXplPSExO2E9ZTticmVha31iLnB1c2goYSl9fX1lbHNlIGIuY2xlYXIoKSx0aGlzLnFoJiZQV2EodGhpcy5xaCksdGhpcy5tYXAuZ2V0Q2xpY2thYmxlSWNvbnMoKT09PSExJiZfLk0odGhpcy5tYXAsMTQ4MjgzKX19O3ZhciBjWGE9Y2xhc3N7S04oYSxiKXtuZXcgYlhhKGEsYixhLl9fZ20uUGgpfU1MKGEsYil7bmV3IGFYYShhLGIsbnVsbCl9fTtfLklsKCJvbmlvbiIsbmV3IGNYYSk7fSk7Cg=="}},"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":"places.googleapis.com/$rpc/google.maps.places.v1.Places/GetPlace","fqdn":"places.googleapis.com","domain":"places.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.119.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.788Z","timestamp":1785154929788,"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":"POST /$rpc/google.maps.places.v1.Places/GetPlace HTTP/1.1\r\nHost: places.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\nAuthorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6ImJhYzQ4MWMxYTYwNTU2NDUyNjE5MzA1M2U5NTIwNDU1MWRiOWI0M2YiLCJ0eXAiOiJKV1QifQ.ewoJImV4cCIgOiAxNzg1MTU4NTI5LAoJImZpZWxkX21hc2siIDogImRpc3BsYXlOYW1lLGZvcm1hdHRlZEFkZHJlc3Msc2hvcnRGb3JtYXR0ZWRBZGRyZXNzLGlzUHVyZVNlcnZpY2VBcmVhQnVzaW5lc3MsdXNlclJhdGluZ0NvdW50LHJhdGluZyx1c2VyUmF0aW5nQ291bnQsZ29vZ2xlTWFwc1VyaSx0eXBlcyxnb29nbGVNYXBzTGlua3MiLAoJImlhdCIgOiAxNzg1MTU0OTI5LAoJImlzcyIgOiAibWFwcy1qcy1lbWJlZC1pbnRlcm5hbEBwbGFjZS11aS1raXQtanMtaW50ZXJuYWwuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20iLAoJImp0aSIgOiAiMjc1MzQ0NjkwNjk1ODQyMTA3NSIsCgkicGxhdGZvcm1fdHlwZSIgOiAiSnMiLAoJInNjb3BlIiA6ICJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL21hcHMtcGxhdGZvcm0ucGxhY2VzLmRldGFpbHMiLAoJInNlc3Npb25fdHlwZSIgOiAiRW1iZWRQbGFjZVdpZGdldHNJbnRlcm5hbFBsYWNlRGV0YWlscyIsCgkic2lnbmVkX2ZvciIgOiAyMjY3NzYxNzM0MDUsCgkic3ViIiA6ICJtYXBzLWpzLWVtYmVkLWludGVybmFsQHBsYWNlLXVpLWtpdC1qcy1pbnRlcm5hbC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIKfQo.T9IFCEc38CymiWR_L-tkRI2Nhvh8mmMx3kXCDGVZQrjC7TvzlFNlnNQVcoq5YVwmuPlHi7rIT4wnSr0jpt6NvsBIfNNK9bvrqNXeP0ReDmDGlr4ryofvIsJHLrJ7by_UQHIY-0VPmZkrzeHu-x_HH-ymzdCdtjBf8zl-5PdBFWMp2Blv4teyOXatREWgoHU4ye7YTSef-6qT36CYFcffoUbXmEaSrdiQR2Tnm6BiCkzZivJT-zV1gvGnuGlDhdyUrZqPC8As2fjp_Se06EhN3HWnafrlwjMNw5PHJh0iKlNUJZxMnn6PUCQhcgT4TGXILAKWG_2yegPN0yfpH_Evwg\r\nX-Goog-FieldMask: display_name,formatted_address,google_maps_links,google_maps_uri,rating,short_formatted_address,types,user_rating_count\r\nX-Goog-Api-Key: \r\nContent-Type: application/json+protobuf\r\nX-Goog-Maps-API-Salt: op-places-js\r\nX-Goog-Gmp-Client-Signals: CAkqCDMuNjUuMTBhWg4SDAjxmp3TBhCAyOv1Ag==\r\nX-Goog-Maps-Session-Id: 88B3FBD8-ED45-403E-88C1-9CA5E54961ED\r\nX-User-Agent: grpc-web-javascript/0.1\r\nContent-Length: 48\r\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.google.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":48,"data":"[\"places/ChIJ9dVBcngE9YgRngRASsjSSwI\",\"en\",\"US\"]"}},"response":{"raw":"HTTP/2 200 \r\nvary: *, origin, referer, x-origin\r\ncontent-type: application/json+protobuf; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 343\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\naccess-control-allow-origin: https://www.google.com\r\ntiming-allow-origin: https://www.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-expose-headers: vary,content-encoding,date,server,content-length,vary,vary,vary, Server-Timing\r\nserver-timing: gfet4t7; dur=54\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":1111,"size_decoded":1009,"mime_type":"application/json+protobuf; charset=UTF-8","magic":"JSON text data","md5":"b935ba30d1cdd03e6172e9d382310449","sha1":"2008c0cc91e623a3ee6e072c8518d54485ddeca2","sha256":"cb2563b45081911df5ef170b145c3c29ccdf2a71ba556b65c29d7399e04b26dd","sha512":"e9396c7cb3b196c59727eaf52def03d34673753ad24ef3e873decd974bff319545c1414718f7b9acad51cfb84260850ba6911a81c2d306dd861e69902d261ddc","ssdeep":"","tlshash":"52214e5398144df3cf5c96a4c03968c472bd10b75c595e79a1c91de28475df2b128ece","first_seen":"2026-07-27T05:58:00.879618Z","last_seen":"2026-07-27T12:23:18.844434Z","times_seen":3,"resource_available":false,"data":"W251bGwsbnVsbCxudWxsLG51bGwsWyJzdWJwcmVtaXNlIiwic3RyZWV0X2FkZHJlc3MiXSxudWxsLG51bGwsbnVsbCwiUGVhY2h0cmVlIFN0LCBBdGxhbnRhLCBHQSAzMDMwMyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJodHRwczovL21hcHMuZ29vZ2xlLmNvbS8/Y2lkPTE2NTQ1NzU2OTAxMDE1NjcwMiZnX21wPUNpVm5iMjluYkdVdWJXRndjeTV3YkdGalpYTXVkakV1VUd4aFkyVnpMa2RsZEZCc1lXTmxFQU1ZQVNBRiIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsWyJQZWFjaHRyZWUgU3RyZWV0IiwiZW4iXSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJQZWFjaHRyZWUgVG93ZXIsIFBlYWNodHJlZSBTdCwgQXRsYW50YSIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsWyJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLy8nJy9kYXRhPSE0bTchNG02ITFtMSE0ZTIhMW0yITFtMSExczB4ODhmNTA0Nzg3MjQxZDVmNToweDI0YmQyYzg0YTQwMDQ5ZSEzZTA/Z19tcD1DaVZuYjI5bmJHVXViV0Z3Y3k1d2JHRmpaWE11ZGpFdVVHeGhZMlZ6TGtkbGRGQnNZV05sRUFNWUFTQUYiLCJodHRwczovL21hcHMuZ29vZ2xlLmNvbS8/Y2lkPTE2NTQ1NzU2OTAxMDE1NjcwMiZnX21wPUNpVm5iMjluYkdVdWJXRndjeTV3YkdGalpYTXVkakV1VUd4aFkyVnpMa2RsZEZCc1lXTmxFQU1ZQVNBRiIsbnVsbCxudWxsLCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvcGxhY2UvL2RhdGE9ITRtMyEzbTIhMXMweDg4ZjUwNDc4NzI0MWQ1ZjU6MHgyNGJkMmM4NGE0MDA0OWUhMTBlNT9nX21wPUNpVm5iMjluYkdVdWJXRndjeTV3YkdGalpYTXVkakV1VUd4aFkyVnpMa2RsZEZCc1lXTmxFQU1ZQVNBRiJdXQ=="}},"time_used":64,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":63,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/util.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.988Z","timestamp":1785154928988,"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":"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 /maps-api-v3/api/js/65/10a/util.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 71838\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411663\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":317352,"size_decoded":72677,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (523)","md5":"6a66b994a8cff590771a8cf7c8d22985","sha1":"75f991bb10c469f7602ad12bbefe3f0194d84ab7","sha256":"854d0de447affcb4cc29bd570d8311a969aa5d43b88f0c64950ac84233cb037b","sha512":"1469786d2b55b52ba1614146b7a32a99d4b354de0a36b36860309c9b18fe873713eb5616db80133d80537cb775e59052264a48a4b5661bbf5c5fc0243c16c440","ssdeep":"3072:gzIavX/CiQKjOnkJG7NJG7A8kwyuZmBFZq:gzIax4npCk8kxu0BFZq","tlshash":"7d64d77c32316b4ee973c85bc626300e90257ddbfad488bdfee59186d954988f0e4a34","first_seen":"2026-07-22T18:24:50.743146Z","last_seen":"2026-07-28T17:04:50.854605Z","times_seen":983,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ3V0aWwnLCBmdW5jdGlvbihfKXsvKgoKIENvcHlyaWdodCAyMDI0IEdvb2dsZSwgSW5jCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCiovCi8qCgogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgSnlhLEx5YSxPeWEsUHlhLFV5YSxWeWEsWXlhLGN6YSxkemEsRUUsaHphLGx6YSxIRSxuemEsYkYsdnphLGZGLEJ6YSxpRixDemEsakYsRHphLEV6YSxGemEsa0YsSHphLEd6YSxJemEsS3phLE16YSxPemEsU3phLFF6YSxUemEsUnphLGxGLG1GLFd6YSxYemEsbkYsb0YsckYsc0YsdEYsWnphLHZGLHdGLCR6YSx4RixhQWEseUYsekYsYkFhLEFGLEJGLGNBYSxDRixpQWEsbUFhLG9BYSxwQWEscUFhLEVGLEZGLEdGLEhGLElGLHJBYSxKRixLRixMRixzQWEsdEFhLHVBYSxNRixORixPRix2QWEsd0FhLFBGLFFGLHhBYSxEQWEsRUFhLEdBYSxIQWEsSUFhLEpBYSxLQWEsTEFhLE1BYSxOQWEsT0FhLFBBYSxRQWEsUkFhLFNBYSxUQWEsV0YsWUYsWkYsJEYsYkcsY0csYUcsZEcsJEFhLGFCYSxpRyxqRyxsRyxkQmEsbUcsbkcsZUJhLGZCYSxvRyxjQmEsaUJhLGpCYSxrQmEsdUcsbEJhLHZHLG1CYSx3Ryx4Ryx6RyxBRyxCRyxvQmEsQ0csREcscUJhLHBCYSxIRyx0QmEsSUcsRUcsdUJhLApNRyxPRyxKRyxRRyx3QmEsekJhLFNHLHJCYSxVRyxWRyxXRyxURyxBQmEsQkJhLFhHLGFILFJHLHhCYSxDQmEsWkcsWUcsdkJhLExHLCRHLEdHLE5HLEtHLEVCYSxIQmEsc0JhLGRILEtCYSxQQmEsUUJhLE5CYSxPQmEsUkJhLEpCYSxUQmEsU0JhLHJILHNILHhILFlCYSxWQmEseUgsd0gsYkNhLGNDYSx6SCxkQ2EsQkgsQUgsZ0NhLEZDYSxUSCxLQ2EsTENhLFlILFBDYSxVQ2EsWENhLCRDYSxaQ2EsYkRhLGFJLGVJLG5EYSx0RGEsdkRhLHdEYSx4RGEsekRhLEFEYSx3SSx4SSx5SSxJRGEsQUksREksUURhLFJEYSx0emEsVERhLGJ6YSxlemEsaXphLGp6YSxwemEscnphLHF6YSxzemEsVURhLHd6YSxWRGEsV0RhLHh6YSx1Q2EsWERhLGhDYSxxQ2EsWURhLEhILEZILEVILG5DYSxwQ2EsbENhLG1DYSxvQ2EsakNhLHJDYSxmQ2Esa0NhLGlDYSx0Q2Esc0NhLFpEYSwkRGEsYUVhLGJFYSxMSSxjRWEsZEVhLE1JLGVFYSxmRWEsZ0VhLHp6YTsKXy5jRT1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5kRT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk9mKGEsYix2b2lkIDAsdm9pZCAwLF8udmUpIT1udWxsfTtfLmVFPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2dhKShhKX07Xy5mRT1mdW5jdGlvbihhLGIpe3JldHVybihjLGQpPT57YTp7bGV0IGY9e0dGOiEwfTtkJiZPYmplY3QuYXNzaWduKGYsZCk7Yz1fLlB1KGMsdm9pZCAwLHZvaWQgMCxmKTt0cnl7bGV0IGc9bmV3IGEsaD1nLkxpO18uZHYoYikoaCxjKTt2YXIgZT1nO2JyZWFrIGF9Y2F0Y2goZyl7aWYoZyBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGc7fWZpbmFsbHl7Yy5RaSgpfWU9dm9pZCAwfXJldHVybiBlfX07Ckp5YT1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy5LeWE9ZnVuY3Rpb24oYSxiKXthLkxoP2IoKTooYS5KaHx8KGEuSmg9W10pLGEuSmgucHVzaChiKSl9O18uZ0U9ZnVuY3Rpb24oYSxiKXtfLkt5YShhLF8uY0UoSnlhLGIpKX07THlhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcihsZXQgZz0wO2c8Yy5sZW5ndGg7ZysrKUx5YShhLGIsY1tnXSxkLGUsZik7ZWxzZShiPV8udWsoYixjLGR8fGEuaGFuZGxlRXZlbnQsZSxmfHxhLndofHxhKSkmJihhLnFoW2Iua2V5XT1iKX07Xy5NeWE9ZnVuY3Rpb24oYSxiLGMsZCl7THlhKGEsYixjLGQpfTtfLmhFPWZ1bmN0aW9uKCl7dmFyIGE9Xy5HKF8uSmwsXy5SeCwyKTtyZXR1cm4gXy5HKGEsXy5SeSwxNil9O18uaUU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Cl8uTnlhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5VbShhKSxkPV8uVW0oYiksZT1jLWQ7YT1fLlZtKGEpLV8uVm0oYik7cmV0dXJuIDIqTWF0aC5hc2luKE1hdGguc3FydChNYXRoLnBvdyhNYXRoLnNpbihlLzIpLDIpK01hdGguY29zKGMpKk1hdGguY29zKGQpKk1hdGgucG93KE1hdGguc2luKGEvMiksMikpKX07Xy5qRT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uTnlhKGEsYikqKGN8fDYzNzgxMzcpfTtfLmtFPWZ1bmN0aW9uKGEsYil7Y29uc29sZS53YXJuKF8uaHAoYSxiKSl9O18ubEU9ZnVuY3Rpb24oYSxiKXthLkJ2LmhhcyhiKXx8KGEuQnYuYWRkKGIpLF8ua0UoYSxiKSl9O095YT1mdW5jdGlvbihhKXsoMCxfLlVlKShhKT9hPV8uZGUoXy5WZShhKSk6KF8uQ2UoYSksYT0oMCxfLlJlKShhKSxhPj0wJiYoMCxfLlVlKShhKT9hPVN0cmluZyhhKTooXy5rZShhKSxhPV8ubmUoXy5lZSxfLmdlKSksYT1fLmRlKGEpKTtyZXR1cm4gYX07ClB5YT1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLlJlKShOdW1iZXIoYSkpO2lmKCgwLF8uVWUpKGIpJiZiPj0wKXJldHVybiBfLmRlKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5kZSgoMCxfLlplKSg2NCxCaWdJbnQoYSkpKX07Xy5ReWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7aWYoYT09bnVsbClyZXR1cm4gYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIF8uZGUoKDAsXy5aZSkoNjQsYSkpO2lmKF8uQ2UoYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj9QeWEoYSk6T3lhKGEpfTtfLm1FPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uT2YoYSxiLHZvaWQgMCx2b2lkIDAsXy5ReWEpPz9fLk1nfTtfLlJ5YT1mdW5jdGlvbihhLGIsYyl7YT1fLmpnKGEsYixfLnZlLDMsITApO18uWWQoYSxjKTtyZXR1cm4gYVtjXX07Xy5uRT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmpnKGEsYixfLnZlLDMsITApLmxlbmd0aH07Cl8ub0U9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlFmKGEsYixjPT1udWxsP2M6Xy5RZShjLHZvaWQgMCkpfTtfLnBFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uSmUoXy5PZihhLGIpKSE9bnVsbH07Xy5TeWE9ZnVuY3Rpb24oYSl7YS5xaC5fX2dtX2ludGVybmFsX19ub0RyYWc9ITB9O18uVHlhPWZ1bmN0aW9uKGEsYixjPTApe3ZhciBkPV8uVngoYSx7a2k6Yi5raS1jLGxpOmIubGktYyx1aTpiLnVpfSk7YT1fLlZ4KGEse2tpOmIua2krMStjLGxpOmIubGkrMStjLHVpOmIudWl9KTtyZXR1cm57bWluOm5ldyBfLldwKE1hdGgubWluKGQucWgsYS5xaCksTWF0aC5taW4oZC5yaCxhLnJoKSksbWF4Om5ldyBfLldwKE1hdGgubWF4KGQucWgsYS5xaCksTWF0aC5tYXgoZC5yaCxhLnJoKSl9fTtVeWE9ZnVuY3Rpb24oYSl7cmV0dXJuIERhdGUubm93KCk+YS5xaH07Xy5xRT1mdW5jdGlvbihhLGIsYyl7Xy5KZyhfLkpsLDQ5KT9iKCk6KGEucWgoKSxhLnNoKGQ9PntkP2IoKTpjJiZjKCl9KSl9OwpfLnJFPWZ1bmN0aW9uKGEpe2Euc3R5bGUuZGlyZWN0aW9uPV8uREIuSWooKT8icnRsIjoibHRyIn07VnlhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtfLnNFPWZ1bmN0aW9uKGEpe3JldHVybi9eW1xzXHhhMF0qKFtcc1xTXSo/KVtcc1x4YTBdKiQvLmV4ZWMoYSlbMV19O18uV3lhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uUmIoIkFuZHJvaWQiKSYmIShfLmhjKCl8fF8uZGMoKXx8Xy5VYigpfHxfLlJiKCJTaWxrIikpfTtfLlh5YT1mdW5jdGlvbihhKXtyZXR1cm4gYVthLmxlbmd0aC0xXX07WXlhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKyl7bGV0IGQ9YXJndW1lbnRzW2NdO2lmKF8uWWEoZCkpe2xldCBlPWEubGVuZ3RofHwwLGY9ZC5sZW5ndGh8fDA7YS5sZW5ndGg9ZStmO2ZvcihsZXQgZz0wO2c8ZjtnKyspYVtlK2ddPWRbZ119ZWxzZSBhLnB1c2goZCl9fTsKXy50RT1mdW5jdGlvbihhLGIpe2lmKCFfLllhKGEpfHwhXy5ZYShiKXx8YS5sZW5ndGghPWIubGVuZ3RoKXJldHVybiExO3ZhciBjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspaWYoYVtkXSE9PWJbZF0pcmV0dXJuITE7cmV0dXJuITB9O18uWnlhPWZ1bmN0aW9uKGEsYixjLGQpe2Q9ZD9kKGIpOmI7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLGQpP2FbZF06YVtkXT1jKGIpfTtfLiR5YT1mdW5jdGlvbihhLGIpe2lmKGIpe2xldCBjPVtdLGQ9MDtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKyl7bGV0IGY9YS5jaGFyQ29kZUF0KGUpO2Y+MjU1JiYoY1tkKytdPWYmMjU1LGY+Pj04KTtjW2QrK109Zn1hPV8uVWMoYyxiKX1lbHNlIGE9Xy5VYS5idG9hKGEpO3JldHVybiBhfTsKXy51RT1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09ImJpZ2ludCIpcmV0dXJuKDAsXy50ZikoYSk/YT1OdW1iZXIoYSk6KGE9KDAsXy5MZSkoNjQsYSksYT0oMCxfLnRmKShhKT9OdW1iZXIoYSk6U3RyaW5nKGEpKSxhO2lmKF8uQ2UoYSkpcmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciI/Xy5QZShhKTpfLktlKGEpfTtfLnZFPWZ1bmN0aW9uKGEpe2lmKCFfLkNlKGEpKXRocm93IF8udGQoInVpbnQ2NCIpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gUHlhKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uZGUoKDAsXy5aZSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIE95YShhKX19O18ud0U9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy51RShfLk9mKGEsYix2b2lkIDAsdm9pZCAwLF8uWWUpKX07Xy54RT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uUWYoYSxiLGM9PW51bGw/YzpfLnZFKGMpKX07Cl8ueUU9ZnVuY3Rpb24oYSxiLGMpe18uSGcoYSxiLF8uYmYsYyx2b2lkIDAsXy5kZil9O18uekU9ZnVuY3Rpb24oYSxiLGMpe18uSGcoYSxiLF8uYmYsYyx2b2lkIDAsXy5kZix2b2lkIDAsdm9pZCAwLCEwKX07Xy5BRT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPW5ldyBfLktnYTtfLndpKGIuTGksYyxfLnRpKGEpKTtyZXR1cm4gXy5haShjKX19O18uYXphPWZ1bmN0aW9uKGEsYj1fLk9nYSl7aWYoYSBpbnN0YW5jZW9mIF8uc2opcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIF8udWomJmQuQWooYSkpcmV0dXJuIF8udGooYSl9fTtfLkJFPWZ1bmN0aW9uKGEpe3JldHVybiBfLmF6YShhLF8uT2dhKXx8Xy5Ncn07Xy5DRT1mdW5jdGlvbihhKXt2YXIgYj1fLm9qKCk7YT1iP2IuY3JlYXRlU2NyaXB0KGEpOmE7cmV0dXJuIG5ldyBiemEoYSl9OwpfLkRFPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBiemEpcmV0dXJuIGEucWg7dGhyb3cgRXJyb3IoIiIpO307Y3phPWZ1bmN0aW9uKGEsYil7Yj1fLkRFKGIpO3ZhciBjPWEuZXZhbChiKTtjPT09YiYmKGM9YS5ldmFsKGIudG9TdHJpbmcoKSkpO3JldHVybiBjfTtkemE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvJihbXjtdKyk7L2csZnVuY3Rpb24oYixjKXtzd2l0Y2goYyl7Y2FzZSAiYW1wIjpyZXR1cm4iJiI7Y2FzZSAibHQiOnJldHVybiI8IjtjYXNlICJndCI6cmV0dXJuIj4iO2Nhc2UgInF1b3QiOnJldHVybiciJztkZWZhdWx0OnJldHVybiBjLmNoYXJBdCgwKSE9IiMifHwoYz1OdW1iZXIoIjAiK2Muc2xpY2UoMSkpLGlzTmFOKGMpKT9iOlN0cmluZy5mcm9tQ2hhckNvZGUoYyl9fSl9OwpfLmZ6YT1mdW5jdGlvbihhLGIpe3ZhciBjPXsiJmFtcDsiOiImIiwiJmx0OyI6IjwiLCImZ3Q7IjoiPiIsIiZxdW90OyI6JyInfTt2YXIgZD1iP2IuY3JlYXRlRWxlbWVudCgiZGl2Iik6Xy5VYS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gYS5yZXBsYWNlKGV6YSxmdW5jdGlvbihlLGYpe3ZhciBnPWNbZV07aWYoZylyZXR1cm4gZztmLmNoYXJBdCgwKT09IiMiJiYoZj1OdW1iZXIoIjAiK2Yuc2xpY2UoMSkpLGlzTmFOKGYpfHwoZz1TdHJpbmcuZnJvbUNoYXJDb2RlKGYpKSk7Z3x8KGc9Xy54aihlKyIgIiksXy56aihkLGcpLGc9ZC5maXJzdENoaWxkLm5vZGVWYWx1ZS5zbGljZSgwLC0xKSk7cmV0dXJuIGNbZV09Z30pfTtFRT1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCImIikhPS0xPyJkb2N1bWVudCJpbiBfLlVhP18uZnphKGEpOmR6YShhKTphfTsKXy5nemE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5GRT1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIjthJiYoaCs9YSsiOiIpO2MmJihoKz0iLy8iLGImJihoKz1iKyJAIiksaCs9YyxkJiYoaCs9IjoiK2QpKTtlJiYoaCs9ZSk7ZiYmKGgrPSI/IitmKTtnJiYoaCs9IiMiK2cpO3JldHVybiBofTtoemE9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKHZhciBlPWMubGVuZ3RoOyhiPWEuaW5kZXhPZihjLGIpKT49MCYmYjxkOyl7dmFyIGY9YS5jaGFyQ29kZUF0KGItMSk7aWYoZj09Mzh8fGY9PTYzKWlmKGY9YS5jaGFyQ29kZUF0KGIrZSksIWZ8fGY9PTYxfHxmPT0zOHx8Zj09MzUpcmV0dXJuIGI7Yis9ZSsxfXJldHVybi0xfTsKXy5remE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goaXphKSxkPTAsZSxmPVtdOyhlPWh6YShhLGQsYixjKSk+PTA7KWYucHVzaChhLnN1YnN0cmluZyhkLGUpKSxkPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZSkrMXx8YyxjKTtmLnB1c2goYS5zbGljZShkKSk7cmV0dXJuIGYuam9pbigiIikucmVwbGFjZShqemEsIiQxIil9O18uR0U9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGIpLGMpfTtsemE9ZnVuY3Rpb24oYSl7Zm9yKDthJiZhLm5vZGVUeXBlIT0xOylhPWEubmV4dFNpYmxpbmc7cmV0dXJuIGF9O0hFPWZ1bmN0aW9uKGEpe2E9Xy5DbChhKTtyZXR1cm4gXy5DRShhKX07Xy5JRT1hc3luYyBmdW5jdGlvbihhKXtpZihfLkxsKCkpdHJ5eyhhd2FpdCBfLkhsKCJsb2ciKSkueEgud2goYSl9Y2F0Y2goYil7fX07Xy5KRT1mdW5jdGlvbihhKXtyZXR1cm4gYT90eXBlb2YgYT09PSJudW1iZXIiP2E6cGFyc2VJbnQoYSwxMCk6TmFOfTsKXy5LRT1mdW5jdGlvbigpe3ZhciBhPW16YTthLmhhc093blByb3BlcnR5KCJfaW5zdGFuY2UiKXx8KGEuX2luc3RhbmNlPW5ldyBhKTtyZXR1cm4gYS5faW5zdGFuY2V9O18uTEU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB3aW5kb3cuc2V0VGltZW91dCgoKT0+e2IuY2FsbChhKX0sYyl9O18uTUU9ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGEsMCl9O18uTkU9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9YXJndW1lbnRzO18uTUUoKCk9PnthLmFwcGx5KHRoaXMsYil9KX19O18uT0U9ZnVuY3Rpb24oYSxiPTApe3JldHVybiBfLkxtKF8uT20sYz0+e2lmKGM8PWEpcmV0dXJuIGM7aWYoYj4wJiZjPD1hK2IpcmV0dXJuIGE7dGhyb3cgXy5BbShgJHtjfSBjYW5ub3QgZXhjZWVkICR7YX1gKTt9KX07Xy5QRT1mdW5jdGlvbihhLGIsYyxkKXtfLnFuKGEsYixfLlJjYShiLGMsIWQpKX07Cl8uUUU9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZCBvZiBiKWEuYmluZFRvKGQsYyl9O18uUkU9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWIpcmV0dXJuIDA7dmFyIGM9Xy50bChiLmxhdCgpLWEubGF0KCkpLGQ9Xy50bChiLmxuZygpLWEubG5nKCkpO2E9TWF0aC5zaW4oYy8yKSpNYXRoLnNpbihjLzIpK01hdGguY29zKF8udGwoYS5sYXQoKSkpKk1hdGguY29zKF8udGwoYi5sYXQoKSkpKk1hdGguc2luKGQvMikqTWF0aC5zaW4oZC8yKTtyZXR1cm4gMipNYXRoLmF0YW4yKE1hdGguc3FydChhKSxNYXRoLnNxcnQoMS1hKSl9OwpuemE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gYTt2YXIgYz1JbmZpbml0eSxkPS1JbmZpbml0eSxlPUluZmluaXR5LGY9LUluZmluaXR5LGc9TWF0aC5zaW4oYik7Yj1NYXRoLmNvcyhiKTthPVthLm1pblgsYS5taW5ZLGEubWluWCxhLm1heFksYS5tYXhYLGEubWF4WSxhLm1heFgsYS5taW5ZXTtmb3IobGV0IGs9MDtrPDQ7KytrKXt2YXIgaD1hW2sqMl07bGV0IG09YVtrKjIrMV0scD1iKmgtZyptO2g9ZypoK2IqbTtjPU1hdGgubWluKGMscCk7ZD1NYXRoLm1heChkLHApO2U9TWF0aC5taW4oZSxoKTtmPU1hdGgubWF4KGYsaCl9cmV0dXJuIF8uem8oYyxlLGQsZil9O18uU0U9ZnVuY3Rpb24oYSxiKXt0cnl7cmV0dXJuIF8uVG8oYSkhPT1fLlRvKGIpfWNhdGNoe3JldHVybiBhIT09Yn19O18uVEU9ZnVuY3Rpb24oKXtyZXR1cm4gXy5IcD9fLkhwPT09IktFWUJPQVJEIjp2b2lkIDB9OwpfLlVFPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOl8ubm1hKGEsYikmJl8ubW1hKGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0Ol8ucHcoYSkubWF0Y2goL1xTKy9nKXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGMhPWJ9KS5qb2luKCIgIikpfTtfLlZFPWZ1bmN0aW9uKGEsYil7YS5zdHlsZS5kaXNwbGF5PWI/IiI6Im5vbmUifTtfLldFPWZ1bmN0aW9uKGEpe2Euc3R5bGUuZGlzcGxheT0iIn07Xy5YRT1mdW5jdGlvbihhKXtfLnFuKGEsImNvbnRleHRtZW51IixiPT57Xy5nbihiKTtfLmhuKGIpfSl9O18uWUU9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLm9wYWNpdHk9Yj09PTE/IiI6YCR7Yn1gfTtfLlpFPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSkUoYSk7cmV0dXJuIGlzTmFOKGIpfHxhIT09YCR7Yn1gJiZhIT09YCR7Yn1weGA/MDpifTsKXy4kRT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zY3JlZW5YPjB8fGEuc2NyZWVuWT4wfTtfLmFGPWZ1bmN0aW9uKGEsYil7YS5pbm5lckhUTUwhPT1fLnlqKGIpJiYoXy5pcShhKSxfLnpqKGEsYikpfTtfLm96YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPSgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKCJnbXAtbG9hZCIsYyk7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJnbXAtZXJyb3IiLGMpO2IoKX07YS5hZGRFdmVudExpc3RlbmVyKCJnbXAtbG9hZCIsYyk7YS5hZGRFdmVudExpc3RlbmVyKCJnbXAtZXJyb3IiLGMpfSl9O2JGPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/YS5yZXBsYWNlKHB6YSwiIik6YX07Cl8uY0Y9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9MCxlPSExO2E9YkYoYSxiKS5zcGxpdChxemEpO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspe2xldCBmPWFbYl07Xy5DamEudGVzdChiRihmKSk/KGMrKyxkKyspOnJ6YS50ZXN0KGYpP2U9ITA6Xy5CamEudGVzdChiRihmKSk/ZCsrOnN6YS50ZXN0KGYpJiYoZT0hMCl9cmV0dXJuIGQ9PTA/ZT8xOjA6Yy9kPi40Py0xOjF9O18udXphPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO2lmKGEgaW5zdGFuY2VvZiBEYXRlKXt2YXIgYz1gJHthLmdldEZ1bGxZZWFyKCl9YDtiPXR6YVthLmdldE1vbnRoKCldfWVsc2V7YT1hLnNwbGl0KCItIik7aWYoYS5sZW5ndGg8MSlyZXR1cm4iIjtjPWFbMF07YS5sZW5ndGg+MSYmKGE9Xy5KRShhWzFdKS0xLGE+PTAmJmE8MTImJihiPXR6YVthXSkpfXJldHVybihiKyIgIitjKS50cmltKCl9Owp2emE9ZnVuY3Rpb24oYSxiLGMsZCl7ZD8oYS5Mdy5oYXMoYil8fGEuTHcuc2V0KGIse1N4OigpPT57YS5Mdy5kZWxldGUoYil9LGRNOmN9KSx7U3g6Y309YS5Mdy5nZXQoYiksYihhLnZhbHVlLGMpKTpiKGEudmFsdWUpfTtfLmRGPWZ1bmN0aW9uKHtjb250ZXh0OmEsc3Vic2NyaWJlOmJ9KXtyZXR1cm4oYyxkKT0+e3R5cGVvZiBkPT09Im9iamVjdCI/ZC5hZGRJbml0aWFsaXplcihmdW5jdGlvbigpe25ldyB3emEodGhpcyx7Y29udGV4dDphLE5pOmU9PntjLnNldC5jYWxsKHRoaXMsZSl9LHN1YnNjcmliZTpifSl9KTpjLmNvbnN0cnVjdG9yLmFkZEluaXRpYWxpemVyKGU9PntuZXcgd3phKGUse2NvbnRleHQ6YSxOaTpmPT57ZVtkXT1mfSxzdWJzY3JpYmU6Yn0pfSl9fTsKXy55emE9ZnVuY3Rpb24oe2NvbnRleHQ6YX0pe3JldHVybihiLGMpPT57dmFyIGQ9bmV3IFdlYWtNYXA7aWYodHlwZW9mIGM9PT0ib2JqZWN0IilyZXR1cm57Z2V0KCl7cmV0dXJuIGIuZ2V0LmNhbGwodGhpcyl9LHNldChmKXtkLmdldCh0aGlzKS5zZXRWYWx1ZShmKTtyZXR1cm4gYi5zZXQuY2FsbCh0aGlzLGYpfSxpbml0KGYpe2Quc2V0KHRoaXMsbmV3IHh6YSh0aGlzLHtjb250ZXh0OmEsaW5pdGlhbFZhbHVlOmZ9KSk7cmV0dXJuIGZ9fTtiLmNvbnN0cnVjdG9yLmFkZEluaXRpYWxpemVyKGY9PntkLnNldChmLG5ldyB4emEoZix7Y29udGV4dDphfSkpfSk7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpO2lmKGU9PT12b2lkIDApe2xldCBmPW5ldyBXZWFrTWFwO2U9e2dldCgpe3JldHVybiBmLmdldCh0aGlzKX0sc2V0KGcpe2QuZ2V0KHRoaXMpLnNldFZhbHVlKGcpO2Yuc2V0KHRoaXMsZyl9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1lbHNle2xldCBmPQplLnNldDtlPXsuLi5lLHNldChnKXtkLmdldCh0aGlzKS5zZXRWYWx1ZShnKTtmPy5jYWxsKHRoaXMsZyl9fX1PYmplY3QuZGVmaW5lUHJvcGVydHkoYixjLGUpfX07Xy5lRj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkF1KGEsMixiKX07ZkY9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9jc3MiKTtiLnNldEF0dHJpYnV0ZSgicmVsIiwic3R5bGVzaGVldCIpO2Iuc2V0QXR0cmlidXRlKCJocmVmIixhKTtkb2N1bWVudC5oZWFkLmluc2VydEJlZm9yZShiLGRvY3VtZW50LmhlYWQuZmlyc3RDaGlsZCl9OwpfLmdGPWZ1bmN0aW9uKCl7aWYoIXp6YSl7enphPSEwO3ZhciBhPV8uVkEuc3Vic3RyaW5nKDAsNSk9PT0iaHR0cHMiPyJodHRwcyI6Imh0dHAiLGI9Xy5KbD8ucmgoKS5yaCgpP2AmbGFuZz0ke18uSmwucmgoKS5yaCgpLnNwbGl0KCItIilbMF19YDoiIjtmRihgJHthfTovLyR7Xy5FcWF9JHtifWApO2ZGKGAke2F9Oi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MzAwLDQwMCw1MDAsNzAwfEdvb2dsZStTYW5zOjQwMCw1MDAsNzAwfEdvb2dsZStTYW5zK1RleHQ6NDAwLDUwMCw3MDAke2J9YCk7ZkYoYCR7YX06Ly8ke18uRnFhfSR7Yn1gKX19O18uQXphPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09InJvYWRtYXAifHxhPT09InNhdGVsbGl0ZSJ8fGE9PT0iaHlicmlkInx8YT09PSJ0ZXJyYWluIn07CkJ6YT1mdW5jdGlvbigpe2lmKF8uRnkpcmV0dXJuIF8uR3k7aWYoIV8uV3cpcmV0dXJuIF8uUm5hKCk7Xy5GeT0hMDtyZXR1cm4gXy5HeT1uZXcgUHJvbWlzZShhc3luYyBhPT57dmFyIGI9YXdhaXQgXy5RbmEoKTthKGIpO18uRnk9ITF9KX07Xy5oRj1mdW5jdGlvbigpe3JldHVybiBfLm5yPyJXZWJraXQiOl8ub2dhPyJNb3oiOm51bGx9O2lGPWZ1bmN0aW9uKGEsYil7YS5zdHlsZS5kaXNwbGF5PWI/IiI6Im5vbmUifTsKQ3phPWZ1bmN0aW9uKCl7dmFyIGE9Xy5KbC50aCgpLGIsYz17fTthJiYoYj1qRigia2V5IixhKSkmJihjW2JdPSEwKTt2YXIgZD1fLkpsLnhoKCk7ZCYmKGI9akYoImNsaWVudCIsZCkpJiYoY1tiXT0hMCk7YXx8ZHx8KGMuTm9BcGlLZXlzPSEwKTthPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IoZD0wO2Q8YS5sZW5ndGg7KytkKXtsZXQgZT1uZXcgXy5XdihhW2RdLnNyYyk7aWYoZS5nZXRQYXRoKCkhPT0iL21hcHMvYXBpL2pzIiljb250aW51ZTtsZXQgZj0hMSxnPSExLGg9ZS5yaC5ScygpO2ZvcihsZXQgaz0wO2s8aC5sZW5ndGg7KytrKXtoW2tdPT09ImtleSImJihmPSEwKTtoW2tdPT09ImNsaWVudCImJihnPSEwKTtsZXQgbT1lLnJoLkptKGhba10pO2ZvcihsZXQgcD0wO3A8bS5sZW5ndGg7KytwKShiPWpGKGhba10sbVtwXSkpJiYoY1tiXT0hMCl9Znx8Z3x8KGMuTm9BcGlLZXlzPSEwKX1mb3IobGV0IGUgaW4gYyljLmhhc093blByb3BlcnR5KGUpJiYKd2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLndhcm4mJihiPV8uZ21hKGUpLHdpbmRvdy5jb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIHdhcm5pbmc6ICIrZSsiIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L2Vycm9yLW1lc3NhZ2VzIyIrYikpfTsKakY9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiY2xpZW50IjpyZXR1cm4gYi5pbmRleE9mKCJpbnRlcm5hbC0iKT09PTB8fGIuaW5kZXhPZigiZ29vZ2xlLSIpPT09MD9udWxsOmIuaW5kZXhPZigiQUl6Iik9PT0wPyJDbGllbnRJZExvb2tzTGlrZUtleSI6Yi5tYXRjaCgvW2EtekEtWjAtOS1fXXsyN309Lyk/IkNsaWVudElkTG9va3NMaWtlQ3J5cHRvS2V5IjpiLmluZGV4T2YoImdtZS0iKSE9PTA/IkludmFsaWRDbGllbnRJZCI6bnVsbDtjYXNlICJrZXkiOnJldHVybiBiLmluZGV4T2YoImdtZS0iKT09PTA/IktleUxvb2tzTGlrZUNsaWVudElkIjpiLm1hdGNoKC9eW2EtekEtWjAtOS1fXXsyN309JC8pPyJLZXlMb29rc0xpa2VDcnlwdG9LZXkiOmIubWF0Y2goL15bMS05XVswLTldKiQvKT8iS2V5TG9va3NMaWtlUHJvamVjdE51bWJlciI6Yi5pbmRleE9mKCJBSXoiKSE9PTA/IkludmFsaWRLZXkiOm51bGw7Y2FzZSAiY2hhbm5lbCI6cmV0dXJuIGIubWF0Y2goL15bYS16QS1aMC05Ll8tXSokLyk/Cm51bGw6IkludmFsaWRDaGFubmVsIjtjYXNlICJzaWduYXR1cmUiOnJldHVybiJTaWduYXR1cmVOb3RSZXF1aXJlZCI7Y2FzZSAic2lnbmVkX2luIjpyZXR1cm4iU2lnbmVkSW5Ob3RTdXBwb3J0ZWQiO2Nhc2UgInNlbnNvciI6cmV0dXJuIlNlbnNvck5vdFJlcXVpcmVkIjtjYXNlICJ2IjppZihhPWIubWF0Y2goL14zXC4oXGQrKShcLlxkK1thLXpdPyk/JC8pKXtpZigoYj13aW5kb3cuZ29vZ2xlLm1hcHMudmVyc2lvbi5tYXRjaCgvM1wuKFxkKykoXC5cZCtbYS16XT8pPy8pKSYmTnVtYmVyKGFbMV0pPE51bWJlcihiWzFdKSlyZXR1cm4iUmV0aXJlZFZlcnNpb24ifWVsc2UgaWYoIWIubWF0Y2goL14zXC5leHAkLykmJiFiLm1hdGNoKC9eM1wuPyQvKSYmWyJhbHBoYSIsImJldGEiLCJ3ZWVrbHkiLCJxdWFydGVybHkiXS5pbmRleE9mKGIpPT09LTEpcmV0dXJuIkludmFsaWRWZXJzaW9uIjtyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX07CkR6YT1mdW5jdGlvbihhKXtpZihhPWEucWguZWlhKXJldHVybntuYW1lOmFbMF0sZWxlbWVudDphWzFdfX07RXphPWZ1bmN0aW9uKGEsYil7YS5yaC5wdXNoKGIpO2EucWh8fChhLnFoPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthLnFoPSExO2EueUEoYS5yaCl9KSl9O0Z6YT1mdW5jdGlvbihhLGIpe2EuZWNyZChjPT57Yi50dShjKX0sMCl9O2tGPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLnNoLmxlbmd0aDtjKyspYS5zaFtjXShiKX07SHphPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoR3phKGJbY10uZWxlbWVudCxhLmVsZW1lbnQpKXJldHVybiEwO3JldHVybiExfTtHemE9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4hMTtmb3IoO2EhPT1iJiZiLnBhcmVudE5vZGU7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBhPT09Yn07SXphPWZ1bmN0aW9uKGEsYil7YS5zaD9hLnNoKGIpOihiLmVpcnA9ITAsYS5xaD8ucHVzaChiKSl9OwpLemE9ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYiBpbiBhLlBpfHwhYS5yaHx8SnphLmluZGV4T2YoYik+PTApKXt2YXIgZD0oZixnLGgpPT57YS5oYW5kbGVFdmVudChmLGcsaCl9O2EuUGlbYl09ZDt2YXIgZT1iPT09Im1vdXNlZW50ZXIiPyJtb3VzZW92ZXIiOmI9PT0ibW91c2VsZWF2ZSI/Im1vdXNlb3V0IjpiPT09InBvaW50ZXJlbnRlciI/InBvaW50ZXJvdmVyIjpiPT09InBvaW50ZXJsZWF2ZSI/InBvaW50ZXJvdXQiOmI7aWYoZSE9PWIpe2xldCBmPWEudGhbZV18fFtdO2YucHVzaChiKTthLnRoW2VdPWZ9YS5yaC5hZGRFdmVudExpc3RlbmVyKGUsZj0+Zz0+e2QoYixnLGYpfSxjKX19O016YT1mdW5jdGlvbihhKXtpZihMemEudGVzdChhKSlyZXR1cm4gYTthPV8uQkUoYSkudG9TdHJpbmcoKTtyZXR1cm4gYT09PV8uTXIudG9TdHJpbmcoKT8iYWJvdXQ6aW52YWxpZCN6anNsYXlvdXR6IjphfTsKT3phPWZ1bmN0aW9uKGEpe3ZhciBiPU56YS5leGVjKGEpO2lmKCFiKXJldHVybiIwO3VybD1hYm91dDppbnZhbGlkI3pqc2xheW91dHoiO3ZhciBjPWJbMl07cmV0dXJuIGJbMV0/Xy5CRShjKS50b1N0cmluZygpPT1fLk1yLnRvU3RyaW5nKCk/IjA7dXJsPWFib3V0OmludmFsaWQjempzbGF5b3V0eiI6YTpjLmxlbmd0aD09MD9hOiIwO3VybD1hYm91dDppbnZhbGlkI3pqc2xheW91dHoifTtTemE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighUHphLnRlc3QoYSl8fFF6YShhLDApIT0wKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7Zm9yKHZhciBiPVJlZ0V4cCgiKFstX2EtekEtWjAtOV0rKVxcKCIsImciKSxjOyhjPWIuZXhlYyhhKSkhPT1udWxsOylpZihSemEoY1sxXSwhMSk9PT1udWxsKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7cmV0dXJuIGF9OwpRemE9ZnVuY3Rpb24oYSxiKXtpZihiPDApcmV0dXJuLTE7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWEuY2hhckF0KGMpO2lmKGQ9PSIoIiliKys7ZWxzZSBpZihkPT0iKSIpaWYoYj4wKWItLTtlbHNlIHJldHVybi0xfXJldHVybiBifTsKVHphPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKHZhciBiPVJlZ0V4cCgiKFstX2EtekEtWjAtOV0rKVxcKCIsImciKSxjPVJlZ0V4cCgiWyBcdF0qKCg/OlwiKD86W15cXHgwMFwiXFxcXFxcblxcclxcZlxcdTAwODVcXHUwMDBiXFx1MjAyOFxcdTIwMjldKilcInwnKD86W15cXHgwMCdcXFxcXFxuXFxyXFxmXFx1MDA4NVxcdTAwMGJcXHUyMDI4XFx1MjAyOV0qKScpfCg/Ols/Ji86PV18WytcXC0uLCEjJV9hLXpBLVowLTlcdF0pKilbIFx0XSoiLCJnIiksZD0hMCxlPTAsZj0iIjtkOyl7Yi5sYXN0SW5kZXg9MDt2YXIgZz1iLmV4ZWMoYSk7ZD1nIT09bnVsbDt2YXIgaD1hO2xldCBtO2lmKGQpe2lmKGdbMV09PT12b2lkIDApcmV0dXJuInpqc2xheW91dHppbnZhbGlkIjttPVJ6YShnWzFdLCEwKTtpZihtPT09bnVsbClyZXR1cm4iempzbGF5b3V0emludmFsaWQiO2g9YS5zdWJzdHJpbmcoMCxiLmxhc3RJbmRleCk7YT1hLnN1YnN0cmluZyhiLmxhc3RJbmRleCl9ZT0KUXphKGgsZSk7aWYoZTwwfHwhUHphLnRlc3QoaCkpcmV0dXJuInpqc2xheW91dHppbnZhbGlkIjtmKz1oO2lmKGQmJm09PSJ1cmwiKXtjLmxhc3RJbmRleD0wO2c9Yy5leGVjKGEpO2lmKGc9PT1udWxsfHxnLmluZGV4IT0wKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7dmFyIGs9Z1sxXTtpZihrPT09dm9pZCAwKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7Zz1rLmxlbmd0aD09MD8wOmMubGFzdEluZGV4O2lmKGEuY2hhckF0KGcpIT0iKSIpcmV0dXJuInpqc2xheW91dHppbnZhbGlkIjtoPSIiO2subGVuZ3RoPjEmJihfLkViKGssJyInKSYmVnlhKGssJyInKT8oaz1rLnN1YnN0cmluZygxLGsubGVuZ3RoLTEpLGg9JyInKTpfLkViKGssIiciKSYmVnlhKGssIiciKSYmKGs9ay5zdWJzdHJpbmcoMSxrLmxlbmd0aC0xKSxoPSInIikpO2s9TXphKGspO2lmKGs9PSJhYm91dDppbnZhbGlkI3pqc2xheW91dHoiKXJldHVybiJ6anNsYXlvdXR6aW52YWxpZCI7Zis9aCtrK2g7YT1hLnN1YnN0cmluZyhnKX19cmV0dXJuIGUhPQowPyJ6anNsYXlvdXR6aW52YWxpZCI6Zn07UnphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO2E9VXphLmV4ZWMoYSk7aWYoYSE9PW51bGwpe2lmKGFbMV09PT12b2lkIDApcmV0dXJuIG51bGw7Yz1hWzFdfXJldHVybiBiJiZjPT0idXJsInx8YyBpbiBWemE/YzpudWxsfTtsRj1mdW5jdGlvbigpe307bUY9ZnVuY3Rpb24oYSxiLGMpe2E9YS5xaFtiXTtyZXR1cm4gYSE9bnVsbD9hOmN9O1d6YT1mdW5jdGlvbihhKXthPWEucWg7YS5wYXJhbXx8KGEucGFyYW09W10pO3JldHVybiBhLnBhcmFtfTtYemE9ZnVuY3Rpb24oYSl7dmFyIGI9e307V3phKGEpLnB1c2goYik7cmV0dXJuIGJ9O25GPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFd6YShhKVtiXX07b0Y9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucWgucGFyYW0/YS5xaC5wYXJhbS5sZW5ndGg6MH07Xy5wRj1mdW5jdGlvbihhKXt0aGlzLnFoPWF8fHt9fTtyRj1mdW5jdGlvbihhKXtxRi5xaC5jc3MzX3ByZWZpeD1hfTsKc0Y9ZnVuY3Rpb24oKXt0aGlzLnFoPXt9O3RoaXMucmg9bnVsbDt0aGlzLmVCPSsrWXphfTt0Rj1mdW5jdGlvbigpe3FGfHwocUY9bmV3IF8ucEYsXy5IYigpJiYhXy5SYigiRWRnZSIpP3JGKCItd2Via2l0LSIpOl8uZGMoKT9yRigiLW1vei0iKTpfLlhiKCk/ckYoIi1tcy0iKTpfLlViKCkmJnJGKCItby0iKSxxRi5xaC5pc19ydGw9ITEscUYua2ooImVuIikpO3JldHVybiBxRn07WnphPWZ1bmN0aW9uKCl7cmV0dXJuIHRGKCkucWh9O3ZGPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYi5jYWxsKGMsYS5xaCx1Ril9O3dGPWZ1bmN0aW9uKGEsYixjKXtiLnJoIT1udWxsJiYoYS5yaD1iLnJoKTthPWEucWg7Yj1iLnFoO2lmKGM9Y3x8bnVsbCl7YS52az1iLnZrO2EuV289Yi5Xbztmb3IodmFyIGQ9MDtkPGMubGVuZ3RoOysrZClhW2NbZF1dPWJbY1tkXV19ZWxzZSBmb3IoZCBpbiBiKWFbZF09YltkXX07CiR6YT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4geEYoKTtmb3IoYT1hLnBhcmVudE5vZGU7Xy5aYShhKSYmYS5ub2RlVHlwZT09MTthPWEucGFyZW50Tm9kZSl7bGV0IGI9YS5nZXRBdHRyaWJ1dGUoImRpciIpO2lmKGImJihiPWIudG9Mb3dlckNhc2UoKSxiPT0ibHRyInx8Yj09InJ0bCIpKXJldHVybiBifXJldHVybiB4RigpfTt4Rj1mdW5jdGlvbigpe3JldHVybiB0RigpLk1BKCk/InJ0bCI6Imx0ciJ9O2FBYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRLZXkoKX07CnlGPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5fX2lubmVyaHRtbDtjfHwoYz1hLl9faW5uZXJodG1sPVthLmlubmVySFRNTCxhLmlubmVySFRNTF0pO2lmKGNbMF0hPWJ8fGNbMV0hPWEuaW5uZXJIVE1MKV8uWmEoYSkmJl8uWmEoYSkmJl8uWmEoYSkmJmEubm9kZVR5cGU9PT0xJiYoIWEubmFtZXNwYWNlVVJJfHxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIikmJmEudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IlNDUklQVCIudG9TdHJpbmcoKT9hLnRleHRDb250ZW50PV8uREUoSEUoYikpOmEuaW5uZXJIVE1MPV8ueWooXy5EbChiKSksY1swXT1iLGNbMV09YS5pbm5lckhUTUx9O3pGPWZ1bmN0aW9uKGEpe2lmKGE9YS5nZXRBdHRyaWJ1dGUoImpzaW5zdGFuY2UiKSl7bGV0IGI9YS5pbmRleE9mKCI7Iik7cmV0dXJuKGI+PTA/YS5zdWJzdHIoMCxiKTphKS5zcGxpdCgiLCIpfXJldHVybltdfTsKYkFhPWZ1bmN0aW9uKGEpe2lmKGE9YS5nZXRBdHRyaWJ1dGUoImpzaW5zdGFuY2UiKSl7bGV0IGI9YS5pbmRleE9mKCI7Iik7cmV0dXJuIGI+PTA/YS5zdWJzdHIoYisxKTpudWxsfXJldHVybiBudWxsfTtBRj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YVtjXXx8IjAiLGU9YltjXXx8IjAiO2Q9cGFyc2VJbnQoZC5jaGFyQXQoMCk9PSIqIj9kLnN1YnN0cmluZygxKTpkLDEwKTtlPXBhcnNlSW50KGUuY2hhckF0KDApPT0iKiI/ZS5zdWJzdHJpbmcoMSk6ZSwxMCk7cmV0dXJuIGQ9PWU/YS5sZW5ndGg+Y3x8Yi5sZW5ndGg+Yz9BRihhLGIsYysxKTohMTpkPmV9O0JGPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtiW2NdPWU+PWQtMT8iKiIrZTpTdHJpbmcoZSk7Yj1iLmpvaW4oIiwiKTtmJiYoYis9IjsiK2YpO2Euc2V0QXR0cmlidXRlKCJqc2luc3RhbmNlIixiKX07CmNBYT1mdW5jdGlvbihhKXtpZighYS5oYXNBdHRyaWJ1dGUoImpzaW5zdGFuY2UiKSlyZXR1cm4gYTtmb3IodmFyIGI9ekYoYSk7Oyl7bGV0IGM9YS5uZXh0RWxlbWVudFNpYmxpbmc7aWYoIWMpcmV0dXJuIGE7bGV0IGQ9ekYoYyk7aWYoIUFGKGQsYiwwKSlyZXR1cm4gYTthPWM7Yj1kfX07Q0Y9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4iIjtpZighZEFhLnRlc3QoYSkpcmV0dXJuIGE7YS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UoZUFhLCImYW1wOyIpKTthLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShmQWEsIiZsdDsiKSk7YS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UoZ0FhLCImZ3Q7IikpO2EuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKGhBYSwiJnF1b3Q7IikpO3JldHVybiBhfTsKaUFhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiI7YS5pbmRleE9mKCciJykhPS0xJiYoYT1hLnJlcGxhY2UoaEFhLCImcXVvdDsiKSk7cmV0dXJuIGF9O21BYT1mdW5jdGlvbihhKXt2YXIgYj0iIixjO2ZvcihsZXQgZD0wO2M9YVtkXTsrK2Qpc3dpdGNoKGMpe2Nhc2UgIjwiOmNhc2UgIiYiOmxldCBlPSgiPCI9PWM/akFhOmtBYSkuZXhlYyhhLnN1YnN0cihkKSk7aWYoZSYmZVswXSl7Yis9YS5zdWJzdHIoZCxlWzBdLmxlbmd0aCk7ZCs9ZVswXS5sZW5ndGgtMTtjb250aW51ZX1jYXNlICI+IjpjYXNlICciJzpiKz1sQWFbY107YnJlYWs7ZGVmYXVsdDpiKz1jfURGPT1udWxsJiYoREY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO18uemooREYsXy5EbChiKSk7cmV0dXJuIERGLmlubmVySFRNTH07Cm9BYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhWzFdPT1udWxsKXt2YXIgZT1hWzFdPWFbMF0ubWF0Y2goXy5Eaik7aWYoZVs2XSl7bGV0IGY9ZVs2XS5zcGxpdCgiJiIpLGc9e307Zm9yKGxldCBoPTAsaz1mLmxlbmd0aDtoPGs7KytoKXtsZXQgbT1mW2hdLnNwbGl0KCI9Iik7aWYobS5sZW5ndGg9PTIpe2xldCBwPW1bMV0ucmVwbGFjZSgvLC9naSwiJTJDIikucmVwbGFjZSgvWytdL2csIiUyMCIpLnJlcGxhY2UoLzovZywiJTNBIik7dHJ5e2dbZGVjb2RlVVJJQ29tcG9uZW50KG1bMF0pXT1kZWNvZGVVUklDb21wb25lbnQocCl9Y2F0Y2gocSl7fX19ZVs2XT1nfWFbMF09bnVsbH1hPWFbMV07YiBpbiBuQWEmJihlPW5BYVtiXSxiPT0xMz9jJiYoYj1hW2VdLGQhPW51bGw/KGJ8fChiPWFbZV09e30pLGJbY109ZCk6YiYmZGVsZXRlIGJbY10pOmFbZV09ZCl9OwpwQWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b0xvd2VyQ2FzZSgpPT0iaHJlZiI/IiMiOmEudG9Mb3dlckNhc2UoKT09ImltZyImJmIudG9Mb3dlckNhc2UoKT09InNyYyI/Ii9pbWFnZXMvY2xlYXJkb3QuZ2lmIjoiIn07cUFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX07RUY9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSBudWxsOnJldHVybiBiO2Nhc2UgMjpyZXR1cm4gTXphKGIpO2Nhc2UgMTpyZXR1cm4gYT1fLkJFKGIpLnRvU3RyaW5nKCksYT09PV8uTXIudG9TdHJpbmcoKT8iYWJvdXQ6aW52YWxpZCN6anNsYXlvdXR6IjphO2Nhc2UgODpyZXR1cm4gT3phKGIpO2RlZmF1bHQ6cmV0dXJuInNhbml0aXphdGlvbl9lcnJvcl8iK2F9fTtGRj1mdW5jdGlvbihhKXthLnNoPWEucWg7YS5xaD1hLnNoLnNsaWNlKDAsYS5yaCk7YS5yaD0tMX07CkdGPWZ1bmN0aW9uKGEpe3ZhciBiPShhPWEucWgpP2EubGVuZ3RoOjA7Zm9yKGxldCBjPTA7YzxiO2MrPTcpaWYoYVtjKzBdPT0wJiZhW2MrMV09PSJkaXIiKXJldHVybiBhW2MrNV07cmV0dXJuIG51bGx9O0hGPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9YS5yaDtpZihrIT0tMSl7aWYoYS5xaFtrKzBdPT1iJiZhLnFoW2srMV09PWMmJmEucWhbaysyXT09ZCYmYS5xaFtrKzNdPT1lJiZhLnFoW2srNF09PWYmJmEucWhbays1XT09ZyYmYS5xaFtrKzZdPT1oKXthLnJoKz03O3JldHVybn1GRihhKX1lbHNlIGEucWh8fChhLnFoPVtdKTthLnFoLnB1c2goYik7YS5xaC5wdXNoKGMpO2EucWgucHVzaChkKTthLnFoLnB1c2goZSk7YS5xaC5wdXNoKGYpO2EucWgucHVzaChnKTthLnFoLnB1c2goaCl9O0lGPWZ1bmN0aW9uKGEsYil7YS50aHw9Yn07CnJBYT1mdW5jdGlvbihhKXtyZXR1cm4gYS50aCYxMDI0PyhhPUdGKGEpLGE9PSJydGwiPyJcdTIwMmNcdTIwMGUiOmE9PSJsdHIiPyJcdTIwMmNcdTIwMGYiOiIiKTphLnhoPT09ITE/IiI6IjwvIithLnpoKyI+In07SkY9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5yaCE9LTE/YS5yaDphLnFoP2EucWgubGVuZ3RoOjA7Zm9yKGxldCBmPTA7ZjxlO2YrPTcpaWYoYS5xaFtmKzBdPT1iJiZhLnFoW2YrMV09PWMmJmEucWhbZisyXT09ZClyZXR1cm4hMDtpZihhLndoKWZvcihlPTA7ZTxhLndoLmxlbmd0aDtlKz03KWlmKGEud2hbZSswXT09YiYmYS53aFtlKzFdPT1jJiZhLndoW2UrMl09PWQpcmV0dXJuITA7cmV0dXJuITF9O0tGPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtzd2l0Y2goYil7Y2FzZSA1OmM9InN0eWxlIjthLnJoIT0tMSYmZD09ImRpc3BsYXkiJiZGRihhKTticmVhaztjYXNlIDc6Yz0iY2xhc3MifUpGKGEsYixjLGQpfHxIRihhLGIsYyxkLG51bGwsbnVsbCxlLCEhZil9OwpMRj1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYj09Nil7aWYoZClmb3IoZSYmKGQ9RUUoZCkpLGI9ZC5zcGxpdCgiICIpLGM9Yi5sZW5ndGgsZD0wO2Q8YztkKyspYltkXSE9IiImJktGKGEsNywiY2xhc3MiLGJbZF0sIiIsZil9ZWxzZSBiIT0xOCYmYiE9MjAmJmIhPTIyJiZKRihhLGIsYyl8fEhGKGEsYixjLG51bGwsbnVsbCxlfHxudWxsLGQsISFmKX07c0FhPWZ1bmN0aW9uKGEsYixjLGQsZSl7c3dpdGNoKGIpe2Nhc2UgMjpjYXNlIDE6dmFyIGY9ODticmVhaztjYXNlIDg6Zj0wO2Q9T3phKGQpO2JyZWFrO2RlZmF1bHQ6Zj0wLGQ9InNhbml0aXphdGlvbl9lcnJvcl8iK2J9SkYoYSxmLGMpfHxIRihhLGYsYyxudWxsLGIsbnVsbCxkLCEhZSl9O3RBYT1mdW5jdGlvbihhLGIpe2EueGg9PT1udWxsP2EueGg9YjphLnhoJiYhYiYmR0YoYSkhPW51bGwmJihhLnpoPSJzcGFuIil9Owp1QWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGNbMV0pe3ZhciBkPWNbMV07aWYoZFs2XSl7dmFyIGU9ZFs2XSxmPVtdO2ZvcihsZXQgZyBpbiBlKXtsZXQgaD1lW2ddO2ghPW51bGwmJmYucHVzaChlbmNvZGVVUklDb21wb25lbnQoZykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChoKS5yZXBsYWNlKC8lM0EvZ2ksIjoiKS5yZXBsYWNlKC8lMjAvZywiKyIpLnJlcGxhY2UoLyUyQy9naSwiLCIpLnJlcGxhY2UoLyU3Qy9naSwifCIpKX1kWzZdPWYuam9pbigiJiIpfWRbMV09PSJodHRwIiYmZFs0XT09IjgwIiYmKGRbNF09bnVsbCk7ZFsxXT09Imh0dHBzIiYmZFs0XT09IjQ0MyImJihkWzRdPW51bGwpO2U9ZFszXTsvOlswLTldKyQvLnRlc3QoZSkmJihmPWUubGFzdEluZGV4T2YoIjoiKSxkWzNdPWUuc3Vic3RyKDAsZiksZFs0XT1lLnN1YnN0cihmKzEpKTtlPWRbNV07ZFszXSYmZSYmIWUuc3RhcnRzV2l0aCgiLyIpJiYoZFs1XT0iLyIrZSk7ZD1fLkZFKGRbMV0sZFsyXSxkWzNdLGRbNF0sZFs1XSwKZFs2XSxkWzddKX1lbHNlIGQ9Y1swXTsoYz1FRihjWzJdLGQpKXx8KGM9cEFhKGEuemgsYikpO3JldHVybiBjfTsKTUY9ZnVuY3Rpb24oYSxiLGMpe2lmKGEudGgmMTAyNClyZXR1cm4gYT1HRihhKSxhPT0icnRsIj8iXHUyMDJiIjphPT0ibHRyIj8iXHUyMDJhIjoiIjtpZihhLnhoPT09ITEpcmV0dXJuIiI7dmFyIGQ9IjwiK2EuemgsZT1udWxsLGY9IiIsZz1udWxsLGg9bnVsbCxrPSIiLG09IiIscD0iIixxPShhLnRoJjgzMikhPTA/IiI6bnVsbCx1PSIiLHg9YS5xaCx6PXg/eC5sZW5ndGg6MDtmb3IobGV0IE89MDtPPHo7Tys9Nyl7bGV0IEE9eFtPKzBdLFE9eFtPKzFdLGNhPXhbTysyXSxpYT14W08rNV07dmFyIEI9eFtPKzNdO2xldCBHYT14W08rNl07aWYoaWEhPW51bGwmJnEhPW51bGwmJiFHYSlzd2l0Y2goQSl7Y2FzZSAtMTpxKz1pYSsiLCI7YnJlYWs7Y2FzZSA3OmNhc2UgNTpxKz1BKyIuIitjYSsiLCI7YnJlYWs7Y2FzZSAxMzpxKz1BKyIuIitRKyIuIitjYSsiLCI7YnJlYWs7Y2FzZSAxODpjYXNlIDIwOmNhc2UgMjE6YnJlYWs7ZGVmYXVsdDpxKz1BKyIuIitRKyIsIn1zd2l0Y2goQSl7Y2FzZSA3OmlhPT09Cm51bGw/aCE9bnVsbCYmXy55YyhoLGNhKTppYSE9bnVsbCYmKGg9PW51bGw/aD1bY2FdOl8udmMoaCxjYSl8fGgucHVzaChjYSkpO2JyZWFrO2Nhc2UgNDp2YXIgSz0hMTtnPUI7aWE9PW51bGw/Zj1udWxsOmY9PSIiP2Y9aWE6aWEuY2hhckF0KGlhLmxlbmd0aC0xKT09IjsiP2Y9aWErZjpmPWlhKyI7IitmO2JyZWFrO2Nhc2UgNTpLPSExO2lhIT1udWxsJiZmIT09bnVsbCYmKGYhPSIiJiZmW2YubGVuZ3RoLTFdIT0iOyImJihmKz0iOyIpLGYrPWNhKyI6IitpYSk7YnJlYWs7Y2FzZSA4OmU9PW51bGwmJihlPXt9KTtpYT09PW51bGw/ZVtRXT1udWxsOmlhPyh4W08rNF0mJihpYT1FRShpYSkpLGVbUV09W2lhLG51bGwsQl0pOmVbUV09WyIiLG51bGwsQl07YnJlYWs7Y2FzZSAxODppYSE9bnVsbCYmKFE9PSJqc2wiPyhLPSEwLGsrPWlhKTpRPT0ianN2cyImJihtKz1pYSkpO2JyZWFrO2Nhc2UgMjA6aWEhPW51bGwmJihwJiYocCs9IiwiKSxwKz1pYSk7YnJlYWs7Y2FzZSAyMjppYSE9bnVsbCYmCih1JiYodSs9IjsiKSx1Kz1pYSk7YnJlYWs7Y2FzZSAwOmlhIT1udWxsJiYoZCs9IiAiK1ErIj0iLGlhPUVGKEIsaWEpLGQ9eFtPKzRdP2QrKCciJytpQWEoaWEpKyciJyk6ZCsoJyInK0NGKGlhKSsnIicpKTticmVhaztjYXNlIDE0OmNhc2UgMTE6Y2FzZSAxMjpjYXNlIDEwOmNhc2UgOTpjYXNlIDEzOmU9PW51bGwmJihlPXt9KSxCPWVbUV0sQiE9PW51bGwmJihCfHwoQj1lW1FdPVsiIixudWxsLG51bGxdKSxvQWEoQixBLGNhLGlhKSl9fWlmKGUhPW51bGwpZm9yKGxldCBPIGluIGUpeD11QWEoYSxPLGVbT10pLGQrPSIgIitPKyc9IicrQ0YoeCkrJyInO3UmJihkKz0nIGpzYWN0aW9uPSInK2lBYSh1KSsnIicpO3AmJihkKz0nIGpzaW5zdGFuY2U9IicrQ0YocCkrJyInKTtoIT1udWxsJiZoLmxlbmd0aD4wJiYoZCs9JyBjbGFzcz0iJytDRihoLmpvaW4oIiAiKSkrJyInKTtrJiYhSyYmKGQrPScganNsPSInK0NGKGspKyciJyk7aWYoZiE9bnVsbCl7Zm9yKDtmIT0iIiYmZltmLmxlbmd0aC0KMV09PSI7IjspZj1mLnN1YnN0cigwLGYubGVuZ3RoLTEpO2YhPSIiJiYoZj1FRihnLGYpLGQrPScgc3R5bGU9IicrQ0YoZikrJyInKX1rJiZLJiYoZCs9JyBqc2w9IicrQ0YoaykrJyInKTttJiYoZCs9JyBqc3ZzPSInK0NGKG0pKyciJyk7cSE9bnVsbCYmcS5pbmRleE9mKCIuIikhPS0xJiYoZCs9JyBqc2FuPSInK3Euc3Vic3RyKDAscS5sZW5ndGgtMSkrJyInKTtjJiYoZCs9JyBqc3RpZD0iJythLkJoKyciJyk7cmV0dXJuIGQrKGI/Ii8+IjoiPiIpfTtORj1mdW5jdGlvbihhKXt0aGlzLnFoPWF8fHt9fTtPRj1mdW5jdGlvbihhKXt0aGlzLnFoPWF8fHt9fTt2QWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGEucHJvcGVydHlJc0VudW1lcmFibGUhPSJ1bmRlZmluZWQiJiYhYS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgibGVuZ3RoIil9Owp3QWE9ZnVuY3Rpb24oYSxiLGMpe3N3aXRjaChfLmNGKGEsYikpe2Nhc2UgMTpyZXR1cm4hMTtjYXNlIC0xOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIGN9fTtQRj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/IV8uRWphLnRlc3QoYkYoYSxiKSk6Xy5GamEudGVzdChiRihhLGIpKX07ClFGPWZ1bmN0aW9uKGEpe2lmKGEucWgub3JpZ2luYWxfdmFsdWUhPW51bGwpe3ZhciBiPW5ldyBfLld2KG1GKGEsIm9yaWdpbmFsX3ZhbHVlIiwiIikpOyJvcmlnaW5hbF92YWx1ZSJpbiBhLnFoJiZkZWxldGUgYS5xaC5vcmlnaW5hbF92YWx1ZTtiLnNoJiYoYS5xaC5wcm90b2NvbD1iLnNoKTtiLnFoJiYoYS5xaC5ob3N0PWIucWgpO2IudGghPW51bGw/YS5xaC5wb3J0PWIudGg6Yi5zaCYmKGIuc2g9PSJodHRwIj9hLnFoLnBvcnQ9ODA6Yi5zaD09Imh0dHBzIiYmKGEucWgucG9ydD00NDMpKTtiLnpoJiZhLnNldFBhdGgoYi5nZXRQYXRoKCkpO2IueGgmJihhLnFoLmhhc2g9Yi54aCk7dmFyIGM9Yi5yaC5ScygpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7KytkKXtsZXQgZT1jW2RdLGY9bmV3IE5GKFh6YShhKSk7Zi5xaC5rZXk9ZTtmLnNldFZhbHVlKGIucmguSm0oZSlbMF0pfX19Owp4QWE9ZnVuY3Rpb24oLi4uYSl7Zm9yKGE9MDthPGFyZ3VtZW50cy5sZW5ndGg7KythKWlmKCFhcmd1bWVudHNbYV0pcmV0dXJuITE7cmV0dXJuITB9O18uUkY9ZnVuY3Rpb24oYSxiKXt5QWEudGVzdChiKXx8KGI9Yi5pbmRleE9mKCJsZWZ0Iik+PTA/Yi5yZXBsYWNlKHpBYSwicmlnaHQiKTpiLnJlcGxhY2UoQUFhLCJsZWZ0IiksXy52YyhCQWEsYSkmJihhPWIuc3BsaXQoQ0FhKSxhLmxlbmd0aD49NCYmKGI9W2FbMF0sYVszXSxhWzJdLGFbMV1dLmpvaW4oIiAiKSkpKTtyZXR1cm4gYn07REFhPWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goXy5jRihhLGIpKXtjYXNlIDE6cmV0dXJuImx0ciI7Y2FzZSAtMTpyZXR1cm4icnRsIjtkZWZhdWx0OnJldHVybiBjfX07RUFhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUEYoYSxiLGM9PSJydGwiKT8icnRsIjoibHRyIn07Xy5TRj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1udWxsP251bGw6bmV3IEZBYShhLGIpfTsKR0FhPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyI/IiciK2EucmVwbGFjZSgvJy9nLCJcXCciKSsiJyI6U3RyaW5nKGEpfTtfLlRGPWZ1bmN0aW9uKGEsYiwuLi5jKXtmb3IobGV0IGQgb2YgYyl7aWYoIWEpcmV0dXJuIGI7YT1kKGEpfXJldHVybiBhPT1udWxsfHxhPT12b2lkIDA/YjphfTtfLlVGPWZ1bmN0aW9uKGEsLi4uYil7Zm9yKGxldCBjIG9mIGIpe2lmKCFhKXJldHVybiAwO2E9YyhhKX1yZXR1cm4gYT09bnVsbHx8YT09dm9pZCAwPzA6dkFhKGEpP2EubGVuZ3RoOi0xfTtIQWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT49Yn07SUFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE+Yn07SkFhPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5jYWxsKG51bGwpIT09dm9pZCAwfWNhdGNoKGIpe3JldHVybiExfX07Xy5WRj1mdW5jdGlvbihhLC4uLmIpe2ZvcihsZXQgYyBvZiBiKXtpZighYSlyZXR1cm4hMTthPWMoYSl9cmV0dXJuIGF9OwpLQWE9ZnVuY3Rpb24oYSxiKXthPW5ldyBPRihhKTtRRihhKTtmb3IobGV0IGM9MDtjPG9GKGEpOysrYylpZigobmV3IE5GKG5GKGEsYykpKS5nZXRLZXkoKT09YilyZXR1cm4hMDtyZXR1cm4hMX07TEFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8PWJ9O01BYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPGJ9O05BYT1mdW5jdGlvbihhLGIsYyl7Yz1+fihjfHwwKTtjPT0wJiYoYz0xKTt2YXIgZD1bXTtpZihjPjApZm9yKGE9fn5hO2E8YjthKz1jKWQucHVzaChhKTtlbHNlIGZvcihhPX5+YTthPmI7YSs9YylkLnB1c2goYSk7cmV0dXJuIGR9O09BYT1mdW5jdGlvbihhKXt0cnl7bGV0IGI9YS5jYWxsKG51bGwpO3JldHVybiB2QWEoYik/Yi5sZW5ndGg6Yj09PXZvaWQgMD8wOjF9Y2F0Y2goYil7cmV0dXJuIDB9fTsKUEFhPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwpe2xldCBiPWEub3JkaW5hbDtiPT1udWxsJiYoYj1hLkRCKTtpZihiIT1udWxsJiZ0eXBlb2YgYj09ImZ1bmN0aW9uIilyZXR1cm4gU3RyaW5nKGIuY2FsbChhKSl9cmV0dXJuIiIrYX07UUFhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIDA7dmFyIGI9YS5vcmRpbmFsO2I9PW51bGwmJihiPWEuREIpO3JldHVybiBiIT1udWxsJiZ0eXBlb2YgYj09ImZ1bmN0aW9uIj9iLmNhbGwoYSk6YT49MD9NYXRoLmZsb29yKGEpOk1hdGguY2VpbChhKX07ClJBYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIGM9bmV3IE9GO2MucWgub3JpZ2luYWxfdmFsdWU9YX1lbHNlIGM9bmV3IE9GKGEpO1FGKGMpO2lmKGIpZm9yKGE9MDthPGIubGVuZ3RoOysrYSl7dmFyIGQ9YlthXTtsZXQgZT1kLmtleSE9bnVsbD9kLmtleTpkLmtleSxmPWQudmFsdWUhPW51bGw/ZC52YWx1ZTpkLnZhbHVlO2Q9ITE7Zm9yKGxldCBnPTA7ZzxvRihjKTsrK2cpaWYoKG5ldyBORihuRihjLGcpKSkuZ2V0S2V5KCk9PWUpeyhuZXcgTkYobkYoYyxnKSkpLnNldFZhbHVlKGYpO2Q9ITA7YnJlYWt9ZHx8KGQ9bmV3IE5GKFh6YShjKSksZC5xaC5rZXk9ZSxkLnNldFZhbHVlKGYpKX1yZXR1cm4gYy5xaH07U0FhPWZ1bmN0aW9uKGEsYil7YT1uZXcgT0YoYSk7UUYoYSk7Zm9yKGxldCBjPTA7YzxvRihhKTsrK2Mpe2xldCBkPW5ldyBORihuRihhLGMpKTtpZihkLmdldEtleSgpPT1iKXJldHVybiBkLmdldFZhbHVlKCl9cmV0dXJuIiJ9OwpUQWE9ZnVuY3Rpb24oYSl7YT1uZXcgT0YoYSk7UUYoYSk7dmFyIGI9YS5xaC5wcm90b2NvbCE9bnVsbD9tRihhLCJwcm90b2NvbCIsIiIpOm51bGwsYz1hLnFoLmhvc3QhPW51bGw/bUYoYSwiaG9zdCIsIiIpOm51bGwsZD1hLnFoLnBvcnQhPW51bGwmJihhLnFoLnByb3RvY29sPT1udWxsfHxtRihhLCJwcm90b2NvbCIsIiIpPT0iaHR0cCImJittRihhLCJwb3J0IiwwKSE9ODB8fG1GKGEsInByb3RvY29sIiwiIik9PSJodHRwcyImJittRihhLCJwb3J0IiwwKSE9NDQzKT8rbUYoYSwicG9ydCIsMCk6bnVsbCxlPWEucWgucGF0aCE9bnVsbD9hLmdldFBhdGgoKTpudWxsLGY9YS5xaC5oYXNoIT1udWxsP21GKGEsImhhc2giLCIiKTpudWxsLGc9bmV3IF8uV3YobnVsbCk7YiYmXy5YdihnLGIpO2MmJihnLnFoPWMpO2QmJl8uWnYoZyxkKTtlJiZnLnNldFBhdGgoZSk7ZiYmXy5hdyhnLGYpO2ZvcihiPTA7YjxvRihhKTsrK2IpYz1uZXcgTkYobkYoYSxiKSksZy5odihjLmdldEtleSgpLGMuZ2V0VmFsdWUoKSk7CnJldHVybiBnLnRvU3RyaW5nKCl9O1dGPWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goVUFhKTtiPT1udWxsJiYoYj1bXSk7aWYoYi5qb2luKCIiKS5sZW5ndGghPWEubGVuZ3RoKXtsZXQgYz0wO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGgmJmEuc3Vic3RyKGMsYltkXS5sZW5ndGgpPT1iW2RdO2QrKyljKz1iW2RdLmxlbmd0aDt0aHJvdyBFcnJvcigiUGFyc2luZyBlcnJvciBhdCBwb3NpdGlvbiAiK2MrIiBvZiAiK2EpO31yZXR1cm4gYn07CllGPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9ITEsZT1bXTtiPGM7YisrKXt2YXIgZj1hW2JdO2lmKGY9PSJ7IilkPSEwLGUucHVzaCgifSIpO2Vsc2UgaWYoZj09Ii4ifHxmPT0ibmV3Inx8Zj09IiwiJiZlW2UubGVuZ3RoLTFdPT0ifSIpZD0hMDtlbHNlIGlmKFhGLnRlc3QoZikpYVtiXT0iICI7ZWxzZXtpZighZCYmVkFhLnRlc3QoZikmJiFXQWEudGVzdChmKSl7aWYoYVtiXT0odUZbZl0hPW51bGw/ImciOiJ2IikrIi4iK2YsZj09ImhhcyJ8fGY9PSJzaXplIil7ZD1hO2ZvcihiKz0xO2RbYl0hPSIoIiYmYjxkLmxlbmd0aDspYisrO2RbYl09IihmdW5jdGlvbigpe3JldHVybiAiO2lmKGI9PWQubGVuZ3RoKXRocm93IEVycm9yKCciKCIgbWlzc2luZyBmb3IgaGFzKCkgb3Igc2l6ZSgpLicpO2IrKztmPWI7Zm9yKHZhciBnPTAsaD0hMDtiPGQubGVuZ3RoOyl7bGV0IGs9ZFtiXTtpZihrPT0iKCIpZysrO2Vsc2UgaWYoaz09IikiKXtpZihnPT0wKWJyZWFrO2ctLX1lbHNlIGsudHJpbSgpIT0KIiImJmsuY2hhckF0KDApIT0nIicmJmsuY2hhckF0KDApIT0iJyImJmshPSIrIiYmKGg9ITEpO2IrK31pZihiPT1kLmxlbmd0aCl0aHJvdyBFcnJvcignbWF0Y2hpbmcgIikiIG1pc3NpbmcgZm9yIGhhcygpIG9yIHNpemUoKS4nKTtkW2JdPSJ9KSI7Zz1kLnNsaWNlKGYsYikuam9pbigiIikudHJpbSgpO2lmKGgpZm9yKGg9IiIrY3phKHdpbmRvdyxIRShnKSksaD1XRihoKSxZRihoLDAsaC5sZW5ndGgpLGRbZl09aC5qb2luKCIiKSxmKz0xO2Y8YjtmKyspZFtmXT0iIjtlbHNlIFlGKGQsZixiKX19ZWxzZSBpZihmPT0iKCIpZS5wdXNoKCIpIik7ZWxzZSBpZihmPT0iWyIpZS5wdXNoKCJdIik7ZWxzZSBpZihmPT0iKSJ8fGY9PSJdInx8Zj09In0iKXtpZihlLmxlbmd0aD09MCl0aHJvdyBFcnJvcignVW5leHBlY3RlZCAiJytmKyciLicpO2Q9ZS5wb3AoKTtpZihmIT1kKXRocm93IEVycm9yKCdFeHBlY3RlZCAiJytkKyciIGJ1dCBmb3VuZCAiJytmKyciLicpO31kPSExfX1pZihlLmxlbmd0aCE9CjApdGhyb3cgRXJyb3IoIk1pc3NpbmcgYnJhY2tldChzKTogIitlLmpvaW4oKSk7fTtaRj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aDtiPGM7YisrKXtsZXQgZD1hW2JdO2lmKGQ9PSI6IilyZXR1cm4gYjtpZihkPT0ieyJ8fGQ9PSI/Inx8ZD09IjsiKWJyZWFrfXJldHVybi0xfTskRj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hLmxlbmd0aDtiPGM7YisrKWlmKGFbYl09PSI7IilyZXR1cm4gYjtyZXR1cm4gY307Ykc9ZnVuY3Rpb24oYSl7YT1XRihhKTtyZXR1cm4gYUcoYSl9O2NHPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiLGMpe2JbYV09Y319O2FHPWZ1bmN0aW9uKGEsYil7WUYoYSwwLGEubGVuZ3RoKTthPWEuam9pbigiIik7YiYmKGE9J3ZbIicrYisnIl0gPSAnK2EpO2I9WEFhW2FdO2J8fChiPW5ldyBGdW5jdGlvbigidiIsImciLF8uREUoSEUoInJldHVybiAiK2EpKSksWEFhW2FdPWIpO3JldHVybiBifTtkRz1mdW5jdGlvbihhKXtyZXR1cm4gYX07CiRBYT1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gZUcpZGVsZXRlIGVHW2NdO2E9V0YoYSk7dmFyIGQ9MDtmb3IoYz1hLmxlbmd0aDtkPGM7KXtsZXQgbT1bbnVsbCxudWxsLG51bGwsbnVsbCxudWxsXTtmb3IodmFyIGU9IiIsZj0iIjtkPGM7ZCsrKXtmPWFbZF07aWYoZj09Ij8ifHxmPT0iOiIpe2UhPSIiJiZtLnB1c2goZSk7YnJlYWt9WEYudGVzdChmKXx8KGY9PSIuIj8oZSE9IiImJm0ucHVzaChlKSxlPSIiKTplPWYuY2hhckF0KDApPT0nIid8fGYuY2hhckF0KDApPT0iJyI/ZStjemEod2luZG93LEhFKGYpKTplK2YpfWlmKGQ+PWMpYnJlYWs7ZT0kRihhLGQrMSk7dmFyIGc9bTtmRy5sZW5ndGg9MDtmb3IodmFyIGg9NTtoPGcubGVuZ3RoOysraCl7dmFyIGs9Z1toXTtZQWEudGVzdChrKT9mRy5wdXNoKGsucmVwbGFjZShZQWEsIiYmIikpOmZHLnB1c2goayl9az1mRy5qb2luKCImIik7Zz1lR1trXTtpZihoPXR5cGVvZiBnPT0idW5kZWZpbmVkIilnPWVHW2tdPQpiLmxlbmd0aCxiLnB1c2gobSk7az1tPWJbZ107bGV0IHA9bS5sZW5ndGgtMSxxPW51bGw7c3dpdGNoKG1bcF0pe2Nhc2UgImZpbHRlcl91cmwiOnE9MTticmVhaztjYXNlICJmaWx0ZXJfaW1ndXJsIjpxPTI7YnJlYWs7Y2FzZSAiZmlsdGVyX2Nzc19yZWd1bGFyIjpxPTU7YnJlYWs7Y2FzZSAiZmlsdGVyX2Nzc19zdHJpbmciOnE9NjticmVhaztjYXNlICJmaWx0ZXJfY3NzX3VybCI6cT03fXEmJl8ueGMobSxwKTtrWzFdPXE7ZD1hRyhhLnNsaWNlKGQrMSxlKSk7Zj09IjoiP21bNF09ZDpmPT0iPyImJihtWzNdPWQpO2lmKGgpe2xldCB1O2Y9bVs1XTtmPT0iY2xhc3MifHxmPT0iY2xhc3NOYW1lIj9tLmxlbmd0aD09Nj91PTY6KG0uc3BsaWNlKDUsMSksdT03KTpmPT0ic3R5bGUiP20ubGVuZ3RoPT02P3U9NDoobS5zcGxpY2UoNSwxKSx1PTUpOmYgaW4gWkFhP20ubGVuZ3RoPT02P3U9ODptWzZdPT0iaGFzaCI/KHU9MTQsbS5sZW5ndGg9Nik6bVs2XT09Imhvc3QiPyh1PTExLG0ubGVuZ3RoPQo2KTptWzZdPT0icGF0aCI/KHU9MTIsbS5sZW5ndGg9Nik6bVs2XT09InBhcmFtIiYmbS5sZW5ndGg+PTg/KHU9MTMsbS5zcGxpY2UoNiwxKSk6bVs2XT09InBvcnQiPyh1PTEwLG0ubGVuZ3RoPTYpOm1bNl09PSJwcm90b2NvbCI/KHU9OSxtLmxlbmd0aD02KTpiLnNwbGljZShnLDEpOnU9MDttWzBdPXV9ZD1lKzF9cmV0dXJuIGJ9O2FCYT1mdW5jdGlvbihhLGIpe3ZhciBjPWNHKGEpO3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1iKGQpO2MoZCxlKTtyZXR1cm4gZX19O2lHPWZ1bmN0aW9uKGEsYil7dmFyIGM9U3RyaW5nKCsrYkJhKTtnR1tiXT1jO2hHW2NdPWE7cmV0dXJuIGN9O2pHPWZ1bmN0aW9uKGEsYil7YS5zZXRBdHRyaWJ1dGUoImpzdGNhY2hlIixiKTthLl9fanN0Y2FjaGU9aEdbYl19O2xHPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPTA7a0cucHVzaChhKX07CmRCYT1mdW5jdGlvbihhLGIpe2lmKCFifHwhYi5nZXRBdHRyaWJ1dGUpcmV0dXJuIG51bGw7Y0JhKGEsYixudWxsKTt2YXIgYz1iLl9fcnQ7cmV0dXJuIGMmJmMubGVuZ3RoP2NbYy5sZW5ndGgtMV06ZEJhKGEsYi5wYXJlbnROb2RlKX07bUc9ZnVuY3Rpb24oYSl7dmFyIGI9aEdbZ0dbYSsiIDAiXXx8IjAiXTtiWzBdIT0iJHQiJiYoYj1bIiR0IixhXS5jb25jYXQoYikpO3JldHVybiBifTtuRz1mdW5jdGlvbihhLGIpe2E9Z0dbYisiICIrYV07cmV0dXJuIGhHW2FdP2E6bnVsbH07ZUJhPWZ1bmN0aW9uKGEsYil7YT1uRyhhLGIpO3JldHVybiBhIT1udWxsP2hHW2FdOm51bGx9O2ZCYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQ9PWUpcmV0dXJuIGxHKGIpLCIwIjtiWzBdPT0iJHQiP2E9YlsxXSsiIDAiOihhKz0iOiIsYT1kPT0wJiZlPT1jLmxlbmd0aD9hK2Muam9pbigiOiIpOmErYy5zbGljZShkLGUpLmpvaW4oIjoiKSk7KGM9Z0dbYV0pP2xHKGIpOmM9aUcoYixhKTtyZXR1cm4gY307Cm9HPWZ1bmN0aW9uKGEpe3ZhciBiPWEuX19ydDtifHwoYj1hLl9fcnQ9W10pO3JldHVybiBifTsKY0JhPWZ1bmN0aW9uKGEsYixjKXtpZighYi5fX2pzdGNhY2hlKXtiLmhhc0F0dHJpYnV0ZSgianN0aWQiKSYmKGIuZ2V0QXR0cmlidXRlKCJqc3RpZCIpLGIucmVtb3ZlQXR0cmlidXRlKCJqc3RpZCIpKTt2YXIgZD1iLmdldEF0dHJpYnV0ZSgianN0Y2FjaGUiKTtpZihkIT1udWxsJiZoR1tkXSliLl9fanN0Y2FjaGU9aEdbZF07ZWxzZXtkPWIuZ2V0QXR0cmlidXRlKCJqc2wiKTtnQmEubGFzdEluZGV4PTA7Zm9yKHZhciBlO2U9Z0JhLmV4ZWMoZCk7KW9HKGIpLnB1c2goZVsxXSk7Yz09bnVsbCYmKGM9U3RyaW5nKGRCYShhLGIucGFyZW50Tm9kZSkpKTtpZihhPWhCYS5leGVjKGQpKWU9YVsxXSxkPW5HKGUsYyksZD09bnVsbCYmKGE9a0cubGVuZ3RoP2tHLnBvcCgpOltdLGEucHVzaCgiJHgiKSxhLnB1c2goZSksYz1jKyI6IithLmpvaW4oIjoiKSwoZD1nR1tjXSkmJmhHW2RdP2xHKGEpOmQ9aUcoYSxjKSksakcoYixkKSxiLnJlbW92ZUF0dHJpYnV0ZSgianNsIik7ZWxzZXthPWtHLmxlbmd0aD8Ka0cucG9wKCk6W107ZD1wRy5sZW5ndGg7Zm9yKGU9MDtlPGQ7KytlKXt2YXIgZj1wR1tlXSxnPWZbMF07aWYoIWcpY29udGludWU7dmFyIGg9Yi5nZXRBdHRyaWJ1dGUoZyk7aWYoIWgpY29udGludWU7Zj1mWzJdO2lmKGc9PSJqc2wiKXtmPVdGKGgpO2Zvcih2YXIgaz1mLmxlbmd0aCxtPTAscD0iIjttPGs7KXt2YXIgcT0kRihmLG0pO1hGLnRlc3QoZlttXSkmJm0rKztpZihtPj1xKXttPXErMTtjb250aW51ZX12YXIgdT1mW20rK107aWYoIVZBYS50ZXN0KHUpKXRocm93IEVycm9yKCdDbWQgbmFtZSBleHBlY3RlZDsgZ290ICInK3UrJyIgaW4gIicraCsnIi4nKTtpZihtPHEmJiFYRi50ZXN0KGZbbV0pKXRocm93IEVycm9yKCciICIgZXhwZWN0ZWQgYmV0d2VlbiBjbWQgYW5kIHBhcmFtLicpO209Zi5zbGljZShtKzEscSkuam9pbigiIik7dT09IiRhIj9wKz1tKyI7IjoocCYmKGEucHVzaCgiJGEiKSxhLnB1c2gocCkscD0iIikscUdbdV0mJihhLnB1c2godSksYS5wdXNoKG0pKSk7Cm09cSsxfXAmJihhLnB1c2goIiRhIiksYS5wdXNoKHApKX1lbHNlIGlmKGc9PSJqc21hdGNoIilmb3IoaD1XRihoKSxmPWgubGVuZ3RoLHE9MDtxPGY7KWs9WkYoaCxxKSxwPSRGKGgscSkscT1oLnNsaWNlKHEscCkuam9pbigiIiksWEYudGVzdChxKXx8KGshPT0tMT8oYS5wdXNoKCJkaXNwbGF5IiksYS5wdXNoKGguc2xpY2UoaysxLHApLmpvaW4oIiIpKSxhLnB1c2goInZhciIpKTphLnB1c2goImRpc3BsYXkiKSxhLnB1c2gocSkpLHE9cCsxO2Vsc2UgYS5wdXNoKGYpLGEucHVzaChoKTtiLnJlbW92ZUF0dHJpYnV0ZShnKX1pZihhLmxlbmd0aD09MClqRyhiLCIwIik7ZWxzZXtpZihhWzBdPT0iJHUifHxhWzBdPT0iJHQiKWM9YVsxXTtkPWdHW2MrIjoiK2Euam9pbigiOiIpXTtpZighZHx8IWhHW2RdKWE6e2U9YztjPSIwIjtmPWtHLmxlbmd0aD9rRy5wb3AoKTpbXTtkPTA7Zz1hLmxlbmd0aDtmb3IoaD0wO2g8ZztoKz0yKXtrPWFbaF07cT1hW2grMV07cD1xR1trXTt1PXBbMV07cD0KKDAscFswXSkocSk7az09IiR0IiYmcSYmKGU9cSk7aWYoaz09IiRrIilmW2YubGVuZ3RoLTJdPT0iZm9yIiYmKGZbZi5sZW5ndGgtMl09IiRmayIsZltmLmxlbmd0aC0yKzFdLnB1c2gocCkpO2Vsc2UgaWYoaz09IiR0IiYmYVtoKzJdPT0iJHgiKXtwPW5HKCIwIixlKTtpZihwIT1udWxsKXtkPT0wJiYoYz1wKTtsRyhmKTtkPWM7YnJlYWsgYX1mLnB1c2goIiR0Iik7Zi5wdXNoKHEpfWVsc2UgaWYodSlmb3IocT1wLmxlbmd0aCx1PTA7dTxxOysrdSlpZihtPXBbdV0saz09Il9hIil7bGV0IHg9bVswXSx6PW1bNV0sQj16LmNoYXJBdCgwKTtCPT0iJCI/KGYucHVzaCgidmFyIiksZi5wdXNoKGFCYShtWzVdLG1bNF0pKSk6Qj09IkAiPyhmLnB1c2goIiRhIiksbVs1XT16LnN1YnN0cigxKSxmLnB1c2gobSkpOng9PTZ8fHg9PTd8fHg9PTR8fHg9PTV8fHo9PSJqc2FjdGlvbiJ8fHogaW4gWkFhPyhmLnB1c2goIiRhIiksZi5wdXNoKG0pKToockcuaGFzT3duUHJvcGVydHkoeikmJihtWzVdPQpyR1t6XSksbS5sZW5ndGg9PTYmJihmLnB1c2goIiRhIiksZi5wdXNoKG0pKSl9ZWxzZSBmLnB1c2goayksZi5wdXNoKG0pO2Vsc2UgZi5wdXNoKGspLGYucHVzaChwKTtpZihrPT0iJHUifHxrPT0iJHVlInx8az09IiR1cCJ8fGs9PSIkeCIpaz1oKzIsZj1mQmEoZSxmLGEsZCxrKSxkPT0wJiYoYz1mKSxmPVtdLGQ9a31lPWZCYShlLGYsYSxkLGEubGVuZ3RoKTtkPT0wJiYoYz1lKTtkPWN9akcoYixkKX1sRyhhKX19fX07aUJhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX07akJhPWZ1bmN0aW9uKGEpe3ZhciBiPWEucWguY3JlYXRlRWxlbWVudCgiU1RZTEUiKTthLnFoLmhlYWQ/YS5xaC5oZWFkLmFwcGVuZENoaWxkKGIpOmEucWguYm9keS5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07CmtCYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhWzNdPT0ibnVtYmVyIil7dmFyIGM9YVszXTthWzNdPWJbY107YS5IQz1jfWVsc2UgdHlwZW9mIGFbM109PSJ1bmRlZmluZWQiJiYoYVszXT1bXSxhLkhDPS0xKTt0eXBlb2YgYVsxXSE9Im51bWJlciImJihhWzFdPTApO2lmKChhPWFbNF0pJiZ0eXBlb2YgYSE9InN0cmluZyIpZm9yKGM9MDtjPGEubGVuZ3RoOysrYylhW2NdJiZ0eXBlb2YgYVtjXSE9InN0cmluZyImJmtCYShhW2NdLGIpfTtfLnNHPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtmb3IobGV0IGc9MDtnPGYubGVuZ3RoOysrZylmW2ddJiZpRyhmW2ddLGIrIiAiK1N0cmluZyhnKSk7a0JhKGQsZik7YT1hLnFoO2lmKCFBcnJheS5pc0FycmF5KGMpKXtmPVtdO2ZvcihsZXQgZyBpbiBjKWZbY1tnXV09ZztjPWZ9YVtiXT17cko6MCxlbGVtZW50czpkLFlHOmUsYXJnczpjLHJTOm51bGwsYXN5bmM6ITEsZmluZ2VycHJpbnQ6bnVsbH19OwpfLnRHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIgaW4gYS5xaCYmIWEucWhbYl0uYk99O3VHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucWhbYl18fGEueGhbYl18fG51bGx9OwpsQmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWM9PW51bGw/MDpjLmxlbmd0aDtmb3IobGV0IGc9MDtnPGQ7KytnKXtsZXQgaD1jW2ddO2ZvcihsZXQgaz0wO2s8aC5sZW5ndGg7ays9Mil7dmFyIGU9aFtrKzFdO3N3aXRjaChoW2tdKXtjYXNlICJjc3MiOmlmKGU9dHlwZW9mIGU9PSJzdHJpbmciP2U6dkYoYixlLG51bGwpKXt2YXIgZj1hLnRoO2UgaW4gZi50aHx8KGYudGhbZV09ITAsIiIuaW5kZXhPZihlKT09LTEmJmYucmgucHVzaChlKSl9YnJlYWs7Y2FzZSAiJHVwIjpmPXVHKGEsZVswXS5nZXRLZXkoKSk7aWYoIWYpYnJlYWs7aWYoZS5sZW5ndGg9PTImJiF2RihiLGVbMV0pKWJyZWFrO2U9Zi5lbGVtZW50cz9mLmVsZW1lbnRzWzNdOm51bGw7bGV0IG09ITA7aWYoZSE9bnVsbClmb3IobGV0IHA9MDtwPGUubGVuZ3RoO3ArPTIpaWYoZVtwXT09IiRpZiImJiF2RihiLGVbcCsxXSkpe209ITE7YnJlYWt9bSYmbEJhKGEsYixmLllHKTticmVhaztjYXNlICIkZyI6KDAsZVswXSkoYi5xaCwKYi5yaD9iLnJoLnFoW2VbMV1dOm51bGwpO2JyZWFrO2Nhc2UgInZhciI6dkYoYixlLG51bGwpfX19fTt2Rz1mdW5jdGlvbihhKXt0aGlzLmVsZW1lbnQ9YTt0aGlzLnNoPXRoaXMudGg9dGhpcy5xaD10aGlzLnRhZz10aGlzLm5leHQ9bnVsbDt0aGlzLnJoPSExfTttQmE9ZnVuY3Rpb24oKXt0aGlzLnJoPW51bGw7dGhpcy50aD1TdHJpbmc7dGhpcy5zaD0iIjt0aGlzLnFoPW51bGx9O3dHPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5xaD1hO3RoaXMudGg9Yjt0aGlzLkNoPXRoaXMuemg9dGhpcy54aD0wO3RoaXMuRmg9IiI7dGhpcy5BaD1bXTt0aGlzLkJoPSExO3RoaXMub2k9Yzt0aGlzLmNvbnRleHQ9ZDt0aGlzLnloPTA7dGhpcy53aD10aGlzLnJoPW51bGw7dGhpcy5zaD1lO3RoaXMuRGg9bnVsbH07CnhHPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWJ8fGEud2ghPW51bGwmJnhHKGEud2gsYik/ITA6YS55aD09MiYmYS5yaCE9bnVsbCYmYS5yaFswXSE9bnVsbCYmeEcoYS5yaFswXSxiKX07ekc9ZnVuY3Rpb24oYSxiLGMpe2lmKGEucWg9PXlHJiZhLnNoPT1iKXJldHVybiBhO2lmKGEuQWghPW51bGwmJmEuQWgubGVuZ3RoPjAmJmEucWhbYS54aF09PSIkdCIpe2lmKGEucWhbYS54aCsxXT09YilyZXR1cm4gYTtjJiZjLnB1c2goYS5xaFthLnhoKzFdKX1pZihhLndoIT1udWxsKXtsZXQgZD16RyhhLndoLGIsYyk7aWYoZClyZXR1cm4gZH1yZXR1cm4gYS55aD09MiYmYS5yaCE9bnVsbCYmYS5yaFswXSE9bnVsbD96RyhhLnJoWzBdLGIsYyk6bnVsbH07CkFHPWZ1bmN0aW9uKGEpe3ZhciBiPWEuRGg7aWYoYiE9bnVsbCl7dmFyIGM9YlsiYWN0aW9uOmxvYWQiXTtjIT1udWxsJiYoYy5jYWxsKGEub2kuZWxlbWVudCksYlsiYWN0aW9uOmxvYWQiXT1udWxsKTtjPWJbImFjdGlvbjpjcmVhdGUiXTtjIT1udWxsJiYoYy5jYWxsKGEub2kuZWxlbWVudCksYlsiYWN0aW9uOmNyZWF0ZSJdPW51bGwpfWEud2ghPW51bGwmJkFHKGEud2gpO2EueWg9PTImJmEucmghPW51bGwmJmEucmhbMF0hPW51bGwmJkFHKGEucmhbMF0pfTtCRz1mdW5jdGlvbihhLGIsYyl7dGhpcy5yaD1hO3RoaXMueGg9YS5kb2N1bWVudCgpOysrbkJhO3RoaXMud2g9dGhpcy50aD10aGlzLnFoPW51bGw7dGhpcy5zaD0hMTt0aGlzLnloPShiJjIpPT0yO3RoaXMuemg9Yz09bnVsbD9udWxsOl8ubWIoKStjfTsKb0JhPWZ1bmN0aW9uKGEsYixjKXtpZihiPT1udWxsfHxiLmZpbmdlcnByaW50PT1udWxsKXJldHVybiExO2I9Yy5nZXRBdHRyaWJ1dGUoImpzc2MiKTtpZighYilyZXR1cm4hMTtjLnJlbW92ZUF0dHJpYnV0ZSgianNzYyIpO2M9Yi5zcGxpdCgiICIpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtiPWNbZF0uc3BsaXQoIjoiKTtsZXQgZT1iWzFdO2lmKChiPXVHKGEsYlswXSkpJiZiLmZpbmdlcnByaW50IT1lKXJldHVybiEwfXJldHVybiExfTtDRz1mdW5jdGlvbihhLGIsYyl7aWYoYS5zaD09YiliPW51bGw7ZWxzZSBpZihhLnNoPT1jKXJldHVybiBiPT1udWxsO2lmKGEud2ghPW51bGwpcmV0dXJuIENHKGEud2gsYixjKTtpZihhLnJoIT1udWxsKWZvcihsZXQgZT0wO2U8YS5yaC5sZW5ndGg7ZSsrKXt2YXIgZD1hLnJoW2VdO2lmKGQhPW51bGwpe2lmKGQub2kuZWxlbWVudCE9YS5vaS5lbGVtZW50KWJyZWFrO2Q9Q0coZCxiLGMpO2lmKGQhPW51bGwpcmV0dXJuIGR9fXJldHVybiBudWxsfTsKREc9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYyE9YSlyZXR1cm4gXy56bChhLGMpO2lmKGI9PWQpcmV0dXJuITA7YT1hLl9fY2RuO3JldHVybiBhIT1udWxsJiZDRyhhLGIsZCk9PTF9O3FCYT1mdW5jdGlvbihhLGIpe2lmKGI9PT0tMXx8cEJhKGEpIT0wKWI9ZnVuY3Rpb24oKXtxQmEoYSl9LHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUhPW51bGw/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShiKTpfLnpwKGIpfTtwQmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5tYigpO2ZvcihhPWEucmg7YS5sZW5ndGg+MDspe2xldCBjPWEuc3BsaWNlKDAsMSlbMF07dHJ5e3JCYShjKX1jYXRjaChkKXtjLnNoKCl9aWYoXy5tYigpPj1iKzUwKWJyZWFrfXJldHVybiBhLmxlbmd0aH07CkhHPWZ1bmN0aW9uKGEsYil7aWYoYi5vaS5lbGVtZW50JiYhYi5vaS5lbGVtZW50Ll9fY2RuKUVHKGEsYik7ZWxzZSBpZihzQmEoYikpe3ZhciBjPWIuc2g7aWYoYi5vaS5lbGVtZW50KXt2YXIgZD1iLm9pLmVsZW1lbnQ7aWYoYi5CaCl7dmFyIGU9Yi5vaS50YWc7ZSE9bnVsbCYmZS5yZXNldChjfHx2b2lkIDApfWM9Yi5BaDtlPSEhYi5jb250ZXh0LnFoLnZrO3ZhciBmPWMubGVuZ3RoLGc9Yi55aD09MSxoPWIueGg7Zm9yKGxldCBrPTA7azxmOysrayl7bGV0IG09Y1trXSxwPWIucWhbaF0scT1GR1twXTtpZihtIT1udWxsKWlmKG0ucmg9PW51bGwpcS5tZXRob2QuY2FsbChhLGIsbSxoKTtlbHNle2xldCB1PXZGKGIuY29udGV4dCxtLnJoLGQpLHg9bS50aCh1KTtpZihxLnFoIT0wKXtpZihxLm1ldGhvZC5jYWxsKGEsYixtLGgsdSxtLnNoIT14KSxtLnNoPXgsKHA9PSJkaXNwbGF5Inx8cD09IiRpZiIpJiYhdXx8cD09IiRzayImJnUpe2c9ITE7YnJlYWt9fWVsc2UgeCE9bS5zaCYmKG0uc2g9CngscS5tZXRob2QuY2FsbChhLGIsbSxoLHUpKX1oKz0yfWcmJihHRyhhLGIub2ksYiksdEJhKGEsYikpO2IuY29udGV4dC5xaC52az1lfWVsc2UgdEJhKGEsYil9fTt0QmE9ZnVuY3Rpb24oYSxiKXtpZihiLnloPT0xJiYoYj1iLnJoLGIhPW51bGwpKWZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7KytjKXtsZXQgZD1iW2NdO2QhPW51bGwmJkhHKGEsZCl9fTtJRz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuX19jZG47YyE9bnVsbCYmeEcoYyxiKXx8KGEuX19jZG49Yil9O0VHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vaS5lbGVtZW50O2lmKCFzQmEoYikpcmV0dXJuITE7dmFyIGQ9Yi5zaDtjLl9fdnMmJihjLl9fdnNbMF09MSk7SUcoYyxiKTtjPSEhYi5jb250ZXh0LnFoLnZrO2lmKCFiLnFoLmxlbmd0aClyZXR1cm4gYi5yaD1bXSxiLnloPTEsdUJhKGEsYixkKSxiLmNvbnRleHQucWgudms9YywhMDtiLkJoPSEwO0pHKGEsYik7Yi5jb250ZXh0LnFoLnZrPWM7cmV0dXJuITB9Owp1QmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWIuY29udGV4dCxlPWIub2kuZWxlbWVudDtmb3IoZT1lLmZpcnN0RWxlbWVudENoaWxkIT09dm9pZCAwP2UuZmlyc3RFbGVtZW50Q2hpbGQ6bHphKGUuZmlyc3RDaGlsZCk7ZTtlPWUubmV4dEVsZW1lbnRTaWJsaW5nKXtsZXQgZj1uZXcgd0coS0coYSxlLGMpLG51bGwsbmV3IHZHKGUpLGQsYyk7RUcoYSxmKTtlPWYub2kubmV4dHx8Zi5vaS5lbGVtZW50O2YuQWgubGVuZ3RoPT0wJiZlLl9fY2RuP2YucmghPW51bGwmJll5YShiLnJoLGYucmgpOmIucmgucHVzaChmKX19OwpNRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5jb250ZXh0LGU9Yi50aFs0XTtpZihlKWlmKHR5cGVvZiBlPT0ic3RyaW5nIilhLnFoKz1lO2Vsc2V7dmFyIGY9ISFkLnFoLnZrO2ZvcihsZXQgaD0wO2g8ZS5sZW5ndGg7KytoKXt2YXIgZz1lW2hdO2lmKHR5cGVvZiBnPT0ic3RyaW5nIil7YS5xaCs9Zztjb250aW51ZX1sZXQgaz1uZXcgd0coZ1szXSxnLG5ldyB2RyhudWxsKSxkLGMpO2c9YTtpZihrLnFoLmxlbmd0aD09MCl7bGV0IG09ay5zaCxwPWsub2k7ay5yaD1bXTtrLnloPTE7TEcoZyxrKTtHRyhnLHAsayk7aWYoKHAudGFnLnRoJjIwNDgpIT0wKXtsZXQgcT1rLmNvbnRleHQucWguV287ay5jb250ZXh0LnFoLldvPSExO01HKGcsayxtKTtrLmNvbnRleHQucWguV289cSE9PSExfWVsc2UgTUcoZyxrLG0pO05HKGcscCxrKX1lbHNlIGsuQmg9ITAsSkcoZyxrKTtrLkFoLmxlbmd0aCE9MD9iLnJoLnB1c2goayk6ay5yaCE9bnVsbCYmWXlhKGIucmgsay5yaCk7ZC5xaC52az1mfX19OwpPRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5vaTtkLnJoPSEwO2IuY29udGV4dC5xaC5Xbz09PSExPyhHRyhhLGQsYiksTkcoYSxkLGIpKTooZD1hLnNoLGEuc2g9ITAsSkcoYSxiLGMpLGEuc2g9ZCl9OwpKRz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5vaSxlPWIuc2gsZj1iLnFoLGc9Y3x8Yi54aDtpZihnPT0wKWlmKGZbMF09PSIkdCImJmZbMl09PSIkeCIpe2M9ZlsxXTt2YXIgaD1lQmEoZlszXSxjKTtpZihoIT1udWxsKXtiLnFoPWg7Yi5zaD1jO0pHKGEsYik7cmV0dXJufX1lbHNlIGlmKGZbMF09PSIkeCImJihjPWVCYShmWzFdLGUpLGMhPW51bGwpKXtiLnFoPWM7SkcoYSxiKTtyZXR1cm59Zm9yKGM9Zi5sZW5ndGg7ZzxjO2crPTIpe2g9ZltnXTt2YXIgaz1mW2crMV07aD09IiR0IiYmKGU9ayk7ZC50YWd8fChhLnFoIT1udWxsP2ghPSJmb3IiJiZoIT0iJGZrIiYmTEcoYSxiKTooaD09IiRhInx8aD09IiR1Inx8aD09IiR1YSJ8fGg9PSIkdWFlInx8aD09IiR1ZSJ8fGg9PSIkdXAifHxoPT0iZGlzcGxheSJ8fGg9PSIkaWYifHxoPT0iJGRkInx8aD09IiRkYyJ8fGg9PSIkZGgifHxoPT0iJHNrIikmJnZCYShkLGUpKTtoPUZHW2hdO2lmKCFoKXtnPT1iLnhoP2IueGgrPTI6Yi5BaC5wdXNoKG51bGwpOwpjb250aW51ZX1rPW5ldyBtQmE7dmFyIG09YixwPW0ucWhbZysxXTtzd2l0Y2gobS5xaFtnXSl7Y2FzZSAiJHVlIjprLnRoPWFBYTtrLnJoPXA7YnJlYWs7Y2FzZSAiZm9yIjprLnRoPXdCYTtrLnJoPXBbM107YnJlYWs7Y2FzZSAiJGZrIjprLnFoPVtdO2sudGg9eEJhKG0uY29udGV4dCxtLm9pLHAsay5xaCk7ay5yaD1wWzNdO2JyZWFrO2Nhc2UgImRpc3BsYXkiOmNhc2UgIiRpZiI6Y2FzZSAiJHNrIjpjYXNlICIkcyI6ay5yaD1wO2JyZWFrO2Nhc2UgIiRjIjprLnJoPXBbMl19bT1hO3A9Yjt2YXIgcT1nLHU9cC5vaSx4PXUuZWxlbWVudCx6PXAucWhbcV07bGV0IEs9cC5jb250ZXh0O3ZhciBCPW51bGw7aWYoay5yaClpZihtLnNoKXtCPSIiO3N3aXRjaCh6KXtjYXNlICIkdWUiOkI9eUJhO2JyZWFrO2Nhc2UgImZvciI6Y2FzZSAiJGZrIjpCPVBHO2JyZWFrO2Nhc2UgImRpc3BsYXkiOmNhc2UgIiRpZiI6Y2FzZSAiJHNrIjpCPSEwO2JyZWFrO2Nhc2UgIiRzIjpCPTA7YnJlYWs7Y2FzZSAiJGMiOkI9CiIifUI9UUcoSyxrLnJoLHgsQil9ZWxzZSBCPXZGKEssay5yaCx4KTt4PWsudGgoQik7ay5zaD14O3o9Rkdbel07ei5xaD09ND8ocC5yaD1bXSxwLnloPXoucmgpOnoucWg9PTMmJih1PXAud2g9bmV3IHdHKHlHLG51bGwsdSxuZXcgc0YsIm51bGwiKSx1LnpoPXAuemgrMSx1LkNoPXAuQ2gpO3AuQWgucHVzaChrKTt6Lm1ldGhvZC5jYWxsKG0scCxrLHEsQiwhMCk7aWYoaC5xaCE9MClyZXR1cm59aWYoYS5xaD09bnVsbHx8ZC50YWcubmFtZSgpIT0ic3R5bGUiKUdHKGEsZCxiKSxiLnJoPVtdLGIueWg9MSxhLnFoIT1udWxsP01HKGEsYixlKTp1QmEoYSxiLGUpLGIucmgubGVuZ3RoPT0wJiYoYi5yaD1udWxsKSxORyhhLGQsYil9O1FHPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtyZXR1cm4gdkYoYSxiLGMpfWNhdGNoKGUpe3JldHVybiBkfX07d0JhPWZ1bmN0aW9uKGEpe3JldHVybiBTdHJpbmcoUkcoYSkubGVuZ3RoKX07CnpCYT1mdW5jdGlvbihhLGIpe2E9YS5xaDtmb3IobGV0IGMgaW4gYSliLnFoW2NdPWFbY119O1NHPWZ1bmN0aW9uKGEsYil7dGhpcy5yaD1hO3RoaXMucWg9Yjt0aGlzLlV1PW51bGx9O3JCYT1mdW5jdGlvbihhLGIsYyl7YS5yaC5kb2N1bWVudCgpO2I9bmV3IEJHKGEucmgsYixjKTthLnFoLm9pLnRhZyYmIWEucWguQmgmJmEucWgub2kudGFnLnJlc2V0KGEucWguc2gpOyhjPXVHKGEucmgsYS5xaC5zaCkpJiZURyhiLG51bGwsYS5xaCxjLG51bGwpfTtVRz1mdW5jdGlvbihhKXthLkRoPT1udWxsJiYoYS5EaD17fSk7cmV0dXJuIGEuRGh9O1ZHPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5xaCE9bnVsbCYmYS5zaCYmYi50aFsyXT8oYy5zaD0iIiwhMCk6ITF9O1dHPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gVkcoYSxiLGMpPyhHRyhhLGIub2ksYiksTkcoYSxiLm9pLGIpLCEwKTohMX07ClRHPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihlPT1udWxsfHxkPT1udWxsfHwhZC5hc3luY3x8IWEudHYoYyxlLGYpKWlmKGMucWghPXlHKUhHKGEsYyk7ZWxzZXtmPWMub2k7KGU9Zi5lbGVtZW50KSYmSUcoZSxjKTtmLnFoPT1udWxsJiYoZi5xaD1lP29HKGUpOltdKTtmPWYucWg7dmFyIGc9Yy56aDtmLmxlbmd0aDxnLTE/KGMucWg9bUcoYy5zaCksSkcoYSxjKSk6Zi5sZW5ndGg9PWctMT9YRyhhLGIsYyk6ZltnLTFdIT1jLnNoPyhmLmxlbmd0aD1nLTEsYiE9bnVsbCYmWUcoYS5yaCxiLCExKSxYRyhhLGIsYykpOmUmJm9CYShhLnJoLGQsZSk/KGYubGVuZ3RoPWctMSxYRyhhLGIsYykpOihjLnFoPW1HKGMuc2gpLEpHKGEsYykpfX07CkFCYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7ZS5xaC5Xbz0hMTt2YXIgZz0iIjtpZihjLmVsZW1lbnRzfHxjLnlJKWMueUk/Zz1DRihfLnNFKGMuTU4oYS5yaCxlLnFoKSkpOihjPWMuZWxlbWVudHMsZT1uZXcgd0coY1szXSxjLG5ldyB2RyhudWxsKSxlLGIpLGUub2kucWg9W10sYj1hLnFoLGEucWg9IiIsSkcoYSxlKSxlPWEucWgsYS5xaD1iLGc9ZSk7Z3x8KGc9cEFhKGYubmFtZSgpLGQpKTtnJiZMRihmLDAsZCxnLCEwLCExKX07QkJhPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yy5lbGVtZW50cyYmKGM9Yy5lbGVtZW50cyxiPW5ldyB3RyhjWzNdLGMsbmV3IHZHKG51bGwpLGQsYiksYi5vaS5xaD1bXSxiLm9pLnRhZz1lLElGKGUsY1sxXSksZT1hLnFoLGEucWg9IiIsSkcoYSxiKSxhLnFoPWUpfTsKWEc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWMuc2gsZT1jLm9pLGY9ZS5xaHx8ZS5lbGVtZW50Ll9fcnQsZz11RyhhLnJoLGQpO2lmKGcmJmcuYk8pYS5xaCE9bnVsbCYmKGM9ZS50YWcuaWQoKSxhLnFoKz1NRihlLnRhZywhMSwhMCkrckFhKGUudGFnKSxhLnRoW2NdPWUpO2Vsc2UgaWYoZyYmZy5lbGVtZW50cyl7ZS5lbGVtZW50JiZMRihlLnRhZywwLCJqc3RjYWNoZSIsZS5lbGVtZW50LmdldEF0dHJpYnV0ZSgianN0Y2FjaGUiKXx8IjAiLCExLCEwKTtpZihlLmVsZW1lbnQ9PW51bGwmJmImJmIudGgmJmIudGhbMl0pe2xldCBoPWIudGguSEM7aCE9LTEmJmghPTAmJlpHKGUudGFnLGIuc2gsaCl9Zi5wdXNoKGQpO2xCYShhLnJoLGMuY29udGV4dCxnLllHKTtlLmVsZW1lbnQ9PW51bGwmJmUudGFnJiZiJiYkRyhlLnRhZyxiKTtnLmVsZW1lbnRzWzBdPT0ianNsIiYmKGUudGFnLm5hbWUoKSE9ImpzbCJ8fGIudGgmJmIudGhbMl0pJiZ0QWEoZS50YWcsITApO2MudGg9Zy5lbGVtZW50czsKZT1jLm9pO2Q9Yy50aDtpZihiPWEucWg9PW51bGwpYS5xaD0iIixhLnRoPXt9LGEud2g9e307Yy5xaD1kWzNdO0lGKGUudGFnLGRbMV0pO2Q9YS5xaDthLnFoPSIiOyhlLnRhZy50aCYyMDQ4KSE9MD8oZj1jLmNvbnRleHQucWguV28sYy5jb250ZXh0LnFoLldvPSExLEpHKGEsYyksYy5jb250ZXh0LnFoLldvPWYhPT0hMSk6SkcoYSxjKTthLnFoPWQrYS5xaDtpZihiKXtjPWEucmgudGg7Yy5xaCYmYy5yaC5sZW5ndGghPTAmJihiPWMucmguam9pbigiIiksXy5tcj8oYy5zaHx8KGMuc2g9akJhKGMpKSxkPWMuc2gpOmQ9akJhKGMpLGQuc3R5bGVTaGVldCYmIWQuc2hlZXQ/ZC5zdHlsZVNoZWV0LmNzc1RleHQrPWI6ZC50ZXh0Q29udGVudCs9YixjLnJoLmxlbmd0aD0wKTtlPWUuZWxlbWVudDtkPWEueGg7Yz1lO2Y9YS5xaDtpZihmIT0iInx8Yy5pbm5lckhUTUwhPSIiKWlmKGc9Yy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGI9MCxnPT0idGFibGUiPyhmPSI8dGFibGU+IitmKyI8L3RhYmxlPiIsCmI9MSk6Zz09InRib2R5Inx8Zz09InRoZWFkInx8Zz09InRmb290Inx8Zz09ImNhcHRpb24ifHxnPT0iY29sZ3JvdXAifHxnPT0iY29sIj8oZj0iPHRhYmxlPjx0Ym9keT4iK2YrIjwvdGJvZHk+PC90YWJsZT4iLGI9Mik6Zz09InRyIiYmKGY9Ijx0YWJsZT48dGJvZHk+PHRyPiIrZisiPC90cj48L3Rib2R5PjwvdGFibGU+IixiPTMpLGI9PTApXy56aihjLF8uRGwoZikpO2Vsc2V7ZD1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO18uemooZCxfLkRsKGYpKTtmb3IoZj0wO2Y8YjsrK2YpZD1kLmZpcnN0Q2hpbGQ7Zm9yKDtiPWMuZmlyc3RDaGlsZDspYy5yZW1vdmVDaGlsZChiKTtmb3IoYj1kLmZpcnN0Q2hpbGQ7YjtiPWQuZmlyc3RDaGlsZCljLmFwcGVuZENoaWxkKGIpfWM9ZS5xdWVyeVNlbGVjdG9yQWxsP2UucXVlcnlTZWxlY3RvckFsbCgiW2pzdGlkXSIpOltdO2ZvcihlPTA7ZTxjLmxlbmd0aDsrK2Upe2Q9Y1tlXTtmPWQuZ2V0QXR0cmlidXRlKCJqc3RpZCIpO2I9YS50aFtmXTtmPQphLndoW2ZdO2QucmVtb3ZlQXR0cmlidXRlKCJqc3RpZCIpO2ZvcihnPWI7ZztnPWcudGgpZy5lbGVtZW50PWQ7Yi5xaCYmKGQuX19ydD1iLnFoLGIucWg9bnVsbCk7ZC5fX2Nkbj1mO0FHKGYpO2QuX19qc3RjYWNoZT1mLnFoO2lmKGIuc2gpe2ZvcihkPTA7ZDxiLnNoLmxlbmd0aDsrK2QpZj1iLnNoW2RdLGYuc2hpZnQoKS5hcHBseShhLGYpO2Iuc2g9bnVsbH19YS5xaD1udWxsO2EudGg9bnVsbDthLndoPW51bGx9fX07YUg9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Yi5jbG9uZU5vZGUoITEpO2lmKGIuX19ydD09bnVsbClmb3IoYj1iLmZpcnN0Q2hpbGQ7YiE9bnVsbDtiPWIubmV4dFNpYmxpbmcpYi5ub2RlVHlwZT09MT9lLmFwcGVuZENoaWxkKGFIKGEsYixjLCEwKSk6ZS5hcHBlbmRDaGlsZChiLmNsb25lTm9kZSghMCkpO2Vsc2UgZS5fX3J0JiZkZWxldGUgZS5fX3J0O2UuX19jZG4mJmRlbGV0ZSBlLl9fY2RuO2R8fGlGKGUsITApO3JldHVybiBlfTsKUkc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/W106QXJyYXkuaXNBcnJheShhKT9hOlthXX07eEJhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWNbMF0sZj1jWzFdLGc9Y1syXSxoPWNbNF07cmV0dXJuIGZ1bmN0aW9uKGspe3ZhciBtPWIuZWxlbWVudDtrPVJHKGspO3ZhciBwPWsubGVuZ3RoO2coYS5xaCxwKTtkLmxlbmd0aD0wO2ZvcihsZXQgcT0wO3E8cDsrK3Epe2UoYS5xaCxrW3FdKTtmKGEucWgscSk7bGV0IHU9dkYoYSxoLG0pO2QucHVzaChTdHJpbmcodSkpfXJldHVybiBkLmpvaW4oIiwiKX19OwpDQmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnPWIucmgsaD1iLnFoW2QrMV0saz1oWzBdO2g9aFsxXTt2YXIgbT1iLmNvbnRleHQ7Yz1WRyhhLGIsYyk/MDplLmxlbmd0aDt2YXIgcD1jPT0wLHE9Yi50aFsyXTtmb3IobGV0IHU9MDt1PGN8fHU9PTAmJnE7Kyt1KXtwfHwoayhtLnFoLGVbdV0pLGgobS5xaCx1KSk7bGV0IHg9Z1t1XT1uZXcgd0coYi5xaCxiLnRoLG5ldyB2RyhudWxsKSxtLGIuc2gpO3gueGg9ZCsyO3guemg9Yi56aDt4LkNoPWIuQ2grMTt4LkJoPSEwO3guRmg9KGIuRmg/Yi5GaCsiLCI6IiIpKyh1PT1jLTF8fHA/IioiOiIiKStTdHJpbmcodSkrKGYmJiFwPyI7IitmW3VdOiIiKTtsZXQgej1MRyhhLHgpO3EmJmM+MCYmTEYoeiwyMCwianNpbnN0YW5jZSIseC5GaCk7dT09MCYmKHgub2kudGg9Yi5vaSk7cD9PRyhhLHgpOkpHKGEseCl9fTtaRz1mdW5jdGlvbihhLGIsYyl7TEYoYSwwLCJqc3RjYWNoZSIsbkcoU3RyaW5nKGMpLGIpLCExLCEwKX07CllHPWZ1bmN0aW9uKGEsYixjKXtpZihiKXtpZihjJiYoYz1iLkRoLGMhPW51bGwpKXtmb3IodmFyIGQgaW4gYylpZihkLmluZGV4T2YoImNvbnRyb2xsZXI6Iik9PTB8fGQuaW5kZXhPZigib2JzZXJ2ZXI6Iik9PTApe2xldCBlPWNbZF07ZSE9bnVsbCYmZS5kaXNwb3NlJiZlLmRpc3Bvc2UoKX1iLkRoPW51bGx9Yi53aCE9bnVsbCYmWUcoYSxiLndoLCEwKTtpZihiLnJoIT1udWxsKWZvcihkPTA7ZDxiLnJoLmxlbmd0aDsrK2QpKGM9Yi5yaFtkXSkmJllHKGEsYywhMCl9fTsKdkJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5lbGVtZW50LGQ9Yy5fX3RhZztpZihkIT1udWxsKWEudGFnPWQsZC5yZXNldChifHx2b2lkIDApO2Vsc2UgaWYoYT1kPWEudGFnPWMuX190YWc9bmV3IERCYShjLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpLGI9Ynx8dm9pZCAwLGQ9Yy5nZXRBdHRyaWJ1dGUoImpzYW4iKSl7SUYoYSw2NCk7ZD1kLnNwbGl0KCIsIik7dmFyIGU9ZC5sZW5ndGg7aWYoZT4wKXthLnFoPVtdO2ZvcihsZXQgaz0wO2s8ZTtrKyspe3ZhciBmPWRba10sZz1mLmluZGV4T2YoIi4iKTtpZihnPT0tMSlIRihhLC0xLG51bGwsbnVsbCxudWxsLG51bGwsZiwhMSk7ZWxzZXtsZXQgbT1wYXJzZUludChmLnN1YnN0cigwLGcpLDEwKTt2YXIgaD1mLnN1YnN0cihnKzEpO2xldCBwPW51bGw7Zz0iX2pzYW5fIjtzd2l0Y2gobSl7Y2FzZSA3OmY9ImNsYXNzIjtwPWg7Zz0iIjticmVhaztjYXNlIDU6Zj0ic3R5bGUiO3A9aDticmVhaztjYXNlIDEzOmg9aC5zcGxpdCgiLiIpO2Y9CmhbMF07cD1oWzFdO2JyZWFrO2Nhc2UgMDpmPWg7Zz1jLmdldEF0dHJpYnV0ZShoKTticmVhaztkZWZhdWx0OmY9aH1IRihhLG0sZixwLG51bGwsbnVsbCxnLCExKX19fWEuQWg9ITE7YS5yZXNldChiKX19O0xHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi50aCxkPWIub2kudGFnPW5ldyBEQmEoY1swXSk7SUYoZCxjWzFdKTtiLmNvbnRleHQucWguV289PT0hMSYmSUYoZCwxMDI0KTthLndoJiYoYS53aFtkLmlkKCldPWIpO2IuQmg9ITA7cmV0dXJuIGR9OyRHPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5xaDtmb3IobGV0IGQ9MDtjJiZkPGMubGVuZ3RoO2QrPTIpaWYoY1tkXT09IiR0ZyIpe3ZGKGIuY29udGV4dCxjW2QrMV0sbnVsbCk9PT0hMSYmdEFhKGEsITEpO2JyZWFrfX07CkdHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnRhZztpZihkIT1udWxsKXt2YXIgZT1iLmVsZW1lbnQ7ZT09bnVsbD8oJEcoZCxjKSxjLnRoJiYoZT1jLnRoLkhDLGUhPS0xJiZjLnRoWzJdJiZjLnRoWzNdWzBdIT0iJHQiJiZaRyhkLGMuc2gsZSkpLGMub2kucmgmJktGKGQsNSwic3R5bGUiLCJkaXNwbGF5Iiwibm9uZSIsITApLGU9ZC5pZCgpLGM9KGMudGhbMV0mMTYpIT0wLGEudGg/KGEucWgrPU1GKGQsYywhMCksYS50aFtlXT1iKTphLnFoKz1NRihkLGMsITEpKTplLl9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiJiYoYy5vaS5yaCYmS0YoZCw1LCJzdHlsZSIsImRpc3BsYXkiLCJub25lIiwhMCksZC5hcHBseShlKSl9fTtORz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5lbGVtZW50O2I9Yi50YWc7YiE9bnVsbCYmYS5xaCE9bnVsbCYmZD09bnVsbCYmKGM9Yy50aCwoY1sxXSYxNik9PTAmJihjWzFdJjgpPT0wJiYoYS5xaCs9ckFhKGIpKSl9OwpLRz1mdW5jdGlvbihhLGIsYyl7Y0JhKGEueGgsYixjKTtyZXR1cm4gYi5fX2pzdGNhY2hlfTtFQmE9ZnVuY3Rpb24oYSl7dGhpcy5tZXRob2Q9YTt0aGlzLnJoPXRoaXMucWg9MH07CkhCYT1mdW5jdGlvbigpe2lmKCFGQmEpe0ZCYT0hMDt2YXIgYT1CRy5wcm90b3R5cGUsYj1mdW5jdGlvbihjKXtyZXR1cm4gbmV3IEVCYShjKX07RkcuJGE9YihhLk5MKTtGRy4kYz1iKGEuZU0pO0ZHLiRkaD1iKGEubU0pO0ZHLiRkYz1iKGEubk0pO0ZHLiRkZD1iKGEub00pO0ZHLmRpc3BsYXk9YihhLmtIKTtGRy4kZT1iKGEuQU0pO0ZHWyJmb3IiXT1iKGEuTE0pO0ZHLiRmaz1iKGEuTU0pO0ZHLiRnPWIoYS5rTik7RkcuJGlhPWIoYS5CTik7RkcuJGljPWIoYS5DTik7RkcuJGlmPWIoYS5rSCk7RkcuJG89YihhLkRPKTtGRy4kcj1iKGEublApO0ZHLiRzaz1iKGEuUlApO0ZHLiRzPWIoYS5BaCk7RkcuJHQ9YihhLmdRKTtGRy4kdT1iKGEub1EpO0ZHLiR1YT1iKGEuclEpO0ZHLiR1YWU9YihhLnNRKTtGRy4kdWU9YihhLnRRKTtGRy4kdXA9YihhLnVRKTtGR1sidmFyIl09YihhLnZRKTtGRy4kdnM9YihhLndRKTtGRy4kYy5xaD0xO0ZHLmRpc3BsYXkucWg9MTtGRy4kaWYucWg9MTtGRy4kc2sucWg9CjE7RkdbImZvciJdLnFoPTQ7RkdbImZvciJdLnJoPTI7RkcuJGZrLnFoPTQ7RkcuJGZrLnJoPTI7RkcuJHMucWg9NDtGRy4kcy5yaD0zO0ZHLiR1LnFoPTM7RkcuJHVlLnFoPTM7RkcuJHVwLnFoPTM7dUYucnVudGltZT1aemE7dUYuYW5kPXhBYTt1Ri5iaWRpQ3NzRmxpcD1fLlJGO3VGLmJpZGlEaXI9REFhO3VGLmJpZGlFeGl0RGlyPUVBYTt1Ri5iaWRpTG9jYWxlRGlyPUdCYTt1Ri51cmw9UkFhO3VGLnVybFRvU3RyaW5nPVRBYTt1Ri51cmxQYXJhbT1TQWE7dUYuaGFzVXJsUGFyYW09S0FhO3VGLmJpbmQ9Xy5TRjt1Ri5kZWJ1Zz1HQWE7dUYuZ2U9SEFhO3VGLmd0PUlBYTt1Ri5sZT1MQWE7dUYubHQ9TUFhO3VGLmhhcz1KQWE7dUYuc2l6ZT1PQWE7dUYucmFuZ2U9TkFhO3VGLnN0cmluZz1QQWE7dUZbImludCJdPVFBYX19OwpzQmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vaS5lbGVtZW50O2lmKCFifHwhYi5wYXJlbnROb2RlfHxiLnBhcmVudE5vZGUuX19uYXJyb3dfc3RyYXRlZ3khPSJOQVJST1dfUEFUSCJ8fGIuX19uYXJyb3dfc3RyYXRlZ3kpcmV0dXJuITA7Zm9yKGI9MDtiPGEucWgubGVuZ3RoO2IrPTIpe2xldCBjPWEucWhbYl07aWYoYz09ImZvciJ8fGM9PSIkZmsiJiZiPj1hLnhoKXJldHVybiEwfXJldHVybiExfTtfLmJIPWZ1bmN0aW9uKGEsYil7dGhpcy5yaD1hO3RoaXMuc2g9bmV3IHNGO3RoaXMuc2gucmg9dGhpcy5yaC5zaDt0aGlzLnFoPW51bGw7dGhpcy50aD1ifTtfLmNIPWZ1bmN0aW9uKGEsYixjKXthLnNoLnFoW3VHKGEucmgsYS50aCkuYXJnc1tiXV09Y307ZEg9ZnVuY3Rpb24oYSxiKXtfLmJILmNhbGwodGhpcyxhLGIpfTtfLmVIPWZ1bmN0aW9uKGEsYil7Xy5iSC5jYWxsKHRoaXMsYSxiKX07Cl8uSUJhPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8IWJ8fHR5cGVvZiBjIT09Im51bWJlciIpcmV0dXJuIG51bGw7Yz1NYXRoLnBvdygyLC1jKTt2YXIgZD1hLmZyb21MYXRMbmdUb1BvaW50KGIpO3JldHVybiBfLmpFKGEuZnJvbVBvaW50VG9MYXRMbmcobmV3IF8uYm8oZC54K2MsZC55KSksYil9O18uZkg9ZnVuY3Rpb24oYSl7cmV0dXJuIGE+NDA/TWF0aC5yb3VuZChhLzIwKToyfTtfLmhIPWZ1bmN0aW9uKGEpe2E9Xy5PdihhKTt2YXIgYj1uZXcgXy5nSDtfLmloKGIsMyxhKTtyZXR1cm4gYn07Xy5pSD1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikuc3R5bGU7cmV0dXJuIHR5cGVvZiBFbGVtZW50IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBFbGVtZW50P3dpbmRvdyYmd2luZG93LmdldENvbXB1dGVkU3R5bGU/d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSwiIil8fGI6YS5zdHlsZTpifTsKXy5qSD1mdW5jdGlvbihhKXthLl9fZ21fdGlja2V0X198fChhLl9fZ21fdGlja2V0X189MCk7cmV0dXJuKythLl9fZ21fdGlja2V0X199O18ua0g9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PWEuX19nbV90aWNrZXRfX307S0JhPWZ1bmN0aW9uKGEsYixjKXtKQmEoYS5xaCwoKT0+e2Iuc3JjPWN9KX07Xy5sSD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IExCYShuZXcgTUJhKGEpKX07UEJhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjthLnFoPDEyJiYoYj1OQmEoYSkpOykrK2EucWgsT0JhKGEsYlswXSxiWzFdKX07UUJhPWZ1bmN0aW9uKGEpe2Eucmh8fChhLnJoPV8uTUUoKCk9PnthLnJoPTA7UEJhKGEpfSkpfTtOQmE9ZnVuY3Rpb24oYSl7YT1hLlZpO3ZhciBiPSIiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSlicmVhaztpZighYilyZXR1cm4gbnVsbDt2YXIgYz1hW2JdO2RlbGV0ZSBhW2JdO3JldHVybiBjfTsKT0JhPWZ1bmN0aW9uKGEsYixjKXthLnNoLmxvYWQoYixkPT57LS1hLnFoO1FCYShhKTtjKGQpfSl9O1JCYT1mdW5jdGlvbigpe3ZhciBhO3JldHVybiBiPT57dmFyIGM9RGF0ZS5ub3coKTtiJiYoYT1jKzIwKTtyZXR1cm4gYzxhfX07SkJhPWZ1bmN0aW9uKGEsYil7YS5WaS5wdXNoKGIpO2EucWh8fChiPWEuRUItKERhdGUubm93KCktYS5yaCksYS5xaD1fLkxFKGEsYS5yZXN1bWUsTWF0aC5tYXgoYiwwKSkpfTtUQmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWN8fHt9O2M9Xy5LRSgpO3ZhciBlPWEuZ21faWQ7YS5fX3NyY19fPWI7dmFyIGY9Yy5yaCxnPV8uakgoYSk7YS5nbV9pZD1jLnFoLmxvYWQobmV3IF8ubUgoYiksaD0+e2Z1bmN0aW9uIGsoKXtpZihfLmtIKGEsZykpe3ZhciBtPSEhaCxwPW0mJm5ldyBfLmdvKF8uSkUoaC53aWR0aCksXy5KRShoLmhlaWdodCkpfHxudWxsO1NCYShhLGIsbSxwLGQpfX1hLmdtX2lkPW51bGw7ZC5tRD9rKCk6SkJhKGYsayl9KTtlJiZjLnFoLmNhbmNlbChlKX07ClNCYT1mdW5jdGlvbihhLGIsYyxkLGUpe2MmJihfLmptKGUub3BhY2l0eSkmJl8uWUUoYSxlLm9wYWNpdHkpLGEuc3JjIT09YiYmKGEuc3JjPWIpLF8uUXAoYSxlLnNpemV8fGQpLGEuaW1hZ2VTaXplPWQsZS5XdSYmKGEuY29tcGxldGU/ZS5XdShiLGEpOmEub25sb2FkPSgpPT57ZS5XdShiLGEpO2Eub25sb2FkPW51bGx9KSl9OwpfLm5IPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZT1lfHx7fTt2YXIgZj17c2l6ZTpkLFd1OmUuV3UsSU86ZS5JTyxtRDplLm1ELG9wYWNpdHk6ZS5vcGFjaXR5fTtjPV8udncoImltZyIsYixjLGQsITApO2MuYWx0PSIiO2MmJihjLnNyYz1fLllBKTtfLlRwKGMpO2MuaW1hZ2VGZXRjaGVyT3B0cz1mO2EmJlRCYShjLGEsZik7Xy5UcChjKTtlLmFRP18ucXcoYyxlLmFRKTooYy5zdHlsZS5ib3JkZXI9IjBweCIsYy5zdHlsZS5wYWRkaW5nPSIwcHgiLGMuc3R5bGUubWFyZ2luPSIwcHgiKTtiJiYoYi5hcHBlbmRDaGlsZChjKSxhPWUuc2hhcGV8fHt9LGU9YS5jb29yZHN8fGEuY29vcmQpJiYoZD0iZ21pbWFwIitVQmErKyxjLnNldEF0dHJpYnV0ZSgidXNlbWFwIiwiIyIrZCksZj1fLnJ3KGMpLmNyZWF0ZUVsZW1lbnQoIm1hcCIpLGYuc2V0QXR0cmlidXRlKCJuYW1lIixkKSxmLnNldEF0dHJpYnV0ZSgiaWQiLGQpLGIuYXBwZW5kQ2hpbGQoZiksYj1fLnJ3KGMpLmNyZWF0ZUVsZW1lbnQoImFyZWEiKSwKYi5zZXRBdHRyaWJ1dGUoImxvZyIsIm1pdyIpLGIuc2V0QXR0cmlidXRlKCJjb29yZHMiLGUuam9pbigiLCIpKSxiLnNldEF0dHJpYnV0ZSgic2hhcGUiLF8ubG0oYS50eXBlLCJwb2x5IikpLGYuYXBwZW5kQ2hpbGQoYikpO3JldHVybiBjfTtfLm9IPWZ1bmN0aW9uKGEsYil7VEJhKGEsYixhLmltYWdlRmV0Y2hlck9wdHMpfTtfLnBIPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcpe2c9Z3x8e307Yj1fLnZ3KCJkaXYiLGIsZSxkKTtiLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO18udHcoYik7YT1fLm5IKGEsYixjP25ldyBfLmJvKC1jLngsLWMueSk6Xy5wbyxmLGcpO2Euc3R5bGVbIi1raHRtbC11c2VyLWRyYWciXT0ibm9uZSI7YS5zdHlsZVsibWF4LXdpZHRoIl09Im5vbmUiO3JldHVybiBifTsKXy5xSD1mdW5jdGlvbihhLGIsYyxkKXthJiZiJiZfLlFwKGEsYik7YT1hLmZpcnN0Q2hpbGQ7YyYmXy51dyhhLG5ldyBfLmJvKC1jLngsLWMueSkpO2EuaW1hZ2VGZXRjaGVyT3B0cy5zaXplPWQ7YS5pbWFnZVNpemUmJl8uUXAoYSxkfHxhLmltYWdlU2l6ZSl9O3JIPWZ1bmN0aW9uKGEpe3RoaXMubGVuZ3RoPWEubGVuZ3RofHxhO2ZvcihsZXQgYj0wO2I8dGhpcy5sZW5ndGg7YisrKXRoaXNbYl09YVtiXXx8MH07c0g9ZnVuY3Rpb24oYSl7dGhpcy5sZW5ndGg9YS5sZW5ndGh8fGE7Zm9yKGxldCBiPTA7Yjx0aGlzLmxlbmd0aDtiKyspdGhpc1tiXT1hW2JdfHwwfTtfLnRIPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBGbG9hdDY0QXJyYXkoMyl9O18udUg9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEZsb2F0NjRBcnJheSg0KX07Xy52SD1mdW5jdGlvbigpe3JldHVybiBuZXcgRmxvYXQ2NEFycmF5KDE2KX07CnhIPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVZCYShkLFdCYSxYQmEpO2Q9SlNPTi5wYXJzZShiLmpqKCkpO2M9d0goZCxlLGMpO18uS3YoYixuZXcgYShkKSk7cmV0dXJuIGN9O1lCYT1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9NYXRoLnJvdW5kKGEqMUU3KS8xRTc6YX07ClZCYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlthXTtpZih0eXBlb2YgZD09PSJvYmplY3QiKXJldHVybiBkO3ZhciBlPW5ldyBaQmE7YlthXT1lO2E9MTtmb3IoZD1uZXcgJEJhKGQpOyFkLmRvbmUoKTspe2ErPXlIKGQpfHwwO2QuZG9uZSgpO3ZhciBmPWQuVmguY2hhckNvZGVBdChkLm5leHQrKyktNjUsZz0oZiYxKT4wO2xldCBrPShmJjgpPjA7dmFyIGg9dm9pZCAwO2xldCBtO2YmND9tPVZCYSh5SChkKSxiLGMpOmYmMiYmKGg9eUgoZCksaD1jW2hdKTtmPWU7Zz1uZXcgYUNhKGErKyxnLGssaCxtKTtmLmZpZWxkcy5zZXQoZy5zaCxnKTtkLmRvbmUoKXx8ZC5WaC5jaGFyQ29kZUF0KGQubmV4dCkhPT00NHx8ZC5uZXh0Kyt9cmV0dXJuIGV9Owp5SD1mdW5jdGlvbihhKXthLmRvbmUoKTt2YXIgYj12b2lkIDA7Zm9yKHZhciBjPWEuVmguY2hhckNvZGVBdChhLm5leHQpOyFhLmRvbmUoKSYmYz49NDgmJmM8PTU3O2M9YS5WaC5jaGFyQ29kZUF0KCsrYS5uZXh0KSljLT00OCxiPWI/YioxMCtjOmM7cmV0dXJuIGJ9O3dIPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmxlbmd0aDtpZighZClyZXR1cm4hMDt2YXIgZT1hW2QtMV0sZj0hMDtpZihlJiZ0eXBlb2YgZT09PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShlKSl7ZC0tO2Zvcih2YXIgZyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkoZykpe3ZhciBoPWJDYShOdW1iZXIoZyksZVtnXSxiLGMpO2g9PW51bGw/ZGVsZXRlIGVbZ106KGY9ITEsZVtnXT1oKX19ZT0xO2c9MDtmb3IoaD0wO2g8ZDtoPWUrKyl7bGV0IGs9YkNhKGUsYVtoXSxiLGMpO2FbaF09aztrIT1udWxsJiYoZz1lKX1mJiYoYS5sZW5ndGg9Zyk7cmV0dXJuIWEubGVuZ3RofTsKYkNhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PW51bGwpcmV0dXJuIGI7YT1jLmdldChhKTtpZighYSlyZXR1cm4gYjtpZihhLnRoKXtpZighQXJyYXkuaXNBcnJheShiKSlyZXR1cm4gYjtpZighYi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoYS5yaCl7aWYoZCYyKWZvcihkPTA7ZDxiLmxlbmd0aDtkKyspYltkXT1ZQmEoYltkXSl9ZWxzZSBpZihhLm1lc3NhZ2UpZm9yKGxldCBlIG9mIGIpQXJyYXkuaXNBcnJheShlKSYmd0goZSxhLm1lc3NhZ2UsZCl9ZWxzZSBpZihhLnJoKXtpZihkJjImJihiPVlCYShiKSksZCYxJiZiPT09KGEucWh8fDApKXJldHVybiBudWxsfWVsc2UgaWYoYS5tZXNzYWdlKXtpZigoIUFycmF5LmlzQXJyYXkoYil8fHdIKGIsYS5tZXNzYWdlLGQpKSYmZCYxKXJldHVybiBudWxsfWVsc2UgZCYxJiYoYj1jQ2EoYixhLnFoKSk7cmV0dXJuIGJ9OwpjQ2E9ZnVuY3Rpb24oYSxiKXtzd2l0Y2godHlwZW9mIGIpe2Nhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGF8fG51bGw7Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIGE/bnVsbDphO2Nhc2UgInN0cmluZyI6cmV0dXJuIGE9PT1iP251bGw6YTtjYXNlICJudW1iZXIiOnJldHVybiBhPT09Ynx8YT09PVN0cmluZyhiKT9udWxsOmE7ZGVmYXVsdDpfLnRlKGIsdm9pZCAwKX19O3pIPWZ1bmN0aW9uKGEsYil7YT1hLnRvRml4ZWQoYik7Zm9yKGI9YS5sZW5ndGgtMTtiPjA7Yi0tKXt2YXIgYz1hLmNoYXJDb2RlQXQoYik7aWYoYyE9PTQ4KWJyZWFrfXJldHVybiBhLnN1YnN0cmluZygwLGM9PT00Nj9iOmIrMSl9OwpkQ2E9ZnVuY3Rpb24oYSl7aWYoIV8uZEUoYSwyKXx8IV8uZEUoYSwzKSlyZXR1cm4gbnVsbDt2YXIgYj1bekgoXy5PZyhhLDMpLDcpLHpIKF8uT2coYSwyKSw3KV07c3dpdGNoKGEuZ2V0VHlwZSgpKXtjYXNlIDA6Yi5wdXNoKE1hdGgucm91bmQoYS5IbSgpKSsiYSIpO18uZEUoYSw3KSYmYi5wdXNoKHpIKF8uT2coYSw3KSwxKSsieSIpO2JyZWFrO2Nhc2UgMTppZighXy5kRShhLDQpKXJldHVybiBudWxsO2IucHVzaChTdHJpbmcoTWF0aC5yb3VuZChfLk9nKGEsNCkpKSsibSIpO2JyZWFrO2Nhc2UgMjppZighXy5kRShhLDYpKXJldHVybiBudWxsO2IucHVzaCh6SChfLk9nKGEsNiksMikrInoiKTticmVhaztkZWZhdWx0OnJldHVybiBudWxsfXZhciBjPWEuZ2V0SGVhZGluZygpO2MhPT0wJiZiLnB1c2goekgoYywyKSsiaCIpO2M9YS5nZXRUaWx0KCk7YyE9PTAmJmIucHVzaCh6SChjLDIpKyJ0Iik7YT1hLmZuKCk7YSE9PTAmJmIucHVzaCh6SChhLDIpKyJyIik7cmV0dXJuIkAiK2Iuam9pbigiLCIpfTsKQkg9ZnVuY3Rpb24oYSxiLGMpe2Euc2gucHVzaChjP0FIKGIsITApOmIpfTsKXy53Q2E9ZnVuY3Rpb24oYSxiLGMpe2EucmVzZXQoKTthLnFoPW5ldyBfLkNIO18uS3YoYS5xaCxiKTtjJiZfLlFmKGEucWgsNCk7Xy5RZihhLnFoLDkpO2M9ITA7Yj0hMTtpZihfLlNmKGEucWgsXy5ESCw0KSl7dmFyIGQ9Xy53ZyhhLnFoLF8uREgsNCk7aWYoXy5TZihkLEVILDQpKXtjPV8ud2coZCxFSCw0KTtCSChhLCJkaXIiLCExKTtkPV8uWWYoYyxGSCwxKTtmb3IodmFyIGU9MDtlPGQ7ZSsrKXt2YXIgZj1fLkd2KGMsMSxGSCxlKTtpZihfLlNmKGYsXy5HSCwxKSl7Zj1fLndnKGYsXy5HSCwxKTt2YXIgZz1mLmdldFF1ZXJ5KCk7Xy5RZihmLDIpO2Y9Zy5sZW5ndGg9PT0wfHwvXlsnQF18JTQwLy50ZXN0KGcpfHxlQ2EudGVzdChnKT8iJyIrZysiJyI6Z31lbHNlIGlmKF8uU2YoZixISCwyKSl7Zz1fLkcoZixISCwyKTtsZXQgaD1bekgoXy5PZyhnLDIpLDcpLHpIKF8uT2coZywxKSw3KV07Xy5kRShnLDMpJiZnLkhtKCkhPT0wJiZoLnB1c2goTWF0aC5yb3VuZChnLkhtKCkpKTtnPQpoLmpvaW4oIiwiKTtfLlFmKGYsMik7Zj1nfWVsc2UgZj0iIjtCSChhLGYsITApfWM9ITF9ZWxzZSBpZihfLlNmKGQsZkNhLDIpKWM9Xy53ZyhkLGZDYSwyKSxCSChhLCJzZWFyY2giLCExKSxCSChhLGdDYShjLmdldFF1ZXJ5KCkpLCEwKSxfLlFmKGMsMSksYz0hMTtlbHNlIGlmKF8uU2YoZCxfLkdILDMpKWM9Xy53ZyhkLF8uR0gsMyksQkgoYSwicGxhY2UiLCExKSxCSChhLGdDYShjLmdldFF1ZXJ5KCkpLCEwKSxjPV8uUWYoYywyKSxfLlFmKGMsMyksYz0hMTtlbHNlIGlmKF8uU2YoZCxoQ2EsOCkpe2lmKGQ9Xy53ZyhkLGhDYSw4KSxCSChhLCJjb250cmliIiwhMSksXy5wdShkLDIpKWlmKEJIKGEsXy5IKGQsMiksITEpLF8uUWYoZCwyKSxfLnB1KGQsNCkpQkgoYSwicGxhY2UiLCExKSxCSChhLF8uSChkLDQpLCExKSxfLlFmKGQsNCk7ZWxzZSBpZihfLklnKGQsMSkhPW51bGwpZm9yKGU9Xy5QZyhkLDEpLGY9MDtmPElILmxlbmd0aDsrK2YpaWYoSUhbZl0uUnY9PT1lKXtCSChhLElIW2ZdLlJ3LAohMSk7Xy5RZihkLDEpO2JyZWFrfX1lbHNlIF8uU2YoZCxpQ2EsMjYpP0JIKGEsImNvbnRyaWIiLCExKTpfLlNmKGQsakNhLDE0KT8oQkgoYSwicmV2aWV3cyIsITEpLGM9ITEpOl8uU2YoZCxrQ2EsMjcpP2I9ITA6Xy5TZihkLGxDYSw5KXx8Xy5TZihkLG1DYSw2KXx8Xy5TZihkLG5DYSwxMyl8fF8uU2YoZCxvQ2EsNyl8fF8uU2YoZCxwQ2EsMTUpfHxfLlNmKGQscUNhLDIxKXx8Xy5TZihkLHJDYSwxMSl8fF8uU2YoZCxzQ2EsMTApfHxfLlNmKGQsdENhLDE2KXx8Xy5TZihkLF8uSkgsMTcpfHxfLlNmKGQsdUNhLDI5KX1lbHNle2lmKGQ9Xy5TZihhLnFoLF8uS0gsMykpZD1fLkcoYS5xaCxfLktILDMpLGQ9Xy5QZyhkLDYsMSkhPT0xO2lmKGQpe2M9Xy5HKGEucWgsXy5LSCwzKTtjPV8uUGcoYyw2LDEpO0xILmxlbmd0aD4wfHwoTEhbMF09bnVsbCxMSFsxXT1uZXcgTUgoMSwiZWFydGgiLCJFYXJ0aCIpLExIWzJdPW5ldyBNSCgyLCJtb29uIiwiTW9vbiIpLExIWzNdPW5ldyBNSCgzLCJtYXJzIiwKIk1hcnMiKSxMSFs1XT1uZXcgTUgoNSwibWVyY3VyeSIsIk1lcmN1cnkiKSxMSFs2XT1uZXcgTUgoNiwidmVudXMiLCJWZW51cyIpLExIWzRdPW5ldyBNSCg0LCJpc3MiLCJJbnRlcm5hdGlvbmFsIFNwYWNlIFN0YXRpb24iKSxMSFsxMV09bmV3IE1IKDExLCJjZXJlcyIsIkNlcmVzIiksTEhbMTJdPW5ldyBNSCgxMiwicGx1dG8iLCJQbHV0byIpLExIWzE3XT1uZXcgTUgoMTcsInZlc3RhIiwiVmVzdGEiKSxMSFsxOF09bmV3IE1IKDE4LCJpbyIsIklvIiksTEhbMTldPW5ldyBNSCgxOSwiZXVyb3BhIiwiRXVyb3BhIiksTEhbMjBdPW5ldyBNSCgyMCwiZ2FueW1lZGUiLCJHYW55bWVkZSIpLExIWzIxXT1uZXcgTUgoMjEsImNhbGxpc3RvIiwiQ2FsbGlzdG8iKSxMSFsyMl09bmV3IE1IKDIyLCJtaW1hcyIsIk1pbWFzIiksTEhbMjNdPW5ldyBNSCgyMywiZW5jZWxhZHVzIiwiRW5jZWxhZHVzIiksTEhbMjRdPW5ldyBNSCgyNCwidGV0aHlzIiwiVGV0aHlzIiksTEhbMjVdPW5ldyBNSCgyNSwKImRpb25lIiwiRGlvbmUiKSxMSFsyNl09bmV3IE1IKDI2LCJyaGVhIiwiUmhlYSIpLExIWzI3XT1uZXcgTUgoMjcsInRpdGFuIiwiVGl0YW4iKSxMSFsyOF09bmV3IE1IKDI4LCJpYXBldHVzIiwiSWFwZXR1cyIpLExIWzI5XT1uZXcgTUgoMjksImNoYXJvbiIsIkNoYXJvbiIpKTtpZihjPUxIW2NdfHxudWxsKUJIKGEsInNwYWNlIiwhMSksQkgoYSxjLm5hbWUsITApO2M9Xy53ZyhhLnFoLF8uS0gsMyk7Xy5RZihjLDYpO2M9ITF9fWQ9Xy53ZyhhLnFoLF8uS0gsMyk7ZT0hMTtfLlNmKGQsXy5OSCwyKSYmKGY9ZENhKF8uRyhkLF8uTkgsMikpLGYhPT1udWxsJiYoYS5zaC5wdXNoKGYpLGU9ITApLF8uUWYoZCwyKSk7IWUmJmMmJmEuc2gucHVzaCgiQCIpO18uUGcoYS5xaCwxKT09PTEmJihhLnRoLmFtPSJ0IixfLlFmKGEucWgsMSkpO18uUWYoYS5xaCwyKTtfLlNmKGEucWgsXy5LSCwzKSYmKGM9Xy53ZyhhLnFoLF8uS0gsMyksZD1fLlBnKGMsMSksZCE9PTAmJmQhPT0zfHxfLlFmKGMsCjMpKTt4SChfLkNILGEucWgsMiwwKTtpZihjPV8uU2YoYS5xaCxfLkRILDQpKWM9Xy5HKGEucWgsXy5ESCw0KSxjPV8uU2YoYyxFSCw0KTtpZihjKXtjPV8ud2coYS5xaCxfLkRILDQpO2M9Xy53ZyhjLEVILDQpO2Q9ITE7ZT1fLllmKGMsRkgsMSk7Zm9yKGY9MDtmPGU7ZisrKWlmKGc9Xy5HdihjLDEsRkgsZiksIXhIKEZILGcsMSwyMikpe2Q9ITA7YnJlYWt9ZHx8Xy5RZihjLDEpfXhIKF8uQ0gsYS5xaCwxLDApOyhjPV8uUXYoYS5xaCx2Q2EoKSkpJiYoYS50aC5kYXRhPWMpO2ImJkJIKGEsInNob3J0bGlzdCIsITEpO2I9YS50aC5kYXRhO2RlbGV0ZSBhLnRoLmRhdGE7Yz1PYmplY3Qua2V5cyhhLnRoKTtjLnNvcnQoKTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWU9Y1tkXSxhLnNoLnB1c2goZSsiPSIrQUgoYS50aFtlXSkpO2ImJmEuc2gucHVzaCgiZGF0YT0iK0FIKGIsITEpKTthLnNoLmxlbmd0aD4wJiYoYj1hLnNoLmxlbmd0aC0xLGEuc2hbYl09PT0iQCImJmEuc2guc3BsaWNlKGIsCjEpKTtyZXR1cm4gYS5zaC5sZW5ndGg+MD8iLyIrYS5zaC5qb2luKCIvIik6IiJ9O0FIPWZ1bmN0aW9uKGEsYil7YiYmKGI9Xy5BamEudGVzdChiRihhKSkpO2ImJihhKz0iXHUyMDJkIik7YT1lbmNvZGVVUklDb21wb25lbnQoYSk7eENhLmxhc3RJbmRleD0wO2E9YS5yZXBsYWNlKHhDYSxkZWNvZGVVUklDb21wb25lbnQpO3lDYS5sYXN0SW5kZXg9MDtyZXR1cm4gYT1hLnJlcGxhY2UoeUNhLCIrIil9O2dDYT1mdW5jdGlvbihhKXtyZXR1cm4vXlsnQF18JTQwLy50ZXN0KGEpPyInIithKyInIjphfTtfLkFDYT1mdW5jdGlvbihhLGIpe2E9YitfLndDYShuZXcgXy56Q2EsYSwhMSk7cmV0dXJuIGE9Xy5GaihfLmt6YShhLCJzb3VyY2UiKSwic291cmNlIiwiYXBpdjMiKX07Cl8uUEg9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uT0g7aWYoYS5zdWJzdHJpbmcoMCwyKT09IkY6Iil7dmFyIGM9YS5zdWJzdHJpbmcoMik7Xy5raChiLDEsMyk7Xy5paChiLDIsYyl9ZWxzZSBpZihhLm1hdGNoKCJeWy1fQS1aYS16MC05XXsyMX1bQVFnd10kIikpXy5raChiLDEsMiksXy5paChiLDIsYSk7ZWxzZSB0cnl7Yz1fLldjKGEpLGI9QkNhKGMpfWNhdGNoKGQpe31iLmdldElkKCk9PSIiJiYoXy5raChiLDEsMiksXy5paChiLDIsYSkpO3JldHVybiBifTsKXy5EQ2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bmV3IF8uQ0g7dmFyIGY9Xy53ZyhlLF8uS0gsMyk7Zj1fLmtoKGYsMSwxKTt2YXIgZz1fLndnKGYsXy5OSCwyKTtnPV8ua2goZywxLDApLnNldEhlYWRpbmcoYS5oZWFkaW5nKS5zZXRUaWx0KDkwK2EucGl0Y2gpO3ZhciBoPWIubGF0KCk7Zz1fLkF1KGcsMyxoKTtiPV8uZUYoZyxiLmxuZygpKTtfLkF1KGIsNyxfLnVsKE1hdGguYXRhbihNYXRoLnBvdygyLDEtYS56b29tKSouNzUpKjIpKTthPV8ud2coZixfLkNDYSwzKTtpZihjKXtjPV8uUEgoYyk7YTpzd2l0Y2goXy5QZyhjLDEpKXtjYXNlIDM6Yj00O2JyZWFrIGE7Y2FzZSAxMDpiPTEwO2JyZWFrIGE7ZGVmYXVsdDpiPTB9YT1fLmtoKGEsMixiKTtjPWMuZ2V0SWQoKTtfLmloKGEsMSxjKX1yZXR1cm4gXy5BQ2EoZSxkKX07Cl8uRUNhPWZ1bmN0aW9uKGEsYil7aWYoIWEuaXRlbXNbYl0pe2xldCBjPWEuaXRlbXNbMF0uc2VnbWVudDthLml0ZW1zW2JdPWEuaXRlbXNbYl18fHtzZWdtZW50Om5ldyBfLmJvKGMueCthLmdyaWQueCpiLGMueSthLmdyaWQueSpiKX19fTtfLlFIPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09NXx8YT09PTN8fGE9PT02fHxhPT09NH07Xy5SSD1mdW5jdGlvbihhKXtpZihhLnR5cGUuc3RhcnRzV2l0aCgidG91Y2giKSl7bGV0IGI9YS5jaGFuZ2VkVG91Y2hlcztyZXR1cm4oYT1hLnRvdWNoZXM/LlswXT8/Yj8uWzBdKT97Y2xpZW50WDphLmNsaWVudFgsY2xpZW50WTphLmNsaWVudFl9Om51bGx9cmV0dXJue2NsaWVudFg6YS5jbGllbnRYLGNsaWVudFk6YS5jbGllbnRZfX07Cl8uU0g9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8uZ0IsYz1fLkl3KF8uSHcoXy5HeChiKSwyKSwic3Z2Iik7dmFyIGQ9Xy5aZihjLDQsXy51eCk7ZD1fLmloKGQsMSwiY2JfY2xpZW50Iik7dmFyIGU9YS5nZXQoImNsaWVudCIpfHwiYXBpdjMiO2Quc2V0VmFsdWUoZSk7ZD1bImRlZmF1bHQiXTtpZihlPWEuZ2V0KCJzdHJlZXRWaWV3Q29udHJvbE9wdGlvbnMiKSlpZihkPV8uTW0oXy5IbShfLkZtKF8uQXQpLDEpKShlLnNvdXJjZXMpfHxbXSxkLmluY2x1ZGVzKCJvdXRkb29yIikpdGhyb3cgXy5BbSgiT1VURE9PUiBzb3VyY2Ugbm90IHN1cHBvcnRlZCBvbiBTdHJlZXRWaWV3Q29udHJvbE9wdGlvbnMiKTtjPV8uWmYoYyw0LF8udXgpO2M9Xy5paChjLDEsImNjIik7ZT0iITFtMyExZTIhMmIxITNlMiI7ZC5pbmNsdWRlcygiZ29vZ2xlIil8fChlKz0iITFtMyExZTEwITJiMSEzZTIiKTtjLnNldFZhbHVlKGUpO2M9Xy5KbC5yaCgpLnRoKCk7Xy56eChfLkp4KGIpLGMpO18uUHcoXy5DeChfLkp4KGIpKSwKNjgpO2I9e1NvOmJ9O2M9KGEuT3U/MDphLmdldCgidGlsdCIpKT9hLmdldCgibWFwSGVhZGluZyIpfHwwOnZvaWQgMDtyZXR1cm4gbmV3IF8ubkIoXy5UeChhLnNoKSxudWxsLF8uWXcoKT4xLF8uWHgoYyksbnVsbCxiLGMpfTtfLlVIPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIG5ldyBfLmJvKDAsMCk7aWYoXy5OcC5CaCYmIV8uc3YoXy5OcC52ZXJzaW9uLDUyOSl8fF8uTnAuRmgmJiFfLnN2KF8uTnAudmVyc2lvbiwxMikpe2lmKGE9RkNhKGEpLGIpe2xldCBjPUZDYShiKTthLngtPWMueDthLnktPWMueX19ZWxzZSBhPVRIKGEsYik7IWImJmEmJl8udGxhKCkmJiFfLnN2KF8uTnAudGgsNCwxKSYmKGEueC09d2luZG93LnBhZ2VYT2Zmc2V0LGEueS09d2luZG93LnBhZ2VZT2Zmc2V0KTtyZXR1cm4gYX07CkZDYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IF8uYm8oMCwwKSxjPV8uUHAoKS50cmFuc2Zvcm18fCIiLGQ9Xy5ydyhhKS5kb2N1bWVudEVsZW1lbnQsZT1hO2EhPT1kOyl7Zm9yKDtlJiZlIT09ZCYmIWUuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShjKTspZT1lLnBhcmVudE5vZGU7aWYoIWUpcmV0dXJuIG5ldyBfLmJvKDAsMCk7YT1USChhLGUpO2IueCs9YS54O2IueSs9YS55O2lmKGE9YyYmZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGMpKWlmKGE9R0NhLmV4ZWMoYSkpe3ZhciBmPXBhcnNlRmxvYXQoYVsxXSk7bGV0IGc9ZS5vZmZzZXRXaWR0aC8yLGg9ZS5vZmZzZXRIZWlnaHQvMjtiLng9KGIueC1nKSpmK2c7Yi55PShiLnktaCkqZitoO2Y9Xy5KRShhWzNdKTtiLngrPV8uSkUoYVsyXSk7Yi55Kz1mfWE9ZTtlPWUucGFyZW50Tm9kZX1jPVRIKGQsbnVsbCk7Yi54Kz1jLng7Yi55Kz1jLnk7cmV0dXJuIG5ldyBfLmJvKE1hdGguZmxvb3IoYi54KSxNYXRoLmZsb29yKGIueSkpfTsKVEg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy5ibygwLDApO2lmKGE9PT1iKXJldHVybiBjO3ZhciBkPWEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Yy54Kz1kLmxlZnQ7Yy55Kz1kLnRvcDthPV8uaUgoYSk7Yy54Kz1fLlpFKGEuYm9yZGVyTGVmdFdpZHRoKTtjLnkrPV8uWkUoYS5ib3JkZXJUb3BXaWR0aCk7YiYmKGI9VEgoYixudWxsKSxjLngtPWIueCxjLnktPWIueSk7cmV0dXJuIGN9O18uSENhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Yi50ZXh0Q29udGVudD1hO2Iuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixgJHthfS5gKTtyZXR1cm4gYn07Cl8uSkNhPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Zm9yKGxldCBjIG9mIGEpaWYoSUNhLmhhcyhjKSl7bGV0IHtrZXlUZXh0OmQsYXJpYUxhYmVsOmV9PUlDYS5nZXQoYyk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJrYmQiKTthLnRleHRDb250ZW50PWQ7ZSYmYS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUpO2IuYXBwZW5kQ2hpbGQoYSl9cmV0dXJuIGJ9O18uVkg9ZnVuY3Rpb24oKXtyZXR1cm5be2Rlc2NyaXB0aW9uOiJNb3ZlIGxlZnQiLGJtOlszN119LHtkZXNjcmlwdGlvbjoiTW92ZSByaWdodCIsYm06WzM5XX0se2Rlc2NyaXB0aW9uOiJNb3ZlIHVwIixibTpbMzhdfSx7ZGVzY3JpcHRpb246Ik1vdmUgZG93biIsYm06WzQwXX0se2Rlc2NyaXB0aW9uOiJab29tIGluIixibTpbMTA3XX0se2Rlc2NyaXB0aW9uOiJab29tIG91dCIsYm06WzEwOV19XX07Cl8uV0g9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuW3tkZXNjcmlwdGlvbjphPyJSb3RhdGUgY291bnRlci1jbG9ja3dpc2UiOiJSb3RhdGUgY2xvY2t3aXNlIixibTpbMTYsMzddfSx7ZGVzY3JpcHRpb246YT8iUm90YXRlIGNsb2Nrd2lzZSI6IlJvdGF0ZSBjb3VudGVyLWNsb2Nrd2lzZSIsYm06WzE2LDM5XX1dfTtfLlhIPWZ1bmN0aW9uKGE9ITEpe3JldHVyblt7ZGVzY3JpcHRpb246YT8iVGlsdCBkb3duIjoiVGlsdCB1cCIsYm06WzE2LDM4XX0se2Rlc2NyaXB0aW9uOmE/IlRpbHQgdXAiOiJUaWx0IGRvd24iLGJtOlsxNiw0MF19XX07CktDYT1mdW5jdGlvbihhLGIpe3JldHVybiJtYXAiPT09Yj9bLi4uXy5WSCgpLHtkZXNjcmlwdGlvbjoiSnVtcCBsZWZ0IGJ5IDc1JSIsYm06WzM2XX0se2Rlc2NyaXB0aW9uOiJKdW1wIHJpZ2h0IGJ5IDc1JSIsYm06WzM1XX0se2Rlc2NyaXB0aW9uOiJKdW1wIHVwIGJ5IDc1JSIsYm06WzMzXX0se2Rlc2NyaXB0aW9uOiJKdW1wIGRvd24gYnkgNzUlIixibTpbMzRdfSwuLi4oYS5Lcz9fLldIKCk6W10pLC4uLihhLkxzP18uWEgoKTpbXSldOiJtYXBfM2QiPT09Yj9bLi4uXy5WSCgpLC4uLl8uV0goITApLC4uLl8uWEgoITEpXTpfLlZIKCl9OwpMQ2E9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGFibGUiKSxjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5Iik7Yi5hcHBlbmRDaGlsZChjKTtmb3IobGV0IHtkZXNjcmlwdGlvbjpkLGJtOmV9b2YgYS5xaCl7bGV0IGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTtmLmFwcGVuZENoaWxkKGUpO2YuYXBwZW5kQ2hpbGQoZCk7Yy5hcHBlbmRDaGlsZChmKX1hLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9O1lIPWZ1bmN0aW9uKCl7dGhpcy5xaD1uZXcgTUNhO3RoaXMucmg9bmV3IE5DYSh0aGlzLnFoKTtGemEodGhpcy5yaCxuZXcgT0NhKGE9PntQQ2EodGhpcyxhKX0se2JBOm5ldyBRQ2EseUE6YT0+e2ZvcihsZXQgYiBvZiBhKVBDYSh0aGlzLGIpfX0pKTtmb3IobGV0IGEgb2YgUkNhKXtsZXQgYj1TQ2EuaGFzKGEpPyExOnZvaWQgMDtLemEodGhpcy5yaCxhLGIpfXRoaXMuc2g9e319OwpQQ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EemEoYik7aWYoYyl7aWYoIVRDYXx8Yi5xaC50YXJnZXRFbGVtZW50LnRhZ05hbWUhPT0iSU5QVVQiJiZiLnFoLnRhcmdldEVsZW1lbnQudGFnTmFtZSE9PSJURVhUQVJFQSJ8fGIucWguZXZlbnRUeXBlIT09ImZvY3VzIil7dmFyIGQ9Yi5xaC5ldmVudDtkLnN0b3BQcm9wYWdhdGlvbiYmZC5zdG9wUHJvcGFnYXRpb24oKX10cnl7bGV0IGU9KGEuc2hbYy5uYW1lXXx8e30pW2IucWguZXZlbnRUeXBlXTtlJiZlKG5ldyBfLm9rKGIucWguZXZlbnQsYy5lbGVtZW50KSl9Y2F0Y2goZSl7dGhyb3cgZTt9fX07ClVDYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGY9ITE7aWYoIV8uemwoZS5ib2R5LGIpJiYhYi5pc0Nvbm5lY3RlZCl7Zm9yKDtiLnBhcmVudEVsZW1lbnQ7KWI9Yi5wYXJlbnRFbGVtZW50O3ZhciBnPWIuc3R5bGUuZGlzcGxheTtiLnN0eWxlLmRpc3BsYXk9Im5vbmUiO2UuYm9keS5hcHBlbmRDaGlsZChiKTtmPSEwfWEuZmlsbC5hcHBseShhLGMpO2EudGkoZnVuY3Rpb24oKXtmJiYoZS5ib2R5LnJlbW92ZUNoaWxkKGIpLGIuc3R5bGUuZGlzcGxheT1nKTtkKCl9KX07WENhPWZ1bmN0aW9uKGE9ZG9jdW1lbnQpe3ZhciBiPV8uaGIoYSk7cmV0dXJuIFZDYVtiXXx8KFZDYVtiXT1uZXcgV0NhKGEpKX07Xy5aSD1mdW5jdGlvbihhKXtyZXR1cm4gYS50aWNrPGEucWh9OwpfLllDYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTAsZD0wLGU9MDtmb3IobGV0IGc9MDtnPGEubGVuZ3RoO2crKyl7dmFyIGY9dm9pZCAwO2Y9YVtnXTtpZihmIGluc3RhbmNlb2YgXy54cyl7Zj1mLmdldFBvc2l0aW9uKCk7aWYoIWYpY29udGludWU7Zj1uZXcgXy4kbShmKTtjKyt9ZWxzZSBpZihmIGluc3RhbmNlb2YgXy53dCl7Zj1mLmdldFBhdGgoKTtpZighZiljb250aW51ZTtmPWYuZ2V0QXJyYXkoKTtmPW5ldyBfLkRuKGYpO2QrK31lbHNlIGlmKGYgaW5zdGFuY2VvZiBfLnZ0KXtmPWYuZ2V0UGF0aHMoKTtpZighZiljb250aW51ZTtmPWYuZ2V0QXJyYXkoKS5tYXAoaD0+aC5nZXRBcnJheSgpKTtmPW5ldyBfLkVuKGYpO2UrK31lbHNlIGNvbnRpbnVlO2IucHVzaChmKX1yZXR1cm4gYS5sZW5ndGg9PT0xP2JbMF06IWN8fGR8fGU/Y3x8IWR8fGU/Y3x8ZHx8IWU/bmV3IF8uSW4oYik6bmV3IF8uSG4oYik6bmV3IF8uR24oYik6KGE9Yi5tYXAoZz0+Zy5nZXQoKSksbmV3IF8uRm4oYSkpfTsKXy5hRGE9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9O2IuY3Jvc3NPcmlnaW4/WkNhKGEsYik6JENhKGEsYil9OyRDYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLlVhLlhNTEh0dHBSZXF1ZXN0LGQ9Yi5icHx8KCgpPT57fSk7Yy5vcGVuKGIuY29tbWFuZHx8IkdFVCIsYSwhMCk7Yi5jb250ZW50VHlwZSYmYy5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGIuY29udGVudFR5cGUpO2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57Yy5yZWFkeVN0YXRlIT09NHx8KGMuc3RhdHVzPT09MjAwfHxjLnN0YXR1cz09PTIwNCYmYi5xUD9iRGEoYy5yZXNwb25zZVRleHQsYik6Yy5zdGF0dXM+PTUwMCYmYy5zdGF0dXM8NjAwP2QoMixudWxsKTpkKDAsbnVsbCkpfTtjLm9uZXJyb3I9KCk9PntkKDMsbnVsbCl9O2Muc2VuZChiLmRhdGF8fG51bGwpfTsKWkNhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8uVWEuWE1MSHR0cFJlcXVlc3QsZD1iLmJwfHwoKCk9Pnt9KTtpZigid2l0aENyZWRlbnRpYWxzImluIGMpYy5vcGVuKGIuY29tbWFuZHx8IkdFVCIsYSwhMCk7ZWxzZSBpZih0eXBlb2YgXy5VYS5YRG9tYWluUmVxdWVzdCE9PSJ1bmRlZmluZWQiKWM9bmV3IF8uVWEuWERvbWFpblJlcXVlc3QsYy5vcGVuKGIuY29tbWFuZHx8IkdFVCIsYSk7ZWxzZXtkKDAsbnVsbCk7cmV0dXJufWMub25sb2FkPSgpPT57YkRhKGMucmVzcG9uc2VUZXh0LGIpfTtjLm9uZXJyb3I9KCk9PntkKDMsbnVsbCl9O2Muc2VuZChiLmRhdGF8fG51bGwpfTsKYkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDthPWF8fCIiO2IudUcmJmEuaW5kZXhPZigiKV19J1xuIikhPT0wfHwoYT1hLnN1YnN0cmluZyg1KSk7aWYoYi5xUCljPWE7ZWxzZSB0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpeyhiLmJwfHwoKCk9Pnt9KSkoMSxkKTtyZXR1cm59KGIuTml8fCgoKT0+e30pKShjKX07Xy4kSD1mdW5jdGlvbihhLGIpeyJxdWVyeSJpbiBiP18uaWgoYSwyLGIucXVlcnkpOmIubG9jYXRpb24/KF8uTHcoXy53ZyhhLF8ub0EsMSksYi5sb2NhdGlvbi5sYXQoKSksXy5OdyhfLndnKGEsXy5vQSwxKSxiLmxvY2F0aW9uLmxuZygpKSk6Yi5wbGFjZUlkJiZfLmloKGEsNSxiLnBsYWNlSWQpfTsKXy5lRGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGUpe3JldHVybiBlJiZNYXRoLnJvdW5kKGUuZ2V0VGltZSgpLzFFMyl9Yj1ifHx7fTt2YXIgZD1jKGIuYXJyaXZhbFRpbWUpO2Q/Xy54RShhLDIsU3RyaW5nKGQpKTooZD1jKGIuZGVwYXJ0dXJlVGltZSl8fE1hdGgucm91bmQoRGF0ZS5ub3coKS82RTQpKjYwLF8ueEUoYSwxLFN0cmluZyhkKSkpOyhkPWIucm91dGluZ1ByZWZlcmVuY2UpJiZfLmtoKGEsNCxjRGFbZF0pO2lmKGI9Yi5tb2Rlcylmb3IoZD0wO2Q8Yi5sZW5ndGg7KytkKV8uQnUoYSwzLGREYVtiW2RdXSl9O2FJPWZ1bmN0aW9uKGEpe2lmKGEmJnR5cGVvZiBhLmdldFRpbWU9PT0iZnVuY3Rpb24iKXJldHVybiBhO3Rocm93IF8uQW0oIm5vdCBhIERhdGUiKTt9O18uZkRhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNtKHtkZXBhcnR1cmVUaW1lOmFJLHRyYWZmaWNNb2RlbDpfLk1tKF8uRm0oXy5qcykpfSkoYSl9OwpfLmdEYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbSh7YXJyaXZhbFRpbWU6Xy5NbShhSSksZGVwYXJ0dXJlVGltZTpfLk1tKGFJKSxtb2RlczpfLk1tKF8uR20oXy5GbShfLmtzKSkpLHJvdXRpbmdQcmVmZXJlbmNlOl8uTW0oXy5GbShfLmxzKSl9KShhKX07Xy5iST1mdW5jdGlvbihhLGIpe2lmKGEmJnR5cGVvZiBhPT09Im9iamVjdCIpaWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5KWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7KytjKXt2YXIgZD1iKGFbY10pO2Q/YVtjXT1kOl8uYkkoYVtjXSxiKX1lbHNlIGlmKGEuY29uc3RydWN0b3I9PT1PYmplY3QpZm9yKGMgaW4gYSl7aWYoIWEuaGFzT3duUHJvcGVydHkoYykpY29udGludWU7KGQ9YihhW2NdKSk/YVtjXT1kOl8uYkkoYVtjXSxiKX19OwpfLmNJPWZ1bmN0aW9uKGEpe2E6aWYoYSYmdHlwZW9mIGE9PT0ib2JqZWN0IiYmXy5qbShhLmxhdCkmJl8uam0oYS5sbmcpKXtmb3IoYiBvZiBPYmplY3Qua2V5cyhhKSlpZihiIT09ImxhdCImJmIhPT0ibG5nIil7dmFyIGI9ITE7YnJlYWsgYX1iPSEwfWVsc2UgYj0hMTtyZXR1cm4gYj9uZXcgXy5UbShhLmxhdCxhLmxuZyk6bnVsbH07Xy5oRGE9ZnVuY3Rpb24oYSl7YTppZihhJiZ0eXBlb2YgYT09PSJvYmplY3QiJiZhLnNvdXRod2VzdCBpbnN0YW5jZW9mIF8uVG0mJmEubm9ydGhlYXN0IGluc3RhbmNlb2YgXy5UbSl7Zm9yKGIgaW4gYSlpZihiIT09InNvdXRod2VzdCImJmIhPT0ibm9ydGhlYXN0Iil7dmFyIGI9ITE7YnJlYWsgYX1iPSEwfWVsc2UgYj0hMTtyZXR1cm4gYj9uZXcgXy5SbihhLnNvdXRod2VzdCxhLm5vcnRoZWFzdCk6bnVsbH07Xy5kST1mdW5jdGlvbihhKXthP18uTSh3aW5kb3csMTQ4NDQxKTpfLk0od2luZG93LDE0ODQ0Mil9OwpfLmxEYT1mdW5jdGlvbihhKXtfLmdGKCk7Xy5CeihlSSxhKTtfLlN0KGlEYSxhKTtfLlN0KGpEYSxhKTtfLlN0KGtEYSxhKX07CmVJPWZ1bmN0aW9uKCl7dmFyIGE9ZUkuR0guSWooKT8icmlnaHQiOiJsZWZ0Ijt2YXIgYj1lSS5HSC5JaigpPyJydGwiOiJsdHIiO3JldHVybiIuZ20taXcge3RleHQtYWxpZ246IithKyI7fS5nbS1pdyAuZ20tbnVtZXJpYy1yZXYge2Zsb2F0OiIrYSsiO30uZ20taXcgLmdtLXBob3RvcywuZ20taXcgLmdtLXJldiB7ZGlyZWN0aW9uOiIrYisnO30uZ20taXcgLmdtLXN0YXJzLWYsIC5nbS1pdyAuZ20tc3RhcnMtYiB7YmFja2dyb3VuZDp1cmwoIicrXy5adygiYXBpLTMvaW1hZ2VzL3Jldmlld19zdGFycyIsITApKyciKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOiA2NXB4ICcrU3RyaW5nKE51bWJlcigiMTMiKSoyKSsicHg7ZmxvYXQ6IithKyI7fS5nbS1pdyAuZ20tc3RhcnMtZiB7YmFja2dyb3VuZC1wb3NpdGlvbjoiK2ErIiAtMTNweDt9LmdtLWl3IC5nbS1zdi1sYWJlbCwuZ20taXcgLmdtLXBoLWxhYmVsIHsiK2ErIjogNHB4O30ifTsKXy5mST1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpdmFyIGI9YTtlbHNlIGlmKHR5cGVvZiBhPT09Im9iamVjdCIpYj1hLmNvbnN0cnVjdG9yO2Vsc2UgdGhyb3cgRXJyb3Iodm9pZCAwKTtyZXR1cm4gXy5jZShjPT5jIGluc3RhbmNlb2YgYil9O18uZ0k9ZnVuY3Rpb24oYSxiLGMpe3RoaXMudGg9YTt0aGlzLndoPWI7dGhpcy5xaD10aGlzLnNoPWE7dGhpcy54aD1jfHwwfTtfLm1EYT1mdW5jdGlvbihhKXthLnFoPU1hdGgubWluKGEud2gsYS5xaCoyKTthLnNoPU1hdGgubWluKGEud2gsYS5xaCsoYS54aD9NYXRoLnJvdW5kKGEueGgqKE1hdGgucmFuZG9tKCktLjUpKjIqYS5xaCk6MCkpO2EucmgrK307Xy5oST1mdW5jdGlvbihhKXt2YXIgYj1uZXcgXy5GcjtiPV8uZWgoYixNYXRoLmZsb29yKGEvMUUzKSk7cmV0dXJuIF8uY2goYiwyLE1hdGguZmxvb3IoYSoxRTYpJTFFOSl9OwpuRGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUFycmF5KDI1MCksZT1fLnRsKGEubGF0KSxmPV8udGwoYS5sbmcpLGc9TWF0aC5jb3MoYiksaD1NYXRoLnNpbihiKSxrPU1hdGguY29zKGUpO2U9TWF0aC5zaW4oZSk7aWYoaz4xRS02KWZvcihhPTA7YTwyNTA7KythKXtiPWEvMjUwKk1hdGguUEkqNDtiKz1NYXRoLnNpbihiK01hdGguUEkpO3ZhciBtPWIvMixwPWUqZytrKmgqTWF0aC5jb3MobSk7Yj1NYXRoLmFzaW4ocCk7bGV0IHE9ZitNYXRoLmF0YW4yKE1hdGguc2luKG0pKmgqayxnLWUqcCk7bT0tTWF0aC5QSTtwPU1hdGguUEktbTtxPSgocS1tKSVwK3ApJXArbTtkW2FdPWMoXy51bChiKSxfLnVsKHEpKX1lbHNlIGZvcihmPV8udWwoYiksZj1hLmxhdD4wP2EubGF0LWY6YS5sYXQrZixnPTA7ZzwyNTA7KytnKWRbZ109YyhmLDM2MCpnLzI1MCk7cmV0dXJuIGR9OwpfLm9EYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtuRGEoYSxiLChkLGUpPT5uZXcgXy5Rbyh7bGF0OmQsbG5nOmUsYWx0aXR1ZGU6YS5hbHRpdHVkZX0pKV07Xy50bChhLmxhdCktYjwtTWF0aC5QSS8yJiYoYj1bbmV3IF8uUW8oe2xhdDotOTAsbG5nOi0yMDAsYWx0aXR1ZGU6YS5hbHRpdHVkZX0sITApLG5ldyBfLlFvKHtsYXQ6OTAsbG5nOi0yMDAsYWx0aXR1ZGU6YS5hbHRpdHVkZX0sITApLG5ldyBfLlFvKHtsYXQ6OTAsbG5nOi0xMDAsYWx0aXR1ZGU6YS5hbHRpdHVkZX0sITApLG5ldyBfLlFvKHtsYXQ6OTAsbG5nOjAsYWx0aXR1ZGU6YS5hbHRpdHVkZX0sITApLG5ldyBfLlFvKHtsYXQ6OTAsbG5nOjEwMCxhbHRpdHVkZTphLmFsdGl0dWRlfSwhMCksbmV3IF8uUW8oe2xhdDo5MCxsbmc6MjAwLGFsdGl0dWRlOmEuYWx0aXR1ZGV9LCEwKSxuZXcgXy5Rbyh7bGF0Oi05MCxsbmc6MjAwLGFsdGl0dWRlOmEuYWx0aXR1ZGV9LCEwKSxuZXcgXy5Rbyh7bGF0Oi05MCxsbmc6MTAwLGFsdGl0dWRlOmEuYWx0aXR1ZGV9LAohMCksbmV3IF8uUW8oe2xhdDotOTAsbG5nOjAsYWx0aXR1ZGU6YS5hbHRpdHVkZX0sITApLG5ldyBfLlFvKHtsYXQ6LTkwLGxuZzotMTAwLGFsdGl0dWRlOmEuYWx0aXR1ZGV9LCEwKSxuZXcgXy5Rbyh7bGF0Oi05MCxsbmc6LTIwMCxhbHRpdHVkZTphLmFsdGl0dWRlfSwhMCldLGMucHVzaChiKSk7cmV0dXJuIGN9O18ucURhPWZ1bmN0aW9uKGEpe2E9YS50cmltKCkudG9Mb3dlckNhc2UoKTt2YXIgYjtpZighKGI9Xy5wRGEoYSkpKWlmKGlJLmhhcyhhKSliPWlJLmdldChhKTtlbHNle2I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7dmFyIGM9Yi5nZXRDb250ZXh0KCIyZCIpO2IuaGVpZ2h0PWIud2lkdGg9MTtjLmZpbGxTdHlsZT1hO2MuZmlsbFJlY3QoMCwwLGIud2lkdGgsYi5oZWlnaHQpO3ZhciBbZCxlLGYsZ109Yy5nZXRJbWFnZURhdGEoMCwwLGIud2lkdGgsYi5oZWlnaHQpLmRhdGE7Yj1uZXcgakkoZCxlLGYsZy8yNTUpO2lJLnNldChhLGIpfXJldHVybiBifTsKXy5wRGE9ZnVuY3Rpb24oYSl7YT1hLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3ZhciBiO2lmKCEoYj1yRGFbYV18fG51bGwpKXt2YXIgYz1rSS5QTS5leGVjKGEpO2lmKGMpe2I9cGFyc2VJbnQoY1sxXSwxNik7dmFyIGQ9cGFyc2VJbnQoY1syXSwxNiksZT1wYXJzZUludChjWzNdLDE2KTtjPWNbNF0/cGFyc2VJbnQoY1s0XSwxNik6MTU7Yj1uZXcgakkoYjw8NHxiLGQ8PDR8ZCxlPDw0fGUsKGM8PDR8YykvMjU1KX1lbHNlIGI9bnVsbH1ifHwoYj0oYj1rSS53TS5leGVjKGEpKT9uZXcgakkocGFyc2VJbnQoYlsxXSwxNikscGFyc2VJbnQoYlsyXSwxNikscGFyc2VJbnQoYlszXSwxNiksYls0XT9wYXJzZUludChiWzRdLDE2KS8yNTU6MSk6bnVsbCk7Ynx8KGI9KGI9a0kuc1AuZXhlYyhhKSk/bmV3IGpJKE1hdGgubWluKF8uSkUoYlsxXSksMjU1KSxNYXRoLm1pbihfLkpFKGJbMl0pLDI1NSksTWF0aC5taW4oXy5KRShiWzNdKSwyNTUpKTpudWxsKTtifHwoYj0oYj1rSS50UC5leGVjKGEpKT8KbmV3IGpJKE1hdGgubWluKE1hdGgucm91bmQocGFyc2VGbG9hdChiWzFdKSoyLjU1KSwyNTUpLE1hdGgubWluKE1hdGgucm91bmQocGFyc2VGbG9hdChiWzJdKSoyLjU1KSwyNTUpLE1hdGgubWluKE1hdGgucm91bmQocGFyc2VGbG9hdChiWzNdKSoyLjU1KSwyNTUpKTpudWxsKTtifHwoYj0oYj1rSS51UC5leGVjKGEpKT9uZXcgakkoTWF0aC5taW4oXy5KRShiWzFdKSwyNTUpLE1hdGgubWluKF8uSkUoYlsyXSksMjU1KSxNYXRoLm1pbihfLkpFKGJbM10pLDI1NSksXy5jbShwYXJzZUZsb2F0KGJbNF0pLDAsMSkpOm51bGwpO2J8fChiPShhPWtJLnZQLmV4ZWMoYSkpP25ldyBqSShNYXRoLm1pbihNYXRoLnJvdW5kKHBhcnNlRmxvYXQoYVsxXSkqMi41NSksMjU1KSxNYXRoLm1pbihNYXRoLnJvdW5kKHBhcnNlRmxvYXQoYVsyXSkqMi41NSksMjU1KSxNYXRoLm1pbihNYXRoLnJvdW5kKHBhcnNlRmxvYXQoYVszXSkqMi41NSksMjU1KSxfLmNtKHBhcnNlRmxvYXQoYVs0XSksMCwxKSk6Cm51bGwpO3JldHVybiBifHxudWxsfTtfLmxJPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMpe3ZhciBkPWEuZ2V0KCJzbmFwcGluZ0NhbGxiYWNrIik7aWYoIWQpcmV0dXJuIGM7dmFyIGU9YS5nZXQoInByb2plY3Rpb25Db250cm9sbGVyIiksZj1lLmZyb21EaXZQaXhlbFRvTGF0TG5nKGMpO3JldHVybihkPWQoe2xhdExuZzpmLG92ZXJsYXk6Yn0pKT9lLmZyb21MYXRMbmdUb0RpdlBpeGVsKGQpOmN9fTtfLm1JPWZ1bmN0aW9uKGEsYil7aWYoYS5jaGlsZHJlbilmb3IobGV0IGM9MDtjPDQ7KytjKXtsZXQgZD1hLmNoaWxkcmVuW2NdO2lmKGQuYm91bmRzLmNvbnRhaW5zQm91bmRzKGIpKXtfLm1JKGQsYik7cmV0dXJufX1hLml0ZW1zfHwoYS5pdGVtcz1bXSk7YS5pdGVtcy5wdXNoKGIpOyFhLmNoaWxkcmVuJiZhLml0ZW1zLmxlbmd0aD4xMCYmYS5kZXB0aDwxNSYmYS5zcGxpdCgpfTsKXy5uST1mdW5jdGlvbihhLGIsYyl7aWYoYS5pdGVtcylmb3IobGV0IGU9MCxmPWEuaXRlbXMubGVuZ3RoO2U8ZjsrK2Upe3ZhciBkPWEuaXRlbXNbZV07YyhkKSYmYihkKX1pZihhLmNoaWxkcmVuKWZvcihkPTA7ZDw0OysrZCl7bGV0IGU9YS5jaGlsZHJlbltkXTtjKGUuYm91bmRzKSYmXy5uSShlLGIsYyl9fTtfLnNEYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MCxlPWNbMV0+Yjtmb3IobGV0IGc9MyxoPWMubGVuZ3RoO2c8aDtnKz0yKXt2YXIgZj1lO2U9Y1tnXT5iO2lmKGY9PT1lKWNvbnRpbnVlO2Y9KGY/MTowKS0oZT8xOjApO2YqKChjW2ctM10tYSkqKGNbZy0wXS1iKS0oY1tnLTJdLWIpKihjW2ctMV0tYSkpPjAmJihkKz1mKX1yZXR1cm4gZH07dERhPWZ1bmN0aW9uKGEsYil7dmFyIGM9TWF0aC5jb3MoYSk+MD8xOi0xO3JldHVybiBNYXRoLmF0YW4yKGMqTWF0aC50YW4oYSksYy9iKX07CnZEYT1mdW5jdGlvbihhKXthLnNofHwhYS53bXx8YS5xaC5jb250YWluc0JvdW5kcyhhLndtKXx8KGEud2g9bmV3IF8ub0kodURhKSxhLnpoKCkpfTtfLnBJPWZ1bmN0aW9uKGEsYil7YS53bSE9PWImJihhLndtPWIsdkRhKGEpKX07d0RhPWZ1bmN0aW9uKGEpe2lmKGEucmgmJmEuZW5hYmxlZCl7bGV0IGU9YS5yaC5nZXRTaXplKCk7dmFyIGI9YS5yaDt2YXIgYz1NYXRoLm1pbig1MCxlLndpZHRoLzEwKSxkPU1hdGgubWluKDUwLGUuaGVpZ2h0LzEwKTtiPV8uem8oYi5taW5YK2MsYi5taW5ZK2QsYi5tYXhYLWMsYi5tYXhZLWQpO2EucWg9YjthLnhoPW5ldyBfLmJvKGUud2lkdGgvMUUzKnFJLGUuaGVpZ2h0LzFFMypxSSk7dkRhKGEpfWVsc2UgYS5xaD1fLkVzfTtfLnJJPWZ1bmN0aW9uKGEsYil7YS5yaCE9PWImJihhLnJoPWIsd0RhKGEpKX07Xy5zST1mdW5jdGlvbihhLGIpe2EuZW5hYmxlZCE9PWImJihhLmVuYWJsZWQ9Yix3RGEoYSkpfTsKeERhPWZ1bmN0aW9uKGEpe2Euc2gmJih3aW5kb3cuY2xlYXJUaW1lb3V0KGEuc2gpLGEuc2g9MCl9O18ueURhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1uZXcgXy55bztkLm1pblg9YS54K2MueC1iLndpZHRoLzI7ZC5taW5ZPWEueStjLnk7ZC5tYXhYPWQubWluWCtiLndpZHRoO2QubWF4WT1kLm1pblkrYi5oZWlnaHQ7cmV0dXJuIGR9O3pEYT1mdW5jdGlvbihhLGIpe2Euc2V0KCJwaXhlbEJvdW5kcyIsYik7YS5xaCYmXy5wSShhLnFoLGIpfTtfLnRJPWZ1bmN0aW9uKGEsYil7YS5xaCYmYS5xaC5jbGllbnRYPT09Yi5jbGllbnRYJiZhLnFoLmNsaWVudFk9PT1iLmNsaWVudFl8fChhLnBvc2l0aW9uPW51bGwsYS5xaD1iLGEuUmgucmVmcmVzaCgpKX07Cl8udUk9ZnVuY3Rpb24oYSx7eDpiLHk6Y30sZCl7dmFyIGU9e2tpOjAsbGk6MCx1aTowfSxmPXtraTowLGxpOjB9LGc9bnVsbCxoPU9iamVjdC5rZXlzKGEudGlsZXMpLnJldmVyc2UoKTtmb3IobGV0IG09MDttPGgubGVuZ3RoJiYhZzttKyspe2lmKCFhLnRpbGVzLmhhc093blByb3BlcnR5KGhbbV0pKWNvbnRpbnVlO2xldCBwPWEudGlsZXNbaFttXV07dmFyIGs9ZS51aT1wLnpvb207aWYoYS5DaSl7Zj1hLkNpLnNpemU7bGV0IHE9YS5Ray53cmFwKG5ldyBfLldwKGIsYykpO2s9Xy5XeChhLkNpLHEsayx1PT51KTtlLmtpPXAucmoueDtlLmxpPXAucmoueTtmPXtraTprLmtpLWUua2krZC54L2YuWGgsbGk6ay5saS1lLmxpK2QueS9mLllofX0wPD1mLmtpJiZmLmtpPDEmJjA8PWYubGkmJmYubGk8MSYmKGc9cCl9cmV0dXJuIGc/e3ltOmcsQXA6ZSxTdjpmfTpudWxsfTsKXy52ST1mdW5jdGlvbihhLGIsYyxkLHtMTzplLE1POmZ9PXt9KXsoYT1hLl9fZ20pJiZhLnJoLnRoZW4oZz0+e3ZhciBoPWcuUmgsaz1nLm5uW2NdLG09bmV3IF8ub0IoKHEsdSk9PntxPW5ldyBfLnJCKGssZCxoLF8uYnkocSksdSk7aC5OaihxKTtyZXR1cm4gcX0sZnx8KCgpPT57fSkpLHA9cT0+e18uWXgobSxxKX07Xy5xdihiLHApO2UmJmUoe3JlbGVhc2U6KCk9PntiLnJlbW92ZUxpc3RlbmVyKHApO20uY2xlYXIoKX0sS1A6cT0+e3EgaW5zdGFuY2VvZiBfLkFxP2Iuc2V0KHEucWgoKSk6Yi5zZXQobmV3IF8ucEIocSkpfX0pfSl9O0FEYT1mdW5jdGlvbihhLGIsYyl7dGhyb3cgRXJyb3IoYEV4cGVjdGVkICR7Yn0gYXQgcG9zaXRpb24gJHthLnFofSwgZm91bmQgJHtjfWApO307d0k9ZnVuY3Rpb24oYSl7YS50b2tlbiE9PTImJkFEYShhLCJudW1iZXIiLGEudG9rZW49PT0wPyI8ZW5kPiI6YS5jb21tYW5kKTtyZXR1cm4gYS5udW1iZXJ9Owp4ST1mdW5jdGlvbihhKXtyZXR1cm4gYT8iMDEyMzQ1Njc4OSIuaW5kZXhPZihhKT49MDohMX07eUk9ZnVuY3Rpb24oYSxiLGMpe2EuYm91bmRzLmV4dGVuZChuZXcgXy5ibyhiLGMpKX07Cl8uTERhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IEJEYTtyZXR1cm4gZnVuY3Rpb24oYixjLGQsZSl7Yz1fLmxtKGMsImJsYWNrIik7ZD1fLmxtKGQsMSk7ZT1fLmxtKGUsMSk7dmFyIGY9Yi5hbmNob3J8fF8ucG87e3ZhciBnPV8uam0oYi5wYXRoKT9DRGFbYi5wYXRoXTpiLnBhdGg7bGV0IG9jPWAke2d9fCR7Zi54fXwke2YueX1gLE1jPWEuY2FjaGVbb2NdO2lmKE1jKXZhciBoPU1jO2Vsc2V7dmFyIGs9YS5xaCxtPW5ldyBERGEoZyk7ay5pbnN0cnVjdGlvbnM9W107ay5xaD1uZXcgXy5ibygwLDApO2sudGg9bnVsbDtrLnJoPW51bGw7ay5zaD1udWxsO2ZvcihtLm5leHQoKTttLnRva2VuIT09MDspe3ZhciBwPW07cC50b2tlbiE9PTEmJkFEYShwLCJjb21tYW5kIixwLnRva2VuPT09MD8iPGVuZD4iOnAubnVtYmVyKTtsZXQgemQ9cC5jb21tYW5kLGdkPXpkLnRvTG93ZXJDYXNlKCksamQ9emQ9PT1nZDtpZighay5pbnN0cnVjdGlvbnMubGVuZ3RoJiZnZCE9PSJtIil0aHJvdyBFcnJvcignRmlyc3QgaW5zdHJ1Y3Rpb24gaW4gcGF0aCBtdXN0IGJlICJtb3ZldG8iLicpOwptLm5leHQoKTtzd2l0Y2goZ2Qpe2Nhc2UgIm0iOnZhciBxPWssdT1tLHg9ZjtsZXQgRGM9ITA7ZG97bGV0IE9hPXdJKHUpO3UubmV4dCgpO2xldCBRYj13SSh1KTt1Lm5leHQoKTtqZCYmKE9hKz1xLnFoLngsUWIrPXEucWgueSk7RGM/KHEuaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IEVEYShPYS14LngsUWIteC55KSkscS50aD1uZXcgXy5ibyhPYSxRYiksRGM9ITEpOnEuaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IHpJKE9hLXgueCxRYi14LnkpKTtxLnFoLng9T2E7cS5xaC55PVFifXdoaWxlKHUudG9rZW49PT0yKTticmVhaztjYXNlICJ6Ijp2YXIgej1rO3ouaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IEZEYSk7ei5xaC54PXoudGgueDt6LnFoLnk9ei50aC55O2JyZWFrO2Nhc2UgImwiOnZhciBCPWssSz1tLE89Zjtkb3tsZXQgT2E9d0koSyk7Sy5uZXh0KCk7bGV0IFFiPXdJKEspO0submV4dCgpO2pkJiYoT2ErPUIucWgueCxRYis9Qi5xaC55KTtCLmluc3RydWN0aW9ucy5wdXNoKG5ldyB6SShPYS0KTy54LFFiLU8ueSkpO0IucWgueD1PYTtCLnFoLnk9UWJ9d2hpbGUoSy50b2tlbj09PTIpO2JyZWFrO2Nhc2UgImgiOnZhciBBPWssUT1tLGNhPWY7bGV0IEFkPUEucWgueTtkb3tsZXQgT2E9d0koUSk7US5uZXh0KCk7amQmJihPYSs9QS5xaC54KTtBLmluc3RydWN0aW9ucy5wdXNoKG5ldyB6SShPYS1jYS54LEFkLWNhLnkpKTtBLnFoLng9T2F9d2hpbGUoUS50b2tlbj09PTIpO2JyZWFrO2Nhc2UgInYiOnZhciBpYT1rLEdhPW0sTGE9ZjtsZXQgTmM9aWEucWgueDtkb3tsZXQgT2E9d0koR2EpO0dhLm5leHQoKTtqZCYmKE9hKz1pYS5xaC55KTtpYS5pbnN0cnVjdGlvbnMucHVzaChuZXcgekkoTmMtTGEueCxPYS1MYS55KSk7aWEucWgueT1PYX13aGlsZShHYS50b2tlbj09PTIpO2JyZWFrO2Nhc2UgImMiOnZhciBGYT1rLFZhPW0scmI9Zjtkb3tsZXQgT2E9d0koVmEpO1ZhLm5leHQoKTtsZXQgUWI9d0koVmEpO1ZhLm5leHQoKTtsZXQgdGM9d0koVmEpO1ZhLm5leHQoKTtsZXQgSWM9CndJKFZhKTtWYS5uZXh0KCk7bGV0IHZkPXdJKFZhKTtWYS5uZXh0KCk7bGV0IHVjPXdJKFZhKTtWYS5uZXh0KCk7amQmJihPYSs9RmEucWgueCxRYis9RmEucWgueSx0Yys9RmEucWgueCxJYys9RmEucWgueSx2ZCs9RmEucWgueCx1Yys9RmEucWgueSk7RmEuaW5zdHJ1Y3Rpb25zLnB1c2gobmV3IEdEYShPYS1yYi54LFFiLXJiLnksdGMtcmIueCxJYy1yYi55LHZkLXJiLngsdWMtcmIueSkpO0ZhLnFoLng9dmQ7RmEucWgueT11YztGYS5yaD1uZXcgXy5ibyh0YyxJYyl9d2hpbGUoVmEudG9rZW49PT0yKTticmVhaztjYXNlICJzIjp2YXIgRGI9ayxJYT1tLHNiPWY7ZG97bGV0IE9hPXdJKElhKTtJYS5uZXh0KCk7bGV0IFFiPXdJKElhKTtJYS5uZXh0KCk7bGV0IHRjPXdJKElhKTtJYS5uZXh0KCk7bGV0IEljPXdJKElhKTtJYS5uZXh0KCk7amQmJihPYSs9RGIucWgueCxRYis9RGIucWgueSx0Yys9RGIucWgueCxJYys9RGIucWgueSk7bGV0IHZkLHVjO0RiLnJoPyh2ZD0yKkRiLnFoLngtCkRiLnJoLngsdWM9MipEYi5xaC55LURiLnJoLnkpOih2ZD1EYi5xaC54LHVjPURiLnFoLnkpO0RiLmluc3RydWN0aW9ucy5wdXNoKG5ldyBHRGEodmQtc2IueCx1Yy1zYi55LE9hLXNiLngsUWItc2IueSx0Yy1zYi54LEljLXNiLnkpKTtEYi5xaC54PXRjO0RiLnFoLnk9SWM7RGIucmg9bmV3IF8uYm8oT2EsUWIpfXdoaWxlKElhLnRva2VuPT09Mik7YnJlYWs7Y2FzZSAicSI6dmFyIGNjPWssVmI9bSxFZD1mO2Rve2xldCBPYT13SShWYik7VmIubmV4dCgpO2xldCBRYj13SShWYik7VmIubmV4dCgpO2xldCB0Yz13SShWYik7VmIubmV4dCgpO2xldCBJYz13SShWYik7VmIubmV4dCgpO2pkJiYoT2ErPWNjLnFoLngsUWIrPWNjLnFoLnksdGMrPWNjLnFoLngsSWMrPWNjLnFoLnkpO2NjLmluc3RydWN0aW9ucy5wdXNoKG5ldyBIRGEoT2EtRWQueCxRYi1FZC55LHRjLUVkLngsSWMtRWQueSkpO2NjLnFoLng9dGM7Y2MucWgueT1JYztjYy5zaD1uZXcgXy5ibyhPYSxRYil9d2hpbGUoVmIudG9rZW49PT0KMik7YnJlYWs7Y2FzZSAidCI6dmFyIExiPWssd2E9bSxkYT1mO2Rve2xldCBPYT13SSh3YSk7d2EubmV4dCgpO2xldCBRYj13SSh3YSk7d2EubmV4dCgpO2pkJiYoT2ErPUxiLnFoLngsUWIrPUxiLnFoLnkpO2xldCB0YyxJYztMYi5zaD8odGM9MipMYi5xaC54LUxiLnNoLngsSWM9MipMYi5xaC55LUxiLnNoLnkpOih0Yz1MYi5xaC54LEljPUxiLnFoLnkpO0xiLmluc3RydWN0aW9ucy5wdXNoKG5ldyBIRGEodGMtZGEueCxJYy1kYS55LE9hLWRhLngsUWItZGEueSkpO0xiLnFoLng9T2E7TGIucWgueT1RYjtMYi5zaD1uZXcgXy5ibyh0YyxJYyl9d2hpbGUod2EudG9rZW49PT0yKTticmVhaztjYXNlICJhIjp2YXIgJGE9ayx3Yj1tLE5kPWY7ZG97bGV0IE9hPXdJKHdiKTt3Yi5uZXh0KCk7bGV0IFFiPXdJKHdiKTt3Yi5uZXh0KCk7bGV0IHRjPXdJKHdiKTt3Yi5uZXh0KCk7bGV0IEljPXdJKHdiKTt3Yi5uZXh0KCk7bGV0IHZkPXdJKHdiKTt3Yi5uZXh0KCk7bGV0IHVjPXdJKHdiKTt3Yi5uZXh0KCk7CmxldCBPYz13SSh3Yik7d2IubmV4dCgpO2pkJiYodWMrPSRhLnFoLngsT2MrPSRhLnFoLnkpO2I6e3ZhciBrYj0kYS5xaC54LHNhPSRhLnFoLnksV2E9dWMseGU9T2MseWU9ISFJYyxpZT0hIXZkLGlkPU9hLHdjPVFiLEpkPXRjO2lmKF8uaW0oa2IsV2EpJiZfLmltKHNhLHhlKSl7dmFyIEtkPW51bGw7YnJlYWsgYn1pZD1NYXRoLmFicyhpZCk7d2M9TWF0aC5hYnMod2MpO2lmKF8uaW0oaWQsMCl8fF8uaW0od2MsMCkpe0tkPW5ldyB6SShXYSx4ZSk7YnJlYWsgYn1KZD1fLnRsKEpkJTM2MCk7bGV0IGJjPU1hdGguc2luKEpkKSx3ZD1NYXRoLmNvcyhKZCkscGU9KGtiLVdhKS8yLEFiPShzYS14ZSkvMix6Yz13ZCpwZStiYypBYixKYz0tYmMqcGUrd2QqQWIsbmQ9aWQqaWQsa2Q9d2Mqd2MsUGM9emMqemMsS2M9SmMqSmMsU2I9TWF0aC5zcXJ0KChuZCprZC1uZCpLYy1rZCpQYykvKG5kKktjK2tkKlBjKSk7eWU9PWllJiYoU2I9LVNiKTtsZXQgZWM9U2IqaWQqSmMvd2MsWmI9U2IqLXdjKgp6Yy9pZCxXYj1JRGEoMSwwLCh6Yy1lYykvaWQsKEpjLVpiKS93YyksUmM9SURhKCh6Yy1lYykvaWQsKEpjLVpiKS93YywoLXpjLWVjKS9pZCwoLUpjLVpiKS93Yyk7UmMlPU1hdGguUEkqMjtpZT9SYzwwJiYoUmMrPU1hdGguUEkqMik6UmM+MCYmKFJjLT1NYXRoLlBJKjIpO0tkPW5ldyBKRGEod2QqZWMtYmMqWmIrKGtiK1dhKS8yLGJjKmVjK3dkKlpiKyhzYSt4ZSkvMixpZCx3YyxKZCxXYixSYyl9bGV0IFFjPUtkO1FjJiYoUWMueC09TmQueCxRYy55LT1OZC55LCRhLmluc3RydWN0aW9ucy5wdXNoKFFjKSk7JGEucWgueD11YzskYS5xaC55PU9jfXdoaWxlKHdiLnRva2VuPT09Mil9Z2QhPT0iYyImJmdkIT09InMiJiYoay5yaD1udWxsKTtnZCE9PSJxIiYmZ2QhPT0idCImJihrLnNoPW51bGwpfXZhciBQYj1rLmluc3RydWN0aW9ucztoPWEuY2FjaGVbb2NdPVBifX12YXIgUGQ9aCxDYz1fLmxtKGIuc2NhbGUsZSksamI9Xy50bChiLnJvdGF0aW9ufHwwKSxZYz1fLmxtKGIuc3Ryb2tlV2VpZ2h0LApDYyksTWE9bmV3IF8ueW8sb2I9bmV3IEtEYShNYSk7Zm9yKGxldCBvYz0wLE1jPVBkLmxlbmd0aDtvYzxNYzsrK29jKVBkW29jXS5hY2NlcHQob2IpO01hLm1pblg9TWEubWluWCpDYy1ZYy8yO01hLm1heFg9TWEubWF4WCpDYytZYy8yO01hLm1pblk9TWEubWluWSpDYy1ZYy8yO01hLm1heFk9TWEubWF4WSpDYytZYy8yO3ZhciBsYj1uemEoTWEsamIpO2xiLm1pblg9TWF0aC5mbG9vcihsYi5taW5YKTtsYi5tYXhYPU1hdGguY2VpbChsYi5tYXhYKTtsYi5taW5ZPU1hdGguZmxvb3IobGIubWluWSk7bGIubWF4WT1NYXRoLmNlaWwobGIubWF4WSk7dmFyIHhiPW5ldyBfLmJvKC1sYi5taW5YLC1sYi5taW5ZKSxpYz1fLmxtKGIubGFiZWxPcmlnaW4sbmV3IF8uYm8oMCwwKSksWmM9bnphKG5ldyBfLnlvKFtuZXcgXy5ibygoaWMueC1mLngpKkNjLChpYy55LWYueSkqQ2MpXSksamIpLFRkPW5ldyBfLmJvKE1hdGgucm91bmQoWmMubWluWCksTWF0aC5yb3VuZChaYy5taW5ZKSk7cmV0dXJue2FuY2hvcjp4YiwKZmlsbENvbG9yOl8ubG0oYi5maWxsQ29sb3IsYyksZmlsbE9wYWNpdHk6Xy5sbShiLmZpbGxPcGFjaXR5LDApLGxhYmVsT3JpZ2luOm5ldyBfLmJvKC1sYi5taW5YK1RkLngsLWxiLm1pblkrVGQueSksZko6UGQscm90YXRpb246amIsc2NhbGU6Q2Msc2l6ZTpsYi5nZXRTaXplKCksc3Ryb2tlQ29sb3I6Xy5sbShiLnN0cm9rZUNvbG9yLGMpLHN0cm9rZU9wYWNpdHk6Xy5sbShiLnN0cm9rZU9wYWNpdHksZCksc3Ryb2tlV2VpZ2h0OlljfX19O0lEYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1NYXRoLmFicyhNYXRoLmFjb3MoKGEqYytiKmQpLyhNYXRoLnNxcnQoYSphK2IqYikqTWF0aC5zcXJ0KGMqYytkKmQpKSkpO2EqZC1iKmM8MCYmKGU9LWUpO3JldHVybiBlfTsKXy5PRGE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBudWxsO3ZhciBkPSJGRUFUVVJFX1RZUEVfVU5TUEVDSUZJRUQiLGU9IiIsZj0iIixnPXt9LGg9ITEsaz1uZXcgTWFwKFtbImExIiwiQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8xIl0sWyJhMiIsIkFETUlOSVNUUkFUSVZFX0FSRUFfTEVWRUxfMiJdLFsiYyIsIkNPVU5UUlkiXSxbImwiLCJMT0NBTElUWSJdLFsicCIsIlBPU1RBTF9DT0RFIl0sWyJzZCIsIlNDSE9PTF9ESVNUUklDVCJdXSksbT1hLll6KCk7Zm9yKGxldCBwPTA7cDxtO3ArKyl7bGV0IHE9YS55QyhwKTtxLmdldEtleSgpPT09Il8/cCI/ZT1xLmdldFZhbHVlKCk6cS5nZXRLZXkoKT09PSJfP2YiJiZrLmhhcyhxLmdldFZhbHVlKCkpJiYoZD1rLmdldChxLmdldFZhbHVlKCkpfHwiRkVBVFVSRV9UWVBFX1VOU1BFQ0lGSUVEIik7Yi5maW5kKHU9Pl8uZnYodSk9PT1xLmdldEtleSgpJiZfLkgodSwyKT09PXEuZ2V0VmFsdWUoKSk/KGY9cS5nZXRWYWx1ZSgpLApoPSEwKTpnW3EuZ2V0S2V5KCldPXEuZ2V0VmFsdWUoKX1hPW51bGw7aD9hPW5ldyBNRGEoZixnKTpkIT09IkZFQVRVUkVfVFlQRV9VTlNQRUNJRklFRCImJihhPW5ldyBORGEoZCxlLGMpKTtyZXR1cm4gYX07Xy5QRGE9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7dHJ5e2xldCBiPWEuc3BsaXQoIjoiKTtpZihiLmxlbmd0aD09PTEpe2lmKCFBSShhKSlyZXR1cm4gbmV3IF8uQkkoQ0ksYS5zdGFydHNXaXRoKCIweCIpP0RJKGEpOmdsb2JhbFRoaXMuQmlnSW50KGEpKX1lbHNlIGlmKGIubGVuZ3RoPT09MiYmIUFJKGJbMF0pJiYhQUkoYlsxXSkpcmV0dXJuIG5ldyBfLkJJKERJKGJbMF0pLERJKGJbMV0pKX1jYXRjaChiKXtyZXR1cm4gbmV3IF8uQkkoQ0ksQ0kpfXJldHVybiBudWxsfTtBST1mdW5jdGlvbihhKXtyZXR1cm4hYS5sZW5ndGh8fC8uKy4qLS8udGVzdChhKX07REk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPDM/Q0k6Z2xvYmFsVGhpcy5CaWdJbnQoYSl9OwpRRGE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkLGUsZixnKXtyZXR1cm4gZCYmIWUmJihnfHxmJiYhXy55dygpKX12YXIgYz1uZXcgXy5FSShbInBhbkF0RWRnZSIsInNjYWxpbmciLCJtb3VzZUluc2lkZSIsImRyYWdnaW5nIl0sImVuYWJsZWQiLGIpO18ua24oYywiZW5hYmxlZF9jaGFuZ2VkIiwoKT0+e2EucWgmJl8uc0koYS5xaCxiKGMuZ2V0KCJwYW5BdEVkZ2UiKSxjLmdldCgic2NhbGluZyIpLGMuZ2V0KCJtb3VzZUluc2lkZSIpLGMuZ2V0KCJkcmFnZ2luZyIpKSl9KTtjLnNldCgic2NhbGluZyIsITEpO3JldHVybiBjfTtSRGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoInBhbmVzIik7YS5nZXQoImFjdGl2ZSIpJiZiP2Iub3ZlcmxheU1vdXNlVGFyZ2V0LmFwcGVuZENoaWxkKGEuZGl2KTphLmRpdi5wYXJlbnROb2RlJiZfLnlsKGEuZGl2KX07Xy5GST1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5FSShbInpJbmRleCJdLCJnaG9zdFpJbmRleCIsYT0+KGF8fDApKzEpfTsKXy5HST1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRRdWVyeSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRRdWVyeShhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTtfLkdJLnByb3RvdHlwZS5KbD1fLmhhKDQyKTtfLkdJLnByb3RvdHlwZS5KbD1fLmthKDQyLGZ1bmN0aW9uKCl7cmV0dXJuIF8uSCh0aGlzLDEpfSk7Xy5SeS5wcm90b3R5cGUucmg9Xy5rYSg0MSxmdW5jdGlvbigpe3JldHVybiBfLkgodGhpcyw2KX0pO18uaHkucHJvdG90eXBlLkttPV8ua2EoNDAsZnVuY3Rpb24oKXtyZXR1cm4gXy5wdSh0aGlzLDIpfSk7Xy5TQS5wcm90b3R5cGUuS209Xy5rYSgzOSxmdW5jdGlvbigpe3JldHVybiBfLnB1KHRoaXMsMTMpfSk7Xy5UQS5wcm90b3R5cGUuS209Xy5rYSgzOCxmdW5jdGlvbigpe3JldHVybiBfLnB1KHRoaXMsMSl9KTtfLkFCLnByb3RvdHlwZS5LbT1fLmthKDM3LGZ1bmN0aW9uKCl7cmV0dXJuIF8ucHUodGhpcywxKX0pOwpfLllwLnByb3RvdHlwZS5CaT1fLmthKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIF8uTGcodGhpcywyKX0pO18uWXAucHJvdG90eXBlLkZpPV8ua2EoMzMsZnVuY3Rpb24oKXtyZXR1cm4gXy5MZyh0aGlzLDEpfSk7Xy5tdC5wcm90b3R5cGUuRW49Xy5rYSgyNSxmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRhaW5lcn0pO18uY3QucHJvdG90eXBlLnp4PV8ua2EoMjIsZnVuY3Rpb24oYSl7KHRoaXMuSWg/Pyh0aGlzLkloPW5ldyBTZXQpKS5hZGQoYSk7dGhpcy5QayE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmYS51eT8uKCl9KTtfLlhsLnByb3RvdHlwZS5saz1fLmthKDE3LGZ1bmN0aW9uKCl7dmFyIGE9MDtmb3IobGV0IGIgb2YgdGhpcylhKys7cmV0dXJuIGF9KTtfLllsLnByb3RvdHlwZS5saz1fLmthKDE2LGZ1bmN0aW9uKCl7Xy5abCh0aGlzKTtyZXR1cm4gdGhpcy5xaC5sZW5ndGh9KTtfLlJ2LnByb3RvdHlwZS5saz1fLmthKDE1LGZ1bmN0aW9uKCl7Xy5Tdih0aGlzKTtyZXR1cm4gdGhpcy5yaH0pOwpfLkkucHJvdG90eXBlLnFoPV8ua2EoMCxmdW5jdGlvbihhKXtfLnFmKHRoaXMuTGksYS5xaCk7Xy5wZih0aGlzLGEucWgsYS50aCk7YT1hLlduP2Euc2godGhpcyxhLlduLGEucWgsYS5yaCk6YS5zaCh0aGlzLGEucWgsbnVsbCxhLnJoKTtyZXR1cm4gYT09PW51bGw/dm9pZCAwOmF9KTtfLmFhPV8uaUUucHJvdG90eXBlO18uYWEuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uaUUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uYWEuTEw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aCp0aGlzLmhlaWdodH07Xy5hYS5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLmFhLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5MTCgpfTtfLmFhLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5hYS5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5hYS5yb3VuZD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5hYS5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMud2lkdGgqPWE7dGhpcy5oZWlnaHQqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTt0emE9IkphbnVhcnkgRmVicnVhcnkgTWFyY2ggQXByaWwgTWF5IEp1bmUgSnVseSBBdWd1c3QgU2VwdGVtYmVyIE9jdG9iZXIgTm92ZW1iZXIgRGVjZW1iZXIiLnNwbGl0KCIgIik7Xy5PSD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRJZCgpe3JldHVybiBfLkgodGhpcywyKX19OwpfLkhJPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWNpKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXlrKCl7cmV0dXJuIF8ucHUodGhpcywxKX1raihhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTtfLkhJLnByb3RvdHlwZS5wbD1fLmhhKDExKTtfLlNEYT17fTtURGE9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXtpZihhLnFoIT09MSlyZXR1cm4hMTtfLkZ2KGIsYyxkLF8udmgoYS5yaCkpO3JldHVybiEwfSxfLkdpLF8uWGopOwpfLklJPV8uQ2koXy5RbGEsZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLkN2LGIsITEpO2lmKGIhPW51bGwmJmIubGVuZ3RoKWZvcihfLlloKGEsYywyKSxfLlNoKGEucWgsYi5sZW5ndGgqOCksYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO3N3aXRjaCh0eXBlb2YgZCl7Y2FzZSAibnVtYmVyIjpfLiR1KGEucWgsZCk7YnJlYWs7Y2FzZSAiYmlnaW50IjpkPV8uUGgoZCxfLlZ1LF8uV3UpO18uWnUoYS5xaCxkLmxvLGQuaGkpO2JyZWFrO2RlZmF1bHQ6ZD1fLlh1KGQpLF8uWnUoYS5xaCxkLmxvLGQuaGkpfX19LF8ua2spO18uSkk9WzAsXy54cixfLnpyXTtiemE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucWgrIiJ9fTtlemE9LyYoW147XHM8Jl0rKTs/L2c7aXphPS8jfCQvO2p6YT0vWz8mXSgkfCMpLztwemE9LzxbXj5dKj58JlteO10rOy9nO3J6YT0vXmh0dHA6XC9cLy4qLztxemE9L1xzKy87c3phPS9bXGRcdTA2ZjAtXHUwNmY5XS87ClVEYT1jbGFzcyBleHRlbmRzIF8uVWdhe2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKCJjb250ZXh0LXJlcXVlc3QiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5jb250ZXh0PWE7dGhpcy5xaD1iO3RoaXMuTmk9Yzt0aGlzLnN1YnNjcmliZT1kPz8hMX19Owp3emE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlJFPXRoaXMuc3Vic2NyaWJlPSExO3RoaXMudmFsdWU9dm9pZCAwO3RoaXMucUw9KGMsZCk9Pnt0aGlzLnVuc3Vic2NyaWJlJiYodGhpcy51bnN1YnNjcmliZSE9PWQmJih0aGlzLlJFPSExLHRoaXMudW5zdWJzY3JpYmUoKSksdGhpcy5zdWJzY3JpYmV8fHRoaXMudW5zdWJzY3JpYmUoKSk7dGhpcy52YWx1ZT1jO18uY3AodGhpcy5ob3N0KTtpZighdGhpcy5SRXx8dGhpcy5zdWJzY3JpYmUpdGhpcy5SRT0hMCx0aGlzLk5pJiZ0aGlzLk5pKGMsZCk7dGhpcy51bnN1YnNjcmliZT1kfTt0aGlzLmhvc3Q9YTtiLmNvbnRleHQhPT12b2lkIDA/KHRoaXMuY29udGV4dD1iLmNvbnRleHQsdGhpcy5OaT1iLk5pLHRoaXMuc3Vic2NyaWJlPWIuc3Vic2NyaWJlPz8hMSk6KHRoaXMuY29udGV4dD1iLHRoaXMuTmk9dm9pZCAwLHRoaXMuc3Vic2NyaWJlPSExKTt0aGlzLmhvc3QuengodGhpcyl9dXkoKXt0aGlzLmhvc3QuZGlzcGF0Y2hFdmVudChuZXcgVURhKHRoaXMuY29udGV4dCwKdGhpcy5ob3N0LHRoaXMucUwsdGhpcy5zdWJzY3JpYmUpKX1GRCgpe3RoaXMudW5zdWJzY3JpYmUmJih0aGlzLnVuc3Vic2NyaWJlKCksdGhpcy51bnN1YnNjcmliZT12b2lkIDApfX07VkRhPWNsYXNze2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLnFofXNldCB2YWx1ZShhKXt0aGlzLnNldFZhbHVlKGEpfXNldFZhbHVlKGEsYj0hMSl7Yj1ifHwhT2JqZWN0LmlzKGEsdGhpcy5xaCk7dGhpcy5xaD1hO2ImJnRoaXMucmgoKX1jb25zdHJ1Y3RvcihhKXt0aGlzLkx3PW5ldyBNYXA7dGhpcy5yaD0oKT0+e2ZvcihsZXQgW2Ise1N4OmN9XW9mIHRoaXMuTHcpYih0aGlzLnFoLGMpfTthIT09dm9pZCAwJiYodGhpcy52YWx1ZT1hKX19O1dEYT1jbGFzcyBleHRlbmRzIF8uVWdhe2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoImNvbnRleHQtcHJvdmlkZXIiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7dGhpcy5jb250ZXh0PWE7dGhpcy5xaD1ifX07Cnh6YT1jbGFzcyBleHRlbmRzIFZEYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGIuY29udGV4dCE9PXZvaWQgMD9iLmluaXRpYWxWYWx1ZTp2b2lkIDApO3RoaXMuR089Yz0+e2lmKGMuY29udGV4dD09PXRoaXMuY29udGV4dCl7dmFyIGQ9Yy5xaD8/Yy5jb21wb3NlZFBhdGgoKVswXTtkIT09dGhpcy5ob3N0JiYoYy5zdG9wUHJvcGFnYXRpb24oKSx2emEodGhpcyxjLk5pLGQsYy5zdWJzY3JpYmUpKX19O3RoaXMuUE89Yz0+e2lmKGMuY29udGV4dD09PXRoaXMuY29udGV4dCYmKGMucWg/P2MuY29tcG9zZWRQYXRoKClbMF0pIT09dGhpcy5ob3N0KXt2YXIgZD1uZXcgU2V0O2ZvcihsZXQgW2Use2RNOmZ9XW9mIHRoaXMuTHcpZC5oYXMoZSl8fChkLmFkZChlKSxmLmRpc3BhdGNoRXZlbnQobmV3IFVEYSh0aGlzLmNvbnRleHQsZixlLCEwKSkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fTt0aGlzLmhvc3Q9YTt0aGlzLmNvbnRleHQ9Yi5jb250ZXh0IT09dm9pZCAwP2IuY29udGV4dDpiO3RoaXMuaG9zdC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0LXJlcXVlc3QiLAp0aGlzLkdPKTt0aGlzLmhvc3QuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dC1wcm92aWRlciIsdGhpcy5QTyk7dGhpcy5ob3N0Lnp4Py4odGhpcyl9dXkoKXt0aGlzLmhvc3QuZGlzcGF0Y2hFdmVudChuZXcgV0RhKHRoaXMuY29udGV4dCx0aGlzLmhvc3QpKX19O18uZ0g9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLktJPVswLF8udXIsLTFdO18uTkg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSl9SG0oKXtyZXR1cm4gXy5PZyh0aGlzLDUpfWdldEhlYWRpbmcoKXtyZXR1cm4gXy5PZyh0aGlzLDgpfXNldEhlYWRpbmcoYSl7cmV0dXJuIF8uQXUodGhpcyw4LGEpfWdldFRpbHQoKXtyZXR1cm4gXy5PZyh0aGlzLDkpfXNldFRpbHQoYSl7cmV0dXJuIF8uQXUodGhpcyw5LGEpfWZuKCl7cmV0dXJuIF8uT2codGhpcywxMCl9fTsKXy5DQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMSl9UXEoKXtyZXR1cm4gXy5QZyh0aGlzLDIsOTkpfWdldFR5cGUoKXtyZXR1cm4gXy5QZyh0aGlzLDMsMSl9RmkoKXtyZXR1cm4gXy5LZyh0aGlzLDcpfUJpKCl7cmV0dXJuIF8uS2codGhpcyw4KX19O18uS0g9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9b2ooKXtyZXR1cm4gXy5BZyh0aGlzLF8uTkgsMil9WWwoYSl7cmV0dXJuIF8uRWcodGhpcyxfLk5ILDIsYSl9fTt1Q2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLkdIPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfUpsKCl7cmV0dXJuIF8uSCh0aGlzLDEpfWdldFF1ZXJ5KCl7cmV0dXJuIF8uSCh0aGlzLDIpfXNldFF1ZXJ5KGEpe3JldHVybiBfLmloKHRoaXMsMixhKX19O1hEYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19OwpoQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtxQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtZRGE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VGltZSgpe3JldHVybiBfLk5nKHRoaXMsOCl9fTtISD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1IbSgpe3JldHVybiBfLk9nKHRoaXMsMyl9fTtGSD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRMb2NhdGlvbigpe3JldHVybiBfLkFnKHRoaXMsSEgsMil9fTtFSD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1zZXRPcHRpb25zKGEpe3JldHVybiBfLkVnKHRoaXMsWURhLDIsYSl9bnAoKXtyZXR1cm4gXy5QZyh0aGlzLDMsNil9aGFzRm9jdXMoKXtyZXR1cm4gXy5JZyh0aGlzLDcpIT1udWxsfX07bkNhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07CnBDYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O2xDYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O21DYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1KbCgpe3JldHVybiBfLkgodGhpcywyKX19O29DYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uSkg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9T2woYSl7cmV0dXJuIF8ua2godGhpcywxLGEpfWdldENvbnRlbnQoKXtyZXR1cm4gXy5QZyh0aGlzLDIpfXNldENvbnRlbnQoYSl7cmV0dXJuIF8ua2godGhpcywyLGEpfX07Xy5KSC5wcm90b3R5cGUucmg9Xy5oYSgzKTsKakNhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFF1ZXJ5KCl7cmV0dXJuIF8uQWcodGhpcyxYRGEsMSl9c2V0UXVlcnkoYSl7cmV0dXJuIF8uRWcodGhpcyxYRGEsMSxhKX19O3JDYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O2ZDYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRRdWVyeSgpe3JldHVybiBfLkgodGhpcywxKX1zZXRRdWVyeShhKXtyZXR1cm4gXy5paCh0aGlzLDEsYSl9fTtrQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtpQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt0Q2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtzQ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTsKXy5ESD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRDb250ZXh0KCl7cmV0dXJuIF8uQWcodGhpcyxfLkRILDEpfWdldERpcmVjdGlvbnMoKXtyZXR1cm4gXy5BZyh0aGlzLEVILDQpfXNldERpcmVjdGlvbnMoYSl7cmV0dXJuIF8uRWcodGhpcyxFSCw0LGEpfX07Xy5ESC5wcm90b3R5cGUuWWs9Xy5oYSg1NSk7Xy5ESC5wcm90b3R5cGUuWnY9Xy5oYSg0Myk7Xy5DSD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O1pEYT1bMCxfLlUsXy5QLC0xLFswLF8uUF0sXy5SXTskRGE9WzAsXy5DcixfLlosXy5DcixfLlosWkRhLF8uQXIsXy5SLC0xLF8uUCxfLlosLTEsMSxfLkNyLFswLF8uWl0sXy5BcixfLlAsXy5ZLFswLF8uUF0sWzAsXy5aXSxbMCxfLlpdLFswLF8uVSxfLlosLTEsWzAsXy5QLC0xXV0sWzAsXy5SLC0yXSxbMCxfLlosLTFdLFswLF8uWixfLkFyXSxfLlksWzAsXy5XeSwtMSxfLlVdXTsKYUVhPVswLF8uWixfLnVyLC0xLF8uV3ksXy51cixfLld5LC00XTtiRWE9WzAsXy4keSxfLlIsLTEsXy5VLF8uWl07TEk9WzAsXy5VLC0xLF8uUiwtMSxaRGEsYkVhLF8uWixfLndBLFswLF8uUl0sXy5aLFswLF8uJHksXy5aXSxfLlosWzAsXy5VLF8uWl0sWzAsXy5uel0sXy5VLC0xLF8ubnosWzAsXy5VLF8uWl0sXy5VXTtjRWE9WzAsXy5VLExJLFswLF8uVV1dO2RFYT1bMCxbMCxfLlUsLTFdLGNFYV07TUk9WzAsXy51ciwtMl07ZUVhPVswLF8uVV07CmZFYT1bMCwoKT0+ZkVhLFswLF8uVSwtMSxbMCxfLlUsLTIsTUksXy5aXSxfLlIsJERhLF8uWixfLm56XSxMSSxbMCxfLlksWzAsTEksTUksXy5ZLFswLE1JLF8uV3ksXy5VXSxfLlosXy5VLC0xXSxbMCxfLlIsLTIsXy5aLF8uQ3IsXy5aLC0xLF8udnIsXy5VLF8uUiwtMl0sXy5aLC0xLF8uUCxbMCxfLlAsLTJdLF8uWiwxLF8ubnosLTEsXy5aXSxbMCxfLlIsXy5aLC0xLF8uVV0sWzAsXy5VLC0yXSxbMCxbMCxfLlUsLTFdLF8uWixbMCwxLF8ubnpdLFswLF8uVSwtMl0sWzAsXy5VLC0xLDEsXy5VXV0sWzAsXy5aLF8uVSxbMCxfLlpdLF8uVSxbMCxfLlosZEVhLFswLF8uWixfLnZyXSxbMCxfLlUsLTFdXSxbMCxfLlVdLFswLF8uWixbMCxbMCxfLlUsXy5QXV1dXSxbMCxfLlJdLFswLF8uWiwtMV0sWzAsMSxfLlUsXy5aLF8uVSwtMV0sWzAsXy5aLFswLF8uWSxiRWFdXSxlRWEsWzAsZEVhXSxbMCxlRWEsXy5aLFswLDIsXy5VeiwtMV1dLFswLF8ubnosXy5ZLFswLF8ubnpdLFswLFswLApfLlUsXy5uel0sXy5aXV0sWzAsXy5aLC0xXSxbMCxfLlUsLTFdLFswLF8uQ3IsXy5ZLFswLF8uVV1dLFswLDEsXy5aLFswLF8uVSxfLlBdXSxbMCxfLlVdLFswLF8uWl0sWzAsY0VhXSxbMCw4LF8uWl0sWzAsXy5VXSxbMCxfLlksWzAsXy5aLC0xLF8udnJdLF8uWSxbMCxfLlosXy5ZLFswLDEsXy5aLFswLF8uVV0sXy5VLC0yXSxfLnZyXV0sWzAsXy5ZLFswLExJXV0sWzAsXy5ZLFswLF8uWl1dLFswLF8uUixbMCxfLlpdLF8uVSwtMl1dOwpnRWE9WzAsXy5aLFswLF8uVSwtMV0sWzAsXy5aLGFFYSxbMCxfLlUsXy5aLC0xLF8uUixfLlUsLTEsXy5QLC0xLFswLF8uUixfLlAsYUVhLF8uWl0sWzAsXy5aXV0sXy5SLF8uVSxfLlpdLGZFYSxbMCxfLkNyLC0xLF8uUF0sWzAsXy5aXSxbMCxfLlVdLF8uVSxbMCxfLlUsLTddLFswLF8uWiwtMSxbMCxfLlUsLTEsXy53QSxfLlVdLF8uWixbMCxbMCxfLlUsXy5BcixfLlUsLTMsWzAsXy5VLC0xXV0sXy53QV1dLFswLFswLF8uWl0sWzAsXy53cixfLlUsXy5ZLFswLF8uVV0sJERhLF8uUiwtMV0sXy5SLC0xLF8uVSxfLlIsLTIsXy5QLFswLF8uWixfLlVdLF8uUixbMCxfLlVdXSxfLlIsXy5VLFswLF8uVV0sMSxbMCxbMCxfLm56LC0xXV0sWzAsXy5VLC0yLFswLF8uWl1dLFswLF8uWixfLlVdXTtfLk5JPVswLF8uS0ksLTFdO3p6YT0hMTtfLk9JPWNsYXNzIGV4dGVuZHMgXy50Qnt9O18uT0kucHJvdG90eXBlLkVBPV8uaGEoNTgpO18uT0kucHJvdG90eXBlLkZBPV8uaGEoNTcpO3ZhciBoRWE7aEVhPVtdO18uUEk9Y2xhc3MgZXh0ZW5kcyBfLk9Je2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLnhoPXRoaXMubWV0YWRhdGE9bnVsbH1yaCgpe3JldHVyblsuLi5oRWEsbmV3IF8uJHQoe1siWC1Hb29nLUFwaS1LZXkiXToiIn0pXX19O18uUEkucHJvdG90eXBlLkZBPV8uaGEoNTYpO3ZhciBpRWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk1KPV8uQkI7dGhpcy5lcj1fLnJyYTt0aGlzLldMPUN6YTt0aGlzLkFyPV8uZ0Y7dGhpcy5kTD1fLk9JO3RoaXMuZUw9Xy5QSX19O18uSWwoInV0aWwiLG5ldyBpRWEpO3ZhciBCQ2E9Xy5mRShfLk9ILF8uSnopO3ZhciBqRWE9e307dmFyIEp6YT1bIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIiwicG9pbnRlcmVudGVyIiwicG9pbnRlcmxlYXZlIl0sa0VhPVsiZm9jdXMiLCJibHVyIiwiZXJyb3IiLCJsb2FkIiwidG9nZ2xlIl07dmFyIGxFYT10eXBlb2YgbmF2aWdhdG9yIT09InVuZGVmaW5lZCImJi9NYWNpbnRvc2gvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksVENhPXR5cGVvZiBuYXZpZ2F0b3IhPT0idW5kZWZpbmVkIiYmIS9PcGVyYXxXZWJLaXQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJi9HZWNrby8udGVzdChuYXZpZ2F0b3IucHJvZHVjdCk7dmFyIG1FYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWF9RW4oKXtyZXR1cm4gdGhpcy5xaC5laWN9Y2xvbmUoKXt2YXIgYT10aGlzLnFoO3JldHVybiBuZXcgbUVhKHtldmVudFR5cGU6YS5ldmVudFR5cGUsZXZlbnQ6YS5ldmVudCx0YXJnZXRFbGVtZW50OmEudGFyZ2V0RWxlbWVudCxlaWM6YS5laWMsZWlhOmEuZWlhLHRpbWVTdGFtcDphLnRpbWVTdGFtcCxlaXJwOmEuZWlycCxlaWFjazphLmVpYWNrLGVpcjphLmVpcn0pfX07dmFyIG5FYT17fSxvRWE9L1xzKjtccyovLFFDYT1jbGFzc3tjb25zdHJ1Y3Rvcigpeyh7eUY6Yj0hMSxVQzphPSEwfT17eUY6ITB9KTt2YXIgYSxiO3RoaXMuVUM9ITA7dGhpcy55Rj1iO3RoaXMuVUM9YX1yaChhKXt2YXIgYjtpZihiPXRoaXMuVUMmJmEuZXZlbnRUeXBlPT09ImNsaWNrIiliPWEuZXZlbnQsYj1sRWEmJmIubWV0YUtleXx8IWxFYSYmYi5jdHJsS2V5fHxiLndoaWNoPT09Mnx8Yi53aGljaD09bnVsbCYmYi5idXR0b249PT00fHxiLnNoaWZ0S2V5O2ImJihhLmV2ZW50VHlwZT0iY2xpY2ttb2QiKX1xaChhKXtpZighYS5laXIpe2Zvcih2YXIgYj1hLnRhcmdldEVsZW1lbnQ7YiYmYiE9PWEuZWljOyl7aWYoYi5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXt2YXIgYz1iLGQ9YSxlPWMuX19qc2FjdGlvbjtpZighZSl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImpzYWN0aW9uIik7aWYoZil7ZT1qRWFbZl07aWYoIWUpe2U9e307dmFyIGc9Zi5zcGxpdChvRWEpO2ZvcihsZXQgaD0KMDtoPGcubGVuZ3RoO2grKyl7bGV0IGs9Z1toXTtpZighayljb250aW51ZTtsZXQgbT1rLmluZGV4T2YoIjoiKSxwPW0hPT0tMTtlW3A/ay5zdWJzdHIoMCxtKS50cmltKCk6ImNsaWNrIl09cD9rLnN1YnN0cihtKzEpLnRyaW0oKTprfWpFYVtmXT1lfWMuX19qc2FjdGlvbj1lfWVsc2UgZT1uRWEsYy5fX2pzYWN0aW9uPWV9ZT1lW2QuZXZlbnRUeXBlXTtlIT09dm9pZCAwJiYoZC5laWE9W2UsY10pfWlmKGEuZWlhKWJyZWFrO2E6e2lmKGM9Yi5fX293bmVyKXtiPWM7YnJlYWsgYX1iPWIucGFyZW50Tm9kZTtiPWI/Lm5vZGVOYW1lPT09IiNkb2N1bWVudC1mcmFnbWVudCI/Yj8uaG9zdD8/bnVsbDpifX1pZigoYj1hLmVpYSkmJnRoaXMueUYmJihhLmV2ZW50VHlwZT09PSJtb3VzZWVudGVyInx8YS5ldmVudFR5cGU9PT0ibW91c2VsZWF2ZSJ8fGEuZXZlbnRUeXBlPT09InBvaW50ZXJlbnRlciJ8fGEuZXZlbnRUeXBlPT09InBvaW50ZXJsZWF2ZSIpKWlmKGM9YS5ldmVudCxkPWEuZXZlbnRUeXBlLAplPWJbMV0sZj1jLnJlbGF0ZWRUYXJnZXQsIShjLnR5cGU9PT0ibW91c2VvdmVyIiYmZD09PSJtb3VzZWVudGVyInx8Yy50eXBlPT09Im1vdXNlb3V0IiYmZD09PSJtb3VzZWxlYXZlInx8Yy50eXBlPT09InBvaW50ZXJvdmVyIiYmZD09PSJwb2ludGVyZW50ZXIifHxjLnR5cGU9PT0icG9pbnRlcm91dCImJmQ9PT0icG9pbnRlcmxlYXZlIil8fGYmJihmPT09ZXx8ZS5jb250YWlucyhmKSkpYS5laWE9dm9pZCAwO2Vsc2V7Yz1hLmV2ZW50O2Q9YlsxXTtlPXt9O2ZvcihsZXQgaCBpbiBjKXtpZihoPT09InNyY0VsZW1lbnQifHxoPT09InRhcmdldCIpY29udGludWU7Zj1oO2c9Y1tmXTt0eXBlb2YgZyE9PSJmdW5jdGlvbiImJihlW2ZdPWcpfWUudHlwZT1jLnR5cGU9PT0ibW91c2VvdmVyIj8ibW91c2VlbnRlciI6Yy50eXBlPT09Im1vdXNlb3V0Ij8ibW91c2VsZWF2ZSI6Yy50eXBlPT09InBvaW50ZXJvdmVyIj8icG9pbnRlcmVudGVyIjoicG9pbnRlcmxlYXZlIjtlLnRhcmdldD1lLnNyY0VsZW1lbnQ9CmQ7ZS5idWJibGVzPSExO2UuX29yaWdpbmFsRXZlbnQ9YzthLmV2ZW50PWU7YS50YXJnZXRFbGVtZW50PWJbMV19YS5laXI9ITB9fX07KGZ1bmN0aW9uKCl7dHJ5e2lmKHR5cGVvZiB3aW5kb3cuRXZlbnRUYXJnZXQ9PT0iZnVuY3Rpb24iKXJldHVybiBuZXcgRXZlbnRUYXJnZXR9Y2F0Y2goYSl7fXRyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9Y2F0Y2goYSl7fXJldHVybiBudWxsfSkoKTt2YXIgT0NhPWNsYXNze2NvbnN0cnVjdG9yKGEse2JBOmIseUE6Y309e30pe3RoaXMuc2g9YTt0aGlzLnFoPSExO3RoaXMucmg9W107dGhpcy5iQT1iO3RoaXMueUE9Y310dShhKXt2YXIgYj1uZXcgbUVhKGEpO3RoaXMuYkE/LnJoKGEpO3RoaXMuYkE/LnFoKGEpOyEoYT1EemEoYikpfHxhLmVsZW1lbnQudGFnTmFtZSE9PSJBInx8Yi5xaC5ldmVudFR5cGUhPT0iY2xpY2siJiZiLnFoLmV2ZW50VHlwZSE9PSJjbGlja21vZCJ8fChhPWIucWguZXZlbnQsYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSk7dGhpcy55QSYmYi5xaC5laXJwP0V6YSh0aGlzLGIpOnRoaXMuc2goYil9fTt2YXIgcEVhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZWxlbWVudD1hO3RoaXMucWg9W119YWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl7dmFyIGQ9dGhpcy5xaCxlPWQucHVzaCxmPXRoaXMuZWxlbWVudDtiPWIodGhpcy5lbGVtZW50KTt2YXIgZz0hMTtrRWEuaW5kZXhPZihhKT49MCYmKGc9ITApO2YuYWRkRXZlbnRMaXN0ZW5lcihhLGIsdHlwZW9mIGM9PT0iYm9vbGVhbiI/e2NhcHR1cmU6ZyxwYXNzaXZlOmN9OmcpO2UuY2FsbChkLHtldmVudFR5cGU6YSxvcDpiLGNhcHR1cmU6ZyxwYXNzaXZlOmN9KX1abygpe2ZvcihsZXQgYz0wO2M8dGhpcy5xaC5sZW5ndGg7YysrKXt2YXIgYT10aGlzLmVsZW1lbnQsYj10aGlzLnFoW2NdO2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5vcCx0eXBlb2YgYi5wYXNzaXZlPT09ImJvb2xlYW4iP3tjYXB0dXJlOmIuY2FwdHVyZX06Yi5jYXB0dXJlKTphLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KGBvbiR7Yi5ldmVudFR5cGV9YCwKYi5vcCl9dGhpcy5xaD1bXX19O3ZhciBNQ2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3BQcm9wYWdhdGlvbj0hMDt0aGlzLnFoPVtdO3RoaXMucmg9W107dGhpcy5zaD1bXX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXtmb3IobGV0IGQ9MDtkPHRoaXMucWgubGVuZ3RoO2QrKyl0aGlzLnFoW2RdLmFkZEV2ZW50TGlzdGVuZXIoYSxiLGMpO3RoaXMuc2gucHVzaChkPT57ZC5hZGRFdmVudExpc3RlbmVyKGEsYixjKX0pfVpvKCl7dmFyIGE9Wy4uLnRoaXMucWgsLi4udGhpcy5yaF07Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXS5abygpO3RoaXMucWg9W107dGhpcy5yaD1bXTt0aGlzLnNoPVtdfX07dmFyIE5DYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLlBpPXt9O3RoaXMudGg9e307dGhpcy5zaD1udWxsO3RoaXMucWg9W107dGhpcy5yaD1hfWhhbmRsZUV2ZW50KGEsYixjKXt2YXIgZD1iLnRhcmdldCxlPURhdGUubm93KCk7SXphKHRoaXMse2V2ZW50VHlwZTphLGV2ZW50OmIsdGFyZ2V0RWxlbWVudDpkLGVpYzpjLHRpbWVTdGFtcDplLGVpYTp2b2lkIDAsZWlycDp2b2lkIDAsZWlhY2s6dm9pZCAwfSl9b3AoYSl7cmV0dXJuIHRoaXMuUGlbYV19Wm8oKXt0aGlzLnJoPy5abygpO3RoaXMucmg9bnVsbDt0aGlzLlBpPXt9O3RoaXMudGg9e307dGhpcy5zaD1udWxsO3RoaXMucWg9W119ZWNyZChhKXt0aGlzLnNoPWE7aWYodGhpcy5xaD8ubGVuZ3RoKXtmb3IoYT0wO2E8dGhpcy5xaC5sZW5ndGg7YSsrKUl6YSh0aGlzLHRoaXMucWhbYV0pO3RoaXMucWg9bnVsbH19fTt2YXIgTHphPVJlZ0V4cCgiXmRhdGE6aW1hZ2UvKD86Ym1wfGdpZnxqcGVnfGpwZ3xwbmd8dGlmZnx3ZWJwfHgtaWNvbik7YmFzZTY0LFstKy9fYS16MC05XSsoPzo9fCUzZCkqJCIsImkiKSxOemE9UmVnRXhwKCJeKD86WzAtOV0rKShbIF0qO1sgXSp1cmw9KT8oLiopJCIpLFZ6YT17Ymx1cjohMCxicmlnaHRuZXNzOiEwLGNhbGM6ITAsY2lyY2xlOiEwLGNsYW1wOiEwLCJjb25pYy1ncmFkaWVudCI6ITAsY29udHJhc3Q6ITAsY291bnRlcjohMCxjb3VudGVyczohMCwiY3ViaWMtYmV6aWVyIjohMCwiZHJvcC1zaGFkb3ciOiEwLGVsbGlwc2U6ITAsZ3JheXNjYWxlOiEwLGhzbDohMCxoc2xhOiEwLCJodWUtcm90YXRlIjohMCxpbnNldDohMCxpbnZlcnQ6ITAsb3BhY2l0eTohMCwibGluZWFyLWdyYWRpZW50IjohMCxtYXRyaXg6ITAsbWF0cml4M2Q6ITAsbWF4OiEwLG1pbjohMCxtaW5tYXg6ITAscG9seWdvbjohMCwicmFkaWFsLWdyYWRpZW50IjohMCxyZ2I6ITAscmdiYTohMCxyZWN0OiEwLApyZXBlYXQ6ITAscm90YXRlOiEwLHJvdGF0ZTNkOiEwLHJvdGF0ZXg6ITAscm90YXRleTohMCxyb3RhdGV6OiEwLHNhdHVyYXRlOiEwLHNlcGlhOiEwLHNjYWxlOiEwLHNjYWxlM2Q6ITAsc2NhbGV4OiEwLHNjYWxleTohMCxzY2FsZXo6ITAsc3RlcHM6ITAsc2tldzohMCxza2V3eDohMCxza2V3eTohMCx0cmFuc2xhdGU6ITAsdHJhbnNsYXRlM2Q6ITAsdHJhbnNsYXRleDohMCx0cmFuc2xhdGV5OiEwLHRyYW5zbGF0ZXo6ITAsInZhciI6ITB9LFB6YT1SZWdFeHAoIl4oPzpbKi9dPyg/Oig/OlsrXFwtLiwhIyVfYS16QS1aMC05XHRdfCApfFxcKXxbYS16QS1aMC05XVxcKHwkKSkqJCIpLHFFYT1SZWdFeHAoIl4oPzpbKi9dPyg/Oig/OlwiKD86W15cXHgwMFwiXFxcXFxcblxcclxcZlxcdTAwODVcXHUwMDBiXFx1MjAyOFxcdTIwMjldfFxcXFwoPzpbXFx4MjEtXFx4MmZcXHgzYS1cXHg0MFxceDQ3LVxceDYwXFx4NjctXFx4N2VdfFswLTlhLWZBLUZdezEsNn1bIFx0XT8pKSpcInwnKD86W15cXHgwMCdcXFxcXFxuXFxyXFxmXFx1MDA4NVxcdTAwMGJcXHUyMDI4XFx1MjAyOV18XFxcXCg/OltcXHgyMS1cXHgyZlxceDNhLVxceDQwXFx4NDctXFx4NjBcXHg2Ny1cXHg3ZV18WzAtOWEtZkEtRl17MSw2fVsgXHRdPykpKicpfCg/OlsrXFwtLiwhIyVfYS16QS1aMC05XHRdfCApfCQpKSokIiksClV6YT1SZWdFeHAoIl4tKD86bW96fG1zfG98d2Via2l0fGNzczMpLSguKikkIik7dmFyIHVGPXt9O18ucWIoXy5wRixsRik7Xy5wRi5wcm90b3R5cGUucGw9Xy5oYSgxMCk7Xy5wRi5wcm90b3R5cGUua2o9ZnVuY3Rpb24oYSl7dGhpcy5xaC5sYW5ndWFnZT1hfTtfLnBGLnByb3RvdHlwZS5NQT1mdW5jdGlvbigpe3JldHVybiEhbUYodGhpcywiaXNfcnRsIil9O3ZhciBuQmE9MCxZemE9MCxxRj1udWxsO3NGLnByb3RvdHlwZS5zaD1mdW5jdGlvbigpe3ZhciBhPSJFdmFsQ29udGV4dHsiO2ZvcihsZXQgYiBpbiB0aGlzLnFoKWErPWIrIjogIit0eXBlb2YgdGhpcy5xaFtiXSsiLCAiO3JldHVybiBhKyJ9In07dmFyIHlBYT0vWyciXChdLyxCQWE9WyJib3JkZXItY29sb3IiLCJib3JkZXItc3R5bGUiLCJib3JkZXItd2lkdGgiLCJtYXJnaW4iLCJwYWRkaW5nIl0sekFhPS9sZWZ0L2csQUFhPS9yaWdodC9nLENBYT0vXHMrLzt2YXIgRkFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5yaD0iIjt0aGlzLnFoPWJ8fHt9O2lmKHR5cGVvZiBhPT09InN0cmluZyIpdGhpcy5yaD1hO2Vsc2V7Yj1hLnFoO3RoaXMucmg9YS5nZXRLZXkoKTtmb3IobGV0IGMgaW4gYil0aGlzLnFoW2NdPT1udWxsJiYodGhpcy5xaFtjXT1iW2NdKX19Z2V0S2V5KCl7cmV0dXJuIHRoaXMucmh9fTt2YXIgWkFhPXthY3Rpb246ITAsY2l0ZTohMCxkYXRhOiEwLGZvcm1hY3Rpb246ITAsaHJlZjohMCxpY29uOiEwLG1hbmlmZXN0OiEwLHBvc3RlcjohMCxzcmM6ITB9O3ZhciByRWE9eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifSxyRz17fTtmb3IobGV0IGEgaW4gckVhKXJHW3JFYVthXV09YTt2YXIgakFhPVJlZ0V4cCgiXjwvPyhifHV8aXxlbXxicnxzdWJ8c3VwfHdicnxzcGFuKSggZGlyPShydGx8bHRyfCdsdHInfCdydGwnfFwibHRyXCJ8XCJydGxcIikpPz4iKSxrQWE9UmVnRXhwKCJeJihbYS16QS1aXSt8I1swLTldK3wjeFswLTlhLWZBLUZdKyk7IiksbEFhPXsiPCI6IiZsdDsiLCI+IjoiJmd0OyIsIiYiOiImYW1wOyIsJyInOiImcXVvdDsifSxlQWE9LyYvZyxmQWE9LzwvZyxnQWE9Lz4vZyxoQWE9LyIvZyxkQWE9L1smPD4iXS8sREY9bnVsbDt2YXIgbkFhPXs5OjEsMTE6MywxMDo0LDEyOjUsMTM6NiwxNDo3fTt2YXIgREJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuemg9YTt0aGlzLnhoPXRoaXMud2g9dGhpcy5zaD10aGlzLnFoPW51bGw7dGhpcy55aD10aGlzLnRoPTA7dGhpcy5BaD0hMTt0aGlzLnJoPS0xO3RoaXMuQmg9KytzRWF9bmFtZSgpe3JldHVybiB0aGlzLnpofWlkKCl7cmV0dXJuIHRoaXMuQmh9cmVzZXQoYSl7aWYoIXRoaXMuQWgmJih0aGlzLkFoPSEwLHRoaXMucmg9LTEsdGhpcy5xaCE9bnVsbCkpe2Zvcih2YXIgYj0wO2I8dGhpcy5xaC5sZW5ndGg7Yis9NylpZih0aGlzLnFoW2IrNl0pe3ZhciBjPXRoaXMucWguc3BsaWNlKGIsNyk7Yi09Nzt0aGlzLndofHwodGhpcy53aD1bXSk7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodGhpcy53aCxjKX10aGlzLnloPTA7aWYoYSlmb3IoYj0wO2I8dGhpcy5xaC5sZW5ndGg7Yis9NylpZihjPXRoaXMucWhbYis1XSx0aGlzLnFoW2IrMF09PS0xJiZjPT1hKXt0aGlzLnloPWI7YnJlYWt9dGhpcy55aD09MD90aGlzLnJoPTA6dGhpcy5zaD0KdGhpcy5xaC5zcGxpY2UodGhpcy55aCx0aGlzLnFoLmxlbmd0aCl9fWFwcGx5KGEpe3ZhciBiPWEubm9kZU5hbWU7Yj1iPT0iaW5wdXQifHxiPT0iSU5QVVQifHxiPT0ib3B0aW9uInx8Yj09Ik9QVElPTiJ8fGI9PSJzZWxlY3QifHxiPT0iU0VMRUNUInx8Yj09InRleHRhcmVhInx8Yj09IlRFWFRBUkVBIjt0aGlzLkFoPSExO2E6e3ZhciBjPXRoaXMucWg9PW51bGw/MDp0aGlzLnFoLmxlbmd0aDt2YXIgZD10aGlzLnJoPT1jO2Q/dGhpcy5zaD10aGlzLnFoOnRoaXMucmghPS0xJiZGRih0aGlzKTtpZihkKXtpZihiKWZvcihkPTA7ZDxjO2QrPTcpe3ZhciBlPXRoaXMucWhbZCsxXTtpZigoZT09ImNoZWNrZWQifHxlPT0idmFsdWUiKSYmdGhpcy5xaFtkKzVdIT1hW2VdKXtjPSExO2JyZWFrIGF9fWM9ITB9ZWxzZSBjPSExfWlmKCFjKXtjPW51bGw7aWYodGhpcy5zaCE9bnVsbCYmKGQ9Yz17fSwodGhpcy50aCY3NjgpIT0wJiZ0aGlzLnNoIT1udWxsKSl7ZT10aGlzLnNoLmxlbmd0aDtmb3IodmFyIGY9CjA7ZjxlO2YrPTcpe2lmKHRoaXMuc2hbZis1XT09bnVsbCljb250aW51ZTt2YXIgZz10aGlzLnNoW2YrMF0saD10aGlzLnNoW2YrMV0saz10aGlzLnNoW2YrMl07Zz09NXx8Zz09Nz9kW2grIi4iK2tdPSEwOmchPS0xJiZnIT0xOCYmZyE9MjAmJihkW2hdPSEwKX19dmFyIG09IiI7ZT1kPSIiO2Y9bnVsbDtnPSExO3ZhciBwPW51bGw7YS5oYXNBdHRyaWJ1dGUoImNsYXNzIikmJihwPWEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpLnNwbGl0KCIgIikpO2g9KHRoaXMudGgmODMyKSE9MD8iIjpudWxsO2s9IiI7dmFyIHE9dGhpcy5xaCx1PXE/cS5sZW5ndGg6MDtmb3IobGV0IFE9MDtRPHU7USs9Nyl7bGV0IGNhPXFbUSs1XTt2YXIgeD1xW1ErMF0sej1xW1ErMV07bGV0IGlhPXFbUSsyXTt2YXIgQj1xW1ErM107bGV0IEdhPXFbUSs2XTtpZihjYSE9PW51bGwmJmghPW51bGwmJiFHYSlzd2l0Y2goeCl7Y2FzZSAtMTpoKz1jYSsiLCI7YnJlYWs7Y2FzZSA3OmNhc2UgNTpoKz14KyIuIitpYSsiLCI7CmJyZWFrO2Nhc2UgMTM6aCs9eCsiLiIreisiLiIraWErIiwiO2JyZWFrO2Nhc2UgMTg6Y2FzZSAyMDpicmVhaztkZWZhdWx0OmgrPXgrIi4iK3orIiwifWlmKCEoUTx0aGlzLnloKSlzd2l0Y2goYyE9bnVsbCYmY2EhPT12b2lkIDAmJih4PT01fHx4PT03P2RlbGV0ZSBjW3orIi4iK2lhXTpkZWxldGUgY1t6XSkseCl7Y2FzZSA3OmNhPT09bnVsbD9wIT1udWxsJiZfLnljKHAsaWEpOmNhIT1udWxsJiYocD09bnVsbD9wPVtpYV06Xy52YyhwLGlhKXx8cC5wdXNoKGlhKSk7YnJlYWs7Y2FzZSA0OmNhPT09bnVsbD9hLnN0eWxlLmNzc1RleHQ9IiI6Y2EhPT12b2lkIDAmJihhLnN0eWxlLmNzc1RleHQ9RUYoQixjYSkpO2Zvcih2YXIgSyBpbiBjKV8uRWIoSywic3R5bGUuIikmJmRlbGV0ZSBjW0tdO2JyZWFrO2Nhc2UgNTp0cnl7dmFyIE89aWEucmVwbGFjZSgvLShcUykvZyxxQWEpO2Euc3R5bGVbT10hPWNhJiYoYS5zdHlsZVtPXT1jYXx8IiIpfWNhdGNoKExhKXt9YnJlYWs7Y2FzZSA4OmY9PQpudWxsJiYoZj17fSk7Zlt6XT1jYT09PW51bGw/bnVsbDpjYT9bY2EsbnVsbCxCXTpbYVt6XXx8YS5nZXRBdHRyaWJ1dGUoeil8fCIiLG51bGwsQl07YnJlYWs7Y2FzZSAxODpjYSE9bnVsbCYmKHo9PSJqc2wiP20rPWNhOno9PSJqc3ZzIiYmKGUrPWNhKSk7YnJlYWs7Y2FzZSAyMjpjYT09PW51bGw/YS5yZW1vdmVBdHRyaWJ1dGUoImpzYWN0aW9uIik6Y2EhPW51bGwmJihxW1ErNF0mJihjYT1FRShjYSkpLGsmJihrKz0iOyIpLGsrPWNhKTticmVhaztjYXNlIDIwOmNhIT1udWxsJiYoZCYmKGQrPSIsIiksZCs9Y2EpO2JyZWFrO2Nhc2UgMDpjYT09PW51bGw/YS5yZW1vdmVBdHRyaWJ1dGUoeik6Y2EhPW51bGwmJihxW1ErNF0mJihjYT1FRShjYSkpLGNhPUVGKEIsY2EpLHg9YS5ub2RlTmFtZSwhKHghPSJDQU5WQVMiJiZ4IT0iY2FudmFzInx8eiE9IndpZHRoIiYmeiE9ImhlaWdodCIpJiZjYT09YS5nZXRBdHRyaWJ1dGUoeil8fGEuc2V0QXR0cmlidXRlKHosY2EpKTtpZihiKWlmKHo9PQoiY2hlY2tlZCIpZz0hMDtlbHNlIGlmKHg9eix4PXgudG9Mb3dlckNhc2UoKSx4PT0idmFsdWUifHx4PT0iY2hlY2tlZCJ8fHg9PSJzZWxlY3RlZCJ8fHg9PSJzZWxlY3RlZGluZGV4Iil6PXJHLmhhc093blByb3BlcnR5KHopP3JHW3pdOnosYVt6XSE9Y2EmJihhW3pdPWNhKTticmVhaztjYXNlIDE0OmNhc2UgMTE6Y2FzZSAxMjpjYXNlIDEwOmNhc2UgOTpjYXNlIDEzOmY9PW51bGwmJihmPXt9KSxCPWZbel0sQiE9PW51bGwmJihCfHwoQj1mW3pdPVthW3pdfHxhLmdldEF0dHJpYnV0ZSh6KXx8IiIsbnVsbCxudWxsXSksb0FhKEIseCxpYSxjYSkpfX1pZihjIT1udWxsKWZvcih2YXIgQSBpbiBjKWlmKF8uRWIoQSwiY2xhc3MuIikpXy55YyhwLEEuc3Vic3RyKDYpKTtlbHNlIGlmKF8uRWIoQSwic3R5bGUuIikpdHJ5e2Euc3R5bGVbQS5zdWJzdHIoNikucmVwbGFjZSgvLShcUykvZyxxQWEpXT0iIn1jYXRjaChRKXt9ZWxzZSh0aGlzLnRoJjUxMikhPTAmJkEhPSJkYXRhLXJ0aWQiJiYKYS5yZW1vdmVBdHRyaWJ1dGUoQSk7cCE9bnVsbCYmcC5sZW5ndGg+MD9hLnNldEF0dHJpYnV0ZSgiY2xhc3MiLENGKHAuam9pbigiICIpKSk6YS5oYXNBdHRyaWJ1dGUoImNsYXNzIikmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsIiIpO2lmKG0hPW51bGwmJm0hPSIiJiZhLmhhc0F0dHJpYnV0ZSgianNsIikpe0s9YS5nZXRBdHRyaWJ1dGUoImpzbCIpO089bS5jaGFyQXQoMCk7Zm9yKEE9MDs7KXtBPUsuaW5kZXhPZihPLEEpO2lmKEE9PS0xKXttPUsrbTticmVha31pZihfLkViKG0sSy5zdWJzdHIoQSkpKXttPUsuc3Vic3RyKDAsQSkrbTticmVha31BKz0xfWEuc2V0QXR0cmlidXRlKCJqc2wiLG0pfWlmKGYhPW51bGwpZm9yKGxldCBRIGluIGYpSz1mW1FdLEs9PT1udWxsPyhhLnJlbW92ZUF0dHJpYnV0ZShRKSxhW1FdPW51bGwpOihLPXVBYSh0aGlzLFEsSyksYVtRXT1LLGEuc2V0QXR0cmlidXRlKFEsSykpO2smJmEuc2V0QXR0cmlidXRlKCJqc2FjdGlvbiIsayk7ZCYmYS5zZXRBdHRyaWJ1dGUoImpzaW5zdGFuY2UiLApkKTtlJiZhLnNldEF0dHJpYnV0ZSgianN2cyIsZSk7aCE9bnVsbCYmKGguaW5kZXhPZigiLiIpIT0tMT9hLnNldEF0dHJpYnV0ZSgianNhbiIsaC5zdWJzdHIoMCxoLmxlbmd0aC0xKSk6YS5yZW1vdmVBdHRyaWJ1dGUoImpzYW4iKSk7ZyYmKGEuY2hlY2tlZD0hIWEuZ2V0QXR0cmlidXRlKCJjaGVja2VkIikpfX19LHNFYT0wO18ucWIoTkYsbEYpO05GLnByb3RvdHlwZS5nZXRLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gbUYodGhpcywia2V5IiwiIil9O05GLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiBtRih0aGlzLCJ2YWx1ZSIsIiIpfTtORi5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24oYSl7dGhpcy5xaC52YWx1ZT1hfTtfLnFiKE9GLGxGKTtPRi5wcm90b3R5cGUuZ2V0UGF0aD1mdW5jdGlvbigpe3JldHVybiBtRih0aGlzLCJwYXRoIiwiIil9O09GLnByb3RvdHlwZS5zZXRQYXRoPWZ1bmN0aW9uKGEpe3RoaXMucWgucGF0aD1hfTt2YXIgR0JhPXhGO18uaWooe0hROiIkYSIsSVE6Il9hIixOUToiJGMiLENTUzoiY3NzIixQUToiJGRoIixRUToiJGRjIixSUToiJGRkIixTUToiZGlzcGxheSIsVVE6IiRlIixlUjoiZm9yIixmUjoiJGZrIixpUjoiJGciLG5SOiIkaWMiLG1SOiIkaWEiLG9SOiIkaWYiLHRSOiIkayIsd1I6IiRsZyIsQ1I6IiRvIixNUjoiJHJqIixOUjoiJHIiLFFSOiIkc2siLFNSOiIkeCIsVVI6IiRzIixWUjoiJHNjIixXUjoiJHNkIixYUjoiJHRnIixZUjoiJHQiLGVTOiIkdSIsZlM6IiR1YSIsZ1M6IiR1YWUiLGhTOiIkdWUiLGlTOiIkdXAiLGpTOiJ2YXIiLGtTOiIkdnMifSk7dmFyIHRFYT0vXHMqO1xzKi8sWUFhPS8mL2csdUVhPS9eWyRhLXpBLVpfXSokL2ksVkFhPS9eW1wkX2EtekEtWl1bXCRfMC05YS16QS1aXSokL2ksWEY9L15ccyokLyxXQWE9UmVnRXhwKCJeKChkZXxlbiljb2RlVVJJKENvbXBvbmVudCk/fGlzKEZpbml0ZXxOYU4pfHBhcnNlKEZsb2F0fEludCl8ZG9jdW1lbnR8ZmFsc2V8ZnVuY3Rpb258anNsYXlvdXR8bnVsbHx0aGlzfHRydWV8dW5kZWZpbmVkfHdpbmRvd3xBcnJheXxCb29sZWFufERhdGV8RXJyb3J8SlNPTnxNYXRofE51bWJlcnxPYmplY3R8UmVnRXhwfFN0cmluZ3xfX2V2ZW50KSQiKSxVQWE9UmVnRXhwKCJbXFwkX2EtekEtWl1bXFwkXzAtOWEtekEtWl0qfCcoXFxcXFxcXFx8XFxcXCd8XFxcXD9bXidcXFxcXSkqJ3xcIihcXFxcXFxcXHxcXFxcXCJ8XFxcXD9bXlwiXFxcXF0pKlwifFswLTldKlxcLj9bMC05XSsoW2VdWy0rXT9bMC05XSspP3wweFswLTlhLWZdK3xcXC18XFwrfFxcKnxcXC98XFwlfFxcPXxcXDx8XFw+fFxcJlxcJj98XFx8XFx8P3xcXCF8XFxefFxcfnxcXCh8XFwpfFxce3xcXH18XFxbfFxcXXxcXCx8XFw7fFxcLnxcXD98XFw6fFxcQHwjWzAtOV0rfFtcXHNdKyIsCiJnaSIpLGVHPXt9LFhBYT17fSxmRz1bXTt2YXIgdkVhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD17fX1hZGQoYSxiKXt0aGlzLnFoW2FdPWI7cmV0dXJuITF9fTt2YXIgYkJhPTAsaEc9ezA6W119LGdHPXt9LGtHPVtdLHBHPVtbImpzY2FzZSIsYkcsIiRzYyJdLFsianNjYXNlZGVmYXVsdCIsZEcsIiRzZCJdLFsianNsIixudWxsLG51bGxdLFsianNnbG9iYWxzIixmdW5jdGlvbihhKXt2YXIgYj1bXTthPWEuc3BsaXQodEVhKTtmb3IobGV0IGUgb2YgYSl7dmFyIGM9Xy5zRShlKTtpZihjKXt2YXIgZD1jLmluZGV4T2YoIjoiKTtkIT0tMSYmKGE9Xy5zRShjLnN1YnN0cmluZygwLGQpKSxjPV8uc0UoYy5zdWJzdHJpbmcoZCsxKSksZD1jLmluZGV4T2YoIiAiKSxkIT0tMSYmKGM9Yy5zdWJzdHJpbmcoZCsxKSksYi5wdXNoKFtjRyhhKSxjXSkpfX1yZXR1cm4gYn0sIiRnIiwhMF0sWyJqc2ZvciIsZnVuY3Rpb24oYSl7dmFyIGI9W107YT1XRihhKTtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8ZDspe2xldCBlPVtdLGY9WkYoYSxjKTtpZihmPT0tMSl7aWYoWEYudGVzdChhLnNsaWNlKGMsZCkuam9pbigiIikpKWJyZWFrO2Y9Yy0xfWVsc2V7bGV0IGc9CmM7Zm9yKDtnPGY7KXtsZXQgaD1fLnFjKGEsIiwiLGcpO2lmKGg9PS0xfHxoPmYpaD1mO2UucHVzaChjRyhfLnNFKGEuc2xpY2UoZyxoKS5qb2luKCIiKSkpKTtnPWgrMX19ZS5sZW5ndGg9PTAmJmUucHVzaChjRygiJHRoaXMiKSk7ZS5sZW5ndGg9PTEmJmUucHVzaChjRygiJGluZGV4IikpO2UubGVuZ3RoPT0yJiZlLnB1c2goY0coIiRjb3VudCIpKTtpZihlLmxlbmd0aCE9Myl0aHJvdyBFcnJvcigiTWF4IDMgdmFycyBmb3IganNmb3I7IGdvdCAiK2UubGVuZ3RoKTtjPSRGKGEsYyk7ZS5wdXNoKGFHKGEuc2xpY2UoZisxLGMpKSk7Yi5wdXNoKGUpO2MrPTF9cmV0dXJuIGJ9LCJmb3IiLCEwXSxbImpza2V5IixiRywiJGsiXSxbImpzZGlzcGxheSIsYkcsImRpc3BsYXkiXSxbImpzbWF0Y2giLG51bGwsbnVsbF0sWyJqc2lmIixiRywiZGlzcGxheSJdLFtudWxsLGJHLCIkaWYiXSxbImpzdmFycyIsZnVuY3Rpb24oYSl7dmFyIGI9W107YT1XRihhKTtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2M8CmQ7KXtsZXQgZT1aRihhLGMpO2lmKGU9PS0xKWJyZWFrO2xldCBmPSRGKGEsZSsxKTtjPWFHKGEuc2xpY2UoZSsxLGYpLF8uc0UoYS5zbGljZShjLGUpLmpvaW4oIiIpKSk7Yi5wdXNoKGMpO2M9ZisxfXJldHVybiBifSwidmFyIiwhMF0sW251bGwsZnVuY3Rpb24oYSl7cmV0dXJuW2NHKGEpXX0sIiR2cyJdLFsianNhdHRycyIsJEFhLCJfYSIsITBdLFtudWxsLCRBYSwiJGEiLCEwXSxbbnVsbCxmdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm5bYS5zdWJzdHIoMCxiKSxhLnN1YnN0cihiKzEpXX0sIiR1YSJdLFtudWxsLGZ1bmN0aW9uKGEpe3ZhciBiPWEuaW5kZXhPZigiOiIpO3JldHVyblthLnN1YnN0cigwLGIpLGJHKGEuc3Vic3RyKGIrMSkpXX0sIiR1YWUiXSxbbnVsbCxmdW5jdGlvbihhKXt2YXIgYj1bXTthPVdGKGEpO2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7YzxkOyl7dmFyIGU9WkYoYSxjKTtpZihlPT0tMSlicmVhaztsZXQgZj0kRihhLGUrMSk7Yz1fLnNFKGEuc2xpY2UoYywKZSkuam9pbigiIikpO2U9YUcoYS5zbGljZShlKzEsZiksYyk7Yi5wdXNoKFtjLGVdKTtjPWYrMX1yZXR1cm4gYn0sIiRpYSIsITBdLFtudWxsLGZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9V0YoYSk7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtjPGQ7KXt2YXIgZT1aRihhLGMpO2lmKGU9PS0xKWJyZWFrO2xldCBmPSRGKGEsZSsxKTtjPV8uc0UoYS5zbGljZShjLGUpLmpvaW4oIiIpKTtlPWFHKGEuc2xpY2UoZSsxLGYpLGMpO2IucHVzaChbYyxjRyhjKSxlXSk7Yz1mKzF9cmV0dXJuIGJ9LCIkaWMiLCEwXSxbbnVsbCxkRywiJHJqIl0sWyJqc2V2YWwiLGZ1bmN0aW9uKGEpe3ZhciBiPVtdO2E9V0YoYSk7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtjPGQ7KXtsZXQgZT0kRihhLGMpO2IucHVzaChhRyhhLnNsaWNlKGMsZSkpKTtjPWUrMX1yZXR1cm4gYn0sIiRlIiwhMF0sWyJqc3NraXAiLGJHLCIkc2siXSxbImpzc3dpdGNoIixiRywiJHMiXSxbImpzY29udGVudCIsZnVuY3Rpb24oYSl7dmFyIGI9CmEuaW5kZXhPZigiOiIpLGM9bnVsbDtpZihiIT0tMSl7bGV0IGQ9Xy5zRShhLnN1YnN0cigwLGIpKTt1RWEudGVzdChkKSYmKGM9ZD09Imh0bWxfc25pcHBldCI/MTpkPT0icmF3Ij8yOmQ9PSJzYWZlIj83Om51bGwsYT1fLnNFKGEuc3Vic3RyKGIrMSkpKX1yZXR1cm5bYywhMSxiRyhhKV19LCIkYyJdLFsidHJhbnNjbHVkZSIsZEcsIiR1Il0sW251bGwsYkcsIiR1ZSJdLFtudWxsLG51bGwsIiR1cCJdXSxxRz17fTtmb3IobGV0IGE9MDthPHBHLmxlbmd0aDsrK2Epe2xldCBiPXBHW2FdO2JbMl0mJihxR1tiWzJdXT1bYlsxXSxiWzNdXSl9cUcuJHQ9W2RHLCExXTtxRy4keD1bZEcsITFdO3FHLiR1PVtkRywhMV07dmFyIGhCYT0vXlwkeCAoXGQrKTs/LyxnQmE9L1wkdCAoW147XSopL2c7dmFyIHdFYT1jbGFzc3tjb25zdHJ1Y3RvcihhPWRvY3VtZW50KXt0aGlzLnFoPWE7dGhpcy5zaD1udWxsO3RoaXMudGg9e307dGhpcy5yaD1bXX1kb2N1bWVudCgpe3JldHVybiB0aGlzLnFofX07dmFyIHhFYT1jbGFzc3tjb25zdHJ1Y3RvcihhPWRvY3VtZW50LGI9bmV3IHZFYSxjPW5ldyB3RWEoYSkpe3RoaXMud2g9YTt0aGlzLnRoPWM7dGhpcy5zaD1iO25ldyBjbGFzc3t9O3RoaXMueGg9e307dGhpcy56aD1bdEYoKS5NQSgpXX1kb2N1bWVudCgpe3JldHVybiB0aGlzLndofUlqKCl7cmV0dXJuIF8uWHlhKHRoaXMuemgpfX07dmFyIFdDYT1jbGFzcyBleHRlbmRzIHhFYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLHZvaWQgMCk7dGhpcy5xaD17fTt0aGlzLnJoPVtdfX07dmFyIHlHPVsidW5yZXNvbHZlZCIsbnVsbF07dmFyIFBHPVtdLHlCYT1uZXcgRkFhKCJudWxsIik7CkJHLnByb3RvdHlwZS5BaD1mdW5jdGlvbihhLGIsYyxkLGUpe0dHKHRoaXMsYS5vaSxhKTtjPWEucmg7aWYoZSlpZih0aGlzLnFoIT1udWxsKXtjPWEucmg7ZT1hLmNvbnRleHQ7dmFyIGY9YS50aFs0XSxnPS0xO2Zvcih2YXIgaD0wO2g8Zi5sZW5ndGg7KytoKXt2YXIgaz1mW2hdWzNdO2lmKGtbMF09PSIkc2MiKXtpZih2RihlLGtbMV0sbnVsbCk9PT1kKXtnPWg7YnJlYWt9fWVsc2Uga1swXT09IiRzZCImJihnPWgpfWIucWg9Zztmb3IoYj0wO2I8Zi5sZW5ndGg7KytiKWQ9ZltiXSxkPWNbYl09bmV3IHdHKGRbM10sZCxuZXcgdkcobnVsbCksZSxhLnNoKSx0aGlzLnNoJiYoZC5vaS5yaD0hMCksYj09Zz9KRyh0aGlzLGQpOmEudGhbMl0mJk9HKHRoaXMsZCk7TkcodGhpcyxhLm9pLGEpfWVsc2V7ZT1hLmNvbnRleHQ7aD1hLm9pLmVsZW1lbnQ7Zz1bXTtmPS0xO2ZvcihoPWguZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDA/aC5maXJzdEVsZW1lbnRDaGlsZDpsemEoaC5maXJzdENoaWxkKTtoO2g9CmgubmV4dEVsZW1lbnRTaWJsaW5nKWs9S0codGhpcyxoLGEuc2gpLGtbMF09PSIkc2MiPyhnLnB1c2goaCksdkYoZSxrWzFdLGgpPT09ZCYmKGY9Zy5sZW5ndGgtMSkpOmtbMF09PSIkc2QiJiYoZy5wdXNoKGgpLGY9PS0xJiYoZj1nLmxlbmd0aC0xKSksaD1jQWEoaCk7ZD1nLmxlbmd0aDtmb3IoaD0wO2g8ZDsrK2gpe2s9aD09Zjt2YXIgbT1jW2hdO2t8fG09PW51bGx8fFlHKHRoaXMucmgsbSwhMCk7dmFyIHA9Z1toXTttPWNBYShwKTtsZXQgcT0hMDtmb3IoO3E7cD1wLm5leHRTaWJsaW5nKWlGKHAsaykscD09bSYmKHE9ITEpfWIucWg9ZjtmIT0tMSYmKGI9Y1tmXSxiPT1udWxsPyhiPWdbZl0sYT1jW2ZdPW5ldyB3RyhLRyh0aGlzLGIsYS5zaCksbnVsbCxuZXcgdkcoYiksZSxhLnNoKSxFRyh0aGlzLGEpKTpIRyh0aGlzLGIpKX1lbHNlIGIucWghPS0xJiZIRyh0aGlzLGNbYi5xaF0pfTsKU0cucHJvdG90eXBlLmNzPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGEmMik9PTI7aWYoKGEmNCk9PTR8fGMpckJhKHRoaXMsYz8yOjAsYik7ZWxzZXtiPXRoaXMucWgub2kuZWxlbWVudDtjPXRoaXMucWguc2g7dmFyIGQ9dGhpcy5yaC5yaDtpZihkLmxlbmd0aD09MCkoYSY4KSE9OCYmcUJhKHRoaXMucmgsLTEpO2Vsc2UgZm9yKGE9ZC5sZW5ndGgtMTthPj0wOy0tYSl7dmFyIGU9ZFthXTtsZXQgZj1lLnFoLm9pLmVsZW1lbnQ7ZT1lLnFoLnNoO2lmKERHKGYsZSxiLGMpKXJldHVybjtERyhiLGMsZixlKSYmZC5zcGxpY2UoYSwxKX1kLnB1c2godGhpcyl9fTtTRy5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe2lmKHRoaXMuVXUhPW51bGwpZm9yKGxldCBhPTA7YTx0aGlzLlV1Lmxlbmd0aDsrK2EpdGhpcy5VdVthXS5yaCh0aGlzKX07ClNHLnByb3RvdHlwZS5zaD1mdW5jdGlvbigpe3JldHVybiJVcGRhdGVSZXF1ZXN0IGZvciBlbGVtZW50OiAiK3RoaXMucWgub2kuZWxlbWVudCsiIHRlbXBsYXRlS2V5OiAiK3RoaXMucWguc2grIiBjb250ZXh0OiAiK3RoaXMucWguY29udGV4dC5zaCgpfTtfLmFhPUJHLnByb3RvdHlwZTtfLmFhLkRPPWZ1bmN0aW9uKGEsYixjKXtiPWEuY29udGV4dDt2YXIgZD1hLm9pLmVsZW1lbnQ7Yz1hLnFoW2MrMV07dmFyIGU9Y1swXSxmPWNbMV07Yz1VRyhhKTtlPSJvYnNlcnZlcjoiK2U7dmFyIGc9Y1tlXTtiPXZGKGIsZixkKTtpZihnIT1udWxsKXtpZihnLlV1WzBdPT1iKXJldHVybjtnLmRpc3Bvc2UoKX1hPW5ldyBTRyh0aGlzLnJoLGEpO2EuVXU9PW51bGw/YS5VdT1bYl06YS5VdS5wdXNoKGIpO2IucWgoYSk7Y1tlXT1hfTsKXy5hYS50UT1mdW5jdGlvbihhLGIsYyxkLGUpe2M9YS53aDtlJiYoYy5BaC5sZW5ndGg9MCxjLnNoPWQuZ2V0S2V5KCksYy5xaD15Ryk7aWYoIVdHKHRoaXMsYSxiKSl7ZT1hLm9pO3ZhciBmPXVHKHRoaXMucmgsZC5nZXRLZXkoKSk7ZiE9bnVsbCYmKElGKGUudGFnLDc2OCksd0YoYy5jb250ZXh0LGEuY29udGV4dCxQRyksekJhKGQsYy5jb250ZXh0KSxURyh0aGlzLGEsYyxmLGIsZC5xaCkpfX07Cl8uYWEudHY9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMucWghPW51bGwpcmV0dXJuITE7aWYodGhpcy56aCE9bnVsbCYmdGhpcy56aDw9Xy5tYigpKXJldHVybihuZXcgU0codGhpcy5yaCxhKSkuY3MoOCksITA7dmFyIGQ9Yi5xaDtpZihkPT1udWxsKWIucWg9ZD1uZXcgc0Ysd0YoZCxhLmNvbnRleHQpLGM9ITA7ZWxzZXtiPWQ7YT1hLmNvbnRleHQ7ZD0hMTtmb3IobGV0IGUgaW4gYi5xaCl7bGV0IGY9YS5xaFtlXTtiLnFoW2VdIT1mJiYoYi5xaFtlXT1mLGMmJkFycmF5LmlzQXJyYXkoYyk/Yy5pbmRleE9mKGUpIT0tMTpjW2VdIT1udWxsKSYmKGQ9ITApfWM9ZH1yZXR1cm4gdGhpcy55aCYmIWN9O18uYWEub1E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFXRyh0aGlzLGEsYikpe3ZhciBkPWEud2g7Yz1hLnFoW2MrMV07ZC5zaD1jO2M9dUcodGhpcy5yaCxjKTtjIT1udWxsJiYod0YoZC5jb250ZXh0LGEuY29udGV4dCxjLmFyZ3MpLFRHKHRoaXMsYSxkLGMsYixjLmFyZ3MpKX19OwpfLmFhLnVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnFoW2MrMV07aWYoZFsyXXx8IVdHKHRoaXMsYSxiKSl7dmFyIGU9YS53aDtlLnNoPWRbMF07dmFyIGY9dUcodGhpcy5yaCxlLnNoKTtpZihmIT1udWxsKXt2YXIgZz1lLmNvbnRleHQ7d0YoZyxhLmNvbnRleHQsUEcpO2M9YS5vaS5lbGVtZW50O2lmKGQ9ZFsxXSlmb3IobGV0IHAgaW4gZCl7dmFyIGg9ZyxrPXAsbT12RihhLmNvbnRleHQsZFtwXSxjKTtoLnFoW2tdPW19Zi55ST8oR0codGhpcyxhLm9pLGEpLGI9Zi5NTih0aGlzLnJoLGcucWgpLHRoaXMucWghPW51bGw/dGhpcy5xaCs9YjooeUYoYyxiKSxjLm5vZGVOYW1lIT0iVEVYVEFSRUEiJiZjLm5vZGVOYW1lIT0idGV4dGFyZWEifHxjLnZhbHVlPT09Ynx8KGMudmFsdWU9YikpLE5HKHRoaXMsYS5vaSxhKSk6VEcodGhpcyxhLGUsZixiLGQpfX19OwpfLmFhLnJRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnFoW2MrMV07Yz1kWzBdO3ZhciBlPWRbMV0sZj1hLm9pLGc9Zi50YWc7aWYoIWYuZWxlbWVudHx8Zi5lbGVtZW50Ll9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiKWlmKGY9dUcodGhpcy5yaCxlKSlpZihkPWRbMl0sZD09bnVsbHx8dkYoYS5jb250ZXh0LGQsbnVsbCkpZD1iLnFoLGQ9PW51bGwmJihiLnFoPWQ9bmV3IHNGKSx3RihkLGEuY29udGV4dCxmLmFyZ3MpLGM9PSIqIj9CQmEodGhpcyxlLGYsZCxnKTpBQmEodGhpcyxlLGYsYyxkLGcpfTsKXy5hYS5zUT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5xaFtjKzFdO2M9ZFswXTt2YXIgZT1hLm9pLmVsZW1lbnQ7aWYoIWV8fGUuX19uYXJyb3dfc3RyYXRlZ3khPSJOQVJST1dfUEFUSCIpe3ZhciBmPWEub2kudGFnO2U9dkYoYS5jb250ZXh0LGRbMV0sZSk7dmFyIGc9ZS5nZXRLZXkoKSxoPXVHKHRoaXMucmgsZyk7aCYmKGQ9ZFsyXSxkPT1udWxsfHx2RihhLmNvbnRleHQsZCxudWxsKSkmJihkPWIucWgsZD09bnVsbCYmKGIucWg9ZD1uZXcgc0YpLHdGKGQsYS5jb250ZXh0LFBHKSx6QmEoZSxkKSxjPT0iKiI/QkJhKHRoaXMsZyxoLGQsZik6QUJhKHRoaXMsZyxoLGMsZCxmKSl9fTsKXy5hYS5MTT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEucmgsZz1hLnFoW2MrMV0saD1nWzBdLGs9Z1sxXSxtPWEuY29udGV4dCxwPWEub2k7ZD1SRyhkKTt2YXIgcT1kLmxlbmd0aDsoMCxnWzJdKShtLnFoLHEpO2lmKGUpaWYodGhpcy5xaCE9bnVsbClDQmEodGhpcyxhLGIsYyxkKTtlbHNle2ZvcihiPXE7YjxmLmxlbmd0aDsrK2IpWUcodGhpcy5yaCxmW2JdLCEwKTtmLmxlbmd0aD4wJiYoZi5sZW5ndGg9TWF0aC5tYXgocSwxKSk7dmFyIHU9cC5lbGVtZW50O2I9dTt2YXIgeD0hMTtlPWEuQ2g7Zz16RihiKTtmb3IobGV0IEI9MDtCPHF8fEI9PTA7KytCKXtpZih4KXt2YXIgej1hSCh0aGlzLHUsYS5zaCk7Xy54bCh6LGIpO2I9ejtnLmxlbmd0aD1lKzF9ZWxzZSBCPjAmJihiPWIubmV4dEVsZW1lbnRTaWJsaW5nLGc9ekYoYikpLGdbZV0mJmdbZV0uY2hhckF0KDApIT0iKiJ8fCh4PXE+MCk7QkYoYixnLGUscSxCKTtCPT0wJiZpRihiLHE+MCk7cT4wJiYoaChtLnFoLGRbQl0pLAprKG0ucWgsQiksS0codGhpcyxiLG51bGwpLHo9ZltCXSx6PT1udWxsPyh6PWZbQl09bmV3IHdHKGEucWgsYS50aCxuZXcgdkcoYiksbSxhLnNoKSx6LnhoPWMrMix6LnpoPWEuemgsei5DaD1lKzEsei5CaD0hMCxFRyh0aGlzLHopKTpIRyh0aGlzLHopLGI9ei5vaS5uZXh0fHx6Lm9pLmVsZW1lbnQpfWlmKCF4KWZvcihmPWIubmV4dEVsZW1lbnRTaWJsaW5nO2YmJkFGKHpGKGYpLGcsZSk7KWg9Zi5uZXh0RWxlbWVudFNpYmxpbmcsXy55bChmKSxmPWg7cC5uZXh0PWJ9ZWxzZSBmb3IocD0wO3A8cTsrK3ApaChtLnFoLGRbcF0pLGsobS5xaCxwKSxIRyh0aGlzLGZbcF0pfTsKXy5hYS5NTT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEucmgsZz1hLmNvbnRleHQsaD1hLnFoW2MrMV0saz1oWzBdLG09aFsxXTtoPWEub2k7ZD1SRyhkKTtpZihlfHwhaC5lbGVtZW50fHxoLmVsZW1lbnQuX19mb3JrZXlfaGFzX3VucHJvY2Vzc2VkX2VsZW1lbnRzKXt2YXIgcD1iLnFoLHE9ZC5sZW5ndGg7aWYodGhpcy5xaCE9bnVsbClDQmEodGhpcyxhLGIsYyxkLHApO2Vsc2V7dmFyIHU9aC5lbGVtZW50O2I9dTt2YXIgeD1hLkNoLHo9ekYoYik7ZT1bXTt2YXIgQj17fSxLPW51bGw7dmFyIE89dGhpcy54aDt0cnl7dmFyIEE9TyYmTy5hY3RpdmVFbGVtZW50O3ZhciBRPUEmJkEubm9kZU5hbWU/QTpudWxsfWNhdGNoKGlhKXtRPW51bGx9Tz1iO2ZvcihBPXo7Tzspe0tHKHRoaXMsTyxhLnNoKTt2YXIgY2E9YkFhKE8pO2NhJiYoQltjYV09ZS5sZW5ndGgpO2UucHVzaChPKTshSyYmUSYmXy56bChPLFEpJiYoSz1PKTsoTz1PLm5leHRFbGVtZW50U2libGluZyk/KGNhPXpGKE8pLApBRihjYSxBLHgpP0E9Y2E6Tz1udWxsKTpPPW51bGx9Tz1iLnByZXZpb3VzU2libGluZztPfHwoTz10aGlzLnhoLmNyZWF0ZUNvbW1lbnQoImpzZm9yIiksYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKE8sYikpO1E9W107dS5fX2ZvcmtleV9oYXNfdW5wcm9jZXNzZWRfZWxlbWVudHM9ITE7aWYocT4wKWZvcihBPTA7QTxxOysrQSl7Y2E9cFtBXTtpZihjYSBpbiBCKXtsZXQgaWE9QltjYV07ZGVsZXRlIEJbY2FdO2I9ZVtpYV07ZVtpYV09bnVsbDtpZihPLm5leHRTaWJsaW5nIT1iKWlmKGIhPUspXy54bChiLE8pO2Vsc2UgZm9yKDtPLm5leHRTaWJsaW5nIT1iOylfLnhsKE8ubmV4dFNpYmxpbmcsYik7UVtBXT1mW2lhXX1lbHNlIGI9YUgodGhpcyx1LGEuc2gpLF8ueGwoYixPKTtrKGcucWgsZFtBXSk7bShnLnFoLEEpO0JGKGIseix4LHEsQSxjYSk7QT09MCYmaUYoYiwhMCk7S0codGhpcyxiLG51bGwpO0E9PTAmJnUhPWImJih1PWguZWxlbWVudD1iKTtPPVFbQV07Ck89PW51bGw/KE89bmV3IHdHKGEucWgsYS50aCxuZXcgdkcoYiksZyxhLnNoKSxPLnhoPWMrMixPLnpoPWEuemgsTy5DaD14KzEsTy5CaD0hMCxFRyh0aGlzLE8pP1FbQV09Tzp1Ll9fZm9ya2V5X2hhc191bnByb2Nlc3NlZF9lbGVtZW50cz0hMCk6SEcodGhpcyxPKTtPPWI9Ty5vaS5uZXh0fHxPLm9pLmVsZW1lbnR9ZWxzZSBlWzBdPW51bGwsZlswXSYmKFFbMF09ZlswXSksaUYoYiwhMSksQkYoYix6LHgsMCwwLGJBYShiKSk7Zm9yKGxldCBpYSBpbiBCKShnPWZbQltpYV1dKSYmWUcodGhpcy5yaCxnLCEwKTthLnJoPVE7Zm9yKGY9MDtmPGUubGVuZ3RoOysrZillW2ZdJiZfLnlsKGVbZl0pO2gubmV4dD1ifX1lbHNlIGlmKGQubGVuZ3RoPjApZm9yKGE9MDthPGYubGVuZ3RoOysrYSlrKGcucWgsZFthXSksbShnLnFoLGEpLEhHKHRoaXMsZlthXSl9OwpfLmFhLnZRPWZ1bmN0aW9uKGEsYixjKXtiPWEuY29udGV4dDtjPWEucWhbYysxXTt2YXIgZD1hLm9pLmVsZW1lbnQ7dGhpcy5zaCYmYS50aCYmYS50aFsyXT9RRyhiLGMsZCwiIik6dkYoYixjLGQpfTtfLmFhLndRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNvbnRleHQsZT1hLnFoW2MrMV07Yz1lWzBdO2lmKHRoaXMucWghPW51bGwpYT12RihkLGVbMV0sbnVsbCksYyhkLnFoLGEpLGIucWg9aUJhKGEpO2Vsc2V7YT1hLm9pLmVsZW1lbnQ7aWYoYi5xaD09bnVsbCl7ZT1hLl9fdnM7aWYoIWUpe2U9YS5fX3ZzPVsxXTt2YXIgZj1hLmdldEF0dHJpYnV0ZSgianN2cyIpO2Y9V0YoZik7bGV0IGc9MCxoPWYubGVuZ3RoO2Zvcig7ZzxoOyl7bGV0IGs9JEYoZixnKSxtPWYuc2xpY2UoZyxrKS5qb2luKCIiKTtnPWsrMTtlLnB1c2goYkcobSkpfX1mPWVbMF0rKztiLnFoPWVbZl19Yj12RihkLGIucWgsYSk7YyhkLnFoLGIpfX07Cl8uYWEuQU09ZnVuY3Rpb24oYSxiLGMpe3ZGKGEuY29udGV4dCxhLnFoW2MrMV0sYS5vaS5lbGVtZW50KX07Xy5hYS5rTj1mdW5jdGlvbihhLGIsYyl7Yj1hLnFoW2MrMV07YT1hLmNvbnRleHQ7KDAsYlswXSkoYS5xaCxhLnJoP2EucmgucWhbYlsxXV06bnVsbCl9O18uYWEuZ1E9ZnVuY3Rpb24oYSxiLGMpe2I9YS5vaTtjPWEucWhbYysxXTt0aGlzLnFoIT1udWxsJiZhLnRoWzJdJiZaRyhiLnRhZyxhLnNoLDApO2IudGFnJiZjJiZIRihiLnRhZywtMSxudWxsLG51bGwsbnVsbCxudWxsLGMsITEpfTsKXy5hYS5rSD1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEub2ksZz1hLnFoW2NdPT0iJGlmIjtpZih0aGlzLnFoIT1udWxsKWQmJnRoaXMuc2gmJihmLnJoPSEwLGIuc2g9IiIpLGMrPTIsZz9kP0pHKHRoaXMsYSxjKTphLnRoWzJdJiZPRyh0aGlzLGEsYyk6ZD9KRyh0aGlzLGEsYyk6T0codGhpcyxhLGMpLGIucWg9ITA7ZWxzZXt2YXIgaD1mLmVsZW1lbnQ7ZyYmZi50YWcmJklGKGYudGFnLDc2OCk7ZHx8R0codGhpcyxmLGEpO2lmKGUpaWYoaUYoaCwhIWQpLGQpYi5xaHx8KEpHKHRoaXMsYSxjKzIpLGIucWg9ITApO2Vsc2UgaWYoYi5xaCYmWUcodGhpcy5yaCxhLGEucWhbYS54aF0hPSIkdCIpLGcpe2Q9ITE7Zm9yKGc9YysyO2c8YS5xaC5sZW5ndGg7Zys9MilpZihlPWEucWhbZ10sZT09IiR1Inx8ZT09IiR1ZSJ8fGU9PSIkdXAiKXtkPSEwO2JyZWFrfWlmKGQpe2Zvcig7ZD1oLmZpcnN0Q2hpbGQ7KWgucmVtb3ZlQ2hpbGQoZCk7ZD1oLl9fY2RuO2ZvcihnPWEud2g7ZyE9bnVsbDspe2lmKGQ9PQpnKXtoLl9fY2RuPW51bGw7YnJlYWt9Zz1nLndofWIucWg9ITE7YS5BaC5sZW5ndGg9KGMtYS54aCkvMisxO2EueWg9MDthLndoPW51bGw7YS5yaD1udWxsO2I9b0coaCk7Yi5sZW5ndGg+YS56aCYmKGIubGVuZ3RoPWEuemgpfX19fTtfLmFhLm5QPWZ1bmN0aW9uKGEsYixjKXtiPWEub2k7YiE9bnVsbCYmYi5lbGVtZW50IT1udWxsJiZ2RihhLmNvbnRleHQsYS5xaFtjKzFdLGIuZWxlbWVudCl9O18uYWEuUlA9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLnFoIT1udWxsPyhKRyh0aGlzLGEsYysyKSxiLnFoPSEwKTooZCYmR0codGhpcyxhLm9pLGEpLCFlfHxkfHxiLnFofHwoSkcodGhpcyxhLGMrMiksYi5xaD0hMCkpfTsKXy5hYS5CTj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vaS5lbGVtZW50LGU9YS5xaFtjKzFdO2M9ZVswXTt2YXIgZj1lWzFdLGc9Yi5xaDtlPWchPW51bGw7ZXx8KGIucWg9Zz1uZXcgc0YpO3dGKGcsYS5jb250ZXh0KTtiPXZGKGcsZixkKTtjIT0iY3JlYXRlIiYmYyE9ImxvYWQifHwhZD9VRyhhKVsiYWN0aW9uOiIrY109YjplfHwoSUcoZCxhKSxiLmNhbGwoZCkpfTtfLmFhLkNOPWZ1bmN0aW9uKGEsYixjKXtiPWEuY29udGV4dDt2YXIgZD1hLnFoW2MrMV0sZT1kWzBdO2M9ZFsxXTt2YXIgZj1kWzJdO2Q9ZFszXTt2YXIgZz1hLm9pLmVsZW1lbnQ7YT1VRyhhKTtlPSJjb250cm9sbGVyOiIrZTt2YXIgaD1hW2VdO2g9PW51bGw/YVtlXT12RihiLGYsZyk6KGMoYi5xaCxoKSxkJiZ2RihiLGQsZykpfTsKXy5hYS5OTD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5xaFtjKzFdO2I9YS5vaS50YWc7dmFyIGU9YS5jb250ZXh0LGY9YS5vaS5lbGVtZW50O2lmKCFmfHxmLl9fbmFycm93X3N0cmF0ZWd5IT0iTkFSUk9XX1BBVEgiKXt2YXIgZz1kWzBdLGg9ZFsxXSxrPWRbM10sbT1kWzRdO2E9ZFs1XTtjPSEhZFs3XTtpZighY3x8dGhpcy5xaCE9bnVsbClpZighZFs4XXx8IXRoaXMuc2gpe3ZhciBwPSEwO2shPW51bGwmJihwPXRoaXMuc2gmJmEhPSJub25jZSI/ITA6ISF2RihlLGssZikpO2U9cD9tPT1udWxsP3ZvaWQgMDp0eXBlb2YgbT09InN0cmluZyI/bTp0aGlzLnNoP1FHKGUsbSxmLCIiKTp2RihlLG0sZik6bnVsbDt2YXIgcTtrIT1udWxsfHxlIT09ITAmJmUhPT0hMT9lPT09bnVsbD9xPW51bGw6ZT09PXZvaWQgMD9xPWE6cT1TdHJpbmcoZSk6cT0ocD1lKT9hOm51bGw7ZT1xIT09bnVsbHx8dGhpcy5xaD09bnVsbDtzd2l0Y2goZyl7Y2FzZSA2OklGKGIsMjU2KTtlJiZMRihiLGcsImNsYXNzIiwKcSwhMSxjKTticmVhaztjYXNlIDc6ZSYmS0YoYixnLCJjbGFzcyIsYSxwPyIiOm51bGwsYyk7YnJlYWs7Y2FzZSA0OmUmJkxGKGIsZywic3R5bGUiLHEsITEsYyk7YnJlYWs7Y2FzZSA1OmlmKHApe2lmKG0paWYoaCYmcSE9PW51bGwpe2Q9cTtxPTU7c3dpdGNoKGgpe2Nhc2UgNTpoPVN6YShkKTticmVhaztjYXNlIDY6aD1xRWEudGVzdChkKT9kOiJ6anNsYXlvdXR6aW52YWxpZCI7YnJlYWs7Y2FzZSA3Omg9VHphKGQpO2JyZWFrO2RlZmF1bHQ6cT02LGg9InNhbml0aXphdGlvbl9lcnJvcl8iK2h9S0YoYixxLCJzdHlsZSIsYSxoLGMpfWVsc2UgZSYmS0YoYixnLCJzdHlsZSIsYSxxLGMpfWVsc2UgZSYmS0YoYixnLCJzdHlsZSIsYSxudWxsLGMpO2JyZWFrO2Nhc2UgODpoJiZxIT09bnVsbD9zQWEoYixoLGEscSxjKTplJiZMRihiLGcsYSxxLCExLGMpO2JyZWFrO2Nhc2UgMTM6aD1kWzZdO2UmJktGKGIsZyxhLGgscSxjKTticmVhaztjYXNlIDE0OmNhc2UgMTE6Y2FzZSAxMjpjYXNlIDEwOmNhc2UgOTplJiYKS0YoYixnLGEsIiIscSxjKTticmVhaztkZWZhdWx0OmE9PSJqc2FjdGlvbiI/KGUmJkxGKGIsZyxhLHEsITEsYyksZiYmIl9fanNhY3Rpb24iaW4gZiYmZGVsZXRlIGYuX19qc2FjdGlvbik6YSYmZFs2XT09bnVsbCYmKGgmJnEhPT1udWxsP3NBYShiLGgsYSxxLGMpOmUmJkxGKGIsZyxhLHEsITEsYykpfX19fTtfLmFhLm5NPWZ1bmN0aW9uKGEsYixjKXtpZighVkcodGhpcyxhLGIpKXt2YXIgZD1hLnFoW2MrMV07Yj1hLmNvbnRleHQ7Yz1hLm9pLnRhZzt2YXIgZT1kWzFdLGY9ISFiLnFoLnZrO2Q9dkYoYixkWzBdLGEub2kuZWxlbWVudCk7YT13QWEoZCxlLGYpO2U9UEYoZCxlLGYpO2lmKGYhPWF8fGYhPWUpYy54aD0hMCxMRihjLDAsImRpciIsYT8icnRsIjoibHRyIik7Yi5xaC52az1hfX07Cl8uYWEub009ZnVuY3Rpb24oYSxiLGMpe2lmKCFWRyh0aGlzLGEsYikpe3ZhciBkPWEucWhbYysxXTtiPWEuY29udGV4dDtjPWEub2kuZWxlbWVudDtpZighY3x8Yy5fX25hcnJvd19zdHJhdGVneSE9Ik5BUlJPV19QQVRIIil7YT1hLm9pLnRhZzt2YXIgZT1kWzBdLGY9ZFsxXSxnPWRbMl07ZD0hIWIucWgudms7Zj1mP3ZGKGIsZixjKTpudWxsO2M9dkYoYixlLGMpPT0icnRsIjtlPWYhPW51bGw/UEYoZixnLGQpOmQ7aWYoZCE9Y3x8ZCE9ZSlhLnhoPSEwLExGKGEsMCwiZGlyIixjPyJydGwiOiJsdHIiKTtiLnFoLnZrPWN9fX07Xy5hYS5tTT1mdW5jdGlvbihhLGIpe1ZHKHRoaXMsYSxiKXx8KGI9YS5jb250ZXh0LGE9YS5vaS5lbGVtZW50LGEmJmEuX19uYXJyb3dfc3RyYXRlZ3k9PSJOQVJST1dfUEFUSCJ8fChiLnFoLnZrPSEhYi5xaC52aykpfTsKXy5hYS5lTT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEucWhbYysxXSxnPWZbMF0saD1hLmNvbnRleHQ7ZD1TdHJpbmcoZCk7Yz1hLm9pO3ZhciBrPSExLG09ITE7Zi5sZW5ndGg+MyYmYy50YWchPW51bGwmJiFWRyh0aGlzLGEsYikmJihtPWZbM10sZj0hIXZGKGgsZls0XSxudWxsKSxrPWc9PTd8fGc9PTJ8fGc9PTEsbT1tIT1udWxsP3ZGKGgsbSxudWxsKTp3QWEoZCxrLGYpLGs9bSE9Znx8ZiE9UEYoZCxrLGYpKSYmKGMuZWxlbWVudD09bnVsbCYmJEcoYy50YWcsYSksdGhpcy5xaD09bnVsbHx8Yy50YWcueGghPT0hMSkmJihMRihjLnRhZywwLCJkaXIiLG0/InJ0bCI6Imx0ciIpLGs9ITEpO0dHKHRoaXMsYyxhKTtpZihlKXtpZih0aGlzLnFoIT1udWxsKXtpZighVkcodGhpcyxhLGIpKXtiPW51bGw7ayYmKGgucWguV28hPT0hMT8odGhpcy5xaCs9JzxzcGFuIGRpcj0iJysobT8icnRsIjoibHRyIikrJyI+JyxiPSI8L3NwYW4+Iik6KHRoaXMucWgrPW0/Ilx1MjAyYiI6Ilx1MjAyYSIsCmI9Ilx1MjAyYyIrKG0/Ilx1MjAwZSI6Ilx1MjAwZiIpKSk7c3dpdGNoKGcpe2Nhc2UgNzpjYXNlIDI6dGhpcy5xaCs9ZDticmVhaztjYXNlIDE6dGhpcy5xaCs9bUFhKGQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5xaCs9Q0YoZCl9YiE9bnVsbCYmKHRoaXMucWgrPWIpfX1lbHNle2I9Yy5lbGVtZW50O3N3aXRjaChnKXtjYXNlIDc6Y2FzZSAyOnlGKGIsZCk7YnJlYWs7Y2FzZSAxOmc9bUFhKGQpO3lGKGIsZyk7YnJlYWs7ZGVmYXVsdDpnPSExO2U9IiI7Zm9yKGg9Yi5maXJzdENoaWxkO2g7aD1oLm5leHRTaWJsaW5nKXtpZihoLm5vZGVUeXBlIT0zKXtnPSEwO2JyZWFrfWUrPWgubm9kZVZhbHVlfWlmKGg9Yi5maXJzdENoaWxkKXtpZihnfHxlIT1kKWZvcig7aC5uZXh0U2libGluZzspXy55bChoLm5leHRTaWJsaW5nKTtoLm5vZGVUeXBlIT0zJiZfLnlsKGgpfWIuZmlyc3RDaGlsZD9lIT1kJiYoYi5maXJzdENoaWxkLm5vZGVWYWx1ZT1kKTpiLmFwcGVuZENoaWxkKGIub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkKSl9Yi5ub2RlTmFtZSE9CiJURVhUQVJFQSImJmIubm9kZU5hbWUhPSJ0ZXh0YXJlYSJ8fGIudmFsdWU9PT1kfHwoYi52YWx1ZT1kKX1ORyh0aGlzLGMsYSl9fTt2YXIgRkc9e30sRkJhPSExO18uYkgucHJvdG90eXBlLnRpPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLnFoKXt2YXIgZD11Ryh0aGlzLnJoLHRoaXMudGgpO3RoaXMucWgmJnRoaXMucWguaGFzQXR0cmlidXRlKCJkYXRhLWRvbWRpZmYiKSYmKGQucko9MSk7dmFyIGU9dGhpcy5zaDtkPXRoaXMucWg7dmFyIGY9dGhpcy5yaCxnPXRoaXMudGg7SEJhKCk7aWYoKGImMik9PTApe3ZhciBoPWYucmg7Zm9yKHZhciBrPWgubGVuZ3RoLTE7az49MDstLWspe3ZhciBtPWhba107REcoZCxnLG0ucWgub2kuZWxlbWVudCxtLnFoLnNoKSYmaC5zcGxpY2UoaywxKX19aD0icnRsIj09JHphKGQpO2UucWgudms9aDtlLnFoLldvPSEwO209bnVsbDsoaz1kLl9fY2RuKSYmay5xaCE9eUcmJmchPSJub19rZXkiJiYoaD16RyhrLGcsbnVsbCkpJiYoaz1oLG09InJlYmluZCIsaD1uZXcgQkcoZixiLGMpLHdGKGsuY29udGV4dCxlKSxrLm9pLnRhZyYmIWsuQmgmJmQ9PWsub2kuZWxlbWVudCYmay5vaS50YWcucmVzZXQoZyksSEcoaCxrKSk7CmlmKG09PW51bGwpe2YuZG9jdW1lbnQoKTtoPW5ldyBCRyhmLGIsYyk7Yj1LRyhoLGQsbnVsbCk7Zj1iWzBdPT0iJHQiPzE6MDtjPTA7bGV0IHA7aWYoZyE9Im5vX2tleSImJmchPWQuZ2V0QXR0cmlidXRlKCJpZCIpKWlmKHA9ITEsaz1iLmxlbmd0aC0yLGJbMF09PSIkdCImJmJbMV09PWcpYz0wLHA9ITA7ZWxzZSBpZihiW2tdPT0iJHUiJiZiW2srMV09PWcpYz1rLHA9ITA7ZWxzZSBmb3Ioaz1vRyhkKSxtPTA7bTxrLmxlbmd0aDsrK20paWYoa1ttXT09Zyl7Yj1tRyhnKTtmPW0rMTtjPTA7cD0hMDticmVha31rPW5ldyBzRjt3RihrLGUpO2s9bmV3IHdHKGIsbnVsbCxuZXcgdkcoZCksayxnKTtrLnhoPWM7ay56aD1mO2sub2kucWg9b0coZCk7ZT0hMTtwJiZiW2NdPT0iJHQiJiYodkJhKGsub2ksZyksZT1vQmEoaC5yaCx1RyhoLnJoLGcpLGQpKTtlP1hHKGgsbnVsbCxrKTpFRyhoLGspfX1hJiZhKCk7cmV0dXJuIHRoaXMucWh9OwpfLmJILnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnFoO2lmKGEhPW51bGwpe3ZhciBiPWEucGFyZW50RWxlbWVudDtpZihiPT1udWxsfHwhYi5fX2Nkbil7Yj10aGlzLnJoO2lmKGEpe2xldCBjPWEuX19jZG47YyYmKGM9ekcoYyx0aGlzLnRoKSkmJllHKGIsYywhMCl9YS5wYXJlbnROb2RlIT1udWxsJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7dGhpcy5xaD1udWxsO3RoaXMuc2g9bmV3IHNGO3RoaXMuc2gucmg9dGhpcy5yaC5zaH19fTtfLnFiKGRILF8uYkgpO2RILnByb3RvdHlwZS5pbnN0YW50aWF0ZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLnJoO3ZhciBjPXRoaXMudGg7aWYoYi5kb2N1bWVudCgpKXt2YXIgZD1iLnFoW2NdO2lmKGQmJmQuZWxlbWVudHMpe3ZhciBlPWQuZWxlbWVudHNbMF07Yj1iLmRvY3VtZW50KCkuY3JlYXRlRWxlbWVudChlKTtkLnJKIT0xJiZiLnNldEF0dHJpYnV0ZSgianNsIiwiJHUgIitjKyI7Iik7Yz1ifWVsc2UgYz1udWxsfWVsc2UgYz1udWxsOyh0aGlzLnFoPWMpJiYodGhpcy5xaC5fX2F0dGFjaGVkX3RlbXBsYXRlPXRoaXMpO2M9dGhpcy5xaDthJiZjJiZhLmFwcGVuZENoaWxkKGMpO2E9dGhpcy5zaDtjPSJydGwiPT0kemEodGhpcy5xaCk7YS5xaC52az1jO3JldHVybiB0aGlzLnFofTtfLnFiKF8uZUgsZEgpO18uUUk9eyJidWdfcmVwb3J0X2ljb24uc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xMiUyMDIxcS0xLjYyNSUyMDAtMy4wMTItLjhRNy42JTIwMTkuNCUyMDYuOCUyMDE4SDR2LTJoMi4xcS0uMDc1LS41LS4wODctMVE2JTIwMTQuNSUyMDYlMjAxNEg0di0yaDJxMC0uNS4wMTMtMSUyMC4wMTItLjUuMDg3LTFINFY4aDIuOHEuMzUtLjU3NS43ODgtMS4wNzUuNDM3LS41JTIwMS4wMTItLjg3NUw3JTIwNC40JTIwOC40JTIwM2wyLjE1JTIwMi4xNXEuNy0uMjI1JTIwMS40MjUtLjIyNXQxLjQyNS4yMjVMMTUuNiUyMDMlMjAxNyUyMDQuNGwtMS42NSUyMDEuNjVxLjU3NS4zNzUlMjAxLjAzOC44NjJRMTYuODUlMjA3LjQlMjAxNy4yJTIwOEgyMHYyaC0yLjFxLjA3NS41LjA4OCUyMDElMjAuMDEyLjUuMDEyJTIwMWgydjJoLTJxMCUyMC41LS4wMTIlMjAxLS4wMTMuNS0uMDg4JTIwMUgyMHYyaC0yLjhxLS44JTIwMS40LTIuMTg4JTIwMi4yLTEuMzg3LjgtMy4wMTIuOFptMC0ycTEuNjUlMjAwJTIwMi44MjUtMS4xNzVUMTYlMjAxNXYtNHEwLTEuNjUtMS4xNzUtMi44MjVUMTIlMjA3JTIwOS4xNzUlMjA4LjE3NSUyMDglMjAxMXY0cTAlMjAxLjY1JTIwMS4xNzUlMjAyLjgyNVQxMiUyMDE5bS0yLTNoNHYtMmgtNFptMC00aDR2LTJoLTRabTIlMjAxJTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX2NvbnRyb2wuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfY29udHJvbF9hY3RpdmUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMWE3M2U4JTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX2NvbnRyb2xfYWN0aXZlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfY29udHJvbF9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2JkYzFjNiUyMiUyMGQlM0QlMjJtMTIlMjAxOS4xNzUlMjAyLjEyNS0yLjEyNSUyMDEuNDI1JTIwMS40TDEyJTIwMjJsLTMuNTUtMy41NSUyMDEuNDI1LTEuNHpNNC44MjUlMjAxMmwyLjEyNSUyMDIuMTI1LTEuNCUyMDEuNDI1TDIlMjAxMmwzLjU1LTMuNTUlMjAxLjQlMjAxLjQyNXptMTQuMzUlMjAwTDE3LjA1JTIwOS44NzVsMS40LTEuNDI1TDIyJTIwMTJsLTMuNTUlMjAzLjU1LTEuNC0xLjQyNXpNMTIlMjA0LjgyNSUyMDkuODc1JTIwNi45NSUyMDguNDUlMjA1LjU1JTIwMTIlMjAybDMuNTUlMjAzLjU1LTEuNDI1JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9jb250cm9sX2Rpc2FibGUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZDFkMWQxJTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfY29udHJvbF9kaXNhYmxlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNGU0ZTRlJTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX2NvbnRyb2xfaG92ZXIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwZCUzRCUyMm0xMiUyMDE5LjE3NSUyMDIuMTI1LTIuMTI1JTIwMS40MjUlMjAxLjRMMTIlMjAyMmwtMy41NS0zLjU1JTIwMS40MjUtMS40ek00LjgyNSUyMDEybDIuMTI1JTIwMi4xMjUtMS40JTIwMS40MjVMMiUyMDEybDMuNTUtMy41NSUyMDEuNCUyMDEuNDI1em0xNC4zNSUyMDBMMTcuMDUlMjA5Ljg3NWwxLjQtMS40MjVMMjIlMjAxMmwtMy41NSUyMDMuNTUtMS40LTEuNDI1ek0xMiUyMDQuODI1JTIwOS44NzUlMjA2Ljk1JTIwOC40NSUyMDUuNTUlMjAxMiUyMDJsMy41NSUyMDMuNTUtMS40MjUlMjAxLjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfY29udHJvbF9ob3Zlcl9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJtMTIlMjAxOS4xNzUlMjAyLjEyNS0yLjEyNSUyMDEuNDI1JTIwMS40TDEyJTIwMjJsLTMuNTUtMy41NSUyMDEuNDI1LTEuNHpNNC44MjUlMjAxMmwyLjEyNSUyMDIuMTI1LTEuNCUyMDEuNDI1TDIlMjAxMmwzLjU1LTMuNTUlMjAxLjQlMjAxLjQyNXptMTQuMzUlMjAwTDE3LjA1JTIwOS44NzVsMS40LTEuNDI1TDIyJTIwMTJsLTMuNTUlMjAzLjU1LTEuNC0xLjQyNXpNMTIlMjA0LjgyNSUyMDkuODc1JTIwNi45NSUyMDguNDUlMjA1LjU1JTIwMTIlMjAybDMuNTUlMjAzLjU1LTEuNDI1JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX2Rvd24uc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwZCUzRCUyMm0xMiUyMDE1LjQtNi02TDcuNCUyMDhsNC42JTIwNC42TDE2LjYlMjA4JTIwMTglMjA5LjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfbW92ZV9kb3duX2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBkJTNEJTIybTEyJTIwMTUuNC02LTZMNy40JTIwOGw0LjYlMjA0LjZMMTYuNiUyMDglMjAxOCUyMDkuNHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjYW1lcmFfbW92ZV9kb3duX2FjdGl2ZV9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJtMTIlMjAxNS40LTYtNkw3LjQlMjA4bDQuNiUyMDQuNkwxNi42JTIwOCUyMDE4JTIwOS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfZG93bl9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2JkYzFjNiUyMiUyMGQlM0QlMjJtMTIlMjAxNS40LTYtNkw3LjQlMjA4bDQuNiUyMDQuNkwxNi42JTIwOCUyMDE4JTIwOS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX2Rvd25fZGlzYWJsZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBkJTNEJTIybTEyJTIwMTUuNC02LTZMNy40JTIwOGw0LjYlMjA0LjZMMTYuNiUyMDglMjAxOCUyMDkuNHolMjIvJTNFJTNDL3N2ZyUzRSIsImNhbWVyYV9tb3ZlX2Rvd25fZGlzYWJsZV9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzRlNGU0ZSUyMiUyMGQlM0QlMjJtMTIlMjAxNS40LTYtNkw3LjQlMjA4bDQuNiUyMDQuNkwxNi42JTIwOCUyMDE4JTIwOS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX2Rvd25faG92ZXIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMm0xMiUyMDE1LjQtNi02TDcuNCUyMDhsNC42JTIwNC42TDE2LjYlMjA4JTIwMTglMjA5LjR6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfbW92ZV9kb3duX2hvdmVyX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTZlNmU2JTIyJTIwZCUzRCUyMm0xMiUyMDE1LjQtNi02TDcuNCUyMDhsNC42JTIwNC42TDE2LjYlMjA4JTIwMTglMjA5LjR6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX21vdmVfbGVmdC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBkJTNEJTIybTE0JTIwMTgtNi02JTIwNi02JTIwMS40JTIwMS40LTQuNiUyMDQuNiUyMDQuNiUyMDQuNnolMjIvJTNFJTNDL3N2ZyUzRSIsImNhbWVyYV9tb3ZlX2xlZnRfYWN0aXZlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJtMTQlMjAxOC02LTYlMjA2LTYlMjAxLjQlMjAxLjQtNC42JTIwNC42JTIwNC42JTIwNC42eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX2xlZnRfYWN0aXZlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTZlNmU2JTIyJTIwZCUzRCUyMm0xNCUyMDE4LTYtNiUyMDYtNiUyMDEuNCUyMDEuNC00LjYlMjA0LjYlMjA0LjYlMjA0LjZ6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfbW92ZV9sZWZ0X2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzYmRjMWM2JTIyJTIwZCUzRCUyMm0xNCUyMDE4LTYtNiUyMDYtNiUyMDEuNCUyMDEuNC00LjYlMjA0LjYlMjA0LjYlMjA0LjZ6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX21vdmVfbGVmdF9kaXNhYmxlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2QxZDFkMSUyMiUyMGQlM0QlMjJtMTQlMjAxOC02LTYlMjA2LTYlMjAxLjQlMjAxLjQtNC42JTIwNC42JTIwNC42JTIwNC42eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfbGVmdF9kaXNhYmxlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNGU0ZTRlJTIyJTIwZCUzRCUyMm0xNCUyMDE4LTYtNiUyMDYtNiUyMDEuNCUyMDEuNC00LjYlMjA0LjYlMjA0LjYlMjA0LjZ6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX21vdmVfbGVmdF9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIybTE0JTIwMTgtNi02JTIwNi02JTIwMS40JTIwMS40LTQuNiUyMDQuNiUyMDQuNiUyMDQuNnolMjIvJTNFJTNDL3N2ZyUzRSIsImNhbWVyYV9tb3ZlX2xlZnRfaG92ZXJfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNmU2ZTYlMjIlMjBkJTNEJTIybTE0JTIwMTgtNi02JTIwNi02JTIwMS40JTIwMS40LTQuNiUyMDQuNiUyMDQuNiUyMDQuNnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjYW1lcmFfbW92ZV9yaWdodC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBkJTNEJTIyTTEyLjYlMjAxMiUyMDglMjA3LjQlMjA5LjQlMjA2bDYlMjA2LTYlMjA2TDglMjAxNi42eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfcmlnaHRfYWN0aXZlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJNMTIuNiUyMDEyJTIwOCUyMDcuNCUyMDkuNCUyMDZsNiUyMDYtNiUyMDZMOCUyMDE2LjZ6JTIyLyUzRSUzQy9zdmclM0UiLAoiY2FtZXJhX21vdmVfcmlnaHRfYWN0aXZlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTZlNmU2JTIyJTIwZCUzRCUyMk0xMi42JTIwMTIlMjA4JTIwNy40JTIwOS40JTIwNmw2JTIwNi02JTIwNkw4JTIwMTYuNnolMjIvJTNFJTNDL3N2ZyUzRSIsImNhbWVyYV9tb3ZlX3JpZ2h0X2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzYmRjMWM2JTIyJTIwZCUzRCUyMk0xMi42JTIwMTIlMjA4JTIwNy40JTIwOS40JTIwNmw2JTIwNi02JTIwNkw4JTIwMTYuNnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjYW1lcmFfbW92ZV9yaWdodF9kaXNhYmxlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2QxZDFkMSUyMiUyMGQlM0QlMjJNMTIuNiUyMDEyJTIwOCUyMDcuNCUyMDkuNCUyMDZsNiUyMDYtNiUyMDZMOCUyMDE2LjZ6JTIyLyUzRSUzQy9zdmclM0UiLCJjYW1lcmFfbW92ZV9yaWdodF9kaXNhYmxlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNGU0ZTRlJTIyJTIwZCUzRCUyMk0xMi42JTIwMTIlMjA4JTIwNy40JTIwOS40JTIwNmw2JTIwNi02JTIwNkw4JTIwMTYuNnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjYW1lcmFfbW92ZV9yaWdodF9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTEyLjYlMjAxMiUyMDglMjA3LjQlMjA5LjQlMjA2bDYlMjA2LTYlMjA2TDglMjAxNi42eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfcmlnaHRfaG92ZXJfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNmU2ZTYlMjIlMjBkJTNEJTIyTTEyLjYlMjAxMiUyMDglMjA3LjQlMjA5LjQlMjA2bDYlMjA2LTYlMjA2TDglMjAxNi42eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX3VwLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfdXBfYWN0aXZlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX3VwX2FjdGl2ZV9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfdXBfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNiZGMxYzYlMjIlMjBkJTNEJTIybTEyJTIwMTAuOC00LjYlMjA0LjZMNiUyMDE0bDYtNiUyMDYlMjA2LTEuNCUyMDEuNHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjYW1lcmFfbW92ZV91cF9kaXNhYmxlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2QxZDFkMSUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfdXBfZGlzYWJsZV9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzRlNGU0ZSUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImNhbWVyYV9tb3ZlX3VwX2hvdmVyLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJtMTIlMjAxMC44LTQuNiUyMDQuNkw2JTIwMTRsNi02JTIwNiUyMDYtMS40JTIwMS40eiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY2FtZXJhX21vdmVfdXBfaG92ZXJfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNmU2ZTYlMjIlMjBkJTNEJTIybTEyJTIwMTAuOC00LjYlMjA0LjZMNiUyMDE0bDYtNiUyMDYlMjA2LTEuNCUyMDEuNHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjaGVja2JveF9jaGVja2VkLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0wJTIwMGgyNHYyNEgweiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xOSUyMDNINWMtMS4xMSUyMDAtMiUyMC45LTIlMjAydjE0YzAlMjAxLjEuODklMjAyJTIwMiUyMDJoMTRjMS4xMSUyMDAlMjAyLS45JTIwMi0yVjVjMC0xLjEtLjg5LTItMi0ybS05JTIwMTQtNS01JTIwMS40MS0xLjQxTDEwJTIwMTQuMTdsNy41OS03LjU5TDE5JTIwOHolMjIvJTNFJTNDL3N2ZyUzRSIsImNoZWNrYm94X2VtcHR5LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDI0JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTklMjA1djE0SDVWNXptMC0ySDVjLTEuMSUyMDAtMiUyMC45LTIlMjAydjE0YzAlMjAxLjEuOSUyMDIlMjAyJTIwMmgxNGMxLjElMjAwJTIwMi0uOSUyMDItMlY1YzAtMS4xLS45LTItMi0yJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMCUyMDBoMjR2MjRIMHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjb21wYXNzX2JhY2tncm91bmQuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEwMCUyMDEwMCUyMiUzRSUzQ2NpcmNsZSUyMGN4JTNEJTIyNTAlMjIlMjBjeSUzRCUyMjUwJTIyJTIwciUzRCUyMjUwJTIyJTIwZmlsbCUzRCUyMiUyMzIyMiUyMi8lM0UlM0NjaXJjbGUlMjBjeCUzRCUyMjUwJTIyJTIwY3klM0QlMjI1MCUyMiUyMHIlM0QlMjIyMiUyMiUyMGZpbGwlM0QlMjIlMjM1OTU5NTklMjIvJTNFJTNDL3N2ZyUzRSIsImNvbXBhc3NfbmVlZGxlX2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMTk5OS94bGluayUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDQwJTIwMTAwJTIyJTNFJTNDaW1hZ2UlMjB4bGluayUzQWhyZWYlM0QlMjJkYXRhJTNBaW1hZ2UvcG5nJTNCYmFzZTY0JTJDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVFQUFBQnRDQVlBQUFEJTJCbVF3SUFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBJTIwR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQjRkSlJFRlVlTnJzbkl0dTR6b01SUFZLLy85NyUyMDE3WjBiNEI0d1hJNUpQV3dpMTFZZ0pHMlNaUG9hRGlrSk5zaFBPMXBUM3ZhMDU3Mk5LSEZ1ejZvdGRiemVTM0clMkJHOUE2T3o0andHSiUyMFA5QjU2elBiM1REaVRaMzMvSzA1Z1N5SEVTOEdFSlhQc2lBMDdibVZJT0pGQUtTZlJ5RWdHTXRBeEFzQlJBVkNkUGhCTXg2WGdZZzMlMjBBSWlHSW9LaEFQcDRDWWl5RUNJQ0VBRU1Ed1JrbHBFOEYvOGZqQ2tRWlZJRndSajU5NUdjaWtBajM0QmZmQU9ocE5aTGxlQVplUTJFJTIwQkVFQ1VCWEYvTzc4ZTFCRzFWQW1WV0FCU0FLRWFFQ1FGSUJnVUJERGFpZ0x2U0FJQUpJQUlna3E0cDNsS3FpZi82dGFSaGxWUTFtZyUyMGdnQVVnSTd6ZVExQ0phTWJBSWpHUG45WURXV0JDaXdBJTJCWE1rOWp3S2gwb08vcG9LalBVM2dCRTFsQVVxQ01yb1p3WWhDLzRnR2VINyUyME9KUjBXcFhzMHEyR3NsZ0ZFUUFvREFRTkNkcXg5dW44MmNsRE1VUFkyVjQxbEVVcXNBQVVRUlZSaVBrejdnL2hlWjQxSkJCRDNsQXUlMjA5b0xDRGdvaEFRZzdlTDRwSUt5MWlIa0lyRG9NRGhoWmdQQWlmOU1ncEElMkJJYU5RUERZeDZ0MEdXVGhYRXpveEFBYnpJN3dqQ0lUeEglMjBEVE9STklrS3IyNkRuQzJiTFJWa0FvQ0N5RUpIVHdpNzBLbktsQ0tCdUc3dW9CaGlFQ1pLV1ZIQ0Y0T1FBUVFKVGdVZ2tFbDJoVVJaJTIwWUlqUkVRcGY1SkdIUkNDcDBRdWhHbUhSRlJKbFFTaG9ma0RENEl0QnlHd0VENUlacEZBNFB2OXpnSUxyOHZXRTJPRUZVbGFnRUY0QyUyMGhMT2ptYW1EQWpnRUVKbzN1RU9pZEM2Y1JLTlV6b29TYUZpOEJFL2dvVUFCbEk5S3NqQVppN01oVVRvVTBGTXVGMEVOWHl3a3N1QUolMjBtWHhwV2p3VkJrSlN3MjNMYTk3NlFETkdibzY4UnBCU0pnZGhxYUVySklvek5VWmx6cENNS3ZFbEtPRUZsS0JCMklYNVJ3SnE2QXFKJTIwY2tFb2FNYkk2d1d1aE1oJTJCZjNkOEF4TXd6Uk11blVwYkt2QVlvd1dCcSUyQkJGUVBUQW1ETkdFQXJlNVRNdEpGNnNhTklnN0t6elhnQmklMjBTR2klMkJVQVoycG5wRG9UQS8lMkJGSWdCRUVGMG5RY0RVQlZRZ0lxb2t4a0JzL3NrWUtRSmxLSkZFczdNOGxkbUhRaFk0d3pGZVJNaWt5RyUyMEwxZ2d6bzd4TmNNcXBFVnBVU1lyQUxwOG9RejR3VWlkVUpRcE5ZVndxdUEwd3hmd2d3eVc4b2Q4b1hUNkFZS1R3Y0pxVVl5U2h3TTMlMjB4UUxlYXlaVmlvb29DLzBnZ1VXVkFvNFhNOGJBNWdvRkFFaks3dGJ0bnFDdEpYaEFaQllPSEVKMktDQ0JsZXQ0RllTb0ZFdlJxQmxRJTIwTVpXWVRLMmxlazhJZEJkTlpYRDBQYUdSallveUN4RDRUREU1ajJqTWNWUnpMSTZPajlZTENhdzc4alFYV0diSVlCJTJCenAvUFJXQk50JTIwRUlLeXYlMkJEWmZVTDFRektVY2piUDZIdFU2YW9TTlNWWUs4cWhJeXdpZUVSNXZRS3ZpV0JIRzUwQ2RIbDJRQnN5SHBVazhMZmdITjJvJTIwYkFaTnRSU3VhZHFYajA1bGhZbVI3b0tUTGdMUVc0WDJLbTJKQXE2RVlKMkUyUngvUSUyQjhUaFBkRTM2SGQ0UW5XbHd4S1J5MFFudWU3JTIwTyUyQnRWUW5PUTlYNzVDaDZsMTBpbjYvQ2ZMVWpEVUw1QmNHeGVTcEtVT2xDTmZjVFpRd1BpR1ZSWE9EVEYxSm94b25UbmlQOU10OU9rJTIwY3hNTzhQOFNnRG9ZSmtOVDZlWThwQzk4S0FjOXYwaDdMUUtpd1lBbTZWMVU2UTBGUzdvV0JMcXVTRGRiRGtFZGttSlFaa0haWmpvNyUyMFdHRndLSjJoTzBtSnpCZjR1dUl1dkE4Q1VwM2VzQ1JGV21Gd2dDJTJCJTJCZ3dPdEtFbXZsWUF1QlZGQWg2TURpQ1YvQkdJam9VRDNIcy9uJTIwNk9OdUFQQ1laRCUyQkV0M0Y4cHRUTm1SVzAyS2NkMzlqaWFoUDJIVGdzS1R3T3B5OEViOHFjOFlUS3dxR0MlMkJOL1lsbG95bExBcGlqZ00lMjBSYWhGVmU4MlhBJTJCSXF2akNKdXdwU2hETy8vLzFPVFlqTkt3Q2Fva3h0dUMvTW9XRGtHUk50OWZwSW9xbWhNMElpZDdxc1ElMkJDNFF2QiUyMG9RUUpCRDlGQjBINEpRQ1FWSURDQXMwa2w5VUpTQkdINGdjb0ZLb1FEcHNBWWh2MGhHJTJCZEh6cGR4eEVTVm5XSVZHQkIlMkJPVU1oMk8yJTIwU0RJaGtKQUliQU1Ed2RBQW9ETlklMkJlOGJNVWNKeHVHWVdIWFBKcjBUS005cDkxWElET1h6bUJtRSUyQm5tT244ZTRLd0JRMFRTY0dxOUklMjBrZFVBd1UvVXBGZTM4Qk8xYUZnZ0FFdEN3UU9CcThBYkVqdlpVdHZZZmdIZmFlSksyTzRNQlJNQ1M1VlJtVWtpSldSQkJmd0NEZzVoJTIwVjlMazhsQ1lXV2hGZnBBWWhNUTZTME5CdXQ1aEI3NWdGVXZoeW5Ed2hFUU4zODlVbHdDZ2E1MmtpejQyd3hTMSUyQm1EcEdtTnZTSEExJTIwcENCZjFXWmQ0WEtBV2FSVUtDMEpoUlg3RGg0UTB2Vk1LZURMZjNpVzhGYUtsNFlEQ2drJTJCaHpnM1dLV1Jsa0pCdXk0U3JTbDQxaFc3JTIwUXNFTkFZUUVNa2lhOThNZ2hLTmpWYWw3cmpDNzJ1eFJRd3o0WW05dWloSUV0Rmk3YkdGMUdJSlREUnhFRVB5QWhnNEgxTmdxbFpZYSUyMHJjMlhTNVRnVVlOMUQ1UWEvcnh3S3dCenJhT0dlT245RXh4cTBBQ2dxOWNvVURRWDhXN01obkRUblRTUUdxejdualRGRDdndldEdGIlMjBTd3h4R0lKU1BQRVJEYUElMkJxQVlFYTRkYkcvbGI3NjdEQVNCbDhOZExvZUJaMHZmc1F0OTdueVZCRFdnRUtwbHJXRGVic2xhMFBTZG8lMjBoRHVWd0FGWUlMdzNvdk9jQVNPbXdwbDdyODNlaGM4NnQ5QnpXbDR3VXE0RTVvL1gvOGdONkJSdmFNYnJlaUJJNmxnS1lGb0pIelh3JTIwOTduenBwVHZNSmd1bTMvcTlxUTlFRFR6JTJCL2s3Y3hvZ1BHQzhFSmFId0NVUUZCQVduT0RzJTJCQ1VBbGtOd3dQQjg1dDk5OCUyQnBPR082MyUyMCUyQlN0dlk3NEF5SzAzdEgvYTA1NzJ0S2M5N1dsUFElMkIwL0FRWUFMZjZPZk5rWlk3QUFBQUFBU1VWT1JLNUNZSUklM0QlMjIlMjB3aWR0aCUzRCUyMjY1JTIyJTIwaGVpZ2h0JTNEJTIyMTA5JTIyJTIwb3BhY2l0eSUzRCUyMi43NSUyMiUyMG92ZXJmbG93JTNEJTIydmlzaWJsZSUyMiUyMHRyYW5zZm9ybSUzRCUyMm1hdHJpeCUyOC45ODQ2JTIwMCUyMDAlMjAuOTkwOCUyMC0xMS42JTIwLTMuNiUyOSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMjAlMjAxOCUyMDEwJTIwNTBsMTAlMjAzMiUyMDEwLTMyeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U1MzkzNSUyMiUyMGQlM0QlMjJtMTAlMjA1MCUyMDEwLTMyJTIwMTAlMjAzMnolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNkMWQxZDElMjIlMjBkJTNEJTIyTTMwJTIwNTAlMjAyMCUyMDgyJTIwMTAlMjA1MHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjb21wYXNzX25lZWRsZV9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIweG1sbnMlM0F4bGluayUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMTk5OS94bGluayUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDQwJTIwMTAwJTIyJTNFJTNDaW1hZ2UlMjB4bGluayUzQWhyZWYlM0QlMjJkYXRhJTNBaW1hZ2UvcG5nJTNCYmFzZTY0JTJDaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVFQUFBQnRDQVlBQUFEJTJCbVF3SUFBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBJTIwR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQjRkSlJFRlVlTnJzbkl0dTR6b01SUFZLLy85NyUyMDE3WjBiNEI0d1hJNUpQV3dpMTFZZ0pHMlNaUG9hRGlrSk5zaFBPMXBUM3ZhMDU3Mk5LSEZ1ejZvdGRiemVTM0clMkJHOUE2T3o0andHSiUyMFA5QjU2elBiM1REaVRaMzMvSzA1Z1N5SEVTOEdFSlhQc2lBMDdibVZJT0pGQUtTZlJ5RWdHTXRBeEFzQlJBVkNkUGhCTXg2WGdZZzMlMjBBSWlHSW9LaEFQcDRDWWl5RUNJQ0VBRU1Ed1JrbHBFOEYvOGZqQ2tRWlZJRndSajU5NUdjaWtBajM0QmZmQU9ocE5aTGxlQVplUTJFJTIwQkVFQ1VCWEYvTzc4ZTFCRzFWQW1WV0FCU0FLRWFFQ1FGSUJnVUJERGFpZ0x2U0FJQUpJQUlna3E0cDNsS3FpZi82dGFSaGxWUTFtZyUyMGdnQVVnSTd6ZVExQ0phTWJBSWpHUG45WURXV0JDaXdBJTJCWE1rOWp3S2gwb08vcG9LalBVM2dCRTFsQVVxQ01yb1p3WWhDLzRnR2VINyUyME9KUjBXcFhzMHEyR3NsZ0ZFUUFvREFRTkNkcXg5dW44MmNsRE1VUFkyVjQxbEVVcXNBQVVRUlZSaVBrejdnL2hlWjQxSkJCRDNsQXUlMjA5b0xDRGdvaEFRZzdlTDRwSUt5MWlIa0lyRG9NRGhoWmdQQWlmOU1ncEElMkJJYU5RUERZeDZ0MEdXVGhYRXpveEFBYnpJN3dqQ0lUeEglMjBEVE9STklrS3IyNkRuQzJiTFJWa0FvQ0N5RUpIVHdpNzBLbktsQ0tCdUc3dW9CaGlFQ1pLV1ZIQ0Y0T1FBUVFKVGdVZ2tFbDJoVVJaJTIwWUlqUkVRcGY1SkdIUkNDcDBRdWhHbUhSRlJKbFFTaG9ma0RENEl0QnlHd0VENUlacEZBNFB2OXpnSUxyOHZXRTJPRUZVbGFnRUY0QyUyMGhMT2ptYW1EQWpnRUVKbzN1RU9pZEM2Y1JLTlV6b29TYUZpOEJFL2dvVUFCbEk5S3NqQVppN01oVVRvVTBGTXVGMEVOWHl3a3N1QUolMjBtWHhwV2p3VkJrSlN3MjNMYTk3NlFETkdibzY4UnBCU0pnZGhxYUVySklvek5VWmx6cENNS3ZFbEtPRUZsS0JCMklYNVJ3SnE2QXFKJTIwY2tFb2FNYkk2d1d1aE1oJTJCZjNkOEF4TXd6Uk11blVwYkt2QVlvd1dCcSUyQkJGUVBUQW1ETkdFQXJlNVRNdEpGNnNhTklnN0t6elhnQmklMjBTR2klMkJVQVoycG5wRG9UQS8lMkJGSWdCRUVGMG5RY0RVQlZRZ0lxb2t4a0JzL3NrWUtRSmxLSkZFczdNOGxkbUhRaFk0d3pGZVJNaWt5RyUyMEwxZ2d6bzd4TmNNcXBFVnBVU1lyQUxwOG9RejR3VWlkVUpRcE5ZVndxdUEwd3hmd2d3eVc4b2Q4b1hUNkFZS1R3Y0pxVVl5U2h3TTMlMjB4UUxlYXlaVmlvb29DLzBnZ1VXVkFvNFhNOGJBNWdvRkFFaks3dGJ0bnFDdEpYaEFaQllPSEVKMktDQ0JsZXQ0RllTb0ZFdlJxQmxRJTIwTVpXWVRLMmxlazhJZEJkTlpYRDBQYUdSallveUN4RDRUREU1ajJqTWNWUnpMSTZPajlZTENhdzc4alFYV0diSVlCJTJCenAvUFJXQk50JTIwRUlLeXYlMkJEWmZVTDFRektVY2piUDZIdFU2YW9TTlNWWUs4cWhJeXdpZUVSNXZRS3ZpV0JIRzUwQ2RIbDJRQnN5SHBVazhMZmdITjJvJTIwYkFaTnRSU3VhZHFYajA1bGhZbVI3b0tUTGdMUVc0WDJLbTJKQXE2RVlKMkUyUngvUSUyQjhUaFBkRTM2SGQ0UW5XbHd4S1J5MFFudWU3JTIwTyUyQnRWUW5PUTlYNzVDaDZsMTBpbjYvQ2ZMVWpEVUw1QmNHeGVTcEtVT2xDTmZjVFpRd1BpR1ZSWE9EVEYxSm94b25UbmlQOU10OU9rJTIwY3hNTzhQOFNnRG9ZSmtOVDZlWThwQzk4S0FjOXYwaDdMUUtpd1lBbTZWMVU2UTBGUzdvV0JMcXVTRGRiRGtFZGttSlFaa0haWmpvNyUyMFdHRndLSjJoTzBtSnpCZjR1dUl1dkE4Q1VwM2VzQ1JGV21Gd2dDJTJCJTJCZ3dPdEtFbXZsWUF1QlZGQWg2TURpQ1YvQkdJam9VRDNIcy9uJTIwNk9OdUFQQ1laRCUyQkV0M0Y4cHRUTm1SVzAyS2NkMzlqaWFoUDJIVGdzS1R3T3B5OEViOHFjOFlUS3dxR0MlMkJOL1lsbG95bExBcGlqZ00lMjBSYWhGVmU4MlhBJTJCSXF2akNKdXdwU2hETy8vLzFPVFlqTkt3Q2Fva3h0dUMvTW9XRGtHUk50OWZwSW9xbWhNMElpZDdxc1ElMkJDNFF2QiUyMG9RUUpCRDlGQjBINEpRQ1FWSURDQXMwa2w5VUpTQkdINGdjb0ZLb1FEcHNBWWh2MGhHJTJCZEh6cGR4eEVTVm5XSVZHQkIlMkJPVU1oMk8yJTIwU0RJaGtKQUliQU1Ed2RBQW9ETlklMkJlOGJNVWNKeHVHWVdIWFBKcjBUS005cDkxWElET1h6bUJtRSUyQm5tT244ZTRLd0JRMFRTY0dxOUklMjBrZFVBd1UvVXBGZTM4Qk8xYUZnZ0FFdEN3UU9CcThBYkVqdlpVdHZZZmdIZmFlSksyTzRNQlJNQ1M1VlJtVWtpSldSQkJmd0NEZzVoJTIwVjlMazhsQ1lXV2hGZnBBWWhNUTZTME5CdXQ1aEI3NWdGVXZoeW5Ed2hFUU4zODlVbHdDZ2E1MmtpejQyd3hTMSUyQm1EcEdtTnZTSEExJTIwcENCZjFXWmQ0WEtBV2FSVUtDMEpoUlg3RGg0UTB2Vk1LZURMZjNpVzhGYUtsNFlEQ2drJTJCaHpnM1dLV1Jsa0pCdXk0U3JTbDQxaFc3JTIwUXNFTkFZUUVNa2lhOThNZ2hLTmpWYWw3cmpDNzJ1eFJRd3o0WW05dWloSUV0Rmk3YkdGMUdJSlREUnhFRVB5QWhnNEgxTmdxbFpZYSUyMHJjMlhTNVRnVVlOMUQ1UWEvcnh3S3dCenJhT0dlT245RXh4cTBBQ2dxOWNvVURRWDhXN01obkRUblRTUUdxejdualRGRDdndldEdGIlMjBTd3h4R0lKU1BQRVJEYUElMkJxQVlFYTRkYkcvbGI3NjdEQVNCbDhOZExvZUJaMHZmc1F0OTdueVZCRFdnRUtwbHJXRGVic2xhMFBTZG8lMjBoRHVWd0FGWUlMdzNvdk9jQVNPbXdwbDdyODNlaGM4NnQ5QnpXbDR3VXE0RTVvL1gvOGdONkJSdmFNYnJlaUJJNmxnS1lGb0pIelh3JTIwOTduenBwVHZNSmd1bTMvcTlxUTlFRFR6JTJCL2s3Y3hvZ1BHQzhFSmFId0NVUUZCQVduT0RzJTJCQ1VBbGtOd3dQQjg1dDk5OCUyQnBPR082MyUyMCUyQlN0dlk3NEF5SzAzdEgvYTA1NzJ0S2M5N1dsUFElMkIwL0FRWUFMZjZPZk5rWlk3QUFBQUFBU1VWT1JLNUNZSUklM0QlMjIlMjB3aWR0aCUzRCUyMjY1JTIyJTIwaGVpZ2h0JTNEJTIyMTA5JTIyJTIwb3BhY2l0eSUzRCUyMi43NSUyMiUyMG92ZXJmbG93JTNEJTIydmlzaWJsZSUyMiUyMHRyYW5zZm9ybSUzRCUyMm1hdHJpeCUyOC45ODQ2JTIwMCUyMDAlMjAuOTkwOCUyMC0xMS42JTIwLTMuNiUyOSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMjAlMjAxOCUyMDEwJTIwNTBsMTAlMjAzMiUyMDEwLTMyeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2MxMjcyZCUyMiUyMGQlM0QlMjJtMTAlMjA1MCUyMDEwLTMyJTIwMTAlMjAzMnolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNkMWQxZDElMjIlMjBkJTNEJTIyTTMwJTIwNTAlMjAyMCUyMDgyJTIwMTAlMjA1MHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjb21wYXNzX25lZWRsZV9ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDQwJTIwMTAwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjMTI3MmQlMjIlMjBkJTNEJTIybTEwJTIwNTAlMjAxMC0zMiUyMDEwJTIwMzJ6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZDFkMWQxJTIyJTIwZCUzRCUyMk0zMCUyMDUwJTIwMjAlMjA4MiUyMDEwJTIwNTB6JTIyLyUzRSUzQy9zdmclM0UiLCJjb21wYXNzX3JvdGF0ZV9hY3RpdmUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMwJTIwMTAwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIybTI0Ljg0JTIwNjkuNzYtLjg0LTExLjc2LTQuMjglMjAyLjM0QzE4LjYxJTIwNTcuMDklMjAxOCUyMDUzLjYyJTIwMTglMjA1MGMwLTYuMTclMjAxLjc1LTExLjkzJTIwNC43OC0xNi44MmwtMi41LTEuNjZDMTYuOTQlMjAzNi44ODAwMDAwMDAwMDAwMSUyMDE1JTIwNDMuMjElMjAxNSUyMDUwYzAlMjA0LjE0LjcyJTIwOC4xMSUyMDIuMDQlMjAxMS43OUwxMyUyMDY0bDcuNyUyMDUuMTNMMjUlMjA3MnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJjb21wYXNzX3JvdGF0ZV9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzAlMjAxMDAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJtMjQuODQlMjA2OS43Ni0uODQtMTEuNzYtNC4yOCUyMDIuMzRDMTguNjElMjA1Ny4wOSUyMDE4JTIwNTMuNjIlMjAxOCUyMDUwYzAtNi4xNyUyMDEuNzUtMTEuOTMlMjA0Ljc4LTE2LjgybC0yLjUtMS42NkMxNi45NCUyMDM2Ljg4MDAwMDAwMDAwMDAxJTIwMTUlMjA0My4yMSUyMDE1JTIwNTBjMCUyMDQuMTQuNzIlMjA4LjExJTIwMi4wNCUyMDExLjc5TDEzJTIwNjRsNy43JTIwNS4xM0wyNSUyMDcyeiUyMi8lM0UlM0Mvc3ZnJTNFIiwiY29tcGFzc19yb3RhdGVfbm9ybWFsLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMCUyMDEwMCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzYjNiM2IzJTIyJTIwZCUzRCUyMm0yNC44NCUyMDY5Ljc2LS44NC0xMS43Ni00LjI4JTIwMi4zNEMxOC42MSUyMDU3LjA5JTIwMTglMjA1My42MiUyMDE4JTIwNTBjMC02LjE3JTIwMS43NS0xMS45MyUyMDQuNzgtMTYuODJsLTIuNS0xLjY2QzE2Ljk0JTIwMzYuODgwMDAwMDAwMDAwMDElMjAxNSUyMDQzLjIxJTIwMTUlMjA1MGMwJTIwNC4xNC43MiUyMDguMTElMjAyLjA0JTIwMTEuNzlMMTMlMjA2NGw3LjclMjA1LjEzTDI1JTIwNzJ6JTIyLyUzRSUzQy9zdmclM0UiLAoiZnVsbHNjcmVlbl9lbnRlcl9hY3RpdmUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMCUyMDB2NmgyVjJoNFYwem0xNiUyMDBoLTR2Mmg0djRoMlYwem0wJTIwMTZoLTR2Mmg2di02aC0yek0yJTIwMTJIMHY2aDZ2LTJIMnolMjIvJTNFJTNDL3N2ZyUzRSIsImZ1bGxzY3JlZW5fZW50ZXJfYWN0aXZlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMCUyMDB2NmgyVjJoNFYwem0xNiUyMDBoLTR2Mmg0djRoMlYwem0wJTIwMTZoLTR2Mmg2di02aC0yek0yJTIwMTJIMHY2aDZ2LTJIMnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJmdWxsc2NyZWVuX2VudGVyX2hvdmVyLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOCUyMDE4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTAlMjAwdjZoMlYyaDRWMHptMTYlMjAwaC00djJoNHY0aDJWMHptMCUyMDE2aC00djJoNnYtNmgtMnpNMiUyMDEySDB2Nmg2di0ySDJ6JTIyLyUzRSUzQy9zdmclM0UiLCJmdWxsc2NyZWVuX2VudGVyX2hvdmVyX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJNMCUyMDB2NmgyVjJoNFYwem0xNiUyMDBoLTR2Mmg0djRoMlYwem0wJTIwMTZoLTR2Mmg2di02aC0yek0yJTIwMTJIMHY2aDZ2LTJIMnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJmdWxsc2NyZWVuX2VudGVyX25vcm1hbC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTglMjAxOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwZCUzRCUyMk0wJTIwMHY2aDJWMmg0VjB6bTE2JTIwMGgtNHYyaDR2NGgyVjB6bTAlMjAxNmgtNHYyaDZ2LTZoLTJ6TTIlMjAxMkgwdjZoNnYtMkgyeiUyMi8lM0UlM0Mvc3ZnJTNFIiwiZnVsbHNjcmVlbl9lbnRlcl9ub3JtYWxfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTglMjAxOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzYjNiM2IzJTIyJTIwZCUzRCUyMk0wJTIwMHY2aDJWMmg0VjB6bTE2JTIwMGgtNHYyaDR2NGgyVjB6bTAlMjAxNmgtNHYyaDZ2LTZoLTJ6TTIlMjAxMkgwdjZoNnYtMkgyeiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImZ1bGxzY3JlZW5fZXhpdF9hY3RpdmUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNNCUyMDRIMHYyaDZWMEg0em0xMCUyMDBWMGgtMnY2aDZWNHptLTIlMjAxNGgydi00aDR2LTJoLTZ6TTAlMjAxNGg0djRoMnYtNkgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiZnVsbHNjcmVlbl9leGl0X2FjdGl2ZV9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOCUyMDE4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTQlMjA0SDB2Mmg2VjBINHptMTAlMjAwVjBoLTJ2Nmg2VjR6bS0yJTIwMTRoMnYtNGg0di0yaC02ek0wJTIwMTRoNHY0aDJ2LTZIMHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJmdWxsc2NyZWVuX2V4aXRfaG92ZXIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNNCUyMDRIMHYyaDZWMEg0em0xMCUyMDBWMGgtMnY2aDZWNHptLTIlMjAxNGgydi00aDR2LTJoLTZ6TTAlMjAxNGg0djRoMnYtNkgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiZnVsbHNjcmVlbl9leGl0X2hvdmVyX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U2ZTZlNiUyMiUyMGQlM0QlMjJNNCUyMDRIMHYyaDZWMEg0em0xMCUyMDBWMGgtMnY2aDZWNHptLTIlMjAxNGgydi00aDR2LTJoLTZ6TTAlMjAxNGg0djRoMnYtNkgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImZ1bGxzY3JlZW5fZXhpdF9ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJNNCUyMDRIMHYyaDZWMEg0em0xMCUyMDBWMGgtMnY2aDZWNHptLTIlMjAxNGgydi00aDR2LTJoLTZ6TTAlMjAxNGg0djRoMnYtNkgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiZnVsbHNjcmVlbl9leGl0X25vcm1hbF9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOCUyMDE4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNiM2IzYjMlMjIlMjBkJTNEJTIyTTQlMjA0SDB2Mmg2VjBINHptMTAlMjAwVjBoLTJ2Nmg2VjR6bS0yJTIwMTRoMnYtNGg0di0yaC02ek0wJTIwMTRoNHY0aDJ2LTZIMHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJnb29nbGVfbG9nb19jb2xvci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2OSUyMDI5JTIyJTNFJTNDZyUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBzdHJva2UlM0QlMjIlMjNmZmYlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjUlMjIlMjBvcGFjaXR5JTNEJTIyLjYlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMm0xNy40NzA2JTIwNy4zMzYxNi41NDEyLS41NDExMi0uNTUxOS0uNTMwMTFjLTEuMzYzNi0xLjMwOTc0LTMuMjAxNy0yLjMxOTcxLTUuNzU5MS0yLjMxOTcxLTQuNjEzNyUyMDAtOC41MDI2MiUyMDMuNzU1MTctOC41MDI2MiUyMDguMzk1NzglMjAwJTIwNC42NDA3JTIwMy44ODg5MiUyMDguMzk1OCUyMDguNTAyNjIlMjA4LjM5NTglMjAyLjQ3MDQlMjAwJTIwNC4zNzY1LS44MTg4JTIwNS44NzMyLTIuMzY3OSUyMDEuNTY5NS0xLjU3MjklMjAyLjAyMTYtMy43MzYzJTIwMi4wMjE2LTUuNDExOSUyMDAtLjUyMzItLjA0NC0xLjAyNTQtLjEyOTUtMS40NTI5bC0uMTIwNi0uNjAyOWgtOC4zOTQ3djMuNTk0Mmg0LjgzMDFjLS4xNzI0LjU5NjYtLjQzMjElMjAxLjAyODYtLjc0OTElMjAxLjM0NjEtLjYyODguNjIxNC0xLjU4MjMlMjAxLjMwOTQtMy4zMzElMjAxLjMwOTQtMi42NTI0NSUyMDAtNC43MzU5OC0yLjEzMTItNC43MzU5OC00LjgwOTklMjAwLTIuNjc4NjElMjAyLjA4MzUzLTQuODA5ODElMjA0LjczNTk4LTQuODA5ODElMjAxLjQzNjIlMjAwJTIwMi40NzUyLjU2MDclMjAzLjI1NyUyMDEuMjkyMjlsLjUyOTguNDk1NzQuNTEzLS41MTMwM3olMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjQuODY1NiUyMDIwLjcyODZjMy4wODklMjAwJTIwNS42MDM2LTIuNDE5MiUyMDUuNjAzNi01LjY2OTIlMjAwLTMuMjY4MS0yLjUxNjItNS42NjkyOS01LjYwMzYtNS42NjkyOS0zLjA4NzMlMjAwLTUuNjAzNSUyMDIuNDAxMTktNS42MDM1JTIwNS42NjkyOSUyMDAlMjAzLjI1JTIwMi41MTQ1JTIwNS42NjkyJTIwNS42MDM1JTIwNS42NjkyWm0wLTcuOTAwNGMxLjAxNCUyMDAlMjAxLjk3NjYuODM3JTIwMS45NzY2JTIwMi4yMzEyJTIwMCUyMDEuMzgwNS0uOTY1MyUyMDIuMjMxMS0xLjk3NjYlMjAyLjIzMTEtMS4wMDk5JTIwMC0xLjk3NjUtLjg1NzQtMS45NzY1LTIuMjMxMSUyMDAtMS4zODc0Ljk2MzktMi4yMzEyJTIwMS45NzY1LTIuMjMxMlolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzUuNzUxMSUyMDE3LjI5MDVoLS4wMDQyYy0xLjAwOTklMjAwLTEuOTc2Ni0uODU3NC0xLjk3NjYtMi4yMzExJTIwMC0xLjM4NzQuOTY0LTIuMjMxMiUyMDEuOTc2Ni0yLjIzMTIlMjAxLjAxMzklMjAwJTIwMS45NzY1LjgzNyUyMDEuOTc2NSUyMDIuMjMxMiUyMDAlMjAxLjM4NDUtLjk2OCUyMDIuMjM2OC0xLjk3MjMlMjAyLjIzMTFabS0uMDEyNCUyMDMuNDM4MWMzLjA4OSUyMDAlMjA1LjYwMzUtMi40MTkyJTIwNS42MDM1LTUuNjY5MiUyMDAtMy4yNjgxLTIuNTE2Mi01LjY2OTI5LTUuNjAzNS01LjY2OTI5LTMuMDg3NCUyMDAtNS42MDM2JTIwMi40MDExOS01LjYwMzYlMjA1LjY2OTI5JTIwMCUyMDMuMjUwOCUyMDIuNTIzNiUyMDUuNjY5MiUyMDUuNjAzNiUyMDUuNjY5MlolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTEuOTUzJTIwMTAuNDM1N3YtLjc0OTk3aC0zLjU1MzF2LjEyMjUzYy0uNTUtLjI2MTc4LTEuMjAyMi0uNDI2MzktMS45MTkxLS40MjYzOS0yLjg4MzclMjAwLTUuNDY0JTIwMi41MTc5My01LjQ2NCUyMDUuNjkzOTMlMjAwJTIwMi4xMjY5JTIwMS4xNjQlMjAzLjk0NzklMjAyLjgwMzMlMjA0LjkxMzdsLS4wNjU4LjAyNzMtMS44ODA2Ljc4MDItLjY5MjkuMjg3NC4yODc2LjY5MjhjLjYyMjglMjAxLjUwMDQlMjAyLjI3NzYlMjAzLjM2OTclMjA1LjA1MzUlMjAzLjM2OTclMjAxLjQxMDUlMjAwJTIwMi43ODctLjQxNDUlMjAzLjgxNC0xLjQwOTMlMjAxLjAzMzItMS4wMDA5JTIwMS42MTcxLTIuNDk2NSUyMDEuNjE3MS00LjQ2NTN6bS03LjIxOTQlMjA5Ljk4NDQtLjAwMDItLjAwMDVjLjU1NTIuMjAwNSUyMDEuMTQ0Ni4zMDklMjAxLjc0NzQuMzA5LjY4MDglMjAwJTIwMS4zMDU4LS4xNDY3JTIwMS44NDEtLjM4OTEtLjA4NzYuMzg5MS0uMjQxNy42NzEtLjQyNTIuODY4Mi0uMjgxMi4zMDIyLS43MjAyLjUwMTEtMS4zNzQ3LjUwMTEtLjkxMTkwMDAwMDAwMDAxJTIwMC0xLjUyMDEtLjY0NzYtMS43ODgzLTEuMjg4N1ptMS45MzYxLTcuNTkxOWMuOTcyMiUyMDAlMjAxLjg3OC44NDgzJTIwMS44NzglMjAyLjI1NTglMjAwJTIwMS4zNzk2LS44OTU2JTIwMi4yMTQ3LTEuODc4JTIwMi4yMTQ3LTEuMDQyOCUyMDAtMS45OTMtLjg3MzgtMS45OTMtMi4yMTQ3JTIwMC0xLjM3NTQuOTU5NS0yLjI1NTglMjAxLjk5My0yLjI1NThabTkuMDY5LTcuNjA3Mzd2LS43NWgtMy42NTk5VjIwLjQ0MTJoMy42NTk5eiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMm02My45MTI4JTIwMTYuMDYxNC0uNjE4My0uNDEyMi0uNDE3OS42MTQ1Yy0uNDU2Mi42NzA5LTEuMDEwMiUyMDEuMDQzMi0xLjgwMjUlMjAxLjA0MzItLjQzMDYlMjAwLS43NTk1LS4wOTgxLTEuMDE5Ny0uMjYyMi0uMDctLjA0NDEtLjEzODMtLjA5NTEtLjIwNDYtLjE1MzZsNS42OTk5LTIuMzYyNS42ODI1LS4yODNMNjUuOTU5NiUyMDEzLjU1ODlsLS4yMTktLjU1MTRjLS40NTI4LTEuMjA3NS0xLjg4OTktMy42MDkxOC00LjkxMjgtMy42MDkxOC0yLjk4MzMlMjAwLTUuMzI0NCUyMDIuMzYzNTgtNS4zMjQ0JTIwNS42NjkyOCUyMDAlMjAzLjE0NzUlMjAyLjMyMjIlMjA1LjY2OTMlMjA1LjU2MjUlMjA1LjY2OTMlMjAyLjYwNDMlMjAwJTIwNC4xMTExLTEuNTk5MSUyMDQuNzI4My0yLjUxNTZsLjQyMS0uNjI1TDY1LjU4ODIlMjAxNy4xNzgzem0tMi41NjY3LTMuMjEwMy0xLjkzNTMuODAxNWMuMzc5NS0uNTc0MyUyMDEuMDEwNy0uODU3MiUyMDEuNDkwOS0uODU3Mi4xNjUzJTIwMCUyMC4zMTM2LjAyMDcuNDQ0NC4wNTU3WiUyMi8lM0UlM0MvZyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNDI4NWY0JTIyJTIwZCUzRCUyMk0xMS43MDA4JTIwMTkuOTg2OGMtNC4yMTMwNCUyMDAtNy43NTI2Mi0zLjQzMjgtNy43NTI2Mi03LjY0NTglMjAwLTQuMjEyOTclMjAzLjUzOTU4LTcuNjQ1NzglMjA3Ljc1MjYyLTcuNjQ1NzglMjAyLjMzMjMlMjAwJTIwMy45OTEyLjkxMTU5JTIwNS4yMzk1JTIwMi4xMTA2MWwtMS40NyUyMDEuNDcwMDNjLS44OTUyLS44Mzc2Ny0yLjExMDYtMS40OTQ2Ny0zLjc2OTUtMS40OTQ2Ny0zLjA3OTcyJTIwMC01LjQ4NTk4JTIwMi40ODAxNi01LjQ4NTk4JTIwNS41NTk4MSUyMDAlMjAzLjA3OTclMjAyLjQwNjI2JTIwNS41NTk5JTIwNS40ODU5OCUyMDUuNTU5OSUyMDEuOTk1NiUyMDAlMjAzLjEyODktLjgwNDglMjAzLjg1OTgtMS41Mjc1LjU5OTUtLjU5OTYuOTg1NS0xLjQ1MzclMjAxLjEzMzMtMi42MjhoLTQuOTkzMXYtMi4wOTQyaDcuMDI5OGMuMDczOS4zNjk1LjExNS44MjEyLjExNSUyMDEuMzA1OCUyMDAlMjAxLjU2ODUtLjQyNyUyMDMuNTA2Ny0xLjgwNjclMjA0Ljg4NjQtMS4zNDY5JTIwMS4zOTYxLTMuMDU1MSUyMDIuMTQzNC01LjMzODElMjAyLjE0MzQlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlOTQyMzUlMjIlMjBkJTNEJTIyTTI5LjcxOTIlMjAxNS4wNTk0YzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNiUyMDQuOTE5Mi0yLjY3NzIlMjAwLTQuODUzNS0yLjA4NTktNC44NTM1LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNS00LjkxOTMlMjAyLjY3NzMlMjAwJTIwNC44NTM2JTIwMi4wNjk1JTIwNC44NTM2JTIwNC45MTkzbS0yLjEyNyUyMDBjMC0xLjc3MzktMS4yNjQ4LTIuOTgxMi0yLjcyNjYtMi45ODEycy0yLjcyNjUlMjAxLjIxNTUtMi43MjY1JTIwMi45ODEyYzAlMjAxLjc0OTIlMjAxLjI2NDclMjAyLjk4MTElMjAyLjcyNjUlMjAyLjk4MTFzMi43MjY2LTEuMjIzNyUyMDIuNzI2Ni0yLjk4MTElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJiMDUlMjIlMjBkJTNEJTIyTTQwLjU5MjIlMjAxNS4wNTk0YzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNSUyMDQuOTE5Mi0yLjY2OTElMjAwLTQuODUzNi0yLjA4NTktNC44NTM2LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNi00LjkxOTMlMjAyLjY3NzIlMjAwJTIwNC44NTM1JTIwMi4wNjk1JTIwNC44NTM1JTIwNC45MTkzbS0yLjExODglMjAwYzAtMS43NzM5LTEuMjY0Ny0yLjk4MTItMi43MjY1LTIuOTgxMnMtMi43MjY2JTIwMS4yMTU1LTIuNzI2NiUyMDIuOTgxMmMwJTIwMS43NDkyJTIwMS4yNjQ4JTIwMi45ODExJTIwMi43MjY2JTIwMi45ODExJTIwMS40NjE4LjAwODIlMjAyLjcyNjUtMS4yMjM3JTIwMi43MjY1LTIuOTgxMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzQyODVmNCUyMiUyMGQlM0QlMjJNNTEuMjAzJTIwMTAuNDM1N3Y4LjgzNjZjMCUyMDMuNjM4Mi0yLjE0MzUlMjA1LjEyNDYtNC42ODExJTIwNS4xMjQ2LTIuMzg5OSUyMDAtMy44MTg4LTEuNjAxNC00LjM2MDktMi45MDcybDEuODgwNy0uNzgwMmMuMzM2Ny44MDQ4JTIwMS4xNTglMjAxLjc0OTMlMjAyLjQ4MDIlMjAxLjc0OTMlMjAxLjYyNiUyMDAlMjAyLjYyOC0xLjAxMDElMjAyLjYyOC0yLjg5MDh2LS43MDYzaC0uMDc0Yy0uNDg0NS41OTk1LTEuNDIwNyUyMDEuMTE2OS0yLjU5NTElMjAxLjExNjktMi40NjM3JTIwMC00LjcxNC0yLjE0MzQtNC43MTQtNC45MDI4JTIwMC0yLjc3NTglMjAyLjI1ODUtNC45NDM5JTIwNC43MTQtNC45NDM5JTIwMS4xNzQ0JTIwMCUyMDIuMTEwNi41MjU2JTIwMi41OTUxJTIwMS4xMDA0aC4wNzR2LS43OTY2em0tMS45MDUzJTIwNC42NDgzYzAtMS43MzI4LTEuMTU4LTMuMDA1OC0yLjYyOC0zLjAwNTgtMS40OTQ3JTIwMC0yLjc0MyUyMDEuMjY0Ny0yLjc0MyUyMDMuMDA1OCUyMDAlMjAxLjcxNjQlMjAxLjI0ODMlMjAyLjk2NDclMjAyLjc0MyUyMDIuOTY0NyUyMDEuNDclMjAwJTIwMi42MjgtMS4yNDgzJTIwMi42MjgtMi45NjQ3JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzRhODUzJTIyJTIwZCUzRCUyMk01NC45ODg3JTIwNS4yMjA4M1YxOS42OTEyaC0yLjE1OTlWNS4yMjA4M3olMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlOTQyMzUlMjIlMjBkJTNEJTIybTYzLjQ5NjglMjAxNi42ODU0JTIwMS42NzU0JTIwMS4xMTY5Yy0uNTQyMS44MDQ5LTEuODQ3OCUyMDIuMTg0Ni00LjEwNjMlMjAyLjE4NDYtMi44MDA0JTIwMC00LjgxMjUtMi4xNTk5LTQuODEyNS00LjkxOTMlMjAwLTIuOTIzNyUyMDIuMDM2Ny00LjkxOTMlMjA0LjU3NDQtNC45MTkzJTIwMi41NTQlMjAwJTIwMy44MDIzJTIwMi4wMjg1JTIwNC4yMTMlMjAzLjEyOWwuMjIxNy41NTg0LTYuNTc4MiUyMDIuNzI2NmMuNTAxLjk4NTUlMjAxLjI4OTQlMjAxLjQ5NDYlMjAyLjM4OTglMjAxLjQ5NDYlMjAxLjEwMDUlMjAwJTIwMS44NjQzLS41NTAyJTIwMi40MjI3LTEuMzcxNW0tNS4xNjU2LTEuNzczOSUyMDQuNDAxOS0xLjgyMzFjLS4yNDY0LS42MTYtLjk2OTEtMS4wNDMtMS44MzE0LTEuMDQzLTEuMTAwNSUyMDAtMi42MjguOTY5MS0yLjU3MDUlMjAyLjg2NjElMjIvJTNFJTNDL3N2ZyUzRSIsCiJnb29nbGVfbG9nb19kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDY5JTIwMjklMjIlM0UlM0NnJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHN0cm9rZSUzRCUyMiUyM2ZmZiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuNSUyMiUyMG9wYWNpdHklM0QlMjIuOSUyMiUzRSUzQ3BhdGglMjBkJTNEJTIybTE3LjQ3MDYlMjA3LjMzNjE2LjU0MTItLjU0MTEyLS41NTE5LS41MzAxMWMtMS4zNjM2LTEuMzA5NzQtMy4yMDE3LTIuMzE5NzEtNS43NTkxLTIuMzE5NzEtNC42MTM3JTIwMC04LjUwMjYyJTIwMy43NTUxNy04LjUwMjYyJTIwOC4zOTU3OCUyMDAlMjA0LjY0MDclMjAzLjg4ODkyJTIwOC4zOTU4JTIwOC41MDI2MiUyMDguMzk1OCUyMDIuNDcwNCUyMDAlMjA0LjM3NjUtLjgxODglMjA1Ljg3MzItMi4zNjc5JTIwMS41Njk1LTEuNTcyOSUyMDIuMDIxNi0zLjczNjMlMjAyLjAyMTYtNS40MTE5JTIwMC0uNTIzMi0uMDQ0LTEuMDI1NC0uMTI5NS0xLjQ1MjlsLS4xMjA2LS42MDI5aC04LjM5NDd2My41OTQyaDQuODMwMWMtLjE3MjQuNTk2Ni0uNDMyMSUyMDEuMDI4Ni0uNzQ5MSUyMDEuMzQ2MS0uNjI4OC42MjE0LTEuNTgyMyUyMDEuMzA5NC0zLjMzMSUyMDEuMzA5NC0yLjY1MjQ1JTIwMC00LjczNTk4LTIuMTMxMi00LjczNTk4LTQuODA5OSUyMDAtMi42Nzg2MSUyMDIuMDgzNTMtNC44MDk4MSUyMDQuNzM1OTgtNC44MDk4MSUyMDEuNDM2MiUyMDAlMjAyLjQ3NTIuNTYwNyUyMDMuMjU3JTIwMS4yOTIyOWwuNTI5OC40OTU3NC41MTMtLjUxMzAzeiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0yNC44NjU2JTIwMjAuNzI4NmMzLjA4OSUyMDAlMjA1LjYwMzYtMi40MTkyJTIwNS42MDM2LTUuNjY5MiUyMDAtMy4yNjgxLTIuNTE2Mi01LjY2OTMxLTUuNjAzNi01LjY2OTMxLTMuMDg3MyUyMDAtNS42MDM1JTIwMi40MDEyMS01LjYwMzUlMjA1LjY2OTMxJTIwMCUyMDMuMjUlMjAyLjUxNDUlMjA1LjY2OTIlMjA1LjYwMzUlMjA1LjY2OTJabTAtNy45MDA0YzEuMDE0JTIwMCUyMDEuOTc2Ni44MzclMjAxLjk3NjYlMjAyLjIzMTIlMjAwJTIwMS4zODA1LS45NjUzJTIwMi4yMzExLTEuOTc2NiUyMDIuMjMxMS0xLjAwOTklMjAwLTEuOTc2NS0uODU3NC0xLjk3NjUtMi4yMzExJTIwMC0xLjM4NzQuOTYzOS0yLjIzMTIlMjAxLjk3NjUtMi4yMzEyWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0zNS43NTExJTIwMTcuMjkwNWgtLjAwNDJjLTEuMDA5OSUyMDAtMS45NzY2LS44NTc0LTEuOTc2Ni0yLjIzMTElMjAwLTEuMzg3NC45NjQtMi4yMzEyJTIwMS45NzY2LTIuMjMxMiUyMDEuMDEzOSUyMDAlMjAxLjk3NjUuODM3JTIwMS45NzY1JTIwMi4yMzEyJTIwMCUyMDEuMzg0NS0uOTY4JTIwMi4yMzY3LTEuOTcyMyUyMDIuMjMxMVptLS4wMTI0JTIwMy40MzgxYzMuMDg5JTIwMCUyMDUuNjAzNS0yLjQxOTIlMjA1LjYwMzUtNS42NjkyJTIwMC0zLjI2ODEtMi41MTYyLTUuNjY5MzEtNS42MDM1LTUuNjY5MzEtMy4wODc0JTIwMC01LjYwMzYlMjAyLjQwMTIxLTUuNjAzNiUyMDUuNjY5MzElMjAwJTIwMy4yNTA4JTIwMi41MjM2JTIwNS42NjkyJTIwNS42MDM2JTIwNS42NjkyWiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk01MS45NTMlMjAxMC40MzU3di0uNzQ5OTdoLTMuNTUzMXYuMTIyNTNjLS41NS0uMjYxNzgtMS4yMDIyLS40MjYzOS0xLjkxOTEtLjQyNjM5LTIuODgzNyUyMDAtNS40NjQlMjAyLjUxNzkzLTUuNDY0JTIwNS42OTM5MyUyMDAlMjAyLjEyNjklMjAxLjE2NCUyMDMuOTQ3OSUyMDIuODAzMyUyMDQuOTEzN2wtLjA2NTguMDI3My0xLjg4MDYuNzgwMi0uNjkyOS4yODc0LjI4NzYuNjkyOGMuNjIyOCUyMDEuNTAwNCUyMDIuMjc3NiUyMDMuMzY5NyUyMDUuMDUzNSUyMDMuMzY5NyUyMDEuNDEwNSUyMDAlMjAyLjc4Ny0uNDE0NSUyMDMuODE0LTEuNDA5MyUyMDEuMDMzMi0xLjAwMDklMjAxLjYxNzEtMi40OTY1JTIwMS42MTcxLTQuNDY1M3ptLTcuMjE5NCUyMDkuOTg0NC0uMDAwMi0uMDAwNWMuNTU1Mi4yMDA1JTIwMS4xNDQ2LjMwOSUyMDEuNzQ3NC4zMDkuNjgwOCUyMDAlMjAxLjMwNTgtLjE0NjclMjAxLjg0MS0uMzg5MS0uMDg3Ni4zODkxLS4yNDE3LjY3MS0uNDI1Mi44NjgyLS4yODEyLjMwMjItLjcyMDIuNTAxMS0xLjM3NDcuNTAxMS0uOTExOTAwMDAwMDAwMDElMjAwLTEuNTIwMS0uNjQ3Ni0xLjc4ODMtMS4yODg3Wm0xLjkzNjEtNy41OTE5Yy45NzIyJTIwMCUyMDEuODc4Ljg0ODMlMjAxLjg3OCUyMDIuMjU1OCUyMDAlMjAxLjM3OTYtLjg5NTYlMjAyLjIxNDctMS44NzglMjAyLjIxNDctMS4wNDI4JTIwMC0xLjk5My0uODczOC0xLjk5My0yLjIxNDclMjAwLTEuMzc1NC45NTk1LTIuMjU1OCUyMDEuOTkzLTIuMjU1OFptOS4wNjktNy42MDczOXYtLjc1aC0zLjY1OTlWMjAuNDQxMmgzLjY1OTl6JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIybTYzLjkxMjglMjAxNi4wNjE0LS42MTgzLS40MTIyLS40MTc5LjYxNDVjLS40NTYyLjY3MDktMS4wMTAyJTIwMS4wNDMyLTEuODAyNSUyMDEuMDQzMi0uNDMwNiUyMDAtLjc1OTUtLjA5ODEtMS4wMTk3LS4yNjIyLS4wNy0uMDQ0MS0uMTM4My0uMDk1MS0uMjA0Ni0uMTUzNmw1LjY5OTktMi4zNjI1LjY4MjUtLjI4M0w2NS45NTk2JTIwMTMuNTU4OWwtLjIxOS0uNTUxNGMtLjQ1MjgtMS4yMDc1LTEuODg5OS0zLjYwOTE4LTQuOTEyOC0zLjYwOTE4LTIuOTgzMyUyMDAtNS4zMjQ0JTIwMi4zNjM1OC01LjMyNDQlMjA1LjY2OTI4JTIwMCUyMDMuMTQ3NSUyMDIuMzIyMiUyMDUuNjY5MyUyMDUuNTYyNSUyMDUuNjY5MyUyMDIuNjA0MyUyMDAlMjA0LjExMTEtMS41OTkxJTIwNC43MjgzLTIuNTE1NmwuNDIxLS42MjVMNjUuNTg4MiUyMDE3LjE3ODN6bS0yLjU2NjctMy4yMTAzLTEuOTM1My44MDE1Yy4zNzk1LS41NzQzJTIwMS4wMTA3LS44NTcyJTIwMS40OTA5LS44NTcyLjE2NTMlMjAwJTIwLjMxMzYuMDIwNy40NDQ0LjA1NTdaJTIyLyUzRSUzQy9nJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzYzQwNDMlMjIlMjBkJTNEJTIyTTExLjcwMDglMjAxOS45ODY4Yy00LjIxMzA0JTIwMC03Ljc1MjYyLTMuNDMyOC03Ljc1MjYyLTcuNjQ1OCUyMDAtNC4yMTI5NyUyMDMuNTM5NTgtNy42NDU3OCUyMDcuNzUyNjItNy42NDU3OCUyMDIuMzMyMyUyMDAlMjAzLjk5MTIuOTExNTklMjA1LjIzOTUlMjAyLjExMDYxbC0xLjQ3JTIwMS40NzAwM2MtLjg5NTItLjgzNzY3LTIuMTEwNi0xLjQ5NDY3LTMuNzY5NS0xLjQ5NDY3LTMuMDc5NzIlMjAwLTUuNDg1OTglMjAyLjQ4MDE2LTUuNDg1OTglMjA1LjU1OTgxJTIwMCUyMDMuMDc5NyUyMDIuNDA2MjYlMjA1LjU1OTklMjA1LjQ4NTk4JTIwNS41NTk5JTIwMS45OTU2JTIwMCUyMDMuMTI4OS0uODA0OCUyMDMuODU5OC0xLjUyNzUuNTk5NS0uNTk5Ni45ODU1LTEuNDUzNyUyMDEuMTMzMy0yLjYyOGgtNC45OTMxdi0yLjA5NDJoNy4wMjk4Yy4wNzM5LjM2OTUuMTE1LjgyMTIuMTE1JTIwMS4zMDU4JTIwMCUyMDEuNTY4NS0uNDI3JTIwMy41MDY3LTEuODA2NyUyMDQuODg2NC0xLjM0NjklMjAxLjM5NjEtMy4wNTUxJTIwMi4xNDM0LTUuMzM4MSUyMDIuMTQzNG0xOC4wMTg0LTQuOTI3NGMwJTIwMi44MzMzLTIuMTc2MyUyMDQuOTE5Mi00Ljg1MzYlMjA0LjkxOTItMi42NzcyJTIwMC00Ljg1MzUtMi4wODU5LTQuODUzNS00LjkxOTIlMjAwLTIuODQ5OCUyMDIuMTc2My00LjkxOTMlMjA0Ljg1MzUtNC45MTkzJTIwMi42NzczJTIwMCUyMDQuODUzNiUyMDIuMDY5NSUyMDQuODUzNiUyMDQuOTE5M20tMi4xMjclMjAwYzAtMS43NzM5LTEuMjY0OC0yLjk4MTItMi43MjY2LTIuOTgxMnMtMi43MjY1JTIwMS4yMTU1LTIuNzI2NSUyMDIuOTgxMmMwJTIwMS43NDkyJTIwMS4yNjQ3JTIwMi45ODExJTIwMi43MjY1JTIwMi45ODExczIuNzI2Ni0xLjIyMzclMjAyLjcyNjYtMi45ODExbTEzJTIwMGMwJTIwMi44MzMzLTIuMTc2MyUyMDQuOTE5Mi00Ljg1MzUlMjA0LjkxOTItMi42NjkxJTIwMC00Ljg1MzYtMi4wODU5LTQuODUzNi00LjkxOTIlMjAwLTIuODQ5OCUyMDIuMTc2My00LjkxOTMlMjA0Ljg1MzYtNC45MTkzJTIwMi42NzcyJTIwMCUyMDQuODUzNSUyMDIuMDY5NSUyMDQuODUzNSUyMDQuOTE5M20tMi4xMTg4JTIwMGMwLTEuNzczOS0xLjI2NDctMi45ODEyLTIuNzI2NS0yLjk4MTJzLTIuNzI2NiUyMDEuMjE1NS0yLjcyNjYlMjAyLjk4MTJjMCUyMDEuNzQ5MiUyMDEuMjY0OCUyMDIuOTgxMSUyMDIuNzI2NiUyMDIuOTgxMSUyMDEuNDYxOC4wMDgyJTIwMi43MjY1LTEuMjIzNyUyMDIuNzI2NS0yLjk4MTFtMTIuNzI5Ni00LjYyMzd2OC44MzY2YzAlMjAzLjYzODItMi4xNDM1JTIwNS4xMjQ2LTQuNjgxMSUyMDUuMTI0Ni0yLjM4OTklMjAwLTMuODE4OC0xLjYwMTQtNC4zNjA5LTIuOTA3MmwxLjg4MDctLjc4MDJjLjMzNjcuODA0OCUyMDEuMTU4JTIwMS43NDkzJTIwMi40ODAyJTIwMS43NDkzJTIwMS42MjYlMjAwJTIwMi42MjgtMS4wMTAxJTIwMi42MjgtMi44OTA4di0uNzA2M2gtLjA3NGMtLjQ4NDUuNTk5NS0xLjQyMDclMjAxLjExNjktMi41OTUxJTIwMS4xMTY5LTIuNDYzNyUyMDAtNC43MTQtMi4xNDM0LTQuNzE0LTQuOTAyOCUyMDAtMi43NzU4JTIwMi4yNTg1LTQuOTQzOSUyMDQuNzE0LTQuOTQzOSUyMDEuMTc0NCUyMDAlMjAyLjExMDYuNTI1NiUyMDIuNTk1MSUyMDEuMTAwNGguMDc0di0uNzk2NnptLTEuOTA1MyUyMDQuNjQ4M2MwLTEuNzMyOC0xLjE1OC0zLjAwNTgtMi42MjgtMy4wMDU4LTEuNDk0NyUyMDAtMi43NDMlMjAxLjI2NDctMi43NDMlMjAzLjAwNTglMjAwJTIwMS43MTY0JTIwMS4yNDgzJTIwMi45NjQ3JTIwMi43NDMlMjAyLjk2NDclMjAxLjQ3JTIwMCUyMDIuNjI4LTEuMjQ4MyUyMDIuNjI4LTIuOTY0N201LjY5MS05Ljg2MzE5VjE5LjY5MTJoLTIuMTU5OVY1LjIyMDgxem04LjUwODElMjAxMS40NjQ1OSUyMDEuNjc1NCUyMDEuMTE2OWMtLjU0MjEuODA0OS0xLjg0NzglMjAyLjE4NDYtNC4xMDYzJTIwMi4xODQ2LTIuODAwNCUyMDAtNC44MTI1LTIuMTU5OS00LjgxMjUtNC45MTkzJTIwMC0yLjkyMzclMjAyLjAzNjctNC45MTkzJTIwNC41NzQ0LTQuOTE5MyUyMDIuNTU0JTIwMCUyMDMuODAyMyUyMDIuMDI4NSUyMDQuMjEzJTIwMy4xMjlsLjIyMTcuNTU4NC02LjU3ODIlMjAyLjcyNjZjLjUwMS45ODU1JTIwMS4yODk0JTIwMS40OTQ2JTIwMi4zODk4JTIwMS40OTQ2JTIwMS4xMDA1JTIwMCUyMDEuODY0My0uNTUwMiUyMDIuNDIyNy0xLjM3MTVtLTUuMTY1Ni0xLjc3MzklMjA0LjQwMTktMS44MjMxYy0uMjQ2NC0uNjE2LS45NjkxLTEuMDQzLTEuODMxNC0xLjA0My0xLjEwMDUlMjAwLTIuNjI4Ljk2OTEtMi41NzA1JTIwMi44NjYxJTIyLyUzRSUzQy9zdmclM0UiLAoiZ29vZ2xlX2xvZ29fd2hpdGUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjklMjAyOSUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzNDc0NzQ3JTIyJTIwc3Ryb2tlJTNEJTIyJTIzNDc0NzQ3JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS41JTIyJTIwb3BhY2l0eSUzRCUyMi45JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJtMTcuNDcwNiUyMDcuMzM2MTYuNTQxMi0uNTQxMTItLjU1MTktLjUzMDExYy0xLjM2MzYtMS4zMDk3NC0zLjIwMTctMi4zMTk3MS01Ljc1OTEtMi4zMTk3MS00LjYxMzclMjAwLTguNTAyNjIlMjAzLjc1NTE3LTguNTAyNjIlMjA4LjM5NTc4JTIwMCUyMDQuNjQwNyUyMDMuODg4OTIlMjA4LjM5NTglMjA4LjUwMjYyJTIwOC4zOTU4JTIwMi40NzA0JTIwMCUyMDQuMzc2NS0uODE4OCUyMDUuODczMi0yLjM2NzklMjAxLjU2OTUtMS41NzI5JTIwMi4wMjE2LTMuNzM2MyUyMDIuMDIxNi01LjQxMTklMjAwLS41MjMyLS4wNDQtMS4wMjU0LS4xMjk1LTEuNDUyOWwtLjEyMDYtLjYwMjloLTguMzk0N3YzLjU5NDJoNC44MzAxYy0uMTcyNC41OTY2LS40MzIxJTIwMS4wMjg2LS43NDkxJTIwMS4zNDYxLS42Mjg4LjYyMTQtMS41ODIzJTIwMS4zMDk0LTMuMzMxJTIwMS4zMDk0LTIuNjUyNDUlMjAwLTQuNzM1OTgtMi4xMzEyLTQuNzM1OTgtNC44MDk5JTIwMC0yLjY3ODYxJTIwMi4wODM1My00LjgwOTgxJTIwNC43MzU5OC00LjgwOTgxJTIwMS40MzYyJTIwMCUyMDIuNDc1Mi41NjA3JTIwMy4yNTclMjAxLjI5MjI5bC41Mjk4LjQ5NTc0LjUxMy0uNTEzMDN6JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTI0Ljg2NTYlMjAyMC43Mjg2YzMuMDg5JTIwMCUyMDUuNjAzNi0yLjQxOTIlMjA1LjYwMzYtNS42NjkyJTIwMC0zLjI2ODEtMi41MTYyLTUuNjY5MzEtNS42MDM2LTUuNjY5MzEtMy4wODczJTIwMC01LjYwMzUlMjAyLjQwMTIxLTUuNjAzNSUyMDUuNjY5MzElMjAwJTIwMy4yNSUyMDIuNTE0NSUyMDUuNjY5MiUyMDUuNjAzNSUyMDUuNjY5MlptMC03LjkwMDRjMS4wMTQlMjAwJTIwMS45NzY2LjgzNyUyMDEuOTc2NiUyMDIuMjMxMiUyMDAlMjAxLjM4MDUtLjk2NTMlMjAyLjIzMTEtMS45NzY2JTIwMi4yMzExLTEuMDA5OSUyMDAtMS45NzY1LS44NTc0LTEuOTc2NS0yLjIzMTElMjAwLTEuMzg3NC45NjM5LTIuMjMxMiUyMDEuOTc2NS0yLjIzMTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTM1Ljc1MTElMjAxNy4yOTA1aC0uMDA0MmMtMS4wMDk5JTIwMC0xLjk3NjYtLjg1NzQtMS45NzY2LTIuMjMxMSUyMDAtMS4zODc0Ljk2NC0yLjIzMTIlMjAxLjk3NjYtMi4yMzEyJTIwMS4wMTM5JTIwMCUyMDEuOTc2NS44MzclMjAxLjk3NjUlMjAyLjIzMTIlMjAwJTIwMS4zODQ1LS45NjglMjAyLjIzNjctMS45NzIzJTIwMi4yMzExWm0tLjAxMjQlMjAzLjQzODFjMy4wODklMjAwJTIwNS42MDM1LTIuNDE5MiUyMDUuNjAzNS01LjY2OTIlMjAwLTMuMjY4MS0yLjUxNjItNS42NjkzMS01LjYwMzUtNS42NjkzMS0zLjA4NzQlMjAwLTUuNjAzNiUyMDIuNDAxMjEtNS42MDM2JTIwNS42NjkzMSUyMDAlMjAzLjI1MDglMjAyLjUyMzYlMjA1LjY2OTIlMjA1LjYwMzYlMjA1LjY2OTJaJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTUxLjk1MyUyMDEwLjQzNTd2LS43NDk5N2gtMy41NTMxdi4xMjI1M2MtLjU1LS4yNjE3OC0xLjIwMjItLjQyNjM5LTEuOTE5MS0uNDI2MzktMi44ODM3JTIwMC01LjQ2NCUyMDIuNTE3OTMtNS40NjQlMjA1LjY5MzkzJTIwMCUyMDIuMTI2OSUyMDEuMTY0JTIwMy45NDc5JTIwMi44MDMzJTIwNC45MTM3bC0uMDY1OC4wMjczLTEuODgwNi43ODAyLS42OTI5LjI4NzQuMjg3Ni42OTI4Yy42MjI4JTIwMS41MDA0JTIwMi4yNzc2JTIwMy4zNjk3JTIwNS4wNTM1JTIwMy4zNjk3JTIwMS40MTA1JTIwMCUyMDIuNzg3LS40MTQ1JTIwMy44MTQtMS40MDkzJTIwMS4wMzMyLTEuMDAwOSUyMDEuNjE3MS0yLjQ5NjUlMjAxLjYxNzEtNC40NjUzem0tNy4yMTk0JTIwOS45ODQ0LS4wMDAyLS4wMDA1Yy41NTUyLjIwMDUlMjAxLjE0NDYuMzA5JTIwMS43NDc0LjMwOS42ODA4JTIwMCUyMDEuMzA1OC0uMTQ2NyUyMDEuODQxLS4zODkxLS4wODc2LjM4OTEtLjI0MTcuNjcxLS40MjUyLjg2ODItLjI4MTIuMzAyMi0uNzIwMi41MDExLTEuMzc0Ny41MDExLS45MTE5MDAwMDAwMDAwMSUyMDAtMS41MjAxLS42NDc2LTEuNzg4My0xLjI4ODdabTEuOTM2MS03LjU5MTljLjk3MjIlMjAwJTIwMS44NzguODQ4MyUyMDEuODc4JTIwMi4yNTU4JTIwMCUyMDEuMzc5Ni0uODk1NiUyMDIuMjE0Ny0xLjg3OCUyMDIuMjE0Ny0xLjA0MjglMjAwLTEuOTkzLS44NzM4LTEuOTkzLTIuMjE0NyUyMDAtMS4zNzU0Ljk1OTUtMi4yNTU4JTIwMS45OTMtMi4yNTU4Wm05LjA2OS03LjYwNzM5di0uNzVoLTMuNjU5OVYyMC40NDEyaDMuNjU5OXolMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtNjMuOTEyOCUyMDE2LjA2MTQtLjYxODMtLjQxMjItLjQxNzkuNjE0NWMtLjQ1NjIuNjcwOS0xLjAxMDIlMjAxLjA0MzItMS44MDI1JTIwMS4wNDMyLS40MzA2JTIwMC0uNzU5NS0uMDk4MS0xLjAxOTctLjI2MjItLjA3LS4wNDQxLS4xMzgzLS4wOTUxLS4yMDQ2LS4xNTM2bDUuNjk5OS0yLjM2MjUuNjgyNS0uMjgzTDY1Ljk1OTYlMjAxMy41NTg5bC0uMjE5LS41NTE0Yy0uNDUyOC0xLjIwNzUtMS44ODk5LTMuNjA5MTgtNC45MTI4LTMuNjA5MTgtMi45ODMzJTIwMC01LjMyNDQlMjAyLjM2MzU4LTUuMzI0NCUyMDUuNjY5MjglMjAwJTIwMy4xNDc1JTIwMi4zMjIyJTIwNS42NjkzJTIwNS41NjI1JTIwNS42NjkzJTIwMi42MDQzJTIwMCUyMDQuMTExMS0xLjU5OTElMjA0LjcyODMtMi41MTU2bC40MjEtLjYyNUw2NS41ODgyJTIwMTcuMTc4M3ptLTIuNTY2Ny0zLjIxMDMtMS45MzUzLjgwMTVjLjM3OTUtLjU3NDMlMjAxLjAxMDctLjg1NzIlMjAxLjQ5MDktLjg1NzIuMTY1MyUyMDAlMjAuMzEzNi4wMjA3LjQ0NDQuMDU1N1olMjIvJTNFJTNDL2clM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMTEuNzAwOCUyMDE5Ljk4NjhjLTQuMjEzMDQlMjAwLTcuNzUyNjItMy40MzI4LTcuNzUyNjItNy42NDU4JTIwMC00LjIxMjk3JTIwMy41Mzk1OC03LjY0NTc4JTIwNy43NTI2Mi03LjY0NTc4JTIwMi4zMzIzJTIwMCUyMDMuOTkxMi45MTE1OSUyMDUuMjM5NSUyMDIuMTEwNjFsLTEuNDclMjAxLjQ3MDAzYy0uODk1Mi0uODM3NjctMi4xMTA2LTEuNDk0NjctMy43Njk1LTEuNDk0NjctMy4wNzk3MiUyMDAtNS40ODU5OCUyMDIuNDgwMTYtNS40ODU5OCUyMDUuNTU5ODElMjAwJTIwMy4wNzk3JTIwMi40MDYyNiUyMDUuNTU5OSUyMDUuNDg1OTglMjA1LjU1OTklMjAxLjk5NTYlMjAwJTIwMy4xMjg5LS44MDQ4JTIwMy44NTk4LTEuNTI3NS41OTk1LS41OTk2Ljk4NTUtMS40NTM3JTIwMS4xMzMzLTIuNjI4aC00Ljk5MzF2LTIuMDk0Mmg3LjAyOThjLjA3MzkuMzY5NS4xMTUuODIxMi4xMTUlMjAxLjMwNTglMjAwJTIwMS41Njg1LS40MjclMjAzLjUwNjctMS44MDY3JTIwNC44ODY0LTEuMzQ2OSUyMDEuMzk2MS0zLjA1NTElMjAyLjE0MzQtNS4zMzgxJTIwMi4xNDM0bTE4LjAxODQtNC45Mjc0YzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNiUyMDQuOTE5Mi0yLjY3NzIlMjAwLTQuODUzNS0yLjA4NTktNC44NTM1LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNS00LjkxOTMlMjAyLjY3NzMlMjAwJTIwNC44NTM2JTIwMi4wNjk1JTIwNC44NTM2JTIwNC45MTkzbS0yLjEyNyUyMDBjMC0xLjc3MzktMS4yNjQ4LTIuOTgxMi0yLjcyNjYtMi45ODEycy0yLjcyNjUlMjAxLjIxNTUtMi43MjY1JTIwMi45ODEyYzAlMjAxLjc0OTIlMjAxLjI2NDclMjAyLjk4MTElMjAyLjcyNjUlMjAyLjk4MTFzMi43MjY2LTEuMjIzNyUyMDIuNzI2Ni0yLjk4MTFtMTMlMjAwYzAlMjAyLjgzMzMtMi4xNzYzJTIwNC45MTkyLTQuODUzNSUyMDQuOTE5Mi0yLjY2OTElMjAwLTQuODUzNi0yLjA4NTktNC44NTM2LTQuOTE5MiUyMDAtMi44NDk4JTIwMi4xNzYzLTQuOTE5MyUyMDQuODUzNi00LjkxOTMlMjAyLjY3NzIlMjAwJTIwNC44NTM1JTIwMi4wNjk1JTIwNC44NTM1JTIwNC45MTkzbS0yLjExODglMjAwYzAtMS43NzM5LTEuMjY0Ny0yLjk4MTItMi43MjY1LTIuOTgxMnMtMi43MjY2JTIwMS4yMTU1LTIuNzI2NiUyMDIuOTgxMmMwJTIwMS43NDkyJTIwMS4yNjQ4JTIwMi45ODExJTIwMi43MjY2JTIwMi45ODExJTIwMS40NjE4LjAwODIlMjAyLjcyNjUtMS4yMjM3JTIwMi43MjY1LTIuOTgxMW0xMi43Mjk2LTQuNjIzN3Y4LjgzNjZjMCUyMDMuNjM4Mi0yLjE0MzUlMjA1LjEyNDYtNC42ODExJTIwNS4xMjQ2LTIuMzg5OSUyMDAtMy44MTg4LTEuNjAxNC00LjM2MDktMi45MDcybDEuODgwNy0uNzgwMmMuMzM2Ny44MDQ4JTIwMS4xNTglMjAxLjc0OTMlMjAyLjQ4MDIlMjAxLjc0OTMlMjAxLjYyNiUyMDAlMjAyLjYyOC0xLjAxMDElMjAyLjYyOC0yLjg5MDh2LS43MDYzaC0uMDc0Yy0uNDg0NS41OTk1LTEuNDIwNyUyMDEuMTE2OS0yLjU5NTElMjAxLjExNjktMi40NjM3JTIwMC00LjcxNC0yLjE0MzQtNC43MTQtNC45MDI4JTIwMC0yLjc3NTglMjAyLjI1ODUtNC45NDM5JTIwNC43MTQtNC45NDM5JTIwMS4xNzQ0JTIwMCUyMDIuMTEwNi41MjU2JTIwMi41OTUxJTIwMS4xMDA0aC4wNzR2LS43OTY2em0tMS45MDUzJTIwNC42NDgzYzAtMS43MzI4LTEuMTU4LTMuMDA1OC0yLjYyOC0zLjAwNTgtMS40OTQ3JTIwMC0yLjc0MyUyMDEuMjY0Ny0yLjc0MyUyMDMuMDA1OCUyMDAlMjAxLjcxNjQlMjAxLjI0ODMlMjAyLjk2NDclMjAyLjc0MyUyMDIuOTY0NyUyMDEuNDclMjAwJTIwMi42MjgtMS4yNDgzJTIwMi42MjgtMi45NjQ3bTUuNjkxLTkuODYzMTlWMTkuNjkxMmgtMi4xNTk5VjUuMjIwODF6bTguNTA4MSUyMDExLjQ2NDU5JTIwMS42NzU0JTIwMS4xMTY5Yy0uNTQyMS44MDQ5LTEuODQ3OCUyMDIuMTg0Ni00LjEwNjMlMjAyLjE4NDYtMi44MDA0JTIwMC00LjgxMjUtMi4xNTk5LTQuODEyNS00LjkxOTMlMjAwLTIuOTIzNyUyMDIuMDM2Ny00LjkxOTMlMjA0LjU3NDQtNC45MTkzJTIwMi41NTQlMjAwJTIwMy44MDIzJTIwMi4wMjg1JTIwNC4yMTMlMjAzLjEyOWwuMjIxNy41NTg0LTYuNTc4MiUyMDIuNzI2NmMuNTAxLjk4NTUlMjAxLjI4OTQlMjAxLjQ5NDYlMjAyLjM4OTglMjAxLjQ5NDYlMjAxLjEwMDUlMjAwJTIwMS44NjQzLS41NTAyJTIwMi40MjI3LTEuMzcxNW0tNS4xNjU2LTEuNzczOSUyMDQuNDAxOS0xLjgyMzFjLS4yNDY0LS42MTYtLjk2OTEtMS4wNDMtMS44MzE0LTEuMDQzLTEuMTAwNSUyMDAtMi42MjguOTY5MS0yLjU3MDUlMjAyLjg2NjElMjIvJTNFJTNDL3N2ZyUzRSIsCiJrZXlib2FyZF9pY29uLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNjNDA0MyUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBkJTNEJTIyTTEuNSUyMDBDLjY3MTU3MyUyMDAlMjAwJTIwLjY3MTU3MyUyMDAlMjAxLjV2N0MwJTIwOS4zMjg0My42NzE1NzMlMjAxMCUyMDEuNSUyMDEwaDEzYy44Mjg0JTIwMCUyMDEuNS0uNjcxNTclMjAxLjUtMS41di03YzAtLjgyODQyNy0uNjcxNi0xLjUtMS41LTEuNXpNNSUyMDdjLS41NTIyOCUyMDAtMSUyMC40NDc3Mi0xJTIwMSUyMDAlMjAuNTUyMjkuNDQ3NzIlMjAxJTIwMSUyMDFoNmMuNTUyMyUyMDAlMjAxLS40NDc3MSUyMDEtMSUyMDAtLjU1MjI4LS40NDc3LTEtMS0xek0xJTIwNC4yNWMwLS4xMzgwNy4xMTE5My0uMjUuMjUtLjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LjExMTkzLjI1LjI1djEuNWMwJTIwLjEzODA3LS4xMTE5My4yNS0uMjUuMjVIMS41Yy0uMjc2MTQlMjAwLS41LS4yMjM4Ni0uNS0uNXpNMS41JTIwMWMtLjI3NjE0JTIwMC0uNS4yMjM4Ni0uNS41djEuMjVjMCUyMC4xMzgwNy4xMTE5My4yNS4yNS4yNWgxLjVjLjEzODA3JTIwMCUyMC4yNS0uMTExOTMuMjUtLjI1di0xLjVDMyUyMDEuMTExOTMlMjAyLjg4ODA3JTIwMSUyMDIuNzUlMjAxek00JTIwNC4yNWMwLS4xMzgwNy4xMTE5My0uMjUuMjUtLjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LjExMTkzLjI1LjI1djEuNWMwJTIwLjEzODA3LS4xMTE5My4yNS0uMjUuMjVoLTEuNUM0LjExMTkzJTIwNiUyMDQlMjA1Ljg4ODA3JTIwNCUyMDUuNzV6TTQuMjUlMjAxYy0uMTM4MDclMjAwLS4yNS4xMTE5My0uMjUuMjV2MS41YzAlMjAuMTM4MDcuMTExOTMuMjUuMjUuMjVoMS41Yy4xMzgwNyUyMDAlMjAuMjUtLjExMTkzLjI1LS4yNXYtMS41QzYlMjAxLjExMTkzJTIwNS44ODgwNyUyMDElMjA1Ljc1JTIwMXpNNyUyMDQuMjVjMC0uMTM4MDcuMTExOTMtLjI1LjI1LS4yNWgxLjVjLjEzODA3JTIwMCUyMC4yNS4xMTE5My4yNS4yNXYxLjVjMCUyMC4xMzgwNy0uMTExOTMuMjUtLjI1LjI1aC0xLjVDNy4xMTE5MyUyMDYlMjA3JTIwNS44ODgwNyUyMDclMjA1Ljc1ek03LjI1JTIwMWMtLjEzODA3JTIwMC0uMjUuMTExOTMtLjI1LjI1djEuNWMwJTIwLjEzODA3LjExMTkzLjI1LjI1LjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LS4xMTE5My4yNS0uMjV2LTEuNUM5JTIwMS4xMTE5MyUyMDguODg4MDclMjAxJTIwOC43NSUyMDF6TTEwJTIwNC4yNWMwLS4xMzgwNy4xMTE5LS4yNS4yNS0uMjVoMS41Yy4xMzgxJTIwMCUyMC4yNS4xMTE5My4yNS4yNXYxLjVjMCUyMC4xMzgwNy0uMTExOS4yNS0uMjUuMjVoLTEuNWMtLjEzODElMjAwLS4yNS0uMTExOTMtLjI1LS4yNXpNMTAuMjUlMjAxYy0uMTM4MSUyMDAtLjI1LjExMTkzLS4yNS4yNXYxLjVjMCUyMC4xMzgwNy4xMTE5LjI1LjI1LjI1aDEuNWMuMTM4MSUyMDAlMjAuMjUtLjExMTkzLjI1LS4yNXYtMS41YzAtLjEzODA3LS4xMTE5LS4yNS0uMjUtLjI1ek0xMyUyMDQuMjVjMC0uMTM4MDcuMTExOS0uMjUuMjUtLjI1aDEuNWMuMTM4MSUyMDAlMjAuMjUuMTExOTMuMjUuMjVWNS41YzAlMjAuMjc2MTQtLjIyMzkuNS0uNS41aC0xLjI1Yy0uMTM4MSUyMDAtLjI1LS4xMTE5My0uMjUtLjI1ek0xMy4yNSUyMDFjLS4xMzgxJTIwMC0uMjUuMTExOTMtLjI1LjI1djEuNWMwJTIwLjEzODA3LjExMTkuMjUuMjUuMjVoMS41Yy4xMzgxJTIwMCUyMC4yNS0uMTExOTMuMjUtLjI1VjEuNWMwLS4yNzYxNC0uMjIzOS0uNS0uNS0uNXolMjIlMjBjbGlwLXJ1bGUlM0QlMjJldmVub2RkJTIyLyUzRSUzQy9zdmclM0UiLAoia2V5Ym9hcmRfaWNvbl9kYXJrLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBkJTNEJTIyTTEuNSUyMDBDLjY3MTU3MyUyMDAlMjAwJTIwLjY3MTU3MyUyMDAlMjAxLjV2N0MwJTIwOS4zMjg0My42NzE1NzMlMjAxMCUyMDEuNSUyMDEwaDEzYy44Mjg0JTIwMCUyMDEuNS0uNjcxNTclMjAxLjUtMS41di03YzAtLjgyODQyNy0uNjcxNi0xLjUtMS41LTEuNXpNNSUyMDdjLS41NTIyOCUyMDAtMSUyMC40NDc3Mi0xJTIwMSUyMDAlMjAuNTUyMjkuNDQ3NzIlMjAxJTIwMSUyMDFoNmMuNTUyMyUyMDAlMjAxLS40NDc3MSUyMDEtMSUyMDAtLjU1MjI4LS40NDc3LTEtMS0xek0xJTIwNC4yNWMwLS4xMzgwNy4xMTE5My0uMjUuMjUtLjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LjExMTkzLjI1LjI1djEuNWMwJTIwLjEzODA3LS4xMTE5My4yNS0uMjUuMjVIMS41Yy0uMjc2MTQlMjAwLS41LS4yMjM4Ni0uNS0uNXpNMS41JTIwMWMtLjI3NjE0JTIwMC0uNS4yMjM4Ni0uNS41djEuMjVjMCUyMC4xMzgwNy4xMTE5My4yNS4yNS4yNWgxLjVjLjEzODA3JTIwMCUyMC4yNS0uMTExOTMuMjUtLjI1di0xLjVDMyUyMDEuMTExOTMlMjAyLjg4ODA3JTIwMSUyMDIuNzUlMjAxek00JTIwNC4yNWMwLS4xMzgwNy4xMTE5My0uMjUuMjUtLjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LjExMTkzLjI1LjI1djEuNWMwJTIwLjEzODA3LS4xMTE5My4yNS0uMjUuMjVoLTEuNUM0LjExMTkzJTIwNiUyMDQlMjA1Ljg4ODA3JTIwNCUyMDUuNzV6TTQuMjUlMjAxYy0uMTM4MDclMjAwLS4yNS4xMTE5My0uMjUuMjV2MS41YzAlMjAuMTM4MDcuMTExOTMuMjUuMjUuMjVoMS41Yy4xMzgwNyUyMDAlMjAuMjUtLjExMTkzLjI1LS4yNXYtMS41QzYlMjAxLjExMTkzJTIwNS44ODgwNyUyMDElMjA1Ljc1JTIwMXpNNyUyMDQuMjVjMC0uMTM4MDcuMTExOTMtLjI1LjI1LS4yNWgxLjVjLjEzODA3JTIwMCUyMC4yNS4xMTE5My4yNS4yNXYxLjVjMCUyMC4xMzgwNy0uMTExOTMuMjUtLjI1LjI1aC0xLjVDNy4xMTE5MyUyMDYlMjA3JTIwNS44ODgwNyUyMDclMjA1Ljc1ek03LjI1JTIwMWMtLjEzODA3JTIwMC0uMjUuMTExOTMtLjI1LjI1djEuNWMwJTIwLjEzODA3LjExMTkzLjI1LjI1LjI1aDEuNWMuMTM4MDclMjAwJTIwLjI1LS4xMTE5My4yNS0uMjV2LTEuNUM5JTIwMS4xMTE5MyUyMDguODg4MDclMjAxJTIwOC43NSUyMDF6TTEwJTIwNC4yNWMwLS4xMzgwNy4xMTE5LS4yNS4yNS0uMjVoMS41Yy4xMzgxJTIwMCUyMC4yNS4xMTE5My4yNS4yNXYxLjVjMCUyMC4xMzgwNy0uMTExOS4yNS0uMjUuMjVoLTEuNWMtLjEzODElMjAwLS4yNS0uMTExOTMtLjI1LS4yNXpNMTAuMjUlMjAxYy0uMTM4MSUyMDAtLjI1LjExMTkzLS4yNS4yNXYxLjVjMCUyMC4xMzgwNy4xMTE5LjI1LjI1LjI1aDEuNWMuMTM4MSUyMDAlMjAuMjUtLjExMTkzLjI1LS4yNXYtMS41YzAtLjEzODA3LS4xMTE5LS4yNS0uMjUtLjI1ek0xMyUyMDQuMjVjMC0uMTM4MDcuMTExOS0uMjUuMjUtLjI1aDEuNWMuMTM4MSUyMDAlMjAuMjUuMTExOTMuMjUuMjVWNS41YzAlMjAuMjc2MTQtLjIyMzkuNS0uNS41aC0xLjI1Yy0uMTM4MSUyMDAtLjI1LS4xMTE5My0uMjUtLjI1ek0xMy4yNSUyMDFjLS4xMzgxJTIwMC0uMjUuMTExOTMtLjI1LjI1djEuNWMwJTIwLjEzODA3LjExMTkuMjUuMjUuMjVoMS41Yy4xMzgxJTIwMCUyMC4yNS0uMTExOTMuMjUtLjI1VjEuNWMwLS4yNzYxNC0uMjIzOS0uNS0uNS0uNXolMjIlMjBjbGlwLXJ1bGUlM0QlMjJldmVub2RkJTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF8wLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuNDglMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTM1LjE2JTIwNDAuMjVjLS4wNCUyMDAtLjA5LS4wMS0uMTMtLjAyLTEuMDYtLjI4LTQuMDQtMS4wMS01LjAzLTEuMDEtLjg4JTIwMC0zLjY2LjY0LTQuNjYuODktLjE5LjA1LS4zOC0uMDItLjUxLS4xNy0uMTItLjE1LS4xNS0uMzUtLjA3LS41M2w0Ljc3OTk5OTk5OTk5OTk4LTEwLjI0Yy4wOC0uMTcuMjUtLjI5LjQ1LS4yOS4xNCUyMDAlMjAuMzcuMTEuNDUuMjhsNS4xNTk5OTk5OTk5OTk5OSUyMDEwLjM3Yy4wOS4xOC4wNi4zOS0uMDYuNTQtLjA5LjEyLS4yNC4xOC0uMzguMThtLTUuMTU5OTk5OTk5OTk5OTgtMi4wM2MuOSUyMDAlMjAyLjk2LjQ3JTIwNC4yMi43OGwtNC4yMS04LjQ2LTMuOSUyMDguMzZjMS4xOS0uMjglMjAzLjA5LS42OCUyMDMuODktLjY4JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yNS4yMiUyMDM5LjYyczMuNjQtLjklMjA0Ljc4LS45YzEuMTYlMjAwJTIwNS4xNiUyMDEuMDMlMjA1LjE2JTIwMS4wM0wzMCUyMDI5LjM5eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfMS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjQ4JTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0zNC44MiUyMDQxLjRjLS4yMSUyMDAtLjM5LS4xMy0uNDctLjMyLS41OC0xLjU2LTEuNDItMy4wMi0xLjc5LTMuMTMtLjQyLS4xMy0yLjM5LjctNC4yMiUyMDEuNzctLjIxLjEyLS40OC4wOC0uNjMtLjExLS4xNi0uMTgtLjE2LS40NS0uMDEtLjY0TDM1LjklMjAyOWMuMTQtLjE3LjM4LS4yMy41OC0uMTRzLjMzLjMuMy41MmwtMS40NiUyMDExLjU5Yy0uMDMuMjMtLjIxLjQxLS40NC40My0uMDMtLjAxLS4wNSUyMDAtLjA2JTIwMG0tMi4zMS00LjQ2Yy4xMyUyMDAlMjAuMjQuMDEuMzQuMDQuNjIuMTklMjAxLjI0JTIwMS4xMyUyMDEuNyUyMDIuMDVsMS4wMi04LjA3LTUuNTQlMjA2Ljc0Yy45LS40MSUyMDEuODQtLjc2JTIwMi40OC0uNzYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTM0LjgyJTIwNDAuOXMtMS4wOS0zLjEyLTIuMTEtMy40My00LjYyJTIwMS44Mi00LjYyJTIwMS44Mmw4LjItOS45N3olMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkXzEwLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuNDglMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTE1Ljg2JTIwNDguNzRjLS4xOSUyMDAtLjM2LS4xMS0uNDUtLjI4LS4xLS4yMS0uMDUtLjQ2LjE0LS42MWw5LTcuMjRjLjEyLS4xLjI5LS4xNC40NS0uMDkuMTYuMDQuMjguMTYuMzMuMzElMjAwJTIwLjAxLjUlMjAxLjM3JTIwMS4yNSUyMDIuMDEuNjQuNTQlMjAzLjAxJTIwMS4yOCUyMDMuODclMjAxLjUxLjIyLjA2LjM3LjI2LjM3LjQ5cy0uMTYuNDItLjM5LjQ4bC0xNC40NSUyMDMuNGMtLjA1LjAxLS4wOC4wMi0uMTIuMDJtOC43OS02Ljk0LTYuNzYlMjA1LjQ0JTIwMTAuNTMtMi40OGMtLjk0LS4zMy0yLS43NS0yLjQ5LTEuMTYtLjU4LS40OS0xLjAyLTEuMjYtMS4yOC0xLjglMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTMwLjMxJTIwNDQuODNzLTMuMTktLjg4LTQuMDYtMS42MS0xLjQtMi4yMi0xLjQtMi4yMmwtOC45OSUyMDcuMjR6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF8xMS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMTMuMjElMjA0NS4xNWMtLjI0JTIwMC0uNDQtLjE3LS40OS0uNHMuMDgtLjQ3LjMtLjU2TDI1JTIwMzkuMjJjLjE1LS4wNi4zMS0uMDUuNDUuMDNzLjIzLjIyLjI0LjM4YzAlMjAuMDEuMTQlMjAxLjQ2LjcxJTIwMi4yNi40OS42OSUyMDIuMzElMjAxLjg2JTIwMi45NiUyMDIuMjUuMTkuMTIuMjkuMzQuMjMuNTZzLS4yNi4zNy0uNDguMzd6bTExLjU4LTQuNzYtOS4wNCUyMDMuNzUlMjAxMS42OC0uMDZjLS43MS0uNS0xLjQ5LTEuMTEtMS44NS0xLjYxLS40NC0uNjItLjY3LTEuNDktLjc5LTIuMDglMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI5LjExJTIwNDQuNThzLTIuNDYtMS40Ny0zLjEyLTIuMzljLS42Ni0uOTMtLjgtMi41LS44LTIuNWwtMTEuOTglMjA0Ljk3eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfMTIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMzAuNiUyMDI3LjE5Yy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40Mi05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMjcuMjUlMjA0My45aC0uMDZsLTE1LjE2LTEuOTljLS4yNS0uMDMtLjQ0LS4yNS0uNDQtLjVzLjE5LS40Ni40NC0uNUwyNi44NCUyMDM5Yy4yMS0uMDMuNDUuMS41My4zMnMuMDEuNDYtLjE4LjU5Yy0uMDEuMDEtMS4wNS43Ni0uNzclMjAxLjM5LjQzLjk0JTIwMS4xOCUyMDEuNzUlMjAxLjE5JTIwMS43NS4xNC4xNS4xOC4zOC4wOC41Ny0uMDguMTctLjI1LjI4LS40NC4yOG0tMTEuMjgtMi40OSUyMDEwLjEzJTIwMS4zM2MtLjItLjMtLjQyLS42NS0uNTktMS4wMi0uMjUtLjU1LS4xNC0xLjA5LjExLTEuNTV6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yNy4yNSUyMDQzLjRzLS44MS0uODYtMS4yOC0xLjg5Ljk0LTIuMDEuOTQtMi4wMUwxMi4xJTIwNDEuNDF6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF8xMy5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMmMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDJjMC03Ljk3LTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDU5OTk5OTk5OTk5OTklMjAxOS40NyUyMDEzLjUyOTk5OTk5OTk5OTk5LTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjQ4JTIyJTIwY3klM0QlMjI0MS41MSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMjYuMDIlMjA0Mi42Yy0uMDclMjAwLS4xNC0uMDEtLjItLjA0TDEzLjQlMjAzNy4xMmMtLjIzLS4xLS4zNS0uMzUtLjI4LS41OS4wNi0uMjQuMy0uNC41NC0uMzdsMTUuMDMlMjAxLjY0Yy4yNC4wMy40Mi4yMS40NC40NXMtLjEyLjQ1LS4zNS41M2MtMS4wMy4zMy0yLjE4Ljk2LTIuMjYlMjAxLjM5LS4xOSUyMDEuMDEtLjAyJTIwMS44Mi0uMDElMjAxLjgzLjA0LjE4LS4wMy4zNy0uMTcuNDktLjA5LjA4LS4yMS4xMS0uMzIuMTFtLTkuMjMtNS4wOCUyMDguNjUlMjAzLjc5Yy0uMDEwMDAwMDAwMDAwMDEtLjM3LjAwOTk5OTk5OTk5OTk5LS44Mi4wOTk5OTk5OTk5OTk5OS0xLjMyLjEtLjU2LjYzLTEuMDMlMjAxLjIxLTEuMzl6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yNi4wMiUyMDQyLjFzLS4yMi0uOTIuMDEtMi4wM2MuMjItMS4wNCUyMDIuNi0xLjc4JTIwMi42LTEuNzhMMTMuNiUyMDM2LjY1eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfMTQuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMzAuNiUyMDI3LjJjLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA1OTk5OTk5OTk5OTk5JTIwMTkuNDclMjAxMy41Mjk5OTk5OTk5OTk5OS04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNTElMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTI1LjQ5JTIwNDEuODgwMDAwMDAwMDAwMDFjLS4xNCUyMDAtLjI3LS4wNi0uMzctLjE2bC03Ljg4LTguNTljLS4xNi0uMTctLjE4LS40My0uMDQtLjYyLjEzLS4xODk5OTk5OTk5OTk5OC4zOC0uMjU5OTk5OTk5OTk5OTguNi0uMTc5OTk5OTk5OTk5OThsMTMuOTUlMjA1LjYzMDAwMDAwMDAwMDAxYy4yMi4wOS4zNS4zMy4zLjU3cy0uMjUuNDEtLjUxLjRjLTIuMTYtLjA4LTQuMjUuMTEtNC41Ni40Mi0uNDkuNDktLjg5JTIwMS43My0xJTIwMi4xNi0uMDUuMTgwMDAwMDAwMDAwMDEtLjE5LjMxMDAwMDAwMDAwMDAxLS4zNi4zNjAwMDAwMDAwMDAwMS0uMDUuMDA5OTk5OTk5OTk5OTYtLjA5LjAwOTk5OTk5OTk5OTk2LS4xMy4wMDk5OTk5OTk5OTk5Nm0tNi4wMi03LjhMMjUuMjglMjA0MC40MWMuMjEtLjU4LjU1LTEuMzMlMjAxLTEuNzcuNDMtLjQzJTIwMS42MS0uNjIlMjAyLjc3LS42OXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI1LjQ5JTIwNDEuMzgwMDAwMDAwMDAwMDFzLjM4LTEuNjMlMjAxLjEzLTIuMzljLjc1LS43NSUyMDQuOTMtLjU3JTIwNC45My0uNTdMMTcuNiUyMDMyLjc5eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfMTUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMzAuNiUyMDI3LjJjLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA1OTk5OTk5OTk5OTk5JTIwMTkuNDclMjAxMy41Mjk5OTk5OTk5OTk5OS04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNTElMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTI1LjQ5JTIwNDEuODgwMDAwMDAwMDAwMDFjLS4yMSUyMDAtLjQtLjEzLS40Ny0uMzNsLTQuMy0xMS42N2MtLjA4LS4yMSUyMDAtLjQ1LjE4LS41OHMuNDQtLjEyLjYxLjAzbDEwLjM3JTIwOC43MWMuMTYuMTQuMjIuMzYuMTUuNTYtLjA4LjItLjI2LjMxLS40OS4zMi0yLjE2LS4wOC00LjI1LjExLTQuNTYuNDItLjQ5LjQ5LS44OSUyMDEuNzMtMSUyMDIuMTYtLjA1LjIxMDAwMDAwMDAwMDAyLS4yNC4zNjAwMDAwMDAwMDAwMi0uNDYuMzcwMDAwMDAwMDAwMDItLjAxLjAxLS4wMi4wMS0uMDMuMDFNMjIuMzElMjAzMS4zbDMuMTclMjA4LjZjLjItLjQ2LjQ3LS45NC43OS0xLjI3LjU4LS41OCUyMDIuNDctLjcxJTIwMy44OS0uNzN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yNS40OSUyMDQxLjM4MDAwMDAwMDAwMDAxcy4zOC0xLjYzJTIwMS4xMy0yLjM5Yy43NS0uNzUlMjA0LjkzLS41NyUyMDQuOTMtLjU3bC0xMC4zNy04LjcxeiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfMi5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMzUuNDUwMDAwMDAwMDAwMDElMjA0MS44ODAwMDAwMDAwMDAwMWMtLjA0JTIwMC0uMDglMjAwLS4xMi0uMDEtLjE4LS4wNC0uMzItLjE4LS4zNi0uMzYtLjEyLS40NC0uNTItMS42OC0xLTIuMTYtLjMxLS4zMS0yLjQtLjUtNC41Ni0uNDItLjI1LjAyLS40Ni0uMTYtLjUxLS40cy4wOC0uNDguMy0uNTdsMTMuOTUtNS42M2MuMjItLjA5LjQ3LS4wMS42LjE4cy4xMi40NS0uMDQuNjJsLTcuODglMjA4LjU5Yy0uMS4xLS4yNC4xNi0uMzguMTZtLTMuNTUtMy45NGMxLjE2LjA3JTIwMi4zNC4yNiUyMDIuNzcuNjkuNDQuNDQuNzglMjAxLjE5JTIwMSUyMDEuNzdsNS44MS02LjMzeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMzUuNDUwMDAwMDAwMDAwMDElMjA0MS4zODAwMDAwMDAwMDAwMXMtLjM4LTEuNjMtMS4xMy0yLjM5Yy0uNzUtLjc1LTQuOTMtLjU3LTQuOTMtLjU3bDEzLjk1LTUuNjN6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF8zLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuNDglMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTM0LjkyJTIwNDIuNmMtLjExJTIwMC0uMjItLjA0LS4zMi0uMTEtLjE1LS4xMi0uMjEtLjMxLS4xNy0uNDklMjAwLS4wMS4xNy0uODQtLjAxLTEuODMtLjA4LS40My0xLjIzLTEuMDYtMi4yNi0xLjM5LS4yMy0uMDctLjM3LS4yOS0uMzUtLjUzcy4yMS0uNDIuNDQtLjQ1bDE1LjAzLTEuNjRjLjI0LS4wMy40Ny4xMy41NC4zNy4wNi4yNC0uMDYuNDktLjI4LjU5bC0xMi40MiUyMDUuNDRjLS4wNi4wMy0uMTMuMDQtLjIuMDRtLS43My00Yy41OC4zNiUyMDEuMS44MiUyMDEuMjElMjAxLjM5LjA5LjQ5LjExLjk1LjElMjAxLjMybDguNjUtMy43OXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTM0LjkyJTIwNDIuMXMuMjItLjkyLS4wMS0yLjAzYy0uMjItMS4wNC0yLjYtMS43OC0yLjYtMS43OGwxNS4wMy0xLjY0eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfNC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjQ4JTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0zMy42OSUyMDQzLjljLS4xOSUyMDAtLjM2LS4xLS40NS0uMjctLjEtLjE5LS4wNi0uNDIuMDgtLjU3LjAxLS4wMS43Ni0uODElMjAxLjE5LTEuNzUuMjktLjYzLS43Ni0xLjM4LS43Ny0xLjM5LS4xOTAwMDAwMDAwMDAwMi0uMTMtLjI2MDAwMDAwMDAwMDAyLS4zOC0uMTgwMDAwMDAwMDAwMDItLjU5cy4yOTk5OTk5OTk5OTk5OS0uMzQuNTI5OTk5OTk5OTk5OTktLjMybDE0LjgxJTIwMS45MWMuMjUuMDI5OTk5OTk5OTk5OTguNDQuMjM5OTk5OTk5OTk5OTguNDQuNDk5OTk5OTk5OTk5OTglMjAwJTIwLjI0OTk5OTk5OTk5OTk5LS4xOS40NTk5OTk5OTk5OTk5OS0uNDQuNDk5OTk5OTk5OTk5OTlsLTE1LjE2JTIwMS45ODk5OTk5OTk5OTk5OGMtLjAxLS4wMTk5OTk5OTk5OTk5OS0uMDMtLjAxLS4wNS0uMDFtMS42My0zLjczYy4yNS40NTk5OTk5OTk5OTk5OS4zNi45OTk5OTk5OTk5OTk5OS4xMSUyMDEuNTQ5OTk5OTk5OTk5OTktLjE3LjM3LS4zOC43My0uNTklMjAxLjAzbDEwLjEzLTEuMzN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zMy42OSUyMDQzLjRzLjgxLS44NiUyMDEuMjgtMS44OS0uOTQtMi4wMS0uOTQtMi4wMWwxNC44MSUyMDEuOTF6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF81LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuNDglMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIybTQ3LjczJTIwNDUuMTUtMTUuOS0uMDhjLS4yMiUyMDAtLjQyLS4xNS0uNDgtLjM3cy4wMy0uNDUuMjMtLjU2Yy42Ni0uMzklMjAyLjQ4LTEuNTYlMjAyLjk2LTIuMjUuNTctLjguNzEtMi4yNC43MS0yLjI2LjAxLS4xNi4xLS4zLjI0LS4zOHMuMy0uMDkuNDUtLjAzbDExLjk4JTIwNC45N2MuMjIuMDkuMzUuMzMuMy41Ni0uMDQuMjQtLjI1LjQtLjQ5LjRtLTE0LjIyLTEuMDYlMjAxMS42OC4wNi05LjA0LTMuNzVjLS4xMS41OS0uMzQlMjAxLjQ1LS43OSUyMDIuMDgtLjM2LjUtMS4xNCUyMDEuMTEtMS44NSUyMDEuNjElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTMxLjg0JTIwNDQuNThzMi40Ni0xLjQ3JTIwMy4xMi0yLjM5Yy42Ni0uOTMuOC0yLjUuOC0yLjVsMTEuOTglMjA0Ljk3eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfNi5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC40OCUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNNDUuMDglMjA0OC43NGMtLjA0JTIwMC0uMDglMjAwLS4xMS0uMDFsLTE0LjQ1LTMuNGMtLjIyLS4wNS0uMzgtLjI1LS4zOS0uNDglMjAwLS4yMy4xNS0uNDMuMzctLjQ5Ljg2LS4yNCUyMDMuMjMtLjk3JTIwMy44Ny0xLjUxLjYzLS41MyUyMDEuMTEtMS42MyUyMDEuMjUtMi4wMS4wNS0uMTUuMTgtLjI3LjMzLS4zMS4xNi0uMDQuMzItLjAxLjQ1LjA5bDguOTklMjA3LjI0MDAwMDAwMDAwMDAzYy4xOC4xNS4yNC40LjE0LjYxLS4wOC4xNi0uMjYuMjctLjQ1LjI3bS0xMi41NS0zLjk3JTIwMTAuNTMlMjAyLjQ4LTYuNzYtNS40NGMtLjI2LjU0LS43JTIwMS4zMS0xLjI4JTIwMS44LS40OS40LTEuNTUuODMtMi40OSUyMDEuMTYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTMwLjYzJTIwNDQuODNzMy4xOS0uODglMjA0LjA2LTEuNjElMjAxLjQtMi4yMiUyMDEuNC0yLjIybDguOTklMjA3LjI0eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfNy5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC42JTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjQ4JTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk00MC40JTIwNTIuOTZjLS4wOSUyMDAtLjE4LS4wMi0uMjYtLjA3bC0xMi4yNy03LjMzYy0uMTktLjEyLS4yOS0uMzUtLjIyLS41Ni4wNi0uMjIuMjYtLjM3LjQ4LS4zNyUyMDEuMTguMDElMjA0LjI0LS4wNSUyMDUuMDYtLjMyLjY4LS4yMiUyMDEuNzQtMS4zNSUyMDIuMjYtMi4wMi4xMS0uMTQuMjgtLjIxLjQ1LS4xOXMuMzIuMTMuNC4yOWw0LjU1JTIwOS44NmMuMDkuMi4wNC40My0uMTIuNTgtLjA5LjA5LS4yMS4xMy0uMzMuMTNNMjkuOSUyMDQ1LjZsOS4zNiUyMDUuNi0zLjU0LTcuNjhjLS41NS42MS0xLjQyJTIwMS40Ny0yLjIxJTIwMS43My0uNjguMjMtMi4zMS4zMi0zLjYxLjM1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yOC4xMyUyMDQ1LjEzczQuMTQuMDElMjA1LjIyLS4zNWMxLjA4LS4zNSUyMDIuNS0yLjE4JTIwMi41LTIuMThsNC41NSUyMDkuODZ6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF84LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDJjMC03Ljk3LTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjQ4JTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0zMS4wNSUyMDU0LjhjLS4xOCUyMDAtLjM1LS4xLS40My0uMjVsLTUuODMtMTAuMjRjLS4xLS4xNy0uMDgtLjM4LjAzLS41NC4xMi0uMTYuMzEtLjIzLjUxLS4xOSUyMDEuMTYuMjUlMjA0LjM3Ljg5JTIwNS4yNi44OS45OCUyMDAlMjAzLjUyLS43MyUyMDQuNDItMS4wMS4xOC0uMDUuMzklMjAwJTIwLjUyLjE0cy4xNy4zNC4xLjUybC00LjExJTIwMTAuMzdjLS4wNjk5OTk5OTk5OTk5OC4xOC0uMjM5OTk5OTk5OTk5OTguMy0uNDI5OTk5OTk5OTk5OTguMzF6TTI2LjIlMjA0NC43NzAwMDAwMDAwMDAwMWw0Ljc2JTIwOC4zNyUyMDMuMzQtOC40NGMtMS4xLjMxLTIuODQuNzYtMy43My43Ni0uOCUyMDAtMy4wMi0uNDItNC4zNy0uNjklMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI1LjIyJTIwNDQuMDZzNC4yOS45JTIwNS40My45YzEuMTYlMjAwJTIwNC41LTEuMDMlMjA0LjUtMS4wM0wzMS4wNCUyMDU0LjN6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF85LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjYlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuNDglMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTIwLjU1JTIwNTIuOTZjLS4xMiUyMDAtLjI0LS4wNC0uMzMtLjEzLS4xNi0uMTUtLjIxLS4zOC0uMTItLjU4bDQuNTUtOS44NmMuMDctLjE2LjIyLS4yNy40LS4yOS4xNy0uMDIuMzUuMDUuNDUuMTkuMzcuNDglMjAxLjQ5JTIwMS43NiUyMDIuMjYlMjAyLjAyLjgyLjI3JTIwMy45My4zMiUyMDUuMDYuMzIuMjIlMjAwJTIwLjQyLjE1LjQ4LjM3cy0uMDMuNDUtLjIyLjU2bC0xMi4yNyUyMDcuMzNjLS4wOC4wNS0uMTcuMDctLjI2LjA3bTQuNjgtOS40NC0zLjU0JTIwNy42OCUyMDkuMzYtNS42Yy0xLjMtLjA0LTIuOTMtLjEyLTMuNi0uMzUtLjgtLjI1LTEuNjgtMS4xMi0yLjIyLTEuNzMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTMyLjgxJTIwNDUuMTNzLTQuMTQuMDEtNS4yMi0uMzVjLTEuMDgtLjM1LTIuNS0yLjE4LTIuNS0yLjE4bC00LjU1JTIwOS44NnolMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl8wLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjIxJTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMk0zNC4yNSUyMDIzLjc4aC04LjUxYy0uNDIlMjAwLS44LS4yNi0uOTQtLjY2cy0uMDItLjg0LjMtMS4xMWwuNjQtLjUzYy0xLjEyLTEuMTItMS43Ny0yLjY1LTEuNzctNC4yNSUyMDAtMy4zJTIwMi42OS01Ljk5JTIwNS45OC01Ljk5JTIwMS42JTIwMCUyMDMuMS42MyUyMDQuMjMlMjAxLjc2czEuNzUlMjAyLjY0JTIwMS43NSUyMDQuMjRjMCUyMDEuNDUtLjUzJTIwMi44NC0xLjQ5JTIwMy45NC0uMDMuMDUtLjA2LjA5LS4xLjE0bC0uMTMuMTMtLjAzLjAzLjY4LjUyYy4zNC4yNi40OC43MS4zNCUyMDEuMTItLjE0LjM5LS41Mi42Ni0uOTUuNjZtLTQuNzYtMmguOTNjLjA4LS4zMy4zMy0uNi42OC0uNzEuMDktLjAzLjE3LS4wNi4yNS0uMWwuMTItLjA1Yy4yNS0uMTEuNDUtLjIxLjY0LS4zNC4wMS0uMDEuMDgtLjA1LjA5LS4wNi4xNi0uMTEuMzEtLjI0LjQ1LS4zNy4wMS0uMDEuMDktLjA4LjEtLjA5bC4wNS0uMDVjLjAyLS4wMi4wMy0uMDQuMDUtLjA2LjcxLS43NSUyMDEuMS0xLjcyJTIwMS4xLTIuNzQlMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43NS0xLjE3LTIuODEtMS4xN0MyNy43OSUyMDEzLjIxJTIwMjYlMjAxNSUyMDI2JTIwMTcuMmMwJTIwMS4zLjY0JTIwMi41MiUyMDEuNzElMjAzLjI3LjA1LjAzLjA5LjA3LjEzLjExLjMuMTkuNjQuMzUlMjAxJTIwLjQ2LjMyLjE0LjU3LjQxLjY1Ljc0JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMk0zMy45NyUyMDQzLjU5MDAwMDAwMDAwMDAxaC0zLjA0Yy0uNDUlMjAwLS44NC0uMy0uOTYtLjcyLS4xMi40Mi0uNTEuNzItLjk2LjcyaC0zYy0uNTUlMjAwLS45OS0uNDQtMS0uOTlsLS4xMy05LjE4LS4zOC45N2MtLjMuNzEtMS4wNCUyMDEuMDgtMS43OS44OWwtMS4wMS0uMzNjLS43NC0uMjctMS4xMy0xLjAzLS45NC0xLjc4JTIwMC0uMDElMjAwLS4wMi4wMS0uMDIuMDYtLjIyJTIwMi41OS05LjU0JTIwMi41OS05LjU0LjIzLS45MyUyMDEuMDQtMS42NiUyMDEuOTUtMS43OS4wOC0uMDIuMTctLjAzLjI2LS4wM2g4Ljg0Yy4wNiUyMDAlMjAuMTUuMDEuMjIuMDIuOTYuMTElMjAxLjguODMlMjAyLjA0JTIwMS43OSUyMDIuMTUlMjA4LjMxJTIwMi40MiUyMDkuMzglMjAyLjQ2JTIwOS41My4yLjc4LS4xNCUyMDEuNS0uODMlMjAxLjc1bC0xLjA4LjM1Yy0uOC4yMS0xLjU1LS4xNi0xLjg0LS44NWwtLjI4LS43My0uMTMlMjA4Ljk2YzAlMjAuNTQtLjQ1Ljk4LTElMjAuOThtLTIuMS0yaDEuMTE5OTk5OTk5OTk5OTlsLjE5LTEzLjIyYy4wMS0uNDguMzUtLjg4LjgyLS45Ny40Njk5OTk5OTk5OTk5OS0uMDguOTI5OTk5OTk5OTk5OTkuMTclMjAxLjEwOTk5OTk5OTk5OTk5LjYybC4wOS4yMyUyMDEuODU5OTk5OTk5OTk5OTklMjA0LjkyaC4wMDk5OTk5OTk5OTk5OWMtLjQ4MDAwMDAwMDAwMDAxLTEuODgtMi4zNDAwMDAwMDAwMDAwMS05LjA5LTIuMzQwMDAwMDAwMDAwMDEtOS4wOS0uMDQtLjE1OTk5OTk5OTk5OTk5LS4yMS0uMjg5OTk5OTk5OTk5OTktLjMzLS4yODk5OTk5OTk5OTk5OS0uMDMlMjAwLS4wNiUyMDAtLjA5LS4wMWgtOC42Yy0uMDMlMjAwLS4wNy4wMS0uMS4wMS0uMDklMjAwLS4yNi4xMy0uMzEuMzItMS42JTIwNS45MS0yLjIyJTIwOC4xOS0yLjQ3JTIwOS4wOGwyLjA2LTUuMThjLjE4LS40NC42NC0uNyUyMDEuMTEtLjYxcy44MS40OS44Mi45N2wuMTglMjAxMy4yMjAwMDAwMDAwMDAwMWgxLjA4bC40OC02LjkyYy4wNi0uNzkuNjUtMS4zNCUyMDEuNDMtMS4zNC42JTIwMCUyMDEuMzIuMzYlMjAxLjQlMjAxLjM0em0tOS4xNzAwMDAwMDAwMDAwMS03LjkzYy4wMS0uMDEuMDEtLjAyLjAxLS4wNCUyMDAlMjAuMDItLjAxLjAzLS4wMS4wNCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMjUuNzQlMjAyMi43OC45LS43NWg2LjYybC45OS43NSUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NSUyMiUyMGN5JTNEJTIyMjIuMzclMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjI1JTIyJTIwcnklM0QlMjIuMyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZkYmYyZCUyMiUyMGQlM0QlMjJNMzguMTUlMjAzMy4zN2MwLS4wMS0yLjQ2LTkuNTMtMi40Ni05LjUzLS4xNS0uNi0uNzItMS4wNS0xLjMxLTEuMDVIMjUuNmMtLjU5JTIwMC0xLjEzLjQ5LTEuMjglMjAxLjA4JTIwMCUyMDAtMi41OSUyMDkuNTQtMi41OSUyMDkuNTUtLjA2LjI0LjA0LjQ5LjI5LjU4bC45NC4zMWMuMjUuMDYuNTEtLjA1LjYxLS4yOWwyLjI0LTUuNjUuMiUyMDE0LjIxaDNsLjU1LTcuODVjLjAyLS4yMS4xMy0uNDEuNDQtLjQxcy4zOC4yLjM5LjQxbC41NCUyMDcuODVoMy4wNGwuMi0xNC4yMSUyMDIuMTIlMjA1LjYxYy4xLjIzLjM2LjM1LjYxLjI5bDEuMDQtLjM0Yy4yNC0uMDguMjctLjMzLjIxLS41NiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NmNTcyZSUyMiUyMGQlM0QlMjJtMzQuMTclMjAyOC4zOC4wOC01LjZoLjE3bC40OCUyMDUuNDQuNDUlMjAzLjEzbS05LjU0LTIuOTctLjA4LTUuNTloLS4xN3MtLjMxJTIwNC4yLS40OCUyMDUuNDNjLS4xNyUyMDEuMjQtLjQ1JTIwMy4xMy0uNDUlMjAzLjEzeiUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuOTUlMjIlMjBjeSUzRCUyMjE3LjIzJTIyJTIwZmlsbCUzRCUyMiUyM2ZkYmYyZCUyMiUyMHJ4JTNEJTIyNC45OCUyMiUyMHJ5JTNEJTIyNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJNMzAuMzUlMjAyMS43NGMtMS4xOC4xMS0yLjMxLS4wNi0zLjMtLjQ0Ljk0LjY4JTIwMi4xMiUyMDEuMDQlMjAzLjM2LjkyJTIwMS4yNy0uMTIlMjAyLjM4LS43MSUyMDMuMTktMS41OS0uOTEuNi0yLjAzJTIwMS0zLjI1JTIwMS4xMSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl8xLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjIxJTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0zNC41NiUyMDQxLjRjLS4yMSUyMDAtLjM5LS4xMy0uNDctLjMyLS41OC0xLjU2LTEuNDItMy4wMi0xLjc5LTMuMTMtLjQxLS4xMy0yLjM5LjctNC4yMiUyMDEuNzctLjIxLjEyLS40OC4wOC0uNjMtLjExLS4xNi0uMTgtLjE2LS40NS0uMDEtLjY0bDguMi05Ljk3Yy4xNC0uMTcuMzgtLjIzLjU4LS4xNHMuMzMuMy4zLjUybC0xLjQ2JTIwMTEuNTljLS4wMy4yMy0uMjEuNDEtLjQ0LjQzLS4wMy0uMDEtLjA1JTIwMC0uMDYlMjAwbS0yLjMxLTQuNDZjLjEzJTIwMCUyMC4yNC4wMS4zNC4wNC42Mi4xOSUyMDEuMjMlMjAxLjEzJTIwMS43JTIwMi4wNWwxLjAyLTguMDctNS41MyUyMDYuNzRjLjg5LS40MSUyMDEuODMtLjc2JTIwMi40Ny0uNzYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTM0LjU2JTIwNDAuOXMtMS4wOS0zLjEyLTIuMTEtMy40My00LjYyJTIwMS44Mi00LjYyJTIwMS44Mmw4LjItOS45N3olMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTMzLjM3JTIwNDMuNzAwMDAwMDAwMDAwMDFjLS4xOCUyMDAtLjM1LS4wMy0uNS0uMDktLjIyLS4wNi0xLjEtLjIzLTEuODItLjM3bC0uMjItLjA3Yy0uMjgtLjEyLS41OS0uMzktLjc3LS44LS4zNC4yOS0uNDEuMzEtLjUxLjM2LS4yOC4xMi0uNTUuMTEtLjY5LjA5bC0uMjktLjA2Yy0uMzgtLjA5LTIuMDgtLjQ0LTIuMDgtLjQ0bC0uMy0uMTFjLS4zMS0uMTgtLjY1LS41OC0uNy0xLjE3LS4wMS0uMTItLjE5LTMuMTgtLjQyLTYuNzUtLjE0LjI3LS4zNi41NC0uNy43Mi0uNDIuMjItLjkxLjI0LTEuNDUuMDYtMS42OS0uNTQtMS40MS0xLjk3LTEuMy0yLjUxLjAyLS4wOS4wNC0uMTguMDUtLjI3LjAyLS4xMi40Ni0yLjQ1LjY4LTMuMzcuMTQtLjU4LjY4LTMuMzguODktNC40OC4wMy0uMzYuMjMtMS42NCUyMDEuMzEtMi4zMS4zNS0uMjIuNzgtLjQ3JTIwMS4xNS0uNjgtMS4wOC0xLjEtMS43Mi0yLjYtMS43MS00LjIyJTIwMC0xLjYuNjItMy4xMSUyMDEuNzUtNC4yNCUyMDEuMTItMS4xMyUyMDIuNjItMS43NSUyMDQuMjEtMS43NWguMDFjMS41OSUyMDAlMjAzLjA5LjYzJTIwNC4yMSUyMDEuNzZzMS43NCUyMDIuNjQlMjAxLjc0JTIwNC4yNGMwJTIwMS40MzAwMDAwMDAwMDAwMi0uNSUyMDIuNzcwMDAwMDAwMDAwMDItMS4zNyUyMDMuODIwMDAwMDAwMDAwMDJsLjQ3LjAxYy4zMy4wMS42NS4xNS44OC4zOXMuMzUuNTYuMzQuODlsLS4wMi40NmMuMjguMzcuNDguODIuNTUlMjAxLjI3LjAxLjAxLjQ5JTIwMi4wNC44OSUyMDQuNTEuMyUyMDEuODcuNjclMjA0LjU0Ljc1JTIwNS4yMy4xMy44LS4yNyUyMDEuNDgtLjk4JTIwMS42Ny0uMjguMTEtLjk3LjMxLTEuNS4yMy0uMDQtLjAxLS4wOC0uMDEtLjEzLS4wMkwzNS42MiUyMDQwLjgzYy4wMy4yMi4wMS40NS0uMDEuNjUtLjA1LjUyLS40MiUyMDEuMS0xLjA5JTIwMS43MmwtLjEzLjI5LS40NS4xMmMtLjIuMDYtLjQuMDktLjU3LjA5bS00Ljg2LS45NzAwMDAwMDAwMDAwMS4wNDk5OTk5OTk5OTk5OS4wMnptMy4zODk5OTk5OTk5OTk5OS0xLjM2Yy43MS4xMyUyMDEuMTEuMjIlMjAxLjM2LjI4LjE2LS4xNi4yOS0uMzEuMzUtLjQxbC4zLTkuMjQlMjAxLjk3LS4xOS40NCUyMDEuOTE5OTk5OTk5OTk5OTljLjAxJTIwMCUyMC4wMy0uMDEuMDQtLjAxLS4xMS0uODMtLjM5LTIuODgtLjctNC44MS0uMzktMi4zOS0uODctNC40Mi0uODctNC40NC0uMDQtLjI0LS4xNS0uNDQtLjI3LS41NWwtLjM1MDAwMDAwMDAwMDAyLS4zMS4wMTk5OTk5OTk5OTk5OS0uNTctMi43MS0uMDgtLjI5LTEuOTVjMS42Mi0uNTQlMjAyLjcxLTIuMDclMjAyLjcxLTMuNzklMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43NC0xLjE3LTIuNzktMS4xNy0xLjA2JTIwMC0yLjA1LjQxLTIuNzklMjAxLjE2LS43NS43NS0xLjE2JTIwMS43Ni0xLjE2JTIwMi44MyUyMDAlMjAxLjY1Ljk4JTIwMy4xMSUyMDIuNSUyMDMuNzJsLS40JTIwMS45My0uODEwMDAwMDAwMDAwMDEtLjAyYy0uMzguMjEtMS4xMi42NC0xLjY4Ljk4LS4yNS4xNS0uMzYuNjEtLjM3LjhsLS4wMi4xMmMtLjAzLjE2LS43MyUyMDMuODgtLjkyJTIwNC42NC0uMTYuNjUtLjQ1JTIwMi4xNS0uNTglMjAyLjg2LjI3LS43Mi43MS0xLjk0JTIwMS4xLTMuMjFsMS45NS4yM2MuMjglMjA0LjQxLjYlMjA5LjY4LjY5JTIwMTEuMjEuNzMuMTUlMjAxLjE1LjI0JTIwMS40LjMuMDktLjA3LjE4LS4xNi4yNy0uMjNsLjExLTQuNzkwMDAwMDAwMDAwMDElMjAxLjk5LS4xYy40NyUyMDMuOS42MiUyMDUuMjMuNjclMjA1LjcybTQuOTMtNy43OWMtLjAyLjAwOTk5OTk5OTk5OTk5LS4wNC4wMDk5OTk5OTk5OTk5OS0uMDYuMDE5OTk5OTk5OTk5OTkuMDIlMjAwJTIwLjA0LS4wMS4wNi0uMDIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTIyLjY2JTIwMzIuNDRjLS4xMi43My0uNDIlMjAxLjM1LjU3JTIwMS42Ny45Ny4zMSUyMDEuMDMtLjUzJTIwMS4xNS0uNzklMjAwJTIwMCUyMC43OS0yLjAyJTIwMS40NC00LjE0JTIwMCUyMDAlMjAuOS0zLjY5Ljk4LTQuMTQuMjYtMS42Ni0uNDEtMi4yNy0xLjE3LTIuMjEtLjU2LjA0LTEuMi4zOC0xLjM4JTIwMS43NSUyMDAlMjAwLS43MiUyMDMuODUtLjkxJTIwNC41OC0uMjMuOS0uNjglMjAzLjI4LS42OCUyMDMuMjglMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIybTI1LjY3JTIwMjkuODctLjItNy4xMS0uNDEuMzFzLjA2JTIwNS40LS4xMSUyMDYuNjQtLjQ1JTIwMy4xMy0uNDUlMjAzLjEzeiUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0yNy4wMyUyMDIyLjA4aDguMnYyMC41NmgtOC4yeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U1OGEyYyUyMiUyMGQlM0QlMjJtMzUuMjMlMjAyMi4wOC02LjE2LjM3LTIuMDQuMzIuNTElMjAxOC4wMyUyMDEuNDMlMjAxLjAzLjE5LS4wMi45NC0uODEuMTktOC4yMi4yNC0uNzclMjAxLjI1JTIwMTAuMDUlMjAxLjg3LjU2OTk5OTk5OTk5OTk5cy45LS43NzAwMDAwMDAwMDAwMS45NS0xLjI0MDAwMDAwMDAwMDAxYy4wNC0uNDQwMDAwMDAwMDAwMDElMjAwLS40NzAwMDAwMDAwMDAwMSUyMDAtLjQ3MDAwMDAwMDAwMDAxeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTI1LjM5JTIwMjIuNzRoOC4zMVY0Mi43MDAwMDAwMDAwMDAwMWgtOC4zMXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIybTI1LjM5JTIwMjIuNzQlMjAxLjElMjAxOC4yMmMuMDIuMjcuMi4zNy4yLjM3czIuMTEuNDQlMjAyLjIuNDhoLjI4YzAtMmUtMTQtLjEzLS4wNDAwMDAwMDAwMDAwMi0uMTQtLjIzMDAwMDAwMDAwMDAyLS4wMi0uMTkwMDAwMDAwMDAwMDEuMjctNy41OTAwMDAwMDAwMDAwMS4yNy03LjU5MDAwMDAwMDAwMDAxLjAyLS4zNy4xMi0uNTIuMzYtLjUzLjI0LjAxLjM1LjExLjQuNzYlMjAwJTIwMCUyMC44NSUyMDcuMDUuODclMjA3LjQ4cy4zMS41Njk5OTk5OTk5OTk5OC4zMS41Njk5OTk5OTk5OTk5OCUyMDEuODYuMzQlMjAxLjk5LjQxYy4wMy4wMTk5OTk5OTk5OTk5OS4wOC4wMTk5OTk5OTk5OTk5OS4xMy4wMTk5OTk5OTk5OTk5OS4xNCUyMDAlMjAuMzItLjA1LjMyLS4wNXMuMDMtLjA0MDAwMDAwMDAwMDAxLjAyLS4zMjAwMDAwMDAwMDAwMWMtLjEtMy40NjAwMDAwMDAwMDAwMS40Ni00LjE0MDAwMDAwMDAwMDAxLS4wNC0xOS4zMjAwMDAwMDAwMDAwMXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0yNS40MiUyMDIxLjg0aDkuODF2MS4xOWgtOS44MXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI3LjAzJTIwMjEuODQtMS42MS45JTIwOC4yNS4yOSUyMDEuNTYtLjk1eiUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45MiUyMiUyMGN5JTNEJTIyMjIuMzclMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjI1JTIyJTIwcnklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NSUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45MyUyMDIxLjc0Yy0xLjE5JTIwMC0yLjMtLjI3LTMuMjQtLjc1Ljg3Ljc3JTIwMi4wMSUyMDEuMjQlMjAzLjI2JTIwMS4yNCUyMDEuMjglMjAwJTIwMi40NC0uNDklMjAzLjMyLTEuMjgtLjk2LjUtMi4xMS43OS0zLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMzMuOTklMjAyNi4wNmMuMSUyMDEuNTkuOTIlMjA1Ljk3LjkyJTIwNS45N2wuNTQlMjAyLjMzYy4wOC4yNC4yNy4zMy42Mi4zOHMxLjA5LS4yMSUyMDEuMDktLjIxYy4yMy0uMDYuMjktLjMuMjUtLjU1JTIwMCUyMDAtLjM1LTIuNzItLjc1LTUuMjMtLjQtMi40Ni0uODktNC41MS0uODktNC41MS0uMS0uNjEtLjU5LTEuMjktMS4xNy0xLjM0JTIwMCUyMDAtLjY5JTIwMC0uNzElMjAxLjA2LS4wMyUyMDEuMTIuMSUyMDIuMS4xJTIwMi4xJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMk0zNC40MSUyMDIyLjk1Yy0uMi4wOC0uNS4zMi0uNTIlMjAxLjAxLS4wMyUyMDEuMTIuMSUyMDIuMS4xJTIwMi4xLjA5JTIwMS4zNi43JTIwNC43My44NyUyMDUuN2wuMDEuMDVjLjAxJTIwMC0uNTctNS40OS0uNDYtOC44NiUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl8xMC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjE5Yy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40Mi05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMTUuNiUyMDQ4Ljc0Yy0uMTklMjAwLS4zNi0uMTEtLjQ1LS4yOC0uMS0uMjEtLjA1LS40Ni4xNC0uNjFsOC45OS03LjI0Yy4xMi0uMS4yOS0uMTQuNDUtLjA5LjE2LjA0LjI4LjE2LjM0LjMxJTIwMCUyMC4wMS41JTIwMS4zNyUyMDEuMjUlMjAyLjAxLjY0LjU0JTIwMy4wMSUyMDEuMjglMjAzLjg3JTIwMS41MS4yMi4wNi4zNy4yNi4zNy40OXMtLjE2LjQyLS4zOS40OGwtMTQuNDUlMjAzLjRjLS4wNC4wMS0uMDguMDItLjEyLjAybTguNzktNi45NC02Ljc2JTIwNS40NCUyMDEwLjUzLTIuNDhjLS45NC0uMzMtMi0uNzUtMi40OS0xLjE2LS41OC0uNDktMS4wMi0xLjI2LTEuMjgtMS44JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zMC4wNSUyMDQ0Ljgzcy0zLjE5LS44OC00LjA2LTEuNjEtMS40LTIuMjItMS40LTIuMjJsLTguOTklMjA3LjI0eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMzIuNDUwMDAwMDAwMDAwMDElMjA0NC40OWMtLjA5JTIwMC0uMTctLjAxLS4yNi0uMDMtLjE3LS4wMS0uMzQtLjA2LS40OS0uMTQtLjEyLS4wNy0xLjM5LS44MS0xLjYtLjkzLS4zOS0uMi0uODEtLjY3LS44NC0xLjQxJTIwMC0uMDItLjAxLS4wNy0uMDItLjE2LS4xMi4wNC0uMjUuMDktLjM3LjE0LS4xMi4wOS0uMjUuMTYtLjQxLjE5JTIwMCUyMDAtLjEyLjAyLS4yNi4wMy0uMS4wMS0uMTkuMDEtLjI5LS4wMS0uMS0uMDEtLjItLjA0LS4yOC0uMDctLjExLS4wNS0uMi0uMDgtMS41OS0xLjAzLS4yNC0uMTMtLjU4LS41NC0uNjMtMS4xMy0uMDEtLjE1LS4xNy0yLjg1LS4zNy02LjA5LTEuNTQtLjMzLTEuNDctMS42NS0xLjQ0LTIuMTUlMjAwLS4wNzk5OTk5OTk5OTk5OC4wMS0uMTU5OTk5OTk5OTk5OTguMDEtLjI0OTk5OTk5OTk5OTk4JTIwMC0uMTIuMDktMi4yNy4xNy0zLjEzLjA1LS41NC4xNy0zLjIxLjIxLTQuMTktLjAxLS41OS4xLTEuMTMuMzMtMS41Ni0uMDItLjUuMjctLjkzLjcyLTEuMDguMDYtLjAyLjEyLS4wNC4xOC0uMDRsLjM3LS4xMWMtMS4wNC0xLjExLTEuNjMtMi41Ny0xLjYzLTQuMDklMjAwLTEuNi42Mi0zLjExJTIwMS43NS00LjI0JTIwMS4xMi0xLjEzJTIwMi42Mi0xLjc1JTIwNC4yMS0xLjc1aC4wMWMxLjU5JTIwMCUyMDMuMDkuNjMlMjA0LjIxJTIwMS43NnMxLjc0JTIwMi42NCUyMDEuNzQlMjA0LjI0YzAlMjAxLjU5LS42NSUyMDMuMTMtMS44JTIwNC4yNmwuODEwMDAwMDAwMDAwMDIuMTdjLjQ0LjA5Ljc3LjQ3LjguOTIuMDEwMDAwMDAwMDAwMDEuMTQtLjAwOTk5OTk5OTk5OTk5LjI4LS4wNTk5OTk5OTk5OTk5OS40MWwtLjAzLjQzYy4zLjQ3LjQ4JTIwMS4wOS41NCUyMDEuODQuMDQuNDgtLjElMjAzLjEtLjE0JTIwMy44OS0uMTQlMjAyLjI1LS42JTIwNC43My0uNjIlMjA0Ljg0bC0uMDYuMjVjLS4xMS40MS0uMjEuNzktLjQxJTIwMS4wOWwtLjM4JTIwNi40Njk5OTk5OTk5OTk5OWMwJTIwLjIxOTk5OTk5OTk5OTk5LS4wNC43ODk5OTk5OTk5OTk5OS0uNDElMjAxLjI5OTk5OTk5OTk5OTk5LS4yNS4zNC0uODcuOTctLjk5JTIwMS4xLS4xNjAwMDAwMDAwMDAwMi4xNTk5OTk5OTk5OTk5Ny0uNDIuMjU5OTk5OTk5OTk5OTctLjY4LjI1OTk5OTk5OTk5OTk3bS0xLjItMi43NGMuMjMuMTMuNjMuMzcuOTUuNTUuMTUtLjE2LjI4LS4zMS4zMy0uMzglMjAwLS4wNC4wMi0uMTYuMDMtLjJsLjQtNi44N2MuMDE5OTk5OTk5OTk5OTktLjI2LjEyOTk5OTk5OTk5OTk5LS41MS4zMjk5OTk5OTk5OTk5OS0uNjguMDM5OTk5OTk5OTk5OTktLjExLjA3OTk5OTk5OTk5OTk5LS4yOS4xMjk5OTk5OTk5OTk5OS0uNDVsLjA1LS4xOHMuNDQtMi40Mi41OC00LjUxYy4wOC0xLjU2LjE2LTMuMzUuMTQtMy42Mi0uMDQwMDAwMDAwMDAwMDEtLjU1LS4xNzAwMDAwMDAwMDAwMS0uODctLjI4MDAwMDAwMDAwMDAxLS45OC0uMTktLjItLjMtLjQ3LS4yOC0uNzVsLjAxLS4yNC0yLjM3LS40OWMtLjQ0MDAwMDAwMDAwMDAxLS4wOS0uNzcwMDAwMDAwMDAwMDEtLjQ3LS44MDAwMDAwMDAwMDAwMS0uOTJzLjI2LS44Ny42OS0xLjAxbC4xNS0uMDRjLjA1LS4wMS4xLS4wMy4xNC0uMDUuMDUtLjAyLjEtLjA1LjE1LS4wOEwzMS43MyUyMDIwLjc4Yy4xNy0uMDguMjgtLjE0LjM4LS4yLjA3LS4wNC4xMi0uMDguMTctLjEybC4yMi0uMTdjLjAyLS4wMy4wNS0uMDUuMDctLjA3Ljg4LS43OCUyMDEuMzYtMS44NCUyMDEuMzctMi45OSUyMDAtMS4wNzAwMDAwMDAwMDAwMi0uNDEtMi4wNzAwMDAwMDAwMDAwMi0xLjE2LTIuODMwMDAwMDAwMDAwMDItLjc1LS43NTAwMDAwMDAwMDAwMS0xLjc3LTEuMTgwMDAwMDAwMDAwMDEtMi44LTEuMTcwMDAwMDAwMDAwMDEtMS4wNiUyMDAtMi4wNS40MS0yLjc5JTIwMS4xNy0uNzUuNzUtMS4xNiUyMDEuNzYtMS4xNiUyMDIuODMlMjAwJTIwMS4xNi41MSUyMDIuMjYlMjAxLjQxJTIwMy4wMy4wMy4wMi4wNi4wNS4wOC4wOGwuMDguMDZjLjEzLjEuMi4xNS4yNy4yLjEuMDYuMjEuMTIuMzIuMTcuMDIuMDA5OTk5OTk5OTk5OTkuMTIuMDU5OTk5OTk5OTk5OTkuMTMuMDY5OTk5OTk5OTk5OTkuMzUuMi41Ni42LjUxJTIwMXMtLjMxLjc0LS43Ljg1bC0xLjU2LjQ1Yy0uMDkuMS0uMi4xOS0uMzIuMjUtLjAyLjAxLS4wMy4wMi0uMDUuMDIlMjAwJTIwLjAxLS4wMS4wMS0uMDIuMDItLjAzLjA0LS4xNC4yMS0uMTMuNzEtLjAxLjItLjE1JTIwMy42NS0uMjIlMjA0LjM1LS4wOC44MS0uMTYlMjAyLjk3LS4xNiUyMDIuOTklMjAwJTIwLjA5LS4wMS4yLS4wMS4zdi4wNGMuMjUtLjEuNTMtLjEuNzguMDEuMzQuMTUuNTcuNDguNTkuODUuMTklMjAzLjE2LjM3JTIwNi4wMi40MiUyMDYuODYuMjIuMTUuNTMuMzYuNzcuNTIuMDQtLjAyMDAwMDAwMDAwMDAxLjA5LS4wMzAwMDAwMDAwMDAwMS4xNC0uMDUwMDAwMDAwMDAwMDFsLjI4LTMuMThjLjA0LS41MS40Ni0uOS45Ny0uOTFoLjAzYy41JTIwMCUyMC45Mi4zNy45OS44Ni40NiUyMDMuNjMuNTklMjA0LjY0LjYyJTIwNC45N20tNC4xMi0yLjM5Yy4wMS4wMS4wNC4wMy4xLjA3LS4wNC0uMDItLjA3LS4wNS0uMS0uMDclMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNThhMmMlMjIlMjBkJTNEJTIybTM0LjY4JTIwMjIuNjQtNC40Ni0uODNzLTIuNDIuMzUtMi40My4zNWwtLjQ2JTIwMTcuOTguNzglMjAxLjAzczEuMDItLjM4JTIwMS4xLS40MS4wNy0uMTguMDctLjE4bC42Ni03LjU0JTIwMS40NiUyMDkuNzQlMjAxLjA0LjdjMCUyMDJlLTE0LjY4LS42ODk5OTk5OTk5OTk5OC44OS0uOTc5OTk5OTk5OTk5OTguMjQtLjMzLjIyLS43My4yMi0uNzN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zMi42NiUyMDMzLjUzYy0uMDIuNTctLjI3JTIwMS4yMy43NSUyMDEuNDEuNzQuMTMuNzUtLjExJTIwMS4wMi0xLjEzJTIwMCUyMDAlMjAuNDctMi41LjYxLTQuNzElMjAwJTIwMCUyMC4xOC0zLjMxLjE0LTMuNzYtLjEyLTEuNjYtLjkxLTIuMTEtMS42NC0xLjg3LS41My4xNy0xLjA4LjY1LS45NCUyMDIuMDElMjAwJTIwMCUyMC4xOCUyMDMuODkuMTglMjA0LjY0LS4wMi45My0uMTIlMjAzLjQxLS4xMiUyMDMuNDElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIyTTMyLjY2JTIwMzMuNTNjLS4wMi40LjE5LTEuODYuNDItNC45NC4xLTEuMzUtLjA4LTQuODctLjI3LTQuNTZzLS4yOS43Ny0uMjIlMjAxLjQ1YzAlMjAwJTIwLjE4JTIwMy44OS4xOCUyMDQuNjQtLjAxLjkzLS4xMSUyMDMuNDEtLjExJTIwMy40MSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTI0LjY0JTIwMzEuNDVjLS4wMS42Ny0uMiUyMDEuMjcuNzMlMjAxLjQzLjkxLjE1Ljg2LS42MS45My0uODclMjAwJTIwMCUyMC40NS0xLjkyLjc1LTMuOTElMjAwJTIwMCUyMC4zMy0zLjQ0LjMzLTMuODUuMDItMS41Mi0uNjYtMS45OS0xLjM1LTEuODQtLjUuMTEtMS4wMy41LTEuMDElMjAxLjc1JTIwMCUyMDAtLjE1JTIwMy41Ni0uMjElMjA0LjI0LS4wOS44NC0uMTclMjAzLjA1LS4xNyUyMDMuMDUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI0LjY0JTIwMzEuNDVjLS4wMS42Ny0uMiUyMDEuMjcuNzMlMjAxLjQzLjkxLjE1Ljg2LS42MS45My0uODclMjAwJTIwMCUyMC40NS0xLjkyLjc1LTMuOTElMjAwJTIwMCUyMC4zMy0zLjQ0LjMzLTMuODUuMDItMS41Mi0uNjYtMS45OS0xLjM1LTEuODQtLjUuMTEtMS4wMy41LTEuMDElMjAxLjc1JTIwMCUyMDAtLjE1JTIwMy41Ni0uMjElMjA0LjI0LS4wOS44NC0uMTclMjAzLjA1LS4xNyUyMDMuMDUlMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMm0zMS41NiUyMDIzLjcxLTYuMTctMS4yOXMtLjA1LjAxLS4wNC4wOWMuMTMlMjAxLjUlMjAxLjA3JTIwMTcuMDglMjAxLjA5JTIwMTcuMzQuMDIuMjcuMTkuMzcuMTkuMzdzMS4zLjg5JTIwMS4zOS45My4yNyUyMDAlMjAuMjclMjAwLS4xMy0uMDQtLjE0LS4yM2MtLjAyLS4xOS4zLTcuNDYuMy03LjQ2LjAxLS4zNy4xMS0uNTIuMzYtLjUzLjI0JTIwMCUyMC4yOS4xNS4zMS41MyUyMDAlMjAwJTIwMS4xNCUyMDguMDUlMjAxLjE1JTIwOC40OHMuMzEuNTYuMzEuNTYlMjAxLjQ3Ljg2JTIwMS41OS45Mi4zLjAxLjMuMDEtLjIyLS4wMS0uMjItLjNjMC0uMTktLjY5LTE5LjQyLS42OS0xOS40MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMjYuNzQlMjAyMi42NyUyMDIuMDIlMjA0Ljk4JTIwMS4yMy00LjI2JTIyJTIwb3BhY2l0eSUzRCUyMi42JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0yNS40MyUyMDIyLjQyJTIwNi4xMyUyMDEuMjklMjAzLjE2LTEuMDctNS44OC0xLjIlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuODklMjIlMjBjeSUzRCUyMjIyLjQxJTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMiUyMHJ4JTNEJTIyMi4yNSUyMiUyMHJ5JTNEJTIyLjQzJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk1JTIyJTIwY3klM0QlMjIxNy4yMyUyMiUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjByeCUzRCUyMjQuOTYlMjIlMjByeSUzRCUyMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI5LjkzJTIwMjEuNzRjLTEuMTklMjAwLTIuMy0uMjctMy4yNC0uNzUuODcuNzclMjAyLjAxJTIwMS4yNCUyMDMuMjYlMjAxLjI0JTIwMS4yOCUyMDAlMjAyLjQ0LS40OSUyMDMuMzItMS4yOC0uOTYuNS0yLjExLjc5LTMuMzQuNzklMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fMTEuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NnJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQy9nJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTEyLjk1JTIwNDUuMTVjLS4yNCUyMDAtLjQ0LS4xNy0uNDktLjRzLjA4LS40Ny4zLS41NmwxMS45OC00Ljk3Yy4xNS0uMDYuMzEtLjA1LjQ1LjAzcy4yMy4yMi4yNC4zOGMwJTIwLjAxLjE0JTIwMS40Ni43MSUyMDIuMjYuNDkuNjklMjAyLjMlMjAxLjg2JTIwMi45NiUyMDIuMjUuMTkuMTIuMjkuMzQuMjMuNTZzLS4yNi4zNy0uNDguMzd6bTExLjU5LTQuNzYtOS4wNCUyMDMuNzUlMjAxMS42OC0uMDZjLS43MS0uNS0xLjQ5LTEuMTEtMS44NS0xLjYxLS40NS0uNjItLjY4LTEuNDktLjc5LTIuMDglMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI4Ljg1JTIwNDQuNThzLTIuNDYtMS40Ny0zLjEyLTIuMzljLS42Ni0uOTMtLjgtMi41LS44LTIuNWwtMTEuOTglMjA0Ljk3eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMzAuNjglMjA0NC40NmMtLjI2JTIwMC0uNTItLjA5LS43My0uMjYtLjA4LS4wNy0uODMtLjgyLS45NS0uOTUtLjE5LS4xOC0uNDktLjU3LS41LTEuMjYlMjAwLS4wNC0uMDEtLjEyLS4wMS0uMjUtLjA1LjAxLS4wOC4wMi0uMDguMDItLjQ2LjEyLS43OCUyMDAtLjk3LS4xMi0uMTItLjA4LS4xNy0uMTEtMS4wOC0xLjEtLjA2LS4wNS0uMzYtLjM4LS4zOC0xLjAxLS4wMS0uMTYtLjE1LTIuNjktLjMxLTUuNzctLjcyLS4yMy0xLjQ0LS44My0xLjE3LTIuMzdsLjAzLS4xOGMwLS4wMS4yOS0yLjIzLjM3LTMuMDcuMDUtLjU0LjE3LTMuMjEuMjEtNC4xOSUyMDAtLjA4JTIwMC0uMTkuMDEtLjMxbC0uMDYtMS4wOWMtLjAyLS4zOS4yMS0uODQuNTUtMS4wMy4wNS0uMDMuMTEtLjA1LjE2LS4wNy0xLjEzLTEuMTMtMS43OC0yLjY1LTEuNzctNC4yNCUyMDAtMS42LjYyLTMuMTElMjAxLjc1LTQuMjQlMjAxLjEyLTEuMTMlMjAyLjYyLTEuNzUlMjA0LjIxLTEuNzVoLjAxYzEuNTkwMDAwMDAwMDAwMDIlMjAwJTIwMy4wOTAwMDAwMDAwMDAwMi42MyUyMDQuMjEwMDAwMDAwMDAwMDIlMjAxLjc2czEuNzQlMjAyLjY0JTIwMS43NCUyMDQuMjRjMCUyMDEuNjEtLjY2JTIwMy4xNS0xLjgzJTIwNC4yOS0uMDMuMDQtLjA2LjA4LS4xLjEybC4xNC4wNGMuNDYuMTMuNzYuNTYuNzMlMjAxLjA0bC0uMDcuODVjLjI1LjQ1LjQlMjAxLjAyLjQ1JTIwMS42OS4wMy40Ny4wMSUyMDMuNjcuMDElMjA0LjMxLS4xNCUyMDIuMzEtLjY2JTIwNC41NC0uNjklMjA0LjYzLS4xLjY4LS4zNCUyMDEuMTgtLjcxJTIwMS41bC0uNTIlMjA2LjcxYzAlMjAuNC0uMjYlMjAxLjA5LS45OSUyMDEuNDYtLjUwMDAwMDAwMDAwMDAxLjI1LS45OTAwMDAwMDAwMDAwMS40Mi0xLjE5MDAwMDAwMDAwMDAxLjQ5QzMxJTIwNDQuNDMlMjAzMC44NCUyMDQ0LjQ2JTIwMzAuNjglMjA0NC40Nm0tLjE4LTIuNTNjLjEuMS4yNS4yNi40LjQxLjE0LS4wNS4yOS0uMTIuNDUtLjJsLjU1LTcuMTJjLjAzLS4zOS4yOC0uNzIuNjQtLjg2LjAyLS4wOC4wNC0uMTkuMDUtLjI0JTIwMC0uMDEuMDItLjEyLjAyLS4xMy4wMS0uMDcuNTEtMi4yLjY0LTQuMjguMDEtMS43ODAwMDAwMDAwMDAwMi4wMS0zLjg0MDAwMDAwMDAwMDAyJTIwMC00LjA5MDAwMDAwMDAwMDAyLS4wNC0uNi0uMTktLjg2LS4yNy0uOTYtLjE2LS4yLS4yMy0uNDUtLjIxLS43bC4wMy0uMzctMS42MS0uNDVjLS40Mi0uMTItLjcyLS41LS43My0uOTRzLjI3LS44NC42OS0uOTdsLjE1LS4wNGMuMDUtLjAxLjEtLjAzLjE0LS4wNS4wNS0uMDIuMS0uMDUuMTUtLjA4bC4xMjk5OTk5OTk5OTk5OS0uMDdjLjE3LS4wOC4yOC0uMTQuMzgtLjIuMDctLjA0LjEyLS4wOC4xNy0uMTJsLjIyLS4xN2MuMDItLjAzMDAwMDAwMDAwMDAxLjA1LS4wNTAwMDAwMDAwMDAwMS4wNy0uMDcwMDAwMDAwMDAwMDEuODgtLjc4JTIwMS4zNi0xLjg0JTIwMS4zNy0yLjk5JTIwMC0xLjA3LS40MS0yLjA3LTEuMTYtMi44My0uNzUtLjc1MDAwMDAwMDAwMDAxLTEuNzQtMS4xNzAwMDAwMDAwMDAwMS0yLjc5LTEuMTcwMDAwMDAwMDAwMDEtMS4wNiUyMDAtMi4wNS40MS0yLjc5JTIwMS4xNy0uNzUuNzUtMS4xNiUyMDEuNzYtMS4xNiUyMDIuODMlMjAwJTIwMS4xNi41MSUyMDIuMjYlMjAxLjQxJTIwMy4wMy4wMy4wMTk5OTk5OTk5OTk5OS4wNi4wNDk5OTk5OTk5OTk5OS4wOC4wNzk5OTk5OTk5OTk5OWwuMDgwMDAwMDAwMDAwMDEuMDZjLjEzLjEuMi4xNS4yNy4yLjEuMDYuMjEuMTIuMzIuMTdsLjE5LjFjLjAzMDAwMDAwMDAwMDAxLjAxOTk5OTk5OTk5OTk5LjA3MDAwMDAwMDAwMDAxLjAzOTk5OTk5OTk5OTk5LjEwMDAwMDAwMDAwMDAxLjA0OTk5OTk5OTk5OTk5LjM5MDAwMDAwMDAwMDAxLjE2LjY0MDAwMDAwMDAwMDAxLjU1LjYyMDAwMDAwMDAwMDAxLjk4LS4wMi40Mi0uMzEuNzktLjcyLjkxbC0xLjI1LjM2LjAyLjQ0di4xM2MtLjAxLjA4LS4wMS4xNi0uMDEuMjUtLjAwOTk5OTk5OTk5OTk5LjItLjE0OTk5OTk5OTk5OTk5JTIwMy42NS0uMjE5OTk5OTk5OTk5OTklMjA0LjM1LS4wOC44NS0uMzglMjAzLjEyLS4zOCUyMDMuMTItLjAxLjA4LS4wMy4xOC0uMDQuMjglMjAwJTIwLjAxOTk5OTk5OTk5OTk5LS4wMS4wMzk5OTk5OTk5OTk5OS0uMDEuMDU5OTk5OTk5OTk5OTkuMjQtLjAzLjQ5LjAyLjcxLjE2LjI3LjE3LjQ0LjQ5LjQ1LjgxLjIzJTIwNC4yNzk5OTk5OTk5OTk5OS4zMyUyMDYuMTA5OTk5OTk5OTk5OTkuMzYlMjA2LjU2OTk5OTk5OTk5OTk5LjA3LjA3OTk5OTk5OTk5OTk4LjE2LjE2OTk5OTk5OTk5OTk4LjI1LjI2OTk5OTk5OTk5OTk4bC4wNy0uODJjLjA1LS41Mi40OC0uOTElMjAxLS45MWguMDFjLjUyJTIwMCUyMC45NS40MS45OS45My4xJTIwMS45Ny4xNiUyMDIuODcuMTclMjAzLjExbS0yLjczLTIuOC4xLjA5OTk5OTk5OTk5OTk5eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjUuNTElMjAzMS4zNGMtLjA2LjUyLS4zNiUyMDEuMy41NiUyMDEuNTFzMS4wMy0uNyUyMDEuMS0uOTVjMCUyMDAlMjAuNjUtMS45Ny45NS0zLjk2JTIwMCUyMDAlMjAuMzMtMy40NC4zMy0zLjg1LjAyLTEuNTItLjY2LTEuOTktMS4zNS0xLjg0LS41LjExLTEuMDMuNS0xLjAxJTIwMS43NSUyMDAlMjAwLS4xNSUyMDMuNTYtLjIxJTIwNC4yNC0uMDcuODUtLjM3JTIwMy4xLS4zNyUyMDMuMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJNMjUuNTElMjAzMS4zNGMtLjA2LjUyLS4zNiUyMDEuMy41NiUyMDEuNTFzMS4wMy0uNyUyMDEuMS0uOTVjMCUyMDAlMjAuNjUtMS45Ny45NS0zLjk2JTIwMCUyMDAlMjAuMzMtMy40NC4zMy0zLjg1LjAyLTEuNTItLjY2LTEuOTktMS4zNS0xLjg0LS41LjExLTEuMDMuNS0xLjAxJTIwMS43NSUyMDAlMjAwLS4xNSUyMDMuNTYtLjIxJTIwNC4yNC0uMDcuODUtLjM3JTIwMy4xLS4zNyUyMDMuMSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNThhMmMlMjIlMjBkJTNEJTIybTMzLjg2JTIwMjIuNjQtNC4zMS0xLjJzLTMuNDElMjAxLjAyLTMuNDMlMjAxLjAybC45OCUyMDE3LjMxJTIwMS4wNCUyMDEuMDNzLjgxLS4yMi45MS0uMjZjLjEtLjAzLjEtLjE4LjEtLjE4bC4xNS0xLjY4LjclMjA0LjEuNzIuNjZzLjYtLjE4JTIwMS4xNi0uNDdjLjQ1LS4yMy40NS0uNjUuNDUtLjY1eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjkuOTclMjAyMy43MS0zLjg5LTEuMjlzLS4wMy4wMS0uMDMuMDljLjA4JTIwMS41LjkxJTIwMTYuNzIuOTIlMjAxNi45OXMuMTIuMzcuMTIuMzcuODIuODkuODguOTMuMTclMjAwJTIwLjE3JTIwMC0uMDgtLjA0LS4wOS0uMjMuMzgtNy40OC4zOC03LjQ4Yy4wMS0uMzcuMDctLjUyLjIzLS41My4xNSUyMDAlMjAuMTkuMTUuMTkuNTMlMjAwJTIwMCUyMC42MyUyMDguNDUuNjQlMjA4Ljg4cy4yLjU2LjIuNTYuODIuODMuODkuODljLjA4LjA2LjE5LjAxLjE5LjAxcy0uMTQtLjAxLS4xNC0uM2MuMDEtLjE5LS42Ni0xOS40Mi0uNjYtMTkuNDIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI2LjA4JTIwMjIuNDIlMjAzLjg5JTIwMS4yOSUyMDMuODktMS4wNy00LjM3LTEuMiUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS43JTIyJTIwY3klM0QlMjIyMi40JTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMiUyMHJ4JTNEJTIyMi4xMyUyMiUyMHJ5JTNEJTIyLjUyJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0zMy45NyUyMDI1LjY2Yy0uMDQtMS42Ny0uNzItMi40Ni0xLjQ0LTIuMjItLjgxLjI3LTEuMjklMjAxLjAzLTEuMjElMjAyLjQlMjAwJTIwMCUyMC4wNyUyMDMuNzMuMDMlMjA0LjQ4LS4wNS45My0uMjclMjAzLjQtLjI3JTIwMy40LS4wNS41Ny0uMzMlMjAxLjQ0LjY4JTIwMS42My4yMi4wNC4zOS0uMDEuNTMtLjEybC4yOC0uNDNzLjk3LTIuNzIlMjAxLjIxLTQuOTFjMC0uMDIuMi0zLjc4LjE5LTQuMjMlMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zMS43MyUyMDMzLjUzYy0uMDIuNTctLjI3JTIwMS40NS43NiUyMDEuNTklMjAxLjAyLjE0JTIwMS4wNS0uODYlMjAxLjExLTEuMTQlMjAwJTIwMCUyMC41Mi0yLjIxLjY2LTQuNDElMjAwJTIwMCUyMC4wMy0zLjc4LS4wMS00LjIzLS4xMi0xLjY2LS45MS0yLjExLTEuNjQtMS44Ny0uNTMuMTctMS4wOC42NS0uOTQlMjAyLjAxJTIwMCUyMDAlMjAuMTglMjAzLjg5LjE4JTIwNC42NC0uMDIuOTMtLjEyJTIwMy40MS0uMTIlMjAzLjQxJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0zMi4wOCUyMDMzLjg0MDAwMDAwMDAwMDAxcy4wOC0yLjgxLjA4LTMuNzdjLjAxLS43OS0uMy00LjczLS4zLTQuNzMtLjA4LS43OS4wNi0xLjMxLjI5LTEuNjMtLjM0LjI4LS41OS44Mi0uNDklMjAxLjc5JTIwMCUyMDAlMjAuMTglMjAzLjg5LjE4JTIwNC42NC0uMDEuOTMtLjExJTIwMy40MS0uMTElMjAzLjQxLS4wMi40NS0uMTclMjAxLjEuMjglMjAxLjQyLjAyLS4yOC4wNi0uNzUuMDctMS4xMyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NSUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45MyUyMDIxLjc0Yy0xLjE5JTIwMC0yLjMtLjI3LTMuMjQtLjc1Ljg3Ljc3JTIwMi4wMSUyMDEuMjQlMjAzLjI2JTIwMS4yNCUyMDEuMjglMjAwJTIwMi40NC0uNDklMjAzLjMyLTEuMjgtLjk2LjUtMi4xMS43OS0zLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMjcuMTMlMjAyMi43Ny45NCUyMDQuNjYuNzYtNC4xJTIyJTIwb3BhY2l0eSUzRCUyMi42JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fMTIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NnJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjIxJTIyJTIwY3klM0QlMjI0MS41JTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDL2clM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMjkuNjclMjA0My44M2MtLjUlMjAwLS45NS0uMDQtMS4xNy0uMDctLjMzLjAyLS41Ni0uMDgtLjcxLS4xOHMtLjI5LS4xOC0uODgtMS4wNWMtLjEtLjE1LS4xNi0uMzMtLjE3LS41MS0uMDEtLjE5LTEuMDEtMTguNzQtMS4xMS0yMC4yMXEtLjAxNS0uMjEuMDYtLjQyYy0xLjA3LTEuMTEtMS42OS0yLjYtMS42OS00LjE2JTIwMC0xLjYuNjItMy4xMSUyMDEuNzUtNC4yNCUyMDEuMTItMS4xMyUyMDIuNjItMS43NSUyMDQuMjEtMS43NWguMDFjMS41OSUyMDAlMjAzLjA5LjYzJTIwNC4yMSUyMDEuNzZzMS43NCUyMDIuNjQlMjAxLjc0JTIwNC4yNGMwJTIwMS43NC0uNzUlMjAzLjM1LTIuMDIlMjA0LjQ3bC4xOS4xNWMuMjYuMjEuNC41NC4zNi44OEwzMi40OCUyMDQyLjRjLS4wNC43NS0uODMlMjAxLjA1LTEuMjIlMjAxLjItLjQ0LjE4LTEuMDUuMjMtMS41OS4yM20uODEtMS42MWMwJTIwLjA1LS4wMS4wOS0uMDEuMTR2LS4xMnptLTEuNjYtLjQ0Yy42My4wNiUyMDEuNDQuMDYlMjAxLjcxLS4wNGwxLjg3LTE4LjY2LS42OS0uNTZjLS4yMy0uMTQtLjQtLjM2LS40Ni0uNjItLjEtLjQ1LjA4LS45MS40OS0xLjEyJTIwMS4zNS0uNjklMjAyLjE4LTIuMDUlMjAyLjE4LTMuNTQlMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43Ny0xLjE0LTIuOC0xLjE3LTEuMDYlMjAwLTIuMDUuNDEtMi43OSUyMDEuMTctLjc1Ljc1LTEuMTYlMjAxLjc2LTEuMTYlMjAyLjgzJTIwMCUyMDEuNDIuNzMlMjAyLjclMjAxLjk3JTIwMy40NC4zNS4yMS41NC42MS40OCUyMDEuMDItLjA3LjQxLS4zNy43My0uNzcuODIuMjElMjAzLjY0LjkzJTIwMTYuOTQlMjAxLjA1JTIwMTkuMTMuMDEuMDMuMDQuMDguMDguMTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTI2Ljk5JTIwNDMuOWgtLjA2bC0xNS4xNi0xLjk5Yy0uMjUtLjAzLS40NC0uMjUtLjQ0LS41cy4xOS0uNDYuNDQtLjVMMjYuNTglMjAzOWMuMjMtLjAzLjQ1LjEuNTMuMzJzLjAxLjQ2LS4xOC41OWMtLjAxLjAxLTEuMDUuNzYtLjc3JTIwMS4zOS40My45NCUyMDEuMTglMjAxLjc1JTIwMS4xOSUyMDEuNzUuMTQuMTUuMTguMzguMDguNTctLjA4LjE3LS4yNS4yOC0uNDQuMjhtLTExLjI4LTIuNDklMjAxMC4xMyUyMDEuMzNjLS4yLS4zLS40Mi0uNjUtLjU5LTEuMDItLjI1LS41NS0uMTQtMS4wOS4xMS0xLjU1eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMjYuOTklMjA0My40cy0uODEtLjg2LTEuMjgtMS44OS45NC0yLjAxLjk0LTIuMDFsLTE0LjgxJTIwMS45MXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNThhMmMlMjIlMjBkJTNEJTIybTMzLjQ1MDAwMDAwMDAwMDAxJTIwMjIuNjQtNS42LTEuMnMtMS4xMi4yNC0xLjE0LjI0bDEuNDMlMjAyMC41NC4zNS41M3MxLjY4LjIxJTIwMi40MS0uMDhjLjU4LS4yMy41OC0uMzQuNTgtLjM0eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjcuMzglMjAyMi43LS43My0xLjA2cy0uMDQuMDEtLjAzLjA5Yy4xJTIwMS41JTIwMS4xMSUyMDIwLjIzJTIwMS4xMSUyMDIwLjIzcy40Ny43LjU4Ljc2Yy4xLjA2LjI1LjAxLjI1LjAxcy0uMTgtLjAxLS4xOC0uM2MtLjAxLS4xOS0xLTE5LjczLTEtMTkuNzMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI2LjY1JTIwMjEuNjUuNzMlMjAxLjA1JTIwNi4wNy0uMDYtMS4yLS45NyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45JTIyJTIwY3klM0QlMjIyMi4wMSUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBvcGFjaXR5JTNEJTIyLjUlMjIlMjByeCUzRCUyMjIuMTMlMjIlMjByeSUzRCUyMi41MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjkuMjYlMjAzMy41M2MtLjAyLjU3LS4zMSUyMDEuNDUuODclMjAxLjU5JTIwMS4xNy4xNCUyMDEuMjEtLjg2JTIwMS4yNy0xLjE0JTIwMCUyMDAlMjAuNDItMi4xNi41OC00LjM2JTIwMCUyMDAlMjAuMjEtMy44My4xNy00LjI4LS4xNC0xLjY2LTEuMDUtMi4xMS0xLjg4LTEuODctLjYxLjE3LTEuMjQuNjUtMS4wOCUyMDIuMDElMjAwJTIwMCUyMC4wMyUyMDMuOTQuMDIlMjA0LjY5LS4wMi45My4wNSUyMDMuMzYuMDUlMjAzLjM2JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS42NiUyMDMzLjg0MDAwMDAwMDAwMDAxcy0uMDktMi43Ni0uMDktMy43MmMuMDEtLjc5LS4xNi00Ljc4LS4xNi00Ljc4LS4wOS0uNzkuMDYtMS4zMS4zMy0xLjYzLS4zOS4yOC0uNjguODItLjU2JTIwMS43OSUyMDAlMjAwJTIwLjAzJTIwMy45NC4wMiUyMDQuNjktLjAxLjkzLjA1JTIwMy4zNi4wNSUyMDMuMzYtLjAyLjQ1LS4yJTIwMS4xLjMyJTIwMS40Mi4wMy0uMjguMDgtLjc1LjA5LTEuMTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuOTUlMjIlMjBjeSUzRCUyMjE3LjIzJTIyJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMHJ4JTNEJTIyNC45NiUyMiUyMHJ5JTNEJTIyNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJNMjkuOTMlMjAyMS43NGMtMS4xOSUyMDAtMi4zLS4yNy0zLjI0LS43NS44Ny43NyUyMDIuMDElMjAxLjI0JTIwMy4yNiUyMDEuMjQlMjAxLjI4JTIwMCUyMDIuNDQtLjQ5JTIwMy4zMi0xLjI4LS45Ni41LTIuMTEuNzktMy4zNC43OSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl8xMy5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzMTExJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzAuMzMlMjAyNy4yYy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40MmMwLTcuOTctOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNTk5OTk5OTk5OTk5OSUyMDE5LjQ3JTIwMTMuNTI5OTk5OTk5OTk5OTktOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUxJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDL2clM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNMjUuNzYlMjA0Mi42Yy0uMDclMjAwLS4xNC0uMDEtLjItLjA0bC0xMi40Mi01LjQ0Yy0uMjMtLjEtLjM1LS4zNS0uMjgtLjU5LjA2LS4yNC4yOS0uNC41NC0uMzdsMTUuMDMlMjAxLjY0Yy4yNC4wMy40Mi4yMS40NC40NXMtLjEyLjQ1LS4zNS41M2MtMS4wMy4zMy0yLjE4Ljk2LTIuMjYlMjAxLjM5LS4xOCUyMDEtLjAyJTIwMS44Mi0uMDElMjAxLjgzLjA0LjE4LS4wMy4zNy0uMTcuNDktLjA5LjA4LS4yMS4xMS0uMzIuMTFtLTkuMjMtNS4wOCUyMDguNjUlMjAzLjc5Yy0uMDEtLjM3LjAxLS44Mi4xLTEuMzIuMS0uNTYuNjMtMS4wMyUyMDEuMjEtMS4zOXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI1Ljc2JTIwNDIuMXMtLjIyLS45Mi4wMS0yLjAzYy4yMi0xLjA0JTIwMi42LTEuNzglMjAyLjYtMS43OGwtMTUuMDMtMS42NHolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTI4LjgxJTIwNDQuNDZjLS4xNiUyMDAtLjMxLS4wMy0uNDYtLjA5LS4yLS4wNy0uNjktLjI0LTEuMTktLjQ5LS43NC0uMzctMS0xLjA3LTEtMS41NGwtLjUxLTYuNTljLS44Mi0uNTgtLjczLTEuNjUtLjctMi4wNmwuMDEtLjJjMC0uMDEuMS0yLjQ2LjExLTMuMzglMjAwLS4yNC0uMDItMS4wMi0uMTItMy4zOGwtLjMxLTQuMDJjLS4wNC0uNDguMjctLjkxLjczLTEuMDRsLjQ2LS4xM2MtLjAxLS4wMS0uMDEtLjAyLS4wMi0uMDMtMS4xNi0xLjEzLTEuODItMi42OC0xLjgzLTQuMjglMjAwLTEuNi42Mi0zLjExJTIwMS43NC00LjI0czIuNjItMS43NiUyMDQuMjItMS43NmguMDFjMS41OSUyMDAlMjAzLjA5LjYyJTIwNC4yMSUyMDEuNzUlMjAxLjEzJTIwMS4xMyUyMDEuNzUlMjAyLjY0JTIwMS43NSUyMDQuMjQlMjAwJTIwMS42My0uNjclMjAzLjE5LTEuODYlMjA0LjMzLjA2LjA0LjEyLjA5LjE4LjE0LjU4LjUuODYlMjAxLjMxLjg1JTIwMi40MSUyMDAlMjAuNDMtLjI4JTIwMy4zNS0uMzQlMjAzLjkzLS4yJTIwMS4zMy0uNTMlMjAyLjYtLjc4JTIwMy40Ny0uMjIlMjA0LS40MyUyMDcuODUtLjQ0JTIwOC4wMy0uMDMuNjMtLjMyLjk2LS40NSUyMDEuMDctLjg0LjkyLS44OS45Ni0xLjAxJTIwMS4wMy0uNC4yNS0uODEuMTctLjk5LjEyLS4wMiUyMDAtLjA0LS4wMS0uMDYtLjAxLS4wMS4xMy0uMDEuMjEtLjAxLjI1LS4wMS42OS0uMzElMjAxLjA4LS41JTIwMS4yNi0uMTMuMTMtLjg3Ljg4LS45NS45NC0uMjEuMTgtLjQ3LjI3LS43NC4yN20tLjY2LTIuMzJjLjE2LjA4LjMyLjE0LjQ1LjIuMTQtLjE1LjMtLjMxLjQtLjQuMDItLjQ2LjE2LTIuMzEuMjItMy4xMi4wNC0uNTIuNDctLjkyLjk5LS45M2guMDFjLjUyJTIwMCUyMC45NS4zOSUyMDElMjAuOTFsLjA3LjgyYy4wOS0uMS4xOC0uMTkuMjUtLjI3LjAyLS40LjExLTIuMDMuNDQtOC4wNiUyMDAtLjA4LjAyLS4xNS4wNC0uMjMuMjQtLjgxLjU2LTIuMDQuNzUtMy4yNi4xNS0xLjYxMDAwMDAwMDAwMDAxLjMyLTMuNDcwMDAwMDAwMDAwMDEuMzItMy43MTAwMDAwMDAwMDAwMS4wMS0uNjktLjE2LS44Ny0uMTYtLjg3LS4xNS4wMi0uMjUuMDQtLjM5JTIwMGwtMS4xNC0uMzNjLS40MS0uMTIwMDAwMDAwMDAwMDEtLjctLjQ4MDAwMDAwMDAwMDAxLS43Mi0uOTEwMDAwMDAwMDAwMDFzLjIzLS44Mi42My0uOThsLjEyLS4wNWMuMDYtLjAzLjEyLS4wNi4xNy0uMDhsLjExLS4wNmMuMTMtLjA2LjI1LS4xMi4zNy0uMi4wNy0uMDQuMTMtLjEuMi0uMTUuMDYtLjA1LjExLS4wOC4xNS0uMTEuMDItLjAzLjA1LS4wNS4wOC0uMDcuOS0uNzclMjAxLjQxLTEuODglMjAxLjQxLTMuMDMlMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43NC0xLjE3LTIuNzktMS4xNy0xLjA2JTIwMC0yLjA1LjQyLTIuOCUyMDEuMTctLjc1Ljc2LTEuMTYlMjAxLjc2LTEuMTYlMjAyLjgzJTIwMCUyMDEuMTUuNDklMjAyLjIxJTIwMS4zNyUyMDIuOTkuMDMuMDIuMDUuMDUuMDguMDhsLjIyLjE3LjE1LjEyYy4xMS4wNy4yMi4xMy4zNC4xOGwuMTcuMDljLjA1LjAzLjEuMDUuMTUuMDglMjAwJTIwMCUyMC4xMi4wNS4xMy4wNS40MS4xNS42Ny41NS42NS45OHMtLjMxLjgxLS43My45MmwtMS44MS41MS4yNSUyMDMuMjNjLjA5JTIwMS45OS4xMyUyMDMuMTMuMTIlMjAzLjUxLS4wMS45NC0uMTElMjAzLjQ0LS4xMSUyMDMuNDQlMjAwJTIwLjA4LS4wMS4xOC0uMDIuMjgtLjAxLjA4LS4wMi4yLS4wMi4yOS4zNi4xNC42NC40OC42Ny44N3ptMy41Mi0yLjk0Yy0uMDMuMDItLjA1LjA0LS4wNi4wNy4wMy0uMDUuMDYtLjA3LjA2LS4wNyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJNMzEuMTQlMjAzMS4zNGMtLjA2LjUyLS4zNiUyMDEuMy41NiUyMDEuNTFzMS4wMy0uNyUyMDEuMS0uOTVjMCUyMDAlMjAuNjUtMS45Ny45NS0zLjk2JTIwMCUyMDAlMjAuMzMtMy40NC4zMy0zLjg1LjAyLTEuNTItLjY2LTEuOTktMS4zNS0xLjg0LS41LjExLTEuMDMuNS0xLjAxJTIwMS43NSUyMDAlMjAwLS4xNSUyMDMuNTYtLjIxJTIwNC4yNC0uMDguODUtLjM3JTIwMy4xLS4zNyUyMDMuMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZkYmYyZCUyMiUyMGQlM0QlMjJtMjUuNjQlMjAyMi42NCUyMDQuMzEtMS4yczMuNDElMjAxLjAyJTIwMy40MyUyMDEuMDJsLS45OCUyMDE3LjMxLTEuMDQlMjAxLjAzcy0uODEtLjIyLS45MS0uMjZjLS4xLS4wMy0uMS0uMTgtLjEtLjE4bC0uMTUtMS42OC0uNyUyMDQuMS0uNzIuNjZzLS42LS4xOC0xLjE2LS40N2MtLjQ1LS4yMy0uNDUtLjY1LS40NS0uNjV6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yNi40MyUyMDMzLjg1Yy0uMDEuNTgtLjE0JTIwMS4zMy45JTIwMS41MS43Ni4xMy43Ny0uMTMlMjAxLjAzLTEuMTclMjAwJTIwMCUyMC40NC0yLjU3LjU1LTQuODMlMjAwJTIwMCUyMC4xMy0zLjQuMDgtMy44Ni0uMTYtMS43MS0uOTgtMi4xNS0xLjcyLTEuOTEtLjU1LjE4LTEuMS42Ny0uOTMlMjAyLjA3JTIwMCUyMDAlMjAuMTQlMjAzLjkyLjE1JTIwNC43LjAxLjk0LS4wNiUyMDMuNDktLjA2JTIwMy40OSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjkuNTMlMjAyMy43MSUyMDMuODktMS4yOXMuMDMuMDEuMDMuMDljLS4wOCUyMDEuNS0uOTElMjAxNi43Mi0uOTIlMjAxNi45OXMtLjEyLjM3LS4xMi4zNy0uODIuODktLjg4LjkzLS4xNyUyMDAtLjE3JTIwMCUyMC4wOC0uMDQuMDktLjIzLS4zOC03LjQ4LS4zOC03LjQ4Yy0uMDEtLjM3LS4wNy0uNTItLjIzLS41My0uMTUlMjAwLS4xOS4xNS0uMTkuNTMlMjAwJTIwMC0uNjMlMjA4LjQ1LS42NCUyMDguODhzLS4yLjU2LS4yLjU2LS44Mi44My0uODkuODljLS4wOC4wNi0uMTkuMDEtLjE5LjAxcy4xNC0uMDEuMTQtLjNjLS4wMS0uMTkuNjYtMTkuNDIuNjYtMTkuNDIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI5LjUzJTIwMjMuNzElMjAzLjg5LTEuMjlzLjAzLjAxLjAzLjA5Yy0uMDglMjAxLjUtLjkxJTIwMTYuNzItLjkyJTIwMTYuOTlzLS4xMi4zNy0uMTIuMzctLjgyLjg5LS44OC45My0uMTclMjAwLS4xNyUyMDAlMjAuMDgtLjA0LjA5LS4yMy0uMzgtNy40OC0uMzgtNy40OGMtLjAxLS4zNy0uMDctLjUyLS4yMy0uNTMtLjE1JTIwMC0uMTkuMTUtLjE5LjUzJTIwMCUyMDAtLjYzJTIwOC40NS0uNjQlMjA4Ljg4cy0uMi41Ni0uMi41Ni0uODIuODMtLjg5Ljg5Yy0uMDguMDYtLjE5LjAxLS4xOS4wMXMuMTQtLjAxLjE0LS4zYy0uMDEtLjE5LjY2LTE5LjQyLjY2LTE5LjQyJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zMy40MiUyMDIyLjQyLTMuODklMjAxLjI5LTMuODktMS4wNyUyMDQuMzctMS4yJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5LjglMjIlMjBjeSUzRCUyMjIyLjQlMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjEzJTIyJTIwcnklM0QlMjIuNTIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTI1Ljk3JTIwMzMuNTNjLS4wMi41Ny0uMjclMjAxLjQ1Ljc2JTIwMS41OSUyMDEuMDIuMTQlMjAxLjA1LS44NiUyMDEuMTEtMS4xNCUyMDAlMjAwJTIwLjUyLTIuMjEuNjYtNC40MSUyMDAlMjAwJTIwLjAzLTMuNzgtLjAxLTQuMjMtLjEyLTEuNjYtLjkxLTIuMTEtMS42NC0xLjg3LS41My4xNy0xLjA4LjY1LS45NCUyMDIuMDElMjAwJTIwMCUyMC4xOCUyMDMuODkuMTglMjA0LjY0LS4wMi45My0uMTIlMjAzLjQxLS4xMiUyMDMuNDElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIyTTI1Ljk3JTIwMzMuNTNjLS4wMi41Ny0uMjclMjAxLjQ1Ljc2JTIwMS41OSUyMDEuMDIuMTQlMjAxLjA1LS44NiUyMDEuMTEtMS4xNCUyMDAlMjAwJTIwLjUyLTIuMjEuNjYtNC40MSUyMDAlMjAwJTIwLjAzLTMuNzgtLjAxLTQuMjMtLjEyLTEuNjYtLjkxLTIuMTEtMS42NC0xLjg3LS41My4xNy0xLjA4LjY1LS45NCUyMDIuMDElMjAwJTIwMCUyMC4xOCUyMDMuODkuMTglMjA0LjY0LS4wMi45My0uMTIlMjAzLjQxLS4xMiUyMDMuNDElMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk1JTIyJTIwY3klM0QlMjIxNy4yMyUyMiUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjByeCUzRCUyMjQuOTYlMjIlMjByeSUzRCUyMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI5Ljk4JTIwMjEuNzRjMS4xOSUyMDAlMjAyLjMtLjI3JTIwMy4yNC0uNzUtLjg3Ljc3LTIuMDElMjAxLjI0LTMuMjYlMjAxLjI0LTEuMjglMjAwLTIuNDQtLjQ5LTMuMzItMS4yOC45Ni41JTIwMi4xMS43OSUyMDMuMzQuNzklMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmRiZjJkJTIyJTIwZCUzRCUyMk0yNS45OSUyMDMzLjUzYy0uMDQlMjAxLjE2LjU0Ljk1LjgyLjgxLjk5LS41MiUyMDEuMDktNS4xMiUyMDEuMi02LjU2LjA3LS45Ny4xNi0zLjU4LS43OC00LjI2LS41NS0uMjEtMS4wNC40Mi0xLjA5LjUxLS4xOS4zMS0uMjkuNzctLjIyJTIwMS40NSUyMDAlMjAwJTIwLjE4JTIwMy44OS4xOCUyMDQuNjQtLjAxLjkzLS4xMSUyMDMuNDEtLjExJTIwMy40MSUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfcGVnbWFuXzE0LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDZyUyMGZpbGwlM0QlMjIlMjMxMTElMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjJjLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA1OTk5OTk5OTk5OTk5JTIwMTkuNDclMjAxMy41Mjk5OTk5OTk5OTk5OS04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0MvZyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0yNS4yMyUyMDQxLjg4MDAwMDAwMDAwMDAxYy0uMTQlMjAwLS4yNy0uMDYtLjM3LS4xNmwtNy44OC04LjU5Yy0uMTYtLjE3LS4xOC0uNDMtLjA0LS42Mi4xMy0uMTg5OTk5OTk5OTk5OTguMzgtLjI1OTk5OTk5OTk5OTk4LjYtLjE3OTk5OTk5OTk5OTk4bDEzLjk1JTIwNS42MzAwMDAwMDAwMDAwMWMuMjIuMDkuMzUuMzMuMy41N3MtLjI1LjQxLS41MS40Yy0yLjE2LS4wOC00LjI1LjExLTQuNTYuNDItLjQ5LjQ5LS44OSUyMDEuNzMtMSUyMDIuMTYtLjA1LjE4MDAwMDAwMDAwMDAxLS4xOS4zMjAwMDAwMDAwMDAwMS0uMzYuMzYwMDAwMDAwMDAwMDEtLjA1LjAwOTk5OTk5OTk5OTk2LS4wOS4wMDk5OTk5OTk5OTk5Ni0uMTMuMDA5OTk5OTk5OTk5OTZtLTYuMDItNy44TDI1LjAyJTIwNDAuNDFjLjIxLS41OC41NS0xLjMzLjk5LTEuNzcuNDMtLjQzJTIwMS42MS0uNjIlMjAyLjc3LS42OXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzZjNmM2YlMjIlMjBkJTNEJTIyTTI1LjIzJTIwNDEuMzgwMDAwMDAwMDAwMDFzLjM4LTEuNjMlMjAxLjEzLTIuMzljLjc1LS43NSUyMDQuOTMtLjU3JTIwNC45My0uNTdsLTEzLjk1LTUuNjN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMk0yNy40OCUyMDQ0LjQ3Yy0uMjYlMjAwLS41Mi0uMDktLjctLjI4LS4xMi0uMTItLjc1LS43Ni0uOTktMS4xLS4zNy0uNTEtLjQxLTEuMDctLjQxLTEuM2wtLjM2LTYuMTdjLS45Ni0uNTYtLjktMS42Ni0uODgtMi4wN2wuMDEtLjE0YzAtLjAxLjEtMi40Ni4xMS0zLjM4LjAxLS43NS0uMDctNC41NS0uMDctNC41NS0uMDYtLjU1LS4wMS0xLjA2LjE1LTEuNTFsLS4wNi0xLjA4Yy0uMDMtLjEtLjA0LS4yLS4wMy0uMzEuMDMtLjQ1LjMzLS44NC43OC0uOTNsLjc5LS4xNmMtMS4xNS0xLjEzLTEuOC0yLjY3LTEuODEtNC4yNiUyMDAtMS42LjYyLTMuMTElMjAxLjc0LTQuMjRzMi42Mi0xLjc2JTIwNC4yMi0xLjc2aC4wMWMxLjU5JTIwMCUyMDMuMDkuNjIlMjA0LjIxJTIwMS43NSUyMDEuMTMlMjAxLjEzJTIwMS43NSUyMDIuNjQlMjAxLjc1JTIwNC4yNCUyMDAlMjAxLjUyLS41OCUyMDIuOTctMS42MiUyMDQuMDlsLjQ2LjEzYy4xNi4wMy4zMS4xLjQzLjE5LjUxLjMlMjAxLjE3Ljk5JTIwMS4xNCUyMDIuNjElMjAwJTIwLjQzLS4yOCUyMDMuMzUtLjM0JTIwMy45My0uMzElMjAyLjA2LS43NSUyMDMuOTctLjc3JTIwNC4wNS0uMDQuMjUtLjEuNi0uMy45Mi0uMjIlMjAzLjUzLS40MSUyMDYuNjItLjQxJTIwNi43Ni0uMDQuNjEtLjM5JTIwMS4wMS0uNyUyMDEuMTktMS4zMi45MS0xLjQuOTQtMS41Mi45OS0uMDYuMDItLjE0LjA0LS4yMy4wNi0uMTEuMDMtLjIyLjAzLS4zMy4wMi0uMTQtLjAxLS4yNy0uMDMtLjI3LS4wMy0uMTYtLjAzLS4zMS0uMS0uNDMtLjE5LS4xMS0uMDQtLjIzLS4wOS0uMzQtLjEzLS4wMS4wOS0uMDIuMTUtLjAyLjE4LS4wMi43Mi0uNDUlMjAxLjE5LS44MyUyMDEuMzktLjIwOTk5OTk5OTk5OTk4LjEyLTEuNDc5OTk5OTk5OTk5OTguODYtMS41OTk5OTk5OTk5OTk5OC45Mi0uMTkuMS0uNDEuMTMtLjYzLjE1LS4wNi4wMi0uMTEwMDAwMDAwMDAwMDEuMDItLjE1LjAybS0xLjM1LTEwLjUzYy4wMSUyMDAlMjAuMDIlMjAwJTIwLjA0LjAxLjQ1LjA5Ljc5LjQ3LjgxLjkybC40JTIwNi44NXYuMTJjMCUyMC4wMS4wMS4wNy4wMy4wOS4wNS4wNy4xOC4yMi4zMy4zOC4zMi0uMTguNzItLjQyLjk1LS41NS4wNC0uMzYuMTctMS40MS42Ni00Ljk1LjA3LS41LjQ5LS44Ni45OS0uODZoLjAzYy41MS4wMS45My40MS45Ny45MWwuMjglMjAzLjE4Yy4wNS4wMi4wOS4wMy4xNC4wNS4yNC0uMTYuNTYtLjM4Ljc3LS41Mi4wNS0uODIuMjMtMy42OS40Mi02Ljg2LjAwOTk5OTk5OTk5OTk5LS4yNC4xMDk5OTk5OTk5OTk5OS0uNDYuMjY5OTk5OTk5OTk5OTktLjYzLjAxLS4wMy4wMS0uMDYuMDEtLjA5LjAyLS4xLjAzLS4xOC4wNS0uMjUlMjAwJTIwMCUyMC40My0xLjg4LjcyLTMuNzkuMTUtMS42MS4zMi0zLjQ3LjMyLTMuNzEuMDEtLjU1LS4xMS0uOC0uMTUtLjg2QzM0LjEyJTIwMjMuNDIlMjAzNC4wNzAwMDAwMDAwMDAwMSUyMDIzLjQ2JTIwMzQuMDIwMDAwMDAwMDAwMDElMjAyMy40OWMtLjEuMDctLjIyLjEyLS4zNC4xNGwtMS4zMS4yN2MtLjI5LjA2LS42LS4wMS0uODMtLjJzLS4zNy0uNDgtLjM3LS43OEMzMS4xNjk5OTk5OTk5OTk5OSUyMDIyLjcxOTk5OTk5OTk5OTk5JTIwMzEuMjMlMjAyMi41Mjk5OTk5OTk5OTk5OSUyMDMxLjM0JTIwMjIuMzY5OTk5OTk5OTk5OTljLS4xMy0uMTUtLjIxLS4zNS0uMjMtLjU1LS4wNC0uNDEuMTgtLjguNTUtLjk5LjE5LS4xLjMxLS4xNi40My0uMjMuMDctLjA1LjE0LS4xLjIxLS4xNi4wNi0uMDQuMS0uMDguMTQtLjEuMDItLjAzLjA1LS4wNS4wOC0uMDcuOS0uNzclMjAxLjQxLTEuODglMjAxLjQxLTMuMDMlMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUwMDAwMDAwMDAwMDMtMS43NC0xLjE3MDAwMDAwMDAwMDAzLTIuNzktMS4xNzAwMDAwMDAwMDAwMy0xLjA2JTIwMC0yLjA1LjQyLTIuOCUyMDEuMTctLjc1Ljc2LTEuMTYlMjAxLjc2LTEuMTYlMjAyLjgzJTIwMCUyMDEuMTUuNDklMjAyLjIxJTIwMS4zNyUyMDIuOTkuMDMuMDIuMDUuMDUuMDguMDhsLjIxLjE2Yy4wNS4wNC4xMS4wOS4xNi4xMi4xMS4wNy4yMi4xMy4zNC4xOGwuMTcuMDljLjA1LjAzLjEuMDUuMTUuMDguMDYuMDIuMTEuMDQuMTcuMDVsLjEzLjA0Yy40My4xNC43Mi41NS43JTIwMS4wMS0uMDIuNDQ5OTk5OTk5OTk5OTgtLjM1LjgzOTk5OTk5OTk5OTk4LS44LjkyOTk5OTk5OTk5OTk4bC0yLjM2LjQ4LjA0LjY1Yy4wMS4xNy0uMDIuMzMtLjA5LjQ5LS4wNi4xMi0uMTEuMzUtLjA3LjglMjAwJTIwLjA4LjA4JTIwMy45My4wOCUyMDQuNjgtLjAxLjk0LS4xMSUyMDMuNDQtLjExJTIwMy40NGwtLjAxLjE2Yy0uMDUuMDgtLjA1LjE4LS4wNS4yN202LjYxJTIwNS40Njk5OTk5OTk5OTk5OWMtLjAzLjAwOTk5OTk5OTk5OTk5LS4wNS4wMjk5OTk5OTk5OTk5OS0uMDcuMDQ5OTk5OTk5OTk5OTkuMDUtLjAzLjA3LS4wNS4wNy0uMDUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZGJmMmQlMjIlMjBkJTNEJTIybTI1LjI2JTIwMjIuNjQlMjA0LjQ2LS44M3MyLjQyLjM1JTIwMi40My4zNWwuNDYlMjAxNy45OC0uNzglMjAxLjAzcy0xLjAyLS4zOC0xLjEtLjQxLS4wNy0uMTgtLjA3LS4xOEwzMCUyMDMzLjA1bC0xLjQ2JTIwOS43NC0xLjA0LjdzLS42OC0uNjktLjg5LS45OGMtLjI0LS4zMy0uMjItLjczLS4yMi0uNzN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yNS41NSUyMDMzLjU3Yy0uMDEuNTctLjE0JTIwMS4zLjg3JTIwMS40Ni43NC4xMi43NS0uMTIlMjAxLTEuMTQlMjAwJTIwMCUyMC40NC0yLjUxLjU1LTQuNzElMjAwJTIwMCUyMC4xMy0zLjMxLjA5LTMuNzYtLjE1LTEuNjYtLjk0LTIuMDktMS42Ny0xLjg1LS41My4xOC0xLjA3LjY2LS45MSUyMDIuMDIlMjAwJTIwMCUyMC4xMyUyMDMuODIuMTMlMjA0LjU3LjAyLjkzLS4wNiUyMDMuNDEtLjA2JTIwMy40MSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjUuMTUlMjAzMy40NmMtLjAyLjU3LS4xNiUyMDEuMy44NSUyMDEuNDguNzQuMTMuNzUtLjExJTIwMS4wMi0xLjEzJTIwMCUyMDAlMjAuNDctMi41LjYxLTQuNzElMjAwJTIwMCUyMC4xOC0zLjMxLjE0LTMuNzYtLjEyLTEuNjYtLjkxLTIuMTEtMS42NC0xLjg3LS41My4xNy0xLjA4LjY1LS45NCUyMDIuMDElMjAwJTIwMCUyMC4wOCUyMDMuODIuMDclMjA0LjU4LS4wMS45Mi0uMTElMjAzLjQtLjExJTIwMy40JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yNS4xNSUyMDMzLjQ2Yy0uMDIuNTctLjE2JTIwMS4zLjg1JTIwMS40OC43NC4xMy43NS0uMTElMjAxLjAyLTEuMTMlMjAwJTIwMCUyMC40Ny0yLjUuNjEtNC43MSUyMDAlMjAwJTIwLjE4LTMuMzEuMTQtMy43Ni0uMTItMS42Ni0uOTEtMi4xMS0xLjY0LTEuODctLjUzLjE3LTEuMDguNjUtLjk0JTIwMi4wMSUyMDAlMjAwJTIwLjA4JTIwMy44Mi4wNyUyMDQuNTgtLjAxLjkyLS4xMSUyMDMuNC0uMTElMjAzLjQlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZGJmMmQlMjIlMjBkJTNEJTIyTTI1LjE1JTIwMzMuNDZjLS4wNCUyMDEuMTYuNjglMjAxLjA3LjkzLjg3LjYzLS41LjcxLTUuMjEuODItNi42NC4wNy0uOTctLjA5LTMuNC0uNC00LjE3LS41NS0uMjEtMS4wNC40Mi0xLjA5LjUxLS4xOS4zMS0uMjkuNzctLjIyJTIwMS40NSUyMDAlMjAwJTIwLjA4JTIwMy44Mi4wNyUyMDQuNTgtLjAxLjkyLS4xMSUyMDMuNC0uMTElMjAzLjQlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNThhMmMlMjIlMjBkJTNEJTIyTTMyLjU4JTIwMzEuNDVjLS4wMS42Ny0uMiUyMDEuMjcuNzMlMjAxLjQzLjkxLjE1Ljg2LS42MS45My0uODclMjAwJTIwMCUyMC40NS0xLjkyLjc1LTMuOTElMjAwJTIwMCUyMC4zMy0zLjQ0LjMzLTMuODUuMDItMS41Mi0uNjYtMS45OS0xLjM1LTEuODQtLjUuMTEtMS4wMy41LTEuMDElMjAxLjc1JTIwMCUyMDAtLjE1JTIwMy41Ni0uMjElMjA0LjI0LS4wOC44NC0uMTclMjAzLjA1LS4xNyUyMDMuMDUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIybTI4LjM4JTIwMjMuNzElMjA2LjE3LTEuMjlzLjA1LjAxLjA0LjA5Yy0uMTMlMjAxLjUtMS4wNyUyMDE3LjA4LTEuMDklMjAxNy4zNC0uMDIuMjctLjE5LjM3LS4xOS4zN3MtMS4zLjg5LTEuMzkuOTMtLjI3JTIwMC0uMjclMjAwJTIwLjEzLS4wNC4xNC0uMjNjLjAyLS4xOS0uMy03LjQ2LS4zLTcuNDYtLjAxLS4zNy0uMTEtLjUyLS4zNi0uNTMtLjI0JTIwMC0uMjkuMTUtLjMxLjUzJTIwMCUyMDAtMS4xNCUyMDguMDUtMS4xNSUyMDguNDhzLS4zMS41Ni0uMzEuNTYtMS40Ny44Ni0xLjU5LjkyLS4zLjAxLS4zLjAxLjIyLS4wMS4yMi0uM2MwLS4xOS42OS0xOS40Mi42OS0xOS40MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMjguMzglMjAyMy43MSUyMDYuMTctMS4yOXMuMDUuMDEuMDQuMDljLS4xMyUyMDEuNS0xLjA3JTIwMTcuMDgtMS4wOSUyMDE3LjM0LS4wMi4yNy0uMTkuMzctLjE5LjM3cy0xLjMuODktMS4zOS45My0uMjclMjAwLS4yNyUyMDAlMjAuMTMtLjA0LjE0LS4yM2MuMDItLjE5LS4zLTcuNDYtLjMtNy40Ni0uMDEtLjM3LS4xMS0uNTItLjM2LS41My0uMjQlMjAwLS4yOS4xNS0uMzEuNTMlMjAwJTIwMC0xLjE0JTIwOC4wNS0xLjE1JTIwOC40OHMtLjMxLjU2LS4zMS41Ni0xLjQ3Ljg2LTEuNTkuOTItLjMuMDEtLjMuMDEuMjItLjAxLjIyLS4zYzAtLjE5LjY5LTE5LjQyLjY5LTE5LjQyJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zNC41MSUyMDIyLjQyLTYuMTQlMjAxLjI5LTMuMTUtMS4wNyUyMDUuODgtMS4yJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjA1JTIyJTIwY3klM0QlMjIyMi40MSUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBvcGFjaXR5JTNEJTIyLjUlMjIlMjByeCUzRCUyMjIuMjUlMjIlMjByeSUzRCUyMi40MyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NSUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45OCUyMDIxLjc0YzEuMTklMjAwJTIwMi4zLS4yNyUyMDMuMjQtLjc1LS44Ny43Ny0yLjAxJTIwMS4yNC0zLjI2JTIwMS4yNC0xLjI4JTIwMC0yLjQ0LS40OS0zLjMyLTEuMjguOTYuNSUyMDIuMTEuNzklMjAzLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfcGVnbWFuXzE1LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDZyUyMGZpbGwlM0QlMjIlMjMxMTElMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjJjLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA1OTk5OTk5OTk5OTk5JTIwMTkuNDclMjAxMy41Mjk5OTk5OTk5OTk5OS04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0MvZyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0yNS4yMyUyMDQxLjg4MDAwMDAwMDAwMDAxYy0uMjElMjAwLS40LS4xMy0uNDctLjMzbC00LjMtMTEuNjdjLS4wOC0uMjElMjAwLS40NS4xOC0uNThzLjQ0LS4xMi42MS4wM2wxMC4zNyUyMDguNzFjLjE2LjE0LjIyLjM2LjE1LjU2LS4wOC4yLS4yOS4zMS0uNDkuMzItMi4xNi0uMDgtNC4yNS4xMS00LjU2LjQyLS40OS40OS0uODklMjAxLjczLTElMjAyLjE2LS4wNS4yMTAwMDAwMDAwMDAwMi0uMjQuMzYwMDAwMDAwMDAwMDItLjQ2LjM3MDAwMDAwMDAwMDAyLS4wMS4wMS0uMDIuMDEtLjAzLjAxTTIyLjA1JTIwMzEuM2wzLjE3JTIwOC42Yy4yLS40Ni40Ny0uOTQuNzktMS4yNy41OC0uNTglMjAyLjQ3LS43MSUyMDMuODktLjczeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMjUuMjMlMjA0MS4zODAwMDAwMDAwMDAwMXMuMzgtMS42MyUyMDEuMTMtMi4zOWMuNzUtLjc1JTIwNC45My0uNTclMjA0LjkzLS41N2wtMTAuMzctOC43MXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTI2LjU2JTIwNDMuNzAwMDAwMDAwMDAwMDFjLS4xOCUyMDAtLjM3LS4wMy0uNTgtLjA4bC0uNS0uMTQtLjExLS4zYy0uNjUtLjYxLTEuMDEtMS4xOC0xLjA2LTEuNjktLjAyLS4yMS0uMDQtLjQ0LS4wMS0uNjVsLS4xNy01LjEzYy0uMDUuMDEtLjA5LjAyLS4xMy4wMi0uNTMuMDgwMDAwMDAwMDAwMDItMS4yMS0uMTI5OTk5OTk5OTk5OTgtMS41OC0uMjU5OTk5OTk5OTk5OTgtLjYyLS4xNTk5OTk5OTk5OTk5OS0xLjAyLS44NDk5OTk5OTk5OTk5OS0uOS0xLjYzOTk5OTk5OTk5OTk5LjA4LS42OC40NS0zLjM2Ljc1LTUuMjMuNC0yLjQ3Ljg4LTQuNS45LTQuNThDMjMuMjMlMjAyMy42MyUyMDIzLjQyJTIwMjMuMTklMjAyMy43JTIwMjIuODJsLS4wMS0uNDZjLS4wMS0uMzMuMTEtLjY1LjM0LS45LjIzLS4yNC41NC0uMzguODgtLjM5bC40Ny0uMDFjLS44Ni0xLjA1LTEuMzctMi4zOS0xLjM3LTMuODIlMjAwLTEuNi42Mi0zLjExJTIwMS43NC00LjI0czIuNjItMS43NiUyMDQuMjItMS43NmguMDFjMS41OSUyMDAlMjAzLjA5LjYyJTIwNC4yMSUyMDEuNzVzMS43NCUyMDIuNjQlMjAxLjc1JTIwNC4yNGMwJTIwMS42Mi0uNjMlMjAzLjEyLTEuNzElMjA0LjIyLjM3LjIxLjguNDYlMjAxLjE1LjY4JTIwMS4wNzk5OTk5OTk5OTk5OS42NyUyMDEuMjc5OTk5OTk5OTk5OTklMjAxLjk1JTIwMS4zMDk5OTk5OTk5OTk5OSUyMDIuMzEuMjElMjAxLjEuNzQlMjAzLjkuODglMjA0LjQ4LjIzLjkzLjY2JTIwMy4yNS42OCUyMDMuMzQuMDIuMTIuMDQuMjEuMDYuMy4xMS41NC40JTIwMS45Ni0xLjMlMjAyLjUxLS41NC4xOC0xLjAzLjE2LTEuNDUtLjA2LS4zNS0uMTgtLjU3LS40Ni0uNy0uNzEtLjIyJTIwMy41Ny0uNDElMjA2LjYyLS40MiUyMDYuNzQtLjA0LjYxLS4zOSUyMDEuMDEtLjclMjAxLjE5bC0uMzAwMDAwMDAwMDAwMDEuMTFzLTEuNS4zMS0xLjk5LjQybC0uMDQuMDQtLjI0LjAzYy0uMDElMjAwLS4wMyUyMDAtLjA1LjAxbC0uMDUuMDFjLS4xNC4wMi0uNDEuMDMtLjY5LS4wOC0uMTEtLjA0LS4xOC0uMDctLjUyLS4zNi0uMTguNDEtLjQ5LjY4LS43Ny44bC0uMjIuMDdjLS43Mi4xMy0xLjU5LjMxLTEuODIuMzctLjE0LjAyLS4zLjA1LS40OS4wNW0tLjMxLTEuOTIwMDAwMDAwMDAwMDFjLS4wMS0xZS0xNC0uMDEuMDA5OTk5OTk5OTk5OTktLjAyLjAwOTk5OTk5OTk5OTk5JTIwMCUyMDAlMjAuMDEtLjAxLjAyLS4wMW0uMDYtLjU0MDAwMDAwMDAwMDAxYy4wNi4wOS4xOS4yNC4zNi40MS4yNS0uMDYuNjYtLjE0JTIwMS4zNi0uMjguMDctLjcyLjMtMi42NC42Ny01LjcxbDEuOTkuMS4xMSUyMDQuNzljLjA5LjA4LjE4LjE2LjI3LjIzLjI1LS4wNi42Ny0uMTUlMjAxLjQtLjMuMDktMS41MS40Mi02Ljc5LjY5LTExLjIxbDEuOTUtLjIzYy4zOSUyMDEuMjYuODMlMjAyLjQ4JTIwMS4xJTIwMy4yMS0uMTMtLjY5MDAwMDAwMDAwMDAxLS40Mi0yLjIwMDAwMDAwMDAwMDAxLS41OC0yLjg2MDAwMDAwMDAwMDAxLS4xOS0uNzUwMDAwMDAwMDAwMDEtLjg5LTQuNDgwMDAwMDAwMDAwMDEtLjkyLTQuNjMwMDAwMDAwMDAwMDFsLS4wMi0uMTNjLS4wMS0uMTktLjEyLS42NC0uMzctLjc5LS41NS0uMzQtMS4zLS43Ny0xLjY4LS45OGwtLjgxLjAyLS40LTEuOTNjMS41Mi0uNjElMjAyLjUtMi4wNyUyMDIuNS0zLjcxJTIwMC0xLjA3LS40MS0yLjA3LTEuMTYtMi44My0uNzUtLjc1LTEuNzQtMS4xNy0yLjc5LTEuMTctMS4wNiUyMDAtMi4wNS40Mi0yLjglMjAxLjE3LS43NS43Ni0xLjE2JTIwMS43Ni0xLjE2JTIwMi44MyUyMDAlMjAxLjcyJTIwMS4wOSUyMDMuMjQlMjAyLjcxJTIwMy43OWwtLjI5JTIwMS45NS0yLjcxLjA4LjAyMDAwMDAwMDAwMDAyLjU3LS4zNS4zMWMtLjEyLjEwOTk5OTk5OTk5OTk5LS4yMy4zMDk5OTk5OTk5OTk5OS0uMjUuNDY5OTk5OTk5OTk5OTktLjAyLjA5LS41JTIwMi4xMi0uODklMjA0LjUxLS4zMSUyMDEuOTM5OTk5OTk5OTk5OTktLjU5JTIwMy45Njk5OTk5OTk5OTk5OS0uNyUyMDQuNzk5OTk5OTk5OTk5OTkuMDIlMjAwJTIwLjAzLjAxLjA0LjAxbC40NC0xLjkyJTIwMS45Ny4xODk5OTk5OTk5OTk5OXptLTMuMjktNy42OGMuMDMuMDEuMDUuMDIuMDguMDMtLjAyLS4wMS0uMDUtLjAyLS4wOC0uMDMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTM3LjI3MDAwMDAwMDAwMDAxJTIwMzIuNDRjLjEyLjczLjQyJTIwMS4zNS0uNTclMjAxLjY3LS45Ny4zMS0xLjAzLS41My0xLjE1LS43OSUyMDAlMjAwLS43OS0yLjAyLTEuNDQtNC4xNCUyMDAlMjAwLS45LTMuNjktLjk4LTQuMTQtLjI2LTEuNjYuNDEtMi4yNyUyMDEuMTctMi4yMS41NjAwMDAwMDAwMDAwMi4wNCUyMDEuMjAwMDAwMDAwMDAwMDIuMzglMjAxLjM4MDAwMDAwMDAwMDAyJTIwMS43NSUyMDAlMjAwJTIwLjcyJTIwMy44NS45MSUyMDQuNTguMjMuOS42OCUyMDMuMjguNjglMjAzLjI4JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMk0zNy4yOSUyMDMyLjQ0Yy4xMi43My40MiUyMDEuMzUtLjU3JTIwMS42Ny0uOTcuMzEtMS4wMy0uNTMtMS4xNS0uNzklMjAwJTIwMC0uNzktMi4wMi0xLjQ0LTQuMTQlMjAwJTIwMC0uOS0zLjY5LS45OC00LjE0LS4yNi0xLjY2LjQxLTIuMjclMjAxLjE3LTIuMjEuNTYuMDQlMjAxLjIuMzglMjAxLjM4JTIwMS43NSUyMDAlMjAwJTIwLjcyJTIwMy44NS45MSUyMDQuNTguMjMuOS42OCUyMDMuMjguNjglMjAzLjI4JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMm0zNC4yNiUyMDI5Ljg3LjItNy4xMS40MS4zMXMtLjA2JTIwNS40LjExJTIwNi42NC40NSUyMDMuMTMuNDUlMjAzLjEzeiUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjJub25lJTIyJTIwZCUzRCUyMk0yNC42OSUyMDIyLjA3aDguMnYyMC41NmgtOC4yeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZkYmYyZCUyMiUyMGQlM0QlMjJtMjQuNjklMjAyMi4wNy42JTIwMTguODVzLS4wNC4wNC4wMS40N2MuMDQuNDguOTUlMjAxLjI0Ljk1JTIwMS4yNGwxLjg3LS41NyUyMDEuMjUtMTAuMDQuMjQuNzcuMTglMjA4LjIyLjk1LjgxLjE4LjAyJTIwMS40NC0xLjAzLjUxLTE4LjAzLTIuMDUtLjMyeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMzQuNTQlMjAyMi43NC04LjI3LjI2Yy0uNSUyMDE1LjE5LjA2JTIwMTUuODYtLjA0JTIwMTkuMzItLjAxLjMuMDEuMzIuMDEuMzJzLjE4LjA1LjMzLjA1Yy4wNSUyMDAlMjAuMS0uMDEuMTMtLjAyLjEyLS4wNiUyMDEuOTktLjQxJTIwMS45OS0uNDFzLjMtLjEzLjMyLS41NmMuMDEtLjQzLjg3LTcuNDkuODctNy40OS4wNS0uNjUuMTQtLjc1LjQtLjc1LjI0JTIwMCUyMC4zNC4xNS4zNS41MiUyMDAlMjAwJTIwLjMlMjA3LjQxLjI4JTIwNy42cy0uMTQuMjItLjE0LjIyaC4yN2MuMS0uMDQlMjAyLjIxLS40NyUyMDIuMjEtLjQ3cy4xNy0uMS4xOS0uMzh6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0zNC41NyUyMDIyLjc0JTIwMjYuMyUyMDIzYy0uNSUyMDE1LjE5LjA2JTIwMTUuODYtLjA1JTIwMTkuMzItLjAxLjMuMDIuMzIuMDIuMzJzLjE4LjA1LjMyLjA1Yy4wNSUyMDAlMjAuMDktLjAxLjEyLS4wMi4xMy0uMDYlMjAyLS40MSUyMDItLjQxcy4zLS4xMy4zMS0uNTZjLjAyLS40My44OC03LjQ5Ljg4LTcuNDkuMDQtLjY1LjE0LS43NS4zOS0uNzVzLjM1LjE1LjM2LjUyYzAlMjAwJTIwLjMlMjA3LjQxLjI3JTIwNy42LS4wMS4xOS0uMTQuMjItLjE0LjIyaC4yN2MuMDktLjA0JTIwMi4yLS40NyUyMDIuMi0uNDdzLjE4LS4xLjItLjM4Yy4wMi0uMjYlMjAxLjAyLTE2LjYzJTIwMS4xNC0xOC4xNHolMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTMyLjg5JTIwMjEuODQtOC4yLjIzJTIwMS41Ny45NiUyMDguMjUtLjI5eiUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4wMSUyMiUyMGN5JTNEJTIyMjIuMzclMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjI1JTIyJTIwcnklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45OCUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0zMCUyMDIxLjc0YzEuMTklMjAwJTIwMi4zLS4yNyUyMDMuMjQtLjc1LS44Ny43Ny0yLjAxJTIwMS4yNC0zLjI2JTIwMS4yNC0xLjI4JTIwMC0yLjQ0LS40OS0zLjMyLTEuMjguOTYuNSUyMDIuMTEuNzklMjAzLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjUuOTQlMjAyNi4wNmMtLjElMjAxLjU5LS45MiUyMDUuOTctLjkyJTIwNS45N2wtLjU0JTIwMi4zM2MtLjA4LjI0LS4yNy4zMy0uNjIuMzhzLTEuMDktLjIxLTEuMDktLjIxYy0uMjMtLjA2LS4yOS0uMy0uMjUtLjU1JTIwMCUyMDAlMjAuMzUtMi43Mi43NS01LjIzLjQtMi40Ni44OS00LjUxLjg5LTQuNTEuMS0uNjEuNTktMS4yOSUyMDEuMTctMS4zNCUyMDAlMjAwJTIwLjY5JTIwMCUyMC43MSUyMDEuMDYuMDIlMjAxLjEyLS4xJTIwMi4xLS4xJTIwMi4xJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMk0yNS41MiUyMDIyLjk1Yy4yLjA4LjUuMzIuNTIlMjAxLjAxLjAzJTIwMS4xMi0uMSUyMDIuMS0uMSUyMDIuMS0uMDklMjAxLjM2LS43JTIwNC43My0uODclMjA1LjdsLS4wMS4wNWMtLjAxJTIwMCUyMC41Ny01LjQ5LjQ2LTguODYlMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fMi5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjE5Yy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40MmMwLTcuOTctOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTM1LjE5JTIwNDEuODgwMDAwMDAwMDAwMDFjLS4wNCUyMDAtLjA4JTIwMC0uMTItLjAxLS4xOC0uMDQtLjMyLS4xOC0uMzYtLjM2LS4xMi0uNDQtLjUyLTEuNjgtMS0yLjE2LS4zMS0uMzEtMi4zOS0uNS00LjU2LS40Mi0uMjIuMDItLjQ2LS4xNi0uNTEtLjRzLjA4LS40OC4zLS41N2wxMy45NS01LjYzYy4yMi0uMDkuNDctLjAxLjYuMThzLjEyLjQ1LS4wNC42MmwtNy44OCUyMDguNTljLS4xLjEtLjI0LjE2LS4zOC4xNm0tMy41NS0zLjk0YzEuMTYuMDclMjAyLjM0LjI2JTIwMi43Ny42OS40NC40NC43OCUyMDEuMTklMjAxJTIwMS43N2w1LjgxLTYuMzN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zNS4xOSUyMDQxLjM4MDAwMDAwMDAwMDAxcy0uMzgtMS42My0xLjEzLTIuMzljLS43NS0uNzUtNC45My0uNTctNC45My0uNTdsMTMuOTUtNS42M3olMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTMyLjU2JTIwNDQuNDljLS4wOSUyMDAtLjE3LS4wMS0uMjYtLjAzLS4yMS0uMDItLjM3LS4wOC0uNDgtLjE0LS4xMi0uMDYtMS4zOS0uOC0xLjYtLjkzLS4zOS0uMi0uODEtLjY3LS44NC0xLjQxJTIwMC0uMDMtLjAxLS4wOC0uMDItLjE2LS4xMi4wNC0uMjUuMDktLjM3LjE0LS4xMS4wOS0uMjUuMTYtLjQuMTgtLjA0LjAxLS4xNC4wMi0uMjYuMDMtLjA5LjAxLS4xOS4wMS0uMjgtLjAxLS4xMS0uMDA5OTk5OTk5OTk5OTgtLjIxLS4wMzk5OTk5OTk5OTk5OC0uMzEtLjA3OTk5OTk5OTk5OTk4cy0uMTgtLjA2OTk5OTk5OTk5OTk5LTEuNTctMS4wMjk5OTk5OTk5OTk5OWMtLjI0LS4xMy0uNTktLjU0LS42My0xLjEzLS4wMS0uMTItLjItMy4yMi0uNDItNi43Ny0uMi0uMzItLjI1LS42NS0uMjgtLjgzLS4wNC0uMTcwMDAwMDAwMDAwMDEtLjQ3LTIuMDcwMDAwMDAwMDAwMDEtLjc4LTQuMDgwMDAwMDAwMDAwMDEtLjA2LS42NC0uMzQtMy41Ni0uMzQtMy45OS0uMDItMS42Mi42NC0yLjMyJTIwMS4xNC0yLjYxLjE0LS4xMi4zMi0uMTkuNS0uMjFsLjI4LS4wOGMtMS4wNi0xLjExLTEuNjUtMi41OC0xLjY1LTQuMTElMjAwLTEuNi42Mi0zLjExJTIwMS43NC00LjI0czIuNjItMS43NiUyMDQuMjItMS43NmguMDFjMS41OSUyMDAlMjAzLjA5LjYyJTIwNC4yMSUyMDEuNzUlMjAxLjEzJTIwMS4xMyUyMDEuNzUlMjAyLjY0JTIwMS43NSUyMDQuMjQlMjAwJTIwMS41OTAwMDAwMDAwMDAwMi0uNjQlMjAzLjEyMDAwMDAwMDAwMDAyLTEuNzglMjA0LjI1MDAwMDAwMDAwMDAybC45LjE5Yy40NC4wOS43Ny40Ny44LjkyLjAxLjE0LS4wMS4yOC0uMDYuNDFsLS4wNi45OWMuMTYuNDUuMjEuOTguMTQlMjAxLjU5JTIwMCUyMDAtLjA3JTIwMy43My0uMDclMjA0LjQ3LjAxLjkyLjExJTIwMy4zNy4xMSUyMDMuMzdsLjAxLjEzYy4wMi40MS4wOCUyMDEuNTEtLjg4JTIwMi4wOGwtLjM2MDAwMDAwMDAwMDAyJTIwNi4xN2MtMWUtMTQuMjItLjA0MDAwMDAwMDAwMDAxLjc5LS40MTAwMDAwMDAwMDAwMSUyMDEuMy0uMjUuMzQtLjg3Ljk3LS45OSUyMDEuMS0uMTkuMTktLjQ0OTk5OTk5OTk5OTk5LjI5LS43MDk5OTk5OTk5OTk5OS4yOW0tMS4yLTIuNzRjLjIzLjEzLjYzLjM3Ljk1LjU1LjE1LS4xNi4yOC0uMzEuMzMtLjM4LjAxLS4wMi4wMy0uMDguMDMtLjExbC40LTYuOTRjLjAzLS40NjAwMDAwMDAwMDAwMS4zNi0uODQwMDAwMDAwMDAwMDEuODEtLjkyMDAwMDAwMDAwMDAxLjAxJTIwMCUyMC4wMiUyMDAlMjAuMDQtLjAxJTIwMC0uMDgwMDAwMDAwMDAwMDElMjAwLS4xOTAwMDAwMDAwMDAwMS0uMDEtLjI3MDAwMDAwMDAwMDAxbC0uMDEtLjE2cy0uMS0yLjUwMDAwMDAwMDAwMDAxLS4xMS0zLjQ0MDAwMDAwMDAwMDAxYy0uMDEtLjc2LjA3LTQuNi4wNy00LjYuMDUtLjUzLS4wMS0uNzYtLjA2LS44OC0uMDctLjE1LS4xMS0uMzItLjEtLjQ5bC4wNC0uNjUwMDAwMDAwMDAwMDEtMi40My0uNWMtLjQ0MDAwMDAwMDAwMDAxLS4wOS0uNzcwMDAwMDAwMDAwMDEtLjQ3LS44MDAwMDAwMDAwMDAwMS0uOTJzLjI1LS44Ni42OC0xLjAxbC4xMS0uMDRjLjA0LS4wMS4wOC0uMDMuMTItLjA0LjA2LS4wMi4xMS0uMDUuMTctLjA4bC4xMS0uMDZjLjEzLS4wNi4yNi0uMTMuMzctLjIuMDYtLjA0LjEzLS4wOS4xOS0uMTQuMDctLjA1LjEyLS4wOS4xNi0uMTIuMDItLjAzLjA1LS4wNS4wOC0uMDcuOS0uNzclMjAxLjQxLTEuODclMjAxLjQxLTMuMDMtMWUtMTQtMS4wNy0uNDEwMDAwMDAwMDAwMDEtMi4wNy0xLjE2MDAwMDAwMDAwMDAxLTIuODMtLjc1LS43NS0xLjc0LTEuMTYtMi43OS0xLjE2LTEuMDYlMjAwLTIuMDUuNDItMi44JTIwMS4xNy0uNzUuNzYtMS4xNiUyMDEuNzYtMS4xNiUyMDIuODMlMjAwJTIwMS4xNS40OSUyMDIuMjElMjAxLjM3JTIwMi45OS4wMy4wMi4wNS4wNS4wOC4wN2wuMTE5OTk5OTk5OTk5OTkuMDlzLjA4LjA2LjA5LjA3Yy4wNi4wNS4xMS4wOS4xNy4xMy4xMS4wNy4yMi4xMi4zMy4xOGwuMTQuMDhjLjM1LjIuNTguNjEuNTMlMjAxLjAxcS0uMDMuMjQtLjE1LjQ1Yy4xMy4xNy4yMS4zOS4yMS42MiUyMDAlMjAuMy0uMTQuNTktLjM3Ljc4cy0uNTQuMjctLjgzLjIxbC0xLjMxLS4yN2MtLjE0LS4wMy0uMjctLjA5LS4zOC0uMTctLjAyLS4wMS0uMDQtLjAzLS4wNS0uMDQtLjAyLS4wMi0uMDQtLjAzLS4wNi0uMDUtMWUtMTQlMjAwLS4wMTAwMDAwMDAwMDAwMSUyMDAtLjAyMDAwMDAwMDAwMDAxLjAxLS4wMi4wMy0uMTUuMjctLjE0Ljg1JTIwMCUyMC4yNC4xNyUyMDIuMS4zMyUyMDMuNzcuMjklMjAxLjg3LjcyJTIwMy43Ni43MyUyMDMuNzhzLjAyLjExLjA0LjJjMCUyMC4wMy4wMS4wNi4wMS4wOS4xNi4xNjk5OTk5OTk5OTk5OS4yNi4zODk5OTk5OTk5OTk5OS4yNy42Mjk5OTk5OTk5OTk5OS4yJTIwMy4xNjAwMDAwMDAwMDAwMS4zNyUyMDYuMDMwMDAwMDAwMDAwMDIuNDIlMjA2Ljg2MDAwMDAwMDAwMDAyLjIxOTk5OTk5OTk5OTk5LjE1LjUyOTk5OTk5OTk5OTk5LjM2Ljc2OTk5OTk5OTk5OTk5LjUyLjA0LS4wMi4wOS0uMDMuMTQtLjA1bC4yOC0zLjE4MDAwMDAwMDAwMDAyQzI4Ljc2MDAwMDAwMDAwMDAyJTIwMzYuMzclMjAyOS4xODAwMDAwMDAwMDAwMiUyMDM1Ljk4JTIwMjkuNjkwMDAwMDAwMDAwMDMlMjAzNS45NyUyMDMwLjI1MDAwMDAwMDAwMDAxJTIwMzUuOTUwMDAwMDAwMDAwMDElMjAzMC42NCUyMDM2LjMzJTIwMzAuNzElMjAzNi44M2MuNDglMjAzLjQ5OTk5OTk5OTk5OTk4LjYyJTIwNC41NTk5OTk5OTk5OTk5OC42NSUyMDQuOTE5OTk5OTk5OTk5OThtLTQuMTItMi4zOWMuMDEuMDEuMDQuMDMuMS4wNy0uMDQtLjAyLS4wNy0uMDUtLjEtLjA3JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMm0zNC43OSUyMDIyLjY0LTQuNDYtLjgzcy0yLjQyLjM1LTIuNDMuMzVsLS40NiUyMDE3Ljk4Ljc4JTIwMS4wM3MxLjAyLS4zOCUyMDEuMS0uNDEuMDctLjE4LjA3LS4xOGwuNjYtNy41NCUyMDEuNDYlMjA5Ljc0JTIwMS4wNC43YzAlMjAyZS0xNC42OC0uNjg5OTk5OTk5OTk5OTguODktLjk3OTk5OTk5OTk5OTk4LjI0LS4zMy4yMi0uNzMuMjItLjczeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMzQuOSUyMDMzLjQ2Yy4wMi41Ny4xNiUyMDEuMy0uODUlMjAxLjQ4LS43NC4xMy0uNzUtLjExLTEuMDItMS4xMyUyMDAlMjAwLS40Ny0yLjUtLjYxLTQuNzElMjAwJTIwMC0uMTgtMy4zMS0uMTQtMy43Ni4xMi0xLjY2LjkxLTIuMTElMjAxLjY0LTEuODcuNTMuMTclMjAxLjA4LjY1Ljk0JTIwMi4wMSUyMDAlMjAwLS4wOCUyMDMuODItLjA3JTIwNC41OC4wMS45Mi4xMSUyMDMuNC4xMSUyMDMuNCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NmNTcyZSUyMiUyMGQlM0QlMjJNMzQuOSUyMDMzLjQ2Yy4wNCUyMDEuMTYtLjY4JTIwMS4wNy0uOTMuODctLjYzLS41LS43MS01LjIxLS44Mi02LjY0LS4wNy0uOTcuMDktMy40LjQtNC4xNy41NS0uMjElMjAxLjA0LjQyJTIwMS4wOS41MS4xOS4zMS4yOS43Ny4yMiUyMDEuNDUlMjAwJTIwMC0uMDglMjAzLjgyLS4wNyUyMDQuNTguMDEuOTIuMTElMjAzLjQuMTElMjAzLjQlMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMk0yNy40NyUyMDMxLjQ1Yy4wMS42Ny4yJTIwMS4yNy0uNzMlMjAxLjQzLS45MS4xNS0uODYtLjYxLS45My0uODclMjAwJTIwMC0uNDUtMS45Mi0uNzUtMy45MSUyMDAlMjAwLS4zMy0zLjQ0LS4zMy0zLjg1LS4wMi0xLjUyLjY2LTEuOTklMjAxLjM1LTEuODQuNS4xMSUyMDEuMDMuNSUyMDEuMDElMjAxLjc1JTIwMCUyMDAlMjAuMTUlMjAzLjU2LjIxJTIwNC4yNC4wOC44NC4xNyUyMDMuMDUuMTclMjAzLjA1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMm0zMS42NyUyMDIzLjcxLTYuMTctMS4yOXMtLjA1LjAxLS4wNC4wOWMuMTMlMjAxLjUlMjAxLjA3JTIwMTcuMDglMjAxLjA5JTIwMTcuMzQuMDIuMjcuMTkuMzcuMTkuMzdzMS4zLjg5JTIwMS4zOS45My4yNyUyMDAlMjAuMjclMjAwLS4xMy0uMDQtLjE0LS4yM2MtLjAyLS4xOS4zLTcuNDYuMy03LjQ2LjAxLS4zNy4xMS0uNTIuMzYtLjUzLjI0JTIwMCUyMC4yOS4xNS4zMS41MyUyMDAlMjAwJTIwMS4xNCUyMDguMDUlMjAxLjE1JTIwOC40OHMuMzEuNTYuMzEuNTYlMjAxLjQ3Ljg2JTIwMS41OS45Mi4zLjAxLjMuMDEtLjIyLS4wMS0uMjItLjNjMC0uMTktLjY5LTE5LjQyLS42OS0xOS40MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMzEuNjclMjAyMy43MS02LjE3LTEuMjlzLS4wNS4wMS0uMDQuMDljLjEzJTIwMS41JTIwMS4wNyUyMDE3LjA4JTIwMS4wOSUyMDE3LjM0LjAyLjI3LjE5LjM3LjE5LjM3czEuMy44OSUyMDEuMzkuOTMuMjclMjAwJTIwLjI3JTIwMC0uMTMtLjA0LS4xNC0uMjNjLS4wMi0uMTkuMy03LjQ2LjMtNy40Ni4wMS0uMzcuMTEtLjUyLjM2LS41My4yNCUyMDAlMjAuMjkuMTUuMzEuNTMlMjAwJTIwMCUyMDEuMTQlMjA4LjA1JTIwMS4xNSUyMDguNDhzLjMxLjU2LjMxLjU2JTIwMS40Ny44NiUyMDEuNTkuOTIuMy4wMS4zLjAxLS4yMi0uMDEtLjIyLS4zYzAtLjE5LS42OS0xOS40Mi0uNjktMTkuNDIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI1LjU0JTIwMjIuNDIlMjA2LjEzJTIwMS4yOSUyMDMuMTYtMS4wNy01Ljg4LTEuMiUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMCUyMiUyMGN5JTNEJTIyMjIuNDElMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjI1JTIyJTIwcnklM0QlMjIuNDMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuOTUlMjIlMjBjeSUzRCUyMjE3LjIzJTIyJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMHJ4JTNEJTIyNC45NiUyMiUyMHJ5JTNEJTIyNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJNMjkuOTglMjAyMS43NGMxLjE5JTIwMCUyMDIuMy0uMjclMjAzLjI0LS43NS0uODcuNzctMi4wMSUyMDEuMjQtMy4yNiUyMDEuMjQtMS4yOCUyMDAtMi40NC0uNDktMy4zMi0xLjI4Ljk2LjUlMjAyLjExLjc5JTIwMy4zNC43OSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl8zLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyLTkuMTEtMTQuNDItMjAuMzUtMTQuNDJtLS4xMiUyMDI3Ljg0Yy0xMC43NSUyMDAtMTkuNDctNi4wNi0xOS40Ny0xMy41M3M4LjcyLTEzLjUzJTIwMTkuNDctMTMuNTMlMjAxOS40NyUyMDYuMDYlMjAxOS40NyUyMDEzLjUzLTguNzIlMjAxMy41My0xOS40NyUyMDEzLjUzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwLjIxJTIyJTIwY3klM0QlMjI0MS41JTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMiUyMHJ4JTNEJTIyMTkuNDclMjIlMjByeSUzRCUyMjEzLjUzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0zNC42NyUyMDQyLjZjLS4xMSUyMDAtLjIyLS4wNC0uMzItLjExLS4xNS0uMTItLjIxLS4zMS0uMTctLjQ5JTIwMC0uMDEuMTctLjg0LS4wMS0xLjgzLS4wOC0uNDMtMS4yMy0xLjA2LTIuMjYtMS4zOS0uMjMtLjA3LS4zNy0uMjktLjM1LS41M3MuMjEtLjQyLjQ0LS40NWwxNS4wMy0xLjY0Yy4yNS0uMDMuNDcuMTMuNTQuMzcuMDYuMjQtLjA2LjQ5LS4yOC41OWwtMTIuNDIlMjA1LjQ0Yy0uMDcuMDMtLjE0LjA0LS4yLjA0bS0uNzMtNGMuNTguMzYlMjAxLjEuODIlMjAxLjIxJTIwMS4zOS4wOS40OS4xMS45NS4xJTIwMS4zMmw4LjY1LTMuNzl6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zNC42NiUyMDQyLjFzLjIyLS45Mi0uMDEtMi4wM2MtLjIyLTEuMDQtMi42LTEuNzgtMi42LTEuNzhsMTUuMDMtMS42NHolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTMwLjkxJTIwNDQuNDZjLS4yNyUyMDAtLjUzLS4wOS0uNzMtLjI2LS4wNC0uMDMtLjEyLS4xLS45NS0uOTUtLjE5LS4xOC0uNDgtLjU3LS41LTEuMjYlMjAwLS4wMyUyMDAtLjEtLjAxLS4yNS0uMDUuMDEtLjA4LjAyLS4wOC4wMi0uNDguMTItLjc5LS4wMS0uOTgtLjEzLS4xMS0uMDctLjE2LS4xLTEuMDctMS4wOS0uMDYtLjA1LS4zNi0uMzgtLjM4LTEuMDEtLjAxLS4xOC0uMjItNC4wMy0uNDQtOC4wMy0uMjEtLjc0LS41Ny0yLjA3LS43OC0zLjQyLS4wNi0uNjQtLjM0LTMuNTYtLjM0LTMuOTktLjAxLTEuMS4yNy0xLjkxLjg1LTIuNDEuMDktLjA4LjE5LS4xNS4yOS0uMi0xLjE0LTEuMTMtMS43OS0yLjY2LTEuNzktNC4yNSUyMDAtMS42LjYyLTMuMTElMjAxLjc0LTQuMjRzMi42Mi0xLjc2JTIwNC4yMi0xLjc2aC4wMWMxLjU5JTIwMCUyMDMuMDkuNjIlMjA0LjIxJTIwMS43NSUyMDEuMTMlMjAxLjEzJTIwMS43NSUyMDIuNjQlMjAxLjc1JTIwNC4yNCUyMDAlMjAxLjY0LS42OCUyMDMuMjEtMS44OCUyMDQuMzUlMjAwJTIwMCUyMDAlMjAuMDEtLjAxLjAxbC4zMy4wOWMuNDYuMTMuNzYuNTYuNzMlMjAxLjA0bC0uMzElMjA0LjA1Yy0uMSUyMDIuMzItLjEyJTIwMy4xLS4xMiUyMDMuMzQuMDEuOTIuMTElMjAzLjM3LjExJTIwMy4zN2wuMDEuMmMuMDMuNC4xMiUyMDEuNDctLjclMjAyLjA2bC0uNTEwMDAwMDAwMDAwMDIlMjA2LjY3Yy0xZS0xNC40LS4yNjAwMDAwMDAwMDAwMSUyMDEuMDktLjk5MDAwMDAwMDAwMDAxJTIwMS40Ni0uNDkuMjUtLjk4LjQyLTEuMi40OS0uMTcwMDAwMDAwMDAwMDEuMDgtLjMyLjExLS40OC4xMW0tLjE5LTIuNTNjLjEuMS4yNS4yNi40LjQxLjE0LS4wNS4yOS0uMTIuNDUtLjJsLjU1LTcuMTNjLjAzLS40LjMtLjc0LjY3LS44NyUyMDAtLjA5LS4wMS0uMjEtLjAyLS4yOS0uMDEtLjEtLjAyLS4yLS4wMi0uMjktMWUtMTQlMjAwLS4xMDAwMDAwMDAwMDAwMS0yLjUtLjExMDAwMDAwMDAwMDAxLTMuNDQtMWUtMTQtLjM4LjAzOTk5OTk5OTk5OTk5LTEuNTIuMTE5OTk5OTk5OTk5OTktMy40OGwuMjQ5OTk5OTk5OTk5OTktMy4yNi0xLjcyMDAwMDAwMDAwMDAxLS40OGMtLjQyLS4xMi0uNzItLjUtLjczLS45My0uMDEtLjQ0LjI2LS44My42Ny0uOThsLjE4OTk5OTk5OTk5OTk5LS4wNmMuMDUtLjAyLjExLS4wNS4xNy0uMDhsLjExLS4wNmMuMTMtLjA2LjI2LS4xMy4zNy0uMi4wNi0uMDQuMTMtLjA5LjItLjE1LjA3LS4wNS4xMS0uMDkuMTUtLjExLjAyLS4wMjk5OTk5OTk5OTk5OS4wNS0uMDQ5OTk5OTk5OTk5OTkuMDgtLjA2OTk5OTk5OTk5OTk5LjktLjc3JTIwMS40MS0xLjg3JTIwMS40MS0zLjAzJTIwMC0xLjA3LS40MS0yLjA3LTEuMTYtMi44My0uNzUwMDAwMDAwMDAwMDEtLjc1LTEuNzQwMDAwMDAwMDAwMDEtMS4xNi0yLjc5MDAwMDAwMDAwMDAxLTEuMTYtMS4wNjAwMDAwMDAwMDAwMSUyMDAtMi4wNTAwMDAwMDAwMDAwMS40Mi0yLjgwMDAwMDAwMDAwMDAxJTIwMS4xNy0uNzUuNzYtMS4xNiUyMDEuNzYtMS4xNiUyMDIuODMlMjAwJTIwMS4xNTAwMDAwMDAwMDAwMS40OSUyMDIuMjEwMDAwMDAwMDAwMDElMjAxLjM3JTIwMi45OTAwMDAwMDAwMDAwMS4wMy4wMjAwMDAwMDAwMDAwMS4wNS4wNTAwMDAwMDAwMDAwMS4wOC4wNzAwMDAwMDAwMDAwMWwuMjIuMTZjLjA1LjA0LjExLjA5LjE2LjEyLjExLjA3LjIyLjEyLjMzLjE4bC4xOC4wOWMuMDUuMDIuMDkuMDUuMTQuMDdsLjE0LjA3Yy4zOS4xNi42MS41NC41OC45Ni0uMDIuNDMtLjM1Ljc3LS43Ni44OWwtMS4yMy4zNmMtLjE0LjA0LS4yOC4wNS0uNDMuMDMlMjAwJTIwLjAzLS4xMy4yNC0uMTIuODQlMjAwJTIwLjI0LjE3JTIwMi4xLjMzJTIwMy43Ny4xODk5OTk5OTk5OTk5OSUyMDEuMjUuNTQ5OTk5OTk5OTk5OTklMjAyLjU1LjczOTk5OTk5OTk5OTk5JTIwMy4yMS4wMTk5OTk5OTk5OTk5OS4wNy4wMzk5OTk5OTk5OTk5OS4xNS4wMzk5OTk5OTk5OTk5OS4yMy4zMyUyMDYuMDEuNDIlMjA3LjY2LjQ0JTIwOC4wNi4wNy4wOC4xNi4xNy4yNS4yN2wuMDctLjgyYy4wNS0uNTIuNDgtLjkxJTIwMS0uOTFoLjAxYy41MiUyMDAlMjAuOTUuNDEuOTkuOTMuMTUlMjAyLjM4LjE5JTIwMi45NS4xOSUyMDMuMTJtLTIuNzMtMi44LjEuMXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNlNThhMmMlMjIlMjBkJTNEJTIyTTI4LjU5JTIwMzEuMzRjLjA2LjUyLjM2JTIwMS4zLS41NiUyMDEuNTFzLTEuMDMtLjctMS4xLS45NWMwJTIwMC0uNjUtMS45Ny0uOTUtMy45NiUyMDAlMjAwLS4zMy0zLjQ0LS4zMy0zLjg1LS4wMi0xLjUyLjY2LTEuOTklMjAxLjM1LTEuODQuNS4xMSUyMDEuMDMuNSUyMDEuMDElMjAxLjc1JTIwMCUyMDAlMjAuMTUlMjAzLjU2LjIxJTIwNC4yNC4wOC44NS4zNyUyMDMuMS4zNyUyMDMuMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2U1OGEyYyUyMiUyMGQlM0QlMjJtMzQuMDglMjAyMi42NC00LjMxLTEuMnMtMy40MSUyMDEuMDItMy40MyUyMDEuMDJsLjk4JTIwMTcuMzElMjAxLjA0JTIwMS4wM3MuODEtLjIyLjkxLS4yNmMuMS0uMDMuMS0uMTguMS0uMThsLjE1LTEuNjguNyUyMDQuMS43Mi42NnMuNi0uMTglMjAxLjE2LS40N2MuNDUtLjIzLjQ1LS42NS40NS0uNjV6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMm0zMC4xOSUyMDIzLjcxLTMuODktMS4yOXMtLjAzLjAxLS4wMy4wOWMuMDglMjAxLjUuOTElMjAxNi43Mi45MiUyMDE2Ljk5cy4xMi4zNy4xMi4zNy44Mi44OS44OC45My4xNyUyMDAlMjAuMTclMjAwLS4wOC0uMDQtLjA5LS4yMy4zOC03LjQ4LjM4LTcuNDhjLjAxLS4zNy4wNy0uNTIuMjMtLjUzLjE1JTIwMCUyMC4xOS4xNS4xOS41MyUyMDAlMjAwJTIwLjYzJTIwOC40NS42NCUyMDguODhzLjIuNTYuMi41Ni44Mi44My44OS44OWMuMDguMDYuMTkuMDEuMTkuMDFzLS4xNC0uMDEtLjE0LS4zYy4wMi0uMTktLjY2LTE5LjQyLS42Ni0xOS40MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMzAuMTklMjAyMy43MS0zLjg5LTEuMjlzLS4wMy4wMS0uMDMuMDljLjA4JTIwMS41LjkxJTIwMTYuNzIuOTIlMjAxNi45OXMuMTIuMzcuMTIuMzcuODIuODkuODguOTMuMTclMjAwJTIwLjE3JTIwMC0uMDgtLjA0LS4wOS0uMjMuMzgtNy40OC4zOC03LjQ4Yy4wMS0uMzcuMDctLjUyLjIzLS41My4xNSUyMDAlMjAuMTkuMTUuMTkuNTMlMjAwJTIwMCUyMC42MyUyMDguNDUuNjQlMjA4Ljg4cy4yLjU2LjIuNTYuODIuODMuODkuODljLjA4LjA2LjE5LjAxLjE5LjAxcy0uMTQtLjAxLS4xNC0uM2MuMDItLjE5LS42Ni0xOS40Mi0uNjYtMTkuNDIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTI2LjMlMjAyMi40MiUyMDMuODklMjAxLjI5JTIwMy44OS0xLjA3LTQuMzctMS4yJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5LjkzJTIyJTIwY3klM0QlMjIyMi40JTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMiUyMHJ4JTNEJTIyMi4xMyUyMiUyMHJ5JTNEJTIyLjUyJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zMy43NiUyMDMzLjUzYy4wMi41Ny4yNyUyMDEuNDUtLjc2JTIwMS41OS0xLjAyLjE0LTEuMDUtLjg2LTEuMTEtMS4xNCUyMDAlMjAwLS41Mi0yLjIxLS42Ni00LjQxJTIwMCUyMDAtLjAzLTMuNzguMDEtNC4yMy4xMi0xLjY2LjkxLTIuMTElMjAxLjY0LTEuODcuNTMuMTclMjAxLjA4LjY1Ljk0JTIwMi4wMSUyMDAlMjAwLS4xOCUyMDMuODktLjE4JTIwNC42NC4wMS45My4xMiUyMDMuNDEuMTIlMjAzLjQxJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk1JTIyJTIwY3klM0QlMjIxNy4yMyUyMiUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjByeCUzRCUyMjQuOTYlMjIlMjByeSUzRCUyMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI5Ljk4JTIwMjEuNzRjMS4xOSUyMDAlMjAyLjMtLjI3JTIwMy4yNC0uNzUtLjg3Ljc3LTIuMDElMjAxLjI0LTMuMjYlMjAxLjI0LTEuMjglMjAwLTIuNDQtLjQ5LTMuMzItMS4yOC45Ni41JTIwMi4xMS43OSUyMDMuMzQuNzklMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMk0zMy43NCUyMDMzLjUzYy4wNCUyMDEuMTYtLjU0Ljk1LS44Mi44MS0uOTktLjUyLTEuMDktNS4xMi0xLjItNi41Ni0uMDctLjk3LS4xNi0zLjU4Ljc4LTQuMjYuNTUtLjIxJTIwMS4wNC40MiUyMDEuMDkuNTEuMTkuMzEuMjkuNzcuMjIlMjAxLjQ1JTIwMCUyMDAtLjE4JTIwMy44OS0uMTglMjA0LjY0JTIwMCUyMC45My4xMSUyMDMuNDEuMTElMjAzLjQxJTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfcGVnbWFuXzQuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMzAuMzMlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTMzLjQzJTIwNDMuOWMtLjE5JTIwMC0uMzYtLjEtLjQ1LS4yNy0uMS0uMTktLjA2LS40Mi4wOC0uNTcuMDEtLjAxLjc2LS44MSUyMDEuMTktMS43NS4yOS0uNjMtLjc2LTEuMzgtLjc3LTEuMzktLjE5LS4xMy0uMjYtLjM4LS4xOC0uNTlzLjMtLjM0LjUzLS4zMmwxNC44MSUyMDEuOTFjLjI1LjAyOTk5OTk5OTk5OTk4LjQ0LjIzOTk5OTk5OTk5OTk4LjQ0LjQ5OTk5OTk5OTk5OTk4JTIwMCUyMC4yNDk5OTk5OTk5OTk5OS0uMTkuNDU5OTk5OTk5OTk5OTktLjQ0LjQ5OTk5OTk5OTk5OTk5bC0xNS4xNiUyMDEuOTg5OTk5OTk5OTk5OThjLS4wMS0uMDE5OTk5OTk5OTk5OTktLjAzLS4wMS0uMDUtLjAxbTEuNjMtMy43M2MuMjUuNDU5OTk5OTk5OTk5OTkuMzYuOTk5OTk5OTk5OTk5OTkuMTElMjAxLjU0OTk5OTk5OTk5OTk5LS4xNy4zNy0uMzguNzMtLjU5JTIwMS4wM2wxMC4xMy0xLjMzeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMzMuNDMlMjA0My40cy44MS0uODYlMjAxLjI4LTEuODktLjk0LTIuMDEtLjk0LTIuMDFsMTQuODElMjAxLjkxeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMzAuMjIlMjA0My44M2MtLjU1JTIwMC0xLjE1LS4wNS0xLjU4LS4yMi0uMzktLjE1LTEuMTctLjQ2LTEuMjEtMS4ybC0xLjk3LTE5LjY2Yy0uMDMtLjMzLjEtLjY2LjM2LS44OGwuMTgtLjE0Yy0uMDEtLjAxLS4wMy0uMDItLjA0LS4wMy0uMDUtLjA1LS4xLS4xLS4xNC0uMTYtMS4xNi0xLjEzLTEuODMtMi42OC0xLjgzLTQuMjklMjAwLTEuNi42Mi0zLjExJTIwMS43NC00LjI0czIuNjItMS43NiUyMDQuMjItMS43NmguMDFjMS41OSUyMDAlMjAzLjA5LjYyJTIwNC4yMSUyMDEuNzVzMS43NSUyMDIuNjQlMjAxLjc1JTIwNC4yNGMwJTIwMS41NS0uNjElMjAzLjA0LTEuNjklMjA0LjE2cS4wNzUuMjEuMDYuNDJjLS4xJTIwMS40OC0xLjElMjAyMC4wMy0xLjExJTIwMjAuMjItLjAxLjE4LS4wNy4zNi0uMTcuNTEtLjU5Ljg3LS43My45Ni0uODclMjAxLjA1LS4xNi4wOTk5OTk5OTk5OTk5OS0uMzkuMjA5OTk5OTk5OTk5OTktLjcyLjE3OTk5OTk5OTk5OTk5LS4zLjAwOTk5OTk5OTk5OTk5LS43NC4wNDk5OTk5OTk5OTk5OS0xLjIuMDQ5OTk5OTk5OTk5OTltLS43OTk5OTk5OTk5OTk5OS0xLjYxdi4wMmMwJTIwLjAzOTk5OTk5OTk5OTk5LjAxLjA3OTk5OTk5OTk5OTk5JTIwMCUyMC4xMTk5OTk5OTk5OTk5OS4wMS0uMDUlMjAwLS4xJTIwMC0uMTRtLS4wNS0uNDhjLjI0LjA4OTk5OTk5OTk5OTk5Ljk4LjEwOTk5OTk5OTk5OTk5JTIwMS43MS4wMzk5OTk5OTk5OTk5OS4wNDAwMDAwMDAwMDAwMS0uMDUwMDAwMDAwMDAwMDEuMDcwMDAwMDAwMDAwMDEtLjEwMDAwMDAwMDAwMDAxLjExMDAwMDAwMDAwMDAxLS4xNTAwMDAwMDAwMDAwMS4xMi0yLjE5LjgzLTE1LjQ4JTIwMS4wNS0xOS4xMy0uMzktLjA5LS42OS0uNDItLjc1LS44MS0uMDYtLjQxLjEzLS44MS40OC0xLjAybC4xMi0uMDhjLjA2LS4wNC4xMi0uMDkuMTktLjE0cS4xMDUtLjA3NS4xNS0uMTJjLjAyLS4wMy4wNS0uMDUuMDgtLjA3LjktLjc3MDAwMDAwMDAwMDAxJTIwMS40MS0xLjg3MDAwMDAwMDAwMDAxJTIwMS40MS0zLjAzMDAwMDAwMDAwMDAxJTIwMC0xLjA3LS40MS0yLjA3LTEuMTYtMi44My0uNzUtLjc1LTEuNzQtMS4xNi0yLjc5LTEuMTYtMS4wNiUyMDAtMi4wNS40Mi0yLjglMjAxLjE3LS43NS43Ni0xLjE2JTIwMS43Ni0xLjE2JTIwMi44MyUyMDAlMjAxLjE1LjQ5JTIwMi4yMSUyMDEuMzYlMjAyLjk5LjAzLjAyLjA1LjA1LjA3LjA3bC4yMS4xNmMuMDYuMDQuMTEuMDkuMTcuMTMuMDkuMDYuMTkuMTEuMjkuMTYuNDEuMjEuNjYuNjkuNTUlMjAxLjE0LS4wNy4zMS0uMjcuNTYtLjUzLjY5bC0uNjIuNXolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIybTI2LjQ1JTIwMjIuNjQlMjA1LjYtMS4yczEuMTIuMjQlMjAxLjE0LjI0bC0xLjQzJTIwMjAuNTQtLjM1LjUzcy0xLjY4LjIxLTIuNDEtLjA4Yy0uNTgtLjIzLS41OC0uMzQtLjU4LS4zNHolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIybTMyLjUyMDAwMDAwMDAwMDAxJTIwMjIuNy43My0xLjA2cy4wNC4wMS4wMy4wOWMtLjElMjAxLjUtMS4xMSUyMDIwLjIzLTEuMTElMjAyMC4yM3MtLjQ3LjctLjU4Ljc2Yy0uMS4wNi0uMjUuMDEtLjI1LjAxcy4xOC0uMDEuMTgtLjNjLjAxLS4xOSUyMDEtMTkuNzMlMjAxLTE5LjczJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zMi41MjAwMDAwMDAwMDAwMSUyMDIyLjcuNzMtMS4wNnMuMDQuMDEuMDMuMDljLS4xJTIwMS41LTEuMTElMjAyMC4yMy0xLjExJTIwMjAuMjNzLS40Ny43LS41OC43NmMtLjEuMDYtLjI1LjAxLS4yNS4wMXMuMTgtLjAxLjE4LS4zYy4wMS0uMTklMjAxLTE5LjczJTIwMS0xOS43MyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMzMuMjUlMjAyMS42NS0uNzMlMjAxLjA1LTYuMDctLjA2JTIwMS4yLS45NyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMCUyMiUyMGN5JTNEJTIyMjIuMDElMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjEzJTIyJTIwcnklM0QlMjIuNTIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTMxLjI0JTIwMzMuMjVjLS4xMy43Mi4xMSUyMDEuNjgtMS4wNiUyMDEuODctLjgzLjEzLS44OC0uNy0uOTQtLjk5JTIwMCUyMDAtLjQ3LTMuOTgtLjYzLTYuMTglMjAwJTIwMC0uMjMtMy42OS0uMDEtNCUyMC4zNy0uNTIuOTItLjYzJTIwMS40NS0uNDkuNjEuMTclMjAxLjUyLjY0JTIwMS4zNiUyMDIlMjAwJTIwMC0uMDElMjAzLjklMjAwJTIwNC42NiUyMDAlMjAuOTQtLjE3JTIwMy4xMy0uMTclMjAzLjEzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMk0zMC42NCUyMDMzLjUzYy4wMi41Ny4zMSUyMDEuNDUtLjg3JTIwMS41OS0xLjE3LjE0LTEuMjEtLjg2LTEuMjctMS4xNCUyMDAlMjAwLS40Mi0yLjE2LS41OC00LjM2JTIwMCUyMDAtLjIxLTMuODMtLjE3LTQuMjguMTQtMS42NiUyMDEuMDUtMi4xMSUyMDEuODgtMS44Ny42MS4xNyUyMDEuMjQuNjUlMjAxLjA4JTIwMi4wMSUyMDAlMjAwLS4wMyUyMDMuOTQtLjAyJTIwNC42OS4wMi45My0uMDUlMjAzLjM2LS4wNSUyMDMuMzYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTMwLjY0JTIwMzMuNTNjLjAyLjU3LjMlMjAxLjQxLS44NyUyMDEuNTktLjgzLjEzLS44OC0uNy0uOTQtLjk5JTIwMCUyMDAtLjQ3LTMuOTgtLjYzLTYuMTglMjAwJTIwMC0uMjMtMy42OSUyMDAtNCUyMC4zNy0uNTIuOTItLjYzJTIwMS40NS0uNDkuNjEuMTclMjAxLjI0LjY1JTIwMS4wOCUyMDIuMDElMjAwJTIwMC0uMDMlMjAzLjk0LS4wMiUyMDQuNjklMjAwJTIwLjk0LS4wNyUyMDMuMzctLjA3JTIwMy4zNyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NSUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45NyUyMDIxLjc0YzEuMTklMjAwJTIwMi4zLS4yNyUyMDMuMjQtLjc1LS44Ny43Ny0yLjAxJTIwMS4yNC0zLjI2JTIwMS4yNC0xLjI4JTIwMC0yLjQ0LS40OS0zLjMyLTEuMjguOTYuNSUyMDIuMTEuNzklMjAzLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0Mvc3ZnJTNFIiwKImxpbHlwYWRfcGVnbWFuXzUuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYwJTIwNjAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMGQlM0QlMjJNMzAuMzMlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtMjkuNjUlMjA0NC4xNCUyMDguMjQtMy44NS00LjQ3LTIuNjklMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIyTTI5LjIxJTIwNDQuNDZjLS4xNiUyMDAtLjMxLS4wMy0uNDYtLjA5LS4yMS0uMDctLjctLjI0LTEuMi0uNDktLjc0LS4zNy0xLTEuMDctMS0xLjU0bC0uNTEtNi42M2MtLjM3LS4zMi0uNjEtLjgyLS43MS0xLjQ5LS4wMi0uMTEtLjU0LTIuMzMtLjY4LTQuNTktLjAxLS42OS0uMDMtMy45LjAxLTQuMzcuMDUtLjY3MDAwMDAwMDAwMDAyLjItMS4yNDAwMDAwMDAwMDAwMi40NS0xLjY5MDAwMDAwMDAwMDAybC0uMDctLjg1MDAwMDAwMDAwMDAyYy0uMDQtLjQ4LjI3LS45MS43My0xLjA0bC4xNC0uMDRjLS4wNC0uMDQtLjA3LS4wOC0uMS0uMTItMS4xNi0xLjEzLTEuODMtMi42OC0xLjgzLTQuMjklMjAwLTEuNi42Mi0zLjExJTIwMS43NC00LjI0JTIwMS4xMy0xLjE0JTIwMi42MS0xLjc2JTIwNC4yMi0xLjc2JTIwMS41OSUyMDAlMjAzLjA5LjYyJTIwNC4yMSUyMDEuNzVzMS43NCUyMDIuNjQlMjAxLjc1JTIwNC4yNGMwJTIwMS41OS0uNjQlMjAzLjExLTEuNzclMjA0LjI0LjA0OTk5OTk5OTk5OTk4LjAyLjA4OTk5OTk5OTk5OTk4LjAzLjEzOTk5OTk5OTk5OTk4LjA2LjM1OTk5OTk5OTk5OTk5LjE4LjU5OTk5OTk5OTk5OTk5LjY0LjU3OTk5OTk5OTk5OTk5JTIwMS4wNGwtLjA2MDAwMDAwMDAwMDAyJTIwMS4wOWMuMDEuMTIuMDEuMjQuMDEuMzcuMDQuOTIuMTYlMjAzLjU5LjIxJTIwNC4xMy4wOC44NC4zNyUyMDMuMDYuMzclMjAzLjA2bC4wMy4xODk5OTk5OTk5OTk5OGMuMjclMjAxLjU0LS40NCUyMDIuMTUtMS4xNyUyMDIuMzctLjE3JTIwMy4wNy0uMzElMjA1LjYxLS4zMSUyMDUuNzYtLjAzMDAwMDAwMDAwMDAyLjYzLS4zMjAwMDAwMDAwMDAwMi45Ni0uNDUwMDAwMDAwMDAwMDIlMjAxLjA4LS44NTAwMDAwMDAwMDAwMi45My0uOTAwMDAwMDAwMDAwMDIuOTYtMS4wMjAwMDAwMDAwMDAwMiUyMDEuMDQtLjI2MDAwMDAwMDAwMDAxLjE3LS42MTAwMDAwMDAwMDAwMS4yMi0uOTYwMDAwMDAwMDAwMDEuMTItLjAzLS4wMS0uMDYtLjAxLS4wOS0uMDItLjAwOTk5OTk5OTk5OTk4LjE3LS4wMDk5OTk5OTk5OTk5OC4yMy0uMDA5OTk5OTk5OTk5OTguMjUtLjAxLjY5LS4zMSUyMDEuMDgtLjUlMjAxLjI2LS44My44NS0uOTEuOTEtLjk1Ljk1LS4yMi4xNy0uNDguMjUtLjc0LjI1bS0uNjctMi4zMmMuMTYuMDguMzIuMTQuNDUuMi4xNS0uMTUwMDAwMDAwMDAwMDEuMy0uMzEwMDAwMDAwMDAwMDEuNC0uNDEwMDAwMDAwMDAwMDEuMDEtLjE3LjA0LS42OS4yMi0zLjEyLjA0LS41Mi40Ny0uOTIuOTktLjkzaC4wMWMuNTIlMjAwJTIwLjk1LjM5JTIwMSUyMC45MWwuMDcuODJjLjA5LS4xLjE4LS4xOS4yNS0uMjcuMDQtLjgxMDAwMDAwMDAwMDAxLjMtNS41NjAwMDAwMDAwMDAwMS4zNi02LjU3MDAwMDAwMDAwMDAxLjAxOTk5OTk5OTk5OTk5LS4zMjAwMDAwMDAwMDAwMS4xODk5OTk5OTk5OTk5OS0uNjIwMDAwMDAwMDAwMDEuNDU5OTk5OTk5OTk5OTktLjc5MDAwMDAwMDAwMDAxLjIxLS4xMy40Ni0uMTguNy0uMTQtLjAxLS4wNC0uMDEtLjA3LS4wMi0uMS0uMDItLjEtLjAzLS4xOS0uMDQtLjI4JTIwMCUyMDAtLjI5LTIuMjctLjM4LTMuMTItLjA3LS43LS4yMS00LjE1LS4yMS00LjNzLS4wMS0uMjItLjAxLS4zdi0uMTRsLjAxOTk5OTk5OTk5OTk5LS40NDAwMDAwMDAwMDAwMS0xLjI1LS4zNjAwMDAwMDAwMDAwMWMtLjQxLS4xMi0uNy0uNDgtLjcyLS45cy4yMi0uODIuNjEtLjk4Yy4wNC0uMDIuMDctLjA0LjExLS4wNmwuMTUtLjA4Yy4xMy0uMDYuMjUtLjEzLjM3LS4ybC4yMDk5OTk5OTk5OTk5OS0uMTUuMTQtLjEuMDgtLjA4Yy45LS43NyUyMDEuNDEtMS44NyUyMDEuNDEtMy4wMyUyMDAtMS4wNy0uNDEtMi4wNy0xLjE2LTIuODMtLjc1LS43NS0xLjc0LTEuMTYtMi43OS0xLjE2LTEuMDYwMDAwMDAwMDAwMDElMjAwLTIuMDUwMDAwMDAwMDAwMDEuNDItMi44MDAwMDAwMDAwMDAwMSUyMDEuMTctLjc1Ljc2LTEuMTYlMjAxLjc2LTEuMTYlMjAyLjgzJTIwMCUyMDEuMTUuNDklMjAyLjIxJTIwMS4zNiUyMDIuOTkuMDMuMDIwMDAwMDAwMDAwMDEuMDUuMDUwMDAwMDAwMDAwMDEuMDcuMDcwMDAwMDAwMDAwMDFsLjIyLjE2Yy4wNS4wNC4xMS4wOS4xNi4xMi4xLjA3LjIxLjEyLjMyLjE3bC4yLjEwMDAwMDAwMDAwMDAxYy4wNC4wMjAwMDAwMDAwMDAwMS4wOS4wNTAwMDAwMDAwMDAwMS4xMy4wNzAwMDAwMDAwMDAwMS4wNS4wMi4xLjAzLjE1LjA1TDI4Ljc1OTk5OTk5OTk5OTk5JTIwMjFjLjQyLjE0LjcuNTMuNjkuOTdzLS4zMS44Mi0uNzMuOTRsLTEuNi40NS4wMy4zN2MuMDIuMjUtLjA2LjUtLjIxLjctLjA2LjA4LS4yMi4zNC0uMjcuOTYtLjAyLjI2LS4wMiUyMDIuMzElMjAwJTIwNC4xNS4xMyUyMDIuMDMuNjMlMjA0LjE2LjYzJTIwNC4xOS4wMS4wMy4wMy4xNS4wMy4xOC4wMS4wNS4wMi4xNi4wNC4yNC4zNi4xNC42MS40Ny42NC44NnptMS4wOS0uNDJxLS4wMTUlMjAwJTIwMCUyMDAtLjAxNSUyMDAlMjAwJTIwMG0yLjQzLTIuNTJjLS4wMy4wMTk5OTk5OTk5OTk5OS0uMDUuMDM5OTk5OTk5OTk5OTktLjA2LjA2OTk5OTk5OTk5OTk5LjA0LS4wNTAwMDAwMDAwMDAwMS4wNi0uMDcwMDAwMDAwMDAwMDEuMDYtLjA3MDAwMDAwMDAwMDAxJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zNC4zODAwMDAwMDAwMDAwMSUyMDMxLjM0Yy4wNi41Mi4zNiUyMDEuMy0uNTYlMjAxLjUxcy0xLjAzLS43LTEuMS0uOTVjMCUyMDAtLjY1LTEuOTctLjk1LTMuOTYlMjAwJTIwMC0uMzMtMy40NC0uMzMtMy44NS0uMDItMS41Mi42Ni0xLjk5JTIwMS4zNS0xLjg0LjUuMTElMjAxLjAzLjUlMjAxLjAxJTIwMS43NSUyMDAlMjAwJTIwLjE1JTIwMy41Ni4yMSUyMDQuMjQuMDguODUuMzclMjAzLjEuMzclMjAzLjElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTM0LjM4MDAwMDAwMDAwMDAxJTIwMzEuMzRjLjA2LjUyLjM2JTIwMS4zLS41NiUyMDEuNTFzLTEuMDMtLjctMS4xLS45NWMwJTIwMC0uNjUtMS45Ny0uOTUtMy45NiUyMDAlMjAwLS4zMy0zLjQ0LS4zMy0zLjg1LS4wMi0xLjUyLjY2LTEuOTklMjAxLjM1LTEuODQuNS4xMSUyMDEuMDMuNSUyMDEuMDElMjAxLjc1JTIwMCUyMDAlMjAuMTUlMjAzLjU2LjIxJTIwNC4yNC4wOC44NS4zNyUyMDMuMS4zNyUyMDMuMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjYuMDQlMjAyMi42NCUyMDQuMzEtMS4yczMuNDElMjAxLjAyJTIwMy40MyUyMDEuMDJsLS45OCUyMDE3LjMxLTEuMDQlMjAxLjAzcy0uODEtLjIyLS45MS0uMjZjLS4xLS4wMy0uMS0uMTgtLjEtLjE4bC0uMTUtMS42OC0uNyUyMDQuMS0uNzIuNjZzLS42LS4xOC0xLjE2LS40N2MtLjQ1LS4yMy0uNDUtLjY1LS40NS0uNjV6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMm0yOS45MiUyMDIzLjcxJTIwMy44OS0xLjI5cy4wMy4wMS4wMy4wOWMtLjA4JTIwMS41LS45MSUyMDE2LjcyLS45MiUyMDE2Ljk5cy0uMTIuMzctLjEyLjM3LS44Mi44OS0uODguOTMtLjE3JTIwMC0uMTclMjAwJTIwLjA4LS4wNC4wOS0uMjMtLjM4LTcuNDgtLjM4LTcuNDhjLS4wMS0uMzctLjA3LS41Mi0uMjMtLjUyLS4xNSUyMDAtLjE5LjE1LS4xOS41MyUyMDAlMjAwLS42MyUyMDguNDUtLjY0JTIwOC44OHMtLjIuNTYtLjIuNTYtLjgyLjgzLS44OS44OWMtLjA4LjA2LS4xOS4wMS0uMTkuMDFzLjE0LS4wMS4xNC0uM2MtLjAxLS4yLjY2LTE5LjQzLjY2LTE5LjQzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0yOS45MiUyMDIzLjcxJTIwMy44OS0xLjI5cy4wMy4wMS4wMy4wOWMtLjA4JTIwMS41LS45MSUyMDE2LjcyLS45MiUyMDE2Ljk5cy0uMTIuMzctLjEyLjM3LS44Mi44OS0uODguOTMtLjE3JTIwMC0uMTclMjAwJTIwLjA4LS4wNC4wOS0uMjMtLjM4LTcuNDgtLjM4LTcuNDhjLS4wMS0uMzctLjA3LS41Mi0uMjMtLjUyLS4xNSUyMDAtLjE5LjE1LS4xOS41MyUyMDAlMjAwLS42MyUyMDguNDUtLjY0JTIwOC44OHMtLjIuNTYtLjIuNTYtLjgyLjgzLS44OS44OWMtLjA4LjA2LS4xOS4wMS0uMTkuMDFzLjE0LS4wMS4xNC0uM2MtLjAxLS4yLjY2LTE5LjQzLjY2LTE5LjQzJTIyJTIwb3BhY2l0eSUzRCUyMi4zJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zMy44MiUyMDIyLjQyLTMuOSUyMDEuMjktMy44OC0xLjA3JTIwNC4zNi0xLjIlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMTklMjIlMjBjeSUzRCUyMjIyLjQlMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjEzJTIyJTIwcnklM0QlMjIuNTIlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI1LjkyJTIwMjUuNjZjLjA0LTEuNjcuNzItMi40NiUyMDEuNDQtMi4yMi44MS4yNyUyMDEuMjklMjAxLjAzJTIwMS4yMSUyMDIuNCUyMDAlMjAwLS4wNyUyMDMuNzMtLjAzJTIwNC40OC4wNS45My4yNyUyMDMuNC4yNyUyMDMuNC4wNS41Ny4zMyUyMDEuNDQtLjY4JTIwMS42My0uMjIuMDQtLjM5LS4wMS0uNTMtLjEybC0uMjgtLjQzcy0uOTctMi43Mi0xLjIxLTQuOTFjMC0uMDItLjItMy43OC0uMTktNC4yMyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjguMTYlMjAzMy41M2MuMDIuNTcuMjclMjAxLjQ1LS43NiUyMDEuNTktMS4wMi4xNC0xLjA1LS44Ni0xLjExLTEuMTQlMjAwJTIwMC0uNTItMi4yMS0uNjYtNC40MSUyMDAlMjAwLS4wMy0zLjc4LjAxLTQuMjMuMTItMS42Ni45MS0yLjExJTIwMS42NC0xLjg3LjUzLjE3JTIwMS4wOC42NS45NCUyMDIuMDElMjAwJTIwMC0uMTglMjAzLjg5LS4xOCUyMDQuNjQuMDIuOTMuMTIlMjAzLjQxLjEyJTIwMy40MSUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NCUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45NiUyMDIxLjc0YzEuMTklMjAwJTIwMi4zLS4yNyUyMDMuMjQtLjc1LS44Ny43Ny0yLjAxJTIwMS4yNC0zLjI2JTIwMS4yNC0xLjI4JTIwMC0yLjQ0LS40OS0zLjMyLTEuMjguOTcuNSUyMDIuMTEuNzklMjAzLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMzIuNzYlMjAyMi43Ny0uOTQlMjA0LjY2LS43Ni00LjElMjIlMjBvcGFjaXR5JTNEJTIyLjglMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIyTTI4LjE0JTIwMzMuNTNjLjA0JTIwMS4xNi0uNTQuOTUtLjgyLjgxLS45OS0uNTItMS4wOS01LjEyLTEuMi02LjU2LS4wNy0uOTctLjE2LTMuNTguNzgtNC4yNi41NS0uMjElMjAxLjA0LjQyJTIwMS4wOS41MS4xOS4zMS4yOS43Ny4yMiUyMDEuNDUlMjAwJTIwMC0uMTglMjAzLjg5LS4xOCUyMDQuNjQuMDEuOTMuMTElMjAzLjQxLjExJTIwMy40MSUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTQ3LjQ4JTIwNDUuMTVxLS4wMTUlMjAwJTIwMCUyMDBsLTE1LjktLjA4Yy0uMjIlMjAwLS40Mi0uMTUtLjQ4LS4zN3MuMDMtLjQ1LjIzLS41NmMuNjYtLjM5JTIwMi40OC0xLjU2JTIwMi45Ni0yLjI1LjU3LS44LjcxLTIuMjQuNzEtMi4yNi4wMS0uMTYuMS0uMy4yNC0uMzhzLjMtLjA5LjQ1LS4wM2wxMS45OCUyMDQuOTdjLjIyLjA5LjM1LjMzLjMuNTYtLjA1LjI0LS4yNi40LS40OS40bS0xNC4yMy0xLjA2JTIwMTEuNjguMDYtOS4wNC0zLjc1Yy0uMTEuNTktLjM0JTIwMS40NS0uNzklMjAyLjA4LS4zNS41LTEuMTMlMjAxLjExLTEuODUlMjAxLjYxJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zMS41OCUyMDQ0LjU4czIuNDYtMS40NyUyMDMuMTItMi4zOWMuNjYtLjkzLjgtMi41LjgtMi41bDExLjk4JTIwNC45N3olMjIvJTNFJTNDL3N2ZyUzRSIsCiJsaWx5cGFkX3BlZ21hbl82LnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2MCUyMDYwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTMwLjMzJTIwMjcuMTljLTExLjI0JTIwMC0yMC4zNSUyMDYuNDYtMjAuMzUlMjAxNC40MnM5LjExJTIwMTQuNDIlMjAyMC4zNSUyMDE0LjQyJTIwMjAuMzUtNi40NiUyMDIwLjM1LTE0LjQyYzAtNy45Ny05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMjcuNDMlMjA0NC40N2MtLjI2JTIwMC0uNTItLjA5LS43LS4yOC0uMTItLjEyLS43NS0uNzYtLjk5LTEuMS0uMzctLjUxLS40MS0xLjA3LS40MS0xLjNsLS4zOC02LjQ3Yy0uMi0uMy0uMy0uNjgtLjQxLTEuMDlsLS4wNS0uMTdjLS4wNC0uMTgtLjUtMi42Ny0uNjQtNC45LS4wNC0uOC0uMTgtMy40Mi0uMTQtMy45LjA2LS43NS4yNC0xLjM3LjU0LTEuODRsLS4wMy0uNTJjLS4wMy0uMS0uMDQtLjItLjAzLS4zMS4wMy0uNDUuMzMtLjg0Ljc4LS45M2wuODEtLjE3Yy0xLjE1LTEuMTMtMS44LTIuNjYtMS44LTQuMjYlMjAwLTEuNjEuNjItMy4xMiUyMDEuNzUtNC4yNSUyMDEuMTItMS4xMyUyMDIuNjItMS43NSUyMDQuMi0xLjc1aC4wMWMxLjU5JTIwMCUyMDMuMDkuNjIlMjA0LjIxJTIwMS43NXMxLjc0JTIwMi42NCUyMDEuNzUlMjA0LjI0YzAlMjAxLjUyLS41OSUyMDIuOTgtMS42MyUyMDQuMDlsLjM3LjExYy4wNi4wMS4xMS4wMi4xNi4wNC40Ny4xNS43Ny41OS43NCUyMDEuMDlxLjM0NS42Ni4zMyUyMDEuNjJjLjA0LjkzLjE2JTIwMy41OS4yMSUyMDQuMTMuMDguODYuMTclMjAzLjAxLjE3JTIwMy4xdi4wMmMwJTIwLjA4LjAxLjE3LjAxLjI1LjAzLjUxLjElMjAxLjgzLTEuNDQlMjAyLjE2LS4yJTIwMy4yNC0uMzYlMjA1Ljk0LS4zNyUyMDYuMDctLjA0LjYxLS4zOSUyMDEuMDItLjclMjAxLjE5LTEuMzIuOTEtMS40MS45NS0xLjUyLjk5LS4wMS4wMS0uMDMuMDEtLjA1LjAyLS4xOS4wOS0uMzkuMTEtLjYxLjA2LS4wOC0uMDEtLjE0LS4wMi0uMTctLjAyLS4xNi0uMDMtLjMxLS4xLS40My0uMTktLjExLS4wNC0uMjMtLjA5LS4zNC0uMTMtLjAxLjEtLjAyLjE1LS4wMi4xOC0uMDIuNzItLjQ1JTIwMS4xOS0uODQlMjAxLjQtLjIxLjEyLTEuNDguODYtMS42LjkyLS4xODAwMDAwMDAwMDAwMi4xLS4zOTAwMDAwMDAwMDAwMi4xNC0uNjEwMDAwMDAwMDAwMDIuMTRoLS4wMWMtLjAyOTk5OTk5OTk5OTk5LjAxLS4wOC4wMS0uMTE5OTk5OTk5OTk5OTkuMDFtLS44My0xMC4zYy4xOS4xNy4zMS40Mi4zMy42OGwuNCUyMDYuODd2LjEyYzAlMjAuMDEuMDEuMDcuMDMuMDkuMDQ5OTk5OTk5OTk5OTkuMDcuMTc5OTk5OTk5OTk5OTkuMjIuMzI5OTk5OTk5OTk5OTkuMzguMzItLjE4LjcyLS40Mi45NS0uNTUuMDMtLjMzLjE2LTEuMzMuNjYtNC45NS4wNy0uNS40OS0uODYuOTktLjg2aC4wM2MuNTEuMDEuOTMuNDEuOTcuOTFsLjI4JTIwMy4xOGMuMDUuMDIuMS4wNC4xNC4wNS4yMi0uMTUuNTUtLjM4Ljc2LS41Mi4wNS0uODIuMjItMy42OS40Mi02Ljg2LjAxOTk5OTk5OTk5OTk5LS4zNy4yNDk5OTk5OTk5OTk5OS0uNy41OTk5OTk5OTk5OTk5OS0uODUuMjUtLjExLjUzLS4xMS43OC0uMDF2LS4wNTAwMDAwMDAwMDAwMWMtLjAxLS4xLS4wMS0uMjEtLjAxLS4zMS0uMDEtLjE3LS4wOS0yLjItLjE2LTIuOTgtLjA3LS43LS4yMS00LjE1LS4yMi00LjI5LjAxLS41NS0uMS0uNzItLjEzLS43NmwtLjAyLS4wMmMtLjAyLS4wMS0uMDMtLjAyLS4wNS0uMDItLjEzLS4wNi0uMjQtLjE1LS4zMi0uMjVsLTEuNTYtLjQ1Yy0uNC0uMTEtLjY4LS40Ni0uNzItLjg3cy4xOC0uOC41NS0uOTljLjItLjEuMzMtLjE3LjQ0LS4yNC4wNy0uMDQuMTMtLjEuMi0uMTVsLjE0LS4xYy4wMzAwMDAwMDAwMDAwMS0uMDMuMDUwMDAwMDAwMDAwMDEtLjA2LjA4MDAwMDAwMDAwMDAxLS4wOC45LS43NyUyMDEuNDEtMS44NyUyMDEuNDEtMy4wMyUyMDAtMS4wNy0uNDEtMi4wNy0xLjE2LTIuODMtLjc1LS43NS0xLjc0LTEuMTYtMi43OS0xLjE2cy0yLjAzOTk5OTk5OTk5OTk4LjQxLTIuNzg5OTk5OTk5OTk5OTglMjAxLjE2Yy0uNzUuNzYtMS4xNyUyMDEuNzYtMS4xNyUyMDIuODQlMjAwJTIwMS4xNS40OSUyMDIuMjElMjAxLjM2JTIwMi45OS4wMy4wMi4wNS4wNS4wOC4wN2wuMTE5OTk5OTk5OTk5OTkuMDlzLjA4LjA2LjA4LjA3Yy4wNi4wNS4xMS4wOS4xNy4xMy4xLjA3LjIxLjEyLjMyLjE3bC4yLjFjLjA0LjAyLjA5LjA1LjEzLjA3LjA1LjAyLjEuMDMuMTUuMDVsLjE0LjA0Yy40My4xNC43MS41NS42OSUyMDEuMDEtLjAzLjQ1MDAwMDAwMDAwMDAxLS4zNS44MzAwMDAwMDAwMDAwMS0uOC45MjAwMDAwMDAwMDAwMWwtMi4zNy40OTAwMDAwMDAwMDAwMi4wMS4yNGMuMDIuMjgtLjA4LjU1LS4yOC43NS0uMDUuMDYtLjIzLjI5LS4yOC45OS0uMDIuMjcuMDYlMjAyLjA2LjE0JTIwMy42My4xMyUyMDIuMS41OSUyMDQuNTUuNTklMjA0LjU3bC4wMy4xYy4wNS4xMy4xLjMxLjEzLjQybTYuMDklMjA1LjI0Yy0uMDMuMDItLjA1LjAzLS4wNy4wNS4wNS0uMDMuMDctLjA1LjA3LS4wNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjUuMjElMjAyMi42NCUyMDQuNDYtLjgzczIuNDIuMzUlMjAyLjQzLjM1bC40NiUyMDE3Ljk4LS43OCUyMDEuMDNzLTEuMDItLjM4LTEuMS0uNDEtLjA3LS4xOC0uMDctLjE4bC0uNjYtNy41NC0xLjQ2JTIwOS43NC0xLjA0LjdjMCUyMDJlLTE0LS42OC0uNjg5OTk5OTk5OTk5OTgtLjg5LS45Nzk5OTk5OTk5OTk5OC0uMjQtLjMzLS4yMi0uNzMtLjIyLS43M3olMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI0Ljc1JTIwMjUuNjZjLjA0LTEuNjcuNzItMi40NiUyMDEuNDQtMi4yMi44MS4yNyUyMDEuMjklMjAxLjAzJTIwMS4yMSUyMDIuNCUyMDAlMjAwLS4wNyUyMDMuNzMtLjAzJTIwNC40OC4wNS45My4yNyUyMDMuNC4yNyUyMDMuNC4wNS41Ny4zMyUyMDEuNDQtLjY4JTIwMS42My0uMjIuMDQtLjM5LS4wMS0uNTMtLjEybC0uMjgtLjQzcy0uOTctMi43Mi0xLjIxLTQuOTFjLjAxLS4wMi0uMi0zLjc4LS4xOS00LjIzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0yNy4yMyUyMDMzLjUzYy4wMi41Ny4yNyUyMDEuMjMtLjc1JTIwMS40MS0uNzQuMTMtLjc1LS4xMS0xLjAyLTEuMTMlMjAwJTIwMC0uNDctMi41LS42MS00LjcxJTIwMCUyMDAtLjE4LTMuMzEtLjE0LTMuNzYuMTItMS42Ni45MS0yLjExJTIwMS42NC0xLjg3LjUzLjE3JTIwMS4wOC42NS45NCUyMDIuMDElMjAwJTIwMC0uMTglMjAzLjg5LS4xOCUyMDQuNjQuMDEuOTMuMTIlMjAzLjQxLjEyJTIwMy40MSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NmNTcyZSUyMiUyMGQlM0QlMjJNMjcuMjMlMjAzMy41M2MuMDQlMjAxLjE2LS41OCUyMDEtLjgyLjgxLS42My0uNS0uNzEtNS4yMS0uODItNi42NC0uMDctLjk3LjA5LTMuNC40LTQuMTcuNTUtLjIxJTIwMS4wNC40MiUyMDEuMDkuNTEuMTkuMzEuMjkuNzcuMjIlMjAxLjQ1JTIwMCUyMDAtLjE4JTIwMy44OS0uMTglMjA0LjY0JTIwMCUyMC45Mi4xMSUyMDMuNC4xMSUyMDMuNCUyMiUyMG9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIyTTM1LjI1JTIwMzEuNDVjLjAxLjY3LjIlMjAxLjI3LS43MyUyMDEuNDMtLjkxLjE1LS44Ni0uNjEtLjkzLS44NyUyMDAlMjAwLS40NS0xLjkyLS43NS0zLjkxJTIwMCUyMDAtLjMzLTMuNDQtLjMzLTMuODUtLjAyLTEuNTIuNjYtMS45OSUyMDEuMzUtMS44NC41LjExJTIwMS4wMy41JTIwMS4wMSUyMDEuNzUlMjAwJTIwMCUyMC4xNSUyMDMuNTYuMjElMjA0LjI0LjA4Ljg0LjE3JTIwMy4wNS4xNyUyMDMuMDUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTM1LjI1JTIwMzEuNDVjLjAxLjY3LjIlMjAxLjI3LS43MyUyMDEuNDMtLjkxLjE1LS44Ni0uNjEtLjkzLS44NyUyMDAlMjAwLS40NS0xLjkyLS43NS0zLjkxJTIwMCUyMDAtLjMzLTMuNDQtLjMzLTMuODUtLjAyLTEuNTIuNjYtMS45OSUyMDEuMzUtMS44NC41LjExJTIwMS4wMy41JTIwMS4wMSUyMDEuNzUlMjAwJTIwMCUyMC4xNSUyMDMuNTYuMjElMjA0LjI0LjA4Ljg0LjE3JTIwMy4wNS4xNyUyMDMuMDUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjBkJTNEJTIybTI4LjMzJTIwMjMuNzElMjA2LjE3LTEuMjlzLjA1LjAxLjA0LjA5Yy0uMTMlMjAxLjUtMS4wNyUyMDE3LjA4LTEuMDklMjAxNy4zNC0uMDIuMjctLjE5LjM3LS4xOS4zN3MtMS4zLjg5LTEuMzkuOTMtLjI3JTIwMC0uMjclMjAwJTIwLjEzLS4wNC4xNC0uMjNjLjAyLS4xOS0uMy03LjQ2LS4zLTcuNDYtLjAxLS4zNy0uMTEtLjUyLS4zNi0uNTJzLS4yOS4xNS0uMzEuNTNjMCUyMDAtMS4xNCUyMDguMDUtMS4xNSUyMDguNDhzLS4zMS41Ni0uMzEuNTYtMS40Ny44Ni0xLjU5LjkyLS4zLjAxLS4zLjAxLjIyLS4wMS4yMi0uM2MwLS4yLjY5LTE5LjQzLjY5LTE5LjQzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0yOC4zMyUyMDIzLjcxJTIwNi4xNy0xLjI5cy4wNS4wMS4wNC4wOWMtLjEzJTIwMS41LTEuMDclMjAxNy4wOC0xLjA5JTIwMTcuMzQtLjAyLjI3LS4xOS4zNy0uMTkuMzdzLTEuMy44OS0xLjM5LjkzLS4yNyUyMDAtLjI3JTIwMCUyMC4xMy0uMDQuMTQtLjIzYy4wMi0uMTktLjMtNy40Ni0uMy03LjQ2LS4wMS0uMzctLjExLS41Mi0uMzYtLjUycy0uMjkuMTUtLjMxLjUzYzAlMjAwLTEuMTQlMjA4LjA1LTEuMTUlMjA4LjQ4cy0uMzEuNTYtLjMxLjU2LTEuNDcuODYtMS41OS45Mi0uMy4wMS0uMy4wMS4yMi0uMDEuMjItLjNjMC0uMi42OS0xOS40My42OS0xOS40MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMzMuMTUlMjAyMi42Ny0yLjAyJTIwNC45OC0xLjIzLTQuMjYlMjIlMjBvcGFjaXR5JTNEJTIyLjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIybTMzLjE1JTIwMjIuNjctMi4wMiUyMDQuOTgtMS4yMy00LjI2JTIyJTIwb3BhY2l0eSUzRCUyMi44JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zNC40NiUyMDIyLjQyLTYuMTQlMjAxLjI5LTMuMTUtMS4wNyUyMDUuODgtMS4yJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjMwJTIyJTIwY3klM0QlMjIyMi40JTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMiUyMHJ4JTNEJTIyMi4yNSUyMiUyMHJ5JTNEJTIyLjQzJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk0JTIyJTIwY3klM0QlMjIxNy4yMyUyMiUyMGZpbGwlM0QlMjIlMjNmYWJkMmMlMjIlMjByeCUzRCUyMjQuOTYlMjIlMjByeSUzRCUyMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI5Ljk2JTIwMjEuNzRjMS4xOSUyMDAlMjAyLjMtLjI3JTIwMy4yNC0uNzUtLjg3Ljc3LTIuMDElMjAxLjI0LTMuMjYlMjAxLjI0LTEuMjglMjAwLTIuNDQtLjQ5LTMuMzItMS4yOC45Ni41JTIwMi4xMS43OSUyMDMuMzQuNzklMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk00NC44MyUyMDQ4Ljc0Yy0uMDQlMjAwLS4wOCUyMDAtLjExLS4wMWwtMTQuNDUtMy40Yy0uMjItLjA1LS4zOC0uMjUtLjM5LS40OCUyMDAtLjIzLjE1LS40My4zNy0uNDkuODYtLjI0JTIwMy4yMy0uOTclMjAzLjg3LTEuNTEuNjItLjUzJTIwMS4xMS0xLjYzJTIwMS4yNS0yLjAxLjA1LS4xNS4xOC0uMjcuMzMtLjMxLjE2LS4wNC4zMi0uMDEuNDUuMDlsOC45OSUyMDcuMjQwMDAwMDAwMDAwMDNjLjE4LjE1LjI0LjQuMTQuNjEtLjA5LjE2LS4yNy4yNy0uNDUuMjdtLTEyLjU2LTMuOTclMjAxMC41MyUyMDIuNDgtNi43Ni01LjQ0Yy0uMjYuNTQtLjclMjAxLjMxLTEuMjglMjAxLjgtLjQ5LjQtMS41NS44My0yLjQ5JTIwMS4xNiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMzAuMzclMjA0NC44M3MzLjE5LS44OCUyMDQuMDYtMS42MSUyMDEuNC0yLjIyJTIwMS40LTIuMjJsOC45OSUyMDcuMjR6JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fNy5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjE5Yy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40Mi05LjExLTE0LjQyLTIwLjM1LTE0LjQybS0uMTIlMjAyNy44NGMtMTAuNzUlMjAwLTE5LjQ3LTYuMDYtMTkuNDctMTMuNTNzOC43Mi0xMy41MyUyMDE5LjQ3LTEzLjUzJTIwMTkuNDclMjA2LjA2JTIwMTkuNDclMjAxMy41My04LjcyJTIwMTMuNTMtMTkuNDclMjAxMy41MyUyMiUyMG9wYWNpdHklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIzMC4yMSUyMiUyMGN5JTNEJTIyNDEuNSUyMiUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGQlM0QlMjJNNDAuMTQlMjA1Mi45NmMtLjA5JTIwMC0uMTgtLjAyLS4yNi0uMDdsLTEyLjI3LTcuMzNjLS4xOS0uMTItLjI5LS4zNS0uMjItLjU2LjA2LS4yMi4yNi0uMzcuNDgtLjM3JTIwMS4xNi4wMSUyMDQuMjQtLjA1JTIwNS4wNi0uMzIuNjgtLjIyJTIwMS43NS0xLjM1JTIwMi4yNi0yLjAyLjExLS4xNC4yOC0uMjEuNDUtLjE5cy4zMi4xMy40LjI5bDQuNTUlMjA5Ljg2Yy4wOS4yLjA0LjQzLS4xMi41OC0uMDkuMDktLjIxLjEzLS4zMy4xM20tMTAuNS03LjM2JTIwOS4zNiUyMDUuNi0zLjU0LTcuNjhjLS41NS42MS0xLjQyJTIwMS40Ny0yLjIyJTIwMS43My0uNjcuMjMtMi4zLjMyLTMuNi4zNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzNmM2YzZiUyMiUyMGQlM0QlMjJNMjcuODclMjA0NS4xM3M0LjE0LjAxJTIwNS4yMi0uMzVjMS4wOC0uMzUlMjAyLjUtMi4xOCUyMDIuNS0yLjE4bDQuNTUlMjA5Ljg2eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMjYuNTMlMjA0My43MDAwMDAwMDAwMDAwMWMtLjE4JTIwMC0uMzctLjAzLS41OC0uMDhsLS41LS4xNC0uMTEtLjNjLS42NS0uNjEtMS4wMS0xLjE4LTEuMDYtMS42OS0uMDItLjItLjA0LS40Mi0uMDEtLjY1bC0uMTctNS4xM2MtLjA1LjAxLS4wOS4wMi0uMTMuMDItLjUzLjA4MDAwMDAwMDAwMDAyLTEuMjItLjEyOTk5OTk5OTk5OTk4LTEuNTgtLjI1OTk5OTk5OTk5OTk4LS42Mi0uMTU5OTk5OTk5OTk5OTktMS4wMi0uODQ5OTk5OTk5OTk5OTktLjktMS42Mzk5OTk5OTk5OTk5OS4wOC0uNjguNDUtMy4zNi43NS01LjIzLjQtMi40Ny44OC00LjUuOS00LjU4QzIzLjIlMjAyMy42MyUyMDIzLjM5JTIwMjMuMTklMjAyMy42NyUyMDIyLjgybC0uMDEtLjQ2Yy0uMDEtLjMzLjExLS42NS4zNC0uOXMuNTQtLjM4Ljg4LS4zOWwuNDctLjAxYy0uODYtMS4wNS0xLjM3LTIuMzktMS4zNy0zLjgyJTIwMC0xLjYuNjItMy4xMSUyMDEuNzQtNC4yNHMyLjYyLTEuNzYlMjA0LjIyLTEuNzZoLjAxYzEuNTklMjAwJTIwMy4wOS42MiUyMDQuMjElMjAxLjc1czEuNzQlMjAyLjY0JTIwMS43NSUyMDQuMjRjMCUyMDEuNjItLjYzJTIwMy4xMi0xLjcxJTIwNC4yMi4zNy4yMS44LjQ2JTIwMS4xNS42OCUyMDEuMDguNjclMjAxLjI4JTIwMS45NSUyMDEuMzElMjAyLjMxLjIxJTIwMS4xLjc0JTIwMy45Ljg4JTIwNC40OC4yMy45My42NiUyMDMuMjUuNjglMjAzLjM1LjAyLjEyLjA0LjIxLjA2LjMuMTEuNTQuNCUyMDEuOTYtMS4zJTIwMi41MS0uNTQuMTctMS4wMy4xNS0xLjQ1LS4wNi0uMzUtLjE4LS41Ny0uNDYtLjcxLS43Mi0uMjIlMjAzLjU3LS40MSUyMDYuNjItLjQyJTIwNi43NC0uMDQuNjEtLjM5JTIwMS4wMS0uNyUyMDEuMTlsLS4yOS4xMXMtMS43MS4zNS0yLjA4LjQ0bC0uMDQuMDMtLjI1LjA0Yy0uMTQuMDItLjQyLjAzLS43LS4wOS0uMS0uMDQtLjE3LS4wNy0uNTEtLjM2LS4xOC40MS0uNDkuNjgtLjc3LjhsLS4yMi4wNjk5OTk5OTk5OTk5OWMtLjcyLjEyOTk5OTk5OTk5OTk5LTEuNTkuMzA5OTk5OTk5OTk5OTktMS44Mi4zNjk5OTk5OTk5OTk5OS0uMTQuMDI5OTk5OTk5OTk5OTktLjMxLjA1OTk5OTk5OTk5OTk5LS40OS4wNTk5OTk5OTk5OTk5OW0tLjMyLTEuOTJzLS4wMSUyMDAtLjAxLjAxYzAlMjAwJTIwLjAxJTIwMCUyMC4wMS0uMDFtLjA3LS41NDAwMDAwMDAwMDAwMWMuMDYuMS4xOS4yNS4zNS40MS4yNS0uMDYuNjYtLjE0JTIwMS4zNi0uMjguMDctLjcyLjMtMi42NC42Ny01LjcxbDEuOTkuMS4xMSUyMDQuNzljLjA5LjA4LjE4LjE2LjI3LjIzLjI1LS4wNi42Ny0uMTUlMjAxLjQtLjMuMDktMS41MS40Mi02Ljc5LjY5LTExLjIxbDEuOTUtLjIzYy4zOSUyMDEuMjYuODMlMjAyLjQ4JTIwMS4xJTIwMy4yMS0uMTMtLjY5MDAwMDAwMDAwMDAxLS40Mi0yLjIwMDAwMDAwMDAwMDAxLS41OC0yLjg2MDAwMDAwMDAwMDAxLS4xOS0uNzUwMDAwMDAwMDAwMDEtLjg5LTQuNDgwMDAwMDAwMDAwMDEtLjkyLTQuNjMwMDAwMDAwMDAwMDFsLS4wMi0uMTNjLS4wMS0uMTktLjEyLS42NC0uMzctLjgtLjU1LS4zNC0xLjMtLjc3LTEuNjgtLjk4bC0uODEuMDItLjQtMS45M2MxLjUyLS42MSUyMDIuNS0yLjA3JTIwMi41LTMuNzElMjAwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43NC0xLjE2LTIuNzktMS4xNi0xLjA2JTIwMC0yLjA1LjQyLTIuOCUyMDEuMTctLjc1Ljc2LTEuMTYlMjAxLjc2LTEuMTYlMjAyLjgzJTIwMCUyMDEuNzIlMjAxLjA5JTIwMy4yNCUyMDIuNzElMjAzLjc5bC0uMjklMjAxLjk1LTIuNzEuMDguMDIuNTctLjM1LjMxYy0uMTIuMTA5OTk5OTk5OTk5OTktLjIzLjMwOTk5OTk5OTk5OTk5LS4yNS40Njk5OTk5OTk5OTk5OS0uMDIuMS0uNSUyMDIuMTItLjg5JTIwNC41MS0uMzElMjAxLjkxOTk5OTk5OTk5OTk5LS41OSUyMDMuOTY5OTk5OTk5OTk5OTktLjclMjA0Ljc5OTk5OTk5OTk5OTk5LjAyJTIwMCUyMC4wMy4wMS4wNC4wMWwuNDQtMS45MiUyMDEuOTcuMTg5OTk5OTk5OTk5OTl6bS0zLjI5LTcuNjhjLjAzLjAxLjA1LjAyLjA4LjAzLS4wMy0uMDEtLjA1LS4wMi0uMDgtLjAzJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zNy4yNCUyMDMyLjQ0Yy4xMi43My40MiUyMDEuMzUtLjU3JTIwMS42Ny0uOTcuMzEtMS4wMy0uNTMtMS4xNS0uNzklMjAwJTIwMC0uNzktMi4wMi0xLjQ0LTQuMTQlMjAwJTIwMC0uOS0zLjY5LS45OC00LjE0LS4yNi0xLjY2LjQxLTIuMjclMjAxLjE3LTIuMjEuNTYuMDQlMjAxLjIuMzglMjAxLjM4JTIwMS43NSUyMDJlLTE0JTIwMCUyMC43MjAwMDAwMDAwMDAwMiUyMDMuODUuOTEwMDAwMDAwMDAwMDIlMjA0LjU4LjIzLjkuNjglMjAzLjI4LjY4JTIwMy4yOCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NmNTcyZSUyMiUyMGQlM0QlMjJtMzQuMjMlMjAyOS44Ny4yLTcuMTEuNDEuMzFzLS4wNiUyMDUuNC4xMSUyMDYuNjQuNDUlMjAzLjEzLjQ1JTIwMy4xM3olMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMm0yNC42NiUyMDIyLjA4LjYxJTIwMTguODVzLS4wNC4wMy4wMS40N2MuMDUuNDguOTUlMjAxLjI0Ljk1JTIwMS4yNGwxLjg2LS41NyUyMDEuMjYtMTAuMDUuMjMuNzcuMTklMjA4LjIyLjk1LjgxLjE4LjAyJTIwMS40NC0xLjAzLjUxLTE4LjAzLTIuMDUtLjMyeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMzQuNTElMjAyMi43NC04LjI3LjI2Yy0uNDklMjAxNS4xOC4wNiUyMDE1Ljg2LS4wNCUyMDE5LjMyLS4wMS4yOS4wMi4zMi4wMi4zMnMuMTguMDUuMzMuMDVjLjA1JTIwMCUyMC4wOS0uMDEuMTItLjAyLjEzLS4wNyUyMDItLjQxJTIwMi0uNDFzLjMtLjE0LjMxLS41N2MuMDItLjQzLjg4LTcuNDguODgtNy40OC4wNS0uNjUuMTQtLjc1LjM5LS43Ni4yNS4wMS4zNS4xNi4zNi41MyUyMDAlMjAwJTIwLjMlMjA3LjQuMjglMjA3LjU5LS4wMi4yLS4xNC4yMy0uMTQuMjNIMzFjLjA5LS4wNCUyMDIuMjEtLjQ4JTIwMi4yMS0uNDhzLjE4LS4xLjItLjM3eiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMzQuNTElMjAyMi43NC04LjI3LjI2Yy0uNDklMjAxNS4xOC4wNiUyMDE1Ljg2LS4wNCUyMDE5LjMyLS4wMS4yOS4wMi4zMi4wMi4zMnMuMTguMDUuMzMuMDVjLjA1JTIwMCUyMC4wOS0uMDEuMTItLjAyLjEzLS4wNyUyMDItLjQxJTIwMi0uNDFzLjMtLjE0LjMxLS41N2MuMDItLjQzLjg4LTcuNDguODgtNy40OC4wNS0uNjUuMTQtLjc1LjM5LS43Ni4yNS4wMS4zNS4xNi4zNi41MyUyMDAlMjAwJTIwLjMlMjA3LjQuMjglMjA3LjU5LS4wMi4yLS4xNC4yMy0uMTQuMjNIMzFjLjA5LS4wNCUyMDIuMjEtLjQ4JTIwMi4yMS0uNDhzLjE4LS4xLjItLjM3eiUyMiUyMG9wYWNpdHklM0QlMjIuMSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMzIuODclMjAyMS44NC04LjIxLjI0JTIwMS41Ni45NSUyMDguMjUtLjI5eiUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45OCUyMiUyMGN5JTNEJTIyMjIuMzclMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyJTIwcnglM0QlMjIyLjI1JTIyJTIwcnklM0QlMjIuMyUyMi8lM0UlM0NlbGxpcHNlJTIwY3glM0QlMjIyOS45NCUyMiUyMGN5JTNEJTIyMTcuMjMlMjIlMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwcnglM0QlMjI0Ljk2JTIyJTIwcnklM0QlMjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0zMy4yOSUyMDIyLjc3LTMuMDklMjA1LjM2LTIuNzctNS4zJTIyJTIwb3BhY2l0eSUzRCUyMi44JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMk0yOS45NyUyMDIxLjc0YzEuMTklMjAwJTIwMi4zLS4yNyUyMDMuMjQtLjc1LS44Ny43Ny0yLjAxJTIwMS4yNC0zLjI2JTIwMS4yNC0xLjI4JTIwMC0yLjQ0LS40OS0zLjMyLTEuMjguOTYuNSUyMDIuMTEuNzklMjAzLjM0Ljc5JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjUuOTElMjAyNi4wNmMtLjElMjAxLjU5LS45MiUyMDUuOTctLjkyJTIwNS45N2wtLjU0JTIwMi4zM2MtLjA4LjI0LS4yNy4zMy0uNjIuMzhzLTEuMDktLjIxLTEuMDktLjIxYy0uMjMtLjA2LS4yOS0uMy0uMjUtLjU1JTIwMCUyMDAlMjAuMzUtMi43Mi43NS01LjIzLjQtMi40Ni44OS00LjUxLjg5LTQuNTEuMS0uNjEuNTktMS4yOSUyMDEuMTctMS4zNCUyMDAlMjAwJTIwLjY5JTIwMCUyMC43MSUyMDEuMDYuMDIlMjAxLjEyLS4xJTIwMi4xLS4xJTIwMi4xJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMk0yNS40OSUyMDIyLjk1Yy4yLjA4LjUuMzIuNTIlMjAxLjAxLjAzJTIwMS4xMi0uMSUyMDIuMS0uMSUyMDIuMS0uMDklMjAxLjM2LS43JTIwNC43My0uODclMjA1LjdsLS4wMS4wNWMtLjAxJTIwMCUyMC41Ny01LjQ5LjQ2LTguODYlMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fOC5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0zMC4zMyUyMDI3LjE5Yy0xMS4yNCUyMDAtMjAuMzUlMjA2LjQ2LTIwLjM1JTIwMTQuNDJzOS4xMSUyMDE0LjQyJTIwMjAuMzUlMjAxNC40MiUyMDIwLjM1LTYuNDYlMjAyMC4zNS0xNC40MmMwLTcuOTctOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwb3BhY2l0eSUzRCUyMi4xJTIyJTIwcnglM0QlMjIxOS40NyUyMiUyMHJ5JTNEJTIyMTMuNTMlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBkJTNEJTIyTTMwLjc5JTIwNTQuOGMtLjE4JTIwMC0uMzUtLjEtLjQzLS4yNWwtNS44My0xMC4yNGMtLjEtLjE3LS4wOC0uMzguMDMtLjU0LjEyLS4xNi4zMS0uMjMuNTEtLjE5JTIwMS4xNi4yNSUyMDQuMzcuODklMjA1LjI2Ljg5Ljk4JTIwMCUyMDMuNTItLjczJTIwNC40Mi0xLjAxLjE4LS4wNS4zOCUyMDAlMjAuNTIuMTRzLjE3LjM0LjEuNTJsLTQuMTA5OTk5OTk5OTk5OTglMjAxMC4zN2MtLjA3LjE4LS4yNC4zLS40My4zMXptLTQuODQtMTAuMDMlMjA0Ljc2JTIwOC4zNyUyMDMuMzQtOC40NGMtMS4xLjMxLTIuODQuNzYtMy43My43Ni0uODElMjAwLTMuMDMtLjQyLTQuMzctLjY5JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0yNC45NiUyMDQ0LjA2czQuMjkuOSUyMDUuNDMuOWMxLjE2JTIwMCUyMDQuNS0xLjAzJTIwNC41LTEuMDNMMzAuNzglMjA1NC4zeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMzQuMjUlMjAyMy43OGgtOC41MWMtLjQyJTIwMC0uOC0uMjYtLjk0LS42NnMtLjAyLS44NC4zLTEuMTFsLjY0LS41M2MtMS4xMi0xLjEyLTEuNzctMi42NS0xLjc3LTQuMjUlMjAwLTMuMyUyMDIuNjktNS45OSUyMDUuOTgtNS45OSUyMDEuNiUyMDAlMjAzLjEuNjMlMjA0LjIzJTIwMS43NnMxLjc1JTIwMi42NCUyMDEuNzUlMjA0LjI0YzAlMjAxLjQ1LS41MyUyMDIuODMtMS40OSUyMDMuOTMtLjAzLjA1LS4wNy4xLS4xMS4xNGwtLjEzLjEzLS4wMy4wMy42OC41MmMuMzQuMjYuNDguNzEuMzQlMjAxLjEyLS4xMy40LS41MS42Ny0uOTQuNjdtLTQuNzYtMmguOTMwMDAwMDAwMDAwMDFjLjA4LS4zMy4zMy0uNi42OC0uNzEuMDgtLjAzLjE3LS4wNi4yNS0uMWwuMTItLjA1Yy4yNS0uMTEuNDUtLjIxLjYzLS4zNGwuMTEtLjA3Yy4xNC0uMS4yOC0uMjIuNDItLjM1LjAxLS4wMS4wOC0uMDcuMDktLjA4bC4wNS0uMDVjLjAyLS4wMi4wNC0uMDQuMDUtLjA2QzMzLjUzJTIwMTkuMjIlMjAzMy45MiUyMDE4LjI1JTIwMzMuOTIlMjAxNy4yM2MwLTEuMDctLjQxLTIuMDctMS4xNi0yLjgzLS43NS0uNzUtMS43NS0xLjE3LTIuODEtMS4xNy0yLjE5JTIwMC0zLjk4JTIwMS43OS0zLjk4JTIwMy45OSUyMDAlMjAxLjMuNjQlMjAyLjUyJTIwMS43MSUyMDMuMjcuMDUuMDMuMDkuMDcuMTMuMTEuMy4xOS42NC4zNSUyMDElMjAuNDYuMzUuMTIuNi4zOS42OC43MiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMzMuOTglMjA0My41OTAwMDAwMDAwMDAwMWgtMy4wNGMtLjQ1JTIwMC0uODQtLjMtLjk2LS43Mi0uMTIuNDItLjUxLjcyLS45Ni43MmgtM2MtLjU1JTIwMC0uOTktLjQ0LTEtLjk5bC0uMTMtOS4xOC0uMzguOTdjLS4zLjcxLTEuMDQlMjAxLjA4LTEuNzguODlsLTEuMDItLjMzYy0uNzQtLjI3LTEuMTMtMS4wMy0uOTQtMS43OC4wMS0uMDQuMDItLjA3LjAzLS4xLjAyLS4wOCUyMDIuNTYtOS40NiUyMDIuNTYtOS40Ni4yMy0uOTMlMjAxLjA0LTEuNjYlMjAxLjk2LTEuNzkuMDgtLjAyLjE3LS4wMy4yNi0uMDNoOC44NGMuMDclMjAwJTIwLjE0LjAxLjIxLjAyLjk2LjElMjAxLjguODMlMjAyLjA0JTIwMS43OSUyMDIuMDglMjA4LjA4JTIwMi40JTIwOS4zMiUyMDIuNDYlMjA5LjUzLjIuNzgtLjE0JTIwMS41LS44MyUyMDEuNzVsLTEuMDguMzVjLS44LjIxLTEuNTUtLjE2LTEuODQtLjg1bC0uMjgtLjczLS4xMyUyMDguOTZjMCUyMC41NC0uNDUuOTgtLjk5Ljk4bS0yLjExLTJoMS4xMmwuMTktMTMuMjJjLjAxLS40OC4zNS0uODguODItLjk3LjQ2LS4wOS45My4xNyUyMDEuMTEuNjJsLjA5LjIzJTIwMS44NiUyMDQuOTJoLjAxYy0uNDgtMS44OC0yLjM0LTkuMDktMi4zNC05LjA5LS4wNC0uMTU5OTk5OTk5OTk5OTktLjIxLS4yODk5OTk5OTk5OTk5OS0uMzMtLjI4OTk5OTk5OTk5OTk5LS4wMyUyMDAtLjA2JTIwMC0uMDgtLjAxSDI1LjdjLS4wMyUyMDAtLjA3LjAxLS4xLjAxLS4wOSUyMDAtLjI2LjEzLS4zMS4zMi0xLjYxJTIwNS45Mi0yLjIyJTIwOC4xOS0yLjQ2JTIwOS4wOGwyLjA2LTUuMThjLjE4LS40NC42NC0uNzElMjAxLjExLS42MS40Ny4wOS44MS40OS44Mi45N0wyNyUyMDQxLjU5MDAwMDAwMDAwMDAyaDEuMDhsLjQ4LTYuOTJjLjA3LS43OS42NS0xLjM0JTIwMS40My0xLjM0LjY1JTIwMCUyMDEuMzMuNDIlMjAxLjQlMjAxLjM0em0tOS4xNy03LjkzYzAtLjAxLjAxLS4wMi4wMS0uMDMlMjAwJTIwLjAxLS4wMS4wMi0uMDEuMDNtMTQuNDgtLjA1LjA0LS4wMXptLjA1LS4wMS45My0uMjN6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0yNS43NCUyMDIyLjc4LjktLjc1aDYuNjJsLjk5Ljc1JTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk1JTIyJTIwY3klM0QlMjIyMi4zNyUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBvcGFjaXR5JTNEJTIyLjUlMjIlMjByeCUzRCUyMjIuMjUlMjIlMjByeSUzRCUyMi4zJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmRiZjJkJTIyJTIwZCUzRCUyMk0zOC4xNSUyMDMzLjM2YzAtLjAxLTIuNDYtOS41My0yLjQ2LTkuNTMtLjE1LS42LS43Mi0xLjA1LTEuMzEtMS4wNUgyNS42Yy0uNTklMjAwLTEuMTMuNDktMS4yOCUyMDEuMDglMjAwJTIwMC0yLjU5JTIwOS41NC0yLjU5JTIwOS41NS0uMDYuMjQuMDQuNDkuMjkuNThsLjk0LjMxYy4yNS4wNi41MS0uMDUuNjEtLjI5bDIuMjQtNS42NS4yJTIwMTQuMjFoM2wuNTUtNy44NWMuMDItLjIxLjEzLS40MS40NC0uNDFzLjM4LjIuMzkuNDFsLjU0JTIwNy44NWgzLjA0bC4yLTE0LjIxJTIwMi4xMiUyMDUuNjFjLjEuMjMuMzYuMzUuNjEuMjlsMS4wNC0uMzRjLjI0LS4wNy4yNy0uMzIuMjEtLjU2JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwZCUzRCUyMk0yNi42OCUyMDIyLjc4JTIwMzAlMjAyOC40NmwzLjMyLTUuNjglMjIlMjBvcGFjaXR5JTNEJTIyLjYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIybTM0LjE3JTIwMjguMzguMDgtNS42aC4xN2wuNDglMjA1LjQ0LjQ1JTIwMy4xM20tOS41NC0yLjk3LS4wOC01LjU5aC0uMTdzLS4zMSUyMDQuMi0uNDglMjA1LjQzYy0uMTclMjAxLjI0LS40NSUyMDMuMTMtLjQ1JTIwMy4xM3olMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjI5Ljk1JTIyJTIwY3klM0QlMjIxNy4yMyUyMiUyMGZpbGwlM0QlMjIlMjNmZGJmMmQlMjIlMjByeCUzRCUyMjQuOTglMjIlMjByeSUzRCUyMjUlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTMwLjM1JTIwMjEuNzRjLTEuMTguMTEtMi4zMS0uMDYtMy4zLS40NC45NC42OCUyMDIuMTIlMjAxLjA0JTIwMy4zNi45MiUyMDEuMjctLjEyJTIwMi4zOC0uNzElMjAzLjE5LTEuNTktLjkxLjYtMi4wMyUyMDEtMy4yNSUyMDEuMTElMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQy9zdmclM0UiLAoibGlseXBhZF9wZWdtYW5fOS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNjAlMjA2MCUyMiUzRSUzQ2clMjBmaWxsJTNEJTIyJTIzMTExJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMzAuMzMlMjAyNy4xOWMtMTEuMjQlMjAwLTIwLjM1JTIwNi40Ni0yMC4zNSUyMDE0LjQyczkuMTElMjAxNC40MiUyMDIwLjM1JTIwMTQuNDIlMjAyMC4zNS02LjQ2JTIwMjAuMzUtMTQuNDItOS4xMS0xNC40Mi0yMC4zNS0xNC40Mm0tLjEyJTIwMjcuODRjLTEwLjc1JTIwMC0xOS40Ny02LjA2LTE5LjQ3LTEzLjUzczguNzItMTMuNTMlMjAxOS40Ny0xMy41MyUyMDE5LjQ3JTIwNi4wNiUyMDE5LjQ3JTIwMTMuNTMtOC43MiUyMDEzLjUzLTE5LjQ3JTIwMTMuNTMlMjIlMjBvcGFjaXR5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMzAuMjElMjIlMjBjeSUzRCUyMjQxLjUlMjIlMjBvcGFjaXR5JTNEJTIyLjElMjIlMjByeCUzRCUyMjE5LjQ3JTIyJTIwcnklM0QlMjIxMy41MyUyMi8lM0UlM0MvZyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmZmJTIyJTIwZCUzRCUyMk0yMC4yOSUyMDUyLjk2Yy0uMTIlMjAwLS4yNC0uMDQtLjMzLS4xMy0uMTYtLjE1LS4yMS0uMzgtLjEyLS41OGw0LjU1LTkuODZjLjA3LS4xNi4yMi0uMjcuNC0uMjkuMTctLjAyLjM1LjA1LjQ1LjE5LjM3LjQ4JTIwMS40OSUyMDEuNzYlMjAyLjI2JTIwMi4wMi44Mi4yNyUyMDMuOTIuMzIlMjA1LjA2LjMyLjIyJTIwMCUyMC40Mi4xNS40OC4zN3MtLjAzLjQ1LS4yMi41NmwtMTIuMjclMjA3LjMzYy0uMDguMDUtLjE3LjA3LS4yNi4wN200LjY4LTkuNDQtMy41NCUyMDcuNjglMjA5LjM2LTUuNmMtMS4zLS4wNC0yLjkzLS4xMi0zLjYtLjM1LS44LS4yNS0xLjY4LTEuMTItMi4yMi0xLjczJTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzM2YzZjNmJTIyJTIwZCUzRCUyMk0zMi41NiUyMDQ1LjEzcy00LjE0LjAxLTUuMjItLjM1Yy0xLjA4LS4zNS0yLjUtMi4xOC0yLjUtMi4xOGwtNC41NSUyMDkuODZ6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMk0zMy4zNyUyMDQzLjcwMDAwMDAwMDAwMDAxYy0uMTglMjAwLS4zNS0uMDMtLjQ5LS4wOS0uMjItLjA2LTEuMS0uMjMtMS44Mi0uMzdsLS4yMi0uMDdjLS4yOC0uMTItLjU5LS4zOS0uNzctLjgtLjM0LjI5LS40MS4zMS0uNTEuMzYtLjI4LjEyLS41NC4xMS0uNjkuMDlsLS4zMy0uMDdjLS40My0uMS0yLjA1LS40My0yLjA1LS40M2wtLjMtLjExYy0uMzEtLjE4LS42NS0uNTgtLjctMS4xNy0uMDEtLjEyLS4xOS0zLjE4LS40Mi02Ljc1LS4xNC4yNy0uMzYuNTQtLjcuNzItLjQyLjIyLS45MS4yNC0xLjQ1LjA2LTEuNjktLjU0LTEuNDEtMS45Ny0xLjMtMi41LjAyLS4wOS4wNC0uMTguMDUtLjI3LjAyLS4xMy40Ni0yLjQ1LjY4LTMuMzcuMTQtLjU4LjY4LTMuMzguODktNC40OC4wMy0uMzYuMjMtMS42NCUyMDEuMzEtMi4zMS4zNS0uMjIuNzgtLjQ3JTIwMS4xNS0uNjgtMS4wOC0xLjEtMS43Mi0yLjYtMS43MS00LjIyJTIwMC0xLjYuNjItMy4xMSUyMDEuNzUtNC4yNCUyMDEuMTItMS4xMyUyMDIuNjItMS43NSUyMDQuMjEtMS43NWguMDFjMS41OSUyMDAlMjAzLjA5LjYzJTIwNC4yMSUyMDEuNzZzMS43NCUyMDIuNjQlMjAxLjc0JTIwNC4yNGMwJTIwMS40My0uNSUyMDIuNzctMS4zNyUyMDMuODJsLjQ3LjAxYy4zMy4wMTAwMDAwMDAwMDAwMi42NS4xNTAwMDAwMDAwMDAwMi44OC4zOTAwMDAwMDAwMDAwMnMuMzUuNTYuMzQuODlsLS4wMi40NmMuMjguMzcuNDguODIuNTUlMjAxLjI3LjAxLjAxLjQ5JTIwMi4wNC44OSUyMDQuNTEuMyUyMDEuODcuNjclMjA0LjU0Ljc1JTIwNS4yMy4xMy44LS4yNyUyMDEuNDgtLjk4JTIwMS42Ny0uMjguMTEtLjk4LjMxLTEuNS4yMy0uMDMlMjAwLS4wOC0uMDEtLjEzLS4wMmwtLjE3JTIwNS4xMjk5OTk5OTk5OTk5N2MuMDMuMjIuMDEuNDUtLjAxLjY1LS4wNS41Mi0uNDIlMjAxLjA5LTEuMDklMjAxLjcybC0uMTMuMjktLjQ1LjEyYy0uMi4wNS0uNC4wOC0uNTcuMDhtLjMxLTEuOTJzLjAxJTIwMCUyMC4wMS4wMWMwLS4wMS0uMDEtLjAxLS4wMS0uMDFtLTEuNzgtLjQxYy43MS4xMyUyMDEuMTEuMjIlMjAxLjM2LjI4LjE3LS4xNy4yOS0uMzIuMzYtLjQxbC4zLTkuMjQlMjAxLjk2OTk5OTk5OTk5OTk5LS4xOS40Mzk5OTk5OTk5OTk5OSUyMDEuOTJjLjAxJTIwMCUyMC4wMy0uMDEuMDQtLjAxLS4xMS0uODMtLjM4LTIuODctLjctNC44MS0uMzkwMDAwMDAwMDAwMDItMi40LS44NzAwMDAwMDAwMDAwMi00LjQyLS44NzAwMDAwMDAwMDAwMi00LjQ0LS4wNC0uMjQtLjE1LS40NC0uMjctLjU1bC0uMzUtLjMxLjAyLS41Ny0yLjcxMDAwMDAwMDAwMDAyLS4wOC0uMjkwMDAwMDAwMDAwMDEtMS45NWMxLjYxOTk5OTk5OTk5OTk5LS41NCUyMDIuNzA5OTk5OTk5OTk5OTktMi4wNyUyMDIuNzA5OTk5OTk5OTk5OTktMy43OS0xZS0xNC0xLjA3LS40MTAwMDAwMDAwMDAwMS0yLjA3LTEuMTYwMDAwMDAwMDAwMDEtMi44My0uNzUtLjc1LTEuNzQtMS4xNy0yLjc5LTEuMTctMS4wNiUyMDAtMi4wNS40MS0yLjglMjAxLjE3LS43NS43NS0xLjE2JTIwMS43Ni0xLjE2JTIwMi44MyUyMDAlMjAxLjY1Ljk4JTIwMy4xMSUyMDIuNSUyMDMuNzJsLS40JTIwMS45My0uODItLjAyYy0uMzguMjEtMS4xMi42NC0xLjY4Ljk4LS4yNS4xNS0uMzYuNjEtLjM3LjhsLS4wMi4xMmMtLjAzLjE2LS43MyUyMDMuODgtLjkyJTIwNC42NC0uMTYuNjYtLjQ1JTIwMi4xNi0uNTglMjAyLjg2LjI3LS43Mi43MS0xLjk1JTIwMS4xLTMuMjJsMS45NS4yM2MuMjglMjA0LjQyLjYlMjA5LjY4LjY5JTIwMTEuMjEuNzMuMTUwMDAwMDAwMDAwMDElMjAxLjE1LjI0MDAwMDAwMDAwMDAxJTIwMS40LjMwMDAwMDAwMDAwMDAxLjA5LS4wNy4xOC0uMTYuMjctLjIzbC4xMS00Ljc5JTIwMS45ODk5OTk5OTk5OTk5OS0uMWMuNDc5OTk5OTk5OTk5OTklMjAzLjkuNjI5OTk5OTk5OTk5OTklMjA1LjIzLjY3OTk5OTk5OTk5OTk5JTIwNS43Mm00LjkyLTcuNzhjLS4wMiUyMDAtLjA0LjAxLS4wNi4wMi4wMi0uMDEuMDQtLjAyLjA2LS4wMiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJNMjIuNjYlMjAzMi40NGMtLjEyLjczLS40MiUyMDEuMzUuNTclMjAxLjY3Ljk3LjMxJTIwMS4wMy0uNTMlMjAxLjE1LS43OSUyMDAlMjAwJTIwLjc5LTIuMDIlMjAxLjQ0LTQuMTQlMjAwJTIwMCUyMC45LTMuNjkuOTgtNC4xNC4yNi0xLjY2LS40MS0yLjI3LTEuMTctMi4yMS0uNTYuMDQtMS4yLjM4LTEuMzglMjAxLjc1JTIwMCUyMDAtLjcyJTIwMy44NS0uOTElMjA0LjU4LS4yMy45LS42OCUyMDMuMjgtLjY4JTIwMy4yOCUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NmNTcyZSUyMiUyMGQlM0QlMjJtMjUuNjclMjAyOS44Ny0uMi03LjExLS40MS4zMXMuMDYlMjA1LjQtLjExJTIwNi42NC0uNDUlMjAzLjEzLS40NSUyMDMuMTN6JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTI3LjAzJTIwMjIuMDdoOC4ydjIwLjU2aC04LjJ6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZTU4YTJjJTIyJTIwZCUzRCUyMm0zNS4yMyUyMDIyLjA3LTYuMTYuMzctMi4wNC4zMi41MSUyMDE4LjAzJTIwMS40MyUyMDEuMDMuMTktLjAyLjk0LS44MS4xOS04LjIyLjI0LS43NyUyMDEuMjUlMjAxMC4wNCUyMDEuODcuNTdzLjktLjc3Ljk1LTEuMjRjLjA0LS40MyUyMDAtLjQ3JTIwMC0uNDd6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMjUuMzklMjAyMi43NGg4LjMxVjQyLjcwMDAwMDAwMDAwMDAxaC04LjMxeiUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMGQlM0QlMjJtMjUuMzklMjAyMi43NCUyMDEuMSUyMDE4LjIyYy4wMi4yOC4yLjM4LjIuMzhzMi4xMS40MyUyMDIuMi40N2guMjhzLS4xMy0uMDQtLjE0LS4yMmMtLjAyLS4xOS4yNy03LjYuMjctNy42LjAyLS4zNy4xMi0uNTIuMzYtLjUycy4zNS4xLjQuNzVjMCUyMDAlMjAuODUlMjA3LjA2Ljg3JTIwNy40OXMuMzEuNTYuMzEuNTYlMjAxLjg2LjM1JTIwMS45OS40MWMuMDMuMDIuMDguMDIuMTMuMDIuMTQlMjAwJTIwLjMyLS4wNS4zMi0uMDVzLjAzLS4wMy4wMi0uMzJjLS4xLTMuNDYuNDYtNC4xMy0uMDQtMTkuMzJ6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMjUuNDIlMjAyMS44NGg5LjgxdjEuMTloLTkuODF6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwZCUzRCUyMm0yNy4wMyUyMDIxLjg0LTEuNjEuOSUyMDguMjUuMjklMjAxLjU2LS45NnolMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuOTIlMjIlMjBjeSUzRCUyMjIyLjM3JTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMG9wYWNpdHklM0QlMjIuNSUyMiUyMHJ4JTNEJTIyMi4yNSUyMiUyMHJ5JTNEJTIyLjMlMjIvJTNFJTNDZWxsaXBzZSUyMGN4JTNEJTIyMjkuOTUlMjIlMjBjeSUzRCUyMjE3LjIzJTIyJTIwZmlsbCUzRCUyMiUyM2ZhYmQyYyUyMiUyMHJ4JTNEJTIyNC45NiUyMiUyMHJ5JTNEJTIyNSUyMi8lM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2NlNTkyYyUyMiUyMGQlM0QlMjJtMjYuNjElMjAyMi43NyUyMDMuMDklMjA1LjM2JTIwMi43Ni01LjMlMjIlMjBvcGFjaXR5JTNEJTIyLjYlMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZTU5MmMlMjIlMjBkJTNEJTIyTTI5LjkzJTIwMjEuNzRjLTEuMTklMjAwLTIuMy0uMjctMy4yNC0uNzUuODcuNzclMjAyLjAxJTIwMS4yNCUyMDMuMjYlMjAxLjI0JTIwMS4yOCUyMDAlMjAyLjQ0LS40OSUyMDMuMzItMS4yOC0uOTYuNS0yLjExLjc5LTMuMzQuNzklMjIlMjBvcGFjaXR5JTNEJTIyLjI1JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzZmFiZDJjJTIyJTIwZCUzRCUyMk0zMy45OSUyMDI2LjA2Yy4xJTIwMS41OS45MiUyMDUuOTcuOTIlMjA1Ljk3bC41NCUyMDIuMzNjLjA4LjI0LjI3LjMzLjYyLjM4czEuMDktLjIxJTIwMS4wOS0uMjFjLjIzLS4wNi4yOS0uMy4yNS0uNTUlMjAwJTIwMC0uMzUtMi43Mi0uNzUtNS4yMy0uNC0yLjQ2LS44OS00LjUxLS44OS00LjUxLS4xLS42MS0uNTktMS4yOS0xLjE3LTEuMzQlMjAwJTIwMC0uNjklMjAwLS43MSUyMDEuMDYtLjAzJTIwMS4xMi4xJTIwMi4xLjElMjAyLjElMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBkJTNEJTIyTTM0LjQxJTIwMjIuOTVjLS4yLjA4LS41LjMyLS41MiUyMDEuMDEtLjAzJTIwMS4xMi4xJTIwMi4xLjElMjAyLjEuMDklMjAxLjM2LjclMjA0LjczLjg3JTIwNS43bC4wMS4wNWMuMDElMjAwLS41Ny01LjQ5LS40Ni04Ljg2JTIyJTIwb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0Mvc3ZnJTNFIiwKIm1vdGlvbl90cmFja2luZ19vZmYuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDQwJTIwNDAlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2IzYjNiMyUyMiUyMGQlM0QlMjJNMjcuNDIlMjAwSDEyLjU4QzEwLjYxJTIwMCUyMDklMjAxLjYxJTIwOSUyMDMuNTh2MzIuODNDOSUyMDM4LjM5JTIwMTAuNjElMjA0MCUyMDEyLjU4JTIwNDBoMTQuODNjMS45NyUyMDAlMjAzLjU4LTEuNjElMjAzLjU4LTMuNThWMy41OEMzMSUyMDEuNjElMjAyOS4zOSUyMDAlMjAyNy40MiUyMDBNMjklMjAzMmMwJTIwLjU1LS40NSUyMDEtMSUyMDFIMTJjLS41NSUyMDAtMS0uNDUtMS0xVjhjMC0uNTUuNDUtMSUyMDEtMWgxNmMuNTUlMjAwJTIwMSUyMC40NSUyMDElMjAxeiUyMi8lM0UlM0Mvc3ZnJTNFIiwibW90aW9uX3RyYWNraW5nX29uLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA0MCUyMDQwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNiM2IzYjMlMjIlMjBkJTNEJTIyTTI3LjQyJTIwMEgxMi41OEMxMC42MSUyMDAlMjA5JTIwMS42MSUyMDklMjAzLjU4djMyLjgzQzklMjAzOC4zOSUyMDEwLjYxJTIwNDAlMjAxMi41OCUyMDQwaDE0LjgzYzEuOTclMjAwJTIwMy41OC0xLjYxJTIwMy41OC0zLjU4VjMuNThDMzElMjAxLjYxJTIwMjkuMzklMjAwJTIwMjcuNDIlMjAwTTI5JTIwMzJjMCUyMC41NS0uNDUlMjAxLTElMjAxSDEyYy0uNTUlMjAwLTEtLjQ1LTEtMVY4YzAtLjU1LjQ1LTElMjAxLTFoMTZjLjU1JTIwMCUyMDElMjAuNDUlMjAxJTIwMXpNNiUyMDEzLjUxdjEzbC02LTYuNDl6bTI4JTIwMHYxM2w2LTYuNDl6JTIyLyUzRSUzQy9zdmclM0UiLAoibW90aW9uX3RyYWNraW5nX3Blcm1pc3Npb25fZGVuaWVkLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA0MCUyMDQwJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM0ZTRlNGUlMjIlMjBkJTNEJTIyTTI3LjQyJTIwMEgxMi41OEMxMC42MSUyMDAlMjA5JTIwMS42MSUyMDklMjAzLjU4djMyLjgzQzklMjAzOC4zOSUyMDEwLjYxJTIwNDAlMjAxMi41OCUyMDQwaDE0LjgzYzEuOTclMjAwJTIwMy41OC0xLjYxJTIwMy41OC0zLjU4VjMuNThDMzElMjAxLjYxJTIwMjkuMzklMjAwJTIwMjcuNDIlMjAwTTI5JTIwMzJjMCUyMC41NS0uNDUlMjAxLTElMjAxSDEyYy0uNTUlMjAwLTEtLjQ1LTEtMVY4YzAtLjU1LjQ1LTElMjAxLTFoMTZjLjU1JTIwMCUyMDElMjAuNDUlMjAxJTIwMXolMjIvJTNFJTNDL3N2ZyUzRSIsInBlZ21hbl9kb2NrX2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAzOCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIybTIyJTIwMjYuNi0yLjktMTEuM2EyLjc4JTIwMi43OCUyMDAlMjAwMC0yLjQtMmwtLjctLjVhNi44MiUyMDYuODIlMjAwJTIwMDAyLjItNSUyMDYuOSUyMDYuOSUyMDAlMjAwMC0xMy44JTIwMCUyMDclMjA3JTIwMCUyMDAwMi4yJTIwNS4xbC0uNi41YTIuNTUlMjAyLjU1JTIwMCUyMDAwLTIuMyUyMDJzLTMlMjAxMS4xLTMlMjAxMS4ydi4xYTEuNTglMjAxLjU4JTIwMCUyMDAwMSUyMDEuOWwxLjIuNGExLjYzJTIwMS42MyUyMDAlMjAwMDEuOS0uOWwuOC0yJTIwLjIlMjAxMi44aDExLjNsLjItMTIuNi43JTIwMS44YTEuNTQlMjAxLjU0JTIwMCUyMDAwMS41JTIwMSUyMDEuMDklMjAxLjA5JTIwMCUyMDAwLjUtLjFsMS4zLS40YTEuODUlMjAxLjg1JTIwMCUyMDAwLjctMlptLTEuMi45LTEuMi40YS42MS42MSUyMDAlMjAwMS0uNy0uM0wxNi40JTIwMjFsLS4yJTIwMTYuOEg2LjhMNi42JTIwMjFsLTIuNyUyMDYuN2EuNTIuNTIlMjAwJTIwMDEtLjY2LjMxbC0xLjEtLjRhLjUyLjUyJTIwMCUyMDAxLS4zMS0uNjZsMy4xLTExLjNhMS42OSUyMDEuNjklMjAwJTIwMDExLjUtMS4zaC4ybDEtLjloMi4zYTUuOSUyMDUuOSUyMDAlMjAxMTMuMiUyMDBoMi4zbDEuMS45aC4yYTEuNzElMjAxLjcxJTIwMCUyMDAxMS42JTIwMS4ybDIuOSUyMDExLjNhLjg0Ljg0JTIwMCUyMDAxLS40LjdaJTIyJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGZpbGwtb3BhY2l0eSUzRCUyMi4yJTIyLyUzRSUyNnF1b3QlM0IlM0Mvc3ZnJTNFIiwKInBlZ21hbl9kb2NrX2hvdmVyLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA0MCUyMDUwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJtMzQtMzAuNC0yLjktMTEuM2EyLjc4JTIwMi43OCUyMDAlMjAwMC0yLjQtMmwtLjctLjVhNi44MiUyMDYuODIlMjAwJTIwMDAyLjItNSUyMDYuOSUyMDYuOSUyMDAlMjAwMC0xMy44JTIwMCUyMDclMjA3JTIwMCUyMDAwMi4yJTIwNS4xbC0uNi41YTIuNTUlMjAyLjU1JTIwMCUyMDAwLTIuMyUyMDJzLTMlMjAxMS4xLTMlMjAxMS4ydi4xYTEuNTglMjAxLjU4JTIwMCUyMDAwMSUyMDEuOWwxLjIuNGExLjYzJTIwMS42MyUyMDAlMjAwMDEuOS0uOWwuOC0yJTIwLjIlMjAxMi44aDExLjNsLjItMTIuNi43JTIwMS44YTEuNTQlMjAxLjU0JTIwMCUyMDAwMS41JTIwMSUyMDEuMDklMjAxLjA5JTIwMCUyMDAwLjUtLjFsMS4zLS40YTEuODUlMjAxLjg1JTIwMCUyMDAwLjctMlptLTEuMi45LTEuMi40YS42MS42MSUyMDAlMjAwMS0uNy0uM0wyOC40LTM2bC0uMiUyMDE2LjhoLTkuNEwxOC42LTM2bC0yLjclMjA2LjdhLjUyLjUyJTIwMCUyMDAxLS42Ni4zMWwtMS4xLS40YS41Mi41MiUyMDAlMjAwMS0uMzEtLjY2bDMuMS0xMS4zYTEuNjklMjAxLjY5JTIwMCUyMDAxMS41LTEuM2guMmwxLS45aDIuM2E1LjklMjA1LjklMjAwJTIwMTEzLjIlMjAwaDIuM2wxLjEuOWguMmExLjcxJTIwMS43MSUyMDAlMjAwMTEuNiUyMDEuMmwyLjklMjAxMS4zYS44NC44NCUyMDAlMjAwMS0uNC43Wk0zNCUyMDI5LjZsLTIuOS0xMS4zYTIuNzglMjAyLjc4JTIwMCUyMDAwLTIuNC0ybC0uNy0uNWE2LjgyJTIwNi44MiUyMDAlMjAwMDIuMi01JTIwNi45JTIwNi45JTIwMCUyMDAwLTEzLjglMjAwJTIwNyUyMDclMjAwJTIwMDAyLjIlMjA1LjFsLS42LjVhMi41NSUyMDIuNTUlMjAwJTIwMDAtMi4zJTIwMnMtMyUyMDExLjEtMyUyMDExLjJ2LjFhMS41OCUyMDEuNTglMjAwJTIwMDAxJTIwMS45bDEuMi40YTEuNjMlMjAxLjYzJTIwMCUyMDAwMS45LS45bC44LTIlMjAuMiUyMDEyLjhoMTEuM2wuMi0xMi42LjclMjAxLjhhMS41NCUyMDEuNTQlMjAwJTIwMDAxLjUlMjAxJTIwMS4wOSUyMDEuMDklMjAwJTIwMDAuNS0uMWwxLjMtLjRhMS44NSUyMDEuODUlMjAwJTIwMDAuNy0yWm0tMS4yLjktMS4yLjRhLjYxLjYxJTIwMCUyMDAxLS43LS4zTDI4LjQlMjAyNGwtLjIlMjAxNi44aC05LjRMMTguNiUyMDI0bC0yLjclMjA2LjdhLjUyLjUyJTIwMCUyMDAxLS42Ni4zMWwtMS4xLS40YS41Mi41MiUyMDAlMjAwMS0uMzEtLjY2bDMuMS0xMS4zYTEuNjklMjAxLjY5JTIwMCUyMDAxMS41LTEuM2guMmwxLS45aDIuM2E1LjklMjA1LjklMjAwJTIwMTEzLjIlMjAwaDIuM2wxLjEuOWguMmExLjcxJTIwMS43MSUyMDAlMjAwMTEuNiUyMDEuMmwyLjklMjAxMS4zYS44NC44NCUyMDAlMjAwMS0uNC43WiUyMiUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuMiUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMk0xNS40JTIwMzguOGgtNGExLjY0JTIwMS42NCUyMDAlMjAwMS0xLjQtMS4xbC0zLjEtOGEuOS45JTIwMCUyMDAxLS41LjFsLTEuNC4xYTEuNjIlMjAxLjYyJTIwMCUyMDAxLTEuNi0xLjRMMi4zJTIwMTUuNGwxLjYtMS4zYTYuODclMjA2Ljg3JTIwMCUyMDAxLTMtNC42QTcuMTQlMjA3LjE0JTIwMCUyMDAxMiUyMDQlMjA3LjYlMjA3LjYlMjAwJTIwMDE2LjcuOSUyMDcuMTQlMjA3LjE0JTIwMCUyMDAxMTIuMiUyMDJhNy4yOCUyMDcuMjglMjAwJTIwMDEyLjMlMjA5LjZsMi4xLS4xLjElMjAxYzAlMjAuMi4xLjUuMS44YTIuNDElMjAyLjQxJTIwMCUyMDAxMSUyMDFzMS45JTIwMy4yJTIwMi44JTIwNC45Yy43JTIwMS4yJTIwMi4xJTIwNC4yJTIwMi44JTIwNS45YTIuMSUyMDIuMSUyMDAlMjAwMS0uOCUyMDIuNmwtLjYuNGExLjYzJTIwMS42MyUyMDAlMjAwMS0xLjUuMmwtLjYtLjNhOC45MyUyMDguOTMlMjAwJTIwMDAuNSUyMDEuMyUyMDcuOTElMjA3LjkxJTIwMCUyMDAwMS44JTIwMi42bC42LjN2NC42bC00LjUtLjFhNy4zMiUyMDcuMzIlMjAwJTIwMDEtMi41LTEuNXptLTEwLTE5LjIlMjAzLjUlMjA5LjglMjAyLjklMjA3LjVoMS42VjM1bC0xLjktOS40JTIwMy4xJTIwNS40YTguMjQlMjA4LjI0JTIwMCUyMDAwMy44JTIwMy44aDIuMXYtMS40YTE0JTIwMTQlMjAwJTIwMDEtMi4yLTMuMSUyMDQ0LjU1JTIwNDQuNTUlMjAwJTIwMDEtMi4yLThMMTQuOCUyMDE2bDMuMiUyMDUuNmMuNiUyMDEuMSUyMDIuMSUyMDMuNiUyMDIuOCUyMDQuOWwuNi0uNGMtLjgtMS42LTIuMS00LjYtMi44LTUuOC0uOS0xLjctMi44LTQuOS0yLjgtNC45YS41NC41NCUyMDAlMjAwMC0uNC0uM2wtLjctLjEtLjEtLjdhNC4zMyUyMDQuMzMlMjAwJTIwMDAtLjEtLjVsLTUuMy4zJTIwMi4yLTEuOWE0LjMlMjA0LjMlMjAwJTIwMDAuOS0xJTIwNS4xNyUyMDUuMTclMjAwJTIwMDAuOC00JTIwNS42NyUyMDUuNjclMjAwJTIwMDAtMi4yLTMuNCUyMDUuMDklMjA1LjA5JTIwMCUyMDAwLTQtLjglMjA1LjY3JTIwNS42NyUyMDAlMjAwMC0zLjQlMjAyLjIlMjA1LjE3JTIwNS4xNyUyMDAlMjAwMC0uOCUyMDQlMjA1LjY3JTIwNS42NyUyMDAlMjAwMDIuMiUyMDMuNCUyMDMuMTMlMjAzLjEzJTIwMCUyMDAwMSUyMC41bDEuNi42LTMuMiUyMDIuNiUyMDElMjAxMS41aC40eiUyMiUyMGZpbGwlM0QlMjIlMjMzMzMlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtMy4zNSUyMDE1LjklMjAxLjElMjAxMi41YS4zOS4zOSUyMDAlMjAwMC4zNi40MmguMTRsMS40LS4xYS42Ni42NiUyMDAlMjAwMC41LS40bC0uMi0zLjgtMy4zLTguNlolMjIlMjBmaWxsJTNEJTIyJTIzZmRiZjJkJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIybTUuMiUyMDI4LjglMjAxLjEtLjFhLjY2LjY2JTIwMCUyMDAwLjUtLjRsLS4yLTMuOC0xLjItMy4xWiUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmIlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtMjEuNCUyMDM1LjcwMDAwMDAwMDAwMDAxLTMuOC0xLjItMi43LTcuOEwxMiUyMDE1LjVsMy40LTIuOWMuMiUyMDIuNCUyMDIuMiUyMDE0LjElMjAzLjclMjAxNy4xJTIwMCUyMDAlMjAxLjMlMjAyLjYlMjAyLjMlMjAzLjF6TTEzJTIwMjcuNmwtMi0uMyUyMDIuNSUyMDEwLjEuOS40di0yLjklMjIlMjBmaWxsJTNEJTIyJTIzZTU4OTJiJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTE3LjglMjAyNS40Yy0uNC0xLjUtLjctMy4xLTEuMS00LjgtLjEtLjQtLjEtLjctLjItMS4xbC0xLjEtMi0xLjctMS42cy45JTIwNSUyMDIuNCUyMDcuMWExOS4xMiUyMDE5LjEyJTIwMCUyMDAwMS43JTIwMi40WiUyMiUyMHN0eWxlJTNEJTIyaXNvbGF0aW9uJTNBaXNvbGF0ZSUyMiUyMGZpbGwlM0QlMjIlMjNjZjU3MmUlMjIlMjBvcGFjaXR5JTNEJTIyLjYlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTQuNCUyMDM3LjhoLTNhLjQzLjQzJTIwMCUyMDAxLS40LS40bC0zLTcuOC0xLjctNC44LTMtOSUyMDguOS0uNHMyLjklMjAxMS4zJTIwNC4zJTIwMTQuNGMxLjklMjA0LjElMjAzLjElMjA0LjclMjA1JTIwNS44aC0zLjJzLTQuMS0xLjItNS45LTcuN2EuNTkuNTklMjAwJTIwMDAtLjYtLjQuNjIuNjIlMjAwJTIwMDAtLjMuN3MuNSUyMDIuNC45JTIwMy42YTM0Ljg3JTIwMzQuODclMjAwJTIwMDAyJTIwNiUyMiUyMGZpbGwlM0QlMjIlMjNmZGJmMmQlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtMTUuNCUyMDEyLjctMy4zJTIwMi45LTguOS40JTIwMy4zLTIuNyUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmIlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtOS4xJTIwMjEuMSUyMDEuNC02LjItNS45LjUlMjIlMjBzdHlsZSUzRCUyMmlzb2xhdGlvbiUzQWlzb2xhdGUlMjIlMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwb3BhY2l0eSUzRCUyMi42JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTEyJTIwMTMuNWE0Ljc1JTIwNC43NSUyMDAlMjAwMS0yLjYlMjAxLjFjLTEuNS4zLTIuOS4yLTIuOSUyMDBzMS4xLS42JTIwMi43LTElMjIlMjBmaWxsJTNEJTIyJTIzYmIzZDE5JTIyLyUzRSUzQ2NpcmNsZSUyMGN4JTNEJTIyNy45MiUyMiUyMGN5JTNEJTIyOC4xOSUyMiUyMHIlM0QlMjI2LjMlMjIlMjBmaWxsJTNEJTIyJTIzZmRiZjJkJTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIyTTQuNyUyMDEzLjZhNi4yMSUyMDYuMjElMjAwJTIwMDA4LjQtMS45di0uMWE4Ljg5JTIwOC44OSUyMDAlMjAwMS04LjQlMjAyJTIyJTIwZmlsbCUzRCUyMiUyM2NlNTkyYiUyMiUyMGZpbGwtb3BhY2l0eSUzRCUyMi4yNSUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMm0yMS4yJTIwMjcuMi42LS40YTEuMDklMjAxLjA5JTIwMCUyMDAwLjQtMS4zYy0uNy0xLjUtMi4xLTQuNi0yLjgtNS44LS45LTEuNy0yLjgtNC45LTIuOC00LjlhMS42JTIwMS42JTIwMCUyMDAwLTIuMTctLjY1bC0uMjMuMTVhMS42OCUyMDEuNjglMjAwJTIwMDAtLjQlMjAyLjFzMi4zJTIwMy45JTIwMy4xJTIwNS4zYy42JTIwMSUyMDIuMSUyMDMuNyUyMDIuOSUyMDUuMWEuOTQuOTQlMjAwJTIwMDAxLjI0LjQ5eiUyMiUyMGZpbGwlM0QlMjIlMjNmZGJmMmQlMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTkuNCUyMDE5LjhjLS45LTEuNy0yLjgtNC45LTIuOC00LjlhMS42JTIwMS42JTIwMCUyMDAwLTIuMTctLjY1bC0uMjMuMTUtLjMuM2MxLjElMjAxLjUlMjAyLjklMjAzLjglMjAzLjklMjA1LjQlMjAxLjElMjAxLjglMjAyLjklMjA1JTIwMy44JTIwNi43bC4xLS4xYTEuMDklMjAxLjA5JTIwMCUyMDAwLjQtMS4zJTIwNTcuNjclMjA1Ny42NyUyMDAlMjAwMC0yLjctNS42WiUyMiUyMGZpbGwlM0QlMjIlMjNjZTU5MmIlMjIlMjBmaWxsLW9wYWNpdHklM0QlMjIuMjUlMjIvJTNFJTNDL3N2ZyUzRSIsCiJwZWdtYW5fZG9ja19ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIzJTIwMzglMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNi42JTIwMzguMWgtNS41bC0uMi0yLjktLjIlMjAyLjlINS4yTDUlMjAyNS4zbC0uOCUyMDJhMS41MyUyMDEuNTMlMjAwJTIwMDEtMS45LjlsLTEuMi0uNGExLjU4JTIwMS41OCUyMDAlMjAwMS0xLTEuOXYtLjFjLjMtLjklMjAzLjEtMTEuMiUyMDMuMS0xMS4yYTIuNjYlMjAyLjY2JTIwMCUyMDAxMi4zLTJsLjYtLjVhNi45MyUyMDYuOTMlMjAwJTIwMDE0LjctMTIlMjA2LjglMjA2LjglMjAwJTIwMDE0LjklMjAyJTIwNyUyMDclMjAwJTIwMDEyJTIwNC45JTIwNi42NSUyMDYuNjUlMjAwJTIwMDEtMi4yJTIwNWwuNy41YTIuNzglMjAyLjc4JTIwMCUyMDAxMi40JTIwMnMyLjklMjAxMS4yJTIwMi45JTIwMTEuM2ExLjUzJTIwMS41MyUyMDAlMjAwMS0uOSUyMDEuOWwtMS4zLjRhMS42MyUyMDEuNjMlMjAwJTIwMDEtMS45LS45bC0uNy0xLjh6bS0zLjYtMmgxLjdsLjItMTUuOCUyMDEuOS0uMyUyMDIuNCUyMDYuMy4zLS4xYy0uMi0uOC0uOC0zLjItMi44LTEwLjlhLjYzLjYzJTIwMCUyMDAwLS42LS41aC0uNmwtMS4xLS45aC0xLjlsLS4zLTJhNC44MyUyMDQuODMlMjAwJTIwMDAzLjUtNC43QTQuNzglMjA0Ljc4JTIwMCUyMDAwMTElMjAyLjNoLS4yYTQuOSUyMDQuOSUyMDAlMjAwMC0xLjQlMjA5LjZsLS4zJTIwMkg3LjJsLTElMjAuOWgtLjZhLjc0Ljc0JTIwMCUyMDAwLS42LjVjLTIlMjA3LjUtMi43JTIwMTAtMyUyMDEwLjlsLjMuMUw0LjglMjAyMGwxLjkuMy4yJTIwMTUuOGgxLjZsLjYtOC40YTEuNTIlMjAxLjUyJTIwMCUyMDAxMS41LTEuNCUyMDEuNSUyMDEuNSUyMDAlMjAwMTEuNSUyMDEuNHptNi42LTkuNyUyMiUyMHN0eWxlJTNEJTIyaXNvbGF0aW9uJTNBaXNvbGF0ZSUyMiUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBvcGFjaXR5JTNEJTIyLjclMjIvJTNFJTNDcGF0aCUyMGQlM0QlMjJtNS45JTIwMTMuNiUyMDEuMS0uOWg3LjhsMS4yLjklMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyLyUzRSUzQ2VsbGlwc2UlMjBjeCUzRCUyMjEwLjklMjIlMjBjeSUzRCUyMjEzLjElMjIlMjByeCUzRCUyMjIuNyUyMiUyMHJ5JTNEJTIyLjMlMjIlMjBzdHlsZSUzRCUyMmlzb2xhdGlvbiUzQWlzb2xhdGUlMjIlMjBmaWxsJTNEJTIyJTIzY2U1OTJjJTIyJTIwb3BhY2l0eSUzRCUyMi41JTIyLyUzRSUzQ3BhdGglMjBkJTNEJTIybTIwLjYlMjAyNi4xLTIuOS0xMS4zYTEuNzElMjAxLjcxJTIwMCUyMDAwLTEuNi0xLjJINS43YTEuNjklMjAxLjY5JTIwMCUyMDAwLTEuNSUyMDEuM0wxLjElMjAyNi4yYS42MS42MSUyMDAlMjAwMC4zLjdsMS4xLjRhLjYxLjYxJTIwMCUyMDAwLjctLjNsMi43LTYuNy4yJTIwMTYuOGgzLjZsLjYtOS4zYS40Ny40NyUyMDAlMjAwMS40NC0uNWguMDZjLjQlMjAwJTIwLjQuMi41LjVsLjYlMjA5LjNoMy42bC4yLTE2LjglMjAyLjUlMjA2LjZhLjUyLjUyJTIwMCUyMDAwLjY2LjMxbDEuMi0uNDAwMDAwMDAwMDAwMDFhLjU3LjU3JTIwMCUyMDAwLjUtLjdaJTIyJTIwZmlsbCUzRCUyMiUyM2ZkYmYyZCUyMi8lM0UlM0NwYXRoJTIwZCUzRCUyMm03JTIwMTMuNiUyMDMuOSUyMDYuNyUyMDMuOS02LjclMjIlMjBzdHlsZSUzRCUyMmlzb2xhdGlvbiUzQWlzb2xhdGUlMjIlMjBmaWxsJTNEJTIyJTIzY2Y1NzJlJTIyJTIwb3BhY2l0eSUzRCUyMi42JTIyLyUzRSUzQ2NpcmNsZSUyMGN4JTNEJTIyMTAuOSUyMiUyMGN5JTNEJTIyNyUyMiUyMHIlM0QlMjI1LjklMjIlMjBmaWxsJTNEJTIyJTIzZmRiZjJkJTIyLyUzRSUzQy9zdmclM0UiLAoicm90YXRlX3JpZ2h0X2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMCUyMDBoMjR2MjRIMHolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIybTEyLjA2JTIwOS4wNiUyMDQtNC00LTQtMS40MSUyMDEuNDElMjAxLjU5JTIwMS41OWgtLjE4Yy0yLjMlMjAwLTQuNi44OC02LjM1JTIwMi42NC0zLjUyJTIwMy41MS0zLjUyJTIwOS4yMSUyMDAlMjAxMi43MiUyMDEuNSUyMDEuNSUyMDMuNCUyMDIuMzYlMjA1LjM2JTIwMi41OHYtMi4wMmMtMS40NC0uMjEtMi44NC0uODYtMy45NS0xLjk3LTIuNzMtMi43My0yLjczLTcuMTclMjAwLTkuOSUyMDEuMzctMS4zNyUyMDMuMTYtMi4wNSUyMDQuOTUtMi4wNWguMTdsLTEuNTklMjAxLjU5em04Ljk0JTIwM2MtLjE5LTEuNzQtLjg4LTMuMzItMS45MS00LjYxbC0xLjQzJTIwMS40M2MuNjkuOTIlMjAxLjE1JTIwMiUyMDEuMzIlMjAzLjE4em0tNy45NCUyMDcuOTJWMjJjMS43NC0uMTklMjAzLjMyLS44OCUyMDQuNjEtMS45MWwtMS40My0xLjQzYy0uOTEuNjgtMiUyMDEuMTUtMy4xOCUyMDEuMzJtNC42LTIuNzQlMjAxLjQzJTIwMS40M2MxLjA0LTEuMjklMjAxLjcyLTIuODglMjAxLjkxLTQuNjFoLTIuMDJjLS4xNyUyMDEuMTgtLjY0JTIwMi4yNy0xLjMyJTIwMy4xOCUyMi8lM0UlM0Mvc3ZnJTNFIiwKInJvdGF0ZV9yaWdodF9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMCUyMDBoMjR2MjRIMHolMjIvJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMzMlMjIlMjBkJTNEJTIybTEyLjA2JTIwOS4wNiUyMDQtNC00LTQtMS40MSUyMDEuNDElMjAxLjU5JTIwMS41OWgtLjE4Yy0yLjMlMjAwLTQuNi44OC02LjM1JTIwMi42NC0zLjUyJTIwMy41MS0zLjUyJTIwOS4yMSUyMDAlMjAxMi43MiUyMDEuNSUyMDEuNSUyMDMuNCUyMDIuMzYlMjA1LjM2JTIwMi41OHYtMi4wMmMtMS40NC0uMjEtMi44NC0uODYtMy45NS0xLjk3LTIuNzMtMi43My0yLjczLTcuMTclMjAwLTkuOSUyMDEuMzctMS4zNyUyMDMuMTYtMi4wNSUyMDQuOTUtMi4wNWguMTdsLTEuNTklMjAxLjU5em04Ljk0JTIwM2MtLjE5LTEuNzQtLjg4LTMuMzItMS45MS00LjYxbC0xLjQzJTIwMS40M2MuNjkuOTIlMjAxLjE1JTIwMiUyMDEuMzIlMjAzLjE4em0tNy45NCUyMDcuOTJWMjJjMS43NC0uMTklMjAzLjMyLS44OCUyMDQuNjEtMS45MWwtMS40My0xLjQzYy0uOTEuNjgtMiUyMDEuMTUtMy4xOCUyMDEuMzJtNC42LTIuNzQlMjAxLjQzJTIwMS40M2MxLjA0LTEuMjklMjAxLjcyLTIuODglMjAxLjkxLTQuNjFoLTIuMDJjLS4xNyUyMDEuMTgtLjY0JTIwMi4yNy0xLjMyJTIwMy4xOCUyMi8lM0UlM0Mvc3ZnJTNFIiwKInJvdGF0ZV9yaWdodF9ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMjQlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBkJTNEJTIyTTAlMjAwaDI0djI0SDB6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwZCUzRCUyMm0xMi4wNiUyMDkuMDYlMjA0LTQtNC00LTEuNDElMjAxLjQxJTIwMS41OSUyMDEuNTloLS4xOGMtMi4zJTIwMC00LjYuODgtNi4zNSUyMDIuNjQtMy41MiUyMDMuNTEtMy41MiUyMDkuMjElMjAwJTIwMTIuNzIlMjAxLjUlMjAxLjUlMjAzLjQlMjAyLjM2JTIwNS4zNiUyMDIuNTh2LTIuMDJjLTEuNDQtLjIxLTIuODQtLjg2LTMuOTUtMS45Ny0yLjczLTIuNzMtMi43My03LjE3JTIwMC05LjklMjAxLjM3LTEuMzclMjAzLjE2LTIuMDUlMjA0Ljk1LTIuMDVoLjE3bC0xLjU5JTIwMS41OXptOC45NCUyMDNjLS4xOS0xLjc0LS44OC0zLjMyLTEuOTEtNC42MWwtMS40MyUyMDEuNDNjLjY5LjkyJTIwMS4xNSUyMDIlMjAxLjMyJTIwMy4xOHptLTcuOTQlMjA3LjkyVjIyYzEuNzQtLjE5JTIwMy4zMi0uODglMjA0LjYxLTEuOTFsLTEuNDMtMS40M2MtLjkxLjY4LTIlMjAxLjE1LTMuMTglMjAxLjMybTQuNi0yLjc0JTIwMS40MyUyMDEuNDNjMS4wNC0xLjI5JTIwMS43Mi0yLjg4JTIwMS45MS00LjYxaC0yLjAyYy0uMTclMjAxLjE4LS42NCUyMDIuMjctMS4zMiUyMDMuMTglMjIvJTNFJTNDL3N2ZyUzRSIsCiJ0aWx0XzBfYWN0aXZlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOCUyMDE2JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMxMTElMjIlMjBkJTNEJTIyTTAlMjAxNmg4VjlIMHptMTAlMjAwaDhWOWgtOHpNMCUyMDdoOFYwSDB6bTEwLTd2N2g4VjB6JTIyLyUzRSUzQy9zdmclM0UiLCJ0aWx0XzBfaG92ZXIuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTYlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMzMyUyMiUyMGQlM0QlMjJNMCUyMDE2aDhWOUgwem0xMCUyMDBoOFY5aC04ek0wJTIwN2g4VjBIMHptMTAtN3Y3aDhWMHolMjIvJTNFJTNDL3N2ZyUzRSIsInRpbHRfMF9ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4JTIwMTYlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGQlM0QlMjJNMCUyMDE2aDhWOUgwem0xMCUyMDBoOFY5aC04ek0wJTIwN2g4VjBIMHptMTAtN3Y3aDhWMHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJ0aWx0XzQ1X2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjIlMjAxMyUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwZCUzRCUyMk0yLjc1JTIwNUgxMFYwSDQuNHpNMCUyMDEzaDEwVjdIMnptMjAtNmgtOHY2aDEwem0tMi40LTdIMTJ2NWg3LjI1eiUyMi8lM0UlM0Mvc3ZnJTNFIiwidGlsdF80NV9ob3Zlci5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjIlMjAxMyUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwZCUzRCUyMk0yLjc1JTIwNUgxMFYwSDQuNHpNMCUyMDEzaDEwVjdIMnptMjAtNmgtOHY2aDEwem0tMi40LTdIMTJ2NWg3LjI1eiUyMi8lM0UlM0Mvc3ZnJTNFIiwKInRpbHRfNDVfbm9ybWFsLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMiUyMDEzJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBkJTNEJTIyTTIuNzUlMjA1SDEwVjBINC40ek0wJTIwMTNoMTBWN0gyem0yMC02aC04djZoMTB6bS0yLjQtN0gxMnY1aDcuMjV6JTIyLyUzRSUzQy9zdmclM0UiLCJ6b29tX2luX2FjdGl2ZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzExMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQ0MC00NDBIMjAwdi04MGgyNDB2LTI0MGg4MHYyNDBoMjQwdjgwSDUyMHYyNDBoLTgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiem9vbV9pbl9hY3RpdmVfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQ0MC00NDBIMjAwdi04MGgyNDB2LTI0MGg4MHYyNDBoMjQwdjgwSDUyMHYyNDBoLTgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwKInpvb21faW5fZGlzYWJsZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2QxZDFkMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQ0MC00NDBIMjAwdi04MGgyNDB2LTI0MGg4MHYyNDBoMjQwdjgwSDUyMHYyNDBoLTgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiem9vbV9pbl9kaXNhYmxlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjM0ZTRlNGUlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMC05NjAlMjA5NjAlMjA5NjAlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk00NDAtNDQwSDIwMHYtODBoMjQwdi0yNDBoODB2MjQwaDI0MHY4MEg1MjB2MjQwaC04MHolMjIvJTNFJTNDL3N2ZyUzRSIsCiJ6b29tX2luX2hvdmVyLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAtOTYwJTIwOTYwJTIwOTYwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNDQwLTQ0MEgyMDB2LTgwaDI0MHYtMjQwaDgwdjI0MGgyNDB2ODBINTIwdjI0MGgtODB6JTIyLyUzRSUzQy9zdmclM0UiLCJ6b29tX2luX2hvdmVyX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNlNmU2ZTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMC05NjAlMjA5NjAlMjA5NjAlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk00NDAtNDQwSDIwMHYtODBoMjQwdi0yNDBoODB2MjQwaDI0MHY4MEg1MjB2MjQwaC04MHolMjIvJTNFJTNDL3N2ZyUzRSIsInpvb21faW5fbm9ybWFsLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAtOTYwJTIwOTYwJTIwOTYwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNDQwLTQ0MEgyMDB2LTgwaDI0MHYtMjQwaDgwdjI0MGgyNDB2ODBINTIwdjI0MGgtODB6JTIyLyUzRSUzQy9zdmclM0UiLAoiem9vbV9pbl9ub3JtYWxfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2IzYjNiMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTQ0MC00NDBIMjAwdi04MGgyNDB2LTI0MGg4MHYyNDBoMjQwdjgwSDUyMHYyNDBoLTgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiem9vbV9vdXRfYWN0aXZlLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMTExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAtOTYwJTIwOTYwJTIwOTYwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjAwLTQ0MHYtODBoNTYwdjgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwiem9vbV9vdXRfYWN0aXZlX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMC05NjAlMjA5NjAlMjA5NjAlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yMDAtNDQwdi04MGg1NjB2ODB6JTIyLyUzRSUzQy9zdmclM0UiLAoiem9vbV9vdXRfZGlzYWJsZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2QxZDFkMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIwMC00NDB2LTgwaDU2MHY4MHolMjIvJTNFJTNDL3N2ZyUzRSIsInpvb21fb3V0X2Rpc2FibGVfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyMzRlNGU0ZSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIwMC00NDB2LTgwaDU2MHY4MHolMjIvJTNFJTNDL3N2ZyUzRSIsInpvb21fb3V0X2hvdmVyLnN2ZyI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlMjBmaWxsJTNEJTIyJTIzMzMzJTIyJTIwdmlld0JveCUzRCUyMjAlMjAtOTYwJTIwOTYwJTIwOTYwJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMjAwLTQ0MHYtODBoNTYwdjgweiUyMi8lM0UlM0Mvc3ZnJTNFIiwKInpvb21fb3V0X2hvdmVyX2Rhcmsuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjNlNmU2ZTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMC05NjAlMjA5NjAlMjA5NjAlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yMDAtNDQwdi04MGg1NjB2ODB6JTIyLyUzRSUzQy9zdmclM0UiLCJ6b29tX291dF9ub3JtYWwuc3ZnIjoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQS8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMC05NjAlMjA5NjAlMjA5NjAlMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0yMDAtNDQwdi04MGg1NjB2ODB6JTIyLyUzRSUzQy9zdmclM0UiLCJ6b29tX291dF9ub3JtYWxfZGFyay5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwZmlsbCUzRCUyMiUyM2IzYjNiMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwLTk2MCUyMDk2MCUyMDk2MCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTIwMC00NDB2LTgwaDU2MHY4MHolMjIvJTNFJTNDL3N2ZyUzRSJ9O18ueUVhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YTt0aGlzLnJoPXt9fWxvYWQoYSxiKXt2YXIgYz10aGlzLnJoLGQ7KGQ9dGhpcy5xaC5sb2FkKGEsZT0+e2lmKCFkfHxkIGluIGMpZGVsZXRlIGNbZF0sYihlKX0pKSYmKGNbZF09MSk7cmV0dXJuIGR9Y2FuY2VsKGEpe2RlbGV0ZSB0aGlzLnJoW2FdO3RoaXMucWguY2FuY2VsKGEpfX07Xy5tSD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnVybD1hO3RoaXMuY3Jvc3NPcmlnaW49dm9pZCAwfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5jcm9zc09yaWdpbn0ke3RoaXMudXJsfWB9fTt2YXIgekVhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX1sb2FkKGEsYil7dmFyIGM9dGhpcy5xaDthLnVybC5zdWJzdHIoMCw1KT09PSJkYXRhOiImJihhPW5ldyBfLm1IKGEudXJsKSk7cmV0dXJuIGMubG9hZChhLGQ9PntkfHxhLmNyb3NzT3JpZ2luPT09dm9pZCAwP2IoZCk6Yy5sb2FkKG5ldyBfLm1IKGEudXJsKSxiKX0pfWNhbmNlbChhKXt0aGlzLnFoLmNhbmNlbChhKX19O3ZhciBBRWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5yaD1fLllBO3RoaXMucWg9YTt0aGlzLnBlbmRpbmc9e319bG9hZChhLGIpe3ZhciBjPW5ldyBJbWFnZSxkPWEudXJsO3RoaXMucGVuZGluZ1tkXT1jO2MuTmk9YjtjLm9ubG9hZD0oKT0+e3RoaXMub25sb2FkKGQsITApfTtjLm9uZXJyb3I9KCk9Pnt0aGlzLm9ubG9hZChkLCExKX07Yy50aW1lb3V0PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy5vbmxvYWQoZCwhMCl9LDEyRTQpO2EuY3Jvc3NPcmlnaW4hPT12b2lkIDAmJihjLmNyb3NzT3JpZ2luPWEuY3Jvc3NPcmlnaW4pO0tCYSh0aGlzLGMsZCk7cmV0dXJuIGR9Y2FuY2VsKGEpe3RoaXMuWm8oYSwhMCl9Wm8oYSxiKXt2YXIgYz10aGlzLnBlbmRpbmdbYV07YyYmKGRlbGV0ZSB0aGlzLnBlbmRpbmdbYV0sd2luZG93LmNsZWFyVGltZW91dChjLnRpbWVvdXQpLGMub25sb2FkPWMub25lcnJvcj1udWxsLGMudGltZW91dD0tMSxjLk5pPSgpPT57fSxiJiYoYy5zcmM9dGhpcy5yaCkpfW9ubG9hZChhLApiKXt2YXIgYz10aGlzLnBlbmRpbmdbYV0sZD1jLk5pO3RoaXMuWm8oYSwhMSk7ZChiJiZjKX19O3ZhciBCRWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfWxvYWQoYSxiKXtyZXR1cm4gdGhpcy5xaC5sb2FkKGEsXy5ORShjPT57dmFyIGQ9Yy53aWR0aCxlPWMuaGVpZ2h0O2lmKGQ9PT0wJiYhYy5wYXJlbnRFbGVtZW50KXtsZXQgZj1jLnN0eWxlLm9wYWNpdHk7Yy5zdHlsZS5vcGFjaXR5PSIwIjtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpO2Q9Yy53aWR0aHx8Yy5jbGllbnRXaWR0aDtlPWMuaGVpZ2h0fHxjLmNsaWVudEhlaWdodDtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGMpO2Muc3R5bGUub3BhY2l0eT1mfWMmJihjLnNpemU9bmV3IF8uZ28oZCxlKSk7YihjKX0pKX1jYW5jZWwoYSl7dGhpcy5xaC5jYW5jZWwoYSl9fTt2YXIgTUJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucmg9YTt0aGlzLnFoPTA7dGhpcy5jYWNoZT17fTt0aGlzLnNoPWI9PmIudG9TdHJpbmcoKX1sb2FkKGEsYil7dmFyIGM9dGhpcy5zaChhKSxkPXRoaXMuY2FjaGU7cmV0dXJuIGRbY10/KGIoZFtjXSksIiIpOnRoaXMucmgubG9hZChhLGU9PntkW2NdPWU7Kyt0aGlzLnFoO3ZhciBmPXRoaXMuY2FjaGU7aWYodGhpcy5xaD4xMDApZm9yKGxldCBnIG9mIE9iamVjdC5rZXlzKGYpKXtkZWxldGUgZltnXTstLXRoaXMucWg7YnJlYWt9YihlKX0pfWNhbmNlbChhKXt0aGlzLnJoLmNhbmNlbChhKX19O3ZhciBMQmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50aD1hO3RoaXMuc2g9e307dGhpcy5xaD17fTt0aGlzLnJoPXt9O3RoaXMueGg9MDt0aGlzLndoPWI9PmIudG9TdHJpbmcoKX1sb2FkKGEsYil7dmFyIGM9YCR7Kyt0aGlzLnhofWAsZD10aGlzLnNoLGU9dGhpcy5xaCxmPXRoaXMud2goYSk7aWYoZVtmXSl2YXIgZz0hMDtlbHNlIGVbZl09e30sZz0hMTtkW2NdPWY7ZVtmXVtjXT1iO2d8fCgoYT10aGlzLnRoLmxvYWQoYSx0aGlzLm9ubG9hZC5iaW5kKHRoaXMsZikpKT90aGlzLnJoW2ZdPWE6Yz0iIik7cmV0dXJuIGN9b25sb2FkKGEsYil7ZGVsZXRlIHRoaXMucmhbYV07dmFyIGM9dGhpcy5xaFthXSxkPVtdO2ZvcihsZXQgZSBvZiBPYmplY3Qua2V5cyhjKSlkLnB1c2goY1tlXSksZGVsZXRlIGNbZV0sZGVsZXRlIHRoaXMuc2hbZV07ZGVsZXRlIHRoaXMucWhbYV07Zm9yKGxldCBlPTAsZjtmPWRbZV07KytlKWYoYil9Y2FuY2VsKGEpe3ZhciBiPXRoaXMuc2gsYz1iW2FdOwpkZWxldGUgYlthXTtpZihjKXtiPXRoaXMucWg7ZGVsZXRlIGJbY11bYV07YT1iW2NdO3ZhciBkPSEwO2ZvcihlIG9mIE9iamVjdC5rZXlzKGEpKXtkPSExO2JyZWFrfWlmKGQpe2RlbGV0ZSBiW2NdO2I9dGhpcy5yaDt2YXIgZT1iW2NdO2RlbGV0ZSBiW2NdO3RoaXMudGguY2FuY2VsKGUpfX19fTt2YXIgQ0VhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2g9YTt0aGlzLlZpPXt9O3RoaXMucmg9dGhpcy5xaD0wfWxvYWQoYSxiKXt2YXIgYz0iIithO3RoaXMuVmlbY109W2EsYl07UEJhKHRoaXMpO3JldHVybiBjfWNhbmNlbChhKXt2YXIgYj10aGlzLlZpO2JbYV0/ZGVsZXRlIGJbYV06Xy5OcC5xaHx8KHRoaXMuc2guY2FuY2VsKGEpLC0tdGhpcy5xaCxRQmEodGhpcykpfX07dmFyIERFYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2g9UkJhKCk7dGhpcy5FQj0wO3RoaXMuVmk9W107dGhpcy5xaD1udWxsO3RoaXMucmg9MH1yZXN1bWUoKXt0aGlzLnFoPW51bGw7dmFyIGE9dGhpcy5WaSxiPTA7Zm9yKGxldCBjPWEubGVuZ3RoO2I8YyYmdGhpcy5zaChiPT09MCk7KytiKWFbYl0oKTthLnNwbGljZSgwLGIpO3RoaXMucmg9RGF0ZS5ub3coKTthLmxlbmd0aCYmKHRoaXMucWg9Xy5MRSh0aGlzLHRoaXMucmVzdW1lLHRoaXMuRUIpKX19O3ZhciBVQmE9MCxtemE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJoPW5ldyBERWE7dmFyIGE9bmV3IHpFYShuZXcgQUVhKHRoaXMucmgpKTtfLk5wLnFoJiYoYT1uZXcgTEJhKGEpLGE9bmV3IENFYShhKSk7YT1uZXcgQkVhKGEpO2E9bmV3IF8ueUVhKGEpO3RoaXMucWg9Xy5sSChhKX19O3JILnByb3RvdHlwZS5CWVRFU19QRVJfRUxFTUVOVD00O3JILnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXtiPWJ8fDA7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aCYmYitjPHRoaXMubGVuZ3RoO2MrKyl0aGlzW2IrY109YVtjXX07ckgucHJvdG90eXBlLnRvU3RyaW5nPUFycmF5LnByb3RvdHlwZS5qb2luO3R5cGVvZiBGbG9hdDMyQXJyYXk9PSJ1bmRlZmluZWQiJiYockguQllURVNfUEVSX0VMRU1FTlQ9NCxySC5wcm90b3R5cGUuQllURVNfUEVSX0VMRU1FTlQ9ckgucHJvdG90eXBlLkJZVEVTX1BFUl9FTEVNRU5ULHJILnByb3RvdHlwZS5zZXQ9ckgucHJvdG90eXBlLnNldCxySC5wcm90b3R5cGUudG9TdHJpbmc9ckgucHJvdG90eXBlLnRvU3RyaW5nLF8ubmIoIkZsb2F0MzJBcnJheSIsckgpKTtzSC5wcm90b3R5cGUuQllURVNfUEVSX0VMRU1FTlQ9ODtzSC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj1ifHwwO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGgmJmIrYzx0aGlzLmxlbmd0aDtjKyspdGhpc1tiK2NdPWFbY119O3NILnByb3RvdHlwZS50b1N0cmluZz1BcnJheS5wcm90b3R5cGUuam9pbjtpZih0eXBlb2YgRmxvYXQ2NEFycmF5PT0idW5kZWZpbmVkIil7dHJ5e3NILkJZVEVTX1BFUl9FTEVNRU5UPTh9Y2F0Y2goYSl7fXNILnByb3RvdHlwZS5CWVRFU19QRVJfRUxFTUVOVD1zSC5wcm90b3R5cGUuQllURVNfUEVSX0VMRU1FTlQ7c0gucHJvdG90eXBlLnNldD1zSC5wcm90b3R5cGUuc2V0O3NILnByb3RvdHlwZS50b1N0cmluZz1zSC5wcm90b3R5cGUudG9TdHJpbmc7Xy5uYigiRmxvYXQ2NEFycmF5IixzSCl9O18udEgoKTtfLnRIKCk7Xy51SCgpO18udUgoKTtfLnVIKCk7Xy52SCgpO18udEgoKTtfLnRIKCk7Xy50SCgpO18udEgoKTt2YXIgTUg9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaWQ9YTt0aGlzLm5hbWU9Yjt0aGlzLnRpdGxlPWN9fSxMSD1bXTt2YXIgWkJhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5maWVsZHM9bmV3IE1hcH1nZXQoYSl7cmV0dXJuIHRoaXMuZmllbGRzLmdldChhKX19LGFDYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuc2g9YTt0aGlzLnRoPWI7dGhpcy5yaD1jO3RoaXMucWg9ZDt0aGlzLm1lc3NhZ2U9ZX19LCRCYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLlZoPWE7dGhpcy5uZXh0PTB9ZG9uZSgpe3JldHVybiB0aGlzLm5leHQ+PXRoaXMuVmgubGVuZ3RofX07dmFyIHZDYT1fLiRpKF8uQ0gsZ0VhKTt2YXIgV0JhPSJBRTFFMkU3RTU0RTZFNkFFNTVFNTZFNjBBQUU2LDFFNjJFNjNFMSBBQSBBRTNFNEFBQzEgQUlJSUlJSUlJSSBBQzBDMUFBQUFBRTVFNiBBQUUzQSBBIEU3RThFMTdFMjFFMjZFMTRFMjdFMjlFNkUxRTM1RTM2RTZFMzhFMzlFNDFFMUUxRTQzRTQ0RTZFNkU0NUU0NkU2RTQ3RTUwRTUyRTUzIEFBRTlBRTExQSBBQUFFMTBDMSBJSUkgQkFCQzJFMTJCQUFBQUExQkU2QkFGNkU2RTZFMTNFMTRFMUUxNUYxNiBBQzFBRTZBIEFBQUUxIEFBQSBBQiBJSUEgQUFBQUUxMkUxOEFFMTlFNkFFMUFFMUUyMEFBMUUxQSBBQUFBQSAySUkgIEYyMkUyNEM0QUFFMjVBM0EgRTE3RTEwRjIzQUFBIEUxMElBIEFBQUMxQkMzQzFBQUFBQSBDNUM1QzUgQUFBQSBFMUFFMjBFMTRFMjggQUExQSBBQUU2QUUzMEU2RTMzIEFFMzFFMUUxIEUxRTMyIEFFMTdFNiBBRTM0IEUxIDFBQUFBIEFFMzcgRjE4IEUzMSBFNkFFNDAgMkUxOUUxOSAxRjIwRTQyIEU2QSBCRjYgMUFFMSBFMzIgOEEgRjE0RjQ4IEFGNDlBIDFBRTZBQUEgRjUxIEUxNyBGNiBBRTZBQUEgQkJBIEFBQUFBQUFBIEFBRTU3QUU1OCBBQUUxOUEgRTU5RTE5IEFCQUFBQUUxIEU2RTYxQUFBQUFBQUUxQUU2IEJBRjZFMTFBQSBFMjAgQUFBRTYiLnNwbGl0KCIgIiksClhCYT1bOTksMSw1LDFFMyw2LC0xXTt2YXIgZUNhPS9eKC0/XGQrKFwuXGQrKT8pLCgtP1xkKyhcLlxkKyk/KSgsKC0/XGQrKFwuXGQrKT8pKT8kLzt2YXIgSUg9W3tSdjoxLFJ3OiJyZXZpZXdzIn0se1J2OjIsUnc6InBob3RvcyJ9LHtSdjozLFJ3OiJjb250cmlidXRlIn0se1J2OjQsUnc6ImVkaXRzIn0se1J2OjcsUnc6ImV2ZW50cyJ9LHtSdjo5LFJ3OiJhbnN3ZXJzIn1dO3ZhciB4Q2EseUNhO18uekNhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD1bXTt0aGlzLnFoPXRoaXMudGg9bnVsbH1yZXNldCgpe3RoaXMuc2gubGVuZ3RoPTA7dGhpcy50aD17fTt0aGlzLnFoPW51bGx9cmgoKXtyZXR1cm4gMX19O3hDYT0vJSg0MHwzQXwyNHwyQ3wzQikvZzt5Q2E9LyUyMC9nO18uUkk9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5yaD0hMTthP3RoaXMucWg9YSgoKT0+e3RoaXMuY2hhbmdlZCgibGF0TG5nUG9zaXRpb24iKX0pOihhPW5ldyBfLkRyYSxhLmJpbmRUbygiY2VudGVyIix0aGlzKSxhLmJpbmRUbygiem9vbSIsdGhpcyksYS5iaW5kVG8oInByb2plY3Rpb25Ub3BMZWZ0Iix0aGlzKSxhLmJpbmRUbygicHJvamVjdGlvbiIsdGhpcyksYS5iaW5kVG8oIm9mZnNldCIsdGhpcyksdGhpcy5xaD1hKX1mcm9tTGF0TG5nVG9Db250YWluZXJQaXhlbChhKXtyZXR1cm4gdGhpcy5xaC5mcm9tTGF0TG5nVG9Db250YWluZXJQaXhlbChhKX1mcm9tTGF0TG5nVG9EaXZQaXhlbChhKXtyZXR1cm4gdGhpcy5xaC5mcm9tTGF0TG5nVG9EaXZQaXhlbChhKX1mcm9tRGl2UGl4ZWxUb0xhdExuZyhhLGI9ITEpe3JldHVybiB0aGlzLnFoLmZyb21EaXZQaXhlbFRvTGF0TG5nKGEsYil9ZnJvbUNvbnRhaW5lclBpeGVsVG9MYXRMbmcoYSwKYj0hMSl7cmV0dXJuIHRoaXMucWguZnJvbUNvbnRhaW5lclBpeGVsVG9MYXRMbmcoYSxiKX1nZXRXb3JsZFdpZHRoKCl7cmV0dXJuIHRoaXMucWguZ2V0V29ybGRXaWR0aCgpfWdldFZpc2libGVSZWdpb24oKXtyZXR1cm4gdGhpcy5xaC5nZXRWaXNpYmxlUmVnaW9uKCl9cGl4ZWxQb3NpdGlvbl9jaGFuZ2VkKCl7aWYoIXRoaXMucmgpe3RoaXMucmg9ITA7bGV0IGE9dGhpcy5mcm9tRGl2UGl4ZWxUb0xhdExuZyh0aGlzLmdldCgicGl4ZWxQb3NpdGlvbiIpKSxiPXRoaXMuZ2V0KCJsYXRMbmdQb3NpdGlvbiIpO2EmJiFhLmVxdWFscyhiKSYmdGhpcy5zZXQoImxhdExuZ1Bvc2l0aW9uIixhKTt0aGlzLnJoPSExfX1jaGFuZ2VkKGEpe2lmKGEhPT0ic2NhbGUiKXt2YXIgYj10aGlzLmdldCgibGF0TG5nUG9zaXRpb24iKTtpZighdGhpcy5yaCYmYSE9PSJmb2N1cyIpe3RoaXMucmg9ITA7bGV0IGM9dGhpcy5nZXQoInBpeGVsUG9zaXRpb24iKSxkPXRoaXMuZnJvbUxhdExuZ1RvRGl2UGl4ZWwoYik7CmlmKGQmJiFkLmVxdWFscyhjKXx8ISFkIT09ISFjKWQmJihNYXRoLmFicyhkLngpPjFFNXx8TWF0aC5hYnMoZC55KT4xRTUpP3RoaXMuc2V0KCJwaXhlbFBvc2l0aW9uIixudWxsKTp0aGlzLnNldCgicGl4ZWxQb3NpdGlvbiIsZCk7dGhpcy5yaD0hMX1pZihhPT09ImZvY3VzInx8YT09PSJsYXRMbmdQb3NpdGlvbiIpYT10aGlzLmdldCgiZm9jdXMiKSxiJiZhJiYoYj1fLmpFKGIsYSksdGhpcy5zZXQoInNjYWxlIiwyMC8oYisxKSkpfX19O18uRUk9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3ZhciBkPXRoaXM7dGhpcy5xaD1iO3RoaXMucmg9bmV3IF8uQXAoKCk9PntkZWxldGUgdGhpc1t0aGlzLnFoXTt0aGlzLm5vdGlmeSh0aGlzLnFoKX0sMCk7dmFyIGU9W10sZj1hLmxlbmd0aDtkWyJnZXQiK18uQm4oYildPSgpPT57aWYoIShiIGluIGQpKXtlLmxlbmd0aD0wO2ZvcihsZXQgZz0wO2c8ZjsrK2cpZVtnXT10aGlzLmdldChhW2ddKTtkW2JdPWMuYXBwbHkobnVsbCxlKX1yZXR1cm4gZFtiXX19Y2hhbmdlZChhKXthIT09dGhpcy5xaCYmXy5CcCh0aGlzLnJoKX19O3ZhciBTSTtTST17dXJsOiJhcGktMy9pbWFnZXMvY2Jfc2NvdXQ1IixzaXplOm5ldyBfLmdvKDIxNSw4MzUpLEJ5OiExfTsKXy5UST17eVA6e3BuOnt1cmw6ImNiL3RhcmdldF9sb2NraW5nIixzaXplOm51bGwsQnk6ITB9LE1uOm5ldyBfLmdvKDU2LDQwKSxhbmNob3I6bmV3IF8uYm8oMjgsMTkpLGl0ZW1zOlt7c2VnbWVudDpuZXcgXy5ibygwLDApfV19LHFCOntwbjpTSSxNbjpuZXcgXy5nbyg0OSw1MiksYW5jaG9yOm5ldyBfLmJvKDI1LDMzKSxncmlkOm5ldyBfLmJvKDAsNTIpLGl0ZW1zOlt7c2VnbWVudDpuZXcgXy5ibyg0OSwwKX1dfSxuVDp7cG46U0ksTW46bmV3IF8uZ28oNDksNTIpLGFuY2hvcjpuZXcgXy5ibygyNSwzMyksZ3JpZDpuZXcgXy5ibygwLDUyKSxpdGVtczpbe3NlZ21lbnQ6bmV3IF8uYm8oMCwwKX1dfSxHczp7cG46U0ksTW46bmV3IF8uZ28oNDksNTIpLGFuY2hvcjpuZXcgXy5ibygyOSw1NSksZ3JpZDpuZXcgXy5ibygwLDUyKSxpdGVtczpbe3NlZ21lbnQ6bmV3IF8uYm8oOTgsNTIpfV19LHBhZDp7cG46U0ksTW46bmV3IF8uZ28oMjYsMjYpLG9mZnNldDpuZXcgXy5ibygzMSwzMiksCmdyaWQ6bmV3IF8uYm8oMCwyNiksaXRlbXM6W3tzZWdtZW50Om5ldyBfLmJvKDE0NywwKX1dfSx5VDp7cG46U0ksTW46bmV3IF8uZ28oMTgsMTgpLG9mZnNldDpuZXcgXy5ibygzMSwzMiksZ3JpZDpuZXcgXy5ibygwLDE5KSxpdGVtczpbe3NlZ21lbnQ6bmV3IF8uYm8oMTc4LDIpfV19LGhQOntwbjpTSSxNbjpuZXcgXy5nbygxMDcsMTM3KSxpdGVtczpbe3NlZ21lbnQ6bmV3IF8uYm8oOTgsMzY0KX1dfSxlUTp7cG46U0ksTW46bmV3IF8uZ28oMjEsMjYpLGdyaWQ6bmV3IF8uYm8oMCw1MiksaXRlbXM6W3tzZWdtZW50Om5ldyBfLmJvKDE0NywxNTYpfV19fTtfLkVFYT1jbGFzcyBleHRlbmRzIF8uQXF7Y29uc3RydWN0b3IoYT0hMSl7c3VwZXIoKTt0aGlzLk91PWE7dGhpcy5zaD1fLlN4KCk7dGhpcy5yaD1fLlNIKHRoaXMpfXFoKCl7dmFyIGE9dGhpcztyZXR1cm57a206ZnVuY3Rpb24oYixjKXtyZXR1cm4gYS5yaC5rbShiLGMpfSxJbjoxLENpOmEucmguQ2l9fWNoYW5nZWQoKXt0aGlzLnJoPV8uU0godGhpcyl9fTt2YXIgR0NhPS9tYXRyaXhcKC4qLCAoWzAtOS5dKyksICgtP1xkKykoPzpweCk/LCAoLT9cZCspKD86cHgpP1wpLzt2YXIgSUNhPW5ldyBNYXAoW1szNyx7a2V5VGV4dDoiXHUyMTkwIixhcmlhTGFiZWw6IkxlZnQgYXJyb3cifV0sWzM5LHtrZXlUZXh0OiJcdTIxOTIiLGFyaWFMYWJlbDoiUmlnaHQgYXJyb3cifV0sWzM4LHtrZXlUZXh0OiJcdTIxOTEiLGFyaWFMYWJlbDoiVXAgYXJyb3cifV0sWzQwLHtrZXlUZXh0OiJcdTIxOTMiLGFyaWFMYWJlbDoiRG93biBhcnJvdyJ9XSxbMzYse2tleVRleHQ6IkhvbWUifV0sWzM1LHtrZXlUZXh0OiJFbmQifV0sWzMzLHtrZXlUZXh0OiJQYWdlIFVwIn1dLFszNCx7a2V5VGV4dDoiUGFnZSBEb3duIn1dLFsxMDcse2tleVRleHQ6IisifV0sWzEwOSx7a2V5VGV4dDoiLSJ9XSxbMTYse2tleVRleHQ6IlNoaWZ0In1dXSk7dmFyIEZFYT0oMCxfLkdqKWAuTEdMZWVOLWtleWJvYXJkLXNob3J0Y3V0cy12aWV3e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uTEdMZWVOLWtleWJvYXJkLXNob3J0Y3V0cy12aWV3IHRhYmxlLC5MR0xlZU4ta2V5Ym9hcmQtc2hvcnRjdXRzLXZpZXcgdGJvZHksLkxHTGVlTi1rZXlib2FyZC1zaG9ydGN1dHMtdmlldyB0ZCwuTEdMZWVOLWtleWJvYXJkLXNob3J0Y3V0cy12aWV3IHRye2JhY2tncm91bmQ6aW5oZXJpdDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9LkxHTGVlTi1rZXlib2FyZC1zaG9ydGN1dHMtdmlldyB0YWJsZXtkaXNwbGF5OnRhYmxlfS5MR0xlZU4ta2V5Ym9hcmQtc2hvcnRjdXRzLXZpZXcgdHJ7ZGlzcGxheTp0YWJsZS1yb3d9LkxHTGVlTi1rZXlib2FyZC1zaG9ydGN1dHMtdmlldyB0ZHstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTp0YWJsZS1jZWxsO2NvbG9yOmxpZ2h0LWRhcmsoIzAwMCwjZmZmKTtwYWRkaW5nOjZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS5MR0xlZU4ta2V5Ym9hcmQtc2hvcnRjdXRzLXZpZXcgdGQ6Zmlyc3QtY2hpbGR7dGV4dC1hbGlnbjplbmR9LkxHTGVlTi1rZXlib2FyZC1zaG9ydGN1dHMtdmlldyB0ZCBrYmR7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKCNlOGVhZWQsIzNjNDA0Myk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMgVGV4dCxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjowIDJweDttaW4taGVpZ2h0OjIwcHg7bWluLXdpZHRoOjIwcHg7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfVxuYDtfLlVJPWNsYXNzIGV4dGVuZHMgXy5HdHtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLlV3PWEuVXc7dGhpcy5Mcz0hIWEuTHM7dGhpcy5Lcz0hIWEuS3M7dGhpcy5vd25lckVsZW1lbnQ9YS5vd25lckVsZW1lbnQ7dGhpcy5wRj0hIWEucEY7dGhpcy5Hdz1hLkd3O3RoaXMucWg9S0NhKHRoaXMsYS5VdykubWFwKGI9Pnt2YXIgYz1fLkhDYShiLmRlc2NyaXB0aW9uKTtiPV8uSkNhKC4uLmIuYm0pO3JldHVybntkZXNjcmlwdGlvbjpjLGJtOmJ9fSk7dGhpcy5wRnx8Xy5TdChGRWEsdGhpcy5vd25lckVsZW1lbnQpO18uVHEodGhpcy5lbGVtZW50LCJrZXlib2FyZC1zaG9ydGN1dHMtdmlldyIpO3RoaXMuR3cmJl8uZ0YoKTtMQ2EodGhpcyk7dGhpcy54aShhLF8uVUksIktleWJvYXJkU2hvcnRjdXRzVmlldyIpfX07dmFyIFNDYT1uZXcgU2V0KFsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsIndoZWVsIiwibW91c2V3aGVlbCJdKTtZSC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMucWguWm8oKX07WUgucHJvdG90eXBlLnRoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLnNoOyhkW2FdPWRbYV18fHt9KVtiXT1jfTtZSC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9WUgucHJvdG90eXBlLnRoO3ZhciBSQ2E9ImJsdXIgY2hhbmdlIGNsaWNrIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNldXAgdG91Y2hzdGFydCB0b3VjaGNhbmNlbCB0b3VjaG1vdmUgdG91Y2hlbmQgcG9pbnRlcmRvd24gcG9pbnRlcmxlYXZlIHBvaW50ZXJtb3ZlIHBvaW50ZXJ1cCIuc3BsaXQoIiAiKTt2YXIgVkNhO1ZDYT17fTsKXy5WST1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe2I9Ynx8e307dmFyIGM9Yi5kb2N1bWVudHx8ZG9jdW1lbnQsZD1iLmRpdnx8Yy5jcmVhdGVFbGVtZW50KCJkaXYiKTtjPVhDYShjKTthPW5ldyBhKGMpO2EuaW5zdGFudGlhdGUoZCk7Yi5DdCE9bnVsbCYmZC5zZXRBdHRyaWJ1dGUoImRpciIsYi5DdD8icnRsIjoibHRyIik7dGhpcy5kaXY9ZDt0aGlzLnJoPWE7dGhpcy5xaD1uZXcgWUg7YTp7Yj10aGlzLnFoLnFoO2ZvcihhPTA7YTxiLnFoLmxlbmd0aDthKyspaWYoZD09PWIucWhbYV0uZWxlbWVudClicmVhayBhO2Q9bmV3IHBFYShkKTtpZihiLnN0b3BQcm9wYWdhdGlvbilrRihiLGQpLGIucWgucHVzaChkKTtlbHNle2I6e2ZvcihhPTA7YTxiLnFoLmxlbmd0aDthKyspaWYoR3phKGIucWhbYV0uZWxlbWVudCxkLmVsZW1lbnQpKXthPSEwO2JyZWFrIGJ9YT0hMX1pZihhKWIucmgucHVzaChkKTtlbHNle2tGKGIsZCk7Yi5xaC5wdXNoKGQpO2Q9Wy4uLmIucmgsLi4uYi5xaF07YT1bXTsKYz1bXTtmb3IodmFyIGU9MDtlPGIucWgubGVuZ3RoOysrZSl7dmFyIGY9Yi5xaFtlXTtIemEoZixkKT8oYS5wdXNoKGYpLGYuWm8oKSk6Yy5wdXNoKGYpfWZvcihlPTA7ZTxiLnJoLmxlbmd0aDsrK2UpZj1iLnJoW2VdLEh6YShmLGQpP2EucHVzaChmKTooYy5wdXNoKGYpLGtGKGIsZikpO2IucWg9YztiLnJoPWF9fX19dXBkYXRlKGEsYil7VUNhKHRoaXMucmgsdGhpcy5kaXYsYSxifHxmdW5jdGlvbigpe30pfWFkZExpc3RlbmVyKGEsYixjKXt0aGlzLnFoLnRoKGEsYixjKX1kaXNwb3NlKCl7dGhpcy5xaC5kaXNwb3NlKCk7Xy55bCh0aGlzLmRpdil9fTtfLldJPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5xaD1hO3RoaXMuY2xpZW50PWJ8fCJhcGl2MyJ9Z2V0VXJsKGEsYixjKXtiPVsib3V0cHV0PSIrYSwiY2JfY2xpZW50PSIrdGhpcy5jbGllbnQsInY9NCIsImdsPSIrXy5KbC5yaCgpLnRoKCldLmNvbmNhdChifHxbXSk7cmV0dXJuIHRoaXMucWguZ2V0VXJsKGN8fDApK2Iuam9pbigiJiIpfWdldFRpbGVVcmwoYSxiLGMsZCl7dmFyIGU9MTw8ZDtiPShiJWUrZSklZTtlPShiKzIqYyklXy5XZyh0aGlzLnFoLDEpO3JldHVybiB0aGlzLmdldFVybChhLFsiem9vbT0iK2QsIng9IitiLCJ5PSIrY10sZSl9fTtfLm9JPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0wKXt0aGlzLnFoPWE7dGhpcy5tb2RlPWI7dGhpcy5oQT10aGlzLnRpY2s9MH1yZXNldCgpe3RoaXMudGljaz0wfW5leHQoKXsrK3RoaXMudGljaztyZXR1cm4odGhpcy5ldmFsKCktdGhpcy5oQSkvKDEtdGhpcy5oQSl9ZXh0ZW5kKGEpe3RoaXMudGljaz1NYXRoLmZsb29yKGEqdGhpcy50aWNrL3RoaXMucWgpO3RoaXMucWg9YTt0aGlzLnRpY2s+dGhpcy5xaC8zJiYodGhpcy50aWNrPU1hdGgucm91bmQodGhpcy5xaC8zKSk7dGhpcy5oQT10aGlzLmV2YWwoKX1ldmFsKCl7cmV0dXJuIHRoaXMubW9kZT09PTE/TWF0aC5zaW4oTWF0aC5QSSoodGhpcy50aWNrL3RoaXMucWgvMi0xKSkrMTooTWF0aC5zaW4oTWF0aC5QSSoodGhpcy50aWNrL3RoaXMucWgtLjUpKSsxKS8yfX07Xy5HRWE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9aHAoKXtyZXR1cm4gXy5tRSh0aGlzLDEpfWZwKCl7cmV0dXJuIF8ubUUodGhpcywyKX19O18uSEVhPVswLF8uYXosLTEsXy5DcixfLlpdO3ZhciBjRGEsZERhO18uSUVhPXtEUklWSU5HOjAsV0FMS0lORzoxLEJJQ1lDTElORzozLFRSQU5TSVQ6MixUV09fV0hFRUxFUjo0fTtjRGE9e0xFU1NfV0FMS0lORzoxLEZFV0VSX1RSQU5TRkVSUzoyfTtkRGE9e0JVUzoxLFJBSUw6MixTVUJXQVk6MyxUUkFJTjo0LFRSQU06NX07Xy5YST1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRIZWFkaW5nKCl7cmV0dXJuIF8uS2codGhpcyw2KX1zZXRIZWFkaW5nKGEpe3JldHVybiBfLmJoKHRoaXMsNixhKX19O18uSkVhPVswLF8uS0ksXy5VLF8uUCxbMCxfLld5LF8uUXpdLF8uVSxfLlAsXy5SLDkyLF8uWSxfLm5wYV07Xy5ZST1fLkxtKF8uS20oW2Z1bmN0aW9uKGEpe3JldHVybiBfLkttKFtfLmNyLF8uWG1dKShhKX0sXy5DbSh7cGxhY2VJZDpfLmJzLHF1ZXJ5Ol8uYnMsbG9jYXRpb246Xy5NbShfLlhtKX0pXSksZnVuY3Rpb24oYSl7aWYoXy5tbShhKSl7dmFyIGI9YS5zcGxpdCgiLCIpO2lmKGIubGVuZ3RoPT0yKXtsZXQgYz0rYlswXTtiPStiWzFdO2lmKE1hdGguYWJzKGMpPD05MCYmTWF0aC5hYnMoYik8PTE4MClyZXR1cm57bG9jYXRpb246bmV3IF8uVG0oYyxiKX19cmV0dXJue3F1ZXJ5OmF9fWlmKF8uV20oYSkpcmV0dXJue2xvY2F0aW9uOmF9O2lmKGEpe2lmKGEucGxhY2VJZCYmYS5xdWVyeSl0aHJvdyBfLkFtKCJjYW5ub3Qgc2V0IGJvdGggcGxhY2VJZCBhbmQgcXVlcnkiKTtpZihhLnF1ZXJ5JiZhLmxvY2F0aW9uKXRocm93IF8uQW0oImNhbm5vdCBzZXQgYm90aCBxdWVyeSBhbmQgbG9jYXRpb24iKTtpZihhLnBsYWNlSWQmJmEubG9jYXRpb24pdGhyb3cgXy5BbSgiY2Fubm90IHNldCBib3RoIHBsYWNlSWQgYW5kIGxvY2F0aW9uIik7CmlmKCFhLnBsYWNlSWQmJiFhLnF1ZXJ5JiYhYS5sb2NhdGlvbil0aHJvdyBfLkFtKCJtdXN0IHNldCBvbmUgb2YgbG9jYXRpb24sIHBsYWNlSWQgb3IgcXVlcnkiKTtyZXR1cm4gYX10aHJvdyBfLkFtKCJtdXN0IHNldCBvbmUgb2YgbG9jYXRpb24sIHBsYWNlSWQgb3IgcXVlcnkiKTt9KTt2YXIga0RhPSgwLF8uR2opYC5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTttYXgtd2lkdGg6MjY1cHg7b3ZlcmZsb3cteDpoaWRkZW59LmdtLXN0eWxlIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC10aXRsZSBzcGFue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC5nbS10aXRsZXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVufS5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgLmdtLWZ1bGwtd2lkdGh7d2lkdGg6MTgwcHh9LmdtLXN0eWxlIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC10aXRsZXtwYWRkaW5nLWJvdHRvbTo2cHh9LmdtLXN0eWxlIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC13aGVlbGNoYWlyLWljb257YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL2FwaS0zL2ltYWdlcy9tYXBjbnQ2LnBuZyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6NTlweCA0OTJweDtiYWNrZ3JvdW5kLXNpemU6NTlweCA0OTJweDtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXBvc2l0aW9uOi01cHggLTQ1MHB4O3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9QG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MS4yKSwoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuMjA4MzMzMzMzMzMzMzMzMyksKG1pbi1yZXNvbHV0aW9uOjEuMmRwcHgpLChtaW4tcmVzb2x1dGlvbjoxMTZkcGkpey5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgLnRyYW5zaXQtd2hlZWxjaGFpci1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vbWFwcy5nc3RhdGljLmNvbS9tYXBmaWxlcy9hcGktMy9pbWFnZXMvbWFwY250Nl9oZHBpLnBuZyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6NTlweCA0OTJweDtiYWNrZ3JvdW5kLXNpemU6NTlweCA0OTJweDtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXBvc2l0aW9uOi01cHggLTQ0OXB4O3dpZHRoOjEzcHg7aGVpZ2h0OjEzcHh9LmdtLXN0eWxlLmdtLWNoaW5hIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC13aGVlbGNoYWlyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cDovL21hcHMuZ3N0YXRpYy5jbi9tYXBmaWxlcy9hcGktMy9pbWFnZXMvbWFwY250Nl9oZHBpLnBuZyl9fS5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgZGl2e2JhY2tncm91bmQtY29sb3I6d2hpdGU7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjE1cHh9LmdtLXN0eWxlIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC1saW5lLWdyb3Vwe292ZXJmbG93OmhpZGRlbjttYXJnaW4tcmlnaHQ6LTZweH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC50cmFuc2l0LWxpbmUtZ3JvdXAtc2VwYXJhdG9ye2JvcmRlci10b3A6MXB4IHNvbGlkICNlNmU2ZTY7cGFkZGluZy10b3A6NXB4fS5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgLnRyYW5zaXQtbmxpbmVzLW1vcmUtbXNne2NvbG9yOiM5OTk7bWFyZ2luLXRvcDotM3B4O3BhZGRpbmctYm90dG9tOjZweH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC50cmFuc2l0LWxpbmUtZ3JvdXAtdmVoaWNsZS1pY29uc3tkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjEwcHg7dmVydGljYWwtYWxpZ246dG9wO21hcmdpbi10b3A6MXB4fS5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgLnRyYW5zaXQtbGluZS1ncm91cC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxMDBweDttYXgtd2lkdGg6MjI4cHg7bWFyZ2luLWJvdHRvbTotM3B4fS5nbS1zdHlsZSAudHJhbnNpdC1jb250YWluZXIgLnRyYW5zaXQtY2xlYXItbGluZXN7Y2xlYXI6Ym90aH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC50cmFuc2l0LWRpdi1saW5lLW5hbWV7ZmxvYXQ6bGVmdDtwYWRkaW5nOjAgNnB4IDZweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLmdtLXRyYW5zaXQtbG9uZ3t3aWR0aDoxMDdweH0uZ20tc3R5bGUgLnRyYW5zaXQtY29udGFpbmVyIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLmdtLXRyYW5zaXQtbWVkaXVte3dpZHRoOjUwcHh9LmdtLXN0eWxlIC50cmFuc2l0LWNvbnRhaW5lciAudHJhbnNpdC1kaXYtbGluZS1uYW1lIC5nbS10cmFuc2l0LXNob3J0e3dpZHRoOjM3cHh9LmdtLXN0eWxlIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LWljb257ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MnB4fS5nbS1zdHlsZSAudHJhbnNpdC1kaXYtbGluZS1uYW1lIC5yZW5kZXJhYmxlLWNvbXBvbmVudC1jb2xvci1ib3h7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9tYXBzLmdzdGF0aWMuY29tL21hcGZpbGVzL3RyYW5zcGFyZW50LnBuZyk7aGVpZ2h0OjEwcHg7d2lkdGg6NHB4O2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDozcHg7bWFyZ2luLXJpZ2h0OjNweDttYXJnaW4tbGVmdDoxcHh9LmdtLXN0eWxlLmdtLWNoaW5hIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LWNvbG9yLWJveHtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwOi8vbWFwcy5nc3RhdGljLmNuL21hcGZpbGVzL3RyYW5zcGFyZW50LnBuZyl9LmdtLXN0eWxlIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LXRleHQsLmdtLXN0eWxlIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LXRleHQtYm94e3RleHQtYWxpZ246bGVmdDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrfS5nbS1zdHlsZSAudHJhbnNpdC1kaXYtbGluZS1uYW1lIC5yZW5kZXJhYmxlLWNvbXBvbmVudC10ZXh0LWJveHtmb250LXNpemU6OHB0O2ZvbnQtd2VpZ2h0OjQwMDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjFweCAycHh9LmdtLXN0eWxlIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LXRleHQtYm94LXdoaXRle2JvcmRlcjoxcHggc29saWQgI2NjYztiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3BhZGRpbmc6MCAycHh9LmdtLXN0eWxlIC50cmFuc2l0LWRpdi1saW5lLW5hbWUgLnJlbmRlcmFibGUtY29tcG9uZW50LWJvbGR7Zm9udC13ZWlnaHQ6NDAwfXNlbnRpbmVse31cbmA7dmFyIGpEYT0oMCxfLkdqKWAucG9pLWluZm8td2luZG93IGEsLnBvaS1pbmZvLXdpbmRvdyBkaXZ7Y29sb3I6IzMzMztmb250LWZhbWlseTpSb2JvdG8sQXJpYWw7Zm9udC1zaXplOjEzcHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnBvaS1pbmZvLXdpbmRvd3tjdXJzb3I6ZGVmYXVsdH0ucG9pLWluZm8td2luZG93IGE6bGlua3t0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMWE3M2U4fS5wb2ktaW5mby13aW5kb3cgLnZpZXctbGluaywucG9pLWluZm8td2luZG93IGE6dmlzaXRlZHtjb2xvcjojMWE3M2U4fS5wb2ktaW5mby13aW5kb3cgLnZpZXctbGluazpob3ZlciwucG9pLWluZm8td2luZG93IGE6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucG9pLWluZm8td2luZG93IC5mdWxsLXdpZHRoe3dpZHRoOjE4MHB4fS5wb2ktaW5mby13aW5kb3cgLnRpdGxle292ZXJmbG93OmhpZGRlbjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHh9LnBvaS1pbmZvLXdpbmRvdyAuYWRkcmVzc3ttYXJnaW4tdG9wOjJweDtjb2xvcjojNTU1fXNlbnRpbmVse31cbmA7dmFyIGlEYT0oMCxfLkdqKWAuZ20tc3R5bGUgLmdtLXN0eWxlLWl3e2ZvbnQtd2VpZ2h0OjMwMDtmb250LXNpemU6MTNweDtvdmVyZmxvdzpoaWRkZW59LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1he3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjk5OTlweDtoZWlnaHQ6MH0uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LXR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LXRjey13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgNHB4IDJweCByZ2JhKDE3OCwxNzgsMTc4LC40KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgNHB4IDJweCByZ2JhKDE3OCwxNzgsMTc4LC40KSk7aGVpZ2h0OjEycHg7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOjI1cHh9LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy10YzphZnRlcntiYWNrZ3JvdW5kOiNmZmY7LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbigwIDAsNTAlIDEwMCUsMTAwJSAwKTtjbGlwLXBhdGg6cG9seWdvbigwIDAsNTAlIDEwMCUsMTAwJSAwKTtjb250ZW50OiIiO2hlaWdodDoxMnB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTFweDt3aWR0aDoyNXB4fS5nbS1zdHlsZSAuZ20tc3R5bGUtaXctY3twb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RvcDowO2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLC0xMDAlLDApO2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDJweCA3cHggMXB4IHJnYmEoMCwwLDAsLjMpO2JveC1zaGFkb3c6MCAycHggN3B4IDFweCByZ2JhKDAsMCwwLC4zKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jLmdtLXN0eWxlLWl3LXBvaXtwYWRkaW5nOjB9LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1key13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzphdXRvfS5nbS1zdHlsZSAuZ20tc3R5bGUtaXctZDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MThweDtoZWlnaHQ6MTJweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLC5nbS1zdHlsZSAuZ20tc3R5bGUtaXctZDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2V7YmFja2dyb3VuZDojZmZmfS5nbS1zdHlsZSAuZ20tc3R5bGUtaXctYyAuZ20tc3R5bGUtaXctZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Ym9yZGVyOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjlweDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3h9LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jIC5nbS1zdHlsZS1pdy1kOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Jpem9udGFse2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnR9LmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jIC5nbS1zdHlsZS1pdy1kOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpfS5nbS1zdHlsZSAuZ20tc3R5bGUtaXctYyAuZ20tc3R5bGUtaXctZDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmdtLXN0eWxlIC5nbS1pd3tjb2xvcjojMmMyYzJjfS5nbS1zdHlsZSAuZ20taXcgYntmb250LXdlaWdodDo0MDB9LmdtLXN0eWxlIC5nbS1pdyBhOmxpbmssLmdtLXN0eWxlIC5nbS1pdyBhOnZpc2l0ZWR7Y29sb3I6IzQyNzJkYjt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ20tc3R5bGUgLmdtLWl3IGE6aG92ZXJ7Y29sb3I6IzQyNzJkYjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5nbS1zdHlsZSAuZ20taXcgLmdtLXRpdGxle2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOjFweH0uZ20tc3R5bGUgLmdtLWl3IC5nbS1iYXNpY2luZm97bGluZS1oZWlnaHQ6MThweDtwYWRkaW5nLWJvdHRvbToxMnB4fS5nbS1zdHlsZSAuZ20taXcgLmdtLXdlYnNpdGV7cGFkZGluZy10b3A6NnB4fS5nbS1zdHlsZSAuZ20taXcgLmdtLXBob3Rvc3twYWRkaW5nLWJvdHRvbTo4cHg7LW1zLXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0uZ20tc3R5bGUgLmdtLWl3IC5nbS1waCwuZ20tc3R5bGUgLmdtLWl3IC5nbS1zdntjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NTBweDt3aWR0aDoxMDBweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmdtLXN0eWxlIC5nbS1pdyAuZ20tc3Z7cGFkZGluZy1yaWdodDo0cHh9LmdtLXN0eWxlIC5nbS1pdyAuZ20td3N2e2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uZ20tc3R5bGUgLmdtLWl3IC5nbS1waC1sYWJlbCwuZ20tc3R5bGUgLmdtLWl3IC5nbS1zdi1sYWJlbHtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NnB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NDAwO3RleHQtc2hhZG93OnJnYmEoMCwwLDAsLjcpIDAgMXB4IDRweDtmb250LXNpemU6MTJweH0uZ20tc3R5bGUgLmdtLWl3IC5nbS1zdGFycy1iLC5nbS1zdHlsZSAuZ20taXcgLmdtLXN0YXJzLWZ7aGVpZ2h0OjEzcHg7Zm9udC1zaXplOjB9LmdtLXN0eWxlIC5nbS1pdyAuZ20tc3RhcnMtYntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDt3aWR0aDo2NXB4O3RvcDozcHg7bWFyZ2luOjAgNXB4fS5nbS1zdHlsZSAuZ20taXcgLmdtLXJldntsaW5lLWhlaWdodDoyMHB4Oy1tcy11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9LmdtLXN0eWxlIC5nbS1pdyAuZ20tbnVtZXJpYy1yZXZ7Zm9udC1zaXplOjE2cHg7Y29sb3I6I2RkNGIzOTtmb250LXdlaWdodDo0MDB9LmdtLXN0eWxlIC5nbS1pdy5nbS10cmFuc2l0e21hcmdpbi1sZWZ0OjE1cHh9LmdtLXN0eWxlIC5nbS1pdy5nbS10cmFuc2l0IHRke3ZlcnRpY2FsLWFsaWduOnRvcH0uZ20tc3R5bGUgLmdtLWl3LmdtLXRyYW5zaXQgLmdtLXRpbWV7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiM2NzY3Njc7Zm9udC13ZWlnaHQ6NzAwfS5nbS1zdHlsZSAuZ20taXcuZ20tdHJhbnNpdCBpbWd7d2lkdGg6MTVweDtoZWlnaHQ6MTVweDttYXJnaW46MXB4IDVweCAwIC0yMHB4O2Zsb2F0OmxlZnR9LmdtLXN0eWxlLWl3LWNocntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzp2aXNpYmxlfS5nbS1zdHlsZS1pdy1jaHstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTstd2Via2l0LWZsZXgtc2hyaW5rOjE7ZmxleC1zaHJpbms6MTtwYWRkaW5nLXRvcDoxN3B4O292ZXJmbG93OmhpZGRlbn1zZW50aW5lbHt9XG5gO2VJLkdIPV8uREI7Xy5aST1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uZ0kucHJvdG90eXBlLnJoPTA7Xy5nSS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLnFoPXRoaXMuc2g9dGhpcy50aDt0aGlzLnJoPTB9O18uZ0kucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2h9O18uS0VhPXtzdHJva2VDb2xvcjoiIzAwMDAwMCIsc3Ryb2tlT3BhY2l0eToxLHN0cm9rZVdlaWdodDozLGNsaWNrYWJsZTohMH07Xy5MRWE9e3N0cm9rZUNvbG9yOiIjMDAwMDAwIixzdHJva2VPcGFjaXR5OjEsc3Ryb2tlV2VpZ2h0OjMsc3Ryb2tlUG9zaXRpb246MCxmaWxsQ29sb3I6IiMwMDAwMDAiLGZpbGxPcGFjaXR5Oi4zLGNsaWNrYWJsZTohMH07dmFyIGpJPWNsYXNze2NvbnN0cnVjdG9yKGE9MCxiPTAsYz0wLGQ9MSl7dGhpcy5yZWQ9YTt0aGlzLmdyZWVuPWI7dGhpcy5ibHVlPWM7dGhpcy5hbHBoYT1kfWVxdWFscyhhKXtyZXR1cm4gdGhpcy5yZWQ9PT1hLnJlZCYmdGhpcy5ncmVlbj09PWEuZ3JlZW4mJnRoaXMuYmx1ZT09PWEuYmx1ZSYmdGhpcy5hbHBoYT09PWEuYWxwaGF9fTt2YXIgaUk9bmV3IE1hcCxyRGE9e3RyYW5zcGFyZW50Om5ldyBqSSgwLDAsMCwwKSxibGFjazpuZXcgakkoMCwwLDApLHNpbHZlcjpuZXcgakkoMTkyLDE5MiwxOTIpLGdyYXk6bmV3IGpJKDEyOCwxMjgsMTI4KSx3aGl0ZTpuZXcgakkoMjU1LDI1NSwyNTUpLG1hcm9vbjpuZXcgakkoMTI4LDAsMCkscmVkOm5ldyBqSSgyNTUsMCwwKSxwdXJwbGU6bmV3IGpJKDEyOCwwLDEyOCksZnVjaHNpYTpuZXcgakkoMjU1LDAsMjU1KSxncmVlbjpuZXcgakkoMCwxMjgsMCksbGltZTpuZXcgakkoMCwyNTUsMCksb2xpdmU6bmV3IGpJKDEyOCwxMjgsMCkseWVsbG93Om5ldyBqSSgyNTUsMjU1LDApLG5hdnk6bmV3IGpJKDAsMCwxMjgpLGJsdWU6bmV3IGpJKDAsMCwyNTUpLHRlYWw6bmV3IGpJKDAsMTI4LDEyOCksYXF1YTpuZXcgakkoMCwyNTUsMjU1KX0sa0k9e1BNOi9eIyhbXGRhLWZdKShbXGRhLWZdKShbXGRhLWZdKShbXGRhLWZdKT8kLyx3TTovXiMoW1xkYS1mXXsyfSkoW1xkYS1mXXsyfSkoW1xkYS1mXXsyfSkoW1xkYS1mXXsyfSk/JC8sCnNQOlJlZ0V4cCgiXnJnYlxcKFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqLFxccyooXFxkKylcXHMqXFwpJCIpLHVQOlJlZ0V4cCgiXnJnYmFcXChcXHMqKFxcZCspXFxzKixcXHMqKFxcZCspXFxzKixcXHMqKFxcZCspXFxzKixcXHMqKFxcZCsoPzpcXC5cXGQrKT8pXFxzKlxcKSQiKSx0UDpSZWdFeHAoIl5yZ2JcXChcXHMqKFxcZCsoPzpcXC5cXGQrKT8pJVxccyosXFxzKihcXGQrKD86XFwuXFxkKyk/KSVcXHMqLFxccyooXFxkKyg/OlxcLlxcZCspPyklXFxzKlxcKSQiKSx2UDpSZWdFeHAoIl5yZ2JhXFwoXFxzKihcXGQrKD86XFwuXFxkKyk/KSVcXHMqLFxccyooXFxkKyg/OlxcLlxcZCspPyklXFxzKixcXHMqKFxcZCsoPzpcXC5cXGQrKT8pJVxccyosXFxzKihcXGQrKD86XFwuXFxkKyk/KVxccypcXCkkIil9O3ZhciBNRWE9KDAsXy5HailgLmV4Q1ZSTi1zaXplLW9ic2VydmVyLXZpZXd7Ym90dG9tOjA7bGVmdDowO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3otaW5kZXg6LTF9LmV4Q1ZSTi1zaXplLW9ic2VydmVyLXZpZXcgaWZyYW1le2JvcmRlcjowO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfVxuYDtfLiRJPWNsYXNzIGV4dGVuZHMgXy5HdHtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTtfLlN0KE1FYSx0aGlzLmVsZW1lbnQpO18uVHEodGhpcy5lbGVtZW50LCJzaXplLW9ic2VydmVyLXZpZXciKTt0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTt2YXIgYj0wLGM9MCxkPSgpPT57dmFyIGY9dGhpcy5lbGVtZW50LmNsaWVudFdpZHRoLGc9dGhpcy5lbGVtZW50LmNsaWVudEhlaWdodDtpZihiIT09Znx8YyE9PWcpYj1mLGM9ZyxfLnduKHRoaXMsInNpemVjaGFuZ2UiLHt3aWR0aDpmLGhlaWdodDpnfSl9LGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2QoKTtlLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixkKX0pO2Uuc3JjPSJhYm91dDpibGFuayI7ZS50YWJJbmRleD0tMTt0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZSk7dGhpcy54aShhLF8uJEksCiJTaXplT2JzZXJ2ZXJWaWV3Iil9fTtfLmFKPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5ib3VuZHM9YTt0aGlzLmRlcHRoPWJ8fDB9cmVtb3ZlKGEpe2lmKHRoaXMuY2hpbGRyZW4pZm9yKGxldCBiPTA7Yjw0OysrYil7bGV0IGM9dGhpcy5jaGlsZHJlbltiXTtpZihjLmJvdW5kcy5jb250YWluc0JvdW5kcyhhKSl7Yy5yZW1vdmUoYSk7cmV0dXJufX1fLm9tKHRoaXMuaXRlbXMsYSl9c2VhcmNoKGEsYil7Yj1ifHxbXTtfLm5JKHRoaXMsYz0+e2IucHVzaChjKX0sYz0+Xy5BbyhhLGMpKTtyZXR1cm4gYn1zcGxpdCgpe3ZhciBhPXRoaXMuYm91bmRzLGI9dGhpcy5jaGlsZHJlbj1bXSxjPVthLm1pblgsKGEubWluWCthLm1heFgpLzIsYS5tYXhYXTthPVthLm1pblksKGEubWluWSthLm1heFkpLzIsYS5tYXhZXTt2YXIgZD10aGlzLmRlcHRoKzE7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aC0xOysrZSlmb3IobGV0IGY9MDtmPGEubGVuZ3RoLTE7KytmKXtsZXQgZz1uZXcgXy55byhbbmV3IF8uYm8oY1tlXSxhW2ZdKSxuZXcgXy5ibyhjW2UrCjFdLGFbZisxXSldKTtiLnB1c2gobmV3IF8uYUooZyxkKSl9Yj10aGlzLml0ZW1zO2RlbGV0ZSB0aGlzLml0ZW1zO2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmOysrZSlfLm1JKHRoaXMsYltlXSl9fTt2YXIgTkVhO18uT0VhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29udGV4dD1hO3RoaXMucWg9bmV3IE5FYShhKX10aShhLGIsYyxkLGUpe2lmKGUpe3ZhciBmPXRoaXMuY29udGV4dDtmLnNhdmUoKTtmLnRyYW5zbGF0ZShiLGMpO2Yuc2NhbGUoZSxlKTtmLnJvdGF0ZShkKTtmb3IobGV0IGc9MCxoPWEubGVuZ3RoO2c8aDsrK2cpYVtnXS5hY2NlcHQodGhpcy5xaCk7Zi5yZXN0b3JlKCl9fX07Ck5FYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmNvbnRleHQ9YX15SyhhKXt0aGlzLmNvbnRleHQubW92ZVRvKGEueCxhLnkpfXRLKCl7dGhpcy5jb250ZXh0LmNsb3NlUGF0aCgpfXhLKGEpe3RoaXMuY29udGV4dC5saW5lVG8oYS54LGEueSl9dUsoYSl7dGhpcy5jb250ZXh0LmJlemllckN1cnZlVG8oYS5xaCxhLnJoLGEuc2gsYS50aCxhLngsYS55KX1BSyhhKXt0aGlzLmNvbnRleHQucXVhZHJhdGljQ3VydmVUbyhhLnFoLGEucmgsYS54LGEueSl9dksoYSl7dmFyIGI9YS5zaDwwLGM9YS5yaC9hLnFoLGQ9dERhKGEudGgsYyksZT10RGEoYS50aCthLnNoLGMpLGY9dGhpcy5jb250ZXh0O2Yuc2F2ZSgpO2YudHJhbnNsYXRlKGEueCxhLnkpO2Yucm90YXRlKGEucm90YXRpb24pO2Yuc2NhbGUoYywxKTtmLmFyYygwLDAsYS5xaCxkLGUsYik7Zi5yZXN0b3JlKCl9fTt2YXIgY0o7Cl8uYko9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5yaD10aGlzLndtPW51bGw7dGhpcy5lbmFibGVkPSExO3RoaXMuc2g9MDt0aGlzLnRoPXRoaXMud2g9bnVsbDt0aGlzLnloPWE7dGhpcy5xaD1fLkVzO3RoaXMueGg9Xy5wb316aCgpe2lmKCF0aGlzLndtfHx0aGlzLnFoLmNvbnRhaW5zQm91bmRzKHRoaXMud20pKXhEYSh0aGlzKTtlbHNle3ZhciBhPTAsYj0wO3RoaXMud20ubWF4WD49dGhpcy5xaC5tYXhYJiYoYT0xKTt0aGlzLndtLm1pblg8PXRoaXMucWgubWluWCYmKGE9LTEpO3RoaXMud20ubWF4WT49dGhpcy5xaC5tYXhZJiYoYj0xKTt0aGlzLndtLm1pblk8PXRoaXMucWgubWluWSYmKGI9LTEpO3ZhciBjPTE7Xy5aSCh0aGlzLndoKSYmKGM9dGhpcy53aC5uZXh0KCkpO3RoaXMudGg/KGE9TWF0aC5yb3VuZCg2KmEpLGI9TWF0aC5yb3VuZCg2KmIpKTooYT1NYXRoLnJvdW5kKHRoaXMueGgueCpjKmEpLGI9TWF0aC5yb3VuZCh0aGlzLnhoLnkqYypiKSk7dGhpcy5zaD1fLkxFKHRoaXMsCnRoaXMuemgscUkpO3RoaXMueWgoYSxiKX19cmVsZWFzZSgpe3hEYSh0aGlzKX19O18uU3A/Y0o9MUUzLyhfLlNwLnFoLnR5cGU9PT0xPzIwOjUwKTpjSj0wO3ZhciBxST1jSix1RGE9MUUzL3FJO18uUEVhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGI9ITEsYyl7c3VwZXIoKTt0aGlzLnNpemVfY2hhbmdlZD10aGlzLnBvc2l0aW9uX2NoYW5nZWQ7dGhpcy5wYW5uaW5nRW5hYmxlZF9jaGFuZ2VkPXRoaXMuZHJhZ2dpbmdfY2hhbmdlZDt0aGlzLnNoPWJ8fCExO3RoaXMucWg9bmV3IF8uYkooKGYsZyk9Pnt0aGlzLnFoJiZfLnduKHRoaXMsInBhbmJ5bm93IixmLGcpfSk7dGhpcy5yaD1bXy5zbih0aGlzLCJtb3Zlc3RhcnQiLHRoaXMsdGhpcy5rbiksXy5zbih0aGlzLCJtb3ZlIix0aGlzLHRoaXMuam4pLF8uc24odGhpcywibW92ZWVuZCIsdGhpcyx0aGlzLkpuKSxfLnNuKHRoaXMsInBhbmJ5bm93Iix0aGlzLHRoaXMudGgpXTt0aGlzLmN1cnNvcj1uZXcgXy56QihhLG5ldyBfLnNCKHRoaXMsImRyYWdnaW5nQ3Vyc29yIiksbmV3IF8uc0IodGhpcywiZHJhZ2dhYmxlQ3Vyc29yIikpO3ZhciBkPW51bGwsZT0hMTt0aGlzLnpqPV8ucXgoYSx7R3M6e2tuOihmLGcpPT4Ke18uU3lhKGcpO18uSnkodGhpcy5jdXJzb3IsITApO2Q9ZjtlfHwoZT0hMCxfLnduKHRoaXMsIm1vdmVzdGFydCIsZy5xaCkpfSxqbjooZixnKT0+e2QmJihfLnduKHRoaXMsIm1vdmUiLHtjbGllbnRYOmYuRWouY2xpZW50WC1kLkVqLmNsaWVudFgsY2xpZW50WTpmLkVqLmNsaWVudFktZC5Fai5jbGllbnRZfSxnLnFoKSxkPWYpfSxKbjooZixnKT0+e2U9ITE7Xy5KeSh0aGlzLmN1cnNvciwhMSk7ZD1udWxsO18ud24odGhpcywibW92ZWVuZCIsZy5xaCl9fX0sYyl9Y29udGFpbmVyUGl4ZWxCb3VuZHNfY2hhbmdlZCgpe3RoaXMucWgmJl8uckkodGhpcy5xaCx0aGlzLmdldCgiY29udGFpbmVyUGl4ZWxCb3VuZHMiKSl9cG9zaXRpb25fY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJwb3NpdGlvbiIpO2lmKGEpe3ZhciBiPXRoaXMuZ2V0KCJzaXplIil8fF8ucW8sYz10aGlzLmdldCgiYW5jaG9yUG9pbnQiKXx8Xy5wbzt6RGEodGhpcyxfLnlEYShhLGIsYykpfWVsc2UgekRhKHRoaXMsCm51bGwpfWRyYWdnaW5nX2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgicGFubmluZ0VuYWJsZWQiKSxiPXRoaXMuZ2V0KCJkcmFnZ2luZyIpO3RoaXMucWgmJl8uc0kodGhpcy5xaCxhIT09ITEmJmIpfWtuKGEpe3RoaXMuc2V0KCJkcmFnZ2luZyIsITApO18ud24odGhpcywiZHJhZ3N0YXJ0IixhKX1qbihhLGIpe2lmKHRoaXMuc2gpdGhpcy5zZXQoImRlbHRhQ2xpZW50UG9zaXRpb24iLGEpO2Vsc2V7bGV0IGM9dGhpcy5nZXQoInBvc2l0aW9uIik7dGhpcy5zZXQoInBvc2l0aW9uIixuZXcgXy5ibyhjLngrYS5jbGllbnRYLGMueSthLmNsaWVudFkpKX1fLnduKHRoaXMsImRyYWciLGIpfUpuKGEpe3RoaXMuc2gmJnRoaXMuc2V0KCJkZWx0YUNsaWVudFBvc2l0aW9uIix7Y2xpZW50WDowLGNsaWVudFk6MH0pO3RoaXMuc2V0KCJkcmFnZ2luZyIsITEpO18ud24odGhpcywiZHJhZ2VuZCIsYSl9dGgoYSxiKXtpZighdGhpcy5zaCl7bGV0IGM9dGhpcy5nZXQoInBvc2l0aW9uIik7Yy54Kz0KYTtjLnkrPWI7dGhpcy5zZXQoInBvc2l0aW9uIixjKX19cmVsZWFzZSgpe3RoaXMucWgucmVsZWFzZSgpO3RoaXMucWg9bnVsbDtpZih0aGlzLnJoLmxlbmd0aD4wKXtmb3IobGV0IGI9MCxjPXRoaXMucmgubGVuZ3RoO2I8YztiKyspXy5tbih0aGlzLnJoW2JdKTt0aGlzLnJoPVtdfXRoaXMuemoucmVtb3ZlKCk7dmFyIGE9dGhpcy5jdXJzb3I7YS5zaC5yZW1vdmVMaXN0ZW5lcihhLnFoKTthLnJoLnJlbW92ZUxpc3RlbmVyKGEucWgpO2EuTnEmJmEuTnEucmVtb3ZlTGlzdGVuZXIoYS5xaCl9fTtfLmRKPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZT1udWxsLGY9MCxnPW51bGwpe3RoaXMuUWs9YTt0aGlzLnZpZXc9Yjt0aGlzLnBvc2l0aW9uPWM7dGhpcy5SaD1kO3RoaXMuc2g9ZTt0aGlzLmFsdGl0dWRlPWY7dGhpcy5JQT1nO3RoaXMuc2NhbGU9dGhpcy5vcmlnaW49dGhpcy5jZW50ZXI9dGhpcy5yaD10aGlzLnFoPW51bGw7dGhpcy50aD0wfWdldFBvc2l0aW9uKGEpe3JldHVybihhPWF8fHRoaXMucWgpPyhhPXRoaXMuUmguRG4oYSksdGhpcy5Ray53cmFwKGEpKTp0aGlzLnBvc2l0aW9ufWdwKGEpe3JldHVybihhPWF8fHRoaXMucG9zaXRpb24pJiZ0aGlzLmNlbnRlcj90aGlzLlJoLkVGKF8ud3YodGhpcy5RayxhLHRoaXMuY2VudGVyKSk6dGhpcy5xaH1zZXRQb3NpdGlvbihhLGI9MCl7YSYmYS5lcXVhbHModGhpcy5wb3NpdGlvbikmJnRoaXMuYWx0aXR1ZGU9PT1ifHwodGhpcy5xaD1udWxsLHRoaXMucG9zaXRpb249YSx0aGlzLmFsdGl0dWRlPWIsdGhpcy5SaC5yZWZyZXNoKCkpfXRpKGEsCmIsYyxkLGUsZixnKXt2YXIgaD10aGlzLm9yaWdpbixrPXRoaXMuc2NhbGU7dGhpcy5jZW50ZXI9Zjt0aGlzLm9yaWdpbj1iO3RoaXMuc2NhbGU9YzthPXRoaXMucG9zaXRpb247dGhpcy5xaCYmKGE9dGhpcy5nZXRQb3NpdGlvbigpKTtpZihhKXt2YXIgbT1fLnd2KHRoaXMuUWssYSxmKTthPXRoaXMuSUE/dGhpcy5JQSh0aGlzLmFsdGl0dWRlLGUsXy56dihjKSk6MDttLmVxdWFscyh0aGlzLnJoKSYmYi5lcXVhbHMoaCkmJmMuZXF1YWxzKGspJiZhPT09dGhpcy50aHx8KHRoaXMucmg9bSx0aGlzLnRoPWEsYy5xaD8oaD1jLnFoLGs9aC5CbyhtLGYsXy56dihjKSxlLGQsZyksYj1oLkJvKGIsZixfLnp2KGMpLGUsZCxnKSxiPXtYaDprWzBdLWJbMF0sWWg6a1sxXS1iWzFdfSk6Yj1fLnl2KGMsXy51dihtLGIpKSxiPV8ueHYoe1hoOmIuWGgsWWg6Yi5ZaC1hfSksTWF0aC5hYnMoYi5YaCk8MUU1JiZNYXRoLmFicyhiLlloKTwxRTU/dGhpcy52aWV3LnRxKGIsYyxnKTp0aGlzLnZpZXcudHEobnVsbCwKYykpfWVsc2UgdGhpcy5yaD1udWxsLHRoaXMudmlldy50cShudWxsLGMpO3RoaXMuc2gmJnRoaXMuc2goKX1kaXNwb3NlKCl7dGhpcy52aWV3LmR2KCl9fTtfLmVKPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkNpPW51bGw7dGhpcy50aWxlcz1hO18ucXYoYyxkPT57ZCYmZC5DaSE9PXRoaXMuQ2kmJih0aGlzLkNpPWQuQ2kpfSk7dGhpcy5Raz1ifX07dmFyIEREYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmluZGV4PTA7dGhpcy50b2tlbj1udWxsO3RoaXMucWg9MDt0aGlzLm51bWJlcj10aGlzLmNvbW1hbmQ9bnVsbDt0aGlzLnBhdGg9YXx8IiJ9bmV4dCgpe2Zvcih2YXIgYSxiPTAsYz1mPT57dGhpcy50b2tlbj1mO3RoaXMucWg9YTt2YXIgZz10aGlzLnBhdGguc3Vic3RyaW5nKGEsdGhpcy5pbmRleCk7Zj09PTE/dGhpcy5jb21tYW5kPWc6Zj09PTImJih0aGlzLm51bWJlcj1OdW1iZXIoZykpfSxkLGU9KCk9Pnt0aHJvdyBFcnJvcihgVW5leHBlY3RlZCAke2R8fCI8ZW5kPiJ9IGF0IHBvc2l0aW9uICR7dGhpcy5pbmRleH1gKTt9Ozspe2Q9dGhpcy5pbmRleD49dGhpcy5wYXRoLmxlbmd0aD9udWxsOnRoaXMucGF0aC5jaGFyQXQodGhpcy5pbmRleCk7c3dpdGNoKGIpe2Nhc2UgMDphPXRoaXMuaW5kZXg7aWYoZCYmIk1tWnpMbEhoVnZDY1NzUXFUdEFhIi5pbmRleE9mKGQpPj0wKWI9MTtlbHNlIGlmKGQ9PT0iKyJ8fGQ9PT0iLSIpYj0KMjtlbHNlIGlmKHhJKGQpKWI9NDtlbHNlIGlmKGQ9PT0iLiIpYj0zO2Vsc2V7aWYoZD09bnVsbCl7YygwKTtyZXR1cm59IiwgXHRcclxuIi5pbmRleE9mKGQpPDAmJmUoKX1icmVhaztjYXNlIDE6YygxKTtyZXR1cm47Y2FzZSAyOmQ9PT0iLiI/Yj0zOnhJKGQpP2I9NDplKCk7YnJlYWs7Y2FzZSAzOnhJKGQpP2I9NTplKCk7YnJlYWs7Y2FzZSA0OmlmKGQ9PT0iLiIpYj01O2Vsc2UgaWYoZD09PSJFInx8ZD09PSJlIiliPTY7ZWxzZSBpZigheEkoZCkpe2MoMik7cmV0dXJufWJyZWFrO2Nhc2UgNTppZihkPT09IkUifHxkPT09ImUiKWI9NjtlbHNlIGlmKCF4SShkKSl7YygyKTtyZXR1cm59YnJlYWs7Y2FzZSA2OnhJKGQpP2I9ODpkPT09IisifHxkPT09Ii0iP2I9NzplKCk7YnJlYWs7Y2FzZSA3OnhJKGQpP2I9ODplKCk7Y2FzZSA4OmlmKCF4SShkKSl7YygyKTtyZXR1cm59fSsrdGhpcy5pbmRleH19fTt2YXIgQkRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD1uZXcgUUVhO3RoaXMuY2FjaGU9e319fTt2YXIgS0RhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuYm91bmRzPWF9eUsoYSl7eUkodGhpcyxhLngsYS55KX10Sygpe314SyhhKXt5SSh0aGlzLGEueCxhLnkpfXVLKGEpe3lJKHRoaXMsYS5xaCxhLnJoKTt5SSh0aGlzLGEuc2gsYS50aCk7eUkodGhpcyxhLngsYS55KX1BSyhhKXt5SSh0aGlzLGEucWgsYS5yaCk7eUkodGhpcyxhLngsYS55KX12SyhhKXt2YXIgYj1NYXRoLm1heChhLnJoLGEucWgpO3RoaXMuYm91bmRzLmV4dGVuZEJ5Qm91bmRzKF8uem8oYS54LWIsYS55LWIsYS54K2IsYS55K2IpKX19O3ZhciBDRGE9e1swXToiTSAtMSwwIEEgMSwxIDAgMCAwIDEsMCAxLDEgMCAwIDAgLTEsMCB6IixbMV06Ik0gMCwwIC0xLjksNC41IDAsMy40IDEuOSw0LjUgeiIsWzJdOiJNIC0yLjEsNC41IDAsMCAyLjEsNC41IixbM106Ik0gMCwwIC0xLjksLTQuNSAwLC0zLjQgMS45LC00LjUgeiIsWzRdOiJNIC0yLjEsLTQuNSAwLDAgMi4xLC00LjUifTt2YXIgRURhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy54PWE7dGhpcy55PWJ9YWNjZXB0KGEpe2EueUsodGhpcyl9fSxGRGE9Y2xhc3N7YWNjZXB0KGEpe2EudEsoKX19LHpJPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy54PWE7dGhpcy55PWJ9YWNjZXB0KGEpe2EueEsodGhpcyl9fSxHRGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3RoaXMucWg9YTt0aGlzLnJoPWI7dGhpcy5zaD1jO3RoaXMudGg9ZDt0aGlzLng9ZTt0aGlzLnk9Zn1hY2NlcHQoYSl7YS51Syh0aGlzKX19LEhEYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLnFoPWE7dGhpcy5yaD1iO3RoaXMueD1jO3RoaXMueT1kfWFjY2VwdChhKXthLkFLKHRoaXMpfX0sSkRhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmLGcpe3RoaXMueD1hO3RoaXMueT1iO3RoaXMucmg9Yzt0aGlzLnFoPWQ7dGhpcy5yb3RhdGlvbj1lO3RoaXMudGg9Zjt0aGlzLnNoPWd9YWNjZXB0KGEpe2EudksodGhpcyl9fTt2YXIgUUVhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5pbnN0cnVjdGlvbnM9W107dGhpcy5xaD1uZXcgXy5ibygwLDApO3RoaXMuc2g9dGhpcy5yaD10aGlzLnRoPW51bGx9fTt2YXIgTURhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5kYXRhc2V0SWQ9YTt0aGlzLmZlYXR1cmVUeXBlPSJEQVRBU0VUIjt0aGlzLmRhdGFzZXRBdHRyaWJ1dGVzPU9iamVjdC5mcmVlemUoYik7T2JqZWN0LmZyZWV6ZSh0aGlzKX19O3ZhciBORGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMucWg9YTt0aGlzLnJoPWI7dGhpcy5tYXA9Yzt0aGlzLnBsYWNlPW51bGx9Z2V0IGZlYXR1cmVUeXBlKCl7cmV0dXJuIHRoaXMucWh9c2V0IGZlYXR1cmVUeXBlKGEpe3Rocm93IG5ldyBUeXBlRXJyb3IoJ2dvb2dsZS5tYXBzLlBsYWNlRmVhdHVyZSAiZmVhdHVyZVR5cGUiIGlzIHJlYWQtb25seS4nKTt9Z2V0IHBsYWNlSWQoKXtfLk0od2luZG93LDE1ODc4NSk7cmV0dXJuIHRoaXMucmh9c2V0IHBsYWNlSWQoYSl7dGhyb3cgbmV3IFR5cGVFcnJvcignZ29vZ2xlLm1hcHMuUGxhY2VGZWF0dXJlICJwbGFjZUlkIiBpcyByZWFkLW9ubHkuJyk7fWFzeW5jIGZldGNoUGxhY2UoKXthd2FpdCBfLk0odGhpcy5tYXAsMTc2MzY3KTt2YXIgYT1fLm5wKHRoaXMubWFwLHtmZWF0dXJlVHlwZTp0aGlzLnFofSk7aWYoIWEuaXNBdmFpbGFibGUpcmV0dXJuIF8ub3AodGhpcy5tYXAsImdvb2dsZS5tYXBzLlBsYWNlRmVhdHVyZS5mZXRjaFBsYWNlIiwKYSksbmV3IFByb21pc2UoKGUsZik9Pnt2YXIgZz0iIjthLnFoLmZvckVhY2goaD0+e2c9ZysiICIraH0pO2d8fChnPSIgZGF0YS1kcml2ZW4gc3R5bGluZyBpcyBub3QgYXZhaWxhYmxlLiIpO2YoRXJyb3IoYGdvb2dsZS5tYXBzLlBsYWNlRmVhdHVyZS5mZXRjaFBsYWNlOiR7Z31gKSl9KTtpZih0aGlzLnBsYWNlKXJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5wbGFjZSk7dmFyIGI9YXdhaXQgXy5HeTtpZighYnx8VXlhKGIpKWlmKGI9YXdhaXQgQnphKCksIWIpcmV0dXJuIGF3YWl0IF8uTSh0aGlzLm1hcCwxNzc2OTkpLFByb21pc2UucmVqZWN0KEVycm9yKCJnb29nbGUubWFwcy5QbGFjZUZlYXR1cmUuZmV0Y2hQbGFjZTogQW4gZXJyb3Igb2NjdXJyZWQuIikpO3ZhciBjPWF3YWl0IF8uSGwoInBsYWNlcyIpLGQ9dGhpcy5tYXAuZ2V0SW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCk/QXJyYXkuZnJvbSh0aGlzLm1hcC5nZXRJbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoKSk6CnZvaWQgMDtyZXR1cm4gbmV3IFByb21pc2UoKGUsZik9PntjLlBsYWNlLl9fZ21wZG4odGhpcy5yaCxfLkpsLnJoKCkucmgoKSxfLkpsLnJoKCkudGgoKSxiLlNrLGQpLnRoZW4oZz0+e3RoaXMucGxhY2U9ZztlKGcpfSkuY2F0Y2goKCk9PntfLk0odGhpcy5tYXAsMTc3NzAwKTtmKEVycm9yKCJnb29nbGUubWFwcy5QbGFjZUZlYXR1cmUuZmV0Y2hQbGFjZTogQW4gZXJyb3Igb2NjdXJyZWQuIikpfSl9KX19O3ZhciBmSj1bMCxfLlF6LDEsXy5VXTt2YXIgU0VhPVswLCgpPT5SRWEsXy5VXSxSRWE9WzAsWzEsMiwzLDQsNSw2LDddLF8ubXosZkosXy5teixbMCxbMiwzLDRdLGZKLF8uZXosVERhLF8ubXosXy5TeixmSl0sXy5teiwoKT0+U0VhLF8ubXosWzAsZkosLTEsXy5ZLGZKLF8uU3pdLF8ubXosWzAsZkosLTFdLF8ubXosWzAsZkosXy5QXSxfLm16LFswLF8uU3osXy5CcixmSl1dO18uVEVhPVstMTAwLHt9LF8uUXosXy5VLF8uS0ksUkVhLDk0LF8uVV07dmFyIENJO18uQkk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnJoPWdsb2JhbFRoaXMuQmlnSW50LmFzVWludE4oNjQsYSk7dGhpcy5xaD1nbG9iYWxUaGlzLkJpZ0ludC5hc1VpbnROKDY0LGIpfXRvU3RyaW5nKCl7cmV0dXJuYDB4JHt0aGlzLnJoLnRvU3RyaW5nKDE2KX06MHgke3RoaXMucWgudG9TdHJpbmcoMTYpfWB9fTtDST1nbG9iYWxUaGlzLkJpZ0ludCgwKTtfLlVFYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTtbIm1vdXNlbW92ZSIsIm1vdXNlb3V0IiwibW92ZXN0YXJ0IiwibW92ZSIsIm1vdmVlbmQiXS5mb3JFYWNoKGQ9PnthLmluY2x1ZGVzKGQpfHxhLnB1c2goZCl9KTt0aGlzLmRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtfLnd3KHRoaXMuZGl2LDJFOSk7dGhpcy5xaD1uZXcgXy5iSigoZCxlKT0+e2EuaW5jbHVkZXMoInBhbmJ5bm93IikmJnRoaXMucWgmJl8ud24odGhpcywicGFuYnlub3ciLGQsZSl9KTt0aGlzLnJoPVFEYSh0aGlzKTt0aGlzLnJoLmJpbmRUbygicGFuQXRFZGdlIix0aGlzKTt2YXIgYj10aGlzO3RoaXMuY3Vyc29yPW5ldyBfLnpCKHRoaXMuZGl2LG5ldyBfLnNCKGIsImRyYWdnaW5nQ3Vyc29yIiksbmV3IF8uc0IoYiwiZHJhZ2dhYmxlQ3Vyc29yIikpO3ZhciBjPSExO3RoaXMuemo9Xy5xeCh0aGlzLmRpdix7V2woZCl7YS5pbmNsdWRlcygibW91c2Vkb3duIikmJl8ud24oYiwKIm1vdXNlZG93biIsZCxkLmNvb3Jkcyl9LHJ0KGQpe2EuaW5jbHVkZXMoIm1vdXNlbW92ZSIpJiZfLnduKGIsIm1vdXNlbW92ZSIsZCxkLmNvb3Jkcyl9LG1uKGQpe2EuaW5jbHVkZXMoIm1vdXNlbW92ZSIpJiZfLnduKGIsIm1vdXNlbW92ZSIsZCxkLmNvb3Jkcyl9LHVtKGQpe2EuaW5jbHVkZXMoIm1vdXNldXAiKSYmXy53bihiLCJtb3VzZXVwIixkLGQuY29vcmRzKX0sTGw6KHtjb29yZHM6ZCxldmVudDplLFdyOmZ9KT0+e2UuYnV0dG9uPT09Mz9mfHxhLmluY2x1ZGVzKCJyaWdodGNsaWNrIikmJl8ud24oYiwicmlnaHRjbGljayIsZSxkKTpmP2EuaW5jbHVkZXMoImRibGNsaWNrIikmJl8ud24oYiwiZGJsY2xpY2siLGUsZCk6YS5pbmNsdWRlcygiY2xpY2siKSYmXy53bihiLCJjbGljayIsZSxkKX0sR3M6e2tuKGQsZSl7Yz9hLmluY2x1ZGVzKCJtb3ZlIikmJihfLkp5KGIuY3Vyc29yLCEwKSxfLnduKGIsIm1vdmUiLG51bGwsZC5FaikpOihjPSEwLGEuaW5jbHVkZXMoIm1vdmVzdGFydCIpJiYKKF8uSnkoYi5jdXJzb3IsITApLF8ud24oYiwibW92ZXN0YXJ0IixlLGQuRWopKSl9LGpuKGQpe2EuaW5jbHVkZXMoIm1vdmUiKSYmXy53bihiLCJtb3ZlIixudWxsLGQuRWopfSxKbihkKXtjPSExO2EuaW5jbHVkZXMoIm1vdmVlbmQiKSYmKF8uSnkoYi5jdXJzb3IsITEpLF8ud24oYiwibW92ZWVuZCIsbnVsbCxkKSl9fX0pO3RoaXMuc2g9bmV3IF8uYUIodGhpcy5kaXYsdGhpcy5kaXYse1h1KGQpe2EuaW5jbHVkZXMoIm1vdXNlb3V0IikmJl8ud24oYiwibW91c2VvdXQiLGQpfSxZdShkKXthLmluY2x1ZGVzKCJtb3VzZW92ZXIiKSYmXy53bihiLCJtb3VzZW92ZXIiLGQpfX0pO18uc24odGhpcywibW91c2Vtb3ZlIix0aGlzLHRoaXMudGgpO18uc24odGhpcywibW91c2VvdXQiLHRoaXMsdGhpcy53aCk7Xy5zbih0aGlzLCJtb3Zlc3RhcnQiLHRoaXMsdGhpcy56aCk7Xy5zbih0aGlzLCJtb3ZlZW5kIix0aGlzLHRoaXMueGgpfXRoKGEsYil7YT1fLlVIKHRoaXMuZGl2LG51bGwpO2I9Cm5ldyBfLmJvKGIuY2xpZW50WC1hLngsYi5jbGllbnRZLWEueSk7dGhpcy5xaCYmXy5wSSh0aGlzLnFoLF8uem8oYi54LGIueSxiLngsYi55KSk7dGhpcy5yaC5zZXQoIm1vdXNlSW5zaWRlIiwhMCl9d2goKXt0aGlzLnJoLnNldCgibW91c2VJbnNpZGUiLCExKX16aCgpe3RoaXMucmguc2V0KCJkcmFnZ2luZyIsITApfXhoKCl7dGhpcy5yaC5zZXQoImRyYWdnaW5nIiwhMSl9cmVsZWFzZSgpe3RoaXMucWgucmVsZWFzZSgpO3RoaXMucWg9bnVsbDt0aGlzLnpqJiZ0aGlzLnpqLnJlbW92ZSgpO3RoaXMuc2gmJnRoaXMuc2gucmVtb3ZlKCl9cGl4ZWxCb3VuZHNfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJwaXhlbEJvdW5kcyIpO2E/KF8udXcodGhpcy5kaXYsbmV3IF8uYm8oYS5taW5YLGEubWluWSkpLGE9bmV3IF8uZ28oYS5tYXhYLWEubWluWCxhLm1heFktYS5taW5ZKSxfLlFwKHRoaXMuZGl2LGEpLHRoaXMucWgmJl8uckkodGhpcy5xaCxfLnpvKDAsMCxhLndpZHRoLGEuaGVpZ2h0KSkpOgooXy5RcCh0aGlzLmRpdixfLnFvKSx0aGlzLnFoJiZfLnJJKHRoaXMucWgsXy56bygwLDAsMCwwKSkpfXBhbmVzX2NoYW5nZWQoKXtSRGEodGhpcyl9YWN0aXZlX2NoYW5nZWQoKXtSRGEodGhpcyl9fTtfLmdKPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dmFyIGM9Yj9fLkxFYTpfLktFYSxkPXRoaXMucWg9bmV3IF8uaHJhKGMpO2QuY2hhbmdlZD0oKT0+e3ZhciBlPWQuZ2V0KCJzdHJva2VDb2xvciIpLGY9ZC5nZXQoInN0cm9rZU9wYWNpdHkiKSxnPWQuZ2V0KCJzdHJva2VXZWlnaHQiKSxoPWQuZ2V0KCJmaWxsQ29sb3IiKSxrPWQuZ2V0KCJmaWxsT3BhY2l0eSIpOyFifHxmIT09MCYmZyE9PTB8fChlPWgsZj1rLGc9Z3x8Yy5zdHJva2VXZWlnaHQpO2g9ZiouNTt0aGlzLnNldCgic3Ryb2tlQ29sb3IiLGUpO3RoaXMuc2V0KCJzdHJva2VPcGFjaXR5IixmKTt0aGlzLnNldCgiZ2hvc3RTdHJva2VPcGFjaXR5IixoKTt0aGlzLnNldCgic3Ryb2tlV2VpZ2h0IixnKX07Xy5RRShkLFsic3Ryb2tlQ29sb3IiLCJzdHJva2VPcGFjaXR5Iiwic3Ryb2tlV2VpZ2h0IiwiZmlsbENvbG9yIiwiZmlsbE9wYWNpdHkiXSxhKX1yZWxlYXNlKCl7dGhpcy5xaC51bmJpbmRBbGwoKX19O18uVkVhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dmFyIGE9bmV3IF8ud3Qoe2NsaWNrYWJsZTohMX0pO2EuYmluZFRvKCJtYXAiLHRoaXMpO2EuYmluZFRvKCJnZW9kZXNpYyIsdGhpcyk7YS5iaW5kVG8oInN0cm9rZUNvbG9yIix0aGlzKTthLmJpbmRUbygic3Ryb2tlT3BhY2l0eSIsdGhpcyk7YS5iaW5kVG8oInN0cm9rZVdlaWdodCIsdGhpcyk7dGhpcy5yaD1hO3RoaXMucWg9Xy5GSSgpO3RoaXMucWguYmluZFRvKCJ6SW5kZXgiLHRoaXMpO2EuYmluZFRvKCJ6SW5kZXgiLHRoaXMucWgsImdob3N0WkluZGV4Iil9ZnJlZVZlcnRleFBvc2l0aW9uX2NoYW5nZWQoKXt2YXIgYT10aGlzLnJoLmdldFBhdGgoKTthLmNsZWFyKCk7dmFyIGI9dGhpcy5nZXQoImFuY2hvcnMiKSxjPXRoaXMuZ2V0KCJmcmVlVmVydGV4UG9zaXRpb24iKTtiJiZfLiRsKGIpJiZjJiYoYS5wdXNoKGJbMF0pLGEucHVzaChjKSxiLmxlbmd0aD49MiYmYS5wdXNoKGJbMV0pKX1hbmNob3JzX2NoYW5nZWQoKXt0aGlzLmZyZWVWZXJ0ZXhQb3NpdGlvbl9jaGFuZ2VkKCl9fTt9KTsK"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":9,"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://primeelitecapital.com/","date":"2026-07-27T12:22:08.996Z","timestamp":1785154928996,"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.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/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: 277496\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-08-11T11:38:13.453702Z","times_seen":74442,"resource_available":false,"data":"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"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/owl-carousel/1.3.3/owl.carousel.min.css","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.913Z","timestamp":1785154927913,"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":"cdnjs.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 07:07:58 GMT","end":"Thu, 08 Oct 2026 08:07:45 GMT"},"fingerprint":{"sha1":"DF:66:97:F5:13:A2:C0:81:D3:5B:60:C4:B0:7F:CD:78:F5:91:14:D5","sha256":"3C:F2:95:73:83:BA:4D:D9:CC:85:8F:BC:7D:2C:22:CF:F3:49:9A:3A:E4:1D:FC:AE:CB:07:3D:66:89:74:0E:C5"}}},"request":{"raw":"GET /ajax/libs/owl-carousel/1.3.3/owl.carousel.min.css HTTP/1.1\r\nHost: cdnjs.cloudflare.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://primeelitecapital.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\ncontent-type: text/css; charset=utf-8\r\ncontent-length: 301\r\ncf-cache-status: BYPASS\r\naccess-control-allow-origin: *\r\ncache-control: no-transform, public, s-maxage=30672000, max-age=30672000, immutable\r\ncontent-encoding: br\r\nlast-modified: Mon, 04 May 2020 16:13:51 GMT\r\nvary: Accept-Encoding\r\nx-cdnjs-cache: HIT\r\ncross-origin-resource-policy: cross-origin\r\ntiming-allow-origin: *\r\nx-content-type-options: nosniff\r\ncf-cdnjs-via: cfworker/r2\r\nstrict-transport-security: max-age=15780000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=7l6%2FEbj8jalfmcVHweZ2wKAAlsbC7IefN70ytnt4dk2%2FX05mlNATLJJ50rDPRt4MyZKKwAzo%2Ft9WVF0ERacn%2FWrJwP7cs5NptKNsoC%2FIYhrgBEuKK5O05ivIzjJY2mbjllhl%2FjV%2F\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nserver: cloudflare\r\ncf-ray: a21b9b9b8e352efa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1174,"size_decoded":1298,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1174), with no line terminators","md5":"4b8baf28a3d0ac82e921e356ab3b4b8c","sha1":"988a79b1018c24ce20ae3c8c8ca692250b6945a3","sha256":"7c39dc75c9579402ea4771ce3b7e0e187c5e93dd6af00a660f780695d33e4678","sha512":"5ff452418c456ffb6fbb3e9a3514df2970e74339a7ce86b08044385fc9d935fb73b3c285147db7a7f040e83da4d1008ce11d2c6350c4cbd30863d6f77f08be6e","ssdeep":"","tlshash":"5b213bf4022531dd506fc31b57ca6a59593dd5229a220a0e621bea094bc6e1f712fbcf","first_seen":"2023-04-05T04:41:55Z","last_seen":"2026-08-08T22:28:21.768182Z","times_seen":1114,"resource_available":false,"data":"Lm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXI6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO2xpbmUtaGVpZ2h0OjA7aGVpZ2h0OjB9Lm93bC1jYXJvdXNlbHtkaXNwbGF5Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTstbXMtdG91Y2gtYWN0aW9uOnBhbi15fS5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVye2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9Lm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXItb3V0ZXJ7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXItb3V0ZXIuYXV0b0hlaWdodHstd2Via2l0LXRyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjpoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0fS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVte2Zsb2F0OmxlZnR9Lm93bC1jb250cm9scyAub3dsLXBhZ2UsLm93bC1jb250cm9scyAub3dsLWJ1dHRvbnMgZGl2e2N1cnNvcjpwb2ludGVyfS5vd2wtY29udHJvbHN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS5ncmFiYmluZ3tjdXJzb3I6dXJsKGdyYWJiaW5nLnBuZykgOCA4LG1vdmV9Lm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfQ=="}},"time_used":75,"timings":{"blocked":-1,"dns":3,"connect":9,"send":0,"wait":62,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/common.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.985Z","timestamp":1785154928985,"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":"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 /maps-api-v3/api/js/65/10a/common.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 38091\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411663\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":128639,"size_decoded":38930,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (726)","md5":"31d2d0109cbb555d4d1bb1d1aadf2133","sha1":"9c93dcffd69503e2ad240ea9fa1702abe08144a3","sha256":"a2ceda9bcc0100ef6d1130dc49439e47e8fa1233e7cd025a6018919eec222ecc","sha512":"19a4c7de0f35af185ff9b846790bee70d3fbe2570dc172a3a557b5f08032c872e42d462e4ff8554e3b07949966bc5fb43a15676fa03b6b54d5238108b7165054","ssdeep":"3072:SxAH1dW3t/h44XaocAVOUK4gemXkkI/xMrvgnU7:SY1dpoGUKxezV/xMzgnU7","tlshash":"77c3a6d5329370a3ab71b4b540a70007b2a5e485f40d8c2eb5f9ccf6aef495a11f9b39","first_seen":"2026-07-22T18:24:50.770414Z","last_seen":"2026-07-28T17:04:50.836884Z","times_seen":982,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ2NvbW1vbicsIGZ1bmN0aW9uKF8pe3ZhciBOa2EsT2thLFBrYSxRa2EsdHUsVWthLFZrYSxXa2EsdnUsRXUsSnUsS3UsTHUsTXUsWWthLCRrYSxhbGEsYmxhLGNsYSxVdSxZdSxmbGEsZ2xhLGhsYSxpbGEsamxhLGxsYSxjdixtbGEsbmxhLGV2LG9sYSxwbGEsanYscWxhLHVsYSxCdix2bGEsd2xhLHhsYSx5bGEsemxhLEFsYSxFdixEdixEbGEsQ2xhLEJsYSxMdixNdixOdixFbGEsRmxhLEdsYSxIbGEsSmxhLEtsYSxMbGEsTWxhLE5sYSxPbGEsUGxhLFJsYSxTbGEsWGxhLFlsYSxabGEsJGxhLFR2LGFtYSxVdixibWEsVnYsWXYsJHYsZG1hLGVtYSxmbWEsaG1hLGptYSx6dyxwbWEsRHcscm1hLHZtYSx3bWEsWHcsem1hLEFtYSxCbWEsQ21hLGF4LGd4LEZtYSxoeCxreCxHbWEsbHgsSG1hLG94LFNtYSxZbWEsYm5hLGNuYSxkbmEsZW5hLGZuYSxkeSxqbmEsZXksa25hLGxuYSxubmEscW5hLHBuYSxvbmEsc25hLHJuYSxtbmEsdG5hLHduYSx4bmEsQW5hLENuYSxIbmEscnksdnksSm5hLHd5LHh5LEtuYSxNbmEsTG5hLE5uYSwKT25hLFBuYSxZbmEsV25hLCRuYSxhb2EsTXksTnksY29hLGRvYSxlb2EsZm9hLHJ1LEtrYSxEdSxGdSxPdSxkbGEsa2xhLGJ2LGdvYSxob2EsZ3YsankseW5hLHpuYSxodixzbGEscmxhLGt5LGlvYSxqb2EsbG9hLG1vYSxub2EscG9hLHFvYSxpeixyb2Esc29hLHRvYSx1b2Esdm9hLFVsYSxXbGEsenosRW9hLEZvYSxHb2Esc21hLHRtYTtfLnB1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGYoXy5PZihhLGIpKSE9bnVsbH07Xy5xdT1mdW5jdGlvbihhKXtyZXR1cm4hIWEuaGFuZGxlZH07Xy5Ma2E9ZnVuY3Rpb24oKXtydXx8KHJ1PW5ldyBLa2EpO3JldHVybiBydX07Cl8uc3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5Ma2EoKTtiLnFoLmhhcyhhKTtyZXR1cm4gbmV3IF8uTWthKCgpPT57cGVyZm9ybWFuY2Uubm93KCk+PWIuc2gmJmIucmVzZXQoKTt2YXIgYz1iLnJoLmhhcyhhKSxkPWIudGguaGFzKGEpO2N8fGQ/YyYmIWQmJmIucmguc2V0KGEsIm92ZXJfdHRsIik6KGIucmguc2V0KGEsXy5LbigpKSxiLnRoLmFkZChhKSk7cmV0dXJuIGIucmguZ2V0KGEpfSl9O05rYT1mdW5jdGlvbigpe3ZhciBhPTc4O2ElMz9hPU1hdGguZmxvb3IoYSk6YS09Mjt2YXIgYj1uZXcgVWludDhBcnJheShhKSxjPTA7Xy5WYygiQUdGemJRRUFBQUFCQkFGZ0FBQURBZ0VBQlFNQkFBRUhCd0VEYldWdEFnQU1BUUVLRHdFTkFFRUF3RUVBUVFIOENBQUFDd3NFQVFFQmVBQVFCRzVoYldVQ0F3RUFBQWtFQVFBQlpBPT0iLGZ1bmN0aW9uKGQpe2JbYysrXT1kfSk7cmV0dXJuIGMhPT1hP2Iuc3ViYXJyYXkoMCxjKTpifTsKT2thPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7aWYoYyE9PWIubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZD0wO2Q8YztkKyspaWYoYVtkXSE9PWJbZF0pcmV0dXJuITE7cmV0dXJuITB9O1BrYT1mdW5jdGlvbihhLGIpe2lmKCFhLnFofHwhYi5xaHx8YS5xaD09PWIucWgpcmV0dXJuIGEucWg9PT1iLnFoO2lmKHR5cGVvZiBhLnFoPT09InN0cmluZyImJnR5cGVvZiBiLnFoPT09InN0cmluZyIpe3ZhciBjPWEucWg7bGV0IGQ9Yi5xaDtiLnFoLmxlbmd0aD5hLnFoLmxlbmd0aCYmKGQ9YS5xaCxjPWIucWgpO2lmKGMubGFzdEluZGV4T2YoZCwwKSE9PTApcmV0dXJuITE7Zm9yKGI9ZC5sZW5ndGg7YjxjLmxlbmd0aDtiKyspaWYoY1tiXSE9PSI9IilyZXR1cm4hMTtyZXR1cm4hMH1jPV8ucWQoYSk7Yj1fLnFkKGIpO3JldHVybiBPa2EoYyxiKX07ClFrYT1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiPT09InN0cmluZyIpYj1iP25ldyBfLmZkKGIsXy5oZCk6Xy5sZCgpO2Vsc2UgaWYoYiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYj1uZXcgXy5mZChiLF8uaGQpO2Vsc2UgaWYoIShiIGluc3RhbmNlb2YgXy5mZCkpcmV0dXJuITE7cmV0dXJuIFBrYShhLGIpfTtfLlJrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9PT1jP25ldyBVaW50OEFycmF5KDApOmEuc2xpY2UoYixjKX07Xy5Ta2E9ZnVuY3Rpb24oYSl7dmFyIGI9YTwwO2E9TWF0aC5hYnMoYSkqMjtfLmhlKGEpO2E9Xy5lZTt2YXIgYz1fLmdlO2ImJihhPT0wP2M9PTA/Yz1hPTQyOTQ5NjcyOTU6KGMtLSxhPTQyOTQ5NjcyOTUpOmEtLSk7Xy5lZT1hO18uZ2U9Y307Xy5Ua2E9ZnVuY3Rpb24oYSl7YT1hPDxCaWdJbnQoMSleYT4+QmlnSW50KDYzKTtfLmVlPU51bWJlcihCaWdJbnQuYXNVaW50TigzMixhKSk7Xy5nZT1OdW1iZXIoQmlnSW50LmFzVWludE4oMzIsYT4+QmlnSW50KDMyKSkpfTsKdHU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5sZXx8KF8ubGU9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpO2Iuc2V0RmxvYXQzMigwLCthLCEwKTtfLmdlPTA7Xy5lZT1iLmdldFVpbnQzMigwLCEwKX07VWthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChiPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChhPj4+MCkpKX07Xy51dT1mdW5jdGlvbihhKXtyZXR1cm4oYTw8MV5hPj4zMSk+Pj4wfTtWa2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lZSxjPV8uZ2UsZD1jPj4zMTtjPShjPDwxfGI+Pj4zMSleZDthKGI8PDFeZCxjKX07V2thPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT0ic3RyaW5nInx8YSBpbnN0YW5jZW9mIF8uZmQpcmV0dXJuIGF9O3Z1PWZ1bmN0aW9uKGEsYixjKXtpZihjKXt2YXIgZDsoKGQ9YVtfLmtmXT8/KGFbXy5rZl09bmV3IF8ubmYpKVtiXT8/KGRbYl09W10pKS5wdXNoKGMpfX07Cl8ud3U9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5MaTthPV8uWGYoYSxlLGVbXy5DZF18MCxjLGIsMyk7Xy5ZZChhLGQpO3JldHVybiBhW2RdfTtfLnh1PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtyZXR1cm4gXy5IZyhhLGIsYyxlLGQsZix2b2lkIDAsMSl9O18ueXU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5MaTtyZXR1cm4gXy5SZihlLGVbXy5DZF18MCxiLF8udGcoYSxkLGMpKSE9PXZvaWQgMH07Xy56dT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5HKGEsYixfLnRnKGEsZCxjKSl9O18uQXU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlFmKGEsYixjPT1udWxsP2M6Xy51ZShjKSl9O18uQnU9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uSGcoYSxiLF8uRGUsYyxkLF8uRWUpfTtfLkN1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uQWUoXy5PZihhLGIpKSE9bnVsbH07CkV1PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gbmV3IER1KF8uYWQoYSksYik7aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gbmV3IER1KG5ldyBVaW50OEFycmF5KGEpLGIpO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgRHUoYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBEdShhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5mZClyZXR1cm4gYj1fLnFkKGEpfHxuZXcgVWludDhBcnJheSgwKSxuZXcgRHUoYiwhMCxhKTtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYT1hLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9hOm5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpLG5ldyBEdShhLCExKTt0aHJvdyBFcnJvcigpO307Cl8uR3U9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoRnUubGVuZ3RoKXtsZXQgZT1GdS5wb3AoKTtlLmluaXQoYSxiLGMsZCk7cmV0dXJuIGV9cmV0dXJuIG5ldyBfLlhrYShhLGIsYyxkKX07Xy5IdT1mdW5jdGlvbihhKXtyZXR1cm4gXy5waChhLChiLGMpPT57dmFyIGQ9LShiJjEpO2I9KGI+Pj4xfGM8PDMxKV5kO3JldHVybiBfLnFlKGIsYz4+PjFeZCl9KX07Xy5JdT1mdW5jdGlvbihhKXthPV8uc2goYSk7cmV0dXJuIGE+Pj4xXi0oYSYxKX07SnU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucGgoYSxVa2EpfTtLdT1mdW5jdGlvbihhKXt2YXIgYj1hLnJoLGM9YS5xaCxkPWJbYyswXSxlPWJbYysxXSxmPWJbYysyXTtiPWJbYyszXTtfLnVoKGEsNCk7cmV0dXJuKGQ8PDB8ZTw8OHxmPDwxNnxiPDwyNCk+Pj4wfTtMdT1mdW5jdGlvbihhKXt2YXIgYj1LdShhKTthPUt1KGEpO3JldHVybiBVa2EoYixhKX07Ck11PWZ1bmN0aW9uKGEpe3ZhciBiPUt1KGEpO2E9KGI+PjMxKSoyKzE7dmFyIGM9Yj4+PjIzJjI1NTtiJj04Mzg4NjA3O3JldHVybiBjPT0yNTU/Yj9OYU46YSpJbmZpbml0eTpjPT0wP2EqMS40MDEyOTg0NjQzMjQ4MTdFLTQ1KmI6YSpNYXRoLnBvdygyLGMtMTUwKSooYis4Mzg4NjA4KX07Xy5OdT1mdW5jdGlvbihhKXtyZXR1cm4gYS5xaD09YS5zaH07WWthPWZ1bmN0aW9uKGEsYil7aWYoYj09MClyZXR1cm4gXy5sZCgpO3ZhciBjPV8ud2goYSxiKTthPWEuRXYmJmEud2g/YS5yaC5zdWJhcnJheShjLGMrYik6Xy5Sa2EoYS5yaCxjLGMrYik7cmV0dXJuIF8uSWQoYSl9O18uUHU9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoT3UubGVuZ3RoKXtsZXQgZT1PdS5wb3AoKTtlLnNldE9wdGlvbnMoZCk7ZS5yaC5pbml0KGEsYixjLGQpO3JldHVybiBlfXJldHVybiBuZXcgXy5aa2EoYSxiLGMsZCl9OwpfLlF1PWZ1bmN0aW9uKGEpe2lmKF8uTnUoYS5yaCkpcmV0dXJuITE7YS53aD1hLnJoLmdldEN1cnNvcigpO3ZhciBiPV8uc2goYS5yaCksYz1iPj4+MyxkPWImNztpZighKGQ+PTAmJmQ8PTUpKXRocm93IEVycm9yKCk7aWYoYzwxKXRocm93IEVycm9yKCk7YS50aD1iO2Euc2g9YzthLnFoPWQ7cmV0dXJuITB9O18uU3U9ZnVuY3Rpb24oKXtpZihfLlJ1Pj0xMDApdGhyb3cgbmV3IFN5bnRheEVycm9yO18uUnUrK307Cl8uVHU9ZnVuY3Rpb24oYSl7dHJ5e3N3aXRjaChhLnFoKXtjYXNlIDA6YS5xaCE9MD9fLlR1KGEpOl8ucWgoYS5yaCk7YnJlYWs7Y2FzZSAxOl8udWgoYS5yaCw4KTticmVhaztjYXNlIDI6JGthKGEpO2JyZWFrO2Nhc2UgNTpfLnVoKGEucmgsNCk7YnJlYWs7Y2FzZSAzOl8uU3UoKTtsZXQgYj1hLnNoO3RyeXtkb3tpZighXy5RdShhKSl0aHJvdyBFcnJvcigpO2lmKGEucWg9PTQpe2lmKGEuc2ghPWIpdGhyb3cgRXJyb3IoKTticmVha31fLlR1KGEpfXdoaWxlKDEpfWNhdGNoKGMpe2lmKGMgaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBjO31maW5hbGx5e18uUnU+MCYmXy5SdS0tfWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoKTt9fWNhdGNoKGIpe2lmKGIgaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBiO319Owoka2E9ZnVuY3Rpb24oYSl7aWYoYS5xaCE9MilfLlR1KGEpO2Vsc2V7dmFyIGI9Xy5zaChhLnJoKTtfLnVoKGEucmgsYil9fTthbGE9ZnVuY3Rpb24oYSxiKXtpZighYS5qSCl7bGV0IGM9YS5yaC5nZXRDdXJzb3IoKS1iO2Eucmguc2V0Q3Vyc29yKGIpO2I9WWthKGEucmgsYyk7YS5yaC5nZXRDdXJzb3IoKTtyZXR1cm4gYn19O2JsYT1mdW5jdGlvbihhKXt2YXIgYj1hLndoO18uVHUoYSk7cmV0dXJuIGFsYShhLGIpfTtjbGE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPTA7Xy5RdShhKSYmYS5xaCE9NDspYS50aCE9PTE2fHxjP2EudGghPT0yNnx8ZD9fLlR1KGEpOmM/KGQ9LTEsXy5BaChhLGMsYikpOihkPWEud2gsJGthKGEpKTooYz1fLnNoKGEucmgpLGQmJihhLnJoLnNldEN1cnNvcihkKSxkPTApKTtpZihhLnRoIT09MTJ8fCFkfHwhYyl0aHJvdyBFcnJvcigpO307VXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zaChhLnJoKTtyZXR1cm4gWWthKGEucmgsYil9OwpfLld1PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5WdShhJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihhLzQyOTQ5NjcyOTYpKX07Xy5YdT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gZGxhfHwoZGxhPW5ldyBfLlZ1KDAsMCkpO2lmKCEvXlxkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7Xy5zZShhKTtyZXR1cm4gbmV3IF8uVnUoXy5lZSxfLmdlKX07WXU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubG89PT0wP25ldyBfLlZ1KDAsMSt+YS5oaSk6bmV3IF8uVnUofmEubG8rMSx+YS5oaSl9O18uWnU9ZnVuY3Rpb24oYSxiLGMpe18uUmgoYSxiKTtfLlJoKGEsYyl9O18uZWxhPWZ1bmN0aW9uKGEsYil7Xy5zZShiKTtWa2EoKGMsZCk9PntfLlFoKGEsYz4+PjAsZD4+PjApfSl9O18uJHU9ZnVuY3Rpb24oYSxiKXtfLmhlKGIpO18uUmgoYSxfLmVlKTtfLlJoKGEsXy5nZSl9OwpmbGE9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKF8uWWgoYSxiLDApLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5xaDtfLmtlKGMpO18uUWgoYSxfLmVlLF8uZ2UpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1fLlBoKGMsXy5WdSxfLld1KTtfLlFoKGEucWgsYy5sbyxjLmhpKTticmVhaztkZWZhdWx0OmM9Xy5YdShjKSxfLlFoKGEucWgsYy5sbyxjLmhpKX19O2dsYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgInN0cmluZyI6Xy5YdShhKX19O2hsYT1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbClzd2l0Y2goZ2xhKGMpLF8uWWgoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOl8uJHUoYS5xaCxjKTticmVhaztjYXNlICJiaWdpbnQiOmI9Xy5QaChjLF8uVnUsXy5XdSk7Xy5adShhLnFoLGIubG8sYi5oaSk7YnJlYWs7ZGVmYXVsdDpiPV8uWHUoYyksXy5adShhLnFoLGIubG8sYi5oaSl9fTsKaWxhPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9fLlh1KGEuc3Vic3RyaW5nKDEpKTpfLlh1KGEpfX07Xy5hdj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5MaSxlPV8ucGIoXy5rZik7ZSYmZSBpbiBkJiYoZD1kW2VdKSYmZGVsZXRlIGRbYi5xaF07Yi5Xbj9iLndoKGEsYi5XbixiLnFoLGMsYi5yaCk6Yi53aChhLGIucWgsYyxiLnJoKX07amxhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMudUM7YVtiXT1kPyhmLGcsaCk9PmUoZixnLGgsZCk6ZX07CmxsYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzW2tsYV0sZj10aGlzW2J2XSxnPV8uRGYodm9pZCAwLGUuZnEpLGg9Xy5sZihhKTtpZihoKXt2YXIgaz0hMSxtPWUub2w7aWYobSl7ZT0ocCxxLHUpPT57aWYodS5sZW5ndGghPT0wKWlmKG1bcV0pZm9yKGxldCB4IG9mIHUpe3A9Xy5QdSh4KTt0cnl7az0hMCxmKGcscCl9ZmluYWxseXtwLlFpKCl9fWVsc2UgZD8uKGEscSx1KX07aWYoYj09bnVsbClfLm1mKGgsZSk7ZWxzZSBpZihoIT1udWxsKXtsZXQgcD1oW2JdO3AmJmUoaCxiLHApfWlmKGspe2xldCBwPWFbXy5DZF18MDtpZihwJjImJnAmMjA0OCYmIWM/LnJQKXRocm93IEVycm9yKCk7bGV0IHE9Xy5iZShwKSx1PSh4LHopPT57aWYoXy5OZihhLHgscSkhPW51bGwpc3dpdGNoKGM/LkZUKXtjYXNlIDE6cmV0dXJuO2RlZmF1bHQ6dGhyb3cgRXJyb3IoKTt9eiE9bnVsbCYmKHA9Xy5QZihhLHAseCx6LHEpKTtkZWxldGUgaFt4XX07Yj09bnVsbD9fLiRkKGcsZ1tfLkNkXXwwLAooeCx6KT0+e3UoeCx6KX0pOnUoYixfLk5mKGcsYixxKSl9fX19O2N2PWZ1bmN0aW9uKGEpe3JldHVybiBfLnJpKGtsYSx2b2lkIDAsamxhLG1sYSxhKX07bWxhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Yy51QyxnLGg7YVtiXT0oayxtLHApPT5mKGssbSxwLGh8fChoPWN2KGQpLmZxKSxnfHwoZz1fLmR2KGQpKSxlKX07Cl8uZHY9ZnVuY3Rpb24oYSl7dmFyIGI9YVtidl07aWYoYiE9bnVsbClyZXR1cm4gYjt2YXIgYz1jdihhKTtiPWMuckk/KGQsZSk9PigwLF8ub2kpKGQsZSxjKTooZCxlKT0+e2E6e18uU3UoKTt0cnl7Zm9yKDtfLlF1KGUpJiZlLnFoIT00Oyl7bGV0IGg9ZS5zaCxrPWNbaF07aWYoaz09bnVsbCl7bGV0IG09Yy5vbDtpZihtKXtsZXQgcD1tW2hdO2lmKHApe2xldCBxPW5sYShwKTtxIT1udWxsJiYoaz1jW2hdPXEpfX19ayE9bnVsbCYmayhlLGQsaCl8fHZ1KGQsaCxibGEoZSkpfWxldCBnPV8ubGYoZCk7ZyYmKGcuT0I9Yy5pQVtfLnRyXSk7dmFyIGY9ITA7YnJlYWsgYX1jYXRjaChnKXtpZihnIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgZzt9ZmluYWxseXtfLlJ1PjAmJl8uUnUtLX1mPXZvaWQgMH1yZXR1cm4gZn07YVtidl09YjthW18udHJdPWxsYS5iaW5kKGEpO3JldHVybiBifTsKbmxhPWZ1bmN0aW9uKGEpe2E9Xy5zaShhKTt2YXIgYj1hWzBdLnVDO2lmKGE9YVsxXSl7bGV0IGM9Xy5kdihhKSxkPWN2KGEpLmZxO3JldHVybihlLGYsZyk9PmIoZSxmLGcsZCxjKX1yZXR1cm4gYn07ZXY9ZnVuY3Rpb24oYSxiLGMpe2I9V2thKGIpO2IhPW51bGwmJl8uZGkoYSxjLEV1KGIsITApLmJ1ZmZlcil9O18uZnY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSChhLDEpfTtvbGE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy50ZyhhLGd2LDEpO3JldHVybiBfLklnKGEsYikhPW51bGx9O3BsYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5aZyhhLF8udGcoYSxndiwyKSkhPW51bGx9O18uaXY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRyhhLGh2LDEpfTtqdj1mdW5jdGlvbihhKXtyZXR1cm4gXy5QZyhhLDQpfTtxbGE9ZnVuY3Rpb24oKXt2YXIgYT1fLkpsLnJoKCk7cmV0dXJuIF8uSChhLDcpfTtfLmt2PWZ1bmN0aW9uKCl7cmV0dXJuIF8uRyhfLkpsLHJsYSwyMil9OwpfLmx2PWZ1bmN0aW9uKGEpe3JldHVybiBfLkcoYSxzbGEsMTIpfTtfLm12PWZ1bmN0aW9uKGEpe3JldHVybiBfLlNmKGEsc2xhLDEyKX07Xy5udj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmtoKGEsMSxiKX07Xy5vdj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVG0oYS5sYXQubG8sYS5sbmcuaGksITApfTtfLnB2PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5UbShhLmxhdC5oaSxhLmxuZy5sbywhMCl9O18ucXY9ZnVuY3Rpb24oYSxiKXthLmFpLmFkZExpc3RlbmVyKGIsdm9pZCAwKTtiLmNhbGwodm9pZCAwLGEuZ2V0KCkpfTtfLnJ2PWZ1bmN0aW9uKGEsYil7YT1fLmdlYShhLGIpO2EucHVzaChiKTtyZXR1cm4gbmV3IF8uanQoYSl9O18uc3Y9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLm1ham9yPmJ8fGEubWFqb3I9PT1iJiZhLm1pbm9yPj0oY3x8MCl9O18udGxhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5OcDtyZXR1cm4gYS5CaCYmYS56aH07Cl8udHY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uV3AoYS5xaCtiLnFoLGEucmgrYi5yaCl9O18udXY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uV3AoYS5xaC1iLnFoLGEucmgtYi5yaCl9O3VsYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGItTWF0aC5yb3VuZCgoYi1jKS9hLmxlbmd0aCkqYS5sZW5ndGh9O18ud3Y9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgXy5XcChhLnd2P3VsYShhLnd2LGIucWgsYy5xaCk6Yi5xaCxhLll3P3VsYShhLll3LGIucmgsYy5yaCk6Yi5yaCl9O18ueHY9ZnVuY3Rpb24oYSl7cmV0dXJue1hoOk1hdGgucm91bmQoYS5YaCksWWg6TWF0aC5yb3VuZChhLlloKX19O18ueXY9ZnVuY3Rpb24oYSxiKXtyZXR1cm57WGg6YS5tMTEqYi5xaCthLm0xMipiLnJoLFloOmEubTIxKmIucWgrYS5tMjIqYi5yaH19O18uenY9ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgubG9nKGEucmgpL01hdGguTE4yfTsKXy5Bdj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXQoImtleWJvYXJkU2hvcnRjdXRzIik9PT12b2lkIDB8fGEuZ2V0KCJrZXlib2FyZFNob3J0Y3V0cyIpfTtCdj1mdW5jdGlvbihhKXtfLkRkKGEsODE5Mik7cmV0dXJuIGF9O3ZsYT1mdW5jdGlvbihhLGIpe3JldHVybiEhYSYmKEFycmF5LmlzQXJyYXkoYSk/YS5pbmNsdWRlcyhiKTphLmhhcyhiKSl9O3dsYT1mdW5jdGlvbihhLGIsYyl7aWYoIUFycmF5LmlzQXJyYXkoYSl8fGEubGVuZ3RoKXJldHVybiExO3ZhciBkPWFbXy5DZF18MDtpZihkJjEpcmV0dXJuITA7aWYoIXZsYShiLGMpKXJldHVybiExO2FbXy5DZF09ZHwxO3JldHVybiEwfTtfLkN2PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy5aZSkoNjQsYSkpO2lmKF8uQ2UoYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gXy5XZShhKTtpZihiPT09Im51bWJlciIpcmV0dXJuIF8uVmUoYSl9fTsKeGxhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil0cnl7Yj1fLmFkKGIpfWNhdGNoKGMpe3JldHVybiExfXJldHVybiBfLmJkKGIpJiZPa2EoYSxiKX07eWxhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJiaWdpbnQiOmNhc2UgInN0cmluZyI6Y2FzZSAibnVtYmVyIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07emxhPWZ1bmN0aW9uKGEsYil7aWYoIUFycmF5LmlzQXJyYXkoYSl8fCFBcnJheS5pc0FycmF5KGIpKXJldHVybiAwO2E9IiIrYVswXTtiPSIiK2JbMF07cmV0dXJuIGE9PT1iPzA6YTxiPy0xOjF9O0FsYT1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKF8uUWQoYSkpYT1hLkxpLF8uc3ImJihjPz8oYz1hW18uc3JdKSk7ZWxzZSBpZighQXJyYXkuaXNBcnJheShhKSlyZXR1cm4hMTtpZihfLlFkKGIpKWI9Yi5MaSxfLnNyJiYoYz8/KGM9YltfLnNyXSkpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoYikpcmV0dXJuITE7cmV0dXJuIER2KGEsYixjLDIpfTsKRXY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gRHYoYSxiLHZvaWQgMCwwKX07CkR2PWZ1bmN0aW9uKGEsYixjLGQpe2lmKGE9PT1ifHxhPT1udWxsJiZiPT1udWxsKXJldHVybiEwO2lmKGEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIGEuUE4oYixjKTtpZihiIGluc3RhbmNlb2YgTWFwKXJldHVybiBiLlBOKGEsYyk7aWYoYT09bnVsbHx8Yj09bnVsbClyZXR1cm4hMTtpZihhIGluc3RhbmNlb2YgXy5mZClyZXR1cm4gUWthKGEsYik7aWYoYiBpbnN0YW5jZW9mIF8uZmQpcmV0dXJuIFFrYShiLGEpO2lmKF8uYmQoYSkpcmV0dXJuIHhsYShhLGIpO2lmKF8uYmQoYikpcmV0dXJuIHhsYShiLGEpO3ZhciBlPXR5cGVvZiBhLGY9dHlwZW9mIGI7aWYoZSE9PSJvYmplY3QifHxmIT09Im9iamVjdCIpcmV0dXJuIE51bWJlci5pc05hTihhKXx8TnVtYmVyLmlzTmFOKGIpP1N0cmluZyhhKT09PVN0cmluZyhiKTp5bGEoZSkmJnlsYShmKT8iIithPT09IiIrYjplPT09ImJvb2xlYW4iJiZmPT09Im51bWJlciJ8fGU9PT0ibnVtYmVyIiYmZj09PSJib29sZWFuIj8hYT09PSFiOiExOwppZihfLlFkKGEpfHxfLlFkKGIpKXJldHVybiBBbGEoYSxiKTtpZihhLmNvbnN0cnVjdG9yIT1iLmNvbnN0cnVjdG9yKXJldHVybiExO2lmKGEuY29uc3RydWN0b3I9PT1BcnJheSl7dmFyIGc9YVtfLkNkXXwwLGg9YltfLkNkXXwwLGs9YS5sZW5ndGgsbT1iLmxlbmd0aDtlPU1hdGgubWF4KGssbSk7Zj0oZ3xofDY0KSYxMjg/MDotMTt2YXIgcD1kPT09MXx8ISEoKGd8aCkmMSk7aWYocClkPTE7ZWxzZSBpZigoZ3xoKSY4MTkyKXJldHVybiBCbGEoYSxiKTtsZXQgcSx1OyFwJiZfLnNyJiYoYz8/KGM9YVtfLnNyXT8/YltfLnNyXSksYyE9bnVsbCYmKHE9Yy5YSCgpLHU9Yy5SSCgpKSk7Zz1rJiZhW2stMV07aD1tJiZiW20tMV07ZyE9bnVsbCYmdHlwZW9mIGc9PT0ib2JqZWN0IiYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdHx8KGc9bnVsbCk7aCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdHx8KGg9bnVsbCk7az1rLWYtKyEhZzttPW0tZi0rISFoOwpmb3IocD0wO3A8ZTtwKyspaWYoIUNsYShwLWYsYSxnLGssYixoLG0sZixxLHUsYyxkKSlyZXR1cm4hMTtpZihnKWZvcihsZXQgeCBpbiBnKWlmKCFEbGEoZyx4LGEsZyxrLGIsaCxtLGYscSx1LGMpKXJldHVybiExO2lmKGgpZm9yKGxldCB4IGluIGgpaWYoIShnJiZ4IGluIGd8fERsYShoLHgsYSxnLGssYixoLG0sZixxLHUsYykpKXJldHVybiExO3JldHVybiEwfWlmKGEuY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIEV2KFthXSxbYl0pO3Rocm93IEVycm9yKCk7fTtEbGE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoLGssbSxwLHEpe2lmKCFfLldkKGEsYikpcmV0dXJuITA7YT0rYjtyZXR1cm4hTnVtYmVyLmlzRmluaXRlKGEpfHxhPGV8fGE8aD8hMDpDbGEoYSxjLGQsZSxmLGcsaCxrLG0scCxxLDIpfTsKQ2xhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLG0scCxxKXtiPShhPGQ/YlthK2hdOnZvaWQgMCk/P2M/LlthXTtlPShhPGc/ZVthK2hdOnZvaWQgMCk/P2Y/LlthXTtxPXE9PT0xO2lmKGU9PW51bGwmJndsYShiLGssYSl8fGI9PW51bGwmJndsYShlLGssYSkpcmV0dXJuITA7cD1xP3A6cD8uYk4oYSk7aWYobT1tPy5oYXMoYSkpe2lmKGI9PW51bGwmJkFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGUubGVuZ3RoPT09MDtpZihlPT1udWxsJiZBcnJheS5pc0FycmF5KGIpKXJldHVybiBiLmxlbmd0aD09PTA7aWYoQXJyYXkuaXNBcnJheShiKSYmQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gQmxhKGIsZSl9cmV0dXJuIER2KGIsZSxwLG18fHZsYShrLGEpPzE6MCl9OwpCbGE9ZnVuY3Rpb24oYSxiKXtpZighQXJyYXkuaXNBcnJheShhKXx8IUFycmF5LmlzQXJyYXkoYikpcmV0dXJuITE7YT1bLi4uYV07Yj1bLi4uYl07QXJyYXkucHJvdG90eXBlLnNvcnQuY2FsbChhLHpsYSk7QXJyYXkucHJvdG90eXBlLnNvcnQuY2FsbChiLHpsYSk7dmFyIGM9YS5sZW5ndGgsZD1iLmxlbmd0aDtpZihjPT09MCYmZD09PTApcmV0dXJuITA7Zm9yKHZhciBlPTAsZj0wO2U8YyYmZjxkOyl7bGV0IGcsaD1hW2VdO2lmKCFBcnJheS5pc0FycmF5KGgpKXJldHVybiExO2xldCBrPWhbMF07Zm9yKDtlPGMtMSYmRXYoKGc9YVtlKzFdKVswXSxrKTspZSsrLGg9ZztsZXQgbSxwPWJbZl07aWYoIUFycmF5LmlzQXJyYXkocCkpcmV0dXJuITE7bGV0IHE9cFswXTtmb3IoO2Y8ZC0xJiZFdigobT1iW2YrMV0pWzBdLHEpOylmKysscD1tO2lmKCFFdihrLHEpfHwhRXYoaFsxXSxwWzFdKSlyZXR1cm4hMTtlKys7ZisrfXJldHVybiBlPj1jJiZmPj1kfTsKXy5Gdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW18uQ2RdfDAsZj1fLmJlKGUpO2U9Xy5yZyhhLGUsYyxiLGYpO18uUGYoYSxlLGIsZCxmKX07Xy5Hdj1mdW5jdGlvbihhLGIsYyxkKXtfLkxmKGEpO3ZhciBlPWEuTGk7YT1fLlhmKGEsZSxlW18uQ2RdfDAsYyxiLDIsdm9pZCAwLCEwKTtfLllkKGEsZCk7Yz1hW2RdO2I9Xy5JZihjKTtjIT09YiYmKGFbZF09YixkPWE9PT1fLmVnPzc6YVtfLkNkXXwwLDQwOTYmZHx8KGFbXy5DZF09ZHw0MDk2LF8uTWYoZSkpKTtyZXR1cm4gYn07Xy5Idj1mdW5jdGlvbihhLGIsYyxkLGUpe18uWmYoYSxiLGMsdm9pZCAwLGQsZSk7cmV0dXJuIGF9O18uSXY9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5aZihhLGIsYyx2b2lkIDAsdm9pZCAwLGQsMSwhMCk7cmV0dXJuIGF9O18uSnY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ8fGE9PW51bGwmJmI9PW51bGx8fCEoIWF8fCFiKSYmYSBpbnN0YW5jZW9mIGIuY29uc3RydWN0b3ImJkFsYShhLGIpfTsKXy5Ldj1mdW5jdGlvbihhLGIpe3tpZihfLlNkKGEpKXRocm93IEVycm9yKCk7aWYoYi5jb25zdHJ1Y3RvciE9PWEuY29uc3RydWN0b3IpdGhyb3cgRXJyb3IoIkNvcHkgc291cmNlIGFuZCB0YXJnZXQgbWVzc2FnZSBtdXN0IGhhdmUgdGhlIHNhbWUgdHlwZS4iKTtsZXQgYz1iLkxpLGQ9Y1tfLkNkXXwwO18uR2YoYixjLGQpPyhhLkxpPWMsXy5WZChhLCEwKSxhLnhCPV8uUmQpOihiPWM9Xy5GZihjLGQpLF8uRGQoYiwyMDQ4KSxhLkxpPWIsXy5WZChhLCExKSxhLnhCPXZvaWQgMCl9fTtMdj1mdW5jdGlvbihhLGIsYyl7Yj1fLnZlKGIpO2IhPW51bGwmJihfLlloKGEsYyw1KSxhPWEucWgsdHUoYiksXy5SaChhLF8uZWUpKX07TXY9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5DdihiKTtiIT1udWxsJiYoZ2xhKGIpLGZsYShhLGMsYikpfTtOdj1mdW5jdGlvbihhLGIsYyl7aGxhKGEsYyxfLkN2KGIpKX07CkVsYT1mdW5jdGlvbihhLGIsYyl7Yj1fLnlpKF8uQ3YsYiwhMSk7aWYoYiE9bnVsbClmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKylobGEoYSxjLGJbZF0pfTtGbGE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5KZShiKTtiIT1udWxsJiYoXy5ZaChhLGMsNSksXy5SaChhLnFoLGIpKX07R2xhPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1fLm1pKGIsZCk7YiE9bnVsbCYmKF8uWWgoYSxjLDMpLGUoYixhKSxfLlloKGEsYyw0KSl9O0hsYT1mdW5jdGlvbihhLGIsYyl7Yj1fLkdlKGIpO2IhPW51bGwmJmIhPW51bGwmJihfLlloKGEsYywwKSxfLlNoKGEucWgsXy51dShiKSkpfTsKXy5JbGE9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5hZihiKTtpZihiIT1udWxsJiYoXy5maShiKSxiIT1udWxsKSlzd2l0Y2goXy5ZaChhLGMsMCksdHlwZW9mIGIpe2Nhc2UgIm51bWJlciI6YT1hLnFoO18uU2thKGIpO18uUWgoYSxfLmVlLF8uZ2UpO2JyZWFrO2Nhc2UgImJpZ2ludCI6YT1hLnFoO18uVGthKGIpO18uUWgoYSxfLmVlLF8uZ2UpO2JyZWFrO2RlZmF1bHQ6Xy5lbGEoYS5xaCxiKX19O0psYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTUmJmEucWghPT0yKXJldHVybiExO2I9Xy5XZihiLGMpO2EucWg9PTI/Xy5EaChhLE11LGIpOmIucHVzaChNdShhLnJoKSk7cmV0dXJuITB9O0tsYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5FaShiLGMsSnUoYS5yaCkpO3JldHVybiEwfTsKTGxhPWZ1bmN0aW9uKGEsYixjKXthLnFoIT09MCYmYS5xaCE9PTI/YT0hMTooYj1fLldmKGIsYyksYS5xaD09Mj9fLkRoKGEsSnUsYik6Yi5wdXNoKEp1KGEucmgpKSxhPSEwKTtyZXR1cm4gYX07TWxhPWZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MSlyZXR1cm4hMTtfLkVpKGIsYyxMdShhLnJoKSk7cmV0dXJuITB9O05sYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTEmJmEucWghPT0yKXJldHVybiExO2I9Xy5XZihiLGMpO2EucWg9PTI/Xy5EaChhLEx1LGIpOmIucHVzaChMdShhLnJoKSk7cmV0dXJuITB9O09sYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLnFoIT09MSlyZXR1cm4hMTtfLkZ2KGIsYyxkLEx1KGEucmgpKTtyZXR1cm4hMH07UGxhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWxhKGEsYixjKX07Xy5RbGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBObGEoYSxiLGMpfTsKUmxhPWZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09NSYmYS5xaCE9PTIpcmV0dXJuITE7Yj1fLldmKGIsYyk7YS5xaD09Mj9fLkRoKGEsS3UsYik6Yi5wdXNoKEt1KGEucmgpKTtyZXR1cm4hMH07U2xhPWZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MCYmYS5xaCE9PTIpcmV0dXJuITE7Yj1fLldmKGIsYyk7YS5xaD09Mj9fLkRoKGEsXy5zaCxiKTpiLnB1c2goXy5zaChhLnJoKSk7cmV0dXJuITB9O18uVGxhPWZ1bmN0aW9uKGEpe3JldHVybiBfLmNlKGI9PmIgaW5zdGFuY2VvZiBhJiYhXy5TZChiKSl9O18uT3Y9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uc2opcmV0dXJuIGEucWg7dGhyb3cgRXJyb3IoIiIpO307Xy5Qdj1mdW5jdGlvbihhLGIpe2IgaW5zdGFuY2VvZiBfLnNqP2I9Xy5PdihiKTpiPVVsYS50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9OwpYbGE9ZnVuY3Rpb24oYSl7dmFyIGI9VmxhO2lmKGIubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiIik7aWYoYi5tYXAoYz0+e2lmKGMgaW5zdGFuY2VvZiBXbGEpYz1jLnFoO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO3JldHVybiBjfSkuZXZlcnkoYz0+ImFyaWEtcm9sZWRlc2NyaXB0aW9uIi5pbmRleE9mKGMpIT09MCkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiYXJpYS1yb2xlZGVzY3JpcHRpb24iIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZSgiYXJpYS1yb2xlZGVzY3JpcHRpb24iLCJtYXAiKX07CllsYT1mdW5jdGlvbihhLGIpe2lmKGEpe2E9YS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXtsZXQgZD1hW2NdLmluZGV4T2YoIj0iKSxlLGY9bnVsbDtkPj0wPyhlPWFbY10uc3Vic3RyaW5nKDAsZCksZj1hW2NdLnN1YnN0cmluZyhkKzEpKTplPWFbY107YihlLGY/ZGVjb2RlVVJJQ29tcG9uZW50KGYucmVwbGFjZSgvXCsvZywiICIpKToiIil9fX07Xy5Rdj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmJiYShhLDAsYil9O1psYT1mdW5jdGlvbihhLGIsYyl7aWYoYS5mb3JFYWNoJiZ0eXBlb2YgYS5mb3JFYWNoPT0iZnVuY3Rpb24iKWEuZm9yRWFjaChiLGMpO2Vsc2UgaWYoXy5ZYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYixjKTtlbHNle2xldCBkPV8uRmsoYSksZT1fLkVrKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxmO2crKyliLmNhbGwoYyxlW2ddLGQmJmRbZ10sYSl9fTsKXy5Sdj1mdW5jdGlvbihhLGIpe3RoaXMucmg9dGhpcy5xaD1udWxsO3RoaXMuc2g9YXx8bnVsbDt0aGlzLnRoPSEhYn07Xy5Tdj1mdW5jdGlvbihhKXthLnFofHwoYS5xaD1uZXcgTWFwLGEucmg9MCxhLnNoJiZZbGEoYS5zaCxmdW5jdGlvbihiLGMpe2EuYWRkKGRlY29kZVVSSUNvbXBvbmVudChiLnJlcGxhY2UoL1wrL2csIiAiKSksYyl9KSl9OyRsYT1mdW5jdGlvbihhLGIpe18uU3YoYSk7Yj1UdihhLGIpO3JldHVybiBhLnFoLmhhcyhiKX07VHY9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLnRoJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTthbWE9ZnVuY3Rpb24oYSxiKXtiJiYhYS50aCYmKF8uU3YoYSksYS5zaD1udWxsLGEucWguZm9yRWFjaChmdW5jdGlvbihjLGQpe3ZhciBlPWQudG9Mb3dlckNhc2UoKTtkIT1lJiYodGhpcy5yZW1vdmUoZCksdGhpcy5zZXRWYWx1ZXMoZSxjKSl9LGEpKTthLnRoPWJ9OwpVdj1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07Ym1hPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9O1Z2PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLGJtYSksYyYmKGE9YS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxhKTpudWxsfTsKXy5Xdj1mdW5jdGlvbihhKXt0aGlzLnFoPXRoaXMueWg9dGhpcy5zaD0iIjt0aGlzLnRoPW51bGw7dGhpcy54aD10aGlzLnpoPSIiO3RoaXMud2g9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uV3Y/KHRoaXMud2g9YS53aCxfLlh2KHRoaXMsYS5zaCksWXYodGhpcyxhLnloKSx0aGlzLnFoPWEucWgsXy5adih0aGlzLGEudGgpLHRoaXMuc2V0UGF0aChhLmdldFBhdGgoKSksJHYodGhpcyxhLnJoLmNsb25lKCkpLF8uYXcodGhpcyxhLnhoKSk6YSYmKGI9U3RyaW5nKGEpLm1hdGNoKF8uRGopKT8odGhpcy53aD0hMSxfLlh2KHRoaXMsYlsxXXx8IiIsITApLFl2KHRoaXMsYlsyXXx8IiIsITApLHRoaXMucWg9VXYoYlszXXx8IiIsITApLF8uWnYodGhpcyxiWzRdKSx0aGlzLnNldFBhdGgoYls1XXx8IiIsITApLCR2KHRoaXMsYls2XXx8IiIsITApLF8uYXcodGhpcyxiWzddfHwiIiwhMCkpOih0aGlzLndoPSExLHRoaXMucmg9bmV3IF8uUnYobnVsbCx0aGlzLndoKSl9OwpfLlh2PWZ1bmN0aW9uKGEsYixjKXthLnNoPWM/VXYoYiwhMCk6YjthLnNoJiYoYS5zaD1hLnNoLnJlcGxhY2UoLzokLywiIikpfTtZdj1mdW5jdGlvbihhLGIsYyl7YS55aD1jP1V2KGIpOmI7cmV0dXJuIGF9O18uWnY9ZnVuY3Rpb24oYSxiKXtpZihiKXtiPU51bWJlcihiKTtpZihpc05hTihiKXx8YjwwKXRocm93IEVycm9yKCJCYWQgcG9ydCBudW1iZXIgIitiKTthLnRoPWJ9ZWxzZSBhLnRoPW51bGx9OyR2PWZ1bmN0aW9uKGEsYixjKXtiIGluc3RhbmNlb2YgXy5Sdj8oYS5yaD1iLGFtYShhLnJoLGEud2gpKTooY3x8KGI9VnYoYixjbWEpKSxhLnJoPW5ldyBfLlJ2KGIsYS53aCkpO3JldHVybiBhfTtfLmF3PWZ1bmN0aW9uKGEsYixjKXthLnhoPWM/VXYoYik6YjtyZXR1cm4gYX07ZG1hPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5Xdj9hLmNsb25lKCk6bmV3IF8uV3YoYSl9O18uYnc9ZnVuY3Rpb24oYSxiKXthJT1iO3JldHVybiBhKmI8MD9hK2I6YX07Cl8uY3c9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhK2MqKGItYSl9O18uZHc9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfTtlbWE9YXN5bmMgZnVuY3Rpb24oKXtpZihfLk1sPzA6Xy5MbCgpKXRyeXsoYXdhaXQgXy5IbCgibG9nIikpLkh3LnhoKCl9Y2F0Y2goYSl7fX07Xy5ldz1mdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5sb2coYSkvTWF0aC5MTjJ9O2ZtYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSExLGQ7cmV0dXJuIGU9PntlPWV8fCgoKT0+e30pO2M/ZShkKTooYi5wdXNoKGUpLGIubGVuZ3RoPT09MSYmYShmPT57ZD1mO2ZvcihjPSEwO2IubGVuZ3RoOyl7bGV0IGc9Yi5zaGlmdCgpO2cmJmcoZil9fSkpfX07Xy5nbWE9ZnVuY3Rpb24oYSl7YT1hLnNwbGl0KC8oXlteQS1aXSt8W0EtWl1bXkEtWl0rKS8pO3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWFbY10mJmIucHVzaChhW2NdKTtyZXR1cm4gYi5qb2luKCItIikudG9Mb3dlckNhc2UoKX07Cl8uZnc9ZnVuY3Rpb24oYSl7YS5fX2dtX2ludGVybmFsX19ub0NsaWNrPSEwfTtfLmd3PWZ1bmN0aW9uKGEpe3JldHVybiEhYS5fX2dtX2ludGVybmFsX19ub0NsaWNrfTtobWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIGIuY2FsbChhLGMsdGhpcyl9fTtfLmh3PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIF8ucW4oYSxiLGhtYShjLGQpLGUpfTtfLmt3PWZ1bmN0aW9uKCl7Xy5pdyYmXy5qdyYmKF8uWm49bnVsbCl9O18uaW1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5sdy5MajtyZXR1cm4gYyhhKSE9PWMoYil9O18ubXc9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yz1NYXRoLnBvdygyLGMpO3ZhciBlPW5ldyBfLmJvKDAsMCk7ZS54PWIueC9jO2UueT1iLnkvYztyZXR1cm4gYS5mcm9tUG9pbnRUb0xhdExuZyhlLGQpfTsKam1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5nZXRTb3V0aFdlc3QoKTtiPWIuZ2V0Tm9ydGhFYXN0KCk7dmFyIGQ9Yy5sbmcoKSxlPWIubG5nKCk7ZD5lJiYoYj1uZXcgXy5UbShiLmxhdCgpLGUrMzYwLCEwKSk7Yz1hLmZyb21MYXRMbmdUb1BvaW50KGMpO2E9YS5mcm9tTGF0TG5nVG9Qb2ludChiKTtyZXR1cm4gbmV3IF8ueW8oW2MsYV0pfTtfLm53PWZ1bmN0aW9uKGEsYixjKXthPWptYShhLGIpO2M9TWF0aC5wb3coMixjKTtiPW5ldyBfLnlvO2IubWluWD1hLm1pblgqYztiLm1pblk9YS5taW5ZKmM7Yi5tYXhYPWEubWF4WCpjO2IubWF4WT1hLm1heFkqYztyZXR1cm4gYn07Xy5rbWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkJvKGEsbmV3IF8uVG0oMCwxNzkuOTk5OTk5KSxiKTthPV8uQm8oYSxuZXcgXy5UbSgwLC0xNzkuOTk5OTk5KSxiKTtyZXR1cm4gbmV3IF8uYm8oYy54LWEueCxjLnktYS55KX07Cl8ub3c9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmXy5qbShiKT8oYT1fLmttYShhLGIpLE1hdGguc3FydChhLngqYS54K2EueSphLnkpKTowfTsKXy5sbWE9ZnVuY3Rpb24oYSxiLGM9ITEpe2J8fChiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGIuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsYi5zdHlsZS53aWR0aD0iMTAwJSIsYi5zdHlsZS5oZWlnaHQ9IjEwMCUiLGIuc3R5bGUuYm94U2l6aW5nPSJib3JkZXItYm94IixiLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsYi5zdHlsZS56SW5kZXg9IjEwMDAwMDIiLGIuc3R5bGUub3BhY2l0eT0iMCIsYi5zdHlsZS5ib3JkZXI9IjJweCBzb2xpZCAjMWE3M2U4Iik7bmV3IF8uRnAoYSwiZm9jdXMiLCgpPT57dmFyIGQ9IjAiO18uR3AmJiFjP18uRXAoYSwiOmZvY3VzLXZpc2libGUiKSYmKGQ9IjEiKTpfLkhwJiZfLkhwIT09IktFWUJPQVJEInx8KGQ9IjEiKTtiLnN0eWxlLm9wYWNpdHk9ZH0pO25ldyBfLkZwKGEsImJsdXIiLCgpPT57Yi5zdHlsZS5vcGFjaXR5PSIwIn0pO3JldHVybiBifTsKXy5wdz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifTtfLm1tYT1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX07Xy5ubWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy52YyhhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpfLnB3KGEpLm1hdGNoKC9cUysvZyl8fFtdLGIpfTtfLnF3PWZ1bmN0aW9uKGEsYil7aWYoYS5jbGFzc0xpc3QpYS5jbGFzc0xpc3QuYWRkKGIpO2Vsc2UgaWYoIV8ubm1hKGEsYikpe2xldCBjPV8ucHcoYSk7Xy5tbWEoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19OwpfLnJ3PWZ1bmN0aW9uKGEpe3JldHVybiBhP2Eubm9kZVR5cGU9PT05P2E6YS5vd25lckRvY3VtZW50fHxkb2N1bWVudDpkb2N1bWVudH07Xy5zdz1mdW5jdGlvbihhLGIsYyl7YT1fLnJ3KGIpLmNyZWF0ZVRleHROb2RlKGEpO2ImJiFjJiZiLmFwcGVuZENoaWxkKGEpO3JldHVybiBhfTtfLnR3PWZ1bmN0aW9uKGEpe2E9YS5zdHlsZTthLnBvc2l0aW9uIT09ImFic29sdXRlIiYmKGEucG9zaXRpb249ImFic29sdXRlIil9O18udXc9ZnVuY3Rpb24oYSxiLGMsZCl7YSYmKGR8fF8udHcoYSksYT1hLnN0eWxlLGM9Yz8icmlnaHQiOiJsZWZ0IixkPV8ucG0oYi54KSxhW2NdIT09ZCYmKGFbY109ZCksYj1fLnBtKGIueSksYS50b3AhPT1iJiYoYS50b3A9YikpfTtfLnZ3PWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1fLnJ3KGIpLmNyZWF0ZUVsZW1lbnQoYSk7YyYmXy51dyhhLGMpO2QmJl8uUXAoYSxkKTtiJiYhZSYmYi5hcHBlbmRDaGlsZChhKTtyZXR1cm4gYX07Cl8ud3c9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLnpJbmRleD1gJHtNYXRoLnJvdW5kKGIpfWB9O18ueHc9ZnVuY3Rpb24oKXt2YXIgYT1fLmF3KFl2KGRtYShfLlVhLmRvY3VtZW50Py5sb2NhdGlvbiYmXy5VYS5kb2N1bWVudD8ubG9jYXRpb24uaHJlZnx8Xy5VYS5sb2NhdGlvbj8uaHJlZiksIiIpLCIiKS5zZXRRdWVyeSgiIikudG9TdHJpbmcoKSxiO2lmKGI9Xy5KbCliPV8uSChfLkpsLDQ1KT09PSJvcmlnaW4iO3JldHVybiBiP3dpbmRvdy5sb2NhdGlvbi5vcmlnaW46YX07Xy5vbWE9ZnVuY3Rpb24oYSl7YT1fLnJ3KGEpPy5kZWZhdWx0Vmlld3x8d2luZG93O3RyeXtyZXR1cm4gYS5zZWxmIT09d2luZG93LnRvcH1jYXRjaChiKXtyZXR1cm4hMH19OwpfLnl3PWZ1bmN0aW9uKCl7dmFyIGE7KGE9Xy50bGEoKSl8fChhPV8uTnAsYT1hLnR5cGU9PT00JiZhLkNoJiZfLnN2KF8uTnAudmVyc2lvbiw1MzQpKTthfHwoYT1fLk5wLGE9YS54aCYmYS5DaCk7cmV0dXJuIGF8fHdpbmRvdy5uYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MHx8d2luZG93Lm5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzPjB8fCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYib250b3VjaG1vdmUiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYib250b3VjaGVuZCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9Owp6dz1mdW5jdGlvbihhLGI9d2luZG93KXtpZighYSlyZXR1cm4hMTtpZihhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2xldCB7Y29udGVudFZpc2liaWxpdHk6YyxkaXNwbGF5OmQsdmlzaWJpbGl0eTplfT1iLmdldENvbXB1dGVkU3R5bGUoYSk7aWYoZD09PSJub25lInx8Yz09PSJoaWRkZW4ifHxlPT09ImhpZGRlbiIpcmV0dXJuITB9cmV0dXJuIGEgaW5zdGFuY2VvZiBTaGFkb3dSb290P3p3KGEuaG9zdCxiKTp6dyhhLnBhcmVudE5vZGUsYil9OwpwbWE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihkKXsibWF0Y2hlcyJpbiBkJiZkLm1hdGNoZXMoJ2J1dHRvbjpub3QoW3RhYmluZGV4PSItMSJdKSwgW2hyZWZdOm5vdChbdGFiaW5kZXg9Ii0xIl0pOm5vdChbaHJlZj0iIl0pLGlucHV0Om5vdChbdGFiaW5kZXg9Ii0xIl0pLCBzZWxlY3Q6bm90KFt0YWJpbmRleD0iLTEiXSksdGV4dGFyZWE6bm90KFt0YWJpbmRleD0iLTEiXSksIFtpZnJhbWVdOm5vdChbdGFiaW5kZXg9Ii0xIl0pLFt0YWJpbmRleF06bm90KFt0YWJpbmRleD0iLTEiXSknKSYmYy5wdXNoKGQpOyJzaGFkb3dSb290ImluIGQmJmQuc2hhZG93Um9vdCYmQXJyYXkuZnJvbShkLnNoYWRvd1Jvb3QuY2hpbGRyZW4pLmZvckVhY2goYik7QXJyYXkuZnJvbShkLmNoaWxkcmVuKS5mb3JFYWNoKGIpfXZhciBjPVtdO2IoYSk7cmV0dXJuIGN9OwpfLkF3PWZ1bmN0aW9uKGEsYj0hMSl7YT1wbWEoYSk7cmV0dXJuIGI/YS5maWx0ZXIoYz0+IXp3KGMpJiYhXy5FcChjLCJbYXJpYS1oaWRkZW49dHJ1ZV0sIFthcmlhLWhpZGRlbj10cnVlXSAqIikpOmF9O18uQnc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5YaD09PWIuWGgmJmEuWWg9PT1iLllofTtfLkN3PWZ1bmN0aW9uKGEpe2EucGFyZW50Tm9kZSYmKGEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKSxfLmRxKGEpKX07RHc9ZnVuY3Rpb24oe2tpOmEsbGk6Yix1aTpjfSl7cmV0dXJuYCgke2F9LCR7Yn0pQCR7Y31gfTtfLkV3PWZ1bmN0aW9uKGEsYil7YT1fLk1xKGIpLmZyb21MYXRMbmdUb1BvaW50KGEpO3JldHVybiBuZXcgXy5XcChhLngsYS55KX07Cl8ucW1hPWZ1bmN0aW9uKGEsYixjPSExKXtiPV8uTXEoYik7cmV0dXJuIG5ldyBfLlJuKGIuZnJvbVBvaW50VG9MYXRMbmcobmV3IF8uYm8oYS5taW4ucWgsYS5tYXgucmgpLGMpLGIuZnJvbVBvaW50VG9MYXRMbmcobmV3IF8uYm8oYS5tYXgucWgsYS5taW4ucmgpLGMpKX07cm1hPWZ1bmN0aW9uKGEpe2EuVmkubGVuZ3RoJiYhYS5xaCYmKGEucWg9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YS5leGVjdXRlKCl9KSl9O18uRnc9ZnVuY3Rpb24oYSxiLGMsZCl7ZCYmYS5rZXlzLmhhcyhkKXx8KGQmJmEua2V5cy5hZGQoZCksYS5WaS5wdXNoKGIsYyxkKSxybWEoYSkpfTtfLkd3PWZ1bmN0aW9uKCl7cmV0dXJuIHNtYXx8KHNtYT1uZXcgdG1hKX07Xy5Idz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmtoKGEsMSxiKX07Xy5Jdz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmloKGEsMixiKX07Xy5Kdz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmJoKGEsMyxiKX07Cl8uS3c9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uT2coYSwxKX07Xy5Mdz1mdW5jdGlvbihhLGIpe3JldHVybiBfLkF1KGEsMSxiKX07Xy5Ndz1mdW5jdGlvbihhKXtyZXR1cm4gXy5PZyhhLDIpfTtfLk53PWZ1bmN0aW9uKGEsYil7Xy5BdShhLDIsYil9O18uT3c9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5paChhLDEsYil9O18uUHc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5raChhLDEsYil9O18uUnc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWmYoYSwyLF8uUXcpfTtfLlN3PWZ1bmN0aW9uKGEpe3JldHVybiBfLktnKGEsMil9O18uVHc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5iaChhLDIsYil9O18uVXc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uS2coYSwzKX07Xy5Wdz1mdW5jdGlvbihhLGIpe3JldHVybiBfLmJoKGEsMyxiKX07dm1hPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IHVtYTthPV8uamgoYSwyLF8uV3cpO3JldHVybiBfLmxoKGEsNiwxKX07CndtYT1mdW5jdGlvbihhLGIsYyl7Yz1jfHx7fTtjLmZvcm1hdD0ianNwYiI7dGhpcy5xaD1uZXcgXy5ScihjKTt0aGlzLnJoPWE9PXZvaWQgMD9hOmEucmVwbGFjZSgvXC8rJC8sIiIpfTtfLnltYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLnFoLnFoKGEucmgrIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5tYXBzLm1hcHNqcy52MS5NYXBzSnNJbnRlcm5hbFNlcnZpY2UvSW5pdE1hcHNKd3QiLGIse30seG1hKX07WHc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/Xy5jZShiPT57dHJ5e2lmKGIgaW5zdGFuY2VvZiBhKXJldHVybiEwO2xldCBjPWI/Lm93bmVyRG9jdW1lbnQ/LmRlZmF1bHRWaWV3Py5bYS5uYW1lXTtyZXR1cm4oMCxfLkZnYSkoYykmJmIgaW5zdGFuY2VvZiBjfWNhdGNoe3JldHVybiExfX0pOl8uY2UoKCk9PiExKX07Xy5Zdz1mdW5jdGlvbigpe3JldHVybiBfLlVhLmRldmljZVBpeGVsUmF0aW98fHNjcmVlbi5kZXZpY2VYRFBJJiZzY3JlZW4uZGV2aWNlWERQSS85Nnx8MX07CnptYT1mdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LGQ9Yy5oZWFkO2M9Yy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtjLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yy5jaGFyc2V0PSJVVEYtOCI7Yy5zcmM9Xy5yaihhKTtfLkthYShjKTtiJiYoYy5vbmVycm9yPWIpO2QuYXBwZW5kQ2hpbGQoYyk7cmV0dXJuIGN9O18uWnc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybihfLkpsP3FsYSgpOiIiKSthKyhiJiZfLll3KCk+MT8iX2hkcGkiOiIiKSsoYz8iLmdpZiI6Ii5wbmciKX07QW1hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuUmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGEuUmguRG4oe2NsaWVudFg6Yi5sZWZ0LGNsaWVudFk6Yi50b3B9KX07CkJtYT1mdW5jdGlvbihhLGIsYyl7aWYoIShjJiZiJiZhLmNlbnRlciYmYS5zY2FsZSYmYS5zaXplKSlyZXR1cm4gbnVsbDtiPV8uWG0oYik7dmFyIGQ9Xy5FdyhiLGEubWFwLmdldCgicHJvamVjdGlvbiIpKTtkPV8ud3YoYS5SaC5RayxkLGEuY2VudGVyKTsoYj1hLnNjYWxlLnFoKT8oZD1iLkJvKGQsYS5jZW50ZXIsXy56dihhLnNjYWxlKSxhLnNjYWxlLnRpbHQsYS5zY2FsZS5oZWFkaW5nLGEuc2l6ZSksYT1iLkJvKGMsYS5jZW50ZXIsXy56dihhLnNjYWxlKSxhLnNjYWxlLnRpbHQsYS5zY2FsZS5oZWFkaW5nLGEuc2l6ZSksYT17WGg6ZFswXS1hWzBdLFloOmRbMV0tYVsxXX0pOmE9Xy55dihhLnNjYWxlLF8udXYoZCxjKSk7cmV0dXJuIG5ldyBfLmJvKGEuWGgsYS5ZaCl9OwpDbWE9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7aWYoIShjJiZhLnNjYWxlJiZhLmNlbnRlciYmYS5zaXplJiZiKSlyZXR1cm4gbnVsbDt2YXIgZT1hLnNjYWxlLnFoO2U/KGM9ZS5CbyhjLGEuY2VudGVyLF8uenYoYS5zY2FsZSksYS5zY2FsZS50aWx0LGEuc2NhbGUuaGVhZGluZyxhLnNpemUpLGI9YS5zY2FsZS5xaC5FdyhjWzBdK2IueCxjWzFdK2IueSxhLmNlbnRlcixfLnp2KGEuc2NhbGUpLGEuc2NhbGUudGlsdCxhLnNjYWxlLmhlYWRpbmcsYS5zaXplKSk6Yj1fLnR2KGMsXy5YcChhLnNjYWxlLHtYaDpiLngsWWg6Yi55fSkpO3JldHVybiBfLk5xKGIsYS5tYXAuZ2V0KCJwcm9qZWN0aW9uIiksZCl9OwpfLiR3PWZ1bmN0aW9uKGEsYixjKXtpZihEbWEpcmV0dXJuIG5ldyBNb3VzZUV2ZW50KGEse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCx2aWV3OmMudmlldyxkZXRhaWw6MSxzY3JlZW5YOmIuY2xpZW50WCxzY3JlZW5ZOmIuY2xpZW50WSxjbGllbnRYOmIuY2xpZW50WCxjbGllbnRZOmIuY2xpZW50WSxjdHJsS2V5OmMuY3RybEtleSxzaGlmdEtleTpjLnNoaWZ0S2V5LGFsdEtleTpjLmFsdEtleSxtZXRhS2V5OmMubWV0YUtleSxidXR0b246Yy5idXR0b24sYnV0dG9uczpjLmJ1dHRvbnMscmVsYXRlZFRhcmdldDpjLnJlbGF0ZWRUYXJnZXR9KTt2YXIgZD1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtkLmluaXRNb3VzZUV2ZW50KGEsITAsITAsYy52aWV3LDEsYi5jbGllbnRYLGIuY2xpZW50WSxiLmNsaWVudFgsYi5jbGllbnRZLGMuY3RybEtleSxjLmFsdEtleSxjLnNoaWZ0S2V5LGMubWV0YUtleSxjLmJ1dHRvbixjLnJlbGF0ZWRUYXJnZXQpO3JldHVybiBkfTsKYXg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucXUoYS5xaCl9O18uYng9ZnVuY3Rpb24oYSl7YS5xaC5fX2dtX2ludGVybmFsX19ub0Rvd249ITB9O18uY3g9ZnVuY3Rpb24oYSl7YS5xaC5fX2dtX2ludGVybmFsX19ub01vdmU9ITB9O18uZHg9ZnVuY3Rpb24oYSl7YS5xaC5fX2dtX2ludGVybmFsX19ub1VwPSEwfTtfLmV4PWZ1bmN0aW9uKGEpe2EucWguX19nbV9pbnRlcm5hbF9fbm9Db250ZXh0TWVudT0hMH07Xy5meD1mdW5jdGlvbihhLGIpe3JldHVybiBfLlVhLnNldFRpbWVvdXQoKCk9Pnt0cnl7YSgpfWNhdGNoKGMpe3Rocm93IGM7fX0sYil9O2d4PWZ1bmN0aW9uKGEsYil7YS5zaCYmKF8uVWEuY2xlYXJUaW1lb3V0KGEuc2gpLGEuc2g9MCk7YiYmKGEucmg9YixiLlF3JiZiLmpxJiYoYS5zaD1fLmZ4KCgpPT57Z3goYSxiLmpxKCkpfSxiLlF3KSkpfTsKRm1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9aHgoYS5xaC5GbigpKSxkPWIucWguc2hpZnRLZXk7ZD1hLnNoJiZjLlBvPT09MSYmYS5xaC5Dai50TXx8ZCYmYS5xaC5Dai5KSnx8YS5xaC5Dai5HcztpZighZHx8YXgoYil8fGIucWguX19nbV9pbnRlcm5hbF9fbm9EcmFnKXJldHVybiBuZXcgaXgoYS5xaCk7ZC5rbihjLGIpO3JldHVybiBuZXcgRW1hKGEucWgsZCxjLkVqKX07Cmh4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubGVuZ3RoLGM9MCxkPTAsZT0wO2Zvcih2YXIgZj0wO2Y8YjsrK2Ype3ZhciBnPWFbZl07Yys9Zy5jbGllbnRYO2QrPWcuY2xpZW50WTtlKz1nLmNsaWVudFgqZy5jbGllbnRYK2cuY2xpZW50WSpnLmNsaWVudFl9Zz1mPTA7YS5sZW5ndGg9PT0yJiYoZj1hWzBdLGc9YVsxXSxhPWYuY2xpZW50WC1nLmNsaWVudFgsZz1mLmNsaWVudFktZy5jbGllbnRZLGY9TWF0aC5hdGFuMihhLGcpKjE4MC9NYXRoLlBJKzE4MCxnPU1hdGguaHlwb3QoYSxnKSk7dmFyIHtCcTpoLHZ1Omt9PXtCcTpmLHZ1Omd9O3JldHVybntFajp7Y2xpZW50WDpjL2IsY2xpZW50WTpkL2J9LHJhZGl1czpNYXRoLnNxcnQoZS0oYypjK2QqZCkvYikrMUUtMTAsUG86YixCcTpoLHZ1Omt9fTtreD1mdW5jdGlvbihhKXthLnJoIT0tMSYmYS50aCYmKF8uVWEuY2xlYXJUaW1lb3V0KGEucmgpLGEueGgudW0obmV3IF8uangoYS50aCxhLnRoLDEpKSxhLnJoPS0xKX07CkdtYT1mdW5jdGlvbihhLGIpe2lmKGx4KGIpKXtteD1EYXRlLm5vdygpO3ZhciBjPSExOyFhLnRoLnpofHxfLmlqKGEucWgucWgpLmxlbmd0aCE9MXx8Yi50eXBlIT0icG9pbnRlcmNhbmNlbCImJmIudHlwZSE9Ik1TUG9pbnRlckNhbmNlbCJ8fChhLnJoLm1uKG5ldyBfLmp4KGIsYiwxKSksYz0hMCk7dmFyIGQ9LTE7YyYmKGQ9Xy5meCgoKT0+a3goYS50aCksMTUwMCkpO2EucWguZGVsZXRlKGIpO18uaWooYS5xaC5xaCkubGVuZ3RoPT0wJiZhLnRoLnJlc2V0KGIsZCk7Y3x8YS5yaC51bShuZXcgXy5qeChiLGIsMSkpfX07bHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wb2ludGVyVHlwZTtyZXR1cm4gYj09InRvdWNoInx8Yj09YS5NU1BPSU5URVJfVFlQRV9UT1VDSH07CkhtYT1mdW5jdGlvbihhLGIpe254PURhdGUubm93KCk7IV8ucXUoYikmJmEuc2gmJl8uZm4oYik7YS5xaD1BcnJheS5mcm9tKGIudG91Y2hlcyk7YS5xaC5sZW5ndGg9PT0wJiZhLnhoLnJlc2V0KGIuY2hhbmdlZFRvdWNoZXNbMF0pO2EudGgudW0obmV3IF8uangoYixiLmNoYW5nZWRUb3VjaGVzWzBdLDEsKCk9PnthLnNoJiZiLnRhcmdldC5kaXNwYXRjaEV2ZW50KF8uJHcoImNsaWNrIixiLmNoYW5nZWRUb3VjaGVzWzBdLGIpKX0pKX07b3g9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYnV0dG9ucz09Mnx8YS53aGljaD09M3x8YS5idXR0b249PTI/MzoyfTtfLnF4PWZ1bmN0aW9uKGEsYixjKXtiPW5ldyBJbWEoYik7Yz1fLnB4PT09Mj9uZXcgSm1hKGEsYik6bmV3IEttYShhLGIsYyk7Yi5hZGRMaXN0ZW5lcihjKTtiLmFkZExpc3RlbmVyKG5ldyBMbWEoYSxiLGMpKTtyZXR1cm4gYn07Cl8uc3g9ZnVuY3Rpb24oYSxiKXtiPWJ8fG5ldyBfLnJ4O18uUHcoYiwyNik7dmFyIGM9Xy5SdyhiKTtfLk93KGMsInN0eWxlcyIpO2Muc2V0VmFsdWUoYSk7cmV0dXJuIGJ9OwpfLlJtYT1mdW5jdGlvbihhLGIsYyl7aWYoIWEubGF5ZXJJZClyZXR1cm4gbnVsbDtjPWN8fG5ldyBfLnR4O18uSHcoYywyKTtfLkl3KGMsYS5sYXllcklkKTtiJiZfLnh1KGMsNSxfLkZlLDAsMSxfLkdlKTtmb3IodmFyIGQgb2YgT2JqZWN0LmtleXMoYS5wYXJhbWV0ZXJzKSliPV8uWmYoYyw0LF8udXgpLF8uaWgoYiwxLGQpLGIuc2V0VmFsdWUoYS5wYXJhbWV0ZXJzW2RdKTthLnNwb3RsaWdodERlc2NyaXB0aW9uJiYoZD1fLndnKGMsXy52eCw4KSxfLkt2KGQsYS5zcG90bGlnaHREZXNjcmlwdGlvbikpO2EubWFwc0FwaUxheWVyJiYoZD1fLndnKGMsXy53eCw5KSxfLkt2KGQsYS5tYXBzQXBpTGF5ZXIpKTthLm92ZXJsYXlMYXllciYmXy5LdihfLndnKGMsXy54eCw2KSxhLm92ZXJsYXlMYXllcik7YS5jYXNlRXhwZXJpbWVudElkcyYmKGQ9bmV3IE1tYSxfLm5nKGQsMSxhLmNhc2VFeHBlcmltZW50SWRzLF8uRmUpLF8uYXYoYyxObWEsZCkpO2EuYm9vc3RNYXBFeHBlcmltZW50SWRzJiYKKGQ9bmV3IE9tYSxfLm5nKGQsMSxhLmJvb3N0TWFwRXhwZXJpbWVudElkcyxfLkZlKSxfLmF2KGMsUG1hLGQpKTthLmRhcmtMYXVuY2gmJihhPW5ldyBRbWEsXy5raChhLDEsMSksXy5FZyhjLFFtYSwxMSxhKSk7cmV0dXJuIGN9O18ueXg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5paChhLDIsYil9O18ueng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5paChhLDMsYil9O18uQXg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5raChhLDUsYil9O1NtYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkd2KGEsMTIsXy5yeCxiKX07Xy5CeD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnd1KGEsMTIsXy5yeCxiKX07Xy5DeD1mdW5jdGlvbihhKXtyZXR1cm4gXy5aZihhLDEyLF8ucngpfTtfLkR4PWZ1bmN0aW9uKGEpe3JldHVybiBfLllmKGEsXy5yeCwxMil9O18uRng9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ud2coYSxfLkV4LDEpfTtfLkd4PWZ1bmN0aW9uKGEpe3JldHVybiBfLlpmKGEsMixfLnR4KX07Cl8uSHg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWWYoYSxfLnR4LDIpfTtfLkp4PWZ1bmN0aW9uKGEpe3JldHVybiBfLndnKGEsXy5JeCwzKX07Xy5UbWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChhKS5yZXBsYWNlKC8lMjAvZywiKyIpfTtfLkt4PWZ1bmN0aW9uKGEsYil7Yi5mb3JFYWNoKGM9Pnt2YXIgZD0hMTtmb3IobGV0IGU9MCxmPV8uVGcoYS5yZXF1ZXN0LDIzKTtlPGY7ZSsrKWlmKF8uU2coYS5yZXF1ZXN0LDIzLGUpPT09Yyl7ZD0hMDticmVha31kfHxfLm1oKGEucmVxdWVzdCwyMyxjKX0pfTtfLkx4PWZ1bmN0aW9uKGEsYixjLGQ9ITApe2I9Xy56eChfLnl4KF8uSngoYS5yZXF1ZXN0KSxiKSxjKTtfLkxwWzQzXT9fLkF4KGIsNzgpOl8uTHBbMzVdP18uQXgoYiwyODkpOl8uQXgoYiwxOCk7ZCYmXy5IbCgidXRpbCIpLnRoZW4oZT0+e2UuZXIucWgoKCk9Pnt2YXIgZj1fLkh3KF8uR3goYS5yZXF1ZXN0KSwyKTtfLndnKGYsXy54eCw2KS5hZGRFbGVtZW50KDUpfSl9KX07Cl8uVW1hPWZ1bmN0aW9uKGEsYil7Xy5raChhLnJlcXVlc3QsNCxiKTtiPT09Mz8oYj1fLndnKGEucmVxdWVzdCxNeCwxMiksXy4kZyhiLDUsITApLGE9Xy53ZyhhLnJlcXVlc3QsTXgsMTIpLF8uJGcoYSw2LCEwKSk6Xy5RZihhLnJlcXVlc3QsMTIpfTtfLlZtYT1mdW5jdGlvbihhLGIsYz0wKXthPV8uVncoXy5UdyhfLkZ4KF8uWmYoYS5yZXF1ZXN0LDEsXy5OeCkpLGIua2kpLGIubGkpLnNldFpvb20oYi51aSk7YyYmXy5iaChhLDQsYyl9O18uV21hPWZ1bmN0aW9uKGEsYixjLGQpe2I9PT0idGVycmFpbiI/KF8uSncoXy5JdyhfLkh3KF8uR3goYS5yZXF1ZXN0KSw0KSwidCIpLGQpLF8uSncoXy5JdyhfLkh3KF8uR3goYS5yZXF1ZXN0KSwwKSwiciIpLGMpKTpfLkp3KF8uSXcoXy5IdyhfLkd4KGEucmVxdWVzdCksMCksIm0iKSxjKX07ClltYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBTZXQoT2JqZWN0LnZhbHVlcyhYbWEpKSxkPV8ud2coYS5yZXF1ZXN0LF8uT3gsMjYpO2IuZm9yRWFjaChlPT57dmFyIGY9ITE7Zm9yKGxldCBnPTAsaD1fLmpnKGQsMSxfLkVlLDMsITApLmxlbmd0aDtnPGg7ZysrKWlmKF8uWGcoZCwxLGcpPT09ZSl7Zj0hMDticmVha30hZiYmYy5oYXMoZSkmJl8uQnUoZCwxLGUpfSl9O18uUHg9ZnVuY3Rpb24oYSxiKXtiLmdldFR5cGUoKT09PTY4PyhhPV8uQ3goXy5KeChhLnJlcXVlc3QpKSxfLkt2KGEsYiksXy5ZZihiLF8uUXcsMik+MCYmXy53dShiLDIsXy5RdywwKS5nZXRLZXkoKT09PSJzZXQiJiZfLnd1KGIsMixfLlF3LDApLmdldFZhbHVlKCk9PT0iUm9hZG1hcCImJl8ua2goYSw0LDIpKTpfLkt2KF8uQ3goXy5KeChhLnJlcXVlc3QpKSxiKX07Cl8uWm1hPWZ1bmN0aW9uKGEsYil7Yi5wYWludEV4cGVyaW1lbnRJZHMmJl8uS3goYSxiLnBhaW50RXhwZXJpbWVudElkcyk7Yi5EQSYmXy5LdihfLndnKGEucmVxdWVzdCxfLk94LDI2KSxiLkRBKTt2YXIgYz1iLlRKO2lmKGMmJiFfLmpqKGMpKXtsZXQgZDtmb3IobGV0IGU9MCxmPV8uRHgoXy5HKGEucmVxdWVzdCxfLkl4LDMpKTtlPGY7ZSsrKWlmKF8uQngoXy5HKGEucmVxdWVzdCxfLkl4LDMpLGUpLmdldFR5cGUoKT09PTI2KXtkPVNtYShfLkp4KGEucmVxdWVzdCksZSk7YnJlYWt9ZHx8KGQ9Xy5DeChfLkp4KGEucmVxdWVzdCkpLF8uUHcoZCwyNikpO2ZvcihsZXQgW2UsZl1vZiBPYmplY3QuZW50cmllcyhjKSl7Yz1lO2xldCBnPWY7Xy5PdyhfLlJ3KGQpLGMpLnNldFZhbHVlKGcpfX0oYj1iLnN0eWxlcnMpJiZiLmxlbmd0aCYmYi5mb3JFYWNoKGQ9Pnt2YXIgZT1kLmdldFR5cGUoKTtmb3IobGV0IGY9MCxnPV8uRHgoXy5HKGEucmVxdWVzdCxfLkl4LDMpKTtmPGc7ZisrKWlmKF8uQngoXy5HKGEucmVxdWVzdCwKXy5JeCwzKSxmKS5nZXRUeXBlKCk9PT1lKXtlPV8uSngoYS5yZXF1ZXN0KTtfLkl2KGUsMTIsXy5yeCxmKTticmVha31fLlB4KGEsZCl9KX07Cl8uUXg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Zi5pbm5lclRleHQ9IkZvciBkZXZlbG9wbWVudCBwdXJwb3NlcyBvbmx5IjtmLnN0eWxlLndvcmRCcmVhaz0iYnJlYWstYWxsIjtlLmFwcGVuZENoaWxkKGYpO2Y9ZS5zdHlsZTtmLmNvbG9yPSJ3aGl0ZSI7Zi5mb250RmFtaWx5PSJSb2JvdG8sIHNhbnMtc2VyaWYiO2YuZm9udFNpemU9IjE0cHgiO2YudGV4dEFsaWduPSJjZW50ZXIiO2YucG9zaXRpb249ImFic29sdXRlIjtmLmxlZnQ9IjAiO2YudG9wPSI1MCUiO2YudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKC01MCUpIjtmLm1heEhlaWdodD0iMTAwJSI7Zi53aWR0aD0iMTAwJSI7Zi5vdmVyZmxvdz0iaGlkZGVuIjtkLmFwcGVuZENoaWxkKGUpO2U9ZC5zdHlsZTtlLmJhY2tncm91bmRDb2xvcj0icmdiYSgwLCAwLCAwLCAwLjUpIjsKZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Uub3ZlcmZsb3c9ImhpZGRlbiI7ZS50b3A9IjAiO2UubGVmdD0iMCI7ZS53aWR0aD1gJHtifXB4YDtlLmhlaWdodD1gJHtjfXB4YDtlLnpJbmRleD0iMTAwIjthLmFwcGVuZENoaWxkKGQpfTtfLlN4PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLiRtYShfLkcoXy5KbCxfLlJ4LDIpLF8ua3YoKSxfLkpsLnJoKCkpfTtfLlR4PWZ1bmN0aW9uKGEsYj0hMSl7YT1hLnRoO3ZhciBjPWI/Xy5XZyhhLDIpOl8uV2coYSwxKSxkPVtdO2ZvcihsZXQgZT0wO2U8YztlKyspZC5wdXNoKGI/Xy5WZyhhLDIsZSk6Xy5WZyhhLDEsZSkpO3JldHVybiBkLm1hcChlPT5lKyI/Iil9O18uYW5hPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbKGIua2krMipiLmxpKSVhLmxlbmd0aF19O2JuYT1mdW5jdGlvbihhKXthLnNoJiYoYS5zaC5yZW1vdmUoKSxhLnNoPW51bGwpO2EucmgmJihfLkN3KGEucmgpLGEucmg9bnVsbCl9OwpjbmE9ZnVuY3Rpb24oYSl7YS5zaHx8KGEuc2g9Xy5xbihfLlVhLCJvbmxpbmUiLCgpPT57YS53aCYmYS5zZXRVcmwoYS51cmwpfSkpO2lmKCFhLnJoJiZhLmVycm9yTWVzc2FnZSl7YS5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmRpdi5hcHBlbmRDaGlsZChhLnJoKTt2YXIgYj1hLnJoLnN0eWxlO2IuZm9udEZhbWlseT0iUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWYiO2IuZm9udFNpemU9Ingtc21hbGwiO2IudGV4dEFsaWduPSJjZW50ZXIiO2IucGFkZGluZ1RvcD0iNmVtIjtfLlRwKGEucmgpO18uc3coYS5lcnJvck1lc3NhZ2UsYS5yaCk7YS5YeSYmYS5YeSgpfX07ZG5hPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpfTtfLlV4PWZ1bmN0aW9uKGEpe3ZhciB7a2k6YixsaTpjLHVpOmR9PWEsZT0xPDxkO3JldHVybiBjPDB8fGM+PWU/bnVsbDpiPj0wJiZiPGU/YTp7a2k6KGIlZStlKSVlLGxpOmMsdWk6ZH19OwplbmE9ZnVuY3Rpb24oYSxiKXt2YXIge2tpOmMsbGk6ZCx1aTplfT1hLGY9MTw8ZSxnPU1hdGguY2VpbChmKmIubWF4WSk7aWYoZDxNYXRoLmZsb29yKGYqYi5taW5ZKXx8ZD49ZylyZXR1cm4gbnVsbDtnPU1hdGguZmxvb3IoZipiLm1pblgpO2I9TWF0aC5jZWlsKGYqYi5tYXhYKTtpZihjPj1nJiZjPGIpcmV0dXJuIGE7YT1iLWc7Yz1NYXRoLnJvdW5kKCgoYy1nKSVhK2EpJWErZyk7cmV0dXJue2tpOmMsbGk6ZCx1aTplfX07Xy5WeD1mdW5jdGlvbihhLGIpe3ZhciBjPU1hdGgucG93KDIsYi51aSk7cmV0dXJuIGEucm90YXRlKC0xLG5ldyBfLldwKGEuc2l6ZS5YaCpiLmtpL2MsYS5zaXplLlloKiguNSsoYi5saS9jLS41KS9hLnFoKSkpfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkPU1hdGguZmxvb3Ipe3ZhciBlPU1hdGgucG93KDIsYyk7Yj1hLnJvdGF0ZSgxLGIpO3JldHVybntraTpkKGIucWgqZS9hLnNpemUuWGgpLGxpOmQoZSooLjUrKGIucmgvYS5zaXplLlloLS41KSphLnFoKSksdWk6Y319O18uWHg9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ibnVtYmVyIilyZXR1cm4gXy5VeDt2YXIgYj0oMS0xL01hdGguc3FydCgyKSkvMixjPTEtYjtpZihhJTE4MD09PTApe2xldCBlPV8uem8oMCxiLDEsYyk7cmV0dXJuIGY9PmVuYShmLGUpfXZhciBkPV8uem8oYiwwLGMsMSk7cmV0dXJuIGU9Pnt2YXIgZj1lbmEoe2tpOmUubGksbGk6ZS5raSx1aTplLnVpfSxkKTtyZXR1cm57a2k6Zi5saSxsaTpmLmtpLHVpOmUudWl9fX07Zm5hPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuc2gucG9wKCk7KWIuUmgueG0oYil9OwpfLll4PWZ1bmN0aW9uKGEsYil7aWYoYiE9PWEucmgpe2EucWgmJihhLnFoLmZyZWV6ZSgpLGEuc2gucHVzaChhLnFoKSk7YS5yaD1iO3ZhciBjPWEucWg9YiYmYS50aChiLGQ9PnthLnFoPT09YyYmKGR8fGZuYShhKSxhLndoKGQpKX0pfX07Xy4keD1mdW5jdGlvbihhKXtfLlp4P18uVWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGEpOl8uZngoKCk9PmEoRGF0ZS5ub3coKSksMCl9O18uYXk9ZnVuY3Rpb24oKXtyZXR1cm4gZ25hLmZpbmQoYT0+YSBpbiBkb2N1bWVudC5ib2R5LnN0eWxlKX07Xy5ieT1mdW5jdGlvbihhKXt2YXIgYj1hLkNpO3JldHVybntDaTpiLEluOmEuSW4sZU86KHtyajpjLGNvbnRhaW5lcjpkLHprOmUsRlE6Zn0pPT5uZXcgaG5hKHtjb250YWluZXI6ZCxyajpjLHN2OmEua20oZix7ems6ZX0pLENpOmJ9KX19OwpkeT1mdW5jdGlvbihhKXtjeS5oYXMoYS5jb250YWluZXIpfHxjeS5zZXQoYS5jb250YWluZXIsbmV3IE1hcCk7dmFyIGI9Y3kuZ2V0KGEuY29udGFpbmVyKSxjPWEucmoudWk7Yi5oYXMoYyl8fGIuc2V0KGMsbmV3IGluYShhLmNvbnRhaW5lcixjKSk7cmV0dXJuIGIuZ2V0KGMpfTtqbmE9ZnVuY3Rpb24oYSxiKXthLmRpdi5hcHBlbmRDaGlsZChiKTthLmRpdi5wYXJlbnROb2RlfHxhLmNvbnRhaW5lci5hcHBlbmRDaGlsZChhLmRpdil9OwpleT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9TWF0aC5jZWlsKChhLnNoK2EucWgpLzIpLGM9TWF0aC5jZWlsKChhLnRoK2EucmgpLzIpO3lpZWxke2tpOmIsbGk6Yyx1aTphLnVpfTtmb3IodmFyIGQ9Wy0xLDAsMSwwXSxlPVswLC0xLDAsMV0sZj0wLGc9MTs7KXtmb3IobGV0IGg9MDtoPGc7KytoKXtiKz1kW2ZdO2MrPWVbZl07aWYoKGM8YS50aHx8Yz5hLnJoKSYmKGI8YS5zaHx8Yj5hLnFoKSlyZXR1cm47YS50aDw9YyYmYzw9YS5yaCYmYS5zaDw9YiYmYjw9YS5xaCYmKHlpZWxke2tpOmIsbGk6Yyx1aTphLnVpfSl9Zj0oZisxKSU0O2VbZl09PT0wJiZnKyt9fSgpfTsKa25hPWZ1bmN0aW9uKGEsYixjLGQpe2EuemgmJihfLlVhLmNsZWFyVGltZW91dChhLnpoKSxhLnpoPTApO2lmKGEuaXNBY3RpdmUmJmIudWk9PT1hLnNoKWlmKCFjJiYhZCYmRGF0ZS5ub3coKTxhLkFoKzI1MClhLnpoPV8uZngoKCk9PnZvaWQga25hKGEsYixjLGQpLGEuQWgrMjUwLURhdGUubm93KCkpO2Vsc2V7YS53aD1iO2xuYShhKTtmb3IodmFyIGUgb2YgYS5xaC52YWx1ZXMoKSllLnNldFpJbmRleChTdHJpbmcobW5hKGUucmoudWksYi51aSkpKTtpZihhLmlzQWN0aXZlJiYoZHx8YS50aC5JbiE9PTMpKWZvcihsZXQgaCBvZiBleShiKSl7ZT1EdyhoKTtpZihhLnFoLmhhcyhlKSljb250aW51ZTthLnlofHwoYS55aD0hMCxhLkJoKCEwKSk7bGV0IGs9aC51aTt2YXIgZj1hLnRoLkNpLGc9Xy5WeChmLHtraTpoLmtpKy41LGxpOmgubGkrLjUsdWk6a30pO2c9YS5SaC5Ray53cmFwKGcpO2Y9Xy5XeChmLGcsayk7bGV0IG09YS50aC5lTyh7Y29udGFpbmVyOmEucmgscmo6aCxGUTpmfSk7CmEucWguc2V0KGUsbSk7bS5zZXRaSW5kZXgoU3RyaW5nKG1uYShrLGIudWkpKSk7YS5vcmlnaW4mJmEuc2NhbGUmJmEuaGludCYmYS5zaXplJiZtLnRpKGEub3JpZ2luLGEuc2NhbGUsYS5oaW50LlZyLGEuc2l6ZSk7YS54aD9tLmxvYWRlZC50aGVuKCgpPT52b2lkIG5uYShhLG0pKTptLmxvYWRlZC50aGVuKCgpPT5tLnNob3coYS5DQSkpLnRoZW4oKCk9PnZvaWQgbm5hKGEsbSkpfX19O2xuYT1mdW5jdGlvbihhKXtpZihhLnloJiZbLi4uZXkoYS53aCldLmV2ZXJ5KGM9Pm9uYShhLGMpKSl7aWYoYS54aCl7dmFyIGI9Wy4uLmEucWgua2V5cygpXTtmb3IobGV0IGMgb2YgYilwbmEoYSxjKTtiPWV5KGEud2gpO2ZvcihsZXQgYyBvZiBiKShiPWEucWguZ2V0KER3KGMpKSkmJnFuYShhLGMpLmxlbmd0aD09PTAmJmIuc2hvdyghMSl9YS55aD0hMTthLkJoKCExKX19OwpubmE9ZnVuY3Rpb24oYSxiKXtpZighYS54aCYmYS53aD8uaGFzKGIucmopKXtiPXFuYShhLGIucmopO2ZvcihsZXQgYyBvZiBiKXBuYShhLGMpfWxuYShhKX07cW5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Zm9yKGxldCBkIG9mIGEucWgudmFsdWVzKCkpYT1kLnJqLGEudWkhPT1iLnVpJiZybmEoYSxiKSYmYy5wdXNoKER3KGEpKTtyZXR1cm4gY307cG5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5xaC5nZXQoYiksZDtpZihkPWMmJmMucmoudWkhPT1hLnNoKWE6e2Q9Yy5yajtmb3IobGV0IGUgb2YgZXkoYS53aCkpaWYocm5hKGUsZCkmJiFvbmEoYSxlKSl7ZD0hMTticmVhayBhfWQ9ITB9ZCYmKGMucmVsZWFzZSgpLGEucWguZGVsZXRlKGIpKX07b25hPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGI9YS5xaC5nZXQoRHcoYikpKT9hLnhoP2IuTW8oKTpiLmhCOiExfTtzbmE9ZnVuY3Rpb24oe2tpOmEsbGk6Yix1aTpjfSxkKXtkPWMtZDtyZXR1cm57a2k6YT4+ZCxsaTpiPj5kLHVpOmMtZH19OwpybmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1NYXRoLm1pbihhLnVpLGIudWkpO2E9c25hKGEsYyk7Yj1zbmEoYixjKTtyZXR1cm4gYS5raT09PWIua2kmJmEubGk9PT1iLmxpfTttbmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYTxiP2E6MUUzLWF9OwpfLnVuYT1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPWEuZ2V0Q2VudGVyKCksZj1hLmdldFpvb20oKSxnPWEuZ2V0UHJvamVjdGlvbigpO2lmKGUmJmYhPW51bGwmJmcpe3ZhciBoPTAsaz0wLG09YS5fX2dtLmdldCgiYmFzZU1hcFR5cGUiKTttJiZtLm93JiYoaD1hLmdldFRpbHQoKXx8MCxrPWEuZ2V0SGVhZGluZygpfHwwKTthPV8uRXcoZSxnKTtkPWIubkQoe2NlbnRlcjphLHpvb206Zix0aWx0OmgsaGVhZGluZzprfSx0eXBlb2YgZD09PSJudW1iZXIiP3t0b3A6ZCxib3R0b206ZCxsZWZ0OmQscmlnaHQ6ZH06e3RvcDpkLnRvcHx8MCxib3R0b206ZC5ib3R0b218fDAsbGVmdDpkLmxlZnR8fDAscmlnaHQ6ZC5yaWdodHx8MH0pO2M9am1hKF8uTXEoZyksYyk7Zz1uZXcgXy5XcCgoYy5tYXhYLWMubWluWCkvMiwoYy5tYXhZLWMubWluWSkvMik7ZT1fLnd2KGIuUWssbmV3IF8uV3AoKGMubWluWCtjLm1heFgpLzIsKGMubWluWStjLm1heFkpLzIpLGEpO2M9Xy51dihlLGcpO2U9Xy50dihlLApnKTtnPXRuYShjLnFoLGUucWgsZC5taW4ucWgsZC5tYXgucWgpO2Q9dG5hKGMucmgsZS5yaCxkLm1pbi5yaCxkLm1heC5yaCk7Zz09PTAmJmQ9PT0wfHxiLllsKHtjZW50ZXI6Xy50dihhLG5ldyBfLldwKGcsZCkpLHpvb206ZixoZWFkaW5nOmssdGlsdDpofSwhMCl9fTt0bmE9ZnVuY3Rpb24oYSxiLGMsZCl7YS09YztiLT1kO3JldHVybiBhPDAmJmI8MD9NYXRoLm1heChhLGIpOmE+MCYmYj4wP01hdGgubWluKGEsYik6MH07Cl8udm5hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBNYXA7aWYoIWEucWh8fCFhLmVvKCkpcmV0dXJuIGI7aWYoXy5TZihhLnFoLF8uZnksMTMpKXthPV8uRyhhLnFoLF8uZnksMTMpO2Zvcih2YXIgYyBvZiBfLkNnKGEsXy5neSw1KSl7YT1fLlBnKGMsMSk7dmFyIGQ9Xy5IKGMsNSk7bGV0IGU9MDtzd2l0Y2goYSl7Y2FzZSAxOmU9ODtiLnNldCg3LGQpO2JyZWFrO2Nhc2UgMjplPTI3O2JyZWFrO2Nhc2UgMTI6ZT0xODticmVhaztjYXNlIDEzOmU9MzA7YnJlYWs7Y2FzZSA1OmU9MTI7YnJlYWs7Y2FzZSA2OmU9Mjk7YnJlYWs7Y2FzZSA3OmU9MTF9ZSYmZCYmYi5zZXQoZSxkKX19ZWxzZSBpZihfLm12KGEucWgpKWZvcihjPV8ubHYoYS5xaCksYT0wO2E8Xy5ZZihjLF8uaHksMyk7YSsrKWQ9Xy53dShjLDMsXy5oeSxhKSxiLnNldChfLlBnKGQsMSksZC5nZXRVcmwoKSk7cmV0dXJuIGJ9Owp3bmE9ZnVuY3Rpb24oYSl7aWYoYS5xaCYmXy5tdihhLnFoKSYmYS5lbygpKXt2YXIgYj1fLmx2KGEucWgpO2lmKGI9Xy5IKGIsNikpcmV0dXJuIGEucmghPT0xP2Ake2J9c2RrX21hcF92YXJpYW50PSR7YS5yaH0mYDpifXJldHVybiIifTt4bmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPVtdO2lmKCFhLnFoKXJldHVybiBjO3ZhciBlPV8uS2coYS5xaCw1KTtpZihlKXt2YXIgZj1uZXcgXy5peTtmLmxheWVySWQ9Im1hcHNfYXBpIjtmLm1hcHNBcGlMYXllcj1uZXcgXy53eChbZV0pO2MucHVzaChmKTtkLnB1c2goMTYxNTMyKX1pZihfLkxwWzE1XSYmXy5XZyhhLnFoLDExKSlmb3IoZT0wO2U8Xy5XZyhhLnFoLDExKTtlKyspZj1uZXcgXy5peSxmLmxheWVySWQ9Xy5WZyhhLnFoLDExLGUpLGMucHVzaChmKTtiJiZkLmZvckVhY2goZz0+e2IoZyl9KTtyZXR1cm4gY307CkFuYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9W107aWYoIWEucWh8fCFfLm12KGEucWgpKXJldHVybiBjO2E9Xy5sdihhLnFoKTtpZighXy5TZihhLGh2LDEpKXJldHVybiBjO2E9Xy5pdihhKTtmb3IodmFyIGU9MDtlPF8uWWYoYSx5bmEsMSk7ZSsrKXtsZXQgZj1fLnd1KGEsMSx5bmEsZSksZz1uZXcgXy5peTtnLmxheWVySWQ9Zi5nZXRJZCgpO18ueXUoZixfLnd4LDIsem5hKSYmKGcubWFwc0FwaUxheWVyPW5ldyBfLnd4LF8uS3YoZy5tYXBzQXBpTGF5ZXIsXy56dShmLF8ud3gsMix6bmEpKSk7Yy5wdXNoKGcpfWZvcihlPTA7ZTxfLllmKGEsanksNik7ZSsrKWlmKG9sYShfLnd1KGEsNixqeSxlKSkpe2QucHVzaCgxNjI3MDEpO2JyZWFrfWZvcihlPTA7ZTxfLllmKGEsanksNik7ZSsrKWlmKHBsYShfLnd1KGEsNixqeSxlKSkpe2QucHVzaCgxNzcxMjkpO2JyZWFrfWImJmQuZm9yRWFjaChmPT57YihmKX0pO3JldHVybiBjfTsKXy5CbmE9ZnVuY3Rpb24oYSxiKXtpZighYS5xaClyZXR1cm5bXTt2YXIgYz14bmEoYSxiKSxkPUFuYShhLGIpO3JldHVyblsuLi5jLmZpbHRlcihlPT4hZC5zb21lKGY9PmUubGF5ZXJJZD09PWYubGF5ZXJJZCkpLC4uLmRdfTtDbmE9ZnVuY3Rpb24oYSl7aWYoIWEucWgpcmV0dXJuIG51bGw7dmFyIGI9W107Zm9yKGxldCBkPTA7ZDxfLlRnKGEucWgsNyk7ZCsrKWIucHVzaChfLlNnKGEucWgsNyxkKSk7dmFyIGM9bnVsbDtiLmxlbmd0aCYmKGM9bmV3IF8uT3gsYi5mb3JFYWNoKGQ9PntfLkJ1KGMsMSxkKX0pKTtfLm12KGEucWgpJiYoYT1fLml2KF8ubHYoYS5xaCkpKSYmXy5TZihhLF8uT3gsNCkmJihjPW5ldyBfLk94LF8uS3YoYyxfLkcoYSxfLk94LDQpKSk7cmV0dXJuIGN9OwpfLkRuYT1mdW5jdGlvbihhKXtpZihhLmlzRW1wdHkoKSlyZXR1cm4gbnVsbDtpZihhLnFoKXt2YXIgYj1bXTtmb3IodmFyIGM9MDtjPF8uVGcoYS5xaCw2KTtjKyspYi5wdXNoKF8uU2coYS5xaCw2LGMpKTtpZihfLm12KGEucWgpJiYoYz1fLml2KF8ubHYoYS5xaCkpKSYmXy5UZyhjLDUpKXtiPVtdO2Zvcih2YXIgZD0wO2Q8Xy5UZyhjLDUpO2QrKyliLnB1c2goXy5TZyhjLDUsZCkpfX1lbHNlIGI9bnVsbDtiPWJ8fFtdO2M9Q25hKGEpO2lmKGEucWgmJl8uWWYoYS5xaCxreSw4KSl7ZD17fTtmb3IodmFyIGU9MDtlPF8uWWYoYS5xaCxreSw4KTtlKyspe3ZhciBmPV8ud3UoYS5xaCw4LGt5LGUpO18ucHUoZiwxKSYmKGRbZi5nZXRLZXkoKV09Zi5nZXRWYWx1ZSgpKX19ZWxzZSBkPW51bGw7aWYoYS5xaCYmXy5tdihhLnFoKSYmYS5lbygpKWlmKChhPV8uaXYoXy5sdihhLnFoKSkpJiZfLlNmKGEsXy5seSwzKSl7YT1fLkcoYSxfLmx5LDMpO2U9W107Zm9yKGY9MDtmPF8uWWYoYSxfLm15LAoxKTtmKyspe2xldCBnPV8ud3UoYSwxLF8ubXksZiksaD1fLlB3KG5ldyBfLnJ4LGcuZ2V0VHlwZSgpKTtmb3IobGV0IGs9MDtrPF8uWWYoZyxfLm55LDIpO2srKyl7bGV0IG09Xy53dShnLDIsXy5ueSxrKTtfLk93KF8uUncoaCksbS5nZXRLZXkoKSkuc2V0VmFsdWUobS5nZXRWYWx1ZSgpKX1lLnB1c2goaCl9YT1lLmxlbmd0aD9lOm51bGx9ZWxzZSBhPW51bGw7ZWxzZSBhPW51bGw7YT1hfHxbXTtyZXR1cm4gYi5sZW5ndGh8fGN8fCFfLmpqKGQpfHxhLmxlbmd0aD97cGFpbnRFeHBlcmltZW50SWRzOmIsREE6YyxUSjpkLHN0eWxlcnM6YX06bnVsbH07Cl8uRW5hPWZ1bmN0aW9uKGEsYixjKXtiKz0iIjt2YXIgZD1uZXcgXy55bixlPSJnZXQiK18uQm4oYik7ZFtlXT0oKT0+Yy5nZXQoKTtlPSJzZXQiK18uQm4oYik7ZFtlXT0oKT0+e3Rocm93IEVycm9yKCJBdHRlbXB0ZWQgdG8gc2V0IHJlYWQtb25seSBwcm9wZXJ0eTogIitiKTt9O2MuYWRkTGlzdGVuZXIoKCk9PntkLm5vdGlmeShiKX0pO2EuYmluZFRvKGIsZCxiLHZvaWQgMCl9O18ub3k9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/e0F1dGhvcml6YXRpb246YEJlYXJlciAke2F9YH06e319O18ucHk9ZnVuY3Rpb24oKXtyZXR1cm4iR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgZXJyb3I6IFVybEF1dGhlbnRpY2F0aW9uQ29tbW9uRXJyb3IgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvZXJyb3ItbWVzc2FnZXMjIitfLmdtYSgiVXJsQXV0aGVudGljYXRpb25Db21tb25FcnJvciIpfTsKXy5xeT1mdW5jdGlvbigpe2VtYSgpO18uWm4mJihfLnJjKF8uWm4sYT0+e18uRm5hKGEpfSksXy5rdygpLF8uR25hKCkpfTtfLkduYT1mdW5jdGlvbigpe0huYShfLlVhLmdvb2dsZS5tYXBzKX07SG5hPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09Im9iamVjdCIpZm9yKGxldCBiIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGEpKXtsZXQgYz1hW2JdO2lmKGIhPT0iU2l6ZSImJmMpe2lmKGMucHJvdG90eXBlKWZvcihsZXQgZCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjLnByb3RvdHlwZSkpdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYy5wcm90b3R5cGUsZCk/LnZhbHVlPT09ImZ1bmN0aW9uIiYmKGMucHJvdG90eXBlW2RdPV8uUmwpO0huYShjKX19fTsKXy5GbmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adygiYXBpLTMvaW1hZ2VzL2ljb25fZXJyb3IiKTtfLlN0KEluYSxhKTtpZihhLnR5cGUpYS5kaXNhYmxlZD0hMCxhLnBsYWNlaG9sZGVyPSJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4iLGEuY2xhc3NOYW1lKz0iIGdtLWVyci1hdXRvY29tcGxldGUiLGEuc3R5bGUuYmFja2dyb3VuZEltYWdlPSJ1cmwoJyIrYisiJykiO2Vsc2V7YS5pbm5lclRleHQ9IiI7dmFyIGM9Xy53bCgiZGl2Iik7Yy5jbGFzc05hbWU9ImdtLWVyci1jb250YWluZXIiO2EuYXBwZW5kQ2hpbGQoYyk7YT1fLndsKCJkaXYiKTthLmNsYXNzTmFtZT0iZ20tZXJyLWNvbnRlbnQiO2MuYXBwZW5kQ2hpbGQoYSk7Yz1fLndsKCJkaXYiKTtjLmNsYXNzTmFtZT0iZ20tZXJyLWljb24iO2EuYXBwZW5kQ2hpbGQoYyk7bGV0IGQ9Xy53bCgiSU1HIik7Yy5hcHBlbmRDaGlsZChkKTtkLnNyYz1iO2QuYWx0PSIiO18uVHAoZCk7Yj1fLndsKCJkaXYiKTtiLmNsYXNzTmFtZT0iZ20tZXJyLXRpdGxlIjsKYS5hcHBlbmRDaGlsZChiKTtiLmlubmVyVGV4dD0iT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIjtiPV8ud2woImRpdiIpO2IuY2xhc3NOYW1lPSJnbS1lcnItbWVzc2FnZSI7YS5hcHBlbmRDaGlsZChiKTtiLmlubmVyVGV4dD0iVGhpcyBwYWdlIGRpZG4ndCBsb2FkIEdvb2dsZSBNYXBzIGNvcnJlY3RseS4gU2VlIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUgZm9yIHRlY2huaWNhbCBkZXRhaWxzLiJ9fTtyeT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOl8uTSh3aW5kb3csMTYwNjY3KTticmVhaztjYXNlIDI6Xy5NKHdpbmRvdywxNjA2NjYpO2JyZWFrO2Nhc2UgMzpfLk0od2luZG93LDE2MDY2OCk7YnJlYWs7ZGVmYXVsdDpfLk0od2luZG93LDE2MDY2NSl9fTsKdnk9ZnVuY3Rpb24oYT0iREVGQVVMVCIpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKTtiLnNldEF0dHJpYnV0ZSgieG1sbnMiLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpO2Iuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZGVmcyIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImZpbHRlciIpO2Quc2V0QXR0cmlidXRlKCJpZCIsXy5LbigpKTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZmVGbG9vZCIpO2Uuc2V0QXR0cmlidXRlKCJyZXN1bHQiLCJmbG9vZEZpbGwiKTt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwKImZlQ29tcG9zaXRlIik7Zi5zZXRBdHRyaWJ1dGUoImluIiwiZmxvb2RGaWxsIik7Zi5zZXRBdHRyaWJ1dGUoImluMiIsIlNvdXJjZUFscGhhIik7Zi5zZXRBdHRyaWJ1dGUoIm9wZXJhdG9yIiwiaW4iKTtmLnNldEF0dHJpYnV0ZSgicmVzdWx0Iiwic291cmNlQWxwaGFGaWxsIik7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImZlQ29tcG9zaXRlIik7Zy5zZXRBdHRyaWJ1dGUoImluIiwic291cmNlQWxwaGFGaWxsIik7Zy5zZXRBdHRyaWJ1dGUoImluMiIsIlNvdXJjZUdyYXBoaWMiKTtnLnNldEF0dHJpYnV0ZSgib3BlcmF0b3IiLCJpbiIpO2QuYXBwZW5kQ2hpbGQoZSk7ZC5hcHBlbmRDaGlsZChmKTtkLmFwcGVuZENoaWxkKGcpO2MuYXBwZW5kQ2hpbGQoZCk7Yi5hcHBlbmRDaGlsZChjKTtjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIik7Yy5zZXRBdHRyaWJ1dGUoImZpbGwiLAoibm9uZSIpO2Muc2V0QXR0cmlidXRlKCJmaWxsLXJ1bGUiLCJldmVub2RkIik7Yi5hcHBlbmRDaGlsZChjKTtnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7Zy5jbGFzc0xpc3QuYWRkKHN5KTtkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7ZC5jbGFzc0xpc3QuYWRkKHR5KTtkLnNldEF0dHJpYnV0ZSgiZmlsbCIsIiNFQTQzMzUiKTtlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJpbWFnZSIpO2Uuc2V0QXR0cmlidXRlKCJ4IiwiNTAlIik7ZS5zZXRBdHRyaWJ1dGUoInkiLCI1MCUiKTtlLnNldEF0dHJpYnV0ZSgicHJlc2VydmVBc3BlY3RSYXRpbyIsInhNaWRZTWlkIG1lZXQiKTtmPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ0ZXh0Iik7Zi5zZXRBdHRyaWJ1dGUoIngiLAoiNTAlIik7Zi5zZXRBdHRyaWJ1dGUoInkiLCI1MCUiKTtmLnNldEF0dHJpYnV0ZSgidGV4dC1hbmNob3IiLCJtaWRkbGUiKTtmLnN0eWxlLmZvbnQ9ImluaGVyaXQiO2Yuc3R5bGUuZm9udFNpemU9IjE2cHgiO3N3aXRjaChhKXtjYXNlICJQSU4iOmIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsIjI3Iik7Yi5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIjQzIik7Yi5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCIwIDAgMjcgNDMiKTtjLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKDEgMSkiKTtkLnNldEF0dHJpYnV0ZSgiZCIsIk0xMi41IDBDNS41OTYgMCAwIDUuNTk2IDAgMTIuNWMwIDEuODg2LjU0MyAzLjc0NiAxLjQ0MSA1LjQ2MiAzLjQyNSA2LjYxNSAxMC4yMTYgMTMuNTY2IDEwLjIxNiAyMi4xOTVhLjg0My44NDMgMCAxMDEuNjg2IDBjMC04LjYzIDYuNzktMTUuNTggMTAuMjE2LTIyLjE5NS44OTktMS43MTYgMS40NDItMy41NzYgMS40NDItNS40NjJDMjUgNS41OTYgMTkuNDA1IDAgMTIuNSAweiIpOwpnLnNldEF0dHJpYnV0ZSgiZCIsIk0xMi41LS41YzcuMTggMCAxMyA1LjgyIDEzIDEzIDAgMS45LS41MjQgMy44MzMtMS40OTcgNS42OTItLjkxNiAxLjc2OC0xLjAxOCAxLjkzLTQuMTcgNi43NzktNC4yNTcgNi41NS01Ljk5IDEwLjQ0Ny01Ljk5IDE1LjE4N2ExLjM0MyAxLjM0MyAwIDExLTIuNjg2IDBjMC00Ljc0LTEuNzMzLTguNjM2LTUuOTktMTUuMTg4LTMuMTUyLTQuODQ4LTMuMjU0LTUuMDEtNC4xNjktNi43NzZDLjAyNCAxNi4zMzMtLjUgMTQuNC0uNSAxMi41YzAtNy4xOCA1LjgyLTEzIDEzLTEzeiIpO2cuc2V0QXR0cmlidXRlKCJzdHJva2UiLCIjZmZmIik7Yy5hcHBlbmQoZCxnKTtmLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC0xcHgsIC0zcHgpIjticmVhaztjYXNlICJQSU5MRVQiOmIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsIjE5Iik7Yi5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIjI2Iik7Yi5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCIwIDAgMTkgMjYiKTtkLnNldEF0dHJpYnV0ZSgiZCIsCiJNMTguOTk4IDkuNWMwIDEuNDE1LS4yNCAyLjgxOS0uOTg4IDQuMy0yLjYxOSA1LjE4Ni03LjQ4MiA2LjMtNy44NyAxMS41NjctLjAyNS4zNDgtLjI4Ni42MzMtLjY0Mi42MzMtLjM1NCAwLS42MTYtLjI4NS0uNjQxLS42MzNDOC40NjkgMjAuMSAzLjYwNyAxOC45ODYuOTg3IDEzLjguMjQgMTIuMzE5IDAgMTAuOTE1IDAgOS41IDAgNC4yNCA0LjI1IDAgOS41IDBhOS40OSA5LjQ5IDAgMDE5LjQ5OCA5LjV6Iik7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0aCIpO2Euc2V0QXR0cmlidXRlKCJkIiwiTS0xLTFoMjF2MzBILTF6Iik7Yy5hcHBlbmQoZCxhKTtmLnN0eWxlLmZvbnRTaXplPSIxNHB4IjtmLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgxcHgpIjticmVhaztkZWZhdWx0OmIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsIjI2IiksYi5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIjM3IiksYi5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLAoiMCAwIDI2IDM3IiksZy5zZXRBdHRyaWJ1dGUoImQiLCJNMTMgMEM1LjgxNzUgMCAwIDUuNzczMjggMCAxMi45MTgxQzAgMjAuNTczMyA1LjU5IDIzLjQ0NCA5LjU1NDk5IDMwLjA3ODRDMTIuMDkgMzQuMzIwNyAxMS4zNDI1IDM3IDEzIDM3QzE0LjcyMjUgMzcgMTMuOTc1IDM0LjI1NjkgMTYuNDQ1IDMwLjE0MjJDMjAuMDg1IDIzLjg1ODYgMjYgMjAuNjA1MiAyNiAxMi45MTgxQzI2IDUuNzczMjggMjAuMTgyNSAwIDEzIDBaIiksZy5zZXRBdHRyaWJ1dGUoImZpbGwiLCIjQzUyMjFGIiksZC5zZXRBdHRyaWJ1dGUoImQiLCJNMTMuMDE2NyAzNUMxMi43ODM2IDM1IDEyLjcxNzEgMzQuOTM0NiAxMi4zMTc2IDMzLjcyNUMxMS45ODQ4IDMyLjY3ODkgMTEuNDg1NCAzMS4wNzY5IDEwLjE4NzMgMjkuMTE1NEM4LjkyMjMzIDI3LjE4NjYgNy41OTA4NSAyNS42MTczIDYuMzI1OTQgMjQuMTEzNUMzLjM2MzM5IDIwLjUxNzQgMSAxNy43MDU3IDEgMTIuNjM4NUMxLjAzMzI5IDYuMTk4MDggNi4zOTI1MSAxIDEzLjAxNjcgMUMxOS42NDA4IDEgMjUgNi4yMzA3OCAyNSAxMi42Mzg1QzI1IDE3LjcwNTcgMjIuNjY5OSAyMC41NSAxOS42NzQxIDI0LjE0NjJDMTguNDQyNSAyNS42NSAxNy4xNDQzIDI3LjIxOTMgMTUuODc5MyAyOS4xMTU0QzE0LjYxNDQgMzEuMDQ0MiAxNC4wODE4IDMyLjYxMzUgMTMuNzQ5IDMzLjY1OTZDMTMuMzQ5NSAzNC45MzQ2IDEzLjI0OTcgMzUgMTMuMDE2NyAzNVoiKSwKYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwicGF0aCIpLGEuY2xhc3NMaXN0LmFkZCh1eSksYS5zZXRBdHRyaWJ1dGUoImQiLCJNMTMgMThDMTUuNzYxNCAxOCAxOCAxNS43NjE0IDE4IDEzQzE4IDEwLjIzODYgMTUuNzYxNCA4IDEzIDhDMTAuMjM4NiA4IDggMTAuMjM4NiA4IDEzQzggMTUuNzYxNCAxMC4yMzg2IDE4IDEzIDE4WiIpLGEuc2V0QXR0cmlidXRlKCJmaWxsIiwiI0IzMTQxMiIpLGMuYXBwZW5kKGcsZCxhKX1jLmFwcGVuZChlLGYpO3JldHVybiBifTtKbmE9ZnVuY3Rpb24oYSxiKXthLkNwLnRoZW4oKCk9PntiKCl9KX07Cnd5PWZ1bmN0aW9uKGEpe2EuRGgmJmEuQ2gmJl8uZG4oXy5ocChhLCJCb3RoIGBnbHlwaFRleHRgIGFuZCBgZ2x5cGhTcmNgIGFyZSBzZXQsIGBnbHlwaFNyY2Agd2lsbCBiZSBpZ25vcmVkIGFuZCBgZ2x5cGhUZXh0YCB3aWxsIHRha2UgcHJlY2VkZW5jZS4iKSk7cmV0dXJuIGEuRGg/P2EuQ2g/P2EuR2h9Owp4eT1mdW5jdGlvbihhKXt2YXIgYj1hLnFoLnF1ZXJ5U2VsZWN0b3IoYC4ke3V5fWApLGM9d3koYSk7YiYmKGIuc3R5bGUuZGlzcGxheT1jPT1udWxsPyIiOiJub25lIik7Yz09bnVsbCYmcnkoMCk7YS5kaT8ucmVtb3ZlKCk7YS5kaT1udWxsO2ZvcihsZXQgZCBvZiBhLlBoLmFzc2lnbmVkRWxlbWVudHMoKSlkLnJlbW92ZSgpO2EuU2gudGV4dENvbnRlbnQ9IiI7YS50aC5ocmVmLmJhc2VWYWw9IiI7YyBpbnN0YW5jZW9mIEVsZW1lbnQ/KGEuZGk9YyxhLmFwcGVuZENoaWxkKGMpLGEuQ3AudGhlbigoKT0+e2EuUGguYXNzaWduKGMpfSkscnkoMSkpOnR5cGVvZiBjPT09InN0cmluZyI/KGEuU2gudGV4dENvbnRlbnQ9YyxyeSgyKSk6YyBpbnN0YW5jZW9mIFVSTCYmcnkoMyk7S25hKGEpfTsKS25hPWZ1bmN0aW9uKGEpe2EuRmgmJmEuRmguc2V0QXR0cmlidXRlKCJmaWxsIixhLnhofHxhLkxoKTthLnJoLnN0eWxlLmNvbG9yPWEuZ2x5cGhDb2xvcnx8IiI7YS5NaS5yZW1vdmVBdHRyaWJ1dGUoImZsb29kLWNvbG9yIik7YS50aC5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO3ZhciBiPXd5KGEpO2IgaW5zdGFuY2VvZiBVUkwmJihhLmdseXBoQ29sb3ImJihhLk1pLnNldEF0dHJpYnV0ZSgiZmxvb2QtY29sb3IiLGEuZ2x5cGhDb2xvciksYS50aC5zZXRBdHRyaWJ1dGUoImZpbHRlciIsYHVybCgjJHthLmFqfSlgKSksYS50aC5ocmVmLmJhc2VWYWw9Yi50b1N0cmluZygpKTthLlNoLnNldEF0dHJpYnV0ZSgiZmlsbCIsYS5nbHlwaENvbG9yfHxhLkxoKX07Cl8ueXk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pc0Nvbm5lY3RlZHx8Yi5pc0Nvbm5lY3RlZD9hLmlzQ29ubmVjdGVkP2IuaXNDb25uZWN0ZWQ/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRD9MbmEoYSxiKTpNbmEoYSxiKTotMToxOjB9O01uYT1mdW5jdGlvbihhLGIpe2E9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKTtyZXR1cm4gYSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8tMTphJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPzE6MH07TG5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Tm5hKGEpLGQ9Tm5hKGIpLGU9bmV3IFNldChkKSxmPWMuZmluZChoPT5lLmhhcyhoKSksZz1jLmluZGV4T2YoZik7Zj1kLmluZGV4T2YoZik7cmV0dXJuIE1uYShnPjA/T25hKGNbZy0xXSk6YSxmPjA/T25hKGRbZi0xXSk6Yil9OwpObmE9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGE9YS5nZXRSb290Tm9kZSgpO2EhPT1kb2N1bWVudDspYi5wdXNoKGEpLGE9YS5ob3N0LmdldFJvb3ROb2RlKCk7Yi5wdXNoKGEpO3JldHVybiBifTtPbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1kb2N1bWVudD9hOmEuaG9zdH07Xy56eT1mdW5jdGlvbihhKXtyZXR1cm4gYS5rZXk9PT0iRW50ZXIifHxhLmtleT09PSIgIn07Xy5BeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5rZXk9PT0iQXJyb3dMZWZ0Inx8YS5rZXk9PT0iTGVmdCJ9O18uQnk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEua2V5PT09IkFycm93VXAifHxhLmtleT09PSJVcCJ9O18uRHk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEua2V5PT09IkFycm93UmlnaHQifHxhLmtleT09PSJSaWdodCJ9O18uRXk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEua2V5PT09IkFycm93RG93biJ8fGEua2V5PT09IkRvd24ifTsKXy5SbmE9ZnVuY3Rpb24oKXtpZihfLkZ5fHxfLld3KXJldHVybiBfLkd5O18uRnk9ITA7cmV0dXJuIF8uR3k9bmV3IFByb21pc2UoYXN5bmMgYT0+e3ZhciBiPWF3YWl0IFBuYSgpO18uV3c9Yj9fLmpxKG5ldyBfLmtxKDEzMTA3MSksd2luZG93LmxvY2F0aW9uLm9yaWdpbixiKS50b1N0cmluZygpOiIiO2I9YXdhaXQgXy5RbmEoKTthKGIpO18uRnk9ITF9KX07UG5hPWZ1bmN0aW9uKCl7dmFyIGE9dm9pZCAwLGI9KG5ldyBfLkh5KS5zZXRVcmwod2luZG93LmxvY2F0aW9uLm9yaWdpbik7YXx8KGE9bmV3IFNuYSk7dmFyIGM9YS5xaDtyZXR1cm4gbmV3IFByb21pc2UoZD0+e18ueW1hKGMsYikudGhlbihlPT57ZChfLkxnKGUsMSkpfSkuY2F0Y2goKCk9PntkKG51bGwpfSl9KX07Cl8uUW5hPWZ1bmN0aW9uKCl7dmFyIGE7aWYoIV8uV3cpcmV0dXJuIG5ldyBQcm9taXNlKGQ9PntkKG51bGwpfSk7dmFyIGI9dm1hKCkuc2V0VXJsKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2F8fChhPW5ldyBTbmEpO3ZhciBjPWEucWg7cmV0dXJuIG5ldyBQcm9taXNlKGQ9PntjLnFoLnFoKGMucmgrIi8kcnBjL2dvb2dsZS5pbnRlcm5hbC5tYXBzLm1hcHNqcy52MS5NYXBzSnNJbnRlcm5hbFNlcnZpY2UvR2V0TWFwc0p3dCIsYix7fSxUbmEpLnRoZW4oZT0+e2QobmV3IFVuYShlKSl9LCgpPT57ZChudWxsKX0pfSl9O18uSnk9ZnVuY3Rpb24oYSxiKXthLlprPWI7Yj1hLnNoLmdldCgpfHxfLkl5O2EuWmt8fChiPShiPWEucmguZ2V0KCkpP2I6KGEuTnE/YS5OcS5nZXQoKSE9PSJub25lIjoxKT9fLlZuYToiZGVmYXVsdCIpO2EudGghPT1iJiYoYS5lbGVtZW50LnN0eWxlLmN1cnNvcj1iLGEudGg9Yil9OwpZbmE9ZnVuY3Rpb24oYSxiKXt3aW5kb3cuX3hkY189d2luZG93Ll94ZGNffHx7fTt2YXIgYz13aW5kb3cuX3hkY187cmV0dXJuIGZ1bmN0aW9uKGQsZSxmKXtmdW5jdGlvbiBnKCl7bS5icCgpfXZhciBoPSJfIithKGQpLnRvU3RyaW5nKDM2KTtkKz0iJmNhbGxiYWNrPV94ZGNfLiIraDtiJiYoZD1iKGQpKTt2YXIgaz1fLkVsKGQpO1duYShjLGgpO3ZhciBtPWNbaF07ZD1zZXRUaW1lb3V0KCgpPT57bS5icCghMCl9LDI1RTMpO20uQ0QucHVzaChuZXcgWG5hKGUsZCxmKSk7KGZ1bmN0aW9uKCl7dmFyIHA9em1hKGssZyk7c2V0VGltZW91dCgoKT0+e18uQ3cocCl9LDI1RTMpfSkoKX19OwpXbmE9ZnVuY3Rpb24oYSxiKXtpZihhW2JdKWFbYl0uSUUrKztlbHNle2xldCBjPWQ9Pnt2YXIgZT1jLkNELnNoaWZ0KCk7ZSYmKGUucWgoZCksZS5abygpKTthW2JdLklFLS07YVtiXS5JRT09PTAmJmRlbGV0ZSBhW2JdfTtjLkNEPVtdO2MuSUU9MTtjLmJwPShkPSExKT0+e3ZhciBlPWMuQ0Quc2hpZnQoKTtlJiYoZS5NcyYmZS5Ncyh7c0k6ZH0pLGUuWm8oKSl9O2FbYl09Y319O18uS3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZz0hMSl7YT1ZbmEoYSxjKTtiPV8uWm5hKGIsZCxudWxsLGcpO2EoYixlLGYpfTtfLlpuYT1mdW5jdGlvbihhLGIsYyxkPSExKXt2YXIgZT1hLmNoYXJBdChhLmxlbmd0aC0xKTtlIT09Ij8iJiZlIT09IiYiJiYoYSs9Ij8iKTtiJiZiLmNoYXJBdChiLmxlbmd0aC0xKT09PSImIiYmKGI9Yi5zdWJzdHIoMCxiLmxlbmd0aC0xKSk7YSs9YjtkJiYoZD1fLnh3KCkpJiYoYSs9YCZyX3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChkKX1gKTtjJiYoYT1jKGEpKTtyZXR1cm4gYX07CiRuYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5pbm5lcldpZHRoLyhkb2N1bWVudC5ib2R5LnNjcm9sbFdpZHRoKzEpO3JldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQvKGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KzEpPC45NXx8YTwuOTV9O2FvYT1mdW5jdGlvbihhLGIsYyxkLGU9JG5hKXtyZXR1cm4gYj09PSExPyJub25lIjpjPT09Im5vbmUifHxjPT09ImdyZWVkeSJ8fGM9PT0iem9vbWFyb3VuZGNlbnRlciI/YzpkPyJncmVlZHkiOmM9PT0iY29vcGVyYXRpdmUifHxfLm9tYShhKXx8ZSgpPyJjb29wZXJhdGl2ZSI6ImdyZWVkeSJ9O18uYm9hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZHJhZ2dhYmxlLGM9YS5oSCxkPWEuSGs7YT1hb2EuYmluZChudWxsLGEuSHIpO3JldHVybiBuZXcgXy5MeShbYixjLGRdLGEpfTsKTXk9ZnVuY3Rpb24oYSxiKXtiPTEwMCtiO3ZhciBjPV8ud2woIkRJViIpO2Muc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtjLnN0eWxlLnRvcD1jLnN0eWxlLmxlZnQ9IjAiO2Muc3R5bGUuekluZGV4PWI7Yy5zdHlsZS53aWR0aD0iMTAwJSI7YS5hcHBlbmRDaGlsZChjKTtyZXR1cm4gY307Tnk9ZnVuY3Rpb24oYSl7YT1hLnN0eWxlO2EucG9zaXRpb249ImFic29sdXRlIjthLndpZHRoPWEuaGVpZ2h0PSIxMDAlIjthLnRvcD1hLmxlZnQ9YS5tYXJnaW49YS5ib3JkZXJXaWR0aD1hLnBhZGRpbmc9IjAifTtjb2E9ZnVuY3Rpb24oYSl7YT1hLnN0eWxlO2EucG9zaXRpb249ImFic29sdXRlIjthLnRvcD1hLmxlZnQ9IjUwJSI7YS53aWR0aD0iMTAwJSJ9O2RvYT1mdW5jdGlvbigpe3JldHVybiIuZ20tc3R5bGUgaW1ne21heC13aWR0aDogbm9uZTt9LmdtLXN0eWxlIHtmb250OiA0MDAgMTFweCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fSJ9Owplb2E9ZnVuY3Rpb24oYSxiLGMsZCl7YTp7dmFyIGU9YS5nZXQoInByb2plY3Rpb24iKSxmPWEuZ2V0KCJ6b29tIik7YT1hLmdldCgiY2VudGVyIik7Yz1NYXRoLnJvdW5kKGMpO2Q9TWF0aC5yb3VuZChkKTtpZihlJiZiJiZfLmptKGYpJiYoYj1fLkJvKGUsYixmKSkpe2EmJihmPV8ub3coZSxmKSkmJmYhPT1JbmZpbml0eSYmZiE9PTAmJihlJiZlLmdldFBvdiYmZS5nZXRQb3YoKS5oZWFkaW5nKCklMTgwIT09MD8oZT1iLnktYS55LGU9Xy5kbShlLC1mLzIsZi8yKSxiLnk9YS55K2UpOihlPWIueC1hLngsZT1fLmRtKGUsLShmLzIpLGYvMiksYi54PWEueCtlKSk7YT1uZXcgXy5ibyhiLngtYyxiLnktZCk7YnJlYWsgYX1hPW51bGx9cmV0dXJuIGF9Owpmb2E9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9ITEpe3ZhciBnPWEuZ2V0KCJwcm9qZWN0aW9uIiksaD1hLmdldCgiem9vbSIpO2lmKGImJmcmJl8uam0oaCkpe2lmKCFfLmptKGIueCl8fCFfLmptKGIueSkpdGhyb3cgRXJyb3IoImZyb20iK2UrIlBpeGVsVG9MYXRMbmc6IFBvaW50LnggYW5kIFBvaW50LnkgbXVzdCBiZSBvZiB0eXBlIG51bWJlciIpO2E9YS5xaDthLng9Yi54K01hdGgucm91bmQoYyk7YS55PWIueStNYXRoLnJvdW5kKGQpO3JldHVybiBfLm13KGcsYSxoLGYpfXJldHVybiBudWxsfTtfLk95PWZ1bmN0aW9uKGEpe2EucWg9Xy56cCgoKT0+e2EucWg9bnVsbDthLnJoJiYhYS5zaCYmKGEucmg9ITEsXy5PeShhKSl9LGEueGgpO3ZhciBiPWEudGg7YS50aD1udWxsO2EueWguYXBwbHkobnVsbCxiKX07Xy5Na2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucWgoKX19OwpLa2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPW5ldyBXZWFrTWFwO3RoaXMucmg9bmV3IFdlYWtNYXA7dGhpcy50aD1uZXcgV2Vha1NldDt0aGlzLnNoPXBlcmZvcm1hbmNlLm5vdygpKzg2NEU1fXJlc2V0KCl7dGhpcy5zaD1wZXJmb3JtYW5jZS5ub3coKSs4NjRFNTt0aGlzLnFoPW5ldyBXZWFrTWFwO3RoaXMudGg9bmV3IFdlYWtTZXR9fTtfLiRwLnByb3RvdHlwZS5rcD1fLmthKDI5LGZ1bmN0aW9uKCl7cmV0dXJuIF8uUGcodGhpcywxKX0pOwpfLm50LnByb3RvdHlwZS50QT1fLmthKDI4LGZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLnlsLGU9Yi5kb21FdmVudCYmXy5xdShiLmRvbUV2ZW50KTtpZih0aGlzLnFoKXt2YXIgZj10aGlzLnFoO3ZhciBnPXRoaXMucmh9ZWxzZSBpZihhPT09Im1vdXNlb3V0Inx8ZSlnPWY9bnVsbDtlbHNle2Zvcih2YXIgaD0wO2Y9ZFtoKytdOyl7dmFyIGs9Yi5RajtsZXQgbT1iLmxhdExuZzsoZz1mLnF2KGIsITEpKSYmIWYua3YoYSxnKSYmKGc9bnVsbCxiLlFqPWssYi5sYXRMbmc9bSk7aWYoZylicmVha31pZighZyYmYylmb3IoYz0wOyhmPWRbYysrXSkmJihoPWIuUWosaz1iLmxhdExuZywoZz1mLnF2KGIsITApKSYmIWYua3YoYSxnKSYmKGc9bnVsbCxiLlFqPWgsYi5sYXRMbmc9ayksIWcpOyk7fWlmKGYhPT10aGlzLnNofHxnIT09dGhpcy50YXJnZXQpdGhpcy5zaCYmdGhpcy5zaC5oYW5kbGVFdmVudCgibW91c2VvdXQiLGIsdGhpcy50YXJnZXQpLHRoaXMuc2g9Zix0aGlzLnRhcmdldD0KZyxmJiZmLmhhbmRsZUV2ZW50KCJtb3VzZW92ZXIiLGIsZyk7aWYoIWYpcmV0dXJuISFlO2lmKGE9PT0ibW91c2VvdmVyInx8YT09PSJtb3VzZW91dCIpcmV0dXJuITE7Zi5oYW5kbGVFdmVudChhLGIsZyk7cmV0dXJuITB9KTtfLm10LnByb3RvdHlwZS5IdD1fLmthKDI3LGZ1bmN0aW9uKCl7aWYoIXRoaXMuUHAuaGFzQXR0cmlidXRlKCJkaXIiKSlyZXR1cm4hMTt2YXIgYT10aGlzLlBwLmRpcjtyZXR1cm4gYT09PSJydGwiPyEwOmE9PT0ibHRyIj8hMTp3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLlBwKS5kaXJlY3Rpb249PT0icnRsIn0pOwpfLnJxLnByb3RvdHlwZS5IdD1fLmthKDI2LGZ1bmN0aW9uKCl7aWYoIXRoaXMuZ2V0RGl2KCkuaGFzQXR0cmlidXRlKCJkaXIiKSlyZXR1cm4hMTt2YXIgYT10aGlzLmdldERpdigpLmRpcjtyZXR1cm4gYT09PSJydGwiPyEwOmE9PT0ibHRyIj8hMTp3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmdldERpdigpKS5kaXJlY3Rpb249PT0icnRsIn0pO18uQ3AucHJvdG90eXBlLnl2PV8ua2EoMjQsZnVuY3Rpb24oYSl7dGhpcy53aD1hcmd1bWVudHM7dGhpcy5yaD0hMTt0aGlzLnFoP3RoaXMudGg9Xy5tYigpK3RoaXMueWg6dGhpcy5xaD1fLnpwKHRoaXMueGgsdGhpcy55aCl9KTtfLmh0LnByb3RvdHlwZS5WRD1fLmthKDIzLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2ghPT1udWxsfSk7Xy5ucS5wcm90b3R5cGUucmg9Xy5rYSgxNCxmdW5jdGlvbigpe3JldHVybiBfLkgodGhpcywzKX0pOwpfLlNyLnByb3RvdHlwZS5raj1fLmthKDgsZnVuY3Rpb24oYSl7cmV0dXJuIF8uaWgodGhpcywxLGEpfSk7RHU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuYnVmZmVyPWE7aWYoYyYmIWIpdGhyb3cgRXJyb3IoKTt0aGlzLnFoPWJ9fTtGdT1bXTsKXy5Ya2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5yaD1udWxsO3RoaXMud2g9ITE7dGhpcy54aD1udWxsO3RoaXMucWg9dGhpcy5zaD10aGlzLnRoPTA7dGhpcy5pbml0KGEsYixjLGQpfWluaXQoYSxiLGMse0V2OmQ9ITEsR0Y6ZT0hMX09e30pe3RoaXMuRXY9ZDt0aGlzLkdGPWU7YSYmKGE9RXUoYSx0aGlzLkdGKSx0aGlzLnJoPWEuYnVmZmVyLHRoaXMud2g9YS5xaCx0aGlzLnhoPW51bGwsdGhpcy50aD1ifHwwLHRoaXMuc2g9YyE9PXZvaWQgMD90aGlzLnRoK2M6dGhpcy5yaC5sZW5ndGgsdGhpcy5xaD10aGlzLnRoKX1RaSgpe3RoaXMuY2xlYXIoKTtGdS5sZW5ndGg8MTAwJiZGdS5wdXNoKHRoaXMpfWNsZWFyKCl7dGhpcy5yaD1udWxsO3RoaXMud2g9ITE7dGhpcy54aD1udWxsO3RoaXMucWg9dGhpcy5zaD10aGlzLnRoPTA7dGhpcy5Fdj0hMX1nZXRCdWZmZXIoKXtpZih0aGlzLndoKXRocm93IEVycm9yKCk7cmV0dXJuIHRoaXMucmh9cmVzZXQoKXt0aGlzLnFoPQp0aGlzLnRofWdldEN1cnNvcigpe3JldHVybiB0aGlzLnFofXNldEN1cnNvcihhKXt0aGlzLnFoPWF9fTtfLlJ1PTA7T3U9W107Xy5aa2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5yaD1fLkd1KGEsYixjLGQpO3RoaXMud2g9dGhpcy5yaC5nZXRDdXJzb3IoKTt0aGlzLnFoPXRoaXMudGg9dGhpcy5zaD0tMTt0aGlzLnNldE9wdGlvbnMoZCl9c2V0T3B0aW9ucyh7akg6YT0hMX09e30pe3RoaXMuakg9YX1RaSgpe3RoaXMucmguY2xlYXIoKTt0aGlzLnFoPXRoaXMuc2g9dGhpcy50aD0tMTtPdS5sZW5ndGg8MTAwJiZPdS5wdXNoKHRoaXMpfWdldEN1cnNvcigpe3JldHVybiB0aGlzLnJoLmdldEN1cnNvcigpfWdldEJ1ZmZlcigpe3JldHVybiB0aGlzLnJoLmdldEJ1ZmZlcigpfXJlc2V0KCl7dGhpcy5yaC5yZXNldCgpO3RoaXMud2g9dGhpcy5yaC5nZXRDdXJzb3IoKTt0aGlzLnFoPXRoaXMuc2g9dGhpcy50aD0tMX19OwpfLlZ1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5sbz1hPj4+MDt0aGlzLmhpPWI+Pj4wfX07a2xhPVN5bWJvbCgpO2J2PVN5bWJvbCgpO18uUHk9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTIpcmV0dXJuITE7YT1fLkNoKGEpO18uRWkoYixjLGE9PT0iIj92b2lkIDA6YSk7cmV0dXJuITB9LF8uS2ksXy5Xaik7Z29hPVswLF8uUHksXy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTIpcmV0dXJuITE7YT1VdShhKTtfLkVpKGIsYyxhPT09Xy5sZCgpP3ZvaWQgMDphKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2lmKGIhPW51bGwpe2lmKGIgaW5zdGFuY2VvZiBfLkkpe2xldCBkPWIuS1Q7ZD8oYj1kKGIpLGIhPW51bGwmJl8uZGkoYSxjLEV1KGIsITApLmJ1ZmZlcikpOl8ueGQoXy54aSwzKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShiKSl7Xy54ZChfLnhpLDMpO3JldHVybn19ZXYoYSxiLGMpfSxfLmFrKV07Xy53eD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19OwpfLlF5PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXFtKCl7cmV0dXJuIF8uSCh0aGlzLDEpfX07Xy5ReS5wcm90b3R5cGUuV0E9Xy5oYSgzNik7aG9hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Z3Y9WzEsMl07ank9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt5bmE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fTt6bmE9WzIsNF07Xy5ueT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRLZXkoKXtyZXR1cm4gXy5IKHRoaXMsMSl9Z2V0VmFsdWUoKXtyZXR1cm4gXy5IKHRoaXMsMil9c2V0VmFsdWUoYSl7cmV0dXJuIF8uamgodGhpcywyLGEpfX07Cl8ubXk9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VHlwZSgpe3JldHVybiBfLktnKHRoaXMsMSl9fTtfLmx5PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5PeD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O2h2PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5neT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uZnk9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLmh5PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywyKX1zZXRVcmwoYSl7cmV0dXJuIF8uaWgodGhpcywyLGEpfX07Xy5oeS5wcm90b3R5cGUuS209Xy5oYSg0MCk7c2xhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Cl8uUnk9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VXJsKGEpe3JldHVybiBfLlZnKHRoaXMsMSxhKX1zZXRVcmwoYSxiKXtyZXR1cm4gXy54dSh0aGlzLDEsXy5iZixhLGIsXy5kZil9fTtfLlJ5LnByb3RvdHlwZS5yaD1fLmhhKDQxKTtfLlJ4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFN0cmVldFZpZXcoKXtyZXR1cm4gXy5BZyh0aGlzLF8uUnksNyl9c2V0U3RyZWV0VmlldyhhKXtyZXR1cm4gXy5FZyh0aGlzLF8uUnksNyxhKX19O3JsYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O2t5PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldEtleSgpe3JldHVybiBfLkgodGhpcywxKX1nZXRWYWx1ZSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRWYWx1ZShhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTsKXy5TeT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1Zdigpe3JldHVybiBfLkFnKHRoaXMsXy5meSwxMyl9fTtfLlN5LnByb3RvdHlwZS5xaz1fLmhhKDMxKTsKXy5UeT1fLmxpKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5xaCE9PTIpcmV0dXJuITE7YT1fLkFoKGEsXy5EZihbdm9pZCAwLHZvaWQgMF0sZCksZSk7YT1bLi4uYV07ZD1iW18uQ2RdfDA7ZT1fLmJlKGQpO2lmKGQmMil0aHJvdyBFcnJvcigpO3ZhciBmPV8uTmYoYixjLGUpO2lmKEFycmF5LmlzQXJyYXkoZikpe3ZhciBnPWZbXy5DZF18MDtpZighKGcmODE5Mikpe3ZhciBoPWd8PTgxOTI7ZltfLkNkXT1ofWlmKGcmMil7Zj1bLi4uZl07Zm9yKGc9MDtnPGYubGVuZ3RoO2crKyloPWZbZ109Wy4uLmZbZ11dLEFycmF5LmlzQXJyYXkoaFsxXSkmJihoWzFdPV8uR2QoaFsxXSkpO2Y9QnYoZik7Xy5QZihiLGQsYyxmLGUpfWYucHVzaChhKX1lbHNlIF8uUGYoYixkLGMsQnYoW2FdKSxlKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7bGV0IGc9YltmXTtBcnJheS5pc0FycmF5KGcpJiZfLmVpKGEsCmMsXy5EZihnLGQpLGUpfUJ2KGIpfX0pOwpfLlV5PV8uQ2koZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0xJiZhLnFoIT09MilyZXR1cm4hMTtiPV8uV2YoYixjKTtpZihhLnFoPT0yKXtjPWEucmg7dmFyIGQ9Xy5zaChhLnJoKS84O2E9Yy5xaDtkKj04O2lmKGErZD5jLnNoKXRocm93IEVycm9yKCk7bGV0IGU9Yy5yaDthKz1lLmJ5dGVPZmZzZXQ7Yy5xaCs9ZDtjPW5ldyBEYXRhVmlldyhlLmJ1ZmZlcixhLGQpO2ZvcihhPTA7Oyl7ZD1hKzg7aWYoZD5jLmJ5dGVMZW5ndGgpYnJlYWs7Yi5wdXNoKGMuZ2V0RmxvYXQ2NChhLCEwKSk7YT1kfX1lbHNlIGIucHVzaChfLnZoKGEucmgpKTtyZXR1cm4hMH0sZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLnZlLGIsITApO2lmKGIhPW51bGwmJmIubGVuZ3RoKXtfLlloKGEsYywyKTtfLlNoKGEucWgsYi5sZW5ndGgqOCk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYz1hLnFoLF8ubWUoYltkXSksXy5SaChjLF8uZWUpLF8uUmgoYyxfLmdlKX19LF8uWGopOwpfLlZ5PV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0xKXJldHVybiExO2E9Xy52aChhLnJoKTtfLkVpKGIsYyxhPT09MD92b2lkIDA6YSk7cmV0dXJuITB9LF8uR2ksXy5Yaik7Xy5XeT1fLkFpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09NSlyZXR1cm4hMTtfLkVpKGIsYyxNdShhLnJoKSk7cmV0dXJuITB9LEx2LF8uWWopO2lvYT1fLkNpKEpsYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnlpKF8udmUsYiwhMCk7aWYoYiE9bnVsbClmb3IobGV0IGc9MDtnPGIubGVuZ3RoO2crKyl7dmFyIGQ9YSxlPWMsZj1iW2ddO2YhPW51bGwmJihfLlloKGQsZSw1KSxkPWQucWgsdHUoZiksXy5SaChkLF8uZWUpKX19LF8uWWopOwpfLlh5PV8uQ2koSmxhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy52ZSxiLCEwKTtpZihiIT1udWxsJiZiLmxlbmd0aCl7Xy5ZaChhLGMsMik7Xy5TaChhLnFoLGIubGVuZ3RoKjQpO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9YS5xaCx0dShiW2RdKSxfLlJoKGMsXy5lZSl9fSxfLllqKTtfLll5PV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT01KXJldHVybiExO2E9TXUoYS5yaCk7Xy5FaShiLGMsYT09PTA/dm9pZCAwOmEpO3JldHVybiEwfSxMdixfLllqKTtqb2E9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXtpZihhLnFoIT09NSlyZXR1cm4hMTtfLkZ2KGIsYyxkLE11KGEucmgpKTtyZXR1cm4hMH0sTHYsXy5Zaik7Xy5aeT1fLkFpKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5PaShhLGIsYyl9LF8uSGksXy5oayk7Cl8ua29hPV8uQWkoZnVuY3Rpb24oYSxiLGMsZCl7YS5xaCE9PTA/YT0hMTooXy5GdihiLGMsZCxfLnRoKGEucmgpKSxhPSEwKTtyZXR1cm4gYX0sXy5IaSxfLmhrKTtfLiR5PV8uQWkoZnVuY3Rpb24oYSxiLGMpe3JldHVybiBLbGEoYSxiLGMpfSxNdixfLmprKTtfLmF6PV8uQWkoZnVuY3Rpb24oYSxiLGMpe3JldHVybiBLbGEoYSxiLGMpfSxNdixfLmprKTtsb2E9Xy5DaShMbGEsZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLkN2LGIsITEpO2lmKGIhPW51bGwpZm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspZmxhKGEsYyxiW2RdKX0sXy5qayk7Cl8uYno9Xy5DaShMbGEsZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLkN2LGIsITEpO2lmKGIhPW51bGwmJmIubGVuZ3RoKXtjPV8uWmgoYSxjKTtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGQ9YltmXTtzd2l0Y2godHlwZW9mIGQpe2Nhc2UgIm51bWJlciI6dmFyIGU9YS5xaDtfLmtlKGQpO18uUWgoZSxfLmVlLF8uZ2UpO2JyZWFrO2Nhc2UgImJpZ2ludCI6ZT1OdW1iZXIoZCk7TnVtYmVyLmlzU2FmZUludGVnZXIoZSk/KGQ9YS5xaCxfLmtlKGUpLF8uUWgoZCxfLmVlLF8uZ2UpKTooZD1fLlBoKGQsXy5WdSxfLld1KSxfLlFoKGEucWgsZC5sbyxkLmhpKSk7YnJlYWs7ZGVmYXVsdDpkPV8uWHUoZCksXy5RaChhLnFoLGQubG8sZC5oaSl9fV8uJGgoYSxjKX19LF8uamspO18uY3o9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXthLnFoIT09MD9hPSExOihfLkZ2KGIsYyxkLEp1KGEucmgpKSxhPSEwKTtyZXR1cm4gYX0sTXYsXy5qayk7Cl8uZHo9Xy5DaShfLlFpLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5HZSxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZz0wO2c8Yi5sZW5ndGg7ZysrKXt2YXIgZD1hLGU9YyxmPWJbZ107ZiE9bnVsbCYmKF8uWWgoZCxlLDApLF8uVGgoZC5xaCxmKSl9fSxfLmRrKTtfLmV6PV8uQWkoZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5GdihiLGMsZCxfLnJoKGEucmgpKTtyZXR1cm4hMH0sXy5JaSxfLmRrKTsKbW9hPV8uQWkoUGxhLGZ1bmN0aW9uKGEsYixjKXtiPV8uQ3YoYik7aWYoYiE9bnVsbClzd2l0Y2goaWxhKGIpLF8uWWgoYSxjLDEpLGE9YS5xaCxpbGEoYiksdHlwZW9mIGIpe2Nhc2UgIm51bWJlciI6YjwwPyhjPVl1KF8uV3UoLWIpKSxfLlp1KGEsYy5sbyxjLmhpKSk6Xy4kdShhLGIpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1iPEJpZ0ludCgwKT9ZdShfLlBoKC1iLF8uVnUsXy5XdSkpOl8uUGgoYixfLlZ1LF8uV3UpO18uWnUoYSxjLmxvLGMuaGkpO2JyZWFrO2RlZmF1bHQ6Yz1iLmxlbmd0aCYmYlswXT09PSItIj9ZdShfLlh1KGIuc3Vic3RyaW5nKDEpKSk6Xy5YdShiKSxfLlp1KGEsYy5sbyxjLmhpKX19LF8ua2spO18uZno9Xy5BaShQbGEsTnYsXy5rayk7bm9hPV8uQ2koZnVuY3Rpb24oYSxiLGMpe3JldHVybiBObGEoYSxiLGMpfSxFbGEsXy5rayk7Xy5vb2E9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gT2xhKGEsYixjLGQpfSxOdixfLmtrKTsKXy5nej1fLkFpKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWxhKGEsYixjKX0sTnYsXy5rayk7cG9hPV8uQ2koXy5RbGEsRWxhLF8ua2spO3FvYT1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBPbGEoYSxiLGMsZCl9LE52LF8ua2spO18uaHo9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTUpcmV0dXJuITE7Xy5FaShiLGMsS3UoYS5yaCkpO3JldHVybiEwfSxGbGEsXy5jayk7aXo9Xy5DaShSbGEsZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLkplLGIsITApO2lmKGIhPW51bGwpZm9yKGxldCBnPTA7ZzxiLmxlbmd0aDtnKyspe3ZhciBkPWEsZT1jLGY9YltnXTtmIT1udWxsJiYoXy5ZaChkLGUsNSksXy5SaChkLnFoLGYpKX19LF8uY2spOwpfLmp6PV8uQ2koUmxhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5KZSxiLCEwKTtpZihiIT1udWxsJiZiLmxlbmd0aClmb3IoXy5ZaChhLGMsMiksXy5TaChhLnFoLGIubGVuZ3RoKjQpLGM9MDtjPGIubGVuZ3RoO2MrKylfLlJoKGEucWgsYltjXSl9LF8uY2spO3JvYT1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWghPT01KXJldHVybiExO18uRnYoYixjLGQsS3UoYS5yaCkpO3JldHVybiEwfSxGbGEsXy5jayk7Xy5rej1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWghPT0wKXJldHVybiExO18uRnYoYixjLGQsXy5xaChhLnJoKSk7cmV0dXJuITB9LF8uSmksXy5aaik7Xy5sej1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWghPT0yKXJldHVybiExO18uRnYoYixjLGQsXy5DaChhKSk7cmV0dXJuITB9LF8uS2ksXy5Xaik7CnNvYT1fLkRpKGZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoYS5xaCE9PTMpcmV0dXJuITE7Yj1fLkZpKGIsZCxjKTtlKGIsYSk7aWYoYS5xaCE9PTQpdGhyb3cgRXJyb3IoKTtpZihhLnNoIT09Yyl0aHJvdyBFcnJvcigpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe18uemkoYSxiLGMsZCxlLEdsYSl9LF8uVWopO18ubXo9Xy5saShmdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYS5xaCE9PTIpcmV0dXJuITE7dmFyIGc9YltfLkNkXXwwO18ucmcoYixnLGYsYyxfLmJlKGcpKTtiPV8uemcoYixkLGMpO18uQWgoYSxiLGUpO3JldHVybiEwfSxfLkxpKTtfLm56PV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0yKXJldHVybiExO18uRWkoYixjLFV1KGEpKTtyZXR1cm4hMH0sZXYsXy5hayk7Cl8ub3o9Xy5DaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTIpcmV0dXJuITE7YT1VdShhKTtfLlZmKGIsYltfLkNkXXwwLGMpLnB1c2goYSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoV2thLGIsITEpO2lmKGIhPW51bGwpZm9yKGxldCBnPTA7ZzxiLmxlbmd0aDtnKyspe3ZhciBkPWEsZT1jLGY9YltnXTtmIT1udWxsJiZfLmRpKGQsZSxFdShmLCEwKS5idWZmZXIpfX0sXy5hayk7Xy5wej1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWghPT0yKXJldHVybiExO18uRnYoYixjLGQsVXUoYSkpO3JldHVybiEwfSxldixfLmFrKTtfLnF6PV8uQ2koU2xhLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5KZSxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZz0wO2c8Yi5sZW5ndGg7ZysrKXt2YXIgZD1hLGU9YyxmPWJbZ107ZiE9bnVsbCYmKF8uWWgoZCxlLDApLF8uU2goZC5xaCxmKSl9fSxfLmJrKTsKXy5yej1fLkNpKFNsYSxmdW5jdGlvbihhLGIsYyl7Yj1fLnlpKF8uSmUsYiwhMCk7aWYoYiE9bnVsbCYmYi5sZW5ndGgpe2M9Xy5aaChhLGMpO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKV8uU2goYS5xaCxiW2RdKTtfLiRoKGEsYyl9fSxfLmJrKTt0b2E9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXtpZihhLnFoIT09MClyZXR1cm4hMTtfLkZ2KGIsYyxkLF8uc2goYS5yaCkpO3JldHVybiEwfSxfLk1pLF8uYmspO18uc3o9Xy5DaShfLlJpLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5HZSxiLCEwKTtpZihiIT1udWxsJiZiLmxlbmd0aCl7Yz1fLlpoKGEsYyk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspXy5UaChhLnFoLGJbZF0pO18uJGgoYSxjKX19LF8uZ2spO18udHo9Xy5BaShmdW5jdGlvbihhLGIsYyxkKXtpZihhLnFoIT09MClyZXR1cm4hMTtfLkZ2KGIsYyxkLF8ucmgoYS5yaCkpO3JldHVybiEwfSxfLk5pLF8uZ2spOwpfLnV6PV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8uSXUoYS5yaCkpO3JldHVybiEwfSxIbGEsXy5mayk7Xy52ej1fLkNpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MCYmYS5xaCE9PTIpcmV0dXJuITE7Yj1fLldmKGIsYyk7YS5xaD09Mj9fLkRoKGEsXy5JdSxiKTpiLnB1c2goXy5JdShhLnJoKSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5HZSxiLCEwKTtpZihiIT1udWxsJiZiLmxlbmd0aCl7Yz1fLlpoKGEsYyk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspXy5TaChhLnFoLF8udXUoYltkXSkpO18uJGgoYSxjKX19LF8uZmspO3VvYT1fLkFpKGZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucWghPT0wKXJldHVybiExO18uRnYoYixjLGQsXy5JdShhLnJoKSk7cmV0dXJuITB9LEhsYSxfLmZrKTsKdm9hPV8uQWkoZnVuY3Rpb24oYSxiLGMsZCl7YS5xaCE9PTA/YT0hMTooXy5GdihiLGMsZCxfLkh1KGEucmgpKSxhPSEwKTtyZXR1cm4gYX0sXy5JbGEsXy5payk7Xy53ej1bITAsXy5VLF8uVV07Xy54ej1bMCxfLlZ5LC0xXTtfLndvYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1Ucigpe3JldHVybiBfLlBnKHRoaXMsMSl9Z2V0VXJsKCl7cmV0dXJuIF8uSCh0aGlzLDMpfXNldFVybChhKXtyZXR1cm4gXy5qaCh0aGlzLDMsYSl9fTtfLnl6PVswLF8uWXksLTIsWzAsXy5ZeV1dO1VsYT0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO1dsYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5xaH19O18uYWE9Xy5Sdi5wcm90b3R5cGU7Xy5hYS5saz1fLmhhKDE1KTsKXy5hYS5hZGQ9ZnVuY3Rpb24oYSxiKXtfLlN2KHRoaXMpO3RoaXMuc2g9bnVsbDthPVR2KHRoaXMsYSk7dmFyIGM9dGhpcy5xaC5nZXQoYSk7Y3x8dGhpcy5xaC5zZXQoYSxjPVtdKTtjLnB1c2goYik7dGhpcy5yaD10aGlzLnJoKzE7cmV0dXJuIHRoaXN9O18uYWEucmVtb3ZlPWZ1bmN0aW9uKGEpe18uU3YodGhpcyk7YT1Udih0aGlzLGEpO3JldHVybiB0aGlzLnFoLmhhcyhhKT8odGhpcy5zaD1udWxsLHRoaXMucmg9dGhpcy5yaC10aGlzLnFoLmdldChhKS5sZW5ndGgsdGhpcy5xaC5kZWxldGUoYSkpOiExfTtfLmFhLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5xaD10aGlzLnNoPW51bGw7dGhpcy5yaD0wfTtfLmFhLmlzRW1wdHk9ZnVuY3Rpb24oKXtfLlN2KHRoaXMpO3JldHVybiB0aGlzLnJoPT0wfTsKXy5hYS5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7Xy5Tdih0aGlzKTt0aGlzLnFoLmZvckVhY2goZnVuY3Rpb24oYyxkKXtjLmZvckVhY2goZnVuY3Rpb24oZSl7YS5jYWxsKGIsZSxkLHRoaXMpfSx0aGlzKX0sdGhpcyl9O18uYWEuUnM9ZnVuY3Rpb24oKXtfLlN2KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5xaC52YWx1ZXMoKSksYj1BcnJheS5mcm9tKHRoaXMucWgua2V5cygpKSxjPVtdO2ZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdO2ZvcihsZXQgZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKX1yZXR1cm4gY307Xy5hYS5KbT1mdW5jdGlvbihhKXtfLlN2KHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpJGxhKHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMucWguZ2V0KFR2KHRoaXMsYSkpKSk7ZWxzZXthPUFycmF5LmZyb20odGhpcy5xaC52YWx1ZXMoKSk7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8uYWEuc2V0PWZ1bmN0aW9uKGEsYil7Xy5Tdih0aGlzKTt0aGlzLnNoPW51bGw7YT1Udih0aGlzLGEpOyRsYSh0aGlzLGEpJiYodGhpcy5yaD10aGlzLnJoLXRoaXMucWguZ2V0KGEpLmxlbmd0aCk7dGhpcy5xaC5zZXQoYSxbYl0pO3RoaXMucmg9dGhpcy5yaCsxO3JldHVybiB0aGlzfTtfLmFhLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5KbShhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07Xy5hYS5zZXRWYWx1ZXM9ZnVuY3Rpb24oYSxiKXt0aGlzLnJlbW92ZShhKTtiLmxlbmd0aD4wJiYodGhpcy5zaD1udWxsLHRoaXMucWguc2V0KFR2KHRoaXMsYSksXy5CYyhiKSksdGhpcy5yaD10aGlzLnJoK2IubGVuZ3RoKX07Cl8uYWEudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnNoKXJldHVybiB0aGlzLnNoO2lmKCF0aGlzLnFoKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLnFoLmtleXMoKSk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBjPWJbZF07bGV0IGU9Xy5DaihjKTtjPXRoaXMuSm0oYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBnPWU7Y1tmXSE9PSIiJiYoZys9Ij0iK18uQ2ooY1tmXSkpO2EucHVzaChnKX19cmV0dXJuIHRoaXMuc2g9YS5qb2luKCImIil9O18uYWEuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgXy5SdjthLnNoPXRoaXMuc2g7dGhpcy5xaCYmKGEucWg9bmV3IE1hcCh0aGlzLnFoKSxhLnJoPXRoaXMucmgpO3JldHVybiBhfTtfLmFhLmV4dGVuZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKVpsYShhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciB4b2E9L1sjXC9cP0BdL2cseW9hPS9bI1w/XS9nLHpvYT0vWyNcPzpdL2csQW9hPS8jL2csY21hPS9bI1w/QF0vZztfLmFhPV8uV3YucHJvdG90eXBlOwpfLmFhLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj10aGlzLnNoO2ImJmEucHVzaChWdihiLHhvYSwhMCksIjoiKTt2YXIgYz10aGlzLnFoO2lmKGN8fGI9PSJmaWxlIilhLnB1c2goIi8vIiksKGI9dGhpcy55aCkmJmEucHVzaChWdihiLHhvYSwhMCksIkAiKSxhLnB1c2goXy5DaihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMudGgsYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5nZXRQYXRoKCkpdGhpcy5xaCYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKFZ2KGMsYy5jaGFyQXQoMCk9PSIvIj95b2E6em9hLCEwKSk7KGM9dGhpcy5yaC50b1N0cmluZygpKSYmYS5wdXNoKCI/IixjKTsoYz10aGlzLnhoKSYmYS5wdXNoKCIjIixWdihjLEFvYSkpO3JldHVybiBhLmpvaW4oIiIpfTsKXy5hYS5yZXNvbHZlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2xvbmUoKSxjPSEhYS5zaDtjP18uWHYoYixhLnNoKTpjPSEhYS55aDtjP1l2KGIsYS55aCk6Yz0hIWEucWg7Yz9iLnFoPWEucWg6Yz1hLnRoIT1udWxsO3ZhciBkPWEuZ2V0UGF0aCgpO2lmKGMpXy5adihiLGEudGgpO2Vsc2UgaWYoYz0hIWEuemgpe2lmKGQuY2hhckF0KDApIT0iLyIpaWYodGhpcy5xaCYmIXRoaXMuemgpZD0iLyIrZDtlbHNle3ZhciBlPWIuZ2V0UGF0aCgpLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuZ2V0UGF0aCgpLnNsaWNlKDAsZSsxKStkKX1lPWQ7aWYoZT09Ii4uInx8ZT09Ii4iKWQ9IiI7ZWxzZSBpZihlLmluZGV4T2YoIi4vIikhPS0xfHxlLmluZGV4T2YoIi8uIikhPS0xKXtkPV8uRWIoZSwiLyIpO2U9ZS5zcGxpdCgiLyIpO2xldCBmPVtdO2ZvcihsZXQgZz0wO2c8ZS5sZW5ndGg7KXtsZXQgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/CigoZi5sZW5ndGg+MXx8Zi5sZW5ndGg9PTEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Yi5zZXRQYXRoKGQpOmM9YS5yaC50b1N0cmluZygpIT09IiI7Yz8kdihiLGEucmguY2xvbmUoKSk6Yz0hIWEueGg7YyYmXy5hdyhiLGEueGgpO3JldHVybiBifTtfLmFhLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLld2KHRoaXMpfTtfLmFhLmdldFBhdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56aH07Xy5hYS5zZXRQYXRoPWZ1bmN0aW9uKGEsYil7dGhpcy56aD1iP1V2KGEsITApOmE7cmV0dXJuIHRoaXN9O18uYWEuc2V0UXVlcnk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gJHYodGhpcyxhLGIpfTtfLmFhLmdldFF1ZXJ5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmgudG9TdHJpbmcoKX07Xy5hYS5odj1mdW5jdGlvbihhLGIpe3RoaXMucmguc2V0KGEsYik7cmV0dXJuIHRoaXN9Owp2YXIgQm9hPVswLF8uWSxbMCxfLlAsXy52cixfLlJdXSxDb2E9WzAsXy5aLF8uUl0sRG9hPVswLF8uQ3JdO18uYWE9Xy5kdy5wcm90b3R5cGU7Xy5hYS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5kdyh0aGlzLngsdGhpcy55KX07Xy5hYS5lcXVhbHM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmR3JiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18uYWEuY2VpbD1mdW5jdGlvbigpe3RoaXMueD1NYXRoLmNlaWwodGhpcy54KTt0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uYWEuZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5mbG9vcih0aGlzLngpO3RoaXMueT1NYXRoLmZsb29yKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uYWEucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLmFhLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiBfLmR3Pyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307Xy5hYS5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTtfLml3PSExO18uanc9ITE7Xy5sdz17TGo6YT0+YSBpbnN0YW5jZW9mIFVSTD9hLnRvU3RyaW5nKCk6YX07eno9WzAsXy5heiwtMV07RW9hPVswLF8uVSwxLFswLF8uWSxbMCxfLlUsLTEsXy5QLF8uVV0sXy5heiw0LF8uQXIsMSxfLm96LF8ud3IsXy5heixfLlJdLDEsXy5DcixfLlUsXy5aLDEsenosXy5ZLHp6LDIsWzAsXy5VLC0xLF8uYXpdLC0xLDEsenosXy5ZLHp6LF8uWixfLlVdO18uQXo9e3JvYWRtYXA6Im0iLHNhdGVsbGl0ZToiayIsaHlicmlkOiJoIix0ZXJyYWluOiJyIn07CkZvYT1bLTUwMCxfLlosXy5XeSxfLmh6LF8uUCw5OTUsXy5VXTtHb2E9WzAsXy5aLC0xLF8uVSwyLF8uWiwxLF8uWixfLlksWzAsXy5aLF8uWSxbMCxfLlUsLTFdLFswLF8uV3ldLFswLF8uV3ldLFswLF8uWHldLFswLF8uWl0sWzAsXy5QXSxbMCxfLlksRm9hLFswLF8uWSxGb2EsLTJdXV0sXy5zel07Xy5Cej0oYSxiKT0+e2I9Yi5nZXRSb290Tm9kZT9iLmdldFJvb3ROb2RlKCk6ZG9jdW1lbnQ7Yj1iLmhlYWR8fGI7dmFyIGM9Xy56amEoYik7Yy5oYXMoYSl8fChjLmFkZChhKSxfLlF0KGEoKSx7cm9vdDpiLEp6OiExfSkpfTsKdG1hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WaT1bXTt0aGlzLmtleXM9bmV3IFNldDt0aGlzLnFoPW51bGx9ZXhlY3V0ZSgpe3RoaXMucWg9bnVsbDtmb3IodmFyIGE9cGVyZm9ybWFuY2Uubm93KCksYj10aGlzLlZpLmxlbmd0aCxjPTA7YzxiJiZwZXJmb3JtYW5jZS5ub3coKS1hPDE2O2MrPTMpe2xldCBkPXRoaXMuVmlbY10sZT10aGlzLlZpW2MrMV07dGhpcy5rZXlzLmRlbGV0ZSh0aGlzLlZpW2MrMl0pO2QuY2FsbChlKX10aGlzLlZpLnNwbGljZSgwLGMpO3JtYSh0aGlzKX19O18uQ3o9WzAsXy56ciwtMl07Xy5JbCgiY29tbW9uIix7fSk7dmFyIEhvYT1bMCxfLm56LF8ub3osXy5SLF8uVV07dmFyIElvYT17fTt2YXIgSm9hPVswLF8uWiwtMV07Xy5Eej1bMCxfLnZyLF8uaHosLTFdO18uRXo9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgS29hPVswLF8uWSxbMCxKb2EsXy5ZLFstNyxJb2EsSm9hLF8uVSxfLkR6LC0xLFswLF8uWixfLnZyLC0xXSxnb2FdXV07Xy5Gej1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDEpfX07Xy5Hej17fTt2YXIgTG9hO0xvYT1fLiRpKF8uRXosS29hKTtfLk1vYT1fLlhpKDM2MTgxNDIwNixfLkZ6LF8uRXopO18uR3pbMzYxODE0MjA2XT1Lb2E7Xy5Iej1bMCxfLnVyLC0xXTt2YXIgSXo9WzAsXy5VLC0xLF8ubnosXy5VLC00XTtJb2FbMjkzMTc4NTYwXT1bMCxbMCxJeixfLkh6LF8uVSxbMCwyLF8uUCwtM10sXy5VLF8uUixfLlAsXy5ZLEl6LF8uUF0sXy5aXTtfLk5vYT1bMCxfLnpyLC0zXTtfLkp6PVswLF8uWixfLlVdO18uS3o9WzAsXy5VLDIsXy5VLDEsXy5VLF8uWixbMCxfLlUsLTFdLF8uUCwxLF8uVSxfLnN6XTtfLk9vYT1bMCxfLmh6LC0xXTtfLkx6PVswLF8uVSxfLlksWzAsXy5QLC0xLFswLFswLF8uWl0sXy5Pb2EsXy5SLFswLF8uV3ldLF8uUl0sXy5Lel1dO3ZhciBQb2E9WzAsXy5XeSxfLlVdO3ZhciBRb2E9WzAsXy5KeixfLlVdO18uTXo9WzAsXy5QLC0yLF8uWixfLlUsLTJdO3ZhciBOej1bMCxfLld5LFswLF8uWSxbMCxfLlAsLTFdXV07dmFyIE96PVswLDEsXy5QXTtfLlB6PVstMSxfLlRyLGZ1bmN0aW9uKGEsYixjKXtfLlN1KCk7dHJ5e2xldCBkPWMub2w7Zm9yKDtfLlF1KGIpJiZiLnFoIT00OylpZihiLnRoPT09MTEpe2xldCBmPWIud2gsZz0hMSxoO2NsYShiLChrLG0pPT57aD1rO2s9Y1toXTtpZihrPT1udWxsKXtsZXQgcD1kPy5baF07aWYocCl7bGV0IHE9Xy5kdihwKSx1PWN2KHApLmZxO2s9Y1toXT0oeCx6LEIpPT5xKF8uemcoeix1LEIpLHgpfX1rIT1udWxsP2sobSxhLGgpOihnPSEwLG0ucmguc2V0Q3Vyc29yKG0ucmguc2gpKX0pO2cmJnZ1KGEsaCxhbGEoYixmKSl9ZWxzZSB2dShhLGIuc2gsYmxhKGIpKTtsZXQgZT1fLmxmKGEpO2UmJihlLk9CPWMuaUFbXy50cl0pO3JldHVybiEwfWNhdGNoKGQpe2lmKGQgaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBkO31maW5hbGx5e18uUnU+MCYmXy5SdS0tfX0sZnVuY3Rpb24oYSxiKXtyZXR1cm4oYyxkLGUpPT57ZD1fLm1pKGQsYSk7ZCE9bnVsbCYmCihfLlloKGMsMSwzKSxfLlloKGMsMiwwKSxfLlRoKGMucWgsZSksZT1fLlpoKGMsMyksYihkLGMpLF8uJGgoYyxlKSxfLlloKGMsMSw0KSl9fV07Xy5Rej1bMCxfLmZ6LC0xLF8uUHpdO3ZhciBSej1bMCwxNCxbMCxbMCxfLlosXy5VXSxfLlJdXTtfLlN6PVstNTAwLF8uaHosLTEsMTIsXy5Qeiw0ODQsUnpdO18uVHo9WzAsXy5TeiwtMV07Xy5Vej1bMCwyLF8udXIsLTFdO3ZhciBWej1bMCxfLk16LF8uVXosXy5VLC0xLDIsXy5SLF8uUCxfLlIsXy5VLF8uWiwtMSxfLlUsLTFdO3ZhciBXej1bMCxfLlF6LF8uVSxWeixfLlN6LF8uVSxbMCxfLlksWzAsXy5MeixfLlBdXSxbMCxfLkx6XSxfLlIsLTEsXy51cixRb2EsXy5UeixbMCxbMSwyXSxfLm16LFswLFsxLDJdLF8ubXosUG9hLGpvYSxQb2FdLF8ubXosWzAsXy5QXSxfLlIsXy5VXSxbMCxfLlVdLF8uVSxfLlksKCk9PlJvYSxbMCxfLkp6LF8uVV0sWzAsXy5SXSxbMCxbMCxfLlAsXy5Eel0sLTRdLFswLF8uTXosXy5SLC0xLF8uVSxfLlosXy5VLC0xXSxbMCxfLlVdLF8uUixbMCxfLlIsLTFdLF8uWSxPeiwxLF8uVSxbMCxbMiwzXSxfLlosXy5reiwtMSxfLlpdLFFvYSxfLlUsTnosWzAsXy5aLF8uVSwtMV1dLFJvYT1bMCwoKT0+V3osXy5aXTtfLlh6PVswLF8udXIsLTJdO3ZhciBTb2E9WzAsXy5QLC0xXTtfLll6PVswLF8uWHosWzAsXy5XeSwtMl0sU29hLF8uV3ksWzBdLFswLF8uV3ksLTFdLDkzLF8uUF07Xy5aej1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRRdWVyeSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRRdWVyeShhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTt2YXIgVG9hPVswLF8uUixfLlAsLTEsXy5aLF8uUiwxLF8uWixbMCxfLlksWzAsXy5QLC0xXV0sLTEsXy5aLF8uUixfLlosWzAsXy5ZLFswLF8uUCwtM11dLF8uWixfLlIsXy5QXTt2YXIgVW9hPVswLFswLFswLFsxLDJdLF8udHosXy5teixbMCxfLlIsLTNdXSxbMCxbMSwyXSxfLnR6LC0xXSxbMCxbMSwyXSxfLnR6LF8ubXosWzAsWzEsMl0sWzMsNF0sXy5teixfLkN6LF8udHosLTEsXy5teixfLk5vYV1dLFswLF8uVV0sWzAsXy5aXSxbMF0sWzAsWzAsWzEsMl0sXy5teixbMCxfLkJyLC0xLF8uWl0sXy50el0sWzAsWzEsMl0sdG9hLF8udHpdLF8uWSxbMCxfLlpdLF8uWSxbMCxfLlpdLF8uUiwtMyxbMCxfLkN6LC0xLF8uUF0sWzAsXy5QXSxbMCxfLnN6LF8uUCwtMV0sXy5VLFswLF8uWiwtMV1dLFswLF8uQXJdXSxfLlUsXy5aLFRvYSxfLlksV3osXy5aLFswLFd6LDEsXy5SLFswLF8uUCwtM10sXy5SLC0xLDEsXy52cixfLlUsLTEsXy5SLC0xXSxfLlosWzAsXy5aLF8uVV0sWzAsXy5SLC01XSxfLnN6LF8uVSxbMCxbMCxfLlksWzAsWzEsMl0sXy5seixfLmN6LF8uV3ldLC0xXSxfLld5LC0xXSxbMCxXeixfLlIsLTIsXy5aLF8uUixfLll6LF8uUl0sWzAsV3pdLFswLApbMCxfLlIsLTFdLF8uUl0sXy5SLFswLF8uUl0sWzAsXy5BcixfLlJdXTt2YXIgVm9hO1ZvYT1fLiRpKF8uWnosVW9hKTtfLldvYT1fLlhpKDI5OTE3NDA5MyxfLkZ6LF8uWnopO18uR3pbMjk5MTc0MDkzXT1Vb2E7dmFyIE1tYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18udXg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0S2V5KCl7cmV0dXJuIF8uSCh0aGlzLDEpfWdldFZhbHVlKCl7cmV0dXJuIF8uSCh0aGlzLDIpfXNldFZhbHVlKGEpe3JldHVybiBfLmloKHRoaXMsMixhKX19O3ZhciBRbWE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLnh4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWFkZEVsZW1lbnQoYSxiKXtyZXR1cm4gXy5CdSh0aGlzLDMsYSxiKX1MbihhKXtfLkhnKHRoaXMsMyxfLkRlLHZvaWQgMCxhLF8uRWUsdm9pZCAwLDEsITEsITApfW5rKGEpe3JldHVybiBfLlhnKHRoaXMsMyxhKX19O18uJHo9e307Xy52eD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1VaSgpe3JldHVybiBfLkgodGhpcywxMCl9Z2V0Q29udGV4dCgpe3JldHVybiBfLkFnKHRoaXMsXy52eCwxKX19O18udngucHJvdG90eXBlLlp2PV8uaGEoNDQpO18udHg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxNCl9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMil9Sm8oKXtyZXR1cm4gXy5LZyh0aGlzLDMpfX07Xy50eC5wcm90b3R5cGUuVUg9Xy5oYSg0NSk7Xy5hQT17fTt2YXIgTm1hPV8uWGkoMzMxNzY1NzgzLF8udHgsTW1hKTtfLmFBWzMzMTc2NTc4M109WzAsXy5kel07dmFyIE9tYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBQbWE9Xy5YaSgzMjAwMzMzMTAsXy50eCxPbWEpO18uYUFbMzIwMDMzMzEwXT1bMCxfLmR6LDMsXy5keiwxLF8uUCwzLFswLF8uWSxbMCxbMiwzLDRdLF8uVSxfLmx6LC0yXV0sMixfLlIsXy5QLDEsWzAsXy5SLC0xLF8uYnosXy5ZLFswLF8uVSxfLlIsLTFdXSxfLlVdO3ZhciBYb2E9WzAsXy5ZLE96LF8uWSxbMCxfLlVdLF8uWiwtMixOeixbMCxfLlUsLTEsXy5QXSxfLlosXy5ZLE96LE56LF8uWixbMCxfLlksWzAsXy5XeSwtMV1dXTt2YXIgYkE9Wy01MDAsXy5ZLF8uU3osMTMsXy5Qeiw0ODQsUnpdO18uY0E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgWW9hPVswLF8uWSxbMCxfLmd6LF8ueHpdLF8uWSxbMCxfLlN6LF8uWiwtMV0sYkEsWzAsXy5ZLFswLFsyXSxfLlosXy5teixbMCxfLlksWzAsXy5QLC0xXSxfLlksWzAsXy5ReixfLlN6XV1dXSxbMCxfLnZ6LC0xXSxfLnVyLF8uQnIsXy5ZLFswLF8uVSxfLlIsXy5QXSxfLlksWzAsXy5nel1dO3ZhciBab2E9WzAsXy5SLF8uSHosWzAsXy5ZLFswLF8uZ3osXy5Iel0sYkFdLDEsWzAsWzAsWzIsMyw0XSxfLlosXy5teixbMCxfLlAsLTEsXy5aLF8uVSwtMV0sXy5teixbMCxZb2EsXy5aLF8ubnosWzAsXy5aLC0xLF8udnJdLF8ubnpdLF8ubXosWzAsXy5aLFlvYSxfLm56LF8uUixfLm56LF8uWl1dXSwxLFswLF8uWixYb2EsXy5aXSxbMCxfLlUsXy5hel0sXy5ZLFswLF8uUXpdLFswLF8uWl1dO3ZhciAkb2E9Xy4kaShfLmNBLFpvYSksYXBhPV8uWGkoNDM2MzM4NTU5LF8uRnosXy5jQSk7Xy5Hels0MzYzMzg1NTldPVpvYTtfLmRBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5lQT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uZkE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9T2woYSl7cmV0dXJuIF8ua2godGhpcywzLGEpfX07Xy5mQS5wcm90b3R5cGUucmg9Xy5oYSg0KTtfLmJwYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uZ0E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9UXEoKXtyZXR1cm4gXy5QZyh0aGlzLDIsMSl9fTtfLmhBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldENvbnRleHQoKXtyZXR1cm4gXy5BZyh0aGlzLF8uZ0EsMSl9c2V0UXVlcnkoYSxiKXtyZXR1cm4gXy4kZih0aGlzLDMsXy5icGEsYSxiKX19O18uaEEucHJvdG90eXBlLnJoPV8uaGEoNDkpO18uaEEucHJvdG90eXBlLnRoPV8uaGEoNDcpO18uY3BhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5pQT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRTdGF0dXMoKXtyZXR1cm4gXy5BZyh0aGlzLF8uY3BhLDEpfWdldEF0dHJpYnV0aW9uKCl7cmV0dXJuIF8uQWcodGhpcyxfLmRBLDUpfXNldEF0dHJpYnV0aW9uKGEpe3JldHVybiBfLkVnKHRoaXMsXy5kQSw1LGEpfWhhc0F0dHJpYnV0ZXMoKXtyZXR1cm4gXy5TZih0aGlzLF8uZkEsNyl9fTtfLmlBLnByb3RvdHlwZS5FdT1fLmhhKDUwKTtfLmpBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE1lc3NhZ2UoKXtyZXR1cm4gXy5IKHRoaXMsMyl9fTtfLmRwYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRTdGF0dXMoKXtyZXR1cm4gXy5BZyh0aGlzLF8uakEsMSl9fTtfLmVwYT1fLmJqKF8uZHBhKTtfLmtBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldENlbnRlcigpe3JldHVybiBfLkFnKHRoaXMsXy5lQSwxKX1zZXRDZW50ZXIoYSl7cmV0dXJuIF8uRWcodGhpcyxfLmVBLDEsYSl9Z2V0UmFkaXVzKCl7cmV0dXJuIF8uT2codGhpcywyKX1zZXRSYWRpdXMoYSl7cmV0dXJuIF8uQXUodGhpcywyLGEpfX07Xy5sQT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRDb250ZXh0KCl7cmV0dXJuIF8uQWcodGhpcyxfLmdBLDEpfWdldExvY2F0aW9uKCl7cmV0dXJuIF8uQWcodGhpcyxfLmtBLDIpfX07Xy5sQS5wcm90b3R5cGUueEQ9Xy5oYSg1MSk7Xy5sQS5wcm90b3R5cGUucmg9Xy5oYSg0OCk7Xy5sQS5wcm90b3R5cGUudGg9Xy5oYSg0Nik7dmFyIGZwYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uZ3BhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFN0YXR1cygpe3JldHVybiBfLkFnKHRoaXMsXy5qQSwxKX1nZXRNZXRhZGF0YSgpe3JldHVybiBfLkFnKHRoaXMsXy5pQSwyKX1nZXRUaWxlKCl7cmV0dXJuIF8uQWcodGhpcyxmcGEsNCl9fTtfLmhwYT1fLmJqKF8uZ3BhKTtfLm1BPVswLF8uUCxfLlksWzAsXy5QXSwxLF8uWl07dmFyIGlwYT1bMCxfLlIsLTFdO3ZhciBqcGE9WzAsXy5QLC00XTt2YXIgbkE9WzAsXy5QLF8uV3ldO3ZhciBrcGE9WzAsXy51eixuQV07dmFyIGxwYT1bMCxfLlAsXy5ZLFswLF8uUCwtMV1dO18ubXBhPVswLF8uWixfLlVdO18ubnBhPVstNTAwLDEsXy5XeSxfLlN6LC0xLF8uUiwtMSwxLF8uWixfLlN6LF8uUXosXy5QLF8uQ3IsXy5Reiw0ODYsUnpdO3ZhciBvcGE9Wy01MDAsWzAsc29hLFswLDEsXy5QLC0xXSwyLF8uUF0sNDk4LFJ6XTtfLnBwYT1bMCxfLlosXy5SLF8uWiwyLFswLF8uUCwtMyxfLlosXy5QLF8uWiwtMSxfLlBdLC0xXTtfLm9BPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHBBPVswLF8uRHosXy52cl07Xy5xQT1bMCxfLlAsLTEsMixfLlAsLTQsXy5SLF8uUCxfLmZ6LHBBLF8uUCxbMCxfLmR6LF8uUF0sXy5QXTtfLlF3PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldEtleSgpe3JldHVybiBfLkgodGhpcywxKX1nZXRWYWx1ZSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRWYWx1ZShhKXtyZXR1cm4gXy5paCh0aGlzLDIsYSl9fTtfLnJ4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNil9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSwzNyl9fTtfLnJBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5zQT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uRXg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0Wm9vbSgpe3JldHVybiBfLktnKHRoaXMsMSl9c2V0Wm9vbShhKXtyZXR1cm4gXy5iaCh0aGlzLDEsYSl9fTtfLnRBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfVFxKCl7cmV0dXJuIF8uUGcodGhpcywxNyl9fTtfLnVBPVswLF8uUCwtMV07Xy52QT1bMCxfLlV5LC0yXTtfLnFwYT1bLTUwMCxfLlksWzAsXy5ZLF8udUEsXy5aXSxfLlosOTk3LF8uWl07Xy5ycGE9WzAsXy5VLF8udnIsXy5QXTtfLndBPVswLDIsXy51ciwtMV07Xy54QT1bMCxJeixfLm56XTtfLnlBPVswLF8uVSwtMSxfLll6LF8ud0EsXy5aLF8uUiwtMSwxLF8uWixfLlAsXy5VLF8ubnosXy5VLF8ubnosXy54QV07dmFyIHNwYT1bMCxtb2EsLTFdO3ZhciB0cGE9Wy0zNCx7fSxfLlIsLTQsXy5QLFswLFNvYSxfLlksWzAsXy5aLF8uUixfLlosLTFdLF8uUiwtMV0sXy5SLC0xLF8uUCxfLlIsMSxfLlIsLTksWzAsXy5SXSxbMCxfLlJdLF8uUiwtMSxbMCxfLkNyLF8uUiwtMSxfLlBdLFswLF8uUl0sXy5SLFswLF8uUiwtMV0sXy5SLC0yXTtfLnVwYT1bMCxfLlUsXy5QLF8uWiwtMSwxLF8uVSwxLF8uV3ksWzAsXy5QLC01XSwxLF8uWixbMCxfLlIsLTZdLHRwYSwxLF8ubUEsXy5SLFswLFszLDQsNV0sWzAsXy5QLC0yXSwtMSxfLmV6LC0xLF8ua3osXy5QXSxbMCxfLlIsLTksWzAsWzAsXy5QLF8uQ3IsXy5SLF8uQ3JdXSxfLlIsLTMsWzAsdHBhXSxfLlIsLTUsXy5aLF8uUiwtMixbMCxfLlJdLF8uUiwtNCxbMCxfLlJdLF8uUiwtMSxfLlosXy5SLC0xXSxfLlIsXy5aLFswLF8uUCwtM10sXy5ueixbMCxfLlIsXy5ueixfLlJdXTt2YXIgdnBhPVswLF8uWl07dmFyIHpBPVswLF8uWSxbMCxfLlosdnBhLF8uV3ksLTEsXy5aXSxfLlIsMyxfLlJdO3ZhciB4cGE9WzAsKCk9PndwYV0seXBhPVswLF8uVSwtMSxfLndBLF8uVSxfLlosLTEsWzAsXy5VLF8uV3ksXy5VLC0xXSxfLlUsMixfLlIsXy5VLC0yLDEsKCk9PnhwYSwxLF8uUixfLlUsMSxfLlIsXy5QLFswLF8uUiwtNF0sWzAsXy5XeV0sXy5aLDEsXy5QLFswLF8uWixfLlksWzAsXy5VXSxfLlBdLFswLF8uUl0sXy5VLC0yXSx3cGE9WzAsKCk9PnlwYSxfLlJdO3ZhciB6cGE9WzAsXy5aLF8uUiwtMSxfLmR6LC0xLF8uUiwtNywxLF8uUiwtOCwxLF8uUl07dmFyIEFwYT1bMCxfLkJyLC0yLF8uVSxfLkJyLC0yXTt2YXIgQUE9WzAsXy5QLF8uQnIsXy5xeixfLlAsXy5aLF8uUCwtMSxfLlksWzAsXy5aLF8uVSxbMCxfLnZyLF8uVSxfLnZyLF8uUixfLlUsLTEsMSxfLnZyLF8uVSwtMV0sXy5VLC0xLF8uQnJdLF8uWixbMCxfLnVyLF8uQnIsLTNdLFswLF8uWiwtMSxfLlUsXy5SLC0xLF8uUCwtMV0sXy5CcixfLlUsXy5QLFswLF8uVSwtMl0sXy5VLC0xLF8uQnIsLTEsWzAsXy5VXSxfLlUsNSxfLkJyLF8uWixbMCxfLlAsLTRdLFswLF8uUixfLlAsLTQsXy5Hcl1dO3ZhciBCcGE9WzAsXy5CciwtMixfLlosXy5CcixfLnJ6LF8uQnIsXy5VLF8uQnIsLTEsXy5VLF8uWiwtMSxfLlksQUFdO3ZhciBDcGE9WzAsXy5CcixCcGEsXy5CcixfLlosXy5CciwtMixbMCxfLlUsLTFdLF8uWSxbMCxfLkJyLC0xLF8uVV0sXy5ZLEFBXTt2YXIgRHBhPVswLF8uWixfLlUsWzAsXy5VLF8uUixfLlBdLF8uVSxBQSxfLlksQUEsXy5SLF8uQnIsLTEyLF8uVSxfLkJyLF8uWixfLkJyLC0xLF8uVSxbMCxfLlIsXy5CciwtNF0sWzAsXy5SLC0yXSxfLlosLTEsXy5DcixfLkJyLF8uVSxfLkJyLC0zLF8uUixfLlosXy5ZLEFBLF8uVSwtMSxfLlIsXy5CciwtMTAsWzAsXy5QLEFwYSxfLlIsXy5QLF8uWSxbMCxfLlIsLTIsXy5CciwtMV0sXy5QLC0xMyxfLlosWzAsXy5QLC02LF8udnJdLC0xLGxvYSxfLlIsXy5QXSxfLkJyLF8uWSxbMCxfLnF6LF8uQnIsXy5QLF8uQnIsXy5aLF8uUF0sXy5CcixbMCxfLkJyLC0xXSxfLlksWzAsXy5aLF8uVSxfLlAsLTFdLDEsXy5CciwtMixbMCxfLlAsLTEsXy52ciwtMixfLlAsLTFdLF8uQnIsLTEsWzAsXy5CciwtNF0sXy5ZLFswLF8uVSxfLlksQUFdLF8uQnIsLTEsXy5VLFswLF8uQnIsMSxfLkJyLC0xXSxfLmF6LFswLF8uUCwtNV0sWzAsXy5SLC0yXSxfLkJyLC0xLF8uWSxbMCxfLkJyLF8ucXosCl8uVV0sWzAsXy5SLC0yLF8uUCxfLlIsXy5QXSxbMCxbMCxfLlBdLC0xXSxfLmd6LF8uWSxbMCxfLlAsLTJdLF8uQnIsWzAsXy5QXSxbMCxfLlIsLTEsXy5QLF8uUl0sXy5ZLFswLF8uUixfLnZyLF8uUF0sXy5SLF8udnIsXy5ZLFswLFsxXSxfLm16LFswLF8uVSxfLlIsXy5QLC0zLF8uVSwtMl0sXy5VXSxfLlksWzAsXy5VLF8uUCxfLnZyLF8uVSwtMSxfLnZyLF8uUl0sXy5SLFswLF8uWSxbMCxfLkJyLF8ucXosXy52cl0sXy5QXSxub2EsWzAsXy5SLC0xXSxfLlosLTEsXy5CcixfLnN6LF8uVSxBcGEsLTEsXy5ZLFswLF8uQnIsLTJdLF8uWSxCcGEsXy5ZLENwYSxfLlUsXy5SLC0xLF8uWSxbMCxfLkJyLC00XSxfLlksQ3BhLF8uQnIsXy5SLFswLF8uVSwtM10sXy5VLF8uWixfLkJyLC0xLF8uVSxfLkJyLF8uVSxfLkJyLF8uWixfLlksWzAsXy5xeixfLlAsXy5Ccl0sXy5aLFswLF8uUixfLlAsLTMsXy5zeixfLnlyLC0xXSxfLkJyLC0xLF8uUl07dmFyIEVwYT1bMCxfLlUsLTEsXy5aLC0xLF8uUixfLlUsXy5SLF8uUCxfLlosWzAsWzAsXy5VLF8uWl1dLF8uVSxbMCxfLlUsXy5SLC0xXV07dmFyIEZwYT1bMCxfLlosLTFdO18uQkE9Wy01Myx7fSxbMTMsMzEsMzNdLF8uWSx5cGEsMSxfLll6LF8uUCwxLFswLFs3MF0sWzAsXy5aLC0xLF8udnIsMSxfLlosXy5SLF8uQ3IsXy5aLF8uUixfLlksdnBhLFswLF8uWiwxLFswLF8uUCwtMV1dLF8uWixfLlAsLTEsXy5ZLFswLF8uWl0sXy5SLC0zLFswLF8uUF0sWzAsWzAsXy5SLC00XSwtMSwxLF8ubnosLTEsXy5SXSwzLF8uQ3IsWzAsXy5VXSxfLlIsLTMsWzAsXy5SXSxfLlIsLTEsXy5aXSxbMCxfLlIsLTMsWzAsXy5ueiwzLF8uUixfLlosLTEsMSxfLlIsXy5aLF8uUiwtMl0sXy5SLDEsXy5SLDExLF8uWixfLlAsXy5SLF8uWSxbMCxfLlpdLF8uUiwtMSxfLlosWzAsXy5ZLFswLF8uWl0sXy5SLF8uWiwtMixfLlIsLTFdLFswLF8uWiwtMV0sXy5SLF8uWixpcGEsXy5SLDEsWzAsXy5aLF8udnJdLF8uUiwtMSxbMCxfLlIsMSxfLlIsLTRdLFswLF8uUCwtMyxqcGEsXy5QLF8uWSxqcGEsXy5ZLFswLF8uWl1dLF8uUiwtMywyLF8uWSxbMCxfLlpdXSwzLFswLF8uUiwyLApfLlIsMjAsXy5SLDYsXy5QLC0xLDgsXy5SLDUsXy5SLC0xLDUsXy5SLDQsXy5SLDIsWzAsXy51cixfLlAsLTFdLDIsXy5SLDIsXy5aLDIsXy5aLDgsXy5QLDMsXy5SLDMsXy5SLDIsXy5SLDUsXy5SLF8uVSxfLlIsMSxfLmR6LF8uUiw3LF8uUiwxLF8uUiwtMSw4LF8uUiwtMSw1LF8uUiwxLF8uUiwtMSw3LF8uVSwzLF8uUiwtMSwyLF8uUiw0LF8uWixfLlIsNSxfLlIsLTEsMTQsXy5SLC0xLDUsXy5SLC0zLDIsXy5QLF8uUiwtMixfLlAsLTEsMSxfLkFyLDEsXy5SLC0xLDIsXy5SLDIsXy5SLC0xMCwxLF8uUiwtMSwxLF8uQXIsXy5SLC00LDEsXy5SLDMsXy5SLC00LF8uWixfLlIsLTEsMSxfLlIsMSxfLlIsLTcsXy5VLDEsXy5SLC00LDIsXy5SLC0zLDEsXy5SLC02LDEsXy5SLC00LDIsXy5SLC0xLDMsXy5SLC00LDEsWzAsXy5SLC04XSxfLlIsLTUsMSxfLlIsLTIsXy5QLC0xXSxfLlIsLTEsXy5aLF8uUiwxLF8uUiwtMixfLmR6LF8uUixbMCxfLkNyLF8uUixfLkNyLF8uWl0sMSxbMCwKXy5aLC0xLF8udnJdLFswLF8uWiwtMSxfLlIsLTEsXy5aLF8uUiwtMiwxLF8uUiwtMSxbMCxfLlosekEsXy5SLF8uVHksWyEwLF8uVSx6QV0sXy5QXSxbMCxfLlksWzAsWzEsMl0sXy5teixbMCxfLlosXy5ZLFswLF8uWiwtMl1dLF8ubXosWzAsXy5ZLFswLF8uWl1dXSxfLlIsXy5QLHpBLF8uVHksWyEwLF8uVSx6QV1dLF8uUl0sMyxfLlIsLTMsWzAsXy5ueixfLlBdLF8uUixbMCxfLm56XSxfLlIsMSxfLlIsLTIsNyxfLlAsXy5VLDEsWzAsXy5SLGlwYV0sXy5SLC0yLDEsWzAsWzIsNF0sWzAsXy5SLC0xXSxfLmx6LF8uVSxfLm16LFswLF8uVSwtMV1dLF8uUiwyLFswLF8uWSxbMCxfLlpdLF8uUl0sMSxfLlIsLTEsMixbMCxbMCxfLlIsLTJdLF8uUixfLlUsXy5SXSxbMCxbMCxbMCxfLnZyLDEsbkEsLTEsXy5aLF8uV3ksLTEsbkEsXy5QLC0xLF8uUixfLld5LF8uWSxbMCxfLlosXy5QXSxfLlAsWzAsXy5QLF8uWl1dLFswLFswLF8uV3ksLTFdLC0yXSwxLFswLF8uWSxbMCxfLlAsLTFdLApfLlksWzAsXy5QLC0xXV0sMSxfLlksWzAsMixuQSxfLlBdLF8uWSxbMCxfLld5LG5BLC0yXSxbMCwzLF8uWSxscGEsXy5ZLFswLF8uV3ksXy5ZLGxwYV1dLFswLF8uUCxuQV0sWzAsNixfLlksWzAsXy5XeSxfLlksa3BhXSxfLlBdLFswLDMsXy5ZLGtwYV0sWzAsXy5VLF8uUixfLlpdLFswLF8uWSxbMCxfLlAsXy5XeV0sXy5QLF8uWSxbMCxfLld5LF8uUF0sXy5QLF8uWSxbMCxfLlAsXy5XeV1dXSxfLlIsLTEsWG9hLF8uUiwxLFswLF8uUCxfLlIsXy5QLDEsXy5QLF8uUiwxLF8uUixfLlAsXy5SXSxfLlksWzAsXy5VXSxfLlIsLTEsXy5XeSxfLlIsLTNdLFswLF8uWSxbMCwxLHNwYV0sWzAsXy5SXV0sXy5SLDIsXy5SLC0xLFswLFswLF8uVSwtMV0sWzAsXy5aLF8uVSwtNF0sWzAsMSxfLlksWzAsXy5aXV1dLF8ubXosWzAsXy5uel0sXy5XeSxbMCxfLlIsXy5QXSxfLlIsLTEsWzAsXy5SLF8uWl0sMixfLlIsMSxfLlIsLTIsMSxbMCxfLlJdLF8uWSxbMCxfLlosLTFdLF8uUiwxLFswLF8uWiwKLTIsWzAsXy5SLF8uWSxbMCxfLlVdLF8uUiwtMV0sWzAsXy5SLC0xLDEsXy5SLC0xM10sWzAsXy5SXSxbMCxfLlJdLFswLF8uUl0sXy5aXSxfLlIsLTIsWzAsXy5SXSxbMCxfLlIsLTFdLDEsWzAsXy5SLC0yXSxfLlIsWzAsXy5ZLFswLFsyXSxfLm56LF8ua3pdLF8uUl0sXy5SLC02LFswLF8uUiwtMV0sXy5aXSxfLlosenBhLF8uWSxbMCxfLlAsXy53QSxfLlUsXy5XeSxfLlJdLDIsXy5SLF8ubHosMSxbMCxfLlUsLTEsXy5SLF8ucUEsXy5VLC0xLF8uWixfLlksWy0yMzMsXy4keixfLlAsMSxfLlAsXy5keixfLlUsXy5aLF8uUCwzLFswLFsxLDJdLFszLDZdLF8ubXosXy5EeixfLm16LHBBLF8uZXosMixfLm16LFswLF8uZHosXy5QXV0sNSxfLlUsMTEyLF8uUiwxOCxfLlAsODIsWzAsWzAsWzEsMyw0XSxbMiw1XSxfLm16LF8uRHosXy5teixfLnFBLF8ubXoscEEsXy5seiwtMV1dXSxfLlUsLTEsRHBhLF8uWiwtMSxbMCxfLlIsXy5VLC0xXSxfLlAsMSxfLlUsXy5DcixbMCxfLlpdLF8uUiwKLTMsWzAsXy5VLF8uWl0sMSxfLlIsQm9hLF8uWixbMCxfLkNyXV0sXy5SLDIsWzAsXy5aXSxbMCxfLlksWzAsWzAsXy5QLC0xXSwtMV0sXy5SLC0xXSwyLF8uUCwxLF8uUixbMCxfLlpdLF8uUixbMCxfLlUsLTcsMSxfLlUsLTMsXy5ueixfLlUsLTEsXy5ZLFswLF8ubnpdXSwxLF8uWixfLnB6LF8ubnosXy50eixfLlksWzAsXy5QLERwYSxfLlJdLDIsXy5SLF8uVSxbMCxfLlosXy5VLF8uQ3IsXy5VLF8uWixfLlV6LF8uWiwtMSxfLlUsXy5ZLF8ueEEsXy5VXSxfLlAsWzAsXy5QLC0xLF8uVSxfLlIsLTEsXy5aLF8uVSxfLlJdLDEsRnBhLDEsWzAsXy5SLF8uWixfLlIsXy5ZLFswLF8uWixfLlAsLTFdLF8uWixfLm56LF8uUixfLlUsWzAsXy5ZLFswLF8uWnldLF8uWnldLF8ubnosWzAsWzAsXy5ZLF8uVXpdLF8uV3ksLTEsXy5SXV0sMSxbMCxfLlIsMSxfLlIsLTIsWzAsXy5SLC0xXSxbMCxfLlosXy5SXSxfLlIsLTEsXy5aLF8uUl0sXy5VLFswLFswLF8uVV0sWzAsXy5VXSxbMCwyMCxfLlR5LApfLnd6LC0xXSwxLFswLF8uVV0sWzAsXy55cixfLnZyLF8ueXIsXy5ZLEVwYSxbMCxfLlUsXy5ZLEVwYSxfLlksWzAsXy5VLF8uZHpdLF8uUCxfLlUsMixfLlksWzAsXy5VLF8uWSxbMCxfLlUsXy5aLF8uUF1dLF8uVSxbMCxfLlksWzAsXy5VLF8uZHpdXV0sMSxfLlUsMSxbMCxfLlAsLTIsXy5Bcl0sXy5BciwyLF8ubnosMSxIb2FdXSxfLlUsXy5ueiwtMV07dmFyIENBPVswLCgpPT5DQSxfLnlBLDIsWzAsMSxbMCwzLF8uWSxWel0sWzAsXy5BcixfLlBdLF8uWSxbMCxfLlUsXy53QSxfLlpdXSxWeiwxLF8uQkEsMSxfLlUsXy5aLFswLF8uVSxbMCxfLlUsLTIsXy5XeSwtMV0sXy5ZLFswLF8uUXosMSxfLlUsMSxfLlV6LFswLF8uV3ksXy5VXSxbMCxfLlosXy5VXV0sWzAsXy5DcixbMCxfLlosXy5hel0sMSxfLkNyLDIsXy5VLF8uWixfLnVwYSwyLF8uQXIsXy5QLC0yLF8uUiwxLF8uUiwtMSxfLkNyLF8uWixfLlIsWzAsXy5DcixfLlAsLTFdLF8uVSxfLlJdLF8uVSxfLlR6LDEsWzAsMixfLndBLC0xXSwxLF8uUiwtMSxfLlUsXy55QSw0LF8uVSxbMCxfLlIsXy5VLF8uQXJdLF8uWixbMCxfLlosXy5VLC0xXSxfLlosVG9hLF8uUiwtMV0sWzAsMSxfLlUsMTEsXy5SLDMsWzAsNCxfLlIsLTEsMixfLlIsNCxfLlosNSxfLlIsLTFdLDIsWzAsXy5SLC0xXSxbMCw1LF8uWiwtMl1dLF8uUiwxLF8uWSxbMCxfLlF6LF8uVSxfLlN6XSxfLlUsXy5ZLFswLApfLlosXy5VXSxfLnF6LFswLF8uWixbMCxfLkFyLF8uYXpdXSxfLkNyLFswLF8uWSxbMCwxLF8uVSxfLkFyLF8uUixfLlpdLF8uVSwtMSxfLnZyLF8uWSxfLndBLF8uUCxfLlIsXy5ZLFswLF8uWixfLlksXy53QSwyLFswLF8uWSxbMCxfLlUsLTFdXSwtMV1dLF8ud0EsWzAsXy5VLF8uUCxfLlJdLFswLDQsXy5SXV07dmFyIEdwYT1bLTE0LF8uYUEsXy5aLF8uVSxfLlAsXy5ZLFswLF8uVSwtMV0sXy5keixbMCxfLlksWzAsXy5TeixfLlosXy5CcixfLlUsXy5CcixfLlF6LF8uUixfLlB6LF8uUCwtMSxfLlosWy0xNSx7fSxfLkFyLF8uV3ksMSxfLlUsLTEsXy5QLF8uaHosXy5QLC0xLGl6LC0xLF8uWiwtMSxfLlVdLF8uWiwtMSxfLlUsXy5aXSxfLlksWzAsYkEsXy5CcixfLld5LF8uUixfLm56LF8uWl0sXy5DcixfLlksWzAsXy5TeixfLld5LF8uQnIsXy5XeSxfLkJyXV0sXy5SLENBLENvYSwxLFswLF8uWl0sXy5SLFswLF8ueXJdXTt2YXIgSHBhPVstNix7fSxfLlosXy5ZLFswLF8uVSwtMV0sWzAsXy5ZLEdvYV0sXy5aLF8uUl07Xy5EQT1bMCxfLlosLTEsXy5QLC0yLF8uWSxbMCxfLlAsLTFdLF8uWiwtMixfLlBdO18uRUE9WzAsXy5aLC0xXTtfLklwYT1bMCxfLlVdO18uRkE9WzAsXy5VLF8uWiwtMSxfLlIsLTEsWzAsXy5aXSxbMCxfLlpdLF8uWixfLlIsLTEsWzAsXy5aXV07Xy5KcGE9WzAsWzAsWzAsXy5meiwtMV0sXy5SLF8uaHosLTEsXy5aXSxbMCxfLkNyLC0xLFswLF8uUCwtMixfLlpdLF8uWiwtMixbMCxfLlUsLTEsXy5SXSxfLmR6LF8uQ3IsXy5QLF8uREEsXy5QLF8ucnBhLF8uUCxfLlksWzAsXy5aLC0xXSxfLlAsXy5JcGEsXy5GQSwxLF8uRUEsNCxfLm1wYV0sMyxfLkZBLDYxLF8uUCwzLF8uRUFdO18uS3BhPVswLDIsWzAsXy5QLC0xLF8uSnBhXSwtMV07dmFyIExwYT1bMCxbMywxNV0sMixfLm16LF8uQkEsMSxfLlosNCxbMCxfLlosMSx6cGEsXy5QXSwzLF8ubnosXy5teixbMCxfLlksWzAsWzEsMl0sXy5teixzcGEsXy5teixfLlV6XSxfLlosRnBhXSxfLlksWzAsXy5ueixfLlUsXy5QLF8uUixfLmh6LDEsXy5LcGEsXy5VLC0xLF8ubnpdXTt2YXIgTXBhPVswLF8uWSxbMCxfLlUsLTEsXy55el0sXy5SLC0xLFswLF8uWSxbMCxbLTUwMCxfLlksYkEsXy5XeSwtMSxfLiR5LF8ubnosXy5SLDgsXy5Qeiw0ODQsUnpdLF8uWl1dLF8uUiwtMSxbMCxbMCxfLlVdLF8uUCwtMV0sWzAsXy5VLC0xXSxfLlosXy5SXTtfLkdBPVswLF8uUCwtNF07dmFyIE5wYT1bMCxbMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzXSxfLlosXy5reixfLnB6LHJvYSxxb2Esam9hLF8uZXosXy5rb2EsdW9hLHZvYSxfLmx6LHRvYSxfLmN6XTt2YXIgSEE9WzAsXy5ZLFswLF8uVSwtMV0sMSxfLlB6LF8uWl07dmFyIElBPVswLF8uV3ksLTEsXy5QXTt2YXIgT3BhPVswLF8uUCwtMSxfLmp6XTt2YXIgUHBhPVswLF8uWSxfLlF6LF8uUXosLTJdO18uUXBhPVswLF8uR3IsNyxbMCxfLlVdLF8uYXosWzAsXy5VLC0yXSwxLFswLF8uVSwtNV1dO3ZhciBKQT1bMCxfLlosXy5VLF8uUCxfLm56LF8uanpdO3ZhciBLQT1bMCxfLlosMSxfLlpdO3ZhciBScGE9WzAsXy5XeSxfLnVyLDEsS0FdO3ZhciBTcGE9WzAsWzIwLDIxXSxfLlosXy5XeSwtMSxfLm56LDEsXy5ueiwzLF8uWSxScGEsXy51ciwtMyxfLlh5LC0yLF8ubnosXy5ZLFJwYSxfLm16LFswLF8uWiwtMl0sXy5teixbMCwzLF8uWl0sXy51cixfLnZBXTt2YXIgVHBhPVswLF8uWixfLld5LC0yXTt2YXIgTEE9WzAsXy5VLC0yXTt2YXIgVXBhPVswLF8uaHosTEEsWzAsXy5VLF8uWixfLld5LF8uWixfLlAsXy5aXV07dmFyIE1BPVswLF8uc3pdO3ZhciBOQT1bMCxfLmh6LF8uV3ksXy5SLGlvYSxfLlosLTEsTEEsXy5aLDEsXy5XeSwtMyxbMCxfLlVdLC0xLE1BXTt2YXIgT0E9Wy0yNix7fSxfLlksTkEsXy5ZLFVwYSxfLlksWzAsXy5VLF8uV3ksLTEsXy5oeixfLlUsXy5XeSxfLlosMixfLld5LF8uWixfLlIsLTFdLDEsXy5ZLFswLF8uVSxfLlksWzAsXy5VLF8uUCwtM10sXy5SLF8uV3ksXy5oeiwtMSxfLlIsXy5aLFswLF8uUCwtM10sXy5aXSxbMCxfLld5LC0yLDQsXy5XeSxfLlAsLTMsXy5DcixfLlAsLTEsXy5aLF8uUCxfLmh6LF8uUixNQSxfLlosXy5QXSwyLF8uWixfLlksSkEsWzAsXy5XeSxfLmh6LF8uV3ksLTEsXy5oeiwtMSxNQV0sNSxbMCwxLF8uWiwtMV0sXy5QLFswLGl6LExBXSxbMCxfLld5XSwxLF8uUixfLlksXy51QSxbMCxNQV0sWzAsXy5oeixfLld5LF8uaHosXy5XeV1dO3ZhciBWcGE9WzAsWzAsXy5XeSwtNF0sWzAsXy5ueixfLld5LC0xLF8uUl0sWzAsXy5aLC0xLF8uV3ksLTFdXTt2YXIgWHBhPVstNDIse30sXy5aLDIsT0EsXy5ueiwtMSxbMCxWcGEsWzAsXy5QLF8uVSwtMSwyLF8uUCwtMV1dLDEsXy5QeiwxLCgpPT5XcGEsMSxfLlAsXy5QeixfLlAsNCxbMCxbMCxfLm56LC0xXSxfLld5LC0zXSxbMCxTcGEsXy5ZLFswLF8uV3ksXy5QLC0xLFswLF8uWSxbLTE0LHt9LFsxMCwxMV0sXy5QLF8uVSxPQSwyLF8uUixJQSxfLlUsXy5aLF8udHosLTEsWzAsXy5SLC0xXSxIQV0sLTEsWzAsMSxfLlAsLTIsXy5SLDEsXy5aLF8uUCxfLlksS0EsMSxfLlIsLTEsSUEsXy5aLF8uV3ksXy5SLF8uV3ksXy5SLF8uUCxbMCxfLlosXy5QXSxfLlosXy5QLF8uV3ldLFswLDEsXy5ZLEtBLF8uUixJQV0sMSxPQSwtMV0sXy5ZLFswLF8uUCxfLkJyXSwxLF8uWSxbMCxfLld5LF8uQnJdLF8uWSxbMCxfLkJyLF8uUF0sXy5QLF8uUiwtMSxfLlosMSxfLlksVHBhLF8uWSxbMCxfLkJyLF8uWSxUcGFdLF8uZnpdLF8uUixfLlksWzAsXy5CcixTcGEsXy5SXSxfLlJdLFswLF8uVSwtMixfLlFwYV0sCl8uUCxfLld5LFswLF8ubnosXy51cixfLlAsLTNdLFswLGlvYSwtMSxfLm56XSxfLlIsXy5QLC0xLDEsWzAsXy5ZLE5wYV0sWzAsXy5ueixfLlksWzAsXy5QLF8uWSxKQSxfLlBdLF8udkEsXy5SLF8uUF0sWzAsXy52QV0sWzAsXy51ciwtMV0sWzAsXy5ueixfLnlyLF8udkFdLF8uUixbMCxfLlksWzAsXy5ueixfLlksSkEsXy5QXSxfLnZBLF8uUixfLlh5LC0xXSxfLlksWzAsXy5zeiwtMV0sXy5SLC0xLF8uc3pdLFdwYT1bMCxfLlksKCk9PlhwYSxWcGFdO3ZhciBZcGE9WzAsXy5aLFswLF8uQXJdLDEsWzAsXy5ZLFswLF8uUXosXy5aLF8uV3ksXy5UeixfLlksSEEsXy5DcixfLlUsXy5aLF8uWSxbLTUwMCxfLlosXy5ReixfLlAsXy5VLF8uV3ksXy5ZLFstNTAwLF8uVSwtMSxfLkNyLDEsXy5VLC0xLDgsXy5Qeiw0ODQsUnpdLF8uUixfLlUsNyxfLlB6LDQ4MyxSel0sNixbLTUwMCxfLlosXy5QLF8uV3ksLTEsMSxfLlksXy5ReixfLlF6LDQ5MixSeiwtMV0sWzAsXy5XeSxfLlksXy5ReixfLlBdLF8uVSxfLlN6LF8uZ3osXy5BciwxLFswLG9wYSxfLlksWy01MDAsXy5wcGEsb3BhLDQ5NyxSel1dLFBwYSxbLTUwMCxfLlUsNDk4LFJ6XSxwb2EsWzAsXy5ZLFswLF8uUCxfLld5XV0sMSxfLmd6LDEsXy5ZLFBwYSxfLlksT3BhLF8uVSxfLlksT3BhLF8uWSxfLm5wYSwxLF8uUl0sXy5ZLFhwYSxbMCxfLlosXy5SLDEsXy5Rel1dLFswLF8uUHpdLDEsWzAsSkFdLDMsWzBdLDUsWzAsXy5VLF8ubnpdLDEsWzAsXy5ZLEpBXSxbMCwyLF8uWixfLld5XV07dmFyIFpwYT1bMCxfLlAsLTJdO3ZhciAkcGE9WzAsXy5SLDMsXy5SLDIsWnBhLC0xLDEsXy5SLC0xXTt2YXIgYXFhPVswLF8uWixbMCxfLlIsXy5QLF8uV3ldXTt2YXIgUEE9WzAsWzEsMl0sXy5seixfLm9vYV07dmFyIGJxYT1bMCxbMSw2XSxfLm16LFBBLF8uUCxfLlIsLTIsXy5teixbMCxfLkFyXSwxLF8udXIsLTFdO3ZhciBjcWE9WzAsXy5SLC00XTt2YXIgZHFhPVswLFsxLDVdLF8udHosXy5SLC0yLF8udHosXy5SLC0yLF8uaHosLTIsXy5SLC0xLF8uWiwtM107dmFyIGVxYT1bMCxfLlksWzAsXy5VLF8uUF0sZHFhLF8uWl07dmFyIGZxYT1bMCxfLlAsLTFdO3ZhciBncWE9WzAsUEEsMSxfLlIsLTMsMixkcWEsXy5SLF8uUCxfLlUsLTEsXy51cixfLlAsXy5SLC0xLF8uWiwxLF8uWSxVcGEsXy5VLF8uUCxfLlIsXy5VLF8uWixfLlN6LF8uWiwtMSxfLlksTkEsXy5SLF8uWSxOQSxfLlAsXy5SLF8uWiwtMSwxLF8uaHosLTUsXy5SLC0xXTt2YXIgaHFhPVswLFpwYSxfLlIsLTFdO3ZhciBpcWE9WzAsMSxfLlBdO3ZhciBqcWE9WzAsXy5SLF8uUF07dmFyIGtxYT1bMCxbNiw3XSxfLlosLTEsXy5zeixfLlosLTEsXy5teixbMCwxNSxfLnN6XSwtMSxfLkNyLF8uUixfLnN6XTt2YXIgbHFhPVswLF8uUF07dmFyIG1xYT1bMCwzLF8uUixfLlAsXy5SLC0xLF8uWSxbMCxfLlosXy5QLFswLF8udXIsLTJdXV07dmFyIG5xYT1bMCxfLlpdO3ZhciBvcWE9WzAsMTYsXy5aLDYsWzAsXy5aLC0yLCRwYSxfLlksZ3FhLFswLF8uUCwtMSxfLlksWzAsXy5aLC0xLF8uVSxfLlBdLF8udXIsMSxfLlAsJHBhLF8uWSxncWEsXy5SLC0xLGJxYSwyLFswLF8uUCwtNF0sbHFhLDEsXy5CcixfLlIsbXFhLF8uUixmcWEsXy5zeiwxLGNxYSxocWEsaXFhLGVxYSxqcWEsYXFhLG5xYSxrcWFdLF8uUixicWEsXy5SLDEsbHFhLF8uQnIsXy5SLG1xYSxfLnN6LGZxYSwyLGNxYSxocWEsaXFhLGVxYSxqcWEsYXFhLG5xYSxrcWFdLFswLFswLFBBLF8uU3pdLDEsWzAsXy5aLF8uUF0sXy5SXSxbMCxbMSwyXSxfLm16LFswLFsxXSxfLmx6LF8uWl0sXy5teixbMCxfLlosXy51ciwtMSxfLlksWzAsXy5nel0sXy5ZLFswLFswLFswLF8uUixfLld5LF8uVHosXy5SLF8uWixfLlIsXy5DcixfLlAsXy5aLC0xXSxfLm56LC0xLF8uWSxbMCxfLlAsXy5aLFswLF8uUXosXy5XeV0sXy5SLF8uWixfLlF6LF8uUCwtMV0sXy5aXV1dXSxfLlosWzAsXy5SLF8uV3ksXy55cl0sCjEsWzAsMixfLlksWzAsWzAsXy5aLF8uUXosXy5VLC0xLF8uWiwxLF8uUixfLlosXy5ZLEpBLF8uVSxfLld5LF8uUixfLlksXy5ReixfLlF6LF8uWSxKQSxfLlF6LF8uWixfLlJdLF8uWSxZcGEsMSxfLlosXy5SLDEsXy5ZLFlwYV0sXy5SLFswLF8uWSxbMCwxLFstNyx7fSxfLlosXy5VLFstNCx7fSxfLlksWzAsXy5aLEhBLF8uVSxfLlosLTEsXy5SLFstMyx7fSxfLlosXy5QXSwxLElBXSxfLkRBLElBXSxbMCxfLkNyLF8uREFdLFswLF8uWixfLkRBXSxfLlksTnBhXSxbMCxfLnlyLC0yLF8uWSxbMCxfLlAsLTFdXSxfLmZ6LFswLF8uWiwxLF8uQXIsXy5VXSxbMCxfLmZ6LF8ucXBhXSxfLlAsLTEsXy5SLF8uUCwtMixfLlB6XV1dXTtfLlFBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5RQS5wcm90b3R5cGUuUXI9Xy5oYSgxOSk7Xy5wcWE9bmV3IF8uUXIoIi9nb29nbGUuaW50ZXJuYWwubWFwcy5tYXBzanMudjEuTWFwc0pzSW50ZXJuYWxTZXJ2aWNlL0dldE1hcDNEQ29uZmlnIixfLlFBLGE9PmEuamooKSxfLmJqKGNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7cmV0dXJuIF8uQWcodGhpcyxfLm5xLDEpfX0pKTt2YXIgdW1hPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywzKX1zZXRVcmwoYSl7cmV0dXJuIF8uamgodGhpcywzLGEpfX07dmFyIFRuYT1uZXcgXy5RcigiL2dvb2dsZS5pbnRlcm5hbC5tYXBzLm1hcHNqcy52MS5NYXBzSnNJbnRlcm5hbFNlcnZpY2UvR2V0TWFwc0p3dCIsdW1hLGE9PmEuamooKSxfLmJqKGNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfUhvKCl7cmV0dXJuIF8uSCh0aGlzLDEpfX0pKTt2YXIgcXFhPW5ldyBfLlFyKCIvZ29vZ2xlLmludGVybmFsLm1hcHMubWFwc2pzLnYxLk1hcHNKc0ludGVybmFsU2VydmljZS9HZXRNZXRhZGF0YSIsXy5oQSxhPT5hLmpqKCksXy5lcGEpO18ucnFhPW5ldyBfLlFyKCIvZ29vZ2xlLmludGVybmFsLm1hcHMubWFwc2pzLnYxLk1hcHNKc0ludGVybmFsU2VydmljZS9HZXRQbGFjZVdpZGdldE1ldGFkYXRhIixfLndvYSxhPT5hLmpqKCksXy5iaihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1Ibygpe3JldHVybiBfLkgodGhpcywxKX19KSk7dmFyIHNxYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uUkE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLlNBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFpvb20oKXtyZXR1cm4gXy5MZyh0aGlzLDIpfXNldFpvb20oYSl7cmV0dXJuIF8uZGgodGhpcywyLGEpfWtqKGEpe3JldHVybiBfLmloKHRoaXMsNCxhKX1RcSgpe3JldHVybiBfLlBnKHRoaXMsMTEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywxMyl9c2V0VXJsKGEpe3JldHVybiBfLmloKHRoaXMsMTMsYSl9fTtfLmFhPV8uU0EucHJvdG90eXBlO18uYWEuVXM9Xy5oYSg1Myk7Xy5hYS5LbT1fLmhhKDM5KTtfLmFhLnFrPV8uaGEoMzApO18uYWEuUXI9Xy5oYSgxOCk7Xy5hYS5wbD1fLmhhKDEyKTt2YXIgdHFhPV8uVGxhKF8uU0EpO3ZhciB1cWE9WzAsXy5aLF8uVSwtMSxfLkNyLF8uWiwtMSxfLlIsXy5aLC0xXTt2YXIgdnFhPVswLHVxYSwtMSwxMDEsXy5SLDEsWzAsXy5VLC00LF8uYXosWzAsXy52ciwtMV0sXy5SLF8uWixfLlUsXy5aLF8uUixfLlosXy5oeixfLlosXy5EeixfLmF6LF8uVSxfLlIsLTEsWzAsXy5VLF8udnIsXy5aLF8uVSxfLnZyLF8uWixfLlIsLTEsXy5VXSxfLlUsLTEsXy5SLF8uZHosXy5aLC0xLF8uUixbMCxfLlUsXy5aLF8uUCwtMSxfLnZyLF8uVSxfLlAsXy5VXSxfLlIsXy5heixfLlUsXy52cixbMCxbMCxfLlosXy5heiwtM10sMSxfLlosLTNdLF8uYXosLTMsXy5VLF8udXIsXy5aLC0yLF8uYXosXy5aXSxfLkJyLDEsXy5SLDEsXy5VLF8udnJdO18ud3FhPV8uYmooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0U3RhdHVzKCl7cmV0dXJuIF8uUGcodGhpcyw1LC0xKX1nZXRBdHRyaWJ1dGlvbigpe3JldHVybiBfLkgodGhpcywxKX1zZXRBdHRyaWJ1dGlvbihhKXtyZXR1cm4gXy5paCh0aGlzLDEsYSl9fSk7Xy54cWE9bmV3IF8uUXIoIi9nb29nbGUuaW50ZXJuYWwubWFwcy5tYXBzanMudjEuTWFwc0pzSW50ZXJuYWxTZXJ2aWNlL0dldFZpZXdwb3J0SW5mbyIsXy5TQSxhPT5hLmpqKCksXy53cWEpO18uSHk9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VXJsKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXNldFVybChhKXtyZXR1cm4gXy5qaCh0aGlzLDEsYSl9fTt2YXIgeG1hPW5ldyBfLlFyKCIvZ29vZ2xlLmludGVybmFsLm1hcHMubWFwc2pzLnYxLk1hcHNKc0ludGVybmFsU2VydmljZS9Jbml0TWFwc0p3dCIsXy5IeSxhPT5hLmpqKCksXy5iaihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19KSk7Xy55cWE9bmV3IF8uUXIoIi9nb29nbGUuaW50ZXJuYWwubWFwcy5tYXBzanMudjEuTWFwc0pzSW50ZXJuYWxTZXJ2aWNlL1NpbmdsZUltYWdlU2VhcmNoIixfLmxBLGE9PmEuamooKSxfLmhwYSk7d21hLnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMucWgucWgodGhpcy5yaCsiLyRycGMvZ29vZ2xlLmludGVybmFsLm1hcHMubWFwc2pzLnYxLk1hcHNKc0ludGVybmFsU2VydmljZS9HZXRNZXRhZGF0YSIsYSxifHx7fSxxcWEsYyl9O1h3KE5vZGUpO1h3KGdsb2JhbFRoaXMuRWxlbWVudCk7Xy56cWE9WHcoZ2xvYmFsVGhpcy5IVE1MRWxlbWVudCk7WHcoZ2xvYmFsVGhpcy5TVkdFbGVtZW50KTtfLlRBPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywxKX1zZXRVcmwoYSl7cmV0dXJuIF8uaWgodGhpcywxLGEpfX07Xy5UQS5wcm90b3R5cGUuS209Xy5oYSgzOCk7Xy5BcWE9WzAsXy5aLF8uQ3IsXy5aLF8uQ3IsXy5veixbMCwxLF8udnIsXy5VLC0xXSxfLlUsOTIsRW9hLFswLF8uZ3osXy5ZLFswLF8uVSxfLkFyXV0sMSxbMCxfLlVdXTt2YXIgQnFhPV8uJGkoXy5UQSxbMCxfLlUsLTIsMyxfLlUsMSxfLlUsXy5aLF8uUiw4OCxfLlUsMSxfLlUsXy5HcixfLlUsXy5BcWFdKTt2YXIgQ3FhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFN0YXR1cygpe3JldHVybiBfLlBnKHRoaXMsMSwtMSl9fTt2YXIgRHFhO18uVUE9Xy5KbD9xbGEoKToiIjtfLlZBPV8uSmw/Xy5tbChfLkpsLnJoKCkpOiIiO18uV0E9Xy52bSgiZ0Z1bm5lbHdlYkFwaUJhc2VVcmwiKXx8Xy5WQTtfLlhBPV8udm0oImdTdHJlZXRWaWV3QmFzZVVybCIpfHxfLlZBO0RxYT1fLnZtKCJnQmlsbGluZ0Jhc2VVcmwiKXx8Xy5WQTtfLkVxYT1gZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Hb29nbGUrU2FucytUZXh0OjQwMCZ0ZXh0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KCJcdTIxOTBcdTIxOTJcdTIxOTFcdTIxOTMiKX1gO18uRnFhPWBmb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1NYXRlcmlhbCtTeW1ib2xzK091dGxpbmVkJnRleHQ9JHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZSg1ODgyNyw1ODgyOCkpfWA7Xy5ZQT1fLlp3KCJ0cmFuc3BhcmVudCIpO18uWkE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm1pbj1hO3RoaXMubWF4PWJ9fTtfLiRBPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9KCk9Pnt9KXt0aGlzLm1hcD1hO3RoaXMuUmg9Yjt0aGlzLnFoPWM7dGhpcy5yaD1kO3RoaXMuc2l6ZT10aGlzLnNjYWxlPXRoaXMuY2VudGVyPXRoaXMub3JpZ2luPXRoaXMuYm91bmRzPW51bGw7Xy51bihhLCJwcm9qZWN0aW9uX2NoYW5nZWQiLCgpPT57dmFyIGU9Xy5NcShhLmdldFByb2plY3Rpb24oKSk7ZSBpbnN0YW5jZW9mIF8ucHR8fChlPWUuZnJvbUxhdExuZ1RvUG9pbnQobmV3IF8uVG0oMCwxODApKS54LWUuZnJvbUxhdExuZ1RvUG9pbnQobmV3IF8uVG0oMCwtMTgwKSkueCx0aGlzLlJoLlFrPW5ldyBfLlZpYSh7d3Y6bmV3IF8uVWlhKGUpLFl3OnZvaWQgMH0pKX0pfWZyb21MYXRMbmdUb0NvbnRhaW5lclBpeGVsKGEpe3ZhciBiPUFtYSh0aGlzKTtyZXR1cm4gQm1hKHRoaXMsYSxiKX1mcm9tTGF0TG5nVG9EaXZQaXhlbChhKXtyZXR1cm4gQm1hKHRoaXMsYSx0aGlzLm9yaWdpbil9ZnJvbURpdlBpeGVsVG9MYXRMbmcoYSwKYj0hMSl7cmV0dXJuIENtYSh0aGlzLGEsdGhpcy5vcmlnaW4sYil9ZnJvbUNvbnRhaW5lclBpeGVsVG9MYXRMbmcoYSxiPSExKXt2YXIgYz1BbWEodGhpcyk7cmV0dXJuIENtYSh0aGlzLGEsYyxiKX1nZXRXb3JsZFdpZHRoKCl7cmV0dXJuIHRoaXMuc2NhbGU/dGhpcy5zY2FsZS5xaD8yNTYqTWF0aC5wb3coMixfLnp2KHRoaXMuc2NhbGUpKTpfLnl2KHRoaXMuc2NhbGUsbmV3IF8uV3AoMjU2LDI1NikpLlhoOjI1NipNYXRoLnBvdygyLHRoaXMubWFwLmdldFpvb20oKXx8MCl9Z2V0VmlzaWJsZVJlZ2lvbigpe2lmKCF0aGlzLnNpemV8fCF0aGlzLmJvdW5kcylyZXR1cm4gbnVsbDt2YXIgYT10aGlzLmZyb21Db250YWluZXJQaXhlbFRvTGF0TG5nKG5ldyBfLmJvKDAsMCkpLGI9dGhpcy5mcm9tQ29udGFpbmVyUGl4ZWxUb0xhdExuZyhuZXcgXy5ibygwLHRoaXMuc2l6ZS5ZaCkpLGM9dGhpcy5mcm9tQ29udGFpbmVyUGl4ZWxUb0xhdExuZyhuZXcgXy5ibyh0aGlzLnNpemUuWGgsMCkpLApkPXRoaXMuZnJvbUNvbnRhaW5lclBpeGVsVG9MYXRMbmcobmV3IF8uYm8odGhpcy5zaXplLlhoLHRoaXMuc2l6ZS5ZaCkpLGU9Xy5xbWEodGhpcy5ib3VuZHMsdGhpcy5tYXAuZ2V0KCJwcm9qZWN0aW9uIikpO3JldHVybiBhJiZjJiZkJiZiJiZlP3tmYXJMZWZ0OmEsZmFyUmlnaHQ6YyxuZWFyTGVmdDpiLG5lYXJSaWdodDpkLGxhdExuZ0JvdW5kczplfTpudWxsfXRpKGEsYixjLGQsZSxmLGcpe3RoaXMuYm91bmRzPWE7dGhpcy5vcmlnaW49Yjt0aGlzLnNjYWxlPWM7dGhpcy5zaXplPWc7dGhpcy5jZW50ZXI9Zjt0aGlzLnFoKCl9ZGlzcG9zZSgpe3RoaXMucmgoKX19O18uYUI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuc2g9YTt0aGlzLnJoPWM7dGhpcy5xaD0hMTt0aGlzLmFpPVtdO3RoaXMuYWkucHVzaChuZXcgXy5GcChiLCJtb3VzZW91dCIsZD0+e3RoaXMuWHUoZCl9KSk7dGhpcy5haS5wdXNoKG5ldyBfLkZwKGIsIm1vdXNlb3ZlciIsZD0+e3RoaXMuWXUoZCl9KSl9WHUoYSl7Xy5xdShhKXx8KHRoaXMucWg9Xy56bCh0aGlzLnNoLGEucmVsYXRlZFRhcmdldHx8YS50b0VsZW1lbnQpKXx8dGhpcy5yaC5YdShhKX1ZdShhKXtfLnF1KGEpfHx0aGlzLnFofHwodGhpcy5xaD0hMCx0aGlzLnJoLll1KGEpKX1yZW1vdmUoKXtmb3IobGV0IGEgb2YgdGhpcy5haSlhLnJlbW92ZSgpO3RoaXMuYWkubGVuZ3RoPTB9fTtfLmJCPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMubGF0TG5nPWE7dGhpcy5kb21FdmVudD1iO3RoaXMucGl4ZWw9Yzt0aGlzLlFqPWR9c3RvcCgpe3RoaXMuZG9tRXZlbnQmJl8uaG4odGhpcy5kb21FdmVudCl9ZXF1YWxzKGEpe3JldHVybiB0aGlzLmxhdExuZz09PWEubGF0TG5nJiZ0aGlzLnBpeGVsPT09YS5waXhlbCYmdGhpcy5Raj09PWEuUWomJnRoaXMuZG9tRXZlbnQ9PT1hLmRvbUV2ZW50fX07dmFyIERtYT0hMDt0cnl7bmV3IE1vdXNlRXZlbnQoImNsaWNrIil9Y2F0Y2goYSl7RG1hPSExfTtfLmp4PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuY29vcmRzPWI7dGhpcy5idXR0b249Yzt0aGlzLnFoPWE7dGhpcy5yaD1kfXN0b3AoKXtfLmhuKHRoaXMucWgpfX07dmFyIEltYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLkNqPWE7dGhpcy5xaD1bXTt0aGlzLnRoPSExO3RoaXMuc2g9MDt0aGlzLnJoPW5ldyBjQih0aGlzKX1yZXNldChhKXt0aGlzLnJoLktuKGEpO3RoaXMucmg9bmV3IGNCKHRoaXMpfXJlbW92ZSgpe2ZvcihsZXQgYSBvZiB0aGlzLnFoKWEucmVtb3ZlKCk7dGhpcy5xaC5sZW5ndGg9MH1HdChhKXtmb3IobGV0IGIgb2YgdGhpcy5xaCliLkd0KGEpO3RoaXMudGg9YX1XbChhKXshdGhpcy5Dai5XbHx8YXgoYSl8fGEucWguX19nbV9pbnRlcm5hbF9fbm9Eb3dufHx0aGlzLkNqLldsKGEpO2d4KHRoaXMsdGhpcy5yaC5XbChhKSl9cnQoYSl7IXRoaXMuQ2oucnR8fGF4KGEpfHxhLnFoLl9fZ21faW50ZXJuYWxfX25vTW92ZXx8dGhpcy5Dai5ydChhKX1tbihhKXshdGhpcy5Dai5tbnx8YXgoYSl8fGEucWguX19nbV9pbnRlcm5hbF9fbm9Nb3ZlfHx0aGlzLkNqLm1uKGEpO2d4KHRoaXMsdGhpcy5yaC5tbihhKSl9dW0oYSl7IXRoaXMuQ2oudW18fApheChhKXx8YS5xaC5fX2dtX2ludGVybmFsX19ub1VwfHx0aGlzLkNqLnVtKGEpO2d4KHRoaXMsdGhpcy5yaC51bShhKSl9TGwoYSl7dmFyIGI9YXgoYSl8fF8uZ3coYS5xaCk7dGhpcy5Dai5MbCYmIWImJnRoaXMuQ2ouTGwoe2V2ZW50OmEsY29vcmRzOmEuY29vcmRzLFdyOiExfSl9cHcoYSl7IXRoaXMuQ2oucHd8fGF4KGEpfHxhLnFoLl9fZ21faW50ZXJuYWxfX25vQ29udGV4dE1lbnV8fHRoaXMuQ2oucHcoYSl9YWRkTGlzdGVuZXIoYSl7dGhpcy5xaC5wdXNoKGEpfUZuKCl7dmFyIGE9dGhpcy5xaC5tYXAoYj0+Yi5GbigpKTtyZXR1cm5bXS5jb25jYXQoLi4uYSl9fSxkQj0oYSxiLGMpPT57dmFyIGQ9TWF0aC5hYnMoYS5jbGllbnRYLWIuY2xpZW50WCk7YT1NYXRoLmFicyhhLmNsaWVudFktYi5jbGllbnRZKTtyZXR1cm4gZCpkK2EqYT49YypjfSxjQj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWE7dGhpcy5qcT10aGlzLlF3PXZvaWQgMDtmb3IobGV0IGIgb2YgYS5xaCliLnJlc2V0KCl9V2woYSl7cmV0dXJuIGF4KGEpPwpuZXcgaXgodGhpcy5xaCk6bmV3IEdxYSh0aGlzLnFoLCExLGEuYnV0dG9uKX1tbigpe311bSgpe31Lbigpe319LEdxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5xaD1hO3RoaXMuc2g9Yjt0aGlzLnRoPWM7dGhpcy5yaD1hLkZuKClbMF07dGhpcy5Rdz01MDB9V2woYSl7cmV0dXJuIEZtYSh0aGlzLGEpfW1uKGEpe3JldHVybiBGbWEodGhpcyxhKX11bShhKXtpZihhLmJ1dHRvbj09PTIpcmV0dXJuIG5ldyBjQih0aGlzLnFoKTt2YXIgYj1heChhKXx8Xy5ndyhhLnFoKTt0aGlzLnFoLkNqLkxsJiYhYiYmdGhpcy5xaC5Dai5MbCh7ZXZlbnQ6YSxjb29yZHM6dGhpcy5yaCxXcjp0aGlzLnNofSk7dGhpcy5xaC5Dai56RiYmYS5yaCYmYS5yaCgpO3JldHVybiB0aGlzLnNofHxiP25ldyBjQih0aGlzLnFoKTpuZXcgSHFhKHRoaXMucWgsdGhpcy5yaCx0aGlzLnRoKX1Lbigpe31qcSgpe2lmKHRoaXMucWguQ2ouTk8mJnRoaXMudGghPT0zJiZ0aGlzLnFoLkNqLk5PKHRoaXMucmgpKXJldHVybiBuZXcgaXgodGhpcy5xaCl9fSwKaXg9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hO3RoaXMuanE9dGhpcy5Rdz12b2lkIDB9V2woKXt9bW4oKXt9dW0oKXtpZih0aGlzLnFoLkZuKCkubGVuZ3RoPDEpcmV0dXJuIG5ldyBjQih0aGlzLnFoKX1Lbigpe319LEhxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5xaD1hO3RoaXMuc2g9Yjt0aGlzLnJoPWM7dGhpcy5Rdz0zMDA7Zm9yKGxldCBkIG9mIGEucWgpZC5yZXNldCgpfVdsKGEpe3ZhciBiPXRoaXMucWguRm4oKTtiPSFheChhKSYmdGhpcy5yaD09PWEuYnV0dG9uJiYhZEIodGhpcy5zaCxiWzBdLDUwKTshYiYmdGhpcy5xaC5Dai5BRSYmdGhpcy5xaC5Dai5BRSh0aGlzLnNoLHRoaXMucmgpO3JldHVybiBheChhKT9uZXcgaXgodGhpcy5xaCk6bmV3IEdxYSh0aGlzLnFoLGIsYS5idXR0b24pfW1uKCl7fXVtKCl7fWpxKCl7dGhpcy5xaC5Dai5BRSYmdGhpcy5xaC5Dai5BRSh0aGlzLnNoLHRoaXMucmgpO3JldHVybiBuZXcgY0IodGhpcy5xaCl9S24oKXt9fSwKRW1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnJoPWE7dGhpcy5xaD1iO3RoaXMuc2g9Yzt0aGlzLmpxPXRoaXMuUXc9dm9pZCAwfVdsKGEpe2Euc3RvcCgpO3ZhciBiPWh4KHRoaXMucmguRm4oKSk7dGhpcy5xaC5rbihiLGEpO3RoaXMuc2g9Yi5Fan1tbihhKXthLnN0b3AoKTt2YXIgYj1oeCh0aGlzLnJoLkZuKCkpO3RoaXMucWguam4oYixhKTt0aGlzLnNoPWIuRWp9dW0oYSl7dmFyIGI9aHgodGhpcy5yaC5GbigpKTtpZihiLlBvPDEpcmV0dXJuIHRoaXMucWguSm4oYS5jb29yZHMsYSksbmV3IGNCKHRoaXMucmgpO3RoaXMucWgua24oYixhKTt0aGlzLnNoPWIuRWp9S24oYSl7dGhpcy5xaC5Kbih0aGlzLnNoLGEpfX07dmFyIElxYTtfLnB4PSJvbnRvdWNoc3RhcnQiaW4gXy5VYT8yOl8uVWEuUG9pbnRlckV2ZW50PzA6Xy5VYS5NU1BvaW50ZXJFdmVudD8xOjI7SXFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD17fX1hZGQoYSl7dGhpcy5xaFthLnBvaW50ZXJJZF09YX1kZWxldGUoYSl7ZGVsZXRlIHRoaXMucWhbYS5wb2ludGVySWRdfWNsZWFyKCl7dmFyIGE9dGhpcy5xaDtmb3IobGV0IGIgaW4gYSlkZWxldGUgYVtiXX19O3ZhciBKcWE9e3VBOiJwb2ludGVyZG93biIsbW92ZToicG9pbnRlcm1vdmUiLGtLOlsicG9pbnRlcnVwIiwicG9pbnRlcmNhbmNlbCJdfSxLcWE9e3VBOiJNU1BvaW50ZXJEb3duIixtb3ZlOiJNU1BvaW50ZXJNb3ZlIixrSzpbIk1TUG9pbnRlclVwIiwiTVNQb2ludGVyQ2FuY2VsIl19LG14PS0xRTQsS21hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPWEpe3RoaXMueGg9Yjt0aGlzLnNoPWM7dGhpcy5zaC5zdHlsZS5tc1RvdWNoQWN0aW9uPXRoaXMuc2guc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiO3RoaXMucWg9bnVsbDt0aGlzLnloPW5ldyBfLkZwKGEsXy5weD09MT9LcWEudUE6SnFhLnVBLGQ9PntseChkKSYmKG14PURhdGUubm93KCksdGhpcy5xaHx8Xy5xdShkKXx8KGt4KHRoaXMpLHRoaXMucWg9bmV3IExxYSh0aGlzLHRoaXMueGgsZCxkLnRhcmdldD8ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpLHRoaXMueGguV2wobmV3IF8uangoZCxkLDEpKSkpfSx7QW46ITF9KTt0aGlzLnRoPQpudWxsO3RoaXMuemg9ITE7dGhpcy5yaD0tMX1yZXNldChhLGI9LTEpe3RoaXMucWgmJih0aGlzLnFoLnJlbW92ZSgpLHRoaXMucWg9bnVsbCk7dGhpcy5yaCE9LTEmJihfLlVhLmNsZWFyVGltZW91dCh0aGlzLnJoKSx0aGlzLnJoPS0xKTtiIT0tMSYmKHRoaXMucmg9Yix0aGlzLnRoPWF8fHRoaXMudGgpfXJlbW92ZSgpe3RoaXMucmVzZXQoKTt0aGlzLnloLnJlbW92ZSgpO3RoaXMuc2guc3R5bGUubXNUb3VjaEFjdGlvbj10aGlzLnNoLnN0eWxlLnRvdWNoQWN0aW9uPSIifUd0KGEpe3RoaXMuc2guc3R5bGUubXNUb3VjaEFjdGlvbj1hP3RoaXMuc2guc3R5bGUudG91Y2hBY3Rpb249InBhbi14IHBhbi15Ijp0aGlzLnNoLnN0eWxlLnRvdWNoQWN0aW9uPSJub25lIjt0aGlzLnpoPWF9Rm4oKXtyZXR1cm4gdGhpcy5xaD90aGlzLnFoLkZuKCk6W119d2goKXtyZXR1cm4gbXh9fSxMcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy50aD1hO3RoaXMucmg9YjthPV8ucHg9PTE/CktxYTpKcWE7dGhpcy53aD1bbmV3IF8uRnAoZCxhLnVBLGU9PntseChlKSYmKG14PURhdGUubm93KCksdGhpcy5xaC5hZGQoZSksdGhpcy5zaD1udWxsLHRoaXMucmguV2wobmV3IF8uangoZSxlLDEpKSl9LHtBbjohMH0pLG5ldyBfLkZwKGQsYS5tb3ZlLGU9PnthOntpZihseChlKSl7bXg9RGF0ZS5ub3coKTt0aGlzLnFoLmFkZChlKTtpZih0aGlzLnNoKXtpZihfLmlqKHRoaXMucWgucWgpLmxlbmd0aD09MSYmIWRCKGUsdGhpcy5zaCwxNSkpe2U9dm9pZCAwO2JyZWFrIGF9dGhpcy5zaD1udWxsfXRoaXMucmgubW4obmV3IF8uangoZSxlLDEpKX1lPXZvaWQgMH1yZXR1cm4gZX0se0FuOiEwfSksLi4uYS5rSy5tYXAoZT0+bmV3IF8uRnAoZCxlLGY9PkdtYSh0aGlzLGYpLHtBbjohMH0pKV07dGhpcy5xaD1uZXcgSXFhO3RoaXMucWguYWRkKGMpO3RoaXMuc2g9Y31Gbigpe3JldHVybiBfLmlqKHRoaXMucWgucWgpfXJlbW92ZSgpe2ZvcihsZXQgYSBvZiB0aGlzLndoKWEucmVtb3ZlKCl9fTt2YXIgbng9LTFFNCxKbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnJoPWI7dGhpcy5xaD1udWxsO3RoaXMuc2g9bmV3IF8uRnAoYSwidG91Y2hzdGFydCIsYz0+e254PURhdGUubm93KCk7aWYoIXRoaXMucWgmJiFfLnF1KGMpKXt2YXIgZD0hdGhpcy5yaC50aHx8Yy50b3VjaGVzLmxlbmd0aD4xO2QmJl8uZm4oYyk7dmFyIGU9Yy50YXJnZXQ/Lm93bmVyRG9jdW1lbnR8fGRvY3VtZW50O3RoaXMucWg9bmV3IE1xYSh0aGlzLHRoaXMucmgsQXJyYXkuZnJvbShjLnRvdWNoZXMpLGQsZSk7dGhpcy5yaC5XbChuZXcgXy5qeChjLGMuY2hhbmdlZFRvdWNoZXNbMF0sMSkpfX0se0FuOiExLHBhc3NpdmU6ITF9KX1yZXNldCgpe3RoaXMucWgmJih0aGlzLnFoLnJlbW92ZSgpLHRoaXMucWg9bnVsbCl9cmVtb3ZlKCl7dGhpcy5yZXNldCgpO3RoaXMuc2gucmVtb3ZlKCl9Rm4oKXtyZXR1cm4gdGhpcy5xaD90aGlzLnFoLkZuKCk6W119R3QoKXt9d2goKXtyZXR1cm4gbnh9fSxNcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYixjLGQsZSl7dGhpcy54aD1hO3RoaXMudGg9Yjt0aGlzLndoPVtuZXcgXy5GcChlLCJ0b3VjaHN0YXJ0IixmPT57bng9RGF0ZS5ub3coKTt0aGlzLnNoPSEwO18ucXUoZil8fF8uZm4oZik7dGhpcy5xaD1BcnJheS5mcm9tKGYudG91Y2hlcyk7dGhpcy5yaD1udWxsO3RoaXMudGguV2wobmV3IF8uangoZixmLmNoYW5nZWRUb3VjaGVzWzBdLDEpKX0se0FuOiEwLHBhc3NpdmU6ITF9KSxuZXcgXy5GcChlLCJ0b3VjaG1vdmUiLGY9PnthOntueD1EYXRlLm5vdygpO3RoaXMucWg9QXJyYXkuZnJvbShmLnRvdWNoZXMpOyFfLnF1KGYpJiZ0aGlzLnNoJiZfLmZuKGYpO2lmKHRoaXMucmgpe2lmKHRoaXMucWgubGVuZ3RoPT09MSYmIWRCKHRoaXMucWhbMF0sdGhpcy5yaCwxNSkpe2Y9dm9pZCAwO2JyZWFrIGF9dGhpcy5yaD1udWxsfXRoaXMudGgubW4obmV3IF8uangoZixmLmNoYW5nZWRUb3VjaGVzWzBdLDEpKTtmPXZvaWQgMH1yZXR1cm4gZn0se0FuOiEwLHBhc3NpdmU6ITF9KSxuZXcgXy5GcChlLAoidG91Y2hlbmQiLGY9PkhtYSh0aGlzLGYpLHtBbjohMCxwYXNzaXZlOiExfSldO3RoaXMucWg9Yzt0aGlzLnJoPWNbMF18fG51bGw7dGhpcy5zaD1kfUZuKCl7cmV0dXJuIHRoaXMucWh9cmVtb3ZlKCl7Zm9yKGxldCBhIG9mIHRoaXMud2gpYS5yZW1vdmUoKX19O3ZhciBMbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMucmg9Yjt0aGlzLnNoPWM7dGhpcy5xaD1udWxsO3RoaXMuemg9YTt0aGlzLkNoPW5ldyBfLkZwKGEsIm1vdXNlZG93biIsZD0+e3RoaXMudGg9ITE7Xy5xdShkKXx8dGhpcy5xaHx8RGF0ZS5ub3coKTx0aGlzLnNoLndoKCkrMjAwfHwodGhpcy5zaCBpbnN0YW5jZW9mIEttYSYma3godGhpcy5zaCksdGhpcy5xaD1uZXcgTnFhKHRoaXMsdGhpcy5yaCxkKSx0aGlzLnJoLldsKG5ldyBfLmp4KGQsZCxveChkKSkpKX0se0FuOiExfSk7dGhpcy54aD1uZXcgXy5GcChhLCJtb3VzZW1vdmUiLGQ9PntfLnF1KGQpfHx0aGlzLnFofHx0aGlzLnJoLnJ0KG5ldyBfLmp4KGQsZCxveChkKSkpfSx7QW46ITF9KTt0aGlzLndoPTA7dGhpcy50aD0hMTt0aGlzLnloPW5ldyBfLkZwKGEsImNsaWNrIixkPT57aWYoIV8ucXUoZCkmJiF0aGlzLnRoKXt2YXIgZT1EYXRlLm5vdygpO2U8dGhpcy5zaC53aCgpKzIwMHx8KGUtdGhpcy53aDw9MzAwPwp0aGlzLndoPTA6KHRoaXMud2g9ZSx0aGlzLnJoLkxsKG5ldyBfLmp4KGQsZCxveChkKSkpKSl9fSx7QW46ITF9KTt0aGlzLkJoPW5ldyBfLkZwKGEsImRibGNsaWNrIixkPT57aWYoIShfLnF1KGQpfHx0aGlzLnRofHxEYXRlLm5vdygpPHRoaXMuc2gud2goKSsyMDApKXt2YXIgZT10aGlzLnJoO2Q9bmV3IF8uangoZCxkLG94KGQpKTtsZXQgZj1heChkKXx8Xy5ndyhkLnFoKTtlLkNqLkxsJiYhZiYmZS5Dai5MbCh7ZXZlbnQ6ZCxjb29yZHM6ZC5jb29yZHMsV3I6ITB9KX19LHtBbjohMX0pO3RoaXMuQWg9bmV3IF8uRnAoYSwiY29udGV4dG1lbnUiLGQ9PntkLnByZXZlbnREZWZhdWx0KCk7Xy5xdShkKXx8dGhpcy5yaC5wdyhuZXcgXy5qeChkLGQsb3goZCkpKX0se0FuOiExfSl9cmVzZXQoKXt0aGlzLnFoJiYodGhpcy5xaC5yZW1vdmUoKSx0aGlzLnFoPW51bGwpfXJlbW92ZSgpe3RoaXMucmVzZXQoKTt0aGlzLkNoLnJlbW92ZSgpO3RoaXMueGgucmVtb3ZlKCk7dGhpcy55aC5yZW1vdmUoKTsKdGhpcy5CaC5yZW1vdmUoKTt0aGlzLkFoLnJlbW92ZSgpfUZuKCl7cmV0dXJuIHRoaXMucWg/W3RoaXMucWgucmhdOltdfUd0KCl7fWdldFRhcmdldCgpe3JldHVybiB0aGlzLnpofX0sTnFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnRoPWE7dGhpcy5zaD1iO2E9YS5nZXRUYXJnZXQoKS5vd25lckRvY3VtZW50fHxkb2N1bWVudDt0aGlzLndoPW5ldyBfLkZwKGEsIm1vdXNlbW92ZSIsZD0+e2E6e3RoaXMucmg9ZDtpZih0aGlzLnFoKXtpZighZEIoZCx0aGlzLnFoLDIpKXtkPXZvaWQgMDticmVhayBhfXRoaXMucWg9bnVsbH10aGlzLnNoLm1uKG5ldyBfLmp4KGQsZCxveChkKSkpO3RoaXMudGgudGg9ITA7ZD12b2lkIDB9cmV0dXJuIGR9LHtBbjohMH0pO3RoaXMueWg9bmV3IF8uRnAoYSwibW91c2V1cCIsZD0+e3RoaXMudGgucmVzZXQoKTt0aGlzLnNoLnVtKG5ldyBfLmp4KGQsZCxveChkKSkpfSx7QW46ITB9KTt0aGlzLnhoPW5ldyBfLkZwKGEsImRyYWdzdGFydCIsCl8uZm4pO3RoaXMuemg9bmV3IF8uRnAoYSwic2VsZWN0c3RhcnQiLF8uZm4pO3RoaXMucWg9dGhpcy5yaD1jfXJlbW92ZSgpe3RoaXMud2gucmVtb3ZlKCk7dGhpcy55aC5yZW1vdmUoKTt0aGlzLnhoLnJlbW92ZSgpO3RoaXMuemgucmVtb3ZlKCl9fTt2YXIgT3FhPV8uJGkoXy5yQSxMcGEpLFBxYT1fLlhpKDQ5NjUwMzA4MCxfLkZ6LF8uckEpO18uR3pbNDk2NTAzMDgwXT1McGE7dmFyIFFxYT1fLiRpKF8uc0EsTXBhKSxScWE9Xy5YaSg0MjE3MDc1MjAsXy5GeixfLnNBKTtfLkd6WzQyMTcwNzUyMF09TXBhO3ZhciBYbWE9e2NSOjAsYVI6MSxYUToyLFlROjMsV1E6NSxaUTo4fTt2YXIgTXg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSl9fTtfLmVCPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGZCPVswLF8uWixbMCxfLlIsXy5QXSxbMCxfLlAsLTMsXy5SLF8uWl0sXy5SLF8uV3ksXy5SLFswLF8uUixfLlAsLTFdLFswLF8uQ3JdLDEsXy5SLFswLF8uUCwtMV1dO18uSXg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw1MDApfVFxKCl7cmV0dXJuIF8uUGcodGhpcyw1KX19O18uTng9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw1MDApfWdldFRpbGUoKXtyZXR1cm4gXy5BZyh0aGlzLF8uRXgsMSl9Y2xlYXJSZWN0KCl7cmV0dXJuIF8uUWYodGhpcywzKX19O18uZ0I9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwzMyl9TmooYSxiKXtfLkh2KHRoaXMsMixfLnR4LGEsYil9eG0oYSl7Xy5Jdih0aGlzLDIsXy50eCxhKX19O18uZ0IucHJvdG90eXBlLlVzPV8uaGEoNTIpO18uU3FhPXt9O18uVHFhPVstMSxfLkd6XTt2YXIgVXFhPVswLF8uQnIsLTFdO18uaEI9Wy0zMyxfLlNxYSxfLlksWy01MDAsXy5HQSwxLFswLFVxYSwtMSxfLlBdLFswLFVxYSxfLkJyLF8uU3osXy5ZLF8uU3osXy5TeiwtMSxfLkJyLC0xXSwxLFswLF8uUCwtMV0sMSxbMCxfLkdBLF8uUCxpel0sWzAsXy4keV0sMTUsXy5VLF8uUiw5NzQsWzAsXy51ciwtNV1dLF8uWSxHcGEsWy01MDAsMSxfLlUsLTEsXy5SLF8uWiw2LF8uWSxIcGEsMixfLlUsXy5SLC0xLDEsXy5SLC0yLDk3OCxfLlBdLF8uWixmQixbLTUwMCxfLlosXy5QLDEsXy5SLC0zLF8uWixfLlIsLTEsXy5aLF8uUiwtMyxfLlosXy5SLC0xLFswLF8uWiwtMSwxLGZCXSxbMCxfLlosLTEsZkJdLF8uUixfLmR6LDEsXy5SLC0xLFswLF8uUiwtNyxfLlAsXy5SLC0xXSwxLF8uWixfLlIsWzAsXy5XeV0sMSxfLlIsXy5aLF8uUiwxLF8uUiwxLF8uWixfLlIsLTEsXy5DcixfLmR6LF8uUixfLlosXy5SLC0zLDEsXy5aLC0xLF8uUCwxLF8uWixfLlIsLTMsWzAsXy5SXSxfLlIsLTEsXy5keiwtMSxfLlIsLTEsMSxbMCwKXy5aLF8uUiwtMV0sXy5SLFswLF8uUl0sMSxfLlIsWzAsXy5SXSxfLlIsLTIsMSxfLlIsLTIsXy5aLF8uUiwtMTMsOTA1LF8uUiwxLF8uUiwxLF8uUCwxLF8uUixfLmR6LF8uUiw0LF8uUiwtMSwxLF8uUiwtNCwxLF8uUiwtN10sXy5VLDEsWzAsXy5aLF8udXIsLTEsXy5QLF8uVSwtMl0sMSxbMCxfLlosXy5SXSxbMCxfLlosXy5SLF8uV3ksXy5SLC0yXSxfLlAsXy5SLC0yLF8ubnosWzAsXy5SXSxfLlIsWy01MDAsMSxfLlosXy5SLDIsXy5SLF8uWixfLlIsLTEsXy5QLC0yLF8uVSwxLF8uUixfLnVyLF8uWixbMCxfLlAsXy5SXSxfLlIsLTMsOTc3LF8uUl0sMSxbMCxfLlIsXy5aLF8uUCwtMV0sXy55cixbMCxfLlIsLTVdLF8uUCxEb2EsXy5UcWEsXy5QLF8uUixbMCxfLlJdLDEsXy5SXTtfLmlCPV8uJGkoXy5nQixfLmhCKTt2YXIgVnFhO1ZxYT1fLiRpKF8udEEsb3FhKTtfLldxYT1fLlhpKDM5OTk5NjIzNyxfLkZ6LF8udEEpO18uR3pbMzk5OTk2MjM3XT1vcWE7Xy5qQj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnJlcXVlc3Q9bmV3IF8uZ0I7YSYmXy5Ldih0aGlzLnJlcXVlc3QsYSk7KGE9Xy5xZWEoKSkmJl8uS3godGhpcyxhKTtfLkxwWzM1XXx8Xy5LeCh0aGlzLFs0Njk5MTIxMiw0NzA1NDc1MF0pfU5qKGEsYixjPSEwKXthLnBhaW50RXhwZXJpbWVudElkcyYmXy5LeCh0aGlzLGEucGFpbnRFeHBlcmltZW50SWRzKTthLm1hcEZlYXR1cmVzJiZZbWEodGhpcyxhLm1hcEZlYXR1cmVzKTtpZihhLmNsaWNrYWJsZUNpdGllcyYmXy5QZyh0aGlzLnJlcXVlc3QsNCk9PT0zKXt2YXIgZD1fLndnKHRoaXMucmVxdWVzdCxNeCwxMik7Xy4kZyhkLDIsITApfWEudHJhdmVsTWFwUmVxdWVzdCYmXy5hdihfLndnKHRoaXMucmVxdWVzdCxfLkZ6LDI3KSxfLldxYSxhLnRyYXZlbE1hcFJlcXVlc3QpO2Euc2VhcmNoUGlwZU1ldGFkYXRhJiZfLmF2KF8ud2codGhpcy5yZXF1ZXN0LF8uRnosMjcpLF8uV29hLGEuc2VhcmNoUGlwZU1ldGFkYXRhKTthLmdtbUNvbnRleHRQaXBlTWV0YWRhdGEmJgpfLmF2KF8ud2codGhpcy5yZXF1ZXN0LF8uRnosMjcpLGFwYSxhLmdtbUNvbnRleHRQaXBlTWV0YWRhdGEpO2EuYWlyUXVhbGl0eVBpcGVNZXRhZGF0YSYmXy5hdihfLndnKHRoaXMucmVxdWVzdCxfLkZ6LDI3KSxScWEsYS5haXJRdWFsaXR5UGlwZU1ldGFkYXRhKTthLmRpcmVjdGlvbnNQaXBlUGFyYW1ldGVycyYmXy5hdihfLndnKHRoaXMucmVxdWVzdCxfLkZ6LDI3KSxQcWEsYS5kaXJlY3Rpb25zUGlwZVBhcmFtZXRlcnMpO2EuY2xpZW50U2lnbmFsUGlwZU1ldGFkYXRhJiZfLmF2KF8ud2codGhpcy5yZXF1ZXN0LF8uRnosMjcpLF8uTW9hLGEuY2xpZW50U2lnbmFsUGlwZU1ldGFkYXRhKTthLmxheWVySWQmJihfLlJtYShhLCEwLF8uR3godGhpcy5yZXF1ZXN0KSksYyYmKGE9KGI9PT0icm9hZG1hcCImJmEucm9hZG1hcFN0eWxlcj9hLnJvYWRtYXBTdHlsZXI6YS5zdHlsZXIpfHxudWxsKSYmXy5QeCh0aGlzLGEpKX19O18uJG1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnNoPWE7dGhpcy50aD1iO3RoaXMucWg9Yzt0aGlzLnJoPXt9O2ZvcihhPTA7YTxfLllmKF8uSmwsXy5TeSw0Mik7KythKWI9Xy53dShfLkpsLDQyLF8uU3ksYSksdGhpcy5yaFtfLkgoYiwxKV09Yn19O3ZhciBYcWE7Cl8ua0I9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZD17fSl7dGhpcy54aD1kbmE7dGhpcy5yaj1hO3RoaXMuc2l6ZT1iO3RoaXMuZGl2PWM7dGhpcy53aD0hMTt0aGlzLnJoPW51bGw7dGhpcy51cmw9IiI7dGhpcy5vcGFjaXR5PTE7dGhpcy5zaD10aGlzLnRoPXRoaXMucWg9bnVsbDtfLnV3KGMsXy5wbyk7dGhpcy5lcnJvck1lc3NhZ2U9ZC5lcnJvck1lc3NhZ2V8fG51bGw7dGhpcy56az1kLnprO3RoaXMuWHk9ZC5YeX1uaygpe3JldHVybiB0aGlzLmRpdn1Nbygpe3JldHVybiF0aGlzLnFofXJlbGVhc2UoKXt0aGlzLnFoJiYodGhpcy5xaC5kaXNwb3NlKCksdGhpcy5xaD1udWxsKTt0aGlzLnNoJiYodGhpcy5zaC5yZW1vdmUoKSx0aGlzLnNoPW51bGwpO2JuYSh0aGlzKTt0aGlzLnRoJiZ0aGlzLnRoLmRpc3Bvc2UoKTt0aGlzLnprJiZ0aGlzLnprKCl9c2V0T3BhY2l0eShhKXt0aGlzLm9wYWNpdHk9YTt0aGlzLnRoJiZ0aGlzLnRoLnNldE9wYWNpdHkoYSk7dGhpcy5xaCYmdGhpcy5xaC5zZXRPcGFjaXR5KGEpfWFzeW5jIHNldFVybChhKXtpZihhIT09CnRoaXMudXJsfHx0aGlzLndoKXRoaXMudXJsPWEsdGhpcy5xaCYmdGhpcy5xaC5kaXNwb3NlKCksYT8odGhpcy5xaD1uZXcgWHFhKHRoaXMuZGl2LHRoaXMueGgoKSx0aGlzLnNpemUsYSksdGhpcy5xaC5zZXRPcGFjaXR5KHRoaXMub3BhY2l0eSksYT1hd2FpdCB0aGlzLnFoLnNoLHRoaXMucWgmJmEhPT12b2lkIDAmJih0aGlzLnRoJiZ0aGlzLnRoLmRpc3Bvc2UoKSx0aGlzLnRoPXRoaXMucWgsdGhpcy5xaD1udWxsLCh0aGlzLndoPWEpP2NuYSh0aGlzKTpibmEodGhpcykpKToodGhpcy5xaD1udWxsLHRoaXMud2g9ITEpfX07ClhxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLmRpdj1hO3RoaXMucWg9Yjt0aGlzLnJoPSEwO18uUXAodGhpcy5xaCxjKTt2YXIgZT10aGlzLnFoO18uVHAoZSk7ZS5zdHlsZS5ib3JkZXI9IjAiO2Uuc3R5bGUucGFkZGluZz0iMCI7ZS5zdHlsZS5tYXJnaW49IjAiO2Uuc3R5bGUubWF4V2lkdGg9Im5vbmUiO2UuYWx0PSIiO2Uuc2V0QXR0cmlidXRlKCJyb2xlIiwicHJlc2VudGF0aW9uIik7dGhpcy5zaD0obmV3IFByb21pc2UoZj0+e2Uub25sb2FkPSgpPT57ZighMSl9O2Uub25lcnJvcj0oKT0+e2YoITApfTtlLnNyYz1kfSkpLnRoZW4oZj0+Znx8IWUuZGVjb2RlP2Y6ZS5kZWNvZGUoKS50aGVuKCgpPT4hMSwoKT0+ITEpKS50aGVuKGY9PntpZih0aGlzLnJoKXJldHVybiB0aGlzLnJoPSExLGUub25sb2FkPWUub25lcnJvcj1udWxsLGZ8fHRoaXMuZGl2LmFwcGVuZENoaWxkKHRoaXMucWgpLGZ9KTsoYT1fLlVhLl9fZ21fY2FwdHVyZVRpbGUpJiZhKGQpfXNldE9wYWNpdHkoYSl7dGhpcy5xaC5zdHlsZS5vcGFjaXR5PQphPT09MT8iIjpgJHthfWB9ZGlzcG9zZSgpe3RoaXMucmg/KHRoaXMucmg9ITEsdGhpcy5xaC5vbmxvYWQ9dGhpcy5xaC5vbmVycm9yPW51bGwsdGhpcy5xaC5zcmM9Xy5ZQSk6dGhpcy5xaC5wYXJlbnROb2RlJiZ0aGlzLmRpdi5yZW1vdmVDaGlsZCh0aGlzLnFoKX19O18ubEI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuc2l6ZT1hO3RoaXMudGlsdD1iO3RoaXMuaGVhZGluZz1jO3RoaXMucWg9TWF0aC5jb3ModGhpcy50aWx0LzE4MCpNYXRoLlBJKX1yb3RhdGUoYSxiKXt2YXIge3FoOmMscmg6ZH09Yjtzd2l0Y2goKDM2MCt0aGlzLmhlYWRpbmcqYSklMzYwKXtjYXNlIDkwOmM9Yi5yaDtkPXRoaXMuc2l6ZS5ZaC1iLnFoO2JyZWFrO2Nhc2UgMTgwOmM9dGhpcy5zaXplLlhoLWIucWg7ZD10aGlzLnNpemUuWWgtYi5yaDticmVhaztjYXNlIDI3MDpjPXRoaXMuc2l6ZS5YaC1iLnJoLGQ9Yi5xaH1yZXR1cm4gbmV3IF8uV3AoYyxkKX1lcXVhbHMoYSl7cmV0dXJuIHRoaXM9PT1hfHxhIGluc3RhbmNlb2YgXy5sQiYmdGhpcy5zaXplLlhoPT09YS5zaXplLlhoJiZ0aGlzLnNpemUuWWg9PT1hLnNpemUuWWgmJnRoaXMuaGVhZGluZz09PWEuaGVhZGluZyYmdGhpcy50aWx0PT09YS50aWx0fX07Cl8ubUI9bmV3IF8ubEIoe1hoOjI1NixZaDoyNTZ9LDAsMCk7dmFyIFlxYTsKWXFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmLGcsaCxrLG09ITEpe3ZhciBwPV8uZHI7dGhpcy5xaD1hO3RoaXMuQmg9cDt0aGlzLkFoPWM7dGhpcy55aD1kO3RoaXMucmg9ZTt0aGlzLlFsPWY7dGhpcy5zaD1oO3RoaXMueGg9bnVsbDt0aGlzLndoPSExO3RoaXMuemg9Ynx8W107dGhpcy5sb2FkZWQ9bmV3IFByb21pc2UocT0+e3RoaXMubG49cX0pO3RoaXMubG9hZGVkLnRoZW4oKCk9Pnt0aGlzLndoPSEwfSk7dGhpcy5oZWFkaW5nPXR5cGVvZiBnPT09Im51bWJlciI/ZzpudWxsO3RoaXMucmgmJnRoaXMucmguU2ooKS5hZGRMaXN0ZW5lcih0aGlzLnRoLHRoaXMpO20mJmsmJihhPXRoaXMubmsoKSxfLlF4KGEsay5zaXplLlhoLGsuc2l6ZS5ZaCkpO3RoaXMudGgoKX1uaygpe3JldHVybiB0aGlzLnFoLm5rKCl9TW8oKXtyZXR1cm4gdGhpcy53aH1yZWxlYXNlKCl7dGhpcy5yaCYmdGhpcy5yaC5TaigpLnJlbW92ZUxpc3RlbmVyKHRoaXMudGgsdGhpcyk7dGhpcy5xaC5yZWxlYXNlKCl9dGgoKXt2YXIgYT10aGlzLlFsOwppZihhJiZhLlNvKXt2YXIgYj10aGlzLnloKHtraTp0aGlzLnFoLnJqLmtpLGxpOnRoaXMucWgucmoubGksdWk6dGhpcy5xaC5yai51aX0pO2lmKGIpe2lmKHRoaXMucmgpe3ZhciBjPXRoaXMucmguaEUoYik7aWYoIWN8fHRoaXMueGg9PT1jJiYhdGhpcy5xaC53aClyZXR1cm47dGhpcy54aD1jfXZhciBkPWEuc2NhbGU9PT0yfHxhLnNjYWxlPT09ND9hLnNjYWxlOjE7ZD1NYXRoLm1pbigxPDxiLnVpLGQpO3ZhciBlPXRoaXMuQWgmJmQhPT00O2Zvcih2YXIgZj1kO2Y+MTtmLz0yKWIudWktLTtmPTI1Njt2YXIgZztkIT09MSYmKGYvPWQpO2UmJihkKj0yKTtkIT09MSYmKGc9ZCk7ZD1uZXcgXy5qQihhLlNvKTtfLlVtYShkLDApO2U9Xy53ZyhkLnJlcXVlc3QsXy5lQiw1KTtfLmtoKGUsMSwzKTtfLlZtYShkLGIsZik7ZyYmKGY9Xy53ZyhkLnJlcXVlc3QsXy5lQiw1KSxfLkF1KGYsNSxnKSk7aWYoYylmb3IobGV0IGg9MCxrPV8uSHgoZC5yZXF1ZXN0KTtoPGs7aCsrKWc9Xy5HdihkLnJlcXVlc3QsCjIsXy50eCxoKSxnLmdldFR5cGUoKT09PTAmJl8uSncoZyxjKTt0eXBlb2YgdGhpcy5oZWFkaW5nPT09Im51bWJlciImJihfLmJoKGQucmVxdWVzdCwxMyx0aGlzLmhlYWRpbmcpLF8uJGcoZC5yZXF1ZXN0LDE0LCEwKSk7Yz1udWxsO3RoaXMuc2gmJnRoaXMuc2guVkQoKSYmKGM9dGhpcy5zaC5ZdigpLnhoKCkpO2I9Yz9jLmluY2x1ZGVzKCJ2ZXJzaW9uPXNkay0iKT9jOmMucmVwbGFjZSgidmVyc2lvbj0iLCJ2ZXJzaW9uPXNkay0iKTpfLmFuYSh0aGlzLnpoLGIpO2IrPWBwYj0ke18uVG1hKF8uUXYoZC5yZXF1ZXN0LCgwLF8uaUIpKCkpKX1gO2N8fChhLkNxIT1udWxsJiYoYis9YCZhdXRodXNlcj0ke2EuQ3F9YCksYj10aGlzLkJoKGIpKTt0aGlzLnFoLnNldFVybChiKS50aGVuKHRoaXMubG4pfWVsc2UgdGhpcy5xaC5zZXRVcmwoIiIpLnRoZW4odGhpcy5sbil9fX07Cl8ubkI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYsZyxoLGssbT0hMSl7dGhpcy5lcnJvck1lc3NhZ2U9Yjt0aGlzLnhoPWM7dGhpcy5yaD1kO3RoaXMuc2g9ZTt0aGlzLlFsPWY7dGhpcy53aD1oO3RoaXMudGg9azt0aGlzLk94PW07dGhpcy5zaXplPW5ldyBfLmdvKDI1NiwyNTYpO3RoaXMuSW49MTt0aGlzLnFoPWF8fFtdO3RoaXMuaGVhZGluZz1nIT09dm9pZCAwP2c6bnVsbDt0aGlzLkNpPW5ldyBfLmxCKHtYaDoyNTYsWWg6MjU2fSxfLmptKGcpPzQ1OjAsZ3x8MCl9a20oYSxiKXt2YXIgYz1fLndsKCJESVYiKTthPW5ldyBfLmtCKGEsdGhpcy5zaXplLGMse2Vycm9yTWVzc2FnZTp0aGlzLmVycm9yTWVzc2FnZXx8dm9pZCAwLHprOmImJmIuemssWHk6dGhpcy53aH0pO3JldHVybiBuZXcgWXFhKGEsdGhpcy5xaCx0aGlzLnhoLHRoaXMucmgsdGhpcy5zaCx0aGlzLlFsLHRoaXMuaGVhZGluZz09PW51bGw/dm9pZCAwOnRoaXMuaGVhZGluZyx0aGlzLnRoLHRoaXMuQ2ksdGhpcy5PeCl9fTtfLm9CPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5xaD10aGlzLnJoPW51bGw7dGhpcy5zaD1bXTt0aGlzLnRoPWE7dGhpcy53aD1ifXNldFpJbmRleChhKXt0aGlzLnFoJiZ0aGlzLnFoLnNldFpJbmRleChhKX1jbGVhcigpe18uWXgodGhpcyxudWxsKTtmbmEodGhpcyl9fTtfLlpxYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnRpbGVzPWE7dGhpcy50aWxlU2l6ZT1uZXcgXy5nbygyNTYsMjU2KTt0aGlzLm1heFpvb209MjV9Z2V0VGlsZShhLGIsYyl7Yz1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpO18uUXAoYyx0aGlzLnRpbGVTaXplKTtjLnltPXtkaXY6YyxyajpuZXcgXy5ibyhhLngsYS55KSx6b29tOmIsZGF0YTpuZXcgXy54cX07Xy5EcCh0aGlzLnRpbGVzLGMueW0pO3JldHVybiBjfXJlbGVhc2VUaWxlKGEpe3RoaXMudGlsZXMucmVtb3ZlKGEueW0pO2EueW09bnVsbH19O3ZhciAkcWEsYXJhOyRxYT1uZXcgXy5nbygyNTYsMjU2KTthcmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGM9e30pe3RoaXMucmg9YTt0aGlzLnNoPSExO3RoaXMucWg9YS5nZXRUaWxlKG5ldyBfLmJvKGIua2ksYi5saSksYi51aSxkb2N1bWVudCk7dGhpcy50aD1fLndsKCJESVYiKTt0aGlzLnFoJiZ0aGlzLnRoLmFwcGVuZENoaWxkKHRoaXMucWgpO3RoaXMuems9Yy56a3x8bnVsbDt0aGlzLmxvYWRlZD1uZXcgUHJvbWlzZShkPT57YS50cmlnZ2Vyc1RpbGVMb2FkRXZlbnQmJnRoaXMucWg/Xy50bih0aGlzLnFoLCJsb2FkIixkKTpkKCl9KTt0aGlzLmxvYWRlZC50aGVuKCgpPT57dGhpcy5zaD0hMH0pfW5rKCl7cmV0dXJuIHRoaXMudGh9TW8oKXtyZXR1cm4gdGhpcy5zaH1yZWxlYXNlKCl7dGhpcy5yaC5yZWxlYXNlVGlsZSYmdGhpcy5xaCYmdGhpcy5yaC5yZWxlYXNlVGlsZSh0aGlzLnFoKTt0aGlzLnprJiZ0aGlzLnprKCl9fTsKXy5wQj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMucmg9YTt2YXIgYz1hLnRpbGVTaXplLndpZHRoLGQ9YS50aWxlU2l6ZS5oZWlnaHQ7dGhpcy5Jbj1hIGluc3RhbmNlb2YgXy5acWE/MzoxO3RoaXMuQ2k9Ynx8KCRxYS5lcXVhbHMoYS50aWxlU2l6ZSk/Xy5tQjpuZXcgXy5sQih7WGg6YyxZaDpkfSwwLDApKX1rbShhLGIpe3JldHVybiBuZXcgYXJhKHRoaXMucmgsYSxiKX19O18uWng9ISEoXy5VYS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUmJl8uVWEucGVyZm9ybWFuY2UmJl8uVWEucGVyZm9ybWFuY2Uubm93KTt2YXIgZ25hPVsidHJhbnNmb3JtIiwid2Via2l0VHJhbnNmb3JtIiwiTW96VHJhbnNmb3JtIiwibXNUcmFuc2Zvcm0iXTt2YXIgY3k9bmV3IFdlYWtNYXAsaG5hPWNsYXNze2NvbnN0cnVjdG9yKHtyajphLGNvbnRhaW5lcjpiLHN2OmMsQ2k6ZH0pe3RoaXMucWg9bnVsbDt0aGlzLmhCPSExO3RoaXMuaXNBY3RpdmU9ITA7dGhpcy5yaj1hO3RoaXMuY29udGFpbmVyPWI7dGhpcy5zdj1jO3RoaXMuQ2k9ZDt0aGlzLmxvYWRlZD1jLmxvYWRlZH1Nbygpe3JldHVybiB0aGlzLnN2Lk1vKCl9c2V0WkluZGV4KGEpe3ZhciBiPWR5KHRoaXMpLmRpdi5zdHlsZTtiLnpJbmRleCE9PWEmJihiLnpJbmRleD1hKX10aShhLGIsYyxkKXt2YXIgZT10aGlzLnN2Lm5rKCk7aWYoZSl7dmFyIGY9dGhpcy5DaSxnPWYuc2l6ZSxoPXRoaXMucmoudWksaz1keSh0aGlzKTtpZighay5xaHx8YyYmIWEuZXF1YWxzKGsub3JpZ2luKSlrLnFoPV8uV3goZixhLGgpO3ZhciBtPSEhYi5xaCYmKCFrLnNpemV8fCFfLkJ3KGQsay5zaXplKSk7Yi5lcXVhbHMoay5zY2FsZSkmJmEuZXF1YWxzKGsub3JpZ2luKSYmIW18fChrLm9yaWdpbj1hLGsuc2NhbGU9CmIsay5zaXplPWQsYi5xaD8oZj1fLnV2KF8uVngoZixrLnFoKSxhKSxoPU1hdGgucG93KDIsXy56dihiKS1rLnVpKSxiPWIucWguSkgoXy56dihiKSxiLnRpbHQsYi5oZWFkaW5nLGQsZixoLGgpKTooZD1fLnh2KF8ueXYoYixfLnV2KF8uVngoZixrLnFoKSxhKSkpLGE9Xy55dihiLF8uVngoZix7a2k6MCxsaTowLHVpOmh9KSksbT1fLnl2KGIsXy5WeChmLHtraTowLGxpOjEsdWk6aH0pKSxiPV8ueXYoYixfLlZ4KGYse2tpOjEsbGk6MCx1aTpofSkpLGI9YG1hdHJpeCgkeyhiLlhoLWEuWGgpL2cuWGh9LCR7KGIuWWgtYS5ZaCkvZy5YaH0sJHsobS5YaC1hLlhoKS9nLllofSwkeyhtLlloLWEuWWgpL2cuWWh9LCR7ZC5YaH0sJHtkLllofSlgKSxrLmRpdi5zdHlsZVtfLmF5KCldPWIpO2suZGl2LnN0eWxlLndpbGxDaGFuZ2U9Yz8iIjoidHJhbnNmb3JtIjtjPWUuc3R5bGU7az1rLnFoO2MucG9zaXRpb249ImFic29sdXRlIjtjLmxlZnQ9U3RyaW5nKGcuWGgqKHRoaXMucmoua2ktay5raSkpKwoicHgiO2MudG9wPVN0cmluZyhnLlloKih0aGlzLnJqLmxpLWsubGkpKSsicHgiO2Mud2lkdGg9YCR7Zy5YaH1weGA7Yy5oZWlnaHQ9YCR7Zy5ZaH1weGB9fXNob3coYT0hMCl7cmV0dXJuIHRoaXMucWh8fCh0aGlzLnFoPW5ldyBQcm9taXNlKGI9Pnt2YXIgYyxkO18uJHgoKCk9PntpZih0aGlzLmlzQWN0aXZlKWlmKGM9dGhpcy5zdi5uaygpKWlmKGMucGFyZW50RWxlbWVudHx8am5hKGR5KHRoaXMpLGMpLGQ9Yy5zdHlsZSxkLnBvc2l0aW9uPSJhYnNvbHV0ZSIsYSl7ZC50cmFuc2l0aW9uPSJvcGFjaXR5IDIwMG1zIGxpbmVhciI7ZC5vcGFjaXR5PSIwIjtfLiR4KCgpPT57ZC5vcGFjaXR5PSIifSk7dmFyIGU9KCk9Pnt0aGlzLmhCPSEwO2MucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsZSk7Xy5VYS5jbGVhclRpbWVvdXQoZik7YigpfTtjLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLGUpO3ZhciBmPV8uZngoZSw0MDApfWVsc2UgdGhpcy5oQj0hMCwKYigpO2Vsc2UgdGhpcy5oQj0hMCxiKCk7ZWxzZSBiKCl9KX0pKX1yZWxlYXNlKCl7dmFyIGE9dGhpcy5zdi5uaygpO2EmJmR5KHRoaXMpLkxuKGEpO3RoaXMuc3YucmVsZWFzZSgpO3RoaXMuaXNBY3RpdmU9ITF9fSxpbmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmNvbnRhaW5lcj1hO3RoaXMudWk9Yjt0aGlzLmRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLnNpemU9dGhpcy5xaD10aGlzLm9yaWdpbj10aGlzLnNjYWxlPW51bGw7dGhpcy5kaXYuc3R5bGUucG9zaXRpb249ImFic29sdXRlIn1MbihhKXthLnBhcmVudE5vZGU9PT10aGlzLmRpdiYmKHRoaXMuZGl2LnJlbW92ZUNoaWxkKGEpLHRoaXMuZGl2Lmhhc0NoaWxkTm9kZXMoKXx8KHRoaXMucWg9bnVsbCxfLnlsKHRoaXMuZGl2KSkpfX07dmFyIHFCPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnVpPWM7dmFyIGQ9Xy5XeChhLGIubWluLGMpO2E9Xy5XeChhLGIubWF4LGMpO3RoaXMuc2g9TWF0aC5taW4oZC5raSxhLmtpKTt0aGlzLnRoPU1hdGgubWluKGQubGksYS5saSk7dGhpcy5xaD1NYXRoLm1heChkLmtpLGEua2kpO3RoaXMucmg9TWF0aC5tYXgoZC5saSxhLmxpKX1oYXMoe2tpOmEsbGk6Yix1aTpjfSx7Y0s6ZD0wfT17fSl7cmV0dXJuIGMhPT10aGlzLnVpPyExOnRoaXMuc2gtZDw9YSYmYTw9dGhpcy5xaCtkJiZ0aGlzLnRoLWQ8PWImJmI8PXRoaXMucmgrZH19O18uckI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLHtDQTpmPSExfT17fSl7dGhpcy5SaD1jO3RoaXMudGg9ZDt0aGlzLkJoPWU7dGhpcy5yaD1fLndsKCJESVYiKTt0aGlzLmlzQWN0aXZlPSEwO3RoaXMuc2l6ZT10aGlzLmhpbnQ9dGhpcy5zY2FsZT10aGlzLm9yaWdpbj1udWxsO3RoaXMuemg9dGhpcy5BaD10aGlzLnNoPTA7dGhpcy55aD0hMTt0aGlzLnFoPW5ldyBNYXA7dGhpcy53aD1udWxsO2EuYXBwZW5kQ2hpbGQodGhpcy5yaCk7dGhpcy5yaC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3RoaXMucmguc3R5bGUudG9wPXRoaXMucmguc3R5bGUubGVmdD0iMCI7dGhpcy5yaC5zdHlsZS56SW5kZXg9U3RyaW5nKGIpO3RoaXMuQ0E9ZiYmInRyYW5zaXRpb24iaW4gdGhpcy5yaC5zdHlsZTt0aGlzLnhoPWQuSW4hPT0xfWZyZWV6ZSgpe3RoaXMuaXNBY3RpdmU9ITF9c2V0WkluZGV4KGEpe3RoaXMucmguc3R5bGUuekluZGV4PVN0cmluZyhhKX10aShhLGIsYyxkLGUsZixnLApoKXtkPWguVnJ8fHRoaXMub3JpZ2luJiYhYi5lcXVhbHModGhpcy5vcmlnaW4pfHx0aGlzLnNjYWxlJiYhYy5lcXVhbHModGhpcy5zY2FsZSl8fCEhYy5xaCYmdGhpcy5zaXplJiYhXy5CdyhnLHRoaXMuc2l6ZSk7dGhpcy5vcmlnaW49Yjt0aGlzLnNjYWxlPWM7dGhpcy5oaW50PWg7dGhpcy5zaXplPWc7ZT1oLkVsJiZoLkVsLmhqO2Y9TWF0aC5yb3VuZChfLnp2KGMpKTt2YXIgaz1lP01hdGgucm91bmQoZS56b29tKTpmO3N3aXRjaCh0aGlzLnRoLkluKXtjYXNlIDI6dmFyIG09ZjtmPSEwO2JyZWFrO2Nhc2UgMTpjYXNlIDM6bT1rO2Y9ITE7YnJlYWs7ZGVmYXVsdDpmPSExfW0hPT12b2lkIDAmJm0hPT10aGlzLnNoJiYodGhpcy5zaD1tLHRoaXMuQWg9RGF0ZS5ub3coKSk7bT10aGlzLnRoLkluPT09MSYmZSYmdGhpcy5SaC5uRChlKXx8YTtrPXRoaXMudGguQ2k7Zm9yKGxldCB4IG9mIHRoaXMucWgua2V5cygpKXtsZXQgej10aGlzLnFoLmdldCh4KTt2YXIgcD16LnJqLHE9cC51aTsKbGV0IEI9bmV3IHFCKGssbSxxKTt2YXIgdT1uZXcgcUIoayxhLHEpO2xldCBLPSF0aGlzLmlzQWN0aXZlJiYhei5NbygpLE89cSE9PXRoaXMuc2gmJiF6Lk1vKCk7cT1xIT09dGhpcy5zaCYmIUIuaGFzKHApJiYhdS5oYXMocCk7dT1mJiYhdS5oYXMocCx7Y0s6Mn0pO3A9aC5WciYmIUIuaGFzKHAse2NLOjJ9KTtLfHxPfHxxfHx1fHxwPyh6LnJlbGVhc2UoKSx0aGlzLnFoLmRlbGV0ZSh4KSk6ZCYmei50aShiLGMsaC5WcixnKX1rbmEodGhpcyxuZXcgcUIoayxtLHRoaXMuc2gpLGUsaC5Wcil9ZGlzcG9zZSgpe2ZvcihsZXQgYSBvZiB0aGlzLnFoLnZhbHVlcygpKWEucmVsZWFzZSgpO3RoaXMucWguY2xlYXIoKTt0aGlzLnJoLnBhcmVudE5vZGUmJnRoaXMucmgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnJoKX19O18uYnJhPV8uJGkoXy52eCxDQSk7Xy5UclszNjE3NDI2N109Q0E7Xy5peT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubGF5ZXJJZD0iIjt0aGlzLnBhcmFtZXRlcnM9e307dGhpcy5kYXRhPW5ldyBfLnhxfXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5XcCgpfTske3RoaXMuc3BvdGxpZ2h0RGVzY3JpcHRpb24mJl8uUmoodGhpcy5zcG90bGlnaHREZXNjcmlwdGlvbiwoMCxfLmJyYSkoKSl9OyR7dGhpcy5yaCYmdGhpcy5yaC5qb2luKCl9OyR7dGhpcy5zZWFyY2hQaXBlTWV0YWRhdGEmJl8uUmoodGhpcy5zZWFyY2hQaXBlTWV0YWRhdGEsVm9hKCkpfTske3RoaXMuZ21tQ29udGV4dFBpcGVNZXRhZGF0YSYmXy5Saih0aGlzLmdtbUNvbnRleHRQaXBlTWV0YWRhdGEsJG9hKCkpfTske3RoaXMudHJhdmVsTWFwUmVxdWVzdCYmXy5Saih0aGlzLnRyYXZlbE1hcFJlcXVlc3QsVnFhKCkpfTske3RoaXMuYWlyUXVhbGl0eVBpcGVNZXRhZGF0YSYmXy5Saih0aGlzLmFpclF1YWxpdHlQaXBlTWV0YWRhdGEsUXFhKCkpfTske3RoaXMuZGlyZWN0aW9uc1BpcGVQYXJhbWV0ZXJzJiYKXy5Saih0aGlzLmRpcmVjdGlvbnNQaXBlUGFyYW1ldGVycyxPcWEoKSl9OyR7dGhpcy5jYXNlRXhwZXJpbWVudElkcyYmdGhpcy5jYXNlRXhwZXJpbWVudElkcy5tYXAoYT0+U3RyaW5nKGEpKS5qb2luKCIsIil9OyR7dGhpcy5ib29zdE1hcEV4cGVyaW1lbnRJZHMmJnRoaXMuYm9vc3RNYXBFeHBlcmltZW50SWRzLmpvaW4oIiwiKX07JHt0aGlzLmNsaWVudFNpZ25hbFBpcGVNZXRhZGF0YSYmXy5Saih0aGlzLmNsaWVudFNpZ25hbFBpcGVNZXRhZGF0YSxMb2EoKSl9YH1XcCgpe3ZhciBhPVtdO2ZvcihsZXQgYiBpbiB0aGlzLnBhcmFtZXRlcnMpYS5wdXNoKGAke2J9OiR7dGhpcy5wYXJhbWV0ZXJzW2JdfWApO2E9YS5zb3J0KCk7YS5zcGxpY2UoMCwwLHRoaXMubGF5ZXJJZCk7cmV0dXJuIGEuam9pbigifCIpfX07Xy5jcmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPWE7dGhpcy5zbD1iO3RoaXMucmg9MTt0aGlzLndoPSIifWlzRW1wdHkoKXtyZXR1cm4hdGhpcy5xaH1lbygpe2lmKHRoaXMuaXNFbXB0eSgpfHwhXy5IKHRoaXMucWgsMSl8fCFfLm12KHRoaXMucWgpKXJldHVybiExO2lmKGp2KF8ubHYodGhpcy5xaCkpPT09MCl7dmFyIGE9YFRoZSBtYXAgSUQgIiR7Xy5IKHRoaXMucWgsMSl9IiBpcyBub3QgY29uZmlndXJlZC4gTWFwIGNhcGFiaWxpdGllcyByZW1haW4gYXZhaWxhYmxlLmA7Xy5kbihhKTtyZXR1cm4hMH1qdihfLmx2KHRoaXMucWgpKT09PTEmJihhPWBUaGUgbWFwIElEICIke18uSCh0aGlzLnFoLDEpfSIgaXMgbm90IGNvbmZpZ3VyZWQuIE1hcCBjYXBhYmlsaXRpZXMgd2lsbCBub3QgYmUgYXZhaWxhYmxlLmAsXy5kbihhKSk7cmV0dXJuIGp2KF8ubHYodGhpcy5xaCkpPT09Mn14aCgpe2lmKHRoaXMucWgmJl8uU2YodGhpcy5xaCxfLmZ5LDEzKSYmdGhpcy5lbygpKXt2YXIgYT0KXy5HKHRoaXMucWgsXy5meSwxMyk7Zm9yKGxldCBiIG9mIF8uQ2coYSxfLmd5LDUpKWlmKHRoaXMucmg9PT1fLlBnKGIsMSkpe2lmKGE9Xy5IKGIsNikpcmV0dXJuIHRoaXMucmgmJnRoaXMucmghPT0xJiYhYS5pbmNsdWRlcygic2RrX21hcF92YXJpYW50Iik/YCR7YX1zZGtfbWFwX3ZhcmlhbnQ9JHt0aGlzLnJofSZgOmE7aWYoXy5tdih0aGlzLnFoKSlyZXR1cm4gd25hKHRoaXMpfX1lbHNlIGlmKHRoaXMucWgmJl8ubXYodGhpcy5xaCkmJnRoaXMuZW8oKSlyZXR1cm4gd25hKHRoaXMpO3JldHVybiIifXFtKCl7aWYoIXRoaXMucWgpcmV0dXJuIiI7aWYoXy5TZih0aGlzLnFoLF8uZnksMTMpKXt2YXIgYT1fLkcodGhpcy5xaCxfLmZ5LDEzKTtmb3IobGV0IGIgb2YgXy5DZyhhLF8uZ3ksNSkpaWYodGhpcy5yaD09PV8uUGcoYiwxKSl7aWYoYT1fLkcoYixfLlF5LDgpPy5xbSgpKXJldHVybiBhO2JyZWFrfX1yZXR1cm4gdGhpcy53aH1zaCgpe2lmKCF0aGlzLnFofHwhXy5tdih0aGlzLnFoKSlyZXR1cm5bXTsKdmFyIGE9Xy5sdih0aGlzLnFoKTtpZighXy5TZihhLGh2LDEpKXJldHVybltdO2E9Xy5pdihhKTtpZighXy5ZZihhLGp5LDYpKXJldHVybltdO3ZhciBiPW5ldyBNYXAoW1sxLCJQT1NUQUxfQ09ERSJdLFsyLCJBRE1JTklTVFJBVElWRV9BUkVBX0xFVkVMXzEiXSxbMywiQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8yIl0sWzQsIkNPVU5UUlkiXSxbNSwiTE9DQUxJVFkiXSxbMTcsIlNDSE9PTF9ESVNUUklDVCJdXSksYz1bXTtmb3IobGV0IGU9MDtlPF8uWWYoYSxqeSw2KTtlKyspe3ZhciBkPV8ud3UoYSw2LGp5LGUpOyhkPWIuZ2V0KF8uUGcoZCxfLnRnKGQsZ3YsMSkpKSkmJiFjLmluY2x1ZGVzKGQpJiZjLnB1c2goZCl9cmV0dXJuIGN9dGgoKXtpZighdGhpcy5xaHx8IV8ubXYodGhpcy5xaCkpcmV0dXJuW107dmFyIGE9W10sYj1fLmx2KHRoaXMucWgpO2ZvcihsZXQgYz0wO2M8Xy5ZZihiLGhvYSw3KTtjKyspYS5wdXNoKF8ud3UoYiw3LGhvYSxjKSk7cmV0dXJuIGF9fTtfLkx5PWNsYXNzIGV4dGVuZHMgXy5NaGF7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuYXJncz1hO3RoaXMuc2g9Yjt0aGlzLnFoPSExfXJoKCl7dGhpcy5ub3RpZnkoe3N5bmM6ITB9KX1zdCgpe2lmKCF0aGlzLnFoKXt0aGlzLnFoPSEwO2ZvcihsZXQgYSBvZiB0aGlzLmFyZ3MpYS5hZGRMaXN0ZW5lcih0aGlzLnJoLHRoaXMpfX1kcygpe3RoaXMucWg9ITE7Zm9yKGxldCBhIG9mIHRoaXMuYXJncylhLnJlbW92ZUxpc3RlbmVyKHRoaXMucmgsdGhpcyl9Z2V0KCl7cmV0dXJuIHRoaXMuc2guYXBwbHkobnVsbCx0aGlzLmFyZ3MubWFwKGE9PmEuZ2V0KCkpKX19O18uc0I9Y2xhc3MgZXh0ZW5kcyBfLk5oYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vYmplY3Q9YTt0aGlzLmtleT1iO3RoaXMucWg9ITA7dGhpcy5saXN0ZW5lcj1udWxsfXN0KCl7dGhpcy5saXN0ZW5lcnx8KHRoaXMubGlzdGVuZXI9dGhpcy5vYmplY3QuYWRkTGlzdGVuZXIoKHRoaXMua2V5KyIiKS50b0xvd2VyQ2FzZSgpKyJfY2hhbmdlZCIsKCk9Pnt0aGlzLnFoJiZ0aGlzLm5vdGlmeSgpfSkpfWRzKCl7dGhpcy5saXN0ZW5lciYmKHRoaXMubGlzdGVuZXIucmVtb3ZlKCksdGhpcy5saXN0ZW5lcj1udWxsKX1nZXQoKXtyZXR1cm4gdGhpcy5vYmplY3QuZ2V0KHRoaXMua2V5KX1zZXQoYSl7dGhpcy5vYmplY3Quc2V0KHRoaXMua2V5LGEpfXJoKGEpe3ZhciBiPXRoaXMucWg7dGhpcy5xaD0hMTt0cnl7dGhpcy5vYmplY3Quc2V0KHRoaXMua2V5LGEpfWZpbmFsbHl7dGhpcy5xaD1ifX19O18uZHJhPWNsYXNzIGV4dGVuZHMgXy4kdHtjb25zdHJ1Y3Rvcigpe3ZhciBhPV8uZWdhO3N1cGVyKHtbIlgtR29vZy1NYXBzLUNsaWVudC1JZCJdOl8uSmw/LnhoKCl8fCIifSk7dGhpcy5xaD1hfWFzeW5jIGludGVyY2VwdChhLGIpe3ZhciBjPXRoaXMucWgoKTthLm1ldGFkYXRhWyJYLUdvb2ctTWFwcy1BUEktU2FsdCJdPWNbMF07YS5tZXRhZGF0YVsiWC1Hb29nLU1hcHMtQVBJLVNpZ25hdHVyZSJdPWNbMV07cmV0dXJuIHN1cGVyLmludGVyY2VwdChhLGQ9Pnt2YXIgZT1kLlhFO3RxYShlKSYmKGU9Xy5QZyhlLDEyKSxkLmdldE1ldGFkYXRhKCkuQXV0aG9yaXphdGlvbiYmKGU9PT0yJiYoZC5tZXRhZGF0YS5BdXRob3JpemF0aW9uPSIiLGQubWV0YWRhdGFbIlgtRmlyZWJhc2UtQXBwQ2hlY2siXT0iIiksZC5tZXRhZGF0YVsiWC1Hb29nLU1hcHMtQ2xpZW50LUlkIl09IiIpKTtyZXR1cm4gYihkKX0pfX07Xy50Qj1jbGFzcyBleHRlbmRzIF8uYXV7dGgoKXtyZXR1cm4gd21hfXNoKCl7cmV0dXJuIF8uVkF9fTt2YXIgSW5hPSgwLF8uR2opYC5nbS1lcnItY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ZGlzcGxheTp0YWJsZTtiYWNrZ3JvdW5kLWNvbG9yOiNlOGVhZWQ7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3RvcDowfS5nbS1lcnItY29udGVudHtib3JkZXItcmFkaXVzOjFweDtwYWRkaW5nLXRvcDowO3BhZGRpbmctbGVmdDoxMCU7cGFkZGluZy1yaWdodDoxMCU7cG9zaXRpb246c3RhdGljO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OnRhYmxlLWNlbGx9LmdtLWVyci1jb250ZW50IGF7Y29sb3I6IzNjNDA0M30uZ20tZXJyLWljb257dGV4dC1hbGlnbjpjZW50ZXJ9LmdtLWVyci10aXRsZXttYXJnaW46NXB4O21hcmdpbi1ib3R0b206MjBweDtjb2xvcjojM2M0MDQzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToyNHB4fS5nbS1lcnItbWVzc2FnZXttYXJnaW46NXB4O2NvbG9yOiMzYzQwNDM7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEycHh9LmdtLWVyci1hdXRvY29tcGxldGV7cGFkZGluZy1sZWZ0OjIwcHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE1cHggMTVweDtiYWNrZ3JvdW5kLXNpemU6MTVweCAxNXB4fXNlbnRpbmVse31cbmA7dmFyIGVyYT17REVGQVVMVDoiREVGQVVMVCIsR1I6IlBJTiIsSFI6IlBJTkxFVCJ9O3ZhciB0eSxzeSx1eSxmcmE7dHk9Xy5TcSgibWFwcy1waW4tdmlldy1iYWNrZ3JvdW5kIik7c3k9Xy5TcSgibWFwcy1waW4tdmlldy1ib3JkZXIiKTt1eT1fLlNxKCJtYXBzLXBpbi12aWV3LWRlZmF1bHQtZ2x5cGgiKTtmcmE9e1BJTjpuZXcgXy5ibygxLDkpLFBJTkxFVDpuZXcgXy5ibygwLDMpLERFRkFVTFQ6bmV3IF8uYm8oMCw1KX07Xy51Qj1uZXcgTWFwO18ueUI9Y2xhc3MgZXh0ZW5kcyBfLmV0e3N0YXRpYyBnZXQgUG0oKXtyZXR1cm57Li4uXy5ldC5QbSxzbG90QXNzaWdubWVudDoibWFudWFsIn19Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoKTt0aGlzLlBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTt0aGlzLmRpPXRoaXMuRGg9dGhpcy5DaD10aGlzLnhoPXRoaXMuR2g9dGhpcy53aD10aGlzLkJoPXZvaWQgMDt0aGlzLnNoPW51bGw7ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5zaGFwZT1fLmtwKHRoaXMsInNoYXBlIixfLk1tKF8uRm0oZXJhKSksYS5zaGFwZSl8fCJERUZBVUxUIjtfLmdwKHRoaXMsInNoYXBlIik7dmFyIGI9MTUsYz01LjU7c3dpdGNoKHRoaXMuc2hhcGUpe2Nhc2UgIlBJTiI6dkJ8fCh2Qj12eSgiUElOIikpO3ZhciBkPXZCO2I9MTM7Yz03O2JyZWFrO2Nhc2UgIlBJTkxFVCI6d0J8fCh3Qj12eSgiUElOTEVUIikpO2Q9d0I7Yj05O2M9NTticmVhaztkZWZhdWx0OnhCfHwoeEI9dnkoIkRFRkFVTFQiKSksCmQ9eEIsYj0xNSxjPTUuNX10aGlzLnFoPWQuY2xvbmVOb2RlKCEwKTt0aGlzLnFoLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjt0aGlzLnFoLnN0eWxlLm92ZXJmbG93PSJ2aXNpYmxlIjt0aGlzLnFoLnN0eWxlLmdyaWRBcmVhPSIxIjt0aGlzLlppPU51bWJlcih0aGlzLnFoLmdldEF0dHJpYnV0ZSgid2lkdGgiKSk7dGhpcy5XaT1OdW1iZXIodGhpcy5xaC5nZXRBdHRyaWJ1dGUoImhlaWdodCIpKTt0aGlzLnFoLnF1ZXJ5U2VsZWN0b3IoImciKS5zdHlsZS5wb2ludGVyRXZlbnRzPSJhdXRvIjt0aGlzLm5pPXRoaXMucWgucXVlcnlTZWxlY3RvcihgLiR7dHl9YCkuZ2V0QXR0cmlidXRlKCJmaWxsIil8fCIiO2Q9dm9pZCAwO3ZhciBlPXRoaXMucWgucXVlcnlTZWxlY3RvcihgLiR7c3l9YCk7ZSYmKHRoaXMuc2hhcGU9PT0iREVGQVVMVCI/ZD1lLmdldEF0dHJpYnV0ZSgiZmlsbCIpOnRoaXMuc2hhcGU9PT0iUElOIiYmKGQ9ZS5nZXRBdHRyaWJ1dGUoInN0cm9rZSIpKSk7dGhpcy56aT1kfHwKIiI7ZD10aGlzLnFoLnF1ZXJ5U2VsZWN0b3IoImZpbHRlciIpO3RoaXMuYWo9ZC5pZDt0aGlzLk1pPWQucXVlcnlTZWxlY3RvcigiZmVGbG9vZCIpO3RoaXMudGg9dGhpcy5xaC5xdWVyeVNlbGVjdG9yKCJnID4gaW1hZ2UiKTt0aGlzLlNoPXRoaXMucWgucXVlcnlTZWxlY3RvcigiZyA+IHRleHQiKTtkPXZvaWQgMDsodGhpcy5GaD10aGlzLnFoLnF1ZXJ5U2VsZWN0b3IoYC4ke3V5fWApKSYmKGQ9dGhpcy5GaC5nZXRBdHRyaWJ1dGUoImZpbGwiKSk7dGhpcy5MaD1kfHwiIjt0aGlzLnJoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMueWg9Yjt0aGlzLkVpPWM7dGhpcy5yaC5zdHlsZS5zZXRQcm9wZXJ0eSgiZ3JpZC1hcmVhIiwiMiIpO3RoaXMucmguc3R5bGUuZGlzcGxheT0iZmxleCI7dGhpcy5yaC5zdHlsZS5hbGlnbkl0ZW1zPSJjZW50ZXIiO3RoaXMucmguc3R5bGUuanVzdGlmeUNvbnRlbnQ9ImNlbnRlciI7dGhpcy5yaC5hcHBlbmRDaGlsZCh0aGlzLlBoKTtKbmEodGhpcywKKCk9PntfLlRxKHRoaXMsIm1hcHMtcGluLXZpZXciKTt0aGlzLnN0eWxlLmRpc3BsYXk9ImdyaWQiO3RoaXMuc3R5bGUuc2V0UHJvcGVydHkoImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsImF1dG8iKTt0aGlzLnN0eWxlLnNldFByb3BlcnR5KCJncmlkLXRlbXBsYXRlLXJvd3MiLGAke3RoaXMuRWl9cHggYXV0b2ApO3RoaXMuc3R5bGUuc2V0UHJvcGVydHkoImdhcCIsIjBweCIpO3RoaXMuc3R5bGUuc2V0UHJvcGVydHkoImp1c3RpZnktaXRlbXMiLCJjZW50ZXIiKTt0aGlzLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiO3RoaXMuc3R5bGUudXNlclNlbGVjdD0ibm9uZSJ9KTt0aGlzLmJhY2tncm91bmQ9YS5iYWNrZ3JvdW5kO3RoaXMuYm9yZGVyQ29sb3I9YS5ib3JkZXJDb2xvcjt0aGlzLmdseXBoPWEuZ2x5cGg7dGhpcy5nbHlwaENvbG9yPWEuZ2x5cGhDb2xvcjt0aGlzLmdseXBoU3JjPWEuZ2x5cGhTcmM7dGhpcy5nbHlwaFRleHQ9YS5nbHlwaFRleHQ7dGhpcy5zY2FsZT1hLnNjYWxlOwpfLk0od2luZG93LDE0OTU5Nyk7dGhpcy54aShhLF8ueUIsIlBpbkVsZW1lbnQiKX1nZXQgZWxlbWVudCgpe18uZG4oXy5ocCh0aGlzLCJUaGUgYGVsZW1lbnRgIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgdGhlIFBpbkVsZW1lbnQgZGlyZWN0bHkuIikpO3JldHVybiB0aGlzfWdldCBiYWNrZ3JvdW5kKCl7cmV0dXJuIHRoaXMuQmh9c2V0IGJhY2tncm91bmQoYSl7YT1fLmtwKHRoaXMsImJhY2tncm91bmQiLF8uYnMsYSl8fHRoaXMubmk7dGhpcy5CaCE9PWEmJih0aGlzLkJoPWEsdGhpcy5xaC5xdWVyeVNlbGVjdG9yKGAuJHt0eX1gKS5zZXRBdHRyaWJ1dGUoImZpbGwiLHRoaXMuQmgpLHRoaXMuQmg9PT10aGlzLm5pP18uTSh3aW5kb3csMTYwNjYwKTpfLk0od2luZG93LDE2MDY2MikpfWdldCBib3JkZXJDb2xvcigpe3JldHVybiB0aGlzLndofXNldCBib3JkZXJDb2xvcihhKXthPV8ua3AodGhpcywiYm9yZGVyQ29sb3IiLF8uYnMsYSl8fHRoaXMuemk7dGhpcy53aCE9PQphJiYodGhpcy53aD1hLChhPXRoaXMucWgucXVlcnlTZWxlY3RvcihgLiR7c3l9YCkpJiYodGhpcy5zaGFwZT09PSJERUZBVUxUIj9hLnNldEF0dHJpYnV0ZSgiZmlsbCIsdGhpcy53aCk6YS5zZXRBdHRyaWJ1dGUoInN0cm9rZSIsdGhpcy53aCkpLHRoaXMud2g9PT10aGlzLnppP18uTSh3aW5kb3csMTYwNjYzKTpfLk0od2luZG93LDE2MDY2NCkpfWdldCBnbHlwaCgpe3JldHVybiB3eSh0aGlzKX1zZXQgZ2x5cGgoYSl7YT1fLmtwKHRoaXMsImdseXBoIixfLk1tKF8uS20oW18uY3IsXy5FbShFbGVtZW50LCJFbGVtZW50IiksXy5FbShVUkwsIlVSTCIpXSkpLGEpPz9udWxsO3RoaXMuR2ghPT1hJiYoKHRoaXMuR2g9YSkmJmNvbnNvbGUud2FybihfLmhwKHRoaXMsIlRoZSBgZ2x5cGhgIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgYGdseXBoU3JjYCBvciBgZ2x5cGhUZXh0YCBpbnN0ZWFkLiIpKSx4eSh0aGlzKSl9Z2V0IGdseXBoQ29sb3IoKXtyZXR1cm4gdGhpcy54aH1zZXQgZ2x5cGhDb2xvcihhKXthPQpfLmtwKHRoaXMsImdseXBoQ29sb3IiLF8uYnMsYSl8fG51bGw7dGhpcy54aCE9PWEmJih0aGlzLnhoPWEsS25hKHRoaXMpLHRoaXMueGg9PW51bGx8fHRoaXMueGg9PT10aGlzLkxoP18uTSh3aW5kb3csMTYwNjY5KTpfLk0od2luZG93LDE2MDY3MCkpfWdldCBnbHlwaFNyYygpe3JldHVybiB0aGlzLkNofXNldCBnbHlwaFNyYyhhKXthPV8ua3AodGhpcywiZ2x5cGhTcmMiLF8uTW0oXy5LbShbXy5kcyxfLkVtKFVSTCwiVVJMIildKSksYSk/P251bGw7dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9bmV3IFVSTChhLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk7dGhpcy5DaCE9PWEmJih0aGlzLkNoPWEseHkodGhpcykpfWdldCBnbHlwaFRleHQoKXtyZXR1cm4gdGhpcy5EaH1zZXQgZ2x5cGhUZXh0KGEpe2E9Xy5rcCh0aGlzLCJnbHlwaFRleHQiLF8uYnMsYSk/P251bGw7dGhpcy5EaCE9PWEmJih0aGlzLkRoPWEseHkodGhpcykpfWdldCBzY2FsZSgpe3JldHVybiB0aGlzLnNofXNldCBzY2FsZShhKXthPQpfLmtwKHRoaXMsInNjYWxlIixfLk1tKF8uWnIpLGEpO2E9PW51bGwmJihhPTEpO2lmKHRoaXMuc2ghPT1hKXt0aGlzLnNoPWE7dmFyIGI9dGhpcy5nZXRTaXplKCk7dGhpcy5xaC5zZXRBdHRyaWJ1dGUoIndpZHRoIixgJHtiLndpZHRofXB4YCk7dGhpcy5xaC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsYCR7Yi5oZWlnaHR9cHhgKTthPU1hdGgucm91bmQodGhpcy55aCp0aGlzLnNoKTt0aGlzLnJoLnN0eWxlLndpZHRoPWAke2F9cHhgO3RoaXMucmguc3R5bGUuaGVpZ2h0PWAke2F9cHhgO3RoaXMudGguc2V0QXR0cmlidXRlKCJ3aWR0aCIsYCR7dGhpcy55aH1weGApO3RoaXMudGguc2V0QXR0cmlidXRlKCJoZWlnaHQiLGAke3RoaXMueWh9cHhgKTthPWZyYVt0aGlzLnNoYXBlXTt0aGlzLnRoLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlKCR7LSh0aGlzLnloLzIrYS54KX1weCwgJHstKHRoaXMueWgvMithLnkpfXB4KWA7Sm5hKHRoaXMsKCk9Pnt0aGlzLnN0eWxlLndpZHRoPWAke2Iud2lkdGh9cHhgOwp0aGlzLnN0eWxlLmhlaWdodD1gJHtiLmhlaWdodH1weGA7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgiZ3JpZC10ZW1wbGF0ZS1yb3dzIixgJHt0aGlzLkVpKnRoaXMuc2h9cHggYXV0b2ApfSk7dGhpcy5zaD09PTE/Xy5NKHdpbmRvdywxNjA2NzEpOl8uTSh3aW5kb3csMTYwNjcyKX19Z2V0QW5jaG9yKCl7cmV0dXJuIG5ldyBfLmJvKHRoaXMuZ2V0U2l6ZSgpLndpZHRoLzIsdGhpcy5nZXRTaXplKCkuaGVpZ2h0LTEqdGhpcy5zaCl9Z2V0U2l6ZSgpe3JldHVybiBuZXcgXy5nbyhNYXRoLnJvdW5kKHRoaXMuWmkqdGhpcy5zaC8yKSoyLE1hdGgucm91bmQodGhpcy5XaSp0aGlzLnNoLzIpKjIpfXVwZGF0ZShhKXtzdXBlci51cGRhdGUoYSk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiZ21wLWludGVybmFsLXBpbmNoYW5nZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO3RoaXMuUGsuYXBwZW5kKHRoaXMucWgsCnRoaXMucmgpfX07Xy55Qi5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy55Qi5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy55Qi5JaT17S2k6MTgyNDgxLEppOjE4MjQ4Mn07dmFyIHhCPW51bGwsd0I9bnVsbCx2Qj1udWxsO18uRChbXy50cSh7S2g6ImJhY2tncm91bmQiLHR5cGU6U3RyaW5nLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLF8ueUIucHJvdG90eXBlLCJiYWNrZ3JvdW5kIixudWxsKTtfLkQoW18udHEoe0toOiJib3JkZXItY29sb3IiLHR5cGU6U3RyaW5nLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLF8ueUIucHJvdG90eXBlLCJib3JkZXJDb2xvciIsbnVsbCk7Cl8uRChbXy50cSgpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxfLnlCLnByb3RvdHlwZSwiZ2x5cGgiLG51bGwpO18uRChbXy50cSh7S2g6ImdseXBoLWNvbG9yIix0eXBlOlN0cmluZyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxfLnlCLnByb3RvdHlwZSwiZ2x5cGhDb2xvciIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoiZ2x5cGgtc3JjIixOaDohMCx0eXBlOlN0cmluZyxmaTpfLmx3LG5qOl8uaW1hfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLF8ueUIucHJvdG90eXBlLCJnbHlwaFNyYyIsbnVsbCk7Cl8uRChbXy50cSh7S2g6ImdseXBoLXRleHQiLHR5cGU6U3RyaW5nLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLF8ueUIucHJvdG90eXBlLCJnbHlwaFRleHQiLG51bGwpO18uRChbXy50cSh7S2g6InNjYWxlIix0eXBlOk51bWJlcixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxfLnlCLnByb3RvdHlwZSwic2NhbGUiLG51bGwpO18ueG8oImdtcC1waW4iLF8ueUIpO18uZ3JhPVN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKTtfLmhyYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPWF9Z2V0KGEpe3ZhciBiPXN1cGVyLmdldChhKTtyZXR1cm4gYiE9bnVsbD9iOnRoaXMucWhbYV19fTt2YXIgU25hPWNsYXNzIGV4dGVuZHMgXy50QntyaCgpe3JldHVyblsuLi5pcmEsLi4uc3VwZXIucmgoKV19fSxpcmE9W107dmFyIFVuYTtfLkZ5PSExO1VuYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLlNrPWEuSG8oKTt0aGlzLnFoPURhdGUubm93KCkrMjdFNX19O18uekI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5lbGVtZW50PWE7dGhpcy50aD0iIjt0aGlzLlprPSExO3RoaXMucWg9KCk9PnZvaWQgXy5KeSh0aGlzLHRoaXMuWmspOyh0aGlzLk5xPWR8fG51bGwpJiZ0aGlzLk5xLmFkZExpc3RlbmVyKHRoaXMucWgpO3RoaXMuc2g9Yjt0aGlzLnNoLmFkZExpc3RlbmVyKHRoaXMucWgpO3RoaXMucmg9Yzt0aGlzLnJoLmFkZExpc3RlbmVyKHRoaXMucWgpO18uSnkodGhpcyx0aGlzLlprKX19O18uVm5hPWB1cmwoJHtfLlVBfW9wZW5oYW5kXzhfOC5jdXIpLCBkZWZhdWx0YDtfLkl5PWB1cmwoJHtfLlVBfWNsb3NlZGhhbmRfOF84LmN1ciksIG1vdmVgO18uanJhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucmg9Xy52dygiZGl2IixhLmJvZHksbmV3IF8uYm8oMCwtMikpO3RoaXMucmguc3R5bGUuaGVpZ2h0PSIxcHgiO3RoaXMucmguc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7dGhpcy5yaC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3RoaXMucmguc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjt0aGlzLnJoLnN0eWxlLndpZHRoPSIxcHgiO3RoaXMucWg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3RoaXMucmguYXBwZW5kQ2hpbGQodGhpcy5xaCk7dGhpcy5xaC50ZXh0Q29udGVudD0iQkVTYnN3eSI7dGhpcy5xaC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO3RoaXMucWguc3R5bGUuZm9udFNpemU9IjMwMHB4Ijt0aGlzLnFoLnN0eWxlLndpZHRoPSJhdXRvIjt0aGlzLnFoLnN0eWxlLmhlaWdodD0iYXV0byI7dGhpcy5xaC5zdHlsZS5tYXJnaW49IjAiO3RoaXMucWguc3R5bGUucGFkZGluZz0KIjAiO3RoaXMucWguc3R5bGUuZm9udEZhbWlseT0iQXJpYWwsc2Fucy1zZXJpZiI7dGhpcy50aD10aGlzLnFoLm9mZnNldFdpZHRoO3RoaXMucWguc3R5bGUuZm9udEZhbWlseT0iUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWYiO3RoaXMuc2goKTt0aGlzLmdldCgiZm9udExvYWRlZCIpfHx0aGlzLnNldCgiZm9udExvYWRlZCIsITEpfXNoKCl7dGhpcy5xaC5vZmZzZXRXaWR0aCE9PXRoaXMudGg/KHRoaXMuc2V0KCJmb250TG9hZGVkIiwhMCksXy55bCh0aGlzLnJoKSk6d2luZG93LnNldFRpbWVvdXQodGhpcy5zaC5iaW5kKHRoaXMpLDI1MCl9fTt2YXIgWG5hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnFoPWE7dGhpcy5xbj1iO3RoaXMuTXM9Y3x8bnVsbH1abygpe2NsZWFyVGltZW91dCh0aGlzLnFuKX19O18uQUI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VXJsKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXNldFVybChhKXtyZXR1cm4gXy5paCh0aGlzLDEsYSl9fTtfLkFCLnByb3RvdHlwZS5LbT1fLmhhKDM3KTt2YXIga3JhPV8uJGkoXy5BQixbMCxfLlUsLTQsdnFhLHVxYSxfLlIsOTEsXy5VLC0xLF8uR3IsXy5VLF8uUl0pO3ZhciBscmE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0U3RhdHVzKCl7cmV0dXJuIF8uUGcodGhpcywzLC0xKX19O3ZhciBtcmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9Xy54dygpLGM9Xy5KbD8ueGgoKT8/bnVsbCxkPV8uSmw/LnloKCk/P251bGwsZT1fLkpsPy50aCgpPz9udWxsO3RoaXMucmg9bnVsbDt0aGlzLnRoPSExO3RoaXMuc2g9Zm1hKGY9Pnt2YXIgZz0obmV3IF8uQUIpLnNldFVybChiLnN1YnN0cmluZygwLDEwMjQpKTtkJiZfLmloKGcsMyxkKTtjJiZfLmloKGcsMixjKTtlJiZfLmloKGcsNCxlKTt0aGlzLnJoJiZfLkt2KF8ud2coZyxzcWEsNyksdGhpcy5yaCk7Xy4kZyhnLDgsdGhpcy50aCk7aWYoIWMmJiFlKXtsZXQgaD1fLlVhLnNlbGY9PT1fLlVhLnRvcCYmYnx8bG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zJiZsb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNbMF18fGRvY3VtZW50LnJlZmVycmVyfHwidW5kZWZpbmVkIjtoPWguc2xpY2UoMCwxMDI0KTtfLmloKGcsNSxoKX1hKGcsaD0+e18uaXc9ITA7dmFyIGs9Xy5HKF8uSmwsXy5ucSw0MCkuZ2V0U3RhdHVzKCk7az1fLkpnKGgsCjEpfHxoLmdldFN0YXR1cygpIT09MHx8az09PTI7aWYoIWspe18ucXkoKTt2YXIgbT1fLkcoaCxfLm5xLDYpO209Xy5wdShtLDMpP18uRyhoLF8ubnEsNikucmgoKTpfLnB5KCk7aD1fLlBnKGgsMiwtMSk7aWYoaD09PTB8fGg9PT0xMyl7bGV0IHA9ZG1hKF8ueHcoKSkudG9TdHJpbmcoKTtwLmluZGV4T2YoImZpbGU6LyIpPT09MCYmaD09PTEzJiYocD1wLnJlcGxhY2UoImZpbGU6LyIsIl9fZmlsZV91cmxfXyIpKTttKz0iXG5Zb3VyIHNpdGUgVVJMIHRvIGJlIGF1dGhvcml6ZWQ6ICIrcH1fLnJtKG0pO18uVWEuZ21fYXV0aEZhaWx1cmUmJl8uVWEuZ21fYXV0aEZhaWx1cmUoKX1fLmt3KCk7ZiYmZihrKX0pfSl9cWgoYT1udWxsKXt0aGlzLnJoPWE7dGhpcy50aD0hMTt0aGlzLnNoKCgpPT57fSl9fTt2YXIgbnJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8uQkIsYz1fLnh3KCksZD1fLkpsPy54aCgpPz9udWxsLGU9Xy5KbD8udGgoKT8/bnVsbCxmPV8uSmw/LnloKCk/P251bGw7dGhpcy56aD1hO3RoaXMueGg9Yjt0aGlzLndoPSExO3RoaXMucmg9bmV3IF8uVEE7dGhpcy5yaC5zZXRVcmwoYy5zdWJzdHJpbmcoMCwxMDI0KSk7dmFyIGc7Xy5KbCYmXy5TZihfLkpsLF8ubnEsNDApP2c9Xy5HKF8uSmwsXy5ucSw0MCk6Zz1fLm52KG5ldyBfLm5xLDEpO3RoaXMuc2g9Xy5tbyhnLCExKTtfLnF2KHRoaXMuc2gsaD0+e18ucHUoaCwzKSYmXy5ybShoLnJoKCkpfSk7ZiYmXy5paCh0aGlzLnJoLDksZik7ZD9fLmloKHRoaXMucmgsMixkKTplJiZfLmloKHRoaXMucmgsMyxlKX10aChhKXt2YXIgYj10aGlzLnNoLmdldCgpLGM9Yi5nZXRTdGF0dXMoKT09PTI7dGhpcy5zaC5zZXQoYz9iOmEpfXFoKGEpe3ZhciBiPWM9PntjLmdldFN0YXR1cygpPT09MiYmYShjKTsoYy5nZXRTdGF0dXMoKT09PQoyfHxfLmp3KSYmdGhpcy5zaC5yZW1vdmVMaXN0ZW5lcihiKX07Xy5xdih0aGlzLnNoLGIpfX07dmFyIENCLEVCO2lmKF8uSmwpe3ZhciBvcmE9Xy5KbC5yaCgpO0NCPV8uSmcob3JhLDQpfWVsc2UgQ0I9ITE7Xy5EQj1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfUlqKCl7cmV0dXJuIHRoaXMucWh9c2V0UG9zaXRpb24oYSxiKXtfLnV3KGEsYix0aGlzLklqKCkpfX0oQ0IpO2lmKF8uSmwpe3ZhciBwcmE9Xy5KbC5yaCgpO0VCPV8uSChwcmEsOSl9ZWxzZSBFQj0iIjtfLkZCPUVCO18ucXJhPSJodHRwczovL3d3dy5nb29nbGUuY29tIisoXy5KbD9bIi9pbnRsLyIsXy5KbC5yaCgpLnJoKCksIl8iLF8uSmwucmgoKS50aCgpXS5qb2luKCIiKToiIikrIi9oZWxwL3Rlcm1zX21hcHMuaHRtbCI7Cl8uQkI9bmV3IG1yYSgoYSxiKT0+e18uS3koXy5lcixfLlZBKyIvbWFwcy9hcGkvanMvQXV0aGVudGljYXRpb25TZXJ2aWNlLkF1dGhlbnRpY2F0ZSIsXy5kcixfLlJqKGEsa3JhKCkpLGM9PntjPW5ldyBscmEoYyk7YihjKX0sKCk9Pnt2YXIgYz1uZXcgbHJhO2M9Xy5raChjLDMsMSk7YihjKX0pfSk7Xy5ycmE9bmV3IG5yYSgoYSxiKT0+e18uS3koXy5lcixEcWErIi9tYXBzL2FwaS9qcy9RdW90YVNlcnZpY2UuUmVjb3JkRXZlbnQiLF8uZHIsXy5SaihhLEJxYSgpKSxjPT57Yz1uZXcgQ3FhKGMpO2IoYyl9LCgpPT57dmFyIGM9bmV3IENxYTtjPV8ua2goYywxLDEpO2IoYyl9KX0pO18uc3JhPV8uVGwoKCk9Pnt2YXIgYT1bImFjdHVhbEJvdW5kaW5nQm94QXNjZW50IiwiYWN0dWFsQm91bmRpbmdCb3hEZXNjZW50IiwiYWN0dWFsQm91bmRpbmdCb3hMZWZ0IiwiYWN0dWFsQm91bmRpbmdCb3hSaWdodCJdO3JldHVybiB0eXBlb2YgXy5VYS5UZXh0TWV0cmljcz09PSJmdW5jdGlvbiImJmEuZXZlcnkoYj0+Xy5VYS5UZXh0TWV0cmljcy5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoYikpfSk7Xy50cmE9Xy5UbCgoKT0+e3RyeXtpZih0eXBlb2YgV2ViQXNzZW1ibHk9PT0ib2JqZWN0IiYmdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlPT09ImZ1bmN0aW9uIil7bGV0IGE9TmthKCksYj1uZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGEpO3JldHVybiBiIGluc3RhbmNlb2YgV2ViQXNzZW1ibHkuTW9kdWxlJiZuZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoYilpbnN0YW5jZW9mIFdlYkFzc2VtYmx5Lkluc3RhbmNlfX1jYXRjaChhKXt9cmV0dXJuITF9KTsKXy51cmE9Xy5UbCgoKT0+IldvcmtlciJpbiBfLlVhKTt2YXIgdnJhLHdyYSx4cmE7Xy5HQj1bXTtfLkdCWzMwNDJdPTA7Xy5HQlsyODg0XT0xO18uR0JbMjkyOV09MjtfLkdCWzMwMjRdPTM7Xy5HQlszMjgyM109NDtfLkdCWzMyOTI2XT01O18uR0JbMzI5MjhdPTY7Xy5HQlszMDg5XT03O18uR0JbMjk2MF09ODtfLkhCPTE1Mjt2cmE9Xy5IQiszMjt3cmE9dnJhKzQ7Xy5JQj12cmEvMjtfLkpCPVtdO18uSkJbMzMxN109MDtfLkpCWzMzMzNdPTE7Xy5KQlszNzQ0MF09MjtfLkpCWzM3NDQxXT0zO18uSkJbMzc0NDNdPTQ7eHJhPXdyYSsxMjtfLktCPXdyYS8yO18ueXJhPXhyYSs0O18uTEI9eHJhLzI7Xy56cmE9Y2xhc3MgZXh0ZW5kcyBFcnJvcnt9O3ZhciBNQjt2YXIgQXJhLFZsYTtBcmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXtiPWJ8fGE7dGhpcy5tYXBQYW5lPU15KGEsMCk7dGhpcy5vdmVybGF5TGF5ZXI9TXkoYSwxKTt0aGlzLm92ZXJsYXlTaGFkb3c9TXkoYSwyKTt0aGlzLm1hcmtlckxheWVyPU15KGEsMyk7dGhpcy5vdmVybGF5SW1hZ2U9TXkoYiw0KTt0aGlzLmZsb2F0U2hhZG93PU15KGIsNSk7dGhpcy5vdmVybGF5TW91c2VUYXJnZXQ9TXkoYiw2KTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTt0aGlzLm92ZXJsYXlNb3VzZVRhcmdldC5hcHBlbmRDaGlsZChhKTt0aGlzLmZsb2F0UGFuZT1NeShiLDcpfX07Cl8uQnJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPWEuY29udGFpbmVyLGM9YS5nSCxkO2lmKGQ9Yyl7YTp7ZD1fLkFsKGMpO2lmKGQuZGVmYXVsdFZpZXcmJmQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKGQ9ZC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGMsbnVsbCkpKXtkPWQucG9zaXRpb258fGQuZ2V0UHJvcGVydHlWYWx1ZSgicG9zaXRpb24iKXx8IiI7YnJlYWsgYX1kPSIifWQ9ZCE9ImFic29sdXRlIn1kJiYoYy5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTtiIT1jJiYoYi5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGIuc3R5bGUubGVmdD1iLnN0eWxlLnRvcD0iMCIpO2lmKChkPWEuYmFja2dyb3VuZENvbG9yKXx8IWIuc3R5bGUuYmFja2dyb3VuZENvbG9yKWIuc3R5bGUuYmFja2dyb3VuZENvbG9yPWR8fChhLmV3PyIjMjAyMTI0IjoiI2U1ZTNkZiIpO2Muc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7Yz1fLndsKCJESVYiKTtkPV8ud2woIkRJViIpOwp2YXIgZT1hLnBLP18ud2woIkRJViIpOmQ7Yy5zdHlsZS5wb3NpdGlvbj1kLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Yy5zdHlsZS50b3A9ZC5zdHlsZS50b3A9Yy5zdHlsZS5sZWZ0PWQuc3R5bGUubGVmdD1jLnN0eWxlLnpJbmRleD1kLnN0eWxlLnpJbmRleD0iMCI7ZS50YWJJbmRleD1hLlVOPzA6LTE7dmFyIGY9Ik1hcCI7QXJyYXkuaXNBcnJheShmKSYmKGY9Zi5qb2luKCIgIikpO2Y9PT0iInx8Zj09dm9pZCAwPyhNQnx8KE1CPXthdG9taWM6ITEsYXV0b2NvbXBsZXRlOiJub25lIixkcm9wZWZmZWN0OiJub25lIixoYXNwb3B1cDohMSxsaXZlOiJvZmYiLG11bHRpbGluZTohMSxtdWx0aXNlbGVjdGFibGU6ITEsb3JpZW50YXRpb246InZlcnRpY2FsIixyZWFkb25seTohMSxyZWxldmFudDoiYWRkaXRpb25zIHRleHQiLHJlcXVpcmVkOiExLHNvcnQ6Im5vbmUiLGJ1c3k6ITEsZGlzYWJsZWQ6ITEsaGlkZGVuOiExLGludmFsaWQ6ImZhbHNlIn0pLGY9TUIsImxhYmVsImluIGY/CmUuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixmLmxhYmVsKTplLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpKTplLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZik7WGxhKGUpO2Uuc2V0QXR0cmlidXRlKCJyb2xlIiwicmVnaW9uIik7TnkoYyk7TnkoZCk7YS5wSyYmKE55KGUpLGIuYXBwZW5kQ2hpbGQoZSkpO2IuYXBwZW5kQ2hpbGQoYyk7Yy5hcHBlbmRDaGlsZChkKTtfLkJ6KGRvYSxiKTtfLnF3KGMsImdtLXN0eWxlIik7dGhpcy5lcT1fLndsKCJESVYiKTt0aGlzLmVxLnN0eWxlLnpJbmRleD0xO2QuYXBwZW5kQ2hpbGQodGhpcy5lcSk7YS5rRj9jb2EodGhpcy5lcSk6KHRoaXMuZXEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLmVxLnN0eWxlLmxlZnQ9dGhpcy5lcS5zdHlsZS50b3A9IjAiLHRoaXMuZXEuc3R5bGUud2lkdGg9IjEwMCUiKTt0aGlzLnJoPW51bGw7YS5WRyYmKHRoaXMubnQ9Xy53bCgiRElWIiksdGhpcy5udC5zdHlsZS56SW5kZXg9MyxkLmFwcGVuZENoaWxkKHRoaXMubnQpLApOeSh0aGlzLm50KSx0aGlzLnJoPV8ud2woIkRJViIpLHRoaXMucmguc3R5bGUuekluZGV4PTQsZC5hcHBlbmRDaGlsZCh0aGlzLnJoKSxOeSh0aGlzLnJoKSx0aGlzLk1xPV8ud2woIkRJViIpLHRoaXMuTXEuc3R5bGUuekluZGV4PTQsYS5rRj8odGhpcy5udC5hcHBlbmRDaGlsZCh0aGlzLk1xKSxjb2EodGhpcy5NcSkpOihkLmFwcGVuZENoaWxkKHRoaXMuTXEpLHRoaXMuTXEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLk1xLnN0eWxlLmxlZnQ9dGhpcy5NcS5zdHlsZS50b3A9IjAiLHRoaXMuTXEuc3R5bGUud2lkdGg9IjEwMCUiKSk7dGhpcy5acD1kO3RoaXMucWg9Yzt0aGlzLkhqPWU7dGhpcy5ubj1uZXcgQXJhKHRoaXMuZXEsdGhpcy5NcSl9fTtWbGE9W2Z1bmN0aW9uKGEpe3JldHVybiBuZXcgV2xhKGFbMF0udG9Mb3dlckNhc2UoKSl9YGFyaWEtcm9sZWRlc2NyaXB0aW9uYF07Xy5DcmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5Raz1kO3RoaXMucWg9Xy53bCgiRElWIik7dGhpcy50aD1fLmF5KCk7YS5hcHBlbmRDaGlsZCh0aGlzLnFoKTt0aGlzLnFoLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7dGhpcy5xaC5zdHlsZS50b3A9dGhpcy5xaC5zdHlsZS5sZWZ0PSIwIjt0aGlzLnFoLnN0eWxlLnpJbmRleD1TdHJpbmcoYik7dGhpcy5zaD1jLmJvdW5kczt0aGlzLnJoPWMuc2l6ZTthPV8ud2woIkRJViIpO3RoaXMucWguYXBwZW5kQ2hpbGQoYSk7YS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiO2Euc3R5bGUudG9wPWEuc3R5bGUubGVmdD0iMCI7YS5hcHBlbmRDaGlsZChjLmltYWdlKX10aShhLGIsYyxkLGUsZixnLGgpe2E9Xy53dih0aGlzLlFrLHRoaXMuc2gubWluLGYpO2Y9Xy50dihhLF8udXYodGhpcy5zaC5tYXgsdGhpcy5zaC5taW4pKTtiPV8udXYoYSxiKTtpZihjLnFoKXtsZXQgaz1NYXRoLnBvdygyLF8uenYoYykpO2M9Yy5xaC5KSChfLnp2KGMpLAplLGQsZyxiLGsqKGYucWgtYS5xaCkvdGhpcy5yaC53aWR0aCxrKihmLnJoLWEucmgpL3RoaXMucmguaGVpZ2h0KX1lbHNlIGQ9Xy54dihfLnl2KGMsYikpLGU9Xy55dihjLGEpLGc9Xy55dihjLG5ldyBfLldwKGYucWgsYS5yaCkpLGM9Xy55dihjLG5ldyBfLldwKGEucWgsZi5yaCkpLGM9Im1hdHJpeCgiK1N0cmluZygoZy5YaC1lLlhoKS90aGlzLnJoLndpZHRoKSsiLCIrU3RyaW5nKChnLlloLWUuWWgpL3RoaXMucmgud2lkdGgpKyIsIitTdHJpbmcoKGMuWGgtZS5YaCkvdGhpcy5yaC5oZWlnaHQpKyIsIitTdHJpbmcoKGMuWWgtZS5ZaCkvdGhpcy5yaC5oZWlnaHQpKyIsIitTdHJpbmcoZC5YaCkrIiwiK1N0cmluZyhkLlloKSsiKSI7dGhpcy5xaC5zdHlsZVt0aGlzLnRoXT1jO3RoaXMucWguc3R5bGUud2lsbENoYW5nZT1oLlZyPyIiOiJ0cmFuc2Zvcm0ifWRpc3Bvc2UoKXtfLnlsKHRoaXMucWgpfX07Xy5EcmE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnFoPW5ldyBfLmJvKDAsMCl9ZnJvbUxhdExuZ1RvQ29udGFpbmVyUGl4ZWwoYSl7dmFyIGI9dGhpcy5nZXQoInByb2plY3Rpb25Ub3BMZWZ0Iik7cmV0dXJuIGI/ZW9hKHRoaXMsYSxiLngsYi55KTpudWxsfWZyb21MYXRMbmdUb0RpdlBpeGVsKGEpe3ZhciBiPXRoaXMuZ2V0KCJvZmZzZXQiKTtyZXR1cm4gYj9lb2EodGhpcyxhLGIud2lkdGgsYi5oZWlnaHQpOm51bGx9ZnJvbURpdlBpeGVsVG9MYXRMbmcoYSxiPSExKXt2YXIgYz10aGlzLmdldCgib2Zmc2V0Iik7cmV0dXJuIGM/Zm9hKHRoaXMsYSxjLndpZHRoLGMuaGVpZ2h0LCJEaXYiLGIpOm51bGx9ZnJvbUNvbnRhaW5lclBpeGVsVG9MYXRMbmcoYSxiPSExKXt2YXIgYz10aGlzLmdldCgicHJvamVjdGlvblRvcExlZnQiKTtyZXR1cm4gYz9mb2EodGhpcyxhLGMueCxjLnksIkNvbnRhaW5lciIsYik6bnVsbH1nZXRXb3JsZFdpZHRoKCl7cmV0dXJuIF8ub3codGhpcy5nZXQoInByb2plY3Rpb24iKSwKdGhpcy5nZXQoInpvb20iKSl9Z2V0VmlzaWJsZVJlZ2lvbigpe3JldHVybiBudWxsfX07Xy5OQj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmZlYXR1cmU9YX1rcCgpe3JldHVybiB0aGlzLmZlYXR1cmUua3AoKX1PQSgpe3JldHVybiB0aGlzLmZlYXR1cmUuT0EoKX19O18uTkIucHJvdG90eXBlLmdldExlZ2VuZGFyeVRhZ3M9Xy5OQi5wcm90b3R5cGUuT0E7Xy5OQi5wcm90b3R5cGUuZ2V0RmVhdHVyZVR5cGU9Xy5OQi5wcm90b3R5cGUua3A7Xy5PQj1jbGFzcyBleHRlbmRzIF8ubWt7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy55aD1jIT1udWxsP2EuYmluZChjKTphO3RoaXMueGg9Yjt0aGlzLnRoPW51bGw7dGhpcy5yaD0hMTt0aGlzLnNoPTA7dGhpcy5xaD1udWxsfXN0b3AoKXt0aGlzLnFoJiYoXy5VYS5jbGVhclRpbWVvdXQodGhpcy5xaCksdGhpcy5xaD1udWxsLHRoaXMucmg9ITEsdGhpcy50aD1udWxsKX1wYXVzZSgpe3RoaXMuc2grK31yZXN1bWUoKXt0aGlzLnNoLS07dGhpcy5zaHx8IXRoaXMucmh8fHRoaXMucWh8fCh0aGlzLnJoPSExLF8uT3kodGhpcykpfUJrKCl7c3VwZXIuQmsoKTt0aGlzLnN0b3AoKX19O18uT0IucHJvdG90eXBlLndoPV8uaGEoNTQpO30pOwo="}},"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":"primeelitecapital.com/stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.132Z","timestamp":1785154928132,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/style.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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 404 \r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\npriority: u=2,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=I03bKxxM5q%2Fc%2FzP8MWlIBDIXl7jMo4ADMMHJ%2Bl4sHQABDqxpGIKese3T%2FSJFPNrIrRyixz9qY44wwijBTFqo%2FFsv60GLh1fExRqieY1MPmhg0x7oqUO4auyNIpsVcqLqYiYWNHYt6Fs%3D\"}]}\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\ncf-cache-status: BYPASS\r\ncontent-encoding: zstd\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21b9b9cddb5b28a-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"404","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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6609,"size_decoded":2915,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (5395)","md5":"307dca9c775906b8de45869cabe98fcd","sha1":"2b80c3a2fd4a235b2cc9f89315a554d0721c0dd1","sha256":"8437bd0ef46a19c9a7c294c53e0429b40e76ebbd5fe9fd73a9025752495ddb1c","sha512":"80c03f7add3a33a5df7b1f1665253283550dac484d26339ecd85672fb506dce44bd0bf96275d5c41a2e7369c3b604de377b7f5985d7d0d76c7ac663d60a67a1c","ssdeep":"96:k2J/SNi/FLQVTLKCGWz5ln59Jy0jRdoMVZTdI5:k2pV2RKCxDnxyTMVZT0","tlshash":"d9d1975fdac5101e60d385b7e8d4ea4c8916aac3de234bdbb54f7915cf8038719a361c","first_seen":"2023-03-10T04:10:06Z","last_seen":"2026-08-10T18:45:42.1833Z","times_seen":4782,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgoKICAgICAgICA8dGl0bGU+Tm90IEZvdW5kPC90aXRsZT4KCiAgICAgICAgPCEtLSBGb250cyAtLT4KICAgICAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iPgogICAgICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TnVuaXRvJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovaHRtbHtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWNvZGV7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX1odG1se2ZvbnQtZmFtaWx5OnN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sSGVsdmV0aWNhIE5ldWUsQXJpYWwsTm90byBTYW5zLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7bGluZS1oZWlnaHQ6MS41fSosOmFmdGVyLDpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkICNlMmU4ZjB9YXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWNvZGV7Zm9udC1mYW1pbHk6TWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2V9c3ZnLHZpZGVve2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfXZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5iZy13aGl0ZXstLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LHZhcigtLWJnLW9wYWNpdHkpKX0uYmctZ3JheS0xMDB7LS1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojZjdmYWZjO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDcsMjUwLDI1Mix2YXIoLS1iZy1vcGFjaXR5KSl9LmJvcmRlci1ncmF5LTIwMHstLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOiNlZGYyZjc7Ym9yZGVyLWNvbG9yOnJnYmEoMjM3LDI0MiwyNDcsdmFyKC0tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLWdyYXktNDAwey0tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6I2NiZDVlMDtib3JkZXItY29sb3I6cmdiYSgyMDMsMjEzLDIyNCx2YXIoLS1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItdHtib3JkZXItdG9wLXdpZHRoOjFweH0uYm9yZGVyLXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0uaC01e2hlaWdodDoxLjI1cmVtfS5oLTh7aGVpZ2h0OjJyZW19LmgtMTZ7aGVpZ2h0OjRyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtfS5sZWFkaW5nLTd7bGluZS1oZWlnaHQ6MS43NXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5tbC0xe21hcmdpbi1sZWZ0Oi4yNXJlbX0ubXQtMnttYXJnaW4tdG9wOi41cmVtfS5tci0ye21hcmdpbi1yaWdodDouNXJlbX0ubWwtMnttYXJnaW4tbGVmdDouNXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm1sLTR7bWFyZ2luLWxlZnQ6MXJlbX0ubXQtOHttYXJnaW4tdG9wOjJyZW19Lm1sLTEye21hcmdpbi1sZWZ0OjNyZW19Li1tdC1weHttYXJnaW4tdG9wOi0xcHh9Lm1heC13LXhse21heC13aWR0aDozNnJlbX0ubWF4LXctNnhse21heC13aWR0aDo3MnJlbX0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59LnAtNntwYWRkaW5nOjEuNXJlbX0ucHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnB4LTR7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5weC02e3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LnB0LTh7cGFkZGluZy10b3A6MnJlbX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS50b3AtMHt0b3A6MH0ucmlnaHQtMHtyaWdodDowfS5zaGFkb3d7Ym94LXNoYWRvdzowIDFweCAzcHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAycHggMCByZ2JhKDAsMCwwLC4wNil9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWdyYXktMjAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2VkZjJmNztjb2xvcjpyZ2JhKDIzNywyNDIsMjQ3LHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktMzAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2UyZThmMDtjb2xvcjpyZ2JhKDIyNiwyMzIsMjQwLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNDAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2NiZDVlMDtjb2xvcjpyZ2JhKDIwMywyMTMsMjI0LHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNTAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6I2EwYWVjMDtjb2xvcjpyZ2JhKDE2MCwxNzQsMTkyLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNjAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6IzcxODA5Njtjb2xvcjpyZ2JhKDExMywxMjgsMTUwLHZhcigtLXRleHQtb3BhY2l0eSkpfS50ZXh0LWdyYXktNzAwey0tdGV4dC1vcGFjaXR5OjE7Y29sb3I6IzRhNTU2ODtjb2xvcjpyZ2JhKDc0LDg1LDEwNCx2YXIoLS10ZXh0LW9wYWNpdHkpKX0udGV4dC1ncmF5LTkwMHstLXRleHQtb3BhY2l0eToxO2NvbG9yOiMxYTIwMmM7Y29sb3I6cmdiYSgyNiwzMiw0NCx2YXIoLS10ZXh0LW9wYWNpdHkpKX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS50cmFja2luZy13aWRlcntsZXR0ZXItc3BhY2luZzouMDVlbX0udy01e3dpZHRoOjEuMjVyZW19LnctOHt3aWR0aDoycmVtfS53LWF1dG97d2lkdGg6YXV0b30uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgIHNwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QC13ZWJraXQta2V5ZnJhbWVzIHBpbmd7MCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX03NSUsdG97dHJhbnNmb3JtOnNjYWxlKDIpO29wYWNpdHk6MH19QGtleWZyYW1lcyAgcGluZ3swJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTc1JSx0b3t0cmFuc2Zvcm06c2NhbGUoMik7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzICBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLDEsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjgsMCwxLDEpfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjIsMSl9fUBrZXlmcmFtZXMgIGJvdW5jZXswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjUlKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC44LDAsMSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguOCwwLDEsMSl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOi41cmVtfS5zbVw6YmxvY2t7ZGlzcGxheTpibG9ja30uc21cOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXDpqdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5zbVw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVw6aC0yMHtoZWlnaHQ6NXJlbX0uc21cOm1sLTB7bWFyZ2luLWxlZnQ6MH0uc21cOnB4LTZ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0uc21cOnB0LTB7cGFkZGluZy10b3A6MH0uc21cOnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnNtXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubWRcOmJvcmRlci10LTB7Ym9yZGVyLXRvcC13aWR0aDowfS5tZFw6Ym9yZGVyLWx7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey5sZ1w6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7LmRhcmtcOmJnLWdyYXktODAwey0tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzJkMzc0ODtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDUsNTUsNzIsdmFyKC0tYmctb3BhY2l0eSkpfS5kYXJrXDpiZy1ncmF5LTkwMHstLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMxYTIwMmM7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI2LDMyLDQ0LHZhcigtLWJnLW9wYWNpdHkpKX0uZGFya1w6Ym9yZGVyLWdyYXktNzAwey0tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6IzRhNTU2ODtib3JkZXItY29sb3I6cmdiYSg3NCw4NSwxMDQsdmFyKC0tYm9yZGVyLW9wYWNpdHkpKX0uZGFya1w6dGV4dC13aGl0ZXstLXRleHQtb3BhY2l0eToxO2NvbG9yOiNmZmY7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSx2YXIoLS10ZXh0LW9wYWNpdHkpKX0uZGFya1w6dGV4dC1ncmF5LTQwMHstLXRleHQtb3BhY2l0eToxO2NvbG9yOiNjYmQ1ZTA7Y29sb3I6cmdiYSgyMDMsMjEzLDIyNCx2YXIoLS10ZXh0LW9wYWNpdHkpKX19CiAgICAgICAgPC9zdHlsZT4KCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgICBib2R5IHsKICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTnVuaXRvJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICA8L2hlYWQ+CiAgICA8Ym9keSBjbGFzcz0iYW50aWFsaWFzZWQiPgogICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIGZsZXggaXRlbXMtdG9wIGp1c3RpZnktY2VudGVyIG1pbi1oLXNjcmVlbiBiZy1ncmF5LTEwMCBkYXJrOmJnLWdyYXktOTAwIHNtOml0ZW1zLWNlbnRlciBzbTpwdC0wIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXcteGwgbXgtYXV0byBzbTpweC02IGxnOnB4LTgiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcHQtOCBzbTpqdXN0aWZ5LXN0YXJ0IHNtOnB0LTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB4LTQgdGV4dC1sZyB0ZXh0LWdyYXktNTAwIGJvcmRlci1yIGJvcmRlci1ncmF5LTQwMCB0cmFja2luZy13aWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDQwNCAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLTQgdGV4dC1sZyB0ZXh0LWdyYXktNTAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdCBGb3VuZCAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2JvZHk+CjwvaHRtbD4K"}},"time_used":237,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":237,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/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://primeelitecapital.com/","date":"2026-07-27T12:22:08.408Z","timestamp":1785154928408,"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.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/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://primeelitecapital.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: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 429084\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":20284,"size_decoded":4819,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-11T11:38:13.450367Z","times_seen":19905,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":65,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":16,"receive":0,"ssl":32},"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://primeelitecapital.com/","date":"2026-07-27T12:22:08.542Z","timestamp":1785154928542,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://primeelitecapital.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 12:22:15 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: k8xQDNopQ3R6QsRhHyni5WAB83kbZQeQbb71XvkxLjDVPcJuEdEKfbAylvVKT23MXyORqKA\r\nx-77-nzt-ray: e2f7542094224c3c774d676ae2041211\r\nx-77-cache: HIT\r\nx-77-age: 47\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-11T09:30:19.612341Z","times_seen":8356,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":6749,"timings":{"blocked":0,"dns":28,"connect":8,"send":0,"wait":8,"receive":0,"ssl":6704},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/search.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.830Z","timestamp":1785154928830,"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":"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 /maps-api-v3/api/js/65/10a/search.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 1109\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:12 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411656\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":2621,"size_decoded":1947,"mime_type":"text/javascript","magic":"ASCII text, with very long lines (839)","md5":"17061d1b13c9f43bff64b27832337004","sha1":"5bd040c5f2bd4b3dba0690f7e8828d12bc2af5d3","sha256":"b851bd0888ab1f429c234a6c6309aee8c544e76558265c158116bfee86129aca","sha512":"7b04793ca48b3b494af4dc02a361366301a7d57c0930cef9ad8f0ef4abad086b362e76105a9edb3fce16f5186263c620b374c7856fde7192826a0efc0cf3af50","ssdeep":"","tlshash":"6a5178f33352f83742aad27124ae008288681452d515805cfdbce8cba8f8e9705f7e71","first_seen":"2026-07-22T18:33:47.61981Z","last_seen":"2026-07-28T14:38:16.183881Z","times_seen":481,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ3NlYXJjaCcsIGZ1bmN0aW9uKF8pe3ZhciBSdWE9ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5kYXRhLmZvckVhY2goYz0+e2IucHVzaCguLi5RdWEoYykpfSk7cmV0dXJuIGJ9LFF1YT1mdW5jdGlvbihhKXt2YXIgYj1fLnBvLGM9LTE7YS50aWxlcy5mb3JFYWNoKGU9PntlLnpvb20+YyYmKGI9ZS5yaixjPWUuem9vbSl9KTtpZihjPT09LTEpcmV0dXJuW107dmFyIGQ9W107YS5ieSgpLmZvckVhY2goZT0+e2UuYSYmZS5hLmxlbmd0aD49MiYmZC5wdXNoKG5ldyBTdWEoZSxiLGMpKX0pO3JldHVybiBkfSxUdWE9Y2xhc3MgZXh0ZW5kcyBfLnlue307dmFyIFV1YT17WyIxIl06e319LFN1YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5BcD1iO3RoaXMuem9vbT1jO3RoaXMuYm91bmRzPXRoaXMuYW5jaG9yPW51bGw7dGhpcy5xaD1VdWE7dGhpcy5zb3VyY2U9YTt0aGlzLmZlYXR1cmVJZD10aGlzLnNvdXJjZS5pZHx8IjAiO3RoaXMuaW5mb1dpbmRvd09mZnNldD0odGhpcy5zb3VyY2UuaW98fFtdKS5sZW5ndGg9PT0yP25ldyBnb29nbGUubWFwcy5Qb2ludCh0aGlzLnNvdXJjZS5pb1swXSx0aGlzLnNvdXJjZS5pb1sxXSk6bnVsbH1nZXRBbmNob3IoKXtpZighdGhpcy5hbmNob3Ipe2xldCBhPTE8PHRoaXMuem9vbTt0aGlzLmFuY2hvcj1fLk5xKG5ldyBfLldwKCh0aGlzLkFwLngqMjU2K3RoaXMuc291cmNlLmFbMF0pL2EsKHRoaXMuQXAueSoyNTYrdGhpcy5zb3VyY2UuYVsxXSkvYSkpLnRvSlNPTigpfXJldHVybiB0aGlzLmFuY2hvcn1nZXRDb21wbGV0ZUJvdW5kcygpe3JldHVybiB0aGlzLmdldEJvdW5kcygpLnJlZHVjZSgoYSwKYik9PnthLmV4dGVuZEJ5Qm91bmRzKGIpO3JldHVybiBhfSxfLnpvKDAsMCwwLDApKX1nZXRCb3VuZHMoKXtpZih0aGlzLmJvdW5kcz09PW51bGwpe3RoaXMuYm91bmRzPVtdO2xldCBhPXRoaXMuc291cmNlLmJifHxbXTtpZihhLmxlbmd0aCU0PT09MClmb3IobGV0IGI9MDtiPGEubGVuZ3RoO2IrPTQpe2xldCBjPXRoaXMuYm91bmRzW3RoaXMuYm91bmRzLmxlbmd0aC0xXSxkPV8uem8oYVtiXSxhW2IrMV0sYVtiKzJdLGFbYiszXSk7YyYmYy5lcXVhbHMoZCl8fHRoaXMuYm91bmRzLnB1c2goZCl9fXJldHVyblsuLi50aGlzLmJvdW5kc119Z2V0RXh0ZW5kZWRDb250ZW50KGEpe2lmKHRoaXMucWg9PT1VdWEpdHJ5e3RoaXMucWg9dGhpcy5zb3VyY2UuYz9KU09OLnBhcnNlKHRoaXMuc291cmNlLmMpOnt9fWNhdGNoKGIpe3RoaXMucWg9e319cmV0dXJuIHRoaXMucWhbYV0/P3t9fWdldEZlYXR1cmVOYW1lKCl7cmV0dXJuIHRoaXMuZ2V0RXh0ZW5kZWRDb250ZW50KCIxIik/LnRpdGxlPz8KbnVsbH1pc1RyYW5zaXRTdGF0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RXh0ZW5kZWRDb250ZW50KCIxIik/LmlzX3RyYW5zaXRfc3RhdGlvbj8/ITF9fTt2YXIgVnVhPW5ldyBXZWFrU2V0LHNEPWNsYXNzIGV4dGVuZHMgVHVhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zZXRWYWx1ZXMoYSk7dGhpcy5zZXRPcHRpb25zPWI9Pnt0aGlzLnNldFZhbHVlcyhiKX07Xy5IbCgic2VhcmNoX2ltcGwiKX1jaGFuZ2VkKCl7dmFyIGE9dGhpcyxiPXRoaXMuZ2V0KCJtYXAiKSxjPW51bGw7YiYmKGM9Yi5fX2dtLGI9TnVtYmVyKGMuZ2V0KCJibG9ja2luZ0xheWVyQ291bnQiKSl8fDAsYy5zZXQoImJsb2NraW5nTGF5ZXJDb3VudCIsYisxKSxjLnNldCgiZGlzYWJsZUxhYmVsaW5nSHlzdGVyZXNpcyIsdGhpcy5nZXQoImRpc2FibGVMYWJlbGluZ0h5c3RlcmVzaXMiKSksYy5zZXQoInRpbGVQcmVmZXRjaEVuYWJsZWQiLHRoaXMuZ2V0KCJ0aWxlUHJlZmV0Y2hFbmFibGVkIikpKTtfLkhsKCJzZWFyY2hfaW1wbCIpLnRoZW4oZD0+e2QucWgoYSk7YyYmKGQ9TnVtYmVyKGMuZ2V0KCJibG9ja2luZ0xheWVyQ291bnQiKSl8fDAsYy5zZXQoImJsb2NraW5nTGF5ZXJDb3VudCIsCmQtMSkpfSl9c3RhdGljIGVuYWJsZUZlYXR1cmVNYXBFdmVudHNSYXN0ZXJPbmx5KGEpe2lmKF8uTHBbMTVdKXt2YXIgYj1hLl9fZ20uUGg7aWYoIVZ1YS5oYXMoYSkpe1Z1YS5hZGQoYSk7dmFyIGM9W10sZD0oZixnKT0+e2Y9UXVhKGYpO2YubGVuZ3RoJiZfLnduKGEsZyxmKX0sZT0oKT0+e2Zvcig7Yy5sZW5ndGg+MDspYy5wb3AoKS5yZW1vdmUoKTtiLmZvckVhY2goZj0+e2lmKGY9Zi5kYXRhKWMucHVzaChfLmtuKGYsImluc2VydCIsZz0+e2QoZywiYWRkZmVhdHVyZXMiKX0pKSxjLnB1c2goXy5rbihmLCJyZW1vdmUiLGc9PntkKGcsInJlbW92ZWZlYXR1cmVzIil9KSl9KX07Yi5hZGRMaXN0ZW5lcigiaW5zZXJ0X2F0IixlKTtiLmFkZExpc3RlbmVyKCJyZW1vdmVfYXQiLGUpO2IuYWRkTGlzdGVuZXIoInNldF9hdCIsZSk7ZSgpfSgoKT0+e3ZhciBmPVtdO2IuZm9yRWFjaChnPT57Zi5wdXNoKC4uLlJ1YShnKSl9KTtmLmxlbmd0aCYmXy53bihhLCJhZGRmZWF0dXJlcyIsZil9KSgpfX19OwpzRC5lbmFibGVGZWF0dXJlTWFwRXZlbnRzUmFzdGVyT25seT1zRC5lbmFibGVGZWF0dXJlTWFwRXZlbnRzUmFzdGVyT25seTtfLlduKHNELnByb3RvdHlwZSx7bWFwOl8uaHN9KTtfLlVhLmdvb2dsZS5tYXBzLnNlYXJjaD17R29vZ2xlTGF5ZXI6c0R9O18uSWwoInNlYXJjaCIse30pO30pOwo="}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.928Z","timestamp":1785154927928,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/javascript\r\nexpires: Wed, 29 Jul 2026 12:22:07 GMT\r\ncache-control: public\r\nvary: accept-encoding\r\nx-frame-options: DENY\r\nx-content-type-options: nosniff\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=KxgSxsAXBMfT1KiK1EoCcXmKC6hjH1xkplwTVKgBh4AWgXYfc0vOG7%2B%2FD4EQr2m297UTvF5KwdcML4HSTkVa1R9o%2Fn4ErCo0YdUMfdAvowTJkCUsuyEoIc40JG0RjKz8SBxwlf6Phxo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\ncf-ray: a21b9b9b8d58b28a-OSL\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":1239,"size_decoded":1298,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (1238)","md5":"9e8f56e8e1806253ba01a95cfc3d392c","sha1":"a8af90d7482e1e99d03de6bf88fed2315c5dd728","sha256":"2595496fe48df6fcf9b1bc57c29a744c121eb4dd11566466bc13d2e52e6bbcc8","sha512":"63f0f6f94fbabadc3f774ccaa6a401696e8a7651a074bc077d214f91da080b36714fd799eb40fed64154972008e34fc733d6ee314ac675727b37b58ffbebebee","ssdeep":"","tlshash":"6021d5743a18107e226a0133e56f66cee1f23715fd17e440408ad89566e4fe5063fed9","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-11T11:47:44.061251Z","times_seen":418034,"resource_available":true,"data":"IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSl7dHJ5e2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgY29uc29sZSlyZXR1cm47ImVycm9yImluIGNvbnNvbGU/Y29uc29sZS5lcnJvcihlKTpjb25zb2xlLmxvZyhlKX1jYXRjaChlKXt9fWZ1bmN0aW9uIHQoZSl7cmV0dXJuIGQuaW5uZXJIVE1MPSc8YSBocmVmPSInK2UucmVwbGFjZSgvIi9nLCImcXVvdDsiKSsnIj48L2E+JyxkLmNoaWxkTm9kZXNbMF0uZ2V0QXR0cmlidXRlKCJocmVmIil8fCIifWZ1bmN0aW9uIHIoZSx0KXt2YXIgcj1lLnN1YnN0cih0LDIpO3JldHVybiBwYXJzZUludChyLDE2KX1mdW5jdGlvbiBuKG4sYyl7Zm9yKHZhciBvPSIiLGE9cihuLGMpLGk9YysyO2k8bi5sZW5ndGg7aSs9Mil7dmFyIGw9cihuLGkpXmE7bys9U3RyaW5nLmZyb21DaGFyQ29kZShsKX10cnl7bz1kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKG8pKX1jYXRjaCh1KXtlKHUpfXJldHVybiB0KG8pfWZ1bmN0aW9uIGModCl7Zm9yKHZhciByPXQucXVlcnlTZWxlY3RvckFsbCgiYSIpLGM9MDtjPHIubGVuZ3RoO2MrKyl0cnl7dmFyIG89cltjXSxhPW8uaHJlZi5pbmRleE9mKGwpO2E+LTEmJihvLmhyZWY9Im1haWx0bzoiK24oby5ocmVmLGErbC5sZW5ndGgpKX1jYXRjaChpKXtlKGkpfX1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgcj10LnF1ZXJ5U2VsZWN0b3JBbGwodSksYz0wO2M8ci5sZW5ndGg7YysrKXRyeXt2YXIgbz1yW2NdLGE9by5wYXJlbnROb2RlLGk9by5nZXRBdHRyaWJ1dGUoZik7aWYoaSl7dmFyIGw9bihpLDApLGQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobCk7YS5yZXBsYWNlQ2hpbGQoZCxvKX19Y2F0Y2goaCl7ZShoKX19ZnVuY3Rpb24gYSh0KXtmb3IodmFyIHI9dC5xdWVyeVNlbGVjdG9yQWxsKCJ0ZW1wbGF0ZSIpLG49MDtuPHIubGVuZ3RoO24rKyl0cnl7aShyW25dLmNvbnRlbnQpfWNhdGNoKGMpe2UoYyl9fWZ1bmN0aW9uIGkodCl7dHJ5e2ModCksbyh0KSxhKHQpfWNhdGNoKHIpe2Uocil9fXZhciBsPSIvY2RuLWNnaS9sL2VtYWlsLXByb3RlY3Rpb24jIix1PSIuX19jZl9lbWFpbF9fIixmPSJkYXRhLWNmZW1haWwiLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aShkb2N1bWVudCksZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0fHxkb2N1bWVudC5zY3JpcHRzW2RvY3VtZW50LnNjcmlwdHMubGVuZ3RoLTFdO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0oKX0oKTsK"}},"time_used":3,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":3,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.403Z","timestamp":1785154928403,"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/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7748\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 03:05:43 GMT\r\nexpires: Fri, 23 Jul 2027 03:05:43 GMT\r\ncache-control: public, max-age=31536000\r\nage: 378985\r\nlast-modified: Mon, 15 Sep 2025 16:36:26 GMT\r\ncontent-type: font/woff2\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":7748,"size_decoded":8560,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7748, version 1.0","md5":"a09f2fccfee35b7247b08a1a266f0328","sha1":"0da2d17e738f46d2a09e6fb7969da451719a9820","sha256":"cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446","sha512":"5e3f9a298003b84250ec6801e08ad2a4ff8845d4c3e13ea61bec37da24d26ede13b436257882124cc0c27e9a323ba92e7d23c6ad3f48a7b75535f5ed98813a0e","ssdeep":"96:0g6vAF/FXh6MmoI56TEwosGU/DbVF/QBT1gaHEYT6u/w3hXLbJPAS772+6haAftj:zp6x6TYpoDYBJg8TRkbJPAS/2+CzQa7","tlshash":"f3f19de65d1e5e8980f0102f6f6efce767950d88141dadf9a9e72f884c6ba1b04c90cd","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-08-11T11:54:45.08883Z","times_seen":275301,"resource_available":true,"data":"d09GMgABAAAAAB5EAAwAAAAAP3AAAB3xAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCucw0gQLgzYAATYCJAOGaAQgBYNIB4QLGzgyRUbuF6kFE0WpogTB/5cEDY6w8FewiRFiiIiwCNViu/tsr9/4UWMvAr0KA7RHNBNdUmOa90P/zMU5SgCu8gU+V5YdQeyqIxiyfoQksy3R8/vxm7PnfQWSiIeulsgkLZGk1bOECKHRCMVCMY/8Ozy/zf+jPddGT5kBBiBSksIlqrXBAK6KOdRFtXPV/00252v7LV/kXvw/F/Wq3V+yuRxsSdsZNTlZB2Z8qhgm+oJKAgQ8OBCnE+KkZeJ6aXAi79TZnw/e9fJx5P1/deU/WePAvfbZqkmVOk1BsmTYWYe9icMwPunGRRPAjojGYfiICUgF8Pc6y/ablshB8oyTaqFoolCXGZWhjuurvt6XQforr2wvatHrA+vQsASWj2QHAKurcilZPtQBVt4AQEVcUZ1rg0Wdoiipi46hNqjdeWYRKXPd30//G3rXtrTCjhKGA/C8r/kMFWBRpkxhJ07JdCBWJMAYIHQiGlpEYurVmgAeEgVVEEGN0s6nttavooDcjwlwfphUV+BLAu2zvrDNeYvOXhYowTvAjtWR6UvPVE/etGwD8AAge3MDsE0kIIAGrBIhjImR6mGHxF7JeYAVgv5fpaXNSMbzZR5sS0SkI7IQOQgkgobgISYWMTnxOUnI8VItwtFizYkJiFREJpP6p2oN4+F4b2wbWwqvzX7zsiH/cdUl5+23TdG31z7+Dfpr5UvpezX10o5/seINK+vpVRX1FxwzNN8uq82IApQYvltSvkdaRsdzfSYIrOybI2e0UNIHWaW2ekaoBy0mGJBZoGnlMwOx2klfM+MLUc4EmQTvYGm1G6fNnEZ7yJR6mJk+MOsDwg1O3Y0FgTE2zmm+QL/zkJoEGciOzqm+GNE1RDML2D7/C19vhDBNKzVxSeNkc5Syb6sMFzF2mSF6eAe0VPyjYtJ3zbk6BJmw7qTheiSf250Fcx+feA6J+XbMAfBl5yaNW7RxYhFQjN2GR3TKFtzqRKoz9y4g1dlX/V5mDkMow/vkdJmKYLd8tZYw0lrOkkN8EfIpsavPMK8XgOJZBlHs7BRtEmvyGOmrLVZtU70JNnC5gSU3mW8oMHDliuU0sgRTN/6saVziHxuMm3bzlWv5K1MpSqMLrN8rgJEOny/z1eEbeHafObBXBfJuUq1DR8OuwWYPonwLHaq3WYXPnsQnV7mq9Nn7fGI8uHdOQLSeHoYtW9jd2O5suVA0I8SXsj3o6OS/W/PEqmcl9x6Ceo9CMFJPnt2epGLzGHvgZWTI3UZwxrr6kaWZD4FCXJ/QxciagQHxL7lpkHd+MIxvUbOKW97aNFmu2ILvnozESqA3Ck+UUjU+yiqB0gL3Sp6c/gRjiuQ2BooKFD/Q3QZuwuBUQY/iV2oWc3Egu959yrZNxB3+KaLD768G1+D7RCFg8hqrGxZA6pGatHgQZaDCFyTyb1KRTzzBwdYPJ3slNQbokwuB3eJ46POJeO9VzjfJOpposdjUTE7NGRm47wMHxSTV0wwBcOhfUhz42//wVYQr3tMx1bEUrwV+x8t4ZK1K4CHGYIz9bie7NCkwyNmGTeMvhnsCP5yw3DTxLt7LtOJZ2LuFL8i4lcDBiLblkhTp+/N8+HylOOgxl9RMDCXwQynBwr23B3++plEqUKH0QktsqYtb0MFCHL1Q5y0Nl14pwZLBx5bsMx1OfchXcPIURwl8Lv9RiZE+qu28D9PbCk7z+U43j5HPujQUwu8RICMj5d59BqbbOdMeNq0GhUe/+ZyupT1M5WFcWzI1ZWE065reXu7ZOmtY3Tx5ls3Db6CzeVrfoNrEYsEWfKjcK58+TS/HtqUXD2I62/nyfgz0mwGHu5kXCaxBljJyXBwLKihJ5paMWFC57eWAQygYPmEZl06A4lCmLs40LbIekSyRYvoK5LN0Jcsz68XiCGVIuHO+G5s+M0+hebLBa+mM6gW/B7GR1YY7bB27wYQCPWgorp5U6W5A9L3nGVY0b4XXkquxBBnZ40EvNkiWLPsO69+sIjlqTTV8pd3RdpXF9TjzSTWZPL5DBur/N5lRO/gvZx+Slbu94k0B5iCyL9TDUAqk7IJwCDR60yLWuethMdx0uZ5rVp213CxAdIU2TulfzT/Ub6PlzHMVoiwtQnkJRbc4du2ahZl3UsZ+DHB5P9JYg0nWa/NxcAmygTsLSzMkZcvXrJJeEEuLfUAPnrBcJzYKOnxIgwelUmZ7c4twKL9c9AsdIqJURogupVFdHS+MNjomAGeuKpf5QuTAarLbLeHt0JwaWEvxeBDdCMI30aXdSE8xTPDhOpJVV9tqgRySkrjZYhm5bSZKQrDlYPDIZomxF/ZwEqwD/D9tTNfY49gtkePG7WVV5nFjTlFdHB69ZwchG/aWOrdUUEwWkDRIeaS8wXrdFJfTQxuaH3bjDxsG3Uyac8qQva0n9/w4DLB5C130TOpiV9a9r2RZUML6mkd24vTVpe/lDJRgGn++wtqN+oFr12UwM+Ib95NPkxU9qO0nuuTmNvBOkLqKRTl4iPMFVaCs6p/Vt6QnE3ECLRGA8GtM9SCrBhBldSdM+kAeWAwVUkoB9hVBKVzFndougMVdXxBuwZmyC52dNmMKZt4VB+5veInGcJ2/fEi+8BdGdsMwN8qV97ElARg6vA8+WtBUdIRNDiKv6DmHJA8J1eHx4c5wH8ps26aTBrzS0kmDKNsZMNFRaA1zjBCLu7U9rdyz3ei/L3n6ck74AI2SQXylrDfeahxTgUGp0cmB8Yf6fZtc+uZPKtdK6r036mSHDug2T556OMn2hfiy0ESLz4RsecVodGdNppaPo19E3d3n+R/k5DvtAF5F2cF8TVi8u/cVSmrZdh9YbebxNQDtDrJqq+VpYL9y17SRpQzbdXcQN2V4ayRR3FNQna4zywSjnKs3VuO6eO9AcCM/qMD42p7+9xUA8H0VP+4xyp2soB3JCviLjawvNeicYlHPpPm0ybKsejEPqaSP6dnW2+1kxKvN+XxyPAyFuhWYn/Cs834Gq9Us1y8Hmez/63GOGsnmS3Zz/TCj5tkUwurqiuR99x5xwzfHdnxSuvKbe4m44/vd3oRQ2nqDXU/CBo186nyxqeXcMINjTgMHTBfxfaz/ydXe8bkZdyGy7sjRPPDz4TMmobg+L4R+a7JXyCqRtSDYDj+gU56UIMNsr31FrKC+wC4jn/Y/f7WD4gfX6c68nihmjOCW2RvdcCkOfDE0b8b5PA7x5r7sbDHreWNZIHbHkrm3FPNuvR4YgW1TeedXVu9DXW8yOgqdB6ovz+L2V19CXmsyOsoGVlXHjEaFj4LsHTijg86OUkNqe2xLlaYLeXX1A84ibQ5NytG2NG7cgZgxxuOIbm7YrQWfcxYWQJVwvPPm354+nouePphaUDDv9geg0K/TcLkcEYt1Wo3Xiis2bw757nn3lhlNrKw4jJH1+mTSzrFyOo0GYyiw+MMAqvX6xW04scRPYLrYIrVPhXivJx+LFRoLaXQNukDOgiNNS5euzsyYcYeGBK3d5n1rT59aphXKQtfbsE6ClMcIRWFgxlq/9ORZH6apIjAXdregDu1pSKt1zw0A7I25ij15z6FIgH2cw1n57MmVsRV2sOYkWrkWT+YYtd+cuNUWv9VvLdGtwa/BTXbYak7YZk/aBqoo03c9d6ddg68DJtZ2JEgECcAcnQzzjI8uL450+hb96gT0nNb3tmzhgQuXWkcVo/6lPapEL0vAYmHEqXUJfjb/hg3b31EdQPvq733R4gdd+52aZo+4hcagcJl0tiSrOdy/vKOmqau9WiRaWV0v500wnY+1gNW/vK5WUFNK0JPLIeM3kQOQQ0InWd1ESeP65si6ZqKYw2JCHJLARLOlOzJUQEeg4D6nUj43ewFmj0H53/Wf2Kvse317I99/4XoJFgeUE1JNfomuXohuYkoosA/SNK1omGfyXpSSqUKBXigSygSlHNyzxhPXwXX7IaJS3hG24UBVCY1TTaE0SAXkpoZyWV2rBXuipzm8Gm6Yo3BfO68T8fkKlZAlkkM8gYoP5vQl9bWktsIV/wOKyz4yydxAVMgbiSQzmULRPV4JOdgQVNVGkkpbSYrLWMjeGnebT2cyyvuWiheVU6liFn50QsNmUpUCPk8hpDBUEAd8tAMiUISQd43fkEeA3ERGvbS5b7l/LfzGzf6iQbfW0dDijda5h8/wJOV8kYzFEinYTIFCBISrHv1vr9n6+H/jwMY4V6Ir4X+3BcAr3Xr7lwAa3unyVtT01ngiFFWRB5dW1BLEpA/I5C+IDQySvZrAdUwUwH/PN1ed0Bp2V6vI22qtAsLB+id2DEFusKlk5Sv8CqGxqL+qdEneonRxBpIkSW8i9u5YtSkw7HW/39G3Z9UmpyBngdSC9DcNqs27q7esfPFi7S4pkYdDqbA4Ga6YTczRYks+LQGvNuWWbmr/M7Tyz1CH+rmP4+eA3y3yinISWVeH4yeH5ghrSggqPIOl1IRhNlH+hyuZoWz66F+oDE/g02m7v9gP8t5zDByzVHjPNyKr1p10klj8BiajRS5ntDSU81lO0sl1yKrzDd7KAYtjoBYcHDqpsxz2eCwHTmq8D0MPO839Kzo6+9d0+Wf9YMRy60f7j58ssPdd77ODh0N21O3H9sc4OASg7wedRAcxv1TKgHXnfHtL3TxTlLXXHKeyrdmpsrrR1WJKBG1DIRgnPCUBLhIWgRHXMATGhn6z+xpsNl/DK+/8MTT6U8xvYHoeueywCXM+YwvGireAEesLm92XAX6K2yvw4KOvlB9/9QAOdf+C+BkBVsOG6Bj4OmyIioYBMvqYxXHMtb+SZfuAV2I/llrJq2woZ7SGop3JD4ul9VcZ4K6W2ptohmA6HPpR1Uwm22lv+P4mw/3Bh0FQvaxzxS1yhenJLs1+EfbkZesmXbn5NlLAG0eSjMmaLWX/JHiKZnXCueygL8hms8jkf6EgeBbtxbHMjC7GMyodomByN0zYuYt1eXQ5xKCbG0qENX3V0cZgPkQil94vQdSHmLx4Qz5DwSFR7I0UCZg7ZL9hgS3DdnBz6KZSo5RINUrlTfiGXtzWTZVKu6jCNv0NMDAUObQyaqjrNnQHAkxO6PZQ/7b5++f3gtFQ5xbSAVLfVvxWPFhn+czSd/Cf7f/0fmb53Np3aHbHbC+QDz0a/hf+9/Fw71HdUR24XsmtmjZDf3NkH0Ay96SjZrDGec8F7l6MH3X6WAXKG/ec0/eN4x7YdyrwcmHjq4Xt51aBcygP1gMeD+geNFaAvHpeb0Agglz4MVULqkUzXkVgC9tEvOXa98hYrbQYjZYWYTVUKlYvQw/xrWCsjgq++LcaXy5u43P7tFru8oBIxK4sHVfBM/BCxaoVWVZ09cuqoF316xQDr+MzRKq7V6avk6+sXu5INnY/hTB4gabSbNZUCaqyDd0p2hWVlcpOAa9P75mhmFyPfRzXMtOiDVVuZ0MU+GxwwygnIiGjkm3Ll3WnSpe7KpQ9AkGfXs/r6+GrFZ1cbpcqkLvAKIXoWkkvKJ2qnW6ZhuwQylltaHQSd+NQtaC+pBJ/TdWCk7ECHVydb0f9HLN/Wkek83ValW28ksjyhmrDdoPe+p9PB/hkSSWJ4pby/USJWMFmSxQSIjwDz75nyieBGu/+ta4yEQpGXSv4K7VKJKe7ULnT2TtgkBc/G7//g5ev4Bn44sSPh8HIw8HDmAF4GFdLojnSWN0LFMy6os8v5dSVvdHvpjHBQMlvTCovigxm4EXsMoGwT68T9/fylUrG+srpdNL+5QJlcaWssETLYGA00kI0WlJYrGGYLS4++OKfKgJLFBBwewvgu8qqwD8ywBhYrVh9gsj+FNiVhOOqFkyL4XgNARK2nj5NnwANlhpYwuVxdTkwClaB+7G1WLpqcSDnDhbHW5J94ad78mwKREYTRK5ClgN2RKjhPCsW81Nm8uy9W2/LEL2RJQSxo5AN7k6VZk/nCpwWuVqoLoXs0LqWdavtgIlEwdCAAVkKBfUQnp+wlwSQXXPgnc77yLX3kF0A/zPqLLKjeTc9rY5zyFZ4uHW43Xvdfx2Qk68k9weGvcPtVxZcSeHMAdCQSblFAe/cz5f07h88Oggu2f62B+1/N/4jzwdYdvTXElRejDPWTBZqlDxuFRrxEpEapQSxVhoBz5WES6pMoA39YCakJn6+oau4PI1SSI41xzjzUCW/gi998HYY6Pna9skA8JBaVZ45cGXz7fg0F1O7QKsZu2274piNT49qwFvkjKTZ2VkY/nPnvJlOELT+PeSJ4Tc59bFGyNg8J7DF4wlsVW6IAxzixMfTM/Q3Wag1KxRakxBgLPa7zIMoEyeR36zUK+hcakUNkdvQ1B5mqycH6WQ2k7Pk2tH3lOcEiRUcAfiA8fxs/IMbDOr1mzn7pxnlz4dzvp6kUCe/jj/7krHLU48nmJBICoGAQoIr64Oa02HPsyY1kxvhjSJnPR/Ha5YdKO49oqE8fSB6x1J4Jeyff/u9DqZoD9AYgtSFhuytBgWMmsXgyMiUo2wEO7kix67nksu1106/HGtKYqgnQauIwaDz6Wi0iN75BToCoBty0tLe9Tt4RuDHtw9ZjAN1dcZjdlht7WELh5KBwyYWzGqpaKPdLtqwWm61MDbO3qcbV0mtLGUVhVLH41HrKylMWZMqHqq/+1MBiSUTiVhSEhI6Uh/Pb5ApQBYfrZJhsMWzKJzZYcZG/3vEybFoLdFKHCksOkcknisqHCaCte3Wi1TT7LzYonkzB7arD+H142ZQ/o6DRHQwGIwV79gEkmclxQlbDGaxGJ0isV4B3m/WN1QoolpWLImRsj6ryd2dDcfnxJ6OjT0VmwPa7+qb9SDDVufSkLRFJSoSCafSF5M01RWqFGJXAcpDIosKCtaRwIGWXVOuWdf0rmnu3OfZ5/1FgsJTovmcBsWcuekp6xPitYst2QJqeeHdiKy8U0tFWJC2SU4pR7IzlEuykk+F36BkFWkobLacFm8iXUtJmUhK/DQ1n5aTNpaYeDK1aLsePB5+0Kh70Ak4SBRsvGgpoTE2L/Fj9roPAiiucXAdNekLAgHYam1vacsAoyVCMh4vpJWtFDVlvp2U9HZmWbe0DCR087a4zJkgi1+qNqDJZENxqYZMwmuMMNGjcWryUsK5wsL1ZGKnGA0TwFak42KT7aKttmdd5LSCpaae3D36slBjMDTaiuGaucP43S96HmNWDFQOVAFjN1mwc8wIV9zf8G98QTkLC2KVhm2hBlzORefXhHFN5kacmDhcPykgdnz0g+mHr+abezdHyDb1BEO3zMH25ff7wbitT33YudY9nqqYYlowH12fMXaLXbPfWdvpLgCnh050tujEXGby5W554UyHs39dR2f/2k7/7avuq3f84Ld1e7qGEsnePTt3ikQ7sYd56u49YLvsMKZLcHjMw2zOffewtarhCDYgtmWmF5vYZLWGMFyN73ud/Slf2dFsjfdtw3GwB+CQneWwzfB1/6bex89V62xZ2Wso+CIISJu6Az3iOhxRjiHiONurBfPjz38sSeWqmJIGi8Pqc0YbWtN/xOihpbU4dbqovDSXy5n9PK3wZZmQAUG5MB5A/dGUkKOUK8jJLxMUftiTKg26bAw3PlZbqU2txjMOEdANPVVph9CgcCoOOQuY0jYe1CVvywBsi5JXblPOYf8w0whzUxvktwN2GbIN3UlSn0sXUxiNR6eZG1MnoXQo9P3WpoDh92G3eHufWKNs/S+osL+LLy2VZmRmsIu7UExFWravFSL0FDBV6d4yWTFWx2BgdNIiNFpcVOzVFOlFtwT0PzPrwf91uF67/qu4MQQkfsiRwb3EJlwCQpdSqoFkrX3GJitFxA3KCfXhV5EDtIPFJBHz4PdRQQq651gP+PzXShrUY3yXoArGe03wczhb0XYKjSCPUnv7ZP2Pph+/XGDu857toSnthy32Y7W19gHdvE25jHra02deIJcy4F8NXLBUyvDvwC8F7MXRlBMRPK2Kbe8h0Ypp/CY6StDG4NMlSiYxgQfT+fleurCnfCCdyv0f0LRXyoeAa1RBTK0yigf2Dm7WmzdraIwZPNnLpuNKuKQUX1KCmxv+j5tJiTdTkkcSk0aSweJ9w5iEm/Rn4vmLq/PYnUP3BxnpBfMW1xiCpn2uFBcgqve7vv803TnZU/9KBWxD5dBq/uo1A6/GXPPHVyObf34xeHf6WFFemVRKprC/TK8loVSO9M0tDuBDm0P+vhAQ4XIQB9chq841eNuuBXPdNoUkY9GiDInC5mE/3Na83P2DWVOWuJl76xPFi7yUlLwXik9uuy+8GKS8/RtPCTIsYRnKT7guTdirylfMip9/Ubtanb9X/w5+2uc64KrYQHwO2GGxWOci9QIKQrKq4RZuZNIika7Imr9gy1vB9bVtXGaAPW6UPeky2+Nd54THtgI212pmgD2uyenhsaHZXJHMAHt8vHB6xlOpFKFtxIa/JbdigRlgj/uBPekrp8dLG4XN9QUzwB73jtPjTYlxtl2y8EY3ro8AYAbY44bZk06yPULOCQ9sIjbXNWaAPe6g02Of5b17BHfinSrAMv6lzPNRUiOzHZM0tPS/bc6ZGWCPO8metN3pMSiZAI35gBlgjzvv9Dhjs7EDBms91tTGraU7LTY1LK0dKOTBEr/QrVnwJbmwD1d+e+S5gCCOAGPR6ufaDzf+8m5KIEabh+q7/X0RKxqM1V45QJ72BXBscNQ62uZtihSoN33BsSG+zQLAF3ghOMC/Mlc6sqxB0oa53bXyx1/JxOwbfFDbRoLcmcCxIbXNQiCXzKzjj1g7Eyrzt+MTaeZso0g8cR+rzN/SzDwCmcDPB+d44ACgHs8nkGu3Zer8oT2iMt/MyyuC8WfKO7Myf8fPiFv6H3rhgfOTETXli4TS+JZFZwPmUNebfVkYYKpo3sR57pzxbz4i4inA2xfbA4APa8i3Zp8YXng5kcpUCi+SZvBbo/LCp6mS9XBD+6Xnff0KbTV9n+tRpuLK6XrZWY/R6Yryl1zn5dRLPfxCZdSfWJlW67+iImb0E1zCATP9GOWACQQfTTR+DWx6SbIcKk5BgtkXvpvcb3CFg0i1yo4GnVHwJV3BFAYEuSEnAdKOAvkZI808oAjCR++WVqxKhE6nh0aCDUO4r8KinKCFJQF1RGJDy78xqFwlyZCEfiIhO+FjtzBY+HpkZ247XjP6slleZwl6LS4n5bMijYlxQO5oyaTy6DocfobN//9ThCk4LTRhnSlBSHUQD1afJibDVKvMzNwEYYtrqrj6RVwE4uoz6ESCYPG4sdySQnkpMMhVnKxWlLwNMBPR/eUoLIq4ToKtSdn1DCbr5LO3IFEAX8vF1TmZua2+dDLKIN5P4rKZNAG5fkWsFHHuS6wRM4n4nJWTN7nrsaVGCfSvjEV7n3kMzdPAURULFpT+3/Jyz5x0ZIRIbupWmp6SdAYAqeNylEzzyr6XTEySkhxuyIyjv0d+OjKyrlMsSlKiYQCQOhiSlBqXyZ+Q8v0MUXg7me/FVHVslLEP8uF+llYf4TNRdVIa9kprU747qhOEq0IYbBwfKULnSO9iqal6Z8IBUxjgva3maRMtTLgs0YCrgBYOmFcrQtg0BwDPvMNcYTIdd4VbYLcrAo1NHynqihJH44qWiSwseKrATa3k7tOCpoRTtQrMHQitXi1Wi9BoqhesLjdeSUBGxXs53set+dcIQ65GNbc2TYiwcHCIxHQElOgQigwEsHRltRKF5vno12nTqAJsgnLfaCd2WjerxQh4uO+cI+iC3DUo4E2ATfBkaJViF6RNaf1sQSx3AT1KHfc7l1crYVVdhKYQHoRaD1tis2qwTsvgMloo3JcLHa/gzXwPVMIiQMTfF/1vINYcceaaZ74FFlpksXgJEiVJliJVmnQZMi2RJRvCUjly5cmHhFKgUJFiaBhYJXBK4REQkZCVoaCi7YeOgakcCxuEg4uHT0BIRExCSkZOQUlFTUNLR8/AyMTMwsrGzsHJpaJIg1Za5U27PbXaZhsccsbxZqz3pRV2+NkvNjVrrfd94yeHnfWbX/3umAumTLioUpWtqn2gxqRpd91y2x3P1PrIPfddUudH23zqY5+o98Ir63i4NWjSqNlRXn6+lJL0fh4C2j3XoUunbsv0uG5Ar6A+/V763rDPXHalOZ/72heu+o8hIaPecM2YNc55y9tGmrfRD4Xpkl4mC+dqYtqa3TgchBvaeeUc0iCew438r8hwcRCPLyUBAAA="}},"time_used":56,"timings":{"blocked":31,"dns":0,"connect":0,"send":0,"wait":22,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/shape5.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.442Z","timestamp":1785154928442,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/shape5.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/style.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:15 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:22 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23092\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=pBZM7dkv3sV8yCtymgokf5DVGJS8CdvDxHJnj4A4C82p0PI9mbq%2Bue%2Fujjpc67T9YSbKEAQUbMS%2FLPnKOuRrPByByfjGaFFPmAFikVlZ0NHMLNm3FBprmPNZFzL46Mcel7xleebfwtI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21b9b9ecde5b28a-OSL\r\ncontent-length: 6663\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":6663,"size_decoded":7427,"mime_type":"image/png","magic":"PNG image data, 244 x 808, 8-bit/color RGBA, non-interlaced","md5":"412b3fc73f7e200118b9da2e76c5a1e3","sha1":"e54157cc65fd4a613a2f7cfeadf4a573598338f8","sha256":"dfbb989ea16bc68956a1d07e3ca8169b26f8119f3fbb6ec355c98bf5699b936d","sha512":"ea7024df2465f94026bb8ccdd38892fb26ed43c3e7852e0158c36089051927f56d4f60f499706d0858108039087112c053a67a3f45aa2895dec0cd98a8a4d261","ssdeep":"192:IG+VkAp+VjGGwFrCf5ob4fO+eaMZqqe//EC49If:hrfVsCBob4fO+ejZqRGIf","tlshash":"16d19d42d1c848536549b37a0ef5828b79df18b3cdd4a09a2c13f839013337acaaf9d2","first_seen":"2023-08-18T13:05:46Z","last_seen":"2026-07-27T12:23:18.836838Z","times_seen":5,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAPQAAAMoCAYAAAD4O803AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlFNjg1NzJBM0YxODExRThBNTMyQUZEODEyRUI2MjgyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlFNjg1NzJCM0YxODExRThBNTMyQUZEODEyRUI2MjgyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUU2ODU3MjgzRjE4MTFFOEE1MzJBRkQ4MTJFQjYyODIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUU2ODU3MjkzRjE4MTFFOEE1MzJBRkQ4MTJFQjYyODIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7duMCqAAAWfUlEQVR42uzd23bb2LGG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"}},"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{8f68db34-6496-41fa-a075-24aab26c0701}?https://primeelitecapital.com","date":"2026-07-27T12:22:08.989Z","timestamp":1785154928989,"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":"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=no\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://primeelitecapital.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\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 12:22:09 GMT\r\nserver: ESF\r\ncontent-length: 2635\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: NID=533=Sqm2XHMiFnf3SXPXewJ8Z6hCgDNh_TvKrgrNq1-ucaRhSPCgRyPiFstab9HSetF0gH6KHJognNFRFjQywY32HYtMvBfkDMfq5zUHqvu5xHM86CLdCBs9oJYU7fVuVs4mcfh4aXTcDApdibZf66GA4VKOAYW3Wi_GIBoaTllR84lDYZxzhtxB90ASsIjSmQoLwZfkAipSB-ATbYjs-ZuLpIrVyB30HMMe; expires=Tue, 26-Jan-2027 12:22:09 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 12:22:09 GMT\r\ncache-control: private\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":31482,"size_decoded":3482,"mime_type":"text/javascript; charset=UTF-8","magic":"Unicode text, UTF-8 text","md5":"91115de97ad1a90076e130223cdd90ad","sha1":"f3ad22e4fa892dfbff0d083bc0465fc3a2240317","sha256":"816e9881b1955d8beff3011d93481dad4c4de71bbd80b50ac267e7e45d4c3bad","sha512":"fbca69c3431240ab374b9ccfb06d76074059cdfe2f153743b292020271a8a3a36885189594a97fd74b43249b1f6359af62dfd0731e7b50e024f37faebdccf620","ssdeep":"192:Z6STcB9aqiD0+52DdKXrWryLxizUSTcB9aqdD0+52DdKXrWryLxG:JTcbaU3KXiMxidTcbah3KXiMxG","tlshash":"d0e267bae8b50d9b6a5e65b416fa2a03306041db4edc3c053b1c1e4c6fdec1e6c7169e","first_seen":"2025-09-02T05:12:23.753308Z","last_seen":"2026-08-11T11:38:13.475118Z","times_seen":9770,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":27,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps/api/js/StaticMapService.GetMapImage?1m2\u00261i4455607\u00262i6715270\u00262e1\u00263u16\u00264m2\u00261u540\u00262u450\u00265m6\u00261e0\u00265sen\u00266sus\u002610b1\u002612b1\u002614i47083502\u00268e1\u0026key=AIzaSyCmL18misQw9KdwqGaw3zHkitj8vG6QF2Y\u0026token=209","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.021Z","timestamp":1785154929021,"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":"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 /maps/api/js/StaticMapService.GetMapImage?1m2\u00261i4455607\u00262i6715270\u00262e1\u00263u16\u00264m2\u00261u540\u00262u450\u00265m6\u00261e0\u00265sen\u00266sus\u002610b1\u002612b1\u002614i47083502\u00268e1\u0026key=AIzaSyCmL18misQw9KdwqGaw3zHkitj8vG6QF2Y\u0026token=209 HTTP/1.1\r\nHost: maps.googleapis.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.google.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\ncontent-type: image/png\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\nexpires: Tue, 28 Jul 2026 12:22:09 GMT\r\ncache-control: public, max-age=86400\r\ncontent-security-policy-report-only: script-src 'none'; form-action 'none'; frame-src 'none'; report-uri https://csp.withgoogle.com/csp/scaffolding/msaispmnec:810:0\r\ncross-origin-opener-policy-report-only: same-origin; report-to=msaispmnec:810:0\r\nreport-to: {\"group\":\"msaispmnec:810:0\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/scaffolding/msaispmnec:810:0\"}],}\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 42046\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nserver-timing: gfet4t7; dur=115\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":42046,"size_decoded":42801,"mime_type":"image/png","magic":"PNG image data, 540 x 450, 8-bit colormap, non-interlaced","md5":"826adb669afefd5dc31cda36753fa31a","sha1":"b7de6805c9cc3318abc77c9bc140b1dceb2ccf15","sha256":"492a18dfd9a935a85cd0f717b9267bc4d29efdcce6a445d7de96d5ac11039670","sha512":"ba79b801b7516436f57d0d152a1dc1af6d4942481090d87f9cabbce80970026a5c364790534165460e7b93b761502918eb71ef893bfd60762cf6b8bd7ae3dbed","ssdeep":"768:TWprO3UNrIlzitnWWCWz3AWZDV0w15bTjFNljRAXbpVOcYc7itfIuA:iVQUFkzYnQa3AiVdXTpNldKbfT+pe","tlshash":"451302f5bcacf72a8fa41cff75cb86dc4429c80ba560277bb3824698a524b5f62105d4","first_seen":"2026-07-27T05:58:00.848225Z","last_seen":"2026-07-27T12:23:18.840918Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":132,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":124,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/googlesanstext/v25/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEp2iw.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:11.658Z","timestamp":1785154931658,"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/googlesanstext/v25/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEp2iw.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 22140\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:26:19 GMT\r\nexpires: Fri, 23 Jul 2027 02:26:19 GMT\r\ncache-control: public, max-age=31536000\r\nage: 381352\r\nlast-modified: Tue, 17 Feb 2026 17:32:19 GMT\r\ncontent-type: font/woff2\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":22140,"size_decoded":22953,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 22140, version 1.0","md5":"aa4fe962088acec2ad7e93bb7d2338df","sha1":"148543b99d0b43a648962ceab5125dbba7d7ded9","sha256":"76bb772510b6c189f97315d7de2cdd0e669bc7a42a870d59a883831d235fd60f","sha512":"2bfff035f4e2991abf4dc8340a656e2acbc5612dfeed35392e1ab871c1a423cc28f8ee1934a59d8aba9c730cfd087346c3436c719f7860f07eaaa7127bd3e4b3","ssdeep":"384:pKv55X34hwPK1flApFufoE5YNvsktHR4JYuZssrfX35oOHMVeaZfzPvg2nZ:wvj34CPK1flApF8dOlh4ekseuOH2FzPJ","tlshash":"e7a2e10209c28564a7532cdd74f4fb3ac32e031615e6850bfb4a7a75eab501d43979de","first_seen":"2026-02-18T00:09:30.764497Z","last_seen":"2026-08-11T11:19:57.037535Z","times_seen":66467,"resource_available":false,"data":"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"}},"time_used":26,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":20,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/magnific-popup.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.933Z","timestamp":1785154927933,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/magnific-popup.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=EMNDWhMU3EMd05jDC2nxDGUOLsMG5J2ypXd9MVIGsZm5TTNpkXBNX1nqspt3C%2FhZsvbYJEpm%2Fe1sa17new6QAbVYFd0kqKRFsPl5Xzn8LN9t6jmf5ocG%2BPnmv4x%2FywB4%2FJRKIk%2FQ3pg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d5db28a-OSL\r\ncontent-length: 7050\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":20224,"size_decoded":7829,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (20092), with CRLF line terminators","md5":"a475f642015f28fbdef0652a5842fc86","sha1":"df1d8abdf047ad61eca0bf36075ec0579f7bd958","sha256":"ea6a4b1f799e54256ebfa05f3bcc18d5a743d412c69b07525c3cbf860fdd85fd","sha512":"a230d63e594f15b7fbcceb449f19208ee6b1788aae497adc2fe412b5d7af8fa9c9213ff2b3699334e9f578149c7b9a1c9ea8e334d50fc0e3a00faa8171be8008","ssdeep":"384:iPhVPXQ2G2XAQyqVxRQ5giCCMLtA15h5/F6l8aZwHwztLCpmst:iPBIt8I5h5t1qkOLCMst","tlshash":"ec921894f2b2b21383a735b8686f60093a729952ed06c855a55d94d87efcec89027f3c","first_seen":"2023-03-07T01:41:30Z","last_seen":"2026-08-08T05:34:28.986553Z","times_seen":446,"resource_available":true,"data":"LyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMS4wIC0gMjAxNi0wMi0yMA0KKiBodHRwOi8vZGltc2VtZW5vdi5jb20vcGx1Z2lucy9tYWduaWZpYy1wb3B1cC8NCiogQ29weXJpZ2h0IChjKSAyMDE2IERtaXRyeSBTZW1lbm92OyAqLw0KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6d2luZG93LmpRdWVyeXx8d2luZG93LlplcHRvKX0oZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9IkNsb3NlIixpPSJCZWZvcmVDbG9zZSIsaj0iQWZ0ZXJDbG9zZSIsaz0iQmVmb3JlQXBwZW5kIixsPSJNYXJrdXBQYXJzZSIsbT0iT3BlbiIsbj0iQ2hhbmdlIixvPSJtZnAiLHA9Ii4iK28scT0ibWZwLXJlYWR5IixyPSJtZnAtcmVtb3ZpbmciLHM9Im1mcC1wcmV2ZW50LWNsb3NlIix0PWZ1bmN0aW9uKCl7fSx1PSEhd2luZG93LmpRdWVyeSx2PWEod2luZG93KSx3PWZ1bmN0aW9uKGEsYyl7Yi5ldi5vbihvK2ErcCxjKX0seD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZi5jbGFzc05hbWU9Im1mcC0iK2IsZCYmKGYuaW5uZXJIVE1MPWQpLGU/YyYmYy5hcHBlbmRDaGlsZChmKTooZj1hKGYpLGMmJmYuYXBwZW5kVG8oYykpLGZ9LHk9ZnVuY3Rpb24oYyxkKXtiLmV2LnRyaWdnZXJIYW5kbGVyKG8rYyxkKSxiLnN0LmNhbGxiYWNrcyYmKGM9Yy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStjLnNsaWNlKDEpLGIuc3QuY2FsbGJhY2tzW2NdJiZiLnN0LmNhbGxiYWNrc1tjXS5hcHBseShiLGEuaXNBcnJheShkKT9kOltkXSkpfSx6PWZ1bmN0aW9uKGMpe3JldHVybiBjPT09ZyYmYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG58fChiLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bj1hKGIuc3QuY2xvc2VNYXJrdXAucmVwbGFjZSgiJXRpdGxlJSIsYi5zdC50Q2xvc2UpKSxnPWMpLGIuY3VyclRlbXBsYXRlLmNsb3NlQnRufSxBPWZ1bmN0aW9uKCl7YS5tYWduaWZpY1BvcHVwLmluc3RhbmNlfHwoYj1uZXcgdCxiLmluaXQoKSxhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2U9Yil9LEI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUsYj1bIm1zIiwiTyIsIk1veiIsIldlYmtpdCJdO2lmKHZvaWQgMCE9PWEudHJhbnNpdGlvbilyZXR1cm4hMDtmb3IoO2IubGVuZ3RoOylpZihiLnBvcCgpKyJUcmFuc2l0aW9uImluIGEpcmV0dXJuITA7cmV0dXJuITF9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24oKXt2YXIgYz1uYXZpZ2F0b3IuYXBwVmVyc2lvbjtiLmlzTG93SUU9Yi5pc0lFOD1kb2N1bWVudC5hbGwmJiFkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyLGIuaXNBbmRyb2lkPS9hbmRyb2lkL2dpLnRlc3QoYyksYi5pc0lPUz0vaXBob25lfGlwYWR8aXBvZC9naS50ZXN0KGMpLGIuc3VwcG9ydHNUcmFuc2l0aW9uPUIoKSxiLnByb2JhYmx5TW9iaWxlPWIuaXNBbmRyb2lkfHxiLmlzSU9TfHwvKE9wZXJhIE1pbmkpfEtpbmRsZXx3ZWJPU3xCbGFja0JlcnJ5fChPcGVyYSBNb2JpKXwoV2luZG93cyBQaG9uZSl8SUVNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9YShkb2N1bWVudCksYi5wb3B1cHNDYWNoZT17fX0sb3BlbjpmdW5jdGlvbihjKXt2YXIgZTtpZihjLmlzT2JqPT09ITEpe2IuaXRlbXM9Yy5pdGVtcy50b0FycmF5KCksYi5pbmRleD0wO3ZhciBnLGg9Yy5pdGVtcztmb3IoZT0wO2U8aC5sZW5ndGg7ZSsrKWlmKGc9aFtlXSxnLnBhcnNlZCYmKGc9Zy5lbFswXSksZz09PWMuZWxbMF0pe2IuaW5kZXg9ZTticmVha319ZWxzZSBiLml0ZW1zPWEuaXNBcnJheShjLml0ZW1zKT9jLml0ZW1zOltjLml0ZW1zXSxiLmluZGV4PWMuaW5kZXh8fDA7aWYoYi5pc09wZW4pcmV0dXJuIHZvaWQgYi51cGRhdGVJdGVtSFRNTCgpO2IudHlwZXM9W10sZj0iIixjLm1haW5FbCYmYy5tYWluRWwubGVuZ3RoP2IuZXY9Yy5tYWluRWwuZXEoMCk6Yi5ldj1kLGMua2V5PyhiLnBvcHVwc0NhY2hlW2Mua2V5XXx8KGIucG9wdXBzQ2FjaGVbYy5rZXldPXt9KSxiLmN1cnJUZW1wbGF0ZT1iLnBvcHVwc0NhY2hlW2Mua2V5XSk6Yi5jdXJyVGVtcGxhdGU9e30sYi5zdD1hLmV4dGVuZCghMCx7fSxhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMsYyksYi5maXhlZENvbnRlbnRQb3M9ImF1dG8iPT09Yi5zdC5maXhlZENvbnRlbnRQb3M/IWIucHJvYmFibHlNb2JpbGU6Yi5zdC5maXhlZENvbnRlbnRQb3MsYi5zdC5tb2RhbCYmKGIuc3QuY2xvc2VPbkNvbnRlbnRDbGljaz0hMSxiLnN0LmNsb3NlT25CZ0NsaWNrPSExLGIuc3Quc2hvd0Nsb3NlQnRuPSExLGIuc3QuZW5hYmxlRXNjYXBlS2V5PSExKSxiLmJnT3ZlcmxheXx8KGIuYmdPdmVybGF5PXgoImJnIikub24oImNsaWNrIitwLGZ1bmN0aW9uKCl7Yi5jbG9zZSgpfSksYi53cmFwPXgoIndyYXAiKS5hdHRyKCJ0YWJpbmRleCIsLTEpLm9uKCJjbGljayIrcCxmdW5jdGlvbihhKXtiLl9jaGVja0lmQ2xvc2UoYS50YXJnZXQpJiZiLmNsb3NlKCl9KSxiLmNvbnRhaW5lcj14KCJjb250YWluZXIiLGIud3JhcCkpLGIuY29udGVudENvbnRhaW5lcj14KCJjb250ZW50IiksYi5zdC5wcmVsb2FkZXImJihiLnByZWxvYWRlcj14KCJwcmVsb2FkZXIiLGIuY29udGFpbmVyLGIuc3QudExvYWRpbmcpKTt2YXIgaT1hLm1hZ25pZmljUG9wdXAubW9kdWxlcztmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKXt2YXIgaj1pW2VdO2o9ai5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStqLnNsaWNlKDEpLGJbImluaXQiK2pdLmNhbGwoYil9eSgiQmVmb3JlT3BlbiIpLGIuc3Quc2hvd0Nsb3NlQnRuJiYoYi5zdC5jbG9zZUJ0bkluc2lkZT8odyhsLGZ1bmN0aW9uKGEsYixjLGQpe2MuY2xvc2VfcmVwbGFjZVdpdGg9eihkLnR5cGUpfSksZis9IiBtZnAtY2xvc2UtYnRuLWluIik6Yi53cmFwLmFwcGVuZCh6KCkpKSxiLnN0LmFsaWduVG9wJiYoZis9IiBtZnAtYWxpZ24tdG9wIiksYi5maXhlZENvbnRlbnRQb3M/Yi53cmFwLmNzcyh7b3ZlcmZsb3c6Yi5zdC5vdmVyZmxvd1ksb3ZlcmZsb3dYOiJoaWRkZW4iLG92ZXJmbG93WTpiLnN0Lm92ZXJmbG93WX0pOmIud3JhcC5jc3Moe3RvcDp2LnNjcm9sbFRvcCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSwoYi5zdC5maXhlZEJnUG9zPT09ITF8fCJhdXRvIj09PWIuc3QuZml4ZWRCZ1BvcyYmIWIuZml4ZWRDb250ZW50UG9zKSYmYi5iZ092ZXJsYXkuY3NzKHtoZWlnaHQ6ZC5oZWlnaHQoKSxwb3NpdGlvbjoiYWJzb2x1dGUifSksYi5zdC5lbmFibGVFc2NhcGVLZXkmJmQub24oImtleXVwIitwLGZ1bmN0aW9uKGEpezI3PT09YS5rZXlDb2RlJiZiLmNsb3NlKCl9KSx2Lm9uKCJyZXNpemUiK3AsZnVuY3Rpb24oKXtiLnVwZGF0ZVNpemUoKX0pLGIuc3QuY2xvc2VPbkNvbnRlbnRDbGlja3x8KGYrPSIgbWZwLWF1dG8tY3Vyc29yIiksZiYmYi53cmFwLmFkZENsYXNzKGYpO3ZhciBrPWIud0g9di5oZWlnaHQoKSxuPXt9O2lmKGIuZml4ZWRDb250ZW50UG9zJiZiLl9oYXNTY3JvbGxCYXIoaykpe3ZhciBvPWIuX2dldFNjcm9sbGJhclNpemUoKTtvJiYobi5tYXJnaW5SaWdodD1vKX1iLmZpeGVkQ29udGVudFBvcyYmKGIuaXNJRTc/YSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTpuLm92ZXJmbG93PSJoaWRkZW4iKTt2YXIgcj1iLnN0Lm1haW5DbGFzcztyZXR1cm4gYi5pc0lFNyYmKHIrPSIgbWZwLWllNyIpLHImJmIuX2FkZENsYXNzVG9NRlAociksYi51cGRhdGVJdGVtSFRNTCgpLHkoIkJ1aWxkQ29udHJvbHMiKSxhKCJodG1sIikuY3NzKG4pLGIuYmdPdmVybGF5LmFkZChiLndyYXApLnByZXBlbmRUbyhiLnN0LnByZXBlbmRUb3x8YShkb2N1bWVudC5ib2R5KSksYi5fbGFzdEZvY3VzZWRFbD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNvbnRlbnQ/KGIuX2FkZENsYXNzVG9NRlAocSksYi5fc2V0Rm9jdXMoKSk6Yi5iZ092ZXJsYXkuYWRkQ2xhc3MocSksZC5vbigiZm9jdXNpbiIrcCxiLl9vbkZvY3VzSW4pfSwxNiksYi5pc09wZW49ITAsYi51cGRhdGVTaXplKGspLHkobSksY30sY2xvc2U6ZnVuY3Rpb24oKXtiLmlzT3BlbiYmKHkoaSksYi5pc09wZW49ITEsYi5zdC5yZW1vdmFsRGVsYXkmJiFiLmlzTG93SUUmJmIuc3VwcG9ydHNUcmFuc2l0aW9uPyhiLl9hZGRDbGFzc1RvTUZQKHIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLl9jbG9zZSgpfSxiLnN0LnJlbW92YWxEZWxheSkpOmIuX2Nsb3NlKCkpfSxfY2xvc2U6ZnVuY3Rpb24oKXt5KGgpO3ZhciBjPXIrIiAiK3ErIiAiO2lmKGIuYmdPdmVybGF5LmRldGFjaCgpLGIud3JhcC5kZXRhY2goKSxiLmNvbnRhaW5lci5lbXB0eSgpLGIuc3QubWFpbkNsYXNzJiYoYys9Yi5zdC5tYWluQ2xhc3MrIiAiKSxiLl9yZW1vdmVDbGFzc0Zyb21NRlAoYyksYi5maXhlZENvbnRlbnRQb3Mpe3ZhciBlPXttYXJnaW5SaWdodDoiIn07Yi5pc0lFNz9hKCJib2R5LCBodG1sIikuY3NzKCJvdmVyZmxvdyIsIiIpOmUub3ZlcmZsb3c9IiIsYSgiaHRtbCIpLmNzcyhlKX1kLm9mZigia2V5dXAiK3ArIiBmb2N1c2luIitwKSxiLmV2Lm9mZihwKSxiLndyYXAuYXR0cigiY2xhc3MiLCJtZnAtd3JhcCIpLnJlbW92ZUF0dHIoInN0eWxlIiksYi5iZ092ZXJsYXkuYXR0cigiY2xhc3MiLCJtZnAtYmciKSxiLmNvbnRhaW5lci5hdHRyKCJjbGFzcyIsIm1mcC1jb250YWluZXIiKSwhYi5zdC5zaG93Q2xvc2VCdG58fGIuc3QuY2xvc2VCdG5JbnNpZGUmJmIuY3VyclRlbXBsYXRlW2IuY3Vyckl0ZW0udHlwZV0hPT0hMHx8Yi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4mJmIuY3VyclRlbXBsYXRlLmNsb3NlQnRuLmRldGFjaCgpLGIuc3QuYXV0b0ZvY3VzTGFzdCYmYi5fbGFzdEZvY3VzZWRFbCYmYShiLl9sYXN0Rm9jdXNlZEVsKS5mb2N1cygpLGIuY3Vyckl0ZW09bnVsbCxiLmNvbnRlbnQ9bnVsbCxiLmN1cnJUZW1wbGF0ZT1udWxsLGIucHJldkhlaWdodD0wLHkoail9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7aWYoYi5pc0lPUyl7dmFyIGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoL3dpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0KmM7Yi53cmFwLmNzcygiaGVpZ2h0IixkKSxiLndIPWR9ZWxzZSBiLndIPWF8fHYuaGVpZ2h0KCk7Yi5maXhlZENvbnRlbnRQb3N8fGIud3JhcC5jc3MoImhlaWdodCIsYi53SCkseSgiUmVzaXplIil9LHVwZGF0ZUl0ZW1IVE1MOmZ1bmN0aW9uKCl7dmFyIGM9Yi5pdGVtc1tiLmluZGV4XTtiLmNvbnRlbnRDb250YWluZXIuZGV0YWNoKCksYi5jb250ZW50JiZiLmNvbnRlbnQuZGV0YWNoKCksYy5wYXJzZWR8fChjPWIucGFyc2VFbChiLmluZGV4KSk7dmFyIGQ9Yy50eXBlO2lmKHkoIkJlZm9yZUNoYW5nZSIsW2IuY3Vyckl0ZW0/Yi5jdXJySXRlbS50eXBlOiIiLGRdKSxiLmN1cnJJdGVtPWMsIWIuY3VyclRlbXBsYXRlW2RdKXt2YXIgZj1iLnN0W2RdP2Iuc3RbZF0ubWFya3VwOiExO3koIkZpcnN0TWFya3VwUGFyc2UiLGYpLGY/Yi5jdXJyVGVtcGxhdGVbZF09YShmKTpiLmN1cnJUZW1wbGF0ZVtkXT0hMH1lJiZlIT09Yy50eXBlJiZiLmNvbnRhaW5lci5yZW1vdmVDbGFzcygibWZwLSIrZSsiLWhvbGRlciIpO3ZhciBnPWJbImdldCIrZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStkLnNsaWNlKDEpXShjLGIuY3VyclRlbXBsYXRlW2RdKTtiLmFwcGVuZENvbnRlbnQoZyxkKSxjLnByZWxvYWRlZD0hMCx5KG4sYyksZT1jLnR5cGUsYi5jb250YWluZXIucHJlcGVuZChiLmNvbnRlbnRDb250YWluZXIpLHkoIkFmdGVyQ2hhbmdlIil9LGFwcGVuZENvbnRlbnQ6ZnVuY3Rpb24oYSxjKXtiLmNvbnRlbnQ9YSxhP2Iuc3Quc2hvd0Nsb3NlQnRuJiZiLnN0LmNsb3NlQnRuSW5zaWRlJiZiLmN1cnJUZW1wbGF0ZVtjXT09PSEwP2IuY29udGVudC5maW5kKCIubWZwLWNsb3NlIikubGVuZ3RofHxiLmNvbnRlbnQuYXBwZW5kKHooKSk6Yi5jb250ZW50PWE6Yi5jb250ZW50PSIiLHkoayksYi5jb250YWluZXIuYWRkQ2xhc3MoIm1mcC0iK2MrIi1ob2xkZXIiKSxiLmNvbnRlbnRDb250YWluZXIuYXBwZW5kKGIuY29udGVudCl9LHBhcnNlRWw6ZnVuY3Rpb24oYyl7dmFyIGQsZT1iLml0ZW1zW2NdO2lmKGUudGFnTmFtZT9lPXtlbDphKGUpfTooZD1lLnR5cGUsZT17ZGF0YTplLHNyYzplLnNyY30pLGUuZWwpe2Zvcih2YXIgZj1iLnR5cGVzLGc9MDtnPGYubGVuZ3RoO2crKylpZihlLmVsLmhhc0NsYXNzKCJtZnAtIitmW2ddKSl7ZD1mW2ddO2JyZWFrfWUuc3JjPWUuZWwuYXR0cigiZGF0YS1tZnAtc3JjIiksZS5zcmN8fChlLnNyYz1lLmVsLmF0dHIoImhyZWYiKSl9cmV0dXJuIGUudHlwZT1kfHxiLnN0LnR5cGV8fCJpbmxpbmUiLGUuaW5kZXg9YyxlLnBhcnNlZD0hMCxiLml0ZW1zW2NdPWUseSgiRWxlbWVudFBhcnNlIixlKSxiLml0ZW1zW2NdfSxhZGRHcm91cDpmdW5jdGlvbihhLGMpe3ZhciBkPWZ1bmN0aW9uKGQpe2QubWZwRWw9dGhpcyxiLl9vcGVuQ2xpY2soZCxhLGMpfTtjfHwoYz17fSk7dmFyIGU9ImNsaWNrLm1hZ25pZmljUG9wdXAiO2MubWFpbkVsPWEsYy5pdGVtcz8oYy5pc09iaj0hMCxhLm9mZihlKS5vbihlLGQpKTooYy5pc09iaj0hMSxjLmRlbGVnYXRlP2Eub2ZmKGUpLm9uKGUsYy5kZWxlZ2F0ZSxkKTooYy5pdGVtcz1hLGEub2ZmKGUpLm9uKGUsZCkpKX0sX29wZW5DbGljazpmdW5jdGlvbihjLGQsZSl7dmFyIGY9dm9pZCAwIT09ZS5taWRDbGljaz9lLm1pZENsaWNrOmEubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljaztpZihmfHwhKDI9PT1jLndoaWNofHxjLmN0cmxLZXl8fGMubWV0YUtleXx8Yy5hbHRLZXl8fGMuc2hpZnRLZXkpKXt2YXIgZz12b2lkIDAhPT1lLmRpc2FibGVPbj9lLmRpc2FibGVPbjphLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uO2lmKGcpaWYoYS5pc0Z1bmN0aW9uKGcpKXtpZighZy5jYWxsKGIpKXJldHVybiEwfWVsc2UgaWYodi53aWR0aCgpPGcpcmV0dXJuITA7Yy50eXBlJiYoYy5wcmV2ZW50RGVmYXVsdCgpLGIuaXNPcGVuJiZjLnN0b3BQcm9wYWdhdGlvbigpKSxlLmVsPWEoYy5tZnBFbCksZS5kZWxlZ2F0ZSYmKGUuaXRlbXM9ZC5maW5kKGUuZGVsZWdhdGUpKSxiLm9wZW4oZSl9fSx1cGRhdGVTdGF0dXM6ZnVuY3Rpb24oYSxkKXtpZihiLnByZWxvYWRlcil7YyE9PWEmJmIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtcy0iK2MpLGR8fCJsb2FkaW5nIiE9PWF8fChkPWIuc3QudExvYWRpbmcpO3ZhciBlPXtzdGF0dXM6YSx0ZXh0OmR9O3koIlVwZGF0ZVN0YXR1cyIsZSksYT1lLnN0YXR1cyxkPWUudGV4dCxiLnByZWxvYWRlci5odG1sKGQpLGIucHJlbG9hZGVyLmZpbmQoImEiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGEpe2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9KSxiLmNvbnRhaW5lci5hZGRDbGFzcygibWZwLXMtIithKSxjPWF9fSxfY2hlY2tJZkNsb3NlOmZ1bmN0aW9uKGMpe2lmKCFhKGMpLmhhc0NsYXNzKHMpKXt2YXIgZD1iLnN0LmNsb3NlT25Db250ZW50Q2xpY2ssZT1iLnN0LmNsb3NlT25CZ0NsaWNrO2lmKGQmJmUpcmV0dXJuITA7aWYoIWIuY29udGVudHx8YShjKS5oYXNDbGFzcygibWZwLWNsb3NlIil8fGIucHJlbG9hZGVyJiZjPT09Yi5wcmVsb2FkZXJbMF0pcmV0dXJuITA7aWYoYz09PWIuY29udGVudFswXXx8YS5jb250YWlucyhiLmNvbnRlbnRbMF0sYykpe2lmKGQpcmV0dXJuITB9ZWxzZSBpZihlJiZhLmNvbnRhaW5zKGRvY3VtZW50LGMpKXJldHVybiEwO3JldHVybiExfX0sX2FkZENsYXNzVG9NRlA6ZnVuY3Rpb24oYSl7Yi5iZ092ZXJsYXkuYWRkQ2xhc3MoYSksYi53cmFwLmFkZENsYXNzKGEpfSxfcmVtb3ZlQ2xhc3NGcm9tTUZQOmZ1bmN0aW9uKGEpe3RoaXMuYmdPdmVybGF5LnJlbW92ZUNsYXNzKGEpLGIud3JhcC5yZW1vdmVDbGFzcyhhKX0sX2hhc1Njcm9sbEJhcjpmdW5jdGlvbihhKXtyZXR1cm4oYi5pc0lFNz9kLmhlaWdodCgpOmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KT4oYXx8di5oZWlnaHQoKSl9LF9zZXRGb2N1czpmdW5jdGlvbigpeyhiLnN0LmZvY3VzP2IuY29udGVudC5maW5kKGIuc3QuZm9jdXMpLmVxKDApOmIud3JhcCkuZm9jdXMoKX0sX29uRm9jdXNJbjpmdW5jdGlvbihjKXtyZXR1cm4gYy50YXJnZXQ9PT1iLndyYXBbMF18fGEuY29udGFpbnMoYi53cmFwWzBdLGMudGFyZ2V0KT92b2lkIDA6KGIuX3NldEZvY3VzKCksITEpfSxfcGFyc2VNYXJrdXA6ZnVuY3Rpb24oYixjLGQpe3ZhciBlO2QuZGF0YSYmKGM9YS5leHRlbmQoZC5kYXRhLGMpKSx5KGwsW2IsYyxkXSksYS5lYWNoKGMsZnVuY3Rpb24oYyxkKXtpZih2b2lkIDA9PT1kfHxkPT09ITEpcmV0dXJuITA7aWYoZT1jLnNwbGl0KCJfIiksZS5sZW5ndGg+MSl7dmFyIGY9Yi5maW5kKHArIi0iK2VbMF0pO2lmKGYubGVuZ3RoPjApe3ZhciBnPWVbMV07InJlcGxhY2VXaXRoIj09PWc/ZlswXSE9PWRbMF0mJmYucmVwbGFjZVdpdGgoZCk6ImltZyI9PT1nP2YuaXMoImltZyIpP2YuYXR0cigic3JjIixkKTpmLnJlcGxhY2VXaXRoKGEoIjxpbWc+IikuYXR0cigic3JjIixkKS5hdHRyKCJjbGFzcyIsZi5hdHRyKCJjbGFzcyIpKSk6Zi5hdHRyKGVbMV0sZCl9fWVsc2UgYi5maW5kKHArIi0iK2MpLmh0bWwoZCl9KX0sX2dldFNjcm9sbGJhclNpemU6ZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1iLnNjcm9sbGJhclNpemUpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Euc3R5bGUuY3NzVGV4dD0id2lkdGg6IDk5cHg7IGhlaWdodDogOTlweDsgb3ZlcmZsb3c6IHNjcm9sbDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC05OTk5cHg7Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpLGIuc2Nyb2xsYmFyU2l6ZT1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGgsZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKX1yZXR1cm4gYi5zY3JvbGxiYXJTaXplfX0sYS5tYWduaWZpY1BvcHVwPXtpbnN0YW5jZTpudWxsLHByb3RvOnQucHJvdG90eXBlLG1vZHVsZXM6W10sb3BlbjpmdW5jdGlvbihiLGMpe3JldHVybiBBKCksYj1iP2EuZXh0ZW5kKCEwLHt9LGIpOnt9LGIuaXNPYmo9ITAsYi5pbmRleD1jfHwwLHRoaXMuaW5zdGFuY2Uub3BlbihiKX0sY2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlJiZhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2UuY2xvc2UoKX0scmVnaXN0ZXJNb2R1bGU6ZnVuY3Rpb24oYixjKXtjLm9wdGlvbnMmJihhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHNbYl09Yy5vcHRpb25zKSxhLmV4dGVuZCh0aGlzLnByb3RvLGMucHJvdG8pLHRoaXMubW9kdWxlcy5wdXNoKGIpfSxkZWZhdWx0czp7ZGlzYWJsZU9uOjAsa2V5Om51bGwsbWlkQ2xpY2s6ITEsbWFpbkNsYXNzOiIiLHByZWxvYWRlcjohMCxmb2N1czoiIixjbG9zZU9uQ29udGVudENsaWNrOiExLGNsb3NlT25CZ0NsaWNrOiEwLGNsb3NlQnRuSW5zaWRlOiEwLHNob3dDbG9zZUJ0bjohMCxlbmFibGVFc2NhcGVLZXk6ITAsbW9kYWw6ITEsYWxpZ25Ub3A6ITEscmVtb3ZhbERlbGF5OjAscHJlcGVuZFRvOm51bGwsZml4ZWRDb250ZW50UG9zOiJhdXRvIixmaXhlZEJnUG9zOiJhdXRvIixvdmVyZmxvd1k6ImF1dG8iLGNsb3NlTWFya3VwOic8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtY2xvc2UiPiYjMjE1OzwvYnV0dG9uPicsdENsb3NlOiJDbG9zZSAoRXNjKSIsdExvYWRpbmc6IkxvYWRpbmcuLi4iLGF1dG9Gb2N1c0xhc3Q6ITB9fSxhLmZuLm1hZ25pZmljUG9wdXA9ZnVuY3Rpb24oYyl7QSgpO3ZhciBkPWEodGhpcyk7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKCJvcGVuIj09PWMpe3ZhciBlLGY9dT9kLmRhdGEoIm1hZ25pZmljUG9wdXAiKTpkWzBdLm1hZ25pZmljUG9wdXAsZz1wYXJzZUludChhcmd1bWVudHNbMV0sMTApfHwwO2YuaXRlbXM/ZT1mLml0ZW1zW2ddOihlPWQsZi5kZWxlZ2F0ZSYmKGU9ZS5maW5kKGYuZGVsZWdhdGUpKSxlPWUuZXEoZykpLGIuX29wZW5DbGljayh7bWZwRWw6ZX0sZCxmKX1lbHNlIGIuaXNPcGVuJiZiW2NdLmFwcGx5KGIsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKTtlbHNlIGM9YS5leHRlbmQoITAse30sYyksdT9kLmRhdGEoIm1hZ25pZmljUG9wdXAiLGMpOmRbMF0ubWFnbmlmaWNQb3B1cD1jLGIuYWRkR3JvdXAoZCxjKTtyZXR1cm4gZH07dmFyIEMsRCxFLEY9ImlubGluZSIsRz1mdW5jdGlvbigpe0UmJihELmFmdGVyKEUuYWRkQ2xhc3MoQykpLmRldGFjaCgpLEU9bnVsbCl9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShGLHtvcHRpb25zOntoaWRkZW5DbGFzczoiaGlkZSIsbWFya3VwOiIiLHROb3RGb3VuZDoiQ29udGVudCBub3QgZm91bmQifSxwcm90bzp7aW5pdElubGluZTpmdW5jdGlvbigpe2IudHlwZXMucHVzaChGKSx3KGgrIi4iK0YsZnVuY3Rpb24oKXtHKCl9KX0sZ2V0SW5saW5lOmZ1bmN0aW9uKGMsZCl7aWYoRygpLGMuc3JjKXt2YXIgZT1iLnN0LmlubGluZSxmPWEoYy5zcmMpO2lmKGYubGVuZ3RoKXt2YXIgZz1mWzBdLnBhcmVudE5vZGU7ZyYmZy50YWdOYW1lJiYoRHx8KEM9ZS5oaWRkZW5DbGFzcyxEPXgoQyksQz0ibWZwLSIrQyksRT1mLmFmdGVyKEQpLmRldGFjaCgpLnJlbW92ZUNsYXNzKEMpKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKX1lbHNlIGIudXBkYXRlU3RhdHVzKCJlcnJvciIsZS50Tm90Rm91bmQpLGY9YSgiPGRpdj4iKTtyZXR1cm4gYy5pbmxpbmVFbGVtZW50PWYsZn1yZXR1cm4gYi51cGRhdGVTdGF0dXMoInJlYWR5IiksYi5fcGFyc2VNYXJrdXAoZCx7fSxjKSxkfX19KTt2YXIgSCxJPSJhamF4IixKPWZ1bmN0aW9uKCl7SCYmYShkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhIKX0sSz1mdW5jdGlvbigpe0ooKSxiLnJlcSYmYi5yZXEuYWJvcnQoKX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKEkse29wdGlvbnM6e3NldHRpbmdzOm51bGwsY3Vyc29yOiJtZnAtYWpheC1jdXIiLHRFcnJvcjonPGEgaHJlZj0iJXVybCUiPlRoZSBjb250ZW50PC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLid9LHByb3RvOntpbml0QWpheDpmdW5jdGlvbigpe2IudHlwZXMucHVzaChJKSxIPWIuc3QuYWpheC5jdXJzb3IsdyhoKyIuIitJLEspLHcoIkJlZm9yZUNoYW5nZS4iK0ksSyl9LGdldEFqYXg6ZnVuY3Rpb24oYyl7SCYmYShkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhIKSxiLnVwZGF0ZVN0YXR1cygibG9hZGluZyIpO3ZhciBkPWEuZXh0ZW5kKHt1cmw6Yy5zcmMsc3VjY2VzczpmdW5jdGlvbihkLGUsZil7dmFyIGc9e2RhdGE6ZCx4aHI6Zn07eSgiUGFyc2VBamF4IixnKSxiLmFwcGVuZENvbnRlbnQoYShnLmRhdGEpLEkpLGMuZmluaXNoZWQ9ITAsSigpLGIuX3NldEZvY3VzKCksc2V0VGltZW91dChmdW5jdGlvbigpe2Iud3JhcC5hZGRDbGFzcyhxKX0sMTYpLGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLHkoIkFqYXhDb250ZW50QWRkZWQiKX0sZXJyb3I6ZnVuY3Rpb24oKXtKKCksYy5maW5pc2hlZD1jLmxvYWRFcnJvcj0hMCxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGIuc3QuYWpheC50RXJyb3IucmVwbGFjZSgiJXVybCUiLGMuc3JjKSl9fSxiLnN0LmFqYXguc2V0dGluZ3MpO3JldHVybiBiLnJlcT1hLmFqYXgoZCksIiJ9fX0pO3ZhciBMLE09ZnVuY3Rpb24oYyl7aWYoYy5kYXRhJiZ2b2lkIDAhPT1jLmRhdGEudGl0bGUpcmV0dXJuIGMuZGF0YS50aXRsZTt2YXIgZD1iLnN0LmltYWdlLnRpdGxlU3JjO2lmKGQpe2lmKGEuaXNGdW5jdGlvbihkKSlyZXR1cm4gZC5jYWxsKGIsYyk7aWYoYy5lbClyZXR1cm4gYy5lbC5hdHRyKGQpfHwiIn1yZXR1cm4iIn07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJpbWFnZSIse29wdGlvbnM6e21hcmt1cDonPGRpdiBjbGFzcz0ibWZwLWZpZ3VyZSI+PGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj48ZmlndXJlPjxkaXYgY2xhc3M9Im1mcC1pbWciPjwvZGl2PjxmaWdjYXB0aW9uPjxkaXYgY2xhc3M9Im1mcC1ib3R0b20tYmFyIj48ZGl2IGNsYXNzPSJtZnAtdGl0bGUiPjwvZGl2PjxkaXYgY2xhc3M9Im1mcC1jb3VudGVyIj48L2Rpdj48L2Rpdj48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PC9kaXY+JyxjdXJzb3I6Im1mcC16b29tLW91dC1jdXIiLHRpdGxlU3JjOiJ0aXRsZSIsdmVydGljYWxGaXQ6ITAsdEVycm9yOic8YSBocmVmPSIldXJsJSI+VGhlIGltYWdlPC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLid9LHByb3RvOntpbml0SW1hZ2U6ZnVuY3Rpb24oKXt2YXIgYz1iLnN0LmltYWdlLGQ9Ii5pbWFnZSI7Yi50eXBlcy5wdXNoKCJpbWFnZSIpLHcobStkLGZ1bmN0aW9uKCl7ImltYWdlIj09PWIuY3Vyckl0ZW0udHlwZSYmYy5jdXJzb3ImJmEoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoYy5jdXJzb3IpfSksdyhoK2QsZnVuY3Rpb24oKXtjLmN1cnNvciYmYShkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhjLmN1cnNvciksdi5vZmYoInJlc2l6ZSIrcCl9KSx3KCJSZXNpemUiK2QsYi5yZXNpemVJbWFnZSksYi5pc0xvd0lFJiZ3KCJBZnRlckNoYW5nZSIsYi5yZXNpemVJbWFnZSl9LHJlc2l6ZUltYWdlOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJySXRlbTtpZihhJiZhLmltZyYmYi5zdC5pbWFnZS52ZXJ0aWNhbEZpdCl7dmFyIGM9MDtiLmlzTG93SUUmJihjPXBhcnNlSW50KGEuaW1nLmNzcygicGFkZGluZy10b3AiKSwxMCkrcGFyc2VJbnQoYS5pbWcuY3NzKCJwYWRkaW5nLWJvdHRvbSIpLDEwKSksYS5pbWcuY3NzKCJtYXgtaGVpZ2h0IixiLndILWMpfX0sX29uSW1hZ2VIYXNTaXplOmZ1bmN0aW9uKGEpe2EuaW1nJiYoYS5oYXNTaXplPSEwLEwmJmNsZWFySW50ZXJ2YWwoTCksYS5pc0NoZWNraW5nSW1nU2l6ZT0hMSx5KCJJbWFnZUhhc1NpemUiLGEpLGEuaW1nSGlkZGVuJiYoYi5jb250ZW50JiZiLmNvbnRlbnQucmVtb3ZlQ2xhc3MoIm1mcC1sb2FkaW5nIiksYS5pbWdIaWRkZW49ITEpKX0sZmluZEltYWdlU2l6ZTpmdW5jdGlvbihhKXt2YXIgYz0wLGQ9YS5pbWdbMF0sZT1mdW5jdGlvbihmKXtMJiZjbGVhckludGVydmFsKEwpLEw9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtyZXR1cm4gZC5uYXR1cmFsV2lkdGg+MD92b2lkIGIuX29uSW1hZ2VIYXNTaXplKGEpOihjPjIwMCYmY2xlYXJJbnRlcnZhbChMKSxjKyssdm9pZCgzPT09Yz9lKDEwKTo0MD09PWM/ZSg1MCk6MTAwPT09YyYmZSg1MDApKSl9LGYpfTtlKDEpfSxnZXRJbWFnZTpmdW5jdGlvbihjLGQpe3ZhciBlPTAsZj1mdW5jdGlvbigpe2MmJihjLmltZ1swXS5jb21wbGV0ZT8oYy5pbWcub2ZmKCIubWZwbG9hZGVyIiksYz09PWIuY3Vyckl0ZW0mJihiLl9vbkltYWdlSGFzU2l6ZShjKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSksYy5oYXNTaXplPSEwLGMubG9hZGVkPSEwLHkoIkltYWdlTG9hZENvbXBsZXRlIikpOihlKyssMjAwPmU/c2V0VGltZW91dChmLDEwMCk6ZygpKSl9LGc9ZnVuY3Rpb24oKXtjJiYoYy5pbWcub2ZmKCIubWZwbG9hZGVyIiksYz09PWIuY3Vyckl0ZW0mJihiLl9vbkltYWdlSGFzU2l6ZShjKSxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpKSxjLmhhc1NpemU9ITAsYy5sb2FkZWQ9ITAsYy5sb2FkRXJyb3I9ITApfSxoPWIuc3QuaW1hZ2UsaT1kLmZpbmQoIi5tZnAtaW1nIik7aWYoaS5sZW5ndGgpe3ZhciBqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2ouY2xhc3NOYW1lPSJtZnAtaW1nIixjLmVsJiZjLmVsLmZpbmQoImltZyIpLmxlbmd0aCYmKGouYWx0PWMuZWwuZmluZCgiaW1nIikuYXR0cigiYWx0IikpLGMuaW1nPWEoaikub24oImxvYWQubWZwbG9hZGVyIixmKS5vbigiZXJyb3IubWZwbG9hZGVyIixnKSxqLnNyYz1jLnNyYyxpLmlzKCJpbWciKSYmKGMuaW1nPWMuaW1nLmNsb25lKCkpLGo9Yy5pbWdbMF0sai5uYXR1cmFsV2lkdGg+MD9jLmhhc1NpemU9ITA6ai53aWR0aHx8KGMuaGFzU2l6ZT0hMSl9cmV0dXJuIGIuX3BhcnNlTWFya3VwKGQse3RpdGxlOk0oYyksaW1nX3JlcGxhY2VXaXRoOmMuaW1nfSxjKSxiLnJlc2l6ZUltYWdlKCksYy5oYXNTaXplPyhMJiZjbGVhckludGVydmFsKEwpLGMubG9hZEVycm9yPyhkLmFkZENsYXNzKCJtZnAtbG9hZGluZyIpLGIudXBkYXRlU3RhdHVzKCJlcnJvciIsaC50RXJyb3IucmVwbGFjZSgiJXVybCUiLGMuc3JjKSkpOihkLnJlbW92ZUNsYXNzKCJtZnAtbG9hZGluZyIpLGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpKSxkKTooYi51cGRhdGVTdGF0dXMoImxvYWRpbmciKSxjLmxvYWRpbmc9ITAsYy5oYXNTaXplfHwoYy5pbWdIaWRkZW49ITAsZC5hZGRDbGFzcygibWZwLWxvYWRpbmciKSxiLmZpbmRJbWFnZVNpemUoYykpLGQpfX19KTt2YXIgTixPPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PU4mJihOPXZvaWQgMCE9PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKS5zdHlsZS5Nb3pUcmFuc2Zvcm0pLE59O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgiem9vbSIse29wdGlvbnM6e2VuYWJsZWQ6ITEsZWFzaW5nOiJlYXNlLWluLW91dCIsZHVyYXRpb246MzAwLG9wZW5lcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5pcygiaW1nIik/YTphLmZpbmQoImltZyIpfX0scHJvdG86e2luaXRab29tOmZ1bmN0aW9uKCl7dmFyIGEsYz1iLnN0Lnpvb20sZD0iLnpvb20iO2lmKGMuZW5hYmxlZCYmYi5zdXBwb3J0c1RyYW5zaXRpb24pe3ZhciBlLGYsZz1jLmR1cmF0aW9uLGo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbG9uZSgpLnJlbW92ZUF0dHIoInN0eWxlIikucmVtb3ZlQXR0cigiY2xhc3MiKS5hZGRDbGFzcygibWZwLWFuaW1hdGVkLWltYWdlIiksZD0iYWxsICIrYy5kdXJhdGlvbi8xZTMrInMgIitjLmVhc2luZyxlPXtwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDo5OTk5LGxlZnQ6MCx0b3A6MCwiLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IjoiaGlkZGVuIn0sZj0idHJhbnNpdGlvbiI7cmV0dXJuIGVbIi13ZWJraXQtIitmXT1lWyItbW96LSIrZl09ZVsiLW8tIitmXT1lW2ZdPWQsYi5jc3MoZSksYn0saz1mdW5jdGlvbigpe2IuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIil9O3coIkJ1aWxkQ29udHJvbHMiK2QsZnVuY3Rpb24oKXtpZihiLl9hbGxvd1pvb20oKSl7aWYoY2xlYXJUaW1lb3V0KGUpLGIuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxhPWIuX2dldEl0ZW1Ub1pvb20oKSwhYSlyZXR1cm4gdm9pZCBrKCk7Zj1qKGEpLGYuY3NzKGIuX2dldE9mZnNldCgpKSxiLndyYXAuYXBwZW5kKGYpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2YuY3NzKGIuX2dldE9mZnNldCghMCkpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2soKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5yZW1vdmUoKSxhPWY9bnVsbCx5KCJab29tQW5pbWF0aW9uRW5kZWQiKX0sMTYpfSxnKX0sMTYpfX0pLHcoaStkLGZ1bmN0aW9uKCl7aWYoYi5fYWxsb3dab29tKCkpe2lmKGNsZWFyVGltZW91dChlKSxiLnN0LnJlbW92YWxEZWxheT1nLCFhKXtpZihhPWIuX2dldEl0ZW1Ub1pvb20oKSwhYSlyZXR1cm47Zj1qKGEpfWYuY3NzKGIuX2dldE9mZnNldCghMCkpLGIud3JhcC5hcHBlbmQoZiksYi5jb250ZW50LmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmLmNzcyhiLl9nZXRPZmZzZXQoKSl9LDE2KX19KSx3KGgrZCxmdW5jdGlvbigpe2IuX2FsbG93Wm9vbSgpJiYoaygpLGYmJmYucmVtb3ZlKCksYT1udWxsKX0pfX0sX2FsbG93Wm9vbTpmdW5jdGlvbigpe3JldHVybiJpbWFnZSI9PT1iLmN1cnJJdGVtLnR5cGV9LF9nZXRJdGVtVG9ab29tOmZ1bmN0aW9uKCl7cmV0dXJuIGIuY3Vyckl0ZW0uaGFzU2l6ZT9iLmN1cnJJdGVtLmltZzohMX0sX2dldE9mZnNldDpmdW5jdGlvbihjKXt2YXIgZDtkPWM/Yi5jdXJySXRlbS5pbWc6Yi5zdC56b29tLm9wZW5lcihiLmN1cnJJdGVtLmVsfHxiLmN1cnJJdGVtKTt2YXIgZT1kLm9mZnNldCgpLGY9cGFyc2VJbnQoZC5jc3MoInBhZGRpbmctdG9wIiksMTApLGc9cGFyc2VJbnQoZC5jc3MoInBhZGRpbmctYm90dG9tIiksMTApO2UudG9wLT1hKHdpbmRvdykuc2Nyb2xsVG9wKCktZjt2YXIgaD17d2lkdGg6ZC53aWR0aCgpLGhlaWdodDoodT9kLmlubmVySGVpZ2h0KCk6ZFswXS5vZmZzZXRIZWlnaHQpLWctZn07cmV0dXJuIE8oKT9oWyItbW96LXRyYW5zZm9ybSJdPWgudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitlLmxlZnQrInB4LCIrZS50b3ArInB4KSI6KGgubGVmdD1lLmxlZnQsaC50b3A9ZS50b3ApLGh9fX0pO3ZhciBQPSJpZnJhbWUiLFE9Ii8vYWJvdXQ6YmxhbmsiLFI9ZnVuY3Rpb24oYSl7aWYoYi5jdXJyVGVtcGxhdGVbUF0pe3ZhciBjPWIuY3VyclRlbXBsYXRlW1BdLmZpbmQoImlmcmFtZSIpO2MubGVuZ3RoJiYoYXx8KGNbMF0uc3JjPVEpLGIuaXNJRTgmJmMuY3NzKCJkaXNwbGF5IixhPyJibG9jayI6Im5vbmUiKSl9fTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoUCx7b3B0aW9uczp7bWFya3VwOic8ZGl2IGNsYXNzPSJtZnAtaWZyYW1lLXNjYWxlciI+PGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj48aWZyYW1lIGNsYXNzPSJtZnAtaWZyYW1lIiBzcmM9Ii8vYWJvdXQ6YmxhbmsiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+PC9kaXY+JyxzcmNBY3Rpb246ImlmcmFtZV9zcmMiLHBhdHRlcm5zOnt5b3V0dWJlOntpbmRleDoieW91dHViZS5jb20iLGlkOiJ2PSIsc3JjOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyVpZCU/YXV0b3BsYXk9MSJ9LHZpbWVvOntpbmRleDoidmltZW8uY29tLyIsaWQ6Ii8iLHNyYzoiLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyVpZCU/YXV0b3BsYXk9MSJ9LGdtYXBzOntpbmRleDoiLy9tYXBzLmdvb2dsZS4iLHNyYzoiJWlkJSZvdXRwdXQ9ZW1iZWQifX19LHByb3RvOntpbml0SWZyYW1lOmZ1bmN0aW9uKCl7Yi50eXBlcy5wdXNoKFApLHcoIkJlZm9yZUNoYW5nZSIsZnVuY3Rpb24oYSxiLGMpe2IhPT1jJiYoYj09PVA/UigpOmM9PT1QJiZSKCEwKSl9KSx3KGgrIi4iK1AsZnVuY3Rpb24oKXtSKCl9KX0sZ2V0SWZyYW1lOmZ1bmN0aW9uKGMsZCl7dmFyIGU9Yy5zcmMsZj1iLnN0LmlmcmFtZTthLmVhY2goZi5wYXR0ZXJucyxmdW5jdGlvbigpe3JldHVybiBlLmluZGV4T2YodGhpcy5pbmRleCk+LTE/KHRoaXMuaWQmJihlPSJzdHJpbmciPT10eXBlb2YgdGhpcy5pZD9lLnN1YnN0cihlLmxhc3RJbmRleE9mKHRoaXMuaWQpK3RoaXMuaWQubGVuZ3RoLGUubGVuZ3RoKTp0aGlzLmlkLmNhbGwodGhpcyxlKSksZT10aGlzLnNyYy5yZXBsYWNlKCIlaWQlIixlKSwhMSk6dm9pZCAwfSk7dmFyIGc9e307cmV0dXJuIGYuc3JjQWN0aW9uJiYoZ1tmLnNyY0FjdGlvbl09ZSksYi5fcGFyc2VNYXJrdXAoZCxnLGMpLGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLGR9fX0pO3ZhciBTPWZ1bmN0aW9uKGEpe3ZhciBjPWIuaXRlbXMubGVuZ3RoO3JldHVybiBhPmMtMT9hLWM6MD5hP2MrYTphfSxUPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5yZXBsYWNlKC8lY3VyciUvZ2ksYisxKS5yZXBsYWNlKC8ldG90YWwlL2dpLGMpfTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoImdhbGxlcnkiLHtvcHRpb25zOntlbmFibGVkOiExLGFycm93TWFya3VwOic8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtYXJyb3cgbWZwLWFycm93LSVkaXIlIj48L2J1dHRvbj4nLHByZWxvYWQ6WzAsMl0sbmF2aWdhdGVCeUltZ0NsaWNrOiEwLGFycm93czohMCx0UHJldjoiUHJldmlvdXMgKExlZnQgYXJyb3cga2V5KSIsdE5leHQ6Ik5leHQgKFJpZ2h0IGFycm93IGtleSkiLHRDb3VudGVyOiIlY3VyciUgb2YgJXRvdGFsJSJ9LHByb3RvOntpbml0R2FsbGVyeTpmdW5jdGlvbigpe3ZhciBjPWIuc3QuZ2FsbGVyeSxlPSIubWZwLWdhbGxlcnkiO3JldHVybiBiLmRpcmVjdGlvbj0hMCxjJiZjLmVuYWJsZWQ/KGYrPSIgbWZwLWdhbGxlcnkiLHcobStlLGZ1bmN0aW9uKCl7Yy5uYXZpZ2F0ZUJ5SW1nQ2xpY2smJmIud3JhcC5vbigiY2xpY2siK2UsIi5tZnAtaW1nIixmdW5jdGlvbigpe3JldHVybiBiLml0ZW1zLmxlbmd0aD4xPyhiLm5leHQoKSwhMSk6dm9pZCAwfSksZC5vbigia2V5ZG93biIrZSxmdW5jdGlvbihhKXszNz09PWEua2V5Q29kZT9iLnByZXYoKTozOT09PWEua2V5Q29kZSYmYi5uZXh0KCl9KX0pLHcoIlVwZGF0ZVN0YXR1cyIrZSxmdW5jdGlvbihhLGMpe2MudGV4dCYmKGMudGV4dD1UKGMudGV4dCxiLmN1cnJJdGVtLmluZGV4LGIuaXRlbXMubGVuZ3RoKSl9KSx3KGwrZSxmdW5jdGlvbihhLGQsZSxmKXt2YXIgZz1iLml0ZW1zLmxlbmd0aDtlLmNvdW50ZXI9Zz4xP1QoYy50Q291bnRlcixmLmluZGV4LGcpOiIifSksdygiQnVpbGRDb250cm9scyIrZSxmdW5jdGlvbigpe2lmKGIuaXRlbXMubGVuZ3RoPjEmJmMuYXJyb3dzJiYhYi5hcnJvd0xlZnQpe3ZhciBkPWMuYXJyb3dNYXJrdXAsZT1iLmFycm93TGVmdD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnRQcmV2KS5yZXBsYWNlKC8lZGlyJS9naSwibGVmdCIpKS5hZGRDbGFzcyhzKSxmPWIuYXJyb3dSaWdodD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnROZXh0KS5yZXBsYWNlKC8lZGlyJS9naSwicmlnaHQiKSkuYWRkQ2xhc3Mocyk7ZS5jbGljayhmdW5jdGlvbigpe2IucHJldigpfSksZi5jbGljayhmdW5jdGlvbigpe2IubmV4dCgpfSksYi5jb250YWluZXIuYXBwZW5kKGUuYWRkKGYpKX19KSx3KG4rZSxmdW5jdGlvbigpe2IuX3ByZWxvYWRUaW1lb3V0JiZjbGVhclRpbWVvdXQoYi5fcHJlbG9hZFRpbWVvdXQpLGIuX3ByZWxvYWRUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLnByZWxvYWROZWFyYnlJbWFnZXMoKSxiLl9wcmVsb2FkVGltZW91dD1udWxsfSwxNil9KSx2b2lkIHcoaCtlLGZ1bmN0aW9uKCl7ZC5vZmYoZSksYi53cmFwLm9mZigiY2xpY2siK2UpLGIuYXJyb3dSaWdodD1iLmFycm93TGVmdD1udWxsfSkpOiExfSxuZXh0OmZ1bmN0aW9uKCl7Yi5kaXJlY3Rpb249ITAsYi5pbmRleD1TKGIuaW5kZXgrMSksYi51cGRhdGVJdGVtSFRNTCgpfSxwcmV2OmZ1bmN0aW9uKCl7Yi5kaXJlY3Rpb249ITEsYi5pbmRleD1TKGIuaW5kZXgtMSksYi51cGRhdGVJdGVtSFRNTCgpfSxnb1RvOmZ1bmN0aW9uKGEpe2IuZGlyZWN0aW9uPWE+PWIuaW5kZXgsYi5pbmRleD1hLGIudXBkYXRlSXRlbUhUTUwoKX0scHJlbG9hZE5lYXJieUltYWdlczpmdW5jdGlvbigpe3ZhciBhLGM9Yi5zdC5nYWxsZXJ5LnByZWxvYWQsZD1NYXRoLm1pbihjWzBdLGIuaXRlbXMubGVuZ3RoKSxlPU1hdGgubWluKGNbMV0sYi5pdGVtcy5sZW5ndGgpO2ZvcihhPTE7YTw9KGIuZGlyZWN0aW9uP2U6ZCk7YSsrKWIuX3ByZWxvYWRJdGVtKGIuaW5kZXgrYSk7Zm9yKGE9MTthPD0oYi5kaXJlY3Rpb24/ZDplKTthKyspYi5fcHJlbG9hZEl0ZW0oYi5pbmRleC1hKX0sX3ByZWxvYWRJdGVtOmZ1bmN0aW9uKGMpe2lmKGM9UyhjKSwhYi5pdGVtc1tjXS5wcmVsb2FkZWQpe3ZhciBkPWIuaXRlbXNbY107ZC5wYXJzZWR8fChkPWIucGFyc2VFbChjKSkseSgiTGF6eUxvYWQiLGQpLCJpbWFnZSI9PT1kLnR5cGUmJihkLmltZz1hKCc8aW1nIGNsYXNzPSJtZnAtaW1nIiAvPicpLm9uKCJsb2FkLm1mcGxvYWRlciIsZnVuY3Rpb24oKXtkLmhhc1NpemU9ITB9KS5vbigiZXJyb3IubWZwbG9hZGVyIixmdW5jdGlvbigpe2QuaGFzU2l6ZT0hMCxkLmxvYWRFcnJvcj0hMCx5KCJMYXp5TG9hZEVycm9yIixkKX0pLmF0dHIoInNyYyIsZC5zcmMpKSxkLnByZWxvYWRlZD0hMH19fX0pO3ZhciBVPSJyZXRpbmEiO2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShVLHtvcHRpb25zOntyZXBsYWNlU3JjOmZ1bmN0aW9uKGEpe3JldHVybiBhLnNyYy5yZXBsYWNlKC9cLlx3KyQvLGZ1bmN0aW9uKGEpe3JldHVybiJAMngiK2F9KX0scmF0aW86MX0scHJvdG86e2luaXRSZXRpbmE6ZnVuY3Rpb24oKXtpZih3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xKXt2YXIgYT1iLnN0LnJldGluYSxjPWEucmF0aW87Yz1pc05hTihjKT9jKCk6YyxjPjEmJih3KCJJbWFnZUhhc1NpemUuIitVLGZ1bmN0aW9uKGEsYil7Yi5pbWcuY3NzKHsibWF4LXdpZHRoIjpiLmltZ1swXS5uYXR1cmFsV2lkdGgvYyx3aWR0aDoiMTAwJSJ9KX0pLHcoIkVsZW1lbnRQYXJzZS4iK1UsZnVuY3Rpb24oYixkKXtkLnNyYz1hLnJlcGxhY2VTcmMoZCxjKX0pKX19fX0pLEEoKX0pOw=="}},"time_used":154,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":154,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white9.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.999Z","timestamp":1785154927999,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white9.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:56 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CJm7Uz%2B6auVzpomEPo5tarbIVsr6Ey1W8XvI84csqCajnvrChbp9frUQ9Ha5KVjWLb43c3KanbUFaPZ2z02KUm3twR1orst%2Fz4lEbcuwlRZHAVtfXvuQ9AWuZcWydsbH9FuNGHd7M10%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d8fb28a-OSL\r\ncontent-length: 2555\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":2555,"size_decoded":3317,"mime_type":"image/png","magic":"PNG image data, 155 x 77, 8-bit/color RGBA, non-interlaced","md5":"55705950f9edd02a020c4744f007a0bb","sha1":"2a2e554dd53360dee5dc9671e998caf94a2dd9d9","sha256":"5e7793d760fa419b3ea52736d510df65843a056612a587b67cc9d1e4ba99c107","sha512":"3eb73ebf82b1cb08271c14615d5fc4175d10f7c9aa4a247596fee6e612481f06073c7b95d8ffcb6fdeab0cbe6d9e206f7be8231c124ed66e84658a2d3a5aa3a5","ssdeep":"","tlshash":"5d511a83fd10e582de82bac511e53567f21706400ed4e259b9dfc0d30a712f321a9acb","first_seen":"2026-07-27T05:58:00.83474Z","last_seen":"2026-07-27T12:23:18.789804Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAABNCAYAAACxBha+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZBMDZDRjUwNzQ4OTExRTg5RDVBQjg0M0FBRTRCMzRGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZBMDZDRjUxNzQ4OTExRTg5RDVBQjg0M0FBRTRCMzRGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkEwNkNGNEU3NDg5MTFFODlENUFCODQzQUFFNEIzNEYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkEwNkNGNEY3NDg5MTFFODlENUFCODQzQUFFNEIzNEYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7urHNIAAAGcUlEQVR42uydL4zjRhTG56IFVkMMqipSVclFNTQMqKrAwMBlXXiwsPBg4cGDgYGBgYGGBgVhZ6kFVpHJSmFbZ/Vm7+XtezPjbLrSdb9PGl02ccYzz795f8aO7t3Dw4ODoNfQBCaAABsE2CAIsEGADYIAGwTYIMAGQYANAmwQBNggwAYBNggCbBBggyDABgE2CLBBEGCDABsEATYIsEFvUjf+xf39/aV95EP7gV7/NbQeZn17mk6n6bBdqOXQ5uK9emg7mB+6JmyroVXK+x4+AAddJWcrBGgtNQ5cAfNCYzzbgqDK6e9/hvZ5aD8J0Nb0+v3QZizEdgSd//4pn2uGtofpAVssTH5HjasR+dqKXs8YeLyYOAGcIcwCNq9vjXzMgnI18rxzAhOVK2A7y7d4mNSqz5h2BJYMszlgA2zyfQ/EKfSVAkKfk3mAOno/Z8dWFGqP1C4Rzxt96O5FeK7YIjnSOBrjnDM6fsaOP1BLGeMi8FlOttrQeAqlkLpji3qv5LBLkYKsIzbpRTrDj6nYmD6K+c3oXNyujeJ4Sjaentn2yR6Rfdp+Op02FmydOFlBg8rZxdkGPBOHbUbG3Sk53BjY5EXr2WdLMiZXSVDsmGEyCvmlco6S5rURlfVY2OSF4sfuqe9C9HUQNp9FqvlMmXOrXI9c9LOi+fF+pF0l9HPjeiyory7BHo9wTgIf8gHfCVB2kRDYi9XqgcuE53mpKjJgFrkoXrcGaPz4uytt2+Qjjr0NzMEZCyO7YAGUI9KgVeTYnJ3zmLDozDBaUQeaAbaGy5baUx/LwDmaxIn3yt+Z0rf3EDkrcHbsYnCIfOjslXB3q4Qc6fl5CK6VfDczxu3/zcWFW5Jt5Xx7w3YWgMfIdxcsBbLGV4hzWLbaMXsURkifeY5uFFpvjXDn98fGJPU1DXIpPErGtlY2CStDM8pcLIaduOg1HdMoF+hIeVBnbPX4/NRaDMeAF+feO0uEzY/vwC6qNfdcWTQZtUrYoDe892munwKwSY8mbVUZi+lxPEN+9mSPIZfLNdgyqhYtd364sHrs6bul4V7vaDJji4dCnKNWvM+Wra5cgNgpHpuHpzLR8576/qB49f0FtvIQxFIHJwqyudhSShnz0tl7nYVwMp3ieMy+B8A+KGnZeiKSwUwY7GAMwL0AjEYYZDYi4XaKB3EJiyAL5KRWYZS511EtKv7bEbDJ6jGPXCcO1zyQv46xbYoe7T0xgNgRbDL2XiNZbqj/3ZX6HpuMh47P3evryDxwbPGVYowHxetUEbBbkZte27aj99m+BvEtBL+iW8Wjtsr7cyUUyL281Gq5U0JfdsFc9gkeXnqi3wzPF8qtN/S9LNG2WuGRka067btDzna2LziE1Wc5W8tWxSmkfuPO74N2LwCjF8aQJfjYvmcEy0KsUr9yfVmeUz7oNyErsRVTkxG1LYEmcbUfIwWEHHdreIu9UhVLgFNvIXrgcmNsG/dlY9kZxWAhcvk9q0a9rXzFflZZD3CVzAYZ5XFnm7o7kSD/kpjnpK7cynDzXUIyXSiG71jF6d9bGEn3R2V+oQsbq7pTQ0theDzr+9tAkVaO3H/cB87TCttpsM3d+a1F7f63367JlR2NZ+ecCOI/BaAqL4zfecBQ7YWVKF8gsYpxL7Y7YglvPbKSfGm+KSPA1vhMRoIPotWJNue2C0WUdeTzY2Ll+6ghtLY3ymTXTr8F5MNfygXmG4gLY6Bj+ukCYWpL0JbMwEe2elslv/L3DOW90SbRg7cj4GmVdKINVHsHFlL53Pldl4OxNTUTXrSPjHUjPNZRvF4rtupZjtkn2uOx33f+/64SN1JPA/098OWUuwhzZ989OJ38Dwf9b5Tyg5dJQmjoFZe6jITUXIDWiXCZOTw2/uaU+jybz63euy+Pq6xc+BEjDbQOkAG2UOnOHyv6c2g/B6o57VHwRng0CLCZCXDhnt/7G6OlkbvhKV3A9hT6+CaoSywWKpf2ewT8/uANahKBaC+g8BDKOwK8Ag0d6x/HwS+r3qCsrY+Yfhzar0rY5Tnc2l3naVzoK9BLtj5i+uzO99lksVADNOhasPkwWxv5GMIklFwgpMo/iv39KSQP7W8k/lAUtpSYa6gHYNB/HUYhCLBBgA0CbBAE2CDABkGADQJsEATYIMAGATYIAmwQYIMgwAYBNgiwQRBggwAbBAE2CLBBgA2Crq5/BRgAM8XGOrlYfN0AAAAASUVORK5CYII="}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/geometry.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.829Z","timestamp":1785154928829,"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":"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 /maps-api-v3/api/js/65/10a/geometry.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 2530\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:12 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:12 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411656\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":6974,"size_decoded":3368,"mime_type":"text/javascript","magic":"ASCII text, with very long lines (597)","md5":"a3ff4707ad93e4297dbe2f2429a0ca03","sha1":"fbeb10e42ab2198fa9ddf56d88c79eb3ee223481","sha256":"43f3b18399de83bc94ff9855d2052369c94a254fd354cd12e7a6cd2754ecf020","sha512":"0f8fb929f39e30fdaa775adf385467fa9eee60c49d71229519e51837f71f33d1b9d3d7c99b4fbbc54fce2dc608e39dc0e0269a86b92b82167cc9f46761bcf43d","ssdeep":"192:bgT/KojfT00xuWvchDh+AeJ9ZUE0Okh3/e5MfB6ruCK3V:cuojLfxu+UFdk35yPF","tlshash":"94e1b97c3a6a3957d370eb5684450053e5a7b5be205b8e488c7de28e26b84cd05eff38","first_seen":"2026-07-22T18:33:47.566776Z","last_seen":"2026-07-28T15:47:12.141913Z","times_seen":516,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ2dlb21ldHJ5JywgZnVuY3Rpb24oXyl7dmFyIEdyYT1mdW5jdGlvbihhLGIpe3JldHVybiBNYXRoLmFicyhfLmRtKGItYSwtMTgwLDE4MCkpfSxIcmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZighZCl7Yz1HcmEoYS5sbmcoKSxjKS9HcmEoYS5sbmcoKSxiLmxuZygpKTtpZighZSlyZXR1cm4gZT1NYXRoLnNpbihfLnRsKGEubGF0KCkpKSxlPU1hdGgubG9nKCgxK2UpLygxLWUpKS8yLGI9TWF0aC5zaW4oXy50bChiLmxhdCgpKSksXy51bCgyKk1hdGguYXRhbihNYXRoLmV4cChlK2MqKE1hdGgubG9nKCgxK2IpLygxLWIpKS8yLWUpKSktTWF0aC5QSS8yKTthPWUuZnJvbUxhdExuZ1RvUG9pbnQoYSk7Yj1lLmZyb21MYXRMbmdUb1BvaW50KGIpO3JldHVybiBlLmZyb21Qb2ludFRvTGF0TG5nKG5ldyBfLmJvKGEueCtjKihiLngtYS54KSxhLnkrYyooYi55LWEueSkpKS5sYXQoKX1lPV8udGwoYS5sYXQoKSk7YT1fLnRsKGEubG5nKCkpO2Q9Xy50bChiLmxhdCgpKTtiPV8udGwoYi5sbmcoKSk7Yz1fLnRsKGMpO3JldHVybiBfLmRtKF8udWwoTWF0aC5hdGFuMihNYXRoLnNpbihlKSoKTWF0aC5jb3MoZCkqTWF0aC5zaW4oYy1iKS1NYXRoLnNpbihkKSpNYXRoLmNvcyhlKSpNYXRoLnNpbihjLWEpLE1hdGguY29zKGUpKk1hdGguY29zKGQpKk1hdGguc2luKGEtYikpKSwtOTAsOTApfSxJcmE9ZnVuY3Rpb24oYSxiKXthPW5ldyBfLlRtKGEsITEpO2I9bmV3IF8uVG0oYiwhMSk7cmV0dXJuIGEuZXF1YWxzKGIpfSxKcmE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5YbShhKTtjPWN8fDFFLTk7dmFyIGQ9Xy5kbShhLmxuZygpLC0xODAsMTgwKSxlPWIgaW5zdGFuY2VvZiBfLnZ0LGY9ISFiLmdldCgiZ2VvZGVzaWMiKSxnPWIuZ2V0KCJsYXRMbmdzIik7Yj1iLmdldCgibWFwIik7Yj0hZiYmYj9iLmdldFByb2plY3Rpb24oKTpudWxsO2ZvcihsZXQgcT0wLHU9Zy5nZXRMZW5ndGgoKTtxPHU7KytxKXtsZXQgeD1nLmdldEF0KHEpLHo9eC5nZXRMZW5ndGgoKSxCPWU/ejp6LTE7Zm9yKGxldCBLPTA7SzxCOysrSyl7dmFyIGg9eC5nZXRBdChLKTtsZXQgTz14LmdldEF0KChLKzEpJXopOwppZihJcmEoaCxhKXx8SXJhKE8sYSkpcmV0dXJuITA7dmFyIGs9Xy5kbShoLmxuZygpLC0xODAsMTgwKSxtPV8uZG0oTy5sbmcoKSwtMTgwLDE4MCk7bGV0IEE9TWF0aC5tYXgoayxtKSxRPU1hdGgubWluKGssbSk7aWYoaz1NYXRoLmFicyhfLmRtKGstbSwtMTgwLDE4MCkpPD0xRS05JiYoTWF0aC5hYnMoXy5kbShrLWQsLTE4MCwxODApKTw9Y3x8TWF0aC5hYnMoXy5kbShtLWQsLTE4MCwxODApKTw9Yykpe2s9YS5sYXQoKTttPU1hdGgubWluKGgubGF0KCksTy5sYXQoKSktYzt2YXIgcD1NYXRoLm1heChoLmxhdCgpLE8ubGF0KCkpK2M7az1rPj1tJiZrPD1wfWlmKGspcmV0dXJuITA7aWYoQS1RPjE4MD9kK2M+PUF8fGQtYzw9UTpkK2M+PVEmJmQtYzw9QSlpZihoPUhyYShoLE8sZCxmLGIpLE1hdGguYWJzKGgtYS5sYXQoKSk8YylyZXR1cm4hMH19cmV0dXJuITF9LEtyYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uVW0oYSk7YT1fLlZtKGEpO3ZhciBkPV8uVW0oYik7Yj1fLlZtKGIpO3JldHVybiAyKgpNYXRoLmFzaW4oTWF0aC5zcXJ0KE1hdGgucG93KE1hdGguc2luKChjLWQpLzIpLDIpK01hdGguY29zKGMpKk1hdGguY29zKGQpKk1hdGgucG93KE1hdGguc2luKChhLWIpLzIpLDIpKSl9LExyYT1mdW5jdGlvbihhLGIsYyl7YT1fLlhtKGEpO2I9Xy5YbShiKTtjPWN8fDYzNzgxMzc7cmV0dXJuIEtyYShhLGIpKmN9LE9yYT1mdW5jdGlvbihhLGIpe2I9Ynx8NjM3ODEzNzthIGluc3RhbmNlb2YgXy5FbyYmKGE9YS5nZXRBcnJheSgpKTthPSgwLF8uZXMpKGEpO2lmKGEubGVuZ3RoPT09MClyZXR1cm4gMDt2YXIgYz1BcnJheSg0KSxkPUFycmF5KDMpLGU9WzEsMCwwLDBdLGY9QXJyYXkoMyk7TXJhKGFbYS5sZW5ndGgtMV0sZik7Zm9yKGxldCB4PTA7eDxhLmxlbmd0aDsrK3gpTXJhKGFbeF0sZCksUEIoZixkLGMpLE5yYShjLGUsZSksW2ZbMF0sZlsxXSxmWzJdXT1kO3ZhciBbZyxoLGtdPWYsW20scCxxLHVdPWU7cmV0dXJuIDIqTWF0aC5hdGFuMihnKnAraCpxK2sqdSxtKSooYipiKX0sClByYT1mdW5jdGlvbihhLGIpe2lmKGlzRmluaXRlKGEpKXt2YXIgYz1hJTM2MDthPU1hdGgucm91bmQoYy85MCk7Yy09YSo5MDtpZihjPT09MzB8fGM9PT0tMzApe2M9TWF0aC5zaWduKGMpKi41O3ZhciBkPU1hdGguc3FydCguNzUpfWVsc2UgYz09PTQ1fHxjPT09LTQ1PyhjPU1hdGguc2lnbihjKSpNYXRoLlNRUlQxXzIsZD1NYXRoLlNRUlQxXzIpOihkPWMvMTgwKk1hdGguUEksYz1NYXRoLnNpbihkKSxkPU1hdGguY29zKGQpKTtzd2l0Y2goYSYzKXtjYXNlIDA6YlswXT1jO2JbMV09ZDticmVhaztjYXNlIDE6YlswXT1kO2JbMV09LWM7YnJlYWs7Y2FzZSAyOmJbMF09LWM7YlsxXT0tZDticmVhaztkZWZhdWx0OmJbMF09LWQsYlsxXT1jfX1lbHNlIGJbMF09TmFOLGJbMV09TmFOfSxNcmE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BcnJheSgyKTtQcmEoYS5sYXQoKSxjKTt2YXIgW2QsZV09YztQcmEoYS5sbmcoKSxjKTt2YXIgW2YsZ109YztiWzBdPWUqZztiWzFdPWUqZjtiWzJdPWR9LApOcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWFbMF0qYlsxXSthWzFdKmJbMF0rYVsyXSpiWzNdLWFbM10qYlsyXSxlPWFbMF0qYlsyXS1hWzFdKmJbM10rYVsyXSpiWzBdK2FbM10qYlsxXSxmPWFbMF0qYlszXSthWzFdKmJbMl0tYVsyXSpiWzFdK2FbM10qYlswXTtjWzBdPWFbMF0qYlswXS1hWzFdKmJbMV0tYVsyXSpiWzJdLWFbM10qYlszXTtjWzFdPWQ7Y1syXT1lO2NbM109Zn0sUEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWFbMF0tYlswXSxlPWFbMV0tYlsxXSxmPWFbMl0tYlsyXSxnPWFbMF0rYlswXSxoPWFbMV0rYlsxXSxrPWFbMl0rYlsyXSxtPWcqZytoKmgrayprLHA9ZSprLWYqaDtmPWYqZy1kKms7ZD1kKmgtZSpnO2U9bSptK3AqcCtmKmYrZCpkO2lmKGUhPT0wKWI9TWF0aC5zcXJ0KGUpLGNbMF09bS9iLGNbMV09cC9iLGNbMl09Zi9iLGNbM109ZC9iO2Vsc2V7YTpmb3IobT1bYVswXS1iWzBdLGFbMV0tYlsxXSxhWzJdLWJbMl1dLHA9MDtwPDM7KytwKWlmKG1bcF0hPT0KMCl7aWYobVtwXTwwKXttPVstbVswXSwtbVsxXSwtbVsyXV07YnJlYWsgYX1icmVha31wPTA7Zm9yKGY9MTtmPG0ubGVuZ3RoOysrZilNYXRoLmFicyhtW2ZdKTxNYXRoLmFicyhtW3BdKSYmKHA9Zik7Zj1bMCwwLDBdO2ZbcF09MTttPVttWzFdKmZbMl0tbVsyXSpmWzFdLG1bMl0qZlswXS1tWzBdKmZbMl0sbVswXSpmWzFdLW1bMV0qZlswXV07cD1NYXRoLmh5cG90KC4uLm0pO209W21bMF0vcCxtWzFdL3AsbVsyXS9wXTtwPUFycmF5KDQpO1BCKGEsbSxwKTthPUFycmF5KDQpO1BCKG0sYixhKTtOcmEoYSxwLGMpfX0sUUI9Y2xhc3N7fTtRQi5pc0xvY2F0aW9uT25FZGdlPUpyYTsKUUIuY29udGFpbnNMb2NhdGlvbj1mdW5jdGlvbihhLGIpe2E9Xy5YbShhKTt2YXIgYz1fLmRtKGEubG5nKCksLTE4MCwxODApLGQ9ISFiLmdldCgiZ2VvZGVzaWMiKSxlPWIuZ2V0KCJsYXRMbmdzIiksZj1iLmdldCgibWFwIik7Zj0hZCYmZj9mLmdldFByb2plY3Rpb24oKTpudWxsO3ZhciBnPSExO2ZvcihsZXQgaz0wLG09ZS5nZXRMZW5ndGgoKTtrPG07KytrKXtsZXQgcD1lLmdldEF0KGspO2ZvcihsZXQgcT0wLHU9cC5nZXRMZW5ndGgoKTtxPHU7KytxKXtsZXQgeD1wLmdldEF0KHEpLHo9cC5nZXRBdCgocSsxKSV1KTt2YXIgaD1fLmRtKHgubG5nKCksLTE4MCwxODApO2xldCBCPV8uZG0oei5sbmcoKSwtMTgwLDE4MCksSz1NYXRoLm1heChoLEIpO2g9TWF0aC5taW4oaCxCKTsoSy1oPjE4MD9jPj1LfHxjPGg6YzxLJiZjPj1oKSYmSHJhKHgseixjLGQsZik8YS5sYXQoKSYmKGc9IWcpfX1yZXR1cm4gZ3x8SnJhKGEsYil9O3ZhciBSQj1jbGFzc3t9O1JCLmNvbXB1dGVTaWduZWRBcmVhPU9yYTsKUkIuY29tcHV0ZUFyZWE9ZnVuY3Rpb24oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBfLkVvfHxBcnJheS5pc0FycmF5KGEpfHxhIGluc3RhbmNlb2YgXy5Sbnx8YSBpbnN0YW5jZW9mIF8uU28pKXRyeXthPV8uVG4oYSl9Y2F0Y2goYyl7dHJ5e2E9bmV3IF8uU28oKDAsXy5qamEpKGEpKX1jYXRjaChkKXt0aHJvdyBfLkFtKCJJbnZhbGlkIHBhdGggcGFzc2VkIHRvIGNvbXB1dGVBcmVhKCk6ICIrSlNPTi5zdHJpbmdpZnkoYSkpO319Yj1ifHw2Mzc4MTM3O2lmKGEgaW5zdGFuY2VvZiBfLlNvKXtpZihhLmdldFJhZGl1cygpPT09dm9pZCAwKXRocm93IF8uQW0oIkludmFsaWQgcGF0aCBwYXNzZWQgdG8gY29tcHV0ZUFyZWEoKTogQ2lyY2xlIGlzIG1pc3NpbmcgcmFkaXVzLiIpO2lmKGEuZ2V0UmFkaXVzKCk8MCl0aHJvdyBfLkFtKCJJbnZhbGlkIHBhdGggcGFzc2VkIHRvIGNvbXB1dGVBcmVhKCk6IENpcmNsZSBtdXN0IGhhdmUgbm9uLW5lZ2F0aXZlIHJhZGl1cy4iKTtpZihiPDApdGhyb3cgXy5BbSgiSW52YWxpZCByYWRpdXNPZlNwaGVyZSBwYXNzZWQgdG8gY29tcHV0ZUFyZWEoKTogcmFkaXVzT2ZTcGhlcmUgbXVzdCBiZSBub24tbmVnYXRpdmUuIik7CmlmKGEuZ2V0UmFkaXVzKCk+TWF0aC5QSSpiKXRocm93IF8uQW0oIkludmFsaWQgcGF0aCBwYXNzZWQgdG8gY29tcHV0ZUFyZWEoKTogQ2lyY2xlIG11c3Qgbm90IGNvdmVyIG1vcmUgdGhhbiAxMDAlIG9mIHRoZSBzcGhlcmUuIik7cmV0dXJuIDIqTWF0aC5QSSpiKioyKigxLU1hdGguY29zKGEuZ2V0UmFkaXVzKCkvYikpfWlmKGEgaW5zdGFuY2VvZiBfLlJuKXtpZihiPDApdGhyb3cgXy5BbSgiSW52YWxpZCByYWRpdXNPZlNwaGVyZSBwYXNzZWQgdG8gY29tcHV0ZUFyZWEoKTogcmFkaXVzT2ZTcGhlcmUgbXVzdCBiZSBub24tbmVnYXRpdmUuIik7aWYoYS5sYXQubG8+YS5sYXQuaGkpdGhyb3cgXy5BbSgiSW52YWxpZCBwYXRoIHBhc3NlZCB0byBjb21wdXRlQXJlYSgpOiB0aGUgc291dGhlcm4gTGF0TG5nIG9mIGEgTGF0TG5nQm91bmRzIGNhbm5vdCBiZSBtb3JlIG5vcnRoIHRoYW4gdGhlIG5vcnRoZXJuIExhdExuZy4iKTtsZXQgYz0yKk1hdGguUEkqYioqMiooMS1NYXRoLmNvcygoYS5sYXQubG8tCjkwKSpNYXRoLlBJLzE4MCkpO2MtPTIqTWF0aC5QSSpiKioyKigxLU1hdGguY29zKChhLmxhdC5oaS05MCkqTWF0aC5QSS8xODApKTtyZXR1cm4gYypNYXRoLmFicyhhLmxuZy5oaS1hLmxuZy5sbykvMzYwfXJldHVybiBNYXRoLmFicyhPcmEoYSxiKSl9O1JCLmNvbXB1dGVMZW5ndGg9ZnVuY3Rpb24oYSxiKXtiPWJ8fDYzNzgxMzc7dmFyIGM9MDthIGluc3RhbmNlb2YgXy5FbyYmKGE9YS5nZXRBcnJheSgpKTtmb3IobGV0IGQ9MCxlPWEubGVuZ3RoLTE7ZDxlOysrZCljKz1McmEoYVtkXSxhW2QrMV0sYik7cmV0dXJuIGN9O1JCLmNvbXB1dGVEaXN0YW5jZUJldHdlZW49THJhO1JCLnRyYXZlcnNlUGF0aD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJ0cmF2ZXJzZVBhdGgoKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgTWFwcyBKYXZhU2NyaXB0IEFQSS4iKTt9OwpSQi5pbnRlcnBvbGF0ZT1mdW5jdGlvbihhLGIsYyl7YT1fLlhtKGEpO2I9Xy5YbShiKTt2YXIgZD1fLlVtKGEpLGU9Xy5WbShhKSxmPV8uVW0oYiksZz1fLlZtKGIpLGg9TWF0aC5jb3MoZCksaz1NYXRoLmNvcyhmKTtiPUtyYShhLGIpO3ZhciBtPU1hdGguc2luKGIpO2lmKG08MUUtNilyZXR1cm4gbmV3IF8uVG0oYS5sYXQoKSxhLmxuZygpKTthPU1hdGguc2luKCgxLWMpKmIpL207Yz1NYXRoLnNpbihjKmIpL207Yj1hKmgqTWF0aC5jb3MoZSkrYyprKk1hdGguY29zKGcpO2U9YSpoKk1hdGguc2luKGUpK2MqaypNYXRoLnNpbihnKTtyZXR1cm4gbmV3IF8uVG0oXy51bChNYXRoLmF0YW4yKGEqTWF0aC5zaW4oZCkrYypNYXRoLnNpbihmKSxNYXRoLnNxcnQoYipiK2UqZSkpKSxfLnVsKE1hdGguYXRhbjIoZSxiKSkpfTsKUkIuY29tcHV0ZU9mZnNldE9yaWdpbj1mdW5jdGlvbihhLGIsYyxkKXthPV8uWG0oYSk7Yz1fLnRsKGMpO2IvPWR8fDYzNzgxMzc7ZD1NYXRoLmNvcyhiKTt2YXIgZT1NYXRoLnNpbihiKSpNYXRoLmNvcyhjKTtiPU1hdGguc2luKGIpKk1hdGguc2luKGMpO2M9TWF0aC5zaW4oXy5VbShhKSk7dmFyIGY9ZSplKmQqZCtkKmQqZCpkLWQqZCpjKmM7aWYoZjwwKXJldHVybiBudWxsO3ZhciBnPWUqYytNYXRoLnNxcnQoZik7Zy89ZCpkK2UqZTt2YXIgaD0oYy1lKmcpL2Q7Zz1NYXRoLmF0YW4yKGgsZyk7aWYoZzwtTWF0aC5QSS8yfHxnPk1hdGguUEkvMilnPWUqYy1NYXRoLnNxcnQoZiksZz1NYXRoLmF0YW4yKGgsZy8oZCpkK2UqZSkpO2lmKGc8LU1hdGguUEkvMnx8Zz5NYXRoLlBJLzIpcmV0dXJuIG51bGw7YT1fLlZtKGEpLU1hdGguYXRhbjIoYixkKk1hdGguY29zKGcpLWUqTWF0aC5zaW4oZykpO3JldHVybiBuZXcgXy5UbShfLnVsKGcpLF8udWwoYSkpfTsKUkIuY29tcHV0ZU9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXthPV8uWG0oYSk7Yi89ZHx8NjM3ODEzNztjPV8udGwoYyk7dmFyIGU9Xy5VbShhKTthPV8uVm0oYSk7ZD1NYXRoLmNvcyhiKTtiPU1hdGguc2luKGIpO3ZhciBmPU1hdGguc2luKGUpO2U9TWF0aC5jb3MoZSk7dmFyIGc9ZCpmK2IqZSpNYXRoLmNvcyhjKTtyZXR1cm4gbmV3IF8uVG0oXy51bChNYXRoLmFzaW4oZykpLF8udWwoYStNYXRoLmF0YW4yKGIqZSpNYXRoLnNpbihjKSxkLWYqZykpKX07UkIuY29tcHV0ZUhlYWRpbmc9ZnVuY3Rpb24oYSxiKXthPV8uWG0oYSk7Yj1fLlhtKGIpO3ZhciBjPV8uVW0oYSksZD1fLlZtKGEpO2E9Xy5VbShiKTtiPV8uVm0oYiktZDtyZXR1cm4gXy5kbShfLnVsKE1hdGguYXRhbjIoTWF0aC5zaW4oYikqTWF0aC5jb3MoYSksTWF0aC5jb3MoYykqTWF0aC5zaW4oYSktTWF0aC5zaW4oYykqTWF0aC5jb3MoYSkqTWF0aC5jb3MoYikpKSwtMTgwLDE4MCl9O3ZhciBRcmE9e2VuY29kaW5nOl8uT3Qsc3BoZXJpY2FsOlJCLHBvbHk6UUJ9O18uVWEuZ29vZ2xlLm1hcHMuZ2VvbWV0cnk9UXJhO18uSWwoImdlb21ldHJ5IixRcmEpO30pOwo="}},"time_used":13,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/css/magnific-popup.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.907Z","timestamp":1785154927907,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/css/magnific-popup.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:12 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=QKrHeihaqwOWcpjr4tXIVY8lWeXO6eNrmCW9c9Pa%2Fjy32uuaK49W0qnDjmOjsA2N%2FA8MRGEWqqtsIo1ECj0JcvzKluhCTxdEHvAv3lJFUosgoOek1JZNtTOSPqgq089ey7Vs%2Buzo%2Fx4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b6d4eb28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1683\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":7302,"size_decoded":2496,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c03fe8704d90e35eba342d2ca2c5a530","sha1":"74a41372d833195b77dd9e167f82ca395cc4702d","sha256":"1155981e8193622f58553eed0bba2fa43512af362a3d54dedef64c46970bb371","sha512":"0de3ac5d97701cc10e70418347b307399ca94e3b2c2e5fee3ad8f30a3bd44f5fd119e669895495ce566011de827ff69dab617ca5b5d6d96c093a88b55e990d46","ssdeep":"192:NN4yXVw9SfoRyEBpEbxHq98Z/vzz/89aO:OSUL8xH2","tlshash":"8de1cf16db212342e537e7b5e7938729e7220063e30304abbfd15845ebfda484661fd9","first_seen":"2023-04-05T15:18:30Z","last_seen":"2026-08-11T11:32:27.080283Z","times_seen":8028,"resource_available":false,"data":"LyogTWFnbmlmaWMgUG9wdXAgQ1NTICovDQoubWZwLWJnIHsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxMDAlOw0KICB6LWluZGV4OiAxMDQyOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBwb3NpdGlvbjogZml4ZWQ7DQogIGJhY2tncm91bmQ6ICMwYjBiMGI7DQogIG9wYWNpdHk6IDAuODsgfQ0KDQoubWZwLXdyYXAgew0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQogIHotaW5kZXg6IDEwNDM7DQogIHBvc2l0aW9uOiBmaXhlZDsNCiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfQ0KDQoubWZwLWNvbnRhaW5lciB7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAxMDAlOw0KICBsZWZ0OiAwOw0KICB0b3A6IDA7DQogIHBhZGRpbmc6IDAgOHB4Ow0KICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9DQoNCi5tZnAtY29udGFpbmVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICcnOw0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIGhlaWdodDogMTAwJTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQ0KDQoubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUgew0KICBkaXNwbGF5OiBub25lOyB9DQoNCi5tZnAtY29udGVudCB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICBtYXJnaW46IDAgYXV0bzsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgei1pbmRleDogMTA0NTsgfQ0KDQoubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LA0KLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQgew0KICB3aWR0aDogMTAwJTsNCiAgY3Vyc29yOiBhdXRvOyB9DQoNCi5tZnAtYWpheC1jdXIgew0KICBjdXJzb3I6IHByb2dyZXNzOyB9DQoNCi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHsNCiAgY3Vyc29yOiAtbW96LXpvb20tb3V0Ow0KICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7DQogIGN1cnNvcjogem9vbS1vdXQ7IH0NCg0KLm1mcC16b29tIHsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjsNCiAgY3Vyc29yOiAtbW96LXpvb20taW47DQogIGN1cnNvcjogem9vbS1pbjsgfQ0KDQoubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7DQogIGN1cnNvcjogYXV0bzsgfQ0KDQoubWZwLWNsb3NlLA0KLm1mcC1hcnJvdywNCi5tZnAtcHJlbG9hZGVyLA0KLm1mcC1jb3VudGVyIHsNCiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgdXNlci1zZWxlY3Q6IG5vbmU7IH0NCg0KLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUgew0KICBkaXNwbGF5OiBub25lOyB9DQoNCi5tZnAtaGlkZSB7DQogIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQ0KDQoubWZwLXByZWxvYWRlciB7DQogIGNvbG9yOiAjQ0NDOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHRvcDogNTAlOw0KICB3aWR0aDogYXV0bzsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KICBtYXJnaW4tdG9wOiAtMC44ZW07DQogIGxlZnQ6IDhweDsNCiAgcmlnaHQ6IDhweDsNCiAgei1pbmRleDogMTA0NDsgfQ0KICAubWZwLXByZWxvYWRlciBhIHsNCiAgICBjb2xvcjogI0NDQzsgfQ0KICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIgew0KICAgICAgY29sb3I6ICNGRkY7IH0NCg0KLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHsNCiAgZGlzcGxheTogbm9uZTsgfQ0KDQoubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHsNCiAgZGlzcGxheTogbm9uZTsgfQ0KDQpidXR0b24ubWZwLWNsb3NlLA0KYnV0dG9uLm1mcC1hcnJvdyB7DQogIG92ZXJmbG93OiB2aXNpYmxlOw0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KICBib3JkZXI6IDA7DQogIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIG91dGxpbmU6IG5vbmU7DQogIHBhZGRpbmc6IDA7DQogIHotaW5kZXg6IDEwNDY7DQogIGJveC1zaGFkb3c6IG5vbmU7DQogIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9DQoNCmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7DQogIHBhZGRpbmc6IDA7DQogIGJvcmRlcjogMDsgfQ0KDQoubWZwLWNsb3NlIHsNCiAgd2lkdGg6IDQ0cHg7DQogIGhlaWdodDogNDRweDsNCiAgbGluZS1oZWlnaHQ6IDQ0cHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDA7DQogIHRvcDogMDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIG9wYWNpdHk6IDAuNjU7DQogIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7DQogIGNvbG9yOiAjRkZGOw0KICBmb250LXN0eWxlOiBub3JtYWw7DQogIGZvbnQtc2l6ZTogMjhweDsNCiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9DQogIC5tZnAtY2xvc2U6aG92ZXIsDQogIC5tZnAtY2xvc2U6Zm9jdXMgew0KICAgIG9wYWNpdHk6IDE7IH0NCiAgLm1mcC1jbG9zZTphY3RpdmUgew0KICAgIHRvcDogMXB4OyB9DQoNCi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Ugew0KICBjb2xvcjogIzMzMzsgfQ0KDQoubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLA0KLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Ugew0KICBjb2xvcjogI0ZGRjsNCiAgcmlnaHQ6IC02cHg7DQogIHRleHQtYWxpZ246IHJpZ2h0Ow0KICBwYWRkaW5nLXJpZ2h0OiA2cHg7DQogIHdpZHRoOiAxMDAlOyB9DQoNCi5tZnAtY291bnRlciB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgY29sb3I6ICNDQ0M7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgbGluZS1oZWlnaHQ6IDE4cHg7DQogIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0NCg0KLm1mcC1hcnJvdyB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgb3BhY2l0eTogMC42NTsNCiAgbWFyZ2luOiAwOw0KICB0b3A6IDUwJTsNCiAgbWFyZ2luLXRvcDogLTU1cHg7DQogIHBhZGRpbmc6IDA7DQogIHdpZHRoOiA5MHB4Ow0KICBoZWlnaHQ6IDExMHB4Ow0KICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9DQogIC5tZnAtYXJyb3c6YWN0aXZlIHsNCiAgICBtYXJnaW4tdG9wOiAtNTRweDsgfQ0KICAubWZwLWFycm93OmhvdmVyLA0KICAubWZwLWFycm93OmZvY3VzIHsNCiAgICBvcGFjaXR5OiAxOyB9DQogIC5tZnAtYXJyb3c6YmVmb3JlLA0KICAubWZwLWFycm93OmFmdGVyIHsNCiAgICBjb250ZW50OiAnJzsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDA7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDA7DQogICAgdG9wOiAwOw0KICAgIG1hcmdpbi10b3A6IDM1cHg7DQogICAgbWFyZ2luLWxlZnQ6IDM1cHg7DQogICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH0NCiAgLm1mcC1hcnJvdzphZnRlciB7DQogICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDsNCiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4Ow0KICAgIHRvcDogOHB4OyB9DQogIC5tZnAtYXJyb3c6YmVmb3JlIHsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4Ow0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7DQogICAgb3BhY2l0eTogMC43OyB9DQoNCi5tZnAtYXJyb3ctbGVmdCB7DQogIGxlZnQ6IDA7IH0NCiAgLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHsNCiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjsNCiAgICBtYXJnaW4tbGVmdDogMzFweDsgfQ0KICAubWZwLWFycm93LWxlZnQ6YmVmb3JlIHsNCiAgICBtYXJnaW4tbGVmdDogMjVweDsNCiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfQ0KDQoubWZwLWFycm93LXJpZ2h0IHsNCiAgcmlnaHQ6IDA7IH0NCiAgLm1mcC1hcnJvdy1yaWdodDphZnRlciB7DQogICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjsNCiAgICBtYXJnaW4tbGVmdDogMzlweDsgfQ0KICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfQ0KDQoubWZwLWlmcmFtZS1ob2xkZXIgew0KICBwYWRkaW5nLXRvcDogNDBweDsNCiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0NCiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7DQogICAgbGluZS1oZWlnaHQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWF4LXdpZHRoOiA5MDBweDsgfQ0KICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7DQogICAgdG9wOiAtNDBweDsgfQ0KDQoubWZwLWlmcmFtZS1zY2FsZXIgew0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9DQogIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7DQogICAgYmFja2dyb3VuZDogIzAwMDsgfQ0KDQovKiBNYWluIGltYWdlIGluIHBvcHVwICovDQppbWcubWZwLWltZyB7DQogIHdpZHRoOiBhdXRvOw0KICBtYXgtd2lkdGg6IDEwMCU7DQogIGhlaWdodDogYXV0bzsNCiAgZGlzcGxheTogYmxvY2s7DQogIGxpbmUtaGVpZ2h0OiAwOw0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICBwYWRkaW5nOiA0MHB4IDAgNDBweDsNCiAgbWFyZ2luOiAwIGF1dG87IH0NCg0KLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovDQoubWZwLWZpZ3VyZSB7DQogIGxpbmUtaGVpZ2h0OiAwOyB9DQogIC5tZnAtZmlndXJlOmFmdGVyIHsNCiAgICBjb250ZW50OiAnJzsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbGVmdDogMDsNCiAgICB0b3A6IDQwcHg7DQogICAgYm90dG9tOiA0MHB4Ow0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHJpZ2h0OiAwOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICB6LWluZGV4OiAtMTsNCiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTsNCiAgICBiYWNrZ3JvdW5kOiAjNDQ0OyB9DQogIC5tZnAtZmlndXJlIHNtYWxsIHsNCiAgICBjb2xvcjogI0JEQkRCRDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDE0cHg7IH0NCiAgLm1mcC1maWd1cmUgZmlndXJlIHsNCiAgICBtYXJnaW46IDA7IH0NCg0KLm1mcC1ib3R0b20tYmFyIHsNCiAgbWFyZ2luLXRvcDogLTM2cHg7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAxMDAlOw0KICBsZWZ0OiAwOw0KICB3aWR0aDogMTAwJTsNCiAgY3Vyc29yOiBhdXRvOyB9DQoNCi5tZnAtdGl0bGUgew0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBsaW5lLWhlaWdodDogMThweDsNCiAgY29sb3I6ICNGM0YzRjM7DQogIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgcGFkZGluZy1yaWdodDogMzZweDsgfQ0KDQoubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQgew0KICBtYXgtd2lkdGg6IDEwMCU7IH0NCg0KLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHsNCiAgY3Vyc29yOiBwb2ludGVyOyB9DQoNCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkgew0KICAvKioNCiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW4NCiAgICAgICAqLw0KICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9DQogIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7DQogICAgcGFkZGluZzogMDsgfQ0KICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIgew0KICAgIHRvcDogMDsNCiAgICBib3R0b206IDA7IH0NCiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHsNCiAgICBkaXNwbGF5OiBpbmxpbmU7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsgfQ0KICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7DQogICAgYm90dG9tOiAwOw0KICAgIG1hcmdpbjogMDsNCiAgICB0b3A6IGF1dG87DQogICAgcGFkZGluZzogM3B4IDVweDsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQ0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkgew0KICAgICAgcGFkZGluZzogMDsgfQ0KICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHsNCiAgICByaWdodDogNXB4Ow0KICAgIHRvcDogM3B4OyB9DQogIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHsNCiAgICB0b3A6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgd2lkdGg6IDM1cHg7DQogICAgaGVpZ2h0OiAzNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzNXB4Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHBhZGRpbmc6IDA7IH0gfQ0KDQpAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgew0KICAubWZwLWFycm93IHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfQ0KICAubWZwLWFycm93LWxlZnQgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9DQogIC5tZnAtYXJyb3ctcmlnaHQgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9DQogIC5tZnAtY29udGFpbmVyIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDZweDsNCiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfQ0K"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo1.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.006Z","timestamp":1785154928006,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo1.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=iTwQRFkbsRsZccfFbW9kqgqQIcEAbYWnhL531JJcIb2EsXoidPQTK%2Ft4r6OwiXYheLjay6P2gTbP4oRyompCrdOneq0j6LsbLrCmqScWwF8S6ZbeJ6lIaYm%2B%2BrvRWHIdfKF7xJbZ9sk%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d92b28a-OSL\r\ncontent-length: 3199\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3199,"size_decoded":3963,"mime_type":"image/png","magic":"PNG image data, 158 x 47, 8-bit/color RGBA, non-interlaced","md5":"38f5876baa93beae8f34bb25064bbc9e","sha1":"48f7257452dc6835fca3f7ed2b855f913669f124","sha256":"02ee3b5d7572c95029671555ac590da7c0939a1f3d9bc2e9ec3ab03d3cb4e914","sha512":"2162facf63075676b484685d0a5a7b272567b3fe8985e7abd42c93136b2da7a51caa3cdc4cc27568bdeff26b32b798f8cf9a032ba9789a99eb567969a5f6c13e","ssdeep":"","tlshash":"ac613dc956516a105a86dcd018958047cc0b0c8457def37afc9ddc5aa6fc1bb74b44ca","first_seen":"2026-07-27T05:58:00.863982Z","last_seen":"2026-07-27T12:23:18.820094Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAvCAYAAAASE3OrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQ2QzQ4OEZFM0Q4NzExRThBREM4QTRGMDc0MjFBOTkxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQ2QzQ4OEZGM0Q4NzExRThBREM4QTRGMDc0MjFBOTkxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDZDNDg4RkMzRDg3MTFFOEFEQzhBNEYwNzQyMUE5OTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDZDNDg4RkQzRDg3MTFFOEFEQzhBNEYwNzQyMUE5OTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5ztyVcAAAI9UlEQVR42uxcTXbiOBBW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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/favicon.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.807Z","timestamp":1785154928807,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/favicon.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:14 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:58 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gjk0WtgtcYKZmUYvIG4AYPO4NpGcjdchWHYx3%2Frs4IPIwvcA928Fu6Uf%2Fcgaupd4zWbgeCT04iEQo%2B0qZuFSVa5TvqjuVXtd%2FvREbSkIsLcy1CAKz1lXau%2FWMaunjhmFMruLb2z%2FQn0%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=6,i=?0\r\ncf-ray: a21b9ba10e27b28a-OSL\r\ncontent-length: 19124\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":19124,"size_decoded":19898,"mime_type":"image/png","magic":"PNG image data, 347 x 407, 8-bit/color RGBA, non-interlaced","md5":"1e016ac5d2407d7d7114497f25ab3e19","sha1":"21a3aed82e679f8ca9fb110d547d8504fc326573","sha256":"d522069ffd2454439f9ae3846839e143b44cac1eb7f2d33a1f2f04f79e4f15a1","sha512":"dc424efaf85138c2d830d8d8ae2d2a5862c84e82be24c2f406ad43818e9c3c078a96e34bb6187ef6c5b7194d46d3f85a3b6e296f7361c9feb15473fc077e6975","ssdeep":"384:tygHTpukPA/PyPy5Fs73J/VB5hUB46AQWrK3cfQfnmquFQ9FK0i:t/sPKy5wZ/7iYdrKRnnL9EL","tlshash":"bc82d02e73bc6f71659a7e0f798834305475a86091ff72a5485fd1be00dbfa2117840a","first_seen":"2026-07-27T05:58:00.866627Z","last_seen":"2026-07-27T12:23:18.766496Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":10,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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://primeelitecapital.com/","date":"2026-07-27T12:22:08.956Z","timestamp":1785154928956,"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://primeelitecapital.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: 429115\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-08-11T09:56:40.259869Z","times_seen":56889,"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":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/particles.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.939Z","timestamp":1785154927939,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/particles.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=WD8YmumB4%2BUSOU2kGtOaB8TbGzPQWGJWC%2FmrA1fw7jqJKstjz2jJcBoDPJgLGAq%2FKUQXOWvXbcJl0ZvXrhpwcx%2BSvYLIamBLxckRQV7RzMKvioc%2Fmg13EoMPR01MI%2FZzRrfLPCvYbWg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d62b28a-OSL\r\ncontent-length: 5735\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":23364,"size_decoded":6514,"mime_type":"text/javascript","magic":"ASCII text, with very long lines (23002)","md5":"00debcf6cf0789a19cee2278011afcd4","sha1":"8017f8b1869077db728573f1ca4684a00af69462","sha256":"faee7815a5fd27e938d1e01c8392b66332024908eb118048f608eee671371df6","sha512":"29e7f9b1cee07d369c47b4d929e95cad1b35e62a5fefeb7e9fb661ea628d25b996fbf4517425bd9f07cb9f8617d2cda73ba2afe58d8286a8086a4682e8f5b4f4","ssdeep":"384:NkfJtGvWjT6uYvqhCz8wSEHESxtVAFPQcYpeib+9rOEKXWd/:NC7T6uYvn8wRxwyryVOEKXW5","tlshash":"61a2934d23f73e77378ab2e09be9d122c774a4d1399b04b0f93c667da52549201ee7a0","first_seen":"2023-03-07T01:16:44Z","last_seen":"2026-08-11T11:15:06.368121Z","times_seen":5492,"resource_available":true,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLyogQXV0aG9yIDogVmluY2VudCBHYXJyZWF1ICAtIHZpbmNlbnRnYXJyZWF1LmNvbQovKiBNSVQgbGljZW5zZTogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAovKiBEZW1vIC8gR2VuZXJhdG9yIDogdmluY2VudGdhcnJlYXUuY29tL3BhcnRpY2xlcy5qcwovKiBHaXRIdWIgOiBnaXRodWIuY29tL1ZpbmNlbnRHYXJyZWF1L3BhcnRpY2xlcy5qcwovKiBIb3cgdG8gdXNlPyA6IENoZWNrIHRoZSBHaXRIdWIgUkVBRE1FCi8qIHYyLjAuMAovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBoZXhUb1JnYihlKXt2YXIgYT0vXiM/KFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pJC9pO2U9ZS5yZXBsYWNlKGEsZnVuY3Rpb24oZSxhLHQsaSl7cmV0dXJuIGErYSt0K3QraStpfSk7dmFyIHQ9L14jPyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KSQvaS5leGVjKGUpO3JldHVybiB0P3tyOnBhcnNlSW50KHRbMV0sMTYpLGc6cGFyc2VJbnQodFsyXSwxNiksYjpwYXJzZUludCh0WzNdLDE2KX06bnVsbH1mdW5jdGlvbiBjbGFtcChlLGEsdCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGUsYSksdCl9ZnVuY3Rpb24gaXNJbkFycmF5KGUsYSl7cmV0dXJuIGEuaW5kZXhPZihlKT4tMX12YXIgcEpTPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrZSsiID4gLnBhcnRpY2xlcy1qcy1jYW52YXMtZWwiKTt0aGlzLnBKUz17Y2FudmFzOntlbDp0LHc6dC5vZmZzZXRXaWR0aCxoOnQub2Zmc2V0SGVpZ2h0fSxwYXJ0aWNsZXM6e251bWJlcjp7dmFsdWU6NDAwLGRlbnNpdHk6e2VuYWJsZTohMCx2YWx1ZV9hcmVhOjgwMH19LGNvbG9yOnt2YWx1ZToiI2ZmZiJ9LHNoYXBlOnt0eXBlOiJjaXJjbGUiLHN0cm9rZTp7d2lkdGg6MCxjb2xvcjoiI2ZmMDAwMCJ9LHBvbHlnb246e25iX3NpZGVzOjV9LGltYWdlOntzcmM6IiIsd2lkdGg6MTAwLGhlaWdodDoxMDB9fSxvcGFjaXR5Ont2YWx1ZToxLHJhbmRvbTohMSxhbmltOntlbmFibGU6ITEsc3BlZWQ6MixvcGFjaXR5X21pbjowLHN5bmM6ITF9fSxzaXplOnt2YWx1ZToyMCxyYW5kb206ITEsYW5pbTp7ZW5hYmxlOiExLHNwZWVkOjIwLHNpemVfbWluOjAsc3luYzohMX19LGxpbmVfbGlua2VkOntlbmFibGU6ITAsZGlzdGFuY2U6MTAwLGNvbG9yOiIjZmZmIixvcGFjaXR5OjEsd2lkdGg6MX0sbW92ZTp7ZW5hYmxlOiEwLHNwZWVkOjIsZGlyZWN0aW9uOiJub25lIixyYW5kb206ITEsc3RyYWlnaHQ6ITEsb3V0X21vZGU6Im91dCIsYm91bmNlOiExLGF0dHJhY3Q6e2VuYWJsZTohMSxyb3RhdGVYOjNlMyxyb3RhdGVZOjNlM319LGFycmF5OltdfSxpbnRlcmFjdGl2aXR5OntkZXRlY3Rfb246ImNhbnZhcyIsZXZlbnRzOntvbmhvdmVyOntlbmFibGU6ITAsbW9kZToiZ3JhYiJ9LG9uY2xpY2s6e2VuYWJsZTohMCxtb2RlOiJwdXNoIn0scmVzaXplOiEwfSxtb2Rlczp7Z3JhYjp7ZGlzdGFuY2U6MTAwLGxpbmVfbGlua2VkOntvcGFjaXR5OjF9fSxidWJibGU6e2Rpc3RhbmNlOjIwMCxzaXplOjgwLGR1cmF0aW9uOi40fSxyZXB1bHNlOntkaXN0YW5jZToyMDAsZHVyYXRpb246LjR9LHB1c2g6e3BhcnRpY2xlc19uYjo0fSxyZW1vdmU6e3BhcnRpY2xlc19uYjoyfX0sbW91c2U6e319LHJldGluYV9kZXRlY3Q6ITEsZm46e2ludGVyYWN0Ont9LG1vZGVzOnt9LHZlbmRvcnM6e319LHRtcDp7fX07dmFyIGk9dGhpcy5wSlM7YSYmT2JqZWN0LmRlZXBFeHRlbmQoaSxhKSxpLnRtcC5vYmo9e3NpemVfdmFsdWU6aS5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSxzaXplX2FuaW1fc3BlZWQ6aS5wYXJ0aWNsZXMuc2l6ZS5hbmltLnNwZWVkLG1vdmVfc3BlZWQ6aS5wYXJ0aWNsZXMubW92ZS5zcGVlZCxsaW5lX2xpbmtlZF9kaXN0YW5jZTppLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5kaXN0YW5jZSxsaW5lX2xpbmtlZF93aWR0aDppLnBhcnRpY2xlcy5saW5lX2xpbmtlZC53aWR0aCxtb2RlX2dyYWJfZGlzdGFuY2U6aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIuZGlzdGFuY2UsbW9kZV9idWJibGVfZGlzdGFuY2U6aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kaXN0YW5jZSxtb2RlX2J1YmJsZV9zaXplOmkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSxtb2RlX3JlcHVsc2VfZGlzdGFuY2U6aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2V9LGkuZm4ucmV0aW5hSW5pdD1mdW5jdGlvbigpe2kucmV0aW5hX2RldGVjdCYmd2luZG93LmRldmljZVBpeGVsUmF0aW8+MT8oaS5jYW52YXMucHhyYXRpbz13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyxpLnRtcC5yZXRpbmE9ITApOihpLmNhbnZhcy5weHJhdGlvPTEsaS50bXAucmV0aW5hPSExKSxpLmNhbnZhcy53PWkuY2FudmFzLmVsLm9mZnNldFdpZHRoKmkuY2FudmFzLnB4cmF0aW8saS5jYW52YXMuaD1pLmNhbnZhcy5lbC5vZmZzZXRIZWlnaHQqaS5jYW52YXMucHhyYXRpbyxpLnBhcnRpY2xlcy5zaXplLnZhbHVlPWkudG1wLm9iai5zaXplX3ZhbHVlKmkuY2FudmFzLnB4cmF0aW8saS5wYXJ0aWNsZXMuc2l6ZS5hbmltLnNwZWVkPWkudG1wLm9iai5zaXplX2FuaW1fc3BlZWQqaS5jYW52YXMucHhyYXRpbyxpLnBhcnRpY2xlcy5tb3ZlLnNwZWVkPWkudG1wLm9iai5tb3ZlX3NwZWVkKmkuY2FudmFzLnB4cmF0aW8saS5wYXJ0aWNsZXMubGluZV9saW5rZWQuZGlzdGFuY2U9aS50bXAub2JqLmxpbmVfbGlua2VkX2Rpc3RhbmNlKmkuY2FudmFzLnB4cmF0aW8saS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIuZGlzdGFuY2U9aS50bXAub2JqLm1vZGVfZ3JhYl9kaXN0YW5jZSppLmNhbnZhcy5weHJhdGlvLGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZGlzdGFuY2U9aS50bXAub2JqLm1vZGVfYnViYmxlX2Rpc3RhbmNlKmkuY2FudmFzLnB4cmF0aW8saS5wYXJ0aWNsZXMubGluZV9saW5rZWQud2lkdGg9aS50bXAub2JqLmxpbmVfbGlua2VkX3dpZHRoKmkuY2FudmFzLnB4cmF0aW8saS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5zaXplPWkudG1wLm9iai5tb2RlX2J1YmJsZV9zaXplKmkuY2FudmFzLnB4cmF0aW8saS5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2U9aS50bXAub2JqLm1vZGVfcmVwdWxzZV9kaXN0YW5jZSppLmNhbnZhcy5weHJhdGlvfSxpLmZuLmNhbnZhc0luaXQ9ZnVuY3Rpb24oKXtpLmNhbnZhcy5jdHg9aS5jYW52YXMuZWwuZ2V0Q29udGV4dCgiMmQiKX0saS5mbi5jYW52YXNTaXplPWZ1bmN0aW9uKCl7aS5jYW52YXMuZWwud2lkdGg9aS5jYW52YXMudyxpLmNhbnZhcy5lbC5oZWlnaHQ9aS5jYW52YXMuaCxpJiZpLmludGVyYWN0aXZpdHkuZXZlbnRzLnJlc2l6ZSYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oKXtpLmNhbnZhcy53PWkuY2FudmFzLmVsLm9mZnNldFdpZHRoLGkuY2FudmFzLmg9aS5jYW52YXMuZWwub2Zmc2V0SGVpZ2h0LGkudG1wLnJldGluYSYmKGkuY2FudmFzLncqPWkuY2FudmFzLnB4cmF0aW8saS5jYW52YXMuaCo9aS5jYW52YXMucHhyYXRpbyksaS5jYW52YXMuZWwud2lkdGg9aS5jYW52YXMudyxpLmNhbnZhcy5lbC5oZWlnaHQ9aS5jYW52YXMuaCxpLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZXx8KGkuZm4ucGFydGljbGVzRW1wdHkoKSxpLmZuLnBhcnRpY2xlc0NyZWF0ZSgpLGkuZm4ucGFydGljbGVzRHJhdygpLGkuZm4udmVuZG9ycy5kZW5zaXR5QXV0b1BhcnRpY2xlcygpKSxpLmZuLnZlbmRvcnMuZGVuc2l0eUF1dG9QYXJ0aWNsZXMoKX0pfSxpLmZuLmNhbnZhc1BhaW50PWZ1bmN0aW9uKCl7aS5jYW52YXMuY3R4LmZpbGxSZWN0KDAsMCxpLmNhbnZhcy53LGkuY2FudmFzLmgpfSxpLmZuLmNhbnZhc0NsZWFyPWZ1bmN0aW9uKCl7aS5jYW52YXMuY3R4LmNsZWFyUmVjdCgwLDAsaS5jYW52YXMudyxpLmNhbnZhcy5oKX0saS5mbi5wYXJ0aWNsZT1mdW5jdGlvbihlLGEsdCl7aWYodGhpcy5yYWRpdXM9KGkucGFydGljbGVzLnNpemUucmFuZG9tP01hdGgucmFuZG9tKCk6MSkqaS5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSxpLnBhcnRpY2xlcy5zaXplLmFuaW0uZW5hYmxlJiYodGhpcy5zaXplX3N0YXR1cz0hMSx0aGlzLnZzPWkucGFydGljbGVzLnNpemUuYW5pbS5zcGVlZC8xMDAsaS5wYXJ0aWNsZXMuc2l6ZS5hbmltLnN5bmN8fCh0aGlzLnZzPXRoaXMudnMqTWF0aC5yYW5kb20oKSkpLHRoaXMueD10P3QueDpNYXRoLnJhbmRvbSgpKmkuY2FudmFzLncsdGhpcy55PXQ/dC55Ok1hdGgucmFuZG9tKCkqaS5jYW52YXMuaCx0aGlzLng+aS5jYW52YXMudy0yKnRoaXMucmFkaXVzP3RoaXMueD10aGlzLngtdGhpcy5yYWRpdXM6dGhpcy54PDIqdGhpcy5yYWRpdXMmJih0aGlzLng9dGhpcy54K3RoaXMucmFkaXVzKSx0aGlzLnk+aS5jYW52YXMuaC0yKnRoaXMucmFkaXVzP3RoaXMueT10aGlzLnktdGhpcy5yYWRpdXM6dGhpcy55PDIqdGhpcy5yYWRpdXMmJih0aGlzLnk9dGhpcy55K3RoaXMucmFkaXVzKSxpLnBhcnRpY2xlcy5tb3ZlLmJvdW5jZSYmaS5mbi52ZW5kb3JzLmNoZWNrT3ZlcmxhcCh0aGlzLHQpLHRoaXMuY29sb3I9e30sIm9iamVjdCI9PXR5cGVvZiBlLnZhbHVlKWlmKGUudmFsdWUgaW5zdGFuY2VvZiBBcnJheSl7dmFyIHM9ZS52YWx1ZVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqaS5wYXJ0aWNsZXMuY29sb3IudmFsdWUubGVuZ3RoKV07dGhpcy5jb2xvci5yZ2I9aGV4VG9SZ2Iocyl9ZWxzZSB2b2lkIDAhPWUudmFsdWUuciYmdm9pZCAwIT1lLnZhbHVlLmcmJnZvaWQgMCE9ZS52YWx1ZS5iJiYodGhpcy5jb2xvci5yZ2I9e3I6ZS52YWx1ZS5yLGc6ZS52YWx1ZS5nLGI6ZS52YWx1ZS5ifSksdm9pZCAwIT1lLnZhbHVlLmgmJnZvaWQgMCE9ZS52YWx1ZS5zJiZ2b2lkIDAhPWUudmFsdWUubCYmKHRoaXMuY29sb3IuaHNsPXtoOmUudmFsdWUuaCxzOmUudmFsdWUucyxsOmUudmFsdWUubH0pO2Vsc2UicmFuZG9tIj09ZS52YWx1ZT90aGlzLmNvbG9yLnJnYj17cjpNYXRoLmZsb29yKDI1NipNYXRoLnJhbmRvbSgpKSswLGc6TWF0aC5mbG9vcigyNTYqTWF0aC5yYW5kb20oKSkrMCxiOk1hdGguZmxvb3IoMjU2Kk1hdGgucmFuZG9tKCkpKzB9OiJzdHJpbmciPT10eXBlb2YgZS52YWx1ZSYmKHRoaXMuY29sb3I9ZSx0aGlzLmNvbG9yLnJnYj1oZXhUb1JnYih0aGlzLmNvbG9yLnZhbHVlKSk7dGhpcy5vcGFjaXR5PShpLnBhcnRpY2xlcy5vcGFjaXR5LnJhbmRvbT9NYXRoLnJhbmRvbSgpOjEpKmkucGFydGljbGVzLm9wYWNpdHkudmFsdWUsaS5wYXJ0aWNsZXMub3BhY2l0eS5hbmltLmVuYWJsZSYmKHRoaXMub3BhY2l0eV9zdGF0dXM9ITEsdGhpcy52bz1pLnBhcnRpY2xlcy5vcGFjaXR5LmFuaW0uc3BlZWQvMTAwLGkucGFydGljbGVzLm9wYWNpdHkuYW5pbS5zeW5jfHwodGhpcy52bz10aGlzLnZvKk1hdGgucmFuZG9tKCkpKTt2YXIgbj17fTtzd2l0Y2goaS5wYXJ0aWNsZXMubW92ZS5kaXJlY3Rpb24pe2Nhc2UidG9wIjpuPXt4OjAseTotMX07YnJlYWs7Y2FzZSJ0b3AtcmlnaHQiOm49e3g6LjUseTotLjV9O2JyZWFrO2Nhc2UicmlnaHQiOm49e3g6MSx5Oi0wfTticmVhaztjYXNlImJvdHRvbS1yaWdodCI6bj17eDouNSx5Oi41fTticmVhaztjYXNlImJvdHRvbSI6bj17eDowLHk6MX07YnJlYWs7Y2FzZSJib3R0b20tbGVmdCI6bj17eDotLjUseToxfTticmVhaztjYXNlImxlZnQiOm49e3g6LTEseTowfTticmVhaztjYXNlInRvcC1sZWZ0IjpuPXt4Oi0uNSx5Oi0uNX07YnJlYWs7ZGVmYXVsdDpuPXt4OjAseTowfX1pLnBhcnRpY2xlcy5tb3ZlLnN0cmFpZ2h0Pyh0aGlzLnZ4PW4ueCx0aGlzLnZ5PW4ueSxpLnBhcnRpY2xlcy5tb3ZlLnJhbmRvbSYmKHRoaXMudng9dGhpcy52eCpNYXRoLnJhbmRvbSgpLHRoaXMudnk9dGhpcy52eSpNYXRoLnJhbmRvbSgpKSk6KHRoaXMudng9bi54K01hdGgucmFuZG9tKCktLjUsdGhpcy52eT1uLnkrTWF0aC5yYW5kb20oKS0uNSksdGhpcy52eF9pPXRoaXMudngsdGhpcy52eV9pPXRoaXMudnk7dmFyIHI9aS5wYXJ0aWNsZXMuc2hhcGUudHlwZTtpZigib2JqZWN0Ij09dHlwZW9mIHIpe2lmKHIgaW5zdGFuY2VvZiBBcnJheSl7dmFyIGM9cltNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqci5sZW5ndGgpXTt0aGlzLnNoYXBlPWN9fWVsc2UgdGhpcy5zaGFwZT1yO2lmKCJpbWFnZSI9PXRoaXMuc2hhcGUpe3ZhciBvPWkucGFydGljbGVzLnNoYXBlO3RoaXMuaW1nPXtzcmM6by5pbWFnZS5zcmMscmF0aW86by5pbWFnZS53aWR0aC9vLmltYWdlLmhlaWdodH0sdGhpcy5pbWcucmF0aW98fCh0aGlzLmltZy5yYXRpbz0xKSwic3ZnIj09aS50bXAuaW1nX3R5cGUmJnZvaWQgMCE9aS50bXAuc291cmNlX3N2ZyYmKGkuZm4udmVuZG9ycy5jcmVhdGVTdmdJbWcodGhpcyksaS50bXAucHVzaGluZyYmKHRoaXMuaW1nLmxvYWRlZD0hMSkpfX0saS5mbi5wYXJ0aWNsZS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXtpLmNhbnZhcy5jdHguZHJhd0ltYWdlKHIsYS54LXQsYS55LXQsMip0LDIqdC9hLmltZy5yYXRpbyl9dmFyIGE9dGhpcztpZih2b2lkIDAhPWEucmFkaXVzX2J1YmJsZSl2YXIgdD1hLnJhZGl1c19idWJibGU7ZWxzZSB2YXIgdD1hLnJhZGl1cztpZih2b2lkIDAhPWEub3BhY2l0eV9idWJibGUpdmFyIHM9YS5vcGFjaXR5X2J1YmJsZTtlbHNlIHZhciBzPWEub3BhY2l0eTtpZihhLmNvbG9yLnJnYil2YXIgbj0icmdiYSgiK2EuY29sb3IucmdiLnIrIiwiK2EuY29sb3IucmdiLmcrIiwiK2EuY29sb3IucmdiLmIrIiwiK3MrIikiO2Vsc2UgdmFyIG49ImhzbGEoIithLmNvbG9yLmhzbC5oKyIsIithLmNvbG9yLmhzbC5zKyIlLCIrYS5jb2xvci5oc2wubCsiJSwiK3MrIikiO3N3aXRjaChpLmNhbnZhcy5jdHguZmlsbFN0eWxlPW4saS5jYW52YXMuY3R4LmJlZ2luUGF0aCgpLGEuc2hhcGUpe2Nhc2UiY2lyY2xlIjppLmNhbnZhcy5jdHguYXJjKGEueCxhLnksdCwwLDIqTWF0aC5QSSwhMSk7YnJlYWs7Y2FzZSJlZGdlIjppLmNhbnZhcy5jdHgucmVjdChhLngtdCxhLnktdCwyKnQsMip0KTticmVhaztjYXNlInRyaWFuZ2xlIjppLmZuLnZlbmRvcnMuZHJhd1NoYXBlKGkuY2FudmFzLmN0eCxhLngtdCxhLnkrdC8xLjY2LDIqdCwzLDIpO2JyZWFrO2Nhc2UicG9seWdvbiI6aS5mbi52ZW5kb3JzLmRyYXdTaGFwZShpLmNhbnZhcy5jdHgsYS54LXQvKGkucGFydGljbGVzLnNoYXBlLnBvbHlnb24ubmJfc2lkZXMvMy41KSxhLnktdC8uNzYsMi42Nip0LyhpLnBhcnRpY2xlcy5zaGFwZS5wb2x5Z29uLm5iX3NpZGVzLzMpLGkucGFydGljbGVzLnNoYXBlLnBvbHlnb24ubmJfc2lkZXMsMSk7YnJlYWs7Y2FzZSJzdGFyIjppLmZuLnZlbmRvcnMuZHJhd1NoYXBlKGkuY2FudmFzLmN0eCxhLngtMip0LyhpLnBhcnRpY2xlcy5zaGFwZS5wb2x5Z29uLm5iX3NpZGVzLzQpLGEueS10LzEuNTIsMip0KjIuNjYvKGkucGFydGljbGVzLnNoYXBlLnBvbHlnb24ubmJfc2lkZXMvMyksaS5wYXJ0aWNsZXMuc2hhcGUucG9seWdvbi5uYl9zaWRlcywyKTticmVhaztjYXNlImltYWdlIjppZigic3ZnIj09aS50bXAuaW1nX3R5cGUpdmFyIHI9YS5pbWcub2JqO2Vsc2UgdmFyIHI9aS50bXAuaW1nX29iajtyJiZlKCl9aS5jYW52YXMuY3R4LmNsb3NlUGF0aCgpLGkucGFydGljbGVzLnNoYXBlLnN0cm9rZS53aWR0aD4wJiYoaS5jYW52YXMuY3R4LnN0cm9rZVN0eWxlPWkucGFydGljbGVzLnNoYXBlLnN0cm9rZS5jb2xvcixpLmNhbnZhcy5jdHgubGluZVdpZHRoPWkucGFydGljbGVzLnNoYXBlLnN0cm9rZS53aWR0aCxpLmNhbnZhcy5jdHguc3Ryb2tlKCkpLGkuY2FudmFzLmN0eC5maWxsKCl9LGkuZm4ucGFydGljbGVzQ3JlYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxpLnBhcnRpY2xlcy5udW1iZXIudmFsdWU7ZSsrKWkucGFydGljbGVzLmFycmF5LnB1c2gobmV3IGkuZm4ucGFydGljbGUoaS5wYXJ0aWNsZXMuY29sb3IsaS5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSkpfSxpLmZuLnBhcnRpY2xlc1VwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8aS5wYXJ0aWNsZXMuYXJyYXkubGVuZ3RoO2UrKyl7dmFyIGE9aS5wYXJ0aWNsZXMuYXJyYXlbZV07aWYoaS5wYXJ0aWNsZXMubW92ZS5lbmFibGUpe3ZhciB0PWkucGFydGljbGVzLm1vdmUuc3BlZWQvMjthLngrPWEudngqdCxhLnkrPWEudnkqdH1pZihpLnBhcnRpY2xlcy5vcGFjaXR5LmFuaW0uZW5hYmxlJiYoMT09YS5vcGFjaXR5X3N0YXR1cz8oYS5vcGFjaXR5Pj1pLnBhcnRpY2xlcy5vcGFjaXR5LnZhbHVlJiYoYS5vcGFjaXR5X3N0YXR1cz0hMSksYS5vcGFjaXR5Kz1hLnZvKTooYS5vcGFjaXR5PD1pLnBhcnRpY2xlcy5vcGFjaXR5LmFuaW0ub3BhY2l0eV9taW4mJihhLm9wYWNpdHlfc3RhdHVzPSEwKSxhLm9wYWNpdHktPWEudm8pLGEub3BhY2l0eTwwJiYoYS5vcGFjaXR5PTApKSxpLnBhcnRpY2xlcy5zaXplLmFuaW0uZW5hYmxlJiYoMT09YS5zaXplX3N0YXR1cz8oYS5yYWRpdXM+PWkucGFydGljbGVzLnNpemUudmFsdWUmJihhLnNpemVfc3RhdHVzPSExKSxhLnJhZGl1cys9YS52cyk6KGEucmFkaXVzPD1pLnBhcnRpY2xlcy5zaXplLmFuaW0uc2l6ZV9taW4mJihhLnNpemVfc3RhdHVzPSEwKSxhLnJhZGl1cy09YS52cyksYS5yYWRpdXM8MCYmKGEucmFkaXVzPTApKSwiYm91bmNlIj09aS5wYXJ0aWNsZXMubW92ZS5vdXRfbW9kZSl2YXIgcz17eF9sZWZ0OmEucmFkaXVzLHhfcmlnaHQ6aS5jYW52YXMudyx5X3RvcDphLnJhZGl1cyx5X2JvdHRvbTppLmNhbnZhcy5ofTtlbHNlIHZhciBzPXt4X2xlZnQ6LWEucmFkaXVzLHhfcmlnaHQ6aS5jYW52YXMudythLnJhZGl1cyx5X3RvcDotYS5yYWRpdXMseV9ib3R0b206aS5jYW52YXMuaCthLnJhZGl1c307c3dpdGNoKGEueC1hLnJhZGl1cz5pLmNhbnZhcy53PyhhLng9cy54X2xlZnQsYS55PU1hdGgucmFuZG9tKCkqaS5jYW52YXMuaCk6YS54K2EucmFkaXVzPDAmJihhLng9cy54X3JpZ2h0LGEueT1NYXRoLnJhbmRvbSgpKmkuY2FudmFzLmgpLGEueS1hLnJhZGl1cz5pLmNhbnZhcy5oPyhhLnk9cy55X3RvcCxhLng9TWF0aC5yYW5kb20oKSppLmNhbnZhcy53KTphLnkrYS5yYWRpdXM8MCYmKGEueT1zLnlfYm90dG9tLGEueD1NYXRoLnJhbmRvbSgpKmkuY2FudmFzLncpLGkucGFydGljbGVzLm1vdmUub3V0X21vZGUpe2Nhc2UiYm91bmNlIjphLngrYS5yYWRpdXM+aS5jYW52YXMudz9hLnZ4PS1hLnZ4OmEueC1hLnJhZGl1czwwJiYoYS52eD0tYS52eCksYS55K2EucmFkaXVzPmkuY2FudmFzLmg/YS52eT0tYS52eTphLnktYS5yYWRpdXM8MCYmKGEudnk9LWEudnkpfWlmKGlzSW5BcnJheSgiZ3JhYiIsaS5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLm1vZGUpJiZpLmZuLm1vZGVzLmdyYWJQYXJ0aWNsZShhKSwoaXNJbkFycmF5KCJidWJibGUiLGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5tb2RlKXx8aXNJbkFycmF5KCJidWJibGUiLGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5tb2RlKSkmJmkuZm4ubW9kZXMuYnViYmxlUGFydGljbGUoYSksKGlzSW5BcnJheSgicmVwdWxzZSIsaS5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLm1vZGUpfHxpc0luQXJyYXkoInJlcHVsc2UiLGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5tb2RlKSkmJmkuZm4ubW9kZXMucmVwdWxzZVBhcnRpY2xlKGEpLGkucGFydGljbGVzLmxpbmVfbGlua2VkLmVuYWJsZXx8aS5wYXJ0aWNsZXMubW92ZS5hdHRyYWN0LmVuYWJsZSlmb3IodmFyIG49ZSsxO248aS5wYXJ0aWNsZXMuYXJyYXkubGVuZ3RoO24rKyl7dmFyIHI9aS5wYXJ0aWNsZXMuYXJyYXlbbl07aS5wYXJ0aWNsZXMubGluZV9saW5rZWQuZW5hYmxlJiZpLmZuLmludGVyYWN0LmxpbmtQYXJ0aWNsZXMoYSxyKSxpLnBhcnRpY2xlcy5tb3ZlLmF0dHJhY3QuZW5hYmxlJiZpLmZuLmludGVyYWN0LmF0dHJhY3RQYXJ0aWNsZXMoYSxyKSxpLnBhcnRpY2xlcy5tb3ZlLmJvdW5jZSYmaS5mbi5pbnRlcmFjdC5ib3VuY2VQYXJ0aWNsZXMoYSxyKX19fSxpLmZuLnBhcnRpY2xlc0RyYXc9ZnVuY3Rpb24oKXtpLmNhbnZhcy5jdHguY2xlYXJSZWN0KDAsMCxpLmNhbnZhcy53LGkuY2FudmFzLmgpLGkuZm4ucGFydGljbGVzVXBkYXRlKCk7Zm9yKHZhciBlPTA7ZTxpLnBhcnRpY2xlcy5hcnJheS5sZW5ndGg7ZSsrKXt2YXIgYT1pLnBhcnRpY2xlcy5hcnJheVtlXTthLmRyYXcoKX19LGkuZm4ucGFydGljbGVzRW1wdHk9ZnVuY3Rpb24oKXtpLnBhcnRpY2xlcy5hcnJheT1bXX0saS5mbi5wYXJ0aWNsZXNSZWZyZXNoPWZ1bmN0aW9uKCl7Y2FuY2VsUmVxdWVzdEFuaW1GcmFtZShpLmZuLmNoZWNrQW5pbUZyYW1lKSxjYW5jZWxSZXF1ZXN0QW5pbUZyYW1lKGkuZm4uZHJhd0FuaW1GcmFtZSksaS50bXAuc291cmNlX3N2Zz12b2lkIDAsaS50bXAuaW1nX29iaj12b2lkIDAsaS50bXAuY291bnRfc3ZnPTAsaS5mbi5wYXJ0aWNsZXNFbXB0eSgpLGkuZm4uY2FudmFzQ2xlYXIoKSxpLmZuLnZlbmRvcnMuc3RhcnQoKX0saS5mbi5pbnRlcmFjdC5saW5rUGFydGljbGVzPWZ1bmN0aW9uKGUsYSl7dmFyIHQ9ZS54LWEueCxzPWUueS1hLnksbj1NYXRoLnNxcnQodCp0K3Mqcyk7aWYobjw9aS5wYXJ0aWNsZXMubGluZV9saW5rZWQuZGlzdGFuY2Upe3ZhciByPWkucGFydGljbGVzLmxpbmVfbGlua2VkLm9wYWNpdHktbi8oMS9pLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5vcGFjaXR5KS9pLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5kaXN0YW5jZTtpZihyPjApe3ZhciBjPWkucGFydGljbGVzLmxpbmVfbGlua2VkLmNvbG9yX3JnYl9saW5lO2kuY2FudmFzLmN0eC5zdHJva2VTdHlsZT0icmdiYSgiK2MucisiLCIrYy5nKyIsIitjLmIrIiwiK3IrIikiLGkuY2FudmFzLmN0eC5saW5lV2lkdGg9aS5wYXJ0aWNsZXMubGluZV9saW5rZWQud2lkdGgsaS5jYW52YXMuY3R4LmJlZ2luUGF0aCgpLGkuY2FudmFzLmN0eC5tb3ZlVG8oZS54LGUueSksaS5jYW52YXMuY3R4LmxpbmVUbyhhLngsYS55KSxpLmNhbnZhcy5jdHguc3Ryb2tlKCksaS5jYW52YXMuY3R4LmNsb3NlUGF0aCgpfX19LGkuZm4uaW50ZXJhY3QuYXR0cmFjdFBhcnRpY2xlcz1mdW5jdGlvbihlLGEpe3ZhciB0PWUueC1hLngscz1lLnktYS55LG49TWF0aC5zcXJ0KHQqdCtzKnMpO2lmKG48PWkucGFydGljbGVzLmxpbmVfbGlua2VkLmRpc3RhbmNlKXt2YXIgcj10LygxZTMqaS5wYXJ0aWNsZXMubW92ZS5hdHRyYWN0LnJvdGF0ZVgpLGM9cy8oMWUzKmkucGFydGljbGVzLm1vdmUuYXR0cmFjdC5yb3RhdGVZKTtlLnZ4LT1yLGUudnktPWMsYS52eCs9cixhLnZ5Kz1jfX0saS5mbi5pbnRlcmFjdC5ib3VuY2VQYXJ0aWNsZXM9ZnVuY3Rpb24oZSxhKXt2YXIgdD1lLngtYS54LGk9ZS55LWEueSxzPU1hdGguc3FydCh0KnQraSppKSxuPWUucmFkaXVzK2EucmFkaXVzO24+PXMmJihlLnZ4PS1lLnZ4LGUudnk9LWUudnksYS52eD0tYS52eCxhLnZ5PS1hLnZ5KX0saS5mbi5tb2Rlcy5wdXNoUGFydGljbGVzPWZ1bmN0aW9uKGUsYSl7aS50bXAucHVzaGluZz0hMDtmb3IodmFyIHQ9MDtlPnQ7dCsrKWkucGFydGljbGVzLmFycmF5LnB1c2gobmV3IGkuZm4ucGFydGljbGUoaS5wYXJ0aWNsZXMuY29sb3IsaS5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZSx7eDphP2EucG9zX3g6TWF0aC5yYW5kb20oKSppLmNhbnZhcy53LHk6YT9hLnBvc195Ok1hdGgucmFuZG9tKCkqaS5jYW52YXMuaH0pKSx0PT1lLTEmJihpLnBhcnRpY2xlcy5tb3ZlLmVuYWJsZXx8aS5mbi5wYXJ0aWNsZXNEcmF3KCksaS50bXAucHVzaGluZz0hMSl9LGkuZm4ubW9kZXMucmVtb3ZlUGFydGljbGVzPWZ1bmN0aW9uKGUpe2kucGFydGljbGVzLmFycmF5LnNwbGljZSgwLGUpLGkucGFydGljbGVzLm1vdmUuZW5hYmxlfHxpLmZuLnBhcnRpY2xlc0RyYXcoKX0saS5mbi5tb2Rlcy5idWJibGVQYXJ0aWNsZT1mdW5jdGlvbihlKXtmdW5jdGlvbiBhKCl7ZS5vcGFjaXR5X2J1YmJsZT1lLm9wYWNpdHksZS5yYWRpdXNfYnViYmxlPWUucmFkaXVzfWZ1bmN0aW9uIHQoYSx0LHMsbixjKXtpZihhIT10KWlmKGkudG1wLmJ1YmJsZV9kdXJhdGlvbl9lbmQpe2lmKHZvaWQgMCE9cyl7dmFyIG89bi1wKihuLWEpL2kuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZHVyYXRpb24sbD1hLW87ZD1hK2wsInNpemUiPT1jJiYoZS5yYWRpdXNfYnViYmxlPWQpLCJvcGFjaXR5Ij09YyYmKGUub3BhY2l0eV9idWJibGU9ZCl9fWVsc2UgaWYocjw9aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kaXN0YW5jZSl7aWYodm9pZCAwIT1zKXZhciB2PXM7ZWxzZSB2YXIgdj1uO2lmKHYhPWEpe3ZhciBkPW4tcCoobi1hKS9pLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLmR1cmF0aW9uOyJzaXplIj09YyYmKGUucmFkaXVzX2J1YmJsZT1kKSwib3BhY2l0eSI9PWMmJihlLm9wYWNpdHlfYnViYmxlPWQpfX1lbHNlInNpemUiPT1jJiYoZS5yYWRpdXNfYnViYmxlPXZvaWQgMCksIm9wYWNpdHkiPT1jJiYoZS5vcGFjaXR5X2J1YmJsZT12b2lkIDApfWlmKGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5lbmFibGUmJmlzSW5BcnJheSgiYnViYmxlIixpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uaG92ZXIubW9kZSkpe3ZhciBzPWUueC1pLmludGVyYWN0aXZpdHkubW91c2UucG9zX3gsbj1lLnktaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195LHI9TWF0aC5zcXJ0KHMqcytuKm4pLGM9MS1yL2kuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZGlzdGFuY2U7aWYocjw9aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kaXN0YW5jZSl7aWYoYz49MCYmIm1vdXNlbW92ZSI9PWkuaW50ZXJhY3Rpdml0eS5zdGF0dXMpe2lmKGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSE9aS5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSlpZihpLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLnNpemU+aS5wYXJ0aWNsZXMuc2l6ZS52YWx1ZSl7dmFyIG89ZS5yYWRpdXMraS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5zaXplKmM7bz49MCYmKGUucmFkaXVzX2J1YmJsZT1vKX1lbHNle3ZhciBsPWUucmFkaXVzLWkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSxvPWUucmFkaXVzLWwqYztvPjA/ZS5yYWRpdXNfYnViYmxlPW86ZS5yYWRpdXNfYnViYmxlPTB9aWYoaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5vcGFjaXR5IT1pLnBhcnRpY2xlcy5vcGFjaXR5LnZhbHVlKWlmKGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eT5pLnBhcnRpY2xlcy5vcGFjaXR5LnZhbHVlKXt2YXIgdj1pLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLm9wYWNpdHkqYzt2PmUub3BhY2l0eSYmdjw9aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5vcGFjaXR5JiYoZS5vcGFjaXR5X2J1YmJsZT12KX1lbHNle3ZhciB2PWUub3BhY2l0eS0oaS5wYXJ0aWNsZXMub3BhY2l0eS52YWx1ZS1pLmludGVyYWN0aXZpdHkubW9kZXMuYnViYmxlLm9wYWNpdHkpKmM7djxlLm9wYWNpdHkmJnY+PWkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUub3BhY2l0eSYmKGUub3BhY2l0eV9idWJibGU9dil9fX1lbHNlIGEoKTsibW91c2VsZWF2ZSI9PWkuaW50ZXJhY3Rpdml0eS5zdGF0dXMmJmEoKX1lbHNlIGlmKGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5lbmFibGUmJmlzSW5BcnJheSgiYnViYmxlIixpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2subW9kZSkpe2lmKGkudG1wLmJ1YmJsZV9jbGlja2luZyl7dmFyIHM9ZS54LWkuaW50ZXJhY3Rpdml0eS5tb3VzZS5jbGlja19wb3NfeCxuPWUueS1pLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfcG9zX3kscj1NYXRoLnNxcnQocypzK24qbikscD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3RpbWUpLzFlMztwPmkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuZHVyYXRpb24mJihpLnRtcC5idWJibGVfZHVyYXRpb25fZW5kPSEwKSxwPjIqaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5kdXJhdGlvbiYmKGkudG1wLmJ1YmJsZV9jbGlja2luZz0hMSxpLnRtcC5idWJibGVfZHVyYXRpb25fZW5kPSExKX1pLnRtcC5idWJibGVfY2xpY2tpbmcmJih0KGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5idWJibGUuc2l6ZSxpLnBhcnRpY2xlcy5zaXplLnZhbHVlLGUucmFkaXVzX2J1YmJsZSxlLnJhZGl1cywic2l6ZSIpLHQoaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmJ1YmJsZS5vcGFjaXR5LGkucGFydGljbGVzLm9wYWNpdHkudmFsdWUsZS5vcGFjaXR5X2J1YmJsZSxlLm9wYWNpdHksIm9wYWNpdHkiKSl9fSxpLmZuLm1vZGVzLnJlcHVsc2VQYXJ0aWNsZT1mdW5jdGlvbihlKXtmdW5jdGlvbiBhKCl7dmFyIGE9TWF0aC5hdGFuMihkLHApO2lmKGUudng9dSpNYXRoLmNvcyhhKSxlLnZ5PXUqTWF0aC5zaW4oYSksImJvdW5jZSI9PWkucGFydGljbGVzLm1vdmUub3V0X21vZGUpe3ZhciB0PXt4OmUueCtlLnZ4LHk6ZS55K2Uudnl9O3QueCtlLnJhZGl1cz5pLmNhbnZhcy53P2Uudng9LWUudng6dC54LWUucmFkaXVzPDAmJihlLnZ4PS1lLnZ4KSx0LnkrZS5yYWRpdXM+aS5jYW52YXMuaD9lLnZ5PS1lLnZ5OnQueS1lLnJhZGl1czwwJiYoZS52eT0tZS52eSl9fWlmKGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25ob3Zlci5lbmFibGUmJmlzSW5BcnJheSgicmVwdWxzZSIsaS5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLm1vZGUpJiYibW91c2Vtb3ZlIj09aS5pbnRlcmFjdGl2aXR5LnN0YXR1cyl7dmFyIHQ9ZS54LWkuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeCxzPWUueS1pLmludGVyYWN0aXZpdHkubW91c2UucG9zX3ksbj1NYXRoLnNxcnQodCp0K3Mqcykscj17eDp0L24seTpzL259LGM9aS5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlcHVsc2UuZGlzdGFuY2Usbz0xMDAsbD1jbGFtcCgxL2MqKC0xKk1hdGgucG93KG4vYywyKSsxKSpjKm8sMCw1MCksdj17eDplLngrci54KmwseTplLnkrci55Kmx9OyJib3VuY2UiPT1pLnBhcnRpY2xlcy5tb3ZlLm91dF9tb2RlPyh2LngtZS5yYWRpdXM+MCYmdi54K2UucmFkaXVzPGkuY2FudmFzLncmJihlLng9di54KSx2LnktZS5yYWRpdXM+MCYmdi55K2UucmFkaXVzPGkuY2FudmFzLmgmJihlLnk9di55KSk6KGUueD12LngsZS55PXYueSl9ZWxzZSBpZihpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2suZW5hYmxlJiZpc0luQXJyYXkoInJlcHVsc2UiLGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5tb2RlKSlpZihpLnRtcC5yZXB1bHNlX2ZpbmlzaHx8KGkudG1wLnJlcHVsc2VfY291bnQrKyxpLnRtcC5yZXB1bHNlX2NvdW50PT1pLnBhcnRpY2xlcy5hcnJheS5sZW5ndGgmJihpLnRtcC5yZXB1bHNlX2ZpbmlzaD0hMCkpLGkudG1wLnJlcHVsc2VfY2xpY2tpbmcpe3ZhciBjPU1hdGgucG93KGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5yZXB1bHNlLmRpc3RhbmNlLzYsMykscD1pLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfcG9zX3gtZS54LGQ9aS5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc195LWUueSxtPXAqcCtkKmQsdT0tYy9tKjE7Yz49bSYmYSgpfWVsc2UgMD09aS50bXAucmVwdWxzZV9jbGlja2luZyYmKGUudng9ZS52eF9pLGUudnk9ZS52eV9pKX0saS5mbi5tb2Rlcy5ncmFiUGFydGljbGU9ZnVuY3Rpb24oZSl7aWYoaS5pbnRlcmFjdGl2aXR5LmV2ZW50cy5vbmhvdmVyLmVuYWJsZSYmIm1vdXNlbW92ZSI9PWkuaW50ZXJhY3Rpdml0eS5zdGF0dXMpe3ZhciBhPWUueC1pLmludGVyYWN0aXZpdHkubW91c2UucG9zX3gsdD1lLnktaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195LHM9TWF0aC5zcXJ0KGEqYSt0KnQpO2lmKHM8PWkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5ncmFiLmRpc3RhbmNlKXt2YXIgbj1pLmludGVyYWN0aXZpdHkubW9kZXMuZ3JhYi5saW5lX2xpbmtlZC5vcGFjaXR5LXMvKDEvaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIubGluZV9saW5rZWQub3BhY2l0eSkvaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLmdyYWIuZGlzdGFuY2U7aWYobj4wKXt2YXIgcj1pLnBhcnRpY2xlcy5saW5lX2xpbmtlZC5jb2xvcl9yZ2JfbGluZTtpLmNhbnZhcy5jdHguc3Ryb2tlU3R5bGU9InJnYmEoIityLnIrIiwiK3IuZysiLCIrci5iKyIsIituKyIpIixpLmNhbnZhcy5jdHgubGluZVdpZHRoPWkucGFydGljbGVzLmxpbmVfbGlua2VkLndpZHRoLGkuY2FudmFzLmN0eC5iZWdpblBhdGgoKSxpLmNhbnZhcy5jdHgubW92ZVRvKGUueCxlLnkpLGkuY2FudmFzLmN0eC5saW5lVG8oaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc194LGkuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSksaS5jYW52YXMuY3R4LnN0cm9rZSgpLGkuY2FudmFzLmN0eC5jbG9zZVBhdGgoKX19fX0saS5mbi52ZW5kb3JzLmV2ZW50c0xpc3RlbmVycz1mdW5jdGlvbigpeyJ3aW5kb3ciPT1pLmludGVyYWN0aXZpdHkuZGV0ZWN0X29uP2kuaW50ZXJhY3Rpdml0eS5lbD13aW5kb3c6aS5pbnRlcmFjdGl2aXR5LmVsPWkuY2FudmFzLmVsLChpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uaG92ZXIuZW5hYmxlfHxpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2suZW5hYmxlKSYmKGkuaW50ZXJhY3Rpdml0eS5lbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKGUpe2lmKGkuaW50ZXJhY3Rpdml0eS5lbD09d2luZG93KXZhciBhPWUuY2xpZW50WCx0PWUuY2xpZW50WTtlbHNlIHZhciBhPWUub2Zmc2V0WHx8ZS5jbGllbnRYLHQ9ZS5vZmZzZXRZfHxlLmNsaWVudFk7aS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc194PWEsaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195PXQsaS50bXAucmV0aW5hJiYoaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc194Kj1pLmNhbnZhcy5weHJhdGlvLGkuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeSo9aS5jYW52YXMucHhyYXRpbyksaS5pbnRlcmFjdGl2aXR5LnN0YXR1cz0ibW91c2Vtb3ZlIn0pLGkuaW50ZXJhY3Rpdml0eS5lbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixmdW5jdGlvbihlKXtpLmludGVyYWN0aXZpdHkubW91c2UucG9zX3g9bnVsbCxpLmludGVyYWN0aXZpdHkubW91c2UucG9zX3k9bnVsbCxpLmludGVyYWN0aXZpdHkuc3RhdHVzPSJtb3VzZWxlYXZlIn0pKSxpLmludGVyYWN0aXZpdHkuZXZlbnRzLm9uY2xpY2suZW5hYmxlJiZpLmludGVyYWN0aXZpdHkuZWwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7aWYoaS5pbnRlcmFjdGl2aXR5Lm1vdXNlLmNsaWNrX3Bvc194PWkuaW50ZXJhY3Rpdml0eS5tb3VzZS5wb3NfeCxpLmludGVyYWN0aXZpdHkubW91c2UuY2xpY2tfcG9zX3k9aS5pbnRlcmFjdGl2aXR5Lm1vdXNlLnBvc195LGkuaW50ZXJhY3Rpdml0eS5tb3VzZS5jbGlja190aW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5lbmFibGUpc3dpdGNoKGkuaW50ZXJhY3Rpdml0eS5ldmVudHMub25jbGljay5tb2RlKXtjYXNlInB1c2giOmkucGFydGljbGVzLm1vdmUuZW5hYmxlP2kuZm4ubW9kZXMucHVzaFBhcnRpY2xlcyhpLmludGVyYWN0aXZpdHkubW9kZXMucHVzaC5wYXJ0aWNsZXNfbmIsaS5pbnRlcmFjdGl2aXR5Lm1vdXNlKToxPT1pLmludGVyYWN0aXZpdHkubW9kZXMucHVzaC5wYXJ0aWNsZXNfbmI/aS5mbi5tb2Rlcy5wdXNoUGFydGljbGVzKGkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5wdXNoLnBhcnRpY2xlc19uYixpLmludGVyYWN0aXZpdHkubW91c2UpOmkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5wdXNoLnBhcnRpY2xlc19uYj4xJiZpLmZuLm1vZGVzLnB1c2hQYXJ0aWNsZXMoaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLnB1c2gucGFydGljbGVzX25iKTticmVhaztjYXNlInJlbW92ZSI6aS5mbi5tb2Rlcy5yZW1vdmVQYXJ0aWNsZXMoaS5pbnRlcmFjdGl2aXR5Lm1vZGVzLnJlbW92ZS5wYXJ0aWNsZXNfbmIpO2JyZWFrO2Nhc2UiYnViYmxlIjppLnRtcC5idWJibGVfY2xpY2tpbmc9ITA7YnJlYWs7Y2FzZSJyZXB1bHNlIjppLnRtcC5yZXB1bHNlX2NsaWNraW5nPSEwLGkudG1wLnJlcHVsc2VfY291bnQ9MCxpLnRtcC5yZXB1bHNlX2ZpbmlzaD0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS50bXAucmVwdWxzZV9jbGlja2luZz0hMX0sMWUzKmkuaW50ZXJhY3Rpdml0eS5tb2Rlcy5yZXB1bHNlLmR1cmF0aW9uKX19KX0saS5mbi52ZW5kb3JzLmRlbnNpdHlBdXRvUGFydGljbGVzPWZ1bmN0aW9uKCl7aWYoaS5wYXJ0aWNsZXMubnVtYmVyLmRlbnNpdHkuZW5hYmxlKXt2YXIgZT1pLmNhbnZhcy5lbC53aWR0aCppLmNhbnZhcy5lbC5oZWlnaHQvMWUzO2kudG1wLnJldGluYSYmKGUvPTIqaS5jYW52YXMucHhyYXRpbyk7dmFyIGE9ZSppLnBhcnRpY2xlcy5udW1iZXIudmFsdWUvaS5wYXJ0aWNsZXMubnVtYmVyLmRlbnNpdHkudmFsdWVfYXJlYSx0PWkucGFydGljbGVzLmFycmF5Lmxlbmd0aC1hOzA+dD9pLmZuLm1vZGVzLnB1c2hQYXJ0aWNsZXMoTWF0aC5hYnModCkpOmkuZm4ubW9kZXMucmVtb3ZlUGFydGljbGVzKHQpfX0saS5mbi52ZW5kb3JzLmNoZWNrT3ZlcmxhcD1mdW5jdGlvbihlLGEpe2Zvcih2YXIgdD0wO3Q8aS5wYXJ0aWNsZXMuYXJyYXkubGVuZ3RoO3QrKyl7dmFyIHM9aS5wYXJ0aWNsZXMuYXJyYXlbdF0sbj1lLngtcy54LHI9ZS55LXMueSxjPU1hdGguc3FydChuKm4rcipyKTtjPD1lLnJhZGl1cytzLnJhZGl1cyYmKGUueD1hP2EueDpNYXRoLnJhbmRvbSgpKmkuY2FudmFzLncsZS55PWE/YS55Ok1hdGgucmFuZG9tKCkqaS5jYW52YXMuaCxpLmZuLnZlbmRvcnMuY2hlY2tPdmVybGFwKGUpKX19LGkuZm4udmVuZG9ycy5jcmVhdGVTdmdJbWc9ZnVuY3Rpb24oZSl7dmFyIGE9aS50bXAuc291cmNlX3N2Zyx0PS8jKFswLTlBLUZdezMsNn0pL2dpLHM9YS5yZXBsYWNlKHQsZnVuY3Rpb24oYSx0LGkscyl7aWYoZS5jb2xvci5yZ2IpdmFyIG49InJnYmEoIitlLmNvbG9yLnJnYi5yKyIsIitlLmNvbG9yLnJnYi5nKyIsIitlLmNvbG9yLnJnYi5iKyIsIitlLm9wYWNpdHkrIikiO2Vsc2UgdmFyIG49ImhzbGEoIitlLmNvbG9yLmhzbC5oKyIsIitlLmNvbG9yLmhzbC5zKyIlLCIrZS5jb2xvci5oc2wubCsiJSwiK2Uub3BhY2l0eSsiKSI7cmV0dXJuIG59KSxuPW5ldyBCbG9iKFtzXSx7dHlwZToiaW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04In0pLHI9d2luZG93LlVSTHx8d2luZG93LndlYmtpdFVSTHx8d2luZG93LGM9ci5jcmVhdGVPYmplY3RVUkwobiksbz1uZXcgSW1hZ2U7by5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2UuaW1nLm9iaj1vLGUuaW1nLmxvYWRlZD0hMCxyLnJldm9rZU9iamVjdFVSTChjKSxpLnRtcC5jb3VudF9zdmcrK30pLG8uc3JjPWN9LGkuZm4udmVuZG9ycy5kZXN0cm95cEpTPWZ1bmN0aW9uKCl7Y2FuY2VsQW5pbWF0aW9uRnJhbWUoaS5mbi5kcmF3QW5pbUZyYW1lKSx0LnJlbW92ZSgpLHBKU0RvbT1udWxsfSxpLmZuLnZlbmRvcnMuZHJhd1NoYXBlPWZ1bmN0aW9uKGUsYSx0LGkscyxuKXt2YXIgcj1zKm4sYz1zL24sbz0xODAqKGMtMikvYyxsPU1hdGguUEktTWF0aC5QSSpvLzE4MDtlLnNhdmUoKSxlLmJlZ2luUGF0aCgpLGUudHJhbnNsYXRlKGEsdCksZS5tb3ZlVG8oMCwwKTtmb3IodmFyIHY9MDtyPnY7disrKWUubGluZVRvKGksMCksZS50cmFuc2xhdGUoaSwwKSxlLnJvdGF0ZShsKTtlLmZpbGwoKSxlLnJlc3RvcmUoKX0saS5mbi52ZW5kb3JzLmV4cG9ydEltZz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKGkuY2FudmFzLmVsLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIiksIl9ibGFuayIpfSxpLmZuLnZlbmRvcnMubG9hZEltZz1mdW5jdGlvbihlKXtpZihpLnRtcC5pbWdfZXJyb3I9dm9pZCAwLCIiIT1pLnBhcnRpY2xlcy5zaGFwZS5pbWFnZS5zcmMpaWYoInN2ZyI9PWUpe3ZhciBhPW5ldyBYTUxIdHRwUmVxdWVzdDthLm9wZW4oIkdFVCIsaS5wYXJ0aWNsZXMuc2hhcGUuaW1hZ2Uuc3JjKSxhLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihlKXs0PT1hLnJlYWR5U3RhdGUmJigyMDA9PWEuc3RhdHVzPyhpLnRtcC5zb3VyY2Vfc3ZnPWUuY3VycmVudFRhcmdldC5yZXNwb25zZSxpLmZuLnZlbmRvcnMuY2hlY2tCZWZvcmVEcmF3KCkpOihjb25zb2xlLmxvZygiRXJyb3IgcEpTIC0gSW1hZ2Ugbm90IGZvdW5kIiksaS50bXAuaW1nX2Vycm9yPSEwKSl9LGEuc2VuZCgpfWVsc2V7dmFyIHQ9bmV3IEltYWdlO3QuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtpLnRtcC5pbWdfb2JqPXQsaS5mbi52ZW5kb3JzLmNoZWNrQmVmb3JlRHJhdygpfSksdC5zcmM9aS5wYXJ0aWNsZXMuc2hhcGUuaW1hZ2Uuc3JjfWVsc2UgY29uc29sZS5sb2coIkVycm9yIHBKUyAtIE5vIGltYWdlLnNyYyIpLGkudG1wLmltZ19lcnJvcj0hMH0saS5mbi52ZW5kb3JzLmRyYXc9ZnVuY3Rpb24oKXsiaW1hZ2UiPT1pLnBhcnRpY2xlcy5zaGFwZS50eXBlPyJzdmciPT1pLnRtcC5pbWdfdHlwZT9pLnRtcC5jb3VudF9zdmc+PWkucGFydGljbGVzLm51bWJlci52YWx1ZT8oaS5mbi5wYXJ0aWNsZXNEcmF3KCksaS5wYXJ0aWNsZXMubW92ZS5lbmFibGU/aS5mbi5kcmF3QW5pbUZyYW1lPXJlcXVlc3RBbmltRnJhbWUoaS5mbi52ZW5kb3JzLmRyYXcpOmNhbmNlbFJlcXVlc3RBbmltRnJhbWUoaS5mbi5kcmF3QW5pbUZyYW1lKSk6aS50bXAuaW1nX2Vycm9yfHwoaS5mbi5kcmF3QW5pbUZyYW1lPXJlcXVlc3RBbmltRnJhbWUoaS5mbi52ZW5kb3JzLmRyYXcpKTp2b2lkIDAhPWkudG1wLmltZ19vYmo/KGkuZm4ucGFydGljbGVzRHJhdygpLGkucGFydGljbGVzLm1vdmUuZW5hYmxlP2kuZm4uZHJhd0FuaW1GcmFtZT1yZXF1ZXN0QW5pbUZyYW1lKGkuZm4udmVuZG9ycy5kcmF3KTpjYW5jZWxSZXF1ZXN0QW5pbUZyYW1lKGkuZm4uZHJhd0FuaW1GcmFtZSkpOmkudG1wLmltZ19lcnJvcnx8KGkuZm4uZHJhd0FuaW1GcmFtZT1yZXF1ZXN0QW5pbUZyYW1lKGkuZm4udmVuZG9ycy5kcmF3KSk6KGkuZm4ucGFydGljbGVzRHJhdygpLGkucGFydGljbGVzLm1vdmUuZW5hYmxlP2kuZm4uZHJhd0FuaW1GcmFtZT1yZXF1ZXN0QW5pbUZyYW1lKGkuZm4udmVuZG9ycy5kcmF3KTpjYW5jZWxSZXF1ZXN0QW5pbUZyYW1lKGkuZm4uZHJhd0FuaW1GcmFtZSkpfSxpLmZuLnZlbmRvcnMuY2hlY2tCZWZvcmVEcmF3PWZ1bmN0aW9uKCl7ImltYWdlIj09aS5wYXJ0aWNsZXMuc2hhcGUudHlwZT8ic3ZnIj09aS50bXAuaW1nX3R5cGUmJnZvaWQgMD09aS50bXAuc291cmNlX3N2Zz9pLnRtcC5jaGVja0FuaW1GcmFtZT1yZXF1ZXN0QW5pbUZyYW1lKGNoZWNrKTooY2FuY2VsUmVxdWVzdEFuaW1GcmFtZShpLnRtcC5jaGVja0FuaW1GcmFtZSksaS50bXAuaW1nX2Vycm9yfHwoaS5mbi52ZW5kb3JzLmluaXQoKSxpLmZuLnZlbmRvcnMuZHJhdygpKSk6KGkuZm4udmVuZG9ycy5pbml0KCksaS5mbi52ZW5kb3JzLmRyYXcoKSl9LGkuZm4udmVuZG9ycy5pbml0PWZ1bmN0aW9uKCl7aS5mbi5yZXRpbmFJbml0KCksaS5mbi5jYW52YXNJbml0KCksaS5mbi5jYW52YXNTaXplKCksaS5mbi5jYW52YXNQYWludCgpLGkuZm4ucGFydGljbGVzQ3JlYXRlKCksaS5mbi52ZW5kb3JzLmRlbnNpdHlBdXRvUGFydGljbGVzKCksaS5wYXJ0aWNsZXMubGluZV9saW5rZWQuY29sb3JfcmdiX2xpbmU9aGV4VG9SZ2IoaS5wYXJ0aWNsZXMubGluZV9saW5rZWQuY29sb3IpfSxpLmZuLnZlbmRvcnMuc3RhcnQ9ZnVuY3Rpb24oKXtpc0luQXJyYXkoImltYWdlIixpLnBhcnRpY2xlcy5zaGFwZS50eXBlKT8oaS50bXAuaW1nX3R5cGU9aS5wYXJ0aWNsZXMuc2hhcGUuaW1hZ2Uuc3JjLnN1YnN0cihpLnBhcnRpY2xlcy5zaGFwZS5pbWFnZS5zcmMubGVuZ3RoLTMpLGkuZm4udmVuZG9ycy5sb2FkSW1nKGkudG1wLmltZ190eXBlKSk6aS5mbi52ZW5kb3JzLmNoZWNrQmVmb3JlRHJhdygpfSxpLmZuLnZlbmRvcnMuZXZlbnRzTGlzdGVuZXJzKCksaS5mbi52ZW5kb3JzLnN0YXJ0KCl9O09iamVjdC5kZWVwRXh0ZW5kPWZ1bmN0aW9uKGUsYSl7Zm9yKHZhciB0IGluIGEpYVt0XSYmYVt0XS5jb25zdHJ1Y3RvciYmYVt0XS5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oZVt0XT1lW3RdfHx7fSxhcmd1bWVudHMuY2FsbGVlKGVbdF0sYVt0XSkpOmVbdF09YVt0XTtyZXR1cm4gZX0sd2luZG93LnJlcXVlc3RBbmltRnJhbWU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tc1JlcXVlc3RBbmltYXRpb25GcmFtZXx8ZnVuY3Rpb24oZSl7d2luZG93LnNldFRpbWVvdXQoZSwxZTMvNjApfX0oKSx3aW5kb3cuY2FuY2VsUmVxdWVzdEFuaW1GcmFtZT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGNsZWFyVGltZW91dH0oKSx3aW5kb3cucEpTRG9tPVtdLHdpbmRvdy5wYXJ0aWNsZXNKUz1mdW5jdGlvbihlLGEpeyJzdHJpbmciIT10eXBlb2YgZSYmKGE9ZSxlPSJwYXJ0aWNsZXMtanMiKSxlfHwoZT0icGFydGljbGVzLWpzIik7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSksaT0icGFydGljbGVzLWpzLWNhbnZhcy1lbCIscz10LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoaSk7aWYocy5sZW5ndGgpZm9yKDtzLmxlbmd0aD4wOyl0LnJlbW92ZUNoaWxkKHNbMF0pO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO24uY2xhc3NOYW1lPWksbi5zdHlsZS53aWR0aD0iMTAwJSIsbi5zdHlsZS5oZWlnaHQ9IjEwMCUiO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLmFwcGVuZENoaWxkKG4pO251bGwhPXImJnBKU0RvbS5wdXNoKG5ldyBwSlMoZSxhKSl9LHdpbmRvdy5wYXJ0aWNsZXNKUy5sb2FkPWZ1bmN0aW9uKGUsYSx0KXt2YXIgaT1uZXcgWE1MSHR0cFJlcXVlc3Q7aS5vcGVuKCJHRVQiLGEpLGkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEpe2lmKDQ9PWkucmVhZHlTdGF0ZSlpZigyMDA9PWkuc3RhdHVzKXt2YXIgcz1KU09OLnBhcnNlKGEuY3VycmVudFRhcmdldC5yZXNwb25zZSk7d2luZG93LnBhcnRpY2xlc0pTKGUscyksdCYmdCgpfWVsc2UgY29uc29sZS5sb2coIkVycm9yIHBKUyAtIFhNTEh0dHBSZXF1ZXN0IHN0YXR1czogIitpLnN0YXR1cyksY29uc29sZS5sb2coIkVycm9yIHBKUyAtIEZpbGUgY29uZmlnIG5vdCBmb3VuZCIpfSxpLnNlbmQoKX07"}},"time_used":145,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":145,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/token.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.970Z","timestamp":1785154927970,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/token.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:26 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=DdpR49mFzYS8EApg5C6aTgQACbgZNpE3nIVueagpSJFxEjloDeSqod%2BUt0zFpZSDMiJNWrwbgIXd9f61LWw29MHmUstdSl2rYr7onoyUF%2BXlI9xlPjOCRMD%2FShNid72m4hagyf2GODk%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd71b28a-OSL\r\ncontent-length: 3812\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":3812,"size_decoded":4576,"mime_type":"image/png","magic":"PNG image data, 76 x 78, 8-bit/color RGBA, non-interlaced","md5":"2e29c04bdf26e71b25ada61cb781d5da","sha1":"fb2acfb45f7650384a1129aab54476be1fbac8a4","sha256":"370eb41773560623208a026d60c96ed3df45019722da07620a0cdbccb9367f87","sha512":"7843d99698d194ba08c33f324d5967d5c60d413b62d1dc0a568415a68d9689ce173acfafb33a1f02f25e70e36552b491feac6d3c675937111ccf0539faafa7fc","ssdeep":"","tlshash":"cd713c94f68ab12142aed95608ff425ea47402016af8d87e584a213c5df15f28bfd4cf","first_seen":"2025-05-13T12:23:37.664072Z","last_seen":"2026-07-27T12:23:18.825831Z","times_seen":7,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEwAAABOCAYAAACKX/AgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBCRENDMjYwMzk3MDExRTg5MENEODYwODE2NUYwODVEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBCRENDMjYxMzk3MDExRTg5MENEODYwODE2NUYwODVEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEJEQ0MyNUUzOTcwMTFFODkwQ0Q4NjA4MTY1RjA4NUQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEJEQ0MyNUYzOTcwMTFFODkwQ0Q4NjA4MTY1RjA4NUQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7eWs5CAAALWklEQVR42uxc7XnbOBKm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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/flags/Canada.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.977Z","timestamp":1785154927977,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/flags/Canada.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:40 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nMtr9Jq9%2F2lSDNnaGsPYAQHW09vB59sc574uT9inBcgvyDBf2eOjmMV9mqhR7f9VKzZgI9hjn%2FJLa0PxcI4wWQwEY%2Bk31Ze9Bpx6TKobfwX9Xw2YEfwQ2VXXdbUChw%2BFPlvf4HaAiMo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd77b28a-OSL\r\ncontent-length: 2218\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2218,"size_decoded":2984,"mime_type":"image/png","magic":"PNG image data, 200 x 100, 8-bit/color RGB, non-interlaced","md5":"72a2144541f50e2a29b722f38690f900","sha1":"f9c52f1f38bcbe80db12a08e8d0c2152c0522c6c","sha256":"9920c7c28dfbccfa6fb852a6db7d32b6cabe651668b8912a7afe82e71f2dd6c3","sha512":"06790b555a64b18330f9ab1f4ed8c303d88e3a5f4f8607ddaebd300f0b466c26673fb988e448039d318ca8fb4b3c2da41c03ed205d29fbc6c0aaf6468b129b62","ssdeep":"","tlshash":"aa415c1d16b8e458d376e727d3604883d0b259386f338cf988708717a9afbf97011465","first_seen":"2026-07-27T05:58:00.857308Z","last_seen":"2026-07-27T12:23:18.824034Z","times_seen":3,"resource_available":false,"data":"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"}},"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/owlcarousel/css/owl.carousel.min.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.904Z","timestamp":1785154927904,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/owlcarousel/css/owl.carousel.min.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Sat, 07 Sep 2024 12:54:24 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9b5D3zrNVbNiJw4c8mE0z224XfTDRDgpPvf2rsy1DuNaFXDraHK18gcnF3sIcxRr%2B%2BduF%2B%2BRFXaXi8Ve%2FSkLfRZHqyhCsD8PK5kCdf774trwOS8sXXaX3OjliJzT%2FRh03DtIK3B4uTs%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b6d4bb28a-OSL\r\ncontent-length: 827\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":3017,"size_decoded":1643,"mime_type":"text/css","magic":"ASCII text, with very long lines (2855), with CRLF line terminators","md5":"d5fb8c0d40ba34e4739b656293eab70d","sha1":"ba379307e1b3ec83be2df45ab7013f27b8051bf5","sha256":"8d2490b6fceb4452fe9c126f0d8c2346bc687cc8ef2c4760949d51967e7c714d","sha512":"82cb16bae4baa9d735b95cecd525469077b8fa5f3e75d9a141d8c86892df9577e02586a8a8e766de3ef7abae2767dbbfbcee4b06e869d317e6b43e7f61d51fbe","ssdeep":"","tlshash":"c551cee52147225e481f872219dc1d47793dcc53d8660a9aa2bbe714879ae1c113ffcf","first_seen":"2023-07-23T11:51:43Z","last_seen":"2026-07-27T12:23:18.842278Z","times_seen":26,"resource_available":false,"data":"LyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMi4wDQogKiBDb3B5cmlnaHQgMjAxMy0yMDE2IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLw0KLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsIC5vd2wtaXRlbXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmV9Lm93bC1jYXJvdXNlbHtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjF9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdle3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy10b3VjaC1hY3Rpb246cGFuLVl9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVye2NvbnRlbnQ6Ii4iO2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjtsaW5lLWhlaWdodDowO2hlaWdodDowfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVte21pbi1oZWlnaHQ6MXB4O2Zsb2F0OmxlZnQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkLC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWR7ZGlzcGxheTpub25lfS5uby1qcyAub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZHtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXZ7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOmhhbmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmd7b3BhY2l0eTowO2Rpc3BsYXk6YmxvY2t9Lm93bC1jYXJvdXNlbC5vd2wtaGlkZGVue29wYWNpdHk6MH0ub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbXt2aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm93bC1jYXJvdXNlbC5vd2wtZ3JhYntjdXJzb3I6bW92ZTtjdXJzb3I6Z3JhYn0ub3dsLWNhcm91c2VsLm93bC1ydGx7ZGlyZWN0aW9uOnJ0bH0ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVte2Zsb2F0OnJpZ2h0fS5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9Lm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWlue3otaW5kZXg6MH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0e3otaW5kZXg6MX0ub3dsLWNhcm91c2VsIC5mYWRlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dDthbmltYXRpb24tbmFtZTpmYWRlT3V0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QGtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19Lm93bC1oZWlnaHR7dHJhbnNpdGlvbjpoZWlnaHQgLjVzIGVhc2UtaW4tb3V0fS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eXstd2Via2l0LXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZDt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjgwcHg7d2lkdGg6ODBweDtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi00MHB4O21hcmdpbi10b3A6LTQwcHg7YmFja2dyb3VuZDp1cmwob3dsLnZpZGVvLnBsYXkuaHRtbCkgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGVhc2U7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiwub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRue2Rpc3BsYXk6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG57b3BhY2l0eTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0="}},"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/Chart.bundle.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.940Z","timestamp":1785154927940,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/Chart.bundle.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:42 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=7cPumV57v4T8dk%2FMVxN6KQIklYILzeXNbWM3SxNAsYGvP3AFJhXjVVbypdSrUq9aOTOwDb%2FZ0NWyr5VPpLyCBUtrR7X911KxZwvK%2FJw%2FQ5uiHX4N5pISmAqxKkukwfWq9g9JMTaM0YA%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9bad63b28a-OSL\r\ncontent-length: 123833\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":535484,"size_decoded":124610,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (867), with CRLF, LF line terminators","md5":"b6f55af77c3972c9dcbf33b0acacacbc","sha1":"b7e996fff90a6d43b7c4ad5709fa47652c0183dc","sha256":"246ea1b2e323167436b295aad1489a0d124169aaf38456d4c62513c500c0f4b9","sha512":"4915b536e7a05820f87e8c15077b14c2bd8b9cb9d501c2930ad613f73f38aec91fa2aaad2197c45b588a074b85d51cef7526ea71522ce8590e3638f98fcf1163","ssdeep":"12288:YCmQvz7lFFn4+Y0iSHea5yrwUtBkYd8k/DEqXBvQiN:YCmKz7ljFdYFN","tlshash":"5ab4f898f7ed2126422632585e1f51cda63d9033590adc69bc6ca5a42fd4c3c43fbfa8","first_seen":"2023-03-07T12:06:49Z","last_seen":"2026-07-27T12:23:18.800314Z","times_seen":37,"resource_available":true,"data":"LyohCiAqIENoYXJ0LmpzCiAqIGh0dHA6Ly9jaGFydGpzLm9yZy8KICogVmVyc2lvbjogMi43LjIKICoKICogQ29weXJpZ2h0IDIwMTggQ2hhcnQuanMgQ29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQogKiBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9ibG9iL21hc3Rlci9MSUNFTlNFLm1kCiAqLwooZnVuY3Rpb24oZil7aWYodHlwZW9mIGV4cG9ydHM9PT0ib2JqZWN0IiYmdHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKXttb2R1bGUuZXhwb3J0cz1mKCl9ZWxzZSBpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCl7ZGVmaW5lKFtdLGYpfWVsc2V7dmFyIGc7aWYodHlwZW9mIHdpbmRvdyE9PSJ1bmRlZmluZWQiKXtnPXdpbmRvd31lbHNlIGlmKHR5cGVvZiBnbG9iYWwhPT0idW5kZWZpbmVkIil7Zz1nbG9iYWx9ZWxzZSBpZih0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiKXtnPXNlbGZ9ZWxzZXtnPXRoaXN9Zy5DaGFydCA9IGYoKX19KShmdW5jdGlvbigpe3ZhciBkZWZpbmUsbW9kdWxlLGV4cG9ydHM7cmV0dXJuIChmdW5jdGlvbigpe2Z1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbysiJyIpO3Rocm93IGYuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9cmV0dXJuIGV9KSgpKHsxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKLyogTUlUIGxpY2Vuc2UgKi8KdmFyIGNvbG9yTmFtZXMgPSByZXF1aXJlKDUpOwoKbW9kdWxlLmV4cG9ydHMgPSB7CiAgIGdldFJnYmE6IGdldFJnYmEsCiAgIGdldEhzbGE6IGdldEhzbGEsCiAgIGdldFJnYjogZ2V0UmdiLAogICBnZXRIc2w6IGdldEhzbCwKICAgZ2V0SHdiOiBnZXRId2IsCiAgIGdldEFscGhhOiBnZXRBbHBoYSwKCiAgIGhleFN0cmluZzogaGV4U3RyaW5nLAogICByZ2JTdHJpbmc6IHJnYlN0cmluZywKICAgcmdiYVN0cmluZzogcmdiYVN0cmluZywKICAgcGVyY2VudFN0cmluZzogcGVyY2VudFN0cmluZywKICAgcGVyY2VudGFTdHJpbmc6IHBlcmNlbnRhU3RyaW5nLAogICBoc2xTdHJpbmc6IGhzbFN0cmluZywKICAgaHNsYVN0cmluZzogaHNsYVN0cmluZywKICAgaHdiU3RyaW5nOiBod2JTdHJpbmcsCiAgIGtleXdvcmQ6IGtleXdvcmQKfQoKZnVuY3Rpb24gZ2V0UmdiYShzdHJpbmcpIHsKICAgaWYgKCFzdHJpbmcpIHsKICAgICAgcmV0dXJuOwogICB9CiAgIHZhciBhYmJyID0gIC9eIyhbYS1mQS1GMC05XXszfSkkL2ksCiAgICAgICBoZXggPSAgL14jKFthLWZBLUYwLTldezZ9KSQvaSwKICAgICAgIHJnYmEgPSAvXnJnYmE/XChccyooWystXT9cZCspXHMqLFxzKihbKy1dP1xkKylccyosXHMqKFsrLV0/XGQrKVxzKig/OixccyooWystXT9bXGRcLl0rKVxzKik/XCkkL2ksCiAgICAgICBwZXIgPSAvXnJnYmE/XChccyooWystXT9bXGRcLl0rKVwlXHMqLFxzKihbKy1dP1tcZFwuXSspXCVccyosXHMqKFsrLV0/W1xkXC5dKylcJVxzKig/OixccyooWystXT9bXGRcLl0rKVxzKik/XCkkL2ksCiAgICAgICBrZXl3b3JkID0gLyhcdyspLzsKCiAgIHZhciByZ2IgPSBbMCwgMCwgMF0sCiAgICAgICBhID0gMSwKICAgICAgIG1hdGNoID0gc3RyaW5nLm1hdGNoKGFiYnIpOwogICBpZiAobWF0Y2gpIHsKICAgICAgbWF0Y2ggPSBtYXRjaFsxXTsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHsKICAgICAgICAgcmdiW2ldID0gcGFyc2VJbnQobWF0Y2hbaV0gKyBtYXRjaFtpXSwgMTYpOwogICAgICB9CiAgIH0KICAgZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goaGV4KSkgewogICAgICBtYXRjaCA9IG1hdGNoWzFdOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJnYi5sZW5ndGg7IGkrKykgewogICAgICAgICByZ2JbaV0gPSBwYXJzZUludChtYXRjaC5zbGljZShpICogMiwgaSAqIDIgKyAyKSwgMTYpOwogICAgICB9CiAgIH0KICAgZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocmdiYSkpIHsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHsKICAgICAgICAgcmdiW2ldID0gcGFyc2VJbnQobWF0Y2hbaSArIDFdKTsKICAgICAgfQogICAgICBhID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7CiAgIH0KICAgZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocGVyKSkgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJnYi5sZW5ndGg7IGkrKykgewogICAgICAgICByZ2JbaV0gPSBNYXRoLnJvdW5kKHBhcnNlRmxvYXQobWF0Y2hbaSArIDFdKSAqIDIuNTUpOwogICAgICB9CiAgICAgIGEgPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTsKICAgfQogICBlbHNlIGlmIChtYXRjaCA9IHN0cmluZy5tYXRjaChrZXl3b3JkKSkgewogICAgICBpZiAobWF0Y2hbMV0gPT0gInRyYW5zcGFyZW50IikgewogICAgICAgICByZXR1cm4gWzAsIDAsIDAsIDBdOwogICAgICB9CiAgICAgIHJnYiA9IGNvbG9yTmFtZXNbbWF0Y2hbMV1dOwogICAgICBpZiAoIXJnYikgewogICAgICAgICByZXR1cm47CiAgICAgIH0KICAgfQoKICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHsKICAgICAgcmdiW2ldID0gc2NhbGUocmdiW2ldLCAwLCAyNTUpOwogICB9CiAgIGlmICghYSAmJiBhICE9IDApIHsKICAgICAgYSA9IDE7CiAgIH0KICAgZWxzZSB7CiAgICAgIGEgPSBzY2FsZShhLCAwLCAxKTsKICAgfQogICByZ2JbM10gPSBhOwogICByZXR1cm4gcmdiOwp9CgpmdW5jdGlvbiBnZXRIc2xhKHN0cmluZykgewogICBpZiAoIXN0cmluZykgewogICAgICByZXR1cm47CiAgIH0KICAgdmFyIGhzbCA9IC9eaHNsYT9cKFxzKihbKy1dP1xkKykoPzpkZWcpP1xzKixccyooWystXT9bXGRcLl0rKSVccyosXHMqKFsrLV0/W1xkXC5dKyklXHMqKD86LFxzKihbKy1dP1tcZFwuXSspXHMqKT9cKS87CiAgIHZhciBtYXRjaCA9IHN0cmluZy5tYXRjaChoc2wpOwogICBpZiAobWF0Y2gpIHsKICAgICAgdmFyIGFscGhhID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7CiAgICAgIHZhciBoID0gc2NhbGUocGFyc2VJbnQobWF0Y2hbMV0pLCAwLCAzNjApLAogICAgICAgICAgcyA9IHNjYWxlKHBhcnNlRmxvYXQobWF0Y2hbMl0pLCAwLCAxMDApLAogICAgICAgICAgbCA9IHNjYWxlKHBhcnNlRmxvYXQobWF0Y2hbM10pLCAwLCAxMDApLAogICAgICAgICAgYSA9IHNjYWxlKGlzTmFOKGFscGhhKSA/IDEgOiBhbHBoYSwgMCwgMSk7CiAgICAgIHJldHVybiBbaCwgcywgbCwgYV07CiAgIH0KfQoKZnVuY3Rpb24gZ2V0SHdiKHN0cmluZykgewogICBpZiAoIXN0cmluZykgewogICAgICByZXR1cm47CiAgIH0KICAgdmFyIGh3YiA9IC9eaHdiXChccyooWystXT9cZCspKD86ZGVnKT9ccyosXHMqKFsrLV0/W1xkXC5dKyklXHMqLFxzKihbKy1dP1tcZFwuXSspJVxzKig/OixccyooWystXT9bXGRcLl0rKVxzKik/XCkvOwogICB2YXIgbWF0Y2ggPSBzdHJpbmcubWF0Y2goaHdiKTsKICAgaWYgKG1hdGNoKSB7CiAgICB2YXIgYWxwaGEgPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTsKICAgICAgdmFyIGggPSBzY2FsZShwYXJzZUludChtYXRjaFsxXSksIDAsIDM2MCksCiAgICAgICAgICB3ID0gc2NhbGUocGFyc2VGbG9hdChtYXRjaFsyXSksIDAsIDEwMCksCiAgICAgICAgICBiID0gc2NhbGUocGFyc2VGbG9hdChtYXRjaFszXSksIDAsIDEwMCksCiAgICAgICAgICBhID0gc2NhbGUoaXNOYU4oYWxwaGEpID8gMSA6IGFscGhhLCAwLCAxKTsKICAgICAgcmV0dXJuIFtoLCB3LCBiLCBhXTsKICAgfQp9CgpmdW5jdGlvbiBnZXRSZ2Ioc3RyaW5nKSB7CiAgIHZhciByZ2JhID0gZ2V0UmdiYShzdHJpbmcpOwogICByZXR1cm4gcmdiYSAmJiByZ2JhLnNsaWNlKDAsIDMpOwp9CgpmdW5jdGlvbiBnZXRIc2woc3RyaW5nKSB7CiAgdmFyIGhzbGEgPSBnZXRIc2xhKHN0cmluZyk7CiAgcmV0dXJuIGhzbGEgJiYgaHNsYS5zbGljZSgwLCAzKTsKfQoKZnVuY3Rpb24gZ2V0QWxwaGEoc3RyaW5nKSB7CiAgIHZhciB2YWxzID0gZ2V0UmdiYShzdHJpbmcpOwogICBpZiAodmFscykgewogICAgICByZXR1cm4gdmFsc1szXTsKICAgfQogICBlbHNlIGlmICh2YWxzID0gZ2V0SHNsYShzdHJpbmcpKSB7CiAgICAgIHJldHVybiB2YWxzWzNdOwogICB9CiAgIGVsc2UgaWYgKHZhbHMgPSBnZXRId2Ioc3RyaW5nKSkgewogICAgICByZXR1cm4gdmFsc1szXTsKICAgfQp9CgovLyBnZW5lcmF0b3JzCmZ1bmN0aW9uIGhleFN0cmluZyhyZ2IpIHsKICAgcmV0dXJuICIjIiArIGhleERvdWJsZShyZ2JbMF0pICsgaGV4RG91YmxlKHJnYlsxXSkKICAgICAgICAgICAgICArIGhleERvdWJsZShyZ2JbMl0pOwp9CgpmdW5jdGlvbiByZ2JTdHJpbmcocmdiYSwgYWxwaGEpIHsKICAgaWYgKGFscGhhIDwgMSB8fCAocmdiYVszXSAmJiByZ2JhWzNdIDwgMSkpIHsKICAgICAgcmV0dXJuIHJnYmFTdHJpbmcocmdiYSwgYWxwaGEpOwogICB9CiAgIHJldHVybiAicmdiKCIgKyByZ2JhWzBdICsgIiwgIiArIHJnYmFbMV0gKyAiLCAiICsgcmdiYVsyXSArICIpIjsKfQoKZnVuY3Rpb24gcmdiYVN0cmluZyhyZ2JhLCBhbHBoYSkgewogICBpZiAoYWxwaGEgPT09IHVuZGVmaW5lZCkgewogICAgICBhbHBoYSA9IChyZ2JhWzNdICE9PSB1bmRlZmluZWQgPyByZ2JhWzNdIDogMSk7CiAgIH0KICAgcmV0dXJuICJyZ2JhKCIgKyByZ2JhWzBdICsgIiwgIiArIHJnYmFbMV0gKyAiLCAiICsgcmdiYVsyXQogICAgICAgICAgICsgIiwgIiArIGFscGhhICsgIikiOwp9CgpmdW5jdGlvbiBwZXJjZW50U3RyaW5nKHJnYmEsIGFscGhhKSB7CiAgIGlmIChhbHBoYSA8IDEgfHwgKHJnYmFbM10gJiYgcmdiYVszXSA8IDEpKSB7CiAgICAgIHJldHVybiBwZXJjZW50YVN0cmluZyhyZ2JhLCBhbHBoYSk7CiAgIH0KICAgdmFyIHIgPSBNYXRoLnJvdW5kKHJnYmFbMF0vMjU1ICogMTAwKSwKICAgICAgIGcgPSBNYXRoLnJvdW5kKHJnYmFbMV0vMjU1ICogMTAwKSwKICAgICAgIGIgPSBNYXRoLnJvdW5kKHJnYmFbMl0vMjU1ICogMTAwKTsKCiAgIHJldHVybiAicmdiKCIgKyByICsgIiUsICIgKyBnICsgIiUsICIgKyBiICsgIiUpIjsKfQoKZnVuY3Rpb24gcGVyY2VudGFTdHJpbmcocmdiYSwgYWxwaGEpIHsKICAgdmFyIHIgPSBNYXRoLnJvdW5kKHJnYmFbMF0vMjU1ICogMTAwKSwKICAgICAgIGcgPSBNYXRoLnJvdW5kKHJnYmFbMV0vMjU1ICogMTAwKSwKICAgICAgIGIgPSBNYXRoLnJvdW5kKHJnYmFbMl0vMjU1ICogMTAwKTsKICAgcmV0dXJuICJyZ2JhKCIgKyByICsgIiUsICIgKyBnICsgIiUsICIgKyBiICsgIiUsICIgKyAoYWxwaGEgfHwgcmdiYVszXSB8fCAxKSArICIpIjsKfQoKZnVuY3Rpb24gaHNsU3RyaW5nKGhzbGEsIGFscGhhKSB7CiAgIGlmIChhbHBoYSA8IDEgfHwgKGhzbGFbM10gJiYgaHNsYVszXSA8IDEpKSB7CiAgICAgIHJldHVybiBoc2xhU3RyaW5nKGhzbGEsIGFscGhhKTsKICAgfQogICByZXR1cm4gImhzbCgiICsgaHNsYVswXSArICIsICIgKyBoc2xhWzFdICsgIiUsICIgKyBoc2xhWzJdICsgIiUpIjsKfQoKZnVuY3Rpb24gaHNsYVN0cmluZyhoc2xhLCBhbHBoYSkgewogICBpZiAoYWxwaGEgPT09IHVuZGVmaW5lZCkgewogICAgICBhbHBoYSA9IChoc2xhWzNdICE9PSB1bmRlZmluZWQgPyBoc2xhWzNdIDogMSk7CiAgIH0KICAgcmV0dXJuICJoc2xhKCIgKyBoc2xhWzBdICsgIiwgIiArIGhzbGFbMV0gKyAiJSwgIiArIGhzbGFbMl0gKyAiJSwgIgogICAgICAgICAgICsgYWxwaGEgKyAiKSI7Cn0KCi8vIGh3YiBpcyBhIGJpdCBkaWZmZXJlbnQgdGhhbiByZ2IoYSkgJiBoc2woYSkgc2luY2UgdGhlcmUgaXMgbm8gYWxwaGEgc3BlY2lmaWMgc3ludGF4Ci8vIChod2IgaGF2ZSBhbHBoYSBvcHRpb25hbCAmIDEgaXMgZGVmYXVsdCB2YWx1ZSkKZnVuY3Rpb24gaHdiU3RyaW5nKGh3YiwgYWxwaGEpIHsKICAgaWYgKGFscGhhID09PSB1bmRlZmluZWQpIHsKICAgICAgYWxwaGEgPSAoaHdiWzNdICE9PSB1bmRlZmluZWQgPyBod2JbM10gOiAxKTsKICAgfQogICByZXR1cm4gImh3YigiICsgaHdiWzBdICsgIiwgIiArIGh3YlsxXSArICIlLCAiICsgaHdiWzJdICsgIiUiCiAgICAgICAgICAgKyAoYWxwaGEgIT09IHVuZGVmaW5lZCAmJiBhbHBoYSAhPT0gMSA/ICIsICIgKyBhbHBoYSA6ICIiKSArICIpIjsKfQoKZnVuY3Rpb24ga2V5d29yZChyZ2IpIHsKICByZXR1cm4gcmV2ZXJzZU5hbWVzW3JnYi5zbGljZSgwLCAzKV07Cn0KCi8vIGhlbHBlcnMKZnVuY3Rpb24gc2NhbGUobnVtLCBtaW4sIG1heCkgewogICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobWluLCBudW0pLCBtYXgpOwp9CgpmdW5jdGlvbiBoZXhEb3VibGUobnVtKSB7CiAgdmFyIHN0ciA9IG51bS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTsKICByZXR1cm4gKHN0ci5sZW5ndGggPCAyKSA/ICIwIiArIHN0ciA6IHN0cjsKfQoKCi8vY3JlYXRlIGEgbGlzdCBvZiByZXZlcnNlIGNvbG9yIG5hbWVzCnZhciByZXZlcnNlTmFtZXMgPSB7fTsKZm9yICh2YXIgbmFtZSBpbiBjb2xvck5hbWVzKSB7CiAgIHJldmVyc2VOYW1lc1tjb2xvck5hbWVzW25hbWVdXSA9IG5hbWU7Cn0KCn0seyI1Ijo1fV0sMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qIE1JVCBsaWNlbnNlICovCnZhciBjb252ZXJ0ID0gcmVxdWlyZSg0KTsKdmFyIHN0cmluZyA9IHJlcXVpcmUoMSk7Cgp2YXIgQ29sb3IgPSBmdW5jdGlvbiAob2JqKSB7CglpZiAob2JqIGluc3RhbmNlb2YgQ29sb3IpIHsKCQlyZXR1cm4gb2JqOwoJfQoJaWYgKCEodGhpcyBpbnN0YW5jZW9mIENvbG9yKSkgewoJCXJldHVybiBuZXcgQ29sb3Iob2JqKTsKCX0KCgl0aGlzLnZhbGlkID0gZmFsc2U7Cgl0aGlzLnZhbHVlcyA9IHsKCQlyZ2I6IFswLCAwLCAwXSwKCQloc2w6IFswLCAwLCAwXSwKCQloc3Y6IFswLCAwLCAwXSwKCQlod2I6IFswLCAwLCAwXSwKCQljbXlrOiBbMCwgMCwgMCwgMF0sCgkJYWxwaGE6IDEKCX07CgoJLy8gcGFyc2UgQ29sb3IoKSBhcmd1bWVudAoJdmFyIHZhbHM7CglpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHsKCQl2YWxzID0gc3RyaW5nLmdldFJnYmEob2JqKTsKCQlpZiAodmFscykgewoJCQl0aGlzLnNldFZhbHVlcygncmdiJywgdmFscyk7CgkJfSBlbHNlIGlmICh2YWxzID0gc3RyaW5nLmdldEhzbGEob2JqKSkgewoJCQl0aGlzLnNldFZhbHVlcygnaHNsJywgdmFscyk7CgkJfSBlbHNlIGlmICh2YWxzID0gc3RyaW5nLmdldEh3YihvYmopKSB7CgkJCXRoaXMuc2V0VmFsdWVzKCdod2InLCB2YWxzKTsKCQl9Cgl9IGVsc2UgaWYgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnKSB7CgkJdmFscyA9IG9iajsKCQlpZiAodmFscy5yICE9PSB1bmRlZmluZWQgfHwgdmFscy5yZWQgIT09IHVuZGVmaW5lZCkgewoJCQl0aGlzLnNldFZhbHVlcygncmdiJywgdmFscyk7CgkJfSBlbHNlIGlmICh2YWxzLmwgIT09IHVuZGVmaW5lZCB8fCB2YWxzLmxpZ2h0bmVzcyAhPT0gdW5kZWZpbmVkKSB7CgkJCXRoaXMuc2V0VmFsdWVzKCdoc2wnLCB2YWxzKTsKCQl9IGVsc2UgaWYgKHZhbHMudiAhPT0gdW5kZWZpbmVkIHx8IHZhbHMudmFsdWUgIT09IHVuZGVmaW5lZCkgewoJCQl0aGlzLnNldFZhbHVlcygnaHN2JywgdmFscyk7CgkJfSBlbHNlIGlmICh2YWxzLncgIT09IHVuZGVmaW5lZCB8fCB2YWxzLndoaXRlbmVzcyAhPT0gdW5kZWZpbmVkKSB7CgkJCXRoaXMuc2V0VmFsdWVzKCdod2InLCB2YWxzKTsKCQl9IGVsc2UgaWYgKHZhbHMuYyAhPT0gdW5kZWZpbmVkIHx8IHZhbHMuY3lhbiAhPT0gdW5kZWZpbmVkKSB7CgkJCXRoaXMuc2V0VmFsdWVzKCdjbXlrJywgdmFscyk7CgkJfQoJfQp9OwoKQ29sb3IucHJvdG90eXBlID0gewoJaXNWYWxpZDogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnZhbGlkOwoJfSwKCXJnYjogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnNldFNwYWNlKCdyZ2InLCBhcmd1bWVudHMpOwoJfSwKCWhzbDogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnNldFNwYWNlKCdoc2wnLCBhcmd1bWVudHMpOwoJfSwKCWhzdjogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnNldFNwYWNlKCdoc3YnLCBhcmd1bWVudHMpOwoJfSwKCWh3YjogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnNldFNwYWNlKCdod2InLCBhcmd1bWVudHMpOwoJfSwKCWNteWs6IGZ1bmN0aW9uICgpIHsKCQlyZXR1cm4gdGhpcy5zZXRTcGFjZSgnY215aycsIGFyZ3VtZW50cyk7Cgl9LAoKCXJnYkFycmF5OiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHRoaXMudmFsdWVzLnJnYjsKCX0sCgloc2xBcnJheTogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnZhbHVlcy5oc2w7Cgl9LAoJaHN2QXJyYXk6IGZ1bmN0aW9uICgpIHsKCQlyZXR1cm4gdGhpcy52YWx1ZXMuaHN2OwoJfSwKCWh3YkFycmF5OiBmdW5jdGlvbiAoKSB7CgkJdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzOwoJCWlmICh2YWx1ZXMuYWxwaGEgIT09IDEpIHsKCQkJcmV0dXJuIHZhbHVlcy5od2IuY29uY2F0KFt2YWx1ZXMuYWxwaGFdKTsKCQl9CgkJcmV0dXJuIHZhbHVlcy5od2I7Cgl9LAoJY215a0FycmF5OiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHRoaXMudmFsdWVzLmNteWs7Cgl9LAoJcmdiYUFycmF5OiBmdW5jdGlvbiAoKSB7CgkJdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzOwoJCXJldHVybiB2YWx1ZXMucmdiLmNvbmNhdChbdmFsdWVzLmFscGhhXSk7Cgl9LAoJaHNsYUFycmF5OiBmdW5jdGlvbiAoKSB7CgkJdmFyIHZhbHVlcyA9IHRoaXMudmFsdWVzOwoJCXJldHVybiB2YWx1ZXMuaHNsLmNvbmNhdChbdmFsdWVzLmFscGhhXSk7Cgl9LAoJYWxwaGE6IGZ1bmN0aW9uICh2YWwpIHsKCQlpZiAodmFsID09PSB1bmRlZmluZWQpIHsKCQkJcmV0dXJuIHRoaXMudmFsdWVzLmFscGhhOwoJCX0KCQl0aGlzLnNldFZhbHVlcygnYWxwaGEnLCB2YWwpOwoJCXJldHVybiB0aGlzOwoJfSwKCglyZWQ6IGZ1bmN0aW9uICh2YWwpIHsKCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdyZ2InLCAwLCB2YWwpOwoJfSwKCWdyZWVuOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgncmdiJywgMSwgdmFsKTsKCX0sCglibHVlOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgncmdiJywgMiwgdmFsKTsKCX0sCglodWU6IGZ1bmN0aW9uICh2YWwpIHsKCQlpZiAodmFsKSB7CgkJCXZhbCAlPSAzNjA7CgkJCXZhbCA9IHZhbCA8IDAgPyAzNjAgKyB2YWwgOiB2YWw7CgkJfQoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2hzbCcsIDAsIHZhbCk7Cgl9LAoJc2F0dXJhdGlvbjogZnVuY3Rpb24gKHZhbCkgewoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2hzbCcsIDEsIHZhbCk7Cgl9LAoJbGlnaHRuZXNzOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHNsJywgMiwgdmFsKTsKCX0sCglzYXR1cmF0aW9udjogZnVuY3Rpb24gKHZhbCkgewoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2hzdicsIDEsIHZhbCk7Cgl9LAoJd2hpdGVuZXNzOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHdiJywgMSwgdmFsKTsKCX0sCglibGFja25lc3M6IGZ1bmN0aW9uICh2YWwpIHsKCQlyZXR1cm4gdGhpcy5zZXRDaGFubmVsKCdod2InLCAyLCB2YWwpOwoJfSwKCXZhbHVlOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnaHN2JywgMiwgdmFsKTsKCX0sCgljeWFuOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnY215aycsIDAsIHZhbCk7Cgl9LAoJbWFnZW50YTogZnVuY3Rpb24gKHZhbCkgewoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2NteWsnLCAxLCB2YWwpOwoJfSwKCXllbGxvdzogZnVuY3Rpb24gKHZhbCkgewoJCXJldHVybiB0aGlzLnNldENoYW5uZWwoJ2NteWsnLCAyLCB2YWwpOwoJfSwKCWJsYWNrOiBmdW5jdGlvbiAodmFsKSB7CgkJcmV0dXJuIHRoaXMuc2V0Q2hhbm5lbCgnY215aycsIDMsIHZhbCk7Cgl9LAoKCWhleFN0cmluZzogZnVuY3Rpb24gKCkgewoJCXJldHVybiBzdHJpbmcuaGV4U3RyaW5nKHRoaXMudmFsdWVzLnJnYik7Cgl9LAoJcmdiU3RyaW5nOiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHN0cmluZy5yZ2JTdHJpbmcodGhpcy52YWx1ZXMucmdiLCB0aGlzLnZhbHVlcy5hbHBoYSk7Cgl9LAoJcmdiYVN0cmluZzogZnVuY3Rpb24gKCkgewoJCXJldHVybiBzdHJpbmcucmdiYVN0cmluZyh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKTsKCX0sCglwZXJjZW50U3RyaW5nOiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHN0cmluZy5wZXJjZW50U3RyaW5nKHRoaXMudmFsdWVzLnJnYiwgdGhpcy52YWx1ZXMuYWxwaGEpOwoJfSwKCWhzbFN0cmluZzogZnVuY3Rpb24gKCkgewoJCXJldHVybiBzdHJpbmcuaHNsU3RyaW5nKHRoaXMudmFsdWVzLmhzbCwgdGhpcy52YWx1ZXMuYWxwaGEpOwoJfSwKCWhzbGFTdHJpbmc6IGZ1bmN0aW9uICgpIHsKCQlyZXR1cm4gc3RyaW5nLmhzbGFTdHJpbmcodGhpcy52YWx1ZXMuaHNsLCB0aGlzLnZhbHVlcy5hbHBoYSk7Cgl9LAoJaHdiU3RyaW5nOiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHN0cmluZy5od2JTdHJpbmcodGhpcy52YWx1ZXMuaHdiLCB0aGlzLnZhbHVlcy5hbHBoYSk7Cgl9LAoJa2V5d29yZDogZnVuY3Rpb24gKCkgewoJCXJldHVybiBzdHJpbmcua2V5d29yZCh0aGlzLnZhbHVlcy5yZ2IsIHRoaXMudmFsdWVzLmFscGhhKTsKCX0sCgoJcmdiTnVtYmVyOiBmdW5jdGlvbiAoKSB7CgkJdmFyIHJnYiA9IHRoaXMudmFsdWVzLnJnYjsKCQlyZXR1cm4gKHJnYlswXSA8PCAxNikgfCAocmdiWzFdIDw8IDgpIHwgcmdiWzJdOwoJfSwKCglsdW1pbm9zaXR5OiBmdW5jdGlvbiAoKSB7CgkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvV0NBRzIwLyNyZWxhdGl2ZWx1bWluYW5jZWRlZgoJCXZhciByZ2IgPSB0aGlzLnZhbHVlcy5yZ2I7CgkJdmFyIGx1bSA9IFtdOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgcmdiLmxlbmd0aDsgaSsrKSB7CgkJCXZhciBjaGFuID0gcmdiW2ldIC8gMjU1OwoJCQlsdW1baV0gPSAoY2hhbiA8PSAwLjAzOTI4KSA/IGNoYW4gLyAxMi45MiA6IE1hdGgucG93KCgoY2hhbiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTsKCQl9CgkJcmV0dXJuIDAuMjEyNiAqIGx1bVswXSArIDAuNzE1MiAqIGx1bVsxXSArIDAuMDcyMiAqIGx1bVsyXTsKCX0sCgoJY29udHJhc3Q6IGZ1bmN0aW9uIChjb2xvcjIpIHsKCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAvI2NvbnRyYXN0LXJhdGlvZGVmCgkJdmFyIGx1bTEgPSB0aGlzLmx1bWlub3NpdHkoKTsKCQl2YXIgbHVtMiA9IGNvbG9yMi5sdW1pbm9zaXR5KCk7CgkJaWYgKGx1bTEgPiBsdW0yKSB7CgkJCXJldHVybiAobHVtMSArIDAuMDUpIC8gKGx1bTIgKyAwLjA1KTsKCQl9CgkJcmV0dXJuIChsdW0yICsgMC4wNSkgLyAobHVtMSArIDAuMDUpOwoJfSwKCglsZXZlbDogZnVuY3Rpb24gKGNvbG9yMikgewoJCXZhciBjb250cmFzdFJhdGlvID0gdGhpcy5jb250cmFzdChjb2xvcjIpOwoJCWlmIChjb250cmFzdFJhdGlvID49IDcuMSkgewoJCQlyZXR1cm4gJ0FBQSc7CgkJfQoKCQlyZXR1cm4gKGNvbnRyYXN0UmF0aW8gPj0gNC41KSA/ICdBQScgOiAnJzsKCX0sCgoJZGFyazogZnVuY3Rpb24gKCkgewoJCS8vIFlJUSBlcXVhdGlvbiBmcm9tIGh0dHA6Ly8yNHdheXMub3JnLzIwMTAvY2FsY3VsYXRpbmctY29sb3ItY29udHJhc3QKCQl2YXIgcmdiID0gdGhpcy52YWx1ZXMucmdiOwoJCXZhciB5aXEgPSAocmdiWzBdICogMjk5ICsgcmdiWzFdICogNTg3ICsgcmdiWzJdICogMTE0KSAvIDEwMDA7CgkJcmV0dXJuIHlpcSA8IDEyODsKCX0sCgoJbGlnaHQ6IGZ1bmN0aW9uICgpIHsKCQlyZXR1cm4gIXRoaXMuZGFyaygpOwoJfSwKCgluZWdhdGU6IGZ1bmN0aW9uICgpIHsKCQl2YXIgcmdiID0gW107CgkJZm9yICh2YXIgaSA9IDA7IGkgPCAzOyBpKyspIHsKCQkJcmdiW2ldID0gMjU1IC0gdGhpcy52YWx1ZXMucmdiW2ldOwoJCX0KCQl0aGlzLnNldFZhbHVlcygncmdiJywgcmdiKTsKCQlyZXR1cm4gdGhpczsKCX0sCgoJbGlnaHRlbjogZnVuY3Rpb24gKHJhdGlvKSB7CgkJdmFyIGhzbCA9IHRoaXMudmFsdWVzLmhzbDsKCQloc2xbMl0gKz0gaHNsWzJdICogcmF0aW87CgkJdGhpcy5zZXRWYWx1ZXMoJ2hzbCcsIGhzbCk7CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCWRhcmtlbjogZnVuY3Rpb24gKHJhdGlvKSB7CgkJdmFyIGhzbCA9IHRoaXMudmFsdWVzLmhzbDsKCQloc2xbMl0gLT0gaHNsWzJdICogcmF0aW87CgkJdGhpcy5zZXRWYWx1ZXMoJ2hzbCcsIGhzbCk7CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCXNhdHVyYXRlOiBmdW5jdGlvbiAocmF0aW8pIHsKCQl2YXIgaHNsID0gdGhpcy52YWx1ZXMuaHNsOwoJCWhzbFsxXSArPSBoc2xbMV0gKiByYXRpbzsKCQl0aGlzLnNldFZhbHVlcygnaHNsJywgaHNsKTsKCQlyZXR1cm4gdGhpczsKCX0sCgoJZGVzYXR1cmF0ZTogZnVuY3Rpb24gKHJhdGlvKSB7CgkJdmFyIGhzbCA9IHRoaXMudmFsdWVzLmhzbDsKCQloc2xbMV0gLT0gaHNsWzFdICogcmF0aW87CgkJdGhpcy5zZXRWYWx1ZXMoJ2hzbCcsIGhzbCk7CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCXdoaXRlbjogZnVuY3Rpb24gKHJhdGlvKSB7CgkJdmFyIGh3YiA9IHRoaXMudmFsdWVzLmh3YjsKCQlod2JbMV0gKz0gaHdiWzFdICogcmF0aW87CgkJdGhpcy5zZXRWYWx1ZXMoJ2h3YicsIGh3Yik7CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCWJsYWNrZW46IGZ1bmN0aW9uIChyYXRpbykgewoJCXZhciBod2IgPSB0aGlzLnZhbHVlcy5od2I7CgkJaHdiWzJdICs9IGh3YlsyXSAqIHJhdGlvOwoJCXRoaXMuc2V0VmFsdWVzKCdod2InLCBod2IpOwoJCXJldHVybiB0aGlzOwoJfSwKCglncmV5c2NhbGU6IGZ1bmN0aW9uICgpIHsKCQl2YXIgcmdiID0gdGhpcy52YWx1ZXMucmdiOwoJCS8vIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR3JheXNjYWxlI0NvbnZlcnRpbmdfY29sb3JfdG9fZ3JheXNjYWxlCgkJdmFyIHZhbCA9IHJnYlswXSAqIDAuMyArIHJnYlsxXSAqIDAuNTkgKyByZ2JbMl0gKiAwLjExOwoJCXRoaXMuc2V0VmFsdWVzKCdyZ2InLCBbdmFsLCB2YWwsIHZhbF0pOwoJCXJldHVybiB0aGlzOwoJfSwKCgljbGVhcmVyOiBmdW5jdGlvbiAocmF0aW8pIHsKCQl2YXIgYWxwaGEgPSB0aGlzLnZhbHVlcy5hbHBoYTsKCQl0aGlzLnNldFZhbHVlcygnYWxwaGEnLCBhbHBoYSAtIChhbHBoYSAqIHJhdGlvKSk7CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCW9wYXF1ZXI6IGZ1bmN0aW9uIChyYXRpbykgewoJCXZhciBhbHBoYSA9IHRoaXMudmFsdWVzLmFscGhhOwoJCXRoaXMuc2V0VmFsdWVzKCdhbHBoYScsIGFscGhhICsgKGFscGhhICogcmF0aW8pKTsKCQlyZXR1cm4gdGhpczsKCX0sCgoJcm90YXRlOiBmdW5jdGlvbiAoZGVncmVlcykgewoJCXZhciBoc2wgPSB0aGlzLnZhbHVlcy5oc2w7CgkJdmFyIGh1ZSA9IChoc2xbMF0gKyBkZWdyZWVzKSAlIDM2MDsKCQloc2xbMF0gPSBodWUgPCAwID8gMzYwICsgaHVlIDogaHVlOwoJCXRoaXMuc2V0VmFsdWVzKCdoc2wnLCBoc2wpOwoJCXJldHVybiB0aGlzOwoJfSwKCgkvKioKCSAqIFBvcnRlZCBmcm9tIHNhc3MgaW1wbGVtZW50YXRpb24gaW4gQwoJICogaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9ibG9iLzBlNmI0YTI4NTAwOTIzNTZhYTNlY2UwN2M2YjI0OWYwMjIxY2FjZWQvZnVuY3Rpb25zLmNwcCNMMjA5CgkgKi8KCW1peDogZnVuY3Rpb24gKG1peGluQ29sb3IsIHdlaWdodCkgewoJCXZhciBjb2xvcjEgPSB0aGlzOwoJCXZhciBjb2xvcjIgPSBtaXhpbkNvbG9yOwoJCXZhciBwID0gd2VpZ2h0ID09PSB1bmRlZmluZWQgPyAwLjUgOiB3ZWlnaHQ7CgoJCXZhciB3ID0gMiAqIHAgLSAxOwoJCXZhciBhID0gY29sb3IxLmFscGhhKCkgLSBjb2xvcjIuYWxwaGEoKTsKCgkJdmFyIHcxID0gKCgodyAqIGEgPT09IC0xKSA/IHcgOiAodyArIGEpIC8gKDEgKyB3ICogYSkpICsgMSkgLyAyLjA7CgkJdmFyIHcyID0gMSAtIHcxOwoKCQlyZXR1cm4gdGhpcwoJCQkucmdiKAoJCQkJdzEgKiBjb2xvcjEucmVkKCkgKyB3MiAqIGNvbG9yMi5yZWQoKSwKCQkJCXcxICogY29sb3IxLmdyZWVuKCkgKyB3MiAqIGNvbG9yMi5ncmVlbigpLAoJCQkJdzEgKiBjb2xvcjEuYmx1ZSgpICsgdzIgKiBjb2xvcjIuYmx1ZSgpCgkJCSkKCQkJLmFscGhhKGNvbG9yMS5hbHBoYSgpICogcCArIGNvbG9yMi5hbHBoYSgpICogKDEgLSBwKSk7Cgl9LAoKCXRvSlNPTjogZnVuY3Rpb24gKCkgewoJCXJldHVybiB0aGlzLnJnYigpOwoJfSwKCgljbG9uZTogZnVuY3Rpb24gKCkgewoJCS8vIE5PVEUoU0IpOiB1c2luZyBub2RlLWNsb25lIGNyZWF0ZXMgYSBkZXBlbmRlbmN5IHRvIEJ1ZmZlciB3aGVuIHVzaW5nIGJyb3dzZXJpZnksCgkJLy8gbWFraW5nIHRoZSBmaW5hbCBidWlsZCB3YXkgdG8gYmlnIHRvIGVtYmVkIGluIENoYXJ0LmpzLiBTbyBsZXQncyBkbyBpdCBtYW51YWxseSwKCQkvLyBhc3N1bWluZyB0aGF0IHZhbHVlcyB0byBjbG9uZSBhcmUgMSBkaW1lbnNpb24gYXJyYXlzIGNvbnRhaW5pbmcgb25seSBudW1iZXJzLAoJCS8vIGV4Y2VwdCAnYWxwaGEnIHdoaWNoIGlzIGEgbnVtYmVyLgoJCXZhciByZXN1bHQgPSBuZXcgQ29sb3IoKTsKCQl2YXIgc291cmNlID0gdGhpcy52YWx1ZXM7CgkJdmFyIHRhcmdldCA9IHJlc3VsdC52YWx1ZXM7CgkJdmFyIHZhbHVlLCB0eXBlOwoKCQlmb3IgKHZhciBwcm9wIGluIHNvdXJjZSkgewoJCQlpZiAoc291cmNlLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQl2YWx1ZSA9IHNvdXJjZVtwcm9wXTsKCQkJCXR5cGUgPSAoe30pLnRvU3RyaW5nLmNhbGwodmFsdWUpOwoJCQkJaWYgKHR5cGUgPT09ICdbb2JqZWN0IEFycmF5XScpIHsKCQkJCQl0YXJnZXRbcHJvcF0gPSB2YWx1ZS5zbGljZSgwKTsKCQkJCX0gZWxzZSBpZiAodHlwZSA9PT0gJ1tvYmplY3QgTnVtYmVyXScpIHsKCQkJCQl0YXJnZXRbcHJvcF0gPSB2YWx1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJY29uc29sZS5lcnJvcigndW5leHBlY3RlZCBjb2xvciB2YWx1ZTonLCB2YWx1ZSk7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiByZXN1bHQ7Cgl9Cn07CgpDb2xvci5wcm90b3R5cGUuc3BhY2VzID0gewoJcmdiOiBbJ3JlZCcsICdncmVlbicsICdibHVlJ10sCgloc2w6IFsnaHVlJywgJ3NhdHVyYXRpb24nLCAnbGlnaHRuZXNzJ10sCgloc3Y6IFsnaHVlJywgJ3NhdHVyYXRpb24nLCAndmFsdWUnXSwKCWh3YjogWydodWUnLCAnd2hpdGVuZXNzJywgJ2JsYWNrbmVzcyddLAoJY215azogWydjeWFuJywgJ21hZ2VudGEnLCAneWVsbG93JywgJ2JsYWNrJ10KfTsKCkNvbG9yLnByb3RvdHlwZS5tYXhlcyA9IHsKCXJnYjogWzI1NSwgMjU1LCAyNTVdLAoJaHNsOiBbMzYwLCAxMDAsIDEwMF0sCgloc3Y6IFszNjAsIDEwMCwgMTAwXSwKCWh3YjogWzM2MCwgMTAwLCAxMDBdLAoJY215azogWzEwMCwgMTAwLCAxMDAsIDEwMF0KfTsKCkNvbG9yLnByb3RvdHlwZS5nZXRWYWx1ZXMgPSBmdW5jdGlvbiAoc3BhY2UpIHsKCXZhciB2YWx1ZXMgPSB0aGlzLnZhbHVlczsKCXZhciB2YWxzID0ge307CgoJZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgewoJCXZhbHNbc3BhY2UuY2hhckF0KGkpXSA9IHZhbHVlc1tzcGFjZV1baV07Cgl9CgoJaWYgKHZhbHVlcy5hbHBoYSAhPT0gMSkgewoJCXZhbHMuYSA9IHZhbHVlcy5hbHBoYTsKCX0KCgkvLyB7cjogMjU1LCBnOiAyNTUsIGI6IDI1NSwgYTogMC40fQoJcmV0dXJuIHZhbHM7Cn07CgpDb2xvci5wcm90b3R5cGUuc2V0VmFsdWVzID0gZnVuY3Rpb24gKHNwYWNlLCB2YWxzKSB7Cgl2YXIgdmFsdWVzID0gdGhpcy52YWx1ZXM7Cgl2YXIgc3BhY2VzID0gdGhpcy5zcGFjZXM7Cgl2YXIgbWF4ZXMgPSB0aGlzLm1heGVzOwoJdmFyIGFscGhhID0gMTsKCXZhciBpOwoKCXRoaXMudmFsaWQgPSB0cnVlOwoKCWlmIChzcGFjZSA9PT0gJ2FscGhhJykgewoJCWFscGhhID0gdmFsczsKCX0gZWxzZSBpZiAodmFscy5sZW5ndGgpIHsKCQkvLyBbMTAsIDEwLCAxMF0KCQl2YWx1ZXNbc3BhY2VdID0gdmFscy5zbGljZSgwLCBzcGFjZS5sZW5ndGgpOwoJCWFscGhhID0gdmFsc1tzcGFjZS5sZW5ndGhdOwoJfSBlbHNlIGlmICh2YWxzW3NwYWNlLmNoYXJBdCgwKV0gIT09IHVuZGVmaW5lZCkgewoJCS8vIHtyOiAxMCwgZzogMTAsIGI6IDEwfQoJCWZvciAoaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgewoJCQl2YWx1ZXNbc3BhY2VdW2ldID0gdmFsc1tzcGFjZS5jaGFyQXQoaSldOwoJCX0KCgkJYWxwaGEgPSB2YWxzLmE7Cgl9IGVsc2UgaWYgKHZhbHNbc3BhY2VzW3NwYWNlXVswXV0gIT09IHVuZGVmaW5lZCkgewoJCS8vIHtyZWQ6IDEwLCBncmVlbjogMTAsIGJsdWU6IDEwfQoJCXZhciBjaGFucyA9IHNwYWNlc1tzcGFjZV07CgoJCWZvciAoaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgewoJCQl2YWx1ZXNbc3BhY2VdW2ldID0gdmFsc1tjaGFuc1tpXV07CgkJfQoKCQlhbHBoYSA9IHZhbHMuYWxwaGE7Cgl9CgoJdmFsdWVzLmFscGhhID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgKGFscGhhID09PSB1bmRlZmluZWQgPyB2YWx1ZXMuYWxwaGEgOiBhbHBoYSkpKTsKCglpZiAoc3BhY2UgPT09ICdhbHBoYScpIHsKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJdmFyIGNhcHBlZDsKCgkvLyBjYXAgdmFsdWVzIG9mIHRoZSBzcGFjZSBwcmlvciBjb252ZXJ0aW5nIGFsbCB2YWx1ZXMKCWZvciAoaSA9IDA7IGkgPCBzcGFjZS5sZW5ndGg7IGkrKykgewoJCWNhcHBlZCA9IE1hdGgubWF4KDAsIE1hdGgubWluKG1heGVzW3NwYWNlXVtpXSwgdmFsdWVzW3NwYWNlXVtpXSkpOwoJCXZhbHVlc1tzcGFjZV1baV0gPSBNYXRoLnJvdW5kKGNhcHBlZCk7Cgl9CgoJLy8gY29udmVydCB0byBhbGwgdGhlIG90aGVyIGNvbG9yIHNwYWNlcwoJZm9yICh2YXIgc25hbWUgaW4gc3BhY2VzKSB7CgkJaWYgKHNuYW1lICE9PSBzcGFjZSkgewoJCQl2YWx1ZXNbc25hbWVdID0gY29udmVydFtzcGFjZV1bc25hbWVdKHZhbHVlc1tzcGFjZV0pOwoJCX0KCX0KCglyZXR1cm4gdHJ1ZTsKfTsKCkNvbG9yLnByb3RvdHlwZS5zZXRTcGFjZSA9IGZ1bmN0aW9uIChzcGFjZSwgYXJncykgewoJdmFyIHZhbHMgPSBhcmdzWzBdOwoKCWlmICh2YWxzID09PSB1bmRlZmluZWQpIHsKCQkvLyBjb2xvci5yZ2IoKQoJCXJldHVybiB0aGlzLmdldFZhbHVlcyhzcGFjZSk7Cgl9CgoJLy8gY29sb3IucmdiKDEwLCAxMCwgMTApCglpZiAodHlwZW9mIHZhbHMgPT09ICdudW1iZXInKSB7CgkJdmFscyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpOwoJfQoKCXRoaXMuc2V0VmFsdWVzKHNwYWNlLCB2YWxzKTsKCXJldHVybiB0aGlzOwp9OwoKQ29sb3IucHJvdG90eXBlLnNldENoYW5uZWwgPSBmdW5jdGlvbiAoc3BhY2UsIGluZGV4LCB2YWwpIHsKCXZhciBzdmFsdWVzID0gdGhpcy52YWx1ZXNbc3BhY2VdOwoJaWYgKHZhbCA9PT0gdW5kZWZpbmVkKSB7CgkJLy8gY29sb3IucmVkKCkKCQlyZXR1cm4gc3ZhbHVlc1tpbmRleF07Cgl9IGVsc2UgaWYgKHZhbCA9PT0gc3ZhbHVlc1tpbmRleF0pIHsKCQkvLyBjb2xvci5yZWQoY29sb3IucmVkKCkpCgkJcmV0dXJuIHRoaXM7Cgl9CgoJLy8gY29sb3IucmVkKDEwMCkKCXN2YWx1ZXNbaW5kZXhdID0gdmFsOwoJdGhpcy5zZXRWYWx1ZXMoc3BhY2UsIHN2YWx1ZXMpOwoKCXJldHVybiB0aGlzOwp9OwoKaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7Cgl3aW5kb3cuQ29sb3IgPSBDb2xvcjsKfQoKbW9kdWxlLmV4cG9ydHMgPSBDb2xvcjsKCn0seyIxIjoxLCI0Ijo0fV0sMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qIE1JVCBsaWNlbnNlICovCgptb2R1bGUuZXhwb3J0cyA9IHsKICByZ2IyaHNsOiByZ2IyaHNsLAogIHJnYjJoc3Y6IHJnYjJoc3YsCiAgcmdiMmh3YjogcmdiMmh3YiwKICByZ2IyY215azogcmdiMmNteWssCiAgcmdiMmtleXdvcmQ6IHJnYjJrZXl3b3JkLAogIHJnYjJ4eXo6IHJnYjJ4eXosCiAgcmdiMmxhYjogcmdiMmxhYiwKICByZ2IybGNoOiByZ2IybGNoLAoKICBoc2wycmdiOiBoc2wycmdiLAogIGhzbDJoc3Y6IGhzbDJoc3YsCiAgaHNsMmh3YjogaHNsMmh3YiwKICBoc2wyY215azogaHNsMmNteWssCiAgaHNsMmtleXdvcmQ6IGhzbDJrZXl3b3JkLAoKICBoc3YycmdiOiBoc3YycmdiLAogIGhzdjJoc2w6IGhzdjJoc2wsCiAgaHN2Mmh3YjogaHN2Mmh3YiwKICBoc3YyY215azogaHN2MmNteWssCiAgaHN2MmtleXdvcmQ6IGhzdjJrZXl3b3JkLAoKICBod2IycmdiOiBod2IycmdiLAogIGh3YjJoc2w6IGh3YjJoc2wsCiAgaHdiMmhzdjogaHdiMmhzdiwKICBod2IyY215azogaHdiMmNteWssCiAgaHdiMmtleXdvcmQ6IGh3YjJrZXl3b3JkLAoKICBjbXlrMnJnYjogY215azJyZ2IsCiAgY215azJoc2w6IGNteWsyaHNsLAogIGNteWsyaHN2OiBjbXlrMmhzdiwKICBjbXlrMmh3YjogY215azJod2IsCiAgY215azJrZXl3b3JkOiBjbXlrMmtleXdvcmQsCgogIGtleXdvcmQycmdiOiBrZXl3b3JkMnJnYiwKICBrZXl3b3JkMmhzbDoga2V5d29yZDJoc2wsCiAga2V5d29yZDJoc3Y6IGtleXdvcmQyaHN2LAogIGtleXdvcmQyaHdiOiBrZXl3b3JkMmh3YiwKICBrZXl3b3JkMmNteWs6IGtleXdvcmQyY215aywKICBrZXl3b3JkMmxhYjoga2V5d29yZDJsYWIsCiAga2V5d29yZDJ4eXo6IGtleXdvcmQyeHl6LAoKICB4eXoycmdiOiB4eXoycmdiLAogIHh5ejJsYWI6IHh5ejJsYWIsCiAgeHl6MmxjaDogeHl6MmxjaCwKCiAgbGFiMnh5ejogbGFiMnh5eiwKICBsYWIycmdiOiBsYWIycmdiLAogIGxhYjJsY2g6IGxhYjJsY2gsCgogIGxjaDJsYWI6IGxjaDJsYWIsCiAgbGNoMnh5ejogbGNoMnh5eiwKICBsY2gycmdiOiBsY2gycmdiCn0KCgpmdW5jdGlvbiByZ2IyaHNsKHJnYikgewogIHZhciByID0gcmdiWzBdLzI1NSwKICAgICAgZyA9IHJnYlsxXS8yNTUsCiAgICAgIGIgPSByZ2JbMl0vMjU1LAogICAgICBtaW4gPSBNYXRoLm1pbihyLCBnLCBiKSwKICAgICAgbWF4ID0gTWF0aC5tYXgociwgZywgYiksCiAgICAgIGRlbHRhID0gbWF4IC0gbWluLAogICAgICBoLCBzLCBsOwoKICBpZiAobWF4ID09IG1pbikKICAgIGggPSAwOwogIGVsc2UgaWYgKHIgPT0gbWF4KQogICAgaCA9IChnIC0gYikgLyBkZWx0YTsKICBlbHNlIGlmIChnID09IG1heCkKICAgIGggPSAyICsgKGIgLSByKSAvIGRlbHRhOwogIGVsc2UgaWYgKGIgPT0gbWF4KQogICAgaCA9IDQgKyAociAtIGcpLyBkZWx0YTsKCiAgaCA9IE1hdGgubWluKGggKiA2MCwgMzYwKTsKCiAgaWYgKGggPCAwKQogICAgaCArPSAzNjA7CgogIGwgPSAobWluICsgbWF4KSAvIDI7CgogIGlmIChtYXggPT0gbWluKQogICAgcyA9IDA7CiAgZWxzZSBpZiAobCA8PSAwLjUpCiAgICBzID0gZGVsdGEgLyAobWF4ICsgbWluKTsKICBlbHNlCiAgICBzID0gZGVsdGEgLyAoMiAtIG1heCAtIG1pbik7CgogIHJldHVybiBbaCwgcyAqIDEwMCwgbCAqIDEwMF07Cn0KCmZ1bmN0aW9uIHJnYjJoc3YocmdiKSB7CiAgdmFyIHIgPSByZ2JbMF0sCiAgICAgIGcgPSByZ2JbMV0sCiAgICAgIGIgPSByZ2JbMl0sCiAgICAgIG1pbiA9IE1hdGgubWluKHIsIGcsIGIpLAogICAgICBtYXggPSBNYXRoLm1heChyLCBnLCBiKSwKICAgICAgZGVsdGEgPSBtYXggLSBtaW4sCiAgICAgIGgsIHMsIHY7CgogIGlmIChtYXggPT0gMCkKICAgIHMgPSAwOwogIGVsc2UKICAgIHMgPSAoZGVsdGEvbWF4ICogMTAwMCkvMTA7CgogIGlmIChtYXggPT0gbWluKQogICAgaCA9IDA7CiAgZWxzZSBpZiAociA9PSBtYXgpCiAgICBoID0gKGcgLSBiKSAvIGRlbHRhOwogIGVsc2UgaWYgKGcgPT0gbWF4KQogICAgaCA9IDIgKyAoYiAtIHIpIC8gZGVsdGE7CiAgZWxzZSBpZiAoYiA9PSBtYXgpCiAgICBoID0gNCArIChyIC0gZykgLyBkZWx0YTsKCiAgaCA9IE1hdGgubWluKGggKiA2MCwgMzYwKTsKCiAgaWYgKGggPCAwKQogICAgaCArPSAzNjA7CgogIHYgPSAoKG1heCAvIDI1NSkgKiAxMDAwKSAvIDEwOwoKICByZXR1cm4gW2gsIHMsIHZdOwp9CgpmdW5jdGlvbiByZ2IyaHdiKHJnYikgewogIHZhciByID0gcmdiWzBdLAogICAgICBnID0gcmdiWzFdLAogICAgICBiID0gcmdiWzJdLAogICAgICBoID0gcmdiMmhzbChyZ2IpWzBdLAogICAgICB3ID0gMS8yNTUgKiBNYXRoLm1pbihyLCBNYXRoLm1pbihnLCBiKSksCiAgICAgIGIgPSAxIC0gMS8yNTUgKiBNYXRoLm1heChyLCBNYXRoLm1heChnLCBiKSk7CgogIHJldHVybiBbaCwgdyAqIDEwMCwgYiAqIDEwMF07Cn0KCmZ1bmN0aW9uIHJnYjJjbXlrKHJnYikgewogIHZhciByID0gcmdiWzBdIC8gMjU1LAogICAgICBnID0gcmdiWzFdIC8gMjU1LAogICAgICBiID0gcmdiWzJdIC8gMjU1LAogICAgICBjLCBtLCB5LCBrOwoKICBrID0gTWF0aC5taW4oMSAtIHIsIDEgLSBnLCAxIC0gYik7CiAgYyA9ICgxIC0gciAtIGspIC8gKDEgLSBrKSB8fCAwOwogIG0gPSAoMSAtIGcgLSBrKSAvICgxIC0gaykgfHwgMDsKICB5ID0gKDEgLSBiIC0gaykgLyAoMSAtIGspIHx8IDA7CiAgcmV0dXJuIFtjICogMTAwLCBtICogMTAwLCB5ICogMTAwLCBrICogMTAwXTsKfQoKZnVuY3Rpb24gcmdiMmtleXdvcmQocmdiKSB7CiAgcmV0dXJuIHJldmVyc2VLZXl3b3Jkc1tKU09OLnN0cmluZ2lmeShyZ2IpXTsKfQoKZnVuY3Rpb24gcmdiMnh5eihyZ2IpIHsKICB2YXIgciA9IHJnYlswXSAvIDI1NSwKICAgICAgZyA9IHJnYlsxXSAvIDI1NSwKICAgICAgYiA9IHJnYlsyXSAvIDI1NTsKCiAgLy8gYXNzdW1lIHNSR0IKICByID0gciA+IDAuMDQwNDUgPyBNYXRoLnBvdygoKHIgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCkgOiAociAvIDEyLjkyKTsKICBnID0gZyA+IDAuMDQwNDUgPyBNYXRoLnBvdygoKGcgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCkgOiAoZyAvIDEyLjkyKTsKICBiID0gYiA+IDAuMDQwNDUgPyBNYXRoLnBvdygoKGIgKyAwLjA1NSkgLyAxLjA1NSksIDIuNCkgOiAoYiAvIDEyLjkyKTsKCiAgdmFyIHggPSAociAqIDAuNDEyNCkgKyAoZyAqIDAuMzU3NikgKyAoYiAqIDAuMTgwNSk7CiAgdmFyIHkgPSAociAqIDAuMjEyNikgKyAoZyAqIDAuNzE1MikgKyAoYiAqIDAuMDcyMik7CiAgdmFyIHogPSAociAqIDAuMDE5MykgKyAoZyAqIDAuMTE5MikgKyAoYiAqIDAuOTUwNSk7CgogIHJldHVybiBbeCAqIDEwMCwgeSAqMTAwLCB6ICogMTAwXTsKfQoKZnVuY3Rpb24gcmdiMmxhYihyZ2IpIHsKICB2YXIgeHl6ID0gcmdiMnh5eihyZ2IpLAogICAgICAgIHggPSB4eXpbMF0sCiAgICAgICAgeSA9IHh5elsxXSwKICAgICAgICB6ID0geHl6WzJdLAogICAgICAgIGwsIGEsIGI7CgogIHggLz0gOTUuMDQ3OwogIHkgLz0gMTAwOwogIHogLz0gMTA4Ljg4MzsKCiAgeCA9IHggPiAwLjAwODg1NiA/IE1hdGgucG93KHgsIDEvMykgOiAoNy43ODcgKiB4KSArICgxNiAvIDExNik7CiAgeSA9IHkgPiAwLjAwODg1NiA/IE1hdGgucG93KHksIDEvMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7CiAgeiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEvMykgOiAoNy43ODcgKiB6KSArICgxNiAvIDExNik7CgogIGwgPSAoMTE2ICogeSkgLSAxNjsKICBhID0gNTAwICogKHggLSB5KTsKICBiID0gMjAwICogKHkgLSB6KTsKCiAgcmV0dXJuIFtsLCBhLCBiXTsKfQoKZnVuY3Rpb24gcmdiMmxjaChhcmdzKSB7CiAgcmV0dXJuIGxhYjJsY2gocmdiMmxhYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGhzbDJyZ2IoaHNsKSB7CiAgdmFyIGggPSBoc2xbMF0gLyAzNjAsCiAgICAgIHMgPSBoc2xbMV0gLyAxMDAsCiAgICAgIGwgPSBoc2xbMl0gLyAxMDAsCiAgICAgIHQxLCB0MiwgdDMsIHJnYiwgdmFsOwoKICBpZiAocyA9PSAwKSB7CiAgICB2YWwgPSBsICogMjU1OwogICAgcmV0dXJuIFt2YWwsIHZhbCwgdmFsXTsKICB9CgogIGlmIChsIDwgMC41KQogICAgdDIgPSBsICogKDEgKyBzKTsKICBlbHNlCiAgICB0MiA9IGwgKyBzIC0gbCAqIHM7CiAgdDEgPSAyICogbCAtIHQyOwoKICByZ2IgPSBbMCwgMCwgMF07CiAgZm9yICh2YXIgaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgIHQzID0gaCArIDEgLyAzICogLSAoaSAtIDEpOwogICAgdDMgPCAwICYmIHQzKys7CiAgICB0MyA+IDEgJiYgdDMtLTsKCiAgICBpZiAoNiAqIHQzIDwgMSkKICAgICAgdmFsID0gdDEgKyAodDIgLSB0MSkgKiA2ICogdDM7CiAgICBlbHNlIGlmICgyICogdDMgPCAxKQogICAgICB2YWwgPSB0MjsKICAgIGVsc2UgaWYgKDMgKiB0MyA8IDIpCiAgICAgIHZhbCA9IHQxICsgKHQyIC0gdDEpICogKDIgLyAzIC0gdDMpICogNjsKICAgIGVsc2UKICAgICAgdmFsID0gdDE7CgogICAgcmdiW2ldID0gdmFsICogMjU1OwogIH0KCiAgcmV0dXJuIHJnYjsKfQoKZnVuY3Rpb24gaHNsMmhzdihoc2wpIHsKICB2YXIgaCA9IGhzbFswXSwKICAgICAgcyA9IGhzbFsxXSAvIDEwMCwKICAgICAgbCA9IGhzbFsyXSAvIDEwMCwKICAgICAgc3YsIHY7CgogIGlmKGwgPT09IDApIHsKICAgICAgLy8gbm8gbmVlZCB0byBkbyBjYWxjIG9uIGJsYWNrCiAgICAgIC8vIGFsc28gYXZvaWRzIGRpdmlkZSBieSAwIGVycm9yCiAgICAgIHJldHVybiBbMCwgMCwgMF07CiAgfQoKICBsICo9IDI7CiAgcyAqPSAobCA8PSAxKSA/IGwgOiAyIC0gbDsKICB2ID0gKGwgKyBzKSAvIDI7CiAgc3YgPSAoMiAqIHMpIC8gKGwgKyBzKTsKICByZXR1cm4gW2gsIHN2ICogMTAwLCB2ICogMTAwXTsKfQoKZnVuY3Rpb24gaHNsMmh3YihhcmdzKSB7CiAgcmV0dXJuIHJnYjJod2IoaHNsMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGhzbDJjbXlrKGFyZ3MpIHsKICByZXR1cm4gcmdiMmNteWsoaHNsMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGhzbDJrZXl3b3JkKGFyZ3MpIHsKICByZXR1cm4gcmdiMmtleXdvcmQoaHNsMnJnYihhcmdzKSk7Cn0KCgpmdW5jdGlvbiBoc3YycmdiKGhzdikgewogIHZhciBoID0gaHN2WzBdIC8gNjAsCiAgICAgIHMgPSBoc3ZbMV0gLyAxMDAsCiAgICAgIHYgPSBoc3ZbMl0gLyAxMDAsCiAgICAgIGhpID0gTWF0aC5mbG9vcihoKSAlIDY7CgogIHZhciBmID0gaCAtIE1hdGguZmxvb3IoaCksCiAgICAgIHAgPSAyNTUgKiB2ICogKDEgLSBzKSwKICAgICAgcSA9IDI1NSAqIHYgKiAoMSAtIChzICogZikpLAogICAgICB0ID0gMjU1ICogdiAqICgxIC0gKHMgKiAoMSAtIGYpKSksCiAgICAgIHYgPSAyNTUgKiB2OwoKICBzd2l0Y2goaGkpIHsKICAgIGNhc2UgMDoKICAgICAgcmV0dXJuIFt2LCB0LCBwXTsKICAgIGNhc2UgMToKICAgICAgcmV0dXJuIFtxLCB2LCBwXTsKICAgIGNhc2UgMjoKICAgICAgcmV0dXJuIFtwLCB2LCB0XTsKICAgIGNhc2UgMzoKICAgICAgcmV0dXJuIFtwLCBxLCB2XTsKICAgIGNhc2UgNDoKICAgICAgcmV0dXJuIFt0LCBwLCB2XTsKICAgIGNhc2UgNToKICAgICAgcmV0dXJuIFt2LCBwLCBxXTsKICB9Cn0KCmZ1bmN0aW9uIGhzdjJoc2woaHN2KSB7CiAgdmFyIGggPSBoc3ZbMF0sCiAgICAgIHMgPSBoc3ZbMV0gLyAxMDAsCiAgICAgIHYgPSBoc3ZbMl0gLyAxMDAsCiAgICAgIHNsLCBsOwoKICBsID0gKDIgLSBzKSAqIHY7CiAgc2wgPSBzICogdjsKICBzbCAvPSAobCA8PSAxKSA/IGwgOiAyIC0gbDsKICBzbCA9IHNsIHx8IDA7CiAgbCAvPSAyOwogIHJldHVybiBbaCwgc2wgKiAxMDAsIGwgKiAxMDBdOwp9CgpmdW5jdGlvbiBoc3YyaHdiKGFyZ3MpIHsKICByZXR1cm4gcmdiMmh3Yihoc3YycmdiKGFyZ3MpKQp9CgpmdW5jdGlvbiBoc3YyY215ayhhcmdzKSB7CiAgcmV0dXJuIHJnYjJjbXlrKGhzdjJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBoc3Yya2V5d29yZChhcmdzKSB7CiAgcmV0dXJuIHJnYjJrZXl3b3JkKGhzdjJyZ2IoYXJncykpOwp9CgovLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MtY29sb3IvI2h3Yi10by1yZ2IKZnVuY3Rpb24gaHdiMnJnYihod2IpIHsKICB2YXIgaCA9IGh3YlswXSAvIDM2MCwKICAgICAgd2ggPSBod2JbMV0gLyAxMDAsCiAgICAgIGJsID0gaHdiWzJdIC8gMTAwLAogICAgICByYXRpbyA9IHdoICsgYmwsCiAgICAgIGksIHYsIGYsIG47CgogIC8vIHdoICsgYmwgY2FudCBiZSA+IDEKICBpZiAocmF0aW8gPiAxKSB7CiAgICB3aCAvPSByYXRpbzsKICAgIGJsIC89IHJhdGlvOwogIH0KCiAgaSA9IE1hdGguZmxvb3IoNiAqIGgpOwogIHYgPSAxIC0gYmw7CiAgZiA9IDYgKiBoIC0gaTsKICBpZiAoKGkgJiAweDAxKSAhPSAwKSB7CiAgICBmID0gMSAtIGY7CiAgfQogIG4gPSB3aCArIGYgKiAodiAtIHdoKTsgIC8vIGxpbmVhciBpbnRlcnBvbGF0aW9uCgogIHN3aXRjaCAoaSkgewogICAgZGVmYXVsdDoKICAgIGNhc2UgNjoKICAgIGNhc2UgMDogciA9IHY7IGcgPSBuOyBiID0gd2g7IGJyZWFrOwogICAgY2FzZSAxOiByID0gbjsgZyA9IHY7IGIgPSB3aDsgYnJlYWs7CiAgICBjYXNlIDI6IHIgPSB3aDsgZyA9IHY7IGIgPSBuOyBicmVhazsKICAgIGNhc2UgMzogciA9IHdoOyBnID0gbjsgYiA9IHY7IGJyZWFrOwogICAgY2FzZSA0OiByID0gbjsgZyA9IHdoOyBiID0gdjsgYnJlYWs7CiAgICBjYXNlIDU6IHIgPSB2OyBnID0gd2g7IGIgPSBuOyBicmVhazsKICB9CgogIHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07Cn0KCmZ1bmN0aW9uIGh3YjJoc2woYXJncykgewogIHJldHVybiByZ2IyaHNsKGh3YjJyZ2IoYXJncykpOwp9CgpmdW5jdGlvbiBod2IyaHN2KGFyZ3MpIHsKICByZXR1cm4gcmdiMmhzdihod2IycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gaHdiMmNteWsoYXJncykgewogIHJldHVybiByZ2IyY215ayhod2IycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gaHdiMmtleXdvcmQoYXJncykgewogIHJldHVybiByZ2Iya2V5d29yZChod2IycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gY215azJyZ2IoY215aykgewogIHZhciBjID0gY215a1swXSAvIDEwMCwKICAgICAgbSA9IGNteWtbMV0gLyAxMDAsCiAgICAgIHkgPSBjbXlrWzJdIC8gMTAwLAogICAgICBrID0gY215a1szXSAvIDEwMCwKICAgICAgciwgZywgYjsKCiAgciA9IDEgLSBNYXRoLm1pbigxLCBjICogKDEgLSBrKSArIGspOwogIGcgPSAxIC0gTWF0aC5taW4oMSwgbSAqICgxIC0gaykgKyBrKTsKICBiID0gMSAtIE1hdGgubWluKDEsIHkgKiAoMSAtIGspICsgayk7CiAgcmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTsKfQoKZnVuY3Rpb24gY215azJoc2woYXJncykgewogIHJldHVybiByZ2IyaHNsKGNteWsycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gY215azJoc3YoYXJncykgewogIHJldHVybiByZ2IyaHN2KGNteWsycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gY215azJod2IoYXJncykgewogIHJldHVybiByZ2IyaHdiKGNteWsycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gY215azJrZXl3b3JkKGFyZ3MpIHsKICByZXR1cm4gcmdiMmtleXdvcmQoY215azJyZ2IoYXJncykpOwp9CgoKZnVuY3Rpb24geHl6MnJnYih4eXopIHsKICB2YXIgeCA9IHh5elswXSAvIDEwMCwKICAgICAgeSA9IHh5elsxXSAvIDEwMCwKICAgICAgeiA9IHh5elsyXSAvIDEwMCwKICAgICAgciwgZywgYjsKCiAgciA9ICh4ICogMy4yNDA2KSArICh5ICogLTEuNTM3MikgKyAoeiAqIC0wLjQ5ODYpOwogIGcgPSAoeCAqIC0wLjk2ODkpICsgKHkgKiAxLjg3NTgpICsgKHogKiAwLjA0MTUpOwogIGIgPSAoeCAqIDAuMDU1NykgKyAoeSAqIC0wLjIwNDApICsgKHogKiAxLjA1NzApOwoKICAvLyBhc3N1bWUgc1JHQgogIHIgPSByID4gMC4wMDMxMzA4ID8gKCgxLjA1NSAqIE1hdGgucG93KHIsIDEuMCAvIDIuNCkpIC0gMC4wNTUpCiAgICA6IHIgPSAociAqIDEyLjkyKTsKCiAgZyA9IGcgPiAwLjAwMzEzMDggPyAoKDEuMDU1ICogTWF0aC5wb3coZywgMS4wIC8gMi40KSkgLSAwLjA1NSkKICAgIDogZyA9IChnICogMTIuOTIpOwoKICBiID0gYiA+IDAuMDAzMTMwOCA/ICgoMS4wNTUgKiBNYXRoLnBvdyhiLCAxLjAgLyAyLjQpKSAtIDAuMDU1KQogICAgOiBiID0gKGIgKiAxMi45Mik7CgogIHIgPSBNYXRoLm1pbihNYXRoLm1heCgwLCByKSwgMSk7CiAgZyA9IE1hdGgubWluKE1hdGgubWF4KDAsIGcpLCAxKTsKICBiID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgYiksIDEpOwoKICByZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdOwp9CgpmdW5jdGlvbiB4eXoybGFiKHh5eikgewogIHZhciB4ID0geHl6WzBdLAogICAgICB5ID0geHl6WzFdLAogICAgICB6ID0geHl6WzJdLAogICAgICBsLCBhLCBiOwoKICB4IC89IDk1LjA0NzsKICB5IC89IDEwMDsKICB6IC89IDEwOC44ODM7CgogIHggPSB4ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh4LCAxLzMpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpOwogIHkgPSB5ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh5LCAxLzMpIDogKDcuNzg3ICogeSkgKyAoMTYgLyAxMTYpOwogIHogPSB6ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh6LCAxLzMpIDogKDcuNzg3ICogeikgKyAoMTYgLyAxMTYpOwoKICBsID0gKDExNiAqIHkpIC0gMTY7CiAgYSA9IDUwMCAqICh4IC0geSk7CiAgYiA9IDIwMCAqICh5IC0geik7CgogIHJldHVybiBbbCwgYSwgYl07Cn0KCmZ1bmN0aW9uIHh5ejJsY2goYXJncykgewogIHJldHVybiBsYWIybGNoKHh5ejJsYWIoYXJncykpOwp9CgpmdW5jdGlvbiBsYWIyeHl6KGxhYikgewogIHZhciBsID0gbGFiWzBdLAogICAgICBhID0gbGFiWzFdLAogICAgICBiID0gbGFiWzJdLAogICAgICB4LCB5LCB6LCB5MjsKCiAgaWYgKGwgPD0gOCkgewogICAgeSA9IChsICogMTAwKSAvIDkwMy4zOwogICAgeTIgPSAoNy43ODcgKiAoeSAvIDEwMCkpICsgKDE2IC8gMTE2KTsKICB9IGVsc2UgewogICAgeSA9IDEwMCAqIE1hdGgucG93KChsICsgMTYpIC8gMTE2LCAzKTsKICAgIHkyID0gTWF0aC5wb3coeSAvIDEwMCwgMS8zKTsKICB9CgogIHggPSB4IC8gOTUuMDQ3IDw9IDAuMDA4ODU2ID8geCA9ICg5NS4wNDcgKiAoKGEgLyA1MDApICsgeTIgLSAoMTYgLyAxMTYpKSkgLyA3Ljc4NyA6IDk1LjA0NyAqIE1hdGgucG93KChhIC8gNTAwKSArIHkyLCAzKTsKCiAgeiA9IHogLyAxMDguODgzIDw9IDAuMDA4ODU5ID8geiA9ICgxMDguODgzICogKHkyIC0gKGIgLyAyMDApIC0gKDE2IC8gMTE2KSkpIC8gNy43ODcgOiAxMDguODgzICogTWF0aC5wb3coeTIgLSAoYiAvIDIwMCksIDMpOwoKICByZXR1cm4gW3gsIHksIHpdOwp9CgpmdW5jdGlvbiBsYWIybGNoKGxhYikgewogIHZhciBsID0gbGFiWzBdLAogICAgICBhID0gbGFiWzFdLAogICAgICBiID0gbGFiWzJdLAogICAgICBociwgaCwgYzsKCiAgaHIgPSBNYXRoLmF0YW4yKGIsIGEpOwogIGggPSBociAqIDM2MCAvIDIgLyBNYXRoLlBJOwogIGlmIChoIDwgMCkgewogICAgaCArPSAzNjA7CiAgfQogIGMgPSBNYXRoLnNxcnQoYSAqIGEgKyBiICogYik7CiAgcmV0dXJuIFtsLCBjLCBoXTsKfQoKZnVuY3Rpb24gbGFiMnJnYihhcmdzKSB7CiAgcmV0dXJuIHh5ejJyZ2IobGFiMnh5eihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGxjaDJsYWIobGNoKSB7CiAgdmFyIGwgPSBsY2hbMF0sCiAgICAgIGMgPSBsY2hbMV0sCiAgICAgIGggPSBsY2hbMl0sCiAgICAgIGEsIGIsIGhyOwoKICBociA9IGggLyAzNjAgKiAyICogTWF0aC5QSTsKICBhID0gYyAqIE1hdGguY29zKGhyKTsKICBiID0gYyAqIE1hdGguc2luKGhyKTsKICByZXR1cm4gW2wsIGEsIGJdOwp9CgpmdW5jdGlvbiBsY2gyeHl6KGFyZ3MpIHsKICByZXR1cm4gbGFiMnh5eihsY2gybGFiKGFyZ3MpKTsKfQoKZnVuY3Rpb24gbGNoMnJnYihhcmdzKSB7CiAgcmV0dXJuIGxhYjJyZ2IobGNoMmxhYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGtleXdvcmQycmdiKGtleXdvcmQpIHsKICByZXR1cm4gY3NzS2V5d29yZHNba2V5d29yZF07Cn0KCmZ1bmN0aW9uIGtleXdvcmQyaHNsKGFyZ3MpIHsKICByZXR1cm4gcmdiMmhzbChrZXl3b3JkMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGtleXdvcmQyaHN2KGFyZ3MpIHsKICByZXR1cm4gcmdiMmhzdihrZXl3b3JkMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGtleXdvcmQyaHdiKGFyZ3MpIHsKICByZXR1cm4gcmdiMmh3YihrZXl3b3JkMnJnYihhcmdzKSk7Cn0KCmZ1bmN0aW9uIGtleXdvcmQyY215ayhhcmdzKSB7CiAgcmV0dXJuIHJnYjJjbXlrKGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJsYWIoYXJncykgewogIHJldHVybiByZ2IybGFiKGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKZnVuY3Rpb24ga2V5d29yZDJ4eXooYXJncykgewogIHJldHVybiByZ2IyeHl6KGtleXdvcmQycmdiKGFyZ3MpKTsKfQoKdmFyIGNzc0tleXdvcmRzID0gewogIGFsaWNlYmx1ZTogIFsyNDAsMjQ4LDI1NV0sCiAgYW50aXF1ZXdoaXRlOiBbMjUwLDIzNSwyMTVdLAogIGFxdWE6IFswLDI1NSwyNTVdLAogIGFxdWFtYXJpbmU6IFsxMjcsMjU1LDIxMl0sCiAgYXp1cmU6ICBbMjQwLDI1NSwyNTVdLAogIGJlaWdlOiAgWzI0NSwyNDUsMjIwXSwKICBiaXNxdWU6IFsyNTUsMjI4LDE5Nl0sCiAgYmxhY2s6ICBbMCwwLDBdLAogIGJsYW5jaGVkYWxtb25kOiBbMjU1LDIzNSwyMDVdLAogIGJsdWU6IFswLDAsMjU1XSwKICBibHVldmlvbGV0OiBbMTM4LDQzLDIyNl0sCiAgYnJvd246ICBbMTY1LDQyLDQyXSwKICBidXJseXdvb2Q6ICBbMjIyLDE4NCwxMzVdLAogIGNhZGV0Ymx1ZTogIFs5NSwxNTgsMTYwXSwKICBjaGFydHJldXNlOiBbMTI3LDI1NSwwXSwKICBjaG9jb2xhdGU6ICBbMjEwLDEwNSwzMF0sCiAgY29yYWw6ICBbMjU1LDEyNyw4MF0sCiAgY29ybmZsb3dlcmJsdWU6IFsxMDAsMTQ5LDIzN10sCiAgY29ybnNpbGs6IFsyNTUsMjQ4LDIyMF0sCiAgY3JpbXNvbjogIFsyMjAsMjAsNjBdLAogIGN5YW46IFswLDI1NSwyNTVdLAogIGRhcmtibHVlOiBbMCwwLDEzOV0sCiAgZGFya2N5YW46IFswLDEzOSwxMzldLAogIGRhcmtnb2xkZW5yb2Q6ICBbMTg0LDEzNCwxMV0sCiAgZGFya2dyYXk6IFsxNjksMTY5LDE2OV0sCiAgZGFya2dyZWVuOiAgWzAsMTAwLDBdLAogIGRhcmtncmV5OiBbMTY5LDE2OSwxNjldLAogIGRhcmtraGFraTogIFsxODksMTgzLDEwN10sCiAgZGFya21hZ2VudGE6ICBbMTM5LDAsMTM5XSwKICBkYXJrb2xpdmVncmVlbjogWzg1LDEwNyw0N10sCiAgZGFya29yYW5nZTogWzI1NSwxNDAsMF0sCiAgZGFya29yY2hpZDogWzE1Myw1MCwyMDRdLAogIGRhcmtyZWQ6ICBbMTM5LDAsMF0sCiAgZGFya3NhbG1vbjogWzIzMywxNTAsMTIyXSwKICBkYXJrc2VhZ3JlZW46IFsxNDMsMTg4LDE0M10sCiAgZGFya3NsYXRlYmx1ZTogIFs3Miw2MSwxMzldLAogIGRhcmtzbGF0ZWdyYXk6ICBbNDcsNzksNzldLAogIGRhcmtzbGF0ZWdyZXk6ICBbNDcsNzksNzldLAogIGRhcmt0dXJxdW9pc2U6ICBbMCwyMDYsMjA5XSwKICBkYXJrdmlvbGV0OiBbMTQ4LDAsMjExXSwKICBkZWVwcGluazogWzI1NSwyMCwxNDddLAogIGRlZXBza3libHVlOiAgWzAsMTkxLDI1NV0sCiAgZGltZ3JheTogIFsxMDUsMTA1LDEwNV0sCiAgZGltZ3JleTogIFsxMDUsMTA1LDEwNV0sCiAgZG9kZ2VyYmx1ZTogWzMwLDE0NCwyNTVdLAogIGZpcmVicmljazogIFsxNzgsMzQsMzRdLAogIGZsb3JhbHdoaXRlOiAgWzI1NSwyNTAsMjQwXSwKICBmb3Jlc3RncmVlbjogIFszNCwxMzksMzRdLAogIGZ1Y2hzaWE6ICBbMjU1LDAsMjU1XSwKICBnYWluc2Jvcm86ICBbMjIwLDIyMCwyMjBdLAogIGdob3N0d2hpdGU6IFsyNDgsMjQ4LDI1NV0sCiAgZ29sZDogWzI1NSwyMTUsMF0sCiAgZ29sZGVucm9kOiAgWzIxOCwxNjUsMzJdLAogIGdyYXk6IFsxMjgsMTI4LDEyOF0sCiAgZ3JlZW46ICBbMCwxMjgsMF0sCiAgZ3JlZW55ZWxsb3c6ICBbMTczLDI1NSw0N10sCiAgZ3JleTogWzEyOCwxMjgsMTI4XSwKICBob25leWRldzogWzI0MCwyNTUsMjQwXSwKICBob3RwaW5rOiAgWzI1NSwxMDUsMTgwXSwKICBpbmRpYW5yZWQ6ICBbMjA1LDkyLDkyXSwKICBpbmRpZ286IFs3NSwwLDEzMF0sCiAgaXZvcnk6ICBbMjU1LDI1NSwyNDBdLAogIGtoYWtpOiAgWzI0MCwyMzAsMTQwXSwKICBsYXZlbmRlcjogWzIzMCwyMzAsMjUwXSwKICBsYXZlbmRlcmJsdXNoOiAgWzI1NSwyNDAsMjQ1XSwKICBsYXduZ3JlZW46ICBbMTI0LDI1MiwwXSwKICBsZW1vbmNoaWZmb246IFsyNTUsMjUwLDIwNV0sCiAgbGlnaHRibHVlOiAgWzE3MywyMTYsMjMwXSwKICBsaWdodGNvcmFsOiBbMjQwLDEyOCwxMjhdLAogIGxpZ2h0Y3lhbjogIFsyMjQsMjU1LDI1NV0sCiAgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6IFsyNTAsMjUwLDIxMF0sCiAgbGlnaHRncmF5OiAgWzIxMSwyMTEsMjExXSwKICBsaWdodGdyZWVuOiBbMTQ0LDIzOCwxNDRdLAogIGxpZ2h0Z3JleTogIFsyMTEsMjExLDIxMV0sCiAgbGlnaHRwaW5rOiAgWzI1NSwxODIsMTkzXSwKICBsaWdodHNhbG1vbjogIFsyNTUsMTYwLDEyMl0sCiAgbGlnaHRzZWFncmVlbjogIFszMiwxNzgsMTcwXSwKICBsaWdodHNreWJsdWU6IFsxMzUsMjA2LDI1MF0sCiAgbGlnaHRzbGF0ZWdyYXk6IFsxMTksMTM2LDE1M10sCiAgbGlnaHRzbGF0ZWdyZXk6IFsxMTksMTM2LDE1M10sCiAgbGlnaHRzdGVlbGJsdWU6IFsxNzYsMTk2LDIyMl0sCiAgbGlnaHR5ZWxsb3c6ICBbMjU1LDI1NSwyMjRdLAogIGxpbWU6IFswLDI1NSwwXSwKICBsaW1lZ3JlZW46ICBbNTAsMjA1LDUwXSwKICBsaW5lbjogIFsyNTAsMjQwLDIzMF0sCiAgbWFnZW50YTogIFsyNTUsMCwyNTVdLAogIG1hcm9vbjogWzEyOCwwLDBdLAogIG1lZGl1bWFxdWFtYXJpbmU6IFsxMDIsMjA1LDE3MF0sCiAgbWVkaXVtYmx1ZTogWzAsMCwyMDVdLAogIG1lZGl1bW9yY2hpZDogWzE4Niw4NSwyMTFdLAogIG1lZGl1bXB1cnBsZTogWzE0NywxMTIsMjE5XSwKICBtZWRpdW1zZWFncmVlbjogWzYwLDE3OSwxMTNdLAogIG1lZGl1bXNsYXRlYmx1ZTogIFsxMjMsMTA0LDIzOF0sCiAgbWVkaXVtc3ByaW5nZ3JlZW46ICBbMCwyNTAsMTU0XSwKICBtZWRpdW10dXJxdW9pc2U6ICBbNzIsMjA5LDIwNF0sCiAgbWVkaXVtdmlvbGV0cmVkOiAgWzE5OSwyMSwxMzNdLAogIG1pZG5pZ2h0Ymx1ZTogWzI1LDI1LDExMl0sCiAgbWludGNyZWFtOiAgWzI0NSwyNTUsMjUwXSwKICBtaXN0eXJvc2U6ICBbMjU1LDIyOCwyMjVdLAogIG1vY2Nhc2luOiBbMjU1LDIyOCwxODFdLAogIG5hdmFqb3doaXRlOiAgWzI1NSwyMjIsMTczXSwKICBuYXZ5OiBbMCwwLDEyOF0sCiAgb2xkbGFjZTogIFsyNTMsMjQ1LDIzMF0sCiAgb2xpdmU6ICBbMTI4LDEyOCwwXSwKICBvbGl2ZWRyYWI6ICBbMTA3LDE0MiwzNV0sCiAgb3JhbmdlOiBbMjU1LDE2NSwwXSwKICBvcmFuZ2VyZWQ6ICBbMjU1LDY5LDBdLAogIG9yY2hpZDogWzIxOCwxMTIsMjE0XSwKICBwYWxlZ29sZGVucm9kOiAgWzIzOCwyMzIsMTcwXSwKICBwYWxlZ3JlZW46ICBbMTUyLDI1MSwxNTJdLAogIHBhbGV0dXJxdW9pc2U6ICBbMTc1LDIzOCwyMzhdLAogIHBhbGV2aW9sZXRyZWQ6ICBbMjE5LDExMiwxNDddLAogIHBhcGF5YXdoaXA6IFsyNTUsMjM5LDIxM10sCiAgcGVhY2hwdWZmOiAgWzI1NSwyMTgsMTg1XSwKICBwZXJ1OiBbMjA1LDEzMyw2M10sCiAgcGluazogWzI1NSwxOTIsMjAzXSwKICBwbHVtOiBbMjIxLDE2MCwyMjFdLAogIHBvd2RlcmJsdWU6IFsxNzYsMjI0LDIzMF0sCiAgcHVycGxlOiBbMTI4LDAsMTI4XSwKICByZWJlY2NhcHVycGxlOiBbMTAyLCA1MSwgMTUzXSwKICByZWQ6ICBbMjU1LDAsMF0sCiAgcm9zeWJyb3duOiAgWzE4OCwxNDMsMTQzXSwKICByb3lhbGJsdWU6ICBbNjUsMTA1LDIyNV0sCiAgc2FkZGxlYnJvd246ICBbMTM5LDY5LDE5XSwKICBzYWxtb246IFsyNTAsMTI4LDExNF0sCiAgc2FuZHlicm93bjogWzI0NCwxNjQsOTZdLAogIHNlYWdyZWVuOiBbNDYsMTM5LDg3XSwKICBzZWFzaGVsbDogWzI1NSwyNDUsMjM4XSwKICBzaWVubmE6IFsxNjAsODIsNDVdLAogIHNpbHZlcjogWzE5MiwxOTIsMTkyXSwKICBza3libHVlOiAgWzEzNSwyMDYsMjM1XSwKICBzbGF0ZWJsdWU6ICBbMTA2LDkwLDIwNV0sCiAgc2xhdGVncmF5OiAgWzExMiwxMjgsMTQ0XSwKICBzbGF0ZWdyZXk6ICBbMTEyLDEyOCwxNDRdLAogIHNub3c6IFsyNTUsMjUwLDI1MF0sCiAgc3ByaW5nZ3JlZW46ICBbMCwyNTUsMTI3XSwKICBzdGVlbGJsdWU6ICBbNzAsMTMwLDE4MF0sCiAgdGFuOiAgWzIxMCwxODAsMTQwXSwKICB0ZWFsOiBbMCwxMjgsMTI4XSwKICB0aGlzdGxlOiAgWzIxNiwxOTEsMjE2XSwKICB0b21hdG86IFsyNTUsOTksNzFdLAogIHR1cnF1b2lzZTogIFs2NCwyMjQsMjA4XSwKICB2aW9sZXQ6IFsyMzgsMTMwLDIzOF0sCiAgd2hlYXQ6ICBbMjQ1LDIyMiwxNzldLAogIHdoaXRlOiAgWzI1NSwyNTUsMjU1XSwKICB3aGl0ZXNtb2tlOiBbMjQ1LDI0NSwyNDVdLAogIHllbGxvdzogWzI1NSwyNTUsMF0sCiAgeWVsbG93Z3JlZW46ICBbMTU0LDIwNSw1MF0KfTsKCnZhciByZXZlcnNlS2V5d29yZHMgPSB7fTsKZm9yICh2YXIga2V5IGluIGNzc0tleXdvcmRzKSB7CiAgcmV2ZXJzZUtleXdvcmRzW0pTT04uc3RyaW5naWZ5KGNzc0tleXdvcmRzW2tleV0pXSA9IGtleTsKfQoKfSx7fV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CnZhciBjb252ZXJzaW9ucyA9IHJlcXVpcmUoMyk7Cgp2YXIgY29udmVydCA9IGZ1bmN0aW9uKCkgewogICByZXR1cm4gbmV3IENvbnZlcnRlcigpOwp9Cgpmb3IgKHZhciBmdW5jIGluIGNvbnZlcnNpb25zKSB7CiAgLy8gZXhwb3J0IFJhdyB2ZXJzaW9ucwogIGNvbnZlcnRbZnVuYyArICJSYXciXSA9ICAoZnVuY3Rpb24oZnVuYykgewogICAgLy8gYWNjZXB0IGFycmF5IG9yIHBsYWluIGFyZ3MKICAgIHJldHVybiBmdW5jdGlvbihhcmcpIHsKICAgICAgaWYgKHR5cGVvZiBhcmcgPT0gIm51bWJlciIpCiAgICAgICAgYXJnID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTsKICAgICAgcmV0dXJuIGNvbnZlcnNpb25zW2Z1bmNdKGFyZyk7CiAgICB9CiAgfSkoZnVuYyk7CgogIHZhciBwYWlyID0gLyhcdyspMihcdyspLy5leGVjKGZ1bmMpLAogICAgICBmcm9tID0gcGFpclsxXSwKICAgICAgdG8gPSBwYWlyWzJdOwoKICAvLyBleHBvcnQgcmdiMmhzbCBhbmQgWyJyZ2IiXVsiaHNsIl0KICBjb252ZXJ0W2Zyb21dID0gY29udmVydFtmcm9tXSB8fCB7fTsKCiAgY29udmVydFtmcm9tXVt0b10gPSBjb252ZXJ0W2Z1bmNdID0gKGZ1bmN0aW9uKGZ1bmMpIHsgCiAgICByZXR1cm4gZnVuY3Rpb24oYXJnKSB7CiAgICAgIGlmICh0eXBlb2YgYXJnID09ICJudW1iZXIiKQogICAgICAgIGFyZyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7CiAgICAgIAogICAgICB2YXIgdmFsID0gY29udmVyc2lvbnNbZnVuY10oYXJnKTsKICAgICAgaWYgKHR5cGVvZiB2YWwgPT0gInN0cmluZyIgfHwgdmFsID09PSB1bmRlZmluZWQpCiAgICAgICAgcmV0dXJuIHZhbDsgLy8ga2V5d29yZAoKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWwubGVuZ3RoOyBpKyspCiAgICAgICAgdmFsW2ldID0gTWF0aC5yb3VuZCh2YWxbaV0pOwogICAgICByZXR1cm4gdmFsOwogICAgfQogIH0pKGZ1bmMpOwp9CgoKLyogQ29udmVydGVyIGRvZXMgbGF6eSBjb252ZXJzaW9uIGFuZCBjYWNoaW5nICovCnZhciBDb252ZXJ0ZXIgPSBmdW5jdGlvbigpIHsKICAgdGhpcy5jb252cyA9IHt9Owp9OwoKLyogRWl0aGVyIGdldCB0aGUgdmFsdWVzIGZvciBhIHNwYWNlIG9yCiAgc2V0IHRoZSB2YWx1ZXMgZm9yIGEgc3BhY2UsIGRlcGVuZGluZyBvbiBhcmdzICovCkNvbnZlcnRlci5wcm90b3R5cGUucm91dGVTcGFjZSA9IGZ1bmN0aW9uKHNwYWNlLCBhcmdzKSB7CiAgIHZhciB2YWx1ZXMgPSBhcmdzWzBdOwogICBpZiAodmFsdWVzID09PSB1bmRlZmluZWQpIHsKICAgICAgLy8gY29sb3IucmdiKCkKICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVzKHNwYWNlKTsKICAgfQogICAvLyBjb2xvci5yZ2IoMTAsIDEwLCAxMCkKICAgaWYgKHR5cGVvZiB2YWx1ZXMgPT0gIm51bWJlciIpIHsKICAgICAgdmFsdWVzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJncyk7ICAgICAgICAKICAgfQoKICAgcmV0dXJuIHRoaXMuc2V0VmFsdWVzKHNwYWNlLCB2YWx1ZXMpOwp9OwogIAovKiBTZXQgdGhlIHZhbHVlcyBmb3IgYSBzcGFjZSwgaW52YWxpZGF0aW5nIGNhY2hlICovCkNvbnZlcnRlci5wcm90b3R5cGUuc2V0VmFsdWVzID0gZnVuY3Rpb24oc3BhY2UsIHZhbHVlcykgewogICB0aGlzLnNwYWNlID0gc3BhY2U7CiAgIHRoaXMuY29udnMgPSB7fTsKICAgdGhpcy5jb252c1tzcGFjZV0gPSB2YWx1ZXM7CiAgIHJldHVybiB0aGlzOwp9OwoKLyogR2V0IHRoZSB2YWx1ZXMgZm9yIGEgc3BhY2UuIElmIHRoZXJlJ3MgYWxyZWFkeQogIGEgY29udmVyc2lvbiBmb3IgdGhlIHNwYWNlLCBmZXRjaCBpdCwgb3RoZXJ3aXNlCiAgY29tcHV0ZSBpdCAqLwpDb252ZXJ0ZXIucHJvdG90eXBlLmdldFZhbHVlcyA9IGZ1bmN0aW9uKHNwYWNlKSB7CiAgIHZhciB2YWxzID0gdGhpcy5jb252c1tzcGFjZV07CiAgIGlmICghdmFscykgewogICAgICB2YXIgZnNwYWNlID0gdGhpcy5zcGFjZSwKICAgICAgICAgIGZyb20gPSB0aGlzLmNvbnZzW2ZzcGFjZV07CiAgICAgIHZhbHMgPSBjb252ZXJ0W2ZzcGFjZV1bc3BhY2VdKGZyb20pOwoKICAgICAgdGhpcy5jb252c1tzcGFjZV0gPSB2YWxzOwogICB9CiAgcmV0dXJuIHZhbHM7Cn07CgpbInJnYiIsICJoc2wiLCAiaHN2IiwgImNteWsiLCAia2V5d29yZCJdLmZvckVhY2goZnVuY3Rpb24oc3BhY2UpIHsKICAgQ29udmVydGVyLnByb3RvdHlwZVtzcGFjZV0gPSBmdW5jdGlvbih2YWxzKSB7CiAgICAgIHJldHVybiB0aGlzLnJvdXRlU3BhY2Uoc3BhY2UsIGFyZ3VtZW50cyk7CiAgIH0KfSk7Cgptb2R1bGUuZXhwb3J0cyA9IGNvbnZlcnQ7Cn0seyIzIjozfV0sNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0Jw0KDQptb2R1bGUuZXhwb3J0cyA9IHsNCgkiYWxpY2VibHVlIjogWzI0MCwgMjQ4LCAyNTVdLA0KCSJhbnRpcXVld2hpdGUiOiBbMjUwLCAyMzUsIDIxNV0sDQoJImFxdWEiOiBbMCwgMjU1LCAyNTVdLA0KCSJhcXVhbWFyaW5lIjogWzEyNywgMjU1LCAyMTJdLA0KCSJhenVyZSI6IFsyNDAsIDI1NSwgMjU1XSwNCgkiYmVpZ2UiOiBbMjQ1LCAyNDUsIDIyMF0sDQoJImJpc3F1ZSI6IFsyNTUsIDIyOCwgMTk2XSwNCgkiYmxhY2siOiBbMCwgMCwgMF0sDQoJImJsYW5jaGVkYWxtb25kIjogWzI1NSwgMjM1LCAyMDVdLA0KCSJibHVlIjogWzAsIDAsIDI1NV0sDQoJImJsdWV2aW9sZXQiOiBbMTM4LCA0MywgMjI2XSwNCgkiYnJvd24iOiBbMTY1LCA0MiwgNDJdLA0KCSJidXJseXdvb2QiOiBbMjIyLCAxODQsIDEzNV0sDQoJImNhZGV0Ymx1ZSI6IFs5NSwgMTU4LCAxNjBdLA0KCSJjaGFydHJldXNlIjogWzEyNywgMjU1LCAwXSwNCgkiY2hvY29sYXRlIjogWzIxMCwgMTA1LCAzMF0sDQoJImNvcmFsIjogWzI1NSwgMTI3LCA4MF0sDQoJImNvcm5mbG93ZXJibHVlIjogWzEwMCwgMTQ5LCAyMzddLA0KCSJjb3Juc2lsayI6IFsyNTUsIDI0OCwgMjIwXSwNCgkiY3JpbXNvbiI6IFsyMjAsIDIwLCA2MF0sDQoJImN5YW4iOiBbMCwgMjU1LCAyNTVdLA0KCSJkYXJrYmx1ZSI6IFswLCAwLCAxMzldLA0KCSJkYXJrY3lhbiI6IFswLCAxMzksIDEzOV0sDQoJImRhcmtnb2xkZW5yb2QiOiBbMTg0LCAxMzQsIDExXSwNCgkiZGFya2dyYXkiOiBbMTY5LCAxNjksIDE2OV0sDQoJImRhcmtncmVlbiI6IFswLCAxMDAsIDBdLA0KCSJkYXJrZ3JleSI6IFsxNjksIDE2OSwgMTY5XSwNCgkiZGFya2toYWtpIjogWzE4OSwgMTgzLCAxMDddLA0KCSJkYXJrbWFnZW50YSI6IFsxMzksIDAsIDEzOV0sDQoJImRhcmtvbGl2ZWdyZWVuIjogWzg1LCAxMDcsIDQ3XSwNCgkiZGFya29yYW5nZSI6IFsyNTUsIDE0MCwgMF0sDQoJImRhcmtvcmNoaWQiOiBbMTUzLCA1MCwgMjA0XSwNCgkiZGFya3JlZCI6IFsxMzksIDAsIDBdLA0KCSJkYXJrc2FsbW9uIjogWzIzMywgMTUwLCAxMjJdLA0KCSJkYXJrc2VhZ3JlZW4iOiBbMTQzLCAxODgsIDE0M10sDQoJImRhcmtzbGF0ZWJsdWUiOiBbNzIsIDYxLCAxMzldLA0KCSJkYXJrc2xhdGVncmF5IjogWzQ3LCA3OSwgNzldLA0KCSJkYXJrc2xhdGVncmV5IjogWzQ3LCA3OSwgNzldLA0KCSJkYXJrdHVycXVvaXNlIjogWzAsIDIwNiwgMjA5XSwNCgkiZGFya3Zpb2xldCI6IFsxNDgsIDAsIDIxMV0sDQoJImRlZXBwaW5rIjogWzI1NSwgMjAsIDE0N10sDQoJImRlZXBza3libHVlIjogWzAsIDE5MSwgMjU1XSwNCgkiZGltZ3JheSI6IFsxMDUsIDEwNSwgMTA1XSwNCgkiZGltZ3JleSI6IFsxMDUsIDEwNSwgMTA1XSwNCgkiZG9kZ2VyYmx1ZSI6IFszMCwgMTQ0LCAyNTVdLA0KCSJmaXJlYnJpY2siOiBbMTc4LCAzNCwgMzRdLA0KCSJmbG9yYWx3aGl0ZSI6IFsyNTUsIDI1MCwgMjQwXSwNCgkiZm9yZXN0Z3JlZW4iOiBbMzQsIDEzOSwgMzRdLA0KCSJmdWNoc2lhIjogWzI1NSwgMCwgMjU1XSwNCgkiZ2FpbnNib3JvIjogWzIyMCwgMjIwLCAyMjBdLA0KCSJnaG9zdHdoaXRlIjogWzI0OCwgMjQ4LCAyNTVdLA0KCSJnb2xkIjogWzI1NSwgMjE1LCAwXSwNCgkiZ29sZGVucm9kIjogWzIxOCwgMTY1LCAzMl0sDQoJImdyYXkiOiBbMTI4LCAxMjgsIDEyOF0sDQoJImdyZWVuIjogWzAsIDEyOCwgMF0sDQoJImdyZWVueWVsbG93IjogWzE3MywgMjU1LCA0N10sDQoJImdyZXkiOiBbMTI4LCAxMjgsIDEyOF0sDQoJImhvbmV5ZGV3IjogWzI0MCwgMjU1LCAyNDBdLA0KCSJob3RwaW5rIjogWzI1NSwgMTA1LCAxODBdLA0KCSJpbmRpYW5yZWQiOiBbMjA1LCA5MiwgOTJdLA0KCSJpbmRpZ28iOiBbNzUsIDAsIDEzMF0sDQoJIml2b3J5IjogWzI1NSwgMjU1LCAyNDBdLA0KCSJraGFraSI6IFsyNDAsIDIzMCwgMTQwXSwNCgkibGF2ZW5kZXIiOiBbMjMwLCAyMzAsIDI1MF0sDQoJImxhdmVuZGVyYmx1c2giOiBbMjU1LCAyNDAsIDI0NV0sDQoJImxhd25ncmVlbiI6IFsxMjQsIDI1MiwgMF0sDQoJImxlbW9uY2hpZmZvbiI6IFsyNTUsIDI1MCwgMjA1XSwNCgkibGlnaHRibHVlIjogWzE3MywgMjE2LCAyMzBdLA0KCSJsaWdodGNvcmFsIjogWzI0MCwgMTI4LCAxMjhdLA0KCSJsaWdodGN5YW4iOiBbMjI0LCAyNTUsIDI1NV0sDQoJImxpZ2h0Z29sZGVucm9keWVsbG93IjogWzI1MCwgMjUwLCAyMTBdLA0KCSJsaWdodGdyYXkiOiBbMjExLCAyMTEsIDIxMV0sDQoJImxpZ2h0Z3JlZW4iOiBbMTQ0LCAyMzgsIDE0NF0sDQoJImxpZ2h0Z3JleSI6IFsyMTEsIDIxMSwgMjExXSwNCgkibGlnaHRwaW5rIjogWzI1NSwgMTgyLCAxOTNdLA0KCSJsaWdodHNhbG1vbiI6IFsyNTUsIDE2MCwgMTIyXSwNCgkibGlnaHRzZWFncmVlbiI6IFszMiwgMTc4LCAxNzBdLA0KCSJsaWdodHNreWJsdWUiOiBbMTM1LCAyMDYsIDI1MF0sDQoJImxpZ2h0c2xhdGVncmF5IjogWzExOSwgMTM2LCAxNTNdLA0KCSJsaWdodHNsYXRlZ3JleSI6IFsxMTksIDEzNiwgMTUzXSwNCgkibGlnaHRzdGVlbGJsdWUiOiBbMTc2LCAxOTYsIDIyMl0sDQoJImxpZ2h0eWVsbG93IjogWzI1NSwgMjU1LCAyMjRdLA0KCSJsaW1lIjogWzAsIDI1NSwgMF0sDQoJImxpbWVncmVlbiI6IFs1MCwgMjA1LCA1MF0sDQoJImxpbmVuIjogWzI1MCwgMjQwLCAyMzBdLA0KCSJtYWdlbnRhIjogWzI1NSwgMCwgMjU1XSwNCgkibWFyb29uIjogWzEyOCwgMCwgMF0sDQoJIm1lZGl1bWFxdWFtYXJpbmUiOiBbMTAyLCAyMDUsIDE3MF0sDQoJIm1lZGl1bWJsdWUiOiBbMCwgMCwgMjA1XSwNCgkibWVkaXVtb3JjaGlkIjogWzE4NiwgODUsIDIxMV0sDQoJIm1lZGl1bXB1cnBsZSI6IFsxNDcsIDExMiwgMjE5XSwNCgkibWVkaXVtc2VhZ3JlZW4iOiBbNjAsIDE3OSwgMTEzXSwNCgkibWVkaXVtc2xhdGVibHVlIjogWzEyMywgMTA0LCAyMzhdLA0KCSJtZWRpdW1zcHJpbmdncmVlbiI6IFswLCAyNTAsIDE1NF0sDQoJIm1lZGl1bXR1cnF1b2lzZSI6IFs3MiwgMjA5LCAyMDRdLA0KCSJtZWRpdW12aW9sZXRyZWQiOiBbMTk5LCAyMSwgMTMzXSwNCgkibWlkbmlnaHRibHVlIjogWzI1LCAyNSwgMTEyXSwNCgkibWludGNyZWFtIjogWzI0NSwgMjU1LCAyNTBdLA0KCSJtaXN0eXJvc2UiOiBbMjU1LCAyMjgsIDIyNV0sDQoJIm1vY2Nhc2luIjogWzI1NSwgMjI4LCAxODFdLA0KCSJuYXZham93aGl0ZSI6IFsyNTUsIDIyMiwgMTczXSwNCgkibmF2eSI6IFswLCAwLCAxMjhdLA0KCSJvbGRsYWNlIjogWzI1MywgMjQ1LCAyMzBdLA0KCSJvbGl2ZSI6IFsxMjgsIDEyOCwgMF0sDQoJIm9saXZlZHJhYiI6IFsxMDcsIDE0MiwgMzVdLA0KCSJvcmFuZ2UiOiBbMjU1LCAxNjUsIDBdLA0KCSJvcmFuZ2VyZWQiOiBbMjU1LCA2OSwgMF0sDQoJIm9yY2hpZCI6IFsyMTgsIDExMiwgMjE0XSwNCgkicGFsZWdvbGRlbnJvZCI6IFsyMzgsIDIzMiwgMTcwXSwNCgkicGFsZWdyZWVuIjogWzE1MiwgMjUxLCAxNTJdLA0KCSJwYWxldHVycXVvaXNlIjogWzE3NSwgMjM4LCAyMzhdLA0KCSJwYWxldmlvbGV0cmVkIjogWzIxOSwgMTEyLCAxNDddLA0KCSJwYXBheWF3aGlwIjogWzI1NSwgMjM5LCAyMTNdLA0KCSJwZWFjaHB1ZmYiOiBbMjU1LCAyMTgsIDE4NV0sDQoJInBlcnUiOiBbMjA1LCAxMzMsIDYzXSwNCgkicGluayI6IFsyNTUsIDE5MiwgMjAzXSwNCgkicGx1bSI6IFsyMjEsIDE2MCwgMjIxXSwNCgkicG93ZGVyYmx1ZSI6IFsxNzYsIDIyNCwgMjMwXSwNCgkicHVycGxlIjogWzEyOCwgMCwgMTI4XSwNCgkicmViZWNjYXB1cnBsZSI6IFsxMDIsIDUxLCAxNTNdLA0KCSJyZWQiOiBbMjU1LCAwLCAwXSwNCgkicm9zeWJyb3duIjogWzE4OCwgMTQzLCAxNDNdLA0KCSJyb3lhbGJsdWUiOiBbNjUsIDEwNSwgMjI1XSwNCgkic2FkZGxlYnJvd24iOiBbMTM5LCA2OSwgMTldLA0KCSJzYWxtb24iOiBbMjUwLCAxMjgsIDExNF0sDQoJInNhbmR5YnJvd24iOiBbMjQ0LCAxNjQsIDk2XSwNCgkic2VhZ3JlZW4iOiBbNDYsIDEzOSwgODddLA0KCSJzZWFzaGVsbCI6IFsyNTUsIDI0NSwgMjM4XSwNCgkic2llbm5hIjogWzE2MCwgODIsIDQ1XSwNCgkic2lsdmVyIjogWzE5MiwgMTkyLCAxOTJdLA0KCSJza3libHVlIjogWzEzNSwgMjA2LCAyMzVdLA0KCSJzbGF0ZWJsdWUiOiBbMTA2LCA5MCwgMjA1XSwNCgkic2xhdGVncmF5IjogWzExMiwgMTI4LCAxNDRdLA0KCSJzbGF0ZWdyZXkiOiBbMTEyLCAxMjgsIDE0NF0sDQoJInNub3ciOiBbMjU1LCAyNTAsIDI1MF0sDQoJInNwcmluZ2dyZWVuIjogWzAsIDI1NSwgMTI3XSwNCgkic3RlZWxibHVlIjogWzcwLCAxMzAsIDE4MF0sDQoJInRhbiI6IFsyMTAsIDE4MCwgMTQwXSwNCgkidGVhbCI6IFswLCAxMjgsIDEyOF0sDQoJInRoaXN0bGUiOiBbMjE2LCAxOTEsIDIxNl0sDQoJInRvbWF0byI6IFsyNTUsIDk5LCA3MV0sDQoJInR1cnF1b2lzZSI6IFs2NCwgMjI0LCAyMDhdLA0KCSJ2aW9sZXQiOiBbMjM4LCAxMzAsIDIzOF0sDQoJIndoZWF0IjogWzI0NSwgMjIyLCAxNzldLA0KCSJ3aGl0ZSI6IFsyNTUsIDI1NSwgMjU1XSwNCgkid2hpdGVzbW9rZSI6IFsyNDUsIDI0NSwgMjQ1XSwNCgkieWVsbG93IjogWzI1NSwgMjU1LCAwXSwNCgkieWVsbG93Z3JlZW4iOiBbMTU0LCAyMDUsIDUwXQ0KfTsNCgp9LHt9XSw2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKLy8hIG1vbWVudC5qcwovLyEgdmVyc2lvbiA6IDIuMjAuMQovLyEgYXV0aG9ycyA6IFRpbSBXb29kLCBJc2tyZW4gQ2hlcm5ldiwgTW9tZW50LmpzIGNvbnRyaWJ1dG9ycwovLyEgbGljZW5zZSA6IE1JVAovLyEgbW9tZW50anMuY29tCgo7KGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKICAgIHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpIDoKICAgIHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZShmYWN0b3J5KSA6CiAgICBnbG9iYWwubW9tZW50ID0gZmFjdG9yeSgpCn0odGhpcywgKGZ1bmN0aW9uICgpIHsgJ3VzZSBzdHJpY3QnOwoKdmFyIGhvb2tDYWxsYmFjazsKCmZ1bmN0aW9uIGhvb2tzICgpIHsKICAgIHJldHVybiBob29rQ2FsbGJhY2suYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKfQoKLy8gVGhpcyBpcyBkb25lIHRvIHJlZ2lzdGVyIHRoZSBtZXRob2QgY2FsbGVkIHdpdGggbW9tZW50KCkKLy8gd2l0aG91dCBjcmVhdGluZyBjaXJjdWxhciBkZXBlbmRlbmNpZXMuCmZ1bmN0aW9uIHNldEhvb2tDYWxsYmFjayAoY2FsbGJhY2spIHsKICAgIGhvb2tDYWxsYmFjayA9IGNhbGxiYWNrOwp9CgpmdW5jdGlvbiBpc0FycmF5KGlucHV0KSB7CiAgICByZXR1cm4gaW5wdXQgaW5zdGFuY2VvZiBBcnJheSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBBcnJheV0nOwp9CgpmdW5jdGlvbiBpc09iamVjdChpbnB1dCkgewogICAgLy8gSUU4IHdpbGwgdHJlYXQgdW5kZWZpbmVkIGFuZCBudWxsIGFzIG9iamVjdCBpZiBpdCB3YXNuJ3QgZm9yCiAgICAvLyBpbnB1dCAhPSBudWxsCiAgICByZXR1cm4gaW5wdXQgIT0gbnVsbCAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBPYmplY3RdJzsKfQoKZnVuY3Rpb24gaXNPYmplY3RFbXB0eShvYmopIHsKICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcykgewogICAgICAgIHJldHVybiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5sZW5ndGggPT09IDApOwogICAgfSBlbHNlIHsKICAgICAgICB2YXIgazsKICAgICAgICBmb3IgKGsgaW4gb2JqKSB7CiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoaykpIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KfQoKZnVuY3Rpb24gaXNVbmRlZmluZWQoaW5wdXQpIHsKICAgIHJldHVybiBpbnB1dCA9PT0gdm9pZCAwOwp9CgpmdW5jdGlvbiBpc051bWJlcihpbnB1dCkgewogICAgcmV0dXJuIHR5cGVvZiBpbnB1dCA9PT0gJ251bWJlcicgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KSA9PT0gJ1tvYmplY3QgTnVtYmVyXSc7Cn0KCmZ1bmN0aW9uIGlzRGF0ZShpbnB1dCkgewogICAgcmV0dXJuIGlucHV0IGluc3RhbmNlb2YgRGF0ZSB8fCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaW5wdXQpID09PSAnW29iamVjdCBEYXRlXSc7Cn0KCmZ1bmN0aW9uIG1hcChhcnIsIGZuKSB7CiAgICB2YXIgcmVzID0gW10sIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgKytpKSB7CiAgICAgICAgcmVzLnB1c2goZm4oYXJyW2ldLCBpKSk7CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CgpmdW5jdGlvbiBoYXNPd25Qcm9wKGEsIGIpIHsKICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSwgYik7Cn0KCmZ1bmN0aW9uIGV4dGVuZChhLCBiKSB7CiAgICBmb3IgKHZhciBpIGluIGIpIHsKICAgICAgICBpZiAoaGFzT3duUHJvcChiLCBpKSkgewogICAgICAgICAgICBhW2ldID0gYltpXTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKGhhc093blByb3AoYiwgJ3RvU3RyaW5nJykpIHsKICAgICAgICBhLnRvU3RyaW5nID0gYi50b1N0cmluZzsKICAgIH0KCiAgICBpZiAoaGFzT3duUHJvcChiLCAndmFsdWVPZicpKSB7CiAgICAgICAgYS52YWx1ZU9mID0gYi52YWx1ZU9mOwogICAgfQoKICAgIHJldHVybiBhOwp9CgpmdW5jdGlvbiBjcmVhdGVVVEMgKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7CiAgICByZXR1cm4gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGUsIHN0cmljdCwgdHJ1ZSkudXRjKCk7Cn0KCmZ1bmN0aW9uIGRlZmF1bHRQYXJzaW5nRmxhZ3MoKSB7CiAgICAvLyBXZSBuZWVkIHRvIGRlZXAgY2xvbmUgdGhpcyBvYmplY3QuCiAgICByZXR1cm4gewogICAgICAgIGVtcHR5ICAgICAgICAgICA6IGZhbHNlLAogICAgICAgIHVudXNlZFRva2VucyAgICA6IFtdLAogICAgICAgIHVudXNlZElucHV0ICAgICA6IFtdLAogICAgICAgIG92ZXJmbG93ICAgICAgICA6IC0yLAogICAgICAgIGNoYXJzTGVmdE92ZXIgICA6IDAsCiAgICAgICAgbnVsbElucHV0ICAgICAgIDogZmFsc2UsCiAgICAgICAgaW52YWxpZE1vbnRoICAgIDogbnVsbCwKICAgICAgICBpbnZhbGlkRm9ybWF0ICAgOiBmYWxzZSwKICAgICAgICB1c2VySW52YWxpZGF0ZWQgOiBmYWxzZSwKICAgICAgICBpc28gICAgICAgICAgICAgOiBmYWxzZSwKICAgICAgICBwYXJzZWREYXRlUGFydHMgOiBbXSwKICAgICAgICBtZXJpZGllbSAgICAgICAgOiBudWxsLAogICAgICAgIHJmYzI4MjIgICAgICAgICA6IGZhbHNlLAogICAgICAgIHdlZWtkYXlNaXNtYXRjaCA6IGZhbHNlCiAgICB9Owp9CgpmdW5jdGlvbiBnZXRQYXJzaW5nRmxhZ3MobSkgewogICAgaWYgKG0uX3BmID09IG51bGwpIHsKICAgICAgICBtLl9wZiA9IGRlZmF1bHRQYXJzaW5nRmxhZ3MoKTsKICAgIH0KICAgIHJldHVybiBtLl9wZjsKfQoKdmFyIHNvbWU7CmlmIChBcnJheS5wcm90b3R5cGUuc29tZSkgewogICAgc29tZSA9IEFycmF5LnByb3RvdHlwZS5zb21lOwp9IGVsc2UgewogICAgc29tZSA9IGZ1bmN0aW9uIChmdW4pIHsKICAgICAgICB2YXIgdCA9IE9iamVjdCh0aGlzKTsKICAgICAgICB2YXIgbGVuID0gdC5sZW5ndGggPj4+IDA7CgogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICAgICAgaWYgKGkgaW4gdCAmJiBmdW4uY2FsbCh0aGlzLCB0W2ldLCBpLCB0KSkgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH07Cn0KCmZ1bmN0aW9uIGlzVmFsaWQobSkgewogICAgaWYgKG0uX2lzVmFsaWQgPT0gbnVsbCkgewogICAgICAgIHZhciBmbGFncyA9IGdldFBhcnNpbmdGbGFncyhtKTsKICAgICAgICB2YXIgcGFyc2VkUGFydHMgPSBzb21lLmNhbGwoZmxhZ3MucGFyc2VkRGF0ZVBhcnRzLCBmdW5jdGlvbiAoaSkgewogICAgICAgICAgICByZXR1cm4gaSAhPSBudWxsOwogICAgICAgIH0pOwogICAgICAgIHZhciBpc05vd1ZhbGlkID0gIWlzTmFOKG0uX2QuZ2V0VGltZSgpKSAmJgogICAgICAgICAgICBmbGFncy5vdmVyZmxvdyA8IDAgJiYKICAgICAgICAgICAgIWZsYWdzLmVtcHR5ICYmCiAgICAgICAgICAgICFmbGFncy5pbnZhbGlkTW9udGggJiYKICAgICAgICAgICAgIWZsYWdzLmludmFsaWRXZWVrZGF5ICYmCiAgICAgICAgICAgICFmbGFncy53ZWVrZGF5TWlzbWF0Y2ggJiYKICAgICAgICAgICAgIWZsYWdzLm51bGxJbnB1dCAmJgogICAgICAgICAgICAhZmxhZ3MuaW52YWxpZEZvcm1hdCAmJgogICAgICAgICAgICAhZmxhZ3MudXNlckludmFsaWRhdGVkICYmCiAgICAgICAgICAgICghZmxhZ3MubWVyaWRpZW0gfHwgKGZsYWdzLm1lcmlkaWVtICYmIHBhcnNlZFBhcnRzKSk7CgogICAgICAgIGlmIChtLl9zdHJpY3QpIHsKICAgICAgICAgICAgaXNOb3dWYWxpZCA9IGlzTm93VmFsaWQgJiYKICAgICAgICAgICAgICAgIGZsYWdzLmNoYXJzTGVmdE92ZXIgPT09IDAgJiYKICAgICAgICAgICAgICAgIGZsYWdzLnVudXNlZFRva2Vucy5sZW5ndGggPT09IDAgJiYKICAgICAgICAgICAgICAgIGZsYWdzLmJpZ0hvdXIgPT09IHVuZGVmaW5lZDsKICAgICAgICB9CgogICAgICAgIGlmIChPYmplY3QuaXNGcm96ZW4gPT0gbnVsbCB8fCAhT2JqZWN0LmlzRnJvemVuKG0pKSB7CiAgICAgICAgICAgIG0uX2lzVmFsaWQgPSBpc05vd1ZhbGlkOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGlzTm93VmFsaWQ7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIG0uX2lzVmFsaWQ7Cn0KCmZ1bmN0aW9uIGNyZWF0ZUludmFsaWQgKGZsYWdzKSB7CiAgICB2YXIgbSA9IGNyZWF0ZVVUQyhOYU4pOwogICAgaWYgKGZsYWdzICE9IG51bGwpIHsKICAgICAgICBleHRlbmQoZ2V0UGFyc2luZ0ZsYWdzKG0pLCBmbGFncyk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MobSkudXNlckludmFsaWRhdGVkID0gdHJ1ZTsKICAgIH0KCiAgICByZXR1cm4gbTsKfQoKLy8gUGx1Z2lucyB0aGF0IGFkZCBwcm9wZXJ0aWVzIHNob3VsZCBhbHNvIGFkZCB0aGUga2V5IGhlcmUgKG51bGwgdmFsdWUpLAovLyBzbyB3ZSBjYW4gcHJvcGVybHkgY2xvbmUgb3Vyc2VsdmVzLgp2YXIgbW9tZW50UHJvcGVydGllcyA9IGhvb2tzLm1vbWVudFByb3BlcnRpZXMgPSBbXTsKCmZ1bmN0aW9uIGNvcHlDb25maWcodG8sIGZyb20pIHsKICAgIHZhciBpLCBwcm9wLCB2YWw7CgogICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9pc0FNb21lbnRPYmplY3QpKSB7CiAgICAgICAgdG8uX2lzQU1vbWVudE9iamVjdCA9IGZyb20uX2lzQU1vbWVudE9iamVjdDsKICAgIH0KICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5faSkpIHsKICAgICAgICB0by5faSA9IGZyb20uX2k7CiAgICB9CiAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX2YpKSB7CiAgICAgICAgdG8uX2YgPSBmcm9tLl9mOwogICAgfQogICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9sKSkgewogICAgICAgIHRvLl9sID0gZnJvbS5fbDsKICAgIH0KICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fc3RyaWN0KSkgewogICAgICAgIHRvLl9zdHJpY3QgPSBmcm9tLl9zdHJpY3Q7CiAgICB9CiAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX3R6bSkpIHsKICAgICAgICB0by5fdHptID0gZnJvbS5fdHptOwogICAgfQogICAgaWYgKCFpc1VuZGVmaW5lZChmcm9tLl9pc1VUQykpIHsKICAgICAgICB0by5faXNVVEMgPSBmcm9tLl9pc1VUQzsKICAgIH0KICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fb2Zmc2V0KSkgewogICAgICAgIHRvLl9vZmZzZXQgPSBmcm9tLl9vZmZzZXQ7CiAgICB9CiAgICBpZiAoIWlzVW5kZWZpbmVkKGZyb20uX3BmKSkgewogICAgICAgIHRvLl9wZiA9IGdldFBhcnNpbmdGbGFncyhmcm9tKTsKICAgIH0KICAgIGlmICghaXNVbmRlZmluZWQoZnJvbS5fbG9jYWxlKSkgewogICAgICAgIHRvLl9sb2NhbGUgPSBmcm9tLl9sb2NhbGU7CiAgICB9CgogICAgaWYgKG1vbWVudFByb3BlcnRpZXMubGVuZ3RoID4gMCkgewogICAgICAgIGZvciAoaSA9IDA7IGkgPCBtb21lbnRQcm9wZXJ0aWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIHByb3AgPSBtb21lbnRQcm9wZXJ0aWVzW2ldOwogICAgICAgICAgICB2YWwgPSBmcm9tW3Byb3BdOwogICAgICAgICAgICBpZiAoIWlzVW5kZWZpbmVkKHZhbCkpIHsKICAgICAgICAgICAgICAgIHRvW3Byb3BdID0gdmFsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiB0bzsKfQoKdmFyIHVwZGF0ZUluUHJvZ3Jlc3MgPSBmYWxzZTsKCi8vIE1vbWVudCBwcm90b3R5cGUgb2JqZWN0CmZ1bmN0aW9uIE1vbWVudChjb25maWcpIHsKICAgIGNvcHlDb25maWcodGhpcywgY29uZmlnKTsKICAgIHRoaXMuX2QgPSBuZXcgRGF0ZShjb25maWcuX2QgIT0gbnVsbCA/IGNvbmZpZy5fZC5nZXRUaW1lKCkgOiBOYU4pOwogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHRoaXMuX2QgPSBuZXcgRGF0ZShOYU4pOwogICAgfQogICAgLy8gUHJldmVudCBpbmZpbml0ZSBsb29wIGluIGNhc2UgdXBkYXRlT2Zmc2V0IGNyZWF0ZXMgbmV3IG1vbWVudAogICAgLy8gb2JqZWN0cy4KICAgIGlmICh1cGRhdGVJblByb2dyZXNzID09PSBmYWxzZSkgewogICAgICAgIHVwZGF0ZUluUHJvZ3Jlc3MgPSB0cnVlOwogICAgICAgIGhvb2tzLnVwZGF0ZU9mZnNldCh0aGlzKTsKICAgICAgICB1cGRhdGVJblByb2dyZXNzID0gZmFsc2U7CiAgICB9Cn0KCmZ1bmN0aW9uIGlzTW9tZW50IChvYmopIHsKICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBNb21lbnQgfHwgKG9iaiAhPSBudWxsICYmIG9iai5faXNBTW9tZW50T2JqZWN0ICE9IG51bGwpOwp9CgpmdW5jdGlvbiBhYnNGbG9vciAobnVtYmVyKSB7CiAgICBpZiAobnVtYmVyIDwgMCkgewogICAgICAgIC8vIC0wIC0+IDAKICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcikgfHwgMDsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IobnVtYmVyKTsKICAgIH0KfQoKZnVuY3Rpb24gdG9JbnQoYXJndW1lbnRGb3JDb2VyY2lvbikgewogICAgdmFyIGNvZXJjZWROdW1iZXIgPSArYXJndW1lbnRGb3JDb2VyY2lvbiwKICAgICAgICB2YWx1ZSA9IDA7CgogICAgaWYgKGNvZXJjZWROdW1iZXIgIT09IDAgJiYgaXNGaW5pdGUoY29lcmNlZE51bWJlcikpIHsKICAgICAgICB2YWx1ZSA9IGFic0Zsb29yKGNvZXJjZWROdW1iZXIpOwogICAgfQoKICAgIHJldHVybiB2YWx1ZTsKfQoKLy8gY29tcGFyZSB0d28gYXJyYXlzLCByZXR1cm4gdGhlIG51bWJlciBvZiBkaWZmZXJlbmNlcwpmdW5jdGlvbiBjb21wYXJlQXJyYXlzKGFycmF5MSwgYXJyYXkyLCBkb250Q29udmVydCkgewogICAgdmFyIGxlbiA9IE1hdGgubWluKGFycmF5MS5sZW5ndGgsIGFycmF5Mi5sZW5ndGgpLAogICAgICAgIGxlbmd0aERpZmYgPSBNYXRoLmFicyhhcnJheTEubGVuZ3RoIC0gYXJyYXkyLmxlbmd0aCksCiAgICAgICAgZGlmZnMgPSAwLAogICAgICAgIGk7CiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKICAgICAgICBpZiAoKGRvbnRDb252ZXJ0ICYmIGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKSB8fAogICAgICAgICAgICAoIWRvbnRDb252ZXJ0ICYmIHRvSW50KGFycmF5MVtpXSkgIT09IHRvSW50KGFycmF5MltpXSkpKSB7CiAgICAgICAgICAgIGRpZmZzKys7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGRpZmZzICsgbGVuZ3RoRGlmZjsKfQoKZnVuY3Rpb24gd2Fybihtc2cpIHsKICAgIGlmIChob29rcy5zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZ3MgPT09IGZhbHNlICYmCiAgICAgICAgICAgICh0eXBlb2YgY29uc29sZSAhPT0gICd1bmRlZmluZWQnKSAmJiBjb25zb2xlLndhcm4pIHsKICAgICAgICBjb25zb2xlLndhcm4oJ0RlcHJlY2F0aW9uIHdhcm5pbmc6ICcgKyBtc2cpOwogICAgfQp9CgpmdW5jdGlvbiBkZXByZWNhdGUobXNnLCBmbikgewogICAgdmFyIGZpcnN0VGltZSA9IHRydWU7CgogICAgcmV0dXJuIGV4dGVuZChmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYgKGhvb2tzLmRlcHJlY2F0aW9uSGFuZGxlciAhPSBudWxsKSB7CiAgICAgICAgICAgIGhvb2tzLmRlcHJlY2F0aW9uSGFuZGxlcihudWxsLCBtc2cpOwogICAgICAgIH0KICAgICAgICBpZiAoZmlyc3RUaW1lKSB7CiAgICAgICAgICAgIHZhciBhcmdzID0gW107CiAgICAgICAgICAgIHZhciBhcmc7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBhcmcgPSAnJzsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgYXJndW1lbnRzW2ldID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgICAgIGFyZyArPSAnXG5bJyArIGkgKyAnXSAnOwogICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBhcmd1bWVudHNbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXJnICs9IGtleSArICc6ICcgKyBhcmd1bWVudHNbMF1ba2V5XSArICcsICc7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGFyZyA9IGFyZy5zbGljZSgwLCAtMik7IC8vIFJlbW92ZSB0cmFpbGluZyBjb21tYSBhbmQgc3BhY2UKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzW2ldOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYXJncy5wdXNoKGFyZyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgd2Fybihtc2cgKyAnXG5Bcmd1bWVudHM6ICcgKyBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmdzKS5qb2luKCcnKSArICdcbicgKyAobmV3IEVycm9yKCkpLnN0YWNrKTsKICAgICAgICAgICAgZmlyc3RUaW1lID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgfSwgZm4pOwp9Cgp2YXIgZGVwcmVjYXRpb25zID0ge307CgpmdW5jdGlvbiBkZXByZWNhdGVTaW1wbGUobmFtZSwgbXNnKSB7CiAgICBpZiAoaG9va3MuZGVwcmVjYXRpb25IYW5kbGVyICE9IG51bGwpIHsKICAgICAgICBob29rcy5kZXByZWNhdGlvbkhhbmRsZXIobmFtZSwgbXNnKTsKICAgIH0KICAgIGlmICghZGVwcmVjYXRpb25zW25hbWVdKSB7CiAgICAgICAgd2Fybihtc2cpOwogICAgICAgIGRlcHJlY2F0aW9uc1tuYW1lXSA9IHRydWU7CiAgICB9Cn0KCmhvb2tzLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncyA9IGZhbHNlOwpob29rcy5kZXByZWNhdGlvbkhhbmRsZXIgPSBudWxsOwoKZnVuY3Rpb24gaXNGdW5jdGlvbihpbnB1dCkgewogICAgcmV0dXJuIGlucHV0IGluc3RhbmNlb2YgRnVuY3Rpb24gfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGlucHV0KSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJzsKfQoKZnVuY3Rpb24gc2V0IChjb25maWcpIHsKICAgIHZhciBwcm9wLCBpOwogICAgZm9yIChpIGluIGNvbmZpZykgewogICAgICAgIHByb3AgPSBjb25maWdbaV07CiAgICAgICAgaWYgKGlzRnVuY3Rpb24ocHJvcCkpIHsKICAgICAgICAgICAgdGhpc1tpXSA9IHByb3A7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGhpc1snXycgKyBpXSA9IHByb3A7CiAgICAgICAgfQogICAgfQogICAgdGhpcy5fY29uZmlnID0gY29uZmlnOwogICAgLy8gTGVuaWVudCBvcmRpbmFsIHBhcnNpbmcgYWNjZXB0cyBqdXN0IGEgbnVtYmVyIGluIGFkZGl0aW9uIHRvCiAgICAvLyBudW1iZXIgKyAocG9zc2libHkpIHN0dWZmIGNvbWluZyBmcm9tIF9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlLgogICAgLy8gVE9ETzogUmVtb3ZlICJvcmRpbmFsUGFyc2UiIGZhbGxiYWNrIGluIG5leHQgbWFqb3IgcmVsZWFzZS4KICAgIHRoaXMuX2RheU9mTW9udGhPcmRpbmFsUGFyc2VMZW5pZW50ID0gbmV3IFJlZ0V4cCgKICAgICAgICAodGhpcy5fZGF5T2ZNb250aE9yZGluYWxQYXJzZS5zb3VyY2UgfHwgdGhpcy5fb3JkaW5hbFBhcnNlLnNvdXJjZSkgKwogICAgICAgICAgICAnfCcgKyAoL1xkezEsMn0vKS5zb3VyY2UpOwp9CgpmdW5jdGlvbiBtZXJnZUNvbmZpZ3MocGFyZW50Q29uZmlnLCBjaGlsZENvbmZpZykgewogICAgdmFyIHJlcyA9IGV4dGVuZCh7fSwgcGFyZW50Q29uZmlnKSwgcHJvcDsKICAgIGZvciAocHJvcCBpbiBjaGlsZENvbmZpZykgewogICAgICAgIGlmIChoYXNPd25Qcm9wKGNoaWxkQ29uZmlnLCBwcm9wKSkgewogICAgICAgICAgICBpZiAoaXNPYmplY3QocGFyZW50Q29uZmlnW3Byb3BdKSAmJiBpc09iamVjdChjaGlsZENvbmZpZ1twcm9wXSkpIHsKICAgICAgICAgICAgICAgIHJlc1twcm9wXSA9IHt9OwogICAgICAgICAgICAgICAgZXh0ZW5kKHJlc1twcm9wXSwgcGFyZW50Q29uZmlnW3Byb3BdKTsKICAgICAgICAgICAgICAgIGV4dGVuZChyZXNbcHJvcF0sIGNoaWxkQ29uZmlnW3Byb3BdKTsKICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZENvbmZpZ1twcm9wXSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXNbcHJvcF0gPSBjaGlsZENvbmZpZ1twcm9wXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSByZXNbcHJvcF07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBmb3IgKHByb3AgaW4gcGFyZW50Q29uZmlnKSB7CiAgICAgICAgaWYgKGhhc093blByb3AocGFyZW50Q29uZmlnLCBwcm9wKSAmJgogICAgICAgICAgICAgICAgIWhhc093blByb3AoY2hpbGRDb25maWcsIHByb3ApICYmCiAgICAgICAgICAgICAgICBpc09iamVjdChwYXJlbnRDb25maWdbcHJvcF0pKSB7CiAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSBjaGFuZ2VzIHRvIHByb3BlcnRpZXMgZG9uJ3QgbW9kaWZ5IHBhcmVudCBjb25maWcKICAgICAgICAgICAgcmVzW3Byb3BdID0gZXh0ZW5kKHt9LCByZXNbcHJvcF0pOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXM7Cn0KCmZ1bmN0aW9uIExvY2FsZShjb25maWcpIHsKICAgIGlmIChjb25maWcgIT0gbnVsbCkgewogICAgICAgIHRoaXMuc2V0KGNvbmZpZyk7CiAgICB9Cn0KCnZhciBrZXlzOwoKaWYgKE9iamVjdC5rZXlzKSB7CiAgICBrZXlzID0gT2JqZWN0LmtleXM7Cn0gZWxzZSB7CiAgICBrZXlzID0gZnVuY3Rpb24gKG9iaikgewogICAgICAgIHZhciBpLCByZXMgPSBbXTsKICAgICAgICBmb3IgKGkgaW4gb2JqKSB7CiAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wKG9iaiwgaSkpIHsKICAgICAgICAgICAgICAgIHJlcy5wdXNoKGkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiByZXM7CiAgICB9Owp9Cgp2YXIgZGVmYXVsdENhbGVuZGFyID0gewogICAgc2FtZURheSA6ICdbVG9kYXkgYXRdIExUJywKICAgIG5leHREYXkgOiAnW1RvbW9ycm93IGF0XSBMVCcsCiAgICBuZXh0V2VlayA6ICdkZGRkIFthdF0gTFQnLAogICAgbGFzdERheSA6ICdbWWVzdGVyZGF5IGF0XSBMVCcsCiAgICBsYXN0V2VlayA6ICdbTGFzdF0gZGRkZCBbYXRdIExUJywKICAgIHNhbWVFbHNlIDogJ0wnCn07CgpmdW5jdGlvbiBjYWxlbmRhciAoa2V5LCBtb20sIG5vdykgewogICAgdmFyIG91dHB1dCA9IHRoaXMuX2NhbGVuZGFyW2tleV0gfHwgdGhpcy5fY2FsZW5kYXJbJ3NhbWVFbHNlJ107CiAgICByZXR1cm4gaXNGdW5jdGlvbihvdXRwdXQpID8gb3V0cHV0LmNhbGwobW9tLCBub3cpIDogb3V0cHV0Owp9Cgp2YXIgZGVmYXVsdExvbmdEYXRlRm9ybWF0ID0gewogICAgTFRTICA6ICdoOm1tOnNzIEEnLAogICAgTFQgICA6ICdoOm1tIEEnLAogICAgTCAgICA6ICdNTS9ERC9ZWVlZJywKICAgIExMICAgOiAnTU1NTSBELCBZWVlZJywKICAgIExMTCAgOiAnTU1NTSBELCBZWVlZIGg6bW0gQScsCiAgICBMTExMIDogJ2RkZGQsIE1NTU0gRCwgWVlZWSBoOm1tIEEnCn07CgpmdW5jdGlvbiBsb25nRGF0ZUZvcm1hdCAoa2V5KSB7CiAgICB2YXIgZm9ybWF0ID0gdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSwKICAgICAgICBmb3JtYXRVcHBlciA9IHRoaXMuX2xvbmdEYXRlRm9ybWF0W2tleS50b1VwcGVyQ2FzZSgpXTsKCiAgICBpZiAoZm9ybWF0IHx8ICFmb3JtYXRVcHBlcikgewogICAgICAgIHJldHVybiBmb3JtYXQ7CiAgICB9CgogICAgdGhpcy5fbG9uZ0RhdGVGb3JtYXRba2V5XSA9IGZvcm1hdFVwcGVyLnJlcGxhY2UoL01NTU18TU18RER8ZGRkZC9nLCBmdW5jdGlvbiAodmFsKSB7CiAgICAgICAgcmV0dXJuIHZhbC5zbGljZSgxKTsKICAgIH0pOwoKICAgIHJldHVybiB0aGlzLl9sb25nRGF0ZUZvcm1hdFtrZXldOwp9Cgp2YXIgZGVmYXVsdEludmFsaWREYXRlID0gJ0ludmFsaWQgZGF0ZSc7CgpmdW5jdGlvbiBpbnZhbGlkRGF0ZSAoKSB7CiAgICByZXR1cm4gdGhpcy5faW52YWxpZERhdGU7Cn0KCnZhciBkZWZhdWx0T3JkaW5hbCA9ICclZCc7CnZhciBkZWZhdWx0RGF5T2ZNb250aE9yZGluYWxQYXJzZSA9IC9cZHsxLDJ9LzsKCmZ1bmN0aW9uIG9yZGluYWwgKG51bWJlcikgewogICAgcmV0dXJuIHRoaXMuX29yZGluYWwucmVwbGFjZSgnJWQnLCBudW1iZXIpOwp9Cgp2YXIgZGVmYXVsdFJlbGF0aXZlVGltZSA9IHsKICAgIGZ1dHVyZSA6ICdpbiAlcycsCiAgICBwYXN0ICAgOiAnJXMgYWdvJywKICAgIHMgIDogJ2EgZmV3IHNlY29uZHMnLAogICAgc3MgOiAnJWQgc2Vjb25kcycsCiAgICBtICA6ICdhIG1pbnV0ZScsCiAgICBtbSA6ICclZCBtaW51dGVzJywKICAgIGggIDogJ2FuIGhvdXInLAogICAgaGggOiAnJWQgaG91cnMnLAogICAgZCAgOiAnYSBkYXknLAogICAgZGQgOiAnJWQgZGF5cycsCiAgICBNICA6ICdhIG1vbnRoJywKICAgIE1NIDogJyVkIG1vbnRocycsCiAgICB5ICA6ICdhIHllYXInLAogICAgeXkgOiAnJWQgeWVhcnMnCn07CgpmdW5jdGlvbiByZWxhdGl2ZVRpbWUgKG51bWJlciwgd2l0aG91dFN1ZmZpeCwgc3RyaW5nLCBpc0Z1dHVyZSkgewogICAgdmFyIG91dHB1dCA9IHRoaXMuX3JlbGF0aXZlVGltZVtzdHJpbmddOwogICAgcmV0dXJuIChpc0Z1bmN0aW9uKG91dHB1dCkpID8KICAgICAgICBvdXRwdXQobnVtYmVyLCB3aXRob3V0U3VmZml4LCBzdHJpbmcsIGlzRnV0dXJlKSA6CiAgICAgICAgb3V0cHV0LnJlcGxhY2UoLyVkL2ksIG51bWJlcik7Cn0KCmZ1bmN0aW9uIHBhc3RGdXR1cmUgKGRpZmYsIG91dHB1dCkgewogICAgdmFyIGZvcm1hdCA9IHRoaXMuX3JlbGF0aXZlVGltZVtkaWZmID4gMCA/ICdmdXR1cmUnIDogJ3Bhc3QnXTsKICAgIHJldHVybiBpc0Z1bmN0aW9uKGZvcm1hdCkgPyBmb3JtYXQob3V0cHV0KSA6IGZvcm1hdC5yZXBsYWNlKC8lcy9pLCBvdXRwdXQpOwp9Cgp2YXIgYWxpYXNlcyA9IHt9OwoKZnVuY3Rpb24gYWRkVW5pdEFsaWFzICh1bml0LCBzaG9ydGhhbmQpIHsKICAgIHZhciBsb3dlckNhc2UgPSB1bml0LnRvTG93ZXJDYXNlKCk7CiAgICBhbGlhc2VzW2xvd2VyQ2FzZV0gPSBhbGlhc2VzW2xvd2VyQ2FzZSArICdzJ10gPSBhbGlhc2VzW3Nob3J0aGFuZF0gPSB1bml0Owp9CgpmdW5jdGlvbiBub3JtYWxpemVVbml0cyh1bml0cykgewogICAgcmV0dXJuIHR5cGVvZiB1bml0cyA9PT0gJ3N0cmluZycgPyBhbGlhc2VzW3VuaXRzXSB8fCBhbGlhc2VzW3VuaXRzLnRvTG93ZXJDYXNlKCldIDogdW5kZWZpbmVkOwp9CgpmdW5jdGlvbiBub3JtYWxpemVPYmplY3RVbml0cyhpbnB1dE9iamVjdCkgewogICAgdmFyIG5vcm1hbGl6ZWRJbnB1dCA9IHt9LAogICAgICAgIG5vcm1hbGl6ZWRQcm9wLAogICAgICAgIHByb3A7CgogICAgZm9yIChwcm9wIGluIGlucHV0T2JqZWN0KSB7CiAgICAgICAgaWYgKGhhc093blByb3AoaW5wdXRPYmplY3QsIHByb3ApKSB7CiAgICAgICAgICAgIG5vcm1hbGl6ZWRQcm9wID0gbm9ybWFsaXplVW5pdHMocHJvcCk7CiAgICAgICAgICAgIGlmIChub3JtYWxpemVkUHJvcCkgewogICAgICAgICAgICAgICAgbm9ybWFsaXplZElucHV0W25vcm1hbGl6ZWRQcm9wXSA9IGlucHV0T2JqZWN0W3Byb3BdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBub3JtYWxpemVkSW5wdXQ7Cn0KCnZhciBwcmlvcml0aWVzID0ge307CgpmdW5jdGlvbiBhZGRVbml0UHJpb3JpdHkodW5pdCwgcHJpb3JpdHkpIHsKICAgIHByaW9yaXRpZXNbdW5pdF0gPSBwcmlvcml0eTsKfQoKZnVuY3Rpb24gZ2V0UHJpb3JpdGl6ZWRVbml0cyh1bml0c09iaikgewogICAgdmFyIHVuaXRzID0gW107CiAgICBmb3IgKHZhciB1IGluIHVuaXRzT2JqKSB7CiAgICAgICAgdW5pdHMucHVzaCh7dW5pdDogdSwgcHJpb3JpdHk6IHByaW9yaXRpZXNbdV19KTsKICAgIH0KICAgIHVuaXRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICByZXR1cm4gYS5wcmlvcml0eSAtIGIucHJpb3JpdHk7CiAgICB9KTsKICAgIHJldHVybiB1bml0czsKfQoKZnVuY3Rpb24gemVyb0ZpbGwobnVtYmVyLCB0YXJnZXRMZW5ndGgsIGZvcmNlU2lnbikgewogICAgdmFyIGFic051bWJlciA9ICcnICsgTWF0aC5hYnMobnVtYmVyKSwKICAgICAgICB6ZXJvc1RvRmlsbCA9IHRhcmdldExlbmd0aCAtIGFic051bWJlci5sZW5ndGgsCiAgICAgICAgc2lnbiA9IG51bWJlciA+PSAwOwogICAgcmV0dXJuIChzaWduID8gKGZvcmNlU2lnbiA/ICcrJyA6ICcnKSA6ICctJykgKwogICAgICAgIE1hdGgucG93KDEwLCBNYXRoLm1heCgwLCB6ZXJvc1RvRmlsbCkpLnRvU3RyaW5nKCkuc3Vic3RyKDEpICsgYWJzTnVtYmVyOwp9Cgp2YXIgZm9ybWF0dGluZ1Rva2VucyA9IC8oXFtbXlxbXSpcXSl8KFxcKT8oW0hoXW1tKHNzKT98TW98TU0/TT9NP3xEb3xERERvfEREP0Q/RD98ZGRkP2Q/fGRvP3x3W298d10/fFdbb3xXXT98UW8/fFlZWVlZWXxZWVlZWXxZWVlZfFlZfGdnKGdnZz8pP3xHRyhHR0c/KT98ZXxFfGF8QXxoaD98SEg/fGtrP3xtbT98c3M/fFN7MSw5fXx4fFh8eno/fFpaP3wuKS9nOwoKdmFyIGxvY2FsRm9ybWF0dGluZ1Rva2VucyA9IC8oXFtbXlxbXSpcXSl8KFxcKT8oTFRTfExUfExMP0w/TD98bHsxLDR9KS9nOwoKdmFyIGZvcm1hdEZ1bmN0aW9ucyA9IHt9OwoKdmFyIGZvcm1hdFRva2VuRnVuY3Rpb25zID0ge307CgovLyB0b2tlbjogICAgJ00nCi8vIHBhZGRlZDogICBbJ01NJywgMl0KLy8gb3JkaW5hbDogICdNbycKLy8gY2FsbGJhY2s6IGZ1bmN0aW9uICgpIHsgdGhpcy5tb250aCgpICsgMSB9CmZ1bmN0aW9uIGFkZEZvcm1hdFRva2VuICh0b2tlbiwgcGFkZGVkLCBvcmRpbmFsLCBjYWxsYmFjaykgewogICAgdmFyIGZ1bmMgPSBjYWxsYmFjazsKICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgZnVuYyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXNbY2FsbGJhY2tdKCk7CiAgICAgICAgfTsKICAgIH0KICAgIGlmICh0b2tlbikgewogICAgICAgIGZvcm1hdFRva2VuRnVuY3Rpb25zW3Rva2VuXSA9IGZ1bmM7CiAgICB9CiAgICBpZiAocGFkZGVkKSB7CiAgICAgICAgZm9ybWF0VG9rZW5GdW5jdGlvbnNbcGFkZGVkWzBdXSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHplcm9GaWxsKGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKSwgcGFkZGVkWzFdLCBwYWRkZWRbMl0pOwogICAgICAgIH07CiAgICB9CiAgICBpZiAob3JkaW5hbCkgewogICAgICAgIGZvcm1hdFRva2VuRnVuY3Rpb25zW29yZGluYWxdID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkub3JkaW5hbChmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyksIHRva2VuKTsKICAgICAgICB9OwogICAgfQp9CgpmdW5jdGlvbiByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGlucHV0KSB7CiAgICBpZiAoaW5wdXQubWF0Y2goL1xbW1xzXFNdLykpIHsKICAgICAgICByZXR1cm4gaW5wdXQucmVwbGFjZSgvXlxbfFxdJC9nLCAnJyk7CiAgICB9CiAgICByZXR1cm4gaW5wdXQucmVwbGFjZSgvXFwvZywgJycpOwp9CgpmdW5jdGlvbiBtYWtlRm9ybWF0RnVuY3Rpb24oZm9ybWF0KSB7CiAgICB2YXIgYXJyYXkgPSBmb3JtYXQubWF0Y2goZm9ybWF0dGluZ1Rva2VucyksIGksIGxlbmd0aDsKCiAgICBmb3IgKGkgPSAwLCBsZW5ndGggPSBhcnJheS5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgIGlmIChmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV0pIHsKICAgICAgICAgICAgYXJyYXlbaV0gPSBmb3JtYXRUb2tlbkZ1bmN0aW9uc1thcnJheVtpXV07CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYXJyYXlbaV0gPSByZW1vdmVGb3JtYXR0aW5nVG9rZW5zKGFycmF5W2ldKTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIGZ1bmN0aW9uIChtb20pIHsKICAgICAgICB2YXIgb3V0cHV0ID0gJycsIGk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIG91dHB1dCArPSBpc0Z1bmN0aW9uKGFycmF5W2ldKSA/IGFycmF5W2ldLmNhbGwobW9tLCBmb3JtYXQpIDogYXJyYXlbaV07CiAgICAgICAgfQogICAgICAgIHJldHVybiBvdXRwdXQ7CiAgICB9Owp9CgovLyBmb3JtYXQgZGF0ZSB1c2luZyBuYXRpdmUgZGF0ZSBvYmplY3QKZnVuY3Rpb24gZm9ybWF0TW9tZW50KG0sIGZvcm1hdCkgewogICAgaWYgKCFtLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBtLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpOwogICAgfQoKICAgIGZvcm1hdCA9IGV4cGFuZEZvcm1hdChmb3JtYXQsIG0ubG9jYWxlRGF0YSgpKTsKICAgIGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdID0gZm9ybWF0RnVuY3Rpb25zW2Zvcm1hdF0gfHwgbWFrZUZvcm1hdEZ1bmN0aW9uKGZvcm1hdCk7CgogICAgcmV0dXJuIGZvcm1hdEZ1bmN0aW9uc1tmb3JtYXRdKG0pOwp9CgpmdW5jdGlvbiBleHBhbmRGb3JtYXQoZm9ybWF0LCBsb2NhbGUpIHsKICAgIHZhciBpID0gNTsKCiAgICBmdW5jdGlvbiByZXBsYWNlTG9uZ0RhdGVGb3JtYXRUb2tlbnMoaW5wdXQpIHsKICAgICAgICByZXR1cm4gbG9jYWxlLmxvbmdEYXRlRm9ybWF0KGlucHV0KSB8fCBpbnB1dDsKICAgIH0KCiAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgIHdoaWxlIChpID49IDAgJiYgbG9jYWxGb3JtYXR0aW5nVG9rZW5zLnRlc3QoZm9ybWF0KSkgewogICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKGxvY2FsRm9ybWF0dGluZ1Rva2VucywgcmVwbGFjZUxvbmdEYXRlRm9ybWF0VG9rZW5zKTsKICAgICAgICBsb2NhbEZvcm1hdHRpbmdUb2tlbnMubGFzdEluZGV4ID0gMDsKICAgICAgICBpIC09IDE7CiAgICB9CgogICAgcmV0dXJuIGZvcm1hdDsKfQoKdmFyIG1hdGNoMSAgICAgICAgID0gL1xkLzsgICAgICAgICAgICAvLyAgICAgICAwIC0gOQp2YXIgbWF0Y2gyICAgICAgICAgPSAvXGRcZC87ICAgICAgICAgIC8vICAgICAgMDAgLSA5OQp2YXIgbWF0Y2gzICAgICAgICAgPSAvXGR7M30vOyAgICAgICAgIC8vICAgICAwMDAgLSA5OTkKdmFyIG1hdGNoNCAgICAgICAgID0gL1xkezR9LzsgICAgICAgICAvLyAgICAwMDAwIC0gOTk5OQp2YXIgbWF0Y2g2ICAgICAgICAgPSAvWystXT9cZHs2fS87ICAgIC8vIC05OTk5OTkgLSA5OTk5OTkKdmFyIG1hdGNoMXRvMiAgICAgID0gL1xkXGQ/LzsgICAgICAgICAvLyAgICAgICAwIC0gOTkKdmFyIG1hdGNoM3RvNCAgICAgID0gL1xkXGRcZFxkPy87ICAgICAvLyAgICAgOTk5IC0gOTk5OQp2YXIgbWF0Y2g1dG82ICAgICAgPSAvXGRcZFxkXGRcZFxkPy87IC8vICAgOTk5OTkgLSA5OTk5OTkKdmFyIG1hdGNoMXRvMyAgICAgID0gL1xkezEsM30vOyAgICAgICAvLyAgICAgICAwIC0gOTk5CnZhciBtYXRjaDF0bzQgICAgICA9IC9cZHsxLDR9LzsgICAgICAgLy8gICAgICAgMCAtIDk5OTkKdmFyIG1hdGNoMXRvNiAgICAgID0gL1srLV0/XGR7MSw2fS87ICAvLyAtOTk5OTk5IC0gOTk5OTk5Cgp2YXIgbWF0Y2hVbnNpZ25lZCAgPSAvXGQrLzsgICAgICAgICAgIC8vICAgICAgIDAgLSBpbmYKdmFyIG1hdGNoU2lnbmVkICAgID0gL1srLV0/XGQrLzsgICAgICAvLyAgICAtaW5mIC0gaW5mCgp2YXIgbWF0Y2hPZmZzZXQgICAgPSAvWnxbKy1dXGRcZDo/XGRcZC9naTsgLy8gKzAwOjAwIC0wMDowMCArMDAwMCAtMDAwMCBvciBaCnZhciBtYXRjaFNob3J0T2Zmc2V0ID0gL1p8WystXVxkXGQoPzo6P1xkXGQpPy9naTsgLy8gKzAwIC0wMCArMDA6MDAgLTAwOjAwICswMDAwIC0wMDAwIG9yIFoKCnZhciBtYXRjaFRpbWVzdGFtcCA9IC9bKy1dP1xkKyhcLlxkezEsM30pPy87IC8vIDEyMzQ1Njc4OSAxMjM0NTY3ODkuMTIzCgovLyBhbnkgd29yZCAob3IgdHdvKSBjaGFyYWN0ZXJzIG9yIG51bWJlcnMgaW5jbHVkaW5nIHR3by90aHJlZSB3b3JkIG1vbnRoIGluIGFyYWJpYy4KLy8gaW5jbHVkZXMgc2NvdHRpc2ggZ2FlbGljIHR3byB3b3JkIGFuZCBoeXBoZW5hdGVkIG1vbnRocwp2YXIgbWF0Y2hXb3JkID0gL1swLTldezAsMjU2fVsnYS16XHUwMEEwLVx1MDVGRlx1MDcwMC1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkYwN1x1RkYxMC1cdUZGRUZdezEsMjU2fXxbXHUwNjAwLVx1MDZGRlwvXXsxLDI1Nn0oXHMqP1tcdTA2MDAtXHUwNkZGXXsxLDI1Nn0pezEsMn0vaTsKCgp2YXIgcmVnZXhlcyA9IHt9OwoKZnVuY3Rpb24gYWRkUmVnZXhUb2tlbiAodG9rZW4sIHJlZ2V4LCBzdHJpY3RSZWdleCkgewogICAgcmVnZXhlc1t0b2tlbl0gPSBpc0Z1bmN0aW9uKHJlZ2V4KSA/IHJlZ2V4IDogZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGVEYXRhKSB7CiAgICAgICAgcmV0dXJuIChpc1N0cmljdCAmJiBzdHJpY3RSZWdleCkgPyBzdHJpY3RSZWdleCA6IHJlZ2V4OwogICAgfTsKfQoKZnVuY3Rpb24gZ2V0UGFyc2VSZWdleEZvclRva2VuICh0b2tlbiwgY29uZmlnKSB7CiAgICBpZiAoIWhhc093blByb3AocmVnZXhlcywgdG9rZW4pKSB7CiAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAodW5lc2NhcGVGb3JtYXQodG9rZW4pKTsKICAgIH0KCiAgICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oY29uZmlnLl9zdHJpY3QsIGNvbmZpZy5fbG9jYWxlKTsKfQoKLy8gQ29kZSBmcm9tIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzU2MTQ5My9pcy10aGVyZS1hLXJlZ2V4cC1lc2NhcGUtZnVuY3Rpb24taW4tamF2YXNjcmlwdApmdW5jdGlvbiB1bmVzY2FwZUZvcm1hdChzKSB7CiAgICByZXR1cm4gcmVnZXhFc2NhcGUocy5yZXBsYWNlKCdcXCcsICcnKS5yZXBsYWNlKC9cXChcWyl8XFwoXF0pfFxbKFteXF1cW10qKVxdfFxcKC4pL2csIGZ1bmN0aW9uIChtYXRjaGVkLCBwMSwgcDIsIHAzLCBwNCkgewogICAgICAgIHJldHVybiBwMSB8fCBwMiB8fCBwMyB8fCBwNDsKICAgIH0pKTsKfQoKZnVuY3Rpb24gcmVnZXhFc2NhcGUocykgewogICAgcmV0dXJuIHMucmVwbGFjZSgvWy1cL1xcXiQqKz8uKCl8W1xde31dL2csICdcXCQmJyk7Cn0KCnZhciB0b2tlbnMgPSB7fTsKCmZ1bmN0aW9uIGFkZFBhcnNlVG9rZW4gKHRva2VuLCBjYWxsYmFjaykgewogICAgdmFyIGksIGZ1bmMgPSBjYWxsYmFjazsKICAgIGlmICh0eXBlb2YgdG9rZW4gPT09ICdzdHJpbmcnKSB7CiAgICAgICAgdG9rZW4gPSBbdG9rZW5dOwogICAgfQogICAgaWYgKGlzTnVtYmVyKGNhbGxiYWNrKSkgewogICAgICAgIGZ1bmMgPSBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICAgICAgICAgIGFycmF5W2NhbGxiYWNrXSA9IHRvSW50KGlucHV0KTsKICAgICAgICB9OwogICAgfQogICAgZm9yIChpID0gMDsgaSA8IHRva2VuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdG9rZW5zW3Rva2VuW2ldXSA9IGZ1bmM7CiAgICB9Cn0KCmZ1bmN0aW9uIGFkZFdlZWtQYXJzZVRva2VuICh0b2tlbiwgY2FsbGJhY2spIHsKICAgIGFkZFBhcnNlVG9rZW4odG9rZW4sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZywgdG9rZW4pIHsKICAgICAgICBjb25maWcuX3cgPSBjb25maWcuX3cgfHwge307CiAgICAgICAgY2FsbGJhY2soaW5wdXQsIGNvbmZpZy5fdywgY29uZmlnLCB0b2tlbik7CiAgICB9KTsKfQoKZnVuY3Rpb24gYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW4sIGlucHV0LCBjb25maWcpIHsKICAgIGlmIChpbnB1dCAhPSBudWxsICYmIGhhc093blByb3AodG9rZW5zLCB0b2tlbikpIHsKICAgICAgICB0b2tlbnNbdG9rZW5dKGlucHV0LCBjb25maWcuX2EsIGNvbmZpZywgdG9rZW4pOwogICAgfQp9Cgp2YXIgWUVBUiA9IDA7CnZhciBNT05USCA9IDE7CnZhciBEQVRFID0gMjsKdmFyIEhPVVIgPSAzOwp2YXIgTUlOVVRFID0gNDsKdmFyIFNFQ09ORCA9IDU7CnZhciBNSUxMSVNFQ09ORCA9IDY7CnZhciBXRUVLID0gNzsKdmFyIFdFRUtEQVkgPSA4OwoKLy8gRk9STUFUVElORwoKYWRkRm9ybWF0VG9rZW4oJ1knLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICB2YXIgeSA9IHRoaXMueWVhcigpOwogICAgcmV0dXJuIHkgPD0gOTk5OSA/ICcnICsgeSA6ICcrJyArIHk7Cn0pOwoKYWRkRm9ybWF0VG9rZW4oMCwgWydZWScsIDJdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpcy55ZWFyKCkgJSAxMDA7Cn0pOwoKYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZJywgICA0XSwgICAgICAgMCwgJ3llYXInKTsKYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZWScsICA1XSwgICAgICAgMCwgJ3llYXInKTsKYWRkRm9ybWF0VG9rZW4oMCwgWydZWVlZWVknLCA2LCB0cnVlXSwgMCwgJ3llYXInKTsKCi8vIEFMSUFTRVMKCmFkZFVuaXRBbGlhcygneWVhcicsICd5Jyk7CgovLyBQUklPUklUSUVTCgphZGRVbml0UHJpb3JpdHkoJ3llYXInLCAxKTsKCi8vIFBBUlNJTkcKCmFkZFJlZ2V4VG9rZW4oJ1knLCAgICAgIG1hdGNoU2lnbmVkKTsKYWRkUmVnZXhUb2tlbignWVknLCAgICAgbWF0Y2gxdG8yLCBtYXRjaDIpOwphZGRSZWdleFRva2VuKCdZWVlZJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CmFkZFJlZ2V4VG9rZW4oJ1lZWVlZJywgIG1hdGNoMXRvNiwgbWF0Y2g2KTsKYWRkUmVnZXhUb2tlbignWVlZWVlZJywgbWF0Y2gxdG82LCBtYXRjaDYpOwoKYWRkUGFyc2VUb2tlbihbJ1lZWVlZJywgJ1lZWVlZWSddLCBZRUFSKTsKYWRkUGFyc2VUb2tlbignWVlZWScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXkpIHsKICAgIGFycmF5W1lFQVJdID0gaW5wdXQubGVuZ3RoID09PSAyID8gaG9va3MucGFyc2VUd29EaWdpdFllYXIoaW5wdXQpIDogdG9JbnQoaW5wdXQpOwp9KTsKYWRkUGFyc2VUb2tlbignWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICBhcnJheVtZRUFSXSA9IGhvb2tzLnBhcnNlVHdvRGlnaXRZZWFyKGlucHV0KTsKfSk7CmFkZFBhcnNlVG9rZW4oJ1knLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICBhcnJheVtZRUFSXSA9IHBhcnNlSW50KGlucHV0LCAxMCk7Cn0pOwoKLy8gSEVMUEVSUwoKZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTsKfQoKZnVuY3Rpb24gaXNMZWFwWWVhcih5ZWFyKSB7CiAgICByZXR1cm4gKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApIHx8IHllYXIgJSA0MDAgPT09IDA7Cn0KCi8vIEhPT0tTCgpob29rcy5wYXJzZVR3b0RpZ2l0WWVhciA9IGZ1bmN0aW9uIChpbnB1dCkgewogICAgcmV0dXJuIHRvSW50KGlucHV0KSArICh0b0ludChpbnB1dCkgPiA2OCA/IDE5MDAgOiAyMDAwKTsKfTsKCi8vIE1PTUVOVFMKCnZhciBnZXRTZXRZZWFyID0gbWFrZUdldFNldCgnRnVsbFllYXInLCB0cnVlKTsKCmZ1bmN0aW9uIGdldElzTGVhcFllYXIgKCkgewogICAgcmV0dXJuIGlzTGVhcFllYXIodGhpcy55ZWFyKCkpOwp9CgpmdW5jdGlvbiBtYWtlR2V0U2V0ICh1bml0LCBrZWVwVGltZSkgewogICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7CiAgICAgICAgICAgIHNldCQxKHRoaXMsIHVuaXQsIHZhbHVlKTsKICAgICAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIGtlZXBUaW1lKTsKICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGdldCh0aGlzLCB1bml0KTsKICAgICAgICB9CiAgICB9Owp9CgpmdW5jdGlvbiBnZXQgKG1vbSwgdW5pdCkgewogICAgcmV0dXJuIG1vbS5pc1ZhbGlkKCkgPwogICAgICAgIG1vbS5fZFsnZ2V0JyArIChtb20uX2lzVVRDID8gJ1VUQycgOiAnJykgKyB1bml0XSgpIDogTmFOOwp9CgpmdW5jdGlvbiBzZXQkMSAobW9tLCB1bml0LCB2YWx1ZSkgewogICAgaWYgKG1vbS5pc1ZhbGlkKCkgJiYgIWlzTmFOKHZhbHVlKSkgewogICAgICAgIGlmICh1bml0ID09PSAnRnVsbFllYXInICYmIGlzTGVhcFllYXIobW9tLnllYXIoKSkgJiYgbW9tLm1vbnRoKCkgPT09IDEgJiYgbW9tLmRhdGUoKSA9PT0gMjkpIHsKICAgICAgICAgICAgbW9tLl9kWydzZXQnICsgKG1vbS5faXNVVEMgPyAnVVRDJyA6ICcnKSArIHVuaXRdKHZhbHVlLCBtb20ubW9udGgoKSwgZGF5c0luTW9udGgodmFsdWUsIG1vbS5tb250aCgpKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBtb20uX2RbJ3NldCcgKyAobW9tLl9pc1VUQyA/ICdVVEMnIDogJycpICsgdW5pdF0odmFsdWUpOwogICAgICAgIH0KICAgIH0KfQoKLy8gTU9NRU5UUwoKZnVuY3Rpb24gc3RyaW5nR2V0ICh1bml0cykgewogICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICBpZiAoaXNGdW5jdGlvbih0aGlzW3VuaXRzXSkpIHsKICAgICAgICByZXR1cm4gdGhpc1t1bml0c10oKTsKICAgIH0KICAgIHJldHVybiB0aGlzOwp9CgoKZnVuY3Rpb24gc3RyaW5nU2V0ICh1bml0cywgdmFsdWUpIHsKICAgIGlmICh0eXBlb2YgdW5pdHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAgdW5pdHMgPSBub3JtYWxpemVPYmplY3RVbml0cyh1bml0cyk7CiAgICAgICAgdmFyIHByaW9yaXRpemVkID0gZ2V0UHJpb3JpdGl6ZWRVbml0cyh1bml0cyk7CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmlvcml0aXplZC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB0aGlzW3ByaW9yaXRpemVkW2ldLnVuaXRdKHVuaXRzW3ByaW9yaXRpemVkW2ldLnVuaXRdKTsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIHVuaXRzID0gbm9ybWFsaXplVW5pdHModW5pdHMpOwogICAgICAgIGlmIChpc0Z1bmN0aW9uKHRoaXNbdW5pdHNdKSkgewogICAgICAgICAgICByZXR1cm4gdGhpc1t1bml0c10odmFsdWUpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0aGlzOwp9CgpmdW5jdGlvbiBtb2QobiwgeCkgewogICAgcmV0dXJuICgobiAlIHgpICsgeCkgJSB4Owp9Cgp2YXIgaW5kZXhPZjsKCmlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgewogICAgaW5kZXhPZiA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOwp9IGVsc2UgewogICAgaW5kZXhPZiA9IGZ1bmN0aW9uIChvKSB7CiAgICAgICAgLy8gSSBrbm93CiAgICAgICAgdmFyIGk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgaWYgKHRoaXNbaV0gPT09IG8pIHsKICAgICAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAtMTsKICAgIH07Cn0KCmZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7CiAgICBpZiAoaXNOYU4oeWVhcikgfHwgaXNOYU4obW9udGgpKSB7CiAgICAgICAgcmV0dXJuIE5hTjsKICAgIH0KICAgIHZhciBtb2RNb250aCA9IG1vZChtb250aCwgMTIpOwogICAgeWVhciArPSAobW9udGggLSBtb2RNb250aCkgLyAxMjsKICAgIHJldHVybiBtb2RNb250aCA9PT0gMSA/IChpc0xlYXBZZWFyKHllYXIpID8gMjkgOiAyOCkgOiAoMzEgLSBtb2RNb250aCAlIDcgJSAyKTsKfQoKLy8gRk9STUFUVElORwoKYWRkRm9ybWF0VG9rZW4oJ00nLCBbJ01NJywgMl0sICdNbycsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzLm1vbnRoKCkgKyAxOwp9KTsKCmFkZEZvcm1hdFRva2VuKCdNTU0nLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7CiAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcywgZm9ybWF0KTsKfSk7CgphZGRGb3JtYXRUb2tlbignTU1NTScsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tb250aHModGhpcywgZm9ybWF0KTsKfSk7CgovLyBBTElBU0VTCgphZGRVbml0QWxpYXMoJ21vbnRoJywgJ00nKTsKCi8vIFBSSU9SSVRZCgphZGRVbml0UHJpb3JpdHkoJ21vbnRoJywgOCk7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCdNJywgICAgbWF0Y2gxdG8yKTsKYWRkUmVnZXhUb2tlbignTU0nLCAgIG1hdGNoMXRvMiwgbWF0Y2gyKTsKYWRkUmVnZXhUb2tlbignTU1NJywgIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7CiAgICByZXR1cm4gbG9jYWxlLm1vbnRoc1Nob3J0UmVnZXgoaXNTdHJpY3QpOwp9KTsKYWRkUmVnZXhUb2tlbignTU1NTScsIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7CiAgICByZXR1cm4gbG9jYWxlLm1vbnRoc1JlZ2V4KGlzU3RyaWN0KTsKfSk7CgphZGRQYXJzZVRva2VuKFsnTScsICdNTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICBhcnJheVtNT05USF0gPSB0b0ludChpbnB1dCkgLSAxOwp9KTsKCmFkZFBhcnNlVG9rZW4oWydNTU0nLCAnTU1NTSddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcsIHRva2VuKSB7CiAgICB2YXIgbW9udGggPSBjb25maWcuX2xvY2FsZS5tb250aHNQYXJzZShpbnB1dCwgdG9rZW4sIGNvbmZpZy5fc3RyaWN0KTsKICAgIC8vIGlmIHdlIGRpZG4ndCBmaW5kIGEgbW9udGggbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkLgogICAgaWYgKG1vbnRoICE9IG51bGwpIHsKICAgICAgICBhcnJheVtNT05USF0gPSBtb250aDsKICAgIH0gZWxzZSB7CiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZE1vbnRoID0gaW5wdXQ7CiAgICB9Cn0pOwoKLy8gTE9DQUxFUwoKdmFyIE1PTlRIU19JTl9GT1JNQVQgPSAvRFtvRF0/KFxbW15cW1xdXSpcXXxccykrTU1NTT8vOwp2YXIgZGVmYXVsdExvY2FsZU1vbnRocyA9ICdKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyJy5zcGxpdCgnXycpOwpmdW5jdGlvbiBsb2NhbGVNb250aHMgKG0sIGZvcm1hdCkgewogICAgaWYgKCFtKSB7CiAgICAgICAgcmV0dXJuIGlzQXJyYXkodGhpcy5fbW9udGhzKSA/IHRoaXMuX21vbnRocyA6CiAgICAgICAgICAgIHRoaXMuX21vbnRoc1snc3RhbmRhbG9uZSddOwogICAgfQogICAgcmV0dXJuIGlzQXJyYXkodGhpcy5fbW9udGhzKSA/IHRoaXMuX21vbnRoc1ttLm1vbnRoKCldIDoKICAgICAgICB0aGlzLl9tb250aHNbKHRoaXMuX21vbnRocy5pc0Zvcm1hdCB8fCBNT05USFNfSU5fRk9STUFUKS50ZXN0KGZvcm1hdCkgPyAnZm9ybWF0JyA6ICdzdGFuZGFsb25lJ11bbS5tb250aCgpXTsKfQoKdmFyIGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCA9ICdKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYycuc3BsaXQoJ18nKTsKZnVuY3Rpb24gbG9jYWxlTW9udGhzU2hvcnQgKG0sIGZvcm1hdCkgewogICAgaWYgKCFtKSB7CiAgICAgICAgcmV0dXJuIGlzQXJyYXkodGhpcy5fbW9udGhzU2hvcnQpID8gdGhpcy5fbW9udGhzU2hvcnQgOgogICAgICAgICAgICB0aGlzLl9tb250aHNTaG9ydFsnc3RhbmRhbG9uZSddOwogICAgfQogICAgcmV0dXJuIGlzQXJyYXkodGhpcy5fbW9udGhzU2hvcnQpID8gdGhpcy5fbW9udGhzU2hvcnRbbS5tb250aCgpXSA6CiAgICAgICAgdGhpcy5fbW9udGhzU2hvcnRbTU9OVEhTX0lOX0ZPUk1BVC50ZXN0KGZvcm1hdCkgPyAnZm9ybWF0JyA6ICdzdGFuZGFsb25lJ11bbS5tb250aCgpXTsKfQoKZnVuY3Rpb24gaGFuZGxlU3RyaWN0UGFyc2UobW9udGhOYW1lLCBmb3JtYXQsIHN0cmljdCkgewogICAgdmFyIGksIGlpLCBtb20sIGxsYyA9IG1vbnRoTmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpOwogICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkgewogICAgICAgIC8vIHRoaXMgaXMgbm90IHVzZWQKICAgICAgICB0aGlzLl9tb250aHNQYXJzZSA9IFtdOwogICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZSA9IFtdOwogICAgICAgIHRoaXMuX3Nob3J0TW9udGhzUGFyc2UgPSBbXTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMTI7ICsraSkgewogICAgICAgICAgICBtb20gPSBjcmVhdGVVVEMoWzIwMDAsIGldKTsKICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXSA9IHRoaXMubW9udGhzU2hvcnQobW9tLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKTsKICAgICAgICAgICAgdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldID0gdGhpcy5tb250aHMobW9tLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKHN0cmljdCkgewogICAgICAgIGlmIChmb3JtYXQgPT09ICdNTU0nKSB7CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3Nob3J0TW9udGhzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fbG9uZ01vbnRoc1BhcnNlLCBsbGMpOwogICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ01NTScpIHsKICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fc2hvcnRNb250aHNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX2xvbmdNb250aHNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9sb25nTW9udGhzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpaTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlLCBsbGMpOwogICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gbG9jYWxlTW9udGhzUGFyc2UgKG1vbnRoTmFtZSwgZm9ybWF0LCBzdHJpY3QpIHsKICAgIHZhciBpLCBtb20sIHJlZ2V4OwoKICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7CiAgICAgICAgcmV0dXJuIGhhbmRsZVN0cmljdFBhcnNlLmNhbGwodGhpcywgbW9udGhOYW1lLCBmb3JtYXQsIHN0cmljdCk7CiAgICB9CgogICAgaWYgKCF0aGlzLl9tb250aHNQYXJzZSkgewogICAgICAgIHRoaXMuX21vbnRoc1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fbG9uZ01vbnRoc1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZSA9IFtdOwogICAgfQoKICAgIC8vIFRPRE86IGFkZCBzb3J0aW5nCiAgICAvLyBTb3J0aW5nIG1ha2VzIHN1cmUgaWYgb25lIG1vbnRoIChvciBhYmJyKSBpcyBhIHByZWZpeCBvZiBhbm90aGVyCiAgICAvLyBzZWUgc29ydGluZyBpbiBjb21wdXRlTW9udGhzUGFyc2UKICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7CiAgICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5CiAgICAgICAgbW9tID0gY3JlYXRlVVRDKFsyMDAwLCBpXSk7CiAgICAgICAgaWYgKHN0cmljdCAmJiAhdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldKSB7CiAgICAgICAgICAgIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgdGhpcy5tb250aHMobW9tLCAnJykucmVwbGFjZSgnLicsICcnKSArICckJywgJ2knKTsKICAgICAgICAgICAgdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgdGhpcy5tb250aHNTaG9ydChtb20sICcnKS5yZXBsYWNlKCcuJywgJycpICsgJyQnLCAnaScpOwogICAgICAgIH0KICAgICAgICBpZiAoIXN0cmljdCAmJiAhdGhpcy5fbW9udGhzUGFyc2VbaV0pIHsKICAgICAgICAgICAgcmVnZXggPSAnXicgKyB0aGlzLm1vbnRocyhtb20sICcnKSArICd8XicgKyB0aGlzLm1vbnRoc1Nob3J0KG1vbSwgJycpOwogICAgICAgICAgICB0aGlzLl9tb250aHNQYXJzZVtpXSA9IG5ldyBSZWdFeHAocmVnZXgucmVwbGFjZSgnLicsICcnKSwgJ2knKTsKICAgICAgICB9CiAgICAgICAgLy8gdGVzdCB0aGUgcmVnZXgKICAgICAgICBpZiAoc3RyaWN0ICYmIGZvcm1hdCA9PT0gJ01NTU0nICYmIHRoaXMuX2xvbmdNb250aHNQYXJzZVtpXS50ZXN0KG1vbnRoTmFtZSkpIHsKICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgfSBlbHNlIGlmIChzdHJpY3QgJiYgZm9ybWF0ID09PSAnTU1NJyAmJiB0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldLnRlc3QobW9udGhOYW1lKSkgewogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fbW9udGhzUGFyc2VbaV0udGVzdChtb250aE5hbWUpKSB7CiAgICAgICAgICAgIHJldHVybiBpOwogICAgICAgIH0KICAgIH0KfQoKLy8gTU9NRU5UUwoKZnVuY3Rpb24gc2V0TW9udGggKG1vbSwgdmFsdWUpIHsKICAgIHZhciBkYXlPZk1vbnRoOwoKICAgIGlmICghbW9tLmlzVmFsaWQoKSkgewogICAgICAgIC8vIE5vIG9wCiAgICAgICAgcmV0dXJuIG1vbTsKICAgIH0KCiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgewogICAgICAgIGlmICgvXlxkKyQvLnRlc3QodmFsdWUpKSB7CiAgICAgICAgICAgIHZhbHVlID0gdG9JbnQodmFsdWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHZhbHVlID0gbW9tLmxvY2FsZURhdGEoKS5tb250aHNQYXJzZSh2YWx1ZSk7CiAgICAgICAgICAgIC8vIFRPRE86IEFub3RoZXIgc2lsZW50IGZhaWx1cmU/CiAgICAgICAgICAgIGlmICghaXNOdW1iZXIodmFsdWUpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbW9tOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGRheU9mTW9udGggPSBNYXRoLm1pbihtb20uZGF0ZSgpLCBkYXlzSW5Nb250aChtb20ueWVhcigpLCB2YWx1ZSkpOwogICAgbW9tLl9kWydzZXQnICsgKG1vbS5faXNVVEMgPyAnVVRDJyA6ICcnKSArICdNb250aCddKHZhbHVlLCBkYXlPZk1vbnRoKTsKICAgIHJldHVybiBtb207Cn0KCmZ1bmN0aW9uIGdldFNldE1vbnRoICh2YWx1ZSkgewogICAgaWYgKHZhbHVlICE9IG51bGwpIHsKICAgICAgICBzZXRNb250aCh0aGlzLCB2YWx1ZSk7CiAgICAgICAgaG9va3MudXBkYXRlT2Zmc2V0KHRoaXMsIHRydWUpOwogICAgICAgIHJldHVybiB0aGlzOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gZ2V0KHRoaXMsICdNb250aCcpOwogICAgfQp9CgpmdW5jdGlvbiBnZXREYXlzSW5Nb250aCAoKSB7CiAgICByZXR1cm4gZGF5c0luTW9udGgodGhpcy55ZWFyKCksIHRoaXMubW9udGgoKSk7Cn0KCnZhciBkZWZhdWx0TW9udGhzU2hvcnRSZWdleCA9IG1hdGNoV29yZDsKZnVuY3Rpb24gbW9udGhzU2hvcnRSZWdleCAoaXNTdHJpY3QpIHsKICAgIGlmICh0aGlzLl9tb250aHNQYXJzZUV4YWN0KSB7CiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzUmVnZXgnKSkgewogICAgICAgICAgICBjb21wdXRlTW9udGhzUGFyc2UuY2FsbCh0aGlzKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzU3RyaWN0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9tb250aHNTaG9ydFN0cmljdFJlZ2V4OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9tb250aHNTaG9ydFJlZ2V4OwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzU2hvcnRSZWdleCcpKSB7CiAgICAgICAgICAgIHRoaXMuX21vbnRoc1Nob3J0UmVnZXggPSBkZWZhdWx0TW9udGhzU2hvcnRSZWdleDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1Nob3J0U3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgPwogICAgICAgICAgICB0aGlzLl9tb250aHNTaG9ydFN0cmljdFJlZ2V4IDogdGhpcy5fbW9udGhzU2hvcnRSZWdleDsKICAgIH0KfQoKdmFyIGRlZmF1bHRNb250aHNSZWdleCA9IG1hdGNoV29yZDsKZnVuY3Rpb24gbW9udGhzUmVnZXggKGlzU3RyaWN0KSB7CiAgICBpZiAodGhpcy5fbW9udGhzUGFyc2VFeGFjdCkgewogICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX21vbnRoc1JlZ2V4JykpIHsKICAgICAgICAgICAgY29tcHV0ZU1vbnRoc1BhcnNlLmNhbGwodGhpcyk7CiAgICAgICAgfQogICAgICAgIGlmIChpc1N0cmljdCkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9udGhzU3RyaWN0UmVnZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1JlZ2V4OwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfbW9udGhzUmVnZXgnKSkgewogICAgICAgICAgICB0aGlzLl9tb250aHNSZWdleCA9IGRlZmF1bHRNb250aHNSZWdleDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4ICYmIGlzU3RyaWN0ID8KICAgICAgICAgICAgdGhpcy5fbW9udGhzU3RyaWN0UmVnZXggOiB0aGlzLl9tb250aHNSZWdleDsKICAgIH0KfQoKZnVuY3Rpb24gY29tcHV0ZU1vbnRoc1BhcnNlICgpIHsKICAgIGZ1bmN0aW9uIGNtcExlblJldihhLCBiKSB7CiAgICAgICAgcmV0dXJuIGIubGVuZ3RoIC0gYS5sZW5ndGg7CiAgICB9CgogICAgdmFyIHNob3J0UGllY2VzID0gW10sIGxvbmdQaWVjZXMgPSBbXSwgbWl4ZWRQaWVjZXMgPSBbXSwKICAgICAgICBpLCBtb207CiAgICBmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykgewogICAgICAgIC8vIG1ha2UgdGhlIHJlZ2V4IGlmIHdlIGRvbid0IGhhdmUgaXQgYWxyZWFkeQogICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgaV0pOwogICAgICAgIHNob3J0UGllY2VzLnB1c2godGhpcy5tb250aHNTaG9ydChtb20sICcnKSk7CiAgICAgICAgbG9uZ1BpZWNlcy5wdXNoKHRoaXMubW9udGhzKG1vbSwgJycpKTsKICAgICAgICBtaXhlZFBpZWNlcy5wdXNoKHRoaXMubW9udGhzKG1vbSwgJycpKTsKICAgICAgICBtaXhlZFBpZWNlcy5wdXNoKHRoaXMubW9udGhzU2hvcnQobW9tLCAnJykpOwogICAgfQogICAgLy8gU29ydGluZyBtYWtlcyBzdXJlIGlmIG9uZSBtb250aCAob3IgYWJicikgaXMgYSBwcmVmaXggb2YgYW5vdGhlciBpdAogICAgLy8gd2lsbCBtYXRjaCB0aGUgbG9uZ2VyIHBpZWNlLgogICAgc2hvcnRQaWVjZXMuc29ydChjbXBMZW5SZXYpOwogICAgbG9uZ1BpZWNlcy5zb3J0KGNtcExlblJldik7CiAgICBtaXhlZFBpZWNlcy5zb3J0KGNtcExlblJldik7CiAgICBmb3IgKGkgPSAwOyBpIDwgMTI7IGkrKykgewogICAgICAgIHNob3J0UGllY2VzW2ldID0gcmVnZXhFc2NhcGUoc2hvcnRQaWVjZXNbaV0pOwogICAgICAgIGxvbmdQaWVjZXNbaV0gPSByZWdleEVzY2FwZShsb25nUGllY2VzW2ldKTsKICAgIH0KICAgIGZvciAoaSA9IDA7IGkgPCAyNDsgaSsrKSB7CiAgICAgICAgbWl4ZWRQaWVjZXNbaV0gPSByZWdleEVzY2FwZShtaXhlZFBpZWNlc1tpXSk7CiAgICB9CgogICAgdGhpcy5fbW9udGhzUmVnZXggPSBuZXcgUmVnRXhwKCdeKCcgKyBtaXhlZFBpZWNlcy5qb2luKCd8JykgKyAnKScsICdpJyk7CiAgICB0aGlzLl9tb250aHNTaG9ydFJlZ2V4ID0gdGhpcy5fbW9udGhzUmVnZXg7CiAgICB0aGlzLl9tb250aHNTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoJ14oJyArIGxvbmdQaWVjZXMuam9pbignfCcpICsgJyknLCAnaScpOwogICAgdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoJ14oJyArIHNob3J0UGllY2VzLmpvaW4oJ3wnKSArICcpJywgJ2knKTsKfQoKZnVuY3Rpb24gY3JlYXRlRGF0ZSAoeSwgbSwgZCwgaCwgTSwgcywgbXMpIHsKICAgIC8vIGNhbid0IGp1c3QgYXBwbHkoKSB0byBjcmVhdGUgYSBkYXRlOgogICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xLzE4MTM0OAogICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh5LCBtLCBkLCBoLCBNLCBzLCBtcyk7CgogICAgLy8gdGhlIGRhdGUgY29uc3RydWN0b3IgcmVtYXBzIHllYXJzIDAtOTkgdG8gMTkwMC0xOTk5CiAgICBpZiAoeSA8IDEwMCAmJiB5ID49IDAgJiYgaXNGaW5pdGUoZGF0ZS5nZXRGdWxsWWVhcigpKSkgewogICAgICAgIGRhdGUuc2V0RnVsbFllYXIoeSk7CiAgICB9CiAgICByZXR1cm4gZGF0ZTsKfQoKZnVuY3Rpb24gY3JlYXRlVVRDRGF0ZSAoeSkgewogICAgdmFyIGRhdGUgPSBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShudWxsLCBhcmd1bWVudHMpKTsKCiAgICAvLyB0aGUgRGF0ZS5VVEMgZnVuY3Rpb24gcmVtYXBzIHllYXJzIDAtOTkgdG8gMTkwMC0xOTk5CiAgICBpZiAoeSA8IDEwMCAmJiB5ID49IDAgJiYgaXNGaW5pdGUoZGF0ZS5nZXRVVENGdWxsWWVhcigpKSkgewogICAgICAgIGRhdGUuc2V0VVRDRnVsbFllYXIoeSk7CiAgICB9CiAgICByZXR1cm4gZGF0ZTsKfQoKLy8gc3RhcnQtb2YtZmlyc3Qtd2VlayAtIHN0YXJ0LW9mLXllYXIKZnVuY3Rpb24gZmlyc3RXZWVrT2Zmc2V0KHllYXIsIGRvdywgZG95KSB7CiAgICB2YXIgLy8gZmlyc3Qtd2VlayBkYXkgLS0gd2hpY2ggamFudWFyeSBpcyBhbHdheXMgaW4gdGhlIGZpcnN0IHdlZWsgKDQgZm9yIGlzbywgMSBmb3Igb3RoZXIpCiAgICAgICAgZndkID0gNyArIGRvdyAtIGRveSwKICAgICAgICAvLyBmaXJzdC13ZWVrIGRheSBsb2NhbCB3ZWVrZGF5IC0tIHdoaWNoIGxvY2FsIHdlZWtkYXkgaXMgZndkCiAgICAgICAgZndkbHcgPSAoNyArIGNyZWF0ZVVUQ0RhdGUoeWVhciwgMCwgZndkKS5nZXRVVENEYXkoKSAtIGRvdykgJSA3OwoKICAgIHJldHVybiAtZndkbHcgKyBmd2QgLSAxOwp9CgovLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlI0NhbGN1bGF0aW5nX2FfZGF0ZV9naXZlbl90aGVfeWVhci4yQ193ZWVrX251bWJlcl9hbmRfd2Vla2RheQpmdW5jdGlvbiBkYXlPZlllYXJGcm9tV2Vla3MoeWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpIHsKICAgIHZhciBsb2NhbFdlZWtkYXkgPSAoNyArIHdlZWtkYXkgLSBkb3cpICUgNywKICAgICAgICB3ZWVrT2Zmc2V0ID0gZmlyc3RXZWVrT2Zmc2V0KHllYXIsIGRvdywgZG95KSwKICAgICAgICBkYXlPZlllYXIgPSAxICsgNyAqICh3ZWVrIC0gMSkgKyBsb2NhbFdlZWtkYXkgKyB3ZWVrT2Zmc2V0LAogICAgICAgIHJlc1llYXIsIHJlc0RheU9mWWVhcjsKCiAgICBpZiAoZGF5T2ZZZWFyIDw9IDApIHsKICAgICAgICByZXNZZWFyID0geWVhciAtIDE7CiAgICAgICAgcmVzRGF5T2ZZZWFyID0gZGF5c0luWWVhcihyZXNZZWFyKSArIGRheU9mWWVhcjsKICAgIH0gZWxzZSBpZiAoZGF5T2ZZZWFyID4gZGF5c0luWWVhcih5ZWFyKSkgewogICAgICAgIHJlc1llYXIgPSB5ZWFyICsgMTsKICAgICAgICByZXNEYXlPZlllYXIgPSBkYXlPZlllYXIgLSBkYXlzSW5ZZWFyKHllYXIpOwogICAgfSBlbHNlIHsKICAgICAgICByZXNZZWFyID0geWVhcjsKICAgICAgICByZXNEYXlPZlllYXIgPSBkYXlPZlllYXI7CiAgICB9CgogICAgcmV0dXJuIHsKICAgICAgICB5ZWFyOiByZXNZZWFyLAogICAgICAgIGRheU9mWWVhcjogcmVzRGF5T2ZZZWFyCiAgICB9Owp9CgpmdW5jdGlvbiB3ZWVrT2ZZZWFyKG1vbSwgZG93LCBkb3kpIHsKICAgIHZhciB3ZWVrT2Zmc2V0ID0gZmlyc3RXZWVrT2Zmc2V0KG1vbS55ZWFyKCksIGRvdywgZG95KSwKICAgICAgICB3ZWVrID0gTWF0aC5mbG9vcigobW9tLmRheU9mWWVhcigpIC0gd2Vla09mZnNldCAtIDEpIC8gNykgKyAxLAogICAgICAgIHJlc1dlZWssIHJlc1llYXI7CgogICAgaWYgKHdlZWsgPCAxKSB7CiAgICAgICAgcmVzWWVhciA9IG1vbS55ZWFyKCkgLSAxOwogICAgICAgIHJlc1dlZWsgPSB3ZWVrICsgd2Vla3NJblllYXIocmVzWWVhciwgZG93LCBkb3kpOwogICAgfSBlbHNlIGlmICh3ZWVrID4gd2Vla3NJblllYXIobW9tLnllYXIoKSwgZG93LCBkb3kpKSB7CiAgICAgICAgcmVzV2VlayA9IHdlZWsgLSB3ZWVrc0luWWVhcihtb20ueWVhcigpLCBkb3csIGRveSk7CiAgICAgICAgcmVzWWVhciA9IG1vbS55ZWFyKCkgKyAxOwogICAgfSBlbHNlIHsKICAgICAgICByZXNZZWFyID0gbW9tLnllYXIoKTsKICAgICAgICByZXNXZWVrID0gd2VlazsKICAgIH0KCiAgICByZXR1cm4gewogICAgICAgIHdlZWs6IHJlc1dlZWssCiAgICAgICAgeWVhcjogcmVzWWVhcgogICAgfTsKfQoKZnVuY3Rpb24gd2Vla3NJblllYXIoeWVhciwgZG93LCBkb3kpIHsKICAgIHZhciB3ZWVrT2Zmc2V0ID0gZmlyc3RXZWVrT2Zmc2V0KHllYXIsIGRvdywgZG95KSwKICAgICAgICB3ZWVrT2Zmc2V0TmV4dCA9IGZpcnN0V2Vla09mZnNldCh5ZWFyICsgMSwgZG93LCBkb3kpOwogICAgcmV0dXJuIChkYXlzSW5ZZWFyKHllYXIpIC0gd2Vla09mZnNldCArIHdlZWtPZmZzZXROZXh0KSAvIDc7Cn0KCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCd3JywgWyd3dycsIDJdLCAnd28nLCAnd2VlaycpOwphZGRGb3JtYXRUb2tlbignVycsIFsnV1cnLCAyXSwgJ1dvJywgJ2lzb1dlZWsnKTsKCi8vIEFMSUFTRVMKCmFkZFVuaXRBbGlhcygnd2VlaycsICd3Jyk7CmFkZFVuaXRBbGlhcygnaXNvV2VlaycsICdXJyk7CgovLyBQUklPUklUSUVTCgphZGRVbml0UHJpb3JpdHkoJ3dlZWsnLCA1KTsKYWRkVW5pdFByaW9yaXR5KCdpc29XZWVrJywgNSk7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCd3JywgIG1hdGNoMXRvMik7CmFkZFJlZ2V4VG9rZW4oJ3d3JywgbWF0Y2gxdG8yLCBtYXRjaDIpOwphZGRSZWdleFRva2VuKCdXJywgIG1hdGNoMXRvMik7CmFkZFJlZ2V4VG9rZW4oJ1dXJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKYWRkV2Vla1BhcnNlVG9rZW4oWyd3JywgJ3d3JywgJ1cnLCAnV1cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrLCBjb25maWcsIHRva2VuKSB7CiAgICB3ZWVrW3Rva2VuLnN1YnN0cigwLCAxKV0gPSB0b0ludChpbnB1dCk7Cn0pOwoKLy8gSEVMUEVSUwoKLy8gTE9DQUxFUwoKZnVuY3Rpb24gbG9jYWxlV2VlayAobW9tKSB7CiAgICByZXR1cm4gd2Vla09mWWVhcihtb20sIHRoaXMuX3dlZWsuZG93LCB0aGlzLl93ZWVrLmRveSkud2VlazsKfQoKdmFyIGRlZmF1bHRMb2NhbGVXZWVrID0gewogICAgZG93IDogMCwgLy8gU3VuZGF5IGlzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuCiAgICBkb3kgOiA2ICAvLyBUaGUgd2VlayB0aGF0IGNvbnRhaW5zIEphbiAxc3QgaXMgdGhlIGZpcnN0IHdlZWsgb2YgdGhlIHllYXIuCn07CgpmdW5jdGlvbiBsb2NhbGVGaXJzdERheU9mV2VlayAoKSB7CiAgICByZXR1cm4gdGhpcy5fd2Vlay5kb3c7Cn0KCmZ1bmN0aW9uIGxvY2FsZUZpcnN0RGF5T2ZZZWFyICgpIHsKICAgIHJldHVybiB0aGlzLl93ZWVrLmRveTsKfQoKLy8gTU9NRU5UUwoKZnVuY3Rpb24gZ2V0U2V0V2VlayAoaW5wdXQpIHsKICAgIHZhciB3ZWVrID0gdGhpcy5sb2NhbGVEYXRhKCkud2Vlayh0aGlzKTsKICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gd2VlayA6IHRoaXMuYWRkKChpbnB1dCAtIHdlZWspICogNywgJ2QnKTsKfQoKZnVuY3Rpb24gZ2V0U2V0SVNPV2VlayAoaW5wdXQpIHsKICAgIHZhciB3ZWVrID0gd2Vla09mWWVhcih0aGlzLCAxLCA0KS53ZWVrOwogICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrIDogdGhpcy5hZGQoKGlucHV0IC0gd2VlaykgKiA3LCAnZCcpOwp9CgovLyBGT1JNQVRUSU5HCgphZGRGb3JtYXRUb2tlbignZCcsIDAsICdkbycsICdkYXknKTsKCmFkZEZvcm1hdFRva2VuKCdkZCcsIDAsIDAsIGZ1bmN0aW9uIChmb3JtYXQpIHsKICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c01pbih0aGlzLCBmb3JtYXQpOwp9KTsKCmFkZEZvcm1hdFRva2VuKCdkZGQnLCAwLCAwLCBmdW5jdGlvbiAoZm9ybWF0KSB7CiAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNTaG9ydCh0aGlzLCBmb3JtYXQpOwp9KTsKCmFkZEZvcm1hdFRva2VuKCdkZGRkJywgMCwgMCwgZnVuY3Rpb24gKGZvcm1hdCkgewogICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsIGZvcm1hdCk7Cn0pOwoKYWRkRm9ybWF0VG9rZW4oJ2UnLCAwLCAwLCAnd2Vla2RheScpOwphZGRGb3JtYXRUb2tlbignRScsIDAsIDAsICdpc29XZWVrZGF5Jyk7CgovLyBBTElBU0VTCgphZGRVbml0QWxpYXMoJ2RheScsICdkJyk7CmFkZFVuaXRBbGlhcygnd2Vla2RheScsICdlJyk7CmFkZFVuaXRBbGlhcygnaXNvV2Vla2RheScsICdFJyk7CgovLyBQUklPUklUWQphZGRVbml0UHJpb3JpdHkoJ2RheScsIDExKTsKYWRkVW5pdFByaW9yaXR5KCd3ZWVrZGF5JywgMTEpOwphZGRVbml0UHJpb3JpdHkoJ2lzb1dlZWtkYXknLCAxMSk7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCdkJywgICAgbWF0Y2gxdG8yKTsKYWRkUmVnZXhUb2tlbignZScsICAgIG1hdGNoMXRvMik7CmFkZFJlZ2V4VG9rZW4oJ0UnLCAgICBtYXRjaDF0bzIpOwphZGRSZWdleFRva2VuKCdkZCcsICAgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHsKICAgIHJldHVybiBsb2NhbGUud2Vla2RheXNNaW5SZWdleChpc1N0cmljdCk7Cn0pOwphZGRSZWdleFRva2VuKCdkZGQnLCAgIGZ1bmN0aW9uIChpc1N0cmljdCwgbG9jYWxlKSB7CiAgICByZXR1cm4gbG9jYWxlLndlZWtkYXlzU2hvcnRSZWdleChpc1N0cmljdCk7Cn0pOwphZGRSZWdleFRva2VuKCdkZGRkJywgICBmdW5jdGlvbiAoaXNTdHJpY3QsIGxvY2FsZSkgewogICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5c1JlZ2V4KGlzU3RyaWN0KTsKfSk7CgphZGRXZWVrUGFyc2VUb2tlbihbJ2RkJywgJ2RkZCcsICdkZGRkJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikgewogICAgdmFyIHdlZWtkYXkgPSBjb25maWcuX2xvY2FsZS53ZWVrZGF5c1BhcnNlKGlucHV0LCB0b2tlbiwgY29uZmlnLl9zdHJpY3QpOwogICAgLy8gaWYgd2UgZGlkbid0IGdldCBhIHdlZWtkYXkgbmFtZSwgbWFyayB0aGUgZGF0ZSBhcyBpbnZhbGlkCiAgICBpZiAod2Vla2RheSAhPSBudWxsKSB7CiAgICAgICAgd2Vlay5kID0gd2Vla2RheTsKICAgIH0gZWxzZSB7CiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaW52YWxpZFdlZWtkYXkgPSBpbnB1dDsKICAgIH0KfSk7CgphZGRXZWVrUGFyc2VUb2tlbihbJ2QnLCAnZScsICdFJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikgewogICAgd2Vla1t0b2tlbl0gPSB0b0ludChpbnB1dCk7Cn0pOwoKLy8gSEVMUEVSUwoKZnVuY3Rpb24gcGFyc2VXZWVrZGF5KGlucHV0LCBsb2NhbGUpIHsKICAgIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgcmV0dXJuIGlucHV0OwogICAgfQoKICAgIGlmICghaXNOYU4oaW5wdXQpKSB7CiAgICAgICAgcmV0dXJuIHBhcnNlSW50KGlucHV0LCAxMCk7CiAgICB9CgogICAgaW5wdXQgPSBsb2NhbGUud2Vla2RheXNQYXJzZShpbnB1dCk7CiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnbnVtYmVyJykgewogICAgICAgIHJldHVybiBpbnB1dDsKICAgIH0KCiAgICByZXR1cm4gbnVsbDsKfQoKZnVuY3Rpb24gcGFyc2VJc29XZWVrZGF5KGlucHV0LCBsb2NhbGUpIHsKICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgcmV0dXJuIGxvY2FsZS53ZWVrZGF5c1BhcnNlKGlucHV0KSAlIDcgfHwgNzsKICAgIH0KICAgIHJldHVybiBpc05hTihpbnB1dCkgPyBudWxsIDogaW5wdXQ7Cn0KCi8vIExPQ0FMRVMKCnZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXMgPSAnU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXknLnNwbGl0KCdfJyk7CmZ1bmN0aW9uIGxvY2FsZVdlZWtkYXlzIChtLCBmb3JtYXQpIHsKICAgIGlmICghbSkgewogICAgICAgIHJldHVybiBpc0FycmF5KHRoaXMuX3dlZWtkYXlzKSA/IHRoaXMuX3dlZWtkYXlzIDoKICAgICAgICAgICAgdGhpcy5fd2Vla2RheXNbJ3N0YW5kYWxvbmUnXTsKICAgIH0KICAgIHJldHVybiBpc0FycmF5KHRoaXMuX3dlZWtkYXlzKSA/IHRoaXMuX3dlZWtkYXlzW20uZGF5KCldIDoKICAgICAgICB0aGlzLl93ZWVrZGF5c1t0aGlzLl93ZWVrZGF5cy5pc0Zvcm1hdC50ZXN0KGZvcm1hdCkgPyAnZm9ybWF0JyA6ICdzdGFuZGFsb25lJ11bbS5kYXkoKV07Cn0KCnZhciBkZWZhdWx0TG9jYWxlV2Vla2RheXNTaG9ydCA9ICdTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQnLnNwbGl0KCdfJyk7CmZ1bmN0aW9uIGxvY2FsZVdlZWtkYXlzU2hvcnQgKG0pIHsKICAgIHJldHVybiAobSkgPyB0aGlzLl93ZWVrZGF5c1Nob3J0W20uZGF5KCldIDogdGhpcy5fd2Vla2RheXNTaG9ydDsKfQoKdmFyIGRlZmF1bHRMb2NhbGVXZWVrZGF5c01pbiA9ICdTdV9Nb19UdV9XZV9UaF9Gcl9TYScuc3BsaXQoJ18nKTsKZnVuY3Rpb24gbG9jYWxlV2Vla2RheXNNaW4gKG0pIHsKICAgIHJldHVybiAobSkgPyB0aGlzLl93ZWVrZGF5c01pblttLmRheSgpXSA6IHRoaXMuX3dlZWtkYXlzTWluOwp9CgpmdW5jdGlvbiBoYW5kbGVTdHJpY3RQYXJzZSQxKHdlZWtkYXlOYW1lLCBmb3JtYXQsIHN0cmljdCkgewogICAgdmFyIGksIGlpLCBtb20sIGxsYyA9IHdlZWtkYXlOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7CiAgICBpZiAoIXRoaXMuX3dlZWtkYXlzUGFyc2UpIHsKICAgICAgICB0aGlzLl93ZWVrZGF5c1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fbWluV2Vla2RheXNQYXJzZSA9IFtdOwoKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNzsgKytpKSB7CiAgICAgICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgMV0pLmRheShpKTsKICAgICAgICAgICAgdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXSA9IHRoaXMud2Vla2RheXNNaW4obW9tLCAnJykudG9Mb2NhbGVMb3dlckNhc2UoKTsKICAgICAgICAgICAgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2ldID0gdGhpcy53ZWVrZGF5c1Nob3J0KG1vbSwgJycpLnRvTG9jYWxlTG93ZXJDYXNlKCk7CiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2VbaV0gPSB0aGlzLndlZWtkYXlzKG1vbSwgJycpLnRvTG9jYWxlTG93ZXJDYXNlKCk7CiAgICAgICAgfQogICAgfQoKICAgIGlmIChzdHJpY3QpIHsKICAgICAgICBpZiAoZm9ybWF0ID09PSAnZGRkZCcpIHsKICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fd2Vla2RheXNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgcmV0dXJuIGlpICE9PSAtMSA/IGlpIDogbnVsbDsKICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2RkZCcpIHsKICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLCBsbGMpOwogICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBpZiAoZm9ybWF0ID09PSAnZGRkZCcpIHsKICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fd2Vla2RheXNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIHJldHVybiBpaSAhPT0gLTEgPyBpaSA6IG51bGw7CiAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09ICdkZGQnKSB7CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSwgbGxjKTsKICAgICAgICAgICAgaWYgKGlpICE9PSAtMSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGlpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpaTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl9taW5XZWVrZGF5c1BhcnNlLCBsbGMpOwogICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlpID0gaW5kZXhPZi5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UsIGxsYyk7CiAgICAgICAgICAgIGlmIChpaSAhPT0gLTEpIHsKICAgICAgICAgICAgICAgIHJldHVybiBpaTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpaSA9IGluZGV4T2YuY2FsbCh0aGlzLl93ZWVrZGF5c1BhcnNlLCBsbGMpOwogICAgICAgICAgICBpZiAoaWkgIT09IC0xKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaWk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWkgPSBpbmRleE9mLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLCBsbGMpOwogICAgICAgICAgICByZXR1cm4gaWkgIT09IC0xID8gaWkgOiBudWxsOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gbG9jYWxlV2Vla2RheXNQYXJzZSAod2Vla2RheU5hbWUsIGZvcm1hdCwgc3RyaWN0KSB7CiAgICB2YXIgaSwgbW9tLCByZWdleDsKCiAgICBpZiAodGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0KSB7CiAgICAgICAgcmV0dXJuIGhhbmRsZVN0cmljdFBhcnNlJDEuY2FsbCh0aGlzLCB3ZWVrZGF5TmFtZSwgZm9ybWF0LCBzdHJpY3QpOwogICAgfQoKICAgIGlmICghdGhpcy5fd2Vla2RheXNQYXJzZSkgewogICAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2UgPSBbXTsKICAgICAgICB0aGlzLl9taW5XZWVrZGF5c1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlID0gW107CiAgICAgICAgdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2UgPSBbXTsKICAgIH0KCiAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7CiAgICAgICAgLy8gbWFrZSB0aGUgcmVnZXggaWYgd2UgZG9uJ3QgaGF2ZSBpdCBhbHJlYWR5CgogICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgMV0pLmRheShpKTsKICAgICAgICBpZiAoc3RyaWN0ICYmICF0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXSkgewogICAgICAgICAgICB0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXSA9IG5ldyBSZWdFeHAoJ14nICsgdGhpcy53ZWVrZGF5cyhtb20sICcnKS5yZXBsYWNlKCcuJywgJ1wuPycpICsgJyQnLCAnaScpOwogICAgICAgICAgICB0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKCdeJyArIHRoaXMud2Vla2RheXNTaG9ydChtb20sICcnKS5yZXBsYWNlKCcuJywgJ1wuPycpICsgJyQnLCAnaScpOwogICAgICAgICAgICB0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2ldID0gbmV3IFJlZ0V4cCgnXicgKyB0aGlzLndlZWtkYXlzTWluKG1vbSwgJycpLnJlcGxhY2UoJy4nLCAnXC4/JykgKyAnJCcsICdpJyk7CiAgICAgICAgfQogICAgICAgIGlmICghdGhpcy5fd2Vla2RheXNQYXJzZVtpXSkgewogICAgICAgICAgICByZWdleCA9ICdeJyArIHRoaXMud2Vla2RheXMobW9tLCAnJykgKyAnfF4nICsgdGhpcy53ZWVrZGF5c1Nob3J0KG1vbSwgJycpICsgJ3xeJyArIHRoaXMud2Vla2RheXNNaW4obW9tLCAnJyk7CiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzUGFyc2VbaV0gPSBuZXcgUmVnRXhwKHJlZ2V4LnJlcGxhY2UoJy4nLCAnJyksICdpJyk7CiAgICAgICAgfQogICAgICAgIC8vIHRlc3QgdGhlIHJlZ2V4CiAgICAgICAgaWYgKHN0cmljdCAmJiBmb3JtYXQgPT09ICdkZGRkJyAmJiB0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkgewogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9IGVsc2UgaWYgKHN0cmljdCAmJiBmb3JtYXQgPT09ICdkZGQnICYmIHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkgewogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9IGVsc2UgaWYgKHN0cmljdCAmJiBmb3JtYXQgPT09ICdkZCcgJiYgdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkgewogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9IGVsc2UgaWYgKCFzdHJpY3QgJiYgdGhpcy5fd2Vla2RheXNQYXJzZVtpXS50ZXN0KHdlZWtkYXlOYW1lKSkgewogICAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9CiAgICB9Cn0KCi8vIE1PTUVOVFMKCmZ1bmN0aW9uIGdldFNldERheU9mV2VlayAoaW5wdXQpIHsKICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICByZXR1cm4gaW5wdXQgIT0gbnVsbCA/IHRoaXMgOiBOYU47CiAgICB9CiAgICB2YXIgZGF5ID0gdGhpcy5faXNVVEMgPyB0aGlzLl9kLmdldFVUQ0RheSgpIDogdGhpcy5fZC5nZXREYXkoKTsKICAgIGlmIChpbnB1dCAhPSBudWxsKSB7CiAgICAgICAgaW5wdXQgPSBwYXJzZVdlZWtkYXkoaW5wdXQsIHRoaXMubG9jYWxlRGF0YSgpKTsKICAgICAgICByZXR1cm4gdGhpcy5hZGQoaW5wdXQgLSBkYXksICdkJyk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBkYXk7CiAgICB9Cn0KCmZ1bmN0aW9uIGdldFNldExvY2FsZURheU9mV2VlayAoaW5wdXQpIHsKICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICByZXR1cm4gaW5wdXQgIT0gbnVsbCA/IHRoaXMgOiBOYU47CiAgICB9CiAgICB2YXIgd2Vla2RheSA9ICh0aGlzLmRheSgpICsgNyAtIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdykgJSA3OwogICAgcmV0dXJuIGlucHV0ID09IG51bGwgPyB3ZWVrZGF5IDogdGhpcy5hZGQoaW5wdXQgLSB3ZWVrZGF5LCAnZCcpOwp9CgpmdW5jdGlvbiBnZXRTZXRJU09EYXlPZldlZWsgKGlucHV0KSB7CiAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7CiAgICAgICAgcmV0dXJuIGlucHV0ICE9IG51bGwgPyB0aGlzIDogTmFOOwogICAgfQoKICAgIC8vIGJlaGF2ZXMgdGhlIHNhbWUgYXMgbW9tZW50I2RheSBleGNlcHQKICAgIC8vIGFzIGEgZ2V0dGVyLCByZXR1cm5zIDcgaW5zdGVhZCBvZiAwICgxLTcgcmFuZ2UgaW5zdGVhZCBvZiAwLTYpCiAgICAvLyBhcyBhIHNldHRlciwgc3VuZGF5IHNob3VsZCBiZWxvbmcgdG8gdGhlIHByZXZpb3VzIHdlZWsuCgogICAgaWYgKGlucHV0ICE9IG51bGwpIHsKICAgICAgICB2YXIgd2Vla2RheSA9IHBhcnNlSXNvV2Vla2RheShpbnB1dCwgdGhpcy5sb2NhbGVEYXRhKCkpOwogICAgICAgIHJldHVybiB0aGlzLmRheSh0aGlzLmRheSgpICUgNyA/IHdlZWtkYXkgOiB3ZWVrZGF5IC0gNyk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLmRheSgpIHx8IDc7CiAgICB9Cn0KCnZhciBkZWZhdWx0V2Vla2RheXNSZWdleCA9IG1hdGNoV29yZDsKZnVuY3Rpb24gd2Vla2RheXNSZWdleCAoaXNTdHJpY3QpIHsKICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpIHsKICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHsKICAgICAgICAgICAgY29tcHV0ZVdlZWtkYXlzUGFyc2UuY2FsbCh0aGlzKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzU3RyaWN0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1JlZ2V4OwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfd2Vla2RheXNSZWdleCcpKSB7CiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzUmVnZXggPSBkZWZhdWx0V2Vla2RheXNSZWdleDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgPwogICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1N0cmljdFJlZ2V4IDogdGhpcy5fd2Vla2RheXNSZWdleDsKICAgIH0KfQoKdmFyIGRlZmF1bHRXZWVrZGF5c1Nob3J0UmVnZXggPSBtYXRjaFdvcmQ7CmZ1bmN0aW9uIHdlZWtkYXlzU2hvcnRSZWdleCAoaXNTdHJpY3QpIHsKICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpIHsKICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHsKICAgICAgICAgICAgY29tcHV0ZVdlZWtkYXlzUGFyc2UuY2FsbCh0aGlzKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzU3RyaWN0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleDsKICAgICAgICB9CiAgICB9IGVsc2UgewogICAgICAgIGlmICghaGFzT3duUHJvcCh0aGlzLCAnX3dlZWtkYXlzU2hvcnRSZWdleCcpKSB7CiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzU2hvcnRSZWdleCA9IGRlZmF1bHRXZWVrZGF5c1Nob3J0UmVnZXg7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgPwogICAgICAgICAgICB0aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXggOiB0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXg7CiAgICB9Cn0KCnZhciBkZWZhdWx0V2Vla2RheXNNaW5SZWdleCA9IG1hdGNoV29yZDsKZnVuY3Rpb24gd2Vla2RheXNNaW5SZWdleCAoaXNTdHJpY3QpIHsKICAgIGlmICh0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpIHsKICAgICAgICBpZiAoIWhhc093blByb3AodGhpcywgJ193ZWVrZGF5c1JlZ2V4JykpIHsKICAgICAgICAgICAgY29tcHV0ZVdlZWtkYXlzUGFyc2UuY2FsbCh0aGlzKTsKICAgICAgICB9CiAgICAgICAgaWYgKGlzU3RyaWN0KSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl93ZWVrZGF5c01pblJlZ2V4OwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKCFoYXNPd25Qcm9wKHRoaXMsICdfd2Vla2RheXNNaW5SZWdleCcpKSB7CiAgICAgICAgICAgIHRoaXMuX3dlZWtkYXlzTWluUmVnZXggPSBkZWZhdWx0V2Vla2RheXNNaW5SZWdleDsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXggJiYgaXNTdHJpY3QgPwogICAgICAgICAgICB0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4IDogdGhpcy5fd2Vla2RheXNNaW5SZWdleDsKICAgIH0KfQoKCmZ1bmN0aW9uIGNvbXB1dGVXZWVrZGF5c1BhcnNlICgpIHsKICAgIGZ1bmN0aW9uIGNtcExlblJldihhLCBiKSB7CiAgICAgICAgcmV0dXJuIGIubGVuZ3RoIC0gYS5sZW5ndGg7CiAgICB9CgogICAgdmFyIG1pblBpZWNlcyA9IFtdLCBzaG9ydFBpZWNlcyA9IFtdLCBsb25nUGllY2VzID0gW10sIG1peGVkUGllY2VzID0gW10sCiAgICAgICAgaSwgbW9tLCBtaW5wLCBzaG9ydHAsIGxvbmdwOwogICAgZm9yIChpID0gMDsgaSA8IDc7IGkrKykgewogICAgICAgIC8vIG1ha2UgdGhlIHJlZ2V4IGlmIHdlIGRvbid0IGhhdmUgaXQgYWxyZWFkeQogICAgICAgIG1vbSA9IGNyZWF0ZVVUQyhbMjAwMCwgMV0pLmRheShpKTsKICAgICAgICBtaW5wID0gdGhpcy53ZWVrZGF5c01pbihtb20sICcnKTsKICAgICAgICBzaG9ydHAgPSB0aGlzLndlZWtkYXlzU2hvcnQobW9tLCAnJyk7CiAgICAgICAgbG9uZ3AgPSB0aGlzLndlZWtkYXlzKG1vbSwgJycpOwogICAgICAgIG1pblBpZWNlcy5wdXNoKG1pbnApOwogICAgICAgIHNob3J0UGllY2VzLnB1c2goc2hvcnRwKTsKICAgICAgICBsb25nUGllY2VzLnB1c2gobG9uZ3ApOwogICAgICAgIG1peGVkUGllY2VzLnB1c2gobWlucCk7CiAgICAgICAgbWl4ZWRQaWVjZXMucHVzaChzaG9ydHApOwogICAgICAgIG1peGVkUGllY2VzLnB1c2gobG9uZ3ApOwogICAgfQogICAgLy8gU29ydGluZyBtYWtlcyBzdXJlIGlmIG9uZSB3ZWVrZGF5IChvciBhYmJyKSBpcyBhIHByZWZpeCBvZiBhbm90aGVyIGl0CiAgICAvLyB3aWxsIG1hdGNoIHRoZSBsb25nZXIgcGllY2UuCiAgICBtaW5QaWVjZXMuc29ydChjbXBMZW5SZXYpOwogICAgc2hvcnRQaWVjZXMuc29ydChjbXBMZW5SZXYpOwogICAgbG9uZ1BpZWNlcy5zb3J0KGNtcExlblJldik7CiAgICBtaXhlZFBpZWNlcy5zb3J0KGNtcExlblJldik7CiAgICBmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7CiAgICAgICAgc2hvcnRQaWVjZXNbaV0gPSByZWdleEVzY2FwZShzaG9ydFBpZWNlc1tpXSk7CiAgICAgICAgbG9uZ1BpZWNlc1tpXSA9IHJlZ2V4RXNjYXBlKGxvbmdQaWVjZXNbaV0pOwogICAgICAgIG1peGVkUGllY2VzW2ldID0gcmVnZXhFc2NhcGUobWl4ZWRQaWVjZXNbaV0pOwogICAgfQoKICAgIHRoaXMuX3dlZWtkYXlzUmVnZXggPSBuZXcgUmVnRXhwKCdeKCcgKyBtaXhlZFBpZWNlcy5qb2luKCd8JykgKyAnKScsICdpJyk7CiAgICB0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXggPSB0aGlzLl93ZWVrZGF5c1JlZ2V4OwogICAgdGhpcy5fd2Vla2RheXNNaW5SZWdleCA9IHRoaXMuX3dlZWtkYXlzUmVnZXg7CgogICAgdGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoJ14oJyArIGxvbmdQaWVjZXMuam9pbignfCcpICsgJyknLCAnaScpOwogICAgdGhpcy5fd2Vla2RheXNTaG9ydFN0cmljdFJlZ2V4ID0gbmV3IFJlZ0V4cCgnXignICsgc2hvcnRQaWVjZXMuam9pbignfCcpICsgJyknLCAnaScpOwogICAgdGhpcy5fd2Vla2RheXNNaW5TdHJpY3RSZWdleCA9IG5ldyBSZWdFeHAoJ14oJyArIG1pblBpZWNlcy5qb2luKCd8JykgKyAnKScsICdpJyk7Cn0KCi8vIEZPUk1BVFRJTkcKCmZ1bmN0aW9uIGhGb3JtYXQoKSB7CiAgICByZXR1cm4gdGhpcy5ob3VycygpICUgMTIgfHwgMTI7Cn0KCmZ1bmN0aW9uIGtGb3JtYXQoKSB7CiAgICByZXR1cm4gdGhpcy5ob3VycygpIHx8IDI0Owp9CgphZGRGb3JtYXRUb2tlbignSCcsIFsnSEgnLCAyXSwgMCwgJ2hvdXInKTsKYWRkRm9ybWF0VG9rZW4oJ2gnLCBbJ2hoJywgMl0sIDAsIGhGb3JtYXQpOwphZGRGb3JtYXRUb2tlbignaycsIFsna2snLCAyXSwgMCwga0Zvcm1hdCk7CgphZGRGb3JtYXRUb2tlbignaG1tJywgMCwgMCwgZnVuY3Rpb24gKCkgewogICAgcmV0dXJuICcnICsgaEZvcm1hdC5hcHBseSh0aGlzKSArIHplcm9GaWxsKHRoaXMubWludXRlcygpLCAyKTsKfSk7CgphZGRGb3JtYXRUb2tlbignaG1tc3MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gJycgKyBoRm9ybWF0LmFwcGx5KHRoaXMpICsgemVyb0ZpbGwodGhpcy5taW51dGVzKCksIDIpICsKICAgICAgICB6ZXJvRmlsbCh0aGlzLnNlY29uZHMoKSwgMik7Cn0pOwoKYWRkRm9ybWF0VG9rZW4oJ0htbScsIDAsIDAsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiAnJyArIHRoaXMuaG91cnMoKSArIHplcm9GaWxsKHRoaXMubWludXRlcygpLCAyKTsKfSk7CgphZGRGb3JtYXRUb2tlbignSG1tc3MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gJycgKyB0aGlzLmhvdXJzKCkgKyB6ZXJvRmlsbCh0aGlzLm1pbnV0ZXMoKSwgMikgKwogICAgICAgIHplcm9GaWxsKHRoaXMuc2Vjb25kcygpLCAyKTsKfSk7CgpmdW5jdGlvbiBtZXJpZGllbSAodG9rZW4sIGxvd2VyY2FzZSkgewogICAgYWRkRm9ybWF0VG9rZW4odG9rZW4sIDAsIDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubWVyaWRpZW0odGhpcy5ob3VycygpLCB0aGlzLm1pbnV0ZXMoKSwgbG93ZXJjYXNlKTsKICAgIH0pOwp9CgptZXJpZGllbSgnYScsIHRydWUpOwptZXJpZGllbSgnQScsIGZhbHNlKTsKCi8vIEFMSUFTRVMKCmFkZFVuaXRBbGlhcygnaG91cicsICdoJyk7CgovLyBQUklPUklUWQphZGRVbml0UHJpb3JpdHkoJ2hvdXInLCAxMyk7CgovLyBQQVJTSU5HCgpmdW5jdGlvbiBtYXRjaE1lcmlkaWVtIChpc1N0cmljdCwgbG9jYWxlKSB7CiAgICByZXR1cm4gbG9jYWxlLl9tZXJpZGllbVBhcnNlOwp9CgphZGRSZWdleFRva2VuKCdhJywgIG1hdGNoTWVyaWRpZW0pOwphZGRSZWdleFRva2VuKCdBJywgIG1hdGNoTWVyaWRpZW0pOwphZGRSZWdleFRva2VuKCdIJywgIG1hdGNoMXRvMik7CmFkZFJlZ2V4VG9rZW4oJ2gnLCAgbWF0Y2gxdG8yKTsKYWRkUmVnZXhUb2tlbignaycsICBtYXRjaDF0bzIpOwphZGRSZWdleFRva2VuKCdISCcsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKYWRkUmVnZXhUb2tlbignaGgnLCBtYXRjaDF0bzIsIG1hdGNoMik7CmFkZFJlZ2V4VG9rZW4oJ2trJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwoKYWRkUmVnZXhUb2tlbignaG1tJywgbWF0Y2gzdG80KTsKYWRkUmVnZXhUb2tlbignaG1tc3MnLCBtYXRjaDV0bzYpOwphZGRSZWdleFRva2VuKCdIbW0nLCBtYXRjaDN0bzQpOwphZGRSZWdleFRva2VuKCdIbW1zcycsIG1hdGNoNXRvNik7CgphZGRQYXJzZVRva2VuKFsnSCcsICdISCddLCBIT1VSKTsKYWRkUGFyc2VUb2tlbihbJ2snLCAna2snXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICB2YXIga0lucHV0ID0gdG9JbnQoaW5wdXQpOwogICAgYXJyYXlbSE9VUl0gPSBrSW5wdXQgPT09IDI0ID8gMCA6IGtJbnB1dDsKfSk7CmFkZFBhcnNlVG9rZW4oWydhJywgJ0EnXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICBjb25maWcuX2lzUG0gPSBjb25maWcuX2xvY2FsZS5pc1BNKGlucHV0KTsKICAgIGNvbmZpZy5fbWVyaWRpZW0gPSBpbnB1dDsKfSk7CmFkZFBhcnNlVG9rZW4oWydoJywgJ2hoJ10sIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dCk7CiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTsKfSk7CmFkZFBhcnNlVG9rZW4oJ2htbScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgdmFyIHBvcyA9IGlucHV0Lmxlbmd0aCAtIDI7CiAgICBhcnJheVtIT1VSXSA9IHRvSW50KGlucHV0LnN1YnN0cigwLCBwb3MpKTsKICAgIGFycmF5W01JTlVURV0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zKSk7CiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5iaWdIb3VyID0gdHJ1ZTsKfSk7CmFkZFBhcnNlVG9rZW4oJ2htbXNzJywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICB2YXIgcG9zMSA9IGlucHV0Lmxlbmd0aCAtIDQ7CiAgICB2YXIgcG9zMiA9IGlucHV0Lmxlbmd0aCAtIDI7CiAgICBhcnJheVtIT1VSXSA9IHRvSW50KGlucHV0LnN1YnN0cigwLCBwb3MxKSk7CiAgICBhcnJheVtNSU5VVEVdID0gdG9JbnQoaW5wdXQuc3Vic3RyKHBvczEsIDIpKTsKICAgIGFycmF5W1NFQ09ORF0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zMikpOwogICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuYmlnSG91ciA9IHRydWU7Cn0pOwphZGRQYXJzZVRva2VuKCdIbW0nLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHsKICAgIHZhciBwb3MgPSBpbnB1dC5sZW5ndGggLSAyOwogICAgYXJyYXlbSE9VUl0gPSB0b0ludChpbnB1dC5zdWJzdHIoMCwgcG9zKSk7CiAgICBhcnJheVtNSU5VVEVdID0gdG9JbnQoaW5wdXQuc3Vic3RyKHBvcykpOwp9KTsKYWRkUGFyc2VUb2tlbignSG1tc3MnLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHsKICAgIHZhciBwb3MxID0gaW5wdXQubGVuZ3RoIC0gNDsKICAgIHZhciBwb3MyID0gaW5wdXQubGVuZ3RoIC0gMjsKICAgIGFycmF5W0hPVVJdID0gdG9JbnQoaW5wdXQuc3Vic3RyKDAsIHBvczEpKTsKICAgIGFycmF5W01JTlVURV0gPSB0b0ludChpbnB1dC5zdWJzdHIocG9zMSwgMikpOwogICAgYXJyYXlbU0VDT05EXSA9IHRvSW50KGlucHV0LnN1YnN0cihwb3MyKSk7Cn0pOwoKLy8gTE9DQUxFUwoKZnVuY3Rpb24gbG9jYWxlSXNQTSAoaW5wdXQpIHsKICAgIC8vIElFOCBRdWlya3MgTW9kZSAmIElFNyBTdGFuZGFyZHMgTW9kZSBkbyBub3QgYWxsb3cgYWNjZXNzaW5nIHN0cmluZ3MgbGlrZSBhcnJheXMKICAgIC8vIFVzaW5nIGNoYXJBdCBzaG91bGQgYmUgbW9yZSBjb21wYXRpYmxlLgogICAgcmV0dXJuICgoaW5wdXQgKyAnJykudG9Mb3dlckNhc2UoKS5jaGFyQXQoMCkgPT09ICdwJyk7Cn0KCnZhciBkZWZhdWx0TG9jYWxlTWVyaWRpZW1QYXJzZSA9IC9bYXBdXC4/bT9cLj8vaTsKZnVuY3Rpb24gbG9jYWxlTWVyaWRpZW0gKGhvdXJzLCBtaW51dGVzLCBpc0xvd2VyKSB7CiAgICBpZiAoaG91cnMgPiAxMSkgewogICAgICAgIHJldHVybiBpc0xvd2VyID8gJ3BtJyA6ICdQTSc7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBpc0xvd2VyID8gJ2FtJyA6ICdBTSc7CiAgICB9Cn0KCgovLyBNT01FTlRTCgovLyBTZXR0aW5nIHRoZSBob3VyIHNob3VsZCBrZWVwIHRoZSB0aW1lLCBiZWNhdXNlIHRoZSB1c2VyIGV4cGxpY2l0bHkKLy8gc3BlY2lmaWVkIHdoaWNoIGhvdXIgaGUgd2FudHMuIFNvIHRyeWluZyB0byBtYWludGFpbiB0aGUgc2FtZSBob3VyIChpbgovLyBhIG5ldyB0aW1lem9uZSkgbWFrZXMgc2Vuc2UuIEFkZGluZy9zdWJ0cmFjdGluZyBob3VycyBkb2VzIG5vdCBmb2xsb3cKLy8gdGhpcyBydWxlLgp2YXIgZ2V0U2V0SG91ciA9IG1ha2VHZXRTZXQoJ0hvdXJzJywgdHJ1ZSk7CgovLyBtb250aHMKLy8gd2VlawovLyB3ZWVrZGF5cwovLyBtZXJpZGllbQp2YXIgYmFzZUNvbmZpZyA9IHsKICAgIGNhbGVuZGFyOiBkZWZhdWx0Q2FsZW5kYXIsCiAgICBsb25nRGF0ZUZvcm1hdDogZGVmYXVsdExvbmdEYXRlRm9ybWF0LAogICAgaW52YWxpZERhdGU6IGRlZmF1bHRJbnZhbGlkRGF0ZSwKICAgIG9yZGluYWw6IGRlZmF1bHRPcmRpbmFsLAogICAgZGF5T2ZNb250aE9yZGluYWxQYXJzZTogZGVmYXVsdERheU9mTW9udGhPcmRpbmFsUGFyc2UsCiAgICByZWxhdGl2ZVRpbWU6IGRlZmF1bHRSZWxhdGl2ZVRpbWUsCgogICAgbW9udGhzOiBkZWZhdWx0TG9jYWxlTW9udGhzLAogICAgbW9udGhzU2hvcnQ6IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCwKCiAgICB3ZWVrOiBkZWZhdWx0TG9jYWxlV2VlaywKCiAgICB3ZWVrZGF5czogZGVmYXVsdExvY2FsZVdlZWtkYXlzLAogICAgd2Vla2RheXNNaW46IGRlZmF1bHRMb2NhbGVXZWVrZGF5c01pbiwKICAgIHdlZWtkYXlzU2hvcnQ6IGRlZmF1bHRMb2NhbGVXZWVrZGF5c1Nob3J0LAoKICAgIG1lcmlkaWVtUGFyc2U6IGRlZmF1bHRMb2NhbGVNZXJpZGllbVBhcnNlCn07CgovLyBpbnRlcm5hbCBzdG9yYWdlIGZvciBsb2NhbGUgY29uZmlnIGZpbGVzCnZhciBsb2NhbGVzID0ge307CnZhciBsb2NhbGVGYW1pbGllcyA9IHt9Owp2YXIgZ2xvYmFsTG9jYWxlOwoKZnVuY3Rpb24gbm9ybWFsaXplTG9jYWxlKGtleSkgewogICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJ18nLCAnLScpIDoga2V5Owp9CgovLyBwaWNrIHRoZSBsb2NhbGUgZnJvbSB0aGUgYXJyYXkKLy8gdHJ5IFsnZW4tYXUnLCAnZW4tZ2InXSBhcyAnZW4tYXUnLCAnZW4tZ2InLCAnZW4nLCBhcyBpbiBtb3ZlIHRocm91Z2ggdGhlIGxpc3QgdHJ5aW5nIGVhY2gKLy8gc3Vic3RyaW5nIGZyb20gbW9zdCBzcGVjaWZpYyB0byBsZWFzdCwgYnV0IG1vdmUgdG8gdGhlIG5leHQgYXJyYXkgaXRlbSBpZiBpdCdzIGEgbW9yZSBzcGVjaWZpYyB2YXJpYW50IHRoYW4gdGhlIGN1cnJlbnQgcm9vdApmdW5jdGlvbiBjaG9vc2VMb2NhbGUobmFtZXMpIHsKICAgIHZhciBpID0gMCwgaiwgbmV4dCwgbG9jYWxlLCBzcGxpdDsKCiAgICB3aGlsZSAoaSA8IG5hbWVzLmxlbmd0aCkgewogICAgICAgIHNwbGl0ID0gbm9ybWFsaXplTG9jYWxlKG5hbWVzW2ldKS5zcGxpdCgnLScpOwogICAgICAgIGogPSBzcGxpdC5sZW5ndGg7CiAgICAgICAgbmV4dCA9IG5vcm1hbGl6ZUxvY2FsZShuYW1lc1tpICsgMV0pOwogICAgICAgIG5leHQgPSBuZXh0ID8gbmV4dC5zcGxpdCgnLScpIDogbnVsbDsKICAgICAgICB3aGlsZSAoaiA+IDApIHsKICAgICAgICAgICAgbG9jYWxlID0gbG9hZExvY2FsZShzcGxpdC5zbGljZSgwLCBqKS5qb2luKCctJykpOwogICAgICAgICAgICBpZiAobG9jYWxlKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChuZXh0ICYmIG5leHQubGVuZ3RoID49IGogJiYgY29tcGFyZUFycmF5cyhzcGxpdCwgbmV4dCwgdHJ1ZSkgPj0gaiAtIDEpIHsKICAgICAgICAgICAgICAgIC8vdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmUKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGotLTsKICAgICAgICB9CiAgICAgICAgaSsrOwogICAgfQogICAgcmV0dXJuIG51bGw7Cn0KCmZ1bmN0aW9uIGxvYWRMb2NhbGUobmFtZSkgewogICAgdmFyIG9sZExvY2FsZSA9IG51bGw7CiAgICAvLyBUT0RPOiBGaW5kIGEgYmV0dGVyIHdheSB0byByZWdpc3RlciBhbmQgbG9hZCBhbGwgdGhlIGxvY2FsZXMgaW4gTm9kZQogICAgaWYgKCFsb2NhbGVzW25hbWVdICYmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykgJiYKICAgICAgICAgICAgbW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgb2xkTG9jYWxlID0gZ2xvYmFsTG9jYWxlLl9hYmJyOwogICAgICAgICAgICB2YXIgYWxpYXNlZFJlcXVpcmUgPSByZXF1aXJlOwogICAgICAgICAgICBhbGlhc2VkUmVxdWlyZSgnLi9sb2NhbGUvJyArIG5hbWUpOwogICAgICAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUob2xkTG9jYWxlKTsKICAgICAgICB9IGNhdGNoIChlKSB7fQogICAgfQogICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07Cn0KCi8vIFRoaXMgZnVuY3Rpb24gd2lsbCBsb2FkIGxvY2FsZSBhbmQgdGhlbiBzZXQgdGhlIGdsb2JhbCBsb2NhbGUuICBJZgovLyBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCBpbiwgaXQgd2lsbCBzaW1wbHkgcmV0dXJuIHRoZSBjdXJyZW50IGdsb2JhbAovLyBsb2NhbGUga2V5LgpmdW5jdGlvbiBnZXRTZXRHbG9iYWxMb2NhbGUgKGtleSwgdmFsdWVzKSB7CiAgICB2YXIgZGF0YTsKICAgIGlmIChrZXkpIHsKICAgICAgICBpZiAoaXNVbmRlZmluZWQodmFsdWVzKSkgewogICAgICAgICAgICBkYXRhID0gZ2V0TG9jYWxlKGtleSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTsKICAgICAgICB9CgogICAgICAgIGlmIChkYXRhKSB7CiAgICAgICAgICAgIC8vIG1vbWVudC5kdXJhdGlvbi5fbG9jYWxlID0gbW9tZW50Ll9sb2NhbGUgPSBkYXRhOwogICAgICAgICAgICBnbG9iYWxMb2NhbGUgPSBkYXRhOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZ2xvYmFsTG9jYWxlLl9hYmJyOwp9CgpmdW5jdGlvbiBkZWZpbmVMb2NhbGUgKG5hbWUsIGNvbmZpZykgewogICAgaWYgKGNvbmZpZyAhPT0gbnVsbCkgewogICAgICAgIHZhciBwYXJlbnRDb25maWcgPSBiYXNlQ29uZmlnOwogICAgICAgIGNvbmZpZy5hYmJyID0gbmFtZTsKICAgICAgICBpZiAobG9jYWxlc1tuYW1lXSAhPSBudWxsKSB7CiAgICAgICAgICAgIGRlcHJlY2F0ZVNpbXBsZSgnZGVmaW5lTG9jYWxlT3ZlcnJpZGUnLAogICAgICAgICAgICAgICAgICAgICd1c2UgbW9tZW50LnVwZGF0ZUxvY2FsZShsb2NhbGVOYW1lLCBjb25maWcpIHRvIGNoYW5nZSAnICsKICAgICAgICAgICAgICAgICAgICAnYW4gZXhpc3RpbmcgbG9jYWxlLiBtb21lbnQuZGVmaW5lTG9jYWxlKGxvY2FsZU5hbWUsICcgKwogICAgICAgICAgICAgICAgICAgICdjb25maWcpIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZSAnICsKICAgICAgICAgICAgICAgICAgICAnU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvZGVmaW5lLWxvY2FsZS8gZm9yIG1vcmUgaW5mby4nKTsKICAgICAgICAgICAgcGFyZW50Q29uZmlnID0gbG9jYWxlc1tuYW1lXS5fY29uZmlnOwogICAgICAgIH0gZWxzZSBpZiAoY29uZmlnLnBhcmVudExvY2FsZSAhPSBudWxsKSB7CiAgICAgICAgICAgIGlmIChsb2NhbGVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIHBhcmVudENvbmZpZyA9IGxvY2FsZXNbY29uZmlnLnBhcmVudExvY2FsZV0uX2NvbmZpZzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICghbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0pIHsKICAgICAgICAgICAgICAgICAgICBsb2NhbGVGYW1pbGllc1tjb25maWcucGFyZW50TG9jYWxlXSA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0ucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSwKICAgICAgICAgICAgICAgICAgICBjb25maWc6IGNvbmZpZwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBsb2NhbGVzW25hbWVdID0gbmV3IExvY2FsZShtZXJnZUNvbmZpZ3MocGFyZW50Q29uZmlnLCBjb25maWcpKTsKCiAgICAgICAgaWYgKGxvY2FsZUZhbWlsaWVzW25hbWVdKSB7CiAgICAgICAgICAgIGxvY2FsZUZhbWlsaWVzW25hbWVdLmZvckVhY2goZnVuY3Rpb24gKHgpIHsKICAgICAgICAgICAgICAgIGRlZmluZUxvY2FsZSh4Lm5hbWUsIHguY29uZmlnKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAvLyBiYWNrd2FyZHMgY29tcGF0IGZvciBub3c6IGFsc28gc2V0IHRoZSBsb2NhbGUKICAgICAgICAvLyBtYWtlIHN1cmUgd2Ugc2V0IHRoZSBsb2NhbGUgQUZURVIgYWxsIGNoaWxkIGxvY2FsZXMgaGF2ZSBiZWVuCiAgICAgICAgLy8gY3JlYXRlZCwgc28gd2Ugd29uJ3QgZW5kIHVwIHdpdGggdGhlIGNoaWxkIGxvY2FsZSBzZXQuCiAgICAgICAgZ2V0U2V0R2xvYmFsTG9jYWxlKG5hbWUpOwoKCiAgICAgICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07CiAgICB9IGVsc2UgewogICAgICAgIC8vIHVzZWZ1bCBmb3IgdGVzdGluZwogICAgICAgIGRlbGV0ZSBsb2NhbGVzW25hbWVdOwogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9CgpmdW5jdGlvbiB1cGRhdGVMb2NhbGUobmFtZSwgY29uZmlnKSB7CiAgICBpZiAoY29uZmlnICE9IG51bGwpIHsKICAgICAgICB2YXIgbG9jYWxlLCB0bXBMb2NhbGUsIHBhcmVudENvbmZpZyA9IGJhc2VDb25maWc7CiAgICAgICAgLy8gTUVSR0UKICAgICAgICB0bXBMb2NhbGUgPSBsb2FkTG9jYWxlKG5hbWUpOwogICAgICAgIGlmICh0bXBMb2NhbGUgIT0gbnVsbCkgewogICAgICAgICAgICBwYXJlbnRDb25maWcgPSB0bXBMb2NhbGUuX2NvbmZpZzsKICAgICAgICB9CiAgICAgICAgY29uZmlnID0gbWVyZ2VDb25maWdzKHBhcmVudENvbmZpZywgY29uZmlnKTsKICAgICAgICBsb2NhbGUgPSBuZXcgTG9jYWxlKGNvbmZpZyk7CiAgICAgICAgbG9jYWxlLnBhcmVudExvY2FsZSA9IGxvY2FsZXNbbmFtZV07CiAgICAgICAgbG9jYWxlc1tuYW1lXSA9IGxvY2FsZTsKCiAgICAgICAgLy8gYmFja3dhcmRzIGNvbXBhdCBmb3Igbm93OiBhbHNvIHNldCB0aGUgbG9jYWxlCiAgICAgICAgZ2V0U2V0R2xvYmFsTG9jYWxlKG5hbWUpOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBwYXNzIG51bGwgZm9yIGNvbmZpZyB0byB1bnVwZGF0ZSwgdXNlZnVsIGZvciB0ZXN0cwogICAgICAgIGlmIChsb2NhbGVzW25hbWVdICE9IG51bGwpIHsKICAgICAgICAgICAgaWYgKGxvY2FsZXNbbmFtZV0ucGFyZW50TG9jYWxlICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGxvY2FsZXNbbmFtZV0gPSBsb2NhbGVzW25hbWVdLnBhcmVudExvY2FsZTsKICAgICAgICAgICAgfSBlbHNlIGlmIChsb2NhbGVzW25hbWVdICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIGRlbGV0ZSBsb2NhbGVzW25hbWVdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGxvY2FsZXNbbmFtZV07Cn0KCi8vIHJldHVybnMgbG9jYWxlIGRhdGEKZnVuY3Rpb24gZ2V0TG9jYWxlIChrZXkpIHsKICAgIHZhciBsb2NhbGU7CgogICAgaWYgKGtleSAmJiBrZXkuX2xvY2FsZSAmJiBrZXkuX2xvY2FsZS5fYWJicikgewogICAgICAgIGtleSA9IGtleS5fbG9jYWxlLl9hYmJyOwogICAgfQoKICAgIGlmICgha2V5KSB7CiAgICAgICAgcmV0dXJuIGdsb2JhbExvY2FsZTsKICAgIH0KCiAgICBpZiAoIWlzQXJyYXkoa2V5KSkgewogICAgICAgIC8vc2hvcnQtY2lyY3VpdCBldmVyeXRoaW5nIGVsc2UKICAgICAgICBsb2NhbGUgPSBsb2FkTG9jYWxlKGtleSk7CiAgICAgICAgaWYgKGxvY2FsZSkgewogICAgICAgICAgICByZXR1cm4gbG9jYWxlOwogICAgICAgIH0KICAgICAgICBrZXkgPSBba2V5XTsKICAgIH0KCiAgICByZXR1cm4gY2hvb3NlTG9jYWxlKGtleSk7Cn0KCmZ1bmN0aW9uIGxpc3RMb2NhbGVzKCkgewogICAgcmV0dXJuIGtleXMobG9jYWxlcyk7Cn0KCmZ1bmN0aW9uIGNoZWNrT3ZlcmZsb3cgKG0pIHsKICAgIHZhciBvdmVyZmxvdzsKICAgIHZhciBhID0gbS5fYTsKCiAgICBpZiAoYSAmJiBnZXRQYXJzaW5nRmxhZ3MobSkub3ZlcmZsb3cgPT09IC0yKSB7CiAgICAgICAgb3ZlcmZsb3cgPQogICAgICAgICAgICBhW01PTlRIXSAgICAgICA8IDAgfHwgYVtNT05USF0gICAgICAgPiAxMSAgPyBNT05USCA6CiAgICAgICAgICAgIGFbREFURV0gICAgICAgIDwgMSB8fCBhW0RBVEVdICAgICAgICA+IGRheXNJbk1vbnRoKGFbWUVBUl0sIGFbTU9OVEhdKSA/IERBVEUgOgogICAgICAgICAgICBhW0hPVVJdICAgICAgICA8IDAgfHwgYVtIT1VSXSAgICAgICAgPiAyNCB8fCAoYVtIT1VSXSA9PT0gMjQgJiYgKGFbTUlOVVRFXSAhPT0gMCB8fCBhW1NFQ09ORF0gIT09IDAgfHwgYVtNSUxMSVNFQ09ORF0gIT09IDApKSA/IEhPVVIgOgogICAgICAgICAgICBhW01JTlVURV0gICAgICA8IDAgfHwgYVtNSU5VVEVdICAgICAgPiA1OSAgPyBNSU5VVEUgOgogICAgICAgICAgICBhW1NFQ09ORF0gICAgICA8IDAgfHwgYVtTRUNPTkRdICAgICAgPiA1OSAgPyBTRUNPTkQgOgogICAgICAgICAgICBhW01JTExJU0VDT05EXSA8IDAgfHwgYVtNSUxMSVNFQ09ORF0gPiA5OTkgPyBNSUxMSVNFQ09ORCA6CiAgICAgICAgICAgIC0xOwoKICAgICAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKG0pLl9vdmVyZmxvd0RheU9mWWVhciAmJiAob3ZlcmZsb3cgPCBZRUFSIHx8IG92ZXJmbG93ID4gREFURSkpIHsKICAgICAgICAgICAgb3ZlcmZsb3cgPSBEQVRFOwogICAgICAgIH0KICAgICAgICBpZiAoZ2V0UGFyc2luZ0ZsYWdzKG0pLl9vdmVyZmxvd1dlZWtzICYmIG92ZXJmbG93ID09PSAtMSkgewogICAgICAgICAgICBvdmVyZmxvdyA9IFdFRUs7CiAgICAgICAgfQogICAgICAgIGlmIChnZXRQYXJzaW5nRmxhZ3MobSkuX292ZXJmbG93V2Vla2RheSAmJiBvdmVyZmxvdyA9PT0gLTEpIHsKICAgICAgICAgICAgb3ZlcmZsb3cgPSBXRUVLREFZOwogICAgICAgIH0KCiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKG0pLm92ZXJmbG93ID0gb3ZlcmZsb3c7CiAgICB9CgogICAgcmV0dXJuIG07Cn0KCi8vIFBpY2sgdGhlIGZpcnN0IGRlZmluZWQgb2YgdHdvIG9yIHRocmVlIGFyZ3VtZW50cy4KZnVuY3Rpb24gZGVmYXVsdHMoYSwgYiwgYykgewogICAgaWYgKGEgIT0gbnVsbCkgewogICAgICAgIHJldHVybiBhOwogICAgfQogICAgaWYgKGIgIT0gbnVsbCkgewogICAgICAgIHJldHVybiBiOwogICAgfQogICAgcmV0dXJuIGM7Cn0KCmZ1bmN0aW9uIGN1cnJlbnREYXRlQXJyYXkoY29uZmlnKSB7CiAgICAvLyBob29rcyBpcyBhY3R1YWxseSB0aGUgZXhwb3J0ZWQgbW9tZW50IG9iamVjdAogICAgdmFyIG5vd1ZhbHVlID0gbmV3IERhdGUoaG9va3Mubm93KCkpOwogICAgaWYgKGNvbmZpZy5fdXNlVVRDKSB7CiAgICAgICAgcmV0dXJuIFtub3dWYWx1ZS5nZXRVVENGdWxsWWVhcigpLCBub3dWYWx1ZS5nZXRVVENNb250aCgpLCBub3dWYWx1ZS5nZXRVVENEYXRlKCldOwogICAgfQogICAgcmV0dXJuIFtub3dWYWx1ZS5nZXRGdWxsWWVhcigpLCBub3dWYWx1ZS5nZXRNb250aCgpLCBub3dWYWx1ZS5nZXREYXRlKCldOwp9CgovLyBjb252ZXJ0IGFuIGFycmF5IHRvIGEgZGF0ZS4KLy8gdGhlIGFycmF5IHNob3VsZCBtaXJyb3IgdGhlIHBhcmFtZXRlcnMgYmVsb3cKLy8gbm90ZTogYWxsIHZhbHVlcyBwYXN0IHRoZSB5ZWFyIGFyZSBvcHRpb25hbCBhbmQgd2lsbCBkZWZhdWx0IHRvIHRoZSBsb3dlc3QgcG9zc2libGUgdmFsdWUuCi8vIFt5ZWFyLCBtb250aCwgZGF5ICwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXQpmdW5jdGlvbiBjb25maWdGcm9tQXJyYXkgKGNvbmZpZykgewogICAgdmFyIGksIGRhdGUsIGlucHV0ID0gW10sIGN1cnJlbnREYXRlLCBleHBlY3RlZFdlZWtkYXksIHllYXJUb1VzZTsKCiAgICBpZiAoY29uZmlnLl9kKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGVBcnJheShjb25maWcpOwoKICAgIC8vY29tcHV0ZSBkYXkgb2YgdGhlIHllYXIgZnJvbSB3ZWVrcyBhbmQgd2Vla2RheXMKICAgIGlmIChjb25maWcuX3cgJiYgY29uZmlnLl9hW0RBVEVdID09IG51bGwgJiYgY29uZmlnLl9hW01PTlRIXSA9PSBudWxsKSB7CiAgICAgICAgZGF5T2ZZZWFyRnJvbVdlZWtJbmZvKGNvbmZpZyk7CiAgICB9CgogICAgLy9pZiB0aGUgZGF5IG9mIHRoZSB5ZWFyIGlzIHNldCwgZmlndXJlIG91dCB3aGF0IGl0IGlzCiAgICBpZiAoY29uZmlnLl9kYXlPZlllYXIgIT0gbnVsbCkgewogICAgICAgIHllYXJUb1VzZSA9IGRlZmF1bHRzKGNvbmZpZy5fYVtZRUFSXSwgY3VycmVudERhdGVbWUVBUl0pOwoKICAgICAgICBpZiAoY29uZmlnLl9kYXlPZlllYXIgPiBkYXlzSW5ZZWFyKHllYXJUb1VzZSkgfHwgY29uZmlnLl9kYXlPZlllYXIgPT09IDApIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuX292ZXJmbG93RGF5T2ZZZWFyID0gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIGRhdGUgPSBjcmVhdGVVVENEYXRlKHllYXJUb1VzZSwgMCwgY29uZmlnLl9kYXlPZlllYXIpOwogICAgICAgIGNvbmZpZy5fYVtNT05USF0gPSBkYXRlLmdldFVUQ01vbnRoKCk7CiAgICAgICAgY29uZmlnLl9hW0RBVEVdID0gZGF0ZS5nZXRVVENEYXRlKCk7CiAgICB9CgogICAgLy8gRGVmYXVsdCB0byBjdXJyZW50IGRhdGUuCiAgICAvLyAqIGlmIG5vIHllYXIsIG1vbnRoLCBkYXkgb2YgbW9udGggYXJlIGdpdmVuLCBkZWZhdWx0IHRvIHRvZGF5CiAgICAvLyAqIGlmIGRheSBvZiBtb250aCBpcyBnaXZlbiwgZGVmYXVsdCBtb250aCBhbmQgeWVhcgogICAgLy8gKiBpZiBtb250aCBpcyBnaXZlbiwgZGVmYXVsdCBvbmx5IHllYXIKICAgIC8vICogaWYgeWVhciBpcyBnaXZlbiwgZG9uJ3QgZGVmYXVsdCBhbnl0aGluZwogICAgZm9yIChpID0gMDsgaSA8IDMgJiYgY29uZmlnLl9hW2ldID09IG51bGw7ICsraSkgewogICAgICAgIGNvbmZpZy5fYVtpXSA9IGlucHV0W2ldID0gY3VycmVudERhdGVbaV07CiAgICB9CgogICAgLy8gWmVybyBvdXQgd2hhdGV2ZXIgd2FzIG5vdCBkZWZhdWx0ZWQsIGluY2x1ZGluZyB0aW1lCiAgICBmb3IgKDsgaSA8IDc7IGkrKykgewogICAgICAgIGNvbmZpZy5fYVtpXSA9IGlucHV0W2ldID0gKGNvbmZpZy5fYVtpXSA9PSBudWxsKSA/IChpID09PSAyID8gMSA6IDApIDogY29uZmlnLl9hW2ldOwogICAgfQoKICAgIC8vIENoZWNrIGZvciAyNDowMDowMC4wMDAKICAgIGlmIChjb25maWcuX2FbSE9VUl0gPT09IDI0ICYmCiAgICAgICAgICAgIGNvbmZpZy5fYVtNSU5VVEVdID09PSAwICYmCiAgICAgICAgICAgIGNvbmZpZy5fYVtTRUNPTkRdID09PSAwICYmCiAgICAgICAgICAgIGNvbmZpZy5fYVtNSUxMSVNFQ09ORF0gPT09IDApIHsKICAgICAgICBjb25maWcuX25leHREYXkgPSB0cnVlOwogICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDA7CiAgICB9CgogICAgY29uZmlnLl9kID0gKGNvbmZpZy5fdXNlVVRDID8gY3JlYXRlVVRDRGF0ZSA6IGNyZWF0ZURhdGUpLmFwcGx5KG51bGwsIGlucHV0KTsKICAgIGV4cGVjdGVkV2Vla2RheSA9IGNvbmZpZy5fdXNlVVRDID8gY29uZmlnLl9kLmdldFVUQ0RheSgpIDogY29uZmlnLl9kLmdldERheSgpOwoKICAgIC8vIEFwcGx5IHRpbWV6b25lIG9mZnNldCBmcm9tIGlucHV0LiBUaGUgYWN0dWFsIHV0Y09mZnNldCBjYW4gYmUgY2hhbmdlZAogICAgLy8gd2l0aCBwYXJzZVpvbmUuCiAgICBpZiAoY29uZmlnLl90em0gIT0gbnVsbCkgewogICAgICAgIGNvbmZpZy5fZC5zZXRVVENNaW51dGVzKGNvbmZpZy5fZC5nZXRVVENNaW51dGVzKCkgLSBjb25maWcuX3R6bSk7CiAgICB9CgogICAgaWYgKGNvbmZpZy5fbmV4dERheSkgewogICAgICAgIGNvbmZpZy5fYVtIT1VSXSA9IDI0OwogICAgfQoKICAgIC8vIGNoZWNrIGZvciBtaXNtYXRjaGluZyBkYXkgb2Ygd2VlawogICAgaWYgKGNvbmZpZy5fdyAmJiB0eXBlb2YgY29uZmlnLl93LmQgIT09ICd1bmRlZmluZWQnICYmIGNvbmZpZy5fdy5kICE9PSBleHBlY3RlZFdlZWtkYXkpIHsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS53ZWVrZGF5TWlzbWF0Y2ggPSB0cnVlOwogICAgfQp9CgpmdW5jdGlvbiBkYXlPZlllYXJGcm9tV2Vla0luZm8oY29uZmlnKSB7CiAgICB2YXIgdywgd2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95LCB0ZW1wLCB3ZWVrZGF5T3ZlcmZsb3c7CgogICAgdyA9IGNvbmZpZy5fdzsKICAgIGlmICh3LkdHICE9IG51bGwgfHwgdy5XICE9IG51bGwgfHwgdy5FICE9IG51bGwpIHsKICAgICAgICBkb3cgPSAxOwogICAgICAgIGRveSA9IDQ7CgogICAgICAgIC8vIFRPRE86IFdlIG5lZWQgdG8gdGFrZSB0aGUgY3VycmVudCBpc29XZWVrWWVhciwgYnV0IHRoYXQgZGVwZW5kcyBvbgogICAgICAgIC8vIGhvdyB3ZSBpbnRlcnByZXQgbm93IChsb2NhbCwgdXRjLCBmaXhlZCBvZmZzZXQpLiBTbyBjcmVhdGUKICAgICAgICAvLyBhIG5vdyB2ZXJzaW9uIG9mIGN1cnJlbnQgY29uZmlnICh0YWtlIGxvY2FsL3V0Yy9vZmZzZXQgZmxhZ3MsIGFuZAogICAgICAgIC8vIGNyZWF0ZSBub3cpLgogICAgICAgIHdlZWtZZWFyID0gZGVmYXVsdHMody5HRywgY29uZmlnLl9hW1lFQVJdLCB3ZWVrT2ZZZWFyKGNyZWF0ZUxvY2FsKCksIDEsIDQpLnllYXIpOwogICAgICAgIHdlZWsgPSBkZWZhdWx0cyh3LlcsIDEpOwogICAgICAgIHdlZWtkYXkgPSBkZWZhdWx0cyh3LkUsIDEpOwogICAgICAgIGlmICh3ZWVrZGF5IDwgMSB8fCB3ZWVrZGF5ID4gNykgewogICAgICAgICAgICB3ZWVrZGF5T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgZG93ID0gY29uZmlnLl9sb2NhbGUuX3dlZWsuZG93OwogICAgICAgIGRveSA9IGNvbmZpZy5fbG9jYWxlLl93ZWVrLmRveTsKCiAgICAgICAgdmFyIGN1cldlZWsgPSB3ZWVrT2ZZZWFyKGNyZWF0ZUxvY2FsKCksIGRvdywgZG95KTsKCiAgICAgICAgd2Vla1llYXIgPSBkZWZhdWx0cyh3LmdnLCBjb25maWcuX2FbWUVBUl0sIGN1cldlZWsueWVhcik7CgogICAgICAgIC8vIERlZmF1bHQgdG8gY3VycmVudCB3ZWVrLgogICAgICAgIHdlZWsgPSBkZWZhdWx0cyh3LncsIGN1cldlZWsud2Vlayk7CgogICAgICAgIGlmICh3LmQgIT0gbnVsbCkgewogICAgICAgICAgICAvLyB3ZWVrZGF5IC0tIGxvdyBkYXkgbnVtYmVycyBhcmUgY29uc2lkZXJlZCBuZXh0IHdlZWsKICAgICAgICAgICAgd2Vla2RheSA9IHcuZDsKICAgICAgICAgICAgaWYgKHdlZWtkYXkgPCAwIHx8IHdlZWtkYXkgPiA2KSB7CiAgICAgICAgICAgICAgICB3ZWVrZGF5T3ZlcmZsb3cgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmICh3LmUgIT0gbnVsbCkgewogICAgICAgICAgICAvLyBsb2NhbCB3ZWVrZGF5IC0tIGNvdW50aW5nIHN0YXJ0cyBmcm9tIGJlZ2luaW5nIG9mIHdlZWsKICAgICAgICAgICAgd2Vla2RheSA9IHcuZSArIGRvdzsKICAgICAgICAgICAgaWYgKHcuZSA8IDAgfHwgdy5lID4gNikgewogICAgICAgICAgICAgICAgd2Vla2RheU92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIGRlZmF1bHQgdG8gYmVnaW5pbmcgb2Ygd2VlawogICAgICAgICAgICB3ZWVrZGF5ID0gZG93OwogICAgICAgIH0KICAgIH0KICAgIGlmICh3ZWVrIDwgMSB8fCB3ZWVrID4gd2Vla3NJblllYXIod2Vla1llYXIsIGRvdywgZG95KSkgewogICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLl9vdmVyZmxvd1dlZWtzID0gdHJ1ZTsKICAgIH0gZWxzZSBpZiAod2Vla2RheU92ZXJmbG93ICE9IG51bGwpIHsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5fb3ZlcmZsb3dXZWVrZGF5ID0gdHJ1ZTsKICAgIH0gZWxzZSB7CiAgICAgICAgdGVtcCA9IGRheU9mWWVhckZyb21XZWVrcyh3ZWVrWWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpOwogICAgICAgIGNvbmZpZy5fYVtZRUFSXSA9IHRlbXAueWVhcjsKICAgICAgICBjb25maWcuX2RheU9mWWVhciA9IHRlbXAuZGF5T2ZZZWFyOwogICAgfQp9CgovLyBpc28gODYwMSByZWdleAovLyAwMDAwLTAwLTAwIDAwMDAtVzAwIG9yIDAwMDAtVzAwLTAgKyBUICsgMDAgb3IgMDA6MDAgb3IgMDA6MDA6MDAgb3IgMDA6MDA6MDAuMDAwICsgKzAwOjAwIG9yICswMDAwIG9yICswMCkKdmFyIGV4dGVuZGVkSXNvUmVnZXggPSAvXlxzKigoPzpbKy1dXGR7Nn18XGR7NH0pLSg/OlxkXGQtXGRcZHxXXGRcZC1cZHxXXGRcZHxcZFxkXGR8XGRcZCkpKD86KFR8ICkoXGRcZCg/OjpcZFxkKD86OlxkXGQoPzpbLixdXGQrKT8pPyk/KShbXCtcLV1cZFxkKD86Oj9cZFxkKT98XHMqWik/KT8kLzsKdmFyIGJhc2ljSXNvUmVnZXggPSAvXlxzKigoPzpbKy1dXGR7Nn18XGR7NH0pKD86XGRcZFxkXGR8V1xkXGRcZHxXXGRcZHxcZFxkXGR8XGRcZCkpKD86KFR8ICkoXGRcZCg/OlxkXGQoPzpcZFxkKD86Wy4sXVxkKyk/KT8pPykoW1wrXC1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/JC87Cgp2YXIgdHpSZWdleCA9IC9afFsrLV1cZFxkKD86Oj9cZFxkKT8vOwoKdmFyIGlzb0RhdGVzID0gWwogICAgWydZWVlZWVktTU0tREQnLCAvWystXVxkezZ9LVxkXGQtXGRcZC9dLAogICAgWydZWVlZLU1NLUREJywgL1xkezR9LVxkXGQtXGRcZC9dLAogICAgWydHR0dHLVtXXVdXLUUnLCAvXGR7NH0tV1xkXGQtXGQvXSwKICAgIFsnR0dHRy1bV11XVycsIC9cZHs0fS1XXGRcZC8sIGZhbHNlXSwKICAgIFsnWVlZWS1EREQnLCAvXGR7NH0tXGR7M30vXSwKICAgIFsnWVlZWS1NTScsIC9cZHs0fS1cZFxkLywgZmFsc2VdLAogICAgWydZWVlZWVlNTUREJywgL1srLV1cZHsxMH0vXSwKICAgIFsnWVlZWU1NREQnLCAvXGR7OH0vXSwKICAgIC8vIFlZWVlNTSBpcyBOT1QgYWxsb3dlZCBieSB0aGUgc3RhbmRhcmQKICAgIFsnR0dHR1tXXVdXRScsIC9cZHs0fVdcZHszfS9dLAogICAgWydHR0dHW1ddV1cnLCAvXGR7NH1XXGR7Mn0vLCBmYWxzZV0sCiAgICBbJ1lZWVlEREQnLCAvXGR7N30vXQpdOwoKLy8gaXNvIHRpbWUgZm9ybWF0cyBhbmQgcmVnZXhlcwp2YXIgaXNvVGltZXMgPSBbCiAgICBbJ0hIOm1tOnNzLlNTU1MnLCAvXGRcZDpcZFxkOlxkXGRcLlxkKy9dLAogICAgWydISDptbTpzcyxTU1NTJywgL1xkXGQ6XGRcZDpcZFxkLFxkKy9dLAogICAgWydISDptbTpzcycsIC9cZFxkOlxkXGQ6XGRcZC9dLAogICAgWydISDptbScsIC9cZFxkOlxkXGQvXSwKICAgIFsnSEhtbXNzLlNTU1MnLCAvXGRcZFxkXGRcZFxkXC5cZCsvXSwKICAgIFsnSEhtbXNzLFNTU1MnLCAvXGRcZFxkXGRcZFxkLFxkKy9dLAogICAgWydISG1tc3MnLCAvXGRcZFxkXGRcZFxkL10sCiAgICBbJ0hIbW0nLCAvXGRcZFxkXGQvXSwKICAgIFsnSEgnLCAvXGRcZC9dCl07Cgp2YXIgYXNwTmV0SnNvblJlZ2V4ID0gL15cLz9EYXRlXCgoXC0/XGQrKS9pOwoKLy8gZGF0ZSBmcm9tIGlzbyBmb3JtYXQKZnVuY3Rpb24gY29uZmlnRnJvbUlTTyhjb25maWcpIHsKICAgIHZhciBpLCBsLAogICAgICAgIHN0cmluZyA9IGNvbmZpZy5faSwKICAgICAgICBtYXRjaCA9IGV4dGVuZGVkSXNvUmVnZXguZXhlYyhzdHJpbmcpIHx8IGJhc2ljSXNvUmVnZXguZXhlYyhzdHJpbmcpLAogICAgICAgIGFsbG93VGltZSwgZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgdHpGb3JtYXQ7CgogICAgaWYgKG1hdGNoKSB7CiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuaXNvID0gdHJ1ZTsKCiAgICAgICAgZm9yIChpID0gMCwgbCA9IGlzb0RhdGVzLmxlbmd0aDsgaSA8IGw7IGkrKykgewogICAgICAgICAgICBpZiAoaXNvRGF0ZXNbaV1bMV0uZXhlYyhtYXRjaFsxXSkpIHsKICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQgPSBpc29EYXRlc1tpXVswXTsKICAgICAgICAgICAgICAgIGFsbG93VGltZSA9IGlzb0RhdGVzW2ldWzJdICE9PSBmYWxzZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmIChkYXRlRm9ybWF0ID09IG51bGwpIHsKICAgICAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKG1hdGNoWzNdKSB7CiAgICAgICAgICAgIGZvciAoaSA9IDAsIGwgPSBpc29UaW1lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChpc29UaW1lc1tpXVsxXS5leGVjKG1hdGNoWzNdKSkgewogICAgICAgICAgICAgICAgICAgIC8vIG1hdGNoWzJdIHNob3VsZCBiZSAnVCcgb3Igc3BhY2UKICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0ID0gKG1hdGNoWzJdIHx8ICcgJykgKyBpc29UaW1lc1tpXVswXTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodGltZUZvcm1hdCA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIWFsbG93VGltZSAmJiB0aW1lRm9ybWF0ICE9IG51bGwpIHsKICAgICAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKG1hdGNoWzRdKSB7CiAgICAgICAgICAgIGlmICh0elJlZ2V4LmV4ZWMobWF0Y2hbNF0pKSB7CiAgICAgICAgICAgICAgICB0ekZvcm1hdCA9ICdaJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvbmZpZy5fZiA9IGRhdGVGb3JtYXQgKyAodGltZUZvcm1hdCB8fCAnJykgKyAodHpGb3JtYXQgfHwgJycpOwogICAgICAgIGNvbmZpZ0Zyb21TdHJpbmdBbmRGb3JtYXQoY29uZmlnKTsKICAgIH0gZWxzZSB7CiAgICAgICAgY29uZmlnLl9pc1ZhbGlkID0gZmFsc2U7CiAgICB9Cn0KCi8vIFJGQyAyODIyIHJlZ2V4OiBGb3IgZGV0YWlscyBzZWUgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzI4MjIjc2VjdGlvbi0zLjMKdmFyIHJmYzI4MjIgPSAvXig/OihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLD9ccyk/KFxkezEsMn0pXHMoSmFufEZlYnxNYXJ8QXByfE1heXxKdW58SnVsfEF1Z3xTZXB8T2N0fE5vdnxEZWMpXHMoXGR7Miw0fSlccyhcZFxkKTooXGRcZCkoPzo6KFxkXGQpKT9ccyg/OihVVHxHTVR8W0VDTVBdW1NEXVQpfChbWnpdKXwoWystXVxkezR9KSkkLzsKCmZ1bmN0aW9uIGV4dHJhY3RGcm9tUkZDMjgyMlN0cmluZ3MoeWVhclN0ciwgbW9udGhTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIpIHsKICAgIHZhciByZXN1bHQgPSBbCiAgICAgICAgdW50cnVuY2F0ZVllYXIoeWVhclN0ciksCiAgICAgICAgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpLAogICAgICAgIHBhcnNlSW50KGRheVN0ciwgMTApLAogICAgICAgIHBhcnNlSW50KGhvdXJTdHIsIDEwKSwKICAgICAgICBwYXJzZUludChtaW51dGVTdHIsIDEwKQogICAgXTsKCiAgICBpZiAoc2Vjb25kU3RyKSB7CiAgICAgICAgcmVzdWx0LnB1c2gocGFyc2VJbnQoc2Vjb25kU3RyLCAxMCkpOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7Cn0KCmZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXJTdHIpIHsKICAgIHZhciB5ZWFyID0gcGFyc2VJbnQoeWVhclN0ciwgMTApOwogICAgaWYgKHllYXIgPD0gNDkpIHsKICAgICAgICByZXR1cm4gMjAwMCArIHllYXI7CiAgICB9IGVsc2UgaWYgKHllYXIgPD0gOTk5KSB7CiAgICAgICAgcmV0dXJuIDE5MDAgKyB5ZWFyOwogICAgfQogICAgcmV0dXJuIHllYXI7Cn0KCmZ1bmN0aW9uIHByZXByb2Nlc3NSRkMyODIyKHMpIHsKICAgIC8vIFJlbW92ZSBjb21tZW50cyBhbmQgZm9sZGluZyB3aGl0ZXNwYWNlIGFuZCByZXBsYWNlIG11bHRpcGxlLXNwYWNlcyB3aXRoIGEgc2luZ2xlIHNwYWNlCiAgICByZXR1cm4gcy5yZXBsYWNlKC9cKFteKV0qXCl8W1xuXHRdL2csICcgJykucmVwbGFjZSgvKFxzXHMrKS9nLCAnICcpLnRyaW0oKTsKfQoKZnVuY3Rpb24gY2hlY2tXZWVrZGF5KHdlZWtkYXlTdHIsIHBhcnNlZElucHV0LCBjb25maWcpIHsKICAgIGlmICh3ZWVrZGF5U3RyKSB7CiAgICAgICAgLy8gVE9ETzogUmVwbGFjZSB0aGUgdmFuaWxsYSBKUyBEYXRlIG9iamVjdCB3aXRoIGFuIGluZGVwZW50ZW50IGRheS1vZi13ZWVrIGNoZWNrLgogICAgICAgIHZhciB3ZWVrZGF5UHJvdmlkZWQgPSBkZWZhdWx0TG9jYWxlV2Vla2RheXNTaG9ydC5pbmRleE9mKHdlZWtkYXlTdHIpLAogICAgICAgICAgICB3ZWVrZGF5QWN0dWFsID0gbmV3IERhdGUocGFyc2VkSW5wdXRbMF0sIHBhcnNlZElucHV0WzFdLCBwYXJzZWRJbnB1dFsyXSkuZ2V0RGF5KCk7CiAgICAgICAgaWYgKHdlZWtkYXlQcm92aWRlZCAhPT0gd2Vla2RheUFjdHVhbCkgewogICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS53ZWVrZGF5TWlzbWF0Y2ggPSB0cnVlOwogICAgICAgICAgICBjb25maWcuX2lzVmFsaWQgPSBmYWxzZTsKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwp9Cgp2YXIgb2JzT2Zmc2V0cyA9IHsKICAgIFVUOiAwLAogICAgR01UOiAwLAogICAgRURUOiAtNCAqIDYwLAogICAgRVNUOiAtNSAqIDYwLAogICAgQ0RUOiAtNSAqIDYwLAogICAgQ1NUOiAtNiAqIDYwLAogICAgTURUOiAtNiAqIDYwLAogICAgTVNUOiAtNyAqIDYwLAogICAgUERUOiAtNyAqIDYwLAogICAgUFNUOiAtOCAqIDYwCn07CgpmdW5jdGlvbiBjYWxjdWxhdGVPZmZzZXQob2JzT2Zmc2V0LCBtaWxpdGFyeU9mZnNldCwgbnVtT2Zmc2V0KSB7CiAgICBpZiAob2JzT2Zmc2V0KSB7CiAgICAgICAgcmV0dXJuIG9ic09mZnNldHNbb2JzT2Zmc2V0XTsKICAgIH0gZWxzZSBpZiAobWlsaXRhcnlPZmZzZXQpIHsKICAgICAgICAvLyB0aGUgb25seSBhbGxvd2VkIG1pbGl0YXJ5IHR6IGlzIFoKICAgICAgICByZXR1cm4gMDsKICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGhtID0gcGFyc2VJbnQobnVtT2Zmc2V0LCAxMCk7CiAgICAgICAgdmFyIG0gPSBobSAlIDEwMCwgaCA9IChobSAtIG0pIC8gMTAwOwogICAgICAgIHJldHVybiBoICogNjAgKyBtOwogICAgfQp9CgovLyBkYXRlIGFuZCB0aW1lIGZyb20gcmVmIDI4MjIgZm9ybWF0CmZ1bmN0aW9uIGNvbmZpZ0Zyb21SRkMyODIyKGNvbmZpZykgewogICAgdmFyIG1hdGNoID0gcmZjMjgyMi5leGVjKHByZXByb2Nlc3NSRkMyODIyKGNvbmZpZy5faSkpOwogICAgaWYgKG1hdGNoKSB7CiAgICAgICAgdmFyIHBhcnNlZEFycmF5ID0gZXh0cmFjdEZyb21SRkMyODIyU3RyaW5ncyhtYXRjaFs0XSwgbWF0Y2hbM10sIG1hdGNoWzJdLCBtYXRjaFs1XSwgbWF0Y2hbNl0sIG1hdGNoWzddKTsKICAgICAgICBpZiAoIWNoZWNrV2Vla2RheShtYXRjaFsxXSwgcGFyc2VkQXJyYXksIGNvbmZpZykpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgY29uZmlnLl9hID0gcGFyc2VkQXJyYXk7CiAgICAgICAgY29uZmlnLl90em0gPSBjYWxjdWxhdGVPZmZzZXQobWF0Y2hbOF0sIG1hdGNoWzldLCBtYXRjaFsxMF0pOwoKICAgICAgICBjb25maWcuX2QgPSBjcmVhdGVVVENEYXRlLmFwcGx5KG51bGwsIGNvbmZpZy5fYSk7CiAgICAgICAgY29uZmlnLl9kLnNldFVUQ01pbnV0ZXMoY29uZmlnLl9kLmdldFVUQ01pbnV0ZXMoKSAtIGNvbmZpZy5fdHptKTsKCiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykucmZjMjgyMiA9IHRydWU7CiAgICB9IGVsc2UgewogICAgICAgIGNvbmZpZy5faXNWYWxpZCA9IGZhbHNlOwogICAgfQp9CgovLyBkYXRlIGZyb20gaXNvIGZvcm1hdCBvciBmYWxsYmFjawpmdW5jdGlvbiBjb25maWdGcm9tU3RyaW5nKGNvbmZpZykgewogICAgdmFyIG1hdGNoZWQgPSBhc3BOZXRKc29uUmVnZXguZXhlYyhjb25maWcuX2kpOwoKICAgIGlmIChtYXRjaGVkICE9PSBudWxsKSB7CiAgICAgICAgY29uZmlnLl9kID0gbmV3IERhdGUoK21hdGNoZWRbMV0pOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb25maWdGcm9tSVNPKGNvbmZpZyk7CiAgICBpZiAoY29uZmlnLl9pc1ZhbGlkID09PSBmYWxzZSkgewogICAgICAgIGRlbGV0ZSBjb25maWcuX2lzVmFsaWQ7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb25maWdGcm9tUkZDMjgyMihjb25maWcpOwogICAgaWYgKGNvbmZpZy5faXNWYWxpZCA9PT0gZmFsc2UpIHsKICAgICAgICBkZWxldGUgY29uZmlnLl9pc1ZhbGlkOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gRmluYWwgYXR0ZW1wdCwgdXNlIElucHV0IEZhbGxiYWNrCiAgICBob29rcy5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayhjb25maWcpOwp9Cgpob29rcy5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjayA9IGRlcHJlY2F0ZSgKICAgICd2YWx1ZSBwcm92aWRlZCBpcyBub3QgaW4gYSByZWNvZ25pemVkIFJGQzI4MjIgb3IgSVNPIGZvcm1hdC4gbW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUoKSwgJyArCiAgICAnd2hpY2ggaXMgbm90IHJlbGlhYmxlIGFjcm9zcyBhbGwgYnJvd3NlcnMgYW5kIHZlcnNpb25zLiBOb24gUkZDMjgyMi9JU08gZGF0ZSBmb3JtYXRzIGFyZSAnICsKICAgICdkaXNjb3VyYWdlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGFuIHVwY29taW5nIG1ham9yIHJlbGVhc2UuIFBsZWFzZSByZWZlciB0byAnICsKICAgICdodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2pzLWRhdGUvIGZvciBtb3JlIGluZm8uJywKICAgIGZ1bmN0aW9uIChjb25maWcpIHsKICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShjb25maWcuX2kgKyAoY29uZmlnLl91c2VVVEMgPyAnIFVUQycgOiAnJykpOwogICAgfQopOwoKLy8gY29uc3RhbnQgdGhhdCByZWZlcnMgdG8gdGhlIElTTyBzdGFuZGFyZApob29rcy5JU09fODYwMSA9IGZ1bmN0aW9uICgpIHt9OwoKLy8gY29uc3RhbnQgdGhhdCByZWZlcnMgdG8gdGhlIFJGQyAyODIyIGZvcm0KaG9va3MuUkZDXzI4MjIgPSBmdW5jdGlvbiAoKSB7fTsKCi8vIGRhdGUgZnJvbSBzdHJpbmcgYW5kIGZvcm1hdCBzdHJpbmcKZnVuY3Rpb24gY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdChjb25maWcpIHsKICAgIC8vIFRPRE86IE1vdmUgdGhpcyB0byBhbm90aGVyIHBhcnQgb2YgdGhlIGNyZWF0aW9uIGZsb3cgdG8gcHJldmVudCBjaXJjdWxhciBkZXBzCiAgICBpZiAoY29uZmlnLl9mID09PSBob29rcy5JU09fODYwMSkgewogICAgICAgIGNvbmZpZ0Zyb21JU08oY29uZmlnKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoY29uZmlnLl9mID09PSBob29rcy5SRkNfMjgyMikgewogICAgICAgIGNvbmZpZ0Zyb21SRkMyODIyKGNvbmZpZyk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgY29uZmlnLl9hID0gW107CiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5lbXB0eSA9IHRydWU7CgogICAgLy8gVGhpcyBhcnJheSBpcyB1c2VkIHRvIG1ha2UgYSBEYXRlLCBlaXRoZXIgd2l0aCBgbmV3IERhdGVgIG9yIGBEYXRlLlVUQ2AKICAgIHZhciBzdHJpbmcgPSAnJyArIGNvbmZpZy5faSwKICAgICAgICBpLCBwYXJzZWRJbnB1dCwgdG9rZW5zLCB0b2tlbiwgc2tpcHBlZCwKICAgICAgICBzdHJpbmdMZW5ndGggPSBzdHJpbmcubGVuZ3RoLAogICAgICAgIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGggPSAwOwoKICAgIHRva2VucyA9IGV4cGFuZEZvcm1hdChjb25maWcuX2YsIGNvbmZpZy5fbG9jYWxlKS5tYXRjaChmb3JtYXR0aW5nVG9rZW5zKSB8fCBbXTsKCiAgICBmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdG9rZW4gPSB0b2tlbnNbaV07CiAgICAgICAgcGFyc2VkSW5wdXQgPSAoc3RyaW5nLm1hdGNoKGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbiwgY29uZmlnKSkgfHwgW10pWzBdOwogICAgICAgIC8vIGNvbnNvbGUubG9nKCd0b2tlbicsIHRva2VuLCAncGFyc2VkSW5wdXQnLCBwYXJzZWRJbnB1dCwKICAgICAgICAvLyAgICAgICAgICdyZWdleCcsIGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbiwgY29uZmlnKSk7CiAgICAgICAgaWYgKHBhcnNlZElucHV0KSB7CiAgICAgICAgICAgIHNraXBwZWQgPSBzdHJpbmcuc3Vic3RyKDAsIHN0cmluZy5pbmRleE9mKHBhcnNlZElucHV0KSk7CiAgICAgICAgICAgIGlmIChza2lwcGVkLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZElucHV0LnB1c2goc2tpcHBlZCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nLnNsaWNlKHN0cmluZy5pbmRleE9mKHBhcnNlZElucHV0KSArIHBhcnNlZElucHV0Lmxlbmd0aCk7CiAgICAgICAgICAgIHRvdGFsUGFyc2VkSW5wdXRMZW5ndGggKz0gcGFyc2VkSW5wdXQubGVuZ3RoOwogICAgICAgIH0KICAgICAgICAvLyBkb24ndCBwYXJzZSBpZiBpdCdzIG5vdCBhIGtub3duIHRva2VuCiAgICAgICAgaWYgKGZvcm1hdFRva2VuRnVuY3Rpb25zW3Rva2VuXSkgewogICAgICAgICAgICBpZiAocGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmVtcHR5ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS51bnVzZWRUb2tlbnMucHVzaCh0b2tlbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW4sIHBhcnNlZElucHV0LCBjb25maWcpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChjb25maWcuX3N0cmljdCAmJiAhcGFyc2VkSW5wdXQpIHsKICAgICAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykudW51c2VkVG9rZW5zLnB1c2godG9rZW4pOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBhZGQgcmVtYWluaW5nIHVucGFyc2VkIGlucHV0IGxlbmd0aCB0byB0aGUgc3RyaW5nCiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5jaGFyc0xlZnRPdmVyID0gc3RyaW5nTGVuZ3RoIC0gdG90YWxQYXJzZWRJbnB1dExlbmd0aDsKICAgIGlmIChzdHJpbmcubGVuZ3RoID4gMCkgewogICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLnVudXNlZElucHV0LnB1c2goc3RyaW5nKTsKICAgIH0KCiAgICAvLyBjbGVhciBfMTJoIGZsYWcgaWYgaG91ciBpcyA8PSAxMgogICAgaWYgKGNvbmZpZy5fYVtIT1VSXSA8PSAxMiAmJgogICAgICAgIGdldFBhcnNpbmdGbGFncyhjb25maWcpLmJpZ0hvdXIgPT09IHRydWUgJiYKICAgICAgICBjb25maWcuX2FbSE9VUl0gPiAwKSB7CiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKGNvbmZpZykuYmlnSG91ciA9IHVuZGVmaW5lZDsKICAgIH0KCiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5wYXJzZWREYXRlUGFydHMgPSBjb25maWcuX2Euc2xpY2UoMCk7CiAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5tZXJpZGllbSA9IGNvbmZpZy5fbWVyaWRpZW07CiAgICAvLyBoYW5kbGUgbWVyaWRpZW0KICAgIGNvbmZpZy5fYVtIT1VSXSA9IG1lcmlkaWVtRml4V3JhcChjb25maWcuX2xvY2FsZSwgY29uZmlnLl9hW0hPVVJdLCBjb25maWcuX21lcmlkaWVtKTsKCiAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTsKICAgIGNoZWNrT3ZlcmZsb3coY29uZmlnKTsKfQoKCmZ1bmN0aW9uIG1lcmlkaWVtRml4V3JhcCAobG9jYWxlLCBob3VyLCBtZXJpZGllbSkgewogICAgdmFyIGlzUG07CgogICAgaWYgKG1lcmlkaWVtID09IG51bGwpIHsKICAgICAgICAvLyBub3RoaW5nIHRvIGRvCiAgICAgICAgcmV0dXJuIGhvdXI7CiAgICB9CiAgICBpZiAobG9jYWxlLm1lcmlkaWVtSG91ciAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGxvY2FsZS5tZXJpZGllbUhvdXIoaG91ciwgbWVyaWRpZW0pOwogICAgfSBlbHNlIGlmIChsb2NhbGUuaXNQTSAhPSBudWxsKSB7CiAgICAgICAgLy8gRmFsbGJhY2sKICAgICAgICBpc1BtID0gbG9jYWxlLmlzUE0obWVyaWRpZW0pOwogICAgICAgIGlmIChpc1BtICYmIGhvdXIgPCAxMikgewogICAgICAgICAgICBob3VyICs9IDEyOwogICAgICAgIH0KICAgICAgICBpZiAoIWlzUG0gJiYgaG91ciA9PT0gMTIpIHsKICAgICAgICAgICAgaG91ciA9IDA7CiAgICAgICAgfQogICAgICAgIHJldHVybiBob3VyOwogICAgfSBlbHNlIHsKICAgICAgICAvLyB0aGlzIGlzIG5vdCBzdXBwb3NlZCB0byBoYXBwZW4KICAgICAgICByZXR1cm4gaG91cjsKICAgIH0KfQoKLy8gZGF0ZSBmcm9tIHN0cmluZyBhbmQgYXJyYXkgb2YgZm9ybWF0IHN0cmluZ3MKZnVuY3Rpb24gY29uZmlnRnJvbVN0cmluZ0FuZEFycmF5KGNvbmZpZykgewogICAgdmFyIHRlbXBDb25maWcsCiAgICAgICAgYmVzdE1vbWVudCwKCiAgICAgICAgc2NvcmVUb0JlYXQsCiAgICAgICAgaSwKICAgICAgICBjdXJyZW50U2NvcmU7CgogICAgaWYgKGNvbmZpZy5fZi5sZW5ndGggPT09IDApIHsKICAgICAgICBnZXRQYXJzaW5nRmxhZ3MoY29uZmlnKS5pbnZhbGlkRm9ybWF0ID0gdHJ1ZTsKICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShOYU4pOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBmb3IgKGkgPSAwOyBpIDwgY29uZmlnLl9mLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY3VycmVudFNjb3JlID0gMDsKICAgICAgICB0ZW1wQ29uZmlnID0gY29weUNvbmZpZyh7fSwgY29uZmlnKTsKICAgICAgICBpZiAoY29uZmlnLl91c2VVVEMgIT0gbnVsbCkgewogICAgICAgICAgICB0ZW1wQ29uZmlnLl91c2VVVEMgPSBjb25maWcuX3VzZVVUQzsKICAgICAgICB9CiAgICAgICAgdGVtcENvbmZpZy5fZiA9IGNvbmZpZy5fZltpXTsKICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kRm9ybWF0KHRlbXBDb25maWcpOwoKICAgICAgICBpZiAoIWlzVmFsaWQodGVtcENvbmZpZykpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICAvLyBpZiB0aGVyZSBpcyBhbnkgaW5wdXQgdGhhdCB3YXMgbm90IHBhcnNlZCBhZGQgYSBwZW5hbHR5IGZvciB0aGF0IGZvcm1hdAogICAgICAgIGN1cnJlbnRTY29yZSArPSBnZXRQYXJzaW5nRmxhZ3ModGVtcENvbmZpZykuY2hhcnNMZWZ0T3ZlcjsKCiAgICAgICAgLy9vciB0b2tlbnMKICAgICAgICBjdXJyZW50U2NvcmUgKz0gZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLnVudXNlZFRva2Vucy5sZW5ndGggKiAxMDsKCiAgICAgICAgZ2V0UGFyc2luZ0ZsYWdzKHRlbXBDb25maWcpLnNjb3JlID0gY3VycmVudFNjb3JlOwoKICAgICAgICBpZiAoc2NvcmVUb0JlYXQgPT0gbnVsbCB8fCBjdXJyZW50U2NvcmUgPCBzY29yZVRvQmVhdCkgewogICAgICAgICAgICBzY29yZVRvQmVhdCA9IGN1cnJlbnRTY29yZTsKICAgICAgICAgICAgYmVzdE1vbWVudCA9IHRlbXBDb25maWc7CiAgICAgICAgfQogICAgfQoKICAgIGV4dGVuZChjb25maWcsIGJlc3RNb21lbnQgfHwgdGVtcENvbmZpZyk7Cn0KCmZ1bmN0aW9uIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKSB7CiAgICBpZiAoY29uZmlnLl9kKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHZhciBpID0gbm9ybWFsaXplT2JqZWN0VW5pdHMoY29uZmlnLl9pKTsKICAgIGNvbmZpZy5fYSA9IG1hcChbaS55ZWFyLCBpLm1vbnRoLCBpLmRheSB8fCBpLmRhdGUsIGkuaG91ciwgaS5taW51dGUsIGkuc2Vjb25kLCBpLm1pbGxpc2Vjb25kXSwgZnVuY3Rpb24gKG9iaikgewogICAgICAgIHJldHVybiBvYmogJiYgcGFyc2VJbnQob2JqLCAxMCk7CiAgICB9KTsKCiAgICBjb25maWdGcm9tQXJyYXkoY29uZmlnKTsKfQoKZnVuY3Rpb24gY3JlYXRlRnJvbUNvbmZpZyAoY29uZmlnKSB7CiAgICB2YXIgcmVzID0gbmV3IE1vbWVudChjaGVja092ZXJmbG93KHByZXBhcmVDb25maWcoY29uZmlnKSkpOwogICAgaWYgKHJlcy5fbmV4dERheSkgewogICAgICAgIC8vIEFkZGluZyBpcyBzbWFydCBlbm91Z2ggYXJvdW5kIERTVAogICAgICAgIHJlcy5hZGQoMSwgJ2QnKTsKICAgICAgICByZXMuX25leHREYXkgPSB1bmRlZmluZWQ7CiAgICB9CgogICAgcmV0dXJuIHJlczsKfQoKZnVuY3Rpb24gcHJlcGFyZUNvbmZpZyAoY29uZmlnKSB7CiAgICB2YXIgaW5wdXQgPSBjb25maWcuX2ksCiAgICAgICAgZm9ybWF0ID0gY29uZmlnLl9mOwoKICAgIGNvbmZpZy5fbG9jYWxlID0gY29uZmlnLl9sb2NhbGUgfHwgZ2V0TG9jYWxlKGNvbmZpZy5fbCk7CgogICAgaWYgKGlucHV0ID09PSBudWxsIHx8IChmb3JtYXQgPT09IHVuZGVmaW5lZCAmJiBpbnB1dCA9PT0gJycpKSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUludmFsaWQoe251bGxJbnB1dDogdHJ1ZX0pOwogICAgfQoKICAgIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgY29uZmlnLl9pID0gaW5wdXQgPSBjb25maWcuX2xvY2FsZS5wcmVwYXJzZShpbnB1dCk7CiAgICB9CgogICAgaWYgKGlzTW9tZW50KGlucHV0KSkgewogICAgICAgIHJldHVybiBuZXcgTW9tZW50KGNoZWNrT3ZlcmZsb3coaW5wdXQpKTsKICAgIH0gZWxzZSBpZiAoaXNEYXRlKGlucHV0KSkgewogICAgICAgIGNvbmZpZy5fZCA9IGlucHV0OwogICAgfSBlbHNlIGlmIChpc0FycmF5KGZvcm1hdCkpIHsKICAgICAgICBjb25maWdGcm9tU3RyaW5nQW5kQXJyYXkoY29uZmlnKTsKICAgIH0gZWxzZSBpZiAoZm9ybWF0KSB7CiAgICAgICAgY29uZmlnRnJvbVN0cmluZ0FuZEZvcm1hdChjb25maWcpOwogICAgfSAgZWxzZSB7CiAgICAgICAgY29uZmlnRnJvbUlucHV0KGNvbmZpZyk7CiAgICB9CgogICAgaWYgKCFpc1ZhbGlkKGNvbmZpZykpIHsKICAgICAgICBjb25maWcuX2QgPSBudWxsOwogICAgfQoKICAgIHJldHVybiBjb25maWc7Cn0KCmZ1bmN0aW9uIGNvbmZpZ0Zyb21JbnB1dChjb25maWcpIHsKICAgIHZhciBpbnB1dCA9IGNvbmZpZy5faTsKICAgIGlmIChpc1VuZGVmaW5lZChpbnB1dCkpIHsKICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShob29rcy5ub3coKSk7CiAgICB9IGVsc2UgaWYgKGlzRGF0ZShpbnB1dCkpIHsKICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShpbnB1dC52YWx1ZU9mKCkpOwogICAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgY29uZmlnRnJvbVN0cmluZyhjb25maWcpOwogICAgfSBlbHNlIGlmIChpc0FycmF5KGlucHV0KSkgewogICAgICAgIGNvbmZpZy5fYSA9IG1hcChpbnB1dC5zbGljZSgwKSwgZnVuY3Rpb24gKG9iaikgewogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQob2JqLCAxMCk7CiAgICAgICAgfSk7CiAgICAgICAgY29uZmlnRnJvbUFycmF5KGNvbmZpZyk7CiAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KGlucHV0KSkgewogICAgICAgIGNvbmZpZ0Zyb21PYmplY3QoY29uZmlnKTsKICAgIH0gZWxzZSBpZiAoaXNOdW1iZXIoaW5wdXQpKSB7CiAgICAgICAgLy8gZnJvbSBtaWxsaXNlY29uZHMKICAgICAgICBjb25maWcuX2QgPSBuZXcgRGF0ZShpbnB1dCk7CiAgICB9IGVsc2UgewogICAgICAgIGhvb2tzLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGNvbmZpZyk7CiAgICB9Cn0KCmZ1bmN0aW9uIGNyZWF0ZUxvY2FsT3JVVEMgKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0LCBpc1VUQykgewogICAgdmFyIGMgPSB7fTsKCiAgICBpZiAobG9jYWxlID09PSB0cnVlIHx8IGxvY2FsZSA9PT0gZmFsc2UpIHsKICAgICAgICBzdHJpY3QgPSBsb2NhbGU7CiAgICAgICAgbG9jYWxlID0gdW5kZWZpbmVkOwogICAgfQoKICAgIGlmICgoaXNPYmplY3QoaW5wdXQpICYmIGlzT2JqZWN0RW1wdHkoaW5wdXQpKSB8fAogICAgICAgICAgICAoaXNBcnJheShpbnB1dCkgJiYgaW5wdXQubGVuZ3RoID09PSAwKSkgewogICAgICAgIGlucHV0ID0gdW5kZWZpbmVkOwogICAgfQogICAgLy8gb2JqZWN0IGNvbnN0cnVjdGlvbiBtdXN0IGJlIGRvbmUgdGhpcyB3YXkuCiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTQyMwogICAgYy5faXNBTW9tZW50T2JqZWN0ID0gdHJ1ZTsKICAgIGMuX3VzZVVUQyA9IGMuX2lzVVRDID0gaXNVVEM7CiAgICBjLl9sID0gbG9jYWxlOwogICAgYy5faSA9IGlucHV0OwogICAgYy5fZiA9IGZvcm1hdDsKICAgIGMuX3N0cmljdCA9IHN0cmljdDsKCiAgICByZXR1cm4gY3JlYXRlRnJvbUNvbmZpZyhjKTsKfQoKZnVuY3Rpb24gY3JlYXRlTG9jYWwgKGlucHV0LCBmb3JtYXQsIGxvY2FsZSwgc3RyaWN0KSB7CiAgICByZXR1cm4gY3JlYXRlTG9jYWxPclVUQyhpbnB1dCwgZm9ybWF0LCBsb2NhbGUsIHN0cmljdCwgZmFsc2UpOwp9Cgp2YXIgcHJvdG90eXBlTWluID0gZGVwcmVjYXRlKAogICAgJ21vbWVudCgpLm1pbiBpcyBkZXByZWNhdGVkLCB1c2UgbW9tZW50Lm1heCBpbnN0ZWFkLiBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL21pbi1tYXgvJywKICAgIGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgb3RoZXIgPSBjcmVhdGVMb2NhbC5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgICAgIGlmICh0aGlzLmlzVmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgcmV0dXJuIG90aGVyIDwgdGhpcyA/IHRoaXMgOiBvdGhlcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gY3JlYXRlSW52YWxpZCgpOwogICAgICAgIH0KICAgIH0KKTsKCnZhciBwcm90b3R5cGVNYXggPSBkZXByZWNhdGUoCiAgICAnbW9tZW50KCkubWF4IGlzIGRlcHJlY2F0ZWQsIHVzZSBtb21lbnQubWluIGluc3RlYWQuIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvbWluLW1heC8nLAogICAgZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBvdGhlciA9IGNyZWF0ZUxvY2FsLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7CiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZCgpICYmIG90aGVyLmlzVmFsaWQoKSkgewogICAgICAgICAgICByZXR1cm4gb3RoZXIgPiB0aGlzID8gdGhpcyA6IG90aGVyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBjcmVhdGVJbnZhbGlkKCk7CiAgICAgICAgfQogICAgfQopOwoKLy8gUGljayBhIG1vbWVudCBtIGZyb20gbW9tZW50cyBzbyB0aGF0IG1bZm5dKG90aGVyKSBpcyB0cnVlIGZvciBhbGwKLy8gb3RoZXIuIFRoaXMgcmVsaWVzIG9uIHRoZSBmdW5jdGlvbiBmbiB0byBiZSB0cmFuc2l0aXZlLgovLwovLyBtb21lbnRzIHNob3VsZCBlaXRoZXIgYmUgYW4gYXJyYXkgb2YgbW9tZW50IG9iamVjdHMgb3IgYW4gYXJyYXksIHdob3NlCi8vIGZpcnN0IGVsZW1lbnQgaXMgYW4gYXJyYXkgb2YgbW9tZW50IG9iamVjdHMuCmZ1bmN0aW9uIHBpY2tCeShmbiwgbW9tZW50cykgewogICAgdmFyIHJlcywgaTsKICAgIGlmIChtb21lbnRzLmxlbmd0aCA9PT0gMSAmJiBpc0FycmF5KG1vbWVudHNbMF0pKSB7CiAgICAgICAgbW9tZW50cyA9IG1vbWVudHNbMF07CiAgICB9CiAgICBpZiAoIW1vbWVudHMubGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsKCk7CiAgICB9CiAgICByZXMgPSBtb21lbnRzWzBdOwogICAgZm9yIChpID0gMTsgaSA8IG1vbWVudHMubGVuZ3RoOyArK2kpIHsKICAgICAgICBpZiAoIW1vbWVudHNbaV0uaXNWYWxpZCgpIHx8IG1vbWVudHNbaV1bZm5dKHJlcykpIHsKICAgICAgICAgICAgcmVzID0gbW9tZW50c1tpXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzOwp9CgovLyBUT0RPOiBVc2UgW10uc29ydCBpbnN0ZWFkPwpmdW5jdGlvbiBtaW4gKCkgewogICAgdmFyIGFyZ3MgPSBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7CgogICAgcmV0dXJuIHBpY2tCeSgnaXNCZWZvcmUnLCBhcmdzKTsKfQoKZnVuY3Rpb24gbWF4ICgpIHsKICAgIHZhciBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApOwoKICAgIHJldHVybiBwaWNrQnkoJ2lzQWZ0ZXInLCBhcmdzKTsKfQoKdmFyIG5vdyA9IGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiBEYXRlLm5vdyA/IERhdGUubm93KCkgOiArKG5ldyBEYXRlKCkpOwp9OwoKdmFyIG9yZGVyaW5nID0gWyd5ZWFyJywgJ3F1YXJ0ZXInLCAnbW9udGgnLCAnd2VlaycsICdkYXknLCAnaG91cicsICdtaW51dGUnLCAnc2Vjb25kJywgJ21pbGxpc2Vjb25kJ107CgpmdW5jdGlvbiBpc0R1cmF0aW9uVmFsaWQobSkgewogICAgZm9yICh2YXIga2V5IGluIG0pIHsKICAgICAgICBpZiAoIShpbmRleE9mLmNhbGwob3JkZXJpbmcsIGtleSkgIT09IC0xICYmIChtW2tleV0gPT0gbnVsbCB8fCAhaXNOYU4obVtrZXldKSkpKSB7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgdmFyIHVuaXRIYXNEZWNpbWFsID0gZmFsc2U7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG9yZGVyaW5nLmxlbmd0aDsgKytpKSB7CiAgICAgICAgaWYgKG1bb3JkZXJpbmdbaV1dKSB7CiAgICAgICAgICAgIGlmICh1bml0SGFzRGVjaW1hbCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBvbmx5IGFsbG93IG5vbi1pbnRlZ2VycyBmb3Igc21hbGxlc3QgdW5pdAogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChwYXJzZUZsb2F0KG1bb3JkZXJpbmdbaV1dKSAhPT0gdG9JbnQobVtvcmRlcmluZ1tpXV0pKSB7CiAgICAgICAgICAgICAgICB1bml0SGFzRGVjaW1hbCA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGlzVmFsaWQkMSgpIHsKICAgIHJldHVybiB0aGlzLl9pc1ZhbGlkOwp9CgpmdW5jdGlvbiBjcmVhdGVJbnZhbGlkJDEoKSB7CiAgICByZXR1cm4gY3JlYXRlRHVyYXRpb24oTmFOKTsKfQoKZnVuY3Rpb24gRHVyYXRpb24gKGR1cmF0aW9uKSB7CiAgICB2YXIgbm9ybWFsaXplZElucHV0ID0gbm9ybWFsaXplT2JqZWN0VW5pdHMoZHVyYXRpb24pLAogICAgICAgIHllYXJzID0gbm9ybWFsaXplZElucHV0LnllYXIgfHwgMCwKICAgICAgICBxdWFydGVycyA9IG5vcm1hbGl6ZWRJbnB1dC5xdWFydGVyIHx8IDAsCiAgICAgICAgbW9udGhzID0gbm9ybWFsaXplZElucHV0Lm1vbnRoIHx8IDAsCiAgICAgICAgd2Vla3MgPSBub3JtYWxpemVkSW5wdXQud2VlayB8fCAwLAogICAgICAgIGRheXMgPSBub3JtYWxpemVkSW5wdXQuZGF5IHx8IDAsCiAgICAgICAgaG91cnMgPSBub3JtYWxpemVkSW5wdXQuaG91ciB8fCAwLAogICAgICAgIG1pbnV0ZXMgPSBub3JtYWxpemVkSW5wdXQubWludXRlIHx8IDAsCiAgICAgICAgc2Vjb25kcyA9IG5vcm1hbGl6ZWRJbnB1dC5zZWNvbmQgfHwgMCwKICAgICAgICBtaWxsaXNlY29uZHMgPSBub3JtYWxpemVkSW5wdXQubWlsbGlzZWNvbmQgfHwgMDsKCiAgICB0aGlzLl9pc1ZhbGlkID0gaXNEdXJhdGlvblZhbGlkKG5vcm1hbGl6ZWRJbnB1dCk7CgogICAgLy8gcmVwcmVzZW50YXRpb24gZm9yIGRhdGVBZGRSZW1vdmUKICAgIHRoaXMuX21pbGxpc2Vjb25kcyA9ICttaWxsaXNlY29uZHMgKwogICAgICAgIHNlY29uZHMgKiAxZTMgKyAvLyAxMDAwCiAgICAgICAgbWludXRlcyAqIDZlNCArIC8vIDEwMDAgKiA2MAogICAgICAgIGhvdXJzICogMTAwMCAqIDYwICogNjA7IC8vdXNpbmcgMTAwMCAqIDYwICogNjAgaW5zdGVhZCBvZiAzNmU1IHRvIGF2b2lkIGZsb2F0aW5nIHBvaW50IHJvdW5kaW5nIGVycm9ycyBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMjk3OAogICAgLy8gQmVjYXVzZSBvZiBkYXRlQWRkUmVtb3ZlIHRyZWF0cyAyNCBob3VycyBhcyBkaWZmZXJlbnQgZnJvbSBhCiAgICAvLyBkYXkgd2hlbiB3b3JraW5nIGFyb3VuZCBEU1QsIHdlIG5lZWQgdG8gc3RvcmUgdGhlbSBzZXBhcmF0ZWx5CiAgICB0aGlzLl9kYXlzID0gK2RheXMgKwogICAgICAgIHdlZWtzICogNzsKICAgIC8vIEl0IGlzIGltcG9zc2libGUgdG8gdHJhbnNsYXRlIG1vbnRocyBpbnRvIGRheXMgd2l0aG91dCBrbm93aW5nCiAgICAvLyB3aGljaCBtb250aHMgeW91IGFyZSBhcmUgdGFsa2luZyBhYm91dCwgc28gd2UgaGF2ZSB0byBzdG9yZQogICAgLy8gaXQgc2VwYXJhdGVseS4KICAgIHRoaXMuX21vbnRocyA9ICttb250aHMgKwogICAgICAgIHF1YXJ0ZXJzICogMyArCiAgICAgICAgeWVhcnMgKiAxMjsKCiAgICB0aGlzLl9kYXRhID0ge307CgogICAgdGhpcy5fbG9jYWxlID0gZ2V0TG9jYWxlKCk7CgogICAgdGhpcy5fYnViYmxlKCk7Cn0KCmZ1bmN0aW9uIGlzRHVyYXRpb24gKG9iaikgewogICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIER1cmF0aW9uOwp9CgpmdW5jdGlvbiBhYnNSb3VuZCAobnVtYmVyKSB7CiAgICBpZiAobnVtYmVyIDwgMCkgewogICAgICAgIHJldHVybiBNYXRoLnJvdW5kKC0xICogbnVtYmVyKSAqIC0xOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpOwogICAgfQp9CgovLyBGT1JNQVRUSU5HCgpmdW5jdGlvbiBvZmZzZXQgKHRva2VuLCBzZXBhcmF0b3IpIHsKICAgIGFkZEZvcm1hdFRva2VuKHRva2VuLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIG9mZnNldCA9IHRoaXMudXRjT2Zmc2V0KCk7CiAgICAgICAgdmFyIHNpZ24gPSAnKyc7CiAgICAgICAgaWYgKG9mZnNldCA8IDApIHsKICAgICAgICAgICAgb2Zmc2V0ID0gLW9mZnNldDsKICAgICAgICAgICAgc2lnbiA9ICctJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHNpZ24gKyB6ZXJvRmlsbCh+fihvZmZzZXQgLyA2MCksIDIpICsgc2VwYXJhdG9yICsgemVyb0ZpbGwofn4ob2Zmc2V0KSAlIDYwLCAyKTsKICAgIH0pOwp9CgpvZmZzZXQoJ1onLCAnOicpOwpvZmZzZXQoJ1paJywgJycpOwoKLy8gUEFSU0lORwoKYWRkUmVnZXhUb2tlbignWicsICBtYXRjaFNob3J0T2Zmc2V0KTsKYWRkUmVnZXhUb2tlbignWlonLCBtYXRjaFNob3J0T2Zmc2V0KTsKYWRkUGFyc2VUb2tlbihbJ1onLCAnWlonXSwgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICBjb25maWcuX3VzZVVUQyA9IHRydWU7CiAgICBjb25maWcuX3R6bSA9IG9mZnNldEZyb21TdHJpbmcobWF0Y2hTaG9ydE9mZnNldCwgaW5wdXQpOwp9KTsKCi8vIEhFTFBFUlMKCi8vIHRpbWV6b25lIGNodW5rZXIKLy8gJysxMDowMCcgPiBbJzEwJywgICcwMCddCi8vICctMTUzMCcgID4gWyctMTUnLCAnMzAnXQp2YXIgY2h1bmtPZmZzZXQgPSAvKFtcK1wtXXxcZFxkKS9naTsKCmZ1bmN0aW9uIG9mZnNldEZyb21TdHJpbmcobWF0Y2hlciwgc3RyaW5nKSB7CiAgICB2YXIgbWF0Y2hlcyA9IChzdHJpbmcgfHwgJycpLm1hdGNoKG1hdGNoZXIpOwoKICAgIGlmIChtYXRjaGVzID09PSBudWxsKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgdmFyIGNodW5rICAgPSBtYXRjaGVzW21hdGNoZXMubGVuZ3RoIC0gMV0gfHwgW107CiAgICB2YXIgcGFydHMgICA9IChjaHVuayArICcnKS5tYXRjaChjaHVua09mZnNldCkgfHwgWyctJywgMCwgMF07CiAgICB2YXIgbWludXRlcyA9ICsocGFydHNbMV0gKiA2MCkgKyB0b0ludChwYXJ0c1syXSk7CgogICAgcmV0dXJuIG1pbnV0ZXMgPT09IDAgPwogICAgICAwIDoKICAgICAgcGFydHNbMF0gPT09ICcrJyA/IG1pbnV0ZXMgOiAtbWludXRlczsKfQoKLy8gUmV0dXJuIGEgbW9tZW50IGZyb20gaW5wdXQsIHRoYXQgaXMgbG9jYWwvdXRjL3pvbmUgZXF1aXZhbGVudCB0byBtb2RlbC4KZnVuY3Rpb24gY2xvbmVXaXRoT2Zmc2V0KGlucHV0LCBtb2RlbCkgewogICAgdmFyIHJlcywgZGlmZjsKICAgIGlmIChtb2RlbC5faXNVVEMpIHsKICAgICAgICByZXMgPSBtb2RlbC5jbG9uZSgpOwogICAgICAgIGRpZmYgPSAoaXNNb21lbnQoaW5wdXQpIHx8IGlzRGF0ZShpbnB1dCkgPyBpbnB1dC52YWx1ZU9mKCkgOiBjcmVhdGVMb2NhbChpbnB1dCkudmFsdWVPZigpKSAtIHJlcy52YWx1ZU9mKCk7CiAgICAgICAgLy8gVXNlIGxvdy1sZXZlbCBhcGksIGJlY2F1c2UgdGhpcyBmbiBpcyBsb3ctbGV2ZWwgYXBpLgogICAgICAgIHJlcy5fZC5zZXRUaW1lKHJlcy5fZC52YWx1ZU9mKCkgKyBkaWZmKTsKICAgICAgICBob29rcy51cGRhdGVPZmZzZXQocmVzLCBmYWxzZSk7CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGNyZWF0ZUxvY2FsKGlucHV0KS5sb2NhbCgpOwogICAgfQp9CgpmdW5jdGlvbiBnZXREYXRlT2Zmc2V0IChtKSB7CiAgICAvLyBPbiBGaXJlZm94LjI0IERhdGUjZ2V0VGltZXpvbmVPZmZzZXQgcmV0dXJucyBhIGZsb2F0aW5nIHBvaW50LgogICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvcHVsbC8xODcxCiAgICByZXR1cm4gLU1hdGgucm91bmQobS5fZC5nZXRUaW1lem9uZU9mZnNldCgpIC8gMTUpICogMTU7Cn0KCi8vIEhPT0tTCgovLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIGEgbW9tZW50IGlzIG11dGF0ZWQuCi8vIEl0IGlzIGludGVuZGVkIHRvIGtlZXAgdGhlIG9mZnNldCBpbiBzeW5jIHdpdGggdGhlIHRpbWV6b25lLgpob29rcy51cGRhdGVPZmZzZXQgPSBmdW5jdGlvbiAoKSB7fTsKCi8vIE1PTUVOVFMKCi8vIGtlZXBMb2NhbFRpbWUgPSB0cnVlIG1lYW5zIG9ubHkgY2hhbmdlIHRoZSB0aW1lem9uZSwgd2l0aG91dAovLyBhZmZlY3RpbmcgdGhlIGxvY2FsIGhvdXIuIFNvIDU6MzE6MjYgKzAzMDAgLS1bdXRjT2Zmc2V0KDIsIHRydWUpXS0tPgovLyA1OjMxOjI2ICswMjAwIEl0IGlzIHBvc3NpYmxlIHRoYXQgNTozMToyNiBkb2Vzbid0IGV4aXN0IHdpdGggb2Zmc2V0Ci8vICswMjAwLCBzbyB3ZSBhZGp1c3QgdGhlIHRpbWUgYXMgbmVlZGVkLCB0byBiZSB2YWxpZC4KLy8KLy8gS2VlcGluZyB0aGUgdGltZSBhY3R1YWxseSBhZGRzL3N1YnRyYWN0cyAob25lIGhvdXIpCi8vIGZyb20gdGhlIGFjdHVhbCByZXByZXNlbnRlZCB0aW1lLiBUaGF0IGlzIHdoeSB3ZSBjYWxsIHVwZGF0ZU9mZnNldAovLyBhIHNlY29uZCB0aW1lLiBJbiBjYXNlIGl0IHdhbnRzIHVzIHRvIGNoYW5nZSB0aGUgb2Zmc2V0IGFnYWluCi8vIF9jaGFuZ2VJblByb2dyZXNzID09IHRydWUgY2FzZSwgdGhlbiB3ZSBoYXZlIHRvIGFkanVzdCwgYmVjYXVzZQovLyB0aGVyZSBpcyBubyBzdWNoIHRpbWUgaW4gdGhlIGdpdmVuIHRpbWV6b25lLgpmdW5jdGlvbiBnZXRTZXRPZmZzZXQgKGlucHV0LCBrZWVwTG9jYWxUaW1lLCBrZWVwTWludXRlcykgewogICAgdmFyIG9mZnNldCA9IHRoaXMuX29mZnNldCB8fCAwLAogICAgICAgIGxvY2FsQWRqdXN0OwogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsID8gdGhpcyA6IE5hTjsKICAgIH0KICAgIGlmIChpbnB1dCAhPSBudWxsKSB7CiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgaW5wdXQgPSBvZmZzZXRGcm9tU3RyaW5nKG1hdGNoU2hvcnRPZmZzZXQsIGlucHV0KTsKICAgICAgICAgICAgaWYgKGlucHV0ID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoTWF0aC5hYnMoaW5wdXQpIDwgMTYgJiYgIWtlZXBNaW51dGVzKSB7CiAgICAgICAgICAgIGlucHV0ID0gaW5wdXQgKiA2MDsKICAgICAgICB9CiAgICAgICAgaWYgKCF0aGlzLl9pc1VUQyAmJiBrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgIGxvY2FsQWRqdXN0ID0gZ2V0RGF0ZU9mZnNldCh0aGlzKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5fb2Zmc2V0ID0gaW5wdXQ7CiAgICAgICAgdGhpcy5faXNVVEMgPSB0cnVlOwogICAgICAgIGlmIChsb2NhbEFkanVzdCAhPSBudWxsKSB7CiAgICAgICAgICAgIHRoaXMuYWRkKGxvY2FsQWRqdXN0LCAnbScpOwogICAgICAgIH0KICAgICAgICBpZiAob2Zmc2V0ICE9PSBpbnB1dCkgewogICAgICAgICAgICBpZiAoIWtlZXBMb2NhbFRpbWUgfHwgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgYWRkU3VidHJhY3QodGhpcywgY3JlYXRlRHVyYXRpb24oaW5wdXQgLSBvZmZzZXQsICdtJyksIDEsIGZhbHNlKTsKICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcykgewogICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAgICAgICAgICBob29rcy51cGRhdGVPZmZzZXQodGhpcywgdHJ1ZSk7CiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VJblByb2dyZXNzID0gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpczsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVVRDID8gb2Zmc2V0IDogZ2V0RGF0ZU9mZnNldCh0aGlzKTsKICAgIH0KfQoKZnVuY3Rpb24gZ2V0U2V0Wm9uZSAoaW5wdXQsIGtlZXBMb2NhbFRpbWUpIHsKICAgIGlmIChpbnB1dCAhPSBudWxsKSB7CiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgaW5wdXQgPSAtaW5wdXQ7CiAgICAgICAgfQoKICAgICAgICB0aGlzLnV0Y09mZnNldChpbnB1dCwga2VlcExvY2FsVGltZSk7CgogICAgICAgIHJldHVybiB0aGlzOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gLXRoaXMudXRjT2Zmc2V0KCk7CiAgICB9Cn0KCmZ1bmN0aW9uIHNldE9mZnNldFRvVVRDIChrZWVwTG9jYWxUaW1lKSB7CiAgICByZXR1cm4gdGhpcy51dGNPZmZzZXQoMCwga2VlcExvY2FsVGltZSk7Cn0KCmZ1bmN0aW9uIHNldE9mZnNldFRvTG9jYWwgKGtlZXBMb2NhbFRpbWUpIHsKICAgIGlmICh0aGlzLl9pc1VUQykgewogICAgICAgIHRoaXMudXRjT2Zmc2V0KDAsIGtlZXBMb2NhbFRpbWUpOwogICAgICAgIHRoaXMuX2lzVVRDID0gZmFsc2U7CgogICAgICAgIGlmIChrZWVwTG9jYWxUaW1lKSB7CiAgICAgICAgICAgIHRoaXMuc3VidHJhY3QoZ2V0RGF0ZU9mZnNldCh0aGlzKSwgJ20nKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdGhpczsKfQoKZnVuY3Rpb24gc2V0T2Zmc2V0VG9QYXJzZWRPZmZzZXQgKCkgewogICAgaWYgKHRoaXMuX3R6bSAhPSBudWxsKSB7CiAgICAgICAgdGhpcy51dGNPZmZzZXQodGhpcy5fdHptLCBmYWxzZSwgdHJ1ZSk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0aGlzLl9pID09PSAnc3RyaW5nJykgewogICAgICAgIHZhciB0Wm9uZSA9IG9mZnNldEZyb21TdHJpbmcobWF0Y2hPZmZzZXQsIHRoaXMuX2kpOwogICAgICAgIGlmICh0Wm9uZSAhPSBudWxsKSB7CiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KHRab25lKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHRoaXMudXRjT2Zmc2V0KDAsIHRydWUpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0aGlzOwp9CgpmdW5jdGlvbiBoYXNBbGlnbmVkSG91ck9mZnNldCAoaW5wdXQpIHsKICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBpbnB1dCA9IGlucHV0ID8gY3JlYXRlTG9jYWwoaW5wdXQpLnV0Y09mZnNldCgpIDogMDsKCiAgICByZXR1cm4gKHRoaXMudXRjT2Zmc2V0KCkgLSBpbnB1dCkgJSA2MCA9PT0gMDsKfQoKZnVuY3Rpb24gaXNEYXlsaWdodFNhdmluZ1RpbWUgKCkgewogICAgcmV0dXJuICgKICAgICAgICB0aGlzLnV0Y09mZnNldCgpID4gdGhpcy5jbG9uZSgpLm1vbnRoKDApLnV0Y09mZnNldCgpIHx8CiAgICAgICAgdGhpcy51dGNPZmZzZXQoKSA+IHRoaXMuY2xvbmUoKS5tb250aCg1KS51dGNPZmZzZXQoKQogICAgKTsKfQoKZnVuY3Rpb24gaXNEYXlsaWdodFNhdmluZ1RpbWVTaGlmdGVkICgpIHsKICAgIGlmICghaXNVbmRlZmluZWQodGhpcy5faXNEU1RTaGlmdGVkKSkgewogICAgICAgIHJldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWQ7CiAgICB9CgogICAgdmFyIGMgPSB7fTsKCiAgICBjb3B5Q29uZmlnKGMsIHRoaXMpOwogICAgYyA9IHByZXBhcmVDb25maWcoYyk7CgogICAgaWYgKGMuX2EpIHsKICAgICAgICB2YXIgb3RoZXIgPSBjLl9pc1VUQyA/IGNyZWF0ZVVUQyhjLl9hKSA6IGNyZWF0ZUxvY2FsKGMuX2EpOwogICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IHRoaXMuaXNWYWxpZCgpICYmCiAgICAgICAgICAgIGNvbXBhcmVBcnJheXMoYy5fYSwgb3RoZXIudG9BcnJheSgpKSA+IDA7CiAgICB9IGVsc2UgewogICAgICAgIHRoaXMuX2lzRFNUU2hpZnRlZCA9IGZhbHNlOwogICAgfQoKICAgIHJldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWQ7Cn0KCmZ1bmN0aW9uIGlzTG9jYWwgKCkgewogICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gIXRoaXMuX2lzVVRDIDogZmFsc2U7Cn0KCmZ1bmN0aW9uIGlzVXRjT2Zmc2V0ICgpIHsKICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMuX2lzVVRDIDogZmFsc2U7Cn0KCmZ1bmN0aW9uIGlzVXRjICgpIHsKICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMuX2lzVVRDICYmIHRoaXMuX29mZnNldCA9PT0gMCA6IGZhbHNlOwp9CgovLyBBU1AuTkVUIGpzb24gZGF0ZSBmb3JtYXQgcmVnZXgKdmFyIGFzcE5ldFJlZ2V4ID0gL14oXC18XCspPyg/OihcZCopWy4gXSk/KFxkKylcOihcZCspKD86XDooXGQrKShcLlxkKik/KT8kLzsKCi8vIGZyb20gaHR0cDovL2RvY3MuY2xvc3VyZS1saWJyYXJ5Lmdvb2dsZWNvZGUuY29tL2dpdC9jbG9zdXJlX2dvb2dfZGF0ZV9kYXRlLmpzLnNvdXJjZS5odG1sCi8vIHNvbWV3aGF0IG1vcmUgaW4gbGluZSB3aXRoIDQuNC4zLjIgMjAwNCBzcGVjLCBidXQgYWxsb3dzIGRlY2ltYWwgYW55d2hlcmUKLy8gYW5kIGZ1cnRoZXIgbW9kaWZpZWQgdG8gYWxsb3cgZm9yIHN0cmluZ3MgY29udGFpbmluZyBib3RoIHdlZWsgYW5kIGRheQp2YXIgaXNvUmVnZXggPSAvXigtfFwrKT9QKD86KFstK10/WzAtOSwuXSopWSk/KD86KFstK10/WzAtOSwuXSopTSk/KD86KFstK10/WzAtOSwuXSopVyk/KD86KFstK10/WzAtOSwuXSopRCk/KD86VCg/OihbLStdP1swLTksLl0qKUgpPyg/OihbLStdP1swLTksLl0qKU0pPyg/OihbLStdP1swLTksLl0qKVMpPyk/JC87CgpmdW5jdGlvbiBjcmVhdGVEdXJhdGlvbiAoaW5wdXQsIGtleSkgewogICAgdmFyIGR1cmF0aW9uID0gaW5wdXQsCiAgICAgICAgLy8gbWF0Y2hpbmcgYWdhaW5zdCByZWdleHAgaXMgZXhwZW5zaXZlLCBkbyBpdCBvbiBkZW1hbmQKICAgICAgICBtYXRjaCA9IG51bGwsCiAgICAgICAgc2lnbiwKICAgICAgICByZXQsCiAgICAgICAgZGlmZlJlczsKCiAgICBpZiAoaXNEdXJhdGlvbihpbnB1dCkpIHsKICAgICAgICBkdXJhdGlvbiA9IHsKICAgICAgICAgICAgbXMgOiBpbnB1dC5fbWlsbGlzZWNvbmRzLAogICAgICAgICAgICBkICA6IGlucHV0Ll9kYXlzLAogICAgICAgICAgICBNICA6IGlucHV0Ll9tb250aHMKICAgICAgICB9OwogICAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkpIHsKICAgICAgICBkdXJhdGlvbiA9IHt9OwogICAgICAgIGlmIChrZXkpIHsKICAgICAgICAgICAgZHVyYXRpb25ba2V5XSA9IGlucHV0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGR1cmF0aW9uLm1pbGxpc2Vjb25kcyA9IGlucHV0OwogICAgICAgIH0KICAgIH0gZWxzZSBpZiAoISEobWF0Y2ggPSBhc3BOZXRSZWdleC5leGVjKGlucHV0KSkpIHsKICAgICAgICBzaWduID0gKG1hdGNoWzFdID09PSAnLScpID8gLTEgOiAxOwogICAgICAgIGR1cmF0aW9uID0gewogICAgICAgICAgICB5ICA6IDAsCiAgICAgICAgICAgIGQgIDogdG9JbnQobWF0Y2hbREFURV0pICAgICAgICAgICAgICAgICAgICAgICAgICogc2lnbiwKICAgICAgICAgICAgaCAgOiB0b0ludChtYXRjaFtIT1VSXSkgICAgICAgICAgICAgICAgICAgICAgICAgKiBzaWduLAogICAgICAgICAgICBtICA6IHRvSW50KG1hdGNoW01JTlVURV0pICAgICAgICAgICAgICAgICAgICAgICAqIHNpZ24sCiAgICAgICAgICAgIHMgIDogdG9JbnQobWF0Y2hbU0VDT05EXSkgICAgICAgICAgICAgICAgICAgICAgICogc2lnbiwKICAgICAgICAgICAgbXMgOiB0b0ludChhYnNSb3VuZChtYXRjaFtNSUxMSVNFQ09ORF0gKiAxMDAwKSkgKiBzaWduIC8vIHRoZSBtaWxsaXNlY29uZCBkZWNpbWFsIHBvaW50IGlzIGluY2x1ZGVkIGluIHRoZSBtYXRjaAogICAgICAgIH07CiAgICB9IGVsc2UgaWYgKCEhKG1hdGNoID0gaXNvUmVnZXguZXhlYyhpbnB1dCkpKSB7CiAgICAgICAgc2lnbiA9IChtYXRjaFsxXSA9PT0gJy0nKSA/IC0xIDogKG1hdGNoWzFdID09PSAnKycpID8gMSA6IDE7CiAgICAgICAgZHVyYXRpb24gPSB7CiAgICAgICAgICAgIHkgOiBwYXJzZUlzbyhtYXRjaFsyXSwgc2lnbiksCiAgICAgICAgICAgIE0gOiBwYXJzZUlzbyhtYXRjaFszXSwgc2lnbiksCiAgICAgICAgICAgIHcgOiBwYXJzZUlzbyhtYXRjaFs0XSwgc2lnbiksCiAgICAgICAgICAgIGQgOiBwYXJzZUlzbyhtYXRjaFs1XSwgc2lnbiksCiAgICAgICAgICAgIGggOiBwYXJzZUlzbyhtYXRjaFs2XSwgc2lnbiksCiAgICAgICAgICAgIG0gOiBwYXJzZUlzbyhtYXRjaFs3XSwgc2lnbiksCiAgICAgICAgICAgIHMgOiBwYXJzZUlzbyhtYXRjaFs4XSwgc2lnbikKICAgICAgICB9OwogICAgfSBlbHNlIGlmIChkdXJhdGlvbiA9PSBudWxsKSB7Ly8gY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZAogICAgICAgIGR1cmF0aW9uID0ge307CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ29iamVjdCcgJiYgKCdmcm9tJyBpbiBkdXJhdGlvbiB8fCAndG8nIGluIGR1cmF0aW9uKSkgewogICAgICAgIGRpZmZSZXMgPSBtb21lbnRzRGlmZmVyZW5jZShjcmVhdGVMb2NhbChkdXJhdGlvbi5mcm9tKSwgY3JlYXRlTG9jYWwoZHVyYXRpb24udG8pKTsKCiAgICAgICAgZHVyYXRpb24gPSB7fTsKICAgICAgICBkdXJhdGlvbi5tcyA9IGRpZmZSZXMubWlsbGlzZWNvbmRzOwogICAgICAgIGR1cmF0aW9uLk0gPSBkaWZmUmVzLm1vbnRoczsKICAgIH0KCiAgICByZXQgPSBuZXcgRHVyYXRpb24oZHVyYXRpb24pOwoKICAgIGlmIChpc0R1cmF0aW9uKGlucHV0KSAmJiBoYXNPd25Qcm9wKGlucHV0LCAnX2xvY2FsZScpKSB7CiAgICAgICAgcmV0Ll9sb2NhbGUgPSBpbnB1dC5fbG9jYWxlOwogICAgfQoKICAgIHJldHVybiByZXQ7Cn0KCmNyZWF0ZUR1cmF0aW9uLmZuID0gRHVyYXRpb24ucHJvdG90eXBlOwpjcmVhdGVEdXJhdGlvbi5pbnZhbGlkID0gY3JlYXRlSW52YWxpZCQxOwoKZnVuY3Rpb24gcGFyc2VJc28gKGlucCwgc2lnbikgewogICAgLy8gV2UnZCBub3JtYWxseSB1c2Ugfn5pbnAgZm9yIHRoaXMsIGJ1dCB1bmZvcnR1bmF0ZWx5IGl0IGFsc28KICAgIC8vIGNvbnZlcnRzIGZsb2F0cyB0byBpbnRzLgogICAgLy8gaW5wIG1heSBiZSB1bmRlZmluZWQsIHNvIGNhcmVmdWwgY2FsbGluZyByZXBsYWNlIG9uIGl0LgogICAgdmFyIHJlcyA9IGlucCAmJiBwYXJzZUZsb2F0KGlucC5yZXBsYWNlKCcsJywgJy4nKSk7CiAgICAvLyBhcHBseSBzaWduIHdoaWxlIHdlJ3JlIGF0IGl0CiAgICByZXR1cm4gKGlzTmFOKHJlcykgPyAwIDogcmVzKSAqIHNpZ247Cn0KCmZ1bmN0aW9uIHBvc2l0aXZlTW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpIHsKICAgIHZhciByZXMgPSB7bWlsbGlzZWNvbmRzOiAwLCBtb250aHM6IDB9OwoKICAgIHJlcy5tb250aHMgPSBvdGhlci5tb250aCgpIC0gYmFzZS5tb250aCgpICsKICAgICAgICAob3RoZXIueWVhcigpIC0gYmFzZS55ZWFyKCkpICogMTI7CiAgICBpZiAoYmFzZS5jbG9uZSgpLmFkZChyZXMubW9udGhzLCAnTScpLmlzQWZ0ZXIob3RoZXIpKSB7CiAgICAgICAgLS1yZXMubW9udGhzOwogICAgfQoKICAgIHJlcy5taWxsaXNlY29uZHMgPSArb3RoZXIgLSArKGJhc2UuY2xvbmUoKS5hZGQocmVzLm1vbnRocywgJ00nKSk7CgogICAgcmV0dXJuIHJlczsKfQoKZnVuY3Rpb24gbW9tZW50c0RpZmZlcmVuY2UoYmFzZSwgb3RoZXIpIHsKICAgIHZhciByZXM7CiAgICBpZiAoIShiYXNlLmlzVmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkpKSB7CiAgICAgICAgcmV0dXJuIHttaWxsaXNlY29uZHM6IDAsIG1vbnRoczogMH07CiAgICB9CgogICAgb3RoZXIgPSBjbG9uZVdpdGhPZmZzZXQob3RoZXIsIGJhc2UpOwogICAgaWYgKGJhc2UuaXNCZWZvcmUob3RoZXIpKSB7CiAgICAgICAgcmVzID0gcG9zaXRpdmVNb21lbnRzRGlmZmVyZW5jZShiYXNlLCBvdGhlcik7CiAgICB9IGVsc2UgewogICAgICAgIHJlcyA9IHBvc2l0aXZlTW9tZW50c0RpZmZlcmVuY2Uob3RoZXIsIGJhc2UpOwogICAgICAgIHJlcy5taWxsaXNlY29uZHMgPSAtcmVzLm1pbGxpc2Vjb25kczsKICAgICAgICByZXMubW9udGhzID0gLXJlcy5tb250aHM7CiAgICB9CgogICAgcmV0dXJuIHJlczsKfQoKLy8gVE9ETzogcmVtb3ZlICduYW1lJyBhcmcgYWZ0ZXIgZGVwcmVjYXRpb24gaXMgcmVtb3ZlZApmdW5jdGlvbiBjcmVhdGVBZGRlcihkaXJlY3Rpb24sIG5hbWUpIHsKICAgIHJldHVybiBmdW5jdGlvbiAodmFsLCBwZXJpb2QpIHsKICAgICAgICB2YXIgZHVyLCB0bXA7CiAgICAgICAgLy9pbnZlcnQgdGhlIGFyZ3VtZW50cywgYnV0IGNvbXBsYWluIGFib3V0IGl0CiAgICAgICAgaWYgKHBlcmlvZCAhPT0gbnVsbCAmJiAhaXNOYU4oK3BlcmlvZCkpIHsKICAgICAgICAgICAgZGVwcmVjYXRlU2ltcGxlKG5hbWUsICdtb21lbnQoKS4nICsgbmFtZSAgKyAnKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG1vbWVudCgpLicgKyBuYW1lICsgJyhudW1iZXIsIHBlcmlvZCkuICcgKwogICAgICAgICAgICAnU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvYWRkLWludmVydGVkLXBhcmFtLyBmb3IgbW9yZSBpbmZvLicpOwogICAgICAgICAgICB0bXAgPSB2YWw7IHZhbCA9IHBlcmlvZDsgcGVyaW9kID0gdG1wOwogICAgICAgIH0KCiAgICAgICAgdmFsID0gdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgPyArdmFsIDogdmFsOwogICAgICAgIGR1ciA9IGNyZWF0ZUR1cmF0aW9uKHZhbCwgcGVyaW9kKTsKICAgICAgICBhZGRTdWJ0cmFjdCh0aGlzLCBkdXIsIGRpcmVjdGlvbik7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9Owp9CgpmdW5jdGlvbiBhZGRTdWJ0cmFjdCAobW9tLCBkdXJhdGlvbiwgaXNBZGRpbmcsIHVwZGF0ZU9mZnNldCkgewogICAgdmFyIG1pbGxpc2Vjb25kcyA9IGR1cmF0aW9uLl9taWxsaXNlY29uZHMsCiAgICAgICAgZGF5cyA9IGFic1JvdW5kKGR1cmF0aW9uLl9kYXlzKSwKICAgICAgICBtb250aHMgPSBhYnNSb3VuZChkdXJhdGlvbi5fbW9udGhzKTsKCiAgICBpZiAoIW1vbS5pc1ZhbGlkKCkpIHsKICAgICAgICAvLyBObyBvcAogICAgICAgIHJldHVybjsKICAgIH0KCiAgICB1cGRhdGVPZmZzZXQgPSB1cGRhdGVPZmZzZXQgPT0gbnVsbCA/IHRydWUgOiB1cGRhdGVPZmZzZXQ7CgogICAgaWYgKG1vbnRocykgewogICAgICAgIHNldE1vbnRoKG1vbSwgZ2V0KG1vbSwgJ01vbnRoJykgKyBtb250aHMgKiBpc0FkZGluZyk7CiAgICB9CiAgICBpZiAoZGF5cykgewogICAgICAgIHNldCQxKG1vbSwgJ0RhdGUnLCBnZXQobW9tLCAnRGF0ZScpICsgZGF5cyAqIGlzQWRkaW5nKTsKICAgIH0KICAgIGlmIChtaWxsaXNlY29uZHMpIHsKICAgICAgICBtb20uX2Quc2V0VGltZShtb20uX2QudmFsdWVPZigpICsgbWlsbGlzZWNvbmRzICogaXNBZGRpbmcpOwogICAgfQogICAgaWYgKHVwZGF0ZU9mZnNldCkgewogICAgICAgIGhvb2tzLnVwZGF0ZU9mZnNldChtb20sIGRheXMgfHwgbW9udGhzKTsKICAgIH0KfQoKdmFyIGFkZCAgICAgID0gY3JlYXRlQWRkZXIoMSwgJ2FkZCcpOwp2YXIgc3VidHJhY3QgPSBjcmVhdGVBZGRlcigtMSwgJ3N1YnRyYWN0Jyk7CgpmdW5jdGlvbiBnZXRDYWxlbmRhckZvcm1hdChteU1vbWVudCwgbm93KSB7CiAgICB2YXIgZGlmZiA9IG15TW9tZW50LmRpZmYobm93LCAnZGF5cycsIHRydWUpOwogICAgcmV0dXJuIGRpZmYgPCAtNiA/ICdzYW1lRWxzZScgOgogICAgICAgICAgICBkaWZmIDwgLTEgPyAnbGFzdFdlZWsnIDoKICAgICAgICAgICAgZGlmZiA8IDAgPyAnbGFzdERheScgOgogICAgICAgICAgICBkaWZmIDwgMSA/ICdzYW1lRGF5JyA6CiAgICAgICAgICAgIGRpZmYgPCAyID8gJ25leHREYXknIDoKICAgICAgICAgICAgZGlmZiA8IDcgPyAnbmV4dFdlZWsnIDogJ3NhbWVFbHNlJzsKfQoKZnVuY3Rpb24gY2FsZW5kYXIkMSAodGltZSwgZm9ybWF0cykgewogICAgLy8gV2Ugd2FudCB0byBjb21wYXJlIHRoZSBzdGFydCBvZiB0b2RheSwgdnMgdGhpcy4KICAgIC8vIEdldHRpbmcgc3RhcnQtb2YtdG9kYXkgZGVwZW5kcyBvbiB3aGV0aGVyIHdlJ3JlIGxvY2FsL3V0Yy9vZmZzZXQgb3Igbm90LgogICAgdmFyIG5vdyA9IHRpbWUgfHwgY3JlYXRlTG9jYWwoKSwKICAgICAgICBzb2QgPSBjbG9uZVdpdGhPZmZzZXQobm93LCB0aGlzKS5zdGFydE9mKCdkYXknKSwKICAgICAgICBmb3JtYXQgPSBob29rcy5jYWxlbmRhckZvcm1hdCh0aGlzLCBzb2QpIHx8ICdzYW1lRWxzZSc7CgogICAgdmFyIG91dHB1dCA9IGZvcm1hdHMgJiYgKGlzRnVuY3Rpb24oZm9ybWF0c1tmb3JtYXRdKSA/IGZvcm1hdHNbZm9ybWF0XS5jYWxsKHRoaXMsIG5vdykgOiBmb3JtYXRzW2Zvcm1hdF0pOwoKICAgIHJldHVybiB0aGlzLmZvcm1hdChvdXRwdXQgfHwgdGhpcy5sb2NhbGVEYXRhKCkuY2FsZW5kYXIoZm9ybWF0LCB0aGlzLCBjcmVhdGVMb2NhbChub3cpKSk7Cn0KCmZ1bmN0aW9uIGNsb25lICgpIHsKICAgIHJldHVybiBuZXcgTW9tZW50KHRoaXMpOwp9CgpmdW5jdGlvbiBpc0FmdGVyIChpbnB1dCwgdW5pdHMpIHsKICAgIHZhciBsb2NhbElucHV0ID0gaXNNb21lbnQoaW5wdXQpID8gaW5wdXQgOiBjcmVhdGVMb2NhbChpbnB1dCk7CiAgICBpZiAoISh0aGlzLmlzVmFsaWQoKSAmJiBsb2NhbElucHV0LmlzVmFsaWQoKSkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKCFpc1VuZGVmaW5lZCh1bml0cykgPyB1bml0cyA6ICdtaWxsaXNlY29uZCcpOwogICAgaWYgKHVuaXRzID09PSAnbWlsbGlzZWNvbmQnKSB7CiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID4gbG9jYWxJbnB1dC52YWx1ZU9mKCk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBsb2NhbElucHV0LnZhbHVlT2YoKSA8IHRoaXMuY2xvbmUoKS5zdGFydE9mKHVuaXRzKS52YWx1ZU9mKCk7CiAgICB9Cn0KCmZ1bmN0aW9uIGlzQmVmb3JlIChpbnB1dCwgdW5pdHMpIHsKICAgIHZhciBsb2NhbElucHV0ID0gaXNNb21lbnQoaW5wdXQpID8gaW5wdXQgOiBjcmVhdGVMb2NhbChpbnB1dCk7CiAgICBpZiAoISh0aGlzLmlzVmFsaWQoKSAmJiBsb2NhbElucHV0LmlzVmFsaWQoKSkpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKCFpc1VuZGVmaW5lZCh1bml0cykgPyB1bml0cyA6ICdtaWxsaXNlY29uZCcpOwogICAgaWYgKHVuaXRzID09PSAnbWlsbGlzZWNvbmQnKSB7CiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpIDwgbG9jYWxJbnB1dC52YWx1ZU9mKCk7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLmNsb25lKCkuZW5kT2YodW5pdHMpLnZhbHVlT2YoKSA8IGxvY2FsSW5wdXQudmFsdWVPZigpOwogICAgfQp9CgpmdW5jdGlvbiBpc0JldHdlZW4gKGZyb20sIHRvLCB1bml0cywgaW5jbHVzaXZpdHkpIHsKICAgIGluY2x1c2l2aXR5ID0gaW5jbHVzaXZpdHkgfHwgJygpJzsKICAgIHJldHVybiAoaW5jbHVzaXZpdHlbMF0gPT09ICcoJyA/IHRoaXMuaXNBZnRlcihmcm9tLCB1bml0cykgOiAhdGhpcy5pc0JlZm9yZShmcm9tLCB1bml0cykpICYmCiAgICAgICAgKGluY2x1c2l2aXR5WzFdID09PSAnKScgPyB0aGlzLmlzQmVmb3JlKHRvLCB1bml0cykgOiAhdGhpcy5pc0FmdGVyKHRvLCB1bml0cykpOwp9CgpmdW5jdGlvbiBpc1NhbWUgKGlucHV0LCB1bml0cykgewogICAgdmFyIGxvY2FsSW5wdXQgPSBpc01vbWVudChpbnB1dCkgPyBpbnB1dCA6IGNyZWF0ZUxvY2FsKGlucHV0KSwKICAgICAgICBpbnB1dE1zOwogICAgaWYgKCEodGhpcy5pc1ZhbGlkKCkgJiYgbG9jYWxJbnB1dC5pc1ZhbGlkKCkpKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyB8fCAnbWlsbGlzZWNvbmQnKTsKICAgIGlmICh1bml0cyA9PT0gJ21pbGxpc2Vjb25kJykgewogICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gbG9jYWxJbnB1dC52YWx1ZU9mKCk7CiAgICB9IGVsc2UgewogICAgICAgIGlucHV0TXMgPSBsb2NhbElucHV0LnZhbHVlT2YoKTsKICAgICAgICByZXR1cm4gdGhpcy5jbG9uZSgpLnN0YXJ0T2YodW5pdHMpLnZhbHVlT2YoKSA8PSBpbnB1dE1zICYmIGlucHV0TXMgPD0gdGhpcy5jbG9uZSgpLmVuZE9mKHVuaXRzKS52YWx1ZU9mKCk7CiAgICB9Cn0KCmZ1bmN0aW9uIGlzU2FtZU9yQWZ0ZXIgKGlucHV0LCB1bml0cykgewogICAgcmV0dXJuIHRoaXMuaXNTYW1lKGlucHV0LCB1bml0cykgfHwgdGhpcy5pc0FmdGVyKGlucHV0LHVuaXRzKTsKfQoKZnVuY3Rpb24gaXNTYW1lT3JCZWZvcmUgKGlucHV0LCB1bml0cykgewogICAgcmV0dXJuIHRoaXMuaXNTYW1lKGlucHV0LCB1bml0cykgfHwgdGhpcy5pc0JlZm9yZShpbnB1dCx1bml0cyk7Cn0KCmZ1bmN0aW9uIGRpZmYgKGlucHV0LCB1bml0cywgYXNGbG9hdCkgewogICAgdmFyIHRoYXQsCiAgICAgICAgem9uZURlbHRhLAogICAgICAgIGRlbHRhLCBvdXRwdXQ7CgogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBOYU47CiAgICB9CgogICAgdGhhdCA9IGNsb25lV2l0aE9mZnNldChpbnB1dCwgdGhpcyk7CgogICAgaWYgKCF0aGF0LmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBOYU47CiAgICB9CgogICAgem9uZURlbHRhID0gKHRoYXQudXRjT2Zmc2V0KCkgLSB0aGlzLnV0Y09mZnNldCgpKSAqIDZlNDsKCiAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKCiAgICBzd2l0Y2ggKHVuaXRzKSB7CiAgICAgICAgY2FzZSAneWVhcic6IG91dHB1dCA9IG1vbnRoRGlmZih0aGlzLCB0aGF0KSAvIDEyOyBicmVhazsKICAgICAgICBjYXNlICdtb250aCc6IG91dHB1dCA9IG1vbnRoRGlmZih0aGlzLCB0aGF0KTsgYnJlYWs7CiAgICAgICAgY2FzZSAncXVhcnRlcic6IG91dHB1dCA9IG1vbnRoRGlmZih0aGlzLCB0aGF0KSAvIDM7IGJyZWFrOwogICAgICAgIGNhc2UgJ3NlY29uZCc6IG91dHB1dCA9ICh0aGlzIC0gdGhhdCkgLyAxZTM7IGJyZWFrOyAvLyAxMDAwCiAgICAgICAgY2FzZSAnbWludXRlJzogb3V0cHV0ID0gKHRoaXMgLSB0aGF0KSAvIDZlNDsgYnJlYWs7IC8vIDEwMDAgKiA2MAogICAgICAgIGNhc2UgJ2hvdXInOiBvdXRwdXQgPSAodGhpcyAtIHRoYXQpIC8gMzZlNTsgYnJlYWs7IC8vIDEwMDAgKiA2MCAqIDYwCiAgICAgICAgY2FzZSAnZGF5Jzogb3V0cHV0ID0gKHRoaXMgLSB0aGF0IC0gem9uZURlbHRhKSAvIDg2NGU1OyBicmVhazsgLy8gMTAwMCAqIDYwICogNjAgKiAyNCwgbmVnYXRlIGRzdAogICAgICAgIGNhc2UgJ3dlZWsnOiBvdXRwdXQgPSAodGhpcyAtIHRoYXQgLSB6b25lRGVsdGEpIC8gNjA0OGU1OyBicmVhazsgLy8gMTAwMCAqIDYwICogNjAgKiAyNCAqIDcsIG5lZ2F0ZSBkc3QKICAgICAgICBkZWZhdWx0OiBvdXRwdXQgPSB0aGlzIC0gdGhhdDsKICAgIH0KCiAgICByZXR1cm4gYXNGbG9hdCA/IG91dHB1dCA6IGFic0Zsb29yKG91dHB1dCk7Cn0KCmZ1bmN0aW9uIG1vbnRoRGlmZiAoYSwgYikgewogICAgLy8gZGlmZmVyZW5jZSBpbiBtb250aHMKICAgIHZhciB3aG9sZU1vbnRoRGlmZiA9ICgoYi55ZWFyKCkgLSBhLnllYXIoKSkgKiAxMikgKyAoYi5tb250aCgpIC0gYS5tb250aCgpKSwKICAgICAgICAvLyBiIGlzIGluIChhbmNob3IgLSAxIG1vbnRoLCBhbmNob3IgKyAxIG1vbnRoKQogICAgICAgIGFuY2hvciA9IGEuY2xvbmUoKS5hZGQod2hvbGVNb250aERpZmYsICdtb250aHMnKSwKICAgICAgICBhbmNob3IyLCBhZGp1c3Q7CgogICAgaWYgKGIgLSBhbmNob3IgPCAwKSB7CiAgICAgICAgYW5jaG9yMiA9IGEuY2xvbmUoKS5hZGQod2hvbGVNb250aERpZmYgLSAxLCAnbW9udGhzJyk7CiAgICAgICAgLy8gbGluZWFyIGFjcm9zcyB0aGUgbW9udGgKICAgICAgICBhZGp1c3QgPSAoYiAtIGFuY2hvcikgLyAoYW5jaG9yIC0gYW5jaG9yMik7CiAgICB9IGVsc2UgewogICAgICAgIGFuY2hvcjIgPSBhLmNsb25lKCkuYWRkKHdob2xlTW9udGhEaWZmICsgMSwgJ21vbnRocycpOwogICAgICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoCiAgICAgICAgYWRqdXN0ID0gKGIgLSBhbmNob3IpIC8gKGFuY2hvcjIgLSBhbmNob3IpOwogICAgfQoKICAgIC8vY2hlY2sgZm9yIG5lZ2F0aXZlIHplcm8sIHJldHVybiB6ZXJvIGlmIG5lZ2F0aXZlIHplcm8KICAgIHJldHVybiAtKHdob2xlTW9udGhEaWZmICsgYWRqdXN0KSB8fCAwOwp9Cgpob29rcy5kZWZhdWx0Rm9ybWF0ID0gJ1lZWVktTU0tRERUSEg6bW06c3NaJzsKaG9va3MuZGVmYXVsdEZvcm1hdFV0YyA9ICdZWVlZLU1NLUREVEhIOm1tOnNzW1pdJzsKCmZ1bmN0aW9uIHRvU3RyaW5nICgpIHsKICAgIHJldHVybiB0aGlzLmNsb25lKCkubG9jYWxlKCdlbicpLmZvcm1hdCgnZGRkIE1NTSBERCBZWVlZIEhIOm1tOnNzIFtHTVRdWlonKTsKfQoKZnVuY3Rpb24gdG9JU09TdHJpbmcoa2VlcE9mZnNldCkgewogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBudWxsOwogICAgfQogICAgdmFyIHV0YyA9IGtlZXBPZmZzZXQgIT09IHRydWU7CiAgICB2YXIgbSA9IHV0YyA/IHRoaXMuY2xvbmUoKS51dGMoKSA6IHRoaXM7CiAgICBpZiAobS55ZWFyKCkgPCAwIHx8IG0ueWVhcigpID4gOTk5OSkgewogICAgICAgIHJldHVybiBmb3JtYXRNb21lbnQobSwgdXRjID8gJ1lZWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScgOiAnWVlZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTWicpOwogICAgfQogICAgaWYgKGlzRnVuY3Rpb24oRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpKSB7CiAgICAgICAgLy8gbmF0aXZlIGltcGxlbWVudGF0aW9uIGlzIH41MHggZmFzdGVyLCB1c2UgaXQgd2hlbiB3ZSBjYW4KICAgICAgICBpZiAodXRjKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuX2QudmFsdWVPZigpKS50b0lTT1N0cmluZygpLnJlcGxhY2UoJ1onLCBmb3JtYXRNb21lbnQobSwgJ1onKSk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZvcm1hdE1vbWVudChtLCB1dGMgPyAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXScgOiAnWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1onKTsKfQoKLyoqCiAqIFJldHVybiBhIGh1bWFuIHJlYWRhYmxlIHJlcHJlc2VudGF0aW9uIG9mIGEgbW9tZW50IHRoYXQgY2FuCiAqIGFsc28gYmUgZXZhbHVhdGVkIHRvIGdldCBhIG5ldyBtb21lbnQgd2hpY2ggaXMgdGhlIHNhbWUKICoKICogQGxpbmsgaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvbGF0ZXN0L2RvY3MvYXBpL3V0aWwuaHRtbCN1dGlsX2N1c3RvbV9pbnNwZWN0X2Z1bmN0aW9uX29uX29iamVjdHMKICovCmZ1bmN0aW9uIGluc3BlY3QgKCkgewogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiAnbW9tZW50LmludmFsaWQoLyogJyArIHRoaXMuX2kgKyAnICovKSc7CiAgICB9CiAgICB2YXIgZnVuYyA9ICdtb21lbnQnOwogICAgdmFyIHpvbmUgPSAnJzsKICAgIGlmICghdGhpcy5pc0xvY2FsKCkpIHsKICAgICAgICBmdW5jID0gdGhpcy51dGNPZmZzZXQoKSA9PT0gMCA/ICdtb21lbnQudXRjJyA6ICdtb21lbnQucGFyc2Vab25lJzsKICAgICAgICB6b25lID0gJ1onOwogICAgfQogICAgdmFyIHByZWZpeCA9ICdbJyArIGZ1bmMgKyAnKCJdJzsKICAgIHZhciB5ZWFyID0gKDAgPD0gdGhpcy55ZWFyKCkgJiYgdGhpcy55ZWFyKCkgPD0gOTk5OSkgPyAnWVlZWScgOiAnWVlZWVlZJzsKICAgIHZhciBkYXRldGltZSA9ICctTU0tRERbVF1ISDptbTpzcy5TU1MnOwogICAgdmFyIHN1ZmZpeCA9IHpvbmUgKyAnWyIpXSc7CgogICAgcmV0dXJuIHRoaXMuZm9ybWF0KHByZWZpeCArIHllYXIgKyBkYXRldGltZSArIHN1ZmZpeCk7Cn0KCmZ1bmN0aW9uIGZvcm1hdCAoaW5wdXRTdHJpbmcpIHsKICAgIGlmICghaW5wdXRTdHJpbmcpIHsKICAgICAgICBpbnB1dFN0cmluZyA9IHRoaXMuaXNVdGMoKSA/IGhvb2tzLmRlZmF1bHRGb3JtYXRVdGMgOiBob29rcy5kZWZhdWx0Rm9ybWF0OwogICAgfQogICAgdmFyIG91dHB1dCA9IGZvcm1hdE1vbWVudCh0aGlzLCBpbnB1dFN0cmluZyk7CiAgICByZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkucG9zdGZvcm1hdChvdXRwdXQpOwp9CgpmdW5jdGlvbiBmcm9tICh0aW1lLCB3aXRob3V0U3VmZml4KSB7CiAgICBpZiAodGhpcy5pc1ZhbGlkKCkgJiYKICAgICAgICAgICAgKChpc01vbWVudCh0aW1lKSAmJiB0aW1lLmlzVmFsaWQoKSkgfHwKICAgICAgICAgICAgIGNyZWF0ZUxvY2FsKHRpbWUpLmlzVmFsaWQoKSkpIHsKICAgICAgICByZXR1cm4gY3JlYXRlRHVyYXRpb24oe3RvOiB0aGlzLCBmcm9tOiB0aW1lfSkubG9jYWxlKHRoaXMubG9jYWxlKCkpLmh1bWFuaXplKCF3aXRob3V0U3VmZml4KTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7CiAgICB9Cn0KCmZ1bmN0aW9uIGZyb21Ob3cgKHdpdGhvdXRTdWZmaXgpIHsKICAgIHJldHVybiB0aGlzLmZyb20oY3JlYXRlTG9jYWwoKSwgd2l0aG91dFN1ZmZpeCk7Cn0KCmZ1bmN0aW9uIHRvICh0aW1lLCB3aXRob3V0U3VmZml4KSB7CiAgICBpZiAodGhpcy5pc1ZhbGlkKCkgJiYKICAgICAgICAgICAgKChpc01vbWVudCh0aW1lKSAmJiB0aW1lLmlzVmFsaWQoKSkgfHwKICAgICAgICAgICAgIGNyZWF0ZUxvY2FsKHRpbWUpLmlzVmFsaWQoKSkpIHsKICAgICAgICByZXR1cm4gY3JlYXRlRHVyYXRpb24oe2Zyb206IHRoaXMsIHRvOiB0aW1lfSkubG9jYWxlKHRoaXMubG9jYWxlKCkpLmh1bWFuaXplKCF3aXRob3V0U3VmZml4KTsKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7CiAgICB9Cn0KCmZ1bmN0aW9uIHRvTm93ICh3aXRob3V0U3VmZml4KSB7CiAgICByZXR1cm4gdGhpcy50byhjcmVhdGVMb2NhbCgpLCB3aXRob3V0U3VmZml4KTsKfQoKLy8gSWYgcGFzc2VkIGEgbG9jYWxlIGtleSwgaXQgd2lsbCBzZXQgdGhlIGxvY2FsZSBmb3IgdGhpcwovLyBpbnN0YW5jZS4gIE90aGVyd2lzZSwgaXQgd2lsbCByZXR1cm4gdGhlIGxvY2FsZSBjb25maWd1cmF0aW9uCi8vIHZhcmlhYmxlcyBmb3IgdGhpcyBpbnN0YW5jZS4KZnVuY3Rpb24gbG9jYWxlIChrZXkpIHsKICAgIHZhciBuZXdMb2NhbGVEYXRhOwoKICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkgewogICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGUuX2FiYnI7CiAgICB9IGVsc2UgewogICAgICAgIG5ld0xvY2FsZURhdGEgPSBnZXRMb2NhbGUoa2V5KTsKICAgICAgICBpZiAobmV3TG9jYWxlRGF0YSAhPSBudWxsKSB7CiAgICAgICAgICAgIHRoaXMuX2xvY2FsZSA9IG5ld0xvY2FsZURhdGE7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0aGlzOwogICAgfQp9Cgp2YXIgbGFuZyA9IGRlcHJlY2F0ZSgKICAgICdtb21lbnQoKS5sYW5nKCkgaXMgZGVwcmVjYXRlZC4gSW5zdGVhZCwgdXNlIG1vbWVudCgpLmxvY2FsZURhdGEoKSB0byBnZXQgdGhlIGxhbmd1YWdlIGNvbmZpZ3VyYXRpb24uIFVzZSBtb21lbnQoKS5sb2NhbGUoKSB0byBjaGFuZ2UgbGFuZ3VhZ2VzLicsCiAgICBmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGUoa2V5KTsKICAgICAgICB9CiAgICB9Cik7CgpmdW5jdGlvbiBsb2NhbGVEYXRhICgpIHsKICAgIHJldHVybiB0aGlzLl9sb2NhbGU7Cn0KCmZ1bmN0aW9uIHN0YXJ0T2YgKHVuaXRzKSB7CiAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgIC8vIHRoZSBmb2xsb3dpbmcgc3dpdGNoIGludGVudGlvbmFsbHkgb21pdHMgYnJlYWsga2V5d29yZHMKICAgIC8vIHRvIHV0aWxpemUgZmFsbGluZyB0aHJvdWdoIHRoZSBjYXNlcy4KICAgIHN3aXRjaCAodW5pdHMpIHsKICAgICAgICBjYXNlICd5ZWFyJzoKICAgICAgICAgICAgdGhpcy5tb250aCgwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ3F1YXJ0ZXInOgogICAgICAgIGNhc2UgJ21vbnRoJzoKICAgICAgICAgICAgdGhpcy5kYXRlKDEpOwogICAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovCiAgICAgICAgY2FzZSAnd2Vlayc6CiAgICAgICAgY2FzZSAnaXNvV2Vlayc6CiAgICAgICAgY2FzZSAnZGF5JzoKICAgICAgICBjYXNlICdkYXRlJzoKICAgICAgICAgICAgdGhpcy5ob3VycygwKTsKICAgICAgICAgICAgLyogZmFsbHMgdGhyb3VnaCAqLwogICAgICAgIGNhc2UgJ2hvdXInOgogICAgICAgICAgICB0aGlzLm1pbnV0ZXMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdtaW51dGUnOgogICAgICAgICAgICB0aGlzLnNlY29uZHMoMCk7CiAgICAgICAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi8KICAgICAgICBjYXNlICdzZWNvbmQnOgogICAgICAgICAgICB0aGlzLm1pbGxpc2Vjb25kcygwKTsKICAgIH0KCiAgICAvLyB3ZWVrcyBhcmUgYSBzcGVjaWFsIGNhc2UKICAgIGlmICh1bml0cyA9PT0gJ3dlZWsnKSB7CiAgICAgICAgdGhpcy53ZWVrZGF5KDApOwogICAgfQogICAgaWYgKHVuaXRzID09PSAnaXNvV2VlaycpIHsKICAgICAgICB0aGlzLmlzb1dlZWtkYXkoMSk7CiAgICB9CgogICAgLy8gcXVhcnRlcnMgYXJlIGFsc28gc3BlY2lhbAogICAgaWYgKHVuaXRzID09PSAncXVhcnRlcicpIHsKICAgICAgICB0aGlzLm1vbnRoKE1hdGguZmxvb3IodGhpcy5tb250aCgpIC8gMykgKiAzKTsKICAgIH0KCiAgICByZXR1cm4gdGhpczsKfQoKZnVuY3Rpb24gZW5kT2YgKHVuaXRzKSB7CiAgICB1bml0cyA9IG5vcm1hbGl6ZVVuaXRzKHVuaXRzKTsKICAgIGlmICh1bml0cyA9PT0gdW5kZWZpbmVkIHx8IHVuaXRzID09PSAnbWlsbGlzZWNvbmQnKSB7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9CgogICAgLy8gJ2RhdGUnIGlzIGFuIGFsaWFzIGZvciAnZGF5Jywgc28gaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgc3VjaC4KICAgIGlmICh1bml0cyA9PT0gJ2RhdGUnKSB7CiAgICAgICAgdW5pdHMgPSAnZGF5JzsKICAgIH0KCiAgICByZXR1cm4gdGhpcy5zdGFydE9mKHVuaXRzKS5hZGQoMSwgKHVuaXRzID09PSAnaXNvV2VlaycgPyAnd2VlaycgOiB1bml0cykpLnN1YnRyYWN0KDEsICdtcycpOwp9CgpmdW5jdGlvbiB2YWx1ZU9mICgpIHsKICAgIHJldHVybiB0aGlzLl9kLnZhbHVlT2YoKSAtICgodGhpcy5fb2Zmc2V0IHx8IDApICogNjAwMDApOwp9CgpmdW5jdGlvbiB1bml4ICgpIHsKICAgIHJldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpIC8gMTAwMCk7Cn0KCmZ1bmN0aW9uIHRvRGF0ZSAoKSB7CiAgICByZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpOwp9CgpmdW5jdGlvbiB0b0FycmF5ICgpIHsKICAgIHZhciBtID0gdGhpczsKICAgIHJldHVybiBbbS55ZWFyKCksIG0ubW9udGgoKSwgbS5kYXRlKCksIG0uaG91cigpLCBtLm1pbnV0ZSgpLCBtLnNlY29uZCgpLCBtLm1pbGxpc2Vjb25kKCldOwp9CgpmdW5jdGlvbiB0b09iamVjdCAoKSB7CiAgICB2YXIgbSA9IHRoaXM7CiAgICByZXR1cm4gewogICAgICAgIHllYXJzOiBtLnllYXIoKSwKICAgICAgICBtb250aHM6IG0ubW9udGgoKSwKICAgICAgICBkYXRlOiBtLmRhdGUoKSwKICAgICAgICBob3VyczogbS5ob3VycygpLAogICAgICAgIG1pbnV0ZXM6IG0ubWludXRlcygpLAogICAgICAgIHNlY29uZHM6IG0uc2Vjb25kcygpLAogICAgICAgIG1pbGxpc2Vjb25kczogbS5taWxsaXNlY29uZHMoKQogICAgfTsKfQoKZnVuY3Rpb24gdG9KU09OICgpIHsKICAgIC8vIG5ldyBEYXRlKE5hTikudG9KU09OKCkgPT09IG51bGwKICAgIHJldHVybiB0aGlzLmlzVmFsaWQoKSA/IHRoaXMudG9JU09TdHJpbmcoKSA6IG51bGw7Cn0KCmZ1bmN0aW9uIGlzVmFsaWQkMiAoKSB7CiAgICByZXR1cm4gaXNWYWxpZCh0aGlzKTsKfQoKZnVuY3Rpb24gcGFyc2luZ0ZsYWdzICgpIHsKICAgIHJldHVybiBleHRlbmQoe30sIGdldFBhcnNpbmdGbGFncyh0aGlzKSk7Cn0KCmZ1bmN0aW9uIGludmFsaWRBdCAoKSB7CiAgICByZXR1cm4gZ2V0UGFyc2luZ0ZsYWdzKHRoaXMpLm92ZXJmbG93Owp9CgpmdW5jdGlvbiBjcmVhdGlvbkRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAgIGlucHV0OiB0aGlzLl9pLAogICAgICAgIGZvcm1hdDogdGhpcy5fZiwKICAgICAgICBsb2NhbGU6IHRoaXMuX2xvY2FsZSwKICAgICAgICBpc1VUQzogdGhpcy5faXNVVEMsCiAgICAgICAgc3RyaWN0OiB0aGlzLl9zdHJpY3QKICAgIH07Cn0KCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKDAsIFsnZ2cnLCAyXSwgMCwgZnVuY3Rpb24gKCkgewogICAgcmV0dXJuIHRoaXMud2Vla1llYXIoKSAlIDEwMDsKfSk7CgphZGRGb3JtYXRUb2tlbigwLCBbJ0dHJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzLmlzb1dlZWtZZWFyKCkgJSAxMDA7Cn0pOwoKZnVuY3Rpb24gYWRkV2Vla1llYXJGb3JtYXRUb2tlbiAodG9rZW4sIGdldHRlcikgewogICAgYWRkRm9ybWF0VG9rZW4oMCwgW3Rva2VuLCB0b2tlbi5sZW5ndGhdLCAwLCBnZXR0ZXIpOwp9CgphZGRXZWVrWWVhckZvcm1hdFRva2VuKCdnZ2dnJywgICAgICd3ZWVrWWVhcicpOwphZGRXZWVrWWVhckZvcm1hdFRva2VuKCdnZ2dnZycsICAgICd3ZWVrWWVhcicpOwphZGRXZWVrWWVhckZvcm1hdFRva2VuKCdHR0dHJywgICdpc29XZWVrWWVhcicpOwphZGRXZWVrWWVhckZvcm1hdFRva2VuKCdHR0dHRycsICdpc29XZWVrWWVhcicpOwoKLy8gQUxJQVNFUwoKYWRkVW5pdEFsaWFzKCd3ZWVrWWVhcicsICdnZycpOwphZGRVbml0QWxpYXMoJ2lzb1dlZWtZZWFyJywgJ0dHJyk7CgovLyBQUklPUklUWQoKYWRkVW5pdFByaW9yaXR5KCd3ZWVrWWVhcicsIDEpOwphZGRVbml0UHJpb3JpdHkoJ2lzb1dlZWtZZWFyJywgMSk7CgoKLy8gUEFSU0lORwoKYWRkUmVnZXhUb2tlbignRycsICAgICAgbWF0Y2hTaWduZWQpOwphZGRSZWdleFRva2VuKCdnJywgICAgICBtYXRjaFNpZ25lZCk7CmFkZFJlZ2V4VG9rZW4oJ0dHJywgICAgIG1hdGNoMXRvMiwgbWF0Y2gyKTsKYWRkUmVnZXhUb2tlbignZ2cnLCAgICAgbWF0Y2gxdG8yLCBtYXRjaDIpOwphZGRSZWdleFRva2VuKCdHR0dHJywgICBtYXRjaDF0bzQsIG1hdGNoNCk7CmFkZFJlZ2V4VG9rZW4oJ2dnZ2cnLCAgIG1hdGNoMXRvNCwgbWF0Y2g0KTsKYWRkUmVnZXhUb2tlbignR0dHR0cnLCAgbWF0Y2gxdG82LCBtYXRjaDYpOwphZGRSZWdleFRva2VuKCdnZ2dnZycsICBtYXRjaDF0bzYsIG1hdGNoNik7CgphZGRXZWVrUGFyc2VUb2tlbihbJ2dnZ2cnLCAnZ2dnZ2cnLCAnR0dHRycsICdHR0dHRyddLCBmdW5jdGlvbiAoaW5wdXQsIHdlZWssIGNvbmZpZywgdG9rZW4pIHsKICAgIHdlZWtbdG9rZW4uc3Vic3RyKDAsIDIpXSA9IHRvSW50KGlucHV0KTsKfSk7CgphZGRXZWVrUGFyc2VUb2tlbihbJ2dnJywgJ0dHJ10sIGZ1bmN0aW9uIChpbnB1dCwgd2VlaywgY29uZmlnLCB0b2tlbikgewogICAgd2Vla1t0b2tlbl0gPSBob29rcy5wYXJzZVR3b0RpZ2l0WWVhcihpbnB1dCk7Cn0pOwoKLy8gTU9NRU5UUwoKZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIgKGlucHV0KSB7CiAgICByZXR1cm4gZ2V0U2V0V2Vla1llYXJIZWxwZXIuY2FsbCh0aGlzLAogICAgICAgICAgICBpbnB1dCwKICAgICAgICAgICAgdGhpcy53ZWVrKCksCiAgICAgICAgICAgIHRoaXMud2Vla2RheSgpLAogICAgICAgICAgICB0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3csCiAgICAgICAgICAgIHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRveSk7Cn0KCmZ1bmN0aW9uIGdldFNldElTT1dlZWtZZWFyIChpbnB1dCkgewogICAgcmV0dXJuIGdldFNldFdlZWtZZWFySGVscGVyLmNhbGwodGhpcywKICAgICAgICAgICAgaW5wdXQsIHRoaXMuaXNvV2VlaygpLCB0aGlzLmlzb1dlZWtkYXkoKSwgMSwgNCk7Cn0KCmZ1bmN0aW9uIGdldElTT1dlZWtzSW5ZZWFyICgpIHsKICAgIHJldHVybiB3ZWVrc0luWWVhcih0aGlzLnllYXIoKSwgMSwgNCk7Cn0KCmZ1bmN0aW9uIGdldFdlZWtzSW5ZZWFyICgpIHsKICAgIHZhciB3ZWVrSW5mbyA9IHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrOwogICAgcmV0dXJuIHdlZWtzSW5ZZWFyKHRoaXMueWVhcigpLCB3ZWVrSW5mby5kb3csIHdlZWtJbmZvLmRveSk7Cn0KCmZ1bmN0aW9uIGdldFNldFdlZWtZZWFySGVscGVyKGlucHV0LCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSkgewogICAgdmFyIHdlZWtzVGFyZ2V0OwogICAgaWYgKGlucHV0ID09IG51bGwpIHsKICAgICAgICByZXR1cm4gd2Vla09mWWVhcih0aGlzLCBkb3csIGRveSkueWVhcjsKICAgIH0gZWxzZSB7CiAgICAgICAgd2Vla3NUYXJnZXQgPSB3ZWVrc0luWWVhcihpbnB1dCwgZG93LCBkb3kpOwogICAgICAgIGlmICh3ZWVrID4gd2Vla3NUYXJnZXQpIHsKICAgICAgICAgICAgd2VlayA9IHdlZWtzVGFyZ2V0OwogICAgICAgIH0KICAgICAgICByZXR1cm4gc2V0V2Vla0FsbC5jYWxsKHRoaXMsIGlucHV0LCB3ZWVrLCB3ZWVrZGF5LCBkb3csIGRveSk7CiAgICB9Cn0KCmZ1bmN0aW9uIHNldFdlZWtBbGwod2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95KSB7CiAgICB2YXIgZGF5T2ZZZWFyRGF0YSA9IGRheU9mWWVhckZyb21XZWVrcyh3ZWVrWWVhciwgd2Vlaywgd2Vla2RheSwgZG93LCBkb3kpLAogICAgICAgIGRhdGUgPSBjcmVhdGVVVENEYXRlKGRheU9mWWVhckRhdGEueWVhciwgMCwgZGF5T2ZZZWFyRGF0YS5kYXlPZlllYXIpOwoKICAgIHRoaXMueWVhcihkYXRlLmdldFVUQ0Z1bGxZZWFyKCkpOwogICAgdGhpcy5tb250aChkYXRlLmdldFVUQ01vbnRoKCkpOwogICAgdGhpcy5kYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpKTsKICAgIHJldHVybiB0aGlzOwp9CgovLyBGT1JNQVRUSU5HCgphZGRGb3JtYXRUb2tlbignUScsIDAsICdRbycsICdxdWFydGVyJyk7CgovLyBBTElBU0VTCgphZGRVbml0QWxpYXMoJ3F1YXJ0ZXInLCAnUScpOwoKLy8gUFJJT1JJVFkKCmFkZFVuaXRQcmlvcml0eSgncXVhcnRlcicsIDcpOwoKLy8gUEFSU0lORwoKYWRkUmVnZXhUb2tlbignUScsIG1hdGNoMSk7CmFkZFBhcnNlVG9rZW4oJ1EnLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5KSB7CiAgICBhcnJheVtNT05USF0gPSAodG9JbnQoaW5wdXQpIC0gMSkgKiAzOwp9KTsKCi8vIE1PTUVOVFMKCmZ1bmN0aW9uIGdldFNldFF1YXJ0ZXIgKGlucHV0KSB7CiAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IE1hdGguY2VpbCgodGhpcy5tb250aCgpICsgMSkgLyAzKSA6IHRoaXMubW9udGgoKGlucHV0IC0gMSkgKiAzICsgdGhpcy5tb250aCgpICUgMyk7Cn0KCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCdEJywgWydERCcsIDJdLCAnRG8nLCAnZGF0ZScpOwoKLy8gQUxJQVNFUwoKYWRkVW5pdEFsaWFzKCdkYXRlJywgJ0QnKTsKCi8vIFBSSU9ST0lUWQphZGRVbml0UHJpb3JpdHkoJ2RhdGUnLCA5KTsKCi8vIFBBUlNJTkcKCmFkZFJlZ2V4VG9rZW4oJ0QnLCAgbWF0Y2gxdG8yKTsKYWRkUmVnZXhUb2tlbignREQnLCBtYXRjaDF0bzIsIG1hdGNoMik7CmFkZFJlZ2V4VG9rZW4oJ0RvJywgZnVuY3Rpb24gKGlzU3RyaWN0LCBsb2NhbGUpIHsKICAgIC8vIFRPRE86IFJlbW92ZSAib3JkaW5hbFBhcnNlIiBmYWxsYmFjayBpbiBuZXh0IG1ham9yIHJlbGVhc2UuCiAgICByZXR1cm4gaXNTdHJpY3QgPwogICAgICAobG9jYWxlLl9kYXlPZk1vbnRoT3JkaW5hbFBhcnNlIHx8IGxvY2FsZS5fb3JkaW5hbFBhcnNlKSA6CiAgICAgIGxvY2FsZS5fZGF5T2ZNb250aE9yZGluYWxQYXJzZUxlbmllbnQ7Cn0pOwoKYWRkUGFyc2VUb2tlbihbJ0QnLCAnREQnXSwgREFURSk7CmFkZFBhcnNlVG9rZW4oJ0RvJywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSkgewogICAgYXJyYXlbREFURV0gPSB0b0ludChpbnB1dC5tYXRjaChtYXRjaDF0bzIpWzBdKTsKfSk7CgovLyBNT01FTlRTCgp2YXIgZ2V0U2V0RGF5T2ZNb250aCA9IG1ha2VHZXRTZXQoJ0RhdGUnLCB0cnVlKTsKCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCdEREQnLCBbJ0REREQnLCAzXSwgJ0RERG8nLCAnZGF5T2ZZZWFyJyk7CgovLyBBTElBU0VTCgphZGRVbml0QWxpYXMoJ2RheU9mWWVhcicsICdEREQnKTsKCi8vIFBSSU9SSVRZCmFkZFVuaXRQcmlvcml0eSgnZGF5T2ZZZWFyJywgNCk7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCdEREQnLCAgbWF0Y2gxdG8zKTsKYWRkUmVnZXhUb2tlbignRERERCcsIG1hdGNoMyk7CmFkZFBhcnNlVG9rZW4oWydEREQnLCAnRERERCddLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHsKICAgIGNvbmZpZy5fZGF5T2ZZZWFyID0gdG9JbnQoaW5wdXQpOwp9KTsKCi8vIEhFTFBFUlMKCi8vIE1PTUVOVFMKCmZ1bmN0aW9uIGdldFNldERheU9mWWVhciAoaW5wdXQpIHsKICAgIHZhciBkYXlPZlllYXIgPSBNYXRoLnJvdW5kKCh0aGlzLmNsb25lKCkuc3RhcnRPZignZGF5JykgLSB0aGlzLmNsb25lKCkuc3RhcnRPZigneWVhcicpKSAvIDg2NGU1KSArIDE7CiAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IGRheU9mWWVhciA6IHRoaXMuYWRkKChpbnB1dCAtIGRheU9mWWVhciksICdkJyk7Cn0KCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCdtJywgWydtbScsIDJdLCAwLCAnbWludXRlJyk7CgovLyBBTElBU0VTCgphZGRVbml0QWxpYXMoJ21pbnV0ZScsICdtJyk7CgovLyBQUklPUklUWQoKYWRkVW5pdFByaW9yaXR5KCdtaW51dGUnLCAxNCk7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCdtJywgIG1hdGNoMXRvMik7CmFkZFJlZ2V4VG9rZW4oJ21tJywgbWF0Y2gxdG8yLCBtYXRjaDIpOwphZGRQYXJzZVRva2VuKFsnbScsICdtbSddLCBNSU5VVEUpOwoKLy8gTU9NRU5UUwoKdmFyIGdldFNldE1pbnV0ZSA9IG1ha2VHZXRTZXQoJ01pbnV0ZXMnLCBmYWxzZSk7CgovLyBGT1JNQVRUSU5HCgphZGRGb3JtYXRUb2tlbigncycsIFsnc3MnLCAyXSwgMCwgJ3NlY29uZCcpOwoKLy8gQUxJQVNFUwoKYWRkVW5pdEFsaWFzKCdzZWNvbmQnLCAncycpOwoKLy8gUFJJT1JJVFkKCmFkZFVuaXRQcmlvcml0eSgnc2Vjb25kJywgMTUpOwoKLy8gUEFSU0lORwoKYWRkUmVnZXhUb2tlbigncycsICBtYXRjaDF0bzIpOwphZGRSZWdleFRva2VuKCdzcycsIG1hdGNoMXRvMiwgbWF0Y2gyKTsKYWRkUGFyc2VUb2tlbihbJ3MnLCAnc3MnXSwgU0VDT05EKTsKCi8vIE1PTUVOVFMKCnZhciBnZXRTZXRTZWNvbmQgPSBtYWtlR2V0U2V0KCdTZWNvbmRzJywgZmFsc2UpOwoKLy8gRk9STUFUVElORwoKYWRkRm9ybWF0VG9rZW4oJ1MnLCAwLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gfn4odGhpcy5taWxsaXNlY29uZCgpIC8gMTAwKTsKfSk7CgphZGRGb3JtYXRUb2tlbigwLCBbJ1NTJywgMl0sIDAsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB+fih0aGlzLm1pbGxpc2Vjb25kKCkgLyAxMCk7Cn0pOwoKYWRkRm9ybWF0VG9rZW4oMCwgWydTU1MnLCAzXSwgMCwgJ21pbGxpc2Vjb25kJyk7CmFkZEZvcm1hdFRva2VuKDAsIFsnU1NTUycsIDRdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZCgpICogMTA7Cn0pOwphZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTJywgNV0sIDAsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDA7Cn0pOwphZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTUycsIDZdLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZCgpICogMTAwMDsKfSk7CmFkZEZvcm1hdFRva2VuKDAsIFsnU1NTU1NTUycsIDddLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZCgpICogMTAwMDA7Cn0pOwphZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1NTJywgOF0sIDAsIGZ1bmN0aW9uICgpIHsKICAgIHJldHVybiB0aGlzLm1pbGxpc2Vjb25kKCkgKiAxMDAwMDA7Cn0pOwphZGRGb3JtYXRUb2tlbigwLCBbJ1NTU1NTU1NTUycsIDldLCAwLCBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gdGhpcy5taWxsaXNlY29uZCgpICogMTAwMDAwMDsKfSk7CgoKLy8gQUxJQVNFUwoKYWRkVW5pdEFsaWFzKCdtaWxsaXNlY29uZCcsICdtcycpOwoKLy8gUFJJT1JJVFkKCmFkZFVuaXRQcmlvcml0eSgnbWlsbGlzZWNvbmQnLCAxNik7CgovLyBQQVJTSU5HCgphZGRSZWdleFRva2VuKCdTJywgICAgbWF0Y2gxdG8zLCBtYXRjaDEpOwphZGRSZWdleFRva2VuKCdTUycsICAgbWF0Y2gxdG8zLCBtYXRjaDIpOwphZGRSZWdleFRva2VuKCdTU1MnLCAgbWF0Y2gxdG8zLCBtYXRjaDMpOwoKdmFyIHRva2VuOwpmb3IgKHRva2VuID0gJ1NTU1MnOyB0b2tlbi5sZW5ndGggPD0gOTsgdG9rZW4gKz0gJ1MnKSB7CiAgICBhZGRSZWdleFRva2VuKHRva2VuLCBtYXRjaFVuc2lnbmVkKTsKfQoKZnVuY3Rpb24gcGFyc2VNcyhpbnB1dCwgYXJyYXkpIHsKICAgIGFycmF5W01JTExJU0VDT05EXSA9IHRvSW50KCgnMC4nICsgaW5wdXQpICogMTAwMCk7Cn0KCmZvciAodG9rZW4gPSAnUyc7IHRva2VuLmxlbmd0aCA8PSA5OyB0b2tlbiArPSAnUycpIHsKICAgIGFkZFBhcnNlVG9rZW4odG9rZW4sIHBhcnNlTXMpOwp9Ci8vIE1PTUVOVFMKCnZhciBnZXRTZXRNaWxsaXNlY29uZCA9IG1ha2VHZXRTZXQoJ01pbGxpc2Vjb25kcycsIGZhbHNlKTsKCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCd6JywgIDAsIDAsICd6b25lQWJicicpOwphZGRGb3JtYXRUb2tlbignenonLCAwLCAwLCAnem9uZU5hbWUnKTsKCi8vIE1PTUVOVFMKCmZ1bmN0aW9uIGdldFpvbmVBYmJyICgpIHsKICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdVVEMnIDogJyc7Cn0KCmZ1bmN0aW9uIGdldFpvbmVOYW1lICgpIHsKICAgIHJldHVybiB0aGlzLl9pc1VUQyA/ICdDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZScgOiAnJzsKfQoKdmFyIHByb3RvID0gTW9tZW50LnByb3RvdHlwZTsKCnByb3RvLmFkZCAgICAgICAgICAgICAgID0gYWRkOwpwcm90by5jYWxlbmRhciAgICAgICAgICA9IGNhbGVuZGFyJDE7CnByb3RvLmNsb25lICAgICAgICAgICAgID0gY2xvbmU7CnByb3RvLmRpZmYgICAgICAgICAgICAgID0gZGlmZjsKcHJvdG8uZW5kT2YgICAgICAgICAgICAgPSBlbmRPZjsKcHJvdG8uZm9ybWF0ICAgICAgICAgICAgPSBmb3JtYXQ7CnByb3RvLmZyb20gICAgICAgICAgICAgID0gZnJvbTsKcHJvdG8uZnJvbU5vdyAgICAgICAgICAgPSBmcm9tTm93Owpwcm90by50byAgICAgICAgICAgICAgICA9IHRvOwpwcm90by50b05vdyAgICAgICAgICAgICA9IHRvTm93Owpwcm90by5nZXQgICAgICAgICAgICAgICA9IHN0cmluZ0dldDsKcHJvdG8uaW52YWxpZEF0ICAgICAgICAgPSBpbnZhbGlkQXQ7CnByb3RvLmlzQWZ0ZXIgICAgICAgICAgID0gaXNBZnRlcjsKcHJvdG8uaXNCZWZvcmUgICAgICAgICAgPSBpc0JlZm9yZTsKcHJvdG8uaXNCZXR3ZWVuICAgICAgICAgPSBpc0JldHdlZW47CnByb3RvLmlzU2FtZSAgICAgICAgICAgID0gaXNTYW1lOwpwcm90by5pc1NhbWVPckFmdGVyICAgICA9IGlzU2FtZU9yQWZ0ZXI7CnByb3RvLmlzU2FtZU9yQmVmb3JlICAgID0gaXNTYW1lT3JCZWZvcmU7CnByb3RvLmlzVmFsaWQgICAgICAgICAgID0gaXNWYWxpZCQyOwpwcm90by5sYW5nICAgICAgICAgICAgICA9IGxhbmc7CnByb3RvLmxvY2FsZSAgICAgICAgICAgID0gbG9jYWxlOwpwcm90by5sb2NhbGVEYXRhICAgICAgICA9IGxvY2FsZURhdGE7CnByb3RvLm1heCAgICAgICAgICAgICAgID0gcHJvdG90eXBlTWF4Owpwcm90by5taW4gICAgICAgICAgICAgICA9IHByb3RvdHlwZU1pbjsKcHJvdG8ucGFyc2luZ0ZsYWdzICAgICAgPSBwYXJzaW5nRmxhZ3M7CnByb3RvLnNldCAgICAgICAgICAgICAgID0gc3RyaW5nU2V0Owpwcm90by5zdGFydE9mICAgICAgICAgICA9IHN0YXJ0T2Y7CnByb3RvLnN1YnRyYWN0ICAgICAgICAgID0gc3VidHJhY3Q7CnByb3RvLnRvQXJyYXkgICAgICAgICAgID0gdG9BcnJheTsKcHJvdG8udG9PYmplY3QgICAgICAgICAgPSB0b09iamVjdDsKcHJvdG8udG9EYXRlICAgICAgICAgICAgPSB0b0RhdGU7CnByb3RvLnRvSVNPU3RyaW5nICAgICAgID0gdG9JU09TdHJpbmc7CnByb3RvLmluc3BlY3QgICAgICAgICAgID0gaW5zcGVjdDsKcHJvdG8udG9KU09OICAgICAgICAgICAgPSB0b0pTT047CnByb3RvLnRvU3RyaW5nICAgICAgICAgID0gdG9TdHJpbmc7CnByb3RvLnVuaXggICAgICAgICAgICAgID0gdW5peDsKcHJvdG8udmFsdWVPZiAgICAgICAgICAgPSB2YWx1ZU9mOwpwcm90by5jcmVhdGlvbkRhdGEgICAgICA9IGNyZWF0aW9uRGF0YTsKCi8vIFllYXIKcHJvdG8ueWVhciAgICAgICA9IGdldFNldFllYXI7CnByb3RvLmlzTGVhcFllYXIgPSBnZXRJc0xlYXBZZWFyOwoKLy8gV2VlayBZZWFyCnByb3RvLndlZWtZZWFyICAgID0gZ2V0U2V0V2Vla1llYXI7CnByb3RvLmlzb1dlZWtZZWFyID0gZ2V0U2V0SVNPV2Vla1llYXI7CgovLyBRdWFydGVyCnByb3RvLnF1YXJ0ZXIgPSBwcm90by5xdWFydGVycyA9IGdldFNldFF1YXJ0ZXI7CgovLyBNb250aApwcm90by5tb250aCAgICAgICA9IGdldFNldE1vbnRoOwpwcm90by5kYXlzSW5Nb250aCA9IGdldERheXNJbk1vbnRoOwoKLy8gV2Vlawpwcm90by53ZWVrICAgICAgICAgICA9IHByb3RvLndlZWtzICAgICAgICA9IGdldFNldFdlZWs7CnByb3RvLmlzb1dlZWsgICAgICAgID0gcHJvdG8uaXNvV2Vla3MgICAgID0gZ2V0U2V0SVNPV2VlazsKcHJvdG8ud2Vla3NJblllYXIgICAgPSBnZXRXZWVrc0luWWVhcjsKcHJvdG8uaXNvV2Vla3NJblllYXIgPSBnZXRJU09XZWVrc0luWWVhcjsKCi8vIERheQpwcm90by5kYXRlICAgICAgID0gZ2V0U2V0RGF5T2ZNb250aDsKcHJvdG8uZGF5ICAgICAgICA9IHByb3RvLmRheXMgICAgICAgICAgICAgPSBnZXRTZXREYXlPZldlZWs7CnByb3RvLndlZWtkYXkgICAgPSBnZXRTZXRMb2NhbGVEYXlPZldlZWs7CnByb3RvLmlzb1dlZWtkYXkgPSBnZXRTZXRJU09EYXlPZldlZWs7CnByb3RvLmRheU9mWWVhciAgPSBnZXRTZXREYXlPZlllYXI7CgovLyBIb3VyCnByb3RvLmhvdXIgPSBwcm90by5ob3VycyA9IGdldFNldEhvdXI7CgovLyBNaW51dGUKcHJvdG8ubWludXRlID0gcHJvdG8ubWludXRlcyA9IGdldFNldE1pbnV0ZTsKCi8vIFNlY29uZApwcm90by5zZWNvbmQgPSBwcm90by5zZWNvbmRzID0gZ2V0U2V0U2Vjb25kOwoKLy8gTWlsbGlzZWNvbmQKcHJvdG8ubWlsbGlzZWNvbmQgPSBwcm90by5taWxsaXNlY29uZHMgPSBnZXRTZXRNaWxsaXNlY29uZDsKCi8vIE9mZnNldApwcm90by51dGNPZmZzZXQgICAgICAgICAgICA9IGdldFNldE9mZnNldDsKcHJvdG8udXRjICAgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb1VUQzsKcHJvdG8ubG9jYWwgICAgICAgICAgICAgICAgPSBzZXRPZmZzZXRUb0xvY2FsOwpwcm90by5wYXJzZVpvbmUgICAgICAgICAgICA9IHNldE9mZnNldFRvUGFyc2VkT2Zmc2V0Owpwcm90by5oYXNBbGlnbmVkSG91ck9mZnNldCA9IGhhc0FsaWduZWRIb3VyT2Zmc2V0Owpwcm90by5pc0RTVCAgICAgICAgICAgICAgICA9IGlzRGF5bGlnaHRTYXZpbmdUaW1lOwpwcm90by5pc0xvY2FsICAgICAgICAgICAgICA9IGlzTG9jYWw7CnByb3RvLmlzVXRjT2Zmc2V0ICAgICAgICAgID0gaXNVdGNPZmZzZXQ7CnByb3RvLmlzVXRjICAgICAgICAgICAgICAgID0gaXNVdGM7CnByb3RvLmlzVVRDICAgICAgICAgICAgICAgID0gaXNVdGM7CgovLyBUaW1lem9uZQpwcm90by56b25lQWJiciA9IGdldFpvbmVBYmJyOwpwcm90by56b25lTmFtZSA9IGdldFpvbmVOYW1lOwoKLy8gRGVwcmVjYXRpb25zCnByb3RvLmRhdGVzICA9IGRlcHJlY2F0ZSgnZGF0ZXMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIGRhdGUgaW5zdGVhZC4nLCBnZXRTZXREYXlPZk1vbnRoKTsKcHJvdG8ubW9udGhzID0gZGVwcmVjYXRlKCdtb250aHMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbnRoIGluc3RlYWQnLCBnZXRTZXRNb250aCk7CnByb3RvLnllYXJzICA9IGRlcHJlY2F0ZSgneWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCcsIGdldFNldFllYXIpOwpwcm90by56b25lICAgPSBkZXByZWNhdGUoJ21vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL3pvbmUvJywgZ2V0U2V0Wm9uZSk7CnByb3RvLmlzRFNUU2hpZnRlZCA9IGRlcHJlY2F0ZSgnaXNEU1RTaGlmdGVkIGlzIGRlcHJlY2F0ZWQuIFNlZSBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2RzdC1zaGlmdGVkLyBmb3IgbW9yZSBpbmZvcm1hdGlvbicsIGlzRGF5bGlnaHRTYXZpbmdUaW1lU2hpZnRlZCk7CgpmdW5jdGlvbiBjcmVhdGVVbml4IChpbnB1dCkgewogICAgcmV0dXJuIGNyZWF0ZUxvY2FsKGlucHV0ICogMTAwMCk7Cn0KCmZ1bmN0aW9uIGNyZWF0ZUluWm9uZSAoKSB7CiAgICByZXR1cm4gY3JlYXRlTG9jYWwuYXBwbHkobnVsbCwgYXJndW1lbnRzKS5wYXJzZVpvbmUoKTsKfQoKZnVuY3Rpb24gcHJlUGFyc2VQb3N0Rm9ybWF0IChzdHJpbmcpIHsKICAgIHJldHVybiBzdHJpbmc7Cn0KCnZhciBwcm90byQxID0gTG9jYWxlLnByb3RvdHlwZTsKCnByb3RvJDEuY2FsZW5kYXIgICAgICAgID0gY2FsZW5kYXI7CnByb3RvJDEubG9uZ0RhdGVGb3JtYXQgID0gbG9uZ0RhdGVGb3JtYXQ7CnByb3RvJDEuaW52YWxpZERhdGUgICAgID0gaW52YWxpZERhdGU7CnByb3RvJDEub3JkaW5hbCAgICAgICAgID0gb3JkaW5hbDsKcHJvdG8kMS5wcmVwYXJzZSAgICAgICAgPSBwcmVQYXJzZVBvc3RGb3JtYXQ7CnByb3RvJDEucG9zdGZvcm1hdCAgICAgID0gcHJlUGFyc2VQb3N0Rm9ybWF0Owpwcm90byQxLnJlbGF0aXZlVGltZSAgICA9IHJlbGF0aXZlVGltZTsKcHJvdG8kMS5wYXN0RnV0dXJlICAgICAgPSBwYXN0RnV0dXJlOwpwcm90byQxLnNldCAgICAgICAgICAgICA9IHNldDsKCi8vIE1vbnRoCnByb3RvJDEubW9udGhzICAgICAgICAgICAgPSAgICAgICAgbG9jYWxlTW9udGhzOwpwcm90byQxLm1vbnRoc1Nob3J0ICAgICAgID0gICAgICAgIGxvY2FsZU1vbnRoc1Nob3J0Owpwcm90byQxLm1vbnRoc1BhcnNlICAgICAgID0gICAgICAgIGxvY2FsZU1vbnRoc1BhcnNlOwpwcm90byQxLm1vbnRoc1JlZ2V4ICAgICAgID0gbW9udGhzUmVnZXg7CnByb3RvJDEubW9udGhzU2hvcnRSZWdleCAgPSBtb250aHNTaG9ydFJlZ2V4OwoKLy8gV2Vlawpwcm90byQxLndlZWsgPSBsb2NhbGVXZWVrOwpwcm90byQxLmZpcnN0RGF5T2ZZZWFyID0gbG9jYWxlRmlyc3REYXlPZlllYXI7CnByb3RvJDEuZmlyc3REYXlPZldlZWsgPSBsb2NhbGVGaXJzdERheU9mV2VlazsKCi8vIERheSBvZiBXZWVrCnByb3RvJDEud2Vla2RheXMgICAgICAgPSAgICAgICAgbG9jYWxlV2Vla2RheXM7CnByb3RvJDEud2Vla2RheXNNaW4gICAgPSAgICAgICAgbG9jYWxlV2Vla2RheXNNaW47CnByb3RvJDEud2Vla2RheXNTaG9ydCAgPSAgICAgICAgbG9jYWxlV2Vla2RheXNTaG9ydDsKcHJvdG8kMS53ZWVrZGF5c1BhcnNlICA9ICAgICAgICBsb2NhbGVXZWVrZGF5c1BhcnNlOwoKcHJvdG8kMS53ZWVrZGF5c1JlZ2V4ICAgICAgID0gICAgICAgIHdlZWtkYXlzUmVnZXg7CnByb3RvJDEud2Vla2RheXNTaG9ydFJlZ2V4ICA9ICAgICAgICB3ZWVrZGF5c1Nob3J0UmVnZXg7CnByb3RvJDEud2Vla2RheXNNaW5SZWdleCAgICA9ICAgICAgICB3ZWVrZGF5c01pblJlZ2V4OwoKLy8gSG91cnMKcHJvdG8kMS5pc1BNID0gbG9jYWxlSXNQTTsKcHJvdG8kMS5tZXJpZGllbSA9IGxvY2FsZU1lcmlkaWVtOwoKZnVuY3Rpb24gZ2V0JDEgKGZvcm1hdCwgaW5kZXgsIGZpZWxkLCBzZXR0ZXIpIHsKICAgIHZhciBsb2NhbGUgPSBnZXRMb2NhbGUoKTsKICAgIHZhciB1dGMgPSBjcmVhdGVVVEMoKS5zZXQoc2V0dGVyLCBpbmRleCk7CiAgICByZXR1cm4gbG9jYWxlW2ZpZWxkXSh1dGMsIGZvcm1hdCk7Cn0KCmZ1bmN0aW9uIGxpc3RNb250aHNJbXBsIChmb3JtYXQsIGluZGV4LCBmaWVsZCkgewogICAgaWYgKGlzTnVtYmVyKGZvcm1hdCkpIHsKICAgICAgICBpbmRleCA9IGZvcm1hdDsKICAgICAgICBmb3JtYXQgPSB1bmRlZmluZWQ7CiAgICB9CgogICAgZm9ybWF0ID0gZm9ybWF0IHx8ICcnOwoKICAgIGlmIChpbmRleCAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGdldCQxKGZvcm1hdCwgaW5kZXgsIGZpZWxkLCAnbW9udGgnKTsKICAgIH0KCiAgICB2YXIgaTsKICAgIHZhciBvdXQgPSBbXTsKICAgIGZvciAoaSA9IDA7IGkgPCAxMjsgaSsrKSB7CiAgICAgICAgb3V0W2ldID0gZ2V0JDEoZm9ybWF0LCBpLCBmaWVsZCwgJ21vbnRoJyk7CiAgICB9CiAgICByZXR1cm4gb3V0Owp9CgovLyAoKQovLyAoNSkKLy8gKGZtdCwgNSkKLy8gKGZtdCkKLy8gKHRydWUpCi8vICh0cnVlLCA1KQovLyAodHJ1ZSwgZm10LCA1KQovLyAodHJ1ZSwgZm10KQpmdW5jdGlvbiBsaXN0V2Vla2RheXNJbXBsIChsb2NhbGVTb3J0ZWQsIGZvcm1hdCwgaW5kZXgsIGZpZWxkKSB7CiAgICBpZiAodHlwZW9mIGxvY2FsZVNvcnRlZCA9PT0gJ2Jvb2xlYW4nKSB7CiAgICAgICAgaWYgKGlzTnVtYmVyKGZvcm1hdCkpIHsKICAgICAgICAgICAgaW5kZXggPSBmb3JtYXQ7CiAgICAgICAgICAgIGZvcm1hdCA9IHVuZGVmaW5lZDsKICAgICAgICB9CgogICAgICAgIGZvcm1hdCA9IGZvcm1hdCB8fCAnJzsKICAgIH0gZWxzZSB7CiAgICAgICAgZm9ybWF0ID0gbG9jYWxlU29ydGVkOwogICAgICAgIGluZGV4ID0gZm9ybWF0OwogICAgICAgIGxvY2FsZVNvcnRlZCA9IGZhbHNlOwoKICAgICAgICBpZiAoaXNOdW1iZXIoZm9ybWF0KSkgewogICAgICAgICAgICBpbmRleCA9IGZvcm1hdDsKICAgICAgICAgICAgZm9ybWF0ID0gdW5kZWZpbmVkOwogICAgICAgIH0KCiAgICAgICAgZm9ybWF0ID0gZm9ybWF0IHx8ICcnOwogICAgfQoKICAgIHZhciBsb2NhbGUgPSBnZXRMb2NhbGUoKSwKICAgICAgICBzaGlmdCA9IGxvY2FsZVNvcnRlZCA/IGxvY2FsZS5fd2Vlay5kb3cgOiAwOwoKICAgIGlmIChpbmRleCAhPSBudWxsKSB7CiAgICAgICAgcmV0dXJuIGdldCQxKGZvcm1hdCwgKGluZGV4ICsgc2hpZnQpICUgNywgZmllbGQsICdkYXknKTsKICAgIH0KCiAgICB2YXIgaTsKICAgIHZhciBvdXQgPSBbXTsKICAgIGZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKICAgICAgICBvdXRbaV0gPSBnZXQkMShmb3JtYXQsIChpICsgc2hpZnQpICUgNywgZmllbGQsICdkYXknKTsKICAgIH0KICAgIHJldHVybiBvdXQ7Cn0KCmZ1bmN0aW9uIGxpc3RNb250aHMgKGZvcm1hdCwgaW5kZXgpIHsKICAgIHJldHVybiBsaXN0TW9udGhzSW1wbChmb3JtYXQsIGluZGV4LCAnbW9udGhzJyk7Cn0KCmZ1bmN0aW9uIGxpc3RNb250aHNTaG9ydCAoZm9ybWF0LCBpbmRleCkgewogICAgcmV0dXJuIGxpc3RNb250aHNJbXBsKGZvcm1hdCwgaW5kZXgsICdtb250aHNTaG9ydCcpOwp9CgpmdW5jdGlvbiBsaXN0V2Vla2RheXMgKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCkgewogICAgcmV0dXJuIGxpc3RXZWVrZGF5c0ltcGwobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4LCAnd2Vla2RheXMnKTsKfQoKZnVuY3Rpb24gbGlzdFdlZWtkYXlzU2hvcnQgKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCkgewogICAgcmV0dXJuIGxpc3RXZWVrZGF5c0ltcGwobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4LCAnd2Vla2RheXNTaG9ydCcpOwp9CgpmdW5jdGlvbiBsaXN0V2Vla2RheXNNaW4gKGxvY2FsZVNvcnRlZCwgZm9ybWF0LCBpbmRleCkgewogICAgcmV0dXJuIGxpc3RXZWVrZGF5c0ltcGwobG9jYWxlU29ydGVkLCBmb3JtYXQsIGluZGV4LCAnd2Vla2RheXNNaW4nKTsKfQoKZ2V0U2V0R2xvYmFsTG9jYWxlKCdlbicsIHsKICAgIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sCiAgICBvcmRpbmFsIDogZnVuY3Rpb24gKG51bWJlcikgewogICAgICAgIHZhciBiID0gbnVtYmVyICUgMTAsCiAgICAgICAgICAgIG91dHB1dCA9ICh0b0ludChudW1iZXIgJSAxMDAgLyAxMCkgPT09IDEpID8gJ3RoJyA6CiAgICAgICAgICAgIChiID09PSAxKSA/ICdzdCcgOgogICAgICAgICAgICAoYiA9PT0gMikgPyAnbmQnIDoKICAgICAgICAgICAgKGIgPT09IDMpID8gJ3JkJyA6ICd0aCc7CiAgICAgICAgcmV0dXJuIG51bWJlciArIG91dHB1dDsKICAgIH0KfSk7CgovLyBTaWRlIGVmZmVjdCBpbXBvcnRzCmhvb2tzLmxhbmcgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb21lbnQubG9jYWxlIGluc3RlYWQuJywgZ2V0U2V0R2xvYmFsTG9jYWxlKTsKaG9va3MubGFuZ0RhdGEgPSBkZXByZWNhdGUoJ21vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4nLCBnZXRMb2NhbGUpOwoKdmFyIG1hdGhBYnMgPSBNYXRoLmFiczsKCmZ1bmN0aW9uIGFicyAoKSB7CiAgICB2YXIgZGF0YSAgICAgICAgICAgPSB0aGlzLl9kYXRhOwoKICAgIHRoaXMuX21pbGxpc2Vjb25kcyA9IG1hdGhBYnModGhpcy5fbWlsbGlzZWNvbmRzKTsKICAgIHRoaXMuX2RheXMgICAgICAgICA9IG1hdGhBYnModGhpcy5fZGF5cyk7CiAgICB0aGlzLl9tb250aHMgICAgICAgPSBtYXRoQWJzKHRoaXMuX21vbnRocyk7CgogICAgZGF0YS5taWxsaXNlY29uZHMgID0gbWF0aEFicyhkYXRhLm1pbGxpc2Vjb25kcyk7CiAgICBkYXRhLnNlY29uZHMgICAgICAgPSBtYXRoQWJzKGRhdGEuc2Vjb25kcyk7CiAgICBkYXRhLm1pbnV0ZXMgICAgICAgPSBtYXRoQWJzKGRhdGEubWludXRlcyk7CiAgICBkYXRhLmhvdXJzICAgICAgICAgPSBtYXRoQWJzKGRhdGEuaG91cnMpOwogICAgZGF0YS5tb250aHMgICAgICAgID0gbWF0aEFicyhkYXRhLm1vbnRocyk7CiAgICBkYXRhLnllYXJzICAgICAgICAgPSBtYXRoQWJzKGRhdGEueWVhcnMpOwoKICAgIHJldHVybiB0aGlzOwp9CgpmdW5jdGlvbiBhZGRTdWJ0cmFjdCQxIChkdXJhdGlvbiwgaW5wdXQsIHZhbHVlLCBkaXJlY3Rpb24pIHsKICAgIHZhciBvdGhlciA9IGNyZWF0ZUR1cmF0aW9uKGlucHV0LCB2YWx1ZSk7CgogICAgZHVyYXRpb24uX21pbGxpc2Vjb25kcyArPSBkaXJlY3Rpb24gKiBvdGhlci5fbWlsbGlzZWNvbmRzOwogICAgZHVyYXRpb24uX2RheXMgICAgICAgICArPSBkaXJlY3Rpb24gKiBvdGhlci5fZGF5czsKICAgIGR1cmF0aW9uLl9tb250aHMgICAgICAgKz0gZGlyZWN0aW9uICogb3RoZXIuX21vbnRoczsKCiAgICByZXR1cm4gZHVyYXRpb24uX2J1YmJsZSgpOwp9CgovLyBzdXBwb3J0cyBvbmx5IDIuMC1zdHlsZSBhZGQoMSwgJ3MnKSBvciBhZGQoZHVyYXRpb24pCmZ1bmN0aW9uIGFkZCQxIChpbnB1dCwgdmFsdWUpIHsKICAgIHJldHVybiBhZGRTdWJ0cmFjdCQxKHRoaXMsIGlucHV0LCB2YWx1ZSwgMSk7Cn0KCi8vIHN1cHBvcnRzIG9ubHkgMi4wLXN0eWxlIHN1YnRyYWN0KDEsICdzJykgb3Igc3VidHJhY3QoZHVyYXRpb24pCmZ1bmN0aW9uIHN1YnRyYWN0JDEgKGlucHV0LCB2YWx1ZSkgewogICAgcmV0dXJuIGFkZFN1YnRyYWN0JDEodGhpcywgaW5wdXQsIHZhbHVlLCAtMSk7Cn0KCmZ1bmN0aW9uIGFic0NlaWwgKG51bWJlcikgewogICAgaWYgKG51bWJlciA8IDApIHsKICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihudW1iZXIpOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gTWF0aC5jZWlsKG51bWJlcik7CiAgICB9Cn0KCmZ1bmN0aW9uIGJ1YmJsZSAoKSB7CiAgICB2YXIgbWlsbGlzZWNvbmRzID0gdGhpcy5fbWlsbGlzZWNvbmRzOwogICAgdmFyIGRheXMgICAgICAgICA9IHRoaXMuX2RheXM7CiAgICB2YXIgbW9udGhzICAgICAgID0gdGhpcy5fbW9udGhzOwogICAgdmFyIGRhdGEgICAgICAgICA9IHRoaXMuX2RhdGE7CiAgICB2YXIgc2Vjb25kcywgbWludXRlcywgaG91cnMsIHllYXJzLCBtb250aHNGcm9tRGF5czsKCiAgICAvLyBpZiB3ZSBoYXZlIGEgbWl4IG9mIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSB2YWx1ZXMsIGJ1YmJsZSBkb3duIGZpcnN0CiAgICAvLyBjaGVjazogaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzIxNjYKICAgIGlmICghKChtaWxsaXNlY29uZHMgPj0gMCAmJiBkYXlzID49IDAgJiYgbW9udGhzID49IDApIHx8CiAgICAgICAgICAgIChtaWxsaXNlY29uZHMgPD0gMCAmJiBkYXlzIDw9IDAgJiYgbW9udGhzIDw9IDApKSkgewogICAgICAgIG1pbGxpc2Vjb25kcyArPSBhYnNDZWlsKG1vbnRoc1RvRGF5cyhtb250aHMpICsgZGF5cykgKiA4NjRlNTsKICAgICAgICBkYXlzID0gMDsKICAgICAgICBtb250aHMgPSAwOwogICAgfQoKICAgIC8vIFRoZSBmb2xsb3dpbmcgY29kZSBidWJibGVzIHVwIHZhbHVlcywgc2VlIHRoZSB0ZXN0cyBmb3IKICAgIC8vIGV4YW1wbGVzIG9mIHdoYXQgdGhhdCBtZWFucy4KICAgIGRhdGEubWlsbGlzZWNvbmRzID0gbWlsbGlzZWNvbmRzICUgMTAwMDsKCiAgICBzZWNvbmRzICAgICAgICAgICA9IGFic0Zsb29yKG1pbGxpc2Vjb25kcyAvIDEwMDApOwogICAgZGF0YS5zZWNvbmRzICAgICAgPSBzZWNvbmRzICUgNjA7CgogICAgbWludXRlcyAgICAgICAgICAgPSBhYnNGbG9vcihzZWNvbmRzIC8gNjApOwogICAgZGF0YS5taW51dGVzICAgICAgPSBtaW51dGVzICUgNjA7CgogICAgaG91cnMgICAgICAgICAgICAgPSBhYnNGbG9vcihtaW51dGVzIC8gNjApOwogICAgZGF0YS5ob3VycyAgICAgICAgPSBob3VycyAlIDI0OwoKICAgIGRheXMgKz0gYWJzRmxvb3IoaG91cnMgLyAyNCk7CgogICAgLy8gY29udmVydCBkYXlzIHRvIG1vbnRocwogICAgbW9udGhzRnJvbURheXMgPSBhYnNGbG9vcihkYXlzVG9Nb250aHMoZGF5cykpOwogICAgbW9udGhzICs9IG1vbnRoc0Zyb21EYXlzOwogICAgZGF5cyAtPSBhYnNDZWlsKG1vbnRoc1RvRGF5cyhtb250aHNGcm9tRGF5cykpOwoKICAgIC8vIDEyIG1vbnRocyAtPiAxIHllYXIKICAgIHllYXJzID0gYWJzRmxvb3IobW9udGhzIC8gMTIpOwogICAgbW9udGhzICU9IDEyOwoKICAgIGRhdGEuZGF5cyAgID0gZGF5czsKICAgIGRhdGEubW9udGhzID0gbW9udGhzOwogICAgZGF0YS55ZWFycyAgPSB5ZWFyczsKCiAgICByZXR1cm4gdGhpczsKfQoKZnVuY3Rpb24gZGF5c1RvTW9udGhzIChkYXlzKSB7CiAgICAvLyA0MDAgeWVhcnMgaGF2ZSAxNDYwOTcgZGF5cyAodGFraW5nIGludG8gYWNjb3VudCBsZWFwIHllYXIgcnVsZXMpCiAgICAvLyA0MDAgeWVhcnMgaGF2ZSAxMiBtb250aHMgPT09IDQ4MDAKICAgIHJldHVybiBkYXlzICogNDgwMCAvIDE0NjA5NzsKfQoKZnVuY3Rpb24gbW9udGhzVG9EYXlzIChtb250aHMpIHsKICAgIC8vIHRoZSByZXZlcnNlIG9mIGRheXNUb01vbnRocwogICAgcmV0dXJuIG1vbnRocyAqIDE0NjA5NyAvIDQ4MDA7Cn0KCmZ1bmN0aW9uIGFzICh1bml0cykgewogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiBOYU47CiAgICB9CiAgICB2YXIgZGF5czsKICAgIHZhciBtb250aHM7CiAgICB2YXIgbWlsbGlzZWNvbmRzID0gdGhpcy5fbWlsbGlzZWNvbmRzOwoKICAgIHVuaXRzID0gbm9ybWFsaXplVW5pdHModW5pdHMpOwoKICAgIGlmICh1bml0cyA9PT0gJ21vbnRoJyB8fCB1bml0cyA9PT0gJ3llYXInKSB7CiAgICAgICAgZGF5cyAgID0gdGhpcy5fZGF5cyAgICsgbWlsbGlzZWNvbmRzIC8gODY0ZTU7CiAgICAgICAgbW9udGhzID0gdGhpcy5fbW9udGhzICsgZGF5c1RvTW9udGhzKGRheXMpOwogICAgICAgIHJldHVybiB1bml0cyA9PT0gJ21vbnRoJyA/IG1vbnRocyA6IG1vbnRocyAvIDEyOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBoYW5kbGUgbWlsbGlzZWNvbmRzIHNlcGFyYXRlbHkgYmVjYXVzZSBvZiBmbG9hdGluZyBwb2ludCBtYXRoIGVycm9ycyAoaXNzdWUgIzE4NjcpCiAgICAgICAgZGF5cyA9IHRoaXMuX2RheXMgKyBNYXRoLnJvdW5kKG1vbnRoc1RvRGF5cyh0aGlzLl9tb250aHMpKTsKICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7CiAgICAgICAgICAgIGNhc2UgJ3dlZWsnICAgOiByZXR1cm4gZGF5cyAvIDcgICAgICsgbWlsbGlzZWNvbmRzIC8gNjA0OGU1OwogICAgICAgICAgICBjYXNlICdkYXknICAgIDogcmV0dXJuIGRheXMgICAgICAgICArIG1pbGxpc2Vjb25kcyAvIDg2NGU1OwogICAgICAgICAgICBjYXNlICdob3VyJyAgIDogcmV0dXJuIGRheXMgKiAyNCAgICArIG1pbGxpc2Vjb25kcyAvIDM2ZTU7CiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZScgOiByZXR1cm4gZGF5cyAqIDE0NDAgICsgbWlsbGlzZWNvbmRzIC8gNmU0OwogICAgICAgICAgICBjYXNlICdzZWNvbmQnIDogcmV0dXJuIGRheXMgKiA4NjQwMCArIG1pbGxpc2Vjb25kcyAvIDEwMDA7CiAgICAgICAgICAgIC8vIE1hdGguZmxvb3IgcHJldmVudHMgZmxvYXRpbmcgcG9pbnQgbWF0aCBlcnJvcnMgaGVyZQogICAgICAgICAgICBjYXNlICdtaWxsaXNlY29uZCc6IHJldHVybiBNYXRoLmZsb29yKGRheXMgKiA4NjRlNSkgKyBtaWxsaXNlY29uZHM7CiAgICAgICAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcignVW5rbm93biB1bml0ICcgKyB1bml0cyk7CiAgICAgICAgfQogICAgfQp9CgovLyBUT0RPOiBVc2UgdGhpcy5hcygnbXMnKT8KZnVuY3Rpb24gdmFsdWVPZiQxICgpIHsKICAgIGlmICghdGhpcy5pc1ZhbGlkKCkpIHsKICAgICAgICByZXR1cm4gTmFOOwogICAgfQogICAgcmV0dXJuICgKICAgICAgICB0aGlzLl9taWxsaXNlY29uZHMgKwogICAgICAgIHRoaXMuX2RheXMgKiA4NjRlNSArCiAgICAgICAgKHRoaXMuX21vbnRocyAlIDEyKSAqIDI1OTJlNiArCiAgICAgICAgdG9JbnQodGhpcy5fbW9udGhzIC8gMTIpICogMzE1MzZlNgogICAgKTsKfQoKZnVuY3Rpb24gbWFrZUFzIChhbGlhcykgewogICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gdGhpcy5hcyhhbGlhcyk7CiAgICB9Owp9Cgp2YXIgYXNNaWxsaXNlY29uZHMgPSBtYWtlQXMoJ21zJyk7CnZhciBhc1NlY29uZHMgICAgICA9IG1ha2VBcygncycpOwp2YXIgYXNNaW51dGVzICAgICAgPSBtYWtlQXMoJ20nKTsKdmFyIGFzSG91cnMgICAgICAgID0gbWFrZUFzKCdoJyk7CnZhciBhc0RheXMgICAgICAgICA9IG1ha2VBcygnZCcpOwp2YXIgYXNXZWVrcyAgICAgICAgPSBtYWtlQXMoJ3cnKTsKdmFyIGFzTW9udGhzICAgICAgID0gbWFrZUFzKCdNJyk7CnZhciBhc1llYXJzICAgICAgICA9IG1ha2VBcygneScpOwoKZnVuY3Rpb24gY2xvbmUkMSAoKSB7CiAgICByZXR1cm4gY3JlYXRlRHVyYXRpb24odGhpcyk7Cn0KCmZ1bmN0aW9uIGdldCQyICh1bml0cykgewogICAgdW5pdHMgPSBub3JtYWxpemVVbml0cyh1bml0cyk7CiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkKCkgPyB0aGlzW3VuaXRzICsgJ3MnXSgpIDogTmFOOwp9CgpmdW5jdGlvbiBtYWtlR2V0dGVyKG5hbWUpIHsKICAgIHJldHVybiBmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCgpID8gdGhpcy5fZGF0YVtuYW1lXSA6IE5hTjsKICAgIH07Cn0KCnZhciBtaWxsaXNlY29uZHMgPSBtYWtlR2V0dGVyKCdtaWxsaXNlY29uZHMnKTsKdmFyIHNlY29uZHMgICAgICA9IG1ha2VHZXR0ZXIoJ3NlY29uZHMnKTsKdmFyIG1pbnV0ZXMgICAgICA9IG1ha2VHZXR0ZXIoJ21pbnV0ZXMnKTsKdmFyIGhvdXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ2hvdXJzJyk7CnZhciBkYXlzICAgICAgICAgPSBtYWtlR2V0dGVyKCdkYXlzJyk7CnZhciBtb250aHMgICAgICAgPSBtYWtlR2V0dGVyKCdtb250aHMnKTsKdmFyIHllYXJzICAgICAgICA9IG1ha2VHZXR0ZXIoJ3llYXJzJyk7CgpmdW5jdGlvbiB3ZWVrcyAoKSB7CiAgICByZXR1cm4gYWJzRmxvb3IodGhpcy5kYXlzKCkgLyA3KTsKfQoKdmFyIHJvdW5kID0gTWF0aC5yb3VuZDsKdmFyIHRocmVzaG9sZHMgPSB7CiAgICBzczogNDQsICAgICAgICAgLy8gYSBmZXcgc2Vjb25kcyB0byBzZWNvbmRzCiAgICBzIDogNDUsICAgICAgICAgLy8gc2Vjb25kcyB0byBtaW51dGUKICAgIG0gOiA0NSwgICAgICAgICAvLyBtaW51dGVzIHRvIGhvdXIKICAgIGggOiAyMiwgICAgICAgICAvLyBob3VycyB0byBkYXkKICAgIGQgOiAyNiwgICAgICAgICAvLyBkYXlzIHRvIG1vbnRoCiAgICBNIDogMTEgICAgICAgICAgLy8gbW9udGhzIHRvIHllYXIKfTsKCi8vIGhlbHBlciBmdW5jdGlvbiBmb3IgbW9tZW50LmZuLmZyb20sIG1vbWVudC5mbi5mcm9tTm93LCBhbmQgbW9tZW50LmR1cmF0aW9uLmZuLmh1bWFuaXplCmZ1bmN0aW9uIHN1YnN0aXR1dGVUaW1lQWdvKHN0cmluZywgbnVtYmVyLCB3aXRob3V0U3VmZml4LCBpc0Z1dHVyZSwgbG9jYWxlKSB7CiAgICByZXR1cm4gbG9jYWxlLnJlbGF0aXZlVGltZShudW1iZXIgfHwgMSwgISF3aXRob3V0U3VmZml4LCBzdHJpbmcsIGlzRnV0dXJlKTsKfQoKZnVuY3Rpb24gcmVsYXRpdmVUaW1lJDEgKHBvc05lZ0R1cmF0aW9uLCB3aXRob3V0U3VmZml4LCBsb2NhbGUpIHsKICAgIHZhciBkdXJhdGlvbiA9IGNyZWF0ZUR1cmF0aW9uKHBvc05lZ0R1cmF0aW9uKS5hYnMoKTsKICAgIHZhciBzZWNvbmRzICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdzJykpOwogICAgdmFyIG1pbnV0ZXMgID0gcm91bmQoZHVyYXRpb24uYXMoJ20nKSk7CiAgICB2YXIgaG91cnMgICAgPSByb3VuZChkdXJhdGlvbi5hcygnaCcpKTsKICAgIHZhciBkYXlzICAgICA9IHJvdW5kKGR1cmF0aW9uLmFzKCdkJykpOwogICAgdmFyIG1vbnRocyAgID0gcm91bmQoZHVyYXRpb24uYXMoJ00nKSk7CiAgICB2YXIgeWVhcnMgICAgPSByb3VuZChkdXJhdGlvbi5hcygneScpKTsKCiAgICB2YXIgYSA9IHNlY29uZHMgPD0gdGhyZXNob2xkcy5zcyAmJiBbJ3MnLCBzZWNvbmRzXSAgfHwKICAgICAgICAgICAgc2Vjb25kcyA8IHRocmVzaG9sZHMucyAgICYmIFsnc3MnLCBzZWNvbmRzXSB8fAogICAgICAgICAgICBtaW51dGVzIDw9IDEgICAgICAgICAgICAgJiYgWydtJ10gICAgICAgICAgIHx8CiAgICAgICAgICAgIG1pbnV0ZXMgPCB0aHJlc2hvbGRzLm0gICAmJiBbJ21tJywgbWludXRlc10gfHwKICAgICAgICAgICAgaG91cnMgICA8PSAxICAgICAgICAgICAgICYmIFsnaCddICAgICAgICAgICB8fAogICAgICAgICAgICBob3VycyAgIDwgdGhyZXNob2xkcy5oICAgJiYgWydoaCcsIGhvdXJzXSAgIHx8CiAgICAgICAgICAgIGRheXMgICAgPD0gMSAgICAgICAgICAgICAmJiBbJ2QnXSAgICAgICAgICAgfHwKICAgICAgICAgICAgZGF5cyAgICA8IHRocmVzaG9sZHMuZCAgICYmIFsnZGQnLCBkYXlzXSAgICB8fAogICAgICAgICAgICBtb250aHMgIDw9IDEgICAgICAgICAgICAgJiYgWydNJ10gICAgICAgICAgIHx8CiAgICAgICAgICAgIG1vbnRocyAgPCB0aHJlc2hvbGRzLk0gICAmJiBbJ01NJywgbW9udGhzXSAgfHwKICAgICAgICAgICAgeWVhcnMgICA8PSAxICAgICAgICAgICAgICYmIFsneSddICAgICAgICAgICB8fCBbJ3l5JywgeWVhcnNdOwoKICAgIGFbMl0gPSB3aXRob3V0U3VmZml4OwogICAgYVszXSA9ICtwb3NOZWdEdXJhdGlvbiA+IDA7CiAgICBhWzRdID0gbG9jYWxlOwogICAgcmV0dXJuIHN1YnN0aXR1dGVUaW1lQWdvLmFwcGx5KG51bGwsIGEpOwp9CgovLyBUaGlzIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gc2V0IHRoZSByb3VuZGluZyBmdW5jdGlvbiBmb3IgcmVsYXRpdmUgdGltZSBzdHJpbmdzCmZ1bmN0aW9uIGdldFNldFJlbGF0aXZlVGltZVJvdW5kaW5nIChyb3VuZGluZ0Z1bmN0aW9uKSB7CiAgICBpZiAocm91bmRpbmdGdW5jdGlvbiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgcmV0dXJuIHJvdW5kOwogICAgfQogICAgaWYgKHR5cGVvZihyb3VuZGluZ0Z1bmN0aW9uKSA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgIHJvdW5kID0gcm91bmRpbmdGdW5jdGlvbjsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKLy8gVGhpcyBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIHNldCBhIHRocmVzaG9sZCBmb3IgcmVsYXRpdmUgdGltZSBzdHJpbmdzCmZ1bmN0aW9uIGdldFNldFJlbGF0aXZlVGltZVRocmVzaG9sZCAodGhyZXNob2xkLCBsaW1pdCkgewogICAgaWYgKHRocmVzaG9sZHNbdGhyZXNob2xkXSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgaWYgKGxpbWl0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICByZXR1cm4gdGhyZXNob2xkc1t0aHJlc2hvbGRdOwogICAgfQogICAgdGhyZXNob2xkc1t0aHJlc2hvbGRdID0gbGltaXQ7CiAgICBpZiAodGhyZXNob2xkID09PSAncycpIHsKICAgICAgICB0aHJlc2hvbGRzLnNzID0gbGltaXQgLSAxOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmZ1bmN0aW9uIGh1bWFuaXplICh3aXRoU3VmZml4KSB7CiAgICBpZiAoIXRoaXMuaXNWYWxpZCgpKSB7CiAgICAgICAgcmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCk7CiAgICB9CgogICAgdmFyIGxvY2FsZSA9IHRoaXMubG9jYWxlRGF0YSgpOwogICAgdmFyIG91dHB1dCA9IHJlbGF0aXZlVGltZSQxKHRoaXMsICF3aXRoU3VmZml4LCBsb2NhbGUpOwoKICAgIGlmICh3aXRoU3VmZml4KSB7CiAgICAgICAgb3V0cHV0ID0gbG9jYWxlLnBhc3RGdXR1cmUoK3RoaXMsIG91dHB1dCk7CiAgICB9CgogICAgcmV0dXJuIGxvY2FsZS5wb3N0Zm9ybWF0KG91dHB1dCk7Cn0KCnZhciBhYnMkMSA9IE1hdGguYWJzOwoKZnVuY3Rpb24gc2lnbih4KSB7CiAgICByZXR1cm4gKCh4ID4gMCkgLSAoeCA8IDApKSB8fCAreDsKfQoKZnVuY3Rpb24gdG9JU09TdHJpbmckMSgpIHsKICAgIC8vIGZvciBJU08gc3RyaW5ncyB3ZSBkbyBub3QgdXNlIHRoZSBub3JtYWwgYnViYmxpbmcgcnVsZXM6CiAgICAvLyAgKiBtaWxsaXNlY29uZHMgYnViYmxlIHVwIHVudGlsIHRoZXkgYmVjb21lIGhvdXJzCiAgICAvLyAgKiBkYXlzIGRvIG5vdCBidWJibGUgYXQgYWxsCiAgICAvLyAgKiBtb250aHMgYnViYmxlIHVwIHVudGlsIHRoZXkgYmVjb21lIHllYXJzCiAgICAvLyBUaGlzIGlzIGJlY2F1c2UgdGhlcmUgaXMgbm8gY29udGV4dC1mcmVlIGNvbnZlcnNpb24gYmV0d2VlbiBob3VycyBhbmQgZGF5cwogICAgLy8gKHRoaW5rIG9mIGNsb2NrIGNoYW5nZXMpCiAgICAvLyBhbmQgYWxzbyBub3QgYmV0d2VlbiBkYXlzIGFuZCBtb250aHMgKDI4LTMxIGRheXMgcGVyIG1vbnRoKQogICAgaWYgKCF0aGlzLmlzVmFsaWQoKSkgewogICAgICAgIHJldHVybiB0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpOwogICAgfQoKICAgIHZhciBzZWNvbmRzID0gYWJzJDEodGhpcy5fbWlsbGlzZWNvbmRzKSAvIDEwMDA7CiAgICB2YXIgZGF5cyAgICAgICAgID0gYWJzJDEodGhpcy5fZGF5cyk7CiAgICB2YXIgbW9udGhzICAgICAgID0gYWJzJDEodGhpcy5fbW9udGhzKTsKICAgIHZhciBtaW51dGVzLCBob3VycywgeWVhcnM7CgogICAgLy8gMzYwMCBzZWNvbmRzIC0+IDYwIG1pbnV0ZXMgLT4gMSBob3VyCiAgICBtaW51dGVzICAgICAgICAgICA9IGFic0Zsb29yKHNlY29uZHMgLyA2MCk7CiAgICBob3VycyAgICAgICAgICAgICA9IGFic0Zsb29yKG1pbnV0ZXMgLyA2MCk7CiAgICBzZWNvbmRzICU9IDYwOwogICAgbWludXRlcyAlPSA2MDsKCiAgICAvLyAxMiBtb250aHMgLT4gMSB5ZWFyCiAgICB5ZWFycyAgPSBhYnNGbG9vcihtb250aHMgLyAxMik7CiAgICBtb250aHMgJT0gMTI7CgoKICAgIC8vIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9kb3JkaWxsZS9tb21lbnQtaXNvZHVyYXRpb24vYmxvYi9tYXN0ZXIvbW9tZW50Lmlzb2R1cmF0aW9uLmpzCiAgICB2YXIgWSA9IHllYXJzOwogICAgdmFyIE0gPSBtb250aHM7CiAgICB2YXIgRCA9IGRheXM7CiAgICB2YXIgaCA9IGhvdXJzOwogICAgdmFyIG0gPSBtaW51dGVzOwogICAgdmFyIHMgPSBzZWNvbmRzID8gc2Vjb25kcy50b0ZpeGVkKDMpLnJlcGxhY2UoL1wuPzArJC8sICcnKSA6ICcnOwogICAgdmFyIHRvdGFsID0gdGhpcy5hc1NlY29uZHMoKTsKCiAgICBpZiAoIXRvdGFsKSB7CiAgICAgICAgLy8gdGhpcyBpcyB0aGUgc2FtZSBhcyBDIydzIChOb2RhKSBhbmQgcHl0aG9uIChpc29kYXRlKS4uLgogICAgICAgIC8vIGJ1dCBub3Qgb3RoZXIgSlMgKGdvb2cuZGF0ZSkKICAgICAgICByZXR1cm4gJ1AwRCc7CiAgICB9CgogICAgdmFyIHRvdGFsU2lnbiA9IHRvdGFsIDwgMCA/ICctJyA6ICcnOwogICAgdmFyIHltU2lnbiA9IHNpZ24odGhpcy5fbW9udGhzKSAhPT0gc2lnbih0b3RhbCkgPyAnLScgOiAnJzsKICAgIHZhciBkYXlzU2lnbiA9IHNpZ24odGhpcy5fZGF5cykgIT09IHNpZ24odG90YWwpID8gJy0nIDogJyc7CiAgICB2YXIgaG1zU2lnbiA9IHNpZ24odGhpcy5fbWlsbGlzZWNvbmRzKSAhPT0gc2lnbih0b3RhbCkgPyAnLScgOiAnJzsKCiAgICByZXR1cm4gdG90YWxTaWduICsgJ1AnICsKICAgICAgICAoWSA/IHltU2lnbiArIFkgKyAnWScgOiAnJykgKwogICAgICAgIChNID8geW1TaWduICsgTSArICdNJyA6ICcnKSArCiAgICAgICAgKEQgPyBkYXlzU2lnbiArIEQgKyAnRCcgOiAnJykgKwogICAgICAgICgoaCB8fCBtIHx8IHMpID8gJ1QnIDogJycpICsKICAgICAgICAoaCA/IGhtc1NpZ24gKyBoICsgJ0gnIDogJycpICsKICAgICAgICAobSA/IGhtc1NpZ24gKyBtICsgJ00nIDogJycpICsKICAgICAgICAocyA/IGhtc1NpZ24gKyBzICsgJ1MnIDogJycpOwp9Cgp2YXIgcHJvdG8kMiA9IER1cmF0aW9uLnByb3RvdHlwZTsKCnByb3RvJDIuaXNWYWxpZCAgICAgICAgPSBpc1ZhbGlkJDE7CnByb3RvJDIuYWJzICAgICAgICAgICAgPSBhYnM7CnByb3RvJDIuYWRkICAgICAgICAgICAgPSBhZGQkMTsKcHJvdG8kMi5zdWJ0cmFjdCAgICAgICA9IHN1YnRyYWN0JDE7CnByb3RvJDIuYXMgICAgICAgICAgICAgPSBhczsKcHJvdG8kMi5hc01pbGxpc2Vjb25kcyA9IGFzTWlsbGlzZWNvbmRzOwpwcm90byQyLmFzU2Vjb25kcyAgICAgID0gYXNTZWNvbmRzOwpwcm90byQyLmFzTWludXRlcyAgICAgID0gYXNNaW51dGVzOwpwcm90byQyLmFzSG91cnMgICAgICAgID0gYXNIb3VyczsKcHJvdG8kMi5hc0RheXMgICAgICAgICA9IGFzRGF5czsKcHJvdG8kMi5hc1dlZWtzICAgICAgICA9IGFzV2Vla3M7CnByb3RvJDIuYXNNb250aHMgICAgICAgPSBhc01vbnRoczsKcHJvdG8kMi5hc1llYXJzICAgICAgICA9IGFzWWVhcnM7CnByb3RvJDIudmFsdWVPZiAgICAgICAgPSB2YWx1ZU9mJDE7CnByb3RvJDIuX2J1YmJsZSAgICAgICAgPSBidWJibGU7CnByb3RvJDIuY2xvbmUgICAgICAgICAgPSBjbG9uZSQxOwpwcm90byQyLmdldCAgICAgICAgICAgID0gZ2V0JDI7CnByb3RvJDIubWlsbGlzZWNvbmRzICAgPSBtaWxsaXNlY29uZHM7CnByb3RvJDIuc2Vjb25kcyAgICAgICAgPSBzZWNvbmRzOwpwcm90byQyLm1pbnV0ZXMgICAgICAgID0gbWludXRlczsKcHJvdG8kMi5ob3VycyAgICAgICAgICA9IGhvdXJzOwpwcm90byQyLmRheXMgICAgICAgICAgID0gZGF5czsKcHJvdG8kMi53ZWVrcyAgICAgICAgICA9IHdlZWtzOwpwcm90byQyLm1vbnRocyAgICAgICAgID0gbW9udGhzOwpwcm90byQyLnllYXJzICAgICAgICAgID0geWVhcnM7CnByb3RvJDIuaHVtYW5pemUgICAgICAgPSBodW1hbml6ZTsKcHJvdG8kMi50b0lTT1N0cmluZyAgICA9IHRvSVNPU3RyaW5nJDE7CnByb3RvJDIudG9TdHJpbmcgICAgICAgPSB0b0lTT1N0cmluZyQxOwpwcm90byQyLnRvSlNPTiAgICAgICAgID0gdG9JU09TdHJpbmckMTsKcHJvdG8kMi5sb2NhbGUgICAgICAgICA9IGxvY2FsZTsKcHJvdG8kMi5sb2NhbGVEYXRhICAgICA9IGxvY2FsZURhdGE7CgovLyBEZXByZWNhdGlvbnMKcHJvdG8kMi50b0lzb1N0cmluZyA9IGRlcHJlY2F0ZSgndG9Jc29TdHJpbmcoKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRvSVNPU3RyaW5nKCkgaW5zdGVhZCAobm90aWNlIHRoZSBjYXBpdGFscyknLCB0b0lTT1N0cmluZyQxKTsKcHJvdG8kMi5sYW5nID0gbGFuZzsKCi8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCi8vIEZPUk1BVFRJTkcKCmFkZEZvcm1hdFRva2VuKCdYJywgMCwgMCwgJ3VuaXgnKTsKYWRkRm9ybWF0VG9rZW4oJ3gnLCAwLCAwLCAndmFsdWVPZicpOwoKLy8gUEFSU0lORwoKYWRkUmVnZXhUb2tlbigneCcsIG1hdGNoU2lnbmVkKTsKYWRkUmVnZXhUb2tlbignWCcsIG1hdGNoVGltZXN0YW1wKTsKYWRkUGFyc2VUb2tlbignWCcsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykgewogICAgY29uZmlnLl9kID0gbmV3IERhdGUocGFyc2VGbG9hdChpbnB1dCwgMTApICogMTAwMCk7Cn0pOwphZGRQYXJzZVRva2VuKCd4JywgZnVuY3Rpb24gKGlucHV0LCBhcnJheSwgY29uZmlnKSB7CiAgICBjb25maWcuX2QgPSBuZXcgRGF0ZSh0b0ludChpbnB1dCkpOwp9KTsKCi8vIFNpZGUgZWZmZWN0IGltcG9ydHMKCgpob29rcy52ZXJzaW9uID0gJzIuMjAuMSc7CgpzZXRIb29rQ2FsbGJhY2soY3JlYXRlTG9jYWwpOwoKaG9va3MuZm4gICAgICAgICAgICAgICAgICAgID0gcHJvdG87Cmhvb2tzLm1pbiAgICAgICAgICAgICAgICAgICA9IG1pbjsKaG9va3MubWF4ICAgICAgICAgICAgICAgICAgID0gbWF4Owpob29rcy5ub3cgICAgICAgICAgICAgICAgICAgPSBub3c7Cmhvb2tzLnV0YyAgICAgICAgICAgICAgICAgICA9IGNyZWF0ZVVUQzsKaG9va3MudW5peCAgICAgICAgICAgICAgICAgID0gY3JlYXRlVW5peDsKaG9va3MubW9udGhzICAgICAgICAgICAgICAgID0gbGlzdE1vbnRoczsKaG9va3MuaXNEYXRlICAgICAgICAgICAgICAgID0gaXNEYXRlOwpob29rcy5sb2NhbGUgICAgICAgICAgICAgICAgPSBnZXRTZXRHbG9iYWxMb2NhbGU7Cmhvb2tzLmludmFsaWQgICAgICAgICAgICAgICA9IGNyZWF0ZUludmFsaWQ7Cmhvb2tzLmR1cmF0aW9uICAgICAgICAgICAgICA9IGNyZWF0ZUR1cmF0aW9uOwpob29rcy5pc01vbWVudCAgICAgICAgICAgICAgPSBpc01vbWVudDsKaG9va3Mud2Vla2RheXMgICAgICAgICAgICAgID0gbGlzdFdlZWtkYXlzOwpob29rcy5wYXJzZVpvbmUgICAgICAgICAgICAgPSBjcmVhdGVJblpvbmU7Cmhvb2tzLmxvY2FsZURhdGEgICAgICAgICAgICA9IGdldExvY2FsZTsKaG9va3MuaXNEdXJhdGlvbiAgICAgICAgICAgID0gaXNEdXJhdGlvbjsKaG9va3MubW9udGhzU2hvcnQgICAgICAgICAgID0gbGlzdE1vbnRoc1Nob3J0Owpob29rcy53ZWVrZGF5c01pbiAgICAgICAgICAgPSBsaXN0V2Vla2RheXNNaW47Cmhvb2tzLmRlZmluZUxvY2FsZSAgICAgICAgICA9IGRlZmluZUxvY2FsZTsKaG9va3MudXBkYXRlTG9jYWxlICAgICAgICAgID0gdXBkYXRlTG9jYWxlOwpob29rcy5sb2NhbGVzICAgICAgICAgICAgICAgPSBsaXN0TG9jYWxlczsKaG9va3Mud2Vla2RheXNTaG9ydCAgICAgICAgID0gbGlzdFdlZWtkYXlzU2hvcnQ7Cmhvb2tzLm5vcm1hbGl6ZVVuaXRzICAgICAgICA9IG5vcm1hbGl6ZVVuaXRzOwpob29rcy5yZWxhdGl2ZVRpbWVSb3VuZGluZyAgPSBnZXRTZXRSZWxhdGl2ZVRpbWVSb3VuZGluZzsKaG9va3MucmVsYXRpdmVUaW1lVGhyZXNob2xkID0gZ2V0U2V0UmVsYXRpdmVUaW1lVGhyZXNob2xkOwpob29rcy5jYWxlbmRhckZvcm1hdCAgICAgICAgPSBnZXRDYWxlbmRhckZvcm1hdDsKaG9va3MucHJvdG90eXBlICAgICAgICAgICAgID0gcHJvdG87CgovLyBjdXJyZW50bHkgSFRNTDUgaW5wdXQgdHlwZSBvbmx5IHN1cHBvcnRzIDI0LWhvdXIgZm9ybWF0cwpob29rcy5IVE1MNV9GTVQgPSB7CiAgICBEQVRFVElNRV9MT0NBTDogJ1lZWVktTU0tRERUSEg6bW0nLCAgICAgICAgICAgICAvLyA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIC8+CiAgICBEQVRFVElNRV9MT0NBTF9TRUNPTkRTOiAnWVlZWS1NTS1ERFRISDptbTpzcycsICAvLyA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHN0ZXA9IjEiIC8+CiAgICBEQVRFVElNRV9MT0NBTF9NUzogJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTJywgICAvLyA8aW5wdXQgdHlwZT0iZGF0ZXRpbWUtbG9jYWwiIHN0ZXA9IjAuMDAxIiAvPgogICAgREFURTogJ1lZWVktTU0tREQnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gPGlucHV0IHR5cGU9ImRhdGUiIC8+CiAgICBUSU1FOiAnSEg6bW0nLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA8aW5wdXQgdHlwZT0idGltZSIgLz4KICAgIFRJTUVfU0VDT05EUzogJ0hIOm1tOnNzJywgICAgICAgICAgICAgICAgICAgICAgIC8vIDxpbnB1dCB0eXBlPSJ0aW1lIiBzdGVwPSIxIiAvPgogICAgVElNRV9NUzogJ0hIOm1tOnNzLlNTUycsICAgICAgICAgICAgICAgICAgICAgICAgLy8gPGlucHV0IHR5cGU9InRpbWUiIHN0ZXA9IjAuMDAxIiAvPgogICAgV0VFSzogJ1lZWVktW1ddV1cnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gPGlucHV0IHR5cGU9IndlZWsiIC8+CiAgICBNT05USDogJ1lZWVktTU0nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA8aW5wdXQgdHlwZT0ibW9udGgiIC8+Cn07CgpyZXR1cm4gaG9va3M7Cgp9KSkpOwoKfSx7fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Ci8qKgogKiBAbmFtZXNwYWNlIENoYXJ0CiAqLwp2YXIgQ2hhcnQgPSByZXF1aXJlKDI5KSgpOwoKQ2hhcnQuaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKLy8gQHRvZG8gZGlzcGF0Y2ggdGhlc2UgaGVscGVycyBpbnRvIGFwcHJvcHJpYXRlZCBoZWxwZXJzL2hlbHBlcnMuKiBmaWxlIGFuZCB3cml0ZSB1bml0IHRlc3RzIQpyZXF1aXJlKDI3KShDaGFydCk7CgpDaGFydC5kZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwpDaGFydC5FbGVtZW50ID0gcmVxdWlyZSgyNik7CkNoYXJ0LmVsZW1lbnRzID0gcmVxdWlyZSg0MCk7CkNoYXJ0LkludGVyYWN0aW9uID0gcmVxdWlyZSgyOCk7CkNoYXJ0LmxheW91dHMgPSByZXF1aXJlKDMwKTsKQ2hhcnQucGxhdGZvcm0gPSByZXF1aXJlKDQ4KTsKQ2hhcnQucGx1Z2lucyA9IHJlcXVpcmUoMzEpOwpDaGFydC5UaWNrcyA9IHJlcXVpcmUoMzQpOwoKcmVxdWlyZSgyMikoQ2hhcnQpOwpyZXF1aXJlKDIzKShDaGFydCk7CnJlcXVpcmUoMjQpKENoYXJ0KTsKcmVxdWlyZSgzMykoQ2hhcnQpOwpyZXF1aXJlKDMyKShDaGFydCk7CnJlcXVpcmUoMzUpKENoYXJ0KTsKCnJlcXVpcmUoNTUpKENoYXJ0KTsKcmVxdWlyZSg1MykoQ2hhcnQpOwpyZXF1aXJlKDU0KShDaGFydCk7CnJlcXVpcmUoNTYpKENoYXJ0KTsKcmVxdWlyZSg1NykoQ2hhcnQpOwpyZXF1aXJlKDU4KShDaGFydCk7CgovLyBDb250cm9sbGVycyBtdXN0IGJlIGxvYWRlZCBhZnRlciBlbGVtZW50cwovLyBTZWUgQ2hhcnQuY29yZS5kYXRhc2V0Q29udHJvbGxlci5kYXRhRWxlbWVudFR5cGUKcmVxdWlyZSgxNSkoQ2hhcnQpOwpyZXF1aXJlKDE2KShDaGFydCk7CnJlcXVpcmUoMTcpKENoYXJ0KTsKcmVxdWlyZSgxOCkoQ2hhcnQpOwpyZXF1aXJlKDE5KShDaGFydCk7CnJlcXVpcmUoMjApKENoYXJ0KTsKcmVxdWlyZSgyMSkoQ2hhcnQpOwoKcmVxdWlyZSg4KShDaGFydCk7CnJlcXVpcmUoOSkoQ2hhcnQpOwpyZXF1aXJlKDEwKShDaGFydCk7CnJlcXVpcmUoMTEpKENoYXJ0KTsKcmVxdWlyZSgxMikoQ2hhcnQpOwpyZXF1aXJlKDEzKShDaGFydCk7CnJlcXVpcmUoMTQpKENoYXJ0KTsKCi8vIExvYWRpbmcgYnVpbHQtaXQgcGx1Z2lucwp2YXIgcGx1Z2lucyA9IHJlcXVpcmUoNDkpOwpmb3IgKHZhciBrIGluIHBsdWdpbnMpIHsKCWlmIChwbHVnaW5zLmhhc093blByb3BlcnR5KGspKSB7CgkJQ2hhcnQucGx1Z2lucy5yZWdpc3RlcihwbHVnaW5zW2tdKTsKCX0KfQoKQ2hhcnQucGxhdGZvcm0uaW5pdGlhbGl6ZSgpOwoKbW9kdWxlLmV4cG9ydHMgPSBDaGFydDsKaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7Cgl3aW5kb3cuQ2hhcnQgPSBDaGFydDsKfQoKLy8gREVQUkVDQVRJT05TCgovKioKICogUHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIG5vdCBhdmFpbGFibGUgYW55bW9yZQogKiBAbmFtZXNwYWNlIENoYXJ0LkxlZ2VuZAogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuMS41CiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCkNoYXJ0LkxlZ2VuZCA9IHBsdWdpbnMubGVnZW5kLl9lbGVtZW50OwoKLyoqCiAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBub3QgYXZhaWxhYmxlIGFueW1vcmUKICogQG5hbWVzcGFjZSBDaGFydC5UaXRsZQogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuMS41CiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCkNoYXJ0LlRpdGxlID0gcGx1Z2lucy50aXRsZS5fZWxlbWVudDsKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIENoYXJ0LnBsdWdpbnMgaW5zdGVhZAogKiBAbmFtZXNwYWNlIENoYXJ0LnBsdWdpblNlcnZpY2UKICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjEuNQogKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCiAqIEBwcml2YXRlCiAqLwpDaGFydC5wbHVnaW5TZXJ2aWNlID0gQ2hhcnQucGx1Z2luczsKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgaW5oZXJpdGluZyBmcm9tIENoYXJ0LlBsdWdpbmdCYXNlIGhhcyBubwogKiBlZmZlY3QsIGluc3RlYWQgc2ltcGx5IGNyZWF0ZS9yZWdpc3RlciBwbHVnaW5zIHZpYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdHMuCiAqIEBpbnRlcmZhY2UgQ2hhcnQuUGx1Z2luQmFzZQogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNS4wCiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCkNoYXJ0LlBsdWdpbkJhc2UgPSBDaGFydC5FbGVtZW50LmV4dGVuZCh7fSk7CgovKioKICogUHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHVzZSBDaGFydC5oZWxwZXJzLmNhbnZhcyBpbnN0ZWFkLgogKiBAbmFtZXNwYWNlIENoYXJ0LmNhbnZhc0hlbHBlcnMKICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjYuMAogKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCiAqIEBwcml2YXRlCiAqLwpDaGFydC5jYW52YXNIZWxwZXJzID0gQ2hhcnQuaGVscGVycy5jYW52YXM7CgovKioKICogUHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHVzZSBDaGFydC5sYXlvdXRzIGluc3RlYWQuCiAqIEBuYW1lc3BhY2UgQ2hhcnQubGF5b3V0U2VydmljZQogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuOC4wCiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCkNoYXJ0LmxheW91dFNlcnZpY2UgPSBDaGFydC5sYXlvdXRzOwoKfSx7IjEwIjoxMCwiMTEiOjExLCIxMiI6MTIsIjEzIjoxMywiMTQiOjE0LCIxNSI6MTUsIjE2IjoxNiwiMTciOjE3LCIxOCI6MTgsIjE5IjoxOSwiMjAiOjIwLCIyMSI6MjEsIjIyIjoyMiwiMjMiOjIzLCIyNCI6MjQsIjI1IjoyNSwiMjYiOjI2LCIyNyI6MjcsIjI4IjoyOCwiMjkiOjI5LCIzMCI6MzAsIjMxIjozMSwiMzIiOjMyLCIzMyI6MzMsIjM0IjozNCwiMzUiOjM1LCI0MCI6NDAsIjQ1Ijo0NSwiNDgiOjQ4LCI0OSI6NDksIjUzIjo1MywiNTQiOjU0LCI1NSI6NTUsIjU2Ijo1NiwiNTciOjU3LCI1OCI6NTgsIjgiOjgsIjkiOjl9XSw4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LkJhciA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgewoJCWNvbmZpZy50eXBlID0gJ2Jhcic7CgoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsKCX07Cgp9OwoKfSx7fV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCglDaGFydC5CdWJibGUgPSBmdW5jdGlvbihjb250ZXh0LCBjb25maWcpIHsKCQljb25maWcudHlwZSA9ICdidWJibGUnOwoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsKCX07Cgp9OwoKfSx7fV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJQ2hhcnQuRG91Z2hudXQgPSBmdW5jdGlvbihjb250ZXh0LCBjb25maWcpIHsKCQljb25maWcudHlwZSA9ICdkb3VnaG51dCc7CgoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsKCX07Cgp9OwoKfSx7fV0sMTE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJQ2hhcnQuTGluZSA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgewoJCWNvbmZpZy50eXBlID0gJ2xpbmUnOwoKCQlyZXR1cm4gbmV3IENoYXJ0KGNvbnRleHQsIGNvbmZpZyk7Cgl9OwoKfTsKCn0se31dLDEyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LlBvbGFyQXJlYSA9IGZ1bmN0aW9uKGNvbnRleHQsIGNvbmZpZykgewoJCWNvbmZpZy50eXBlID0gJ3BvbGFyQXJlYSc7CgoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsKCX07Cgp9OwoKfSx7fV0sMTM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJQ2hhcnQuUmFkYXIgPSBmdW5jdGlvbihjb250ZXh0LCBjb25maWcpIHsKCQljb25maWcudHlwZSA9ICdyYWRhcic7CgoJCXJldHVybiBuZXcgQ2hhcnQoY29udGV4dCwgY29uZmlnKTsKCX07Cgp9OwoKfSx7fV0sMTQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CglDaGFydC5TY2F0dGVyID0gZnVuY3Rpb24oY29udGV4dCwgY29uZmlnKSB7CgkJY29uZmlnLnR5cGUgPSAnc2NhdHRlcic7CgkJcmV0dXJuIG5ldyBDaGFydChjb250ZXh0LCBjb25maWcpOwoJfTsKfTsKCn0se31dLDE1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGRlZmF1bHRzID0gcmVxdWlyZSgyNSk7CnZhciBlbGVtZW50cyA9IHJlcXVpcmUoNDApOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKZGVmYXVsdHMuX3NldCgnYmFyJywgewoJaG92ZXI6IHsKCQltb2RlOiAnbGFiZWwnCgl9LAoKCXNjYWxlczogewoJCXhBeGVzOiBbewoJCQl0eXBlOiAnY2F0ZWdvcnknLAoKCQkJLy8gU3BlY2lmaWMgdG8gQmFyIENvbnRyb2xsZXIKCQkJY2F0ZWdvcnlQZXJjZW50YWdlOiAwLjgsCgkJCWJhclBlcmNlbnRhZ2U6IDAuOSwKCgkJCS8vIG9mZnNldCBzZXR0aW5ncwoJCQlvZmZzZXQ6IHRydWUsCgoJCQkvLyBncmlkIGxpbmUgc2V0dGluZ3MKCQkJZ3JpZExpbmVzOiB7CgkJCQlvZmZzZXRHcmlkTGluZXM6IHRydWUKCQkJfQoJCX1dLAoKCQl5QXhlczogW3sKCQkJdHlwZTogJ2xpbmVhcicKCQl9XQoJfQp9KTsKCmRlZmF1bHRzLl9zZXQoJ2hvcml6b250YWxCYXInLCB7Cglob3ZlcjogewoJCW1vZGU6ICdpbmRleCcsCgkJYXhpczogJ3knCgl9LAoKCXNjYWxlczogewoJCXhBeGVzOiBbewoJCQl0eXBlOiAnbGluZWFyJywKCQkJcG9zaXRpb246ICdib3R0b20nCgkJfV0sCgoJCXlBeGVzOiBbewoJCQlwb3NpdGlvbjogJ2xlZnQnLAoJCQl0eXBlOiAnY2F0ZWdvcnknLAoKCQkJLy8gU3BlY2lmaWMgdG8gSG9yaXpvbnRhbCBCYXIgQ29udHJvbGxlcgoJCQljYXRlZ29yeVBlcmNlbnRhZ2U6IDAuOCwKCQkJYmFyUGVyY2VudGFnZTogMC45LAoKCQkJLy8gb2Zmc2V0IHNldHRpbmdzCgkJCW9mZnNldDogdHJ1ZSwKCgkJCS8vIGdyaWQgbGluZSBzZXR0aW5ncwoJCQlncmlkTGluZXM6IHsKCQkJCW9mZnNldEdyaWRMaW5lczogdHJ1ZQoJCQl9CgkJfV0KCX0sCgoJZWxlbWVudHM6IHsKCQlyZWN0YW5nbGU6IHsKCQkJYm9yZGVyU2tpcHBlZDogJ2xlZnQnCgkJfQoJfSwKCgl0b29sdGlwczogewoJCWNhbGxiYWNrczogewoJCQl0aXRsZTogZnVuY3Rpb24oaXRlbSwgZGF0YSkgewoJCQkJLy8gUGljayBmaXJzdCB4TGFiZWwgZm9yIG5vdwoJCQkJdmFyIHRpdGxlID0gJyc7CgoJCQkJaWYgKGl0ZW0ubGVuZ3RoID4gMCkgewoJCQkJCWlmIChpdGVtWzBdLnlMYWJlbCkgewoJCQkJCQl0aXRsZSA9IGl0ZW1bMF0ueUxhYmVsOwoJCQkJCX0gZWxzZSBpZiAoZGF0YS5sYWJlbHMubGVuZ3RoID4gMCAmJiBpdGVtWzBdLmluZGV4IDwgZGF0YS5sYWJlbHMubGVuZ3RoKSB7CgkJCQkJCXRpdGxlID0gZGF0YS5sYWJlbHNbaXRlbVswXS5pbmRleF07CgkJCQkJfQoJCQkJfQoKCQkJCXJldHVybiB0aXRsZTsKCQkJfSwKCgkJCWxhYmVsOiBmdW5jdGlvbihpdGVtLCBkYXRhKSB7CgkJCQl2YXIgZGF0YXNldExhYmVsID0gZGF0YS5kYXRhc2V0c1tpdGVtLmRhdGFzZXRJbmRleF0ubGFiZWwgfHwgJyc7CgkJCQlyZXR1cm4gZGF0YXNldExhYmVsICsgJzogJyArIGl0ZW0ueExhYmVsOwoJCQl9CgkJfSwKCQltb2RlOiAnaW5kZXgnLAoJCWF4aXM6ICd5JwoJfQp9KTsKCi8qKgogKiBDb21wdXRlcyB0aGUgIm9wdGltYWwiIHNhbXBsZSBzaXplIHRvIG1haW50YWluIGJhcnMgZXF1YWxseSBzaXplZCB3aGlsZSBwcmV2ZW50aW5nIG92ZXJsYXAuCiAqIEBwcml2YXRlCiAqLwpmdW5jdGlvbiBjb21wdXRlTWluU2FtcGxlU2l6ZShzY2FsZSwgcGl4ZWxzKSB7Cgl2YXIgbWluID0gc2NhbGUuaXNIb3Jpem9udGFsKCkgPyBzY2FsZS53aWR0aCA6IHNjYWxlLmhlaWdodDsKCXZhciB0aWNrcyA9IHNjYWxlLmdldFRpY2tzKCk7Cgl2YXIgcHJldiwgY3VyciwgaSwgaWxlbjsKCglmb3IgKGkgPSAxLCBpbGVuID0gcGl4ZWxzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCW1pbiA9IE1hdGgubWluKG1pbiwgcGl4ZWxzW2ldIC0gcGl4ZWxzW2kgLSAxXSk7Cgl9CgoJZm9yIChpID0gMCwgaWxlbiA9IHRpY2tzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCWN1cnIgPSBzY2FsZS5nZXRQaXhlbEZvclRpY2soaSk7CgkJbWluID0gaSA+IDAgPyBNYXRoLm1pbihtaW4sIGN1cnIgLSBwcmV2KSA6IG1pbjsKCQlwcmV2ID0gY3VycjsKCX0KCglyZXR1cm4gbWluOwp9CgovKioKICogQ29tcHV0ZXMgYW4gImlkZWFsIiBjYXRlZ29yeSBiYXNlZCBvbiB0aGUgYWJzb2x1dGUgYmFyIHRoaWNrbmVzcyBvciwgaWYgdW5kZWZpbmVkIG9yIG51bGwsCiAqIHVzZXMgdGhlIHNtYWxsZXN0IGludGVydmFsIChzZWUgY29tcHV0ZU1pblNhbXBsZVNpemUpIHRoYXQgcHJldmVudHMgYmFyIG92ZXJsYXBwaW5nLiBUaGlzCiAqIG1vZGUgY3VycmVudGx5IGFsd2F5cyBnZW5lcmF0ZXMgYmFycyBlcXVhbGx5IHNpemVkICh1bnRpbCB3ZSBpbnRyb2R1Y2Ugc2NyaXB0YWJsZSBvcHRpb25zPykuCiAqIEBwcml2YXRlCiAqLwpmdW5jdGlvbiBjb21wdXRlRml0Q2F0ZWdvcnlUcmFpdHMoaW5kZXgsIHJ1bGVyLCBvcHRpb25zKSB7Cgl2YXIgdGhpY2tuZXNzID0gb3B0aW9ucy5iYXJUaGlja25lc3M7Cgl2YXIgY291bnQgPSBydWxlci5zdGFja0NvdW50OwoJdmFyIGN1cnIgPSBydWxlci5waXhlbHNbaW5kZXhdOwoJdmFyIHNpemUsIHJhdGlvOwoKCWlmIChoZWxwZXJzLmlzTnVsbE9yVW5kZWYodGhpY2tuZXNzKSkgewoJCXNpemUgPSBydWxlci5taW4gKiBvcHRpb25zLmNhdGVnb3J5UGVyY2VudGFnZTsKCQlyYXRpbyA9IG9wdGlvbnMuYmFyUGVyY2VudGFnZTsKCX0gZWxzZSB7CgkJLy8gV2hlbiBiYXIgdGhpY2tuZXNzIGlzIGVuZm9yY2VkLCBjYXRlZ29yeSBhbmQgYmFyIHBlcmNlbnRhZ2VzIGFyZSBpZ25vcmVkLgoJCS8vIE5vdGUoU0IpOiB3ZSBjb3VsZCBhZGQgc3VwcG9ydCBmb3IgcmVsYXRpdmUgYmFyIHRoaWNrbmVzcyAoZS5nLiBiYXJUaGlja25lc3M6ICc1MCUnKQoJCS8vIGFuZCBkZXByZWNhdGUgYmFyUGVyY2VudGFnZSBzaW5jZSB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgd2hlbiB0aGlja25lc3MgaXMgYWJzb2x1dGUuCgkJc2l6ZSA9IHRoaWNrbmVzcyAqIGNvdW50OwoJCXJhdGlvID0gMTsKCX0KCglyZXR1cm4gewoJCWNodW5rOiBzaXplIC8gY291bnQsCgkJcmF0aW86IHJhdGlvLAoJCXN0YXJ0OiBjdXJyIC0gKHNpemUgLyAyKQoJfTsKfQoKLyoqCiAqIENvbXB1dGVzIGFuICJvcHRpbWFsIiBjYXRlZ29yeSB0aGF0IGdsb2JhbGx5IGFycmFuZ2VzIGJhcnMgc2lkZSBieSBzaWRlIChubyBnYXAgd2hlbgogKiBwZXJjZW50YWdlIG9wdGlvbnMgYXJlIDEpLCBiYXNlZCBvbiB0aGUgcHJldmlvdXMgYW5kIGZvbGxvd2luZyBjYXRlZ29yaWVzLiBUaGlzIG1vZGUKICogZ2VuZXJhdGVzIGJhcnMgd2l0aCBkaWZmZXJlbnQgd2lkdGhzIHdoZW4gZGF0YSBhcmUgbm90IGV2ZW5seSBzcGFjZWQuCiAqIEBwcml2YXRlCiAqLwpmdW5jdGlvbiBjb21wdXRlRmxleENhdGVnb3J5VHJhaXRzKGluZGV4LCBydWxlciwgb3B0aW9ucykgewoJdmFyIHBpeGVscyA9IHJ1bGVyLnBpeGVsczsKCXZhciBjdXJyID0gcGl4ZWxzW2luZGV4XTsKCXZhciBwcmV2ID0gaW5kZXggPiAwID8gcGl4ZWxzW2luZGV4IC0gMV0gOiBudWxsOwoJdmFyIG5leHQgPSBpbmRleCA8IHBpeGVscy5sZW5ndGggLSAxID8gcGl4ZWxzW2luZGV4ICsgMV0gOiBudWxsOwoJdmFyIHBlcmNlbnQgPSBvcHRpb25zLmNhdGVnb3J5UGVyY2VudGFnZTsKCXZhciBzdGFydCwgc2l6ZTsKCglpZiAocHJldiA9PT0gbnVsbCkgewoJCS8vIGZpcnN0IGRhdGE6IGl0cyBzaXplIGlzIGRvdWJsZSBiYXNlZCBvbiB0aGUgbmV4dCBwb2ludCBvciwKCQkvLyBpZiBpdCdzIGFsc28gdGhlIGxhc3QgZGF0YSwgd2UgdXNlIHRoZSBzY2FsZSBlbmQgZXh0cmVtaXR5LgoJCXByZXYgPSBjdXJyIC0gKG5leHQgPT09IG51bGwgPyBydWxlci5lbmQgLSBjdXJyIDogbmV4dCAtIGN1cnIpOwoJfQoKCWlmIChuZXh0ID09PSBudWxsKSB7CgkJLy8gbGFzdCBkYXRhOiBpdHMgc2l6ZSBpcyBhbHNvIGRvdWJsZSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcG9pbnQuCgkJbmV4dCA9IGN1cnIgKyBjdXJyIC0gcHJldjsKCX0KCglzdGFydCA9IGN1cnIgLSAoKGN1cnIgLSBwcmV2KSAvIDIpICogcGVyY2VudDsKCXNpemUgPSAoKG5leHQgLSBwcmV2KSAvIDIpICogcGVyY2VudDsKCglyZXR1cm4gewoJCWNodW5rOiBzaXplIC8gcnVsZXIuc3RhY2tDb3VudCwKCQlyYXRpbzogb3B0aW9ucy5iYXJQZXJjZW50YWdlLAoJCXN0YXJ0OiBzdGFydAoJfTsKfQoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LmNvbnRyb2xsZXJzLmJhciA9IENoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCh7CgoJCWRhdGFFbGVtZW50VHlwZTogZWxlbWVudHMuUmVjdGFuZ2xlLAoKCQlpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG1ldGE7CgoJCQlDaGFydC5EYXRhc2V0Q29udHJvbGxlci5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseShtZSwgYXJndW1lbnRzKTsKCgkJCW1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCW1ldGEuc3RhY2sgPSBtZS5nZXREYXRhc2V0KCkuc3RhY2s7CgkJCW1ldGEuYmFyID0gdHJ1ZTsKCQl9LAoKCQl1cGRhdGU6IGZ1bmN0aW9uKHJlc2V0KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciByZWN0cyA9IG1lLmdldE1ldGEoKS5kYXRhOwoJCQl2YXIgaSwgaWxlbjsKCgkJCW1lLl9ydWxlciA9IG1lLmdldFJ1bGVyKCk7CgoJCQlmb3IgKGkgPSAwLCBpbGVuID0gcmVjdHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQltZS51cGRhdGVFbGVtZW50KHJlY3RzW2ldLCBpLCByZXNldCk7CgkJCX0KCQl9LAoKCQl1cGRhdGVFbGVtZW50OiBmdW5jdGlvbihyZWN0YW5nbGUsIGluZGV4LCByZXNldCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgY2hhcnQgPSBtZS5jaGFydDsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCXZhciBkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOwoJCQl2YXIgY3VzdG9tID0gcmVjdGFuZ2xlLmN1c3RvbSB8fCB7fTsKCQkJdmFyIHJlY3RhbmdsZU9wdGlvbnMgPSBjaGFydC5vcHRpb25zLmVsZW1lbnRzLnJlY3RhbmdsZTsKCgkJCXJlY3RhbmdsZS5feFNjYWxlID0gbWUuZ2V0U2NhbGVGb3JJZChtZXRhLnhBeGlzSUQpOwoJCQlyZWN0YW5nbGUuX3lTY2FsZSA9IG1lLmdldFNjYWxlRm9ySWQobWV0YS55QXhpc0lEKTsKCQkJcmVjdGFuZ2xlLl9kYXRhc2V0SW5kZXggPSBtZS5pbmRleDsKCQkJcmVjdGFuZ2xlLl9pbmRleCA9IGluZGV4OwoKCQkJcmVjdGFuZ2xlLl9tb2RlbCA9IHsKCQkJCWRhdGFzZXRMYWJlbDogZGF0YXNldC5sYWJlbCwKCQkJCWxhYmVsOiBjaGFydC5kYXRhLmxhYmVsc1tpbmRleF0sCgkJCQlib3JkZXJTa2lwcGVkOiBjdXN0b20uYm9yZGVyU2tpcHBlZCA/IGN1c3RvbS5ib3JkZXJTa2lwcGVkIDogcmVjdGFuZ2xlT3B0aW9ucy5ib3JkZXJTa2lwcGVkLAoJCQkJYmFja2dyb3VuZENvbG9yOiBjdXN0b20uYmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmJhY2tncm91bmRDb2xvciA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYmFja2dyb3VuZENvbG9yLCBpbmRleCwgcmVjdGFuZ2xlT3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLAoJCQkJYm9yZGVyQ29sb3I6IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyQ29sb3IsIGluZGV4LCByZWN0YW5nbGVPcHRpb25zLmJvcmRlckNvbG9yKSwKCQkJCWJvcmRlcldpZHRoOiBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgcmVjdGFuZ2xlT3B0aW9ucy5ib3JkZXJXaWR0aCkKCQkJfTsKCgkJCW1lLnVwZGF0ZUVsZW1lbnRHZW9tZXRyeShyZWN0YW5nbGUsIGluZGV4LCByZXNldCk7CgoJCQlyZWN0YW5nbGUucGl2b3QoKTsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXVwZGF0ZUVsZW1lbnRHZW9tZXRyeTogZnVuY3Rpb24ocmVjdGFuZ2xlLCBpbmRleCwgcmVzZXQpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG1vZGVsID0gcmVjdGFuZ2xlLl9tb2RlbDsKCQkJdmFyIHZzY2FsZSA9IG1lLmdldFZhbHVlU2NhbGUoKTsKCQkJdmFyIGJhc2UgPSB2c2NhbGUuZ2V0QmFzZVBpeGVsKCk7CgkJCXZhciBob3Jpem9udGFsID0gdnNjYWxlLmlzSG9yaXpvbnRhbCgpOwoJCQl2YXIgcnVsZXIgPSBtZS5fcnVsZXIgfHwgbWUuZ2V0UnVsZXIoKTsKCQkJdmFyIHZwaXhlbHMgPSBtZS5jYWxjdWxhdGVCYXJWYWx1ZVBpeGVscyhtZS5pbmRleCwgaW5kZXgpOwoJCQl2YXIgaXBpeGVscyA9IG1lLmNhbGN1bGF0ZUJhckluZGV4UGl4ZWxzKG1lLmluZGV4LCBpbmRleCwgcnVsZXIpOwoKCQkJbW9kZWwuaG9yaXpvbnRhbCA9IGhvcml6b250YWw7CgkJCW1vZGVsLmJhc2UgPSByZXNldCA/IGJhc2UgOiB2cGl4ZWxzLmJhc2U7CgkJCW1vZGVsLnggPSBob3Jpem9udGFsID8gcmVzZXQgPyBiYXNlIDogdnBpeGVscy5oZWFkIDogaXBpeGVscy5jZW50ZXI7CgkJCW1vZGVsLnkgPSBob3Jpem9udGFsID8gaXBpeGVscy5jZW50ZXIgOiByZXNldCA/IGJhc2UgOiB2cGl4ZWxzLmhlYWQ7CgkJCW1vZGVsLmhlaWdodCA9IGhvcml6b250YWwgPyBpcGl4ZWxzLnNpemUgOiB1bmRlZmluZWQ7CgkJCW1vZGVsLndpZHRoID0gaG9yaXpvbnRhbCA/IHVuZGVmaW5lZCA6IGlwaXhlbHMuc2l6ZTsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWdldFZhbHVlU2NhbGVJZDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLmdldE1ldGEoKS55QXhpc0lEOwoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJZ2V0SW5kZXhTY2FsZUlkOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMuZ2V0TWV0YSgpLnhBeGlzSUQ7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlnZXRWYWx1ZVNjYWxlOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMuZ2V0U2NhbGVGb3JJZCh0aGlzLmdldFZhbHVlU2NhbGVJZCgpKTsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWdldEluZGV4U2NhbGU6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5nZXRTY2FsZUZvcklkKHRoaXMuZ2V0SW5kZXhTY2FsZUlkKCkpOwoJCX0sCgoJCS8qKgoJCSAqIFJldHVybnMgdGhlIHN0YWNrcyBiYXNlZCBvbiBncm91cHMgYW5kIGJhciB2aXNpYmlsaXR5LgoJCSAqIEBwYXJhbSB7TnVtYmVyfSBbbGFzdF0gLSBUaGUgZGF0YXNldCBpbmRleAoJCSAqIEByZXR1cm5zIHtBcnJheX0gVGhlIHN0YWNrIGxpc3QKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCV9nZXRTdGFja3M6IGZ1bmN0aW9uKGxhc3QpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBzY2FsZSA9IG1lLmdldEluZGV4U2NhbGUoKTsKCQkJdmFyIHN0YWNrZWQgPSBzY2FsZS5vcHRpb25zLnN0YWNrZWQ7CgkJCXZhciBpbGVuID0gbGFzdCA9PT0gdW5kZWZpbmVkID8gY2hhcnQuZGF0YS5kYXRhc2V0cy5sZW5ndGggOiBsYXN0ICsgMTsKCQkJdmFyIHN0YWNrcyA9IFtdOwoJCQl2YXIgaSwgbWV0YTsKCgkJCWZvciAoaSA9IDA7IGkgPCBpbGVuOyArK2kpIHsKCQkJCW1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShpKTsKCQkJCWlmIChtZXRhLmJhciAmJiBjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpICYmCgkJCQkJKHN0YWNrZWQgPT09IGZhbHNlIHx8CgkJCQkJKHN0YWNrZWQgPT09IHRydWUgJiYgc3RhY2tzLmluZGV4T2YobWV0YS5zdGFjaykgPT09IC0xKSB8fAoJCQkJCShzdGFja2VkID09PSB1bmRlZmluZWQgJiYgKG1ldGEuc3RhY2sgPT09IHVuZGVmaW5lZCB8fCBzdGFja3MuaW5kZXhPZihtZXRhLnN0YWNrKSA9PT0gLTEpKSkpIHsKCQkJCQlzdGFja3MucHVzaChtZXRhLnN0YWNrKTsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHN0YWNrczsKCQl9LAoKCQkvKioKCQkgKiBSZXR1cm5zIHRoZSBlZmZlY3RpdmUgbnVtYmVyIG9mIHN0YWNrcyBiYXNlZCBvbiBncm91cHMgYW5kIGJhciB2aXNpYmlsaXR5LgoJCSAqIEBwcml2YXRlCgkJICovCgkJZ2V0U3RhY2tDb3VudDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLl9nZXRTdGFja3MoKS5sZW5ndGg7CgkJfSwKCgkJLyoqCgkJICogUmV0dXJucyB0aGUgc3RhY2sgaW5kZXggZm9yIHRoZSBnaXZlbiBkYXRhc2V0IGJhc2VkIG9uIGdyb3VwcyBhbmQgYmFyIHZpc2liaWxpdHkuCgkJICogQHBhcmFtIHtOdW1iZXJ9IFtkYXRhc2V0SW5kZXhdIC0gVGhlIGRhdGFzZXQgaW5kZXgKCQkgKiBAcGFyYW0ge1N0cmluZ30gW25hbWVdIC0gVGhlIHN0YWNrIG5hbWUgdG8gZmluZAoJCSAqIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzdGFjayBpbmRleAoJCSAqIEBwcml2YXRlCgkJICovCgkJZ2V0U3RhY2tJbmRleDogZnVuY3Rpb24oZGF0YXNldEluZGV4LCBuYW1lKSB7CgkJCXZhciBzdGFja3MgPSB0aGlzLl9nZXRTdGFja3MoZGF0YXNldEluZGV4KTsKCQkJdmFyIGluZGV4ID0gKG5hbWUgIT09IHVuZGVmaW5lZCkKCQkJCT8gc3RhY2tzLmluZGV4T2YobmFtZSkKCQkJCTogLTE7IC8vIGluZGV4T2YgcmV0dXJucyAtMSBpZiBlbGVtZW50IGlzIG5vdCBwcmVzZW50CgoJCQlyZXR1cm4gKGluZGV4ID09PSAtMSkKCQkJCT8gc3RhY2tzLmxlbmd0aCAtIDEKCQkJCTogaW5kZXg7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlnZXRSdWxlcjogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBzY2FsZSA9IG1lLmdldEluZGV4U2NhbGUoKTsKCQkJdmFyIHN0YWNrQ291bnQgPSBtZS5nZXRTdGFja0NvdW50KCk7CgkJCXZhciBkYXRhc2V0SW5kZXggPSBtZS5pbmRleDsKCQkJdmFyIGlzSG9yaXpvbnRhbCA9IHNjYWxlLmlzSG9yaXpvbnRhbCgpOwoJCQl2YXIgc3RhcnQgPSBpc0hvcml6b250YWwgPyBzY2FsZS5sZWZ0IDogc2NhbGUudG9wOwoJCQl2YXIgZW5kID0gc3RhcnQgKyAoaXNIb3Jpem9udGFsID8gc2NhbGUud2lkdGggOiBzY2FsZS5oZWlnaHQpOwoJCQl2YXIgcGl4ZWxzID0gW107CgkJCXZhciBpLCBpbGVuLCBtaW47CgoJCQlmb3IgKGkgPSAwLCBpbGVuID0gbWUuZ2V0TWV0YSgpLmRhdGEubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlwaXhlbHMucHVzaChzY2FsZS5nZXRQaXhlbEZvclZhbHVlKG51bGwsIGksIGRhdGFzZXRJbmRleCkpOwoJCQl9CgoJCQltaW4gPSBoZWxwZXJzLmlzTnVsbE9yVW5kZWYoc2NhbGUub3B0aW9ucy5iYXJUaGlja25lc3MpCgkJCQk/IGNvbXB1dGVNaW5TYW1wbGVTaXplKHNjYWxlLCBwaXhlbHMpCgkJCQk6IC0xOwoKCQkJcmV0dXJuIHsKCQkJCW1pbjogbWluLAoJCQkJcGl4ZWxzOiBwaXhlbHMsCgkJCQlzdGFydDogc3RhcnQsCgkJCQllbmQ6IGVuZCwKCQkJCXN0YWNrQ291bnQ6IHN0YWNrQ291bnQsCgkJCQlzY2FsZTogc2NhbGUKCQkJfTsKCQl9LAoKCQkvKioKCQkgKiBOb3RlOiBwaXhlbCB2YWx1ZXMgYXJlIG5vdCBjbGFtcGVkIHRvIHRoZSBzY2FsZSBhcmVhLgoJCSAqIEBwcml2YXRlCgkJICovCgkJY2FsY3VsYXRlQmFyVmFsdWVQaXhlbHM6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCwgaW5kZXgpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOwoJCQl2YXIgc2NhbGUgPSBtZS5nZXRWYWx1ZVNjYWxlKCk7CgkJCXZhciBkYXRhc2V0cyA9IGNoYXJ0LmRhdGEuZGF0YXNldHM7CgkJCXZhciB2YWx1ZSA9IHNjYWxlLmdldFJpZ2h0VmFsdWUoZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XSk7CgkJCXZhciBzdGFja2VkID0gc2NhbGUub3B0aW9ucy5zdGFja2VkOwoJCQl2YXIgc3RhY2sgPSBtZXRhLnN0YWNrOwoJCQl2YXIgc3RhcnQgPSAwOwoJCQl2YXIgaSwgaW1ldGEsIGl2YWx1ZSwgYmFzZSwgaGVhZCwgc2l6ZTsKCgkJCWlmIChzdGFja2VkIHx8IChzdGFja2VkID09PSB1bmRlZmluZWQgJiYgc3RhY2sgIT09IHVuZGVmaW5lZCkpIHsKCQkJCWZvciAoaSA9IDA7IGkgPCBkYXRhc2V0SW5kZXg7ICsraSkgewoJCQkJCWltZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7CgoJCQkJCWlmIChpbWV0YS5iYXIgJiYKCQkJCQkJaW1ldGEuc3RhY2sgPT09IHN0YWNrICYmCgkJCQkJCWltZXRhLmNvbnRyb2xsZXIuZ2V0VmFsdWVTY2FsZUlkKCkgPT09IHNjYWxlLmlkICYmCgkJCQkJCWNoYXJ0LmlzRGF0YXNldFZpc2libGUoaSkpIHsKCgkJCQkJCWl2YWx1ZSA9IHNjYWxlLmdldFJpZ2h0VmFsdWUoZGF0YXNldHNbaV0uZGF0YVtpbmRleF0pOwoJCQkJCQlpZiAoKHZhbHVlIDwgMCAmJiBpdmFsdWUgPCAwKSB8fCAodmFsdWUgPj0gMCAmJiBpdmFsdWUgPiAwKSkgewoJCQkJCQkJc3RhcnQgKz0gaXZhbHVlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQliYXNlID0gc2NhbGUuZ2V0UGl4ZWxGb3JWYWx1ZShzdGFydCk7CgkJCWhlYWQgPSBzY2FsZS5nZXRQaXhlbEZvclZhbHVlKHN0YXJ0ICsgdmFsdWUpOwoJCQlzaXplID0gKGhlYWQgLSBiYXNlKSAvIDI7CgoJCQlyZXR1cm4gewoJCQkJc2l6ZTogc2l6ZSwKCQkJCWJhc2U6IGJhc2UsCgkJCQloZWFkOiBoZWFkLAoJCQkJY2VudGVyOiBoZWFkICsgc2l6ZSAvIDIKCQkJfTsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWNhbGN1bGF0ZUJhckluZGV4UGl4ZWxzOiBmdW5jdGlvbihkYXRhc2V0SW5kZXgsIGluZGV4LCBydWxlcikgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0aW9ucyA9IHJ1bGVyLnNjYWxlLm9wdGlvbnM7CgkJCXZhciByYW5nZSA9IG9wdGlvbnMuYmFyVGhpY2tuZXNzID09PSAnZmxleCcKCQkJCT8gY29tcHV0ZUZsZXhDYXRlZ29yeVRyYWl0cyhpbmRleCwgcnVsZXIsIG9wdGlvbnMpCgkJCQk6IGNvbXB1dGVGaXRDYXRlZ29yeVRyYWl0cyhpbmRleCwgcnVsZXIsIG9wdGlvbnMpOwoKCQkJdmFyIHN0YWNrSW5kZXggPSBtZS5nZXRTdGFja0luZGV4KGRhdGFzZXRJbmRleCwgbWUuZ2V0TWV0YSgpLnN0YWNrKTsKCQkJdmFyIGNlbnRlciA9IHJhbmdlLnN0YXJ0ICsgKHJhbmdlLmNodW5rICogc3RhY2tJbmRleCkgKyAocmFuZ2UuY2h1bmsgLyAyKTsKCQkJdmFyIHNpemUgPSBNYXRoLm1pbigKCQkJCWhlbHBlcnMudmFsdWVPckRlZmF1bHQob3B0aW9ucy5tYXhCYXJUaGlja25lc3MsIEluZmluaXR5KSwKCQkJCXJhbmdlLmNodW5rICogcmFuZ2UucmF0aW8pOwoKCQkJcmV0dXJuIHsKCQkJCWJhc2U6IGNlbnRlciAtIHNpemUgLyAyLAoJCQkJaGVhZDogY2VudGVyICsgc2l6ZSAvIDIsCgkJCQljZW50ZXI6IGNlbnRlciwKCQkJCXNpemU6IHNpemUKCQkJfTsKCQl9LAoKCQlkcmF3OiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBzY2FsZSA9IG1lLmdldFZhbHVlU2NhbGUoKTsKCQkJdmFyIHJlY3RzID0gbWUuZ2V0TWV0YSgpLmRhdGE7CgkJCXZhciBkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOwoJCQl2YXIgaWxlbiA9IHJlY3RzLmxlbmd0aDsKCQkJdmFyIGkgPSAwOwoKCQkJaGVscGVycy5jYW52YXMuY2xpcEFyZWEoY2hhcnQuY3R4LCBjaGFydC5jaGFydEFyZWEpOwoKCQkJZm9yICg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCWlmICghaXNOYU4oc2NhbGUuZ2V0UmlnaHRWYWx1ZShkYXRhc2V0LmRhdGFbaV0pKSkgewoJCQkJCXJlY3RzW2ldLmRyYXcoKTsKCQkJCX0KCQkJfQoKCQkJaGVscGVycy5jYW52YXMudW5jbGlwQXJlYShjaGFydC5jdHgpOwoJCX0sCgoJCXNldEhvdmVyU3R5bGU6IGZ1bmN0aW9uKHJlY3RhbmdsZSkgewoJCQl2YXIgZGF0YXNldCA9IHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1tyZWN0YW5nbGUuX2RhdGFzZXRJbmRleF07CgkJCXZhciBpbmRleCA9IHJlY3RhbmdsZS5faW5kZXg7CgkJCXZhciBjdXN0b20gPSByZWN0YW5nbGUuY3VzdG9tIHx8IHt9OwoJCQl2YXIgbW9kZWwgPSByZWN0YW5nbGUuX21vZGVsOwoKCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yID8gY3VzdG9tLmhvdmVyQmFja2dyb3VuZENvbG9yIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ob3ZlckJhY2tncm91bmRDb2xvciwgaW5kZXgsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihtb2RlbC5iYWNrZ3JvdW5kQ29sb3IpKTsKCQkJbW9kZWwuYm9yZGVyQ29sb3IgPSBjdXN0b20uaG92ZXJCb3JkZXJDb2xvciA/IGN1c3RvbS5ob3ZlckJvcmRlckNvbG9yIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ob3ZlckJvcmRlckNvbG9yLCBpbmRleCwgaGVscGVycy5nZXRIb3ZlckNvbG9yKG1vZGVsLmJvcmRlckNvbG9yKSk7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggPyBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsKCQl9LAoKCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihyZWN0YW5nbGUpIHsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcmVjdGFuZ2xlLl9kYXRhc2V0SW5kZXhdOwoJCQl2YXIgaW5kZXggPSByZWN0YW5nbGUuX2luZGV4OwoJCQl2YXIgY3VzdG9tID0gcmVjdGFuZ2xlLmN1c3RvbSB8fCB7fTsKCQkJdmFyIG1vZGVsID0gcmVjdGFuZ2xlLl9tb2RlbDsKCQkJdmFyIHJlY3RhbmdsZUVsZW1lbnRPcHRpb25zID0gdGhpcy5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnJlY3RhbmdsZTsKCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpOwoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQuYm9yZGVyQ29sb3IsIGluZGV4LCByZWN0YW5nbGVFbGVtZW50T3B0aW9ucy5ib3JkZXJDb2xvcik7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJXaWR0aCwgaW5kZXgsIHJlY3RhbmdsZUVsZW1lbnRPcHRpb25zLmJvcmRlcldpZHRoKTsKCQl9Cgl9KTsKCglDaGFydC5jb250cm9sbGVycy5ob3Jpem9udGFsQmFyID0gQ2hhcnQuY29udHJvbGxlcnMuYmFyLmV4dGVuZCh7CgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlnZXRWYWx1ZVNjYWxlSWQ6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5nZXRNZXRhKCkueEF4aXNJRDsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWdldEluZGV4U2NhbGVJZDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLmdldE1ldGEoKS55QXhpc0lEOwoJCX0KCX0pOwp9OwoKfSx7IjI1IjoyNSwiNDAiOjQwLCI0NSI6NDV9XSwxNjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgZWxlbWVudHMgPSByZXF1aXJlKDQwKTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2J1YmJsZScsIHsKCWhvdmVyOiB7CgkJbW9kZTogJ3NpbmdsZScKCX0sCgoJc2NhbGVzOiB7CgkJeEF4ZXM6IFt7CgkJCXR5cGU6ICdsaW5lYXInLCAvLyBidWJibGUgc2hvdWxkIHByb2JhYmx5IHVzZSBhIGxpbmVhciBzY2FsZSBieSBkZWZhdWx0CgkJCXBvc2l0aW9uOiAnYm90dG9tJywKCQkJaWQ6ICd4LWF4aXMtMCcgLy8gbmVlZCBhbiBJRCBzbyBkYXRhc2V0cyBjYW4gcmVmZXJlbmNlIHRoZSBzY2FsZQoJCX1dLAoJCXlBeGVzOiBbewoJCQl0eXBlOiAnbGluZWFyJywKCQkJcG9zaXRpb246ICdsZWZ0JywKCQkJaWQ6ICd5LWF4aXMtMCcKCQl9XQoJfSwKCgl0b29sdGlwczogewoJCWNhbGxiYWNrczogewoJCQl0aXRsZTogZnVuY3Rpb24oKSB7CgkJCQkvLyBUaXRsZSBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHNjYXR0ZXIgc2luY2Ugd2UgZm9ybWF0IHRoZSBkYXRhIGFzIGEgcG9pbnQKCQkJCXJldHVybiAnJzsKCQkJfSwKCQkJbGFiZWw6IGZ1bmN0aW9uKGl0ZW0sIGRhdGEpIHsKCQkJCXZhciBkYXRhc2V0TGFiZWwgPSBkYXRhLmRhdGFzZXRzW2l0ZW0uZGF0YXNldEluZGV4XS5sYWJlbCB8fCAnJzsKCQkJCXZhciBkYXRhUG9pbnQgPSBkYXRhLmRhdGFzZXRzW2l0ZW0uZGF0YXNldEluZGV4XS5kYXRhW2l0ZW0uaW5kZXhdOwoJCQkJcmV0dXJuIGRhdGFzZXRMYWJlbCArICc6ICgnICsgaXRlbS54TGFiZWwgKyAnLCAnICsgaXRlbS55TGFiZWwgKyAnLCAnICsgZGF0YVBvaW50LnIgKyAnKSc7CgkJCX0KCQl9Cgl9Cn0pOwoKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCglDaGFydC5jb250cm9sbGVycy5idWJibGUgPSBDaGFydC5EYXRhc2V0Q29udHJvbGxlci5leHRlbmQoewoJCS8qKgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQlkYXRhRWxlbWVudFR5cGU6IGVsZW1lbnRzLlBvaW50LAoKCQkvKioKCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdXBkYXRlOiBmdW5jdGlvbihyZXNldCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWV0YSA9IG1lLmdldE1ldGEoKTsKCQkJdmFyIHBvaW50cyA9IG1ldGEuZGF0YTsKCgkJCS8vIFVwZGF0ZSBQb2ludHMKCQkJaGVscGVycy5lYWNoKHBvaW50cywgZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7CgkJCQltZS51cGRhdGVFbGVtZW50KHBvaW50LCBpbmRleCwgcmVzZXQpOwoJCQl9KTsKCQl9LAoKCQkvKioKCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdXBkYXRlRWxlbWVudDogZnVuY3Rpb24ocG9pbnQsIGluZGV4LCByZXNldCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWV0YSA9IG1lLmdldE1ldGEoKTsKCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIHhTY2FsZSA9IG1lLmdldFNjYWxlRm9ySWQobWV0YS54QXhpc0lEKTsKCQkJdmFyIHlTY2FsZSA9IG1lLmdldFNjYWxlRm9ySWQobWV0YS55QXhpc0lEKTsKCQkJdmFyIG9wdGlvbnMgPSBtZS5fcmVzb2x2ZUVsZW1lbnRPcHRpb25zKHBvaW50LCBpbmRleCk7CgkJCXZhciBkYXRhID0gbWUuZ2V0RGF0YXNldCgpLmRhdGFbaW5kZXhdOwoJCQl2YXIgZHNJbmRleCA9IG1lLmluZGV4OwoKCQkJdmFyIHggPSByZXNldCA/IHhTY2FsZS5nZXRQaXhlbEZvckRlY2ltYWwoMC41KSA6IHhTY2FsZS5nZXRQaXhlbEZvclZhbHVlKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyA/IGRhdGEgOiBOYU4sIGluZGV4LCBkc0luZGV4KTsKCQkJdmFyIHkgPSByZXNldCA/IHlTY2FsZS5nZXRCYXNlUGl4ZWwoKSA6IHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKGRhdGEsIGluZGV4LCBkc0luZGV4KTsKCgkJCXBvaW50Ll94U2NhbGUgPSB4U2NhbGU7CgkJCXBvaW50Ll95U2NhbGUgPSB5U2NhbGU7CgkJCXBvaW50Ll9vcHRpb25zID0gb3B0aW9uczsKCQkJcG9pbnQuX2RhdGFzZXRJbmRleCA9IGRzSW5kZXg7CgkJCXBvaW50Ll9pbmRleCA9IGluZGV4OwoJCQlwb2ludC5fbW9kZWwgPSB7CgkJCQliYWNrZ3JvdW5kQ29sb3I6IG9wdGlvbnMuYmFja2dyb3VuZENvbG9yLAoJCQkJYm9yZGVyQ29sb3I6IG9wdGlvbnMuYm9yZGVyQ29sb3IsCgkJCQlib3JkZXJXaWR0aDogb3B0aW9ucy5ib3JkZXJXaWR0aCwKCQkJCWhpdFJhZGl1czogb3B0aW9ucy5oaXRSYWRpdXMsCgkJCQlwb2ludFN0eWxlOiBvcHRpb25zLnBvaW50U3R5bGUsCgkJCQlyYWRpdXM6IHJlc2V0ID8gMCA6IG9wdGlvbnMucmFkaXVzLAoJCQkJc2tpcDogY3VzdG9tLnNraXAgfHwgaXNOYU4oeCkgfHwgaXNOYU4oeSksCgkJCQl4OiB4LAoJCQkJeTogeSwKCQkJfTsKCgkJCXBvaW50LnBpdm90KCk7CgkJfSwKCgkJLyoqCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXNldEhvdmVyU3R5bGU6IGZ1bmN0aW9uKHBvaW50KSB7CgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsKCQkJdmFyIG9wdGlvbnMgPSBwb2ludC5fb3B0aW9uczsKCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQob3B0aW9ucy5ob3ZlckJhY2tncm91bmRDb2xvciwgaGVscGVycy5nZXRIb3ZlckNvbG9yKG9wdGlvbnMuYmFja2dyb3VuZENvbG9yKSk7CgkJCW1vZGVsLmJvcmRlckNvbG9yID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdChvcHRpb25zLmhvdmVyQm9yZGVyQ29sb3IsIGhlbHBlcnMuZ2V0SG92ZXJDb2xvcihvcHRpb25zLmJvcmRlckNvbG9yKSk7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdChvcHRpb25zLmhvdmVyQm9yZGVyV2lkdGgsIG9wdGlvbnMuYm9yZGVyV2lkdGgpOwoJCQltb2RlbC5yYWRpdXMgPSBvcHRpb25zLnJhZGl1cyArIG9wdGlvbnMuaG92ZXJSYWRpdXM7CgkJfSwKCgkJLyoqCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXJlbW92ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKHBvaW50KSB7CgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsKCQkJdmFyIG9wdGlvbnMgPSBwb2ludC5fb3B0aW9uczsKCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IG9wdGlvbnMuYmFja2dyb3VuZENvbG9yOwoJCQltb2RlbC5ib3JkZXJDb2xvciA9IG9wdGlvbnMuYm9yZGVyQ29sb3I7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gb3B0aW9ucy5ib3JkZXJXaWR0aDsKCQkJbW9kZWwucmFkaXVzID0gb3B0aW9ucy5yYWRpdXM7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlfcmVzb2x2ZUVsZW1lbnRPcHRpb25zOiBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBkYXRhc2V0cyA9IGNoYXJ0LmRhdGEuZGF0YXNldHM7CgkJCXZhciBkYXRhc2V0ID0gZGF0YXNldHNbbWUuaW5kZXhdOwoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9OwoJCQl2YXIgb3B0aW9ucyA9IGNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQ7CgkJCXZhciByZXNvbHZlID0gaGVscGVycy5vcHRpb25zLnJlc29sdmU7CgkJCXZhciBkYXRhID0gZGF0YXNldC5kYXRhW2luZGV4XTsKCQkJdmFyIHZhbHVlcyA9IHt9OwoJCQl2YXIgaSwgaWxlbiwga2V5OwoKCQkJLy8gU2NyaXB0YWJsZSBvcHRpb25zCgkJCXZhciBjb250ZXh0ID0gewoJCQkJY2hhcnQ6IGNoYXJ0LAoJCQkJZGF0YUluZGV4OiBpbmRleCwKCQkJCWRhdGFzZXQ6IGRhdGFzZXQsCgkJCQlkYXRhc2V0SW5kZXg6IG1lLmluZGV4CgkJCX07CgoJCQl2YXIga2V5cyA9IFsKCQkJCSdiYWNrZ3JvdW5kQ29sb3InLAoJCQkJJ2JvcmRlckNvbG9yJywKCQkJCSdib3JkZXJXaWR0aCcsCgkJCQknaG92ZXJCYWNrZ3JvdW5kQ29sb3InLAoJCQkJJ2hvdmVyQm9yZGVyQ29sb3InLAoJCQkJJ2hvdmVyQm9yZGVyV2lkdGgnLAoJCQkJJ2hvdmVyUmFkaXVzJywKCQkJCSdoaXRSYWRpdXMnLAoJCQkJJ3BvaW50U3R5bGUnCgkJCV07CgoJCQlmb3IgKGkgPSAwLCBpbGVuID0ga2V5cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCWtleSA9IGtleXNbaV07CgkJCQl2YWx1ZXNba2V5XSA9IHJlc29sdmUoWwoJCQkJCWN1c3RvbVtrZXldLAoJCQkJCWRhdGFzZXRba2V5XSwKCQkJCQlvcHRpb25zW2tleV0KCQkJCV0sIGNvbnRleHQsIGluZGV4KTsKCQkJfQoKCQkJLy8gQ3VzdG9tIHJhZGl1cyByZXNvbHV0aW9uCgkJCXZhbHVlcy5yYWRpdXMgPSByZXNvbHZlKFsKCQkJCWN1c3RvbS5yYWRpdXMsCgkJCQlkYXRhID8gZGF0YS5yIDogdW5kZWZpbmVkLAoJCQkJZGF0YXNldC5yYWRpdXMsCgkJCQlvcHRpb25zLnJhZGl1cwoJCQldLCBjb250ZXh0LCBpbmRleCk7CgoJCQlyZXR1cm4gdmFsdWVzOwoJCX0KCX0pOwp9OwoKfSx7IjI1IjoyNSwiNDAiOjQwLCI0NSI6NDV9XSwxNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgZWxlbWVudHMgPSByZXF1aXJlKDQwKTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2RvdWdobnV0JywgewoJYW5pbWF0aW9uOiB7CgkJLy8gQm9vbGVhbiAtIFdoZXRoZXIgd2UgYW5pbWF0ZSB0aGUgcm90YXRpb24gb2YgdGhlIERvdWdobnV0CgkJYW5pbWF0ZVJvdGF0ZTogdHJ1ZSwKCQkvLyBCb29sZWFuIC0gV2hldGhlciB3ZSBhbmltYXRlIHNjYWxpbmcgdGhlIERvdWdobnV0IGZyb20gdGhlIGNlbnRyZQoJCWFuaW1hdGVTY2FsZTogZmFsc2UKCX0sCglob3ZlcjogewoJCW1vZGU6ICdzaW5nbGUnCgl9LAoJbGVnZW5kQ2FsbGJhY2s6IGZ1bmN0aW9uKGNoYXJ0KSB7CgkJdmFyIHRleHQgPSBbXTsKCQl0ZXh0LnB1c2goJzx1bCBjbGFzcz0iJyArIGNoYXJ0LmlkICsgJy1sZWdlbmQiPicpOwoKCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7CgkJdmFyIGRhdGFzZXRzID0gZGF0YS5kYXRhc2V0czsKCQl2YXIgbGFiZWxzID0gZGF0YS5sYWJlbHM7CgoJCWlmIChkYXRhc2V0cy5sZW5ndGgpIHsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhc2V0c1swXS5kYXRhLmxlbmd0aDsgKytpKSB7CgkJCQl0ZXh0LnB1c2goJzxsaT48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjonICsgZGF0YXNldHNbMF0uYmFja2dyb3VuZENvbG9yW2ldICsgJyI+PC9zcGFuPicpOwoJCQkJaWYgKGxhYmVsc1tpXSkgewoJCQkJCXRleHQucHVzaChsYWJlbHNbaV0pOwoJCQkJfQoJCQkJdGV4dC5wdXNoKCc8L2xpPicpOwoJCQl9CgkJfQoKCQl0ZXh0LnB1c2goJzwvdWw+Jyk7CgkJcmV0dXJuIHRleHQuam9pbignJyk7Cgl9LAoJbGVnZW5kOiB7CgkJbGFiZWxzOiB7CgkJCWdlbmVyYXRlTGFiZWxzOiBmdW5jdGlvbihjaGFydCkgewoJCQkJdmFyIGRhdGEgPSBjaGFydC5kYXRhOwoJCQkJaWYgKGRhdGEubGFiZWxzLmxlbmd0aCAmJiBkYXRhLmRhdGFzZXRzLmxlbmd0aCkgewoJCQkJCXJldHVybiBkYXRhLmxhYmVscy5tYXAoZnVuY3Rpb24obGFiZWwsIGkpIHsKCQkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YSgwKTsKCQkJCQkJdmFyIGRzID0gZGF0YS5kYXRhc2V0c1swXTsKCQkJCQkJdmFyIGFyYyA9IG1ldGEuZGF0YVtpXTsKCQkJCQkJdmFyIGN1c3RvbSA9IGFyYyAmJiBhcmMuY3VzdG9tIHx8IHt9OwoJCQkJCQl2YXIgdmFsdWVBdEluZGV4T3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQ7CgkJCQkJCXZhciBhcmNPcHRzID0gY2hhcnQub3B0aW9ucy5lbGVtZW50cy5hcmM7CgkJCQkJCXZhciBmaWxsID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiB2YWx1ZUF0SW5kZXhPckRlZmF1bHQoZHMuYmFja2dyb3VuZENvbG9yLCBpLCBhcmNPcHRzLmJhY2tncm91bmRDb2xvcik7CgkJCQkJCXZhciBzdHJva2UgPSBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiB2YWx1ZUF0SW5kZXhPckRlZmF1bHQoZHMuYm9yZGVyQ29sb3IsIGksIGFyY09wdHMuYm9yZGVyQ29sb3IpOwoJCQkJCQl2YXIgYncgPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiB2YWx1ZUF0SW5kZXhPckRlZmF1bHQoZHMuYm9yZGVyV2lkdGgsIGksIGFyY09wdHMuYm9yZGVyV2lkdGgpOwoKCQkJCQkJcmV0dXJuIHsKCQkJCQkJCXRleHQ6IGxhYmVsLAoJCQkJCQkJZmlsbFN0eWxlOiBmaWxsLAoJCQkJCQkJc3Ryb2tlU3R5bGU6IHN0cm9rZSwKCQkJCQkJCWxpbmVXaWR0aDogYncsCgkJCQkJCQloaWRkZW46IGlzTmFOKGRzLmRhdGFbaV0pIHx8IG1ldGEuZGF0YVtpXS5oaWRkZW4sCgoJCQkJCQkJLy8gRXh0cmEgZGF0YSB1c2VkIGZvciB0b2dnbGluZyB0aGUgY29ycmVjdCBpdGVtCgkJCQkJCQlpbmRleDogaQoJCQkJCQl9OwoJCQkJCX0pOwoJCQkJfQoJCQkJcmV0dXJuIFtdOwoJCQl9CgkJfSwKCgkJb25DbGljazogZnVuY3Rpb24oZSwgbGVnZW5kSXRlbSkgewoJCQl2YXIgaW5kZXggPSBsZWdlbmRJdGVtLmluZGV4OwoJCQl2YXIgY2hhcnQgPSB0aGlzLmNoYXJ0OwoJCQl2YXIgaSwgaWxlbiwgbWV0YTsKCgkJCWZvciAoaSA9IDAsIGlsZW4gPSAoY2hhcnQuZGF0YS5kYXRhc2V0cyB8fCBbXSkubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQltZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7CgkJCQkvLyB0b2dnbGUgdmlzaWJpbGl0eSBvZiBpbmRleCBpZiBleGlzdHMKCQkJCWlmIChtZXRhLmRhdGFbaW5kZXhdKSB7CgkJCQkJbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4gPSAhbWV0YS5kYXRhW2luZGV4XS5oaWRkZW47CgkJCQl9CgkJCX0KCgkJCWNoYXJ0LnVwZGF0ZSgpOwoJCX0KCX0sCgoJLy8gVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGNoYXJ0IHRoYXQgd2UgY3V0IG91dCBvZiB0aGUgbWlkZGxlLgoJY3V0b3V0UGVyY2VudGFnZTogNTAsCgoJLy8gVGhlIHJvdGF0aW9uIG9mIHRoZSBjaGFydCwgd2hlcmUgdGhlIGZpcnN0IGRhdGEgYXJjIGJlZ2lucy4KCXJvdGF0aW9uOiBNYXRoLlBJICogLTAuNSwKCgkvLyBUaGUgdG90YWwgY2lyY3VtZmVyZW5jZSBvZiB0aGUgY2hhcnQuCgljaXJjdW1mZXJlbmNlOiBNYXRoLlBJICogMi4wLAoKCS8vIE5lZWQgdG8gb3ZlcnJpZGUgdGhlc2UgdG8gZ2l2ZSBhIG5pY2UgZGVmYXVsdAoJdG9vbHRpcHM6IHsKCQljYWxsYmFja3M6IHsKCQkJdGl0bGU6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICcnOwoJCQl9LAoJCQlsYWJlbDogZnVuY3Rpb24odG9vbHRpcEl0ZW0sIGRhdGEpIHsKCQkJCXZhciBkYXRhTGFiZWwgPSBkYXRhLmxhYmVsc1t0b29sdGlwSXRlbS5pbmRleF07CgkJCQl2YXIgdmFsdWUgPSAnOiAnICsgZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdOwoKCQkJCWlmIChoZWxwZXJzLmlzQXJyYXkoZGF0YUxhYmVsKSkgewoJCQkJCS8vIHNob3cgdmFsdWUgb24gZmlyc3QgbGluZSBvZiBtdWx0aWxpbmUgbGFiZWwKCQkJCQkvLyBuZWVkIHRvIGNsb25lIGJlY2F1c2Ugd2UgYXJlIGNoYW5naW5nIHRoZSB2YWx1ZQoJCQkJCWRhdGFMYWJlbCA9IGRhdGFMYWJlbC5zbGljZSgpOwoJCQkJCWRhdGFMYWJlbFswXSArPSB2YWx1ZTsKCQkJCX0gZWxzZSB7CgkJCQkJZGF0YUxhYmVsICs9IHZhbHVlOwoJCQkJfQoKCQkJCXJldHVybiBkYXRhTGFiZWw7CgkJCX0KCQl9Cgl9Cn0pOwoKZGVmYXVsdHMuX3NldCgncGllJywgaGVscGVycy5jbG9uZShkZWZhdWx0cy5kb3VnaG51dCkpOwpkZWZhdWx0cy5fc2V0KCdwaWUnLCB7CgljdXRvdXRQZXJjZW50YWdlOiAwCn0pOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LmNvbnRyb2xsZXJzLmRvdWdobnV0ID0gQ2hhcnQuY29udHJvbGxlcnMucGllID0gQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIuZXh0ZW5kKHsKCgkJZGF0YUVsZW1lbnRUeXBlOiBlbGVtZW50cy5BcmMsCgoJCWxpbmtTY2FsZXM6IGhlbHBlcnMubm9vcCwKCgkJLy8gR2V0IGluZGV4IG9mIHRoZSBkYXRhc2V0IGluIHJlbGF0aW9uIHRvIHRoZSB2aXNpYmxlIGRhdGFzZXRzLiBUaGlzIGFsbG93cyBkZXRlcm1pbmluZyB0aGUgaW5uZXIgYW5kIG91dGVyIHJhZGl1cyBjb3JyZWN0bHkKCQlnZXRSaW5nSW5kZXg6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCkgewoJCQl2YXIgcmluZ0luZGV4ID0gMDsKCgkJCWZvciAodmFyIGogPSAwOyBqIDwgZGF0YXNldEluZGV4OyArK2opIHsKCQkJCWlmICh0aGlzLmNoYXJ0LmlzRGF0YXNldFZpc2libGUoaikpIHsKCQkJCQkrK3JpbmdJbmRleDsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHJpbmdJbmRleDsKCQl9LAoKCQl1cGRhdGU6IGZ1bmN0aW9uKHJlc2V0KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBjaGFydCA9IG1lLmNoYXJ0OwoJCQl2YXIgY2hhcnRBcmVhID0gY2hhcnQuY2hhcnRBcmVhOwoJCQl2YXIgb3B0cyA9IGNoYXJ0Lm9wdGlvbnM7CgkJCXZhciBhcmNPcHRzID0gb3B0cy5lbGVtZW50cy5hcmM7CgkJCXZhciBhdmFpbGFibGVXaWR0aCA9IGNoYXJ0QXJlYS5yaWdodCAtIGNoYXJ0QXJlYS5sZWZ0IC0gYXJjT3B0cy5ib3JkZXJXaWR0aDsKCQkJdmFyIGF2YWlsYWJsZUhlaWdodCA9IGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wIC0gYXJjT3B0cy5ib3JkZXJXaWR0aDsKCQkJdmFyIG1pblNpemUgPSBNYXRoLm1pbihhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KTsKCQkJdmFyIG9mZnNldCA9IHt4OiAwLCB5OiAwfTsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCXZhciBjdXRvdXRQZXJjZW50YWdlID0gb3B0cy5jdXRvdXRQZXJjZW50YWdlOwoJCQl2YXIgY2lyY3VtZmVyZW5jZSA9IG9wdHMuY2lyY3VtZmVyZW5jZTsKCgkJCS8vIElmIHRoZSBjaGFydCdzIGNpcmN1bWZlcmVuY2UgaXNuJ3QgYSBmdWxsIGNpcmNsZSwgY2FsY3VsYXRlIG1pblNpemUgYXMgYSByYXRpbyBvZiB0aGUgd2lkdGgvaGVpZ2h0IG9mIHRoZSBhcmMKCQkJaWYgKGNpcmN1bWZlcmVuY2UgPCBNYXRoLlBJICogMi4wKSB7CgkJCQl2YXIgc3RhcnRBbmdsZSA9IG9wdHMucm90YXRpb24gJSAoTWF0aC5QSSAqIDIuMCk7CgkJCQlzdGFydEFuZ2xlICs9IE1hdGguUEkgKiAyLjAgKiAoc3RhcnRBbmdsZSA+PSBNYXRoLlBJID8gLTEgOiBzdGFydEFuZ2xlIDwgLU1hdGguUEkgPyAxIDogMCk7CgkJCQl2YXIgZW5kQW5nbGUgPSBzdGFydEFuZ2xlICsgY2lyY3VtZmVyZW5jZTsKCQkJCXZhciBzdGFydCA9IHt4OiBNYXRoLmNvcyhzdGFydEFuZ2xlKSwgeTogTWF0aC5zaW4oc3RhcnRBbmdsZSl9OwoJCQkJdmFyIGVuZCA9IHt4OiBNYXRoLmNvcyhlbmRBbmdsZSksIHk6IE1hdGguc2luKGVuZEFuZ2xlKX07CgkJCQl2YXIgY29udGFpbnMwID0gKHN0YXJ0QW5nbGUgPD0gMCAmJiBlbmRBbmdsZSA+PSAwKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMi4wICYmIE1hdGguUEkgKiAyLjAgPD0gZW5kQW5nbGUpOwoJCQkJdmFyIGNvbnRhaW5zOTAgPSAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMC41ICYmIE1hdGguUEkgKiAwLjUgPD0gZW5kQW5nbGUpIHx8IChzdGFydEFuZ2xlIDw9IE1hdGguUEkgKiAyLjUgJiYgTWF0aC5QSSAqIDIuNSA8PSBlbmRBbmdsZSk7CgkJCQl2YXIgY29udGFpbnMxODAgPSAoc3RhcnRBbmdsZSA8PSAtTWF0aC5QSSAmJiAtTWF0aC5QSSA8PSBlbmRBbmdsZSkgfHwgKHN0YXJ0QW5nbGUgPD0gTWF0aC5QSSAmJiBNYXRoLlBJIDw9IGVuZEFuZ2xlKTsKCQkJCXZhciBjb250YWluczI3MCA9IChzdGFydEFuZ2xlIDw9IC1NYXRoLlBJICogMC41ICYmIC1NYXRoLlBJICogMC41IDw9IGVuZEFuZ2xlKSB8fCAoc3RhcnRBbmdsZSA8PSBNYXRoLlBJICogMS41ICYmIE1hdGguUEkgKiAxLjUgPD0gZW5kQW5nbGUpOwoJCQkJdmFyIGN1dG91dCA9IGN1dG91dFBlcmNlbnRhZ2UgLyAxMDAuMDsKCQkJCXZhciBtaW4gPSB7eDogY29udGFpbnMxODAgPyAtMSA6IE1hdGgubWluKHN0YXJ0LnggKiAoc3RhcnQueCA8IDAgPyAxIDogY3V0b3V0KSwgZW5kLnggKiAoZW5kLnggPCAwID8gMSA6IGN1dG91dCkpLCB5OiBjb250YWluczI3MCA/IC0xIDogTWF0aC5taW4oc3RhcnQueSAqIChzdGFydC55IDwgMCA/IDEgOiBjdXRvdXQpLCBlbmQueSAqIChlbmQueSA8IDAgPyAxIDogY3V0b3V0KSl9OwoJCQkJdmFyIG1heCA9IHt4OiBjb250YWluczAgPyAxIDogTWF0aC5tYXgoc3RhcnQueCAqIChzdGFydC54ID4gMCA/IDEgOiBjdXRvdXQpLCBlbmQueCAqIChlbmQueCA+IDAgPyAxIDogY3V0b3V0KSksIHk6IGNvbnRhaW5zOTAgPyAxIDogTWF0aC5tYXgoc3RhcnQueSAqIChzdGFydC55ID4gMCA/IDEgOiBjdXRvdXQpLCBlbmQueSAqIChlbmQueSA+IDAgPyAxIDogY3V0b3V0KSl9OwoJCQkJdmFyIHNpemUgPSB7d2lkdGg6IChtYXgueCAtIG1pbi54KSAqIDAuNSwgaGVpZ2h0OiAobWF4LnkgLSBtaW4ueSkgKiAwLjV9OwoJCQkJbWluU2l6ZSA9IE1hdGgubWluKGF2YWlsYWJsZVdpZHRoIC8gc2l6ZS53aWR0aCwgYXZhaWxhYmxlSGVpZ2h0IC8gc2l6ZS5oZWlnaHQpOwoJCQkJb2Zmc2V0ID0ge3g6IChtYXgueCArIG1pbi54KSAqIC0wLjUsIHk6IChtYXgueSArIG1pbi55KSAqIC0wLjV9OwoJCQl9CgoJCQljaGFydC5ib3JkZXJXaWR0aCA9IG1lLmdldE1heEJvcmRlcldpZHRoKG1ldGEuZGF0YSk7CgkJCWNoYXJ0Lm91dGVyUmFkaXVzID0gTWF0aC5tYXgoKG1pblNpemUgLSBjaGFydC5ib3JkZXJXaWR0aCkgLyAyLCAwKTsKCQkJY2hhcnQuaW5uZXJSYWRpdXMgPSBNYXRoLm1heChjdXRvdXRQZXJjZW50YWdlID8gKGNoYXJ0Lm91dGVyUmFkaXVzIC8gMTAwKSAqIChjdXRvdXRQZXJjZW50YWdlKSA6IDAsIDApOwoJCQljaGFydC5yYWRpdXNMZW5ndGggPSAoY2hhcnQub3V0ZXJSYWRpdXMgLSBjaGFydC5pbm5lclJhZGl1cykgLyBjaGFydC5nZXRWaXNpYmxlRGF0YXNldENvdW50KCk7CgkJCWNoYXJ0Lm9mZnNldFggPSBvZmZzZXQueCAqIGNoYXJ0Lm91dGVyUmFkaXVzOwoJCQljaGFydC5vZmZzZXRZID0gb2Zmc2V0LnkgKiBjaGFydC5vdXRlclJhZGl1czsKCgkJCW1ldGEudG90YWwgPSBtZS5jYWxjdWxhdGVUb3RhbCgpOwoKCQkJbWUub3V0ZXJSYWRpdXMgPSBjaGFydC5vdXRlclJhZGl1cyAtIChjaGFydC5yYWRpdXNMZW5ndGggKiBtZS5nZXRSaW5nSW5kZXgobWUuaW5kZXgpKTsKCQkJbWUuaW5uZXJSYWRpdXMgPSBNYXRoLm1heChtZS5vdXRlclJhZGl1cyAtIGNoYXJ0LnJhZGl1c0xlbmd0aCwgMCk7CgoJCQloZWxwZXJzLmVhY2gobWV0YS5kYXRhLCBmdW5jdGlvbihhcmMsIGluZGV4KSB7CgkJCQltZS51cGRhdGVFbGVtZW50KGFyYywgaW5kZXgsIHJlc2V0KTsKCQkJfSk7CgkJfSwKCgkJdXBkYXRlRWxlbWVudDogZnVuY3Rpb24oYXJjLCBpbmRleCwgcmVzZXQpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBjaGFydEFyZWEgPSBjaGFydC5jaGFydEFyZWE7CgkJCXZhciBvcHRzID0gY2hhcnQub3B0aW9uczsKCQkJdmFyIGFuaW1hdGlvbk9wdHMgPSBvcHRzLmFuaW1hdGlvbjsKCQkJdmFyIGNlbnRlclggPSAoY2hhcnRBcmVhLmxlZnQgKyBjaGFydEFyZWEucmlnaHQpIC8gMjsKCQkJdmFyIGNlbnRlclkgPSAoY2hhcnRBcmVhLnRvcCArIGNoYXJ0QXJlYS5ib3R0b20pIC8gMjsKCQkJdmFyIHN0YXJ0QW5nbGUgPSBvcHRzLnJvdGF0aW9uOyAvLyBub24gcmVzZXQgY2FzZSBoYW5kbGVkIGxhdGVyCgkJCXZhciBlbmRBbmdsZSA9IG9wdHMucm90YXRpb247IC8vIG5vbiByZXNldCBjYXNlIGhhbmRsZWQgbGF0ZXIKCQkJdmFyIGRhdGFzZXQgPSBtZS5nZXREYXRhc2V0KCk7CgkJCXZhciBjaXJjdW1mZXJlbmNlID0gcmVzZXQgJiYgYW5pbWF0aW9uT3B0cy5hbmltYXRlUm90YXRlID8gMCA6IGFyYy5oaWRkZW4gPyAwIDogbWUuY2FsY3VsYXRlQ2lyY3VtZmVyZW5jZShkYXRhc2V0LmRhdGFbaW5kZXhdKSAqIChvcHRzLmNpcmN1bWZlcmVuY2UgLyAoMi4wICogTWF0aC5QSSkpOwoJCQl2YXIgaW5uZXJSYWRpdXMgPSByZXNldCAmJiBhbmltYXRpb25PcHRzLmFuaW1hdGVTY2FsZSA/IDAgOiBtZS5pbm5lclJhZGl1czsKCQkJdmFyIG91dGVyUmFkaXVzID0gcmVzZXQgJiYgYW5pbWF0aW9uT3B0cy5hbmltYXRlU2NhbGUgPyAwIDogbWUub3V0ZXJSYWRpdXM7CgkJCXZhciB2YWx1ZUF0SW5kZXhPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdDsKCgkJCWhlbHBlcnMuZXh0ZW5kKGFyYywgewoJCQkJLy8gVXRpbGl0eQoJCQkJX2RhdGFzZXRJbmRleDogbWUuaW5kZXgsCgkJCQlfaW5kZXg6IGluZGV4LAoKCQkJCS8vIERlc2lyZWQgdmlldyBwcm9wZXJ0aWVzCgkJCQlfbW9kZWw6IHsKCQkJCQl4OiBjZW50ZXJYICsgY2hhcnQub2Zmc2V0WCwKCQkJCQl5OiBjZW50ZXJZICsgY2hhcnQub2Zmc2V0WSwKCQkJCQlzdGFydEFuZ2xlOiBzdGFydEFuZ2xlLAoJCQkJCWVuZEFuZ2xlOiBlbmRBbmdsZSwKCQkJCQljaXJjdW1mZXJlbmNlOiBjaXJjdW1mZXJlbmNlLAoJCQkJCW91dGVyUmFkaXVzOiBvdXRlclJhZGl1cywKCQkJCQlpbm5lclJhZGl1czogaW5uZXJSYWRpdXMsCgkJCQkJbGFiZWw6IHZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LmxhYmVsLCBpbmRleCwgY2hhcnQuZGF0YS5sYWJlbHNbaW5kZXhdKQoJCQkJfQoJCQl9KTsKCgkJCXZhciBtb2RlbCA9IGFyYy5fbW9kZWw7CgkJCS8vIFJlc2V0cyB0aGUgdmlzdWFsIHN0eWxlcwoJCQl0aGlzLnJlbW92ZUhvdmVyU3R5bGUoYXJjKTsKCgkJCS8vIFNldCBjb3JyZWN0IGFuZ2xlcyBpZiBub3QgcmVzZXR0aW5nCgkJCWlmICghcmVzZXQgfHwgIWFuaW1hdGlvbk9wdHMuYW5pbWF0ZVJvdGF0ZSkgewoJCQkJaWYgKGluZGV4ID09PSAwKSB7CgkJCQkJbW9kZWwuc3RhcnRBbmdsZSA9IG9wdHMucm90YXRpb247CgkJCQl9IGVsc2UgewoJCQkJCW1vZGVsLnN0YXJ0QW5nbGUgPSBtZS5nZXRNZXRhKCkuZGF0YVtpbmRleCAtIDFdLl9tb2RlbC5lbmRBbmdsZTsKCQkJCX0KCgkJCQltb2RlbC5lbmRBbmdsZSA9IG1vZGVsLnN0YXJ0QW5nbGUgKyBtb2RlbC5jaXJjdW1mZXJlbmNlOwoJCQl9CgoJCQlhcmMucGl2b3QoKTsKCQl9LAoKCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihhcmMpIHsKCQkJQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLnJlbW92ZUhvdmVyU3R5bGUuY2FsbCh0aGlzLCBhcmMsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5hcmMpOwoJCX0sCgoJCWNhbGN1bGF0ZVRvdGFsOiBmdW5jdGlvbigpIHsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsKCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsKCQkJdmFyIHRvdGFsID0gMDsKCQkJdmFyIHZhbHVlOwoKCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24oZWxlbWVudCwgaW5kZXgpIHsKCQkJCXZhbHVlID0gZGF0YXNldC5kYXRhW2luZGV4XTsKCQkJCWlmICghaXNOYU4odmFsdWUpICYmICFlbGVtZW50LmhpZGRlbikgewoJCQkJCXRvdGFsICs9IE1hdGguYWJzKHZhbHVlKTsKCQkJCX0KCQkJfSk7CgoJCQkvKiBpZiAodG90YWwgPT09IDApIHsKCQkJCXRvdGFsID0gTmFOOwoJCQl9Ki8KCgkJCXJldHVybiB0b3RhbDsKCQl9LAoKCQljYWxjdWxhdGVDaXJjdW1mZXJlbmNlOiBmdW5jdGlvbih2YWx1ZSkgewoJCQl2YXIgdG90YWwgPSB0aGlzLmdldE1ldGEoKS50b3RhbDsKCQkJaWYgKHRvdGFsID4gMCAmJiAhaXNOYU4odmFsdWUpKSB7CgkJCQlyZXR1cm4gKE1hdGguUEkgKiAyLjApICogKE1hdGguYWJzKHZhbHVlKSAvIHRvdGFsKTsKCQkJfQoJCQlyZXR1cm4gMDsKCQl9LAoKCQkvLyBnZXRzIHRoZSBtYXggYm9yZGVyIG9yIGhvdmVyIHdpZHRoIHRvIHByb3Blcmx5IHNjYWxlIHBpZSBjaGFydHMKCQlnZXRNYXhCb3JkZXJXaWR0aDogZnVuY3Rpb24oYXJjcykgewoJCQl2YXIgbWF4ID0gMDsKCQkJdmFyIGluZGV4ID0gdGhpcy5pbmRleDsKCQkJdmFyIGxlbmd0aCA9IGFyY3MubGVuZ3RoOwoJCQl2YXIgYm9yZGVyV2lkdGg7CgkJCXZhciBob3ZlcldpZHRoOwoKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewoJCQkJYm9yZGVyV2lkdGggPSBhcmNzW2ldLl9tb2RlbCA/IGFyY3NbaV0uX21vZGVsLmJvcmRlcldpZHRoIDogMDsKCQkJCWhvdmVyV2lkdGggPSBhcmNzW2ldLl9jaGFydCA/IGFyY3NbaV0uX2NoYXJ0LmNvbmZpZy5kYXRhLmRhdGFzZXRzW2luZGV4XS5ob3ZlckJvcmRlcldpZHRoIDogMDsKCgkJCQltYXggPSBib3JkZXJXaWR0aCA+IG1heCA/IGJvcmRlcldpZHRoIDogbWF4OwoJCQkJbWF4ID0gaG92ZXJXaWR0aCA+IG1heCA/IGhvdmVyV2lkdGggOiBtYXg7CgkJCX0KCQkJcmV0dXJuIG1heDsKCQl9Cgl9KTsKfTsKCn0seyIyNSI6MjUsIjQwIjo0MCwiNDUiOjQ1fV0sMTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKdmFyIGVsZW1lbnRzID0gcmVxdWlyZSg0MCk7CnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7CgpkZWZhdWx0cy5fc2V0KCdsaW5lJywgewoJc2hvd0xpbmVzOiB0cnVlLAoJc3BhbkdhcHM6IGZhbHNlLAoKCWhvdmVyOiB7CgkJbW9kZTogJ2xhYmVsJwoJfSwKCglzY2FsZXM6IHsKCQl4QXhlczogW3sKCQkJdHlwZTogJ2NhdGVnb3J5JywKCQkJaWQ6ICd4LWF4aXMtMCcKCQl9XSwKCQl5QXhlczogW3sKCQkJdHlwZTogJ2xpbmVhcicsCgkJCWlkOiAneS1heGlzLTAnCgkJfV0KCX0KfSk7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJZnVuY3Rpb24gbGluZUVuYWJsZWQoZGF0YXNldCwgb3B0aW9ucykgewoJCXJldHVybiBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuc2hvd0xpbmUsIG9wdGlvbnMuc2hvd0xpbmVzKTsKCX0KCglDaGFydC5jb250cm9sbGVycy5saW5lID0gQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIuZXh0ZW5kKHsKCgkJZGF0YXNldEVsZW1lbnRUeXBlOiBlbGVtZW50cy5MaW5lLAoKCQlkYXRhRWxlbWVudFR5cGU6IGVsZW1lbnRzLlBvaW50LAoKCQl1cGRhdGU6IGZ1bmN0aW9uKHJlc2V0KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOwoJCQl2YXIgbGluZSA9IG1ldGEuZGF0YXNldDsKCQkJdmFyIHBvaW50cyA9IG1ldGEuZGF0YSB8fCBbXTsKCQkJdmFyIG9wdGlvbnMgPSBtZS5jaGFydC5vcHRpb25zOwoJCQl2YXIgbGluZUVsZW1lbnRPcHRpb25zID0gb3B0aW9ucy5lbGVtZW50cy5saW5lOwoJCQl2YXIgc2NhbGUgPSBtZS5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7CgkJCXZhciBpLCBpbGVuLCBjdXN0b207CgkJCXZhciBkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOwoJCQl2YXIgc2hvd0xpbmUgPSBsaW5lRW5hYmxlZChkYXRhc2V0LCBvcHRpb25zKTsKCgkJCS8vIFVwZGF0ZSBMaW5lCgkJCWlmIChzaG93TGluZSkgewoJCQkJY3VzdG9tID0gbGluZS5jdXN0b20gfHwge307CgoJCQkJLy8gQ29tcGF0aWJpbGl0eTogSWYgdGhlIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgd2l0aCBvbmx5IHRoZSBvbGQgbmFtZSwgdXNlIHRob3NlIHZhbHVlcwoJCQkJaWYgKChkYXRhc2V0LnRlbnNpb24gIT09IHVuZGVmaW5lZCkgJiYgKGRhdGFzZXQubGluZVRlbnNpb24gPT09IHVuZGVmaW5lZCkpIHsKCQkJCQlkYXRhc2V0LmxpbmVUZW5zaW9uID0gZGF0YXNldC50ZW5zaW9uOwoJCQkJfQoKCQkJCS8vIFV0aWxpdHkKCQkJCWxpbmUuX3NjYWxlID0gc2NhbGU7CgkJCQlsaW5lLl9kYXRhc2V0SW5kZXggPSBtZS5pbmRleDsKCQkJCS8vIERhdGEKCQkJCWxpbmUuX2NoaWxkcmVuID0gcG9pbnRzOwoJCQkJLy8gTW9kZWwKCQkJCWxpbmUuX21vZGVsID0gewoJCQkJCS8vIEFwcGVhcmFuY2UKCQkJCQkvLyBUaGUgZGVmYXVsdCBiZWhhdmlvciBvZiBsaW5lcyBpcyB0byBicmVhayBhdCBudWxsIHZhbHVlcywgYWNjb3JkaW5nCgkJCQkJLy8gdG8gaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzI0MzUjaXNzdWVjb21tZW50LTIxNjcxODE1OAoJCQkJCS8vIFRoaXMgb3B0aW9uIGdpdmVzIGxpbmVzIHRoZSBhYmlsaXR5IHRvIHNwYW4gZ2FwcwoJCQkJCXNwYW5HYXBzOiBkYXRhc2V0LnNwYW5HYXBzID8gZGF0YXNldC5zcGFuR2FwcyA6IG9wdGlvbnMuc3BhbkdhcHMsCgkJCQkJdGVuc2lvbjogY3VzdG9tLnRlbnNpb24gPyBjdXN0b20udGVuc2lvbiA6IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoZGF0YXNldC5saW5lVGVuc2lvbiwgbGluZUVsZW1lbnRPcHRpb25zLnRlbnNpb24pLAoJCQkJCWJhY2tncm91bmRDb2xvcjogY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiAoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IgfHwgbGluZUVsZW1lbnRPcHRpb25zLmJhY2tncm91bmRDb2xvciksCgkJCQkJYm9yZGVyV2lkdGg6IGN1c3RvbS5ib3JkZXJXaWR0aCA/IGN1c3RvbS5ib3JkZXJXaWR0aCA6IChkYXRhc2V0LmJvcmRlcldpZHRoIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJXaWR0aCksCgkJCQkJYm9yZGVyQ29sb3I6IGN1c3RvbS5ib3JkZXJDb2xvciA/IGN1c3RvbS5ib3JkZXJDb2xvciA6IChkYXRhc2V0LmJvcmRlckNvbG9yIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJDb2xvciksCgkJCQkJYm9yZGVyQ2FwU3R5bGU6IGN1c3RvbS5ib3JkZXJDYXBTdHlsZSA/IGN1c3RvbS5ib3JkZXJDYXBTdHlsZSA6IChkYXRhc2V0LmJvcmRlckNhcFN0eWxlIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJDYXBTdHlsZSksCgkJCQkJYm9yZGVyRGFzaDogY3VzdG9tLmJvcmRlckRhc2ggPyBjdXN0b20uYm9yZGVyRGFzaCA6IChkYXRhc2V0LmJvcmRlckRhc2ggfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlckRhc2gpLAoJCQkJCWJvcmRlckRhc2hPZmZzZXQ6IGN1c3RvbS5ib3JkZXJEYXNoT2Zmc2V0ID8gY3VzdG9tLmJvcmRlckRhc2hPZmZzZXQgOiAoZGF0YXNldC5ib3JkZXJEYXNoT2Zmc2V0IHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJEYXNoT2Zmc2V0KSwKCQkJCQlib3JkZXJKb2luU3R5bGU6IGN1c3RvbS5ib3JkZXJKb2luU3R5bGUgPyBjdXN0b20uYm9yZGVySm9pblN0eWxlIDogKGRhdGFzZXQuYm9yZGVySm9pblN0eWxlIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJKb2luU3R5bGUpLAoJCQkJCWZpbGw6IGN1c3RvbS5maWxsID8gY3VzdG9tLmZpbGwgOiAoZGF0YXNldC5maWxsICE9PSB1bmRlZmluZWQgPyBkYXRhc2V0LmZpbGwgOiBsaW5lRWxlbWVudE9wdGlvbnMuZmlsbCksCgkJCQkJc3RlcHBlZExpbmU6IGN1c3RvbS5zdGVwcGVkTGluZSA/IGN1c3RvbS5zdGVwcGVkTGluZSA6IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoZGF0YXNldC5zdGVwcGVkTGluZSwgbGluZUVsZW1lbnRPcHRpb25zLnN0ZXBwZWQpLAoJCQkJCWN1YmljSW50ZXJwb2xhdGlvbk1vZGU6IGN1c3RvbS5jdWJpY0ludGVycG9sYXRpb25Nb2RlID8gY3VzdG9tLmN1YmljSW50ZXJwb2xhdGlvbk1vZGUgOiBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuY3ViaWNJbnRlcnBvbGF0aW9uTW9kZSwgbGluZUVsZW1lbnRPcHRpb25zLmN1YmljSW50ZXJwb2xhdGlvbk1vZGUpLAoJCQkJfTsKCgkJCQlsaW5lLnBpdm90KCk7CgkJCX0KCgkJCS8vIFVwZGF0ZSBQb2ludHMKCQkJZm9yIChpID0gMCwgaWxlbiA9IHBvaW50cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCW1lLnVwZGF0ZUVsZW1lbnQocG9pbnRzW2ldLCBpLCByZXNldCk7CgkJCX0KCgkJCWlmIChzaG93TGluZSAmJiBsaW5lLl9tb2RlbC50ZW5zaW9uICE9PSAwKSB7CgkJCQltZS51cGRhdGVCZXppZXJDb250cm9sUG9pbnRzKCk7CgkJCX0KCgkJCS8vIE5vdyBwaXZvdCB0aGUgcG9pbnQgZm9yIGFuaW1hdGlvbgoJCQlmb3IgKGkgPSAwLCBpbGVuID0gcG9pbnRzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCQkJcG9pbnRzW2ldLnBpdm90KCk7CgkJCX0KCQl9LAoKCQlnZXRQb2ludEJhY2tncm91bmRDb2xvcjogZnVuY3Rpb24ocG9pbnQsIGluZGV4KSB7CgkJCXZhciBiYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQuYmFja2dyb3VuZENvbG9yOwoJCQl2YXIgZGF0YXNldCA9IHRoaXMuZ2V0RGF0YXNldCgpOwoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9OwoKCQkJaWYgKGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IpIHsKCQkJCWJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3I7CgkJCX0gZWxzZSBpZiAoZGF0YXNldC5wb2ludEJhY2tncm91bmRDb2xvcikgewoJCQkJYmFja2dyb3VuZENvbG9yID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEJhY2tncm91bmRDb2xvciwgaW5kZXgsIGJhY2tncm91bmRDb2xvcik7CgkJCX0gZWxzZSBpZiAoZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3IpIHsKCQkJCWJhY2tncm91bmRDb2xvciA9IGRhdGFzZXQuYmFja2dyb3VuZENvbG9yOwoJCQl9CgoJCQlyZXR1cm4gYmFja2dyb3VuZENvbG9yOwoJCX0sCgoJCWdldFBvaW50Qm9yZGVyQ29sb3I6IGZ1bmN0aW9uKHBvaW50LCBpbmRleCkgewoJCQl2YXIgYm9yZGVyQ29sb3IgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQuYm9yZGVyQ29sb3I7CgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7CgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307CgoJCQlpZiAoY3VzdG9tLmJvcmRlckNvbG9yKSB7CgkJCQlib3JkZXJDb2xvciA9IGN1c3RvbS5ib3JkZXJDb2xvcjsKCQkJfSBlbHNlIGlmIChkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IpIHsKCQkJCWJvcmRlckNvbG9yID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEJvcmRlckNvbG9yLCBpbmRleCwgYm9yZGVyQ29sb3IpOwoJCQl9IGVsc2UgaWYgKGRhdGFzZXQuYm9yZGVyQ29sb3IpIHsKCQkJCWJvcmRlckNvbG9yID0gZGF0YXNldC5ib3JkZXJDb2xvcjsKCQkJfQoKCQkJcmV0dXJuIGJvcmRlckNvbG9yOwoJCX0sCgoJCWdldFBvaW50Qm9yZGVyV2lkdGg6IGZ1bmN0aW9uKHBvaW50LCBpbmRleCkgewoJCQl2YXIgYm9yZGVyV2lkdGggPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQuYm9yZGVyV2lkdGg7CgkJCXZhciBkYXRhc2V0ID0gdGhpcy5nZXREYXRhc2V0KCk7CgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307CgoJCQlpZiAoIWlzTmFOKGN1c3RvbS5ib3JkZXJXaWR0aCkpIHsKCQkJCWJvcmRlcldpZHRoID0gY3VzdG9tLmJvcmRlcldpZHRoOwoJCQl9IGVsc2UgaWYgKCFpc05hTihkYXRhc2V0LnBvaW50Qm9yZGVyV2lkdGgpIHx8IGhlbHBlcnMuaXNBcnJheShkYXRhc2V0LnBvaW50Qm9yZGVyV2lkdGgpKSB7CgkJCQlib3JkZXJXaWR0aCA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRCb3JkZXJXaWR0aCwgaW5kZXgsIGJvcmRlcldpZHRoKTsKCQkJfSBlbHNlIGlmICghaXNOYU4oZGF0YXNldC5ib3JkZXJXaWR0aCkpIHsKCQkJCWJvcmRlcldpZHRoID0gZGF0YXNldC5ib3JkZXJXaWR0aDsKCQkJfQoKCQkJcmV0dXJuIGJvcmRlcldpZHRoOwoJCX0sCgoJCXVwZGF0ZUVsZW1lbnQ6IGZ1bmN0aW9uKHBvaW50LCBpbmRleCwgcmVzZXQpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCXZhciBjdXN0b20gPSBwb2ludC5jdXN0b20gfHwge307CgkJCXZhciBkYXRhc2V0ID0gbWUuZ2V0RGF0YXNldCgpOwoJCQl2YXIgZGF0YXNldEluZGV4ID0gbWUuaW5kZXg7CgkJCXZhciB2YWx1ZSA9IGRhdGFzZXQuZGF0YVtpbmRleF07CgkJCXZhciB5U2NhbGUgPSBtZS5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7CgkJCXZhciB4U2NhbGUgPSBtZS5nZXRTY2FsZUZvcklkKG1ldGEueEF4aXNJRCk7CgkJCXZhciBwb2ludE9wdGlvbnMgPSBtZS5jaGFydC5vcHRpb25zLmVsZW1lbnRzLnBvaW50OwoJCQl2YXIgeCwgeTsKCgkJCS8vIENvbXBhdGliaWxpdHk6IElmIHRoZSBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIHdpdGggb25seSB0aGUgb2xkIG5hbWUsIHVzZSB0aG9zZSB2YWx1ZXMKCQkJaWYgKChkYXRhc2V0LnJhZGl1cyAhPT0gdW5kZWZpbmVkKSAmJiAoZGF0YXNldC5wb2ludFJhZGl1cyA9PT0gdW5kZWZpbmVkKSkgewoJCQkJZGF0YXNldC5wb2ludFJhZGl1cyA9IGRhdGFzZXQucmFkaXVzOwoJCQl9CgkJCWlmICgoZGF0YXNldC5oaXRSYWRpdXMgIT09IHVuZGVmaW5lZCkgJiYgKGRhdGFzZXQucG9pbnRIaXRSYWRpdXMgPT09IHVuZGVmaW5lZCkpIHsKCQkJCWRhdGFzZXQucG9pbnRIaXRSYWRpdXMgPSBkYXRhc2V0LmhpdFJhZGl1czsKCQkJfQoKCQkJeCA9IHhTY2FsZS5nZXRQaXhlbEZvclZhbHVlKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyB2YWx1ZSA6IE5hTiwgaW5kZXgsIGRhdGFzZXRJbmRleCk7CgkJCXkgPSByZXNldCA/IHlTY2FsZS5nZXRCYXNlUGl4ZWwoKSA6IG1lLmNhbGN1bGF0ZVBvaW50WSh2YWx1ZSwgaW5kZXgsIGRhdGFzZXRJbmRleCk7CgoJCQkvLyBVdGlsaXR5CgkJCXBvaW50Ll94U2NhbGUgPSB4U2NhbGU7CgkJCXBvaW50Ll95U2NhbGUgPSB5U2NhbGU7CgkJCXBvaW50Ll9kYXRhc2V0SW5kZXggPSBkYXRhc2V0SW5kZXg7CgkJCXBvaW50Ll9pbmRleCA9IGluZGV4OwoKCQkJLy8gRGVzaXJlZCB2aWV3IHByb3BlcnRpZXMKCQkJcG9pbnQuX21vZGVsID0gewoJCQkJeDogeCwKCQkJCXk6IHksCgkJCQlza2lwOiBjdXN0b20uc2tpcCB8fCBpc05hTih4KSB8fCBpc05hTih5KSwKCQkJCS8vIEFwcGVhcmFuY2UKCQkJCXJhZGl1czogY3VzdG9tLnJhZGl1cyB8fCBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50UmFkaXVzLCBpbmRleCwgcG9pbnRPcHRpb25zLnJhZGl1cyksCgkJCQlwb2ludFN0eWxlOiBjdXN0b20ucG9pbnRTdHlsZSB8fCBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50U3R5bGUsIGluZGV4LCBwb2ludE9wdGlvbnMucG9pbnRTdHlsZSksCgkJCQliYWNrZ3JvdW5kQ29sb3I6IG1lLmdldFBvaW50QmFja2dyb3VuZENvbG9yKHBvaW50LCBpbmRleCksCgkJCQlib3JkZXJDb2xvcjogbWUuZ2V0UG9pbnRCb3JkZXJDb2xvcihwb2ludCwgaW5kZXgpLAoJCQkJYm9yZGVyV2lkdGg6IG1lLmdldFBvaW50Qm9yZGVyV2lkdGgocG9pbnQsIGluZGV4KSwKCQkJCXRlbnNpb246IG1ldGEuZGF0YXNldC5fbW9kZWwgPyBtZXRhLmRhdGFzZXQuX21vZGVsLnRlbnNpb24gOiAwLAoJCQkJc3RlcHBlZExpbmU6IG1ldGEuZGF0YXNldC5fbW9kZWwgPyBtZXRhLmRhdGFzZXQuX21vZGVsLnN0ZXBwZWRMaW5lIDogZmFsc2UsCgkJCQkvLyBUb29sdGlwCgkJCQloaXRSYWRpdXM6IGN1c3RvbS5oaXRSYWRpdXMgfHwgaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEhpdFJhZGl1cywgaW5kZXgsIHBvaW50T3B0aW9ucy5oaXRSYWRpdXMpCgkJCX07CgkJfSwKCgkJY2FsY3VsYXRlUG9pbnRZOiBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGRhdGFzZXRJbmRleCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgY2hhcnQgPSBtZS5jaGFydDsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCXZhciB5U2NhbGUgPSBtZS5nZXRTY2FsZUZvcklkKG1ldGEueUF4aXNJRCk7CgkJCXZhciBzdW1Qb3MgPSAwOwoJCQl2YXIgc3VtTmVnID0gMDsKCQkJdmFyIGksIGRzLCBkc01ldGE7CgoJCQlpZiAoeVNjYWxlLm9wdGlvbnMuc3RhY2tlZCkgewoJCQkJZm9yIChpID0gMDsgaSA8IGRhdGFzZXRJbmRleDsgaSsrKSB7CgkJCQkJZHMgPSBjaGFydC5kYXRhLmRhdGFzZXRzW2ldOwoJCQkJCWRzTWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGkpOwoJCQkJCWlmIChkc01ldGEudHlwZSA9PT0gJ2xpbmUnICYmIGRzTWV0YS55QXhpc0lEID09PSB5U2NhbGUuaWQgJiYgY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShpKSkgewoJCQkJCQl2YXIgc3RhY2tlZFJpZ2h0VmFsdWUgPSBOdW1iZXIoeVNjYWxlLmdldFJpZ2h0VmFsdWUoZHMuZGF0YVtpbmRleF0pKTsKCQkJCQkJaWYgKHN0YWNrZWRSaWdodFZhbHVlIDwgMCkgewoJCQkJCQkJc3VtTmVnICs9IHN0YWNrZWRSaWdodFZhbHVlIHx8IDA7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlzdW1Qb3MgKz0gc3RhY2tlZFJpZ2h0VmFsdWUgfHwgMDsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQl2YXIgcmlnaHRWYWx1ZSA9IE51bWJlcih5U2NhbGUuZ2V0UmlnaHRWYWx1ZSh2YWx1ZSkpOwoJCQkJaWYgKHJpZ2h0VmFsdWUgPCAwKSB7CgkJCQkJcmV0dXJuIHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKHN1bU5lZyArIHJpZ2h0VmFsdWUpOwoJCQkJfQoJCQkJcmV0dXJuIHlTY2FsZS5nZXRQaXhlbEZvclZhbHVlKHN1bVBvcyArIHJpZ2h0VmFsdWUpOwoJCQl9CgoJCQlyZXR1cm4geVNjYWxlLmdldFBpeGVsRm9yVmFsdWUodmFsdWUpOwoJCX0sCgoJCXVwZGF0ZUJlemllckNvbnRyb2xQb2ludHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWV0YSA9IG1lLmdldE1ldGEoKTsKCQkJdmFyIGFyZWEgPSBtZS5jaGFydC5jaGFydEFyZWE7CgkJCXZhciBwb2ludHMgPSAobWV0YS5kYXRhIHx8IFtdKTsKCQkJdmFyIGksIGlsZW4sIHBvaW50LCBtb2RlbCwgY29udHJvbFBvaW50czsKCgkJCS8vIE9ubHkgY29uc2lkZXIgcG9pbnRzIHRoYXQgYXJlIGRyYXduIGluIGNhc2UgdGhlIHNwYW5HYXBzIG9wdGlvbiBpcyB1c2VkCgkJCWlmIChtZXRhLmRhdGFzZXQuX21vZGVsLnNwYW5HYXBzKSB7CgkJCQlwb2ludHMgPSBwb2ludHMuZmlsdGVyKGZ1bmN0aW9uKHB0KSB7CgkJCQkJcmV0dXJuICFwdC5fbW9kZWwuc2tpcDsKCQkJCX0pOwoJCQl9CgoJCQlmdW5jdGlvbiBjYXBDb250cm9sUG9pbnQocHQsIG1pbiwgbWF4KSB7CgkJCQlyZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4ocHQsIG1heCksIG1pbik7CgkJCX0KCgkJCWlmIChtZXRhLmRhdGFzZXQuX21vZGVsLmN1YmljSW50ZXJwb2xhdGlvbk1vZGUgPT09ICdtb25vdG9uZScpIHsKCQkJCWhlbHBlcnMuc3BsaW5lQ3VydmVNb25vdG9uZShwb2ludHMpOwoJCQl9IGVsc2UgewoJCQkJZm9yIChpID0gMCwgaWxlbiA9IHBvaW50cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCQlwb2ludCA9IHBvaW50c1tpXTsKCQkJCQltb2RlbCA9IHBvaW50Ll9tb2RlbDsKCQkJCQljb250cm9sUG9pbnRzID0gaGVscGVycy5zcGxpbmVDdXJ2ZSgKCQkJCQkJaGVscGVycy5wcmV2aW91c0l0ZW0ocG9pbnRzLCBpKS5fbW9kZWwsCgkJCQkJCW1vZGVsLAoJCQkJCQloZWxwZXJzLm5leHRJdGVtKHBvaW50cywgaSkuX21vZGVsLAoJCQkJCQltZXRhLmRhdGFzZXQuX21vZGVsLnRlbnNpb24KCQkJCQkpOwoJCQkJCW1vZGVsLmNvbnRyb2xQb2ludFByZXZpb3VzWCA9IGNvbnRyb2xQb2ludHMucHJldmlvdXMueDsKCQkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1kgPSBjb250cm9sUG9pbnRzLnByZXZpb3VzLnk7CgkJCQkJbW9kZWwuY29udHJvbFBvaW50TmV4dFggPSBjb250cm9sUG9pbnRzLm5leHQueDsKCQkJCQltb2RlbC5jb250cm9sUG9pbnROZXh0WSA9IGNvbnRyb2xQb2ludHMubmV4dC55OwoJCQkJfQoJCQl9CgoJCQlpZiAobWUuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5saW5lLmNhcEJlemllclBvaW50cykgewoJCQkJZm9yIChpID0gMCwgaWxlbiA9IHBvaW50cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCQltb2RlbCA9IHBvaW50c1tpXS5fbW9kZWw7CgkJCQkJbW9kZWwuY29udHJvbFBvaW50UHJldmlvdXNYID0gY2FwQ29udHJvbFBvaW50KG1vZGVsLmNvbnRyb2xQb2ludFByZXZpb3VzWCwgYXJlYS5sZWZ0LCBhcmVhLnJpZ2h0KTsKCQkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1kgPSBjYXBDb250cm9sUG9pbnQobW9kZWwuY29udHJvbFBvaW50UHJldmlvdXNZLCBhcmVhLnRvcCwgYXJlYS5ib3R0b20pOwoJCQkJCW1vZGVsLmNvbnRyb2xQb2ludE5leHRYID0gY2FwQ29udHJvbFBvaW50KG1vZGVsLmNvbnRyb2xQb2ludE5leHRYLCBhcmVhLmxlZnQsIGFyZWEucmlnaHQpOwoJCQkJCW1vZGVsLmNvbnRyb2xQb2ludE5leHRZID0gY2FwQ29udHJvbFBvaW50KG1vZGVsLmNvbnRyb2xQb2ludE5leHRZLCBhcmVhLnRvcCwgYXJlYS5ib3R0b20pOwoJCQkJfQoJCQl9CgkJfSwKCgkJZHJhdzogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBjaGFydCA9IG1lLmNoYXJ0OwoJCQl2YXIgbWV0YSA9IG1lLmdldE1ldGEoKTsKCQkJdmFyIHBvaW50cyA9IG1ldGEuZGF0YSB8fCBbXTsKCQkJdmFyIGFyZWEgPSBjaGFydC5jaGFydEFyZWE7CgkJCXZhciBpbGVuID0gcG9pbnRzLmxlbmd0aDsKCQkJdmFyIGkgPSAwOwoKCQkJaGVscGVycy5jYW52YXMuY2xpcEFyZWEoY2hhcnQuY3R4LCBhcmVhKTsKCgkJCWlmIChsaW5lRW5hYmxlZChtZS5nZXREYXRhc2V0KCksIGNoYXJ0Lm9wdGlvbnMpKSB7CgkJCQltZXRhLmRhdGFzZXQuZHJhdygpOwoJCQl9CgoJCQloZWxwZXJzLmNhbnZhcy51bmNsaXBBcmVhKGNoYXJ0LmN0eCk7CgoJCQkvLyBEcmF3IHRoZSBwb2ludHMKCQkJZm9yICg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCXBvaW50c1tpXS5kcmF3KGFyZWEpOwoJCQl9CgkJfSwKCgkJc2V0SG92ZXJTdHlsZTogZnVuY3Rpb24ocG9pbnQpIHsKCQkJLy8gUG9pbnQKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbcG9pbnQuX2RhdGFzZXRJbmRleF07CgkJCXZhciBpbmRleCA9IHBvaW50Ll9pbmRleDsKCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOwoKCQkJbW9kZWwucmFkaXVzID0gY3VzdG9tLmhvdmVyUmFkaXVzIHx8IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlclJhZGl1cywgaW5kZXgsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5wb2ludC5ob3ZlclJhZGl1cyk7CgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciB8fCBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBoZWxwZXJzLmdldEhvdmVyQ29sb3IobW9kZWwuYmFja2dyb3VuZENvbG9yKSk7CgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgfHwgaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEhvdmVyQm9yZGVyQ29sb3IsIGluZGV4LCBoZWxwZXJzLmdldEhvdmVyQ29sb3IobW9kZWwuYm9yZGVyQ29sb3IpKTsKCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCB8fCBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsKCQl9LAoKCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgZGF0YXNldCA9IG1lLmNoYXJ0LmRhdGEuZGF0YXNldHNbcG9pbnQuX2RhdGFzZXRJbmRleF07CgkJCXZhciBpbmRleCA9IHBvaW50Ll9pbmRleDsKCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIG1vZGVsID0gcG9pbnQuX21vZGVsOwoKCQkJLy8gQ29tcGF0aWJpbGl0eTogSWYgdGhlIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgd2l0aCBvbmx5IHRoZSBvbGQgbmFtZSwgdXNlIHRob3NlIHZhbHVlcwoJCQlpZiAoKGRhdGFzZXQucmFkaXVzICE9PSB1bmRlZmluZWQpICYmIChkYXRhc2V0LnBvaW50UmFkaXVzID09PSB1bmRlZmluZWQpKSB7CgkJCQlkYXRhc2V0LnBvaW50UmFkaXVzID0gZGF0YXNldC5yYWRpdXM7CgkJCX0KCgkJCW1vZGVsLnJhZGl1cyA9IGN1c3RvbS5yYWRpdXMgfHwgaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludFJhZGl1cywgaW5kZXgsIG1lLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQucmFkaXVzKTsKCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gbWUuZ2V0UG9pbnRCYWNrZ3JvdW5kQ29sb3IocG9pbnQsIGluZGV4KTsKCQkJbW9kZWwuYm9yZGVyQ29sb3IgPSBtZS5nZXRQb2ludEJvcmRlckNvbG9yKHBvaW50LCBpbmRleCk7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gbWUuZ2V0UG9pbnRCb3JkZXJXaWR0aChwb2ludCwgaW5kZXgpOwoJCX0KCX0pOwp9OwoKfSx7IjI1IjoyNSwiNDAiOjQwLCI0NSI6NDV9XSwxOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgZWxlbWVudHMgPSByZXF1aXJlKDQwKTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ3BvbGFyQXJlYScsIHsKCXNjYWxlOiB7CgkJdHlwZTogJ3JhZGlhbExpbmVhcicsCgkJYW5nbGVMaW5lczogewoJCQlkaXNwbGF5OiBmYWxzZQoJCX0sCgkJZ3JpZExpbmVzOiB7CgkJCWNpcmN1bGFyOiB0cnVlCgkJfSwKCQlwb2ludExhYmVsczogewoJCQlkaXNwbGF5OiBmYWxzZQoJCX0sCgkJdGlja3M6IHsKCQkJYmVnaW5BdFplcm86IHRydWUKCQl9Cgl9LAoKCS8vIEJvb2xlYW4gLSBXaGV0aGVyIHRvIGFuaW1hdGUgdGhlIHJvdGF0aW9uIG9mIHRoZSBjaGFydAoJYW5pbWF0aW9uOiB7CgkJYW5pbWF0ZVJvdGF0ZTogdHJ1ZSwKCQlhbmltYXRlU2NhbGU6IHRydWUKCX0sCgoJc3RhcnRBbmdsZTogLTAuNSAqIE1hdGguUEksCglsZWdlbmRDYWxsYmFjazogZnVuY3Rpb24oY2hhcnQpIHsKCQl2YXIgdGV4dCA9IFtdOwoJCXRleHQucHVzaCgnPHVsIGNsYXNzPSInICsgY2hhcnQuaWQgKyAnLWxlZ2VuZCI+Jyk7CgoJCXZhciBkYXRhID0gY2hhcnQuZGF0YTsKCQl2YXIgZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzOwoJCXZhciBsYWJlbHMgPSBkYXRhLmxhYmVsczsKCgkJaWYgKGRhdGFzZXRzLmxlbmd0aCkgewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFzZXRzWzBdLmRhdGEubGVuZ3RoOyArK2kpIHsKCQkJCXRleHQucHVzaCgnPGxpPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOicgKyBkYXRhc2V0c1swXS5iYWNrZ3JvdW5kQ29sb3JbaV0gKyAnIj48L3NwYW4+Jyk7CgkJCQlpZiAobGFiZWxzW2ldKSB7CgkJCQkJdGV4dC5wdXNoKGxhYmVsc1tpXSk7CgkJCQl9CgkJCQl0ZXh0LnB1c2goJzwvbGk+Jyk7CgkJCX0KCQl9CgoJCXRleHQucHVzaCgnPC91bD4nKTsKCQlyZXR1cm4gdGV4dC5qb2luKCcnKTsKCX0sCglsZWdlbmQ6IHsKCQlsYWJlbHM6IHsKCQkJZ2VuZXJhdGVMYWJlbHM6IGZ1bmN0aW9uKGNoYXJ0KSB7CgkJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7CgkJCQlpZiAoZGF0YS5sYWJlbHMubGVuZ3RoICYmIGRhdGEuZGF0YXNldHMubGVuZ3RoKSB7CgkJCQkJcmV0dXJuIGRhdGEubGFiZWxzLm1hcChmdW5jdGlvbihsYWJlbCwgaSkgewoJCQkJCQl2YXIgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKDApOwoJCQkJCQl2YXIgZHMgPSBkYXRhLmRhdGFzZXRzWzBdOwoJCQkJCQl2YXIgYXJjID0gbWV0YS5kYXRhW2ldOwoJCQkJCQl2YXIgY3VzdG9tID0gYXJjLmN1c3RvbSB8fCB7fTsKCQkJCQkJdmFyIHZhbHVlQXRJbmRleE9yRGVmYXVsdCA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0OwoJCQkJCQl2YXIgYXJjT3B0cyA9IGNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMuYXJjOwoJCQkJCQl2YXIgZmlsbCA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogdmFsdWVBdEluZGV4T3JEZWZhdWx0KGRzLmJhY2tncm91bmRDb2xvciwgaSwgYXJjT3B0cy5iYWNrZ3JvdW5kQ29sb3IpOwoJCQkJCQl2YXIgc3Ryb2tlID0gY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogdmFsdWVBdEluZGV4T3JEZWZhdWx0KGRzLmJvcmRlckNvbG9yLCBpLCBhcmNPcHRzLmJvcmRlckNvbG9yKTsKCQkJCQkJdmFyIGJ3ID0gY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogdmFsdWVBdEluZGV4T3JEZWZhdWx0KGRzLmJvcmRlcldpZHRoLCBpLCBhcmNPcHRzLmJvcmRlcldpZHRoKTsKCgkJCQkJCXJldHVybiB7CgkJCQkJCQl0ZXh0OiBsYWJlbCwKCQkJCQkJCWZpbGxTdHlsZTogZmlsbCwKCQkJCQkJCXN0cm9rZVN0eWxlOiBzdHJva2UsCgkJCQkJCQlsaW5lV2lkdGg6IGJ3LAoJCQkJCQkJaGlkZGVuOiBpc05hTihkcy5kYXRhW2ldKSB8fCBtZXRhLmRhdGFbaV0uaGlkZGVuLAoKCQkJCQkJCS8vIEV4dHJhIGRhdGEgdXNlZCBmb3IgdG9nZ2xpbmcgdGhlIGNvcnJlY3QgaXRlbQoJCQkJCQkJaW5kZXg6IGkKCQkJCQkJfTsKCQkJCQl9KTsKCQkJCX0KCQkJCXJldHVybiBbXTsKCQkJfQoJCX0sCgoJCW9uQ2xpY2s6IGZ1bmN0aW9uKGUsIGxlZ2VuZEl0ZW0pIHsKCQkJdmFyIGluZGV4ID0gbGVnZW5kSXRlbS5pbmRleDsKCQkJdmFyIGNoYXJ0ID0gdGhpcy5jaGFydDsKCQkJdmFyIGksIGlsZW4sIG1ldGE7CgoJCQlmb3IgKGkgPSAwLCBpbGVuID0gKGNoYXJ0LmRhdGEuZGF0YXNldHMgfHwgW10pLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCQkJbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGkpOwoJCQkJbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4gPSAhbWV0YS5kYXRhW2luZGV4XS5oaWRkZW47CgkJCX0KCgkJCWNoYXJ0LnVwZGF0ZSgpOwoJCX0KCX0sCgoJLy8gTmVlZCB0byBvdmVycmlkZSB0aGVzZSB0byBnaXZlIGEgbmljZSBkZWZhdWx0Cgl0b29sdGlwczogewoJCWNhbGxiYWNrczogewoJCQl0aXRsZTogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gJyc7CgkJCX0sCgkJCWxhYmVsOiBmdW5jdGlvbihpdGVtLCBkYXRhKSB7CgkJCQlyZXR1cm4gZGF0YS5sYWJlbHNbaXRlbS5pbmRleF0gKyAnOiAnICsgaXRlbS55TGFiZWw7CgkJCX0KCQl9Cgl9Cn0pOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LmNvbnRyb2xsZXJzLnBvbGFyQXJlYSA9IENoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCh7CgoJCWRhdGFFbGVtZW50VHlwZTogZWxlbWVudHMuQXJjLAoKCQlsaW5rU2NhbGVzOiBoZWxwZXJzLm5vb3AsCgoJCXVwZGF0ZTogZnVuY3Rpb24ocmVzZXQpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciBjaGFydEFyZWEgPSBjaGFydC5jaGFydEFyZWE7CgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOwoJCQl2YXIgb3B0cyA9IGNoYXJ0Lm9wdGlvbnM7CgkJCXZhciBhcmNPcHRzID0gb3B0cy5lbGVtZW50cy5hcmM7CgkJCXZhciBtaW5TaXplID0gTWF0aC5taW4oY2hhcnRBcmVhLnJpZ2h0IC0gY2hhcnRBcmVhLmxlZnQsIGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wKTsKCQkJY2hhcnQub3V0ZXJSYWRpdXMgPSBNYXRoLm1heCgobWluU2l6ZSAtIGFyY09wdHMuYm9yZGVyV2lkdGggLyAyKSAvIDIsIDApOwoJCQljaGFydC5pbm5lclJhZGl1cyA9IE1hdGgubWF4KG9wdHMuY3V0b3V0UGVyY2VudGFnZSA/IChjaGFydC5vdXRlclJhZGl1cyAvIDEwMCkgKiAob3B0cy5jdXRvdXRQZXJjZW50YWdlKSA6IDEsIDApOwoJCQljaGFydC5yYWRpdXNMZW5ndGggPSAoY2hhcnQub3V0ZXJSYWRpdXMgLSBjaGFydC5pbm5lclJhZGl1cykgLyBjaGFydC5nZXRWaXNpYmxlRGF0YXNldENvdW50KCk7CgoJCQltZS5vdXRlclJhZGl1cyA9IGNoYXJ0Lm91dGVyUmFkaXVzIC0gKGNoYXJ0LnJhZGl1c0xlbmd0aCAqIG1lLmluZGV4KTsKCQkJbWUuaW5uZXJSYWRpdXMgPSBtZS5vdXRlclJhZGl1cyAtIGNoYXJ0LnJhZGl1c0xlbmd0aDsKCgkJCW1ldGEuY291bnQgPSBtZS5jb3VudFZpc2libGVFbGVtZW50cygpOwoKCQkJaGVscGVycy5lYWNoKG1ldGEuZGF0YSwgZnVuY3Rpb24oYXJjLCBpbmRleCkgewoJCQkJbWUudXBkYXRlRWxlbWVudChhcmMsIGluZGV4LCByZXNldCk7CgkJCX0pOwoJCX0sCgoJCXVwZGF0ZUVsZW1lbnQ6IGZ1bmN0aW9uKGFyYywgaW5kZXgsIHJlc2V0KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBjaGFydCA9IG1lLmNoYXJ0OwoJCQl2YXIgZGF0YXNldCA9IG1lLmdldERhdGFzZXQoKTsKCQkJdmFyIG9wdHMgPSBjaGFydC5vcHRpb25zOwoJCQl2YXIgYW5pbWF0aW9uT3B0cyA9IG9wdHMuYW5pbWF0aW9uOwoJCQl2YXIgc2NhbGUgPSBjaGFydC5zY2FsZTsKCQkJdmFyIGxhYmVscyA9IGNoYXJ0LmRhdGEubGFiZWxzOwoKCQkJdmFyIGNpcmN1bWZlcmVuY2UgPSBtZS5jYWxjdWxhdGVDaXJjdW1mZXJlbmNlKGRhdGFzZXQuZGF0YVtpbmRleF0pOwoJCQl2YXIgY2VudGVyWCA9IHNjYWxlLnhDZW50ZXI7CgkJCXZhciBjZW50ZXJZID0gc2NhbGUueUNlbnRlcjsKCgkJCS8vIElmIHRoZXJlIGlzIE5hTiBkYXRhIGJlZm9yZSB1cywgd2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIHN0YXJ0aW5nIGFuZ2xlIGNvcnJlY3RseS4KCQkJLy8gV2UgY291bGQgYmUgd2F5IG1vcmUgZWZmaWNpZW50IGhlcmUsIGJ1dCBpdHMgdW5saWtlbHkgdGhhdCB0aGUgcG9sYXIgYXJlYSBjaGFydCB3aWxsIGhhdmUgYSBsb3Qgb2YgZGF0YQoJCQl2YXIgdmlzaWJsZUNvdW50ID0gMDsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgaW5kZXg7ICsraSkgewoJCQkJaWYgKCFpc05hTihkYXRhc2V0LmRhdGFbaV0pICYmICFtZXRhLmRhdGFbaV0uaGlkZGVuKSB7CgkJCQkJKyt2aXNpYmxlQ291bnQ7CgkJCQl9CgkJCX0KCgkJCS8vIHZhciBuZWdIYWxmUEkgPSAtMC41ICogTWF0aC5QSTsKCQkJdmFyIGRhdGFzZXRTdGFydEFuZ2xlID0gb3B0cy5zdGFydEFuZ2xlOwoJCQl2YXIgZGlzdGFuY2UgPSBhcmMuaGlkZGVuID8gMCA6IHNjYWxlLmdldERpc3RhbmNlRnJvbUNlbnRlckZvclZhbHVlKGRhdGFzZXQuZGF0YVtpbmRleF0pOwoJCQl2YXIgc3RhcnRBbmdsZSA9IGRhdGFzZXRTdGFydEFuZ2xlICsgKGNpcmN1bWZlcmVuY2UgKiB2aXNpYmxlQ291bnQpOwoJCQl2YXIgZW5kQW5nbGUgPSBzdGFydEFuZ2xlICsgKGFyYy5oaWRkZW4gPyAwIDogY2lyY3VtZmVyZW5jZSk7CgoJCQl2YXIgcmVzZXRSYWRpdXMgPSBhbmltYXRpb25PcHRzLmFuaW1hdGVTY2FsZSA/IDAgOiBzY2FsZS5nZXREaXN0YW5jZUZyb21DZW50ZXJGb3JWYWx1ZShkYXRhc2V0LmRhdGFbaW5kZXhdKTsKCgkJCWhlbHBlcnMuZXh0ZW5kKGFyYywgewoJCQkJLy8gVXRpbGl0eQoJCQkJX2RhdGFzZXRJbmRleDogbWUuaW5kZXgsCgkJCQlfaW5kZXg6IGluZGV4LAoJCQkJX3NjYWxlOiBzY2FsZSwKCgkJCQkvLyBEZXNpcmVkIHZpZXcgcHJvcGVydGllcwoJCQkJX21vZGVsOiB7CgkJCQkJeDogY2VudGVyWCwKCQkJCQl5OiBjZW50ZXJZLAoJCQkJCWlubmVyUmFkaXVzOiAwLAoJCQkJCW91dGVyUmFkaXVzOiByZXNldCA/IHJlc2V0UmFkaXVzIDogZGlzdGFuY2UsCgkJCQkJc3RhcnRBbmdsZTogcmVzZXQgJiYgYW5pbWF0aW9uT3B0cy5hbmltYXRlUm90YXRlID8gZGF0YXNldFN0YXJ0QW5nbGUgOiBzdGFydEFuZ2xlLAoJCQkJCWVuZEFuZ2xlOiByZXNldCAmJiBhbmltYXRpb25PcHRzLmFuaW1hdGVSb3RhdGUgPyBkYXRhc2V0U3RhcnRBbmdsZSA6IGVuZEFuZ2xlLAoJCQkJCWxhYmVsOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChsYWJlbHMsIGluZGV4LCBsYWJlbHNbaW5kZXhdKQoJCQkJfQoJCQl9KTsKCgkJCS8vIEFwcGx5IGJvcmRlciBhbmQgZmlsbCBzdHlsZQoJCQltZS5yZW1vdmVIb3ZlclN0eWxlKGFyYyk7CgoJCQlhcmMucGl2b3QoKTsKCQl9LAoKCQlyZW1vdmVIb3ZlclN0eWxlOiBmdW5jdGlvbihhcmMpIHsKCQkJQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLnJlbW92ZUhvdmVyU3R5bGUuY2FsbCh0aGlzLCBhcmMsIHRoaXMuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5hcmMpOwoJCX0sCgoJCWNvdW50VmlzaWJsZUVsZW1lbnRzOiBmdW5jdGlvbigpIHsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmdldERhdGFzZXQoKTsKCQkJdmFyIG1ldGEgPSB0aGlzLmdldE1ldGEoKTsKCQkJdmFyIGNvdW50ID0gMDsKCgkJCWhlbHBlcnMuZWFjaChtZXRhLmRhdGEsIGZ1bmN0aW9uKGVsZW1lbnQsIGluZGV4KSB7CgkJCQlpZiAoIWlzTmFOKGRhdGFzZXQuZGF0YVtpbmRleF0pICYmICFlbGVtZW50LmhpZGRlbikgewoJCQkJCWNvdW50Kys7CgkJCQl9CgkJCX0pOwoKCQkJcmV0dXJuIGNvdW50OwoJCX0sCgoJCWNhbGN1bGF0ZUNpcmN1bWZlcmVuY2U6IGZ1bmN0aW9uKHZhbHVlKSB7CgkJCXZhciBjb3VudCA9IHRoaXMuZ2V0TWV0YSgpLmNvdW50OwoJCQlpZiAoY291bnQgPiAwICYmICFpc05hTih2YWx1ZSkpIHsKCQkJCXJldHVybiAoMiAqIE1hdGguUEkpIC8gY291bnQ7CgkJCX0KCQkJcmV0dXJuIDA7CgkJfQoJfSk7Cn07Cgp9LHsiMjUiOjI1LCI0MCI6NDAsIjQ1Ijo0NX1dLDIwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGRlZmF1bHRzID0gcmVxdWlyZSgyNSk7CnZhciBlbGVtZW50cyA9IHJlcXVpcmUoNDApOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKZGVmYXVsdHMuX3NldCgncmFkYXInLCB7CglzY2FsZTogewoJCXR5cGU6ICdyYWRpYWxMaW5lYXInCgl9LAoJZWxlbWVudHM6IHsKCQlsaW5lOiB7CgkJCXRlbnNpb246IDAgLy8gbm8gYmV6aWVyIGluIHJhZGFyCgkJfQoJfQp9KTsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCglDaGFydC5jb250cm9sbGVycy5yYWRhciA9IENoYXJ0LkRhdGFzZXRDb250cm9sbGVyLmV4dGVuZCh7CgoJCWRhdGFzZXRFbGVtZW50VHlwZTogZWxlbWVudHMuTGluZSwKCgkJZGF0YUVsZW1lbnRUeXBlOiBlbGVtZW50cy5Qb2ludCwKCgkJbGlua1NjYWxlczogaGVscGVycy5ub29wLAoKCQl1cGRhdGU6IGZ1bmN0aW9uKHJlc2V0KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOwoJCQl2YXIgbGluZSA9IG1ldGEuZGF0YXNldDsKCQkJdmFyIHBvaW50cyA9IG1ldGEuZGF0YTsKCQkJdmFyIGN1c3RvbSA9IGxpbmUuY3VzdG9tIHx8IHt9OwoJCQl2YXIgZGF0YXNldCA9IG1lLmdldERhdGFzZXQoKTsKCQkJdmFyIGxpbmVFbGVtZW50T3B0aW9ucyA9IG1lLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMubGluZTsKCQkJdmFyIHNjYWxlID0gbWUuY2hhcnQuc2NhbGU7CgoJCQkvLyBDb21wYXRpYmlsaXR5OiBJZiB0aGUgcHJvcGVydGllcyBhcmUgZGVmaW5lZCB3aXRoIG9ubHkgdGhlIG9sZCBuYW1lLCB1c2UgdGhvc2UgdmFsdWVzCgkJCWlmICgoZGF0YXNldC50ZW5zaW9uICE9PSB1bmRlZmluZWQpICYmIChkYXRhc2V0LmxpbmVUZW5zaW9uID09PSB1bmRlZmluZWQpKSB7CgkJCQlkYXRhc2V0LmxpbmVUZW5zaW9uID0gZGF0YXNldC50ZW5zaW9uOwoJCQl9CgoJCQloZWxwZXJzLmV4dGVuZChtZXRhLmRhdGFzZXQsIHsKCQkJCS8vIFV0aWxpdHkKCQkJCV9kYXRhc2V0SW5kZXg6IG1lLmluZGV4LAoJCQkJX3NjYWxlOiBzY2FsZSwKCQkJCS8vIERhdGEKCQkJCV9jaGlsZHJlbjogcG9pbnRzLAoJCQkJX2xvb3A6IHRydWUsCgkJCQkvLyBNb2RlbAoJCQkJX21vZGVsOiB7CgkJCQkJLy8gQXBwZWFyYW5jZQoJCQkJCXRlbnNpb246IGN1c3RvbS50ZW5zaW9uID8gY3VzdG9tLnRlbnNpb24gOiBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KGRhdGFzZXQubGluZVRlbnNpb24sIGxpbmVFbGVtZW50T3B0aW9ucy50ZW5zaW9uKSwKCQkJCQliYWNrZ3JvdW5kQ29sb3I6IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogKGRhdGFzZXQuYmFja2dyb3VuZENvbG9yIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLAoJCQkJCWJvcmRlcldpZHRoOiBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiAoZGF0YXNldC5ib3JkZXJXaWR0aCB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyV2lkdGgpLAoJCQkJCWJvcmRlckNvbG9yOiBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiAoZGF0YXNldC5ib3JkZXJDb2xvciB8fCBsaW5lRWxlbWVudE9wdGlvbnMuYm9yZGVyQ29sb3IpLAoJCQkJCWZpbGw6IGN1c3RvbS5maWxsID8gY3VzdG9tLmZpbGwgOiAoZGF0YXNldC5maWxsICE9PSB1bmRlZmluZWQgPyBkYXRhc2V0LmZpbGwgOiBsaW5lRWxlbWVudE9wdGlvbnMuZmlsbCksCgkJCQkJYm9yZGVyQ2FwU3R5bGU6IGN1c3RvbS5ib3JkZXJDYXBTdHlsZSA/IGN1c3RvbS5ib3JkZXJDYXBTdHlsZSA6IChkYXRhc2V0LmJvcmRlckNhcFN0eWxlIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJDYXBTdHlsZSksCgkJCQkJYm9yZGVyRGFzaDogY3VzdG9tLmJvcmRlckRhc2ggPyBjdXN0b20uYm9yZGVyRGFzaCA6IChkYXRhc2V0LmJvcmRlckRhc2ggfHwgbGluZUVsZW1lbnRPcHRpb25zLmJvcmRlckRhc2gpLAoJCQkJCWJvcmRlckRhc2hPZmZzZXQ6IGN1c3RvbS5ib3JkZXJEYXNoT2Zmc2V0ID8gY3VzdG9tLmJvcmRlckRhc2hPZmZzZXQgOiAoZGF0YXNldC5ib3JkZXJEYXNoT2Zmc2V0IHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJEYXNoT2Zmc2V0KSwKCQkJCQlib3JkZXJKb2luU3R5bGU6IGN1c3RvbS5ib3JkZXJKb2luU3R5bGUgPyBjdXN0b20uYm9yZGVySm9pblN0eWxlIDogKGRhdGFzZXQuYm9yZGVySm9pblN0eWxlIHx8IGxpbmVFbGVtZW50T3B0aW9ucy5ib3JkZXJKb2luU3R5bGUpLAoJCQkJfQoJCQl9KTsKCgkJCW1ldGEuZGF0YXNldC5waXZvdCgpOwoKCQkJLy8gVXBkYXRlIFBvaW50cwoJCQloZWxwZXJzLmVhY2gocG9pbnRzLCBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsKCQkJCW1lLnVwZGF0ZUVsZW1lbnQocG9pbnQsIGluZGV4LCByZXNldCk7CgkJCX0sIG1lKTsKCgkJCS8vIFVwZGF0ZSBiZXppZXIgY29udHJvbCBwb2ludHMKCQkJbWUudXBkYXRlQmV6aWVyQ29udHJvbFBvaW50cygpOwoJCX0sCgkJdXBkYXRlRWxlbWVudDogZnVuY3Rpb24ocG9pbnQsIGluZGV4LCByZXNldCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9OwoJCQl2YXIgZGF0YXNldCA9IG1lLmdldERhdGFzZXQoKTsKCQkJdmFyIHNjYWxlID0gbWUuY2hhcnQuc2NhbGU7CgkJCXZhciBwb2ludEVsZW1lbnRPcHRpb25zID0gbWUuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5wb2ludDsKCQkJdmFyIHBvaW50UG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIGRhdGFzZXQuZGF0YVtpbmRleF0pOwoKCQkJLy8gQ29tcGF0aWJpbGl0eTogSWYgdGhlIHByb3BlcnRpZXMgYXJlIGRlZmluZWQgd2l0aCBvbmx5IHRoZSBvbGQgbmFtZSwgdXNlIHRob3NlIHZhbHVlcwoJCQlpZiAoKGRhdGFzZXQucmFkaXVzICE9PSB1bmRlZmluZWQpICYmIChkYXRhc2V0LnBvaW50UmFkaXVzID09PSB1bmRlZmluZWQpKSB7CgkJCQlkYXRhc2V0LnBvaW50UmFkaXVzID0gZGF0YXNldC5yYWRpdXM7CgkJCX0KCQkJaWYgKChkYXRhc2V0LmhpdFJhZGl1cyAhPT0gdW5kZWZpbmVkKSAmJiAoZGF0YXNldC5wb2ludEhpdFJhZGl1cyA9PT0gdW5kZWZpbmVkKSkgewoJCQkJZGF0YXNldC5wb2ludEhpdFJhZGl1cyA9IGRhdGFzZXQuaGl0UmFkaXVzOwoJCQl9CgoJCQloZWxwZXJzLmV4dGVuZChwb2ludCwgewoJCQkJLy8gVXRpbGl0eQoJCQkJX2RhdGFzZXRJbmRleDogbWUuaW5kZXgsCgkJCQlfaW5kZXg6IGluZGV4LAoJCQkJX3NjYWxlOiBzY2FsZSwKCgkJCQkvLyBEZXNpcmVkIHZpZXcgcHJvcGVydGllcwoJCQkJX21vZGVsOiB7CgkJCQkJeDogcmVzZXQgPyBzY2FsZS54Q2VudGVyIDogcG9pbnRQb3NpdGlvbi54LCAvLyB2YWx1ZSBub3QgdXNlZCBpbiBkYXRhc2V0IHNjYWxlLCBidXQgd2Ugd2FudCBhIGNvbnNpc3RlbnQgQVBJIGJldHdlZW4gc2NhbGVzCgkJCQkJeTogcmVzZXQgPyBzY2FsZS55Q2VudGVyIDogcG9pbnRQb3NpdGlvbi55LAoKCQkJCQkvLyBBcHBlYXJhbmNlCgkJCQkJdGVuc2lvbjogY3VzdG9tLnRlbnNpb24gPyBjdXN0b20udGVuc2lvbiA6IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoZGF0YXNldC5saW5lVGVuc2lvbiwgbWUuY2hhcnQub3B0aW9ucy5lbGVtZW50cy5saW5lLnRlbnNpb24pLAoJCQkJCXJhZGl1czogY3VzdG9tLnJhZGl1cyA/IGN1c3RvbS5yYWRpdXMgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50UmFkaXVzLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5yYWRpdXMpLAoJCQkJCWJhY2tncm91bmRDb2xvcjogY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50QmFja2dyb3VuZENvbG9yLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5iYWNrZ3JvdW5kQ29sb3IpLAoJCQkJCWJvcmRlckNvbG9yOiBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJvcmRlckNvbG9yKSwKCQkJCQlib3JkZXJXaWR0aDogY3VzdG9tLmJvcmRlcldpZHRoID8gY3VzdG9tLmJvcmRlcldpZHRoIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEJvcmRlcldpZHRoLCBpbmRleCwgcG9pbnRFbGVtZW50T3B0aW9ucy5ib3JkZXJXaWR0aCksCgkJCQkJcG9pbnRTdHlsZTogY3VzdG9tLnBvaW50U3R5bGUgPyBjdXN0b20ucG9pbnRTdHlsZSA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRTdHlsZSwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMucG9pbnRTdHlsZSksCgoJCQkJCS8vIFRvb2x0aXAKCQkJCQloaXRSYWRpdXM6IGN1c3RvbS5oaXRSYWRpdXMgPyBjdXN0b20uaGl0UmFkaXVzIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEhpdFJhZGl1cywgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuaGl0UmFkaXVzKQoJCQkJfQoJCQl9KTsKCgkJCXBvaW50Ll9tb2RlbC5za2lwID0gY3VzdG9tLnNraXAgPyBjdXN0b20uc2tpcCA6IChpc05hTihwb2ludC5fbW9kZWwueCkgfHwgaXNOYU4ocG9pbnQuX21vZGVsLnkpKTsKCQl9LAoJCXVwZGF0ZUJlemllckNvbnRyb2xQb2ludHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgY2hhcnRBcmVhID0gdGhpcy5jaGFydC5jaGFydEFyZWE7CgkJCXZhciBtZXRhID0gdGhpcy5nZXRNZXRhKCk7CgoJCQloZWxwZXJzLmVhY2gobWV0YS5kYXRhLCBmdW5jdGlvbihwb2ludCwgaW5kZXgpIHsKCQkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsKCQkJCXZhciBjb250cm9sUG9pbnRzID0gaGVscGVycy5zcGxpbmVDdXJ2ZSgKCQkJCQloZWxwZXJzLnByZXZpb3VzSXRlbShtZXRhLmRhdGEsIGluZGV4LCB0cnVlKS5fbW9kZWwsCgkJCQkJbW9kZWwsCgkJCQkJaGVscGVycy5uZXh0SXRlbShtZXRhLmRhdGEsIGluZGV4LCB0cnVlKS5fbW9kZWwsCgkJCQkJbW9kZWwudGVuc2lvbgoJCQkJKTsKCgkJCQkvLyBQcmV2ZW50IHRoZSBiZXppZXIgZ29pbmcgb3V0c2lkZSBvZiB0aGUgYm91bmRzIG9mIHRoZSBncmFwaAoJCQkJbW9kZWwuY29udHJvbFBvaW50UHJldmlvdXNYID0gTWF0aC5tYXgoTWF0aC5taW4oY29udHJvbFBvaW50cy5wcmV2aW91cy54LCBjaGFydEFyZWEucmlnaHQpLCBjaGFydEFyZWEubGVmdCk7CgkJCQltb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1kgPSBNYXRoLm1heChNYXRoLm1pbihjb250cm9sUG9pbnRzLnByZXZpb3VzLnksIGNoYXJ0QXJlYS5ib3R0b20pLCBjaGFydEFyZWEudG9wKTsKCgkJCQltb2RlbC5jb250cm9sUG9pbnROZXh0WCA9IE1hdGgubWF4KE1hdGgubWluKGNvbnRyb2xQb2ludHMubmV4dC54LCBjaGFydEFyZWEucmlnaHQpLCBjaGFydEFyZWEubGVmdCk7CgkJCQltb2RlbC5jb250cm9sUG9pbnROZXh0WSA9IE1hdGgubWF4KE1hdGgubWluKGNvbnRyb2xQb2ludHMubmV4dC55LCBjaGFydEFyZWEuYm90dG9tKSwgY2hhcnRBcmVhLnRvcCk7CgoJCQkJLy8gTm93IHBpdm90IHRoZSBwb2ludCBmb3IgYW5pbWF0aW9uCgkJCQlwb2ludC5waXZvdCgpOwoJCQl9KTsKCQl9LAoKCQlzZXRIb3ZlclN0eWxlOiBmdW5jdGlvbihwb2ludCkgewoJCQkvLyBQb2ludAoJCQl2YXIgZGF0YXNldCA9IHRoaXMuY2hhcnQuZGF0YS5kYXRhc2V0c1twb2ludC5fZGF0YXNldEluZGV4XTsKCQkJdmFyIGN1c3RvbSA9IHBvaW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIGluZGV4ID0gcG9pbnQuX2luZGV4OwoJCQl2YXIgbW9kZWwgPSBwb2ludC5fbW9kZWw7CgoJCQltb2RlbC5yYWRpdXMgPSBjdXN0b20uaG92ZXJSYWRpdXMgPyBjdXN0b20uaG92ZXJSYWRpdXMgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJSYWRpdXMsIGluZGV4LCB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQuaG92ZXJSYWRpdXMpOwoJCQltb2RlbC5iYWNrZ3JvdW5kQ29sb3IgPSBjdXN0b20uaG92ZXJCYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uaG92ZXJCYWNrZ3JvdW5kQ29sb3IgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBoZWxwZXJzLmdldEhvdmVyQ29sb3IobW9kZWwuYmFja2dyb3VuZENvbG9yKSk7CgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgPyBjdXN0b20uaG92ZXJCb3JkZXJDb2xvciA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlckJvcmRlckNvbG9yLCBpbmRleCwgaGVscGVycy5nZXRIb3ZlckNvbG9yKG1vZGVsLmJvcmRlckNvbG9yKSk7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggPyBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRIb3ZlckJvcmRlcldpZHRoLCBpbmRleCwgbW9kZWwuYm9yZGVyV2lkdGgpOwoJCX0sCgoJCXJlbW92ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKHBvaW50KSB7CgkJCXZhciBkYXRhc2V0ID0gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW3BvaW50Ll9kYXRhc2V0SW5kZXhdOwoJCQl2YXIgY3VzdG9tID0gcG9pbnQuY3VzdG9tIHx8IHt9OwoJCQl2YXIgaW5kZXggPSBwb2ludC5faW5kZXg7CgkJCXZhciBtb2RlbCA9IHBvaW50Ll9tb2RlbDsKCQkJdmFyIHBvaW50RWxlbWVudE9wdGlvbnMgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMuZWxlbWVudHMucG9pbnQ7CgoJCQltb2RlbC5yYWRpdXMgPSBjdXN0b20ucmFkaXVzID8gY3VzdG9tLnJhZGl1cyA6IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGRhdGFzZXQucG9pbnRSYWRpdXMsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLnJhZGl1cyk7CgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgPyBjdXN0b20uYmFja2dyb3VuZENvbG9yIDogaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZGF0YXNldC5wb2ludEJhY2tncm91bmRDb2xvciwgaW5kZXgsIHBvaW50RWxlbWVudE9wdGlvbnMuYmFja2dyb3VuZENvbG9yKTsKCQkJbW9kZWwuYm9yZGVyQ29sb3IgPSBjdXN0b20uYm9yZGVyQ29sb3IgPyBjdXN0b20uYm9yZGVyQ29sb3IgOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyQ29sb3IsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJvcmRlckNvbG9yKTsKCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChkYXRhc2V0LnBvaW50Qm9yZGVyV2lkdGgsIGluZGV4LCBwb2ludEVsZW1lbnRPcHRpb25zLmJvcmRlcldpZHRoKTsKCQl9Cgl9KTsKfTsKCn0seyIyNSI6MjUsIjQwIjo0MCwiNDUiOjQ1fV0sMjE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKCmRlZmF1bHRzLl9zZXQoJ3NjYXR0ZXInLCB7Cglob3ZlcjogewoJCW1vZGU6ICdzaW5nbGUnCgl9LAoKCXNjYWxlczogewoJCXhBeGVzOiBbewoJCQlpZDogJ3gtYXhpcy0xJywgICAgLy8gbmVlZCBhbiBJRCBzbyBkYXRhc2V0cyBjYW4gcmVmZXJlbmNlIHRoZSBzY2FsZQoJCQl0eXBlOiAnbGluZWFyJywgICAgLy8gc2NhdHRlciBzaG91bGQgbm90IHVzZSBhIGNhdGVnb3J5IGF4aXMKCQkJcG9zaXRpb246ICdib3R0b20nCgkJfV0sCgkJeUF4ZXM6IFt7CgkJCWlkOiAneS1heGlzLTEnLAoJCQl0eXBlOiAnbGluZWFyJywKCQkJcG9zaXRpb246ICdsZWZ0JwoJCX1dCgl9LAoKCXNob3dMaW5lczogZmFsc2UsCgoJdG9vbHRpcHM6IHsKCQljYWxsYmFja3M6IHsKCQkJdGl0bGU6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICcnOyAgICAgLy8gZG9lc24ndCBtYWtlIHNlbnNlIGZvciBzY2F0dGVyIHNpbmNlIGRhdGEgYXJlIGZvcm1hdHRlZCBhcyBhIHBvaW50CgkJCX0sCgkJCWxhYmVsOiBmdW5jdGlvbihpdGVtKSB7CgkJCQlyZXR1cm4gJygnICsgaXRlbS54TGFiZWwgKyAnLCAnICsgaXRlbS55TGFiZWwgKyAnKSc7CgkJCX0KCQl9Cgl9Cn0pOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCS8vIFNjYXR0ZXIgY2hhcnRzIHVzZSBsaW5lIGNvbnRyb2xsZXJzCglDaGFydC5jb250cm9sbGVycy5zY2F0dGVyID0gQ2hhcnQuY29udHJvbGxlcnMubGluZTsKCn07Cgp9LHsiMjUiOjI1fV0sMjI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKiBnbG9iYWwgd2luZG93OiBmYWxzZSAqLwondXNlIHN0cmljdCc7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKdmFyIEVsZW1lbnQgPSByZXF1aXJlKDI2KTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2dsb2JhbCcsIHsKCWFuaW1hdGlvbjogewoJCWR1cmF0aW9uOiAxMDAwLAoJCWVhc2luZzogJ2Vhc2VPdXRRdWFydCcsCgkJb25Qcm9ncmVzczogaGVscGVycy5ub29wLAoJCW9uQ29tcGxldGU6IGhlbHBlcnMubm9vcAoJfQp9KTsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCglDaGFydC5BbmltYXRpb24gPSBFbGVtZW50LmV4dGVuZCh7CgkJY2hhcnQ6IG51bGwsIC8vIHRoZSBhbmltYXRpb24gYXNzb2NpYXRlZCBjaGFydCBpbnN0YW5jZQoJCWN1cnJlbnRTdGVwOiAwLCAvLyB0aGUgY3VycmVudCBhbmltYXRpb24gc3RlcAoJCW51bVN0ZXBzOiA2MCwgLy8gZGVmYXVsdCBudW1iZXIgb2Ygc3RlcHMKCQllYXNpbmc6ICcnLCAvLyB0aGUgZWFzaW5nIHRvIHVzZSBmb3IgdGhpcyBhbmltYXRpb24KCQlyZW5kZXI6IG51bGwsIC8vIHJlbmRlciBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBhbmltYXRpb24gc2VydmljZQoKCQlvbkFuaW1hdGlvblByb2dyZXNzOiBudWxsLCAvLyB1c2VyIHNwZWNpZmllZCBjYWxsYmFjayB0byBmaXJlIG9uIGVhY2ggc3RlcCBvZiB0aGUgYW5pbWF0aW9uCgkJb25BbmltYXRpb25Db21wbGV0ZTogbnVsbCwgLy8gdXNlciBzcGVjaWZpZWQgY2FsbGJhY2sgdG8gZmlyZSB3aGVuIHRoZSBhbmltYXRpb24gZmluaXNoZXMKCX0pOwoKCUNoYXJ0LmFuaW1hdGlvblNlcnZpY2UgPSB7CgkJZnJhbWVEdXJhdGlvbjogMTcsCgkJYW5pbWF0aW9uczogW10sCgkJZHJvcEZyYW1lczogMCwKCQlyZXF1ZXN0OiBudWxsLAoKCQkvKioKCQkgKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIFRoZSBjaGFydCB0byBhbmltYXRlLgoJCSAqIEBwYXJhbSB7Q2hhcnQuQW5pbWF0aW9ufSBhbmltYXRpb24gLSBUaGUgYW5pbWF0aW9uIHRoYXQgd2Ugd2lsbCBhbmltYXRlLgoJCSAqIEBwYXJhbSB7TnVtYmVyfSBkdXJhdGlvbiAtIFRoZSBhbmltYXRpb24gZHVyYXRpb24gaW4gbXMuCgkJICogQHBhcmFtIHtCb29sZWFufSBsYXp5IC0gaWYgdHJ1ZSwgdGhlIGNoYXJ0IGlzIG5vdCBtYXJrZWQgYXMgYW5pbWF0aW5nIHRvIGVuYWJsZSBtb3JlIHJlc3BvbnNpdmUgaW50ZXJhY3Rpb25zCgkJICovCgkJYWRkQW5pbWF0aW9uOiBmdW5jdGlvbihjaGFydCwgYW5pbWF0aW9uLCBkdXJhdGlvbiwgbGF6eSkgewoJCQl2YXIgYW5pbWF0aW9ucyA9IHRoaXMuYW5pbWF0aW9uczsKCQkJdmFyIGksIGlsZW47CgoJCQlhbmltYXRpb24uY2hhcnQgPSBjaGFydDsKCgkJCWlmICghbGF6eSkgewoJCQkJY2hhcnQuYW5pbWF0aW5nID0gdHJ1ZTsKCQkJfQoKCQkJZm9yIChpID0gMCwgaWxlbiA9IGFuaW1hdGlvbnMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlpZiAoYW5pbWF0aW9uc1tpXS5jaGFydCA9PT0gY2hhcnQpIHsKCQkJCQlhbmltYXRpb25zW2ldID0gYW5pbWF0aW9uOwoJCQkJCXJldHVybjsKCQkJCX0KCQkJfQoKCQkJYW5pbWF0aW9ucy5wdXNoKGFuaW1hdGlvbik7CgoJCQkvLyBJZiB0aGVyZSBhcmUgbm8gYW5pbWF0aW9ucyBxdWV1ZWQsIG1hbnVhbGx5IGtpY2tzdGFydCBhIGRpZ2VzdCwgZm9yIGxhY2sgb2YgYSBiZXR0ZXIgd29yZAoJCQlpZiAoYW5pbWF0aW9ucy5sZW5ndGggPT09IDEpIHsKCQkJCXRoaXMucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7CgkJCX0KCQl9LAoKCQljYW5jZWxBbmltYXRpb246IGZ1bmN0aW9uKGNoYXJ0KSB7CgkJCXZhciBpbmRleCA9IGhlbHBlcnMuZmluZEluZGV4KHRoaXMuYW5pbWF0aW9ucywgZnVuY3Rpb24oYW5pbWF0aW9uKSB7CgkJCQlyZXR1cm4gYW5pbWF0aW9uLmNoYXJ0ID09PSBjaGFydDsKCQkJfSk7CgoJCQlpZiAoaW5kZXggIT09IC0xKSB7CgkJCQl0aGlzLmFuaW1hdGlvbnMuc3BsaWNlKGluZGV4LCAxKTsKCQkJCWNoYXJ0LmFuaW1hdGluZyA9IGZhbHNlOwoJCQl9CgkJfSwKCgkJcmVxdWVzdEFuaW1hdGlvbkZyYW1lOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJaWYgKG1lLnJlcXVlc3QgPT09IG51bGwpIHsKCQkJCS8vIFNraXAgYW5pbWF0aW9uIGZyYW1lIHJlcXVlc3RzIHVudGlsIHRoZSBhY3RpdmUgb25lIGlzIGV4ZWN1dGVkLgoJCQkJLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gcHJvY2Vzc2luZyBtb3VzZSBldmVudHMsIGUuZy4gJ21vdXNlbW92ZScKCQkJCS8vIGFuZCAnbW91c2VvdXQnIGV2ZW50cyB3aWxsIHRyaWdnZXIgbXVsdGlwbGUgcmVuZGVycy4KCQkJCW1lLnJlcXVlc3QgPSBoZWxwZXJzLnJlcXVlc3RBbmltRnJhbWUuY2FsbCh3aW5kb3csIGZ1bmN0aW9uKCkgewoJCQkJCW1lLnJlcXVlc3QgPSBudWxsOwoJCQkJCW1lLnN0YXJ0RGlnZXN0KCk7CgkJCQl9KTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJc3RhcnREaWdlc3Q6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTsKCQkJdmFyIGZyYW1lc1RvRHJvcCA9IDA7CgoJCQlpZiAobWUuZHJvcEZyYW1lcyA+IDEpIHsKCQkJCWZyYW1lc1RvRHJvcCA9IE1hdGguZmxvb3IobWUuZHJvcEZyYW1lcyk7CgkJCQltZS5kcm9wRnJhbWVzID0gbWUuZHJvcEZyYW1lcyAlIDE7CgkJCX0KCgkJCW1lLmFkdmFuY2UoMSArIGZyYW1lc1RvRHJvcCk7CgoJCQl2YXIgZW5kVGltZSA9IERhdGUubm93KCk7CgoJCQltZS5kcm9wRnJhbWVzICs9IChlbmRUaW1lIC0gc3RhcnRUaW1lKSAvIG1lLmZyYW1lRHVyYXRpb247CgoJCQkvLyBEbyB3ZSBoYXZlIG1vcmUgc3R1ZmYgdG8gYW5pbWF0ZT8KCQkJaWYgKG1lLmFuaW1hdGlvbnMubGVuZ3RoID4gMCkgewoJCQkJbWUucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCk7CgkJCX0KCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWFkdmFuY2U6IGZ1bmN0aW9uKGNvdW50KSB7CgkJCXZhciBhbmltYXRpb25zID0gdGhpcy5hbmltYXRpb25zOwoJCQl2YXIgYW5pbWF0aW9uLCBjaGFydDsKCQkJdmFyIGkgPSAwOwoKCQkJd2hpbGUgKGkgPCBhbmltYXRpb25zLmxlbmd0aCkgewoJCQkJYW5pbWF0aW9uID0gYW5pbWF0aW9uc1tpXTsKCQkJCWNoYXJ0ID0gYW5pbWF0aW9uLmNoYXJ0OwoKCQkJCWFuaW1hdGlvbi5jdXJyZW50U3RlcCA9IChhbmltYXRpb24uY3VycmVudFN0ZXAgfHwgMCkgKyBjb3VudDsKCQkJCWFuaW1hdGlvbi5jdXJyZW50U3RlcCA9IE1hdGgubWluKGFuaW1hdGlvbi5jdXJyZW50U3RlcCwgYW5pbWF0aW9uLm51bVN0ZXBzKTsKCgkJCQloZWxwZXJzLmNhbGxiYWNrKGFuaW1hdGlvbi5yZW5kZXIsIFtjaGFydCwgYW5pbWF0aW9uXSwgY2hhcnQpOwoJCQkJaGVscGVycy5jYWxsYmFjayhhbmltYXRpb24ub25BbmltYXRpb25Qcm9ncmVzcywgW2FuaW1hdGlvbl0sIGNoYXJ0KTsKCgkJCQlpZiAoYW5pbWF0aW9uLmN1cnJlbnRTdGVwID49IGFuaW1hdGlvbi5udW1TdGVwcykgewoJCQkJCWhlbHBlcnMuY2FsbGJhY2soYW5pbWF0aW9uLm9uQW5pbWF0aW9uQ29tcGxldGUsIFthbmltYXRpb25dLCBjaGFydCk7CgkJCQkJY2hhcnQuYW5pbWF0aW5nID0gZmFsc2U7CgkJCQkJYW5pbWF0aW9ucy5zcGxpY2UoaSwgMSk7CgkJCQl9IGVsc2UgewoJCQkJCSsraTsKCQkJCX0KCQkJfQoJCX0KCX07CgoJLyoqCgkgKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIENoYXJ0LkFuaW1hdGlvbiBpbnN0ZWFkCgkgKiBAcHJvcCBDaGFydC5BbmltYXRpb24jYW5pbWF0aW9uT2JqZWN0CgkgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNi4wCgkgKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCgkgKi8KCU9iamVjdC5kZWZpbmVQcm9wZXJ0eShDaGFydC5BbmltYXRpb24ucHJvdG90eXBlLCAnYW5pbWF0aW9uT2JqZWN0JywgewoJCWdldDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzOwoJCX0KCX0pOwoKCS8qKgoJICogUHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHVzZSBDaGFydC5BbmltYXRpb24jY2hhcnQgaW5zdGVhZAoJICogQHByb3AgQ2hhcnQuQW5pbWF0aW9uI2NoYXJ0SW5zdGFuY2UKCSAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMi42LjAKCSAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKCSAqLwoJT2JqZWN0LmRlZmluZVByb3BlcnR5KENoYXJ0LkFuaW1hdGlvbi5wcm90b3R5cGUsICdjaGFydEluc3RhbmNlJywgewoJCWdldDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLmNoYXJ0OwoJCX0sCgkJc2V0OiBmdW5jdGlvbih2YWx1ZSkgewoJCQl0aGlzLmNoYXJ0ID0gdmFsdWU7CgkJfQoJfSk7Cgp9OwoKfSx7IjI1IjoyNSwiMjYiOjI2LCI0NSI6NDV9XSwyMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgSW50ZXJhY3Rpb24gPSByZXF1aXJlKDI4KTsKdmFyIGxheW91dHMgPSByZXF1aXJlKDMwKTsKdmFyIHBsYXRmb3JtID0gcmVxdWlyZSg0OCk7CnZhciBwbHVnaW5zID0gcmVxdWlyZSgzMSk7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJLy8gQ3JlYXRlIGEgZGljdGlvbmFyeSBvZiBjaGFydCB0eXBlcywgdG8gYWxsb3cgZm9yIGV4dGVuc2lvbiBvZiBleGlzdGluZyB0eXBlcwoJQ2hhcnQudHlwZXMgPSB7fTsKCgkvLyBTdG9yZSBhIHJlZmVyZW5jZSB0byBlYWNoIGluc3RhbmNlIC0gYWxsb3dpbmcgdXMgdG8gZ2xvYmFsbHkgcmVzaXplIGNoYXJ0IGluc3RhbmNlcyBvbiB3aW5kb3cgcmVzaXplLgoJLy8gRGVzdHJveSBtZXRob2Qgb24gdGhlIGNoYXJ0IHdpbGwgcmVtb3ZlIHRoZSBpbnN0YW5jZSBvZiB0aGUgY2hhcnQgZnJvbSB0aGlzIHJlZmVyZW5jZS4KCUNoYXJ0Lmluc3RhbmNlcyA9IHt9OwoKCS8vIENvbnRyb2xsZXJzIGF2YWlsYWJsZSBmb3IgZGF0YXNldCB2aXN1YWxpemF0aW9uIGVnLiBiYXIsIGxpbmUsIHNsaWNlLCBldGMuCglDaGFydC5jb250cm9sbGVycyA9IHt9OwoKCS8qKgoJICogSW5pdGlhbGl6ZXMgdGhlIGdpdmVuIGNvbmZpZyB3aXRoIGdsb2JhbCBhbmQgY2hhcnQgZGVmYXVsdCB2YWx1ZXMuCgkgKi8KCWZ1bmN0aW9uIGluaXRDb25maWcoY29uZmlnKSB7CgkJY29uZmlnID0gY29uZmlnIHx8IHt9OwoKCQkvLyBEbyBOT1QgdXNlIGNvbmZpZ01lcmdlKCkgZm9yIHRoZSBkYXRhIG9iamVjdCBiZWNhdXNlIHRoaXMgbWV0aG9kIG1lcmdlcyBhcnJheXMKCQkvLyBhbmQgc28gd291bGQgY2hhbmdlIHJlZmVyZW5jZXMgdG8gbGFiZWxzIGFuZCBkYXRhc2V0cywgcHJldmVudGluZyBkYXRhIHVwZGF0ZXMuCgkJdmFyIGRhdGEgPSBjb25maWcuZGF0YSA9IGNvbmZpZy5kYXRhIHx8IHt9OwoJCWRhdGEuZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzIHx8IFtdOwoJCWRhdGEubGFiZWxzID0gZGF0YS5sYWJlbHMgfHwgW107CgoJCWNvbmZpZy5vcHRpb25zID0gaGVscGVycy5jb25maWdNZXJnZSgKCQkJZGVmYXVsdHMuZ2xvYmFsLAoJCQlkZWZhdWx0c1tjb25maWcudHlwZV0sCgkJCWNvbmZpZy5vcHRpb25zIHx8IHt9KTsKCgkJcmV0dXJuIGNvbmZpZzsKCX0KCgkvKioKCSAqIFVwZGF0ZXMgdGhlIGNvbmZpZyBvZiB0aGUgY2hhcnQKCSAqIEBwYXJhbSBjaGFydCB7Q2hhcnR9IGNoYXJ0IHRvIHVwZGF0ZSB0aGUgb3B0aW9ucyBmb3IKCSAqLwoJZnVuY3Rpb24gdXBkYXRlQ29uZmlnKGNoYXJ0KSB7CgkJdmFyIG5ld09wdGlvbnMgPSBjaGFydC5vcHRpb25zOwoKCQloZWxwZXJzLmVhY2goY2hhcnQuc2NhbGVzLCBmdW5jdGlvbihzY2FsZSkgewoJCQlsYXlvdXRzLnJlbW92ZUJveChjaGFydCwgc2NhbGUpOwoJCX0pOwoKCQluZXdPcHRpb25zID0gaGVscGVycy5jb25maWdNZXJnZSgKCQkJQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLAoJCQlDaGFydC5kZWZhdWx0c1tjaGFydC5jb25maWcudHlwZV0sCgkJCW5ld09wdGlvbnMpOwoKCQljaGFydC5vcHRpb25zID0gY2hhcnQuY29uZmlnLm9wdGlvbnMgPSBuZXdPcHRpb25zOwoJCWNoYXJ0LmVuc3VyZVNjYWxlc0hhdmVJRHMoKTsKCQljaGFydC5idWlsZE9yVXBkYXRlU2NhbGVzKCk7CgkJLy8gVG9vbHRpcAoJCWNoYXJ0LnRvb2x0aXAuX29wdGlvbnMgPSBuZXdPcHRpb25zLnRvb2x0aXBzOwoJCWNoYXJ0LnRvb2x0aXAuaW5pdGlhbGl6ZSgpOwoJfQoKCWZ1bmN0aW9uIHBvc2l0aW9uSXNIb3Jpem9udGFsKHBvc2l0aW9uKSB7CgkJcmV0dXJuIHBvc2l0aW9uID09PSAndG9wJyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbSc7Cgl9CgoJaGVscGVycy5leHRlbmQoQ2hhcnQucHJvdG90eXBlLCAvKiogQGxlbmRzIENoYXJ0ICovIHsKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWNvbnN0cnVjdDogZnVuY3Rpb24oaXRlbSwgY29uZmlnKSB7CgkJCXZhciBtZSA9IHRoaXM7CgoJCQljb25maWcgPSBpbml0Q29uZmlnKGNvbmZpZyk7CgoJCQl2YXIgY29udGV4dCA9IHBsYXRmb3JtLmFjcXVpcmVDb250ZXh0KGl0ZW0sIGNvbmZpZyk7CgkJCXZhciBjYW52YXMgPSBjb250ZXh0ICYmIGNvbnRleHQuY2FudmFzOwoJCQl2YXIgaGVpZ2h0ID0gY2FudmFzICYmIGNhbnZhcy5oZWlnaHQ7CgkJCXZhciB3aWR0aCA9IGNhbnZhcyAmJiBjYW52YXMud2lkdGg7CgoJCQltZS5pZCA9IGhlbHBlcnMudWlkKCk7CgkJCW1lLmN0eCA9IGNvbnRleHQ7CgkJCW1lLmNhbnZhcyA9IGNhbnZhczsKCQkJbWUuY29uZmlnID0gY29uZmlnOwoJCQltZS53aWR0aCA9IHdpZHRoOwoJCQltZS5oZWlnaHQgPSBoZWlnaHQ7CgkJCW1lLmFzcGVjdFJhdGlvID0gaGVpZ2h0ID8gd2lkdGggLyBoZWlnaHQgOiBudWxsOwoJCQltZS5vcHRpb25zID0gY29uZmlnLm9wdGlvbnM7CgkJCW1lLl9idWZmZXJlZFJlbmRlciA9IGZhbHNlOwoKCQkJLyoqCgkJCSAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBDaGFydCBhbmQgQ2hhcnQuQ29udHJvbGxlciBoYXZlIGJlZW4gbWVyZ2VkLAoJCQkgKiB0aGUgImluc3RhbmNlIiBzdGlsbCBuZWVkIHRvIGJlIGRlZmluZWQgc2luY2UgaXQgbWlnaHQgYmUgY2FsbGVkIGZyb20gcGx1Z2lucy4KCQkJICogQHByb3AgQ2hhcnQjY2hhcnQKCQkJICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjYuMAoJCQkgKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCgkJCSAqIEBwcml2YXRlCgkJCSAqLwoJCQltZS5jaGFydCA9IG1lOwoJCQltZS5jb250cm9sbGVyID0gbWU7IC8vIGNoYXJ0LmNoYXJ0LmNvbnRyb2xsZXIgI2luY2VwdGlvbgoKCQkJLy8gQWRkIHRoZSBjaGFydCBpbnN0YW5jZSB0byB0aGUgZ2xvYmFsIG5hbWVzcGFjZQoJCQlDaGFydC5pbnN0YW5jZXNbbWUuaWRdID0gbWU7CgoJCQkvLyBEZWZpbmUgYWxpYXMgdG8gdGhlIGNvbmZpZyBkYXRhOiBgY2hhcnQuZGF0YSA9PT0gY2hhcnQuY29uZmlnLmRhdGFgCgkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZSwgJ2RhdGEnLCB7CgkJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJCXJldHVybiBtZS5jb25maWcuZGF0YTsKCQkJCX0sCgkJCQlzZXQ6IGZ1bmN0aW9uKHZhbHVlKSB7CgkJCQkJbWUuY29uZmlnLmRhdGEgPSB2YWx1ZTsKCQkJCX0KCQkJfSk7CgoJCQlpZiAoIWNvbnRleHQgfHwgIWNhbnZhcykgewoJCQkJLy8gVGhlIGdpdmVuIGl0ZW0gaXMgbm90IGEgY29tcGF0aWJsZSBjb250ZXh0MmQgZWxlbWVudCwgbGV0J3MgcmV0dXJuIGJlZm9yZSBmaW5hbGl6aW5nCgkJCQkvLyB0aGUgY2hhcnQgaW5pdGlhbGl6YXRpb24gYnV0IGFmdGVyIHNldHRpbmcgYmFzaWMgY2hhcnQgLyBjb250cm9sbGVyIHByb3BlcnRpZXMgdGhhdAoJCQkJLy8gY2FuIGhlbHAgdG8gZmlndXJlIG91dCB0aGF0IHRoZSBjaGFydCBpcyBub3QgdmFsaWQgKGUuZyBjaGFydC5jYW52YXMgIT09IG51bGwpOwoJCQkJLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzI4MDcKCQkJCWNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2hhcnQ6IGNhbid0IGFjcXVpcmUgY29udGV4dCBmcm9tIHRoZSBnaXZlbiBpdGVtIik7CgkJCQlyZXR1cm47CgkJCX0KCgkJCW1lLmluaXRpYWxpemUoKTsKCQkJbWUudXBkYXRlKCk7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCS8vIEJlZm9yZSBpbml0IHBsdWdpbiBub3RpZmljYXRpb24KCQkJcGx1Z2lucy5ub3RpZnkobWUsICdiZWZvcmVJbml0Jyk7CgoJCQloZWxwZXJzLnJldGluYVNjYWxlKG1lLCBtZS5vcHRpb25zLmRldmljZVBpeGVsUmF0aW8pOwoKCQkJbWUuYmluZEV2ZW50cygpOwoKCQkJaWYgKG1lLm9wdGlvbnMucmVzcG9uc2l2ZSkgewoJCQkJLy8gSW5pdGlhbCByZXNpemUgYmVmb3JlIGNoYXJ0IGRyYXdzIChtdXN0IGJlIHNpbGVudCB0byBwcmVzZXJ2ZSBpbml0aWFsIGFuaW1hdGlvbnMpLgoJCQkJbWUucmVzaXplKHRydWUpOwoJCQl9CgoJCQkvLyBNYWtlIHN1cmUgc2NhbGVzIGhhdmUgSURzIGFuZCBhcmUgYnVpbHQgYmVmb3JlIHdlIGJ1aWxkIGFueSBjb250cm9sbGVycy4KCQkJbWUuZW5zdXJlU2NhbGVzSGF2ZUlEcygpOwoJCQltZS5idWlsZE9yVXBkYXRlU2NhbGVzKCk7CgkJCW1lLmluaXRUb29sVGlwKCk7CgoJCQkvLyBBZnRlciBpbml0IHBsdWdpbiBub3RpZmljYXRpb24KCQkJcGx1Z2lucy5ub3RpZnkobWUsICdhZnRlckluaXQnKTsKCgkJCXJldHVybiBtZTsKCQl9LAoKCQljbGVhcjogZnVuY3Rpb24oKSB7CgkJCWhlbHBlcnMuY2FudmFzLmNsZWFyKHRoaXMpOwoJCQlyZXR1cm4gdGhpczsKCQl9LAoKCQlzdG9wOiBmdW5jdGlvbigpIHsKCQkJLy8gU3RvcHMgYW55IGN1cnJlbnQgYW5pbWF0aW9uIGxvb3Agb2NjdXJyaW5nCgkJCUNoYXJ0LmFuaW1hdGlvblNlcnZpY2UuY2FuY2VsQW5pbWF0aW9uKHRoaXMpOwoJCQlyZXR1cm4gdGhpczsKCQl9LAoKCQlyZXNpemU6IGZ1bmN0aW9uKHNpbGVudCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0aW9ucyA9IG1lLm9wdGlvbnM7CgkJCXZhciBjYW52YXMgPSBtZS5jYW52YXM7CgkJCXZhciBhc3BlY3RSYXRpbyA9IChvcHRpb25zLm1haW50YWluQXNwZWN0UmF0aW8gJiYgbWUuYXNwZWN0UmF0aW8pIHx8IG51bGw7CgoJCQkvLyB0aGUgY2FudmFzIHJlbmRlciB3aWR0aCBhbmQgaGVpZ2h0IHdpbGwgYmUgY2FzdGVkIHRvIGludGVnZXJzIHNvIG1ha2Ugc3VyZSB0aGF0CgkJCS8vIHRoZSBjYW52YXMgZGlzcGxheSBzdHlsZSB1c2VzIHRoZSBzYW1lIGludGVnZXIgdmFsdWVzIHRvIGF2b2lkIGJsdXJyaW5nIGVmZmVjdC4KCgkJCS8vIFNldCB0byAwIGluc3RlYWQgb2YgY2FudmFzLnNpemUgYmVjYXVzZSB0aGUgc2l6ZSBkZWZhdWx0cyB0byAzMDB4MTUwIGlmIHRoZSBlbGVtZW50IGlzIGNvbGxhc2VkCgkJCXZhciBuZXdXaWR0aCA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoaGVscGVycy5nZXRNYXhpbXVtV2lkdGgoY2FudmFzKSkpOwoJCQl2YXIgbmV3SGVpZ2h0ID0gTWF0aC5tYXgoMCwgTWF0aC5mbG9vcihhc3BlY3RSYXRpbyA/IG5ld1dpZHRoIC8gYXNwZWN0UmF0aW8gOiBoZWxwZXJzLmdldE1heGltdW1IZWlnaHQoY2FudmFzKSkpOwoKCQkJaWYgKG1lLndpZHRoID09PSBuZXdXaWR0aCAmJiBtZS5oZWlnaHQgPT09IG5ld0hlaWdodCkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQljYW52YXMud2lkdGggPSBtZS53aWR0aCA9IG5ld1dpZHRoOwoJCQljYW52YXMuaGVpZ2h0ID0gbWUuaGVpZ2h0ID0gbmV3SGVpZ2h0OwoJCQljYW52YXMuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICdweCc7CgkJCWNhbnZhcy5zdHlsZS5oZWlnaHQgPSBuZXdIZWlnaHQgKyAncHgnOwoKCQkJaGVscGVycy5yZXRpbmFTY2FsZShtZSwgb3B0aW9ucy5kZXZpY2VQaXhlbFJhdGlvKTsKCgkJCWlmICghc2lsZW50KSB7CgkJCQkvLyBOb3RpZnkgYW55IHBsdWdpbnMgYWJvdXQgdGhlIHJlc2l6ZQoJCQkJdmFyIG5ld1NpemUgPSB7d2lkdGg6IG5ld1dpZHRoLCBoZWlnaHQ6IG5ld0hlaWdodH07CgkJCQlwbHVnaW5zLm5vdGlmeShtZSwgJ3Jlc2l6ZScsIFtuZXdTaXplXSk7CgoJCQkJLy8gTm90aWZ5IG9mIHJlc2l6ZQoJCQkJaWYgKG1lLm9wdGlvbnMub25SZXNpemUpIHsKCQkJCQltZS5vcHRpb25zLm9uUmVzaXplKG1lLCBuZXdTaXplKTsKCQkJCX0KCgkJCQltZS5zdG9wKCk7CgkJCQltZS51cGRhdGUobWUub3B0aW9ucy5yZXNwb25zaXZlQW5pbWF0aW9uRHVyYXRpb24pOwoJCQl9CgkJfSwKCgkJZW5zdXJlU2NhbGVzSGF2ZUlEczogZnVuY3Rpb24oKSB7CgkJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zOwoJCQl2YXIgc2NhbGVzT3B0aW9ucyA9IG9wdGlvbnMuc2NhbGVzIHx8IHt9OwoJCQl2YXIgc2NhbGVPcHRpb25zID0gb3B0aW9ucy5zY2FsZTsKCgkJCWhlbHBlcnMuZWFjaChzY2FsZXNPcHRpb25zLnhBeGVzLCBmdW5jdGlvbih4QXhpc09wdGlvbnMsIGluZGV4KSB7CgkJCQl4QXhpc09wdGlvbnMuaWQgPSB4QXhpc09wdGlvbnMuaWQgfHwgKCd4LWF4aXMtJyArIGluZGV4KTsKCQkJfSk7CgoJCQloZWxwZXJzLmVhY2goc2NhbGVzT3B0aW9ucy55QXhlcywgZnVuY3Rpb24oeUF4aXNPcHRpb25zLCBpbmRleCkgewoJCQkJeUF4aXNPcHRpb25zLmlkID0geUF4aXNPcHRpb25zLmlkIHx8ICgneS1heGlzLScgKyBpbmRleCk7CgkJCX0pOwoKCQkJaWYgKHNjYWxlT3B0aW9ucykgewoJCQkJc2NhbGVPcHRpb25zLmlkID0gc2NhbGVPcHRpb25zLmlkIHx8ICdzY2FsZSc7CgkJCX0KCQl9LAoKCQkvKioKCQkgKiBCdWlsZHMgYSBtYXAgb2Ygc2NhbGUgSUQgdG8gc2NhbGUgb2JqZWN0IGZvciBmdXR1cmUgbG9va3VwLgoJCSAqLwoJCWJ1aWxkT3JVcGRhdGVTY2FsZXM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0aW9ucyA9IG1lLm9wdGlvbnM7CgkJCXZhciBzY2FsZXMgPSBtZS5zY2FsZXMgfHwge307CgkJCXZhciBpdGVtcyA9IFtdOwoJCQl2YXIgdXBkYXRlZCA9IE9iamVjdC5rZXlzKHNjYWxlcykucmVkdWNlKGZ1bmN0aW9uKG9iaiwgaWQpIHsKCQkJCW9ialtpZF0gPSBmYWxzZTsKCQkJCXJldHVybiBvYmo7CgkJCX0sIHt9KTsKCgkJCWlmIChvcHRpb25zLnNjYWxlcykgewoJCQkJaXRlbXMgPSBpdGVtcy5jb25jYXQoCgkJCQkJKG9wdGlvbnMuc2NhbGVzLnhBeGVzIHx8IFtdKS5tYXAoZnVuY3Rpb24oeEF4aXNPcHRpb25zKSB7CgkJCQkJCXJldHVybiB7b3B0aW9uczogeEF4aXNPcHRpb25zLCBkdHlwZTogJ2NhdGVnb3J5JywgZHBvc2l0aW9uOiAnYm90dG9tJ307CgkJCQkJfSksCgkJCQkJKG9wdGlvbnMuc2NhbGVzLnlBeGVzIHx8IFtdKS5tYXAoZnVuY3Rpb24oeUF4aXNPcHRpb25zKSB7CgkJCQkJCXJldHVybiB7b3B0aW9uczogeUF4aXNPcHRpb25zLCBkdHlwZTogJ2xpbmVhcicsIGRwb3NpdGlvbjogJ2xlZnQnfTsKCQkJCQl9KQoJCQkJKTsKCQkJfQoKCQkJaWYgKG9wdGlvbnMuc2NhbGUpIHsKCQkJCWl0ZW1zLnB1c2goewoJCQkJCW9wdGlvbnM6IG9wdGlvbnMuc2NhbGUsCgkJCQkJZHR5cGU6ICdyYWRpYWxMaW5lYXInLAoJCQkJCWlzRGVmYXVsdDogdHJ1ZSwKCQkJCQlkcG9zaXRpb246ICdjaGFydEFyZWEnCgkJCQl9KTsKCQkJfQoKCQkJaGVscGVycy5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpdGVtKSB7CgkJCQl2YXIgc2NhbGVPcHRpb25zID0gaXRlbS5vcHRpb25zOwoJCQkJdmFyIGlkID0gc2NhbGVPcHRpb25zLmlkOwoJCQkJdmFyIHNjYWxlVHlwZSA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoc2NhbGVPcHRpb25zLnR5cGUsIGl0ZW0uZHR5cGUpOwoKCQkJCWlmIChwb3NpdGlvbklzSG9yaXpvbnRhbChzY2FsZU9wdGlvbnMucG9zaXRpb24pICE9PSBwb3NpdGlvbklzSG9yaXpvbnRhbChpdGVtLmRwb3NpdGlvbikpIHsKCQkJCQlzY2FsZU9wdGlvbnMucG9zaXRpb24gPSBpdGVtLmRwb3NpdGlvbjsKCQkJCX0KCgkJCQl1cGRhdGVkW2lkXSA9IHRydWU7CgkJCQl2YXIgc2NhbGUgPSBudWxsOwoJCQkJaWYgKGlkIGluIHNjYWxlcyAmJiBzY2FsZXNbaWRdLnR5cGUgPT09IHNjYWxlVHlwZSkgewoJCQkJCXNjYWxlID0gc2NhbGVzW2lkXTsKCQkJCQlzY2FsZS5vcHRpb25zID0gc2NhbGVPcHRpb25zOwoJCQkJCXNjYWxlLmN0eCA9IG1lLmN0eDsKCQkJCQlzY2FsZS5jaGFydCA9IG1lOwoJCQkJfSBlbHNlIHsKCQkJCQl2YXIgc2NhbGVDbGFzcyA9IENoYXJ0LnNjYWxlU2VydmljZS5nZXRTY2FsZUNvbnN0cnVjdG9yKHNjYWxlVHlwZSk7CgkJCQkJaWYgKCFzY2FsZUNsYXNzKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgkJCQkJc2NhbGUgPSBuZXcgc2NhbGVDbGFzcyh7CgkJCQkJCWlkOiBpZCwKCQkJCQkJdHlwZTogc2NhbGVUeXBlLAoJCQkJCQlvcHRpb25zOiBzY2FsZU9wdGlvbnMsCgkJCQkJCWN0eDogbWUuY3R4LAoJCQkJCQljaGFydDogbWUKCQkJCQl9KTsKCQkJCQlzY2FsZXNbc2NhbGUuaWRdID0gc2NhbGU7CgkJCQl9CgoJCQkJc2NhbGUubWVyZ2VUaWNrc09wdGlvbnMoKTsKCgkJCQkvLyBUT0RPKFNCKTogSSB0aGluayB3ZSBzaG91bGQgYmUgYWJsZSB0byByZW1vdmUgdGhpcyBjdXN0b20gY2FzZSAob3B0aW9ucy5zY2FsZSkKCQkJCS8vIGFuZCBjb25zaWRlciBpdCBhcyBhIHJlZ3VsYXIgc2NhbGUgcGFydCBvZiB0aGUgInNjYWxlcyIiIG1hcCBvbmx5ISBUaGlzIHdvdWxkCgkJCQkvLyBtYWtlIHRoZSBsb2dpYyBlYXNpZXIgYW5kIHJlbW92ZSBzb21lIHVzZWxlc3M/IGN1c3RvbSBjb2RlLgoJCQkJaWYgKGl0ZW0uaXNEZWZhdWx0KSB7CgkJCQkJbWUuc2NhbGUgPSBzY2FsZTsKCQkJCX0KCQkJfSk7CgkJCS8vIGNsZWFyIHVwIGRpc2NhcmRlZCBzY2FsZXMKCQkJaGVscGVycy5lYWNoKHVwZGF0ZWQsIGZ1bmN0aW9uKGhhc1VwZGF0ZWQsIGlkKSB7CgkJCQlpZiAoIWhhc1VwZGF0ZWQpIHsKCQkJCQlkZWxldGUgc2NhbGVzW2lkXTsKCQkJCX0KCQkJfSk7CgoJCQltZS5zY2FsZXMgPSBzY2FsZXM7CgoJCQlDaGFydC5zY2FsZVNlcnZpY2UuYWRkU2NhbGVzVG9MYXlvdXQodGhpcyk7CgkJfSwKCgkJYnVpbGRPclVwZGF0ZUNvbnRyb2xsZXJzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHR5cGVzID0gW107CgkJCXZhciBuZXdDb250cm9sbGVycyA9IFtdOwoKCQkJaGVscGVycy5lYWNoKG1lLmRhdGEuZGF0YXNldHMsIGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgewoJCQkJdmFyIG1ldGEgPSBtZS5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQkJdmFyIHR5cGUgPSBkYXRhc2V0LnR5cGUgfHwgbWUuY29uZmlnLnR5cGU7CgoJCQkJaWYgKG1ldGEudHlwZSAmJiBtZXRhLnR5cGUgIT09IHR5cGUpIHsKCQkJCQltZS5kZXN0cm95RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsKCQkJCQltZXRhID0gbWUuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsKCQkJCX0KCQkJCW1ldGEudHlwZSA9IHR5cGU7CgoJCQkJdHlwZXMucHVzaChtZXRhLnR5cGUpOwoKCQkJCWlmIChtZXRhLmNvbnRyb2xsZXIpIHsKCQkJCQltZXRhLmNvbnRyb2xsZXIudXBkYXRlSW5kZXgoZGF0YXNldEluZGV4KTsKCQkJCQltZXRhLmNvbnRyb2xsZXIubGlua1NjYWxlcygpOwoJCQkJfSBlbHNlIHsKCQkJCQl2YXIgQ29udHJvbGxlckNsYXNzID0gQ2hhcnQuY29udHJvbGxlcnNbbWV0YS50eXBlXTsKCQkJCQlpZiAoQ29udHJvbGxlckNsYXNzID09PSB1bmRlZmluZWQpIHsKCQkJCQkJdGhyb3cgbmV3IEVycm9yKCciJyArIG1ldGEudHlwZSArICciIGlzIG5vdCBhIGNoYXJ0IHR5cGUuJyk7CgkJCQkJfQoKCQkJCQltZXRhLmNvbnRyb2xsZXIgPSBuZXcgQ29udHJvbGxlckNsYXNzKG1lLCBkYXRhc2V0SW5kZXgpOwoJCQkJCW5ld0NvbnRyb2xsZXJzLnB1c2gobWV0YS5jb250cm9sbGVyKTsKCQkJCX0KCQkJfSwgbWUpOwoKCQkJcmV0dXJuIG5ld0NvbnRyb2xsZXJzOwoJCX0sCgoJCS8qKgoJCSAqIFJlc2V0IHRoZSBlbGVtZW50cyBvZiBhbGwgZGF0YXNldHMKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXJlc2V0RWxlbWVudHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQloZWxwZXJzLmVhY2gobWUuZGF0YS5kYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7CgkJCQltZS5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpLmNvbnRyb2xsZXIucmVzZXQoKTsKCQkJfSwgbWUpOwoJCX0sCgoJCS8qKgoJCSogUmVzZXRzIHRoZSBjaGFydCBiYWNrIHRvIGl0J3Mgc3RhdGUgYmVmb3JlIHRoZSBpbml0aWFsIGFuaW1hdGlvbgoJCSovCgkJcmVzZXQ6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLnJlc2V0RWxlbWVudHMoKTsKCQkJdGhpcy50b29sdGlwLmluaXRpYWxpemUoKTsKCQl9LAoKCQl1cGRhdGU6IGZ1bmN0aW9uKGNvbmZpZykgewoJCQl2YXIgbWUgPSB0aGlzOwoKCQkJaWYgKCFjb25maWcgfHwgdHlwZW9mIGNvbmZpZyAhPT0gJ29iamVjdCcpIHsKCQkJCS8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkJCQljb25maWcgPSB7CgkJCQkJZHVyYXRpb246IGNvbmZpZywKCQkJCQlsYXp5OiBhcmd1bWVudHNbMV0KCQkJCX07CgkJCX0KCgkJCXVwZGF0ZUNvbmZpZyhtZSk7CgoJCQkvLyBwbHVnaW5zIG9wdGlvbnMgcmVmZXJlbmNlcyBtaWdodCBoYXZlIGNoYW5nZSwgbGV0J3MgaW52YWxpZGF0ZSB0aGUgY2FjaGUKCQkJLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzUxMTEjaXNzdWVjb21tZW50LTM1NTkzNDE2NwoJCQlwbHVnaW5zLl9pbnZhbGlkYXRlKG1lKTsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZVVwZGF0ZScpID09PSBmYWxzZSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBJbiBjYXNlIHRoZSBlbnRpcmUgZGF0YSBvYmplY3QgY2hhbmdlZAoJCQltZS50b29sdGlwLl9kYXRhID0gbWUuZGF0YTsKCgkJCS8vIE1ha2Ugc3VyZSBkYXRhc2V0IGNvbnRyb2xsZXJzIGFyZSB1cGRhdGVkIGFuZCBuZXcgY29udHJvbGxlcnMgYXJlIHJlc2V0CgkJCXZhciBuZXdDb250cm9sbGVycyA9IG1lLmJ1aWxkT3JVcGRhdGVDb250cm9sbGVycygpOwoKCQkJLy8gTWFrZSBzdXJlIGFsbCBkYXRhc2V0IGNvbnRyb2xsZXJzIGhhdmUgY29ycmVjdCBtZXRhIGRhdGEgY291bnRzCgkJCWhlbHBlcnMuZWFjaChtZS5kYXRhLmRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsKCQkJCW1lLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCkuY29udHJvbGxlci5idWlsZE9yVXBkYXRlRWxlbWVudHMoKTsKCQkJfSwgbWUpOwoKCQkJbWUudXBkYXRlTGF5b3V0KCk7CgoJCQkvLyBDYW4gb25seSByZXNldCB0aGUgbmV3IGNvbnRyb2xsZXJzIGFmdGVyIHRoZSBzY2FsZXMgaGF2ZSBiZWVuIHVwZGF0ZWQKCQkJaWYgKG1lLm9wdGlvbnMuYW5pbWF0aW9uICYmIG1lLm9wdGlvbnMuYW5pbWF0aW9uLmR1cmF0aW9uKSB7CgkJCQloZWxwZXJzLmVhY2gobmV3Q29udHJvbGxlcnMsIGZ1bmN0aW9uKGNvbnRyb2xsZXIpIHsKCQkJCQljb250cm9sbGVyLnJlc2V0KCk7CgkJCQl9KTsKCQkJfQoKCQkJbWUudXBkYXRlRGF0YXNldHMoKTsKCgkJCS8vIE5lZWQgdG8gcmVzZXQgdG9vbHRpcCBpbiBjYXNlIGl0IGlzIGRpc3BsYXllZCB3aXRoIGVsZW1lbnRzIHRoYXQgYXJlIHJlbW92ZWQKCQkJLy8gYWZ0ZXIgdXBkYXRlLgoJCQltZS50b29sdGlwLmluaXRpYWxpemUoKTsKCgkJCS8vIExhc3QgYWN0aXZlIGNvbnRhaW5zIGl0ZW1zIHRoYXQgd2VyZSBwcmV2aW91c2x5IGluIHRoZSB0b29sdGlwLgoJCQkvLyBXaGVuIHdlIHJlc2V0IHRoZSB0b29sdGlwLCB3ZSBuZWVkIHRvIGNsZWFyIGl0CgkJCW1lLmxhc3RBY3RpdmUgPSBbXTsKCgkJCS8vIERvIHRoaXMgYmVmb3JlIHJlbmRlciBzbyB0aGF0IGFueSBwbHVnaW5zIHRoYXQgbmVlZCBmaW5hbCBzY2FsZSB1cGRhdGVzIGNhbiB1c2UgaXQKCQkJcGx1Z2lucy5ub3RpZnkobWUsICdhZnRlclVwZGF0ZScpOwoKCQkJaWYgKG1lLl9idWZmZXJlZFJlbmRlcikgewoJCQkJbWUuX2J1ZmZlcmVkUmVxdWVzdCA9IHsKCQkJCQlkdXJhdGlvbjogY29uZmlnLmR1cmF0aW9uLAoJCQkJCWVhc2luZzogY29uZmlnLmVhc2luZywKCQkJCQlsYXp5OiBjb25maWcubGF6eQoJCQkJfTsKCQkJfSBlbHNlIHsKCQkJCW1lLnJlbmRlcihjb25maWcpOwoJCQl9CgkJfSwKCgkJLyoqCgkJICogVXBkYXRlcyB0aGUgY2hhcnQgbGF5b3V0IHVubGVzcyBhIHBsdWdpbiByZXR1cm5zIGBmYWxzZWAgdG8gdGhlIGBiZWZvcmVMYXlvdXRgCgkJICogaG9vaywgaW4gd2hpY2ggY2FzZSwgcGx1Z2lucyB3aWxsIG5vdCBiZSBjYWxsZWQgb24gYGFmdGVyTGF5b3V0YC4KCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXVwZGF0ZUxheW91dDogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgoJCQlpZiAocGx1Z2lucy5ub3RpZnkobWUsICdiZWZvcmVMYXlvdXQnKSA9PT0gZmFsc2UpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJbGF5b3V0cy51cGRhdGUodGhpcywgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpOwoKCQkJLyoqCgkJCSAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB1c2UgYGFmdGVyTGF5b3V0YCBpbnN0ZWFkLgoJCQkgKiBAbWV0aG9kIElQbHVnaW4jYWZ0ZXJTY2FsZVVwZGF0ZQoJCQkgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNS4wCgkJCSAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKCQkJICogQHByaXZhdGUKCQkJICovCgkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJTY2FsZVVwZGF0ZScpOwoJCQlwbHVnaW5zLm5vdGlmeShtZSwgJ2FmdGVyTGF5b3V0Jyk7CgkJfSwKCgkJLyoqCgkJICogVXBkYXRlcyBhbGwgZGF0YXNldHMgdW5sZXNzIGEgcGx1Z2luIHJldHVybnMgYGZhbHNlYCB0byB0aGUgYGJlZm9yZURhdGFzZXRzVXBkYXRlYAoJCSAqIGhvb2ssIGluIHdoaWNoIGNhc2UsIHBsdWdpbnMgd2lsbCBub3QgYmUgY2FsbGVkIG9uIGBhZnRlckRhdGFzZXRzVXBkYXRlYC4KCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXVwZGF0ZURhdGFzZXRzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZURhdGFzZXRzVXBkYXRlJykgPT09IGZhbHNlKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWZvciAodmFyIGkgPSAwLCBpbGVuID0gbWUuZGF0YS5kYXRhc2V0cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCW1lLnVwZGF0ZURhdGFzZXQoaSk7CgkJCX0KCgkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJEYXRhc2V0c1VwZGF0ZScpOwoJCX0sCgoJCS8qKgoJCSAqIFVwZGF0ZXMgZGF0YXNldCBhdCBpbmRleCB1bmxlc3MgYSBwbHVnaW4gcmV0dXJucyBgZmFsc2VgIHRvIHRoZSBgYmVmb3JlRGF0YXNldFVwZGF0ZWAKCQkgKiBob29rLCBpbiB3aGljaCBjYXNlLCBwbHVnaW5zIHdpbGwgbm90IGJlIGNhbGxlZCBvbiBgYWZ0ZXJEYXRhc2V0VXBkYXRlYC4KCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXVwZGF0ZURhdGFzZXQ6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtZXRhID0gbWUuZ2V0RGF0YXNldE1ldGEoaW5kZXgpOwoJCQl2YXIgYXJncyA9IHsKCQkJCW1ldGE6IG1ldGEsCgkJCQlpbmRleDogaW5kZXgKCQkJfTsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZURhdGFzZXRVcGRhdGUnLCBbYXJnc10pID09PSBmYWxzZSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQltZXRhLmNvbnRyb2xsZXIudXBkYXRlKCk7CgoJCQlwbHVnaW5zLm5vdGlmeShtZSwgJ2FmdGVyRGF0YXNldFVwZGF0ZScsIFthcmdzXSk7CgkJfSwKCgkJcmVuZGVyOiBmdW5jdGlvbihjb25maWcpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCWlmICghY29uZmlnIHx8IHR5cGVvZiBjb25maWcgIT09ICdvYmplY3QnKSB7CgkJCQkvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQkJY29uZmlnID0gewoJCQkJCWR1cmF0aW9uOiBjb25maWcsCgkJCQkJbGF6eTogYXJndW1lbnRzWzFdCgkJCQl9OwoJCQl9CgoJCQl2YXIgZHVyYXRpb24gPSBjb25maWcuZHVyYXRpb247CgkJCXZhciBsYXp5ID0gY29uZmlnLmxhenk7CgoJCQlpZiAocGx1Z2lucy5ub3RpZnkobWUsICdiZWZvcmVSZW5kZXInKSA9PT0gZmFsc2UpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJdmFyIGFuaW1hdGlvbk9wdGlvbnMgPSBtZS5vcHRpb25zLmFuaW1hdGlvbjsKCQkJdmFyIG9uQ29tcGxldGUgPSBmdW5jdGlvbihhbmltYXRpb24pIHsKCQkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJSZW5kZXInKTsKCQkJCWhlbHBlcnMuY2FsbGJhY2soYW5pbWF0aW9uT3B0aW9ucyAmJiBhbmltYXRpb25PcHRpb25zLm9uQ29tcGxldGUsIFthbmltYXRpb25dLCBtZSk7CgkJCX07CgoJCQlpZiAoYW5pbWF0aW9uT3B0aW9ucyAmJiAoKHR5cGVvZiBkdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgZHVyYXRpb24gIT09IDApIHx8ICh0eXBlb2YgZHVyYXRpb24gPT09ICd1bmRlZmluZWQnICYmIGFuaW1hdGlvbk9wdGlvbnMuZHVyYXRpb24gIT09IDApKSkgewoJCQkJdmFyIGFuaW1hdGlvbiA9IG5ldyBDaGFydC5BbmltYXRpb24oewoJCQkJCW51bVN0ZXBzOiAoZHVyYXRpb24gfHwgYW5pbWF0aW9uT3B0aW9ucy5kdXJhdGlvbikgLyAxNi42NiwgLy8gNjAgZnBzCgkJCQkJZWFzaW5nOiBjb25maWcuZWFzaW5nIHx8IGFuaW1hdGlvbk9wdGlvbnMuZWFzaW5nLAoKCQkJCQlyZW5kZXI6IGZ1bmN0aW9uKGNoYXJ0LCBhbmltYXRpb25PYmplY3QpIHsKCQkJCQkJdmFyIGVhc2luZ0Z1bmN0aW9uID0gaGVscGVycy5lYXNpbmcuZWZmZWN0c1thbmltYXRpb25PYmplY3QuZWFzaW5nXTsKCQkJCQkJdmFyIGN1cnJlbnRTdGVwID0gYW5pbWF0aW9uT2JqZWN0LmN1cnJlbnRTdGVwOwoJCQkJCQl2YXIgc3RlcERlY2ltYWwgPSBjdXJyZW50U3RlcCAvIGFuaW1hdGlvbk9iamVjdC5udW1TdGVwczsKCgkJCQkJCWNoYXJ0LmRyYXcoZWFzaW5nRnVuY3Rpb24oc3RlcERlY2ltYWwpLCBzdGVwRGVjaW1hbCwgY3VycmVudFN0ZXApOwoJCQkJCX0sCgoJCQkJCW9uQW5pbWF0aW9uUHJvZ3Jlc3M6IGFuaW1hdGlvbk9wdGlvbnMub25Qcm9ncmVzcywKCQkJCQlvbkFuaW1hdGlvbkNvbXBsZXRlOiBvbkNvbXBsZXRlCgkJCQl9KTsKCgkJCQlDaGFydC5hbmltYXRpb25TZXJ2aWNlLmFkZEFuaW1hdGlvbihtZSwgYW5pbWF0aW9uLCBkdXJhdGlvbiwgbGF6eSk7CgkJCX0gZWxzZSB7CgkJCQltZS5kcmF3KCk7CgoJCQkJLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL2lzc3Vlcy8zNzgxCgkJCQlvbkNvbXBsZXRlKG5ldyBDaGFydC5BbmltYXRpb24oe251bVN0ZXBzOiAwLCBjaGFydDogbWV9KSk7CgkJCX0KCgkJCXJldHVybiBtZTsKCQl9LAoKCQlkcmF3OiBmdW5jdGlvbihlYXNpbmdWYWx1ZSkgewoJCQl2YXIgbWUgPSB0aGlzOwoKCQkJbWUuY2xlYXIoKTsKCgkJCWlmIChoZWxwZXJzLmlzTnVsbE9yVW5kZWYoZWFzaW5nVmFsdWUpKSB7CgkJCQllYXNpbmdWYWx1ZSA9IDE7CgkJCX0KCgkJCW1lLnRyYW5zaXRpb24oZWFzaW5nVmFsdWUpOwoKCQkJaWYgKHBsdWdpbnMubm90aWZ5KG1lLCAnYmVmb3JlRHJhdycsIFtlYXNpbmdWYWx1ZV0pID09PSBmYWxzZSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBEcmF3IGFsbCB0aGUgc2NhbGVzCgkJCWhlbHBlcnMuZWFjaChtZS5ib3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCQlib3guZHJhdyhtZS5jaGFydEFyZWEpOwoJCQl9LCBtZSk7CgoJCQlpZiAobWUuc2NhbGUpIHsKCQkJCW1lLnNjYWxlLmRyYXcoKTsKCQkJfQoKCQkJbWUuZHJhd0RhdGFzZXRzKGVhc2luZ1ZhbHVlKTsKCQkJbWUuX2RyYXdUb29sdGlwKGVhc2luZ1ZhbHVlKTsKCgkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJEcmF3JywgW2Vhc2luZ1ZhbHVlXSk7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQl0cmFuc2l0aW9uOiBmdW5jdGlvbihlYXNpbmdWYWx1ZSkgewoJCQl2YXIgbWUgPSB0aGlzOwoKCQkJZm9yICh2YXIgaSA9IDAsIGlsZW4gPSAobWUuZGF0YS5kYXRhc2V0cyB8fCBbXSkubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlpZiAobWUuaXNEYXRhc2V0VmlzaWJsZShpKSkgewoJCQkJCW1lLmdldERhdGFzZXRNZXRhKGkpLmNvbnRyb2xsZXIudHJhbnNpdGlvbihlYXNpbmdWYWx1ZSk7CgkJCQl9CgkJCX0KCgkJCW1lLnRvb2x0aXAudHJhbnNpdGlvbihlYXNpbmdWYWx1ZSk7CgkJfSwKCgkJLyoqCgkJICogRHJhd3MgYWxsIGRhdGFzZXRzIHVubGVzcyBhIHBsdWdpbiByZXR1cm5zIGBmYWxzZWAgdG8gdGhlIGBiZWZvcmVEYXRhc2V0c0RyYXdgCgkJICogaG9vaywgaW4gd2hpY2ggY2FzZSwgcGx1Z2lucyB3aWxsIG5vdCBiZSBjYWxsZWQgb24gYGFmdGVyRGF0YXNldHNEcmF3YC4KCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWRyYXdEYXRhc2V0czogZnVuY3Rpb24oZWFzaW5nVmFsdWUpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZURhdGFzZXRzRHJhdycsIFtlYXNpbmdWYWx1ZV0pID09PSBmYWxzZSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBEcmF3IGRhdGFzZXRzIHJldmVyc2VkIHRvIHN1cHBvcnQgcHJvcGVyIGxpbmUgc3RhY2tpbmcKCQkJZm9yICh2YXIgaSA9IChtZS5kYXRhLmRhdGFzZXRzIHx8IFtdKS5sZW5ndGggLSAxOyBpID49IDA7IC0taSkgewoJCQkJaWYgKG1lLmlzRGF0YXNldFZpc2libGUoaSkpIHsKCQkJCQltZS5kcmF3RGF0YXNldChpLCBlYXNpbmdWYWx1ZSk7CgkJCQl9CgkJCX0KCgkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJEYXRhc2V0c0RyYXcnLCBbZWFzaW5nVmFsdWVdKTsKCQl9LAoKCQkvKioKCQkgKiBEcmF3cyBkYXRhc2V0IGF0IGluZGV4IHVubGVzcyBhIHBsdWdpbiByZXR1cm5zIGBmYWxzZWAgdG8gdGhlIGBiZWZvcmVEYXRhc2V0RHJhd2AKCQkgKiBob29rLCBpbiB3aGljaCBjYXNlLCBwbHVnaW5zIHdpbGwgbm90IGJlIGNhbGxlZCBvbiBgYWZ0ZXJEYXRhc2V0RHJhd2AuCgkJICogQHByaXZhdGUKCQkgKi8KCQlkcmF3RGF0YXNldDogZnVuY3Rpb24oaW5kZXgsIGVhc2luZ1ZhbHVlKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtZXRhID0gbWUuZ2V0RGF0YXNldE1ldGEoaW5kZXgpOwoJCQl2YXIgYXJncyA9IHsKCQkJCW1ldGE6IG1ldGEsCgkJCQlpbmRleDogaW5kZXgsCgkJCQllYXNpbmdWYWx1ZTogZWFzaW5nVmFsdWUKCQkJfTsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZURhdGFzZXREcmF3JywgW2FyZ3NdKSA9PT0gZmFsc2UpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJbWV0YS5jb250cm9sbGVyLmRyYXcoZWFzaW5nVmFsdWUpOwoKCQkJcGx1Z2lucy5ub3RpZnkobWUsICdhZnRlckRhdGFzZXREcmF3JywgW2FyZ3NdKTsKCQl9LAoKCQkvKioKCQkgKiBEcmF3cyB0b29sdGlwIHVubGVzcyBhIHBsdWdpbiByZXR1cm5zIGBmYWxzZWAgdG8gdGhlIGBiZWZvcmVUb29sdGlwRHJhd2AKCQkgKiBob29rLCBpbiB3aGljaCBjYXNlLCBwbHVnaW5zIHdpbGwgbm90IGJlIGNhbGxlZCBvbiBgYWZ0ZXJUb29sdGlwRHJhd2AuCgkJICogQHByaXZhdGUKCQkgKi8KCQlfZHJhd1Rvb2x0aXA6IGZ1bmN0aW9uKGVhc2luZ1ZhbHVlKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciB0b29sdGlwID0gbWUudG9vbHRpcDsKCQkJdmFyIGFyZ3MgPSB7CgkJCQl0b29sdGlwOiB0b29sdGlwLAoJCQkJZWFzaW5nVmFsdWU6IGVhc2luZ1ZhbHVlCgkJCX07CgoJCQlpZiAocGx1Z2lucy5ub3RpZnkobWUsICdiZWZvcmVUb29sdGlwRHJhdycsIFthcmdzXSkgPT09IGZhbHNlKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXRvb2x0aXAuZHJhdygpOwoKCQkJcGx1Z2lucy5ub3RpZnkobWUsICdhZnRlclRvb2x0aXBEcmF3JywgW2FyZ3NdKTsKCQl9LAoKCQkvLyBHZXQgdGhlIHNpbmdsZSBlbGVtZW50IHRoYXQgd2FzIGNsaWNrZWQgb24KCQkvLyBAcmV0dXJuIDogQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGRhdGFzZXQgaW5kZXggYW5kIGVsZW1lbnQgaW5kZXggb2YgdGhlIG1hdGNoaW5nIGVsZW1lbnQuIEFsc28gY29udGFpbnMgdGhlIHJlY3RhbmdsZSB0aGF0IHdhcyBkcmF3CgkJZ2V0RWxlbWVudEF0RXZlbnQ6IGZ1bmN0aW9uKGUpIHsKCQkJcmV0dXJuIEludGVyYWN0aW9uLm1vZGVzLnNpbmdsZSh0aGlzLCBlKTsKCQl9LAoKCQlnZXRFbGVtZW50c0F0RXZlbnQ6IGZ1bmN0aW9uKGUpIHsKCQkJcmV0dXJuIEludGVyYWN0aW9uLm1vZGVzLmxhYmVsKHRoaXMsIGUsIHtpbnRlcnNlY3Q6IHRydWV9KTsKCQl9LAoKCQlnZXRFbGVtZW50c0F0WEF4aXM6IGZ1bmN0aW9uKGUpIHsKCQkJcmV0dXJuIEludGVyYWN0aW9uLm1vZGVzWyd4LWF4aXMnXSh0aGlzLCBlLCB7aW50ZXJzZWN0OiB0cnVlfSk7CgkJfSwKCgkJZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZTogZnVuY3Rpb24oZSwgbW9kZSwgb3B0aW9ucykgewoJCQl2YXIgbWV0aG9kID0gSW50ZXJhY3Rpb24ubW9kZXNbbW9kZV07CgkJCWlmICh0eXBlb2YgbWV0aG9kID09PSAnZnVuY3Rpb24nKSB7CgkJCQlyZXR1cm4gbWV0aG9kKHRoaXMsIGUsIG9wdGlvbnMpOwoJCQl9CgoJCQlyZXR1cm4gW107CgkJfSwKCgkJZ2V0RGF0YXNldEF0RXZlbnQ6IGZ1bmN0aW9uKGUpIHsKCQkJcmV0dXJuIEludGVyYWN0aW9uLm1vZGVzLmRhdGFzZXQodGhpcywgZSwge2ludGVyc2VjdDogdHJ1ZX0pOwoJCX0sCgoJCWdldERhdGFzZXRNZXRhOiBmdW5jdGlvbihkYXRhc2V0SW5kZXgpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGRhdGFzZXQgPSBtZS5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF07CgkJCWlmICghZGF0YXNldC5fbWV0YSkgewoJCQkJZGF0YXNldC5fbWV0YSA9IHt9OwoJCQl9CgoJCQl2YXIgbWV0YSA9IGRhdGFzZXQuX21ldGFbbWUuaWRdOwoJCQlpZiAoIW1ldGEpIHsKCQkJCW1ldGEgPSBkYXRhc2V0Ll9tZXRhW21lLmlkXSA9IHsKCQkJCQl0eXBlOiBudWxsLAoJCQkJCWRhdGE6IFtdLAoJCQkJCWRhdGFzZXQ6IG51bGwsCgkJCQkJY29udHJvbGxlcjogbnVsbCwKCQkJCQloaWRkZW46IG51bGwsCQkJLy8gU2VlIGlzRGF0YXNldFZpc2libGUoKSBjb21tZW50CgkJCQkJeEF4aXNJRDogbnVsbCwKCQkJCQl5QXhpc0lEOiBudWxsCgkJCQl9OwoJCQl9CgoJCQlyZXR1cm4gbWV0YTsKCQl9LAoKCQlnZXRWaXNpYmxlRGF0YXNldENvdW50OiBmdW5jdGlvbigpIHsKCQkJdmFyIGNvdW50ID0gMDsKCQkJZm9yICh2YXIgaSA9IDAsIGlsZW4gPSB0aGlzLmRhdGEuZGF0YXNldHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlpZiAodGhpcy5pc0RhdGFzZXRWaXNpYmxlKGkpKSB7CgkJCQkJY291bnQrKzsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gY291bnQ7CgkJfSwKCgkJaXNEYXRhc2V0VmlzaWJsZTogZnVuY3Rpb24oZGF0YXNldEluZGV4KSB7CgkJCXZhciBtZXRhID0gdGhpcy5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoKCQkJLy8gbWV0YS5oaWRkZW4gaXMgYSBwZXIgY2hhcnQgZGF0YXNldCBoaWRkZW4gZmxhZyBvdmVycmlkZSB3aXRoIDMgc3RhdGVzOiBpZiB0cnVlIG9yIGZhbHNlLAoJCQkvLyB0aGUgZGF0YXNldC5oaWRkZW4gdmFsdWUgaXMgaWdub3JlZCwgZWxzZSBpZiBudWxsLCB0aGUgZGF0YXNldCBoaWRkZW4gc3RhdGUgaXMgcmV0dXJuZWQuCgkJCXJldHVybiB0eXBlb2YgbWV0YS5oaWRkZW4gPT09ICdib29sZWFuJyA/ICFtZXRhLmhpZGRlbiA6ICF0aGlzLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5oaWRkZW47CgkJfSwKCgkJZ2VuZXJhdGVMZWdlbmQ6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5vcHRpb25zLmxlZ2VuZENhbGxiYWNrKHRoaXMpOwoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJZGVzdHJveURhdGFzZXRNZXRhOiBmdW5jdGlvbihkYXRhc2V0SW5kZXgpIHsKCQkJdmFyIGlkID0gdGhpcy5pZDsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XTsKCQkJdmFyIG1ldGEgPSBkYXRhc2V0Ll9tZXRhICYmIGRhdGFzZXQuX21ldGFbaWRdOwoKCQkJaWYgKG1ldGEpIHsKCQkJCW1ldGEuY29udHJvbGxlci5kZXN0cm95KCk7CgkJCQlkZWxldGUgZGF0YXNldC5fbWV0YVtpZF07CgkJCX0KCQl9LAoKCQlkZXN0cm95OiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNhbnZhcyA9IG1lLmNhbnZhczsKCQkJdmFyIGksIGlsZW47CgoJCQltZS5zdG9wKCk7CgoJCQkvLyBkYXRhc2V0IGNvbnRyb2xsZXJzIG5lZWQgdG8gY2xlYW51cCBhc3NvY2lhdGVkIGRhdGEKCQkJZm9yIChpID0gMCwgaWxlbiA9IG1lLmRhdGEuZGF0YXNldHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQltZS5kZXN0cm95RGF0YXNldE1ldGEoaSk7CgkJCX0KCgkJCWlmIChjYW52YXMpIHsKCQkJCW1lLnVuYmluZEV2ZW50cygpOwoJCQkJaGVscGVycy5jYW52YXMuY2xlYXIobWUpOwoJCQkJcGxhdGZvcm0ucmVsZWFzZUNvbnRleHQobWUuY3R4KTsKCQkJCW1lLmNhbnZhcyA9IG51bGw7CgkJCQltZS5jdHggPSBudWxsOwoJCQl9CgoJCQlwbHVnaW5zLm5vdGlmeShtZSwgJ2Rlc3Ryb3knKTsKCgkJCWRlbGV0ZSBDaGFydC5pbnN0YW5jZXNbbWUuaWRdOwoJCX0sCgoJCXRvQmFzZTY0SW1hZ2U6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5jYW52YXMudG9EYXRhVVJMLmFwcGx5KHRoaXMuY2FudmFzLCBhcmd1bWVudHMpOwoJCX0sCgoJCWluaXRUb29sVGlwOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJbWUudG9vbHRpcCA9IG5ldyBDaGFydC5Ub29sdGlwKHsKCQkJCV9jaGFydDogbWUsCgkJCQlfY2hhcnRJbnN0YW5jZTogbWUsIC8vIGRlcHJlY2F0ZWQsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKCQkJCV9kYXRhOiBtZS5kYXRhLAoJCQkJX29wdGlvbnM6IG1lLm9wdGlvbnMudG9vbHRpcHMKCQkJfSwgbWUpOwoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJYmluZEV2ZW50czogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBsaXN0ZW5lcnMgPSBtZS5fbGlzdGVuZXJzID0ge307CgkJCXZhciBsaXN0ZW5lciA9IGZ1bmN0aW9uKCkgewoJCQkJbWUuZXZlbnRIYW5kbGVyLmFwcGx5KG1lLCBhcmd1bWVudHMpOwoJCQl9OwoKCQkJaGVscGVycy5lYWNoKG1lLm9wdGlvbnMuZXZlbnRzLCBmdW5jdGlvbih0eXBlKSB7CgkJCQlwbGF0Zm9ybS5hZGRFdmVudExpc3RlbmVyKG1lLCB0eXBlLCBsaXN0ZW5lcik7CgkJCQlsaXN0ZW5lcnNbdHlwZV0gPSBsaXN0ZW5lcjsKCQkJfSk7CgoJCQkvLyBFbGVtZW50cyB1c2VkIHRvIGRldGVjdCBzaXplIGNoYW5nZSBzaG91bGQgbm90IGJlIGluamVjdGVkIGZvciBub24gcmVzcG9uc2l2ZSBjaGFydHMuCgkJCS8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9pc3N1ZXMvMjIxMAoJCQlpZiAobWUub3B0aW9ucy5yZXNwb25zaXZlKSB7CgkJCQlsaXN0ZW5lciA9IGZ1bmN0aW9uKCkgewoJCQkJCW1lLnJlc2l6ZSgpOwoJCQkJfTsKCgkJCQlwbGF0Zm9ybS5hZGRFdmVudExpc3RlbmVyKG1lLCAncmVzaXplJywgbGlzdGVuZXIpOwoJCQkJbGlzdGVuZXJzLnJlc2l6ZSA9IGxpc3RlbmVyOwoJCQl9CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQl1bmJpbmRFdmVudHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbGlzdGVuZXJzID0gbWUuX2xpc3RlbmVyczsKCQkJaWYgKCFsaXN0ZW5lcnMpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJZGVsZXRlIG1lLl9saXN0ZW5lcnM7CgkJCWhlbHBlcnMuZWFjaChsaXN0ZW5lcnMsIGZ1bmN0aW9uKGxpc3RlbmVyLCB0eXBlKSB7CgkJCQlwbGF0Zm9ybS5yZW1vdmVFdmVudExpc3RlbmVyKG1lLCB0eXBlLCBsaXN0ZW5lcik7CgkJCX0pOwoJCX0sCgoJCXVwZGF0ZUhvdmVyU3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnRzLCBtb2RlLCBlbmFibGVkKSB7CgkJCXZhciBtZXRob2QgPSBlbmFibGVkID8gJ3NldEhvdmVyU3R5bGUnIDogJ3JlbW92ZUhvdmVyU3R5bGUnOwoJCQl2YXIgZWxlbWVudCwgaSwgaWxlbjsKCgkJCWZvciAoaSA9IDAsIGlsZW4gPSBlbGVtZW50cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCWVsZW1lbnQgPSBlbGVtZW50c1tpXTsKCQkJCWlmIChlbGVtZW50KSB7CgkJCQkJdGhpcy5nZXREYXRhc2V0TWV0YShlbGVtZW50Ll9kYXRhc2V0SW5kZXgpLmNvbnRyb2xsZXJbbWV0aG9kXShlbGVtZW50KTsKCQkJCX0KCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJZXZlbnRIYW5kbGVyOiBmdW5jdGlvbihlKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciB0b29sdGlwID0gbWUudG9vbHRpcDsKCgkJCWlmIChwbHVnaW5zLm5vdGlmeShtZSwgJ2JlZm9yZUV2ZW50JywgW2VdKSA9PT0gZmFsc2UpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gQnVmZmVyIGFueSB1cGRhdGUgY2FsbHMgc28gdGhhdCByZW5kZXJzIGRvIG5vdCBvY2N1cgoJCQltZS5fYnVmZmVyZWRSZW5kZXIgPSB0cnVlOwoJCQltZS5fYnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDsKCgkJCXZhciBjaGFuZ2VkID0gbWUuaGFuZGxlRXZlbnQoZSk7CgkJCS8vIGZvciBzbW9vdGggdG9vbHRpcCBhbmltYXRpb25zIGlzc3VlICM0OTg5CgkJCS8vIHRoZSB0b29sdGlwIHNob3VsZCBiZSB0aGUgc291cmNlIG9mIGNoYW5nZQoJCQkvLyBBbmltYXRpb24gY2hlY2sgd29ya2Fyb3VuZDoKCQkJLy8gdG9vbHRpcC5fc3RhcnQgd2lsbCBiZSBudWxsIHdoZW4gdG9vbHRpcCBpc24ndCBhbmltYXRpbmcKCQkJaWYgKHRvb2x0aXApIHsKCQkJCWNoYW5nZWQgPSB0b29sdGlwLl9zdGFydAoJCQkJCT8gdG9vbHRpcC5oYW5kbGVFdmVudChlKQoJCQkJCTogY2hhbmdlZCB8IHRvb2x0aXAuaGFuZGxlRXZlbnQoZSk7CgkJCX0KCgkJCXBsdWdpbnMubm90aWZ5KG1lLCAnYWZ0ZXJFdmVudCcsIFtlXSk7CgoJCQl2YXIgYnVmZmVyZWRSZXF1ZXN0ID0gbWUuX2J1ZmZlcmVkUmVxdWVzdDsKCQkJaWYgKGJ1ZmZlcmVkUmVxdWVzdCkgewoJCQkJLy8gSWYgd2UgaGF2ZSBhbiB1cGRhdGUgdGhhdCB3YXMgdHJpZ2dlcmVkLCB3ZSBuZWVkIHRvIGRvIGEgbm9ybWFsIHJlbmRlcgoJCQkJbWUucmVuZGVyKGJ1ZmZlcmVkUmVxdWVzdCk7CgkJCX0gZWxzZSBpZiAoY2hhbmdlZCAmJiAhbWUuYW5pbWF0aW5nKSB7CgkJCQkvLyBJZiBlbnRlcmluZywgbGVhdmluZywgb3IgY2hhbmdpbmcgZWxlbWVudHMsIGFuaW1hdGUgdGhlIGNoYW5nZSB2aWEgcGl2b3QKCQkJCW1lLnN0b3AoKTsKCgkJCQkvLyBXZSBvbmx5IG5lZWQgdG8gcmVuZGVyIGF0IHRoaXMgcG9pbnQuIFVwZGF0aW5nIHdpbGwgY2F1c2Ugc2NhbGVzIHRvIGJlCgkJCQkvLyByZWNvbXB1dGVkIGdlbmVyYXRpbmcgZmxpY2tlciAmIHVzaW5nIG1vcmUgbWVtb3J5IHRoYW4gbmVjZXNzYXJ5LgoJCQkJbWUucmVuZGVyKG1lLm9wdGlvbnMuaG92ZXIuYW5pbWF0aW9uRHVyYXRpb24sIHRydWUpOwoJCQl9CgoJCQltZS5fYnVmZmVyZWRSZW5kZXIgPSBmYWxzZTsKCQkJbWUuX2J1ZmZlcmVkUmVxdWVzdCA9IG51bGw7CgoJCQlyZXR1cm4gbWU7CgkJfSwKCgkJLyoqCgkJICogSGFuZGxlIGFuIGV2ZW50CgkJICogQHByaXZhdGUKCQkgKiBAcGFyYW0ge0lFdmVudH0gZXZlbnQgdGhlIGV2ZW50IHRvIGhhbmRsZQoJCSAqIEByZXR1cm4ge0Jvb2xlYW59IHRydWUgaWYgdGhlIGNoYXJ0IG5lZWRzIHRvIHJlLXJlbmRlcgoJCSAqLwoJCWhhbmRsZUV2ZW50OiBmdW5jdGlvbihlKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBvcHRpb25zID0gbWUub3B0aW9ucyB8fCB7fTsKCQkJdmFyIGhvdmVyT3B0aW9ucyA9IG9wdGlvbnMuaG92ZXI7CgkJCXZhciBjaGFuZ2VkID0gZmFsc2U7CgoJCQltZS5sYXN0QWN0aXZlID0gbWUubGFzdEFjdGl2ZSB8fCBbXTsKCgkJCS8vIEZpbmQgQWN0aXZlIEVsZW1lbnRzIGZvciBob3ZlciBhbmQgdG9vbHRpcHMKCQkJaWYgKGUudHlwZSA9PT0gJ21vdXNlb3V0JykgewoJCQkJbWUuYWN0aXZlID0gW107CgkJCX0gZWxzZSB7CgkJCQltZS5hY3RpdmUgPSBtZS5nZXRFbGVtZW50c0F0RXZlbnRGb3JNb2RlKGUsIGhvdmVyT3B0aW9ucy5tb2RlLCBob3Zlck9wdGlvbnMpOwoJCQl9CgoJCQkvLyBJbnZva2Ugb25Ib3ZlciBob29rCgkJCS8vIE5lZWQgdG8gY2FsbCB3aXRoIG5hdGl2ZSBldmVudCBoZXJlIHRvIG5vdCBicmVhayBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQloZWxwZXJzLmNhbGxiYWNrKG9wdGlvbnMub25Ib3ZlciB8fCBvcHRpb25zLmhvdmVyLm9uSG92ZXIsIFtlLm5hdGl2ZSwgbWUuYWN0aXZlXSwgbWUpOwoKCQkJaWYgKGUudHlwZSA9PT0gJ21vdXNldXAnIHx8IGUudHlwZSA9PT0gJ2NsaWNrJykgewoJCQkJaWYgKG9wdGlvbnMub25DbGljaykgewoJCQkJCS8vIFVzZSBlLm5hdGl2ZSBoZXJlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQkJCW9wdGlvbnMub25DbGljay5jYWxsKG1lLCBlLm5hdGl2ZSwgbWUuYWN0aXZlKTsKCQkJCX0KCQkJfQoKCQkJLy8gUmVtb3ZlIHN0eWxpbmcgZm9yIGxhc3QgYWN0aXZlIChldmVuIGlmIGl0IG1heSBzdGlsbCBiZSBhY3RpdmUpCgkJCWlmIChtZS5sYXN0QWN0aXZlLmxlbmd0aCkgewoJCQkJbWUudXBkYXRlSG92ZXJTdHlsZShtZS5sYXN0QWN0aXZlLCBob3Zlck9wdGlvbnMubW9kZSwgZmFsc2UpOwoJCQl9CgoJCQkvLyBCdWlsdCBpbiBob3ZlciBzdHlsaW5nCgkJCWlmIChtZS5hY3RpdmUubGVuZ3RoICYmIGhvdmVyT3B0aW9ucy5tb2RlKSB7CgkJCQltZS51cGRhdGVIb3ZlclN0eWxlKG1lLmFjdGl2ZSwgaG92ZXJPcHRpb25zLm1vZGUsIHRydWUpOwoJCQl9CgoJCQljaGFuZ2VkID0gIWhlbHBlcnMuYXJyYXlFcXVhbHMobWUuYWN0aXZlLCBtZS5sYXN0QWN0aXZlKTsKCgkJCS8vIFJlbWVtYmVyIExhc3QgQWN0aXZlcwoJCQltZS5sYXN0QWN0aXZlID0gbWUuYWN0aXZlOwoKCQkJcmV0dXJuIGNoYW5nZWQ7CgkJfQoJfSk7CgoJLyoqCgkgKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIENoYXJ0IGluc3RlYWQuCgkgKiBAY2xhc3MgQ2hhcnQuQ29udHJvbGxlcgoJICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjYuMAoJICogQHRvZG8gcmVtb3ZlIGF0IHZlcnNpb24gMwoJICogQHByaXZhdGUKCSAqLwoJQ2hhcnQuQ29udHJvbGxlciA9IENoYXJ0Owp9OwoKfSx7IjI1IjoyNSwiMjgiOjI4LCIzMCI6MzAsIjMxIjozMSwiNDUiOjQ1LCI0OCI6NDh9XSwyNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7Cgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJdmFyIGFycmF5RXZlbnRzID0gWydwdXNoJywgJ3BvcCcsICdzaGlmdCcsICdzcGxpY2UnLCAndW5zaGlmdCddOwoKCS8qKgoJICogSG9va3MgdGhlIGFycmF5IG1ldGhvZHMgdGhhdCBhZGQgb3IgcmVtb3ZlIHZhbHVlcyAoJ3B1c2gnLCBwb3AnLCAnc2hpZnQnLCAnc3BsaWNlJywKCSAqICd1bnNoaWZ0JykgYW5kIG5vdGlmeSB0aGUgbGlzdGVuZXIgQUZURVIgdGhlIGFycmF5IGhhcyBiZWVuIGFsdGVyZWQuIExpc3RlbmVycyBhcmUKCSAqIGNhbGxlZCBvbiB0aGUgJ29uRGF0YSonIGNhbGxiYWNrcyAoZS5nLiBvbkRhdGFQdXNoLCBldGMuKSB3aXRoIHNhbWUgYXJndW1lbnRzLgoJICovCglmdW5jdGlvbiBsaXN0ZW5BcnJheUV2ZW50cyhhcnJheSwgbGlzdGVuZXIpIHsKCQlpZiAoYXJyYXkuX2NoYXJ0anMpIHsKCQkJYXJyYXkuX2NoYXJ0anMubGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpOwoJCQlyZXR1cm47CgkJfQoKCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyYXksICdfY2hhcnRqcycsIHsKCQkJY29uZmlndXJhYmxlOiB0cnVlLAoJCQllbnVtZXJhYmxlOiBmYWxzZSwKCQkJdmFsdWU6IHsKCQkJCWxpc3RlbmVyczogW2xpc3RlbmVyXQoJCQl9CgkJfSk7CgoJCWFycmF5RXZlbnRzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CgkJCXZhciBtZXRob2QgPSAnb25EYXRhJyArIGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zbGljZSgxKTsKCQkJdmFyIGJhc2UgPSBhcnJheVtrZXldOwoKCQkJT2JqZWN0LmRlZmluZVByb3BlcnR5KGFycmF5LCBrZXksIHsKCQkJCWNvbmZpZ3VyYWJsZTogdHJ1ZSwKCQkJCWVudW1lcmFibGU6IGZhbHNlLAoJCQkJdmFsdWU6IGZ1bmN0aW9uKCkgewoJCQkJCXZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTsKCQkJCQl2YXIgcmVzID0gYmFzZS5hcHBseSh0aGlzLCBhcmdzKTsKCgkJCQkJaGVscGVycy5lYWNoKGFycmF5Ll9jaGFydGpzLmxpc3RlbmVycywgZnVuY3Rpb24ob2JqZWN0KSB7CgkJCQkJCWlmICh0eXBlb2Ygb2JqZWN0W21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHsKCQkJCQkJCW9iamVjdFttZXRob2RdLmFwcGx5KG9iamVjdCwgYXJncyk7CgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJcmV0dXJuIHJlczsKCQkJCX0KCQkJfSk7CgkJfSk7Cgl9CgoJLyoqCgkgKiBSZW1vdmVzIHRoZSBnaXZlbiBhcnJheSBldmVudCBsaXN0ZW5lciBhbmQgY2xlYW51cCBleHRyYSBhdHRhY2hlZCBwcm9wZXJ0aWVzIChzdWNoIGFzCgkgKiB0aGUgX2NoYXJ0anMgc3R1YiBhbmQgb3ZlcnJpZGRlbiBtZXRob2RzKSBpZiBhcnJheSBkb2Vzbid0IGhhdmUgYW55IG1vcmUgbGlzdGVuZXJzLgoJICovCglmdW5jdGlvbiB1bmxpc3RlbkFycmF5RXZlbnRzKGFycmF5LCBsaXN0ZW5lcikgewoJCXZhciBzdHViID0gYXJyYXkuX2NoYXJ0anM7CgkJaWYgKCFzdHViKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBsaXN0ZW5lcnMgPSBzdHViLmxpc3RlbmVyczsKCQl2YXIgaW5kZXggPSBsaXN0ZW5lcnMuaW5kZXhPZihsaXN0ZW5lcik7CgkJaWYgKGluZGV4ICE9PSAtMSkgewoJCQlsaXN0ZW5lcnMuc3BsaWNlKGluZGV4LCAxKTsKCQl9CgoJCWlmIChsaXN0ZW5lcnMubGVuZ3RoID4gMCkgewoJCQlyZXR1cm47CgkJfQoKCQlhcnJheUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkgewoJCQlkZWxldGUgYXJyYXlba2V5XTsKCQl9KTsKCgkJZGVsZXRlIGFycmF5Ll9jaGFydGpzOwoJfQoKCS8vIEJhc2UgY2xhc3MgZm9yIGFsbCBkYXRhc2V0IGNvbnRyb2xsZXJzIChsaW5lLCBiYXIsIGV0YykKCUNoYXJ0LkRhdGFzZXRDb250cm9sbGVyID0gZnVuY3Rpb24oY2hhcnQsIGRhdGFzZXRJbmRleCkgewoJCXRoaXMuaW5pdGlhbGl6ZShjaGFydCwgZGF0YXNldEluZGV4KTsKCX07CgoJaGVscGVycy5leHRlbmQoQ2hhcnQuRGF0YXNldENvbnRyb2xsZXIucHJvdG90eXBlLCB7CgoJCS8qKgoJCSAqIEVsZW1lbnQgdHlwZSB1c2VkIHRvIGdlbmVyYXRlIGEgbWV0YSBkYXRhc2V0IChlLmcuIENoYXJ0LmVsZW1lbnQuTGluZSkuCgkJICogQHR5cGUge0NoYXJ0LmNvcmUuZWxlbWVudH0KCQkgKi8KCQlkYXRhc2V0RWxlbWVudFR5cGU6IG51bGwsCgoJCS8qKgoJCSAqIEVsZW1lbnQgdHlwZSB1c2VkIHRvIGdlbmVyYXRlIGEgbWV0YSBkYXRhIChlLmcuIENoYXJ0LmVsZW1lbnQuUG9pbnQpLgoJCSAqIEB0eXBlIHtDaGFydC5jb3JlLmVsZW1lbnR9CgkJICovCgkJZGF0YUVsZW1lbnRUeXBlOiBudWxsLAoKCQlpbml0aWFsaXplOiBmdW5jdGlvbihjaGFydCwgZGF0YXNldEluZGV4KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCW1lLmNoYXJ0ID0gY2hhcnQ7CgkJCW1lLmluZGV4ID0gZGF0YXNldEluZGV4OwoJCQltZS5saW5rU2NhbGVzKCk7CgkJCW1lLmFkZEVsZW1lbnRzKCk7CgkJfSwKCgkJdXBkYXRlSW5kZXg6IGZ1bmN0aW9uKGRhdGFzZXRJbmRleCkgewoJCQl0aGlzLmluZGV4ID0gZGF0YXNldEluZGV4OwoJCX0sCgoJCWxpbmtTY2FsZXM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWV0YSA9IG1lLmdldE1ldGEoKTsKCQkJdmFyIGRhdGFzZXQgPSBtZS5nZXREYXRhc2V0KCk7CgoJCQlpZiAobWV0YS54QXhpc0lEID09PSBudWxsIHx8ICEobWV0YS54QXhpc0lEIGluIG1lLmNoYXJ0LnNjYWxlcykpIHsKCQkJCW1ldGEueEF4aXNJRCA9IGRhdGFzZXQueEF4aXNJRCB8fCBtZS5jaGFydC5vcHRpb25zLnNjYWxlcy54QXhlc1swXS5pZDsKCQkJfQoJCQlpZiAobWV0YS55QXhpc0lEID09PSBudWxsIHx8ICEobWV0YS55QXhpc0lEIGluIG1lLmNoYXJ0LnNjYWxlcykpIHsKCQkJCW1ldGEueUF4aXNJRCA9IGRhdGFzZXQueUF4aXNJRCB8fCBtZS5jaGFydC5vcHRpb25zLnNjYWxlcy55QXhlc1swXS5pZDsKCQkJfQoJCX0sCgoJCWdldERhdGFzZXQ6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW3RoaXMuaW5kZXhdOwoJCX0sCgoJCWdldE1ldGE6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5jaGFydC5nZXREYXRhc2V0TWV0YSh0aGlzLmluZGV4KTsKCQl9LAoKCQlnZXRTY2FsZUZvcklkOiBmdW5jdGlvbihzY2FsZUlEKSB7CgkJCXJldHVybiB0aGlzLmNoYXJ0LnNjYWxlc1tzY2FsZUlEXTsKCQl9LAoKCQlyZXNldDogZnVuY3Rpb24oKSB7CgkJCXRoaXMudXBkYXRlKHRydWUpOwoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJZGVzdHJveTogZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLl9kYXRhKSB7CgkJCQl1bmxpc3RlbkFycmF5RXZlbnRzKHRoaXMuX2RhdGEsIHRoaXMpOwoJCQl9CgkJfSwKCgkJY3JlYXRlTWV0YURhdGFzZXQ6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgdHlwZSA9IG1lLmRhdGFzZXRFbGVtZW50VHlwZTsKCQkJcmV0dXJuIHR5cGUgJiYgbmV3IHR5cGUoewoJCQkJX2NoYXJ0OiBtZS5jaGFydCwKCQkJCV9kYXRhc2V0SW5kZXg6IG1lLmluZGV4CgkJCX0pOwoJCX0sCgoJCWNyZWF0ZU1ldGFEYXRhOiBmdW5jdGlvbihpbmRleCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgdHlwZSA9IG1lLmRhdGFFbGVtZW50VHlwZTsKCQkJcmV0dXJuIHR5cGUgJiYgbmV3IHR5cGUoewoJCQkJX2NoYXJ0OiBtZS5jaGFydCwKCQkJCV9kYXRhc2V0SW5kZXg6IG1lLmluZGV4LAoJCQkJX2luZGV4OiBpbmRleAoJCQl9KTsKCQl9LAoKCQlhZGRFbGVtZW50czogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtZXRhID0gbWUuZ2V0TWV0YSgpOwoJCQl2YXIgZGF0YSA9IG1lLmdldERhdGFzZXQoKS5kYXRhIHx8IFtdOwoJCQl2YXIgbWV0YURhdGEgPSBtZXRhLmRhdGE7CgkJCXZhciBpLCBpbGVuOwoKCQkJZm9yIChpID0gMCwgaWxlbiA9IGRhdGEubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQltZXRhRGF0YVtpXSA9IG1ldGFEYXRhW2ldIHx8IG1lLmNyZWF0ZU1ldGFEYXRhKGkpOwoJCQl9CgoJCQltZXRhLmRhdGFzZXQgPSBtZXRhLmRhdGFzZXQgfHwgbWUuY3JlYXRlTWV0YURhdGFzZXQoKTsKCQl9LAoKCQlhZGRFbGVtZW50QW5kUmVzZXQ6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXZhciBlbGVtZW50ID0gdGhpcy5jcmVhdGVNZXRhRGF0YShpbmRleCk7CgkJCXRoaXMuZ2V0TWV0YSgpLmRhdGEuc3BsaWNlKGluZGV4LCAwLCBlbGVtZW50KTsKCQkJdGhpcy51cGRhdGVFbGVtZW50KGVsZW1lbnQsIGluZGV4LCB0cnVlKTsKCQl9LAoKCQlidWlsZE9yVXBkYXRlRWxlbWVudHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgZGF0YXNldCA9IG1lLmdldERhdGFzZXQoKTsKCQkJdmFyIGRhdGEgPSBkYXRhc2V0LmRhdGEgfHwgKGRhdGFzZXQuZGF0YSA9IFtdKTsKCgkJCS8vIEluIG9yZGVyIHRvIGNvcnJlY3RseSBoYW5kbGUgZGF0YSBhZGRpdGlvbi9kZWxldGlvbiBhbmltYXRpb24gKGFuIHRodXMgc2ltdWxhdGUKCQkJLy8gcmVhbC10aW1lIGNoYXJ0cyksIHdlIG5lZWQgdG8gbW9uaXRvciB0aGVzZSBkYXRhIG1vZGlmaWNhdGlvbnMgYW5kIHN5bmNocm9uaXplCgkJCS8vIHRoZSBpbnRlcm5hbCBtZXRhIGRhdGEgYWNjb3JkaW5nbHkuCgkJCWlmIChtZS5fZGF0YSAhPT0gZGF0YSkgewoJCQkJaWYgKG1lLl9kYXRhKSB7CgkJCQkJLy8gVGhpcyBjYXNlIGhhcHBlbnMgd2hlbiB0aGUgdXNlciByZXBsYWNlZCB0aGUgZGF0YSBhcnJheSBpbnN0YW5jZS4KCQkJCQl1bmxpc3RlbkFycmF5RXZlbnRzKG1lLl9kYXRhLCBtZSk7CgkJCQl9CgoJCQkJbGlzdGVuQXJyYXlFdmVudHMoZGF0YSwgbWUpOwoJCQkJbWUuX2RhdGEgPSBkYXRhOwoJCQl9CgoJCQkvLyBSZS1zeW5jIG1ldGEgZGF0YSBpbiBjYXNlIHRoZSB1c2VyIHJlcGxhY2VkIHRoZSBkYXRhIGFycmF5IG9yIGlmIHdlIG1pc3NlZAoJCQkvLyBhbnkgdXBkYXRlcyBhbmQgc28gbWFrZSBzdXJlIHRoYXQgd2UgaGFuZGxlIG51bWJlciBvZiBkYXRhcG9pbnRzIGNoYW5naW5nLgoJCQltZS5yZXN5bmNFbGVtZW50cygpOwoJCX0sCgoJCXVwZGF0ZTogaGVscGVycy5ub29wLAoKCQl0cmFuc2l0aW9uOiBmdW5jdGlvbihlYXNpbmdWYWx1ZSkgewoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOwoJCQl2YXIgZWxlbWVudHMgPSBtZXRhLmRhdGEgfHwgW107CgkJCXZhciBpbGVuID0gZWxlbWVudHMubGVuZ3RoOwoJCQl2YXIgaSA9IDA7CgoJCQlmb3IgKDsgaSA8IGlsZW47ICsraSkgewoJCQkJZWxlbWVudHNbaV0udHJhbnNpdGlvbihlYXNpbmdWYWx1ZSk7CgkJCX0KCgkJCWlmIChtZXRhLmRhdGFzZXQpIHsKCQkJCW1ldGEuZGF0YXNldC50cmFuc2l0aW9uKGVhc2luZ1ZhbHVlKTsKCQkJfQoJCX0sCgoJCWRyYXc6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWV0YSA9IHRoaXMuZ2V0TWV0YSgpOwoJCQl2YXIgZWxlbWVudHMgPSBtZXRhLmRhdGEgfHwgW107CgkJCXZhciBpbGVuID0gZWxlbWVudHMubGVuZ3RoOwoJCQl2YXIgaSA9IDA7CgoJCQlpZiAobWV0YS5kYXRhc2V0KSB7CgkJCQltZXRhLmRhdGFzZXQuZHJhdygpOwoJCQl9CgoJCQlmb3IgKDsgaSA8IGlsZW47ICsraSkgewoJCQkJZWxlbWVudHNbaV0uZHJhdygpOwoJCQl9CgkJfSwKCgkJcmVtb3ZlSG92ZXJTdHlsZTogZnVuY3Rpb24oZWxlbWVudCwgZWxlbWVudE9wdHMpIHsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZWxlbWVudC5fZGF0YXNldEluZGV4XTsKCQkJdmFyIGluZGV4ID0gZWxlbWVudC5faW5kZXg7CgkJCXZhciBjdXN0b20gPSBlbGVtZW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIHZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQ7CgkJCXZhciBtb2RlbCA9IGVsZW1lbnQuX21vZGVsOwoKCQkJbW9kZWwuYmFja2dyb3VuZENvbG9yID0gY3VzdG9tLmJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5iYWNrZ3JvdW5kQ29sb3IgOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmJhY2tncm91bmRDb2xvciwgaW5kZXgsIGVsZW1lbnRPcHRzLmJhY2tncm91bmRDb2xvcik7CgkJCW1vZGVsLmJvcmRlckNvbG9yID0gY3VzdG9tLmJvcmRlckNvbG9yID8gY3VzdG9tLmJvcmRlckNvbG9yIDogdmFsdWVPckRlZmF1bHQoZGF0YXNldC5ib3JkZXJDb2xvciwgaW5kZXgsIGVsZW1lbnRPcHRzLmJvcmRlckNvbG9yKTsKCQkJbW9kZWwuYm9yZGVyV2lkdGggPSBjdXN0b20uYm9yZGVyV2lkdGggPyBjdXN0b20uYm9yZGVyV2lkdGggOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmJvcmRlcldpZHRoLCBpbmRleCwgZWxlbWVudE9wdHMuYm9yZGVyV2lkdGgpOwoJCX0sCgoJCXNldEhvdmVyU3R5bGU6IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCQkJdmFyIGRhdGFzZXQgPSB0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZWxlbWVudC5fZGF0YXNldEluZGV4XTsKCQkJdmFyIGluZGV4ID0gZWxlbWVudC5faW5kZXg7CgkJCXZhciBjdXN0b20gPSBlbGVtZW50LmN1c3RvbSB8fCB7fTsKCQkJdmFyIHZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQ7CgkJCXZhciBnZXRIb3ZlckNvbG9yID0gaGVscGVycy5nZXRIb3ZlckNvbG9yOwoJCQl2YXIgbW9kZWwgPSBlbGVtZW50Ll9tb2RlbDsKCgkJCW1vZGVsLmJhY2tncm91bmRDb2xvciA9IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA/IGN1c3RvbS5ob3ZlckJhY2tncm91bmRDb2xvciA6IHZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCYWNrZ3JvdW5kQ29sb3IsIGluZGV4LCBnZXRIb3ZlckNvbG9yKG1vZGVsLmJhY2tncm91bmRDb2xvcikpOwoJCQltb2RlbC5ib3JkZXJDb2xvciA9IGN1c3RvbS5ob3ZlckJvcmRlckNvbG9yID8gY3VzdG9tLmhvdmVyQm9yZGVyQ29sb3IgOiB2YWx1ZU9yRGVmYXVsdChkYXRhc2V0LmhvdmVyQm9yZGVyQ29sb3IsIGluZGV4LCBnZXRIb3ZlckNvbG9yKG1vZGVsLmJvcmRlckNvbG9yKSk7CgkJCW1vZGVsLmJvcmRlcldpZHRoID0gY3VzdG9tLmhvdmVyQm9yZGVyV2lkdGggPyBjdXN0b20uaG92ZXJCb3JkZXJXaWR0aCA6IHZhbHVlT3JEZWZhdWx0KGRhdGFzZXQuaG92ZXJCb3JkZXJXaWR0aCwgaW5kZXgsIG1vZGVsLmJvcmRlcldpZHRoKTsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCXJlc3luY0VsZW1lbnRzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG1ldGEgPSBtZS5nZXRNZXRhKCk7CgkJCXZhciBkYXRhID0gbWUuZ2V0RGF0YXNldCgpLmRhdGE7CgkJCXZhciBudW1NZXRhID0gbWV0YS5kYXRhLmxlbmd0aDsKCQkJdmFyIG51bURhdGEgPSBkYXRhLmxlbmd0aDsKCgkJCWlmIChudW1EYXRhIDwgbnVtTWV0YSkgewoJCQkJbWV0YS5kYXRhLnNwbGljZShudW1EYXRhLCBudW1NZXRhIC0gbnVtRGF0YSk7CgkJCX0gZWxzZSBpZiAobnVtRGF0YSA+IG51bU1ldGEpIHsKCQkJCW1lLmluc2VydEVsZW1lbnRzKG51bU1ldGEsIG51bURhdGEgLSBudW1NZXRhKTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJaW5zZXJ0RWxlbWVudHM6IGZ1bmN0aW9uKHN0YXJ0LCBjb3VudCkgewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKCQkJCXRoaXMuYWRkRWxlbWVudEFuZFJlc2V0KHN0YXJ0ICsgaSk7CgkJCX0KCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCW9uRGF0YVB1c2g6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmluc2VydEVsZW1lbnRzKHRoaXMuZ2V0RGF0YXNldCgpLmRhdGEubGVuZ3RoIC0gMSwgYXJndW1lbnRzLmxlbmd0aCk7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlvbkRhdGFQb3A6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmdldE1ldGEoKS5kYXRhLnBvcCgpOwoJCX0sCgoJCS8qKgoJCSAqIEBwcml2YXRlCgkJICovCgkJb25EYXRhU2hpZnQ6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmdldE1ldGEoKS5kYXRhLnNoaWZ0KCk7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlvbkRhdGFTcGxpY2U6IGZ1bmN0aW9uKHN0YXJ0LCBjb3VudCkgewoJCQl0aGlzLmdldE1ldGEoKS5kYXRhLnNwbGljZShzdGFydCwgY291bnQpOwoJCQl0aGlzLmluc2VydEVsZW1lbnRzKHN0YXJ0LCBhcmd1bWVudHMubGVuZ3RoIC0gMik7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlvbkRhdGFVbnNoaWZ0OiBmdW5jdGlvbigpIHsKCQkJdGhpcy5pbnNlcnRFbGVtZW50cygwLCBhcmd1bWVudHMubGVuZ3RoKTsKCQl9Cgl9KTsKCglDaGFydC5EYXRhc2V0Q29udHJvbGxlci5leHRlbmQgPSBoZWxwZXJzLmluaGVyaXRzOwp9OwoKfSx7IjQ1Ijo0NX1dLDI1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCm1vZHVsZS5leHBvcnRzID0gewoJLyoqCgkgKiBAcHJpdmF0ZQoJICovCglfc2V0OiBmdW5jdGlvbihzY29wZSwgdmFsdWVzKSB7CgkJcmV0dXJuIGhlbHBlcnMubWVyZ2UodGhpc1tzY29wZV0gfHwgKHRoaXNbc2NvcGVdID0ge30pLCB2YWx1ZXMpOwoJfQp9OwoKfSx7IjQ1Ijo0NX1dLDI2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGNvbG9yID0gcmVxdWlyZSgyKTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmZ1bmN0aW9uIGludGVycG9sYXRlKHN0YXJ0LCB2aWV3LCBtb2RlbCwgZWFzZSkgewoJdmFyIGtleXMgPSBPYmplY3Qua2V5cyhtb2RlbCk7Cgl2YXIgaSwgaWxlbiwga2V5LCBhY3R1YWwsIG9yaWdpbiwgdGFyZ2V0LCB0eXBlLCBjMCwgYzE7CgoJZm9yIChpID0gMCwgaWxlbiA9IGtleXMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJa2V5ID0ga2V5c1tpXTsKCgkJdGFyZ2V0ID0gbW9kZWxba2V5XTsKCgkJLy8gaWYgYSB2YWx1ZSBpcyBhZGRlZCB0byB0aGUgbW9kZWwgYWZ0ZXIgcGl2b3QoKSBoYXMgYmVlbiBjYWxsZWQsIHRoZSB2aWV3CgkJLy8gZG9lc24ndCBjb250YWluIGl0LCBzbyBsZXQncyBpbml0aWFsaXplIHRoZSB2aWV3IHRvIHRoZSB0YXJnZXQgdmFsdWUuCgkJaWYgKCF2aWV3Lmhhc093blByb3BlcnR5KGtleSkpIHsKCQkJdmlld1trZXldID0gdGFyZ2V0OwoJCX0KCgkJYWN0dWFsID0gdmlld1trZXldOwoKCQlpZiAoYWN0dWFsID09PSB0YXJnZXQgfHwga2V5WzBdID09PSAnXycpIHsKCQkJY29udGludWU7CgkJfQoKCQlpZiAoIXN0YXJ0Lmhhc093blByb3BlcnR5KGtleSkpIHsKCQkJc3RhcnRba2V5XSA9IGFjdHVhbDsKCQl9CgoJCW9yaWdpbiA9IHN0YXJ0W2tleV07CgoJCXR5cGUgPSB0eXBlb2YgdGFyZ2V0OwoKCQlpZiAodHlwZSA9PT0gdHlwZW9mIG9yaWdpbikgewoJCQlpZiAodHlwZSA9PT0gJ3N0cmluZycpIHsKCQkJCWMwID0gY29sb3Iob3JpZ2luKTsKCQkJCWlmIChjMC52YWxpZCkgewoJCQkJCWMxID0gY29sb3IodGFyZ2V0KTsKCQkJCQlpZiAoYzEudmFsaWQpIHsKCQkJCQkJdmlld1trZXldID0gYzEubWl4KGMwLCBlYXNlKS5yZ2JTdHJpbmcoKTsKCQkJCQkJY29udGludWU7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdudW1iZXInICYmIGlzRmluaXRlKG9yaWdpbikgJiYgaXNGaW5pdGUodGFyZ2V0KSkgewoJCQkJdmlld1trZXldID0gb3JpZ2luICsgKHRhcmdldCAtIG9yaWdpbikgKiBlYXNlOwoJCQkJY29udGludWU7CgkJCX0KCQl9CgoJCXZpZXdba2V5XSA9IHRhcmdldDsKCX0KfQoKdmFyIEVsZW1lbnQgPSBmdW5jdGlvbihjb25maWd1cmF0aW9uKSB7CgloZWxwZXJzLmV4dGVuZCh0aGlzLCBjb25maWd1cmF0aW9uKTsKCXRoaXMuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwp9OwoKaGVscGVycy5leHRlbmQoRWxlbWVudC5wcm90b3R5cGUsIHsKCglpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQl0aGlzLmhpZGRlbiA9IGZhbHNlOwoJfSwKCglwaXZvdDogZnVuY3Rpb24oKSB7CgkJdmFyIG1lID0gdGhpczsKCQlpZiAoIW1lLl92aWV3KSB7CgkJCW1lLl92aWV3ID0gaGVscGVycy5jbG9uZShtZS5fbW9kZWwpOwoJCX0KCQltZS5fc3RhcnQgPSB7fTsKCQlyZXR1cm4gbWU7Cgl9LAoKCXRyYW5zaXRpb246IGZ1bmN0aW9uKGVhc2UpIHsKCQl2YXIgbWUgPSB0aGlzOwoJCXZhciBtb2RlbCA9IG1lLl9tb2RlbDsKCQl2YXIgc3RhcnQgPSBtZS5fc3RhcnQ7CgkJdmFyIHZpZXcgPSBtZS5fdmlldzsKCgkJLy8gTm8gYW5pbWF0aW9uIC0+IE5vIFRyYW5zaXRpb24KCQlpZiAoIW1vZGVsIHx8IGVhc2UgPT09IDEpIHsKCQkJbWUuX3ZpZXcgPSBtb2RlbDsKCQkJbWUuX3N0YXJ0ID0gbnVsbDsKCQkJcmV0dXJuIG1lOwoJCX0KCgkJaWYgKCF2aWV3KSB7CgkJCXZpZXcgPSBtZS5fdmlldyA9IHt9OwoJCX0KCgkJaWYgKCFzdGFydCkgewoJCQlzdGFydCA9IG1lLl9zdGFydCA9IHt9OwoJCX0KCgkJaW50ZXJwb2xhdGUoc3RhcnQsIHZpZXcsIG1vZGVsLCBlYXNlKTsKCgkJcmV0dXJuIG1lOwoJfSwKCgl0b29sdGlwUG9zaXRpb246IGZ1bmN0aW9uKCkgewoJCXJldHVybiB7CgkJCXg6IHRoaXMuX21vZGVsLngsCgkJCXk6IHRoaXMuX21vZGVsLnkKCQl9OwoJfSwKCgloYXNWYWx1ZTogZnVuY3Rpb24oKSB7CgkJcmV0dXJuIGhlbHBlcnMuaXNOdW1iZXIodGhpcy5fbW9kZWwueCkgJiYgaGVscGVycy5pc051bWJlcih0aGlzLl9tb2RlbC55KTsKCX0KfSk7CgpFbGVtZW50LmV4dGVuZCA9IGhlbHBlcnMuaW5oZXJpdHM7Cgptb2R1bGUuZXhwb3J0cyA9IEVsZW1lbnQ7Cgp9LHsiMiI6MiwiNDUiOjQ1fV0sMjc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKiBnbG9iYWwgd2luZG93OiBmYWxzZSAqLwovKiBnbG9iYWwgZG9jdW1lbnQ6IGZhbHNlICovCid1c2Ugc3RyaWN0JzsKCnZhciBjb2xvciA9IHJlcXVpcmUoMik7CnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCS8vIC0tIEJhc2ljIGpzIHV0aWxpdHkgbWV0aG9kcwoKCWhlbHBlcnMuY29uZmlnTWVyZ2UgPSBmdW5jdGlvbigvKiBvYmplY3RzIC4uLiAqLykgewoJCXJldHVybiBoZWxwZXJzLm1lcmdlKGhlbHBlcnMuY2xvbmUoYXJndW1lbnRzWzBdKSwgW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLCB7CgkJCW1lcmdlcjogZnVuY3Rpb24oa2V5LCB0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykgewoJCQkJdmFyIHR2YWwgPSB0YXJnZXRba2V5XSB8fCB7fTsKCQkJCXZhciBzdmFsID0gc291cmNlW2tleV07CgoJCQkJaWYgKGtleSA9PT0gJ3NjYWxlcycpIHsKCQkJCQkvLyBzY2FsZSBjb25maWcgbWVyZ2luZyBpcyBjb21wbGV4LiBBZGQgb3VyIG93biBmdW5jdGlvbiBoZXJlIGZvciB0aGF0CgkJCQkJdGFyZ2V0W2tleV0gPSBoZWxwZXJzLnNjYWxlTWVyZ2UodHZhbCwgc3ZhbCk7CgkJCQl9IGVsc2UgaWYgKGtleSA9PT0gJ3NjYWxlJykgewoJCQkJCS8vIHVzZWQgaW4gcG9sYXIgYXJlYSAmIHJhZGFyIGNoYXJ0cyBzaW5jZSB0aGVyZSBpcyBvbmx5IG9uZSBzY2FsZQoJCQkJCXRhcmdldFtrZXldID0gaGVscGVycy5tZXJnZSh0dmFsLCBbQ2hhcnQuc2NhbGVTZXJ2aWNlLmdldFNjYWxlRGVmYXVsdHMoc3ZhbC50eXBlKSwgc3ZhbF0pOwoJCQkJfSBlbHNlIHsKCQkJCQloZWxwZXJzLl9tZXJnZXIoa2V5LCB0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucyk7CgkJCQl9CgkJCX0KCQl9KTsKCX07CgoJaGVscGVycy5zY2FsZU1lcmdlID0gZnVuY3Rpb24oLyogb2JqZWN0cyAuLi4gKi8pIHsKCQlyZXR1cm4gaGVscGVycy5tZXJnZShoZWxwZXJzLmNsb25lKGFyZ3VtZW50c1swXSksIFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSwgewoJCQltZXJnZXI6IGZ1bmN0aW9uKGtleSwgdGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpIHsKCQkJCWlmIChrZXkgPT09ICd4QXhlcycgfHwga2V5ID09PSAneUF4ZXMnKSB7CgkJCQkJdmFyIHNsZW4gPSBzb3VyY2Vba2V5XS5sZW5ndGg7CgkJCQkJdmFyIGksIHR5cGUsIHNjYWxlOwoKCQkJCQlpZiAoIXRhcmdldFtrZXldKSB7CgkJCQkJCXRhcmdldFtrZXldID0gW107CgkJCQkJfQoKCQkJCQlmb3IgKGkgPSAwOyBpIDwgc2xlbjsgKytpKSB7CgkJCQkJCXNjYWxlID0gc291cmNlW2tleV1baV07CgkJCQkJCXR5cGUgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHNjYWxlLnR5cGUsIGtleSA9PT0gJ3hBeGVzJyA/ICdjYXRlZ29yeScgOiAnbGluZWFyJyk7CgoJCQkJCQlpZiAoaSA+PSB0YXJnZXRba2V5XS5sZW5ndGgpIHsKCQkJCQkJCXRhcmdldFtrZXldLnB1c2goe30pOwoJCQkJCQl9CgoJCQkJCQlpZiAoIXRhcmdldFtrZXldW2ldLnR5cGUgfHwgKHNjYWxlLnR5cGUgJiYgc2NhbGUudHlwZSAhPT0gdGFyZ2V0W2tleV1baV0udHlwZSkpIHsKCQkJCQkJCS8vIG5ldy91bnR5cGVkIHNjYWxlIG9yIHR5cGUgY2hhbmdlZDogbGV0J3MgYXBwbHkgdGhlIG5ldyBkZWZhdWx0cwoJCQkJCQkJLy8gdGhlbiBtZXJnZSBzb3VyY2Ugc2NhbGUgdG8gY29ycmVjdGx5IG92ZXJ3cml0ZSB0aGUgZGVmYXVsdHMuCgkJCQkJCQloZWxwZXJzLm1lcmdlKHRhcmdldFtrZXldW2ldLCBbQ2hhcnQuc2NhbGVTZXJ2aWNlLmdldFNjYWxlRGVmYXVsdHModHlwZSksIHNjYWxlXSk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkvLyBzY2FsZXMgdHlwZSBhcmUgdGhlIHNhbWUKCQkJCQkJCWhlbHBlcnMubWVyZ2UodGFyZ2V0W2tleV1baV0sIHNjYWxlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJaGVscGVycy5fbWVyZ2VyKGtleSwgdGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpOwoJCQkJfQoJCQl9CgkJfSk7Cgl9OwoKCWhlbHBlcnMud2hlcmUgPSBmdW5jdGlvbihjb2xsZWN0aW9uLCBmaWx0ZXJDYWxsYmFjaykgewoJCWlmIChoZWxwZXJzLmlzQXJyYXkoY29sbGVjdGlvbikgJiYgQXJyYXkucHJvdG90eXBlLmZpbHRlcikgewoJCQlyZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoZmlsdGVyQ2FsbGJhY2spOwoJCX0KCQl2YXIgZmlsdGVyZWQgPSBbXTsKCgkJaGVscGVycy5lYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKGl0ZW0pIHsKCQkJaWYgKGZpbHRlckNhbGxiYWNrKGl0ZW0pKSB7CgkJCQlmaWx0ZXJlZC5wdXNoKGl0ZW0pOwoJCQl9CgkJfSk7CgoJCXJldHVybiBmaWx0ZXJlZDsKCX07CgloZWxwZXJzLmZpbmRJbmRleCA9IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggPwoJCWZ1bmN0aW9uKGFycmF5LCBjYWxsYmFjaywgc2NvcGUpIHsKCQkJcmV0dXJuIGFycmF5LmZpbmRJbmRleChjYWxsYmFjaywgc2NvcGUpOwoJCX0gOgoJCWZ1bmN0aW9uKGFycmF5LCBjYWxsYmFjaywgc2NvcGUpIHsKCQkJc2NvcGUgPSBzY29wZSA9PT0gdW5kZWZpbmVkID8gYXJyYXkgOiBzY29wZTsKCQkJZm9yICh2YXIgaSA9IDAsIGlsZW4gPSBhcnJheS5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJCWlmIChjYWxsYmFjay5jYWxsKHNjb3BlLCBhcnJheVtpXSwgaSwgYXJyYXkpKSB7CgkJCQkJcmV0dXJuIGk7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIC0xOwoJCX07CgloZWxwZXJzLmZpbmROZXh0V2hlcmUgPSBmdW5jdGlvbihhcnJheVRvU2VhcmNoLCBmaWx0ZXJDYWxsYmFjaywgc3RhcnRJbmRleCkgewoJCS8vIERlZmF1bHQgdG8gc3RhcnQgb2YgdGhlIGFycmF5CgkJaWYgKGhlbHBlcnMuaXNOdWxsT3JVbmRlZihzdGFydEluZGV4KSkgewoJCQlzdGFydEluZGV4ID0gLTE7CgkJfQoJCWZvciAodmFyIGkgPSBzdGFydEluZGV4ICsgMTsgaSA8IGFycmF5VG9TZWFyY2gubGVuZ3RoOyBpKyspIHsKCQkJdmFyIGN1cnJlbnRJdGVtID0gYXJyYXlUb1NlYXJjaFtpXTsKCQkJaWYgKGZpbHRlckNhbGxiYWNrKGN1cnJlbnRJdGVtKSkgewoJCQkJcmV0dXJuIGN1cnJlbnRJdGVtOwoJCQl9CgkJfQoJfTsKCWhlbHBlcnMuZmluZFByZXZpb3VzV2hlcmUgPSBmdW5jdGlvbihhcnJheVRvU2VhcmNoLCBmaWx0ZXJDYWxsYmFjaywgc3RhcnRJbmRleCkgewoJCS8vIERlZmF1bHQgdG8gZW5kIG9mIHRoZSBhcnJheQoJCWlmIChoZWxwZXJzLmlzTnVsbE9yVW5kZWYoc3RhcnRJbmRleCkpIHsKCQkJc3RhcnRJbmRleCA9IGFycmF5VG9TZWFyY2gubGVuZ3RoOwoJCX0KCQlmb3IgKHZhciBpID0gc3RhcnRJbmRleCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCXZhciBjdXJyZW50SXRlbSA9IGFycmF5VG9TZWFyY2hbaV07CgkJCWlmIChmaWx0ZXJDYWxsYmFjayhjdXJyZW50SXRlbSkpIHsKCQkJCXJldHVybiBjdXJyZW50SXRlbTsKCQkJfQoJCX0KCX07CgoJLy8gLS0gTWF0aCBtZXRob2RzCgloZWxwZXJzLmlzTnVtYmVyID0gZnVuY3Rpb24obikgewoJCXJldHVybiAhaXNOYU4ocGFyc2VGbG9hdChuKSkgJiYgaXNGaW5pdGUobik7Cgl9OwoJaGVscGVycy5hbG1vc3RFcXVhbHMgPSBmdW5jdGlvbih4LCB5LCBlcHNpbG9uKSB7CgkJcmV0dXJuIE1hdGguYWJzKHggLSB5KSA8IGVwc2lsb247Cgl9OwoJaGVscGVycy5hbG1vc3RXaG9sZSA9IGZ1bmN0aW9uKHgsIGVwc2lsb24pIHsKCQl2YXIgcm91bmRlZCA9IE1hdGgucm91bmQoeCk7CgkJcmV0dXJuICgoKHJvdW5kZWQgLSBlcHNpbG9uKSA8IHgpICYmICgocm91bmRlZCArIGVwc2lsb24pID4geCkpOwoJfTsKCWhlbHBlcnMubWF4ID0gZnVuY3Rpb24oYXJyYXkpIHsKCQlyZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uKG1heCwgdmFsdWUpIHsKCQkJaWYgKCFpc05hTih2YWx1ZSkpIHsKCQkJCXJldHVybiBNYXRoLm1heChtYXgsIHZhbHVlKTsKCQkJfQoJCQlyZXR1cm4gbWF4OwoJCX0sIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7Cgl9OwoJaGVscGVycy5taW4gPSBmdW5jdGlvbihhcnJheSkgewoJCXJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24obWluLCB2YWx1ZSkgewoJCQlpZiAoIWlzTmFOKHZhbHVlKSkgewoJCQkJcmV0dXJuIE1hdGgubWluKG1pbiwgdmFsdWUpOwoJCQl9CgkJCXJldHVybiBtaW47CgkJfSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsKCX07CgloZWxwZXJzLnNpZ24gPSBNYXRoLnNpZ24gPwoJCWZ1bmN0aW9uKHgpIHsKCQkJcmV0dXJuIE1hdGguc2lnbih4KTsKCQl9IDoKCQlmdW5jdGlvbih4KSB7CgkJCXggPSAreDsgLy8gY29udmVydCB0byBhIG51bWJlcgoJCQlpZiAoeCA9PT0gMCB8fCBpc05hTih4KSkgewoJCQkJcmV0dXJuIHg7CgkJCX0KCQkJcmV0dXJuIHggPiAwID8gMSA6IC0xOwoJCX07CgloZWxwZXJzLmxvZzEwID0gTWF0aC5sb2cxMCA/CgkJZnVuY3Rpb24oeCkgewoJCQlyZXR1cm4gTWF0aC5sb2cxMCh4KTsKCQl9IDoKCQlmdW5jdGlvbih4KSB7CgkJCXZhciBleHBvbmVudCA9IE1hdGgubG9nKHgpICogTWF0aC5MT0cxMEU7IC8vIE1hdGguTE9HMTBFID0gMSAvIE1hdGguTE4xMC4KCQkJLy8gQ2hlY2sgZm9yIHdob2xlIHBvd2VycyBvZiAxMCwKCQkJLy8gd2hpY2ggZHVlIHRvIGZsb2F0aW5nIHBvaW50IHJvdW5kaW5nIGVycm9yIHNob3VsZCBiZSBjb3JyZWN0ZWQuCgkJCXZhciBwb3dlck9mMTAgPSBNYXRoLnJvdW5kKGV4cG9uZW50KTsKCQkJdmFyIGlzUG93ZXJPZjEwID0geCA9PT0gTWF0aC5wb3coMTAsIHBvd2VyT2YxMCk7CgoJCQlyZXR1cm4gaXNQb3dlck9mMTAgPyBwb3dlck9mMTAgOiBleHBvbmVudDsKCQl9OwoJaGVscGVycy50b1JhZGlhbnMgPSBmdW5jdGlvbihkZWdyZWVzKSB7CgkJcmV0dXJuIGRlZ3JlZXMgKiAoTWF0aC5QSSAvIDE4MCk7Cgl9OwoJaGVscGVycy50b0RlZ3JlZXMgPSBmdW5jdGlvbihyYWRpYW5zKSB7CgkJcmV0dXJuIHJhZGlhbnMgKiAoMTgwIC8gTWF0aC5QSSk7Cgl9OwoJLy8gR2V0cyB0aGUgYW5nbGUgZnJvbSB2ZXJ0aWNhbCB1cHJpZ2h0IHRvIHRoZSBwb2ludCBhYm91dCBhIGNlbnRyZS4KCWhlbHBlcnMuZ2V0QW5nbGVGcm9tUG9pbnQgPSBmdW5jdGlvbihjZW50cmVQb2ludCwgYW5nbGVQb2ludCkgewoJCXZhciBkaXN0YW5jZUZyb21YQ2VudGVyID0gYW5nbGVQb2ludC54IC0gY2VudHJlUG9pbnQueDsKCQl2YXIgZGlzdGFuY2VGcm9tWUNlbnRlciA9IGFuZ2xlUG9pbnQueSAtIGNlbnRyZVBvaW50Lnk7CgkJdmFyIHJhZGlhbERpc3RhbmNlRnJvbUNlbnRlciA9IE1hdGguc3FydChkaXN0YW5jZUZyb21YQ2VudGVyICogZGlzdGFuY2VGcm9tWENlbnRlciArIGRpc3RhbmNlRnJvbVlDZW50ZXIgKiBkaXN0YW5jZUZyb21ZQ2VudGVyKTsKCgkJdmFyIGFuZ2xlID0gTWF0aC5hdGFuMihkaXN0YW5jZUZyb21ZQ2VudGVyLCBkaXN0YW5jZUZyb21YQ2VudGVyKTsKCgkJaWYgKGFuZ2xlIDwgKC0wLjUgKiBNYXRoLlBJKSkgewoJCQlhbmdsZSArPSAyLjAgKiBNYXRoLlBJOyAvLyBtYWtlIHN1cmUgdGhlIHJldHVybmVkIGFuZ2xlIGlzIGluIHRoZSByYW5nZSBvZiAoLVBJLzIsIDNQSS8yXQoJCX0KCgkJcmV0dXJuIHsKCQkJYW5nbGU6IGFuZ2xlLAoJCQlkaXN0YW5jZTogcmFkaWFsRGlzdGFuY2VGcm9tQ2VudGVyCgkJfTsKCX07CgloZWxwZXJzLmRpc3RhbmNlQmV0d2VlblBvaW50cyA9IGZ1bmN0aW9uKHB0MSwgcHQyKSB7CgkJcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhwdDIueCAtIHB0MS54LCAyKSArIE1hdGgucG93KHB0Mi55IC0gcHQxLnksIDIpKTsKCX07CgloZWxwZXJzLmFsaWFzUGl4ZWwgPSBmdW5jdGlvbihwaXhlbFdpZHRoKSB7CgkJcmV0dXJuIChwaXhlbFdpZHRoICUgMiA9PT0gMCkgPyAwIDogMC41OwoJfTsKCWhlbHBlcnMuc3BsaW5lQ3VydmUgPSBmdW5jdGlvbihmaXJzdFBvaW50LCBtaWRkbGVQb2ludCwgYWZ0ZXJQb2ludCwgdCkgewoJCS8vIFByb3BzIHRvIFJvYiBTcGVuY2VyIGF0IHNjYWxlZCBpbm5vdmF0aW9uIGZvciBoaXMgcG9zdCBvbiBzcGxpbmluZyBiZXR3ZWVuIHBvaW50cwoJCS8vIGh0dHA6Ly9zY2FsZWRpbm5vdmF0aW9uLmNvbS9hbmFseXRpY3Mvc3BsaW5lcy9hYm91dFNwbGluZXMuaHRtbAoKCQkvLyBUaGlzIGZ1bmN0aW9uIG11c3QgYWxzbyByZXNwZWN0ICJza2lwcGVkIiBwb2ludHMKCgkJdmFyIHByZXZpb3VzID0gZmlyc3RQb2ludC5za2lwID8gbWlkZGxlUG9pbnQgOiBmaXJzdFBvaW50OwoJCXZhciBjdXJyZW50ID0gbWlkZGxlUG9pbnQ7CgkJdmFyIG5leHQgPSBhZnRlclBvaW50LnNraXAgPyBtaWRkbGVQb2ludCA6IGFmdGVyUG9pbnQ7CgoJCXZhciBkMDEgPSBNYXRoLnNxcnQoTWF0aC5wb3coY3VycmVudC54IC0gcHJldmlvdXMueCwgMikgKyBNYXRoLnBvdyhjdXJyZW50LnkgLSBwcmV2aW91cy55LCAyKSk7CgkJdmFyIGQxMiA9IE1hdGguc3FydChNYXRoLnBvdyhuZXh0LnggLSBjdXJyZW50LngsIDIpICsgTWF0aC5wb3cobmV4dC55IC0gY3VycmVudC55LCAyKSk7CgoJCXZhciBzMDEgPSBkMDEgLyAoZDAxICsgZDEyKTsKCQl2YXIgczEyID0gZDEyIC8gKGQwMSArIGQxMik7CgoJCS8vIElmIGFsbCBwb2ludHMgYXJlIHRoZSBzYW1lLCBzMDEgJiBzMDIgd2lsbCBiZSBpbmYKCQlzMDEgPSBpc05hTihzMDEpID8gMCA6IHMwMTsKCQlzMTIgPSBpc05hTihzMTIpID8gMCA6IHMxMjsKCgkJdmFyIGZhID0gdCAqIHMwMTsgLy8gc2NhbGluZyBmYWN0b3IgZm9yIHRyaWFuZ2xlIFRhCgkJdmFyIGZiID0gdCAqIHMxMjsKCgkJcmV0dXJuIHsKCQkJcHJldmlvdXM6IHsKCQkJCXg6IGN1cnJlbnQueCAtIGZhICogKG5leHQueCAtIHByZXZpb3VzLngpLAoJCQkJeTogY3VycmVudC55IC0gZmEgKiAobmV4dC55IC0gcHJldmlvdXMueSkKCQkJfSwKCQkJbmV4dDogewoJCQkJeDogY3VycmVudC54ICsgZmIgKiAobmV4dC54IC0gcHJldmlvdXMueCksCgkJCQl5OiBjdXJyZW50LnkgKyBmYiAqIChuZXh0LnkgLSBwcmV2aW91cy55KQoJCQl9CgkJfTsKCX07CgloZWxwZXJzLkVQU0lMT04gPSBOdW1iZXIuRVBTSUxPTiB8fCAxZS0xNDsKCWhlbHBlcnMuc3BsaW5lQ3VydmVNb25vdG9uZSA9IGZ1bmN0aW9uKHBvaW50cykgewoJCS8vIFRoaXMgZnVuY3Rpb24gY2FsY3VsYXRlcyBCw6l6aWVyIGNvbnRyb2wgcG9pbnRzIGluIGEgc2ltaWxhciB3YXkgdGhhbiB8c3BsaW5lQ3VydmV8LAoJCS8vIGJ1dCBwcmVzZXJ2ZXMgbW9ub3RvbmljaXR5IG9mIHRoZSBwcm92aWRlZCBkYXRhIGFuZCBlbnN1cmVzIG5vIGxvY2FsIGV4dHJlbXVtcyBhcmUgYWRkZWQKCQkvLyBiZXR3ZWVuIHRoZSBkYXRhc2V0IGRpc2NyZXRlIHBvaW50cyBkdWUgdG8gdGhlIGludGVycG9sYXRpb24uCgkJLy8gU2VlIDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTW9ub3RvbmVfY3ViaWNfaW50ZXJwb2xhdGlvbgoKCQl2YXIgcG9pbnRzV2l0aFRhbmdlbnRzID0gKHBvaW50cyB8fCBbXSkubWFwKGZ1bmN0aW9uKHBvaW50KSB7CgkJCXJldHVybiB7CgkJCQltb2RlbDogcG9pbnQuX21vZGVsLAoJCQkJZGVsdGFLOiAwLAoJCQkJbUs6IDAKCQkJfTsKCQl9KTsKCgkJLy8gQ2FsY3VsYXRlIHNsb3BlcyAoZGVsdGFLKSBhbmQgaW5pdGlhbGl6ZSB0YW5nZW50cyAobUspCgkJdmFyIHBvaW50c0xlbiA9IHBvaW50c1dpdGhUYW5nZW50cy5sZW5ndGg7CgkJdmFyIGksIHBvaW50QmVmb3JlLCBwb2ludEN1cnJlbnQsIHBvaW50QWZ0ZXI7CgkJZm9yIChpID0gMDsgaSA8IHBvaW50c0xlbjsgKytpKSB7CgkJCXBvaW50Q3VycmVudCA9IHBvaW50c1dpdGhUYW5nZW50c1tpXTsKCQkJaWYgKHBvaW50Q3VycmVudC5tb2RlbC5za2lwKSB7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJcG9pbnRCZWZvcmUgPSBpID4gMCA/IHBvaW50c1dpdGhUYW5nZW50c1tpIC0gMV0gOiBudWxsOwoJCQlwb2ludEFmdGVyID0gaSA8IHBvaW50c0xlbiAtIDEgPyBwb2ludHNXaXRoVGFuZ2VudHNbaSArIDFdIDogbnVsbDsKCQkJaWYgKHBvaW50QWZ0ZXIgJiYgIXBvaW50QWZ0ZXIubW9kZWwuc2tpcCkgewoJCQkJdmFyIHNsb3BlRGVsdGFYID0gKHBvaW50QWZ0ZXIubW9kZWwueCAtIHBvaW50Q3VycmVudC5tb2RlbC54KTsKCgkJCQkvLyBJbiB0aGUgY2FzZSBvZiB0d28gcG9pbnRzIHRoYXQgYXBwZWFyIGF0IHRoZSBzYW1lIHggcGl4ZWwsIHNsb3BlRGVsdGFYIGlzIDAKCQkJCXBvaW50Q3VycmVudC5kZWx0YUsgPSBzbG9wZURlbHRhWCAhPT0gMCA/IChwb2ludEFmdGVyLm1vZGVsLnkgLSBwb2ludEN1cnJlbnQubW9kZWwueSkgLyBzbG9wZURlbHRhWCA6IDA7CgkJCX0KCgkJCWlmICghcG9pbnRCZWZvcmUgfHwgcG9pbnRCZWZvcmUubW9kZWwuc2tpcCkgewoJCQkJcG9pbnRDdXJyZW50Lm1LID0gcG9pbnRDdXJyZW50LmRlbHRhSzsKCQkJfSBlbHNlIGlmICghcG9pbnRBZnRlciB8fCBwb2ludEFmdGVyLm1vZGVsLnNraXApIHsKCQkJCXBvaW50Q3VycmVudC5tSyA9IHBvaW50QmVmb3JlLmRlbHRhSzsKCQkJfSBlbHNlIGlmICh0aGlzLnNpZ24ocG9pbnRCZWZvcmUuZGVsdGFLKSAhPT0gdGhpcy5zaWduKHBvaW50Q3VycmVudC5kZWx0YUspKSB7CgkJCQlwb2ludEN1cnJlbnQubUsgPSAwOwoJCQl9IGVsc2UgewoJCQkJcG9pbnRDdXJyZW50Lm1LID0gKHBvaW50QmVmb3JlLmRlbHRhSyArIHBvaW50Q3VycmVudC5kZWx0YUspIC8gMjsKCQkJfQoJCX0KCgkJLy8gQWRqdXN0IHRhbmdlbnRzIHRvIGVuc3VyZSBtb25vdG9uaWMgcHJvcGVydGllcwoJCXZhciBhbHBoYUssIGJldGFLLCB0YXVLLCBzcXVhcmVkTWFnbml0dWRlOwoJCWZvciAoaSA9IDA7IGkgPCBwb2ludHNMZW4gLSAxOyArK2kpIHsKCQkJcG9pbnRDdXJyZW50ID0gcG9pbnRzV2l0aFRhbmdlbnRzW2ldOwoJCQlwb2ludEFmdGVyID0gcG9pbnRzV2l0aFRhbmdlbnRzW2kgKyAxXTsKCQkJaWYgKHBvaW50Q3VycmVudC5tb2RlbC5za2lwIHx8IHBvaW50QWZ0ZXIubW9kZWwuc2tpcCkgewoJCQkJY29udGludWU7CgkJCX0KCgkJCWlmIChoZWxwZXJzLmFsbW9zdEVxdWFscyhwb2ludEN1cnJlbnQuZGVsdGFLLCAwLCB0aGlzLkVQU0lMT04pKSB7CgkJCQlwb2ludEN1cnJlbnQubUsgPSBwb2ludEFmdGVyLm1LID0gMDsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQlhbHBoYUsgPSBwb2ludEN1cnJlbnQubUsgLyBwb2ludEN1cnJlbnQuZGVsdGFLOwoJCQliZXRhSyA9IHBvaW50QWZ0ZXIubUsgLyBwb2ludEN1cnJlbnQuZGVsdGFLOwoJCQlzcXVhcmVkTWFnbml0dWRlID0gTWF0aC5wb3coYWxwaGFLLCAyKSArIE1hdGgucG93KGJldGFLLCAyKTsKCQkJaWYgKHNxdWFyZWRNYWduaXR1ZGUgPD0gOSkgewoJCQkJY29udGludWU7CgkJCX0KCgkJCXRhdUsgPSAzIC8gTWF0aC5zcXJ0KHNxdWFyZWRNYWduaXR1ZGUpOwoJCQlwb2ludEN1cnJlbnQubUsgPSBhbHBoYUsgKiB0YXVLICogcG9pbnRDdXJyZW50LmRlbHRhSzsKCQkJcG9pbnRBZnRlci5tSyA9IGJldGFLICogdGF1SyAqIHBvaW50Q3VycmVudC5kZWx0YUs7CgkJfQoKCQkvLyBDb21wdXRlIGNvbnRyb2wgcG9pbnRzCgkJdmFyIGRlbHRhWDsKCQlmb3IgKGkgPSAwOyBpIDwgcG9pbnRzTGVuOyArK2kpIHsKCQkJcG9pbnRDdXJyZW50ID0gcG9pbnRzV2l0aFRhbmdlbnRzW2ldOwoJCQlpZiAocG9pbnRDdXJyZW50Lm1vZGVsLnNraXApIHsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQlwb2ludEJlZm9yZSA9IGkgPiAwID8gcG9pbnRzV2l0aFRhbmdlbnRzW2kgLSAxXSA6IG51bGw7CgkJCXBvaW50QWZ0ZXIgPSBpIDwgcG9pbnRzTGVuIC0gMSA/IHBvaW50c1dpdGhUYW5nZW50c1tpICsgMV0gOiBudWxsOwoJCQlpZiAocG9pbnRCZWZvcmUgJiYgIXBvaW50QmVmb3JlLm1vZGVsLnNraXApIHsKCQkJCWRlbHRhWCA9IChwb2ludEN1cnJlbnQubW9kZWwueCAtIHBvaW50QmVmb3JlLm1vZGVsLngpIC8gMzsKCQkJCXBvaW50Q3VycmVudC5tb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1ggPSBwb2ludEN1cnJlbnQubW9kZWwueCAtIGRlbHRhWDsKCQkJCXBvaW50Q3VycmVudC5tb2RlbC5jb250cm9sUG9pbnRQcmV2aW91c1kgPSBwb2ludEN1cnJlbnQubW9kZWwueSAtIGRlbHRhWCAqIHBvaW50Q3VycmVudC5tSzsKCQkJfQoJCQlpZiAocG9pbnRBZnRlciAmJiAhcG9pbnRBZnRlci5tb2RlbC5za2lwKSB7CgkJCQlkZWx0YVggPSAocG9pbnRBZnRlci5tb2RlbC54IC0gcG9pbnRDdXJyZW50Lm1vZGVsLngpIC8gMzsKCQkJCXBvaW50Q3VycmVudC5tb2RlbC5jb250cm9sUG9pbnROZXh0WCA9IHBvaW50Q3VycmVudC5tb2RlbC54ICsgZGVsdGFYOwoJCQkJcG9pbnRDdXJyZW50Lm1vZGVsLmNvbnRyb2xQb2ludE5leHRZID0gcG9pbnRDdXJyZW50Lm1vZGVsLnkgKyBkZWx0YVggKiBwb2ludEN1cnJlbnQubUs7CgkJCX0KCQl9Cgl9OwoJaGVscGVycy5uZXh0SXRlbSA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGluZGV4LCBsb29wKSB7CgkJaWYgKGxvb3ApIHsKCQkJcmV0dXJuIGluZGV4ID49IGNvbGxlY3Rpb24ubGVuZ3RoIC0gMSA/IGNvbGxlY3Rpb25bMF0gOiBjb2xsZWN0aW9uW2luZGV4ICsgMV07CgkJfQoJCXJldHVybiBpbmRleCA+PSBjb2xsZWN0aW9uLmxlbmd0aCAtIDEgPyBjb2xsZWN0aW9uW2NvbGxlY3Rpb24ubGVuZ3RoIC0gMV0gOiBjb2xsZWN0aW9uW2luZGV4ICsgMV07Cgl9OwoJaGVscGVycy5wcmV2aW91c0l0ZW0gPSBmdW5jdGlvbihjb2xsZWN0aW9uLCBpbmRleCwgbG9vcCkgewoJCWlmIChsb29wKSB7CgkJCXJldHVybiBpbmRleCA8PSAwID8gY29sbGVjdGlvbltjb2xsZWN0aW9uLmxlbmd0aCAtIDFdIDogY29sbGVjdGlvbltpbmRleCAtIDFdOwoJCX0KCQlyZXR1cm4gaW5kZXggPD0gMCA/IGNvbGxlY3Rpb25bMF0gOiBjb2xsZWN0aW9uW2luZGV4IC0gMV07Cgl9OwoJLy8gSW1wbGVtZW50YXRpb24gb2YgdGhlIG5pY2UgbnVtYmVyIGFsZ29yaXRobSB1c2VkIGluIGRldGVybWluaW5nIHdoZXJlIGF4aXMgbGFiZWxzIHdpbGwgZ28KCWhlbHBlcnMubmljZU51bSA9IGZ1bmN0aW9uKHJhbmdlLCByb3VuZCkgewoJCXZhciBleHBvbmVudCA9IE1hdGguZmxvb3IoaGVscGVycy5sb2cxMChyYW5nZSkpOwoJCXZhciBmcmFjdGlvbiA9IHJhbmdlIC8gTWF0aC5wb3coMTAsIGV4cG9uZW50KTsKCQl2YXIgbmljZUZyYWN0aW9uOwoKCQlpZiAocm91bmQpIHsKCQkJaWYgKGZyYWN0aW9uIDwgMS41KSB7CgkJCQluaWNlRnJhY3Rpb24gPSAxOwoJCQl9IGVsc2UgaWYgKGZyYWN0aW9uIDwgMykgewoJCQkJbmljZUZyYWN0aW9uID0gMjsKCQkJfSBlbHNlIGlmIChmcmFjdGlvbiA8IDcpIHsKCQkJCW5pY2VGcmFjdGlvbiA9IDU7CgkJCX0gZWxzZSB7CgkJCQluaWNlRnJhY3Rpb24gPSAxMDsKCQkJfQoJCX0gZWxzZSBpZiAoZnJhY3Rpb24gPD0gMS4wKSB7CgkJCW5pY2VGcmFjdGlvbiA9IDE7CgkJfSBlbHNlIGlmIChmcmFjdGlvbiA8PSAyKSB7CgkJCW5pY2VGcmFjdGlvbiA9IDI7CgkJfSBlbHNlIGlmIChmcmFjdGlvbiA8PSA1KSB7CgkJCW5pY2VGcmFjdGlvbiA9IDU7CgkJfSBlbHNlIHsKCQkJbmljZUZyYWN0aW9uID0gMTA7CgkJfQoKCQlyZXR1cm4gbmljZUZyYWN0aW9uICogTWF0aC5wb3coMTAsIGV4cG9uZW50KTsKCX07CgkvLyBSZXF1ZXN0IGFuaW1hdGlvbiBwb2x5ZmlsbCAtIGh0dHA6Ly93d3cucGF1bGlyaXNoLmNvbS8yMDExL3JlcXVlc3RhbmltYXRpb25mcmFtZS1mb3Itc21hcnQtYW5pbWF0aW5nLwoJaGVscGVycy5yZXF1ZXN0QW5pbUZyYW1lID0gKGZ1bmN0aW9uKCkgewoJCWlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgewoJCQlyZXR1cm4gZnVuY3Rpb24oY2FsbGJhY2spIHsKCQkJCWNhbGxiYWNrKCk7CgkJCX07CgkJfQoJCXJldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cub1JlcXVlc3RBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKCQkJZnVuY3Rpb24oY2FsbGJhY2spIHsKCQkJCXJldHVybiB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKTsKCQkJfTsKCX0oKSk7CgkvLyAtLSBET00gbWV0aG9kcwoJaGVscGVycy5nZXRSZWxhdGl2ZVBvc2l0aW9uID0gZnVuY3Rpb24oZXZ0LCBjaGFydCkgewoJCXZhciBtb3VzZVgsIG1vdXNlWTsKCQl2YXIgZSA9IGV2dC5vcmlnaW5hbEV2ZW50IHx8IGV2dDsKCQl2YXIgY2FudmFzID0gZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQ7CgkJdmFyIGJvdW5kaW5nUmVjdCA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKCgkJdmFyIHRvdWNoZXMgPSBlLnRvdWNoZXM7CgkJaWYgKHRvdWNoZXMgJiYgdG91Y2hlcy5sZW5ndGggPiAwKSB7CgkJCW1vdXNlWCA9IHRvdWNoZXNbMF0uY2xpZW50WDsKCQkJbW91c2VZID0gdG91Y2hlc1swXS5jbGllbnRZOwoKCQl9IGVsc2UgewoJCQltb3VzZVggPSBlLmNsaWVudFg7CgkJCW1vdXNlWSA9IGUuY2xpZW50WTsKCQl9CgoJCS8vIFNjYWxlIG1vdXNlIGNvb3JkaW5hdGVzIGludG8gY2FudmFzIGNvb3JkaW5hdGVzCgkJLy8gYnkgZm9sbG93aW5nIHRoZSBwYXR0ZXJuIGxhaWQgb3V0IGJ5ICdqZXJyeWonIGluIHRoZSBjb21tZW50cyBvZgoJCS8vIGh0dHA6Ly93d3cuaHRtbDVjYW52YXN0dXRvcmlhbHMuY29tL2FkdmFuY2VkL2h0bWw1LWNhbnZhcy1tb3VzZS1jb29yZGluYXRlcy8KCQl2YXIgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGhlbHBlcnMuZ2V0U3R5bGUoY2FudmFzLCAncGFkZGluZy1sZWZ0JykpOwoJCXZhciBwYWRkaW5nVG9wID0gcGFyc2VGbG9hdChoZWxwZXJzLmdldFN0eWxlKGNhbnZhcywgJ3BhZGRpbmctdG9wJykpOwoJCXZhciBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KGhlbHBlcnMuZ2V0U3R5bGUoY2FudmFzLCAncGFkZGluZy1yaWdodCcpKTsKCQl2YXIgcGFkZGluZ0JvdHRvbSA9IHBhcnNlRmxvYXQoaGVscGVycy5nZXRTdHlsZShjYW52YXMsICdwYWRkaW5nLWJvdHRvbScpKTsKCQl2YXIgd2lkdGggPSBib3VuZGluZ1JlY3QucmlnaHQgLSBib3VuZGluZ1JlY3QubGVmdCAtIHBhZGRpbmdMZWZ0IC0gcGFkZGluZ1JpZ2h0OwoJCXZhciBoZWlnaHQgPSBib3VuZGluZ1JlY3QuYm90dG9tIC0gYm91bmRpbmdSZWN0LnRvcCAtIHBhZGRpbmdUb3AgLSBwYWRkaW5nQm90dG9tOwoKCQkvLyBXZSBkaXZpZGUgYnkgdGhlIGN1cnJlbnQgZGV2aWNlIHBpeGVsIHJhdGlvLCBiZWNhdXNlIHRoZSBjYW52YXMgaXMgc2NhbGVkIHVwIGJ5IHRoYXQgYW1vdW50IGluIGVhY2ggZGlyZWN0aW9uLiBIb3dldmVyCgkJLy8gdGhlIGJhY2tlbmQgbW9kZWwgaXMgaW4gdW5zY2FsZWQgY29vcmRpbmF0ZXMuIFNpbmNlIHdlIGFyZSBnb2luZyB0byBkZWFsIHdpdGggb3VyIG1vZGVsIGNvb3JkaW5hdGVzLCB3ZSBnbyBiYWNrIGhlcmUKCQltb3VzZVggPSBNYXRoLnJvdW5kKChtb3VzZVggLSBib3VuZGluZ1JlY3QubGVmdCAtIHBhZGRpbmdMZWZ0KSAvICh3aWR0aCkgKiBjYW52YXMud2lkdGggLyBjaGFydC5jdXJyZW50RGV2aWNlUGl4ZWxSYXRpbyk7CgkJbW91c2VZID0gTWF0aC5yb3VuZCgobW91c2VZIC0gYm91bmRpbmdSZWN0LnRvcCAtIHBhZGRpbmdUb3ApIC8gKGhlaWdodCkgKiBjYW52YXMuaGVpZ2h0IC8gY2hhcnQuY3VycmVudERldmljZVBpeGVsUmF0aW8pOwoKCQlyZXR1cm4gewoJCQl4OiBtb3VzZVgsCgkJCXk6IG1vdXNlWQoJCX07CgoJfTsKCgkvLyBQcml2YXRlIGhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IG1heC13aWR0aC9tYXgtaGVpZ2h0IHZhbHVlcyB0aGF0IG1heSBiZSBwZXJjZW50YWdlcyBpbnRvIGEgbnVtYmVyCglmdW5jdGlvbiBwYXJzZU1heFN0eWxlKHN0eWxlVmFsdWUsIG5vZGUsIHBhcmVudFByb3BlcnR5KSB7CgkJdmFyIHZhbHVlSW5QaXhlbHM7CgkJaWYgKHR5cGVvZiBzdHlsZVZhbHVlID09PSAnc3RyaW5nJykgewoJCQl2YWx1ZUluUGl4ZWxzID0gcGFyc2VJbnQoc3R5bGVWYWx1ZSwgMTApOwoKCQkJaWYgKHN0eWxlVmFsdWUuaW5kZXhPZignJScpICE9PSAtMSkgewoJCQkJLy8gcGVyY2VudGFnZSAqIHNpemUgaW4gZGltZW5zaW9uCgkJCQl2YWx1ZUluUGl4ZWxzID0gdmFsdWVJblBpeGVscyAvIDEwMCAqIG5vZGUucGFyZW50Tm9kZVtwYXJlbnRQcm9wZXJ0eV07CgkJCX0KCQl9IGVsc2UgewoJCQl2YWx1ZUluUGl4ZWxzID0gc3R5bGVWYWx1ZTsKCQl9CgoJCXJldHVybiB2YWx1ZUluUGl4ZWxzOwoJfQoKCS8qKgoJICogUmV0dXJucyBpZiB0aGUgZ2l2ZW4gdmFsdWUgY29udGFpbnMgYW4gZWZmZWN0aXZlIGNvbnN0cmFpbnQuCgkgKiBAcHJpdmF0ZQoJICovCglmdW5jdGlvbiBpc0NvbnN0cmFpbmVkVmFsdWUodmFsdWUpIHsKCQlyZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gJ25vbmUnOwoJfQoKCS8vIFByaXZhdGUgaGVscGVyIHRvIGdldCBhIGNvbnN0cmFpbnQgZGltZW5zaW9uCgkvLyBAcGFyYW0gZG9tTm9kZSA6IHRoZSBub2RlIHRvIGNoZWNrIHRoZSBjb25zdHJhaW50IG9uCgkvLyBAcGFyYW0gbWF4U3R5bGUgOiB0aGUgc3R5bGUgdGhhdCBkZWZpbmVzIHRoZSBtYXhpbXVtIGZvciB0aGUgZGlyZWN0aW9uIHdlIGFyZSB1c2luZyAobWF4V2lkdGggLyBtYXhIZWlnaHQpCgkvLyBAcGFyYW0gcGVyY2VudGFnZVByb3BlcnR5IDogcHJvcGVydHkgb2YgcGFyZW50IHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHdpZHRoIGFzIGEgcGVyY2VudGFnZQoJLy8gQHNlZSBodHRwOi8vd3d3Lm5hdGhhbmFlbGpvbmVzLmNvbS9ibG9nLzIwMTMvcmVhZGluZy1tYXgtd2lkdGgtY3Jvc3MtYnJvd3NlcgoJZnVuY3Rpb24gZ2V0Q29uc3RyYWludERpbWVuc2lvbihkb21Ob2RlLCBtYXhTdHlsZSwgcGVyY2VudGFnZVByb3BlcnR5KSB7CgkJdmFyIHZpZXcgPSBkb2N1bWVudC5kZWZhdWx0VmlldzsKCQl2YXIgcGFyZW50Tm9kZSA9IGRvbU5vZGUucGFyZW50Tm9kZTsKCQl2YXIgY29uc3RyYWluZWROb2RlID0gdmlldy5nZXRDb21wdXRlZFN0eWxlKGRvbU5vZGUpW21heFN0eWxlXTsKCQl2YXIgY29uc3RyYWluZWRDb250YWluZXIgPSB2aWV3LmdldENvbXB1dGVkU3R5bGUocGFyZW50Tm9kZSlbbWF4U3R5bGVdOwoJCXZhciBoYXNDTm9kZSA9IGlzQ29uc3RyYWluZWRWYWx1ZShjb25zdHJhaW5lZE5vZGUpOwoJCXZhciBoYXNDQ29udGFpbmVyID0gaXNDb25zdHJhaW5lZFZhbHVlKGNvbnN0cmFpbmVkQ29udGFpbmVyKTsKCQl2YXIgaW5maW5pdHkgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CgoJCWlmIChoYXNDTm9kZSB8fCBoYXNDQ29udGFpbmVyKSB7CgkJCXJldHVybiBNYXRoLm1pbigKCQkJCWhhc0NOb2RlID8gcGFyc2VNYXhTdHlsZShjb25zdHJhaW5lZE5vZGUsIGRvbU5vZGUsIHBlcmNlbnRhZ2VQcm9wZXJ0eSkgOiBpbmZpbml0eSwKCQkJCWhhc0NDb250YWluZXIgPyBwYXJzZU1heFN0eWxlKGNvbnN0cmFpbmVkQ29udGFpbmVyLCBwYXJlbnROb2RlLCBwZXJjZW50YWdlUHJvcGVydHkpIDogaW5maW5pdHkpOwoJCX0KCgkJcmV0dXJuICdub25lJzsKCX0KCS8vIHJldHVybnMgTnVtYmVyIG9yIHVuZGVmaW5lZCBpZiBubyBjb25zdHJhaW50CgloZWxwZXJzLmdldENvbnN0cmFpbnRXaWR0aCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsKCQlyZXR1cm4gZ2V0Q29uc3RyYWludERpbWVuc2lvbihkb21Ob2RlLCAnbWF4LXdpZHRoJywgJ2NsaWVudFdpZHRoJyk7Cgl9OwoJLy8gcmV0dXJucyBOdW1iZXIgb3IgdW5kZWZpbmVkIGlmIG5vIGNvbnN0cmFpbnQKCWhlbHBlcnMuZ2V0Q29uc3RyYWludEhlaWdodCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsKCQlyZXR1cm4gZ2V0Q29uc3RyYWludERpbWVuc2lvbihkb21Ob2RlLCAnbWF4LWhlaWdodCcsICdjbGllbnRIZWlnaHQnKTsKCX07CgloZWxwZXJzLmdldE1heGltdW1XaWR0aCA9IGZ1bmN0aW9uKGRvbU5vZGUpIHsKCQl2YXIgY29udGFpbmVyID0gZG9tTm9kZS5wYXJlbnROb2RlOwoJCWlmICghY29udGFpbmVyKSB7CgkJCXJldHVybiBkb21Ob2RlLmNsaWVudFdpZHRoOwoJCX0KCgkJdmFyIHBhZGRpbmdMZWZ0ID0gcGFyc2VJbnQoaGVscGVycy5nZXRTdHlsZShjb250YWluZXIsICdwYWRkaW5nLWxlZnQnKSwgMTApOwoJCXZhciBwYWRkaW5nUmlnaHQgPSBwYXJzZUludChoZWxwZXJzLmdldFN0eWxlKGNvbnRhaW5lciwgJ3BhZGRpbmctcmlnaHQnKSwgMTApOwoJCXZhciB3ID0gY29udGFpbmVyLmNsaWVudFdpZHRoIC0gcGFkZGluZ0xlZnQgLSBwYWRkaW5nUmlnaHQ7CgkJdmFyIGN3ID0gaGVscGVycy5nZXRDb25zdHJhaW50V2lkdGgoZG9tTm9kZSk7CgkJcmV0dXJuIGlzTmFOKGN3KSA/IHcgOiBNYXRoLm1pbih3LCBjdyk7Cgl9OwoJaGVscGVycy5nZXRNYXhpbXVtSGVpZ2h0ID0gZnVuY3Rpb24oZG9tTm9kZSkgewoJCXZhciBjb250YWluZXIgPSBkb21Ob2RlLnBhcmVudE5vZGU7CgkJaWYgKCFjb250YWluZXIpIHsKCQkJcmV0dXJuIGRvbU5vZGUuY2xpZW50SGVpZ2h0OwoJCX0KCgkJdmFyIHBhZGRpbmdUb3AgPSBwYXJzZUludChoZWxwZXJzLmdldFN0eWxlKGNvbnRhaW5lciwgJ3BhZGRpbmctdG9wJyksIDEwKTsKCQl2YXIgcGFkZGluZ0JvdHRvbSA9IHBhcnNlSW50KGhlbHBlcnMuZ2V0U3R5bGUoY29udGFpbmVyLCAncGFkZGluZy1ib3R0b20nKSwgMTApOwoJCXZhciBoID0gY29udGFpbmVyLmNsaWVudEhlaWdodCAtIHBhZGRpbmdUb3AgLSBwYWRkaW5nQm90dG9tOwoJCXZhciBjaCA9IGhlbHBlcnMuZ2V0Q29uc3RyYWludEhlaWdodChkb21Ob2RlKTsKCQlyZXR1cm4gaXNOYU4oY2gpID8gaCA6IE1hdGgubWluKGgsIGNoKTsKCX07CgloZWxwZXJzLmdldFN0eWxlID0gZnVuY3Rpb24oZWwsIHByb3BlcnR5KSB7CgkJcmV0dXJuIGVsLmN1cnJlbnRTdHlsZSA/CgkJCWVsLmN1cnJlbnRTdHlsZVtwcm9wZXJ0eV0gOgoJCQlkb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KTsKCX07CgloZWxwZXJzLnJldGluYVNjYWxlID0gZnVuY3Rpb24oY2hhcnQsIGZvcmNlUmF0aW8pIHsKCQl2YXIgcGl4ZWxSYXRpbyA9IGNoYXJ0LmN1cnJlbnREZXZpY2VQaXhlbFJhdGlvID0gZm9yY2VSYXRpbyB8fCB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyB8fCAxOwoJCWlmIChwaXhlbFJhdGlvID09PSAxKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBjYW52YXMgPSBjaGFydC5jYW52YXM7CgkJdmFyIGhlaWdodCA9IGNoYXJ0LmhlaWdodDsKCQl2YXIgd2lkdGggPSBjaGFydC53aWR0aDsKCgkJY2FudmFzLmhlaWdodCA9IGhlaWdodCAqIHBpeGVsUmF0aW87CgkJY2FudmFzLndpZHRoID0gd2lkdGggKiBwaXhlbFJhdGlvOwoJCWNoYXJ0LmN0eC5zY2FsZShwaXhlbFJhdGlvLCBwaXhlbFJhdGlvKTsKCgkJLy8gSWYgbm8gc3R5bGUgaGFzIGJlZW4gc2V0IG9uIHRoZSBjYW52YXMsIHRoZSByZW5kZXIgc2l6ZSBpcyB1c2VkIGFzIGRpc3BsYXkgc2l6ZSwKCQkvLyBtYWtpbmcgdGhlIGNoYXJ0IHZpc3VhbGx5IGJpZ2dlciwgc28gbGV0J3MgZW5mb3JjZSBpdCB0byB0aGUgImNvcnJlY3QiIHZhbHVlcy4KCQkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzM1NzUKCQlpZiAoIWNhbnZhcy5zdHlsZS5oZWlnaHQgJiYgIWNhbnZhcy5zdHlsZS53aWR0aCkgewoJCQljYW52YXMuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JzsKCQkJY2FudmFzLnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnOwoJCX0KCX07CgkvLyAtLSBDYW52YXMgbWV0aG9kcwoJaGVscGVycy5mb250U3RyaW5nID0gZnVuY3Rpb24ocGl4ZWxTaXplLCBmb250U3R5bGUsIGZvbnRGYW1pbHkpIHsKCQlyZXR1cm4gZm9udFN0eWxlICsgJyAnICsgcGl4ZWxTaXplICsgJ3B4ICcgKyBmb250RmFtaWx5OwoJfTsKCWhlbHBlcnMubG9uZ2VzdFRleHQgPSBmdW5jdGlvbihjdHgsIGZvbnQsIGFycmF5T2ZUaGluZ3MsIGNhY2hlKSB7CgkJY2FjaGUgPSBjYWNoZSB8fCB7fTsKCQl2YXIgZGF0YSA9IGNhY2hlLmRhdGEgPSBjYWNoZS5kYXRhIHx8IHt9OwoJCXZhciBnYyA9IGNhY2hlLmdhcmJhZ2VDb2xsZWN0ID0gY2FjaGUuZ2FyYmFnZUNvbGxlY3QgfHwgW107CgoJCWlmIChjYWNoZS5mb250ICE9PSBmb250KSB7CgkJCWRhdGEgPSBjYWNoZS5kYXRhID0ge307CgkJCWdjID0gY2FjaGUuZ2FyYmFnZUNvbGxlY3QgPSBbXTsKCQkJY2FjaGUuZm9udCA9IGZvbnQ7CgkJfQoKCQljdHguZm9udCA9IGZvbnQ7CgkJdmFyIGxvbmdlc3QgPSAwOwoJCWhlbHBlcnMuZWFjaChhcnJheU9mVGhpbmdzLCBmdW5jdGlvbih0aGluZykgewoJCQkvLyBVbmRlZmluZWQgc3RyaW5ncyBhbmQgYXJyYXlzIHNob3VsZCBub3QgYmUgbWVhc3VyZWQKCQkJaWYgKHRoaW5nICE9PSB1bmRlZmluZWQgJiYgdGhpbmcgIT09IG51bGwgJiYgaGVscGVycy5pc0FycmF5KHRoaW5nKSAhPT0gdHJ1ZSkgewoJCQkJbG9uZ2VzdCA9IGhlbHBlcnMubWVhc3VyZVRleHQoY3R4LCBkYXRhLCBnYywgbG9uZ2VzdCwgdGhpbmcpOwoJCQl9IGVsc2UgaWYgKGhlbHBlcnMuaXNBcnJheSh0aGluZykpIHsKCQkJCS8vIGlmIGl0IGlzIGFuIGFycmF5IGxldHMgbWVhc3VyZSBlYWNoIGVsZW1lbnQKCQkJCS8vIHRvIGRvIG1heWJlIHNpbXBsaWZ5IHRoaXMgZnVuY3Rpb24gYSBiaXQgc28gd2UgY2FuIGRvIHRoaXMgbW9yZSByZWN1cnNpdmVseT8KCQkJCWhlbHBlcnMuZWFjaCh0aGluZywgZnVuY3Rpb24obmVzdGVkVGhpbmcpIHsKCQkJCQkvLyBVbmRlZmluZWQgc3RyaW5ncyBhbmQgYXJyYXlzIHNob3VsZCBub3QgYmUgbWVhc3VyZWQKCQkJCQlpZiAobmVzdGVkVGhpbmcgIT09IHVuZGVmaW5lZCAmJiBuZXN0ZWRUaGluZyAhPT0gbnVsbCAmJiAhaGVscGVycy5pc0FycmF5KG5lc3RlZFRoaW5nKSkgewoJCQkJCQlsb25nZXN0ID0gaGVscGVycy5tZWFzdXJlVGV4dChjdHgsIGRhdGEsIGdjLCBsb25nZXN0LCBuZXN0ZWRUaGluZyk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9KTsKCgkJdmFyIGdjTGVuID0gZ2MubGVuZ3RoIC8gMjsKCQlpZiAoZ2NMZW4gPiBhcnJheU9mVGhpbmdzLmxlbmd0aCkgewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGdjTGVuOyBpKyspIHsKCQkJCWRlbGV0ZSBkYXRhW2djW2ldXTsKCQkJfQoJCQlnYy5zcGxpY2UoMCwgZ2NMZW4pOwoJCX0KCQlyZXR1cm4gbG9uZ2VzdDsKCX07CgloZWxwZXJzLm1lYXN1cmVUZXh0ID0gZnVuY3Rpb24oY3R4LCBkYXRhLCBnYywgbG9uZ2VzdCwgc3RyaW5nKSB7CgkJdmFyIHRleHRXaWR0aCA9IGRhdGFbc3RyaW5nXTsKCQlpZiAoIXRleHRXaWR0aCkgewoJCQl0ZXh0V2lkdGggPSBkYXRhW3N0cmluZ10gPSBjdHgubWVhc3VyZVRleHQoc3RyaW5nKS53aWR0aDsKCQkJZ2MucHVzaChzdHJpbmcpOwoJCX0KCQlpZiAodGV4dFdpZHRoID4gbG9uZ2VzdCkgewoJCQlsb25nZXN0ID0gdGV4dFdpZHRoOwoJCX0KCQlyZXR1cm4gbG9uZ2VzdDsKCX07CgloZWxwZXJzLm51bWJlck9mTGFiZWxMaW5lcyA9IGZ1bmN0aW9uKGFycmF5T2ZUaGluZ3MpIHsKCQl2YXIgbnVtYmVyT2ZMaW5lcyA9IDE7CgkJaGVscGVycy5lYWNoKGFycmF5T2ZUaGluZ3MsIGZ1bmN0aW9uKHRoaW5nKSB7CgkJCWlmIChoZWxwZXJzLmlzQXJyYXkodGhpbmcpKSB7CgkJCQlpZiAodGhpbmcubGVuZ3RoID4gbnVtYmVyT2ZMaW5lcykgewoJCQkJCW51bWJlck9mTGluZXMgPSB0aGluZy5sZW5ndGg7CgkJCQl9CgkJCX0KCQl9KTsKCQlyZXR1cm4gbnVtYmVyT2ZMaW5lczsKCX07CgoJaGVscGVycy5jb2xvciA9ICFjb2xvciA/CgkJZnVuY3Rpb24odmFsdWUpIHsKCQkJY29uc29sZS5lcnJvcignQ29sb3IuanMgbm90IGZvdW5kIScpOwoJCQlyZXR1cm4gdmFsdWU7CgkJfSA6CgkJZnVuY3Rpb24odmFsdWUpIHsKCQkJLyogZ2xvYmFsIENhbnZhc0dyYWRpZW50ICovCgkJCWlmICh2YWx1ZSBpbnN0YW5jZW9mIENhbnZhc0dyYWRpZW50KSB7CgkJCQl2YWx1ZSA9IGRlZmF1bHRzLmdsb2JhbC5kZWZhdWx0Q29sb3I7CgkJCX0KCgkJCXJldHVybiBjb2xvcih2YWx1ZSk7CgkJfTsKCgloZWxwZXJzLmdldEhvdmVyQ29sb3IgPSBmdW5jdGlvbihjb2xvclZhbHVlKSB7CgkJLyogZ2xvYmFsIENhbnZhc1BhdHRlcm4gKi8KCQlyZXR1cm4gKGNvbG9yVmFsdWUgaW5zdGFuY2VvZiBDYW52YXNQYXR0ZXJuKSA/CgkJCWNvbG9yVmFsdWUgOgoJCQloZWxwZXJzLmNvbG9yKGNvbG9yVmFsdWUpLnNhdHVyYXRlKDAuNSkuZGFya2VuKDAuMSkucmdiU3RyaW5nKCk7Cgl9Owp9OwoKfSx7IjIiOjIsIjI1IjoyNSwiNDUiOjQ1fV0sMjg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKLyoqCiAqIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgcmVsYXRpdmUgcG9zaXRpb24gZm9yIGFuIGV2ZW50CiAqIEBwYXJhbSB7RXZlbnR8SUV2ZW50fSBldmVudCAtIFRoZSBldmVudCB0byBnZXQgdGhlIHBvc2l0aW9uIGZvcgogKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIFRoZSBjaGFydAogKiBAcmV0dXJucyB7UG9pbnR9IHRoZSBldmVudCBwb3NpdGlvbgogKi8KZnVuY3Rpb24gZ2V0UmVsYXRpdmVQb3NpdGlvbihlLCBjaGFydCkgewoJaWYgKGUubmF0aXZlKSB7CgkJcmV0dXJuIHsKCQkJeDogZS54LAoJCQl5OiBlLnkKCQl9OwoJfQoKCXJldHVybiBoZWxwZXJzLmdldFJlbGF0aXZlUG9zaXRpb24oZSwgY2hhcnQpOwp9CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIHRyYXZlcnNlIGFsbCBvZiB0aGUgdmlzaWJsZSBlbGVtZW50cyBpbiB0aGUgY2hhcnQKICogQHBhcmFtIGNoYXJ0IHtjaGFydH0gdGhlIGNoYXJ0CiAqIEBwYXJhbSBoYW5kbGVyIHtGdW5jdGlvbn0gdGhlIGNhbGxiYWNrIHRvIGV4ZWN1dGUgZm9yIGVhY2ggdmlzaWJsZSBpdGVtCiAqLwpmdW5jdGlvbiBwYXJzZVZpc2libGVJdGVtcyhjaGFydCwgaGFuZGxlcikgewoJdmFyIGRhdGFzZXRzID0gY2hhcnQuZGF0YS5kYXRhc2V0czsKCXZhciBtZXRhLCBpLCBqLCBpbGVuLCBqbGVuOwoKCWZvciAoaSA9IDAsIGlsZW4gPSBkYXRhc2V0cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQlpZiAoIWNoYXJ0LmlzRGF0YXNldFZpc2libGUoaSkpIHsKCQkJY29udGludWU7CgkJfQoKCQltZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7CgkJZm9yIChqID0gMCwgamxlbiA9IG1ldGEuZGF0YS5sZW5ndGg7IGogPCBqbGVuOyArK2opIHsKCQkJdmFyIGVsZW1lbnQgPSBtZXRhLmRhdGFbal07CgkJCWlmICghZWxlbWVudC5fdmlldy5za2lwKSB7CgkJCQloYW5kbGVyKGVsZW1lbnQpOwoJCQl9CgkJfQoJfQp9CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgaXRlbXMgdGhhdCBpbnRlcnNlY3QgdGhlIGV2ZW50IHBvc2l0aW9uCiAqIEBwYXJhbSBpdGVtcyB7Q2hhcnRFbGVtZW50W119IGVsZW1lbnRzIHRvIGZpbHRlcgogKiBAcGFyYW0gcG9zaXRpb24ge1BvaW50fSB0aGUgcG9pbnQgdG8gYmUgbmVhcmVzdCB0bwogKiBAcmV0dXJuIHtDaGFydEVsZW1lbnRbXX0gdGhlIG5lYXJlc3QgaXRlbXMKICovCmZ1bmN0aW9uIGdldEludGVyc2VjdEl0ZW1zKGNoYXJ0LCBwb3NpdGlvbikgewoJdmFyIGVsZW1lbnRzID0gW107CgoJcGFyc2VWaXNpYmxlSXRlbXMoY2hhcnQsIGZ1bmN0aW9uKGVsZW1lbnQpIHsKCQlpZiAoZWxlbWVudC5pblJhbmdlKHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpKSB7CgkJCWVsZW1lbnRzLnB1c2goZWxlbWVudCk7CgkJfQoJfSk7CgoJcmV0dXJuIGVsZW1lbnRzOwp9CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgaXRlbXMgbmVhcmVzdCB0byB0aGUgZXZlbnQgcG9zaXRpb24gY29uc2lkZXJpbmcgYWxsIHZpc2libGUgaXRlbXMgaW4gdGVoIGNoYXJ0CiAqIEBwYXJhbSBjaGFydCB7Q2hhcnR9IHRoZSBjaGFydCB0byBsb29rIGF0IGVsZW1lbnRzIGZyb20KICogQHBhcmFtIHBvc2l0aW9uIHtQb2ludH0gdGhlIHBvaW50IHRvIGJlIG5lYXJlc3QgdG8KICogQHBhcmFtIGludGVyc2VjdCB7Qm9vbGVhbn0gaWYgdHJ1ZSwgb25seSBjb25zaWRlciBpdGVtcyB0aGF0IGludGVyc2VjdCB0aGUgcG9zaXRpb24KICogQHBhcmFtIGRpc3RhbmNlTWV0cmljIHtGdW5jdGlvbn0gZnVuY3Rpb24gdG8gcHJvdmlkZSB0aGUgZGlzdGFuY2UgYmV0d2VlbiBwb2ludHMKICogQHJldHVybiB7Q2hhcnRFbGVtZW50W119IHRoZSBuZWFyZXN0IGl0ZW1zCiAqLwpmdW5jdGlvbiBnZXROZWFyZXN0SXRlbXMoY2hhcnQsIHBvc2l0aW9uLCBpbnRlcnNlY3QsIGRpc3RhbmNlTWV0cmljKSB7Cgl2YXIgbWluRGlzdGFuY2UgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7Cgl2YXIgbmVhcmVzdEl0ZW1zID0gW107CgoJcGFyc2VWaXNpYmxlSXRlbXMoY2hhcnQsIGZ1bmN0aW9uKGVsZW1lbnQpIHsKCQlpZiAoaW50ZXJzZWN0ICYmICFlbGVtZW50LmluUmFuZ2UocG9zaXRpb24ueCwgcG9zaXRpb24ueSkpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIGNlbnRlciA9IGVsZW1lbnQuZ2V0Q2VudGVyUG9pbnQoKTsKCQl2YXIgZGlzdGFuY2UgPSBkaXN0YW5jZU1ldHJpYyhwb3NpdGlvbiwgY2VudGVyKTsKCgkJaWYgKGRpc3RhbmNlIDwgbWluRGlzdGFuY2UpIHsKCQkJbmVhcmVzdEl0ZW1zID0gW2VsZW1lbnRdOwoJCQltaW5EaXN0YW5jZSA9IGRpc3RhbmNlOwoJCX0gZWxzZSBpZiAoZGlzdGFuY2UgPT09IG1pbkRpc3RhbmNlKSB7CgkJCS8vIENhbiBoYXZlIG11bHRpcGxlIGl0ZW1zIGF0IHRoZSBzYW1lIGRpc3RhbmNlIGluIHdoaWNoIGNhc2Ugd2Ugc29ydCBieSBzaXplCgkJCW5lYXJlc3RJdGVtcy5wdXNoKGVsZW1lbnQpOwoJCX0KCX0pOwoKCXJldHVybiBuZWFyZXN0SXRlbXM7Cn0KCi8qKgogKiBHZXQgYSBkaXN0YW5jZSBtZXRyaWMgZnVuY3Rpb24gZm9yIHR3byBwb2ludHMgYmFzZWQgb24gdGhlCiAqIGF4aXMgbW9kZSBzZXR0aW5nCiAqIEBwYXJhbSB7U3RyaW5nfSBheGlzIHRoZSBheGlzIG1vZGUuIHh8eXx4eQogKi8KZnVuY3Rpb24gZ2V0RGlzdGFuY2VNZXRyaWNGb3JBeGlzKGF4aXMpIHsKCXZhciB1c2VYID0gYXhpcy5pbmRleE9mKCd4JykgIT09IC0xOwoJdmFyIHVzZVkgPSBheGlzLmluZGV4T2YoJ3knKSAhPT0gLTE7CgoJcmV0dXJuIGZ1bmN0aW9uKHB0MSwgcHQyKSB7CgkJdmFyIGRlbHRhWCA9IHVzZVggPyBNYXRoLmFicyhwdDEueCAtIHB0Mi54KSA6IDA7CgkJdmFyIGRlbHRhWSA9IHVzZVkgPyBNYXRoLmFicyhwdDEueSAtIHB0Mi55KSA6IDA7CgkJcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhkZWx0YVgsIDIpICsgTWF0aC5wb3coZGVsdGFZLCAyKSk7Cgl9Owp9CgpmdW5jdGlvbiBpbmRleE1vZGUoY2hhcnQsIGUsIG9wdGlvbnMpIHsKCXZhciBwb3NpdGlvbiA9IGdldFJlbGF0aXZlUG9zaXRpb24oZSwgY2hhcnQpOwoJLy8gRGVmYXVsdCBheGlzIGZvciBpbmRleCBtb2RlIGlzICd4JyB0byBtYXRjaCBvbGQgYmVoYXZpb3VyCglvcHRpb25zLmF4aXMgPSBvcHRpb25zLmF4aXMgfHwgJ3gnOwoJdmFyIGRpc3RhbmNlTWV0cmljID0gZ2V0RGlzdGFuY2VNZXRyaWNGb3JBeGlzKG9wdGlvbnMuYXhpcyk7Cgl2YXIgaXRlbXMgPSBvcHRpb25zLmludGVyc2VjdCA/IGdldEludGVyc2VjdEl0ZW1zKGNoYXJ0LCBwb3NpdGlvbikgOiBnZXROZWFyZXN0SXRlbXMoY2hhcnQsIHBvc2l0aW9uLCBmYWxzZSwgZGlzdGFuY2VNZXRyaWMpOwoJdmFyIGVsZW1lbnRzID0gW107CgoJaWYgKCFpdGVtcy5sZW5ndGgpIHsKCQlyZXR1cm4gW107Cgl9CgoJY2hhcnQuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKGZ1bmN0aW9uKGRhdGFzZXQsIGRhdGFzZXRJbmRleCkgewoJCWlmIChjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkpIHsKCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQl2YXIgZWxlbWVudCA9IG1ldGEuZGF0YVtpdGVtc1swXS5faW5kZXhdOwoKCQkJLy8gZG9uJ3QgY291bnQgaXRlbXMgdGhhdCBhcmUgc2tpcHBlZCAobnVsbCBkYXRhKQoJCQlpZiAoZWxlbWVudCAmJiAhZWxlbWVudC5fdmlldy5za2lwKSB7CgkJCQllbGVtZW50cy5wdXNoKGVsZW1lbnQpOwoJCQl9CgkJfQoJfSk7CgoJcmV0dXJuIGVsZW1lbnRzOwp9CgovKioKICogQGludGVyZmFjZSBJSW50ZXJhY3Rpb25PcHRpb25zCiAqLwovKioKICogSWYgdHJ1ZSwgb25seSBjb25zaWRlciBpdGVtcyB0aGF0IGludGVyc2VjdCB0aGUgcG9pbnQKICogQG5hbWUgSUludGVyZmFjZU9wdGlvbnMjYm9vbGVhbgogKiBAdHlwZSBCb29sZWFuCiAqLwoKLyoqCiAqIENvbnRhaW5zIGludGVyYWN0aW9uIHJlbGF0ZWQgZnVuY3Rpb25zCiAqIEBuYW1lc3BhY2UgQ2hhcnQuSW50ZXJhY3Rpb24KICovCm1vZHVsZS5leHBvcnRzID0gewoJLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBkaWZmZXJlbnQgbW9kZXMKCW1vZGVzOiB7CgkJc2luZ2xlOiBmdW5jdGlvbihjaGFydCwgZSkgewoJCQl2YXIgcG9zaXRpb24gPSBnZXRSZWxhdGl2ZVBvc2l0aW9uKGUsIGNoYXJ0KTsKCQkJdmFyIGVsZW1lbnRzID0gW107CgoJCQlwYXJzZVZpc2libGVJdGVtcyhjaGFydCwgZnVuY3Rpb24oZWxlbWVudCkgewoJCQkJaWYgKGVsZW1lbnQuaW5SYW5nZShwb3NpdGlvbi54LCBwb3NpdGlvbi55KSkgewoJCQkJCWVsZW1lbnRzLnB1c2goZWxlbWVudCk7CgkJCQkJcmV0dXJuIGVsZW1lbnRzOwoJCQkJfQoJCQl9KTsKCgkJCXJldHVybiBlbGVtZW50cy5zbGljZSgwLCAxKTsKCQl9LAoKCQkvKioKCQkgKiBAZnVuY3Rpb24gQ2hhcnQuSW50ZXJhY3Rpb24ubW9kZXMubGFiZWwKCQkgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNC4wCgkJICogQHRvZG8gcmVtb3ZlIGF0IHZlcnNpb24gMwoJCSAqIEBwcml2YXRlCgkJICovCgkJbGFiZWw6IGluZGV4TW9kZSwKCgkJLyoqCgkJICogUmV0dXJucyBpdGVtcyBhdCB0aGUgc2FtZSBpbmRleC4gSWYgdGhlIG9wdGlvbnMuaW50ZXJzZWN0IHBhcmFtZXRlciBpcyB0cnVlLCB3ZSBvbmx5IHJldHVybiBpdGVtcyBpZiB3ZSBpbnRlcnNlY3Qgc29tZXRoaW5nCgkJICogSWYgdGhlIG9wdGlvbnMuaW50ZXJzZWN0IG1vZGUgaXMgZmFsc2UsIHdlIGZpbmQgdGhlIG5lYXJlc3QgaXRlbSBhbmQgcmV0dXJuIHRoZSBpdGVtcyBhdCB0aGUgc2FtZSBpbmRleCBhcyB0aGF0IGl0ZW0KCQkgKiBAZnVuY3Rpb24gQ2hhcnQuSW50ZXJhY3Rpb24ubW9kZXMuaW5kZXgKCQkgKiBAc2luY2UgdjIuNC4wCgkJICogQHBhcmFtIGNoYXJ0IHtjaGFydH0gdGhlIGNoYXJ0IHdlIGFyZSByZXR1cm5pbmcgaXRlbXMgZnJvbQoJCSAqIEBwYXJhbSBlIHtFdmVudH0gdGhlIGV2ZW50IHdlIGFyZSBmaW5kIHRoaW5ncyBhdAoJCSAqIEBwYXJhbSBvcHRpb25zIHtJSW50ZXJhY3Rpb25PcHRpb25zfSBvcHRpb25zIHRvIHVzZSBkdXJpbmcgaW50ZXJhY3Rpb24KCQkgKiBAcmV0dXJuIHtDaGFydC5FbGVtZW50W119IEFycmF5IG9mIGVsZW1lbnRzIHRoYXQgYXJlIHVuZGVyIHRoZSBwb2ludC4gSWYgbm9uZSBhcmUgZm91bmQsIGFuIGVtcHR5IGFycmF5IGlzIHJldHVybmVkCgkJICovCgkJaW5kZXg6IGluZGV4TW9kZSwKCgkJLyoqCgkJICogUmV0dXJucyBpdGVtcyBpbiB0aGUgc2FtZSBkYXRhc2V0LiBJZiB0aGUgb3B0aW9ucy5pbnRlcnNlY3QgcGFyYW1ldGVyIGlzIHRydWUsIHdlIG9ubHkgcmV0dXJuIGl0ZW1zIGlmIHdlIGludGVyc2VjdCBzb21ldGhpbmcKCQkgKiBJZiB0aGUgb3B0aW9ucy5pbnRlcnNlY3QgaXMgZmFsc2UsIHdlIGZpbmQgdGhlIG5lYXJlc3QgaXRlbSBhbmQgcmV0dXJuIHRoZSBpdGVtcyBpbiB0aGF0IGRhdGFzZXQKCQkgKiBAZnVuY3Rpb24gQ2hhcnQuSW50ZXJhY3Rpb24ubW9kZXMuZGF0YXNldAoJCSAqIEBwYXJhbSBjaGFydCB7Y2hhcnR9IHRoZSBjaGFydCB3ZSBhcmUgcmV0dXJuaW5nIGl0ZW1zIGZyb20KCQkgKiBAcGFyYW0gZSB7RXZlbnR9IHRoZSBldmVudCB3ZSBhcmUgZmluZCB0aGluZ3MgYXQKCQkgKiBAcGFyYW0gb3B0aW9ucyB7SUludGVyYWN0aW9uT3B0aW9uc30gb3B0aW9ucyB0byB1c2UgZHVyaW5nIGludGVyYWN0aW9uCgkJICogQHJldHVybiB7Q2hhcnQuRWxlbWVudFtdfSBBcnJheSBvZiBlbGVtZW50cyB0aGF0IGFyZSB1bmRlciB0aGUgcG9pbnQuIElmIG5vbmUgYXJlIGZvdW5kLCBhbiBlbXB0eSBhcnJheSBpcyByZXR1cm5lZAoJCSAqLwoJCWRhdGFzZXQ6IGZ1bmN0aW9uKGNoYXJ0LCBlLCBvcHRpb25zKSB7CgkJCXZhciBwb3NpdGlvbiA9IGdldFJlbGF0aXZlUG9zaXRpb24oZSwgY2hhcnQpOwoJCQlvcHRpb25zLmF4aXMgPSBvcHRpb25zLmF4aXMgfHwgJ3h5JzsKCQkJdmFyIGRpc3RhbmNlTWV0cmljID0gZ2V0RGlzdGFuY2VNZXRyaWNGb3JBeGlzKG9wdGlvbnMuYXhpcyk7CgkJCXZhciBpdGVtcyA9IG9wdGlvbnMuaW50ZXJzZWN0ID8gZ2V0SW50ZXJzZWN0SXRlbXMoY2hhcnQsIHBvc2l0aW9uKSA6IGdldE5lYXJlc3RJdGVtcyhjaGFydCwgcG9zaXRpb24sIGZhbHNlLCBkaXN0YW5jZU1ldHJpYyk7CgoJCQlpZiAoaXRlbXMubGVuZ3RoID4gMCkgewoJCQkJaXRlbXMgPSBjaGFydC5nZXREYXRhc2V0TWV0YShpdGVtc1swXS5fZGF0YXNldEluZGV4KS5kYXRhOwoJCQl9CgoJCQlyZXR1cm4gaXRlbXM7CgkJfSwKCgkJLyoqCgkJICogQGZ1bmN0aW9uIENoYXJ0LkludGVyYWN0aW9uLm1vZGVzLngtYXhpcwoJCSAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMi40LjAuIFVzZSBpbmRleCBtb2RlIGFuZCBpbnRlcnNlY3QgPT0gdHJ1ZQoJCSAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCSd4LWF4aXMnOiBmdW5jdGlvbihjaGFydCwgZSkgewoJCQlyZXR1cm4gaW5kZXhNb2RlKGNoYXJ0LCBlLCB7aW50ZXJzZWN0OiBmYWxzZX0pOwoJCX0sCgoJCS8qKgoJCSAqIFBvaW50IG1vZGUgcmV0dXJucyBhbGwgZWxlbWVudHMgdGhhdCBoaXQgdGVzdCBiYXNlZCBvbiB0aGUgZXZlbnQgcG9zaXRpb24KCQkgKiBvZiB0aGUgZXZlbnQKCQkgKiBAZnVuY3Rpb24gQ2hhcnQuSW50ZXJhY3Rpb24ubW9kZXMuaW50ZXJzZWN0CgkJICogQHBhcmFtIGNoYXJ0IHtjaGFydH0gdGhlIGNoYXJ0IHdlIGFyZSByZXR1cm5pbmcgaXRlbXMgZnJvbQoJCSAqIEBwYXJhbSBlIHtFdmVudH0gdGhlIGV2ZW50IHdlIGFyZSBmaW5kIHRoaW5ncyBhdAoJCSAqIEByZXR1cm4ge0NoYXJ0LkVsZW1lbnRbXX0gQXJyYXkgb2YgZWxlbWVudHMgdGhhdCBhcmUgdW5kZXIgdGhlIHBvaW50LiBJZiBub25lIGFyZSBmb3VuZCwgYW4gZW1wdHkgYXJyYXkgaXMgcmV0dXJuZWQKCQkgKi8KCQlwb2ludDogZnVuY3Rpb24oY2hhcnQsIGUpIHsKCQkJdmFyIHBvc2l0aW9uID0gZ2V0UmVsYXRpdmVQb3NpdGlvbihlLCBjaGFydCk7CgkJCXJldHVybiBnZXRJbnRlcnNlY3RJdGVtcyhjaGFydCwgcG9zaXRpb24pOwoJCX0sCgoJCS8qKgoJCSAqIG5lYXJlc3QgbW9kZSByZXR1cm5zIHRoZSBlbGVtZW50IGNsb3Nlc3QgdG8gdGhlIHBvaW50CgkJICogQGZ1bmN0aW9uIENoYXJ0LkludGVyYWN0aW9uLm1vZGVzLmludGVyc2VjdAoJCSAqIEBwYXJhbSBjaGFydCB7Y2hhcnR9IHRoZSBjaGFydCB3ZSBhcmUgcmV0dXJuaW5nIGl0ZW1zIGZyb20KCQkgKiBAcGFyYW0gZSB7RXZlbnR9IHRoZSBldmVudCB3ZSBhcmUgZmluZCB0aGluZ3MgYXQKCQkgKiBAcGFyYW0gb3B0aW9ucyB7SUludGVyYWN0aW9uT3B0aW9uc30gb3B0aW9ucyB0byB1c2UKCQkgKiBAcmV0dXJuIHtDaGFydC5FbGVtZW50W119IEFycmF5IG9mIGVsZW1lbnRzIHRoYXQgYXJlIHVuZGVyIHRoZSBwb2ludC4gSWYgbm9uZSBhcmUgZm91bmQsIGFuIGVtcHR5IGFycmF5IGlzIHJldHVybmVkCgkJICovCgkJbmVhcmVzdDogZnVuY3Rpb24oY2hhcnQsIGUsIG9wdGlvbnMpIHsKCQkJdmFyIHBvc2l0aW9uID0gZ2V0UmVsYXRpdmVQb3NpdGlvbihlLCBjaGFydCk7CgkJCW9wdGlvbnMuYXhpcyA9IG9wdGlvbnMuYXhpcyB8fCAneHknOwoJCQl2YXIgZGlzdGFuY2VNZXRyaWMgPSBnZXREaXN0YW5jZU1ldHJpY0ZvckF4aXMob3B0aW9ucy5heGlzKTsKCQkJdmFyIG5lYXJlc3RJdGVtcyA9IGdldE5lYXJlc3RJdGVtcyhjaGFydCwgcG9zaXRpb24sIG9wdGlvbnMuaW50ZXJzZWN0LCBkaXN0YW5jZU1ldHJpYyk7CgoJCQkvLyBXZSBoYXZlIG11bHRpcGxlIGl0ZW1zIGF0IHRoZSBzYW1lIGRpc3RhbmNlIGZyb20gdGhlIGV2ZW50LiBOb3cgc29ydCBieSBzbWFsbGVzdAoJCQlpZiAobmVhcmVzdEl0ZW1zLmxlbmd0aCA+IDEpIHsKCQkJCW5lYXJlc3RJdGVtcy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKCQkJCQl2YXIgc2l6ZUEgPSBhLmdldEFyZWEoKTsKCQkJCQl2YXIgc2l6ZUIgPSBiLmdldEFyZWEoKTsKCQkJCQl2YXIgcmV0ID0gc2l6ZUEgLSBzaXplQjsKCgkJCQkJaWYgKHJldCA9PT0gMCkgewoJCQkJCQkvLyBpZiBlcXVhbCBzb3J0IGJ5IGRhdGFzZXQgaW5kZXgKCQkJCQkJcmV0ID0gYS5fZGF0YXNldEluZGV4IC0gYi5fZGF0YXNldEluZGV4OwoJCQkJCX0KCgkJCQkJcmV0dXJuIHJldDsKCQkJCX0pOwoJCQl9CgoJCQkvLyBSZXR1cm4gb25seSAxIGl0ZW0KCQkJcmV0dXJuIG5lYXJlc3RJdGVtcy5zbGljZSgwLCAxKTsKCQl9LAoKCQkvKioKCQkgKiB4IG1vZGUgcmV0dXJucyB0aGUgZWxlbWVudHMgdGhhdCBoaXQtdGVzdCBhdCB0aGUgY3VycmVudCB4IGNvb3JkaW5hdGUKCQkgKiBAZnVuY3Rpb24gQ2hhcnQuSW50ZXJhY3Rpb24ubW9kZXMueAoJCSAqIEBwYXJhbSBjaGFydCB7Y2hhcnR9IHRoZSBjaGFydCB3ZSBhcmUgcmV0dXJuaW5nIGl0ZW1zIGZyb20KCQkgKiBAcGFyYW0gZSB7RXZlbnR9IHRoZSBldmVudCB3ZSBhcmUgZmluZCB0aGluZ3MgYXQKCQkgKiBAcGFyYW0gb3B0aW9ucyB7SUludGVyYWN0aW9uT3B0aW9uc30gb3B0aW9ucyB0byB1c2UKCQkgKiBAcmV0dXJuIHtDaGFydC5FbGVtZW50W119IEFycmF5IG9mIGVsZW1lbnRzIHRoYXQgYXJlIHVuZGVyIHRoZSBwb2ludC4gSWYgbm9uZSBhcmUgZm91bmQsIGFuIGVtcHR5IGFycmF5IGlzIHJldHVybmVkCgkJICovCgkJeDogZnVuY3Rpb24oY2hhcnQsIGUsIG9wdGlvbnMpIHsKCQkJdmFyIHBvc2l0aW9uID0gZ2V0UmVsYXRpdmVQb3NpdGlvbihlLCBjaGFydCk7CgkJCXZhciBpdGVtcyA9IFtdOwoJCQl2YXIgaW50ZXJzZWN0c0l0ZW0gPSBmYWxzZTsKCgkJCXBhcnNlVmlzaWJsZUl0ZW1zKGNoYXJ0LCBmdW5jdGlvbihlbGVtZW50KSB7CgkJCQlpZiAoZWxlbWVudC5pblhSYW5nZShwb3NpdGlvbi54KSkgewoJCQkJCWl0ZW1zLnB1c2goZWxlbWVudCk7CgkJCQl9CgoJCQkJaWYgKGVsZW1lbnQuaW5SYW5nZShwb3NpdGlvbi54LCBwb3NpdGlvbi55KSkgewoJCQkJCWludGVyc2VjdHNJdGVtID0gdHJ1ZTsKCQkJCX0KCQkJfSk7CgoJCQkvLyBJZiB3ZSB3YW50IHRvIHRyaWdnZXIgb24gYW4gaW50ZXJzZWN0IGFuZCB3ZSBkb24ndCBoYXZlIGFueSBpdGVtcwoJCQkvLyB0aGF0IGludGVyc2VjdCB0aGUgcG9zaXRpb24sIHJldHVybiBub3RoaW5nCgkJCWlmIChvcHRpb25zLmludGVyc2VjdCAmJiAhaW50ZXJzZWN0c0l0ZW0pIHsKCQkJCWl0ZW1zID0gW107CgkJCX0KCQkJcmV0dXJuIGl0ZW1zOwoJCX0sCgoJCS8qKgoJCSAqIHkgbW9kZSByZXR1cm5zIHRoZSBlbGVtZW50cyB0aGF0IGhpdC10ZXN0IGF0IHRoZSBjdXJyZW50IHkgY29vcmRpbmF0ZQoJCSAqIEBmdW5jdGlvbiBDaGFydC5JbnRlcmFjdGlvbi5tb2Rlcy55CgkJICogQHBhcmFtIGNoYXJ0IHtjaGFydH0gdGhlIGNoYXJ0IHdlIGFyZSByZXR1cm5pbmcgaXRlbXMgZnJvbQoJCSAqIEBwYXJhbSBlIHtFdmVudH0gdGhlIGV2ZW50IHdlIGFyZSBmaW5kIHRoaW5ncyBhdAoJCSAqIEBwYXJhbSBvcHRpb25zIHtJSW50ZXJhY3Rpb25PcHRpb25zfSBvcHRpb25zIHRvIHVzZQoJCSAqIEByZXR1cm4ge0NoYXJ0LkVsZW1lbnRbXX0gQXJyYXkgb2YgZWxlbWVudHMgdGhhdCBhcmUgdW5kZXIgdGhlIHBvaW50LiBJZiBub25lIGFyZSBmb3VuZCwgYW4gZW1wdHkgYXJyYXkgaXMgcmV0dXJuZWQKCQkgKi8KCQl5OiBmdW5jdGlvbihjaGFydCwgZSwgb3B0aW9ucykgewoJCQl2YXIgcG9zaXRpb24gPSBnZXRSZWxhdGl2ZVBvc2l0aW9uKGUsIGNoYXJ0KTsKCQkJdmFyIGl0ZW1zID0gW107CgkJCXZhciBpbnRlcnNlY3RzSXRlbSA9IGZhbHNlOwoKCQkJcGFyc2VWaXNpYmxlSXRlbXMoY2hhcnQsIGZ1bmN0aW9uKGVsZW1lbnQpIHsKCQkJCWlmIChlbGVtZW50LmluWVJhbmdlKHBvc2l0aW9uLnkpKSB7CgkJCQkJaXRlbXMucHVzaChlbGVtZW50KTsKCQkJCX0KCgkJCQlpZiAoZWxlbWVudC5pblJhbmdlKHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpKSB7CgkJCQkJaW50ZXJzZWN0c0l0ZW0gPSB0cnVlOwoJCQkJfQoJCQl9KTsKCgkJCS8vIElmIHdlIHdhbnQgdG8gdHJpZ2dlciBvbiBhbiBpbnRlcnNlY3QgYW5kIHdlIGRvbid0IGhhdmUgYW55IGl0ZW1zCgkJCS8vIHRoYXQgaW50ZXJzZWN0IHRoZSBwb3NpdGlvbiwgcmV0dXJuIG5vdGhpbmcKCQkJaWYgKG9wdGlvbnMuaW50ZXJzZWN0ICYmICFpbnRlcnNlY3RzSXRlbSkgewoJCQkJaXRlbXMgPSBbXTsKCQkJfQoJCQlyZXR1cm4gaXRlbXM7CgkJfQoJfQp9OwoKfSx7IjQ1Ijo0NX1dLDI5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGRlZmF1bHRzID0gcmVxdWlyZSgyNSk7CgpkZWZhdWx0cy5fc2V0KCdnbG9iYWwnLCB7CglyZXNwb25zaXZlOiB0cnVlLAoJcmVzcG9uc2l2ZUFuaW1hdGlvbkR1cmF0aW9uOiAwLAoJbWFpbnRhaW5Bc3BlY3RSYXRpbzogdHJ1ZSwKCWV2ZW50czogWydtb3VzZW1vdmUnLCAnbW91c2VvdXQnLCAnY2xpY2snLCAndG91Y2hzdGFydCcsICd0b3VjaG1vdmUnXSwKCWhvdmVyOiB7CgkJb25Ib3ZlcjogbnVsbCwKCQltb2RlOiAnbmVhcmVzdCcsCgkJaW50ZXJzZWN0OiB0cnVlLAoJCWFuaW1hdGlvbkR1cmF0aW9uOiA0MDAKCX0sCglvbkNsaWNrOiBudWxsLAoJZGVmYXVsdENvbG9yOiAncmdiYSgwLDAsMCwwLjEpJywKCWRlZmF1bHRGb250Q29sb3I6ICcjNjY2JywKCWRlZmF1bHRGb250RmFtaWx5OiAiJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYiLAoJZGVmYXVsdEZvbnRTaXplOiAxMiwKCWRlZmF1bHRGb250U3R5bGU6ICdub3JtYWwnLAoJc2hvd0xpbmVzOiB0cnVlLAoKCS8vIEVsZW1lbnQgZGVmYXVsdHMgZGVmaW5lZCBpbiBlbGVtZW50IGV4dGVuc2lvbnMKCWVsZW1lbnRzOiB7fSwKCgkvLyBMYXlvdXQgb3B0aW9ucyBzdWNoIGFzIHBhZGRpbmcKCWxheW91dDogewoJCXBhZGRpbmc6IHsKCQkJdG9wOiAwLAoJCQlyaWdodDogMCwKCQkJYm90dG9tOiAwLAoJCQlsZWZ0OiAwCgkJfQoJfQp9KTsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7CgoJLy8gT2NjdXB5IHRoZSBnbG9iYWwgdmFyaWFibGUgb2YgQ2hhcnQsIGFuZCBjcmVhdGUgYSBzaW1wbGUgYmFzZSBjbGFzcwoJdmFyIENoYXJ0ID0gZnVuY3Rpb24oaXRlbSwgY29uZmlnKSB7CgkJdGhpcy5jb25zdHJ1Y3QoaXRlbSwgY29uZmlnKTsKCQlyZXR1cm4gdGhpczsKCX07CgoJQ2hhcnQuQ2hhcnQgPSBDaGFydDsKCglyZXR1cm4gQ2hhcnQ7Cn07Cgp9LHsiMjUiOjI1fV0sMzA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKZnVuY3Rpb24gZmlsdGVyQnlQb3NpdGlvbihhcnJheSwgcG9zaXRpb24pIHsKCXJldHVybiBoZWxwZXJzLndoZXJlKGFycmF5LCBmdW5jdGlvbih2KSB7CgkJcmV0dXJuIHYucG9zaXRpb24gPT09IHBvc2l0aW9uOwoJfSk7Cn0KCmZ1bmN0aW9uIHNvcnRCeVdlaWdodChhcnJheSwgcmV2ZXJzZSkgewoJYXJyYXkuZm9yRWFjaChmdW5jdGlvbih2LCBpKSB7CgkJdi5fdG1wSW5kZXhfID0gaTsKCQlyZXR1cm4gdjsKCX0pOwoJYXJyYXkuc29ydChmdW5jdGlvbihhLCBiKSB7CgkJdmFyIHYwID0gcmV2ZXJzZSA/IGIgOiBhOwoJCXZhciB2MSA9IHJldmVyc2UgPyBhIDogYjsKCQlyZXR1cm4gdjAud2VpZ2h0ID09PSB2MS53ZWlnaHQgPwoJCQl2MC5fdG1wSW5kZXhfIC0gdjEuX3RtcEluZGV4XyA6CgkJCXYwLndlaWdodCAtIHYxLndlaWdodDsKCX0pOwoJYXJyYXkuZm9yRWFjaChmdW5jdGlvbih2KSB7CgkJZGVsZXRlIHYuX3RtcEluZGV4XzsKCX0pOwp9CgovKioKICogQGludGVyZmFjZSBJTGF5b3V0SXRlbQogKiBAcHJvcCB7U3RyaW5nfSBwb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSBpbiB0aGUgY2hhcnQgbGF5b3V0LiBQb3NzaWJsZSB2YWx1ZXMgYXJlCiAqICdsZWZ0JywgJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCBhbmQgJ2NoYXJ0QXJlYScKICogQHByb3Age051bWJlcn0gd2VpZ2h0IC0gVGhlIHdlaWdodCB1c2VkIHRvIHNvcnQgdGhlIGl0ZW0uIEhpZ2hlciB3ZWlnaHRzIGFyZSBmdXJ0aGVyIGF3YXkgZnJvbSB0aGUgY2hhcnQgYXJlYQogKiBAcHJvcCB7Qm9vbGVhbn0gZnVsbFdpZHRoIC0gaWYgdHJ1ZSwgYW5kIHRoZSBpdGVtIGlzIGhvcml6b250YWwsIHRoZW4gcHVzaCB2ZXJ0aWNhbCBib3hlcyBkb3duCiAqIEBwcm9wIHtGdW5jdGlvbn0gaXNIb3Jpem9udGFsIC0gcmV0dXJucyB0cnVlIGlmIHRoZSBsYXlvdXQgaXRlbSBpcyBob3Jpem9udGFsIChpZS4gdG9wIG9yIGJvdHRvbSkKICogQHByb3Age0Z1bmN0aW9ufSB1cGRhdGUgLSBUYWtlcyB0d28gcGFyYW1ldGVyczogd2lkdGggYW5kIGhlaWdodC4gUmV0dXJucyBzaXplIG9mIGl0ZW0KICogQHByb3Age0Z1bmN0aW9ufSBnZXRQYWRkaW5nIC0gIFJldHVybnMgYW4gb2JqZWN0IHdpdGggcGFkZGluZyBvbiB0aGUgZWRnZXMKICogQHByb3Age051bWJlcn0gd2lkdGggLSBXaWR0aCBvZiBpdGVtLiBNdXN0IGJlIHZhbGlkIGFmdGVyIHVwZGF0ZSgpCiAqIEBwcm9wIHtOdW1iZXJ9IGhlaWdodCAtIEhlaWdodCBvZiBpdGVtLiBNdXN0IGJlIHZhbGlkIGFmdGVyIHVwZGF0ZSgpCiAqIEBwcm9wIHtOdW1iZXJ9IGxlZnQgLSBMZWZ0IGVkZ2Ugb2YgdGhlIGl0ZW0uIFNldCBieSBsYXlvdXQgc3lzdGVtIGFuZCBjYW5ub3QgYmUgdXNlZCBpbiB1cGRhdGUKICogQHByb3Age051bWJlcn0gdG9wIC0gVG9wIGVkZ2Ugb2YgdGhlIGl0ZW0uIFNldCBieSBsYXlvdXQgc3lzdGVtIGFuZCBjYW5ub3QgYmUgdXNlZCBpbiB1cGRhdGUKICogQHByb3Age051bWJlcn0gcmlnaHQgLSBSaWdodCBlZGdlIG9mIHRoZSBpdGVtLiBTZXQgYnkgbGF5b3V0IHN5c3RlbSBhbmQgY2Fubm90IGJlIHVzZWQgaW4gdXBkYXRlCiAqIEBwcm9wIHtOdW1iZXJ9IGJvdHRvbSAtIEJvdHRvbSBlZGdlIG9mIHRoZSBpdGVtLiBTZXQgYnkgbGF5b3V0IHN5c3RlbSBhbmQgY2Fubm90IGJlIHVzZWQgaW4gdXBkYXRlCiAqLwoKLy8gVGhlIGxheW91dCBzZXJ2aWNlIGlzIHZlcnkgc2VsZiBleHBsYW5hdG9yeS4gIEl0J3MgcmVzcG9uc2libGUgZm9yIHRoZSBsYXlvdXQgd2l0aGluIGEgY2hhcnQuCi8vIFNjYWxlcywgTGVnZW5kcyBhbmQgUGx1Z2lucyBhbGwgcmVseSBvbiB0aGUgbGF5b3V0IHNlcnZpY2UgYW5kIGNhbiBlYXNpbHkgcmVnaXN0ZXIgdG8gYmUgcGxhY2VkIGFueXdoZXJlIHRoZXkgbmVlZAovLyBJdCBpcyB0aGlzIHNlcnZpY2UncyByZXNwb25zaWJpbGl0eSBvZiBjYXJyeWluZyBvdXQgdGhhdCBsYXlvdXQuCm1vZHVsZS5leHBvcnRzID0gewoJZGVmYXVsdHM6IHt9LAoKCS8qKgoJICogUmVnaXN0ZXIgYSBib3ggdG8gYSBjaGFydC4KCSAqIEEgYm94IGlzIHNpbXBseSBhIHJlZmVyZW5jZSB0byBhbiBvYmplY3QgdGhhdCByZXF1aXJlcyBsYXlvdXQuIGVnLiBTY2FsZXMsIExlZ2VuZCwgVGl0bGUuCgkgKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIHRoZSBjaGFydCB0byB1c2UKCSAqIEBwYXJhbSB7SUxheW91dEl0ZW19IGl0ZW0gLSB0aGUgaXRlbSB0byBhZGQgdG8gYmUgbGF5ZWQgb3V0CgkgKi8KCWFkZEJveDogZnVuY3Rpb24oY2hhcnQsIGl0ZW0pIHsKCQlpZiAoIWNoYXJ0LmJveGVzKSB7CgkJCWNoYXJ0LmJveGVzID0gW107CgkJfQoKCQkvLyBpbml0aWFsaXplIGl0ZW0gd2l0aCBkZWZhdWx0IHZhbHVlcwoJCWl0ZW0uZnVsbFdpZHRoID0gaXRlbS5mdWxsV2lkdGggfHwgZmFsc2U7CgkJaXRlbS5wb3NpdGlvbiA9IGl0ZW0ucG9zaXRpb24gfHwgJ3RvcCc7CgkJaXRlbS53ZWlnaHQgPSBpdGVtLndlaWdodCB8fCAwOwoKCQljaGFydC5ib3hlcy5wdXNoKGl0ZW0pOwoJfSwKCgkvKioKCSAqIFJlbW92ZSBhIGxheW91dEl0ZW0gZnJvbSBhIGNoYXJ0CgkgKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIHRoZSBjaGFydCB0byByZW1vdmUgdGhlIGJveCBmcm9tCgkgKiBAcGFyYW0ge09iamVjdH0gbGF5b3V0SXRlbSAtIHRoZSBpdGVtIHRvIHJlbW92ZSBmcm9tIHRoZSBsYXlvdXQKCSAqLwoJcmVtb3ZlQm94OiBmdW5jdGlvbihjaGFydCwgbGF5b3V0SXRlbSkgewoJCXZhciBpbmRleCA9IGNoYXJ0LmJveGVzID8gY2hhcnQuYm94ZXMuaW5kZXhPZihsYXlvdXRJdGVtKSA6IC0xOwoJCWlmIChpbmRleCAhPT0gLTEpIHsKCQkJY2hhcnQuYm94ZXMuc3BsaWNlKGluZGV4LCAxKTsKCQl9Cgl9LAoKCS8qKgoJICogU2V0cyAob3IgdXBkYXRlcykgb3B0aW9ucyBvbiB0aGUgZ2l2ZW4gYGl0ZW1gLgoJICogQHBhcmFtIHtDaGFydH0gY2hhcnQgLSB0aGUgY2hhcnQgaW4gd2hpY2ggdGhlIGl0ZW0gbGl2ZXMgKG9yIHdpbGwgYmUgYWRkZWQgdG8pCgkgKiBAcGFyYW0ge09iamVjdH0gaXRlbSAtIHRoZSBpdGVtIHRvIGNvbmZpZ3VyZSB3aXRoIHRoZSBnaXZlbiBvcHRpb25zCgkgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIHRoZSBuZXcgaXRlbSBvcHRpb25zLgoJICovCgljb25maWd1cmU6IGZ1bmN0aW9uKGNoYXJ0LCBpdGVtLCBvcHRpb25zKSB7CgkJdmFyIHByb3BzID0gWydmdWxsV2lkdGgnLCAncG9zaXRpb24nLCAnd2VpZ2h0J107CgkJdmFyIGlsZW4gPSBwcm9wcy5sZW5ndGg7CgkJdmFyIGkgPSAwOwoJCXZhciBwcm9wOwoKCQlmb3IgKDsgaSA8IGlsZW47ICsraSkgewoJCQlwcm9wID0gcHJvcHNbaV07CgkJCWlmIChvcHRpb25zLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJCQlpdGVtW3Byb3BdID0gb3B0aW9uc1twcm9wXTsKCQkJfQoJCX0KCX0sCgoJLyoqCgkgKiBGaXRzIGJveGVzIG9mIHRoZSBnaXZlbiBjaGFydCBpbnRvIHRoZSBnaXZlbiBzaXplIGJ5IGhhdmluZyBlYWNoIGJveCBtZWFzdXJlIGl0c2VsZgoJICogdGhlbiBydW5uaW5nIGEgZml0dGluZyBhbGdvcml0aG0KCSAqIEBwYXJhbSB7Q2hhcnR9IGNoYXJ0IC0gdGhlIGNoYXJ0CgkgKiBAcGFyYW0ge051bWJlcn0gd2lkdGggLSB0aGUgd2lkdGggdG8gZml0IGludG8KCSAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQgLSB0aGUgaGVpZ2h0IHRvIGZpdCBpbnRvCgkgKi8KCXVwZGF0ZTogZnVuY3Rpb24oY2hhcnQsIHdpZHRoLCBoZWlnaHQpIHsKCQlpZiAoIWNoYXJ0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBsYXlvdXRPcHRpb25zID0gY2hhcnQub3B0aW9ucy5sYXlvdXQgfHwge307CgkJdmFyIHBhZGRpbmcgPSBoZWxwZXJzLm9wdGlvbnMudG9QYWRkaW5nKGxheW91dE9wdGlvbnMucGFkZGluZyk7CgkJdmFyIGxlZnRQYWRkaW5nID0gcGFkZGluZy5sZWZ0OwoJCXZhciByaWdodFBhZGRpbmcgPSBwYWRkaW5nLnJpZ2h0OwoJCXZhciB0b3BQYWRkaW5nID0gcGFkZGluZy50b3A7CgkJdmFyIGJvdHRvbVBhZGRpbmcgPSBwYWRkaW5nLmJvdHRvbTsKCgkJdmFyIGxlZnRCb3hlcyA9IGZpbHRlckJ5UG9zaXRpb24oY2hhcnQuYm94ZXMsICdsZWZ0Jyk7CgkJdmFyIHJpZ2h0Qm94ZXMgPSBmaWx0ZXJCeVBvc2l0aW9uKGNoYXJ0LmJveGVzLCAncmlnaHQnKTsKCQl2YXIgdG9wQm94ZXMgPSBmaWx0ZXJCeVBvc2l0aW9uKGNoYXJ0LmJveGVzLCAndG9wJyk7CgkJdmFyIGJvdHRvbUJveGVzID0gZmlsdGVyQnlQb3NpdGlvbihjaGFydC5ib3hlcywgJ2JvdHRvbScpOwoJCXZhciBjaGFydEFyZWFCb3hlcyA9IGZpbHRlckJ5UG9zaXRpb24oY2hhcnQuYm94ZXMsICdjaGFydEFyZWEnKTsKCgkJLy8gU29ydCBib3hlcyBieSB3ZWlnaHQuIEEgaGlnaGVyIHdlaWdodCBpcyBmdXJ0aGVyIGF3YXkgZnJvbSB0aGUgY2hhcnQgYXJlYQoJCXNvcnRCeVdlaWdodChsZWZ0Qm94ZXMsIHRydWUpOwoJCXNvcnRCeVdlaWdodChyaWdodEJveGVzLCBmYWxzZSk7CgkJc29ydEJ5V2VpZ2h0KHRvcEJveGVzLCB0cnVlKTsKCQlzb3J0QnlXZWlnaHQoYm90dG9tQm94ZXMsIGZhbHNlKTsKCgkJLy8gRXNzZW50aWFsbHkgd2Ugbm93IGhhdmUgYW55IG51bWJlciBvZiBib3hlcyBvbiBlYWNoIG9mIHRoZSA0IHNpZGVzLgoJCS8vIE91ciBjYW52YXMgbG9va3MgbGlrZSB0aGUgZm9sbG93aW5nLgoJCS8vIFRoZSBhcmVhcyBMMSBhbmQgTDIgYXJlIHRoZSBsZWZ0IGF4ZXMuIFIxIGlzIHRoZSByaWdodCBheGlzLCBUMSBpcyB0aGUgdG9wIGF4aXMgYW5kCgkJLy8gQjEgaXMgdGhlIGJvdHRvbSBheGlzCgkJLy8gVGhlcmUgYXJlIGFsc28gNCBxdWFkcmFudC1saWtlIGxvY2F0aW9ucyAobGVmdCB0byByaWdodCBpbnN0ZWFkIG9mIGNsb2Nrd2lzZSkgcmVzZXJ2ZWQgZm9yIGNoYXJ0IG92ZXJsYXlzCgkJLy8gVGhlc2UgbG9jYXRpb25zIGFyZSBzaW5nbGUtYm94IGxvY2F0aW9ucyBvbmx5LCB3aGVuIHRyeWluZyB0byByZWdpc3RlciBhIGNoYXJ0QXJlYSBsb2NhdGlvbiB0aGF0IGlzIGFscmVhZHkgdGFrZW4sCgkJLy8gYW4gZXJyb3Igd2lsbCBiZSB0aHJvd24uCgkJLy8KCQkvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCQkvLyB8ICAgICAgICAgICAgICAgICAgVDEgKEZ1bGwgV2lkdGgpICAgICAgICAgICAgICAgICAgIHwKCQkvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgVDIgICAgICAgICAgICAgICAgICB8ICAgIHwKCQkvLyB8ICAgIHwtLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLXwKCQkvLyB8ICAgIHwgICAgfCBDMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDMiB8ICAgIHwKCQkvLyB8ICAgIHwgICAgfC0tLS18ICAgICAgICAgICAgICAgICAgICAgICAgICAgfC0tLS18ICAgIHwKCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHwKCQkvLyB8IEwxIHwgTDIgfCAgICAgICAgICAgQ2hhcnRBcmVhIChDMCkgICAgICAgICAgICB8IFIxIHwKCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHwKCQkvLyB8ICAgIHwgICAgfC0tLS18ICAgICAgICAgICAgICAgICAgICAgICAgICAgfC0tLS18ICAgIHwKCQkvLyB8ICAgIHwgICAgfCBDMyB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDNCB8ICAgIHwKCQkvLyB8ICAgIHwtLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLXwKCQkvLyB8ICAgIHwgICAgfCAgICAgICAgICAgICAgICAgQjEgICAgICAgICAgICAgICAgICB8ICAgIHwKCQkvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCQkvLyB8ICAgICAgICAgICAgICAgICAgQjIgKEZ1bGwgV2lkdGgpICAgICAgICAgICAgICAgICAgIHwKCQkvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKCQkvLwoJCS8vIFdoYXQgd2UgZG8gdG8gZmluZCB0aGUgYmVzdCBzaXppbmcsIHdlIGRvIHRoZSBmb2xsb3dpbmcKCQkvLyAxLiBEZXRlcm1pbmUgdGhlIG1pbmltdW0gc2l6ZSBvZiB0aGUgY2hhcnQgYXJlYS4KCQkvLyAyLiBTcGxpdCB0aGUgcmVtYWluaW5nIHdpZHRoIGVxdWFsbHkgYmV0d2VlbiBlYWNoIHZlcnRpY2FsIGF4aXMKCQkvLyAzLiBTcGxpdCB0aGUgcmVtYWluaW5nIGhlaWdodCBlcXVhbGx5IGJldHdlZW4gZWFjaCBob3Jpem9udGFsIGF4aXMKCQkvLyA0LiBHaXZlIGVhY2ggbGF5b3V0IHRoZSBtYXhpbXVtIHNpemUgaXQgY2FuIGJlLiBUaGUgbGF5b3V0IHdpbGwgcmV0dXJuIGl0J3MgbWluaW11bSBzaXplCgkJLy8gNS4gQWRqdXN0IHRoZSBzaXplcyBvZiBlYWNoIGF4aXMgYmFzZWQgb24gaXQncyBtaW5pbXVtIHJlcG9ydGVkIHNpemUuCgkJLy8gNi4gUmVmaXQgZWFjaCBheGlzCgkJLy8gNy4gUG9zaXRpb24gZWFjaCBheGlzIGluIHRoZSBmaW5hbCBsb2NhdGlvbgoJCS8vIDguIFRlbGwgdGhlIGNoYXJ0IHRoZSBmaW5hbCBsb2NhdGlvbiBvZiB0aGUgY2hhcnQgYXJlYQoJCS8vIDkuIFRlbGwgYW55IGF4ZXMgdGhhdCBvdmVybGF5IHRoZSBjaGFydCBhcmVhIHRoZSBwb3NpdGlvbnMgb2YgdGhlIGNoYXJ0IGFyZWEKCgkJLy8gU3RlcCAxCgkJdmFyIGNoYXJ0V2lkdGggPSB3aWR0aCAtIGxlZnRQYWRkaW5nIC0gcmlnaHRQYWRkaW5nOwoJCXZhciBjaGFydEhlaWdodCA9IGhlaWdodCAtIHRvcFBhZGRpbmcgLSBib3R0b21QYWRkaW5nOwoJCXZhciBjaGFydEFyZWFXaWR0aCA9IGNoYXJ0V2lkdGggLyAyOyAvLyBtaW4gNTAlCgkJdmFyIGNoYXJ0QXJlYUhlaWdodCA9IGNoYXJ0SGVpZ2h0IC8gMjsgLy8gbWluIDUwJQoKCQkvLyBTdGVwIDIKCQl2YXIgdmVydGljYWxCb3hXaWR0aCA9ICh3aWR0aCAtIGNoYXJ0QXJlYVdpZHRoKSAvIChsZWZ0Qm94ZXMubGVuZ3RoICsgcmlnaHRCb3hlcy5sZW5ndGgpOwoKCQkvLyBTdGVwIDMKCQl2YXIgaG9yaXpvbnRhbEJveEhlaWdodCA9IChoZWlnaHQgLSBjaGFydEFyZWFIZWlnaHQpIC8gKHRvcEJveGVzLmxlbmd0aCArIGJvdHRvbUJveGVzLmxlbmd0aCk7CgoJCS8vIFN0ZXAgNAoJCXZhciBtYXhDaGFydEFyZWFXaWR0aCA9IGNoYXJ0V2lkdGg7CgkJdmFyIG1heENoYXJ0QXJlYUhlaWdodCA9IGNoYXJ0SGVpZ2h0OwoJCXZhciBtaW5Cb3hTaXplcyA9IFtdOwoKCQlmdW5jdGlvbiBnZXRNaW5pbXVtQm94U2l6ZShib3gpIHsKCQkJdmFyIG1pblNpemU7CgkJCXZhciBpc0hvcml6b250YWwgPSBib3guaXNIb3Jpem9udGFsKCk7CgoJCQlpZiAoaXNIb3Jpem9udGFsKSB7CgkJCQltaW5TaXplID0gYm94LnVwZGF0ZShib3guZnVsbFdpZHRoID8gY2hhcnRXaWR0aCA6IG1heENoYXJ0QXJlYVdpZHRoLCBob3Jpem9udGFsQm94SGVpZ2h0KTsKCQkJCW1heENoYXJ0QXJlYUhlaWdodCAtPSBtaW5TaXplLmhlaWdodDsKCQkJfSBlbHNlIHsKCQkJCW1pblNpemUgPSBib3gudXBkYXRlKHZlcnRpY2FsQm94V2lkdGgsIG1heENoYXJ0QXJlYUhlaWdodCk7CgkJCQltYXhDaGFydEFyZWFXaWR0aCAtPSBtaW5TaXplLndpZHRoOwoJCQl9CgoJCQltaW5Cb3hTaXplcy5wdXNoKHsKCQkJCWhvcml6b250YWw6IGlzSG9yaXpvbnRhbCwKCQkJCW1pblNpemU6IG1pblNpemUsCgkJCQlib3g6IGJveCwKCQkJfSk7CgkJfQoKCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLmNvbmNhdChyaWdodEJveGVzLCB0b3BCb3hlcywgYm90dG9tQm94ZXMpLCBnZXRNaW5pbXVtQm94U2l6ZSk7CgoJCS8vIElmIGEgaG9yaXpvbnRhbCBib3ggaGFzIHBhZGRpbmcsIHdlIG1vdmUgdGhlIGxlZnQgYm94ZXMgb3ZlciB0byBhdm9pZCB1Z2x5IGNoYXJ0cyAoc2VlIGlzc3VlICMyNDc4KQoJCXZhciBtYXhIb3Jpem9udGFsTGVmdFBhZGRpbmcgPSAwOwoJCXZhciBtYXhIb3Jpem9udGFsUmlnaHRQYWRkaW5nID0gMDsKCQl2YXIgbWF4VmVydGljYWxUb3BQYWRkaW5nID0gMDsKCQl2YXIgbWF4VmVydGljYWxCb3R0b21QYWRkaW5nID0gMDsKCgkJaGVscGVycy5lYWNoKHRvcEJveGVzLmNvbmNhdChib3R0b21Cb3hlcyksIGZ1bmN0aW9uKGhvcml6b250YWxCb3gpIHsKCQkJaWYgKGhvcml6b250YWxCb3guZ2V0UGFkZGluZykgewoJCQkJdmFyIGJveFBhZGRpbmcgPSBob3Jpem9udGFsQm94LmdldFBhZGRpbmcoKTsKCQkJCW1heEhvcml6b250YWxMZWZ0UGFkZGluZyA9IE1hdGgubWF4KG1heEhvcml6b250YWxMZWZ0UGFkZGluZywgYm94UGFkZGluZy5sZWZ0KTsKCQkJCW1heEhvcml6b250YWxSaWdodFBhZGRpbmcgPSBNYXRoLm1heChtYXhIb3Jpem9udGFsUmlnaHRQYWRkaW5nLCBib3hQYWRkaW5nLnJpZ2h0KTsKCQkJfQoJCX0pOwoKCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLmNvbmNhdChyaWdodEJveGVzKSwgZnVuY3Rpb24odmVydGljYWxCb3gpIHsKCQkJaWYgKHZlcnRpY2FsQm94LmdldFBhZGRpbmcpIHsKCQkJCXZhciBib3hQYWRkaW5nID0gdmVydGljYWxCb3guZ2V0UGFkZGluZygpOwoJCQkJbWF4VmVydGljYWxUb3BQYWRkaW5nID0gTWF0aC5tYXgobWF4VmVydGljYWxUb3BQYWRkaW5nLCBib3hQYWRkaW5nLnRvcCk7CgkJCQltYXhWZXJ0aWNhbEJvdHRvbVBhZGRpbmcgPSBNYXRoLm1heChtYXhWZXJ0aWNhbEJvdHRvbVBhZGRpbmcsIGJveFBhZGRpbmcuYm90dG9tKTsKCQkJfQoJCX0pOwoKCQkvLyBBdCB0aGlzIHBvaW50LCBtYXhDaGFydEFyZWFIZWlnaHQgYW5kIG1heENoYXJ0QXJlYVdpZHRoIGFyZSB0aGUgc2l6ZSB0aGUgY2hhcnQgYXJlYSBjb3VsZAoJCS8vIGJlIGlmIHRoZSBheGVzIGFyZSBkcmF3biBhdCB0aGVpciBtaW5pbXVtIHNpemVzLgoJCS8vIFN0ZXBzIDUgJiA2CgkJdmFyIHRvdGFsTGVmdEJveGVzV2lkdGggPSBsZWZ0UGFkZGluZzsKCQl2YXIgdG90YWxSaWdodEJveGVzV2lkdGggPSByaWdodFBhZGRpbmc7CgkJdmFyIHRvdGFsVG9wQm94ZXNIZWlnaHQgPSB0b3BQYWRkaW5nOwoJCXZhciB0b3RhbEJvdHRvbUJveGVzSGVpZ2h0ID0gYm90dG9tUGFkZGluZzsKCgkJLy8gRnVuY3Rpb24gdG8gZml0IGEgYm94CgkJZnVuY3Rpb24gZml0Qm94KGJveCkgewoJCQl2YXIgbWluQm94U2l6ZSA9IGhlbHBlcnMuZmluZE5leHRXaGVyZShtaW5Cb3hTaXplcywgZnVuY3Rpb24obWluQm94KSB7CgkJCQlyZXR1cm4gbWluQm94LmJveCA9PT0gYm94OwoJCQl9KTsKCgkJCWlmIChtaW5Cb3hTaXplKSB7CgkJCQlpZiAoYm94LmlzSG9yaXpvbnRhbCgpKSB7CgkJCQkJdmFyIHNjYWxlTWFyZ2luID0gewoJCQkJCQlsZWZ0OiBNYXRoLm1heCh0b3RhbExlZnRCb3hlc1dpZHRoLCBtYXhIb3Jpem9udGFsTGVmdFBhZGRpbmcpLAoJCQkJCQlyaWdodDogTWF0aC5tYXgodG90YWxSaWdodEJveGVzV2lkdGgsIG1heEhvcml6b250YWxSaWdodFBhZGRpbmcpLAoJCQkJCQl0b3A6IDAsCgkJCQkJCWJvdHRvbTogMAoJCQkJCX07CgoJCQkJCS8vIERvbid0IHVzZSBtaW4gc2l6ZSBoZXJlIGJlY2F1c2Ugb2YgbGFiZWwgcm90YXRpb24uIFdoZW4gdGhlIGxhYmVscyBhcmUgcm90YXRlZCwgdGhlaXIgcm90YXRpb24gaGlnaGx5IGRlcGVuZHMKCQkJCQkvLyBvbiB0aGUgbWFyZ2luLiBTb21ldGltZXMgdGhleSBuZWVkIHRvIGluY3JlYXNlIGluIHNpemUgc2xpZ2h0bHkKCQkJCQlib3gudXBkYXRlKGJveC5mdWxsV2lkdGggPyBjaGFydFdpZHRoIDogbWF4Q2hhcnRBcmVhV2lkdGgsIGNoYXJ0SGVpZ2h0IC8gMiwgc2NhbGVNYXJnaW4pOwoJCQkJfSBlbHNlIHsKCQkJCQlib3gudXBkYXRlKG1pbkJveFNpemUubWluU2l6ZS53aWR0aCwgbWF4Q2hhcnRBcmVhSGVpZ2h0KTsKCQkJCX0KCQkJfQoJCX0KCgkJLy8gVXBkYXRlLCBhbmQgY2FsY3VsYXRlIHRoZSBsZWZ0IGFuZCByaWdodCBtYXJnaW5zIGZvciB0aGUgaG9yaXpvbnRhbCBib3hlcwoJCWhlbHBlcnMuZWFjaChsZWZ0Qm94ZXMuY29uY2F0KHJpZ2h0Qm94ZXMpLCBmaXRCb3gpOwoKCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLCBmdW5jdGlvbihib3gpIHsKCQkJdG90YWxMZWZ0Qm94ZXNXaWR0aCArPSBib3gud2lkdGg7CgkJfSk7CgoJCWhlbHBlcnMuZWFjaChyaWdodEJveGVzLCBmdW5jdGlvbihib3gpIHsKCQkJdG90YWxSaWdodEJveGVzV2lkdGggKz0gYm94LndpZHRoOwoJCX0pOwoKCQkvLyBTZXQgdGhlIExlZnQgYW5kIFJpZ2h0IG1hcmdpbnMgZm9yIHRoZSBob3Jpem9udGFsIGJveGVzCgkJaGVscGVycy5lYWNoKHRvcEJveGVzLmNvbmNhdChib3R0b21Cb3hlcyksIGZpdEJveCk7CgoJCS8vIEZpZ3VyZSBvdXQgaG93IG11Y2ggbWFyZ2luIGlzIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBvZiB0aGUgdmVydGljYWwgYm94ZXMKCQloZWxwZXJzLmVhY2godG9wQm94ZXMsIGZ1bmN0aW9uKGJveCkgewoJCQl0b3RhbFRvcEJveGVzSGVpZ2h0ICs9IGJveC5oZWlnaHQ7CgkJfSk7CgoJCWhlbHBlcnMuZWFjaChib3R0b21Cb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCXRvdGFsQm90dG9tQm94ZXNIZWlnaHQgKz0gYm94LmhlaWdodDsKCQl9KTsKCgkJZnVuY3Rpb24gZmluYWxGaXRWZXJ0aWNhbEJveChib3gpIHsKCQkJdmFyIG1pbkJveFNpemUgPSBoZWxwZXJzLmZpbmROZXh0V2hlcmUobWluQm94U2l6ZXMsIGZ1bmN0aW9uKG1pblNpemUpIHsKCQkJCXJldHVybiBtaW5TaXplLmJveCA9PT0gYm94OwoJCQl9KTsKCgkJCXZhciBzY2FsZU1hcmdpbiA9IHsKCQkJCWxlZnQ6IDAsCgkJCQlyaWdodDogMCwKCQkJCXRvcDogdG90YWxUb3BCb3hlc0hlaWdodCwKCQkJCWJvdHRvbTogdG90YWxCb3R0b21Cb3hlc0hlaWdodAoJCQl9OwoKCQkJaWYgKG1pbkJveFNpemUpIHsKCQkJCWJveC51cGRhdGUobWluQm94U2l6ZS5taW5TaXplLndpZHRoLCBtYXhDaGFydEFyZWFIZWlnaHQsIHNjYWxlTWFyZ2luKTsKCQkJfQoJCX0KCgkJLy8gTGV0IHRoZSBsZWZ0IGxheW91dCBrbm93IHRoZSBmaW5hbCBtYXJnaW4KCQloZWxwZXJzLmVhY2gobGVmdEJveGVzLmNvbmNhdChyaWdodEJveGVzKSwgZmluYWxGaXRWZXJ0aWNhbEJveCk7CgoJCS8vIFJlY2FsY3VsYXRlIGJlY2F1c2UgdGhlIHNpemUgb2YgZWFjaCBsYXlvdXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNsaWdodGx5IGR1ZSB0byB0aGUgbWFyZ2lucyAobGFiZWwgcm90YXRpb24gZm9yIGluc3RhbmNlKQoJCXRvdGFsTGVmdEJveGVzV2lkdGggPSBsZWZ0UGFkZGluZzsKCQl0b3RhbFJpZ2h0Qm94ZXNXaWR0aCA9IHJpZ2h0UGFkZGluZzsKCQl0b3RhbFRvcEJveGVzSGVpZ2h0ID0gdG9wUGFkZGluZzsKCQl0b3RhbEJvdHRvbUJveGVzSGVpZ2h0ID0gYm90dG9tUGFkZGluZzsKCgkJaGVscGVycy5lYWNoKGxlZnRCb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCXRvdGFsTGVmdEJveGVzV2lkdGggKz0gYm94LndpZHRoOwoJCX0pOwoKCQloZWxwZXJzLmVhY2gocmlnaHRCb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCXRvdGFsUmlnaHRCb3hlc1dpZHRoICs9IGJveC53aWR0aDsKCQl9KTsKCgkJaGVscGVycy5lYWNoKHRvcEJveGVzLCBmdW5jdGlvbihib3gpIHsKCQkJdG90YWxUb3BCb3hlc0hlaWdodCArPSBib3guaGVpZ2h0OwoJCX0pOwoJCWhlbHBlcnMuZWFjaChib3R0b21Cb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCXRvdGFsQm90dG9tQm94ZXNIZWlnaHQgKz0gYm94LmhlaWdodDsKCQl9KTsKCgkJLy8gV2UgbWF5IGJlIGFkZGluZyBzb21lIHBhZGRpbmcgdG8gYWNjb3VudCBmb3Igcm90YXRlZCB4IGF4aXMgbGFiZWxzCgkJdmFyIGxlZnRQYWRkaW5nQWRkaXRpb24gPSBNYXRoLm1heChtYXhIb3Jpem9udGFsTGVmdFBhZGRpbmcgLSB0b3RhbExlZnRCb3hlc1dpZHRoLCAwKTsKCQl0b3RhbExlZnRCb3hlc1dpZHRoICs9IGxlZnRQYWRkaW5nQWRkaXRpb247CgkJdG90YWxSaWdodEJveGVzV2lkdGggKz0gTWF0aC5tYXgobWF4SG9yaXpvbnRhbFJpZ2h0UGFkZGluZyAtIHRvdGFsUmlnaHRCb3hlc1dpZHRoLCAwKTsKCgkJdmFyIHRvcFBhZGRpbmdBZGRpdGlvbiA9IE1hdGgubWF4KG1heFZlcnRpY2FsVG9wUGFkZGluZyAtIHRvdGFsVG9wQm94ZXNIZWlnaHQsIDApOwoJCXRvdGFsVG9wQm94ZXNIZWlnaHQgKz0gdG9wUGFkZGluZ0FkZGl0aW9uOwoJCXRvdGFsQm90dG9tQm94ZXNIZWlnaHQgKz0gTWF0aC5tYXgobWF4VmVydGljYWxCb3R0b21QYWRkaW5nIC0gdG90YWxCb3R0b21Cb3hlc0hlaWdodCwgMCk7CgoJCS8vIEZpZ3VyZSBvdXQgaWYgb3VyIGNoYXJ0IGFyZWEgY2hhbmdlZC4gVGhpcyB3b3VsZCBvY2N1ciBpZiB0aGUgZGF0YXNldCBsYXlvdXQgbGFiZWwgcm90YXRpb24KCQkvLyBjaGFuZ2VkIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gb2YgdGhlIG1hcmdpbnMgaW4gc3RlcCA2LiBTaW5jZSB3ZSBjYW4gb25seSBnZXQgYmlnZ2VyLCB0aGlzIGlzIHNhZmUgdG8gZG8KCQkvLyB3aXRob3V0IGNhbGxpbmcgYGZpdGAgYWdhaW4KCQl2YXIgbmV3TWF4Q2hhcnRBcmVhSGVpZ2h0ID0gaGVpZ2h0IC0gdG90YWxUb3BCb3hlc0hlaWdodCAtIHRvdGFsQm90dG9tQm94ZXNIZWlnaHQ7CgkJdmFyIG5ld01heENoYXJ0QXJlYVdpZHRoID0gd2lkdGggLSB0b3RhbExlZnRCb3hlc1dpZHRoIC0gdG90YWxSaWdodEJveGVzV2lkdGg7CgoJCWlmIChuZXdNYXhDaGFydEFyZWFXaWR0aCAhPT0gbWF4Q2hhcnRBcmVhV2lkdGggfHwgbmV3TWF4Q2hhcnRBcmVhSGVpZ2h0ICE9PSBtYXhDaGFydEFyZWFIZWlnaHQpIHsKCQkJaGVscGVycy5lYWNoKGxlZnRCb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCQlib3guaGVpZ2h0ID0gbmV3TWF4Q2hhcnRBcmVhSGVpZ2h0OwoJCQl9KTsKCgkJCWhlbHBlcnMuZWFjaChyaWdodEJveGVzLCBmdW5jdGlvbihib3gpIHsKCQkJCWJveC5oZWlnaHQgPSBuZXdNYXhDaGFydEFyZWFIZWlnaHQ7CgkJCX0pOwoKCQkJaGVscGVycy5lYWNoKHRvcEJveGVzLCBmdW5jdGlvbihib3gpIHsKCQkJCWlmICghYm94LmZ1bGxXaWR0aCkgewoJCQkJCWJveC53aWR0aCA9IG5ld01heENoYXJ0QXJlYVdpZHRoOwoJCQkJfQoJCQl9KTsKCgkJCWhlbHBlcnMuZWFjaChib3R0b21Cb3hlcywgZnVuY3Rpb24oYm94KSB7CgkJCQlpZiAoIWJveC5mdWxsV2lkdGgpIHsKCQkJCQlib3gud2lkdGggPSBuZXdNYXhDaGFydEFyZWFXaWR0aDsKCQkJCX0KCQkJfSk7CgoJCQltYXhDaGFydEFyZWFIZWlnaHQgPSBuZXdNYXhDaGFydEFyZWFIZWlnaHQ7CgkJCW1heENoYXJ0QXJlYVdpZHRoID0gbmV3TWF4Q2hhcnRBcmVhV2lkdGg7CgkJfQoKCQkvLyBTdGVwIDcgLSBQb3NpdGlvbiB0aGUgYm94ZXMKCQl2YXIgbGVmdCA9IGxlZnRQYWRkaW5nICsgbGVmdFBhZGRpbmdBZGRpdGlvbjsKCQl2YXIgdG9wID0gdG9wUGFkZGluZyArIHRvcFBhZGRpbmdBZGRpdGlvbjsKCgkJZnVuY3Rpb24gcGxhY2VCb3goYm94KSB7CgkJCWlmIChib3guaXNIb3Jpem9udGFsKCkpIHsKCQkJCWJveC5sZWZ0ID0gYm94LmZ1bGxXaWR0aCA/IGxlZnRQYWRkaW5nIDogdG90YWxMZWZ0Qm94ZXNXaWR0aDsKCQkJCWJveC5yaWdodCA9IGJveC5mdWxsV2lkdGggPyB3aWR0aCAtIHJpZ2h0UGFkZGluZyA6IHRvdGFsTGVmdEJveGVzV2lkdGggKyBtYXhDaGFydEFyZWFXaWR0aDsKCQkJCWJveC50b3AgPSB0b3A7CgkJCQlib3guYm90dG9tID0gdG9wICsgYm94LmhlaWdodDsKCgkJCQkvLyBNb3ZlIHRvIG5leHQgcG9pbnQKCQkJCXRvcCA9IGJveC5ib3R0b207CgoJCQl9IGVsc2UgewoKCQkJCWJveC5sZWZ0ID0gbGVmdDsKCQkJCWJveC5yaWdodCA9IGxlZnQgKyBib3gud2lkdGg7CgkJCQlib3gudG9wID0gdG90YWxUb3BCb3hlc0hlaWdodDsKCQkJCWJveC5ib3R0b20gPSB0b3RhbFRvcEJveGVzSGVpZ2h0ICsgbWF4Q2hhcnRBcmVhSGVpZ2h0OwoKCQkJCS8vIE1vdmUgdG8gbmV4dCBwb2ludAoJCQkJbGVmdCA9IGJveC5yaWdodDsKCQkJfQoJCX0KCgkJaGVscGVycy5lYWNoKGxlZnRCb3hlcy5jb25jYXQodG9wQm94ZXMpLCBwbGFjZUJveCk7CgoJCS8vIEFjY291bnQgZm9yIGNoYXJ0IHdpZHRoIGFuZCBoZWlnaHQKCQlsZWZ0ICs9IG1heENoYXJ0QXJlYVdpZHRoOwoJCXRvcCArPSBtYXhDaGFydEFyZWFIZWlnaHQ7CgoJCWhlbHBlcnMuZWFjaChyaWdodEJveGVzLCBwbGFjZUJveCk7CgkJaGVscGVycy5lYWNoKGJvdHRvbUJveGVzLCBwbGFjZUJveCk7CgoJCS8vIFN0ZXAgOAoJCWNoYXJ0LmNoYXJ0QXJlYSA9IHsKCQkJbGVmdDogdG90YWxMZWZ0Qm94ZXNXaWR0aCwKCQkJdG9wOiB0b3RhbFRvcEJveGVzSGVpZ2h0LAoJCQlyaWdodDogdG90YWxMZWZ0Qm94ZXNXaWR0aCArIG1heENoYXJ0QXJlYVdpZHRoLAoJCQlib3R0b206IHRvdGFsVG9wQm94ZXNIZWlnaHQgKyBtYXhDaGFydEFyZWFIZWlnaHQKCQl9OwoKCQkvLyBTdGVwIDkKCQloZWxwZXJzLmVhY2goY2hhcnRBcmVhQm94ZXMsIGZ1bmN0aW9uKGJveCkgewoJCQlib3gubGVmdCA9IGNoYXJ0LmNoYXJ0QXJlYS5sZWZ0OwoJCQlib3gudG9wID0gY2hhcnQuY2hhcnRBcmVhLnRvcDsKCQkJYm94LnJpZ2h0ID0gY2hhcnQuY2hhcnRBcmVhLnJpZ2h0OwoJCQlib3guYm90dG9tID0gY2hhcnQuY2hhcnRBcmVhLmJvdHRvbTsKCgkJCWJveC51cGRhdGUobWF4Q2hhcnRBcmVhV2lkdGgsIG1heENoYXJ0QXJlYUhlaWdodCk7CgkJfSk7Cgl9Cn07Cgp9LHsiNDUiOjQ1fV0sMzE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2dsb2JhbCcsIHsKCXBsdWdpbnM6IHt9Cn0pOwoKLyoqCiAqIFRoZSBwbHVnaW4gc2VydmljZSBzaW5nbGV0b24KICogQG5hbWVzcGFjZSBDaGFydC5wbHVnaW5zCiAqIEBzaW5jZSAyLjEuMAogKi8KbW9kdWxlLmV4cG9ydHMgPSB7CgkvKioKCSAqIEdsb2JhbGx5IHJlZ2lzdGVyZWQgcGx1Z2lucy4KCSAqIEBwcml2YXRlCgkgKi8KCV9wbHVnaW5zOiBbXSwKCgkvKioKCSAqIFRoaXMgaWRlbnRpZmllciBpcyB1c2VkIHRvIGludmFsaWRhdGUgdGhlIGRlc2NyaXB0b3JzIGNhY2hlIGF0dGFjaGVkIHRvIGVhY2ggY2hhcnQKCSAqIHdoZW4gYSBnbG9iYWwgcGx1Z2luIGlzIHJlZ2lzdGVyZWQgb3IgdW5yZWdpc3RlcmVkLiBJbiB0aGlzIGNhc2UsIHRoZSBjYWNoZSBJRCBpcwoJICogaW5jcmVtZW50ZWQgYW5kIGRlc2NyaXB0b3JzIGFyZSByZWdlbmVyYXRlZCBkdXJpbmcgZm9sbG93aW5nIEFQSSBjYWxscy4KCSAqIEBwcml2YXRlCgkgKi8KCV9jYWNoZUlkOiAwLAoKCS8qKgoJICogUmVnaXN0ZXJzIHRoZSBnaXZlbiBwbHVnaW4ocykgaWYgbm90IGFscmVhZHkgcmVnaXN0ZXJlZC4KCSAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBwbHVnaW5zIHBsdWdpbiBpbnN0YW5jZShzKS4KCSAqLwoJcmVnaXN0ZXI6IGZ1bmN0aW9uKHBsdWdpbnMpIHsKCQl2YXIgcCA9IHRoaXMuX3BsdWdpbnM7CgkJKFtdKS5jb25jYXQocGx1Z2lucykuZm9yRWFjaChmdW5jdGlvbihwbHVnaW4pIHsKCQkJaWYgKHAuaW5kZXhPZihwbHVnaW4pID09PSAtMSkgewoJCQkJcC5wdXNoKHBsdWdpbik7CgkJCX0KCQl9KTsKCgkJdGhpcy5fY2FjaGVJZCsrOwoJfSwKCgkvKioKCSAqIFVucmVnaXN0ZXJzIHRoZSBnaXZlbiBwbHVnaW4ocykgb25seSBpZiByZWdpc3RlcmVkLgoJICogQHBhcmFtIHtBcnJheXxPYmplY3R9IHBsdWdpbnMgcGx1Z2luIGluc3RhbmNlKHMpLgoJICovCgl1bnJlZ2lzdGVyOiBmdW5jdGlvbihwbHVnaW5zKSB7CgkJdmFyIHAgPSB0aGlzLl9wbHVnaW5zOwoJCShbXSkuY29uY2F0KHBsdWdpbnMpLmZvckVhY2goZnVuY3Rpb24ocGx1Z2luKSB7CgkJCXZhciBpZHggPSBwLmluZGV4T2YocGx1Z2luKTsKCQkJaWYgKGlkeCAhPT0gLTEpIHsKCQkJCXAuc3BsaWNlKGlkeCwgMSk7CgkJCX0KCQl9KTsKCgkJdGhpcy5fY2FjaGVJZCsrOwoJfSwKCgkvKioKCSAqIFJlbW92ZSBhbGwgcmVnaXN0ZXJlZCBwbHVnaW5zLgoJICogQHNpbmNlIDIuMS41CgkgKi8KCWNsZWFyOiBmdW5jdGlvbigpIHsKCQl0aGlzLl9wbHVnaW5zID0gW107CgkJdGhpcy5fY2FjaGVJZCsrOwoJfSwKCgkvKioKCSAqIFJldHVybnMgdGhlIG51bWJlciBvZiByZWdpc3RlcmVkIHBsdWdpbnM/CgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICogQHNpbmNlIDIuMS41CgkgKi8KCWNvdW50OiBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5fcGx1Z2lucy5sZW5ndGg7Cgl9LAoKCS8qKgoJICogUmV0dXJucyBhbGwgcmVnaXN0ZXJlZCBwbHVnaW4gaW5zdGFuY2VzLgoJICogQHJldHVybnMge0FycmF5fSBhcnJheSBvZiBwbHVnaW4gb2JqZWN0cy4KCSAqIEBzaW5jZSAyLjEuNQoJICovCglnZXRBbGw6IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLl9wbHVnaW5zOwoJfSwKCgkvKioKCSAqIENhbGxzIGVuYWJsZWQgcGx1Z2lucyBmb3IgYGNoYXJ0YCBvbiB0aGUgc3BlY2lmaWVkIGhvb2sgYW5kIHdpdGggdGhlIGdpdmVuIGFyZ3MuCgkgKiBUaGlzIG1ldGhvZCBpbW1lZGlhdGVseSByZXR1cm5zIGFzIHNvb24gYXMgYSBwbHVnaW4gZXhwbGljaXRseSByZXR1cm5zIGZhbHNlLiBUaGUKCSAqIHJldHVybmVkIHZhbHVlIGNhbiBiZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGludGVycnVwdCB0aGUgY3VycmVudCBhY3Rpb24uCgkgKiBAcGFyYW0ge09iamVjdH0gY2hhcnQgLSBUaGUgY2hhcnQgaW5zdGFuY2UgZm9yIHdoaWNoIHBsdWdpbnMgc2hvdWxkIGJlIGNhbGxlZC4KCSAqIEBwYXJhbSB7U3RyaW5nfSBob29rIC0gVGhlIG5hbWUgb2YgdGhlIHBsdWdpbiBtZXRob2QgdG8gY2FsbCAoZS5nLiAnYmVmb3JlVXBkYXRlJykuCgkgKiBAcGFyYW0ge0FycmF5fSBbYXJnc10gLSBFeHRyYSBhcmd1bWVudHMgdG8gYXBwbHkgdG8gdGhlIGhvb2sgY2FsbC4KCSAqIEByZXR1cm5zIHtCb29sZWFufSBmYWxzZSBpZiBhbnkgb2YgdGhlIHBsdWdpbnMgcmV0dXJuIGZhbHNlLCBlbHNlIHJldHVybnMgdHJ1ZS4KCSAqLwoJbm90aWZ5OiBmdW5jdGlvbihjaGFydCwgaG9vaywgYXJncykgewoJCXZhciBkZXNjcmlwdG9ycyA9IHRoaXMuZGVzY3JpcHRvcnMoY2hhcnQpOwoJCXZhciBpbGVuID0gZGVzY3JpcHRvcnMubGVuZ3RoOwoJCXZhciBpLCBkZXNjcmlwdG9yLCBwbHVnaW4sIHBhcmFtcywgbWV0aG9kOwoKCQlmb3IgKGkgPSAwOyBpIDwgaWxlbjsgKytpKSB7CgkJCWRlc2NyaXB0b3IgPSBkZXNjcmlwdG9yc1tpXTsKCQkJcGx1Z2luID0gZGVzY3JpcHRvci5wbHVnaW47CgkJCW1ldGhvZCA9IHBsdWdpbltob29rXTsKCQkJaWYgKHR5cGVvZiBtZXRob2QgPT09ICdmdW5jdGlvbicpIHsKCQkJCXBhcmFtcyA9IFtjaGFydF0uY29uY2F0KGFyZ3MgfHwgW10pOwoJCQkJcGFyYW1zLnB1c2goZGVzY3JpcHRvci5vcHRpb25zKTsKCQkJCWlmIChtZXRob2QuYXBwbHkocGx1Z2luLCBwYXJhbXMpID09PSBmYWxzZSkgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9LAoKCS8qKgoJICogUmV0dXJucyBkZXNjcmlwdG9ycyBvZiBlbmFibGVkIHBsdWdpbnMgZm9yIHRoZSBnaXZlbiBjaGFydC4KCSAqIEByZXR1cm5zIHtBcnJheX0gW3sgcGx1Z2luLCBvcHRpb25zIH1dCgkgKiBAcHJpdmF0ZQoJICovCglkZXNjcmlwdG9yczogZnVuY3Rpb24oY2hhcnQpIHsKCQl2YXIgY2FjaGUgPSBjaGFydC4kcGx1Z2lucyB8fCAoY2hhcnQuJHBsdWdpbnMgPSB7fSk7CgkJaWYgKGNhY2hlLmlkID09PSB0aGlzLl9jYWNoZUlkKSB7CgkJCXJldHVybiBjYWNoZS5kZXNjcmlwdG9yczsKCQl9CgoJCXZhciBwbHVnaW5zID0gW107CgkJdmFyIGRlc2NyaXB0b3JzID0gW107CgkJdmFyIGNvbmZpZyA9IChjaGFydCAmJiBjaGFydC5jb25maWcpIHx8IHt9OwoJCXZhciBvcHRpb25zID0gKGNvbmZpZy5vcHRpb25zICYmIGNvbmZpZy5vcHRpb25zLnBsdWdpbnMpIHx8IHt9OwoKCQl0aGlzLl9wbHVnaW5zLmNvbmNhdChjb25maWcucGx1Z2lucyB8fCBbXSkuZm9yRWFjaChmdW5jdGlvbihwbHVnaW4pIHsKCQkJdmFyIGlkeCA9IHBsdWdpbnMuaW5kZXhPZihwbHVnaW4pOwoJCQlpZiAoaWR4ICE9PSAtMSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl2YXIgaWQgPSBwbHVnaW4uaWQ7CgkJCXZhciBvcHRzID0gb3B0aW9uc1tpZF07CgkJCWlmIChvcHRzID09PSBmYWxzZSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQlpZiAob3B0cyA9PT0gdHJ1ZSkgewoJCQkJb3B0cyA9IGhlbHBlcnMuY2xvbmUoZGVmYXVsdHMuZ2xvYmFsLnBsdWdpbnNbaWRdKTsKCQkJfQoKCQkJcGx1Z2lucy5wdXNoKHBsdWdpbik7CgkJCWRlc2NyaXB0b3JzLnB1c2goewoJCQkJcGx1Z2luOiBwbHVnaW4sCgkJCQlvcHRpb25zOiBvcHRzIHx8IHt9CgkJCX0pOwoJCX0pOwoKCQljYWNoZS5kZXNjcmlwdG9ycyA9IGRlc2NyaXB0b3JzOwoJCWNhY2hlLmlkID0gdGhpcy5fY2FjaGVJZDsKCQlyZXR1cm4gZGVzY3JpcHRvcnM7Cgl9LAoKCS8qKgoJICogSW52YWxpZGF0ZXMgY2FjaGUgZm9yIHRoZSBnaXZlbiBjaGFydDogZGVzY3JpcHRvcnMgaG9sZCBhIHJlZmVyZW5jZSBvbiBwbHVnaW4gb3B0aW9uLAoJICogYnV0IGluIHNvbWUgY2FzZXMsIHRoaXMgcmVmZXJlbmNlIGNhbiBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyIHdoZW4gdXBkYXRpbmcgb3B0aW9ucy4KCSAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL2lzc3Vlcy81MTExI2lzc3VlY29tbWVudC0zNTU5MzQxNjcKCSAqIEBwcml2YXRlCgkgKi8KCV9pbnZhbGlkYXRlOiBmdW5jdGlvbihjaGFydCkgewoJCWRlbGV0ZSBjaGFydC4kcGx1Z2luczsKCX0KfTsKCi8qKgogKiBQbHVnaW4gZXh0ZW5zaW9uIGhvb2tzLgogKiBAaW50ZXJmYWNlIElQbHVnaW4KICogQHNpbmNlIDIuMS4wCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2JlZm9yZUluaXQKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSBpbml0aWFsaXppbmcgYGNoYXJ0YC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVySW5pdAogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgYGNoYXJ0YCBoYXMgYmVlbiBpbml0aWFsaXplZCBhbmQgYmVmb3JlIHRoZSBmaXJzdCB1cGRhdGUuCiAqIEBwYXJhbSB7Q2hhcnQuQ29udHJvbGxlcn0gY2hhcnQgLSBUaGUgY2hhcnQgaW5zdGFuY2UuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKi8KLyoqCiAqIEBtZXRob2QgSVBsdWdpbiNiZWZvcmVVcGRhdGUKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSB1cGRhdGluZyBgY2hhcnRgLiBJZiBhbnkgcGx1Z2luIHJldHVybnMgYGZhbHNlYCwgdGhlIHVwZGF0ZQogKiBpcyBjYW5jZWxsZWQgKGFuZCB0aHVzIHN1YnNlcXVlbnQgcmVuZGVyKHMpKSB1bnRpbCBhbm90aGVyIGB1cGRhdGVgIGlzIHRyaWdnZXJlZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqIEByZXR1cm5zIHtCb29sZWFufSBgZmFsc2VgIHRvIGNhbmNlbCB0aGUgY2hhcnQgdXBkYXRlLgogKi8KLyoqCiAqIEBtZXRob2QgSVBsdWdpbiNhZnRlclVwZGF0ZQogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgYGNoYXJ0YCBoYXMgYmVlbiB1cGRhdGVkIGFuZCBiZWZvcmUgcmVuZGVyaW5nLiBOb3RlIHRoYXQgdGhpcwogKiBob29rIHdpbGwgbm90IGJlIGNhbGxlZCBpZiB0aGUgY2hhcnQgdXBkYXRlIGhhcyBiZWVuIHByZXZpb3VzbHkgY2FuY2VsbGVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlRGF0YXNldHNVcGRhdGUKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSB1cGRhdGluZyB0aGUgYGNoYXJ0YCBkYXRhc2V0cy4gSWYgYW55IHBsdWdpbiByZXR1cm5zIGBmYWxzZWAsCiAqIHRoZSBkYXRhc2V0cyB1cGRhdGUgaXMgY2FuY2VsbGVkIHVudGlsIGFub3RoZXIgYHVwZGF0ZWAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICogQHJldHVybnMge0Jvb2xlYW59IGZhbHNlIHRvIGNhbmNlbCB0aGUgZGF0YXNldHMgdXBkYXRlLgogKiBAc2luY2UgdmVyc2lvbiAyLjEuNQoqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyRGF0YXNldHNVcGRhdGUKICogQGRlc2MgQ2FsbGVkIGFmdGVyIHRoZSBgY2hhcnRgIGRhdGFzZXRzIGhhdmUgYmVlbiB1cGRhdGVkLiBOb3RlIHRoYXQgdGhpcyBob29rCiAqIHdpbGwgbm90IGJlIGNhbGxlZCBpZiB0aGUgZGF0YXNldHMgdXBkYXRlIGhhcyBiZWVuIHByZXZpb3VzbHkgY2FuY2VsbGVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICogQHNpbmNlIHZlcnNpb24gMi4xLjUKICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlRGF0YXNldFVwZGF0ZQogKiBAZGVzYyBDYWxsZWQgYmVmb3JlIHVwZGF0aW5nIHRoZSBgY2hhcnRgIGRhdGFzZXQgYXQgdGhlIGdpdmVuIGBhcmdzLmluZGV4YC4gSWYgYW55IHBsdWdpbgogKiByZXR1cm5zIGBmYWxzZWAsIHRoZSBkYXRhc2V0cyB1cGRhdGUgaXMgY2FuY2VsbGVkIHVudGlsIGFub3RoZXIgYHVwZGF0ZWAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IGFyZ3MgLSBUaGUgY2FsbCBhcmd1bWVudHMuCiAqIEBwYXJhbSB7TnVtYmVyfSBhcmdzLmluZGV4IC0gVGhlIGRhdGFzZXQgaW5kZXguCiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzLm1ldGEgLSBUaGUgZGF0YXNldCBtZXRhZGF0YS4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqIEByZXR1cm5zIHtCb29sZWFufSBgZmFsc2VgIHRvIGNhbmNlbCB0aGUgY2hhcnQgZGF0YXNldHMgZHJhd2luZy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYWZ0ZXJEYXRhc2V0VXBkYXRlCiAqIEBkZXNjIENhbGxlZCBhZnRlciB0aGUgYGNoYXJ0YCBkYXRhc2V0cyBhdCB0aGUgZ2l2ZW4gYGFyZ3MuaW5kZXhgIGhhcyBiZWVuIHVwZGF0ZWQuIE5vdGUKICogdGhhdCB0aGlzIGhvb2sgd2lsbCBub3QgYmUgY2FsbGVkIGlmIHRoZSBkYXRhc2V0cyB1cGRhdGUgaGFzIGJlZW4gcHJldmlvdXNseSBjYW5jZWxsZWQuCiAqIEBwYXJhbSB7Q2hhcnR9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gYXJncyAtIFRoZSBjYWxsIGFyZ3VtZW50cy4KICogQHBhcmFtIHtOdW1iZXJ9IGFyZ3MuaW5kZXggLSBUaGUgZGF0YXNldCBpbmRleC4KICogQHBhcmFtIHtPYmplY3R9IGFyZ3MubWV0YSAtIFRoZSBkYXRhc2V0IG1ldGFkYXRhLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlTGF5b3V0CiAqIEBkZXNjIENhbGxlZCBiZWZvcmUgbGF5aW5nIG91dCBgY2hhcnRgLiBJZiBhbnkgcGx1Z2luIHJldHVybnMgYGZhbHNlYCwKICogdGhlIGxheW91dCB1cGRhdGUgaXMgY2FuY2VsbGVkIHVudGlsIGFub3RoZXIgYHVwZGF0ZWAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICogQHJldHVybnMge0Jvb2xlYW59IGBmYWxzZWAgdG8gY2FuY2VsIHRoZSBjaGFydCBsYXlvdXQuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyTGF5b3V0CiAqIEBkZXNjIENhbGxlZCBhZnRlciB0aGUgYGNoYXJ0YCBoYXMgYmVlbiBsYXllZCBvdXQuIE5vdGUgdGhhdCB0aGlzIGhvb2sgd2lsbCBub3QKICogYmUgY2FsbGVkIGlmIHRoZSBsYXlvdXQgdXBkYXRlIGhhcyBiZWVuIHByZXZpb3VzbHkgY2FuY2VsbGVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlUmVuZGVyCiAqIEBkZXNjIENhbGxlZCBiZWZvcmUgcmVuZGVyaW5nIGBjaGFydGAuIElmIGFueSBwbHVnaW4gcmV0dXJucyBgZmFsc2VgLAogKiB0aGUgcmVuZGVyaW5nIGlzIGNhbmNlbGxlZCB1bnRpbCBhbm90aGVyIGByZW5kZXJgIGlzIHRyaWdnZXJlZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqIEByZXR1cm5zIHtCb29sZWFufSBgZmFsc2VgIHRvIGNhbmNlbCB0aGUgY2hhcnQgcmVuZGVyaW5nLgogKi8KLyoqCiAqIEBtZXRob2QgSVBsdWdpbiNhZnRlclJlbmRlcgogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgdGhlIGBjaGFydGAgaGFzIGJlZW4gZnVsbHkgcmVuZGVyZWQgKGFuZCBhbmltYXRpb24gY29tcGxldGVkKS4gTm90ZQogKiB0aGF0IHRoaXMgaG9vayB3aWxsIG5vdCBiZSBjYWxsZWQgaWYgdGhlIHJlbmRlcmluZyBoYXMgYmVlbiBwcmV2aW91c2x5IGNhbmNlbGxlZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2JlZm9yZURyYXcKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSBkcmF3aW5nIGBjaGFydGAgYXQgZXZlcnkgYW5pbWF0aW9uIGZyYW1lIHNwZWNpZmllZCBieSB0aGUgZ2l2ZW4KICogZWFzaW5nIHZhbHVlLiBJZiBhbnkgcGx1Z2luIHJldHVybnMgYGZhbHNlYCwgdGhlIGZyYW1lIGRyYXdpbmcgaXMgY2FuY2VsbGVkIHVudGlsCiAqIGFub3RoZXIgYHJlbmRlcmAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge051bWJlcn0gZWFzaW5nVmFsdWUgLSBUaGUgY3VycmVudCBhbmltYXRpb24gdmFsdWUsIGJldHdlZW4gMC4wIGFuZCAxLjAuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKiBAcmV0dXJucyB7Qm9vbGVhbn0gYGZhbHNlYCB0byBjYW5jZWwgdGhlIGNoYXJ0IGRyYXdpbmcuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyRHJhdwogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgdGhlIGBjaGFydGAgaGFzIGJlZW4gZHJhd24gZm9yIHRoZSBzcGVjaWZpYyBlYXNpbmcgdmFsdWUuIE5vdGUKICogdGhhdCB0aGlzIGhvb2sgd2lsbCBub3QgYmUgY2FsbGVkIGlmIHRoZSBkcmF3aW5nIGhhcyBiZWVuIHByZXZpb3VzbHkgY2FuY2VsbGVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge051bWJlcn0gZWFzaW5nVmFsdWUgLSBUaGUgY3VycmVudCBhbmltYXRpb24gdmFsdWUsIGJldHdlZW4gMC4wIGFuZCAxLjAuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKi8KLyoqCiAqIEBtZXRob2QgSVBsdWdpbiNiZWZvcmVEYXRhc2V0c0RyYXcKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSBkcmF3aW5nIHRoZSBgY2hhcnRgIGRhdGFzZXRzLiBJZiBhbnkgcGx1Z2luIHJldHVybnMgYGZhbHNlYCwKICogdGhlIGRhdGFzZXRzIGRyYXdpbmcgaXMgY2FuY2VsbGVkIHVudGlsIGFub3RoZXIgYHJlbmRlcmAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge051bWJlcn0gZWFzaW5nVmFsdWUgLSBUaGUgY3VycmVudCBhbmltYXRpb24gdmFsdWUsIGJldHdlZW4gMC4wIGFuZCAxLjAuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKiBAcmV0dXJucyB7Qm9vbGVhbn0gYGZhbHNlYCB0byBjYW5jZWwgdGhlIGNoYXJ0IGRhdGFzZXRzIGRyYXdpbmcuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyRGF0YXNldHNEcmF3CiAqIEBkZXNjIENhbGxlZCBhZnRlciB0aGUgYGNoYXJ0YCBkYXRhc2V0cyBoYXZlIGJlZW4gZHJhd24uIE5vdGUgdGhhdCB0aGlzIGhvb2sKICogd2lsbCBub3QgYmUgY2FsbGVkIGlmIHRoZSBkYXRhc2V0cyBkcmF3aW5nIGhhcyBiZWVuIHByZXZpb3VzbHkgY2FuY2VsbGVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge051bWJlcn0gZWFzaW5nVmFsdWUgLSBUaGUgY3VycmVudCBhbmltYXRpb24gdmFsdWUsIGJldHdlZW4gMC4wIGFuZCAxLjAuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKi8KLyoqCiAqIEBtZXRob2QgSVBsdWdpbiNiZWZvcmVEYXRhc2V0RHJhdwogKiBAZGVzYyBDYWxsZWQgYmVmb3JlIGRyYXdpbmcgdGhlIGBjaGFydGAgZGF0YXNldCBhdCB0aGUgZ2l2ZW4gYGFyZ3MuaW5kZXhgIChkYXRhc2V0cwogKiBhcmUgZHJhd24gaW4gdGhlIHJldmVyc2Ugb3JkZXIpLiBJZiBhbnkgcGx1Z2luIHJldHVybnMgYGZhbHNlYCwgdGhlIGRhdGFzZXRzIGRyYXdpbmcKICogaXMgY2FuY2VsbGVkIHVudGlsIGFub3RoZXIgYHJlbmRlcmAgaXMgdHJpZ2dlcmVkLgogKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtPYmplY3R9IGFyZ3MgLSBUaGUgY2FsbCBhcmd1bWVudHMuCiAqIEBwYXJhbSB7TnVtYmVyfSBhcmdzLmluZGV4IC0gVGhlIGRhdGFzZXQgaW5kZXguCiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzLm1ldGEgLSBUaGUgZGF0YXNldCBtZXRhZGF0YS4KICogQHBhcmFtIHtOdW1iZXJ9IGFyZ3MuZWFzaW5nVmFsdWUgLSBUaGUgY3VycmVudCBhbmltYXRpb24gdmFsdWUsIGJldHdlZW4gMC4wIGFuZCAxLjAuCiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIHBsdWdpbiBvcHRpb25zLgogKiBAcmV0dXJucyB7Qm9vbGVhbn0gYGZhbHNlYCB0byBjYW5jZWwgdGhlIGNoYXJ0IGRhdGFzZXRzIGRyYXdpbmcuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyRGF0YXNldERyYXcKICogQGRlc2MgQ2FsbGVkIGFmdGVyIHRoZSBgY2hhcnRgIGRhdGFzZXRzIGF0IHRoZSBnaXZlbiBgYXJncy5pbmRleGAgaGF2ZSBiZWVuIGRyYXduCiAqIChkYXRhc2V0cyBhcmUgZHJhd24gaW4gdGhlIHJldmVyc2Ugb3JkZXIpLiBOb3RlIHRoYXQgdGhpcyBob29rIHdpbGwgbm90IGJlIGNhbGxlZAogKiBpZiB0aGUgZGF0YXNldHMgZHJhd2luZyBoYXMgYmVlbiBwcmV2aW91c2x5IGNhbmNlbGxlZC4KICogQHBhcmFtIHtDaGFydH0gY2hhcnQgLSBUaGUgY2hhcnQgaW5zdGFuY2UuCiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzIC0gVGhlIGNhbGwgYXJndW1lbnRzLgogKiBAcGFyYW0ge051bWJlcn0gYXJncy5pbmRleCAtIFRoZSBkYXRhc2V0IGluZGV4LgogKiBAcGFyYW0ge09iamVjdH0gYXJncy5tZXRhIC0gVGhlIGRhdGFzZXQgbWV0YWRhdGEuCiAqIEBwYXJhbSB7TnVtYmVyfSBhcmdzLmVhc2luZ1ZhbHVlIC0gVGhlIGN1cnJlbnQgYW5pbWF0aW9uIHZhbHVlLCBiZXR3ZWVuIDAuMCBhbmQgMS4wLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlVG9vbHRpcERyYXcKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSBkcmF3aW5nIHRoZSBgdG9vbHRpcGAuIElmIGFueSBwbHVnaW4gcmV0dXJucyBgZmFsc2VgLAogKiB0aGUgdG9vbHRpcCBkcmF3aW5nIGlzIGNhbmNlbGxlZCB1bnRpbCBhbm90aGVyIGByZW5kZXJgIGlzIHRyaWdnZXJlZC4KICogQHBhcmFtIHtDaGFydH0gY2hhcnQgLSBUaGUgY2hhcnQgaW5zdGFuY2UuCiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzIC0gVGhlIGNhbGwgYXJndW1lbnRzLgogKiBAcGFyYW0ge09iamVjdH0gYXJncy50b29sdGlwIC0gVGhlIHRvb2x0aXAuCiAqIEBwYXJhbSB7TnVtYmVyfSBhcmdzLmVhc2luZ1ZhbHVlIC0gVGhlIGN1cnJlbnQgYW5pbWF0aW9uIHZhbHVlLCBiZXR3ZWVuIDAuMCBhbmQgMS4wLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICogQHJldHVybnMge0Jvb2xlYW59IGBmYWxzZWAgdG8gY2FuY2VsIHRoZSBjaGFydCB0b29sdGlwIGRyYXdpbmcuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyVG9vbHRpcERyYXcKICogQGRlc2MgQ2FsbGVkIGFmdGVyIGRyYXdpbmcgdGhlIGB0b29sdGlwYC4gTm90ZSB0aGF0IHRoaXMgaG9vayB3aWxsIG5vdAogKiBiZSBjYWxsZWQgaWYgdGhlIHRvb2x0aXAgZHJhd2luZyBoYXMgYmVlbiBwcmV2aW91c2x5IGNhbmNlbGxlZC4KICogQHBhcmFtIHtDaGFydH0gY2hhcnQgLSBUaGUgY2hhcnQgaW5zdGFuY2UuCiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzIC0gVGhlIGNhbGwgYXJndW1lbnRzLgogKiBAcGFyYW0ge09iamVjdH0gYXJncy50b29sdGlwIC0gVGhlIHRvb2x0aXAuCiAqIEBwYXJhbSB7TnVtYmVyfSBhcmdzLmVhc2luZ1ZhbHVlIC0gVGhlIGN1cnJlbnQgYW5pbWF0aW9uIHZhbHVlLCBiZXR3ZWVuIDAuMCBhbmQgMS4wLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jYmVmb3JlRXZlbnQKICogQGRlc2MgQ2FsbGVkIGJlZm9yZSBwcm9jZXNzaW5nIHRoZSBzcGVjaWZpZWQgYGV2ZW50YC4gSWYgYW55IHBsdWdpbiByZXR1cm5zIGBmYWxzZWAsCiAqIHRoZSBldmVudCB3aWxsIGJlIGRpc2NhcmRlZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtJRXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IG9iamVjdC4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI2FmdGVyRXZlbnQKICogQGRlc2MgQ2FsbGVkIGFmdGVyIHRoZSBgZXZlbnRgIGhhcyBiZWVuIGNvbnN1bWVkLiBOb3RlIHRoYXQgdGhpcyBob29rCiAqIHdpbGwgbm90IGJlIGNhbGxlZCBpZiB0aGUgYGV2ZW50YCBoYXMgYmVlbiBwcmV2aW91c2x5IGRpc2NhcmRlZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtJRXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IG9iamVjdC4KICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgcGx1Z2luIG9wdGlvbnMuCiAqLwovKioKICogQG1ldGhvZCBJUGx1Z2luI3Jlc2l6ZQogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgdGhlIGNoYXJ0IGFzIGJlZW4gcmVzaXplZC4KICogQHBhcmFtIHtDaGFydC5Db250cm9sbGVyfSBjaGFydCAtIFRoZSBjaGFydCBpbnN0YW5jZS4KICogQHBhcmFtIHtOdW1iZXJ9IHNpemUgLSBUaGUgbmV3IGNhbnZhcyBkaXNwbGF5IHNpemUgKGVxLiBjYW52YXMuc3R5bGUgd2lkdGggJiBoZWlnaHQpLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCi8qKgogKiBAbWV0aG9kIElQbHVnaW4jZGVzdHJveQogKiBAZGVzYyBDYWxsZWQgYWZ0ZXIgdGhlIGNoYXJ0IGFzIGJlZW4gZGVzdHJveWVkLgogKiBAcGFyYW0ge0NoYXJ0LkNvbnRyb2xsZXJ9IGNoYXJ0IC0gVGhlIGNoYXJ0IGluc3RhbmNlLgogKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBwbHVnaW4gb3B0aW9ucy4KICovCgp9LHsiMjUiOjI1LCI0NSI6NDV9XSwzMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgVGlja3MgPSByZXF1aXJlKDM0KTsKCmRlZmF1bHRzLl9zZXQoJ3NjYWxlJywgewoJZGlzcGxheTogdHJ1ZSwKCXBvc2l0aW9uOiAnbGVmdCcsCglvZmZzZXQ6IGZhbHNlLAoKCS8vIGdyaWQgbGluZSBzZXR0aW5ncwoJZ3JpZExpbmVzOiB7CgkJZGlzcGxheTogdHJ1ZSwKCQljb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC4xKScsCgkJbGluZVdpZHRoOiAxLAoJCWRyYXdCb3JkZXI6IHRydWUsCgkJZHJhd09uQ2hhcnRBcmVhOiB0cnVlLAoJCWRyYXdUaWNrczogdHJ1ZSwKCQl0aWNrTWFya0xlbmd0aDogMTAsCgkJemVyb0xpbmVXaWR0aDogMSwKCQl6ZXJvTGluZUNvbG9yOiAncmdiYSgwLDAsMCwwLjI1KScsCgkJemVyb0xpbmVCb3JkZXJEYXNoOiBbXSwKCQl6ZXJvTGluZUJvcmRlckRhc2hPZmZzZXQ6IDAuMCwKCQlvZmZzZXRHcmlkTGluZXM6IGZhbHNlLAoJCWJvcmRlckRhc2g6IFtdLAoJCWJvcmRlckRhc2hPZmZzZXQ6IDAuMAoJfSwKCgkvLyBzY2FsZSBsYWJlbAoJc2NhbGVMYWJlbDogewoJCS8vIGRpc3BsYXkgcHJvcGVydHkKCQlkaXNwbGF5OiBmYWxzZSwKCgkJLy8gYWN0dWFsIGxhYmVsCgkJbGFiZWxTdHJpbmc6ICcnLAoKCQkvLyBsaW5lIGhlaWdodAoJCWxpbmVIZWlnaHQ6IDEuMiwKCgkJLy8gdG9wL2JvdHRvbSBwYWRkaW5nCgkJcGFkZGluZzogewoJCQl0b3A6IDQsCgkJCWJvdHRvbTogNAoJCX0KCX0sCgoJLy8gbGFiZWwgc2V0dGluZ3MKCXRpY2tzOiB7CgkJYmVnaW5BdFplcm86IGZhbHNlLAoJCW1pblJvdGF0aW9uOiAwLAoJCW1heFJvdGF0aW9uOiA1MCwKCQltaXJyb3I6IGZhbHNlLAoJCXBhZGRpbmc6IDAsCgkJcmV2ZXJzZTogZmFsc2UsCgkJZGlzcGxheTogdHJ1ZSwKCQlhdXRvU2tpcDogdHJ1ZSwKCQlhdXRvU2tpcFBhZGRpbmc6IDAsCgkJbGFiZWxPZmZzZXQ6IDAsCgkJLy8gV2UgcGFzcyB0aHJvdWdoIGFycmF5cyB0byBiZSByZW5kZXJlZCBhcyBtdWx0aWxpbmUgbGFiZWxzLCB3ZSBjb252ZXJ0IE90aGVycyB0byBzdHJpbmdzIGhlcmUuCgkJY2FsbGJhY2s6IFRpY2tzLmZvcm1hdHRlcnMudmFsdWVzLAoJCW1pbm9yOiB7fSwKCQltYWpvcjoge30KCX0KfSk7CgpmdW5jdGlvbiBsYWJlbHNGcm9tVGlja3ModGlja3MpIHsKCXZhciBsYWJlbHMgPSBbXTsKCXZhciBpLCBpbGVuOwoKCWZvciAoaSA9IDAsIGlsZW4gPSB0aWNrcy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQlsYWJlbHMucHVzaCh0aWNrc1tpXS5sYWJlbCk7Cgl9CgoJcmV0dXJuIGxhYmVsczsKfQoKZnVuY3Rpb24gZ2V0TGluZVZhbHVlKHNjYWxlLCBpbmRleCwgb2Zmc2V0R3JpZExpbmVzKSB7Cgl2YXIgbGluZVZhbHVlID0gc2NhbGUuZ2V0UGl4ZWxGb3JUaWNrKGluZGV4KTsKCglpZiAob2Zmc2V0R3JpZExpbmVzKSB7CgkJaWYgKGluZGV4ID09PSAwKSB7CgkJCWxpbmVWYWx1ZSAtPSAoc2NhbGUuZ2V0UGl4ZWxGb3JUaWNrKDEpIC0gbGluZVZhbHVlKSAvIDI7CgkJfSBlbHNlIHsKCQkJbGluZVZhbHVlIC09IChsaW5lVmFsdWUgLSBzY2FsZS5nZXRQaXhlbEZvclRpY2soaW5kZXggLSAxKSkgLyAyOwoJCX0KCX0KCXJldHVybiBsaW5lVmFsdWU7Cn0KCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCglmdW5jdGlvbiBjb21wdXRlVGV4dFNpemUoY29udGV4dCwgdGljaywgZm9udCkgewoJCXJldHVybiBoZWxwZXJzLmlzQXJyYXkodGljaykgPwoJCQloZWxwZXJzLmxvbmdlc3RUZXh0KGNvbnRleHQsIGZvbnQsIHRpY2spIDoKCQkJY29udGV4dC5tZWFzdXJlVGV4dCh0aWNrKS53aWR0aDsKCX0KCglmdW5jdGlvbiBwYXJzZUZvbnRPcHRpb25zKG9wdGlvbnMpIHsKCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoJCXZhciBnbG9iYWxEZWZhdWx0cyA9IGRlZmF1bHRzLmdsb2JhbDsKCQl2YXIgc2l6ZSA9IHZhbHVlT3JEZWZhdWx0KG9wdGlvbnMuZm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSk7CgkJdmFyIHN0eWxlID0gdmFsdWVPckRlZmF1bHQob3B0aW9ucy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOwoJCXZhciBmYW1pbHkgPSB2YWx1ZU9yRGVmYXVsdChvcHRpb25zLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsKCgkJcmV0dXJuIHsKCQkJc2l6ZTogc2l6ZSwKCQkJc3R5bGU6IHN0eWxlLAoJCQlmYW1pbHk6IGZhbWlseSwKCQkJZm9udDogaGVscGVycy5mb250U3RyaW5nKHNpemUsIHN0eWxlLCBmYW1pbHkpCgkJfTsKCX0KCglmdW5jdGlvbiBwYXJzZUxpbmVIZWlnaHQob3B0aW9ucykgewoJCXJldHVybiBoZWxwZXJzLm9wdGlvbnMudG9MaW5lSGVpZ2h0KAoJCQloZWxwZXJzLnZhbHVlT3JEZWZhdWx0KG9wdGlvbnMubGluZUhlaWdodCwgMS4yKSwKCQkJaGVscGVycy52YWx1ZU9yRGVmYXVsdChvcHRpb25zLmZvbnRTaXplLCBkZWZhdWx0cy5nbG9iYWwuZGVmYXVsdEZvbnRTaXplKSk7Cgl9CgoJQ2hhcnQuU2NhbGUgPSBFbGVtZW50LmV4dGVuZCh7CgkJLyoqCgkJICogR2V0IHRoZSBwYWRkaW5nIG5lZWRlZCBmb3IgdGhlIHNjYWxlCgkJICogQG1ldGhvZCBnZXRQYWRkaW5nCgkJICogQHByaXZhdGUKCQkgKiBAcmV0dXJucyB7UGFkZGluZ30gdGhlIG5lY2Vzc2FyeSBwYWRkaW5nCgkJICovCgkJZ2V0UGFkZGluZzogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXJldHVybiB7CgkJCQlsZWZ0OiBtZS5wYWRkaW5nTGVmdCB8fCAwLAoJCQkJdG9wOiBtZS5wYWRkaW5nVG9wIHx8IDAsCgkJCQlyaWdodDogbWUucGFkZGluZ1JpZ2h0IHx8IDAsCgkJCQlib3R0b206IG1lLnBhZGRpbmdCb3R0b20gfHwgMAoJCQl9OwoJCX0sCgoJCS8qKgoJCSAqIFJldHVybnMgdGhlIHNjYWxlIHRpY2sgb2JqZWN0cyAoe2xhYmVsLCBtYWpvcn0pCgkJICogQHNpbmNlIDIuNwoJCSAqLwoJCWdldFRpY2tzOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMuX3RpY2tzOwoJCX0sCgoJCS8vIFRoZXNlIG1ldGhvZHMgYXJlIG9yZGVyZWQgYnkgbGlmZWN5bGUuIFV0aWxpdGllcyB0aGVuIGZvbGxvdy4KCQkvLyBBbnkgZnVuY3Rpb24gZGVmaW5lZCBoZXJlIGlzIGluaGVyaXRlZCBieSBhbGwgc2NhbGUgdHlwZXMuCgkJLy8gQW55IGZ1bmN0aW9uIGNhbiBiZSBleHRlbmRlZCBieSB0aGUgc2NhbGUgdHlwZQoKCQltZXJnZVRpY2tzT3B0aW9uczogZnVuY3Rpb24oKSB7CgkJCXZhciB0aWNrcyA9IHRoaXMub3B0aW9ucy50aWNrczsKCQkJaWYgKHRpY2tzLm1pbm9yID09PSBmYWxzZSkgewoJCQkJdGlja3MubWlub3IgPSB7CgkJCQkJZGlzcGxheTogZmFsc2UKCQkJCX07CgkJCX0KCQkJaWYgKHRpY2tzLm1ham9yID09PSBmYWxzZSkgewoJCQkJdGlja3MubWFqb3IgPSB7CgkJCQkJZGlzcGxheTogZmFsc2UKCQkJCX07CgkJCX0KCQkJZm9yICh2YXIga2V5IGluIHRpY2tzKSB7CgkJCQlpZiAoa2V5ICE9PSAnbWFqb3InICYmIGtleSAhPT0gJ21pbm9yJykgewoJCQkJCWlmICh0eXBlb2YgdGlja3MubWlub3Jba2V5XSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQkJdGlja3MubWlub3Jba2V5XSA9IHRpY2tzW2tleV07CgkJCQkJfQoJCQkJCWlmICh0eXBlb2YgdGlja3MubWFqb3Jba2V5XSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQkJdGlja3MubWFqb3Jba2V5XSA9IHRpY2tzW2tleV07CgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCQliZWZvcmVVcGRhdGU6IGZ1bmN0aW9uKCkgewoJCQloZWxwZXJzLmNhbGxiYWNrKHRoaXMub3B0aW9ucy5iZWZvcmVVcGRhdGUsIFt0aGlzXSk7CgkJfSwKCQl1cGRhdGU6IGZ1bmN0aW9uKG1heFdpZHRoLCBtYXhIZWlnaHQsIG1hcmdpbnMpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGksIGlsZW4sIGxhYmVscywgbGFiZWwsIHRpY2tzLCB0aWNrOwoKCQkJLy8gVXBkYXRlIExpZmVjeWNsZSAtIFByb2JhYmx5IGRvbid0IHdhbnQgdG8gZXZlciBleHRlbmQgb3Igb3ZlcndyaXRlIHRoaXMgZnVuY3Rpb24gOykKCQkJbWUuYmVmb3JlVXBkYXRlKCk7CgoJCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMKCQkJbWUubWF4V2lkdGggPSBtYXhXaWR0aDsKCQkJbWUubWF4SGVpZ2h0ID0gbWF4SGVpZ2h0OwoJCQltZS5tYXJnaW5zID0gaGVscGVycy5leHRlbmQoewoJCQkJbGVmdDogMCwKCQkJCXJpZ2h0OiAwLAoJCQkJdG9wOiAwLAoJCQkJYm90dG9tOiAwCgkJCX0sIG1hcmdpbnMpOwoJCQltZS5sb25nZXN0VGV4dENhY2hlID0gbWUubG9uZ2VzdFRleHRDYWNoZSB8fCB7fTsKCgkJCS8vIERpbWVuc2lvbnMKCQkJbWUuYmVmb3JlU2V0RGltZW5zaW9ucygpOwoJCQltZS5zZXREaW1lbnNpb25zKCk7CgkJCW1lLmFmdGVyU2V0RGltZW5zaW9ucygpOwoKCQkJLy8gRGF0YSBtaW4vbWF4CgkJCW1lLmJlZm9yZURhdGFMaW1pdHMoKTsKCQkJbWUuZGV0ZXJtaW5lRGF0YUxpbWl0cygpOwoJCQltZS5hZnRlckRhdGFMaW1pdHMoKTsKCgkJCS8vIFRpY2tzIC0gYHRoaXMudGlja3NgIGlzIG5vdyBERVBSRUNBVEVEIQoJCQkvLyBJbnRlcm5hbCB0aWNrcyBhcmUgbm93IHN0b3JlZCBhcyBvYmplY3RzIGluIHRoZSBQUklWQVRFIGB0aGlzLl90aWNrc2AgbWVtYmVyCgkJCS8vIGFuZCBtdXN0IG5vdCBiZSBhY2Nlc3NlZCBkaXJlY3RseSBmcm9tIG91dHNpZGUgdGhpcyBjbGFzcy4gYHRoaXMudGlja3NgIGJlaW5nCgkJCS8vIGFyb3VuZCBmb3IgbG9uZyB0aW1lIGFuZCBub3QgbWFya2VkIGFzIHByaXZhdGUsIHdlIGNhbid0IGNoYW5nZSBpdHMgc3RydWN0dXJlCgkJCS8vIHdpdGhvdXQgdW5leHBlY3RlZCBicmVha2luZyBjaGFuZ2VzLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNjYWxlIHRpY2tzLAoJCQkvLyB1c2Ugc2NhbGUuZ2V0VGlja3MoKSBpbnN0ZWFkLgoKCQkJbWUuYmVmb3JlQnVpbGRUaWNrcygpOwoKCQkJLy8gTmV3IGltcGxlbWVudGF0aW9ucyBzaG91bGQgcmV0dXJuIGFuIGFycmF5IG9mIG9iamVjdHMgYnV0IGZvciBCQUNLV0FSRCBDT01QQVQsCgkJCS8vIHdlIHN0aWxsIHN1cHBvcnQgbm8gcmV0dXJuIChgdGhpcy50aWNrc2AgaW50ZXJuYWxseSBzZXQgYnkgY2FsbGluZyB0aGlzIG1ldGhvZCkuCgkJCXRpY2tzID0gbWUuYnVpbGRUaWNrcygpIHx8IFtdOwoKCQkJbWUuYWZ0ZXJCdWlsZFRpY2tzKCk7CgoJCQltZS5iZWZvcmVUaWNrVG9MYWJlbENvbnZlcnNpb24oKTsKCgkJCS8vIE5ldyBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIHJldHVybiB0aGUgZm9ybWF0dGVkIHRpY2sgbGFiZWxzIGJ1dCBmb3IgQkFDS1dBUkQKCQkJLy8gQ09NUEFULCB3ZSBzdGlsbCBzdXBwb3J0IG5vIHJldHVybiAoYHRoaXMudGlja3NgIGludGVybmFsbHkgY2hhbmdlZCBieSBjYWxsaW5nCgkJCS8vIHRoaXMgbWV0aG9kIGFuZCBzdXBwb3NlZCB0byBjb250YWluIG9ubHkgc3RyaW5nIHZhbHVlcykuCgkJCWxhYmVscyA9IG1lLmNvbnZlcnRUaWNrc1RvTGFiZWxzKHRpY2tzKSB8fCBtZS50aWNrczsKCgkJCW1lLmFmdGVyVGlja1RvTGFiZWxDb252ZXJzaW9uKCk7CgoJCQltZS50aWNrcyA9IGxhYmVsczsgICAvLyBCQUNLV0FSRCBDT01QQVRJQklMSVRZCgoJCQkvLyBJTVBPUlRBTlQ6IGZyb20gdGhpcyBwb2ludCwgd2UgY29uc2lkZXIgdGhhdCBgdGhpcy50aWNrc2Agd2lsbCBORVZFUiBjaGFuZ2UhCgoJCQkvLyBCQUNLV0FSRCBDT01QQVQ6IHN5bmNocm9uaXplIGBfdGlja3NgIHdpdGggbGFiZWxzIChzbyBwb3RlbnRpYWxseSBgdGhpcy50aWNrc2ApCgkJCWZvciAoaSA9IDAsIGlsZW4gPSBsYWJlbHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlsYWJlbCA9IGxhYmVsc1tpXTsKCQkJCXRpY2sgPSB0aWNrc1tpXTsKCQkJCWlmICghdGljaykgewoJCQkJCXRpY2tzLnB1c2godGljayA9IHsKCQkJCQkJbGFiZWw6IGxhYmVsLAoJCQkJCQltYWpvcjogZmFsc2UKCQkJCQl9KTsKCQkJCX0gZWxzZSB7CgkJCQkJdGljay5sYWJlbCA9IGxhYmVsOwoJCQkJfQoJCQl9CgoJCQltZS5fdGlja3MgPSB0aWNrczsKCgkJCS8vIFRpY2sgUm90YXRpb24KCQkJbWUuYmVmb3JlQ2FsY3VsYXRlVGlja1JvdGF0aW9uKCk7CgkJCW1lLmNhbGN1bGF0ZVRpY2tSb3RhdGlvbigpOwoJCQltZS5hZnRlckNhbGN1bGF0ZVRpY2tSb3RhdGlvbigpOwoJCQkvLyBGaXQKCQkJbWUuYmVmb3JlRml0KCk7CgkJCW1lLmZpdCgpOwoJCQltZS5hZnRlckZpdCgpOwoJCQkvLwoJCQltZS5hZnRlclVwZGF0ZSgpOwoKCQkJcmV0dXJuIG1lLm1pblNpemU7CgoJCX0sCgkJYWZ0ZXJVcGRhdGU6IGZ1bmN0aW9uKCkgewoJCQloZWxwZXJzLmNhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlclVwZGF0ZSwgW3RoaXNdKTsKCQl9LAoKCQkvLwoKCQliZWZvcmVTZXREaW1lbnNpb25zOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlU2V0RGltZW5zaW9ucywgW3RoaXNdKTsKCQl9LAoJCXNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQkvLyBTZXQgdGhlIHVuY29uc3RyYWluZWQgZGltZW5zaW9uIGJlZm9yZSBsYWJlbCByb3RhdGlvbgoJCQlpZiAobWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJCS8vIFJlc2V0IHBvc2l0aW9uIGJlZm9yZSBjYWxjdWxhdGluZyByb3RhdGlvbgoJCQkJbWUud2lkdGggPSBtZS5tYXhXaWR0aDsKCQkJCW1lLmxlZnQgPSAwOwoJCQkJbWUucmlnaHQgPSBtZS53aWR0aDsKCQkJfSBlbHNlIHsKCQkJCW1lLmhlaWdodCA9IG1lLm1heEhlaWdodDsKCgkJCQkvLyBSZXNldCBwb3NpdGlvbiBiZWZvcmUgY2FsY3VsYXRpbmcgcm90YXRpb24KCQkJCW1lLnRvcCA9IDA7CgkJCQltZS5ib3R0b20gPSBtZS5oZWlnaHQ7CgkJCX0KCgkJCS8vIFJlc2V0IHBhZGRpbmcKCQkJbWUucGFkZGluZ0xlZnQgPSAwOwoJCQltZS5wYWRkaW5nVG9wID0gMDsKCQkJbWUucGFkZGluZ1JpZ2h0ID0gMDsKCQkJbWUucGFkZGluZ0JvdHRvbSA9IDA7CgkJfSwKCQlhZnRlclNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgewoJCQloZWxwZXJzLmNhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlclNldERpbWVuc2lvbnMsIFt0aGlzXSk7CgkJfSwKCgkJLy8gRGF0YSBsaW1pdHMKCQliZWZvcmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlRGF0YUxpbWl0cywgW3RoaXNdKTsKCQl9LAoJCWRldGVybWluZURhdGFMaW1pdHM6IGhlbHBlcnMubm9vcCwKCQlhZnRlckRhdGFMaW1pdHM6IGZ1bmN0aW9uKCkgewoJCQloZWxwZXJzLmNhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlckRhdGFMaW1pdHMsIFt0aGlzXSk7CgkJfSwKCgkJLy8KCQliZWZvcmVCdWlsZFRpY2tzOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlQnVpbGRUaWNrcywgW3RoaXNdKTsKCQl9LAoJCWJ1aWxkVGlja3M6IGhlbHBlcnMubm9vcCwKCQlhZnRlckJ1aWxkVGlja3M6IGZ1bmN0aW9uKCkgewoJCQloZWxwZXJzLmNhbGxiYWNrKHRoaXMub3B0aW9ucy5hZnRlckJ1aWxkVGlja3MsIFt0aGlzXSk7CgkJfSwKCgkJYmVmb3JlVGlja1RvTGFiZWxDb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlVGlja1RvTGFiZWxDb252ZXJzaW9uLCBbdGhpc10pOwoJCX0sCgkJY29udmVydFRpY2tzVG9MYWJlbHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQkvLyBDb252ZXJ0IHRpY2tzIHRvIHN0cmluZ3MKCQkJdmFyIHRpY2tPcHRzID0gbWUub3B0aW9ucy50aWNrczsKCQkJbWUudGlja3MgPSBtZS50aWNrcy5tYXAodGlja09wdHMudXNlckNhbGxiYWNrIHx8IHRpY2tPcHRzLmNhbGxiYWNrLCB0aGlzKTsKCQl9LAoJCWFmdGVyVGlja1RvTGFiZWxDb252ZXJzaW9uOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYWZ0ZXJUaWNrVG9MYWJlbENvbnZlcnNpb24sIFt0aGlzXSk7CgkJfSwKCgkJLy8KCgkJYmVmb3JlQ2FsY3VsYXRlVGlja1JvdGF0aW9uOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlQ2FsY3VsYXRlVGlja1JvdGF0aW9uLCBbdGhpc10pOwoJCX0sCgkJY2FsY3VsYXRlVGlja1JvdGF0aW9uOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNvbnRleHQgPSBtZS5jdHg7CgkJCXZhciB0aWNrT3B0cyA9IG1lLm9wdGlvbnMudGlja3M7CgkJCXZhciBsYWJlbHMgPSBsYWJlbHNGcm9tVGlja3MobWUuX3RpY2tzKTsKCgkJCS8vIEdldCB0aGUgd2lkdGggb2YgZWFjaCBncmlkIGJ5IGNhbGN1bGF0aW5nIHRoZSBkaWZmZXJlbmNlCgkJCS8vIGJldHdlZW4geCBvZmZzZXRzIGJldHdlZW4gMCBhbmQgMS4KCQkJdmFyIHRpY2tGb250ID0gcGFyc2VGb250T3B0aW9ucyh0aWNrT3B0cyk7CgkJCWNvbnRleHQuZm9udCA9IHRpY2tGb250LmZvbnQ7CgoJCQl2YXIgbGFiZWxSb3RhdGlvbiA9IHRpY2tPcHRzLm1pblJvdGF0aW9uIHx8IDA7CgoJCQlpZiAobGFiZWxzLmxlbmd0aCAmJiBtZS5vcHRpb25zLmRpc3BsYXkgJiYgbWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJCXZhciBvcmlnaW5hbExhYmVsV2lkdGggPSBoZWxwZXJzLmxvbmdlc3RUZXh0KGNvbnRleHQsIHRpY2tGb250LmZvbnQsIGxhYmVscywgbWUubG9uZ2VzdFRleHRDYWNoZSk7CgkJCQl2YXIgbGFiZWxXaWR0aCA9IG9yaWdpbmFsTGFiZWxXaWR0aDsKCQkJCXZhciBjb3NSb3RhdGlvbiwgc2luUm90YXRpb247CgoJCQkJLy8gQWxsb3cgMyBwaXhlbHMgeDIgcGFkZGluZyBlaXRoZXIgc2lkZSBmb3IgbGFiZWwgcmVhZGFiaWxpdHkKCQkJCXZhciB0aWNrV2lkdGggPSBtZS5nZXRQaXhlbEZvclRpY2soMSkgLSBtZS5nZXRQaXhlbEZvclRpY2soMCkgLSA2OwoKCQkJCS8vIE1heCBsYWJlbCByb3RhdGlvbiBjYW4gYmUgc2V0IG9yIGRlZmF1bHQgdG8gOTAgLSBhbHNvIGFjdCBhcyBhIGxvb3AgY291bnRlcgoJCQkJd2hpbGUgKGxhYmVsV2lkdGggPiB0aWNrV2lkdGggJiYgbGFiZWxSb3RhdGlvbiA8IHRpY2tPcHRzLm1heFJvdGF0aW9uKSB7CgkJCQkJdmFyIGFuZ2xlUmFkaWFucyA9IGhlbHBlcnMudG9SYWRpYW5zKGxhYmVsUm90YXRpb24pOwoJCQkJCWNvc1JvdGF0aW9uID0gTWF0aC5jb3MoYW5nbGVSYWRpYW5zKTsKCQkJCQlzaW5Sb3RhdGlvbiA9IE1hdGguc2luKGFuZ2xlUmFkaWFucyk7CgoJCQkJCWlmIChzaW5Sb3RhdGlvbiAqIG9yaWdpbmFsTGFiZWxXaWR0aCA+IG1lLm1heEhlaWdodCkgewoJCQkJCQkvLyBnbyBiYWNrIG9uZSBzdGVwCgkJCQkJCWxhYmVsUm90YXRpb24tLTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoKCQkJCQlsYWJlbFJvdGF0aW9uKys7CgkJCQkJbGFiZWxXaWR0aCA9IGNvc1JvdGF0aW9uICogb3JpZ2luYWxMYWJlbFdpZHRoOwoJCQkJfQoJCQl9CgoJCQltZS5sYWJlbFJvdGF0aW9uID0gbGFiZWxSb3RhdGlvbjsKCQl9LAoJCWFmdGVyQ2FsY3VsYXRlVGlja1JvdGF0aW9uOiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYWZ0ZXJDYWxjdWxhdGVUaWNrUm90YXRpb24sIFt0aGlzXSk7CgkJfSwKCgkJLy8KCgkJYmVmb3JlRml0OiBmdW5jdGlvbigpIHsKCQkJaGVscGVycy5jYWxsYmFjayh0aGlzLm9wdGlvbnMuYmVmb3JlRml0LCBbdGhpc10pOwoJCX0sCgkJZml0OiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJLy8gUmVzZXQKCQkJdmFyIG1pblNpemUgPSBtZS5taW5TaXplID0gewoJCQkJd2lkdGg6IDAsCgkJCQloZWlnaHQ6IDAKCQkJfTsKCgkJCXZhciBsYWJlbHMgPSBsYWJlbHNGcm9tVGlja3MobWUuX3RpY2tzKTsKCgkJCXZhciBvcHRzID0gbWUub3B0aW9uczsKCQkJdmFyIHRpY2tPcHRzID0gb3B0cy50aWNrczsKCQkJdmFyIHNjYWxlTGFiZWxPcHRzID0gb3B0cy5zY2FsZUxhYmVsOwoJCQl2YXIgZ3JpZExpbmVPcHRzID0gb3B0cy5ncmlkTGluZXM7CgkJCXZhciBkaXNwbGF5ID0gb3B0cy5kaXNwbGF5OwoJCQl2YXIgaXNIb3Jpem9udGFsID0gbWUuaXNIb3Jpem9udGFsKCk7CgoJCQl2YXIgdGlja0ZvbnQgPSBwYXJzZUZvbnRPcHRpb25zKHRpY2tPcHRzKTsKCQkJdmFyIHRpY2tNYXJrTGVuZ3RoID0gb3B0cy5ncmlkTGluZXMudGlja01hcmtMZW5ndGg7CgoJCQkvLyBXaWR0aAoJCQlpZiAoaXNIb3Jpem9udGFsKSB7CgkJCQkvLyBzdWJ0cmFjdCB0aGUgbWFyZ2lucyB0byBsaW5lIHVwIHdpdGggdGhlIGNoYXJ0QXJlYSBpZiB3ZSBhcmUgYSBmdWxsIHdpZHRoIHNjYWxlCgkJCQltaW5TaXplLndpZHRoID0gbWUuaXNGdWxsV2lkdGgoKSA/IG1lLm1heFdpZHRoIC0gbWUubWFyZ2lucy5sZWZ0IC0gbWUubWFyZ2lucy5yaWdodCA6IG1lLm1heFdpZHRoOwoJCQl9IGVsc2UgewoJCQkJbWluU2l6ZS53aWR0aCA9IGRpc3BsYXkgJiYgZ3JpZExpbmVPcHRzLmRyYXdUaWNrcyA/IHRpY2tNYXJrTGVuZ3RoIDogMDsKCQkJfQoKCQkJLy8gaGVpZ2h0CgkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCW1pblNpemUuaGVpZ2h0ID0gZGlzcGxheSAmJiBncmlkTGluZU9wdHMuZHJhd1RpY2tzID8gdGlja01hcmtMZW5ndGggOiAwOwoJCQl9IGVsc2UgewoJCQkJbWluU2l6ZS5oZWlnaHQgPSBtZS5tYXhIZWlnaHQ7IC8vIGZpbGwgYWxsIHRoZSBoZWlnaHQKCQkJfQoKCQkJLy8gQXJlIHdlIHNob3dpbmcgYSB0aXRsZSBmb3IgdGhlIHNjYWxlPwoJCQlpZiAoc2NhbGVMYWJlbE9wdHMuZGlzcGxheSAmJiBkaXNwbGF5KSB7CgkJCQl2YXIgc2NhbGVMYWJlbExpbmVIZWlnaHQgPSBwYXJzZUxpbmVIZWlnaHQoc2NhbGVMYWJlbE9wdHMpOwoJCQkJdmFyIHNjYWxlTGFiZWxQYWRkaW5nID0gaGVscGVycy5vcHRpb25zLnRvUGFkZGluZyhzY2FsZUxhYmVsT3B0cy5wYWRkaW5nKTsKCQkJCXZhciBkZWx0YUhlaWdodCA9IHNjYWxlTGFiZWxMaW5lSGVpZ2h0ICsgc2NhbGVMYWJlbFBhZGRpbmcuaGVpZ2h0OwoKCQkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCQltaW5TaXplLmhlaWdodCArPSBkZWx0YUhlaWdodDsKCQkJCX0gZWxzZSB7CgkJCQkJbWluU2l6ZS53aWR0aCArPSBkZWx0YUhlaWdodDsKCQkJCX0KCQkJfQoKCQkJLy8gRG9uJ3QgYm90aGVyIGZpdHRpbmcgdGhlIHRpY2tzIGlmIHdlIGFyZSBub3Qgc2hvd2luZyB0aGVtCgkJCWlmICh0aWNrT3B0cy5kaXNwbGF5ICYmIGRpc3BsYXkpIHsKCQkJCXZhciBsYXJnZXN0VGV4dFdpZHRoID0gaGVscGVycy5sb25nZXN0VGV4dChtZS5jdHgsIHRpY2tGb250LmZvbnQsIGxhYmVscywgbWUubG9uZ2VzdFRleHRDYWNoZSk7CgkJCQl2YXIgdGFsbGVzdExhYmVsSGVpZ2h0SW5MaW5lcyA9IGhlbHBlcnMubnVtYmVyT2ZMYWJlbExpbmVzKGxhYmVscyk7CgkJCQl2YXIgbGluZVNwYWNlID0gdGlja0ZvbnQuc2l6ZSAqIDAuNTsKCQkJCXZhciB0aWNrUGFkZGluZyA9IG1lLm9wdGlvbnMudGlja3MucGFkZGluZzsKCgkJCQlpZiAoaXNIb3Jpem9udGFsKSB7CgkJCQkJLy8gQSBob3Jpem9udGFsIGF4aXMgaXMgbW9yZSBjb25zdHJhaW5lZCBieSB0aGUgaGVpZ2h0LgoJCQkJCW1lLmxvbmdlc3RMYWJlbFdpZHRoID0gbGFyZ2VzdFRleHRXaWR0aDsKCgkJCQkJdmFyIGFuZ2xlUmFkaWFucyA9IGhlbHBlcnMudG9SYWRpYW5zKG1lLmxhYmVsUm90YXRpb24pOwoJCQkJCXZhciBjb3NSb3RhdGlvbiA9IE1hdGguY29zKGFuZ2xlUmFkaWFucyk7CgkJCQkJdmFyIHNpblJvdGF0aW9uID0gTWF0aC5zaW4oYW5nbGVSYWRpYW5zKTsKCgkJCQkJLy8gVE9ETyAtIGltcHJvdmUgdGhpcyBjYWxjdWxhdGlvbgoJCQkJCXZhciBsYWJlbEhlaWdodCA9IChzaW5Sb3RhdGlvbiAqIGxhcmdlc3RUZXh0V2lkdGgpCgkJCQkJCSsgKHRpY2tGb250LnNpemUgKiB0YWxsZXN0TGFiZWxIZWlnaHRJbkxpbmVzKQoJCQkJCQkrIChsaW5lU3BhY2UgKiAodGFsbGVzdExhYmVsSGVpZ2h0SW5MaW5lcyAtIDEpKQoJCQkJCQkrIGxpbmVTcGFjZTsgLy8gcGFkZGluZwoKCQkJCQltaW5TaXplLmhlaWdodCA9IE1hdGgubWluKG1lLm1heEhlaWdodCwgbWluU2l6ZS5oZWlnaHQgKyBsYWJlbEhlaWdodCArIHRpY2tQYWRkaW5nKTsKCgkJCQkJbWUuY3R4LmZvbnQgPSB0aWNrRm9udC5mb250OwoJCQkJCXZhciBmaXJzdExhYmVsV2lkdGggPSBjb21wdXRlVGV4dFNpemUobWUuY3R4LCBsYWJlbHNbMF0sIHRpY2tGb250LmZvbnQpOwoJCQkJCXZhciBsYXN0TGFiZWxXaWR0aCA9IGNvbXB1dGVUZXh0U2l6ZShtZS5jdHgsIGxhYmVsc1tsYWJlbHMubGVuZ3RoIC0gMV0sIHRpY2tGb250LmZvbnQpOwoKCQkJCQkvLyBFbnN1cmUgdGhhdCBvdXIgdGlja3MgYXJlIGFsd2F5cyBpbnNpZGUgdGhlIGNhbnZhcy4gV2hlbiByb3RhdGVkLCB0aWNrcyBhcmUgcmlnaHQgYWxpZ25lZAoJCQkJCS8vIHdoaWNoIG1lYW5zIHRoYXQgdGhlIHJpZ2h0IHBhZGRpbmcgaXMgZG9taW5hdGVkIGJ5IHRoZSBmb250IGhlaWdodAoJCQkJCWlmIChtZS5sYWJlbFJvdGF0aW9uICE9PSAwKSB7CgkJCQkJCW1lLnBhZGRpbmdMZWZ0ID0gb3B0cy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAoY29zUm90YXRpb24gKiBmaXJzdExhYmVsV2lkdGgpICsgMyA6IChjb3NSb3RhdGlvbiAqIGxpbmVTcGFjZSkgKyAzOyAvLyBhZGQgMyBweCB0byBtb3ZlIGF3YXkgZnJvbSBjYW52YXMgZWRnZXMKCQkJCQkJbWUucGFkZGluZ1JpZ2h0ID0gb3B0cy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAoY29zUm90YXRpb24gKiBsaW5lU3BhY2UpICsgMyA6IChjb3NSb3RhdGlvbiAqIGxhc3RMYWJlbFdpZHRoKSArIDM7CgkJCQkJfSBlbHNlIHsKCQkJCQkJbWUucGFkZGluZ0xlZnQgPSBmaXJzdExhYmVsV2lkdGggLyAyICsgMzsgLy8gYWRkIDMgcHggdG8gbW92ZSBhd2F5IGZyb20gY2FudmFzIGVkZ2VzCgkJCQkJCW1lLnBhZGRpbmdSaWdodCA9IGxhc3RMYWJlbFdpZHRoIC8gMiArIDM7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQkvLyBBIHZlcnRpY2FsIGF4aXMgaXMgbW9yZSBjb25zdHJhaW5lZCBieSB0aGUgd2lkdGguIExhYmVscyBhcmUgdGhlCgkJCQkJLy8gZG9taW5hbnQgZmFjdG9yIGhlcmUsIHNvIGdldCB0aGF0IGxlbmd0aCBmaXJzdCBhbmQgYWNjb3VudCBmb3IgcGFkZGluZwoJCQkJCWlmICh0aWNrT3B0cy5taXJyb3IpIHsKCQkJCQkJbGFyZ2VzdFRleHRXaWR0aCA9IDA7CgkJCQkJfSBlbHNlIHsKCQkJCQkJLy8gdXNlIGxpbmVTcGFjZSBmb3IgY29uc2lzdGVuY3kgd2l0aCBob3Jpem9udGFsIGF4aXMKCQkJCQkJLy8gdGlja1BhZGRpbmcgaXMgbm90IGltcGxlbWVudGVkIGZvciBob3Jpem9udGFsCgkJCQkJCWxhcmdlc3RUZXh0V2lkdGggKz0gdGlja1BhZGRpbmcgKyBsaW5lU3BhY2U7CgkJCQkJfQoKCQkJCQltaW5TaXplLndpZHRoID0gTWF0aC5taW4obWUubWF4V2lkdGgsIG1pblNpemUud2lkdGggKyBsYXJnZXN0VGV4dFdpZHRoKTsKCgkJCQkJbWUucGFkZGluZ1RvcCA9IHRpY2tGb250LnNpemUgLyAyOwoJCQkJCW1lLnBhZGRpbmdCb3R0b20gPSB0aWNrRm9udC5zaXplIC8gMjsKCQkJCX0KCQkJfQoKCQkJbWUuaGFuZGxlTWFyZ2lucygpOwoKCQkJbWUud2lkdGggPSBtaW5TaXplLndpZHRoOwoJCQltZS5oZWlnaHQgPSBtaW5TaXplLmhlaWdodDsKCQl9LAoKCQkvKioKCQkgKiBIYW5kbGUgbWFyZ2lucyBhbmQgcGFkZGluZyBpbnRlcmFjdGlvbnMKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWhhbmRsZU1hcmdpbnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQlpZiAobWUubWFyZ2lucykgewoJCQkJbWUucGFkZGluZ0xlZnQgPSBNYXRoLm1heChtZS5wYWRkaW5nTGVmdCAtIG1lLm1hcmdpbnMubGVmdCwgMCk7CgkJCQltZS5wYWRkaW5nVG9wID0gTWF0aC5tYXgobWUucGFkZGluZ1RvcCAtIG1lLm1hcmdpbnMudG9wLCAwKTsKCQkJCW1lLnBhZGRpbmdSaWdodCA9IE1hdGgubWF4KG1lLnBhZGRpbmdSaWdodCAtIG1lLm1hcmdpbnMucmlnaHQsIDApOwoJCQkJbWUucGFkZGluZ0JvdHRvbSA9IE1hdGgubWF4KG1lLnBhZGRpbmdCb3R0b20gLSBtZS5tYXJnaW5zLmJvdHRvbSwgMCk7CgkJCX0KCQl9LAoKCQlhZnRlckZpdDogZnVuY3Rpb24oKSB7CgkJCWhlbHBlcnMuY2FsbGJhY2sodGhpcy5vcHRpb25zLmFmdGVyRml0LCBbdGhpc10pOwoJCX0sCgoJCS8vIFNoYXJlZCBNZXRob2RzCgkJaXNIb3Jpem9udGFsOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMub3B0aW9ucy5wb3NpdGlvbiA9PT0gJ3RvcCcgfHwgdGhpcy5vcHRpb25zLnBvc2l0aW9uID09PSAnYm90dG9tJzsKCQl9LAoJCWlzRnVsbFdpZHRoOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuICh0aGlzLm9wdGlvbnMuZnVsbFdpZHRoKTsKCQl9LAoKCQkvLyBHZXQgdGhlIGNvcnJlY3QgdmFsdWUuIE5hTiBiYWQgaW5wdXRzLCBJZiB0aGUgdmFsdWUgdHlwZSBpcyBvYmplY3QgZ2V0IHRoZSB4IG9yIHkgYmFzZWQgb24gd2hldGhlciB3ZSBhcmUgaG9yaXpvbnRhbCBvciBub3QKCQlnZXRSaWdodFZhbHVlOiBmdW5jdGlvbihyYXdWYWx1ZSkgewoJCQkvLyBOdWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIGZpcnN0CgkJCWlmIChoZWxwZXJzLmlzTnVsbE9yVW5kZWYocmF3VmFsdWUpKSB7CgkJCQlyZXR1cm4gTmFOOwoJCQl9CgkJCS8vIGlzTmFOKG9iamVjdCkgcmV0dXJucyB0cnVlLCBzbyBtYWtlIHN1cmUgTmFOIGlzIGNoZWNraW5nIGZvciBhIG51bWJlcjsgRGlzY2FyZCBJbmZpbml0ZSB2YWx1ZXMKCQkJaWYgKHR5cGVvZiByYXdWYWx1ZSA9PT0gJ251bWJlcicgJiYgIWlzRmluaXRlKHJhd1ZhbHVlKSkgewoJCQkJcmV0dXJuIE5hTjsKCQkJfQoJCQkvLyBJZiBpdCBpcyBpbiBmYWN0IGFuIG9iamVjdCwgZGl2ZSBpbiBvbmUgbW9yZSBsZXZlbAoJCQlpZiAocmF3VmFsdWUpIHsKCQkJCWlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQkJaWYgKHJhd1ZhbHVlLnggIT09IHVuZGVmaW5lZCkgewoJCQkJCQlyZXR1cm4gdGhpcy5nZXRSaWdodFZhbHVlKHJhd1ZhbHVlLngpOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAocmF3VmFsdWUueSAhPT0gdW5kZWZpbmVkKSB7CgkJCQkJcmV0dXJuIHRoaXMuZ2V0UmlnaHRWYWx1ZShyYXdWYWx1ZS55KTsKCQkJCX0KCQkJfQoKCQkJLy8gVmFsdWUgaXMgZ29vZCwgcmV0dXJuIGl0CgkJCXJldHVybiByYXdWYWx1ZTsKCQl9LAoKCQkvKioKCQkgKiBVc2VkIHRvIGdldCB0aGUgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgdG9vbHRpcCBmb3IgdGhlIGRhdGEgYXQgdGhlIGdpdmVuIGluZGV4CgkJICogQHBhcmFtIGluZGV4CgkJICogQHBhcmFtIGRhdGFzZXRJbmRleAoJCSAqLwoJCWdldExhYmVsRm9ySW5kZXg6IGhlbHBlcnMubm9vcCwKCgkJLyoqCgkJICogUmV0dXJucyB0aGUgbG9jYXRpb24gb2YgdGhlIGdpdmVuIGRhdGEgcG9pbnQuIFZhbHVlIGNhbiBlaXRoZXIgYmUgYW4gaW5kZXggb3IgYSBudW1lcmljYWwgdmFsdWUKCQkgKiBUaGUgY29vcmRpbmF0ZSAoMCwgMCkgaXMgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXMKCQkgKiBAcGFyYW0gdmFsdWUKCQkgKiBAcGFyYW0gaW5kZXgKCQkgKiBAcGFyYW0gZGF0YXNldEluZGV4CgkJICovCgkJZ2V0UGl4ZWxGb3JWYWx1ZTogaGVscGVycy5ub29wLAoKCQkvKioKCQkgKiBVc2VkIHRvIGdldCB0aGUgZGF0YSB2YWx1ZSBmcm9tIGEgZ2l2ZW4gcGl4ZWwuIFRoaXMgaXMgdGhlIGludmVyc2Ugb2YgZ2V0UGl4ZWxGb3JWYWx1ZQoJCSAqIFRoZSBjb29yZGluYXRlICgwLCAwKSBpcyBhdCB0aGUgdXBwZXItbGVmdCBjb3JuZXIgb2YgdGhlIGNhbnZhcwoJCSAqIEBwYXJhbSBwaXhlbAoJCSAqLwoJCWdldFZhbHVlRm9yUGl4ZWw6IGhlbHBlcnMubm9vcCwKCgkJLyoqCgkJICogUmV0dXJucyB0aGUgbG9jYXRpb24gb2YgdGhlIHRpY2sgYXQgdGhlIGdpdmVuIGluZGV4CgkJICogVGhlIGNvb3JkaW5hdGUgKDAsIDApIGlzIGF0IHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgY2FudmFzCgkJICovCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb2Zmc2V0ID0gbWUub3B0aW9ucy5vZmZzZXQ7CgkJCWlmIChtZS5pc0hvcml6b250YWwoKSkgewoJCQkJdmFyIGlubmVyV2lkdGggPSBtZS53aWR0aCAtIChtZS5wYWRkaW5nTGVmdCArIG1lLnBhZGRpbmdSaWdodCk7CgkJCQl2YXIgdGlja1dpZHRoID0gaW5uZXJXaWR0aCAvIE1hdGgubWF4KChtZS5fdGlja3MubGVuZ3RoIC0gKG9mZnNldCA/IDAgOiAxKSksIDEpOwoJCQkJdmFyIHBpeGVsID0gKHRpY2tXaWR0aCAqIGluZGV4KSArIG1lLnBhZGRpbmdMZWZ0OwoKCQkJCWlmIChvZmZzZXQpIHsKCQkJCQlwaXhlbCArPSB0aWNrV2lkdGggLyAyOwoJCQkJfQoKCQkJCXZhciBmaW5hbFZhbCA9IG1lLmxlZnQgKyBNYXRoLnJvdW5kKHBpeGVsKTsKCQkJCWZpbmFsVmFsICs9IG1lLmlzRnVsbFdpZHRoKCkgPyBtZS5tYXJnaW5zLmxlZnQgOiAwOwoJCQkJcmV0dXJuIGZpbmFsVmFsOwoJCQl9CgkJCXZhciBpbm5lckhlaWdodCA9IG1lLmhlaWdodCAtIChtZS5wYWRkaW5nVG9wICsgbWUucGFkZGluZ0JvdHRvbSk7CgkJCXJldHVybiBtZS50b3AgKyAoaW5kZXggKiAoaW5uZXJIZWlnaHQgLyAobWUuX3RpY2tzLmxlbmd0aCAtIDEpKSk7CgkJfSwKCgkJLyoqCgkJICogVXRpbGl0eSBmb3IgZ2V0dGluZyB0aGUgcGl4ZWwgbG9jYXRpb24gb2YgYSBwZXJjZW50YWdlIG9mIHNjYWxlCgkJICogVGhlIGNvb3JkaW5hdGUgKDAsIDApIGlzIGF0IHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgY2FudmFzCgkJICovCgkJZ2V0UGl4ZWxGb3JEZWNpbWFsOiBmdW5jdGlvbihkZWNpbWFsKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCWlmIChtZS5pc0hvcml6b250YWwoKSkgewoJCQkJdmFyIGlubmVyV2lkdGggPSBtZS53aWR0aCAtIChtZS5wYWRkaW5nTGVmdCArIG1lLnBhZGRpbmdSaWdodCk7CgkJCQl2YXIgdmFsdWVPZmZzZXQgPSAoaW5uZXJXaWR0aCAqIGRlY2ltYWwpICsgbWUucGFkZGluZ0xlZnQ7CgoJCQkJdmFyIGZpbmFsVmFsID0gbWUubGVmdCArIE1hdGgucm91bmQodmFsdWVPZmZzZXQpOwoJCQkJZmluYWxWYWwgKz0gbWUuaXNGdWxsV2lkdGgoKSA/IG1lLm1hcmdpbnMubGVmdCA6IDA7CgkJCQlyZXR1cm4gZmluYWxWYWw7CgkJCX0KCQkJcmV0dXJuIG1lLnRvcCArIChkZWNpbWFsICogbWUuaGVpZ2h0KTsKCQl9LAoKCQkvKioKCQkgKiBSZXR1cm5zIHRoZSBwaXhlbCBmb3IgdGhlIG1pbmltdW0gY2hhcnQgdmFsdWUKCQkgKiBUaGUgY29vcmRpbmF0ZSAoMCwgMCkgaXMgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXMKCQkgKi8KCQlnZXRCYXNlUGl4ZWw6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5nZXRQaXhlbEZvclZhbHVlKHRoaXMuZ2V0QmFzZVZhbHVlKCkpOwoJCX0sCgoJCWdldEJhc2VWYWx1ZTogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtaW4gPSBtZS5taW47CgkJCXZhciBtYXggPSBtZS5tYXg7CgoJCQlyZXR1cm4gbWUuYmVnaW5BdFplcm8gPyAwIDoKCQkJCW1pbiA8IDAgJiYgbWF4IDwgMCA/IG1heCA6CgkJCQltaW4gPiAwICYmIG1heCA+IDAgPyBtaW4gOgoJCQkJMDsKCQl9LAoKCQkvKioKCQkgKiBSZXR1cm5zIGEgc3Vic2V0IG9mIHRpY2tzIHRvIGJlIHBsb3R0ZWQgdG8gYXZvaWQgb3ZlcmxhcHBpbmcgbGFiZWxzLgoJCSAqIEBwcml2YXRlCgkJICovCgkJX2F1dG9Ta2lwOiBmdW5jdGlvbih0aWNrcykgewoJCQl2YXIgc2tpcFJhdGlvOwoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgaXNIb3Jpem9udGFsID0gbWUuaXNIb3Jpem9udGFsKCk7CgkJCXZhciBvcHRpb25UaWNrcyA9IG1lLm9wdGlvbnMudGlja3MubWlub3I7CgkJCXZhciB0aWNrQ291bnQgPSB0aWNrcy5sZW5ndGg7CgkJCXZhciBsYWJlbFJvdGF0aW9uUmFkaWFucyA9IGhlbHBlcnMudG9SYWRpYW5zKG1lLmxhYmVsUm90YXRpb24pOwoJCQl2YXIgY29zUm90YXRpb24gPSBNYXRoLmNvcyhsYWJlbFJvdGF0aW9uUmFkaWFucyk7CgkJCXZhciBsb25nZXN0Um90YXRlZExhYmVsID0gbWUubG9uZ2VzdExhYmVsV2lkdGggKiBjb3NSb3RhdGlvbjsKCQkJdmFyIHJlc3VsdCA9IFtdOwoJCQl2YXIgaSwgdGljaywgc2hvdWxkU2tpcDsKCgkJCS8vIGZpZ3VyZSBvdXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGdyaWRsaW5lcyB0byBzaG93CgkJCXZhciBtYXhUaWNrczsKCQkJaWYgKG9wdGlvblRpY2tzLm1heFRpY2tzTGltaXQpIHsKCQkJCW1heFRpY2tzID0gb3B0aW9uVGlja3MubWF4VGlja3NMaW1pdDsKCQkJfQoKCQkJaWYgKGlzSG9yaXpvbnRhbCkgewoJCQkJc2tpcFJhdGlvID0gZmFsc2U7CgoJCQkJaWYgKChsb25nZXN0Um90YXRlZExhYmVsICsgb3B0aW9uVGlja3MuYXV0b1NraXBQYWRkaW5nKSAqIHRpY2tDb3VudCA+IChtZS53aWR0aCAtIChtZS5wYWRkaW5nTGVmdCArIG1lLnBhZGRpbmdSaWdodCkpKSB7CgkJCQkJc2tpcFJhdGlvID0gMSArIE1hdGguZmxvb3IoKChsb25nZXN0Um90YXRlZExhYmVsICsgb3B0aW9uVGlja3MuYXV0b1NraXBQYWRkaW5nKSAqIHRpY2tDb3VudCkgLyAobWUud2lkdGggLSAobWUucGFkZGluZ0xlZnQgKyBtZS5wYWRkaW5nUmlnaHQpKSk7CgkJCQl9CgoJCQkJLy8gaWYgdGhleSBkZWZpbmVkIGEgbWF4IG51bWJlciBvZiBvcHRpb25UaWNrcywKCQkJCS8vIGluY3JlYXNlIHNraXBSYXRpbyB1bnRpbCB0aGF0IG51bWJlciBpcyBtZXQKCQkJCWlmIChtYXhUaWNrcyAmJiB0aWNrQ291bnQgPiBtYXhUaWNrcykgewoJCQkJCXNraXBSYXRpbyA9IE1hdGgubWF4KHNraXBSYXRpbywgTWF0aC5mbG9vcih0aWNrQ291bnQgLyBtYXhUaWNrcykpOwoJCQkJfQoJCQl9CgoJCQlmb3IgKGkgPSAwOyBpIDwgdGlja0NvdW50OyBpKyspIHsKCQkJCXRpY2sgPSB0aWNrc1tpXTsKCgkJCQkvLyBTaW5jZSB3ZSBhbHdheXMgc2hvdyB0aGUgbGFzdCB0aWNrLHdlIG5lZWQgbWF5IG5lZWQgdG8gaGlkZSB0aGUgbGFzdCBzaG93biBvbmUgYmVmb3JlCgkJCQlzaG91bGRTa2lwID0gKHNraXBSYXRpbyA+IDEgJiYgaSAlIHNraXBSYXRpbyA+IDApIHx8IChpICUgc2tpcFJhdGlvID09PSAwICYmIGkgKyBza2lwUmF0aW8gPj0gdGlja0NvdW50KTsKCQkJCWlmIChzaG91bGRTa2lwICYmIGkgIT09IHRpY2tDb3VudCAtIDEpIHsKCQkJCQkvLyBsZWF2ZSB0aWNrIGluIHBsYWNlIGJ1dCBtYWtlIHN1cmUgaXQncyBub3QgZGlzcGxheWVkICgjNDYzNSkKCQkJCQlkZWxldGUgdGljay5sYWJlbDsKCQkJCX0KCQkJCXJlc3VsdC5wdXNoKHRpY2spOwoJCQl9CgkJCXJldHVybiByZXN1bHQ7CgkJfSwKCgkJLy8gQWN0dWFsbHkgZHJhdyB0aGUgc2NhbGUgb24gdGhlIGNhbnZhcwoJCS8vIEBwYXJhbSB7cmVjdGFuZ2xlfSBjaGFydEFyZWEgOiB0aGUgYXJlYSBvZiB0aGUgY2hhcnQgdG8gZHJhdyBmdWxsIGdyaWQgbGluZXMgb24KCQlkcmF3OiBmdW5jdGlvbihjaGFydEFyZWEpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdGlvbnMgPSBtZS5vcHRpb25zOwoJCQlpZiAoIW9wdGlvbnMuZGlzcGxheSkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl2YXIgY29udGV4dCA9IG1lLmN0eDsKCQkJdmFyIGdsb2JhbERlZmF1bHRzID0gZGVmYXVsdHMuZ2xvYmFsOwoJCQl2YXIgb3B0aW9uVGlja3MgPSBvcHRpb25zLnRpY2tzLm1pbm9yOwoJCQl2YXIgb3B0aW9uTWFqb3JUaWNrcyA9IG9wdGlvbnMudGlja3MubWFqb3IgfHwgb3B0aW9uVGlja3M7CgkJCXZhciBncmlkTGluZXMgPSBvcHRpb25zLmdyaWRMaW5lczsKCQkJdmFyIHNjYWxlTGFiZWwgPSBvcHRpb25zLnNjYWxlTGFiZWw7CgoJCQl2YXIgaXNSb3RhdGVkID0gbWUubGFiZWxSb3RhdGlvbiAhPT0gMDsKCQkJdmFyIGlzSG9yaXpvbnRhbCA9IG1lLmlzSG9yaXpvbnRhbCgpOwoKCQkJdmFyIHRpY2tzID0gb3B0aW9uVGlja3MuYXV0b1NraXAgPyBtZS5fYXV0b1NraXAobWUuZ2V0VGlja3MoKSkgOiBtZS5nZXRUaWNrcygpOwoJCQl2YXIgdGlja0ZvbnRDb2xvciA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQob3B0aW9uVGlja3MuZm9udENvbG9yLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udENvbG9yKTsKCQkJdmFyIHRpY2tGb250ID0gcGFyc2VGb250T3B0aW9ucyhvcHRpb25UaWNrcyk7CgkJCXZhciBtYWpvclRpY2tGb250Q29sb3IgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KG9wdGlvbk1ham9yVGlja3MuZm9udENvbG9yLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udENvbG9yKTsKCQkJdmFyIG1ham9yVGlja0ZvbnQgPSBwYXJzZUZvbnRPcHRpb25zKG9wdGlvbk1ham9yVGlja3MpOwoKCQkJdmFyIHRsID0gZ3JpZExpbmVzLmRyYXdUaWNrcyA/IGdyaWRMaW5lcy50aWNrTWFya0xlbmd0aCA6IDA7CgoJCQl2YXIgc2NhbGVMYWJlbEZvbnRDb2xvciA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoc2NhbGVMYWJlbC5mb250Q29sb3IsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250Q29sb3IpOwoJCQl2YXIgc2NhbGVMYWJlbEZvbnQgPSBwYXJzZUZvbnRPcHRpb25zKHNjYWxlTGFiZWwpOwoJCQl2YXIgc2NhbGVMYWJlbFBhZGRpbmcgPSBoZWxwZXJzLm9wdGlvbnMudG9QYWRkaW5nKHNjYWxlTGFiZWwucGFkZGluZyk7CgkJCXZhciBsYWJlbFJvdGF0aW9uUmFkaWFucyA9IGhlbHBlcnMudG9SYWRpYW5zKG1lLmxhYmVsUm90YXRpb24pOwoKCQkJdmFyIGl0ZW1zVG9EcmF3ID0gW107CgoJCQl2YXIgYXhpc1dpZHRoID0gbWUub3B0aW9ucy5ncmlkTGluZXMubGluZVdpZHRoOwoJCQl2YXIgeFRpY2tTdGFydCA9IG9wdGlvbnMucG9zaXRpb24gPT09ICdyaWdodCcgPyBtZS5yaWdodCA6IG1lLnJpZ2h0IC0gYXhpc1dpZHRoIC0gdGw7CgkJCXZhciB4VGlja0VuZCA9IG9wdGlvbnMucG9zaXRpb24gPT09ICdyaWdodCcgPyBtZS5yaWdodCArIHRsIDogbWUucmlnaHQ7CgkJCXZhciB5VGlja1N0YXJ0ID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyBtZS50b3AgKyBheGlzV2lkdGggOiBtZS5ib3R0b20gLSB0bCAtIGF4aXNXaWR0aDsKCQkJdmFyIHlUaWNrRW5kID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyBtZS50b3AgKyBheGlzV2lkdGggKyB0bCA6IG1lLmJvdHRvbSArIGF4aXNXaWR0aDsKCgkJCWhlbHBlcnMuZWFjaCh0aWNrcywgZnVuY3Rpb24odGljaywgaW5kZXgpIHsKCQkJCS8vIGF1dG9za2lwcGVyIHNraXBwZWQgdGhpcyB0aWNrICgjNDYzNSkKCQkJCWlmIChoZWxwZXJzLmlzTnVsbE9yVW5kZWYodGljay5sYWJlbCkpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdmFyIGxhYmVsID0gdGljay5sYWJlbDsKCQkJCXZhciBsaW5lV2lkdGgsIGxpbmVDb2xvciwgYm9yZGVyRGFzaCwgYm9yZGVyRGFzaE9mZnNldDsKCQkJCWlmIChpbmRleCA9PT0gbWUuemVyb0xpbmVJbmRleCAmJiBvcHRpb25zLm9mZnNldCA9PT0gZ3JpZExpbmVzLm9mZnNldEdyaWRMaW5lcykgewoJCQkJCS8vIERyYXcgdGhlIGZpcnN0IGluZGV4IHNwZWNpYWxseQoJCQkJCWxpbmVXaWR0aCA9IGdyaWRMaW5lcy56ZXJvTGluZVdpZHRoOwoJCQkJCWxpbmVDb2xvciA9IGdyaWRMaW5lcy56ZXJvTGluZUNvbG9yOwoJCQkJCWJvcmRlckRhc2ggPSBncmlkTGluZXMuemVyb0xpbmVCb3JkZXJEYXNoOwoJCQkJCWJvcmRlckRhc2hPZmZzZXQgPSBncmlkTGluZXMuemVyb0xpbmVCb3JkZXJEYXNoT2Zmc2V0OwoJCQkJfSBlbHNlIHsKCQkJCQlsaW5lV2lkdGggPSBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdChncmlkTGluZXMubGluZVdpZHRoLCBpbmRleCk7CgkJCQkJbGluZUNvbG9yID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZ3JpZExpbmVzLmNvbG9yLCBpbmRleCk7CgkJCQkJYm9yZGVyRGFzaCA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQoZ3JpZExpbmVzLmJvcmRlckRhc2gsIGdsb2JhbERlZmF1bHRzLmJvcmRlckRhc2gpOwoJCQkJCWJvcmRlckRhc2hPZmZzZXQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KGdyaWRMaW5lcy5ib3JkZXJEYXNoT2Zmc2V0LCBnbG9iYWxEZWZhdWx0cy5ib3JkZXJEYXNoT2Zmc2V0KTsKCQkJCX0KCgkJCQkvLyBDb21tb24gcHJvcGVydGllcwoJCQkJdmFyIHR4MSwgdHkxLCB0eDIsIHR5MiwgeDEsIHkxLCB4MiwgeTIsIGxhYmVsWCwgbGFiZWxZOwoJCQkJdmFyIHRleHRBbGlnbiA9ICdtaWRkbGUnOwoJCQkJdmFyIHRleHRCYXNlbGluZSA9ICdtaWRkbGUnOwoJCQkJdmFyIHRpY2tQYWRkaW5nID0gb3B0aW9uVGlja3MucGFkZGluZzsKCgkJCQlpZiAoaXNIb3Jpem9udGFsKSB7CgkJCQkJdmFyIGxhYmVsWU9mZnNldCA9IHRsICsgdGlja1BhZGRpbmc7CgoJCQkJCWlmIChvcHRpb25zLnBvc2l0aW9uID09PSAnYm90dG9tJykgewoJCQkJCQkvLyBib3R0b20KCQkJCQkJdGV4dEJhc2VsaW5lID0gIWlzUm90YXRlZCA/ICd0b3AnIDogJ21pZGRsZSc7CgkJCQkJCXRleHRBbGlnbiA9ICFpc1JvdGF0ZWQgPyAnY2VudGVyJyA6ICdyaWdodCc7CgkJCQkJCWxhYmVsWSA9IG1lLnRvcCArIGxhYmVsWU9mZnNldDsKCQkJCQl9IGVsc2UgewoJCQkJCQkvLyB0b3AKCQkJCQkJdGV4dEJhc2VsaW5lID0gIWlzUm90YXRlZCA/ICdib3R0b20nIDogJ21pZGRsZSc7CgkJCQkJCXRleHRBbGlnbiA9ICFpc1JvdGF0ZWQgPyAnY2VudGVyJyA6ICdsZWZ0JzsKCQkJCQkJbGFiZWxZID0gbWUuYm90dG9tIC0gbGFiZWxZT2Zmc2V0OwoJCQkJCX0KCgkJCQkJdmFyIHhMaW5lVmFsdWUgPSBnZXRMaW5lVmFsdWUobWUsIGluZGV4LCBncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzICYmIHRpY2tzLmxlbmd0aCA+IDEpOwoJCQkJCWlmICh4TGluZVZhbHVlIDwgbWUubGVmdCkgewoJCQkJCQlsaW5lQ29sb3IgPSAncmdiYSgwLDAsMCwwKSc7CgkJCQkJfQoJCQkJCXhMaW5lVmFsdWUgKz0gaGVscGVycy5hbGlhc1BpeGVsKGxpbmVXaWR0aCk7CgoJCQkJCWxhYmVsWCA9IG1lLmdldFBpeGVsRm9yVGljayhpbmRleCkgKyBvcHRpb25UaWNrcy5sYWJlbE9mZnNldDsgLy8geCB2YWx1ZXMgZm9yIG9wdGlvblRpY2tzIChuZWVkIHRvIGNvbnNpZGVyIG9mZnNldExhYmVsIG9wdGlvbikKCgkJCQkJdHgxID0gdHgyID0geDEgPSB4MiA9IHhMaW5lVmFsdWU7CgkJCQkJdHkxID0geVRpY2tTdGFydDsKCQkJCQl0eTIgPSB5VGlja0VuZDsKCQkJCQl5MSA9IGNoYXJ0QXJlYS50b3A7CgkJCQkJeTIgPSBjaGFydEFyZWEuYm90dG9tICsgYXhpc1dpZHRoOwoJCQkJfSBlbHNlIHsKCQkJCQl2YXIgaXNMZWZ0ID0gb3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2xlZnQnOwoJCQkJCXZhciBsYWJlbFhPZmZzZXQ7CgoJCQkJCWlmIChvcHRpb25UaWNrcy5taXJyb3IpIHsKCQkJCQkJdGV4dEFsaWduID0gaXNMZWZ0ID8gJ2xlZnQnIDogJ3JpZ2h0JzsKCQkJCQkJbGFiZWxYT2Zmc2V0ID0gdGlja1BhZGRpbmc7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGV4dEFsaWduID0gaXNMZWZ0ID8gJ3JpZ2h0JyA6ICdsZWZ0JzsKCQkJCQkJbGFiZWxYT2Zmc2V0ID0gdGwgKyB0aWNrUGFkZGluZzsKCQkJCQl9CgoJCQkJCWxhYmVsWCA9IGlzTGVmdCA/IG1lLnJpZ2h0IC0gbGFiZWxYT2Zmc2V0IDogbWUubGVmdCArIGxhYmVsWE9mZnNldDsKCgkJCQkJdmFyIHlMaW5lVmFsdWUgPSBnZXRMaW5lVmFsdWUobWUsIGluZGV4LCBncmlkTGluZXMub2Zmc2V0R3JpZExpbmVzICYmIHRpY2tzLmxlbmd0aCA+IDEpOwoJCQkJCWlmICh5TGluZVZhbHVlIDwgbWUudG9wKSB7CgkJCQkJCWxpbmVDb2xvciA9ICdyZ2JhKDAsMCwwLDApJzsKCQkJCQl9CgkJCQkJeUxpbmVWYWx1ZSArPSBoZWxwZXJzLmFsaWFzUGl4ZWwobGluZVdpZHRoKTsKCgkJCQkJbGFiZWxZID0gbWUuZ2V0UGl4ZWxGb3JUaWNrKGluZGV4KSArIG9wdGlvblRpY2tzLmxhYmVsT2Zmc2V0OwoKCQkJCQl0eDEgPSB4VGlja1N0YXJ0OwoJCQkJCXR4MiA9IHhUaWNrRW5kOwoJCQkJCXgxID0gY2hhcnRBcmVhLmxlZnQ7CgkJCQkJeDIgPSBjaGFydEFyZWEucmlnaHQgKyBheGlzV2lkdGg7CgkJCQkJdHkxID0gdHkyID0geTEgPSB5MiA9IHlMaW5lVmFsdWU7CgkJCQl9CgoJCQkJaXRlbXNUb0RyYXcucHVzaCh7CgkJCQkJdHgxOiB0eDEsCgkJCQkJdHkxOiB0eTEsCgkJCQkJdHgyOiB0eDIsCgkJCQkJdHkyOiB0eTIsCgkJCQkJeDE6IHgxLAoJCQkJCXkxOiB5MSwKCQkJCQl4MjogeDIsCgkJCQkJeTI6IHkyLAoJCQkJCWxhYmVsWDogbGFiZWxYLAoJCQkJCWxhYmVsWTogbGFiZWxZLAoJCQkJCWdsV2lkdGg6IGxpbmVXaWR0aCwKCQkJCQlnbENvbG9yOiBsaW5lQ29sb3IsCgkJCQkJZ2xCb3JkZXJEYXNoOiBib3JkZXJEYXNoLAoJCQkJCWdsQm9yZGVyRGFzaE9mZnNldDogYm9yZGVyRGFzaE9mZnNldCwKCQkJCQlyb3RhdGlvbjogLTEgKiBsYWJlbFJvdGF0aW9uUmFkaWFucywKCQkJCQlsYWJlbDogbGFiZWwsCgkJCQkJbWFqb3I6IHRpY2subWFqb3IsCgkJCQkJdGV4dEJhc2VsaW5lOiB0ZXh0QmFzZWxpbmUsCgkJCQkJdGV4dEFsaWduOiB0ZXh0QWxpZ24KCQkJCX0pOwoJCQl9KTsKCgkJCS8vIERyYXcgYWxsIG9mIHRoZSB0aWNrIGxhYmVscywgdGljayBtYXJrcywgYW5kIGdyaWQgbGluZXMgYXQgdGhlIGNvcnJlY3QgcGxhY2VzCgkJCWhlbHBlcnMuZWFjaChpdGVtc1RvRHJhdywgZnVuY3Rpb24oaXRlbVRvRHJhdykgewoJCQkJaWYgKGdyaWRMaW5lcy5kaXNwbGF5KSB7CgkJCQkJY29udGV4dC5zYXZlKCk7CgkJCQkJY29udGV4dC5saW5lV2lkdGggPSBpdGVtVG9EcmF3LmdsV2lkdGg7CgkJCQkJY29udGV4dC5zdHJva2VTdHlsZSA9IGl0ZW1Ub0RyYXcuZ2xDb2xvcjsKCQkJCQlpZiAoY29udGV4dC5zZXRMaW5lRGFzaCkgewoJCQkJCQljb250ZXh0LnNldExpbmVEYXNoKGl0ZW1Ub0RyYXcuZ2xCb3JkZXJEYXNoKTsKCQkJCQkJY29udGV4dC5saW5lRGFzaE9mZnNldCA9IGl0ZW1Ub0RyYXcuZ2xCb3JkZXJEYXNoT2Zmc2V0OwoJCQkJCX0KCgkJCQkJY29udGV4dC5iZWdpblBhdGgoKTsKCgkJCQkJaWYgKGdyaWRMaW5lcy5kcmF3VGlja3MpIHsKCQkJCQkJY29udGV4dC5tb3ZlVG8oaXRlbVRvRHJhdy50eDEsIGl0ZW1Ub0RyYXcudHkxKTsKCQkJCQkJY29udGV4dC5saW5lVG8oaXRlbVRvRHJhdy50eDIsIGl0ZW1Ub0RyYXcudHkyKTsKCQkJCQl9CgoJCQkJCWlmIChncmlkTGluZXMuZHJhd09uQ2hhcnRBcmVhKSB7CgkJCQkJCWNvbnRleHQubW92ZVRvKGl0ZW1Ub0RyYXcueDEsIGl0ZW1Ub0RyYXcueTEpOwoJCQkJCQljb250ZXh0LmxpbmVUbyhpdGVtVG9EcmF3LngyLCBpdGVtVG9EcmF3LnkyKTsKCQkJCQl9CgoJCQkJCWNvbnRleHQuc3Ryb2tlKCk7CgkJCQkJY29udGV4dC5yZXN0b3JlKCk7CgkJCQl9CgoJCQkJaWYgKG9wdGlvblRpY2tzLmRpc3BsYXkpIHsKCQkJCQkvLyBNYWtlIHN1cmUgd2UgZHJhdyB0ZXh0IGluIHRoZSBjb3JyZWN0IGNvbG9yIGFuZCBmb250CgkJCQkJY29udGV4dC5zYXZlKCk7CgkJCQkJY29udGV4dC50cmFuc2xhdGUoaXRlbVRvRHJhdy5sYWJlbFgsIGl0ZW1Ub0RyYXcubGFiZWxZKTsKCQkJCQljb250ZXh0LnJvdGF0ZShpdGVtVG9EcmF3LnJvdGF0aW9uKTsKCQkJCQljb250ZXh0LmZvbnQgPSBpdGVtVG9EcmF3Lm1ham9yID8gbWFqb3JUaWNrRm9udC5mb250IDogdGlja0ZvbnQuZm9udDsKCQkJCQljb250ZXh0LmZpbGxTdHlsZSA9IGl0ZW1Ub0RyYXcubWFqb3IgPyBtYWpvclRpY2tGb250Q29sb3IgOiB0aWNrRm9udENvbG9yOwoJCQkJCWNvbnRleHQudGV4dEJhc2VsaW5lID0gaXRlbVRvRHJhdy50ZXh0QmFzZWxpbmU7CgkJCQkJY29udGV4dC50ZXh0QWxpZ24gPSBpdGVtVG9EcmF3LnRleHRBbGlnbjsKCgkJCQkJdmFyIGxhYmVsID0gaXRlbVRvRHJhdy5sYWJlbDsKCQkJCQlpZiAoaGVscGVycy5pc0FycmF5KGxhYmVsKSkgewoJCQkJCQl2YXIgbGluZUNvdW50ID0gbGFiZWwubGVuZ3RoOwoJCQkJCQl2YXIgbGluZUhlaWdodCA9IHRpY2tGb250LnNpemUgKiAxLjU7CgkJCQkJCXZhciB5ID0gbWUuaXNIb3Jpem9udGFsKCkgPyAwIDogLWxpbmVIZWlnaHQgKiAobGluZUNvdW50IC0gMSkgLyAyOwoKCQkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lQ291bnQ7ICsraSkgewoJCQkJCQkJLy8gV2UganVzdCBtYWtlIHN1cmUgdGhlIG11bHRpbGluZSBlbGVtZW50IGlzIGEgc3RyaW5nIGhlcmUuLgoJCQkJCQkJY29udGV4dC5maWxsVGV4dCgnJyArIGxhYmVsW2ldLCAwLCB5KTsKCQkJCQkJCS8vIGFwcGx5IHNhbWUgbGluZVNwYWNpbmcgYXMgY2FsY3VsYXRlZCBAIEwjMzIwCgkJCQkJCQl5ICs9IGxpbmVIZWlnaHQ7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQljb250ZXh0LmZpbGxUZXh0KGxhYmVsLCAwLCAwKTsKCQkJCQl9CgkJCQkJY29udGV4dC5yZXN0b3JlKCk7CgkJCQl9CgkJCX0pOwoKCQkJaWYgKHNjYWxlTGFiZWwuZGlzcGxheSkgewoJCQkJLy8gRHJhdyB0aGUgc2NhbGUgbGFiZWwKCQkJCXZhciBzY2FsZUxhYmVsWDsKCQkJCXZhciBzY2FsZUxhYmVsWTsKCQkJCXZhciByb3RhdGlvbiA9IDA7CgkJCQl2YXIgaGFsZkxpbmVIZWlnaHQgPSBwYXJzZUxpbmVIZWlnaHQoc2NhbGVMYWJlbCkgLyAyOwoKCQkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCQlzY2FsZUxhYmVsWCA9IG1lLmxlZnQgKyAoKG1lLnJpZ2h0IC0gbWUubGVmdCkgLyAyKTsgLy8gbWlkcG9pbnQgb2YgdGhlIHdpZHRoCgkJCQkJc2NhbGVMYWJlbFkgPSBvcHRpb25zLnBvc2l0aW9uID09PSAnYm90dG9tJwoJCQkJCQk/IG1lLmJvdHRvbSAtIGhhbGZMaW5lSGVpZ2h0IC0gc2NhbGVMYWJlbFBhZGRpbmcuYm90dG9tCgkJCQkJCTogbWUudG9wICsgaGFsZkxpbmVIZWlnaHQgKyBzY2FsZUxhYmVsUGFkZGluZy50b3A7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBpc0xlZnQgPSBvcHRpb25zLnBvc2l0aW9uID09PSAnbGVmdCc7CgkJCQkJc2NhbGVMYWJlbFggPSBpc0xlZnQKCQkJCQkJPyBtZS5sZWZ0ICsgaGFsZkxpbmVIZWlnaHQgKyBzY2FsZUxhYmVsUGFkZGluZy50b3AKCQkJCQkJOiBtZS5yaWdodCAtIGhhbGZMaW5lSGVpZ2h0IC0gc2NhbGVMYWJlbFBhZGRpbmcudG9wOwoJCQkJCXNjYWxlTGFiZWxZID0gbWUudG9wICsgKChtZS5ib3R0b20gLSBtZS50b3ApIC8gMik7CgkJCQkJcm90YXRpb24gPSBpc0xlZnQgPyAtMC41ICogTWF0aC5QSSA6IDAuNSAqIE1hdGguUEk7CgkJCQl9CgoJCQkJY29udGV4dC5zYXZlKCk7CgkJCQljb250ZXh0LnRyYW5zbGF0ZShzY2FsZUxhYmVsWCwgc2NhbGVMYWJlbFkpOwoJCQkJY29udGV4dC5yb3RhdGUocm90YXRpb24pOwoJCQkJY29udGV4dC50ZXh0QWxpZ24gPSAnY2VudGVyJzsKCQkJCWNvbnRleHQudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7CgkJCQljb250ZXh0LmZpbGxTdHlsZSA9IHNjYWxlTGFiZWxGb250Q29sb3I7IC8vIHJlbmRlciBpbiBjb3JyZWN0IGNvbG91cgoJCQkJY29udGV4dC5mb250ID0gc2NhbGVMYWJlbEZvbnQuZm9udDsKCQkJCWNvbnRleHQuZmlsbFRleHQoc2NhbGVMYWJlbC5sYWJlbFN0cmluZywgMCwgMCk7CgkJCQljb250ZXh0LnJlc3RvcmUoKTsKCQkJfQoKCQkJaWYgKGdyaWRMaW5lcy5kcmF3Qm9yZGVyKSB7CgkJCQkvLyBEcmF3IHRoZSBsaW5lIGF0IHRoZSBlZGdlIG9mIHRoZSBheGlzCgkJCQljb250ZXh0LmxpbmVXaWR0aCA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGdyaWRMaW5lcy5saW5lV2lkdGgsIDApOwoJCQkJY29udGV4dC5zdHJva2VTdHlsZSA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGdyaWRMaW5lcy5jb2xvciwgMCk7CgkJCQl2YXIgeDEgPSBtZS5sZWZ0OwoJCQkJdmFyIHgyID0gbWUucmlnaHQgKyBheGlzV2lkdGg7CgkJCQl2YXIgeTEgPSBtZS50b3A7CgkJCQl2YXIgeTIgPSBtZS5ib3R0b20gKyBheGlzV2lkdGg7CgoJCQkJdmFyIGFsaWFzUGl4ZWwgPSBoZWxwZXJzLmFsaWFzUGl4ZWwoY29udGV4dC5saW5lV2lkdGgpOwoJCQkJaWYgKGlzSG9yaXpvbnRhbCkgewoJCQkJCXkxID0geTIgPSBvcHRpb25zLnBvc2l0aW9uID09PSAndG9wJyA/IG1lLmJvdHRvbSA6IG1lLnRvcDsKCQkJCQl5MSArPSBhbGlhc1BpeGVsOwoJCQkJCXkyICs9IGFsaWFzUGl4ZWw7CgkJCQl9IGVsc2UgewoJCQkJCXgxID0geDIgPSBvcHRpb25zLnBvc2l0aW9uID09PSAnbGVmdCcgPyBtZS5yaWdodCA6IG1lLmxlZnQ7CgkJCQkJeDEgKz0gYWxpYXNQaXhlbDsKCQkJCQl4MiArPSBhbGlhc1BpeGVsOwoJCQkJfQoKCQkJCWNvbnRleHQuYmVnaW5QYXRoKCk7CgkJCQljb250ZXh0Lm1vdmVUbyh4MSwgeTEpOwoJCQkJY29udGV4dC5saW5lVG8oeDIsIHkyKTsKCQkJCWNvbnRleHQuc3Ryb2tlKCk7CgkJCX0KCQl9Cgl9KTsKfTsKCn0seyIyNSI6MjUsIjI2IjoyNiwiMzQiOjM0LCI0NSI6NDV9XSwzMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgbGF5b3V0cyA9IHJlcXVpcmUoMzApOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCUNoYXJ0LnNjYWxlU2VydmljZSA9IHsKCQkvLyBTY2FsZSByZWdpc3RyYXRpb24gb2JqZWN0LiBFeHRlbnNpb25zIGNhbiByZWdpc3RlciBuZXcgc2NhbGUgdHlwZXMgKHN1Y2ggYXMgbG9nIG9yIERCIHNjYWxlcykgYW5kIHRoZW4KCQkvLyB1c2UgdGhlIG5ldyBjaGFydCBvcHRpb25zIHRvIGdyYWIgdGhlIGNvcnJlY3Qgc2NhbGUKCQljb25zdHJ1Y3RvcnM6IHt9LAoJCS8vIFVzZSBhIHJlZ2lzdHJhdGlvbiBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiBtb3ZlIHRvIGFuIEVTNiBtYXAgd2hlbiB3ZSBubyBsb25nZXIgbmVlZCB0byBzdXBwb3J0CgkJLy8gb2xkIGJyb3dzZXJzCgoJCS8vIFNjYWxlIGNvbmZpZyBkZWZhdWx0cwoJCWRlZmF1bHRzOiB7fSwKCQlyZWdpc3RlclNjYWxlVHlwZTogZnVuY3Rpb24odHlwZSwgc2NhbGVDb25zdHJ1Y3Rvciwgc2NhbGVEZWZhdWx0cykgewoJCQl0aGlzLmNvbnN0cnVjdG9yc1t0eXBlXSA9IHNjYWxlQ29uc3RydWN0b3I7CgkJCXRoaXMuZGVmYXVsdHNbdHlwZV0gPSBoZWxwZXJzLmNsb25lKHNjYWxlRGVmYXVsdHMpOwoJCX0sCgkJZ2V0U2NhbGVDb25zdHJ1Y3RvcjogZnVuY3Rpb24odHlwZSkgewoJCQlyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvcnMuaGFzT3duUHJvcGVydHkodHlwZSkgPyB0aGlzLmNvbnN0cnVjdG9yc1t0eXBlXSA6IHVuZGVmaW5lZDsKCQl9LAoJCWdldFNjYWxlRGVmYXVsdHM6IGZ1bmN0aW9uKHR5cGUpIHsKCQkJLy8gUmV0dXJuIHRoZSBzY2FsZSBkZWZhdWx0cyBtZXJnZWQgd2l0aCB0aGUgZ2xvYmFsIHNldHRpbmdzIHNvIHRoYXQgd2UgYWx3YXlzIHVzZSB0aGUgbGF0ZXN0IG9uZXMKCQkJcmV0dXJuIHRoaXMuZGVmYXVsdHMuaGFzT3duUHJvcGVydHkodHlwZSkgPyBoZWxwZXJzLm1lcmdlKHt9LCBbZGVmYXVsdHMuc2NhbGUsIHRoaXMuZGVmYXVsdHNbdHlwZV1dKSA6IHt9OwoJCX0sCgkJdXBkYXRlU2NhbGVEZWZhdWx0czogZnVuY3Rpb24odHlwZSwgYWRkaXRpb25zKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCWlmIChtZS5kZWZhdWx0cy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkgewoJCQkJbWUuZGVmYXVsdHNbdHlwZV0gPSBoZWxwZXJzLmV4dGVuZChtZS5kZWZhdWx0c1t0eXBlXSwgYWRkaXRpb25zKTsKCQkJfQoJCX0sCgkJYWRkU2NhbGVzVG9MYXlvdXQ6IGZ1bmN0aW9uKGNoYXJ0KSB7CgkJCS8vIEFkZHMgZWFjaCBzY2FsZSB0byB0aGUgY2hhcnQuYm94ZXMgYXJyYXkgdG8gYmUgc2l6ZWQgYWNjb3JkaW5nbHkKCQkJaGVscGVycy5lYWNoKGNoYXJ0LnNjYWxlcywgZnVuY3Rpb24oc2NhbGUpIHsKCQkJCS8vIFNldCBJTGF5b3V0SXRlbSBwYXJhbWV0ZXJzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQkJc2NhbGUuZnVsbFdpZHRoID0gc2NhbGUub3B0aW9ucy5mdWxsV2lkdGg7CgkJCQlzY2FsZS5wb3NpdGlvbiA9IHNjYWxlLm9wdGlvbnMucG9zaXRpb247CgkJCQlzY2FsZS53ZWlnaHQgPSBzY2FsZS5vcHRpb25zLndlaWdodDsKCQkJCWxheW91dHMuYWRkQm94KGNoYXJ0LCBzY2FsZSk7CgkJCX0pOwoJCX0KCX07Cn07Cgp9LHsiMjUiOjI1LCIzMCI6MzAsIjQ1Ijo0NX1dLDM0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCi8qKgogKiBOYW1lc3BhY2UgdG8gaG9sZCBzdGF0aWMgdGljayBnZW5lcmF0aW9uIGZ1bmN0aW9ucwogKiBAbmFtZXNwYWNlIENoYXJ0LlRpY2tzCiAqLwptb2R1bGUuZXhwb3J0cyA9IHsKCS8qKgoJICogTmFtZXNwYWNlIHRvIGhvbGQgZm9ybWF0dGVycyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIHRpY2tzCgkgKiBAbmFtZXNwYWNlIENoYXJ0LlRpY2tzLmZvcm1hdHRlcnMKCSAqLwoJZm9ybWF0dGVyczogewoJCS8qKgoJCSAqIEZvcm1hdHRlciBmb3IgdmFsdWUgbGFiZWxzCgkJICogQG1ldGhvZCBDaGFydC5UaWNrcy5mb3JtYXR0ZXJzLnZhbHVlcwoJCSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgdG8gZGlzcGxheQoJCSAqIEByZXR1cm4ge1N0cmluZ3xBcnJheX0gdGhlIGxhYmVsIHRvIGRpc3BsYXkKCQkgKi8KCQl2YWx1ZXM6IGZ1bmN0aW9uKHZhbHVlKSB7CgkJCXJldHVybiBoZWxwZXJzLmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiAnJyArIHZhbHVlOwoJCX0sCgoJCS8qKgoJCSAqIEZvcm1hdHRlciBmb3IgbGluZWFyIG51bWVyaWMgdGlja3MKCQkgKiBAbWV0aG9kIENoYXJ0LlRpY2tzLmZvcm1hdHRlcnMubGluZWFyCgkJICogQHBhcmFtIHRpY2tWYWx1ZSB7TnVtYmVyfSB0aGUgdmFsdWUgdG8gYmUgZm9ybWF0dGVkCgkJICogQHBhcmFtIGluZGV4IHtOdW1iZXJ9IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGlja1ZhbHVlIHBhcmFtZXRlciBpbiB0aGUgdGlja3MgYXJyYXkKCQkgKiBAcGFyYW0gdGlja3Mge0FycmF5PE51bWJlcj59IHRoZSBsaXN0IG9mIHRpY2tzIGJlaW5nIGNvbnZlcnRlZAoJCSAqIEByZXR1cm4ge1N0cmluZ30gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0aWNrVmFsdWUgcGFyYW1ldGVyCgkJICovCgkJbGluZWFyOiBmdW5jdGlvbih0aWNrVmFsdWUsIGluZGV4LCB0aWNrcykgewoJCQkvLyBJZiB3ZSBoYXZlIGxvdHMgb2YgdGlja3MsIGRvbid0IHVzZSB0aGUgb25lcwoJCQl2YXIgZGVsdGEgPSB0aWNrcy5sZW5ndGggPiAzID8gdGlja3NbMl0gLSB0aWNrc1sxXSA6IHRpY2tzWzFdIC0gdGlja3NbMF07CgoJCQkvLyBJZiB3ZSBoYXZlIGEgbnVtYmVyIGxpa2UgMi41IGFzIHRoZSBkZWx0YSwgZmlndXJlIG91dCBob3cgbWFueSBkZWNpbWFsIHBsYWNlcyB3ZSBuZWVkCgkJCWlmIChNYXRoLmFicyhkZWx0YSkgPiAxKSB7CgkJCQlpZiAodGlja1ZhbHVlICE9PSBNYXRoLmZsb29yKHRpY2tWYWx1ZSkpIHsKCQkJCQkvLyBub3QgYW4gaW50ZWdlcgoJCQkJCWRlbHRhID0gdGlja1ZhbHVlIC0gTWF0aC5mbG9vcih0aWNrVmFsdWUpOwoJCQkJfQoJCQl9CgoJCQl2YXIgbG9nRGVsdGEgPSBoZWxwZXJzLmxvZzEwKE1hdGguYWJzKGRlbHRhKSk7CgkJCXZhciB0aWNrU3RyaW5nID0gJyc7CgoJCQlpZiAodGlja1ZhbHVlICE9PSAwKSB7CgkJCQl2YXIgbnVtRGVjaW1hbCA9IC0xICogTWF0aC5mbG9vcihsb2dEZWx0YSk7CgkJCQludW1EZWNpbWFsID0gTWF0aC5tYXgoTWF0aC5taW4obnVtRGVjaW1hbCwgMjApLCAwKTsgLy8gdG9GaXhlZCBoYXMgYSBtYXggb2YgMjAgZGVjaW1hbCBwbGFjZXMKCQkJCXRpY2tTdHJpbmcgPSB0aWNrVmFsdWUudG9GaXhlZChudW1EZWNpbWFsKTsKCQkJfSBlbHNlIHsKCQkJCXRpY2tTdHJpbmcgPSAnMCc7IC8vIG5ldmVyIHNob3cgZGVjaW1hbCBwbGFjZXMgZm9yIDAKCQkJfQoKCQkJcmV0dXJuIHRpY2tTdHJpbmc7CgkJfSwKCgkJbG9nYXJpdGhtaWM6IGZ1bmN0aW9uKHRpY2tWYWx1ZSwgaW5kZXgsIHRpY2tzKSB7CgkJCXZhciByZW1haW4gPSB0aWNrVmFsdWUgLyAoTWF0aC5wb3coMTAsIE1hdGguZmxvb3IoaGVscGVycy5sb2cxMCh0aWNrVmFsdWUpKSkpOwoKCQkJaWYgKHRpY2tWYWx1ZSA9PT0gMCkgewoJCQkJcmV0dXJuICcwJzsKCQkJfSBlbHNlIGlmIChyZW1haW4gPT09IDEgfHwgcmVtYWluID09PSAyIHx8IHJlbWFpbiA9PT0gNSB8fCBpbmRleCA9PT0gMCB8fCBpbmRleCA9PT0gdGlja3MubGVuZ3RoIC0gMSkgewoJCQkJcmV0dXJuIHRpY2tWYWx1ZS50b0V4cG9uZW50aWFsKCk7CgkJCX0KCQkJcmV0dXJuICcnOwoJCX0KCX0KfTsKCn0seyI0NSI6NDV9XSwzNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKZGVmYXVsdHMuX3NldCgnZ2xvYmFsJywgewoJdG9vbHRpcHM6IHsKCQllbmFibGVkOiB0cnVlLAoJCWN1c3RvbTogbnVsbCwKCQltb2RlOiAnbmVhcmVzdCcsCgkJcG9zaXRpb246ICdhdmVyYWdlJywKCQlpbnRlcnNlY3Q6IHRydWUsCgkJYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLDAsMCwwLjgpJywKCQl0aXRsZUZvbnRTdHlsZTogJ2JvbGQnLAoJCXRpdGxlU3BhY2luZzogMiwKCQl0aXRsZU1hcmdpbkJvdHRvbTogNiwKCQl0aXRsZUZvbnRDb2xvcjogJyNmZmYnLAoJCXRpdGxlQWxpZ246ICdsZWZ0JywKCQlib2R5U3BhY2luZzogMiwKCQlib2R5Rm9udENvbG9yOiAnI2ZmZicsCgkJYm9keUFsaWduOiAnbGVmdCcsCgkJZm9vdGVyRm9udFN0eWxlOiAnYm9sZCcsCgkJZm9vdGVyU3BhY2luZzogMiwKCQlmb290ZXJNYXJnaW5Ub3A6IDYsCgkJZm9vdGVyRm9udENvbG9yOiAnI2ZmZicsCgkJZm9vdGVyQWxpZ246ICdsZWZ0JywKCQl5UGFkZGluZzogNiwKCQl4UGFkZGluZzogNiwKCQljYXJldFBhZGRpbmc6IDIsCgkJY2FyZXRTaXplOiA1LAoJCWNvcm5lclJhZGl1czogNiwKCQltdWx0aUtleUJhY2tncm91bmQ6ICcjZmZmJywKCQlkaXNwbGF5Q29sb3JzOiB0cnVlLAoJCWJvcmRlckNvbG9yOiAncmdiYSgwLDAsMCwwKScsCgkJYm9yZGVyV2lkdGg6IDAsCgkJY2FsbGJhY2tzOiB7CgkJCS8vIEFyZ3MgYXJlOiAodG9vbHRpcEl0ZW1zLCBkYXRhKQoJCQliZWZvcmVUaXRsZTogaGVscGVycy5ub29wLAoJCQl0aXRsZTogZnVuY3Rpb24odG9vbHRpcEl0ZW1zLCBkYXRhKSB7CgkJCQkvLyBQaWNrIGZpcnN0IHhMYWJlbCBmb3Igbm93CgkJCQl2YXIgdGl0bGUgPSAnJzsKCQkJCXZhciBsYWJlbHMgPSBkYXRhLmxhYmVsczsKCQkJCXZhciBsYWJlbENvdW50ID0gbGFiZWxzID8gbGFiZWxzLmxlbmd0aCA6IDA7CgoJCQkJaWYgKHRvb2x0aXBJdGVtcy5sZW5ndGggPiAwKSB7CgkJCQkJdmFyIGl0ZW0gPSB0b29sdGlwSXRlbXNbMF07CgoJCQkJCWlmIChpdGVtLnhMYWJlbCkgewoJCQkJCQl0aXRsZSA9IGl0ZW0ueExhYmVsOwoJCQkJCX0gZWxzZSBpZiAobGFiZWxDb3VudCA+IDAgJiYgaXRlbS5pbmRleCA8IGxhYmVsQ291bnQpIHsKCQkJCQkJdGl0bGUgPSBsYWJlbHNbaXRlbS5pbmRleF07CgkJCQkJfQoJCQkJfQoKCQkJCXJldHVybiB0aXRsZTsKCQkJfSwKCQkJYWZ0ZXJUaXRsZTogaGVscGVycy5ub29wLAoKCQkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbXMsIGRhdGEpCgkJCWJlZm9yZUJvZHk6IGhlbHBlcnMubm9vcCwKCgkJCS8vIEFyZ3MgYXJlOiAodG9vbHRpcEl0ZW0sIGRhdGEpCgkJCWJlZm9yZUxhYmVsOiBoZWxwZXJzLm5vb3AsCgkJCWxhYmVsOiBmdW5jdGlvbih0b29sdGlwSXRlbSwgZGF0YSkgewoJCQkJdmFyIGxhYmVsID0gZGF0YS5kYXRhc2V0c1t0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXhdLmxhYmVsIHx8ICcnOwoKCQkJCWlmIChsYWJlbCkgewoJCQkJCWxhYmVsICs9ICc6ICc7CgkJCQl9CgkJCQlsYWJlbCArPSB0b29sdGlwSXRlbS55TGFiZWw7CgkJCQlyZXR1cm4gbGFiZWw7CgkJCX0sCgkJCWxhYmVsQ29sb3I6IGZ1bmN0aW9uKHRvb2x0aXBJdGVtLCBjaGFydCkgewoJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YSh0b29sdGlwSXRlbS5kYXRhc2V0SW5kZXgpOwoJCQkJdmFyIGFjdGl2ZUVsZW1lbnQgPSBtZXRhLmRhdGFbdG9vbHRpcEl0ZW0uaW5kZXhdOwoJCQkJdmFyIHZpZXcgPSBhY3RpdmVFbGVtZW50Ll92aWV3OwoJCQkJcmV0dXJuIHsKCQkJCQlib3JkZXJDb2xvcjogdmlldy5ib3JkZXJDb2xvciwKCQkJCQliYWNrZ3JvdW5kQ29sb3I6IHZpZXcuYmFja2dyb3VuZENvbG9yCgkJCQl9OwoJCQl9LAoJCQlsYWJlbFRleHRDb2xvcjogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gdGhpcy5fb3B0aW9ucy5ib2R5Rm9udENvbG9yOwoJCQl9LAoJCQlhZnRlckxhYmVsOiBoZWxwZXJzLm5vb3AsCgoJCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtcywgZGF0YSkKCQkJYWZ0ZXJCb2R5OiBoZWxwZXJzLm5vb3AsCgoJCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtcywgZGF0YSkKCQkJYmVmb3JlRm9vdGVyOiBoZWxwZXJzLm5vb3AsCgkJCWZvb3RlcjogaGVscGVycy5ub29wLAoJCQlhZnRlckZvb3RlcjogaGVscGVycy5ub29wCgkJfQoJfQp9KTsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCgkvKioKIAkgKiBIZWxwZXIgbWV0aG9kIHRvIG1lcmdlIHRoZSBvcGFjaXR5IGludG8gYSBjb2xvcgogCSAqLwoJZnVuY3Rpb24gbWVyZ2VPcGFjaXR5KGNvbG9yU3RyaW5nLCBvcGFjaXR5KSB7CgkJdmFyIGNvbG9yID0gaGVscGVycy5jb2xvcihjb2xvclN0cmluZyk7CgkJcmV0dXJuIGNvbG9yLmFscGhhKG9wYWNpdHkgKiBjb2xvci5hbHBoYSgpKS5yZ2JhU3RyaW5nKCk7Cgl9CgoJLy8gSGVscGVyIHRvIHB1c2ggb3IgY29uY2F0IGJhc2VkIG9uIGlmIHRoZSAybmQgcGFyYW1ldGVyIGlzIGFuIGFycmF5IG9yIG5vdAoJZnVuY3Rpb24gcHVzaE9yQ29uY2F0KGJhc2UsIHRvUHVzaCkgewoJCWlmICh0b1B1c2gpIHsKCQkJaWYgKGhlbHBlcnMuaXNBcnJheSh0b1B1c2gpKSB7CgkJCQkvLyBiYXNlID0gYmFzZS5jb25jYXQodG9QdXNoKTsKCQkJCUFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGJhc2UsIHRvUHVzaCk7CgkJCX0gZWxzZSB7CgkJCQliYXNlLnB1c2godG9QdXNoKTsKCQkJfQoJCX0KCgkJcmV0dXJuIGJhc2U7Cgl9CgoJLy8gUHJpdmF0ZSBoZWxwZXIgdG8gY3JlYXRlIGEgdG9vbHRpcCBpdGVtIG1vZGVsCgkvLyBAcGFyYW0gZWxlbWVudCA6IHRoZSBjaGFydCBlbGVtZW50IChwb2ludCwgYXJjLCBiYXIpIHRvIGNyZWF0ZSB0aGUgdG9vbHRpcCBpdGVtIGZvcgoJLy8gQHJldHVybiA6IG5ldyB0b29sdGlwIGl0ZW0KCWZ1bmN0aW9uIGNyZWF0ZVRvb2x0aXBJdGVtKGVsZW1lbnQpIHsKCQl2YXIgeFNjYWxlID0gZWxlbWVudC5feFNjYWxlOwoJCXZhciB5U2NhbGUgPSBlbGVtZW50Ll95U2NhbGUgfHwgZWxlbWVudC5fc2NhbGU7IC8vIGhhbmRsZSByYWRhciB8fCBwb2xhckFyZWEgY2hhcnRzCgkJdmFyIGluZGV4ID0gZWxlbWVudC5faW5kZXg7CgkJdmFyIGRhdGFzZXRJbmRleCA9IGVsZW1lbnQuX2RhdGFzZXRJbmRleDsKCgkJcmV0dXJuIHsKCQkJeExhYmVsOiB4U2NhbGUgPyB4U2NhbGUuZ2V0TGFiZWxGb3JJbmRleChpbmRleCwgZGF0YXNldEluZGV4KSA6ICcnLAoJCQl5TGFiZWw6IHlTY2FsZSA/IHlTY2FsZS5nZXRMYWJlbEZvckluZGV4KGluZGV4LCBkYXRhc2V0SW5kZXgpIDogJycsCgkJCWluZGV4OiBpbmRleCwKCQkJZGF0YXNldEluZGV4OiBkYXRhc2V0SW5kZXgsCgkJCXg6IGVsZW1lbnQuX21vZGVsLngsCgkJCXk6IGVsZW1lbnQuX21vZGVsLnkKCQl9OwoJfQoKCS8qKgoJICogSGVscGVyIHRvIGdldCB0aGUgcmVzZXQgbW9kZWwgZm9yIHRoZSB0b29sdGlwCgkgKiBAcGFyYW0gdG9vbHRpcE9wdHMge09iamVjdH0gdGhlIHRvb2x0aXAgb3B0aW9ucwoJICovCglmdW5jdGlvbiBnZXRCYXNlTW9kZWwodG9vbHRpcE9wdHMpIHsKCQl2YXIgZ2xvYmFsRGVmYXVsdHMgPSBkZWZhdWx0cy5nbG9iYWw7CgkJdmFyIHZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdDsKCgkJcmV0dXJuIHsKCQkJLy8gUG9zaXRpb25pbmcKCQkJeFBhZGRpbmc6IHRvb2x0aXBPcHRzLnhQYWRkaW5nLAoJCQl5UGFkZGluZzogdG9vbHRpcE9wdHMueVBhZGRpbmcsCgkJCXhBbGlnbjogdG9vbHRpcE9wdHMueEFsaWduLAoJCQl5QWxpZ246IHRvb2x0aXBPcHRzLnlBbGlnbiwKCgkJCS8vIEJvZHkKCQkJYm9keUZvbnRDb2xvcjogdG9vbHRpcE9wdHMuYm9keUZvbnRDb2xvciwKCQkJX2JvZHlGb250RmFtaWx5OiB2YWx1ZU9yRGVmYXVsdCh0b29sdGlwT3B0cy5ib2R5Rm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpLAoJCQlfYm9keUZvbnRTdHlsZTogdmFsdWVPckRlZmF1bHQodG9vbHRpcE9wdHMuYm9keUZvbnRTdHlsZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTdHlsZSksCgkJCV9ib2R5QWxpZ246IHRvb2x0aXBPcHRzLmJvZHlBbGlnbiwKCQkJYm9keUZvbnRTaXplOiB2YWx1ZU9yRGVmYXVsdCh0b29sdGlwT3B0cy5ib2R5Rm9udFNpemUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U2l6ZSksCgkJCWJvZHlTcGFjaW5nOiB0b29sdGlwT3B0cy5ib2R5U3BhY2luZywKCgkJCS8vIFRpdGxlCgkJCXRpdGxlRm9udENvbG9yOiB0b29sdGlwT3B0cy50aXRsZUZvbnRDb2xvciwKCQkJX3RpdGxlRm9udEZhbWlseTogdmFsdWVPckRlZmF1bHQodG9vbHRpcE9wdHMudGl0bGVGb250RmFtaWx5LCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udEZhbWlseSksCgkJCV90aXRsZUZvbnRTdHlsZTogdmFsdWVPckRlZmF1bHQodG9vbHRpcE9wdHMudGl0bGVGb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpLAoJCQl0aXRsZUZvbnRTaXplOiB2YWx1ZU9yRGVmYXVsdCh0b29sdGlwT3B0cy50aXRsZUZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpLAoJCQlfdGl0bGVBbGlnbjogdG9vbHRpcE9wdHMudGl0bGVBbGlnbiwKCQkJdGl0bGVTcGFjaW5nOiB0b29sdGlwT3B0cy50aXRsZVNwYWNpbmcsCgkJCXRpdGxlTWFyZ2luQm90dG9tOiB0b29sdGlwT3B0cy50aXRsZU1hcmdpbkJvdHRvbSwKCgkJCS8vIEZvb3RlcgoJCQlmb290ZXJGb250Q29sb3I6IHRvb2x0aXBPcHRzLmZvb3RlckZvbnRDb2xvciwKCQkJX2Zvb3RlckZvbnRGYW1pbHk6IHZhbHVlT3JEZWZhdWx0KHRvb2x0aXBPcHRzLmZvb3RlckZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KSwKCQkJX2Zvb3RlckZvbnRTdHlsZTogdmFsdWVPckRlZmF1bHQodG9vbHRpcE9wdHMuZm9vdGVyRm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFN0eWxlKSwKCQkJZm9vdGVyRm9udFNpemU6IHZhbHVlT3JEZWZhdWx0KHRvb2x0aXBPcHRzLmZvb3RlckZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpLAoJCQlfZm9vdGVyQWxpZ246IHRvb2x0aXBPcHRzLmZvb3RlckFsaWduLAoJCQlmb290ZXJTcGFjaW5nOiB0b29sdGlwT3B0cy5mb290ZXJTcGFjaW5nLAoJCQlmb290ZXJNYXJnaW5Ub3A6IHRvb2x0aXBPcHRzLmZvb3Rlck1hcmdpblRvcCwKCgkJCS8vIEFwcGVhcmFuY2UKCQkJY2FyZXRTaXplOiB0b29sdGlwT3B0cy5jYXJldFNpemUsCgkJCWNvcm5lclJhZGl1czogdG9vbHRpcE9wdHMuY29ybmVyUmFkaXVzLAoJCQliYWNrZ3JvdW5kQ29sb3I6IHRvb2x0aXBPcHRzLmJhY2tncm91bmRDb2xvciwKCQkJb3BhY2l0eTogMCwKCQkJbGVnZW5kQ29sb3JCYWNrZ3JvdW5kOiB0b29sdGlwT3B0cy5tdWx0aUtleUJhY2tncm91bmQsCgkJCWRpc3BsYXlDb2xvcnM6IHRvb2x0aXBPcHRzLmRpc3BsYXlDb2xvcnMsCgkJCWJvcmRlckNvbG9yOiB0b29sdGlwT3B0cy5ib3JkZXJDb2xvciwKCQkJYm9yZGVyV2lkdGg6IHRvb2x0aXBPcHRzLmJvcmRlcldpZHRoCgkJfTsKCX0KCgkvKioKCSAqIEdldCB0aGUgc2l6ZSBvZiB0aGUgdG9vbHRpcAoJICovCglmdW5jdGlvbiBnZXRUb29sdGlwU2l6ZSh0b29sdGlwLCBtb2RlbCkgewoJCXZhciBjdHggPSB0b29sdGlwLl9jaGFydC5jdHg7CgoJCXZhciBoZWlnaHQgPSBtb2RlbC55UGFkZGluZyAqIDI7IC8vIFRvb2x0aXAgUGFkZGluZwoJCXZhciB3aWR0aCA9IDA7CgoJCS8vIENvdW50IG9mIGFsbCBsaW5lcyBpbiB0aGUgYm9keQoJCXZhciBib2R5ID0gbW9kZWwuYm9keTsKCQl2YXIgY29tYmluZWRCb2R5TGVuZ3RoID0gYm9keS5yZWR1Y2UoZnVuY3Rpb24oY291bnQsIGJvZHlJdGVtKSB7CgkJCXJldHVybiBjb3VudCArIGJvZHlJdGVtLmJlZm9yZS5sZW5ndGggKyBib2R5SXRlbS5saW5lcy5sZW5ndGggKyBib2R5SXRlbS5hZnRlci5sZW5ndGg7CgkJfSwgMCk7CgkJY29tYmluZWRCb2R5TGVuZ3RoICs9IG1vZGVsLmJlZm9yZUJvZHkubGVuZ3RoICsgbW9kZWwuYWZ0ZXJCb2R5Lmxlbmd0aDsKCgkJdmFyIHRpdGxlTGluZUNvdW50ID0gbW9kZWwudGl0bGUubGVuZ3RoOwoJCXZhciBmb290ZXJMaW5lQ291bnQgPSBtb2RlbC5mb290ZXIubGVuZ3RoOwoJCXZhciB0aXRsZUZvbnRTaXplID0gbW9kZWwudGl0bGVGb250U2l6ZTsKCQl2YXIgYm9keUZvbnRTaXplID0gbW9kZWwuYm9keUZvbnRTaXplOwoJCXZhciBmb290ZXJGb250U2l6ZSA9IG1vZGVsLmZvb3RlckZvbnRTaXplOwoKCQloZWlnaHQgKz0gdGl0bGVMaW5lQ291bnQgKiB0aXRsZUZvbnRTaXplOyAvLyBUaXRsZSBMaW5lcwoJCWhlaWdodCArPSB0aXRsZUxpbmVDb3VudCA/ICh0aXRsZUxpbmVDb3VudCAtIDEpICogbW9kZWwudGl0bGVTcGFjaW5nIDogMDsgLy8gVGl0bGUgTGluZSBTcGFjaW5nCgkJaGVpZ2h0ICs9IHRpdGxlTGluZUNvdW50ID8gbW9kZWwudGl0bGVNYXJnaW5Cb3R0b20gOiAwOyAvLyBUaXRsZSdzIGJvdHRvbSBNYXJnaW4KCQloZWlnaHQgKz0gY29tYmluZWRCb2R5TGVuZ3RoICogYm9keUZvbnRTaXplOyAvLyBCb2R5IExpbmVzCgkJaGVpZ2h0ICs9IGNvbWJpbmVkQm9keUxlbmd0aCA/IChjb21iaW5lZEJvZHlMZW5ndGggLSAxKSAqIG1vZGVsLmJvZHlTcGFjaW5nIDogMDsgLy8gQm9keSBMaW5lIFNwYWNpbmcKCQloZWlnaHQgKz0gZm9vdGVyTGluZUNvdW50ID8gbW9kZWwuZm9vdGVyTWFyZ2luVG9wIDogMDsgLy8gRm9vdGVyIE1hcmdpbgoJCWhlaWdodCArPSBmb290ZXJMaW5lQ291bnQgKiAoZm9vdGVyRm9udFNpemUpOyAvLyBGb290ZXIgTGluZXMKCQloZWlnaHQgKz0gZm9vdGVyTGluZUNvdW50ID8gKGZvb3RlckxpbmVDb3VudCAtIDEpICogbW9kZWwuZm9vdGVyU3BhY2luZyA6IDA7IC8vIEZvb3RlciBMaW5lIFNwYWNpbmcKCgkJLy8gVGl0bGUgd2lkdGgKCQl2YXIgd2lkdGhQYWRkaW5nID0gMDsKCQl2YXIgbWF4TGluZVdpZHRoID0gZnVuY3Rpb24obGluZSkgewoJCQl3aWR0aCA9IE1hdGgubWF4KHdpZHRoLCBjdHgubWVhc3VyZVRleHQobGluZSkud2lkdGggKyB3aWR0aFBhZGRpbmcpOwoJCX07CgoJCWN0eC5mb250ID0gaGVscGVycy5mb250U3RyaW5nKHRpdGxlRm9udFNpemUsIG1vZGVsLl90aXRsZUZvbnRTdHlsZSwgbW9kZWwuX3RpdGxlRm9udEZhbWlseSk7CgkJaGVscGVycy5lYWNoKG1vZGVsLnRpdGxlLCBtYXhMaW5lV2lkdGgpOwoKCQkvLyBCb2R5IHdpZHRoCgkJY3R4LmZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcoYm9keUZvbnRTaXplLCBtb2RlbC5fYm9keUZvbnRTdHlsZSwgbW9kZWwuX2JvZHlGb250RmFtaWx5KTsKCQloZWxwZXJzLmVhY2gobW9kZWwuYmVmb3JlQm9keS5jb25jYXQobW9kZWwuYWZ0ZXJCb2R5KSwgbWF4TGluZVdpZHRoKTsKCgkJLy8gQm9keSBsaW5lcyBtYXkgaW5jbHVkZSBzb21lIGV4dHJhIHdpZHRoIGR1ZSB0byB0aGUgY29sb3IgYm94CgkJd2lkdGhQYWRkaW5nID0gbW9kZWwuZGlzcGxheUNvbG9ycyA/IChib2R5Rm9udFNpemUgKyAyKSA6IDA7CgkJaGVscGVycy5lYWNoKGJvZHksIGZ1bmN0aW9uKGJvZHlJdGVtKSB7CgkJCWhlbHBlcnMuZWFjaChib2R5SXRlbS5iZWZvcmUsIG1heExpbmVXaWR0aCk7CgkJCWhlbHBlcnMuZWFjaChib2R5SXRlbS5saW5lcywgbWF4TGluZVdpZHRoKTsKCQkJaGVscGVycy5lYWNoKGJvZHlJdGVtLmFmdGVyLCBtYXhMaW5lV2lkdGgpOwoJCX0pOwoKCQkvLyBSZXNldCBiYWNrIHRvIDAKCQl3aWR0aFBhZGRpbmcgPSAwOwoKCQkvLyBGb290ZXIgd2lkdGgKCQljdHguZm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb290ZXJGb250U2l6ZSwgbW9kZWwuX2Zvb3RlckZvbnRTdHlsZSwgbW9kZWwuX2Zvb3RlckZvbnRGYW1pbHkpOwoJCWhlbHBlcnMuZWFjaChtb2RlbC5mb290ZXIsIG1heExpbmVXaWR0aCk7CgoJCS8vIEFkZCBwYWRkaW5nCgkJd2lkdGggKz0gMiAqIG1vZGVsLnhQYWRkaW5nOwoKCQlyZXR1cm4gewoJCQl3aWR0aDogd2lkdGgsCgkJCWhlaWdodDogaGVpZ2h0CgkJfTsKCX0KCgkvKioKCSAqIEhlbHBlciB0byBnZXQgdGhlIGFsaWdubWVudCBvZiBhIHRvb2x0aXAgZ2l2ZW4gdGhlIHNpemUKCSAqLwoJZnVuY3Rpb24gZGV0ZXJtaW5lQWxpZ25tZW50KHRvb2x0aXAsIHNpemUpIHsKCQl2YXIgbW9kZWwgPSB0b29sdGlwLl9tb2RlbDsKCQl2YXIgY2hhcnQgPSB0b29sdGlwLl9jaGFydDsKCQl2YXIgY2hhcnRBcmVhID0gdG9vbHRpcC5fY2hhcnQuY2hhcnRBcmVhOwoJCXZhciB4QWxpZ24gPSAnY2VudGVyJzsKCQl2YXIgeUFsaWduID0gJ2NlbnRlcic7CgoJCWlmIChtb2RlbC55IDwgc2l6ZS5oZWlnaHQpIHsKCQkJeUFsaWduID0gJ3RvcCc7CgkJfSBlbHNlIGlmIChtb2RlbC55ID4gKGNoYXJ0LmhlaWdodCAtIHNpemUuaGVpZ2h0KSkgewoJCQl5QWxpZ24gPSAnYm90dG9tJzsKCQl9CgoJCXZhciBsZiwgcmY7IC8vIGZ1bmN0aW9ucyB0byBkZXRlcm1pbmUgbGVmdCwgcmlnaHQgYWxpZ25tZW50CgkJdmFyIG9sZiwgb3JmOyAvLyBmdW5jdGlvbnMgdG8gZGV0ZXJtaW5lIGlmIGxlZnQvcmlnaHQgYWxpZ25tZW50IGNhdXNlcyB0b29sdGlwIHRvIGdvIG91dHNpZGUgY2hhcnQKCQl2YXIgeWY7IC8vIGZ1bmN0aW9uIHRvIGdldCB0aGUgeSBhbGlnbm1lbnQgaWYgdGhlIHRvb2x0aXAgZ29lcyBvdXRzaWRlIG9mIHRoZSBsZWZ0IG9yIHJpZ2h0IGVkZ2VzCgkJdmFyIG1pZFggPSAoY2hhcnRBcmVhLmxlZnQgKyBjaGFydEFyZWEucmlnaHQpIC8gMjsKCQl2YXIgbWlkWSA9IChjaGFydEFyZWEudG9wICsgY2hhcnRBcmVhLmJvdHRvbSkgLyAyOwoKCQlpZiAoeUFsaWduID09PSAnY2VudGVyJykgewoJCQlsZiA9IGZ1bmN0aW9uKHgpIHsKCQkJCXJldHVybiB4IDw9IG1pZFg7CgkJCX07CgkJCXJmID0gZnVuY3Rpb24oeCkgewoJCQkJcmV0dXJuIHggPiBtaWRYOwoJCQl9OwoJCX0gZWxzZSB7CgkJCWxmID0gZnVuY3Rpb24oeCkgewoJCQkJcmV0dXJuIHggPD0gKHNpemUud2lkdGggLyAyKTsKCQkJfTsKCQkJcmYgPSBmdW5jdGlvbih4KSB7CgkJCQlyZXR1cm4geCA+PSAoY2hhcnQud2lkdGggLSAoc2l6ZS53aWR0aCAvIDIpKTsKCQkJfTsKCQl9CgoJCW9sZiA9IGZ1bmN0aW9uKHgpIHsKCQkJcmV0dXJuIHggKyBzaXplLndpZHRoICsgbW9kZWwuY2FyZXRTaXplICsgbW9kZWwuY2FyZXRQYWRkaW5nID4gY2hhcnQud2lkdGg7CgkJfTsKCQlvcmYgPSBmdW5jdGlvbih4KSB7CgkJCXJldHVybiB4IC0gc2l6ZS53aWR0aCAtIG1vZGVsLmNhcmV0U2l6ZSAtIG1vZGVsLmNhcmV0UGFkZGluZyA8IDA7CgkJfTsKCQl5ZiA9IGZ1bmN0aW9uKHkpIHsKCQkJcmV0dXJuIHkgPD0gbWlkWSA/ICd0b3AnIDogJ2JvdHRvbSc7CgkJfTsKCgkJaWYgKGxmKG1vZGVsLngpKSB7CgkJCXhBbGlnbiA9ICdsZWZ0JzsKCgkJCS8vIElzIHRvb2x0aXAgdG9vIHdpZGUgYW5kIGdvZXMgb3ZlciB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgY2hhcnQuPwoJCQlpZiAob2xmKG1vZGVsLngpKSB7CgkJCQl4QWxpZ24gPSAnY2VudGVyJzsKCQkJCXlBbGlnbiA9IHlmKG1vZGVsLnkpOwoJCQl9CgkJfSBlbHNlIGlmIChyZihtb2RlbC54KSkgewoJCQl4QWxpZ24gPSAncmlnaHQnOwoKCQkJLy8gSXMgdG9vbHRpcCB0b28gd2lkZSBhbmQgZ29lcyBvdXRzaWRlIGxlZnQgZWRnZSBvZiBjYW52YXM/CgkJCWlmIChvcmYobW9kZWwueCkpIHsKCQkJCXhBbGlnbiA9ICdjZW50ZXInOwoJCQkJeUFsaWduID0geWYobW9kZWwueSk7CgkJCX0KCQl9CgoJCXZhciBvcHRzID0gdG9vbHRpcC5fb3B0aW9uczsKCQlyZXR1cm4gewoJCQl4QWxpZ246IG9wdHMueEFsaWduID8gb3B0cy54QWxpZ24gOiB4QWxpZ24sCgkJCXlBbGlnbjogb3B0cy55QWxpZ24gPyBvcHRzLnlBbGlnbiA6IHlBbGlnbgoJCX07Cgl9CgoJLyoqCgkgKiBASGVscGVyIHRvIGdldCB0aGUgbG9jYXRpb24gYSB0b29sdGlwIG5lZWRzIHRvIGJlIHBsYWNlZCBhdCBnaXZlbiB0aGUgaW5pdGlhbCBwb3NpdGlvbiAodmlhIHRoZSB2bSkgYW5kIHRoZSBzaXplIGFuZCBhbGlnbm1lbnQKCSAqLwoJZnVuY3Rpb24gZ2V0QmFja2dyb3VuZFBvaW50KHZtLCBzaXplLCBhbGlnbm1lbnQsIGNoYXJ0KSB7CgkJLy8gQmFja2dyb3VuZCBQb3NpdGlvbgoJCXZhciB4ID0gdm0ueDsKCQl2YXIgeSA9IHZtLnk7CgoJCXZhciBjYXJldFNpemUgPSB2bS5jYXJldFNpemU7CgkJdmFyIGNhcmV0UGFkZGluZyA9IHZtLmNhcmV0UGFkZGluZzsKCQl2YXIgY29ybmVyUmFkaXVzID0gdm0uY29ybmVyUmFkaXVzOwoJCXZhciB4QWxpZ24gPSBhbGlnbm1lbnQueEFsaWduOwoJCXZhciB5QWxpZ24gPSBhbGlnbm1lbnQueUFsaWduOwoJCXZhciBwYWRkaW5nQW5kU2l6ZSA9IGNhcmV0U2l6ZSArIGNhcmV0UGFkZGluZzsKCQl2YXIgcmFkaXVzQW5kUGFkZGluZyA9IGNvcm5lclJhZGl1cyArIGNhcmV0UGFkZGluZzsKCgkJaWYgKHhBbGlnbiA9PT0gJ3JpZ2h0JykgewoJCQl4IC09IHNpemUud2lkdGg7CgkJfSBlbHNlIGlmICh4QWxpZ24gPT09ICdjZW50ZXInKSB7CgkJCXggLT0gKHNpemUud2lkdGggLyAyKTsKCQkJaWYgKHggKyBzaXplLndpZHRoID4gY2hhcnQud2lkdGgpIHsKCQkJCXggPSBjaGFydC53aWR0aCAtIHNpemUud2lkdGg7CgkJCX0KCQkJaWYgKHggPCAwKSB7CgkJCQl4ID0gMDsKCQkJfQoJCX0KCgkJaWYgKHlBbGlnbiA9PT0gJ3RvcCcpIHsKCQkJeSArPSBwYWRkaW5nQW5kU2l6ZTsKCQl9IGVsc2UgaWYgKHlBbGlnbiA9PT0gJ2JvdHRvbScpIHsKCQkJeSAtPSBzaXplLmhlaWdodCArIHBhZGRpbmdBbmRTaXplOwoJCX0gZWxzZSB7CgkJCXkgLT0gKHNpemUuaGVpZ2h0IC8gMik7CgkJfQoKCQlpZiAoeUFsaWduID09PSAnY2VudGVyJykgewoJCQlpZiAoeEFsaWduID09PSAnbGVmdCcpIHsKCQkJCXggKz0gcGFkZGluZ0FuZFNpemU7CgkJCX0gZWxzZSBpZiAoeEFsaWduID09PSAncmlnaHQnKSB7CgkJCQl4IC09IHBhZGRpbmdBbmRTaXplOwoJCQl9CgkJfSBlbHNlIGlmICh4QWxpZ24gPT09ICdsZWZ0JykgewoJCQl4IC09IHJhZGl1c0FuZFBhZGRpbmc7CgkJfSBlbHNlIGlmICh4QWxpZ24gPT09ICdyaWdodCcpIHsKCQkJeCArPSByYWRpdXNBbmRQYWRkaW5nOwoJCX0KCgkJcmV0dXJuIHsKCQkJeDogeCwKCQkJeTogeQoJCX07Cgl9CgoJQ2hhcnQuVG9vbHRpcCA9IEVsZW1lbnQuZXh0ZW5kKHsKCQlpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQkJdGhpcy5fbW9kZWwgPSBnZXRCYXNlTW9kZWwodGhpcy5fb3B0aW9ucyk7CgkJCXRoaXMuX2xhc3RBY3RpdmUgPSBbXTsKCQl9LAoKCQkvLyBHZXQgdGhlIHRpdGxlCgkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbSwgZGF0YSkKCQlnZXRUaXRsZTogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBvcHRzID0gbWUuX29wdGlvbnM7CgkJCXZhciBjYWxsYmFja3MgPSBvcHRzLmNhbGxiYWNrczsKCgkJCXZhciBiZWZvcmVUaXRsZSA9IGNhbGxiYWNrcy5iZWZvcmVUaXRsZS5hcHBseShtZSwgYXJndW1lbnRzKTsKCQkJdmFyIHRpdGxlID0gY2FsbGJhY2tzLnRpdGxlLmFwcGx5KG1lLCBhcmd1bWVudHMpOwoJCQl2YXIgYWZ0ZXJUaXRsZSA9IGNhbGxiYWNrcy5hZnRlclRpdGxlLmFwcGx5KG1lLCBhcmd1bWVudHMpOwoKCQkJdmFyIGxpbmVzID0gW107CgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCBiZWZvcmVUaXRsZSk7CgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCB0aXRsZSk7CgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCBhZnRlclRpdGxlKTsKCgkJCXJldHVybiBsaW5lczsKCQl9LAoKCQkvLyBBcmdzIGFyZTogKHRvb2x0aXBJdGVtLCBkYXRhKQoJCWdldEJlZm9yZUJvZHk6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbGluZXMgPSB0aGlzLl9vcHRpb25zLmNhbGxiYWNrcy5iZWZvcmVCb2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkJCXJldHVybiBoZWxwZXJzLmlzQXJyYXkobGluZXMpID8gbGluZXMgOiBsaW5lcyAhPT0gdW5kZWZpbmVkID8gW2xpbmVzXSA6IFtdOwoJCX0sCgoJCS8vIEFyZ3MgYXJlOiAodG9vbHRpcEl0ZW0sIGRhdGEpCgkJZ2V0Qm9keTogZnVuY3Rpb24odG9vbHRpcEl0ZW1zLCBkYXRhKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBjYWxsYmFja3MgPSBtZS5fb3B0aW9ucy5jYWxsYmFja3M7CgkJCXZhciBib2R5SXRlbXMgPSBbXTsKCgkJCWhlbHBlcnMuZWFjaCh0b29sdGlwSXRlbXMsIGZ1bmN0aW9uKHRvb2x0aXBJdGVtKSB7CgkJCQl2YXIgYm9keUl0ZW0gPSB7CgkJCQkJYmVmb3JlOiBbXSwKCQkJCQlsaW5lczogW10sCgkJCQkJYWZ0ZXI6IFtdCgkJCQl9OwoJCQkJcHVzaE9yQ29uY2F0KGJvZHlJdGVtLmJlZm9yZSwgY2FsbGJhY2tzLmJlZm9yZUxhYmVsLmNhbGwobWUsIHRvb2x0aXBJdGVtLCBkYXRhKSk7CgkJCQlwdXNoT3JDb25jYXQoYm9keUl0ZW0ubGluZXMsIGNhbGxiYWNrcy5sYWJlbC5jYWxsKG1lLCB0b29sdGlwSXRlbSwgZGF0YSkpOwoJCQkJcHVzaE9yQ29uY2F0KGJvZHlJdGVtLmFmdGVyLCBjYWxsYmFja3MuYWZ0ZXJMYWJlbC5jYWxsKG1lLCB0b29sdGlwSXRlbSwgZGF0YSkpOwoKCQkJCWJvZHlJdGVtcy5wdXNoKGJvZHlJdGVtKTsKCQkJfSk7CgoJCQlyZXR1cm4gYm9keUl0ZW1zOwoJCX0sCgoJCS8vIEFyZ3MgYXJlOiAodG9vbHRpcEl0ZW0sIGRhdGEpCgkJZ2V0QWZ0ZXJCb2R5OiBmdW5jdGlvbigpIHsKCQkJdmFyIGxpbmVzID0gdGhpcy5fb3B0aW9ucy5jYWxsYmFja3MuYWZ0ZXJCb2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkJCXJldHVybiBoZWxwZXJzLmlzQXJyYXkobGluZXMpID8gbGluZXMgOiBsaW5lcyAhPT0gdW5kZWZpbmVkID8gW2xpbmVzXSA6IFtdOwoJCX0sCgoJCS8vIEdldCB0aGUgZm9vdGVyIGFuZCBiZWZvcmVGb290ZXIgYW5kIGFmdGVyRm9vdGVyIGxpbmVzCgkJLy8gQXJncyBhcmU6ICh0b29sdGlwSXRlbSwgZGF0YSkKCQlnZXRGb290ZXI6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgY2FsbGJhY2tzID0gbWUuX29wdGlvbnMuY2FsbGJhY2tzOwoKCQkJdmFyIGJlZm9yZUZvb3RlciA9IGNhbGxiYWNrcy5iZWZvcmVGb290ZXIuYXBwbHkobWUsIGFyZ3VtZW50cyk7CgkJCXZhciBmb290ZXIgPSBjYWxsYmFja3MuZm9vdGVyLmFwcGx5KG1lLCBhcmd1bWVudHMpOwoJCQl2YXIgYWZ0ZXJGb290ZXIgPSBjYWxsYmFja3MuYWZ0ZXJGb290ZXIuYXBwbHkobWUsIGFyZ3VtZW50cyk7CgoJCQl2YXIgbGluZXMgPSBbXTsKCQkJbGluZXMgPSBwdXNoT3JDb25jYXQobGluZXMsIGJlZm9yZUZvb3Rlcik7CgkJCWxpbmVzID0gcHVzaE9yQ29uY2F0KGxpbmVzLCBmb290ZXIpOwoJCQlsaW5lcyA9IHB1c2hPckNvbmNhdChsaW5lcywgYWZ0ZXJGb290ZXIpOwoKCQkJcmV0dXJuIGxpbmVzOwoJCX0sCgoJCXVwZGF0ZTogZnVuY3Rpb24oY2hhbmdlZCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0cyA9IG1lLl9vcHRpb25zOwoKCQkJLy8gTmVlZCB0byByZWdlbmVyYXRlIHRoZSBtb2RlbCBiZWNhdXNlIGl0cyBmYXN0ZXIgdGhhbiB1c2luZyBleHRlbmQgYW5kIGl0IGlzIG5lY2Vzc2FyeSBkdWUgdG8gdGhlIG9wdGltaXphdGlvbiBpbiBDaGFydC5FbGVtZW50LnRyYW5zaXRpb24KCQkJLy8gdGhhdCBkb2VzIF92aWV3ID0gX21vZGVsIGlmIGVhc2UgPT09IDEuIFRoaXMgY2F1c2VzIHRoZSAybmQgdG9vbHRpcCB1cGRhdGUgdG8gc2V0IHByb3BlcnRpZXMgaW4gYm90aCB0aGUgdmlldyBhbmQgbW9kZWwgYXQgdGhlIHNhbWUgdGltZQoJCQkvLyB3aGljaCBicmVha3MgYW55IGFuaW1hdGlvbnMuCgkJCXZhciBleGlzdGluZ01vZGVsID0gbWUuX21vZGVsOwoJCQl2YXIgbW9kZWwgPSBtZS5fbW9kZWwgPSBnZXRCYXNlTW9kZWwob3B0cyk7CgkJCXZhciBhY3RpdmUgPSBtZS5fYWN0aXZlOwoKCQkJdmFyIGRhdGEgPSBtZS5fZGF0YTsKCgkJCS8vIEluIHRoZSBjYXNlIHdoZXJlIGFjdGl2ZS5sZW5ndGggPT09IDAgd2UgbmVlZCB0byBrZWVwIHRoZXNlIGF0IGV4aXN0aW5nIHZhbHVlcyBmb3IgZ29vZCBhbmltYXRpb25zCgkJCXZhciBhbGlnbm1lbnQgPSB7CgkJCQl4QWxpZ246IGV4aXN0aW5nTW9kZWwueEFsaWduLAoJCQkJeUFsaWduOiBleGlzdGluZ01vZGVsLnlBbGlnbgoJCQl9OwoJCQl2YXIgYmFja2dyb3VuZFBvaW50ID0gewoJCQkJeDogZXhpc3RpbmdNb2RlbC54LAoJCQkJeTogZXhpc3RpbmdNb2RlbC55CgkJCX07CgkJCXZhciB0b29sdGlwU2l6ZSA9IHsKCQkJCXdpZHRoOiBleGlzdGluZ01vZGVsLndpZHRoLAoJCQkJaGVpZ2h0OiBleGlzdGluZ01vZGVsLmhlaWdodAoJCQl9OwoJCQl2YXIgdG9vbHRpcFBvc2l0aW9uID0gewoJCQkJeDogZXhpc3RpbmdNb2RlbC5jYXJldFgsCgkJCQl5OiBleGlzdGluZ01vZGVsLmNhcmV0WQoJCQl9OwoKCQkJdmFyIGksIGxlbjsKCgkJCWlmIChhY3RpdmUubGVuZ3RoKSB7CgkJCQltb2RlbC5vcGFjaXR5ID0gMTsKCgkJCQl2YXIgbGFiZWxDb2xvcnMgPSBbXTsKCQkJCXZhciBsYWJlbFRleHRDb2xvcnMgPSBbXTsKCQkJCXRvb2x0aXBQb3NpdGlvbiA9IENoYXJ0LlRvb2x0aXAucG9zaXRpb25lcnNbb3B0cy5wb3NpdGlvbl0uY2FsbChtZSwgYWN0aXZlLCBtZS5fZXZlbnRQb3NpdGlvbik7CgoJCQkJdmFyIHRvb2x0aXBJdGVtcyA9IFtdOwoJCQkJZm9yIChpID0gMCwgbGVuID0gYWN0aXZlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7CgkJCQkJdG9vbHRpcEl0ZW1zLnB1c2goY3JlYXRlVG9vbHRpcEl0ZW0oYWN0aXZlW2ldKSk7CgkJCQl9CgoJCQkJLy8gSWYgdGhlIHVzZXIgcHJvdmlkZWQgYSBmaWx0ZXIgZnVuY3Rpb24sIHVzZSBpdCB0byBtb2RpZnkgdGhlIHRvb2x0aXAgaXRlbXMKCQkJCWlmIChvcHRzLmZpbHRlcikgewoJCQkJCXRvb2x0aXBJdGVtcyA9IHRvb2x0aXBJdGVtcy5maWx0ZXIoZnVuY3Rpb24oYSkgewoJCQkJCQlyZXR1cm4gb3B0cy5maWx0ZXIoYSwgZGF0YSk7CgkJCQkJfSk7CgkJCQl9CgoJCQkJLy8gSWYgdGhlIHVzZXIgcHJvdmlkZWQgYSBzb3J0aW5nIGZ1bmN0aW9uLCB1c2UgaXQgdG8gbW9kaWZ5IHRoZSB0b29sdGlwIGl0ZW1zCgkJCQlpZiAob3B0cy5pdGVtU29ydCkgewoJCQkJCXRvb2x0aXBJdGVtcyA9IHRvb2x0aXBJdGVtcy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsKCQkJCQkJcmV0dXJuIG9wdHMuaXRlbVNvcnQoYSwgYiwgZGF0YSk7CgkJCQkJfSk7CgkJCQl9CgoJCQkJLy8gRGV0ZXJtaW5lIGNvbG9ycyBmb3IgYm94ZXMKCQkJCWhlbHBlcnMuZWFjaCh0b29sdGlwSXRlbXMsIGZ1bmN0aW9uKHRvb2x0aXBJdGVtKSB7CgkJCQkJbGFiZWxDb2xvcnMucHVzaChvcHRzLmNhbGxiYWNrcy5sYWJlbENvbG9yLmNhbGwobWUsIHRvb2x0aXBJdGVtLCBtZS5fY2hhcnQpKTsKCQkJCQlsYWJlbFRleHRDb2xvcnMucHVzaChvcHRzLmNhbGxiYWNrcy5sYWJlbFRleHRDb2xvci5jYWxsKG1lLCB0b29sdGlwSXRlbSwgbWUuX2NoYXJ0KSk7CgkJCQl9KTsKCgoJCQkJLy8gQnVpbGQgdGhlIFRleHQgTGluZXMKCQkJCW1vZGVsLnRpdGxlID0gbWUuZ2V0VGl0bGUodG9vbHRpcEl0ZW1zLCBkYXRhKTsKCQkJCW1vZGVsLmJlZm9yZUJvZHkgPSBtZS5nZXRCZWZvcmVCb2R5KHRvb2x0aXBJdGVtcywgZGF0YSk7CgkJCQltb2RlbC5ib2R5ID0gbWUuZ2V0Qm9keSh0b29sdGlwSXRlbXMsIGRhdGEpOwoJCQkJbW9kZWwuYWZ0ZXJCb2R5ID0gbWUuZ2V0QWZ0ZXJCb2R5KHRvb2x0aXBJdGVtcywgZGF0YSk7CgkJCQltb2RlbC5mb290ZXIgPSBtZS5nZXRGb290ZXIodG9vbHRpcEl0ZW1zLCBkYXRhKTsKCgkJCQkvLyBJbml0aWFsIHBvc2l0aW9uaW5nIGFuZCBjb2xvcnMKCQkJCW1vZGVsLnggPSBNYXRoLnJvdW5kKHRvb2x0aXBQb3NpdGlvbi54KTsKCQkJCW1vZGVsLnkgPSBNYXRoLnJvdW5kKHRvb2x0aXBQb3NpdGlvbi55KTsKCQkJCW1vZGVsLmNhcmV0UGFkZGluZyA9IG9wdHMuY2FyZXRQYWRkaW5nOwoJCQkJbW9kZWwubGFiZWxDb2xvcnMgPSBsYWJlbENvbG9yczsKCQkJCW1vZGVsLmxhYmVsVGV4dENvbG9ycyA9IGxhYmVsVGV4dENvbG9yczsKCgkJCQkvLyBkYXRhIHBvaW50cwoJCQkJbW9kZWwuZGF0YVBvaW50cyA9IHRvb2x0aXBJdGVtczsKCgkJCQkvLyBXZSBuZWVkIHRvIGRldGVybWluZSBhbGlnbm1lbnQgb2YgdGhlIHRvb2x0aXAKCQkJCXRvb2x0aXBTaXplID0gZ2V0VG9vbHRpcFNpemUodGhpcywgbW9kZWwpOwoJCQkJYWxpZ25tZW50ID0gZGV0ZXJtaW5lQWxpZ25tZW50KHRoaXMsIHRvb2x0aXBTaXplKTsKCQkJCS8vIEZpbmFsIFNpemUgYW5kIFBvc2l0aW9uCgkJCQliYWNrZ3JvdW5kUG9pbnQgPSBnZXRCYWNrZ3JvdW5kUG9pbnQobW9kZWwsIHRvb2x0aXBTaXplLCBhbGlnbm1lbnQsIG1lLl9jaGFydCk7CgkJCX0gZWxzZSB7CgkJCQltb2RlbC5vcGFjaXR5ID0gMDsKCQkJfQoKCQkJbW9kZWwueEFsaWduID0gYWxpZ25tZW50LnhBbGlnbjsKCQkJbW9kZWwueUFsaWduID0gYWxpZ25tZW50LnlBbGlnbjsKCQkJbW9kZWwueCA9IGJhY2tncm91bmRQb2ludC54OwoJCQltb2RlbC55ID0gYmFja2dyb3VuZFBvaW50Lnk7CgkJCW1vZGVsLndpZHRoID0gdG9vbHRpcFNpemUud2lkdGg7CgkJCW1vZGVsLmhlaWdodCA9IHRvb2x0aXBTaXplLmhlaWdodDsKCgkJCS8vIFBvaW50IHdoZXJlIHRoZSBjYXJldCBvbiB0aGUgdG9vbHRpcCBwb2ludHMgdG8KCQkJbW9kZWwuY2FyZXRYID0gdG9vbHRpcFBvc2l0aW9uLng7CgkJCW1vZGVsLmNhcmV0WSA9IHRvb2x0aXBQb3NpdGlvbi55OwoKCQkJbWUuX21vZGVsID0gbW9kZWw7CgoJCQlpZiAoY2hhbmdlZCAmJiBvcHRzLmN1c3RvbSkgewoJCQkJb3B0cy5jdXN0b20uY2FsbChtZSwgbW9kZWwpOwoJCQl9CgoJCQlyZXR1cm4gbWU7CgkJfSwKCQlkcmF3Q2FyZXQ6IGZ1bmN0aW9uKHRvb2x0aXBQb2ludCwgc2l6ZSkgewoJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4OwoJCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCQl2YXIgY2FyZXRQb3NpdGlvbiA9IHRoaXMuZ2V0Q2FyZXRQb3NpdGlvbih0b29sdGlwUG9pbnQsIHNpemUsIHZtKTsKCgkJCWN0eC5saW5lVG8oY2FyZXRQb3NpdGlvbi54MSwgY2FyZXRQb3NpdGlvbi55MSk7CgkJCWN0eC5saW5lVG8oY2FyZXRQb3NpdGlvbi54MiwgY2FyZXRQb3NpdGlvbi55Mik7CgkJCWN0eC5saW5lVG8oY2FyZXRQb3NpdGlvbi54MywgY2FyZXRQb3NpdGlvbi55Myk7CgkJfSwKCQlnZXRDYXJldFBvc2l0aW9uOiBmdW5jdGlvbih0b29sdGlwUG9pbnQsIHNpemUsIHZtKSB7CgkJCXZhciB4MSwgeDIsIHgzLCB5MSwgeTIsIHkzOwoJCQl2YXIgY2FyZXRTaXplID0gdm0uY2FyZXRTaXplOwoJCQl2YXIgY29ybmVyUmFkaXVzID0gdm0uY29ybmVyUmFkaXVzOwoJCQl2YXIgeEFsaWduID0gdm0ueEFsaWduOwoJCQl2YXIgeUFsaWduID0gdm0ueUFsaWduOwoJCQl2YXIgcHRYID0gdG9vbHRpcFBvaW50Lng7CgkJCXZhciBwdFkgPSB0b29sdGlwUG9pbnQueTsKCQkJdmFyIHdpZHRoID0gc2l6ZS53aWR0aDsKCQkJdmFyIGhlaWdodCA9IHNpemUuaGVpZ2h0OwoKCQkJaWYgKHlBbGlnbiA9PT0gJ2NlbnRlcicpIHsKCQkJCXkyID0gcHRZICsgKGhlaWdodCAvIDIpOwoKCQkJCWlmICh4QWxpZ24gPT09ICdsZWZ0JykgewoJCQkJCXgxID0gcHRYOwoJCQkJCXgyID0geDEgLSBjYXJldFNpemU7CgkJCQkJeDMgPSB4MTsKCgkJCQkJeTEgPSB5MiArIGNhcmV0U2l6ZTsKCQkJCQl5MyA9IHkyIC0gY2FyZXRTaXplOwoJCQkJfSBlbHNlIHsKCQkJCQl4MSA9IHB0WCArIHdpZHRoOwoJCQkJCXgyID0geDEgKyBjYXJldFNpemU7CgkJCQkJeDMgPSB4MTsKCgkJCQkJeTEgPSB5MiAtIGNhcmV0U2l6ZTsKCQkJCQl5MyA9IHkyICsgY2FyZXRTaXplOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJaWYgKHhBbGlnbiA9PT0gJ2xlZnQnKSB7CgkJCQkJeDIgPSBwdFggKyBjb3JuZXJSYWRpdXMgKyAoY2FyZXRTaXplKTsKCQkJCQl4MSA9IHgyIC0gY2FyZXRTaXplOwoJCQkJCXgzID0geDIgKyBjYXJldFNpemU7CgkJCQl9IGVsc2UgaWYgKHhBbGlnbiA9PT0gJ3JpZ2h0JykgewoJCQkJCXgyID0gcHRYICsgd2lkdGggLSBjb3JuZXJSYWRpdXMgLSBjYXJldFNpemU7CgkJCQkJeDEgPSB4MiAtIGNhcmV0U2l6ZTsKCQkJCQl4MyA9IHgyICsgY2FyZXRTaXplOwoJCQkJfSBlbHNlIHsKCQkJCQl4MiA9IHZtLmNhcmV0WDsKCQkJCQl4MSA9IHgyIC0gY2FyZXRTaXplOwoJCQkJCXgzID0geDIgKyBjYXJldFNpemU7CgkJCQl9CgkJCQlpZiAoeUFsaWduID09PSAndG9wJykgewoJCQkJCXkxID0gcHRZOwoJCQkJCXkyID0geTEgLSBjYXJldFNpemU7CgkJCQkJeTMgPSB5MTsKCQkJCX0gZWxzZSB7CgkJCQkJeTEgPSBwdFkgKyBoZWlnaHQ7CgkJCQkJeTIgPSB5MSArIGNhcmV0U2l6ZTsKCQkJCQl5MyA9IHkxOwoJCQkJCS8vIGludmVydCBkcmF3aW5nIG9yZGVyCgkJCQkJdmFyIHRtcCA9IHgzOwoJCQkJCXgzID0geDE7CgkJCQkJeDEgPSB0bXA7CgkJCQl9CgkJCX0KCQkJcmV0dXJuIHt4MTogeDEsIHgyOiB4MiwgeDM6IHgzLCB5MTogeTEsIHkyOiB5MiwgeTM6IHkzfTsKCQl9LAoJCWRyYXdUaXRsZTogZnVuY3Rpb24ocHQsIHZtLCBjdHgsIG9wYWNpdHkpIHsKCQkJdmFyIHRpdGxlID0gdm0udGl0bGU7CgoJCQlpZiAodGl0bGUubGVuZ3RoKSB7CgkJCQljdHgudGV4dEFsaWduID0gdm0uX3RpdGxlQWxpZ247CgkJCQljdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CgoJCQkJdmFyIHRpdGxlRm9udFNpemUgPSB2bS50aXRsZUZvbnRTaXplOwoJCQkJdmFyIHRpdGxlU3BhY2luZyA9IHZtLnRpdGxlU3BhY2luZzsKCgkJCQljdHguZmlsbFN0eWxlID0gbWVyZ2VPcGFjaXR5KHZtLnRpdGxlRm9udENvbG9yLCBvcGFjaXR5KTsKCQkJCWN0eC5mb250ID0gaGVscGVycy5mb250U3RyaW5nKHRpdGxlRm9udFNpemUsIHZtLl90aXRsZUZvbnRTdHlsZSwgdm0uX3RpdGxlRm9udEZhbWlseSk7CgoJCQkJdmFyIGksIGxlbjsKCQkJCWZvciAoaSA9IDAsIGxlbiA9IHRpdGxlLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7CgkJCQkJY3R4LmZpbGxUZXh0KHRpdGxlW2ldLCBwdC54LCBwdC55KTsKCQkJCQlwdC55ICs9IHRpdGxlRm9udFNpemUgKyB0aXRsZVNwYWNpbmc7IC8vIExpbmUgSGVpZ2h0IGFuZCBzcGFjaW5nCgoJCQkJCWlmIChpICsgMSA9PT0gdGl0bGUubGVuZ3RoKSB7CgkJCQkJCXB0LnkgKz0gdm0udGl0bGVNYXJnaW5Cb3R0b20gLSB0aXRsZVNwYWNpbmc7IC8vIElmIExhc3QsIGFkZCBtYXJnaW4sIHJlbW92ZSBzcGFjaW5nCgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCQlkcmF3Qm9keTogZnVuY3Rpb24ocHQsIHZtLCBjdHgsIG9wYWNpdHkpIHsKCQkJdmFyIGJvZHlGb250U2l6ZSA9IHZtLmJvZHlGb250U2l6ZTsKCQkJdmFyIGJvZHlTcGFjaW5nID0gdm0uYm9keVNwYWNpbmc7CgkJCXZhciBib2R5ID0gdm0uYm9keTsKCgkJCWN0eC50ZXh0QWxpZ24gPSB2bS5fYm9keUFsaWduOwoJCQljdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CgkJCWN0eC5mb250ID0gaGVscGVycy5mb250U3RyaW5nKGJvZHlGb250U2l6ZSwgdm0uX2JvZHlGb250U3R5bGUsIHZtLl9ib2R5Rm9udEZhbWlseSk7CgoJCQkvLyBCZWZvcmUgQm9keQoJCQl2YXIgeExpbmVQYWRkaW5nID0gMDsKCQkJdmFyIGZpbGxMaW5lT2ZUZXh0ID0gZnVuY3Rpb24obGluZSkgewoJCQkJY3R4LmZpbGxUZXh0KGxpbmUsIHB0LnggKyB4TGluZVBhZGRpbmcsIHB0LnkpOwoJCQkJcHQueSArPSBib2R5Rm9udFNpemUgKyBib2R5U3BhY2luZzsKCQkJfTsKCgkJCS8vIEJlZm9yZSBib2R5IGxpbmVzCgkJCWN0eC5maWxsU3R5bGUgPSBtZXJnZU9wYWNpdHkodm0uYm9keUZvbnRDb2xvciwgb3BhY2l0eSk7CgkJCWhlbHBlcnMuZWFjaCh2bS5iZWZvcmVCb2R5LCBmaWxsTGluZU9mVGV4dCk7CgoJCQl2YXIgZHJhd0NvbG9yQm94ZXMgPSB2bS5kaXNwbGF5Q29sb3JzOwoJCQl4TGluZVBhZGRpbmcgPSBkcmF3Q29sb3JCb3hlcyA/IChib2R5Rm9udFNpemUgKyAyKSA6IDA7CgoJCQkvLyBEcmF3IGJvZHkgbGluZXMgbm93CgkJCWhlbHBlcnMuZWFjaChib2R5LCBmdW5jdGlvbihib2R5SXRlbSwgaSkgewoJCQkJdmFyIHRleHRDb2xvciA9IG1lcmdlT3BhY2l0eSh2bS5sYWJlbFRleHRDb2xvcnNbaV0sIG9wYWNpdHkpOwoJCQkJY3R4LmZpbGxTdHlsZSA9IHRleHRDb2xvcjsKCQkJCWhlbHBlcnMuZWFjaChib2R5SXRlbS5iZWZvcmUsIGZpbGxMaW5lT2ZUZXh0KTsKCgkJCQloZWxwZXJzLmVhY2goYm9keUl0ZW0ubGluZXMsIGZ1bmN0aW9uKGxpbmUpIHsKCQkJCQkvLyBEcmF3IExlZ2VuZC1saWtlIGJveGVzIGlmIG5lZWRlZAoJCQkJCWlmIChkcmF3Q29sb3JCb3hlcykgewoJCQkJCQkvLyBGaWxsIGEgd2hpdGUgcmVjdCBzbyB0aGF0IGNvbG91cnMgbWVyZ2UgbmljZWx5IGlmIHRoZSBvcGFjaXR5IGlzIDwgMQoJCQkJCQljdHguZmlsbFN0eWxlID0gbWVyZ2VPcGFjaXR5KHZtLmxlZ2VuZENvbG9yQmFja2dyb3VuZCwgb3BhY2l0eSk7CgkJCQkJCWN0eC5maWxsUmVjdChwdC54LCBwdC55LCBib2R5Rm9udFNpemUsIGJvZHlGb250U2l6ZSk7CgoJCQkJCQkvLyBCb3JkZXIKCQkJCQkJY3R4LmxpbmVXaWR0aCA9IDE7CgkJCQkJCWN0eC5zdHJva2VTdHlsZSA9IG1lcmdlT3BhY2l0eSh2bS5sYWJlbENvbG9yc1tpXS5ib3JkZXJDb2xvciwgb3BhY2l0eSk7CgkJCQkJCWN0eC5zdHJva2VSZWN0KHB0LngsIHB0LnksIGJvZHlGb250U2l6ZSwgYm9keUZvbnRTaXplKTsKCgkJCQkJCS8vIElubmVyIHNxdWFyZQoJCQkJCQljdHguZmlsbFN0eWxlID0gbWVyZ2VPcGFjaXR5KHZtLmxhYmVsQ29sb3JzW2ldLmJhY2tncm91bmRDb2xvciwgb3BhY2l0eSk7CgkJCQkJCWN0eC5maWxsUmVjdChwdC54ICsgMSwgcHQueSArIDEsIGJvZHlGb250U2l6ZSAtIDIsIGJvZHlGb250U2l6ZSAtIDIpOwoJCQkJCQljdHguZmlsbFN0eWxlID0gdGV4dENvbG9yOwoJCQkJCX0KCgkJCQkJZmlsbExpbmVPZlRleHQobGluZSk7CgkJCQl9KTsKCgkJCQloZWxwZXJzLmVhY2goYm9keUl0ZW0uYWZ0ZXIsIGZpbGxMaW5lT2ZUZXh0KTsKCQkJfSk7CgoJCQkvLyBSZXNldCBiYWNrIHRvIDAgZm9yIGFmdGVyIGJvZHkKCQkJeExpbmVQYWRkaW5nID0gMDsKCgkJCS8vIEFmdGVyIGJvZHkgbGluZXMKCQkJaGVscGVycy5lYWNoKHZtLmFmdGVyQm9keSwgZmlsbExpbmVPZlRleHQpOwoJCQlwdC55IC09IGJvZHlTcGFjaW5nOyAvLyBSZW1vdmUgbGFzdCBib2R5IHNwYWNpbmcKCQl9LAoJCWRyYXdGb290ZXI6IGZ1bmN0aW9uKHB0LCB2bSwgY3R4LCBvcGFjaXR5KSB7CgkJCXZhciBmb290ZXIgPSB2bS5mb290ZXI7CgoJCQlpZiAoZm9vdGVyLmxlbmd0aCkgewoJCQkJcHQueSArPSB2bS5mb290ZXJNYXJnaW5Ub3A7CgoJCQkJY3R4LnRleHRBbGlnbiA9IHZtLl9mb290ZXJBbGlnbjsKCQkJCWN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJzsKCgkJCQljdHguZmlsbFN0eWxlID0gbWVyZ2VPcGFjaXR5KHZtLmZvb3RlckZvbnRDb2xvciwgb3BhY2l0eSk7CgkJCQljdHguZm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyh2bS5mb290ZXJGb250U2l6ZSwgdm0uX2Zvb3RlckZvbnRTdHlsZSwgdm0uX2Zvb3RlckZvbnRGYW1pbHkpOwoKCQkJCWhlbHBlcnMuZWFjaChmb290ZXIsIGZ1bmN0aW9uKGxpbmUpIHsKCQkJCQljdHguZmlsbFRleHQobGluZSwgcHQueCwgcHQueSk7CgkJCQkJcHQueSArPSB2bS5mb290ZXJGb250U2l6ZSArIHZtLmZvb3RlclNwYWNpbmc7CgkJCQl9KTsKCQkJfQoJCX0sCgkJZHJhd0JhY2tncm91bmQ6IGZ1bmN0aW9uKHB0LCB2bSwgY3R4LCB0b29sdGlwU2l6ZSwgb3BhY2l0eSkgewoJCQljdHguZmlsbFN0eWxlID0gbWVyZ2VPcGFjaXR5KHZtLmJhY2tncm91bmRDb2xvciwgb3BhY2l0eSk7CgkJCWN0eC5zdHJva2VTdHlsZSA9IG1lcmdlT3BhY2l0eSh2bS5ib3JkZXJDb2xvciwgb3BhY2l0eSk7CgkJCWN0eC5saW5lV2lkdGggPSB2bS5ib3JkZXJXaWR0aDsKCQkJdmFyIHhBbGlnbiA9IHZtLnhBbGlnbjsKCQkJdmFyIHlBbGlnbiA9IHZtLnlBbGlnbjsKCQkJdmFyIHggPSBwdC54OwoJCQl2YXIgeSA9IHB0Lnk7CgkJCXZhciB3aWR0aCA9IHRvb2x0aXBTaXplLndpZHRoOwoJCQl2YXIgaGVpZ2h0ID0gdG9vbHRpcFNpemUuaGVpZ2h0OwoJCQl2YXIgcmFkaXVzID0gdm0uY29ybmVyUmFkaXVzOwoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQljdHgubW92ZVRvKHggKyByYWRpdXMsIHkpOwoJCQlpZiAoeUFsaWduID09PSAndG9wJykgewoJCQkJdGhpcy5kcmF3Q2FyZXQocHQsIHRvb2x0aXBTaXplKTsKCQkJfQoJCQljdHgubGluZVRvKHggKyB3aWR0aCAtIHJhZGl1cywgeSk7CgkJCWN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHggKyB3aWR0aCwgeSwgeCArIHdpZHRoLCB5ICsgcmFkaXVzKTsKCQkJaWYgKHlBbGlnbiA9PT0gJ2NlbnRlcicgJiYgeEFsaWduID09PSAncmlnaHQnKSB7CgkJCQl0aGlzLmRyYXdDYXJldChwdCwgdG9vbHRpcFNpemUpOwoJCQl9CgkJCWN0eC5saW5lVG8oeCArIHdpZHRoLCB5ICsgaGVpZ2h0IC0gcmFkaXVzKTsKCQkJY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCArIHdpZHRoLCB5ICsgaGVpZ2h0LCB4ICsgd2lkdGggLSByYWRpdXMsIHkgKyBoZWlnaHQpOwoJCQlpZiAoeUFsaWduID09PSAnYm90dG9tJykgewoJCQkJdGhpcy5kcmF3Q2FyZXQocHQsIHRvb2x0aXBTaXplKTsKCQkJfQoJCQljdHgubGluZVRvKHggKyByYWRpdXMsIHkgKyBoZWlnaHQpOwoJCQljdHgucXVhZHJhdGljQ3VydmVUbyh4LCB5ICsgaGVpZ2h0LCB4LCB5ICsgaGVpZ2h0IC0gcmFkaXVzKTsKCQkJaWYgKHlBbGlnbiA9PT0gJ2NlbnRlcicgJiYgeEFsaWduID09PSAnbGVmdCcpIHsKCQkJCXRoaXMuZHJhd0NhcmV0KHB0LCB0b29sdGlwU2l6ZSk7CgkJCX0KCQkJY3R4LmxpbmVUbyh4LCB5ICsgcmFkaXVzKTsKCQkJY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCwgeSwgeCArIHJhZGl1cywgeSk7CgkJCWN0eC5jbG9zZVBhdGgoKTsKCgkJCWN0eC5maWxsKCk7CgoJCQlpZiAodm0uYm9yZGVyV2lkdGggPiAwKSB7CgkJCQljdHguc3Ryb2tlKCk7CgkJCX0KCQl9LAoJCWRyYXc6IGZ1bmN0aW9uKCkgewoJCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4OwoJCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoKCQkJaWYgKHZtLm9wYWNpdHkgPT09IDApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJdmFyIHRvb2x0aXBTaXplID0gewoJCQkJd2lkdGg6IHZtLndpZHRoLAoJCQkJaGVpZ2h0OiB2bS5oZWlnaHQKCQkJfTsKCQkJdmFyIHB0ID0gewoJCQkJeDogdm0ueCwKCQkJCXk6IHZtLnkKCQkJfTsKCgkJCS8vIElFMTEvRWRnZSBkb2VzIG5vdCBsaWtlIHZlcnkgc21hbGwgb3BhY2l0aWVzLCBzbyBzbmFwIHRvIDAKCQkJdmFyIG9wYWNpdHkgPSBNYXRoLmFicyh2bS5vcGFjaXR5IDwgMWUtMykgPyAwIDogdm0ub3BhY2l0eTsKCgkJCS8vIFRydXRoeS9mYWxzZXkgdmFsdWUgZm9yIGVtcHR5IHRvb2x0aXAKCQkJdmFyIGhhc1Rvb2x0aXBDb250ZW50ID0gdm0udGl0bGUubGVuZ3RoIHx8IHZtLmJlZm9yZUJvZHkubGVuZ3RoIHx8IHZtLmJvZHkubGVuZ3RoIHx8IHZtLmFmdGVyQm9keS5sZW5ndGggfHwgdm0uZm9vdGVyLmxlbmd0aDsKCgkJCWlmICh0aGlzLl9vcHRpb25zLmVuYWJsZWQgJiYgaGFzVG9vbHRpcENvbnRlbnQpIHsKCQkJCS8vIERyYXcgQmFja2dyb3VuZAoJCQkJdGhpcy5kcmF3QmFja2dyb3VuZChwdCwgdm0sIGN0eCwgdG9vbHRpcFNpemUsIG9wYWNpdHkpOwoKCQkJCS8vIERyYXcgVGl0bGUsIEJvZHksIGFuZCBGb290ZXIKCQkJCXB0LnggKz0gdm0ueFBhZGRpbmc7CgkJCQlwdC55ICs9IHZtLnlQYWRkaW5nOwoKCQkJCS8vIFRpdGxlcwoJCQkJdGhpcy5kcmF3VGl0bGUocHQsIHZtLCBjdHgsIG9wYWNpdHkpOwoKCQkJCS8vIEJvZHkKCQkJCXRoaXMuZHJhd0JvZHkocHQsIHZtLCBjdHgsIG9wYWNpdHkpOwoKCQkJCS8vIEZvb3RlcgoJCQkJdGhpcy5kcmF3Rm9vdGVyKHB0LCB2bSwgY3R4LCBvcGFjaXR5KTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEhhbmRsZSBhbiBldmVudAoJCSAqIEBwcml2YXRlCgkJICogQHBhcmFtIHtJRXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IHRvIGhhbmRsZQoJCSAqIEByZXR1cm5zIHtCb29sZWFufSB0cnVlIGlmIHRoZSB0b29sdGlwIGNoYW5nZWQKCQkgKi8KCQloYW5kbGVFdmVudDogZnVuY3Rpb24oZSkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0aW9ucyA9IG1lLl9vcHRpb25zOwoJCQl2YXIgY2hhbmdlZCA9IGZhbHNlOwoKCQkJbWUuX2xhc3RBY3RpdmUgPSBtZS5fbGFzdEFjdGl2ZSB8fCBbXTsKCgkJCS8vIEZpbmQgQWN0aXZlIEVsZW1lbnRzIGZvciB0b29sdGlwcwoJCQlpZiAoZS50eXBlID09PSAnbW91c2VvdXQnKSB7CgkJCQltZS5fYWN0aXZlID0gW107CgkJCX0gZWxzZSB7CgkJCQltZS5fYWN0aXZlID0gbWUuX2NoYXJ0LmdldEVsZW1lbnRzQXRFdmVudEZvck1vZGUoZSwgb3B0aW9ucy5tb2RlLCBvcHRpb25zKTsKCQkJfQoKCQkJLy8gUmVtZW1iZXIgTGFzdCBBY3RpdmVzCgkJCWNoYW5nZWQgPSAhaGVscGVycy5hcnJheUVxdWFscyhtZS5fYWN0aXZlLCBtZS5fbGFzdEFjdGl2ZSk7CgoJCQkvLyBPbmx5IGhhbmRsZSB0YXJnZXQgZXZlbnQgb24gdG9vbHRpcCBjaGFuZ2UKCQkJaWYgKGNoYW5nZWQpIHsKCQkJCW1lLl9sYXN0QWN0aXZlID0gbWUuX2FjdGl2ZTsKCgkJCQlpZiAob3B0aW9ucy5lbmFibGVkIHx8IG9wdGlvbnMuY3VzdG9tKSB7CgkJCQkJbWUuX2V2ZW50UG9zaXRpb24gPSB7CgkJCQkJCXg6IGUueCwKCQkJCQkJeTogZS55CgkJCQkJfTsKCgkJCQkJbWUudXBkYXRlKHRydWUpOwoJCQkJCW1lLnBpdm90KCk7CgkJCQl9CgkJCX0KCgkJCXJldHVybiBjaGFuZ2VkOwoJCX0KCX0pOwoKCS8qKgoJICogQG5hbWVzcGFjZSBDaGFydC5Ub29sdGlwLnBvc2l0aW9uZXJzCgkgKi8KCUNoYXJ0LlRvb2x0aXAucG9zaXRpb25lcnMgPSB7CgkJLyoqCgkJICogQXZlcmFnZSBtb2RlIHBsYWNlcyB0aGUgdG9vbHRpcCBhdCB0aGUgYXZlcmFnZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudHMgc2hvd24KCQkgKiBAZnVuY3Rpb24gQ2hhcnQuVG9vbHRpcC5wb3NpdGlvbmVycy5hdmVyYWdlCgkJICogQHBhcmFtIGVsZW1lbnRzIHtDaGFydEVsZW1lbnRbXX0gdGhlIGVsZW1lbnRzIGJlaW5nIGRpc3BsYXllZCBpbiB0aGUgdG9vbHRpcAoJCSAqIEByZXR1cm5zIHtQb2ludH0gdG9vbHRpcCBwb3NpdGlvbgoJCSAqLwoJCWF2ZXJhZ2U6IGZ1bmN0aW9uKGVsZW1lbnRzKSB7CgkJCWlmICghZWxlbWVudHMubGVuZ3RoKSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCgkJCXZhciBpLCBsZW47CgkJCXZhciB4ID0gMDsKCQkJdmFyIHkgPSAwOwoJCQl2YXIgY291bnQgPSAwOwoKCQkJZm9yIChpID0gMCwgbGVuID0gZWxlbWVudHMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHsKCQkJCXZhciBlbCA9IGVsZW1lbnRzW2ldOwoJCQkJaWYgKGVsICYmIGVsLmhhc1ZhbHVlKCkpIHsKCQkJCQl2YXIgcG9zID0gZWwudG9vbHRpcFBvc2l0aW9uKCk7CgkJCQkJeCArPSBwb3MueDsKCQkJCQl5ICs9IHBvcy55OwoJCQkJCSsrY291bnQ7CgkJCQl9CgkJCX0KCgkJCXJldHVybiB7CgkJCQl4OiBNYXRoLnJvdW5kKHggLyBjb3VudCksCgkJCQl5OiBNYXRoLnJvdW5kKHkgLyBjb3VudCkKCQkJfTsKCQl9LAoKCQkvKioKCQkgKiBHZXRzIHRoZSB0b29sdGlwIHBvc2l0aW9uIG5lYXJlc3Qgb2YgdGhlIGl0ZW0gbmVhcmVzdCB0byB0aGUgZXZlbnQgcG9zaXRpb24KCQkgKiBAZnVuY3Rpb24gQ2hhcnQuVG9vbHRpcC5wb3NpdGlvbmVycy5uZWFyZXN0CgkJICogQHBhcmFtIGVsZW1lbnRzIHtDaGFydC5FbGVtZW50W119IHRoZSB0b29sdGlwIGVsZW1lbnRzCgkJICogQHBhcmFtIGV2ZW50UG9zaXRpb24ge1BvaW50fSB0aGUgcG9zaXRpb24gb2YgdGhlIGV2ZW50IGluIGNhbnZhcyBjb29yZGluYXRlcwoJCSAqIEByZXR1cm5zIHtQb2ludH0gdGhlIHRvb2x0aXAgcG9zaXRpb24KCQkgKi8KCQluZWFyZXN0OiBmdW5jdGlvbihlbGVtZW50cywgZXZlbnRQb3NpdGlvbikgewoJCQl2YXIgeCA9IGV2ZW50UG9zaXRpb24ueDsKCQkJdmFyIHkgPSBldmVudFBvc2l0aW9uLnk7CgkJCXZhciBtaW5EaXN0YW5jZSA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKCQkJdmFyIGksIGxlbiwgbmVhcmVzdEVsZW1lbnQ7CgoJCQlmb3IgKGkgPSAwLCBsZW4gPSBlbGVtZW50cy5sZW5ndGg7IGkgPCBsZW47ICsraSkgewoJCQkJdmFyIGVsID0gZWxlbWVudHNbaV07CgkJCQlpZiAoZWwgJiYgZWwuaGFzVmFsdWUoKSkgewoJCQkJCXZhciBjZW50ZXIgPSBlbC5nZXRDZW50ZXJQb2ludCgpOwoJCQkJCXZhciBkID0gaGVscGVycy5kaXN0YW5jZUJldHdlZW5Qb2ludHMoZXZlbnRQb3NpdGlvbiwgY2VudGVyKTsKCgkJCQkJaWYgKGQgPCBtaW5EaXN0YW5jZSkgewoJCQkJCQltaW5EaXN0YW5jZSA9IGQ7CgkJCQkJCW5lYXJlc3RFbGVtZW50ID0gZWw7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlpZiAobmVhcmVzdEVsZW1lbnQpIHsKCQkJCXZhciB0cCA9IG5lYXJlc3RFbGVtZW50LnRvb2x0aXBQb3NpdGlvbigpOwoJCQkJeCA9IHRwLng7CgkJCQl5ID0gdHAueTsKCQkJfQoKCQkJcmV0dXJuIHsKCQkJCXg6IHgsCgkJCQl5OiB5CgkJCX07CgkJfQoJfTsKfTsKCn0seyIyNSI6MjUsIjI2IjoyNiwiNDUiOjQ1fV0sMzY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKdmFyIEVsZW1lbnQgPSByZXF1aXJlKDI2KTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2dsb2JhbCcsIHsKCWVsZW1lbnRzOiB7CgkJYXJjOiB7CgkJCWJhY2tncm91bmRDb2xvcjogZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRDb2xvciwKCQkJYm9yZGVyQ29sb3I6ICcjZmZmJywKCQkJYm9yZGVyV2lkdGg6IDIKCQl9Cgl9Cn0pOwoKbW9kdWxlLmV4cG9ydHMgPSBFbGVtZW50LmV4dGVuZCh7CglpbkxhYmVsUmFuZ2U6IGZ1bmN0aW9uKG1vdXNlWCkgewoJCXZhciB2bSA9IHRoaXMuX3ZpZXc7CgoJCWlmICh2bSkgewoJCQlyZXR1cm4gKE1hdGgucG93KG1vdXNlWCAtIHZtLngsIDIpIDwgTWF0aC5wb3codm0ucmFkaXVzICsgdm0uaG92ZXJSYWRpdXMsIDIpKTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfSwKCglpblJhbmdlOiBmdW5jdGlvbihjaGFydFgsIGNoYXJ0WSkgewoJCXZhciB2bSA9IHRoaXMuX3ZpZXc7CgoJCWlmICh2bSkgewoJCQl2YXIgcG9pbnRSZWxhdGl2ZVBvc2l0aW9uID0gaGVscGVycy5nZXRBbmdsZUZyb21Qb2ludCh2bSwge3g6IGNoYXJ0WCwgeTogY2hhcnRZfSk7CgkJCXZhcglhbmdsZSA9IHBvaW50UmVsYXRpdmVQb3NpdGlvbi5hbmdsZTsKCQkJdmFyIGRpc3RhbmNlID0gcG9pbnRSZWxhdGl2ZVBvc2l0aW9uLmRpc3RhbmNlOwoKCQkJLy8gU2FuaXRpc2UgYW5nbGUgcmFuZ2UKCQkJdmFyIHN0YXJ0QW5nbGUgPSB2bS5zdGFydEFuZ2xlOwoJCQl2YXIgZW5kQW5nbGUgPSB2bS5lbmRBbmdsZTsKCQkJd2hpbGUgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkgewoJCQkJZW5kQW5nbGUgKz0gMi4wICogTWF0aC5QSTsKCQkJfQoJCQl3aGlsZSAoYW5nbGUgPiBlbmRBbmdsZSkgewoJCQkJYW5nbGUgLT0gMi4wICogTWF0aC5QSTsKCQkJfQoJCQl3aGlsZSAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7CgkJCQlhbmdsZSArPSAyLjAgKiBNYXRoLlBJOwoJCQl9CgoJCQkvLyBDaGVjayBpZiB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBvcGVuL2Nsb3NlIGFuZ2xlCgkJCXZhciBiZXR3ZWVuQW5nbGVzID0gKGFuZ2xlID49IHN0YXJ0QW5nbGUgJiYgYW5nbGUgPD0gZW5kQW5nbGUpOwoJCQl2YXIgd2l0aGluUmFkaXVzID0gKGRpc3RhbmNlID49IHZtLmlubmVyUmFkaXVzICYmIGRpc3RhbmNlIDw9IHZtLm91dGVyUmFkaXVzKTsKCgkJCXJldHVybiAoYmV0d2VlbkFuZ2xlcyAmJiB3aXRoaW5SYWRpdXMpOwoJCX0KCQlyZXR1cm4gZmFsc2U7Cgl9LAoKCWdldENlbnRlclBvaW50OiBmdW5jdGlvbigpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXZhciBoYWxmQW5nbGUgPSAodm0uc3RhcnRBbmdsZSArIHZtLmVuZEFuZ2xlKSAvIDI7CgkJdmFyIGhhbGZSYWRpdXMgPSAodm0uaW5uZXJSYWRpdXMgKyB2bS5vdXRlclJhZGl1cykgLyAyOwoJCXJldHVybiB7CgkJCXg6IHZtLnggKyBNYXRoLmNvcyhoYWxmQW5nbGUpICogaGFsZlJhZGl1cywKCQkJeTogdm0ueSArIE1hdGguc2luKGhhbGZBbmdsZSkgKiBoYWxmUmFkaXVzCgkJfTsKCX0sCgoJZ2V0QXJlYTogZnVuY3Rpb24oKSB7CgkJdmFyIHZtID0gdGhpcy5fdmlldzsKCQlyZXR1cm4gTWF0aC5QSSAqICgodm0uZW5kQW5nbGUgLSB2bS5zdGFydEFuZ2xlKSAvICgyICogTWF0aC5QSSkpICogKE1hdGgucG93KHZtLm91dGVyUmFkaXVzLCAyKSAtIE1hdGgucG93KHZtLmlubmVyUmFkaXVzLCAyKSk7Cgl9LAoKCXRvb2x0aXBQb3NpdGlvbjogZnVuY3Rpb24oKSB7CgkJdmFyIHZtID0gdGhpcy5fdmlldzsKCQl2YXIgY2VudHJlQW5nbGUgPSB2bS5zdGFydEFuZ2xlICsgKCh2bS5lbmRBbmdsZSAtIHZtLnN0YXJ0QW5nbGUpIC8gMik7CgkJdmFyIHJhbmdlRnJvbUNlbnRyZSA9ICh2bS5vdXRlclJhZGl1cyAtIHZtLmlubmVyUmFkaXVzKSAvIDIgKyB2bS5pbm5lclJhZGl1czsKCgkJcmV0dXJuIHsKCQkJeDogdm0ueCArIChNYXRoLmNvcyhjZW50cmVBbmdsZSkgKiByYW5nZUZyb21DZW50cmUpLAoJCQl5OiB2bS55ICsgKE1hdGguc2luKGNlbnRyZUFuZ2xlKSAqIHJhbmdlRnJvbUNlbnRyZSkKCQl9OwoJfSwKCglkcmF3OiBmdW5jdGlvbigpIHsKCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4OwoJCXZhciB2bSA9IHRoaXMuX3ZpZXc7CgkJdmFyIHNBID0gdm0uc3RhcnRBbmdsZTsKCQl2YXIgZUEgPSB2bS5lbmRBbmdsZTsKCgkJY3R4LmJlZ2luUGF0aCgpOwoKCQljdHguYXJjKHZtLngsIHZtLnksIHZtLm91dGVyUmFkaXVzLCBzQSwgZUEpOwoJCWN0eC5hcmModm0ueCwgdm0ueSwgdm0uaW5uZXJSYWRpdXMsIGVBLCBzQSwgdHJ1ZSk7CgoJCWN0eC5jbG9zZVBhdGgoKTsKCQljdHguc3Ryb2tlU3R5bGUgPSB2bS5ib3JkZXJDb2xvcjsKCQljdHgubGluZVdpZHRoID0gdm0uYm9yZGVyV2lkdGg7CgoJCWN0eC5maWxsU3R5bGUgPSB2bS5iYWNrZ3JvdW5kQ29sb3I7CgoJCWN0eC5maWxsKCk7CgkJY3R4LmxpbmVKb2luID0gJ2JldmVsJzsKCgkJaWYgKHZtLmJvcmRlcldpZHRoKSB7CgkJCWN0eC5zdHJva2UoKTsKCQl9Cgl9Cn0pOwoKfSx7IjI1IjoyNSwiMjYiOjI2LCI0NSI6NDV9XSwzNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwoKdmFyIGdsb2JhbERlZmF1bHRzID0gZGVmYXVsdHMuZ2xvYmFsOwoKZGVmYXVsdHMuX3NldCgnZ2xvYmFsJywgewoJZWxlbWVudHM6IHsKCQlsaW5lOiB7CgkJCXRlbnNpb246IDAuNCwKCQkJYmFja2dyb3VuZENvbG9yOiBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Q29sb3IsCgkJCWJvcmRlcldpZHRoOiAzLAoJCQlib3JkZXJDb2xvcjogZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdENvbG9yLAoJCQlib3JkZXJDYXBTdHlsZTogJ2J1dHQnLAoJCQlib3JkZXJEYXNoOiBbXSwKCQkJYm9yZGVyRGFzaE9mZnNldDogMC4wLAoJCQlib3JkZXJKb2luU3R5bGU6ICdtaXRlcicsCgkJCWNhcEJlemllclBvaW50czogdHJ1ZSwKCQkJZmlsbDogdHJ1ZSwgLy8gZG8gd2UgZmlsbCBpbiB0aGUgYXJlYSBiZXR3ZWVuIHRoZSBsaW5lIGFuZCBpdHMgYmFzZSBheGlzCgkJfQoJfQp9KTsKCm1vZHVsZS5leHBvcnRzID0gRWxlbWVudC5leHRlbmQoewoJZHJhdzogZnVuY3Rpb24oKSB7CgkJdmFyIG1lID0gdGhpczsKCQl2YXIgdm0gPSBtZS5fdmlldzsKCQl2YXIgY3R4ID0gbWUuX2NoYXJ0LmN0eDsKCQl2YXIgc3BhbkdhcHMgPSB2bS5zcGFuR2FwczsKCQl2YXIgcG9pbnRzID0gbWUuX2NoaWxkcmVuLnNsaWNlKCk7IC8vIGNsb25lIGFycmF5CgkJdmFyIGdsb2JhbE9wdGlvbkxpbmVFbGVtZW50cyA9IGdsb2JhbERlZmF1bHRzLmVsZW1lbnRzLmxpbmU7CgkJdmFyIGxhc3REcmF3bkluZGV4ID0gLTE7CgkJdmFyIGluZGV4LCBjdXJyZW50LCBwcmV2aW91cywgY3VycmVudFZNOwoKCQkvLyBJZiB3ZSBhcmUgbG9vcGluZywgYWRkaW5nIHRoZSBmaXJzdCBwb2ludCBhZ2FpbgoJCWlmIChtZS5fbG9vcCAmJiBwb2ludHMubGVuZ3RoKSB7CgkJCXBvaW50cy5wdXNoKHBvaW50c1swXSk7CgkJfQoKCQljdHguc2F2ZSgpOwoKCQkvLyBTdHJva2UgTGluZSBPcHRpb25zCgkJY3R4LmxpbmVDYXAgPSB2bS5ib3JkZXJDYXBTdHlsZSB8fCBnbG9iYWxPcHRpb25MaW5lRWxlbWVudHMuYm9yZGVyQ2FwU3R5bGU7CgoJCS8vIElFIDkgYW5kIDEwIGRvIG5vdCBzdXBwb3J0IGxpbmUgZGFzaAoJCWlmIChjdHguc2V0TGluZURhc2gpIHsKCQkJY3R4LnNldExpbmVEYXNoKHZtLmJvcmRlckRhc2ggfHwgZ2xvYmFsT3B0aW9uTGluZUVsZW1lbnRzLmJvcmRlckRhc2gpOwoJCX0KCgkJY3R4LmxpbmVEYXNoT2Zmc2V0ID0gdm0uYm9yZGVyRGFzaE9mZnNldCB8fCBnbG9iYWxPcHRpb25MaW5lRWxlbWVudHMuYm9yZGVyRGFzaE9mZnNldDsKCQljdHgubGluZUpvaW4gPSB2bS5ib3JkZXJKb2luU3R5bGUgfHwgZ2xvYmFsT3B0aW9uTGluZUVsZW1lbnRzLmJvcmRlckpvaW5TdHlsZTsKCQljdHgubGluZVdpZHRoID0gdm0uYm9yZGVyV2lkdGggfHwgZ2xvYmFsT3B0aW9uTGluZUVsZW1lbnRzLmJvcmRlcldpZHRoOwoJCWN0eC5zdHJva2VTdHlsZSA9IHZtLmJvcmRlckNvbG9yIHx8IGdsb2JhbERlZmF1bHRzLmRlZmF1bHRDb2xvcjsKCgkJLy8gU3Ryb2tlIExpbmUKCQljdHguYmVnaW5QYXRoKCk7CgkJbGFzdERyYXduSW5kZXggPSAtMTsKCgkJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgcG9pbnRzLmxlbmd0aDsgKytpbmRleCkgewoJCQljdXJyZW50ID0gcG9pbnRzW2luZGV4XTsKCQkJcHJldmlvdXMgPSBoZWxwZXJzLnByZXZpb3VzSXRlbShwb2ludHMsIGluZGV4KTsKCQkJY3VycmVudFZNID0gY3VycmVudC5fdmlldzsKCgkJCS8vIEZpcnN0IHBvaW50IG1vdmVzIHRvIGl0J3Mgc3RhcnRpbmcgcG9zaXRpb24gbm8gbWF0dGVyIHdoYXQKCQkJaWYgKGluZGV4ID09PSAwKSB7CgkJCQlpZiAoIWN1cnJlbnRWTS5za2lwKSB7CgkJCQkJY3R4Lm1vdmVUbyhjdXJyZW50Vk0ueCwgY3VycmVudFZNLnkpOwoJCQkJCWxhc3REcmF3bkluZGV4ID0gaW5kZXg7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlwcmV2aW91cyA9IGxhc3REcmF3bkluZGV4ID09PSAtMSA/IHByZXZpb3VzIDogcG9pbnRzW2xhc3REcmF3bkluZGV4XTsKCgkJCQlpZiAoIWN1cnJlbnRWTS5za2lwKSB7CgkJCQkJaWYgKChsYXN0RHJhd25JbmRleCAhPT0gKGluZGV4IC0gMSkgJiYgIXNwYW5HYXBzKSB8fCBsYXN0RHJhd25JbmRleCA9PT0gLTEpIHsKCQkJCQkJLy8gVGhlcmUgd2FzIGEgZ2FwIGFuZCB0aGlzIGlzIHRoZSBmaXJzdCBwb2ludCBhZnRlciB0aGUgZ2FwCgkJCQkJCWN0eC5tb3ZlVG8oY3VycmVudFZNLngsIGN1cnJlbnRWTS55KTsKCQkJCQl9IGVsc2UgewoJCQkJCQkvLyBMaW5lIHRvIG5leHQgcG9pbnQKCQkJCQkJaGVscGVycy5jYW52YXMubGluZVRvKGN0eCwgcHJldmlvdXMuX3ZpZXcsIGN1cnJlbnQuX3ZpZXcpOwoJCQkJCX0KCQkJCQlsYXN0RHJhd25JbmRleCA9IGluZGV4OwoJCQkJfQoJCQl9CgkJfQoKCQljdHguc3Ryb2tlKCk7CgkJY3R4LnJlc3RvcmUoKTsKCX0KfSk7Cgp9LHsiMjUiOjI1LCIyNiI6MjYsIjQ1Ijo0NX1dLDM4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGRlZmF1bHRzID0gcmVxdWlyZSgyNSk7CnZhciBFbGVtZW50ID0gcmVxdWlyZSgyNik7CnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7Cgp2YXIgZGVmYXVsdENvbG9yID0gZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRDb2xvcjsKCmRlZmF1bHRzLl9zZXQoJ2dsb2JhbCcsIHsKCWVsZW1lbnRzOiB7CgkJcG9pbnQ6IHsKCQkJcmFkaXVzOiAzLAoJCQlwb2ludFN0eWxlOiAnY2lyY2xlJywKCQkJYmFja2dyb3VuZENvbG9yOiBkZWZhdWx0Q29sb3IsCgkJCWJvcmRlckNvbG9yOiBkZWZhdWx0Q29sb3IsCgkJCWJvcmRlcldpZHRoOiAxLAoJCQkvLyBIb3ZlcgoJCQloaXRSYWRpdXM6IDEsCgkJCWhvdmVyUmFkaXVzOiA0LAoJCQlob3ZlckJvcmRlcldpZHRoOiAxCgkJfQoJfQp9KTsKCmZ1bmN0aW9uIHhSYW5nZShtb3VzZVgpIHsKCXZhciB2bSA9IHRoaXMuX3ZpZXc7CglyZXR1cm4gdm0gPyAoTWF0aC5hYnMobW91c2VYIC0gdm0ueCkgPCB2bS5yYWRpdXMgKyB2bS5oaXRSYWRpdXMpIDogZmFsc2U7Cn0KCmZ1bmN0aW9uIHlSYW5nZShtb3VzZVkpIHsKCXZhciB2bSA9IHRoaXMuX3ZpZXc7CglyZXR1cm4gdm0gPyAoTWF0aC5hYnMobW91c2VZIC0gdm0ueSkgPCB2bS5yYWRpdXMgKyB2bS5oaXRSYWRpdXMpIDogZmFsc2U7Cn0KCm1vZHVsZS5leHBvcnRzID0gRWxlbWVudC5leHRlbmQoewoJaW5SYW5nZTogZnVuY3Rpb24obW91c2VYLCBtb3VzZVkpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXJldHVybiB2bSA/ICgoTWF0aC5wb3cobW91c2VYIC0gdm0ueCwgMikgKyBNYXRoLnBvdyhtb3VzZVkgLSB2bS55LCAyKSkgPCBNYXRoLnBvdyh2bS5oaXRSYWRpdXMgKyB2bS5yYWRpdXMsIDIpKSA6IGZhbHNlOwoJfSwKCglpbkxhYmVsUmFuZ2U6IHhSYW5nZSwKCWluWFJhbmdlOiB4UmFuZ2UsCglpbllSYW5nZTogeVJhbmdlLAoKCWdldENlbnRlclBvaW50OiBmdW5jdGlvbigpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXJldHVybiB7CgkJCXg6IHZtLngsCgkJCXk6IHZtLnkKCQl9OwoJfSwKCglnZXRBcmVhOiBmdW5jdGlvbigpIHsKCQlyZXR1cm4gTWF0aC5QSSAqIE1hdGgucG93KHRoaXMuX3ZpZXcucmFkaXVzLCAyKTsKCX0sCgoJdG9vbHRpcFBvc2l0aW9uOiBmdW5jdGlvbigpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXJldHVybiB7CgkJCXg6IHZtLngsCgkJCXk6IHZtLnksCgkJCXBhZGRpbmc6IHZtLnJhZGl1cyArIHZtLmJvcmRlcldpZHRoCgkJfTsKCX0sCgoJZHJhdzogZnVuY3Rpb24oY2hhcnRBcmVhKSB7CgkJdmFyIHZtID0gdGhpcy5fdmlldzsKCQl2YXIgbW9kZWwgPSB0aGlzLl9tb2RlbDsKCQl2YXIgY3R4ID0gdGhpcy5fY2hhcnQuY3R4OwoJCXZhciBwb2ludFN0eWxlID0gdm0ucG9pbnRTdHlsZTsKCQl2YXIgcmFkaXVzID0gdm0ucmFkaXVzOwoJCXZhciB4ID0gdm0ueDsKCQl2YXIgeSA9IHZtLnk7CgkJdmFyIGNvbG9yID0gaGVscGVycy5jb2xvcjsKCQl2YXIgZXJyTWFyZ2luID0gMS4wMTsgLy8gMS4wMSBpcyBtYXJnaW4gZm9yIEFjY3VtdWxhdGVkIGVycm9yLiAoRXNwZWNpYWxseSBFZGdlLCBJRS4pCgkJdmFyIHJhdGlvID0gMDsKCgkJaWYgKHZtLnNraXApIHsKCQkJcmV0dXJuOwoJCX0KCgkJY3R4LnN0cm9rZVN0eWxlID0gdm0uYm9yZGVyQ29sb3IgfHwgZGVmYXVsdENvbG9yOwoJCWN0eC5saW5lV2lkdGggPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHZtLmJvcmRlcldpZHRoLCBkZWZhdWx0cy5nbG9iYWwuZWxlbWVudHMucG9pbnQuYm9yZGVyV2lkdGgpOwoJCWN0eC5maWxsU3R5bGUgPSB2bS5iYWNrZ3JvdW5kQ29sb3IgfHwgZGVmYXVsdENvbG9yOwoKCQkvLyBDbGlwaW5nIGZvciBQb2ludHMuCgkJLy8gZ29pbmcgb3V0IGZyb20gaW5uZXIgY2hhckFyZWE/CgkJaWYgKChjaGFydEFyZWEgIT09IHVuZGVmaW5lZCkgJiYgKChtb2RlbC54IDwgY2hhcnRBcmVhLmxlZnQpIHx8IChjaGFydEFyZWEucmlnaHQgKiBlcnJNYXJnaW4gPCBtb2RlbC54KSB8fCAobW9kZWwueSA8IGNoYXJ0QXJlYS50b3ApIHx8IChjaGFydEFyZWEuYm90dG9tICogZXJyTWFyZ2luIDwgbW9kZWwueSkpKSB7CgkJCS8vIFBvaW50IGZhZGUgb3V0CgkJCWlmIChtb2RlbC54IDwgY2hhcnRBcmVhLmxlZnQpIHsKCQkJCXJhdGlvID0gKHggLSBtb2RlbC54KSAvIChjaGFydEFyZWEubGVmdCAtIG1vZGVsLngpOwoJCQl9IGVsc2UgaWYgKGNoYXJ0QXJlYS5yaWdodCAqIGVyck1hcmdpbiA8IG1vZGVsLngpIHsKCQkJCXJhdGlvID0gKG1vZGVsLnggLSB4KSAvIChtb2RlbC54IC0gY2hhcnRBcmVhLnJpZ2h0KTsKCQkJfSBlbHNlIGlmIChtb2RlbC55IDwgY2hhcnRBcmVhLnRvcCkgewoJCQkJcmF0aW8gPSAoeSAtIG1vZGVsLnkpIC8gKGNoYXJ0QXJlYS50b3AgLSBtb2RlbC55KTsKCQkJfSBlbHNlIGlmIChjaGFydEFyZWEuYm90dG9tICogZXJyTWFyZ2luIDwgbW9kZWwueSkgewoJCQkJcmF0aW8gPSAobW9kZWwueSAtIHkpIC8gKG1vZGVsLnkgLSBjaGFydEFyZWEuYm90dG9tKTsKCQkJfQoJCQlyYXRpbyA9IE1hdGgucm91bmQocmF0aW8gKiAxMDApIC8gMTAwOwoJCQljdHguc3Ryb2tlU3R5bGUgPSBjb2xvcihjdHguc3Ryb2tlU3R5bGUpLmFscGhhKHJhdGlvKS5yZ2JTdHJpbmcoKTsKCQkJY3R4LmZpbGxTdHlsZSA9IGNvbG9yKGN0eC5maWxsU3R5bGUpLmFscGhhKHJhdGlvKS5yZ2JTdHJpbmcoKTsKCQl9CgoJCWhlbHBlcnMuY2FudmFzLmRyYXdQb2ludChjdHgsIHBvaW50U3R5bGUsIHJhZGl1cywgeCwgeSk7Cgl9Cn0pOwoKfSx7IjI1IjoyNSwiMjYiOjI2LCI0NSI6NDV9XSwzOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwoKZGVmYXVsdHMuX3NldCgnZ2xvYmFsJywgewoJZWxlbWVudHM6IHsKCQlyZWN0YW5nbGU6IHsKCQkJYmFja2dyb3VuZENvbG9yOiBkZWZhdWx0cy5nbG9iYWwuZGVmYXVsdENvbG9yLAoJCQlib3JkZXJDb2xvcjogZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRDb2xvciwKCQkJYm9yZGVyU2tpcHBlZDogJ2JvdHRvbScsCgkJCWJvcmRlcldpZHRoOiAwCgkJfQoJfQp9KTsKCmZ1bmN0aW9uIGlzVmVydGljYWwoYmFyKSB7CglyZXR1cm4gYmFyLl92aWV3LndpZHRoICE9PSB1bmRlZmluZWQ7Cn0KCi8qKgogKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBib3VuZHMgb2YgdGhlIGJhciByZWdhcmRsZXNzIG9mIHRoZSBvcmllbnRhdGlvbgogKiBAcGFyYW0gYmFyIHtDaGFydC5FbGVtZW50LlJlY3RhbmdsZX0gdGhlIGJhcgogKiBAcmV0dXJuIHtCb3VuZHN9IGJvdW5kcyBvZiB0aGUgYmFyCiAqIEBwcml2YXRlCiAqLwpmdW5jdGlvbiBnZXRCYXJCb3VuZHMoYmFyKSB7Cgl2YXIgdm0gPSBiYXIuX3ZpZXc7Cgl2YXIgeDEsIHgyLCB5MSwgeTI7CgoJaWYgKGlzVmVydGljYWwoYmFyKSkgewoJCS8vIHZlcnRpY2FsCgkJdmFyIGhhbGZXaWR0aCA9IHZtLndpZHRoIC8gMjsKCQl4MSA9IHZtLnggLSBoYWxmV2lkdGg7CgkJeDIgPSB2bS54ICsgaGFsZldpZHRoOwoJCXkxID0gTWF0aC5taW4odm0ueSwgdm0uYmFzZSk7CgkJeTIgPSBNYXRoLm1heCh2bS55LCB2bS5iYXNlKTsKCX0gZWxzZSB7CgkJLy8gaG9yaXpvbnRhbCBiYXIKCQl2YXIgaGFsZkhlaWdodCA9IHZtLmhlaWdodCAvIDI7CgkJeDEgPSBNYXRoLm1pbih2bS54LCB2bS5iYXNlKTsKCQl4MiA9IE1hdGgubWF4KHZtLngsIHZtLmJhc2UpOwoJCXkxID0gdm0ueSAtIGhhbGZIZWlnaHQ7CgkJeTIgPSB2bS55ICsgaGFsZkhlaWdodDsKCX0KCglyZXR1cm4gewoJCWxlZnQ6IHgxLAoJCXRvcDogeTEsCgkJcmlnaHQ6IHgyLAoJCWJvdHRvbTogeTIKCX07Cn0KCm1vZHVsZS5leHBvcnRzID0gRWxlbWVudC5leHRlbmQoewoJZHJhdzogZnVuY3Rpb24oKSB7CgkJdmFyIGN0eCA9IHRoaXMuX2NoYXJ0LmN0eDsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXZhciBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20sIHNpZ25YLCBzaWduWSwgYm9yZGVyU2tpcHBlZDsKCQl2YXIgYm9yZGVyV2lkdGggPSB2bS5ib3JkZXJXaWR0aDsKCgkJaWYgKCF2bS5ob3Jpem9udGFsKSB7CgkJCS8vIGJhcgoJCQlsZWZ0ID0gdm0ueCAtIHZtLndpZHRoIC8gMjsKCQkJcmlnaHQgPSB2bS54ICsgdm0ud2lkdGggLyAyOwoJCQl0b3AgPSB2bS55OwoJCQlib3R0b20gPSB2bS5iYXNlOwoJCQlzaWduWCA9IDE7CgkJCXNpZ25ZID0gYm90dG9tID4gdG9wID8gMSA6IC0xOwoJCQlib3JkZXJTa2lwcGVkID0gdm0uYm9yZGVyU2tpcHBlZCB8fCAnYm90dG9tJzsKCQl9IGVsc2UgewoJCQkvLyBob3Jpem9udGFsIGJhcgoJCQlsZWZ0ID0gdm0uYmFzZTsKCQkJcmlnaHQgPSB2bS54OwoJCQl0b3AgPSB2bS55IC0gdm0uaGVpZ2h0IC8gMjsKCQkJYm90dG9tID0gdm0ueSArIHZtLmhlaWdodCAvIDI7CgkJCXNpZ25YID0gcmlnaHQgPiBsZWZ0ID8gMSA6IC0xOwoJCQlzaWduWSA9IDE7CgkJCWJvcmRlclNraXBwZWQgPSB2bS5ib3JkZXJTa2lwcGVkIHx8ICdsZWZ0JzsKCQl9CgoJCS8vIENhbnZhcyBkb2Vzbid0IGFsbG93IHVzIHRvIHN0cm9rZSBpbnNpZGUgdGhlIHdpZHRoIHNvIHdlIGNhbgoJCS8vIGFkanVzdCB0aGUgc2l6ZXMgdG8gZml0IGlmIHdlJ3JlIHNldHRpbmcgYSBzdHJva2Ugb24gdGhlIGxpbmUKCQlpZiAoYm9yZGVyV2lkdGgpIHsKCQkJLy8gYm9yZGVyV2lkdGggc2hvbGQgYmUgbGVzcyB0aGFuIGJhciB3aWR0aCBhbmQgYmFyIGhlaWdodC4KCQkJdmFyIGJhclNpemUgPSBNYXRoLm1pbihNYXRoLmFicyhsZWZ0IC0gcmlnaHQpLCBNYXRoLmFicyh0b3AgLSBib3R0b20pKTsKCQkJYm9yZGVyV2lkdGggPSBib3JkZXJXaWR0aCA+IGJhclNpemUgPyBiYXJTaXplIDogYm9yZGVyV2lkdGg7CgkJCXZhciBoYWxmU3Ryb2tlID0gYm9yZGVyV2lkdGggLyAyOwoJCQkvLyBBZGp1c3QgYm9yZGVyV2lkdGggd2hlbiBiYXIgdG9wIHBvc2l0aW9uIGlzIG5lYXIgdm0uYmFzZSh6ZXJvKS4KCQkJdmFyIGJvcmRlckxlZnQgPSBsZWZ0ICsgKGJvcmRlclNraXBwZWQgIT09ICdsZWZ0JyA/IGhhbGZTdHJva2UgKiBzaWduWCA6IDApOwoJCQl2YXIgYm9yZGVyUmlnaHQgPSByaWdodCArIChib3JkZXJTa2lwcGVkICE9PSAncmlnaHQnID8gLWhhbGZTdHJva2UgKiBzaWduWCA6IDApOwoJCQl2YXIgYm9yZGVyVG9wID0gdG9wICsgKGJvcmRlclNraXBwZWQgIT09ICd0b3AnID8gaGFsZlN0cm9rZSAqIHNpZ25ZIDogMCk7CgkJCXZhciBib3JkZXJCb3R0b20gPSBib3R0b20gKyAoYm9yZGVyU2tpcHBlZCAhPT0gJ2JvdHRvbScgPyAtaGFsZlN0cm9rZSAqIHNpZ25ZIDogMCk7CgkJCS8vIG5vdCBiZWNvbWUgYSB2ZXJ0aWNhbCBsaW5lPwoJCQlpZiAoYm9yZGVyTGVmdCAhPT0gYm9yZGVyUmlnaHQpIHsKCQkJCXRvcCA9IGJvcmRlclRvcDsKCQkJCWJvdHRvbSA9IGJvcmRlckJvdHRvbTsKCQkJfQoJCQkvLyBub3QgYmVjb21lIGEgaG9yaXpvbnRhbCBsaW5lPwoJCQlpZiAoYm9yZGVyVG9wICE9PSBib3JkZXJCb3R0b20pIHsKCQkJCWxlZnQgPSBib3JkZXJMZWZ0OwoJCQkJcmlnaHQgPSBib3JkZXJSaWdodDsKCQkJfQoJCX0KCgkJY3R4LmJlZ2luUGF0aCgpOwoJCWN0eC5maWxsU3R5bGUgPSB2bS5iYWNrZ3JvdW5kQ29sb3I7CgkJY3R4LnN0cm9rZVN0eWxlID0gdm0uYm9yZGVyQ29sb3I7CgkJY3R4LmxpbmVXaWR0aCA9IGJvcmRlcldpZHRoOwoKCQkvLyBDb3JuZXIgcG9pbnRzLCBmcm9tIGJvdHRvbS1sZWZ0IHRvIGJvdHRvbS1yaWdodCBjbG9ja3dpc2UKCQkvLyB8IDEgMiB8CgkJLy8gfCAwIDMgfAoJCXZhciBjb3JuZXJzID0gWwoJCQlbbGVmdCwgYm90dG9tXSwKCQkJW2xlZnQsIHRvcF0sCgkJCVtyaWdodCwgdG9wXSwKCQkJW3JpZ2h0LCBib3R0b21dCgkJXTsKCgkJLy8gRmluZCBmaXJzdCAoc3RhcnRpbmcpIGNvcm5lciB3aXRoIGZhbGxiYWNrIHRvICdib3R0b20nCgkJdmFyIGJvcmRlcnMgPSBbJ2JvdHRvbScsICdsZWZ0JywgJ3RvcCcsICdyaWdodCddOwoJCXZhciBzdGFydENvcm5lciA9IGJvcmRlcnMuaW5kZXhPZihib3JkZXJTa2lwcGVkLCAwKTsKCQlpZiAoc3RhcnRDb3JuZXIgPT09IC0xKSB7CgkJCXN0YXJ0Q29ybmVyID0gMDsKCQl9CgoJCWZ1bmN0aW9uIGNvcm5lckF0KGluZGV4KSB7CgkJCXJldHVybiBjb3JuZXJzWyhzdGFydENvcm5lciArIGluZGV4KSAlIDRdOwoJCX0KCgkJLy8gRHJhdyByZWN0YW5nbGUgZnJvbSAnc3RhcnRDb3JuZXInCgkJdmFyIGNvcm5lciA9IGNvcm5lckF0KDApOwoJCWN0eC5tb3ZlVG8oY29ybmVyWzBdLCBjb3JuZXJbMV0pOwoKCQlmb3IgKHZhciBpID0gMTsgaSA8IDQ7IGkrKykgewoJCQljb3JuZXIgPSBjb3JuZXJBdChpKTsKCQkJY3R4LmxpbmVUbyhjb3JuZXJbMF0sIGNvcm5lclsxXSk7CgkJfQoKCQljdHguZmlsbCgpOwoJCWlmIChib3JkZXJXaWR0aCkgewoJCQljdHguc3Ryb2tlKCk7CgkJfQoJfSwKCgloZWlnaHQ6IGZ1bmN0aW9uKCkgewoJCXZhciB2bSA9IHRoaXMuX3ZpZXc7CgkJcmV0dXJuIHZtLmJhc2UgLSB2bS55OwoJfSwKCglpblJhbmdlOiBmdW5jdGlvbihtb3VzZVgsIG1vdXNlWSkgewoJCXZhciBpblJhbmdlID0gZmFsc2U7CgoJCWlmICh0aGlzLl92aWV3KSB7CgkJCXZhciBib3VuZHMgPSBnZXRCYXJCb3VuZHModGhpcyk7CgkJCWluUmFuZ2UgPSBtb3VzZVggPj0gYm91bmRzLmxlZnQgJiYgbW91c2VYIDw9IGJvdW5kcy5yaWdodCAmJiBtb3VzZVkgPj0gYm91bmRzLnRvcCAmJiBtb3VzZVkgPD0gYm91bmRzLmJvdHRvbTsKCQl9CgoJCXJldHVybiBpblJhbmdlOwoJfSwKCglpbkxhYmVsUmFuZ2U6IGZ1bmN0aW9uKG1vdXNlWCwgbW91c2VZKSB7CgkJdmFyIG1lID0gdGhpczsKCQlpZiAoIW1lLl92aWV3KSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXZhciBpblJhbmdlID0gZmFsc2U7CgkJdmFyIGJvdW5kcyA9IGdldEJhckJvdW5kcyhtZSk7CgoJCWlmIChpc1ZlcnRpY2FsKG1lKSkgewoJCQlpblJhbmdlID0gbW91c2VYID49IGJvdW5kcy5sZWZ0ICYmIG1vdXNlWCA8PSBib3VuZHMucmlnaHQ7CgkJfSBlbHNlIHsKCQkJaW5SYW5nZSA9IG1vdXNlWSA+PSBib3VuZHMudG9wICYmIG1vdXNlWSA8PSBib3VuZHMuYm90dG9tOwoJCX0KCgkJcmV0dXJuIGluUmFuZ2U7Cgl9LAoKCWluWFJhbmdlOiBmdW5jdGlvbihtb3VzZVgpIHsKCQl2YXIgYm91bmRzID0gZ2V0QmFyQm91bmRzKHRoaXMpOwoJCXJldHVybiBtb3VzZVggPj0gYm91bmRzLmxlZnQgJiYgbW91c2VYIDw9IGJvdW5kcy5yaWdodDsKCX0sCgoJaW5ZUmFuZ2U6IGZ1bmN0aW9uKG1vdXNlWSkgewoJCXZhciBib3VuZHMgPSBnZXRCYXJCb3VuZHModGhpcyk7CgkJcmV0dXJuIG1vdXNlWSA+PSBib3VuZHMudG9wICYmIG1vdXNlWSA8PSBib3VuZHMuYm90dG9tOwoJfSwKCglnZXRDZW50ZXJQb2ludDogZnVuY3Rpb24oKSB7CgkJdmFyIHZtID0gdGhpcy5fdmlldzsKCQl2YXIgeCwgeTsKCQlpZiAoaXNWZXJ0aWNhbCh0aGlzKSkgewoJCQl4ID0gdm0ueDsKCQkJeSA9ICh2bS55ICsgdm0uYmFzZSkgLyAyOwoJCX0gZWxzZSB7CgkJCXggPSAodm0ueCArIHZtLmJhc2UpIC8gMjsKCQkJeSA9IHZtLnk7CgkJfQoKCQlyZXR1cm4ge3g6IHgsIHk6IHl9OwoJfSwKCglnZXRBcmVhOiBmdW5jdGlvbigpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXJldHVybiB2bS53aWR0aCAqIE1hdGguYWJzKHZtLnkgLSB2bS5iYXNlKTsKCX0sCgoJdG9vbHRpcFBvc2l0aW9uOiBmdW5jdGlvbigpIHsKCQl2YXIgdm0gPSB0aGlzLl92aWV3OwoJCXJldHVybiB7CgkJCXg6IHZtLngsCgkJCXk6IHZtLnkKCQl9OwoJfQp9KTsKCn0seyIyNSI6MjUsIjI2IjoyNn1dLDQwOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKbW9kdWxlLmV4cG9ydHMgPSB7fTsKbW9kdWxlLmV4cG9ydHMuQXJjID0gcmVxdWlyZSgzNik7Cm1vZHVsZS5leHBvcnRzLkxpbmUgPSByZXF1aXJlKDM3KTsKbW9kdWxlLmV4cG9ydHMuUG9pbnQgPSByZXF1aXJlKDM4KTsKbW9kdWxlLmV4cG9ydHMuUmVjdGFuZ2xlID0gcmVxdWlyZSgzOSk7Cgp9LHsiMzYiOjM2LCIzNyI6MzcsIjM4IjozOCwiMzkiOjM5fV0sNDE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDIpOwoKLyoqCiAqIEBuYW1lc3BhY2UgQ2hhcnQuaGVscGVycy5jYW52YXMKICovCnZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSB7CgkvKioKCSAqIENsZWFycyB0aGUgZW50aXJlIGNhbnZhcyBhc3NvY2lhdGVkIHRvIHRoZSBnaXZlbiBgY2hhcnRgLgoJICogQHBhcmFtIHtDaGFydH0gY2hhcnQgLSBUaGUgY2hhcnQgZm9yIHdoaWNoIHRvIGNsZWFyIHRoZSBjYW52YXMuCgkgKi8KCWNsZWFyOiBmdW5jdGlvbihjaGFydCkgewoJCWNoYXJ0LmN0eC5jbGVhclJlY3QoMCwgMCwgY2hhcnQud2lkdGgsIGNoYXJ0LmhlaWdodCk7Cgl9LAoKCS8qKgoJICogQ3JlYXRlcyBhICJwYXRoIiBmb3IgYSByZWN0YW5nbGUgd2l0aCByb3VuZGVkIGNvcm5lcnMgYXQgcG9zaXRpb24gKHgsIHkpIHdpdGggYQoJICogZ2l2ZW4gc2l6ZSAod2lkdGgsIGhlaWdodCkgYW5kIHRoZSBzYW1lIGByYWRpdXNgIGZvciBhbGwgY29ybmVycy4KCSAqIEBwYXJhbSB7Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEfSBjdHggLSBUaGUgY2FudmFzIDJEIENvbnRleHQuCgkgKiBAcGFyYW0ge051bWJlcn0geCAtIFRoZSB4IGF4aXMgb2YgdGhlIGNvb3JkaW5hdGUgZm9yIHRoZSByZWN0YW5nbGUgc3RhcnRpbmcgcG9pbnQuCgkgKiBAcGFyYW0ge051bWJlcn0geSAtIFRoZSB5IGF4aXMgb2YgdGhlIGNvb3JkaW5hdGUgZm9yIHRoZSByZWN0YW5nbGUgc3RhcnRpbmcgcG9pbnQuCgkgKiBAcGFyYW0ge051bWJlcn0gd2lkdGggLSBUaGUgcmVjdGFuZ2xlJ3Mgd2lkdGguCgkgKiBAcGFyYW0ge051bWJlcn0gaGVpZ2h0IC0gVGhlIHJlY3RhbmdsZSdzIGhlaWdodC4KCSAqIEBwYXJhbSB7TnVtYmVyfSByYWRpdXMgLSBUaGUgcm91bmRlZCBhbW91bnQgKGluIHBpeGVscykgZm9yIHRoZSBmb3VyIGNvcm5lcnMuCgkgKiBAdG9kbyBoYW5kbGUgYHJhZGl1c2AgYXMgdG9wLWxlZnQsIHRvcC1yaWdodCwgYm90dG9tLXJpZ2h0LCBib3R0b20tbGVmdCBhcnJheS9vYmplY3Q/CgkgKi8KCXJvdW5kZWRSZWN0OiBmdW5jdGlvbihjdHgsIHgsIHksIHdpZHRoLCBoZWlnaHQsIHJhZGl1cykgewoJCWlmIChyYWRpdXMpIHsKCQkJdmFyIHJ4ID0gTWF0aC5taW4ocmFkaXVzLCB3aWR0aCAvIDIpOwoJCQl2YXIgcnkgPSBNYXRoLm1pbihyYWRpdXMsIGhlaWdodCAvIDIpOwoKCQkJY3R4Lm1vdmVUbyh4ICsgcngsIHkpOwoJCQljdHgubGluZVRvKHggKyB3aWR0aCAtIHJ4LCB5KTsKCQkJY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCArIHdpZHRoLCB5LCB4ICsgd2lkdGgsIHkgKyByeSk7CgkJCWN0eC5saW5lVG8oeCArIHdpZHRoLCB5ICsgaGVpZ2h0IC0gcnkpOwoJCQljdHgucXVhZHJhdGljQ3VydmVUbyh4ICsgd2lkdGgsIHkgKyBoZWlnaHQsIHggKyB3aWR0aCAtIHJ4LCB5ICsgaGVpZ2h0KTsKCQkJY3R4LmxpbmVUbyh4ICsgcngsIHkgKyBoZWlnaHQpOwoJCQljdHgucXVhZHJhdGljQ3VydmVUbyh4LCB5ICsgaGVpZ2h0LCB4LCB5ICsgaGVpZ2h0IC0gcnkpOwoJCQljdHgubGluZVRvKHgsIHkgKyByeSk7CgkJCWN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHgsIHksIHggKyByeCwgeSk7CgkJfSBlbHNlIHsKCQkJY3R4LnJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CgkJfQoJfSwKCglkcmF3UG9pbnQ6IGZ1bmN0aW9uKGN0eCwgc3R5bGUsIHJhZGl1cywgeCwgeSkgewoJCXZhciB0eXBlLCBlZGdlTGVuZ3RoLCB4T2Zmc2V0LCB5T2Zmc2V0LCBoZWlnaHQsIHNpemU7CgoJCWlmIChzdHlsZSAmJiB0eXBlb2Ygc3R5bGUgPT09ICdvYmplY3QnKSB7CgkJCXR5cGUgPSBzdHlsZS50b1N0cmluZygpOwoJCQlpZiAodHlwZSA9PT0gJ1tvYmplY3QgSFRNTEltYWdlRWxlbWVudF0nIHx8IHR5cGUgPT09ICdbb2JqZWN0IEhUTUxDYW52YXNFbGVtZW50XScpIHsKCQkJCWN0eC5kcmF3SW1hZ2Uoc3R5bGUsIHggLSBzdHlsZS53aWR0aCAvIDIsIHkgLSBzdHlsZS5oZWlnaHQgLyAyLCBzdHlsZS53aWR0aCwgc3R5bGUuaGVpZ2h0KTsKCQkJCXJldHVybjsKCQkJfQoJCX0KCgkJaWYgKGlzTmFOKHJhZGl1cykgfHwgcmFkaXVzIDw9IDApIHsKCQkJcmV0dXJuOwoJCX0KCgkJc3dpdGNoIChzdHlsZSkgewoJCS8vIERlZmF1bHQgaW5jbHVkZXMgY2lyY2xlCgkJZGVmYXVsdDoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQljdHguYXJjKHgsIHksIHJhZGl1cywgMCwgTWF0aC5QSSAqIDIpOwoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWN0eC5maWxsKCk7CgkJCWJyZWFrOwoJCWNhc2UgJ3RyaWFuZ2xlJzoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQllZGdlTGVuZ3RoID0gMyAqIHJhZGl1cyAvIE1hdGguc3FydCgzKTsKCQkJaGVpZ2h0ID0gZWRnZUxlbmd0aCAqIE1hdGguc3FydCgzKSAvIDI7CgkJCWN0eC5tb3ZlVG8oeCAtIGVkZ2VMZW5ndGggLyAyLCB5ICsgaGVpZ2h0IC8gMyk7CgkJCWN0eC5saW5lVG8oeCArIGVkZ2VMZW5ndGggLyAyLCB5ICsgaGVpZ2h0IC8gMyk7CgkJCWN0eC5saW5lVG8oeCwgeSAtIDIgKiBoZWlnaHQgLyAzKTsKCQkJY3R4LmNsb3NlUGF0aCgpOwoJCQljdHguZmlsbCgpOwoJCQlicmVhazsKCQljYXNlICdyZWN0JzoKCQkJc2l6ZSA9IDEgLyBNYXRoLlNRUlQyICogcmFkaXVzOwoJCQljdHguYmVnaW5QYXRoKCk7CgkJCWN0eC5maWxsUmVjdCh4IC0gc2l6ZSwgeSAtIHNpemUsIDIgKiBzaXplLCAyICogc2l6ZSk7CgkJCWN0eC5zdHJva2VSZWN0KHggLSBzaXplLCB5IC0gc2l6ZSwgMiAqIHNpemUsIDIgKiBzaXplKTsKCQkJYnJlYWs7CgkJY2FzZSAncmVjdFJvdW5kZWQnOgoJCQl2YXIgb2Zmc2V0ID0gcmFkaXVzIC8gTWF0aC5TUVJUMjsKCQkJdmFyIGxlZnRYID0geCAtIG9mZnNldDsKCQkJdmFyIHRvcFkgPSB5IC0gb2Zmc2V0OwoJCQl2YXIgc2lkZVNpemUgPSBNYXRoLlNRUlQyICogcmFkaXVzOwoJCQljdHguYmVnaW5QYXRoKCk7CgkJCXRoaXMucm91bmRlZFJlY3QoY3R4LCBsZWZ0WCwgdG9wWSwgc2lkZVNpemUsIHNpZGVTaXplLCByYWRpdXMgLyAyKTsKCQkJY3R4LmNsb3NlUGF0aCgpOwoJCQljdHguZmlsbCgpOwoJCQlicmVhazsKCQljYXNlICdyZWN0Um90JzoKCQkJc2l6ZSA9IDEgLyBNYXRoLlNRUlQyICogcmFkaXVzOwoJCQljdHguYmVnaW5QYXRoKCk7CgkJCWN0eC5tb3ZlVG8oeCAtIHNpemUsIHkpOwoJCQljdHgubGluZVRvKHgsIHkgKyBzaXplKTsKCQkJY3R4LmxpbmVUbyh4ICsgc2l6ZSwgeSk7CgkJCWN0eC5saW5lVG8oeCwgeSAtIHNpemUpOwoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWN0eC5maWxsKCk7CgkJCWJyZWFrOwoJCWNhc2UgJ2Nyb3NzJzoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQljdHgubW92ZVRvKHgsIHkgKyByYWRpdXMpOwoJCQljdHgubGluZVRvKHgsIHkgLSByYWRpdXMpOwoJCQljdHgubW92ZVRvKHggLSByYWRpdXMsIHkpOwoJCQljdHgubGluZVRvKHggKyByYWRpdXMsIHkpOwoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWJyZWFrOwoJCWNhc2UgJ2Nyb3NzUm90JzoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQl4T2Zmc2V0ID0gTWF0aC5jb3MoTWF0aC5QSSAvIDQpICogcmFkaXVzOwoJCQl5T2Zmc2V0ID0gTWF0aC5zaW4oTWF0aC5QSSAvIDQpICogcmFkaXVzOwoJCQljdHgubW92ZVRvKHggLSB4T2Zmc2V0LCB5IC0geU9mZnNldCk7CgkJCWN0eC5saW5lVG8oeCArIHhPZmZzZXQsIHkgKyB5T2Zmc2V0KTsKCQkJY3R4Lm1vdmVUbyh4IC0geE9mZnNldCwgeSArIHlPZmZzZXQpOwoJCQljdHgubGluZVRvKHggKyB4T2Zmc2V0LCB5IC0geU9mZnNldCk7CgkJCWN0eC5jbG9zZVBhdGgoKTsKCQkJYnJlYWs7CgkJY2FzZSAnc3Rhcic6CgkJCWN0eC5iZWdpblBhdGgoKTsKCQkJY3R4Lm1vdmVUbyh4LCB5ICsgcmFkaXVzKTsKCQkJY3R4LmxpbmVUbyh4LCB5IC0gcmFkaXVzKTsKCQkJY3R4Lm1vdmVUbyh4IC0gcmFkaXVzLCB5KTsKCQkJY3R4LmxpbmVUbyh4ICsgcmFkaXVzLCB5KTsKCQkJeE9mZnNldCA9IE1hdGguY29zKE1hdGguUEkgLyA0KSAqIHJhZGl1czsKCQkJeU9mZnNldCA9IE1hdGguc2luKE1hdGguUEkgLyA0KSAqIHJhZGl1czsKCQkJY3R4Lm1vdmVUbyh4IC0geE9mZnNldCwgeSAtIHlPZmZzZXQpOwoJCQljdHgubGluZVRvKHggKyB4T2Zmc2V0LCB5ICsgeU9mZnNldCk7CgkJCWN0eC5tb3ZlVG8oeCAtIHhPZmZzZXQsIHkgKyB5T2Zmc2V0KTsKCQkJY3R4LmxpbmVUbyh4ICsgeE9mZnNldCwgeSAtIHlPZmZzZXQpOwoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWJyZWFrOwoJCWNhc2UgJ2xpbmUnOgoJCQljdHguYmVnaW5QYXRoKCk7CgkJCWN0eC5tb3ZlVG8oeCAtIHJhZGl1cywgeSk7CgkJCWN0eC5saW5lVG8oeCArIHJhZGl1cywgeSk7CgkJCWN0eC5jbG9zZVBhdGgoKTsKCQkJYnJlYWs7CgkJY2FzZSAnZGFzaCc6CgkJCWN0eC5iZWdpblBhdGgoKTsKCQkJY3R4Lm1vdmVUbyh4LCB5KTsKCQkJY3R4LmxpbmVUbyh4ICsgcmFkaXVzLCB5KTsKCQkJY3R4LmNsb3NlUGF0aCgpOwoJCQlicmVhazsKCQl9CgoJCWN0eC5zdHJva2UoKTsKCX0sCgoJY2xpcEFyZWE6IGZ1bmN0aW9uKGN0eCwgYXJlYSkgewoJCWN0eC5zYXZlKCk7CgkJY3R4LmJlZ2luUGF0aCgpOwoJCWN0eC5yZWN0KGFyZWEubGVmdCwgYXJlYS50b3AsIGFyZWEucmlnaHQgLSBhcmVhLmxlZnQsIGFyZWEuYm90dG9tIC0gYXJlYS50b3ApOwoJCWN0eC5jbGlwKCk7Cgl9LAoKCXVuY2xpcEFyZWE6IGZ1bmN0aW9uKGN0eCkgewoJCWN0eC5yZXN0b3JlKCk7Cgl9LAoKCWxpbmVUbzogZnVuY3Rpb24oY3R4LCBwcmV2aW91cywgdGFyZ2V0LCBmbGlwKSB7CgkJaWYgKHRhcmdldC5zdGVwcGVkTGluZSkgewoJCQlpZiAoKHRhcmdldC5zdGVwcGVkTGluZSA9PT0gJ2FmdGVyJyAmJiAhZmxpcCkgfHwgKHRhcmdldC5zdGVwcGVkTGluZSAhPT0gJ2FmdGVyJyAmJiBmbGlwKSkgewoJCQkJY3R4LmxpbmVUbyhwcmV2aW91cy54LCB0YXJnZXQueSk7CgkJCX0gZWxzZSB7CgkJCQljdHgubGluZVRvKHRhcmdldC54LCBwcmV2aW91cy55KTsKCQkJfQoJCQljdHgubGluZVRvKHRhcmdldC54LCB0YXJnZXQueSk7CgkJCXJldHVybjsKCQl9CgoJCWlmICghdGFyZ2V0LnRlbnNpb24pIHsKCQkJY3R4LmxpbmVUbyh0YXJnZXQueCwgdGFyZ2V0LnkpOwoJCQlyZXR1cm47CgkJfQoKCQljdHguYmV6aWVyQ3VydmVUbygKCQkJZmxpcCA/IHByZXZpb3VzLmNvbnRyb2xQb2ludFByZXZpb3VzWCA6IHByZXZpb3VzLmNvbnRyb2xQb2ludE5leHRYLAoJCQlmbGlwID8gcHJldmlvdXMuY29udHJvbFBvaW50UHJldmlvdXNZIDogcHJldmlvdXMuY29udHJvbFBvaW50TmV4dFksCgkJCWZsaXAgPyB0YXJnZXQuY29udHJvbFBvaW50TmV4dFggOiB0YXJnZXQuY29udHJvbFBvaW50UHJldmlvdXNYLAoJCQlmbGlwID8gdGFyZ2V0LmNvbnRyb2xQb2ludE5leHRZIDogdGFyZ2V0LmNvbnRyb2xQb2ludFByZXZpb3VzWSwKCQkJdGFyZ2V0LngsCgkJCXRhcmdldC55KTsKCX0KfTsKCi8vIERFUFJFQ0FUSU9OUwoKLyoqCiAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB1c2UgQ2hhcnQuaGVscGVycy5jYW52YXMuY2xlYXIgaW5zdGVhZC4KICogQG5hbWVzcGFjZSBDaGFydC5oZWxwZXJzLmNsZWFyCiAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMi43LjAKICogQHRvZG8gcmVtb3ZlIGF0IHZlcnNpb24gMwogKiBAcHJpdmF0ZQogKi8KaGVscGVycy5jbGVhciA9IGV4cG9ydHMuY2xlYXI7CgovKioKICogUHJvdmlkZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHVzZSBDaGFydC5oZWxwZXJzLmNhbnZhcy5yb3VuZGVkUmVjdCBpbnN0ZWFkLgogKiBAbmFtZXNwYWNlIENoYXJ0LmhlbHBlcnMuZHJhd1JvdW5kZWRSZWN0YW5nbGUKICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjcuMAogKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCiAqIEBwcml2YXRlCiAqLwpoZWxwZXJzLmRyYXdSb3VuZGVkUmVjdGFuZ2xlID0gZnVuY3Rpb24oY3R4KSB7CgljdHguYmVnaW5QYXRoKCk7CglleHBvcnRzLnJvdW5kZWRSZWN0LmFwcGx5KGV4cG9ydHMsIGFyZ3VtZW50cyk7CgljdHguY2xvc2VQYXRoKCk7Cn07Cgp9LHsiNDIiOjQyfV0sNDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7CgovKioKICogQG5hbWVzcGFjZSBDaGFydC5oZWxwZXJzCiAqLwp2YXIgaGVscGVycyA9IHsKCS8qKgoJICogQW4gZW1wdHkgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCwgZm9yIGV4YW1wbGUsIGZvciBvcHRpb25hbCBjYWxsYmFjay4KCSAqLwoJbm9vcDogZnVuY3Rpb24oKSB7fSwKCgkvKioKCSAqIFJldHVybnMgYSB1bmlxdWUgaWQsIHNlcXVlbnRpYWxseSBnZW5lcmF0ZWQgZnJvbSBhIGdsb2JhbCB2YXJpYWJsZS4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKiBAZnVuY3Rpb24KCSAqLwoJdWlkOiAoZnVuY3Rpb24oKSB7CgkJdmFyIGlkID0gMDsKCQlyZXR1cm4gZnVuY3Rpb24oKSB7CgkJCXJldHVybiBpZCsrOwoJCX07Cgl9KCkpLAoKCS8qKgoJICogUmV0dXJucyB0cnVlIGlmIGB2YWx1ZWAgaXMgbmVpdGhlciBudWxsIG5vciB1bmRlZmluZWQsIGVsc2UgcmV0dXJucyBmYWxzZS4KCSAqIEBwYXJhbSB7Kn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdGVzdC4KCSAqIEByZXR1cm5zIHtCb29sZWFufQoJICogQHNpbmNlIDIuNy4wCgkgKi8KCWlzTnVsbE9yVW5kZWY6IGZ1bmN0aW9uKHZhbHVlKSB7CgkJcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7Cgl9LAoKCS8qKgoJICogUmV0dXJucyB0cnVlIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgcmV0dXJucyBmYWxzZS4KCSAqIEBwYXJhbSB7Kn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gdGVzdC4KCSAqIEByZXR1cm5zIHtCb29sZWFufQoJICogQGZ1bmN0aW9uCgkgKi8KCWlzQXJyYXk6IEFycmF5LmlzQXJyYXkgPyBBcnJheS5pc0FycmF5IDogZnVuY3Rpb24odmFsdWUpIHsKCQlyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJzsKCX0sCgoJLyoqCgkgKiBSZXR1cm5zIHRydWUgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QgKGV4Y2x1ZGluZyBudWxsKSwgZWxzZSByZXR1cm5zIGZhbHNlLgoJICogQHBhcmFtIHsqfSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB0ZXN0LgoJICogQHJldHVybnMge0Jvb2xlYW59CgkgKiBAc2luY2UgMi43LjAKCSAqLwoJaXNPYmplY3Q6IGZ1bmN0aW9uKHZhbHVlKSB7CgkJcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT09ICdbb2JqZWN0IE9iamVjdF0nOwoJfSwKCgkvKioKCSAqIFJldHVybnMgYHZhbHVlYCBpZiBkZWZpbmVkLCBlbHNlIHJldHVybnMgYGRlZmF1bHRWYWx1ZWAuCgkgKiBAcGFyYW0geyp9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIHJldHVybiBpZiBkZWZpbmVkLgoJICogQHBhcmFtIHsqfSBkZWZhdWx0VmFsdWUgLSBUaGUgdmFsdWUgdG8gcmV0dXJuIGlmIGB2YWx1ZWAgaXMgdW5kZWZpbmVkLgoJICogQHJldHVybnMgeyp9CgkgKi8KCXZhbHVlT3JEZWZhdWx0OiBmdW5jdGlvbih2YWx1ZSwgZGVmYXVsdFZhbHVlKSB7CgkJcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgPyBkZWZhdWx0VmFsdWUgOiB2YWx1ZTsKCX0sCgoJLyoqCgkgKiBSZXR1cm5zIHZhbHVlIGF0IHRoZSBnaXZlbiBgaW5kZXhgIGluIGFycmF5IGlmIGRlZmluZWQsIGVsc2UgcmV0dXJucyBgZGVmYXVsdFZhbHVlYC4KCSAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlIC0gVGhlIGFycmF5IHRvIGxvb2t1cCBmb3IgdmFsdWUgYXQgYGluZGV4YC4KCSAqIEBwYXJhbSB7TnVtYmVyfSBpbmRleCAtIFRoZSBpbmRleCBpbiBgdmFsdWVgIHRvIGxvb2t1cCBmb3IgdmFsdWUuCgkgKiBAcGFyYW0geyp9IGRlZmF1bHRWYWx1ZSAtIFRoZSB2YWx1ZSB0byByZXR1cm4gaWYgYHZhbHVlW2luZGV4XWAgaXMgdW5kZWZpbmVkLgoJICogQHJldHVybnMgeyp9CgkgKi8KCXZhbHVlQXRJbmRleE9yRGVmYXVsdDogZnVuY3Rpb24odmFsdWUsIGluZGV4LCBkZWZhdWx0VmFsdWUpIHsKCQlyZXR1cm4gaGVscGVycy52YWx1ZU9yRGVmYXVsdChoZWxwZXJzLmlzQXJyYXkodmFsdWUpID8gdmFsdWVbaW5kZXhdIDogdmFsdWUsIGRlZmF1bHRWYWx1ZSk7Cgl9LAoKCS8qKgoJICogQ2FsbHMgYGZuYCB3aXRoIHRoZSBnaXZlbiBgYXJnc2AgaW4gdGhlIHNjb3BlIGRlZmluZWQgYnkgYHRoaXNBcmdgIGFuZCByZXR1cm5zIHRoZQoJICogdmFsdWUgcmV0dXJuZWQgYnkgYGZuYC4gSWYgYGZuYCBpcyBub3QgYSBmdW5jdGlvbiwgdGhpcyBtZXRob2QgcmV0dXJucyB1bmRlZmluZWQuCgkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjYWxsLgoJICogQHBhcmFtIHtBcnJheXx1bmRlZmluZWR8bnVsbH0gYXJncyAtIFRoZSBhcmd1bWVudHMgd2l0aCB3aGljaCBgZm5gIHNob3VsZCBiZSBjYWxsZWQuCgkgKiBAcGFyYW0ge09iamVjdH0gW3RoaXNBcmddIC0gVGhlIHZhbHVlIG9mIGB0aGlzYCBwcm92aWRlZCBmb3IgdGhlIGNhbGwgdG8gYGZuYC4KCSAqIEByZXR1cm5zIHsqfQoJICovCgljYWxsYmFjazogZnVuY3Rpb24oZm4sIGFyZ3MsIHRoaXNBcmcpIHsKCQlpZiAoZm4gJiYgdHlwZW9mIGZuLmNhbGwgPT09ICdmdW5jdGlvbicpIHsKCQkJcmV0dXJuIGZuLmFwcGx5KHRoaXNBcmcsIGFyZ3MpOwoJCX0KCX0sCgoJLyoqCgkgKiBOb3RlKFNCKSBmb3IgcGVyZm9ybWFuY2Ugc2FrZSwgdGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGxvb3BhYmxlIHR5cGUKCSAqIGlzIHVua25vd24gb3IgaW4gbm9uZSBpbnRlbnNpdmUgY29kZSAobm90IGNhbGxlZCBvZnRlbiBhbmQgc21hbGwgbG9vcGFibGUpLiBFbHNlCgkgKiBpdCdzIHByZWZlcmFibGUgdG8gdXNlIGEgcmVndWxhciBmb3IoKSBsb29wIGFuZCBzYXZlIGV4dHJhIGZ1bmN0aW9uIGNhbGxzLgoJICogQHBhcmFtIHtPYmplY3R8QXJyYXl9IGxvb3BhYmxlIC0gVGhlIG9iamVjdCBvciBhcnJheSB0byBiZSBpdGVyYXRlZC4KCSAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgZm9yIGVhY2ggaXRlbS4KCSAqIEBwYXJhbSB7T2JqZWN0fSBbdGhpc0FyZ10gLSBUaGUgdmFsdWUgb2YgYHRoaXNgIHByb3ZpZGVkIGZvciB0aGUgY2FsbCB0byBgZm5gLgoJICogQHBhcmFtIHtCb29sZWFufSBbcmV2ZXJzZV0gLSBJZiB0cnVlLCBpdGVyYXRlcyBiYWNrd2FyZCBvbiB0aGUgbG9vcGFibGUuCgkgKi8KCWVhY2g6IGZ1bmN0aW9uKGxvb3BhYmxlLCBmbiwgdGhpc0FyZywgcmV2ZXJzZSkgewoJCXZhciBpLCBsZW4sIGtleXM7CgkJaWYgKGhlbHBlcnMuaXNBcnJheShsb29wYWJsZSkpIHsKCQkJbGVuID0gbG9vcGFibGUubGVuZ3RoOwoJCQlpZiAocmV2ZXJzZSkgewoJCQkJZm9yIChpID0gbGVuIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJCQlmbi5jYWxsKHRoaXNBcmcsIGxvb3BhYmxlW2ldLCBpKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewoJCQkJCWZuLmNhbGwodGhpc0FyZywgbG9vcGFibGVbaV0sIGkpOwoJCQkJfQoJCQl9CgkJfSBlbHNlIGlmIChoZWxwZXJzLmlzT2JqZWN0KGxvb3BhYmxlKSkgewoJCQlrZXlzID0gT2JqZWN0LmtleXMobG9vcGFibGUpOwoJCQlsZW4gPSBrZXlzLmxlbmd0aDsKCQkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CgkJCQlmbi5jYWxsKHRoaXNBcmcsIGxvb3BhYmxlW2tleXNbaV1dLCBrZXlzW2ldKTsKCQkJfQoJCX0KCX0sCgoJLyoqCgkgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGBhMGAgYW5kIGBhMWAgYXJyYXlzIGhhdmUgdGhlIHNhbWUgY29udGVudCwgZWxzZSByZXR1cm5zIGZhbHNlLgoJICogQHNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNDg1Mzk3NAoJICogQHBhcmFtIHtBcnJheX0gYTAgLSBUaGUgYXJyYXkgdG8gY29tcGFyZQoJICogQHBhcmFtIHtBcnJheX0gYTEgLSBUaGUgYXJyYXkgdG8gY29tcGFyZQoJICogQHJldHVybnMge0Jvb2xlYW59CgkgKi8KCWFycmF5RXF1YWxzOiBmdW5jdGlvbihhMCwgYTEpIHsKCQl2YXIgaSwgaWxlbiwgdjAsIHYxOwoKCQlpZiAoIWEwIHx8ICFhMSB8fCBhMC5sZW5ndGggIT09IGExLmxlbmd0aCkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3IgKGkgPSAwLCBpbGVuID0gYTAubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCXYwID0gYTBbaV07CgkJCXYxID0gYTFbaV07CgoJCQlpZiAodjAgaW5zdGFuY2VvZiBBcnJheSAmJiB2MSBpbnN0YW5jZW9mIEFycmF5KSB7CgkJCQlpZiAoIWhlbHBlcnMuYXJyYXlFcXVhbHModjAsIHYxKSkgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSBlbHNlIGlmICh2MCAhPT0gdjEpIHsKCQkJCS8vIE5PVEU6IHR3byBkaWZmZXJlbnQgb2JqZWN0IGluc3RhbmNlcyB3aWxsIG5ldmVyIGJlIGVxdWFsOiB7eDoyMH0gIT0ge3g6MjB9CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9CgoJCXJldHVybiB0cnVlOwoJfSwKCgkvKioKCSAqIFJldHVybnMgYSBkZWVwIGNvcHkgb2YgYHNvdXJjZWAgd2l0aG91dCBrZWVwaW5nIHJlZmVyZW5jZXMgb24gb2JqZWN0cyBhbmQgYXJyYXlzLgoJICogQHBhcmFtIHsqfSBzb3VyY2UgLSBUaGUgdmFsdWUgdG8gY2xvbmUuCgkgKiBAcmV0dXJucyB7Kn0KCSAqLwoJY2xvbmU6IGZ1bmN0aW9uKHNvdXJjZSkgewoJCWlmIChoZWxwZXJzLmlzQXJyYXkoc291cmNlKSkgewoJCQlyZXR1cm4gc291cmNlLm1hcChoZWxwZXJzLmNsb25lKTsKCQl9CgoJCWlmIChoZWxwZXJzLmlzT2JqZWN0KHNvdXJjZSkpIHsKCQkJdmFyIHRhcmdldCA9IHt9OwoJCQl2YXIga2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7CgkJCXZhciBrbGVuID0ga2V5cy5sZW5ndGg7CgkJCXZhciBrID0gMDsKCgkJCWZvciAoOyBrIDwga2xlbjsgKytrKSB7CgkJCQl0YXJnZXRba2V5c1trXV0gPSBoZWxwZXJzLmNsb25lKHNvdXJjZVtrZXlzW2tdXSk7CgkJCX0KCgkJCXJldHVybiB0YXJnZXQ7CgkJfQoKCQlyZXR1cm4gc291cmNlOwoJfSwKCgkvKioKCSAqIFRoZSBkZWZhdWx0IG1lcmdlciB3aGVuIENoYXJ0LmhlbHBlcnMubWVyZ2UgaXMgY2FsbGVkIHdpdGhvdXQgbWVyZ2VyIG9wdGlvbi4KCSAqIE5vdGUoU0IpOiB0aGlzIG1ldGhvZCBpcyBhbHNvIHVzZWQgYnkgY29uZmlnTWVyZ2UgYW5kIHNjYWxlTWVyZ2UgYXMgZmFsbGJhY2suCgkgKiBAcHJpdmF0ZQoJICovCglfbWVyZ2VyOiBmdW5jdGlvbihrZXksIHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7CgkJdmFyIHR2YWwgPSB0YXJnZXRba2V5XTsKCQl2YXIgc3ZhbCA9IHNvdXJjZVtrZXldOwoKCQlpZiAoaGVscGVycy5pc09iamVjdCh0dmFsKSAmJiBoZWxwZXJzLmlzT2JqZWN0KHN2YWwpKSB7CgkJCWhlbHBlcnMubWVyZ2UodHZhbCwgc3ZhbCwgb3B0aW9ucyk7CgkJfSBlbHNlIHsKCQkJdGFyZ2V0W2tleV0gPSBoZWxwZXJzLmNsb25lKHN2YWwpOwoJCX0KCX0sCgoJLyoqCgkgKiBNZXJnZXMgc291cmNlW2tleV0gaW4gdGFyZ2V0W2tleV0gb25seSBpZiB0YXJnZXRba2V5XSBpcyB1bmRlZmluZWQuCgkgKiBAcHJpdmF0ZQoJICovCglfbWVyZ2VySWY6IGZ1bmN0aW9uKGtleSwgdGFyZ2V0LCBzb3VyY2UpIHsKCQl2YXIgdHZhbCA9IHRhcmdldFtrZXldOwoJCXZhciBzdmFsID0gc291cmNlW2tleV07CgoJCWlmIChoZWxwZXJzLmlzT2JqZWN0KHR2YWwpICYmIGhlbHBlcnMuaXNPYmplY3Qoc3ZhbCkpIHsKCQkJaGVscGVycy5tZXJnZUlmKHR2YWwsIHN2YWwpOwoJCX0gZWxzZSBpZiAoIXRhcmdldC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7CgkJCXRhcmdldFtrZXldID0gaGVscGVycy5jbG9uZShzdmFsKTsKCQl9Cgl9LAoKCS8qKgoJICogUmVjdXJzaXZlbHkgZGVlcCBjb3BpZXMgYHNvdXJjZWAgcHJvcGVydGllcyBpbnRvIGB0YXJnZXRgIHdpdGggdGhlIGdpdmVuIGBvcHRpb25zYC4KCSAqIElNUE9SVEFOVDogYHRhcmdldGAgaXMgbm90IGNsb25lZCBhbmQgd2lsbCBiZSB1cGRhdGVkIHdpdGggYHNvdXJjZWAgcHJvcGVydGllcy4KCSAqIEBwYXJhbSB7T2JqZWN0fSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdCBpbiB3aGljaCBhbGwgc291cmNlcyBhcmUgbWVyZ2VkIGludG8uCgkgKiBAcGFyYW0ge09iamVjdHxBcnJheShPYmplY3QpfSBzb3VyY2UgLSBPYmplY3QocykgdG8gbWVyZ2UgaW50byBgdGFyZ2V0YC4KCSAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9uc10gLSBNZXJnaW5nIG9wdGlvbnM6CgkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb3B0aW9ucy5tZXJnZXJdIC0gVGhlIG1lcmdlIG1ldGhvZCAoa2V5LCB0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykKCSAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBgdGFyZ2V0YCBvYmplY3QuCgkgKi8KCW1lcmdlOiBmdW5jdGlvbih0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykgewoJCXZhciBzb3VyY2VzID0gaGVscGVycy5pc0FycmF5KHNvdXJjZSkgPyBzb3VyY2UgOiBbc291cmNlXTsKCQl2YXIgaWxlbiA9IHNvdXJjZXMubGVuZ3RoOwoJCXZhciBtZXJnZSwgaSwga2V5cywga2xlbiwgazsKCgkJaWYgKCFoZWxwZXJzLmlzT2JqZWN0KHRhcmdldCkpIHsKCQkJcmV0dXJuIHRhcmdldDsKCQl9CgoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoJCW1lcmdlID0gb3B0aW9ucy5tZXJnZXIgfHwgaGVscGVycy5fbWVyZ2VyOwoKCQlmb3IgKGkgPSAwOyBpIDwgaWxlbjsgKytpKSB7CgkJCXNvdXJjZSA9IHNvdXJjZXNbaV07CgkJCWlmICghaGVscGVycy5pc09iamVjdChzb3VyY2UpKSB7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJa2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7CgkJCWZvciAoayA9IDAsIGtsZW4gPSBrZXlzLmxlbmd0aDsgayA8IGtsZW47ICsraykgewoJCQkJbWVyZ2Uoa2V5c1trXSwgdGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpOwoJCQl9CgkJfQoKCQlyZXR1cm4gdGFyZ2V0OwoJfSwKCgkvKioKCSAqIFJlY3Vyc2l2ZWx5IGRlZXAgY29waWVzIGBzb3VyY2VgIHByb3BlcnRpZXMgaW50byBgdGFyZ2V0YCAqb25seSogaWYgbm90IGRlZmluZWQgaW4gdGFyZ2V0LgoJICogSU1QT1JUQU5UOiBgdGFyZ2V0YCBpcyBub3QgY2xvbmVkIGFuZCB3aWxsIGJlIHVwZGF0ZWQgd2l0aCBgc291cmNlYCBwcm9wZXJ0aWVzLgoJICogQHBhcmFtIHtPYmplY3R9IHRhcmdldCAtIFRoZSB0YXJnZXQgb2JqZWN0IGluIHdoaWNoIGFsbCBzb3VyY2VzIGFyZSBtZXJnZWQgaW50by4KCSAqIEBwYXJhbSB7T2JqZWN0fEFycmF5KE9iamVjdCl9IHNvdXJjZSAtIE9iamVjdChzKSB0byBtZXJnZSBpbnRvIGB0YXJnZXRgLgoJICogQHJldHVybnMge09iamVjdH0gVGhlIGB0YXJnZXRgIG9iamVjdC4KCSAqLwoJbWVyZ2VJZjogZnVuY3Rpb24odGFyZ2V0LCBzb3VyY2UpIHsKCQlyZXR1cm4gaGVscGVycy5tZXJnZSh0YXJnZXQsIHNvdXJjZSwge21lcmdlcjogaGVscGVycy5fbWVyZ2VySWZ9KTsKCX0sCgoJLyoqCgkgKiBBcHBsaWVzIHRoZSBjb250ZW50cyBvZiB0d28gb3IgbW9yZSBvYmplY3RzIHRvZ2V0aGVyIGludG8gdGhlIGZpcnN0IG9iamVjdC4KCSAqIEBwYXJhbSB7T2JqZWN0fSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdCBpbiB3aGljaCBhbGwgb2JqZWN0cyBhcmUgbWVyZ2VkIGludG8uCgkgKiBAcGFyYW0ge09iamVjdH0gYXJnMSAtIE9iamVjdCBjb250YWluaW5nIGFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBtZXJnZSBpbiB0YXJnZXQuCgkgKiBAcGFyYW0ge09iamVjdH0gYXJnTiAtIEFkZGl0aW9uYWwgb2JqZWN0cyBjb250YWluaW5nIHByb3BlcnRpZXMgdG8gbWVyZ2UgaW4gdGFyZ2V0LgoJICogQHJldHVybnMge09iamVjdH0gVGhlIGB0YXJnZXRgIG9iamVjdC4KCSAqLwoJZXh0ZW5kOiBmdW5jdGlvbih0YXJnZXQpIHsKCQl2YXIgc2V0Rm4gPSBmdW5jdGlvbih2YWx1ZSwga2V5KSB7CgkJCXRhcmdldFtrZXldID0gdmFsdWU7CgkJfTsKCQlmb3IgKHZhciBpID0gMSwgaWxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJaGVscGVycy5lYWNoKGFyZ3VtZW50c1tpXSwgc2V0Rm4pOwoJCX0KCQlyZXR1cm4gdGFyZ2V0OwoJfSwKCgkvKioKCSAqIEJhc2ljIGphdmFzY3JpcHQgaW5oZXJpdGFuY2UgYmFzZWQgb24gdGhlIG1vZGVsIGNyZWF0ZWQgaW4gQmFja2JvbmUuanMKCSAqLwoJaW5oZXJpdHM6IGZ1bmN0aW9uKGV4dGVuc2lvbnMpIHsKCQl2YXIgbWUgPSB0aGlzOwoJCXZhciBDaGFydEVsZW1lbnQgPSAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLmhhc093blByb3BlcnR5KCdjb25zdHJ1Y3RvcicpKSA/IGV4dGVuc2lvbnMuY29uc3RydWN0b3IgOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIG1lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkJfTsKCgkJdmFyIFN1cnJvZ2F0ZSA9IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmNvbnN0cnVjdG9yID0gQ2hhcnRFbGVtZW50OwoJCX07CgoJCVN1cnJvZ2F0ZS5wcm90b3R5cGUgPSBtZS5wcm90b3R5cGU7CgkJQ2hhcnRFbGVtZW50LnByb3RvdHlwZSA9IG5ldyBTdXJyb2dhdGUoKTsKCQlDaGFydEVsZW1lbnQuZXh0ZW5kID0gaGVscGVycy5pbmhlcml0czsKCgkJaWYgKGV4dGVuc2lvbnMpIHsKCQkJaGVscGVycy5leHRlbmQoQ2hhcnRFbGVtZW50LnByb3RvdHlwZSwgZXh0ZW5zaW9ucyk7CgkJfQoKCQlDaGFydEVsZW1lbnQuX19zdXBlcl9fID0gbWUucHJvdG90eXBlOwoJCXJldHVybiBDaGFydEVsZW1lbnQ7Cgl9Cn07Cgptb2R1bGUuZXhwb3J0cyA9IGhlbHBlcnM7CgovLyBERVBSRUNBVElPTlMKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIENoYXJ0LmhlbHBlcnMuY2FsbGJhY2sgaW5zdGVhZC4KICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMuY2FsbENhbGxiYWNrCiAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMi42LjAKICogQHRvZG8gcmVtb3ZlIGF0IHZlcnNpb24gMwogKiBAcHJpdmF0ZQogKi8KaGVscGVycy5jYWxsQ2FsbGJhY2sgPSBoZWxwZXJzLmNhbGxiYWNrOwoKLyoqCiAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB1c2UgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgaW5zdGVhZC4KICogQXJyYXkucHJvdG90eXBlLmluZGV4T2YgY29tcGF0aWJpbGl0eTogQ2hyb21lLCBPcGVyYSwgU2FmYXJpLCBGRjEuNSssIElFOSsKICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMuaW5kZXhPZgogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNy4wCiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCmhlbHBlcnMuaW5kZXhPZiA9IGZ1bmN0aW9uKGFycmF5LCBpdGVtLCBmcm9tSW5kZXgpIHsKCXJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFycmF5LCBpdGVtLCBmcm9tSW5kZXgpOwp9OwoKLyoqCiAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB1c2UgQ2hhcnQuaGVscGVycy52YWx1ZU9yRGVmYXVsdCBpbnN0ZWFkLgogKiBAZnVuY3Rpb24gQ2hhcnQuaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdAogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNy4wCiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCmhlbHBlcnMuZ2V0VmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoKLyoqCiAqIFByb3ZpZGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB1c2UgQ2hhcnQuaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQgaW5zdGVhZC4KICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMuZ2V0VmFsdWVBdEluZGV4T3JEZWZhdWx0CiAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMi43LjAKICogQHRvZG8gcmVtb3ZlIGF0IHZlcnNpb24gMwogKiBAcHJpdmF0ZQogKi8KaGVscGVycy5nZXRWYWx1ZUF0SW5kZXhPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlQXRJbmRleE9yRGVmYXVsdDsKCn0se31dLDQzOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQyKTsKCi8qKgogKiBFYXNpbmcgZnVuY3Rpb25zIGFkYXB0ZWQgZnJvbSBSb2JlcnQgUGVubmVyJ3MgZWFzaW5nIGVxdWF0aW9ucy4KICogQG5hbWVzcGFjZSBDaGFydC5oZWxwZXJzLmVhc2luZ0VmZmVjdHMKICogQHNlZSBodHRwOi8vd3d3LnJvYmVydHBlbm5lci5jb20vZWFzaW5nLwogKi8KdmFyIGVmZmVjdHMgPSB7CglsaW5lYXI6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gdDsKCX0sCgoJZWFzZUluUXVhZDogZnVuY3Rpb24odCkgewoJCXJldHVybiB0ICogdDsKCX0sCgoJZWFzZU91dFF1YWQ6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gLXQgKiAodCAtIDIpOwoJfSwKCgllYXNlSW5PdXRRdWFkOiBmdW5jdGlvbih0KSB7CgkJaWYgKCh0IC89IDAuNSkgPCAxKSB7CgkJCXJldHVybiAwLjUgKiB0ICogdDsKCQl9CgkJcmV0dXJuIC0wLjUgKiAoKC0tdCkgKiAodCAtIDIpIC0gMSk7Cgl9LAoKCWVhc2VJbkN1YmljOiBmdW5jdGlvbih0KSB7CgkJcmV0dXJuIHQgKiB0ICogdDsKCX0sCgoJZWFzZU91dEN1YmljOiBmdW5jdGlvbih0KSB7CgkJcmV0dXJuICh0ID0gdCAtIDEpICogdCAqIHQgKyAxOwoJfSwKCgllYXNlSW5PdXRDdWJpYzogZnVuY3Rpb24odCkgewoJCWlmICgodCAvPSAwLjUpIDwgMSkgewoJCQlyZXR1cm4gMC41ICogdCAqIHQgKiB0OwoJCX0KCQlyZXR1cm4gMC41ICogKCh0IC09IDIpICogdCAqIHQgKyAyKTsKCX0sCgoJZWFzZUluUXVhcnQ6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gdCAqIHQgKiB0ICogdDsKCX0sCgoJZWFzZU91dFF1YXJ0OiBmdW5jdGlvbih0KSB7CgkJcmV0dXJuIC0oKHQgPSB0IC0gMSkgKiB0ICogdCAqIHQgLSAxKTsKCX0sCgoJZWFzZUluT3V0UXVhcnQ6IGZ1bmN0aW9uKHQpIHsKCQlpZiAoKHQgLz0gMC41KSA8IDEpIHsKCQkJcmV0dXJuIDAuNSAqIHQgKiB0ICogdCAqIHQ7CgkJfQoJCXJldHVybiAtMC41ICogKCh0IC09IDIpICogdCAqIHQgKiB0IC0gMik7Cgl9LAoKCWVhc2VJblF1aW50OiBmdW5jdGlvbih0KSB7CgkJcmV0dXJuIHQgKiB0ICogdCAqIHQgKiB0OwoJfSwKCgllYXNlT3V0UXVpbnQ6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gKHQgPSB0IC0gMSkgKiB0ICogdCAqIHQgKiB0ICsgMTsKCX0sCgoJZWFzZUluT3V0UXVpbnQ6IGZ1bmN0aW9uKHQpIHsKCQlpZiAoKHQgLz0gMC41KSA8IDEpIHsKCQkJcmV0dXJuIDAuNSAqIHQgKiB0ICogdCAqIHQgKiB0OwoJCX0KCQlyZXR1cm4gMC41ICogKCh0IC09IDIpICogdCAqIHQgKiB0ICogdCArIDIpOwoJfSwKCgllYXNlSW5TaW5lOiBmdW5jdGlvbih0KSB7CgkJcmV0dXJuIC1NYXRoLmNvcyh0ICogKE1hdGguUEkgLyAyKSkgKyAxOwoJfSwKCgllYXNlT3V0U2luZTogZnVuY3Rpb24odCkgewoJCXJldHVybiBNYXRoLnNpbih0ICogKE1hdGguUEkgLyAyKSk7Cgl9LAoKCWVhc2VJbk91dFNpbmU6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gLTAuNSAqIChNYXRoLmNvcyhNYXRoLlBJICogdCkgLSAxKTsKCX0sCgoJZWFzZUluRXhwbzogZnVuY3Rpb24odCkgewoJCXJldHVybiAodCA9PT0gMCkgPyAwIDogTWF0aC5wb3coMiwgMTAgKiAodCAtIDEpKTsKCX0sCgoJZWFzZU91dEV4cG86IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gKHQgPT09IDEpID8gMSA6IC1NYXRoLnBvdygyLCAtMTAgKiB0KSArIDE7Cgl9LAoKCWVhc2VJbk91dEV4cG86IGZ1bmN0aW9uKHQpIHsKCQlpZiAodCA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgkJaWYgKHQgPT09IDEpIHsKCQkJcmV0dXJuIDE7CgkJfQoJCWlmICgodCAvPSAwLjUpIDwgMSkgewoJCQlyZXR1cm4gMC41ICogTWF0aC5wb3coMiwgMTAgKiAodCAtIDEpKTsKCQl9CgkJcmV0dXJuIDAuNSAqICgtTWF0aC5wb3coMiwgLTEwICogLS10KSArIDIpOwoJfSwKCgllYXNlSW5DaXJjOiBmdW5jdGlvbih0KSB7CgkJaWYgKHQgPj0gMSkgewoJCQlyZXR1cm4gdDsKCQl9CgkJcmV0dXJuIC0oTWF0aC5zcXJ0KDEgLSB0ICogdCkgLSAxKTsKCX0sCgoJZWFzZU91dENpcmM6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gTWF0aC5zcXJ0KDEgLSAodCA9IHQgLSAxKSAqIHQpOwoJfSwKCgllYXNlSW5PdXRDaXJjOiBmdW5jdGlvbih0KSB7CgkJaWYgKCh0IC89IDAuNSkgPCAxKSB7CgkJCXJldHVybiAtMC41ICogKE1hdGguc3FydCgxIC0gdCAqIHQpIC0gMSk7CgkJfQoJCXJldHVybiAwLjUgKiAoTWF0aC5zcXJ0KDEgLSAodCAtPSAyKSAqIHQpICsgMSk7Cgl9LAoKCWVhc2VJbkVsYXN0aWM6IGZ1bmN0aW9uKHQpIHsKCQl2YXIgcyA9IDEuNzAxNTg7CgkJdmFyIHAgPSAwOwoJCXZhciBhID0gMTsKCQlpZiAodCA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgkJaWYgKHQgPT09IDEpIHsKCQkJcmV0dXJuIDE7CgkJfQoJCWlmICghcCkgewoJCQlwID0gMC4zOwoJCX0KCQlpZiAoYSA8IDEpIHsKCQkJYSA9IDE7CgkJCXMgPSBwIC8gNDsKCQl9IGVsc2UgewoJCQlzID0gcCAvICgyICogTWF0aC5QSSkgKiBNYXRoLmFzaW4oMSAvIGEpOwoJCX0KCQlyZXR1cm4gLShhICogTWF0aC5wb3coMiwgMTAgKiAodCAtPSAxKSkgKiBNYXRoLnNpbigodCAtIHMpICogKDIgKiBNYXRoLlBJKSAvIHApKTsKCX0sCgoJZWFzZU91dEVsYXN0aWM6IGZ1bmN0aW9uKHQpIHsKCQl2YXIgcyA9IDEuNzAxNTg7CgkJdmFyIHAgPSAwOwoJCXZhciBhID0gMTsKCQlpZiAodCA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgkJaWYgKHQgPT09IDEpIHsKCQkJcmV0dXJuIDE7CgkJfQoJCWlmICghcCkgewoJCQlwID0gMC4zOwoJCX0KCQlpZiAoYSA8IDEpIHsKCQkJYSA9IDE7CgkJCXMgPSBwIC8gNDsKCQl9IGVsc2UgewoJCQlzID0gcCAvICgyICogTWF0aC5QSSkgKiBNYXRoLmFzaW4oMSAvIGEpOwoJCX0KCQlyZXR1cm4gYSAqIE1hdGgucG93KDIsIC0xMCAqIHQpICogTWF0aC5zaW4oKHQgLSBzKSAqICgyICogTWF0aC5QSSkgLyBwKSArIDE7Cgl9LAoKCWVhc2VJbk91dEVsYXN0aWM6IGZ1bmN0aW9uKHQpIHsKCQl2YXIgcyA9IDEuNzAxNTg7CgkJdmFyIHAgPSAwOwoJCXZhciBhID0gMTsKCQlpZiAodCA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgkJaWYgKCh0IC89IDAuNSkgPT09IDIpIHsKCQkJcmV0dXJuIDE7CgkJfQoJCWlmICghcCkgewoJCQlwID0gMC40NTsKCQl9CgkJaWYgKGEgPCAxKSB7CgkJCWEgPSAxOwoJCQlzID0gcCAvIDQ7CgkJfSBlbHNlIHsKCQkJcyA9IHAgLyAoMiAqIE1hdGguUEkpICogTWF0aC5hc2luKDEgLyBhKTsKCQl9CgkJaWYgKHQgPCAxKSB7CgkJCXJldHVybiAtMC41ICogKGEgKiBNYXRoLnBvdygyLCAxMCAqICh0IC09IDEpKSAqIE1hdGguc2luKCh0IC0gcykgKiAoMiAqIE1hdGguUEkpIC8gcCkpOwoJCX0KCQlyZXR1cm4gYSAqIE1hdGgucG93KDIsIC0xMCAqICh0IC09IDEpKSAqIE1hdGguc2luKCh0IC0gcykgKiAoMiAqIE1hdGguUEkpIC8gcCkgKiAwLjUgKyAxOwoJfSwKCWVhc2VJbkJhY2s6IGZ1bmN0aW9uKHQpIHsKCQl2YXIgcyA9IDEuNzAxNTg7CgkJcmV0dXJuIHQgKiB0ICogKChzICsgMSkgKiB0IC0gcyk7Cgl9LAoKCWVhc2VPdXRCYWNrOiBmdW5jdGlvbih0KSB7CgkJdmFyIHMgPSAxLjcwMTU4OwoJCXJldHVybiAodCA9IHQgLSAxKSAqIHQgKiAoKHMgKyAxKSAqIHQgKyBzKSArIDE7Cgl9LAoKCWVhc2VJbk91dEJhY2s6IGZ1bmN0aW9uKHQpIHsKCQl2YXIgcyA9IDEuNzAxNTg7CgkJaWYgKCh0IC89IDAuNSkgPCAxKSB7CgkJCXJldHVybiAwLjUgKiAodCAqIHQgKiAoKChzICo9ICgxLjUyNSkpICsgMSkgKiB0IC0gcykpOwoJCX0KCQlyZXR1cm4gMC41ICogKCh0IC09IDIpICogdCAqICgoKHMgKj0gKDEuNTI1KSkgKyAxKSAqIHQgKyBzKSArIDIpOwoJfSwKCgllYXNlSW5Cb3VuY2U6IGZ1bmN0aW9uKHQpIHsKCQlyZXR1cm4gMSAtIGVmZmVjdHMuZWFzZU91dEJvdW5jZSgxIC0gdCk7Cgl9LAoKCWVhc2VPdXRCb3VuY2U6IGZ1bmN0aW9uKHQpIHsKCQlpZiAodCA8ICgxIC8gMi43NSkpIHsKCQkJcmV0dXJuIDcuNTYyNSAqIHQgKiB0OwoJCX0KCQlpZiAodCA8ICgyIC8gMi43NSkpIHsKCQkJcmV0dXJuIDcuNTYyNSAqICh0IC09ICgxLjUgLyAyLjc1KSkgKiB0ICsgMC43NTsKCQl9CgkJaWYgKHQgPCAoMi41IC8gMi43NSkpIHsKCQkJcmV0dXJuIDcuNTYyNSAqICh0IC09ICgyLjI1IC8gMi43NSkpICogdCArIDAuOTM3NTsKCQl9CgkJcmV0dXJuIDcuNTYyNSAqICh0IC09ICgyLjYyNSAvIDIuNzUpKSAqIHQgKyAwLjk4NDM3NTsKCX0sCgoJZWFzZUluT3V0Qm91bmNlOiBmdW5jdGlvbih0KSB7CgkJaWYgKHQgPCAwLjUpIHsKCQkJcmV0dXJuIGVmZmVjdHMuZWFzZUluQm91bmNlKHQgKiAyKSAqIDAuNTsKCQl9CgkJcmV0dXJuIGVmZmVjdHMuZWFzZU91dEJvdW5jZSh0ICogMiAtIDEpICogMC41ICsgMC41OwoJfQp9OwoKbW9kdWxlLmV4cG9ydHMgPSB7CgllZmZlY3RzOiBlZmZlY3RzCn07CgovLyBERVBSRUNBVElPTlMKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIENoYXJ0LmhlbHBlcnMuZWFzaW5nLmVmZmVjdHMgaW5zdGVhZC4KICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMuZWFzaW5nRWZmZWN0cwogKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDIuNy4wCiAqIEB0b2RvIHJlbW92ZSBhdCB2ZXJzaW9uIDMKICogQHByaXZhdGUKICovCmhlbHBlcnMuZWFzaW5nRWZmZWN0cyA9IGVmZmVjdHM7Cgp9LHsiNDIiOjQyfV0sNDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDIpOwoKLyoqCiAqIEBhbGlhcyBDaGFydC5oZWxwZXJzLm9wdGlvbnMKICogQG5hbWVzcGFjZQogKi8KbW9kdWxlLmV4cG9ydHMgPSB7CgkvKioKCSAqIENvbnZlcnRzIHRoZSBnaXZlbiBsaW5lIGhlaWdodCBgdmFsdWVgIGluIHBpeGVscyBmb3IgYSBzcGVjaWZpYyBmb250IGBzaXplYC4KCSAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ30gdmFsdWUgLSBUaGUgbGluZUhlaWdodCB0byBwYXJzZSAoZWcuIDEuNiwgJzE0cHgnLCAnNzUlJywgJzEuNmVtJykuCgkgKiBAcGFyYW0ge051bWJlcn0gc2l6ZSAtIFRoZSBmb250IHNpemUgKGluIHBpeGVscykgdXNlZCB0byByZXNvbHZlIHJlbGF0aXZlIGB2YWx1ZWAuCgkgKiBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZWZmZWN0aXZlIGxpbmUgaGVpZ2h0IGluIHBpeGVscyAoc2l6ZSAqIDEuMiBpZiB2YWx1ZSBpcyBpbnZhbGlkKS4KCSAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xpbmUtaGVpZ2h0CgkgKiBAc2luY2UgMi43LjAKCSAqLwoJdG9MaW5lSGVpZ2h0OiBmdW5jdGlvbih2YWx1ZSwgc2l6ZSkgewoJCXZhciBtYXRjaGVzID0gKCcnICsgdmFsdWUpLm1hdGNoKC9eKG5vcm1hbHwoXGQrKD86XC5cZCspPykocHh8ZW18JSk/KSQvKTsKCQlpZiAoIW1hdGNoZXMgfHwgbWF0Y2hlc1sxXSA9PT0gJ25vcm1hbCcpIHsKCQkJcmV0dXJuIHNpemUgKiAxLjI7CgkJfQoKCQl2YWx1ZSA9ICttYXRjaGVzWzJdOwoKCQlzd2l0Y2ggKG1hdGNoZXNbM10pIHsKCQljYXNlICdweCc6CgkJCXJldHVybiB2YWx1ZTsKCQljYXNlICclJzoKCQkJdmFsdWUgLz0gMTAwOwoJCQlicmVhazsKCQlkZWZhdWx0OgoJCQlicmVhazsKCQl9CgoJCXJldHVybiBzaXplICogdmFsdWU7Cgl9LAoKCS8qKgoJICogQ29udmVydHMgdGhlIGdpdmVuIHZhbHVlIGludG8gYSBwYWRkaW5nIG9iamVjdCB3aXRoIHByZS1jb21wdXRlZCB3aWR0aC9oZWlnaHQuCgkgKiBAcGFyYW0ge051bWJlcnxPYmplY3R9IHZhbHVlIC0gSWYgYSBudW1iZXIsIHNldCB0aGUgdmFsdWUgdG8gYWxsIFRSQkwgY29tcG9uZW50LAoJICogIGVsc2UsIGlmIGFuZCBvYmplY3QsIHVzZSBkZWZpbmVkIHByb3BlcnRpZXMgYW5kIHNldHMgdW5kZWZpbmVkIG9uZXMgdG8gMC4KCSAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBwYWRkaW5nIHZhbHVlcyAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0KQoJICogQHNpbmNlIDIuNy4wCgkgKi8KCXRvUGFkZGluZzogZnVuY3Rpb24odmFsdWUpIHsKCQl2YXIgdCwgciwgYiwgbDsKCgkJaWYgKGhlbHBlcnMuaXNPYmplY3QodmFsdWUpKSB7CgkJCXQgPSArdmFsdWUudG9wIHx8IDA7CgkJCXIgPSArdmFsdWUucmlnaHQgfHwgMDsKCQkJYiA9ICt2YWx1ZS5ib3R0b20gfHwgMDsKCQkJbCA9ICt2YWx1ZS5sZWZ0IHx8IDA7CgkJfSBlbHNlIHsKCQkJdCA9IHIgPSBiID0gbCA9ICt2YWx1ZSB8fCAwOwoJCX0KCgkJcmV0dXJuIHsKCQkJdG9wOiB0LAoJCQlyaWdodDogciwKCQkJYm90dG9tOiBiLAoJCQlsZWZ0OiBsLAoJCQloZWlnaHQ6IHQgKyBiLAoJCQl3aWR0aDogbCArIHIKCQl9OwoJfSwKCgkvKioKCSAqIEV2YWx1YXRlcyB0aGUgZ2l2ZW4gYGlucHV0c2Agc2VxdWVudGlhbGx5IGFuZCByZXR1cm5zIHRoZSBmaXJzdCBkZWZpbmVkIHZhbHVlLgoJICogQHBhcmFtIHtBcnJheVtdfSBpbnB1dHMgLSBBbiBhcnJheSBvZiB2YWx1ZXMsIGZhbGxpbmcgYmFjayB0byB0aGUgbGFzdCB2YWx1ZS4KCSAqIEBwYXJhbSB7T2JqZWN0fSBbY29udGV4dF0gLSBJZiBkZWZpbmVkIGFuZCB0aGUgY3VycmVudCB2YWx1ZSBpcyBhIGZ1bmN0aW9uLCB0aGUgdmFsdWUKCSAqIGlzIGNhbGxlZCB3aXRoIGBjb250ZXh0YCBhcyBmaXJzdCBhcmd1bWVudCBhbmQgdGhlIHJlc3VsdCBiZWNvbWVzIHRoZSBuZXcgaW5wdXQuCgkgKiBAcGFyYW0ge051bWJlcn0gW2luZGV4XSAtIElmIGRlZmluZWQgYW5kIHRoZSBjdXJyZW50IHZhbHVlIGlzIGFuIGFycmF5LCB0aGUgdmFsdWUKCSAqIGF0IGBpbmRleGAgYmVjb21lIHRoZSBuZXcgaW5wdXQuCgkgKiBAc2luY2UgMi43LjAKCSAqLwoJcmVzb2x2ZTogZnVuY3Rpb24oaW5wdXRzLCBjb250ZXh0LCBpbmRleCkgewoJCXZhciBpLCBpbGVuLCB2YWx1ZTsKCgkJZm9yIChpID0gMCwgaWxlbiA9IGlucHV0cy5sZW5ndGg7IGkgPCBpbGVuOyArK2kpIHsKCQkJdmFsdWUgPSBpbnB1dHNbaV07CgkJCWlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7CgkJCQljb250aW51ZTsKCQkJfQoJCQlpZiAoY29udGV4dCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgewoJCQkJdmFsdWUgPSB2YWx1ZShjb250ZXh0KTsKCQkJfQoJCQlpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBoZWxwZXJzLmlzQXJyYXkodmFsdWUpKSB7CgkJCQl2YWx1ZSA9IHZhbHVlW2luZGV4XTsKCQkJfQoJCQlpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgewoJCQkJcmV0dXJuIHZhbHVlOwoJCQl9CgkJfQoJfQp9OwoKfSx7IjQyIjo0Mn1dLDQ1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKDQyKTsKbW9kdWxlLmV4cG9ydHMuZWFzaW5nID0gcmVxdWlyZSg0Myk7Cm1vZHVsZS5leHBvcnRzLmNhbnZhcyA9IHJlcXVpcmUoNDEpOwptb2R1bGUuZXhwb3J0cy5vcHRpb25zID0gcmVxdWlyZSg0NCk7Cgp9LHsiNDEiOjQxLCI0MiI6NDIsIjQzIjo0MywiNDQiOjQ0fV0sNDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKioKICogUGxhdGZvcm0gZmFsbGJhY2sgaW1wbGVtZW50YXRpb24gKG1pbmltYWwpLgogKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL3B1bGwvNDU5MSNpc3N1ZWNvbW1lbnQtMzE5NTc1OTM5CiAqLwoKbW9kdWxlLmV4cG9ydHMgPSB7CglhY3F1aXJlQ29udGV4dDogZnVuY3Rpb24oaXRlbSkgewoJCWlmIChpdGVtICYmIGl0ZW0uY2FudmFzKSB7CgkJCS8vIFN1cHBvcnQgZm9yIGFueSBvYmplY3QgYXNzb2NpYXRlZCB0byBhIGNhbnZhcyAoaW5jbHVkaW5nIGEgY29udGV4dDJkKQoJCQlpdGVtID0gaXRlbS5jYW52YXM7CgkJfQoKCQlyZXR1cm4gaXRlbSAmJiBpdGVtLmdldENvbnRleHQoJzJkJykgfHwgbnVsbDsKCX0KfTsKCn0se31dLDQ3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKLyoqCiAqIENoYXJ0LlBsYXRmb3JtIGltcGxlbWVudGF0aW9uIGZvciB0YXJnZXRpbmcgYSB3ZWIgYnJvd3NlcgogKi8KCid1c2Ugc3RyaWN0JzsKCnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7Cgp2YXIgRVhQQU5ET19LRVkgPSAnJGNoYXJ0anMnOwp2YXIgQ1NTX1BSRUZJWCA9ICdjaGFydGpzLSc7CnZhciBDU1NfUkVOREVSX01PTklUT1IgPSBDU1NfUFJFRklYICsgJ3JlbmRlci1tb25pdG9yJzsKdmFyIENTU19SRU5ERVJfQU5JTUFUSU9OID0gQ1NTX1BSRUZJWCArICdyZW5kZXItYW5pbWF0aW9uJzsKdmFyIEFOSU1BVElPTl9TVEFSVF9FVkVOVFMgPSBbJ2FuaW1hdGlvbnN0YXJ0JywgJ3dlYmtpdEFuaW1hdGlvblN0YXJ0J107CgovKioKICogRE9NIGV2ZW50IHR5cGVzIC0+IENoYXJ0LmpzIGV2ZW50IHR5cGVzLgogKiBOb3RlOiBvbmx5IGV2ZW50cyB3aXRoIGRpZmZlcmVudCB0eXBlcyBhcmUgbWFwcGVkLgogKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cwogKi8KdmFyIEVWRU5UX1RZUEVTID0gewoJdG91Y2hzdGFydDogJ21vdXNlZG93bicsCgl0b3VjaG1vdmU6ICdtb3VzZW1vdmUnLAoJdG91Y2hlbmQ6ICdtb3VzZXVwJywKCXBvaW50ZXJlbnRlcjogJ21vdXNlZW50ZXInLAoJcG9pbnRlcmRvd246ICdtb3VzZWRvd24nLAoJcG9pbnRlcm1vdmU6ICdtb3VzZW1vdmUnLAoJcG9pbnRlcnVwOiAnbW91c2V1cCcsCglwb2ludGVybGVhdmU6ICdtb3VzZW91dCcsCglwb2ludGVyb3V0OiAnbW91c2VvdXQnCn07CgovKioKICogVGhlICJ1c2VkIiBzaXplIGlzIHRoZSBmaW5hbCB2YWx1ZSBvZiBhIGRpbWVuc2lvbiBwcm9wZXJ0eSBhZnRlciBhbGwgY2FsY3VsYXRpb25zIGhhdmUKICogYmVlbiBwZXJmb3JtZWQuIFRoaXMgbWV0aG9kIHVzZXMgdGhlIGNvbXB1dGVkIHN0eWxlIG9mIGBlbGVtZW50YCBidXQgcmV0dXJucyB1bmRlZmluZWQKICogaWYgdGhlIGNvbXB1dGVkIHN0eWxlIGlzIG5vdCBleHByZXNzZWQgaW4gcGl4ZWxzLiBUaGF0IGNhbiBoYXBwZW4gaW4gc29tZSBjYXNlcyB3aGVyZQogKiBgZWxlbWVudGAgaGFzIGEgc2l6ZSByZWxhdGl2ZSB0byBpdHMgcGFyZW50IGFuZCB0aGlzIGxhc3Qgb25lIGlzIG5vdCB5ZXQgZGlzcGxheWVkLAogKiBmb3IgZXhhbXBsZSBiZWNhdXNlIG9mIGBkaXNwbGF5OiBub25lYCBvbiBhIHBhcmVudCBub2RlLgogKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy91c2VkX3ZhbHVlCiAqIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgaW4gcGl4ZWxzIG9yIHVuZGVmaW5lZCBpZiB1bmtub3duLgogKi8KZnVuY3Rpb24gcmVhZFVzZWRTaXplKGVsZW1lbnQsIHByb3BlcnR5KSB7Cgl2YXIgdmFsdWUgPSBoZWxwZXJzLmdldFN0eWxlKGVsZW1lbnQsIHByb3BlcnR5KTsKCXZhciBtYXRjaGVzID0gdmFsdWUgJiYgdmFsdWUubWF0Y2goL14oXGQrKShcLlxkKyk/cHgkLyk7CglyZXR1cm4gbWF0Y2hlcyA/IE51bWJlcihtYXRjaGVzWzFdKSA6IHVuZGVmaW5lZDsKfQoKLyoqCiAqIEluaXRpYWxpemVzIHRoZSBjYW52YXMgc3R5bGUgYW5kIHJlbmRlciBzaXplIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBjYW52YXMgZGlzcGxheSBzaXplLAogKiBzaW5jZSByZXNwb25zaXZlbmVzcyBpcyBoYW5kbGVkIGJ5IHRoZSBjb250cm9sbGVyLnJlc2l6ZSgpIG1ldGhvZC4gVGhlIGNvbmZpZyBpcyB1c2VkCiAqIHRvIGRldGVybWluZSB0aGUgYXNwZWN0IHJhdGlvIHRvIGFwcGx5IGluIGNhc2Ugbm8gZXhwbGljaXQgaGVpZ2h0IGhhcyBiZWVuIHNwZWNpZmllZC4KICovCmZ1bmN0aW9uIGluaXRDYW52YXMoY2FudmFzLCBjb25maWcpIHsKCXZhciBzdHlsZSA9IGNhbnZhcy5zdHlsZTsKCgkvLyBOT1RFKFNCKSBjYW52YXMuZ2V0QXR0cmlidXRlKCd3aWR0aCcpICE9PSBjYW52YXMud2lkdGg6IGluIHRoZSBmaXJzdCBjYXNlIGl0CgkvLyByZXR1cm5zIG51bGwgb3IgJycgaWYgbm8gZXhwbGljaXQgdmFsdWUgaGFzIGJlZW4gc2V0IHRvIHRoZSBjYW52YXMgYXR0cmlidXRlLgoJdmFyIHJlbmRlckhlaWdodCA9IGNhbnZhcy5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpOwoJdmFyIHJlbmRlcldpZHRoID0gY2FudmFzLmdldEF0dHJpYnV0ZSgnd2lkdGgnKTsKCgkvLyBDaGFydC5qcyBtb2RpZmllcyBzb21lIGNhbnZhcyB2YWx1ZXMgdGhhdCB3ZSB3YW50IHRvIHJlc3RvcmUgb24gZGVzdHJveQoJY2FudmFzW0VYUEFORE9fS0VZXSA9IHsKCQlpbml0aWFsOiB7CgkJCWhlaWdodDogcmVuZGVySGVpZ2h0LAoJCQl3aWR0aDogcmVuZGVyV2lkdGgsCgkJCXN0eWxlOiB7CgkJCQlkaXNwbGF5OiBzdHlsZS5kaXNwbGF5LAoJCQkJaGVpZ2h0OiBzdHlsZS5oZWlnaHQsCgkJCQl3aWR0aDogc3R5bGUud2lkdGgKCQkJfQoJCX0KCX07CgoJLy8gRm9yY2UgY2FudmFzIHRvIGRpc3BsYXkgYXMgYmxvY2sgdG8gYXZvaWQgZXh0cmEgc3BhY2UgY2F1c2VkIGJ5IGlubGluZQoJLy8gZWxlbWVudHMsIHdoaWNoIHdvdWxkIGludGVyZmVyZSB3aXRoIHRoZSByZXNwb25zaXZlIHJlc2l6ZSBwcm9jZXNzLgoJLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzI1MzgKCXN0eWxlLmRpc3BsYXkgPSBzdHlsZS5kaXNwbGF5IHx8ICdibG9jayc7CgoJaWYgKHJlbmRlcldpZHRoID09PSBudWxsIHx8IHJlbmRlcldpZHRoID09PSAnJykgewoJCXZhciBkaXNwbGF5V2lkdGggPSByZWFkVXNlZFNpemUoY2FudmFzLCAnd2lkdGgnKTsKCQlpZiAoZGlzcGxheVdpZHRoICE9PSB1bmRlZmluZWQpIHsKCQkJY2FudmFzLndpZHRoID0gZGlzcGxheVdpZHRoOwoJCX0KCX0KCglpZiAocmVuZGVySGVpZ2h0ID09PSBudWxsIHx8IHJlbmRlckhlaWdodCA9PT0gJycpIHsKCQlpZiAoY2FudmFzLnN0eWxlLmhlaWdodCA9PT0gJycpIHsKCQkJLy8gSWYgbm8gZXhwbGljaXQgcmVuZGVyIGhlaWdodCBhbmQgc3R5bGUgaGVpZ2h0LCBsZXQncyBhcHBseSB0aGUgYXNwZWN0IHJhdGlvLAoJCQkvLyB3aGljaCBvbmUgY2FuIGJlIHNwZWNpZmllZCBieSB0aGUgdXNlciBidXQgYWxzbyBieSBjaGFydHMgYXMgZGVmYXVsdCBvcHRpb24KCQkJLy8gKGkuZS4gb3B0aW9ucy5hc3BlY3RSYXRpbykuIElmIG5vdCBzcGVjaWZpZWQsIHVzZSBjYW52YXMgYXNwZWN0IHJhdGlvIG9mIDIuCgkJCWNhbnZhcy5oZWlnaHQgPSBjYW52YXMud2lkdGggLyAoY29uZmlnLm9wdGlvbnMuYXNwZWN0UmF0aW8gfHwgMik7CgkJfSBlbHNlIHsKCQkJdmFyIGRpc3BsYXlIZWlnaHQgPSByZWFkVXNlZFNpemUoY2FudmFzLCAnaGVpZ2h0Jyk7CgkJCWlmIChkaXNwbGF5V2lkdGggIT09IHVuZGVmaW5lZCkgewoJCQkJY2FudmFzLmhlaWdodCA9IGRpc3BsYXlIZWlnaHQ7CgkJCX0KCQl9Cgl9CgoJcmV0dXJuIGNhbnZhczsKfQoKLyoqCiAqIERldGVjdHMgc3VwcG9ydCBmb3Igb3B0aW9ucyBvYmplY3QgYXJndW1lbnQgaW4gYWRkRXZlbnRMaXN0ZW5lci4KICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L2FkZEV2ZW50TGlzdGVuZXIjU2FmZWx5X2RldGVjdGluZ19vcHRpb25fc3VwcG9ydAogKiBAcHJpdmF0ZQogKi8KdmFyIHN1cHBvcnRzRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSAoZnVuY3Rpb24oKSB7Cgl2YXIgc3VwcG9ydHMgPSBmYWxzZTsKCXRyeSB7CgkJdmFyIG9wdGlvbnMgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICdwYXNzaXZlJywgewoJCQlnZXQ6IGZ1bmN0aW9uKCkgewoJCQkJc3VwcG9ydHMgPSB0cnVlOwoJCQl9CgkJfSk7CgkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2UnLCBudWxsLCBvcHRpb25zKTsKCX0gY2F0Y2ggKGUpIHsKCQkvLyBjb250aW51ZSByZWdhcmRsZXNzIG9mIGVycm9yCgl9CglyZXR1cm4gc3VwcG9ydHM7Cn0oKSk7CgovLyBEZWZhdWx0IHBhc3NpdmUgdG8gdHJ1ZSBhcyBleHBlY3RlZCBieSBDaHJvbWUgZm9yICd0b3VjaHN0YXJ0JyBhbmQgJ3RvdWNoZW5kJyBldmVudHMuCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL2lzc3Vlcy80Mjg3CnZhciBldmVudExpc3RlbmVyT3B0aW9ucyA9IHN1cHBvcnRzRXZlbnRMaXN0ZW5lck9wdGlvbnMgPyB7cGFzc2l2ZTogdHJ1ZX0gOiBmYWxzZTsKCmZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIobm9kZSwgdHlwZSwgbGlzdGVuZXIpIHsKCW5vZGUuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgZXZlbnRMaXN0ZW5lck9wdGlvbnMpOwp9CgpmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKG5vZGUsIHR5cGUsIGxpc3RlbmVyKSB7Cglub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIGV2ZW50TGlzdGVuZXJPcHRpb25zKTsKfQoKZnVuY3Rpb24gY3JlYXRlRXZlbnQodHlwZSwgY2hhcnQsIHgsIHksIG5hdGl2ZUV2ZW50KSB7CglyZXR1cm4gewoJCXR5cGU6IHR5cGUsCgkJY2hhcnQ6IGNoYXJ0LAoJCW5hdGl2ZTogbmF0aXZlRXZlbnQgfHwgbnVsbCwKCQl4OiB4ICE9PSB1bmRlZmluZWQgPyB4IDogbnVsbCwKCQl5OiB5ICE9PSB1bmRlZmluZWQgPyB5IDogbnVsbCwKCX07Cn0KCmZ1bmN0aW9uIGZyb21OYXRpdmVFdmVudChldmVudCwgY2hhcnQpIHsKCXZhciB0eXBlID0gRVZFTlRfVFlQRVNbZXZlbnQudHlwZV0gfHwgZXZlbnQudHlwZTsKCXZhciBwb3MgPSBoZWxwZXJzLmdldFJlbGF0aXZlUG9zaXRpb24oZXZlbnQsIGNoYXJ0KTsKCXJldHVybiBjcmVhdGVFdmVudCh0eXBlLCBjaGFydCwgcG9zLngsIHBvcy55LCBldmVudCk7Cn0KCmZ1bmN0aW9uIHRocm90dGxlZChmbiwgdGhpc0FyZykgewoJdmFyIHRpY2tpbmcgPSBmYWxzZTsKCXZhciBhcmdzID0gW107CgoJcmV0dXJuIGZ1bmN0aW9uKCkgewoJCWFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwoJCXRoaXNBcmcgPSB0aGlzQXJnIHx8IHRoaXM7CgoJCWlmICghdGlja2luZykgewoJCQl0aWNraW5nID0gdHJ1ZTsKCQkJaGVscGVycy5yZXF1ZXN0QW5pbUZyYW1lLmNhbGwod2luZG93LCBmdW5jdGlvbigpIHsKCQkJCXRpY2tpbmcgPSBmYWxzZTsKCQkJCWZuLmFwcGx5KHRoaXNBcmcsIGFyZ3MpOwoJCQl9KTsKCQl9Cgl9Owp9CgovLyBJbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vbWFyY2ovY3NzLWVsZW1lbnQtcXVlcmllcwpmdW5jdGlvbiBjcmVhdGVSZXNpemVyKGhhbmRsZXIpIHsKCXZhciByZXNpemVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cgl2YXIgY2xzID0gQ1NTX1BSRUZJWCArICdzaXplLW1vbml0b3InOwoJdmFyIG1heFNpemUgPSAxMDAwMDAwOwoJdmFyIHN0eWxlID0KCQkncG9zaXRpb246YWJzb2x1dGU7JyArCgkJJ2xlZnQ6MDsnICsKCQkndG9wOjA7JyArCgkJJ3JpZ2h0OjA7JyArCgkJJ2JvdHRvbTowOycgKwoJCSdvdmVyZmxvdzpoaWRkZW47JyArCgkJJ3BvaW50ZXItZXZlbnRzOm5vbmU7JyArCgkJJ3Zpc2liaWxpdHk6aGlkZGVuOycgKwoJCSd6LWluZGV4Oi0xOyc7CgoJcmVzaXplci5zdHlsZS5jc3NUZXh0ID0gc3R5bGU7CglyZXNpemVyLmNsYXNzTmFtZSA9IGNsczsKCXJlc2l6ZXIuaW5uZXJIVE1MID0KCQknPGRpdiBjbGFzcz0iJyArIGNscyArICctZXhwYW5kIiBzdHlsZT0iJyArIHN0eWxlICsgJyI+JyArCgkJCSc8ZGl2IHN0eWxlPSInICsKCQkJCSdwb3NpdGlvbjphYnNvbHV0ZTsnICsKCQkJCSd3aWR0aDonICsgbWF4U2l6ZSArICdweDsnICsKCQkJCSdoZWlnaHQ6JyArIG1heFNpemUgKyAncHg7JyArCgkJCQknbGVmdDowOycgKwoJCQkJJ3RvcDowIj4nICsKCQkJJzwvZGl2PicgKwoJCSc8L2Rpdj4nICsKCQknPGRpdiBjbGFzcz0iJyArIGNscyArICctc2hyaW5rIiBzdHlsZT0iJyArIHN0eWxlICsgJyI+JyArCgkJCSc8ZGl2IHN0eWxlPSInICsKCQkJCSdwb3NpdGlvbjphYnNvbHV0ZTsnICsKCQkJCSd3aWR0aDoyMDAlOycgKwoJCQkJJ2hlaWdodDoyMDAlOycgKwoJCQkJJ2xlZnQ6MDsgJyArCgkJCQkndG9wOjAiPicgKwoJCQknPC9kaXY+JyArCgkJJzwvZGl2Pic7CgoJdmFyIGV4cGFuZCA9IHJlc2l6ZXIuY2hpbGROb2Rlc1swXTsKCXZhciBzaHJpbmsgPSByZXNpemVyLmNoaWxkTm9kZXNbMV07CgoJcmVzaXplci5fcmVzZXQgPSBmdW5jdGlvbigpIHsKCQlleHBhbmQuc2Nyb2xsTGVmdCA9IG1heFNpemU7CgkJZXhwYW5kLnNjcm9sbFRvcCA9IG1heFNpemU7CgkJc2hyaW5rLnNjcm9sbExlZnQgPSBtYXhTaXplOwoJCXNocmluay5zY3JvbGxUb3AgPSBtYXhTaXplOwoJfTsKCXZhciBvblNjcm9sbCA9IGZ1bmN0aW9uKCkgewoJCXJlc2l6ZXIuX3Jlc2V0KCk7CgkJaGFuZGxlcigpOwoJfTsKCglhZGRFdmVudExpc3RlbmVyKGV4cGFuZCwgJ3Njcm9sbCcsIG9uU2Nyb2xsLmJpbmQoZXhwYW5kLCAnZXhwYW5kJykpOwoJYWRkRXZlbnRMaXN0ZW5lcihzaHJpbmssICdzY3JvbGwnLCBvblNjcm9sbC5iaW5kKHNocmluaywgJ3NocmluaycpKTsKCglyZXR1cm4gcmVzaXplcjsKfQoKLy8gaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvZGV0ZWN0LW5vZGUtaW5zZXJ0aW9uCmZ1bmN0aW9uIHdhdGNoRm9yUmVuZGVyKG5vZGUsIGhhbmRsZXIpIHsKCXZhciBleHBhbmRvID0gbm9kZVtFWFBBTkRPX0tFWV0gfHwgKG5vZGVbRVhQQU5ET19LRVldID0ge30pOwoJdmFyIHByb3h5ID0gZXhwYW5kby5yZW5kZXJQcm94eSA9IGZ1bmN0aW9uKGUpIHsKCQlpZiAoZS5hbmltYXRpb25OYW1lID09PSBDU1NfUkVOREVSX0FOSU1BVElPTikgewoJCQloYW5kbGVyKCk7CgkJfQoJfTsKCgloZWxwZXJzLmVhY2goQU5JTUFUSU9OX1NUQVJUX0VWRU5UUywgZnVuY3Rpb24odHlwZSkgewoJCWFkZEV2ZW50TGlzdGVuZXIobm9kZSwgdHlwZSwgcHJveHkpOwoJfSk7CgoJLy8gIzQ3Mzc6IENocm9tZSBtaWdodCBza2lwIHRoZSBDU1MgYW5pbWF0aW9uIHdoZW4gdGhlIENTU19SRU5ERVJfTU9OSVRPUiBjbGFzcwoJLy8gaXMgcmVtb3ZlZCB0aGVuIGFkZGVkIGJhY2sgaW1tZWRpYXRlbHkgKHNhbWUgYW5pbWF0aW9uIGZyYW1lPykuIEFjY2Vzc2luZyB0aGUKCS8vIGBvZmZzZXRQYXJlbnRgIHByb3BlcnR5IHdpbGwgZm9yY2UgYSByZWZsb3cgYW5kIHJlLWV2YWx1YXRlIHRoZSBDU1MgYW5pbWF0aW9uLgoJLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vcGF1bGlyaXNoLzVkNTJmYjA4MWIzNTcwYzgxZTNhI2JveC1tZXRyaWNzCgkvLyBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9pc3N1ZXMvNDczNwoJZXhwYW5kby5yZWZsb3cgPSAhIW5vZGUub2Zmc2V0UGFyZW50OwoKCW5vZGUuY2xhc3NMaXN0LmFkZChDU1NfUkVOREVSX01PTklUT1IpOwp9CgpmdW5jdGlvbiB1bndhdGNoRm9yUmVuZGVyKG5vZGUpIHsKCXZhciBleHBhbmRvID0gbm9kZVtFWFBBTkRPX0tFWV0gfHwge307Cgl2YXIgcHJveHkgPSBleHBhbmRvLnJlbmRlclByb3h5OwoKCWlmIChwcm94eSkgewoJCWhlbHBlcnMuZWFjaChBTklNQVRJT05fU1RBUlRfRVZFTlRTLCBmdW5jdGlvbih0eXBlKSB7CgkJCXJlbW92ZUV2ZW50TGlzdGVuZXIobm9kZSwgdHlwZSwgcHJveHkpOwoJCX0pOwoKCQlkZWxldGUgZXhwYW5kby5yZW5kZXJQcm94eTsKCX0KCglub2RlLmNsYXNzTGlzdC5yZW1vdmUoQ1NTX1JFTkRFUl9NT05JVE9SKTsKfQoKZnVuY3Rpb24gYWRkUmVzaXplTGlzdGVuZXIobm9kZSwgbGlzdGVuZXIsIGNoYXJ0KSB7Cgl2YXIgZXhwYW5kbyA9IG5vZGVbRVhQQU5ET19LRVldIHx8IChub2RlW0VYUEFORE9fS0VZXSA9IHt9KTsKCgkvLyBMZXQncyBrZWVwIHRyYWNrIG9mIHRoaXMgYWRkZWQgcmVzaXplciBhbmQgdGh1cyBhdm9pZCBET00gcXVlcnkgd2hlbiByZW1vdmluZyBpdC4KCXZhciByZXNpemVyID0gZXhwYW5kby5yZXNpemVyID0gY3JlYXRlUmVzaXplcih0aHJvdHRsZWQoZnVuY3Rpb24oKSB7CgkJaWYgKGV4cGFuZG8ucmVzaXplcikgewoJCQlyZXR1cm4gbGlzdGVuZXIoY3JlYXRlRXZlbnQoJ3Jlc2l6ZScsIGNoYXJ0KSk7CgkJfQoJfSkpOwoKCS8vIFRoZSByZXNpemVyIG5lZWRzIHRvIGJlIGF0dGFjaGVkIHRvIHRoZSBub2RlIHBhcmVudCwgc28gd2UgZmlyc3QgbmVlZCB0byBiZQoJLy8gc3VyZSB0aGF0IGBub2RlYCBpcyBhdHRhY2hlZCB0byB0aGUgRE9NIGJlZm9yZSBpbmplY3RpbmcgdGhlIHJlc2l6ZXIgZWxlbWVudC4KCXdhdGNoRm9yUmVuZGVyKG5vZGUsIGZ1bmN0aW9uKCkgewoJCWlmIChleHBhbmRvLnJlc2l6ZXIpIHsKCQkJdmFyIGNvbnRhaW5lciA9IG5vZGUucGFyZW50Tm9kZTsKCQkJaWYgKGNvbnRhaW5lciAmJiBjb250YWluZXIgIT09IHJlc2l6ZXIucGFyZW50Tm9kZSkgewoJCQkJY29udGFpbmVyLmluc2VydEJlZm9yZShyZXNpemVyLCBjb250YWluZXIuZmlyc3RDaGlsZCk7CgkJCX0KCgkJCS8vIFRoZSBjb250YWluZXIgc2l6ZSBtaWdodCBoYXZlIGNoYW5nZWQsIGxldCdzIHJlc2V0IHRoZSByZXNpemVyIHN0YXRlLgoJCQlyZXNpemVyLl9yZXNldCgpOwoJCX0KCX0pOwp9CgpmdW5jdGlvbiByZW1vdmVSZXNpemVMaXN0ZW5lcihub2RlKSB7Cgl2YXIgZXhwYW5kbyA9IG5vZGVbRVhQQU5ET19LRVldIHx8IHt9OwoJdmFyIHJlc2l6ZXIgPSBleHBhbmRvLnJlc2l6ZXI7CgoJZGVsZXRlIGV4cGFuZG8ucmVzaXplcjsKCXVud2F0Y2hGb3JSZW5kZXIobm9kZSk7CgoJaWYgKHJlc2l6ZXIgJiYgcmVzaXplci5wYXJlbnROb2RlKSB7CgkJcmVzaXplci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHJlc2l6ZXIpOwoJfQp9CgpmdW5jdGlvbiBpbmplY3RDU1MocGxhdGZvcm0sIGNzcykgewoJLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3EvMzkyMjEzOQoJdmFyIHN0eWxlID0gcGxhdGZvcm0uX3N0eWxlIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CglpZiAoIXBsYXRmb3JtLl9zdHlsZSkgewoJCXBsYXRmb3JtLl9zdHlsZSA9IHN0eWxlOwoJCWNzcyA9ICcvKiBDaGFydC5qcyAqL1xuJyArIGNzczsKCQlzdHlsZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9jc3MnKTsKCQlkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHN0eWxlKTsKCX0KCglzdHlsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpKTsKfQoKbW9kdWxlLmV4cG9ydHMgPSB7CgkvKioKCSAqIFRoaXMgcHJvcGVydHkgaG9sZHMgd2hldGhlciB0aGlzIHBsYXRmb3JtIGlzIGVuYWJsZWQgZm9yIHRoZSBjdXJyZW50IGVudmlyb25tZW50LgoJICogQ3VycmVudGx5IHVzZWQgYnkgcGxhdGZvcm0uanMgdG8gc2VsZWN0IHRoZSBwcm9wZXIgaW1wbGVtZW50YXRpb24uCgkgKiBAcHJpdmF0ZQoJICovCglfZW5hYmxlZDogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJywKCglpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQl2YXIga2V5ZnJhbWVzID0gJ2Zyb217b3BhY2l0eTowLjk5fXRve29wYWNpdHk6MX0nOwoKCQlpbmplY3RDU1ModGhpcywKCQkJLy8gRE9NIHJlbmRlcmluZyBkZXRlY3Rpb24KCQkJLy8gaHR0cHM6Ly9kYXZpZHdhbHNoLm5hbWUvZGV0ZWN0LW5vZGUtaW5zZXJ0aW9uCgkJCSdALXdlYmtpdC1rZXlmcmFtZXMgJyArIENTU19SRU5ERVJfQU5JTUFUSU9OICsgJ3snICsga2V5ZnJhbWVzICsgJ30nICsKCQkJJ0BrZXlmcmFtZXMgJyArIENTU19SRU5ERVJfQU5JTUFUSU9OICsgJ3snICsga2V5ZnJhbWVzICsgJ30nICsKCQkJJy4nICsgQ1NTX1JFTkRFUl9NT05JVE9SICsgJ3snICsKCQkJCSctd2Via2l0LWFuaW1hdGlvbjonICsgQ1NTX1JFTkRFUl9BTklNQVRJT04gKyAnIDAuMDAxczsnICsKCQkJCSdhbmltYXRpb246JyArIENTU19SRU5ERVJfQU5JTUFUSU9OICsgJyAwLjAwMXM7JyArCgkJCSd9JwoJCSk7Cgl9LAoKCWFjcXVpcmVDb250ZXh0OiBmdW5jdGlvbihpdGVtLCBjb25maWcpIHsKCQlpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7CgkJCWl0ZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKTsKCQl9IGVsc2UgaWYgKGl0ZW0ubGVuZ3RoKSB7CgkJCS8vIFN1cHBvcnQgZm9yIGFycmF5IGJhc2VkIHF1ZXJpZXMgKHN1Y2ggYXMgalF1ZXJ5KQoJCQlpdGVtID0gaXRlbVswXTsKCQl9CgoJCWlmIChpdGVtICYmIGl0ZW0uY2FudmFzKSB7CgkJCS8vIFN1cHBvcnQgZm9yIGFueSBvYmplY3QgYXNzb2NpYXRlZCB0byBhIGNhbnZhcyAoaW5jbHVkaW5nIGEgY29udGV4dDJkKQoJCQlpdGVtID0gaXRlbS5jYW52YXM7CgkJfQoKCQkvLyBUbyBwcmV2ZW50IGNhbnZhcyBmaW5nZXJwcmludGluZywgc29tZSBhZGQtb25zIHVuZGVmaW5lIHRoZSBnZXRDb250ZXh0CgkJLy8gbWV0aG9kLCBmb3IgZXhhbXBsZTogaHR0cHM6Ly9naXRodWIuY29tL2trYXBzbmVyL0NhbnZhc0Jsb2NrZXIKCQkvLyBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9pc3N1ZXMvMjgwNwoJCXZhciBjb250ZXh0ID0gaXRlbSAmJiBpdGVtLmdldENvbnRleHQgJiYgaXRlbS5nZXRDb250ZXh0KCcyZCcpOwoKCQkvLyBgaW5zdGFuY2VvZiBIVE1MQ2FudmFzRWxlbWVudC9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRgIGZhaWxzIHdoZW4gdGhlIGl0ZW0gaXMKCQkvLyBpbnNpZGUgYW4gaWZyYW1lIG9yIHdoZW4gcnVubmluZyBpbiBhIHByb3RlY3RlZCBlbnZpcm9ubWVudC4gV2UgY291bGQgZ3Vlc3MgdGhlCgkJLy8gdHlwZXMgZnJvbSB0aGVpciB0b1N0cmluZygpIHZhbHVlIGJ1dCBsZXQncyBrZWVwIHRoaW5ncyBmbGV4aWJsZSBhbmQgYXNzdW1lIGl0J3MKCQkvLyBhIHN1ZmZpY2llbnQgY29uZGl0aW9uIGlmIHRoZSBpdGVtIGhhcyBhIGNvbnRleHQyRCB3aGljaCBoYXMgaXRlbSBhcyBgY2FudmFzYC4KCQkvLyBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9pc3N1ZXMvMzg4NwoJCS8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFydGpzL0NoYXJ0LmpzL2lzc3Vlcy80MTAyCgkJLy8gaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzQxNTIKCQlpZiAoY29udGV4dCAmJiBjb250ZXh0LmNhbnZhcyA9PT0gaXRlbSkgewoJCQlpbml0Q2FudmFzKGl0ZW0sIGNvbmZpZyk7CgkJCXJldHVybiBjb250ZXh0OwoJCX0KCgkJcmV0dXJuIG51bGw7Cgl9LAoKCXJlbGVhc2VDb250ZXh0OiBmdW5jdGlvbihjb250ZXh0KSB7CgkJdmFyIGNhbnZhcyA9IGNvbnRleHQuY2FudmFzOwoJCWlmICghY2FudmFzW0VYUEFORE9fS0VZXSkgewoJCQlyZXR1cm47CgkJfQoKCQl2YXIgaW5pdGlhbCA9IGNhbnZhc1tFWFBBTkRPX0tFWV0uaW5pdGlhbDsKCQlbJ2hlaWdodCcsICd3aWR0aCddLmZvckVhY2goZnVuY3Rpb24ocHJvcCkgewoJCQl2YXIgdmFsdWUgPSBpbml0aWFsW3Byb3BdOwoJCQlpZiAoaGVscGVycy5pc051bGxPclVuZGVmKHZhbHVlKSkgewoJCQkJY2FudmFzLnJlbW92ZUF0dHJpYnV0ZShwcm9wKTsKCQkJfSBlbHNlIHsKCQkJCWNhbnZhcy5zZXRBdHRyaWJ1dGUocHJvcCwgdmFsdWUpOwoJCQl9CgkJfSk7CgoJCWhlbHBlcnMuZWFjaChpbml0aWFsLnN0eWxlIHx8IHt9LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7CgkJCWNhbnZhcy5zdHlsZVtrZXldID0gdmFsdWU7CgkJfSk7CgoJCS8vIFRoZSBjYW52YXMgcmVuZGVyIHNpemUgbWlnaHQgaGF2ZSBiZWVuIGNoYW5nZWQgKGFuZCB0aHVzIHRoZSBzdGF0ZSBzdGFjayBkaXNjYXJkZWQpLAoJCS8vIHdlIGNhbid0IHVzZSBzYXZlKCkgYW5kIHJlc3RvcmUoKSB0byByZXN0b3JlIHRoZSBpbml0aWFsIHN0YXRlLiBTbyBtYWtlIHN1cmUgdGhhdCBhdAoJCS8vIGxlYXN0IHRoZSBjYW52YXMgY29udGV4dCBpcyByZXNldCB0byB0aGUgZGVmYXVsdCBzdGF0ZSBieSBzZXR0aW5nIHRoZSBjYW52YXMgd2lkdGguCgkJLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtaHRtbDUtMjAxMTA1MjUvdGhlLWNhbnZhcy1lbGVtZW50Lmh0bWwKCQljYW52YXMud2lkdGggPSBjYW52YXMud2lkdGg7CgoJCWRlbGV0ZSBjYW52YXNbRVhQQU5ET19LRVldOwoJfSwKCglhZGRFdmVudExpc3RlbmVyOiBmdW5jdGlvbihjaGFydCwgdHlwZSwgbGlzdGVuZXIpIHsKCQl2YXIgY2FudmFzID0gY2hhcnQuY2FudmFzOwoJCWlmICh0eXBlID09PSAncmVzaXplJykgewoJCQkvLyBOb3RlOiB0aGUgcmVzaXplIGV2ZW50IGlzIG5vdCBzdXBwb3J0ZWQgb24gYWxsIGJyb3dzZXJzLgoJCQlhZGRSZXNpemVMaXN0ZW5lcihjYW52YXMsIGxpc3RlbmVyLCBjaGFydCk7CgkJCXJldHVybjsKCQl9CgoJCXZhciBleHBhbmRvID0gbGlzdGVuZXJbRVhQQU5ET19LRVldIHx8IChsaXN0ZW5lcltFWFBBTkRPX0tFWV0gPSB7fSk7CgkJdmFyIHByb3hpZXMgPSBleHBhbmRvLnByb3hpZXMgfHwgKGV4cGFuZG8ucHJveGllcyA9IHt9KTsKCQl2YXIgcHJveHkgPSBwcm94aWVzW2NoYXJ0LmlkICsgJ18nICsgdHlwZV0gPSBmdW5jdGlvbihldmVudCkgewoJCQlsaXN0ZW5lcihmcm9tTmF0aXZlRXZlbnQoZXZlbnQsIGNoYXJ0KSk7CgkJfTsKCgkJYWRkRXZlbnRMaXN0ZW5lcihjYW52YXMsIHR5cGUsIHByb3h5KTsKCX0sCgoJcmVtb3ZlRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24oY2hhcnQsIHR5cGUsIGxpc3RlbmVyKSB7CgkJdmFyIGNhbnZhcyA9IGNoYXJ0LmNhbnZhczsKCQlpZiAodHlwZSA9PT0gJ3Jlc2l6ZScpIHsKCQkJLy8gTm90ZTogdGhlIHJlc2l6ZSBldmVudCBpcyBub3Qgc3VwcG9ydGVkIG9uIGFsbCBicm93c2Vycy4KCQkJcmVtb3ZlUmVzaXplTGlzdGVuZXIoY2FudmFzLCBsaXN0ZW5lcik7CgkJCXJldHVybjsKCQl9CgoJCXZhciBleHBhbmRvID0gbGlzdGVuZXJbRVhQQU5ET19LRVldIHx8IHt9OwoJCXZhciBwcm94aWVzID0gZXhwYW5kby5wcm94aWVzIHx8IHt9OwoJCXZhciBwcm94eSA9IHByb3hpZXNbY2hhcnQuaWQgKyAnXycgKyB0eXBlXTsKCQlpZiAoIXByb3h5KSB7CgkJCXJldHVybjsKCQl9CgoJCXJlbW92ZUV2ZW50TGlzdGVuZXIoY2FudmFzLCB0eXBlLCBwcm94eSk7Cgl9Cn07CgovLyBERVBSRUNBVElPTlMKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIEV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIgaW5zdGVhZC4KICogRXZlbnRUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lciBjb21wYXRpYmlsaXR5OiBDaHJvbWUsIE9wZXJhIDcsIFNhZmFyaSwgRkYxLjUrLCBJRTkrCiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L2FkZEV2ZW50TGlzdGVuZXIKICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMuYWRkRXZlbnQKICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjcuMAogKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCiAqIEBwcml2YXRlCiAqLwpoZWxwZXJzLmFkZEV2ZW50ID0gYWRkRXZlbnRMaXN0ZW5lcjsKCi8qKgogKiBQcm92aWRlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdXNlIEV2ZW50VGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIgaW5zdGVhZC4KICogRXZlbnRUYXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lciBjb21wYXRpYmlsaXR5OiBDaHJvbWUsIE9wZXJhIDcsIFNhZmFyaSwgRkYxLjUrLCBJRTkrCiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L3JlbW92ZUV2ZW50TGlzdGVuZXIKICogQGZ1bmN0aW9uIENoYXJ0LmhlbHBlcnMucmVtb3ZlRXZlbnQKICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAyLjcuMAogKiBAdG9kbyByZW1vdmUgYXQgdmVyc2lvbiAzCiAqIEBwcml2YXRlCiAqLwpoZWxwZXJzLnJlbW92ZUV2ZW50ID0gcmVtb3ZlRXZlbnRMaXN0ZW5lcjsKCn0seyI0NSI6NDV9XSw0ODpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7CnZhciBiYXNpYyA9IHJlcXVpcmUoNDYpOwp2YXIgZG9tID0gcmVxdWlyZSg0Nyk7CgovLyBAVE9ETyBNYWtlIHBvc3NpYmxlIHRvIHNlbGVjdCBhbm90aGVyIHBsYXRmb3JtIGF0IGJ1aWxkIHRpbWUuCnZhciBpbXBsZW1lbnRhdGlvbiA9IGRvbS5fZW5hYmxlZCA/IGRvbSA6IGJhc2ljOwoKLyoqCiAqIEBuYW1lc3BhY2UgQ2hhcnQucGxhdGZvcm0KICogQHNlZSBodHRwczovL2NoYXJ0anMuZ2l0Ym9va3MuaW8vcHJvcG9zYWxzL2NvbnRlbnQvUGxhdGZvcm0uaHRtbAogKiBAc2luY2UgMi40LjAKICovCm1vZHVsZS5leHBvcnRzID0gaGVscGVycy5leHRlbmQoewoJLyoqCgkgKiBAc2luY2UgMi43LjAKCSAqLwoJaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7fSwKCgkvKioKCSAqIENhbGxlZCBhdCBjaGFydCBjb25zdHJ1Y3Rpb24gdGltZSwgcmV0dXJucyBhIGNvbnRleHQyZCBpbnN0YW5jZSBpbXBsZW1lbnRpbmcKCSAqIHRoZSBbVzNDIENhbnZhcyAyRCBDb250ZXh0IEFQSSBzdGFuZGFyZF17QGxpbmsgaHR0cHM6Ly93d3cudzMub3JnL1RSLzJkY29udGV4dC99LgoJICogQHBhcmFtIHsqfSBpdGVtIC0gVGhlIG5hdGl2ZSBpdGVtIGZyb20gd2hpY2ggdG8gYWNxdWlyZSBjb250ZXh0IChwbGF0Zm9ybSBzcGVjaWZpYykKCSAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIGNoYXJ0IG9wdGlvbnMKCSAqIEByZXR1cm5zIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQyZCBpbnN0YW5jZQoJICovCglhY3F1aXJlQ29udGV4dDogZnVuY3Rpb24oKSB7fSwKCgkvKioKCSAqIENhbGxlZCBhdCBjaGFydCBkZXN0cnVjdGlvbiB0aW1lLCByZWxlYXNlcyBhbnkgcmVzb3VyY2VzIGFzc29jaWF0ZWQgdG8gdGhlIGNvbnRleHQKCSAqIHByZXZpb3VzbHkgcmV0dXJuZWQgYnkgdGhlIGFjcXVpcmVDb250ZXh0KCkgbWV0aG9kLgoJICogQHBhcmFtIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQgLSBUaGUgY29udGV4dDJkIGluc3RhbmNlCgkgKiBAcmV0dXJucyB7Qm9vbGVhbn0gdHJ1ZSBpZiB0aGUgbWV0aG9kIHN1Y2NlZWRlZCwgZWxzZSBmYWxzZQoJICovCglyZWxlYXNlQ29udGV4dDogZnVuY3Rpb24oKSB7fSwKCgkvKioKCSAqIFJlZ2lzdGVycyB0aGUgc3BlY2lmaWVkIGxpc3RlbmVyIG9uIHRoZSBnaXZlbiBjaGFydC4KCSAqIEBwYXJhbSB7Q2hhcnR9IGNoYXJ0IC0gQ2hhcnQgZnJvbSB3aGljaCB0byBsaXN0ZW4gZm9yIGV2ZW50CgkgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSAtIFRoZSAoe0BsaW5rIElFdmVudH0pIHR5cGUgdG8gbGlzdGVuIGZvcgoJICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgLSBSZWNlaXZlcyBhIG5vdGlmaWNhdGlvbiAoYW4gb2JqZWN0IHRoYXQgaW1wbGVtZW50cwoJICogdGhlIHtAbGluayBJRXZlbnR9IGludGVyZmFjZSkgd2hlbiBhbiBldmVudCBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgb2NjdXJzLgoJICovCglhZGRFdmVudExpc3RlbmVyOiBmdW5jdGlvbigpIHt9LAoKCS8qKgoJICogUmVtb3ZlcyB0aGUgc3BlY2lmaWVkIGxpc3RlbmVyIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIuCgkgKiBAcGFyYW0ge0NoYXJ0fSBjaGFydCAtQ2hhcnQgZnJvbSB3aGljaCB0byByZW1vdmUgdGhlIGxpc3RlbmVyCgkgKiBAcGFyYW0ge1N0cmluZ30gdHlwZSAtIFRoZSAoe0BsaW5rIElFdmVudH0pIHR5cGUgdG8gcmVtb3ZlCgkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBsaXN0ZW5lciAtIFRoZSBsaXN0ZW5lciBmdW5jdGlvbiB0byByZW1vdmUgZnJvbSB0aGUgZXZlbnQgdGFyZ2V0LgoJICovCglyZW1vdmVFdmVudExpc3RlbmVyOiBmdW5jdGlvbigpIHt9Cgp9LCBpbXBsZW1lbnRhdGlvbik7CgovKioKICogQGludGVyZmFjZSBJUGxhdGZvcm0KICogQWxsb3dzIGFic3RyYWN0aW5nIHBsYXRmb3JtIGRlcGVuZGVuY2llcyBhd2F5IGZyb20gdGhlIGNoYXJ0CiAqIEBib3Jyb3dzIENoYXJ0LnBsYXRmb3JtLmFjcXVpcmVDb250ZXh0IGFzIGFjcXVpcmVDb250ZXh0CiAqIEBib3Jyb3dzIENoYXJ0LnBsYXRmb3JtLnJlbGVhc2VDb250ZXh0IGFzIHJlbGVhc2VDb250ZXh0CiAqIEBib3Jyb3dzIENoYXJ0LnBsYXRmb3JtLmFkZEV2ZW50TGlzdGVuZXIgYXMgYWRkRXZlbnRMaXN0ZW5lcgogKiBAYm9ycm93cyBDaGFydC5wbGF0Zm9ybS5yZW1vdmVFdmVudExpc3RlbmVyIGFzIHJlbW92ZUV2ZW50TGlzdGVuZXIKICovCgovKioKICogQGludGVyZmFjZSBJRXZlbnQKICogQHByb3Age1N0cmluZ30gdHlwZSAtIFRoZSBldmVudCB0eXBlIG5hbWUsIHBvc3NpYmxlIHZhbHVlcyBhcmU6CiAqICdjb250ZXh0bWVudScsICdtb3VzZWVudGVyJywgJ21vdXNlZG93bicsICdtb3VzZW1vdmUnLCAnbW91c2V1cCcsICdtb3VzZW91dCcsCiAqICdjbGljaycsICdkYmxjbGljaycsICdrZXlkb3duJywgJ2tleXByZXNzJywgJ2tleXVwJyBhbmQgJ3Jlc2l6ZScKICogQHByb3Ageyp9IG5hdGl2ZSAtIFRoZSBvcmlnaW5hbCBuYXRpdmUgZXZlbnQgKG51bGwgZm9yIGVtdWxhdGVkIGV2ZW50cywgZS5nLiAncmVzaXplJykKICogQHByb3Age051bWJlcn0geCAtIFRoZSBtb3VzZSB4IHBvc2l0aW9uLCByZWxhdGl2ZSB0byB0aGUgY2FudmFzIChudWxsIGZvciBpbmNvbXBhdGlibGUgZXZlbnRzKQogKiBAcHJvcCB7TnVtYmVyfSB5IC0gVGhlIG1vdXNlIHkgcG9zaXRpb24sIHJlbGF0aXZlIHRvIHRoZSBjYW52YXMgKG51bGwgZm9yIGluY29tcGF0aWJsZSBldmVudHMpCiAqLwoKfSx7IjQ1Ijo0NSwiNDYiOjQ2LCI0NyI6NDd9XSw0OTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCm1vZHVsZS5leHBvcnRzID0ge307Cm1vZHVsZS5leHBvcnRzLmZpbGxlciA9IHJlcXVpcmUoNTApOwptb2R1bGUuZXhwb3J0cy5sZWdlbmQgPSByZXF1aXJlKDUxKTsKbW9kdWxlLmV4cG9ydHMudGl0bGUgPSByZXF1aXJlKDUyKTsKCn0seyI1MCI6NTAsIjUxIjo1MSwiNTIiOjUyfV0sNTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKioKICogUGx1Z2luIGJhc2VkIG9uIGRpc2N1c3Npb24gZnJvbSB0aGUgZm9sbG93aW5nIENoYXJ0LmpzIGlzc3VlczoKICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9pc3N1ZXMvMjM4MCNpc3N1ZWNvbW1lbnQtMjc5OTYxNTY5CiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvaXNzdWVzLzI0NDAjaXNzdWVjb21tZW50LTI1NjQ2MTg5NwogKi8KCid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgZWxlbWVudHMgPSByZXF1aXJlKDQwKTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCmRlZmF1bHRzLl9zZXQoJ2dsb2JhbCcsIHsKCXBsdWdpbnM6IHsKCQlmaWxsZXI6IHsKCQkJcHJvcGFnYXRlOiB0cnVlCgkJfQoJfQp9KTsKCnZhciBtYXBwZXJzID0gewoJZGF0YXNldDogZnVuY3Rpb24oc291cmNlKSB7CgkJdmFyIGluZGV4ID0gc291cmNlLmZpbGw7CgkJdmFyIGNoYXJ0ID0gc291cmNlLmNoYXJ0OwoJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaW5kZXgpOwoJCXZhciB2aXNpYmxlID0gbWV0YSAmJiBjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGluZGV4KTsKCQl2YXIgcG9pbnRzID0gKHZpc2libGUgJiYgbWV0YS5kYXRhc2V0Ll9jaGlsZHJlbikgfHwgW107CgkJdmFyIGxlbmd0aCA9IHBvaW50cy5sZW5ndGggfHwgMDsKCgkJcmV0dXJuICFsZW5ndGggPyBudWxsIDogZnVuY3Rpb24ocG9pbnQsIGkpIHsKCQkJcmV0dXJuIChpIDwgbGVuZ3RoICYmIHBvaW50c1tpXS5fdmlldykgfHwgbnVsbDsKCQl9OwoJfSwKCglib3VuZGFyeTogZnVuY3Rpb24oc291cmNlKSB7CgkJdmFyIGJvdW5kYXJ5ID0gc291cmNlLmJvdW5kYXJ5OwoJCXZhciB4ID0gYm91bmRhcnkgPyBib3VuZGFyeS54IDogbnVsbDsKCQl2YXIgeSA9IGJvdW5kYXJ5ID8gYm91bmRhcnkueSA6IG51bGw7CgoJCXJldHVybiBmdW5jdGlvbihwb2ludCkgewoJCQlyZXR1cm4gewoJCQkJeDogeCA9PT0gbnVsbCA/IHBvaW50LnggOiB4LAoJCQkJeTogeSA9PT0gbnVsbCA/IHBvaW50LnkgOiB5LAoJCQl9OwoJCX07Cgl9Cn07CgovLyBAdG9kbyBpZiAoZmlsbFswXSA9PT0gJyMnKQpmdW5jdGlvbiBkZWNvZGVGaWxsKGVsLCBpbmRleCwgY291bnQpIHsKCXZhciBtb2RlbCA9IGVsLl9tb2RlbCB8fCB7fTsKCXZhciBmaWxsID0gbW9kZWwuZmlsbDsKCXZhciB0YXJnZXQ7CgoJaWYgKGZpbGwgPT09IHVuZGVmaW5lZCkgewoJCWZpbGwgPSAhIW1vZGVsLmJhY2tncm91bmRDb2xvcjsKCX0KCglpZiAoZmlsbCA9PT0gZmFsc2UgfHwgZmlsbCA9PT0gbnVsbCkgewoJCXJldHVybiBmYWxzZTsKCX0KCglpZiAoZmlsbCA9PT0gdHJ1ZSkgewoJCXJldHVybiAnb3JpZ2luJzsKCX0KCgl0YXJnZXQgPSBwYXJzZUZsb2F0KGZpbGwsIDEwKTsKCWlmIChpc0Zpbml0ZSh0YXJnZXQpICYmIE1hdGguZmxvb3IodGFyZ2V0KSA9PT0gdGFyZ2V0KSB7CgkJaWYgKGZpbGxbMF0gPT09ICctJyB8fCBmaWxsWzBdID09PSAnKycpIHsKCQkJdGFyZ2V0ID0gaW5kZXggKyB0YXJnZXQ7CgkJfQoKCQlpZiAodGFyZ2V0ID09PSBpbmRleCB8fCB0YXJnZXQgPCAwIHx8IHRhcmdldCA+PSBjb3VudCkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlyZXR1cm4gdGFyZ2V0OwoJfQoKCXN3aXRjaCAoZmlsbCkgewoJLy8gY29tcGF0aWJpbGl0eQoJY2FzZSAnYm90dG9tJzoKCQlyZXR1cm4gJ3N0YXJ0JzsKCWNhc2UgJ3RvcCc6CgkJcmV0dXJuICdlbmQnOwoJY2FzZSAnemVybyc6CgkJcmV0dXJuICdvcmlnaW4nOwoJLy8gc3VwcG9ydGVkIGJvdW5kYXJpZXMKCWNhc2UgJ29yaWdpbic6CgljYXNlICdzdGFydCc6CgljYXNlICdlbmQnOgoJCXJldHVybiBmaWxsOwoJLy8gaW52YWxpZCBmaWxsIHZhbHVlcwoJZGVmYXVsdDoKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KCmZ1bmN0aW9uIGNvbXB1dGVCb3VuZGFyeShzb3VyY2UpIHsKCXZhciBtb2RlbCA9IHNvdXJjZS5lbC5fbW9kZWwgfHwge307Cgl2YXIgc2NhbGUgPSBzb3VyY2UuZWwuX3NjYWxlIHx8IHt9OwoJdmFyIGZpbGwgPSBzb3VyY2UuZmlsbDsKCXZhciB0YXJnZXQgPSBudWxsOwoJdmFyIGhvcml6b250YWw7CgoJaWYgKGlzRmluaXRlKGZpbGwpKSB7CgkJcmV0dXJuIG51bGw7Cgl9CgoJLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eTogdW50aWwgdjMsIHdlIHN0aWxsIG5lZWQgdG8gc3VwcG9ydCBib3VuZGFyeSB2YWx1ZXMgc2V0IG9uCgkvLyB0aGUgbW9kZWwgKHNjYWxlVG9wLCBzY2FsZUJvdHRvbSBhbmQgc2NhbGVaZXJvKSBiZWNhdXNlIHNvbWUgZXh0ZXJuYWwgcGx1Z2lucyBhbmQKCS8vIGNvbnRyb2xsZXJzIG1pZ2h0IHN0aWxsIHVzZSBpdCAoZS5nLiB0aGUgU21pdGggY2hhcnQpLgoKCWlmIChmaWxsID09PSAnc3RhcnQnKSB7CgkJdGFyZ2V0ID0gbW9kZWwuc2NhbGVCb3R0b20gPT09IHVuZGVmaW5lZCA/IHNjYWxlLmJvdHRvbSA6IG1vZGVsLnNjYWxlQm90dG9tOwoJfSBlbHNlIGlmIChmaWxsID09PSAnZW5kJykgewoJCXRhcmdldCA9IG1vZGVsLnNjYWxlVG9wID09PSB1bmRlZmluZWQgPyBzY2FsZS50b3AgOiBtb2RlbC5zY2FsZVRvcDsKCX0gZWxzZSBpZiAobW9kZWwuc2NhbGVaZXJvICE9PSB1bmRlZmluZWQpIHsKCQl0YXJnZXQgPSBtb2RlbC5zY2FsZVplcm87Cgl9IGVsc2UgaWYgKHNjYWxlLmdldEJhc2VQb3NpdGlvbikgewoJCXRhcmdldCA9IHNjYWxlLmdldEJhc2VQb3NpdGlvbigpOwoJfSBlbHNlIGlmIChzY2FsZS5nZXRCYXNlUGl4ZWwpIHsKCQl0YXJnZXQgPSBzY2FsZS5nZXRCYXNlUGl4ZWwoKTsKCX0KCglpZiAodGFyZ2V0ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0ICE9PSBudWxsKSB7CgkJaWYgKHRhcmdldC54ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0LnkgIT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gdGFyZ2V0OwoJCX0KCgkJaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdudW1iZXInICYmIGlzRmluaXRlKHRhcmdldCkpIHsKCQkJaG9yaXpvbnRhbCA9IHNjYWxlLmlzSG9yaXpvbnRhbCgpOwoJCQlyZXR1cm4gewoJCQkJeDogaG9yaXpvbnRhbCA/IHRhcmdldCA6IG51bGwsCgkJCQl5OiBob3Jpem9udGFsID8gbnVsbCA6IHRhcmdldAoJCQl9OwoJCX0KCX0KCglyZXR1cm4gbnVsbDsKfQoKZnVuY3Rpb24gcmVzb2x2ZVRhcmdldChzb3VyY2VzLCBpbmRleCwgcHJvcGFnYXRlKSB7Cgl2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07Cgl2YXIgZmlsbCA9IHNvdXJjZS5maWxsOwoJdmFyIHZpc2l0ZWQgPSBbaW5kZXhdOwoJdmFyIHRhcmdldDsKCglpZiAoIXByb3BhZ2F0ZSkgewoJCXJldHVybiBmaWxsOwoJfQoKCXdoaWxlIChmaWxsICE9PSBmYWxzZSAmJiB2aXNpdGVkLmluZGV4T2YoZmlsbCkgPT09IC0xKSB7CgkJaWYgKCFpc0Zpbml0ZShmaWxsKSkgewoJCQlyZXR1cm4gZmlsbDsKCQl9CgoJCXRhcmdldCA9IHNvdXJjZXNbZmlsbF07CgkJaWYgKCF0YXJnZXQpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKHRhcmdldC52aXNpYmxlKSB7CgkJCXJldHVybiBmaWxsOwoJCX0KCgkJdmlzaXRlZC5wdXNoKGZpbGwpOwoJCWZpbGwgPSB0YXJnZXQuZmlsbDsKCX0KCglyZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGNyZWF0ZU1hcHBlcihzb3VyY2UpIHsKCXZhciBmaWxsID0gc291cmNlLmZpbGw7Cgl2YXIgdHlwZSA9ICdkYXRhc2V0JzsKCglpZiAoZmlsbCA9PT0gZmFsc2UpIHsKCQlyZXR1cm4gbnVsbDsKCX0KCglpZiAoIWlzRmluaXRlKGZpbGwpKSB7CgkJdHlwZSA9ICdib3VuZGFyeSc7Cgl9CgoJcmV0dXJuIG1hcHBlcnNbdHlwZV0oc291cmNlKTsKfQoKZnVuY3Rpb24gaXNEcmF3YWJsZShwb2ludCkgewoJcmV0dXJuIHBvaW50ICYmICFwb2ludC5za2lwOwp9CgpmdW5jdGlvbiBkcmF3QXJlYShjdHgsIGN1cnZlMCwgY3VydmUxLCBsZW4wLCBsZW4xKSB7Cgl2YXIgaTsKCglpZiAoIWxlbjAgfHwgIWxlbjEpIHsKCQlyZXR1cm47Cgl9CgoJLy8gYnVpbGRpbmcgZmlyc3QgYXJlYSBjdXJ2ZSAobm9ybWFsKQoJY3R4Lm1vdmVUbyhjdXJ2ZTBbMF0ueCwgY3VydmUwWzBdLnkpOwoJZm9yIChpID0gMTsgaSA8IGxlbjA7ICsraSkgewoJCWhlbHBlcnMuY2FudmFzLmxpbmVUbyhjdHgsIGN1cnZlMFtpIC0gMV0sIGN1cnZlMFtpXSk7Cgl9CgoJLy8gam9pbmluZyB0aGUgdHdvIGFyZWEgY3VydmVzCgljdHgubGluZVRvKGN1cnZlMVtsZW4xIC0gMV0ueCwgY3VydmUxW2xlbjEgLSAxXS55KTsKCgkvLyBidWlsZGluZyBvcHBvc2l0ZSBhcmVhIGN1cnZlIChyZXZlcnNlKQoJZm9yIChpID0gbGVuMSAtIDE7IGkgPiAwOyAtLWkpIHsKCQloZWxwZXJzLmNhbnZhcy5saW5lVG8oY3R4LCBjdXJ2ZTFbaV0sIGN1cnZlMVtpIC0gMV0sIHRydWUpOwoJfQp9CgpmdW5jdGlvbiBkb0ZpbGwoY3R4LCBwb2ludHMsIG1hcHBlciwgdmlldywgY29sb3IsIGxvb3ApIHsKCXZhciBjb3VudCA9IHBvaW50cy5sZW5ndGg7Cgl2YXIgc3BhbiA9IHZpZXcuc3BhbkdhcHM7Cgl2YXIgY3VydmUwID0gW107Cgl2YXIgY3VydmUxID0gW107Cgl2YXIgbGVuMCA9IDA7Cgl2YXIgbGVuMSA9IDA7Cgl2YXIgaSwgaWxlbiwgaW5kZXgsIHAwLCBwMSwgZDAsIGQxOwoKCWN0eC5iZWdpblBhdGgoKTsKCglmb3IgKGkgPSAwLCBpbGVuID0gKGNvdW50ICsgISFsb29wKTsgaSA8IGlsZW47ICsraSkgewoJCWluZGV4ID0gaSAlIGNvdW50OwoJCXAwID0gcG9pbnRzW2luZGV4XS5fdmlldzsKCQlwMSA9IG1hcHBlcihwMCwgaW5kZXgsIHZpZXcpOwoJCWQwID0gaXNEcmF3YWJsZShwMCk7CgkJZDEgPSBpc0RyYXdhYmxlKHAxKTsKCgkJaWYgKGQwICYmIGQxKSB7CgkJCWxlbjAgPSBjdXJ2ZTAucHVzaChwMCk7CgkJCWxlbjEgPSBjdXJ2ZTEucHVzaChwMSk7CgkJfSBlbHNlIGlmIChsZW4wICYmIGxlbjEpIHsKCQkJaWYgKCFzcGFuKSB7CgkJCQlkcmF3QXJlYShjdHgsIGN1cnZlMCwgY3VydmUxLCBsZW4wLCBsZW4xKTsKCQkJCWxlbjAgPSBsZW4xID0gMDsKCQkJCWN1cnZlMCA9IFtdOwoJCQkJY3VydmUxID0gW107CgkJCX0gZWxzZSB7CgkJCQlpZiAoZDApIHsKCQkJCQljdXJ2ZTAucHVzaChwMCk7CgkJCQl9CgkJCQlpZiAoZDEpIHsKCQkJCQljdXJ2ZTEucHVzaChwMSk7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJZHJhd0FyZWEoY3R4LCBjdXJ2ZTAsIGN1cnZlMSwgbGVuMCwgbGVuMSk7CgoJY3R4LmNsb3NlUGF0aCgpOwoJY3R4LmZpbGxTdHlsZSA9IGNvbG9yOwoJY3R4LmZpbGwoKTsKfQoKbW9kdWxlLmV4cG9ydHMgPSB7CglpZDogJ2ZpbGxlcicsCgoJYWZ0ZXJEYXRhc2V0c1VwZGF0ZTogZnVuY3Rpb24oY2hhcnQsIG9wdGlvbnMpIHsKCQl2YXIgY291bnQgPSAoY2hhcnQuZGF0YS5kYXRhc2V0cyB8fCBbXSkubGVuZ3RoOwoJCXZhciBwcm9wYWdhdGUgPSBvcHRpb25zLnByb3BhZ2F0ZTsKCQl2YXIgc291cmNlcyA9IFtdOwoJCXZhciBtZXRhLCBpLCBlbCwgc291cmNlOwoKCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewoJCQltZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoaSk7CgkJCWVsID0gbWV0YS5kYXRhc2V0OwoJCQlzb3VyY2UgPSBudWxsOwoKCQkJaWYgKGVsICYmIGVsLl9tb2RlbCAmJiBlbCBpbnN0YW5jZW9mIGVsZW1lbnRzLkxpbmUpIHsKCQkJCXNvdXJjZSA9IHsKCQkJCQl2aXNpYmxlOiBjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpLAoJCQkJCWZpbGw6IGRlY29kZUZpbGwoZWwsIGksIGNvdW50KSwKCQkJCQljaGFydDogY2hhcnQsCgkJCQkJZWw6IGVsCgkJCQl9OwoJCQl9CgoJCQltZXRhLiRmaWxsZXIgPSBzb3VyY2U7CgkJCXNvdXJjZXMucHVzaChzb3VyY2UpOwoJCX0KCgkJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKCQkJc291cmNlID0gc291cmNlc1tpXTsKCQkJaWYgKCFzb3VyY2UpIHsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQlzb3VyY2UuZmlsbCA9IHJlc29sdmVUYXJnZXQoc291cmNlcywgaSwgcHJvcGFnYXRlKTsKCQkJc291cmNlLmJvdW5kYXJ5ID0gY29tcHV0ZUJvdW5kYXJ5KHNvdXJjZSk7CgkJCXNvdXJjZS5tYXBwZXIgPSBjcmVhdGVNYXBwZXIoc291cmNlKTsKCQl9Cgl9LAoKCWJlZm9yZURhdGFzZXREcmF3OiBmdW5jdGlvbihjaGFydCwgYXJncykgewoJCXZhciBtZXRhID0gYXJncy5tZXRhLiRmaWxsZXI7CgkJaWYgKCFtZXRhKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBjdHggPSBjaGFydC5jdHg7CgkJdmFyIGVsID0gbWV0YS5lbDsKCQl2YXIgdmlldyA9IGVsLl92aWV3OwoJCXZhciBwb2ludHMgPSBlbC5fY2hpbGRyZW4gfHwgW107CgkJdmFyIG1hcHBlciA9IG1ldGEubWFwcGVyOwoJCXZhciBjb2xvciA9IHZpZXcuYmFja2dyb3VuZENvbG9yIHx8IGRlZmF1bHRzLmdsb2JhbC5kZWZhdWx0Q29sb3I7CgoJCWlmIChtYXBwZXIgJiYgY29sb3IgJiYgcG9pbnRzLmxlbmd0aCkgewoJCQloZWxwZXJzLmNhbnZhcy5jbGlwQXJlYShjdHgsIGNoYXJ0LmNoYXJ0QXJlYSk7CgkJCWRvRmlsbChjdHgsIHBvaW50cywgbWFwcGVyLCB2aWV3LCBjb2xvciwgZWwuX2xvb3ApOwoJCQloZWxwZXJzLmNhbnZhcy51bmNsaXBBcmVhKGN0eCk7CgkJfQoJfQp9OwoKfSx7IjI1IjoyNSwiNDAiOjQwLCI0NSI6NDV9XSw1MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgbGF5b3V0cyA9IHJlcXVpcmUoMzApOwoKdmFyIG5vb3AgPSBoZWxwZXJzLm5vb3A7CgpkZWZhdWx0cy5fc2V0KCdnbG9iYWwnLCB7CglsZWdlbmQ6IHsKCQlkaXNwbGF5OiB0cnVlLAoJCXBvc2l0aW9uOiAndG9wJywKCQlmdWxsV2lkdGg6IHRydWUsCgkJcmV2ZXJzZTogZmFsc2UsCgkJd2VpZ2h0OiAxMDAwLAoKCQkvLyBhIGNhbGxiYWNrIHRoYXQgd2lsbCBoYW5kbGUKCQlvbkNsaWNrOiBmdW5jdGlvbihlLCBsZWdlbmRJdGVtKSB7CgkJCXZhciBpbmRleCA9IGxlZ2VuZEl0ZW0uZGF0YXNldEluZGV4OwoJCQl2YXIgY2kgPSB0aGlzLmNoYXJ0OwoJCQl2YXIgbWV0YSA9IGNpLmdldERhdGFzZXRNZXRhKGluZGV4KTsKCgkJCS8vIFNlZSBjb250cm9sbGVyLmlzRGF0YXNldFZpc2libGUgY29tbWVudAoJCQltZXRhLmhpZGRlbiA9IG1ldGEuaGlkZGVuID09PSBudWxsID8gIWNpLmRhdGEuZGF0YXNldHNbaW5kZXhdLmhpZGRlbiA6IG51bGw7CgoJCQkvLyBXZSBoaWQgYSBkYXRhc2V0IC4uLiByZXJlbmRlciB0aGUgY2hhcnQKCQkJY2kudXBkYXRlKCk7CgkJfSwKCgkJb25Ib3ZlcjogbnVsbCwKCgkJbGFiZWxzOiB7CgkJCWJveFdpZHRoOiA0MCwKCQkJcGFkZGluZzogMTAsCgkJCS8vIEdlbmVyYXRlcyBsYWJlbHMgc2hvd24gaW4gdGhlIGxlZ2VuZAoJCQkvLyBWYWxpZCBwcm9wZXJ0aWVzIHRvIHJldHVybjoKCQkJLy8gdGV4dCA6IHRleHQgdG8gZGlzcGxheQoJCQkvLyBmaWxsU3R5bGUgOiBmaWxsIG9mIGNvbG91cmVkIGJveAoJCQkvLyBzdHJva2VTdHlsZTogc3Ryb2tlIG9mIGNvbG91cmVkIGJveAoJCQkvLyBoaWRkZW4gOiBpZiB0aGlzIGxlZ2VuZCBpdGVtIHJlZmVycyB0byBhIGhpZGRlbiBpdGVtCgkJCS8vIGxpbmVDYXAgOiBjYXAgc3R5bGUgZm9yIGxpbmUKCQkJLy8gbGluZURhc2gKCQkJLy8gbGluZURhc2hPZmZzZXQgOgoJCQkvLyBsaW5lSm9pbiA6CgkJCS8vIGxpbmVXaWR0aCA6CgkJCWdlbmVyYXRlTGFiZWxzOiBmdW5jdGlvbihjaGFydCkgewoJCQkJdmFyIGRhdGEgPSBjaGFydC5kYXRhOwoJCQkJcmV0dXJuIGhlbHBlcnMuaXNBcnJheShkYXRhLmRhdGFzZXRzKSA/IGRhdGEuZGF0YXNldHMubWFwKGZ1bmN0aW9uKGRhdGFzZXQsIGkpIHsKCQkJCQlyZXR1cm4gewoJCQkJCQl0ZXh0OiBkYXRhc2V0LmxhYmVsLAoJCQkJCQlmaWxsU3R5bGU6ICghaGVscGVycy5pc0FycmF5KGRhdGFzZXQuYmFja2dyb3VuZENvbG9yKSA/IGRhdGFzZXQuYmFja2dyb3VuZENvbG9yIDogZGF0YXNldC5iYWNrZ3JvdW5kQ29sb3JbMF0pLAoJCQkJCQloaWRkZW46ICFjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGkpLAoJCQkJCQlsaW5lQ2FwOiBkYXRhc2V0LmJvcmRlckNhcFN0eWxlLAoJCQkJCQlsaW5lRGFzaDogZGF0YXNldC5ib3JkZXJEYXNoLAoJCQkJCQlsaW5lRGFzaE9mZnNldDogZGF0YXNldC5ib3JkZXJEYXNoT2Zmc2V0LAoJCQkJCQlsaW5lSm9pbjogZGF0YXNldC5ib3JkZXJKb2luU3R5bGUsCgkJCQkJCWxpbmVXaWR0aDogZGF0YXNldC5ib3JkZXJXaWR0aCwKCQkJCQkJc3Ryb2tlU3R5bGU6IGRhdGFzZXQuYm9yZGVyQ29sb3IsCgkJCQkJCXBvaW50U3R5bGU6IGRhdGFzZXQucG9pbnRTdHlsZSwKCgkJCQkJCS8vIEJlbG93IGlzIGV4dHJhIGRhdGEgdXNlZCBmb3IgdG9nZ2xpbmcgdGhlIGRhdGFzZXRzCgkJCQkJCWRhdGFzZXRJbmRleDogaQoJCQkJCX07CgkJCQl9LCB0aGlzKSA6IFtdOwoJCQl9CgkJfQoJfSwKCglsZWdlbmRDYWxsYmFjazogZnVuY3Rpb24oY2hhcnQpIHsKCQl2YXIgdGV4dCA9IFtdOwoJCXRleHQucHVzaCgnPHVsIGNsYXNzPSInICsgY2hhcnQuaWQgKyAnLWxlZ2VuZCI+Jyk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFydC5kYXRhLmRhdGFzZXRzLmxlbmd0aDsgaSsrKSB7CgkJCXRleHQucHVzaCgnPGxpPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOicgKyBjaGFydC5kYXRhLmRhdGFzZXRzW2ldLmJhY2tncm91bmRDb2xvciArICciPjwvc3Bhbj4nKTsKCQkJaWYgKGNoYXJ0LmRhdGEuZGF0YXNldHNbaV0ubGFiZWwpIHsKCQkJCXRleHQucHVzaChjaGFydC5kYXRhLmRhdGFzZXRzW2ldLmxhYmVsKTsKCQkJfQoJCQl0ZXh0LnB1c2goJzwvbGk+Jyk7CgkJfQoJCXRleHQucHVzaCgnPC91bD4nKTsKCQlyZXR1cm4gdGV4dC5qb2luKCcnKTsKCX0KfSk7CgovKioKICogSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgYm94IHdpZHRoIGJhc2VkIG9uIHRoZSB1c2VQb2ludFN0eWxlIG9wdGlvbgogKiBAcGFyYW0gbGFiZWxvcHRzIHtPYmplY3R9IHRoZSBsYWJlbCBvcHRpb25zIG9uIHRoZSBsZWdlbmQKICogQHBhcmFtIGZvbnRTaXplIHtOdW1iZXJ9IHRoZSBsYWJlbCBmb250IHNpemUKICogQHJldHVybiB7TnVtYmVyfSB3aWR0aCBvZiB0aGUgY29sb3IgYm94IGFyZWEKICovCmZ1bmN0aW9uIGdldEJveFdpZHRoKGxhYmVsT3B0cywgZm9udFNpemUpIHsKCXJldHVybiBsYWJlbE9wdHMudXNlUG9pbnRTdHlsZSA/CgkJZm9udFNpemUgKiBNYXRoLlNRUlQyIDoKCQlsYWJlbE9wdHMuYm94V2lkdGg7Cn0KCi8qKgogKiBJTVBPUlRBTlQ6IHRoaXMgY2xhc3MgaXMgZXhwb3NlZCBwdWJsaWNseSBhcyBDaGFydC5MZWdlbmQsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgcmVxdWlyZWQhCiAqLwp2YXIgTGVnZW5kID0gRWxlbWVudC5leHRlbmQoewoKCWluaXRpYWxpemU6IGZ1bmN0aW9uKGNvbmZpZykgewoJCWhlbHBlcnMuZXh0ZW5kKHRoaXMsIGNvbmZpZyk7CgoJCS8vIENvbnRhaW5zIGhpdCBib3hlcyBmb3IgZWFjaCBkYXRhc2V0IChpbiBkYXRhc2V0IG9yZGVyKQoJCXRoaXMubGVnZW5kSGl0Qm94ZXMgPSBbXTsKCgkJLy8gQXJlIHdlIGluIGRvdWdobnV0IG1vZGUgd2hpY2ggaGFzIGEgZGlmZmVyZW50IGRhdGEgdHlwZQoJCXRoaXMuZG91Z2hudXRNb2RlID0gZmFsc2U7Cgl9LAoKCS8vIFRoZXNlIG1ldGhvZHMgYXJlIG9yZGVyZWQgYnkgbGlmZWN5Y2xlLiBVdGlsaXRpZXMgdGhlbiBmb2xsb3cuCgkvLyBBbnkgZnVuY3Rpb24gZGVmaW5lZCBoZXJlIGlzIGluaGVyaXRlZCBieSBhbGwgbGVnZW5kIHR5cGVzLgoJLy8gQW55IGZ1bmN0aW9uIGNhbiBiZSBleHRlbmRlZCBieSB0aGUgbGVnZW5kIHR5cGUKCgliZWZvcmVVcGRhdGU6IG5vb3AsCgl1cGRhdGU6IGZ1bmN0aW9uKG1heFdpZHRoLCBtYXhIZWlnaHQsIG1hcmdpbnMpIHsKCQl2YXIgbWUgPSB0aGlzOwoKCQkvLyBVcGRhdGUgTGlmZWN5Y2xlIC0gUHJvYmFibHkgZG9uJ3Qgd2FudCB0byBldmVyIGV4dGVuZCBvciBvdmVyd3JpdGUgdGhpcyBmdW5jdGlvbiA7KQoJCW1lLmJlZm9yZVVwZGF0ZSgpOwoKCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMKCQltZS5tYXhXaWR0aCA9IG1heFdpZHRoOwoJCW1lLm1heEhlaWdodCA9IG1heEhlaWdodDsKCQltZS5tYXJnaW5zID0gbWFyZ2luczsKCgkJLy8gRGltZW5zaW9ucwoJCW1lLmJlZm9yZVNldERpbWVuc2lvbnMoKTsKCQltZS5zZXREaW1lbnNpb25zKCk7CgkJbWUuYWZ0ZXJTZXREaW1lbnNpb25zKCk7CgkJLy8gTGFiZWxzCgkJbWUuYmVmb3JlQnVpbGRMYWJlbHMoKTsKCQltZS5idWlsZExhYmVscygpOwoJCW1lLmFmdGVyQnVpbGRMYWJlbHMoKTsKCgkJLy8gRml0CgkJbWUuYmVmb3JlRml0KCk7CgkJbWUuZml0KCk7CgkJbWUuYWZ0ZXJGaXQoKTsKCQkvLwoJCW1lLmFmdGVyVXBkYXRlKCk7CgoJCXJldHVybiBtZS5taW5TaXplOwoJfSwKCWFmdGVyVXBkYXRlOiBub29wLAoKCS8vCgoJYmVmb3JlU2V0RGltZW5zaW9uczogbm9vcCwKCXNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgewoJCXZhciBtZSA9IHRoaXM7CgkJLy8gU2V0IHRoZSB1bmNvbnN0cmFpbmVkIGRpbWVuc2lvbiBiZWZvcmUgbGFiZWwgcm90YXRpb24KCQlpZiAobWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJLy8gUmVzZXQgcG9zaXRpb24gYmVmb3JlIGNhbGN1bGF0aW5nIHJvdGF0aW9uCgkJCW1lLndpZHRoID0gbWUubWF4V2lkdGg7CgkJCW1lLmxlZnQgPSAwOwoJCQltZS5yaWdodCA9IG1lLndpZHRoOwoJCX0gZWxzZSB7CgkJCW1lLmhlaWdodCA9IG1lLm1heEhlaWdodDsKCgkJCS8vIFJlc2V0IHBvc2l0aW9uIGJlZm9yZSBjYWxjdWxhdGluZyByb3RhdGlvbgoJCQltZS50b3AgPSAwOwoJCQltZS5ib3R0b20gPSBtZS5oZWlnaHQ7CgkJfQoKCQkvLyBSZXNldCBwYWRkaW5nCgkJbWUucGFkZGluZ0xlZnQgPSAwOwoJCW1lLnBhZGRpbmdUb3AgPSAwOwoJCW1lLnBhZGRpbmdSaWdodCA9IDA7CgkJbWUucGFkZGluZ0JvdHRvbSA9IDA7CgoJCS8vIFJlc2V0IG1pblNpemUKCQltZS5taW5TaXplID0gewoJCQl3aWR0aDogMCwKCQkJaGVpZ2h0OiAwCgkJfTsKCX0sCglhZnRlclNldERpbWVuc2lvbnM6IG5vb3AsCgoJLy8KCgliZWZvcmVCdWlsZExhYmVsczogbm9vcCwKCWJ1aWxkTGFiZWxzOiBmdW5jdGlvbigpIHsKCQl2YXIgbWUgPSB0aGlzOwoJCXZhciBsYWJlbE9wdHMgPSBtZS5vcHRpb25zLmxhYmVscyB8fCB7fTsKCQl2YXIgbGVnZW5kSXRlbXMgPSBoZWxwZXJzLmNhbGxiYWNrKGxhYmVsT3B0cy5nZW5lcmF0ZUxhYmVscywgW21lLmNoYXJ0XSwgbWUpIHx8IFtdOwoKCQlpZiAobGFiZWxPcHRzLmZpbHRlcikgewoJCQlsZWdlbmRJdGVtcyA9IGxlZ2VuZEl0ZW1zLmZpbHRlcihmdW5jdGlvbihpdGVtKSB7CgkJCQlyZXR1cm4gbGFiZWxPcHRzLmZpbHRlcihpdGVtLCBtZS5jaGFydC5kYXRhKTsKCQkJfSk7CgkJfQoKCQlpZiAobWUub3B0aW9ucy5yZXZlcnNlKSB7CgkJCWxlZ2VuZEl0ZW1zLnJldmVyc2UoKTsKCQl9CgoJCW1lLmxlZ2VuZEl0ZW1zID0gbGVnZW5kSXRlbXM7Cgl9LAoJYWZ0ZXJCdWlsZExhYmVsczogbm9vcCwKCgkvLwoKCWJlZm9yZUZpdDogbm9vcCwKCWZpdDogZnVuY3Rpb24oKSB7CgkJdmFyIG1lID0gdGhpczsKCQl2YXIgb3B0cyA9IG1lLm9wdGlvbnM7CgkJdmFyIGxhYmVsT3B0cyA9IG9wdHMubGFiZWxzOwoJCXZhciBkaXNwbGF5ID0gb3B0cy5kaXNwbGF5OwoKCQl2YXIgY3R4ID0gbWUuY3R4OwoKCQl2YXIgZ2xvYmFsRGVmYXVsdCA9IGRlZmF1bHRzLmdsb2JhbDsKCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoJCXZhciBmb250U2l6ZSA9IHZhbHVlT3JEZWZhdWx0KGxhYmVsT3B0cy5mb250U2l6ZSwgZ2xvYmFsRGVmYXVsdC5kZWZhdWx0Rm9udFNpemUpOwoJCXZhciBmb250U3R5bGUgPSB2YWx1ZU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRGb250U3R5bGUpOwoJCXZhciBmb250RmFtaWx5ID0gdmFsdWVPckRlZmF1bHQobGFiZWxPcHRzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHQuZGVmYXVsdEZvbnRGYW1pbHkpOwoJCXZhciBsYWJlbEZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcoZm9udFNpemUsIGZvbnRTdHlsZSwgZm9udEZhbWlseSk7CgoJCS8vIFJlc2V0IGhpdCBib3hlcwoJCXZhciBoaXRib3hlcyA9IG1lLmxlZ2VuZEhpdEJveGVzID0gW107CgoJCXZhciBtaW5TaXplID0gbWUubWluU2l6ZTsKCQl2YXIgaXNIb3Jpem9udGFsID0gbWUuaXNIb3Jpem9udGFsKCk7CgoJCWlmIChpc0hvcml6b250YWwpIHsKCQkJbWluU2l6ZS53aWR0aCA9IG1lLm1heFdpZHRoOyAvLyBmaWxsIGFsbCB0aGUgd2lkdGgKCQkJbWluU2l6ZS5oZWlnaHQgPSBkaXNwbGF5ID8gMTAgOiAwOwoJCX0gZWxzZSB7CgkJCW1pblNpemUud2lkdGggPSBkaXNwbGF5ID8gMTAgOiAwOwoJCQltaW5TaXplLmhlaWdodCA9IG1lLm1heEhlaWdodDsgLy8gZmlsbCBhbGwgdGhlIGhlaWdodAoJCX0KCgkJLy8gSW5jcmVhc2Ugc2l6ZXMgaGVyZQoJCWlmIChkaXNwbGF5KSB7CgkJCWN0eC5mb250ID0gbGFiZWxGb250OwoKCQkJaWYgKGlzSG9yaXpvbnRhbCkgewoJCQkJLy8gTGFiZWxzCgoJCQkJLy8gV2lkdGggb2YgZWFjaCBsaW5lIG9mIGxlZ2VuZCBib3hlcy4gTGFiZWxzIHdyYXAgb250byBtdWx0aXBsZSBsaW5lcyB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0byBmaXQgb24gb25lCgkJCQl2YXIgbGluZVdpZHRocyA9IG1lLmxpbmVXaWR0aHMgPSBbMF07CgkJCQl2YXIgdG90YWxIZWlnaHQgPSBtZS5sZWdlbmRJdGVtcy5sZW5ndGggPyBmb250U2l6ZSArIChsYWJlbE9wdHMucGFkZGluZykgOiAwOwoKCQkJCWN0eC50ZXh0QWxpZ24gPSAnbGVmdCc7CgkJCQljdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7CgoJCQkJaGVscGVycy5lYWNoKG1lLmxlZ2VuZEl0ZW1zLCBmdW5jdGlvbihsZWdlbmRJdGVtLCBpKSB7CgkJCQkJdmFyIGJveFdpZHRoID0gZ2V0Qm94V2lkdGgobGFiZWxPcHRzLCBmb250U2l6ZSk7CgkJCQkJdmFyIHdpZHRoID0gYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIGN0eC5tZWFzdXJlVGV4dChsZWdlbmRJdGVtLnRleHQpLndpZHRoOwoKCQkJCQlpZiAobGluZVdpZHRoc1tsaW5lV2lkdGhzLmxlbmd0aCAtIDFdICsgd2lkdGggKyBsYWJlbE9wdHMucGFkZGluZyA+PSBtZS53aWR0aCkgewoJCQkJCQl0b3RhbEhlaWdodCArPSBmb250U2l6ZSArIChsYWJlbE9wdHMucGFkZGluZyk7CgkJCQkJCWxpbmVXaWR0aHNbbGluZVdpZHRocy5sZW5ndGhdID0gbWUubGVmdDsKCQkJCQl9CgoJCQkJCS8vIFN0b3JlIHRoZSBoaXRib3ggd2lkdGggYW5kIGhlaWdodCBoZXJlLiBGaW5hbCBwb3NpdGlvbiB3aWxsIGJlIHVwZGF0ZWQgaW4gYGRyYXdgCgkJCQkJaGl0Ym94ZXNbaV0gPSB7CgkJCQkJCWxlZnQ6IDAsCgkJCQkJCXRvcDogMCwKCQkJCQkJd2lkdGg6IHdpZHRoLAoJCQkJCQloZWlnaHQ6IGZvbnRTaXplCgkJCQkJfTsKCgkJCQkJbGluZVdpZHRoc1tsaW5lV2lkdGhzLmxlbmd0aCAtIDFdICs9IHdpZHRoICsgbGFiZWxPcHRzLnBhZGRpbmc7CgkJCQl9KTsKCgkJCQltaW5TaXplLmhlaWdodCArPSB0b3RhbEhlaWdodDsKCgkJCX0gZWxzZSB7CgkJCQl2YXIgdlBhZGRpbmcgPSBsYWJlbE9wdHMucGFkZGluZzsKCQkJCXZhciBjb2x1bW5XaWR0aHMgPSBtZS5jb2x1bW5XaWR0aHMgPSBbXTsKCQkJCXZhciB0b3RhbFdpZHRoID0gbGFiZWxPcHRzLnBhZGRpbmc7CgkJCQl2YXIgY3VycmVudENvbFdpZHRoID0gMDsKCQkJCXZhciBjdXJyZW50Q29sSGVpZ2h0ID0gMDsKCQkJCXZhciBpdGVtSGVpZ2h0ID0gZm9udFNpemUgKyB2UGFkZGluZzsKCgkJCQloZWxwZXJzLmVhY2gobWUubGVnZW5kSXRlbXMsIGZ1bmN0aW9uKGxlZ2VuZEl0ZW0sIGkpIHsKCQkJCQl2YXIgYm94V2lkdGggPSBnZXRCb3hXaWR0aChsYWJlbE9wdHMsIGZvbnRTaXplKTsKCQkJCQl2YXIgaXRlbVdpZHRoID0gYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIGN0eC5tZWFzdXJlVGV4dChsZWdlbmRJdGVtLnRleHQpLndpZHRoOwoKCQkJCQkvLyBJZiB0b28gdGFsbCwgZ28gdG8gbmV3IGNvbHVtbgoJCQkJCWlmIChjdXJyZW50Q29sSGVpZ2h0ICsgaXRlbUhlaWdodCA+IG1pblNpemUuaGVpZ2h0KSB7CgkJCQkJCXRvdGFsV2lkdGggKz0gY3VycmVudENvbFdpZHRoICsgbGFiZWxPcHRzLnBhZGRpbmc7CgkJCQkJCWNvbHVtbldpZHRocy5wdXNoKGN1cnJlbnRDb2xXaWR0aCk7IC8vIHByZXZpb3VzIGNvbHVtbiB3aWR0aAoKCQkJCQkJY3VycmVudENvbFdpZHRoID0gMDsKCQkJCQkJY3VycmVudENvbEhlaWdodCA9IDA7CgkJCQkJfQoKCQkJCQkvLyBHZXQgbWF4IHdpZHRoCgkJCQkJY3VycmVudENvbFdpZHRoID0gTWF0aC5tYXgoY3VycmVudENvbFdpZHRoLCBpdGVtV2lkdGgpOwoJCQkJCWN1cnJlbnRDb2xIZWlnaHQgKz0gaXRlbUhlaWdodDsKCgkJCQkJLy8gU3RvcmUgdGhlIGhpdGJveCB3aWR0aCBhbmQgaGVpZ2h0IGhlcmUuIEZpbmFsIHBvc2l0aW9uIHdpbGwgYmUgdXBkYXRlZCBpbiBgZHJhd2AKCQkJCQloaXRib3hlc1tpXSA9IHsKCQkJCQkJbGVmdDogMCwKCQkJCQkJdG9wOiAwLAoJCQkJCQl3aWR0aDogaXRlbVdpZHRoLAoJCQkJCQloZWlnaHQ6IGZvbnRTaXplCgkJCQkJfTsKCQkJCX0pOwoKCQkJCXRvdGFsV2lkdGggKz0gY3VycmVudENvbFdpZHRoOwoJCQkJY29sdW1uV2lkdGhzLnB1c2goY3VycmVudENvbFdpZHRoKTsKCQkJCW1pblNpemUud2lkdGggKz0gdG90YWxXaWR0aDsKCQkJfQoJCX0KCgkJbWUud2lkdGggPSBtaW5TaXplLndpZHRoOwoJCW1lLmhlaWdodCA9IG1pblNpemUuaGVpZ2h0OwoJfSwKCWFmdGVyRml0OiBub29wLAoKCS8vIFNoYXJlZCBNZXRob2RzCglpc0hvcml6b250YWw6IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLm9wdGlvbnMucG9zaXRpb24gPT09ICd0b3AnIHx8IHRoaXMub3B0aW9ucy5wb3NpdGlvbiA9PT0gJ2JvdHRvbSc7Cgl9LAoKCS8vIEFjdHVhbGx5IGRyYXcgdGhlIGxlZ2VuZCBvbiB0aGUgY2FudmFzCglkcmF3OiBmdW5jdGlvbigpIHsKCQl2YXIgbWUgPSB0aGlzOwoJCXZhciBvcHRzID0gbWUub3B0aW9uczsKCQl2YXIgbGFiZWxPcHRzID0gb3B0cy5sYWJlbHM7CgkJdmFyIGdsb2JhbERlZmF1bHQgPSBkZWZhdWx0cy5nbG9iYWw7CgkJdmFyIGxpbmVEZWZhdWx0ID0gZ2xvYmFsRGVmYXVsdC5lbGVtZW50cy5saW5lOwoJCXZhciBsZWdlbmRXaWR0aCA9IG1lLndpZHRoOwoJCXZhciBsaW5lV2lkdGhzID0gbWUubGluZVdpZHRoczsKCgkJaWYgKG9wdHMuZGlzcGxheSkgewoJCQl2YXIgY3R4ID0gbWUuY3R4OwoJCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoJCQl2YXIgZm9udENvbG9yID0gdmFsdWVPckRlZmF1bHQobGFiZWxPcHRzLmZvbnRDb2xvciwgZ2xvYmFsRGVmYXVsdC5kZWZhdWx0Rm9udENvbG9yKTsKCQkJdmFyIGZvbnRTaXplID0gdmFsdWVPckRlZmF1bHQobGFiZWxPcHRzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRGb250U2l6ZSk7CgkJCXZhciBmb250U3R5bGUgPSB2YWx1ZU9yRGVmYXVsdChsYWJlbE9wdHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRGb250U3R5bGUpOwoJCQl2YXIgZm9udEZhbWlseSA9IHZhbHVlT3JEZWZhdWx0KGxhYmVsT3B0cy5mb250RmFtaWx5LCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRGb250RmFtaWx5KTsKCQkJdmFyIGxhYmVsRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb250U2l6ZSwgZm9udFN0eWxlLCBmb250RmFtaWx5KTsKCQkJdmFyIGN1cnNvcjsKCgkJCS8vIENhbnZhcyBzZXR1cAoJCQljdHgudGV4dEFsaWduID0gJ2xlZnQnOwoJCQljdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7CgkJCWN0eC5saW5lV2lkdGggPSAwLjU7CgkJCWN0eC5zdHJva2VTdHlsZSA9IGZvbnRDb2xvcjsgLy8gZm9yIHN0cmlrZXRocm91Z2ggZWZmZWN0CgkJCWN0eC5maWxsU3R5bGUgPSBmb250Q29sb3I7IC8vIHJlbmRlciBpbiBjb3JyZWN0IGNvbG91cgoJCQljdHguZm9udCA9IGxhYmVsRm9udDsKCgkJCXZhciBib3hXaWR0aCA9IGdldEJveFdpZHRoKGxhYmVsT3B0cywgZm9udFNpemUpOwoJCQl2YXIgaGl0Ym94ZXMgPSBtZS5sZWdlbmRIaXRCb3hlczsKCgkJCS8vIGN1cnJlbnQgcG9zaXRpb24KCQkJdmFyIGRyYXdMZWdlbmRCb3ggPSBmdW5jdGlvbih4LCB5LCBsZWdlbmRJdGVtKSB7CgkJCQlpZiAoaXNOYU4oYm94V2lkdGgpIHx8IGJveFdpZHRoIDw9IDApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJLy8gU2V0IHRoZSBjdHggZm9yIHRoZSBib3gKCQkJCWN0eC5zYXZlKCk7CgoJCQkJY3R4LmZpbGxTdHlsZSA9IHZhbHVlT3JEZWZhdWx0KGxlZ2VuZEl0ZW0uZmlsbFN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRDb2xvcik7CgkJCQljdHgubGluZUNhcCA9IHZhbHVlT3JEZWZhdWx0KGxlZ2VuZEl0ZW0ubGluZUNhcCwgbGluZURlZmF1bHQuYm9yZGVyQ2FwU3R5bGUpOwoJCQkJY3R4LmxpbmVEYXNoT2Zmc2V0ID0gdmFsdWVPckRlZmF1bHQobGVnZW5kSXRlbS5saW5lRGFzaE9mZnNldCwgbGluZURlZmF1bHQuYm9yZGVyRGFzaE9mZnNldCk7CgkJCQljdHgubGluZUpvaW4gPSB2YWx1ZU9yRGVmYXVsdChsZWdlbmRJdGVtLmxpbmVKb2luLCBsaW5lRGVmYXVsdC5ib3JkZXJKb2luU3R5bGUpOwoJCQkJY3R4LmxpbmVXaWR0aCA9IHZhbHVlT3JEZWZhdWx0KGxlZ2VuZEl0ZW0ubGluZVdpZHRoLCBsaW5lRGVmYXVsdC5ib3JkZXJXaWR0aCk7CgkJCQljdHguc3Ryb2tlU3R5bGUgPSB2YWx1ZU9yRGVmYXVsdChsZWdlbmRJdGVtLnN0cm9rZVN0eWxlLCBnbG9iYWxEZWZhdWx0LmRlZmF1bHRDb2xvcik7CgkJCQl2YXIgaXNMaW5lV2lkdGhaZXJvID0gKHZhbHVlT3JEZWZhdWx0KGxlZ2VuZEl0ZW0ubGluZVdpZHRoLCBsaW5lRGVmYXVsdC5ib3JkZXJXaWR0aCkgPT09IDApOwoKCQkJCWlmIChjdHguc2V0TGluZURhc2gpIHsKCQkJCQkvLyBJRSA5IGFuZCAxMCBkbyBub3Qgc3VwcG9ydCBsaW5lIGRhc2gKCQkJCQljdHguc2V0TGluZURhc2godmFsdWVPckRlZmF1bHQobGVnZW5kSXRlbS5saW5lRGFzaCwgbGluZURlZmF1bHQuYm9yZGVyRGFzaCkpOwoJCQkJfQoKCQkJCWlmIChvcHRzLmxhYmVscyAmJiBvcHRzLmxhYmVscy51c2VQb2ludFN0eWxlKSB7CgkJCQkJLy8gUmVjYWxjdWxhdGUgeCBhbmQgeSBmb3IgZHJhd1BvaW50KCkgYmVjYXVzZSBpdHMgZXhwZWN0aW5nCgkJCQkJLy8geCBhbmQgeSB0byBiZSBjZW50ZXIgb2YgZmlndXJlIChpbnN0ZWFkIG9mIHRvcCBsZWZ0KQoJCQkJCXZhciByYWRpdXMgPSBmb250U2l6ZSAqIE1hdGguU1FSVDIgLyAyOwoJCQkJCXZhciBvZmZTZXQgPSByYWRpdXMgLyBNYXRoLlNRUlQyOwoJCQkJCXZhciBjZW50ZXJYID0geCArIG9mZlNldDsKCQkJCQl2YXIgY2VudGVyWSA9IHkgKyBvZmZTZXQ7CgoJCQkJCS8vIERyYXcgcG9pbnRTdHlsZSBhcyBsZWdlbmQgc3ltYm9sCgkJCQkJaGVscGVycy5jYW52YXMuZHJhd1BvaW50KGN0eCwgbGVnZW5kSXRlbS5wb2ludFN0eWxlLCByYWRpdXMsIGNlbnRlclgsIGNlbnRlclkpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBEcmF3IGJveCBhcyBsZWdlbmQgc3ltYm9sCgkJCQkJaWYgKCFpc0xpbmVXaWR0aFplcm8pIHsKCQkJCQkJY3R4LnN0cm9rZVJlY3QoeCwgeSwgYm94V2lkdGgsIGZvbnRTaXplKTsKCQkJCQl9CgkJCQkJY3R4LmZpbGxSZWN0KHgsIHksIGJveFdpZHRoLCBmb250U2l6ZSk7CgkJCQl9CgoJCQkJY3R4LnJlc3RvcmUoKTsKCQkJfTsKCQkJdmFyIGZpbGxUZXh0ID0gZnVuY3Rpb24oeCwgeSwgbGVnZW5kSXRlbSwgdGV4dFdpZHRoKSB7CgkJCQl2YXIgaGFsZkZvbnRTaXplID0gZm9udFNpemUgLyAyOwoJCQkJdmFyIHhMZWZ0ID0gYm94V2lkdGggKyBoYWxmRm9udFNpemUgKyB4OwoJCQkJdmFyIHlNaWRkbGUgPSB5ICsgaGFsZkZvbnRTaXplOwoKCQkJCWN0eC5maWxsVGV4dChsZWdlbmRJdGVtLnRleHQsIHhMZWZ0LCB5TWlkZGxlKTsKCgkJCQlpZiAobGVnZW5kSXRlbS5oaWRkZW4pIHsKCQkJCQkvLyBTdHJpa2V0aHJvdWdoIHRoZSB0ZXh0IGlmIGhpZGRlbgoJCQkJCWN0eC5iZWdpblBhdGgoKTsKCQkJCQljdHgubGluZVdpZHRoID0gMjsKCQkJCQljdHgubW92ZVRvKHhMZWZ0LCB5TWlkZGxlKTsKCQkJCQljdHgubGluZVRvKHhMZWZ0ICsgdGV4dFdpZHRoLCB5TWlkZGxlKTsKCQkJCQljdHguc3Ryb2tlKCk7CgkJCQl9CgkJCX07CgoJCQkvLyBIb3Jpem9udGFsCgkJCXZhciBpc0hvcml6b250YWwgPSBtZS5pc0hvcml6b250YWwoKTsKCQkJaWYgKGlzSG9yaXpvbnRhbCkgewoJCQkJY3Vyc29yID0gewoJCQkJCXg6IG1lLmxlZnQgKyAoKGxlZ2VuZFdpZHRoIC0gbGluZVdpZHRoc1swXSkgLyAyKSwKCQkJCQl5OiBtZS50b3AgKyBsYWJlbE9wdHMucGFkZGluZywKCQkJCQlsaW5lOiAwCgkJCQl9OwoJCQl9IGVsc2UgewoJCQkJY3Vyc29yID0gewoJCQkJCXg6IG1lLmxlZnQgKyBsYWJlbE9wdHMucGFkZGluZywKCQkJCQl5OiBtZS50b3AgKyBsYWJlbE9wdHMucGFkZGluZywKCQkJCQlsaW5lOiAwCgkJCQl9OwoJCQl9CgoJCQl2YXIgaXRlbUhlaWdodCA9IGZvbnRTaXplICsgbGFiZWxPcHRzLnBhZGRpbmc7CgkJCWhlbHBlcnMuZWFjaChtZS5sZWdlbmRJdGVtcywgZnVuY3Rpb24obGVnZW5kSXRlbSwgaSkgewoJCQkJdmFyIHRleHRXaWR0aCA9IGN0eC5tZWFzdXJlVGV4dChsZWdlbmRJdGVtLnRleHQpLndpZHRoOwoJCQkJdmFyIHdpZHRoID0gYm94V2lkdGggKyAoZm9udFNpemUgLyAyKSArIHRleHRXaWR0aDsKCQkJCXZhciB4ID0gY3Vyc29yLng7CgkJCQl2YXIgeSA9IGN1cnNvci55OwoKCQkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCQlpZiAoeCArIHdpZHRoID49IGxlZ2VuZFdpZHRoKSB7CgkJCQkJCXkgPSBjdXJzb3IueSArPSBpdGVtSGVpZ2h0OwoJCQkJCQljdXJzb3IubGluZSsrOwoJCQkJCQl4ID0gY3Vyc29yLnggPSBtZS5sZWZ0ICsgKChsZWdlbmRXaWR0aCAtIGxpbmVXaWR0aHNbY3Vyc29yLmxpbmVdKSAvIDIpOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAoeSArIGl0ZW1IZWlnaHQgPiBtZS5ib3R0b20pIHsKCQkJCQl4ID0gY3Vyc29yLnggPSB4ICsgbWUuY29sdW1uV2lkdGhzW2N1cnNvci5saW5lXSArIGxhYmVsT3B0cy5wYWRkaW5nOwoJCQkJCXkgPSBjdXJzb3IueSA9IG1lLnRvcCArIGxhYmVsT3B0cy5wYWRkaW5nOwoJCQkJCWN1cnNvci5saW5lKys7CgkJCQl9CgoJCQkJZHJhd0xlZ2VuZEJveCh4LCB5LCBsZWdlbmRJdGVtKTsKCgkJCQloaXRib3hlc1tpXS5sZWZ0ID0geDsKCQkJCWhpdGJveGVzW2ldLnRvcCA9IHk7CgoJCQkJLy8gRmlsbCB0aGUgYWN0dWFsIGxhYmVsCgkJCQlmaWxsVGV4dCh4LCB5LCBsZWdlbmRJdGVtLCB0ZXh0V2lkdGgpOwoKCQkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCQljdXJzb3IueCArPSB3aWR0aCArIChsYWJlbE9wdHMucGFkZGluZyk7CgkJCQl9IGVsc2UgewoJCQkJCWN1cnNvci55ICs9IGl0ZW1IZWlnaHQ7CgkJCQl9CgoJCQl9KTsKCQl9Cgl9LAoKCS8qKgoJICogSGFuZGxlIGFuIGV2ZW50CgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtIHtJRXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IHRvIGhhbmRsZQoJICogQHJldHVybiB7Qm9vbGVhbn0gdHJ1ZSBpZiBhIGNoYW5nZSBvY2N1cmVkCgkgKi8KCWhhbmRsZUV2ZW50OiBmdW5jdGlvbihlKSB7CgkJdmFyIG1lID0gdGhpczsKCQl2YXIgb3B0cyA9IG1lLm9wdGlvbnM7CgkJdmFyIHR5cGUgPSBlLnR5cGUgPT09ICdtb3VzZXVwJyA/ICdjbGljaycgOiBlLnR5cGU7CgkJdmFyIGNoYW5nZWQgPSBmYWxzZTsKCgkJaWYgKHR5cGUgPT09ICdtb3VzZW1vdmUnKSB7CgkJCWlmICghb3B0cy5vbkhvdmVyKSB7CgkJCQlyZXR1cm47CgkJCX0KCQl9IGVsc2UgaWYgKHR5cGUgPT09ICdjbGljaycpIHsKCQkJaWYgKCFvcHRzLm9uQ2xpY2spIHsKCQkJCXJldHVybjsKCQkJfQoJCX0gZWxzZSB7CgkJCXJldHVybjsKCQl9CgoJCS8vIENoYXJ0IGV2ZW50IGFscmVhZHkgaGFzIHJlbGF0aXZlIHBvc2l0aW9uIGluIGl0CgkJdmFyIHggPSBlLng7CgkJdmFyIHkgPSBlLnk7CgoJCWlmICh4ID49IG1lLmxlZnQgJiYgeCA8PSBtZS5yaWdodCAmJiB5ID49IG1lLnRvcCAmJiB5IDw9IG1lLmJvdHRvbSkgewoJCQkvLyBTZWUgaWYgd2UgYXJlIHRvdWNoaW5nIG9uZSBvZiB0aGUgZGF0YXNldCBib3hlcwoJCQl2YXIgbGggPSBtZS5sZWdlbmRIaXRCb3hlczsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsaC5sZW5ndGg7ICsraSkgewoJCQkJdmFyIGhpdEJveCA9IGxoW2ldOwoKCQkJCWlmICh4ID49IGhpdEJveC5sZWZ0ICYmIHggPD0gaGl0Qm94LmxlZnQgKyBoaXRCb3gud2lkdGggJiYgeSA+PSBoaXRCb3gudG9wICYmIHkgPD0gaGl0Qm94LnRvcCArIGhpdEJveC5oZWlnaHQpIHsKCQkJCQkvLyBUb3VjaGluZyBhbiBlbGVtZW50CgkJCQkJaWYgKHR5cGUgPT09ICdjbGljaycpIHsKCQkJCQkJLy8gdXNlIGUubmF0aXZlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQkJCQlvcHRzLm9uQ2xpY2suY2FsbChtZSwgZS5uYXRpdmUsIG1lLmxlZ2VuZEl0ZW1zW2ldKTsKCQkJCQkJY2hhbmdlZCA9IHRydWU7CgkJCQkJCWJyZWFrOwoJCQkJCX0gZWxzZSBpZiAodHlwZSA9PT0gJ21vdXNlbW92ZScpIHsKCQkJCQkJLy8gdXNlIGUubmF0aXZlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJCQkJCQlvcHRzLm9uSG92ZXIuY2FsbChtZSwgZS5uYXRpdmUsIG1lLmxlZ2VuZEl0ZW1zW2ldKTsKCQkJCQkJY2hhbmdlZCA9IHRydWU7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIGNoYW5nZWQ7Cgl9Cn0pOwoKZnVuY3Rpb24gY3JlYXRlTmV3TGVnZW5kQW5kQXR0YWNoKGNoYXJ0LCBsZWdlbmRPcHRzKSB7Cgl2YXIgbGVnZW5kID0gbmV3IExlZ2VuZCh7CgkJY3R4OiBjaGFydC5jdHgsCgkJb3B0aW9uczogbGVnZW5kT3B0cywKCQljaGFydDogY2hhcnQKCX0pOwoKCWxheW91dHMuY29uZmlndXJlKGNoYXJ0LCBsZWdlbmQsIGxlZ2VuZE9wdHMpOwoJbGF5b3V0cy5hZGRCb3goY2hhcnQsIGxlZ2VuZCk7CgljaGFydC5sZWdlbmQgPSBsZWdlbmQ7Cn0KCm1vZHVsZS5leHBvcnRzID0gewoJaWQ6ICdsZWdlbmQnLAoKCS8qKgoJICogQmFja3dhcmQgY29tcGF0aWJpbGl0eTogc2luY2UgMi4xLjUsIHRoZSBsZWdlbmQgaXMgcmVnaXN0ZXJlZCBhcyBhIHBsdWdpbiwgbWFraW5nCgkgKiBDaGFydC5MZWdlbmQgb2Jzb2xldGUuIFRvIGF2b2lkIGEgYnJlYWtpbmcgY2hhbmdlLCB3ZSBleHBvcnQgdGhlIExlZ2VuZCBhcyBwYXJ0IG9mCgkgKiB0aGUgcGx1Z2luLCB3aGljaCBvbmUgd2lsbCBiZSByZS1leHBvc2VkIGluIHRoZSBjaGFydC5qcyBmaWxlLgoJICogaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvcHVsbC8yNjQwCgkgKiBAcHJpdmF0ZQoJICovCglfZWxlbWVudDogTGVnZW5kLAoKCWJlZm9yZUluaXQ6IGZ1bmN0aW9uKGNoYXJ0KSB7CgkJdmFyIGxlZ2VuZE9wdHMgPSBjaGFydC5vcHRpb25zLmxlZ2VuZDsKCgkJaWYgKGxlZ2VuZE9wdHMpIHsKCQkJY3JlYXRlTmV3TGVnZW5kQW5kQXR0YWNoKGNoYXJ0LCBsZWdlbmRPcHRzKTsKCQl9Cgl9LAoKCWJlZm9yZVVwZGF0ZTogZnVuY3Rpb24oY2hhcnQpIHsKCQl2YXIgbGVnZW5kT3B0cyA9IGNoYXJ0Lm9wdGlvbnMubGVnZW5kOwoJCXZhciBsZWdlbmQgPSBjaGFydC5sZWdlbmQ7CgoJCWlmIChsZWdlbmRPcHRzKSB7CgkJCWhlbHBlcnMubWVyZ2VJZihsZWdlbmRPcHRzLCBkZWZhdWx0cy5nbG9iYWwubGVnZW5kKTsKCgkJCWlmIChsZWdlbmQpIHsKCQkJCWxheW91dHMuY29uZmlndXJlKGNoYXJ0LCBsZWdlbmQsIGxlZ2VuZE9wdHMpOwoJCQkJbGVnZW5kLm9wdGlvbnMgPSBsZWdlbmRPcHRzOwoJCQl9IGVsc2UgewoJCQkJY3JlYXRlTmV3TGVnZW5kQW5kQXR0YWNoKGNoYXJ0LCBsZWdlbmRPcHRzKTsKCQkJfQoJCX0gZWxzZSBpZiAobGVnZW5kKSB7CgkJCWxheW91dHMucmVtb3ZlQm94KGNoYXJ0LCBsZWdlbmQpOwoJCQlkZWxldGUgY2hhcnQubGVnZW5kOwoJCX0KCX0sCgoJYWZ0ZXJFdmVudDogZnVuY3Rpb24oY2hhcnQsIGUpIHsKCQl2YXIgbGVnZW5kID0gY2hhcnQubGVnZW5kOwoJCWlmIChsZWdlbmQpIHsKCQkJbGVnZW5kLmhhbmRsZUV2ZW50KGUpOwoJCX0KCX0KfTsKCn0seyIyNSI6MjUsIjI2IjoyNiwiMzAiOjMwLCI0NSI6NDV9XSw1MjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgRWxlbWVudCA9IHJlcXVpcmUoMjYpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgbGF5b3V0cyA9IHJlcXVpcmUoMzApOwoKdmFyIG5vb3AgPSBoZWxwZXJzLm5vb3A7CgpkZWZhdWx0cy5fc2V0KCdnbG9iYWwnLCB7Cgl0aXRsZTogewoJCWRpc3BsYXk6IGZhbHNlLAoJCWZvbnRTdHlsZTogJ2JvbGQnLAoJCWZ1bGxXaWR0aDogdHJ1ZSwKCQlsaW5lSGVpZ2h0OiAxLjIsCgkJcGFkZGluZzogMTAsCgkJcG9zaXRpb246ICd0b3AnLAoJCXRleHQ6ICcnLAoJCXdlaWdodDogMjAwMCAgICAgICAgIC8vIGJ5IGRlZmF1bHQgZ3JlYXRlciB0aGFuIGxlZ2VuZCAoMTAwMCkgdG8gYmUgYWJvdmUKCX0KfSk7CgovKioKICogSU1QT1JUQU5UOiB0aGlzIGNsYXNzIGlzIGV4cG9zZWQgcHVibGljbHkgYXMgQ2hhcnQuTGVnZW5kLCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHJlcXVpcmVkIQogKi8KdmFyIFRpdGxlID0gRWxlbWVudC5leHRlbmQoewoJaW5pdGlhbGl6ZTogZnVuY3Rpb24oY29uZmlnKSB7CgkJdmFyIG1lID0gdGhpczsKCQloZWxwZXJzLmV4dGVuZChtZSwgY29uZmlnKTsKCgkJLy8gQ29udGFpbnMgaGl0IGJveGVzIGZvciBlYWNoIGRhdGFzZXQgKGluIGRhdGFzZXQgb3JkZXIpCgkJbWUubGVnZW5kSGl0Qm94ZXMgPSBbXTsKCX0sCgoJLy8gVGhlc2UgbWV0aG9kcyBhcmUgb3JkZXJlZCBieSBsaWZlY3ljbGUuIFV0aWxpdGllcyB0aGVuIGZvbGxvdy4KCgliZWZvcmVVcGRhdGU6IG5vb3AsCgl1cGRhdGU6IGZ1bmN0aW9uKG1heFdpZHRoLCBtYXhIZWlnaHQsIG1hcmdpbnMpIHsKCQl2YXIgbWUgPSB0aGlzOwoKCQkvLyBVcGRhdGUgTGlmZWN5Y2xlIC0gUHJvYmFibHkgZG9uJ3Qgd2FudCB0byBldmVyIGV4dGVuZCBvciBvdmVyd3JpdGUgdGhpcyBmdW5jdGlvbiA7KQoJCW1lLmJlZm9yZVVwZGF0ZSgpOwoKCQkvLyBBYnNvcmIgdGhlIG1hc3RlciBtZWFzdXJlbWVudHMKCQltZS5tYXhXaWR0aCA9IG1heFdpZHRoOwoJCW1lLm1heEhlaWdodCA9IG1heEhlaWdodDsKCQltZS5tYXJnaW5zID0gbWFyZ2luczsKCgkJLy8gRGltZW5zaW9ucwoJCW1lLmJlZm9yZVNldERpbWVuc2lvbnMoKTsKCQltZS5zZXREaW1lbnNpb25zKCk7CgkJbWUuYWZ0ZXJTZXREaW1lbnNpb25zKCk7CgkJLy8gTGFiZWxzCgkJbWUuYmVmb3JlQnVpbGRMYWJlbHMoKTsKCQltZS5idWlsZExhYmVscygpOwoJCW1lLmFmdGVyQnVpbGRMYWJlbHMoKTsKCgkJLy8gRml0CgkJbWUuYmVmb3JlRml0KCk7CgkJbWUuZml0KCk7CgkJbWUuYWZ0ZXJGaXQoKTsKCQkvLwoJCW1lLmFmdGVyVXBkYXRlKCk7CgoJCXJldHVybiBtZS5taW5TaXplOwoKCX0sCglhZnRlclVwZGF0ZTogbm9vcCwKCgkvLwoKCWJlZm9yZVNldERpbWVuc2lvbnM6IG5vb3AsCglzZXREaW1lbnNpb25zOiBmdW5jdGlvbigpIHsKCQl2YXIgbWUgPSB0aGlzOwoJCS8vIFNldCB0aGUgdW5jb25zdHJhaW5lZCBkaW1lbnNpb24gYmVmb3JlIGxhYmVsIHJvdGF0aW9uCgkJaWYgKG1lLmlzSG9yaXpvbnRhbCgpKSB7CgkJCS8vIFJlc2V0IHBvc2l0aW9uIGJlZm9yZSBjYWxjdWxhdGluZyByb3RhdGlvbgoJCQltZS53aWR0aCA9IG1lLm1heFdpZHRoOwoJCQltZS5sZWZ0ID0gMDsKCQkJbWUucmlnaHQgPSBtZS53aWR0aDsKCQl9IGVsc2UgewoJCQltZS5oZWlnaHQgPSBtZS5tYXhIZWlnaHQ7CgoJCQkvLyBSZXNldCBwb3NpdGlvbiBiZWZvcmUgY2FsY3VsYXRpbmcgcm90YXRpb24KCQkJbWUudG9wID0gMDsKCQkJbWUuYm90dG9tID0gbWUuaGVpZ2h0OwoJCX0KCgkJLy8gUmVzZXQgcGFkZGluZwoJCW1lLnBhZGRpbmdMZWZ0ID0gMDsKCQltZS5wYWRkaW5nVG9wID0gMDsKCQltZS5wYWRkaW5nUmlnaHQgPSAwOwoJCW1lLnBhZGRpbmdCb3R0b20gPSAwOwoKCQkvLyBSZXNldCBtaW5TaXplCgkJbWUubWluU2l6ZSA9IHsKCQkJd2lkdGg6IDAsCgkJCWhlaWdodDogMAoJCX07Cgl9LAoJYWZ0ZXJTZXREaW1lbnNpb25zOiBub29wLAoKCS8vCgoJYmVmb3JlQnVpbGRMYWJlbHM6IG5vb3AsCglidWlsZExhYmVsczogbm9vcCwKCWFmdGVyQnVpbGRMYWJlbHM6IG5vb3AsCgoJLy8KCgliZWZvcmVGaXQ6IG5vb3AsCglmaXQ6IGZ1bmN0aW9uKCkgewoJCXZhciBtZSA9IHRoaXM7CgkJdmFyIHZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdDsKCQl2YXIgb3B0cyA9IG1lLm9wdGlvbnM7CgkJdmFyIGRpc3BsYXkgPSBvcHRzLmRpc3BsYXk7CgkJdmFyIGZvbnRTaXplID0gdmFsdWVPckRlZmF1bHQob3B0cy5mb250U2l6ZSwgZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSk7CgkJdmFyIG1pblNpemUgPSBtZS5taW5TaXplOwoJCXZhciBsaW5lQ291bnQgPSBoZWxwZXJzLmlzQXJyYXkob3B0cy50ZXh0KSA/IG9wdHMudGV4dC5sZW5ndGggOiAxOwoJCXZhciBsaW5lSGVpZ2h0ID0gaGVscGVycy5vcHRpb25zLnRvTGluZUhlaWdodChvcHRzLmxpbmVIZWlnaHQsIGZvbnRTaXplKTsKCQl2YXIgdGV4dFNpemUgPSBkaXNwbGF5ID8gKGxpbmVDb3VudCAqIGxpbmVIZWlnaHQpICsgKG9wdHMucGFkZGluZyAqIDIpIDogMDsKCgkJaWYgKG1lLmlzSG9yaXpvbnRhbCgpKSB7CgkJCW1pblNpemUud2lkdGggPSBtZS5tYXhXaWR0aDsgLy8gZmlsbCBhbGwgdGhlIHdpZHRoCgkJCW1pblNpemUuaGVpZ2h0ID0gdGV4dFNpemU7CgkJfSBlbHNlIHsKCQkJbWluU2l6ZS53aWR0aCA9IHRleHRTaXplOwoJCQltaW5TaXplLmhlaWdodCA9IG1lLm1heEhlaWdodDsgLy8gZmlsbCBhbGwgdGhlIGhlaWdodAoJCX0KCgkJbWUud2lkdGggPSBtaW5TaXplLndpZHRoOwoJCW1lLmhlaWdodCA9IG1pblNpemUuaGVpZ2h0OwoKCX0sCglhZnRlckZpdDogbm9vcCwKCgkvLyBTaGFyZWQgTWV0aG9kcwoJaXNIb3Jpem9udGFsOiBmdW5jdGlvbigpIHsKCQl2YXIgcG9zID0gdGhpcy5vcHRpb25zLnBvc2l0aW9uOwoJCXJldHVybiBwb3MgPT09ICd0b3AnIHx8IHBvcyA9PT0gJ2JvdHRvbSc7Cgl9LAoKCS8vIEFjdHVhbGx5IGRyYXcgdGhlIHRpdGxlIGJsb2NrIG9uIHRoZSBjYW52YXMKCWRyYXc6IGZ1bmN0aW9uKCkgewoJCXZhciBtZSA9IHRoaXM7CgkJdmFyIGN0eCA9IG1lLmN0eDsKCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoJCXZhciBvcHRzID0gbWUub3B0aW9uczsKCQl2YXIgZ2xvYmFsRGVmYXVsdHMgPSBkZWZhdWx0cy5nbG9iYWw7CgoJCWlmIChvcHRzLmRpc3BsYXkpIHsKCQkJdmFyIGZvbnRTaXplID0gdmFsdWVPckRlZmF1bHQob3B0cy5mb250U2l6ZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTaXplKTsKCQkJdmFyIGZvbnRTdHlsZSA9IHZhbHVlT3JEZWZhdWx0KG9wdHMuZm9udFN0eWxlLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFN0eWxlKTsKCQkJdmFyIGZvbnRGYW1pbHkgPSB2YWx1ZU9yRGVmYXVsdChvcHRzLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsKCQkJdmFyIHRpdGxlRm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb250U2l6ZSwgZm9udFN0eWxlLCBmb250RmFtaWx5KTsKCQkJdmFyIGxpbmVIZWlnaHQgPSBoZWxwZXJzLm9wdGlvbnMudG9MaW5lSGVpZ2h0KG9wdHMubGluZUhlaWdodCwgZm9udFNpemUpOwoJCQl2YXIgb2Zmc2V0ID0gbGluZUhlaWdodCAvIDIgKyBvcHRzLnBhZGRpbmc7CgkJCXZhciByb3RhdGlvbiA9IDA7CgkJCXZhciB0b3AgPSBtZS50b3A7CgkJCXZhciBsZWZ0ID0gbWUubGVmdDsKCQkJdmFyIGJvdHRvbSA9IG1lLmJvdHRvbTsKCQkJdmFyIHJpZ2h0ID0gbWUucmlnaHQ7CgkJCXZhciBtYXhXaWR0aCwgdGl0bGVYLCB0aXRsZVk7CgoJCQljdHguZmlsbFN0eWxlID0gdmFsdWVPckRlZmF1bHQob3B0cy5mb250Q29sb3IsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250Q29sb3IpOyAvLyByZW5kZXIgaW4gY29ycmVjdCBjb2xvdXIKCQkJY3R4LmZvbnQgPSB0aXRsZUZvbnQ7CgoJCQkvLyBIb3Jpem9udGFsCgkJCWlmIChtZS5pc0hvcml6b250YWwoKSkgewoJCQkJdGl0bGVYID0gbGVmdCArICgocmlnaHQgLSBsZWZ0KSAvIDIpOyAvLyBtaWRwb2ludCBvZiB0aGUgd2lkdGgKCQkJCXRpdGxlWSA9IHRvcCArIG9mZnNldDsKCQkJCW1heFdpZHRoID0gcmlnaHQgLSBsZWZ0OwoJCQl9IGVsc2UgewoJCQkJdGl0bGVYID0gb3B0cy5wb3NpdGlvbiA9PT0gJ2xlZnQnID8gbGVmdCArIG9mZnNldCA6IHJpZ2h0IC0gb2Zmc2V0OwoJCQkJdGl0bGVZID0gdG9wICsgKChib3R0b20gLSB0b3ApIC8gMik7CgkJCQltYXhXaWR0aCA9IGJvdHRvbSAtIHRvcDsKCQkJCXJvdGF0aW9uID0gTWF0aC5QSSAqIChvcHRzLnBvc2l0aW9uID09PSAnbGVmdCcgPyAtMC41IDogMC41KTsKCQkJfQoKCQkJY3R4LnNhdmUoKTsKCQkJY3R4LnRyYW5zbGF0ZSh0aXRsZVgsIHRpdGxlWSk7CgkJCWN0eC5yb3RhdGUocm90YXRpb24pOwoJCQljdHgudGV4dEFsaWduID0gJ2NlbnRlcic7CgkJCWN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJzsKCgkJCXZhciB0ZXh0ID0gb3B0cy50ZXh0OwoJCQlpZiAoaGVscGVycy5pc0FycmF5KHRleHQpKSB7CgkJCQl2YXIgeSA9IDA7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyArK2kpIHsKCQkJCQljdHguZmlsbFRleHQodGV4dFtpXSwgMCwgeSwgbWF4V2lkdGgpOwoJCQkJCXkgKz0gbGluZUhlaWdodDsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWN0eC5maWxsVGV4dCh0ZXh0LCAwLCAwLCBtYXhXaWR0aCk7CgkJCX0KCgkJCWN0eC5yZXN0b3JlKCk7CgkJfQoJfQp9KTsKCmZ1bmN0aW9uIGNyZWF0ZU5ld1RpdGxlQmxvY2tBbmRBdHRhY2goY2hhcnQsIHRpdGxlT3B0cykgewoJdmFyIHRpdGxlID0gbmV3IFRpdGxlKHsKCQljdHg6IGNoYXJ0LmN0eCwKCQlvcHRpb25zOiB0aXRsZU9wdHMsCgkJY2hhcnQ6IGNoYXJ0Cgl9KTsKCglsYXlvdXRzLmNvbmZpZ3VyZShjaGFydCwgdGl0bGUsIHRpdGxlT3B0cyk7CglsYXlvdXRzLmFkZEJveChjaGFydCwgdGl0bGUpOwoJY2hhcnQudGl0bGVCbG9jayA9IHRpdGxlOwp9Cgptb2R1bGUuZXhwb3J0cyA9IHsKCWlkOiAndGl0bGUnLAoKCS8qKgoJICogQmFja3dhcmQgY29tcGF0aWJpbGl0eTogc2luY2UgMi4xLjUsIHRoZSB0aXRsZSBpcyByZWdpc3RlcmVkIGFzIGEgcGx1Z2luLCBtYWtpbmcKCSAqIENoYXJ0LlRpdGxlIG9ic29sZXRlLiBUbyBhdm9pZCBhIGJyZWFraW5nIGNoYW5nZSwgd2UgZXhwb3J0IHRoZSBUaXRsZSBhcyBwYXJ0IG9mCgkgKiB0aGUgcGx1Z2luLCB3aGljaCBvbmUgd2lsbCBiZSByZS1leHBvc2VkIGluIHRoZSBjaGFydC5qcyBmaWxlLgoJICogaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvcHVsbC8yNjQwCgkgKiBAcHJpdmF0ZQoJICovCglfZWxlbWVudDogVGl0bGUsCgoJYmVmb3JlSW5pdDogZnVuY3Rpb24oY2hhcnQpIHsKCQl2YXIgdGl0bGVPcHRzID0gY2hhcnQub3B0aW9ucy50aXRsZTsKCgkJaWYgKHRpdGxlT3B0cykgewoJCQljcmVhdGVOZXdUaXRsZUJsb2NrQW5kQXR0YWNoKGNoYXJ0LCB0aXRsZU9wdHMpOwoJCX0KCX0sCgoJYmVmb3JlVXBkYXRlOiBmdW5jdGlvbihjaGFydCkgewoJCXZhciB0aXRsZU9wdHMgPSBjaGFydC5vcHRpb25zLnRpdGxlOwoJCXZhciB0aXRsZUJsb2NrID0gY2hhcnQudGl0bGVCbG9jazsKCgkJaWYgKHRpdGxlT3B0cykgewoJCQloZWxwZXJzLm1lcmdlSWYodGl0bGVPcHRzLCBkZWZhdWx0cy5nbG9iYWwudGl0bGUpOwoKCQkJaWYgKHRpdGxlQmxvY2spIHsKCQkJCWxheW91dHMuY29uZmlndXJlKGNoYXJ0LCB0aXRsZUJsb2NrLCB0aXRsZU9wdHMpOwoJCQkJdGl0bGVCbG9jay5vcHRpb25zID0gdGl0bGVPcHRzOwoJCQl9IGVsc2UgewoJCQkJY3JlYXRlTmV3VGl0bGVCbG9ja0FuZEF0dGFjaChjaGFydCwgdGl0bGVPcHRzKTsKCQkJfQoJCX0gZWxzZSBpZiAodGl0bGVCbG9jaykgewoJCQlsYXlvdXRzLnJlbW92ZUJveChjaGFydCwgdGl0bGVCbG9jayk7CgkJCWRlbGV0ZSBjaGFydC50aXRsZUJsb2NrOwoJCX0KCX0KfTsKCn0seyIyNSI6MjUsIjI2IjoyNiwiMzAiOjMwLCI0NSI6NDV9XSw1MzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCgkvLyBEZWZhdWx0IGNvbmZpZyBmb3IgYSBjYXRlZ29yeSBzY2FsZQoJdmFyIGRlZmF1bHRDb25maWcgPSB7CgkJcG9zaXRpb246ICdib3R0b20nCgl9OwoKCXZhciBEYXRhc2V0U2NhbGUgPSBDaGFydC5TY2FsZS5leHRlbmQoewoJCS8qKgoJCSogSW50ZXJuYWwgZnVuY3Rpb24gdG8gZ2V0IHRoZSBjb3JyZWN0IGxhYmVscy4gSWYgZGF0YS54TGFiZWxzIG9yIGRhdGEueUxhYmVscyBhcmUgZGVmaW5lZCwgdXNlIHRob3NlCgkJKiBlbHNlIGZhbGwgYmFjayB0byBkYXRhLmxhYmVscwoJCSogQHByaXZhdGUKCQkqLwoJCWdldExhYmVsczogZnVuY3Rpb24oKSB7CgkJCXZhciBkYXRhID0gdGhpcy5jaGFydC5kYXRhOwoJCQlyZXR1cm4gdGhpcy5vcHRpb25zLmxhYmVscyB8fCAodGhpcy5pc0hvcml6b250YWwoKSA/IGRhdGEueExhYmVscyA6IGRhdGEueUxhYmVscykgfHwgZGF0YS5sYWJlbHM7CgkJfSwKCgkJZGV0ZXJtaW5lRGF0YUxpbWl0czogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBsYWJlbHMgPSBtZS5nZXRMYWJlbHMoKTsKCQkJbWUubWluSW5kZXggPSAwOwoJCQltZS5tYXhJbmRleCA9IGxhYmVscy5sZW5ndGggLSAxOwoJCQl2YXIgZmluZEluZGV4OwoKCQkJaWYgKG1lLm9wdGlvbnMudGlja3MubWluICE9PSB1bmRlZmluZWQpIHsKCQkJCS8vIHVzZXIgc3BlY2lmaWVkIG1pbiB2YWx1ZQoJCQkJZmluZEluZGV4ID0gbGFiZWxzLmluZGV4T2YobWUub3B0aW9ucy50aWNrcy5taW4pOwoJCQkJbWUubWluSW5kZXggPSBmaW5kSW5kZXggIT09IC0xID8gZmluZEluZGV4IDogbWUubWluSW5kZXg7CgkJCX0KCgkJCWlmIChtZS5vcHRpb25zLnRpY2tzLm1heCAhPT0gdW5kZWZpbmVkKSB7CgkJCQkvLyB1c2VyIHNwZWNpZmllZCBtYXggdmFsdWUKCQkJCWZpbmRJbmRleCA9IGxhYmVscy5pbmRleE9mKG1lLm9wdGlvbnMudGlja3MubWF4KTsKCQkJCW1lLm1heEluZGV4ID0gZmluZEluZGV4ICE9PSAtMSA/IGZpbmRJbmRleCA6IG1lLm1heEluZGV4OwoJCQl9CgoJCQltZS5taW4gPSBsYWJlbHNbbWUubWluSW5kZXhdOwoJCQltZS5tYXggPSBsYWJlbHNbbWUubWF4SW5kZXhdOwoJCX0sCgoJCWJ1aWxkVGlja3M6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbGFiZWxzID0gbWUuZ2V0TGFiZWxzKCk7CgkJCS8vIElmIHdlIGFyZSB2aWV3aW5nIHNvbWUgc3Vic2V0IG9mIGxhYmVscywgc2xpY2UgdGhlIG9yaWdpbmFsIGFycmF5CgkJCW1lLnRpY2tzID0gKG1lLm1pbkluZGV4ID09PSAwICYmIG1lLm1heEluZGV4ID09PSBsYWJlbHMubGVuZ3RoIC0gMSkgPyBsYWJlbHMgOiBsYWJlbHMuc2xpY2UobWUubWluSW5kZXgsIG1lLm1heEluZGV4ICsgMSk7CgkJfSwKCgkJZ2V0TGFiZWxGb3JJbmRleDogZnVuY3Rpb24oaW5kZXgsIGRhdGFzZXRJbmRleCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgZGF0YSA9IG1lLmNoYXJ0LmRhdGE7CgkJCXZhciBpc0hvcml6b250YWwgPSBtZS5pc0hvcml6b250YWwoKTsKCgkJCWlmIChkYXRhLnlMYWJlbHMgJiYgIWlzSG9yaXpvbnRhbCkgewoJCQkJcmV0dXJuIG1lLmdldFJpZ2h0VmFsdWUoZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdLmRhdGFbaW5kZXhdKTsKCQkJfQoJCQlyZXR1cm4gbWUudGlja3NbaW5kZXggLSBtZS5taW5JbmRleF07CgkJfSwKCgkJLy8gVXNlZCB0byBnZXQgZGF0YSB2YWx1ZSBsb2NhdGlvbnMuICBWYWx1ZSBjYW4gZWl0aGVyIGJlIGFuIGluZGV4IG9yIGEgbnVtZXJpY2FsIHZhbHVlCgkJZ2V0UGl4ZWxGb3JWYWx1ZTogZnVuY3Rpb24odmFsdWUsIGluZGV4KSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBvZmZzZXQgPSBtZS5vcHRpb25zLm9mZnNldDsKCQkJLy8gMSBpcyBhZGRlZCBiZWNhdXNlIHdlIG5lZWQgdGhlIGxlbmd0aCBidXQgd2UgaGF2ZSB0aGUgaW5kZXhlcwoJCQl2YXIgb2Zmc2V0QW10ID0gTWF0aC5tYXgoKG1lLm1heEluZGV4ICsgMSAtIG1lLm1pbkluZGV4IC0gKG9mZnNldCA/IDAgOiAxKSksIDEpOwoKCQkJLy8gSWYgdmFsdWUgaXMgYSBkYXRhIG9iamVjdCwgdGhlbiBpbmRleCBpcyB0aGUgaW5kZXggaW4gdGhlIGRhdGEgYXJyYXksCgkJCS8vIG5vdCB0aGUgaW5kZXggb2YgdGhlIHNjYWxlLiBXZSBuZWVkIHRvIGNoYW5nZSB0aGF0LgoJCQl2YXIgdmFsdWVDYXRlZ29yeTsKCQkJaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHsKCQkJCXZhbHVlQ2F0ZWdvcnkgPSBtZS5pc0hvcml6b250YWwoKSA/IHZhbHVlLnggOiB2YWx1ZS55OwoJCQl9CgkJCWlmICh2YWx1ZUNhdGVnb3J5ICE9PSB1bmRlZmluZWQgfHwgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgaXNOYU4oaW5kZXgpKSkgewoJCQkJdmFyIGxhYmVscyA9IG1lLmdldExhYmVscygpOwoJCQkJdmFsdWUgPSB2YWx1ZUNhdGVnb3J5IHx8IHZhbHVlOwoJCQkJdmFyIGlkeCA9IGxhYmVscy5pbmRleE9mKHZhbHVlKTsKCQkJCWluZGV4ID0gaWR4ICE9PSAtMSA/IGlkeCA6IGluZGV4OwoJCQl9CgoJCQlpZiAobWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJCXZhciB2YWx1ZVdpZHRoID0gbWUud2lkdGggLyBvZmZzZXRBbXQ7CgkJCQl2YXIgd2lkdGhPZmZzZXQgPSAodmFsdWVXaWR0aCAqIChpbmRleCAtIG1lLm1pbkluZGV4KSk7CgoJCQkJaWYgKG9mZnNldCkgewoJCQkJCXdpZHRoT2Zmc2V0ICs9ICh2YWx1ZVdpZHRoIC8gMik7CgkJCQl9CgoJCQkJcmV0dXJuIG1lLmxlZnQgKyBNYXRoLnJvdW5kKHdpZHRoT2Zmc2V0KTsKCQkJfQoJCQl2YXIgdmFsdWVIZWlnaHQgPSBtZS5oZWlnaHQgLyBvZmZzZXRBbXQ7CgkJCXZhciBoZWlnaHRPZmZzZXQgPSAodmFsdWVIZWlnaHQgKiAoaW5kZXggLSBtZS5taW5JbmRleCkpOwoKCQkJaWYgKG9mZnNldCkgewoJCQkJaGVpZ2h0T2Zmc2V0ICs9ICh2YWx1ZUhlaWdodCAvIDIpOwoJCQl9CgoJCQlyZXR1cm4gbWUudG9wICsgTWF0aC5yb3VuZChoZWlnaHRPZmZzZXQpOwoJCX0sCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCkgewoJCQlyZXR1cm4gdGhpcy5nZXRQaXhlbEZvclZhbHVlKHRoaXMudGlja3NbaW5kZXhdLCBpbmRleCArIHRoaXMubWluSW5kZXgsIG51bGwpOwoJCX0sCgkJZ2V0VmFsdWVGb3JQaXhlbDogZnVuY3Rpb24ocGl4ZWwpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9mZnNldCA9IG1lLm9wdGlvbnMub2Zmc2V0OwoJCQl2YXIgdmFsdWU7CgkJCXZhciBvZmZzZXRBbXQgPSBNYXRoLm1heCgobWUuX3RpY2tzLmxlbmd0aCAtIChvZmZzZXQgPyAwIDogMSkpLCAxKTsKCQkJdmFyIGhvcnogPSBtZS5pc0hvcml6b250YWwoKTsKCQkJdmFyIHZhbHVlRGltZW5zaW9uID0gKGhvcnogPyBtZS53aWR0aCA6IG1lLmhlaWdodCkgLyBvZmZzZXRBbXQ7CgoJCQlwaXhlbCAtPSBob3J6ID8gbWUubGVmdCA6IG1lLnRvcDsKCgkJCWlmIChvZmZzZXQpIHsKCQkJCXBpeGVsIC09ICh2YWx1ZURpbWVuc2lvbiAvIDIpOwoJCQl9CgoJCQlpZiAocGl4ZWwgPD0gMCkgewoJCQkJdmFsdWUgPSAwOwoJCQl9IGVsc2UgewoJCQkJdmFsdWUgPSBNYXRoLnJvdW5kKHBpeGVsIC8gdmFsdWVEaW1lbnNpb24pOwoJCQl9CgoJCQlyZXR1cm4gdmFsdWUgKyBtZS5taW5JbmRleDsKCQl9LAoJCWdldEJhc2VQaXhlbDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLmJvdHRvbTsKCQl9Cgl9KTsKCglDaGFydC5zY2FsZVNlcnZpY2UucmVnaXN0ZXJTY2FsZVR5cGUoJ2NhdGVnb3J5JywgRGF0YXNldFNjYWxlLCBkZWZhdWx0Q29uZmlnKTsKCn07Cgp9LHt9XSw1NDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoMjUpOwp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgVGlja3MgPSByZXF1aXJlKDM0KTsKCm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oQ2hhcnQpIHsKCgl2YXIgZGVmYXVsdENvbmZpZyA9IHsKCQlwb3NpdGlvbjogJ2xlZnQnLAoJCXRpY2tzOiB7CgkJCWNhbGxiYWNrOiBUaWNrcy5mb3JtYXR0ZXJzLmxpbmVhcgoJCX0KCX07CgoJdmFyIExpbmVhclNjYWxlID0gQ2hhcnQuTGluZWFyU2NhbGVCYXNlLmV4dGVuZCh7CgoJCWRldGVybWluZURhdGFMaW1pdHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0cyA9IG1lLm9wdGlvbnM7CgkJCXZhciBjaGFydCA9IG1lLmNoYXJ0OwoJCQl2YXIgZGF0YSA9IGNoYXJ0LmRhdGE7CgkJCXZhciBkYXRhc2V0cyA9IGRhdGEuZGF0YXNldHM7CgkJCXZhciBpc0hvcml6b250YWwgPSBtZS5pc0hvcml6b250YWwoKTsKCQkJdmFyIERFRkFVTFRfTUlOID0gMDsKCQkJdmFyIERFRkFVTFRfTUFYID0gMTsKCgkJCWZ1bmN0aW9uIElETWF0Y2hlcyhtZXRhKSB7CgkJCQlyZXR1cm4gaXNIb3Jpem9udGFsID8gbWV0YS54QXhpc0lEID09PSBtZS5pZCA6IG1ldGEueUF4aXNJRCA9PT0gbWUuaWQ7CgkJCX0KCgkJCS8vIEZpcnN0IENhbGN1bGF0ZSB0aGUgcmFuZ2UKCQkJbWUubWluID0gbnVsbDsKCQkJbWUubWF4ID0gbnVsbDsKCgkJCXZhciBoYXNTdGFja3MgPSBvcHRzLnN0YWNrZWQ7CgkJCWlmIChoYXNTdGFja3MgPT09IHVuZGVmaW5lZCkgewoJCQkJaGVscGVycy5lYWNoKGRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsKCQkJCQlpZiAoaGFzU3RhY2tzKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsKCQkJCQlpZiAoY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShkYXRhc2V0SW5kZXgpICYmIElETWF0Y2hlcyhtZXRhKSAmJgoJCQkJCQltZXRhLnN0YWNrICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJaGFzU3RhY2tzID0gdHJ1ZTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoKCQkJaWYgKG9wdHMuc3RhY2tlZCB8fCBoYXNTdGFja3MpIHsKCQkJCXZhciB2YWx1ZXNQZXJTdGFjayA9IHt9OwoKCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7CgkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQkJCXZhciBrZXkgPSBbCgkJCQkJCW1ldGEudHlwZSwKCQkJCQkJLy8gd2UgaGF2ZSBhIHNlcGFyYXRlIHN0YWNrIGZvciBzdGFjaz11bmRlZmluZWQgZGF0YXNldHMgd2hlbiB0aGUgb3B0cy5zdGFja2VkIGlzIHVuZGVmaW5lZAoJCQkJCQkoKG9wdHMuc3RhY2tlZCA9PT0gdW5kZWZpbmVkICYmIG1ldGEuc3RhY2sgPT09IHVuZGVmaW5lZCkgPyBkYXRhc2V0SW5kZXggOiAnJyksCgkJCQkJCW1ldGEuc3RhY2sKCQkJCQldLmpvaW4oJy4nKTsKCgkJCQkJaWYgKHZhbHVlc1BlclN0YWNrW2tleV0gPT09IHVuZGVmaW5lZCkgewoJCQkJCQl2YWx1ZXNQZXJTdGFja1trZXldID0gewoJCQkJCQkJcG9zaXRpdmVWYWx1ZXM6IFtdLAoJCQkJCQkJbmVnYXRpdmVWYWx1ZXM6IFtdCgkJCQkJCX07CgkJCQkJfQoKCQkJCQkvLyBTdG9yZSB0aGVzZSBwZXIgdHlwZQoJCQkJCXZhciBwb3NpdGl2ZVZhbHVlcyA9IHZhbHVlc1BlclN0YWNrW2tleV0ucG9zaXRpdmVWYWx1ZXM7CgkJCQkJdmFyIG5lZ2F0aXZlVmFsdWVzID0gdmFsdWVzUGVyU3RhY2tba2V5XS5uZWdhdGl2ZVZhbHVlczsKCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsKCQkJCQkJaGVscGVycy5lYWNoKGRhdGFzZXQuZGF0YSwgZnVuY3Rpb24ocmF3VmFsdWUsIGluZGV4KSB7CgkJCQkJCQl2YXIgdmFsdWUgPSArbWUuZ2V0UmlnaHRWYWx1ZShyYXdWYWx1ZSk7CgkJCQkJCQlpZiAoaXNOYU4odmFsdWUpIHx8IG1ldGEuZGF0YVtpbmRleF0uaGlkZGVuKSB7CgkJCQkJCQkJcmV0dXJuOwoJCQkJCQkJfQoKCQkJCQkJCXBvc2l0aXZlVmFsdWVzW2luZGV4XSA9IHBvc2l0aXZlVmFsdWVzW2luZGV4XSB8fCAwOwoJCQkJCQkJbmVnYXRpdmVWYWx1ZXNbaW5kZXhdID0gbmVnYXRpdmVWYWx1ZXNbaW5kZXhdIHx8IDA7CgoJCQkJCQkJaWYgKG9wdHMucmVsYXRpdmVQb2ludHMpIHsKCQkJCQkJCQlwb3NpdGl2ZVZhbHVlc1tpbmRleF0gPSAxMDA7CgkJCQkJCQl9IGVsc2UgaWYgKHZhbHVlIDwgMCkgewoJCQkJCQkJCW5lZ2F0aXZlVmFsdWVzW2luZGV4XSArPSB2YWx1ZTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJcG9zaXRpdmVWYWx1ZXNbaW5kZXhdICs9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9KTsKCgkJCQloZWxwZXJzLmVhY2godmFsdWVzUGVyU3RhY2ssIGZ1bmN0aW9uKHZhbHVlc0ZvclR5cGUpIHsKCQkJCQl2YXIgdmFsdWVzID0gdmFsdWVzRm9yVHlwZS5wb3NpdGl2ZVZhbHVlcy5jb25jYXQodmFsdWVzRm9yVHlwZS5uZWdhdGl2ZVZhbHVlcyk7CgkJCQkJdmFyIG1pblZhbCA9IGhlbHBlcnMubWluKHZhbHVlcyk7CgkJCQkJdmFyIG1heFZhbCA9IGhlbHBlcnMubWF4KHZhbHVlcyk7CgkJCQkJbWUubWluID0gbWUubWluID09PSBudWxsID8gbWluVmFsIDogTWF0aC5taW4obWUubWluLCBtaW5WYWwpOwoJCQkJCW1lLm1heCA9IG1lLm1heCA9PT0gbnVsbCA/IG1heFZhbCA6IE1hdGgubWF4KG1lLm1heCwgbWF4VmFsKTsKCQkJCX0pOwoKCQkJfSBlbHNlIHsKCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7CgkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQkJCWlmIChjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkgJiYgSURNYXRjaGVzKG1ldGEpKSB7CgkJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgewoJCQkJCQkJdmFyIHZhbHVlID0gK21lLmdldFJpZ2h0VmFsdWUocmF3VmFsdWUpOwoJCQkJCQkJaWYgKGlzTmFOKHZhbHVlKSB8fCBtZXRhLmRhdGFbaW5kZXhdLmhpZGRlbikgewoJCQkJCQkJCXJldHVybjsKCQkJCQkJCX0KCgkJCQkJCQlpZiAobWUubWluID09PSBudWxsKSB7CgkJCQkJCQkJbWUubWluID0gdmFsdWU7CgkJCQkJCQl9IGVsc2UgaWYgKHZhbHVlIDwgbWUubWluKSB7CgkJCQkJCQkJbWUubWluID0gdmFsdWU7CgkJCQkJCQl9CgoJCQkJCQkJaWYgKG1lLm1heCA9PT0gbnVsbCkgewoJCQkJCQkJCW1lLm1heCA9IHZhbHVlOwoJCQkJCQkJfSBlbHNlIGlmICh2YWx1ZSA+IG1lLm1heCkgewoJCQkJCQkJCW1lLm1heCA9IHZhbHVlOwoJCQkJCQkJfQoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoKCQkJbWUubWluID0gaXNGaW5pdGUobWUubWluKSAmJiAhaXNOYU4obWUubWluKSA/IG1lLm1pbiA6IERFRkFVTFRfTUlOOwoJCQltZS5tYXggPSBpc0Zpbml0ZShtZS5tYXgpICYmICFpc05hTihtZS5tYXgpID8gbWUubWF4IDogREVGQVVMVF9NQVg7CgoJCQkvLyBDb21tb24gYmFzZSBpbXBsZW1lbnRhdGlvbiB0byBoYW5kbGUgdGlja3MubWluLCB0aWNrcy5tYXgsIHRpY2tzLmJlZ2luQXRaZXJvCgkJCXRoaXMuaGFuZGxlVGlja1JhbmdlT3B0aW9ucygpOwoJCX0sCgkJZ2V0VGlja0xpbWl0OiBmdW5jdGlvbigpIHsKCQkJdmFyIG1heFRpY2tzOwoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgdGlja09wdHMgPSBtZS5vcHRpb25zLnRpY2tzOwoKCQkJaWYgKG1lLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQltYXhUaWNrcyA9IE1hdGgubWluKHRpY2tPcHRzLm1heFRpY2tzTGltaXQgPyB0aWNrT3B0cy5tYXhUaWNrc0xpbWl0IDogMTEsIE1hdGguY2VpbChtZS53aWR0aCAvIDUwKSk7CgkJCX0gZWxzZSB7CgkJCQkvLyBUaGUgZmFjdG9yIG9mIDIgdXNlZCB0byBzY2FsZSB0aGUgZm9udCBzaXplIGhhcyBiZWVuIGV4cGVyaW1lbnRhbGx5IGRldGVybWluZWQuCgkJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5mb250U2l6ZSwgZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZSk7CgkJCQltYXhUaWNrcyA9IE1hdGgubWluKHRpY2tPcHRzLm1heFRpY2tzTGltaXQgPyB0aWNrT3B0cy5tYXhUaWNrc0xpbWl0IDogMTEsIE1hdGguY2VpbChtZS5oZWlnaHQgLyAoMiAqIHRpY2tGb250U2l6ZSkpKTsKCQkJfQoKCQkJcmV0dXJuIG1heFRpY2tzOwoJCX0sCgkJLy8gQ2FsbGVkIGFmdGVyIHRoZSB0aWNrcyBhcmUgYnVpbHQuIFdlIG5lZWQKCQloYW5kbGVEaXJlY3Rpb25hbENoYW5nZXM6IGZ1bmN0aW9uKCkgewoJCQlpZiAoIXRoaXMuaXNIb3Jpem9udGFsKCkpIHsKCQkJCS8vIFdlIGFyZSBpbiBhIHZlcnRpY2FsIG9yaWVudGF0aW9uLiBUaGUgdG9wIHZhbHVlIGlzIHRoZSBoaWdoZXN0LiBTbyByZXZlcnNlIHRoZSBhcnJheQoJCQkJdGhpcy50aWNrcy5yZXZlcnNlKCk7CgkJCX0KCQl9LAoJCWdldExhYmVsRm9ySW5kZXg6IGZ1bmN0aW9uKGluZGV4LCBkYXRhc2V0SW5kZXgpIHsKCQkJcmV0dXJuICt0aGlzLmdldFJpZ2h0VmFsdWUodGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uZGF0YVtpbmRleF0pOwoJCX0sCgkJLy8gVXRpbHMKCQlnZXRQaXhlbEZvclZhbHVlOiBmdW5jdGlvbih2YWx1ZSkgewoJCQkvLyBUaGlzIG11c3QgYmUgY2FsbGVkIGFmdGVyIGZpdCBoYXMgYmVlbiBydW4gc28gdGhhdAoJCQkvLyB0aGlzLmxlZnQsIHRoaXMudG9wLCB0aGlzLnJpZ2h0LCBhbmQgdGhpcy5ib3R0b20gaGF2ZSBiZWVuIGRlZmluZWQKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHN0YXJ0ID0gbWUuc3RhcnQ7CgoJCQl2YXIgcmlnaHRWYWx1ZSA9ICttZS5nZXRSaWdodFZhbHVlKHZhbHVlKTsKCQkJdmFyIHBpeGVsOwoJCQl2YXIgcmFuZ2UgPSBtZS5lbmQgLSBzdGFydDsKCgkJCWlmIChtZS5pc0hvcml6b250YWwoKSkgewoJCQkJcGl4ZWwgPSBtZS5sZWZ0ICsgKG1lLndpZHRoIC8gcmFuZ2UgKiAocmlnaHRWYWx1ZSAtIHN0YXJ0KSk7CgkJCX0gZWxzZSB7CgkJCQlwaXhlbCA9IG1lLmJvdHRvbSAtIChtZS5oZWlnaHQgLyByYW5nZSAqIChyaWdodFZhbHVlIC0gc3RhcnQpKTsKCQkJfQoJCQlyZXR1cm4gcGl4ZWw7CgkJfSwKCQlnZXRWYWx1ZUZvclBpeGVsOiBmdW5jdGlvbihwaXhlbCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgaXNIb3Jpem9udGFsID0gbWUuaXNIb3Jpem9udGFsKCk7CgkJCXZhciBpbm5lckRpbWVuc2lvbiA9IGlzSG9yaXpvbnRhbCA/IG1lLndpZHRoIDogbWUuaGVpZ2h0OwoJCQl2YXIgb2Zmc2V0ID0gKGlzSG9yaXpvbnRhbCA/IHBpeGVsIC0gbWUubGVmdCA6IG1lLmJvdHRvbSAtIHBpeGVsKSAvIGlubmVyRGltZW5zaW9uOwoJCQlyZXR1cm4gbWUuc3RhcnQgKyAoKG1lLmVuZCAtIG1lLnN0YXJ0KSAqIG9mZnNldCk7CgkJfSwKCQlnZXRQaXhlbEZvclRpY2s6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXJldHVybiB0aGlzLmdldFBpeGVsRm9yVmFsdWUodGhpcy50aWNrc0FzTnVtYmVyc1tpbmRleF0pOwoJCX0KCX0pOwoJQ2hhcnQuc2NhbGVTZXJ2aWNlLnJlZ2lzdGVyU2NhbGVUeXBlKCdsaW5lYXInLCBMaW5lYXJTY2FsZSwgZGVmYXVsdENvbmZpZyk7Cgp9OwoKfSx7IjI1IjoyNSwiMzQiOjM0LCI0NSI6NDV9XSw1NTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7Cid1c2Ugc3RyaWN0JzsKCnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7CgovKioKICogR2VuZXJhdGUgYSBzZXQgb2YgbGluZWFyIHRpY2tzCiAqIEBwYXJhbSBnZW5lcmF0aW9uT3B0aW9ucyB0aGUgb3B0aW9ucyB1c2VkIHRvIGdlbmVyYXRlIHRoZSB0aWNrcwogKiBAcGFyYW0gZGF0YVJhbmdlIHRoZSByYW5nZSBvZiB0aGUgZGF0YQogKiBAcmV0dXJucyB7QXJyYXk8TnVtYmVyPn0gYXJyYXkgb2YgdGljayB2YWx1ZXMKICovCmZ1bmN0aW9uIGdlbmVyYXRlVGlja3MoZ2VuZXJhdGlvbk9wdGlvbnMsIGRhdGFSYW5nZSkgewoJdmFyIHRpY2tzID0gW107CgkvLyBUbyBnZXQgYSAibmljZSIgdmFsdWUgZm9yIHRoZSB0aWNrIHNwYWNpbmcsIHdlIHdpbGwgdXNlIHRoZSBhcHByb3ByaWF0ZWx5IG5hbWVkCgkvLyAibmljZSBudW1iZXIiIGFsZ29yaXRobS4gU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvODUwNjg4MS9uaWNlLWxhYmVsLWFsZ29yaXRobS1mb3ItY2hhcnRzLXdpdGgtbWluaW11bS10aWNrcwoJLy8gZm9yIGRldGFpbHMuCgoJdmFyIHNwYWNpbmc7CglpZiAoZ2VuZXJhdGlvbk9wdGlvbnMuc3RlcFNpemUgJiYgZ2VuZXJhdGlvbk9wdGlvbnMuc3RlcFNpemUgPiAwKSB7CgkJc3BhY2luZyA9IGdlbmVyYXRpb25PcHRpb25zLnN0ZXBTaXplOwoJfSBlbHNlIHsKCQl2YXIgbmljZVJhbmdlID0gaGVscGVycy5uaWNlTnVtKGRhdGFSYW5nZS5tYXggLSBkYXRhUmFuZ2UubWluLCBmYWxzZSk7CgkJc3BhY2luZyA9IGhlbHBlcnMubmljZU51bShuaWNlUmFuZ2UgLyAoZ2VuZXJhdGlvbk9wdGlvbnMubWF4VGlja3MgLSAxKSwgdHJ1ZSk7Cgl9Cgl2YXIgbmljZU1pbiA9IE1hdGguZmxvb3IoZGF0YVJhbmdlLm1pbiAvIHNwYWNpbmcpICogc3BhY2luZzsKCXZhciBuaWNlTWF4ID0gTWF0aC5jZWlsKGRhdGFSYW5nZS5tYXggLyBzcGFjaW5nKSAqIHNwYWNpbmc7CgoJLy8gSWYgbWluLCBtYXggYW5kIHN0ZXBTaXplIGlzIHNldCBhbmQgdGhleSBtYWtlIGFuIGV2ZW5seSBzcGFjZWQgc2NhbGUgdXNlIGl0LgoJaWYgKGdlbmVyYXRpb25PcHRpb25zLm1pbiAmJiBnZW5lcmF0aW9uT3B0aW9ucy5tYXggJiYgZ2VuZXJhdGlvbk9wdGlvbnMuc3RlcFNpemUpIHsKCQkvLyBJZiB2ZXJ5IGNsb3NlIHRvIG91ciB3aG9sZSBudW1iZXIsIHVzZSBpdC4KCQlpZiAoaGVscGVycy5hbG1vc3RXaG9sZSgoZ2VuZXJhdGlvbk9wdGlvbnMubWF4IC0gZ2VuZXJhdGlvbk9wdGlvbnMubWluKSAvIGdlbmVyYXRpb25PcHRpb25zLnN0ZXBTaXplLCBzcGFjaW5nIC8gMTAwMCkpIHsKCQkJbmljZU1pbiA9IGdlbmVyYXRpb25PcHRpb25zLm1pbjsKCQkJbmljZU1heCA9IGdlbmVyYXRpb25PcHRpb25zLm1heDsKCQl9Cgl9CgoJdmFyIG51bVNwYWNlcyA9IChuaWNlTWF4IC0gbmljZU1pbikgLyBzcGFjaW5nOwoJLy8gSWYgdmVyeSBjbG9zZSB0byBvdXIgcm91bmRlZCB2YWx1ZSwgdXNlIGl0LgoJaWYgKGhlbHBlcnMuYWxtb3N0RXF1YWxzKG51bVNwYWNlcywgTWF0aC5yb3VuZChudW1TcGFjZXMpLCBzcGFjaW5nIC8gMTAwMCkpIHsKCQludW1TcGFjZXMgPSBNYXRoLnJvdW5kKG51bVNwYWNlcyk7Cgl9IGVsc2UgewoJCW51bVNwYWNlcyA9IE1hdGguY2VpbChudW1TcGFjZXMpOwoJfQoKCXZhciBwcmVjaXNpb24gPSAxOwoJaWYgKHNwYWNpbmcgPCAxKSB7CgkJcHJlY2lzaW9uID0gTWF0aC5wb3coMTAsIHNwYWNpbmcudG9TdHJpbmcoKS5sZW5ndGggLSAyKTsKCQluaWNlTWluID0gTWF0aC5yb3VuZChuaWNlTWluICogcHJlY2lzaW9uKSAvIHByZWNpc2lvbjsKCQluaWNlTWF4ID0gTWF0aC5yb3VuZChuaWNlTWF4ICogcHJlY2lzaW9uKSAvIHByZWNpc2lvbjsKCX0KCXRpY2tzLnB1c2goZ2VuZXJhdGlvbk9wdGlvbnMubWluICE9PSB1bmRlZmluZWQgPyBnZW5lcmF0aW9uT3B0aW9ucy5taW4gOiBuaWNlTWluKTsKCWZvciAodmFyIGogPSAxOyBqIDwgbnVtU3BhY2VzOyArK2opIHsKCQl0aWNrcy5wdXNoKE1hdGgucm91bmQoKG5pY2VNaW4gKyBqICogc3BhY2luZykgKiBwcmVjaXNpb24pIC8gcHJlY2lzaW9uKTsKCX0KCXRpY2tzLnB1c2goZ2VuZXJhdGlvbk9wdGlvbnMubWF4ICE9PSB1bmRlZmluZWQgPyBnZW5lcmF0aW9uT3B0aW9ucy5tYXggOiBuaWNlTWF4KTsKCglyZXR1cm4gdGlja3M7Cn0KCgptb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKENoYXJ0KSB7CgoJdmFyIG5vb3AgPSBoZWxwZXJzLm5vb3A7CgoJQ2hhcnQuTGluZWFyU2NhbGVCYXNlID0gQ2hhcnQuU2NhbGUuZXh0ZW5kKHsKCQlnZXRSaWdodFZhbHVlOiBmdW5jdGlvbih2YWx1ZSkgewoJCQlpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgewoJCQkJcmV0dXJuICt2YWx1ZTsKCQkJfQoJCQlyZXR1cm4gQ2hhcnQuU2NhbGUucHJvdG90eXBlLmdldFJpZ2h0VmFsdWUuY2FsbCh0aGlzLCB2YWx1ZSk7CgkJfSwKCgkJaGFuZGxlVGlja1JhbmdlT3B0aW9uczogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBvcHRzID0gbWUub3B0aW9uczsKCQkJdmFyIHRpY2tPcHRzID0gb3B0cy50aWNrczsKCgkJCS8vIElmIHdlIGFyZSBmb3JjaW5nIGl0IHRvIGJlZ2luIGF0IDAsIGJ1dCAwIHdpbGwgYWxyZWFkeSBiZSByZW5kZXJlZCBvbiB0aGUgY2hhcnQsCgkJCS8vIGRvIG5vdGhpbmcgc2luY2UgdGhhdCB3b3VsZCBtYWtlIHRoZSBjaGFydCB3ZWlyZC4gSWYgdGhlIHVzZXIgcmVhbGx5IHdhbnRzIGEgd2VpcmQgY2hhcnQKCQkJLy8gYXhpcywgdGhleSBjYW4gbWFudWFsbHkgb3ZlcnJpZGUgaXQKCQkJaWYgKHRpY2tPcHRzLmJlZ2luQXRaZXJvKSB7CgkJCQl2YXIgbWluU2lnbiA9IGhlbHBlcnMuc2lnbihtZS5taW4pOwoJCQkJdmFyIG1heFNpZ24gPSBoZWxwZXJzLnNpZ24obWUubWF4KTsKCgkJCQlpZiAobWluU2lnbiA8IDAgJiYgbWF4U2lnbiA8IDApIHsKCQkJCQkvLyBtb3ZlIHRoZSB0b3AgdXAgdG8gMAoJCQkJCW1lLm1heCA9IDA7CgkJCQl9IGVsc2UgaWYgKG1pblNpZ24gPiAwICYmIG1heFNpZ24gPiAwKSB7CgkJCQkJLy8gbW92ZSB0aGUgYm90dG9tIGRvd24gdG8gMAoJCQkJCW1lLm1pbiA9IDA7CgkJCQl9CgkJCX0KCgkJCXZhciBzZXRNaW4gPSB0aWNrT3B0cy5taW4gIT09IHVuZGVmaW5lZCB8fCB0aWNrT3B0cy5zdWdnZXN0ZWRNaW4gIT09IHVuZGVmaW5lZDsKCQkJdmFyIHNldE1heCA9IHRpY2tPcHRzLm1heCAhPT0gdW5kZWZpbmVkIHx8IHRpY2tPcHRzLnN1Z2dlc3RlZE1heCAhPT0gdW5kZWZpbmVkOwoKCQkJaWYgKHRpY2tPcHRzLm1pbiAhPT0gdW5kZWZpbmVkKSB7CgkJCQltZS5taW4gPSB0aWNrT3B0cy5taW47CgkJCX0gZWxzZSBpZiAodGlja09wdHMuc3VnZ2VzdGVkTWluICE9PSB1bmRlZmluZWQpIHsKCQkJCWlmIChtZS5taW4gPT09IG51bGwpIHsKCQkJCQltZS5taW4gPSB0aWNrT3B0cy5zdWdnZXN0ZWRNaW47CgkJCQl9IGVsc2UgewoJCQkJCW1lLm1pbiA9IE1hdGgubWluKG1lLm1pbiwgdGlja09wdHMuc3VnZ2VzdGVkTWluKTsKCQkJCX0KCQkJfQoKCQkJaWYgKHRpY2tPcHRzLm1heCAhPT0gdW5kZWZpbmVkKSB7CgkJCQltZS5tYXggPSB0aWNrT3B0cy5tYXg7CgkJCX0gZWxzZSBpZiAodGlja09wdHMuc3VnZ2VzdGVkTWF4ICE9PSB1bmRlZmluZWQpIHsKCQkJCWlmIChtZS5tYXggPT09IG51bGwpIHsKCQkJCQltZS5tYXggPSB0aWNrT3B0cy5zdWdnZXN0ZWRNYXg7CgkJCQl9IGVsc2UgewoJCQkJCW1lLm1heCA9IE1hdGgubWF4KG1lLm1heCwgdGlja09wdHMuc3VnZ2VzdGVkTWF4KTsKCQkJCX0KCQkJfQoKCQkJaWYgKHNldE1pbiAhPT0gc2V0TWF4KSB7CgkJCQkvLyBXZSBzZXQgdGhlIG1pbiBvciB0aGUgbWF4IGJ1dCBub3QgYm90aC4KCQkJCS8vIFNvIGVuc3VyZSB0aGF0IG91ciByYW5nZSBpcyBnb29kCgkJCQkvLyBJbnZlcnRlZCBvciAwIGxlbmd0aCByYW5nZSBjYW4gaGFwcGVuIHdoZW4KCQkJCS8vIHRpY2tzLm1pbiBpcyBzZXQsIGFuZCBubyBkYXRhc2V0cyBhcmUgdmlzaWJsZQoJCQkJaWYgKG1lLm1pbiA+PSBtZS5tYXgpIHsKCQkJCQlpZiAoc2V0TWluKSB7CgkJCQkJCW1lLm1heCA9IG1lLm1pbiArIDE7CgkJCQkJfSBlbHNlIHsKCQkJCQkJbWUubWluID0gbWUubWF4IC0gMTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCWlmIChtZS5taW4gPT09IG1lLm1heCkgewoJCQkJbWUubWF4Kys7CgoJCQkJaWYgKCF0aWNrT3B0cy5iZWdpbkF0WmVybykgewoJCQkJCW1lLm1pbi0tOwoJCQkJfQoJCQl9CgkJfSwKCQlnZXRUaWNrTGltaXQ6IG5vb3AsCgkJaGFuZGxlRGlyZWN0aW9uYWxDaGFuZ2VzOiBub29wLAoKCQlidWlsZFRpY2tzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdHMgPSBtZS5vcHRpb25zOwoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOwoKCQkJLy8gRmlndXJlIG91dCB3aGF0IHRoZSBtYXggbnVtYmVyIG9mIHRpY2tzIHdlIGNhbiBzdXBwb3J0IGl0IGlzIGJhc2VkIG9uIHRoZSBzaXplIG9mCgkJCS8vIHRoZSBheGlzIGFyZWEuIEZvciBub3csIHdlIHNheSB0aGF0IHRoZSBtaW5pbXVtIHRpY2sgc3BhY2luZyBpbiBwaXhlbHMgbXVzdCBiZSA1MAoJCQkvLyBXZSBhbHNvIGxpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBvZiB0aWNrcyB0byAxMSB3aGljaCBnaXZlcyBhIG5pY2UgMTAgc3F1YXJlcyBvbgoJCQkvLyB0aGUgZ3JhcGguIE1ha2Ugc3VyZSB3ZSBhbHdheXMgaGF2ZSBhdCBsZWFzdCAyIHRpY2tzCgkJCXZhciBtYXhUaWNrcyA9IG1lLmdldFRpY2tMaW1pdCgpOwoJCQltYXhUaWNrcyA9IE1hdGgubWF4KDIsIG1heFRpY2tzKTsKCgkJCXZhciBudW1lcmljR2VuZXJhdG9yT3B0aW9ucyA9IHsKCQkJCW1heFRpY2tzOiBtYXhUaWNrcywKCQkJCW1pbjogdGlja09wdHMubWluLAoJCQkJbWF4OiB0aWNrT3B0cy5tYXgsCgkJCQlzdGVwU2l6ZTogaGVscGVycy52YWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5maXhlZFN0ZXBTaXplLCB0aWNrT3B0cy5zdGVwU2l6ZSkKCQkJfTsKCQkJdmFyIHRpY2tzID0gbWUudGlja3MgPSBnZW5lcmF0ZVRpY2tzKG51bWVyaWNHZW5lcmF0b3JPcHRpb25zLCBtZSk7CgoJCQltZS5oYW5kbGVEaXJlY3Rpb25hbENoYW5nZXMoKTsKCgkJCS8vIEF0IHRoaXMgcG9pbnQsIHdlIG5lZWQgdG8gdXBkYXRlIG91ciBtYXggYW5kIG1pbiBnaXZlbiB0aGUgdGljayB2YWx1ZXMgc2luY2Ugd2UgaGF2ZSBleHBhbmRlZCB0aGUKCQkJLy8gcmFuZ2Ugb2YgdGhlIHNjYWxlCgkJCW1lLm1heCA9IGhlbHBlcnMubWF4KHRpY2tzKTsKCQkJbWUubWluID0gaGVscGVycy5taW4odGlja3MpOwoKCQkJaWYgKHRpY2tPcHRzLnJldmVyc2UpIHsKCQkJCXRpY2tzLnJldmVyc2UoKTsKCgkJCQltZS5zdGFydCA9IG1lLm1heDsKCQkJCW1lLmVuZCA9IG1lLm1pbjsKCQkJfSBlbHNlIHsKCQkJCW1lLnN0YXJ0ID0gbWUubWluOwoJCQkJbWUuZW5kID0gbWUubWF4OwoJCQl9CgkJfSwKCQljb252ZXJ0VGlja3NUb0xhYmVsczogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCW1lLnRpY2tzQXNOdW1iZXJzID0gbWUudGlja3Muc2xpY2UoKTsKCQkJbWUuemVyb0xpbmVJbmRleCA9IG1lLnRpY2tzLmluZGV4T2YoMCk7CgoJCQlDaGFydC5TY2FsZS5wcm90b3R5cGUuY29udmVydFRpY2tzVG9MYWJlbHMuY2FsbChtZSk7CgkJfQoJfSk7Cn07Cgp9LHsiNDUiOjQ1fV0sNTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewondXNlIHN0cmljdCc7Cgp2YXIgaGVscGVycyA9IHJlcXVpcmUoNDUpOwp2YXIgVGlja3MgPSByZXF1aXJlKDM0KTsKCi8qKgogKiBHZW5lcmF0ZSBhIHNldCBvZiBsb2dhcml0aG1pYyB0aWNrcwogKiBAcGFyYW0gZ2VuZXJhdGlvbk9wdGlvbnMgdGhlIG9wdGlvbnMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdGlja3MKICogQHBhcmFtIGRhdGFSYW5nZSB0aGUgcmFuZ2Ugb2YgdGhlIGRhdGEKICogQHJldHVybnMge0FycmF5PE51bWJlcj59IGFycmF5IG9mIHRpY2sgdmFsdWVzCiAqLwpmdW5jdGlvbiBnZW5lcmF0ZVRpY2tzKGdlbmVyYXRpb25PcHRpb25zLCBkYXRhUmFuZ2UpIHsKCXZhciB0aWNrcyA9IFtdOwoJdmFyIHZhbHVlT3JEZWZhdWx0ID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdDsKCgkvLyBGaWd1cmUgb3V0IHdoYXQgdGhlIG1heCBudW1iZXIgb2YgdGlja3Mgd2UgY2FuIHN1cHBvcnQgaXQgaXMgYmFzZWQgb24gdGhlIHNpemUgb2YKCS8vIHRoZSBheGlzIGFyZWEuIEZvciBub3csIHdlIHNheSB0aGF0IHRoZSBtaW5pbXVtIHRpY2sgc3BhY2luZyBpbiBwaXhlbHMgbXVzdCBiZSA1MAoJLy8gV2UgYWxzbyBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdGlja3MgdG8gMTEgd2hpY2ggZ2l2ZXMgYSBuaWNlIDEwIHNxdWFyZXMgb24KCS8vIHRoZSBncmFwaAoJdmFyIHRpY2tWYWwgPSB2YWx1ZU9yRGVmYXVsdChnZW5lcmF0aW9uT3B0aW9ucy5taW4sIE1hdGgucG93KDEwLCBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAoZGF0YVJhbmdlLm1pbikpKSk7CgoJdmFyIGVuZEV4cCA9IE1hdGguZmxvb3IoaGVscGVycy5sb2cxMChkYXRhUmFuZ2UubWF4KSk7Cgl2YXIgZW5kU2lnbmlmaWNhbmQgPSBNYXRoLmNlaWwoZGF0YVJhbmdlLm1heCAvIE1hdGgucG93KDEwLCBlbmRFeHApKTsKCXZhciBleHAsIHNpZ25pZmljYW5kOwoKCWlmICh0aWNrVmFsID09PSAwKSB7CgkJZXhwID0gTWF0aC5mbG9vcihoZWxwZXJzLmxvZzEwKGRhdGFSYW5nZS5taW5Ob3RaZXJvKSk7CgkJc2lnbmlmaWNhbmQgPSBNYXRoLmZsb29yKGRhdGFSYW5nZS5taW5Ob3RaZXJvIC8gTWF0aC5wb3coMTAsIGV4cCkpOwoKCQl0aWNrcy5wdXNoKHRpY2tWYWwpOwoJCXRpY2tWYWwgPSBzaWduaWZpY2FuZCAqIE1hdGgucG93KDEwLCBleHApOwoJfSBlbHNlIHsKCQlleHAgPSBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAodGlja1ZhbCkpOwoJCXNpZ25pZmljYW5kID0gTWF0aC5mbG9vcih0aWNrVmFsIC8gTWF0aC5wb3coMTAsIGV4cCkpOwoJfQoJdmFyIHByZWNpc2lvbiA9IGV4cCA8IDAgPyBNYXRoLnBvdygxMCwgTWF0aC5hYnMoZXhwKSkgOiAxOwoKCWRvIHsKCQl0aWNrcy5wdXNoKHRpY2tWYWwpOwoKCQkrK3NpZ25pZmljYW5kOwoJCWlmIChzaWduaWZpY2FuZCA9PT0gMTApIHsKCQkJc2lnbmlmaWNhbmQgPSAxOwoJCQkrK2V4cDsKCQkJcHJlY2lzaW9uID0gZXhwID49IDAgPyAxIDogcHJlY2lzaW9uOwoJCX0KCgkJdGlja1ZhbCA9IE1hdGgucm91bmQoc2lnbmlmaWNhbmQgKiBNYXRoLnBvdygxMCwgZXhwKSAqIHByZWNpc2lvbikgLyBwcmVjaXNpb247Cgl9IHdoaWxlIChleHAgPCBlbmRFeHAgfHwgKGV4cCA9PT0gZW5kRXhwICYmIHNpZ25pZmljYW5kIDwgZW5kU2lnbmlmaWNhbmQpKTsKCgl2YXIgbGFzdFRpY2sgPSB2YWx1ZU9yRGVmYXVsdChnZW5lcmF0aW9uT3B0aW9ucy5tYXgsIHRpY2tWYWwpOwoJdGlja3MucHVzaChsYXN0VGljayk7CgoJcmV0dXJuIHRpY2tzOwp9CgoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCXZhciBkZWZhdWx0Q29uZmlnID0gewoJCXBvc2l0aW9uOiAnbGVmdCcsCgoJCS8vIGxhYmVsIHNldHRpbmdzCgkJdGlja3M6IHsKCQkJY2FsbGJhY2s6IFRpY2tzLmZvcm1hdHRlcnMubG9nYXJpdGhtaWMKCQl9Cgl9OwoKCXZhciBMb2dhcml0aG1pY1NjYWxlID0gQ2hhcnQuU2NhbGUuZXh0ZW5kKHsKCQlkZXRlcm1pbmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdHMgPSBtZS5vcHRpb25zOwoJCQl2YXIgY2hhcnQgPSBtZS5jaGFydDsKCQkJdmFyIGRhdGEgPSBjaGFydC5kYXRhOwoJCQl2YXIgZGF0YXNldHMgPSBkYXRhLmRhdGFzZXRzOwoJCQl2YXIgaXNIb3Jpem9udGFsID0gbWUuaXNIb3Jpem9udGFsKCk7CgkJCWZ1bmN0aW9uIElETWF0Y2hlcyhtZXRhKSB7CgkJCQlyZXR1cm4gaXNIb3Jpem9udGFsID8gbWV0YS54QXhpc0lEID09PSBtZS5pZCA6IG1ldGEueUF4aXNJRCA9PT0gbWUuaWQ7CgkJCX0KCgkJCS8vIENhbGN1bGF0ZSBSYW5nZQoJCQltZS5taW4gPSBudWxsOwoJCQltZS5tYXggPSBudWxsOwoJCQltZS5taW5Ob3RaZXJvID0gbnVsbDsKCgkJCXZhciBoYXNTdGFja3MgPSBvcHRzLnN0YWNrZWQ7CgkJCWlmIChoYXNTdGFja3MgPT09IHVuZGVmaW5lZCkgewoJCQkJaGVscGVycy5lYWNoKGRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsKCQkJCQlpZiAoaGFzU3RhY2tzKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXZhciBtZXRhID0gY2hhcnQuZ2V0RGF0YXNldE1ldGEoZGF0YXNldEluZGV4KTsKCQkJCQlpZiAoY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShkYXRhc2V0SW5kZXgpICYmIElETWF0Y2hlcyhtZXRhKSAmJgoJCQkJCQltZXRhLnN0YWNrICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJaGFzU3RhY2tzID0gdHJ1ZTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoKCQkJaWYgKG9wdHMuc3RhY2tlZCB8fCBoYXNTdGFja3MpIHsKCQkJCXZhciB2YWx1ZXNQZXJTdGFjayA9IHt9OwoKCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7CgkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQkJCXZhciBrZXkgPSBbCgkJCQkJCW1ldGEudHlwZSwKCQkJCQkJLy8gd2UgaGF2ZSBhIHNlcGFyYXRlIHN0YWNrIGZvciBzdGFjaz11bmRlZmluZWQgZGF0YXNldHMgd2hlbiB0aGUgb3B0cy5zdGFja2VkIGlzIHVuZGVmaW5lZAoJCQkJCQkoKG9wdHMuc3RhY2tlZCA9PT0gdW5kZWZpbmVkICYmIG1ldGEuc3RhY2sgPT09IHVuZGVmaW5lZCkgPyBkYXRhc2V0SW5kZXggOiAnJyksCgkJCQkJCW1ldGEuc3RhY2sKCQkJCQldLmpvaW4oJy4nKTsKCgkJCQkJaWYgKGNoYXJ0LmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSAmJiBJRE1hdGNoZXMobWV0YSkpIHsKCQkJCQkJaWYgKHZhbHVlc1BlclN0YWNrW2tleV0gPT09IHVuZGVmaW5lZCkgewoJCQkJCQkJdmFsdWVzUGVyU3RhY2tba2V5XSA9IFtdOwoJCQkJCQl9CgoJCQkJCQloZWxwZXJzLmVhY2goZGF0YXNldC5kYXRhLCBmdW5jdGlvbihyYXdWYWx1ZSwgaW5kZXgpIHsKCQkJCQkJCXZhciB2YWx1ZXMgPSB2YWx1ZXNQZXJTdGFja1trZXldOwoJCQkJCQkJdmFyIHZhbHVlID0gK21lLmdldFJpZ2h0VmFsdWUocmF3VmFsdWUpOwoJCQkJCQkJLy8gaW52YWxpZCwgaGlkZGVuIGFuZCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGlnbm9yZWQKCQkJCQkJCWlmIChpc05hTih2YWx1ZSkgfHwgbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4gfHwgdmFsdWUgPCAwKSB7CgkJCQkJCQkJcmV0dXJuOwoJCQkJCQkJfQoJCQkJCQkJdmFsdWVzW2luZGV4XSA9IHZhbHVlc1tpbmRleF0gfHwgMDsKCQkJCQkJCXZhbHVlc1tpbmRleF0gKz0gdmFsdWU7CgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWhlbHBlcnMuZWFjaCh2YWx1ZXNQZXJTdGFjaywgZnVuY3Rpb24odmFsdWVzRm9yVHlwZSkgewoJCQkJCWlmICh2YWx1ZXNGb3JUeXBlLmxlbmd0aCA+IDApIHsKCQkJCQkJdmFyIG1pblZhbCA9IGhlbHBlcnMubWluKHZhbHVlc0ZvclR5cGUpOwoJCQkJCQl2YXIgbWF4VmFsID0gaGVscGVycy5tYXgodmFsdWVzRm9yVHlwZSk7CgkJCQkJCW1lLm1pbiA9IG1lLm1pbiA9PT0gbnVsbCA/IG1pblZhbCA6IE1hdGgubWluKG1lLm1pbiwgbWluVmFsKTsKCQkJCQkJbWUubWF4ID0gbWUubWF4ID09PSBudWxsID8gbWF4VmFsIDogTWF0aC5tYXgobWUubWF4LCBtYXhWYWwpOwoJCQkJCX0KCQkJCX0pOwoKCQkJfSBlbHNlIHsKCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0cywgZnVuY3Rpb24oZGF0YXNldCwgZGF0YXNldEluZGV4KSB7CgkJCQkJdmFyIG1ldGEgPSBjaGFydC5nZXREYXRhc2V0TWV0YShkYXRhc2V0SW5kZXgpOwoJCQkJCWlmIChjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkgJiYgSURNYXRjaGVzKG1ldGEpKSB7CgkJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgewoJCQkJCQkJdmFyIHZhbHVlID0gK21lLmdldFJpZ2h0VmFsdWUocmF3VmFsdWUpOwoJCQkJCQkJLy8gaW52YWxpZCwgaGlkZGVuIGFuZCBuZWdhdGl2ZSB2YWx1ZXMgYXJlIGlnbm9yZWQKCQkJCQkJCWlmIChpc05hTih2YWx1ZSkgfHwgbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4gfHwgdmFsdWUgPCAwKSB7CgkJCQkJCQkJcmV0dXJuOwoJCQkJCQkJfQoKCQkJCQkJCWlmIChtZS5taW4gPT09IG51bGwpIHsKCQkJCQkJCQltZS5taW4gPSB2YWx1ZTsKCQkJCQkJCX0gZWxzZSBpZiAodmFsdWUgPCBtZS5taW4pIHsKCQkJCQkJCQltZS5taW4gPSB2YWx1ZTsKCQkJCQkJCX0KCgkJCQkJCQlpZiAobWUubWF4ID09PSBudWxsKSB7CgkJCQkJCQkJbWUubWF4ID0gdmFsdWU7CgkJCQkJCQl9IGVsc2UgaWYgKHZhbHVlID4gbWUubWF4KSB7CgkJCQkJCQkJbWUubWF4ID0gdmFsdWU7CgkJCQkJCQl9CgoJCQkJCQkJaWYgKHZhbHVlICE9PSAwICYmIChtZS5taW5Ob3RaZXJvID09PSBudWxsIHx8IHZhbHVlIDwgbWUubWluTm90WmVybykpIHsKCQkJCQkJCQltZS5taW5Ob3RaZXJvID0gdmFsdWU7CgkJCQkJCQl9CgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0pOwoJCQl9CgoJCQkvLyBDb21tb24gYmFzZSBpbXBsZW1lbnRhdGlvbiB0byBoYW5kbGUgdGlja3MubWluLCB0aWNrcy5tYXgKCQkJdGhpcy5oYW5kbGVUaWNrUmFuZ2VPcHRpb25zKCk7CgkJfSwKCQloYW5kbGVUaWNrUmFuZ2VPcHRpb25zOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdHMgPSBtZS5vcHRpb25zOwoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOwoJCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoJCQl2YXIgREVGQVVMVF9NSU4gPSAxOwoJCQl2YXIgREVGQVVMVF9NQVggPSAxMDsKCgkJCW1lLm1pbiA9IHZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLm1pbiwgbWUubWluKTsKCQkJbWUubWF4ID0gdmFsdWVPckRlZmF1bHQodGlja09wdHMubWF4LCBtZS5tYXgpOwoKCQkJaWYgKG1lLm1pbiA9PT0gbWUubWF4KSB7CgkJCQlpZiAobWUubWluICE9PSAwICYmIG1lLm1pbiAhPT0gbnVsbCkgewoJCQkJCW1lLm1pbiA9IE1hdGgucG93KDEwLCBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAobWUubWluKSkgLSAxKTsKCQkJCQltZS5tYXggPSBNYXRoLnBvdygxMCwgTWF0aC5mbG9vcihoZWxwZXJzLmxvZzEwKG1lLm1heCkpICsgMSk7CgkJCQl9IGVsc2UgewoJCQkJCW1lLm1pbiA9IERFRkFVTFRfTUlOOwoJCQkJCW1lLm1heCA9IERFRkFVTFRfTUFYOwoJCQkJfQoJCQl9CgkJCWlmIChtZS5taW4gPT09IG51bGwpIHsKCQkJCW1lLm1pbiA9IE1hdGgucG93KDEwLCBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAobWUubWF4KSkgLSAxKTsKCQkJfQoJCQlpZiAobWUubWF4ID09PSBudWxsKSB7CgkJCQltZS5tYXggPSBtZS5taW4gIT09IDAKCQkJCQk/IE1hdGgucG93KDEwLCBNYXRoLmZsb29yKGhlbHBlcnMubG9nMTAobWUubWluKSkgKyAxKQoJCQkJCTogREVGQVVMVF9NQVg7CgkJCX0KCQkJaWYgKG1lLm1pbk5vdFplcm8gPT09IG51bGwpIHsKCQkJCWlmIChtZS5taW4gPiAwKSB7CgkJCQkJbWUubWluTm90WmVybyA9IG1lLm1pbjsKCQkJCX0gZWxzZSBpZiAobWUubWF4IDwgMSkgewoJCQkJCW1lLm1pbk5vdFplcm8gPSBNYXRoLnBvdygxMCwgTWF0aC5mbG9vcihoZWxwZXJzLmxvZzEwKG1lLm1heCkpKTsKCQkJCX0gZWxzZSB7CgkJCQkJbWUubWluTm90WmVybyA9IERFRkFVTFRfTUlOOwoJCQkJfQoJCQl9CgkJfSwKCQlidWlsZFRpY2tzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdHMgPSBtZS5vcHRpb25zOwoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOwoJCQl2YXIgcmV2ZXJzZSA9ICFtZS5pc0hvcml6b250YWwoKTsKCgkJCXZhciBnZW5lcmF0aW9uT3B0aW9ucyA9IHsKCQkJCW1pbjogdGlja09wdHMubWluLAoJCQkJbWF4OiB0aWNrT3B0cy5tYXgKCQkJfTsKCQkJdmFyIHRpY2tzID0gbWUudGlja3MgPSBnZW5lcmF0ZVRpY2tzKGdlbmVyYXRpb25PcHRpb25zLCBtZSk7CgoJCQkvLyBBdCB0aGlzIHBvaW50LCB3ZSBuZWVkIHRvIHVwZGF0ZSBvdXIgbWF4IGFuZCBtaW4gZ2l2ZW4gdGhlIHRpY2sgdmFsdWVzIHNpbmNlIHdlIGhhdmUgZXhwYW5kZWQgdGhlCgkJCS8vIHJhbmdlIG9mIHRoZSBzY2FsZQoJCQltZS5tYXggPSBoZWxwZXJzLm1heCh0aWNrcyk7CgkJCW1lLm1pbiA9IGhlbHBlcnMubWluKHRpY2tzKTsKCgkJCWlmICh0aWNrT3B0cy5yZXZlcnNlKSB7CgkJCQlyZXZlcnNlID0gIXJldmVyc2U7CgkJCQltZS5zdGFydCA9IG1lLm1heDsKCQkJCW1lLmVuZCA9IG1lLm1pbjsKCQkJfSBlbHNlIHsKCQkJCW1lLnN0YXJ0ID0gbWUubWluOwoJCQkJbWUuZW5kID0gbWUubWF4OwoJCQl9CgkJCWlmIChyZXZlcnNlKSB7CgkJCQl0aWNrcy5yZXZlcnNlKCk7CgkJCX0KCQl9LAoJCWNvbnZlcnRUaWNrc1RvTGFiZWxzOiBmdW5jdGlvbigpIHsKCQkJdGhpcy50aWNrVmFsdWVzID0gdGhpcy50aWNrcy5zbGljZSgpOwoKCQkJQ2hhcnQuU2NhbGUucHJvdG90eXBlLmNvbnZlcnRUaWNrc1RvTGFiZWxzLmNhbGwodGhpcyk7CgkJfSwKCQkvLyBHZXQgdGhlIGNvcnJlY3QgdG9vbHRpcCBsYWJlbAoJCWdldExhYmVsRm9ySW5kZXg6IGZ1bmN0aW9uKGluZGV4LCBkYXRhc2V0SW5kZXgpIHsKCQkJcmV0dXJuICt0aGlzLmdldFJpZ2h0VmFsdWUodGhpcy5jaGFydC5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uZGF0YVtpbmRleF0pOwoJCX0sCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCkgewoJCQlyZXR1cm4gdGhpcy5nZXRQaXhlbEZvclZhbHVlKHRoaXMudGlja1ZhbHVlc1tpbmRleF0pOwoJCX0sCgkJLyoqCgkJICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IHRpY2suCgkJICogQHBhcmFtIHtOdW1iZXJ9IHZhbHVlIC0gVGhlIG1pbmltdW0gbm90IHplcm8gdmFsdWUuCgkJICogQHJldHVybiB7TnVtYmVyfSBUaGUgZmlyc3QgdGljayB2YWx1ZS4KCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCV9nZXRGaXJzdFRpY2tWYWx1ZTogZnVuY3Rpb24odmFsdWUpIHsKCQkJdmFyIGV4cCA9IE1hdGguZmxvb3IoaGVscGVycy5sb2cxMCh2YWx1ZSkpOwoJCQl2YXIgc2lnbmlmaWNhbmQgPSBNYXRoLmZsb29yKHZhbHVlIC8gTWF0aC5wb3coMTAsIGV4cCkpOwoKCQkJcmV0dXJuIHNpZ25pZmljYW5kICogTWF0aC5wb3coMTAsIGV4cCk7CgkJfSwKCQlnZXRQaXhlbEZvclZhbHVlOiBmdW5jdGlvbih2YWx1ZSkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgcmV2ZXJzZSA9IG1lLm9wdGlvbnMudGlja3MucmV2ZXJzZTsKCQkJdmFyIGxvZzEwID0gaGVscGVycy5sb2cxMDsKCQkJdmFyIGZpcnN0VGlja1ZhbHVlID0gbWUuX2dldEZpcnN0VGlja1ZhbHVlKG1lLm1pbk5vdFplcm8pOwoJCQl2YXIgb2Zmc2V0ID0gMDsKCQkJdmFyIGlubmVyRGltZW5zaW9uLCBwaXhlbCwgc3RhcnQsIGVuZCwgc2lnbjsKCgkJCXZhbHVlID0gK21lLmdldFJpZ2h0VmFsdWUodmFsdWUpOwoJCQlpZiAocmV2ZXJzZSkgewoJCQkJc3RhcnQgPSBtZS5lbmQ7CgkJCQllbmQgPSBtZS5zdGFydDsKCQkJCXNpZ24gPSAtMTsKCQkJfSBlbHNlIHsKCQkJCXN0YXJ0ID0gbWUuc3RhcnQ7CgkJCQllbmQgPSBtZS5lbmQ7CgkJCQlzaWduID0gMTsKCQkJfQoJCQlpZiAobWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJCWlubmVyRGltZW5zaW9uID0gbWUud2lkdGg7CgkJCQlwaXhlbCA9IHJldmVyc2UgPyBtZS5yaWdodCA6IG1lLmxlZnQ7CgkJCX0gZWxzZSB7CgkJCQlpbm5lckRpbWVuc2lvbiA9IG1lLmhlaWdodDsKCQkJCXNpZ24gKj0gLTE7IC8vIGludmVydCwgc2luY2UgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBjYW52YXMgaXMgYXQgcGl4ZWwgKDAsIDApCgkJCQlwaXhlbCA9IHJldmVyc2UgPyBtZS50b3AgOiBtZS5ib3R0b207CgkJCX0KCQkJaWYgKHZhbHVlICE9PSBzdGFydCkgewoJCQkJaWYgKHN0YXJ0ID09PSAwKSB7IC8vIGluY2x1ZGUgemVybyB0aWNrCgkJCQkJb2Zmc2V0ID0gaGVscGVycy5nZXRWYWx1ZU9yRGVmYXVsdCgKCQkJCQkJbWUub3B0aW9ucy50aWNrcy5mb250U2l6ZSwKCQkJCQkJQ2hhcnQuZGVmYXVsdHMuZ2xvYmFsLmRlZmF1bHRGb250U2l6ZQoJCQkJCSk7CgkJCQkJaW5uZXJEaW1lbnNpb24gLT0gb2Zmc2V0OwoJCQkJCXN0YXJ0ID0gZmlyc3RUaWNrVmFsdWU7CgkJCQl9CgkJCQlpZiAodmFsdWUgIT09IDApIHsKCQkJCQlvZmZzZXQgKz0gaW5uZXJEaW1lbnNpb24gLyAobG9nMTAoZW5kKSAtIGxvZzEwKHN0YXJ0KSkgKiAobG9nMTAodmFsdWUpIC0gbG9nMTAoc3RhcnQpKTsKCQkJCX0KCQkJCXBpeGVsICs9IHNpZ24gKiBvZmZzZXQ7CgkJCX0KCQkJcmV0dXJuIHBpeGVsOwoJCX0sCgkJZ2V0VmFsdWVGb3JQaXhlbDogZnVuY3Rpb24ocGl4ZWwpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHJldmVyc2UgPSBtZS5vcHRpb25zLnRpY2tzLnJldmVyc2U7CgkJCXZhciBsb2cxMCA9IGhlbHBlcnMubG9nMTA7CgkJCXZhciBmaXJzdFRpY2tWYWx1ZSA9IG1lLl9nZXRGaXJzdFRpY2tWYWx1ZShtZS5taW5Ob3RaZXJvKTsKCQkJdmFyIGlubmVyRGltZW5zaW9uLCBzdGFydCwgZW5kLCB2YWx1ZTsKCgkJCWlmIChyZXZlcnNlKSB7CgkJCQlzdGFydCA9IG1lLmVuZDsKCQkJCWVuZCA9IG1lLnN0YXJ0OwoJCQl9IGVsc2UgewoJCQkJc3RhcnQgPSBtZS5zdGFydDsKCQkJCWVuZCA9IG1lLmVuZDsKCQkJfQoJCQlpZiAobWUuaXNIb3Jpem9udGFsKCkpIHsKCQkJCWlubmVyRGltZW5zaW9uID0gbWUud2lkdGg7CgkJCQl2YWx1ZSA9IHJldmVyc2UgPyBtZS5yaWdodCAtIHBpeGVsIDogcGl4ZWwgLSBtZS5sZWZ0OwoJCQl9IGVsc2UgewoJCQkJaW5uZXJEaW1lbnNpb24gPSBtZS5oZWlnaHQ7CgkJCQl2YWx1ZSA9IHJldmVyc2UgPyBwaXhlbCAtIG1lLnRvcCA6IG1lLmJvdHRvbSAtIHBpeGVsOwoJCQl9CgkJCWlmICh2YWx1ZSAhPT0gc3RhcnQpIHsKCQkJCWlmIChzdGFydCA9PT0gMCkgeyAvLyBpbmNsdWRlIHplcm8gdGljawoJCQkJCXZhciBvZmZzZXQgPSBoZWxwZXJzLmdldFZhbHVlT3JEZWZhdWx0KAoJCQkJCQltZS5vcHRpb25zLnRpY2tzLmZvbnRTaXplLAoJCQkJCQlDaGFydC5kZWZhdWx0cy5nbG9iYWwuZGVmYXVsdEZvbnRTaXplCgkJCQkJKTsKCQkJCQl2YWx1ZSAtPSBvZmZzZXQ7CgkJCQkJaW5uZXJEaW1lbnNpb24gLT0gb2Zmc2V0OwoJCQkJCXN0YXJ0ID0gZmlyc3RUaWNrVmFsdWU7CgkJCQl9CgkJCQl2YWx1ZSAqPSBsb2cxMChlbmQpIC0gbG9nMTAoc3RhcnQpOwoJCQkJdmFsdWUgLz0gaW5uZXJEaW1lbnNpb247CgkJCQl2YWx1ZSA9IE1hdGgucG93KDEwLCBsb2cxMChzdGFydCkgKyB2YWx1ZSk7CgkJCX0KCQkJcmV0dXJuIHZhbHVlOwoJCX0KCX0pOwoJQ2hhcnQuc2NhbGVTZXJ2aWNlLnJlZ2lzdGVyU2NhbGVUeXBlKCdsb2dhcml0aG1pYycsIExvZ2FyaXRobWljU2NhbGUsIGRlZmF1bHRDb25maWcpOwoKfTsKCn0seyIzNCI6MzQsIjQ1Ijo0NX1dLDU3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKJ3VzZSBzdHJpY3QnOwoKdmFyIGRlZmF1bHRzID0gcmVxdWlyZSgyNSk7CnZhciBoZWxwZXJzID0gcmVxdWlyZSg0NSk7CnZhciBUaWNrcyA9IHJlcXVpcmUoMzQpOwoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCXZhciBnbG9iYWxEZWZhdWx0cyA9IGRlZmF1bHRzLmdsb2JhbDsKCgl2YXIgZGVmYXVsdENvbmZpZyA9IHsKCQlkaXNwbGF5OiB0cnVlLAoKCQkvLyBCb29sZWFuIC0gV2hldGhlciB0byBhbmltYXRlIHNjYWxpbmcgdGhlIGNoYXJ0IGZyb20gdGhlIGNlbnRyZQoJCWFuaW1hdGU6IHRydWUsCgkJcG9zaXRpb246ICdjaGFydEFyZWEnLAoKCQlhbmdsZUxpbmVzOiB7CgkJCWRpc3BsYXk6IHRydWUsCgkJCWNvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjEpJywKCQkJbGluZVdpZHRoOiAxCgkJfSwKCgkJZ3JpZExpbmVzOiB7CgkJCWNpcmN1bGFyOiBmYWxzZQoJCX0sCgoJCS8vIGxhYmVsIHNldHRpbmdzCgkJdGlja3M6IHsKCQkJLy8gQm9vbGVhbiAtIFNob3cgYSBiYWNrZHJvcCB0byB0aGUgc2NhbGUgbGFiZWwKCQkJc2hvd0xhYmVsQmFja2Ryb3A6IHRydWUsCgoJCQkvLyBTdHJpbmcgLSBUaGUgY29sb3VyIG9mIHRoZSBsYWJlbCBiYWNrZHJvcAoJCQliYWNrZHJvcENvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjc1KScsCgoJCQkvLyBOdW1iZXIgLSBUaGUgYmFja2Ryb3AgcGFkZGluZyBhYm92ZSAmIGJlbG93IHRoZSBsYWJlbCBpbiBwaXhlbHMKCQkJYmFja2Ryb3BQYWRkaW5nWTogMiwKCgkJCS8vIE51bWJlciAtIFRoZSBiYWNrZHJvcCBwYWRkaW5nIHRvIHRoZSBzaWRlIG9mIHRoZSBsYWJlbCBpbiBwaXhlbHMKCQkJYmFja2Ryb3BQYWRkaW5nWDogMiwKCgkJCWNhbGxiYWNrOiBUaWNrcy5mb3JtYXR0ZXJzLmxpbmVhcgoJCX0sCgoJCXBvaW50TGFiZWxzOiB7CgkJCS8vIEJvb2xlYW4gLSBpZiB0cnVlLCBzaG93IHBvaW50IGxhYmVscwoJCQlkaXNwbGF5OiB0cnVlLAoKCQkJLy8gTnVtYmVyIC0gUG9pbnQgbGFiZWwgZm9udCBzaXplIGluIHBpeGVscwoJCQlmb250U2l6ZTogMTAsCgoJCQkvLyBGdW5jdGlvbiAtIFVzZWQgdG8gY29udmVydCBwb2ludCBsYWJlbHMKCQkJY2FsbGJhY2s6IGZ1bmN0aW9uKGxhYmVsKSB7CgkJCQlyZXR1cm4gbGFiZWw7CgkJCX0KCQl9Cgl9OwoKCWZ1bmN0aW9uIGdldFZhbHVlQ291bnQoc2NhbGUpIHsKCQl2YXIgb3B0cyA9IHNjYWxlLm9wdGlvbnM7CgkJcmV0dXJuIG9wdHMuYW5nbGVMaW5lcy5kaXNwbGF5IHx8IG9wdHMucG9pbnRMYWJlbHMuZGlzcGxheSA/IHNjYWxlLmNoYXJ0LmRhdGEubGFiZWxzLmxlbmd0aCA6IDA7Cgl9CgoJZnVuY3Rpb24gZ2V0UG9pbnRMYWJlbEZvbnRPcHRpb25zKHNjYWxlKSB7CgkJdmFyIHBvaW50TGFiZWxPcHRpb25zID0gc2NhbGUub3B0aW9ucy5wb2ludExhYmVsczsKCQl2YXIgZm9udFNpemUgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHBvaW50TGFiZWxPcHRpb25zLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOwoJCXZhciBmb250U3R5bGUgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHBvaW50TGFiZWxPcHRpb25zLmZvbnRTdHlsZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTdHlsZSk7CgkJdmFyIGZvbnRGYW1pbHkgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHBvaW50TGFiZWxPcHRpb25zLmZvbnRGYW1pbHksIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250RmFtaWx5KTsKCQl2YXIgZm9udCA9IGhlbHBlcnMuZm9udFN0cmluZyhmb250U2l6ZSwgZm9udFN0eWxlLCBmb250RmFtaWx5KTsKCgkJcmV0dXJuIHsKCQkJc2l6ZTogZm9udFNpemUsCgkJCXN0eWxlOiBmb250U3R5bGUsCgkJCWZhbWlseTogZm9udEZhbWlseSwKCQkJZm9udDogZm9udAoJCX07Cgl9CgoJZnVuY3Rpb24gbWVhc3VyZUxhYmVsU2l6ZShjdHgsIGZvbnRTaXplLCBsYWJlbCkgewoJCWlmIChoZWxwZXJzLmlzQXJyYXkobGFiZWwpKSB7CgkJCXJldHVybiB7CgkJCQl3OiBoZWxwZXJzLmxvbmdlc3RUZXh0KGN0eCwgY3R4LmZvbnQsIGxhYmVsKSwKCQkJCWg6IChsYWJlbC5sZW5ndGggKiBmb250U2l6ZSkgKyAoKGxhYmVsLmxlbmd0aCAtIDEpICogMS41ICogZm9udFNpemUpCgkJCX07CgkJfQoKCQlyZXR1cm4gewoJCQl3OiBjdHgubWVhc3VyZVRleHQobGFiZWwpLndpZHRoLAoJCQloOiBmb250U2l6ZQoJCX07Cgl9CgoJZnVuY3Rpb24gZGV0ZXJtaW5lTGltaXRzKGFuZ2xlLCBwb3MsIHNpemUsIG1pbiwgbWF4KSB7CgkJaWYgKGFuZ2xlID09PSBtaW4gfHwgYW5nbGUgPT09IG1heCkgewoJCQlyZXR1cm4gewoJCQkJc3RhcnQ6IHBvcyAtIChzaXplIC8gMiksCgkJCQllbmQ6IHBvcyArIChzaXplIC8gMikKCQkJfTsKCQl9IGVsc2UgaWYgKGFuZ2xlIDwgbWluIHx8IGFuZ2xlID4gbWF4KSB7CgkJCXJldHVybiB7CgkJCQlzdGFydDogcG9zIC0gc2l6ZSAtIDUsCgkJCQllbmQ6IHBvcwoJCQl9OwoJCX0KCgkJcmV0dXJuIHsKCQkJc3RhcnQ6IHBvcywKCQkJZW5kOiBwb3MgKyBzaXplICsgNQoJCX07Cgl9CgoJLyoqCgkgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZml0IGEgcmFkaWFsIGxpbmVhciBzY2FsZSB3aXRoIHBvaW50IGxhYmVscwoJICovCglmdW5jdGlvbiBmaXRXaXRoUG9pbnRMYWJlbHMoc2NhbGUpIHsKCQkvKgoJCSAqIFJpZ2h0LCB0aGlzIGlzIHJlYWxseSBjb25mdXNpbmcgYW5kIHRoZXJlIGlzIGEgbG90IG9mIG1hdGhzIGdvaW5nIG9uIGhlcmUKCQkgKiBUaGUgZ2lzdCBvZiB0aGUgcHJvYmxlbSBpcyBoZXJlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9ubm5pY2svNjk2Y2M5YzU1ZjRiMGJlYjhmZTkKCQkgKgoJCSAqIFJlYWN0aW9uOiBodHRwczovL2RsLmRyb3Bib3h1c2VyY29udGVudC5jb20vdS8zNDYwMTM2My90b29tdWNoc2NpZW5jZS5naWYKCQkgKgoJCSAqIFNvbHV0aW9uOgoJCSAqCgkJICogV2UgYXNzdW1lIHRoZSByYWRpdXMgb2YgdGhlIHBvbHlnb24gaXMgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgY2FudmFzIGF0IGZpcnN0CgkJICogYXQgZWFjaCBpbmRleCB3ZSBjaGVjayBpZiB0aGUgdGV4dCBvdmVybGFwcy4KCQkgKgoJCSAqIFdoZXJlIGl0IGRvZXMsIHdlIHN0b3JlIHRoYXQgYW5nbGUgYW5kIHRoYXQgaW5kZXguCgkJICoKCQkgKiBBZnRlciBmaW5kaW5nIHRoZSBsYXJnZXN0IGluZGV4IGFuZCBhbmdsZSB3ZSBjYWxjdWxhdGUgaG93IG11Y2ggd2UgbmVlZCB0byByZW1vdmUKCQkgKiBmcm9tIHRoZSBzaGFwZSByYWRpdXMgdG8gbW92ZSB0aGUgcG9pbnQgaW53YXJkcyBieSB0aGF0IHguCgkJICoKCQkgKiBXZSBhdmVyYWdlIHRoZSBsZWZ0IGFuZCByaWdodCBkaXN0YW5jZXMgdG8gZ2V0IHRoZSBtYXhpbXVtIHNoYXBlIHJhZGl1cyB0aGF0IGNhbiBmaXQgaW4gdGhlIGJveAoJCSAqIGFsb25nIHdpdGggbGFiZWxzLgoJCSAqCgkJICogT25jZSB3ZSBoYXZlIHRoYXQsIHdlIGNhbiBmaW5kIHRoZSBjZW50cmUgcG9pbnQgZm9yIHRoZSBjaGFydCwgYnkgdGFraW5nIHRoZSB4IHRleHQgcHJvdHJ1c2lvbgoJCSAqIG9uIGVhY2ggc2lkZSwgcmVtb3ZpbmcgdGhhdCBmcm9tIHRoZSBzaXplLCBoYWx2aW5nIGl0IGFuZCBhZGRpbmcgdGhlIGxlZnQgeCBwcm90cnVzaW9uIHdpZHRoLgoJCSAqCgkJICogVGhpcyB3aWxsIG1lYW4gd2UgaGF2ZSBhIHNoYXBlIGZpdHRlZCB0byB0aGUgY2FudmFzLCBhcyBsYXJnZSBhcyBpdCBjYW4gYmUgd2l0aCB0aGUgbGFiZWxzCgkJICogYW5kIHBvc2l0aW9uIGl0IGluIHRoZSBtb3N0IHNwYWNlIGVmZmljaWVudCBtYW5uZXIKCQkgKgoJCSAqIGh0dHBzOi8vZGwuZHJvcGJveHVzZXJjb250ZW50LmNvbS91LzM0NjAxMzYzL3llYWhzY2llbmNlLmdpZgoJCSAqLwoKCQl2YXIgcGxGb250ID0gZ2V0UG9pbnRMYWJlbEZvbnRPcHRpb25zKHNjYWxlKTsKCgkJLy8gR2V0IG1heGltdW0gcmFkaXVzIG9mIHRoZSBwb2x5Z29uLiBFaXRoZXIgaGFsZiB0aGUgaGVpZ2h0IChtaW51cyB0aGUgdGV4dCB3aWR0aCkgb3IgaGFsZiB0aGUgd2lkdGguCgkJLy8gVXNlIHRoaXMgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgKyBjaGFuZ2UuIC0gTWFrZSBzdXJlIEwvUiBwcm90cnVzaW9uIGlzIGF0IGxlYXN0IDAgdG8gc3RvcCBpc3N1ZXMgd2l0aCBjZW50cmUgcG9pbnRzCgkJdmFyIGxhcmdlc3RQb3NzaWJsZVJhZGl1cyA9IE1hdGgubWluKHNjYWxlLmhlaWdodCAvIDIsIHNjYWxlLndpZHRoIC8gMik7CgkJdmFyIGZ1cnRoZXN0TGltaXRzID0gewoJCQlyOiBzY2FsZS53aWR0aCwKCQkJbDogMCwKCQkJdDogc2NhbGUuaGVpZ2h0LAoJCQliOiAwCgkJfTsKCQl2YXIgZnVydGhlc3RBbmdsZXMgPSB7fTsKCQl2YXIgaSwgdGV4dFNpemUsIHBvaW50UG9zaXRpb247CgoJCXNjYWxlLmN0eC5mb250ID0gcGxGb250LmZvbnQ7CgkJc2NhbGUuX3BvaW50TGFiZWxTaXplcyA9IFtdOwoKCQl2YXIgdmFsdWVDb3VudCA9IGdldFZhbHVlQ291bnQoc2NhbGUpOwoJCWZvciAoaSA9IDA7IGkgPCB2YWx1ZUNvdW50OyBpKyspIHsKCQkJcG9pbnRQb3NpdGlvbiA9IHNjYWxlLmdldFBvaW50UG9zaXRpb24oaSwgbGFyZ2VzdFBvc3NpYmxlUmFkaXVzKTsKCQkJdGV4dFNpemUgPSBtZWFzdXJlTGFiZWxTaXplKHNjYWxlLmN0eCwgcGxGb250LnNpemUsIHNjYWxlLnBvaW50TGFiZWxzW2ldIHx8ICcnKTsKCQkJc2NhbGUuX3BvaW50TGFiZWxTaXplc1tpXSA9IHRleHRTaXplOwoKCQkJLy8gQWRkIHF1YXJ0ZXIgY2lyY2xlIHRvIG1ha2UgZGVncmVlIDAgbWVhbiB0b3Agb2YgY2lyY2xlCgkJCXZhciBhbmdsZVJhZGlhbnMgPSBzY2FsZS5nZXRJbmRleEFuZ2xlKGkpOwoJCQl2YXIgYW5nbGUgPSBoZWxwZXJzLnRvRGVncmVlcyhhbmdsZVJhZGlhbnMpICUgMzYwOwoJCQl2YXIgaExpbWl0cyA9IGRldGVybWluZUxpbWl0cyhhbmdsZSwgcG9pbnRQb3NpdGlvbi54LCB0ZXh0U2l6ZS53LCAwLCAxODApOwoJCQl2YXIgdkxpbWl0cyA9IGRldGVybWluZUxpbWl0cyhhbmdsZSwgcG9pbnRQb3NpdGlvbi55LCB0ZXh0U2l6ZS5oLCA5MCwgMjcwKTsKCgkJCWlmIChoTGltaXRzLnN0YXJ0IDwgZnVydGhlc3RMaW1pdHMubCkgewoJCQkJZnVydGhlc3RMaW1pdHMubCA9IGhMaW1pdHMuc3RhcnQ7CgkJCQlmdXJ0aGVzdEFuZ2xlcy5sID0gYW5nbGVSYWRpYW5zOwoJCQl9CgoJCQlpZiAoaExpbWl0cy5lbmQgPiBmdXJ0aGVzdExpbWl0cy5yKSB7CgkJCQlmdXJ0aGVzdExpbWl0cy5yID0gaExpbWl0cy5lbmQ7CgkJCQlmdXJ0aGVzdEFuZ2xlcy5yID0gYW5nbGVSYWRpYW5zOwoJCQl9CgoJCQlpZiAodkxpbWl0cy5zdGFydCA8IGZ1cnRoZXN0TGltaXRzLnQpIHsKCQkJCWZ1cnRoZXN0TGltaXRzLnQgPSB2TGltaXRzLnN0YXJ0OwoJCQkJZnVydGhlc3RBbmdsZXMudCA9IGFuZ2xlUmFkaWFuczsKCQkJfQoKCQkJaWYgKHZMaW1pdHMuZW5kID4gZnVydGhlc3RMaW1pdHMuYikgewoJCQkJZnVydGhlc3RMaW1pdHMuYiA9IHZMaW1pdHMuZW5kOwoJCQkJZnVydGhlc3RBbmdsZXMuYiA9IGFuZ2xlUmFkaWFuczsKCQkJfQoJCX0KCgkJc2NhbGUuc2V0UmVkdWN0aW9ucyhsYXJnZXN0UG9zc2libGVSYWRpdXMsIGZ1cnRoZXN0TGltaXRzLCBmdXJ0aGVzdEFuZ2xlcyk7Cgl9CgoJLyoqCgkgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZml0IGEgcmFkaWFsIGxpbmVhciBzY2FsZSB3aXRoIG5vIHBvaW50IGxhYmVscwoJICovCglmdW5jdGlvbiBmaXQoc2NhbGUpIHsKCQl2YXIgbGFyZ2VzdFBvc3NpYmxlUmFkaXVzID0gTWF0aC5taW4oc2NhbGUuaGVpZ2h0IC8gMiwgc2NhbGUud2lkdGggLyAyKTsKCQlzY2FsZS5kcmF3aW5nQXJlYSA9IE1hdGgucm91bmQobGFyZ2VzdFBvc3NpYmxlUmFkaXVzKTsKCQlzY2FsZS5zZXRDZW50ZXJQb2ludCgwLCAwLCAwLCAwKTsKCX0KCglmdW5jdGlvbiBnZXRUZXh0QWxpZ25Gb3JBbmdsZShhbmdsZSkgewoJCWlmIChhbmdsZSA9PT0gMCB8fCBhbmdsZSA9PT0gMTgwKSB7CgkJCXJldHVybiAnY2VudGVyJzsKCQl9IGVsc2UgaWYgKGFuZ2xlIDwgMTgwKSB7CgkJCXJldHVybiAnbGVmdCc7CgkJfQoKCQlyZXR1cm4gJ3JpZ2h0JzsKCX0KCglmdW5jdGlvbiBmaWxsVGV4dChjdHgsIHRleHQsIHBvc2l0aW9uLCBmb250U2l6ZSkgewoJCWlmIChoZWxwZXJzLmlzQXJyYXkodGV4dCkpIHsKCQkJdmFyIHkgPSBwb3NpdGlvbi55OwoJCQl2YXIgc3BhY2luZyA9IDEuNSAqIGZvbnRTaXplOwoKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgKytpKSB7CgkJCQljdHguZmlsbFRleHQodGV4dFtpXSwgcG9zaXRpb24ueCwgeSk7CgkJCQl5ICs9IHNwYWNpbmc7CgkJCX0KCQl9IGVsc2UgewoJCQljdHguZmlsbFRleHQodGV4dCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSk7CgkJfQoJfQoKCWZ1bmN0aW9uIGFkanVzdFBvaW50UG9zaXRpb25Gb3JMYWJlbEhlaWdodChhbmdsZSwgdGV4dFNpemUsIHBvc2l0aW9uKSB7CgkJaWYgKGFuZ2xlID09PSA5MCB8fCBhbmdsZSA9PT0gMjcwKSB7CgkJCXBvc2l0aW9uLnkgLT0gKHRleHRTaXplLmggLyAyKTsKCQl9IGVsc2UgaWYgKGFuZ2xlID4gMjcwIHx8IGFuZ2xlIDwgOTApIHsKCQkJcG9zaXRpb24ueSAtPSB0ZXh0U2l6ZS5oOwoJCX0KCX0KCglmdW5jdGlvbiBkcmF3UG9pbnRMYWJlbHMoc2NhbGUpIHsKCQl2YXIgY3R4ID0gc2NhbGUuY3R4OwoJCXZhciBvcHRzID0gc2NhbGUub3B0aW9uczsKCQl2YXIgYW5nbGVMaW5lT3B0cyA9IG9wdHMuYW5nbGVMaW5lczsKCQl2YXIgcG9pbnRMYWJlbE9wdHMgPSBvcHRzLnBvaW50TGFiZWxzOwoKCQljdHgubGluZVdpZHRoID0gYW5nbGVMaW5lT3B0cy5saW5lV2lkdGg7CgkJY3R4LnN0cm9rZVN0eWxlID0gYW5nbGVMaW5lT3B0cy5jb2xvcjsKCgkJdmFyIG91dGVyRGlzdGFuY2UgPSBzY2FsZS5nZXREaXN0YW5jZUZyb21DZW50ZXJGb3JWYWx1ZShvcHRzLnRpY2tzLnJldmVyc2UgPyBzY2FsZS5taW4gOiBzY2FsZS5tYXgpOwoKCQkvLyBQb2ludCBMYWJlbCBGb250CgkJdmFyIHBsRm9udCA9IGdldFBvaW50TGFiZWxGb250T3B0aW9ucyhzY2FsZSk7CgoJCWN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJzsKCgkJZm9yICh2YXIgaSA9IGdldFZhbHVlQ291bnQoc2NhbGUpIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJaWYgKGFuZ2xlTGluZU9wdHMuZGlzcGxheSkgewoJCQkJdmFyIG91dGVyUG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uKGksIG91dGVyRGlzdGFuY2UpOwoJCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQkJY3R4Lm1vdmVUbyhzY2FsZS54Q2VudGVyLCBzY2FsZS55Q2VudGVyKTsKCQkJCWN0eC5saW5lVG8ob3V0ZXJQb3NpdGlvbi54LCBvdXRlclBvc2l0aW9uLnkpOwoJCQkJY3R4LnN0cm9rZSgpOwoJCQkJY3R4LmNsb3NlUGF0aCgpOwoJCQl9CgoJCQlpZiAocG9pbnRMYWJlbE9wdHMuZGlzcGxheSkgewoJCQkJLy8gRXh0cmEgM3B4IG91dCBmb3Igc29tZSBsYWJlbCBzcGFjaW5nCgkJCQl2YXIgcG9pbnRMYWJlbFBvc2l0aW9uID0gc2NhbGUuZ2V0UG9pbnRQb3NpdGlvbihpLCBvdXRlckRpc3RhbmNlICsgNSk7CgoJCQkJLy8gS2VlcCB0aGlzIGluIGxvb3Agc2luY2Ugd2UgbWF5IHN1cHBvcnQgYXJyYXkgcHJvcGVydGllcyBoZXJlCgkJCQl2YXIgcG9pbnRMYWJlbEZvbnRDb2xvciA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KHBvaW50TGFiZWxPcHRzLmZvbnRDb2xvciwgaSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRDb2xvcik7CgkJCQljdHguZm9udCA9IHBsRm9udC5mb250OwoJCQkJY3R4LmZpbGxTdHlsZSA9IHBvaW50TGFiZWxGb250Q29sb3I7CgoJCQkJdmFyIGFuZ2xlUmFkaWFucyA9IHNjYWxlLmdldEluZGV4QW5nbGUoaSk7CgkJCQl2YXIgYW5nbGUgPSBoZWxwZXJzLnRvRGVncmVlcyhhbmdsZVJhZGlhbnMpOwoJCQkJY3R4LnRleHRBbGlnbiA9IGdldFRleHRBbGlnbkZvckFuZ2xlKGFuZ2xlKTsKCQkJCWFkanVzdFBvaW50UG9zaXRpb25Gb3JMYWJlbEhlaWdodChhbmdsZSwgc2NhbGUuX3BvaW50TGFiZWxTaXplc1tpXSwgcG9pbnRMYWJlbFBvc2l0aW9uKTsKCQkJCWZpbGxUZXh0KGN0eCwgc2NhbGUucG9pbnRMYWJlbHNbaV0gfHwgJycsIHBvaW50TGFiZWxQb3NpdGlvbiwgcGxGb250LnNpemUpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIGRyYXdSYWRpdXNMaW5lKHNjYWxlLCBncmlkTGluZU9wdHMsIHJhZGl1cywgaW5kZXgpIHsKCQl2YXIgY3R4ID0gc2NhbGUuY3R4OwoJCWN0eC5zdHJva2VTdHlsZSA9IGhlbHBlcnMudmFsdWVBdEluZGV4T3JEZWZhdWx0KGdyaWRMaW5lT3B0cy5jb2xvciwgaW5kZXggLSAxKTsKCQljdHgubGluZVdpZHRoID0gaGVscGVycy52YWx1ZUF0SW5kZXhPckRlZmF1bHQoZ3JpZExpbmVPcHRzLmxpbmVXaWR0aCwgaW5kZXggLSAxKTsKCgkJaWYgKHNjYWxlLm9wdGlvbnMuZ3JpZExpbmVzLmNpcmN1bGFyKSB7CgkJCS8vIERyYXcgY2lyY3VsYXIgYXJjcyBiZXR3ZWVuIHRoZSBwb2ludHMKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQljdHguYXJjKHNjYWxlLnhDZW50ZXIsIHNjYWxlLnlDZW50ZXIsIHJhZGl1cywgMCwgTWF0aC5QSSAqIDIpOwoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWN0eC5zdHJva2UoKTsKCQl9IGVsc2UgewoJCQkvLyBEcmF3IHN0cmFpZ2h0IGxpbmVzIGNvbm5lY3RpbmcgZWFjaCBpbmRleAoJCQl2YXIgdmFsdWVDb3VudCA9IGdldFZhbHVlQ291bnQoc2NhbGUpOwoKCQkJaWYgKHZhbHVlQ291bnQgPT09IDApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJY3R4LmJlZ2luUGF0aCgpOwoJCQl2YXIgcG9pbnRQb3NpdGlvbiA9IHNjYWxlLmdldFBvaW50UG9zaXRpb24oMCwgcmFkaXVzKTsKCQkJY3R4Lm1vdmVUbyhwb2ludFBvc2l0aW9uLngsIHBvaW50UG9zaXRpb24ueSk7CgoJCQlmb3IgKHZhciBpID0gMTsgaSA8IHZhbHVlQ291bnQ7IGkrKykgewoJCQkJcG9pbnRQb3NpdGlvbiA9IHNjYWxlLmdldFBvaW50UG9zaXRpb24oaSwgcmFkaXVzKTsKCQkJCWN0eC5saW5lVG8ocG9pbnRQb3NpdGlvbi54LCBwb2ludFBvc2l0aW9uLnkpOwoJCQl9CgoJCQljdHguY2xvc2VQYXRoKCk7CgkJCWN0eC5zdHJva2UoKTsKCQl9Cgl9CgoJZnVuY3Rpb24gbnVtYmVyT3JaZXJvKHBhcmFtKSB7CgkJcmV0dXJuIGhlbHBlcnMuaXNOdW1iZXIocGFyYW0pID8gcGFyYW0gOiAwOwoJfQoKCXZhciBMaW5lYXJSYWRpYWxTY2FsZSA9IENoYXJ0LkxpbmVhclNjYWxlQmFzZS5leHRlbmQoewoJCXNldERpbWVuc2lvbnM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgb3B0cyA9IG1lLm9wdGlvbnM7CgkJCXZhciB0aWNrT3B0cyA9IG9wdHMudGlja3M7CgkJCS8vIFNldCB0aGUgdW5jb25zdHJhaW5lZCBkaW1lbnNpb24gYmVmb3JlIGxhYmVsIHJvdGF0aW9uCgkJCW1lLndpZHRoID0gbWUubWF4V2lkdGg7CgkJCW1lLmhlaWdodCA9IG1lLm1heEhlaWdodDsKCQkJbWUueENlbnRlciA9IE1hdGgucm91bmQobWUud2lkdGggLyAyKTsKCQkJbWUueUNlbnRlciA9IE1hdGgucm91bmQobWUuaGVpZ2h0IC8gMik7CgoJCQl2YXIgbWluU2l6ZSA9IGhlbHBlcnMubWluKFttZS5oZWlnaHQsIG1lLndpZHRoXSk7CgkJCXZhciB0aWNrRm9udFNpemUgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOwoJCQltZS5kcmF3aW5nQXJlYSA9IG9wdHMuZGlzcGxheSA/IChtaW5TaXplIC8gMikgLSAodGlja0ZvbnRTaXplIC8gMiArIHRpY2tPcHRzLmJhY2tkcm9wUGFkZGluZ1kpIDogKG1pblNpemUgLyAyKTsKCQl9LAoJCWRldGVybWluZURhdGFMaW1pdHM6IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgY2hhcnQgPSBtZS5jaGFydDsKCQkJdmFyIG1pbiA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKCQkJdmFyIG1heCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKCgkJCWhlbHBlcnMuZWFjaChjaGFydC5kYXRhLmRhdGFzZXRzLCBmdW5jdGlvbihkYXRhc2V0LCBkYXRhc2V0SW5kZXgpIHsKCQkJCWlmIChjaGFydC5pc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleCkpIHsKCQkJCQl2YXIgbWV0YSA9IGNoYXJ0LmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7CgoJCQkJCWhlbHBlcnMuZWFjaChkYXRhc2V0LmRhdGEsIGZ1bmN0aW9uKHJhd1ZhbHVlLCBpbmRleCkgewoJCQkJCQl2YXIgdmFsdWUgPSArbWUuZ2V0UmlnaHRWYWx1ZShyYXdWYWx1ZSk7CgkJCQkJCWlmIChpc05hTih2YWx1ZSkgfHwgbWV0YS5kYXRhW2luZGV4XS5oaWRkZW4pIHsKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoKCQkJCQkJbWluID0gTWF0aC5taW4odmFsdWUsIG1pbik7CgkJCQkJCW1heCA9IE1hdGgubWF4KHZhbHVlLCBtYXgpOwoJCQkJCX0pOwoJCQkJfQoJCQl9KTsKCgkJCW1lLm1pbiA9IChtaW4gPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSA/IDAgOiBtaW4pOwoJCQltZS5tYXggPSAobWF4ID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPyAwIDogbWF4KTsKCgkJCS8vIENvbW1vbiBiYXNlIGltcGxlbWVudGF0aW9uIHRvIGhhbmRsZSB0aWNrcy5taW4sIHRpY2tzLm1heCwgdGlja3MuYmVnaW5BdFplcm8KCQkJbWUuaGFuZGxlVGlja1JhbmdlT3B0aW9ucygpOwoJCX0sCgkJZ2V0VGlja0xpbWl0OiBmdW5jdGlvbigpIHsKCQkJdmFyIHRpY2tPcHRzID0gdGhpcy5vcHRpb25zLnRpY2tzOwoJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5mb250U2l6ZSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRTaXplKTsKCQkJcmV0dXJuIE1hdGgubWluKHRpY2tPcHRzLm1heFRpY2tzTGltaXQgPyB0aWNrT3B0cy5tYXhUaWNrc0xpbWl0IDogMTEsIE1hdGguY2VpbCh0aGlzLmRyYXdpbmdBcmVhIC8gKDEuNSAqIHRpY2tGb250U2l6ZSkpKTsKCQl9LAoJCWNvbnZlcnRUaWNrc1RvTGFiZWxzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCUNoYXJ0LkxpbmVhclNjYWxlQmFzZS5wcm90b3R5cGUuY29udmVydFRpY2tzVG9MYWJlbHMuY2FsbChtZSk7CgoJCQkvLyBQb2ludCBsYWJlbHMKCQkJbWUucG9pbnRMYWJlbHMgPSBtZS5jaGFydC5kYXRhLmxhYmVscy5tYXAobWUub3B0aW9ucy5wb2ludExhYmVscy5jYWxsYmFjaywgbWUpOwoJCX0sCgkJZ2V0TGFiZWxGb3JJbmRleDogZnVuY3Rpb24oaW5kZXgsIGRhdGFzZXRJbmRleCkgewoJCQlyZXR1cm4gK3RoaXMuZ2V0UmlnaHRWYWx1ZSh0aGlzLmNoYXJ0LmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XSk7CgkJfSwKCQlmaXQ6IGZ1bmN0aW9uKCkgewoJCQlpZiAodGhpcy5vcHRpb25zLnBvaW50TGFiZWxzLmRpc3BsYXkpIHsKCQkJCWZpdFdpdGhQb2ludExhYmVscyh0aGlzKTsKCQkJfSBlbHNlIHsKCQkJCWZpdCh0aGlzKTsKCQkJfQoJCX0sCgkJLyoqCgkJICogU2V0IHJhZGl1cyByZWR1Y3Rpb25zIGFuZCBkZXRlcm1pbmUgbmV3IHJhZGl1cyBhbmQgY2VudGVyIHBvaW50CgkJICogQHByaXZhdGUKCQkgKi8KCQlzZXRSZWR1Y3Rpb25zOiBmdW5jdGlvbihsYXJnZXN0UG9zc2libGVSYWRpdXMsIGZ1cnRoZXN0TGltaXRzLCBmdXJ0aGVzdEFuZ2xlcykgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgcmFkaXVzUmVkdWN0aW9uTGVmdCA9IGZ1cnRoZXN0TGltaXRzLmwgLyBNYXRoLnNpbihmdXJ0aGVzdEFuZ2xlcy5sKTsKCQkJdmFyIHJhZGl1c1JlZHVjdGlvblJpZ2h0ID0gTWF0aC5tYXgoZnVydGhlc3RMaW1pdHMuciAtIG1lLndpZHRoLCAwKSAvIE1hdGguc2luKGZ1cnRoZXN0QW5nbGVzLnIpOwoJCQl2YXIgcmFkaXVzUmVkdWN0aW9uVG9wID0gLWZ1cnRoZXN0TGltaXRzLnQgLyBNYXRoLmNvcyhmdXJ0aGVzdEFuZ2xlcy50KTsKCQkJdmFyIHJhZGl1c1JlZHVjdGlvbkJvdHRvbSA9IC1NYXRoLm1heChmdXJ0aGVzdExpbWl0cy5iIC0gbWUuaGVpZ2h0LCAwKSAvIE1hdGguY29zKGZ1cnRoZXN0QW5nbGVzLmIpOwoKCQkJcmFkaXVzUmVkdWN0aW9uTGVmdCA9IG51bWJlck9yWmVybyhyYWRpdXNSZWR1Y3Rpb25MZWZ0KTsKCQkJcmFkaXVzUmVkdWN0aW9uUmlnaHQgPSBudW1iZXJPclplcm8ocmFkaXVzUmVkdWN0aW9uUmlnaHQpOwoJCQlyYWRpdXNSZWR1Y3Rpb25Ub3AgPSBudW1iZXJPclplcm8ocmFkaXVzUmVkdWN0aW9uVG9wKTsKCQkJcmFkaXVzUmVkdWN0aW9uQm90dG9tID0gbnVtYmVyT3JaZXJvKHJhZGl1c1JlZHVjdGlvbkJvdHRvbSk7CgoJCQltZS5kcmF3aW5nQXJlYSA9IE1hdGgubWluKAoJCQkJTWF0aC5yb3VuZChsYXJnZXN0UG9zc2libGVSYWRpdXMgLSAocmFkaXVzUmVkdWN0aW9uTGVmdCArIHJhZGl1c1JlZHVjdGlvblJpZ2h0KSAvIDIpLAoJCQkJTWF0aC5yb3VuZChsYXJnZXN0UG9zc2libGVSYWRpdXMgLSAocmFkaXVzUmVkdWN0aW9uVG9wICsgcmFkaXVzUmVkdWN0aW9uQm90dG9tKSAvIDIpKTsKCQkJbWUuc2V0Q2VudGVyUG9pbnQocmFkaXVzUmVkdWN0aW9uTGVmdCwgcmFkaXVzUmVkdWN0aW9uUmlnaHQsIHJhZGl1c1JlZHVjdGlvblRvcCwgcmFkaXVzUmVkdWN0aW9uQm90dG9tKTsKCQl9LAoJCXNldENlbnRlclBvaW50OiBmdW5jdGlvbihsZWZ0TW92ZW1lbnQsIHJpZ2h0TW92ZW1lbnQsIHRvcE1vdmVtZW50LCBib3R0b21Nb3ZlbWVudCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWF4UmlnaHQgPSBtZS53aWR0aCAtIHJpZ2h0TW92ZW1lbnQgLSBtZS5kcmF3aW5nQXJlYTsKCQkJdmFyIG1heExlZnQgPSBsZWZ0TW92ZW1lbnQgKyBtZS5kcmF3aW5nQXJlYTsKCQkJdmFyIG1heFRvcCA9IHRvcE1vdmVtZW50ICsgbWUuZHJhd2luZ0FyZWE7CgkJCXZhciBtYXhCb3R0b20gPSBtZS5oZWlnaHQgLSBib3R0b21Nb3ZlbWVudCAtIG1lLmRyYXdpbmdBcmVhOwoKCQkJbWUueENlbnRlciA9IE1hdGgucm91bmQoKChtYXhMZWZ0ICsgbWF4UmlnaHQpIC8gMikgKyBtZS5sZWZ0KTsKCQkJbWUueUNlbnRlciA9IE1hdGgucm91bmQoKChtYXhUb3AgKyBtYXhCb3R0b20pIC8gMikgKyBtZS50b3ApOwoJCX0sCgoJCWdldEluZGV4QW5nbGU6IGZ1bmN0aW9uKGluZGV4KSB7CgkJCXZhciBhbmdsZU11bHRpcGxpZXIgPSAoTWF0aC5QSSAqIDIpIC8gZ2V0VmFsdWVDb3VudCh0aGlzKTsKCQkJdmFyIHN0YXJ0QW5nbGUgPSB0aGlzLmNoYXJ0Lm9wdGlvbnMgJiYgdGhpcy5jaGFydC5vcHRpb25zLnN0YXJ0QW5nbGUgPwoJCQkJdGhpcy5jaGFydC5vcHRpb25zLnN0YXJ0QW5nbGUgOgoJCQkJMDsKCgkJCXZhciBzdGFydEFuZ2xlUmFkaWFucyA9IHN0YXJ0QW5nbGUgKiBNYXRoLlBJICogMiAvIDM2MDsKCgkJCS8vIFN0YXJ0IGZyb20gdGhlIHRvcCBpbnN0ZWFkIG9mIHJpZ2h0LCBzbyByZW1vdmUgYSBxdWFydGVyIG9mIHRoZSBjaXJjbGUKCQkJcmV0dXJuIGluZGV4ICogYW5nbGVNdWx0aXBsaWVyICsgc3RhcnRBbmdsZVJhZGlhbnM7CgkJfSwKCQlnZXREaXN0YW5jZUZyb21DZW50ZXJGb3JWYWx1ZTogZnVuY3Rpb24odmFsdWUpIHsKCQkJdmFyIG1lID0gdGhpczsKCgkJCWlmICh2YWx1ZSA9PT0gbnVsbCkgewoJCQkJcmV0dXJuIDA7IC8vIG51bGwgYWx3YXlzIGluIGNlbnRlcgoJCQl9CgoJCQkvLyBUYWtlIGludG8gYWNjb3VudCBoYWxmIGZvbnQgc2l6ZSArIHRoZSB5UGFkZGluZyBvZiB0aGUgdG9wIHZhbHVlCgkJCXZhciBzY2FsaW5nRmFjdG9yID0gbWUuZHJhd2luZ0FyZWEgLyAobWUubWF4IC0gbWUubWluKTsKCQkJaWYgKG1lLm9wdGlvbnMudGlja3MucmV2ZXJzZSkgewoJCQkJcmV0dXJuIChtZS5tYXggLSB2YWx1ZSkgKiBzY2FsaW5nRmFjdG9yOwoJCQl9CgkJCXJldHVybiAodmFsdWUgLSBtZS5taW4pICogc2NhbGluZ0ZhY3RvcjsKCQl9LAoJCWdldFBvaW50UG9zaXRpb246IGZ1bmN0aW9uKGluZGV4LCBkaXN0YW5jZUZyb21DZW50ZXIpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHRoaXNBbmdsZSA9IG1lLmdldEluZGV4QW5nbGUoaW5kZXgpIC0gKE1hdGguUEkgLyAyKTsKCQkJcmV0dXJuIHsKCQkJCXg6IE1hdGgucm91bmQoTWF0aC5jb3ModGhpc0FuZ2xlKSAqIGRpc3RhbmNlRnJvbUNlbnRlcikgKyBtZS54Q2VudGVyLAoJCQkJeTogTWF0aC5yb3VuZChNYXRoLnNpbih0aGlzQW5nbGUpICogZGlzdGFuY2VGcm9tQ2VudGVyKSArIG1lLnlDZW50ZXIKCQkJfTsKCQl9LAoJCWdldFBvaW50UG9zaXRpb25Gb3JWYWx1ZTogZnVuY3Rpb24oaW5kZXgsIHZhbHVlKSB7CgkJCXJldHVybiB0aGlzLmdldFBvaW50UG9zaXRpb24oaW5kZXgsIHRoaXMuZ2V0RGlzdGFuY2VGcm9tQ2VudGVyRm9yVmFsdWUodmFsdWUpKTsKCQl9LAoKCQlnZXRCYXNlUG9zaXRpb246IGZ1bmN0aW9uKCkgewoJCQl2YXIgbWUgPSB0aGlzOwoJCQl2YXIgbWluID0gbWUubWluOwoJCQl2YXIgbWF4ID0gbWUubWF4OwoKCQkJcmV0dXJuIG1lLmdldFBvaW50UG9zaXRpb25Gb3JWYWx1ZSgwLAoJCQkJbWUuYmVnaW5BdFplcm8gPyAwIDoKCQkJCW1pbiA8IDAgJiYgbWF4IDwgMCA/IG1heCA6CgkJCQltaW4gPiAwICYmIG1heCA+IDAgPyBtaW4gOgoJCQkJMCk7CgkJfSwKCgkJZHJhdzogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBvcHRzID0gbWUub3B0aW9uczsKCQkJdmFyIGdyaWRMaW5lT3B0cyA9IG9wdHMuZ3JpZExpbmVzOwoJCQl2YXIgdGlja09wdHMgPSBvcHRzLnRpY2tzOwoJCQl2YXIgdmFsdWVPckRlZmF1bHQgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0OwoKCQkJaWYgKG9wdHMuZGlzcGxheSkgewoJCQkJdmFyIGN0eCA9IG1lLmN0eDsKCQkJCXZhciBzdGFydEFuZ2xlID0gdGhpcy5nZXRJbmRleEFuZ2xlKDApOwoKCQkJCS8vIFRpY2sgRm9udAoJCQkJdmFyIHRpY2tGb250U2l6ZSA9IHZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLmZvbnRTaXplLCBnbG9iYWxEZWZhdWx0cy5kZWZhdWx0Rm9udFNpemUpOwoJCQkJdmFyIHRpY2tGb250U3R5bGUgPSB2YWx1ZU9yRGVmYXVsdCh0aWNrT3B0cy5mb250U3R5bGUsIGdsb2JhbERlZmF1bHRzLmRlZmF1bHRGb250U3R5bGUpOwoJCQkJdmFyIHRpY2tGb250RmFtaWx5ID0gdmFsdWVPckRlZmF1bHQodGlja09wdHMuZm9udEZhbWlseSwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRGYW1pbHkpOwoJCQkJdmFyIHRpY2tMYWJlbEZvbnQgPSBoZWxwZXJzLmZvbnRTdHJpbmcodGlja0ZvbnRTaXplLCB0aWNrRm9udFN0eWxlLCB0aWNrRm9udEZhbWlseSk7CgoJCQkJaGVscGVycy5lYWNoKG1lLnRpY2tzLCBmdW5jdGlvbihsYWJlbCwgaW5kZXgpIHsKCQkJCQkvLyBEb24ndCBkcmF3IGEgY2VudHJlIHZhbHVlIChpZiBpdCBpcyBtaW5pbXVtKQoJCQkJCWlmIChpbmRleCA+IDAgfHwgdGlja09wdHMucmV2ZXJzZSkgewoJCQkJCQl2YXIgeUNlbnRlck9mZnNldCA9IG1lLmdldERpc3RhbmNlRnJvbUNlbnRlckZvclZhbHVlKG1lLnRpY2tzQXNOdW1iZXJzW2luZGV4XSk7CgoJCQkJCQkvLyBEcmF3IGNpcmN1bGFyIGxpbmVzIGFyb3VuZCB0aGUgc2NhbGUKCQkJCQkJaWYgKGdyaWRMaW5lT3B0cy5kaXNwbGF5ICYmIGluZGV4ICE9PSAwKSB7CgkJCQkJCQlkcmF3UmFkaXVzTGluZShtZSwgZ3JpZExpbmVPcHRzLCB5Q2VudGVyT2Zmc2V0LCBpbmRleCk7CgkJCQkJCX0KCgkJCQkJCWlmICh0aWNrT3B0cy5kaXNwbGF5KSB7CgkJCQkJCQl2YXIgdGlja0ZvbnRDb2xvciA9IHZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLmZvbnRDb2xvciwgZ2xvYmFsRGVmYXVsdHMuZGVmYXVsdEZvbnRDb2xvcik7CgkJCQkJCQljdHguZm9udCA9IHRpY2tMYWJlbEZvbnQ7CgoJCQkJCQkJY3R4LnNhdmUoKTsKCQkJCQkJCWN0eC50cmFuc2xhdGUobWUueENlbnRlciwgbWUueUNlbnRlcik7CgkJCQkJCQljdHgucm90YXRlKHN0YXJ0QW5nbGUpOwoKCQkJCQkJCWlmICh0aWNrT3B0cy5zaG93TGFiZWxCYWNrZHJvcCkgewoJCQkJCQkJCXZhciBsYWJlbFdpZHRoID0gY3R4Lm1lYXN1cmVUZXh0KGxhYmVsKS53aWR0aDsKCQkJCQkJCQljdHguZmlsbFN0eWxlID0gdGlja09wdHMuYmFja2Ryb3BDb2xvcjsKCQkJCQkJCQljdHguZmlsbFJlY3QoCgkJCQkJCQkJCS1sYWJlbFdpZHRoIC8gMiAtIHRpY2tPcHRzLmJhY2tkcm9wUGFkZGluZ1gsCgkJCQkJCQkJCS15Q2VudGVyT2Zmc2V0IC0gdGlja0ZvbnRTaXplIC8gMiAtIHRpY2tPcHRzLmJhY2tkcm9wUGFkZGluZ1ksCgkJCQkJCQkJCWxhYmVsV2lkdGggKyB0aWNrT3B0cy5iYWNrZHJvcFBhZGRpbmdYICogMiwKCQkJCQkJCQkJdGlja0ZvbnRTaXplICsgdGlja09wdHMuYmFja2Ryb3BQYWRkaW5nWSAqIDIKCQkJCQkJCQkpOwoJCQkJCQkJfQoKCQkJCQkJCWN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJzsKCQkJCQkJCWN0eC50ZXh0QmFzZWxpbmUgPSAnbWlkZGxlJzsKCQkJCQkJCWN0eC5maWxsU3R5bGUgPSB0aWNrRm9udENvbG9yOwoJCQkJCQkJY3R4LmZpbGxUZXh0KGxhYmVsLCAwLCAteUNlbnRlck9mZnNldCk7CgkJCQkJCQljdHgucmVzdG9yZSgpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSk7CgoJCQkJaWYgKG9wdHMuYW5nbGVMaW5lcy5kaXNwbGF5IHx8IG9wdHMucG9pbnRMYWJlbHMuZGlzcGxheSkgewoJCQkJCWRyYXdQb2ludExhYmVscyhtZSk7CgkJCQl9CgkJCX0KCQl9Cgl9KTsKCUNoYXJ0LnNjYWxlU2VydmljZS5yZWdpc3RlclNjYWxlVHlwZSgncmFkaWFsTGluZWFyJywgTGluZWFyUmFkaWFsU2NhbGUsIGRlZmF1bHRDb25maWcpOwoKfTsKCn0seyIyNSI6MjUsIjM0IjozNCwiNDUiOjQ1fV0sNTg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewovKiBnbG9iYWwgd2luZG93OiBmYWxzZSAqLwondXNlIHN0cmljdCc7Cgp2YXIgbW9tZW50ID0gcmVxdWlyZSg2KTsKbW9tZW50ID0gdHlwZW9mIG1vbWVudCA9PT0gJ2Z1bmN0aW9uJyA/IG1vbWVudCA6IHdpbmRvdy5tb21lbnQ7Cgp2YXIgZGVmYXVsdHMgPSByZXF1aXJlKDI1KTsKdmFyIGhlbHBlcnMgPSByZXF1aXJlKDQ1KTsKCi8vIEludGVnZXIgY29uc3RhbnRzIGFyZSBmcm9tIHRoZSBFUzYgc3BlYy4KdmFyIE1JTl9JTlRFR0VSID0gTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIgfHwgLTkwMDcxOTkyNTQ3NDA5OTE7CnZhciBNQVhfSU5URUdFUiA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSIHx8IDkwMDcxOTkyNTQ3NDA5OTE7Cgp2YXIgSU5URVJWQUxTID0gewoJbWlsbGlzZWNvbmQ6IHsKCQljb21tb246IHRydWUsCgkJc2l6ZTogMSwKCQlzdGVwczogWzEsIDIsIDUsIDEwLCAyMCwgNTAsIDEwMCwgMjUwLCA1MDBdCgl9LAoJc2Vjb25kOiB7CgkJY29tbW9uOiB0cnVlLAoJCXNpemU6IDEwMDAsCgkJc3RlcHM6IFsxLCAyLCA1LCAxMCwgMzBdCgl9LAoJbWludXRlOiB7CgkJY29tbW9uOiB0cnVlLAoJCXNpemU6IDYwMDAwLAoJCXN0ZXBzOiBbMSwgMiwgNSwgMTAsIDMwXQoJfSwKCWhvdXI6IHsKCQljb21tb246IHRydWUsCgkJc2l6ZTogMzYwMDAwMCwKCQlzdGVwczogWzEsIDIsIDMsIDYsIDEyXQoJfSwKCWRheTogewoJCWNvbW1vbjogdHJ1ZSwKCQlzaXplOiA4NjQwMDAwMCwKCQlzdGVwczogWzEsIDIsIDVdCgl9LAoJd2VlazogewoJCWNvbW1vbjogZmFsc2UsCgkJc2l6ZTogNjA0ODAwMDAwLAoJCXN0ZXBzOiBbMSwgMiwgMywgNF0KCX0sCgltb250aDogewoJCWNvbW1vbjogdHJ1ZSwKCQlzaXplOiAyLjYyOGU5LAoJCXN0ZXBzOiBbMSwgMiwgM10KCX0sCglxdWFydGVyOiB7CgkJY29tbW9uOiBmYWxzZSwKCQlzaXplOiA3Ljg4NGU5LAoJCXN0ZXBzOiBbMSwgMiwgMywgNF0KCX0sCgl5ZWFyOiB7CgkJY29tbW9uOiB0cnVlLAoJCXNpemU6IDMuMTU0ZTEwCgl9Cn07Cgp2YXIgVU5JVFMgPSBPYmplY3Qua2V5cyhJTlRFUlZBTFMpOwoKZnVuY3Rpb24gc29ydGVyKGEsIGIpIHsKCXJldHVybiBhIC0gYjsKfQoKZnVuY3Rpb24gYXJyYXlVbmlxdWUoaXRlbXMpIHsKCXZhciBoYXNoID0ge307Cgl2YXIgb3V0ID0gW107Cgl2YXIgaSwgaWxlbiwgaXRlbTsKCglmb3IgKGkgPSAwLCBpbGVuID0gaXRlbXMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJaXRlbSA9IGl0ZW1zW2ldOwoJCWlmICghaGFzaFtpdGVtXSkgewoJCQloYXNoW2l0ZW1dID0gdHJ1ZTsKCQkJb3V0LnB1c2goaXRlbSk7CgkJfQoJfQoKCXJldHVybiBvdXQ7Cn0KCi8qKgogKiBSZXR1cm5zIGFuIGFycmF5IG9mIHt0aW1lLCBwb3N9IG9iamVjdHMgdXNlZCB0byBpbnRlcnBvbGF0ZSBhIHNwZWNpZmljIGB0aW1lYCBvciBwb3NpdGlvbgogKiAoYHBvc2ApIG9uIHRoZSBzY2FsZSwgYnkgc2VhcmNoaW5nIGVudHJpZXMgYmVmb3JlIGFuZCBhZnRlciB0aGUgcmVxdWVzdGVkIHZhbHVlLiBgcG9zYCBpcwogKiBhIGRlY2ltYWwgYmV0d2VlbiAwIGFuZCAxOiAwIGJlaW5nIHRoZSBzdGFydCBvZiB0aGUgc2NhbGUgKGxlZnQgb3IgdG9wKSBhbmQgMSB0aGUgb3RoZXIKICogZXh0cmVtaXR5IChsZWZ0ICsgd2lkdGggb3IgdG9wICsgaGVpZ2h0KS4gTm90ZSB0aGF0IGl0IHdvdWxkIGJlIG1vcmUgb3B0aW1pemVkIHRvIGRpcmVjdGx5CiAqIHN0b3JlIHByZS1jb21wdXRlZCBwaXhlbHMsIGJ1dCB0aGUgc2NhbGUgZGltZW5zaW9ucyBhcmUgbm90IGd1YXJhbnRlZWQgYXQgdGhlIHRpbWUgd2UgbmVlZAogKiB0byBjcmVhdGUgdGhlIGxvb2t1cCB0YWJsZS4gVGhlIHRhYmxlIEFMV0FZUyBjb250YWlucyBhdCBsZWFzdCB0d28gaXRlbXM6IG1pbiBhbmQgbWF4LgogKgogKiBAcGFyYW0ge051bWJlcltdfSB0aW1lc3RhbXBzIC0gdGltZXN0YW1wcyBzb3J0ZWQgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdC4KICogQHBhcmFtIHtTdHJpbmd9IGRpc3RyaWJ1dGlvbiAtIElmICdsaW5lYXInLCB0aW1lc3RhbXBzIHdpbGwgYmUgc3ByZWFkIGxpbmVhcmx5IGFsb25nIHRoZSBtaW4KICogYW5kIG1heCByYW5nZSwgc28gYmFzaWNhbGx5LCB0aGUgdGFibGUgd2lsbCBjb250YWlucyBvbmx5IHR3byBpdGVtczoge21pbiwgMH0gYW5kIHttYXgsIDF9LgogKiBJZiAnc2VyaWVzJywgdGltZXN0YW1wcyB3aWxsIGJlIHBvc2l0aW9uZWQgYXQgdGhlIHNhbWUgZGlzdGFuY2UgZnJvbSBlYWNoIG90aGVyLiBJbiB0aGlzCiAqIGNhc2UsIG9ubHkgdGltZXN0YW1wcyB0aGF0IGJyZWFrIHRoZSB0aW1lIGxpbmVhcml0eSBhcmUgcmVnaXN0ZXJlZCwgbWVhbmluZyB0aGF0IGluIHRoZQogKiBiZXN0IGNhc2UsIGFsbCB0aW1lc3RhbXBzIGFyZSBsaW5lYXIsIHRoZSB0YWJsZSBjb250YWlucyBvbmx5IG1pbiBhbmQgbWF4LgogKi8KZnVuY3Rpb24gYnVpbGRMb29rdXBUYWJsZSh0aW1lc3RhbXBzLCBtaW4sIG1heCwgZGlzdHJpYnV0aW9uKSB7CglpZiAoZGlzdHJpYnV0aW9uID09PSAnbGluZWFyJyB8fCAhdGltZXN0YW1wcy5sZW5ndGgpIHsKCQlyZXR1cm4gWwoJCQl7dGltZTogbWluLCBwb3M6IDB9LAoJCQl7dGltZTogbWF4LCBwb3M6IDF9CgkJXTsKCX0KCgl2YXIgdGFibGUgPSBbXTsKCXZhciBpdGVtcyA9IFttaW5dOwoJdmFyIGksIGlsZW4sIHByZXYsIGN1cnIsIG5leHQ7CgoJZm9yIChpID0gMCwgaWxlbiA9IHRpbWVzdGFtcHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJY3VyciA9IHRpbWVzdGFtcHNbaV07CgkJaWYgKGN1cnIgPiBtaW4gJiYgY3VyciA8IG1heCkgewoJCQlpdGVtcy5wdXNoKGN1cnIpOwoJCX0KCX0KCglpdGVtcy5wdXNoKG1heCk7CgoJZm9yIChpID0gMCwgaWxlbiA9IGl0ZW1zLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCW5leHQgPSBpdGVtc1tpICsgMV07CgkJcHJldiA9IGl0ZW1zW2kgLSAxXTsKCQljdXJyID0gaXRlbXNbaV07CgoJCS8vIG9ubHkgYWRkIHBvaW50cyB0aGF0IGJyZWFrcyB0aGUgc2NhbGUgbGluZWFyaXR5CgkJaWYgKHByZXYgPT09IHVuZGVmaW5lZCB8fCBuZXh0ID09PSB1bmRlZmluZWQgfHwgTWF0aC5yb3VuZCgobmV4dCArIHByZXYpIC8gMikgIT09IGN1cnIpIHsKCQkJdGFibGUucHVzaCh7dGltZTogY3VyciwgcG9zOiBpIC8gKGlsZW4gLSAxKX0pOwoJCX0KCX0KCglyZXR1cm4gdGFibGU7Cn0KCi8vIEBzZWUgYWRhcHRlZCBmcm9tIGh0dHA6Ly93d3cuYW51amdha2hhci5jb20vMjAxNC8wMy8wMS9iaW5hcnktc2VhcmNoLWluLWphdmFzY3JpcHQvCmZ1bmN0aW9uIGxvb2t1cCh0YWJsZSwga2V5LCB2YWx1ZSkgewoJdmFyIGxvID0gMDsKCXZhciBoaSA9IHRhYmxlLmxlbmd0aCAtIDE7Cgl2YXIgbWlkLCBpMCwgaTE7CgoJd2hpbGUgKGxvID49IDAgJiYgbG8gPD0gaGkpIHsKCQltaWQgPSAobG8gKyBoaSkgPj4gMTsKCQlpMCA9IHRhYmxlW21pZCAtIDFdIHx8IG51bGw7CgkJaTEgPSB0YWJsZVttaWRdOwoKCQlpZiAoIWkwKSB7CgkJCS8vIGdpdmVuIHZhbHVlIGlzIG91dHNpZGUgdGFibGUgKGJlZm9yZSBmaXJzdCBpdGVtKQoJCQlyZXR1cm4ge2xvOiBudWxsLCBoaTogaTF9OwoJCX0gZWxzZSBpZiAoaTFba2V5XSA8IHZhbHVlKSB7CgkJCWxvID0gbWlkICsgMTsKCQl9IGVsc2UgaWYgKGkwW2tleV0gPiB2YWx1ZSkgewoJCQloaSA9IG1pZCAtIDE7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIHtsbzogaTAsIGhpOiBpMX07CgkJfQoJfQoKCS8vIGdpdmVuIHZhbHVlIGlzIG91dHNpZGUgdGFibGUgKGFmdGVyIGxhc3QgaXRlbSkKCXJldHVybiB7bG86IGkxLCBoaTogbnVsbH07Cn0KCi8qKgogKiBMaW5lYXJseSBpbnRlcnBvbGF0ZXMgdGhlIGdpdmVuIHNvdXJjZSBgdmFsdWVgIHVzaW5nIHRoZSB0YWJsZSBpdGVtcyBgc2tleWAgdmFsdWVzIGFuZAogKiByZXR1cm5zIHRoZSBhc3NvY2lhdGVkIGB0a2V5YCB2YWx1ZS4gRm9yIGV4YW1wbGUsIGludGVycG9sYXRlKHRhYmxlLCAndGltZScsIDQyLCAncG9zJykKICogcmV0dXJucyB0aGUgcG9zaXRpb24gZm9yIGEgdGltZXN0YW1wIGVxdWFsIHRvIDQyLiBJZiB2YWx1ZSBpcyBvdXQgb2YgYm91bmRzLCB2YWx1ZXMgYXQKICogaW5kZXggWzAsIDFdIG9yIFtuIC0gMSwgbl0gYXJlIHVzZWQgZm9yIHRoZSBpbnRlcnBvbGF0aW9uLgogKi8KZnVuY3Rpb24gaW50ZXJwb2xhdGUodGFibGUsIHNrZXksIHN2YWwsIHRrZXkpIHsKCXZhciByYW5nZSA9IGxvb2t1cCh0YWJsZSwgc2tleSwgc3ZhbCk7CgoJLy8gTm90ZTogdGhlIGxvb2t1cCB0YWJsZSBBTFdBWVMgY29udGFpbnMgYXQgbGVhc3QgMiBpdGVtcyAobWluIGFuZCBtYXgpCgl2YXIgcHJldiA9ICFyYW5nZS5sbyA/IHRhYmxlWzBdIDogIXJhbmdlLmhpID8gdGFibGVbdGFibGUubGVuZ3RoIC0gMl0gOiByYW5nZS5sbzsKCXZhciBuZXh0ID0gIXJhbmdlLmxvID8gdGFibGVbMV0gOiAhcmFuZ2UuaGkgPyB0YWJsZVt0YWJsZS5sZW5ndGggLSAxXSA6IHJhbmdlLmhpOwoKCXZhciBzcGFuID0gbmV4dFtza2V5XSAtIHByZXZbc2tleV07Cgl2YXIgcmF0aW8gPSBzcGFuID8gKHN2YWwgLSBwcmV2W3NrZXldKSAvIHNwYW4gOiAwOwoJdmFyIG9mZnNldCA9IChuZXh0W3RrZXldIC0gcHJldlt0a2V5XSkgKiByYXRpbzsKCglyZXR1cm4gcHJldlt0a2V5XSArIG9mZnNldDsKfQoKLyoqCiAqIENvbnZlcnQgdGhlIGdpdmVuIHZhbHVlIHRvIGEgbW9tZW50IG9iamVjdCB1c2luZyB0aGUgZ2l2ZW4gdGltZSBvcHRpb25zLgogKiBAc2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZG9jcy8jL3BhcnNpbmcvCiAqLwpmdW5jdGlvbiBtb21lbnRpZnkodmFsdWUsIG9wdGlvbnMpIHsKCXZhciBwYXJzZXIgPSBvcHRpb25zLnBhcnNlcjsKCXZhciBmb3JtYXQgPSBvcHRpb25zLnBhcnNlciB8fCBvcHRpb25zLmZvcm1hdDsKCglpZiAodHlwZW9mIHBhcnNlciA9PT0gJ2Z1bmN0aW9uJykgewoJCXJldHVybiBwYXJzZXIodmFsdWUpOwoJfQoKCWlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBmb3JtYXQgPT09ICdzdHJpbmcnKSB7CgkJcmV0dXJuIG1vbWVudCh2YWx1ZSwgZm9ybWF0KTsKCX0KCglpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIG1vbWVudCkpIHsKCQl2YWx1ZSA9IG1vbWVudCh2YWx1ZSk7Cgl9CgoJaWYgKHZhbHVlLmlzVmFsaWQoKSkgewoJCXJldHVybiB2YWx1ZTsKCX0KCgkvLyBMYWJlbHMgYXJlIGluIGFuIGluY29tcGF0aWJsZSBtb21lbnQgZm9ybWF0IGFuZCBubyBgcGFyc2VyYCBoYXMgYmVlbiBwcm92aWRlZC4KCS8vIFRoZSB1c2VyIG1pZ2h0IHN0aWxsIHVzZSB0aGUgZGVwcmVjYXRlZCBgZm9ybWF0YCBvcHRpb24gdG8gY29udmVydCBoaXMgaW5wdXRzLgoJaWYgKHR5cGVvZiBmb3JtYXQgPT09ICdmdW5jdGlvbicpIHsKCQlyZXR1cm4gZm9ybWF0KHZhbHVlKTsKCX0KCglyZXR1cm4gdmFsdWU7Cn0KCmZ1bmN0aW9uIHBhcnNlKGlucHV0LCBzY2FsZSkgewoJaWYgKGhlbHBlcnMuaXNOdWxsT3JVbmRlZihpbnB1dCkpIHsKCQlyZXR1cm4gbnVsbDsKCX0KCgl2YXIgb3B0aW9ucyA9IHNjYWxlLm9wdGlvbnMudGltZTsKCXZhciB2YWx1ZSA9IG1vbWVudGlmeShzY2FsZS5nZXRSaWdodFZhbHVlKGlucHV0KSwgb3B0aW9ucyk7CglpZiAoIXZhbHVlLmlzVmFsaWQoKSkgewoJCXJldHVybiBudWxsOwoJfQoKCWlmIChvcHRpb25zLnJvdW5kKSB7CgkJdmFsdWUuc3RhcnRPZihvcHRpb25zLnJvdW5kKTsKCX0KCglyZXR1cm4gdmFsdWUudmFsdWVPZigpOwp9CgovKioKICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHVuaXQgdG8gc2tpcCB0byBiZSBhYmxlIHRvIGRpc3BsYXkgdXAgdG8gYGNhcGFjaXR5YCBudW1iZXIgb2YgdGlja3MKICogaW4gYHVuaXRgIGZvciB0aGUgZ2l2ZW4gYG1pbmAgLyBgbWF4YCByYW5nZSBhbmQgcmVzcGVjdGluZyB0aGUgaW50ZXJ2YWwgc3RlcHMgY29uc3RyYWludHMuCiAqLwpmdW5jdGlvbiBkZXRlcm1pbmVTdGVwU2l6ZShtaW4sIG1heCwgdW5pdCwgY2FwYWNpdHkpIHsKCXZhciByYW5nZSA9IG1heCAtIG1pbjsKCXZhciBpbnRlcnZhbCA9IElOVEVSVkFMU1t1bml0XTsKCXZhciBtaWxsaXNlY29uZHMgPSBpbnRlcnZhbC5zaXplOwoJdmFyIHN0ZXBzID0gaW50ZXJ2YWwuc3RlcHM7Cgl2YXIgaSwgaWxlbiwgZmFjdG9yOwoKCWlmICghc3RlcHMpIHsKCQlyZXR1cm4gTWF0aC5jZWlsKHJhbmdlIC8gKGNhcGFjaXR5ICogbWlsbGlzZWNvbmRzKSk7Cgl9CgoJZm9yIChpID0gMCwgaWxlbiA9IHN0ZXBzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCWZhY3RvciA9IHN0ZXBzW2ldOwoJCWlmIChNYXRoLmNlaWwocmFuZ2UgLyAobWlsbGlzZWNvbmRzICogZmFjdG9yKSkgPD0gY2FwYWNpdHkpIHsKCQkJYnJlYWs7CgkJfQoJfQoKCXJldHVybiBmYWN0b3I7Cn0KCi8qKgogKiBGaWd1cmVzIG91dCB3aGF0IHVuaXQgcmVzdWx0cyBpbiBhbiBhcHByb3ByaWF0ZSBudW1iZXIgb2YgYXV0by1nZW5lcmF0ZWQgdGlja3MKICovCmZ1bmN0aW9uIGRldGVybWluZVVuaXRGb3JBdXRvVGlja3MobWluVW5pdCwgbWluLCBtYXgsIGNhcGFjaXR5KSB7Cgl2YXIgaWxlbiA9IFVOSVRTLmxlbmd0aDsKCXZhciBpLCBpbnRlcnZhbCwgZmFjdG9yOwoKCWZvciAoaSA9IFVOSVRTLmluZGV4T2YobWluVW5pdCk7IGkgPCBpbGVuIC0gMTsgKytpKSB7CgkJaW50ZXJ2YWwgPSBJTlRFUlZBTFNbVU5JVFNbaV1dOwoJCWZhY3RvciA9IGludGVydmFsLnN0ZXBzID8gaW50ZXJ2YWwuc3RlcHNbaW50ZXJ2YWwuc3RlcHMubGVuZ3RoIC0gMV0gOiBNQVhfSU5URUdFUjsKCgkJaWYgKGludGVydmFsLmNvbW1vbiAmJiBNYXRoLmNlaWwoKG1heCAtIG1pbikgLyAoZmFjdG9yICogaW50ZXJ2YWwuc2l6ZSkpIDw9IGNhcGFjaXR5KSB7CgkJCXJldHVybiBVTklUU1tpXTsKCQl9Cgl9CgoJcmV0dXJuIFVOSVRTW2lsZW4gLSAxXTsKfQoKLyoqCiAqIEZpZ3VyZXMgb3V0IHdoYXQgdW5pdCB0byBmb3JtYXQgYSBzZXQgb2YgdGlja3Mgd2l0aAogKi8KZnVuY3Rpb24gZGV0ZXJtaW5lVW5pdEZvckZvcm1hdHRpbmcodGlja3MsIG1pblVuaXQsIG1pbiwgbWF4KSB7Cgl2YXIgZHVyYXRpb24gPSBtb21lbnQuZHVyYXRpb24obW9tZW50KG1heCkuZGlmZihtb21lbnQobWluKSkpOwoJdmFyIGlsZW4gPSBVTklUUy5sZW5ndGg7Cgl2YXIgaSwgdW5pdDsKCglmb3IgKGkgPSBpbGVuIC0gMTsgaSA+PSBVTklUUy5pbmRleE9mKG1pblVuaXQpOyBpLS0pIHsKCQl1bml0ID0gVU5JVFNbaV07CgkJaWYgKElOVEVSVkFMU1t1bml0XS5jb21tb24gJiYgZHVyYXRpb24uYXModW5pdCkgPj0gdGlja3MubGVuZ3RoKSB7CgkJCXJldHVybiB1bml0OwoJCX0KCX0KCglyZXR1cm4gVU5JVFNbbWluVW5pdCA/IFVOSVRTLmluZGV4T2YobWluVW5pdCkgOiAwXTsKfQoKZnVuY3Rpb24gZGV0ZXJtaW5lTWFqb3JVbml0KHVuaXQpIHsKCWZvciAodmFyIGkgPSBVTklUUy5pbmRleE9mKHVuaXQpICsgMSwgaWxlbiA9IFVOSVRTLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCWlmIChJTlRFUlZBTFNbVU5JVFNbaV1dLmNvbW1vbikgewoJCQlyZXR1cm4gVU5JVFNbaV07CgkJfQoJfQp9CgovKioKICogR2VuZXJhdGVzIGEgbWF4aW11bSBvZiBgY2FwYWNpdHlgIHRpbWVzdGFtcHMgYmV0d2VlbiBtaW4gYW5kIG1heCwgcm91bmRlZCB0byB0aGUKICogYG1pbm9yYCB1bml0LCBhbGlnbmVkIG9uIHRoZSBgbWFqb3JgIHVuaXQgYW5kIHVzaW5nIHRoZSBnaXZlbiBzY2FsZSB0aW1lIGBvcHRpb25zYC4KICogSW1wb3J0YW50OiB0aGlzIG1ldGhvZCBjYW4gcmV0dXJuIHRpY2tzIG91dHNpZGUgdGhlIG1pbiBhbmQgbWF4IHJhbmdlLCBpdCdzIHRoZQogKiByZXNwb25zaWJpbGl0eSBvZiB0aGUgY2FsbGluZyBjb2RlIHRvIGNsYW1wIHZhbHVlcyBpZiBuZWVkZWQuCiAqLwpmdW5jdGlvbiBnZW5lcmF0ZShtaW4sIG1heCwgY2FwYWNpdHksIG9wdGlvbnMpIHsKCXZhciB0aW1lT3B0cyA9IG9wdGlvbnMudGltZTsKCXZhciBtaW5vciA9IHRpbWVPcHRzLnVuaXQgfHwgZGV0ZXJtaW5lVW5pdEZvckF1dG9UaWNrcyh0aW1lT3B0cy5taW5Vbml0LCBtaW4sIG1heCwgY2FwYWNpdHkpOwoJdmFyIG1ham9yID0gZGV0ZXJtaW5lTWFqb3JVbml0KG1pbm9yKTsKCXZhciBzdGVwU2l6ZSA9IGhlbHBlcnMudmFsdWVPckRlZmF1bHQodGltZU9wdHMuc3RlcFNpemUsIHRpbWVPcHRzLnVuaXRTdGVwU2l6ZSk7Cgl2YXIgd2Vla2RheSA9IG1pbm9yID09PSAnd2VlaycgPyB0aW1lT3B0cy5pc29XZWVrZGF5IDogZmFsc2U7Cgl2YXIgbWFqb3JUaWNrc0VuYWJsZWQgPSBvcHRpb25zLnRpY2tzLm1ham9yLmVuYWJsZWQ7Cgl2YXIgaW50ZXJ2YWwgPSBJTlRFUlZBTFNbbWlub3JdOwoJdmFyIGZpcnN0ID0gbW9tZW50KG1pbik7Cgl2YXIgbGFzdCA9IG1vbWVudChtYXgpOwoJdmFyIHRpY2tzID0gW107Cgl2YXIgdGltZTsKCglpZiAoIXN0ZXBTaXplKSB7CgkJc3RlcFNpemUgPSBkZXRlcm1pbmVTdGVwU2l6ZShtaW4sIG1heCwgbWlub3IsIGNhcGFjaXR5KTsKCX0KCgkvLyBGb3IgJ3dlZWsnIHVuaXQsIGhhbmRsZSB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgb3B0aW9uCglpZiAod2Vla2RheSkgewoJCWZpcnN0ID0gZmlyc3QuaXNvV2Vla2RheSh3ZWVrZGF5KTsKCQlsYXN0ID0gbGFzdC5pc29XZWVrZGF5KHdlZWtkYXkpOwoJfQoKCS8vIEFsaWduIGZpcnN0L2xhc3QgdGlja3Mgb24gdW5pdAoJZmlyc3QgPSBmaXJzdC5zdGFydE9mKHdlZWtkYXkgPyAnZGF5JyA6IG1pbm9yKTsKCWxhc3QgPSBsYXN0LnN0YXJ0T2Yod2Vla2RheSA/ICdkYXknIDogbWlub3IpOwoKCS8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBsYXN0IHRpY2sgaW5jbHVkZSBtYXgKCWlmIChsYXN0IDwgbWF4KSB7CgkJbGFzdC5hZGQoMSwgbWlub3IpOwoJfQoKCXRpbWUgPSBtb21lbnQoZmlyc3QpOwoKCWlmIChtYWpvclRpY2tzRW5hYmxlZCAmJiBtYWpvciAmJiAhd2Vla2RheSAmJiAhdGltZU9wdHMucm91bmQpIHsKCQkvLyBBbGlnbiB0aGUgZmlyc3QgdGljayBvbiB0aGUgcHJldmlvdXMgYG1pbm9yYCB1bml0IGFsaWduZWQgb24gdGhlIGBtYWpvcmAgdW5pdDoKCQkvLyB3ZSBmaXJzdCBhbGlnbmVkIHRpbWUgb24gdGhlIHByZXZpb3VzIGBtYWpvcmAgdW5pdCB0aGVuIGFkZCB0aGUgbnVtYmVyIG9mIGZ1bGwKCQkvLyBzdGVwU2l6ZSB0aGVyZSBpcyBiZXR3ZWVuIGZpcnN0IGFuZCB0aGUgcHJldmlvdXMgbWFqb3IgdGltZS4KCQl0aW1lLnN0YXJ0T2YobWFqb3IpOwoJCXRpbWUuYWRkKH5+KChmaXJzdCAtIHRpbWUpIC8gKGludGVydmFsLnNpemUgKiBzdGVwU2l6ZSkpICogc3RlcFNpemUsIG1pbm9yKTsKCX0KCglmb3IgKDsgdGltZSA8IGxhc3Q7IHRpbWUuYWRkKHN0ZXBTaXplLCBtaW5vcikpIHsKCQl0aWNrcy5wdXNoKCt0aW1lKTsKCX0KCgl0aWNrcy5wdXNoKCt0aW1lKTsKCglyZXR1cm4gdGlja3M7Cn0KCi8qKgogKiBSZXR1cm5zIHRoZSByaWdodCBhbmQgbGVmdCBvZmZzZXRzIGZyb20gZWRnZXMgaW4gdGhlIGZvcm0gb2Yge2xlZnQsIHJpZ2h0fS4KICogT2Zmc2V0cyBhcmUgYWRkZWQgd2hlbiB0aGUgYG9mZnNldGAgb3B0aW9uIGlzIHRydWUuCiAqLwpmdW5jdGlvbiBjb21wdXRlT2Zmc2V0cyh0YWJsZSwgdGlja3MsIG1pbiwgbWF4LCBvcHRpb25zKSB7Cgl2YXIgbGVmdCA9IDA7Cgl2YXIgcmlnaHQgPSAwOwoJdmFyIHVwcGVyLCBsb3dlcjsKCglpZiAob3B0aW9ucy5vZmZzZXQgJiYgdGlja3MubGVuZ3RoKSB7CgkJaWYgKCFvcHRpb25zLnRpbWUubWluKSB7CgkJCXVwcGVyID0gdGlja3MubGVuZ3RoID4gMSA/IHRpY2tzWzFdIDogbWF4OwoJCQlsb3dlciA9IHRpY2tzWzBdOwoJCQlsZWZ0ID0gKAoJCQkJaW50ZXJwb2xhdGUodGFibGUsICd0aW1lJywgdXBwZXIsICdwb3MnKSAtCgkJCQlpbnRlcnBvbGF0ZSh0YWJsZSwgJ3RpbWUnLCBsb3dlciwgJ3BvcycpCgkJCSkgLyAyOwoJCX0KCQlpZiAoIW9wdGlvbnMudGltZS5tYXgpIHsKCQkJdXBwZXIgPSB0aWNrc1t0aWNrcy5sZW5ndGggLSAxXTsKCQkJbG93ZXIgPSB0aWNrcy5sZW5ndGggPiAxID8gdGlja3NbdGlja3MubGVuZ3RoIC0gMl0gOiBtaW47CgkJCXJpZ2h0ID0gKAoJCQkJaW50ZXJwb2xhdGUodGFibGUsICd0aW1lJywgdXBwZXIsICdwb3MnKSAtCgkJCQlpbnRlcnBvbGF0ZSh0YWJsZSwgJ3RpbWUnLCBsb3dlciwgJ3BvcycpCgkJCSkgLyAyOwoJCX0KCX0KCglyZXR1cm4ge2xlZnQ6IGxlZnQsIHJpZ2h0OiByaWdodH07Cn0KCmZ1bmN0aW9uIHRpY2tzRnJvbVRpbWVzdGFtcHModmFsdWVzLCBtYWpvclVuaXQpIHsKCXZhciB0aWNrcyA9IFtdOwoJdmFyIGksIGlsZW4sIHZhbHVlLCBtYWpvcjsKCglmb3IgKGkgPSAwLCBpbGVuID0gdmFsdWVzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCXZhbHVlID0gdmFsdWVzW2ldOwoJCW1ham9yID0gbWFqb3JVbml0ID8gdmFsdWUgPT09ICttb21lbnQodmFsdWUpLnN0YXJ0T2YobWFqb3JVbml0KSA6IGZhbHNlOwoKCQl0aWNrcy5wdXNoKHsKCQkJdmFsdWU6IHZhbHVlLAoJCQltYWpvcjogbWFqb3IKCQl9KTsKCX0KCglyZXR1cm4gdGlja3M7Cn0KCmZ1bmN0aW9uIGRldGVybWluZUxhYmVsRm9ybWF0KGRhdGEsIHRpbWVPcHRzKSB7Cgl2YXIgaSwgbW9tZW50RGF0ZSwgaGFzVGltZTsKCXZhciBpbGVuID0gZGF0YS5sZW5ndGg7CgoJLy8gZmluZCB0aGUgbGFiZWwgd2l0aCB0aGUgbW9zdCBwYXJ0cyAobWlsbGlzZWNvbmRzLCBtaW51dGVzLCBldGMuKQoJLy8gZm9ybWF0IGFsbCBsYWJlbHMgd2l0aCB0aGUgc2FtZSBsZXZlbCBvZiBkZXRhaWwgYXMgdGhlIG1vc3Qgc3BlY2lmaWMgbGFiZWwKCWZvciAoaSA9IDA7IGkgPCBpbGVuOyBpKyspIHsKCQltb21lbnREYXRlID0gbW9tZW50aWZ5KGRhdGFbaV0sIHRpbWVPcHRzKTsKCQlpZiAobW9tZW50RGF0ZS5taWxsaXNlY29uZCgpICE9PSAwKSB7CgkJCXJldHVybiAnTU1NIEQsIFlZWVkgaDptbTpzcy5TU1MgYSc7CgkJfQoJCWlmIChtb21lbnREYXRlLnNlY29uZCgpICE9PSAwIHx8IG1vbWVudERhdGUubWludXRlKCkgIT09IDAgfHwgbW9tZW50RGF0ZS5ob3VyKCkgIT09IDApIHsKCQkJaGFzVGltZSA9IHRydWU7CgkJfQoJfQoJaWYgKGhhc1RpbWUpIHsKCQlyZXR1cm4gJ01NTSBELCBZWVlZIGg6bW06c3MgYSc7Cgl9CglyZXR1cm4gJ01NTSBELCBZWVlZJzsKfQoKbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihDaGFydCkgewoKCXZhciBkZWZhdWx0Q29uZmlnID0gewoJCXBvc2l0aW9uOiAnYm90dG9tJywKCgkJLyoqCgkJICogRGF0YSBkaXN0cmlidXRpb24gYWxvbmcgdGhlIHNjYWxlOgoJCSAqIC0gJ2xpbmVhcic6IGRhdGEgYXJlIHNwcmVhZCBhY2NvcmRpbmcgdG8gdGhlaXIgdGltZSAoZGlzdGFuY2VzIGNhbiB2YXJ5KSwKCQkgKiAtICdzZXJpZXMnOiBkYXRhIGFyZSBzcHJlYWQgYXQgdGhlIHNhbWUgZGlzdGFuY2UgZnJvbSBlYWNoIG90aGVyLgoJCSAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvcHVsbC80NTA3CgkJICogQHNpbmNlIDIuNy4wCgkJICovCgkJZGlzdHJpYnV0aW9uOiAnbGluZWFyJywKCgkJLyoqCgkJICogU2NhbGUgYm91bmRhcnkgc3RyYXRlZ3kgKGJ5cGFzc2VkIGJ5IG1pbi9tYXggdGltZSBvcHRpb25zKQoJCSAqIC0gYGRhdGFgOiBtYWtlIHN1cmUgZGF0YSBhcmUgZnVsbHkgdmlzaWJsZSwgdGlja3Mgb3V0c2lkZSBhcmUgcmVtb3ZlZAoJCSAqIC0gYHRpY2tzYDogbWFrZSBzdXJlIHRpY2tzIGFyZSBmdWxseSB2aXNpYmxlLCBkYXRhIG91dHNpZGUgYXJlIHRydW5jYXRlZAoJCSAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NoYXJ0anMvQ2hhcnQuanMvcHVsbC80NTU2CgkJICogQHNpbmNlIDIuNy4wCgkJICovCgkJYm91bmRzOiAnZGF0YScsCgoJCXRpbWU6IHsKCQkJcGFyc2VyOiBmYWxzZSwgLy8gZmFsc2UgPT0gYSBwYXR0ZXJuIHN0cmluZyBmcm9tIGh0dHA6Ly9tb21lbnRqcy5jb20vZG9jcy8jL3BhcnNpbmcvc3RyaW5nLWZvcm1hdC8gb3IgYSBjdXN0b20gY2FsbGJhY2sgdGhhdCBjb252ZXJ0cyBpdHMgYXJndW1lbnQgdG8gYSBtb21lbnQKCQkJZm9ybWF0OiBmYWxzZSwgLy8gREVQUkVDQVRFRCBmYWxzZSA9PSBkYXRlIG9iamVjdHMsIG1vbWVudCBvYmplY3QsIGNhbGxiYWNrIG9yIGEgcGF0dGVybiBzdHJpbmcgZnJvbSBodHRwOi8vbW9tZW50anMuY29tL2RvY3MvIy9wYXJzaW5nL3N0cmluZy1mb3JtYXQvCgkJCXVuaXQ6IGZhbHNlLCAvLyBmYWxzZSA9PSBhdXRvbWF0aWMgb3Igb3ZlcnJpZGUgd2l0aCB3ZWVrLCBtb250aCwgeWVhciwgZXRjLgoJCQlyb3VuZDogZmFsc2UsIC8vIG5vbmUsIG9yIG92ZXJyaWRlIHdpdGggd2VlaywgbW9udGgsIHllYXIsIGV0Yy4KCQkJZGlzcGxheUZvcm1hdDogZmFsc2UsIC8vIERFUFJFQ0FURUQKCQkJaXNvV2Vla2RheTogZmFsc2UsIC8vIG92ZXJyaWRlIHdlZWsgc3RhcnQgZGF5IC0gc2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZG9jcy8jL2dldC1zZXQvaXNvLXdlZWtkYXkvCgkJCW1pblVuaXQ6ICdtaWxsaXNlY29uZCcsCgoJCQkvLyBkZWZhdWx0cyB0byB1bml0J3MgY29ycmVzcG9uZGluZyB1bml0Rm9ybWF0IGJlbG93IG9yIG92ZXJyaWRlIHVzaW5nIHBhdHRlcm4gc3RyaW5nIGZyb20gaHR0cDovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy9mb3JtYXQvCgkJCWRpc3BsYXlGb3JtYXRzOiB7CgkJCQltaWxsaXNlY29uZDogJ2g6bW06c3MuU1NTIGEnLCAvLyAxMToyMDowMS4xMjMgQU0sCgkJCQlzZWNvbmQ6ICdoOm1tOnNzIGEnLCAvLyAxMToyMDowMSBBTQoJCQkJbWludXRlOiAnaDptbSBhJywgLy8gMTE6MjAgQU0KCQkJCWhvdXI6ICdoQScsIC8vIDVQTQoJCQkJZGF5OiAnTU1NIEQnLCAvLyBTZXAgNAoJCQkJd2VlazogJ2xsJywgLy8gV2VlayA0Niwgb3IgbWF5YmUgIltXXVdXIC0gWVlZWSIgPwoJCQkJbW9udGg6ICdNTU0gWVlZWScsIC8vIFNlcHQgMjAxNQoJCQkJcXVhcnRlcjogJ1tRXVEgLSBZWVlZJywgLy8gUTMKCQkJCXllYXI6ICdZWVlZJyAvLyAyMDE1CgkJCX0sCgkJfSwKCQl0aWNrczogewoJCQlhdXRvU2tpcDogZmFsc2UsCgoJCQkvKioKCQkJICogVGlja3MgZ2VuZXJhdGlvbiBpbnB1dCB2YWx1ZXM6CgkJCSAqIC0gJ2F1dG8nOiBnZW5lcmF0ZXMgIm9wdGltYWwiIHRpY2tzIGJhc2VkIG9uIHNjYWxlIHNpemUgYW5kIHRpbWUgb3B0aW9ucy4KCQkJICogLSAnZGF0YSc6IGdlbmVyYXRlcyB0aWNrcyBmcm9tIGRhdGEgKGluY2x1ZGluZyBsYWJlbHMgZnJvbSBkYXRhIHt0fHh8eX0gb2JqZWN0cykuCgkJCSAqIC0gJ2xhYmVscyc6IGdlbmVyYXRlcyB0aWNrcyBmcm9tIHVzZXIgZ2l2ZW4gYGRhdGEubGFiZWxzYCB2YWx1ZXMgT05MWS4KCQkJICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY2hhcnRqcy9DaGFydC5qcy9wdWxsLzQ1MDcKCQkJICogQHNpbmNlIDIuNy4wCgkJCSAqLwoJCQlzb3VyY2U6ICdhdXRvJywKCgkJCW1ham9yOiB7CgkJCQllbmFibGVkOiBmYWxzZQoJCQl9CgkJfQoJfTsKCgl2YXIgVGltZVNjYWxlID0gQ2hhcnQuU2NhbGUuZXh0ZW5kKHsKCQlpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKCQkJaWYgKCFtb21lbnQpIHsKCQkJCXRocm93IG5ldyBFcnJvcignQ2hhcnQuanMgLSBNb21lbnQuanMgY291bGQgbm90IGJlIGZvdW5kISBZb3UgbXVzdCBpbmNsdWRlIGl0IGJlZm9yZSBDaGFydC5qcyB0byB1c2UgdGhlIHRpbWUgc2NhbGUuIERvd25sb2FkIGF0IGh0dHBzOi8vbW9tZW50anMuY29tJyk7CgkJCX0KCgkJCXRoaXMubWVyZ2VUaWNrc09wdGlvbnMoKTsKCgkJCUNoYXJ0LlNjYWxlLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcyk7CgkJfSwKCgkJdXBkYXRlOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdGlvbnMgPSBtZS5vcHRpb25zOwoKCQkJLy8gREVQUkVDQVRJT05TOiBvdXRwdXQgYSBtZXNzYWdlIG9ubHkgb25lIHRpbWUgcGVyIHVwZGF0ZQoJCQlpZiAob3B0aW9ucy50aW1lICYmIG9wdGlvbnMudGltZS5mb3JtYXQpIHsKCQkJCWNvbnNvbGUud2Fybignb3B0aW9ucy50aW1lLmZvcm1hdCBpcyBkZXByZWNhdGVkIGFuZCByZXBsYWNlZCBieSBvcHRpb25zLnRpbWUucGFyc2VyLicpOwoJCQl9CgoJCQlyZXR1cm4gQ2hhcnQuU2NhbGUucHJvdG90eXBlLnVwZGF0ZS5hcHBseShtZSwgYXJndW1lbnRzKTsKCQl9LAoKCQkvKioKCQkgKiBBbGxvd3MgZGF0YSB0byBiZSByZWZlcmVuY2VkIHZpYSAndCcgYXR0cmlidXRlCgkJICovCgkJZ2V0UmlnaHRWYWx1ZTogZnVuY3Rpb24ocmF3VmFsdWUpIHsKCQkJaWYgKHJhd1ZhbHVlICYmIHJhd1ZhbHVlLnQgIT09IHVuZGVmaW5lZCkgewoJCQkJcmF3VmFsdWUgPSByYXdWYWx1ZS50OwoJCQl9CgkJCXJldHVybiBDaGFydC5TY2FsZS5wcm90b3R5cGUuZ2V0UmlnaHRWYWx1ZS5jYWxsKHRoaXMsIHJhd1ZhbHVlKTsKCQl9LAoKCQlkZXRlcm1pbmVEYXRhTGltaXRzOiBmdW5jdGlvbigpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGNoYXJ0ID0gbWUuY2hhcnQ7CgkJCXZhciB0aW1lT3B0cyA9IG1lLm9wdGlvbnMudGltZTsKCQkJdmFyIHVuaXQgPSB0aW1lT3B0cy51bml0IHx8ICdkYXknOwoJCQl2YXIgbWluID0gTUFYX0lOVEVHRVI7CgkJCXZhciBtYXggPSBNSU5fSU5URUdFUjsKCQkJdmFyIHRpbWVzdGFtcHMgPSBbXTsKCQkJdmFyIGRhdGFzZXRzID0gW107CgkJCXZhciBsYWJlbHMgPSBbXTsKCQkJdmFyIGksIGosIGlsZW4sIGpsZW4sIGRhdGEsIHRpbWVzdGFtcDsKCgkJCS8vIENvbnZlcnQgbGFiZWxzIHRvIHRpbWVzdGFtcHMKCQkJZm9yIChpID0gMCwgaWxlbiA9IGNoYXJ0LmRhdGEubGFiZWxzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCQkJbGFiZWxzLnB1c2gocGFyc2UoY2hhcnQuZGF0YS5sYWJlbHNbaV0sIG1lKSk7CgkJCX0KCgkJCS8vIENvbnZlcnQgZGF0YSB0byB0aW1lc3RhbXBzCgkJCWZvciAoaSA9IDAsIGlsZW4gPSAoY2hhcnQuZGF0YS5kYXRhc2V0cyB8fCBbXSkubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQlpZiAoY2hhcnQuaXNEYXRhc2V0VmlzaWJsZShpKSkgewoJCQkJCWRhdGEgPSBjaGFydC5kYXRhLmRhdGFzZXRzW2ldLmRhdGE7CgoJCQkJCS8vIExldCdzIGNvbnNpZGVyIHRoYXQgYWxsIGRhdGEgaGF2ZSB0aGUgc2FtZSBmb3JtYXQuCgkJCQkJaWYgKGhlbHBlcnMuaXNPYmplY3QoZGF0YVswXSkpIHsKCQkJCQkJZGF0YXNldHNbaV0gPSBbXTsKCgkJCQkJCWZvciAoaiA9IDAsIGpsZW4gPSBkYXRhLmxlbmd0aDsgaiA8IGpsZW47ICsraikgewoJCQkJCQkJdGltZXN0YW1wID0gcGFyc2UoZGF0YVtqXSwgbWUpOwoJCQkJCQkJdGltZXN0YW1wcy5wdXNoKHRpbWVzdGFtcCk7CgkJCQkJCQlkYXRhc2V0c1tpXVtqXSA9IHRpbWVzdGFtcDsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCXRpbWVzdGFtcHMucHVzaC5hcHBseSh0aW1lc3RhbXBzLCBsYWJlbHMpOwoJCQkJCQlkYXRhc2V0c1tpXSA9IGxhYmVscy5zbGljZSgwKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWRhdGFzZXRzW2ldID0gW107CgkJCQl9CgkJCX0KCgkJCWlmIChsYWJlbHMubGVuZ3RoKSB7CgkJCQkvLyBTb3J0IGxhYmVscyAqKmFmdGVyKiogZGF0YSBoYXZlIGJlZW4gY29udmVydGVkCgkJCQlsYWJlbHMgPSBhcnJheVVuaXF1ZShsYWJlbHMpLnNvcnQoc29ydGVyKTsKCQkJCW1pbiA9IE1hdGgubWluKG1pbiwgbGFiZWxzWzBdKTsKCQkJCW1heCA9IE1hdGgubWF4KG1heCwgbGFiZWxzW2xhYmVscy5sZW5ndGggLSAxXSk7CgkJCX0KCgkJCWlmICh0aW1lc3RhbXBzLmxlbmd0aCkgewoJCQkJdGltZXN0YW1wcyA9IGFycmF5VW5pcXVlKHRpbWVzdGFtcHMpLnNvcnQoc29ydGVyKTsKCQkJCW1pbiA9IE1hdGgubWluKG1pbiwgdGltZXN0YW1wc1swXSk7CgkJCQltYXggPSBNYXRoLm1heChtYXgsIHRpbWVzdGFtcHNbdGltZXN0YW1wcy5sZW5ndGggLSAxXSk7CgkJCX0KCgkJCW1pbiA9IHBhcnNlKHRpbWVPcHRzLm1pbiwgbWUpIHx8IG1pbjsKCQkJbWF4ID0gcGFyc2UodGltZU9wdHMubWF4LCBtZSkgfHwgbWF4OwoKCQkJLy8gSW4gY2FzZSB0aGVyZSBpcyBubyB2YWxpZCBtaW4vbWF4LCBzZXQgbGltaXRzIGJhc2VkIG9uIHVuaXQgdGltZSBvcHRpb24KCQkJbWluID0gbWluID09PSBNQVhfSU5URUdFUiA/ICttb21lbnQoKS5zdGFydE9mKHVuaXQpIDogbWluOwoJCQltYXggPSBtYXggPT09IE1JTl9JTlRFR0VSID8gK21vbWVudCgpLmVuZE9mKHVuaXQpICsgMSA6IG1heDsKCgkJCS8vIE1ha2Ugc3VyZSB0aGF0IG1heCBpcyBzdHJpY3RseSBoaWdoZXIgdGhhbiBtaW4gKHJlcXVpcmVkIGJ5IHRoZSBsb29rdXAgdGFibGUpCgkJCW1lLm1pbiA9IE1hdGgubWluKG1pbiwgbWF4KTsKCQkJbWUubWF4ID0gTWF0aC5tYXgobWluICsgMSwgbWF4KTsKCgkJCS8vIFBSSVZBVEUKCQkJbWUuX2hvcml6b250YWwgPSBtZS5pc0hvcml6b250YWwoKTsKCQkJbWUuX3RhYmxlID0gW107CgkJCW1lLl90aW1lc3RhbXBzID0gewoJCQkJZGF0YTogdGltZXN0YW1wcywKCQkJCWRhdGFzZXRzOiBkYXRhc2V0cywKCQkJCWxhYmVsczogbGFiZWxzCgkJCX07CgkJfSwKCgkJYnVpbGRUaWNrczogZnVuY3Rpb24oKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBtaW4gPSBtZS5taW47CgkJCXZhciBtYXggPSBtZS5tYXg7CgkJCXZhciBvcHRpb25zID0gbWUub3B0aW9uczsKCQkJdmFyIHRpbWVPcHRzID0gb3B0aW9ucy50aW1lOwoJCQl2YXIgdGltZXN0YW1wcyA9IFtdOwoJCQl2YXIgdGlja3MgPSBbXTsKCQkJdmFyIGksIGlsZW4sIHRpbWVzdGFtcDsKCgkJCXN3aXRjaCAob3B0aW9ucy50aWNrcy5zb3VyY2UpIHsKCQkJY2FzZSAnZGF0YSc6CgkJCQl0aW1lc3RhbXBzID0gbWUuX3RpbWVzdGFtcHMuZGF0YTsKCQkJCWJyZWFrOwoJCQljYXNlICdsYWJlbHMnOgoJCQkJdGltZXN0YW1wcyA9IG1lLl90aW1lc3RhbXBzLmxhYmVsczsKCQkJCWJyZWFrOwoJCQljYXNlICdhdXRvJzoKCQkJZGVmYXVsdDoKCQkJCXRpbWVzdGFtcHMgPSBnZW5lcmF0ZShtaW4sIG1heCwgbWUuZ2V0TGFiZWxDYXBhY2l0eShtaW4pLCBvcHRpb25zKTsKCQkJfQoKCQkJaWYgKG9wdGlvbnMuYm91bmRzID09PSAndGlja3MnICYmIHRpbWVzdGFtcHMubGVuZ3RoKSB7CgkJCQltaW4gPSB0aW1lc3RhbXBzWzBdOwoJCQkJbWF4ID0gdGltZXN0YW1wc1t0aW1lc3RhbXBzLmxlbmd0aCAtIDFdOwoJCQl9CgoJCQkvLyBFbmZvcmNlIGxpbWl0cyB3aXRoIHVzZXIgbWluL21heCBvcHRpb25zCgkJCW1pbiA9IHBhcnNlKHRpbWVPcHRzLm1pbiwgbWUpIHx8IG1pbjsKCQkJbWF4ID0gcGFyc2UodGltZU9wdHMubWF4LCBtZSkgfHwgbWF4OwoKCQkJLy8gUmVtb3ZlIHRpY2tzIG91dHNpZGUgdGhlIG1pbi9tYXggcmFuZ2UKCQkJZm9yIChpID0gMCwgaWxlbiA9IHRpbWVzdGFtcHMubGVuZ3RoOyBpIDwgaWxlbjsgKytpKSB7CgkJCQl0aW1lc3RhbXAgPSB0aW1lc3RhbXBzW2ldOwoJCQkJaWYgKHRpbWVzdGFtcCA+PSBtaW4gJiYgdGltZXN0YW1wIDw9IG1heCkgewoJCQkJCXRpY2tzLnB1c2godGltZXN0YW1wKTsKCQkJCX0KCQkJfQoKCQkJbWUubWluID0gbWluOwoJCQltZS5tYXggPSBtYXg7CgoJCQkvLyBQUklWQVRFCgkJCW1lLl91bml0ID0gdGltZU9wdHMudW5pdCB8fCBkZXRlcm1pbmVVbml0Rm9yRm9ybWF0dGluZyh0aWNrcywgdGltZU9wdHMubWluVW5pdCwgbWUubWluLCBtZS5tYXgpOwoJCQltZS5fbWFqb3JVbml0ID0gZGV0ZXJtaW5lTWFqb3JVbml0KG1lLl91bml0KTsKCQkJbWUuX3RhYmxlID0gYnVpbGRMb29rdXBUYWJsZShtZS5fdGltZXN0YW1wcy5kYXRhLCBtaW4sIG1heCwgb3B0aW9ucy5kaXN0cmlidXRpb24pOwoJCQltZS5fb2Zmc2V0cyA9IGNvbXB1dGVPZmZzZXRzKG1lLl90YWJsZSwgdGlja3MsIG1pbiwgbWF4LCBvcHRpb25zKTsKCQkJbWUuX2xhYmVsRm9ybWF0ID0gZGV0ZXJtaW5lTGFiZWxGb3JtYXQobWUuX3RpbWVzdGFtcHMuZGF0YSwgdGltZU9wdHMpOwoKCQkJcmV0dXJuIHRpY2tzRnJvbVRpbWVzdGFtcHModGlja3MsIG1lLl9tYWpvclVuaXQpOwoJCX0sCgoJCWdldExhYmVsRm9ySW5kZXg6IGZ1bmN0aW9uKGluZGV4LCBkYXRhc2V0SW5kZXgpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIGRhdGEgPSBtZS5jaGFydC5kYXRhOwoJCQl2YXIgdGltZU9wdHMgPSBtZS5vcHRpb25zLnRpbWU7CgkJCXZhciBsYWJlbCA9IGRhdGEubGFiZWxzICYmIGluZGV4IDwgZGF0YS5sYWJlbHMubGVuZ3RoID8gZGF0YS5sYWJlbHNbaW5kZXhdIDogJyc7CgkJCXZhciB2YWx1ZSA9IGRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5kYXRhW2luZGV4XTsKCgkJCWlmIChoZWxwZXJzLmlzT2JqZWN0KHZhbHVlKSkgewoJCQkJbGFiZWwgPSBtZS5nZXRSaWdodFZhbHVlKHZhbHVlKTsKCQkJfQoJCQlpZiAodGltZU9wdHMudG9vbHRpcEZvcm1hdCkgewoJCQkJcmV0dXJuIG1vbWVudGlmeShsYWJlbCwgdGltZU9wdHMpLmZvcm1hdCh0aW1lT3B0cy50b29sdGlwRm9ybWF0KTsKCQkJfQoJCQlpZiAodHlwZW9mIGxhYmVsID09PSAnc3RyaW5nJykgewoJCQkJcmV0dXJuIGxhYmVsOwoJCQl9CgoJCQlyZXR1cm4gbW9tZW50aWZ5KGxhYmVsLCB0aW1lT3B0cykuZm9ybWF0KG1lLl9sYWJlbEZvcm1hdCk7CgkJfSwKCgkJLyoqCgkJICogRnVuY3Rpb24gdG8gZm9ybWF0IGFuIGluZGl2aWR1YWwgdGljayBtYXJrCgkJICogQHByaXZhdGUKCQkgKi8KCQl0aWNrRm9ybWF0RnVuY3Rpb246IGZ1bmN0aW9uKHRpY2ssIGluZGV4LCB0aWNrcywgZm9ybWF0T3ZlcnJpZGUpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIG9wdGlvbnMgPSBtZS5vcHRpb25zOwoJCQl2YXIgdGltZSA9IHRpY2sudmFsdWVPZigpOwoJCQl2YXIgZm9ybWF0cyA9IG9wdGlvbnMudGltZS5kaXNwbGF5Rm9ybWF0czsKCQkJdmFyIG1pbm9yRm9ybWF0ID0gZm9ybWF0c1ttZS5fdW5pdF07CgkJCXZhciBtYWpvclVuaXQgPSBtZS5fbWFqb3JVbml0OwoJCQl2YXIgbWFqb3JGb3JtYXQgPSBmb3JtYXRzW21ham9yVW5pdF07CgkJCXZhciBtYWpvclRpbWUgPSB0aWNrLmNsb25lKCkuc3RhcnRPZihtYWpvclVuaXQpLnZhbHVlT2YoKTsKCQkJdmFyIG1ham9yVGlja09wdHMgPSBvcHRpb25zLnRpY2tzLm1ham9yOwoJCQl2YXIgbWFqb3IgPSBtYWpvclRpY2tPcHRzLmVuYWJsZWQgJiYgbWFqb3JVbml0ICYmIG1ham9yRm9ybWF0ICYmIHRpbWUgPT09IG1ham9yVGltZTsKCQkJdmFyIGxhYmVsID0gdGljay5mb3JtYXQoZm9ybWF0T3ZlcnJpZGUgPyBmb3JtYXRPdmVycmlkZSA6IG1ham9yID8gbWFqb3JGb3JtYXQgOiBtaW5vckZvcm1hdCk7CgkJCXZhciB0aWNrT3B0cyA9IG1ham9yID8gbWFqb3JUaWNrT3B0cyA6IG9wdGlvbnMudGlja3MubWlub3I7CgkJCXZhciBmb3JtYXR0ZXIgPSBoZWxwZXJzLnZhbHVlT3JEZWZhdWx0KHRpY2tPcHRzLmNhbGxiYWNrLCB0aWNrT3B0cy51c2VyQ2FsbGJhY2spOwoKCQkJcmV0dXJuIGZvcm1hdHRlciA/IGZvcm1hdHRlcihsYWJlbCwgaW5kZXgsIHRpY2tzKSA6IGxhYmVsOwoJCX0sCgoJCWNvbnZlcnRUaWNrc1RvTGFiZWxzOiBmdW5jdGlvbih0aWNrcykgewoJCQl2YXIgbGFiZWxzID0gW107CgkJCXZhciBpLCBpbGVuOwoKCQkJZm9yIChpID0gMCwgaWxlbiA9IHRpY2tzLmxlbmd0aDsgaSA8IGlsZW47ICsraSkgewoJCQkJbGFiZWxzLnB1c2godGhpcy50aWNrRm9ybWF0RnVuY3Rpb24obW9tZW50KHRpY2tzW2ldLnZhbHVlKSwgaSwgdGlja3MpKTsKCQkJfQoKCQkJcmV0dXJuIGxhYmVsczsKCQl9LAoKCQkvKioKCQkgKiBAcHJpdmF0ZQoJCSAqLwoJCWdldFBpeGVsRm9yT2Zmc2V0OiBmdW5jdGlvbih0aW1lKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBzaXplID0gbWUuX2hvcml6b250YWwgPyBtZS53aWR0aCA6IG1lLmhlaWdodDsKCQkJdmFyIHN0YXJ0ID0gbWUuX2hvcml6b250YWwgPyBtZS5sZWZ0IDogbWUudG9wOwoJCQl2YXIgcG9zID0gaW50ZXJwb2xhdGUobWUuX3RhYmxlLCAndGltZScsIHRpbWUsICdwb3MnKTsKCgkJCXJldHVybiBzdGFydCArIHNpemUgKiAobWUuX29mZnNldHMubGVmdCArIHBvcykgLyAobWUuX29mZnNldHMubGVmdCArIDEgKyBtZS5fb2Zmc2V0cy5yaWdodCk7CgkJfSwKCgkJZ2V0UGl4ZWxGb3JWYWx1ZTogZnVuY3Rpb24odmFsdWUsIGluZGV4LCBkYXRhc2V0SW5kZXgpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHRpbWUgPSBudWxsOwoKCQkJaWYgKGluZGV4ICE9PSB1bmRlZmluZWQgJiYgZGF0YXNldEluZGV4ICE9PSB1bmRlZmluZWQpIHsKCQkJCXRpbWUgPSBtZS5fdGltZXN0YW1wcy5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdW2luZGV4XTsKCQkJfQoKCQkJaWYgKHRpbWUgPT09IG51bGwpIHsKCQkJCXRpbWUgPSBwYXJzZSh2YWx1ZSwgbWUpOwoJCQl9CgoJCQlpZiAodGltZSAhPT0gbnVsbCkgewoJCQkJcmV0dXJuIG1lLmdldFBpeGVsRm9yT2Zmc2V0KHRpbWUpOwoJCQl9CgkJfSwKCgkJZ2V0UGl4ZWxGb3JUaWNrOiBmdW5jdGlvbihpbmRleCkgewoJCQl2YXIgdGlja3MgPSB0aGlzLmdldFRpY2tzKCk7CgkJCXJldHVybiBpbmRleCA+PSAwICYmIGluZGV4IDwgdGlja3MubGVuZ3RoID8KCQkJCXRoaXMuZ2V0UGl4ZWxGb3JPZmZzZXQodGlja3NbaW5kZXhdLnZhbHVlKSA6CgkJCQludWxsOwoJCX0sCgoJCWdldFZhbHVlRm9yUGl4ZWw6IGZ1bmN0aW9uKHBpeGVsKSB7CgkJCXZhciBtZSA9IHRoaXM7CgkJCXZhciBzaXplID0gbWUuX2hvcml6b250YWwgPyBtZS53aWR0aCA6IG1lLmhlaWdodDsKCQkJdmFyIHN0YXJ0ID0gbWUuX2hvcml6b250YWwgPyBtZS5sZWZ0IDogbWUudG9wOwoJCQl2YXIgcG9zID0gKHNpemUgPyAocGl4ZWwgLSBzdGFydCkgLyBzaXplIDogMCkgKiAobWUuX29mZnNldHMubGVmdCArIDEgKyBtZS5fb2Zmc2V0cy5sZWZ0KSAtIG1lLl9vZmZzZXRzLnJpZ2h0OwoJCQl2YXIgdGltZSA9IGludGVycG9sYXRlKG1lLl90YWJsZSwgJ3BvcycsIHBvcywgJ3RpbWUnKTsKCgkJCXJldHVybiBtb21lbnQodGltZSk7CgkJfSwKCgkJLyoqCgkJICogQ3J1ZGUgYXBwcm94aW1hdGlvbiBvZiB3aGF0IHRoZSBsYWJlbCB3aWR0aCBtaWdodCBiZQoJCSAqIEBwcml2YXRlCgkJICovCgkJZ2V0TGFiZWxXaWR0aDogZnVuY3Rpb24obGFiZWwpIHsKCQkJdmFyIG1lID0gdGhpczsKCQkJdmFyIHRpY2tzT3B0cyA9IG1lLm9wdGlvbnMudGlja3M7CgkJCXZhciB0aWNrTGFiZWxXaWR0aCA9IG1lLmN0eC5tZWFzdXJlVGV4dChsYWJlbCkud2lkdGg7CgkJCXZhciBhbmdsZSA9IGhlbHBlcnMudG9SYWRpYW5zKHRpY2tzT3B0cy5tYXhSb3RhdGlvbik7CgkJCXZhciBjb3NSb3RhdGlvbiA9IE1hdGguY29zKGFuZ2xlKTsKCQkJdmFyIHNpblJvdGF0aW9uID0gTWF0aC5zaW4oYW5nbGUpOwoJCQl2YXIgdGlja0ZvbnRTaXplID0gaGVscGVycy52YWx1ZU9yRGVmYXVsdCh0aWNrc09wdHMuZm9udFNpemUsIGRlZmF1bHRzLmdsb2JhbC5kZWZhdWx0Rm9udFNpemUpOwoKCQkJcmV0dXJuICh0aWNrTGFiZWxXaWR0aCAqIGNvc1JvdGF0aW9uKSArICh0aWNrRm9udFNpemUgKiBzaW5Sb3RhdGlvbik7CgkJfSwKCgkJLyoqCgkJICogQHByaXZhdGUKCQkgKi8KCQlnZXRMYWJlbENhcGFjaXR5OiBmdW5jdGlvbihleGFtcGxlVGltZSkgewoJCQl2YXIgbWUgPSB0aGlzOwoKCQkJdmFyIGZvcm1hdE92ZXJyaWRlID0gbWUub3B0aW9ucy50aW1lLmRpc3BsYXlGb3JtYXRzLm1pbGxpc2Vjb25kOwkvLyBQaWNrIHRoZSBsb25nZXN0IGZvcm1hdCBmb3IgZ3Vlc3RpbWF0aW9uCgoJCQl2YXIgZXhhbXBsZUxhYmVsID0gbWUudGlja0Zvcm1hdEZ1bmN0aW9uKG1vbWVudChleGFtcGxlVGltZSksIDAsIFtdLCBmb3JtYXRPdmVycmlkZSk7CgkJCXZhciB0aWNrTGFiZWxXaWR0aCA9IG1lLmdldExhYmVsV2lkdGgoZXhhbXBsZUxhYmVsKTsKCQkJdmFyIGlubmVyV2lkdGggPSBtZS5pc0hvcml6b250YWwoKSA/IG1lLndpZHRoIDogbWUuaGVpZ2h0OwoKCQkJdmFyIGNhcGFjaXR5ID0gTWF0aC5mbG9vcihpbm5lcldpZHRoIC8gdGlja0xhYmVsV2lkdGgpOwoJCQlyZXR1cm4gY2FwYWNpdHkgPiAwID8gY2FwYWNpdHkgOiAxOwoJCX0KCX0pOwoKCUNoYXJ0LnNjYWxlU2VydmljZS5yZWdpc3RlclNjYWxlVHlwZSgndGltZScsIFRpbWVTY2FsZSwgZGVmYXVsdENvbmZpZyk7Cn07Cgp9LHsiMjUiOjI1LCI0NSI6NDUsIjYiOjZ9XX0se30sWzddKSg3KQp9KTs="}},"time_used":147,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":146,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/storage/app/public/photos/prime-elite-logo-horizontal.svg","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.958Z","timestamp":1785154927958,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /storage/app/public/photos/prime-elite-logo-horizontal.svg HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/svg+xml\r\nlast-modified: Sun, 21 Jun 2026 12:31:04 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TMt8djQeprkkzoMWhtPFPHyJZH8OmpuWDAgKP4I6WIgHx1DV5WQrAfWv3nggNXPviYBtxHRE7W0XvS4M6hTCX%2Bcygq5QndkUcyMsol%2BsTXfxgyBIlLaEpWBMt%2FQAoVTzPLrED3vP1AA%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bbd6cb28a-OSL\r\ncontent-length: 718\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2059,"size_decoded":1530,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"d354b1aa765122760c2bc4729fefb817","sha1":"bbcdb7773d16aa1dfcc227dff241bf6ea49f2aa4","sha256":"ce95491f784856bd3680ae99f7fb442c03c2abb1468cfb88562146efa5af63c8","sha512":"40af09d5c512729f1d6aa50fe2d72b041dcf6249f755aa27606ec87d32efc199ba429a0eb8333982b10deaf9acd3247ab6d9fc08e17d7ead095bc344ffed2ce6","ssdeep":"","tlshash":"b041bf224df9a63bd10100ea35d61e727cab84c7d225ab1474e40d84bf4fc56898f0fc","first_seen":"2026-07-27T05:58:00.830607Z","last_seen":"2026-07-27T12:23:18.79805Z","times_seen":3,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MjAgMTQwIiB3aWR0aD0iNTIwIiBoZWlnaHQ9IjE0MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJQcmltZSBFbGl0ZSBDYXBpdGFsIEludmVzdG1lbnQiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAucGUtbmF2eSB7IGZpbGw6IzE4MUM4RTsgfQogICAgICAucGUtcmluZyB7IGZpbGw6IzVBQzRGMDsgfQogICAgICAucGUtYmFyICB7IGZpbGw6IzRGQkZFRjsgfQogICAgICAucGUtYmFyLWRhcmsgeyBmaWxsOiMzQ0E2RDg7IH0KICAgICAgLnBlLXNlYW0geyBzdHJva2U6IzJDODRCODsgc3Ryb2tlLXdpZHRoOjE7IH0KICAgICAgLnBlLXdvcmQgeyBmaWxsOiNmZmZmZmY7IGZvbnQtZmFtaWx5OidTZWdvZSBVSScsJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IH0KICAgICAgLnBlLXN1YiAgeyBmaWxsOiM1QUM0RjA7IGZvbnQtZmFtaWx5OidTZWdvZSBVSScsJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmOyBmb250LXdlaWdodDo2MDA7IGxldHRlci1zcGFjaW5nOjQuMnB4OyB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KCiAgPCEtLSBFbWJsZW06IGhleGFnb24gd2l0aCBhc2NlbmRpbmcgc2t5bGluZSBiYXJzIC0tPgogIDxnPgogICAgPCEtLSBvdXRlciBsaWdodC1ibHVlIGhleGFnb24gcmluZyAtLT4KICAgIDxwb2x5Z29uIGNsYXNzPSJwZS1yaW5nIiBwb2ludHM9IjcyLDQgMTI5LjIsMzcgMTI5LjIsMTAzIDcyLDEzNiAxNC44LDEwMyAxNC44LDM3Ii8+CiAgICA8IS0tIGlubmVyIG5hdnkgaGV4YWdvbiAtLT4KICAgIDxwb2x5Z29uIGNsYXNzPSJwZS1uYXZ5IiBwb2ludHM9IjcyLDIwIDExNS4zLDQ1IDExNS4zLDk1IDcyLDEyMCAyOC43LDk1IDI4LjcsNDUiLz4KCiAgICA8IS0tIEJhciAxIC0tPgogICAgPHBvbHlnb24gY2xhc3M9InBlLWJhciIgICAgICBwb2ludHM9IjQzLDEwMiA0Myw4NiA0OC41LDgwIDU0LDg2IDU0LDEwMiIvPgogICAgPHBvbHlnb24gY2xhc3M9InBlLWJhci1kYXJrIiBwb2ludHM9IjQ4LjUsODAgNTQsODYgNTQsMTAyIDQ4LjUsMTAyIi8+CiAgICA8bGluZSBjbGFzcz0icGUtc2VhbSIgeDE9IjQ4LjUiIHkxPSI4MCIgeDI9IjQ4LjUiIHkyPSIxMDIiLz4KICAgIDwhLS0gQmFyIDIgLS0+CiAgICA8cG9seWdvbiBjbGFzcz0icGUtYmFyIiAgICAgIHBvaW50cz0iNTgsMTAyIDU4LDcyIDYzLjUsNjYgNjksNzIgNjksMTAyIi8+CiAgICA8cG9seWdvbiBjbGFzcz0icGUtYmFyLWRhcmsiIHBvaW50cz0iNjMuNSw2NiA2OSw3MiA2OSwxMDIgNjMuNSwxMDIiLz4KICAgIDxsaW5lIGNsYXNzPSJwZS1zZWFtIiB4MT0iNjMuNSIgeTE9IjY2IiB4Mj0iNjMuNSIgeTI9IjEwMiIvPgogICAgPCEtLSBCYXIgMyAtLT4KICAgIDxwb2x5Z29uIGNsYXNzPSJwZS1iYXIiICAgICAgcG9pbnRzPSI3MywxMDIgNzMsNTggNzguNSw1MiA4NCw1OCA4NCwxMDIiLz4KICAgIDxwb2x5Z29uIGNsYXNzPSJwZS1iYXItZGFyayIgcG9pbnRzPSI3OC41LDUyIDg0LDU4IDg0LDEwMiA3OC41LDEwMiIvPgogICAgPGxpbmUgY2xhc3M9InBlLXNlYW0iIHgxPSI3OC41IiB5MT0iNTIiIHgyPSI3OC41IiB5Mj0iMTAyIi8+CiAgICA8IS0tIEJhciA0IC0tPgogICAgPHBvbHlnb24gY2xhc3M9InBlLWJhciIgICAgICBwb2ludHM9Ijg4LDEwMiA4OCw0NiA5My41LDQwIDk5LDQ2IDk5LDEwMiIvPgogICAgPHBvbHlnb24gY2xhc3M9InBlLWJhci1kYXJrIiBwb2ludHM9IjkzLjUsNDAgOTksNDYgOTksMTAyIDkzLjUsMTAyIi8+CiAgICA8bGluZSBjbGFzcz0icGUtc2VhbSIgeDE9IjkzLjUiIHkxPSI0MCIgeDI9IjkzLjUiIHkyPSIxMDIiLz4KICA8L2c+CgogIDwhLS0gV29yZG1hcmsgLS0+CiAgPHRleHQgY2xhc3M9InBlLXdvcmQiIHg9IjE2MiIgeT0iNjgiIGZvbnQtc2l6ZT0iNDIiPlBSSU1FIEVMSVRFPC90ZXh0PgogIDx0ZXh0IGNsYXNzPSJwZS1zdWIiICB4PSIxNjQiIHk9Ijk4IiBmb250LXNpemU9IjE2LjUiPkNBUElUQUwgSU5WRVNUTUVOVDwvdGV4dD4KPC9zdmc+Cg=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/shape6.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.444Z","timestamp":1785154928444,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/shape6.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/assets/css/style.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:14 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:22 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=UII5KjfYv4mg5G3HELBWpdTuRmgFgcpgFCU74ebWzp0NZ7K1yRk7szwSx8S2NVRwvxZO3%2BidVYGpVj1Ylu4FyD0phWRro9QPBp4AYxlC9khcaWdzO%2BYtIs65OoEOlDuTyTgeL67NgmU%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=4,i\r\ncf-ray: a21b9b9ecde6b28a-OSL\r\ncontent-length: 6477\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":6477,"size_decoded":7239,"mime_type":"image/png","magic":"PNG image data, 244 x 808, 8-bit/color RGBA, non-interlaced","md5":"f6b6989007560a0b4e1d66c9c2920d7e","sha1":"c67c84820eb49f52f6a9cd0dc0857a99e656f7fb","sha256":"ebed60d21880be61421ff015914256fd7f6a6d9ce17fdaa117eccbaae978613f","sha512":"b4da8893e12a27563f9c17f98fac9f9162a286265811061a3aba6d0073b22cde793ec39f3238531b560a8edcfc3448bd4434279b7caf129303ff1e73abf42d31","ssdeep":"96:32KrIOPBhb3kEO6Emna+ub0Y0NTE6Ymih1gy+BzIq/PBu71eMiCEcc5PXI0aoTy2:I2SEO6EmnebE9QhUBXXBu7cMiCEXxHO2","tlshash":"bed17e4528c5b085d863fbcb76e8f063743a81c0b6d0fdc6b7e791621c670be4879552","first_seen":"2025-10-24T07:31:32.839462Z","last_seen":"2026-07-27T12:23:18.802487Z","times_seen":4,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAPQAAAMoCAYAAAD4O803AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU0NDYzRDQyM0ZCMjExRTg4NTRCQTc1NTUwOEU4MjBGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU0NDYzRDQzM0ZCMjExRTg4NTRCQTc1NTUwOEU4MjBGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTQ0NjNENDAzRkIyMTFFODg1NEJBNzU1NTA4RTgyMEYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ0NjNENDEzRkIyMTFFODg1NEJBNzU1NTA4RTgyMEYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6U//m5AAAVw0lEQVR42uzdzXIjx7GG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"}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/places.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.004Z","timestamp":1785154929004,"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":"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 /maps-api-v3/api/js/65/10a/places.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 90334\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411664\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":473459,"size_decoded":91173,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (1178)","md5":"be4981f0230df6b97a80adc9d5dd4b33","sha1":"048703dd666cb0f67405c4fd7657d7eecc687660","sha256":"72e38bb0c99fe765e15773e4b1cedc7c5f31467adcad307f73a1e95234fe840b","sha512":"edc53fce0942c20963b79543066a6ba90bec25d63ac9470c9f39c29a083cefea65ce0f67db1f669fb4cd1b46ff738ae1e46b247e0b4f07d312bc35278af0ea46","ssdeep":"6144:LlpGT5AdO0UW99druuOgkBhXoOkxHdnmD4o97TgLuaenUmhxSPT/Z2OHLtpwh3zr:5yB3QN8SS","tlshash":"a2a45d56a29132765a778860570b6206e334e407e0146becb86cdfd15ffbf8182b773a","first_seen":"2026-07-22T18:28:15.503745Z","last_seen":"2026-07-28T15:47:12.117549Z","times_seen":481,"resource_available":true,"data":"Z29vZ2xlLm1hcHMuX19nanNsb2FkX18oJ3BsYWNlcycsIGZ1bmN0aW9uKF8pey8qCgogQ29weXJpZ2h0IDIwMjYgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGI2PWZ1bmN0aW9uKGEpe3JldHVybiBhNj9hNjphNj1uZXcgUHJvbWlzZShhc3luYyhiLGMpPT57dmFyIGQ9KG5ldyBfLkh5KS5zZXRVcmwod2luZG93LmxvY2F0aW9uLm9yaWdpbik7dHJ5e2xldCBlPWF3YWl0IF8ueW1hKGEucWgsZCk7YihfLkxnKGUsMSkpfWNhdGNoKGUpe2E2PXZvaWQgMCxjKGUpfX0pfSxTdWI9ZnVuY3Rpb24oYSxiLGMpe2E9YS5xaDt2YXIgZD1uZXcgXy53b2E7Yj1fLmxoKGQsMSxiKTtiPV8ubGgoYiw1LDEpO2M9Xy5qcShuZXcgXy5rcSgxMzEwNzEpLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sYykudG9TdHJpbmcoKTtjPV8uamgoYiwyLGMpLnNldFVybCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtyZXR1cm4gYS5xaC5xaChhLnJoKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwubWFwcy5tYXBzanMudjEuTWFwc0pzSW50ZXJuYWxTZXJ2aWNlL0dldFBsYWNlV2lkZ2V0TWV0YWRhdGEiLGMse30sXy5ycWEpfSxUdWI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51dWIuZ2V0KCJFVl9DT05ORUNUT1JfVFlQRV8iKwphKTtpZihiPT09dm9pZCAwKXRocm93IEVycm9yKGBVbmtub3duIEVWQ29ubmVjdG9yVHlwZTogJHthfWApO3JldHVybiBifSxVdWI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55dWIuZ2V0KCJQUklDRV9MRVZFTF8iK2EpO2lmKGI9PT12b2lkIDApdGhyb3cgRXJyb3IoYFVua25vd24gUHJpY2VMZXZlbDogJHthfWApO3JldHVybiBifSxjNj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmpoKGEsMSxiKX0sVnViPWZ1bmN0aW9uKGEpe3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyl9LGQ2PWZ1bmN0aW9uKGEpe1d1Yi50ZXN0KGEpJiYoYS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UoWHViLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShZdWIsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UoWnViLCImZ3Q7IikpLGEuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKCR1YiwiJnF1b3Q7IikpLAphLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShhdmIsIiYjMzk7IikpLGEuaW5kZXhPZigiXHgwMCIpIT0tMSYmKGE9YS5yZXBsYWNlKGJ2YiwiJiMwOyIpKSk7cmV0dXJuIGF9LGU2PWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy5rbShhKSl0aHJvdyBfLkFtKCJQYXNzZWQgQ2lyY2xlIGlzIG5vdCBhbiBPYmplY3QuIik7YT1hIGluc3RhbmNlb2YgXy5Tbz9hOm5ldyBfLlNvKGEpO2lmKCFhLmdldENlbnRlcigpKXRocm93IF8uQW0oIkNpcmNsZSBpcyBtaXNzaW5nIGNlbnRlci4iKTtpZihhLmdldFJhZGl1cygpPT09dm9pZCAwKXRocm93IF8uQW0oIkNpcmNsZSBpcyBtaXNzaW5nIHJhZGl1cy4iKTtyZXR1cm4gYX0sZHZiPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNnKGEsY3ZiLDIpfSxmNj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmpoKGEsMSxiKX0sZzY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qaChhLDIsYil9LGg2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uRWcoYSxfLklyLDMxLApiKX0sZnZiPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNnKGEsZXZiLDEpfSxodmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2coYSxndmIsMSl9LGl2Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmloKGEsMSxiKX0saTY9ZnVuY3Rpb24oYSxiKXtfLnNnKGEsMSxqdmIsXy5jZihiKSl9LGx2Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy53ZyhhLGt2YiwzKX0sbXZiPWZ1bmN0aW9uKGEsYil7Xy5zZyhhLDEsajYsXy5jZihiKSl9LGs2PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5yZXBsYWNlKCJ7MH0iLGIpLnJlcGxhY2UoInsxfSIsYyl9LG52Yj1mdW5jdGlvbihhLGIpe3ZhciBjPWIubGVuZ3RoO3N3aXRjaChjKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSAxOnJldHVybiBTdHJpbmcoYlswXSk7Y2FzZSAyOnJldHVybiBrNihhLndoLFN0cmluZyhiWzBdKSxTdHJpbmcoYlsxXSkpfXZhciBkPWs2KGEudGgsU3RyaW5nKGJbMF0pLFN0cmluZyhiWzFdKSk7Zm9yKGxldCBlPTI7ZTxjLTE7KytlKWQ9azYoYS5zaCwKZCxTdHJpbmcoYltlXSkpO3JldHVybiBrNihhLnJoLGQsU3RyaW5nKGJbYy0xXSkpfSxvdmI9ZnVuY3Rpb24oYSl7dHJ5e2xldCBiPV8ucncoYSk7aWYoYS5zZWxlY3Rpb25FbmQhPT12b2lkIDAmJmEuc2VsZWN0aW9uRW5kIT09bnVsbClyZXR1cm4gYS5zZWxlY3Rpb25FbmQ7aWYoYi5zZWxlY3Rpb24mJmIuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKXtsZXQgYz1iLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO2lmKGMucGFyZW50RWxlbWVudCgpIT09YSlyZXR1cm4tMTtsZXQgZD1jLmR1cGxpY2F0ZSgpO2EudGFnTmFtZT09PSJURVhUQVJFQSI/ZC5tb3ZlVG9FbGVtZW50VGV4dChhKTpkLmV4cGFuZCgidGV4dGVkaXQiKTtkLnNldEVuZFBvaW50KCJFbmRUb1N0YXJ0IixjKTtsZXQgZT1fLiRsKGQudGV4dCk7cmV0dXJuIGU+Xy4kbChhLnZhbHVlKT8tMTplfXJldHVybiBfLiRsKGEudmFsdWUpfWNhdGNoKGIpe3JldHVybi0xfX0seXZiPWZ1bmN0aW9uKGEpe2lmKCFfLmZJKGw2KShhKSl7dmFyIGI9CmEucmgoKTtfLmtoKGIsMiwxKX1iPV8uSmwucmgoKS5yaCgpO2lmKF8uZkkobDYpKGEpKXt2YXIgYz1fLkw1KGEscHZiLDIscXZiKTtfLndnKGMsbTYsNCkua2ooYil9ZWxzZSBfLmZJKG42KShhKXx8KF8uZkkobzYpKGEpfHxfLmZJKHA2KShhKT9hLnJoKCkucGwoKXx8YS5yaCgpLmtqKGIpOihhLnBsKCl8fGEua2ooYiksYj1fLkpsLnJoKCkudGgoKSxjPV8uSmwucmgoKS54aCgpLGEueGgoKXx8IWJ8fGN8fGEudGgoYikpKTtpZihfLmZJKHE2KShhKSlyZXR1cm4gXy5SaihhLHJ2YigpKTtpZihfLmZJKHI2KShhKSlyZXR1cm4gXy5SaihhLHN2YigpKTtpZihfLmZJKHM2KShhKSlyZXR1cm4gXy5SaihhLHR2YigpKTtpZihfLmZJKG82KShhKSlyZXR1cm4gXy5SaihhLHV2YigpKTtpZihfLmZJKG42KShhKSlyZXR1cm4gXy5SaihhLHZ2YigpKTtpZihfLmZJKHA2KShhKSlyZXR1cm4gXy5SaihhLHd2YigpKTtpZihfLmZJKGw2KShhKSlyZXR1cm4gXy5SaihhLHh2YigpKTt0aHJvdyBFcnJvcigpOwp9LHQ2PWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7YyhudWxsKX1mdW5jdGlvbiBlKGcpe2MoZyl9dmFyIGY9eXZiKGIpO18ucUUoXy5CQiwoKT0+e18uS3koXy5lciwoXy52bSgiZ1BsYWNlc0FwaUJhc2VVcmwiKXx8Xy5GQikrYSxfLmRyLGYsZSxkLCEwKX0pfSx6dmI9ZnVuY3Rpb24oYSxiLGMpe3Q2KGEsYixjKX0sdTY9ZnVuY3Rpb24oYSxiLGMpe3Q2KGEsYixjKX0sQXZiPWZ1bmN0aW9uKGEsYixjPXt9KXt2YXIgZD1jLm1heFdpZHRoO2M9Yy5tYXhIZWlnaHQ7ZHx8Y3x8KGQ9Yik7Yj1uZXcgbjY7YT1fLmloKGIsMSxhKTtkJiZfLmRoKGEsMyxNYXRoLm1heChkLDApKTtjJiZfLmRoKGEsNCxNYXRoLm1heChjLDApKTtkPXl2YihhKTtkKz0iJmNhbGxiYWNrPW5vbmUiO3JldHVybiBfLlpuYSgoXy52bSgiZ1BsYWNlc0FwaUJhc2VVcmwiKXx8Xy5GQikrIi9tYXBzL2FwaS9wbGFjZS9qcy9QaG90b1NlcnZpY2UuR2V0UGhvdG8iLGQsXy5kciwhMCl9LEJ2Yj1mdW5jdGlvbihhLApiKXtpZighYSlyZXR1cm4iIjtpZighYnx8IWIubGVuZ3RoKXJldHVybiBkNihhKTt2YXIgYz0iIixkPTA7Zm9yKGxldCBlIG9mIGIpYys9ZDYoYS5zdWJzdHJpbmcoZCxfLkxnKGUsMSkpKSxjKz0nPHNwYW4gY2xhc3M9InBhYy1tYXRjaGVkIj4nK2Q2KGEuc3Vic3RyaW5nKF8uTGcoZSwxKSxfLkxnKGUsMSkrZS5nZXRMZW5ndGgoKSkpKyI8L3NwYW4+IixkPV8uTGcoZSwxKStlLmdldExlbmd0aCgpO3JldHVybiBjKz1kNihhLnN1YnN0cmluZyhkKSl9LER2Yj1mdW5jdGlvbihhLGIsYyxkKXtfLkxwWzQ1XSYmXy5CdShiLDE0LDMpO18ua2goYiwxNSwzKTthPWEucWgoKT8iL21hcHMvYXBpL3BsYWNlL2pzL0F1dG9jb21wbGV0aW9uU2VydmljZS5HZXRRdWVyeVByZWRpY3Rpb25zIjoiL21hcHMvYXBpL3BsYWNlL2pzL0F1dG9jb21wbGV0aW9uU2VydmljZS5HZXRQcmVkaWN0aW9ucyI7enZiKGEsYixlPT57ZT09PW51bGwmJl8uT2woZCwyKTtjKF8uaWkoQ3ZiLGUpKX0pfSxFdmI9ZnVuY3Rpb24oYSl7YT0KYS5yaCgpO3ZhciBiPWEudHJpbSgpO3JldHVybiBiJiYvXHMkLy5leGVjKGEpP2IrIiAiOmJ9LEh2Yj1mdW5jdGlvbihhLGIpe3RyeXtpZihhLkpoKCkpXy5QbChiKTtlbHNle3ZhciBjPWEucmgoKTtpZihjJiZjPT09YS5HaCgpKV8uUGwoYik7ZWxzZXtfLmpIKGEpO3ZhciBkPUV2YihhKTtpZihkKXt2YXIgZT1fLmpIKGEpLGY9aXZiKG5ldyBxNixkKTtpZighYS5xaCgpKXtsZXQgbT1hLmdldCgic2Vzc2lvblRva2VuIik7Zi55cChtLnRva2VuKX12YXIgZz1hLkxoKCk7Zm9yKGM9MDtjPF8uJGwoZyk7YysrKV8ueUUoZiw5LGdbY10pO3ZhciBoPWEuRmgoKTtpZihoKWZvcihsZXQgbSBpbiBoKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChoLG0pKXtsZXQgcD1WdWIoW10saFttXSk7Zm9yKGc9MDtnPE1hdGgubWluKHAubGVuZ3RoLDUpOysrZylfLnlFKGYsNyxgJHttfToke3BbZ119YCl9dmFyIGs9YS56aCgpO2lmKGspe2xldCBtPV8ud2coZixfLlJBLDYpOwpfLkx3KF8ud2cobSxfLm9BLDEpLGsuZ2V0U291dGhXZXN0KCkubGF0KCkpO18uTncoXy53ZyhtLF8ub0EsMSksay5nZXRTb3V0aFdlc3QoKS5sbmcoKSk7Xy5MdyhfLndnKG0sXy5vQSwyKSxrLmdldE5vcnRoRWFzdCgpLmxhdCgpKTtfLk53KF8ud2cobSxfLm9BLDIpLGsuZ2V0Tm9ydGhFYXN0KCkubG5nKCkpO2EuZ2V0KCJzdHJpY3RCb3VuZHMiKSYmKGsuZ2V0U291dGhXZXN0KCkubGF0KCk9PT0wJiZrLmdldFNvdXRoV2VzdCgpLmxuZygpPT09MCYmay5nZXROb3J0aEVhc3QoKS5sYXQoKT09PTAmJmsuZ2V0Tm9ydGhFYXN0KCkubG5nKCk9PT0wJiZfLnJtKCJXaGVuIHN0cmljdEJvdW5kcyBpcyBlbmFibGVkLCBib3VuZHMgY2Fubm90IGJlIHtub3J0aDogMCwgZWFzdDogMCwgc291dGg6IDAsIHdlc3Q6IDB9IiksXy4kZyhmLDE4LCEwKSl9RHZiKGEsZixtPT57aWYoXy5rSChhLGUpKXtfLnB1KG0sNCkmJihfLnJtKF8uSChtLDQpKSxfLlFmKG0sNCkpO3ZhciBwPW0uZ2V0U3RhdHVzKCk7CmlmKHA9PT0zfHxwPT09NClfLlBsKGIpLF8ud24oYSwicmVxdWVzdF9kZW5pZWQiKTtlbHNlIGlmKHA9PT0wfHxwPT09NSl7cD09PTAmJl8uWWYobSx2NiwyKTw9MCYmXy5PbChiLDE1KTtwPVtdO3ZhciBxPVtdLHU9MTA7Zm9yKGxldCBCPTAsSz1fLllmKG0sdjYsMik7QjxLJiZfLiRsKHEpPDEwOysrQil7dmFyIHg9Xy53dShtLDIsdjYsQiksej0hMTtmb3IobGV0IE89MCxBPV8uV2coeCwzKTtPPEE7KytPKWlmKHguZ2V0VHlwZShPKS5pbmRleE9mKCJnZW9jb2RlIik+PTApe3o9ITA7YnJlYWt9ej91PyhxLnB1c2goeCksdS0tKTpwLnB1c2goeCk6cS5wdXNoKHgpfXEucHVzaCguLi5wLnNsaWNlKDAsTWF0aC5taW4oXy4kbChwKSwxMC1fLiRsKHEpKSkpO209cTtFdmIoYSk7cD1bXTtmb3IocT0wO3E8bS5sZW5ndGg7cSsrKXt1PW1bcV07ej1fLkcodSxGdmIsMTApO3g9QnZiKF8uSCh6LDEpLF8uQmcoeixHdmIsMykpO3o9QnZiKF8uSCh6LDIpLG51bGwpO2xldCBCPV8uSCh1LDkpPwoicGFjLWljb24tbWFya2VyIjoicGFjLWljb24tc2VhcmNoIjt1PXtnSzpfLkgodSwxKSx6TjpCLHVPOngsZk86eix0eXBlczpBcnJheS5mcm9tKF8uVWcodSwzLF8uY2coKSkpfTtwLnB1c2godSl9YS5zaChwKTthLnloPW07Xy5PbChiLDApfWVsc2UgcD09PTJ8fHA9PT0xMDN8fHA9PT0xMT9fLlBsKGIpOl8uT2woYiwxRTMrcCl9ZWxzZSBfLlBsKGIpfSxiKX1lbHNlIGEuc2goW10pLF8uUGwoYil9fX1jYXRjaChtKXtfLk9sKGIsOSl9fSxJdmI9ZnVuY3Rpb24oYSxiKXtjbGVhclRpbWVvdXQoYS5DaCk7Xy5QbChhLkJoKTthLkJoPWI7YS5DaD1zZXRUaW1lb3V0KCgpPT57SHZiKGEsYil9LDEwMCl9LEp2Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5xaCgpPyExOmEuZ2V0KCJwbGFjZUlkT25seSIpPyEwOihhPWEuZ2V0KCJmaWVsZHMiKSk/YS5ldmVyeShiPT5fLnB1Yi5oYXMoYikpOiExfSx3Nj1mdW5jdGlvbihhKXtyZXR1cm4iTWlzc2luZyBwYXJhbWV0ZXIuIFlvdSBtdXN0IHNwZWNpZnkgIisKYSsiLiJ9LHg2PWZ1bmN0aW9uKGEpe3JldHVybiJQcm9wZXJ0eSAiK2ErIiBpcyBpbnZhbGlkLiBBIHBvc3NpYmxlIGNhdXNlIGlzIHRoYXQgdGhlIHZhbHVlIGNvbmZsaWN0cyB3aXRoIG90aGVyIHByb3BlcnRpZXMuIn0seTY9ZnVuY3Rpb24oYSxiPSJMb2NhdGlvbkJpYXMiKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtpZihhIT09IklQX0JJQVMiKXRocm93IF8uQW0oYisiIG9mIHR5cGUgc3RyaW5nIHdhcyBpbnZhbGlkOiAiK2EpO3JldHVybiBhfWlmKCFhfHwhXy5rbShhKSl0aHJvdyBfLkFtKGBJbnZhbGlkICR7Yn06ICR7YX1gKTtpZihhIGluc3RhbmNlb2YgXy5TbylyZXR1cm4gZTYoYSk7aWYoYSBpbnN0YW5jZW9mIF8uVG18fGEgaW5zdGFuY2VvZiBfLlJufHxhIGluc3RhbmNlb2YgXy5TbylyZXR1cm4gYTt0cnl7cmV0dXJuIF8uVG4oYSl9Y2F0Y2goYyl7dHJ5e3JldHVybiBfLlhtKGEpfWNhdGNoKGQpe3RyeXtyZXR1cm4gZTYobmV3IF8uU28oKDAsXy5qamEpKGEpKSl9Y2F0Y2goZSl7dGhyb3cgXy5BbSgiSW52YWxpZCAiKwpiKyI6ICIrSlNPTi5zdHJpbmdpZnkoYSkpO319fX0sejY9ZnVuY3Rpb24oYSl7dmFyIGI9eTYoYSk7aWYoYiBpbnN0YW5jZW9mIF8uUm58fGIgaW5zdGFuY2VvZiBfLlNvKXJldHVybiBiO3Rocm93IF8uQW0oYEludmFsaWQgTG9jYXRpb25SZXN0cmljdGlvbjogJHthfWApO30sQTY9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRTb3V0aFdlc3QoKTthPWEuZ2V0Tm9ydGhFYXN0KCk7dmFyIGM9bmV3IF8uUkEsZD1fLndnKGMsXy5vQSwxKSxlPV8ud2coYyxfLm9BLDIpO18uTncoXy5MdyhkLGIubGF0KCkpLGIubG5nKCkpO18uTncoXy5MdyhlLGEubGF0KCkpLGEubG5nKCkpO3JldHVybiBjfSxLdmI9ZnVuY3Rpb24oYSxiKXtiJiYoYj16NihiKSxiIGluc3RhbmNlb2YgXy5Sbj9fLkt2KGEudGgoKSxBNihiKSk6YiBpbnN0YW5jZW9mIF8uU28mJihhPWEucmgoKSxfLkx3KF8ud2coYSxfLm9BLDEpLGIuZ2V0Q2VudGVyKCkubGF0KCkpLF8uTncoXy53ZyhhLF8ub0EsMSksYi5nZXRDZW50ZXIoKS5sbmcoKSksCmEuc2V0UmFkaXVzKGIuZ2V0UmFkaXVzKCkpKSl9LEM2PWZ1bmN0aW9uKGEsYil7YiYmKGI9eTYoYiksdHlwZW9mIGI9PT0ic3RyaW5nIj9fLnNnKGEsNCxCNixfLnplKCEwKSk6YiBpbnN0YW5jZW9mIF8uVG0/KF8uTHcoXy5MNShhLF8ub0EsMSxCNiksYi5sYXQoKSksXy5OdyhfLkw1KGEsXy5vQSwxLEI2KSxiLmxuZygpKSk6KGIgaW5zdGFuY2VvZiBfLlJufHxiIGluc3RhbmNlb2YgXy5TbykmJkt2YihhLGIpKX0sRDY9ZnVuY3Rpb24oYSl7dmFyIGI9YS5sb2NhdGlvbixjPWEucmFkaXVzLGQ9YS5ib3VuZHM7YT1fLkNtKHtpbnB1dDpfLkltKGU9PiEhZSx3NigiaW5wdXQiKSksYm91bmRzOl8uSW0oZT0+ISFlfHwhKGImJmM9PT12b2lkIDB8fCFiJiZjKSx3NihiPyJyYWRpdXMiOiJsb2NhdGlvbiIpKSxsb2NhdGlvbkJpYXM6Xy5NbSh5NiksbG9jYXRpb25SZXN0cmljdGlvbjpfLk1tKHo2KX0sITApKGEpOyFkJiZiJiZjIT09dm9pZCAwJiYoYS5ib3VuZHM9Xy5DbyhiLGMvNjM3ODEzNykpOwpyZXR1cm4gYX0sTHZiPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJJTlZBTElEX1JFUVVFU1QiOnJldHVybiBuZXcgXy5pcigiVGhlIHJlcXVlc3QgaXMgaW52YWxpZC4iLCJQTEFDRVNfQVVUT0NPTVBMRVRFIixhKTtjYXNlICJOT1RfRk9VTkQiOnJldHVybiBuZXcgXy5pcigiVGhlIHBsYWNlIHJlZmVyZW5jZWQgd2FzIG5vdCBmb3VuZC4iLCJQTEFDRVNfQVVUT0NPTVBMRVRFIixhKTtjYXNlICJPVkVSX1FVRVJZX0xJTUlUIjpyZXR1cm4gbmV3IF8uaXIoIlRoZSBhcHBsaWNhdGlvbiBoYXMgZ29uZSBvdmVyIGl0cyByZXF1ZXN0IHF1b3RhLiIsIlBMQUNFU19BVVRPQ09NUExFVEUiLGEpO2Nhc2UgIlJFUVVFU1RfREVOSUVEIjpyZXR1cm4gbmV3IF8uaXIoIlRoZSBhcHBsaWNhdGlvbiBpcyBub3QgYWxsb3dlZCB0byB1c2UgdGhlIFBsYWNlIFNlcnZpY2UuIiwiUExBQ0VTX0FVVE9DT01QTEVURSIsYSk7ZGVmYXVsdDpyZXR1cm4gbmV3IF8uanIoIlRoZSBQbGFjZSBTZXJ2aWNlIHJlcXVlc3QgY291bGQgbm90IGJlIHByb2Nlc3NlZCBkdWUgdG8gc2VydmVyIGVycm9yLiIsCiJQTEFDRVNfQVVUT0NPTVBMRVRFIixhKX19LE52Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHE2O2l2YihkLGIuaW5wdXQpO3ZhciBlPWIub2Zmc2V0O2UhPT12b2lkIDAmJl8uZGgoZCwyLGUpO2Iuc2Vzc2lvblRva2VuJiZkLnlwKGIuc2Vzc2lvblRva2VuLnRva2VuKTtiLmJvdW5kcyYmKGEucWh8fChjb25zb2xlLndhcm4oIkFzIG9mIE1heSAyMDIzLCBib3VuZHMsIGxvY2F0aW9uLCBhbmQgcmFkaXVzIGFyZSBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIGxvY2F0aW9uQmlhcyBhbmQgbG9jYXRpb25SZXN0cmljdGlvbiBpbnN0ZWFkLiBUaGUgZmVhdHVyZSB3aWxsIGNvbnRpbnVlIHRvIHdvcmssIGFuZCAxMiBtb250aHMgbm90aWNlIHdpbGwgYmUgZ2l2ZW4gYmVmb3JlIHN1cHBvcnQgaXMgZGlzY29udGludWVkLiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kZXByZWNhdGlvbnMgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiksYS5xaD0hMCksYT1fLlRuKGIuYm91bmRzKSwKXy5LdihfLndnKGQsXy5SQSw2KSxBNihhKSkpO2Iub3JpZ2luJiYoYT1fLndnKGQsXy5vQSwyNSksXy5MdyhhLGIub3JpZ2luLmxhdCgpKSxfLk53KGEsYi5vcmlnaW4ubG5nKCkpKTthPWIudHlwZXM7Zm9yKGU9MDtlPF8uJGwoYSk7KytlKV8ueUUoZCw5LGFbZV0pO2lmKGE9Yi5jb21wb25lbnRSZXN0cmljdGlvbnMpZm9yKGxldCBmIGluIGEpe2lmKCFhW2ZdKWNvbnRpbnVlO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoYVtmXSkmJnR5cGVvZiBhW2ZdIT09InN0cmluZyIpdGhyb3cgRXJyb3IoeDYoImNvbXBvbmVudFJlc3RyaWN0aW9ucy4iK2YpKTtlPVZ1YihbXSxhW2ZdKTtmb3IobGV0IGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDUpOysrZylfLnlFKGQsNyxmKyI6IitlW2ddKX1jJiYoYi5sYW5ndWFnZSYmZC5raihiLmxhbmd1YWdlKSxiLnJlZ2lvbiYmZC50aChiLnJlZ2lvbiksYi5sb2NhdGlvbkJpYXMmJihjPW5ldyBFNixDNihjLGIubG9jYXRpb25CaWFzKSxfLkVnKGQsRTYsCjIyLGMpKSxiLmxvY2F0aW9uUmVzdHJpY3Rpb24mJihjPW5ldyBNdmIsS3ZiKGMsYi5sb2NhdGlvblJlc3RyaWN0aW9uKSxfLkVnKGQsTXZiLDIzLGMpKSk7Xy5McFs0NV0mJl8uQnUoZCwxNCwzKTtfLmtoKGQsMTUsMyk7cmV0dXJuIGR9LE92Yj1mdW5jdGlvbihhLGIsYyxkKXthPU52YihhLGMsYj09PSIvbWFwcy9hcGkvcGxhY2UvanMvQXV0b2NvbXBsZXRpb25TZXJ2aWNlLkdldFByZWRpY3Rpb25zSnNvbiIpO3U2KGIsYSxlPT57ZSYmZS5lcnJvcl9tZXNzYWdlJiYoXy5ybShlLmVycm9yX21lc3NhZ2UpLGRlbGV0ZSBlLmVycm9yX21lc3NhZ2UpO3ZhciBmPWUmJmUuc3RhdHVzfHwiVU5LTk9XTl9FUlJPUiI7ZChmPT0iT0siP2UucHJlZGljdGlvbnM6bnVsbCxmKX0pfSxGNj1mdW5jdGlvbihhLGIpe2Euc2V0KCJpc0lucHV0VmFsdWVGcm9tQnJvd3NlckF1dG9maWxsIixiKX0sRzY9ZnVuY3Rpb24oYSxiKXt0cnl7RjYoYSxhLnFoLm1hdGNoZXMoIjphdXRvZmlsbCIpKX1jYXRjaHtGNihhLAohMSl9YS5zZXQoImlucHV0IixiKX0sUHZiPWZ1bmN0aW9uKGEpe2EueGgmJiFhLnFoLnZhbHVlJiYoYS5xaC52YWx1ZT1hLndoLF8ucXcoYS5xaCwicGFjLXBsYWNlaG9sZGVyIikpfSxINj1mdW5jdGlvbihhLGIpe2Euc2V0KCJzZWxlY3Rpb25JbmRleCIsYil9LFF2Yj1mdW5jdGlvbihhKXt2YXIgYj1hLnJoO2I+PTAmJl8uVUUoYS5pdGVtc1tiXSwicGFjLWl0ZW0tc2VsZWN0ZWQiKTthLnJoPS0xfSxSdmI9ZnVuY3Rpb24oYSxiKXtRdmIoYSk7dmFyIGM9YS5pdGVtc1tiXTtjPyhfLnF3KGMsInBhYy1pdGVtLXNlbGVjdGVkIiksYS5xaC52YWx1ZT1hLmdldFByZWRpY3Rpb25zKClbYl0uZ0ssYS5yaD1iLGEuc2V0VmlzaWJsZSghMCkpOihhLnFoLnZhbHVlPWEuZ2V0KCJpbnB1dCIpLGEucmg9LTEpfSxJNj1mdW5jdGlvbihhLGIsYyl7Yj1fLmptKGIpP2I6YS50aD4tMT9hLnRoOmEucmg7UXZiKGEpO3ZhciBkPSEwO2lmKGI+PTApYz1hLmdldFByZWRpY3Rpb25zKClbYl0uZ0ssYS5xaC52YWx1ZT0KYyxHNihhLGMpLEg2KGEsYik7ZWxzZSBpZihjJiZhLnFoLnZhbHVlIT09YS5nZXQoImlucHV0IikpYS5xaC52YWx1ZT1hLmdldCgiaW5wdXQiKTtlbHNlIGlmKGM9PT0xM3x8Yz09PTEwKV8ud24oYSwidGV4dF9lbnRlcmVkIiksYS5zaCYmKGQ9ITEpO2Eucmg9YS50aD0tMTtkJiZhLnNldFZpc2libGUoITEpfSxKNj1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXQoImZvcm1hdHRlZFByZWRpY3Rpb24iKX0sU3ZiPWZ1bmN0aW9uKGE9bmV3IERhdGUpe3JldHVybiBuZXcgSzYoYS5nZXRVVENEYXkoKSoyNCo2MCthLmdldFVUQ0hvdXJzKCkqNjArYS5nZXRVVENNaW51dGVzKCkpfSxUdmI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRpbWU7cmV0dXJuIG5ldyBLNigoYS5kYXkqMjQqNjArTnVtYmVyKGMuc3Vic3RyaW5nKDAsMikpKjYwK051bWJlcihjLnN1YnN0cmluZygyLDQpKS1iKzEwMDgwKSUxMDA4MCl9LFV2Yj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2EuZm9yRWFjaChkPT57ZD1uZXcgTDYoVHZiKGQub3BlbiwKYiksVHZiKGQuY2xvc2UsYikpO2lmKGQuZW5kVGltZS5jb21wYXJlKGQuc3RhcnRUaW1lKTwwKXtsZXQgZT1uZXcgTDYobmV3IEs2KDApLGQuZW5kVGltZSk7Yy5wdXNoKG5ldyBMNihkLnN0YXJ0VGltZSxuZXcgSzYoMTAwODApKSk7Yy5wdXNoKGUpfWVsc2UgYy5wdXNoKGQpfSk7cmV0dXJuIGN9LFZ2Yj1mdW5jdGlvbihhLGIsYyl7aWYoYSYmYiE9bnVsbCl7aWYoYS5sZW5ndGg9PT0wKXJldHVybiExO2lmKGEubGVuZ3RoPT09MSYmIWFbMF0uY2xvc2UmJmFbMF0ub3BlbiYmYVswXS5vcGVuLmRheT09PTAmJmFbMF0ub3Blbi50aW1lPT09IjAwMDAiKXJldHVybiEwO3ZhciBkPVN2YihjKTtyZXR1cm4gVXZiKGEsYikuc29tZShlPT5lLmluY2x1ZGVzKGQpKX19LFd2Yj1mdW5jdGlvbihhLGI9bmV3IERhdGUpe3JldHVybiBWdmIoYS5vcGVuaW5nX2hvdXJzLnBlcmlvZHMsYS51dGNfb2Zmc2V0X21pbnV0ZXMsYil9LFh2Yj1mdW5jdGlvbihhKXt2YXIgYj0idXRjX29mZnNldCJpbiBhOwpiJiYoYS51dGNfb2Zmc2V0X21pbnV0ZXM9YS51dGNfb2Zmc2V0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwidXRjX29mZnNldCIse2VudW1lcmFibGU6YixnZXQoKXtfLnJtKCJ1dGNfb2Zmc2V0IGlzIGRlcHJlY2F0ZWQgYXMgb2YgTm92ZW1iZXIgMjAxOS4gVXNlIHV0Y19vZmZzZXRfbWludXRlcyBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9nb28uZ2xlL2pzLW9wZW4tbm93Iik7Xy5NKHdpbmRvdywxNDgyMjcpO3JldHVybiBhLnV0Y19vZmZzZXRfbWludXRlc30sc2V0KGMpe18ucm0oInV0Y19vZmZzZXQgaXMgZGVwcmVjYXRlZCBhcyBvZiBOb3ZlbWJlciAyMDE5LiBVc2UgdXRjX29mZnNldF9taW51dGVzIGluc3RlYWQuIFNlZSBodHRwczovL2dvby5nbGUvanMtb3Blbi1ub3ciKTtfLk0od2luZG93LDE0ODIyNyk7YS51dGNfb2Zmc2V0X21pbnV0ZXM9Y319KX0sWXZiPWZ1bmN0aW9uKGEsYixjKXthLmhvdXJzPV8uSkUoYS50aW1lLnNsaWNlKDAsMikpO2EubWludXRlcz1fLkpFKGEudGltZS5zbGljZSgyLAo0KSk7aWYoYyl7dmFyIGQ9bmV3IERhdGUoYi5nZXRUaW1lKCkrYyo2MCoxRTMpO2M9YS5kYXktZC5nZXRVVENEYXkoKTtkPShhLmhvdXJzLWQuZ2V0VVRDSG91cnMoKSkqNjArYS5taW51dGVzLWQuZ2V0VVRDTWludXRlcygpO3ZhciBlPWIuZ2V0VGltZSgpLWIuZ2V0VGltZSgpJTZFNDthLm5leHREYXRlPWUrYyo4NjRFNStkKjZFNDthLm5leHREYXRlPGIuZ2V0VGltZSgpJiYoYS5uZXh0RGF0ZSs9NjA0OEU1KX19LFp2Yj1mdW5jdGlvbihhKXt2YXIgYj1hLm9wZW5pbmdfaG91cnM7aWYoYiE9PXZvaWQgMCl7Yi5pc09wZW49Zz0+V3ZiKGEsZyk7dmFyIGM9Yi5vcGVuX25vdztPYmplY3QuZGVmaW5lUHJvcGVydHkoYiwib3Blbl9ub3ciLHtlbnVtZXJhYmxlOiEwLGdldCgpe18ucm0oIm9wZW5fbm93IGlzIGRlcHJlY2F0ZWQgYXMgb2YgTm92ZW1iZXIgMjAxOS4gVXNlIHRoZSBpc09wZW4oKSBtZXRob2QgZnJvbSBhIFBsYWNlc1NlcnZpY2UuZ2V0RGV0YWlscygpIHJlc3VsdCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9nb28uZ2xlL2pzLW9wZW4tbm93Iik7Cl8uTSh3aW5kb3csMTQ4MjI1KTtyZXR1cm4gY30sc2V0KGcpe18ucm0oIm9wZW5fbm93IGlzIGRlcHJlY2F0ZWQgYXMgb2YgTm92ZW1iZXIgMjAxOS4gVXNlIHRoZSBpc09wZW4oKSBtZXRob2QgZnJvbSBhIFBsYWNlc1NlcnZpY2UuZ2V0RGV0YWlscygpIHJlc3VsdCBpbnN0ZWFkLiBTZWUgaHR0cHM6Ly9nb28uZ2xlL2pzLW9wZW4tbm93Iik7Xy5NKHdpbmRvdywxNDgyMjUpO2M9Z319KTt2YXIgZD1hLnV0Y19vZmZzZXRfbWludXRlcyxlPW5ldyBEYXRlO2I9Yi5wZXJpb2RzO2ZvcihsZXQgZz0wLGg9Xy4kbChiKTtnPGg7ZysrKXt2YXIgZj1iW2ddO2xldCBrPWYub3BlbjtmPWYuY2xvc2U7ayYmWXZiKGssZSxkKTtmJiZZdmIoZixlLGQpfX19LE02PWZ1bmN0aW9uKGEsYj0hMSxjKXt2YXIgZD17fTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYSkpZFtlXT1hW2VdO2QuaHRtbF9hdHRyaWJ1dGlvbnM9ZC5odG1sX2F0dHJpYnV0aW9uc3x8Y3x8W107aWYoZC5waG90b3MpZm9yKGxldCBlIG9mIGQucGhvdG9zKXtsZXQgZj0KZS5waG90b19yZWZlcmVuY2U7ZGVsZXRlIGUucGhvdG9fcmVmZXJlbmNlO2RlbGV0ZSBlLnJhd19yZWZlcmVuY2U7ZS5nZXRVcmw9KC4uLmcpPT5BdmIoZixlLndpZHRoLC4uLmcpfWlmKGE9YS5nZW9tZXRyeSl7aWYoYz1hLmxvY2F0aW9uKWEubG9jYXRpb249bmV3IF8uVG0oYy5sYXQsYy5sbmcpOyhhPWEudmlld3BvcnQpJiYoZC5nZW9tZXRyeS52aWV3cG9ydD1uZXcgXy5SbihuZXcgXy5UbShhLnNvdXRod2VzdC5sYXQsYS5zb3V0aHdlc3QubG5nKSxuZXcgXy5UbShhLm5vcnRoZWFzdC5sYXQsYS5ub3J0aGVhc3QubG5nKSkpfWlmKGQucGVybWFuZW50bHlfY2xvc2VkKXtsZXQgZT1kLnBlcm1hbmVudGx5X2Nsb3NlZDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZCwicGVybWFuZW50bHlfY2xvc2VkIix7ZW51bWVyYWJsZTohMCxnZXQoKXtfLnJtKCJwZXJtYW5lbnRseV9jbG9zZWQgaXMgZGVwcmVjYXRlZCBhcyBvZiBNYXkgMjAyMCBhbmQgd2lsbCBiZSB0dXJuZWQgb2ZmIGluIE1heSAyMDIxLiBVc2UgYnVzaW5lc3Nfc3RhdHVzIGluc3RlYWQuIFNlZSBodHRwczovL2dvby5nbGUvcGxhY2VzLXBlcm1hbmVudGx5LWNsb3NlZCIpOwpfLk0od2luZG93LDE0ODIyNik7cmV0dXJuIGV9LHNldChmKXtfLnJtKCJwZXJtYW5lbnRseV9jbG9zZWQgaXMgZGVwcmVjYXRlZCBhcyBvZiBNYXkgMjAyMCBhbmQgd2lsbCBiZSB0dXJuZWQgb2ZmIGluIE1heSAyMDIxLiBVc2UgYnVzaW5lc3Nfc3RhdHVzIGluc3RlYWQuIFNlZSBodHRwczovL2dvby5nbGUvcGxhY2VzLXBlcm1hbmVudGx5LWNsb3NlZCIpO18uTSh3aW5kb3csMTQ4MjI2KTtlPWZ9fSl9aWYoIWIpZm9yKGxldCBlIG9mIF8ucnViKWRlbGV0ZSBkW2VdO1h2YihkKTtadmIoZCk7cmV0dXJuIGR9LGF3Yj1mdW5jdGlvbihhLGIpe2lmKCFhLnJlZmVyZW5jZSYmIWEucGxhY2VJZCl0aHJvdyBFcnJvcih3NigicGxhY2VJZCIpKTtpZihhLnJlZmVyZW5jZSYmYS5wbGFjZUlkKXRocm93IEVycm9yKCJQcm9wZXJ0aWVzIHJlZmVyZW5jZSBhbmQgcGxhY2VJZCBjYW4gbm90IGNvZXhpc3QuIik7dmFyIGM9bmV3IHI2O2Euc2Vzc2lvblRva2VuJiZjLnlwKGEuc2Vzc2lvblRva2VuLnRva2VuKTsKYS5wbGFjZUlkP212YihfLndnKGMsJHZiLDE0KSxhLnBsYWNlSWQpOl8uaWgoYywxLGEucmVmZXJlbmNlKTt2YXIgZD1hLm9sfHxbXTtmb3IobGV0IGU9MCxmPWQubGVuZ3RoO2U8ZjtlKyspXy55RShjLDcsZFtlXSk7Xy5McFs0NV0mJl8uQnUoYyw2LDEzKTthLmZpZWxkcyYmaTYoXy53ZyhjLGt2YiwxNiksYS5maWVsZHMuam9pbigpKTthLmxhbmd1YWdlJiZjLmtqKGEubGFuZ3VhZ2UpO2EucmVnaW9uJiZjLnRoKGEucmVnaW9uKTtfLmtoKGMsMTAsMyk7dTYoIi9tYXBzL2FwaS9wbGFjZS9qcy9QbGFjZVNlcnZpY2UuR2V0UGxhY2VEZXRhaWxzIixjLGU9PntlJiZlLmVycm9yX21lc3NhZ2UmJihfLnJtKGUuZXJyb3JfbWVzc2FnZSksZGVsZXRlIGUuZXJyb3JfbWVzc2FnZSk7dmFyIGY9ZT9lLnN0YXR1czoiVU5LTk9XTl9FUlJPUiI7ZT1mPT09Ik9LIj9NNihlLnJlc3VsdCxhLmdULGUuaHRtbF9hdHRyaWJ1dGlvbnMpOm51bGw7YihlLGYpfSl9LGN3Yj1mdW5jdGlvbihhLGIpe2lmKGEub3Blbk5vdyl7dmFyIGM9Cl8ud2coYixid2IsMTgpO18uJGcoYywxLCEwKTtjPV8ud2coYixid2IsMTgpO3ZhciBkPShuZXcgRGF0ZSkuZ2V0VGltZSgpJTY1NTM1O18uZGgoYywxMCxkKX0oYz1hLm1pblByaWNlTGV2ZWwpJiZfLmRoKGIsMTksYyk7KGM9YS5tYXhQcmljZUxldmVsKSYmXy5kaChiLDIwLGMpO2M9YS50eXBlP1thLnR5cGVdOmEudHlwZXN8fFtdO2ZvcihkPTA7ZDxjLmxlbmd0aDtkKyspXy55RShiLDYsY1tkXSk7YS5XTz09PSJ0eXBlcy52MiI/Xy5raChiLDEwMzIsMik6YS5XTz09PSJ0eXBlcy52MSI/Xy5raChiLDEwMzIsMSk6Xy5raChiLDEwMzIsMCl9LGR3Yj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBzNixkPWEuYm91bmRzO2QmJihkPV8uVG4oZCksXy5LdihfLndnKGMsXy5SQSwxKSxBNihkKSkpOyhkPWEucXVlcnkpJiZfLmloKGMsNCxkKTtkPWEuanM7ZCE9PXZvaWQgMCYmXy5paChjLDksZCk7YS5sYW5ndWFnZSYmYy5raihhLmxhbmd1YWdlKTthLnJlZ2lvbiYmYy50aChhLnJlZ2lvbik7CmN3YihhLGMpO18uTHBbNDVdJiZfLkJ1KGMsMTIsMTMpO18ua2goYywyOSwzKTt0NigiL21hcHMvYXBpL3BsYWNlL2pzL1BsYWNlU2VydmljZS5RdWVyeVBsYWNlcyIsYyxiKX0sZ3diPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGQpe3ZhciBlPWQuaHRtbF9hdHRyaWJ1dGlvbnMsZj1lPyhuZXcgZXdiKS5mb3JtYXQoZSk6IiI7YS5xaChmKTtmPWQucmVzdWx0cztmb3IobGV0IGc9MCxoPV8uJGwoZik7ZzxoO2crKylmW2ddPU02KGZbZ10sITEsZSk7YT1iP25ldyBmd2IoYi5iaW5kKGEpLGQubmV4dF9wYWdlX3Rva2VuLGMpOnZvaWQgMDtkLmVycm9yX21lc3NhZ2UmJihfLnJtKGQuZXJyb3JfbWVzc2FnZSksZGVsZXRlIGQuZXJyb3JfbWVzc2FnZSk7YyhmLGQuc3RhdHVzLGEpfWVsc2UgZD1uZXcgZndiKGIuYmluZChhKSxudWxsLG51bGwpLGMoW10sIlVOS05PV05fRVJST1IiLGQpfSxod2I9ZnVuY3Rpb24oYSxiLGMpe2IuaW5wdXQmJihiLnF1ZXJ5PWIuaW5wdXQpO2lmKCEoYi5qc3x8Yi50eXBlfHwKYi50eXBlc3x8Yi5xdWVyeSkpdGhyb3cgRXJyb3IodzYoInF1ZXJ5IikpO2lmKCFiLmpzJiYhYi5ib3VuZHMpe2I9KDAsXy5zdWIpKGIpO2xldCBkPWIubG9jYXRpb247aWYoZCl7bGV0IGU9Yi5yYWRpdXN8fDA7Yi5ib3VuZHM9Xy5DbyhfLlhtKGQpLGUvNjM3ODEzNyl9ZWxzZSBpZihiLnJhZGl1cyl0aHJvdyBFcnJvcih3NigibG9jYXRpb24iKSk7fWR3YihiLCguLi5kKT0+e2d3YihhLGEudGV4dFNlYXJjaCxjLC4uLmQpfSl9LGl3Yj1mdW5jdGlvbihhLGIpe2lmKGIpe2I9e2lucHV0OmJ9O3ZhciBjPWEuemgoKTtjJiYoYi5ib3VuZHM9Yyk7aHdiKGEuRGgsYixmdW5jdGlvbihkLGUpe2U9PT0iT0siP2EueGgoZD8/W10pOmEueGgoW10pfSl9fSxrd2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgczYsZD1hLmJvdW5kcztkJiYoZD1fLlRuKGQpLF8uS3YoXy53ZyhjLF8uUkEsMSksQTYoZCkpKTsoZD1hLm5hbWUpJiZfLmloKGMsMyxkKTsoZD1hLmtleXdvcmQpJiZfLmloKGMsNCxkKTsKZD1hLnJhbmtCeTtkIT09dm9pZCAwJiZfLmtoKGMsOCxqd2JbZF0pO2Q9YS5qcztkIT09dm9pZCAwJiZfLmloKGMsOSxkKTthLmxhbmd1YWdlJiZjLmtqKGEubGFuZ3VhZ2UpO2N3YihhLGMpO18uTHBbNDVdJiZfLkJ1KGMsMTIsMTMpO18ua2goYywyOSwzKTt0NigiL21hcHMvYXBpL3BsYWNlL2pzL1BsYWNlU2VydmljZS5GaW5kUGxhY2VzIixjLGIpfSxsd2I9ZnVuY3Rpb24oYSxiKXt1NigiL21hcHMvYXBpL3BsYWNlL2pzL1BsYWNlU2VydmljZS5GaW5kUGxhY2VGcm9tVGV4dCIsYSxjPT57YyYmYy5lcnJvcl9tZXNzYWdlJiYoXy5ybShjLmVycm9yX21lc3NhZ2UpLGRlbGV0ZSBjLmVycm9yX21lc3NhZ2UpO3ZhciBkPWM/Yy5zdGF0dXM6IlVOS05PV05fRVJST1IiO2QhPT0iT0siP2IobnVsbCxkKTooYz0oYy5jYW5kaWRhdGVzfHxbXSkubWFwKGU9Pk02KGUpKSxiKGMsZCkpfSl9LE42PWZ1bmN0aW9uKGEpe2lmKGEucWgpe3ZhciBiPSEhYS5nZXQoImF0dHJpYnV0aW9uVGV4dCIpJiYKIWEuZ2V0KCJoaWRlIik7YS5yaC5zdHlsZS5kaXNwbGF5PWI/IiI6Im5vbmUifX0sbXdiPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Xy5RNSgpLnFoO2E9Xy5FdGIobmV3IF8uVDUsYHBsYWNlcy8ke2F9YCkucmgoYikudGgoYyk7ZD17Li4uXy5veShkKSwiWC1Hb29nLUZpZWxkTWFzayI6ImRpc3BsYXlOYW1lIn07ZT8ubGVuZ3RoJiYoZFsiWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXT1lLmpvaW4oIiwiKSk7cmV0dXJuIGYuZ2V0UGxhY2UoYSxkKS50aGVuKGc9PntnPy5VaSgpPy5yaCgpIT09YiYmXy5NKHdpbmRvdywxNzc2OTgpO3JldHVybiBnPy5VaSgpPy5jaSgpfHwiIn0pfSxud2I9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZCl7bGV0IGY9ZFtPNl07dmFyIGU9Zj9mLmZxOl8uemYoZFswXSk7YVtiXT1mPz9kfWUmJmU9PT1fLnhmPyhhLmpFPz8oYS5qRT1uZXcgU2V0KSkuYWRkKGIpOmMmJihhLnp3Pz8oYS56dz1uZXcgU2V0KSkuYWRkKGIpfSwKb3diPWZ1bmN0aW9uKGEsYixjLGQpe253YihhLGIsISFjLlh0LGQpfSxwd2I9ZnVuY3Rpb24oYSxiLGMpe253YihhLGIsISFjLlh0KX0scXdiPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQNihfLnpmKDApKX0sUzY9ZnVuY3Rpb24oYSl7dmFyIGI9YVtPNl07aWYoYilyZXR1cm4gYjtiPV8ucmkoTzYscXdiLHB3Yixvd2IsYSk7aWYoIWIub2wmJiFiLnp3Py5zaXplJiYhYi5qRT8uc2l6ZSl7bGV0IGQ9ITA7Zm9yKHZhciBjIGluIGIpaXNOYU4oYyl8fChkPSExKTtpZihkKXJldHVybiBfLnpmKGFbMF0pPT09Xy54Zj9RNj9jPVE2OihjPW5ldyBQNihfLnpmKCEwKSksYy5mcT1fLnpmKCEwKSxjPVE2PWMpOmM9UjY/PyhSNj1uZXcgUDYoXy56ZigwKSkpLGFbTzZdPWM7Yi5TTz0hMH1yZXR1cm4gYn0scndiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihkPWJbYV0pe3ZhciBlPWQ7aWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGgpe3ZhciBmPWVbMF0sZz1fLnpmKGYpO2chPW51bGwmJmchPT0KZiYmKGVbMF09Zyk7ZT1nIT1udWxsfWVsc2UgZT0hMTtlJiYoYlthXT1kPVM2KGQpKX1lbHNlIGQ9dm9pZCAwO2lmKGQpaWYoYi5YSCgpLmhhcyhhKXx8Yi5SSCgpLmhhcyhhKSl7aWYoQXJyYXkuaXNBcnJheShjKSlmb3IoYT0wO2E8Yy5sZW5ndGg7YSsrKXtiPWNbYV07aWYoYiBpbnN0YW5jZW9mIF8uSSliPWIuTGk7ZWxzZSBpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcigpO1Q2KGIsZCl9fWVsc2V7aWYoYyBpbnN0YW5jZW9mIF8uSSljPWMuTGk7ZWxzZSBpZighQXJyYXkuaXNBcnJheShjKSl0aHJvdyBFcnJvcigpO1Q2KGMsZCl9fSxUNj1mdW5jdGlvbihhLGIpe2lmKGIhPT1SNiYmYiE9PVE2KXtiLlNPfHwoYVtfLkNnYV09Yik7dmFyIGM9YS5sZW5ndGgsZD1iLmZxWzFdPzA6LTE7Zm9yKGxldCBlPTA7ZTxhLmxlbmd0aDtlKyspe2xldCBmPWFbZV07aWYoZiYmdHlwZW9mIGY9PT0ib2JqZWN0IilpZihlPT09Yy0xJiZmIT1udWxsJiZ0eXBlb2YgZj09PSJvYmplY3QiJiYKZi5jb25zdHJ1Y3Rvcj09PU9iamVjdClmb3IobGV0IGcgaW4gZil7aWYoIV8uV2QoZixnKSljb250aW51ZTtsZXQgaD0rZztpZihOdW1iZXIuaXNOYU4oaCkpY29udGludWU7bGV0IGs9ZltnXTtrJiZ0eXBlb2Ygaz09PSJvYmplY3QiJiZyd2IoaCxiLGspfWVsc2UgcndiKGUtZCxiLGYpfX19LHN3Yj1mdW5jdGlvbihhKXt2YXIgYj1hW18uTWdhXTtpZighYil7bGV0IGM9UzYoYSk7Yj1kPT5UNihkLGMpO2FbXy5NZ2FdPWJ9cmV0dXJuIGJ9LHR3Yj1mdW5jdGlvbihhKXthPT1udWxsfHwoMCxfLlphYSkoYSk7aWYoYSE9bnVsbClyZXR1cm4gXy4kYWEoYSl9LFY2PWZ1bmN0aW9uKGEpe3JldHVybiBhIGluIFU2P1U2W2FdWzFdOmF9LFc2PWZ1bmN0aW9uKGEsYil7aWYoIWF8fCFpc0Zpbml0ZShhKXx8Yj09MClyZXR1cm4gYTthPVN0cmluZyhhKS5zcGxpdCgiZSIpO3JldHVybiBwYXJzZUZsb2F0KGFbMF0rImUiKyhwYXJzZUludChhWzFdfHwwLDEwKStiKSl9LHV3Yj1mdW5jdGlvbihhLApiKXtyZXR1cm4gYSYmaXNGaW5pdGUoYSk/VzYoTWF0aC5yb3VuZChXNihhLGIpKSwtYik6YX0sWjY9ZnVuY3Rpb24oYSxiKXt2YXIgYztpZihjPWIpe2E6aWYoYiYmYi5sZW5ndGg9PT0zKXtmb3IoYz0wO2M8MztjKyspe3ZhciBkPWJbY107aWYoZDwiQSJ8fGQ+IloiJiZkPCJhInx8ZD4ieiIpe2M9ITE7YnJlYWsgYX19Yz0hMH1lbHNlIGM9ITE7Yz0hY31pZihjKXRocm93IG5ldyBUeXBlRXJyb3IoIkN1cnJlbmN5IG11c3QgYmUgdmFsaWQgSVNPIGNvZGUiKTt0aGlzLnhoPW51bGw7dGhpcy5iaT10aGlzLndoPXRoaXMuSWg9ITE7dGhpcy5GaD1iP2IudG9VcHBlckNhc2UoKTpudWxsO3RoaXMuQ2g9NDA7dGhpcy5zaD0xO3RoaXMuQWg9MDt0aGlzLnFoPTM7dGhpcy5EaD10aGlzLnJoPTA7dGhpcy5QaD0hMTt0aGlzLk9oPXRoaXMuTWg9IiI7dGhpcy5HaD1YNi5pRzt0aGlzLkpoPSIiO3RoaXMudGg9MTt0aGlzLnloPSExO3RoaXMuemg9W107dGhpcy5MaD10aGlzLldoPSExO3RoaXMuQmg9CjA7dGhpcy5aaD10eXBlb2YgYT09PSJudW1iZXIiP2E6LTE7dGhpcy5TaD10eXBlb2YgYT09PSJzdHJpbmciP2E6IiI7aWYoXy5aZ2EmJnR5cGVvZiBhPT09Im51bWJlciImJmEhPTUmJmEhPTYpdndiKHRoaXMsdGhpcy5aaCk7ZWxzZSBpZih0aGlzLnhoPW51bGwsdHlwZW9mIGE9PT0ibnVtYmVyIilzd2l0Y2goYSl7Y2FzZSAxOlk2KHRoaXMsWDYuY0cpO2JyZWFrO2Nhc2UgMjpZNih0aGlzLFg2LlhLKTticmVhaztjYXNlIDM6WTYodGhpcyxYNi5VSyk7YnJlYWs7Y2FzZSA0OmE9WDYuSUs7Yj1bIjAiXTtpZihjPVU2W3RoaXMuRmh8fFg2Lmh4XSl7Yz1jWzBdJjc7aWYoYz4wKWZvcihiLnB1c2goIi4iKSxkPTA7ZDxjO2QrKyliLnB1c2goIjAiKTthPWEucmVwbGFjZSgvMC4wMC9nLGIuam9pbigiIikpfVk2KHRoaXMsYSk7YnJlYWs7Y2FzZSA1Ond3Yih0aGlzLDEpO2JyZWFrO2Nhc2UgNjp3d2IodGhpcywyKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJVbnN1cHBvcnRlZCBwYXR0ZXJuIHR5cGUuIik7Cn1lbHNlIFk2KHRoaXMsYSl9LFk2PWZ1bmN0aW9uKGEsYil7YS5TaD1iLnJlcGxhY2UoLyAvZywiXHUwMGEwIik7dmFyIGM9WzBdO2EuTWg9JDYoYSxiLGMpO3ZhciBkPWNbMF0sZT0tMSxmPTAsZz0wLGg9MCxrPS0xLG09Yi5sZW5ndGg7Zm9yKGxldCBwPSEwO2NbMF08bSYmcDtjWzBdKyspc3dpdGNoKGIuY2hhckF0KGNbMF0pKXtjYXNlICIjIjpnPjA/aCsrOmYrKztrPj0wJiZlPDAmJmsrKzticmVhaztjYXNlICIwIjppZihoPjApdGhyb3cgRXJyb3IoJ1VuZXhwZWN0ZWQgIjAiIGluIHBhdHRlcm4gIicrYisnIicpO2crKztrPj0wJiZlPDAmJmsrKzticmVhaztjYXNlICIsIjprPjAmJmEuemgucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSAiLiI6aWYoZT49MCl0aHJvdyBFcnJvcignTXVsdGlwbGUgZGVjaW1hbCBzZXBhcmF0b3JzIGluIHBhdHRlcm4gIicrYisnIicpO2U9ZitnK2g7YnJlYWs7Y2FzZSAiRSI6aWYoYS5MaCl0aHJvdyBFcnJvcignTXVsdGlwbGUgZXhwb25lbnRpYWwgc3ltYm9scyBpbiBwYXR0ZXJuICInKwpiKyciJyk7YS5MaD0hMDthLkRoPTA7Y1swXSsxPG0mJmIuY2hhckF0KGNbMF0rMSk9PSIrIiYmKGNbMF0rKyxhLlBoPSEwKTtmb3IoO2NbMF0rMTxtJiZiLmNoYXJBdChjWzBdKzEpPT0iMCI7KWNbMF0rKyxhLkRoKys7aWYoZitnPDF8fGEuRGg8MSl0aHJvdyBFcnJvcignTWFsZm9ybWVkIGV4cG9uZW50aWFsIHBhdHRlcm4gIicrYisnIicpO3A9ITE7YnJlYWs7ZGVmYXVsdDpjWzBdLS0scD0hMX1nPT0wJiZmPjAmJmU+PTAmJihnPWUsZz09MCYmZysrLGg9Zi1nLGY9Zy0xLGc9MSk7aWYoZTwwJiZoPjB8fGU+PTAmJihlPGZ8fGU+ZitnKXx8az09MCl0aHJvdyBFcnJvcignTWFsZm9ybWVkIHBhdHRlcm4gIicrYisnIicpO2g9ZitnK2g7YS5xaD1lPj0wP2gtZTowO2U+PTAmJihhLnJoPWYrZy1lLGEucmg8MCYmKGEucmg9MCkpO2Euc2g9KGU+PTA/ZTpoKS1mO2EuTGgmJihhLkNoPWYrYS5zaCxhLnFoPT0wJiZhLnNoPT0wJiYoYS5zaD0xKSk7YS56aC5wdXNoKE1hdGgubWF4KDAsaykpOwphLldoPWU9PTB8fGU9PWg7ZD1jWzBdLWQ7YS5PaD0kNihhLGIsYyk7Y1swXTxiLmxlbmd0aCYmYi5jaGFyQXQoY1swXSk9PSI7Ij8oY1swXSsrLGEudGghPTEmJihhLnloPSEwKSxhLkdoPSQ2KGEsYixjKSxjWzBdKz1kLGEuSmg9JDYoYSxiLGMpKTooYS5HaCs9YS5NaCxhLkpoKz1hLk9oKX0sd3diPWZ1bmN0aW9uKGEsYil7YS5CaD1iO1k2KGEsWDYuY0cpO2Eud2g9YS53aHx8MCE9YS5yaDthLnJoPTA7YS53aD1hLndofHwyIT1hLnFoO2EucWg9MjtpZihhLnJoPjApdGhyb3cgRXJyb3IoIkNhbid0IGNvbWJpbmUgc2lnbmlmaWNhbnQgZGlnaXRzIGFuZCBtaW5pbXVtIGZyYWN0aW9uIGRpZ2l0cyIpO2EuSWg9MiE9PWEuQWg7YS5BaD0yfSx2d2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz17bm90YXRpb246InN0YW5kYXJkIixtaW5pbXVtSW50ZWdlckRpZ2l0czpNYXRoLm1pbigyMSxNYXRoLm1heCgxLGEuc2gpKX07YS5QaCYmKGMuc2lnbkRpc3BsYXk9ImFsd2F5cyIpO2EuSWg/KGMubWluaW11bVNpZ25pZmljYW50RGlnaXRzPQoxLGMubWF4aW11bVNpZ25pZmljYW50RGlnaXRzPU1hdGgubWF4KDEsTWF0aC5taW4oMjEsYS5BaCkpKTphLndoJiYoYy5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoMCxhLnJoKSxjLm1heGltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1pbigyMCxNYXRoLm1heCgwLGEucWgpKSk7c3dpdGNoKGIpe2Nhc2UgMTpjLnN0eWxlPSJkZWNpbWFsIjticmVhaztjYXNlIDI6Yy5ub3RhdGlvbj0ic2NpZW50aWZpYyI7Yy5tYXhpbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMCxhLkRoKSk7YnJlYWs7Y2FzZSAzOmMuc3R5bGU9InBlcmNlbnQiO2JyZWFrO2Nhc2UgNDpjLnN0eWxlPSJjdXJyZW5jeSI7Yj1hLkZofHxYNi5oeDtjLmN1cnJlbmN5PWI7Yj1iIGluIFU2P1U2W2JdWzBdJTE2OjI7YS53aD8oYy5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoYS5yaCwwKSxjLm1heGltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1pbihhLnFoLDIwKSk6KGMubWluaW11bUZyYWN0aW9uRGlnaXRzPQpNYXRoLm1heCgwLGIpLGMubWF4aW11bUZyYWN0aW9uRGlnaXRzPU1hdGgubWluKGMubWluaW11bUZyYWN0aW9uRGlnaXRzLDIwKSk7c3dpdGNoKDApe2RlZmF1bHQ6Y2FzZSAxOmMuY3VycmVuY3lEaXNwbGF5PSJzeW1ib2wiO2JyZWFrO2Nhc2UgMjpjLmN1cnJlbmN5RGlzcGxheT0iY29kZSI7YnJlYWs7Y2FzZSAwOmMuY3VycmVuY3lEaXNwbGF5PSJzeW1ib2wifWJyZWFrO2Nhc2UgNTphLkJoPTE7Yy5ub3RhdGlvbj0iY29tcGFjdCI7Yy5jb21wYWN0RGlzcGxheT0ic2hvcnQiO2JyZWFrO2Nhc2UgNjphLkJoPTI7Yy5ub3RhdGlvbj0iY29tcGFjdCI7Yy5jb21wYWN0RGlzcGxheT0ibG9uZyI7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgRUNNQVNjcmlwdCBOdW1iZXJGb3JtYXQgY3VzdG9tIHBhdHRlcm4gPSAiK2EuU2gpO310cnl7bGV0IGQ7KGQ9ImVuIi5yZXBsYWNlKCJfIiwiLSIpKSYmZCBpbiB4d2ImJihjLm51bWJlcmluZ1N5c3RlbT14d2JbZF0pO2EueGg9Cm5ldyBJbnRsLk51bWJlckZvcm1hdChkLGMpfWNhdGNoKGQpe3Rocm93IGEueGg9bnVsbCxFcnJvcigiRUNNQVNjcmlwdCBOdW1iZXJGb3JtYXQgZXJyb3I6ICIrZCk7fXl3Yj1hLmJpPWEuSWg9YS53aD0hMX0sYTc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1XNihiLGEucWgpO2EuQWg+MCYmKGM9endiKGMsYS5BaCxhLnFoKSk7Yz1NYXRoLnJvdW5kKGMpO2lmKGlzRmluaXRlKGMpKXt2YXIgZD1NYXRoLmZsb29yKFc2KGMsLWEucWgpKTtjPU1hdGguZmxvb3IoYy1XNihkLGEucWgpKTtpZihjPDB8fGM+PVc2KDEsYS5xaCkpZD1NYXRoLnJvdW5kKGIpLGM9MH1lbHNlIGQ9YixjPTA7cmV0dXJue2xJOmQsUU06Y319LGI3PWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEucmg+YS5xaCl0aHJvdyBFcnJvcigiTWluIHZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG1heCB2YWx1ZSIpO2R8fChkPVtdKTtiPWE3KGEsYik7dmFyIGU9Yi5sSSxmPWIuUU0sZz1hLnJoPjB8fGY+MHx8ITE7Yj1hLnJoO2cmJihiPQphLnJoKTtmb3IodmFyIGg9IiIsaz1lO2s+MUUyMDspaD0iMCIraCxrPU1hdGgucm91bmQoVzYoaywtMSkpO2g9aytoO3ZhciBtPVg2LkpLO2s9WDYuakcuY29kZVBvaW50QXQoMCk7dmFyIHA9aC5sZW5ndGgscT0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1wO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGspKTtpZihhLnpoLmxlbmd0aD49Milmb3IoYz0xO2M8YS56aC5sZW5ndGg7YysrKXErPWEuemhbY107Yz1wLXE7aWYoYz4wKXtlPWEuemg7cT1wPTA7dmFyIHU9WDYuZEcseD1oLmxlbmd0aDtmb3IobGV0IEI9MDtCPHg7QisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChrK051bWJlcihoLmNoYXJBdChCKSkqMSkpLHgtQj4xKXt2YXIgej1lW3FdO2lmKEI8Yyl7bGV0IEs9Yy1COyh6PT09MXx8ej4wJiZLJXo9PT0xKSYmZC5wdXNoKHUpfWVsc2UgcTxlLmxlbmd0aCYmKEI9PT1jP3ErPTE6ej09PUItYy1wKzEmJihkLnB1c2godSkscCs9eixxKz0xKSl9fWVsc2V7Yz0KaDtoPWEuemg7ZT1YNi5kRzt6PWMubGVuZ3RoO3U9W107Zm9yKHA9aC5sZW5ndGgtMTtwPj0wJiZ6PjA7cC0tKXtxPWhbcF07Zm9yKHg9MDt4PHEmJnoteC0xPj0wO3grKyl1LnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoaytOdW1iZXIoYy5jaGFyQXQoei14LTEpKSoxKSk7ei09cTt6PjAmJnUucHVzaChlKX1kLnB1c2guYXBwbHkoZCx1LnJldmVyc2UoKSl9fWVsc2UgZ3x8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGspKTsoYS5XaHx8ZykmJmQucHVzaChtKTtmPVN0cmluZyhmKTtnPWYuc3BsaXQoImUrIik7Zy5sZW5ndGg9PTImJihmPVN0cmluZyh6d2IocGFyc2VGbG9hdChnWzBdKSxhLkFoLDEpKSxmPWYucmVwbGFjZSgiLiIsIiIpLGYrPSIwIi5yZXBlYXQocGFyc2VJbnQoZ1sxXSwxMCktZi5sZW5ndGgrMSkpO2EucWgrMT5mLmxlbmd0aCYmKGY9IjEiKyIwIi5yZXBlYXQoYS5xaC1mLmxlbmd0aCkrZik7Zm9yKGE9Zi5sZW5ndGg7Zi5jaGFyQXQoYS0xKT09IjAiJiZhPgpiKzE7KWEtLTtmb3IoYj0xO2I8YTtiKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGsrTnVtYmVyKGYuY2hhckF0KGIpKSoxKSl9LEF3Yj1mdW5jdGlvbihhLGIsYyl7Yy5wdXNoKFg2LktLKTtiPDA/KGI9LWIsYy5wdXNoKFg2LmlHKSk6YS5QaCYmYy5wdXNoKFg2LldLKTtiPSIiK2I7dmFyIGQ9WDYuakc7Zm9yKGxldCBlPWIubGVuZ3RoO2U8YS5EaDtlKyspYy5wdXNoKGQpO2E9ZC5jb2RlUG9pbnRBdCgwKS1fLiRnYTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChhK2IuY29kZVBvaW50QXQoZCkpKX0sJDY9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0iIixlPSExLGY9Yi5sZW5ndGg7Y1swXTxmO2NbMF0rKyl7bGV0IGc9Yi5jaGFyQXQoY1swXSk7aWYoZz09IiciKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iJyI/KGNbMF0rKyxkKz0iJyIpOmU9IWU7ZWxzZSBpZihlKWQrPWc7ZWxzZSBzd2l0Y2goZyl7Y2FzZSAiIyI6Y2FzZSAiMCI6Y2FzZSAiLCI6Y2FzZSAiLiI6Y2FzZSAiOyI6cmV0dXJuIGQ7CmNhc2UgIlx1MDBhNCI6Y1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PSJcdTAwYTQiPyhjWzBdKyssZCs9YS5GaHx8WDYuaHgpOmQrPVY2KGEuRmh8fFg2Lmh4KTticmVhaztjYXNlICIlIjppZighYS55aCYmYS50aCE9MSl0aHJvdyBFcnJvcigiVG9vIG1hbnkgcGVyY2VudC9wZXJtaWxsIik7aWYoYS55aCYmYS50aCE9MTAwKXRocm93IEVycm9yKCJJbmNvbnNpc3RlbnQgdXNlIG9mIHBlcmNlbnQvcGVybWlsbCBjaGFyYWN0ZXJzIik7YS50aD0xMDA7YS55aD0hMTtkKz1YNi5USzticmVhaztjYXNlICJcdTIwMzAiOmlmKCFhLnloJiZhLnRoIT0xKXRocm93IEVycm9yKCJUb28gbWFueSBwZXJjZW50L3Blcm1pbGwiKTtpZihhLnloJiZhLnRoIT0xRTMpdGhyb3cgRXJyb3IoIkluY29uc2lzdGVudCB1c2Ugb2YgcGVyY2VudC9wZXJtaWxsIGNoYXJhY3RlcnMiKTthLnRoPTFFMzthLnloPSExO2QrPVg2LlZLO2JyZWFrO2RlZmF1bHQ6ZCs9Z319cmV0dXJuIGR9LEJ3Yj1mdW5jdGlvbihhLApiKXthPWEuQmg9PTE/YzcuYkc6YzcuSEs7YT09bnVsbCYmKGE9YzcuYkcpO2lmKGI8MylyZXR1cm4gZDc7Yj1NYXRoLm1pbigxNCxiKTt2YXIgYz1hW1c2KDEsYildO2ZvcigtLWI7IWMmJmI+PTM7KWM9YVtXNigxLGIpXSxiLS07aWYoIWMpcmV0dXJuIGQ3O2M9Yy5vdGhlcjt2YXIgZD1hPSIiLGU9Yy5pbmRleE9mKCI7Iik7ZT49MCYmKGM9Yy5zdWJzdHJpbmcoMCxlKSxlPWMuc3Vic3RyaW5nKGUrMSkpJiYoZD0vKFteMF0qKSgwKykoLiopLy5leGVjKGUpLGE9ZFsxXSxkPWRbM10pO3JldHVybiBjJiZjIT0iMCI/KGM9LyhbXjBdKikoMCspKC4qKS8uZXhlYyhjKSk/e2NEOmIrMS0oY1syXS5sZW5ndGgtMSksc0U6YSx0RTpkLHByZWZpeDpjWzFdLHN1ZmZpeDpjWzNdfTpkNzpkN30sZTc9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn0sendiPWZ1bmN0aW9uKGEsYixjKXtpZighYSlyZXR1cm4gYTsKYj1iLWU3KGEpLTE7cmV0dXJuIGI8LWM/dXdiKGEsLWMpOnV3YihhLGIpfSxmNz1mdW5jdGlvbihhKXt0aGlzLnNoPWE7dGhpcy5yaD10aGlzLnFoPXRoaXMud2g9bnVsbDthPVg2O3ZhciBiPWM3O2lmKEN3YiE9PWF8fER3YiE9PWIpQ3diPWEsRHdiPWIsRXdiPW5ldyBaNigxKTt0aGlzLnhoPUV3Yn0sZzc9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IobGV0IHE9MDtxPGIubGVuZ3RoO3ErKyl7dmFyIGY9dm9pZCAwO3N3aXRjaChiW3FdLnR5cGUpe2Nhc2UgNDplLnB1c2goYltxXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmY9YltxXS52YWx1ZTt2YXIgZz1hLGg9ZSxrPWNbZl07az09PXZvaWQgMD9oLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK2YpOihnLnFoLnB1c2goayksaC5wdXNoKGcudGgoZy5xaCkpKTticmVhaztjYXNlIDI6Zj1iW3FdLnZhbHVlO2c9YTtoPWM7az1kO3ZhciBtPWUscD1mLmZBO2hbcF09PT12b2lkIDA/bS5wdXNoKCJVbmRlZmluZWQgcGFyYW1ldGVyIC0gIisKcCk6KHA9ZltoW3BdXSxwPT09dm9pZCAwJiYocD1mLm90aGVyKSxnNyhnLHAsaCxrLG0pKTticmVhaztjYXNlIDA6Zj1iW3FdLnZhbHVlO0Z3YihhLGYsYyxfLmRoYSxkLGUpO2JyZWFrO2Nhc2UgMTpmPWJbcV0udmFsdWUsRndiKGEsZixjLF8uYmhhLGQsZSl9fX0sRndiPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1iLmZBLGg9Yi53RyxrPStjW2ddO2lzTmFOKGspP2YucHVzaCgiVW5kZWZpbmVkIG9yIGludmFsaWQgcGFyYW1ldGVyIC0gIitnKTooaD1rLWgsZz1iW2NbZ11dLGc9PT12b2lkIDAmJihkPWQoTWF0aC5hYnMoaCkpLGc9YltkXSxnPT09dm9pZCAwJiYoZz1iLm90aGVyKSksYj1bXSxnNyhhLGcsYyxlLGIpLGM9Yi5qb2luKCIiKSxlP2YucHVzaChjKTooYT1hLnhoLmZvcm1hdChoKSxmLnB1c2goYy5yZXBsYWNlKC8jL2csYSkpKSl9LEd3Yj1mdW5jdGlvbihhLGIpe3ZhciBjPWEud2gsZD0oMCxfLmliKShhLnRoLGEpO2I9Yi5yZXBsYWNlKF8uZmhhLGZ1bmN0aW9uKCl7Yy5wdXNoKCInIik7CnJldHVybiBkKGMpfSk7cmV0dXJuIGI9Yi5yZXBsYWNlKF8uZWhhLGZ1bmN0aW9uKGUsZil7Yy5wdXNoKGYpO3JldHVybiBkKGMpfSl9LGg3PWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1bXSxkPVtdLGU9L1t7fV0vZztlLmxhc3RJbmRleD0wO2Zvcih2YXIgZjtmPWUuZXhlYyhhKTspe2xldCBnPWYuaW5kZXg7ZlswXT09In0iPyhjLnBvcCgpLGMubGVuZ3RoPT0wJiYoZj17dHlwZToxfSxmLnZhbHVlPWEuc3Vic3RyaW5nKGIsZyksZC5wdXNoKGYpLGI9ZysxKSk6KGMubGVuZ3RoPT0wJiYoYj1hLnN1YnN0cmluZyhiLGcpLGIhPSIiJiZkLnB1c2goe3R5cGU6MCx2YWx1ZTpifSksYj1nKzEpLGMucHVzaCgieyIpKX1hPWEuc3Vic3RyaW5nKGIpO2EhPSIiJiZkLnB1c2goe3R5cGU6MCx2YWx1ZTphfSk7cmV0dXJuIGR9LGk3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Yj1oNyhiKTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9e307aWYoMD09YltlXS50eXBlKWYudHlwZT00LApmLnZhbHVlPWJbZV0udmFsdWU7ZWxzZSBpZigxPT1iW2VdLnR5cGUpe3ZhciBkPWJbZV0udmFsdWU7c3dpdGNoKEh3Yi50ZXN0KGQpPzA6SXdiLnRlc3QoZCk/MTpKd2IudGVzdChkKT8yOi9eXHMqXHcrXHMqLy50ZXN0KGQpPzM6NSl7Y2FzZSAyOmYudHlwZT0yO2YudmFsdWU9S3diKGEsYltlXS52YWx1ZSk7YnJlYWs7Y2FzZSAwOmYudHlwZT0wO2YudmFsdWU9THdiKGEsYltlXS52YWx1ZSk7YnJlYWs7Y2FzZSAxOmYudHlwZT0xO2YudmFsdWU9TXdiKGEsYltlXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmYudHlwZT0zLGYudmFsdWU9YltlXS52YWx1ZX19Yy5wdXNoKGYpfXJldHVybiBjfSxLd2I9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtiPWIucmVwbGFjZShKd2IsZnVuY3Rpb24oZixnKXtjPWc7cmV0dXJuIiJ9KTt2YXIgZD17fTtkLmZBPWM7Yj1oNyhiKTtmb3IodmFyIGU9MDtlPGIubGVuZ3RoOyl7bGV0IGY9YltlXS52YWx1ZTtlKys7bGV0IGc7MT09YltlXS50eXBlJiYoZz1pNyhhLApiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzL2csIiIpXT1nO2UrK31yZXR1cm4gZH0sTHdiPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiIsZD0wO2I9Yi5yZXBsYWNlKEh3YixmdW5jdGlvbihnLGgsayl7Yz1oO2smJihkPXBhcnNlSW50KGssMTApKTtyZXR1cm4iIn0pO3ZhciBlPXt9O2UuZkE9YztlLndHPWQ7Yj1oNyhiKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoOyl7bGV0IGc9YltmXS52YWx1ZTtmKys7bGV0IGg7MT09YltmXS50eXBlJiYoaD1pNyhhLGJbZl0udmFsdWUpKTtlW2cucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1oO2YrK31yZXR1cm4gZX0sTXdiPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Yj1iLnJlcGxhY2UoSXdiLGZ1bmN0aW9uKGYsZyl7Yz1nO3JldHVybiIifSk7dmFyIGQ9e307ZC5mQT1jO2Qud0c9MDtiPWg3KGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgZzsxPT1iW2VdLnR5cGUmJihnPWk3KGEsCmJbZV0udmFsdWUpKTtkW2YucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1nO2UrK31yZXR1cm4gZH0sajc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4obmV3IGY3KGEpKS5mb3JtYXQoYil9LE53Yj1mdW5jdGlvbihhLGIsYyxkKXthPWEuZmlsdGVyKGU9PmUuZ2V0QXR0cmlidXRlKCJzbG90Iik9PT1iKTthLmxlbmd0aD4xJiZkKGBZb3UgbWF5IHNwZWNpZnkgYSBtYXhpbXVtIG9mIG9uZSBlbGVtZW50IGZvciB0aGUgJHtifSBzbG90LmApO2MuYXNzaWduKC4uLmEuc2xpY2UoMCwxKSl9LE93Yj1mdW5jdGlvbihhKXtfLm5kYShhKTtyZXR1cm57YWs6Yj0+Yj09PW51bGw/bnVsbDpiLnRyaW0oKS5zcGxpdCgvXHMrLykubWFwKGM9Pl8ubGRhKGMsYSkpLmZpbHRlcihjPT5jIT09bnVsbCl8fG51bGwsTGo6Yj0+Yj09PW51bGw/bnVsbDpiLm1hcChjPT5fLm1kYShhLGMpKS5qb2luKCIgIil9fSxrNz1mdW5jdGlvbihhKXtyZXR1cm4oYixjKT0+Xy5hZmEoYixjLHtnZXQoKXtyZXR1cm4odGhpcy5Qaz8/ClB3Yj8/KFB3Yj1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpKS5xdWVyeVNlbGVjdG9yQWxsKGEpfX0pfSxRd2I9YXN5bmMgZnVuY3Rpb24oYSxiKXthLnJofHwoYj1iKGF3YWl0IF8uSGwoInV0aWwiKSksYS5yaD1hLnFoPT09NXx8YS5xaD09PTl8fGEucWg9PT0xMD9uZXcgYi5lTDpuZXcgYi5kTCk7cmV0dXJuIGEucmh9LGw3PWZ1bmN0aW9uKGEpe2E9Xy5HbShiPT57Yj0oMCxfLmNyKShiKTtpZihiLmluY2x1ZGVzKCIvIikpdGhyb3cgXy5BbSgnRmllbGQgd2l0aCAiLyIgc3BlY2lmaWVkOiAnK2IpO2I9Yi5yZXBsYWNlKC9cLi9nLCIvIik7Yj09PSJ1dGNfb2Zmc2V0X21pbnV0ZXMiP2I9InV0Y19vZmZzZXQiOmI9PT0idXRjX29mZnNldCImJl8ucm0oInV0Y19vZmZzZXQgaXMgZGVwcmVjYXRlZCBhcyBvZiBOb3ZlbWJlciAyMDE5LiBVc2UgdXRjX29mZnNldF9taW51dGVzIGluc3RlYWQuIFNlZSBodHRwczovL2dvby5nbGUvanMtb3Blbi1ub3ciKTtiPT09Im9wZW5pbmdfaG91cnMvb3Blbl9ub3ciJiYKXy5ybSgib3BlbmluZ19ob3Vycy5vcGVuX25vdyBpcyBkZXByZWNhdGVkIGFzIG9mIE5vdmVtYmVyIDIwMTkuIFVzZSB0aGUgaXNPcGVuKCkgbWV0aG9kIGZyb20gYSBQbGFjZXNTZXJ2aWNlLmdldERldGFpbHMoKSByZXN1bHQgaW5zdGVhZC4gU2VlIGh0dHBzOi8vZ29vLmdsZS9qcy1vcGVuLW5vdy4iKTtiPT09InBlcm1hbmVudGx5X2Nsb3NlZCImJl8ucm0oInBlcm1hbmVudGx5X2Nsb3NlZCBpcyBkZXByZWNhdGVkIGFzIG9mIE1heSAyMDIwIGFuZCB3aWxsIGJldHVybmVkIG9mZiBpbiBNYXkgMjAyMS4gVXNlIGJ1c2luZXNzX3N0YXR1cyBpbnN0ZWFkLiIpO3JldHVybiBifSkoYSk7aWYoIWEubGVuZ3RoKXRocm93IF8uQW0oIkF0IGxlYXN0IG9uZSBmaWVsZCBtdXN0IGJlIHNwZWNpZmllZC4iKTtyZXR1cm4gYX0sbTc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTW0oXy5HbShfLmNyKSkoYSl9LFN3Yj1mdW5jdGlvbihhLGIpe3JldHVybiBfLkZnKGEsXy5EciwyLFJ3YixiKX0sVHdiPQpmdW5jdGlvbihhLGIsYyl7Yz1jfHx7fTtjLmZvcm1hdD0ianNwYiI7dGhpcy5xaD1uZXcgXy5ScihjKTt0aGlzLnJoPWE9PXZvaWQgMD9hOmEucmVwbGFjZSgvXC8rJC8sIiIpfSxWd2I9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnFoLnFoKGEucmgrIi8kcnBjL2dvb2dsZS5tYXBzLmdlb2NvZGUudjQuR2VvY29kZVNlcnZpY2UvR2VvY29kZUxvY2F0aW9uIixiLGN8fHt9LFV3Yil9LFd3Yj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHksYj13aW5kb3c7bjc9PT1udWxsJiYobjc9ITEsYS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsKCk9PntuNz0hMH0sITApLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bjc9ITF9LCEwKSk7bzc9PT1udWxsJiYobzc9ITEsYi5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e283PSEwfSwhMCksYi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntvNz0hMX0sITApKX0scjc9ZnVuY3Rpb24oYSl7YS5TaCYmKGEuU2g9CiExLHA3KGEpLHE3KGEpKX0scTc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5VbyYmYS5TaD8wOjE7Yj09PTAmJmEuemkhPT0wPyhhLnJoLmFwcGVuZChhLkRoKSxhLnJoLnNob3dNb2RhbCgpLGEucWguZm9jdXMoKSxhLnppPTApOmI9PT0xJiZhLnppIT09MSYmKGEucmguY2xvc2UoKSxhLlBrPy5hcHBlbmQoYS5EaCksczcoYSksYS56aT0xKX0sWHdiPWZ1bmN0aW9uKGEsYj1hLnRoKXtiIT09LTEmJih0NyhhLC0xKSxhLnFoLnZhbHVlPWEucHJlZGljdGlvbnNbYl0udGV4dC50ZXh0LGEuQ2guc2V0Rm9ybVZhbHVlKGEucWgudmFsdWUpLGEud3IoYS5wcmVkaWN0aW9uc1tiXSkscjcoYSksYS5xaC5mb2N1cygpKX0sdDc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlBoW2EudGhdO2MmJihjLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIpLGMuc2V0QXR0cmlidXRlKCJwYXJ0IiwicHJlZGljdGlvbi1pdGVtIiksYS5xaC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsIiIpKTsKYS50aD09PS0xJiYoYS5idT1hLnFoLnZhbHVlKTthLnRoPWI7aWYoYz1hLlBoW2JdKWMuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwidHJ1ZSIpLGMuc2V0QXR0cmlidXRlKCJwYXJ0IiwicHJlZGljdGlvbi1pdGVtIHByZWRpY3Rpb24taXRlbS1zZWxlY3RlZCIpLGEucWguc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLGMuaWQpLGMuYXBwZW5kQ2hpbGQoYS5GaCk7YS50aD09PS0xPyhhLnFoLnZhbHVlPWEuYnUsYS5kaS5hcHBlbmRDaGlsZChhLkZoKSk6YS5xaC52YWx1ZT1hLnByZWRpY3Rpb25zW2JdLnRleHQudGV4dH0sWXdiPWZ1bmN0aW9uKGEpe2EuQmguY2xhc3NMaXN0LmFkZCgiYmFjay1idXR0b24iKTthLkJoLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIkV4aXQgZnVsbHNjcmVlbiBzZWFyY2giKTthLkJoLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJFeGl0IGZ1bGxzY3JlZW4gc2VhcmNoIik7Xy5YcyhfLnNqYSgpLGEuQmgpO2EuQmguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLAooKT0+e3I3KGEpfSl9LCR3Yj1mdW5jdGlvbihhKXthLndoLmNsYXNzTGlzdC5hZGQoImNsZWFyLWJ1dHRvbiIpO2Eud2guc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiQ2xlYXIgaW5wdXQiKTthLndoLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJDbGVhciBpbnB1dCIpO3U3KGEpO2Eud2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57cDcoYSk7WndiKGEpfSk7Xy5YcygoMCxfLldxKWA8c3ZnIHdpZHRoPSIyMSIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDIxIDIwIj48cGF0aCBmaWxsPSIjMWYxZjFmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMC44IDBhMTAgMTAgMCAxMDAgMjAgMTAgMTAgMCAxMDAtMjBtMi41OSA2TDEwLjggOC41OSA4LjIxIDYgNi44IDcuNDEgOS4zOSAxMCA2LjggMTIuNTkgOC4yMSAxNGwyLjU5LTIuNTlMMTMuMzkgMTRsMS40MS0xLjQxTDEyLjIxIDEwbDIuNTktMi41OXpNMi44IDEwYTguMDEgOC4wMSAwIDAwMTYgMCA4LjAxIDguMDEgMCAwMC0xNiAwIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz5gLAphLm5pKTthLndoLmFwcGVuZENoaWxkKGEubmkpfSxieGI9ZnVuY3Rpb24oYSl7YS5xaC5zZXRBdHRyaWJ1dGUoInBhcnQiLCJpbnB1dCIpO2EucWguc2V0QXR0cmlidXRlKCJhcmlhLWF1dG9jb21wbGV0ZSIsImxpc3QiKTthLnFoLnNldEF0dHJpYnV0ZSgiYXV0b2NvbXBsZXRlIiwib2ZmIik7YS5xaC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJjb21ib2JveCIpO2EucWguc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKTthLnFoLnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsImxpc3Rib3giKTthLnFoLmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpfHxhLnFoLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIlNlYXJjaCBGb3IgYSBQbGFjZSIpO2EucWguYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT57YS5xaC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpO3U3KGEpO2EuU2g9ITA7YXhiKGEsYS5xaC52YWx1ZSk7cTcoYSk7YS5DaC5zZXRGb3JtVmFsdWUoYS5xaC52YWx1ZSl9KTsKYS5xaC5hZGRFdmVudExpc3RlbmVyKCJibHVyIixiPT57Yi5yZWxhdGVkVGFyZ2V0fHxuN3x8bzc/Yi5yZWxhdGVkVGFyZ2V0JiYhYS5Qaz8uY29udGFpbnMoYi5yZWxhdGVkVGFyZ2V0KSYmcjcoYSk6KGEuVW8mJmEucmguZm9jdXMoKSxzNyhhKSl9KTthLnFoLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGEuYkwpfSxjeGI9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKTtiLmNsYXNzTGlzdC5hZGQoImF0dHJpYnV0aW9ucyIpO18uWHMoKDAsXy5XcSlgPGdtcC1pbnRlcm5hbC1hdHRyaWJ1dGlvbj48L2dtcC1pbnRlcm5hbC1hdHRyaWJ1dGlvbj5gLGIpO2EueGguY2xhc3NMaXN0LmFkZCgiZHJvcGRvd24iKTthLnhoLmFwcGVuZChhLnNoLGIpO2EueGguc3R5bGUuZGlzcGxheT0ibm9uZSI7YS54aC5zZXRBdHRyaWJ1dGUoInBhcnQiLCJwcmVkaWN0aW9uLWxpc3QiKX0sZHhiPQpmdW5jdGlvbihhKXthLnJoLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIlNlYXJjaCBGb3IgYSBQbGFjZSIpO2EucmgudGFiSW5kZXg9LTE7YS5yaC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntzNyhhKX0pfSxleGI9ZnVuY3Rpb24oYSxiKXtOd2IoYiwiaW5wdXQtaWNvbiIsYS5aaSxjPT57dGhyb3cgXy5BbShfLmhwKGEsYykpO30pO053YihiLCJjbGVhci1pY29uIixhLm5pLGM9Pnt0aHJvdyBfLkFtKF8uaHAoYSxjKSk7fSl9LHU3PWZ1bmN0aW9uKGEpe2Eud2guc3R5bGUudmlzaWJpbGl0eT1hLnFoLnZhbHVlPy5sZW5ndGg+MD8idmlzaWJsZSI6ImhpZGRlbiJ9LHM3PWZ1bmN0aW9uKGEpe2EuV2khPT1udWxsJiZjbGVhclRpbWVvdXQoYS5XaSk7YS5XaT1zZXRUaW1lb3V0KCgpPT57YS5xaC5mb2N1cygpO2EuV2k9bnVsbH0sMCl9LHA3PWZ1bmN0aW9uKGEpe2Euc2gudGV4dENvbnRlbnQ9IiI7YS5xaC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtY29udHJvbHMiKTthLnFoLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iik7CmEucWguc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKTthLnhoLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxad2I9ZnVuY3Rpb24oYSl7YS5xaC52YWx1ZT0iIjthLkNoLnNldEZvcm1WYWx1ZSgiIik7dTcoYSk7czcoYSl9LGZ4Yj1mdW5jdGlvbihhKXthLlNoJiZhLlBoLmxlbmd0aCYmKGEucWguc2V0QXR0cmlidXRlKCJhcmlhLWNvbnRyb2xzIixhLnNoLmlkKSxhLnNoLnN0eWxlLmRpc3BsYXk9ImlubGluZSIsYS5QaC5mb3JFYWNoKGEuc2guYXBwZW5kQ2hpbGQsYS5zaCksYS5xaC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIiksYS54aC5zdHlsZS5kaXNwbGF5PSJmbGV4Iil9LGh4Yj1mdW5jdGlvbihhLGIpe3A3KGEpO2EudGg9LTE7YS5wcmVkaWN0aW9ucz1iO2EuUGg9YS5wcmVkaWN0aW9ucy5tYXAoKGMsZCk9Pnt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpO2Uuc2V0QXR0cmlidXRlKCJwYXJ0IiwicHJlZGljdGlvbi1pdGVtIik7CmUuc2V0QXR0cmlidXRlKCJyb2xlIiwib3B0aW9uIik7ZS5pZD1fLktuKCk7ZS5hcHBlbmRDaGlsZChneGIoYSxjKSk7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntYd2IoYSxkKX0pO3JldHVybiBlfSk7ZnhiKGEpfSxpeGI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgU2V0O3JldHVybiBhLmZpbHRlcihkPT57ZD1kLmNvbnN0cnVjdG9yO2lmKGImJmIuaGFzKGQpKXJldHVybiEwO2lmKGMuaGFzKGQpKXJldHVybiExO2MuYWRkKGQpO3JldHVybiEwfSl9LGp4Yj1mdW5jdGlvbihhKXtyZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQoXy5KbD8ucmgoKS5yaCgpfHx2b2lkIDAse21heGltdW1GcmFjdGlvbkRpZ2l0czoxLG1pbmltdW1GcmFjdGlvbkRpZ2l0czoxfSkuZm9ybWF0KGEpfSxreGI9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDoxMH0pLmZpbGwoImVtcHR5IikuZmlsbCgiZmlsbGVkIiwwLE1hdGgucm91bmQoYSoyKSl9LGx4Yj1mdW5jdGlvbihhKXt2YXIgYj0KIlJhdGVkICIranhiKGEpKyIgb3V0IG9mIDUiO3JldHVybigwLF8uV3EpYAogICAgPGRpdiBjbGFzcz0iaWNvbnMiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0ke2J9PgogICAgICAke18uWmZhKGt4YihhKSwoYyxkKT0+KDAsXy5XcSlgCiAgICAgICAgICA8c3ZnCiAgICAgICAgICAgIGNsYXNzPSJzdGFyLSR7Y30gaGFsZi1zdGFyLSR7ZCUyJiZkIT09MD8icmlnaHQiOiJsZWZ0In0iCiAgICAgICAgICAgIHZpZXdCb3g9JHtkJTI/IjYgMCA2IDEyIjoiMCAwIDYgMTIifQogICAgICAgICAgICB2ZXJzaW9uPSIxIgogICAgICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICA8cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9JHsiTTYuMDAwMDIgOS4yMzY1MkwyLjkxOTA4IDExLjQ3ODdDMi43ODk0NiAxMS41NzMgMi42MjI0NiAxMS41OTk1IDIuNDcwMDMgMTEuNTQ5OUMyLjIwNzQ2IDExLjQ2NDMgMi4wNjM5MyAxMS4xODIyIDIuMTQ5NDUgMTAuOTE5NkwzLjMyODM1IDcuMjk5ODVMMC4yNzUxNzIgNS4xMjcyNEMwLjE0MzM0OSA1LjAzMzQzIDAuMDY1MDYzNSA0Ljg4MTY0IDAuMDY1MDYzNSA0LjcxOTg1QzAuMDY1MDYzNSA0LjQ0MzcxIDAuMjg4OTIxIDQuMjE5ODUgMC41NjUwNjMgNC4yMTk4NUg0LjMwODM1TDUuNTI0MTIgMC40NDY3OTRDNS41NzM0NyAwLjI5MzYzNSA1LjY5MzUxIDAuMTczNTg4IDUuODQ2NjcgMC4xMjQyMzdDNi4xMDk1MSAwLjAzOTU0NTYgNi4zOTEyMyAwLjE4Mzk1OSA2LjQ3NTkyIDAuNDQ2Nzk0TDcuNjkxNjkgNC4yMTk4NUgxMS40MzVDMTEuNTk2OCA0LjIxOTg1IDExLjc0ODYgNC4yOTgxNCAxMS44NDI0IDQuNDI5OTZDMTIuMDAyNSA0LjY1NDk1IDExLjk0OTkgNC45NjcxMyAxMS43MjQ5IDUuMTI3MjRMOC42NzE2OSA3LjI5OTg1TDkuODUwNiAxMC45MTk2QzkuOTAwMjQgMTEuMDcyIDkuODczNzggMTEuMjM5IDkuNzc5NDUgMTEuMzY4N0M5LjYxNjk2IDExLjU5MTkgOS4zMDQyMyAxMS42NDEyIDkuMDgwOTYgMTEuNDc4N0w2LjAwMDAyIDkuMjM2NTJaIn0gLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIGApfQogICAgPC9kaXY+CiAgYH0sdjc9ZnVuY3Rpb24oKXt0aGlzLnFoPW51bGw7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaD1uZXcgbXhifSk7Y29uc29sZS53YXJuKCJBcyBvZiBNYXJjaCAxc3QsIDIwMjUsIGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlIGlzIG5vdCBhdmFpbGFibGUgdG8gbmV3IGN1c3RvbWVycy4gUGxlYXNlIHVzZSBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU3VnZ2VzdGlvbiBpbnN0ZWFkLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlIGlzIG5vdCBzY2hlZHVsZWQgdG8gYmUgZGlzY29udGludWVkLCBidXQgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVN1Z2dlc3Rpb24gaXMgcmVjb21tZW5kZWQgb3ZlciBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlU2VydmljZS4gV2hpbGUgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZVNlcnZpY2Ugd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGJ1ZyBmaXhlcyBmb3IgYW55IG1ham9yIHJlZ3Jlc3Npb25zLCBleGlzdGluZyBidWdzIGluIGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGVTZXJ2aWNlIHdpbGwgbm90IGJlIGFkZHJlc3NlZC4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2xlZ2FjeSBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9wbGFjZXMtbWlncmF0aW9uLW92ZXJ2aWV3IGZvciB0aGUgbWlncmF0aW9uIGd1aWRlLiIpfSwKdzc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0yfHxhPT09M30seDc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFiKXJldHVybiBfLlNzO2E9KDAsXy5XcSlgCiAgICAke2F9CiAgICA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+JHtifTwvc3Bhbj4KICBgO2Y9Zj9mLmpvaW4oIiAiKToiIjtyZXR1cm4gZD8oMCxfLldxKWA8YQogICAgICAgIGNsYXNzPSJjb250YWN0cy1yb3cgJHtmfSIKICAgICAgICAuaHJlZj0ke2R9CiAgICAgICAgLnRhcmdldD0ke2U/Il9zZWxmIjoiX2JsYW5rIn0KICAgICAgICAuYXJpYUxhYmVsPSR7ZT9jKGIpOl8uUXEoYyhiKSl9PgogICAgICAgICR7YX0KICAgICAgPC9hPmA6KDAsXy5XcSlgPGRpdiBjbGFzcz0iY29udGFjdHMtcm93ICR7Zn0iPgogICAgICAgICR7YX0KICAgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+JHtjKGIpfTwvc3Bhbj4KICAgICAgPC9kaXY+YH0sbnhiPWZ1bmN0aW9uKGEpe3JldHVybiJBZGRyZXNzOiAiK2F9LHF4Yj1mdW5jdGlvbihhKXthPW94YihhKS5mbGF0TWFwKCh7aGVhZGluZzpiLGZlYXR1cmVzOmN9KT0+Yy5sZW5ndGg/KDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+JHtifTwvZGl2PgogICAgICAgIDx1bD4KICAgICAgICAgICR7Yy5tYXAocHhiKX0KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgIGA6W10pO3JldHVybiBhLmxlbmd0aD8oMCxfLldxKWAKICAgICAgICA8c2VjdGlvbiBjbGFzcz0iZmVhdHVyZXMiIGFyaWEtbGFiZWw9IiR7IkZlYXR1cmVzIn0iPgogICAgICAgICAgJHtfLlZxKGEsKDAsXy5XcSlgPGhyIC8+YCl9CiAgICAgICAgPC9zZWN0aW9uPgogICAgICBgOm51bGx9LHB4Yj1mdW5jdGlvbihhKXt2YXIgYj1jPT5qNyhhLHtWQVJJQU5UOmMsQVZBSUxBQklMSVRZX0lORElDQVRPUjoiIn0pO3JldHVybigwLF8uV3EpYAogICAgPGxpPgogICAgICA8ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAkeygwLF8uV3EpYDxzdmcgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTM4Mi0yNDAgMTU0LTQ2OGw1Ny01NyAxNzEgMTcxIDM2Ny0zNjcgNTcgNTd6Ii8+PC9zdmc+YH0KICAgICAgICA8c3Bhbj4ke2IoInNob3J0Iil9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPHNwYW4gY2xhc3M9InNyLW9ubHkiPiR7Yigic3RhbmRhbG9uZSIpfTwvc3Bhbj4KICAgIDwvbGk+CiAgYH0sb3hiPWZ1bmN0aW9uKGEpe3ZhciBiPWEuYWNjZXNzaWJpbGl0eU9wdGlvbnMsYz1hLnBheW1lbnRPcHRpb25zLGQ9YS5wYXJraW5nT3B0aW9ucyxlPVtdO2UucHVzaCh7aGVhZGluZzoiU2VydmljZSBvcHRpb25zIixmZWF0dXJlczpbYS5oYXNEaW5lSW4mJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEaW5lIGlufSAgc3RhbmRhbG9uZSB7U2VydmVzIGRpbmUtaW59ICBvdGhlciB7fX0iLGEuaGFzT3V0ZG9vclNlYXRpbmcmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBPdXRkb29yIHNlYXRpbmd9ICBzdGFuZGFsb25lIHtIYXMgb3V0ZG9vciBzZWF0aW5nfSAgb3RoZXIge319IixhLmlzUmVzZXJ2YWJsZSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFRha2VzIHJlc2VydmF0aW9uc30gIHN0YW5kYWxvbmUge1Rha2VzIHJlc2VydmF0aW9uc30gIG90aGVyIHt9fSIsCmEuaGFzVGFrZW91dCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFRha2VvdXR9ICBzdGFuZGFsb25lIHtPZmZlcnMgdGFrZW91dH0gIG90aGVyIHt9fSIsYS5oYXNEZWxpdmVyeSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IERlbGl2ZXJ5fSAgc3RhbmRhbG9uZSB7T2ZmZXJzIGRlbGl2ZXJ5fSAgb3RoZXIge319IixhLmhhc0N1cmJzaWRlUGlja3VwJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gQ3VyYnNpZGUgcGlja3VwfSAgc3RhbmRhbG9uZSB7T2ZmZXJzIGN1cmJzaWRlIHBpY2t1cH0gIG90aGVyIHt9fSJdLmZpbHRlcihfLm1tKX0pO2UucHVzaCh7aGVhZGluZzoiUG9wdWxhciBmb3IiLGZlYXR1cmVzOlthLnNlcnZlc0JyZWFrZmFzdCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEJyZWFrZmFzdH0gIHN0YW5kYWxvbmUge1NlcnZlcyBicmVha2Zhc3R9ICBvdGhlciB7fX0iLAphLnNlcnZlc0x1bmNoJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gTHVuY2h9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgbHVuY2h9ICBvdGhlciB7fX0iLGEuc2VydmVzQnJ1bmNoJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gQnJ1bmNofSAgc3RhbmRhbG9uZSB7U2VydmVzIGJydW5jaH0gIG90aGVyIHt9fSIsYS5zZXJ2ZXNEaW5uZXImJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEaW5uZXJ9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgZGlubmVyfSAgb3RoZXIge319IixhLnNlcnZlc0Rlc3NlcnQmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEZXNzZXJ0fSAgc3RhbmRhbG9uZSB7U2VydmVzIGRlc3NlcnR9ICBvdGhlciB7fX0iXS5maWx0ZXIoXy5tbSl9KTtlLnB1c2goe2hlYWRpbmc6IkFjY2Vzc2liaWxpdHkiLApmZWF0dXJlczpbYj8uaGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFdoZWVsY2hhaXIgYWNjZXNzaWJsZSBlbnRyYW5jZX0gIHN0YW5kYWxvbmUge0hhcyB3aGVlbGNoYWlyIGFjY2Vzc2libGUgZW50cmFuY2V9ICBvdGhlciB7fX0iLGI/Lmhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlUGFya2luZyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFdoZWVsY2hhaXIgYWNjZXNzaWJsZSBwYXJraW5nIGxvdH0gIHN0YW5kYWxvbmUge0hhcyB3aGVlbGNoYWlyIGFjY2Vzc2libGUgcGFya2luZyBsb3R9ICBvdGhlciB7fX0iLGI/Lmhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlUmVzdHJvb20mJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBXaGVlbGNoYWlyIGFjY2Vzc2libGUgcmVzdHJvb219ICBzdGFuZGFsb25lIHtIYXMgd2hlZWxjaGFpciBhY2Nlc3NpYmxlIHJlc3Ryb29tfSAgb3RoZXIge319IiwKYj8uaGFzV2hlZWxjaGFpckFjY2Vzc2libGVTZWF0aW5nJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gV2hlZWxjaGFpciBhY2Nlc3NpYmxlIHNlYXRpbmd9ICBzdGFuZGFsb25lIHtIYXMgd2hlZWxjaGFpciBhY2Nlc3NpYmxlIHNlYXRpbmd9ICBvdGhlciB7fX0iXS5maWx0ZXIoXy5tbSl9KTtlLnB1c2goe2hlYWRpbmc6Ik9mZmVyaW5ncyIsZmVhdHVyZXM6W2Euc2VydmVzQmVlciYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEJlZXJ9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgYmVlcn0gIG90aGVyIHt9fSIsYS5zZXJ2ZXNXaW5lJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gV2luZX0gIHN0YW5kYWxvbmUge1NlcnZlcyB3aW5lfSAgb3RoZXIge319IixhLnNlcnZlc0NvZmZlZSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IENvZmZlZX0gIHN0YW5kYWxvbmUge1NlcnZlcyBjb2ZmZWV9ICBvdGhlciB7fX0iLAphLnNlcnZlc0NvY2t0YWlscyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IENvY2t0YWlsc30gIHN0YW5kYWxvbmUge1NlcnZlcyBjb2NrdGFpbHN9ICBvdGhlciB7fX0iLGEuc2VydmVzVmVnZXRhcmlhbkZvb2QmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBWZWdldGFyaWFuIGZvb2R9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgdmVnZXRhcmlhbiBmb29kfSAgb3RoZXIge319Il0uZmlsdGVyKF8ubW0pfSk7ZS5wdXNoKHtoZWFkaW5nOiJBbWVuaXRpZXMiLGZlYXR1cmVzOlthLmhhc1Jlc3Ryb29tJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gUmVzdHJvb219ICBzdGFuZGFsb25lIHtIYXMgcmVzdHJvb219ICBvdGhlciB7fX0iLGEuaGFzV2lGaSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFdpLUZpfSAgc3RhbmRhbG9uZSB7SGFzIFdpLUZpfSAgb3RoZXIge319Il0uZmlsdGVyKF8ubW0pfSk7CmUucHVzaCh7aGVhZGluZzoiS25vd24gZm9yIixmZWF0dXJlczpbYS5pc0dvb2RGb3JHcm91cHMmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBHb29kIGZvciBncm91cHN9ICBzdGFuZGFsb25lIHtHb29kIGZvciBncm91cHN9ICBvdGhlciB7fX0iLGEuaXNHb29kRm9yV2F0Y2hpbmdTcG9ydHMmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBHb29kIGZvciB3YXRjaGluZyBzcG9ydHN9ICBzdGFuZGFsb25lIHtHb29kIGZvciB3YXRjaGluZyBzcG9ydHN9ICBvdGhlciB7fX0iLGEuaGFzTGl2ZU11c2ljJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gTGl2ZSBtdXNpY30gIHN0YW5kYWxvbmUge0hhcyBsaXZlIG11c2ljfSAgb3RoZXIge319Il0uZmlsdGVyKF8ubW0pfSk7ZS5wdXNoKHtoZWFkaW5nOiJQYXltZW50cyIsZmVhdHVyZXM6W2M/LmFjY2VwdHNDYXNoT25seSYmCiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBDYXNoLW9ubHl9ICBzdGFuZGFsb25lIHtDYXNoLW9ubHl9ICBvdGhlciB7fX0iLGM/LmFjY2VwdHNDcmVkaXRDYXJkcyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IENyZWRpdCBjYXJkc30gIHN0YW5kYWxvbmUge0FjY2VwdHMgY3JlZGl0IGNhcmRzfSAgb3RoZXIge319IixjPy5hY2NlcHRzRGViaXRDYXJkcyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IERlYml0IGNhcmRzfSAgc3RhbmRhbG9uZSB7QWNjZXB0cyBkZWJpdCBjYXJkc30gIG90aGVyIHt9fSIsYz8uYWNjZXB0c05GQyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IE5GQyBtb2JpbGUgcGF5bWVudHN9ICBzdGFuZGFsb25lIHtBY2NlcHRzIE5GQyBtb2JpbGUgcGF5bWVudHN9ICBvdGhlciB7fX0iXS5maWx0ZXIoXy5tbSl9KTsKZS5wdXNoKHtoZWFkaW5nOiJDaGlsZHJlbiIsZmVhdHVyZXM6W2EuaXNHb29kRm9yQ2hpbGRyZW4mJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBHb29kIGZvciBraWRzfSAgc3RhbmRhbG9uZSB7R29vZCBmb3Iga2lkc30gIG90aGVyIHt9fSIsYS5oYXNNZW51Rm9yQ2hpbGRyZW4mJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBLaWRzJyBtZW51fSAgc3RhbmRhbG9uZSB7SGFzIGtpZHMnIG1lbnV9ICBvdGhlciB7fX0iXS5maWx0ZXIoXy5tbSl9KTtlLnB1c2goe2hlYWRpbmc6IlBldHMiLGZlYXR1cmVzOlthLmFsbG93c0RvZ3MmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEb2dzIGFsbG93ZWR9ICBzdGFuZGFsb25lIHtBbGxvd3MgZG9nc30gIG90aGVyIHt9fSJdLmZpbHRlcihfLm1tKX0pO2UucHVzaCh7aGVhZGluZzoiUGFya2luZyIsCmZlYXR1cmVzOltkPy5oYXNGcmVlUGFya2luZ0xvdCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEZyZWUgcGFya2luZyBsb3R9ICBzdGFuZGFsb25lIHtIYXMgZnJlZSBwYXJraW5nIGxvdH0gIG90aGVyIHt9fSIsZD8uaGFzUGFpZFBhcmtpbmdMb3QmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBQYWlkIHBhcmtpbmcgbG90fSAgc3RhbmRhbG9uZSB7SGFzIHBhaWQgcGFya2luZyBsb3R9ICBvdGhlciB7fX0iLGQ/Lmhhc0ZyZWVTdHJlZXRQYXJraW5nJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gRnJlZSBzdHJlZXQgcGFya2luZ30gIHN0YW5kYWxvbmUge0hhcyBmcmVlIHN0cmVldCBwYXJraW5nfSAgb3RoZXIge319IixkPy5oYXNQYWlkU3RyZWV0UGFya2luZyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFBhaWQgc3RyZWV0IHBhcmtpbmd9ICBzdGFuZGFsb25lIHtIYXMgcGFpZCBzdHJlZXQgcGFya2luZ30gIG90aGVyIHt9fSIsCmQ/Lmhhc0ZyZWVHYXJhZ2VQYXJraW5nJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gRnJlZSBnYXJhZ2UgcGFya2luZ30gIHN0YW5kYWxvbmUge0hhcyBmcmVlIGdhcmFnZSBwYXJraW5nfSAgb3RoZXIge319IixkPy5oYXNQYWlkR2FyYWdlUGFya2luZyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFBhaWQgZ2FyYWdlIHBhcmtpbmd9ICBzdGFuZGFsb25lIHtIYXMgcGFpZCBnYXJhZ2UgcGFya2luZ30gIG90aGVyIHt9fSIsZD8uaGFzVmFsZXRQYXJraW5nJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gVmFsZXQgcGFya2luZ30gIHN0YW5kYWxvbmUge0hhcyB2YWxldCBwYXJraW5nfSAgb3RoZXIge319Il0uZmlsdGVyKF8ubW0pfSk7cmV0dXJuIGV9LHJ4Yj1mdW5jdGlvbihhKXthPVthLmFsbG93c0RvZ3MmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEb2dzIGFsbG93ZWR9ICBzdGFuZGFsb25lIHtBbGxvd3MgZG9nc30gIG90aGVyIHt9fSIsCmEuaGFzVGFrZW91dCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFRha2VvdXR9ICBzdGFuZGFsb25lIHtPZmZlcnMgdGFrZW91dH0gIG90aGVyIHt9fSIsYS5oYXNEZWxpdmVyeSYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IERlbGl2ZXJ5fSAgc3RhbmRhbG9uZSB7T2ZmZXJzIGRlbGl2ZXJ5fSAgb3RoZXIge319IixhLmhhc0RpbmVJbiYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IERpbmUgaW59ICBzdGFuZGFsb25lIHtTZXJ2ZXMgZGluZS1pbn0gIG90aGVyIHt9fSIsYS5oYXNDdXJic2lkZVBpY2t1cCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEN1cmJzaWRlIHBpY2t1cH0gIHN0YW5kYWxvbmUge09mZmVycyBjdXJic2lkZSBwaWNrdXB9ICBvdGhlciB7fX0iLGEuaXNSZXNlcnZhYmxlJiYKIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IFRha2VzIHJlc2VydmF0aW9uc30gIHN0YW5kYWxvbmUge1Rha2VzIHJlc2VydmF0aW9uc30gIG90aGVyIHt9fSIsYS5zZXJ2ZXNCcmVha2Zhc3QmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBCcmVha2Zhc3R9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgYnJlYWtmYXN0fSAgb3RoZXIge319IixhLnNlcnZlc0x1bmNoJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gTHVuY2h9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgbHVuY2h9ICBvdGhlciB7fX0iLGEuc2VydmVzRGlubmVyJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gRGlubmVyfSAgc3RhbmRhbG9uZSB7U2VydmVzIGRpbm5lcn0gIG90aGVyIHt9fSIsYS5zZXJ2ZXNCZWVyJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gQmVlcn0gIHN0YW5kYWxvbmUge1NlcnZlcyBiZWVyfSAgb3RoZXIge319IiwKYS5zZXJ2ZXNXaW5lJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gV2luZX0gIHN0YW5kYWxvbmUge1NlcnZlcyB3aW5lfSAgb3RoZXIge319IixhLnNlcnZlc0JydW5jaCYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEJydW5jaH0gIHN0YW5kYWxvbmUge1NlcnZlcyBicnVuY2h9ICBvdGhlciB7fX0iLGEuc2VydmVzVmVnZXRhcmlhbkZvb2QmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBWZWdldGFyaWFuIGZvb2R9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgdmVnZXRhcmlhbiBmb29kfSAgb3RoZXIge319IixhLmhhc091dGRvb3JTZWF0aW5nJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gT3V0ZG9vciBzZWF0aW5nfSAgc3RhbmRhbG9uZSB7SGFzIG91dGRvb3Igc2VhdGluZ30gIG90aGVyIHt9fSIsCmEuaGFzTGl2ZU11c2ljJiYie1ZBUklBTlQsIHNlbGVjdCwgIHNob3J0IHt7QVZBSUxBQklMSVRZX0lORElDQVRPUn0gTGl2ZSBtdXNpY30gIHN0YW5kYWxvbmUge0hhcyBsaXZlIG11c2ljfSAgb3RoZXIge319IixhLmhhc01lbnVGb3JDaGlsZHJlbiYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEtpZHMnIG1lbnV9ICBzdGFuZGFsb25lIHtIYXMga2lkcycgbWVudX0gIG90aGVyIHt9fSIsYS5zZXJ2ZXNDb2NrdGFpbHMmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBDb2NrdGFpbHN9ICBzdGFuZGFsb25lIHtTZXJ2ZXMgY29ja3RhaWxzfSAgb3RoZXIge319IixhLnNlcnZlc0Rlc3NlcnQmJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBEZXNzZXJ0fSAgc3RhbmRhbG9uZSB7U2VydmVzIGRlc3NlcnR9ICBvdGhlciB7fX0iLGEuc2VydmVzQ29mZmVlJiYKIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IENvZmZlZX0gIHN0YW5kYWxvbmUge1NlcnZlcyBjb2ZmZWV9ICBvdGhlciB7fX0iLGEuaGFzUmVzdHJvb20mJiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBSZXN0cm9vbX0gIHN0YW5kYWxvbmUge0hhcyByZXN0cm9vbX0gIG90aGVyIHt9fSIsYS5pc0dvb2RGb3JDaGlsZHJlbiYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEdvb2QgZm9yIGtpZHN9ICBzdGFuZGFsb25lIHtHb29kIGZvciBraWRzfSAgb3RoZXIge319IixhLmlzR29vZEZvckdyb3VwcyYmIntWQVJJQU5ULCBzZWxlY3QsICBzaG9ydCB7e0FWQUlMQUJJTElUWV9JTkRJQ0FUT1J9IEdvb2QgZm9yIGdyb3Vwc30gIHN0YW5kYWxvbmUge0dvb2QgZm9yIGdyb3Vwc30gIG90aGVyIHt9fSIsYS5pc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cyYmCiJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCSUxJVFlfSU5ESUNBVE9SfSBHb29kIGZvciB3YXRjaGluZyBzcG9ydHN9ICBzdGFuZGFsb25lIHtHb29kIGZvciB3YXRjaGluZyBzcG9ydHN9ICBvdGhlciB7fX0iXS5maWx0ZXIoXy5tbSkuc2xpY2UoMCwyKS5tYXAoYj0+ajcoYix7VkFSSUFOVDoic3RhbmRhbG9uZSJ9KSk7cmV0dXJuIGEubGVuZ3RoPT09MD8oMCxfLldxKWBgOigwLF8uV3EpYAogICAgPGRpdiBjbGFzcz0iYXR0cmlidXRlLXRhZ3MiPgogICAgICAke2EubWFwKGI9PigwLF8uV3EpYDxzcGFuIGNsYXNzPSJhdHRyaWJ1dGUtdGFnIj4ke2J9PC9zcGFuPmApfQogICAgPC9kaXY+CiAgYH0seTc9ZnVuY3Rpb24oYSxiKXthLnFFW01hdGgubWluKE1hdGgubWF4KGEucWgrYiwwKSxhLnFFLmxlbmd0aC0xKV0uZm9jdXMoKX0sejc9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYT09PV8uU3M/ITA6QXJyYXkuaXNBcnJheShhKT9hLmV2ZXJ5KHo3KTohMTthPXR5cGVvZiBhO3JldHVybiBhPT09InVuZGVmaW5lZCJ8fGE9PT0ib2JqZWN0Inx8YT09PSJzdHJpbmcifSxBNz1mdW5jdGlvbihhKXthPWEuZmlsdGVyKGI9PiF6NyhiKSk7cmV0dXJuIGEubGVuZ3RoPygwLF8uV3EpYCR7Xy5WcShhLCgwLF8uV3EpYDxociAvPmApfWA6bnVsbH0sQjc9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIF8uVnEoYS5maWx0ZXIoYj0+IXo3KGIpKSwoMCxfLldxKWA8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9ImludGVycHVuY3QiPlx1MDBiNzwvc3Bhbj5gKX0sc3hiPWZ1bmN0aW9uKGEsYixjKXthPWEucGVyaW9kcy5tYXAoKHtvcGVuOmR9KT0+ZC5xaChiLGMpKTtyZXR1cm4gYS5sZW5ndGg/Cm5ldyBEYXRlKE1hdGgubWluKC4uLmEpKTp2b2lkIDB9LHR4Yj1mdW5jdGlvbihhLGIsYyl7YT1hLnBlcmlvZHMubWFwKCh7Y2xvc2U6ZH0pPT5kPy5xaChiLGMpKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIGEubGVuZ3RoP25ldyBEYXRlKE1hdGgubWluKC4uLmEpKTp2b2lkIDB9LEQ3PWZ1bmN0aW9uKGEsYil7aWYoIWEucWguaGFzKCIqIikpZm9yKGxldCBjIG9mIGIpe2lmKGM9PT0iKiIpe2EucWguYWRkKCIqIik7YnJlYWt9QzcuaW5jbHVkZXMoYykmJmEucWguYWRkKGMpfX0sRjc9ZnVuY3Rpb24oYSxiPVtdLGM9e30pe3JldHVybiBuZXcgRTcoYSxiLGMpfSx1eGI9ZnVuY3Rpb24oYSxiKXtiPV8udG8oYik7YS5pZCE9PWImJmIhPT0iIiYmKGEuaWQhPT0iIiYmY29uc29sZS53YXJuKGBQbGVhc2Ugbm90ZSB0aGF0IHRoZSAnaWQnIHByb3BlcnR5IG9mIHRoaXMgcGxhY2UgaGFzIGNoYW5nZWQ6ICR7YS5pZH0gLT4gJHtifWApLGEuRGg9YixhLldpPWBwbGFjZXMvJHtifWAsYj1fLlNkKGEuRWgpPwpfLklmKGEuRWgpOmEuRWgsZjYoZzYoYixhLkRoKSxhLldpKSxhLkVoPWIpfSx3eGI9ZnVuY3Rpb24oYSxiLGMpe2lmKGEubGVuZ3RoPT09MClyZXR1cm4hMTtpZihHNyhhKSlyZXR1cm4hMDt2YXIgZD1uZXcgSDcoYy5nZXRVVENEYXkoKSxjLmdldFVUQ0hvdXJzKCksYy5nZXRVVENNaW51dGVzKCksMCk7cmV0dXJuIHZ4YihhLGIpLnNvbWUoZT0+ZS5pbmNsdWRlcyhkKSl9LEc3PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD09PTEmJiFhWzBdLmNsb3NlJiYhIWFbMF0ub3BlbiYmYVswXS5vcGVuLmRheT09PTAmJmFbMF0ub3Blbi5ob3VyPT09MCYmYVswXS5vcGVuLm1pbnV0ZT09PTB9LHZ4Yj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2EuZm9yRWFjaChkPT57dmFyIGU9ZC5jbG9zZTtkPWQub3BlbjtlPW5ldyBJNyhuZXcgSDcoZC5kYXksZC5ob3VyLGQubWludXRlLGIpLG5ldyBINyhlLmRheSxlLmhvdXIsZS5taW51dGUsYikpO2UuZW5kVGltZS5jb21wYXJlKGUuc3RhcnRUaW1lKTwKMD8oZD1uZXcgSTcobmV3IEg3KDAsMCwwLDApLGUuZW5kVGltZSksYy5wdXNoKG5ldyBJNyhlLnN0YXJ0VGltZSxuZXcgSDcoMCwwLDEwMDgwLDApKSksYy5wdXNoKGQpKTpjLnB1c2goZSl9KTtyZXR1cm4gY30seHhiPWZ1bmN0aW9uKGEpe3ZhciBiPU1hdGguYWJzKGElNjApLGM9TWF0aC5mbG9vcihNYXRoLmFicyhhLzYwKSk7cmV0dXJuYCR7YTwwPyItIjoiKyJ9JHtjPDEwP2AwJHtjfWA6Y306JHtiPDEwP2AwJHtifWA6Yn1gfSx5eGI9ZnVuY3Rpb24oYSl7aWYoIWEucGxhY2UpcmV0dXJuIG51bGw7c3dpdGNoKGEucGxhY2UuYnVzaW5lc3NTdGF0dXMpe2Nhc2UgIkNMT1NFRF9QRVJNQU5FTlRMWSI6cmV0dXJuKDAsXy5XcSlgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2xvc2VkIj4keyJQZXJtYW5lbnRseSBjbG9zZWQifTwvc3Bhbj4KICAgICAgICBgO2Nhc2UgIkNMT1NFRF9URU1QT1JBUklMWSI6cmV0dXJuKDAsXy5XcSlgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2xvc2VkIj4keyJUZW1wb3JhcmlseSBjbG9zZWQifTwvc3Bhbj4KICAgICAgICBgfXZhciBiPWEucGxhY2UucmVndWxhck9wZW5pbmdIb3VycyxjPWEucGxhY2UudXRjT2Zmc2V0TWludXRlcyxkPWI/LnBlcmlvZHM7aWYoIWR8fCFkLmxlbmd0aHx8Yz09bnVsbClyZXR1cm4gbnVsbDtpZihHNyhkKSlyZXR1cm4oMCxfLldxKWA8c3BhbiBjbGFzcz0ib3BlbiI+JHsiT3BlbiAyNCBob3VycyJ9PC9zcGFuPmA7dmFyIGU9eHhiKGMpLGY9bmV3IERhdGU7aWYod3hiKGQsYyxmKSl7Zj10eGIoYixmLmdldFRpbWUoKSxjKTtpZighZilyZXR1cm4gbnVsbDtlPWo3KCJDbG9zZXMge25leHRDbG9zaW5nVGltZX0iLHtuZXh0Q2xvc2luZ1RpbWU6SjcoYSx7dGltZVN0eWxlOiJzaG9ydCIsdGltZVpvbmU6ZX0sZil9KTthPSgwLF8uV3EpYDxzcGFuIGNsYXNzPSJvcGVuIj4keyJPcGVuIn08L3NwYW4+YH1lbHNle2I9c3hiKGIsZi5nZXRUaW1lKCksYyk7aWYoIWIpcmV0dXJuIG51bGw7Yz1KNyhhLHt3ZWVrZGF5OiJzaG9ydCIsdGltZVpvbmU6ZX0sYik7ZT1qNygie25leHRPcGVuaW5nRGF5T2ZXZWVrLCBzZWxlY3QsbnVsbCB7T3BlbnMge25leHRPcGVuaW5nVGltZX19b3RoZXIge09wZW5zIHtuZXh0T3BlbmluZ1RpbWV9IHtuZXh0T3BlbmluZ0RheU9mV2Vla319fSIsCntuZXh0T3BlbmluZ1RpbWU6SjcoYSx7dGltZVN0eWxlOiJzaG9ydCIsdGltZVpvbmU6ZX0sYiksbmV4dE9wZW5pbmdEYXlPZldlZWs6Yz09PUo3KGEse3dlZWtkYXk6InNob3J0Iix0aW1lWm9uZTplfSxmKT8ibnVsbCI6Y30pO2E9KDAsXy5XcSlgPHNwYW4gY2xhc3M9ImNsb3NlZCI+JHsiQ2xvc2VkIn08L3NwYW4+YH1yZXR1cm4gQjcoYSwoMCxfLldxKWA8c3Bhbj4ke2V9PC9zcGFuPmApfSxBeGI9ZnVuY3Rpb24oYSl7aWYoYS53ZWVrZGF5RGVzY3JpcHRpb25zJiZhLndlZWtkYXlEZXNjcmlwdGlvbnMubGVuZ3RoIT09MCl7dmFyIGI9enhiKGEpO3JldHVybigwLF8uV3EpYAogICAgICA8dWwgaWQ9IndlZWtseS1ob3VycyIgY2xhc3M9IndlZWtseS1ob3VycyI+CiAgICAgICAgJHthLndlZWtkYXlEZXNjcmlwdGlvbnMubWFwKChjLGQpPT5kPT09MCYmYj8oMCxfLldxKWA8bGk+PHN0cm9uZz4ke2N9PC9zdHJvbmc+PC9saT5gOigwLF8uV3EpYDxsaT4ke2N9PC9saT5gKX0KICAgICAgPC91bD4KICAgIGB9fSxKNz1mdW5jdGlvbihhLGIsYyl7dmFyIHtyZXF1ZXN0ZWRMYW5ndWFnZTpkLHJlcXVlc3RlZFJlZ2lvbjplfT1hLnBsYWNlPz97fTthPWQ/bmV3IEludGwuTG9jYWxlKGQse3JlZ2lvbjplPz92b2lkIDB9KTphLnJoO3JldHVybiBJbnRsLkRhdGVUaW1lRm9ybWF0KGEsYikuZm9ybWF0KGMpfSx6eGI9ZnVuY3Rpb24oYSl7aWYoIWEucGxhY2V8fCFhLndlZWtkYXlEZXNjcmlwdGlvbnN8fCFhLnBsYWNlLnV0Y09mZnNldE1pbnV0ZXMpcmV0dXJuITE7dHJ5e3ZhciBiPUo3KGEse3dlZWtkYXk6ImxvbmciLHRpbWVab25lOnh4YihhLnBsYWNlLnV0Y09mZnNldE1pbnV0ZXMpfSxuZXcgRGF0ZSl9Y2F0Y2goZCl7cmV0dXJuITF9dmFyIGM9YS53ZWVrZGF5RGVzY3JpcHRpb25zLmZpbmRJbmRleChkPT5kLnN0YXJ0c1dpdGgoYikpO2lmKGM9PT0tMSlyZXR1cm4hMTthLndlZWtkYXlEZXNjcmlwdGlvbnM9YS53ZWVrZGF5RGVzY3JpcHRpb25zLnNsaWNlKGMpLmNvbmNhdChhLndlZWtkYXlEZXNjcmlwdGlvbnMuc2xpY2UoMCwKYykpO3JldHVybiEwfSxCeGI9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1hLmF1dGhvckF0dHJpYnV0aW9uO2lmKCFjKXJldHVybiBudWxsO3ZhciBkPShkPWMuZGlzcGxheU5hbWUpPyJQaG90byBvZiAiK2Q6IiI7cmV0dXJuKDAsXy5XcSlgCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICA8YQogICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgIGhyZWY9IiR7Yy51cmk/P3ZvaWQgMD8/Xy5Tc30iCiAgICAgICAgY2xhc3M9ImhlYWRlci1hdXRob3IiPgogICAgICAgICR7Yy5waG90b1VSST8oMCxfLldxKWAKICAgICAgICA8aW1nCiAgICAgICAgICBjbGFzcz0iYXV0aG9yLXBob3RvIgogICAgICAgICAgYWx0PSR7ZH0KICAgICAgICAgIHRpdGxlPSR7ZH0KICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgICAgICAgc3JjPSR7Yy5waG90b1VSSX0gLz4KICAgICAgYDoiIn0keygwLF8uV3EpYAogICAgPGRpdiBjbGFzcz0iYXV0aG9yLXJpZ2h0Ij4KICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yLW5hbWUtY29udGFpbmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLW5hbWUiPiR7Yy5kaXNwbGF5TmFtZX08L3NwYW4+CiAgICAgICAgJHtjLnVyaT8oMCxfLldxKWAKICAgICAgICAgICAgICAke18uWHEoe2NsYXNzTmFtZToiIixhcmlhTGFiZWw6Xy5RcSgpfSl9CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgICAke2EucmVsYXRpdmVQdWJsaXNoVGltZURlc2NyaXB0aW9uPygwLF8uV3EpYAogICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVsYXRpdmUtdGltZSI+CiAgICAgICAgICAgICAgJHthLnJlbGF0aXZlUHVibGlzaFRpbWVEZXNjcmlwdGlvbn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgYDoiIn0KICAgIDwvZGl2PgogIGB9CiAgICAgIDwvYT4KICAgICAgJHthLmZsYWdDb250ZW50VVJJfHxiJiZhLmdvb2dsZU1hcHNVUkk/KDAsXy5XcSlgPGRpdiBjbGFzcz0icmVwb3J0LWJ1dHRvbi1jb250YWluZXIiPgogICAgICAgICAgICA8Z21wLWludGVybmFsLW1lbnUKICAgICAgICAgICAgICAubWVudUl0ZW1zPSR7Wy4uLihiJiZhLmdvb2dsZU1hcHNVUkk/W3t0ZXh0OiJPcGVuIGluIE1hcHMiLHVyaTphLmdvb2dsZU1hcHNVUkl9XTpbXSksLi4uKGEuZmxhZ0NvbnRlbnRVUkk/W3t0ZXh0OiJSZXBvcnQgcmV2aWV3Iix1cmk6YS5mbGFnQ29udGVudFVSSX1dOltdKV19PjwvZ21wLWludGVybmFsLW1lbnU+CiAgICAgICAgICA8L2Rpdj5gOiIifQogICAgPC9kaXY+CiAgYH0sQ3hiPWZ1bmN0aW9uKGEsYil7dHJ5e3ZhciBjPShuZXcgSW50bC5EaXNwbGF5TmFtZXModm9pZCAwLHt0eXBlOiJsYW5ndWFnZSJ9KSkub2YoYil9Y2F0Y2goZCl7Yz0iIn1iPShiPWMpPyJTZWUgb3JpZ2luYWwgKCIrYisiKSI6IlNlZSBvcmlnaW5hbCI7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9InRyYW5zbGF0aW9uLWNvbnRhaW5lciI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idHJhbnNsYXRpb24tYnV0dG9uIiBAY2xpY2s9JHthLnFofT4KICAgICAgICAgICR7YS5Eej8oMCxfLldxKWA8c3BhbiBjbGFzcz0idG9nZ2xlLXRyYW5zbGF0aW9uLXRleHQiCiAgICAgICAgICAgICAgICA+JHsiU2VlIHRyYW5zbGF0aW9uIn08L3NwYW4KICAgICAgICAgICAgICA+YDooMCxfLldxKWAKICAgICAgICAgICAgICAgICR7QjcoKDAsXy5XcSlgPHNwYW4gY2xhc3M9InRyYW5zbGF0ZWQtYnkiCiAgICAgICAgICAgICAgICAgICAgPiR7IlRyYW5zbGF0ZWQgYnkgR29vZ2xlIn08L3NwYW4KICAgICAgICAgICAgICAgICAgPmAsKDAsXy5XcSlgPHNwYW4gY2xhc3M9InRvZ2dsZS10cmFuc2xhdGlvbi10ZXh0IgogICAgICAgICAgICAgICAgICAgID4ke2J9PC9zcGFuCiAgICAgICAgICAgICAgICAgID5gKX0KICAgICAgICAgICAgICBgfQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGB9LEV4Yj1mdW5jdGlvbihhLGIpe2lmKGI9PT0wKXJldHVybigwLF8uV3EpYGA7dmFyIGM9ajcoIntOVU1fSU1BR0UsIHBsdXJhbCxcbiAgICA9MSB7MSBwaG90b31cbiAgICBvdGhlciB7IyBwaG90b3N9fSIse05VTV9JTUFHRTphfSk7YT1iPT09MT9jOihuZXcgSW50bC5OdW1iZXJGb3JtYXQpLmZvcm1hdChhKTtyZXR1cm4oMCxfLldxKWAKICAgIDxkaXYKICAgICAgY2xhc3M9JHsoMCxfLmFyKSh7ImxpZ2h0Ym94LWFmZm9yZGFuY2UiOiEwLHRpZ2h0OmI9PT0zfSl9CiAgICAgIHJvbGU9ImltZyIKICAgICAgLnRpdGxlPSR7Y30KICAgICAgLmFyaWFMYWJlbD0ke2N9PgogICAgICAke0R4Yn0gJHthfQogICAgPC9kaXY+CiAgYH0sRnhiPWZ1bmN0aW9uKGE9ITEpe3JldHVybigwLF8uV3EpYDxkaXYKICAgIGNsYXNzPSJsb2FkLWVycm9yIgogICAgYXJpYS1sYWJlbD0ke2E/Xy5TczoiSW1hZ2UgY291bGRuJ3QgbG9hZCJ9CiAgICA+JHthPygwLF8uV3EpYDxzcGFuPiR7IkltYWdlIGNvdWxkbid0IGxvYWQifTwvc3Bhbj5gOiIifTwvZGl2CiAgPmB9LEd4Yj1mdW5jdGlvbihhPSExKXthPyh7Y2xhc3NOYW1lOmF9PXtjbGFzc05hbWU6ImRlZmF1bHQtaW1hZ2UifSxhPSgwLF8uV3EpYCR7KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0ibm9uZSIgY2xhc3M9IiR7YX0iIHZpZXdCb3g9IjAgMCAyMDAgMjAwIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfOTY5NF8zMzAxMSkiPjxwYXRoIGZpbGw9IiNmMmYyZjIiIGQ9Ik0wIDBoMjAwdjIwMEgweiIgY2xhc3M9ImJhY2tncm91bmQiLz48cGF0aCBmaWxsPSIjNWU1ZTVlIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMjAuMyAxNDEuNjJhNzAuNjYgNzAuNjYgMCAxMTk5LjkyIDBsLTMwLjE4IDMwLjE5YTI3Ljk3IDI3Ljk3IDAgMDEtMzkuNTYgMHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgb3BhY2l0eT0iLjA4Ii8+PGNpcmNsZSBjeD0iMTQ4IiBjeT0iNTAiIHI9IjM1IiBmaWxsPSIjNWU1ZTVlIiBvcGFjaXR5PSIuMDgiLz48cGF0aCBmaWxsPSIjNWU1ZTVlIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMjYuOTkgMTI2Ljk5YzM4LjQtMzguNDEgOTkuNDgtNDAuMzQgMTQwLjE2LTUuNzggMy4zOCAyLjg3IDMuMzggNy45OS4yNCAxMS4xMmwtMjUuNDkgMjUuNDljLTMuMSAzLjEtOC4xIDMuMDYtMTEuNjYuNWE1MS41NCA1MS41NCAwIDAwLTcxLjkyIDcxLjkyYzIuNTYgMy41NiAyLjYgOC41Ni0uNSAxMS42NmwtMjUuNDkgMjUuNWMtMy4xMyAzLjEzLTguMjUgMy4xMy0xMS4xMi0uMjUtMzQuNTYtNDAuNjgtMzIuNjMtMTAxLjc2IDUuNzgtMTQwLjE2IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii4wOCIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzk2OTRfMzMwMTEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjAwdjIwMEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmB9YCk6Cih7Y2xhc3NOYW1lOmF9PXtjbGFzc05hbWU6ImRlZmF1bHQtaW1hZ2UifSxhPSgwLF8uV3EpYCR7KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMzYwIiBoZWlnaHQ9IjI0MCIgZmlsbD0ibm9uZSIgY2xhc3M9IiR7YX0iIHZpZXdCb3g9IjAgMCAzNjAgMjQwIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfOTY3OF8zMjk1NSkiPjxwYXRoIGZpbGw9IiNmMmYyZjIiIGQ9Ik0wIDBoMzYwdjI0MEgweiIgY2xhc3M9ImJhY2tncm91bmQiLz48cGF0aCBmaWxsPSIjNWU1ZTVlIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0tMS4xNCAxNjguOWE4NC44OCA4NC44OCAwIDExMTIwLjA0IDBsLTM2LjI2IDM2LjI2YTMzLjYgMzMuNiAwIDAxLTQ3LjUyIDB6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIG9wYWNpdHk9Ii4wOCIvPjxjaXJjbGUgY3g9IjE5NS41IiBjeT0iMTY0LjUiIHI9IjQ0LjUiIGZpbGw9IiM1ZTVlNWUiIG9wYWNpdHk9Ii4wOCIvPjxwYXRoIGZpbGw9IiM1ZTVlNWUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1MS4yOCAyMi43Yy0yNC41NS02Mi4zNSAzLjgtMTMyLjQ3IDYzLjQ5LTE2MC43NCA0LTEuOSA4LjY5LjE0IDEwLjMxIDQuMjdsMTcuNDUgNDQuMzFjMS42MSA0LjA4LS40IDguNjYtNC4yNCAxMC44YTYzLjAxIDYzLjAxIDAgMDA0NS43NSAxMTYuMThjNC4yNi0xLjA1IDguODYuOTIgMTAuNDcgNWwxNy40NSA0NC4zMmE3LjYzIDcuNjMgMCAwMS00LjY0IDEwLjE1Yy02Mi45MyAyMC4wMi0xMzEuNDgtMTEuOTQtMTU2LjA0LTc0LjNabTE0My4yOCAxMjAuMDRjNTIuODItNDEuMjQgMTI4LjEtMzMuOTYgMTcyLjE1IDE1LjI1YTcuNjMgNy42MyAwIDAxLTEuMTYgMTEuMUw0MjggMTk4LjRjLTMuNDYgMi43LTguNDIgMi4wNi0xMS41Ni0xYTYzLjAxIDYzLjAxIDAgMDAtOTguNDIgNzYuODRjMi4yMiAzLjggMS42NCA4Ljc2LTEuODIgMTEuNDZsLTM3LjU0IDI5LjMxYTcuNjMgNy42MyAwIDAxLTExLjA2LTEuNTZjLTM3LjA1LTU0LjY2LTI1Ljg3LTEyOS40NyAyNi45NS0xNzAuN1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIgb3BhY2l0eT0iLjA4Ii8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDBfOTY3OF8zMjk1NSI+PHBhdGggd2lkdGg9IjM2MCIgaGVpZ2h0PSIyNDAiIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMzYwdjI0MEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPmB9YCk7CnJldHVybiBhfSxLNz1mdW5jdGlvbihhLGI9W10pe3JldHVybigwLF8uV3EpYDxkaXYgY2xhc3M9ImNvbGxhZ2UtZ3JpZCI+CiAgICAke2EubWFwKChjLGQpPT57ZD1bImltYWdlLWNvbnRhaW5lciIsYGdyaWQtaXRlbS0ke2R9LSR7YS5sZW5ndGh9YCwuLi5iXS5qb2luKCIgIik7cmV0dXJuKDAsXy5XcSlgPGRpdiBjbGFzcz0ke2R9PiR7Y308L2Rpdj5gfSl9CiAgPC9kaXY+YH0sSHhiPWFzeW5jIGZ1bmN0aW9uKGEsYil7YS5qeCYmKGIhPT1hLmp4LmN1cnJlbnRQaG90b0luZGV4JiYoYS5qeC5jdXJyZW50UGhvdG9JbmRleD1iLGF3YWl0IGEuanguQ3ApLGEuanguc2hvdygpKX0sSXhiPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYT1hLnFoW2JdPy5VdikobmV3IEltYWdlKS5zcmM9YX0sSnhiPWZ1bmN0aW9uKGEpe3JldHVybiBLNyhBcnJheS5mcm9tKHtsZW5ndGg6TWF0aC5tYXgoTWF0aC5taW4oYS5tYXhQaG90b3MsYS5udW1QbGFjZWhvbGRlcnMpLDEpfSwoKT0+KDAsXy5XcSlgYCksWyJwbGFjZWhvbGRlciJdKX0sS3hiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD00O2lmKGEuSkcpe3ZhciBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEuSkcpLmdhcDtlJiYoZT1lLm1hdGNoKC8oXGQrKXB4LykpJiZlWzFdJiYoZD1OdW1iZXIoZVsxXSkpfWE9YS5jb250YWluZXI/YS5jb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKYz09PTE/KGI9YS53aWR0aCxkPWEuaGVpZ2h0KTpjPT09Mnx8Yz09PTMmJmI9PT0wPyhiPShhLndpZHRoLWQpLzIsZD1hLmhlaWdodCk6KGI9KGEud2lkdGgtZCkvMixkPShhLmhlaWdodC1kKS8yKTtyZXR1cm57d2lkdGhQeDpNYXRoLmNlaWwoYip3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyksaGVpZ2h0UHg6TWF0aC5jZWlsKGQqd2luZG93LmRldmljZVBpeGVsUmF0aW8pfX0sTXhiPWZ1bmN0aW9uKGEpe2lmKGEucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoPT09MClyZXR1cm4gSzcoWygwLF8uV3EpYDxkaXYgY2xhc3M9ImltYWdlIGRlZmF1bHQtaW1hZ2UiPgogICAgICAgICAgJHtHeGIoYS5taW5pKX0KICAgICAgICA8L2Rpdj5gXSxbImxvYWRlZCJdKTt2YXIgYj1NYXRoLm1pbihhLm1heFBob3RvcyxhLnBob3RvRGlzcGxheURhdGFMaXN0Lmxlbmd0aCksYz1hLnBob3RvRGlzcGxheURhdGFMaXN0LnNsaWNlKDAsYikubWFwKChmLGcpPT57dmFyIGg9ajcoIntOVU1fSU1BR0UsIHNlbGVjdG9yZGluYWwsICAgIG9uZSB7T3BlbiB0aGUgI3N0IHBob3RvLn0gICB0d28ge09wZW4gdGhlICNuZCBwaG90by59ICAgZmV3IHtPcGVuIHRoZSAjcmQgcGhvdG8ufSAgIG90aGVyIHtPcGVuIHRoZSAjdGggcGhvdG8ufX0iLHtOVU1fSU1BR0U6ZysxfSksaz1lbmNvZGVVUkkoTHhiKGYudXJpLEt4YihhLGcsYikpKTtmPW5ldyBJbWFnZTt2YXIgbT1fLktuKCk7Zi5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3ZhciBwPWEuUGsuZ2V0RWxlbWVudEJ5SWQobSk7cCYmKHAuc3R5bGUuYmFja2dyb3VuZEltYWdlPWB1cmwoIiR7a30iKWAscC5wYXJlbnRFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCJsb2FkZWQiKSl9KTsKZi5zcmM9azthLnRoLkRJLmFkZChmKTtyZXR1cm4gYS5saWdodGJveEVuYWJsZWQ/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgdGl0bGU9JHtofQogICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2h9CiAgICAgICAgICAgICAgICBpZD0ke219CiAgICAgICAgICAgICAgICBjbGFzcz0iaW1hZ2UiCiAgICAgICAgICAgICAgICBAbW91c2VvdmVyPSR7KCk9Pkl4YihhLGcpfQogICAgICAgICAgICAgICAgQGZvY3VzPSR7KCk9Pkl4YihhLGcpfQogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pkh4YihhLGcpfT4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYDooMCxfLldxKWA8ZGl2IGlkPSR7bX0gY2xhc3M9ImltYWdlIj48L2Rpdj5gfSksZD1hLmxpZ2h0Ym94RW5hYmxlZD9FeGIoYS5waG90b0Rpc3BsYXlEYXRhTGlzdC5sZW5ndGgsYS5saWdodGJveEFmZm9yZGFuY2VUeXBlKToiIixlPWEubGlnaHRib3hFbmFibGVkPygwLF8uV3EpYDxnbXAtaW50ZXJuYWwtbGlnaHRib3gKICAgICAgICAgIC5waG90b0Rpc3BsYXlEYXRhTGlzdD0ke2EucWh9PjwvZ21wLWludGVybmFsLWxpZ2h0Ym94PmA6IiI7cmV0dXJuKDAsXy5XcSlgICR7SzcoYyl9ICR7ZH0gJHtlfSBgfSxMNz1mdW5jdGlvbihhLGIpe1thXT1hLnNwbGl0KCI9Iik7cmV0dXJuKGI9Wy4uLihiLndpZHRoP1tgdyR7TWF0aC5jZWlsKGIud2lkdGgpfWBdOltdKSwuLi4oYi5oTT9bImMiXTpbXSksLi4uKGIuaGVpZ2h0P1tgaCR7TWF0aC5jZWlsKGIuaGVpZ2h0KX1gXTpbXSldLmpvaW4oIi0iKSk/YCR7YX09JHtifWA6YX0sTHhiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuaW5jbHVkZXMoImdvb2dsZXVzZXJjb250ZW50LmNvbSIpP0w3KGEse3dpZHRoOmIud2lkdGhQeCxoZWlnaHQ6Yi5oZWlnaHRQeCxoTTohMH0pOmF9LE54Yj1mdW5jdGlvbihhKXtyZXR1cm4iQ2FsbCBwaG9uZSBudW1iZXI6ICIrYX0sT3hiPWZ1bmN0aW9uKGEpe3JldHVybiJQbHVzIGNvZGU6ICIrYX0sUHhiPWZ1bmN0aW9uKGEpe3ZhciBiPQpfLkpsPy5yaCgpPy5yaCgpfHx2b2lkIDA7cmV0dXJuKG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGIse2hvdXI6Im51bWVyaWMiLHRpbWVab25lOiJVVEMifSkpLmZvcm1hdChuZXcgRGF0ZShEYXRlLlVUQygxOTcwLDAsMSxhLDAsMCwwKSkpfSxReGI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ob3Vycz8/MDthPWEubWludXRlcz8/MDt2YXIgYz1fLkpsPy5yaCgpPy5yaCgpfHx2b2lkIDA7cmV0dXJuKG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGMse2hvdXI6Im51bWVyaWMiLG1pbnV0ZTphPT09MD92b2lkIDA6Im51bWVyaWMiLHRpbWVab25lOiJVVEMifSkpLmZvcm1hdChuZXcgRGF0ZShEYXRlLlVUQygxOTcwLDAsMSxiLGEsMCwwKSkpfSxSeGI9ZnVuY3Rpb24oYSl7dmFyIGI9TWF0aC5yb3VuZChhLzZFNCk7aWYoYjw2MClyZXR1cm4gajcoInttaW51dGVzfSBtaW4iLHttaW51dGVzOmJ9KTthPU1hdGguZmxvb3IoYi82MCk7YiU9NjA7cmV0dXJuIGI9PT0wP2o3KCJ7aG91cnN9IGhyIiwKe2hvdXJzOmF9KTpqNygie2hvdXJzfSBociB7bWludXRlc30gbWluIix7aG91cnM6YSxtaW51dGVzOmJ9KX0sU3hiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWF8fGEubGVuZ3RoPT09MHx8RzcoYSk/ITE6IWEuc29tZShjPT57dmFyIGQ9Yy5vcGVuLmRheTsoYz1jLmNsb3NlKT8oYz1jLmRheSxkPWQ8PWM/Yj49ZCYmYjw9YzpiPj1kfHxiPD1jKTpkPWI9PT1kO3JldHVybiBkfSl9LFR4Yj1mdW5jdGlvbihhLGIpe3JldHVybiBHNyhhKT8hMDphLnNvbWUoYz0+e3ZhciBkPWMub3BlbjtpZihkLmRheSE9PWJ8fGQuaG91ciE9PTB8fChkLm1pbnV0ZT8/MCkhPT0wKXJldHVybiExO2lmKCFjLmNsb3NlKXJldHVybiEwO2M9Yy5jbG9zZTtyZXR1cm4gYy5kYXk9PT0oYisxKSU3JiZjLmhvdXI9PT0wJiYoYy5taW51dGU/PzApPT09MHx8Yy5kYXk9PT1iJiZjLmhvdXI9PT0yMyYmKGMubWludXRlPz8wKT49NTl9KX0sVXhiPWZ1bmN0aW9uKGEsYil7aWYoIWF8fGEubGVuZ3RoPT09MClyZXR1cm4gTTcoNiwKMjMpO2lmKEc3KGEpKXJldHVybiBNNyg0LDI3KTtpZihUeGIoYSxiKSlyZXR1cm4gTTcoMCwyMyk7dmFyIGM9YS5maWx0ZXIoZj0+Zi5vcGVuLmRheT09PWIpO2lmKGMubGVuZ3RoPT09MClyZXR1cm4gTTcoNiwyMyk7dmFyIGQ9SW5maW5pdHk7YT0tSW5maW5pdHk7Zm9yKHZhciBlIG9mIGMpYz1lLm9wZW4uaG91cixjPGQmJihkPWMpLGM9MjMsZS5jbG9zZSYmKGM9KGUuY2xvc2UuZGF5LWUub3Blbi5kYXkrNyklNyoyNCtlLmNsb3NlLmhvdXIsYz0oZS5jbG9zZS5taW51dGU/PzApPT09MD9jLTE6YyksYz5hJiYoYT1jKTtlPU1hdGgubWluKDYsTWF0aC5tYXgoMCxkLTEpKTtyZXR1cm4gTTcoZSxhLWU8MTc/ZSsxNzphKX0sTTc9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTw9YjthKyspYy5wdXNoKGEpO3JldHVybiBjfSxWeGI9ZnVuY3Rpb24oYSxiKXthLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkYXktY2hhbmdlIix7ZGV0YWlsOntkYXk6Yn0sYnViYmxlczohMCwKY29tcG9zZWQ6ITB9KSl9LFd4Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YiUyNDtyZXR1cm4gYy5nZXQoKGErTWF0aC5mbG9vcihiLzI0KSklNyk/LmdldChkKX0sWHhiPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJiYXJzLWNvbnRhaW5lciI+CiAgICAgICAgJHtjLm1hcChlPT57dmFyIGY9V3hiKGIsZSxkKSxnPShiK01hdGguZmxvb3IoZS8yNCkpJTc9PT1hLnRoJiZlJTI0PT09YS53aCxoPWcmJmY/Lkx5IT1udWxsLGs9TWF0aC5taW4oZj8uSkI/PzAsMTAwKSxtPWAke2t9JWA7Zj1gJHtNYXRoLm1pbihmPy5yQj8/MCwxMDApfSVgO3ZhciBwPWEueGguZ2V0KGUpO3B8fChwPVB4YihlJTI0KSxhLnhoLnNldChlLHApKTtlPWo3KCJ7cG9wdWxhclRpbWVzUGVyY2VudGFnZX0lIGJ1c3kgYXQge3RpbWV9Iix7cG9wdWxhclRpbWVzUGVyY2VudGFnZTprLHRpbWU6cH0pO3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJhci13cmFwcGVyIgogICAgICAgIHJvbGU9ImltZyIKICAgICAgICBhcmlhLWxhYmVsPSIke2V9IgogICAgICAgIHRpdGxlPSIke2V9Ij4KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0iJHsoMCxfLmFyKSh7YmFyOiEwLCJjdXJyZW50LWhvdXIiOmd9KX0iCiAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAke219Ij48L2Rpdj4KICAgICAgICAke2g/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImJhciBjdXJyZW50LWhvdXIgbGl2ZSIKICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7Zn0iPjwvZGl2PgogICAgICAgICAgICBgOl8uU3N9CiAgICAgIDwvZGl2PgogICAgYH0pfQogICAgICA8L2Rpdj4KICAgIGB9LFl4Yj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMuZmluZChkPT4oYitNYXRoLmZsb29yKGQvMjQpKSU3PT09YS50aCYmZCUyND09PWEud2gpfSwkeGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWFwKChiLGMpPT57dmFyIGQ9YiUzPT09MDtyZXR1cm4oMCxfLldxKWAKICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1jb250YWluZXIiPgogICAgICAgICAgJHtkPygwLF8uV3EpYDxkaXYgY2xhc3M9InRpY2siPjwvZGl2PmA6Xy5Tc30KICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+JHtkJiZjIT09MD9aeGJbYiUyNF18fCIiOiIifTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0pfSxheWI9ZnVuY3Rpb24oYSxiKXthLnNlbGVjdGVkVmFsdWUhPT1iJiYoYS5zZWxlY3RlZFZhbHVlPWIsYS5vblNlbGVjdGVkVmFsdWVDaGFuZ2VkPy4oYikpfSxieWI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTGlzdC5hZGQoInBvcHVsYXItdGltZXMtaW5mby1kaWFsb2ctY29udGVudCIpO3ZhciBiPW5ldyBfLllxKHt0aXRsZToiUG9wdWxhciB0aW1lcyIsY29udGVudDphfSk7Xy5YcygoMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0iaW5mby10ZXh0Ij4keyJCYXNlZCBvbiBoaXN0b3JpY2FsIHZpc2l0cyB0byB0aGlzIHBsYWNlLiJ9PC9kaXY+CiAgICAgIDxidXR0b24KICAgICAgICBjbGFzcz0ib2stYnV0dG9uIgogICAgICAgIEBjbGljaz0keygpPT57Yi5jbG9zZSgpfX0KICAgICAgICA+JHsiT0sifTwvYnV0dG9uCiAgICAgID4KICAgIGAsYSk7cmV0dXJuIGJ9LGN5Yj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLldxKWAKICAgICAgPGJ1dHRvbgogICAgICAgIGNsYXNzPSJpbmZvLWJ1dHRvbiIKICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgYXJpYS1oYXNwb3B1cD0iZGlhbG9nIgogICAgICAgIHRpdGxlPSR7IkFib3V0IHBvcHVsYXIgdGltZXMifQogICAgICAgIGFyaWEtbGFiZWw9JHsiQWJvdXQgcG9wdWxhciB0aW1lcyJ9CiAgICAgICAgQGNsaWNrPSR7Yj0+e2Iuc3RvcFByb3BhZ2F0aW9uKCk7YS5xaC5iai5zaG93TW9kYWwoKX19PgogICAgICAgIDxkaXYgY2xhc3M9InRhcC1hcmVhIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWljb24tY29udGFpbmVyIj4KICAgICAgICAgICR7Xy4kcSh7ZmlsbDoidmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQpIn0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2J1dHRvbj4KICAgIGB9LGR5Yj1mdW5jdGlvbihhLGIpe2I9Yi5tYXAoYz0+KHtsYWJlbDpON1tjLkVzXXx8IiIsdmFsdWU6Yy5Fc30pKTtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyLWxhYmVsIj4KICAgICAgICAgIDxzbG90IG5hbWU9InByZWZpeCI+PC9zbG90PgogICAgICAgICAgPHNwYW4+JHsiUG9wdWxhciB0aW1lcyJ9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1jb250cm9scyI+CiAgICAgICAgICA8Z21wLWludGVybmFsLXNlbGVjdGlvbi1idXR0b24KICAgICAgICAgICAgLm9wdGlvbnM9JHtifQogICAgICAgICAgICAuc2VsZWN0ZWRWYWx1ZT0ke2EuZnZ9CiAgICAgICAgICAgIC5vblNlbGVjdGVkVmFsdWVDaGFuZ2VkPSR7Yz0+e2EuZnY9Y319PgogICAgICAgICAgPC9nbXAtaW50ZXJuYWwtc2VsZWN0aW9uLWJ1dHRvbj4KICAgICAgICAgICR7Y3liKGEpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9LGV5Yj1mdW5jdGlvbihhLGIpe3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJwYWdpbmF0aW9uLWRvdHMiPgogICAgICAgICR7Yi5tYXAoYz0+KDAsXy5XcSlgIDxkaXYgY2xhc3M9IiR7KDAsXy5hcikoeyJwYWdpbmF0aW9uLWRvdCI6ITAsc2VsZWN0ZWQ6Yy5Fcz09PWEuZnZ9KX0iPjwvZGl2PiBgKX0KICAgICAgPC9kaXY+CiAgICBgfSxmeWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZpbmQoZT0+ZS5Fcz09PWEuZnYpO2lmKCFjKXJldHVybiBfLlNzO3ZhciBkPWMuRkI7Yj1jLkhCO2M9Yy5HQjtpZighZHx8IWJ8fCFjKXJldHVybiBfLlNzO2Q9UnhiKGQpO2I9UXhiKGIpO2M9UXhiKGMpO2I9ajcoIlBlYWsgd2FpdCB1cCB0byB7ZHVyYXRpb259IGZyb20ge3N0YXJ0VGltZX0gLSB7ZW5kVGltZX0iLHtkdXJhdGlvbjpkLHN0YXJ0VGltZTpiLGVuZFRpbWU6Y30pO3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJwZWFrLXdhaXQtdGltZS1jb250YWluZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwZWFrLXdhaXQtdGltZS10ZXh0Ij4ke2J9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9LGd5Yj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS51c2VyUmF0aW5nQ291bnQ7aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuIG51bGw7Yj0obmV3IEludGwuTnVtYmVyRm9ybWF0KGIpKS5mb3JtYXQoZCk7ZD1qNygie1VTRVJfUkFUSU5HX0NPVU5ULCBwbHVyYWwsICAgPTEgeyMgcmV2aWV3fSAgb3RoZXIgeyMgcmV2aWV3c319Iix7VVNFUl9SQVRJTkdfQ09VTlQ6ZH0pO3JldHVybigwLF8uV3EpYDxzcGFuIHBhcnQ9InJldmlld3MiCiAgICA+PHNwYW4gYXJpYS1oaWRkZW49InRydWUiPig8L3NwYW4+JHthLmdvb2dsZU1hcHNVUkk/KDAsXy5XcSlgPGEKICAgICAgICAuaHJlZj0ke2EuZ29vZ2xlTWFwc1VSSX0KICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICBhcmlhLWxhYmVsPSR7Xy5RcShkKX0KICAgICAgICBAY2xpY2s9JHtlPT57YyYmZS5zdG9wUHJvcGFnYXRpb24oKTtfLk0oYSwzMTEzNzUpfX0KICAgICAgICA+JHtifTwvYQogICAgICA+YDpifTxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIgogICAgICA+KTwvc3BhbgogICAgPjwvc3BhbgogID5gfSxoeWI9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIk5FV0VTVCI6cmV0dXJuIlJldmlld3MgYXJlIG9yZGVyZWQgYnkgbmV3ZXN0LiI7Y2FzZSAiTE9XRVNUX1JBVElORyI6cmV0dXJuIlJldmlld3MgYXJlIG9yZGVyZWQgYnkgbG93ZXN0IHJhdGluZy4iO2Nhc2UgIkhJR0hFU1RfUkFUSU5HIjpyZXR1cm4iUmV2aWV3cyBhcmUgb3JkZXJlZCBieSBoaWdoZXN0IHJhdGluZy4iO2RlZmF1bHQ6cmV0dXJuIlJldmlld3MgYXJlIG9yZGVyZWQgYnkgcmVsZXZhbmNlLiJ9fSxpeWI9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5XcSlgCiAgICA8Z21wLWludGVybmFsLWRpc2Nsb3N1cmUtc2VjdGlvbgogICAgICAuaGVhZGluZz0keyJSZXZpZXcgb3JkZXJpbmcifQogICAgICAuZGVzY3JpcHRpb249JHtoeWIoYSl9PgogICAgPC9nbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uPgogIGB9LGp5Yj1mdW5jdGlvbihhKXtyZXR1cm4gYS5sZW5ndGg9PT0wP251bGw6KDAsXy5XcSlgCiAgICA8ZGl2CiAgICAgIHJvbGU9InJlZ2lvbiIKICAgICAgY2xhc3M9InJldmlld3MtY29udGFpbmVyIgogICAgICAuYXJpYUxhYmVsPSR7Ikxpc3Qgb2YgcmV2aWV3cyJ9PgogICAgICAke18uU3N9CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJyZXZpZXdzLXNlY3Rpb24iPgogICAgICAgICR7YS5tYXAoYj0+KDAsXy5XcSlgCiAgICAgICAgICAgIDxnbXAtaW50ZXJuYWwtcGxhY2UtcmV2aWV3CiAgICAgICAgICAgICAgLnJldmlldz0ke2J9CiAgICAgICAgICAgICAgLnNob3dGdWxsUmV2aWV3TGluaz0keyExfT48L2dtcC1pbnRlcm5hbC1wbGFjZS1yZXZpZXc+CiAgICAgICAgICBgKX0KICAgICAgPC9zZWN0aW9uPgogICAgICA8ZGl2IGNsYXNzPSJyZXZpZXdzLWRpc2Nsb3N1cmUiPgogICAgICAgIDxnbXAtaW50ZXJuYWwtYXR0cmlidXRpb24KICAgICAgICAgIC5hdHRyaWJ1dGlvblR5cGU9JHsiVEVYVCJ9CiAgICAgICAgICAuYXR0cmlidXRpb25UZXh0PSR7IlJldmlld3MgYXJlbid0IHZlcmlmaWVkIn0KICAgICAgICAgIC5hdHRyaWJ1dGlvbkZvbnQ9JHsiQk9EWV9NRURJVU0ifQogICAgICAgICAgLnNob3dJbmZvQnV0dG9uPSR7ITB9CiAgICAgICAgICAuZGlzY2xvc3VyZUNvbnRlbnQ9JHtbTzcsaXliKCldfQogICAgICAgICAgLm1vcmVJbmZvQnV0dG9uVGl0bGU9JHsiQWJvdXQgcmV2aWV3cyBmcm9tIEdvb2dsZSBNYXBzIn0KICAgICAgICAgIC5pbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkPSR7ITB9PgogICAgICAgIDwvZ21wLWludGVybmFsLWF0dHJpYnV0aW9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LG15Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmZ1ZWxPcHRpb25zO2lmKCFiKXJldHVybiBudWxsO2E9a3liLm1hcChjPT57dmFyIHtwcmljZTpkLHVwZGF0ZVRpbWU6ZX09Yi5mdWVsUHJpY2VzLmZpbmQoZj0+Zi50eXBlPT09Yyk/P3t9O3JldHVybntSTTpjLHByaWNlOmQ/P251bGwsT0o6ZT9lLmdldFRpbWUoKTxEYXRlLm5vdygpLTg2NEU1Om51bGx9fSk7cmV0dXJuKDAsXy5XcSlgCiAgICA8c2VjdGlvbiBjbGFzcz0iZnVlbC1vcHRpb25zIiAuYXJpYUxhYmVsPSR7IkZ1ZWwgb3B0aW9ucyJ9PgogICAgICA8dWw+CiAgICAgICAgJHthLm1hcChseWIpfQogICAgICA8L3VsPgogICAgICAke2Euc29tZShjPT5jLk9KKT8oMCxfLldxKWAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdG5vdGUiIHJvbGU9Im5vdGUiPgogICAgICAgICAgICAgIDxzcGFuPio8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4+JHsiUHJpY2UgYXMgb2YgMjQrIGhvdXJzIGFnbyJ9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICA8L3NlY3Rpb24+CiAgYH0sbHliPWZ1bmN0aW9uKHtSTTphLHByaWNlOmIsT0o6Y30pe2E9ajcoIntGVUVMX1RZUEUsIHNlbGVjdCwgIFJFR1VMQVJfVU5MRUFERUQge1JlZ3VsYXJ9ICBNSURHUkFERSB7TWlkZ3JhZGV9ICBQUkVNSVVNIHtQcmVtaXVtfSAgRElFU0VMIHtEaWVzZWx9ICBvdGhlciB7fX0iLHtGVUVMX1RZUEU6YX0pO3JldHVybigwLF8uV3EpYAogICAgPGxpPgogICAgICA8ZGl2IGNsYXNzPSJmdWVsLWxhYmVsIj4ke2F9PC9kaXY+CiAgICAgIDxkaXY+CiAgICAgICAgJHtiPygwLF8uV3EpYAogICAgICAgICAgICAgIDxzcGFuPiR7Yi50b1N0cmluZygpfTwvc3Bhbj4KICAgICAgICAgICAgICAke2M/KDAsXy5XcSlgPHNwYW4+Kjwvc3Bhbj5gOiIifQogICAgICAgICAgICBgOigwLF8uV3EpYDxzcGFuPi08L3NwYW4+YH0KICAgICAgPC9kaXY+CiAgICA8L2xpPgogIGB9LHF5Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmV2Q2hhcmdlT3B0aW9ucyxjPWEucmVxdWVzdGVkTGFuZ3VhZ2U7YT1hLnJlcXVlc3RlZFJlZ2lvbjtpZighYilyZXR1cm4gbnVsbDt2YXIgZD1fLkpsLnJoKCk7Yz1jPz8oZC5yaCgpfHx2b2lkIDApO2E9YT8/KCFkLnhoKCkmJmQudGgoKXx8dm9pZCAwKTt2YXIgZT1jP25ldyBJbnRsLkxvY2FsZShjLGE/e3JlZ2lvbjphfTp2b2lkIDApOnZvaWQgMDtiPWIuY29ubmVjdG9yQWdncmVnYXRpb25zO2M9Yi5tYXAoZj0+Zi5hdmFpbGFiaWxpdHlMYXN0VXBkYXRlVGltZSkuZmluZChCb29sZWFuKTtyZXR1cm4oMCxfLldxKWAKICAgIDxzZWN0aW9uIGNsYXNzPSJldmNoYXJnZS1vcHRpb25zIiAuYXJpYUxhYmVsPSR7IkVsZWN0cmljIHZlaGljbGUgY2hhcmdpbmcgb3B0aW9ucyJ9PgogICAgICA8dWw+CiAgICAgICAgJHtiLm1hcChmPT5ueWIoZixlKSl9CiAgICAgIDwvdWw+CiAgICAgICR7Yz9veWIocHliKGMsZSkpOiIifQogICAgPC9zZWN0aW9uPgogIGB9LG95Yj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLldxKWAKICAgIDxkaXYgY2xhc3M9ImZvb3Rub3RlIiByb2xlPSJub3RlIj4keyJVcGRhdGVkICIrYX08L2Rpdj4KICBgfSxueWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvdW50LGQ9YS5hdmFpbGFibGVDb3VudCxlPWEubWF4Q2hhcmdlUmF0ZUt3LGY9KGgsayk9PihuZXcgSW50bC5OdW1iZXJGb3JtYXQoYixrKSkuZm9ybWF0KGgpO2E9ajcoIntFVl9DT05ORUNUT1JfVFlQRSwgc2VsZWN0LCAgQ0NTX0NPTUJPXzEge0NDU30gIENDU19DT01CT18yIHtDQ1N9ICBDSEFERU1PIHtDSEFkZU1PfSAgSjE3NzIge0oxNzcyfSAgVEVTTEEge1Rlc2xhfSAgTkFDUyB7TkFDU30gIFRZUEVfMiB7VHlwZSAyfSAgVU5TUEVDSUZJRURfR0JfVCB7R0IvVH0gIFVOU1BFQ0lGSUVEX1dBTExfT1VUTEVUIHtXYWxsIG91dGxldH0gIG90aGVyIHtVbmtub3duIGNvbm5lY3Rvcn19Iix7RVZfQ09OTkVDVE9SX1RZUEU6YS50eXBlfSk7dmFyIGc9aD0+ZD09bnVsbD9udWxsOmo3KCJ7VkFSSUFOVCwgc2VsZWN0LCAgc2hvcnQge3tBVkFJTEFCTEVfQ09VTlR9L3tUT1RBTF9DT1VOVH19ICBzdGFuZGFsb25lIHt7QVZBSUxBQkxFX0NPVU5UfSBvdXQgb2Yge1RPVEFMX0NPVU5UfSBhdmFpbGFibGV9ICBvdGhlciB7fX0iLAp7VkFSSUFOVDpoLEFWQUlMQUJMRV9DT1VOVDpkLFRPVEFMX0NPVU5UOmN9KTtlPWYoZSx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KSsiIGtXIjtyZXR1cm4oMCxfLldxKWAKICAgIDxsaT4KICAgICAgJHsoMCxfLldxKWA8c3ZnIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHBhdGggZD0ibTM0MC0yMDAgMTAwLTE2MGgtNjB2LTEyMEwyODAtMzIwaDYwek0yNDAtNTYwaDI0MHYtMjAwSDI0MHptMCAzNjBoMjQwdi0yODBIMjQwem0tODAgODB2LTY0MHEwLTMzIDIzLjUtNTYuNVQyNDAtODQwaDI0MHEzMyAwIDU2LjUgMjMuNVQ1NjAtNzYwdjI4MGg1MHEyOSAwIDQ5LjUgMjAuNVQ2ODAtNDEwdjE4NXEwIDE3IDE0IDMxdDMxIDE0cTE4IDAgMzEuNS0xNHQxMy41LTMxdi0zNzVoLTEwcS0xNyAwLTI4LjUtMTEuNVQ3MjAtNjQwdi04MGgyMHYtNjBoNDB2NjBoNDB2LTYwaDQwdjYwaDIwdjgwcTAgMTctMTEuNSAyOC41VDg0MC02MDBoLTEwdjM3NXEwIDQyLTMwLjUgNzMuNVQ3MjUtMTIwcS00MyAwLTc0LTMxLjVUNjIwLTIyNXYtMTg1cTAtNS0yLjUtNy41VDYxMC00MjBoLTUwdjMwMHptMzIwLTgwSDI0MHoiLz48L3N2Zz5gfQogICAgICA8ZGl2IGNsYXNzPSJldmNoYXJnZS1sYWJlbCI+CiAgICAgICAgPHNwYW4+JHthfTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iaW50ZXJwdW5jdCI+XHUwMGI3PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJldmNoYXJnZS1yYXRlIj4ke2V9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgJHtkPT1udWxsPygwLF8uV3EpYAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmNoYXJnZS1jb3VudCI+CiAgICAgICAgICAgICAgPHNwYW4+JHsiVG90YWwifTwvc3Bhbj4KICAgICAgICAgICAgICA8Yj4ke2YoYyl9PC9iPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6KDAsXy5XcSlgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0keygwLF8uYXIpKHtjaGlwOiEwLCJjaGlwLWFjdGl2ZSI6ISFkfSl9CiAgICAgICAgICAgICAgLmFyaWFMYWJlbD0ke2coInN0YW5kYWxvbmUiKX0KICAgICAgICAgICAgICAudGl0bGU9JHtnKCJzdGFuZGFsb25lIik/PyIifQogICAgICAgICAgICAgIHJvbGU9ImltZyI+CiAgICAgICAgICAgICAgPHNwYW4+JHtnKCJzaG9ydCIpfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgPC9saT4KICBgfSxweWI9ZnVuY3Rpb24oYSxiKXthPU1hdGguZmxvb3IoKERhdGUubm93KCktYS5nZXRUaW1lKCkpLzZFNCk7dmFyIGM9TWF0aC5mbG9vcihhLzYwKSxkPU1hdGguZmxvb3IoYy8yNCk7Yj1uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoYix7bnVtZXJpYzoiYXV0byJ9KTtyZXR1cm4gZD4wP2IuZm9ybWF0KC1kLCJkYXkiKTpjPjA/Yi5mb3JtYXQoLWMsImhvdXIiKTpiLmZvcm1hdCgtYSwibWludXRlIil9LHJ5Yj1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKG5ldyBVUkwoYT8/IiIpKS5ob3N0bmFtZS5yZXBsYWNlKC9eKHd3d1wuKS8sIiIpfWNhdGNoKGIpe3JldHVybiBhfX0sc3liPWZ1bmN0aW9uKGEpe3JldHVybiJXZWJzaXRlOiAiK2F9LFA3PWZ1bmN0aW9uKCl7Zm9yKGxldCBbYSxiXW9mIHR5Yi5lbnRyaWVzKCkpXy54byhhLGIpO2ZvcihsZXQgW2EsYl1vZiB1eWIuZW50cmllcygpKV8ueG8oYSxiKX0sUTc9ZnVuY3Rpb24oYSl7cmV0dXJuISFhJiZ0eXBlb2YgYT09PSJvYmplY3QiJiYKdHlwZW9mIGEuZXF1YWxzPT09ImZ1bmN0aW9uIn0sdnliPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZW50cmllcyhhKS5zb3J0KChbYl0sW2NdKT0+Yi5sb2NhbGVDb21wYXJlKGMpKX0sUjc9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4hMDtpZihRNyhhKSE9PVE3KGIpKXJldHVybiExO2lmKFE3KGEpKXJldHVybiBhLmVxdWFscyhiKTtpZihBcnJheS5pc0FycmF5KGEpJiZBcnJheS5pc0FycmF5KGIpKXtpZihhLmxlbmd0aCE9PWIubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKCFSNyhhW2NdLGJbY10pKXJldHVybiExO3JldHVybiEwfWlmKGEmJmImJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBiPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KGEpJiYhQXJyYXkuaXNBcnJheShiKSl7YT12eWIoYSkuZmlsdGVyKChbLGRdKT0+ZCE9PXZvaWQgMCk7Yj12eWIoYikuZmlsdGVyKChbLGRdKT0+ZCE9PXZvaWQgMCk7aWYoYS5sZW5ndGghPT0KYi5sZW5ndGgpcmV0dXJuITE7Zm9yKGM9MDtjPGEubGVuZ3RoO2MrKyl7bGV0IFtkLGVdPWFbY10sW2YsZ109YltjXTtpZihkIT09Znx8IVI3KGUsZykpcmV0dXJuITF9cmV0dXJuITB9cmV0dXJuITF9LHl5Yj1hc3luYyBmdW5jdGlvbihhLGI9ITEpe2lmKGEuaXNDb25uZWN0ZWQmJmEuT3ope3ZhciBjPSsrYS5zaDtpZihiJiYoYXdhaXQgd3liKGEpLGEuc2ghPT1jKSlyZXR1cm47YXdhaXQgeHliKGEsYyl9fSx3eWI9YXN5bmMgZnVuY3Rpb24oYSl7YS5udyE9PUluZmluaXR5JiYoYS5udz1JbmZpbml0eSxhd2FpdCBhLkNwKX0seHliPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9enliKGEpO2lmKGMhPT0tMSlmb3IoO2M+MDspe2Eubnc9Yzthd2FpdCBhLkNwO2lmKGEuc2ghPT1iKWJyZWFrO2E6e2lmKCFhLk96KXt2YXIgZD0wO2JyZWFrIGF9ZD1hLk96LmNoaWxkcmVuO2xldCBlPWQubGVuZ3RoO2lmKGU9PT0wKXtkPTA7YnJlYWsgYX1sZXQgZj0xLGc9ZFswXS5vZmZzZXRUb3A7CmZvcihsZXQgaD0xO2g8ZTtoKyspe2xldCBrPWRbaF0ub2Zmc2V0VG9wO2s+ZyYmKGYrKyxnPWspfWQ9Zn1pZihkPD0yKWJyZWFrO2MtLX19LHp5Yj1mdW5jdGlvbihhKXtpZighYS5PeilyZXR1cm4tMTthPWEuT3ouY2hpbGRyZW47dmFyIGI9YS5sZW5ndGg7aWYoYj09PTApcmV0dXJuLTE7dmFyIGM9MSxkPWFbMF0ub2Zmc2V0VG9wO2ZvcihsZXQgZT0xO2U8YjtlKyspe2xldCBmPWFbZV0ub2Zmc2V0VG9wO2lmKGY+ZCYmKGMrKyxkPWYsYz09PTMpKXJldHVybiBlfXJldHVybi0xfSxCeWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVuZGVySW5mbz8idHJhbnNpdCBtb2RlczogIisoQXliLmdldChhLnJlbmRlckluZm8udmVoaWNsZVR5cGUpPz8iVHJhbnNpdCIpOiIifSxDeWI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IE1hcCxjPW5ldyBNYXA7Zm9yKGxldCBlIG9mIGEuYWdlbmNpZXM/P1tdKWZvcihsZXQgZiBvZiBlLmxpbmVzPz9bXSl7YT1mLnZlaGljbGVUeXBlO2lmKCFhKWNvbnRpbnVlOwphOnN3aXRjaChhKXtjYXNlICJSQUlMIjpjYXNlICJIRUFWWV9SQUlMIjpjYXNlICJDT01NVVRFUl9UUkFJTiI6Y2FzZSAiSElHSF9TUEVFRF9UUkFJTiI6Y2FzZSAiTE9OR19ESVNUQU5DRV9UUkFJTiI6Y2FzZSAiTUVUUk9fUkFJTCI6dmFyIGQ9IlJBSUwiO2JyZWFrIGE7Y2FzZSAiQlVTIjpjYXNlICJJTlRFUkNJVFlfQlVTIjpkPSJCVVMiO2JyZWFrIGE7ZGVmYXVsdDpkPWF9Yi5oYXMoZCl8fGIuc2V0KGQsW10pO2xldCBnPWIuZ2V0KGQpLGg9e3RleHRDb2xvcjpmLnRleHRDb2xvcnx8dm9pZCAwLGJhY2tncm91bmRDb2xvcjpmLmJhY2tncm91bmRDb2xvcnx8dm9pZCAwLGRpc3BsYXlOYW1lOmYuZGlzcGxheU5hbWV8fHZvaWQgMCxzaG9ydERpc3BsYXlOYW1lOmYuc2hvcnREaXNwbGF5TmFtZXx8dm9pZCAwLHZlaGljbGVUeXBlOmF9O2cuc29tZShrPT57dmFyIG09aC5zaG9ydERpc3BsYXlOYW1lfHxoLmRpc3BsYXlOYW1lLHA9ay5zaG9ydERpc3BsYXlOYW1lfHxrLmRpc3BsYXlOYW1lOwpyZXR1cm4gay50ZXh0Q29sb3I9PT1oLnRleHRDb2xvciYmay5iYWNrZ3JvdW5kQ29sb3I9PT1oLmJhY2tncm91bmRDb2xvciYmbT09PXB9KXx8Zy5wdXNoKGgpOyhhPWYudmVoaWNsZUljb24/LnVybD8udG9TdHJpbmcoKSkmJiFjLmhhcyhkKSYmYy5zZXQoZCxhKX1yZXR1cm57ZE86YixBTjpjfX0sRHliPWZ1bmN0aW9uKGEpe3JldHVyblsuLi5hXS5zb3J0KChiLGMpPT4oYi5zaG9ydERpc3BsYXlOYW1lfHxiLmRpc3BsYXlOYW1lfHwiIikubG9jYWxlQ29tcGFyZShjLnNob3J0RGlzcGxheU5hbWV8fGMuZGlzcGxheU5hbWV8fCIiKSl9LEZ5Yj1mdW5jdGlvbihhKXt2YXIge2RPOmIsQU46Y309Q3liKGEpO3JldHVybiBBcnJheS5mcm9tKGIuZW50cmllcygpLChbZCxlXSk9Pih7cks6Yy5nZXQoZCksbGluZXM6RHliKGUpLHZlaGljbGVUeXBlOmR9KSkuc29ydCgoZCxlKT0+e2Q9ZC52ZWhpY2xlVHlwZTtlPWUudmVoaWNsZVR5cGU7dmFyIGY9RXliLmluZGV4T2YoZCksZz1FeWIuaW5kZXhPZihlKTsKZj09PS0xJiYoZj1JbmZpbml0eSk7Zz09PS0xJiYoZz1JbmZpbml0eSk7cmV0dXJuIGY9PT1JbmZpbml0eSYmZz09PUluZmluaXR5P2QubG9jYWxlQ29tcGFyZShlKTpmLWd9KX0sSHliPWZ1bmN0aW9uKGEsYil7YT1HeWIuZ2V0KGEudG9VcHBlckNhc2UoKSk7cmV0dXJuIGEhPT12b2lkIDA/YShiKTohMH0sUzc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wbGFjZSxjPWEuc2osZD1hLkdsO3JldHVybigoYT1JeWIuZ2V0KGEuUGwpKT9IeWIoYSxiKToxKSYmZD9jOm51bGx9LEx5Yj1mdW5jdGlvbihhKXt2YXIgYj1bLi4uSnliLmtleXMoKSwiR01QLVBMQUNFLUFMTC1DT05URU5UIiwiR01QLVBMQUNFLVNUQU5EQVJELUNPTlRFTlQiXSxjPVtdO2lmKGEmJkt5Yi5pbmNsdWRlcyhhLnRhZ05hbWUpKXtjPVsuLi5hLmNoaWxkcmVuXS5zb21lKGU9PmIuaW5jbHVkZXMoZS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpKTtsZXQgZD1hLnF1ZXJ5U2VsZWN0b3IoImdtcC1wbGFjZS1jb250ZW50LWNvbmZpZyIpOwpjPWQmJiFjP1suLi5kLmNoaWxkcmVuXTpbLi4uYS5jaGlsZHJlbl19YT1bXTtmb3IobGV0IGQgb2YgYyliLmluY2x1ZGVzKGQudGFnTmFtZS50b1VwcGVyQ2FzZSgpKSYmYS5wdXNoKGQpO3JldHVybiBhfSxOeWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmNvbnRlbnRDb25maWcsZD1iLnNsb3RzQ29uc3RydWN0aW9uRGF0YTtiPVM3KHtwbGFjZTphLHNqOmEucHJpbWFyeVR5cGVEaXNwbGF5TmFtZT8oMCxfLldxKWA8c3Bhbj4ke2EucHJpbWFyeVR5cGVEaXNwbGF5TmFtZX08L3NwYW4+YDpudWxsLFBsOiJwbGFjZVR5cGUiLEdsOiEhYz8ucGxhY2VUeXBlLHNsb3RzQ29uc3RydWN0aW9uRGF0YTpkfSk7e2xldCBnPWEucHJpY2VSYW5nZTtpZihnJiZnLnN0YXJ0UHJpY2Upe3ZhciBlPW5ldyBaNigiIywjIzAiLGcuc3RhcnRQcmljZS5jdXJyZW5jeUNvZGUpO3ZhciBmPVY2KGcuc3RhcnRQcmljZS5jdXJyZW5jeUNvZGUpO2U9Zy5lbmRQcmljZT8oMCxfLldxKWAKICAgIDxzcGFuCiAgICAgID4ke2o3KCJ7Q1VSUkVOQ1lfU1lNQk9MfXtTVEFSVF9QUklDRX0te0VORF9QUklDRX0iLHtTVEFSVF9QUklDRTplLmZvcm1hdChnLnN0YXJ0UHJpY2UudW5pdHMpLEVORF9QUklDRTplLmZvcm1hdChnLmVuZFByaWNlLnVuaXRzKSxDVVJSRU5DWV9TWU1CT0w6Zn0pfTwvc3BhbgogICAgPgogIGA6KDAsXy5XcSlgCiAgICAgIDxzcGFuCiAgICAgICAgPiR7ajcoIntDVVJSRU5DWV9TWU1CT0x9e1NUQVJUX1BSSUNFfSsiLHtTVEFSVF9QUklDRTplLmZvcm1hdChnLnN0YXJ0UHJpY2UudW5pdHMpLENVUlJFTkNZX1NZTUJPTDpmfSl9PC9zcGFuCiAgICAgID4KICAgIGB9ZWxzZShmPWEucHJpY2VMZXZlbCkmJmYhPT0iRlJFRSI/KGU9ajcoIntQUklDRV9MRVZFTCwgc2VsZWN0LCAgSU5FWFBFTlNJVkUgeyB7Q1VSUkVOQ1lfU1lNQk9MfX0gIE1PREVSQVRFIHsge0NVUlJFTkNZX1NZTUJPTH17Q1VSUkVOQ1lfU1lNQk9MfX0gIEVYUEVOU0lWRSB7IHtDVVJSRU5DWV9TWU1CT0x9e0NVUlJFTkNZX1NZTUJPTH17Q1VSUkVOQ1lfU1lNQk9MfX0gIFZFUllfRVhQRU5TSVZFIHsge0NVUlJFTkNZX1NZTUJPTH17Q1VSUkVOQ1lfU1lNQk9MfXtDVVJSRU5DWV9TWU1CT0x9e0NVUlJFTkNZX1NZTUJPTH19ICBvdGhlciB7fX0iLHtQUklDRV9MRVZFTDpmLENVUlJFTkNZX1NZTUJPTDpWNihYNi5oeCl9KSxmPWo3KCJ7UFJJQ0VfTEVWRUwsIHNlbGVjdCwgIElORVhQRU5TSVZFIHtJbmV4cGVuc2l2ZX0gIE1PREVSQVRFIHtNb2RlcmF0ZWx5IEV4cGVuc2l2ZX0gIEVYUEVOU0lWRSB7RXhwZW5zaXZlfSAgVkVSWV9FWFBFTlNJVkUge1ZlcnkgRXhwZW5zaXZlfSAgb3RoZXIge319IiwKe1BSSUNFX0xFVkVMOmZ9KSxlPSgwLF8uV3EpYAogICAgPHNwYW4gLmFyaWFMYWJlbD0ke2Z9IC50aXRsZT0ke2Z9IHJvbGU9ImltZyI+CiAgICAgICR7ZX0KICAgIDwvc3Bhbj4KICBgKTplPW51bGx9ZT1TNyh7cGxhY2U6YSxzajplLFBsOiJwcmljZSIsR2w6ISFjPy5wcmljZSxzbG90c0NvbnN0cnVjdGlvbkRhdGE6ZH0pO2E9Uzcoe3BsYWNlOmEsc2o6TXliKGEsIWImJiFlKSxQbDoiYWNjZXNzaWJsZUVudHJhbmNlSWNvbiIsR2w6ISFjPy5hY2Nlc3NpYmxlRW50cmFuY2VJY29uLHNsb3RzQ29uc3RydWN0aW9uRGF0YTpkfSk7cmV0dXJuIHo3KGIpJiZ6NyhlKSYmejcoYSk/bnVsbDooMCxfLldxKWAgJHtCNyhiLGUsYSl9IGB9LE15Yj1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBhLmFjY2Vzc2liaWxpdHlPcHRpb25zPy5oYXNXaGVlbGNoYWlyQWNjZXNzaWJsZUVudHJhbmNlPygwLF8uV3EpYAogICAgJHtPeWIoe2NsYXNzTmFtZToid2hlZWxjaGFpciIsYXJpYUhpZGRlbjpiPyJ0cnVlIjoiZmFsc2UiLGtROmI/IiI6IkFjY2Vzc2libGUgZW50cmFuY2UifSl9CiAgICAke2I/KDAsXy5XcSlgPHNwYW4+JHsiQWNjZXNzaWJsZSBlbnRyYW5jZSJ9PC9zcGFuPmA6IiJ9CiAgYDpudWxsfSxQeWI9ZnVuY3Rpb24oYSl7dmFyIGI9Uzcoe3BsYWNlOmEucGxhY2Usc2o6KDAsXy5XcSlgPHNwYW4gY2xhc3M9InRpdGxlICR7YS50aXRsZVNpemV9IgogICAgICA+JHthLnBsYWNlPy5kaXNwbGF5TmFtZX08L3NwYW4KICAgID5gLFBsOiJuYW1lIixHbDohMCxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YS5zbG90c0NvbnN0cnVjdGlvbkRhdGF9KSxjPWEuZW5hYmxlQ29ybmVyQWN0aW9ucz8oMCxfLldxKWA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICAgIDxzbG90IG5hbWU9ImFjdGlvbi1jb3JuZXIiPjwvc2xvdD4KICAgICAgICA8L2Rpdj5gOl8uU3M7cmV0dXJuIHo3KGIpJiYhYS5lbmFibGVDb3JuZXJBY3Rpb25zP18uU3M6KDAsXy5XcSlgIDxkaXYgY2xhc3M9Im5hbWUtcm93Ij4gJHtifSAke2N9IDwvZGl2PiBgfSxSeWI9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IHt4dTpjLGRhdGE6ZH1vZiBiKXN3aXRjaChjKXtjYXNlIFQ3OmI9ZDtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYikpaWYoIShlIGluIGEuRHgpKXtsZXQgZj1ReWIuZ2V0KGUpfHxlO18ubEUoYSxgJyR7Zn0nIGlzIG5vdCBhIHN1cHBvcnRlZCBjb250ZW50IGNvbmZpZy5gKX1yZXR1cm4gYjtjYXNlIFU3OnJldHVybiBhLlVCO2Nhc2UgVjc6cmV0dXJuIGEuRHh9fSxYNz1mdW5jdGlvbihhKXtyZXR1cm5bLi4uKG5ldyBTZXQoYS5tYXAoYj0+VzcuZ2V0KGIpfHxiKSkpXX0sWjc9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiPVk3KGIpO2lmKCFiLmxlbmd0aCl0aHJvdyBfLkFtKCJmaWVsZHMgYXJyYXkgbXVzdCBub3QgYmUgZW1wdHkiKTsKdmFyIGM9Yi5maWx0ZXIoZD0+IWEuaGFzKGQpJiZkIT09IioiKTtpZihjLmxlbmd0aD4wKXRocm93IF8uQW0oYFVua25vd24gZmllbGRzIHJlcXVlc3RlZDogJHtjLmpvaW4oIiwgIil9YCk7cmV0dXJuIGJ9fSxTeWI9ZnVuY3Rpb24oYSl7dHJ5e2xldCBiPXk2KGEpO2lmKGIgaW5zdGFuY2VvZiBfLlJuKXJldHVybiBifWNhdGNoKGIpe310aHJvdyBfLkFtKGBJbnZhbGlkIExvY2F0aW9uUmVzdHJpY3Rpb246ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCk7fSxUeWI9ZnVuY3Rpb24oYSl7dmFyIGI9eTYoYSk7aWYoYiBpbnN0YW5jZW9mIF8uUm58fGIgaW5zdGFuY2VvZiBfLlRtfHxiIGluc3RhbmNlb2YgXy5Tb3x8Yj09PSJJUF9CSUFTIilyZXR1cm4gYjt0aHJvdyBfLkFtKGBJbnZhbGlkIExvY2F0aW9uQmlhczogJHtKU09OLnN0cmluZ2lmeShhKX1gKTt9LFZ5Yj1mdW5jdGlvbihhKXthPVV5YihhKTt2YXIgYj1hLnByaWNlTGV2ZWxzLGM9YS5taW5SYXRpbmcsZD1hLmxvY2F0aW9uQmlhcywKZT1hLmxvY2F0aW9uUmVzdHJpY3Rpb24sZj1hLnF1ZXJ5LGc9YS50ZXh0UXVlcnksaD1hLnJhbmtCeSxrPWEucmFua1ByZWZlcmVuY2U7aWYoZiYmZyl0aHJvdyBfLkFtKCJCb3RoICdxdWVyeScgYW5kICd0ZXh0UXVlcnknIHNwZWNpZmllZC4gUGxlYXNlIHVzZSAndGV4dFF1ZXJ5JyBvbmx5Iik7aWYoZiljb25zb2xlLndhcm4oIidxdWVyeScgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAndGV4dFF1ZXJ5JyBpbnN0ZWFkIiksYS50ZXh0UXVlcnk9ZixhLnF1ZXJ5PXZvaWQgMDtlbHNlIGlmKCFnKXRocm93IF8uQW0oIid0ZXh0UXVlcnknIG11c3QgYmUgc3BlY2lmaWVkIik7aWYoayYmaCl0aHJvdyBfLkFtKCJCb3RoICdyYW5rUHJlZmVyZW5jZScgYW5kICdyYW5rQnknIHByb3ZpZGVkLiBQbGVhc2UgdXNlIG9ubHkgcmFua1ByZWZlcmVuY2UuIik7aCYmKGNvbnNvbGUud2FybigiJ3JhbmtCeScgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAncmFua1ByZWZlcmVuY2UnIGluc3RlYWQiKSwKYS5yYW5rUHJlZmVyZW5jZT1oLGEucmFua0J5PXZvaWQgMCk7aWYoYyE9bnVsbCYmKGM8MHx8Yz41KSl0aHJvdyBfLkFtKCJtaW5SYXRpbmcgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAtNSBpbmNsdXNpdmUiKTtpZihkJiZlKXRocm93IF8uQW0oIlNldHRpbmcgYm90aCAnbG9jYXRpb25CaWFzJyBhbmQgJ2xvY2F0aW9uUmVzdHJpY3Rpb24nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gc2VhcmNoQnlUZXh0LiBQbGVhc2Ugc2V0IGVpdGhlciAnbG9jYXRpb25CaWFzJyBvciAnbG9jYXRpb25SZXN0cmljdGlvbiciKTtiJiZiLmxlbmd0aCYmKGEucHJpY2VMZXZlbHM9QXJyYXkuZnJvbShuZXcgU2V0KGIpKSk7cmV0dXJuIGF9LFh5Yj1mdW5jdGlvbihhKXtyZXR1cm4gV3liKGEpfSxaeWI9ZnVuY3Rpb24oYSl7YT1ZeWIoYSk7dmFyIGI9YS5pbnB1dCxjPWEuaW5wdXRPZmZzZXQsZD1hLmxvY2F0aW9uQmlhcyxlPWEubG9jYXRpb25SZXN0cmljdGlvbjtpZihjIT1udWxsJiYoYzwwfHxjPj1iLmxlbmd0aCkpdGhyb3cgXy5BbSgiJ2lucHV0T2Zmc2V0JyBzaG91bGQgYmUgbGVzcyB0aGFuICdpbnB1dC5sZW5ndGgnIGFuZCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMC4iKTsKaWYoZCYmZSl0aHJvdyBfLkFtKCJTZXR0aW5nIGJvdGggJ2xvY2F0aW9uQmlhcycgYW5kICdsb2NhdGlvblJlc3RyaWN0aW9uJyBpcyBub3Qgc3VwcG9ydGVkIGluIGF1dG9jb21wbGV0ZS4gUGxlYXNlIHNldCBlaXRoZXIgJ2xvY2F0aW9uQmlhcycgb3IgJ2xvY2F0aW9uUmVzdHJpY3Rpb24nIik7cmV0dXJuIGF9LCR5Yj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhIT09IklQX0JJQVMiKXRocm93IF8uQW0oInZhbHVlIGZvciB0eXBlIHN0cmluZyBpcyBpbnZhbGlkLiIpO3JldHVybiBfLkttKFtfLktxLF8uVG4sZTYsXy5kc10pKGEpfSxhOD1mdW5jdGlvbihhLGI9W10sYz17fSl7Yz1uZXcgJDcoe2lkOmEuZ2V0SWQoKSxyZXNvdXJjZU5hbWU6YS5nZXROYW1lKCkscmVxdWVzdGVkTGFuZ3VhZ2U6Yy5yZXF1ZXN0ZWRMYW5ndWFnZSxyZXF1ZXN0ZWRSZWdpb246Yy5yZXF1ZXN0ZWRSZWdpb259KTtjLkVoPWE7RDcoYyxiKTtyZXR1cm4gY30sYXpiPWFzeW5jIGZ1bmN0aW9uKGEsCmIpe3ZhciBjPVZ5YihhKTtjLnVzZVN0cmljdFR5cGVGaWx0ZXJpbmchPW51bGwmJmMuaW5jbHVkZWRUeXBlPT1udWxsJiZjb25zb2xlLndhcm4oInNldHRpbmcgcHJvcGVydHkgJ3VzZVN0cmljdFR5cGVGaWx0ZXJpbmcnIGhhcyBubyBlZmZlY3Qgd2l0aG91dCBzZXR0aW5nICdpbmNsdWRlZFR5cGUnIik7Yy5maWVsZHMuaW5jbHVkZXMoImlkIil8fGMuZmllbGRzLnB1c2goImlkIik7Yy5maWVsZHMuaW5jbHVkZXMoIioiKSYmKGMuZmllbGRzPVsuLi5iOF0pO3ZhciBkPWMuZmllbGRzLmZpbHRlcihlPT5lIT09InJlc291cmNlTmFtZSIpO2MuZmllbGRzPVg3KGMuZmllbGRzKTsoe3pKOmF9PWF3YWl0IF8uSGwoInBsYWNlc19pbXBsIikpO3RyeXtyZXR1cm57cGxhY2VzOihhd2FpdCBhKGMsYikpLndEKCkubWFwKGU9PmE4KF8uSWYoZSksZCx7cmVxdWVzdGVkTGFuZ3VhZ2U6Yy5sYW5ndWFnZSxyZXF1ZXN0ZWRSZWdpb246Yy5yZWdpb259KSl9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZgpfLlJrKXRocm93IF8ua3IoIkVycm9yIGluIHNlYXJjaEJ5VGV4dDogIitlLm1lc3NhZ2UsIlBMQUNFU19TRUFSQ0hfVEVYVCIsZSk7dGhyb3cgZTt9fSxiemI9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1XeWIoYSk7Yy5maWVsZHMuaW5jbHVkZXMoImlkIil8fGMuZmllbGRzLnB1c2goImlkIik7Yy5maWVsZHMuaW5jbHVkZXMoIioiKSYmKGMuZmllbGRzPVsuLi5iOF0pO3ZhciBkPWMuZmllbGRzLmZpbHRlcihlPT5lIT09InJlc291cmNlTmFtZSIpO2MuZmllbGRzPVg3KGMuZmllbGRzKTsoe0hQOmF9PWF3YWl0IF8uSGwoInBsYWNlc19pbXBsIikpO3RyeXtyZXR1cm57cGxhY2VzOihhd2FpdCBhKGMsYikpLndEKCkubWFwKGU9PmE4KF8uSWYoZSksZCx7cmVxdWVzdGVkTGFuZ3VhZ2U6Yy5sYW5ndWFnZSxyZXF1ZXN0ZWRSZWdpb246Yy5yZWdpb259KSl9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBfLlJrKXRocm93IF8ua3IoIkVycm9yIGluIHNlYXJjaE5lYXJieTogIitlLm1lc3NhZ2UsCiJQTEFDRVNfTkVBUkJZX1NFQVJDSCIsZSk7dGhyb3cgZTt9fSxmemI9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWN6YihhKTtpZighYi5Tayl0aHJvdyBFcnJvcigiU2VhcmNoUmV2aWV3c1JlcXVlc3QgbXVzdCBpbmNsdWRlIGFuIGFjY2VzcyB0b2tlbi4iKTt2YXIge0JKOmN9PWF3YWl0IF8uSGwoInBsYWNlc19pbXBsIik7dHJ5e3JldHVybntyZXZpZXdzOmh2Yihhd2FpdCBjKGEsYikpLmZpbHRlcihkPT5fLlNmKGQsZHpiLDEpKS5tYXAoZD0+e2Q9Xy5HKGQsZHpiLDEpO3ZhciBlPV8uQWcoZCxlemIsMiksZj1uZXcgYzg7aWYoZSl7dmFyIGc9bmV3IGQ4O3ZhciBoPWUuVWkoKT8uY2koKXx8IiI7Zz1fLmpoKGcsMSxoKTtoPWUuZ2V0VXJsKCl8fCIiO2c9Xy5qaChnLDIsaCk7ZT1fLkgoZSwzKXx8IiI7ZT1fLmpoKGcsMyxlKX1lbHNlIGU9dm9pZCAwO2Y9Xy5FZyhmLGQ4LDEzLGUpO2U9Xy5BZyhkLGU4LDkpfHx2b2lkIDA7Zj1fLkVnKGYsZTgsMTcsZSk7ZT1fLkFnKGQsXy5Jciw2KT8uY2koKXx8CiIiO2Y9Xy5qaChmLDIsZSk7ZT1fLktnKGQsMyl8fDA7Zj1fLmhoKGYsNyxlKTtlPWQuY2koKXx8dm9pZCAwO2Y9Xy5FZyhmLF8uSXIsOSxlKTtlPV8uQWcoZCxfLklyLDUpfHx2b2lkIDA7Zj1fLkVnKGYsXy5JciwxMixlKTtlPV8uSChkLDgpfHwiIjtmPV8uamgoZiwxNSxlKTtkPV8uSChkLDcpfHwiIjtkPV8uamgoZiwxNixkKTtyZXR1cm4gbmV3IGY4KGQpfSl9fWNhdGNoKGQpe2lmKGQgaW5zdGFuY2VvZiBfLlJrKXRocm93IF8ua3IoIkVycm9yIHdoaWxlIHNlYXJjaGluZyBmb3IgcmV2aWV3czogIitkLm1lc3NhZ2UsIlBMQUNFU19SRVZJRVdTX1NFQVJDSCIsZCk7dGhyb3cgZDt9fSxpemI9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2E9Z3piKGEpO2lmKCFjLlNrKXRocm93IEVycm9yKCJTZWFyY2hNZWRpYVJlcXVlc3QgbXVzdCBpbmNsdWRlIGFuIGFjY2VzcyB0b2tlbi4iKTt2YXIge0FKOmR9PWF3YWl0IF8uSGwoInBsYWNlc19pbXBsIik7dHJ5e3JldHVybnttZWRpYTpmdmIoYXdhaXQgZChhLApjKSkubWFwKGU9Pnt2YXIgZj1fLkFnKGUsaHpiLDUpLGc9Zj8ueGgoKTtlPV8uQWcoZSxlemIsMik7cmV0dXJue0tFOmIsYXV0aG9yQXR0cmlidXRpb25zOmU/W3tkaXNwbGF5TmFtZTplLlVpKCk/LmNpKCl8fCIiLHVyaTplLmdldFVybCgpfHwiIixwaG90b1VSSTpfLkgoZSwzKXx8IiJ9XTpbXSxmbGFnQ29udGVudFVSSTpmPy5yaCgpfHxudWxsLGdvb2dsZU1hcHNVUkk6Zj8udGgoKXx8bnVsbCx1cmk6Zz8uZ2V0VXJsKCl8fCIifX0pfX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgXy5Sayl0aHJvdyBfLmtyKCJFcnJvciB3aGlsZSBzZWFyY2hpbmcgZm9yIG1lZGlhOiAiK2UubWVzc2FnZSwiUExBQ0VTX01FRElBX1NFQVJDSCIsZSk7dGhyb3cgZTt9fSxnOD1hc3luYyBmdW5jdGlvbihhLGIsYyl7Yj1fLkNtKHtmaWVsZHM6anpiLHNlc3Npb25Ub2tlbjpfLk1tKF8uRW0oXy5KdCwiQXV0b2NvbXBsZXRlU2Vzc2lvblRva2VuIikpLGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczpfLk1tKF8uSG0oXy5kcywKMSkpfSkoYik7Yi5maWVsZHMuaW5jbHVkZXMoIioiKSYmKGIuZmllbGRzPVsuLi5iOF0pO3ZhciBkPWIuZmllbGRzLmZpbHRlcihoPT4hYS5VaChoKSk7Yi5maWVsZHMuaW5jbHVkZXMoImlkIikmJmQucHVzaCgiaWQiKTtpZighZC5sZW5ndGgpcmV0dXJue3BsYWNlOmF9O3ZhciBlPVg3KGQpLHtHTTpmfT1hd2FpdCBfLkhsKCJwbGFjZXNfaW1wbCIpLGc9Yi5zZXNzaW9uVG9rZW4/P2Euc2Vzc2lvblRva2VuPz92b2lkIDA7dHJ5e2xldCBoPWF3YWl0IGYoYS5pZCxlLGEucmVxdWVzdGVkTGFuZ3VhZ2UsYS5yZXF1ZXN0ZWRSZWdpb24sZyxiLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcz9BcnJheS5mcm9tKGIuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKTp2b2lkIDAsYyk7aWYoIWgpdGhyb3cgRXJyb3IoIlNlcnZlciByZXR1cm5lZCBubyBkYXRhIik7bGV0IGs9Xy5TZChhLkVoKT9fLklmKGEuRWgpOmEuRWg7Zm9yKGxldCBwIG9mIGQpe2xldCBxPVc3LmdldChwKTtpZighcSljb250aW51ZTsKbGV0IHU9YGNsZWFyJHtremIocSl9TGlzdGA7aWYodHlwZW9mIGtbdV09PT0iZnVuY3Rpb24iKWtbdV0oKX1semIoayxuZXcgXy5aa2EobXpiKGgpKSk7YS5FaD1rLndoKCk7RDcoYSxkKTtsZXQgbT1oLmdldElkKCl8fGguZ2V0TmFtZSgpO20mJnV4YihhLG0pO2Euc2Vzc2lvblRva2VuPXZvaWQgMDtyZXR1cm57cGxhY2U6YX19Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIF8uUmspdGhyb3cgXy5rcigiRXJyb3IgZmV0Y2hpbmcgZmllbGRzOiAiK2gubWVzc2FnZSwiUExBQ0VTX0dFVF9QTEFDRSIsaCk7dGhyb3cgaDt9fSxuemI9ZnVuY3Rpb24oYSl7dmFyIGI9e307KGEuQncuaGFzKCIqIik/Qzc6YS5CdykuZm9yRWFjaChjPT57c3dpdGNoKGMpe2Nhc2UgImFjY2Vzc2liaWxpdHlPcHRpb25zIjpiLmFjY2Vzc2liaWxpdHlPcHRpb25zPWEuYWNjZXNzaWJpbGl0eU9wdGlvbnM/YS5hY2Nlc3NpYmlsaXR5T3B0aW9ucy50b0pTT04oKTpudWxsO2JyZWFrO2Nhc2UgImFkZHJlc3NDb21wb25lbnRzIjpiLmFkZHJlc3NDb21wb25lbnRzPQphLmFkZHJlc3NDb21wb25lbnRzP2EuYWRkcmVzc0NvbXBvbmVudHMubWFwKGQ9PmQudG9KU09OKCkpOltdO2JyZWFrO2Nhc2UgImFkckZvcm1hdEFkZHJlc3MiOmIuYWRyRm9ybWF0QWRkcmVzcz1hLmFkckZvcm1hdEFkZHJlc3M7YnJlYWs7Y2FzZSAiYXR0cmlidXRpb25zIjpiLmF0dHJpYnV0aW9ucz1hLmF0dHJpYnV0aW9ucz9hLmF0dHJpYnV0aW9ucy5tYXAoZD0+ZC50b0pTT04oKSk6W107YnJlYWs7Y2FzZSAiYnVzaW5lc3NTdGF0dXMiOmIuYnVzaW5lc3NTdGF0dXM9YS5idXNpbmVzc1N0YXR1czticmVhaztjYXNlICJpZCI6Yi5pZD1hLmlkO2JyZWFrO2Nhc2UgInJlc291cmNlTmFtZSI6Yi5yZXNvdXJjZU5hbWU9YS5yZXNvdXJjZU5hbWU7YnJlYWs7Y2FzZSAiaGFzQ3VyYnNpZGVQaWNrdXAiOmIuaGFzQ3VyYnNpZGVQaWNrdXA9YS5oYXNDdXJic2lkZVBpY2t1cDticmVhaztjYXNlICJoYXNEZWxpdmVyeSI6Yi5oYXNEZWxpdmVyeT1hLmhhc0RlbGl2ZXJ5O2JyZWFrO2Nhc2UgImhhc0RpbmVJbiI6Yi5oYXNEaW5lSW49CmEuaGFzRGluZUluO2JyZWFrO2Nhc2UgImlzUmVzZXJ2YWJsZSI6Yi5pc1Jlc2VydmFibGU9YS5pc1Jlc2VydmFibGU7YnJlYWs7Y2FzZSAic2VydmVzQnJlYWtmYXN0IjpiLnNlcnZlc0JyZWFrZmFzdD1hLnNlcnZlc0JyZWFrZmFzdDticmVhaztjYXNlICJzZXJ2ZXNMdW5jaCI6Yi5zZXJ2ZXNMdW5jaD1hLnNlcnZlc0x1bmNoO2JyZWFrO2Nhc2UgInNlcnZlc0Rpbm5lciI6Yi5zZXJ2ZXNEaW5uZXI9YS5zZXJ2ZXNEaW5uZXI7YnJlYWs7Y2FzZSAic2VydmVzQmVlciI6Yi5zZXJ2ZXNCZWVyPWEuc2VydmVzQmVlcjticmVhaztjYXNlICJzZXJ2ZXNXaW5lIjpiLnNlcnZlc1dpbmU9YS5zZXJ2ZXNXaW5lO2JyZWFrO2Nhc2UgInNlcnZlc0JydW5jaCI6Yi5zZXJ2ZXNCcnVuY2g9YS5zZXJ2ZXNCcnVuY2g7YnJlYWs7Y2FzZSAic2VydmVzVmVnZXRhcmlhbkZvb2QiOmIuc2VydmVzVmVnZXRhcmlhbkZvb2Q9YS5zZXJ2ZXNWZWdldGFyaWFuRm9vZDticmVhaztjYXNlICJkaXNwbGF5TmFtZSI6Yi5kaXNwbGF5TmFtZT0KYS5kaXNwbGF5TmFtZTticmVhaztjYXNlICJkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSI6Yi5kaXNwbGF5TmFtZUxhbmd1YWdlQ29kZT1hLmRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlO2JyZWFrO2Nhc2UgImZvcm1hdHRlZEFkZHJlc3MiOmIuZm9ybWF0dGVkQWRkcmVzcz1hLmZvcm1hdHRlZEFkZHJlc3M7YnJlYWs7Y2FzZSAic2hvcnRGb3JtYXR0ZWRBZGRyZXNzIjpiLnNob3J0Rm9ybWF0dGVkQWRkcmVzcz1hLnNob3J0Rm9ybWF0dGVkQWRkcmVzczticmVhaztjYXNlICJnb29nbGVNYXBzVVJJIjpiLmdvb2dsZU1hcHNVUkk9YS5nb29nbGVNYXBzVVJJO2JyZWFrO2Nhc2UgImljb25CYWNrZ3JvdW5kQ29sb3IiOmIuaWNvbkJhY2tncm91bmRDb2xvcj1hLmljb25CYWNrZ3JvdW5kQ29sb3I7YnJlYWs7Y2FzZSAic3ZnSWNvbk1hc2tVUkkiOmIuc3ZnSWNvbk1hc2tVUkk9YS5zdmdJY29uTWFza1VSSTticmVhaztjYXNlICJpbnRlcm5hdGlvbmFsUGhvbmVOdW1iZXIiOmIuaW50ZXJuYXRpb25hbFBob25lTnVtYmVyPQphLmludGVybmF0aW9uYWxQaG9uZU51bWJlcjticmVhaztjYXNlICJsb2NhdGlvbiI6Yi5sb2NhdGlvbj1hLmxvY2F0aW9uP2EubG9jYXRpb24udG9KU09OKCk6bnVsbDticmVhaztjYXNlICJuYXRpb25hbFBob25lTnVtYmVyIjpiLm5hdGlvbmFsUGhvbmVOdW1iZXI9YS5uYXRpb25hbFBob25lTnVtYmVyO2JyZWFrO2Nhc2UgInJlZ3VsYXJPcGVuaW5nSG91cnMiOmIucmVndWxhck9wZW5pbmdIb3Vycz1hLnJlZ3VsYXJPcGVuaW5nSG91cnM/YS5yZWd1bGFyT3BlbmluZ0hvdXJzLnRvSlNPTigpOm51bGw7YnJlYWs7Y2FzZSAiY3VycmVudE9wZW5pbmdIb3VycyI6Yi5jdXJyZW50T3BlbmluZ0hvdXJzPWEuY3VycmVudE9wZW5pbmdIb3Vycz9hLmN1cnJlbnRPcGVuaW5nSG91cnMudG9KU09OKCk6bnVsbDticmVhaztjYXNlICJyZWd1bGFyU2Vjb25kYXJ5T3BlbmluZ0hvdXJzIjpiLnJlZ3VsYXJTZWNvbmRhcnlPcGVuaW5nSG91cnM9YS5yZWd1bGFyU2Vjb25kYXJ5T3BlbmluZ0hvdXJzPwphLnJlZ3VsYXJTZWNvbmRhcnlPcGVuaW5nSG91cnMubWFwKGQ9PmQudG9KU09OKCkpOltdO2JyZWFrO2Nhc2UgImN1cnJlbnRTZWNvbmRhcnlPcGVuaW5nSG91cnMiOmIuY3VycmVudFNlY29uZGFyeU9wZW5pbmdIb3Vycz1hLmN1cnJlbnRTZWNvbmRhcnlPcGVuaW5nSG91cnM/YS5jdXJyZW50U2Vjb25kYXJ5T3BlbmluZ0hvdXJzLm1hcChkPT5kLnRvSlNPTigpKTpbXTticmVhaztjYXNlICJwYXltZW50T3B0aW9ucyI6Yi5wYXltZW50T3B0aW9ucz1hLnBheW1lbnRPcHRpb25zP2EucGF5bWVudE9wdGlvbnMudG9KU09OKCk6bnVsbDticmVhaztjYXNlICJwaG90b3MiOmIucGhvdG9zPWEucGhvdG9zP2EucGhvdG9zLm1hcChkPT5kLnRvSlNPTigpKTpbXTticmVhaztjYXNlICJwbHVzQ29kZSI6Yi5wbHVzQ29kZT1hLnBsdXNDb2RlP2EucGx1c0NvZGUudG9KU09OKCk6bnVsbDticmVhaztjYXNlICJwb3N0YWxBZGRyZXNzIjpiLnBvc3RhbEFkZHJlc3M9YS5wb3N0YWxBZGRyZXNzP2EucG9zdGFsQWRkcmVzcy50b0pTT04oKToKbnVsbDticmVhaztjYXNlICJwcmljZUxldmVsIjpiLnByaWNlTGV2ZWw9YS5wcmljZUxldmVsO2JyZWFrO2Nhc2UgInJhdGluZyI6Yi5yYXRpbmc9YS5yYXRpbmc7YnJlYWs7Y2FzZSAicmV2aWV3cyI6Yi5yZXZpZXdzPWEucmV2aWV3cz9hLnJldmlld3MubWFwKGQ9PmQudG9KU09OKCkpOltdO2JyZWFrO2Nhc2UgImhhc1Rha2VvdXQiOmIuaGFzVGFrZW91dD1hLmhhc1Rha2VvdXQ7YnJlYWs7Y2FzZSAidHlwZXMiOmIudHlwZXM9YS50eXBlcz9hLnR5cGVzLnNsaWNlKDApOltdO2JyZWFrO2Nhc2UgInVzZXJSYXRpbmdDb3VudCI6Yi51c2VyUmF0aW5nQ291bnQ9YS51c2VyUmF0aW5nQ291bnQ7YnJlYWs7Y2FzZSAidXRjT2Zmc2V0TWludXRlcyI6Yi51dGNPZmZzZXRNaW51dGVzPWEudXRjT2Zmc2V0TWludXRlczticmVhaztjYXNlICJ2aWV3cG9ydCI6Yi52aWV3cG9ydD1hLnZpZXdwb3J0P2Eudmlld3BvcnQudG9KU09OKCk6bnVsbDticmVhaztjYXNlICJ3ZWJzaXRlVVJJIjpiLndlYnNpdGVVUkk9CmEud2Vic2l0ZVVSSTticmVhaztjYXNlICJlZGl0b3JpYWxTdW1tYXJ5IjpiLmVkaXRvcmlhbFN1bW1hcnk9YS5lZGl0b3JpYWxTdW1tYXJ5O2JyZWFrO2Nhc2UgImVkaXRvcmlhbFN1bW1hcnlMYW5ndWFnZUNvZGUiOmIuZWRpdG9yaWFsU3VtbWFyeUxhbmd1YWdlQ29kZT1hLmVkaXRvcmlhbFN1bW1hcnlMYW5ndWFnZUNvZGU7YnJlYWs7Y2FzZSAiZXZDaGFyZ2VPcHRpb25zIjpiLmV2Q2hhcmdlT3B0aW9ucz1hLmV2Q2hhcmdlT3B0aW9ucz8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAiZnVlbE9wdGlvbnMiOmIuZnVlbE9wdGlvbnM9YS5mdWVsT3B0aW9ucz8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAicGFya2luZ09wdGlvbnMiOmIucGFya2luZ09wdGlvbnM9YS5wYXJraW5nT3B0aW9ucz9hLnBhcmtpbmdPcHRpb25zLnRvSlNPTigpOm51bGw7YnJlYWs7Y2FzZSAiYWxsb3dzRG9ncyI6Yi5hbGxvd3NEb2dzPWEuYWxsb3dzRG9nczticmVhaztjYXNlICJoYXNMaXZlTXVzaWMiOmIuaGFzTGl2ZU11c2ljPQphLmhhc0xpdmVNdXNpYzticmVhaztjYXNlICJoYXNNZW51Rm9yQ2hpbGRyZW4iOmIuaGFzTWVudUZvckNoaWxkcmVuPWEuaGFzTWVudUZvckNoaWxkcmVuO2JyZWFrO2Nhc2UgImhhc091dGRvb3JTZWF0aW5nIjpiLmhhc091dGRvb3JTZWF0aW5nPWEuaGFzT3V0ZG9vclNlYXRpbmc7YnJlYWs7Y2FzZSAiaGFzUmVzdHJvb20iOmIuaGFzUmVzdHJvb209YS5oYXNSZXN0cm9vbTticmVhaztjYXNlICJoYXNXaUZpIjpiLmhhc1dpRmk9YS5oYXNXaUZpO2JyZWFrO2Nhc2UgImlzR29vZEZvckNoaWxkcmVuIjpiLmlzR29vZEZvckNoaWxkcmVuPWEuaXNHb29kRm9yQ2hpbGRyZW47YnJlYWs7Y2FzZSAiaXNHb29kRm9yR3JvdXBzIjpiLmlzR29vZEZvckdyb3Vwcz1hLmlzR29vZEZvckdyb3VwczticmVhaztjYXNlICJpc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cyI6Yi5pc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cz1hLmlzR29vZEZvcldhdGNoaW5nU3BvcnRzO2JyZWFrO2Nhc2UgInNlcnZlc0NvY2t0YWlscyI6Yi5zZXJ2ZXNDb2NrdGFpbHM9CmEuc2VydmVzQ29ja3RhaWxzO2JyZWFrO2Nhc2UgInNlcnZlc0NvZmZlZSI6Yi5zZXJ2ZXNDb2ZmZWU9YS5zZXJ2ZXNDb2ZmZWU7YnJlYWs7Y2FzZSAic2VydmVzRGVzc2VydCI6Yi5zZXJ2ZXNEZXNzZXJ0PWEuc2VydmVzRGVzc2VydDticmVhaztjYXNlICJwcmltYXJ5VHlwZSI6Yi5wcmltYXJ5VHlwZT1hLnByaW1hcnlUeXBlO2JyZWFrO2Nhc2UgInByaW1hcnlUeXBlRGlzcGxheU5hbWUiOmIucHJpbWFyeVR5cGVEaXNwbGF5TmFtZT1hLnByaW1hcnlUeXBlRGlzcGxheU5hbWU7YnJlYWs7Y2FzZSAicHJpbWFyeVR5cGVEaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSI6Yi5wcmltYXJ5VHlwZURpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlPWEucHJpbWFyeVR5cGVEaXNwbGF5TmFtZUxhbmd1YWdlQ29kZTticmVhaztjYXNlICJwcmljZVJhbmdlIjpiLnByaWNlUmFuZ2U9YS5wcmljZVJhbmdlPy50b0pTT04oKT8/bnVsbDticmVhaztjYXNlICJnb29nbGVNYXBzTGlua3MiOmIuZ29vZ2xlTWFwc0xpbmtzPQphLmdvb2dsZU1hcHNMaW5rcz8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAiY29uc3VtZXJBbGVydCI6Yi5jb25zdW1lckFsZXJ0PWEuY29uc3VtZXJBbGVydD8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAiZXZDaGFyZ2VBbWVuaXR5U3VtbWFyeSI6Yi5ldkNoYXJnZUFtZW5pdHlTdW1tYXJ5PWEuZXZDaGFyZ2VBbWVuaXR5U3VtbWFyeT8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAibmVpZ2hib3Job29kU3VtbWFyeSI6Yi5uZWlnaGJvcmhvb2RTdW1tYXJ5PWEubmVpZ2hib3Job29kU3VtbWFyeT8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAiZ2VuZXJhdGl2ZVN1bW1hcnkiOmIuZ2VuZXJhdGl2ZVN1bW1hcnk9YS5nZW5lcmF0aXZlU3VtbWFyeT8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAicmV2aWV3U3VtbWFyeSI6Yi5yZXZpZXdTdW1tYXJ5PWEucmV2aWV3U3VtbWFyeT8udG9KU09OKCk/P251bGw7YnJlYWs7Y2FzZSAidGltZVpvbmUiOmIudGltZVpvbmU9YS50aW1lWm9uZT8udG9KU09OKCk/PwpudWxsO2JyZWFrO2Nhc2UgImlzUHVyZVNlcnZpY2VBcmVhQnVzaW5lc3MiOmIuaXNQdXJlU2VydmljZUFyZWFCdXNpbmVzcz1hLmlzUHVyZVNlcnZpY2VBcmVhQnVzaW5lc3M7YnJlYWs7Y2FzZSAic3ViRGVzdGluYXRpb25zIjpiLnN1YkRlc3RpbmF0aW9ucz1hLnN1YkRlc3RpbmF0aW9ucz9hLnN1YkRlc3RpbmF0aW9ucy5tYXAoZD0+KHtpZDpkLmlkLHJlc291cmNlTmFtZTpkLnJlc291cmNlTmFtZX0pKTpbXTticmVhaztjYXNlICJmdXR1cmVPcGVuaW5nRGF0ZSI6Yi5mdXR1cmVPcGVuaW5nRGF0ZT1hLmZ1dHVyZU9wZW5pbmdEYXRlO2JyZWFrO2Nhc2UgInBvcHVsYXJUaW1lcyI6Yi5wb3B1bGFyVGltZXM9YS5wb3B1bGFyVGltZXM/LnRvSlNPTigpPz9udWxsO2JyZWFrO2Nhc2UgImNvbnRhaW5pbmdQbGFjZXMiOmIuY29udGFpbmluZ1BsYWNlcz1hLmNvbnRhaW5pbmdQbGFjZXM/YS5jb250YWluaW5nUGxhY2VzLm1hcChkPT4oe2lkOmQuaWQscmVzb3VyY2VOYW1lOmQucmVzb3VyY2VOYW1lfSkpOgpbXTticmVhaztjYXNlICJhZGRyZXNzRGVzY3JpcHRvciI6Yi5hZGRyZXNzRGVzY3JpcHRvcj1hLmFkZHJlc3NEZXNjcmlwdG9yPy50b0pTT04oKT8/bnVsbDticmVhaztjYXNlICJ0cmFuc2l0U3RhdGlvbiI6Yi50cmFuc2l0U3RhdGlvbj1hLnRyYW5zaXRTdGF0aW9uPy50b0pTT04oKT8/bnVsbH19KTtyZXR1cm4gYn0saTg9ZnVuY3Rpb24oYSl7dmFyIGI9ZzYobmV3IF8uWjUsYS5pZCkud2goKTtiPV8uSWYoYik7dmFyIGM9WyJpZCJdO2lmKGEuVWgoImxvY2F0aW9uIikpe3ZhciBkPWEuRWguZ2V0TG9jYXRpb24oKTtfLkVnKGIsXy5EciwxMixkKTtjLnB1c2goImxvY2F0aW9uIil9YS5VaCgidmlld3BvcnQiKSYmKGQ9Xy5BZyhhLkVoLF8uRXIsMTMpLF8uRWcoYixfLkVyLDEzLGQpLGMucHVzaCgidmlld3BvcnQiKSk7YS5VaCgiZ29vZ2xlTWFwc0xpbmtzIikmJihhPV8uQWcoYS5FaCxoOCw4NSksXy5FZyhiLGg4LDg1LGEpLGMucHVzaCgiZ29vZ2xlTWFwc0xpbmtzIikpO3JldHVybiBhOChiLApjKX0sanpiPWZ1bmN0aW9uKGEpe2E9b3piKGEpO3ZhciBiPW5ldyBTZXQoWy4uLnB6Yiwib3BlbmluZ0hvdXJzIl0pLGM9YS5maWx0ZXIoZD0+IWIuaGFzKGQpJiZkIT09IioiKTtpZihhLmluY2x1ZGVzKCJvcGVuaW5nSG91cnMiKSl0aHJvdyBfLkFtKCJ1bmtub3duIHByb3BlcnR5ICdvcGVuaW5nSG91cnMnLCBkaWQgeW91IG1lYW4gJ3JlZ3VsYXJPcGVuaW5nSG91cnMnPyIpO2lmKGEuaW5jbHVkZXMoIm9wZW5pbmdIb3VycyIpJiZhLmluY2x1ZGVzKCJyZWd1bGFyT3BlbmluZ0hvdXJzIikpdGhyb3cgXy5BbSgiQm90aCAnb3BlbmluZ0hvdXJzJyBhbmQgJ3JlZ3VsYXJPcGVuaW5nSG91cnMnIHByb3ZpZGVkLiBQbGVhc2UgdXNlIG9ubHkgJ3JlZ3VsYXJPcGVuaW5nSG91cnMnIik7YS5pbmNsdWRlcygib3BlbmluZ0hvdXJzIikmJihhW2EuaW5kZXhPZigib3BlbmluZ0hvdXJzIildPSJyZWd1bGFyT3BlbmluZ0hvdXJzIik7aWYoYy5sZW5ndGg+MCl0aHJvdyBfLkFtKGBVbmtub3duIGZpZWxkcyByZXF1ZXN0ZWQ6ICR7Yy5qb2luKCIsICIpfWApOwpyZXR1cm4gYX0sa3piPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNwbGl0KCJfIikubWFwKGI9PmIuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYi5zbGljZSgxKSkuam9pbigiIil9LHF6Yj1mdW5jdGlvbihhKXtyZXR1cm4gXy5kaihfLmNqKG5ldyBfLkRyLGEubGF0KSxhLmxuZyl9LHV6Yj1mdW5jdGlvbihhLGIsYyl7ajh8fChqOD1uZXcgcnpiKTt2YXIgZD1qODtjPXsuLi5fLm95KGM/LlNrKSwiWC1Hb29nLUZpZWxkTWFzayI6InJlc3VsdHMucGxhY2VJZCxyZXN1bHRzLnR5cGVzIn07Yj8ubGVuZ3RoJiYoY1siWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXT1iLmpvaW4oIiwiKSk7YT1Td2IobmV3IHN6YixxemIoYSkpO3JldHVybiBWd2IoZC5xaCxhLGMpLnRoZW4oZT0+Xy5DZyhlLHR6YiwxKSl9LHZ6Yj1mdW5jdGlvbihhKXtpZighYXx8YS50cmltKCk9PT0iKiIpcmV0dXJuIG5ldyBTZXQ7YT1hLnNwbGl0KCIsIikubWFwKGI9PmIudHJpbSgpLnRvTG93ZXJDYXNlKCkpLmZpbHRlcihCb29sZWFuKTsKcmV0dXJuIG5ldyBTZXQoYSl9LHd6Yj1mdW5jdGlvbihhLGIpe3ZhciBjPXZ6YihiKTtyZXR1cm4gYy5zaXplP1suLi5hXS5maWx0ZXIoZD0+Yy5oYXMoZC50b0xvd2VyQ2FzZSgpKSk6YX0seXpiPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgU2V0KFsiZGlzcGxheU5hbWUiLCJnb29nbGVNYXBzVVJJIiwuLi5PYmplY3Qua2V5cyhhKS5tYXAoYj0+eHpiW2JdKS5mbGF0KCldKX0senpiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWJ8fGIubWVkaWE/ITE6QXJyYXkuZnJvbSh5emIoYikpLmV2ZXJ5KGM9PmFbY10hPT12b2lkIDApfSxDemI9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGQoYXdhaXQgUHJvbWlzZS5hbGwoKGEucGhvdG9zPz9bXSkubWFwKGFzeW5jIGU9PkF6YihlLGIsYyxkKS5jYXRjaChCemIpKSkpfSxBemI9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIHt6SDplfT1kKGF3YWl0IF8uSGwoInBsYWNlc19pbXBsIikpO3RyeXtsZXQgZj1kKGF3YWl0IGUoYCR7YS5uYW1lfS9tZWRpYWAsCjFFMyx2b2lkIDAsYixjKSk7aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yIGZldGNoaW5nIHBob3RvIFVSSTogU2VydmVyIHJldHVybmVkIG5vIGRhdGEiKTtyZXR1cm4gZn1jYXRjaChmKXtpZihmIGluc3RhbmNlb2YgXy5Sayl0aHJvdyBfLmtyKGBFcnJvciBmZXRjaGluZyBwaG90byBVUkk6ICR7Zi5tZXNzYWdlfWAsIlBMQUNFU19HRVRfUEhPVE9fTUVESUEiLGYpO3Rocm93IGY7fX0sQnpiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBFcnJvciYmY29uc29sZS53YXJuKGEpO3JldHVybiBudWxsfSxEemI9ZnVuY3Rpb24oYSl7dmFyIGI9W1Q3XSxjPVtdLGQ9W2s4LGw4LFU3LFY3XTt3NyhhLldzKCkpP2QucHVzaCguLi5jKTpkLnB1c2goLi4uYik7Zm9yKGxldCBlIG9mIGQpYS5HeC5hZGQoZSl9LEV6Yj1hc3luYyBmdW5jdGlvbihhLGIpe2F3YWl0IF8uSXEoYSxhc3luYygpPT57YS5Kaz1iLmNsb25lKHtyZXF1ZXN0ZWRMYW5ndWFnZTphLkhoLmxhbmd1YWdlLHJlcXVlc3RlZFJlZ2lvbjphLkhoLnJlZ2lvbn0pOwphLndoPSEwfSwyMzAxNjQpfSxHemI9YXN5bmMgZnVuY3Rpb24oYSxiKXthLnZtPSJMT0FESU5HIjthLnBob3RvRGlzcGxheURhdGFMaXN0PVtdO2EuZHI9W107YS5Gdz1bXTttOChhKTthd2FpdCBfLklxKGEsYXN5bmMgYz0+e2lmKGEuYW4pe3ZhciBkPWMoYXdhaXQgYS5hbi5mZXRjaChjKSk7YXdhaXQgRnpiKGEsYixkLkhvKCksXy5IKGQsMyksYyl9ZWxzZSBfLk0oYSwyNjMwNTUpfSwyMzAxNjQpfSxJemI9YXN5bmMgZnVuY3Rpb24oYSxiKXthLnZtPSJMT0FESU5HIjthLnBob3RvRGlzcGxheURhdGFMaXN0PVtdO2EuZHI9W107YS5Gdz1bXTttOChhKTthd2FpdCBfLklxKGEsYXN5bmMgYz0+e2lmKGEuYW4pe3ZhciBkPWMoYXdhaXQgYS5hbi5mZXRjaChjKSksZT1jKGF3YWl0IEh6YihhLGIsZC5IbygpKSk7YXdhaXQgRnpiKGEse2lkOmV9LGQuSG8oKSxfLkgoZCwzKSxjKX1lbHNlIF8uTShhLDI2MzA1NSl9LDIzMDE2NSl9LG04PWZ1bmN0aW9uKGEpe2EuSms9dm9pZCAwO2Eud2g9CiExfSxLemI9ZnVuY3Rpb24oYSxiLGMpe2EuSmsmJmEuYW4mJl8uSXEoYSxhc3luYyBkPT57YiYmKGEudGs9MSk7dmFyIGU9ZChhd2FpdCBhLmFuLmZldGNoKGQpKTtjJiYoYS52bT0iTE9BRElORyIpO3ZhciBbZixnXT1kKGF3YWl0IEp6YihhLGEuSmsuaWQsYS5Kay5kaXNwbGF5TmFtZT8/IiIsZS5IbygpLGEuY29udGVudENvbmZpZyxiLGMsZCkpO2ImJmYuc3RhdHVzPT09ImZ1bGZpbGxlZCImJihhLmRyPWYudmFsdWU/P1tdLGEudGs9Mik7YyYmZy5zdGF0dXM9PT0iZnVsZmlsbGVkIiYmKGEuRnc9Zy52YWx1ZT8/W10sYS52bT0iU1VDQ0VTUyIpfSl9LE16Yj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEucmgmJmEucmgucGxhY2VJZD09PWImJmEucmgucXVlcnk9PT1kJiZhLnJoLnJhbmtQcmVmZXJlbmNlPT09ZSlyZXR1cm4gYS5yaC5wcm9taXNlO3ZhciBmPUx6YihhLGIsYyxkLGUpLmZpbmFsbHkoKCk9PnthLnJoPy5wcm9taXNlPT09ZiYmKGEucmg9dm9pZCAwKX0pO2Eucmg9e3BsYWNlSWQ6YiwKcXVlcnk6ZCxyYW5rUHJlZmVyZW5jZTplLHByb21pc2U6Zn07cmV0dXJuIGZ9LE96Yj1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoYS5xaCYmYS5xaC5wbGFjZUlkPT09YiYmYS5xaC5xdWVyeT09PWUmJmEucWgucmFua1ByZWZlcmVuY2U9PT1mKXJldHVybiBhLnFoLnByb21pc2U7dmFyIGc9TnpiKGEsYixjLGQsZSxmKS5maW5hbGx5KCgpPT57YS5xaD8ucHJvbWlzZT09PWcmJihhLnFoPXZvaWQgMCl9KTthLnFoPXtwbGFjZUlkOmIscXVlcnk6ZSxyYW5rUHJlZmVyZW5jZTpmLHByb21pc2U6Z307cmV0dXJuIGd9LEp6Yj1hc3luYyBmdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe2Y9Zj9NemIoYSxiLGQsZT8ucmV2aWV3cz8ucXVlcnksZT8ucmV2aWV3cz8ucmFua1ByZWZlcmVuY2UpOlByb21pc2UucmVzb2x2ZShudWxsKTthPWc/T3piKGEsYixjLGQsZT8ubWVkaWE/LnF1ZXJ5LGU/Lm1lZGlhPy5yYW5rUHJlZmVyZW5jZSk6UHJvbWlzZS5yZXNvbHZlKG51bGwpO3JldHVybiBoKGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChbZiwKYV0pKX0sUHpiPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXtyZXF1ZXN0ZWRMYW5ndWFnZTphLkhoLmxhbmd1YWdlLHJlcXVlc3RlZFJlZ2lvbjphLkhoLnJlZ2lvbn07Yj1iIGluc3RhbmNlb2YgJDc/Yi5jbG9uZShlKTpuZXcgJDcoey4uLmUsLi4uYn0pO2E9e2ZpZWxkczp3emIobmV3IFNldChbLi4ubjgsLi4uYS5HQV0pLGQpLGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczphLnNofTthd2FpdCBnOChiLGEse1NrOmN9KTtyZXR1cm4gYn0sSHpiPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPWF3YWl0IHV6YihiLGEuc2g/P3ZvaWQgMCx7U2s6Y30pO2E6e2ZvcihkIG9mIGEpaWYoXy5VZyhkLDEyLF8uY2coKSkuaW5jbHVkZXMoInBvaW50X29mX2ludGVyZXN0Iikpe3ZhciBkPWQucmgoKTticmVhayBhfWQ9YVswXT8ucmgoKT8/bnVsbH1pZihkKXJldHVybiBkO3Rocm93IEVycm9yKCJObyBnZW9jb2RpbmcgcmVzdWx0cyIpO30sUXpiPWFzeW5jIGZ1bmN0aW9uKGEsYixjLApkLGU9ITEpe2M9Yyhhd2FpdCBDemIoYSxkLHtTazpifSxjKSk7Yj1jLm1hcCgoZyxoKT0+Zz97dXJpOmcsS0U6YS5kaXNwbGF5TmFtZT8/IiIsYXV0aG9yQXR0cmlidXRpb25zOmEucGhvdG9zPy5baF0/LmF1dGhvckF0dHJpYnV0aW9ucz8/W10sZmxhZ0NvbnRlbnRVUkk6YS5waG90b3M/LltoXT8uZmxhZ0NvbnRlbnRVUkk/P251bGwsZ29vZ2xlTWFwc1VSSTphLnBob3Rvcz8uW2hdPy5nb29nbGVNYXBzVVJJPz9udWxsfTpudWxsKS5maWx0ZXIoQm9vbGVhbik7Yz1iLmxlbmd0aD09PTAmJmMubGVuZ3RoPjA7dmFyIGY7ZXx8KGY9Yz8iRVJST1IiOiJTVUNDRVNTIik7cmV0dXJue3Bob3RvRGlzcGxheURhdGFMaXN0OmIsdm06Zn19LEx6Yj1hc3luYyBmdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtyZXR1cm4gYj17cGFyZW50OmBwbGFjZXMvJHtifWAsZmllbGRzOlJ6Yn0sZCYmKGIucXVlcnk9ZCksZSYmKGIucmFua1ByZWZlcmVuY2U9ZSksYS5IaC5sYW5ndWFnZSYmKGIubGFuZ3VhZ2U9CmEuSGgubGFuZ3VhZ2UpLGEuSGgucmVnaW9uJiYoYi5yZWdpb249YS5IaC5yZWdpb24pLChhd2FpdCBmemIoYix7U2s6Y30pKS5yZXZpZXdzfWNhdGNoKGYpe3JldHVybltdfX0sTnpiPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0cnl7cmV0dXJuIGI9e3BhcmVudDpgcGxhY2VzLyR7Yn1gLGZpZWxkczpTemJ9LGUmJihiLnF1ZXJ5PWUpLGYmJihiLnJhbmtQcmVmZXJlbmNlPWYpLGEuSGgubGFuZ3VhZ2UmJihiLmxhbmd1YWdlPWEuSGgubGFuZ3VhZ2UpLGEuSGgucmVnaW9uJiYoYi5yZWdpb249YS5IaC5yZWdpb24pLChhd2FpdCBpemIoYixjLHtTazpkfSkpLm1lZGlhfWNhdGNoKGcpe3JldHVybltdfX0sRnpiPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YiBpbnN0YW5jZW9mICQ3P2IuaWQ6Yi5pZCxnPWEuY29udGVudENvbmZpZz8ucmV2aWV3cz8ucXVlcnksaD1hLmNvbnRlbnRDb25maWc/LnJldmlld3M/LnJhbmtQcmVmZXJlbmNlLGs9ISghZyYmIWgpO2EudGs9CjE7YS52bT0iTE9BRElORyI7Yj1QemIoYSxiLGMsZCk7Zz1rP016YihhLGYsYyxnLGgpOlByb21pc2UucmVzb2x2ZShbXSk7dmFyIFttLHBdPWUoYXdhaXQgUHJvbWlzZS5hbGwoW2IsZ10pKTthLkprPW07ayYmKGEuZHI9cCk7YS50az0yO2g9YS5jb250ZW50Q29uZmlnPy5tZWRpYT8ucXVlcnk7Yj1hLmNvbnRlbnRDb25maWc/Lm1lZGlhPy5yYW5rUHJlZmVyZW5jZTtrPSEoIWgmJiFiKTtnPVF6YihtLGMsZSxhLnNoPz92b2lkIDAsayk7Yz1rP096YihhLGYsbS5kaXNwbGF5TmFtZT8/IiIsYyxoLGIpOlByb21pc2UucmVzb2x2ZShbXSk7dmFyIFtxLHVdPWUoYXdhaXQgUHJvbWlzZS5hbGwoW2csY10pKTthLnBob3RvRGlzcGxheURhdGFMaXN0PXEucGhvdG9EaXNwbGF5RGF0YUxpc3Q7cS52bSE9PXZvaWQgMCYmKGEudm09cS52bSk7ayYmKGEuRnc9dSxhLnZtPSJTVUNDRVNTIil9LFR6Yj1mdW5jdGlvbihhLGIse1RQOmM9ITEsc2hvd0ljb246ZD0hMSxZTDplPXt9LGlPOmYsaE86ZywKYXJpYUxhYmVsOmh9KXtyZXR1cm4gYT8oMCxfLldxKWAKICAgICAgICA8Z21wLWludGVybmFsLWxpbmstYnV0dG9uCiAgICAgICAgICAuaHJlZj0ke2F9CiAgICAgICAgICAuc2hvd0ljb249JHtkfQogICAgICAgICAgLmFyaWFMYWJlbEludGVybmFsPSR7aD8/bnVsbH0KICAgICAgICAgIGNsYXNzPSR7KDAsXy5hcikoe3NvbGlkOmMsImljb24tb25seSI6Yj09PSIiJiZkLC4uLmV9KX0KICAgICAgICAgIEBjbGljaz0keygpPT57ZiYmZyYmXy5NKGYsZyk7Xy5McFszNV0mJihfLkpsPy56aCgpfHxbXSkubGVuZ3RoPjAmJl8uTShmLDMzNDExNyx7Zm9yY2UxMDBQZXJjZW50U2FtcGxlZExvZzohMH0pfX0+CiAgICAgICAgICAke2J9CiAgICAgICAgPC9nbXAtaW50ZXJuYWwtbGluay1idXR0b24+CiAgICAgIGA6IiJ9LFZ6Yj1mdW5jdGlvbihhLHt2YXJpYW50OmJ9KXtpZihiPT09Im5vbmUiKXJldHVybigwLF8uV3EpYGA7dmFyIGM9VXpiW2JdO3JldHVybigwLF8uV3EpYCR7VHpiKGEuZ29vZ2xlTWFwc1VSST8/bnVsbCxjLnRleHQse3Nob3dJY29uOmMuc2hvd0ljb24sWUw6e1sib3Blbi1pbi1tYXBzLWJ1dHRvbiJdOiEwLFtiXTohMH0saU86YSxoTzoyNTQ2ODQsYXJpYUxhYmVsOl8uUXEoIk9wZW4gaW4gTWFwcyIpfSl9YH0sV3piPWZ1bmN0aW9uKGEsYj0hMSxjKXtyZXR1cm4oMCxfLldxKWA8c2VjdGlvbiBjbGFzcz0iYmFzaWMtaW5mbyI+CiAgICA8ZGl2IGNsYXNzPSJzcGlubmVyLWNvbnRhaW5lciI+CiAgICAgIDxnbXAtaW50ZXJuYWwtY2lyY3VsYXItbG9hZGVyPjwvZ21wLWludGVybmFsLWNpcmN1bGFyLWxvYWRlcj4KICAgIDwvZGl2PgogICAgJHtiPyIiOm84KHZvaWQgMCx7c2hvd0luZm9CdXR0b246ITAsakM6ITAsYXR0cmlidXRpb25UeXBlOiJURVhUIixpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOiExLGNvbnRlbnRDb25maWc6YSxDcjpjfSl9CiAgPC9zZWN0aW9uPmB9LHE4PWZ1bmN0aW9uKGEsYj17fSl7dmFyIHtGRTpjLGJGOmQsREQ6ZSx0aXRsZVNpemU6Zixmb250U2l6ZTpnLEVOOmgsaW5mb0J1dHRvblRhcEFyZWFFeHBhbmRlZDprLHNsb3RzQ29uc3RydWN0aW9uRGF0YTptPXtHcjpbXSxMbTpbXX0sc2hvd1RyYW5zaXQ6cCxDcjpxfT1iLHU9Yz9WemIoYSx7dmFyaWFudDpjfSk6IiIseD1iLmNvbnRlbnRDb25maWc/P3A4LHo9ISEoKGIuYWRkcmVzc0VuYWJsZWQ/PyEwKSYmeC5hZGRyZXNzKSxCPWIucmF0aW5nVmFyaWFudCxLPWIucmF0aW5nSW5mb0J1dHRvblNob3duPz8hMTtiPWIudHJ1bmNhdGlvblByZWZlcnJlZD8/ITE7dmFyIE89aD9yeGIoYSk6IiI7aWYoZClpZihkLnBIPT1udWxsJiZkLmRpc3RhbmNlTWV0ZXJzPT1udWxsKXZhciBBPSgwLF8uV3EpYGA7ZWxzZXt2YXIgUT1kLmRpc3RhbmNlTWV0ZXJzO0E9ZC5wSDtpZihBPT1udWxsJiZRPT1udWxsKUE9e307ZWxzZXt2YXIgY2E9Xy5KbC5yaCgpLGlhPWNhLnJoKCl8fAp2b2lkIDA7Y2E9KGNhPSFjYS54aCgpJiZjYS50aCgpfHx2b2lkIDApJiZfLk5pYS5oYXMoY2EudG9VcHBlckNhc2UoKSk/MTowO3ZhciBHYT12b2lkIDAsTGE9dm9pZCAwO1EhPW51bGwmJihRPWNhPT09MT9RLzE2MDkuMzQ6US8xRTMsTGE9KG5ldyBJbnRsLk51bWJlckZvcm1hdChpYSx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjEsc3R5bGU6InVuaXQiLHVuaXQ6Y2E9PT0xPyJtaWxlIjoia2lsb21ldGVyIix1bml0RGlzcGxheToic2hvcnQifSkpLmZvcm1hdChRKSk7QSE9bnVsbCYmKEdhPShuZXcgSW50bC5OdW1iZXJGb3JtYXQoaWEse21heGltdW1GcmFjdGlvbkRpZ2l0czowLHN0eWxlOiJ1bml0Iix1bml0OiJtaW51dGUiLHVuaXREaXNwbGF5OiJzaG9ydCJ9KSkuZm9ybWF0KEEvNjApKTtBPXtOTTpMYSxPTTpHYX19dmFyIHtOTTpGYSxPTTpWYX09QTtBPSgwLF8uV3EpYDxzdmcKICAgIGNsYXNzPSJjYXIiCiAgICB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCIKICAgIGZpbGw9ImN1cnJlbnRDb2xvciIKICAgIHJvbGU9ImltZyIKICAgIC5hcmlhTGFiZWw9JHsiQnkgY2FyIn0+CiAgICA8cGF0aCBkPSR7Ik0yNDAtMjAwdjQwcTAgMTctMTEuNSAyOC41VDIwMC0xMjBoLTQwcS0xNyAwLTI4LjUtMTEuNVQxMjAtMTYwdi0zMjBsODQtMjQwcTYtMTggMjEuNS0yOXQzNC41LTExaDQ0MHExOSAwIDM0LjUgMTF0MjEuNSAyOWw4NCAyNDB2MzIwcTAgMTctMTEuNSAyOC41VDgwMC0xMjBoLTQwcS0xNyAwLTI4LjUtMTEuNVQ3MjAtMTYwdi00MHptLTgtMzYwaDQ5NmwtNDItMTIwSDI3NHptNjggMjQwcTI1IDAgNDIuNS0xNy41VDM2MC0zODB0LTE3LjUtNDIuNVQzMDAtNDQwdC00Mi41IDE3LjVUMjQwLTM4MHQxNy41IDQyLjVUMzAwLTMyMG0zNjAgMHEyNSAwIDQyLjUtMTcuNVQ3MjAtMzgwdC0xNy41LTQyLjVUNjYwLTQ0MHQtNDIuNSAxNy41VDYwMC0zODB0MTcuNSA0Mi41VDY2MC0zMjAifSAvPgogIDwvc3ZnPmA7QT0oMCxfLldxKWAKICAgIDxkaXYgY2xhc3M9InJvdXRpbmctc3VtbWFyeSI+CiAgICAgICR7RmE/PygwLF8uV3EpYGB9CiAgICAgICR7VmE/KDAsXy5XcSlgPHNwYW4gY2xhc3M9InJvdXRpbmctdGltZSIKICAgICAgICAgICAgPiR7QX0ke1ZhfTwvc3BhbgogICAgICAgICAgPmA6KDAsXy5XcSlgYH0KICAgIDwvZGl2PgogIGB9ZWxzZSBBPSIiO3JldHVybigwLF8uV3EpYAogICAgPHNlY3Rpb24gY2xhc3M9ImJhc2ljLWluZm8iPgogICAgICA8Z21wLWludGVybmFsLXBsYWNlLWJhc2ljLWluZm8KICAgICAgICAucGxhY2U9JHthfQogICAgICAgIC50aXRsZVNpemU9JHtmPz8ibWVkaXVtIn0KICAgICAgICAuYWRkcmVzc0VuYWJsZWQ9JHt6fQogICAgICAgIC5yYXRpbmdWYXJpYW50PSR7Qn0KICAgICAgICAucmF0aW5nSW5mb0J1dHRvblNob3duPSR7S30KICAgICAgICAuY29udGVudENvbmZpZz0ke3h9CiAgICAgICAgLmZvbnRTaXplPSR7Zz8/InNtYWxsIn0KICAgICAgICAudHJ1bmNhdGlvblByZWZlcnJlZD0ke2J9CiAgICAgICAgLnNsb3RzQ29uc3RydWN0aW9uRGF0YT0ke219CiAgICAgICAgLmVuYWJsZUNvcm5lckFjdGlvbnM9JHshMX0KICAgICAgICAuc2hvd1RyYW5zaXQ9JHtwPz8hMX0+CiAgICAgICAgJHtfLlNzfQogICAgICA8L2dtcC1pbnRlcm5hbC1wbGFjZS1iYXNpYy1pbmZvPgogICAgICAke099CiAgICAgICR7QX0KICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1tYWluIj4KICAgICAgICAke3V8fF8uU3N9JHtfLlNzfQogICAgICA8L2Rpdj4KICAgICAgJHtlP251bGw6bzgoYSx7Y29udGVudENvbmZpZzp4LENyOnEsakM6ITEsYXR0cmlidXRpb25UeXBlOiJURVhUIixpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOmssc2hvd0luZm9CdXR0b246ITAsU1A6bS5Hcn0pfQogICAgPC9zZWN0aW9uPgogIGB9LG84PWZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9bmV3IE1hcChbWyJCTEFDSyIsIiMwMDAiXSxbIldISVRFIiwiI2ZmZiJdLFsiR1JBWSIsIiM1ZTVlNWUiXV0pLHtjb250ZW50Q29uZmlnOmQsQ3I6ZSxqQzpmPSExLGF0dHJpYnV0aW9uVHlwZTpnPSJMT0dPIixpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOmg9ITEsc2hvd0luZm9CdXR0b246az0hMSxPUDptPSExfT1iLHA9ISEoYT8ucmV2aWV3cz8ubGVuZ3RoJiZtJiZkPy5yZXZpZXdzKTthPVsuLi4oYT8ucmF0aW5nIT1udWxsJiZkPy5yYXRpbmd8fHA/W083XTpbXSksLi4uKHA/W2l5YihiLnJhbmtQcmVmZXJlbmNlKV06W10pLFh6Yl07Yj1jLmdldChlPy5saWdodFNjaGVtZUNvbG9yfHxkPy5hdHRyaWJ1dGlvbj8ubGlnaHRTY2hlbWVDb2xvcnx8IkdSQVkiKTtjPWMuZ2V0KGU/LmRhcmtTY2hlbWVDb2xvcnx8ZD8uYXR0cmlidXRpb24/LmRhcmtTY2hlbWVDb2xvcnx8IldISVRFIik7Yz0oMCxfLldxKWAKICAgIDxnbXAtaW50ZXJuYWwtYXR0cmlidXRpb24KICAgICAgLmluZm9CdXR0b25UYXBBcmVhRXhwYW5kZWQ9JHtofQogICAgICAuYXR0cmlidXRpb25UeXBlPSR7Z30KICAgICAgLnNob3dJbmZvQnV0dG9uPSR7a30KICAgICAgLmRpc2Nsb3N1cmVDb250ZW50PSR7YX0KICAgICAgLmxvZ29Db2xvck9wdGlvbnM9JHsoe0p5OmIsS3g6Y30pfT4KICAgIDwvZ21wLWludGVybmFsLWF0dHJpYnV0aW9uPgogIGA7cmV0dXJuIGY/KDAsXy5XcSlgPHNlY3Rpb24gY2xhc3M9ImF0dHJpYnV0aW9uIj4ke2N9PC9zZWN0aW9uPmA6Y30sWnpiPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnN1bWVyQWxlcnQmJmEuY29uc3VtZXJBbGVydC5vdmVydmlldz8oMCxfLldxKWAKICAgIDxzZWN0aW9uIGNsYXNzPSJjb25zdW1lci1hbGVydCI+CiAgICAgICR7KDAsXy5XcSlgPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Indhcm5pbmctdHJpYW5nbGUiIHNsb3Q9InByZWZpeCIgdmlld0JveD0iLTEgLTIgMjQgMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0ibTAgMTkuMjUgMTEtMTkgMTEgMTl6bTMuNDUtMmgxNS4xTDExIDQuMjV6bTcuNTUtMXEuNDMgMCAuNy0uMjguMy0uMy4zLS43MmExIDEgMCAwMC0uMy0uNyAxIDEgMCAwMC0uNy0uMyAxIDEgMCAwMC0xIDFxMCAuNDMuMjguNzIuMy4yOC43Mi4yOG0tMS0zaDJ2LTVoLTJ6Ii8+PC9zdmc+YH0KICAgICAgPGRpdiBjbGFzcz0iY29uc3VtZXItYWxlcnQtcmlnaHQiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb25zdW1lci1hbGVydC1vdmVydmlldyIgYXJpYS1oaWRkZW49InRydWUiCiAgICAgICAgICA+JHthLmNvbnN1bWVyQWxlcnQub3ZlcnZpZXd9PC9zcGFuCiAgICAgICAgPgogICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5IgogICAgICAgICAgPiR7IkFsZXJ0OiAiK2EuY29uc3VtZXJBbGVydC5vdmVydmlld308L3NwYW4KICAgICAgICA+CiAgICAgICAgJHtZemIoYS5jb25zdW1lckFsZXJ0LmRldGFpbHMpfQogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICBgOm51bGx9LFl6Yj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDt2YXIgYj1hLmFib3V0TGlua1VSSSYmYS5hYm91dExpbmtUaXRsZT9be3RleHQ6YS5hYm91dExpbmtUaXRsZSxocmVmOmEuYWJvdXRMaW5rVVJJfV06W10sYz1uZXcgXy5XdCxkPW5ldyBfLlh0O2QuaGVhZGluZz1hLnRpdGxlPz92b2lkIDA7ZC5kZXNjcmlwdGlvbj1hLmRlc2NyaXB0aW9uPz92b2lkIDA7ZC5saW5rcz1iO2MuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuKDAsXy5XcSlgPGJ1dHRvbgogICAgICBjbGFzcz0iY29uc3VtZXItYWxlcnQtZGV0YWlscy1idXR0b24iCiAgICAgIEBjbGljaz0ke2U9PntlLnRhcmdldC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoImdtcC1pbnRlcm5hbC1kaWFsb2ciKS5iai5zaG93TW9kYWwoKX19PgogICAgICAkeyJEZXRhaWxzIn0KICAgIDwvYnV0dG9uPgogICAgJHtuZXcgXy5ZcSh7dGl0bGU6Ikdvb2dsZSBNYXBzIixmSzohMSxjb250ZW50OmN9KX1gfSxyOD1mdW5jdGlvbihhLGI9ITEpe2E9Uzcoe3BsYWNlOmEuSmssc2o6KDAsXy5XcSlgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Imhlcm8taW1hZ2UiPgogICAgICAgICAgPGdtcC1pbnRlcm5hbC1jb2xsYWdlCiAgICAgICAgICAgIC5tYXhQaG90b3M9JHsxfQogICAgICAgICAgICAubGlnaHRib3hFbmFibGVkPSR7YS5wQj09PTA/ITA6YS5wQj09PTE/ITE6ISFhLmNvbnRlbnRDb25maWc/Lm1lZGlhPy5saWdodGJveFByZWZlcnJlZH0KICAgICAgICAgICAgLmxpZ2h0Ym94QWZmb3JkYW5jZVR5cGU9JHthLk9IKCl9CiAgICAgICAgICAgIC5waG90b0Rpc3BsYXlEYXRhTGlzdD0ke2EucGhvdG9EaXNwbGF5RGF0YUxpc3R9CiAgICAgICAgICAgIC5taW5pPSR7Yn0KICAgICAgICAgICAgLnJlcXVlc3RTdGF0dXM9JHthLnZtfT48L2dtcC1pbnRlcm5hbC1jb2xsYWdlPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgYCxQbDoibWVkaWEiLEdsOiEhYS5jb250ZW50Q29uZmlnPy5tZWRpYSxzbG90c0NvbnN0cnVjdGlvbkRhdGE6e0dyOmEudXEsTG06YS5MbX19KTtyZXR1cm4gejcoXy5TcykmJno3KGEpP18uU3M6KDAsXy5XcSlgICR7YX0gJHtfLlNzfSBgfSxzOD1mdW5jdGlvbihhKXtyZXR1cm4hKGEuSGguc2hvd3NBdHRyaWJ1dGlvbj8/ITApfHxfLkxwWzM1XX0sdDg9ZnVuY3Rpb24oYSl7cmV0dXJuIHc3KGEuV3MoKSl8fChfLkxwWzE3MV18fCExKSYmYS5leHBlcmltZW50YWxIaWRlT3BlbkluTWFwc0J1dHRvbnx8ISFfLkxwWzM1XSYmISFfLkpsPy5CaCgpfSwkemI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wbGFjZSxjPWEuY29udGVudENvbmZpZzthPWEuc2xvdHNDb25zdHJ1Y3Rpb25EYXRhO3ZhciBkPWIuaW50ZXJuYXRpb25hbFBob25lTnVtYmVyPz8oYi5uYXRpb25hbFBob25lTnVtYmVyfHwiIik7Yj1bUzcoe3BsYWNlOmIsc2o6eDcoKDAsXy5XcSlgPHN2ZyBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMmE4IDggMCAwMTggOC4yYzAgMy4zLTIuNyA3LjMtOCAxMS44LTUuMy00LjUtOC04LjUtOC0xMS44QTggOCAwIDAxMTIgMm02IDguMkE2IDYgMCAwMDEyIDRhNiA2IDAgMDAtNiA2LjJjMCAyLjMgMiA1LjQgNiA5LjEgNC0zLjcgNi02LjggNi05LjFtLTQtLjJhMiAyIDAgMTEtNCAwIDIgMiAwIDAxNCAwIi8+PC9zdmc+YCwKYi5mb3JtYXR0ZWRBZGRyZXNzLG54YiksUGw6ImFkZHJlc3MiLEdsOiEhYz8uYWRkcmVzcyxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pLFM3KHtwbGFjZTpiLHNqOkh5YigiR01QLVBMQUNFLU9QRU5JTkctSE9VUlMiLGIpPygwLF8uV3EpYAogICAgICAgICAgICA8Z21wLWludGVybmFsLXBsYWNlLW9wZW5pbmctaG91cnMKICAgICAgICAgICAgICAucGxhY2U9JHtifQogICAgICAgICAgICAgIC5pc0V4cGFuZGFibGU9JHshMH0+CiAgICAgICAgICAgICAgJHsoMCxfLldxKWA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVlIiBzbG90PSJwcmVmaXgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJtMTUuMyAxNi43IDEuNC0xLjQtMy43LTMuN1Y3aC0ydjUuNHpNMTIgMjJhMTAgMTAgMCAwMS0zLjktLjc3IDEwIDEwIDAgMDEtMy4xNy0yLjE1cS0xLjM1LTEuMzUtMi4xNS0zLjE4QTEwIDEwIDAgMDEyIDEycTAtMi4wOC43OC0zLjlhMTAgMTAgMCAwMTIuMTUtMy4xN1E2LjI4IDMuNTggOC4xIDIuOEExMCAxMCAwIDAxMTIgMnEyLjA4IDAgMy45LjhhMTAgMTAgMCAwMTMuMTggMi4xM3ExLjM1IDEuMzUgMi4xMiAzLjE3LjggMS44My44IDMuOWExMCAxMCAwIDAxLS44IDMuOSAxMCAxMCAwIDAxLTIuMTIgMy4xOHEtMS4zNSAxLjM1LTMuMTggMi4xNUExMCAxMCAwIDAxMTIgMjJtMC0ycTMuMzMgMCA1LjY1LTIuMzNRMjAgMTUuMzMgMjAgMTJ0LTIuMzUtNS42NVExNS4zMyA0IDEyIDRUNi4zMyA2LjM1UTQgOC42OCA0IDEydDIuMzMgNS42OFE4LjY4IDIwIDEyIDIwIi8+PC9zdmc+YH0KICAgICAgICAgICAgPC9nbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vycz4KICAgICAgICAgIGA6bnVsbCxQbDoib3BlbmluZ0hvdXJzIixHbDohIWM/Lm9wZW5pbmdIb3VycyxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pLFM3KHtwbGFjZTpiLHNqOigwLF8uV3EpYAogICAgICAgIDxnbXAtaW50ZXJuYWwtcGxhY2UtcG9wdWxhci10aW1lcyAucGxhY2U9JHtifT4KICAgICAgICAgICR7KDAsXy5XcSlgPHN2ZyBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzbG90PSJwcmVmaXgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTkgMTNjMi43IDAgOCAxLjMgOCA0djNIMXYtM2MwLTIuNyA1LjMtNCA4LTRtNy43LjFjMi43LjQgNi4zIDEuNyA2LjMgMy45djNoLTR2LTNxLS4yLTIuNS0yLjMtMy45TTkgMTVjLTIuNyAwLTUuOCAxLjMtNiAydjFoMTJ2LTFjLS4yLS43LTMuMy0yLTYtMk05IDRhNCA0IDAgMTEwIDggNCA0IDAgMDEwLThtNiAwYTQgNCAwIDExLTEuMyA3LjggNiA2IDAgMDAwLTcuNnpNOSA2YTIgMiAwIDAwLTIgMnEuMiAxLjggMiAyYTIgMiAwIDAwMi0yIDIgMiAwIDAwLTItMiIvPjwvc3ZnPmB9CiAgICAgICAgPC9nbXAtaW50ZXJuYWwtcGxhY2UtcG9wdWxhci10aW1lcz4KICAgICAgYCxQbDoicG9wdWxhclRpbWVzIixHbDohMSxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pLFM3KHtwbGFjZTpiLHNqOng3KCgwLF8uV3EpYDxzdmcgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMmExMCAxMCAwIDEwMCAyMCAxMCAxMCAwIDAwMC0yMG0tMSAxOGE4IDggMCAwMS02LjgtOS44TDkgMTV2MWMwIDEuMS45IDIgMiAyem02LjktMi42QTIgMiAwIDAwMTYgMTZoLTF2LTNjMC0uNi0uNC0xLTEtMUg4di0yaDJjLjYgMCAxLS40IDEtMVY3aDJhMiAyIDAgMDAyLTJ2LS40YTggOCAwIDAxMi45IDEyLjgiLz48L3N2Zz5gLHJ5YihiLndlYnNpdGVVUkkpLHN5YixiLndlYnNpdGVVUkksITEsWyJ3ZWJzaXRlLWxpbmsiXSksUGw6IndlYnNpdGUiLEdsOiEhYz8ud2Vic2l0ZSxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pLFM3KHtwbGFjZTpiLHNqOng3KCgwLF8uV3EpYDxzdmcgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIwIDIxYy0yLjEgMC00LjItLjQtNi4yLTEuNGExOC43IDE4LjcgMCAwMS05LjUtOS40Yy0uOC0yLTEuMy00LTEuMy02LjFBMSAxIDAgMDE0IDNoNC4xYy4yIDAgLjQgMCAuNi4zbC40LjUuNiAzLjVWOGMwIC4yLS4yLjMtLjMuNEw3IDExYTEzIDEzIDAgMDAyLjcgMy40QTE5IDE5IDAgMDAxMyAxN2wyLjMtMi4zLjYtLjRoLjhsMy40LjYuNi40LjIuNnY0YTEgMSAwIDAxLTEgMS4xWk02IDlsMS43LTEuN0w3LjIgNUg1YTIxIDIxIDAgMDAxIDRtOSA5YTEzIDEzIDAgMDA0IDF2LTIuM2wtMi40LS40LTEuNiAxLjZaIi8+PC9zdmc+YCwKZCxOeGIsYHRlbDorJHtkLnJlcGxhY2UoL1stKClccytdL2csIiIpfWAsITApLFBsOiJwaG9uZU51bWJlciIsR2w6ISFjPy5waG9uZU51bWJlcixzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pLFM3KHtwbGFjZTpiLHNqOng3KCgwLF8uV3EpYDxzdmcgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDdhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDRtLTUgNWEyIDIgMCAxMS00IDAgMiAyIDAgMDE0IDBtNSAyYTIgMiAwIDEwMC00IDIgMiAwIDAwMCA0bTcgMGEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNG0tNSA1YTIgMiAwIDExLTQgMCAyIDIgMCAwMTQgMCIvPjwvc3ZnPmAsYi5wbHVzQ29kZT8uY29tcG91bmRDb2RlLE94YiksUGw6InBsdXNDb2RlIixHbDohIWM/LnBsdXNDb2RlLHNsb3RzQ29uc3RydWN0aW9uRGF0YTphfSldLmZpbHRlcihlPT4hejcoZSkpOwpyZXR1cm4gYi5sZW5ndGg/KDAsXy5XcSlgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbnRhY3RzLXNlY3Rpb24iIC5hcmlhTGFiZWw9JHsiQ29udGFjdCBpbmZvcm1hdGlvbiJ9PgogICAgICAgICAgJHtifQogICAgICAgIDwvc2VjdGlvbj4KICAgICAgYDpudWxsfSxhQWI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wbGFjZSxjPWEuY29udGVudENvbmZpZzthPWEuc2xvdHNDb25zdHJ1Y3Rpb25EYXRhO3ZhciBkPVM3KHtwbGFjZTpiLHNqOkE3KFtteWIoYikscXliKGIpXSksUGw6InR5cGVTcGVjaWZpY0hpZ2hsaWdodHMiLEdsOiEhYz8udHlwZVNwZWNpZmljSGlnaGxpZ2h0cyxzbG90c0NvbnN0cnVjdGlvbkRhdGE6YX0pO2I9W1p6YihiKSxkLCR6Yih7cGxhY2U6Yixjb250ZW50Q29uZmlnOmMsc2xvdHNDb25zdHJ1Y3Rpb25EYXRhOmF9KV07cmV0dXJuIEE3KGIpfSxiQWI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wbGFjZSxjPWEuY29udGVudENvbmZpZzthPWEuc2xvdHNDb25zdHJ1Y3Rpb25EYXRhO3ZhciBkPVp6YihiKTtpZihiLnJldmlld1N1bW1hcnkpe3ZhciBlPWIucmV2aWV3U3VtbWFyeS50ZXh0O3ZhciBmPWIucmV2aWV3U3VtbWFyeS5kaXNjbG9zdXJlVGV4dCxnPWIucmV2aWV3U3VtbWFyeS5mbGFnQ29udGVudFVSSSxoPQpiLnJldmlld1N1bW1hcnkucmV2aWV3c1VSSSxrPVtdO2gmJmsucHVzaCh7dGV4dDoiU2VlIHJldmlld3MiLHVyaTpofSk7ay5wdXNoKHt0ZXh0OiJBYm91dCB0aGlzIHN1bW1hcnkiLHVyaToiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vbG9jYWwtbGlzdGluZ3MvYW5zd2VyLzk4NTEwOTkifSk7ZyYmay5wdXNoKHt0ZXh0OiJSZXBvcnQgc3VtbWFyeSIsdXJpOmd9KTtlPSgwLF8uV3EpYAogICAgPGRpdiByb2xlPSJyZWdpb24iIC5hcmlhTGFiZWw9JHsiUmV2aWV3IHN1bW1hcnkifT4KICAgICAgPHNlY3Rpb24gY2xhc3M9InJldmlldy1zdW1tYXJ5Ij4KICAgICAgICA8Z21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5CiAgICAgICAgICAucGxhY2U9JHtifQogICAgICAgICAgLnN0YXJWYXJpYW50PSR7ImZ1bGwtc3RhcnMifT4KICAgICAgICA8L2dtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeT4KICAgICAgICA8cCBjbGFzcz0idGl0bGUiPiR7IlJldmlldyBzdW1tYXJ5In08L3A+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwPiR7ZX08L3A+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8cCBjbGFzcz0iZGlzY2xvc3VyZSI+JHtmfTwvcD4KICAgICAgICAgICAgJHtnJiZoPygwLF8uV3EpYDxkaXYgY2xhc3M9Im1lbnUtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgPGdtcC1pbnRlcm5hbC1tZW51CiAgICAgICAgICAgICAgICAgICAgLm1lbnVJdGVtcz0ke2t9PjwvZ21wLWludGVybmFsLW1lbnU+CiAgICAgICAgICAgICAgICA8L2Rpdj5gOm51bGx9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgYH1lbHNlIGU9bnVsbDtyZXR1cm4gQTcoW2QsUzcoe3BsYWNlOmIsc2o6ZSxQbDoicmV2aWV3U3VtbWFyeSIsR2w6ISFjPy5yZXZpZXdTdW1tYXJ5LHNsb3RzQ29uc3RydWN0aW9uRGF0YTphfSksUzcoe3BsYWNlOmIsc2o6anliKGIucmV2aWV3cz8/W10pLFBsOiJyZXZpZXdzIixHbDohIWM/LnJldmlld3Msc2xvdHNDb25zdHJ1Y3Rpb25EYXRhOmF9KV0pfSxjQWI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wbGFjZSxjPWEuY29udGVudENvbmZpZzthPWEuc2xvdHNDb25zdHJ1Y3Rpb25EYXRhO3ZhciBkPSEhYz8ucmV2aWV3c3x8ISFjPy5yZXZpZXdTdW1tYXJ5fHwhMTtyZXR1cm5be25hbWU6Ik92ZXJ2aWV3Iixjb250ZW50OmFBYih7cGxhY2U6Yixjb250ZW50Q29uZmlnOmMsc2xvdHNDb25zdHJ1Y3Rpb25EYXRhOmF9KX0se25hbWU6IlJldmlld3MiLGNvbnRlbnQ6ZD9iQWIoe3BsYWNlOmIsY29udGVudENvbmZpZzpjLHNsb3RzQ29uc3RydWN0aW9uRGF0YTphfSk6bnVsbH0se25hbWU6IkFib3V0IiwKY29udGVudDpTNyh7cGxhY2U6YixzajpxeGIoYiksUGw6ImZlYXR1cmVMaXN0IixHbDohIWM/LmZlYXR1cmVMaXN0LHNsb3RzQ29uc3RydWN0aW9uRGF0YTphfSl9XS5maWx0ZXIoZT0+IXo3KGUuY29udGVudCkpfSxkQWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPjE/KDAsXy5XcSlgCiAgICAgIDxnbXAtaW50ZXJuYWwtdGFiYmVkLWxheW91dCAudGFiTmFtZXM9JHthLm1hcChiPT5iLm5hbWUpfT4KICAgICAgICAke2EubWFwKCh7Y29udGVudDpifSxjKT0+KDAsXy5XcSlgCiAgICAgICAgICAgIDxkaXYgc2xvdD0idGFiLSR7Y30tY29udGVudCIgY2xhc3M9InRhYi1jb250ZW50Ij4gJHtifSA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICA8L2dtcC1pbnRlcm5hbC10YWJiZWQtbGF5b3V0PgogICAgYDphLmxlbmd0aD09PTE/KDAsXy5XcSlgPGRpdiBjbGFzcz0ic2luZ2xlLXRhYi1jb250ZW50Ij4ke2FbMF0uY29udGVudH08L2Rpdj5gOm51bGx9LGVBYj1mdW5jdGlvbihhKXtyZXR1cm4gUzcoe3BsYWNlOmEuSmssc2o6KDAsXy5XcSlgCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbGxhZ2UiPgogICAgICAgICAgPGdtcC1pbnRlcm5hbC1jb2xsYWdlCiAgICAgICAgICAgIC5udW1QbGFjZWhvbGRlcnM9JHthLkprP2EuSmsucGhvdG9zPy5sZW5ndGg/PzA6M30KICAgICAgICAgICAgLnBob3RvRGlzcGxheURhdGFMaXN0PSR7YS5waG90b0Rpc3BsYXlEYXRhTGlzdH0KICAgICAgICAgICAgLnJlcXVlc3RTdGF0dXM9JHthLnZtfT48L2dtcC1pbnRlcm5hbC1jb2xsYWdlPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgYCxQbDoibWVkaWEiLEdsOiEhYS5jb250ZW50Q29uZmlnPy5tZWRpYSxzbG90c0NvbnN0cnVjdGlvbkRhdGE6e0dyOmEudXEsTG06YS5MbX19KX0sZkFiPWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3QuYWRkKCJjYXJvdXNlbC1uYXYtYnV0dG9uLWhpZGRlbiIpO2I/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9LGdBYj1mdW5jdGlvbihhKXthLmNsYXNzTGlzdC5yZW1vdmUoImNhcm91c2VsLW5hdi1idXR0b24taGlkZGVuIil9LHU4PWZ1bmN0aW9uKGEpe3ZhciBiPWEuY2xpZW50V2lkdGg7YT1hLm9mZnNldExlZnQ7cmV0dXJue3dpZHRoOmIseEk6YSx2SjphK2J9fSxoQWI9ZnVuY3Rpb24oYSl7cmV0dXJue3dpZHRoOmEuY2xpZW50V2lkdGgsYUU6YS5zY3JvbGxMZWZ0LHhQOmEuc2Nyb2xsTGVmdCthLmNsaWVudFdpZHRoLExJOmEuc2Nyb2xsV2lkdGgtYS5jbGllbnRXaWR0aCxJajpnZXRDb21wdXRlZFN0eWxlKGEpLmRpcmVjdGlvbj09PSJydGwifX0sdjg9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9CmEubWF0Y2goLyhcZCspLykpP051bWJlcihhWzFdKTowfSx3OD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnhJPj1iLmFFJiZhLnZKPD1iLnhQfSxqQWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oQWIoYS5GciksZD1jLklqLGU9Yy5MSSxmO2E6e2lmKGI9PT0xKWZvcihmPWEuVm4ubGVuZ3RoLTE7Zj49MDtmLS0paWYodzgodTgoYS5WbltmXSksYykpYnJlYWsgYTtmb3IoZj0wO2Y8YS5Wbi5sZW5ndGg7ZisrKWlmKHc4KHU4KGEuVm5bZl0pLGMpKWJyZWFrIGE7Zj12b2lkIDB9e2xldCBoPWMuSWo7aWYoZil7dmFyIGc9dTgoYS5WbltmK2JdKTtjPWI9PT0xIT09aD9nLnhJLWlBYihhKTpnLnZKLWMud2lkdGgraUFiKGEpfWVsc2UgYz1jLndpZHRoKi44KmIsYz1hLkZyLnNjcm9sbExlZnQrKGg/LWM6Yyl9Yz1kP01hdGgubWluKDAsTWF0aC5tYXgoYywtZSkpOk1hdGgubWF4KDAsTWF0aC5taW4oYyxlKSk7YS5Gci5zY3JvbGxUbyh7bGVmdDpjLGJlaGF2aW9yOiJzbW9vdGgifSk7ZiYmKGEuRlAudGV4dENvbnRlbnQ9CiJDYXJkICIrU3RyaW5nKGYrYisxKSsiIG9mICIrU3RyaW5nKGEuVm4ubGVuZ3RoKSk7eDgoYSl9LHk4PWFzeW5jIGZ1bmN0aW9uKGEpe2EucWgmJmEucWguZGlzY29ubmVjdCgpO3RyeXthd2FpdCBuZXcgUHJvbWlzZShyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpO2xldCBiPTA7Zm9yKGxldCBjIG9mIGEuVm4pe2xldCBkPWMuZmlyc3RFbGVtZW50Q2hpbGQuYXNzaWduZWRFbGVtZW50cygpWzBdO2QmJihkLnN0eWxlLmhlaWdodD0iYXV0byIsYj1NYXRoLm1heChiLGQub2Zmc2V0SGVpZ2h0KSl9Zm9yKGxldCBjIG9mIGEuVm4pe2xldCBkPWMuZmlyc3RFbGVtZW50Q2hpbGQuYXNzaWduZWRFbGVtZW50cygpWzBdO2QmJihkLnN0eWxlLmhlaWdodD1gJHtifXB4YCl9YS5Gci5zdHlsZS5oZWlnaHQ9YCR7YisyfXB4YH1maW5hbGx5e2EucWgmJmtBYihhKX19LHg4PWZ1bmN0aW9uKGEpe3ZhciBiPWhBYihhLkZyKSxjPXU4KGEuVm5bYS5Wbi5sZW5ndGgtMV0pLGQ9YS5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQsCmU9Yi5hRT09PTAsZj1NYXRoLmFicyhiLmFFKS1iLkxJO2Y9Zj49LTEmJmY8PTE7dzgodTgoYS5WblswXSksYil8fGU/ZkFiKGEuYXYsZD09PWEuYXY/YS5TeTpudWxsKTpnQWIoYS5hdik7dzgoYyxiKXx8Zj9mQWIoYS5TeSxkPT09YS5TeT9hLmF2Om51bGwpOmdBYihhLlN5KTthLmF2LmNsYXNzTGlzdC50b2dnbGUoImNhcm91c2VsLW5hdi1idXR0b24tcnRsIixiLklqKTthLlN5LmNsYXNzTGlzdC50b2dnbGUoImNhcm91c2VsLW5hdi1idXR0b24tcnRsIixiLklqKX0sbEFiPWZ1bmN0aW9uKGEpe2NsZWFyVGltZW91dChhLnNoKTthLnNoPXNldFRpbWVvdXQoKCk9Pnt5OChhKX0sMTApfSxrQWI9ZnVuY3Rpb24oYSl7YS5Wbi5mb3JFYWNoKGI9PnsoYj1iLmZpcnN0RWxlbWVudENoaWxkLmFzc2lnbmVkRWxlbWVudHMoKVswXSkmJmEucWgub2JzZXJ2ZShiLGEueGgpfSl9LGlBYj1mdW5jdGlvbihhKXt2YXIgYj12OChnZXRDb21wdXRlZFN0eWxlKGEudk8pLnBhZGRpbmdMZWZ0KTthPQp2OChnZXRDb21wdXRlZFN0eWxlKGEuYXYpLndpZHRoKSt2OChnZXRDb21wdXRlZFN0eWxlKGEuYXYpLm1hcmdpbik7cmV0dXJuIGIrYS02fSxvQWI9ZnVuY3Rpb24oYSxiPXt9KXt2YXIge2NvbnRlbnRDb25maWc6YyxDcjpkLGF0dHJpYnV0aW9uVHlwZTplPSJMT0dPIixzaG93SW5mb0J1dHRvbjpmPSExLHNOOmc9ITF9PWI7YT1bLi4uKGE/LnNvbWUoaz0+ay5wbGFjZT8ucmF0aW5nIT1udWxsKSYmKGM/LnJhdGluZ3x8Zyk/W083XTpbXSksLi4uKGE/Lmxlbmd0aD9bbUFiXTpbXSldO2I9bkFiLmdldChkPy5saWdodFNjaGVtZUNvbG9yfHxjPy5hdHRyaWJ1dGlvbj8ubGlnaHRTY2hlbWVDb2xvcnx8IkdSQVkiKTt2YXIgaD1uQWIuZ2V0KGQ/LmRhcmtTY2hlbWVDb2xvcnx8Yz8uYXR0cmlidXRpb24/LmRhcmtTY2hlbWVDb2xvcnx8IldISVRFIik7cmV0dXJuKDAsXy5XcSlgCiAgICA8Z21wLWludGVybmFsLWF0dHJpYnV0aW9uCiAgICAgIC5pbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkPSR7ITB9CiAgICAgIC5hdHRyaWJ1dGlvblR5cGU9JHtlfQogICAgICAuc2hvd0luZm9CdXR0b249JHtmfQogICAgICAuZGlzY2xvc3VyZUNvbnRlbnQ9JHthfQogICAgICAubG9nb0NvbG9yT3B0aW9ucz0keyh7Snk6YixLeDpofSl9PgogICAgPC9nbXAtaW50ZXJuYWwtYXR0cmlidXRpb24+CiAgYH0scEFiPWZ1bmN0aW9uKGEsYil7Yj1iLnNvbWUoYz0+Yy54dT09PVQ3KTshYS5zaCYmYiYmXy5sRShhLGBJZ25vcmluZyBjb250ZW50IGNvbmZpZyBlbGVtZW50ICg8Z21wLXBsYWNlLWNvbnRlbnQtY29uZmlnPikuIDwke2EudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT4gb25seSBzdXBwb3J0cyA8dGVtcGxhdGUgc2xvdD0iZGV0YWlscy1pdGVtIj4sIDxnbXAtcGxhY2Utc3RhbmRhcmQtY29udGVudD4sIGFuZCA8Z21wLXBsYWNlLWFsbC1jb250ZW50Pi5gKX0scUFiPWZ1bmN0aW9uKGEsYixjPUFycmF5LmZyb20oYS5jaGlsZHJlbikuc29tZShkPT5kLmdldEF0dHJpYnV0ZSgic2xvdCIpPT09ImRldGFpbHMtaXRlbSIpKXtjJiZiIT09dm9pZCAwP18ubEUoYSwnSWdub3JpbmcgY29udGVudCBjb25maWcgZWxlbWVudCBiZWNhdXNlIDx0ZW1wbGF0ZSBzbG90PSJkZXRhaWxzLWl0ZW0iPiBpcyBwcmVzZW50LicpOmJ8fGN8fChhLnNoP18ubEUoYSxgTWlzc2luZyBhIGNvbnRlbnQgZWxlbWVudC4gVGhlICR7YS54aH0gd2lkZ2V0IHJlcXVpcmVzIGJvdGggYSBjb250ZW50IGVsZW1lbnQgKDxnbXAtcGxhY2UtY29udGVudC1jb25maWc+LCA8Z21wLXBsYWNlLXN0YW5kYXJkLWNvbnRlbnQ+LCBvciA8Z21wLXBsYWNlLWFsbC1jb250ZW50PikgYW5kIGEgcmVxdWVzdCBlbGVtZW50ICg8Z21wLXBsYWNlLXRleHQtc2VhcmNoLXJlcXVlc3Q+IG9yIDxnbXAtcGxhY2UtbmVhcmJ5LXNlYXJjaC1yZXF1ZXN0PikuYCk6Cl8ubEUoYSxgTWlzc2luZyBhIDx0ZW1wbGF0ZSBzbG90PSJkZXRhaWxzLWl0ZW0iPiBlbGVtZW50LiBUaGUgJHthLnhofSB3aWRnZXQgcmVxdWlyZXMgYSA8dGVtcGxhdGUgc2xvdD0iZGV0YWlscy1pdGVtIj4gZWxlbWVudCwgPGdtcC1wbGFjZS1zdGFuZGFyZC1jb250ZW50Piwgb3IgPGdtcC1wbGFjZS1hbGwtY29udGVudD4sIGFuZCBhIHJlcXVlc3QgZWxlbWVudCAoPGdtcC1wbGFjZS10ZXh0LXNlYXJjaC1yZXF1ZXN0PiBvciA8Z21wLXBsYWNlLW5lYXJieS1zZWFyY2gtcmVxdWVzdD4pLmApKX0sejg9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5XcSlgPGRpdiBjbGFzcz0ibm9uLXBsYWNlLWNvbnRlbnQiPiR7YX08L2Rpdj5gfSxyQWI9ZnVuY3Rpb24oYSl7dmFyIGI9ISFhLkxoLGM9ISFhLlNoLGQ9YS54aj8uY29udGVudCE9PXZvaWQgMDtyZXR1cm4gYS5zaD8oYT0hIWEuUGgsZHx8YXx8Ynx8Yyk6Ynx8Y30sc0FiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnBsYWNlLGU9YS5DaCh7b3JpZW50YXRpb246YS5vcmllbnRhdGlvbj09PQoiSE9SSVpPTlRBTCI/IlZFUlRJQ0FMIjoiSE9SSVpPTlRBTCIsdHJ1bmNhdGlvblByZWZlcnJlZDphLnRydW5jYXRpb25QcmVmZXJyZWR9KTtlLnhqLmNvbnRlbnQ9ey4uLihhLnhqPy5jb250ZW50Pz97fSl9O2UuYk0oYik7aWYoIWEuc2VsZWN0YWJsZSlyZXR1cm4gYS5vcmllbnRhdGlvbj09PSJWRVJUSUNBTCI/KDAsXy5XcSlgPGxpPiR7ZX08L2xpPmA6KDAsXy5XcSlgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtY2FyZC1zbG90IiBzbG90PSJjYXJvdXNlbC1jYXJkLSR7Y30iCiAgICAgICAgICAgID4ke2V9PC9kaXYKICAgICAgICAgID5gO2I9ZC5kaXNwbGF5TmFtZT9qNygiU2VsZWN0IHtwbGFjZU5hbWV9Iix7cGxhY2VOYW1lOmQuZGlzcGxheU5hbWV9KToiU2VsZWN0IHRoaXMgcGxhY2UiO3ZhciBmPWg9PnthLnNlbGVjdGFibGUmJihhLmRpc3BhdGNoRXZlbnQobmV3IEE4KGk4KGQpKSksaC5zdG9wUHJvcGFnYXRpb24oKSl9LGc9aD0+eyFhLnNlbGVjdGFibGV8fGgua2V5IT09IkVudGVyIiYmaC5rZXkhPT0iICJ8fGgudGFyZ2V0IT09aC5jdXJyZW50VGFyZ2V0fHwoYS5kaXNwYXRjaEV2ZW50KG5ldyBBOChpOChkKSkpLGgucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpKX07cmV0dXJuIGEub3JpZW50YXRpb249PT0iVkVSVElDQUwiPygwLF8uV3EpYDxsaSBjbGFzcz0ic2VsZWN0YWJsZS1pdGVtIGxpc3QtaXRlbS1zbG90IiBAY2xpY2s9JHtmfT4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgY2xhc3M9InNlbGVjdGFibGUtYnV0dG9uIgogICAgICAgICAgICBAY2xpY2s9JHtmfQogICAgICAgICAgICBAa2V5ZG93bj0ke2d9CiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtifT4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgJHtlfQogICAgICAgIDwvbGk+YDooMCxfLldxKWA8ZGl2CiAgICAgICAgICBjbGFzcz0ic2VsZWN0YWJsZS1pdGVtIGNhcm91c2VsLWNhcmQtc2xvdCIKICAgICAgICAgIHNsb3Q9ImNhcm91c2VsLWNhcmQtJHtjfSIKICAgICAgICAgIEBjbGljaz0ke2Z9PgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICBjbGFzcz0ic2VsZWN0YWJsZS1idXR0b24iCiAgICAgICAgICAgIEBjbGljaz0ke2Z9CiAgICAgICAgICAgIEBrZXlkb3duPSR7Z30KICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2J9PgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAke2V9CiAgICAgICAgPC9kaXY+YH0sdEFiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIhPT1hLmF0dHJpYnV0aW9uUG9zaXRpb24/Xy5TczooMCxfLldxKWAgPGRpdiBjbGFzcz0iYXR0cmlidXRpb24iPgogICAgICAke29BYihhLkZvLHtjb250ZW50Q29uZmlnOmEueGouY29udGVudCxDcjphLnhqLmF0dHJpYnV0aW9uLHNob3dJbmZvQnV0dG9uOiEwLHNOOiExfSl9CiAgICA8L2Rpdj5gfSxCOD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gZChhd2FpdCBQcm9taXNlLmFsbChhLm1hcChhc3luYyBmdW5jdGlvbihlKXt2YXIgZj1lLnBob3Rvcz8uWzBdO2lmKCFmKXJldHVybntwbGFjZTplLEx6Om51bGwsZXo6IlNVQ0NFU1MifTt0cnl7bGV0IGc9ZChhd2FpdCB1QWIoZixiLGMsZCkpO3JldHVybntwbGFjZTplLEx6OmcsZXo6IlNVQ0NFU1MifX1jYXRjaChnKXtyZXR1cm4gZyBpbnN0YW5jZW9mIEVycm9yJiZjb25zb2xlLndhcm4oZykse3BsYWNlOmUsTHo6bnVsbCxlejoiRVJST1IifX19KSkpfSx1QWI9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIHt6SDplfT1kKGF3YWl0IF8uSGwoInBsYWNlc19pbXBsIikpO3RyeXtsZXQgZj1kKGF3YWl0IGUoYCR7YS5uYW1lfS9tZWRpYWAsMUUzLHZvaWQgMCxiLGMpKTtpZighZil0aHJvdyBFcnJvcigiRXJyb3IgZmV0Y2hpbmcgcGhvdG8gVVJJOiBTZXJ2ZXIgcmV0dXJuZWQgbm8gZGF0YSIpOwpyZXR1cm4gZn1jYXRjaChmKXtpZihmIGluc3RhbmNlb2YgXy5Sayl0aHJvdyBfLmtyKGBFcnJvciBmZXRjaGluZyBwaG90byBVUkk6ICR7Zi5tZXNzYWdlfWAsIlBMQUNFU19HRVRfUEhPVE9fTUVESUEiLGYpO3Rocm93IGY7fX0sdkFiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmEmJmImJmEubGVuZ3RoPT09Yi5sZW5ndGg/YS5ldmVyeSgoYyxkKT0+e2Q9YltkXTtyZXR1cm4gYz09PWQ/ITA6YyBpbnN0YW5jZW9mICQ3JiZkIGluc3RhbmNlb2YgJDc/Yy5pZD09PWQuaWQ6UjcoYyxkKX0pOiExfSx6QWI9ZnVuY3Rpb24oYSl7Y2xhc3MgYiBleHRlbmRzIGF7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMucEI9MTt0aGlzLlVCPXdBYjt0aGlzLkR4PXhBYn1Taigpe316RCgpe3JldHVybiJ0aXRsZS1tZWRpdW0ifW9EKCl7dmFyIGM9dGhpcy54aj8uY29udGVudD8ubWVkaWE/LnByZWZlcnJlZFNpemU7cmV0dXJuey4uLnN1cGVyLm9EKCksIm1lZGlhLXNpemUtc21hbGwiOmM9PT0KIlNNQUxMIiwibWVkaWEtc2l6ZS1tZWRpdW0iOmM9PT0iTUVESVVNIiwibWVkaWEtc2l6ZS1sYXJnZSI6Yz09PSJMQVJHRSJ9fVhDKCl7fWdldCBSRCgpe3JldHVybiEwfUJ4KCl7cmV0dXJuIHRoaXMueGp9Yk0oYyl7dmFyIGQ9Yy5wbGFjZSxlPWMuTHo7Yz1jLmV6O3RoaXMuSms9ZDt0aGlzLnBob3RvRGlzcGxheURhdGFMaXN0PWU/W3t1cmk6ZSxLRTpkLmRpc3BsYXlOYW1lPz8iIixhdXRob3JBdHRyaWJ1dGlvbnM6W10sZmxhZ0NvbnRlbnRVUkk6bnVsbCxnb29nbGVNYXBzVVJJOm51bGx9XTpbXTt0aGlzLnZtPWM7dGhpcy50az0yfX1iLnN0eWxlcz1beUFiXTtyZXR1cm4gYn0sQUFiPWZ1bmN0aW9uKGE9e30pe3ZhciBiPXt9O0M4PSEwO3RyeXtsZXQgYz1uZXcgRDgoey4uLmF9KTtjLmd2KHtzaG93c0F0dHJpYnV0aW9uOiExLC4uLmJ9KTthLm9yaWVudGF0aW9uPT09IlZFUlRJQ0FMIiYmYy5jbGFzc0xpc3QuYWRkKCJwbGFjZS1zZWFyY2gtdmVydGljYWwtY2FyZCIpO3JldHVybiBjfWZpbmFsbHl7Qzg9CiExfX0sQkFiPWZ1bmN0aW9uKHtwbGFjZXM6YSxmaWVsZHM6YixhbjpjLFhMOmQsaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOmV9KXtpZihhLmxlbmd0aD09PTApcmV0dXJuW107dmFyIGY9Yy5mZXRjaChkKTtyZXR1cm4gYS5tYXAoYXN5bmMgZz0+e3ZhciBoPWF3YWl0IGY7cmV0dXJuIGQoYXdhaXQgZzgoZyx7ZmllbGRzOmIsaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOmV9LHtTazpoLkhvKCl9KSkucGxhY2V9KX0sRUFiPWFzeW5jIGZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg9PT0wP2F3YWl0IF8uSXEoYSxhc3luYygpPT57YS5Gbz1bXTthLnRrPTJ9KTphd2FpdCBfLklxKGEsYXN5bmMgYz0+e3ZhciBkPWMoYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKEJBYih7cGxhY2VzOmIsZmllbGRzOkFycmF5LmZyb20oQ0FiKSxhbjphLmFuLFhMOmMsaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOmEucWg/QXJyYXkuZnJvbShhLnFoKTp2b2lkIDB9KSkpLGU9W107Zm9yKGxldCBmIG9mIGQpZi5zdGF0dXM9PT0KImZ1bGZpbGxlZCI/ZS5wdXNoKGYudmFsdWUpOmNvbnNvbGUud2FybihmLnJlYXNvbik7YS5yaD1lO2EudGg9ZTthLkZvPURBYihlKTthLnRrPTI7Xy5jcChhLCJwbGFjZXMiKTtkPWMoYXdhaXQgYS5hbi5mZXRjaChjKSkuSG8oKTthLkZvPWMoYXdhaXQgQjgoZSxhLnFoP0FycmF5LmZyb20oYS5xaCk6dm9pZCAwLHtTazpkfSxjKSk7Xy5jcChhLCJwbGFjZXMiKX0pfSxEQWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubWFwKGI9Pih7cGxhY2U6YixMejpudWxsLGV6OiJMT0FESU5HIn0pKX0sSEFiPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9VnliKHsuLi5iLGZpZWxkczpBcnJheS5mcm9tKEZBYil9KTthd2FpdCBfLklxKGEsYXN5bmMgZD0+e3ZhciBlPWQoYXdhaXQgYS5hbi5mZXRjaChkKSkuSG8oKTthLnFoJiYoYy5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM9YS5xaCk7dmFyIGY9ZChhd2FpdCBhemIoYyx7U2s6ZX0pKTthLkZvPUdBYihmLnBsYWNlcyk7YS50az0yO2EuRm89CmQoYXdhaXQgQjgoZi5wbGFjZXMsYi5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM/QXJyYXkuZnJvbShiLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyk6dm9pZCAwLHtTazplfSxkKSl9LDIzMDE2Mil9LElBYj1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVh5Yih7Li4uYixmaWVsZHM6QXJyYXkuZnJvbShGQWIpfSk7YXdhaXQgXy5JcShhLGFzeW5jIGQ9Pnt2YXIgZT1kKGF3YWl0IGEuYW4uZmV0Y2goZCkpLkhvKCk7YS5xaCYmKGMuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzPWEucWgpO3ZhciBmPWQoYXdhaXQgYnpiKGMse1NrOmV9KSk7YS5Gbz1HQWIoZi5wbGFjZXMpO2EudGs9MjthLkZvPWQoYXdhaXQgQjgoZi5wbGFjZXMsYi5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM/QXJyYXkuZnJvbShiLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyk6dm9pZCAwLHtTazplfSxkKSl9LDIzMDE2Myl9LEdBYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoYj0+KHtwbGFjZTpiLApMejpudWxsLGV6OiJMT0FESU5HIn0pKX0sS0FiPWFzeW5jIGZ1bmN0aW9uKGEpe3JldHVybiBKQWIoYSl9LEpBYj1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciB7T0w6Y309YXdhaXQgXy5IbCgicGxhY2VzX2ltcGwiKSxkPVp5YihhKTt0cnl7cmV0dXJuIGMoZCxiKS50aGVuKGU9Pih7c3VnZ2VzdGlvbnM6Xy5DZyhlLlBMLExBYiwxKS5tYXAoZj0+e3ZhciBnPV8uSChlLnlHLDcpLGg9Xy5IKGUueUcsNiksaz1hPy5zZXNzaW9uVG9rZW4sbT1hPy5vcmlnaW4mJm5ldyBfLlRtKGEub3JpZ2luKTtyZXR1cm4gbmV3IEU4KGYsZyxoLGssbSl9KX0pKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgXy5Sayl0aHJvdyBfLmtyKCJFcnJvciBpbiBmZXRjaGluZyBBdXRvY29tcGxldGVTdWdnZXN0aW9uczogIitlLm1lc3NhZ2UsIlBMQUNFU19BVVRPQ09NUExFVEUiLGUpO3Rocm93IGU7fX0sYXhiPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYj09PSIiKWh4YihhLFtdKTtlbHNlIHRyeXthd2FpdCBNQWIoYSwKe2lucHV0OmIsbG9jYXRpb25CaWFzOmEuSWs/P3ZvaWQgMCxsb2NhdGlvblJlc3RyaWN0aW9uOmEucmw/P3ZvaWQgMCxsYW5ndWFnZTphLkdqPz92b2lkIDAscmVnaW9uOmEud2o/P3ZvaWQgMCxpbmNsdWRlZFJlZ2lvbkNvZGVzOmEuQ2w/P3ZvaWQgMCxpbmNsdWRlZFByaW1hcnlUeXBlczphLnhrPz92b2lkIDAsb3JpZ2luOmEuR2g/e2xhdDphLkdoLmxhdCxsbmc6YS5HaC5sbmd9OnZvaWQgMCxwdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQ6YS56bT8/dm9pZCAwLGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczphLlZrPz92b2lkIDB9KX1jYXRjaChjKXtfLkdkYShhLGMpfX0sZ3hiPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5tYWluVGV4dD8udGV4dD8/IiI7dmFyIGQ9Yi5zZWNvbmRhcnlUZXh0Py50ZXh0Pz8iIjt2YXIgZT1iLm1haW5UZXh0Py5tYXRjaGVzPz9bXTt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmLmNsYXNzTGlzdC5hZGQoInBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXJvdyIpOwp2YXIgZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtnLnNldEF0dHJpYnV0ZSgicGFydCIsInByZWRpY3Rpb24taXRlbS1pY29uIik7Zy5jbGFzc0xpc3QuYWRkKCJwbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wbGFjZS1pY29uIiwicGxhY2UtYXV0b2NvbXBsZXRlLWVsZW1lbnQtcGxhY2UtaWNvbi1tYXJrZXIiKTt2YXIgaD1hLkNtPy5jb250ZW50LmNsb25lTm9kZSghMCk/P251bGw7aD9nLmFwcGVuZENoaWxkKGgpOih7Y2xhc3NOYW1lOmh9PXtjbGFzc05hbWU6InBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXByZWRpY3Rpb24taXRlbS1pY29uIn0sXy5YcygoMCxfLldxKWA8c3ZnIGNsYXNzPSIke2h9IiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHBhdGggZD0iTTQ4MC00ODBxMzMgMCA1Ni41LTIzLjVUNTYwLTU2MHQtMjMuNS01Ni41VDQ4MC02NDB0LTU2LjUgMjMuNVQ0MDAtNTYwdDIzLjUgNTYuNVQ0ODAtNDgwbTAgMjk0cTEyMi0xMTIgMTgxLTIwMy41VDcyMC01NTJxMC0xMDktNjkuNS0xNzguNVQ0ODAtODAwdC0xNzAuNSA2OS41VDI0MC01NTJxMCA3MSA1OSAxNjIuNVQ0ODAtMTg2bTAgMTA2UTMxOS0yMTcgMjM5LjUtMzM0LjVUMTYwLTU1MnEwLTE1MCA5Ni41LTIzOVQ0ODAtODgwdDIyMy41IDg5VDgwMC01NTJxMCAxMDAtNzkuNSAyMTcuNVQ0ODAtODBtMC00ODAiLz48L3N2Zz5gLApnKSk7aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLmNsYXNzTGlzdC5hZGQoInBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXRleHQtZGl2Iik7Yz1OQWIoYyxlLCJwcmVkaWN0aW9uLWl0ZW0tbm9ubWF0Y2giKTtjLnNldEF0dHJpYnV0ZSgicGFydCIsInByZWRpY3Rpb24taXRlbS1tYWluLXRleHQiKTtjLmNsYXNzTGlzdC5hZGQoInBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXBsYWNlLW5hbWUiKTtkPU5BYihkLFtdKTtkLnNldEF0dHJpYnV0ZSgicGFydCIsInByZWRpY3Rpb24taXRlbS1zZWNvbmRhcnktdGV4dCIpO2QuY2xhc3NMaXN0LmFkZCgicGxhY2UtYXV0b2NvbXBsZXRlLWVsZW1lbnQtcGxhY2UtZGV0YWlscyIpO2IuZGlzdGFuY2VNZXRlcnM9PW51bGw/YT1udWxsOihlPWIuZGlzdGFuY2VNZXRlcnMsYj1hLlZqIT1udWxsP2EuVmo6Xy5OaWEuaGFzKGEuRWk/PyIiKT8xOjAsZS89Yj09PTE/MTYwOS4zNDoxRTMsYT0obmV3IEludGwuTnVtYmVyRm9ybWF0KGEudXI/Pwp2b2lkIDAse3N0eWxlOiJ1bml0Iix1bml0OmI9PT0xPyJtaWxlIjoia2lsb21ldGVyIix1bml0RGlzcGxheToic2hvcnQiLG1heGltdW1GcmFjdGlvbkRpZ2l0czplPDEwPzE6MH0pKS5mb3JtYXQoZSksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksYi50ZXh0Q29udGVudD1gJHthfSBcdTAwYjcgYCxhPWIpO2EmJmQucHJlcGVuZChhKTtoLnJlcGxhY2VDaGlsZHJlbihjLGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIiksZCk7Zi5yZXBsYWNlQ2hpbGRyZW4oZyxoKTtyZXR1cm4gZn0sT0FiPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT5jLmdldEF0dHJpYnV0ZSgic2xvdCIpPT09InByZWRpY3Rpb24taXRlbS1pY29uIik7aWYoYi5sZW5ndGg+MSl0aHJvdyBfLkFtKF8uaHAoYSwiWW91IG1heSBzcGVjaWZ5IGEgbWF4aW11bSBvZiBvbmUgZWxlbWVudCBmb3IgdGhlIHByZWRpY3Rpb24taXRlbS1pY29uIHNsb3QuIikpO2lmKChiPWJbMF0pJiYhKGIgaW5zdGFuY2VvZgpIVE1MVGVtcGxhdGVFbGVtZW50KSl0aHJvdyBfLkFtKF8uaHAoYSwiWW91IG1heSBvbmx5IHNwZWNpZnkgYSA8dGVtcGxhdGU+IGVsZW1lbnQgZm9yIHRoZSBwcmVkaWN0aW9uLWl0ZW0taWNvbiBzbG90LiIpKTtiPWI/P251bGw7YS5DbSE9PWImJihhLkNtPWIpfSxQQWI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5KbC5yaCgpO2EudXI9YS5Haj8/Yi5yaCgpPz9udWxsO2EuRWk9YS53ajthLkVpIT1udWxsfHxiLnhoKCl8fChhLkVpPWIudGgoKS50b1VwcGVyQ2FzZSgpKX0sTUFiPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5qSChhKTtiPWF3YWl0IGEuQXYoYik7Xy5rSChhLGMpJiZRQWIoYSxiKX0sUUFiPWZ1bmN0aW9uKGEsYil7Yj1iLnN1Z2dlc3Rpb25zLmZsYXRNYXAoYz0+Yy5wbGFjZVByZWRpY3Rpb24/P1tdKTtoeGIoYSxiKX0sRjg9ZnVuY3Rpb24oYSxiKXtpZihiKXtsZXQgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yy5zZXRBdHRyaWJ1dGUoInBhcnQiLGIpOwpjLnRleHRDb250ZW50PWE7cmV0dXJuIGN9cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGEpfSxOQWI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtpZighYSlyZXR1cm4gZDtpZighYnx8IWIubGVuZ3RoKXJldHVybiBkLmFwcGVuZENoaWxkKEY4KGEsYykpLGQ7dmFyIGU9W10sZj0wO2ZvcihsZXQgZyBvZiBiKXtiPWcuc3RhcnRPZmZzZXQ7bGV0IGg9Zy5lbmRPZmZzZXQ7YS5zdWJzdHJpbmcoZixiKSE9PSIiJiZlLnB1c2goRjgoYS5zdWJzdHJpbmcoZixiKSxjKSk7Zj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Zi5zZXRBdHRyaWJ1dGUoInBhcnQiLCJwcmVkaWN0aW9uLWl0ZW0tbWF0Y2giKTtmLmNsYXNzTGlzdC5hZGQoInBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXBsYWNlLXJlc3VsdC0tbWF0Y2hlZCIpO2YudGV4dENvbnRlbnQ9YS5zdWJzdHJpbmcoYixoKTtlLnB1c2goZik7Zj1ofWEuc3Vic3RyaW5nKGYpIT09CiIiJiZlLnB1c2goRjgoYS5zdWJzdHJpbmcoZiksYykpO2QucmVwbGFjZUNoaWxkcmVuKC4uLmUpO3JldHVybiBkfSxSQWI9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LFNBYj1hc3luYyBmdW5jdGlvbihhKXthLk1pfHwoYS5NaT1hLmFuLmZldGNoKFJBYikudGhlbihiPT57YS55aD1iLkhvKCl9KS5maW5hbGx5KCgpPT57YS5NaT1udWxsfSkpO3JldHVybiBhLk1pfSxZQWI9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5BZyhhLFRBYiwxKTtyZXR1cm57b3JpZ2luOl8uU2YoYixfLkRyLDIpJiZfLkFnKGIsXy5EciwyKS5yaCgpIT09MCYmXy5BZyhiLF8uRHIsMikucmgoKSE9PTA/bmV3IF8uVG0oXy5BZyhiLF8uRHIsMikucmgoKSxfLkFnKGIsXy5EciwyKS50aCgpKTpudWxsLHBsYWNlczpfLkNnKGIsVUFiLDMpLm1hcChjPT57dmFyIGQ9bmV3IF8uWjU7dmFyIGU9YzYobmV3IF8uSXIsYy5VaSgpPy5jaSgpfHxudWxsKTt2YXIgZj1jLlVpKCk/LnJoKCl8fG51bGw7ZT1fLmpoKGUsMixmKTtkPWg2KGQsCmUud2goKSk7ZT1jNihuZXcgXy5JcixfLkFnKGMsXy5JciwyKT8uY2koKXx8bnVsbCk7Zj1fLkFnKGMsXy5JciwyKT8ucmgoKXx8bnVsbDtlPV8uamgoZSwyLGYpLndoKCk7ZD1fLkVnKGQsXy5JciwzMixlKTtlPWMuZ2V0TG9jYXRpb24oKXx8bnVsbDtkPV8uRWcoZCxfLkRyLDEyLGUpO2U9Xy5PZyhjLDUpfHxudWxsO2Q9Xy5oaChkLDE0LGUpO2U9Xy5IKGMsNil8fG51bGw7ZD1fLmpoKGQsMTUsZSk7ZT1fLktnKGMsNyk/P251bGw7ZD1fLmJoKGQsMjgsZSk7ZT1fLlBnKGMsOCk/P251bGw7ZD1fLmxoKGQsMjYsZSk7ZT1fLkFnKGMsRzgsOSk7ZD1fLkVnKGQsRzgsNzgsZSk7ZT1fLkFnKGMsSDgsMTApO2Q9Xy5FZyhkLEg4LDc5LGUpO2U9Xy5BZyhjLEk4LDEyKTtkPV8uRWcoZCxJOCwyMSxlKTtlPV8uS2coYywxNik/P251bGw7ZD1fLmJoKGQsMjIsZSk7ZT1fLkFnKGMsSjgsMTUpO2Q9Xy5FZyhkLEo4LDcyLGUpO2U9Xy5IKGMsMTgpfHxudWxsO2Q9Xy5qaChkLDksZSk7ZT1fLkgoYywKMTkpfHxudWxsO2Q9Xy5qaChkLDE2LGUpO2U9Xy5IKGMsMjApfHxudWxsO2Q9Xy5qaChkLDcsZSk7ZT1fLkgoYywyMSl8fG51bGw7ZD1fLmpoKGQsOCxlKTtlPV8uSChjLDUyKXx8bnVsbDtkPV8uamgoZCwyOSxlKTtlPV8uQ3UoYywyNSk/Xy5KZyhjLDI1KTpudWxsO2Q9Xy4kZyhkLDYzLGUpO2U9Yy5oYXNUYWtlb3V0KCk/Xy5KZyhjLDI2KTpudWxsO2Q9Xy4kZyhkLDMzLGUpO2U9Yy5oYXNEZWxpdmVyeSgpP18uSmcoYywyNyk6bnVsbDtkPV8uJGcoZCwzNCxlKTtlPWMuaGFzRGluZUluKCk/Xy5KZyhjLDI4KTpudWxsO2Q9Xy4kZyhkLDM1LGUpO2U9Yy5oYXNDdXJic2lkZVBpY2t1cCgpP18uSmcoYywyOSk6bnVsbDtkPV8uJGcoZCwzNixlKTtlPV8uQ3UoYywzMCk/Xy5KZyhjLDMwKTpudWxsO2Q9Xy4kZyhkLDM4LGUpO2U9Xy5DdShjLDMxKT9fLkpnKGMsMzEpOm51bGw7ZD1fLiRnKGQsMzksZSk7ZT1fLkN1KGMsMzIpP18uSmcoYywzMik6bnVsbDtkPV8uJGcoZCw0MCxlKTtlPV8uQ3UoYywKMzMpP18uSmcoYywzMyk6bnVsbDtkPV8uJGcoZCw0MSxlKTtlPV8uQ3UoYywzNCk/Xy5KZyhjLDM0KTpudWxsO2Q9Xy4kZyhkLDQyLGUpO2U9Xy5DdShjLDM1KT9fLkpnKGMsMzUpOm51bGw7ZD1fLiRnKGQsNDMsZSk7ZT1fLkN1KGMsMzYpP18uSmcoYywzNik6bnVsbDtkPV8uJGcoZCw0NCxlKTtlPV8uQ3UoYywzNyk/Xy5KZyhjLDM3KTpudWxsO2Q9Xy4kZyhkLDQ1LGUpO2U9Yy5oYXNPdXRkb29yU2VhdGluZygpP18uSmcoYywzOCk6bnVsbDtkPV8uJGcoZCw1NSxlKTtlPWMuaGFzTGl2ZU11c2ljKCk/Xy5KZyhjLDM5KTpudWxsO2Q9Xy4kZyhkLDU2LGUpO2U9Yy5oYXNNZW51Rm9yQ2hpbGRyZW4oKT9fLkpnKGMsNDApOm51bGw7ZD1fLiRnKGQsNTcsZSk7ZT1fLkN1KGMsNDEpP18uSmcoYyw0MSk6bnVsbDtkPV8uJGcoZCw1OCxlKTtlPV8uQ3UoYyw0Mik/Xy5KZyhjLDQyKTpudWxsO2Q9Xy4kZyhkLDU5LGUpO2U9Xy5DdShjLDQzKT9fLkpnKGMsNDMpOm51bGw7ZD1fLiRnKGQsNjAsCmUpO2U9Yy5oYXNSZXN0cm9vbSgpP18uSmcoYyw0NSk6bnVsbDtkPV8uJGcoZCw2NCxlKTtlPV8uQ3UoYyw0Nik/Xy5KZyhjLDQ2KTpudWxsO2Q9Xy4kZyhkLDYyLGUpO2U9Xy5DdShjLDQ3KT9fLkpnKGMsNDcpOm51bGw7ZD1fLiRnKGQsNjUsZSk7ZT1fLkN1KGMsNDgpP18uSmcoYyw0OCk6bnVsbDtkPV8uJGcoZCw2NixlKTtyZXR1cm57cGxhY2U6RjcoZC53aCgpLFsiKiJdKSxmejpWQWIoYyl9fSksR1M6Xy5TZihiLEs4LDQpJiZfLkFnKGIsSzgsNCk/LnJoKCk/e2xvY2F0aW9uOm5ldyBfLlRtKF8uQWcoYixLOCw0KT8uZ2V0TG9jYXRpb24oKT8ucmgoKT8/MCxfLkFnKGIsSzgsNCk/LmdldExvY2F0aW9uKCk/LnRoKCk/PzApLGRpc3BsYXlOYW1lOl8uQWcoYixLOCw0KT8uVWkoKT8uY2koKT8/IiIsZGlzcGxheU5hbWVMYW5ndWFnZUNvZGU6Xy5BZyhiLEs4LDQpPy5VaSgpPy5yaCgpPz8iIn06bnVsbCxTazphLkhvKCksbWFwT3B0aW9uczpfLlNmKGIsV0FiLDUpP1hBYihfLkFnKGIsCldBYiw1KSk6bnVsbH19LFZBYj1mdW5jdGlvbihhKXt2YXIgYj1hLlVpKCk/LmNpKCl8fCIiO3JldHVybntHVDpfLkNnKGEsWkFiLDE0KS5tYXAoYz0+e2lmKCFfLnl1KGMsJEFiLDEsYUJiKSlyZXR1cm4gbnVsbDtjPV8uWWcoYywkQWIsMSxhQmIpO3JldHVybntyZXZpZXc6bmV3IGY4KF8uQWcoYyxjOCwyKSksdGV4dDpfLkFnKGMsYkJiLDEpLmNpKCksY1Q6ZHZiKF8uQWcoYyxiQmIsMSkpLm1hcChkPT4oe3N0YXJ0SW5kZXg6Xy5LZyhkLDEpLGVuZEluZGV4Ol8uS2coZCwyKX0pKX19KS5maWx0ZXIoQm9vbGVhbikscGhvdG9EaXNwbGF5RGF0YUxpc3Q6Xy5DZyhhLGNCYiw1MSkubWFwKGM9PmRCYihjLGIpKSxiRjpfLlNmKGEsTDgsMTEpJiZfLkFnKGEsTDgsMTEpLlNzKCkubGVuZ3RoPjA/e3BIOnR3YihfLkFnKGEsTDgsMTEpLlNzKClbMF0udGooKT8ucmgoKSksZGlzdGFuY2VNZXRlcnM6Xy5BZyhhLEw4LDExKS5TcygpWzBdPy5yaCgpfTp2b2lkIDAsRVQ6Xy5TZihhLGVCYiw1MCk/CmZCYihfLkFnKGEsZUJiLDUwKSxiKTp2b2lkIDB9fSxkQmI9ZnVuY3Rpb24oYSxiKXtyZXR1cm57dXJpOl8uSChhLDIpLEtFOmIsYXV0aG9yQXR0cmlidXRpb25zOl8uQ2coYSxnQmIsMykubWFwKGM9Pih7ZGlzcGxheU5hbWU6Yy5VaSgpLHVyaTpfLkgoYywyKSxwaG90b1VSSTpfLkgoYywzKX0pKSxmbGFnQ29udGVudFVSSTpfLkgoYSw0KSxnb29nbGVNYXBzVVJJOl8uSChhLDYpfX0sZkJiPWZ1bmN0aW9uKGEsYil7cmV0dXJue0hUOl8uQ2coYSxoQmIsMSkubWFwKGM9Pnt2YXIgZD1jPy5yaCgpPz9udWxsO3ZhciBlPW5ldyBjODt2YXIgZj1jNihuZXcgXy5JcixjPy56aCgpPy5yaCgpPy5jaSgpKS53aCgpO2U9Xy5FZyhlLF8uSXIsOSxmKTtpZihmPWQpe2Y9bmV3IGQ4O3ZhciBnPWQuVWkoKTtmPV8uamgoZiwxLGcpO2c9Xy5IKGQsMik7Zj1fLmpoKGYsMixnKTtkPV8uSChkLDMpO2Y9Xy5qaChmLDMsZCkud2goKX1kPV8uRWcoZSxkOCwxMyxmKTtlPWM/LnloKCk7ZD1fLmpoKGQsMiwKZSk7ZT1jPy50aCgpO2Q9Xy5qaChkLDE1LGUpO2M9Yz8ueGgoKTtjPV8uamgoZCwxNixjKTtyZXR1cm4gbmV3IGY4KGMud2goKSl9KSxwaG90b3M6Xy5DZyhhLGNCYiwyKS5tYXAoYz0+ZEJiKGMsYikpLGZsYWdDb250ZW50VVJJOl8uSChhLDMpfX0sWEFiPWZ1bmN0aW9uKGEpe2E6c3dpdGNoKF8uUGcoYSwxKSl7Y2FzZSAwOnZhciBiPSJOT05FIjticmVhayBhO2Nhc2UgMjpiPSJIWUJSSUQiO2JyZWFrIGE7ZGVmYXVsdDpiPSJST0FETUFQIn1yZXR1cm57bWFwTW9kZTpiLHNUOl8uU2YoYSxpQmIsMik/e3RpbHQ6dHdiKF8uQWcoYSxpQmIsMikuZ2V0VGlsdCgpKX06bnVsbH19LGpCYj1hc3luYyBmdW5jdGlvbihhKXthd2FpdCBfLklxKGEsYXN5bmMgYj0+e2EucEo9dm9pZCAwO2Eucmg9bnVsbDthLnNoPW51bGw7YS5xaD1udWxsO2lmKGEuY29udGV4dFRva2VuIT1udWxsKXtsZXQge0lNOmN9PWIoYXdhaXQgXy5IbCgicGxhY2VzX2ltcGwiKSksZD1iKGF3YWl0IGEueGguRUEoYS5jb250ZXh0VG9rZW4sCmIpKTthLnBKPVlBYihiKGF3YWl0IGMoe2NvbnRleHRUb2tlbjphLmNvbnRleHRUb2tlbixwTzo1MDAsUVA6ZH0pKSl9fSl9LGE2LGtCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LE04PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sTjg9WzEsMl0sbEJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sbUJiPVsxXTsKXy4kNS5wcm90b3R5cGUueko9Xy5rYSg1OSxhc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8uUTUoKS5xaCxkPWEuaW5jbHVkZWRUeXBlLGU9YS5pc09wZW5Ob3csZj1hLmxhbmd1YWdlLGc9YS5sb2NhdGlvbkJpYXMsaD1hLmxvY2F0aW9uUmVzdHJpY3Rpb24saz1hLm1heFJlc3VsdENvdW50LG09YS5taW5SYXRpbmcscD1hLnByaWNlTGV2ZWxzLHE9YS50ZXh0UXVlcnksdT1hLnJhbmtQcmVmZXJlbmNlLHg9YS5yZWdpb24sej1hLnVzZVN0cmljdFR5cGVGaWx0ZXJpbmcsQj1hLmV2U2VhcmNoT3B0aW9ucyxLPWEucHVyZVNlcnZpY2VBcmVhQnVzaW5lc3Nlc0luY2x1ZGVkLE89YS5mdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkO2I9ey4uLl8ub3koYj8uU2spLCJYLUdvb2ctRmllbGRNYXNrIjpfLk90YihhLmZpZWxkcyl9O2EuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzJiYoYlsiWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXT1BcnJheS5mcm9tKGEuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKS5qb2luKCIsIikpOwphPW5ldyBfLmp1YjtxPV8uamgoYSwxLHEpO2QmJl8uamgocSw2LGQpO3ohPW51bGwmJl8uYWgocSwxMix6KTtlIT1udWxsJiZfLmFoKHEsNyxlKTttIT1udWxsJiZfLmhoKHEsOSxtKTtrJiZfLmNoKHEsMTAsayk7ZyYmKGcgaW5zdGFuY2VvZiBfLlJuPyhkPV8uVTUoZyksZz1fLndnKHEsTTgsMTMpLF8uRmcoZyxfLkVyLDEsTjgsZCkpOmcgaW5zdGFuY2VvZiBfLlNvPyhkPV8ud2cocSxNOCwxMyksZD1fLkw1KGQsXy5ONSwyLE44KSxlPWcuZ2V0Q2VudGVyKCksZz1nLmdldFJhZGl1cygpfHwwLGs9ZT8ubGF0KCl8fDAsZT1lPy5sbmcoKXx8MCxfLmNqKF8ud2coZCxfLkRyLDEpLGspLF8uZGooXy53ZyhkLF8uRHIsMSksZSksZC5zZXRSYWRpdXMoZykpOmcgaW5zdGFuY2VvZiBfLlRtJiYoZD0obmV3IF8uTjUpLnNldENlbnRlcihfLlc1KGcpKS5zZXRSYWRpdXMoMCksZz1fLndnKHEsTTgsMTMpLF8uRmcoZyxfLk41LDIsTjgsZCkpKTtoJiZoIGluc3RhbmNlb2YgXy5SbiYmKGc9Xy53ZyhxLApsQmIsMTQpLGc9Xy5MNShnLF8uRXIsMSxtQmIpLGQ9aC5nZXRTb3V0aFdlc3QoKSxoPWguZ2V0Tm9ydGhFYXN0KCksXy5jaihfLndnKGcsXy5EciwxKSxkLmxhdCgpKSxfLmRqKF8ud2coZyxfLkRyLDEpLGQubG5nKCkpLF8uY2ooXy53ZyhnLF8uRHIsMiksaC5sYXQoKSksXy5kaihfLndnKGcsXy5EciwyKSxoLmxuZygpKSk7cCYmcC5sZW5ndGgmJihwPXAubWFwKFV1YiksXy5uZyhxLDExLHAsXy5EZSkpO2lmKHUpe3A9Xy5CdWIuZ2V0KHUpO2lmKHA9PT12b2lkIDApdGhyb3cgRXJyb3IoYFVua25vd24gU2VhcmNoQnlUZXh0UmFua1ByZWZlcmVuY2U6ICR7dX1gKTtfLmxoKHEsNCxwKX1CIT1udWxsJiYoQi5taW5pbXVtQ2hhcmdpbmdSYXRlS3chPW51bGwmJih1PV8ud2cocSxrQmIsMTUpLF8uaGgodSwxLEIubWluaW11bUNoYXJnaW5nUmF0ZUt3KSksQi5jb25uZWN0b3JUeXBlcyYmKHU9Xy53ZyhxLGtCYiwxNSksQj1CLmNvbm5lY3RvclR5cGVzLm1hcChUdWIpLF8ubmcodSwyLEIsCl8uRGUpKSk7SyE9bnVsbCYmXy5haChxLDIwLEspO08hPW51bGwmJl8uYWgocSwyMSxPKTtfLlM1KHEsZix4KTtyZXR1cm4gYXdhaXQgYy5xaC5xaChjLnJoKyIvJHJwYy9nb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzL1NlYXJjaFRleHQiLHEsYnx8e30sXy5rdWIpfSk7Xy5PSS5wcm90b3R5cGUuRUE9Xy5rYSg1OCxhc3luYyBmdW5jdGlvbihhKXt2YXIgYj1hd2FpdCBiNih0aGlzKTtyZXR1cm4gXy5qcShuZXcgXy5rcSgxMzEwNzEpLGEsYikudG9TdHJpbmcoKX0pO18uT0kucHJvdG90eXBlLkZBPV8ua2EoNTcsYXN5bmMgZnVuY3Rpb24oYSxiKXtiPWIoYXdhaXQgYjYodGhpcykpO3JldHVybiBTdWIodGhpcyxhLGIpfSk7Cl8uUEkucHJvdG90eXBlLkZBPV8ua2EoNTYsYXN5bmMgZnVuY3Rpb24oYSxiKXtiPWIoYXdhaXQgYjYodGhpcykpO2lmKCF0aGlzLm1ldGFkYXRhfHwhdGhpcy54aHx8RGF0ZS5ub3coKT50aGlzLnhoKXRoaXMubWV0YWRhdGE9YXdhaXQgU3ViKHRoaXMsYSxiKSx0aGlzLnhoPURhdGUubm93KCkrMzNFNTtyZXR1cm4gdGhpcy5tZXRhZGF0YX0pO18uU0EucHJvdG90eXBlLlVzPV8ua2EoNTMsZnVuY3Rpb24oKXtyZXR1cm4gXy5QZyh0aGlzLDgpfSk7Xy5nQi5wcm90b3R5cGUuVXM9Xy5rYSg1MixmdW5jdGlvbigpe3JldHVybiBfLktnKHRoaXMsMTMpfSk7Xy5Tci5wcm90b3R5cGUucGw9Xy5rYSgxMyxmdW5jdGlvbigpe3JldHVybiBfLnB1KHRoaXMsMSl9KTtfLlNBLnByb3RvdHlwZS5wbD1fLmthKDEyLGZ1bmN0aW9uKCl7cmV0dXJuIF8ucHUodGhpcyw0KX0pO18uSEkucHJvdG90eXBlLnBsPV8ua2EoMTEsZnVuY3Rpb24oKXtyZXR1cm4gXy5wdSh0aGlzLDIpfSk7Cl8ucEYucHJvdG90eXBlLnBsPV8ua2EoMTAsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xaC5sYW5ndWFnZSE9bnVsbH0pO18uZEsucHJvdG90eXBlLnBsPV8ua2EoOSxmdW5jdGlvbigpe3JldHVybiBfLnB1KHRoaXMsMSl9KTtfLkZyLnByb3RvdHlwZS5yaD1fLmthKDIsZnVuY3Rpb24oKXtyZXR1cm4gXy5OZyh0aGlzLDEpfSk7CnZhciBuQmI9e2JHOnsxRTM6e290aGVyOiIwSyJ9LDFFNDp7b3RoZXI6IjAwSyJ9LDFFNTp7b3RoZXI6IjAwMEsifSwxRTY6e290aGVyOiIwTSJ9LDFFNzp7b3RoZXI6IjAwTSJ9LDFFODp7b3RoZXI6IjAwME0ifSwxRTk6e290aGVyOiIwQiJ9LDFFMTA6e290aGVyOiIwMEIifSwxRTExOntvdGhlcjoiMDAwQiJ9LDFFMTI6e290aGVyOiIwVCJ9LDFFMTM6e290aGVyOiIwMFQifSwxRTE0OntvdGhlcjoiMDAwVCJ9fSxISzp7MUUzOntvdGhlcjoiMCB0aG91c2FuZCJ9LDFFNDp7b3RoZXI6IjAwIHRob3VzYW5kIn0sMUU1OntvdGhlcjoiMDAwIHRob3VzYW5kIn0sMUU2OntvdGhlcjoiMCBtaWxsaW9uIn0sMUU3OntvdGhlcjoiMDAgbWlsbGlvbiJ9LDFFODp7b3RoZXI6IjAwMCBtaWxsaW9uIn0sMUU5OntvdGhlcjoiMCBiaWxsaW9uIn0sMUUxMDp7b3RoZXI6IjAwIGJpbGxpb24ifSwxRTExOntvdGhlcjoiMDAwIGJpbGxpb24ifSwxRTEyOntvdGhlcjoiMCB0cmlsbGlvbiJ9LDFFMTM6e290aGVyOiIwMCB0cmlsbGlvbiJ9LAoxRTE0OntvdGhlcjoiMDAwIHRyaWxsaW9uIn19fSxjNz1uQmI7Yzc9bkJiO3ZhciBvQmI9e0pLOiIuIixkRzoiLCIsVEs6IiUiLGpHOiIwIixXSzoiKyIsaUc6Ii0iLEtLOiJFIixWSzoiXHUyMDMwIixMSzoiXHUyMjFlIixTSzoiTmFOIixjRzoiIywjIzAuIyMjIixYSzoiI0UwIixVSzoiIywjIzAlIixJSzoiXHUwMGE0IywjIzAuMDAiLGh4OiJVU0QifSxYNj1vQmI7WDY9b0JiOwp2YXIgcEJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldElkKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXJoKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX0scUJiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e2lkOmEuZ2V0SWQoKXx8bnVsbCx2ZXJzaW9uOmEucmgoKXx8bnVsbH19Z2V0IGlkKCl7cmV0dXJuIHRoaXMucWguaWR9Z2V0IHZlcnNpb24oKXtyZXR1cm4gdGhpcy5xaC52ZXJzaW9ufXRvSlNPTigpe3JldHVybntpZDp0aGlzLmlkLHZlcnNpb246dGhpcy52ZXJzaW9ufX19LFh1Yj0vJi9nLFl1Yj0vPC9nLFp1Yj0vPi9nLCR1Yj0vIi9nLGF2Yj0vJy9nLGJ2Yj0vXHgwMC9nLFd1Yj0vW1x4MDAmPD4iJ10vLHJCYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmg9ITE7dGhpcy5xaD1fLlBnYX19LHNCYj1jbGFzcyBleHRlbmRzIHJCYntVbigpe2lmKHRoaXMucmgpdGhyb3cgRXJyb3IoInRoaXMgc2FuaXRpemVyIGhhcyBhbHJlYWR5IGNhbGxlZCBidWlsZCIpOwp0aGlzLnJoPSEwO3JldHVybiBuZXcgXy5RZ2EodGhpcy5xaCx2b2lkIDAsdm9pZCAwLHRoaXMudGgsdGhpcy5zaCl9fSxlOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LE84PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sZDg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9VWkoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSxjdmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxiQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Y2koKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSxjOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfWNpKCl7cmV0dXJuIF8uQWcodGhpcyxfLklyLDkpfXlrKCl7cmV0dXJuIF8uU2YodGhpcyxfLklyLDkpfX0sJEFiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sCmFCYj1bMSwyXSxaQWI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSx0QmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSl9bGsoKXtyZXR1cm4gXy5LZyh0aGlzLDMpfX0sSDg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSx1QmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VHlwZSgpe3JldHVybiBfLlBnKHRoaXMsMSl9fSxHOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LEo4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlUGFya2luZygpe3JldHVybiBfLkN1KHRoaXMsMSl9aGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZSgpe3JldHVybiBfLkN1KHRoaXMsMil9aGFzV2hlZWxjaGFpckFjY2Vzc2libGVSZXN0cm9vbSgpe3JldHVybiBfLkN1KHRoaXMsCjMpfWhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlU2VhdGluZygpe3JldHVybiBfLkN1KHRoaXMsNCl9fSxQOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHZCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LEk4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0seEJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWhhc0ZyZWVQYXJraW5nTG90KCl7cmV0dXJuIF8uQ3UodGhpcywxKX1oYXNQYWlkUGFya2luZ0xvdCgpe3JldHVybiBfLkN1KHRoaXMsMil9aGFzRnJlZVN0cmVldFBhcmtpbmcoKXtyZXR1cm4gXy5DdSh0aGlzLDMpfWhhc1BhaWRTdHJlZXRQYXJraW5nKCl7cmV0dXJuIF8uQ3UodGhpcyw0KX1oYXNWYWxldFBhcmtpbmcoKXtyZXR1cm4gXy5DdSh0aGlzLDUpfWhhc0ZyZWVHYXJhZ2VQYXJraW5nKCl7cmV0dXJuIF8uQ3UodGhpcywKNil9aGFzUGFpZEdhcmFnZVBhcmtpbmcoKXtyZXR1cm4gXy5DdSh0aGlzLDcpfX0seUJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sekJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXRqKCl7cmV0dXJuIF8uQWcodGhpcyxfLkZyLDEpfXJoKCl7cmV0dXJuIF8uS2codGhpcywyKX19LEw4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfVNzKCl7cmV0dXJuIF8uQ2codGhpcyx6QmIsMSl9fSxLOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRMb2NhdGlvbigpe3JldHVybiBfLkFnKHRoaXMsXy5EciwxKX1yaCgpe3JldHVybiBfLlNmKHRoaXMsXy5EciwxKX1nZXRQbGFjZSgpe3JldHVybiBfLkgodGhpcywyKX1zZXRQbGFjZShhKXtyZXR1cm4gXy5qaCh0aGlzLDIsYSl9VWkoKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMyl9fSxROD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLkFnKHRoaXMsCl8uSXIsMil9fSxnQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9VWkoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSxoQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Y2koKXtyZXR1cm4gXy5BZyh0aGlzLFE4LDIpfXlrKCl7cmV0dXJuIF8uU2YodGhpcyxROCwyKX16aCgpe3JldHVybiBfLkFnKHRoaXMsUTgsMyl9cmgoKXtyZXR1cm4gXy5BZyh0aGlzLGdCYiw0KX15aCgpe3JldHVybiBfLkgodGhpcyw1KX10aCgpe3JldHVybiBfLkgodGhpcyw2KX14aCgpe3JldHVybiBfLkgodGhpcyw3KX1nZXRUaXRsZSgpe3JldHVybiBfLkFnKHRoaXMsXy5Jciw4KX1zZXRUaXRsZShhKXtyZXR1cm4gXy5FZyh0aGlzLF8uSXIsOCxhKX19LGNCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGVCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFVBYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRQbGFjZSgpe3JldHVybiBfLkgodGhpcywKMjIpfXNldFBsYWNlKGEpe3JldHVybiBfLmpoKHRoaXMsMjIsYSl9VWkoKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMSl9Z2V0TG9jYXRpb24oKXtyZXR1cm4gXy5BZyh0aGlzLF8uRHIsMyl9aGFzVGFrZW91dCgpe3JldHVybiBfLkN1KHRoaXMsMjYpfWhhc0RlbGl2ZXJ5KCl7cmV0dXJuIF8uQ3UodGhpcywyNyl9aGFzRGluZUluKCl7cmV0dXJuIF8uQ3UodGhpcywyOCl9aGFzQ3VyYnNpZGVQaWNrdXAoKXtyZXR1cm4gXy5DdSh0aGlzLDI5KX1oYXNPdXRkb29yU2VhdGluZygpe3JldHVybiBfLkN1KHRoaXMsMzgpfWhhc0xpdmVNdXNpYygpe3JldHVybiBfLkN1KHRoaXMsMzkpfWhhc01lbnVGb3JDaGlsZHJlbigpe3JldHVybiBfLkN1KHRoaXMsNDApfWhhc1Jlc3Ryb29tKCl7cmV0dXJuIF8uQ3UodGhpcyw0NSl9fSxpQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VGlsdCgpe3JldHVybiBfLk5nKHRoaXMsMSl9c2V0VGlsdChhKXtyZXR1cm4gXy5vRSh0aGlzLAoxLGEpfX0sV0FiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sVEFiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSxBQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0TmFtZSgpe3JldHVybiBfLkgodGhpcywxKX1VaSgpe3JldHVybiBfLkFnKHRoaXMsXy5JciwzKX19LEJCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfVVpKCl7cmV0dXJuIF8uQWcodGhpcyxfLklyLDMpfXNldFR5cGVzKGEsYil7cmV0dXJuIF8ueHUodGhpcyw0LF8uYmYsYSxiLF8uZGYpfX0sQ0JiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sZXpiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfVVpKCl7cmV0dXJuIF8uQWcodGhpcywKXy5JciwxKX1nZXRVcmwoKXtyZXR1cm4gXy5IKHRoaXMsMil9c2V0VXJsKGEpe3JldHVybiBfLmpoKHRoaXMsMixhKX19LFI4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldENvbnRlbnQoKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMil9c2V0Q29udGVudChhKXtyZXR1cm4gXy5FZyh0aGlzLF8uSXIsMixhKX19LERCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfX0sRUJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFVybCgpe3JldHVybiBfLkgodGhpcywxKX1zZXRVcmwoYSl7cmV0dXJuIF8uamgodGhpcywxLGEpfX0sRkJiPVsxXSxoemI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9eGgoKXtyZXR1cm4gXy5ZZyh0aGlzLEVCYiwxLEZCYil9cmgoKXtyZXR1cm4gXy5IKHRoaXMsMil9dGgoKXtyZXR1cm4gXy5IKHRoaXMsCjMpfX0sZXZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9fSxHQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHlwZXMoYSxiKXtyZXR1cm4gXy54dSh0aGlzLDMsXy5iZixhLGIsXy5kZil9fSxIQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxJQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VGl0bGUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9c2V0VGl0bGUoYSl7cmV0dXJuIF8uamgodGhpcywxLGEpfXJoKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX0sUzg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0VGl0bGUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9c2V0VGl0bGUoYSl7cmV0dXJuIF8uamgodGhpcywxLGEpfX0sSkJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldERldGFpbHMoKXtyZXR1cm4gXy5BZyh0aGlzLApTOCwyKX19LEtCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXROYW1lKCl7cmV0dXJuIF8uSCh0aGlzLDEpfWdldElkKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX0sTEJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sTUJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0saDg9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxOQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxPQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9TUgoKXtyZXR1cm4gXy5IKHRoaXMsMSl9SUgoKXtyZXR1cm4gXy5IKHRoaXMsMil9fSxQQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Y2koKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMSl9eWsoKXtyZXR1cm4gXy5TZih0aGlzLF8uSXIsCjEpfX0sUUJiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMil9fSxSQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxTQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxUQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxVQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxWQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxXQmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsMSl9VWkoKXtyZXR1cm4gXy5BZyh0aGlzLF8uSXIsMyl9R2soKXtyZXR1cm4gXy5IKHRoaXMsNSl9cW0oKXtyZXR1cm4gXy5IKHRoaXMsNil9Z2V0VXJsKCl7cmV0dXJuIF8uSCh0aGlzLAo3KX1zZXRVcmwoYSl7cmV0dXJuIF8uamgodGhpcyw3LGEpfWdldEljb24oKXtyZXR1cm4gXy5BZyh0aGlzLF8uWDUsOCl9c2V0SWNvbihhKXtyZXR1cm4gXy5FZyh0aGlzLF8uWDUsOCxhKX1Mbygpe3JldHVybiBfLlNmKHRoaXMsXy5YNSw4KX19LFhCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRJZCgpe3JldHVybiBfLkgodGhpcywxKX1VaSgpe3JldHVybiBfLkFnKHRoaXMsXy5JciwyKX1nZXRMb2NhdGlvbigpe3JldHVybiBfLkFnKHRoaXMsXy5Eciw2KX1oYXNXaGVlbGNoYWlyQWNjZXNzaWJsZUVudHJhbmNlKCl7cmV0dXJuIF8uQ3UodGhpcyw3KX19LFlCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFQ4PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWNpKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXJoKCl7cmV0dXJuIF8uQ2codGhpcyxZQmIsMil9fSxVOD1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLlNmKHRoaXMsClQ4LDEpfXRoKCl7cmV0dXJuIF8uU2YodGhpcyxUOCwyKX19LFpCYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRQbGFjZSgpe3JldHVybiBfLkgodGhpcywxKX1zZXRQbGFjZShhKXtyZXR1cm4gXy5qaCh0aGlzLDEsYSl9Y2koKXtyZXR1cm4gXy5BZyh0aGlzLFQ4LDMpfXlrKCl7cmV0dXJuIF8uU2YodGhpcyxUOCwzKX10aCgpe3JldHVybiBfLlVnKHRoaXMsNSxfLmNnKCkpfXNldFR5cGVzKGEsYil7cmV0dXJuIF8ueHUodGhpcyw1LF8uYmYsYSxiLF8uZGYpfXJoKCl7cmV0dXJuIF8uS2codGhpcyw2KX19LExBYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LCRCYj1bMSwyXSxkemI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0TmFtZSgpe3JldHVybiBfLkgodGhpcywxKX1jaSgpe3JldHVybiBfLkFnKHRoaXMsXy5Jciw0KX15aygpe3JldHVybiBfLlNmKHRoaXMsXy5Jciw0KX19LApndmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxtNj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDQpfWtqKGEpe3JldHVybiBfLmloKHRoaXMsMSxhKX1wbCgpe3JldHVybiBfLnB1KHRoaXMsMSl9fSxWOD1bLTQse30sXy5VLF8uWixfLlVdLGFDYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGJDYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRDZW50ZXIoKXtyZXR1cm4gXy5BZyh0aGlzLF8ub0EsMSl9c2V0Q2VudGVyKGEpe3JldHVybiBfLkVnKHRoaXMsXy5vQSwxLGEpfWdldFJhZGl1cygpe3JldHVybiBfLk9nKHRoaXMsMil9c2V0UmFkaXVzKGEpe3JldHVybiBfLkF1KHRoaXMsMixhKX19LEI2PVsxLDIsMyw0XSxFNj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDUpfXJoKCl7cmV0dXJuIF8uTDUodGhpcyxiQ2IsMiwKQjYpfXRoKCl7cmV0dXJuIF8uTDUodGhpcyxfLlJBLDMsQjYpfX0sVzg9WzEsMl0sTXZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMyl9cmgoKXtyZXR1cm4gXy5MNSh0aGlzLGJDYiwxLFc4KX10aCgpe3JldHVybiBfLkw1KHRoaXMsXy5SQSwyLFc4KX19LHE2PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWtqKGEpe3JldHVybiBfLmloKHRoaXMsNCxhKX1wbCgpe3JldHVybiBfLnB1KHRoaXMsNCl9dGgoYSl7Xy5paCh0aGlzLDUsYSl9eGgoKXtyZXR1cm4gXy5wdSh0aGlzLDUpfWdldEJvdW5kcygpe3JldHVybiBfLkFnKHRoaXMsXy5SQSw2KX1zZXRCb3VuZHMoYSl7cmV0dXJuIF8uRWcodGhpcyxfLlJBLDYsYSl9eXAoYSl7cmV0dXJuIF8uaWgodGhpcywyMCxhKX1yaCgpe3JldHVybiBfLndnKHRoaXMsbTYsMjEpfWd2KGEpe3JldHVybiBfLkVnKHRoaXMsYUNiLDEwMCxhKX19LFg4PVswLF8uWSxbMCxfLlUsXy5aXSxfLlksClswLF8uWiwxLF8uQXJdLF8uVSxfLlIsXy5ZLFswLF8uVSxfLlBdXSxjQ2I9WzAsXy5LSSxfLnVyXSxZOD1bLTUse30sQjYsXy5teixfLktJLF8ubXosY0NiLF8ubXosXy5OSSxfLmt6XSxkQ2I9Wy0zLHt9LFc4LF8ubXosY0NiLF8ubXosXy5OSV0scnZiPV8uJGkocTYsWzAsXy5VLF8uQnIsXy5heixfLlUsLTEsXy5OSSxfLkFyLDEsXy5BciwyLF8udnIsXy5VLF8uQ3IsXy5aLF8uQ3IsXy5QLF8uUiwtMSxfLlUsVjgsWTgsZENiLF8uWixfLktJLF8uVSw3MyxbMCxfLlUsNixfLlIsMSxfLlJdLDEsWDhdKSxaOD1bMCxfLlIsXy5ZLFswLF8uVV0sXy5DcixfLlpdLGp2Yj1bMV0sa3ZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMil9fSwkOD1bLTIse30sanZiLF8ubHpdLGVDYj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDE0KX19LGZDYj1bLTE0LHt9LFswLF8uUCw5OSxfLlJdLFo4LCQ4LF8uUiwtMiwxLF8uUiw0LF8uUl0scDY9CmNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7cmV0dXJuIF8ud2codGhpcyxtNiwyKX19LHd2Yj1fLiRpKHA2LFswLGZDYixWOCxfLmF6LDIsZENiLDEsXy5aLF8uWSxbMCxfLlUsXy5Ccl0sXy5QLFk4LF8uWSxbMCxfLlUsXy5Ccl0sXy5VLC0xLDg1LFg4XSksbzY9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9cmgoKXtyZXR1cm4gXy53Zyh0aGlzLG02LDYpfX0sdXZiPV8uJGkobzYsWzAsXy5VLF8uWixZOCxfLmF6LGZDYixWOCxfLlUsOTIsWDgsXy5SXSkscHZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfU5yKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDIpfW5wKCl7cmV0dXJuIF8uUGcodGhpcywzKX19LGw2PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0scXZiPVsyXSx4dmI9Xy4kaShsNixbMCxxdmIsXy5VLF8ubXosWzAsXy54eiwtMSxfLlosVjhdLApfLlVdKSxqNj1bMSwyLDMsNF0sJHZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfUpsKCl7cmV0dXJuIF8uSCh0aGlzLF8udGcodGhpcyxqNiwyKSl9fSxyNj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDExMSl9Z2V0SWQoKXtyZXR1cm4gXy5BZyh0aGlzLCR2YiwxNCl9a2ooYSl7cmV0dXJuIF8uaWgodGhpcywyLGEpfXBsKCl7cmV0dXJuIF8ucHUodGhpcywyKX10aChhKXtfLmloKHRoaXMsMTIsYSl9eGgoKXtyZXR1cm4gXy5wdSh0aGlzLDEyKX15cChhKXtyZXR1cm4gXy5paCh0aGlzLDE1LGEpfXJoKCl7cmV0dXJuIF8ud2codGhpcyxtNiwxNyl9fSxzdmI9Xy4kaShyNixbLTExMSx7fSxfLlUsLTEsMSxfLmF6LDEsXy5DcixfLkFyLF8uVSxfLkJyLF8uWixfLkNyLF8uVSxaOCxbMCxqNixfLmx6LC0xLF8ubXosXy5ReixfLmN6XSxfLlUsJDgsVjgsXy5VLDgxLF8uVSwtMSxfLlIsMixfLlIsMSxbMCxfLlosXy5CciwtMSwKXy5VLF8uUixfLlUsXy5SXSxfLlRFYSxYOCxbMCwzLF8uUiwtMiwyLF8uUl1dKSxuNj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLndnKHRoaXMsbTYsNSl9fSx2dmI9Xy4kaShuNixbMCxfLlUsXy52cixfLkJyLC0xLFY4LF8uVV0pLGJ3Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHM2PWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNTAwKX1nZXRCb3VuZHMoKXtyZXR1cm4gXy5BZyh0aGlzLF8uUkEsMSl9c2V0Qm91bmRzKGEpe3JldHVybiBfLkVnKHRoaXMsXy5SQSwxLGEpfWtqKGEpe3JldHVybiBfLmloKHRoaXMsMixhKX1wbCgpe3JldHVybiBfLnB1KHRoaXMsMil9dGgoYSl7Xy5paCh0aGlzLDMxLGEpfXhoKCl7cmV0dXJuIF8ucHUodGhpcywzMSl9cmgoKXtyZXR1cm4gXy53Zyh0aGlzLG02LDM2KX19LHR2Yj1fLiRpKHM2LFstNTAwLHt9LF8uTkksXy5VLC0yLApfLmF6LF8uQXIsMSxfLlosXy5VLF8uQnIsMSxfLkNyLDEsXy5CciwtMSwyLFswLF8uUiw4LF8uQnJdLF8uQnIsLTEsXy5SLF8uWixfLlksXy5LSSxfLld5LF8uS0ksMSxfLklJLF8uQnIsXy5aLF8uQ3IsXy5VLFo4LF8uUixfLkFyLCQ4LFY4LDEsWzAsXy5ZLF8uS0ldLF8uVSw2MCxfLlIsMSxYOCw5MjksXy5aXSksZ0NiPXthRzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0sIHsxfSJdLEdLOlsiezB9IGFuZCB7MX0iLCJ7MH0gJiB7MX0iLCJ7MH0sIHsxfSJdLFpGOlsiezB9LCBhbmQgezF9IiwiezB9LCAmIHsxfSIsInswfSwgezF9Il0sRlI6WyJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSIsInswfSBvciB7MX0iXSxFUjpbInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSJdLGRTOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxjUzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0sYlM6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdfSwKaENiPWdDYjtoQ2I9Z0NiOwp2YXIgZXdiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD1oQ2I7dGhpcy50aD10aGlzLnFoLmFHWzBdO3RoaXMud2g9KHRoaXMucWguR0t8fHRoaXMucWguWkYpWzBdO3RoaXMuc2g9KHRoaXMucWguR1F8fHRoaXMucWguYUcpWzBdO3RoaXMucmg9dGhpcy5xaC5aRlswXX1mb3JtYXQoYSl7cmV0dXJuIG52Yih0aGlzLGEpfX0sR3ZiPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldExlbmd0aCgpe3JldHVybiBfLkxnKHRoaXMsMil9fSxGdmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSx2Nj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDEwMyl9Z2V0VHlwZShhKXtyZXR1cm4gXy5WZyh0aGlzLDMsYSl9Z2V0SWQoKXtyZXR1cm4gXy5IKHRoaXMsNSl9fSxDdmI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0U3RhdHVzKCl7cmV0dXJuIF8uUGcodGhpcywxLAotMSl9fSxteGI9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnFoPSExfWdldFBsYWNlUHJlZGljdGlvbnMoYSxiKXtfLmRJKGIpO2ImJkQ2KGEpO3ZhciBjPW5ldyBQcm9taXNlKChkLGUpPT57YT1ENihhKTtPdmIodGhpcywiL21hcHMvYXBpL3BsYWNlL2pzL0F1dG9jb21wbGV0aW9uU2VydmljZS5HZXRQcmVkaWN0aW9uc0pzb24iLGEsKGYsZyk9PntiJiZiKGYsZyk7Zz09PSJPSyJ8fGc9PT0iWkVST19SRVNVTFRTIj9kKHtwcmVkaWN0aW9uczpmfHxbXX0pOmUoTHZiKGcpKX0pfSk7YiYmYy5jYXRjaCgoKT0+e30pO3JldHVybiBjfWdldFF1ZXJ5UHJlZGljdGlvbnMoYSxiKXtPdmIodGhpcywiL21hcHMvYXBpL3BsYWNlL2pzL0F1dG9jb21wbGV0aW9uU2VydmljZS5HZXRRdWVyeVByZWRpY3Rpb25zSnNvbiIsRDYoYSksYil9fSxpQ2I9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmlzVmlzaWJsZT0hMTsKdGhpcy50aD10aGlzLnJoPS0xO3RoaXMuaXRlbXM9W107dGhpcy5zaD0hMTt0aGlzLnFoPWE7dGhpcy5xaC5jbGFzc0xpc3QuYWRkKCJwYWMtdGFyZ2V0LWlucHV0Iik7dGhpcy56aD10aGlzLnFoLnZhbHVlO0c2KHRoaXMsdGhpcy56aCk7dGhpcy53aD1ifHwiIjt0aGlzLnhoPSEoInBsYWNlaG9sZGVyImluIF8udncoImlucHV0IikpO2I9YS5nZXRBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIik7Yj09bnVsbD90aGlzLnhofHxhLnNldEF0dHJpYnV0ZSgicGxhY2Vob2xkZXIiLHRoaXMud2gpOnRoaXMud2g9YjtQdmIodGhpcyk7Yj1fLnJ3KGEpO3ZhciBjPWIuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5ib2R5LmFwcGVuZENoaWxkKGMpO18ucW4oYywibW91c2VvdXQiLHRoaXMuQWguYmluZCh0aGlzLC0xKSk7dGhpcy5jb250YWluZXI9YztfLnF3KGMsInBhYy1jb250YWluZXIiKTtfLkxwWzJdfHxfLnF3KGMsInBhYy1sb2dvIik7Xy5ZdygpPjEmJl8ucXcoYywiaGRwaSIpO2IuY3JlYXRlRWxlbWVudCgiaW1nIikuc3JjPQpfLlp3KCJhcGktMy9pbWFnZXMvcG93ZXJlZC1ieS1nb29nbGUtb24td2hpdGUzIiwhMCk7Yi5jcmVhdGVFbGVtZW50KCJpbWciKS5zcmM9Xy5adygiYXBpLTMvaW1hZ2VzL2F1dG9jb21wbGV0ZS1pY29ucyIsITApO18ua24odGhpcywicmVxdWVzdF9kZW5pZWQiLHRoaXMuR2gpO2Euc2V0QXR0cmlidXRlKCJhdXRvY29tcGxldGUiLCJvZmYiKTtfLmh3KGEsImZvY3VzIix0aGlzLHRoaXMuQ2gpO18uaHcoYSwiYmx1ciIsdGhpcyx0aGlzLkJoKTtfLmh3KGEsImtleWRvd24iLHRoaXMsdGhpcy5GaCk7Xy5odyhhLCJpbnB1dCIsdGhpcyx0aGlzLkRoKTtfLmh3KHdpbmRvdywicmVzaXplIix0aGlzLHRoaXMueWgpO18uc24odGhpcywicmVzaXplIix0aGlzLHRoaXMueWgpO0g2KHRoaXMsLTEpO0Y2KHRoaXMsITEpO3RoaXMuT24oKX1HaCgpe3RoaXMuc2h8fCh0aGlzLnNoPSEwLHRoaXMuY2xlYXIoKSxfLlVFKHRoaXMuY29udGFpbmVyLCJwYWMtbG9nbyIpLF8uWEhhKHRoaXMuY29udGFpbmVyLAoiaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvZXJyb3ItbWVzc2FnZXM/dXRtX3NvdXJjZT1wbGFjZXNfanMmdXRtX21lZGl1bT1kZWdyYWRlZCZ1dG1fY2FtcGFpZ249a2V5bGVzcyNhcGkta2V5LWFuZC1iaWxsaW5nLWVycm9ycyIpLHRoaXMuT24oKSl9RmgoYSl7dmFyIGI9dGhpcy5yaDtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDM3OmJyZWFrO2Nhc2UgMzg6YjwwJiYoYj1fLiRsKHRoaXMuaXRlbXMpKTtSdmIodGhpcyxiLTEpO18uZ24oYSk7Xy5obihhKTticmVhaztjYXNlIDQwOlJ2Yih0aGlzLGIrMSk7Xy5nbihhKTtfLmhuKGEpO2JyZWFrO2Nhc2UgMzk6YT10aGlzLnFoO292YihhKT49Xy4kbChhLnZhbHVlKS0xJiYoRzYodGhpcyxhLnZhbHVlKSx0aGlzLnNldFZpc2libGUoITApKTticmVhaztjYXNlIDI3OmI9LTE7dGhpcy5nZXRWaXNpYmxlKCkmJkk2KHRoaXMsYixhLmtleUNvZGUpO2JyZWFrO2Nhc2UgOTpjYXNlIDEzOmNhc2UgMTA6dGhpcy5nZXRWaXNpYmxlKCkmJgpJNih0aGlzLGIsYS5rZXlDb2RlKTticmVhaztkZWZhdWx0OnRoaXMuc2V0VmlzaWJsZSghMCl9fURoKCl7dmFyIGE9SjYodGhpcyksYj10aGlzLnFoLnZhbHVlO3RoaXMueGgmJmEmJmEhPT1iJiZfLlVFKHRoaXMucWgsInBhYy1wbGFjZWhvbGRlciIpO3RoaXMuemghPT1iJiZHNih0aGlzLGIpO3RoaXMuemg9Yjt0aGlzLnNldFZpc2libGUoITApfUNoKCl7dGhpcy54aCYmdGhpcy5xaC52YWx1ZT09PXRoaXMud2gmJih0aGlzLnFoLnZhbHVlPSIiLF8uVUUodGhpcy5xaCwicGFjLXBsYWNlaG9sZGVyIikpO3RoaXMucWgudmFsdWUhPT1KNih0aGlzKSYmKHRoaXMuemg9dGhpcy5xaC52YWx1ZSxHNih0aGlzLHRoaXMucWgudmFsdWUpLHRoaXMuc2V0VmlzaWJsZSghMCkpfUJoKCl7dGhpcy5zaHx8KEk2KHRoaXMpLFB2Yih0aGlzKSl9eWgoKXt2YXIgYT10aGlzLnFoLGI9dGhpcy5jb250YWluZXIsYz1fLlVIKGEsbnVsbCk7dmFyIGQ9Xy5ydyh0aGlzLnFoKS5ib2R5O3ZhciBlPWQucGFyZW50Tm9kZTsKZD1uZXcgXy5ibyh3aW5kb3cmJndpbmRvdy5wYWdlWE9mZnNldHx8ZC5zY3JvbGxMZWZ0fHxlLnNjcm9sbExlZnR8fDAsd2luZG93JiZ3aW5kb3cucGFnZVlPZmZzZXR8fGQuc2Nyb2xsVG9wfHxlLnNjcm9sbFRvcHx8MCk7Yy55Kz1kLnk7Yy54Kz1kLng7ZD1hLmNsaWVudFdpZHRoO3ZhciBmPV8uaUgoYSk7ZT1fLlpFKGYuYm9yZGVyTGVmdFdpZHRoKTtmPV8uWkUoZi5ib3JkZXJUb3BXaWR0aCk7Yy55Kz1hLm9mZnNldEhlaWdodC1mO2MueC09ZTtiLnN0eWxlLndpZHRoPV8ucG0oZCk7Xy51dyhiLGMpfWNsZWFyKCl7dmFyIGE9dGhpcy5pdGVtcztmb3IobGV0IGI9MDtiPGEubGVuZ3RoO2IrKylfLmRxKGFbYl0pLF8ueWwoYVtiXSk7dGhpcy5pdGVtcy5sZW5ndGg9MDt0aGlzLnJoPXRoaXMudGg9LTF9QWgoYSl7dGhpcy50aD1hfWdldFZpc2libGUoKXtyZXR1cm4gdGhpcy5pc1Zpc2libGV9c2V0VmlzaWJsZShhKXsodGhpcy5pc1Zpc2libGU9YSkmJnRoaXMueWgoKTt0aGlzLk9uKCl9T24oKXtfLlZFKHRoaXMuY29udGFpbmVyLAp0aGlzLmlzVmlzaWJsZSYmKCEhXy4kbCh0aGlzLmdldFByZWRpY3Rpb25zKCkpfHx0aGlzLnNoKSl9cHJlZGljdGlvbnNfY2hhbmdlZCgpe3RoaXMuY2xlYXIoKTt2YXIgYT10aGlzLmNvbnRhaW5lcixiPV8ucncodGhpcy5xaCksYz10aGlzLmdldFByZWRpY3Rpb25zKCk7Zm9yKGxldCBmPTA7ZjxfLiRsKGMpO2YrKyl7bGV0IGc9Yi5jcmVhdGVFbGVtZW50KCJkaXYiKTtfLnF3KGcsInBhYy1pdGVtIik7dmFyIGQ9Yi5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZC5jbGFzc05hbWU9YHBhYy1pY29uICR7Y1tmXS56Tn1gO2cuYXBwZW5kQ2hpbGQoZCk7ZD1uZXcgc0JiO3ZhciBlPW5ldyBTZXQoZC5xaC50aCk7ZS5hZGQoImlkIik7ZC5xaD1uZXcgXy5OcihkLnFoLnNoLGQucWgucWgsZSxkLnFoLndoLGQucWgucmgpO2U9bmV3IFNldChkLnFoLnRoKTtlLmFkZCgiY2xhc3MiKTtkLnFoPW5ldyBfLk5yKGQucWguc2gsZC5xaC5xaCxlLGQucWgud2gsZC5xaC5yaCk7ZD1kLlVuKCk7ZT1iLmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKZS5jbGFzc05hbWU9InBhYy1pdGVtLXF1ZXJ5IjtfLnpqKGUsXy5JaihkLGNbZl0udU8pKTtnLmFwcGVuZENoaWxkKGUpO2U9Yi5jcmVhdGVFbGVtZW50KCJzcGFuIik7Xy56aihlLF8uSWooZCxjW2ZdLmZPKSk7Zy5hcHBlbmRDaGlsZChlKTt0aGlzLml0ZW1zLnB1c2goZyk7Xy5xbihnLCJtb3VzZW92ZXIiLHRoaXMuQWguYmluZCh0aGlzLGYpKTthLmFwcGVuZENoaWxkKGcpfUg2KHRoaXMsLTEpO3RoaXMuT24oKX1mb3JtYXR0ZWRQcmVkaWN0aW9uX2NoYW5nZWQoKXt2YXIgYT1KNih0aGlzKTthJiYodGhpcy5xaC52YWx1ZT1hLEc2KHRoaXMsYSkpfWdldFByZWRpY3Rpb25zKCl7cmV0dXJuIHRoaXMuZ2V0KCJwcmVkaWN0aW9ucyIpfX0sSzY9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfWNvbXBhcmUoYSl7YT1hLnFoO3JldHVybiB0aGlzLnFoPT09YT8wOnRoaXMucWg8YT8tMToxfX0sTDY9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnN0YXJ0VGltZT1hO3RoaXMuZW5kVGltZT0KYn1pbmNsdWRlcyhhKXtyZXR1cm4gYS5jb21wYXJlKHRoaXMuc3RhcnRUaW1lKT49MCYmYS5jb21wYXJlKHRoaXMuZW5kVGltZSk8MH19LGZ3Yj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5qcz1iO3RoaXMuc2g9YTt0aGlzLnFoPWM7dGhpcy5yaD1EYXRlLm5vdygpO3RoaXMuaGFzTmV4dFBhZ2U9ISFifW5leHRQYWdlKCl7aWYodGhpcy5oYXNOZXh0UGFnZSl7dmFyIGE9RGF0ZS5ub3coKS10aGlzLnJoLGI9dGhpcztzZXRUaW1lb3V0KCgpPT57Yi5zaCh7anM6Yi5qc30sYi5xaCl9LE1hdGgubWF4KDJFMy1hLDApKX19fSxqd2I9e1swXTowLFsxXToxfSxqQ2I9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnFoPV8uVm4oImF0dHJpYnV0aW9uVGV4dCIpfWdldERldGFpbHMoYSxiKXthd2IoYSxiKX1uZWFyYnlTZWFyY2goYSxiKXthPSgwLF8uc3ViKShhKTt2YXIgYz1hLmxvY2F0aW9uLGQ9YS5yYWRpdXM7aWYoIShhLmpzfHxhLnJhbmtCeSYmCk51bWJlcihhLnJhbmtCeSkhPT0wKSl7aWYoIWEuYm91bmRzKWlmKGMmJmQpYS5ib3VuZHM9Xy5DbyhfLlhtKGMpLGQvNjM3ODEzNyk7ZWxzZSB0aHJvdyBFcnJvcih3NihjP2Q/ImJvdW5kcyI6InJhZGl1cyI6ImxvY2F0aW9uIikpO31lbHNlIGlmKCFhLmpzJiZOdW1iZXIoYS5yYW5rQnkpPT09MSl7aWYoYS5ib3VuZHMpdGhyb3cgRXJyb3IoeDYoImJvdW5kcyIpKTtpZihkKXRocm93IEVycm9yKHg2KCJyYWRpdXMiKSk7aWYoIWMpdGhyb3cgRXJyb3IodzYoImxvY2F0aW9uIikpO2lmKCEoYS5rZXl3b3JkfHxhLnR5cGV8fGEudHlwZXN8fGEubmFtZSkpdGhyb3cgRXJyb3IodzYoImtleXdvcmQgfCB0eXBlIHwgbmFtZSIpKTthLmJvdW5kcz1fLkNvKF8uWG0oYyksMCl9ZWxzZSBpZighYS5qcyl0aHJvdyBFcnJvcih4NigicmFua0J5IikpO2t3YihhLCguLi5lKT0+Z3diKHRoaXMsdGhpcy5uZWFyYnlTZWFyY2gsYiwuLi5lKSl9dGV4dFNlYXJjaChhLGIpe2h3Yih0aGlzLGEsYil9ZmluZFBsYWNlRnJvbVF1ZXJ5KGEsCmIpe3ZhciBjPW5ldyBvNjtfLmloKGMsMSxhLnF1ZXJ5KTtfLmtoKGMsMiwyKTtDNihfLndnKGMsRTYsMyksYS5sb2NhdGlvbkJpYXMpO2k2KGx2YihfLndnKGMsZUNiLDUpKSxhLmZpZWxkcy5qb2luKCkpO2EubGFuZ3VhZ2UmJmMucmgoKS5raihhLmxhbmd1YWdlKTtsd2IoYyxiKX1maW5kUGxhY2VGcm9tUGhvbmVOdW1iZXIoYSxiKXt2YXIgYz1uZXcgbzY7Xy5paChjLDEsYS5waG9uZU51bWJlcik7Xy5raChjLDIsMSk7QzYoXy53ZyhjLEU2LDMpLGEubG9jYXRpb25CaWFzKTtpNihsdmIoXy53ZyhjLGVDYiw1KSksYS5maWVsZHMuam9pbigpKTthLmxhbmd1YWdlJiZjLnJoKCkua2ooYS5sYW5ndWFnZSk7bHdiKGMsYil9fSxrQ2I9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYj0hMSl7dmFyIGM9bmV3IGpDYjtzdXBlcigpO3RoaXMuRGg9Yzt0aGlzLnRoPWI7dGhpcy5BaD1fLlZuKCJmb3JtYXR0ZWRQcmVkaWN0aW9uIik7dGhpcy5HaD1fLlVuKCJmb3JtYXR0ZWRQcmVkaWN0aW9uIik7CnRoaXMucmg9Xy5VbigiaW5wdXQiKTt0aGlzLkpoPV8uVW4oImlzSW5wdXRWYWx1ZUZyb21Ccm93c2VyQXV0b2ZpbGwiKTt0aGlzLkloPV8uVW4oInNlbGVjdGlvbkluZGV4Iik7dGhpcy5zaD1fLlZuKCJwcmVkaWN0aW9ucyIpO3RoaXMud2g9Xy5WbigicGxhY2UiKTt0aGlzLnhoPV8uVm4oInNlYXJjaEJveFBsYWNlcyIpO3RoaXMucWg9Xy5VbigicXVlcnlNb2RlIik7dGhpcy5QaD1fLlZuKCJxdWVyeU1vZGUiKTt0aGlzLnpoPV8uVW4oImJvdW5kcyIpO3RoaXMuTGg9Xy5VbigidHlwZXMiKTt0aGlzLkZoPV8uVW4oImNvbXBvbmVudFJlc3RyaWN0aW9ucyIpO3RoaXMueWg9W107dGhpcy5CaD10aGlzLkNoPXZvaWQgMDt0aGlzLlBoKGEpO3RoaXMuQWgoIiIpO3RoaXMuc2goW10pO3RoaXMuc2V0KCJzZXNzaW9uVG9rZW4iLG5ldyBfLkp0KTtfLnNuKHRoaXMsImZvY3VzIix0aGlzLHRoaXMuTWgpO18ua24odGhpcywidGV4dF9lbnRlcmVkIix0aGlzLk9oKX1wbGFjZUlkT25seV9jaGFuZ2VkKCl7dGhpcy5nZXQoInBsYWNlSWRPbmx5IikmJgooXy5ybSgiQXV0b2NvbXBsZXRlOiBgcGxhY2VJZE9ubHlgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgSmFudWFyeSAxNSwgMjAxOSwgYW5kIHdpbGwgYmUgdHVybmVkIG9mZiBvbiBKYW51YXJ5IDE1LCAyMDIwLiBVc2UgYGZpZWxkczogWydwbGFjZV9pZCcsICduYW1lJywgJ3R5cGVzJ11gIGluc3RlYWQuIiksXy5NKHRoaXMsMTQ4MjI0KSl9TWgoKXt0aGlzLnRofHwodGhpcy50aD0hMCxJdmIodGhpcykpfWlucHV0X2NoYW5nZWQoKXtpZih0aGlzLnRoKXtsZXQgYTt0aGlzLnFoKCl8fChhPV8uTmwoMTQ3Mzc5KSk7SXZiKHRoaXMsYSl9fU9oKCl7aWYodGhpcy5xaCgpKWl3Yih0aGlzLHRoaXMucmgoKSk7ZWxzZXtsZXQgYT17bmFtZTp0aGlzLnJoKCl9O3RoaXMud2goYSl9fXNlbGVjdGlvbkluZGV4X2NoYW5nZWQoKXt2YXIgYT10aGlzLkloKCksYj10aGlzLnloO2lmKCEoYTwwfHxhPj1fLiRsKGIpKSl7Yj1iW2FdO3RoaXMuQWgoXy5IKGIsMSkpO3RoaXMuc2goW10pO3RoaXMuc2V0KCJpbnB1dCIsCl8uSChiLDEpKTt2YXIgYz10aGlzLnJoKCk7aWYodGhpcy5xaCgpJiYhXy5IKGIsOSkpaXdiKHRoaXMsXy5IKGIsMSkpO2Vsc2UgaWYoYT1lPT57Yz09PXRoaXMucmgoKSYmKGU9ZXx8e25hbWU6Y30sdGhpcy5xaCgpP3RoaXMueGgoW2VdKTp0aGlzLndoKGUpKX0sSnZiKHRoaXMpKXthPXtuYW1lOl8uSChiLDEpLHBsYWNlX2lkOl8uSChiLDkpLHR5cGVzOlsuLi5fLlVnKGIsMyxfLmNnKCkpXX07aWYoIXRoaXMuZ2V0KCJwbGFjZUlkT25seSIpKWZvcih2YXIgZCBvZiBfLnB1Yil0aGlzLmdldCgiZmllbGRzIikuaW5jbHVkZXMoZCl8fGRlbGV0ZSBhW2RdO3RoaXMud2goYSl9ZWxzZSBkPXtwbGFjZUlkOl8uSChiLDkpfSx0aGlzLnFoKCl8fChiPXRoaXMuZ2V0KCJzZXNzaW9uVG9rZW4iKSxkLnNlc3Npb25Ub2tlbj1iLGQuZmllbGRzPXRoaXMuZ2V0KCJmaWVsZHMiKSksYXdiKGQsYSksdGhpcy5nZXQoIm1hbnVhbFNlc3Npb25zIil8fHRoaXMuc2V0KCJzZXNzaW9uVG9rZW4iLG5ldyBfLkp0KX19fSwKbENiPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucWg9bnVsbDtpZihhIGluc3RhbmNlb2YgXy5Mbil7dGhpcy5xaD1hO2xldCBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMucmg9Xy5QSihiKTt0aGlzLnJoLnN0eWxlLnBhZGRpbmdCb3R0b209IjAiO2EuY29udHJvbHNbMjJdLnB1c2goYik7Xy5McFsyOF0mJnRoaXMuYmluZFRvKCJoaWRlIix0aGlzLnFoLCJoaWRlTGVnYWxOb3RpY2VzIil9ZWxzZSB0aGlzLnJoPWE7TjYodGhpcyl9YXR0cmlidXRpb25UZXh0X2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgiYXR0cmlidXRpb25UZXh0Iil8fCIiO18uYUYodGhpcy5yaCxfLklqKF8uT3IsYSkpO3ZhciBiPXRoaXMucmguZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLnN0eWxlLmNvbG9yPSIjMDAwMDAwIjt0aGlzLnFoJiZ0aGlzLnFoLnNldCgicGxhY2VzRGF0YVByb3ZpZGVycyIsCmEpO042KHRoaXMpfWhpZGVfY2hhbmdlZCgpe042KHRoaXMpfX0sTzY9U3ltYm9sKCksUjYsUTYsYTksUDY9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pQT12b2lkIDA7dGhpcy5mcT1hfVhIKCl7dmFyIGE9dGhpcy56dztyZXR1cm4gYT9hOmE5Pz8oYTk9bmV3IFNldCl9UkgoKXt2YXIgYT10aGlzLmpFO3JldHVybiBhP2E6YTk/PyhhOT1uZXcgU2V0KX1iTihhKXt2YXIgYj10aGlzW2FdO2lmKGIhPW51bGwpcmV0dXJuIEFycmF5LmlzQXJyYXkoYik/dGhpc1thXT1TNihiKTpiO2I9dGhpcy5vbDtpZihiIT1udWxsJiYoYj1iW2FdLGIhPW51bGwmJihiPV8uc2koYiksYlswXS5YdCYmIXRoaXMuenc/LmhhcyhhKSYmKHRoaXMuend8fCh0aGlzLnp3PW5ldyBTZXQpKS5hZGQoYSksYj1iWzFdLGIhPW51bGwpKSlyZXR1cm4gdGhpc1thXT1TNihiKX19LGI5PV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO2E9Xy5xaChhLnJoKTtfLkVpKGIsYyxhPT09ITE/dm9pZCAwOgphKTtyZXR1cm4hMH0sXy5KaSxfLlpqKSxjOT1fLkFpKGZ1bmN0aW9uKGEsYixjKXtpZihhLnFoIT09MClyZXR1cm4hMTthPV8ucmgoYS5yaCk7Xy5FaShiLGMsYT09PTA/dm9pZCAwOmEpO3JldHVybiEwfSxfLk5pLF8uZ2spLG1DYj1bMCxfLnh6LC0xXSxkOT1bMCxfLlB5LC0xXSxuQ2I9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PmFbXy5mZl18fChhW18uZmZdPV8uZ2YoYSkpfShfLklyKSxvQ2I9WzAsXy5QeSxfLnhyLF8uenJdLHBDYj1bMCxfLnpyLF8uUHksLTYsXy5BciwtMSxfLlB5XSxVNj17QUVEOlsyLCJkaCIsIlx1MDYyZi5cdTA2MjUuIl0sQUxMOlswLCJMZWsiLCJMZWsiXSxBVUQ6WzIsIiQiLCJBVSQiXSxCRFQ6WzIsIlx1MDlmMyIsIlRrIl0sQkdOOlsyLCJsZXYiLCJsZXYiXSxCUkw6WzIsIlIkIiwiUiQiXSxDQUQ6WzIsIiQiLCJDJCJdLENERjpbMiwiRnJDRCIsIkNERiJdLENIRjpbMiwiQ0hGIiwiQ0hGIl0sQ0xQOlswLCIkIiwiQ0wkIl0sQ05ZOlsyLCJcdTAwYTUiLCJSTUJcdTAwYTUiXSwKQ09QOlszMiwiJCIsIkNPTCQiXSxDUkM6WzAsIlx1MjBhMSIsIkNSXHUyMGExIl0sQ1pLOls1MCwiS1x1MDEwZCIsIktcdTAxMGQiXSxES0s6WzUwLCJrci4iLCJrci4iXSxET1A6WzIsIlJEJCIsIlJEJCJdLEVHUDpbMiwiXHUwMGEzIiwiTEUiXSxFVEI6WzIsIkJpcnIiLCJCaXJyIl0sRVVSOlsyLCJcdTIwYWMiLCJcdTIwYWMiXSxHQlA6WzIsIlx1MDBhMyIsIkdCXHUwMGEzIl0sSEtEOlsyLCIkIiwiSEskIl0sSFJLOlsyLCJrbiIsImtuIl0sSFVGOlszNCwiRnQiLCJGdCJdLElEUjpbMCwiUnAiLCJScCJdLElMUzpbMzQsIlx1MjBhYSIsIklMXHUyMGFhIl0sSU5SOlsyLCJcdTIwYjkiLCJScyJdLElSUjpbMCwiUmlhbCIsIklSUiJdLElTSzpbMCwia3IiLCJrciJdLEpNRDpbMiwiJCIsIkpBJCJdLEpQWTpbMCwiXHUwMGE1IiwiSlBcdTAwYTUiXSxLUlc6WzAsIlx1MjBhOSIsIktSXHUyMGE5Il0sTEtSOlsyLCJScyIsIlNMUnMiXSxMVEw6WzIsIkx0IiwiTHQiXSxNTlQ6WzAsIlx1MjBhZSIsCiJNTlx1MjBhZSJdLE1WUjpbMiwiUmYiLCJNVlIiXSxNWE46WzIsIiQiLCJNZXgkIl0sTVlSOlsyLCJSTSIsIlJNIl0sTk9LOls1MCwia3IiLCJOT2tyIl0sUEFCOlsyLCJCLy4iLCJCLy4iXSxQRU46WzIsIlMvLiIsIlMvLiJdLFBIUDpbMiwiXHUyMGIxIiwiUEhQIl0sUEtSOlswLCJScyIsIlBLUnMuIl0sUExOOls1MCwielx1MDE0MiIsInpcdTAxNDIiXSxST046WzIsIlJPTiIsIlJPTiJdLFJTRDpbMCwiZGluIiwiUlNEIl0sUlVCOls1MCwiXHUyMGJkIiwiUlVCIl0sU0FSOlsyLCJTQVIiLCJTQVIiXSxTRUs6WzUwLCJrciIsImtyIl0sU0dEOlsyLCIkIiwiUyQiXSxUSEI6WzIsIlx1MGUzZiIsIlRIQiJdLFRSWTpbMiwiXHUyMGJhIiwiVFJZIl0sVFdEOlsyLCIkIiwiTlQkIl0sVFpTOlswLCJUU2giLCJUU2giXSxVQUg6WzIsIlx1MDQzM1x1MDQ0MFx1MDQzZC4iLCJVQUgiXSxVU0Q6WzIsIiQiLCJVUyQiXSxVWVU6WzIsIiQiLCIkVSJdLFZORDpbNDgsIlx1MjBhYiIsIlZOXHUyMGFiIl0sCllFUjpbMCwiUmlhbCIsIlJpYWwiXSxaQVI6WzIsIlIiLCJaQVIiXX0seHdiPXthcjoibGF0biIsImFyLUVHIjoiYXJhYiIsYm46ImJlbmciLGZhOiJhcmFiZXh0IixtcjoiZGV2YSIsbXk6Im15bXIiLG5lOiJkZXZhIn0seXdiPSExLGQ3PXtjRDowLHNFOiIiLHRFOiIiLHByZWZpeDoiIixzdWZmaXg6IiJ9OwpaNi5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe2lmKHRoaXMucmg+dGhpcy5xaCl0aHJvdyBFcnJvcigiTWluIHZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG1heCB2YWx1ZSIpO2lmKF8uWmdhJiZ0aGlzLnhoKXsodGhpcy54aC5mb3JtYXQ9PW51bGx8fHRoaXMuSWh8fHRoaXMud2h8fHRoaXMuYml8fHl3YikmJnZ3Yih0aGlzLHRoaXMuWmgpO2lmKE1hdGguYWJzKGEpPDEmJnRoaXMuQWg+dGhpcy5xaCl7dmFyIGI9TWF0aC5wb3coMTAsdGhpcy5xaCk7YT1NYXRoLnJvdW5kKE1hdGguYWJzKGEpKmIpKk1hdGguc2lnbihhKS9ifXRoaXMueGgucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIHRoaXMueGguZm9ybWF0KGEpfWlmKGlzTmFOKGEpKXJldHVybiBYNi5TSztiPVtdO3ZhciBjPWEsZD1hO2lmKHRoaXMuQmg9PTApdmFyIGU9ZDc7ZWxzZSBjPU1hdGguYWJzKGMpLGQ9TWF0aC5hYnMoZCksZT1Cd2IodGhpcyxjPD0xPzA6ZTcoYykpLmNELGQ9VzYoZCwtZSksYTcodGhpcyxkKSwKYz1XNihjLC1lKSxjPWE3KHRoaXMsYyksZT1Cd2IodGhpcyxlK2U3KGMubEkpKTthPVc2KGEsLWUuY0QpOyhjPWE8MHx8YT09MCYmMS9hPDApP2Uuc0U/Yi5wdXNoKGUuc0UpOihiLnB1c2goZS5wcmVmaXgpLGIucHVzaCh0aGlzLkdoKSk6KGIucHVzaChlLnByZWZpeCksYi5wdXNoKHRoaXMuTWgpKTtpZihpc0Zpbml0ZShhKSlpZihhKj1jPy0xOjEsYSo9dGhpcy50aCx0aGlzLkxoKWlmKGQ9YSxkPT0wKWI3KHRoaXMsZCx0aGlzLnNoLGIpLEF3Yih0aGlzLDAsYik7ZWxzZXt2YXIgZj1NYXRoLmZsb29yKE1hdGgubG9nKGQpL01hdGgubG9nKDEwKSsyRS0xNSk7ZD1XNihkLC1mKTt2YXIgZz10aGlzLnNoO3RoaXMuQ2g+MSYmdGhpcy5DaD50aGlzLnNoPyhnPWYldGhpcy5DaCxnPDAmJihnPXRoaXMuQ2grZyksZD1XNihkLGcpLGYtPWcsZz0xKTp0aGlzLnNoPDE/KGYrKyxkPVc2KGQsLTEpKTooZi09dGhpcy5zaC0xLGQ9VzYoZCx0aGlzLnNoLTEpKTtiNyh0aGlzLGQsZyxiKTtBd2IodGhpcywKZixiKX1lbHNlIGI3KHRoaXMsYSx0aGlzLnNoLGIpO2Vsc2UgYi5wdXNoKFg2LkxLKTtjP2UudEU/Yi5wdXNoKGUudEUpOihpc0Zpbml0ZShhKSYmYi5wdXNoKGUuc3VmZml4KSxiLnB1c2godGhpcy5KaCkpOihpc0Zpbml0ZShhKSYmYi5wdXNoKGUuc3VmZml4KSxiLnB1c2godGhpcy5PaCkpO3JldHVybiBiLmpvaW4oIiIpfTt2YXIgQ3diPW51bGwsRHdiPW51bGwsRXdiPW51bGwsSHdiPS9eXHMqKFx3KylccyosXHMqcGx1cmFsXHMqLCg/OlxzKm9mZnNldDooXGQrKSk/LyxJd2I9L15ccyooXHcrKVxzKixccypzZWxlY3RvcmRpbmFsXHMqLC8sSndiPS9eXHMqKFx3KylccyosXHMqc2VsZWN0XHMqLC87CmY3LnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5zaCl7dGhpcy53aD1bXTt2YXIgYj1Hd2IodGhpcyx0aGlzLnNoKTt0aGlzLnJoPWk3KHRoaXMsYik7dGhpcy5zaD1udWxsfWlmKHRoaXMucmgmJnRoaXMucmgubGVuZ3RoIT0wKWZvcih0aGlzLnFoPV8uQmModGhpcy53aCksYj1bXSxnNyh0aGlzLHRoaXMucmgsYSwhMSxiKSxhPWIuam9pbigiIiksYS5zZWFyY2goIiMiKTt0aGlzLnFoLmxlbmd0aD4wOylhPWEucmVwbGFjZSh0aGlzLnRoKHRoaXMucWgpLFN0cmluZyh0aGlzLnFoLnBvcCgpKS5yZXBsYWNlKCIkIiwiJCQkJCIpKTtlbHNlIGE9IiI7cmV0dXJuIGF9O2Y3LnByb3RvdHlwZS50aD1mdW5jdGlvbihhKXtyZXR1cm4iXHVmZGRmXyIrKGEubGVuZ3RoLTEpLnRvU3RyaW5nKDEwKSsiXyJ9Owp2YXIgUHdiLGU5PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX1hc3luYyBmZXRjaChhKXtyZXR1cm4gYShhd2FpdCBRd2IodGhpcyxhKSkuRkEodGhpcy5xaCxhKX1hc3luYyBFQShhLGIpe2lmKHRoaXMucWghPT0wKXRocm93IEVycm9yKCJpbnZhbGlkIHdpZGdldCB0eXBlIGZvciBmZXRjaEdyb3VuZGluZ1NpZ25hdHVyZSIpO3JldHVybiBiKGF3YWl0IFF3Yih0aGlzLGIpKS5FQShhKX19LHFDYj1bMCxfLlB5LC0yXSxyQ2I9WzAsXy5QeSwtMSw0LF8uVnksMSxkOSwyLGQ5LHFDYixfLkdyLF8uUHksLTEsXy5Del0sZjk9WzAsXy5SLF8uWSxbMCxbMCxfLlAsLTIsMSxiOSxfLkN6XSwtMV0sXy5BcixjOSxfLlksWzAsXy5Del0sXy5HciwtMV0sc0NiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5BZGRyZXNzRGVzY3JpcHRvci5BcmVhLkNvbnRhaW5tZW50IiwnW251bGwsW1siQ09OVEFJTk1FTlRfVU5TUEVDSUZJRUQiLDBdLFsiV0lUSElOIiwxXSxbIk9VVFNLSVJUUyIsMl0sWyJORUFSIiwzXV1dJyksCnRDYj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuQWRkcmVzc0Rlc2NyaXB0b3IuTGFuZG1hcmsuU3BhdGlhbFJlbGF0aW9uc2hpcCIsJ1tudWxsLFtbIk5FQVIiLDBdLFsiV0lUSElOIiwxXSxbIkJFU0lERSIsMl0sWyJBQ1JPU1NfVEhFX1JPQUQiLDNdLFsiRE9XTl9USEVfUk9BRCIsNF0sWyJBUk9VTkRfVEhFX0NPUk5FUiIsNV0sWyJCRUhJTkQiLDZdXV0nKSx1Q2I9WzAsXy5QLC0xLF8uWixfLlAsXy5aLF8uUF0sZzk9WzAsXy5ZLHJDYixfLkFyXSxoOT1bMCxfLlB5LGQ5LGc5LF8uQXJdLHZDYj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuRnVlbE9wdGlvbnMuRnVlbFByaWNlLkZ1ZWxUeXBlIiwnW251bGwsW1siRlVFTF9UWVBFX1VOU1BFQ0lGSUVEIiwwXSxbIkRJRVNFTCIsMV0sWyJESUVTRUxfUExVUyIsMTldLFsiUkVHVUxBUl9VTkxFQURFRCIsMl0sWyJNSURHUkFERSIsM10sWyJQUkVNSVVNIiw0XSxbIlNQOTEiLDVdLFsiU1A5MV9FMTAiLDZdLFsiU1A5MiIsN10sWyJTUDk1Iiw4XSxbIlNQOTVfRTEwIiw5XSxbIlNQOTgiLDEwXSxbIlNQOTkiLDExXSxbIlNQMTAwIiwxMl0sWyJMUEciLDEzXSxbIkU4MCIsMTRdLFsiRTg1IiwxNV0sWyJFMTAwIiwyMF0sWyJNRVRIQU5FIiwxNl0sWyJCSU9fRElFU0VMIiwxN10sWyJUUlVDS19ESUVTRUwiLDE4XV1dJyksCmk5PVswLF8uUHksYjldLGo5PVswLGM5LF8uWSxbMCxkOSwtM10sXy5ZLFswLF8uUHksLTFdLGM5LF8uR3IsLTEsWzAsXy5QeSxpOSxbMCxfLlB5LC0xXV0sXy5HcixjOV0sazk9WzAsXy5QeSwtMSwyLF8uQXIsMSxfLlB5LC0yLF8uWSxbMCxfLlB5LC0xLF8uQXIsXy5QeV0sWzAsXy5QeSwtMV0sXy54eixtQ2IsXy5WeSxfLlB5LC0xLDQsZjksXy5QLDEsXy5QeSxjOSwtMSxfLlksWzAsXy5QeSwtMV0sXy5QLF8uUHksLTEsZDksLTEsXy5SLC0zLDEsXy5SLC03LGY5LF8uWSxmOSwxLF8uWSxmOSxfLlB5LC0xLGQ5LF8uWSxyQ2IsXy5ZLFswLF8uUHksXy56ciwtMSxfLlkscUNiLF8uUHksLTFdLF8uUiwtMTEsWzAsXy5SLC0zXSwyLFswLF8uUiwtNl0sXy5ZLFswLF8uUHksLTFdLFswLF8uUiwtM10sXy5SLC00LFswLF8uWSxbMCxjOSxvQ2IsXy5Hcl1dLFswLF8uenIsXy5ZLFswLGM5LF8uVnksXy56cixfLlAsLTEsXy5Hcl0sXy5ZLFswLF8uUHksLTFdXSxbMCxkOSwtMSxnOSxfLlB5LAotMSxkOV0sWzAsZDksZzksZDksXy5ZLGg5LF8uUHldLF8uWSxbMCxfLlB5LC0xXSxfLlIsWzAsXy5ZLFswLF8uUHksLTEsZDksXy5BcixjOSxfLll5LF8uV3ldLF8uWSxbMCxfLlB5LC0xLGQ5LGM5XV0sWzAsXy5QeSwtNF0sWzAsb0NiLC0xXSxbMCxkOSxfLlB5LGQ5LF8uUHldLFswLF8uUHksLTFdLFswLGg5LC0zLF8uUHksZDldLHBDYixbMCxoOSwtMSxfLlB5LGQ5XSxbMCxfLlB5LFswLF8uUHksLTEsWzAsXy5QeSwtMV1dLF8uUHldLF8uUHksLTEsXy5DeixkOSxbMCxfLlksWzAsYzksXy5ZLHVDYixiOSxfLlAsLTMsYzksXy5ZLHVDYl0sLTFdLFswLGQ5LF8uWSxbMCxkOSxfLlB5LC0xLGk5LF8uWSxbMCxfLlB5LGM5LGQ5LC0xLF8uUHksLTIsaTksLTEsXy5ZLGo5XSxfLlksajldLF8uWSxbMCxfLlB5LGQ5LC0zLF8ueHosXy5SLF8uWSxqOV0sXy5ZLFswLGM5LF8uWSxbMCxfLlksWzAsWzEsMl0sXy5teixbMCxfLkdyLGM5LF8uR3IsYjksXy5Hcl0sXy5teixbMCxfLkdyLC0xLF8uSkksCl8uR3JdLF8uUHksLTJdXV1dLFswLF8uWSxbMCxjOSxfLlksWzAsXy5QLC0xLF8uWixfLlAsXy5aLF8uUF0sXy5QLF8uTm9hLC0xXSxbMCxfLlAsLTIsXy5aXV0sXy5ZLFswLGQ5LF8ueHosXy5zel0sXy5ZLFswLF8uUHksZDksXy54eixfLnN6LC0xXV0sbHpiPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT57Xy5KZihiKTtfLlN1KCk7dHJ5e18uZHYoYSkoYi5MaSxjKX1jYXRjaChkKXtpZihkIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgZDt9ZmluYWxseXtfLlJ1PjAmJl8uUnUtLX1yZXR1cm4gYn19KGs5KSxtemI9Xy5BRShrOSksd0NiPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pntzd2IoYikoYy5MaSl9fShfLlo1LGs5KSx4Q2I9Xy5XaSgiZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlBsYWNlLkJ1c2luZXNzU3RhdHVzIiwnW251bGwsW1siQlVTSU5FU1NfU1RBVFVTX1VOU1BFQ0lGSUVEIiwwXSxbIk9QRVJBVElPTkFMIiwxXSxbIkNMT1NFRF9URU1QT1JBUklMWSIsMl0sWyJDTE9TRURfUEVSTUFORU5UTFkiLDNdLFsiRlVUVVJFX09QRU5JTkciLDRdXV0nKSwKeUNiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5QbGFjZS5PcGVuaW5nSG91cnMuU2Vjb25kYXJ5SG91cnNUeXBlIiwnW251bGwsW1siU0VDT05EQVJZX0hPVVJTX1RZUEVfVU5TUEVDSUZJRUQiLDBdLFsiRFJJVkVfVEhST1VHSCIsMV0sWyJIQVBQWV9IT1VSIiwyXSxbIkRFTElWRVJZIiwzXSxbIlRBS0VPVVQiLDRdLFsiS0lUQ0hFTiIsNV0sWyJCUkVBS0ZBU1QiLDZdLFsiTFVOQ0giLDddLFsiRElOTkVSIiw4XSxbIkJSVU5DSCIsOV0sWyJQSUNLVVAiLDEwXSxbIkFDQ0VTUyIsMTFdLFsiU0VOSU9SX0hPVVJTIiwxMl0sWyJPTkxJTkVfU0VSVklDRV9IT1VSUyIsMTNdXV0nKSx6Q2I9Xy5XaSgiZ29vZ2xlLm1hcHMucGxhY2VzLnYxLkhpc3RvcmljYWxQb3B1bGFyVGltZXNTdGF0ZSIsJ1tudWxsLFtbIkhJU1RPUklDQUxfUE9QVUxBUl9USU1FU19TVEFURV9VTlNQRUNJRklFRCIsMF0sWyJRVUlFVCIsMV0sWyJOT1RfQlVTWV9OT1RfUVVJRVQiLDJdLFsiTElUVExFX0JVU1kiLDNdLFsiQVNfQlVTWV9BU19FVkVSIiw0XV1dJyksCkFDYj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuTGl2ZVBvcHVsYXJUaW1lc1N0YXRlIiwnW251bGwsW1siTElWRV9QT1BVTEFSX1RJTUVTX1NUQVRFX1VOU1BFQ0lGSUVEIiwwXSxbIkxFU1NfQlVTWV9USEFOX1VTVUFMIiwxXSxbIk5PVF9CVVNZIiwyXSxbIk5PVF9UT09fQlVTWSIsM10sWyJBX0xJVFRMRV9CVVNZIiw0XSxbIkJVU1kiLDVdLFsiQlVTSUVSX1RIQU5fVVNVQUwiLDZdLFsiV0FZX01PUkVfUEVPUExFX1RIQU5fVVNVQUwiLDddLFsiQVNfQlVTWV9BU19JVF9HRVRTIiw4XV1dJyksQkNiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5UaW1lU3BlbnREdXJhdGlvbi5Qb3B1bGFyVGltZXNEdXJhdGlvblNvdXJjZSIsJ1tudWxsLFtbIlBPUFVMQVJfVElNRVNfRFVSQVRJT05fU09VUkNFX1VOU1BFQ0lGSUVEIiwwXSxbIlVQUEVSX0JPVU5EX09OTFkiLDFdLFsiTUVESUFOX09OTFkiLDJdLFsiUkFOR0VfT1JfTUVESUFOIiwzXV1dJyksQ0NiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5EZXBhcnR1cmVCb2FyZC5EaXNwbGF5VHlwZSIsCidbbnVsbCxbWyJESVNQTEFZX1RZUEVfVU5TUEVDSUZJRUQiLDBdLFsiVElNRV9DRU5UUklDIiwxXSxbIkxJTkVfQ0VOVFJJQyIsMl0sWyJESVJFQ1RJT05fQ0VOVFJJQyIsM11dXScpLERDYj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuRGVwYXJ0dXJlQm9hcmQuRGVwYXJ0dXJlLlRpbWVkRGVwYXJ0dXJlLlRpbWluZ1R5cGUiLCdbbnVsbCxbWyJUSU1JTkdfVFlQRV9VTlNQRUNJRklFRCIsMF0sWyJTQ0hFRFVMRUQiLDFdLFsiRlJFUVVFTkNZX0JBU0VEIiwyXV1dJyksRUNiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5UcmFuc2l0QWxlcnQuQ2F1c2UiLCdbbnVsbCxbWyJDQVVTRV9VTlNQRUNJRklFRCIsMF0sWyJURUNITklDQUxfUFJPQkxFTSIsMV0sWyJTVFJJS0UiLDJdLFsiREVNT05TVFJBVElPTiIsM10sWyJBQ0NJREVOVCIsNF0sWyJIT0xJREFZIiw1XSxbIldFQVRIRVIiLDZdLFsiTUFJTlRFTkFOQ0UiLDddLFsiQ09OU1RSVUNUSU9OIiw4XSxbIlBPTElDRV9BQ1RJVklUWSIsOV0sWyJNRURJQ0FMX0VNRVJHRU5DWSIsMTBdLFsiT1RIRVJfQ0FVU0UiLDExXV1dJyksCkZDYj1fLldpKCJnb29nbGUubWFwcy5wbGFjZXMudjEuVHJhbnNpdEFsZXJ0LkVmZmVjdCIsJ1tudWxsLFtbIkVGRkVDVF9VTlNQRUNJRklFRCIsMF0sWyJOT19TRVJWSUNFIiwxXSxbIlJFRFVDRURfU0VSVklDRSIsMl0sWyJTSUdOSUZJQ0FOVF9ERUxBWVMiLDNdLFsiREVUT1VSIiw0XSxbIkFERElUSU9OQUxfU0VSVklDRSIsNV0sWyJNT0RJRklFRF9TRVJWSUNFIiw2XSxbIk9USEVSIiw3XSxbIlNUT1BfTU9WRUQiLDhdLFsiTk9fRUZGRUNUIiw5XSxbIkFDQ0VTU0lCSUxJVFlfSVNTVUUiLDEwXV1dJyksR0NiPV8uV2koImdvb2dsZS5tYXBzLnBsYWNlcy52MS5UcmFuc2l0QWxlcnQuU2V2ZXJpdHlMZXZlbCIsJ1tudWxsLFtbIlNFVkVSSVRZX0xFVkVMX1VOU1BFQ0lGSUVEIiwwXSxbIklORk8iLDFdLFsiV0FSTklORyIsMl0sWyJTRVZFUkUiLDNdXV0nKSxIQ2I9Xy5XaSgiZ29vZ2xlLm1hcHMucGxhY2VzLnYxLlRyYW5zaXRMaW5lLlZlaGljbGVUeXBlIiwnW251bGwsW1siVkVISUNMRV9UWVBFX1VOU1BFQ0lGSUVEIiwwXSxbIlJBSUwiLDFdLFsiTUVUUk9fUkFJTCIsMl0sWyJTVUJXQVkiLDNdLFsiVFJBTSIsNF0sWyJNT05PUkFJTCIsNV0sWyJIRUFWWV9SQUlMIiw2XSxbIkNPTU1VVEVSX1RSQUlOIiw3XSxbIkhJR0hfU1BFRURfVFJBSU4iLDhdLFsiTE9OR19ESVNUQU5DRV9UUkFJTiIsOV0sWyJCVVMiLDEwXSxbIklOVEVSQ0lUWV9CVVMiLDExXSxbIlRST0xMRVlCVVMiLDEyXSxbIlNIQVJFX1RBWEkiLDEzXSxbIkNPQUNIIiwxNF0sWyJGRVJSWSIsMTVdLFsiQ0FCTEVfQ0FSIiwxNl0sWyJHT05ET0xBX0xJRlQiLDE3XSxbIkZVTklDVUxBUiIsMThdLFsiU1BFQ0lBTCIsMTldLFsiSE9SU0VfQ0FSUklBR0UiLDIwXSxbIkFJUlBMQU5FIiwyMV1dXScpLApsOT17T1RIRVI6Ik9USEVSIixKMTc3MjoiSjE3NzIiLFRZUEVfMjoiVFlQRV8yIixDSEFERU1POiJDSEFERU1PIixDQ1NfQ09NQk9fMToiQ0NTX0NPTUJPXzEiLENDU19DT01CT18yOiJDQ1NfQ09NQk9fMiIsVEVTTEE6IlRFU0xBIixVTlNQRUNJRklFRF9HQl9UOiJVTlNQRUNJRklFRF9HQl9UIixVTlNQRUNJRklFRF9XQUxMX09VVExFVDoiVU5TUEVDSUZJRURfV0FMTF9PVVRMRVQiLE5BQ1M6Ik5BQ1MifSxtOT17RlJFRToiRlJFRSIsSU5FWFBFTlNJVkU6IklORVhQRU5TSVZFIixNT0RFUkFURToiTU9ERVJBVEUiLEVYUEVOU0lWRToiRVhQRU5TSVZFIixWRVJZX0VYUEVOU0lWRToiVkVSWV9FWFBFTlNJVkUifSxuOT17RElTVEFOQ0U6IkRJU1RBTkNFIixSRUxFVkFOQ0U6IlJFTEVWQU5DRSJ9LElDYj17TU9TVF9SRUxFVkFOVDoiTU9TVF9SRUxFVkFOVCIsTkVXRVNUOiJORVdFU1QifSxvOT17RElTVEFOQ0U6IkRJU1RBTkNFIixQT1BVTEFSSVRZOiJQT1BVTEFSSVRZIn0sSkNiPXtNT1NUX1JFTEVWQU5UOiJNT1NUX1JFTEVWQU5UIiwKTkVXRVNUOiJORVdFU1QiLEhJR0hFU1RfUkFUSU5HOiJISUdIRVNUX1JBVElORyIsTE9XRVNUX1JBVElORzoiTE9XRVNUX1JBVElORyJ9O3ZhciB0emI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0UGxhY2UoKXtyZXR1cm4gXy5IKHRoaXMsMSl9c2V0UGxhY2UoYSl7cmV0dXJuIF8uamgodGhpcywxLGEpfXJoKCl7cmV0dXJuIF8uSCh0aGlzLDIpfWdldExvY2F0aW9uKCl7cmV0dXJuIF8uQWcodGhpcyxfLkRyLDMpfWdldEJvdW5kcygpe3JldHVybiBfLkFnKHRoaXMsXy5Fciw2KX1zZXRCb3VuZHMoYSl7cmV0dXJuIF8uRWcodGhpcyxfLkVyLDYsYSl9c2V0VHlwZXMoYSxiKXtyZXR1cm4gXy54dSh0aGlzLDEyLF8uYmYsYSxiLF8uZGYpfX07dmFyIHN6Yj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRMb2NhdGlvbigpe3JldHVybiBfLllnKHRoaXMsXy5EciwyLFJ3Yil9c2V0VHlwZXMoYSxiKXtyZXR1cm4gXy54dSh0aGlzLDUsXy5iZixhLGIsXy5kZil9fSxSd2I9WzEsMl07dmFyIFV3Yj1uZXcgXy5RcigiL2dvb2dsZS5tYXBzLmdlb2NvZGUudjQuR2VvY29kZVNlcnZpY2UvR2VvY29kZUxvY2F0aW9uIixzemIsYT0+YS5qaigpLF8uYWooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSkpO3ZhciBLQ2I9Xy4kcyhbIjpob3N0e2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpO2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjNweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6bGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpO2NvbG9yLXNjaGVtZTpsaWdodCBkYXJrO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMgVGV4dCxHb29nbGUgU2FucyxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ud2lkZ2V0LWNvbnRhaW5lcntib3JkZXItcmFkaXVzOmluaGVyaXQ7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LndpZGdldC1jb250YWluZXIsYnV0dG9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH1idXR0b257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bzstbW96LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOmRlZmF1bHQ7Zm9udDppbmhlcml0O3BhZGRpbmc6MH06aG9zdChbbm8taW5wdXQtaWNvbl0pIC5hdXRvY29tcGxldGUtaWNvbntkaXNwbGF5Om5vbmV9Omhvc3QoW25vLWNsZWFyLWJ1dHRvbl0pIC5jbGVhci1idXR0b257ZGlzcGxheTpub25lfS5pbnB1dC1jb250YWluZXJ7LW1zLWZsZXgtYWxpZ246Y2VudGVyOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6MTAwJTstd2Via2l0LWJveC1wYWNrOnNwYWNlLWV2ZW5seTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHk7LW1vei1ib3gtcGFjazpzcGFjZS1ldmVubHk7LW1zLWZsZXgtcGFjazpzcGFjZS1ldmVubHk7Ym9yZGVyLXJhZGl1czppbmhlcml0O2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHk7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWNvbnRhaW5lciwuaW5wdXQtY29udGFpbmVyIGRpdi5hdXRvY29tcGxldGUtaWNvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmlucHV0LWNvbnRhaW5lciBkaXYuYXV0b2NvbXBsZXRlLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bzstbW96LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOmRlZmF1bHQ7Zm9udDppbmhlcml0O2hlaWdodDo0OHB4O3BhZGRpbmc6MDt3aWR0aDo0OHB4fS5pbnB1dC1jb250YWluZXIgZGl2LmF1dG9jb21wbGV0ZS1pY29uIHN2Z3toZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS5pbnB1dC1jb250YWluZXIgZGl2LmF1dG9jb21wbGV0ZS1pY29uIHN2ZyBwYXRoe2ZpbGw6bGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmlucHV0LWNvbnRhaW5lciBidXR0b24uYmFjay1idXR0b257ZGlzcGxheTpub25lfS5pbnB1dC1jb250YWluZXIgYnV0dG9uLmNsZWFyLWJ1dHRvbntib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5pbnB1dC1jb250YWluZXIgYnV0dG9uLmNsZWFyLWJ1dHRvbiBzdmd7aGVpZ2h0OjIxcHg7d2lkdGg6MjBweH0uaW5wdXQtY29udGFpbmVyIGJ1dHRvbi5jbGVhci1idXR0b24gc3ZnIHBhdGh7ZmlsbDpsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMyk7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaW5wdXQtY29udGFpbmVyIGJ1dHRvbi5jbGVhci1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLCNmZmYsIzFlMWUxZSA4JSksY29sb3ItbWl4KGluIHNyZ2IsIzEzMTMxNCwjZTNlM2UzIDglKSl9LmlucHV0LWNvbnRhaW5lciBidXR0b24uY2xlYXItYnV0dG9uOmZvY3Vze2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyayhjb2xvci1taXgoaW4gc3JnYiwjZmZmLCMxZTFlMWUgMTAlKSxjb2xvci1taXgoaW4gc3JnYiwjMTMxMzE0LCNlM2UzZTMgMTAlKSl9aW5wdXR7Ym9yZGVyOm5vbmU7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxIDEgYXV0bzstbW96LWJveC1mbGV4OjE7YmFja2dyb3VuZC1jb2xvcjppbmhlcml0O2NvbG9yOmluaGVyaXQ7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bztmb250OmluaGVyaXQ7aGVpZ2h0OmNhbGMoMTAwJSAtIDJweCk7bWluLXdpZHRoOjA7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbn0ucHJlZGljdGlvbnMtYW5jaG9ye2hlaWdodDowO3dpZHRoOmluaGVyaXR9LmRyb3Bkb3due2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpO2JvcmRlci1yYWRpdXM6OHB4O2JveC1zaGFkb3c6MCAxcHggMnB4IDAgbGlnaHQtZGFyayhyZ2JhKDYwLDY0LDY3LC4zKSxyZ2JhKDAsMCwwLC4zKSksMCAycHggNnB4IDJweCBsaWdodC1kYXJrKHJnYmEoNjAsNjQsNjcsLjE1KSxyZ2JhKDAsMCwwLC4xNSkpOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo0cHg7d2lkdGg6MTAwJTt6LWluZGV4OjEwMDB9LmF0dHJpYnV0aW9ucywuZHJvcGRvd257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5hdHRyaWJ1dGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmZsZXgtZW5kOy1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kO2FsaWduLXNlbGY6ZmxleC1lbmQ7cGFkZGluZzoxMnB4fS5kcm9wZG93bj51bHtmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7d2lkdGg6aW5oZXJpdH0uZHJvcGRvd24+dWw+bGl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgbGlnaHQtZGFyaygjZDlkOWQ5LCM0NDQ3NDYpO3Bvc2l0aW9uOnJlbGF0aXZlfS5kcm9wZG93bj51bD5saTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsI2ZmZiwjMWUxZTFlIDglKSxjb2xvci1taXgoaW4gc3JnYiwjMTMxMzE0LCNlM2UzZTMgOCUpKTtjdXJzb3I6ZGVmYXVsdH0uZHJvcGRvd24+dWw+bGlbYXJpYS1zZWxlY3RlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsI2ZmZiwjMWUxZTFlIDEwJSksY29sb3ItbWl4KGluIHNyZ2IsIzEzMTMxNCwjZTNlM2UzIDEwJSkpfS5mb2N1cy1yaW5ne2JvcmRlci1yYWRpdXM6aW5oZXJpdDtkaXNwbGF5OmJsb2NrO2xlZnQ6MDt0b3A6MH0uZnVsbC13aW5kb3ctYXV0b2NvbXBsZXRlLWRpYWxvZ1tvcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO2luc2V0OjA7bWFyZ2luOjA7bWF4LWhlaWdodDp1bnNldDttYXgtd2lkdGg6dW5zZXQ7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOmVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDApIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsMCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sMCkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LDApO3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmRyb3Bkb3due3RvcDowfS5mdWxsLXdpbmRvdy1hdXRvY29tcGxldGUtZGlhbG9nW29wZW5dIC5kcm9wZG93bj51bHtib3JkZXItdG9wOjFweCBzb2xpZCBsaWdodC1kYXJrKCNkOWQ5ZDksIzQ0NDc0Nil9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmZvY3VzLXJpbmd7ZGlzcGxheTpub25lfS5mdWxsLXdpbmRvdy1hdXRvY29tcGxldGUtZGlhbG9nW29wZW5dIC53aWRnZXQtY29udGFpbmVye2JvcmRlci1yYWRpdXM6M3B4fS5mdWxsLXdpbmRvdy1hdXRvY29tcGxldGUtZGlhbG9nW29wZW5dIC5pbnB1dC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JveC1zaGFkb3c6bm9uZTtoZWlnaHQ6NDhweDtwYWRkaW5nOjB9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmlucHV0LWNvbnRhaW5lciBidXR0b24uYmFjay1idXR0b257Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmU7aGVpZ2h0OjQ4cHg7cGFkZGluZzoxMnB4O3dpZHRoOjQ4cHh9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmlucHV0LWNvbnRhaW5lciBidXR0b24uYmFjay1idXR0b24gc3ZnIHBhdGh7ZmlsbDpsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYil9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmlucHV0LWNvbnRhaW5lciBidXR0b24uYmFjay1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLCNmZmYsIzFlMWUxZSA4JSksY29sb3ItbWl4KGluIHNyZ2IsIzEzMTMxNCwjZTNlM2UzIDglKSl9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmlucHV0LWNvbnRhaW5lciBidXR0b24uYmFjay1idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLCNmZmYsIzFlMWUxZSAxMCUpLGNvbG9yLW1peChpbiBzcmdiLCMxMzEzMTQsI2UzZTNlMyAxMCUpKX0uZnVsbC13aW5kb3ctYXV0b2NvbXBsZXRlLWRpYWxvZ1tvcGVuXSAuaW5wdXQtY29udGFpbmVyIGRpdi5hdXRvY29tcGxldGUtaWNvbntkaXNwbGF5Om5vbmV9LmZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2dbb3Blbl0gLmlucHV0LWNvbnRhaW5lciBidXR0b24uY2xlYXItYnV0dG9ue2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDt3aWR0aDo0OHB4fS5mdWxsLXdpbmRvdy1hdXRvY29tcGxldGUtZGlhbG9nW29wZW5dIC5pbnB1dC1jb250YWluZXIgYnV0dG9uLmNsZWFyLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsI2ZmZiwjMWUxZTFlIDglKSxjb2xvci1taXgoaW4gc3JnYiwjMTMxMzE0LCNlM2UzZTMgOCUpKX0uZnVsbC13aW5kb3ctYXV0b2NvbXBsZXRlLWRpYWxvZ1tvcGVuXSAuaW5wdXQtY29udGFpbmVyIGJ1dHRvbi5jbGVhci1idXR0b246Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKGNvbG9yLW1peChpbiBzcmdiLCNmZmYsIzFlMWUxZSAxMCUpLGNvbG9yLW1peChpbiBzcmdiLCMxMzEzMTQsI2UzZTNlMyAxMCUpKX0iXSk7dmFyIG43PW51bGwsbzc9bnVsbCxwOT1jbGFzcyBleHRlbmRzIF8uZXR7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7dGhpcy50aD0tMTt0aGlzLnByZWRpY3Rpb25zPVtdO3RoaXMuUGg9W107dGhpcy5jdT10aGlzLmR1PSExO3RoaXMuYWo9bnVsbDt0aGlzLlNoPSExO3RoaXMuYnU9IiI7dGhpcy5Vbz0hMTt0aGlzLnppPTE7dGhpcy5mbT10aGlzLldpPW51bGw7dGhpcy5CbT10aGlzLmZsPSExO3RoaXMuZWo9bnVsbDt0aGlzLnp2PWI9PntiLnRhcmdldD09PXRoaXN8fHRoaXMuUGs/LmNvbnRhaW5zKGIudGFyZ2V0KXx8cjcodGhpcyl9O3RoaXMuQ289KCk9Pnt0aGlzLlVvPXRoaXMuRG8ubWF0Y2hlcztxNyh0aGlzKX07dGhpcy5iTD1iPT57aWYoIWIuaXNDb21wb3NpbmcpaWYoYi5rZXk9PT0iRW50ZXIiKXRoaXMudGghPT0tMT8oYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksWHdiKHRoaXMpKToocjcodGhpcyksdGhpcy5DaC5mb3JtPy5yZXF1ZXN0U3VibWl0KCkpOwplbHNlIGlmKGIua2V5PT09IkVzY2FwZSJ8fGIua2V5PT09IkVzYyIpYi5zdG9wUHJvcGFnYXRpb24oKSx0Nyh0aGlzLC0xKSxyNyh0aGlzKTtlbHNlIGlmKChiLmtleT09PSJBcnJvd0Rvd24ifHxiLmtleT09PSJBcnJvd1VwIikmJnRoaXMucHJlZGljdGlvbnMubGVuZ3RoJiZ0aGlzLnFoLmdldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIpPT09InRydWUiKXt2YXIgYz10aGlzLnRoO2Iua2V5PT09IkFycm93RG93biI/YysrOmIua2V5PT09IkFycm93VXAiJiZjLS07Yz49dGhpcy5wcmVkaWN0aW9ucy5sZW5ndGg/Yz0tMTpjPC0xJiYoYz10aGlzLnByZWRpY3Rpb25zLmxlbmd0aC0xKTt0Nyh0aGlzLGMpfX07Xy5IbCgidXRpbCIpLnRoZW4oYj0+e2IuQXIoKX0pO3RoaXMucWg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtfLmdwKHRoaXMsImlucHV0RWxlbWVudCIpO3RoaXMuRmg9Xy5sbWEodGhpcy5xaCk7dGhpcy5GaC5jbGFzc0xpc3QuYWRkKCJmb2N1cy1yaW5nIik7CnRoaXMuRmguc2V0QXR0cmlidXRlKCJwYXJ0IiwiZm9jdXMtcmluZyIpO3RoaXMuQmg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7dGhpcy53aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTt0aGlzLlppPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTt0aGlzLlppLm5hbWU9ImlucHV0LWljb24iO3RoaXMubmk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2xvdCIpO3RoaXMubmkubmFtZT0iY2xlYXItaWNvbiI7dGhpcy5MaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7dGhpcy5Ubz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmRpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuc2g9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTt0aGlzLnhoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuWG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5EaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKdGhpcy5yaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaWFsb2ciKTt0aGlzLnJoLmNsYXNzTGlzdC5hZGQoImZ1bGwtd2luZG93LWF1dG9jb21wbGV0ZS1kaWFsb2ciKTt0aGlzLkxoLmlkPV8uS24oKTt0aGlzLkxoLnN0eWxlLmRpc3BsYXk9Im5vbmUiO1d3YigpO3RoaXMuRG89d2luZG93Lm1hdGNoTWVkaWEoIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkiKTt0aGlzLkNoPXRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7dGhpcy5DaC5zZXRGb3JtVmFsdWUoIiIpO3RoaXMuZGVzY3JpcHRpb249YT8uZGVzY3JpcHRpb24/P251bGw7WXdiKHRoaXMpO3RoaXMuVG8uY2xhc3NMaXN0LmFkZCgiYXV0b2NvbXBsZXRlLWljb24iKTtfLlhzKCgwLF8uV3EpYDxzdmcgd2lkdGg9IjI1IiBoZWlnaHQ9IjI0IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjUgMjQiPjxwYXRoIGZpbGw9IiM1ZTVlNWUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjU2IDEzLjI3IDIxLjI5IDE5bC0xLjQ5IDEuNDktNS43My01LjczQTYuNCA2LjQgMCAwMTEwLjMgMTZhNi41IDYuNSAwIDExNi41LTYuNWMwIDEuNDEtLjQ3IDIuNy0xLjI0IDMuNzdNMTAuMyA1YTQuNSA0LjUgMCAxMC0uMDEgOC45OUE0LjUgNC41IDAgMDAxMC4zIDUiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPmAsCnRoaXMuWmkpO3RoaXMuVG8uYXBwZW5kQ2hpbGQodGhpcy5aaSk7JHdiKHRoaXMpO2J4Yih0aGlzKTt0aGlzLmRpLmNsYXNzTGlzdC5hZGQoImlucHV0LWNvbnRhaW5lciIpO3RoaXMuZGkuYXBwZW5kKHRoaXMuVG8sdGhpcy5CaCx0aGlzLnFoLHRoaXMuRmgsdGhpcy53aCx0aGlzLkxoKTt0aGlzLnNoLmlkPV8uS24oKTt0aGlzLnNoLnNldEF0dHJpYnV0ZSgicm9sZSIsImxpc3Rib3giKTt0aGlzLnNoLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIlByZWRpY3Rpb25zIik7Y3hiKHRoaXMpO3RoaXMuWG0uY2xhc3NMaXN0LmFkZCgicHJlZGljdGlvbnMtYW5jaG9yIik7dGhpcy5YbS5hcHBlbmRDaGlsZCh0aGlzLnhoKTt0aGlzLkRoLmNsYXNzTGlzdC5hZGQoIndpZGdldC1jb250YWluZXIiKTt0aGlzLkRoLmFwcGVuZENoaWxkKHRoaXMuZGkpO3RoaXMuRGguYXBwZW5kQ2hpbGQodGhpcy5YbSk7ZHhiKHRoaXMpO3RoaXMubmFtZT1hPy5uYW1lPz9udWxsO3RoaXMucGxhY2Vob2xkZXI9CmE/LnBsYWNlaG9sZGVyPz9udWxsO3RoaXMuZGlzYWJsZWQ9YT8uZGlzYWJsZWQ/P251bGw7dGhpcy5yZWFkb25seT1hPy5yZWFkb25seT8/bnVsbDt0aGlzLm1heGxlbmd0aD1hPy5tYXhsZW5ndGg/P251bGw7dGhpcy5ub0lucHV0SWNvbj1hPy5ub0lucHV0SWNvbj8/bnVsbDt0aGlzLm5vQ2xlYXJCdXR0b249YT8ubm9DbGVhckJ1dHRvbj8/bnVsbH16aCgpe3RoaXMuUGs/LmFwcGVuZCh0aGlzLnJoKTt0aGlzLlBrPy5hcHBlbmQodGhpcy5EaCl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO2RvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuenYpO3RoaXMuQ28oKTt0aGlzLkRvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5Dbyl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO2RvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuenYpOwp0aGlzLkRvLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdGhpcy5Dbyl9Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy5xaC5oYXNBdHRyaWJ1dGUoIm5hbWUiKT90aGlzLnFoLm5hbWU6bnVsbH1zZXQgbmFtZShhKXthPT09bnVsbD90aGlzLnFoLnJlbW92ZUF0dHJpYnV0ZSgibmFtZSIpOnRoaXMucWgubmFtZT1hfWdldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLmZtfXNldCBwbGFjZWhvbGRlcihhKXt0aGlzLmZtPV8ua3AodGhpcywicGxhY2Vob2xkZXIiLF8uYnMsYSk/P251bGw7dGhpcy5xaC5wbGFjZWhvbGRlcj10aGlzLmZtPz8iIn1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5mbH1zZXQgZGlzYWJsZWQoYSl7dGhpcy5mbD1fLmtwKHRoaXMsImRpc2FibGVkIixfLmNzLGEpPz8hMTt0aGlzLnFoLmRpc2FibGVkPXRoaXMuZmx9Z2V0IHJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuQm19c2V0IHJlYWRvbmx5KGEpe3RoaXMuQm09Xy5rcCh0aGlzLCJyZWFkb25seSIsXy5jcywKYSk/PyExO3RoaXMucWgucmVhZE9ubHk9dGhpcy5CbX1nZXQgbWF4bGVuZ3RoKCl7cmV0dXJuIHRoaXMuZWp9c2V0IG1heGxlbmd0aChhKXt0aGlzLmVqPV8ua3AodGhpcywibWF4bGVuZ3RoIixfLmFzLGEpPz9udWxsO3RoaXMuZWo9PW51bGw/dGhpcy5xaC5yZW1vdmVBdHRyaWJ1dGUoIm1heGxlbmd0aCIpOnRoaXMucWgubWF4TGVuZ3RoPXRoaXMuZWp9Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuYWp9c2V0IGRlc2NyaXB0aW9uKGEpe3RoaXMuYWo9Xy5rcCh0aGlzLCJkZXNjcmlwdGlvbiIsXy5icyxhKT8/bnVsbDsodGhpcy5MaC50ZXh0Q29udGVudD10aGlzLmFqKT90aGlzLnFoLnNldEF0dHJpYnV0ZSgiYXJpYS1kZXNjcmliZWRieSIsdGhpcy5MaC5pZCk6dGhpcy5xaC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKX1nZXQgbm9JbnB1dEljb24oKXtyZXR1cm4gdGhpcy5kdX1zZXQgbm9JbnB1dEljb24oYSl7dGhpcy5kdT1fLmtwKHRoaXMsIm5vSW5wdXRJY29uIiwKXy5jcyxhKT8/ITF9Z2V0IG5vQ2xlYXJCdXR0b24oKXtyZXR1cm4gdGhpcy5jdX1zZXQgbm9DbGVhckJ1dHRvbihhKXt0aGlzLmN1PV8ua3AodGhpcywibm9DbGVhckJ1dHRvbiIsXy5jcyxhKT8/ITF9fTtwOS5mb3JtQXNzb2NpYXRlZD0hMDtwOS5zdHlsZXM9W0tDYl07Xy5EKFtfLnRxKHt0eXBlOlN0cmluZyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxwOS5wcm90b3R5cGUsIm5hbWUiLG51bGwpO18uRChbXy50cSh7dHlwZTpTdHJpbmcsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0scDkucHJvdG90eXBlLCJwbGFjZWhvbGRlciIsbnVsbCk7Cl8uRChbXy50cSh7dHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLHA5LnByb3RvdHlwZSwiZGlzYWJsZWQiLG51bGwpO18uRChbXy50cSh7dHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLHA5LnByb3RvdHlwZSwicmVhZG9ubHkiLG51bGwpO18uRChbXy50cSh7dHlwZTpOdW1iZXIsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0scDkucHJvdG90eXBlLCJtYXhsZW5ndGgiLG51bGwpO18uRChbXy50cSh7dHlwZTpTdHJpbmcsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0scDkucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIsbnVsbCk7Cl8uRChbXy50cSh7dHlwZTpCb29sZWFuLE5oOiEwLEtoOiJuby1pbnB1dC1pY29uIn0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxwOS5wcm90b3R5cGUsIm5vSW5wdXRJY29uIixudWxsKTtfLkQoW18udHEoe3R5cGU6Qm9vbGVhbixOaDohMCxLaDoibm8tY2xlYXItYnV0dG9uIn0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxwOS5wcm90b3R5cGUsIm5vQ2xlYXJCdXR0b24iLG51bGwpO3ZhciBMQ2I9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmhvc3Q9YTt0aGlzLlJDPWI7dGhpcy5zSD17fS5zSD8/ITE7dGhpcy5WeT1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e3RoaXMuUkMoQXJyYXkuZnJvbSh0aGlzLmhvc3QuY2hpbGRyZW4pKX0pO3RoaXMuaG9zdC56eCh0aGlzKX11eSgpe3RoaXMuVnk/Lm9ic2VydmUodGhpcy5ob3N0LHtjaGlsZExpc3Q6ITB9KTt0aGlzLlJDKEFycmF5LmZyb20odGhpcy5ob3N0LmNoaWxkcmVuKSl9d04oKXt0aGlzLnNIJiZ0aGlzLlJDKEFycmF5LmZyb20odGhpcy5ob3N0LmNoaWxkcmVuKSl9RkQoKXt0aGlzLlZ5Py5kaXNjb25uZWN0KCl9fTt2YXIgcTk9Y2xhc3MgZXh0ZW5kcyBfLmV0e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpfVNqKGEpe3N1cGVyLlNqKGEpO2E9dGhpcy5wYXJlbnRFbGVtZW50O2EgaW5zdGFuY2VvZiBPYmplY3QmJmEuTHYgaW5zdGFuY2VvZiBPYmplY3QmJnR5cGVvZiBhLkx2LnpCPT09ImZ1bmN0aW9uIiYmdGhpcy5wYXJlbnRFbGVtZW50Lkx2LnpCKCl9fTt2YXIgcjk9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5ob3N0PWE7dGhpcy5WeT1uZXcgTXV0YXRpb25PYnNlcnZlcihiPT57Zm9yKGxldCBjIG9mIGIpaWYoYy5hZGRlZE5vZGVzLmxlbmd0aHx8Yy5yZW1vdmVkTm9kZXMubGVuZ3RoKXt0aGlzLnpCKCk7YnJlYWt9fSk7dGhpcy5ob3N0Lnp4KHRoaXMpfXV5KCl7c2V0VGltZW91dCgoKT0+e3RoaXMuekIoKX0sMCk7dGhpcy5WeS5vYnNlcnZlKHRoaXMuaG9zdCx7Y2hpbGRMaXN0OiEwfSl9RkQoKXt0aGlzLlZ5LmRpc2Nvbm5lY3QoKX16Qigpe3ZhciBhPVtdO2ZvcihsZXQgYiBvZiBBcnJheS5mcm9tKHRoaXMuaG9zdC5jaGlsZHJlbikpYi5oYXNBdHRyaWJ1dGUoInNsb3QiKXx8KHRoaXMuaG9zdC5HeC5oYXMoYi5jb25zdHJ1Y3Rvcik/YS5wdXNoKGIpOl8ubEUodGhpcy5ob3N0LGBjb250YWlucyB1bnN1cHBvcnRlZCBlbGVtZW50IDwke2IudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT4uYCkpO2E9aXhiKGEsdGhpcy5ob3N0LklMKS5tYXAoYj0+Cih7eHU6Yi5jb25zdHJ1Y3RvcixkYXRhOmIucWgoKX0pKTt0aGlzLmhvc3QueGo9dGhpcy5ob3N0LkJ4KGEpfX07dmFyIHM5PWNsYXNzIGV4dGVuZHMgXy5kdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5zaW5nbGVTdGFyPSExfXRpKCl7cmV0dXJuIHRoaXMucmF0aW5nPT1udWxsP251bGw6dGhpcy5zaW5nbGVTdGFyPygwLF8uV3EpYAogICAgPGRpdiBjbGFzcz0iaWNvbnMgc2luZ2xlLXN0YXIiIHJvbGU9ImltZyIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICA8c3ZnCiAgICAgICAgY2xhc3M9InN0YXItZmlsbGVkIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMiAxMiIKICAgICAgICB2ZXJzaW9uPSIxIgogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGZpbGwtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgIGNsaXAtcnVsZT0iZXZlbm9kZCIKICAgICAgICAgIGZpbGw9ImN1cnJlbnRDb2xvciIKICAgICAgICAgIGQ9JHsiTTYuMDAwMDIgOS4yMzY1MkwyLjkxOTA4IDExLjQ3ODdDMi43ODk0NiAxMS41NzMgMi42MjI0NiAxMS41OTk1IDIuNDcwMDMgMTEuNTQ5OUMyLjIwNzQ2IDExLjQ2NDMgMi4wNjM5MyAxMS4xODIyIDIuMTQ5NDUgMTAuOTE5NkwzLjMyODM1IDcuMjk5ODVMMC4yNzUxNzIgNS4xMjcyNEMwLjE0MzM0OSA1LjAzMzQzIDAuMDY1MDYzNSA0Ljg4MTY0IDAuMDY1MDYzNSA0LjcxOTg1QzAuMDY1MDYzNSA0LjQ0MzcxIDAuMjg4OTIxIDQuMjE5ODUgMC41NjUwNjMgNC4yMTk4NUg0LjMwODM1TDUuNTI0MTIgMC40NDY3OTRDNS41NzM0NyAwLjI5MzYzNSA1LjY5MzUxIDAuMTczNTg4IDUuODQ2NjcgMC4xMjQyMzdDNi4xMDk1MSAwLjAzOTU0NTYgNi4zOTEyMyAwLjE4Mzk1OSA2LjQ3NTkyIDAuNDQ2Nzk0TDcuNjkxNjkgNC4yMTk4NUgxMS40MzVDMTEuNTk2OCA0LjIxOTg1IDExLjc0ODYgNC4yOTgxNCAxMS44NDI0IDQuNDI5OTZDMTIuMDAyNSA0LjY1NDk1IDExLjk0OTkgNC45NjcxMyAxMS43MjQ5IDUuMTI3MjRMOC42NzE2OSA3LjI5OTg1TDkuODUwNiAxMC45MTk2QzkuOTAwMjQgMTEuMDcyIDkuODczNzggMTEuMjM5IDkuNzc5NDUgMTEuMzY4N0M5LjYxNjk2IDExLjU5MTkgOS4zMDQyMyAxMS42NDEyIDkuMDgwOTYgMTEuNDc4N0w2LjAwMDAyIDkuMjM2NTJaIn0gLz4KICAgICAgPC9zdmc+CiAgICA8L2Rpdj4KICBgOmx4Yih0aGlzLnJhdGluZyl9fTtzOS5zdHlsZXM9Xy4kcyhbIi5pY29uc3tkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MWVtfS5pY29ucy5zaW5nbGUtc3Rhcnt3aWR0aDoxZW19Lmljb25zIHN2Z3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjEgMSA1MCU7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSA1MCU7ZmxleDoxIDEgNTAlO2hlaWdodDoxMDAlfS5pY29ucyBzdmc6ZGlyKHJ0bCl7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC0xKTt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uaWNvbnMgc3ZnLnN0YXItZmlsbGVke2NvbG9yOnZhcigtLWdtcC1zdGFyLXJhdGluZy1jb2xvcixsaWdodC1kYXJrKCNmZmJiMjksI2ZmYmIyOSkpfS5pY29ucyBzdmcuc3Rhci1lbXB0eXtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLWRpc2FibGVkLXN1cmZhY2UsbGlnaHQtZGFyaygjZTNlM2UzLCMzMDMwMzApKX0uaWNvbnMgc3ZnLmhhbGYtc3Rhci1yaWdodHtwYWRkaW5nLXJpZ2h0OjJweH0iXSk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxzOS5wcm90b3R5cGUsInJhdGluZyIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sczkucHJvdG90eXBlLCJzaW5nbGVTdGFyIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1yYXRpbmciLHM5KTt2YXIgcnpiPWNsYXNzIGV4dGVuZHMgXy5hdXt0aCgpe3JldHVybiBUd2J9c2goKXtyZXR1cm4iaHR0cHM6Ly9nZW9jb2RlLmdvb2dsZWFwaXMuY29tLyJ9cmgoKXtyZXR1cm5bLi4uTUNiLC4uLnN1cGVyLnJoKCldfX0sajgsTUNiPVtdO3ZhciB0OT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubmwoYSxiKX1ubChhLGIpe3RyeXtfLkVtKEhUTUxJbnB1dEVsZW1lbnQsIkhUTUxJbnB1dEVsZW1lbnQiKShhKX1jYXRjaChjKXtpZihfLkJtKGMpLCFhKXJldHVybn1fLk0od2luZG93LDE1NDM0MCk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57Yj1ifHx7fTt0aGlzLnNldFZhbHVlcyhiKTtfLlJ0KF8ucXViLHtKejpfLkRCLklqKCl9KTt2YXIgYz1uZXcga0NiKCExLGEub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT1hKSxkPW5ldyBpQ2IoYSwiRW50ZXIgYSBsb2NhdGlvbiIpO18udm4odGhpcywicmVzaXplIixkKTtfLnZuKGQsInRleHRfZW50ZXJlZCIsYyk7Xy5QRShhLCJmb2N1cyIsYyk7Xy52bihjLCJyZXF1ZXN0X2RlbmllZCIsZCk7Yy5iaW5kVG8oImlucHV0IixkKTtjLmJpbmRUbygiaXNJbnB1dFZhbHVlRnJvbUJyb3dzZXJBdXRvZmlsbCIsZCk7ZC5iaW5kVG8oInByZWRpY3Rpb25zIiwKYyk7ZC5iaW5kVG8oImZvcm1hdHRlZFByZWRpY3Rpb24iLGMpO2QuYmluZFRvKCJwbGFjZSIsYyk7Yy5iaW5kVG8oInNlbGVjdGlvbkluZGV4IixkKTtjLmJpbmRUbygiYm91bmRzIix0aGlzLCJib3VuZHMiLCEwKTtjLmJpbmRUbygidHlwZXMiLHRoaXMpO2MuYmluZFRvKCJjb21wb25lbnRSZXN0cmljdGlvbnMiLHRoaXMpO2MuYmluZFRvKCJwbGFjZUlkT25seSIsdGhpcyk7Yy5iaW5kVG8oInN0cmljdEJvdW5kcyIsdGhpcyk7Yy5iaW5kVG8oIm1hbnVhbFNlc3Npb25zIix0aGlzKTtjLmJpbmRUbygiZmllbGRzIix0aGlzKTt0aGlzLmJpbmRUbygicGxhY2UiLGMsInBsYWNlIiwhMCk7Xy4kbihhKX0pO2NvbnNvbGUud2FybigiQXMgb2YgTWFyY2ggMXN0LCAyMDI1LCBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlIGlzIG5vdCBhdmFpbGFibGUgdG8gbmV3IGN1c3RvbWVycy4gUGxlYXNlIHVzZSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VBdXRvY29tcGxldGVFbGVtZW50IGluc3RlYWQuIEF0IHRoaXMgdGltZSwgZ29vZ2xlLm1hcHMucGxhY2VzLkF1dG9jb21wbGV0ZSBpcyBub3Qgc2NoZWR1bGVkIHRvIGJlIGRpc2NvbnRpbnVlZCwgYnV0IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZUF1dG9jb21wbGV0ZUVsZW1lbnQgaXMgcmVjb21tZW5kZWQgb3ZlciBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlLiBXaGlsZSBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlIHdpbGwgY29udGludWUgdG8gcmVjZWl2ZSBidWcgZml4ZXMgZm9yIGFueSBtYWpvciByZWdyZXNzaW9ucywgZXhpc3RpbmcgYnVncyBpbiBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlIHdpbGwgbm90IGJlIGFkZHJlc3NlZC4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2xlZ2FjeSBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9wbGFjZXMtbWlncmF0aW9uLW92ZXJ2aWV3IGZvciB0aGUgbWlncmF0aW9uIGd1aWRlLiIpfXNldFR5cGVzKGEpe3RoaXMuc2V0KCJ0eXBlcyIsCmEpfXNldENvbXBvbmVudFJlc3RyaWN0aW9ucyhhKXt0aGlzLnNldCgiY29tcG9uZW50UmVzdHJpY3Rpb25zIixhKX1nZXRQbGFjZSgpe3JldHVybiB0aGlzLmdldCgicGxhY2UiKX1nZXRCb3VuZHMoKXtyZXR1cm4gdGhpcy5nZXQoImJvdW5kcyIpfXNldEJvdW5kcyhhKXt0aGlzLnNldCgiYm91bmRzIixhKX1nZXRGaWVsZHMoKXtyZXR1cm4gdGhpcy5nZXQoImZpZWxkcyIpfXNldEZpZWxkcyhhKXt0aGlzLnNldCgiZmllbGRzIixhKX1zZXRPcHRpb25zKGEpe3RoaXMuc2V0VmFsdWVzKGEpfX07dDkucHJvdG90eXBlLnNldE9wdGlvbnM9dDkucHJvdG90eXBlLnNldE9wdGlvbnM7dDkucHJvdG90eXBlLnNldEZpZWxkcz10OS5wcm90b3R5cGUuc2V0RmllbGRzO3Q5LnByb3RvdHlwZS5nZXRGaWVsZHM9dDkucHJvdG90eXBlLmdldEZpZWxkczt0OS5wcm90b3R5cGUuc2V0Qm91bmRzPXQ5LnByb3RvdHlwZS5zZXRCb3VuZHM7dDkucHJvdG90eXBlLmdldEJvdW5kcz10OS5wcm90b3R5cGUuZ2V0Qm91bmRzOwp0OS5wcm90b3R5cGUuZ2V0UGxhY2U9dDkucHJvdG90eXBlLmdldFBsYWNlO3Q5LnByb3RvdHlwZS5zZXRDb21wb25lbnRSZXN0cmljdGlvbnM9dDkucHJvdG90eXBlLnNldENvbXBvbmVudFJlc3RyaWN0aW9uczt0OS5wcm90b3R5cGUuc2V0VHlwZXM9dDkucHJvdG90eXBlLnNldFR5cGVzO3Q5LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10OS5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5Xbih0OS5wcm90b3R5cGUse3BsYWNlOm51bGwsYm91bmRzOl8uTW0oXy5UbiksZmllbGRzOl8uTW0obDcpLHR5cGVzOl8uTW0oXy5HbShfLmNyKSksY29tcG9uZW50UmVzdHJpY3Rpb25zOl8uTW0oXy5DbSh7Y291bnRyeTpfLkttKFtfLmNyLF8uR20oXy5jcildKX0sITApKX0pO18ud20odDkpO3Y3LnByb3RvdHlwZS5nZXRQbGFjZVByZWRpY3Rpb25zPWZ1bmN0aW9uKGEsYil7Xy5NKHdpbmRvdywxNTQzMzMpO2E9TkNiKGEpO3ZhciBjPV8uSGwoInBsYWNlc19pbXBsIikudGhlbigoKT0+dGhpcy5xaC5nZXRQbGFjZVByZWRpY3Rpb25zKGEsYikpO2ImJmMuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gY307djcucHJvdG90eXBlLmdldFBsYWNlUHJlZGljdGlvbnM9djcucHJvdG90eXBlLmdldFBsYWNlUHJlZGljdGlvbnM7djcucHJvdG90eXBlLmdldFByZWRpY3Rpb25zPXY3LnByb3RvdHlwZS5nZXRQbGFjZVByZWRpY3Rpb25zO3Y3LnByb3RvdHlwZS5nZXRRdWVyeVByZWRpY3Rpb25zPWZ1bmN0aW9uKGEsYil7Xy5NKHdpbmRvdywxNTQzMzQpO18uSGwoInBsYWNlc19pbXBsIikudGhlbigoKT0+e3RoaXMucWguZ2V0UXVlcnlQcmVkaWN0aW9ucyhhLGIpfSl9O3Y3LnByb3RvdHlwZS5nZXRRdWVyeVByZWRpY3Rpb25zPXY3LnByb3RvdHlwZS5nZXRRdWVyeVByZWRpY3Rpb25zOwp2YXIgTkNiPV8uQ20oe2xhbmd1YWdlOl8uYnMscmVnaW9uOl8uYnMsc2Vzc2lvblRva2VuOl8uTW0oXy5FbShfLkp0LCJBdXRvY29tcGxldGVTZXNzaW9uVG9rZW4iKSksb3JpZ2luOl8uTW0oXy5ZbSl9LCEwKTt2YXIgT0NiPXhDYigpO18uT2ooT0NiKTt2YXIgUENiPV8uUWooT0NiKTt2YXIgdTk9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1udWxsO3RoaXMuc2VhcmNoPXRoaXMubmVhcmJ5U2VhcmNoO3RoaXMucmFkYXJTZWFyY2g9KCk9PntfLnJtKCJSYWRhciBTZWFyY2ggd2FzIGRlcHJlY2F0ZWQgb24gSnVuZSAzMCwgMjAxNyBhbmQgdHVybmVkIG9mZiBvbiBKdWx5IDMwLCAyMDE4LiIpfTtjb25zb2xlLndhcm4oIkFzIG9mIE1hcmNoIDFzdCwgMjAyNSwgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2UgaXMgbm90IGF2YWlsYWJsZSB0byBuZXcgY3VzdG9tZXJzLiBQbGVhc2UgdXNlIGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZSBpbnN0ZWFkLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlIGlzIG5vdCBzY2hlZHVsZWQgdG8gYmUgZGlzY29udGludWVkLCBidXQgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlIGlzIHJlY29tbWVuZGVkIG92ZXIgZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2UuIFdoaWxlIGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlIHdpbGwgY29udGludWUgdG8gcmVjZWl2ZSBidWcgZml4ZXMgZm9yIGFueSBtYWpvciByZWdyZXNzaW9ucywgZXhpc3RpbmcgYnVncyBpbiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZSB3aWxsIG5vdCBiZSBhZGRyZXNzZWQuIEF0IGxlYXN0IDEyIG1vbnRocyBub3RpY2Ugd2lsbCBiZSBnaXZlbiBiZWZvcmUgc3VwcG9ydCBpcyBkaXNjb250aW51ZWQuIFBsZWFzZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9sZWdhY3kgZm9yIGFkZGl0aW9uYWwgZGV0YWlscyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvcGxhY2VzLW1pZ3JhdGlvbi1vdmVydmlldyBmb3IgdGhlIG1pZ3JhdGlvbiBndWlkZS4iKTsKXy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dmFyIGI9bmV3IGpDYjsobmV3IGxDYihhKSkuYmluZFRvKCJhdHRyaWJ1dGlvblRleHQiLGIpO3RoaXMucWg9Yn0pfWdldERldGFpbHMoYSxiKXtfLk0od2luZG93LDE1NDMzNyk7YT1RQ2IoYSk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaC5nZXREZXRhaWxzKGEsYil9KX1uZWFyYnlTZWFyY2goYSxiKXtfLk0od2luZG93LDE1NDMzOCk7YT1SQ2IoYSk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaC5uZWFyYnlTZWFyY2goYSxiKX0pfXRleHRTZWFyY2goYSxiKXtfLk0od2luZG93LDE1NDMzOSk7YT1TQ2IoYSk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaC50ZXh0U2VhcmNoKGEsYil9KX1maW5kUGxhY2VGcm9tUXVlcnkoYSxiKXtfLk0od2luZG93LDE1NDMzNik7YT1UQ2IoYSk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaC5maW5kUGxhY2VGcm9tUXVlcnkoYSwKYil9KX1maW5kUGxhY2VGcm9tUGhvbmVOdW1iZXIoYSxiKXtfLk0od2luZG93LDE1NDMzNSk7YT1VQ2IoYSk7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5xaC5maW5kUGxhY2VGcm9tUGhvbmVOdW1iZXIoYSxiKX0pfX07dTkucHJvdG90eXBlLmZpbmRQbGFjZUZyb21QaG9uZU51bWJlcj11OS5wcm90b3R5cGUuZmluZFBsYWNlRnJvbVBob25lTnVtYmVyO3U5LnByb3RvdHlwZS5maW5kUGxhY2VGcm9tUXVlcnk9dTkucHJvdG90eXBlLmZpbmRQbGFjZUZyb21RdWVyeTt1OS5wcm90b3R5cGUudGV4dFNlYXJjaD11OS5wcm90b3R5cGUudGV4dFNlYXJjaDt1OS5wcm90b3R5cGUubmVhcmJ5U2VhcmNoPXU5LnByb3RvdHlwZS5uZWFyYnlTZWFyY2g7dTkucHJvdG90eXBlLmdldERldGFpbHM9dTkucHJvdG90eXBlLmdldERldGFpbHM7dTkucHJvdG90eXBlLmNvbnN0cnVjdG9yPXU5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKdmFyIFFDYj1fLkNtKHtmaWVsZHM6Xy5NbShsNyksbGFuZ3VhZ2U6Xy5icyxyZWdpb246Xy5icyxzZXNzaW9uVG9rZW46Xy5NbShfLkVtKF8uSnQsIkF1dG9jb21wbGV0ZVNlc3Npb25Ub2tlbiIpKX0sITApLFRDYj1fLkNtKHtmaWVsZHM6bDcscXVlcnk6Xy5jcixsYW5ndWFnZTpfLmJzLGxvY2F0aW9uQmlhczpfLk1tKHk2KX0pLFVDYj1fLkNtKHtmaWVsZHM6bDcscGhvbmVOdW1iZXI6Xy5jcixsYW5ndWFnZTpfLmJzLGxvY2F0aW9uQmlhczpfLk1tKHk2KX0pLFJDYj1fLkNtKHtsYW5ndWFnZTpfLmJzfSwhMCksU0NiPV8uQ20oe2xhbmd1YWdlOl8uYnMscmVnaW9uOl8uYnN9LCEwKTt2YXIgdjk9Y2xhc3MgZXh0ZW5kcyBfLnlue2dldFBsYWNlcygpe3JldHVybiB0aGlzLmdldCgicGxhY2VzIil9Z2V0Qm91bmRzKCl7cmV0dXJuIHRoaXMuZ2V0KCJib3VuZHMiKX1zZXRCb3VuZHMoYSl7dGhpcy5zZXQoImJvdW5kcyIsYSl9Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO18uTSh3aW5kb3csMTU0MzQxKTtfLkhsKCJwbGFjZXNfaW1wbCIpLnRoZW4oKCk9PntfLlJ0KF8ucXViLHtKejpfLkRCLklqKCl9KTt2YXIgYz1uZXcga0NiKCEwLGEub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT1hKSxkPW5ldyBpQ2IoYSwiRW50ZXIgYSBxdWVyeSIpO18udm4odGhpcywicmVzaXplIixkKTtfLnZuKGQsInRleHRfZW50ZXJlZCIsYyk7Xy5QRShhLCJmb2N1cyIsYyk7Xy52bihjLCJyZXF1ZXN0X2RlbmllZCIsZCk7Yy5iaW5kVG8oImlucHV0IixkKTtkLmJpbmRUbygicHJlZGljdGlvbnMiLGMpO2QuYmluZFRvKCJmb3JtYXR0ZWRQcmVkaWN0aW9uIixjKTtkLmJpbmRUbygic2VhcmNoQm94UGxhY2VzIiwKYyk7Yy5iaW5kVG8oInNlbGVjdGlvbkluZGV4IixkKTtjLmJpbmRUbygiYm91bmRzIix0aGlzLCJib3VuZHMiLCEwKTtjLmJpbmRUbygiaXNJbnB1dFZhbHVlRnJvbUJyb3dzZXJBdXRvZmlsbCIsZCk7dGhpcy5iaW5kVG8oInBsYWNlcyIsYywic2VhcmNoQm94UGxhY2VzIiwhMCk7dGhpcy5zZXRWYWx1ZXMoYj8/e30pfSk7Y29uc29sZS53YXJuKCJBcyBvZiBNYXJjaCAxc3QsIDIwMjUsIGdvb2dsZS5tYXBzLnBsYWNlcy5TZWFyY2hCb3ggaXMgbm90IGF2YWlsYWJsZSB0byBuZXcgY3VzdG9tZXJzLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLnBsYWNlcy5TZWFyY2hCb3ggaXMgbm90IHNjaGVkdWxlZCB0byBiZSBkaXNjb250aW51ZWQgYW5kIHdpbGwgY29udGludWUgdG8gcmVjZWl2ZSBidWcgZml4ZXMgZm9yIGFueSBtYWpvciByZWdyZXNzaW9ucy4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2xlZ2FjeSBmb3IgYWRkaXRpb25hbCBkZXRhaWxzLiIpfX07CnY5LnByb3RvdHlwZS5zZXRCb3VuZHM9djkucHJvdG90eXBlLnNldEJvdW5kczt2OS5wcm90b3R5cGUuZ2V0Qm91bmRzPXY5LnByb3RvdHlwZS5nZXRCb3VuZHM7djkucHJvdG90eXBlLmdldFBsYWNlcz12OS5wcm90b3R5cGUuZ2V0UGxhY2VzO18uV24odjkucHJvdG90eXBlLHtwbGFjZXM6bnVsbCxib3VuZHM6Xy5NbShfLlRuKX0pO3ZhciB3OT17U01BTEw6IlNNQUxMIixNRURJVU06Ik1FRElVTSIsTEFSR0U6IkxBUkdFIn0seDk9e1dISVRFOiJXSElURSIsQkxBQ0s6IkJMQUNLIixHUkFZOiJHUkFZIn07dmFyIHk5PWNsYXNzIGV4dGVuZHMgcTl7c2V0IGxpZ2h0U2NoZW1lQ29sb3IoYSl7dGhpcy5zaD1fLmtwKHRoaXMsImxpZ2h0U2NoZW1lQ29sb3IiLF8uTW0oXy5GbSh4OSkpLGEpfHwiR1JBWSJ9Z2V0IGxpZ2h0U2NoZW1lQ29sb3IoKXtyZXR1cm4gdGhpcy5zaH1zZXQgZGFya1NjaGVtZUNvbG9yKGEpe3RoaXMucmg9Xy5rcCh0aGlzLCJkYXJrU2NoZW1lQ29sb3IiLF8uTW0oXy5GbSh4OSkpLGEpfHwiV0hJVEUifWdldCBkYXJrU2NoZW1lQ29sb3IoKXtyZXR1cm4gdGhpcy5yaH1jb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnNoPSJHUkFZIjt0aGlzLnJoPSJXSElURSI7dGhpcy54aShhLHk5LCJQbGFjZUF0dHJpYnV0aW9uRWxlbWVudCIpO3RoaXMubGlnaHRTY2hlbWVDb2xvcj1hLmxpZ2h0U2NoZW1lQ29sb3I7dGhpcy5kYXJrU2NoZW1lQ29sb3I9YS5kYXJrU2NoZW1lQ29sb3J9cWgoKXtyZXR1cm57bGlnaHRTY2hlbWVDb2xvcjp0aGlzLmxpZ2h0U2NoZW1lQ29sb3IsCmRhcmtTY2hlbWVDb2xvcjp0aGlzLmRhcmtTY2hlbWVDb2xvcn19fTt5OS5wcm90b3R5cGUuY29uc3RydWN0b3I9eTkucHJvdG90eXBlLmNvbnN0cnVjdG9yO3k5LklpPXtLaToyNTM0NTAsSmk6MjUzNDMwfTtfLkQoW18udHEoe0toOiJsaWdodC1zY2hlbWUtY29sb3IiLGZpOl8ud28oeDkpLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLHk5LnByb3RvdHlwZSwibGlnaHRTY2hlbWVDb2xvciIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoiZGFyay1zY2hlbWUtY29sb3IiLGZpOl8ud28oeDkpLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLHk5LnByb3RvdHlwZSwiZGFya1NjaGVtZUNvbG9yIixudWxsKTt2YXIgVjc9Y2xhc3MgZXh0ZW5kcyBxOXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnhpKGEsVjcsIlBsYWNlQWxsQ29udGVudEVsZW1lbnQiKX1xaCgpe3JldHVybnt9fX07VjcucHJvdG90eXBlLmNvbnN0cnVjdG9yPVY3LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtWNy5JaT17S2k6MjUzNDQyLEppOjI1MzQyMn07Xy54bygiZ21wLXBsYWNlLWFsbC1jb250ZW50IixWNyk7dmFyIFZDYj1fLiRzKFsiLmZvbnQtc2l6ZS0tbWVkaXVtLC5mb250LXNpemUtLXNtYWxse2Rpc3BsYXk6Y29udGVudHN9LmZvbnQtc2l6ZS0tc21hbGx7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmZvbnQtc2l6ZS0tbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LndoZWVsY2hhaXJ7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1pbmZvLGxpZ2h0LWRhcmsoIzBiNTdkMCwjYThjN2ZhKSk7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjEuMTY2NjY2NjY2N2VtO3dpZHRoOjEuMTY2NjY2NjY2N2VtfS53aGVlbGNoYWlyOmRpcihydGwpey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Il0pO3ZhciB6OT17SE9SSVpPTlRBTDoiSE9SSVpPTlRBTCIsVkVSVElDQUw6IlZFUlRJQ0FMIn07dmFyIFdDYj1fLiRzKFsiLnNyLW9ubHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpe2NsaXA6cmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4fTpob3N0e2Rpc3BsYXk6Y29udGVudHN9cHttYXJnaW46MH11bHthbGw6dW5zZXR9aHJ7YWxsOnVuc2V0O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7ZGlzcGxheTpibG9ja31zZWN0aW9ue3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCkgMDtwb3NpdGlvbjpyZWxhdGl2ZX0ucmV2aWV3cy1kaXNjbG9zdXJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDstbXMtZmxleC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Il0pO3ZhciBLeWI9IkdNUC1QTEFDRS1ERVRBSUxTIEdNUC1QTEFDRS1ERVRBSUxTLUNPTVBBQ1QgR01QLUFEVkFOQ0VELVBMQUNFLURFVEFJTFMgR01QLUFEVkFOQ0VELVBMQUNFLURFVEFJTFMtQ09NUEFDVCBHTVAtSU5URVJOQUwtVVNFLVBMQUNFLURFVEFJTFMtQ09NUEFDVCBHTVAtSU5URVJOQUwtVVNFLTJELU1BUC1QTEFDRS1ERVRBSUxTLUNPTVBBQ1QgR01QLUlOVEVSTkFMLUNPTlRFWFRVQUwtUExBQ0UtREVUQUlMUy1DT01QQUNUIEdNUC1JTlRFUk5BTC1QTEFDRS1TRUFSQ0gtTElTVC1JVEVNIEdNUC1JTlRFUk5BTC1BRFZBTkNFRC1QTEFDRS1TRUFSQ0gtTElTVC1JVEVNIi5zcGxpdCgiICIpO1suLi5LeWJdO3ZhciBBOT1jbGFzcyBleHRlbmRzIHE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuQkM9e2VKOjAsRFQ6IlZFUlRJQ0FMIn19dGkoKXtyZXR1cm4gXy5Tc319O0E5LnN0eWxlcz1bV0NiXTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxBOS5wcm90b3R5cGUsIkJDIix2b2lkIDApO3ZhciBPeWI9KHthcmlhSGlkZGVuOmEsY2xhc3NOYW1lOmIsa1E6Y30pPT4oMCxfLldxKWA8c3ZnIGFyaWEtaGlkZGVuPSIke2F9IiBhcmlhLWxhYmVsPSIke2N9IiBjbGFzcz0iJHtifSIgcm9sZT0iaW1nIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmlld0JveD0iMCAwIDE0IDE0Ij48dGl0bGU+JHtjfTwvdGl0bGU+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNNC42NyAxMi44M3EtMS4yMSAwLTIuMDctLjg0YTMgMyAwIDAxLS44NS0yLjA3cTAtMS4yMi44NS0yLjA2QTIuOCAyLjggMCAwMTQuNjcgN3YxLjE3YTEuNyAxLjcgMCAwMC0xLjc1IDEuNzVxMCAuNzIuNSAxLjI0LjUyLjUgMS4yNS41dDEuMjQtLjVxLjUtLjUyLjUtMS4yNGgxLjE3cTAgMS4yLS44NiAyLjA3YTIuOCAyLjggMCAwMS0yLjA1Ljg0bTUuMjUtLjU4VjkuMzNoLTMuNXEtLjY0IDAtMS0uNTRhMS4yIDEuMiAwIDAxLS4wOC0xLjE1bDEuMDgtMi4zOUg1LjA5bC0uMzUuOS0xLjEyLS4zMi40LTEuMDVhMSAxIDAgMDEuNDMtLjVxLjMtLjIuNjUtLjJoMy4wNHEuNjUgMCAuOTkuNTQuMzUuNTMuMDkgMS4xM2wtLjk3IDIuMTJoMS42N3EuNDggMCAuODEuMzUuMzYuMzQuMzUuODJ2My4yMXptLS41OS04LjQ2cS0uNDggMC0uODMtLjMzYTEuMiAxLjIgMCAwMS0uMzMtLjg0cTAtLjQ4LjMzLS44MS4zNi0uMzUuODMtLjM1LjQ5IDAgLjgyLjM1YTEuMTQgMS4xNCAwIDAxMCAxLjY1cS0uMzMuMzMtLjgyLjMzIi8+PC9zdmc+YCwKWENiPSh7YXJpYUxhYmVsOmEsdHJhbnNmb3JtOmJ9KT0+KDAsXy5XcSlgPHN2ZyBhcmlhLWxhYmVsPSIke2F9IiBjbGFzcz0iYXJyb3ciIHJvbGU9ImltZyIgdHJhbnNmb3JtPSIke2J9IiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHRpdGxlPiR7YX08L3RpdGxlPjxwYXRoIGQ9Ik00ODAtMzQ0IDI0MC01ODRsNTYtNTYgMTg0IDE4NCAxODQtMTg0IDU2IDU2eiIvPjwvc3ZnPmA7dmFyIEI5PWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5GTj0hMTt0aGlzLnhpKGEsQjksIlBsYWNlQWNjZXNzaWJsZUVudHJhbmNlSWNvbkVsZW1lbnQiKX1xaCgpe3JldHVybnt9fX07QjkucHJvdG90eXBlLmNvbnN0cnVjdG9yPUI5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtCOS5JaT17S2k6MjUzNDQ4LEppOjI1MzQyOH07Qjkuc3R5bGVzPVsuLi5BOS5zdHlsZXMsVkNiXTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCOS5wcm90b3R5cGUsIkZOIix2b2lkIDApO3ZhciBZQ2I9Xy4kcyhbIjpob3N0KDpub3QoW2hpZGRlbl0pKXttaW4td2lkdGg6MH1zcGFuLmFkZHJlc3N7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpOy13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsOy1tb3otZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm8tY29udGV4dHVhbDtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtfXNwYW4uYWRkcmVzcy50cnVuY2F0ZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmNvbnRhY3RzLXJvd3std2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LmNvbnRhY3RzLXJvdyBzdmd7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSk7LXdlYmtpdC1mbGV4LXNocmluazowOy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MDstd2Via2l0LW1hcmdpbi1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpOy1tb3otbWFyZ2luLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO3dpZHRoOnZhcigtLWdtcC1tYXQtc3BhY2luZy10d28tZXh0cmEtbGFyZ2UsMjRweCl9Il0pO3ZhciBDOT1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMudHJ1bmNhdGlvblByZWZlcnJlZD0hMTt0aGlzLnhpKGEsQzksIlBsYWNlQWRkcmVzc0VsZW1lbnQiKX1xaCgpe3JldHVybnt9fX07QzkucHJvdG90eXBlLmNvbnN0cnVjdG9yPUM5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtDOS5JaT17S2k6MjUzNDQ0LEppOjI1MzQyNH07Qzkuc3R5bGVzPVsuLi5BOS5zdHlsZXMsWUNiXTt2YXIgWkNiPV8uJHMoWyJzZWN0aW9uLmZlYXR1cmVze3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH1zZWN0aW9uLmZlYXR1cmVzIC5mZWF0dXJlcy1zZWN0aW9ue21hcmdpbi1ibG9jazp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCl9c2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiAuc2VjdGlvbi1oZWFkaW5ne2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LXRpdGxlLXNtYWxsLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07bWFyZ2luLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCl9c2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bHstd2Via2l0LWZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtfXNlY3Rpb24uZmVhdHVyZXMgLmZlYXR1cmVzLXNlY3Rpb24gdWwsc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9c2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaXstd2Via2l0LWZsZXgtYmFzaXM6Y2FsYyg1MCUgLSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsIDhweCkvMik7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6Y2FsYyg1MCUgLSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsIDhweCkvMik7ZmxleC1iYXNpczpjYWxjKDUwJSAtIHZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCwgOHB4KS8yKTtwb3NpdGlvbjpyZWxhdGl2ZX1zZWN0aW9uLmZlYXR1cmVzIC5mZWF0dXJlcy1zZWN0aW9uIHVsIGxpPmRpdnstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOnN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOnN0YXJ0O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7bWFyZ2luOjB9c2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaT5kaXYgc3Zney13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7d2lkdGg6MThweH1zZWN0aW9uLmZlYXR1cmVzIC5mZWF0dXJlcy1zZWN0aW9uIHVsIGxpIC5zci1vbmx5ey13ZWJraXQtbWFyZ2luLXN0YXJ0OmNhbGMoMThweCArIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCwgNHB4KSk7LW1vei1tYXJnaW4tc3RhcnQ6Y2FsYygxOHB4ICsgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLCA0cHgpKTttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoMThweCArIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCwgNHB4KSk7b3ZlcmZsb3c6YXV0bzt3aWR0aDpjYWxjKDEwMCUgLSAxOHB4IC0gdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLCA0cHgpKX0iXSk7dmFyIEQ5PWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLEQ5LCJQbGFjZUZlYXR1cmVMaXN0RWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtEOS5JaT17S2k6MjUzNDU4LEppOjI1MzQzOH07RDkuc3R5bGVzPVsuLi5BOS5zdHlsZXMsWkNiXTt2YXIgJENiPV8uJHMoWyJALXdlYmtpdC1rZXlmcmFtZXMgaW1hZ2UtZmFkZS1pbi1rZXlmcmFtZXN7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBpbWFnZS1mYWRlLWluLWtleWZyYW1lc3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTouNX10b3tvcGFjaXR5OjF9fUBrZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTouNX10b3tvcGFjaXR5OjF9fS5sb2FkLWVycm9ye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1uZXV0cmFsLWNvbnRhaW5lcixsaWdodC1kYXJrKCNmMmYyZjIsIzMwMzAzMCkpO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtwbGFjZS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5sb2FkLWVycm9yIHNwYW57LXdlYmtpdC1hbGlnbi1jb250ZW50OmNlbnRlcjtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KX0uZGVmYXVsdC1pbWFnZXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5kZWZhdWx0LWltYWdlIHBhdGguYmFja2dyb3VuZHtmaWxsOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKX0uZGVmYXVsdC1pbWFnZSBwYXRoOm5vdCguYmFja2dyb3VuZCl7ZmlsbDp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpfTpob3N0e2JvcmRlci1yYWRpdXM6dmFyKC0tZ21wLWNvbGxhZ2UtYm9yZGVyLXJhZGl1cy1vdXRlciwxNnB4KTtkaXNwbGF5OmJsb2NrfS5jb250YWluZXJ7Ym9yZGVyLXJhZGl1czppbmhlcml0O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWR7ZGlzcGxheTpncmlkO2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKTtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDIsMWZyKTtoZWlnaHQ6MTAwJX0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWQgYnV0dG9ue2N1cnNvcjpwb2ludGVyO291dGxpbmUtb2Zmc2V0Oi0ycHh9LmNvbnRhaW5lciAuY29sbGFnZS1ncmlkIC5pbWFnZS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2YyZjJmMiwjMzAzMDMwKSk7b3ZlcmZsb3c6aGlkZGVufS5jb250YWluZXIgLmNvbGxhZ2UtZ3JpZCAuaW1hZ2UtY29udGFpbmVyOm5vdCgubG9hZGVkKXstd2Via2l0LWFuaW1hdGlvbjpza2VsZXRvbi1wdWxzZS1rZXlmcmFtZXMgMS41cyBpbmZpbml0ZTthbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgaW5maW5pdGU7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2YyZjJmMiwjMzAzMDMwKSl9LmNvbnRhaW5lciAuY29sbGFnZS1ncmlkIC5pbWFnZS1jb250YWluZXIgLmRlZmF1bHQtaW1hZ2V7LXdlYmtpdC1hbmltYXRpb246aW1hZ2UtZmFkZS1pbi1rZXlmcmFtZXMgMXM7YW5pbWF0aW9uOmltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzIDFzfS5jb250YWluZXIgLmNvbGxhZ2UtZ3JpZCAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7Ym9yZGVyOm5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTowO3BhZGRpbmc6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAxczt0cmFuc2l0aW9uOm9wYWNpdHkgMXM7d2lkdGg6MTAwJX0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWQgLmltYWdlLWNvbnRhaW5lci5sb2FkZWQgLmltYWdle29wYWNpdHk6MX0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWQgLmdyaWQtaXRlbS0wLTF7Z3JpZC1jb2x1bW46MS9zcGFuIDI7Z3JpZC1yb3c6MS9zcGFuIDJ9LmNvbnRhaW5lciAuY29sbGFnZS1ncmlkIC5ncmlkLWl0ZW0tMC0yLC5jb250YWluZXIgLmNvbGxhZ2UtZ3JpZCAuZ3JpZC1pdGVtLTAtM3tib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweDtncmlkLWNvbHVtbjoxL3NwYW4gMTtncmlkLXJvdzoxL3NwYW4gMn0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWQgLmdyaWQtaXRlbS0xLTJ7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6NHB4O2dyaWQtY29sdW1uOjIvc3BhbiAxO2dyaWQtcm93OjEvc3BhbiAyfS5jb250YWluZXIgLmNvbGxhZ2UtZ3JpZCAuZ3JpZC1pdGVtLTEtM3tib3JkZXItZW5kLWVuZC1yYWRpdXM6NHB4O2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweDtncmlkLWNvbHVtbjoyL3NwYW4gMTtncmlkLXJvdzoxL3NwYW4gMX0uY29udGFpbmVyIC5jb2xsYWdlLWdyaWQgLmdyaWQtaXRlbS0yLTN7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6NHB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjRweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjRweDtncmlkLWNvbHVtbjoyL3NwYW4gMTtncmlkLXJvdzoyL3NwYW4gMX0ubGlnaHRib3gtYWZmb3JkYW5jZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1tZWRpdW0sbm9ybWFsIDUwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTphdXRvO2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDoycHg7bWFyZ2luOjEycHg7cGFkZGluZzoycHggNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5saWdodGJveC1hZmZvcmRhbmNlIC5waG90by1saWJyYXJ5e2hlaWdodDoxLjE2NjY2NjY2NjdlbTt3aWR0aDoxLjE2NjY2NjY2NjdlbX0ubGlnaHRib3gtYWZmb3JkYW5jZS50aWdodHttYXJnaW46OHB4fSJdKTt2YXIgYURiPV8uJHMoWyJhe2NvbG9yOnVuc2V0O3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubGlnaHRib3h7Ym9yZGVyLXdpZHRoOjA7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5saWdodGJveCAuYmFja2Ryb3B7YmFja2dyb3VuZDojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS5saWdodGJveCAuYmFja2Ryb3Atb3ZlcmxheXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDgwcHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDgwcHgpO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9LmxpZ2h0Ym94IC5waG90b3toZWlnaHQ6MTAwJTtpbnNldDowO21hcmdpbjphdXRvO29iamVjdC1maXQ6Y29udGFpbjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5saWdodGJveCAuaGVhZGVye2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LmxpZ2h0Ym94IC5saWdodGJveC1oZWFkZXJ7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246cmVsYXRpdmV9LmxpZ2h0Ym94IC5saWdodGJveC1oZWFkZXIsLmxpZ2h0Ym94IC5saWdodGJveC1oZWFkZXIgLmhlYWRlci1jb250ZW50e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7d2lkdGg6MTAwJX0ubGlnaHRib3ggLmxpZ2h0Ym94LWhlYWRlciAuaGVhZGVyLWNvbnRlbnR7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ubGlnaHRib3ggLmxpZ2h0Ym94LWhlYWRlciAuc2VnbWVudGVkLXByb2dyZXNzLWJhcntkaXNwbGF5Om5vbmV9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9ue2NvbG9yOiNmZmZ9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uOmZvY3VzLXZpc2libGUsLmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5saWdodGJveCBhLmF1dGhvci1pbmZvLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC5pbmZvLWNhcmR7b3V0bGluZToycHggc29saWQgI2E4YzdmYX0ubGlnaHRib3ggYS5hdXRob3ItaW5mby1idXR0b24gLmluZm8tY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JvcmRlci1yYWRpdXM6MTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDtoZWlnaHQ6LW1vei1maXQtY29udGVudDtoZWlnaHQ6Zml0LWNvbnRlbnQ7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MTJweDstbW96LW1hcmdpbi1zdGFydDoxMnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MTJweDttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHggMTBweH0ubGlnaHRib3ggYS5hdXRob3ItaW5mby1idXR0b24gLmluZm8tY2FyZCwubGlnaHRib3ggYS5hdXRob3ItaW5mby1idXR0b24gLmluZm8tY2FyZCAuYXV0aG9yLWF0dHJpYnV0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWx9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uIC5pbmZvLWNhcmQgLmF1dGhvci1hdHRyaWJ1dGlvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uIC5pbmZvLWNhcmQgLmF1dGhvci1hdHRyaWJ1dGlvbi1waG90b3tiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MS4xNDI4NTcxNDI5ZW07LXdlYmtpdC1tYXJnaW4tZW5kOjhweDstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweDt3aWR0aDoxLjE0Mjg1NzE0MjllbX0ubGlnaHRib3ggYS5hdXRob3ItaW5mby1idXR0b24gLmluZm8tY2FyZCAuYXV0aG9yLWF0dHJpYnV0aW9uLW5hbWV7LXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vLWNvbnRleHR1YWw7LW1vei1mb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vLWNvbnRleHR1YWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uIC5pbmZvLWNhcmQgLm9wZW4taW4tbmV3ey13ZWJraXQtbWFyZ2luLXN0YXJ0OjhweDstbW96LW1hcmdpbi1zdGFydDo4cHg7aGVpZ2h0OjFlbTttYXJnaW4taW5saW5lLXN0YXJ0OjhweDt3aWR0aDoxZW19LmxpZ2h0Ym94IGEuYXV0aG9yLWluZm8tYnV0dG9uIC5pbmZvLWNhcmQgLmhlYWRlcntmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5saWdodGJveCBhLmF1dGhvci1pbmZvLWJ1dHRvbiAuaW5mby1jYXJkIC5zdWJ7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbGFyZ2Usbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX0ubGlnaHRib3ggLm5hdi1jYXJke2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1wYWRkaW5nLWFmdGVyOjEwcHg7cGFkZGluZy1ibG9jay1lbmQ6MTBweH0ubGlnaHRib3ggLm5hdi1jYXJkLC5saWdodGJveCAubmF2LWNhcmQgLm5hdi1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsfS5saWdodGJveCAubmF2LWNhcmQgLm5hdi1jb250cm9sc3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6MTJweDttYXJnaW4tYm90dG9tOjZweH0ubGlnaHRib3ggLmNvbnRyb2wtY2FyZHstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtbWFyZ2luLWVuZDoxMnB4Oy1tb3otbWFyZ2luLWVuZDoxMnB4O21hcmdpbi1pbmxpbmUtZW5kOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5saWdodGJveCAuY29udHJvbC1jYXJkIGdtcC1pbnRlcm5hbC1tZW51OjpwYXJ0KGRpYWxvZyl7aW5zZXQtaW5saW5lLWVuZDoyNHB4fS5saWdodGJveCAuY2lyY2xlLWJ1dHRvbntiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7aGVpZ2h0OjQ4cHg7cGFkZGluZzo0cHg7d2lkdGg6NDhweH0ubGlnaHRib3ggLmNpcmNsZS1idXR0b246ZGlzYWJsZWQgLmNpcmNsZS1idXR0b24tc3ZnLWNvbnRhaW5lcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2NvbG9yOiNhYmFiYWI7Y3Vyc29yOmRlZmF1bHR9LmxpZ2h0Ym94IC5jaXJjbGUtYnV0dG9uOmZvY3VzLXZpc2libGV7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lfS5saWdodGJveCAuY2lyY2xlLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC5jaXJjbGUtYnV0dG9uLXN2Zy1jb250YWluZXJ7Ym9yZGVyOjJweCBzb2xpZCAjYThjN2ZhO2JvcmRlci1yYWRpdXM6NTAlfS5saWdodGJveCAuY2lyY2xlLWJ1dHRvbi5sZWZ0IHBhdGg6ZGlyKHJ0bCl7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC0xKSB0cmFuc2xhdGVYKC05NjBweCk7dHJhbnNmb3JtOnNjYWxlWCgtMSkgdHJhbnNsYXRlWCgtOTYwcHgpfS5saWdodGJveCAuY2lyY2xlLWJ1dHRvbi5yaWdodCBwYXRoOm5vdCg6ZGlyKHJ0bCkpey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSkgdHJhbnNsYXRlWCgtOTYwcHgpO3RyYW5zZm9ybTpzY2FsZVgoLTEpIHRyYW5zbGF0ZVgoLTk2MHB4KX0ubGlnaHRib3ggLmNpcmNsZS1idXR0b24tc3ZnLWNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjUwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDBweH0ubGlnaHRib3ggLmNpcmNsZS1idXR0b24tc3ZnLWNvbnRhaW5lciBzdmd7d2lkdGg6MThweH0ubGlnaHRib3ggLmNpcmNsZS1idXR0b24tc3ZnLWNvbnRhaW5lciBzdmcuYXJyb3d7d2lkdGg6MjRweH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjY0MHB4KXsubGlnaHRib3ggLmNvbnRyb2wtY2FyZCwubGlnaHRib3ggLmluZm8tY2FyZHtiYWNrZ3JvdW5kOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfS5saWdodGJveCAubGlnaHRib3gtaGVhZGVye2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2JhKDAsMCwwLC44KSksY29sb3Itc3RvcCg1NSUscmdiYSgwLDAsMCwuNikpLHRvKHRyYW5zcGFyZW50KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNTUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNTUlLHRyYW5zcGFyZW50KTtnYXA6MTJweDtwYWRkaW5nOjIwcHggMTZweH0ubGlnaHRib3ggLmxpZ2h0Ym94LWhlYWRlciAuc2VnbWVudGVkLXByb2dyZXNzLWJhcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6NHB4O3BhZGRpbmctYm90dG9tOjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5saWdodGJveCAubGlnaHRib3gtaGVhZGVyIC5zZWdtZW50ZWQtcHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItc2VnbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNhYmFiYWI7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtoZWlnaHQ6MnB4fS5saWdodGJveCAubGlnaHRib3gtaGVhZGVyIC5zZWdtZW50ZWQtcHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItc2VnbWVudC5zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9fS5zci1vbmx5Om5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKXtjbGlwOnJlY3QoMCAwIDAgMCk7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoNTAlKTtjbGlwLXBhdGg6aW5zZXQoNTAlKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjFweH0iXSk7dmFyIEU5PVN5bWJvbCgicGxhY2Utc2VhcmNoLXNlbGVjdGFibGUiKTt2YXIgRjk9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhyZWY9IiMiO3RoaXMuc2hvd0ljb249ITA7dGhpcy5hcmlhTGFiZWxJbnRlcm5hbD1udWxsO3RoaXMuZkU9IiJ9cWgoYSl7aWYoYT1hLnRhcmdldCl0aGlzLmZFPWEuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pLm1hcChiPT5iLnRleHRDb250ZW50KS5qb2luKCIgIikudHJpbSgpfXRpKCl7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxhCiAgICAgICAgLmhyZWY9JHt0aGlzLmhyZWZ9CiAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYXJpYUxhYmVsSW50ZXJuYWw/P18uUXEodGhpcy5mRSl9CiAgICAgICAgQGNsaWNrPSR7YT0+e3RoaXMuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpfX0+CiAgICAgICAgPGRpdiBjbGFzcz0idGFwLWFyZWEiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxpbmstYnV0dG9uLWNvbnRhaW5lciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibGluay10ZXh0IgogICAgICAgICAgICA+PHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLnFofT48L3Nsb3QKICAgICAgICAgID48L3NwYW4+CiAgICAgICAgICAke3RoaXMuc2hvd0ljb24/KDAsXy5XcSlgCiAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVlIiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0keyJNMjAwLTEyMHEtMzMgMC01Ni41LTIzLjVUMTIwLTIwMHYtNTYwcTAtMzMgMjMuNS01Ni41VDIwMC04NDBoMjgwdjgwSDIwMHY1NjBoNTYwdi0yODBoODB2MjgwcTAgMzMtMjMuNSA1Ni41VDc2MC0xMjB6bTE4OC0yMTItNTYtNTYgMzcyLTM3Mkg1NjB2LTgwaDI4MHYyODBoLTgwdi0xNDR6In0gLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvYT4KICAgIGB9fTtGOS5zdHlsZXM9Xy4kcyhbImF7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOmluaGVyaXQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtZGVjb3JhdGlvbjpub25lfWEsYSAudGFwLWFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX1hIC50YXAtYXJlYXtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjUwJTttaW4taGVpZ2h0OjQ4cHg7bWluLXdpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfWEgLmxpbmstYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjZDNmN2ZmLCMwMDM2M2UpKTtib3JkZXI6dmFyKC0tZ21wLWJ1dHRvbi1ib3JkZXItd2lkdGgsMCkgc29saWQgdmFyKC0tZ21wLWJ1dHRvbi1ib3JkZXItY29sb3IsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLGxpZ2h0LWRhcmsoIzAxNGY1YSwjOWZlZmZmKSkpO2JvcmRlci1yYWRpdXM6dmFyKC0tZ21wLWJ1dHRvbi1ib3JkZXItcmFkaXVzLDk5OTlweCk7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZikpO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtoZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDtoZWlnaHQ6LW1vei1maXQtY29udGVudDtoZWlnaHQ6Zml0LWNvbnRlbnQ7cGFkZGluZzo2cHggMTJweDt3aWR0aDoxMDAlO3otaW5kZXg6MX1hIC5saW5rLWJ1dHRvbi1jb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKSA4JSx2YXIoLS1nbXAtbWF0LWNvbG9yLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjZDNmN2ZmLCMwMDM2M2UpKSk7Ym9yZGVyLWNvbG9yOnZhcigtLWdtcC1idXR0b24tYm9yZGVyLWNvbG9yLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZikpKTtjdXJzb3I6cG9pbnRlcn06aG9zdCguaWNvbi1vbmx5KSBhIC5saW5rLWJ1dHRvbi1jb250YWluZXJ7Z2FwOjA7cGFkZGluZzo2cHh9Omhvc3QoLnNvbGlkKSBhIC5saW5rLWJ1dHRvbi1jb250YWluZXJ7Ym9yZGVyLXdpZHRoOjB9Omhvc3QoLm91dGxpbmUpIGEgLmxpbmstYnV0dG9uLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWludGVyYWN0aXZlLGxpZ2h0LWRhcmsoI2M3YzdjNywjNWU1ZTVlKSk7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1uZXV0cmFsLWNvbnRhaW5lcixsaWdodC1kYXJrKCMxZjFmMWYsI2ZmZikpfTpob3N0KC5vdXRsaW5lKSBhIC5saW5rLWJ1dHRvbi1jb250YWluZXIgc3Zne2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9Omhvc3QoLm91dGxpbmUpIGEgLmxpbmstYnV0dG9uLWNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpIDglLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpKTtjdXJzb3I6cG9pbnRlcn1hIC5saW5rLXRleHR7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hIHN2Z3t3aWR0aDoxLjI4NTcxNDI4NTdlbX1hIHN2ZzpkaXIocnRsKXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfWE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9YTpmb2N1cy12aXNpYmxlIC5saW5rLWJ1dHRvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKSAxMCUsdmFyKC0tZ21wLW1hdC1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyLGxpZ2h0LWRhcmsoI2QzZjdmZiwjMDAzNjNlKSkpO291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZikpO291dGxpbmUtb2Zmc2V0Oi0ycHh9Omhvc3QoLm91dGxpbmUpIGE6Zm9jdXMtdmlzaWJsZSAubGluay1idXR0b24tY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSkgMTAlLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpKTtvdXRsaW5lLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9Il0pOwpfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sRjkucHJvdG90eXBlLCJocmVmIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxGOS5wcm90b3R5cGUsInNob3dJY29uIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxGOS5wcm90b3R5cGUsImFyaWFMYWJlbEludGVybmFsIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLEY5LnByb3RvdHlwZSwiZkUiLHZvaWQgMCk7Xy5EKFtfLmRGKHtjb250ZXh0OkU5fSksXy5GKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEY5LnByb3RvdHlwZSwic3RvcFByb3BhZ2F0aW9uIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1saW5rLWJ1dHRvbiIsRjkpO3ZhciBiRGI9KDAsXy5XcSlgCiAgPGRpdiBjbGFzcz0iZGVmYXVsdC1idXR0b24tY29udGVudCI+CiAgICAkeygoe2FyaWFIaWRkZW46YSxjbGFzc05hbWU6Yn0pPT4oMCxfLldxKWA8c3ZnIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49IiR7YX0iIGNsYXNzPSIke2J9IiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+Jmd0OzxwYXRoIGQ9Ik00ODAtMTYwcS0zMyAwLTU2LjUtMjMuNVQ0MDAtMjQwdDIzLjUtNTYuNVQ0ODAtMzIwdDU2LjUgMjMuNVQ1NjAtMjQwdC0yMy41IDU2LjVUNDgwLTE2MG0wLTI0MHEtMzMgMC01Ni41LTIzLjVUNDAwLTQ4MHQyMy41LTU2LjVUNDgwLTU2MHQ1Ni41IDIzLjVUNTYwLTQ4MHQtMjMuNSA1Ni41VDQ4MC00MDBtMC0yNDBxLTMzIDAtNTYuNS0yMy41VDQwMC03MjB0MjMuNS01Ni41VDQ4MC04MDB0NTYuNSAyMy41VDU2MC03MjB0LTIzLjUgNTYuNVQ0ODAtNjQwIi8+PC9zdmc+YCkoe2FyaWFIaWRkZW46InRydWUiLGNsYXNzTmFtZToibW9yZSJ9KX0KICA8L2Rpdj4KYCxHOT1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubWVudUl0ZW1zPVtdO3RoaXMuYnV0dG9uVGl0bGU9Ik9wZW4gbWVudSI7dGhpcy5tZW51U3R5bGU9Ik5PUk1BTCI7dGhpcy5tZW51Rm9udD0iTEFCRUxfTEFSR0UiO3RoaXMucWg9LTE7dGhpcy5zaD0oKT0+e3RoaXMuYmoub3Blbj90aGlzLmJqLmNsb3NlKCk6dGhpcy5iai5zaG93KCl9O3RoaXMud2g9YT0+e2EudGFyZ2V0Py5mb2N1cygpfTt0aGlzLnRoPWE9Pnt0aGlzLnFoPUFycmF5LmZyb20odGhpcy5xRSkuaW5kZXhPZihhLnRhcmdldCl9O3RoaXMueGg9YT0+e3N3aXRjaChhLmtleSl7Y2FzZSAiRXNjYXBlIjp0aGlzLmJqLmNsb3NlKCk7dGhpcy5idXR0b24uZm9jdXMoKTticmVhaztjYXNlICJUYWIiOnRoaXMuYnV0dG9uLmZvY3VzKCk7YnJlYWs7Y2FzZSAiQXJyb3dEb3duIjp5Nyh0aGlzLDEpO2JyZWFrO2Nhc2UgIkFycm93VXAiOnk3KHRoaXMsLTEpO2JyZWFrOwpjYXNlICJIb21lIjp5Nyh0aGlzLC0xRTQpO2JyZWFrO2Nhc2UgIkVuZCI6eTcodGhpcywxRTQpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufWEuc3RvcFByb3BhZ2F0aW9uKCk7YS5wcmV2ZW50RGVmYXVsdCgpfTt0aGlzLnJoPWE9PnthPWEucmVsYXRlZFRhcmdldDshdGhpcy5iai5vcGVufHx0aGlzLmJqLmNvbnRhaW5zKGEpfHx0aGlzLmJ1dHRvbi5jb250YWlucyhhKXx8dGhpcy5iai5jbG9zZSgpfX1nZXQgb3Blbigpe3JldHVybiB0aGlzLmJqLm9wZW59dGkoKXtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSR7KDAsXy5hcikoe2NvbnRhaW5lcjohMCxub3JtYWw6dGhpcy5tZW51U3R5bGU9PT0iTk9STUFMIixsaWdodGJveDp0aGlzLm1lbnVTdHlsZT09PSJMSUdIVEJPWCJ9KX0+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgYXJpYS1oYXNwb3B1cD0idHJ1ZSIKICAgICAgICAgIGFyaWEtY29udHJvbHM9Im1lbnUtY29udGVudCIKICAgICAgICAgIHRpdGxlPSR7dGhpcy5idXR0b25UaXRsZX0KICAgICAgICAgIEBjbGljaz0ke3RoaXMuc2h9CiAgICAgICAgICBAZm9jdXNvdXQ9JHt0aGlzLnJofT4KICAgICAgICAgIDxzbG90PiR7YkRifTwvc2xvdD4KICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8ZGlhbG9nCiAgICAgICAgICBpZD0ibWVudS1jb250ZW50IgogICAgICAgICAgcGFydD0iZGlhbG9nIgogICAgICAgICAgQGtleWRvd249JHt0aGlzLnhofQogICAgICAgICAgQGZvY3Vzb3V0PSR7dGhpcy5yaH0+CiAgICAgICAgICA8bWVudT4KICAgICAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoKGEsYik9PigwLF8uV3EpYAogICAgICAgICAgICAgICAgPGxpIHJvbGU9InByZXNlbnRhdGlvbiI+CiAgICAgICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICAgICAgcm9sZT0ibWVudWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgYXJpYS1wb3NpbnNldD0ke2IrMX0KICAgICAgICAgICAgICAgICAgICBhcmlhLXNldHNpemU9JHt0aGlzLm1lbnVJdGVtcy5sZW5ndGh9CiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke18uUXEoYS50ZXh0KX0KICAgICAgICAgICAgICAgICAgICBjbGFzcz0keygwLF8uYXIpKHsiYm9keS1tZWRpdW0iOnRoaXMubWVudUZvbnQ9PT0iQk9EWV9NRURJVU0ifSl9CiAgICAgICAgICAgICAgICAgICAgaHJlZj0ke2EudXJpfQogICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICAgICAgICAgICAgICBAZm9jdXNpbj0ke3RoaXMudGh9CiAgICAgICAgICAgICAgICAgICAgQG1vdXNlb3Zlcj0ke3RoaXMud2h9CiAgICAgICAgICAgICAgICAgICAgPjxzcGFuPiR7YS50ZXh0fTwvc3Bhbj4ke2EuUVQ/Xy5YcSh7YXJpYUxhYmVsOiIiLGNsYXNzTmFtZToib3Blbi1pbi1uZXcifSk6IiJ9PC9hCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L21lbnU+CiAgICAgICAgPC9kaWFsb2c+CiAgICAgIDwvZGl2PgogICAgYH19O0c5LnN0eWxlcz1fLiRzKFsiOmhvc3R7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci5saWdodGJveHtjb2xvci1zY2hlbWU6ZGFya31idXR0b257YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2ZvbnQtc2l6ZTppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDo0OHB4O21pbi13aWR0aDo0OHB4O3BhZGRpbmc6MH0uY29udGFpbmVyLmxpZ2h0Ym94IGJ1dHRvbjpmb2N1cy12aXNpYmxle2JvcmRlcjpub25lO291dGxpbmU6bm9uZX0uY29udGFpbmVyLmxpZ2h0Ym94IGJ1dHRvbjpmb2N1cy12aXNpYmxlIC5kZWZhdWx0LWJ1dHRvbi1jb250ZW50e2JvcmRlcjoycHggc29saWQgI2E4YzdmYTtib3JkZXItcmFkaXVzOjUwJX1idXR0b24gLmRlZmF1bHQtYnV0dG9uLWNvbnRlbnR7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDBweH0uY29udGFpbmVyLmxpZ2h0Ym94IGJ1dHRvbiAuZGVmYXVsdC1idXR0b24tY29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2NvbG9yOiNmZmZ9LmNvbnRhaW5lci5ub3JtYWwgYnV0dG9uIC5kZWZhdWx0LWJ1dHRvbi1jb250ZW50e2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmNvbnRhaW5lci5ub3JtYWwgYnV0dG9uIC5kZWZhdWx0LWJ1dHRvbi1jb250ZW50OmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdHJhbnNwYXJlbnQsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKSA4JSl9YnV0dG9uIC5kZWZhdWx0LWJ1dHRvbi1jb250ZW50IHN2Z3t3aWR0aDoxOHB4fWRpYWxvZ3tiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7aW5zZXQtaW5saW5lOnVuc2V0O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7ei1pbmRleDoxMH0uY29udGFpbmVyLm5vcm1hbCBkaWFsb2d7Ym94LXNoYWRvdzowIDFweCAycHggMCBjb2xvci1taXgoaW4gc3JnYix0cmFuc3BhcmVudCx2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSAzMCUpLDAgMnB4IDZweCAycHggY29sb3ItbWl4KGluIHNyZ2IsdHJhbnNwYXJlbnQsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSkgMTUlKX0uY29udGFpbmVyLmxpZ2h0Ym94IGRpYWxvZ3tib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjMpfWRpYWxvZyBtZW51e2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH0uY29udGFpbmVyLm5vcm1hbCBkaWFsb2cgbWVudSBsaTpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSl9ZGlhbG9nIG1lbnUgYXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbGFyZ2Usbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7Z2FwOjhweDtoZWlnaHQ6NDhweDtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO291dGxpbmUtb2Zmc2V0Oi0ycHg7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9ZGlhbG9nIG1lbnUgYS5ib2R5LW1lZGl1bXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5jb250YWluZXIubm9ybWFsIGRpYWxvZyBtZW51IGF7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKTtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKX0uY29udGFpbmVyLm5vcm1hbCBkaWFsb2cgbWVudSBhOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSksdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSkgOCUpfS5jb250YWluZXIubm9ybWFsIGRpYWxvZyBtZW51IGE6Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpIDEwJSl9LmNvbnRhaW5lci5saWdodGJveCBkaWFsb2cgbWVudSBhe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZn0uY29udGFpbmVyLmxpZ2h0Ym94IGRpYWxvZyBtZW51IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1kaWFsb2cgbWVudSBhIHNwYW57LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9ZGlhbG9nIG1lbnUgYSBzdmd7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweH1kaWFsb2cgbWVudSBhIHN2ZzpkaXIocnRsKXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfSJdKTsKXy5EKFtfLnVxKCJidXR0b24iKSxfLkYoImRlc2lnbjp0eXBlIixIVE1MQnV0dG9uRWxlbWVudCldLEc5LnByb3RvdHlwZSwiYnV0dG9uIix2b2lkIDApO18uRChbXy51cSgiZGlhbG9nIiksXy5GKCJkZXNpZ246dHlwZSIsSFRNTERpYWxvZ0VsZW1lbnQpXSxHOS5wcm90b3R5cGUsImJqIix2b2lkIDApO18uRChbazcoIm1lbnUgYSIpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLEc5LnByb3RvdHlwZSwicUUiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sRzkucHJvdG90eXBlLCJtZW51SXRlbXMiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLEc5LnByb3RvdHlwZSwiYnV0dG9uVGl0bGUiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLEc5LnByb3RvdHlwZSwibWVudVN0eWxlIix2b2lkIDApOwpfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRzkucHJvdG90eXBlLCJtZW51Rm9udCIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtbWVudSIsRzkpO3ZhciBjRGI9Xy4kcyhbIi5vcGVue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcG9zaXRpdmUsbGlnaHQtZGFyaygjMTk4NjM5LCM2ZGQ1OGMpKX0uY2xvc2Vke2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmVnYXRpdmUsbGlnaHQtZGFyaygjZGMzNjJlLCNmMmI4YjUpKX0uZXhwYW5kYWJsZXthbGw6dW5zZXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS5leHBhbmRhYmxlOmZvY3Vze291dGxpbmU6cmV2ZXJ0fS5hcnJvd3tmaWxsOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpOy1tb3otbWFyZ2luLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt3aWR0aDoxLjcxNDI4NTcxNDNlbX0ud2Vla2x5LWhvdXJze2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLWJsb2NrOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpIDA7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6NDRweDstbW96LW1hcmdpbi1zdGFydDo0NHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NDRweDtwYWRkaW5nOjB9LmludGVycHVuY3R7bWFyZ2luOjAgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCl9Il0pO3ZhciBIOT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWEuaGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZSgpP18uSmcoYSwyKTpudWxsO3RoaXMuc2g9YS5oYXNXaGVlbGNoYWlyQWNjZXNzaWJsZVJlc3Ryb29tKCk/Xy5KZyhhLDMpOm51bGw7dGhpcy50aD1hLmhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlU2VhdGluZygpP18uSmcoYSw0KTpudWxsO3RoaXMucmg9YS5oYXNXaGVlbGNoYWlyQWNjZXNzaWJsZVBhcmtpbmcoKT9fLkpnKGEsMSk6bnVsbH1nZXQgaGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZSgpe3JldHVybiB0aGlzLnFofWdldCBoYXNXaGVlbGNoYWlyQWNjZXNzaWJsZVJlc3Ryb29tKCl7cmV0dXJuIHRoaXMuc2h9Z2V0IGhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlU2VhdGluZygpe3JldHVybiB0aGlzLnRofWdldCBoYXNXaGVlbGNoYWlyQWNjZXNzaWJsZVBhcmtpbmcoKXtyZXR1cm4gdGhpcy5yaH10b0pTT04oKXtyZXR1cm57aGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZTp0aGlzLnFoLApoYXNXaGVlbGNoYWlyQWNjZXNzaWJsZVJlc3Ryb29tOnRoaXMuc2gsaGFzV2hlZWxjaGFpckFjY2Vzc2libGVTZWF0aW5nOnRoaXMudGgsaGFzV2hlZWxjaGFpckFjY2Vzc2libGVQYXJraW5nOnRoaXMucmh9fX07SDkucHJvdG90eXBlLnRvSlNPTj1IOS5wcm90b3R5cGUudG9KU09OO3ZhciBkRGI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9Xy5IKGEsMSl8fG51bGwsYz1fLkgoYSwyKXx8bnVsbDthPV8uVWcoYSwzLF8uY2coKSk7dGhpcy5xaD17bG9uZ1RleHQ6YixzaG9ydFRleHQ6Yyx0eXBlczphLnNsaWNlKCl9fWdldCBsb25nVGV4dCgpe3JldHVybiB0aGlzLnFoLmxvbmdUZXh0fWdldCBzaG9ydFRleHQoKXtyZXR1cm4gdGhpcy5xaC5zaG9ydFRleHR9Z2V0IHR5cGVzKCl7cmV0dXJuIHRoaXMucWgudHlwZXN9dG9KU09OKCl7cmV0dXJue2xvbmdUZXh0OnRoaXMubG9uZ1RleHQsc2hvcnRUZXh0OnRoaXMuc2hvcnRUZXh0LHR5cGVzOnRoaXMudHlwZXMuc2xpY2UoMCl9fX07dmFyIGVEYj1zQ2IoKTtfLk9qKGVEYik7dmFyIGZEYj1fLlFqKGVEYik7dmFyIGdEYj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPWg2KGc2KG5ldyBfLlo1LF8uSChhLDIpKSxfLkcoYSxfLklyLDMpKTtiPWIoYyxbImlkIiwiZGlzcGxheU5hbWUiLCJkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSJdKTthPV8uUGcoYSw0KTtjPWZEYi5nZXQoYSk7Yz09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIENvbnRhaW5tZW50IHZhbHVlOiAke2F9YCksYT1udWxsKTphPWM9PT0iQ09OVEFJTk1FTlRfVU5TUEVDSUZJRUQiP251bGw6Yzt0aGlzLnFoPXtwbGFjZTpiLGNvbnRhaW5tZW50OmF9fWdldCBwbGFjZSgpe3JldHVybiB0aGlzLnFoLnBsYWNlfWdldCBjb250YWlubWVudCgpe3JldHVybiB0aGlzLnFoLmNvbnRhaW5tZW50fXRvSlNPTigpe3JldHVybntwbGFjZTp0aGlzLnBsYWNlLnRvSlNPTigpLGNvbnRhaW5tZW50OnRoaXMuY29udGFpbm1lbnR9fX07dmFyIGhEYj10Q2IoKTtfLk9qKGhEYik7dmFyIGlEYj1fLlFqKGhEYik7dmFyIGpEYj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPWc2KG5ldyBfLlo1LF8uSChhLDIpKTtfLlNmKGEsXy5JciwzKSYmaDYoYyxfLkcoYSxfLklyLDMpKTt2YXIgZD1fLlVnKGEsNCxfLmNnKCkpO18ubmcoYyw1LGQsXy5iZik7Yj1iKGMsWyJpZCIsImRpc3BsYXlOYW1lIiwiZGlzcGxheU5hbWVMYW5ndWFnZUNvZGUiLCJ0eXBlcyJdKTtjPV8uUGcoYSw1KTtkPWlEYi5nZXQoYyk7ZD09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIFNwYXRpYWxSZWxhdGlvbnNoaXAgdmFsdWU6ICR7Y31gKSxjPW51bGwpOmM9ZDt0aGlzLnFoPXtwbGFjZTpiLHNwYXRpYWxSZWxhdGlvbnNoaXA6YyxzdHJhaWdodExpbmVEaXN0YW5jZU1ldGVyczpfLk9nKGEsNiksdHJhdmVsRGlzdGFuY2VNZXRlcnM6Xy5kRShhLDcpP18uT2coYSw3KTpudWxsfX1nZXQgcGxhY2UoKXtyZXR1cm4gdGhpcy5xaC5wbGFjZX1nZXQgc3BhdGlhbFJlbGF0aW9uc2hpcCgpe3JldHVybiB0aGlzLnFoLnNwYXRpYWxSZWxhdGlvbnNoaXB9Z2V0IHN0cmFpZ2h0TGluZURpc3RhbmNlTWV0ZXJzKCl7cmV0dXJuIHRoaXMucWguc3RyYWlnaHRMaW5lRGlzdGFuY2VNZXRlcnN9Z2V0IHRyYXZlbERpc3RhbmNlTWV0ZXJzKCl7cmV0dXJuIHRoaXMucWgudHJhdmVsRGlzdGFuY2VNZXRlcnN9dG9KU09OKCl7cmV0dXJue3BsYWNlOnRoaXMucGxhY2UudG9KU09OKCksCnNwYXRpYWxSZWxhdGlvbnNoaXA6dGhpcy5zcGF0aWFsUmVsYXRpb25zaGlwLHN0cmFpZ2h0TGluZURpc3RhbmNlTWV0ZXJzOnRoaXMuc3RyYWlnaHRMaW5lRGlzdGFuY2VNZXRlcnMsdHJhdmVsRGlzdGFuY2VNZXRlcnM6dGhpcy50cmF2ZWxEaXN0YW5jZU1ldGVyc319fTt2YXIga0RiPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5xaD17bGFuZG1hcmtzOl8uQ2coYSxCQmIsMSkubWFwKGM9Pm5ldyBqRGIoYyxiKSksYXJlYXM6Xy5DZyhhLEFCYiwyKS5tYXAoYz0+bmV3IGdEYihjLGIpKX19Z2V0IGxhbmRtYXJrcygpe3JldHVybiB0aGlzLnFoLmxhbmRtYXJrc31nZXQgYXJlYXMoKXtyZXR1cm4gdGhpcy5xaC5hcmVhc310b0pTT04oKXtyZXR1cm57bGFuZG1hcmtzOnRoaXMubGFuZG1hcmtzLm1hcChhPT5hLnRvSlNPTigpKSxhcmVhczp0aGlzLmFyZWFzLm1hcChhPT5hLnRvSlNPTigpKX19fTt2YXIgbERiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e3Byb3ZpZGVyOl8uSChhLDEpfHxudWxsLHByb3ZpZGVyVVJJOl8uSChhLDIpfHxudWxsfX1nZXQgcHJvdmlkZXIoKXtyZXR1cm4gdGhpcy5xaC5wcm92aWRlcn1nZXQgcHJvdmlkZXJVUkkoKXtyZXR1cm4gdGhpcy5xaC5wcm92aWRlclVSSX10b0pTT04oKXtyZXR1cm57cHJvdmlkZXI6dGhpcy5wcm92aWRlcixwcm92aWRlclVSSTp0aGlzLnByb3ZpZGVyVVJJfX19O3ZhciBtRGI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD17b3ZlcnZpZXc6Xy5IKGEsMSl8fG51bGwsZGV0YWlsczpfLlNmKGEsUzgsMik/bmV3IEk5KF8uRyhhLFM4LDIpKTpudWxsLGxhbmd1YWdlQ29kZTpfLkgoYSwzKXx8bnVsbH19Z2V0IG92ZXJ2aWV3KCl7cmV0dXJuIHRoaXMucWgub3ZlcnZpZXd9Z2V0IGRldGFpbHMoKXtyZXR1cm4gdGhpcy5xaC5kZXRhaWxzfWdldCBsYW5ndWFnZUNvZGUoKXtyZXR1cm4gdGhpcy5xaC5sYW5ndWFnZUNvZGV9dG9KU09OKCl7cmV0dXJue292ZXJ2aWV3OnRoaXMub3ZlcnZpZXcsZGV0YWlsczp0aGlzLmRldGFpbHM/LnRvSlNPTigpPz9udWxsLGxhbmd1YWdlQ29kZTp0aGlzLmxhbmd1YWdlQ29kZX19fSxJOT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPXt0aXRsZTphLmdldFRpdGxlKCl8fG51bGwsZGVzY3JpcHRpb246Xy5IKGEsMil8fG51bGwsYWJvdXRMaW5rVGl0bGU6Xy5BZyhhLElCYiwzKT8uZ2V0VGl0bGUoKXx8bnVsbCwKYWJvdXRMaW5rVVJJOl8uQWcoYSxJQmIsMyk/LnJoKCl8fG51bGx9fWdldCB0aXRsZSgpe3JldHVybiB0aGlzLnFoLnRpdGxlfWdldCBkZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLnFoLmRlc2NyaXB0aW9ufWdldCBhYm91dExpbmtUaXRsZSgpe3JldHVybiB0aGlzLnFoLmFib3V0TGlua1RpdGxlfWdldCBhYm91dExpbmtVUkkoKXtyZXR1cm4gdGhpcy5xaC5hYm91dExpbmtVUkl9dG9KU09OKCl7cmV0dXJue3RpdGxlOnRoaXMudGl0bGUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixhYm91dExpbmtUaXRsZTp0aGlzLmFib3V0TGlua1RpdGxlLGFib3V0TGlua1VSSTp0aGlzLmFib3V0TGlua1VSSX19fTtJOS5wcm90b3R5cGUudG9KU09OPUk5LnByb3RvdHlwZS50b0pTT047dmFyIEo5PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucmg9ey4uLmF9fWdldCBmbGFnQ29udGVudFVSSSgpe3JldHVybiB0aGlzLnJoLmZsYWdDb250ZW50VVJJPz9udWxsfWdldCBkaXNjbG9zdXJlVGV4dCgpe3JldHVybiB0aGlzLnJoLmRpc2Nsb3N1cmVUZXh0Pz9udWxsfWdldCBkaXNjbG9zdXJlVGV4dExhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLnJoLmRpc2Nsb3N1cmVUZXh0TGFuZ3VhZ2VDb2RlPz9udWxsfXRvSlNPTigpe3JldHVybntmbGFnQ29udGVudFVSSTp0aGlzLmZsYWdDb250ZW50VVJJLGRpc2Nsb3N1cmVUZXh0OnRoaXMuZGlzY2xvc3VyZVRleHQsZGlzY2xvc3VyZVRleHRMYW5ndWFnZUNvZGU6dGhpcy5kaXNjbG9zdXJlVGV4dExhbmd1YWdlQ29kZX19fTt2YXIgSzk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPXtjb250ZW50OmEuZ2V0Q29udGVudCgpPy5jaSgpfHxudWxsLGNvbnRlbnRMYW5ndWFnZUNvZGU6YS5nZXRDb250ZW50KCk/LnJoKCl8fG51bGwscmVmZXJlbmNlZFBsYWNlczpfLlVnKGEsNCxfLmNnKCkpLm1hcChjPT57Yz1nNihuZXcgXy5aNSxfLnRvKGMpKTtyZXR1cm4gYihjLFsiaWQiXSl9KX19Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5xaC5jb250ZW50fWdldCBjb250ZW50TGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguY29udGVudExhbmd1YWdlQ29kZX1nZXQgcmVmZXJlbmNlZFBsYWNlcygpe3JldHVybiB0aGlzLnFoLnJlZmVyZW5jZWRQbGFjZXN9dG9KU09OKCl7cmV0dXJue2NvbnRlbnQ6dGhpcy5jb250ZW50LGNvbnRlbnRMYW5ndWFnZUNvZGU6dGhpcy5jb250ZW50TGFuZ3VhZ2VDb2RlLHJlZmVyZW5jZWRQbGFjZXM6dGhpcy5yZWZlcmVuY2VkUGxhY2VzLm1hcChhPT5hLmlkKX19fTt2YXIgTDk9Y2xhc3MgZXh0ZW5kcyBKOXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKHtmbGFnQ29udGVudFVSSTpfLkgoYSw1KXx8bnVsbCxkaXNjbG9zdXJlVGV4dDpfLkFnKGEsXy5Jciw2KT8uY2koKXx8bnVsbCxkaXNjbG9zdXJlVGV4dExhbmd1YWdlQ29kZTpfLkFnKGEsXy5Jciw2KT8ucmgoKXx8bnVsbH0pO3RoaXMucWg9e292ZXJ2aWV3Ol8uU2YoYSxSOCwxKT9uZXcgSzkoXy5HKGEsUjgsMSksYik6bnVsbCxjb2ZmZWU6Xy5TZihhLFI4LDIpP25ldyBLOShfLkcoYSxSOCwyKSxiKTpudWxsLHJlc3RhdXJhbnQ6Xy5TZihhLFI4LDMpP25ldyBLOShfLkcoYSxSOCwzKSxiKTpudWxsLHN0b3JlOl8uU2YoYSxSOCw0KT9uZXcgSzkoXy5HKGEsUjgsNCksYik6bnVsbH19Z2V0IG92ZXJ2aWV3KCl7cmV0dXJuIHRoaXMucWgub3ZlcnZpZXd9Z2V0IGNvZmZlZSgpe3JldHVybiB0aGlzLnFoLmNvZmZlZX1nZXQgcmVzdGF1cmFudCgpe3JldHVybiB0aGlzLnFoLnJlc3RhdXJhbnR9Z2V0IHN0b3JlKCl7cmV0dXJuIHRoaXMucWguc3RvcmV9dG9KU09OKCl7cmV0dXJuey4uLnN1cGVyLnRvSlNPTigpLApvdmVydmlldzp0aGlzLm92ZXJ2aWV3Py50b0pTT04oKT8/bnVsbCxjb2ZmZWU6dGhpcy5jb2ZmZWU/LnRvSlNPTigpPz9udWxsLHJlc3RhdXJhbnQ6dGhpcy5yZXN0YXVyYW50Py50b0pTT04oKT8/bnVsbCxzdG9yZTp0aGlzLnN0b3JlPy50b0pTT04oKT8/bnVsbH19fTt2YXIgbkRiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucmg9Xy5LZyhhLDEpO3RoaXMucWg9Xy5DZyhhLHRCYiwyKS5tYXAoYj0+bmV3IE05KGIpKX1nZXQgY29ubmVjdG9yQ291bnQoKXtyZXR1cm4gdGhpcy5yaH1nZXQgY29ubmVjdG9yQWdncmVnYXRpb25zKCl7cmV0dXJuIHRoaXMucWh9dG9KU09OKCl7cmV0dXJue2Nvbm5lY3RvckNvdW50OnRoaXMucmgsY29ubmVjdG9yQWdncmVnYXRpb25zOnRoaXMucWgubWFwKGE9PmEudG9KU09OKCkpfX19LE05PWNsYXNze2NvbnN0cnVjdG9yKGEpe3t2YXIgYj1hLmdldFR5cGUoKTtsZXQgYz1fLnZ1Yi5nZXQoYik7Yz09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIEVWQ29ubmVjdG9yVHlwZSB2YWx1ZTogJHtifWApLGI9bnVsbCk6Yj1jPT09IkVWX0NPTk5FQ1RPUl9UWVBFX1VOU1BFQ0lGSUVEIj9udWxsOmMuc3RhcnRzV2l0aCgiRVZfQ09OTkVDVE9SX1RZUEVfIik/Yy5zbGljZSgxOCk6Y310aGlzLnhoPWI/PyJPVEhFUiI7CnRoaXMudGg9Xy5PZyhhLDIpO3RoaXMuc2g9YS5saygpO3RoaXMucmg9Xy5uaChhLDQpP18uS2coYSw0KTpudWxsO3RoaXMud2g9Xy5uaChhLDUpP18uS2coYSw1KTpudWxsO3RoaXMucWg9KGE9Xy5TZihhLF8uYnIsNik/Xy5HKGEsXy5iciw2KTpudWxsKT9uZXcgRGF0ZShOdW1iZXIoXy5RZyhhKSkqMUUzK18uS2coYSwyKS8xRTYpOm51bGx9Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy54aH1nZXQgbWF4Q2hhcmdlUmF0ZUt3KCl7cmV0dXJuIHRoaXMudGh9Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuc2h9Z2V0IGF2YWlsYWJsZUNvdW50KCl7cmV0dXJuIHRoaXMucmh9Z2V0IG91dE9mU2VydmljZUNvdW50KCl7cmV0dXJuIHRoaXMud2h9Z2V0IGF2YWlsYWJpbGl0eUxhc3RVcGRhdGVUaW1lKCl7cmV0dXJuIHRoaXMucWh9dG9KU09OKCl7cmV0dXJue3R5cGU6dGhpcy54aCxtYXhDaGFyZ2VSYXRlS3c6dGhpcy50aCxjb3VudDp0aGlzLnNoLGF2YWlsYWJsZUNvdW50OnRoaXMucmgsb3V0T2ZTZXJ2aWNlQ291bnQ6dGhpcy53aCwKYXZhaWxhYmlsaXR5TGFzdFVwZGF0ZVRpbWU6dGhpcy5xaD8udG9JU09TdHJpbmcoKT8/bnVsbH19fTtNOS5wcm90b3R5cGUudG9KU09OPU05LnByb3RvdHlwZS50b0pTT047dmFyIG9EYj12Q2IoKTtfLk9qKG9EYik7dmFyIHBEYj1fLlFqKG9EYik7dmFyIHFEYj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9e30pe3RoaXMucWg9e2Z1ZWxQcmljZXM6Xy5DZyhhLHVCYiwxKS5tYXAoYz0+bmV3IE45KGMsYikpfX1nZXQgZnVlbFByaWNlcygpe3JldHVybiB0aGlzLnFoLmZ1ZWxQcmljZXN9dG9KU09OKCl7cmV0dXJue2Z1ZWxQcmljZXM6dGhpcy5mdWVsUHJpY2VzLm1hcChhPT5hLnRvSlNPTigpKX19fSxOOT1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9e30pe3ZhciBjPWEuZ2V0VHlwZSgpO3ZhciBkPXBEYi5nZXQoYyk7ZD09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIEZ1ZWxUeXBlIHZhbHVlOiAke2N9YCksYz1udWxsKTpjPWQ9PT0iRlVFTF9UWVBFX1VOU1BFQ0lGSUVEIj9udWxsOmQ7Yj1fLlNmKGEsXy5KciwyKT9uZXcgXy5MdChfLkcoYSxfLkpyLDIpLGIpOm51bGw7aWYoXy5TZihhLF8uYnIsMykpe2Q9RGF0ZTt2YXIgZT1OdW1iZXI7dmFyIGY9Xy5HKGEsXy5iciwzKTtmPV8uUWcoZik7ZT1lKGYpKjFFMzthPV8uRyhhLF8uYnIsCjMpO2E9Xy5LZyhhLDIpO2E9bmV3IGQoZSthLzFFNil9ZWxzZSBhPW51bGw7dGhpcy5xaD17dHlwZTpjLHByaWNlOmIsdXBkYXRlVGltZTphfX1nZXQgdHlwZSgpe3JldHVybiB0aGlzLnFoLnR5cGV9Z2V0IHByaWNlKCl7cmV0dXJuIHRoaXMucWgucHJpY2V9Z2V0IHVwZGF0ZVRpbWUoKXtyZXR1cm4gdGhpcy5xaC51cGRhdGVUaW1lfXRvSlNPTigpe3JldHVybnt0eXBlOnRoaXMudHlwZSxwcmljZTp0aGlzLnByaWNlPy50b0pTT04oKT8/bnVsbCx1cGRhdGVUaW1lOnRoaXMudXBkYXRlVGltZT8udG9JU09TdHJpbmcoKT8/bnVsbH19fTtOOS5wcm90b3R5cGUudG9KU09OPU45LnByb3RvdHlwZS50b0pTT047dmFyIHJEYj1jbGFzcyBleHRlbmRzIEo5e2NvbnN0cnVjdG9yKGEpe3N1cGVyKHtkaXNjbG9zdXJlVGV4dDpfLkFnKGEsXy5Jciw2KT8uY2koKXx8bnVsbCxkaXNjbG9zdXJlVGV4dExhbmd1YWdlQ29kZTpfLkFnKGEsXy5Jciw2KT8ucmgoKXx8bnVsbCxmbGFnQ29udGVudFVSSTpfLkgoYSw0KXx8bnVsbH0pO3RoaXMuRWg9YTt0aGlzLnFoPXtvdmVydmlldzpfLkFnKGEsXy5JciwxKT8uY2koKT8/bnVsbCxvdmVydmlld0xhbmd1YWdlQ29kZTpfLkFnKGEsXy5JciwxKT8ucmgoKT8/bnVsbH19Z2V0IG92ZXJ2aWV3KCl7cmV0dXJuIHRoaXMucWgub3ZlcnZpZXd9Z2V0IG92ZXJ2aWV3TGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWgub3ZlcnZpZXdMYW5ndWFnZUNvZGV9dG9KU09OKCl7cmV0dXJuey4uLnN1cGVyLnRvSlNPTigpLG92ZXJ2aWV3OnRoaXMub3ZlcnZpZXcsb3ZlcnZpZXdMYW5ndWFnZUNvZGU6dGhpcy5vdmVydmlld0xhbmd1YWdlQ29kZX19fTt2YXIgc0RiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9Xy5IKGEsMSl8fG51bGw7dGhpcy5zaD1fLkgoYSwyKXx8bnVsbDt0aGlzLndoPV8uSChhLDMpfHxudWxsO3RoaXMudGg9Xy5IKGEsNCl8fG51bGw7dGhpcy5yaD1fLkgoYSw1KXx8bnVsbH1nZXQgZGlyZWN0aW9uc1VSSSgpe3JldHVybiB0aGlzLnFofWdldCBwbGFjZVVSSSgpe3JldHVybiB0aGlzLnNofWdldCB3cml0ZUFSZXZpZXdVUkkoKXtyZXR1cm4gdGhpcy53aH1nZXQgcmV2aWV3c1VSSSgpe3JldHVybiB0aGlzLnRofWdldCBwaG90b3NVUkkoKXtyZXR1cm4gdGhpcy5yaH10b0pTT04oKXtyZXR1cm57ZGlyZWN0aW9uc1VSSTp0aGlzLnFoLHBsYWNlVVJJOnRoaXMuc2gsd3JpdGVBUmV2aWV3VVJJOnRoaXMud2gscmV2aWV3c1VSSTp0aGlzLnRoLHBob3Rvc1VSSTp0aGlzLnJofX19O3ZhciB0RGI9Y2xhc3MgZXh0ZW5kcyBKOXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKHtmbGFnQ29udGVudFVSSTpfLkgoYSwzKXx8bnVsbCxkaXNjbG9zdXJlVGV4dDpfLkFnKGEsXy5Jciw0KT8uY2koKXx8bnVsbCxkaXNjbG9zdXJlVGV4dExhbmd1YWdlQ29kZTpfLkFnKGEsXy5Jciw0KT8ucmgoKXx8bnVsbH0pO3RoaXMuRWg9YTt0aGlzLnFoPXtvdmVydmlldzpfLlNmKHRoaXMuRWgsUjgsMSk/bmV3IEs5KF8uRyh0aGlzLkVoLFI4LDEpLGIpOm51bGwsZGVzY3JpcHRpb246Xy5TZih0aGlzLkVoLFI4LDIpP25ldyBLOShfLkcodGhpcy5FaCxSOCwyKSxiKTpudWxsfX1nZXQgb3ZlcnZpZXcoKXtyZXR1cm4gdGhpcy5xaC5vdmVydmlld31nZXQgZGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy5xaC5kZXNjcmlwdGlvbn10b0pTT04oKXtyZXR1cm57Li4uc3VwZXIudG9KU09OKCksb3ZlcnZpZXc6dGhpcy5vdmVydmlldz8udG9KU09OKCk/P251bGwsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbj8udG9KU09OKCk/PwpudWxsfX19O3ZhciBPOT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnJoPSgwLF8uT20pKF8uS2coYSwxKSk7dGhpcy5zaD0oMCxfLk9tKShfLktnKGEsMikpO3RoaXMudGg9KDAsXy5PbSkoXy5LZyhhLDMpKX1nZXQgZGF5KCl7cmV0dXJuIHRoaXMucmh9Z2V0IGhvdXIoKXtyZXR1cm4gdGhpcy5zaH1nZXQgbWludXRlKCl7cmV0dXJuIHRoaXMudGh9dG9KU09OKCl7cmV0dXJue2RheTp0aGlzLmRheSxob3VyOnRoaXMuaG91cixtaW51dGU6dGhpcy5taW51dGV9fXFoKGEsYil7dmFyIGM9bmV3IERhdGUoYSk7Yj0odGhpcy5kYXkrNykqMjQqNjArdGhpcy5ob3VyKjYwK3RoaXMubWludXRlLWI7dmFyIGQ9TWF0aC5mbG9vcihiLzE0NDApJTcsZT1iJTYwO2Muc2V0VVRDSG91cnMoTWF0aC5mbG9vcihiLzYwKSUyNCk7Yy5zZXRVVENNaW51dGVzKGUpO2Muc2V0VVRDTWlsbGlzZWNvbmRzKDApO2Muc2V0VVRDU2Vjb25kcygwKTtjLnNldFVUQ0RhdGUoYy5nZXRVVENEYXRlKCkrKGQtYy5nZXRVVENEYXkoKSkpOwpjLmdldFRpbWUoKTxhJiZjLnNldFVUQ0RhdGUoYy5nZXRVVENEYXRlKCkrNyk7cmV0dXJuIGMuZ2V0VGltZSgpfX07dmFyIHVEYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXtfLk5tKCJvcGVuIikoe29wZW46Xy5TZihhLFA4LDEpP18uRyhhLFA4LDEpOm51bGx9KTt0aGlzLnFoPXtjbG9zZTpfLlNmKGEsUDgsMik/bmV3IE85KF8uRyhhLFA4LDIpKTpudWxsLFVPOm5ldyBPOShfLkcoYSxQOCwxKSl9fWdldCBjbG9zZSgpe3JldHVybiB0aGlzLnFoLmNsb3NlfWdldCBvcGVuKCl7cmV0dXJuIHRoaXMucWguVU99dG9KU09OKCl7dmFyIGE9e29wZW46dGhpcy5vcGVuLnRvSlNPTigpfTt0aGlzLmNsb3NlJiYoYS5jbG9zZT10aGlzLmNsb3NlLnRvSlNPTigpKTtyZXR1cm4gYX19O3ZhciBQOT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPXtwZXJpb2RzOl8uQ2coYSx2QmIsMikubWFwKGI9Pm5ldyB1RGIoYikpLHdlZWtkYXlEZXNjcmlwdGlvbnM6Xy5VZyhhLDMsXy5jZygpKS5zbGljZSgpLHNwZWNpYWxEYXlzOl8uQ2coYSx3QmIsNSkubWFwKGI9PntiPV8uRyhiLGU4LDEpO3JldHVybiBuZXcgRGF0ZShEYXRlLlVUQyhfLktnKGIsMSksXy5LZyhiLDIpLTEsXy5LZyhiLDMpKSl9KX19Z2V0IHBlcmlvZHMoKXtyZXR1cm4gdGhpcy5xaC5wZXJpb2RzfWdldCB3ZWVrZGF5RGVzY3JpcHRpb25zKCl7cmV0dXJuIHRoaXMucWgud2Vla2RheURlc2NyaXB0aW9uc31nZXQgc3BlY2lhbERheXMoKXtyZXR1cm4gdGhpcy5xaC5zcGVjaWFsRGF5c310b0pTT04oKXtyZXR1cm57cGVyaW9kczp0aGlzLnBlcmlvZHMubWFwKGE9PmEudG9KU09OKCkpLHdlZWtkYXlEZXNjcmlwdGlvbnM6dGhpcy53ZWVrZGF5RGVzY3JpcHRpb25zLnNsaWNlKDApLHNwZWNpYWxEYXlzOnRoaXMuc3BlY2lhbERheXMubWFwKGE9PgphLnRvSlNPTigpKX19fTt2YXIgUTk9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD17aGFzRnJlZVBhcmtpbmdMb3Q6YS5oYXNGcmVlUGFya2luZ0xvdCgpP18uSmcoYSwxKTpudWxsLGhhc1BhaWRQYXJraW5nTG90OmEuaGFzUGFpZFBhcmtpbmdMb3QoKT9fLkpnKGEsMik6bnVsbCxoYXNGcmVlU3RyZWV0UGFya2luZzphLmhhc0ZyZWVTdHJlZXRQYXJraW5nKCk/Xy5KZyhhLDMpOm51bGwsaGFzUGFpZFN0cmVldFBhcmtpbmc6YS5oYXNQYWlkU3RyZWV0UGFya2luZygpP18uSmcoYSw0KTpudWxsLGhhc1ZhbGV0UGFya2luZzphLmhhc1ZhbGV0UGFya2luZygpP18uSmcoYSw1KTpudWxsLGhhc0ZyZWVHYXJhZ2VQYXJraW5nOmEuaGFzRnJlZUdhcmFnZVBhcmtpbmcoKT9fLkpnKGEsNik6bnVsbCxoYXNQYWlkR2FyYWdlUGFya2luZzphLmhhc1BhaWRHYXJhZ2VQYXJraW5nKCk/Xy5KZyhhLDcpOm51bGx9fWdldCBoYXNGcmVlUGFya2luZ0xvdCgpe3JldHVybiB0aGlzLnFoLmhhc0ZyZWVQYXJraW5nTG90fWdldCBoYXNQYWlkUGFya2luZ0xvdCgpe3JldHVybiB0aGlzLnFoLmhhc1BhaWRQYXJraW5nTG90fWdldCBoYXNGcmVlU3RyZWV0UGFya2luZygpe3JldHVybiB0aGlzLnFoLmhhc0ZyZWVTdHJlZXRQYXJraW5nfWdldCBoYXNQYWlkU3RyZWV0UGFya2luZygpe3JldHVybiB0aGlzLnFoLmhhc1BhaWRTdHJlZXRQYXJraW5nfWdldCBoYXNWYWxldFBhcmtpbmcoKXtyZXR1cm4gdGhpcy5xaC5oYXNWYWxldFBhcmtpbmd9Z2V0IGhhc0ZyZWVHYXJhZ2VQYXJraW5nKCl7cmV0dXJuIHRoaXMucWguaGFzRnJlZUdhcmFnZVBhcmtpbmd9Z2V0IGhhc1BhaWRHYXJhZ2VQYXJraW5nKCl7cmV0dXJuIHRoaXMucWguaGFzUGFpZEdhcmFnZVBhcmtpbmd9dG9KU09OKCl7cmV0dXJue2hhc0ZyZWVQYXJraW5nTG90OnRoaXMuaGFzRnJlZVBhcmtpbmdMb3QsCmhhc1BhaWRQYXJraW5nTG90OnRoaXMuaGFzUGFpZFBhcmtpbmdMb3QsaGFzRnJlZVN0cmVldFBhcmtpbmc6dGhpcy5oYXNGcmVlU3RyZWV0UGFya2luZyxoYXNQYWlkU3RyZWV0UGFya2luZzp0aGlzLmhhc1BhaWRTdHJlZXRQYXJraW5nLGhhc1ZhbGV0UGFya2luZzp0aGlzLmhhc1ZhbGV0UGFya2luZyxoYXNGcmVlR2FyYWdlUGFya2luZzp0aGlzLmhhc0ZyZWVHYXJhZ2VQYXJraW5nLGhhc1BhaWRHYXJhZ2VQYXJraW5nOnRoaXMuaGFzUGFpZEdhcmFnZVBhcmtpbmd9fX07UTkucHJvdG90eXBlLnRvSlNPTj1ROS5wcm90b3R5cGUudG9KU09OO3ZhciBSOT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPXthY2NlcHRzQ3JlZGl0Q2FyZHM6Xy5DdShhLDEpP18uSmcoYSwxKTpudWxsLGFjY2VwdHNEZWJpdENhcmRzOl8uQ3UoYSwyKT9fLkpnKGEsMik6bnVsbCxhY2NlcHRzQ2FzaE9ubHk6Xy5DdShhLDMpP18uSmcoYSwzKTpudWxsLGFjY2VwdHNORkM6Xy5DdShhLDQpP18uSmcoYSw0KTpudWxsfX1nZXQgYWNjZXB0c0NyZWRpdENhcmRzKCl7cmV0dXJuIHRoaXMucWguYWNjZXB0c0NyZWRpdENhcmRzfWdldCBhY2NlcHRzRGViaXRDYXJkcygpe3JldHVybiB0aGlzLnFoLmFjY2VwdHNEZWJpdENhcmRzfWdldCBhY2NlcHRzQ2FzaE9ubHkoKXtyZXR1cm4gdGhpcy5xaC5hY2NlcHRzQ2FzaE9ubHl9Z2V0IGFjY2VwdHNORkMoKXtyZXR1cm4gdGhpcy5xaC5hY2NlcHRzTkZDfXRvSlNPTigpe3JldHVybnthY2NlcHRzQ3JlZGl0Q2FyZHM6dGhpcy5hY2NlcHRzQ3JlZGl0Q2FyZHMsYWNjZXB0c0RlYml0Q2FyZHM6dGhpcy5hY2NlcHRzRGViaXRDYXJkcywKYWNjZXB0c0Nhc2hPbmx5OnRoaXMuYWNjZXB0c0Nhc2hPbmx5LGFjY2VwdHNOZmM6dGhpcy5hY2NlcHRzTkZDfX19O1I5LnByb3RvdHlwZS50b0pTT049UjkucHJvdG90eXBlLnRvSlNPTjt2YXIgUzk9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD17ZGlzcGxheU5hbWU6YS5VaSgpLHBob3RvVVJJOl8uSChhLDMpP18uSChhLDMpOm51bGwsdXJpOl8uSChhLDIpP18uSChhLDIpOm51bGx9fWdldCBkaXNwbGF5TmFtZSgpe3JldHVybiB0aGlzLnFoLmRpc3BsYXlOYW1lfWdldCB1cmkoKXtyZXR1cm4gdGhpcy5xaC51cml9Z2V0IHBob3RvVVJJKCl7cmV0dXJuIHRoaXMucWgucGhvdG9VUkl9dG9KU09OKCl7cmV0dXJue2Rpc3BsYXlOYW1lOnRoaXMuZGlzcGxheU5hbWUsdXJpOnRoaXMudXJpLHBob3RvVVJJOnRoaXMucGhvdG9VUkl9fX07dmFyIFQ5PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e25hbWU6KDAsXy5kcykoYS5nZXROYW1lKCkpLGF1dGhvckF0dHJpYnV0aW9uczpfLkNnKGEsZDgsNCkubWFwKGI9Pm5ldyBTOShiKSksaGVpZ2h0UHg6Xy5LZyhhLDMpLHdpZHRoUHg6Xy5LZyhhLDIpLGZsYWdDb250ZW50VVJJOl8uSChhLDUpfHxudWxsLGdvb2dsZU1hcHNVUkk6Xy5IKGEsNil8fG51bGx9fWdldCBhdXRob3JBdHRyaWJ1dGlvbnMoKXtyZXR1cm4gdGhpcy5xaC5hdXRob3JBdHRyaWJ1dGlvbnN9Z2V0IGhlaWdodFB4KCl7cmV0dXJuIHRoaXMucWguaGVpZ2h0UHh9Z2V0IHdpZHRoUHgoKXtyZXR1cm4gdGhpcy5xaC53aWR0aFB4fWdldCBuYW1lKCl7cmV0dXJuIHRoaXMucWgubmFtZX1nZXRVUkkoYT17fSl7dmFyIGI9YS5tYXhXaWR0aDthPWEubWF4SGVpZ2h0O2J8fGF8fChiPXRoaXMud2lkdGhQeCk7YiYmKGI9TWF0aC5tYXgoYiwwKSk7YSYmKGE9TWF0aC5tYXgoYSwwKSk7dmFyIGM9dGhpcy5xaC5uYW1lLnNwbGl0KCIvIiksCmQ9Y1sxXSxlPWNbM107Yz1fLkpsLnRoKCk7ZD1uZXcgVVJMKGBodHRwczovL3BsYWNlcy5nb29nbGVhcGlzLmNvbS92MS9wbGFjZXMvJHtkfS9waG90b3MvJHtlfS9tZWRpYT9gKTtiJiZkLnNlYXJjaFBhcmFtcy5hcHBlbmQoIm1heFdpZHRoUHgiLGIudG9TdHJpbmcoKSk7YSYmZC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJtYXhIZWlnaHRQeCIsYS50b1N0cmluZygpKTtkLnNlYXJjaFBhcmFtcy5hcHBlbmQoImtleSIsZW5jb2RlVVJJQ29tcG9uZW50KGMpKTtyZXR1cm4gZC50b1N0cmluZygpfWdldCBmbGFnQ29udGVudFVSSSgpe3JldHVybiB0aGlzLnFoLmZsYWdDb250ZW50VVJJfWdldCBnb29nbGVNYXBzVVJJKCl7cmV0dXJuIHRoaXMucWguZ29vZ2xlTWFwc1VSSX10b0pTT04oKXtyZXR1cm57YXV0aG9yQXR0cmlidXRpb25zOnRoaXMuYXV0aG9yQXR0cmlidXRpb25zLm1hcChhPT5hLnRvSlNPTigpKSxoZWlnaHRQeDp0aGlzLmhlaWdodFB4LHdpZHRoUHg6dGhpcy53aWR0aFB4LApmbGFnQ29udGVudFVSSTp0aGlzLmZsYWdDb250ZW50VVJJLGdvb2dsZU1hcHNVUkk6dGhpcy5nb29nbGVNYXBzVVJJLG5hbWU6dGhpcy5uYW1lfX19O1Q5LnByb3RvdHlwZS5nZXRVUkk9VDkucHJvdG90eXBlLmdldFVSSTt2YXIgVzc9bmV3IE1hcChbWyJhY2Nlc3NpYmlsaXR5T3B0aW9ucyIsImFjY2Vzc2liaWxpdHlfb3B0aW9ucyJdLFsiYWRkcmVzc0NvbXBvbmVudHMiLCJhZGRyZXNzX2NvbXBvbmVudHMiXSxbImFkckZvcm1hdEFkZHJlc3MiLCJhZHJfZm9ybWF0X2FkZHJlc3MiXSxbImF0dHJpYnV0aW9ucyIsImF0dHJpYnV0aW9ucyJdLFsiYnVzaW5lc3NTdGF0dXMiLCJidXNpbmVzc19zdGF0dXMiXSxbImRpc3BsYXlOYW1lIiwiZGlzcGxheV9uYW1lIl0sWyJkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSIsImRpc3BsYXlfbmFtZSJdLFsiZm9ybWF0dGVkQWRkcmVzcyIsImZvcm1hdHRlZF9hZGRyZXNzIl0sWyJzaG9ydEZvcm1hdHRlZEFkZHJlc3MiLCJzaG9ydF9mb3JtYXR0ZWRfYWRkcmVzcyJdLFsiZ29vZ2xlTWFwc1VSSSIsImdvb2dsZV9tYXBzX3VyaSJdLFsiaGFzQ3VyYnNpZGVQaWNrdXAiLCJjdXJic2lkZV9waWNrdXAiXSxbImhhc0RlbGl2ZXJ5IiwiZGVsaXZlcnkiXSxbImhhc0RpbmVJbiIsCiJkaW5lX2luIl0sWyJoYXNUYWtlb3V0IiwidGFrZW91dCJdLFsiaXNSZXNlcnZhYmxlIiwicmVzZXJ2YWJsZSJdLFsic2VydmVzQnJlYWtmYXN0Iiwic2VydmVzX2JyZWFrZmFzdCJdLFsic2VydmVzTHVuY2giLCJzZXJ2ZXNfbHVuY2giXSxbInNlcnZlc0Rpbm5lciIsInNlcnZlc19kaW5uZXIiXSxbInNlcnZlc0JlZXIiLCJzZXJ2ZXNfYmVlciJdLFsic2VydmVzV2luZSIsInNlcnZlc193aW5lIl0sWyJzZXJ2ZXNCcnVuY2giLCJzZXJ2ZXNfYnJ1bmNoIl0sWyJzZXJ2ZXNWZWdldGFyaWFuRm9vZCIsInNlcnZlc192ZWdldGFyaWFuX2Zvb2QiXSxbImljb25CYWNrZ3JvdW5kQ29sb3IiLCJpY29uX2JhY2tncm91bmRfY29sb3IiXSxbInN2Z0ljb25NYXNrVVJJIiwiaWNvbl9tYXNrX2Jhc2VfdXJpIl0sWyJpZCIsImlkIl0sWyJyZXNvdXJjZU5hbWUiLCJuYW1lIl0sWyJpbnRlcm5hdGlvbmFsUGhvbmVOdW1iZXIiLCJpbnRlcm5hdGlvbmFsX3Bob25lX251bWJlciJdLFsibG9jYXRpb24iLAoibG9jYXRpb24iXSxbIm5hdGlvbmFsUGhvbmVOdW1iZXIiLCJuYXRpb25hbF9waG9uZV9udW1iZXIiXSxbInJlZ3VsYXJPcGVuaW5nSG91cnMiLCJyZWd1bGFyX29wZW5pbmdfaG91cnMiXSxbImN1cnJlbnRPcGVuaW5nSG91cnMiLCJjdXJyZW50X29wZW5pbmdfaG91cnMiXSxbInJlZ3VsYXJTZWNvbmRhcnlPcGVuaW5nSG91cnMiLCJyZWd1bGFyX3NlY29uZGFyeV9vcGVuaW5nX2hvdXJzIl0sWyJjdXJyZW50U2Vjb25kYXJ5T3BlbmluZ0hvdXJzIiwiY3VycmVudF9zZWNvbmRhcnlfb3BlbmluZ19ob3VycyJdLFsicGFya2luZ09wdGlvbnMiLCJwYXJraW5nX29wdGlvbnMiXSxbInBheW1lbnRPcHRpb25zIiwicGF5bWVudF9vcHRpb25zIl0sWyJwaG90b3MiLCJwaG90b3MiXSxbInBsdXNDb2RlIiwicGx1c19jb2RlIl0sWyJwb3N0YWxBZGRyZXNzIiwicG9zdGFsX2FkZHJlc3MiXSxbInByaWNlTGV2ZWwiLCJwcmljZV9sZXZlbCJdLFsicmF0aW5nIiwicmF0aW5nIl0sWyJyZXZpZXdzIiwKInJldmlld3MiXSxbInR5cGVzIiwidHlwZXMiXSxbInVzZXJSYXRpbmdDb3VudCIsInVzZXJfcmF0aW5nX2NvdW50Il0sWyJ1dGNPZmZzZXRNaW51dGVzIiwidXRjX29mZnNldF9taW51dGVzIl0sWyJ2aWV3cG9ydCIsInZpZXdwb3J0Il0sWyJ3ZWJzaXRlVVJJIiwid2Vic2l0ZV91cmkiXSxbImVkaXRvcmlhbFN1bW1hcnkiLCJlZGl0b3JpYWxfc3VtbWFyeSJdLFsiZWRpdG9yaWFsU3VtbWFyeUxhbmd1YWdlQ29kZSIsImVkaXRvcmlhbF9zdW1tYXJ5Il0sWyJnZW5lcmF0aXZlU3VtbWFyeSIsImdlbmVyYXRpdmVfc3VtbWFyeSJdLFsicmV2aWV3U3VtbWFyeSIsInJldmlld19zdW1tYXJ5Il0sWyJldkNoYXJnZUFtZW5pdHlTdW1tYXJ5IiwiZXZfY2hhcmdlX2FtZW5pdHlfc3VtbWFyeSJdLFsibmVpZ2hib3Job29kU3VtbWFyeSIsIm5laWdoYm9yaG9vZF9zdW1tYXJ5Il0sWyJhbGxvd3NEb2dzIiwiYWxsb3dzX2RvZ3MiXSxbImhhc0xpdmVNdXNpYyIsImxpdmVfbXVzaWMiXSxbImhhc01lbnVGb3JDaGlsZHJlbiIsCiJtZW51X2Zvcl9jaGlsZHJlbiJdLFsiaGFzT3V0ZG9vclNlYXRpbmciLCJvdXRkb29yX3NlYXRpbmciXSxbImhhc1Jlc3Ryb29tIiwicmVzdHJvb20iXSxbImhhc1dpRmkiLCJ3aWZpIl0sWyJpc0dvb2RGb3JDaGlsZHJlbiIsImdvb2RfZm9yX2NoaWxkcmVuIl0sWyJpc0dvb2RGb3JHcm91cHMiLCJnb29kX2Zvcl9ncm91cHMiXSxbImlzR29vZEZvcldhdGNoaW5nU3BvcnRzIiwiZ29vZF9mb3Jfd2F0Y2hpbmdfc3BvcnRzIl0sWyJzZXJ2ZXNDb2NrdGFpbHMiLCJzZXJ2ZXNfY29ja3RhaWxzIl0sWyJzZXJ2ZXNDb2ZmZWUiLCJzZXJ2ZXNfY29mZmVlIl0sWyJzZXJ2ZXNEZXNzZXJ0Iiwic2VydmVzX2Rlc3NlcnQiXSxbInByaW1hcnlUeXBlIiwicHJpbWFyeV90eXBlIl0sWyJwcmltYXJ5VHlwZURpc3BsYXlOYW1lIiwicHJpbWFyeV90eXBlX2Rpc3BsYXlfbmFtZSJdLFsicHJpbWFyeVR5cGVEaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSIsInByaW1hcnlfdHlwZV9kaXNwbGF5X25hbWUiXSwKWyJldkNoYXJnZU9wdGlvbnMiLCJldl9jaGFyZ2Vfb3B0aW9ucyJdLFsiZnVlbE9wdGlvbnMiLCJmdWVsX29wdGlvbnMiXSxbInByaWNlUmFuZ2UiLCJwcmljZV9yYW5nZSJdLFsiZ29vZ2xlTWFwc0xpbmtzIiwiZ29vZ2xlX21hcHNfbGlua3MiXSxbImNvbnN1bWVyQWxlcnQiLCJjb25zdW1lcl9hbGVydCJdLFsidGltZVpvbmUiLCJ0aW1lX3pvbmUiXSxbImNvbnRhaW5pbmdQbGFjZXMiLCJjb250YWluaW5nX3BsYWNlcyJdLFsiaXNQdXJlU2VydmljZUFyZWFCdXNpbmVzcyIsInB1cmVfc2VydmljZV9hcmVhX2J1c2luZXNzIl0sWyJzdWJEZXN0aW5hdGlvbnMiLCJzdWJfZGVzdGluYXRpb25zIl0sWyJwb3B1bGFyVGltZXMiLCJwb3B1bGFyX3RpbWVzIl0sWyJhZGRyZXNzRGVzY3JpcHRvciIsImFkZHJlc3NfZGVzY3JpcHRvciJdLFsiZnV0dXJlT3BlbmluZ0RhdGUiLCJvcGVuaW5nX2RhdGUiXV0pO1c3LnNldCgidHJhbnNpdFN0YXRpb24iLCJ0cmFuc2l0X3N0YXRpb24iKTsKdmFyIHZEYj1uZXcgU2V0KFsicG9wdWxhclRpbWVzIl0pLEM3PU9iamVjdC5mcmVlemUoQXJyYXkuZnJvbShXNy5rZXlzKCkpKSxiOD1PYmplY3QuZnJlZXplKEM3LmZpbHRlcihhPT4hdkRiLmhhcyhhKSkpO3ZhciB3RGI9ekNiKCk7Xy5Paih3RGIpO3ZhciB4RGI9Xy5Raih3RGIpO3ZhciB5RGI9QUNiKCk7Xy5Paih5RGIpO3ZhciB6RGI9Xy5Raih5RGIpO3ZhciBBRGI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9Xy5LZyhhLDEpLGM9Xy5uaChhLDIpP18uS2coYSwyKTpudWxsO2lmKF8uSWcoYSwzKSE9bnVsbCl7dmFyIGQ9Xy5QZyhhLDMpO3ZhciBlPXhEYi5nZXQoZCk7ZT09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIEhpc3RvcmljYWxQb3B1bGFyVGltZXNTdGF0ZSB2YWx1ZTogJHtkfWApLGQ9bnVsbCk6ZD1lPT09IkhJU1RPUklDQUxfUE9QVUxBUl9USU1FU19TVEFURV9VTlNQRUNJRklFRCI/bnVsbDplfWVsc2UgZD1udWxsO2U9Xy5uaChhLDQpP18uS2coYSw0KSo2RTQ6bnVsbDtpZihfLklnKGEsNSkhPW51bGwpe3t2YXIgZj1fLlBnKGEsNSk7bGV0IGc9ekRiLmdldChmKTtnPT09dm9pZCAwPyhjb25zb2xlLndhcm4oYFVua25vd24gTGl2ZVBvcHVsYXJUaW1lc1N0YXRlIHZhbHVlOiAke2Z9YCksZj1udWxsKTpmPWc9PT0iTElWRV9QT1BVTEFSX1RJTUVTX1NUQVRFX1VOU1BFQ0lGSUVEIj9udWxsOmd9fWVsc2UgZj0KbnVsbDt0aGlzLnFoPXtob3VyOmIsSkI6YyxZQTpkLGdDOmUsTHk6ZixyQjpfLm5oKGEsNik/Xy5LZyhhLDYpOm51bGx9fWdldCBob3VyKCl7cmV0dXJuIHRoaXMucWguaG91cn1nZXQgSkIoKXtyZXR1cm4gdGhpcy5xaC5KQn1nZXQgWUEoKXtyZXR1cm4gdGhpcy5xaC5ZQX1nZXQgZ0MoKXtyZXR1cm4gdGhpcy5xaC5nQ31nZXQgTHkoKXtyZXR1cm4gdGhpcy5xaC5MeX1nZXQgckIoKXtyZXR1cm4gdGhpcy5xaC5yQn10b0pTT04oKXtyZXR1cm57aG91cjp0aGlzLmhvdXIscG9wdWxhclRpbWVzVmFsdWU6dGhpcy5KQixoaXN0b3JpY2FsUG9wdWxhclRpbWVzU3RhdGU6dGhpcy5ZQSx3YWl0TWlsbGlzOnRoaXMuZ0MsbGl2ZVBvcHVsYXJUaW1lc1N0YXRlOnRoaXMuTHksbGl2ZVBvcHVsYXJUaW1lc05vcm1hbGl6ZWRPY2N1cGFuY3k6dGhpcy5yQn19fTt2YXIgQkRiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e2hvdXJzOl8uS2coYSwxKT8/bnVsbCxtaW51dGVzOl8uS2coYSwyKT8/bnVsbCxlRjpfLktnKGEsMyk/P251bGwsbmFub3M6Xy5LZyhhLDQpPz9udWxsfX1nZXQgaG91cnMoKXtyZXR1cm4gdGhpcy5xaC5ob3Vyc31nZXQgbWludXRlcygpe3JldHVybiB0aGlzLnFoLm1pbnV0ZXN9Z2V0IGVGKCl7cmV0dXJuIHRoaXMucWguZUZ9Z2V0IG5hbm9zKCl7cmV0dXJuIHRoaXMucWgubmFub3N9dG9KU09OKCl7cmV0dXJue2hvdXJzOnRoaXMuaG91cnMsbWludXRlczp0aGlzLm1pbnV0ZXMsc2Vjb25kczp0aGlzLmVGLG5hbm9zOnRoaXMubmFub3N9fX0sQ0RiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e0VzOigwLF8uT20pKF8uUGcoYSwxKSU3KSxhQjpfLkNnKGEsUkJiLDIpLm1hcChiPT5uZXcgQURiKGIpKSxGQjpfLm5oKGEsMyk/Xy5LZyhhLDMpKjZFNDpudWxsLEhCOl8uU2YoYSxPOCw0KT9uZXcgQkRiKF8uRyhhLApPOCw0KSk6bnVsbCxHQjpfLlNmKGEsTzgsNSk/bmV3IEJEYihfLkcoYSxPOCw1KSk6bnVsbH19Z2V0IEVzKCl7cmV0dXJuIHRoaXMucWguRXN9Z2V0IGFCKCl7cmV0dXJuIHRoaXMucWguYUJ9Z2V0IEZCKCl7cmV0dXJuIHRoaXMucWguRkJ9Z2V0IEhCKCl7cmV0dXJuIHRoaXMucWguSEJ9Z2V0IEdCKCl7cmV0dXJuIHRoaXMucWguR0J9dG9KU09OKCl7cmV0dXJue2RheU9mV2Vlazp0aGlzLkVzLGhvdXJseVBvcHVsYXJUaW1lc0xpc3Q6dGhpcy5hQi5tYXAoYT0+YS50b0pTT04oKSkscGVha1dhaXREdXJhdGlvbk1pbGxpczp0aGlzLkZCLHBlYWtXYWl0U3RhcnRUaW1lOnRoaXMuSEI/LnRvSlNPTigpPz9udWxsLHBlYWtXYWl0RW5kVGltZTp0aGlzLkdCPy50b0pTT04oKT8/bnVsbH19fTt2YXIgRERiPUJDYigpO18uT2ooRERiKTt2YXIgRURiPV8uUWooRERiKTt2YXIgRkRiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8ubmgoYSwxKT9fLktnKGEsMSkqNkU0Om51bGwsYz1fLm5oKGEsMik/Xy5LZyhhLDIpKjZFNDpudWxsLGQ9Xy5uaChhLDMpP18uS2coYSwzKSo2RTQ6bnVsbDtpZihfLklnKGEsNCkhPW51bGwpe3thPV8uUGcoYSw0KTtsZXQgZT1FRGIuZ2V0KGEpO2U9PT12b2lkIDA/KGNvbnNvbGUud2FybihgVW5rbm93biBQb3B1bGFyVGltZXNEdXJhdGlvblNvdXJjZSB2YWx1ZTogJHthfWApLGE9bnVsbCk6YT1lPT09IlBPUFVMQVJfVElNRVNfRFVSQVRJT05fU09VUkNFX1VOU1BFQ0lGSUVEIj9udWxsOmV9fWVsc2UgYT1udWxsO3RoaXMucWg9e3JFOmIsb0U6YyxwRTpkLHNvdXJjZTphfX1nZXQgckUoKXtyZXR1cm4gdGhpcy5xaC5yRX1nZXQgb0UoKXtyZXR1cm4gdGhpcy5xaC5vRX1nZXQgcEUoKXtyZXR1cm4gdGhpcy5xaC5wRX1nZXQgc291cmNlKCl7cmV0dXJuIHRoaXMucWguc291cmNlfXRvSlNPTigpe3JldHVybnttaW5pbXVtVGltZU1pbGxpczp0aGlzLnJFLAptYXhpbXVtVGltZU1pbGxpczp0aGlzLm9FLG1lZGlhblRpbWVNaWxsaXM6dGhpcy5wRSxzb3VyY2U6dGhpcy5zb3VyY2V9fX07dmFyIEdEYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPXtPcDpfLkNnKGEsU0JiLDEpLm1hcChiPT5uZXcgQ0RiKGIpKSxaQTpfLlNmKGEsVEJiLDIpP25ldyBGRGIoXy5HKGEsVEJiLDIpKTpudWxsfX1nZXQgT3AoKXtyZXR1cm4gdGhpcy5xaC5PcH1nZXQgWkEoKXtyZXR1cm4gdGhpcy5xaC5aQX10b0pTT04oKXtyZXR1cm57ZGFpbHlQb3B1bGFyVGltZXNMaXN0OnRoaXMuT3AubWFwKGE9PmEudG9KU09OKCkpLGhpc3RvcmljYWxUaW1lU3BlbnQ6dGhpcy5aQT90aGlzLlpBLnRvSlNPTigpOm51bGx9fX07dmFyIEhEYj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9e30pe3RoaXMucmg9bmV3IF8uTHQoXy5HKGEsXy5KciwxKSxiKTt0aGlzLnFoPV8uU2YoYSxfLkpyLDIpP25ldyBfLkx0KF8uRyhhLF8uSnIsMiksYik6bnVsbH1nZXQgc3RhcnRQcmljZSgpe3JldHVybiB0aGlzLnJofWdldCBlbmRQcmljZSgpe3JldHVybiB0aGlzLnFofXRvSlNPTigpe3JldHVybntzdGFydFByaWNlOnRoaXMucmgudG9KU09OKCksZW5kUHJpY2U6dGhpcy5xaD8udG9KU09OKCk/P251bGx9fX07dmFyIGY4PWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPV8uU2YoYSxfLmJyLDE0KT9fLkcoYSxfLmJyLDE0KTpudWxsLGM9Xy5BZyhhLGU4LDE3KTt0aGlzLnFoPXthdXRob3JBdHRyaWJ1dGlvbjpfLlNmKGEsZDgsMTMpP25ldyBTOShfLkcoYSxkOCwxMykpOm51bGwscHVibGlzaFRpbWU6Yj9uZXcgRGF0ZShOdW1iZXIoXy5RZyhiKSkqMUUzK18uS2coYiwyKS8xRTYpOm51bGwscmVsYXRpdmVQdWJsaXNoVGltZURlc2NyaXB0aW9uOl8uSChhLDIpP18uSChhLDIpOm51bGwscmF0aW5nOl8uT2coYSw3KT9fLk9nKGEsNyk6bnVsbCx2aXNpdERhdGVZZWFyOmMmJl8uS2coYywxKXx8bnVsbCx2aXNpdERhdGVNb250aDpjJiZfLktnKGMsMik/Xy5LZyhjLDIpLTE6bnVsbCx0ZXh0OmEuY2koKT8uY2koKT8/bnVsbCx0ZXh0TGFuZ3VhZ2VDb2RlOmEuY2koKT8ucmgoKT8/bnVsbCxvcmlnaW5hbFRleHQ6Xy5BZyhhLF8uSXIsMTIpPy5jaSgpPz9udWxsLG9yaWdpbmFsVGV4dExhbmd1YWdlQ29kZTpfLkFnKGEsCl8uSXIsMTIpPy5yaCgpPz9udWxsLGZsYWdDb250ZW50VVJJOl8uSChhLDE1KT9fLkgoYSwxNSk6bnVsbCxnb29nbGVNYXBzVVJJOl8uSChhLDE2KT9fLkgoYSwxNik6bnVsbH19Z2V0IGF1dGhvckF0dHJpYnV0aW9uKCl7cmV0dXJuIHRoaXMucWguYXV0aG9yQXR0cmlidXRpb259Z2V0IHB1Ymxpc2hUaW1lKCl7cmV0dXJuIHRoaXMucWgucHVibGlzaFRpbWV9Z2V0IHJlbGF0aXZlUHVibGlzaFRpbWVEZXNjcmlwdGlvbigpe3JldHVybiB0aGlzLnFoLnJlbGF0aXZlUHVibGlzaFRpbWVEZXNjcmlwdGlvbn1nZXQgcmF0aW5nKCl7cmV0dXJuIHRoaXMucWgucmF0aW5nfWdldCB2aXNpdERhdGVZZWFyKCl7cmV0dXJuIHRoaXMucWgudmlzaXREYXRlWWVhcn1nZXQgdmlzaXREYXRlTW9udGgoKXtyZXR1cm4gdGhpcy5xaC52aXNpdERhdGVNb250aH1nZXQgdGV4dCgpe3JldHVybiB0aGlzLnFoLnRleHR9Z2V0IHRleHRMYW5ndWFnZUNvZGUoKXtyZXR1cm4gdGhpcy5xaC50ZXh0TGFuZ3VhZ2VDb2RlfWdldCBvcmlnaW5hbFRleHQoKXtyZXR1cm4gdGhpcy5xaC5vcmlnaW5hbFRleHR9Z2V0IG9yaWdpbmFsVGV4dExhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLnFoLm9yaWdpbmFsVGV4dExhbmd1YWdlQ29kZX1nZXQgZmxhZ0NvbnRlbnRVUkkoKXtyZXR1cm4gdGhpcy5xaC5mbGFnQ29udGVudFVSSX1nZXQgZ29vZ2xlTWFwc1VSSSgpe3JldHVybiB0aGlzLnFoLmdvb2dsZU1hcHNVUkl9dG9KU09OKCl7cmV0dXJue2F1dGhvckF0dHJpYnV0aW9uOnRoaXMuYXV0aG9yQXR0cmlidXRpb24mJgp0aGlzLmF1dGhvckF0dHJpYnV0aW9uLnRvSlNPTigpLHB1Ymxpc2hUaW1lOnRoaXMucHVibGlzaFRpbWU/LnRvSVNPU3RyaW5nKCk/P251bGwscmVsYXRpdmVQdWJsaXNoVGltZURlc2NyaXB0aW9uOnRoaXMucmVsYXRpdmVQdWJsaXNoVGltZURlc2NyaXB0aW9uLHJhdGluZzp0aGlzLnJhdGluZyx2aXNpdERhdGVZZWFyOnRoaXMudmlzaXREYXRlWWVhcix2aXNpdERhdGVNb250aDp0aGlzLnZpc2l0RGF0ZU1vbnRoLHRleHQ6dGhpcy50ZXh0LHRleHRMYW5ndWFnZUNvZGU6dGhpcy50ZXh0TGFuZ3VhZ2VDb2RlLG9yaWdpbmFsVGV4dDp0aGlzLm9yaWdpbmFsVGV4dCxvcmlnaW5hbFRleHRMYW5ndWFnZUNvZGU6dGhpcy5vcmlnaW5hbFRleHRMYW5ndWFnZUNvZGUsZmxhZ0NvbnRlbnRVUkk6dGhpcy5mbGFnQ29udGVudFVSSSxnb29nbGVNYXBzVVJJOnRoaXMuZ29vZ2xlTWFwc1VSSX19fTt2YXIgSURiPWNsYXNzIGV4dGVuZHMgSjl7Y29uc3RydWN0b3IoYSl7c3VwZXIoe2ZsYWdDb250ZW50VVJJOl8uSChhLDIpfHxudWxsLGRpc2Nsb3N1cmVUZXh0Ol8uQWcoYSxfLklyLDMpPy5jaSgpfHxudWxsLGRpc2Nsb3N1cmVUZXh0TGFuZ3VhZ2VDb2RlOl8uQWcoYSxfLklyLDMpPy5yaCgpfHxudWxsfSk7dGhpcy5FaD1hO3RoaXMucWg9e3RleHQ6YS5jaSgpPy5jaSgpPz9udWxsLHRleHRMYW5ndWFnZUNvZGU6YS5jaSgpPy5yaCgpPz9udWxsLHJldmlld3NVUkk6Xy5IKGEsNCl8fG51bGx9fWdldCB0ZXh0KCl7cmV0dXJuIHRoaXMucWgudGV4dH1nZXQgdGV4dExhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLnFoLnRleHRMYW5ndWFnZUNvZGV9Z2V0IHJldmlld3NVUkkoKXtyZXR1cm4gdGhpcy5xaC5yZXZpZXdzVVJJfXRvSlNPTigpe3JldHVybnsuLi5zdXBlci50b0pTT04oKSx0ZXh0OnRoaXMudGV4dCx0ZXh0TGFuZ3VhZ2VDb2RlOnRoaXMudGV4dExhbmd1YWdlQ29kZSxyZXZpZXdzVVJJOnRoaXMucmV2aWV3c1VSSX19fTt2YXIgSkRiPXlDYigpO18uT2ooSkRiKTt2YXIgS0RiPV8uUWooSkRiKTt2YXIgVTk9Y2xhc3MgZXh0ZW5kcyBQOXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt2YXIgYj10aGlzLnFoO2E9Xy5QZyhhLDQpO2E9YT09PW51bGx8fGE9PT0wP251bGw6S0RiLmdldChhKXx8bnVsbDtiLnR5cGU9YT8/bnVsbH1nZXQgdHlwZSgpe3JldHVybiB0aGlzLnFoLnR5cGV9dG9KU09OKCl7cmV0dXJuey4uLnN1cGVyLnRvSlNPTigpLHR5cGU6dGhpcy50eXBlfX19O3ZhciBMRGI9Q0NiKCk7Xy5PaihMRGIpO18uUWooTERiKTt2YXIgTURiPURDYigpO18uT2ooTURiKTtfLlFqKE1EYik7dmFyIFY5PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e3VybDpfLnhtKGEuZ2V0VXJsKCkpLG5hbWVJbmNsdWRlZDpfLkpnKGEsMil9fWdldCB1cmwoKXtyZXR1cm4gdGhpcy5xaC51cmx9Z2V0IG5hbWVJbmNsdWRlZCgpe3JldHVybiB0aGlzLnFoLm5hbWVJbmNsdWRlZH10b0pTT04oKXtyZXR1cm57dXJsOnRoaXMudXJsLG5hbWVJbmNsdWRlZDp0aGlzLm5hbWVJbmNsdWRlZH19fTt2YXIgTkRiPUVDYigpO18uT2ooTkRiKTtfLlFqKE5EYik7dmFyIE9EYj1GQ2IoKTtfLk9qKE9EYik7Xy5RaihPRGIpO3ZhciBQRGI9R0NiKCk7Xy5PaihQRGIpO18uUWooUERiKTt2YXIgUURiPUhDYigpO18uT2ooUURiKTt2YXIgUkRiPV8uUWooUURiKTt2YXIgU0RiPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPWEuZ2V0SWQoKSxjPWEuVWkoKT8uY2koKXx8bnVsbCxkPWEuVWkoKT8ucmgoKXx8bnVsbCxlPV8uQWcoYSxfLklyLDQpPy5jaSgpfHxudWxsLGY9Xy5BZyhhLF8uSXIsNCk/LnJoKCl8fG51bGwsZz1hLkdrKCksaD1hLnFtKCksaz1fLnhtKGEuZ2V0VXJsKCkpLG09YS5MbygpP25ldyBWOShfLkcoYSxfLlg1LDgpKTpudWxsLHA9Xy5TZihhLF8uWDUsOSk/bmV3IFY5KF8uRyhhLF8uWDUsOSkpOm51bGw7e2E9Xy5QZyhhLDIpO2xldCBxPVJEYi5nZXQoYSk7cT09PXZvaWQgMD8oY29uc29sZS53YXJuKGBVbmtub3duIFZlaGljbGVUeXBlIHZhbHVlOiAke2F9YCksYT1udWxsKTphPXE9PT0iVkVISUNMRV9UWVBFX1VOU1BFQ0lGSUVEIj9udWxsOnF9dGhpcy5xaD17aWQ6YixkaXNwbGF5TmFtZTpjLGRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlOmQsc2hvcnREaXNwbGF5TmFtZTplLHNob3J0RGlzcGxheU5hbWVMYW5ndWFnZUNvZGU6ZiwKdGV4dENvbG9yOmcsYmFja2dyb3VuZENvbG9yOmgsdXJsOmssaWNvbjptLHZlaGljbGVJY29uOnAsdmVoaWNsZVR5cGU6YSxHcDpbXX19Z2V0IGlkKCl7cmV0dXJuIHRoaXMucWguaWR9Z2V0IHZlaGljbGVUeXBlKCl7cmV0dXJuIHRoaXMucWgudmVoaWNsZVR5cGV9Z2V0IGRpc3BsYXlOYW1lKCl7cmV0dXJuIHRoaXMucWguZGlzcGxheU5hbWV9Z2V0IGRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguZGlzcGxheU5hbWVMYW5ndWFnZUNvZGV9Z2V0IHNob3J0RGlzcGxheU5hbWUoKXtyZXR1cm4gdGhpcy5xaC5zaG9ydERpc3BsYXlOYW1lfWdldCBzaG9ydERpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguc2hvcnREaXNwbGF5TmFtZUxhbmd1YWdlQ29kZX1nZXQgdGV4dENvbG9yKCl7cmV0dXJuIHRoaXMucWgudGV4dENvbG9yfWdldCBiYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5xaC5iYWNrZ3JvdW5kQ29sb3J9Z2V0IHVybCgpe3JldHVybiB0aGlzLnFoLnVybH1nZXQgaWNvbigpe3JldHVybiB0aGlzLnFoLmljb259Z2V0IHZlaGljbGVJY29uKCl7cmV0dXJuIHRoaXMucWgudmVoaWNsZUljb259Z2V0IEdwKCl7cmV0dXJuIHRoaXMucWguR3B9dG9KU09OKCl7cmV0dXJue2lkOnRoaXMuaWQsCnZlaGljbGVUeXBlOnRoaXMudmVoaWNsZVR5cGUsZGlzcGxheU5hbWU6dGhpcy5kaXNwbGF5TmFtZSxkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZTp0aGlzLmRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlLHNob3J0RGlzcGxheU5hbWU6dGhpcy5zaG9ydERpc3BsYXlOYW1lLHNob3J0RGlzcGxheU5hbWVMYW5ndWFnZUNvZGU6dGhpcy5zaG9ydERpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlLHRleHRDb2xvcjp0aGlzLnRleHRDb2xvcixiYWNrZ3JvdW5kQ29sb3I6dGhpcy5iYWNrZ3JvdW5kQ29sb3IsdXJsOnRoaXMudXJsLGljb246dGhpcy5pY29uLHZlaGljbGVJY29uOnRoaXMudmVoaWNsZUljb24sYWxlcnRzOnRoaXMuR3B9fX07dmFyIFREYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPXtkaXNwbGF5TmFtZTphLlVpKCk/LmNpKCl8fG51bGwsZGlzcGxheU5hbWVMYW5ndWFnZUNvZGU6YS5VaSgpPy5yaCgpfHxudWxsLHVybDpfLnhtKGEuZ2V0VXJsKCkpLGZhcmVVUkw6Xy54bShfLkgoYSwzKSksaWNvbjphLkxvKCk/bmV3IFY5KF8uRyhhLF8uWDUsNCkpOm51bGwsbGluZXM6Xy5DZyhhLFdCYiw1KS5maWx0ZXIoYj0+YiE9PW51bGwpLm1hcChiPT5uZXcgU0RiKGIpKSxHcDpbXX19Z2V0IGRpc3BsYXlOYW1lKCl7cmV0dXJuIHRoaXMucWguZGlzcGxheU5hbWV9Z2V0IGRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguZGlzcGxheU5hbWVMYW5ndWFnZUNvZGV9Z2V0IHVybCgpe3JldHVybiB0aGlzLnFoLnVybH1nZXQgZmFyZVVSTCgpe3JldHVybiB0aGlzLnFoLmZhcmVVUkx9Z2V0IGljb24oKXtyZXR1cm4gdGhpcy5xaC5pY29ufWdldCBsaW5lcygpe3JldHVybiB0aGlzLnFoLmxpbmVzfWdldCBHcCgpe3JldHVybiB0aGlzLnFoLkdwfXRvSlNPTigpe3JldHVybntkaXNwbGF5TmFtZTp0aGlzLmRpc3BsYXlOYW1lLApkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZTp0aGlzLmRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlLHVybDp0aGlzLnVybCxmYXJlVVJMOnRoaXMuZmFyZVVSTCxpY29uOnRoaXMuaWNvbixsaW5lczp0aGlzLmxpbmVzLGFsZXJ0czp0aGlzLkdwfX19O3ZhciBVRGI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD17aWQ6YS5nZXRJZCgpLGRpc3BsYXlOYW1lOmEuVWkoKT8uY2koKXx8bnVsbCxkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZTphLlVpKCk/LnJoKCl8fG51bGwscGxhdGZvcm1Db2RlOl8uQWcoYSxfLklyLDMpPy5jaSgpfHxudWxsLHBsYXRmb3JtQ29kZUxhbmd1YWdlQ29kZTpfLkFnKGEsXy5JciwzKT8ucmgoKXx8bnVsbCxzaWduYWdlVGV4dDpfLkFnKGEsXy5Jciw0KT8uY2koKXx8bnVsbCxzaWduYWdlVGV4dExhbmd1YWdlQ29kZTpfLkFnKGEsXy5Jciw0KT8ucmgoKXx8bnVsbCxzdG9wQ29kZTpfLkFnKGEsXy5Jciw1KT8uY2koKXx8bnVsbCxzdG9wQ29kZUxhbmd1YWdlQ29kZTpfLkFnKGEsXy5Jciw1KT8ucmgoKXx8bnVsbCxsb2NhdGlvbjpfLlNmKGEsXy5Eciw2KT9uZXcgXy5Rbyh7bGF0Ol8uRyhhLF8uRHIsNikucmgoKSxsbmc6Xy5HKGEsXy5Eciw2KS50aCgpfSk6bnVsbCxoYXNXaGVlbGNoYWlyQWNjZXNzaWJsZUVudHJhbmNlOmEuaGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZSgpPwpfLkpnKGEsNyk6bnVsbCxHcDpudWxsfX1nZXQgaWQoKXtyZXR1cm4gdGhpcy5xaC5pZH1nZXQgZGlzcGxheU5hbWUoKXtyZXR1cm4gdGhpcy5xaC5kaXNwbGF5TmFtZX1nZXQgZGlzcGxheU5hbWVMYW5ndWFnZUNvZGUoKXtyZXR1cm4gdGhpcy5xaC5kaXNwbGF5TmFtZUxhbmd1YWdlQ29kZX1nZXQgcGxhdGZvcm1Db2RlKCl7cmV0dXJuIHRoaXMucWgucGxhdGZvcm1Db2RlfWdldCBwbGF0Zm9ybUNvZGVMYW5ndWFnZUNvZGUoKXtyZXR1cm4gdGhpcy5xaC5wbGF0Zm9ybUNvZGVMYW5ndWFnZUNvZGV9Z2V0IHNpZ25hZ2VUZXh0KCl7cmV0dXJuIHRoaXMucWguc2lnbmFnZVRleHR9Z2V0IHNpZ25hZ2VUZXh0TGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguc2lnbmFnZVRleHRMYW5ndWFnZUNvZGV9Z2V0IHN0b3BDb2RlKCl7cmV0dXJuIHRoaXMucWguc3RvcENvZGV9Z2V0IHN0b3BDb2RlTGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMucWguc3RvcENvZGVMYW5ndWFnZUNvZGV9Z2V0IGxvY2F0aW9uKCl7cmV0dXJuIHRoaXMucWgubG9jYXRpb259Z2V0IGhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlRW50cmFuY2UoKXtyZXR1cm4gdGhpcy5xaC5oYXNXaGVlbGNoYWlyQWNjZXNzaWJsZUVudHJhbmNlfWdldCBHcCgpe3JldHVybiB0aGlzLnFoLkdwfXRvSlNPTigpe3JldHVybntpZDp0aGlzLmlkLApkaXNwbGF5TmFtZTp0aGlzLmRpc3BsYXlOYW1lLGRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlOnRoaXMuZGlzcGxheU5hbWVMYW5ndWFnZUNvZGUscGxhdGZvcm1Db2RlOnRoaXMucGxhdGZvcm1Db2RlLHBsYXRmb3JtQ29kZUxhbmd1YWdlQ29kZTp0aGlzLnBsYXRmb3JtQ29kZUxhbmd1YWdlQ29kZSxzaWduYWdlVGV4dDp0aGlzLnNpZ25hZ2VUZXh0LHNpZ25hZ2VUZXh0TGFuZ3VhZ2VDb2RlOnRoaXMuc2lnbmFnZVRleHRMYW5ndWFnZUNvZGUsc3RvcENvZGU6dGhpcy5zdG9wQ29kZSxzdG9wQ29kZUxhbmd1YWdlQ29kZTp0aGlzLnN0b3BDb2RlTGFuZ3VhZ2VDb2RlLGxvY2F0aW9uOnRoaXMubG9jYXRpb24saGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZTp0aGlzLmhhc1doZWVsY2hhaXJBY2Nlc3NpYmxlRW50cmFuY2UsYWxlcnRzOnRoaXMuR3B9fX07dmFyIFc5PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9e2Rpc3BsYXlOYW1lOmEuVWkoKT8uY2koKXx8bnVsbCxkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZTphLlVpKCk/LnJoKCl8fG51bGwsYWdlbmNpZXM6YS5UcCgpLmZpbHRlcihiPT5iIT09bnVsbCkubWFwKGI9Pm5ldyBURGIoYikpLGVIOltdLHN0b3BzOl8uQ2coYSxYQmIsMykuZmlsdGVyKGI9PmIhPT1udWxsKS5tYXAoYj0+bmV3IFVEYihiKSl9fWdldCBkaXNwbGF5TmFtZSgpe3JldHVybiB0aGlzLnFoLmRpc3BsYXlOYW1lfWdldCBkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLnFoLmRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlfWdldCBhZ2VuY2llcygpe3JldHVybiB0aGlzLnFoLmFnZW5jaWVzfWdldCBlSCgpe3JldHVybltdfWdldCBzdG9wcygpe3JldHVybiB0aGlzLnFoLnN0b3BzfXRvSlNPTigpe3JldHVybntkaXNwbGF5TmFtZTp0aGlzLmRpc3BsYXlOYW1lLGRpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlOnRoaXMuZGlzcGxheU5hbWVMYW5ndWFnZUNvZGUsCmFnZW5jaWVzOnRoaXMuYWdlbmNpZXMsZGVwYXJ0dXJlQm9hcmRzOnRoaXMuZUgsc3RvcHM6dGhpcy5zdG9wc319fTt2YXIgVkRiPWNsYXNzIGV4dGVuZHMgXy5LdHtnZXQgQncoKXtyZXR1cm4gbmV3IFNldCh0aGlzLnFoKX1jb25zdHJ1Y3RvcihhPW5ldyBfLlo1LGI9W10sYz1kPT4oe2lkOmQuZ2V0SWQoKSxyZXNvdXJjZU5hbWU6ZC5nZXROYW1lKCl9KSl7c3VwZXIoKTt0aGlzLkVoPWE7dGhpcy50aD1jO3RoaXMucmVxdWVzdGVkUmVnaW9uPXRoaXMucmVxdWVzdGVkTGFuZ3VhZ2U9bnVsbDt0aGlzLndqPXRoaXMuR2g9dGhpcy5MaD10aGlzLnppPXRoaXMuV2g9dGhpcy5laj10aGlzLkdqPXRoaXMuWmk9dGhpcy5PaD10aGlzLmRpPXRoaXMuWmg9dGhpcy5JaD10aGlzLmJpPXRoaXMud2g9dGhpcy5DaD10aGlzLmFqPXRoaXMuRWk9dGhpcy5CaD10aGlzLkFoPXRoaXMueGg9dGhpcy5uaT10aGlzLnNpPXRoaXMuU2g9dGhpcy5QaD10aGlzLk1oPXRoaXMuTWk9dGhpcy5yaD10aGlzLnNoPXRoaXMueWg9dGhpcy5KaD10aGlzLnpoPXRoaXMuRmg9dm9pZCAwO3RoaXMucWg9bmV3IFNldDtENyh0aGlzLGIpfVVoKGEpe3JldHVybiB0aGlzLnFoLmhhcygiKiIpfHwKdGhpcy5xaC5oYXMoYSl9Z2V0IGFjY2Vzc2liaWxpdHlPcHRpb25zKCl7aWYodGhpcy5VaCgiYWNjZXNzaWJpbGl0eU9wdGlvbnMiKSlyZXR1cm4gdGhpcy5GaD09PXZvaWQgMCYmKHRoaXMuRmg9Xy5TZih0aGlzLkVoLEo4LDcyKT9uZXcgSDkoXy5HKHRoaXMuRWgsSjgsNzIpKTpudWxsKSx0aGlzLkZofWdldCBhZGRyZXNzQ29tcG9uZW50cygpe2lmKHRoaXMuVWgoImFkZHJlc3NDb21wb25lbnRzIikpcmV0dXJuIHRoaXMuemg9PT12b2lkIDAmJih0aGlzLnpoPV8uQ2codGhpcy5FaCxHQmIsMTApLm1hcChhPT5uZXcgZERiKGEpKSksdGhpcy56aH1nZXQgcGFya2luZ09wdGlvbnMoKXtpZih0aGlzLlVoKCJwYXJraW5nT3B0aW9ucyIpKXJldHVybiB0aGlzLm5pPT09dm9pZCAwJiYodGhpcy5uaT1fLlNmKHRoaXMuRWgseEJiLDcwKT9uZXcgUTkoXy5HKHRoaXMuRWgseEJiLDcwKSk6bnVsbCksdGhpcy5uaX1nZXQgYWRyRm9ybWF0QWRkcmVzcygpe3JldHVybiB0aGlzLlVoKCJhZHJGb3JtYXRBZGRyZXNzIik/Cl8uSCh0aGlzLkVoLDI0KXx8bnVsbDp2b2lkIDB9Z2V0IGF0dHJpYnV0aW9ucygpe2lmKHRoaXMuVWgoImF0dHJpYnV0aW9ucyIpKXJldHVybiB0aGlzLkpoPT09dm9pZCAwJiYodGhpcy5KaD1fLkNnKHRoaXMuRWgsSEJiLDI3KS5tYXAoYT0+bmV3IGxEYihhKSkpLHRoaXMuSmh9Z2V0IGJ1c2luZXNzU3RhdHVzKCl7aWYodGhpcy5VaCgiYnVzaW5lc3NTdGF0dXMiKSl7e3ZhciBhPV8uUGcodGhpcy5FaCwyNSk7bGV0IGI9UENiLmdldChhKTtiPT09dm9pZCAwPyhjb25zb2xlLndhcm4oYFVua25vd24gQnVzaW5lc3NTdGF0dXMgdmFsdWU6ICR7YX1gKSxhPW51bGwpOmE9Yj09PSJCVVNJTkVTU19TVEFUVVNfVU5TUEVDSUZJRUQiP251bGw6Yn19ZWxzZSBhPXZvaWQgMDtyZXR1cm4gYX1nZXQgZGlzcGxheU5hbWUoKXtyZXR1cm4gdGhpcy5VaCgiZGlzcGxheU5hbWUiKT90aGlzLkVoLlVpKCk/LmNpKCl8fG51bGw6dm9pZCAwfWdldCBkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLlVoKCJkaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSIpPwp0aGlzLkVoLlVpKCk/LnJoKCl8fG51bGw6dm9pZCAwfWdldCBmb3JtYXR0ZWRBZGRyZXNzKCl7cmV0dXJuIHRoaXMuVWgoImZvcm1hdHRlZEFkZHJlc3MiKT9fLkgodGhpcy5FaCw5KXx8bnVsbDp2b2lkIDB9Z2V0IHNob3J0Rm9ybWF0dGVkQWRkcmVzcygpe3JldHVybiB0aGlzLlVoKCJzaG9ydEZvcm1hdHRlZEFkZHJlc3MiKT9fLkgodGhpcy5FaCw1MSl8fG51bGw6dm9pZCAwfWdldCBnb29nbGVNYXBzVVJJKCl7aWYodGhpcy5VaCgiZ29vZ2xlTWFwc1VSSSIpKXt2YXIgYT1fLkgodGhpcy5FaCwxNSk/Xy54bShfLkgodGhpcy5FaCwxNSkpOm51bGw7cmV0dXJuIGE/Xy5rZ2EoYSx7bGFuZ3VhZ2U6dGhpcy5yZXF1ZXN0ZWRMYW5ndWFnZT8/dm9pZCAwLHJlZ2lvbjp0aGlzLnJlcXVlc3RlZFJlZ2lvbj8/dm9pZCAwfSkudG9TdHJpbmcoKTpudWxsfX1nZXQgaW50ZXJuYXRpb25hbFBob25lTnVtYmVyKCl7cmV0dXJuIHRoaXMuVWgoImludGVybmF0aW9uYWxQaG9uZU51bWJlciIpP18uSCh0aGlzLkVoLAo4KXx8bnVsbDp2b2lkIDB9Z2V0IGxvY2F0aW9uKCl7aWYodGhpcy5VaCgibG9jYXRpb24iKSl7aWYodGhpcy55aD09PXZvaWQgMCl7bGV0IGE9dGhpcy5FaC5nZXRMb2NhdGlvbigpO3RoaXMueWg9YT9uZXcgXy5UbShhLnJoKCksYS50aCgpKTpudWxsfXJldHVybiB0aGlzLnlofX1nZXQgbmF0aW9uYWxQaG9uZU51bWJlcigpe3JldHVybiB0aGlzLlVoKCJuYXRpb25hbFBob25lTnVtYmVyIik/Xy5IKHRoaXMuRWgsNyl8fG51bGw6dm9pZCAwfWdldCBvcGVuaW5nSG91cnMoKXtjb25zb2xlLmVycm9yKCJQbGFjZS5vcGVuaW5nSG91cnMgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBQbGFjZS5yZWd1bGFyT3BlbmluZ0hvdXJzIGluc3RlYWQuIik7dGhpcy5VaCgib3BlbmluZ0hvdXJzIikmJiF0aGlzLlVoKCJyZWd1bGFyT3BlbmluZ0hvdXJzIikmJkQ3KHRoaXMsWyJyZWd1bGFyT3BlbmluZ0hvdXJzIl0pO3JldHVybiB0aGlzLnJlZ3VsYXJPcGVuaW5nSG91cnN9Z2V0IHJlZ3VsYXJPcGVuaW5nSG91cnMoKXtpZih0aGlzLlVoKCJyZWd1bGFyT3BlbmluZ0hvdXJzIikpe2lmKHRoaXMuc2g9PT0Kdm9pZCAwKWlmKF8uU2YodGhpcy5FaCxJOCwyMSkpdHJ5e3RoaXMuc2g9bmV3IFA5KF8uRyh0aGlzLkVoLEk4LDIxKSl9Y2F0Y2goYSl7Xy5ybShgUGxhY2UgJHt0aGlzLmlkfSByZXR1cm5lZCBpbnZhbGlkIHJlZ3VsYXJPcGVuaW5nSG91cnMuYCxhKSxfLk0od2luZG93LDE0ODIyOCksdGhpcy5zaD1udWxsfWVsc2UgdGhpcy5zaD1udWxsO3JldHVybiB0aGlzLnNofX1nZXQgY3VycmVudE9wZW5pbmdIb3Vycygpe2lmKHRoaXMuVWgoImN1cnJlbnRPcGVuaW5nSG91cnMiKSl7aWYodGhpcy5yaD09PXZvaWQgMClpZihfLlNmKHRoaXMuRWgsSTgsNDYpKXRyeXt0aGlzLnJoPW5ldyBQOShfLkcodGhpcy5FaCxJOCw0NikpfWNhdGNoKGEpe18ucm0oYFBsYWNlICR7dGhpcy5pZH0gcmV0dXJuZWQgaW52YWxpZCBjdXJyZW50T3BlbmluZ0hvdXJzLmAsYSksXy5NKHdpbmRvdywxNDgyMjgpLHRoaXMucmg9bnVsbH1lbHNlIHRoaXMucmg9bnVsbDtyZXR1cm4gdGhpcy5yaH19Z2V0IHJlZ3VsYXJTZWNvbmRhcnlPcGVuaW5nSG91cnMoKXtpZih0aGlzLlVoKCJyZWd1bGFyU2Vjb25kYXJ5T3BlbmluZ0hvdXJzIikpcmV0dXJuIHRoaXMuTWk9PT0Kdm9pZCAwJiYodGhpcy5NaT1fLkNnKHRoaXMuRWgsSTgsNDkpLm1hcChhPT5uZXcgVTkoYSkpKSx0aGlzLk1pfWdldCBjdXJyZW50U2Vjb25kYXJ5T3BlbmluZ0hvdXJzKCl7aWYodGhpcy5VaCgiY3VycmVudFNlY29uZGFyeU9wZW5pbmdIb3VycyIpKXJldHVybiB0aGlzLk1oPT09dm9pZCAwJiYodGhpcy5NaD1fLkNnKHRoaXMuRWgsSTgsNDcpLm1hcChhPT5uZXcgVTkoYSkpKSx0aGlzLk1ofWdldCBldkNoYXJnZU9wdGlvbnMoKXtpZih0aGlzLlVoKCJldkNoYXJnZU9wdGlvbnMiKSlyZXR1cm4gdGhpcy5QaD09PXZvaWQgMCYmKHRoaXMuUGg9Xy5TZih0aGlzLkVoLEg4LDc5KT9uZXcgbkRiKF8uRyh0aGlzLkVoLEg4LDc5KSk6bnVsbCksdGhpcy5QaH1nZXQgZnVlbE9wdGlvbnMoKXtpZih0aGlzLlVoKCJmdWVsT3B0aW9ucyIpKXtpZih0aGlzLlNoPT09dm9pZCAwKXtsZXQgYT17fTt0aGlzLnJlcXVlc3RlZExhbmd1YWdlIT09dm9pZCAwJiYoYS5sYW5ndWFnZT10aGlzLnJlcXVlc3RlZExhbmd1YWdlKTsKdGhpcy5yZXF1ZXN0ZWRSZWdpb24hPT12b2lkIDAmJihhLnJlZ2lvbj10aGlzLnJlcXVlc3RlZFJlZ2lvbik7dGhpcy5TaD1fLlNmKHRoaXMuRWgsRzgsNzgpP25ldyBxRGIoXy5HKHRoaXMuRWgsRzgsNzgpLGEpOm51bGx9cmV0dXJuIHRoaXMuU2h9fWdldCBwYXltZW50T3B0aW9ucygpe2lmKHRoaXMuVWgoInBheW1lbnRPcHRpb25zIikpcmV0dXJuIHRoaXMuc2k9PT12b2lkIDAmJih0aGlzLnNpPV8uU2YodGhpcy5FaCx5QmIsNjcpP25ldyBSOShfLkcodGhpcy5FaCx5QmIsNjcpKTpudWxsKSx0aGlzLnNpfWdldCBwaG90b3MoKXtpZih0aGlzLlVoKCJwaG90b3MiKSl7aWYodGhpcy54aD09PXZvaWQgMCl7dGhpcy54aD1bXTtmb3IobGV0IGEgb2YgXy5DZyh0aGlzLkVoLERCYiw1NCkpdHJ5e3RoaXMueGgucHVzaChuZXcgVDkoYSkpfWNhdGNoKGIpe18ucm0oYFBsYWNlICR7dGhpcy5pZH0gcmV0dXJuZWQgYW4gaW52YWxpZCBwaG90by5gLGIpLF8uTSh3aW5kb3csMTQ4MjI5KX19cmV0dXJuIHRoaXMueGh9fWdldCBwbHVzQ29kZSgpe2lmKHRoaXMuVWgoInBsdXNDb2RlIikpcmV0dXJuIHRoaXMuQWg9PT0Kdm9pZCAwJiYodGhpcy5BaD1fLlNmKHRoaXMuRWgsT0JiLDExKT9uZXcgXy5NdChfLkcodGhpcy5FaCxPQmIsMTEpKTpudWxsKSx0aGlzLkFofWdldCBwb3N0YWxBZGRyZXNzKCl7aWYodGhpcy5VaCgicG9zdGFsQWRkcmVzcyIpKXJldHVybiB0aGlzLkJoPT09dm9pZCAwJiYodGhpcy5CaD1fLlNmKHRoaXMuRWgsXy5Lciw5MCk/bmV3IF8uTnQoXy5HKHRoaXMuRWgsXy5Lciw5MCkpOm51bGwpLHRoaXMuQmh9Z2V0IHByaWNlTGV2ZWwoKXtpZih0aGlzLlVoKCJwcmljZUxldmVsIikpe3t2YXIgYT1fLlBnKHRoaXMuRWgsMjYpO2xldCBiPV8uenViLmdldChhKTtiPT09dm9pZCAwPyhjb25zb2xlLndhcm4oYFVua25vd24gUHJpY2VMZXZlbCB2YWx1ZTogJHthfWApLGE9bnVsbCk6YT1iPT09IlBSSUNFX0xFVkVMX1VOU1BFQ0lGSUVEIj9udWxsOmIuc3RhcnRzV2l0aCgiUFJJQ0VfTEVWRUxfIik/Yi5zbGljZSgxMik6Yn19ZWxzZSBhPXZvaWQgMDtyZXR1cm4gYX1nZXQgcHJpY2VSYW5nZSgpe2lmKHRoaXMuVWgoInByaWNlUmFuZ2UiKSl7aWYodGhpcy5FaT09PQp2b2lkIDApe2xldCBhPXt9O3RoaXMucmVxdWVzdGVkTGFuZ3VhZ2UhPT12b2lkIDAmJihhLmxhbmd1YWdlPXRoaXMucmVxdWVzdGVkTGFuZ3VhZ2UpO3RoaXMucmVxdWVzdGVkUmVnaW9uIT09dm9pZCAwJiYoYS5yZWdpb249dGhpcy5yZXF1ZXN0ZWRSZWdpb24pO3RoaXMuRWk9Xy5TZih0aGlzLkVoLFZCYiw4Nik/bmV3IEhEYihfLkcodGhpcy5FaCxWQmIsODYpLGEpOm51bGx9cmV0dXJuIHRoaXMuRWl9fWdldCByYXRpbmcoKXtyZXR1cm4gdGhpcy5VaCgicmF0aW5nIik/Xy5PZyh0aGlzLkVoLDE0KXx8bnVsbDp2b2lkIDB9Z2V0IHJldmlld3MoKXtpZih0aGlzLlVoKCJyZXZpZXdzIikpcmV0dXJuIHRoaXMuYWo9PT12b2lkIDAmJih0aGlzLmFqPV8uQ2codGhpcy5FaCxjOCw1MykubWFwKGE9Pm5ldyBmOChhKSkpLHRoaXMuYWp9Z2V0IHR5cGVzKCl7aWYodGhpcy5VaCgidHlwZXMiKSlyZXR1cm4gdGhpcy5DaD09PXZvaWQgMCYmKHRoaXMuQ2g9Xy5VZyh0aGlzLkVoLDUsXy5jZygpKS5zbGljZSgpKSwKdGhpcy5DaH1nZXQgdXNlclJhdGluZ0NvdW50KCl7cmV0dXJuIHRoaXMuVWgoInVzZXJSYXRpbmdDb3VudCIpP18ubmgodGhpcy5FaCwyOCk/Xy5LZyh0aGlzLkVoLDI4KTpudWxsOnZvaWQgMH1nZXQgdXRjT2Zmc2V0TWludXRlcygpe3JldHVybiB0aGlzLlVoKCJ1dGNPZmZzZXRNaW51dGVzIik/Xy5uaCh0aGlzLkVoLDIyKT9fLktnKHRoaXMuRWgsMjIpOm51bGw6dm9pZCAwfWdldCB2aWV3cG9ydCgpe2lmKHRoaXMuVWgoInZpZXdwb3J0Iikpe2lmKHRoaXMud2g9PT12b2lkIDApaWYoXy5TZih0aGlzLkVoLF8uRXIsMTMpKXtsZXQgYT1fLkFnKHRoaXMuRWgsXy5FciwxMyk/LnRoKCksYj1fLkFnKHRoaXMuRWgsXy5FciwxMyk/LnJoKCk7dGhpcy53aD1hJiZiP25ldyBfLlJuKG5ldyBfLlRtKGEucmgoKSxhLnRoKCkpLG5ldyBfLlRtKGIucmgoKSxiLnRoKCkpKTpudWxsfWVsc2UgdGhpcy53aD1udWxsO3JldHVybiB0aGlzLndofX1nZXQgd2Vic2l0ZVVSSSgpe3JldHVybiB0aGlzLlVoKCJ3ZWJzaXRlVVJJIik/Cl8uSCh0aGlzLkVoLDE2KXx8bnVsbDp2b2lkIDB9Z2V0IGljb25CYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5VaCgiaWNvbkJhY2tncm91bmRDb2xvciIpP18uSCh0aGlzLkVoLDMwKXx8bnVsbDp2b2lkIDB9Z2V0IHN2Z0ljb25NYXNrVVJJKCl7cmV0dXJuIHRoaXMuVWgoInN2Z0ljb25NYXNrVVJJIik/Xy5IKHRoaXMuRWgsMjkpP2Ake18uSCh0aGlzLkVoLDI5KX0uc3ZnYDpudWxsOnZvaWQgMH1nZXQgaGFzVGFrZW91dCgpe3JldHVybiB0aGlzLlVoKCJoYXNUYWtlb3V0Iik/dGhpcy5FaC5oYXNUYWtlb3V0KCk/Xy5KZyh0aGlzLkVoLDMzKTpudWxsOnZvaWQgMH1nZXQgaGFzRGVsaXZlcnkoKXtyZXR1cm4gdGhpcy5VaCgiaGFzRGVsaXZlcnkiKT90aGlzLkVoLmhhc0RlbGl2ZXJ5KCk/Xy5KZyh0aGlzLkVoLDM0KTpudWxsOnZvaWQgMH1nZXQgaGFzRGluZUluKCl7cmV0dXJuIHRoaXMuVWgoImhhc0RpbmVJbiIpP3RoaXMuRWguaGFzRGluZUluKCk/Xy5KZyh0aGlzLkVoLAozNSk6bnVsbDp2b2lkIDB9Z2V0IGhhc0N1cmJzaWRlUGlja3VwKCl7cmV0dXJuIHRoaXMuVWgoImhhc0N1cmJzaWRlUGlja3VwIik/dGhpcy5FaC5oYXNDdXJic2lkZVBpY2t1cCgpP18uSmcodGhpcy5FaCwzNik6bnVsbDp2b2lkIDB9Z2V0IGlzUmVzZXJ2YWJsZSgpe3JldHVybiB0aGlzLlVoKCJpc1Jlc2VydmFibGUiKT9fLkN1KHRoaXMuRWgsMzgpP18uSmcodGhpcy5FaCwzOCk6bnVsbDp2b2lkIDB9Z2V0IHNlcnZlc0JyZWFrZmFzdCgpe3JldHVybiB0aGlzLlVoKCJzZXJ2ZXNCcmVha2Zhc3QiKT9fLkN1KHRoaXMuRWgsMzkpP18uSmcodGhpcy5FaCwzOSk6bnVsbDp2b2lkIDB9Z2V0IHNlcnZlc0x1bmNoKCl7cmV0dXJuIHRoaXMuVWgoInNlcnZlc0x1bmNoIik/Xy5DdSh0aGlzLkVoLDQwKT9fLkpnKHRoaXMuRWgsNDApOm51bGw6dm9pZCAwfWdldCBzZXJ2ZXNEaW5uZXIoKXtyZXR1cm4gdGhpcy5VaCgic2VydmVzRGlubmVyIik/Xy5DdSh0aGlzLkVoLDQxKT9fLkpnKHRoaXMuRWgsCjQxKTpudWxsOnZvaWQgMH1nZXQgc2VydmVzQmVlcigpe3JldHVybiB0aGlzLlVoKCJzZXJ2ZXNCZWVyIik/Xy5DdSh0aGlzLkVoLDQyKT9fLkpnKHRoaXMuRWgsNDIpOm51bGw6dm9pZCAwfWdldCBzZXJ2ZXNXaW5lKCl7cmV0dXJuIHRoaXMuVWgoInNlcnZlc1dpbmUiKT9fLkN1KHRoaXMuRWgsNDMpP18uSmcodGhpcy5FaCw0Myk6bnVsbDp2b2lkIDB9Z2V0IHNlcnZlc0JydW5jaCgpe3JldHVybiB0aGlzLlVoKCJzZXJ2ZXNCcnVuY2giKT9fLkN1KHRoaXMuRWgsNDQpP18uSmcodGhpcy5FaCw0NCk6bnVsbDp2b2lkIDB9Z2V0IHNlcnZlc1ZlZ2V0YXJpYW5Gb29kKCl7cmV0dXJuIHRoaXMuVWgoInNlcnZlc1ZlZ2V0YXJpYW5Gb29kIik/Xy5DdSh0aGlzLkVoLDQ1KT9fLkpnKHRoaXMuRWgsNDUpOm51bGw6dm9pZCAwfWdldCBlZGl0b3JpYWxTdW1tYXJ5KCl7cmV0dXJuIHRoaXMuVWgoImVkaXRvcmlhbFN1bW1hcnkiKT9fLlNmKHRoaXMuRWgsXy5Jciw1Mik/Xy5HKHRoaXMuRWgsXy5JciwKNTIpLmNpKCl8fG51bGw6bnVsbDp2b2lkIDB9Z2V0IGVkaXRvcmlhbFN1bW1hcnlMYW5ndWFnZUNvZGUoKXtyZXR1cm4gdGhpcy5VaCgiZWRpdG9yaWFsU3VtbWFyeUxhbmd1YWdlQ29kZSIpP18uU2YodGhpcy5FaCxfLklyLDUyKT9fLkcodGhpcy5FaCxfLklyLDUyKS5yaCgpfHxudWxsOm51bGw6dm9pZCAwfWdldCBoYXNPdXRkb29yU2VhdGluZygpe3JldHVybiB0aGlzLlVoKCJoYXNPdXRkb29yU2VhdGluZyIpP3RoaXMuRWguaGFzT3V0ZG9vclNlYXRpbmcoKT9fLkpnKHRoaXMuRWgsNTUpOm51bGw6dm9pZCAwfWdldCBoYXNMaXZlTXVzaWMoKXtyZXR1cm4gdGhpcy5VaCgiaGFzTGl2ZU11c2ljIik/dGhpcy5FaC5oYXNMaXZlTXVzaWMoKT9fLkpnKHRoaXMuRWgsNTYpOm51bGw6dm9pZCAwfWdldCBoYXNNZW51Rm9yQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5VaCgiaGFzTWVudUZvckNoaWxkcmVuIik/dGhpcy5FaC5oYXNNZW51Rm9yQ2hpbGRyZW4oKT9fLkpnKHRoaXMuRWgsNTcpOgpudWxsOnZvaWQgMH1nZXQgc2VydmVzQ29ja3RhaWxzKCl7cmV0dXJuIHRoaXMuVWgoInNlcnZlc0NvY2t0YWlscyIpP18uQ3UodGhpcy5FaCw1OCk/Xy5KZyh0aGlzLkVoLDU4KTpudWxsOnZvaWQgMH1nZXQgc2VydmVzRGVzc2VydCgpe3JldHVybiB0aGlzLlVoKCJzZXJ2ZXNEZXNzZXJ0Iik/Xy5DdSh0aGlzLkVoLDU5KT9fLkpnKHRoaXMuRWgsNTkpOm51bGw6dm9pZCAwfWdldCBzZXJ2ZXNDb2ZmZWUoKXtyZXR1cm4gdGhpcy5VaCgic2VydmVzQ29mZmVlIik/Xy5DdSh0aGlzLkVoLDYwKT9fLkpnKHRoaXMuRWgsNjApOm51bGw6dm9pZCAwfWdldCBoYXNXaUZpKCl7cmV0dXJuIHRoaXMuVWgoImhhc1dpRmkiKT9fLkN1KHRoaXMuRWgsNjEpP18uSmcodGhpcy5FaCw2MSk6bnVsbDp2b2lkIDB9Z2V0IGlzR29vZEZvckNoaWxkcmVuKCl7cmV0dXJuIHRoaXMuVWgoImlzR29vZEZvckNoaWxkcmVuIik/Xy5DdSh0aGlzLkVoLDYyKT9fLkpnKHRoaXMuRWgsNjIpOm51bGw6dm9pZCAwfWdldCBhbGxvd3NEb2dzKCl7cmV0dXJuIHRoaXMuVWgoImFsbG93c0RvZ3MiKT8KXy5DdSh0aGlzLkVoLDYzKT9fLkpnKHRoaXMuRWgsNjMpOm51bGw6dm9pZCAwfWdldCBoYXNSZXN0cm9vbSgpe3JldHVybiB0aGlzLlVoKCJoYXNSZXN0cm9vbSIpP3RoaXMuRWguaGFzUmVzdHJvb20oKT9fLkpnKHRoaXMuRWgsNjQpOm51bGw6dm9pZCAwfWdldCBpc0dvb2RGb3JHcm91cHMoKXtyZXR1cm4gdGhpcy5VaCgiaXNHb29kRm9yR3JvdXBzIik/Xy5DdSh0aGlzLkVoLDY1KT9fLkpnKHRoaXMuRWgsNjUpOm51bGw6dm9pZCAwfWdldCBpc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cygpe3JldHVybiB0aGlzLlVoKCJpc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cyIpP18uQ3UodGhpcy5FaCw2Nik/Xy5KZyh0aGlzLkVoLDY2KTpudWxsOnZvaWQgMH1nZXQgcHJpbWFyeVR5cGUoKXtyZXR1cm4gdGhpcy5VaCgicHJpbWFyeVR5cGUiKT9fLkgodGhpcy5FaCw1MCl8fG51bGw6dm9pZCAwfWdldCBwcmltYXJ5VHlwZURpc3BsYXlOYW1lKCl7cmV0dXJuIHRoaXMuVWgoInByaW1hcnlUeXBlRGlzcGxheU5hbWUiKT8KXy5BZyh0aGlzLkVoLF8uSXIsMzIpPy5jaSgpfHxudWxsOnZvaWQgMH1nZXQgcHJpbWFyeVR5cGVEaXNwbGF5TmFtZUxhbmd1YWdlQ29kZSgpe3JldHVybiB0aGlzLlVoKCJwcmltYXJ5VHlwZURpc3BsYXlOYW1lTGFuZ3VhZ2VDb2RlIik/Xy5BZyh0aGlzLkVoLF8uSXIsMzIpPy5yaCgpfHxudWxsOnZvaWQgMH1nZXQgZ29vZ2xlTWFwc0xpbmtzKCl7aWYodGhpcy5VaCgiZ29vZ2xlTWFwc0xpbmtzIikpcmV0dXJuIHRoaXMuYmk9PT12b2lkIDAmJih0aGlzLmJpPV8uU2YodGhpcy5FaCxoOCw4NSk/bmV3IHNEYihfLkcodGhpcy5FaCxoOCw4NSkpOm51bGwpLHRoaXMuYml9Z2V0IGNvbnN1bWVyQWxlcnQoKXtpZih0aGlzLlVoKCJjb25zdW1lckFsZXJ0IikpcmV0dXJuIHRoaXMuSWg9PT12b2lkIDAmJih0aGlzLkloPV8uU2YodGhpcy5FaCxKQmIsOTIpP25ldyBtRGIoXy5HKHRoaXMuRWgsSkJiLDkyKSk6bnVsbCksdGhpcy5JaH1nZXQgZXZDaGFyZ2VBbWVuaXR5U3VtbWFyeSgpe2lmKHRoaXMuVWgoImV2Q2hhcmdlQW1lbml0eVN1bW1hcnkiKSlyZXR1cm4gdGhpcy5PaD09PQp2b2lkIDAmJih0aGlzLk9oPV8uU2YodGhpcy5FaCxMQmIsODkpP25ldyBMOShfLkcodGhpcy5FaCxMQmIsODkpLHRoaXMudGgpOm51bGwpLHRoaXMuT2h9Z2V0IG5laWdoYm9yaG9vZFN1bW1hcnkoKXtpZih0aGlzLlVoKCJuZWlnaGJvcmhvb2RTdW1tYXJ5IikpcmV0dXJuIHRoaXMuZGk9PT12b2lkIDAmJih0aGlzLmRpPV8uU2YodGhpcy5FaCxOQmIsOTEpP25ldyB0RGIoXy5HKHRoaXMuRWgsTkJiLDkxKSx0aGlzLnRoKTpudWxsKSx0aGlzLmRpfWdldCBnZW5lcmF0aXZlU3VtbWFyeSgpe2lmKHRoaXMuVWgoImdlbmVyYXRpdmVTdW1tYXJ5IikpcmV0dXJuIHRoaXMuWmg9PT12b2lkIDAmJih0aGlzLlpoPV8uU2YodGhpcy5FaCxNQmIsODApP25ldyByRGIoXy5HKHRoaXMuRWgsTUJiLDgwKSk6bnVsbCksdGhpcy5aaH1nZXQgcmV2aWV3U3VtbWFyeSgpe2lmKHRoaXMuVWgoInJldmlld1N1bW1hcnkiKSlyZXR1cm4gdGhpcy5aaT09PXZvaWQgMCYmKHRoaXMuWmk9Xy5TZih0aGlzLkVoLApQQmIsODcpP25ldyBJRGIoXy5HKHRoaXMuRWgsUEJiLDg3KSk6bnVsbCksdGhpcy5aaX1nZXQgdGltZVpvbmUoKXtpZih0aGlzLlVoKCJ0aW1lWm9uZSIpKXJldHVybiB0aGlzLkdqPT09dm9pZCAwJiYodGhpcy5Haj1fLlNmKHRoaXMuRWgscEJiLDg4KT9uZXcgcUJiKF8uRyh0aGlzLkVoLHBCYiw4OCkpOm51bGwpLHRoaXMuR2p9Z2V0IGlzUHVyZVNlcnZpY2VBcmVhQnVzaW5lc3MoKXtyZXR1cm4gdGhpcy5VaCgiaXNQdXJlU2VydmljZUFyZWFCdXNpbmVzcyIpP18uQ3UodGhpcy5FaCw4Myk/Xy5KZyh0aGlzLkVoLDgzKTpudWxsOnZvaWQgMH1nZXQgc3ViRGVzdGluYXRpb25zKCl7aWYodGhpcy5VaCgic3ViRGVzdGluYXRpb25zIikpcmV0dXJuIHRoaXMuZWo9PT12b2lkIDAmJih0aGlzLmVqPV8uQ2codGhpcy5FaCxRQmIsNzEpLm1hcChhPT57YT1mNihnNihuZXcgXy5aNSxhLmdldElkKCkpLGEuZ2V0TmFtZSgpKTtyZXR1cm4gdGhpcy50aChhLFsiaWQiLCJyZXNvdXJjZU5hbWUiXSl9KSksCnRoaXMuZWp9Z2V0IGZ1dHVyZU9wZW5pbmdEYXRlKCl7aWYodGhpcy5VaCgiZnV0dXJlT3BlbmluZ0RhdGUiKSl7aWYodGhpcy5XaD09PXZvaWQgMCl7bGV0IGE9Xy5BZyh0aGlzLkVoLGU4LDk1KTt0aGlzLldoPWE/bmV3IERhdGUoXy5LZyhhLDEpLF8uS2coYSwyKS0xLF8uS2coYSwzKSk6bnVsbH1yZXR1cm4gdGhpcy5XaH19Z2V0IHBvcHVsYXJUaW1lcygpe2lmKHRoaXMuVWgoInBvcHVsYXJUaW1lcyIpKXJldHVybiB0aGlzLnppPT09dm9pZCAwJiYodGhpcy56aT1fLlNmKHRoaXMuRWgsVUJiLDk5KT9uZXcgR0RiKF8uRyh0aGlzLkVoLFVCYiw5OSkpOm51bGwpLHRoaXMueml9Z2V0IGNvbnRhaW5pbmdQbGFjZXMoKXtpZih0aGlzLlVoKCJjb250YWluaW5nUGxhY2VzIikpcmV0dXJuIHRoaXMuTGg9PT12b2lkIDAmJih0aGlzLkxoPV8uQ2codGhpcy5FaCxLQmIsODIpLm1hcChhPT57YT1mNihnNihuZXcgXy5aNSxhLmdldElkKCkpLGEuZ2V0TmFtZSgpKTtyZXR1cm4gdGhpcy50aChhLApbImlkIiwicmVzb3VyY2VOYW1lIl0pfSkpLHRoaXMuTGh9Z2V0IGFkZHJlc3NEZXNjcmlwdG9yKCl7aWYodGhpcy5VaCgiYWRkcmVzc0Rlc2NyaXB0b3IiKSlyZXR1cm4gdGhpcy5HaD09PXZvaWQgMCYmKHRoaXMuR2g9Xy5TZih0aGlzLkVoLENCYiw4NCk/bmV3IGtEYihfLkcodGhpcy5FaCxDQmIsODQpLHRoaXMudGgpOm51bGwpLHRoaXMuR2h9Z2V0IHRyYW5zaXRTdGF0aW9uKCl7aWYodGhpcy5VaCgidHJhbnNpdFN0YXRpb24iKSlyZXR1cm4gdGhpcy53aj09PXZvaWQgMCYmKHRoaXMud2o9dGhpcy5FaC5idygpP25ldyBXOShfLkcodGhpcy5FaCxfLlk1LDk4KSk6bnVsbCksdGhpcy53an19O3ZhciBFNz1jbGFzcyBleHRlbmRzIFZEYntjb25zdHJ1Y3RvcihhPW5ldyBfLlo1LGI9W10se3JlcXVlc3RlZExhbmd1YWdlOmMscmVxdWVzdGVkUmVnaW9uOmR9PXt9KXtpZihhLmdldElkKCkmJmEuZ2V0TmFtZSgpJiZhLmdldElkKCkhPT1fLnRvKGEuZ2V0TmFtZSgpKSl0aHJvdyBfLkFtKCJQbGFjZTogYGlkYCBhbmQgYHJlc291cmNlTmFtZWAgbXVzdCBtYXRjaCBvciBvbmx5IG9uZSBtdXN0IGJlIHByb3ZpZGVkIik7c3VwZXIoYSxiLChlLGY9W10pPT50aGlzLkdJKGUsZix7cmVxdWVzdGVkTGFuZ3VhZ2U6dGhpcy5yZXF1ZXN0ZWRMYW5ndWFnZSxyZXF1ZXN0ZWRSZWdpb246dGhpcy5yZXF1ZXN0ZWRSZWdpb259KSk7dGhpcy5yZXF1ZXN0ZWRMYW5ndWFnZT1jO3RoaXMucmVxdWVzdGVkUmVnaW9uPWQ7dXhiKHRoaXMsYS5nZXRJZCgpfHxhLmdldE5hbWUoKSl9ZXF1YWxzKGEpe2lmKCEoYSBpbnN0YW5jZW9mIEU3KSlyZXR1cm4hMTt2YXIgYj10aGlzLkJ3LGM9YS5CdztiPWIuc2l6ZT09PQpjLnNpemUmJkFycmF5LmZyb20oYikuZXZlcnkoZD0+Yy5oYXMoZCkpO3dDYih0aGlzLkVoKTt3Q2IoYS5FaCk7cmV0dXJuIHRoaXMuaWQ9PT1hLmlkJiZ0aGlzLnJlcXVlc3RlZExhbmd1YWdlPT09YS5yZXF1ZXN0ZWRMYW5ndWFnZSYmdGhpcy5yZXF1ZXN0ZWRSZWdpb249PT1hLnJlcXVlc3RlZFJlZ2lvbiYmYiYmXy5Kdih0aGlzLkVoLGEuRWgpfWNsb25lKGEpe3JldHVybiBGNyh0aGlzLkVoLmNsb25lKCksdGhpcy5CdyxhKX1HSShhLGI9W10sYz17fSl7cmV0dXJuIEY3KGEsYixjKX19O3ZhciBINz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLnFoPShhKjI0KjYwK2IqNjArYy1kKzEwMDgwKSUxMDA4MH1jb21wYXJlKGEpe2E9YS5xaDtyZXR1cm4gdGhpcy5xaD09PWE/MDp0aGlzLnFoPGE/LTE6MX19LEk3PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zdGFydFRpbWU9YTt0aGlzLmVuZFRpbWU9Yn1pbmNsdWRlcyhhKXtyZXR1cm4gYS5jb21wYXJlKHRoaXMuc3RhcnRUaW1lKT49MCYmYS5jb21wYXJlKHRoaXMuZW5kVGltZSk8MH19O3ZhciBYOT1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaXNFeHBhbmRhYmxlPXRoaXMuZnc9ITE7dGhpcy5yaD1fLkpsLnJoKCkucmgoKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7Y2xlYXJUaW1lb3V0KHRoaXMucWgpfWhtKGEpe2EuaGFzKCJwbGFjZSIpJiYodGhpcy53ZWVrZGF5RGVzY3JpcHRpb25zPXRoaXMucGxhY2U/LnJlZ3VsYXJPcGVuaW5nSG91cnM/LndlZWtkYXlEZXNjcmlwdGlvbnM/LnNsaWNlKCkpfVNqKCl7Y2xlYXJUaW1lb3V0KHRoaXMucWgpO3RoaXMucGxhY2UmJih0aGlzLnFoPXNldFRpbWVvdXQoKCk9PnZvaWQgXy5jcCh0aGlzKSw2RTQpKX10aSgpe3ZhciBhPXl4Yih0aGlzKTtpZighYSlyZXR1cm4gbnVsbDthPSgwLF8uV3EpYDxzcGFuIGNsYXNzPSJzdW1tYXJ5Ij4ke2F9PC9zcGFuPmA7cmV0dXJuIHRoaXMuaXNFeHBhbmRhYmxlJiZ0aGlzLndlZWtkYXlEZXNjcmlwdGlvbnM/CigwLF8uV3EpYAogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9ImV4cGFuZGFibGUiCiAgICAgICAgQGNsaWNrPSIkeygpPT57dGhpcy5mdz0hdGhpcy5md319IgogICAgICAgIGFyaWEtY29udHJvbHM9IndlZWtseS1ob3VycyIKICAgICAgICBhcmlhLWV4cGFuZGVkPSIke3RoaXMuZnd9Ij4KICAgICAgICA8c2xvdCBuYW1lPSJwcmVmaXgiPjwvc2xvdD4ke2F9CiAgICAgICAgJHtYQ2Ioe2FyaWFMYWJlbDoiU2hvdyBvcGVuIGhvdXJzIGZvciB0aGUgd2VlayIsdHJhbnNmb3JtOnRoaXMuZnc/InNjYWxlKDEsIC0xKSI6IiJ9KX0KICAgICAgPC9idXR0b24+CiAgICAgICR7dGhpcy5mdz9BeGIodGhpcyk6bnVsbH0KICAgIGA6YX19O1g5LnFoPW5ldyBTZXQoWyJidXNpbmVzc1N0YXR1cyIsInJlZ3VsYXJPcGVuaW5nSG91cnMiLCJ1dGNPZmZzZXRNaW51dGVzIl0pO1g5LnN0eWxlcz1jRGI7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWDkucHJvdG90eXBlLCJmdyIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWDkucHJvdG90eXBlLCJpc0V4cGFuZGFibGUiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLEU3KV0sWDkucHJvdG90eXBlLCJwbGFjZSIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3VycyIsWDkpO3ZhciBZOT1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuRHo9dGhpcy5zaG93RnVsbFJldmlld0xpbms9ITF9dGkoKXtpZighdGhpcy5yZXZpZXcpcmV0dXJuIiI7dmFyIGE9KHRoaXMuRHo/dGhpcy5yZXZpZXcub3JpZ2luYWxUZXh0OnRoaXMucmV2aWV3LnRleHQpPz8iIixiPXRoaXMucmV2aWV3Lm9yaWdpbmFsVGV4dExhbmd1YWdlQ29kZSxjPXRoaXMucmV2aWV3Lm9yaWdpbmFsVGV4dCYmdGhpcy5yZXZpZXcudGV4dCYmdGhpcy5yZXZpZXcub3JpZ2luYWxUZXh0IT09dGhpcy5yZXZpZXcudGV4dCYmYjtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0icmV2aWV3Ij4KICAgICAgICAke0J4Yih0aGlzLnJldmlldyx0aGlzLnNob3dGdWxsUmV2aWV3TGluayl9CiAgICAgICAgJHt0aGlzLnJldmlldy5yYXRpbmc/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGdtcC1pbnRlcm5hbC1yYXRpbmcKICAgICAgICAgICAgICAgIC5yYXRpbmc9JHt0aGlzLnJldmlldy5yYXRpbmd9PjwvZ21wLWludGVybmFsLXJhdGluZz4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAke2E/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAke2Euc3BsaXQoIlxuIikuZmlsdGVyKEJvb2xlYW4pLm1hcChkPT4oMCxfLldxKWA8cD4ke2R9PC9wPmApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICR7dGhpcy5yZXZpZXcudmlzaXREYXRlWWVhciE9bnVsbCYmdGhpcy5yZXZpZXcudmlzaXREYXRlTW9udGghPW51bGw/KDAsXy5XcSlgPGRpdiBjbGFzcz0iZGF0ZS12aXNpdGVkLXRleHQiPgogICAgICAgICAgICAgICR7ajcoIlZpc2l0ZWQge2RhdGV9Iix7ZGF0ZTpfLnV6YShuZXcgRGF0ZSh0aGlzLnJldmlldy52aXNpdERhdGVZZWFyLHRoaXMucmV2aWV3LnZpc2l0RGF0ZU1vbnRoKSl9KX0KICAgICAgICAgICAgPC9kaXY+IGA6Xy5Tc30KICAgICAgICAke2M/Q3hiKHRoaXMsYik6Xy5Tc30KICAgICAgPC9kaXY+CiAgICBgfXFoKCl7dGhpcy5Eej0hdGhpcy5Een19O1k5LnN0eWxlcz1fLiRzKFsiLnJldmlld3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9zaXRpb246cmVsYXRpdmV9LnJldmlldyAuaGVhZGVye2hlaWdodDo0OHB4O21hcmdpbi1ib3R0b206MTZweH0ucmV2aWV3IC5oZWFkZXIsLnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0ucmV2aWV3IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9ye2NvbG9yOnVuc2V0O3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OjA7LW1vei1wYWRkaW5nLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MDt0ZXh0LWRlY29yYXRpb246bm9uZX0ucmV2aWV3IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yOmZvY3VzLXZpc2libGUgLmF1dGhvci1uYW1lLC5yZXZpZXcgLmhlYWRlciBhLmhlYWRlci1hdXRob3I6aG92ZXIgLmF1dGhvci1uYW1le3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXBob3Rve2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ucmV2aWV3IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yIC5hdXRob3ItcmlnaHR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXJpZ2h0IC5hdXRob3ItbmFtZS1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCl9LnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXJpZ2h0IC5hdXRob3ItbmFtZS1jb250YWluZXIgLmF1dGhvci1uYW1le2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpOy13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsOy1tb3otZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm8tY29udGV4dHVhbDtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5yZXZpZXcgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodCAuYXV0aG9yLW5hbWUtY29udGFpbmVyIHN2Z3t3aWR0aDoxNHB4fS5yZXZpZXcgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodCAuYXV0aG9yLW5hbWUtY29udGFpbmVyIHN2ZzpkaXIocnRsKXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLTEpO3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5yZXZpZXcgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodCAucmVsYXRpdmUtdGltZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZmZmKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbWVkaXVtLG5vcm1hbCA1MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTtwYWRkaW5nOjFweCA1cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXJpZ2h0IC5yZWxhdGl2ZS10aW1lOmZvY3VzLXZpc2libGUsLnJldmlldyAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXJpZ2h0IC5yZWxhdGl2ZS10aW1lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5yZXZpZXcgLmhlYWRlciAucmVwb3J0LWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6YXV0bzstbW96LW1hcmdpbi1zdGFydDphdXRvO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ucmV2aWV3IC5oZWFkZXIgLnJlcG9ydC1idXR0b24tY29udGFpbmVyIGdtcC1pbnRlcm5hbC1tZW51OjpwYXJ0KGRpYWxvZyl7aW5zZXQtYmxvY2stc3RhcnQ6NDNweDtpbnNldC1pbmxpbmUtZW5kOjB9LnJldmlldyBnbXAtaW50ZXJuYWwtcmF0aW5ne2xpbmUtaGVpZ2h0OjFlbX0ucmV2aWV3IC50ZXh0LC5yZXZpZXcgZ21wLWludGVybmFsLXJhdGluZ3tmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5yZXZpZXcgLnRleHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsOy1tb3otZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm8tY29udGV4dHVhbDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTttYXJnaW4tdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5yZXZpZXcgLnRleHQgcHttYXJnaW46MH0ucmV2aWV3IC50cmFuc2xhdGlvbi1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nOjRweCAwfS5yZXZpZXcgLnRyYW5zbGF0aW9uLWNvbnRhaW5lciAudHJhbnNsYXRpb24tYnV0dG9uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2ZvbnQ6aW5oZXJpdDtnYXA6NHB4O3BhZGRpbmc6MTBweCAxNnB4IDEwcHggMH0ucmV2aWV3IC50cmFuc2xhdGlvbi1jb250YWluZXIgLnRyYW5zbGF0aW9uLWJ1dHRvbiAudHJhbnNsYXRlZC1ieXtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbX0ucmV2aWV3IC50cmFuc2xhdGlvbi1jb250YWluZXIgLnRyYW5zbGF0aW9uLWJ1dHRvbiAudG9nZ2xlLXRyYW5zbGF0aW9uLXRleHR7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSk7Zm9udDpub3JtYWwgNTAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZik7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbX0ucmV2aWV3IC5kYXRlLXZpc2l0ZWQtdGV4dHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktc21hbGwsbm9ybWFsIDQwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtO21hcmdpbi10b3A6OHB4fSJdKTsKXy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLGY4KV0sWTkucHJvdG90eXBlLCJyZXZpZXciLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLFk5LnByb3RvdHlwZSwic2hvd0Z1bGxSZXZpZXdMaW5rIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLFk5LnByb3RvdHlwZSwiRHoiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLXBsYWNlLXJldmlldyIsWTkpO3ZhciBaOT1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMudGFiTmFtZXM9W107dGhpcy5xaD10aGlzLmV2PTB9dGkoKXtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiByb2xlPSJ0YWJsaXN0IiBAa2V5ZG93bj0ke3RoaXMucmh9PgogICAgICAgICR7dGhpcy50YWJOYW1lcy5tYXAoKGEsYik9PigwLF8uV3EpYAogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgaWQ9InRhYi0ke2J9LWJ1dHRvbiIKICAgICAgICAgICAgICByb2xlPSJ0YWIiCiAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD0ke3RoaXMuZXY9PT1ifQogICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi0ke2J9LXBhbmVsIgogICAgICAgICAgICAgIHRhYmluZGV4PSR7dGhpcy5ldj09PWI/MDotMX0KICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuZXY9Yn19CiAgICAgICAgICAgICAgQGZvY3VzPSR7KCk9Pnt0aGlzLnFoPWJ9fT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24taW5uZXIiPgogICAgICAgICAgICAgICAgJHthfQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLXN0cmlwZSI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgICA8ZGl2CiAgICAgICAgaWQ9InRhYi0ke3RoaXMuZXZ9LXBhbmVsIgogICAgICAgIHJvbGU9InRhYnBhbmVsIgogICAgICAgIGFyaWEtbGFiZWxsZWRieT0idGFiLSR7dGhpcy5ldn0tYnV0dG9uIj4KICAgICAgICA8c2xvdCBuYW1lPSJ0YWItJHt0aGlzLmV2fS1jb250ZW50Ij48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1yaChhKXtzd2l0Y2goYS5rZXkpe2Nhc2UgIkFycm93TGVmdCI6dGhpcy5wdlt0aGlzLnFoPjA/dGhpcy5xaC0xOnRoaXMucHYubGVuZ3RoLTFdPy5mb2N1cygpO2JyZWFrO2Nhc2UgIkFycm93UmlnaHQiOnRoaXMucHZbdGhpcy5xaCsxPj10aGlzLnB2Lmxlbmd0aD8wOnRoaXMucWgrMV0/LmZvY3VzKCk7YnJlYWs7Y2FzZSAiSG9tZSI6dGhpcy5wdlswXT8uZm9jdXMoKTticmVhaztjYXNlICJFbmQiOnRoaXMucHZbdGhpcy5wdi5sZW5ndGgtMV0/LmZvY3VzKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59YS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0KCl9fTtaOS5zdHlsZXM9Xy4kcyhbIltyb2xlPXRhYmxpc3QgaV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmUsbGlnaHQtZGFyaygjZTNlM2UzLCM0NzQ3NDcpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ4cHg7b3ZlcmZsb3c6YXV0byBoaWRkZW47cGFkZGluZzowIDIwcHh9W3JvbGU9dGFibGlzdCBpXSBidXR0b257YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbGFyZ2Usbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWRkaW5nOjAgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9W3JvbGU9dGFibGlzdCBpXSBidXR0b24gLmJ1dHRvbi1pbm5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO21hcmdpbjphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH1bcm9sZT10YWJsaXN0IGldIGJ1dHRvbiAuYnV0dG9uLWlubmVyIC5ib3R0b20tc3RyaXBle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfVtyb2xlPXRhYmxpc3QgaV0gYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSksdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKSA4JSl9W3JvbGU9dGFibGlzdCBpXSBidXR0b246Zm9jdXMtdmlzaWJsZXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSkgMTAlKX1bcm9sZT10YWJsaXN0IGldIGJ1dHRvblthcmlhLXNlbGVjdGVkPXRydWVde2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpfVtyb2xlPXRhYmxpc3QgaV0gYnV0dG9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0gLmJvdHRvbS1zdHJpcGV7Ym9yZGVyLXRvcDozcHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSl9W3JvbGU9dGFibGlzdCBpXSBidXR0b25bYXJpYS1zZWxlY3RlZD10cnVlXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpLHZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpIDglKX1bcm9sZT10YWJsaXN0IGldIGJ1dHRvblthcmlhLXNlbGVjdGVkPXRydWVdOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSx2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKSAxMCUpfSJdKTsKXy5EKFtrNygnYnV0dG9uW3JvbGU9InRhYiJdJyksXy5GKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxaOS5wcm90b3R5cGUsInB2Iix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLFo5LnByb3RvdHlwZSwidGFiTmFtZXMiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWjkucHJvdG90eXBlLCJldiIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtdGFiYmVkLWxheW91dCIsWjkpO3ZhciBXRGI9KCh7Y2xhc3NOYW1lOmF9KT0+KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9ImN1cnJlbnRDb2xvciIgY2xhc3M9IiR7YX0iIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIj48cGF0aCBkPSJNNTYwLTI0MCAzMjAtNDgwbDI0MC0yNDAgNTYgNTYtMTg0IDE4NCAxODQgMTg0eiIvPjwvc3ZnPmApKHtjbGFzc05hbWU6ImFycm93In0pLFhEYj0oKHtjbGFzc05hbWU6YX0pPT4oMCxfLldxKWA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iJHthfSIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGQ9Im0yNTYtMjAwLTU2LTU2IDIyNC0yMjQtMjI0LTIyNCA1Ni01NiAyMjQgMjI0IDIyNC0yMjQgNTYgNTYtMjI0IDIyNCAyMjQgMjI0LTU2IDU2LTIyNC0yMjR6Ii8+PC9zdmc+YCkoe2NsYXNzTmFtZToiY2xvc2UifSksWURiPV8uWHEoe2NsYXNzTmFtZToib3Blbi1pbi1uZXciLGFyaWFMYWJlbDpfLlFxKCl9KSwKJDk9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLnBob3RvRGlzcGxheURhdGFMaXN0PVtdO3RoaXMuY3VycmVudFBob3RvSW5kZXg9MDt0aGlzLkNCPSExO3RoaXMudGg9dGhpcy5zaD0wO3RoaXMuY2xvc2U9KCk9Pnt0aGlzLmJqPy5jbG9zZSgpO3RoaXMuQ0I9ITF9O3RoaXMucmg9KCk9Pnt0aGlzLmN1cnJlbnRQaG90b0luZGV4PU1hdGgubWF4KHRoaXMuY3VycmVudFBob3RvSW5kZXgtMSwwKX07dGhpcy5xaD0oKT0+e3RoaXMuY3VycmVudFBob3RvSW5kZXg9TWF0aC5taW4odGhpcy5jdXJyZW50UGhvdG9JbmRleCsxLHRoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoLTEpfTt0aGlzLnhoPWE9PntuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM8MiYmd2luZG93LnNjcmVlbi53aWR0aD42NDB8fCh0aGlzLnNoPWEudG91Y2hlc1swXS5zY3JlZW5YLHRoaXMudGg9YS50b3VjaGVzWzBdLnNjcmVlblksYS5zdG9wUHJvcGFnYXRpb24oKSl9Owp0aGlzLndoPWE9PntpZighKHdpbmRvdy5zY3JlZW4ud2lkdGg+NjQwKSl7dmFyIGI9YS5jaGFuZ2VkVG91Y2hlc1swXS5zY3JlZW5YLGM9Yi10aGlzLnNoLGQ9YS5jaGFuZ2VkVG91Y2hlc1swXS5zY3JlZW5ZLXRoaXMudGgsZT10aGlzLklqKCksZj10aGlzLlBLPy5vcGVuO3N3aXRjaChjPC0xMD8xOmM+MTA/MjpkPC0xMD8zOmQ+MTA/NDpiPHdpbmRvdy5pbm5lcldpZHRoKi4yNT81OmI+d2luZG93LmlubmVyV2lkdGgqLjc1PzY6Nyl7Y2FzZSAxOmU/dGhpcy5yaCgpOnRoaXMucWgoKTthLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UgNTpmfHwoZT90aGlzLnFoKCk6dGhpcy5yaCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpO2JyZWFrO2Nhc2UgMjplP3RoaXMucWgoKTp0aGlzLnJoKCk7YS5zdG9wUHJvcGFnYXRpb24oKTticmVhaztjYXNlIDY6Znx8KGU/dGhpcy5yaCgpOnRoaXMucWgoKSxhLnN0b3BQcm9wYWdhdGlvbigpKTticmVhaztjYXNlIDc6Znx8KHRoaXMucWgoKSxhLnN0b3BQcm9wYWdhdGlvbigpKX19fTsKdGhpcy55aD1hPT57dmFyIGI9dGhpcy5JaigpO2Eua2V5PT09IkVzY2FwZSImJmEuc3RvcFByb3BhZ2F0aW9uKCk7YS5rZXk9PT0iQXJyb3dMZWZ0IiYmKGI/dGhpcy5xaCgpOnRoaXMucmgoKSxhLnN0b3BQcm9wYWdhdGlvbigpKTthLmtleT09PSJBcnJvd1JpZ2h0IiYmKGI/dGhpcy5yaCgpOnRoaXMucWgoKSxhLnN0b3BQcm9wYWdhdGlvbigpKX19c2hvdygpe3RoaXMuYmo/LnNob3dNb2RhbCgpO3RoaXMuQ0I9ITA7KHRoaXMuUGsucXVlcnlTZWxlY3RvcigiLmF1dGhvci1pbmZvLWJ1dHRvbiIpfHx0aGlzLlBrLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbi5jbG9zZSIpKT8uZm9jdXMoKX1nZXQgb3Blbigpe3JldHVybiB0aGlzLkNCfWhtKCl7dGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdC5sZW5ndGg+MCYmKHRoaXMuY3VycmVudFBob3RvSW5kZXg+PXRoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoP3RoaXMuY3VycmVudFBob3RvSW5kZXg9dGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdC5sZW5ndGgtCjE6dGhpcy5jdXJyZW50UGhvdG9JbmRleDwwJiYodGhpcy5jdXJyZW50UGhvdG9JbmRleD0wKSl9dGkoKXtpZighdGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdC5sZW5ndGgpcmV0dXJuKDAsXy5XcSlgYDt2YXIgYT10aGlzLnBob3RvRGlzcGxheURhdGFMaXN0W3RoaXMuY3VycmVudFBob3RvSW5kZXhdLGI9YS5hdXRob3JBdHRyaWJ1dGlvbnMubGVuZ3RoP2EuYXV0aG9yQXR0cmlidXRpb25zWzBdOntkaXNwbGF5TmFtZToiIn0sYz0iUGhvdG8gb2YgIitiLmRpc3BsYXlOYW1lO2M9KDAsXy5XcSlgCiAgICAgIDxhCiAgICAgICAgY2xhc3M9ImF1dGhvci1pbmZvLWJ1dHRvbiIKICAgICAgICBhcmlhLWxhYmVsPSR7Yi51cmk/Xy5RcShiLmRpc3BsYXlOYW1lKTpfLlNzfQogICAgICAgIGhyZWY9JHtiLnVyaT8/dm9pZCAwPz9fLlNzfQogICAgICAgIHRhcmdldD0iX2JsYW5rIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aG9yLWF0dHJpYnV0aW9uIHN1YiI+CiAgICAgICAgICAgICR7Yi5waG90b1VSST8oMCxfLk9qYSkoYi5waG90b1VSSSwoMCxfLldxKWAgPGltZwogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImF1dGhvci1hdHRyaWJ1dGlvbi1waG90byIKICAgICAgICAgICAgICAgICAgICAgIGFsdD0ke2N9CiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT0ke2N9CiAgICAgICAgICAgICAgICAgICAgICBzcmM9JHtlbmNvZGVVUkkoYi5waG90b1VSSSl9IC8+YCk6IiJ9CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItYXR0cmlidXRpb24tbmFtZSI+CiAgICAgICAgICAgICAgJHtiLmRpc3BsYXlOYW1lfQogICAgICAgICAgICAgICR7Yi51cmk/WURiOiIifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9hPgogICAgYDt2YXIgZD0oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1jYXJkIj4KICAgICAgICAke2EuZmxhZ0NvbnRlbnRVUkl8fGEuZ29vZ2xlTWFwc1VSST8oMCxfLldxKWA8Z21wLWludGVybmFsLW1lbnUKICAgICAgICAgICAgICAubWVudVN0eWxlPSR7IkxJR0hUQk9YIn0KICAgICAgICAgICAgICAubWVudUZvbnQ9JHsiQk9EWV9NRURJVU0ifQogICAgICAgICAgICAgIC5tZW51SXRlbXM9JHtbe3RleHQ6Ik9wZW4gaW4gTWFwcyIsdXJpOmEuZ29vZ2xlTWFwc1VSSX0se3RleHQ6IlJlcG9ydCBwaG90byIsdXJpOmEuZmxhZ0NvbnRlbnRVUkl9XS5maWx0ZXIoKHt1cmk6aH0pPT4hIWgpfT48L2dtcC1pbnRlcm5hbC1tZW51PmA6IiJ9CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgY2xhc3M9ImNsb3NlIGNpcmNsZS1idXR0b24iCiAgICAgICAgICBhcmlhLWxhYmVsPSR7IkNsb3NlIGxpZ2h0Ym94In0KICAgICAgICAgIHRpdGxlPSR7IkNsb3NlIGxpZ2h0Ym94In0KICAgICAgICAgIEBjbGljaz0ke3RoaXMuY2xvc2V9PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWJ1dHRvbi1zdmctY29udGFpbmVyIj4ke1hEYn08L2Rpdj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgLGU9dGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdC5sZW5ndGg+MT90aGlzLnBob3RvRGlzcGxheURhdGFMaXN0Lm1hcCgoaCxrKT0+KDAsXy5XcSlgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9JHsoMCxfLmFyKSh7c2VsZWN0ZWQ6dGhpcy5jdXJyZW50UGhvdG9JbmRleD09PWssInByb2dyZXNzLWJhci1zZWdtZW50IjohMH0pfT4KICAgICAgICAgICAgICA8L2Rpdj5gKTpbXSxmPSgwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJuYXYtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibmF2LWNvbnRyb2xzIj4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgYXJpYS1sYWJlbD0keyJTaG93IHByZXZpb3VzIHBob3RvIn0KICAgICAgICAgICAgdGl0bGU9JHsiU2hvdyBwcmV2aW91cyBwaG90byJ9CiAgICAgICAgICAgIGNsYXNzPSJuYXYtYnV0dG9uIGNpcmNsZS1idXR0b24gbGVmdCIKICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5jdXJyZW50UGhvdG9JbmRleD09PTB9CiAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucmh9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtYnV0dG9uLXN2Zy1jb250YWluZXIiPiR7V0RifTwvZGl2PgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHsiU2hvdyBuZXh0IHBob3RvIn0KICAgICAgICAgICAgdGl0bGU9JHsiU2hvdyBuZXh0IHBob3RvIn0KICAgICAgICAgICAgY2xhc3M9Im5hdi1idXR0b24gY2lyY2xlLWJ1dHRvbiByaWdodCIKICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5jdXJyZW50UGhvdG9JbmRleD09PXRoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoLTF9CiAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucWh9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtYnV0dG9uLXN2Zy1jb250YWluZXIiPiR7V0RifTwvZGl2PgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGdtcC1pbnRlcm5hbC1hdHRyaWJ1dGlvbgogICAgICAgICAgLmF0dHJpYnV0aW9uVHlwZT0keyJMT0dPX09VVExJTkUifQogICAgICAgICAgLnNob3dJbmZvQnV0dG9uPSR7ITF9CiAgICAgICAgICBzdHlsZT0iY29sb3Itc2NoZW1lOiBkYXJrOyI+CiAgICAgICAgPC9nbXAtaW50ZXJuYWwtYXR0cmlidXRpb24+CiAgICAgIDwvZGl2PgogICAgYCxnPSJQaG90byAiKyh0aGlzLmN1cnJlbnRQaG90b0luZGV4KzEpLnRvU3RyaW5nKCkrIiBmcm9tICIrYi5kaXNwbGF5TmFtZTtiPSJQaG90byAiKyh0aGlzLmN1cnJlbnRQaG90b0luZGV4KzEpLnRvU3RyaW5nKCkrIiBvZiAiK3RoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoLnRvU3RyaW5nKCkrIiBmcm9tICIrYi5kaXNwbGF5TmFtZTtyZXR1cm4oMCxfLldxKWAgPGRpYWxvZyBjbGFzcz0ibGlnaHRib3giIEBrZXlkb3duPSR7dGhpcy55aH0+CiAgICAgIDxkaXYgY2xhc3M9InNyLW9ubHkiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+CiAgICAgICAgJHt0aGlzLm9wZW4/YjoiIn0KICAgICAgPC9kaXY+CiAgICAgICR7KDAsXy5PamEpKGEuVXYsdGhpcy5vcGVuPygwLF8uV3EpYCA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJiYWNrZHJvcCIKICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnJHthLnd3Pz9hLlV2fScpIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2tkcm9wLW92ZXJsYXkiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGhvdG8tY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgJHthLnd3PygwLF8uV3EpYAogICAgICAgICAgICAgICAgICAgICAgICA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBob3RvIHByZXZpZXciCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSR7YS53d30KICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9JHtnfQogICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSR7Z30KICAgICAgICAgICAgICAgICAgICAgICAgICBAdG91Y2hzdGFydD0ke3RoaXMueGh9CiAgICAgICAgICAgICAgICAgICAgICAgICAgQHRvdWNoZW5kPSR7dGhpcy53aH0gLz4KICAgICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgIDxpbWcKICAgICAgICAgICAgICAgICAgICBjbGFzcz0icGhvdG8gZnVsbCIKICAgICAgICAgICAgICAgICAgICBzcmM9JHthLlV2fQogICAgICAgICAgICAgICAgICAgIGFsdD0ke2d9CiAgICAgICAgICAgICAgICAgICAgdGl0bGU9JHtnfQogICAgICAgICAgICAgICAgICAgIEB0b3VjaHN0YXJ0PSR7dGhpcy54aH0KICAgICAgICAgICAgICAgICAgICBAdG91Y2hlbmQ9JHt0aGlzLndofSAvPgogICAgICAgICAgICAgICAgPC9kaXY+YDoiIil9CiAgICAgIDxkaXYgY2xhc3M9ImxpZ2h0Ym94LWhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWNvbnRlbnQiPiAke2N9ICR7ZH08L2Rpdj4KICAgICAgICAke3RoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubGVuZ3RoPjE/KDAsXy5XcSlgPGRpdiBjbGFzcz0ic2VnbWVudGVkLXByb2dyZXNzLWJhciIgYXJpYS1oaWRkZW49InRydWUiCiAgICAgICAgICAgICAgPiR7ZX08L2RpdgogICAgICAgICAgICA+YDoiIn0KICAgICAgPC9kaXY+CiAgICAgICR7Zn0KICAgIDwvZGlhbG9nPmB9U2ooKXtpZih0aGlzLm9wZW4pZm9yKGxldCBhIG9mW3RoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3RbdGhpcy5jdXJyZW50UGhvdG9JbmRleCsxXT8ud3csdGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdFt0aGlzLmN1cnJlbnRQaG90b0luZGV4KzFdPy5Vdix0aGlzLnBob3RvRGlzcGxheURhdGFMaXN0W3RoaXMuY3VycmVudFBob3RvSW5kZXgtMV0/Lnd3LHRoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3RbdGhpcy5jdXJyZW50UGhvdG9JbmRleC0xXT8uVXZdKWEmJigobmV3IEltYWdlKS5zcmM9YSl9SWooKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcykuZGlyZWN0aW9uPT09InJ0bCJ9fTskOS5zdHlsZXM9YURiO18uRChbXy51cSgiZGlhbG9nIiksXy5GKCJkZXNpZ246dHlwZSIsSFRNTERpYWxvZ0VsZW1lbnQpXSwkOS5wcm90b3R5cGUsImJqIix2b2lkIDApOwpfLkQoW18udXEoImdtcC1pbnRlcm5hbC1tZW51IiksXy5GKCJkZXNpZ246dHlwZSIsRzkpXSwkOS5wcm90b3R5cGUsIlBLIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLCQ5LnByb3RvdHlwZSwicGhvdG9EaXNwbGF5RGF0YUxpc3QiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLCQ5LnByb3RvdHlwZSwiY3VycmVudFBob3RvSW5kZXgiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJDkucHJvdG90eXBlLCJDQiIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtbGlnaHRib3giLCQ5KTt2YXIgRHhiPSgoe2NsYXNzTmFtZTphfSk9PigwLF8uV3EpYDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGNsYXNzPSIke2F9IiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHBhdGggZD0iTTM2MC00MDBoNDAwTDYyMi01ODBsLTkyIDEyMC02Mi04MHptLTQwIDE2MHEtMzMgMC01Ni41LTIzLjVUMjQwLTMyMHYtNDgwcTAtMzMgMjMuNS01Ni41VDMyMC04ODBoNDgwcTMzIDAgNTYuNSAyMy41VDg4MC04MDB2NDgwcTAgMzMtMjMuNSA1Ni41VDgwMC0yNDB6bTAtODBoNDgwdi00ODBIMzIwek0xNjAtODBxLTMzIDAtNTYuNS0yMy41VDgwLTE2MHYtNTYwaDgwdjU2MGg1NjB2ODB6bTE2MC03MjB2NDgweiIvPjwvc3ZnPmApKHtjbGFzc05hbWU6InBob3RvLWxpYnJhcnkifSksYSQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLnJlcXVlc3RTdGF0dXM9IkxPQURJTkciO3RoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3Q9CltdO3RoaXMucWg9W107dGhpcy5tYXhQaG90b3M9dGhpcy5udW1QbGFjZWhvbGRlcnM9Mzt0aGlzLmxpZ2h0Ym94RW5hYmxlZD0hMDt0aGlzLmxpZ2h0Ym94QWZmb3JkYW5jZVR5cGU9MTt0aGlzLm1pbmk9ITE7dGhpcy50aD17REk6bmV3IFNldH19dGkoKXtzd2l0Y2godGhpcy5yZXF1ZXN0U3RhdHVzKXtjYXNlICJMT0FESU5HIjp2YXIgYT1KeGIodGhpcyk7YnJlYWs7Y2FzZSAiRVJST1IiOmE9SzcoWygwLF8uV3EpYDxkaXYgY2xhc3M9ImltYWdlIj4KICAgICAgICAgICR7RnhiKCF0aGlzLm1pbmkpfQogICAgICAgIDwvZGl2PiBgXSxbImxvYWRlZCJdKTticmVhaztkZWZhdWx0OmE9TXhiKHRoaXMpfXJldHVybigwLF8uV3EpYDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JHthfTwvZGl2PmB9aG0oYSl7YS5oYXMoInBob3RvRGlzcGxheURhdGFMaXN0IikmJih0aGlzLnFoPXRoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3QubWFwKGI9Pnt2YXIgYz1iLnVyaTtpZihjLmluY2x1ZGVzKCJnb29nbGV1c2VyY29udGVudC5jb20iKSl7dmFyIGQ9TDcoYyx7d2lkdGg6d2luZG93LmlubmVyV2lkdGgqd2luZG93LmRldmljZVBpeGVsUmF0aW8saGVpZ2h0OndpbmRvdy5pbm5lckhlaWdodCp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb30pO3ZhciBlPUw3KGMse3dpZHRoOndpbmRvdy5pbm5lcldpZHRoLzgsaGVpZ2h0OndpbmRvdy5pbm5lckhlaWdodC84fSl9ZWxzZSBkPWU9YztyZXR1cm57Li4uYixVdjpkLHd3OmV9fSksdGhpcy50aC5ESS5jbGVhcigpKX1Taigpe2lmKHRoaXMucmVxdWVzdFN0YXR1cz09PQoiU1VDQ0VTUyImJnRoaXMubGlnaHRib3hFbmFibGVkKWZvcihsZXQgYT0wO2E8dGhpcy5pbWFnZXMubGVuZ3RoO2ErKyl7bGV0IGI9dGhpcy5xaFthXT8ud3c7YiYmKChuZXcgSW1hZ2UpLnNyYz1iKX19fTthJC5zdHlsZXM9JENiO18uRChbXy51cSgiZ21wLWludGVybmFsLWxpZ2h0Ym94IiksXy5GKCJkZXNpZ246dHlwZSIsJDkpXSxhJC5wcm90b3R5cGUsImp4Iix2b2lkIDApO18uRChbXy51cSgiLmNvbGxhZ2UtZ3JpZCIpLF8uRigiZGVzaWduOnR5cGUiLEhUTUxFbGVtZW50KV0sYSQucHJvdG90eXBlLCJKRyIsdm9pZCAwKTtfLkQoW18udXEoIi5jb250YWluZXIiKSxfLkYoImRlc2lnbjp0eXBlIixIVE1MRWxlbWVudCldLGEkLnByb3RvdHlwZSwiY29udGFpbmVyIix2b2lkIDApO18uRChbazcoIi5pbWFnZSwgLnBsYWNlaG9sZGVyIiksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYSQucHJvdG90eXBlLCJpbWFnZXMiLHZvaWQgMCk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxhJC5wcm90b3R5cGUsInJlcXVlc3RTdGF0dXMiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sYSQucHJvdG90eXBlLCJwaG90b0Rpc3BsYXlEYXRhTGlzdCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYSQucHJvdG90eXBlLCJudW1QbGFjZWhvbGRlcnMiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE51bWJlcildLGEkLnByb3RvdHlwZSwibWF4UGhvdG9zIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxhJC5wcm90b3R5cGUsImxpZ2h0Ym94RW5hYmxlZCIsdm9pZCAwKTsKXy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLGEkLnByb3RvdHlwZSwibGlnaHRib3hBZmZvcmRhbmNlVHlwZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYSQucHJvdG90eXBlLCJtaW5pIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1jb2xsYWdlIixhJCk7dmFyIFpEYj1fLiRzKFsic2VjdGlvbntwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LmNvbGxhZ2V7LXdlYmtpdC1wYWRkaW5nLWJlZm9yZTowO3BhZGRpbmctYmxvY2stc3RhcnQ6MH0uY29sbGFnZSBnbXAtaW50ZXJuYWwtY29sbGFnZXthc3BlY3QtcmF0aW86MS41LzF9Omhvc3QtY29udGV4dCgubG9hZGluZykgLmNvbGxhZ2V7cGFkZGluZzowIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfUAtd2Via2l0LWtleWZyYW1lcyBpbWFnZS1mYWRlLWluLWtleWZyYW1lc3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBza2VsZXRvbi1wdWxzZS1rZXlmcmFtZXN7MCV7b3BhY2l0eTouNX01MCV7b3BhY2l0eToxfXRve29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi41fX0uaGVyby1pbWFnZXtsaW5lLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9Lmhlcm8taW1hZ2UgYnV0dG9uLmltYWdlLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcn0uaGVyby1pbWFnZSAuaW1hZ2UtY29udGFpbmVye2FzcGVjdC1yYXRpbzozLzI7Ym9yZGVyOm5vbmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcDtwYWRkaW5nOjA7cGxhY2UtY29udGVudDpjZW50ZXJ9Lmhlcm8taW1hZ2UgaW1ney13ZWJraXQtYW5pbWF0aW9uOmltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzIDFzO2FuaW1hdGlvbjppbWFnZS1mYWRlLWluLWtleWZyYW1lcyAxcztoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3dpZHRoOjEwMCV9Lmhlcm8taW1hZ2UgLnBsYWNlaG9sZGVyLC5oZXJvLWltYWdlIGltZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKX0uaGVyby1pbWFnZSAucGxhY2Vob2xkZXJ7LXdlYmtpdC1hbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZTthbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZX0uaGVyby1pbWFnZS5jb21wYWN0LXZlcnRpY2Fsey13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjB9Lmhlcm8taW1hZ2UuY29tcGFjdC12ZXJ0aWNhbCBnbXAtaW50ZXJuYWwtY29sbGFnZXthc3BlY3QtcmF0aW86MS41LzE7Ym9yZGVyLXJhZGl1czowfS5oZXJvLWltYWdlLmNvbXBhY3QtaG9yaXpvbnRhbHstd2Via2l0LWFsaWduLXNlbGY6c3RhcnQ7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOnN0YXJ0Oy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIDkwcHg7LW1vei1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA5MHB4O2ZsZXg6MCAwIDkwcHg7aGVpZ2h0OjkwcHh9Lmhlcm8taW1hZ2UuY29tcGFjdC1ob3Jpem9udGFsLm1lZGlhLXNpemUtc21hbGx7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgNjBweDstbW96LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDYwcHg7ZmxleDowIDAgNjBweDtoZWlnaHQ6NjBweH0uaGVyby1pbWFnZS5jb21wYWN0LWhvcml6b250YWwubWVkaWEtc2l6ZS1tZWRpdW17LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgNzVweDstbW96LWJveC1mbGV4OjA7LW1zLWZsZXg6MCAwIDc1cHg7ZmxleDowIDAgNzVweDtoZWlnaHQ6NzVweH0uaGVyby1pbWFnZS5jb21wYWN0LWhvcml6b250YWwubWVkaWEtc2l6ZS1sYXJnZXstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCA5MHB4Oy1tb3otYm94LWZsZXg6MDstbXMtZmxleDowIDAgOTBweDtmbGV4OjAgMCA5MHB4O2hlaWdodDo5MHB4fS5oZXJvLWltYWdlLmNvbXBhY3QtaG9yaXpvbnRhbHtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpfS5oZXJvLWltYWdlLmNvbXBhY3QtaG9yaXpvbnRhbCBnbXAtaW50ZXJuYWwtY29sbGFnZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1nbXAtdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMsOHB4KTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7d2lkdGg6MTAwJX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyICh3aWR0aCA8IDM1MHB4KXsuaGVyby1pbWFnZS5jb21wYWN0LWhvcml6b250YWx7ZGlzcGxheTpub25lfX0iXSk7dmFyIGIkPWNsYXNzIGV4dGVuZHMgQTl7c2V0IGxpZ2h0Ym94UHJlZmVycmVkKGEpe3RoaXMudGg9Xy5rcCh0aGlzLCJsaWdodGJveFByZWZlcnJlZCIsXy5jcyxhKXx8ITF9Z2V0IGxpZ2h0Ym94UHJlZmVycmVkKCl7cmV0dXJuIHRoaXMudGh9c2V0IHByZWZlcnJlZFNpemUoYSl7dGhpcy53aD1fLmtwKHRoaXMsInByZWZlcnJlZFNpemUiLF8uTW0oXy5GbSh3OSkpLGEpfHxudWxsfWdldCBwcmVmZXJyZWRTaXplKCl7cmV0dXJuIHRoaXMud2h9c2V0IHF1ZXJ5KGEpe3RoaXMucmg9bnVsbH1nZXQgcXVlcnkoKXtyZXR1cm4gbnVsbH1zZXQgcmFua1ByZWZlcmVuY2UoYSl7dGhpcy5zaD1udWxsfWdldCByYW5rUHJlZmVyZW5jZSgpe3JldHVybiBudWxsfWdldCBzZWFyY2hNZWRpYUNvdW50KCl7cmV0dXJuIHRoaXMuQ0oubGVuZ3RofWhtKGEpe3N1cGVyLmhtKGEpO3c3KHRoaXMuQkMuZUopfHx0aGlzLnJoPT09bnVsbCYmdGhpcy5zaD09PW51bGx8fChjb25zb2xlLndhcm4oIjxnbXAtcGxhY2UtbWVkaWE+IGlzIGF0dGVtcHRpbmcgdG8gdXNlIGFkdmFuY2VkIHByb3BlcnRpZXMgaW4gYSBub24tYWR2YW5jZWQgY29tcG9uZW50LiIpLAp0aGlzLnNoPXRoaXMucmg9bnVsbCl9Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy50aD0hMTt0aGlzLnNoPXRoaXMucmg9dGhpcy53aD1udWxsO3RoaXMucGhvdG9EaXNwbGF5RGF0YUxpc3Q9W107dGhpcy5DSj1bXTt0aGlzLnZtPSJMT0FESU5HIjt0aGlzLnhpKGEsYiQsIlBsYWNlTWVkaWFFbGVtZW50Iik7dGhpcy5saWdodGJveFByZWZlcnJlZD1hLmxpZ2h0Ym94UHJlZmVycmVkO3RoaXMucHJlZmVycmVkU2l6ZT1hLnByZWZlcnJlZFNpemV9cWgoKXt2YXIgYT17bGlnaHRib3hQcmVmZXJyZWQ6dGhpcy5saWdodGJveFByZWZlcnJlZCxwcmVmZXJyZWRTaXplOnRoaXMucHJlZmVycmVkU2l6ZT8/IlNNQUxMIn07dGhpcy5xdWVyeSE9bnVsbCYmKGEucXVlcnk9dGhpcy5xdWVyeSk7dGhpcy5yYW5rUHJlZmVyZW5jZSE9bnVsbCYmKGEucmFua1ByZWZlcmVuY2U9dGhpcy5yYW5rUHJlZmVyZW5jZSk7cmV0dXJuIGF9fTtiJC5wcm90b3R5cGUuY29uc3RydWN0b3I9YiQucHJvdG90eXBlLmNvbnN0cnVjdG9yOwpiJC5JaT17S2k6MjUzNDQzLEppOjI1MzQyM307YiQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsWkRiXTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLGIkLnByb3RvdHlwZSwicGhvdG9EaXNwbGF5RGF0YUxpc3QiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxiJC5wcm90b3R5cGUsIkNKIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLGIkLnByb3RvdHlwZSwidm0iLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDoibGlnaHRib3gtcHJlZmVycmVkIix0eXBlOkJvb2xlYW4sTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sYiQucHJvdG90eXBlLCJsaWdodGJveFByZWZlcnJlZCIsbnVsbCk7Cl8uRChbXy50cSh7S2g6InByZWZlcnJlZC1zaXplIixmaTpfLndvKHc5KSxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxiJC5wcm90b3R5cGUsInByZWZlcnJlZFNpemUiLG51bGwpO18uRChbXy50cSh7S2g6InF1ZXJ5Iix0eXBlOlN0cmluZyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxiJC5wcm90b3R5cGUsInF1ZXJ5IixudWxsKTtfLkQoW18udHEoe0toOiJyYW5rLXByZWZlcmVuY2UiLGZpOl8ud28oSUNiKSxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxiJC5wcm90b3R5cGUsInJhbmtQcmVmZXJlbmNlIixudWxsKTtbLi4uQTkuc3R5bGVzXTt2YXIgJERiPV8uJHMoWyJzcGFue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmZvbnQtc2l6ZS0tc21hbGx7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmZvbnQtc2l6ZS0tbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19Il0pO3ZhciBjJD1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxjJCwiUGxhY2VPcGVuTm93U3RhdHVzRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtjJC5wcm90b3R5cGUuY29uc3RydWN0b3I9YyQucHJvdG90eXBlLmNvbnN0cnVjdG9yO2MkLklpPXtLaToyNTM0NDksSmk6MjUzNDI5fTtjJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcywkRGJdO3ZhciBhRWI9Xy4kcyhbImdtcC1pbnRlcm5hbC1wbGFjZS1vcGVuaW5nLWhvdXJze2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9Z21wLWludGVybmFsLXBsYWNlLW9wZW5pbmctaG91cnMgc3Zne2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpOy13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7LXdlYmtpdC1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTstbW96LW1hcmdpbi1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO21hcmdpbi1pbmxpbmUtZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt3aWR0aDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctdHdvLWV4dHJhLWxhcmdlLDI0cHgpfSJdKTt2YXIgZCQ9Y2xhc3MgZXh0ZW5kcyBBOXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnhpKGEsZCQsIlBsYWNlT3BlbmluZ0hvdXJzRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtkJC5JaT17S2k6MjUzNDUzLEppOjI1MzQzM307ZCQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsYUViXTt2YXIgYkViPV8uJHMoWyIuY29udGFjdHMtcm93ey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt0ZXh0LWRlY29yYXRpb246bm9uZX0uY29udGFjdHMtcm93IHN2Z3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKTstd2Via2l0LWZsZXgtc2hyaW5rOjA7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowOy13ZWJraXQtbWFyZ2luLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7LW1vei1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7d2lkdGg6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXR3by1leHRyYS1sYXJnZSwyNHB4KX0iXSk7dmFyIGUkPWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLGUkLCJQbGFjZVBob25lTnVtYmVyRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtlJC5JaT17S2k6MjUzNDUyLEppOjI1MzQzMn07ZSQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsYkViXTt2YXIgY0ViPV8uJHMoWyIuY29udGFjdHMtcm93ey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KX0uY29udGFjdHMtcm93IHN2Z3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKTstd2Via2l0LWZsZXgtc2hyaW5rOjA7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowOy13ZWJraXQtbWFyZ2luLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7LW1vei1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTttYXJnaW4taW5saW5lLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7d2lkdGg6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXR3by1leHRyYS1sYXJnZSwyNHB4KX0iXSk7dmFyIGYkPWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLGYkLCJQbGFjZVBsdXNDb2RlRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtmJC5JaT17S2k6MjUzNDU3LEppOjI1MzQzN307ZiQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsY0ViXTt2YXIgZEViPV8uJHMoWyIucG9wdWxhci10aW1lcy1jb250YWluZXJ7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpIDB9LnNlY3Rpb24taGVhZGVyey13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTstbW96LXBhZGRpbmctc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KX0uc2VjdGlvbi1oZWFkZXIsLnNlY3Rpb24taGVhZGVyLWxhYmVsey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9c2xvdFtuYW1lPXByZWZpeCBpXTo6c2xvdHRlZChzdmcpe2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpOy13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7LXdlYmtpdC1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTstbW96LW1hcmdpbi1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO21hcmdpbi1pbmxpbmUtZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt3aWR0aDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctdHdvLWV4dHJhLWxhcmdlLDI0cHgpfWdtcC1pbnRlcm5hbC1zZWxlY3Rpb24tYnV0dG9ue2NvbG9yOmluaGVyaXQ7aGVpZ2h0OjMycHh9Lmhpc3RvZ3JhbS1jb250YWluZXJ7bWFyZ2luLWlubGluZTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LnBhZ2luYXRpb24tZG90c3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Z2FwOjRweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LnBhZ2luYXRpb24tZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWludGVyYWN0aXZlLGxpZ2h0LWRhcmsoI2M3YzdjNywjNWU1ZTVlKSk7Ym9yZGVyLXJhZGl1czozcHg7aGVpZ2h0OjZweDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGVhc2UsYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZTt0cmFuc2l0aW9uOndpZHRoIC4zcyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7d2lkdGg6NnB4fS5wYWdpbmF0aW9uLWRvdC5zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO3dpZHRoOjE4cHh9LnBlYWstd2FpdC10aW1lLWNvbnRhaW5lcnttYXJnaW4tdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTt0ZXh0LWFsaWduOmNlbnRlcn0ucGVhay13YWl0LXRpbWUtdGV4dHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5oZWFkZXItY29udHJvbHMsLmluZm8tYnV0dG9uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmluZm8tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweH0uaW5mby1idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmluZm8tYnV0dG9uIC50YXAtYXJlYXtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uaW5mby1pY29uLWNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDozNHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM0cHg7ei1pbmRleDoxfS5pbmZvLWljb24tY29udGFpbmVyIHN2Z3tmaWxsOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0uaW5mby1pY29uLWNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSkgOCUsdHJhbnNwYXJlbnQpfS5pbmZvLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC5pbmZvLWljb24tY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKSAxMCUsdHJhbnNwYXJlbnQpfWdtcC1pbnRlcm5hbC1kaWFsb2cgZGlhbG9ney0tZ21wLWludGVybmFsLWRpYWxvZy1ib3JkZXItcmFkaXVzOnZhcigtLWdtcC1kaWFsb2ctYm9yZGVyLXJhZGl1cywyOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpO21heC13aWR0aDoyODBweDtwYWRkaW5nOjI0cHh9Z21wLWludGVybmFsLWRpYWxvZyBkaWFsb2cgaGVhZGVye21hcmdpbi1ib3R0b206MjBweDtwYWRkaW5nOjB9Z21wLWludGVybmFsLWRpYWxvZyBkaWFsb2cgaGVhZGVyIC5nbS11aS1ob3Zlci1lZmZlY3Q+c3BhbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpfWdtcC1pbnRlcm5hbC1kaWFsb2cgZGlhbG9nIC5iYXNpYy1kaWFsb2ctZWxlbWVudC0tY29udGVudHtwYWRkaW5nOjB9LnBvcHVsYXItdGltZXMtaW5mby1kaWFsb2ctY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246ZW5kOy1tcy1mbGV4LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MTZweDt3aWR0aDoxMDAlfS5wb3B1bGFyLXRpbWVzLWluZm8tZGlhbG9nLWNvbnRlbnQgLmluZm8tdGV4dHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7dGV4dC1hbGlnbjpzdGFydDt3aWR0aDoxMDAlfS5wb3B1bGFyLXRpbWVzLWluZm8tZGlhbG9nLWNvbnRlbnQgLm9rLWJ1dHRvbntiYWNrZ3JvdW5kOnZhcigtLWdtcC1tYXQtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCNkM2Y3ZmYsIzAwMzYzZSkpO2JvcmRlcjp2YXIoLS1nbXAtYnV0dG9uLWJvcmRlci13aWR0aCwwKSBzb2xpZCB2YXIoLS1nbXAtYnV0dG9uLWJvcmRlci1jb2xvcix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1nbXAtYnV0dG9uLWJvcmRlci1yYWRpdXMsOTk5OXB4KTtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKTtjdXJzb3I6cG9pbnRlcjtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWRkaW5nOjEwcHggMDt3aWR0aDoxMDAlfS5wb3B1bGFyLXRpbWVzLWluZm8tZGlhbG9nLWNvbnRlbnQgLm9rLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpIDglLHRyYW5zcGFyZW50KX0iXSk7dmFyIE43PXswOiJTdW5kYXkiLDE6Ik1vbmRheSIsMjoiVHVlc2RheSIsMzoiV2VkbmVzZGF5Iiw0OiJUaHVyc2RheSIsNToiRnJpZGF5Iiw2OiJTYXR1cmRheSJ9LGVFYj17TEVTU19CVVNZX1RIQU5fVVNVQUw6Ikxlc3MgYnVzeSB0aGFuIHVzdWFsIixOT1RfQlVTWToiTm90IGJ1c3kiLE5PVF9UT09fQlVTWToiTm90IHRvbyBidXN5IixBX0xJVFRMRV9CVVNZOiJBIGxpdHRsZSBidXN5IixCVVNZOiJCdXN5IixCVVNJRVJfVEhBTl9VU1VBTDoiQnVzaWVyIHRoYW4gdXN1YWwiLFdBWV9NT1JFX1BFT1BMRV9USEFOX1VTVUFMOiJNdWNoIGJ1c2llciB0aGFuIHVzdWFsIixBU19CVVNZX0FTX0lUX0dFVFM6IkFzIGJ1c3kgYXMgaXQgZ2V0cyJ9LGZFYj17UVVJRVQ6IlVzdWFsbHkgbm90IGJ1c3kiLE5PVF9CVVNZX05PVF9RVUlFVDoiVXN1YWxseSBub3QgdG9vIGJ1c3kiLExJVFRMRV9CVVNZOiJVc3VhbGx5IGEgbGl0dGxlIGJ1c3kiLEFTX0JVU1lfQVNfRVZFUjoiVXN1YWxseSBhcyBidXN5IGFzIGl0IGdldHMifTt2YXIgZyQ9WzAsMSwyLDMsNCw1LDZdLFp4Yj17MDoiMTJhIiwzOiIzYSIsNjoiNmEiLDk6IjlhIiwxMjoiMTJwIiwxNToiM3AiLDE4OiI2cCIsMjE6IjlwIn0saCQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnhoPW5ldyBNYXA7dGhpcy5zaD1uZXcgTWFwO3RoaXMucmg9dGhpcy5xaD1udWxsO3RoaXMuQ2g9Yj0+e3RoaXMucWg9Yi50b3VjaGVzWzBdLmNsaWVudFg7dGhpcy5yaD1iLnRvdWNoZXNbMF0uY2xpZW50WX07dGhpcy5CaD1iPT57aWYodGhpcy5xaCE9PW51bGwmJnRoaXMucmghPT1udWxsKXt2YXIgYz1iLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgtdGhpcy5xaDtiPWIuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WS10aGlzLnJoO3RoaXMucmg9dGhpcy5xaD1udWxsOyEoTWF0aC5hYnMoYik+TWF0aC5hYnMoYykpJiZNYXRoLmFicyhjKT4zMCYmKGI9dGhpcy5JaigpPy0xOjEsYypiPDA/dGhpcy5zZWxlY3RlZERheU9mV2VlayE9PXZvaWQgMCYmClZ4Yih0aGlzLCh0aGlzLnNlbGVjdGVkRGF5T2ZXZWVrKzEpJWckLmxlbmd0aCk6dGhpcy5zZWxlY3RlZERheU9mV2VlayE9PXZvaWQgMCYmVnhiKHRoaXMsKHRoaXMuc2VsZWN0ZWREYXlPZldlZWstMStnJC5sZW5ndGgpJWckLmxlbmd0aCkpfX07dGhpcy55aD0oKT0+e3RoaXMucmg9dGhpcy5xaD1udWxsfTt2YXIgYT1uZXcgRGF0ZTt0aGlzLnRoPWEuZ2V0RGF5KCk7dGhpcy53aD1hLmdldEhvdXJzKCl9SWooKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcykuZGlyZWN0aW9uPT09InJ0bCJ9aG0oYSl7c3VwZXIuaG0oYSk7aWYoYS5oYXMoInBsYWNlIikpe2E9bmV3IE1hcDt2YXIgYj10aGlzLnBsYWNlPy5wb3B1bGFyVGltZXM/Lk9wfHxbXTtmb3IobGV0IGMgb2YgYil7Yj1uZXcgTWFwO2ZvcihsZXQgZCBvZiBjLmFCfHxbXSlkLmhvdXIhPT1udWxsJiZkLmhvdXIhPT12b2lkIDAmJmIuc2V0KGQuaG91cixkKTthLnNldChjLkVzLGIpfXRoaXMuc2g9YX19dGkoKXtpZighdGhpcy5wbGFjZT8ucG9wdWxhclRpbWVzPy5PcHx8CnRoaXMuc2VsZWN0ZWREYXlPZldlZWs9PT12b2lkIDApcmV0dXJuKDAsXy5XcSlgYDt2YXIgYT1gdHJhbnNsYXRlWCgtJHt0aGlzLnNlbGVjdGVkRGF5T2ZXZWVrKjEwMH0lKWAsYj1qNygiUG9wdWxhclRpbWVzIGhpc3RvZ3JhbSBmb3Ige2RheU9mV2Vla30iLHtkYXlPZldlZWs6TjdbdGhpcy5zZWxlY3RlZERheU9mV2Vla10/PyIifSk7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iaGlzdG9ncmFtLXdyYXBwZXIiCiAgICAgICAgcm9sZT0iZ3JvdXAiCiAgICAgICAgYXJpYS1sYWJlbD0iJHtifSIKICAgICAgICBAdG91Y2hzdGFydD0ke3RoaXMuQ2h9CiAgICAgICAgQHRvdWNoZW5kPSR7dGhpcy5CaH0KICAgICAgICBAdG91Y2hjYW5jZWw9JHt0aGlzLnlofT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXlzLWNvbnRhaW5lciIgc3R5bGU9InRyYW5zZm9ybTogJHthfSI+CiAgICAgICAgICAke2ckLm1hcChjPT57dmFyIGQ9dGhpcy5zaDtpZih0aGlzLnBsYWNlKXt2YXIgZT10aGlzLnBsYWNlLmJ1c2luZXNzU3RhdHVzO2U9ZT09PSJDTE9TRURfUEVSTUFORU5UTFkifHxlPT09IkNMT1NFRF9URU1QT1JBUklMWSI/ITA6U3hiKHRoaXMucGxhY2UucmVndWxhck9wZW5pbmdIb3Vycz8ucGVyaW9kcyxjKX1lbHNlIGU9ITE7dmFyIGY9ZSxnPVV4Yih0aGlzLnBsYWNlPy5yZWd1bGFyT3BlbmluZ0hvdXJzPy5wZXJpb2RzLGMpO2U9Yz09PXRoaXMuc2VsZWN0ZWREYXlPZldlZWs/WXhiKHRoaXMsYyxnKTp2b2lkIDA7dmFyIGg9ZSE9PXZvaWQgMD9XeGIoYyxlLGQpOnZvaWQgMDtlPWMhPT10aGlzLnNlbGVjdGVkRGF5T2ZXZWVrO2lmKGYpZD10aGlzLnBsYWNlPy5idXNpbmVzc1N0YXR1cyxjPWQ9PT0iQ0xPU0VEX1BFUk1BTkVOVExZIj8iUGVybWFuZW50bHkgY2xvc2VkIjpkPT09IkNMT1NFRF9URU1QT1JBUklMWSI/IlRlbXBvcmFyaWx5IGNsb3NlZCI6ajcoIkNsb3NlZCB7ZGF5T2ZXZWVrfSIsCntkYXlPZldlZWs6TjdbY118fCIifSksYz0oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0iY2xvc2VkLW1lc3NhZ2UtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZWQtbWVzc2FnZSI+JHtjfTwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA7ZWxzZXtpZihoKXt2YXIgaz1oLkx5LG09aC5ZQTtmPSIiO2s/KG09ZUViW2tdfHwiIikmJihmPWo3KCJMaXZlOiB7bGl2ZVN0YXR1c30iLHtsaXZlU3RhdHVzOm19KSk6bSYmKGY9ZkViW21dfHwiIik7az17InBvcHVsYXItdGltZXMtc3RhdGUiOiEwLGxpdmU6ISFrLGhpc3RvcmljYWw6IWt9O2Y9KDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy10ZXh0LWNvbnRhaW5lciI+CiAgICAgICAgJHtmPygwLF8uV3EpYDxkaXYgY2xhc3M9IiR7KDAsXy5hcikoayl9Ij4ke2Z9PC9kaXY+YDpfLlNzfQogICAgICA8L2Rpdj4KICAgIGB9ZWxzZSBmPSgwLF8uV3EpYDxkaXYgY2xhc3M9InN0YXR1cy10ZXh0LWNvbnRhaW5lciI+PC9kaXY+YDtoPyhrPVB4YihoLmhvdXIpLGg9aC5nQyxoPT09bnVsbD9oPSIiOmg9PT0wP2g9IlVzdWFsbHkgbm8gd2FpdCI6KGg9UnhiKGgpLGg9ajcoIlVzdWFsbHkgdXAgdG8ge3RpbWV9IHdhaXQiLHt0aW1lOmh9KSksaD0oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXRleHQtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoaXN0b3JpY2FsLXdhaXQtdGltZS10ZXh0Ij4ke2g/YCR7a30gXHUwMGI3ICR7aH1gOmt9PC9kaXY+CiAgICAgIDwvZGl2PgogICAgYCk6aD0oMCxfLldxKWA8ZGl2IGNsYXNzPSJzdGF0dXMtdGV4dC1jb250YWluZXIiPjwvZGl2PmA7Yz0oMCxfLldxKWAKICAgICAgICAgICAgICAkeygwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJwb3B1bGFyLXRpbWVzLXN0YXR1cy10ZXh0LWNvbnRhaW5lciI+CiAgICAgICAgJHtmfQogICAgICAgICR7aH0KICAgICAgPC9kaXY+CiAgICBgfQogICAgICAgICAgICAgICR7WHhiKHRoaXMsYyxnLGQpfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVscyI+JHskeGIoZyl9PC9kaXY+CiAgICAgICAgICAgIGB9cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iZGF5LWhpc3RvZ3JhbSIKICAgICAgICBhcmlhLWhpZGRlbj0iJHtlfSI+CiAgICAgICAgJHtjfQogICAgICA8L2Rpdj4KICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX07aCQuc3R5bGVzPV8uJHMoWyIuaGlzdG9ncmFtLXdyYXBwZXJ7bWFyZ2luLWlubGluZTphdXRvO21heC13aWR0aDo0NTBweDtvdmVyZmxvdzpoaWRkZW47LW1zLXRvdWNoLWFjdGlvbjpwYW4teTt0b3VjaC1hY3Rpb246cGFuLXl9LmRheXMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQsLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0O3dpZHRoOjEwMCV9LmRheS1oaXN0b2dyYW17LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIDEwMCU7LW1vei1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7b3ZlcmZsb3c6YXV0bzt3aWR0aDoxMDAlfS5iYXJzLWNvbnRhaW5lcntnYXA6NHB4O2hlaWdodDo4MHB4O3BhZGRpbmctYm90dG9tOjRweH0uYmFyLXdyYXBwZXIsLmJhcnMtY29udGFpbmVyey13ZWJraXQtYm94LWFsaWduOmVuZDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDstbXMtZmxleC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfS5iYXItd3JhcHBlcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5iYXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtcG9wdWxhci10aW1lcy1iYXItY29sb3IsbGlnaHQtZGFyaygjNzY5Nzk5LCM1YjdjODMpKTtib3JkZXItcmFkaXVzOjhweDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS5iYXIuY3VycmVudC1ob3Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLXBvcHVsYXItdGltZXMtYmFyLWN1cnJlbnQtaG91ci1jb2xvcixsaWdodC1kYXJrKCMxMjM1M2IsI2QzZjdmZikpfS5iYXIuY3VycmVudC1ob3VyLmxpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtcG9wdWxhci10aW1lcy1iYXItY3VycmVudC1ob3VyLWxpdmUtY29sb3IsbGlnaHQtZGFyaygjZGMyNThkLCNmZjhiY2IpKTtvcGFjaXR5Oi42fS5sYWJlbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDo0cHh9LmxhYmVsLWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfS5sYWJlbHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTt3aGl0ZS1zcGFjZTpub3dyYXB9LnRpY2t7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtoZWlnaHQ6NHB4O2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDoxcHh9LnBvcHVsYXItdGltZXMtc3RhdHVzLXRleHQtY29udGFpbmVye21hcmdpbi1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uc3RhdHVzLXRleHQtY29udGFpbmVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyfS5zdGF0dXMtdGV4dC1jb250YWluZXIgLnBvcHVsYXItdGltZXMtc3RhdGV7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbGFyZ2Usbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX0uc3RhdHVzLXRleHQtY29udGFpbmVyIC5wb3B1bGFyLXRpbWVzLXN0YXRlLmxpdmV7Y29sb3I6dmFyKC0tZ21wLXBvcHVsYXItdGltZXMtYmFyLWN1cnJlbnQtaG91ci1saXZlLWNvbG9yLGxpZ2h0LWRhcmsoI2RjMjU4ZCwjZmY4YmNiKSl9LnN0YXR1cy10ZXh0LWNvbnRhaW5lciAuaGlzdG9yaWNhbC13YWl0LXRpbWUtdGV4dCwuc3RhdHVzLXRleHQtY29udGFpbmVyIC5wb3B1bGFyLXRpbWVzLXN0YXRlLmhpc3RvcmljYWx7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LnN0YXR1cy10ZXh0LWNvbnRhaW5lciAuaGlzdG9yaWNhbC13YWl0LXRpbWUtdGV4dHtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5jbG9zZWQtbWVzc2FnZS1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246bm9ybWFsOy13ZWJraXQtYWxpZ24taXRlbXM6bm9ybWFsOy1tb3otYm94LWFsaWduOm5vcm1hbDstbXMtZmxleC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6ODBweDtwYWRkaW5nLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbG9zZWQtbWVzc2FnZXtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfSJdKTsKXy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLGgkLnByb3RvdHlwZSwicGxhY2UiLHZvaWQgMCk7Xy5EKFtfLnRxKHt0eXBlOk51bWJlcn0pLF8uRigiZGVzaWduOnR5cGUiLE51bWJlcildLGgkLnByb3RvdHlwZSwic2VsZWN0ZWREYXlPZldlZWsiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLXBvcHVsYXItdGltZXMtaGlzdG9ncmFtIixoJCk7dmFyIGkkPWNsYXNzIGV4dGVuZHMgXy5kdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5vcHRpb25zPVtdO3RoaXMubGFiZWw9IiJ9cWgoYSl7KGE9dGhpcy5vcHRpb25zW2EudGFyZ2V0LnNlbGVjdGVkSW5kZXhdKSYmYXliKHRoaXMsYS52YWx1ZSl9U2ooYSl7KGEuaGFzKCJvcHRpb25zIil8fGEuaGFzKCJzZWxlY3RlZFZhbHVlIikpJiZ0aGlzLm9wdGlvbnMuZmluZEluZGV4KGI9PmIudmFsdWU9PT10aGlzLnNlbGVjdGVkVmFsdWUpPT09LTEmJnRoaXMub3B0aW9ucy5sZW5ndGg+MCYmYXliKHRoaXMsdGhpcy5vcHRpb25zWzBdLnZhbHVlKX10aSgpe3ZhciBhPXRoaXMub3B0aW9ucy5maW5kSW5kZXgoYz0+Yy52YWx1ZT09PXRoaXMuc2VsZWN0ZWRWYWx1ZSksYj1hPT09LTEmJnRoaXMub3B0aW9ucy5sZW5ndGg+MD8wOmE7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxzZWxlY3QKICAgICAgICBjbGFzcz0ic2VsZWN0aW9uLWJ1dHRvbiIKICAgICAgICAudmFsdWU9JHtiPT09LTE/IiI6Yi50b1N0cmluZygpfQogICAgICAgIHRpdGxlPSR7dGhpcy5sYWJlbH0KICAgICAgICBhcmlhLWxhYmVsPSR7dGhpcy5sYWJlbH0KICAgICAgICBAY2hhbmdlPSR7dGhpcy5xaH0+CiAgICAgICAgJHt0aGlzLm9wdGlvbnMubWFwKChjLGQpPT4oMCxfLldxKWAKICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ke2R9ID9zZWxlY3RlZD0ke2I9PT1kfT4KICAgICAgICAgICAgICAke2MubGFiZWx9CiAgICAgICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgYCl9CiAgICAgIDwvc2VsZWN0PgogICAgYH19O2kkLnN0eWxlcz1fLiRzKFsiLnNlbGVjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjpsaWdodC1kYXJrKCNlM2UzZTMsIzMwMzAzMCk7Ym9yZGVyOjlweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjhweDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lO2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDttaW4taGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7bWluLWhlaWdodDpmaXQtY29udGVudDttaW4td2lkdGg6LXdlYmtpdC1maXQtY29udGVudDttaW4td2lkdGg6LW1vei1maXQtY29udGVudDttaW4td2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzo2cHggN3B4IDZweCA0cHh9Il0pOwpfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxpJC5wcm90b3R5cGUsIm9wdGlvbnMiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLGkkLnByb3RvdHlwZSwic2VsZWN0ZWRWYWx1ZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxpJC5wcm90b3R5cGUsIm9uU2VsZWN0ZWRWYWx1ZUNoYW5nZWQiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLGkkLnByb3RvdHlwZSwibGFiZWwiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLXNlbGVjdGlvbi1idXR0b24iLGkkKTt2YXIgaiQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmZ2PShuZXcgRGF0ZSkuZ2V0RGF5KCk7dGhpcy5yaD1hPT57dGhpcy5mdj1hLmRldGFpbC5kYXl9O3RoaXMucWg9YnliKCl9dGkoKXt2YXIgYT10aGlzLnBsYWNlPy5wb3B1bGFyVGltZXM7cmV0dXJuIGEmJmEuT3AmJmEuT3AubGVuZ3RoIT09MD8oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0icG9wdWxhci10aW1lcy1jb250YWluZXIiPgogICAgICAgICR7ZHliKHRoaXMsYS5PcCl9CiAgICAgICAgPGRpdiBjbGFzcz0iaGlzdG9ncmFtLWNvbnRhaW5lciI+CiAgICAgICAgICA8Z21wLWludGVybmFsLXBvcHVsYXItdGltZXMtaGlzdG9ncmFtCiAgICAgICAgICAgIC5zZWxlY3RlZERheU9mV2Vlaz0ke3RoaXMuZnZ9CiAgICAgICAgICAgIC5wbGFjZT0ke3RoaXMucGxhY2V9CiAgICAgICAgICAgIEBkYXktY2hhbmdlPSR7dGhpcy5yaH0+CiAgICAgICAgICA8L2dtcC1pbnRlcm5hbC1wb3B1bGFyLXRpbWVzLWhpc3RvZ3JhbT4KICAgICAgICA8L2Rpdj4KICAgICAgICAke2V5Yih0aGlzLGEuT3ApfQogICAgICAgICR7ZnliKHRoaXMsYS5PcCl9CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucWh9CiAgICBgOl8uU3N9fTtqJC5zdHlsZXM9ZEViO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixFNyldLGokLnByb3RvdHlwZSwicGxhY2UiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0saiQucHJvdG90eXBlLCJmdiIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtcGxhY2UtcG9wdWxhci10aW1lcyIsaiQpO3ZhciBnRWI9Xy4kcyhbIiJdKTt2YXIgayQ9Y2xhc3MgZXh0ZW5kcyBBOXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnhpKGEsayQsIlBsYWNlUG9wdWxhclRpbWVzRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtrJC5JaT17S2k6MzE2NDkzLEppOjMxNjQ5Mn07ayQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsZ0ViXTt2YXIgaEViPV8uJHMoWyJzcGFue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmZvbnQtc2l6ZS0tc21hbGx7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmZvbnQtc2l6ZS0tbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19Il0pO3ZhciBsJD1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxsJCwiUGxhY2VQcmljZUVsZW1lbnQiKX1xaCgpe3JldHVybnt9fX07bCQucHJvdG90eXBlLmNvbnN0cnVjdG9yPWwkLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtsJC5JaT17S2k6MjUzNDQ3LEppOjI1MzQyN307bCQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsaEViXTt2YXIgaUViPSJhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzEgYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8yIGNvdW50cnkgbG9jYWxpdHkgbmF0dXJhbF9mZWF0dXJlIHJvdXRlIHN0cmVldF9hZGRyZXNzIi5zcGxpdCgiICIpLG0kPWNsYXNzIGV4dGVuZHMgXy5kdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5pQj10aGlzLmluZm9CdXR0b25TaG93bj0hMX10aSgpe2lmKCF0aGlzLnBsYWNlKXJldHVybiBudWxsO3ZhciBhPXRoaXMucGxhY2UucmF0aW5nLGI9dGhpcy5wbGFjZS51c2VyUmF0aW5nQ291bnQsYz10aGlzLnBsYWNlLnJlcXVlc3RlZExhbmd1YWdlLGQ9dGhpcy5wbGFjZS50eXBlcztpZihhPT1udWxsfHxiPT1udWxsfHxiPT09MClyZXR1cm4gZD8uc29tZShlPT5pRWIuaW5jbHVkZXMoZSkpPyIiOigwLF8uV3EpYDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPHNwYW4+JHsiTm8gcmV2aWV3cyJ9PC9zcGFuPgogICAgICA8L2Rpdj5gO2I9SW50bC5OdW1iZXJGb3JtYXQoYz8/dm9pZCAwLHttYXhpbXVtRnJhY3Rpb25EaWdpdHM6MSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MX0pLmZvcm1hdChhKTtkPWo3KCJ7U1RBUl9SQVRJTkcsIHBsdXJhbCxcbiAgICAgPTEgeyMgc3RhciBvdXQgb2YgNSBzdGFyc31cbiAgICAgb3RoZXIgeyMgc3RhcnMgb3V0IG9mIDUgc3RhcnN9fSIse1NUQVJfUkFUSU5HOmF9KTtjPWd5Yih0aGlzLnBsYWNlLGM/P3ZvaWQgMCx0aGlzLnN0b3BQcm9wYWdhdGlvbik7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYgcGFydD0iY29udGFpbmVyIiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8c3BhbgogICAgICAgICAgY2xhc3M9InJhdGluZyIKICAgICAgICAgIHJvbGU9ImltZyIKICAgICAgICAgIGFyaWEtbGFiZWw9JHtkfQogICAgICAgICAgLnRpdGxlPSR7ZH0+CiAgICAgICAgICA8c3BhbiBwYXJ0PSJyYXRpbmciPiR7Yn08L3NwYW4+CiAgICAgICAgICA8Z21wLWludGVybmFsLXJhdGluZwogICAgICAgICAgICBwYXJ0PSJzdGFyLXJhdGluZyIKICAgICAgICAgICAgLnJhdGluZz0ke2F9CiAgICAgICAgICAgIC5zaW5nbGVTdGFyPSR7dGhpcy5zdGFyVmFyaWFudD09PSJzaW5nbGUtc3RhciJ9PjwvZ21wLWludGVybmFsLXJhdGluZz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgJHtjfSAke3RoaXMuaW5mb0J1dHRvblNob3duPygwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJ1dHRvbi1jb250YWluZXIiPgogICAgICAgIDxidXR0b24KICAgICAgICAgIGNsYXNzPSJpbmZvLWJ1dHRvbiIKICAgICAgICAgIHBvcG92ZXJ0YXJnZXQ9ImRpc2Nsb3N1cmUtcG9wb3ZlciIKICAgICAgICAgIGFyaWEtY29udHJvbHM9ImRpc2Nsb3N1cmUtcG9wb3ZlciIKICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9JHt0aGlzLmlCfQogICAgICAgICAgYXJpYS1sYWJlbD0keyJBYm91dCByYXRpbmdzIn0KICAgICAgICAgIHRpdGxlPSR7IkFib3V0IHJhdGluZ3MifQogICAgICAgICAgYXJpYS1kZXNjcmliZWRieT0keyh0aGlzLmlCPyJkaXNjbG9zdXJlLXBvcG92ZXIiOnZvaWQgMCk/P18uU3N9PgogICAgICAgICAgPGRpdiBjbGFzcz0idGFwLWFyZWEiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pY29uLWNvbnRhaW5lciI+JHtfLiRxKHtmaWxsOiJsaWdodC1kYXJrKCM1ZTVlNWUsICNmZmYpIn0pfTwvZGl2PgogICAgICAgIDwvYnV0dG9uPgogICAgICAgIDxkaXYKICAgICAgICAgIGlkPSJkaXNjbG9zdXJlLXBvcG92ZXIiCiAgICAgICAgICBjbGFzcz0iZGlzY2xvc3VyZS1jb250YWluZXIiCiAgICAgICAgICBwb3BvdmVyCiAgICAgICAgICBAYmVmb3JldG9nZ2xlPSR7dGhpcy5xaH0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNjbG9zdXJlLWFycm93LXRvcCBkaXNjbG9zdXJlLWFycm93LXRvcC1vdXRlciI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNjbG9zdXJlLWFycm93LXRvcCBkaXNjbG9zdXJlLWFycm93LXRvcC1pbm5lciI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNjbG9zdXJlLWNvbnRlbnQiPgogICAgICAgICAgICAkeyJSZXZpZXdzIGFyZW4ndCB2ZXJpZmllZCBieSBHb29nbGUsIGJ1dCBHb29nbGUgY2hlY2tzIGZvciBhbmQgcmVtb3ZlcyBmYWtlIGNvbnRlbnQgd2hlbiBpdCdzIGlkZW50aWZpZWQuIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzY2xvc3VyZS1ib3R0b20iPgogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSR7Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2NvbnRyaWJ1dGlvbnBvbGljeS9hbnN3ZXIvNzQyMjg4MCJ9CiAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtfLlFxKCJMZWFybiBtb3JlIil9CiAgICAgICAgICAgICAgICA+JHsiTGVhcm4gbW9yZSJ9PC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1xaChhKXt0aGlzLmlCPWEubmV3U3RhdGU9PT0ib3BlbiJ9fTttJC5zdHlsZXM9Xy4kcyhbIi5jb250YWluZXJ7LXdlYmtpdC1jb2x1bW4tZ2FwOjRweDstbW96LWNvbHVtbi1nYXA6NHB4O2NvbHVtbi1nYXA6NHB4fS5jb250YWluZXIsLmNvbnRhaW5lciAucmF0aW5ney13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXB9LmNvbnRhaW5lciAucmF0aW5nIGdtcC1pbnRlcm5hbC1yYXRpbmd7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXh9LmNvbnRhaW5lciAuaW5mby1idXR0b257LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXIgLnRhcC1hcmVhe2N1cnNvcjpkZWZhdWx0O2hlaWdodDozNHB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6NDhweDt6LWluZGV4OjB9LmNvbnRhaW5lciAuaW5mby1idXR0b24tY29udGFpbmVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW59LmNvbnRhaW5lciAuaW5mby1pY29uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O3otaW5kZXg6MX0uY29udGFpbmVyIC5kaXNjbG9zdXJlLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtbWFyZ2luLXN0YXJ0Oi0xMDBweDstbW96LW1hcmdpbi1zdGFydDotMTAwcHg7bWFyZ2luLWlubGluZS1zdGFydDotMTAwcHg7bWFyZ2luLXRvcDowO3BhZGRpbmc6MDtwb3NpdGlvbi1hcmVhOmJsb2NrLWVuZCBzcGFuLWlubGluZS1lbmR9LmNvbnRhaW5lciAuZGlzY2xvc3VyZS1hcnJvdy10b3B7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJvcmRlci1zdGFydDo4cHggc29saWQgdHJhbnNwYXJlbnQ7LW1vei1ib3JkZXItc3RhcnQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1pbmxpbmUtc3RhcnQ6OHB4IHNvbGlkIHRyYW5zcGFyZW50Oy13ZWJraXQtYm9yZGVyLWVuZDo4cHggc29saWQgdHJhbnNwYXJlbnQ7LW1vei1ib3JkZXItZW5kOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItaW5saW5lLWVuZDo4cHggc29saWQgdHJhbnNwYXJlbnQ7aGVpZ2h0OjA7aW5zZXQtaW5saW5lLXN0YXJ0OjQyJTttYXJnaW4tdG9wOjZweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb250YWluZXIgLmRpc2Nsb3N1cmUtYXJyb3ctdG9wLW91dGVye2JvcmRlci1ib3R0b206MTVweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpfS5jb250YWluZXIgLmRpc2Nsb3N1cmUtYXJyb3ctdG9wLWlubmVye2JvcmRlci1ib3R0b206MTVweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKTt0b3A6MXB4O3otaW5kZXg6MX0uY29udGFpbmVyIC5kaXNjbG9zdXJlLWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmUsbGlnaHQtZGFyaygjZTNlM2UzLCM0NzQ3NDcpKTtmb250OmluaGVyaXQ7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MjBweDstbW96LW1hcmdpbi1zdGFydDoyMHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MjBweDttYXJnaW4tdG9wOjIwcHg7cGFkZGluZzo4cHg7d2lkdGg6MjAwcHh9LmNvbnRhaW5lciAuZGlzY2xvc3VyZS1ib3R0b217bWFyZ2luLXRvcDo4cHh9LmNvbnRhaW5lciBhe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO3RleHQtZGVjb3JhdGlvbjpub25lfSJdKTsKXy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLEU3KV0sbSQucHJvdG90eXBlLCJwbGFjZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sbSQucHJvdG90eXBlLCJzdGFyVmFyaWFudCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbSQucHJvdG90eXBlLCJpbmZvQnV0dG9uU2hvd24iLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbSQucHJvdG90eXBlLCJpQiIsdm9pZCAwKTtfLkQoW18uZEYoe2NvbnRleHQ6RTl9KSxfLkYoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbSQucHJvdG90eXBlLCJzdG9wUHJvcGFnYXRpb24iLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5IixtJCk7dmFyIGpFYj1fLiRzKFsic3Bhbntjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpfWdtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeTo6cGFydChyYXRpbmcpey13ZWJraXQtcGFkZGluZy1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7LW1vei1wYWRkaW5nLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCl9LmZvbnQtc2l6ZS0tc21hbGx7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmZvbnQtc2l6ZS0tbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19Il0pO3ZhciBuJD1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxuJCwiUGxhY2VSYXRpbmdFbGVtZW50Iil9cWgoKXtyZXR1cm57fX19O24kLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uJC5wcm90b3R5cGUuY29uc3RydWN0b3I7biQuSWk9e0tpOjI1MzQ0NSxKaToyNTM0MjV9O24kLnN0eWxlcz1bLi4uQTkuc3R5bGVzLGpFYl07dmFyIGtFYj1fLiRzKFsiOmhvc3QoOm5vdChbaGlkZGVuXSkpe2Rpc3BsYXk6YmxvY2t9c2VjdGlvbntwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9c2VjdGlvbi5yZXZpZXctc3VtbWFyeXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpOy13ZWJraXQtcGFkZGluZy1hZnRlcjp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nLWJsb2NrLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX1zZWN0aW9uLnJldmlldy1zdW1tYXJ5IHB7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX1zZWN0aW9uLnJldmlldy1zdW1tYXJ5IHAudGl0bGV7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtdGl0bGUtc21hbGwsbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX1zZWN0aW9uLnJldmlldy1zdW1tYXJ5IC5kaXNjbG9zdXJle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW07LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX1zZWN0aW9uLnJldmlldy1zdW1tYXJ5PmRpdj5kaXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfXNlY3Rpb24ucmV2aWV3LXN1bW1hcnkgZ21wLWludGVybmFsLW1lbnU6OnBhcnQoZGlhbG9nKXtpbnNldC1ibG9jay1lbmQ6NTUlO2luc2V0LWlubGluZS1lbmQ6NTUlfXNlY3Rpb24ucmV2aWV3LXN1bW1hcnkgZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5ey13ZWJraXQtcGFkZGluZy1hZnRlcjp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nLWJsb2NrLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX1zZWN0aW9uLnJldmlldy1zdW1tYXJ5IGdtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeTo6cGFydChyYXRpbmcpey13ZWJraXQtcGFkZGluZy1iZWZvcmU6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7cGFkZGluZy1ibG9jay1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTstd2Via2l0LXBhZGRpbmctZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpOy1tb3otcGFkZGluZy1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtZGlzcGxheS1tZWRpdW0sbm9ybWFsIDQwMCAxLjc1ZW0vMS4yODU3MTQyODU3IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOjA7bGluZS1oZWlnaHQ6LjhlbTtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9c2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtcGxhY2UtcmF0aW5nLXN1bW1hcnk6OnBhcnQocmV2aWV3cyl7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtsaW5lLWhlaWdodDoxZW19c2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtcGxhY2UtcmF0aW5nLXN1bW1hcnk6OnBhcnQoc3Rhci1yYXRpbmcpey13ZWJraXQtYWxpZ24tc2VsZjplbmQ7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTstbXMtZmxleC1pdGVtLWFsaWduOmVuZDthbGlnbi1zZWxmOmVuZH1zZWN0aW9uLnJldmlldy1zdW1tYXJ5IGdtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeTo6cGFydChjb250YWluZXIpey13ZWJraXQtYm94LWFsaWduOmVuZDstd2Via2l0LWFsaWduLWl0ZW1zOmVuZDstbW96LWJveC1hbGlnbjplbmQ7LW1zLWZsZXgtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZH0iXSk7dmFyIG8kPWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLG8kLCJQbGFjZVJldmlld1N1bW1hcnlFbGVtZW50Iil9cWgoKXtyZXR1cm57fX19O28kLklpPXtLaTozMDMzMTIsSmk6MzAzMzExfTtvJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcyxrRWJdO3ZhciBsRWI9Xy4kcyhbInNlY3Rpb24ucmV2aWV3cy1zZWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0ucmV2aWV3cy1wcmVmZXJlbmNlLWhlYWRlcixzZWN0aW9uLnJldmlld3Mtc2VjdGlvbntwYWRkaW5nLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LnJldmlld3MtcHJlZmVyZW5jZS1oZWFkZXJ7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTstbW96LXBhZGRpbmctc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0ucmV2aWV3cy1wcmVmZXJlbmNlLWhlYWRlciAucmV2aWV3cy10aXRsZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC10aXRsZS1tZWRpdW0sbm9ybWFsIDQwMCAxZW0vMS4yNSB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDA2MjVlbX0iXSk7dmFyIE83PSgwLF8uV3EpYAogIDxnbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uCiAgICAuaGVhZGluZz0keyJSZXZpZXdzIGFyZW4ndCB2ZXJpZmllZCJ9CiAgICAuZGVzY3JpcHRpb249JHsiUmV2aWV3cyBhcmVuJ3QgdmVyaWZpZWQgYnkgR29vZ2xlLCBidXQgR29vZ2xlIGNoZWNrcyBmb3IgYW5kIHJlbW92ZXMgZmFrZSBjb250ZW50IHdoZW4gaXQncyBpZGVudGlmaWVkLiJ9CiAgICAubGlua3M9JHtbe3RleHQ6IkxlYXJuIG1vcmUiLGhyZWY6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2NvbnRyaWJ1dGlvbnBvbGljeS9hbnN3ZXIvNzQyMjg4MCJ9XX0+CiAgPC9nbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uPgpgLG1BYj0oMCxfLldxKWAKICA8Z21wLWludGVybmFsLWRpc2Nsb3N1cmUtc2VjdGlvbgogICAgLmhlYWRpbmc9JHsiQWJvdXQgdGhlc2UgcmVzdWx0cyJ9CiAgICAuZGVzY3JpcHRpb249JHsiV2hlbiBzZWFyY2hpbmcgZm9yIGJ1c2luZXNzZXMgb3IgcGxhY2VzIG5lYXIgYSBsb2NhdGlvbiwgR29vZ2xlIE1hcHMgd2lsbCBzaG93IGxvY2FsIHJlc3VsdHMuIFNldmVyYWwgZmFjdG9ycyBcdTIwMTQgcHJpbWFyaWx5IHJlbGV2YW5jZSwgZGlzdGFuY2UgYW5kIHByb21pbmVuY2UgXHUyMDE0IGFyZSBjb21iaW5lZCB0byBoZWxwIGZpbmQgdGhlIGJlc3QgcmVzdWx0cyBmb3IgYSBzZWFyY2guIn0KICAgIC5saW5rcz0ke1t7dGV4dDoiTGVhcm4gbW9yZSIsaHJlZjoiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vbWFwcy9hbnN3ZXIvMzA5MjQ0NSJ9XX0+CiAgPC9nbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uPgpgLFh6Yj0oMCxfLldxKWAKICA8Z21wLWludGVybmFsLWRpc2Nsb3N1cmUtc2VjdGlvbgogICAgLmhlYWRpbmc9JHsiUmVwb3J0IGJ1c2luZXNzIGNvbmR1Y3QifQogICAgLmxpbmtzPSR7W3t0ZXh0OiJSZXBvcnQgY29uZHVjdCIsaHJlZjoiaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vbWFwcy9jb250YWN0LzE0NzE4NzkzIn1dfT4KICA8L2dtcC1pbnRlcm5hbC1kaXNjbG9zdXJlLXNlY3Rpb24+CmA7dmFyIHAkPWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5zaD10aGlzLnJoPW51bGw7dGhpcy5kcj1bXTt0aGlzLnhpKGEscCQsIlBsYWNlUmV2aWV3c0VsZW1lbnQiKX1zZXQgcXVlcnkoYSl7dGhpcy5yaD1udWxsfWdldCBxdWVyeSgpe3JldHVybiBudWxsfXNldCByYW5rUHJlZmVyZW5jZShhKXt0aGlzLnNoPW51bGx9Z2V0IHJhbmtQcmVmZXJlbmNlKCl7cmV0dXJuIG51bGx9Z2V0IHNlYXJjaFJldmlld3NDb3VudCgpe3JldHVybiB0aGlzLmRyLmxlbmd0aH1obShhKXtzdXBlci5obShhKTt3Nyh0aGlzLkJDLmVKKXx8dGhpcy5yaD09PW51bGwmJnRoaXMuc2g9PT1udWxsfHwoY29uc29sZS53YXJuKCI8Z21wLXBsYWNlLXJldmlld3M+IGlzIGF0dGVtcHRpbmcgdG8gdXNlIGFkdmFuY2VkIHByb3BlcnRpZXMgaW4gYSBub24tYWR2YW5jZWQgY29tcG9uZW50LiIpLHRoaXMuc2g9dGhpcy5yaD1udWxsKX1xaCgpe3ZhciBhPXt9O3RoaXMucXVlcnkhPQpudWxsJiYoYS5xdWVyeT10aGlzLnF1ZXJ5KTt0aGlzLnJhbmtQcmVmZXJlbmNlIT1udWxsJiYoYS5yYW5rUHJlZmVyZW5jZT10aGlzLnJhbmtQcmVmZXJlbmNlKTtyZXR1cm4gYX19O3AkLklpPXtLaToyNTM0NTYsSmk6MjUzNDM2fTtwJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcyxsRWJdO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0scCQucHJvdG90eXBlLCJkciIsdm9pZCAwKTtfLkQoW18udHEoe0toOiJxdWVyeSIsdHlwZTpTdHJpbmcsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0scCQucHJvdG90eXBlLCJxdWVyeSIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoicmFuay1wcmVmZXJlbmNlIixmaTpfLndvKEpDYiksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0scCQucHJvdG90eXBlLCJyYW5rUHJlZmVyZW5jZSIsbnVsbCk7dmFyIG1FYj1fLiRzKFsic2VjdGlvbi5zdW1tYXJ5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7cGFkZGluZy10b3A6MDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9c2VjdGlvbi5zdW1tYXJ5IHB7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX1zZWN0aW9uLnN1bW1hcnkgcC5kaXNjbG9zdXJle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19c2VjdGlvbi5zdW1tYXJ5IC5kZXNjcmlwdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9c2VjdGlvbi5zdW1tYXJ5IGdtcC1pbnRlcm5hbC1tZW51OjpwYXJ0KGRpYWxvZyl7aW5zZXQtYmxvY2stZW5kOjU1JTtpbnNldC1pbmxpbmUtZW5kOjU1JX1zZWN0aW9uLnN1bW1hcnk6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9Il0pO3ZhciBxJD1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxxJCwiUGxhY2VTdW1tYXJ5RWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtxJC5JaT17S2k6MjUzNDU0LEppOjI1MzQzNH07cSQuc3R5bGVzPVsuLi5BOS5zdHlsZXMsbUViXTt2YXIgbkViPV8uJHMoWyJzcGFue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmZvbnQtc2l6ZS0tc21hbGx7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmZvbnQtc2l6ZS0tbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19Il0pO3ZhciByJD1jbGFzcyBleHRlbmRzIEE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxyJCwiUGxhY2VUeXBlRWxlbWVudCIpfXFoKCl7cmV0dXJue319fTtyJC5wcm90b3R5cGUuY29uc3RydWN0b3I9ciQucHJvdG90eXBlLmNvbnN0cnVjdG9yO3IkLklpPXtLaToyNTM0NDYsSmk6MjUzNDI2fTtyJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcyxuRWJdO3ZhciBvRWI9Xy4kcyhbInNlY3Rpb24uZnVlbC1vcHRpb25zey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9c2VjdGlvbi5mdWVsLW9wdGlvbnMsc2VjdGlvbi5mdWVsLW9wdGlvbnMgdWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX1zZWN0aW9uLmZ1ZWwtb3B0aW9ucyB1bHstd2Via2l0LWZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcH1zZWN0aW9uLmZ1ZWwtb3B0aW9ucyB1bCBsaXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59c2VjdGlvbi5mdWVsLW9wdGlvbnMgdWwgbGkgLmZ1ZWwtbGFiZWx7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKX1zZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnN7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfXNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyxzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGl7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fXNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyBsaXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX1zZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgc3Zne2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO3dpZHRoOnZhcigtLWdtcC1tYXQtc3BhY2luZy10d28tZXh0cmEtbGFyZ2UsMjRweCl9c2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIGxpIC5ldmNoYXJnZS1sYWJlbHstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19c2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIGxpIC5ldmNoYXJnZS1jb3VudCxzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgLmV2Y2hhcmdlLWxhYmVsIC5ldmNoYXJnZS1yYXRlLHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyBsaSAuZXZjaGFyZ2UtbGFiZWwgLmludGVycHVuY3R7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKX1zZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgLmV2Y2hhcmdlLWNvdW50e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9c2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIGxpOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9c2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIC5jaGlwe2JhY2tncm91bmQ6dmFyKC0tZ21wLW1hdC1jb2xvci1uZXV0cmFsLWNvbnRhaW5lcixsaWdodC1kYXJrKCNmMmYyZjIsIzMwMzAzMCkpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLW1lZGl1bSxub3JtYWwgNTAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW07cGFkZGluZzoxcHggNXB4fXNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyAuY2hpcC5jaGlwLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWdtcC1tYXQtY29sb3ItcG9zaXRpdmUtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2M0ZWVkMCwjMWYzZjI4KSk7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1wb3NpdGl2ZS1jb250YWluZXIsbGlnaHQtZGFyaygjMWUxZTFlLCNmZmYpKX1zZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgLmZvb3Rub3Rle2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LmZvb3Rub3Rle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7dGV4dC1hbGlnbjplbmR9Il0pO3ZhciBreWI9WyJSRUdVTEFSX1VOTEVBREVEIiwiTUlER1JBREUiLCJQUkVNSVVNIiwiRElFU0VMIl07dmFyIHMkPWNsYXNzIGV4dGVuZHMgQTl7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLHMkLCJQbGFjZVR5cGVTcGVjaWZpY0hpZ2hsaWdodHNFbGVtZW50Iil9cWgoKXtyZXR1cm57fX19O3MkLklpPXtLaToyNTM0NTUsSmk6MjUzNDM1fTtzJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcyxvRWJdO3ZhciBwRWI9Xy4kcyhbIi53ZWJzaXRlLWxpbmt7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS53ZWJzaXRlLWxpbmsgc3Zney13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7LXdlYmtpdC1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTstbW96LW1hcmdpbi1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO21hcmdpbi1pbmxpbmUtZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt3aWR0aDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctdHdvLWV4dHJhLWxhcmdlLDI0cHgpfSJdKTt2YXIgdCQ9Y2xhc3MgZXh0ZW5kcyBBOXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnhpKGEsdCQsIlBsYWNlV2Vic2l0ZUVsZW1lbnQiKX1xaCgpe3JldHVybnt9fX07dCQuSWk9e0tpOjI1MzQ1MSxKaToyNTM0MzF9O3QkLnN0eWxlcz1bLi4uQTkuc3R5bGVzLHBFYl07dmFyIHR5Yj1uZXcgTWFwKFtbImdtcC1wbGFjZS1tZWRpYSIsYiRdLFsiZ21wLXBsYWNlLWFkZHJlc3MiLEM5XSxbImdtcC1wbGFjZS1yYXRpbmciLG4kXSxbImdtcC1wbGFjZS10eXBlIixyJF0sWyJnbXAtcGxhY2UtcHJpY2UiLGwkXSxbImdtcC1wbGFjZS1hY2Nlc3NpYmxlLWVudHJhbmNlLWljb24iLEI5XSxbImdtcC1wbGFjZS1vcGVuLW5vdy1zdGF0dXMiLGMkXSxbImdtcC1wbGFjZS1hdHRyaWJ1dGlvbiIseTldXSksdXliPW5ldyBNYXAoW1siZ21wLXBsYWNlLXdlYnNpdGUiLHQkXSxbImdtcC1wbGFjZS1waG9uZS1udW1iZXIiLGUkXSxbImdtcC1wbGFjZS1vcGVuaW5nLWhvdXJzIixkJF0sWyJnbXAtcGxhY2Utc3VtbWFyeSIscSRdLFsiZ21wLXBsYWNlLXR5cGUtc3BlY2lmaWMtaGlnaGxpZ2h0cyIscyRdLFsiZ21wLXBsYWNlLXJldmlldy1zdW1tYXJ5IixvJF0sWyJnbXAtcGxhY2UtcmV2aWV3cyIscCRdLFsiZ21wLXBsYWNlLXBsdXMtY29kZSIsZiRdLFsiZ21wLXBsYWNlLWZlYXR1cmUtbGlzdCIsCkQ5XV0pO1suLi50eWJdO1suLi51eWJdO3ZhciBxRWI9Xy4kcyhbIjpob3N0KDpub3QoW2hpZGRlbl0pKXtkaXNwbGF5OmJsb2NrfTpob3N0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSk7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7Zm9udC1zaXplOjE2cHh9Omhvc3QoOm5vdChnbXAtcGxhY2UtY29udGVudC1jb25maWcpKXtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Ym9yZGVyLXJhZGl1czoxNnB4O292ZXJmbG93OmhpZGRlbn0ub3V0ZXItY29udGFpbmVye2hlaWdodDoxMDAlfS5vdXRlci1jb250YWluZXIgLmNvbnRhaW5lcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfWF7Y29sb3I6dW5zZXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfXB7bWFyZ2luOjB9dWx7YWxsOnVuc2V0fWhye2FsbDp1bnNldDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO2Rpc3BsYXk6YmxvY2t9LmF0dHJpYnV0aW9uLWNvbnRhaW5lciBocntib3JkZXItd2lkdGg6LjVweH0uYXR0cmlidXRpb257cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLXRvcDowfXNlY3Rpb257cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpIHZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSAwO3Bvc2l0aW9uOnJlbGF0aXZlfXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZ3tmb250LXdlaWdodDo1MDA7LXdlYmtpdC1tYXJnaW4tYWZ0ZXI6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTttYXJnaW4tYmxvY2stZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LnNyLW9ubHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpe2NsaXA6cmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4fS5iYXNpYy1pbmZvey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowfS5iYXNpYy1pbmZvLC5iYXNpYy1pbmZvIC5zcGlubmVyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmJhc2ljLWluZm8gLnNwaW5uZXItY29udGFpbmVye21hcmdpbjphdXRvO3BhZGRpbmc6MThweH0uYmFzaWMtaW5mbyBnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vyc3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpfS5iYXNpYy1pbmZvIGdtcC1pbnRlcm5hbC1saW5rLWJ1dHRvbntjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9LmJhc2ljLWluZm8gcHstd2Via2l0LXBhZGRpbmctYmVmb3JlOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTtwYWRkaW5nLWJsb2NrLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0uYmFzaWMtaW5mby5uby1wYWRkaW5ne3BhZGRpbmc6MH0ubGlnaHRib3gtYWZmb3JkYW5jZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1tZWRpdW0sbm9ybWFsIDUwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTphdXRvO2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDoycHg7bWFyZ2luOjEycHg7cGFkZGluZzoycHggNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5saWdodGJveC1hZmZvcmRhbmNlIC5waG90by1saWJyYXJ5e2hlaWdodDoxLjE2NjY2NjY2NjdlbTt3aWR0aDoxLjE2NjY2NjY2NjdlbX0ubGlnaHRib3gtYWZmb3JkYW5jZS50aWdodHttYXJnaW46OHB4fUAtd2Via2l0LWtleWZyYW1lcyBpbWFnZS1mYWRlLWluLWtleWZyYW1lc3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBza2VsZXRvbi1wdWxzZS1rZXlmcmFtZXN7MCV7b3BhY2l0eTouNX01MCV7b3BhY2l0eToxfXRve29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi41fX0uaGVyby1pbWFnZXtsaW5lLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9Lmhlcm8taW1hZ2UgYnV0dG9uLmltYWdlLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcn0uaGVyby1pbWFnZSAuaW1hZ2UtY29udGFpbmVye2FzcGVjdC1yYXRpbzozLzI7Ym9yZGVyOm5vbmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcDtwYWRkaW5nOjA7cGxhY2UtY29udGVudDpjZW50ZXJ9Lmhlcm8taW1hZ2UgaW1ney13ZWJraXQtYW5pbWF0aW9uOmltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzIDFzO2FuaW1hdGlvbjppbWFnZS1mYWRlLWluLWtleWZyYW1lcyAxcztoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3dpZHRoOjEwMCV9Lmhlcm8taW1hZ2UgLnBsYWNlaG9sZGVyLC5oZXJvLWltYWdlIGltZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKX0uaGVyby1pbWFnZSAucGxhY2Vob2xkZXJ7LXdlYmtpdC1hbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZTthbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZX0uZm9vdG5vdGV7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKTt0ZXh0LWFsaWduOmVuZH0uanVzdGlmaWNhdGlvbnMtc2VjdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uanVzdGlmaWNhdGlvbnMtc2VjdGlvbiAuYXZhdGFyIGltZ3t3aWR0aDoxNnB4fS5qdXN0aWZpY2F0aW9ucy1zZWN0aW9uIC5oaWdobGlnaHRlZC10ZXh0e2ZvbnQtd2VpZ2h0OjcwMH0ucm91dGluZy1zdW1tYXJ5e2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktc21hbGwsbm9ybWFsIDQwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmVuZDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDstbXMtZmxleC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKTtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpIDAgMH0ucm91dGluZy1zdW1tYXJ5LC5yb3V0aW5nLXN1bW1hcnkgLnJvdXRpbmctdGltZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LnJvdXRpbmctc3VtbWFyeSAucm91dGluZy10aW1ley13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4fS5yb3V0aW5nLXN1bW1hcnkgc3Zne2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LmF0dHJpYnV0ZS10YWdze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6MnB4O21hcmdpbjo4cHggMCAwfS5hdHRyaWJ1dGUtdGFncyAuYXR0cmlidXRlLXRhZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZmZmKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbWVkaXVtLG5vcm1hbCA1MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTtwYWRkaW5nOjFweCA1cHh9LnJldmlld3MtZGlzY2xvc3VyZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7LW1zLWZsZXgtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zdGF0dXMtdGV4dHtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO3BhZGRpbmc6MTZweH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3R7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jb250YWluZXIucGxhY2UtY29tcGFjdDpub3QoLmVycm9yLC5lbXB0eSkgZ21wLWludGVybmFsLWF0dHJpYnV0aW9ue21hcmdpbi1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTttYXJnaW4taW5saW5lOjAgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5lbXB0eSAuc3RhdHVzLXRleHQsLmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LmVycm9yIC5zdGF0dXMtdGV4dHtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LmVtcHR5IC5hdHRyaWJ1dGlvbiwuY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuZXJyb3IgLmF0dHJpYnV0aW9ue3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5lbXB0eSAuYXR0cmlidXRpb24gZ21wLWludGVybmFsLWF0dHJpYnV0aW9uLC5jb250YWluZXIucGxhY2UtY29tcGFjdC5lcnJvciAuYXR0cmlidXRpb24gZ21wLWludGVybmFsLWF0dHJpYnV0aW9ue21hcmdpbjowfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5sb2FkaW5nIC5iYXNpYy1pbmZvIC5hdHRyaWJ1dGlvbntwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpIDAgMCAwfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5sb2FkaW5nIC5iYXNpYy1pbmZvIC5hdHRyaWJ1dGlvbiBnbXAtaW50ZXJuYWwtYXR0cmlidXRpb257bWFyZ2luLXRvcDowO3BhZGRpbmc6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuZW1wdHl7cGFkZGluZy10b3A6NDhweH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QgLmhlcm8taW1hZ2V7LXdlYmtpdC1mbGV4LXNocmluazowOy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QgLmhlcm8taW1hZ2UgZ21wLWludGVybmFsLWNvbGxhZ2V7YXNwZWN0LXJhdGlvOjEuNS8xO2JvcmRlci1yYWRpdXM6MH1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyICh3aWR0aCA8IDM1MHB4KXsuY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCBzZWN0aW9uLmhlcm8taW1hZ2V7ZGlzcGxheTpub25lfX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyICh3aWR0aCA+PSAyMDBweCl7LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24uY29uZGVuc2Vke2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAub3Blbi1pbi1tYXBzLWJ1dHRvbi5taW5pbWFse2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi13ZWJraXQtZml0LWNvbnRlbnQ7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O21hcmdpbi1ib3R0b206YXV0bzttYXJnaW4tbGVmdDphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX19QGNvbnRhaW5lciBjb250ZW50LWNvbnRhaW5lciAod2lkdGggPCAyMDBweCl7LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24uY29uZGVuc2Vke2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTp1bnNldDttYXJnaW4tbGVmdDp1bnNldDt2aXNpYmlsaXR5OnZpc2libGV9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24ubWluaW1hbHtkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsOm5vdCguZXJyb3IsLmVtcHR5KXstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOnN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOnN0YXJ0Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSAwfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsOm5vdCguZXJyb3IsLmVtcHR5KSBzZWN0aW9uLmhlcm8taW1hZ2V7cGFkZGluZy1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbDpub3QoLmVycm9yLC5lbXB0eSkgZ21wLWludGVybmFsLWxpbmstYnV0dG9ue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZikpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsLmxvYWRpbmcgLmJhc2ljLWluZm8gLnNwaW5uZXItY29udGFpbmVye21hcmdpbi1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTstd2Via2l0LW1hcmdpbi1zdGFydDowOy1tb3otbWFyZ2luLXN0YXJ0OjA7bWFyZ2luLWlubGluZS1zdGFydDowO3BhZGRpbmctYm90dG9tOjI4cHg7LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OjA7LW1vei1wYWRkaW5nLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MDtwYWRkaW5nLXRvcDowfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsIC5iYXNpYy1pbmZve3BhZGRpbmc6MDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAuYnV0dG9uLXNlY3Rpb257LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OjA7LW1vei1wYWRkaW5nLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAuaGVyby1pbWFnZXstd2Via2l0LWFsaWduLXNlbGY6c3RhcnQ7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOnN0YXJ0Oy13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAwIDkwcHg7LW1vei1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCA5MHB4O2ZsZXg6MCAwIDkwcHg7aGVpZ2h0OjkwcHh9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLmhlcm8taW1hZ2UgZ21wLWludGVybmFsLWNvbGxhZ2V7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6dmFyKC0tZ21wLXRodW1ibmFpbC1ib3JkZXItcmFkaXVzLDhweCk7aGVpZ2h0OjEwMCU7cGFkZGluZzowO3dpZHRoOjEwMCV9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LnZlcnRpY2FsOm5vdCguZXJyb3IsLmVtcHR5KSBnbXAtaW50ZXJuYWwtbGluay1idXR0b257bWFyZ2luLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtwYWRkaW5nOjhweCAwfS5jb250YWluZXIucGxhY2UtY29tcGFjdC52ZXJ0aWNhbC5sb2FkaW5nIC5iYXNpYy1pbmZvIC5zcGlubmVyLWNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjZweDttYXJnaW4tdG9wOjZweDtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9Lm91dGVyLWNvbnRhaW5lcntjb250YWluZXItbmFtZTpjb250ZW50LWNvbnRhaW5lcjtjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZX0uYWN0aW9uLWNvcm5lci1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDstbXMtZmxleC1wYWNrOmVuZDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCk7cG9pbnRlci1ldmVudHM6bm9uZX0uYWN0aW9uLWNvcm5lci1vdmVybGF5IGdtcC1wbGFjZS1idXR0b24sLmFjdGlvbi1jb3JuZXItb3ZlcmxheSBnbXAtcGxhY2UtbGluaywuYWN0aW9uLWNvcm5lci1vdmVybGF5IHNsb3R7cG9pbnRlci1ldmVudHM6YXV0b30uYmFzaWMtaW5mbyAuYWN0aW9ucy1tYWlue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1mbG93OnJvdyB3cmFwOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfSJdKTt2YXIgckViPV8uJHMoWyI6aG9zdCg6bm90KFtoaWRkZW5dKSl7ZGlzcGxheTpibG9ja306aG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpO2NvbG9yLXNjaGVtZTpsaWdodCBkYXJrO2ZvbnQtc2l6ZToxNnB4fTpob3N0KDpub3QoZ21wLXBsYWNlLWNvbnRlbnQtY29uZmlnKSl7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW59Lm91dGVyLWNvbnRhaW5lcntoZWlnaHQ6MTAwJX0ub3V0ZXItY29udGFpbmVyIC5jb250YWluZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX1he2NvbG9yOnVuc2V0O3RleHQtZGVjb3JhdGlvbjpub25lfWE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1we21hcmdpbjowfXVse2FsbDp1bnNldH1ocnthbGw6dW5zZXQ7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmUsbGlnaHQtZGFyaygjZTNlM2UzLCM0NzQ3NDcpKTtkaXNwbGF5OmJsb2NrfS5hdHRyaWJ1dGlvbi1jb250YWluZXIgaHJ7Ym9yZGVyLXdpZHRoOi41cHh9LmF0dHJpYnV0aW9ue3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH1zZWN0aW9ue3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCkgMDtwb3NpdGlvbjpyZWxhdGl2ZX1zZWN0aW9uIC5zZWN0aW9uLWhlYWRpbmd7Zm9udC13ZWlnaHQ6NTAwOy13ZWJraXQtbWFyZ2luLWFmdGVyOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCk7bWFyZ2luLWJsb2NrLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpfS5zci1vbmx5Om5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKXtjbGlwOnJlY3QoMCAwIDAgMCk7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoNTAlKTtjbGlwLXBhdGg6aW5zZXQoNTAlKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjFweH0uYmFzaWMtaW5mb3std2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MH0uYmFzaWMtaW5mbywuYmFzaWMtaW5mbyAuc3Bpbm5lci1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5iYXNpYy1pbmZvIC5zcGlubmVyLWNvbnRhaW5lcnttYXJnaW46YXV0bztwYWRkaW5nOjE4cHh9LmJhc2ljLWluZm8gZ21wLWludGVybmFsLXBsYWNlLW9wZW5pbmctaG91cnN7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKX0uYmFzaWMtaW5mbyBnbXAtaW50ZXJuYWwtbGluay1idXR0b257Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLGxpZ2h0LWRhcmsoIzAxNGY1YSwjOWZlZmZmKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbGFyZ2Usbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTttYXJnaW4tdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCk7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5iYXNpYy1pbmZvIHB7LXdlYmtpdC1wYWRkaW5nLWJlZm9yZTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7cGFkZGluZy1ibG9jay1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCl9LmJhc2ljLWluZm8ubm8tcGFkZGluZ3twYWRkaW5nOjB9LmxpZ2h0Ym94LWFmZm9yZGFuY2V7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbWVkaXVtLG5vcm1hbCA1MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjRweDtib3R0b206YXV0bztjb2xvcjojZmZmO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6MnB4O21hcmdpbjoxMnB4O3BhZGRpbmc6MnB4IDVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ubGlnaHRib3gtYWZmb3JkYW5jZSAucGhvdG8tbGlicmFyeXtoZWlnaHQ6MS4xNjY2NjY2NjY3ZW07d2lkdGg6MS4xNjY2NjY2NjY3ZW19LmxpZ2h0Ym94LWFmZm9yZGFuY2UudGlnaHR7bWFyZ2luOjhweH1ALXdlYmtpdC1rZXlmcmFtZXMgaW1hZ2UtZmFkZS1pbi1rZXlmcmFtZXN7MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBpbWFnZS1mYWRlLWluLWtleWZyYW1lc3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzIHNrZWxldG9uLXB1bHNlLWtleWZyYW1lc3swJXtvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9dG97b3BhY2l0eTouNX19Lmhlcm8taW1hZ2V7bGluZS1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowfS5oZXJvLWltYWdlIGJ1dHRvbi5pbWFnZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXJ9Lmhlcm8taW1hZ2UgLmltYWdlLWNvbnRhaW5lcnthc3BlY3QtcmF0aW86My8yO2JvcmRlcjpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1mbG93OnJvdyB3cmFwOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7cGFkZGluZzowO3BsYWNlLWNvbnRlbnQ6Y2VudGVyfS5oZXJvLWltYWdlIGltZ3std2Via2l0LWFuaW1hdGlvbjppbWFnZS1mYWRlLWluLWtleWZyYW1lcyAxczthbmltYXRpb246aW1hZ2UtZmFkZS1pbi1rZXlmcmFtZXMgMXM7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt3aWR0aDoxMDAlfS5oZXJvLWltYWdlIC5wbGFjZWhvbGRlciwuaGVyby1pbWFnZSBpbWd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2YyZjJmMiwjMzAzMDMwKSl9Lmhlcm8taW1hZ2UgLnBsYWNlaG9sZGVyey13ZWJraXQtYW5pbWF0aW9uOnNrZWxldG9uLXB1bHNlLWtleWZyYW1lcyAxLjVzIGVhc2UtaW4tb3V0IC4yNXMgaW5maW5pdGU7YW5pbWF0aW9uOnNrZWxldG9uLXB1bHNlLWtleWZyYW1lcyAxLjVzIGVhc2UtaW4tb3V0IC4yNXMgaW5maW5pdGV9LmZvb3Rub3Rle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7dGV4dC1hbGlnbjplbmR9Lmp1c3RpZmljYXRpb25zLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lmp1c3RpZmljYXRpb25zLXNlY3Rpb24gLmF2YXRhciBpbWd7d2lkdGg6MTZweH0uanVzdGlmaWNhdGlvbnMtc2VjdGlvbiAuaGlnaGxpZ2h0ZWQtdGV4dHtmb250LXdlaWdodDo3MDB9LnJvdXRpbmctc3VtbWFyeXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTstd2Via2l0LWJveC1hbGlnbjplbmQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LWVuZDstbW96LWJveC1hbGlnbjplbmQ7LW1zLWZsZXgtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO21hcmdpbjp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KSAwIDB9LnJvdXRpbmctc3VtbWFyeSwucm91dGluZy1zdW1tYXJ5IC5yb3V0aW5nLXRpbWV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5yb3V0aW5nLXN1bW1hcnkgLnJvdXRpbmctdGltZXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweH0ucm91dGluZy1zdW1tYXJ5IHN2Z3toZWlnaHQ6MTRweDt3aWR0aDoxNHB4fS5hdHRyaWJ1dGUtdGFnc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Z2FwOjJweDttYXJnaW46OHB4IDAgMH0uYXR0cmlidXRlLXRhZ3MgLmF0dHJpYnV0ZS10YWd7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2YyZjJmMiwjMzAzMDMwKSk7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1uZXV0cmFsLWNvbnRhaW5lcixsaWdodC1kYXJrKCMxZjFmMWYsI2ZmZikpO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLW1lZGl1bSxub3JtYWwgNTAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW07cGFkZGluZzoxcHggNXB4fS5yZXZpZXdzLWRpc2Nsb3N1cmV7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LXBhY2s6ZW5kOy1tcy1mbGV4LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc3RhdHVzLXRleHR7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWRkaW5nOjE2cHh9LmNvbnRhaW5lci5wbGFjZS1mdWxsIC5lbXB0eS1jb250ZW50e2hlaWdodDo2MHB4fS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9ue3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5iYXNpYy1pbmZve3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCAuYmFzaWMtaW5mbyAuYWN0aW9ucy1tYWlue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1mbG93OnJvdyB3cmFwOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBnbXAtaW50ZXJuYWwtY29sbGFnZXthc3BlY3QtcmF0aW86MS41LzF9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29sbGFnZXstd2Via2l0LXBhZGRpbmctYmVmb3JlOjA7cGFkZGluZy1ibG9jay1zdGFydDowfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnN1bW1hcnl7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjA7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnN1bW1hcnkgcHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnN1bW1hcnkgcC5kaXNjbG9zdXJle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uc3VtbWFyeSAuZGVzY3JpcHRpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnN1bW1hcnkgZ21wLWludGVybmFsLW1lbnU6OnBhcnQoZGlhbG9nKXtpbnNldC1ibG9jay1lbmQ6NTUlO2luc2V0LWlubGluZS1lbmQ6NTUlfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnN1bW1hcnk6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jb250YWluZXIucGxhY2UtZnVsbCwuY29udGFpbmVyLnBsYWNlLWZ1bGwgLnNwaW5uZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgLnNwaW5uZXItY29udGFpbmVye3BhZGRpbmc6MjFweCAwfS5jb250YWluZXIucGxhY2UtZnVsbCAuc3Bpbm5lci1jb250YWluZXIgZ21wLWludGVybmFsLWNpcmN1bGFyLWxvYWRlcntoZWlnaHQ6MThweDttYXJnaW46YXV0bzt3aWR0aDoxOHB4fS5jb250YWluZXIucGxhY2UtZnVsbCAuc2Nyb2xsLWNvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW4gYXV0b30uY29udGFpbmVyLnBsYWNlLWZ1bGwgLmF0dHJpYnV0aW9ue3BhZGRpbmc6MCB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsLmxvYWRpbmcgLmNvbGxhZ2V7cGFkZGluZzowIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbC5lcnJvciAuc3RhdHVzLXRleHR7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnJldmlld3Mtc2VjdGlvbntnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTtwYWRkaW5nLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZnVlbC1vcHRpb25zLC5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnJldmlld3Mtc2VjdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZnVlbC1vcHRpb25ze2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmZ1ZWwtb3B0aW9ucyB1bHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmZ1ZWwtb3B0aW9ucyB1bCBsaXstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZnVlbC1vcHRpb25zIHVsIGxpIC5mdWVsLWxhYmVse2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGl7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgc3Zne2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO3dpZHRoOnZhcigtLWdtcC1tYXQtc3BhY2luZy10d28tZXh0cmEtbGFyZ2UsMjRweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyBsaSAuZXZjaGFyZ2UtbGFiZWx7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgLmV2Y2hhcmdlLWNvdW50LC5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgLmV2Y2hhcmdlLWxhYmVsIC5ldmNoYXJnZS1yYXRlLC5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmV2Y2hhcmdlLW9wdGlvbnMgbGkgLmV2Y2hhcmdlLWxhYmVsIC5pbnRlcnB1bmN0e2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyBsaSAuZXZjaGFyZ2UtY291bnR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIGxpOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyAuY2hpcHtiYWNrZ3JvdW5kOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKTtib3JkZXItcmFkaXVzOjRweDtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1tZWRpdW0sbm9ybWFsIDUwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtO3BhZGRpbmc6MXB4IDVweH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5ldmNoYXJnZS1vcHRpb25zIC5jaGlwLmNoaXAtYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tZ21wLW1hdC1jb2xvci1wb3NpdGl2ZS1jb250YWluZXIsbGlnaHQtZGFyaygjYzRlZWQwLCMxZjNmMjgpKTtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXBvc2l0aXZlLWNvbnRhaW5lcixsaWdodC1kYXJrKCMxZTFlMWUsI2ZmZikpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmNvbnRhY3RzLXNlY3Rpb24sLmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZXZjaGFyZ2Utb3B0aW9ucyAuZm9vdG5vdGV7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5jb250YWN0cy1zZWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpIDB9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29udGFjdHMtc2VjdGlvbiBhLndlYnNpdGUtbGlua3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmNvbnRhY3RzLXNlY3Rpb24gYS5jb250YWN0cy1yb3c6Zm9jdXMtdmlzaWJsZSwuY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5jb250YWN0cy1zZWN0aW9uIGdtcC1pbnRlcm5hbC1wbGFjZS1vcGVuaW5nLWhvdXJzOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSAxMCUsdHJhbnNwYXJlbnQpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmNvbnRhY3RzLXNlY3Rpb24gYS5jb250YWN0cy1yb3c6aG92ZXIsLmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29udGFjdHMtc2VjdGlvbiBnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vyczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpIDglLHRyYW5zcGFyZW50KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5jb250YWN0cy1zZWN0aW9uIC5jb250YWN0cy1yb3d7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5jb250YWN0cy1zZWN0aW9uIC5jb250YWN0cy1yb3csLmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29udGFjdHMtc2VjdGlvbiBnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vyc3twYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmNvbnRhY3RzLXNlY3Rpb24gc3Zne2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpOy13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7LXdlYmtpdC1tYXJnaW4tZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTstbW96LW1hcmdpbi1lbmQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpO21hcmdpbi1pbmxpbmUtZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1sYXJnZSwyMHB4KTt3aWR0aDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctdHdvLWV4dHJhLWxhcmdlLDI0cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmZlYXR1cmVze3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbnttYXJnaW4tYmxvY2s6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmZlYXR1cmVzIC5mZWF0dXJlcy1zZWN0aW9uIC5zZWN0aW9uLWhlYWRpbmd7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtdGl0bGUtc21hbGwsbm9ybWFsIDUwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTttYXJnaW4tYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWJhc2lzOmNhbGMoNTAlIC0gdmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLCA4cHgpLzIpOy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmNhbGMoNTAlIC0gdmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLCA4cHgpLzIpO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsIDhweCkvMik7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uZmVhdHVyZXMgLmZlYXR1cmVzLXNlY3Rpb24gdWwgbGk+ZGl2ey13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RhcnQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTttYXJnaW46MH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaT5kaXYgc3Zney13ZWJraXQtZmxleC1zaHJpbms6MDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7d2lkdGg6MThweH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5mZWF0dXJlcyAuZmVhdHVyZXMtc2VjdGlvbiB1bCBsaSAuc3Itb25seXstd2Via2l0LW1hcmdpbi1zdGFydDpjYWxjKDE4cHggKyB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsIDRweCkpOy1tb3otbWFyZ2luLXN0YXJ0OmNhbGMoMThweCArIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCwgNHB4KSk7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKDE4cHggKyB2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsIDRweCkpO292ZXJmbG93OmF1dG87d2lkdGg6Y2FsYygxMDAlIC0gMThweCAtIHZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCwgNHB4KSl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29uc3VtZXItYWxlcnR7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpzdGFydDstbW96LWJveC1hbGlnbjpzdGFydDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtbGFyZ2UsMjBweCk7cGFkZGluZy1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7cGFkZGluZy10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLWxhcmdlLDIwcHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLmNvbnN1bWVyLWFsZXJ0IC53YXJuaW5nLXRyaWFuZ2xle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmVnYXRpdmUsbGlnaHQtZGFyaygjZGMzNjJlLCNmMmI4YjUpKTstd2Via2l0LWZsZXgtc2hyaW5rOjA7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowO3dpZHRoOnZhcigtLWdtcC1tYXQtc3BhY2luZy10d28tZXh0cmEtbGFyZ2UsMjRweCl9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29uc3VtZXItYWxlcnQgLmNvbnN1bWVyLWFsZXJ0LXJpZ2h0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5jb25zdW1lci1hbGVydCAuY29uc3VtZXItYWxlcnQtcmlnaHQgLmNvbnN1bWVyLWFsZXJ0LW92ZXJ2aWV3e2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24uY29uc3VtZXItYWxlcnQgLmNvbnN1bWVyLWFsZXJ0LXJpZ2h0IC5jb25zdW1lci1hbGVydC1kZXRhaWxzLWJ1dHRvbnthbGw6dW5zZXQ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO2N1cnNvcjpwb2ludGVyO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSAwO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgZ21wLWludGVybmFsLWRpYWxvZyBkaWFsb2d7LS1nbXAtaW50ZXJuYWwtZGlhbG9nLWJvcmRlci1yYWRpdXM6dmFyKC0tZ21wLWRpYWxvZy1ib3JkZXItcmFkaXVzLDI4cHgpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSk7bWF4LXdpZHRoOjYwMHB4fS5jb250YWluZXIucGxhY2UtZnVsbCBnbXAtaW50ZXJuYWwtZGlhbG9nIGRpYWxvZyBoZWFkZXIgLmdtLXVpLWhvdmVyLWVmZmVjdD5zcGFue2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmNvbnRhaW5lci5wbGFjZS1mdWxsIGdtcC1pbnRlcm5hbC1kaWFsb2cgZGlhbG9nIGhlYWRlciAuZ20tdWktaG92ZXItZWZmZWN0PnNwYW57YmFja2dyb3VuZC1jb2xvcjpCdXR0b25UZXh0fX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpOy13ZWJraXQtcGFkZGluZy1hZnRlcjp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nLWJsb2NrLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeSBwe2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24ucmV2aWV3LXN1bW1hcnkgcC50aXRsZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC10aXRsZS1zbWFsbCxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnJldmlldy1zdW1tYXJ5IC5kaXNjbG9zdXJle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW07LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeT5kaXY+ZGl2e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtbWVudTo6cGFydChkaWFsb2cpe2luc2V0LWJsb2NrLWVuZDo1NSU7aW5zZXQtaW5saW5lLWVuZDo1NSV9LmNvbnRhaW5lci5wbGFjZS1mdWxsIHNlY3Rpb24ucmV2aWV3LXN1bW1hcnkgZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5ey13ZWJraXQtcGFkZGluZy1hZnRlcjp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTtwYWRkaW5nLWJsb2NrLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtcGxhY2UtcmF0aW5nLXN1bW1hcnk6OnBhcnQocmF0aW5nKXstd2Via2l0LXBhZGRpbmctYmVmb3JlOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmctYmxvY2stc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7LXdlYmtpdC1wYWRkaW5nLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTstbW96LXBhZGRpbmctZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWRpc3BsYXktbWVkaXVtLG5vcm1hbCA0MDAgMS43NWVtLzEuMjg1NzE0Mjg1NyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zLHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzowO2xpbmUtaGVpZ2h0Oi44ZW07cGFkZGluZy1pbmxpbmUtZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5jb250YWluZXIucGxhY2UtZnVsbCBzZWN0aW9uLnJldmlldy1zdW1tYXJ5IGdtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeTo6cGFydChyZXZpZXdzKXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO2xpbmUtaGVpZ2h0OjFlbX0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtcGxhY2UtcmF0aW5nLXN1bW1hcnk6OnBhcnQoc3Rhci1yYXRpbmcpey13ZWJraXQtYWxpZ24tc2VsZjplbmQ7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTstbXMtZmxleC1pdGVtLWFsaWduOmVuZDthbGlnbi1zZWxmOmVuZH0uY29udGFpbmVyLnBsYWNlLWZ1bGwgc2VjdGlvbi5yZXZpZXctc3VtbWFyeSBnbXAtaW50ZXJuYWwtcGxhY2UtcmF0aW5nLXN1bW1hcnk6OnBhcnQoY29udGFpbmVyKXstd2Via2l0LWJveC1hbGlnbjplbmQ7LXdlYmtpdC1hbGlnbi1pdGVtczplbmQ7LW1vei1ib3gtYWxpZ246ZW5kOy1tcy1mbGV4LWFsaWduOmVuZDthbGlnbi1pdGVtczplbmR9Il0pO3ZhciBzRWI9W1tiJCwibWVkaWEiLCJQbGFjZU1lZGlhRWxlbWVudCJdLFtDOSwiYWRkcmVzcyIsIlBsYWNlQWRkcmVzc0VsZW1lbnQiXSxbbiQsInJhdGluZyIsIlBsYWNlUmF0aW5nRWxlbWVudCJdLFtyJCwicGxhY2VUeXBlIiwiUGxhY2VUeXBlRWxlbWVudCJdLFtsJCwicHJpY2UiLCJQbGFjZVByaWNlRWxlbWVudCJdLFtCOSwiYWNjZXNzaWJsZUVudHJhbmNlSWNvbiIsIlBsYWNlQWNjZXNzaWJsZUVudHJhbmNlSWNvbkVsZW1lbnQiXSxbYyQsIm9wZW5Ob3dTdGF0dXMiLCJQbGFjZU9wZW5Ob3dTdGF0dXNFbGVtZW50Il0sW3k5LCJhdHRyaWJ1dGlvbiIsIlBsYWNlQXR0cmlidXRpb25FbGVtZW50Il0sW3QkLCJ3ZWJzaXRlIiwiUGxhY2VXZWJzaXRlRWxlbWVudCJdLFtlJCwicGhvbmVOdW1iZXIiLCJQbGFjZVBob25lTnVtYmVyRWxlbWVudCJdLFtkJCwib3BlbmluZ0hvdXJzIiwiUGxhY2VPcGVuaW5nSG91cnNFbGVtZW50Il0sW3EkLCJzdW1tYXJ5IiwiUGxhY2VTdW1tYXJ5RWxlbWVudCJdLApbcyQsInR5cGVTcGVjaWZpY0hpZ2hsaWdodHMiLCJQbGFjZVR5cGVTcGVjaWZpY0hpZ2hsaWdodHNFbGVtZW50Il0sW28kLCJyZXZpZXdTdW1tYXJ5IiwiUGxhY2VSZXZpZXdTdW1tYXJ5RWxlbWVudCJdLFtwJCwicmV2aWV3cyIsIlBsYWNlUmV2aWV3c0VsZW1lbnQiXSxbZiQsInBsdXNDb2RlIiwiUGxhY2VQbHVzQ29kZUVsZW1lbnQiXSxbRDksImZlYXR1cmVMaXN0IiwiUGxhY2VGZWF0dXJlTGlzdEVsZW1lbnQiXSxbayQsInBvcHVsYXJUaW1lcyIsIlBsYWNlUG9wdWxhclRpbWVzRWxlbWVudCJdXSx0RWI9bmV3IE1hcChzRWIubWFwKChbYSxiXSk9PlthLGJdKSksUXliPW5ldyBNYXAoc0ViLm1hcCgoWyxhLGJdKT0+W2EsYl0pKSxwOD17bWVkaWE6e2xpZ2h0Ym94UHJlZmVycmVkOiExLHByZWZlcnJlZFNpemU6IlNNQUxMIn0sYWRkcmVzczp7fSxyYXRpbmc6e30scGxhY2VUeXBlOnt9LHByaWNlOnt9LGFjY2Vzc2libGVFbnRyYW5jZUljb246e30sb3Blbk5vd1N0YXR1czp7fSwKYXR0cmlidXRpb246e2xpZ2h0U2NoZW1lQ29sb3I6IkdSQVkiLGRhcmtTY2hlbWVDb2xvcjoiV0hJVEUifSx3ZWJzaXRlOnt9LHBob25lTnVtYmVyOnt9LG9wZW5pbmdIb3Vyczp7fSxwb3B1bGFyVGltZXM6e30sc3VtbWFyeTp7fSx0eXBlU3BlY2lmaWNIaWdobGlnaHRzOnt9LHJldmlld1N1bW1hcnk6e30scmV2aWV3czp7fSxwbHVzQ29kZTp7fSxmZWF0dXJlTGlzdDp7fX0sVDc9Y2xhc3MgZXh0ZW5kcyBxOXtzdGF0aWMgZ2V0IFBtKCl7cmV0dXJuey4uLnE5LlBtLHNsb3RBc3NpZ25tZW50OiJtYW51YWwifX1jb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLkx2PW5ldyByOSh0aGlzKTt0aGlzLkd4PW5ldyBTZXQoW2IkLEM5LG4kLHIkLGwkLEI5LGMkLHk5LHQkLGUkLGQkLHEkLHMkLHAkLG8kLGYkLEQ5XSk7dGhpcy54aj17fTt0aGlzLnhpKGEsVDcsIlBsYWNlQ29udGVudENvbmZpZ0VsZW1lbnQiKX1xaCgpe3JldHVybiB0aGlzLnhqfUJ4KGEpe3ZhciBiPXt9O2ZvcihsZXQge3h1OmMsCmRhdGE6ZH1vZiBhKShhPXRFYi5nZXQoYykpP2E9PT0ibWVkaWEiP2IubWVkaWE9ZDphPT09ImF0dHJpYnV0aW9uIj9iLmF0dHJpYnV0aW9uPWQ6YT09PSJyZXZpZXdzIj9iLnJldmlld3M9ZDpiW2FdPWQ6Y29uc29sZS5lcnJvcihgVW5rbm93biBlbGVtZW50IGNvbnN0cnVjdG9yOiAke2N9YCxjKTtyZXR1cm4gYn19O1Q3LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1UNy5wcm90b3R5cGUuY29uc3RydWN0b3I7VDcuc3R5bGVzPVtxRWIsckViXTtUNy5JaT17S2k6MjUzNDQwLEppOjI1MzQyMH07Xy5EKFtfLnZxKHtuajooYSxiKT0+IVI3KGEsYil9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxUNy5wcm90b3R5cGUsInhqIix2b2lkIDApO18ueG8oImdtcC1wbGFjZS1jb250ZW50LWNvbmZpZyIsVDcpO3ZhciBVNz1jbGFzcyBleHRlbmRzIHE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxVNywiUGxhY2VTdGFuZGFyZENvbnRlbnRFbGVtZW50Iil9cWgoKXtyZXR1cm57fX19O1U3LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1VNy5wcm90b3R5cGUuY29uc3RydWN0b3I7VTcuSWk9e0tpOjI1MzQ0MSxKaToyNTM0MjF9O18ueG8oImdtcC1wbGFjZS1zdGFuZGFyZC1jb250ZW50IixVNyk7dmFyIHVFYj1fLiRzKFsiOmhvc3QoOm5vdChbaGlkZGVuXSkpe21pbi13aWR0aDowfS5wbGFjZS1iYXNpYy1pbmZvLS10cnVuY2F0aW9uLXByZWZlcnJlZCBzcGFuLmFkZHJlc3MsLnBsYWNlLWJhc2ljLWluZm8tLXRydW5jYXRpb24tcHJlZmVycmVkIHNwYW4udGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zZWN0aW9ue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LGxpZ2h0LWRhcmsoIzVlNWU1ZSwjYWJhYmFiKSk7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5zZWN0aW9uLC5zZWN0aW9uIC5sb3dlci1yb3dzLC5zZWN0aW9uIC51cHBlci1yb3dze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc2VjdGlvbiAubG93ZXItcm93cywuc2VjdGlvbiAudXBwZXItcm93c3tnYXA6MXB4fS5zZWN0aW9uLmZvbnQtc2l6ZS0tc21hbGwgLndoZWVsY2hhaXIsLnNlY3Rpb24uZm9udC1zaXplLS1zbWFsbCBnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vycywuc2VjdGlvbi5mb250LXNpemUtLXNtYWxsIGdtcC1pbnRlcm5hbC1wbGFjZS1yYXRpbmctc3VtbWFyeSwuc2VjdGlvbi5mb250LXNpemUtLXNtYWxsIHNwYW46bm90KC50aXRsZSl7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW19LnNlY3Rpb24uZm9udC1zaXplLS1tZWRpdW0gLndoZWVsY2hhaXIsLnNlY3Rpb24uZm9udC1zaXplLS1tZWRpdW0gZ21wLWludGVybmFsLXBsYWNlLW9wZW5pbmctaG91cnMsLnNlY3Rpb24uZm9udC1zaXplLS1tZWRpdW0gZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5LC5zZWN0aW9uLmZvbnQtc2l6ZS0tbWVkaXVtIHNwYW46bm90KC50aXRsZSl7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbX0uc2VjdGlvbi5mb250LXNpemUtLW1lZGl1bXtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCl9LnNlY3Rpb24gZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5OjpwYXJ0KHJhdGluZyl7LXdlYmtpdC1wYWRkaW5nLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTstbW96LXBhZGRpbmctZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpO3BhZGRpbmctaW5saW5lLWVuZDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KX0uc2VjdGlvbiBnbXAtaW50ZXJuYWwtcGxhY2UtdHJhbnNpdHt3aWR0aDoxMDAlfS5zZWN0aW9uIC5yb3d7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtY29sdW1uLWdhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTstbW96LWNvbHVtbi1nYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7Y29sdW1uLWdhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6d3JhcDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXB9LnNlY3Rpb24gLnJvdyAudGl0bGV7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LnNlY3Rpb24gLnJvdyAudGl0bGUubWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LXRpdGxlLXNtYWxsLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19LnNlY3Rpb24gLnJvdyAudGl0bGUudGl0bGUtbWVkaXVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LXRpdGxlLW1lZGl1bSxub3JtYWwgNDAwIDFlbS8xLjI1IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNjI1ZW19LnNlY3Rpb24gLnJvdyAudGl0bGUuZGlzcGxheS1zbWFsbHtmb250OnZhcigtLWdtcC1tYXQtZm9udC1kaXNwbGF5LXNtYWxsLG5vcm1hbCA0MDAgMS4zNzVlbS8xLjI3MjcyNzI3MjcgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6MH0uc2VjdGlvbiAucm93IC50aXRsZS5kaXNwbGF5LXNtYWxsLC5zZWN0aW9uIC5yb3cgLnRpdGxlLm1lZGl1bSwuc2VjdGlvbiAucm93IC50aXRsZS50aXRsZS1tZWRpdW17LXdlYmtpdC1mb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vLWNvbnRleHR1YWw7LW1vei1mb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vLWNvbnRleHR1YWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsfS5zZWN0aW9uIGF7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSk7cG9zaXRpb246cmVsYXRpdmV9LnNlY3Rpb24gLndoZWVsY2hhaXJ7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1pbmZvLGxpZ2h0LWRhcmsoIzBiNTdkMCwjYThjN2ZhKSk7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjEuMTY2NjY2NjY2N2VtO3dpZHRoOjEuMTY2NjY2NjY2N2VtfS5zZWN0aW9uIC53aGVlbGNoYWlyOmRpcihydGwpey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LmFjdGlvbnN7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZW5kOy1tb3otYm94LXBhY2s6ZW5kOy1tcy1mbGV4LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmR9LmFjdGlvbnMsLm5hbWUtcm93e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0ubmFtZS1yb3d7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxIDEgMCU7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjEgMSAwJTtmbGV4OjEgMSAwJTstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1wYWNrOmp1c3RpZnk7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21heC13aWR0aDoxMDAlfSJdKTt2YXIgdkViPV8uJHMoWyI6aG9zdHtkaXNwbGF5OmJsb2NrfS50cmFuc2l0LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfWdtcC1pbnRlcm5hbC1wbGFjZS10cmFuc2l0LXR5cGU6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfS5tb3JlLWxhYmVse2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjMWYxZjFmLCNmZmYpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtOy13ZWJraXQtbWFyZ2luLXN0YXJ0OjEycHg7LW1vei1tYXJnaW4tc3RhcnQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEycHh9Il0pO3ZhciBBeWI9bmV3IE1hcChbWyJCVVMiLCJCdXMiXSxbIklOVEVSQ0lUWV9CVVMiLCJJbnRlcmNpdHkgYnVzIl0sWyJDT0FDSCIsIkNvYWNoIl0sWyJUUk9MTEVZQlVTIiwiVHJvbGxleWJ1cyJdLFsiU1VCV0FZIiwiU3Vid2F5Il0sWyJNRVRST19SQUlMIiwiTWV0cm8gcmFpbCJdLFsiUkFJTCIsIlJhaWwiXSxbIkhFQVZZX1JBSUwiLCJIZWF2eSByYWlsIl0sWyJDT01NVVRFUl9UUkFJTiIsIkNvbW11dGVyIHRyYWluIl0sWyJISUdIX1NQRUVEX1RSQUlOIiwiSGlnaCBzcGVlZCB0cmFpbiJdLFsiTE9OR19ESVNUQU5DRV9UUkFJTiIsIkxvbmcgZGlzdGFuY2UgdHJhaW4iXSxbIk1PTk9SQUlMIiwiTW9ub3JhaWwiXSxbIkZFUlJZIiwiRmVycnkiXSxbIlRSQU0iLCJUcmFtIl0sWyJDQUJMRV9DQVIiLCJDYWJsZSBjYXIiXSxbIkdPTkRPTEFfTElGVCIsIkdvbmRvbGEgbGlmdCJdLFsiRlVOSUNVTEFSIiwiRnVuaWN1bGFyIl0sWyJBSVJQTEFORSIsIkFpcnBsYW5lIl0sWyJTSEFSRV9UQVhJIiwKIlNoYXJlIHRheGkiXSxbIkhPUlNFX0NBUlJJQUdFIiwiSG9yc2UgY2FycmlhZ2UiXSxbIlNQRUNJQUwiLCJTcGVjaWFsIl1dKTt2YXIgdSQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e3RpKCl7aWYoIXRoaXMucmVuZGVySW5mbylyZXR1cm4oMCxfLldxKWBgO3ZhciBhPXRoaXMucmVuZGVySW5mby5kaXNwbGF5TmFtZTthPXRoaXMucmVuZGVySW5mby5zaG9ydERpc3BsYXlOYW1lfHxhO2lmKCFhKXJldHVybigwLF8uV3EpYGA7dmFyIGI9KEF5Yi5nZXQodGhpcy5yZW5kZXJJbmZvLnZlaGljbGVUeXBlKXx8IlRyYW5zaXQiKSsiIGxpbmUgIithO3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9IiR7KDAsXy5hcikoe2xpbmU6ITAsImRlZmF1bHQtY29sb3JzIjohKHRoaXMucmVuZGVySW5mby50ZXh0Q29sb3ImJnRoaXMucmVuZGVySW5mby5iYWNrZ3JvdW5kQ29sb3IpLGNpcmN1bGFyOiEodGhpcy5yZW5kZXJJbmZvLnZlaGljbGVUeXBlIT09IlNVQldBWSJ8fGEubGVuZ3RoIT09MSl9KX0iCiAgICAgICAgcm9sZT0ibGlzdGl0ZW0iCiAgICAgICAgc3R5bGU9IiR7KDAsXy5ZdCkoe2NvbG9yOnRoaXMucmVuZGVySW5mby50ZXh0Q29sb3I/PyIiLCJiYWNrZ3JvdW5kLWNvbG9yIjp0aGlzLnJlbmRlckluZm8uYmFja2dyb3VuZENvbG9yPz8iIn0pfSI+CiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49InRydWUiIGRpcj0iYXV0byI+ICR7YX0gPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij4gJHtifSA8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH19O3UkLnN0eWxlcz1fLiRzKFsiOmhvc3R7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxpbmV7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1zbWFsbCxub3JtYWwgNDAwIC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMTY2NjY2NjY3ZW07LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjIwcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXgtd2lkdGg6ODBweDtwYWRkaW5nOjAgNnB4fS5saW5lLC5saW5lIHNwYW57d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lIHNwYW57b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2lkdGg6MTAwJX0ubGluZS5kZWZhdWx0LWNvbG9yc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LmxpbmUuY2lyY3VsYXJ7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzowO3dpZHRoOjIwcHh9LmxpbmUgLnNyLW9ubHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpe2NsaXA6cmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4fSJdKTsKXy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLHUkLnByb3RvdHlwZSwicmVuZGVySW5mbyIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtcGxhY2UtdHJhbnNpdC1saW5lIix1JCk7dmFyIHYkPWNsYXNzIGV4dGVuZHMgXy5kdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5udz1JbmZpbml0eTt0aGlzLnNoPXRoaXMucmg9MDt0aGlzLnRoPW5ldyBSZXNpemVPYnNlcnZlcihhPT57YT1hWzBdPy5jb250ZW50UmVjdC53aWR0aDtpZighKGE9PW51bGx8fE1hdGguYWJzKGEtdGhpcy5yaCk8MSkpe3ZhciBiPWE+dGhpcy5yaDt0aGlzLnJoPWE7dGhpcy5xaCE9bnVsbCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5xaCk7dGhpcy5xaD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt5eWIodGhpcyxiKTt0aGlzLnFoPXZvaWQgMH0pfX0pfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLnRoLm9ic2VydmUodGhpcyl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO3RoaXMudGguZGlzY29ubmVjdCgpO3RoaXMucWghPW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMucWgpfWhtKGEpe2EuaGFzKCJyZW5kZXJJbmZvIikmJgoodGhpcy5udz1JbmZpbml0eSl9U2ooYSl7YS5oYXMoInJlbmRlckluZm8iKSYmeXliKHRoaXMsITEpfXRpKCl7aWYoIXRoaXMucmVuZGVySW5mbylyZXR1cm4oMCxfLldxKWBgO3ZhciBhPXRoaXMucmVuZGVySW5mby5saW5lcy5zbGljZSgwLHRoaXMubncpLGI9dGhpcy5yZW5kZXJJbmZvLmxpbmVzLmxlbmd0aC1hLmxlbmd0aDtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0idHJhbnNpdC10eXBlLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnJlbmRlckluZm8ucks/KDAsXy5XcSlgPGRpdiBjbGFzcz0idmVoaWNsZS1pY29uLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InZlaGljbGUtaWNvbiIKICAgICAgICAgICAgICAgIHN0eWxlPSItLWljb24tdXJsOiB1cmwoJyR7dGhpcy5yZW5kZXJJbmZvLnJLfScpIgogICAgICAgICAgICAgICAgcm9sZT0iaW1nIgogICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iJHtCeWIodGhpcyl9IgogICAgICAgICAgICAgICAgdGl0bGU9IiR7QnliKHRoaXMpfSI+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgPGRpdiBjbGFzcz0idHJhbnNpdC1saW5lcy1jb250YWluZXIiIHJvbGU9Imxpc3QiPgogICAgICAgICAgJHthLm1hcChjPT4oMCxfLldxKWAKICAgICAgICAgICAgICA8Z21wLWludGVybmFsLXBsYWNlLXRyYW5zaXQtbGluZSAucmVuZGVySW5mbz0iJHtjfSI+CiAgICAgICAgICAgICAgPC9nbXAtaW50ZXJuYWwtcGxhY2UtdHJhbnNpdC1saW5lPgogICAgICAgICAgICBgKX0KICAgICAgICAgICR7Yj4wPygwLF8uV3EpYDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJhZGRpdGlvbmFsLXRyYW5zaXQtbGluZXMgZGVmYXVsdC1jb2xvcnMiCiAgICAgICAgICAgICAgICByb2xlPSJsaXN0aXRlbSIKICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IiR7ajcoIntDT1VOVCwgcGx1cmFsLCAgID0xIHsxIG1vcmUgbGluZX0gIG90aGVyIHsjIG1vcmUgbGluZXN9fSIse0NPVU5UOmJ9KX0iPgogICAgICAgICAgICAgICAgPHNwYW4gZGlyPSJhdXRvIj4KICAgICAgICAgICAgICAgICAgJHtqNygie0NPVU5ULCBwbHVyYWwsICAgPTEgeysxIGxpbmV9ICBvdGhlciB7KyMgbGluZXN9fSIse0NPVU5UOmJ9KX0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTt2JC5zdHlsZXM9Xy4kcyhbIjpob3N0e2Rpc3BsYXk6YmxvY2t9LnRyYW5zaXQtdHlwZS1jb250YWluZXJ7Z2FwOjZweH0udHJhbnNpdC10eXBlLWNvbnRhaW5lciwudmVoaWNsZS1pY29uLWNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS52ZWhpY2xlLWljb24tY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmUsbGlnaHQtZGFyaygjZTNlM2UzLCM0NzQ3NDcpKTtib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWZsZXgtc2hyaW5rOjA7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnZlaGljbGUtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzay1pbWFnZTp2YXIoLS1pY29uLXVybCk7bWFzay1pbWFnZTp2YXIoLS1pY29uLXVybCk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stcmVwZWF0Om5vLXJlcGVhdDttYXNrLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1tYXNrLXNpemU6Y29udGFpbjttYXNrLXNpemU6Y29udGFpbjt3aWR0aDoxOHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey52ZWhpY2xlLWljb257YmFja2dyb3VuZC1jb2xvcjpDYW52YXNUZXh0fX0udHJhbnNpdC1saW5lcy1jb250YWluZXJ7LS1saW5lLWhlaWdodDoyMHB4Oy0tZ2FwOjRweDstLW1heC1yb3dzOjI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC13cmFwOndyYXA7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO2dhcDp2YXIoLS1nYXApO21heC1oZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtcm93cykqdmFyKC0tbGluZS1oZWlnaHQpICsgKHZhcigtLW1heC1yb3dzKSAtIDEpKnZhcigtLWdhcCkgKyAxcHgpO292ZXJmbG93OmhpZGRlbn0uYWRkaXRpb25hbC10cmFuc2l0LWxpbmVze2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktc21hbGwsbm9ybWFsIDQwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyMHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDZweDt3aGl0ZS1zcGFjZTpub3dyYXB9LmFkZGl0aW9uYWwtdHJhbnNpdC1saW5lcy5kZWZhdWx0LWNvbG9yc3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKX0iXSk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSx2JC5wcm90b3R5cGUsInJlbmRlckluZm8iLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sdiQucHJvdG90eXBlLCJudyIsdm9pZCAwKTtfLkQoW18udXEoIi50cmFuc2l0LWxpbmVzLWNvbnRhaW5lciIpLF8uRigiZGVzaWduOnR5cGUiLEhUTUxFbGVtZW50KV0sdiQucHJvdG90eXBlLCJPeiIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtcGxhY2UtdHJhbnNpdC10eXBlIix2JCk7dmFyIEV5Yj0iQUlSUExBTkUgUkFJTCBIRUFWWV9SQUlMIENPTU1VVEVSX1RSQUlOIEhJR0hfU1BFRURfVFJBSU4gTE9OR19ESVNUQU5DRV9UUkFJTiBNRVRST19SQUlMIFNVQldBWSBNT05PUkFJTCBUUkFNIElOVEVSQ0lUWV9CVVMgQlVTIFRST0xMRVlCVVMgU0hBUkVfVEFYSSBIT1JTRV9DQVJSSUFHRSBGRVJSWSBDQUJMRV9DQVIgR09ORE9MQV9MSUZUIEZVTklDVUxBUiBTUEVDSUFMIi5zcGxpdCgiICIpO3ZhciB3JD1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubno9W119aG0oYSl7YS5oYXMoInRyYW5zaXRTdGF0aW9uIikmJih0aGlzLm56PXRoaXMudHJhbnNpdFN0YXRpb24/RnliKHRoaXMudHJhbnNpdFN0YXRpb24pOltdKX10aSgpe2lmKHRoaXMubnoubGVuZ3RoPT09MClyZXR1cm4oMCxfLldxKWBgO3ZhciBhPXRoaXMubnoubGVuZ3RoLTI7cmV0dXJuKDAsXy5XcSlgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idHJhbnNpdC1jb250YWluZXIiCiAgICAgICAgcm9sZT0ibGlzdCIKICAgICAgICBhcmlhLWxhYmVsPSIkeyJUcmFuc2l0In0iPgogICAgICAgICR7dGhpcy5uei5zbGljZSgwLDIpLm1hcChiPT4oMCxfLldxKWAKICAgICAgICAgICAgPGdtcC1pbnRlcm5hbC1wbGFjZS10cmFuc2l0LXR5cGUKICAgICAgICAgICAgICAucmVuZGVySW5mbz0ke2J9CiAgICAgICAgICAgICAgcm9sZT0ibGlzdGl0ZW0iPgogICAgICAgICAgICA8L2dtcC1pbnRlcm5hbC1wbGFjZS10cmFuc2l0LXR5cGU+CiAgICAgICAgICBgKX0KICAgICAgICAke2E+MD8oMCxfLldxKWA8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9Im1vcmUtbGFiZWwiCiAgICAgICAgICAgICAgcm9sZT0ibGlzdGl0ZW0iCiAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iJHtqNygie0NPVU5ULCBwbHVyYWwsICAgPTEgezEgbW9yZSB0cmFuc2l0IG1vZGV9ICBvdGhlciB7IyBtb3JlIHRyYW5zaXQgbW9kZXN9fSIse0NPVU5UOmF9KX0iPgogICAgICAgICAgICAgIDxzcGFuIGRpcj0iYXV0byI+CiAgICAgICAgICAgICAgICAke2o3KCJ7Q09VTlQsIHBsdXJhbCwgICA9MSB7KzEgdHJhbnNpdCBtb2RlfSAgb3RoZXIgeysjIHRyYW5zaXQgbW9kZXN9fSIse0NPVU5UOmF9KX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH19O3ckLnN0eWxlcz12RWI7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFc5KV0sdyQucHJvdG90eXBlLCJ0cmFuc2l0U3RhdGlvbiIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLHckLnByb3RvdHlwZSwibnoiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLXBsYWNlLXRyYW5zaXQiLHckKTt2YXIgR3liPW5ldyBNYXAoW1siR01QLVBMQUNFLUFDQ0VTU0lCTEUtRU5UUkFOQ0UtSUNPTiIsYT0+ISFhPy5hY2Nlc3NpYmlsaXR5T3B0aW9ucz8uaGFzV2hlZWxjaGFpckFjY2Vzc2libGVFbnRyYW5jZV0sWyJHTVAtUExBQ0UtQUREUkVTUyIsYT0+ISFhPy5mb3JtYXR0ZWRBZGRyZXNzXSxbIkdNUC1QTEFDRS1QT1BVTEFSLVRJTUVTIixhPT57aWYoIWEpcmV0dXJuITE7YT1hLnBvcHVsYXJUaW1lcztyZXR1cm4hIShhJiYoYS5PcD8ubGVuZ3RoPz8wKT4wKX1dLFsiR01QLVBMQUNFLUZFQVRVUkUtTElTVCIsYT0+YT9xeGIoYSkhPT1udWxsOiExXSxbIkdNUC1QTEFDRS1NRURJQSIsKCk9PiEwXSxbIkdNUC1QTEFDRS1PUEVOSU5HLUhPVVJTIixhPT4hKCFhPy5yZWd1bGFyT3BlbmluZ0hvdXJzPy5wZXJpb2RzfHxhLnV0Y09mZnNldE1pbnV0ZXM9PW51bGwpXSxbIkdNUC1QTEFDRS1PUEVOLU5PVy1TVEFUVVMiLGE9PntpZighYSlyZXR1cm4hMTt2YXIgYj0hKCFhLnJlZ3VsYXJPcGVuaW5nSG91cnM/LnBlcmlvZHN8fAphLnV0Y09mZnNldE1pbnV0ZXM9PW51bGwpO3JldHVybiBhLmJ1c2luZXNzU3RhdHVzPT09IkNMT1NFRF9URU1QT1JBUklMWSJ8fGEuYnVzaW5lc3NTdGF0dXM9PT0iQ0xPU0VEX1BFUk1BTkVOVExZInx8Yn1dLFsiR01QLVBMQUNFLVBIT05FLU5VTUJFUiIsYT0+ISghYT8uaW50ZXJuYXRpb25hbFBob25lTnVtYmVyJiYhYT8ubmF0aW9uYWxQaG9uZU51bWJlcildLFsiR01QLVBMQUNFLVBMVVMtQ09ERSIsYT0+ISFhPy5wbHVzQ29kZT8uY29tcG91bmRDb2RlXSxbIkdNUC1QTEFDRS1SQVRJTkciLGE9PntpZighYSlyZXR1cm4hMTt2YXIgYj1hLnVzZXJSYXRpbmdDb3VudDtyZXR1cm4gYS5yYXRpbmchPW51bGwmJmIhPW51bGwmJmI+MD8hMDohYS50eXBlcz8uc29tZShjPT5pRWIuaW5jbHVkZXMoYykpfV0sWyJHTVAtUExBQ0UtUkVWSUVXLVNVTU1BUlkiLGE9PiEhYT8ucmV2aWV3U3VtbWFyeV0sWyJHTVAtUExBQ0UtUkVWSUVXUyIsYT0+ISEoYT8ucmV2aWV3cyYmYS5yZXZpZXdzLmxlbmd0aD4KMCldLFsiR01QLVBMQUNFLVNVTU1BUlkiLGE9PiEoIWE/LmVkaXRvcmlhbFN1bW1hcnkmJiFhPy5nZW5lcmF0aXZlU3VtbWFyeSldLFsiR01QLVBMQUNFLVRZUEUiLGE9PiEhYT8ucHJpbWFyeVR5cGVEaXNwbGF5TmFtZV0sWyJHTVAtUExBQ0UtVFlQRS1TUEVDSUZJQy1ISUdITElHSFRTIixhPT4hKCFhPy5mdWVsT3B0aW9ucyYmIWE/LmV2Q2hhcmdlT3B0aW9ucyldLFsiR01QLVBMQUNFLVdFQlNJVEUiLGE9PiEhYT8ud2Vic2l0ZVVSSV0sWyJHTVAtUExBQ0UtUFJJQ0UiLGE9PntpZighYSlyZXR1cm4hMTt2YXIgYj1hLnByaWNlUmFuZ2U7YT1hLnByaWNlTGV2ZWw7cmV0dXJuISghYnx8IWIuc3RhcnRQcmljZSl8fCEoIWF8fGE9PT0iRlJFRSIpfV1dKTt2YXIgSnliPW5ldyBNYXAoW1siR01QLVBMQUNFLUFERFJFU1MiLHtnbTpbImFkZHJlc3MiXSxubToiYWRkcmVzcyJ9XSxbIkdNUC1QTEFDRS1SQVRJTkciLHtnbTpbInJhdGluZyJdLG5tOiJyYXRpbmcifV0sWyJHTVAtUExBQ0UtT1BFTi1OT1ctU1RBVFVTIix7Z206WyJvcGVuTm93U3RhdHVzIl0sbm06Im9wZW5Ob3dTdGF0dXMifV0sWyJHTVAtUExBQ0UtQUNDRVNTSUJMRS1FTlRSQU5DRS1JQ09OIix7Z206WyJhY2Nlc3NpYmxlRW50cmFuY2VJY29uIl0sbm06ImFjY2Vzc2libGVFbnRyYW5jZUljb24ifV0sWyJHTVAtUExBQ0UtVFlQRSIse2dtOlsicGxhY2VUeXBlIl0sbm06InBsYWNlVHlwZSJ9XSxbIkdNUC1QTEFDRS1QUklDRSIse2dtOlsicHJpY2UiXSxubToicHJpY2UifV0sWyJHTVAtUExBQ0UtTUVESUEiLHtnbTpbIm1lZGlhIl0sbm06Im1lZGlhIn1dLFsiR01QLVBMQUNFLU9QRU5JTkctSE9VUlMiLHtnbTpbIm9wZW5pbmdIb3VycyJdLG5tOiJvcGVuaW5nSG91cnMifV0sClsiR01QLVBMQUNFLVdFQlNJVEUiLHtnbTpbIndlYnNpdGUiXSxubToid2Vic2l0ZSJ9XSxbIkdNUC1QTEFDRS1QSE9ORS1OVU1CRVIiLHtnbTpbInBob25lTnVtYmVyIl0sbm06InBob25lTnVtYmVyIn1dLFsiR01QLVBMQUNFLVBMVVMtQ09ERSIse2dtOlsicGx1c0NvZGUiXSxubToicGx1c0NvZGUifV0sWyJHTVAtUExBQ0UtUkVWSUVXUyIse2dtOlsicmV2aWV3cyJdLG5tOiJyZXZpZXdzIn1dLFsiR01QLVBMQUNFLVJFVklFVy1TVU1NQVJZIix7Z206WyJyZXZpZXdTdW1tYXJ5Il0sbm06InJldmlld1N1bW1hcnkifV0sWyJHTVAtUExBQ0UtRkVBVFVSRS1MSVNUIix7Z206WyJmZWF0dXJlTGlzdCJdLG5tOiJmZWF0dXJlTGlzdCJ9XSxbIkdNUC1QTEFDRS1TVU1NQVJZIix7Z206WyJzdW1tYXJ5Il0sbm06InN1bW1hcnkifV0sWyJHTVAtUExBQ0UtVFlQRS1TUEVDSUZJQy1ISUdITElHSFRTIix7Z206WyJ0eXBlU3BlY2lmaWNIaWdobGlnaHRzIl0sbm06InR5cGVTcGVjaWZpY0hpZ2hsaWdodHMifV0sClsiR01QLVBMQUNFLU5BTUUiLHtnbTpbIm5hbWUiXSxubToibmFtZSJ9XSxbIkdNUC1QTEFDRS1MSU5LIix7Z206WyJhY3Rpb24tbWFpbiIsImFjdGlvbi1jb3JuZXIiXSxubToiYWN0aW9uLW1haW4iLHRPOiEwfV0sWyJHTVAtUExBQ0UtQlVUVE9OIix7Z206WyJhY3Rpb24tbWFpbiIsImFjdGlvbi1jb3JuZXIiXSxubToiYWN0aW9uLW1haW4iLHRPOiEwfV1dKSxJeWI9bmV3IE1hcDtmb3IobGV0IFthLGJdb2YgSnliKXtsZXQgYz1hLGQ9Yjtmb3IobGV0IGUgb2YgZC5nbSlJeWIuc2V0KGUsYyl9O3ZhciB4JD1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMuc2hvd1RyYW5zaXQ9ITE7dGhpcy50aXRsZVNpemU9Im1lZGl1bSI7dGhpcy5mb250U2l6ZT0ic21hbGwiO3RoaXMucmF0aW5nSW5mb0J1dHRvblNob3duPXRoaXMuYWRkcmVzc0VuYWJsZWQ9ITE7dGhpcy5jb250ZW50Q29uZmlnPXA4O3RoaXMudHJ1bmNhdGlvblByZWZlcnJlZD0hMTt0aGlzLnNsb3RzQ29uc3RydWN0aW9uRGF0YT17R3I6W10sTG06W119O3RoaXMuZW5hYmxlQ29ybmVyQWN0aW9ucz0hMX10aSgpe2lmKCF0aGlzLnBsYWNlKXJldHVybiBudWxsO3ZhciBhPVtQeWIodGhpcyksdGhpcy5hZGRyZXNzRW5hYmxlZD9TNyh7cGxhY2U6dGhpcy5wbGFjZSxzajp0aGlzLnBsYWNlPy5mb3JtYXR0ZWRBZGRyZXNzPygwLF8uV3EpYDxzcGFuIGNsYXNzPSJhZGRyZXNzIj4ke3RoaXMucGxhY2UuZm9ybWF0dGVkQWRkcmVzc308L3NwYW4+YDpudWxsLFBsOiJhZGRyZXNzIiwKR2w6ISF0aGlzLmNvbnRlbnRDb25maWcuYWRkcmVzcyxzbG90c0NvbnN0cnVjdGlvbkRhdGE6dGhpcy5zbG90c0NvbnN0cnVjdGlvbkRhdGF9KTpudWxsXS5maWx0ZXIoYz0+IXo3KGMpKSxiPVtTNyh7cGxhY2U6dGhpcy5wbGFjZSxzajooMCxfLldxKWA8Z21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5CiAgICAgIC5wbGFjZT0ke3RoaXMucGxhY2V9CiAgICAgIC5zdGFyVmFyaWFudD0ke3RoaXMucmF0aW5nVmFyaWFudD8/Xy5Tc30KICAgICAgLmluZm9CdXR0b25TaG93bj0ke3RoaXMucmF0aW5nSW5mb0J1dHRvblNob3dufT4KICAgIDwvZ21wLWludGVybmFsLXBsYWNlLXJhdGluZy1zdW1tYXJ5PmAsUGw6InJhdGluZyIsR2w6ISF0aGlzLmNvbnRlbnRDb25maWcucmF0aW5nLHNsb3RzQ29uc3RydWN0aW9uRGF0YTp0aGlzLnNsb3RzQ29uc3RydWN0aW9uRGF0YX0pLHRoaXMucGxhY2U/TnliKHRoaXMucGxhY2Use2NvbnRlbnRDb25maWc6dGhpcy5jb250ZW50Q29uZmlnLHNsb3RzQ29uc3RydWN0aW9uRGF0YTp0aGlzLnNsb3RzQ29uc3RydWN0aW9uRGF0YX0pOm51bGwsUzcoe3BsYWNlOnRoaXMucGxhY2Usc2o6KDAsXy5XcSlgPGdtcC1pbnRlcm5hbC1wbGFjZS1vcGVuaW5nLWhvdXJzIC5wbGFjZT0ke3RoaXMucGxhY2V9PgogICAgPC9nbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vycz5gLFBsOiJvcGVuTm93U3RhdHVzIixHbDohIXRoaXMuY29udGVudENvbmZpZy5vcGVuTm93U3RhdHVzLHNsb3RzQ29uc3RydWN0aW9uRGF0YTp0aGlzLnNsb3RzQ29uc3RydWN0aW9uRGF0YX0pLHRoaXMuc2hvd1RyYW5zaXQ/dGhpcy5wbGFjZT8udHJhbnNpdFN0YXRpb24mJnRoaXMucGxhY2UudHJhbnNpdFN0YXRpb24uYWdlbmNpZXMubGVuZ3RoPjA/KDAsXy5XcSlgCiAgICAgIDxnbXAtaW50ZXJuYWwtcGxhY2UtdHJhbnNpdAogICAgICAgIC50cmFuc2l0U3RhdGlvbj0ke3RoaXMucGxhY2U/LnRyYW5zaXRTdGF0aW9uPz92b2lkIDB9PgogICAgICA8L2dtcC1pbnRlcm5hbC1wbGFjZS10cmFuc2l0PgogICAgYDpudWxsOm51bGxdLmZpbHRlcihjPT4hejcoYykpO3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9IiR7KDAsXy5hcikoe3NlY3Rpb246ITAsImZvbnQtc2l6ZS0tc21hbGwiOnRoaXMuZm9udFNpemU9PT0ic21hbGwiLCJmb250LXNpemUtLW1lZGl1bSI6dGhpcy5mb250U2l6ZT09PSJtZWRpdW0iLFsicGxhY2UtYmFzaWMtaW5mby0tdHJ1bmNhdGlvbi1wcmVmZXJyZWQiXTp0aGlzLnRydW5jYXRpb25QcmVmZXJyZWR9KX0iPgogICAgICAgICR7YS5sZW5ndGg/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXBwZXItcm93cyI+CiAgICAgICAgICAgICAgICAke2EubWFwKGM9PigwLF8uV3EpYDxkaXYgY2xhc3M9InJvdyI+JHtjfTwvZGl2PmApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICR7Yi5sZW5ndGg/KDAsXy5XcSlgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG93ZXItcm93cyI+CiAgICAgICAgICAgICAgICAke2IubWFwKGM9PigwLF8uV3EpYDxkaXYgY2xhc3M9InJvdyI+JHtjfTwvZGl2PmApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9fTt4JC5zdHlsZXM9dUViO3gkLnFoPW5ldyBTZXQoWy4uLlg5LnFoLCJhY2Nlc3NpYmlsaXR5T3B0aW9ucyIsImRpc3BsYXlOYW1lIiwiZm9ybWF0dGVkQWRkcmVzcyIsImdvb2dsZU1hcHNMaW5rcyIsImdvb2dsZU1hcHNVUkkiLCJpbnRlcm5hdGlvbmFsUGhvbmVOdW1iZXIiLCJuYXRpb25hbFBob25lTnVtYmVyIiwicHJpY2VMZXZlbCIsInByaWNlUmFuZ2UiLCJwcmltYXJ5VHlwZURpc3BsYXlOYW1lIiwicmF0aW5nIiwidHlwZXMiLCJ1c2VyUmF0aW5nQ291bnQiLCJ3ZWJzaXRlVVJJIl0pO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixFNyldLHgkLnByb3RvdHlwZSwicGxhY2UiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLHgkLnByb3RvdHlwZSwic2hvd1RyYW5zaXQiLHZvaWQgMCk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSx4JC5wcm90b3R5cGUsInRpdGxlU2l6ZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seCQucHJvdG90eXBlLCJmb250U2l6ZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seCQucHJvdG90eXBlLCJhZGRyZXNzRW5hYmxlZCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0seCQucHJvdG90eXBlLCJyYXRpbmdWYXJpYW50Iix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSx4JC5wcm90b3R5cGUsInJhdGluZ0luZm9CdXR0b25TaG93biIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seCQucHJvdG90eXBlLCJjb250ZW50Q29uZmlnIix2b2lkIDApOwpfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seCQucHJvdG90eXBlLCJ0cnVuY2F0aW9uUHJlZmVycmVkIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSx4JC5wcm90b3R5cGUsInNsb3RzQ29uc3RydWN0aW9uRGF0YSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seCQucHJvdG90eXBlLCJlbmFibGVDb3JuZXJBY3Rpb25zIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1wbGFjZS1iYXNpYy1pbmZvIix4JCk7dmFyIHkkPWNsYXNzIGV4dGVuZHMgXy5GdHtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKX19O3ZhciBsOD1jbGFzcyBleHRlbmRzIHE5e3NldCBsb2NhdGlvbihhKXt0aGlzLnJoPShhPV8ua3AodGhpcywibG9jYXRpb24iLF8uTW0oXy5KcSksYSkpP25ldyBfLlFvKGEpOm51bGx9Z2V0IGxvY2F0aW9uKCl7cmV0dXJuIHRoaXMucmh9Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5yaD1udWxsO3RoaXMubG9jYXRpb249YS5sb2NhdGlvbjt0aGlzLnhpKGEsbDgsIlBsYWNlRGV0YWlsc0xvY2F0aW9uUmVxdWVzdEVsZW1lbnQiKX1xaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uP3tsb2NhdGlvbjp0aGlzLmxvY2F0aW9ufTp7fX19O2w4LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1sOC5wcm90b3R5cGUuY29uc3RydWN0b3I7bDguSWk9e0tpOjIyMjQ4OCxKaToyMjI0ODZ9OwpfLkQoW18udHEoe2ZpOl8uR3Msbmo6Xy5TRSxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxsOC5wcm90b3R5cGUsImxvY2F0aW9uIixudWxsKTtfLnhvKCJnbXAtcGxhY2UtZGV0YWlscy1sb2NhdGlvbi1yZXF1ZXN0IixsOCk7dmFyIFN6Yj1bIm1lZGlhIl07dmFyIFJ6Yj1bInJldmlld19wb3N0c19hbmRfbWVkaWFfYXNzZXRzLnJldmlld19wb3N0Il07dmFyIFk3PV8uR20oXy5kcyksd0ViPV8uR20oXy5GbShtOSkpLHhFYj1fLkdtKF8uRm0obDkpKSx5RWI9bmV3IFNldChDNyksVXliPV8uQ20oe2ZpZWxkczpaNyh5RWIpLGluY2x1ZGVkVHlwZTpfLmJzLGlzT3Blbk5vdzpfLmNzLG1pblJhdGluZzpfLmFzLHF1ZXJ5OmE9PntpZihhKXRocm93IF8uQW0oJ3Vua25vd24gcHJvcGVydHkgInF1ZXJ5IiwgZGlkIHlvdSBtZWFuICJ0ZXh0UXVlcnkiPycpO30sdGV4dFF1ZXJ5Ol8uTW0oXy5kcyksbGFuZ3VhZ2U6Xy5icyxsb2NhdGlvbkJpYXM6Xy5NbShUeWIpLGxvY2F0aW9uUmVzdHJpY3Rpb246Xy5NbShTeWIpLHByaWNlTGV2ZWxzOl8uTW0od0ViKSxyYW5rQnk6YT0+e2lmKGEpdGhyb3cgXy5BbSgndW5rbm93biBwcm9wZXJ0eSAicmFua0J5IiwgZGlkIHlvdSBtZWFuICJyYW5rUHJlZmVyZW5jZSI/Jyk7fSxyYW5rUHJlZmVyZW5jZTpfLk1tKF8uRm0objkpKSxyZWdpb246Xy5icyxtYXhSZXN1bHRDb3VudDpfLk1tKF8uaGhhKSx1c2VTdHJpY3RUeXBlRmlsdGVyaW5nOl8uY3MsCmV2U2VhcmNoT3B0aW9uczpfLk1tKF8uQ20oe2Nvbm5lY3RvclR5cGVzOl8uTW0oeEViKSxtaW5pbXVtQ2hhcmdpbmdSYXRlS3c6Xy5hc30pKSxwdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQ6Xy5jcyxmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkOl8uY3MsaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOl8uTW0oXy5IbShfLmRzLDEpKX0pLFd5Yj1fLkNtKHtmaWVsZHM6WjcoeUViKSxsb2NhdGlvblJlc3RyaWN0aW9uOmZ1bmN0aW9uKGEpe3RyeXtsZXQgYj15NihhKTtpZihiIGluc3RhbmNlb2YgXy5TbylyZXR1cm4gYn1jYXRjaChiKXt9dGhyb3cgXy5BbShgSW52YWxpZCBMb2NhdGlvblJlc3RyaWN0aW9uOiAke0pTT04uc3RyaW5naWZ5KGEpfWApO30saW5jbHVkZWRQcmltYXJ5VHlwZXM6Xy5NbShZNyksaW5jbHVkZWRUeXBlczpfLk1tKFk3KSxleGNsdWRlZFByaW1hcnlUeXBlczpfLk1tKFk3KSxleGNsdWRlZFR5cGVzOl8uTW0oWTcpLGxhbmd1YWdlOl8uYnMsCm1heFJlc3VsdENvdW50Ol8uTW0oXy5oaGEpLHJhbmtQcmVmZXJlbmNlOl8uTW0oXy5GbShvOSkpLHJlZ2lvbjpfLmJzLGZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQ6Xy5jcyxpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM6Xy5NbShfLkhtKF8uZHMsMSkpfSksWXliPV8uQ20oe2lucHV0Ol8uZHMsaW5wdXRPZmZzZXQ6Xy5hcyxsb2NhdGlvbkJpYXM6Xy5NbShUeWIpLGxvY2F0aW9uUmVzdHJpY3Rpb246Xy5NbShTeWIpLGluY2x1ZGVkUHJpbWFyeVR5cGVzOl8uTW0oWTcpLGluY2x1ZGVkUmVnaW9uQ29kZXM6Xy5NbShZNyksbGFuZ3VhZ2U6Xy5icyxyZWdpb246Xy5icyxvcmlnaW46Xy5NbShmdW5jdGlvbihhKXt0cnl7bGV0IGI9eTYoYSk7aWYoYiBpbnN0YW5jZW9mIF8uVG0pcmV0dXJuIGJ9Y2F0Y2goYil7fXRocm93IF8uQW0oYEludmFsaWQgT3JpZ2luOiAke0pTT04uc3RyaW5naWZ5KGEpfWApO30pLHNlc3Npb25Ub2tlbjpfLk1tKF8uRW0oXy5KdCwiQXV0b2NvbXBsZXRlU2Vzc2lvblRva2VuIikpLApwdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQ6Xy5jcyxmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkOl8uY3MsaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzOl8uTW0oXy5IbShfLmRzLDEpKX0pLGN6Yj1fLkNtKHtwYXJlbnQ6Xy5kcyxmaWVsZHM6WjcobmV3IFNldChSemIpKSxxdWVyeTpfLmJzLHJhbmtQcmVmZXJlbmNlOl8uTW0oXy5GbShKQ2IpKSxsYW5ndWFnZTpfLmJzLHJlZ2lvbjpfLmJzfSksZ3piPV8uQ20oe3BhcmVudDpfLmRzLGZpZWxkczpaNyhuZXcgU2V0KFN6YikpLHF1ZXJ5Ol8uYnMscmFua1ByZWZlcmVuY2U6Xy5NbShfLkZtKElDYikpLGxhbmd1YWdlOl8uYnMscmVnaW9uOl8uYnN9KTt2YXIgb3piPV8uSG0oXy5kcyksJDc9Y2xhc3MgZXh0ZW5kcyBFN3tjb25zdHJ1Y3RvcihhKXt2YXIgYj0oZixnLGgpPT57dHJ5e3JldHVybiBnKGgpfWNhdGNoKGspe3Rocm93IF8uQW0oYFBsYWNlOiBcYCR7Zn1cYCBpbnZhbGlkYCxrKTt9fSxjPXZvaWQgMCxkPXZvaWQgMDtpZihhLmlkJiZhLnJlc291cmNlTmFtZSl7aWYoYz1iKCJpZCIsXy5kcyxhLmlkKSxkPWIoInJlc291cmNlTmFtZSIsXy5kcyxhLnJlc291cmNlTmFtZSksYyE9PV8udG8oZCkpdGhyb3cgXy5BbSgiUGxhY2U6IGBpZGAgYW5kIGByZXNvdXJjZU5hbWVgIG11c3QgbWF0Y2ggb3Igb25seSBvbmUgbXVzdCBiZSBwcm92aWRlZCIpO31lbHNlIGlmKGEuaWQpYz1iKCJpZCIsXy5kcyxhLmlkKSxkPWBwbGFjZXMvJHtjfWA7ZWxzZSBpZihhLnJlc291cmNlTmFtZSlkPWIoInJlc291cmNlTmFtZSIsXy5kcyxhLnJlc291cmNlTmFtZSksYz1fLnRvKGQpO2Vsc2UgdGhyb3cgXy5BbSgiUGxhY2U6IGBpZGAgb3IgYHJlc291cmNlTmFtZWAgbXVzdCBiZSBzZXQiKTsKdmFyIGU9YigicmVxdWVzdGVkTGFuZ3VhZ2UiLF8uYnMsYS5yZXF1ZXN0ZWRMYW5ndWFnZSk7YT1iKCJyZXF1ZXN0ZWRSZWdpb24iLF8uYnMsYS5yZXF1ZXN0ZWRSZWdpb24pO3N1cGVyKGY2KGc2KG5ldyBfLlo1LGMpLGQpLndoKCksWyJpZCIsInJlc291cmNlTmFtZSJdLHtyZXF1ZXN0ZWRMYW5ndWFnZTplLHJlcXVlc3RlZFJlZ2lvbjphfSk7dGhpcy5zZXNzaW9uVG9rZW49dm9pZCAwO2E9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihfLkt0LnByb3RvdHlwZSwiaWQiKTthLmVudW1lcmFibGU9ITA7Yj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKF8uS3QucHJvdG90eXBlLCJyZXNvdXJjZU5hbWUiKTtiLmVudW1lcmFibGU9ITA7T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7aWQ6YSxyZXNvdXJjZU5hbWU6YixyZXF1ZXN0ZWRMYW5ndWFnZTp7ZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0scmVxdWVzdGVkUmVnaW9uOntlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiExfX0pfWNsb25lKGEpe3JldHVybiBhOCh0aGlzLkVoLmNsb25lKCksCnRoaXMuQncsYSl9R0koYSxiPVtdLGM9e30pe3JldHVybiBhOChhLGIsYyl9YXN5bmMgaXNPcGVuKCl7dGhyb3cgRXJyb3IoIlBsYWNlLnByb3RvdHlwZS5pc09wZW4oKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkuIFBsZWFzZSBzd2l0Y2ggdG8gdGhlIGJldGEgY2hhbm5lbCB0byB1c2UgdGhpcyBmZWF0dXJlLiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC92ZXJzaW9ucyNiZXRhLWNoYW5uZWwiKTt9YXN5bmMgZ2V0TmV4dE9wZW5pbmdUaW1lKCl7dGhyb3cgRXJyb3IoIlBsYWNlLnByb3RvdHlwZS5nZXROZXh0T3BlbmluZ1RpbWUoKSBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkuIFBsZWFzZSBzd2l0Y2ggdG8gdGhlIGJldGEgY2hhbm5lbCB0byB1c2UgdGhpcyBmZWF0dXJlLiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC92ZXJzaW9ucyNiZXRhLWNoYW5uZWwiKTsKfWFzeW5jIGZldGNoRmllbGRzKGEpe18uTSh3aW5kb3csMTYzMzIzKTtyZXR1cm4gZzgodGhpcyxhKX10b0pTT04oKXtfLk0od2luZG93LDE3NjA3OSk7cmV0dXJuIG56Yih0aGlzKX15cChhKXt0aGlzLnNlc3Npb25Ub2tlbj1hfX07JDcuc2VhcmNoTmVhcmJ5PWFzeW5jIGZ1bmN0aW9uKGEpe18uTSh3aW5kb3csMjA2ODE4KTtyZXR1cm4gYnpiKGEpfTskNy5zZWFyY2hCeVRleHQ9YXN5bmMgZnVuY3Rpb24oYSl7Xy5NKHdpbmRvdywxNzkzNDUpO3JldHVybiBhemIoYSl9OyQ3LmZpbmRQbGFjZUZyb21RdWVyeT1hc3luYyBmdW5jdGlvbigpe3Rocm93IEVycm9yKCJQbGFjZS5maW5kUGxhY2VGcm9tUXVlcnkoKSBpcyBubyBsb25nZXIgYXZhaWxhYmxlLiBQbGVhc2UgdXNlIFBsYWNlLnNlYXJjaEJ5VGV4dCgpLiIpO307CiQ3LmZpbmRQbGFjZUZyb21QaG9uZU51bWJlcj1hc3luYyBmdW5jdGlvbigpe3Rocm93IEVycm9yKCJQbGFjZS5maW5kUGxhY2VGcm9tUGhvbmVOdW1iZXIoKSBpcyBubyBsb25nZXIgYXZhaWxhYmxlLiBQbGVhc2UgdXNlIFBsYWNlLnNlYXJjaEJ5VGV4dCgpLiIpO307JDcuX19nbXBkbj1hc3luYyBmdW5jdGlvbihhLGIsYyxkLGUpe2F3YWl0IF8uSGwoInBsYWNlc19pbXBsIik7cmV0dXJuIG5ldyBQcm9taXNlKChmLGcpPT57bXdiKGEsYixjLGQsZSkudGhlbihoPT57dmFyIGs9ZzYobmV3IF8uWjUsYSk7dmFyIG09bkNiKCk7bT1fLklmKG0pO2g9aDYoayxjNihtLGgpLndoKCkpLndoKCk7ZihhOChfLklmKGgpLFsiaWQiLCJkaXNwbGF5TmFtZSJdLHtyZXF1ZXN0ZWRMYW5ndWFnZTpiLHJlcXVlc3RlZFJlZ2lvbjpjfSkpfSkuY2F0Y2goaD0+e2coaCl9KX0pfTskNy5wcm90b3R5cGUuY29uc3RydWN0b3I9JDcucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBwemI9bmV3IFNldChDNyk7dmFyIGs4PWNsYXNzIGV4dGVuZHMgcTl7Z2V0IHBsYWNlKCl7cmV0dXJuIHRoaXMucmh9c2V0IHBsYWNlKGEpe2E9Xy5rcCh0aGlzLCJwbGFjZSIsYj0+Xy5NbShfLkttKFtfLkVtKCQ3LCJQbGFjZSIpLF8uY3JdKSkoYiksYSk7dGhpcy5yaD1hPT09dm9pZCAwP251bGw6dHlwZW9mIGE9PT0ic3RyaW5nIj9uZXcgJDcoe2lkOl8udG8oYSl9KTphfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMucmg9bnVsbDt0aGlzLnBsYWNlPWEucGxhY2U7dGhpcy54aShhLGs4LCJQbGFjZURldGFpbHNQbGFjZVJlcXVlc3RFbGVtZW50Iil9cWgoKXtyZXR1cm4gdGhpcy5wbGFjZT97cGxhY2U6dGhpcy5wbGFjZX06e319fTtrOC5wcm90b3R5cGUuY29uc3RydWN0b3I9azgucHJvdG90eXBlLmNvbnN0cnVjdG9yO2s4LklpPXtLaToyMjI0ODcsSmk6MjIyNDg1fTsKXy5EKFtfLnRxKHtmaTp7TGo6YT0+YT9gcGxhY2VzLyR7YS5pZH1gOm51bGx9LE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGs4LnByb3RvdHlwZSwicGxhY2UiLG51bGwpO18ueG8oImdtcC1wbGFjZS1kZXRhaWxzLXBsYWNlLXJlcXVlc3QiLGs4KTt2YXIgeiQ9Y2xhc3MgZXh0ZW5kcyBBOXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLmFjdGlvbkFyaWFMYWJlbD10aGlzLmxhYmVsPXZvaWQgMDthLnNsb3QmJih0aGlzLnNsb3Q9YS5zbG90KTt0aGlzLmxhYmVsPWEubGFiZWw7dGhpcy5hY3Rpb25BcmlhTGFiZWw9YS5hY3Rpb25BcmlhTGFiZWx9fTtfLkQoW18udHEoe0toOiJsYWJlbCIsdHlwZTpTdHJpbmd9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSx6JC5wcm90b3R5cGUsImxhYmVsIix2b2lkIDApO18uRChbXy50cSh7S2g6ImFjdGlvbi1hcmlhLWxhYmVsIix0eXBlOlN0cmluZ30pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLHokLnByb3RvdHlwZSwiYWN0aW9uQXJpYUxhYmVsIix2b2lkIDApO1suLi5BOS5zdHlsZXNdO3ZhciB6RWI9Xy4kcyhbIjpob3N0ey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCNkM2Y3ZmYsIzAwMzYzZSkpO2JvcmRlci1jb2xvcjp2YXIoLS1nbXAtYnV0dG9uLWJvcmRlci1jb2xvcix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1nbXAtYnV0dG9uLWJvcmRlci1yYWRpdXMsOTk5OXB4KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOnZhcigtLWdtcC1idXR0b24tYm9yZGVyLXdpZHRoLDApOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDtoZWlnaHQ6LW1vei1maXQtY29udGVudDtoZWlnaHQ6Zml0LWNvbnRlbnQ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpOy13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsOy1tb3otZm9udC12YXJpYW50LWxpZ2F0dXJlczpuby1jb250ZXh0dWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm8tY29udGV4dHVhbDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07cGFkZGluZzo2cHggMTJweH1he2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3dpZHRoOjEwMCV9YSBzdmd7ZmlsbDpjdXJyZW50Q29sb3I7LXdlYmtpdC1mbGV4LXNocmluazowO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowfTpob3N0KDpob3Zlcil7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKSA4JSx2YXIoLS1nbXAtbWF0LWNvbG9yLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjZDNmN2ZmLCMwMDM2M2UpKSl9Omhvc3QoOmZvY3VzLXZpc2libGUpe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLGxpZ2h0LWRhcmsoIzAxNGY1YSwjOWZlZmZmKSkgMTAlLHZhcigtLWdtcC1tYXQtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCNkM2Y3ZmYsIzAwMzYzZSkpKTtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSwwIDAgMCA0cHggdmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyLGxpZ2h0LWRhcmsoIzAxNGY1YSwjOWZlZmZmKSk7b3V0bGluZTpub25lfSJdKTt2YXIgQUViPSExLEEkPWNsYXNzIGV4dGVuZHMgeiR7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5ocmVmPXRoaXMudGFyZ2V0PXRoaXMucmg9dm9pZCAwO3RoaXMueGkoYSxBJCwiUGxhY2VMaW5rRWxlbWVudCIpO3RoaXMucmg9YS5hY3Rpb247dGhpcy50YXJnZXQ9YS50YXJnZXQ7dGhpcy5ocmVmPWEuaHJlZn1zZXQgYWN0aW9uKGEpe3RoaXMucmg9YX1nZXQgYWN0aW9uKCl7cmV0dXJuIHRoaXMucmh9cWgoKXtyZXR1cm57fX19O0EkLklpPXtLaTozMjY0NjAsSmk6MzI2NDYyfTtBJC5zdHlsZXM9Wy4uLkE5LnN0eWxlcyx6RWJdOwpfLkQoW18udHEoe0toOiJhY3Rpb24iLGZpOl8ud28oe09QRU5fTUFQOiJPUEVOX01BUCIsT1BFTl9XRUJTSVRFOiJPUEVOX1dFQlNJVEUiLE9QRU5fRElSRUNUSU9OUzoiT1BFTl9ESVJFQ1RJT05TIixDQUxMOiJDQUxMIixDVVNUT006IkNVU1RPTSJ9KX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxBJC5wcm90b3R5cGUsImFjdGlvbiIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoidGFyZ2V0In0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLEEkLnByb3RvdHlwZSwidGFyZ2V0Iix2b2lkIDApO18uRChbXy50cSh7S2g6ImhyZWYiLHR5cGU6U3RyaW5nfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQSQucHJvdG90eXBlLCJocmVmIix2b2lkIDApO3ZhciBCRWI9bmV3IFNldCgiYWNjZXNzaWJpbGl0eU9wdGlvbnMgYWxsb3dzRG9ncyBoYXNDdXJic2lkZVBpY2t1cCBoYXNEZWxpdmVyeSBoYXNEaW5lSW4gaGFzTGl2ZU11c2ljIGhhc01lbnVGb3JDaGlsZHJlbiBoYXNPdXRkb29yU2VhdGluZyBoYXNSZXN0cm9vbSBoYXNUYWtlb3V0IGlzR29vZEZvckNoaWxkcmVuIGlzR29vZEZvckdyb3VwcyBpc0dvb2RGb3JXYXRjaGluZ1Nwb3J0cyBpc1Jlc2VydmFibGUgcGFya2luZ09wdGlvbnMgcGF5bWVudE9wdGlvbnMgc2VydmVzQmVlciBzZXJ2ZXNCcmVha2Zhc3Qgc2VydmVzQnJ1bmNoIHNlcnZlc0NvY2t0YWlscyBzZXJ2ZXNDb2ZmZWUgc2VydmVzRGVzc2VydCBzZXJ2ZXNEaW5uZXIgc2VydmVzTHVuY2ggc2VydmVzVmVnZXRhcmlhbkZvb2Qgc2VydmVzV2luZSIuc3BsaXQoIiAiKSk7dmFyIHh6Yj17YWRkcmVzczpbImZvcm1hdHRlZEFkZHJlc3MiXSxyYXRpbmc6WyJyYXRpbmciLCJ1c2VyUmF0aW5nQ291bnQiXSxwbGFjZVR5cGU6WyJwcmltYXJ5VHlwZURpc3BsYXlOYW1lIl0scHJpY2U6WyJwcmljZUxldmVsIiwicHJpY2VSYW5nZSJdLGFjY2Vzc2libGVFbnRyYW5jZUljb246WyJhY2Nlc3NpYmlsaXR5T3B0aW9ucyJdLG9wZW5Ob3dTdGF0dXM6WyJidXNpbmVzc1N0YXR1cyIsInJlZ3VsYXJPcGVuaW5nSG91cnMiLCJ1dGNPZmZzZXRNaW51dGVzIl0sYXR0cmlidXRpb246W10scGhvbmVOdW1iZXI6WyJpbnRlcm5hdGlvbmFsUGhvbmVOdW1iZXIiLCJuYXRpb25hbFBob25lTnVtYmVyIl0sd2Vic2l0ZTpbIndlYnNpdGVVUkkiXSxvcGVuaW5nSG91cnM6WyJidXNpbmVzc1N0YXR1cyIsInJlZ3VsYXJPcGVuaW5nSG91cnMiLCJ1dGNPZmZzZXRNaW51dGVzIl0sc3VtbWFyeTpbImVkaXRvcmlhbFN1bW1hcnkiXSx0eXBlU3BlY2lmaWNIaWdobGlnaHRzOlsiZXZDaGFyZ2VPcHRpb25zIiwKImZ1ZWxPcHRpb25zIl0scmV2aWV3czpbInJldmlld3MiXSxyZXZpZXdTdW1tYXJ5OlsicmV2aWV3U3VtbWFyeSJdLHBsdXNDb2RlOlsicGx1c0NvZGUiXSxmZWF0dXJlTGlzdDpbLi4uQkViXSxwb3B1bGFyVGltZXM6WyJwb3B1bGFyVGltZXMiLCJidXNpbmVzc1N0YXR1cyIsInJlZ3VsYXJPcGVuaW5nSG91cnMiXSxuYW1lOlsiZGlzcGxheU5hbWUiXSwiYWN0aW9uLW1haW4iOlsiaW50ZXJuYXRpb25hbFBob25lTnVtYmVyIiwibmF0aW9uYWxQaG9uZU51bWJlciIsIndlYnNpdGVVUkkiLCJnb29nbGVNYXBzVVJJIiwiZ29vZ2xlTWFwc0xpbmtzIl0sImFjdGlvbi1jb3JuZXIiOlsiaW50ZXJuYXRpb25hbFBob25lTnVtYmVyIiwibmF0aW9uYWxQaG9uZU51bWJlciIsIndlYnNpdGVVUkkiLCJnb29nbGVNYXBzVVJJIiwiZ29vZ2xlTWFwc0xpbmtzIl19O3ZhciBuOD1uZXcgU2V0KFsibG9jYXRpb24iLCJ2aWV3cG9ydCJdKSxCJD1jbGFzcyBleHRlbmRzIHkke3N0YXRpYyBnZXQgUG0oKXtyZXR1cm57Li4ueSQuUG0sc2xvdEFzc2lnbm1lbnQ6Im1hbnVhbCJ9fWdldCBjb250ZW50Q29uZmlnKCl7cmV0dXJuIHRoaXMueGouY29udGVudH1nZXQgdHJ1bmNhdGlvblByZWZlcnJlZCgpe3JldHVybiExfXNldCBpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoYSl7dGhpcy5zaD1fLmtwKHRoaXMsImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsXy5NbShfLkhtKF8uZHMsMSkpLGEpfWdldCBpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoKXtyZXR1cm4gdGhpcy5zaD8/bnVsbH1nZXQgcGxhY2UoKXtpZih0aGlzLkprIT1udWxsJiZ0aGlzLkprIGluc3RhbmNlb2YgJDcpcmV0dXJuIGk4KHRoaXMuSmspfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuTHY9bmV3IHI5KHRoaXMpO3RoaXMuR3g9bmV3IFNldDt0aGlzLnhqPXt9Owp0aGlzLnBob3RvRGlzcGxheURhdGFMaXN0PVtdO3RoaXMuZHI9W107dGhpcy5Gdz1bXTt0aGlzLnZtPSJMT0FESU5HIjt0aGlzLnhoPW51bGw7dGhpcy5IaD17YmFja2dyb3VuZENvbG9yOiIjZmZmIixib3JkZXJSYWRpdXM6IjhweCIsbGFuZ3VhZ2U6dm9pZCAwLHJlZ2lvbjp2b2lkIDAsc2hvd3NBdHRyaWJ1dGlvbjohMCxzaG93c0JvcmRlcjohMCxVUDohMSxzaG93c1JvdXRpbmdTdW1tYXJ5OiExLHNob3dzQXR0cmlidXRlVGFnczohMSxzaG93c1RyYW5zaXQ6ITF9O3RoaXMudXE9W107dGhpcy5MbT1bXTt0aGlzLmV4cGVyaW1lbnRhbEhpZGVPcGVuSW5NYXBzQnV0dG9uPSExO3RoaXMudGg9bnVsbDt0aGlzLndoPSExO3RoaXMuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzPWEuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzPz9udWxsO0R6Yih0aGlzKTt0aGlzLmFuPXRoaXMuWEMoKTtfLkhsKCJ1dGlsIikudGhlbihiPT57Yi5BcigpfSl9aG0oYSl7c3VwZXIuaG0oYSk7YS5oYXMoInhqIil9Z2V0IFJEKCl7cmV0dXJuITF9U2ooYSl7c3VwZXIuU2ooYSk7CmlmKGEuaGFzKCJ4aiIpJiYoYT1hLmdldCgieGoiKSwhdGhpcy5SRCkpe3ZhciB7Y29udGVudDpiLHJlcXVlc3Q6Y309dGhpcy54aj8/e307aWYoYiYmY3x8dGhpcy5SRClpZihjJiYhUjcoYyx0aGlzLnRoKSl0aGlzLnRoPWMsYz8ucGxhY2UgaW5zdGFuY2VvZiAkNz8odGhpcy51cT1MeWIodGhpcyksYiYmenpiKGMucGxhY2UsYik/RXpiKHRoaXMsYy5wbGFjZSk6R3piKHRoaXMsYy5wbGFjZSkpOmM/LmxvY2F0aW9uIGluc3RhbmNlb2YgXy5RbyYmSXpiKHRoaXMsYy5sb2NhdGlvbik7ZWxzZSBpZih0aGlzLndoJiZ0aGlzLkprJiYhenpiKHRoaXMuSmssYikpR3piKHRoaXMsdGhpcy5Kayk7ZWxzZXthPWE/LmNvbnRlbnQ7dmFyIGQ9YT8ubWVkaWE7YT0hUjcoYj8ucmV2aWV3cyxhPy5yZXZpZXdzKTtkPSFSNyhiPy5tZWRpYSxkKTtpZihhfHxkKXt2YXIgZT1iPy5yZXZpZXdzPy5yYW5rUHJlZmVyZW5jZTtlPSEoIWI/LnJldmlld3M/LnF1ZXJ5JiYhZSk7dmFyIGY9Yj8ubWVkaWE/LnJhbmtQcmVmZXJlbmNlOwpmPSEoIWI/Lm1lZGlhPy5xdWVyeSYmIWYpO2EmJiFlJiYodGhpcy5kcj1bXSk7ZCYmIWYmJih0aGlzLkZ3PVtdLHRoaXMudm09IlNVQ0NFU1MiKTthPWUmJihhfHwhIXRoaXMucmgpO2Q9ZiYmKGR8fCEhdGhpcy5xaCk7KGF8fGQpJiZLemIodGhpcyxhLGQpfX1lbHNlIHRoaXMudGg9bnVsbCxtOCh0aGlzKSxfLkhxKHRoaXMpfX1Ucigpe3JldHVybiAxfUZ4KCl7cmV0dXJuIXRoaXMuSmt8fCF0aGlzLmNvbnRlbnRDb25maWd9b0QoKXt2YXIgYT10aGlzLldzKCksYj10aGlzLlVzKCk7YT1hPT09MXx8YT09PTN8fGE9PT00fHxhPT09NTtiPWI9PT0iVkVSVElDQUwiO3JldHVybnsicGxhY2UtZnVsbCI6IWEsInBsYWNlLWNvbXBhY3QiOmEsdmVydGljYWw6Yixob3Jpem9udGFsOiFifX1seihhKXt2YXIgYj0oMCxfLmFyKSh7Y29udGFpbmVyOiEwLGVycm9yOjM9PT10aGlzLnRrLGxvYWRpbmc6MT09PXRoaXMudGssZW1wdHk6MD09PXRoaXMudGt8fDI9PT10aGlzLnRrJiZ0aGlzLkZ4KCksCi4uLnRoaXMub0QoKX0pO3JldHVybiB0aGlzLnhoPSgwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJvdXRlci1jb250YWluZXIiPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSR7Yn0KICAgICAgICAgIGFyaWEtbGl2ZT0icG9saXRlIgogICAgICAgICAgYXJpYS1idXN5PSIke3RoaXMudGs9PT0xfSI+CiAgICAgICAgICAke2F9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1jTShhKXt0aGlzLkprPWEucGxhY2U7dGhpcy5waG90b0Rpc3BsYXlEYXRhTGlzdD1hLmZ6LnBob3RvRGlzcGxheURhdGFMaXN0O3RoaXMuZno9YS5mejt0aGlzLnRrPTI7dGhpcy52bT0iU1VDQ0VTUyJ9Z3YoYSl7dmFyIGI9ey4uLnRoaXMuSGh9O09iamVjdC5hc3NpZ24odGhpcy5IaCx7Li4uYX0pO0pTT04uc3RyaW5naWZ5KE9iamVjdC5lbnRyaWVzKGIpLnNvcnQoKGMsZCk9PmNbMF08ZFswXT8tMToxKSkhPT1KU09OLnN0cmluZ2lmeShPYmplY3QuZW50cmllcyh0aGlzLkhoKS5zb3J0KChjLGQpPT5jWzBdPGRbMF0/LTE6MSkpJiZfLmNwKHRoaXMsImludGVybmFsT3B0aW9ucyIsYil9T0goKXtyZXR1cm4gMX1CeChhKXt2YXIgYj1SeWIodGhpcyxhKSx7VEM6YyxhdHRyaWJ1dGlvbjpkfT17VEM6YixhdHRyaWJ1dGlvbjp2b2lkIDB9O2N8fF8ubEUodGhpcywiTWlzc2luZyBhIGNvbnRlbnQgZWxlbWVudC4gVGhlIFBsYWNlIERldGFpbHMgd2lkZ2V0IHJlcXVpcmVzIGJvdGggYSBjb250ZW50IGVsZW1lbnQgKDxnbXAtcGxhY2UtY29udGVudC1jb25maWc+LCA8Z21wLXBsYWNlLXN0YW5kYXJkLWNvbnRlbnQ+LCBvciA8Z21wLXBsYWNlLWFsbC1jb250ZW50PikgYW5kIGEgcmVxdWVzdCBlbGVtZW50ICg8Z21wLXBsYWNlLWRldGFpbHMtcGxhY2UtcmVxdWVzdD4gb3IgPGdtcC1wbGFjZS1kZXRhaWxzLWxvY2F0aW9uLXJlcXVlc3Q+KS4iKTsKdmFyIGU9Yz97Li4uY306dm9pZCAwO2I9e307ZSE9PXZvaWQgMCYmKGIuY29udGVudD1lKTtkIT09dm9pZCAwJiYoYi5hdHRyaWJ1dGlvbj1kKTtmb3IobGV0IHt4dTpmLGRhdGE6Z31vZiBhKXN3aXRjaChmKXtjYXNlIGs4OmlmKGE9Zy5wbGFjZSlyZXR1cm57Li4uYixyZXF1ZXN0OntwbGFjZTphfX07Xy5sRSh0aGlzLCJJZ25vcmluZyA8Z21wLXBsYWNlLWRldGFpbHMtcGxhY2UtcmVxdWVzdD4gd2l0aCBubyBwbGFjZS4iKTticmVhaztjYXNlIGw4OmlmKGE9Zy5sb2NhdGlvbilyZXR1cm57Li4uYixyZXF1ZXN0Ontsb2NhdGlvbjphfX07Xy5sRSh0aGlzLCJJZ25vcmluZyA8Z21wLXBsYWNlLWRldGFpbHMtbG9jYXRpb24tcmVxdWVzdD4gd2l0aCBubyBsb2NhdGlvbi4iKX1yZXR1cm4gYn19O0IkLnByb3RvdHlwZS5zZXRJbnRlcm5hbE9wdGlvbnM9QiQucHJvdG90eXBlLmd2O0IkLnByb3RvdHlwZS5jb25maWd1cmVGcm9tUGxhY2VDb250ZXh0dWFsUGxhY2VWaWV3PUIkLnByb3RvdHlwZS5jTTsKXy5EKFtfLnZxKHtuajooYSxiKT0+IVI3KGEsYil9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCJC5wcm90b3R5cGUsInhqIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLEU3KV0sQiQucHJvdG90eXBlLCJKayIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLEIkLnByb3RvdHlwZSwicGhvdG9EaXNwbGF5RGF0YUxpc3QiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxCJC5wcm90b3R5cGUsImRyIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sQiQucHJvdG90eXBlLCJGdyIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCJC5wcm90b3R5cGUsImZ6Iix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLEIkLnByb3RvdHlwZSwidm0iLHZvaWQgMCk7Cl8uRChbXy51cSgiLmNvbnRhaW5lciIpLF8uRigiZGVzaWduOnR5cGUiLEhUTUxEaXZFbGVtZW50KV0sQiQucHJvdG90eXBlLCJjb250YWluZXIiLHZvaWQgMCk7Xy5EKFtfLnVxKCJnbXAtaW50ZXJuYWwtbGlnaHRib3giKSxfLkYoImRlc2lnbjp0eXBlIiwkOSldLEIkLnByb3RvdHlwZSwic1IiLHZvaWQgMCk7Xy5EKFtfLnVxKCJnbXAtaW50ZXJuYWwtY29sbGFnZSIpLF8uRigiZGVzaWduOnR5cGUiLGEkKV0sQiQucHJvdG90eXBlLCJ1UyIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCJC5wcm90b3R5cGUsIkhoIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sQiQucHJvdG90eXBlLCJ1cSIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLEIkLnByb3RvdHlwZSwiTG0iLHZvaWQgMCk7Cl8uRChbXy50cSh7S2g6ImV4cGVyaW1lbnRhbC1oaWRlLW9wZW4taW4tbWFwcy1idXR0b24iLHR5cGU6Qm9vbGVhbn0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLEIkLnByb3RvdHlwZSwiZXhwZXJpbWVudGFsSGlkZU9wZW5Jbk1hcHNCdXR0b24iLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDoiaW50ZXJuYWwtdXNhZ2UtYXR0cmlidXRpb24taWRzIixmaTpfLkRzLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLEIkLnByb3RvdHlwZSwiaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzIixudWxsKTt2YXIgQ0ViPWNsYXNzIGV4dGVuZHMgXy5kdHt0aSgpe3JldHVybigwLF8uV3EpYDxkaXYKICAgICAgY2xhc3M9InNwaW5uZXIiCiAgICAgIGFyaWEtbGFiZWw9JHsiTG9hZGluZyJ9CiAgICAgIHJvbGU9InByb2dyZXNzYmFyIj48L2Rpdj5gfX07Q0ViLnN0eWxlcz1fLiRzKFsiOmhvc3R7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0uc3Bpbm5lcnstd2Via2l0LWFuaW1hdGlvbjphY2NvcmRpb24gMXMgbGluZWFyIGluZmluaXRlIGFsdGVybmF0ZSxyb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjphY2NvcmRpb24gMXMgbGluZWFyIGluZmluaXRlIGFsdGVybmF0ZSxyb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO2FzcGVjdC1yYXRpbzoxO2JvcmRlcjoycHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSk7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MTAwJX1ALXdlYmtpdC1rZXlmcmFtZXMgYWNjb3JkaW9uezAley13ZWJraXQtY2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwwIDAsNTAlIDAsNTAlIDAsNTAlIDAsNTAlIDAsNTAlIDApO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDUwJSAwLDUwJSAwLDUwJSAwLDUwJSAwKX0xMi41JXstd2Via2l0LWNsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDEwMCUgMCwxMDAlIDAsMTAwJSAwLDEwMCUgMCk7Y2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwwIDAsNTAlIDAsMTAwJSAwLDEwMCUgMCwxMDAlIDAsMTAwJSAwKX0yNSV7LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDAgMCw1MCUgMCwxMDAlIDAsMTAwJSAxMDAlLDEwMCUgMTAwJSwxMDAlIDEwMCUpO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDEwMCUgMCwxMDAlIDEwMCUsMTAwJSAxMDAlLDEwMCUgMTAwJSl9NTAley13ZWJraXQtY2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwwIDAsNTAlIDAsMTAwJSAwLDEwMCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDEwMCUgMCwxMDAlIDEwMCUsNTAlIDEwMCUsMCAxMDAlKX02Mi41JXstd2Via2l0LWNsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMTAwJSAwLDEwMCUgMCwxMDAlIDAsMTAwJSAxMDAlLDUwJSAxMDAlLDAgMTAwJSk7Y2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwxMDAlIDAsMTAwJSAwLDEwMCUgMCwxMDAlIDEwMCUsNTAlIDEwMCUsMCAxMDAlKX03NSV7LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDEwMCUgMTAwJSwxMDAlIDEwMCUsMTAwJSAxMDAlLDEwMCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMTAwJSAxMDAlLDEwMCUgMTAwJSwxMDAlIDEwMCUsMTAwJSAxMDAlLDUwJSAxMDAlLDAgMTAwJSl9dG97LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDUwJSAxMDAlLDUwJSAxMDAlLDUwJSAxMDAlLDUwJSAxMDAlLDUwJSAxMDAlLDAgMTAwJSk7Y2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpfX1Aa2V5ZnJhbWVzIGFjY29yZGlvbnswJXstd2Via2l0LWNsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDUwJSAwLDUwJSAwLDUwJSAwLDUwJSAwKTtjbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDAgMCw1MCUgMCw1MCUgMCw1MCUgMCw1MCUgMCw1MCUgMCl9MTIuNSV7LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDAgMCw1MCUgMCwxMDAlIDAsMTAwJSAwLDEwMCUgMCwxMDAlIDApO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDEwMCUgMCwxMDAlIDAsMTAwJSAwLDEwMCUgMCl9MjUley13ZWJraXQtY2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwwIDAsNTAlIDAsMTAwJSAwLDEwMCUgMTAwJSwxMDAlIDEwMCUsMTAwJSAxMDAlKTtjbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDAgMCw1MCUgMCwxMDAlIDAsMTAwJSAxMDAlLDEwMCUgMTAwJSwxMDAlIDEwMCUpfTUwJXstd2Via2l0LWNsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMCAwLDUwJSAwLDEwMCUgMCwxMDAlIDEwMCUsNTAlIDEwMCUsMCAxMDAlKTtjbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDAgMCw1MCUgMCwxMDAlIDAsMTAwJSAxMDAlLDUwJSAxMDAlLDAgMTAwJSl9NjIuNSV7LXdlYmtpdC1jbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDEwMCUgMCwxMDAlIDAsMTAwJSAwLDEwMCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsMTAwJSAwLDEwMCUgMCwxMDAlIDAsMTAwJSAxMDAlLDUwJSAxMDAlLDAgMTAwJSl9NzUley13ZWJraXQtY2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSwxMDAlIDEwMCUsMTAwJSAxMDAlLDEwMCUgMTAwJSwxMDAlIDEwMCUsNTAlIDEwMCUsMCAxMDAlKTtjbGlwLXBhdGg6cG9seWdvbig1MCUgNTAlLDEwMCUgMTAwJSwxMDAlIDEwMCUsMTAwJSAxMDAlLDEwMCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpfXRvey13ZWJraXQtY2xpcC1wYXRoOnBvbHlnb24oNTAlIDUwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSw1MCUgMTAwJSwwIDEwMCUpO2NsaXAtcGF0aDpwb2x5Z29uKDUwJSA1MCUsNTAlIDEwMCUsNTAlIDEwMCUsNTAlIDEwMCUsNTAlIDEwMCUsNTAlIDEwMCUsMCAxMDAlKX19QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMSkgcm90YXRlKDBkZWcpO3RyYW5zZm9ybTpzY2FsZVkoMSkgcm90YXRlKDBkZWcpfTQ5Ljk5JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMSkgcm90YXRlKDEzNWRlZyk7dHJhbnNmb3JtOnNjYWxlWSgxKSByb3RhdGUoMTM1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC0xKSByb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnNjYWxlWSgtMSkgcm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgtMSkgcm90YXRlKC0xMzVkZWcpO3RyYW5zZm9ybTpzY2FsZVkoLTEpIHJvdGF0ZSgtMTM1ZGVnKX19QGtleWZyYW1lcyByb3RhdGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06c2NhbGVZKDEpIHJvdGF0ZSgwZGVnKX00OS45OSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpIHJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpzY2FsZVkoMSkgcm90YXRlKDEzNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgtMSkgcm90YXRlKDBkZWcpO3RyYW5zZm9ybTpzY2FsZVkoLTEpIHJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLTEpIHJvdGF0ZSgtMTM1ZGVnKTt0cmFuc2Zvcm06c2NhbGVZKC0xKSByb3RhdGUoLTEzNWRlZyl9fSJdKTsKXy54bygiZ21wLWludGVybmFsLWNpcmN1bGFyLWxvYWRlciIsQ0ViKTt2YXIgVXpiPXtleHBhbmRlZDp7dGV4dDoiT3BlbiBpbiBNYXBzIixzaG93SWNvbjohMX0sY29uZGVuc2VkOnt0ZXh0OiJNYXBzIixzaG93SWNvbjohMH0sbWluaW1hbDp7dGV4dDoiIixzaG93SWNvbjohMH0sbm9uZTp7dGV4dDoiIixzaG93SWNvbjohMX19O3ZhciBERWI9e21lZGlhOntsaWdodGJveFByZWZlcnJlZDohMSxwcmVmZXJyZWRTaXplOiJMQVJHRSJ9LHJhdGluZzp7fSxwbGFjZVR5cGU6e30scHJpY2U6e30sYWNjZXNzaWJsZUVudHJhbmNlSWNvbjp7fSxvcGVuTm93U3RhdHVzOnt9fSxFRWI9e21lZGlhOntsaWdodGJveFByZWZlcnJlZDohMSxwcmVmZXJyZWRTaXplOiJTTUFMTCJ9LGFkZHJlc3M6e30scmF0aW5nOnt9LHBsYWNlVHlwZTp7fSxwcmljZTp7fSxhY2Nlc3NpYmxlRW50cmFuY2VJY29uOnt9LG9wZW5Ob3dTdGF0dXM6e30sYXR0cmlidXRpb246e2xpZ2h0U2NoZW1lQ29sb3I6IkdSQVkiLGRhcmtTY2hlbWVDb2xvcjoiV0hJVEUifX0sQyQ9bmV3IFNldChbLi4ueCQucWgsLi4uWDkucWgsInBob3RvcyJdKSxGRWI9bmV3IFNldCgiZGlzcGxheU5hbWUgZm9ybWF0dGVkQWRkcmVzcyBnb29nbGVNYXBzTGlua3MgZ29vZ2xlTWFwc1VSSSByYXRpbmcgc2hvcnRGb3JtYXR0ZWRBZGRyZXNzIHR5cGVzIHVzZXJSYXRpbmdDb3VudCIuc3BsaXQoIiAiKSksCkQkPWNsYXNzIGV4dGVuZHMgQiR7Z2V0IEdBKCl7cmV0dXJuIF8uTHBbMzVdP0ZFYjpuZXcgU2V0KFsuLi5DJF0pfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuVUI9REViO3RoaXMuRHg9RUViO3RoaXMucEI9Mjt0aGlzLkx1PSExO3RoaXMucXA9IlZFUlRJQ0FMIjt0aGlzLkx1PWEudHJ1bmNhdGlvblByZWZlcnJlZD8/ITE7dGhpcy5xcD1hLm9yaWVudGF0aW9uPz8iVkVSVElDQUwiO3RoaXMueGkoYSxEJCwiUGxhY2VEZXRhaWxzQ29tcGFjdEVsZW1lbnQiKX1Xcygpe3JldHVybiAxfVVzKCl7cmV0dXJuIHRoaXMucXB9ekQoKXtyZXR1cm4ibWVkaXVtIn1YQygpe3JldHVybiBuZXcgZTkodGhpcy5UcigpKX1Ucigpe3JldHVybiBfLkxwWzM1XT85OnN1cGVyLlRyKCl9Z2V0IHRydW5jYXRpb25QcmVmZXJyZWQoKXtyZXR1cm4gdGhpcy5MdX1zZXQgdHJ1bmNhdGlvblByZWZlcnJlZChhKXt0aGlzLkx1PV8ua3AodGhpcywidHJ1bmNhdGlvblByZWZlcnJlZCIsXy5jcyxhKXx8CiExfWdldCBvcmllbnRhdGlvbigpe3JldHVybiB0aGlzLnFwfXNldCBvcmllbnRhdGlvbihhKXt0aGlzLnFwPV8ua3AodGhpcywib3JpZW50YXRpb24iLGI9Pl8uTW0oXy5GbSh6OSkpKGIpPz8iVkVSVElDQUwiLGEpfXp0KCl7cmV0dXJuIHRoaXMubHUoKT8/KDAsXy5XcSlgYH1teigpe3JldHVybigwLF8uV3EpYDxkaXYgY2xhc3M9InN0YXR1cy10ZXh0Ij4keyJQbGFjZSBpbmZvIGNvdWxkbid0IGxvYWQifTwvZGl2CiAgICAgID4ke3RoaXMubHUoKX1gfW96KCl7aWYodGhpcy5vcmllbnRhdGlvbj09PSJIT1JJWk9OVEFMIil7dmFyIGE9cjgodGhpcywhMCk7YT0oMCxfLldxKWAke2F9CiAgICAke1d6Yih0aGlzLmNvbnRlbnRDb25maWcsczgodGhpcyksdGhpcy54ai5hdHRyaWJ1dGlvbil9YH1lbHNlIGE9W3I4KHRoaXMpLFd6Yih0aGlzLmNvbnRlbnRDb25maWcsczgodGhpcyksdGhpcy54ai5hdHRyaWJ1dGlvbildLGE9KDAsXy5XcSlgJHtBNyhhKX1gO3JldHVybiBhfU9IKCl7cmV0dXJuIHRoaXMub3JpZW50YXRpb249PT0iVkVSVElDQUwiPzI6M31sdSgpe3JldHVybiBzOCh0aGlzKT9udWxsOm84KHRoaXMuSmsse2NvbnRlbnRDb25maWc6dGhpcy5jb250ZW50Q29uZmlnLENyOnRoaXMueGouYXR0cmlidXRpb24sc2hvd0luZm9CdXR0b246ITAsakM6ITAsYXR0cmlidXRpb25UeXBlOiJURVhUIixpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOiExfSl9eXcoKXtpZih0aGlzLkZ4KCkpcmV0dXJuIHRoaXMuenQoKTt2YXIgYT10aGlzLkprO3N3aXRjaCh0aGlzLm9yaWVudGF0aW9uKXtjYXNlICJIT1JJWk9OVEFMIjpsZXQgYj17RkU6dDgodGhpcyk/Im5vbmUiOiJjb25kZW5zZWQiLApyYXRpbmdWYXJpYW50OiJzaW5nbGUtc3RhciIscmF0aW5nSW5mb0J1dHRvblNob3duOl8uTHBbMzVdPz8hMSxjb250ZW50Q29uZmlnOnRoaXMuY29udGVudENvbmZpZyxDcjp0aGlzLnhqLmF0dHJpYnV0aW9uLEREOnM4KHRoaXMpLHRydW5jYXRpb25QcmVmZXJyZWQ6dGhpcy5MdSxiRjp0aGlzLkhoLnNob3dzUm91dGluZ1N1bW1hcnkmJnRoaXMuZno/LmJGfHx2b2lkIDAsRU46dGhpcy5IaC5zaG93c0F0dHJpYnV0ZVRhZ3MsdGl0bGVTaXplOnRoaXMuekQoKSxpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOiExLHNob3dUcmFuc2l0OnRoaXMuSGguc2hvd3NUcmFuc2l0LHNsb3RzQ29uc3RydWN0aW9uRGF0YTp7R3I6dGhpcy51cSxMbTp0aGlzLkxtfX07YT1bKDAsXy5XcSlgCiAgICAgICAgJHtyOCh0aGlzLCEwKT8/Xy5Tc30KICAgICAgICAke3E4KGEsYil9CiAgICAgICAgJHtWemIoYSx7dmFyaWFudDp0OCh0aGlzKT8ibm9uZSI6Im1pbmltYWwifSl9CiAgICAgICAgJHt0aGlzLkhoLnNob3dzQnV0dG9ucz8oMCxfLldxKWA8c2VjdGlvbiBjbGFzcz0iYnV0dG9uLXNlY3Rpb24iPgogICAgICAgICAgICAgICR7VHpiKGEuZ29vZ2xlTWFwc1VSST8/bnVsbCwiIix7VFA6dGhpcy5IaC5VUH0pfQogICAgICAgICAgICA8L3NlY3Rpb24+YDoiIn0KICAgICAgYF07YnJlYWs7ZGVmYXVsdDphPVtyOCh0aGlzKSxxOChhLHtXTjohMCxGRTp0OCh0aGlzKT8ibm9uZSI6ImNvbmRlbnNlZCIscmF0aW5nVmFyaWFudDoic2luZ2xlLXN0YXIiLHJhdGluZ0luZm9CdXR0b25TaG93bjpfLkxwWzM1XT8/ITEsY29udGVudENvbmZpZzp0aGlzLmNvbnRlbnRDb25maWcsQ3I6dGhpcy54ai5hdHRyaWJ1dGlvbixERDpzOCh0aGlzKSx0cnVuY2F0aW9uUHJlZmVycmVkOnRoaXMudHJ1bmNhdGlvblByZWZlcnJlZCx0aXRsZVNpemU6dGhpcy56RCgpLGluZm9CdXR0b25UYXBBcmVhRXhwYW5kZWQ6ITEsc2hvd1RyYW5zaXQ6dGhpcy5IaC5zaG93c1RyYW5zaXQsc2xvdHNDb25zdHJ1Y3Rpb25EYXRhOntHcjp0aGlzLnVxLExtOnRoaXMuTG19fSldfXJldHVybigwLF8uV3EpYCR7QTcoYSl9YH19O0QkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1EJC5wcm90b3R5cGUuY29uc3RydWN0b3I7RCQuc3R5bGVzPVtxRWJdO0QkLklpPXtLaToyNTM0MzksSmk6MjUzNDE5fTsKXy5EKFtfLnRxKHtLaDoidHJ1bmNhdGlvbi1wcmVmZXJyZWQiLHR5cGU6Qm9vbGVhbixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxEJC5wcm90b3R5cGUsInRydW5jYXRpb25QcmVmZXJyZWQiLG51bGwpO18uRChbXy50cSh7Zmk6Xy53byh6OSksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sRCQucHJvdG90eXBlLCJvcmllbnRhdGlvbiIsbnVsbCk7Xy54bygiZ21wLXBsYWNlLWRldGFpbHMtY29tcGFjdCIsRCQpO3ZhciBFJD1jbGFzcyBleHRlbmRzIEQke2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxFJCwiQWR2YW5jZWRQbGFjZURldGFpbHNDb21wYWN0RWxlbWVudCIpfVdzKCl7cmV0dXJuIDN9VHIoKXtyZXR1cm4gNn19O0UkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FJC5wcm90b3R5cGUuY29uc3RydWN0b3I7RSQuc3R5bGVzPVsuLi5SZWZsZWN0LmdldChEJCwic3R5bGVzIixFJCldO0UkLklpPXtLaTozMTY1MDMsSmk6MzE2MjQ2fTt2YXIgR0ViPSExO3ZhciBIRWI9e21lZGlhOntsaWdodGJveFByZWZlcnJlZDohMSxwcmVmZXJyZWRTaXplOiJMQVJHRSJ9LGFkZHJlc3M6e30scmF0aW5nOnt9LHBsYWNlVHlwZTp7fSxwcmljZTp7fSxhY2Nlc3NpYmxlRW50cmFuY2VJY29uOnt9LGF0dHJpYnV0aW9uOntsaWdodFNjaGVtZUNvbG9yOiJHUkFZIixkYXJrU2NoZW1lQ29sb3I6IldISVRFIn0sd2Vic2l0ZTp7fSxwaG9uZU51bWJlcjp7fSxvcGVuaW5nSG91cnM6e30scG9wdWxhclRpbWVzOnt9LHN1bW1hcnk6e30sdHlwZVNwZWNpZmljSGlnaGxpZ2h0czp7fSxyZXZpZXdTdW1tYXJ5Ont9LHJldmlld3M6e30sZmVhdHVyZUxpc3Q6e319LEYkPWNsYXNzIGV4dGVuZHMgQiR7V3MoKXtyZXR1cm4gMH1Vcygpe3JldHVybiB0aGlzLnFwfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuR0E9bmV3IFNldChbLi4ueCQucWgsLi4uWDkucWgsLi4uQkViLCJhZGRyZXNzQ29tcG9uZW50cyIsImNvbnN1bWVyQWxlcnQiLCJlZGl0b3JpYWxTdW1tYXJ5IiwKImV2Q2hhcmdlT3B0aW9ucyIsImZvcm1hdHRlZEFkZHJlc3MiLCJmdWVsT3B0aW9ucyIsImdlbmVyYXRpdmVTdW1tYXJ5IiwiZ29vZ2xlTWFwc1VSSSIsImludGVybmF0aW9uYWxQaG9uZU51bWJlciIsIm5hdGlvbmFsUGhvbmVOdW1iZXIiLCJwaG90b3MiLCJwbHVzQ29kZSIsInJldmlld1N1bW1hcnkiLCJyZXZpZXdzIiwid2Vic2l0ZVVSSSJdKTt0aGlzLlVCPUhFYjt0aGlzLkR4PXA4O3RoaXMucEI9MDt0aGlzLnFwPSJWRVJUSUNBTCI7dGhpcy5xcD1hLm9yaWVudGF0aW9uPz8iVkVSVElDQUwiO3RoaXMueGkoYSxGJCwiUGxhY2VEZXRhaWxzRWxlbWVudCIpfVhDKCl7cmV0dXJuIG5ldyBlOSh0aGlzLlRyKCkpfWdldCBvcmllbnRhdGlvbigpe3JldHVybiB0aGlzLnFwfXNldCBvcmllbnRhdGlvbihhKXt0aGlzLnFwPV8ua3AodGhpcywib3JpZW50YXRpb24iLGI9Pl8uTW0oXy5GbSh6OSkpKGIpPz8iVkVSVElDQUwiLGEpfXp0KCl7cmV0dXJuIEE3KFt0aGlzLmx1KCksKDAsXy5XcSlgPGRpdiBjbGFzcz0iZW1wdHktY29udGVudCI+PC9kaXY+YF0pPz8KKDAsXy5XcSlgYH1teigpe3JldHVybiBBNyhbdGhpcy5sdSgpLCgwLF8uV3EpYDxkaXYgY2xhc3M9InN0YXR1cy10ZXh0Ij4keyJQbGFjZSBpbmZvIGNvdWxkbid0IGxvYWQifTwvZGl2PmBdKT8/KDAsXy5XcSlgYH1veigpe3ZhciBhPXRoaXMuY29udGVudENvbmZpZz8ubWVkaWE/ZUFiKHRoaXMpOiIiO3JldHVybiBBNyhbdGhpcy5sdSgpLCgwLF8uV3EpYDxkaXYgY2xhc3M9InNwaW5uZXItY29udGFpbmVyIj4KICAgICAgICAgICAgPGdtcC1pbnRlcm5hbC1jaXJjdWxhci1sb2FkZXI+PC9nbXAtaW50ZXJuYWwtY2lyY3VsYXItbG9hZGVyPiA8L2RpdgogICAgICAgICAgPiR7YX1gXSk/PygwLF8uV3EpYGB9bHUoKXt2YXIgYT10aGlzLnVxPy5maW5kKGI9PmIgaW5zdGFuY2VvZiBwJCk7YT1hPy5kci5sZW5ndGg/YS5yYW5rUHJlZmVyZW5jZTpudWxsO3JldHVybiB0aGlzLkhoLnNob3dzQXR0cmlidXRpb24/PyEwP284KHRoaXMuSmsse2NvbnRlbnRDb25maWc6dGhpcy5jb250ZW50Q29uZmlnLENyOnRoaXMueGouYXR0cmlidXRpb24sc2hvd0luZm9CdXR0b246ITAsakM6ITAsYXR0cmlidXRpb25UeXBlOiJMT0dPIixpbmZvQnV0dG9uVGFwQXJlYUV4cGFuZGVkOiEwLE9QOiEwLFNQOnRoaXMudXEscmFua1ByZWZlcmVuY2U6YX0pOm51bGx9RngoKXtyZXR1cm4gc3VwZXIuRngoKX15dygpe2lmKHRoaXMuRngoKSl2YXIgYT10aGlzLnp0KCk7ZWxzZXthPXRoaXMuSms7aWYoYS5nZW5lcmF0aXZlU3VtbWFyeSYmYS5nZW5lcmF0aXZlU3VtbWFyeS5vdmVydmlldyl7dmFyIGI9YS5nZW5lcmF0aXZlU3VtbWFyeS5mbGFnQ29udGVudFVSSTsKYj0oMCxfLldxKWAKICAgICAgPHNlY3Rpb24gY2xhc3M9InN1bW1hcnkiIGFyaWEtbGFiZWw9JHsiRGV0YWlscyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KICAgICAgICAgIDxwPiR7YS5nZW5lcmF0aXZlU3VtbWFyeS5vdmVydmlld308L3A+CiAgICAgICAgICA8cCBjbGFzcz0iZGlzY2xvc3VyZSI+JHthLmdlbmVyYXRpdmVTdW1tYXJ5LmRpc2Nsb3N1cmVUZXh0fTwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICAke2I/KDAsXy5XcSlgPGRpdiBjbGFzcz0icmVwb3J0LWJ1dHRvbi1jb250YWluZXIiPgogICAgICAgICAgICAgIDxnbXAtaW50ZXJuYWwtbWVudQogICAgICAgICAgICAgICAgLm1lbnVJdGVtcz0ke1t7dGV4dDoiQWJvdXQgdGhpcyBzdW1tYXJ5Iix1cmk6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2xvY2FsLWxpc3RpbmdzL2Fuc3dlci85ODUxMDk5In0se3RleHQ6IlJlcG9ydCBzdW1tYXJ5Iix1cmk6Yn1dfT48L2dtcC1pbnRlcm5hbC1tZW51PgogICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICA8L3NlY3Rpb24+CiAgICBgfWVsc2UgYj1hLmVkaXRvcmlhbFN1bW1hcnk/KDAsXy5XcSlgCiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzdW1tYXJ5IiBhcmlhLWxhYmVsPSR7IkRldGFpbHMifT4KICAgICAgICA8cD4ke2EuZWRpdG9yaWFsU3VtbWFyeX08L3A+CiAgICAgIDwvc2VjdGlvbj4KICAgIGA6Xy5TcztiPVM3KHtwbGFjZTphLHNqOmIsUGw6InN1bW1hcnkiLEdsOiEhdGhpcy5jb250ZW50Q29uZmlnPy5zdW1tYXJ5LHNsb3RzQ29uc3RydWN0aW9uRGF0YTp7R3I6dGhpcy51cSxMbTp0aGlzLkxtfX0pO2xldCBjPWNBYih7cGxhY2U6YSxjb250ZW50Q29uZmlnOnRoaXMuY29udGVudENvbmZpZyxzbG90c0NvbnN0cnVjdGlvbkRhdGE6e0dyOnRoaXMudXEsTG06dGhpcy5MbX19KSxkPXo3KGIpJiZjLmxlbmd0aD4xO2E9KDAsXy5XcSlgICR7cTgoYSx7V046ITAsYWRkcmVzc0VuYWJsZWQ6ITEsY29udGVudENvbmZpZzp0aGlzLmNvbnRlbnRDb25maWcsREQ6ITAsRkU6Xy5McFsxNzFdJiZ0aGlzLmV4cGVyaW1lbnRhbEhpZGVPcGVuSW5NYXBzQnV0dG9uPyJub25lIjoiZXhwYW5kZWQiLHRpdGxlU2l6ZToiZGlzcGxheS1zbWFsbCIsZm9udFNpemU6Im1lZGl1bSIsc2xvdHNDb25zdHJ1Y3Rpb25EYXRhOntHcjp0aGlzLnVxLExtOnRoaXMuTG19fSl9CiAgICAke2VBYih0aGlzKT8/IiJ9JHtifQogICAgJHtjLmxlbmd0aCYmIWQ/KDAsXy5XcSlgPGhyIC8+YDoiIn0KICAgICR7ZEFiKGMpPz8iIn1gO2E9KDAsXy5XcSlgCiAgICAgIDxkaXYgY2xhc3M9ImF0dHJpYnV0aW9uLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLmx1KCl9CiAgICAgICAgPGhyIC8+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtY29udGFpbmVyIj4gJHthfSA8L2Rpdj4KICAgIGB9cmV0dXJuIGF9fTtGJC5wcm90b3R5cGUuY29uc3RydWN0b3I9RiQucHJvdG90eXBlLmNvbnN0cnVjdG9yO0YkLnN0eWxlcz1bckViXTtGJC5JaT17S2k6MjE2MzU2LEppOjIxNjM1NH07Xy5EKFtfLnRxKHtmaTpfLndvKHo5KSxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxGJC5wcm90b3R5cGUsIm9yaWVudGF0aW9uIixudWxsKTtfLnhvKCJnbXAtcGxhY2UtZGV0YWlscyIsRiQpO3ZhciBHJD1jbGFzcyBleHRlbmRzIEYke2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxHJCwiQWR2YW5jZWRQbGFjZURldGFpbHNFbGVtZW50Iil9VHIoKXtyZXR1cm4gNn1Xcygpe3JldHVybiAyfX07RyQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUckLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtHJC5zdHlsZXM9Wy4uLlJlZmxlY3QuZ2V0KEYkLCJzdHlsZXMiLEckKV07RyQuSWk9e0tpOjMxMzU3NSxKaTozMTM1NzR9O3ZhciBJRWI9ITE7dmFyIEpFYj1fLiRzKFsiOmhvc3QgLm91dGVyLWNvbnRhaW5lcnstLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcjpsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZik7LS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2U6bGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpOy0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQ6bGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpOy0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmU6bGlnaHQtZGFyaygjZjJmMmYyLCM0NzQ3NDcpOy0tZ21wLW1hdC1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyOmxpZ2h0LWRhcmsoI2QzZjdmZiwjMDAzNjNlKTstLWdtcC1tYXQtY29sb3Itc3VyZmFjZTpsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCk7LS1nbXAtbWF0LWZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZjstLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsOm5vcm1hbCA0MDAgMC43NWVtLzEuMzMzMzMzMzMzMyB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5KTstLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZTpub3JtYWwgNTAwIDAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHkpOy0tZ21wLW1hdC1mb250LXRpdGxlLXNtYWxsOm5vcm1hbCA1MDAgMC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSk7LS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW06bm9ybWFsIDQwMCAwLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5KTstLWdtcC1tYXQtc3BhY2luZy1zbWFsbDo4cHg7d29yZC1icmVhazpicmVhay13b3JkfTpob3N0KFtvcmllbnRhdGlvbj1ob3Jpem9udGFsIGldKSAub3V0ZXItY29udGFpbmVye2NvbnRhaW5lci10eXBlOm5vcm1hbDtwYWRkaW5nLWJvdHRvbToxMnB4fTpob3N0KFtvcmllbnRhdGlvbj1ob3Jpem9udGFsIGldKSAub3V0ZXItY29udGFpbmVyIC5vcGVuLWluLW1hcHMtYnV0dG9uLmNvbmRlbnNlZHtkaXNwbGF5Om5vbmV9Omhvc3QoW29yaWVudGF0aW9uPWhvcml6b250YWwgaV0pIC5vdXRlci1jb250YWluZXIgLm9wZW4taW4tbWFwcy1idXR0b24ubWluaW1hbHtkaXNwbGF5OmJsb2NrO2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDttYXJnaW4tYm90dG9tOmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1heC13aWR0aDozMDBweCl7Omhvc3QoW29yaWVudGF0aW9uPWhvcml6b250YWwgaV0pIC5vdXRlci1jb250YWluZXIgLm9wZW4taW4tbWFwcy1idXR0b24uY29uZGVuc2Vke2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTp1bnNldDttYXJnaW4tbGVmdDp1bnNldH06aG9zdChbb3JpZW50YXRpb249aG9yaXpvbnRhbCBpXSkgLm91dGVyLWNvbnRhaW5lciAub3Blbi1pbi1tYXBzLWJ1dHRvbi5taW5pbWFse2Rpc3BsYXk6bm9uZX19c2VjdGlvbi5iYXNpYy1pbmZve3BhZGRpbmc6MH0iXSk7dmFyIEgkPSExLEkkPWNsYXNzIGV4dGVuZHMgRCR7Z2V0IEdBKCl7cmV0dXJuIG5ldyBTZXQoImFjY2Vzc2liaWxpdHlPcHRpb25zIGRpc3BsYXlOYW1lIGZvcm1hdHRlZEFkZHJlc3MgZ29vZ2xlTWFwc0xpbmtzIGdvb2dsZU1hcHNVUkkgdHJhbnNpdFN0YXRpb24iLnNwbGl0KCIgIikpfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuWkQ9ITA7aWYoIUgkKXRocm93IEVycm9yKCJJbnRlcm5hbFVzZTJETWFwUGxhY2VEZXRhaWxzQ29tcGFjdEVsZW1lbnQgaXMgbm90IGFsbG93ZWQgdG8gYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LiIpO3RoaXMueGkoYSxJJCwiSW50ZXJuYWxVc2UyRE1hcFBsYWNlRGV0YWlsc0NvbXBhY3RFbGVtZW50Iil9Z2V0IHBsYWNlKCl7cmV0dXJuIHRoaXMuSms/P3ZvaWQgMH1Ucigpe3JldHVybiAxMH19O0kkLnN0eWxlcz1bLi4uRCQuc3R5bGVzLEpFYl07Cl8ueG8oImdtcC1pbnRlcm5hbC11c2UtMmQtbWFwLXBsYWNlLWRldGFpbHMtY29tcGFjdCIsSSQpO1A3KCk7dmFyIEtFYj1fLiRzKFsiOmhvc3QgLm91dGVyLWNvbnRhaW5lcnstLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcjpsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZik7LS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2U6bGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpOy0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQ6bGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpOy0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmU6dHJhbnNwYXJlbnQ7LS1nbXAtbWF0LWNvbG9yLXNlY29uZGFyeS1jb250YWluZXI6bGlnaHQtZGFyaygjZDNmN2ZmLCMwMDM2M2UpOy0tZ21wLW1hdC1jb2xvci1zdXJmYWNlOmxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KTstLWdtcC1tYXQtZm9udC1mYW1pbHk6R29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmOy0tZ21wLW1hdC1mb250LWJvZHktc21hbGw6bm9ybWFsIDQwMCAwLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHkpOy0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlOm5vcm1hbCA1MDAgMC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSk7LS1nbXAtbWF0LWZvbnQtdGl0bGUtc21hbGw6bm9ybWFsIDUwMCAwLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5KTstLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bTpub3JtYWwgNDAwIDAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHkpOy0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsOjB9Omhvc3QgLm91dGVyLWNvbnRhaW5lciA6aG9zdChbb3JpZW50YXRpb249aG9yaXpvbnRhbCBpXSl7cGFkZGluZy1ib3R0b206OHB4fTpob3N0KFtvcmllbnRhdGlvbj12ZXJ0aWNhbCBpXSkgLmNvbnRhaW5lciAuYmFzaWMtaW5mbyBnbXAtaW50ZXJuYWwtbGluay1idXR0b257bWFyZ2luLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH06aG9zdChbb3JpZW50YXRpb249dmVydGljYWwgaV0pIC5vdXRlci1jb250YWluZXJ7Y29udGFpbmVyLXR5cGU6bm9ybWFsfTpob3N0KFtvcmllbnRhdGlvbj1ob3Jpem9udGFsIGldKSAub3V0ZXItY29udGFpbmVye2NvbnRhaW5lci10eXBlOm5vcm1hbDtwYWRkaW5nLWJvdHRvbToxMnB4fTpob3N0KFtvcmllbnRhdGlvbj1ob3Jpem9udGFsIGldKSAub3V0ZXItY29udGFpbmVyIC5vcGVuLWluLW1hcHMtYnV0dG9uLmNvbmRlbnNlZHtkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59c2VjdGlvbi5iYXNpYy1pbmZve3BhZGRpbmc6MH0iXSk7dmFyIEokPSExLEskPWNsYXNzIGV4dGVuZHMgRCR7Z2V0IEdBKCl7cmV0dXJuIG5ldyBTZXQoWyJkaXNwbGF5TmFtZSIsImZvcm1hdHRlZEFkZHJlc3MiLCJnb29nbGVNYXBzVVJJIl0pfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuWkQ9ITA7aWYoIUokKXRocm93IEVycm9yKCJJbnRlcm5hbFVzZVBsYWNlRGV0YWlsc0NvbXBhY3RFbGVtZW50IGlzIG5vdCBhbGxvd2VkIHRvIGJlIGluc3RhbnRpYXRlZCBkaXJlY3RseS4iKTt9Z2V0IHBsYWNlKCl7aWYodGhpcy5KaylyZXR1cm4gdGhpcy5Ka31Ucigpe3JldHVybiA1fX07SyQuc3R5bGVzPVsuLi5EJC5zdHlsZXMsS0ViXTtfLnhvKCJnbXAtaW50ZXJuYWwtdXNlLXBsYWNlLWRldGFpbHMtY29tcGFjdCIsSyQpO1A3KCk7dmFyIEwkPWNsYXNzIGV4dGVuZHMgXy5kdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5udW1DYXJkcz0wO3RoaXMuc2VsZWN0YWJsZT0hMTt0aGlzLnFoPW51bGw7dGhpcy54aD17Y2hpbGRMaXN0OiEwfTt0aGlzLnNoPXRoaXMucmg9MDt0aGlzLndoPSgpPT57eTgodGhpcyl9fXRpKCl7aWYoIXRoaXMubnVtQ2FyZHMpcmV0dXJuKDAsXy5XcSlgYDt2YXIgYT1bXTtmb3IobGV0IGI9MDtiPHRoaXMubnVtQ2FyZHM7YisrKWEucHVzaCgoMCxfLldxKWA8ZGl2CiAgICAgICAgICBjbGFzcz0iY2Fyb3VzZWwtY2FyZCIKICAgICAgICAgIHJvbGU9JHt0aGlzLnNlbGVjdGFibGU/Imxpc3RpdGVtIjpfLlNzfQogICAgICAgICAgPjxzbG90IG5hbWU9ImNhcm91c2VsLWNhcmQtJHtifSI+PC9zbG90PgogICAgICAgIDwvZGl2PmApO3JldHVybigwLF8uV3EpYDxkaXYgY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIiIHJvbGU9InJlZ2lvbiI+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImNhcm91c2VsLWNvbnRhaW5lciIKICAgICAgICAgIGlkPSR7ImNhcm91c2VsLWNvbnRhaW5lciJ9CiAgICAgICAgICByb2xlPSR7dGhpcy5zZWxlY3RhYmxlPyJsaXN0IjpfLlNzfT4KICAgICAgICAgICR7YX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1uYXYtY29udGFpbmVyIj4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgaWQ9InByZXYtYnV0dG9uIgogICAgICAgICAgICBjbGFzcz0iY2Fyb3VzZWwtbmF2LWJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0keyJTaG93IHByZXZpb3VzIn0KICAgICAgICAgICAgYXJpYS1jb250cm9scz0keyJjYXJvdXNlbC1jb250YWluZXIifQogICAgICAgICAgICB0aXRsZT0keyJTaG93IHByZXZpb3VzIn0KICAgICAgICAgICAgQGNsaWNrPSR7KCk9PntqQWIodGhpcywtMSl9fT4KICAgICAgICAgICAgJHsoMCxfLldxKWA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgYXJpYS1oaWRkZW49InRydWUiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNMTYgMjIgNiAxMiAxNiAybDEuNzcgMS43OEw5LjU1IDEybDguMjIgOC4yM3oiLz48L3N2Zz5gfQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGlkPSJuZXh0LWJ1dHRvbiIKICAgICAgICAgICAgY2xhc3M9ImNhcm91c2VsLW5hdi1idXR0b24iCiAgICAgICAgICAgIGFyaWEtbGFiZWw9JHsiU2hvdyBuZXh0In0KICAgICAgICAgICAgYXJpYS1jb250cm9scz0keyJjYXJvdXNlbC1jb250YWluZXIifQogICAgICAgICAgICB0aXRsZT0keyJTaG93IG5leHQifQogICAgICAgICAgICBAY2xpY2s9JHsoKT0+e2pBYih0aGlzLDEpfX0+CiAgICAgICAgICAgICR7KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGFyaWEtaGlkZGVuPSJ0cnVlIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTYuMjMgMjAuMjMgOCAyMmwxMC0xMEw4IDIgNi4yMyAzLjc3IDE0LjQ2IDEyeiIvPjwvc3ZnPmB9CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYKICAgICAgICBpZD0ic2NyZWVuLXJlYWRlci1hbm5vdW5jZW1lbnQiCiAgICAgICAgY2xhc3M9InNjcmVlbi1yZWFkZXItb25seSIKICAgICAgICBhcmlhLWxpdmU9InBvbGl0ZSIKICAgICAgICBhcmlhLWF0b21pYz0idHJ1ZSI+PC9kaXY+YH1hc3luYyB6aCgpe3RoaXMuRnImJihhd2FpdCB5OCh0aGlzKSx4OCh0aGlzKSx0aGlzLkZyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy50aC5iaW5kKHRoaXMpKSx0aGlzLnFoPW5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57bEFiKHRoaXMpfSksa0FiKHRoaXMpLHRoaXMuVm4uZm9yRWFjaChhPT57KGE9YS5xdWVyeVNlbGVjdG9yKCJzbG90IikpJiZhLmFkZEV2ZW50TGlzdGVuZXIoInNsb3RjaGFuZ2UiLHRoaXMud2gpfSkpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLkZyJiZ0aGlzLkZyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy50aC5iaW5kKHRoaXMpKTt0aGlzLnFoJiYodGhpcy5xaC5kaXNjb25uZWN0KCksdGhpcy5xaD1udWxsKTt0aGlzLlZuLmZvckVhY2goYT0+eyhhPWEucXVlcnlTZWxlY3Rvcigic2xvdCIpKSYmYS5yZW1vdmVFdmVudExpc3RlbmVyKCJzbG90Y2hhbmdlIiwKdGhpcy53aCl9KTtjbGVhclRpbWVvdXQodGhpcy5yaCk7Y2xlYXJUaW1lb3V0KHRoaXMuc2gpfXRoKCl7Y2xlYXJUaW1lb3V0KHRoaXMucmgpO3RoaXMucmg9c2V0VGltZW91dCgoKT0+e3g4KHRoaXMpfSwxMCl9fTtMJC5zdHlsZXM9Xy4kcyhbIi5jYXJvdXNlbC13cmFwcGVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LmNhcm91c2VsLWNhcmQsLmNhcm91c2VsLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJvdXNlbC1jYXJkey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjstd2Via2l0LWZsZXgtc2hyaW5rOjA7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS5jYXJvdXNlbC1jb250YWluZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtY29sdW1uLWdhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpOy1tb3otY29sdW1uLWdhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpO2NvbHVtbi1nYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTtkaXNwbGF5OmdyaWQ7Z3JpZC1hdXRvLWZsb3c6Y29sdW1uOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstbW96LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MCB2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7d2lkdGg6MTAwJX0uY2Fyb3VzZWwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LmNhcm91c2VsLW5hdi1jb250YWluZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtsZWZ0OjUwJTtwYWRkaW5nOjAgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7d2lkdGg6MTAwJTt6LWluZGV4OjF9LmNhcm91c2VsLW5hdi1idXR0b24taGlkZGVue3BvaW50ZXItZXZlbnRzOm5vbmU7dmlzaWJpbGl0eTpoaWRkZW59LmNhcm91c2VsLW5hdi1idXR0b257LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSk7Ym9yZGVyOi41cHggc29saWQgdmFyKC0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmUsbGlnaHQtZGFyaygjZTNlM2UzLCM0NzQ3NDcpKTtib3JkZXItcmFkaXVzOjI4cHg7Ym94LXNoYWRvdzowIDFweCAycHggMCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSx2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSAzMCUpOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjRweDtwYWRkaW5nOjExcHg7cG9pbnRlci1ldmVudHM6YXV0b30uY2Fyb3VzZWwtbmF2LWJ1dHRvbiBzdmd7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LmNhcm91c2VsLW5hdi1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSx2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSA4JSk7Y3Vyc29yOnBvaW50ZXJ9LmNhcm91c2VsLW5hdi1idXR0b24tcnRsIHN2Z3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnNjcmVlbi1yZWFkZXItb25seXtoZWlnaHQ6MXB4O2xlZnQ6LTEwMDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDphdXRvO3dpZHRoOjFweH0iXSk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxMJC5wcm90b3R5cGUsIm51bUNhcmRzIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxMJC5wcm90b3R5cGUsInNlbGVjdGFibGUiLHZvaWQgMCk7Xy5EKFtrNygiLmNhcm91c2VsLWNhcmQiKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLEwkLnByb3RvdHlwZSwiVm4iLHZvaWQgMCk7Xy5EKFtfLnVxKCIuY2Fyb3VzZWwtY29udGFpbmVyIiksXy5GKCJkZXNpZ246dHlwZSIsSFRNTEVsZW1lbnQpXSxMJC5wcm90b3R5cGUsIkZyIix2b2lkIDApO18uRChbXy51cSgiLmNhcm91c2VsLW5hdi1jb250YWluZXIiKSxfLkYoImRlc2lnbjp0eXBlIixIVE1MRWxlbWVudCldLEwkLnByb3RvdHlwZSwidk8iLHZvaWQgMCk7Xy5EKFtfLnVxKCIjcHJldi1idXR0b24iKSxfLkYoImRlc2lnbjp0eXBlIixIVE1MRWxlbWVudCldLEwkLnByb3RvdHlwZSwiYXYiLHZvaWQgMCk7Cl8uRChbXy51cSgiI25leHQtYnV0dG9uIiksXy5GKCJkZXNpZ246dHlwZSIsSFRNTEVsZW1lbnQpXSxMJC5wcm90b3R5cGUsIlN5Iix2b2lkIDApO18uRChbXy51cSgiI3NjcmVlbi1yZWFkZXItYW5ub3VuY2VtZW50IiksXy5GKCJkZXNpZ246dHlwZSIsSFRNTEVsZW1lbnQpXSxMJC5wcm90b3R5cGUsIkZQIix2b2lkIDApO18ueG8oImdtcC1pbnRlcm5hbC1wbGFjZS1jYXJvdXNlbCIsTCQpO3ZhciBuQWI9KG5ldyBNYXApLnNldCgiQkxBQ0siLCIjMDAwIikuc2V0KCJXSElURSIsIiNmZmYiKS5zZXQoIkdSQVkiLCIjNWU1ZTVlIik7dmFyIHdBYj17bWVkaWE6e2xpZ2h0Ym94UHJlZmVycmVkOiExLHByZWZlcnJlZFNpemU6IlNNQUxMIn0scmF0aW5nOnt9LHBsYWNlVHlwZTp7fSxwcmljZTp7fSxhY2Nlc3NpYmxlRW50cmFuY2VJY29uOnt9fSx4QWI9e21lZGlhOntsaWdodGJveFByZWZlcnJlZDohMSxwcmVmZXJyZWRTaXplOiJTTUFMTCJ9LGFkZHJlc3M6e30scmF0aW5nOnt9LHBsYWNlVHlwZTp7fSxwcmljZTp7fSxhY2Nlc3NpYmxlRW50cmFuY2VJY29uOnt9LG9wZW5Ob3dTdGF0dXM6e30sYXR0cmlidXRpb246e2xpZ2h0U2NoZW1lQ29sb3I6IkdSQVkiLGRhcmtTY2hlbWVDb2xvcjoiV0hJVEUifX07dmFyIExFYj1fLiRzKFsiOmhvc3QoOm5vdChbaGlkZGVuXSkpe2Rpc3BsYXk6YmxvY2t9Omhvc3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Ym9yZGVyLXJhZGl1czoxNnB4O2NvbG9yLXNjaGVtZTpsaWdodCBkYXJrO2ZvbnQtc2l6ZToxNnB4fS5vdXRlci1jb250YWluZXIsLm91dGVyLWNvbnRhaW5lciAuY29udGFpbmVye2JvcmRlci1yYWRpdXM6aW5oZXJpdDtoZWlnaHQ6MTAwJX0ub3V0ZXItY29udGFpbmVyIC5jb250YWluZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW59Lm91dGVyLWNvbnRhaW5lciAuY29udGFpbmVyIC5zY3JvbGwtY29udGFpbmVye292ZXJmbG93OmhpZGRlbiBhdXRvfS5hdHRyaWJ1dGlvbnstd2Via2l0LXBhZGRpbmctc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpOy1tb3otcGFkZGluZy1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7cGFkZGluZy1pbmxpbmUtc3RhcnQ6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIudmVydGljYWwgLmF0dHJpYnV0aW9uOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSl9LmNvbnRhaW5lci52ZXJ0aWNhbCAuYXR0cmlidXRpb246bGFzdC1jaGlsZHtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpfS5ub24tcGxhY2UtY29udGVudHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0ubm9uLXBsYWNlLWNvbnRlbnQgZ21wLWludGVybmFsLWNpcmN1bGFyLWxvYWRlcntoZWlnaHQ6MThweDttYXJnaW46YXV0bzt3aWR0aDoxOHB4fS5ub24tcGxhY2UtY29udGVudDplbXB0eXtoZWlnaHQ6MWVtfS50b3AtYXR0cmlidXRpb24gLmNhcm91c2VsLWNvbnRhaW5lcntwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCl9LnRvcC1hdHRyaWJ1dGlvbi52ZXJ0aWNhbCAubm9uLXBsYWNlLWNvbnRlbnR7Ym9yZGVyLXRvcDouNXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSl9LmJvdHRvbS1hdHRyaWJ1dGlvbi52ZXJ0aWNhbCAubm9uLXBsYWNlLWNvbnRlbnR7Ym9yZGVyLWJvdHRvbTouNXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSl9LmJvdHRvbS1hdHRyaWJ1dGlvbiAuY2Fyb3VzZWwtY29udGFpbmVye3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX11bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dWwgbGl7aGVpZ2h0Oi13ZWJraXQtZml0LWNvbnRlbnQ7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50fXVsIGxpIGdtcC1pbnRlcm5hbC1wbGFjZS1zZWFyY2gtbGlzdC1pdGVte2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1yaWdodDpub25lfS5jYXJvdXNlbC1jYXJkLXNsb3QsLmxpc3QtaXRlbS1zbG90e3Bvc2l0aW9uOnJlbGF0aXZlfWdtcC1pbnRlcm5hbC1wbGFjZS1zZWFyY2gtbGlzdC1pdGVte2NvbG9yLXNjaGVtZTppbmhlcml0Oy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS50b3AtYXR0cmlidXRpb24gdWx7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czppbmhlcml0O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmluaGVyaXR9LnRvcC1hdHRyaWJ1dGlvbiB1bCBsaSBnbXAtaW50ZXJuYWwtcGxhY2Utc2VhcmNoLWxpc3QtaXRlbXtib3JkZXItYm90dG9tOm5vbmV9LnRvcC1hdHRyaWJ1dGlvbiB1bCBsaTpmaXJzdC1jaGlsZCBnbXAtaW50ZXJuYWwtcGxhY2Utc2VhcmNoLWxpc3QtaXRlbXtib3JkZXItdG9wOm5vbmV9LnRvcC1hdHRyaWJ1dGlvbiB1bCBsaTpsYXN0LWNoaWxkLC50b3AtYXR0cmlidXRpb24gdWwgbGk6bGFzdC1jaGlsZCAuc2VsZWN0YWJsZS1idXR0b257Ym9yZGVyLXJhZGl1czppbmhlcml0fS5ib3R0b20tYXR0cmlidXRpb24gdWx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czppbmhlcml0O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmluaGVyaXR9LmJvdHRvbS1hdHRyaWJ1dGlvbiB1bCBsaSBnbXAtaW50ZXJuYWwtcGxhY2Utc2VhcmNoLWxpc3QtaXRlbXtib3JkZXItdG9wOm5vbmV9LmJvdHRvbS1hdHRyaWJ1dGlvbiB1bCBsaTpsYXN0LWNoaWxkIGdtcC1pbnRlcm5hbC1wbGFjZS1zZWFyY2gtbGlzdC1pdGVte2JvcmRlci1ib3R0b206bm9uZX0uYm90dG9tLWF0dHJpYnV0aW9uIHVsIGxpOmZpcnN0LWNoaWxkLC5ib3R0b20tYXR0cmlidXRpb24gdWwgbGk6Zmlyc3QtY2hpbGQgLnNlbGVjdGFibGUtYnV0dG9ue2JvcmRlci1yYWRpdXM6aW5oZXJpdH0uc2VsZWN0YWJsZS1pdGVte2N1cnNvcjpwb2ludGVyfS5zZWxlY3RhYmxlLWl0ZW06aG92ZXIgZ21wLWludGVybmFsLXBsYWNlLXNlYXJjaC1saXN0LWl0ZW17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSx2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSA4JSl9LnNlbGVjdGFibGUtaXRlbTphY3RpdmUgZ21wLWludGVybmFsLXBsYWNlLXNlYXJjaC1saXN0LWl0ZW17YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UsbGlnaHQtZGFyaygjZmZmLCMxMzEzMTQpKSx2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKSAxMCUpfS5zZWxlY3RhYmxlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxMDAlO2xlZnQ6MDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjppbmhlcml0O3RvcDowO3dpZHRoOjEwMCV9LmNhcm91c2VsLWNhcmQtc2xvdD4uc2VsZWN0YWJsZS1idXR0b257Ym9yZGVyLXJhZGl1czp2YXIoLS1nbXAtY2FyZC1ib3JkZXItcmFkaXVzLDE2cHgpfSJdKTt2YXIgTSQ9e0hPUklaT05UQUw6IkhPUklaT05UQUwiLFZFUlRJQ0FMOiJWRVJUSUNBTCJ9LE4kPXtUT1A6IlRPUCIsQk9UVE9NOiJCT1RUT00ifTt2YXIgQTg9Y2xhc3MgZXh0ZW5kcyBFdmVudHtjb25zdHJ1Y3RvcihhKXtzdXBlcigiZ21wLXNlbGVjdCIse2J1YmJsZXM6ITB9KTt0aGlzLnFoPXtwbGFjZTphfX1nZXQgcGxhY2UoKXtyZXR1cm4gdGhpcy5xaC5wbGFjZX19O3ZhciBPJD1jbGFzcyBleHRlbmRzIHkke2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuUUQ9ITE7dGhpcy5GaD0iVE9QIjt0aGlzLnFoPXZvaWQgMDt0aGlzLkx1PSExO3RoaXMucXA9IlZFUlRJQ0FMIjt0aGlzLlVCPXdBYjt0aGlzLkR4PXhBYjt0aGlzLnNoPSEwO3RoaXMuR3g9bmV3IFNldChbVDcsVTcsVjcseTksLi4udGhpcy5EaCgpXSk7dGhpcy5Mdj1uZXcgcjkodGhpcyk7dGhpcy54aj17fTt0aGlzLnRoPW51bGw7dGhpcy5hdHRyaWJ1dGlvblBvc2l0aW9uPWEuYXR0cmlidXRpb25Qb3NpdGlvbjt0aGlzLm9yaWVudGF0aW9uPWEub3JpZW50YXRpb247dGhpcy5zZWxlY3RhYmxlPWEuc2VsZWN0YWJsZTt0aGlzLnRydW5jYXRpb25QcmVmZXJyZWQ9YS50cnVuY2F0aW9uUHJlZmVycmVkO3RoaXMuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzPWEuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzO18uSGwoInV0aWwiKS50aGVuKGI9PntiLkFyKCl9KX1zZXQgYXR0cmlidXRpb25Qb3NpdGlvbihhKXt0aGlzLkZoPQpfLmtwKHRoaXMsImF0dHJpYnV0aW9uUG9zaXRpb24iLF8uTW0oXy5GbShOJCkpLGEpPz8iVE9QIn1nZXQgYXR0cmlidXRpb25Qb3NpdGlvbigpe3JldHVybiB0aGlzLkZofXNldCBzZWxlY3RhYmxlKGEpe3RoaXMuUUQ9Xy5rcCh0aGlzLCJzZWxlY3RhYmxlIixfLmNzLGEpPz8hMX1nZXQgc2VsZWN0YWJsZSgpe3JldHVybiB0aGlzLlFEfXNldCB0cnVuY2F0aW9uUHJlZmVycmVkKGEpe3RoaXMuTHU9Xy5rcCh0aGlzLCJ0cnVuY2F0aW9uUHJlZmVycmVkIixfLmNzLGEpfHwhMX1nZXQgdHJ1bmNhdGlvblByZWZlcnJlZCgpe3JldHVybiB0aGlzLkx1fXNldCBvcmllbnRhdGlvbihhKXt0aGlzLnFwPV8ua3AodGhpcywib3JpZW50YXRpb24iLF8uTW0oXy5GbShNJCkpLGEpPz8iVkVSVElDQUwifWdldCBvcmllbnRhdGlvbigpe3JldHVybiB0aGlzLnFwfXNldCBpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMoYSl7dGhpcy5xaD1fLmtwKHRoaXMsImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsCl8uTW0oXy5IbShfLmRzLDEpKSxhKX1nZXQgaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCl7cmV0dXJuIHRoaXMucWg/P251bGx9Z2V0IHBsYWNlcygpe3JldHVybiB0aGlzLkZvP3RoaXMuRm8ubWFwKCh7cGxhY2U6YX0pPT5pOChhKSk6W119Z2V0IFBoKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcigiOnNjb3BlID4gZ21wLXBsYWNlLWNvbnRlbnQtY29uZmlnIil9Z2V0IExoKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcigiOnNjb3BlID4gZ21wLXBsYWNlLWFsbC1jb250ZW50Iil9Z2V0IFNoKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvcigiOnNjb3BlID4gZ21wLXBsYWNlLXN0YW5kYXJkLWNvbnRlbnQiKX1CeChhKXt2YXIgYj1BcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbHRlcihmPT5mLmdldEF0dHJpYnV0ZSgic2xvdCIpPT09ImRldGFpbHMtaXRlbSIpO2lmKGIubGVuZ3RoPjEpcmV0dXJue307Yj1iLmxlbmd0aD09PTE7cEFiKHRoaXMsYSk7dmFyIGM9dGhpcy5zaD8KYTphLmZpbHRlcihmPT5mLnh1IT09VDcpO2M9UnliKHRoaXMsYyk7dmFyIHtUQzpkLGF0dHJpYnV0aW9uOmV9PXtUQzpjLGF0dHJpYnV0aW9uOnZvaWQgMH07cUFiKHRoaXMsZCxiKTtjPXt9O2J8fGQ9PT12b2lkIDB8fChjLmNvbnRlbnQ9ZCk7ZSE9PXZvaWQgMCYmKGMuYXR0cmlidXRpb249ZSk7cmV0dXJuIHRoaXMueWgoYyxhKX1veigpe3JldHVybiB6OCgoMCxfLldxKWA8Z21wLWludGVybmFsLWNpcmN1bGFyLWxvYWRlcj48L2dtcC1pbnRlcm5hbC1jaXJjdWxhci1sb2FkZXI+YCl9bXooKXtyZXR1cm4gejgoKDAsXy5XcSlgJHsiUGxhY2UgcmVzdWx0cyBjb3VsZG4ndCBsb2FkIn1gKX16dCgpe3JldHVybiB6OCgpfXl3KCl7aWYoIXJBYih0aGlzKSlyZXR1cm4gdGhpcy56dCgpO3ZhciBhPXRoaXMuRm8/P1tdO3JldHVybiBhLmxlbmd0aD09PTA/ejgoKDAsXy5XcSlgJHsiTm8gcGxhY2VzIHRvIGRpc3BsYXkifWApOnRoaXMub3JpZW50YXRpb249PT0iSE9SSVpPTlRBTCI/KDAsXy5XcSlgPGRpdgogICAgICAgIGNsYXNzPSR7KDAsXy5hcikoeyJjYXJvdXNlbC1jb250YWluZXIiOiEwLCJjYXJkLXNlbGVjdGFibGUiOnRoaXMuc2VsZWN0YWJsZX0pfT4KICAgICAgICA8Z21wLWludGVybmFsLXBsYWNlLWNhcm91c2VsCiAgICAgICAgICAubnVtQ2FyZHM9JHthLmxlbmd0aH0KICAgICAgICAgIC5zZWxlY3RhYmxlPSR7dGhpcy5zZWxlY3RhYmxlfT4KICAgICAgICAgICR7YS5tYXAoKGIsYyk9PnNBYih0aGlzLGIsYykpfQogICAgICAgIDwvZ21wLWludGVybmFsLXBsYWNlLWNhcm91c2VsPgogICAgICA8L2Rpdj5gOigwLF8uV3EpYAogICAgICA8dWwKICAgICAgICBjbGFzcz0keygwLF8uYXIpKHsiY2FyZC1zZWxlY3RhYmxlIjp0aGlzLnNlbGVjdGFibGUsInNjcm9sbC1jb250YWluZXIiOiEwfSl9PgogICAgICAgICR7YS5tYXAoKGIsYyk9PnNBYih0aGlzLGIsYykpfQogICAgICA8L3VsPgogICAgYH1seihhKXt2YXIgYj0oMCxfLmFyKSh7Y29udGFpbmVyOiEwLHZlcnRpY2FsOnRoaXMub3JpZW50YXRpb249PT0iVkVSVElDQUwiLGhvcml6b250YWw6dGhpcy5vcmllbnRhdGlvbj09PSJIT1JJWk9OVEFMIiwidG9wLWF0dHJpYnV0aW9uIjp0aGlzLmF0dHJpYnV0aW9uUG9zaXRpb249PT0iVE9QIiwiYm90dG9tLWF0dHJpYnV0aW9uIjp0aGlzLmF0dHJpYnV0aW9uUG9zaXRpb24hPT0iVE9QIn0pO3JldHVybigwLF8uV3EpYAogICAgICA8ZGl2IGNsYXNzPSJvdXRlci1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9JHtifT4KICAgICAgICAgICR7dEFiKHRoaXMsIlRPUCIpfQogICAgICAgICAgJHthfQogICAgICAgICAgJHt0QWIodGhpcywiQk9UVE9NIil9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH13aCgpe3JldHVybiB0aGlzLnhqLnJlcXVlc3R9QmgoYSxiKXtyZXR1cm4gUjcoYSxiKX1TaihhKXtzdXBlci5TaihhKTthLmhhcygieGoiKTthPXRoaXMud2goKTtyQWIodGhpcykmJmE/dGhpcy5CaChhLHRoaXMudGgpfHwodGhpcy50aD1hLHRoaXMuR2goKSk6KHRoaXMudGg9bnVsbCx0aGlzLkZvPXZvaWQgMCxfLkhxKHRoaXMpKX19O08kLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1PJC5wcm90b3R5cGUuY29uc3RydWN0b3I7TyQuc3R5bGVzPVtMRWJdO08kLklpPXtLaToyMTYzNTcsSmk6MjE2MzU1fTtfLkQoW18ueXphKHtjb250ZXh0OkU5fSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sTyQucHJvdG90eXBlLCJRRCIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLE8kLnByb3RvdHlwZSwiRm8iLHZvaWQgMCk7Cl8uRChbXy50cSh7S2g6ImF0dHJpYnV0aW9uLXBvc2l0aW9uIixmaTpfLndvKE4kKSxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxPJC5wcm90b3R5cGUsImF0dHJpYnV0aW9uUG9zaXRpb24iLG51bGwpO18uRChbXy50cSh7dHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLE8kLnByb3RvdHlwZSwic2VsZWN0YWJsZSIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoidHJ1bmNhdGlvbi1wcmVmZXJyZWQiLHR5cGU6Qm9vbGVhbixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxPJC5wcm90b3R5cGUsInRydW5jYXRpb25QcmVmZXJyZWQiLG51bGwpOwpfLkQoW18udHEoe2ZpOl8ud28oTSQpLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLE8kLnByb3RvdHlwZSwib3JpZW50YXRpb24iLG51bGwpO18uRChbXy50cSh7S2g6ImludGVybmFsLXVzYWdlLWF0dHJpYnV0aW9uLWlkcyIsZmk6Xy5EcyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxPJC5wcm90b3R5cGUsImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsbnVsbCk7Xy5EKFtfLnZxKHtuajooYSxiKT0+IVI3KGEsYil9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxPJC5wcm90b3R5cGUsInhqIix2b2lkIDApO3ZhciB5QWI9Xy4kcyhbIjpob3N0KDpub3QoW2hpZGRlbl0pKXtkaXNwbGF5OmJsb2NrfTpob3N0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSk7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7Zm9udC1zaXplOjE2cHh9Omhvc3QoOm5vdChnbXAtcGxhY2UtY29udGVudC1jb25maWcpKXtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Ym9yZGVyLXJhZGl1czoxNnB4O292ZXJmbG93OmhpZGRlbn0ub3V0ZXItY29udGFpbmVye2hlaWdodDoxMDAlfS5vdXRlci1jb250YWluZXIgLmNvbnRhaW5lcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfWF7Y29sb3I6dW5zZXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfXB7bWFyZ2luOjB9dWx7YWxsOnVuc2V0fWhye2FsbDp1bnNldDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO2Rpc3BsYXk6YmxvY2t9LmF0dHJpYnV0aW9uLWNvbnRhaW5lciBocntib3JkZXItd2lkdGg6LjVweH0uYXR0cmlidXRpb257cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLXRvcDowfXNlY3Rpb257cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpIHZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSAwO3Bvc2l0aW9uOnJlbGF0aXZlfXNlY3Rpb24gLnNlY3Rpb24taGVhZGluZ3tmb250LXdlaWdodDo1MDA7LXdlYmtpdC1tYXJnaW4tYWZ0ZXI6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTttYXJnaW4tYmxvY2stZW5kOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LnNyLW9ubHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpe2NsaXA6cmVjdCgwIDAgMCAwKTstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1MCUpO2NsaXAtcGF0aDppbnNldCg1MCUpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MXB4fS5iYXNpYy1pbmZvey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowfS5iYXNpYy1pbmZvLC5iYXNpYy1pbmZvIC5zcGlubmVyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmJhc2ljLWluZm8gLnNwaW5uZXItY29udGFpbmVye21hcmdpbjphdXRvO3BhZGRpbmc6MThweH0uYmFzaWMtaW5mbyBnbXAtaW50ZXJuYWwtcGxhY2Utb3BlbmluZy1ob3Vyc3tjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudCxsaWdodC1kYXJrKCM1ZTVlNWUsI2FiYWJhYikpfS5iYXNpYy1pbmZvIGdtcC1pbnRlcm5hbC1saW5rLWJ1dHRvbntjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIsbGlnaHQtZGFyaygjMDE0ZjVhLCM5ZmVmZmYpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1sYXJnZSxub3JtYWwgNTAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9LmJhc2ljLWluZm8gcHstd2Via2l0LXBhZGRpbmctYmVmb3JlOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTtwYWRkaW5nLWJsb2NrLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0uYmFzaWMtaW5mby5uby1wYWRkaW5ne3BhZGRpbmc6MH0ubGlnaHRib3gtYWZmb3JkYW5jZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1tZWRpdW0sbm9ybWFsIDUwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTphdXRvO2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDoycHg7bWFyZ2luOjEycHg7cGFkZGluZzoycHggNXB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS5saWdodGJveC1hZmZvcmRhbmNlIC5waG90by1saWJyYXJ5e2hlaWdodDoxLjE2NjY2NjY2NjdlbTt3aWR0aDoxLjE2NjY2NjY2NjdlbX0ubGlnaHRib3gtYWZmb3JkYW5jZS50aWdodHttYXJnaW46OHB4fUAtd2Via2l0LWtleWZyYW1lcyBpbWFnZS1mYWRlLWluLWtleWZyYW1lc3swJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzezAle29wYWNpdHk6MH10b3tvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBza2VsZXRvbi1wdWxzZS1rZXlmcmFtZXN7MCV7b3BhY2l0eTouNX01MCV7b3BhY2l0eToxfXRve29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgc2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzezAle29wYWNpdHk6LjV9NTAle29wYWNpdHk6MX10b3tvcGFjaXR5Oi41fX0uaGVyby1pbWFnZXtsaW5lLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9Lmhlcm8taW1hZ2UgYnV0dG9uLmltYWdlLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcn0uaGVyby1pbWFnZSAuaW1hZ2UtY29udGFpbmVye2FzcGVjdC1yYXRpbzozLzI7Ym9yZGVyOm5vbmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcDtwYWRkaW5nOjA7cGxhY2UtY29udGVudDpjZW50ZXJ9Lmhlcm8taW1hZ2UgaW1ney13ZWJraXQtYW5pbWF0aW9uOmltYWdlLWZhZGUtaW4ta2V5ZnJhbWVzIDFzO2FuaW1hdGlvbjppbWFnZS1mYWRlLWluLWtleWZyYW1lcyAxcztoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3dpZHRoOjEwMCV9Lmhlcm8taW1hZ2UgLnBsYWNlaG9sZGVyLC5oZXJvLWltYWdlIGltZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKX0uaGVyby1pbWFnZSAucGxhY2Vob2xkZXJ7LXdlYmtpdC1hbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZTthbmltYXRpb246c2tlbGV0b24tcHVsc2Uta2V5ZnJhbWVzIDEuNXMgZWFzZS1pbi1vdXQgLjI1cyBpbmZpbml0ZX0uZm9vdG5vdGV7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKTt0ZXh0LWFsaWduOmVuZH0uanVzdGlmaWNhdGlvbnMtc2VjdGlvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uanVzdGlmaWNhdGlvbnMtc2VjdGlvbiAuYXZhdGFyIGltZ3t3aWR0aDoxNnB4fS5qdXN0aWZpY2F0aW9ucy1zZWN0aW9uIC5oaWdobGlnaHRlZC10ZXh0e2ZvbnQtd2VpZ2h0OjcwMH0ucm91dGluZy1zdW1tYXJ5e2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktc21hbGwsbm9ybWFsIDQwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtOy13ZWJraXQtYm94LWFsaWduOmVuZDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDstbXMtZmxleC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKTtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpIDAgMH0ucm91dGluZy1zdW1tYXJ5LC5yb3V0aW5nLXN1bW1hcnkgLnJvdXRpbmctdGltZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LnJvdXRpbmctc3VtbWFyeSAucm91dGluZy10aW1ley13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4fS5yb3V0aW5nLXN1bW1hcnkgc3Zne2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LmF0dHJpYnV0ZS10YWdze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6MnB4O21hcmdpbjo4cHggMCAwfS5hdHRyaWJ1dGUtdGFncyAuYXR0cmlidXRlLXRhZ3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItbmV1dHJhbC1jb250YWluZXIsbGlnaHQtZGFyaygjZjJmMmYyLCMzMDMwMzApKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLW5ldXRyYWwtY29udGFpbmVyLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZmZmKSk7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbWVkaXVtLG5vcm1hbCA1MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTtwYWRkaW5nOjFweCA1cHh9LnJldmlld3MtZGlzY2xvc3VyZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7LW1zLWZsZXgtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zdGF0dXMtdGV4dHtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO3BhZGRpbmc6MTZweH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3R7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jb250YWluZXIucGxhY2UtY29tcGFjdDpub3QoLmVycm9yLC5lbXB0eSkgZ21wLWludGVybmFsLWF0dHJpYnV0aW9ue21hcmdpbi1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLXNtYWxsLDhweCk7bWFyZ2luLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KTttYXJnaW4taW5saW5lOjAgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5lbXB0eSAuc3RhdHVzLXRleHQsLmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LmVycm9yIC5zdGF0dXMtdGV4dHtwYWRkaW5nLWJvdHRvbTp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LmVtcHR5IC5hdHRyaWJ1dGlvbiwuY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuZXJyb3IgLmF0dHJpYnV0aW9ue3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5lbXB0eSAuYXR0cmlidXRpb24gZ21wLWludGVybmFsLWF0dHJpYnV0aW9uLC5jb250YWluZXIucGxhY2UtY29tcGFjdC5lcnJvciAuYXR0cmlidXRpb24gZ21wLWludGVybmFsLWF0dHJpYnV0aW9ue21hcmdpbjowfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5sb2FkaW5nIC5iYXNpYy1pbmZvIC5hdHRyaWJ1dGlvbntwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpIDAgMCAwfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5sb2FkaW5nIC5iYXNpYy1pbmZvIC5hdHRyaWJ1dGlvbiBnbXAtaW50ZXJuYWwtYXR0cmlidXRpb257bWFyZ2luLXRvcDowO3BhZGRpbmc6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuZW1wdHl7cGFkZGluZy10b3A6NDhweH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QgLmhlcm8taW1hZ2V7LXdlYmtpdC1mbGV4LXNocmluazowOy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QgLmhlcm8taW1hZ2UgZ21wLWludGVybmFsLWNvbGxhZ2V7YXNwZWN0LXJhdGlvOjEuNS8xO2JvcmRlci1yYWRpdXM6MH1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyICh3aWR0aCA8IDM1MHB4KXsuY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCBzZWN0aW9uLmhlcm8taW1hZ2V7ZGlzcGxheTpub25lfX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyICh3aWR0aCA+PSAyMDBweCl7LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24uY29uZGVuc2Vke2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAub3Blbi1pbi1tYXBzLWJ1dHRvbi5taW5pbWFse2Rpc3BsYXk6YmxvY2s7aGVpZ2h0Oi13ZWJraXQtZml0LWNvbnRlbnQ7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O21hcmdpbi1ib3R0b206YXV0bzttYXJnaW4tbGVmdDphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX19QGNvbnRhaW5lciBjb250ZW50LWNvbnRhaW5lciAod2lkdGggPCAyMDBweCl7LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24uY29uZGVuc2Vke2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTp1bnNldDttYXJnaW4tbGVmdDp1bnNldDt2aXNpYmlsaXR5OnZpc2libGV9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLm9wZW4taW4tbWFwcy1idXR0b24ubWluaW1hbHtkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsOm5vdCguZXJyb3IsLmVtcHR5KXstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOnN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOnN0YXJ0Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCkgdmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KSAwfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsOm5vdCguZXJyb3IsLmVtcHR5KSBzZWN0aW9uLmhlcm8taW1hZ2V7cGFkZGluZy1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbDpub3QoLmVycm9yLC5lbXB0eSkgZ21wLWludGVybmFsLWxpbmstYnV0dG9ue2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcixsaWdodC1kYXJrKCMwMTRmNWEsIzlmZWZmZikpfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsLmxvYWRpbmcgLmJhc2ljLWluZm8gLnNwaW5uZXItY29udGFpbmVye21hcmdpbi1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTstd2Via2l0LW1hcmdpbi1zdGFydDowOy1tb3otbWFyZ2luLXN0YXJ0OjA7bWFyZ2luLWlubGluZS1zdGFydDowO3BhZGRpbmctYm90dG9tOjI4cHg7LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OjA7LW1vei1wYWRkaW5nLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MDtwYWRkaW5nLXRvcDowfS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsIC5iYXNpYy1pbmZve3BhZGRpbmc6MDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAuYnV0dG9uLXNlY3Rpb257LXdlYmtpdC1wYWRkaW5nLXN0YXJ0OjA7LW1vei1wYWRkaW5nLXN0YXJ0OjA7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbCAuaGVyby1pbWFnZXstd2Via2l0LWFsaWduLXNlbGY6c3RhcnQ7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOnN0YXJ0Oy13ZWJraXQtZmxleDowIDAgOTBweDstbXMtZmxleDowIDAgOTBweDtmbGV4OjAgMCA5MHB4O2hlaWdodDo5MHB4fS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsIC5oZXJvLWltYWdlIGdtcC1pbnRlcm5hbC1jb2xsYWdle2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLWdtcC10aHVtYm5haWwtYm9yZGVyLXJhZGl1cyw4cHgpO2hlaWdodDoxMDAlO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5jb250YWluZXIucGxhY2UtY29tcGFjdC52ZXJ0aWNhbDpub3QoLmVycm9yLC5lbXB0eSkgZ21wLWludGVybmFsLWxpbmstYnV0dG9ue21hcmdpbi10b3A6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7cGFkZGluZzo4cHggMH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QudmVydGljYWwubG9hZGluZyAuYmFzaWMtaW5mbyAuc3Bpbm5lci1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTo2cHg7bWFyZ2luLXRvcDo2cHg7cGFkZGluZy1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLW1lZGl1bSwxMnB4KTtwYWRkaW5nLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpfS5vdXRlci1jb250YWluZXJ7Y29udGFpbmVyLW5hbWU6Y29udGVudC1jb250YWluZXI7Y29udGFpbmVyLXR5cGU6aW5saW5lLXNpemV9LmFjdGlvbi1jb3JuZXItb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tb3otYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7LW1zLWZsZXgtcGFjazplbmQ7Z2FwOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmFjdGlvbi1jb3JuZXItb3ZlcmxheSBnbXAtcGxhY2UtYnV0dG9uLC5hY3Rpb24tY29ybmVyLW92ZXJsYXkgZ21wLXBsYWNlLWxpbmssLmFjdGlvbi1jb3JuZXItb3ZlcmxheSBzbG90e3BvaW50ZXItZXZlbnRzOmF1dG99LmJhc2ljLWluZm8gLmFjdGlvbnMtbWFpbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZmxvdzpyb3cgd3JhcDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwO2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX06aG9zdCgucGxhY2Utc2VhcmNoLXZlcnRpY2FsLWNhcmQpe2JvcmRlci1yYWRpdXM6dmFyKC0tZ21wLWNhcmQtYm9yZGVyLXJhZGl1cywxNnB4KTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEwMCU7d2lkdGg6MjAwcHh9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0LnZlcnRpY2FsIC5iYXNpYy1pbmZve2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZy1ib3R0b206dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWxhcmdlLDE2cHgpO3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QudmVydGljYWw6aGFzKC5oZXJvLWltYWdlLHNsb3RbbmFtZT1tZWRpYSBpXSxnbXAtcGxhY2UtbWVkaWEpIC5iYXNpYy1pbmZve3BhZGRpbmctdG9wOnZhcigtLWdtcC1tYXQtc3BhY2luZy1tZWRpdW0sMTJweCl9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWx7LS1oZXJvLWltYWdlLWhlaWdodDo5MHB4fS5jb250YWluZXIucGxhY2UtY29tcGFjdC5ob3Jpem9udGFsIC5iYXNpYy1pbmZve3BhZGRpbmctYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KX0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbC5tZWRpYS1zaXplLXNtYWxsey0taGVyby1pbWFnZS1oZWlnaHQ6NjBweH0uY29udGFpbmVyLnBsYWNlLWNvbXBhY3QuaG9yaXpvbnRhbC5tZWRpYS1zaXplLW1lZGl1bXstLWhlcm8taW1hZ2UtaGVpZ2h0Ojc1cHh9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwubWVkaWEtc2l6ZS1sYXJnZXstLWhlcm8taW1hZ2UtaGVpZ2h0OjkwcHh9LmNvbnRhaW5lci5wbGFjZS1jb21wYWN0Lmhvcml6b250YWwgLmhlcm8taW1hZ2V7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgdmFyKC0taGVyby1pbWFnZS1oZWlnaHQpOy1tb3otYm94LWZsZXg6MDstbXMtZmxleDowIDAgdmFyKC0taGVyby1pbWFnZS1oZWlnaHQpO2ZsZXg6MCAwIHZhcigtLWhlcm8taW1hZ2UtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0taGVyby1pbWFnZS1oZWlnaHQpfSJdKTt2YXIgQzg9ITEsTUViPXpBYihEJCksRDg9Y2xhc3MgZXh0ZW5kcyBNRWJ7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy54aShhLEQ4LCJQbGFjZVNlYXJjaExpc3RJdGVtRWxlbWVudCIpO2lmKCFDOCl0aHJvdyBFcnJvcigiUGxhY2VTZWFyY2hMaXN0SXRlbUVsZW1lbnQgaXMgbm90IGFsbG93ZWQgdG8gYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LiIpO31Xcygpe3JldHVybiA0fX07Xy54bygiZ21wLWludGVybmFsLXBsYWNlLXNlYXJjaC1saXN0LWl0ZW0iLEQ4KTt2YXIgQ0FiPW5ldyBTZXQoWy4uLkMkLC4uLm44XSksTkViPWZ1bmN0aW9uKGEpe3JldHVybnthazpiPT5iP2IudHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbikubWFwKGM9PmEoXy50byhjKSkpOm51bGwsTGo6Yj0+YiYmYi5sZW5ndGghPT0wP2IubWFwKGM9PnR5cGVvZiBjPT09InN0cmluZyI/YHBsYWNlcy8ke18udG8oYyl9YDpgcGxhY2VzLyR7Yy5pZH1gKS5qb2luKCIgIik6bnVsbH19KGE9Pm5ldyAkNyh7aWQ6YX0pKSxQJD1jbGFzcyBleHRlbmRzIE8ke0RoKCl7cmV0dXJuW2s4LGw4XX1jb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnJoPXZvaWQgMDt0aGlzLklMPW5ldyBTZXQoW2s4LGw4XSk7dGhpcy5zaD0hMTt0aGlzLmFuPW5ldyBlOSg4KTt0aGlzLnhoPSJBZHZhbmNlZCBQbGFjZSBMaXN0Ijt0aGlzLnhpKGEsUCQsIkFkdmFuY2VkUGxhY2VMaXN0RWxlbWVudCIpO3RoaXMucGxhY2VzPWEucGxhY2VzfXNldCBwbGFjZXMoYSl7dmFyIGI9dGhpcy5yaDsKYT1fLmtwKHRoaXMsInBsYWNlcyIsXy5NbShfLkhtKF8uS20oW18uRW0oJDcsIlBsYWNlIiksXy5kc10pKSksYSk7dGhpcy5yaD1hPT09dm9pZCAwfHxhPT09bnVsbD9hOkFycmF5LmZyb20oYSxjPT50eXBlb2YgYz09PSJzdHJpbmciP25ldyAkNyh7aWQ6Xy50byhjKX0pOmMpO18uY3AodGhpcywicGxhY2VzIixiKX1nZXQgcGxhY2VzKCl7cmV0dXJuIHRoaXMucmghPT12b2lkIDAmJnRoaXMucmghPT1udWxsP3RoaXMucmgubWFwKGE9Pmk4KGEpKToodGhpcy5Gbz8/W10pLm1hcChhPT5pOChhLnBsYWNlKSl9QmgoYSxiKXtyZXR1cm4gdkFiKGEsYil9d2goKXtyZXR1cm4gdGhpcy54ai5yZXF1ZXN0IT09dm9pZCAwP3RoaXMueGoucmVxdWVzdDp0aGlzLnJoPz92b2lkIDB9R2goKXt2YXIgYT10aGlzLndoKCk7YSYmKGE9YS5maWx0ZXIoYj0+YiBpbnN0YW5jZW9mICQ3KSxFQWIodGhpcyxhKSl9eWgoYSl7cmV0dXJuIGF9Q2goYSl7cmV0dXJuIEFBYihhKX19OwpQJC5wcm90b3R5cGUuY29uc3RydWN0b3I9UCQucHJvdG90eXBlLmNvbnN0cnVjdG9yO1AkLklpPXtLaToyMTYzNTcsSmk6MjE2MzU1fTtfLkQoW18udHEoe0toOiJwbGFjZXMiLGZpOk5FYixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxQJC5wcm90b3R5cGUsInBsYWNlcyIsbnVsbCk7dmFyIE9FYj0hMTt2YXIgUEViPXpBYihFJCksUUViPWNsYXNzIGV4dGVuZHMgUEVie2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMueGkoYSxRRWIsIkFkdmFuY2VkUGxhY2VTZWFyY2hMaXN0SXRlbUVsZW1lbnQiKTt0aHJvdyBFcnJvcigiQWR2YW5jZWRQbGFjZVNlYXJjaExpc3RJdGVtRWxlbWVudCBpcyBub3QgYWxsb3dlZCB0byBiZSBpbnN0YW50aWF0ZWQgZGlyZWN0bHkuIik7fVdzKCl7cmV0dXJuIDV9fTtfLnhvKCJnbXAtaW50ZXJuYWwtYWR2YW5jZWQtcGxhY2Utc2VhcmNoLWxpc3QtaXRlbSIsUUViKTt2YXIgUSQ9Y2xhc3MgZXh0ZW5kcyBxOXtzZXQgZXhjbHVkZWRQcmltYXJ5VHlwZXMoYSl7dGhpcy55aD0oYT1fLmtwKHRoaXMsImV4Y2x1ZGVkUHJpbWFyeVR5cGVzIixfLk1tKG03KSxhKSkmJmEubGVuZ3RoP2E6bnVsbH1nZXQgZXhjbHVkZWRQcmltYXJ5VHlwZXMoKXtyZXR1cm4gdGhpcy55aH1zZXQgZXhjbHVkZWRUeXBlcyhhKXt0aGlzLkJoPShhPV8ua3AodGhpcywiZXhjbHVkZWRUeXBlcyIsXy5NbShtNyksYSkpJiZhLmxlbmd0aD9hOm51bGx9Z2V0IGV4Y2x1ZGVkVHlwZXMoKXtyZXR1cm4gdGhpcy5CaH1zZXQgaW5jbHVkZWRQcmltYXJ5VHlwZXMoYSl7dGhpcy5zaD0oYT1fLmtwKHRoaXMsImluY2x1ZGVkUHJpbWFyeVR5cGVzIixfLk1tKG03KSxhKSkmJmEubGVuZ3RoP2E6bnVsbH1nZXQgaW5jbHVkZWRQcmltYXJ5VHlwZXMoKXtyZXR1cm4gdGhpcy5zaH1zZXQgaW5jbHVkZWRUeXBlcyhhKXt0aGlzLkNoPShhPV8ua3AodGhpcywiaW5jbHVkZWRUeXBlcyIsXy5NbShtNyksCmEpKSYmYS5sZW5ndGg/YTpudWxsfWdldCBpbmNsdWRlZFR5cGVzKCl7cmV0dXJuIHRoaXMuQ2h9c2V0IGxvY2F0aW9uUmVzdHJpY3Rpb24oYSl7dGhpcy50aD1fLmtwKHRoaXMsImxvY2F0aW9uUmVzdHJpY3Rpb24iLF8uTW0oZTYpLGEpfHxudWxsfWdldCBsb2NhdGlvblJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMudGh9c2V0IG1heFJlc3VsdENvdW50KGEpe3RoaXMud2g9Xy5rcCh0aGlzLCJtYXhSZXN1bHRDb3VudCIsXy5NbShfLkxtKF8uUG0oMSksXy5PRSgyMCkpKSxhKXx8bnVsbH1nZXQgbWF4UmVzdWx0Q291bnQoKXtyZXR1cm4gdGhpcy53aH1zZXQgcmFua1ByZWZlcmVuY2UoYSl7dGhpcy54aD1fLmtwKHRoaXMsInJhbmtQcmVmZXJlbmNlIixfLk1tKF8uRm0obzkpKSxhKXx8bnVsbH1nZXQgcmFua1ByZWZlcmVuY2UoKXtyZXR1cm4gdGhpcy54aH1zZXQgZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZChhKXt0aGlzLnJoPV8ua3AodGhpcywiZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZCIsCl8uY3MsYSk/P251bGx9Z2V0IGZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQoKXtyZXR1cm4gdGhpcy5yaH1jb25zdHJ1Y3RvcihhPXt9KXtzdXBlcihhKTt0aGlzLnhoPXRoaXMud2g9dGhpcy50aD10aGlzLkNoPXRoaXMuc2g9dGhpcy5yaD10aGlzLkJoPXRoaXMueWg9bnVsbDt0aGlzLmV4Y2x1ZGVkUHJpbWFyeVR5cGVzPWEuZXhjbHVkZWRQcmltYXJ5VHlwZXM7dGhpcy5leGNsdWRlZFR5cGVzPWEuZXhjbHVkZWRUeXBlczt0aGlzLmZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQ9YS5mdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkO3RoaXMuaW5jbHVkZWRQcmltYXJ5VHlwZXM9YS5pbmNsdWRlZFByaW1hcnlUeXBlczt0aGlzLmluY2x1ZGVkVHlwZXM9YS5pbmNsdWRlZFR5cGVzO3RoaXMubG9jYXRpb25SZXN0cmljdGlvbj1hLmxvY2F0aW9uUmVzdHJpY3Rpb247dGhpcy5tYXhSZXN1bHRDb3VudD1hLm1heFJlc3VsdENvdW50O3RoaXMucmFua1ByZWZlcmVuY2U9CmEucmFua1ByZWZlcmVuY2U7dGhpcy54aShhLFEkLCJQbGFjZU5lYXJieVNlYXJjaFJlcXVlc3RFbGVtZW50Iil9cWgoKXtyZXR1cm57ZXhjbHVkZWRQcmltYXJ5VHlwZXM6dGhpcy5leGNsdWRlZFByaW1hcnlUeXBlc3x8dm9pZCAwLGV4Y2x1ZGVkVHlwZXM6dGhpcy5leGNsdWRlZFR5cGVzfHx2b2lkIDAsaW5jbHVkZWRQcmltYXJ5VHlwZXM6dGhpcy5pbmNsdWRlZFByaW1hcnlUeXBlc3x8dm9pZCAwLGluY2x1ZGVkVHlwZXM6dGhpcy5pbmNsdWRlZFR5cGVzfHx2b2lkIDAsbG9jYXRpb25SZXN0cmljdGlvbjp0aGlzLmxvY2F0aW9uUmVzdHJpY3Rpb258fHZvaWQgMCxtYXhSZXN1bHRDb3VudDp0aGlzLm1heFJlc3VsdENvdW50fHx2b2lkIDAscmFua1ByZWZlcmVuY2U6dGhpcy5yYW5rUHJlZmVyZW5jZXx8dm9pZCAwLGZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQ6dGhpcy5mdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkPz92b2lkIDB9fX07ClEkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1RJC5wcm90b3R5cGUuY29uc3RydWN0b3I7USQuSWk9e0tpOjI2NTM5MSxKaToyNjUzOTB9O18uRChbXy50cSh7S2g6ImV4Y2x1ZGVkLXByaW1hcnktdHlwZXMiLHR5cGU6QXJyYXksZmk6Xy5EcyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxRJC5wcm90b3R5cGUsImV4Y2x1ZGVkUHJpbWFyeVR5cGVzIixudWxsKTtfLkQoW18udHEoe0toOiJleGNsdWRlZC10eXBlcyIsdHlwZTpBcnJheSxmaTpfLkRzLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFEkLnByb3RvdHlwZSwiZXhjbHVkZWRUeXBlcyIsbnVsbCk7Cl8uRChbXy50cSh7S2g6ImluY2x1ZGVkLXByaW1hcnktdHlwZXMiLHR5cGU6QXJyYXksZmk6Xy5EcyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxRJC5wcm90b3R5cGUsImluY2x1ZGVkUHJpbWFyeVR5cGVzIixudWxsKTtfLkQoW18udHEoe0toOiJpbmNsdWRlZC10eXBlcyIsdHlwZTpBcnJheSxmaTpfLkRzLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFEkLnByb3RvdHlwZSwiaW5jbHVkZWRUeXBlcyIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoibG9jYXRpb24tcmVzdHJpY3Rpb24iLGZpOl8uUWhhLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFEkLnByb3RvdHlwZSwibG9jYXRpb25SZXN0cmljdGlvbiIsbnVsbCk7Cl8uRChbXy50cSh7S2g6Im1heC1yZXN1bHQtY291bnQiLHR5cGU6TnVtYmVyLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFEkLnByb3RvdHlwZSwibWF4UmVzdWx0Q291bnQiLG51bGwpO18uRChbXy50cSh7S2g6InJhbmstcHJlZmVyZW5jZSIsZmk6Xy53byhvOSksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUSQucHJvdG90eXBlLCJyYW5rUHJlZmVyZW5jZSIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoiZnV0dXJlLW9wZW5pbmctYnVzaW5lc3Nlcy1pbmNsdWRlZCIsdHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFEkLnByb3RvdHlwZSwiZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZCIsbnVsbCk7Cl8ueG8oImdtcC1wbGFjZS1uZWFyYnktc2VhcmNoLXJlcXVlc3QiLFEkKTt2YXIgUiQ9Y2xhc3MgZXh0ZW5kcyBxOXtzZXQgdGV4dFF1ZXJ5KGEpe3RoaXMuTGg9Xy5rcCh0aGlzLCJ0ZXh0UXVlcnkiLF8uTW0oXy5kcyksYSl8fG51bGx9Z2V0IHRleHRRdWVyeSgpe3JldHVybiB0aGlzLkxofXNldCBldkNvbm5lY3RvclR5cGVzKGEpe3RoaXMueWg9KGE9Xy5rcCh0aGlzLCJldkNvbm5lY3RvclR5cGVzIixfLk1tKHhFYiksYSkpJiZhLmxlbmd0aD9hOm51bGx9Z2V0IGV2Q29ubmVjdG9yVHlwZXMoKXtyZXR1cm4gdGhpcy55aH1zZXQgZXZNaW5pbXVtQ2hhcmdpbmdSYXRlS3coYSl7dGhpcy5CaD1fLmtwKHRoaXMsImV2TWluaW11bUNoYXJnaW5nUmF0ZUt3IixfLk1tKF8uWnIpLGEpfHxudWxsfWdldCBldk1pbmltdW1DaGFyZ2luZ1JhdGVLdygpe3JldHVybiB0aGlzLkJofXNldCBmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkKGEpe3RoaXMucmg9Xy5rcCh0aGlzLCJmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkIixfLmNzLGEpPz9udWxsfWdldCBmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkKCl7cmV0dXJuIHRoaXMucmh9c2V0IGluY2x1ZGVkVHlwZShhKXt0aGlzLkNoPQpfLmtwKHRoaXMsImluY2x1ZGVkVHlwZSIsXy5NbShfLmRzKSxhKXx8bnVsbH1nZXQgaW5jbHVkZWRUeXBlKCl7cmV0dXJuIHRoaXMuQ2h9c2V0IGlzT3Blbk5vdyhhKXt0aGlzLkRoPV8ua3AodGhpcywiaXNPcGVuTm93IixfLmNzLGEpPz9udWxsfWdldCBpc09wZW5Ob3coKXtyZXR1cm4gdGhpcy5EaH1zZXQgbG9jYXRpb25CaWFzKGEpe2lmKChhPV8ua3AodGhpcywibG9jYXRpb25CaWFzIixfLk1tKCR5YiksYSkpJiZ0aGlzLmxvY2F0aW9uUmVzdHJpY3Rpb24pdGhyb3cgXy5pcCh0aGlzLCJsb2NhdGlvbkJpYXMiLCJDYW5ub3Qgc2V0IGJvdGggbG9jYXRpb25CaWFzIGFuZCBsb2NhdGlvblJlc3RyaWN0aW9uLiIpO3RoaXMuc2g9YXx8bnVsbH1nZXQgbG9jYXRpb25CaWFzKCl7cmV0dXJuIHRoaXMuc2h9c2V0IGxvY2F0aW9uUmVzdHJpY3Rpb24oYSl7aWYoKGE9Xy5rcCh0aGlzLCJsb2NhdGlvblJlc3RyaWN0aW9uIixfLk1tKF8uVG4pLGEpKSYmdGhpcy5sb2NhdGlvbkJpYXMpdGhyb3cgXy5pcCh0aGlzLAoibG9jYXRpb25SZXN0cmljdGlvbiIsIkNhbm5vdCBzZXQgYm90aCBsb2NhdGlvbkJpYXMgYW5kIGxvY2F0aW9uUmVzdHJpY3Rpb24uIik7dGhpcy50aD1hfHxudWxsfWdldCBsb2NhdGlvblJlc3RyaWN0aW9uKCl7cmV0dXJuIHRoaXMudGh9c2V0IG1heFJlc3VsdENvdW50KGEpe3RoaXMud2g9Xy5rcCh0aGlzLCJtYXhSZXN1bHRDb3VudCIsXy5NbShfLkxtKF8uUG0oMSksXy5PRSgyMCkpKSxhKXx8bnVsbH1nZXQgbWF4UmVzdWx0Q291bnQoKXtyZXR1cm4gdGhpcy53aH1zZXQgbWluUmF0aW5nKGEpe3RoaXMuRmg9Xy5rcCh0aGlzLCJtaW5SYXRpbmciLF8uTW0oXy5MbShfLlBtKDApLF8uT0UoNSkpKSxhKT8/bnVsbH1nZXQgbWluUmF0aW5nKCl7cmV0dXJuIHRoaXMuRmh9c2V0IHByaWNlTGV2ZWxzKGEpe3RoaXMuR2g9KGE9Xy5rcCh0aGlzLCJwcmljZUxldmVscyIsXy5NbSh3RWIpLGEpKSYmYS5sZW5ndGg/YTpudWxsfWdldCBwcmljZUxldmVscygpe3JldHVybiB0aGlzLkdofXNldCByYW5rUHJlZmVyZW5jZShhKXt0aGlzLnhoPQpfLmtwKHRoaXMsInJhbmtQcmVmZXJlbmNlIixfLk1tKF8uRm0objkpKSxhKXx8bnVsbH1nZXQgcmFua1ByZWZlcmVuY2UoKXtyZXR1cm4gdGhpcy54aH1zZXQgdXNlU3RyaWN0VHlwZUZpbHRlcmluZyhhKXt0aGlzLlBoPV8ua3AodGhpcywidXNlU3RyaWN0VHlwZUZpbHRlcmluZyIsXy5jcyxhKT8/bnVsbH1nZXQgdXNlU3RyaWN0VHlwZUZpbHRlcmluZygpe3JldHVybiB0aGlzLlBofWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuUGg9dGhpcy54aD10aGlzLkdoPXRoaXMuRmg9dGhpcy53aD10aGlzLnRoPXRoaXMuc2g9dGhpcy5EaD10aGlzLkNoPXRoaXMucmg9dGhpcy5CaD10aGlzLnloPXRoaXMuTGg9bnVsbDt0aGlzLnRleHRRdWVyeT1hLnRleHRRdWVyeTt0aGlzLmV2Q29ubmVjdG9yVHlwZXM9YS5ldkNvbm5lY3RvclR5cGVzO3RoaXMuZXZNaW5pbXVtQ2hhcmdpbmdSYXRlS3c9YS5ldk1pbmltdW1DaGFyZ2luZ1JhdGVLdzt0aGlzLmZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQ9CmEuZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZDt0aGlzLmluY2x1ZGVkVHlwZT1hLmluY2x1ZGVkVHlwZTt0aGlzLmlzT3Blbk5vdz1hLmlzT3Blbk5vdzt0aGlzLmxvY2F0aW9uQmlhcz1hLmxvY2F0aW9uQmlhczt0aGlzLmxvY2F0aW9uUmVzdHJpY3Rpb249YS5sb2NhdGlvblJlc3RyaWN0aW9uO3RoaXMubWF4UmVzdWx0Q291bnQ9YS5tYXhSZXN1bHRDb3VudDt0aGlzLm1pblJhdGluZz1hLm1pblJhdGluZzt0aGlzLnByaWNlTGV2ZWxzPWEucHJpY2VMZXZlbHM7dGhpcy5yYW5rUHJlZmVyZW5jZT1hLnJhbmtQcmVmZXJlbmNlO3RoaXMudXNlU3RyaWN0VHlwZUZpbHRlcmluZz1hLnVzZVN0cmljdFR5cGVGaWx0ZXJpbmc7dGhpcy54aShhLFIkLCJQbGFjZVRleHRTZWFyY2hSZXF1ZXN0RWxlbWVudCIpfXFoKCl7cmV0dXJue3RleHRRdWVyeTp0aGlzLnRleHRRdWVyeXx8dm9pZCAwLGV2Q29ubmVjdG9yVHlwZXM6dGhpcy5ldkNvbm5lY3RvclR5cGVzfHx2b2lkIDAsZXZNaW5pbXVtQ2hhcmdpbmdSYXRlS3c6dGhpcy5ldk1pbmltdW1DaGFyZ2luZ1JhdGVLd3x8CnZvaWQgMCxmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkOnRoaXMuZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZD8/dm9pZCAwLGluY2x1ZGVkVHlwZTp0aGlzLmluY2x1ZGVkVHlwZXx8dm9pZCAwLGlzT3Blbk5vdzp0aGlzLmlzT3Blbk5vdz8/dm9pZCAwLGxvY2F0aW9uQmlhczp0aGlzLmxvY2F0aW9uQmlhc3x8dm9pZCAwLGxvY2F0aW9uUmVzdHJpY3Rpb246dGhpcy5sb2NhdGlvblJlc3RyaWN0aW9ufHx2b2lkIDAsbWF4UmVzdWx0Q291bnQ6dGhpcy5tYXhSZXN1bHRDb3VudHx8dm9pZCAwLG1pblJhdGluZzp0aGlzLm1pblJhdGluZz8/dm9pZCAwLHByaWNlTGV2ZWxzOnRoaXMucHJpY2VMZXZlbHN8fHZvaWQgMCxyYW5rUHJlZmVyZW5jZTp0aGlzLnJhbmtQcmVmZXJlbmNlfHx2b2lkIDAsdXNlU3RyaWN0VHlwZUZpbHRlcmluZzp0aGlzLnVzZVN0cmljdFR5cGVGaWx0ZXJpbmc/P3ZvaWQgMH19fTtSJC5wcm90b3R5cGUuY29uc3RydWN0b3I9UiQucHJvdG90eXBlLmNvbnN0cnVjdG9yOwpSJC5JaT17S2k6MjYzOTg1LEppOjI2NDk1N307Xy5EKFtfLnRxKHtLaDoidGV4dC1xdWVyeSIsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUiQucHJvdG90eXBlLCJ0ZXh0UXVlcnkiLG51bGwpO18uRChbXy50cSh7S2g6ImV2LWNvbm5lY3Rvci10eXBlcyIsdHlwZTpBcnJheSxmaTpPd2IobDkpLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFIkLnByb3RvdHlwZSwiZXZDb25uZWN0b3JUeXBlcyIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoiZXYtbWluaW11bS1jaGFyZ2luZy1yYXRlLWt3Iix0eXBlOk51bWJlcixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxSJC5wcm90b3R5cGUsImV2TWluaW11bUNoYXJnaW5nUmF0ZUt3IixudWxsKTsKXy5EKFtfLnRxKHtLaDoiZnV0dXJlLW9wZW5pbmctYnVzaW5lc3Nlcy1pbmNsdWRlZCIsdHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFIkLnByb3RvdHlwZSwiZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZCIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoiaW5jbHVkZWQtdHlwZSIsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUiQucHJvdG90eXBlLCJpbmNsdWRlZFR5cGUiLG51bGwpO18uRChbXy50cSh7S2g6ImlzLW9wZW4tbm93Iix0eXBlOkJvb2xlYW4sTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUiQucHJvdG90eXBlLCJpc09wZW5Ob3ciLG51bGwpOwpfLkQoW18udHEoe0toOiJsb2NhdGlvbi1iaWFzIixmaTp7YWs6YT0+YT09PSJJUF9CSUFTIj9hOl8uRnMuYWsoYSksTGo6YT0+dHlwZW9mIGE9PT0ic3RyaW5nIj9hOl8uRnMuTGooYSl9LE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFIkLnByb3RvdHlwZSwibG9jYXRpb25CaWFzIixudWxsKTtfLkQoW18udHEoe0toOiJsb2NhdGlvbi1yZXN0cmljdGlvbiIsZmk6Xy5GcyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxSJC5wcm90b3R5cGUsImxvY2F0aW9uUmVzdHJpY3Rpb24iLG51bGwpOwpfLkQoW18udHEoe0toOiJtYXgtcmVzdWx0LWNvdW50Iix0eXBlOk51bWJlcixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxSJC5wcm90b3R5cGUsIm1heFJlc3VsdENvdW50IixudWxsKTtfLkQoW18udHEoe0toOiJtaW4tcmF0aW5nIix0eXBlOk51bWJlcixOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxSJC5wcm90b3R5cGUsIm1pblJhdGluZyIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoicHJpY2UtbGV2ZWxzIix0eXBlOkFycmF5LGZpOk93YihtOSksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUiQucHJvdG90eXBlLCJwcmljZUxldmVscyIsbnVsbCk7Cl8uRChbXy50cSh7S2g6InJhbmstcHJlZmVyZW5jZSIsZmk6Xy53byhuOSksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sUiQucHJvdG90eXBlLCJyYW5rUHJlZmVyZW5jZSIsbnVsbCk7Xy5EKFtfLnRxKHtLaDoidXNlLXN0cmljdC10eXBlLWZpbHRlcmluZyIsdHlwZTpCb29sZWFuLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFIkLnByb3RvdHlwZSwidXNlU3RyaWN0VHlwZUZpbHRlcmluZyIsbnVsbCk7Xy54bygiZ21wLXBsYWNlLXRleHQtc2VhcmNoLXJlcXVlc3QiLFIkKTt2YXIgRkFiPW5ldyBTZXQoWy4uLkMkLC4uLm44XSksUyQ9Y2xhc3MgZXh0ZW5kcyBPJHtEaCgpe3JldHVybltSJCxRJF19Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5hbj1uZXcgZTkoMik7dGhpcy54aD0iUGxhY2UgU2VhcmNoIjt0aGlzLnhpKGEsUyQsIlBsYWNlU2VhcmNoRWxlbWVudCIpfUdoKCl7dmFyIGE9dGhpcy53aCgpO2EmJihhLnRleHRRdWVyeSE9PXZvaWQgMD9IQWIodGhpcyx7dGV4dFF1ZXJ5OmEudGV4dFF1ZXJ5LGV2U2VhcmNoT3B0aW9uczp7Y29ubmVjdG9yVHlwZXM6YS5ldkNvbm5lY3RvclR5cGVzLG1pbmltdW1DaGFyZ2luZ1JhdGVLdzphLmV2TWluaW11bUNoYXJnaW5nUmF0ZUt3fSxpbmNsdWRlZFR5cGU6YS5pbmNsdWRlZFR5cGUsaXNPcGVuTm93OmEuaXNPcGVuTm93LGxvY2F0aW9uQmlhczp0eXBlb2YgYS5sb2NhdGlvbkJpYXM9PT0ic3RyaW5nIj92b2lkIDA6YS5sb2NhdGlvbkJpYXMsbG9jYXRpb25SZXN0cmljdGlvbjphLmxvY2F0aW9uUmVzdHJpY3Rpb24sCm1heFJlc3VsdENvdW50OmEubWF4UmVzdWx0Q291bnQsbWluUmF0aW5nOmEubWluUmF0aW5nLHByaWNlTGV2ZWxzOmEucHJpY2VMZXZlbHMscmFua1ByZWZlcmVuY2U6YS5yYW5rUHJlZmVyZW5jZSx1c2VTdHJpY3RUeXBlRmlsdGVyaW5nOmEudXNlU3RyaWN0VHlwZUZpbHRlcmluZyxmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkOmEuZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZD8/dm9pZCAwfSk6YS5sb2NhdGlvblJlc3RyaWN0aW9uIT09dm9pZCAwJiZhLnRleHRRdWVyeT09PXZvaWQgMCYmSUFiKHRoaXMsYSkpfXloKGEsYil7Zm9yKGxldCB7eHU6YyxkYXRhOmR9b2YgYilzd2l0Y2goYyl7Y2FzZSBSJDpiPWQ7aWYoYi50ZXh0UXVlcnkpcmV0dXJuey4uLmEscmVxdWVzdDpifTtfLmxFKHRoaXMsIklnbm9yaW5nIDxnbXAtcGxhY2UtdGV4dC1zZWFyY2gtcmVxdWVzdD4gd2l0aCBubyB0ZXh0IHF1ZXJ5LiIpO2JyZWFrO2Nhc2UgUSQ6Yj1kO2lmKGIubG9jYXRpb25SZXN0cmljdGlvbilyZXR1cm57Li4uYSwKcmVxdWVzdDpifTtfLmxFKHRoaXMsIklnbm9yaW5nIDxnbXAtcGxhY2UtbmVhcmJ5LXNlYXJjaC1yZXF1ZXN0PiB3aXRoIG5vIGxvY2F0aW9uIHJlc3RyaWN0aW9uLiIpfXJldHVybiBhfUNoKGEpe3JldHVybiBBQWIoYSl9fTtTJC5wcm90b3R5cGUuY29uc3RydWN0b3I9UyQucHJvdG90eXBlLmNvbnN0cnVjdG9yO1MkLklpPXtLaToyMTYzNTcsSmk6MjE2MzU1fTtfLnhvKCJnbXAtcGxhY2Utc2VhcmNoIixTJCk7dmFyIFJFYj0hMTt2YXIgRTg9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnFoPWE7dGhpcy5URT1iO3RoaXMuWEQ9Yzt0aGlzLmZGPWQ7dGhpcy5HRT1lfWdldCBwbGFjZVByZWRpY3Rpb24oKXtpZihfLnl1KHRoaXMucWgsWkJiLDEsJEJiKSl7dmFyIGE9Xy5ZZyh0aGlzLnFoLFpCYiwxLCRCYik7YT1uZXcgVCQoYSx0aGlzLlRFLHRoaXMuWEQsdGhpcy5mRix0aGlzLkdFKX1lbHNlIGE9bnVsbDtyZXR1cm4gYX19O0U4LmZldGNoQXV0b2NvbXBsZXRlU3VnZ2VzdGlvbnM9S0FiOwp2YXIgVCQ9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnV0PWE7dGhpcy5URT1iO3RoaXMuWEQ9Yzt0aGlzLmZGPWQ7dGhpcy5HRT1lfWdldCBwbGFjZUlkKCl7cmV0dXJuIF8uSCh0aGlzLnV0LDIpfWdldCB0ZXh0KCl7dmFyIGE9dGhpcy51dC5jaSgpPz9udWxsO3JldHVybiBuZXcgVSQoYSl9Z2V0IG1haW5UZXh0KCl7aWYoXy5BZyh0aGlzLnV0LFU4LDQpPy5yaCgpKXt2YXIgYT1fLkFnKHRoaXMudXQsVTgsNCk7YT1fLkFnKGEsVDgsMSk7YT1uZXcgVSQoYSl9ZWxzZSBhPW51bGw7cmV0dXJuIGF9Z2V0IHNlY29uZGFyeVRleHQoKXtpZihfLkFnKHRoaXMudXQsVTgsNCk/LnRoKCkpe3ZhciBhPV8uQWcodGhpcy51dCxVOCw0KTthPV8uQWcoYSxUOCwyKTthPW5ldyBVJChhKX1lbHNlIGE9bnVsbDtyZXR1cm4gYX1nZXQgdHlwZXMoKXtyZXR1cm4gdGhpcy51dD8udGgoKT8/W119Z2V0IGRpc3RhbmNlTWV0ZXJzKCl7cmV0dXJuIHRoaXMuR0U9PW51bGx8fHRoaXMudHlwZXMuaW5jbHVkZXMoInJvdXRlIik/Cm51bGw6dGhpcy51dD8ucmgoKX10b1BsYWNlKCl7dmFyIGE9bmV3ICQ3KHtpZDp0aGlzLnBsYWNlSWQscmVxdWVzdGVkTGFuZ3VhZ2U6dGhpcy5YRCxyZXF1ZXN0ZWRSZWdpb246dGhpcy5URX0pO2EueXAodGhpcy5mRik7cmV0dXJuIGF9YXN5bmMgZmV0Y2hBZGRyZXNzVmFsaWRhdGlvbigpe3Rocm93IEVycm9yKCJUaGlzIG1ldGhvZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiBvZiB0aGUgQVBJLiIpO319O1QkLnByb3RvdHlwZS5mZXRjaEFkZHJlc3NWYWxpZGF0aW9uPVQkLnByb3RvdHlwZS5mZXRjaEFkZHJlc3NWYWxpZGF0aW9uO1QkLnByb3RvdHlwZS50b1BsYWNlPVQkLnByb3RvdHlwZS50b1BsYWNlOwp2YXIgU0ViPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX1nZXQgc3RhcnRPZmZzZXQoKXtyZXR1cm4gXy5LZyh0aGlzLnFoLDEpfWdldCBlbmRPZmZzZXQoKXtyZXR1cm4gXy5LZyh0aGlzLnFoLDIpfX0sVSQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfWdldCB0ZXh0KCl7cmV0dXJuIHRoaXMucWg/LmNpKCk/PyIifWdldCBtYXRjaGVzKCl7cmV0dXJuIHRoaXMucWg/LnJoKCkubWFwKGE9Pm5ldyBTRWIoYSkpPz9bXX10b1N0cmluZygpe3JldHVybiB0aGlzLnRleHR9fTtVJC5wcm90b3R5cGUudG9TdHJpbmc9VSQucHJvdG90eXBlLnRvU3RyaW5nO3ZhciBURWI9Xy4kcyhbIi5kcm9wZG93bj51bD5saXtmb250LXNpemU6MTJweDtoZWlnaHQ6NTJweDtwYWRkaW5nOjAgMTJweH0uZHJvcGRvd24+dWw+bGksLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXJvd3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1yb3d7Z2FwOjEycHg7d2lkdGg6MTAwJTstLWdtcC1pbnRlcm5hbC1wcmVkaWN0aW9uLWl0ZW0tZGVyaXZlZC10ZXh0LWNvbG9yOmxpZ2h0LWRhcmsoY29sb3ItbWl4KGluIHNyZ2IsY3VycmVudENvbG9yIDcxLjklLCNmZmYpLGNvbG9yLW1peChpbiBzcmdiLGN1cnJlbnRDb2xvciA3NS4zJSwjMDAwKSl9LnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXJvdyAucGxhY2UtYXV0b2NvbXBsZXRlLWVsZW1lbnQtcGxhY2UtaWNvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MH0ucGxhY2UtYXV0b2NvbXBsZXRlLWVsZW1lbnQtcm93IC5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wcmVkaWN0aW9uLWl0ZW0taWNvbnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXgtcG9zaXRpdmU6MTtiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0LWRhcmsocmdiYSgzMCwzMCwzMCwuMSksaHNsYSgwLDAlLDEwMCUsLjEpKTtib3JkZXItcmFkaXVzOjUwJTtmbGV4LWdyb3c6MTtwYWRkaW5nOjhweH0ucGxhY2UtYXV0b2NvbXBsZXRlLWVsZW1lbnQtcm93IC5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wcmVkaWN0aW9uLWl0ZW0taWNvbiBwYXRoe2ZpbGw6bGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpfS5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1yb3cgLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXRleHQtZGl2ey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjZweCAwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1yb3cgLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXRleHQtZGl2IC5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wbGFjZS1uYW1ley13ZWJraXQtZmxleC1zaHJpbms6MDtmb250LWZhbWlseTpHb29nbGUgU2FucyBUZXh0LEdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmOy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZGlzcGxheTpibG9jaztmbGV4LXNocmluazowO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1yb3cgLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXRleHQtZGl2IC5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wbGFjZS1kZXRhaWxze2NvbG9yOnZhcigtLWdtcC1pbnRlcm5hbC1wcmVkaWN0aW9uLWl0ZW0tZGVyaXZlZC10ZXh0LWNvbG9yKTtmb250LWZhbWlseTpHb29nbGUgU2FucyBUZXh0LEdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxNnB4fS5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1yb3cgLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXRleHQtZGl2IC5wbGFjZS1hdXRvY29tcGxldGUtZWxlbWVudC1wbGFjZS1yZXN1bHQtLW1hdGNoZWR7Y29sb3I6dmFyKC0tZ21wLWludGVybmFsLXByZWRpY3Rpb24taXRlbS1kZXJpdmVkLXRleHQtY29sb3IpfWxpW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0gLnBsYWNlLWF1dG9jb21wbGV0ZS1lbGVtZW50LXBsYWNlLWljb24tbWFya2Vye2JhY2tncm91bmQtcG9zaXRpb246LTE4cHggLTE2MXB4fSJdKTt2YXIgVUViPV8uWncoImFwaS0zL2ltYWdlcy9hdXRvY29tcGxldGUtaWNvbnMiLCEwLCExKSxWRWI9Xy5NbShfLkdtKF8uZHMpKSxWJD1jbGFzcyBleHRlbmRzIHA5e3N0YXRpYyBnZXQgUG0oKXtyZXR1cm57Li4ucDkuUG0sZGVsZWdhdGVzRm9jdXM6ITAsc2xvdEFzc2lnbm1lbnQ6Im1hbnVhbCJ9fWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuem09dGhpcy5ycj10aGlzLlZqPXRoaXMuR2g9dGhpcy54az10aGlzLkNsPXRoaXMud2o9dGhpcy5ybD10aGlzLklrPXRoaXMuR2o9bnVsbDt0aGlzLlZrPXZvaWQgMDt0aGlzLkNtPXRoaXMuRWk9dGhpcy51cj1udWxsO18uSGwoInV0aWwiKS50aGVuKGI9PntiLkFyKCl9KTt0aGlzLnJlcXVlc3RlZExhbmd1YWdlPWE/LnJlcXVlc3RlZExhbmd1YWdlPz9udWxsO3RoaXMubG9jYXRpb25CaWFzPWE/LmxvY2F0aW9uQmlhcz8/bnVsbDt0aGlzLmxvY2F0aW9uUmVzdHJpY3Rpb249YT8ubG9jYXRpb25SZXN0cmljdGlvbj8/bnVsbDsKdGhpcy5yZXF1ZXN0ZWRSZWdpb249YT8ucmVxdWVzdGVkUmVnaW9uPz9udWxsO3RoaXMuaW5jbHVkZWRSZWdpb25Db2Rlcz1hPy5pbmNsdWRlZFJlZ2lvbkNvZGVzPz9udWxsO3RoaXMuaW5jbHVkZWRQcmltYXJ5VHlwZXM9YT8uaW5jbHVkZWRQcmltYXJ5VHlwZXM/P251bGw7dGhpcy5vcmlnaW49YT8ub3JpZ2luPz9udWxsO3RoaXMudW5pdFN5c3RlbT1hPy51bml0U3lzdGVtPz9udWxsO3RoaXMuZnV0dXJlT3BlbmluZ0J1c2luZXNzZXNJbmNsdWRlZD1hPy5mdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkPz9udWxsO3RoaXMucHVyZVNlcnZpY2VBcmVhQnVzaW5lc3Nlc0luY2x1ZGVkPWE/LnB1cmVTZXJ2aWNlQXJlYUJ1c2luZXNzZXNJbmNsdWRlZD8/bnVsbDt0aGlzLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcz1hPy5pbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM/P251bGw7ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikuc3JjPVVFYjtuZXcgTENiKHRoaXMsCmI9PntPQWIodGhpcyxiKTtleGIodGhpcyxiKX0pfWdldCBpbmNsdWRlZFJlZ2lvbkNvZGVzKCl7cmV0dXJuIHRoaXMuQ2x9c2V0IGluY2x1ZGVkUmVnaW9uQ29kZXMoYSl7dGhpcy5DbD1fLmtwKHRoaXMsImluY2x1ZGVkUmVnaW9uQ29kZXMiLFZFYixhKT8/bnVsbH1nZXQgaW5jbHVkZWRQcmltYXJ5VHlwZXMoKXtyZXR1cm4gdGhpcy54a31zZXQgaW5jbHVkZWRQcmltYXJ5VHlwZXMoYSl7dGhpcy54az1fLmtwKHRoaXMsImluY2x1ZGVkUHJpbWFyeVR5cGVzIixWRWIsYSk/P251bGx9Z2V0IG9yaWdpbigpe3JldHVybiB0aGlzLkdofXNldCBvcmlnaW4oYSl7dGhpcy5HaD0oYT1fLmtwKHRoaXMsIm9yaWdpbiIsXy5NbShfLkpxKSxhKSk/bmV3IF8uUW8oYSk6bnVsbH1nZXQgdW5pdFN5c3RlbSgpe3JldHVybiB0aGlzLlZqfXNldCB1bml0U3lzdGVtKGEpe3RoaXMuVmo9Xy5rcCh0aGlzLCJ1bml0U3lzdGVtIixfLk1tKF8uRm0oXy5FcSkpLGEpPz9udWxsfWdldCBjb21wb25lbnRSZXN0cmljdGlvbnMoKXtyZXR1cm4gbnVsbH1zZXQgY29tcG9uZW50UmVzdHJpY3Rpb25zKGEpe3Rocm93IEVycm9yKCJUaGlzIHByb3BlcnR5IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBBUEkuIik7Cn1nZXQgcmVxdWVzdGVkTGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy5Han1zZXQgcmVxdWVzdGVkTGFuZ3VhZ2UoYSl7dGhpcy5Haj1fLmtwKHRoaXMsInJlcXVlc3RlZExhbmd1YWdlIixfLmJzLGEpPz9udWxsO1BBYih0aGlzKX1nZXQgbG9jYXRpb25CaWFzKCl7cmV0dXJuIHRoaXMuSWt9c2V0IGxvY2F0aW9uQmlhcyhhKXthPV8ua3AodGhpcywibG9jYXRpb25CaWFzIixfLk1tKHk2KSxhKT8/bnVsbDtKU09OLnN0cmluZ2lmeSh0aGlzLmxvY2F0aW9uQmlhcykhPT1KU09OLnN0cmluZ2lmeShhKSYmKHRoaXMuSWs9YSl9Z2V0IGxvY2F0aW9uUmVzdHJpY3Rpb24oKXtyZXR1cm4gdGhpcy5ybH1zZXQgbG9jYXRpb25SZXN0cmljdGlvbihhKXthPV8ua3AodGhpcywibG9jYXRpb25SZXN0cmljdGlvbiIsXy5NbSh6NiksYSk/P251bGw7SlNPTi5zdHJpbmdpZnkodGhpcy5sb2NhdGlvblJlc3RyaWN0aW9uKSE9PUpTT04uc3RyaW5naWZ5KGEpJiYodGhpcy5ybD1hKX1nZXQgcmVxdWVzdGVkUmVnaW9uKCl7cmV0dXJuIHRoaXMud2p9c2V0IHJlcXVlc3RlZFJlZ2lvbihhKXt0aGlzLndqPQpfLmtwKHRoaXMsInJlcXVlc3RlZFJlZ2lvbiIsXy5icyxhKT8/bnVsbDtQQWIodGhpcyl9Z2V0IHR5cGVzKCl7cmV0dXJuIG51bGx9c2V0IHR5cGVzKGEpe3Rocm93IEVycm9yKCJUaGlzIHByb3BlcnR5IGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBBUEkuIik7fWdldCBmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkKCl7cmV0dXJuIHRoaXMucnJ9c2V0IGZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQoYSl7dGhpcy5ycj1fLmtwKHRoaXMsImZ1dHVyZU9wZW5pbmdCdXNpbmVzc2VzSW5jbHVkZWQiLF8uY3MsYSk/P251bGx9Z2V0IHB1cmVTZXJ2aWNlQXJlYUJ1c2luZXNzZXNJbmNsdWRlZCgpe3JldHVybiB0aGlzLnptfXNldCBwdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQoYSl7dGhpcy56bT1fLmtwKHRoaXMsInB1cmVTZXJ2aWNlQXJlYUJ1c2luZXNzZXNJbmNsdWRlZCIsXy5jcyxhKT8/bnVsbH1zZXQgaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKGEpe3RoaXMuVms9Cl8ua3AodGhpcywiaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzIixfLk1tKF8uSG0oXy5kcywxKSksYSl9Z2V0IGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcygpe3JldHVybiB0aGlzLlZrPz9udWxsfX07ViQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVYkLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtWJC5JaT17S2k6MTk4MzI0LEppOjE5ODMyNX07ViQuc3R5bGVzPVtURWIscDkuc3R5bGVzXTtfLkQoW18udHEoe0toOiJpbmNsdWRlZC1yZWdpb24tY29kZXMiLGZpOl8uRHMsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJpbmNsdWRlZFJlZ2lvbkNvZGVzIixudWxsKTsKXy5EKFtfLnRxKHtLaDoiaW5jbHVkZWQtcHJpbWFyeS10eXBlcyIsZmk6Xy5EcyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxWJC5wcm90b3R5cGUsImluY2x1ZGVkUHJpbWFyeVR5cGVzIixudWxsKTtfLkQoW18udHEoe2ZpOl8uR3MsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJvcmlnaW4iLG51bGwpO18uRChbXy50cSh7S2g6InVuaXQtc3lzdGVtIixmaTpfLndvKHtNRVRSSUM6MCxJTVBFUklBTDoxfSksTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJ1bml0U3lzdGVtIixudWxsKTsKXy5EKFtfLnRxKHtLaDoicmVxdWVzdGVkLWxhbmd1YWdlIix0eXBlOlN0cmluZyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxWJC5wcm90b3R5cGUsInJlcXVlc3RlZExhbmd1YWdlIixudWxsKTtfLkQoW18udHEoe0toOiJyZXF1ZXN0ZWQtcmVnaW9uIix0eXBlOlN0cmluZyxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxWJC5wcm90b3R5cGUsInJlcXVlc3RlZFJlZ2lvbiIsbnVsbCk7Xy5EKFtfLnRxKHtmaTpfLkRzLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFYkLnByb3RvdHlwZSwidHlwZXMiLG51bGwpOwpfLkQoW18udHEoe0toOiJmdXR1cmUtb3BlbmluZy1idXNpbmVzc2VzLWluY2x1ZGVkIix0eXBlOkJvb2xlYW4sTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJmdXR1cmVPcGVuaW5nQnVzaW5lc3Nlc0luY2x1ZGVkIixudWxsKTtfLkQoW18udHEoe0toOiJwdXJlLXNlcnZpY2UtYXJlYS1idXNpbmVzc2VzLWluY2x1ZGVkIix0eXBlOkJvb2xlYW4sTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJwdXJlU2VydmljZUFyZWFCdXNpbmVzc2VzSW5jbHVkZWQiLG51bGwpOwpfLkQoW18udHEoe0toOiJpbnRlcm5hbC11c2FnZS1hdHRyaWJ1dGlvbi1pZHMiLGZpOl8uRHMsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sViQucHJvdG90eXBlLCJpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHMiLG51bGwpO3ZhciBXJD1jbGFzcyBleHRlbmRzIFYke2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuYW49bmV3IGU5KDMpO3RoaXMuTWk9dGhpcy55aD1udWxsO3RoaXMueGkoYSxXJCwiQmFzaWNQbGFjZUF1dG9jb21wbGV0ZUVsZW1lbnQiKTtfLkhsKCJ1dGlsIikudGhlbihiPT57Yi5BcigpfSl9YXN5bmMgQXYoYSl7aWYodGhpcy55aCl7dmFyIGI9dGhpcy55aC5zcGxpdCgiLiIpWzFdO2I9SlNPTi5wYXJzZShhdG9iKGIpKTtiPURhdGUubm93KCkvMUUzPGIuZXhwLTEwfWVsc2UgYj0hMTtifHxhd2FpdCBTQWIodGhpcyk7aWYodGhpcy55aD09bnVsbHx8dGhpcy55aD09PSIiKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmV0Y2ggY3JlZGVudGlhbHMuIik7cmV0dXJuIGF3YWl0IEpBYihhLHtTazp0aGlzLnlofSl9d3IoYSl7YT1hLnRvUGxhY2UoKTt0aGlzLnloPW51bGw7WndiKHRoaXMpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQTgoYSkpfX07ClckLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1XJC5wcm90b3R5cGUuY29uc3RydWN0b3I7VyQuSWk9e0tpOjI0OTczOCxKaToyNDk3Mzd9O3ZhciBXRWI9e0NPTVBBQ1Q6IkNPTVBBQ1QiLFZFUlRJQ0FMOiJWRVJUSUNBTCJ9LFhFYj17Tk9ORToiTk9ORSIsUk9BRE1BUDoiUk9BRE1BUCIsSFlCUklEOiJIWUJSSUQifSxYJD1jbGFzcyBleHRlbmRzIHE5e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuc2g9IlZFUlRJQ0FMIjt0aGlzLnRoPSExO3RoaXMucmg9IlJPQURNQVAiO3RoaXMubGF5b3V0PWEubGF5b3V0O3RoaXMubWFwSGlkZGVuPWEubWFwSGlkZGVuO3RoaXMubWFwTW9kZT1hLm1hcE1vZGU7dGhpcy54aShhLFgkLCJQbGFjZUNvbnRleHR1YWxMaXN0Q29uZmlnRWxlbWVudCIpfWdldCBsYXlvdXQoKXtyZXR1cm4gdGhpcy5zaH1zZXQgbGF5b3V0KGEpe3RoaXMuc2g9Xy5rcCh0aGlzLCJsYXlvdXQiLF8uTW0oXy5GbShXRWIpKSxhJiZhLnRvVXBwZXJDYXNlKCkpPz8iVkVSVElDQUwifWdldCBtYXBIaWRkZW4oKXtyZXR1cm4gdGhpcy50aH1zZXQgbWFwSGlkZGVuKGEpe3RoaXMudGg9Xy5rcCh0aGlzLCJtYXBIaWRkZW4iLApfLmNzLGEpPz8hMX1nZXQgbWFwTW9kZSgpe3JldHVybiB0aGlzLnJofXNldCBtYXBNb2RlKGEpe2NvbnNvbGUud2FybigiVGhlIG1hcE1vZGUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBtYXBIaWRkZW4gdG8gaGlkZSB0aGUgbWFwLiBGb3IgYWxsIG90aGVyIGNhc2VzLCB0aGUgc3lzdGVtIG5vdyBhdXRvbWF0aWNhbGx5IHNlbGVjdHMgdGhlIGFwcHJvcHJpYXRlIG1vZGUuIik7dGhpcy5yaD1fLmtwKHRoaXMsIm1hcE1vZGUiLF8uTW0oXy5GbShYRWIpKSxhKT8/IlJPQURNQVAifXFoKCl7cmV0dXJue2xheW91dDp0aGlzLmxheW91dCxtYXBIaWRkZW46dGhpcy5tYXBIaWRkZW4sbWFwTW9kZTp0aGlzLm1hcE1vZGV9fX07WCQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVgkLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtYJC5JaT17S2k6MjU1NzY3LEppOjI1NTc2Nn07Cl8uRChbXy50cSh7Tmg6ITAsZmk6Xy53byhXRWIpfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLFgkLnByb3RvdHlwZSwibGF5b3V0IixudWxsKTtfLkQoW18udHEoe3R5cGU6Qm9vbGVhbixOaDohMCxLaDoibWFwLWhpZGRlbiJ9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sWCQucHJvdG90eXBlLCJtYXBIaWRkZW4iLG51bGwpO18uRChbXy50cSh7Tmg6ITAsS2g6Im1hcC1tb2RlIixmaTpfLndvKFhFYil9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sWCQucHJvdG90eXBlLCJtYXBNb2RlIixudWxsKTt2YXIgWUViPV8uJHMoWydAY2hhcnNldCAiVVRGLTgiOzpob3N0KDpub3QoW2hpZGRlbl0pKXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNnB4Oy0tZ21wLW1hdC1jb2xvci1wcmltYXJ5OmxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKX0uY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO2JvcmRlci1yYWRpdXM6OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDp1bnNldDttaW4td2lkdGg6MzAwcHh9Z21wLWludGVybmFsLWNvbnRleHR1YWwtcGxhY2UtZGV0YWlscy1jb21wYWN0e2NvbG9yLXNjaGVtZTppbmhlcml0Oy0tZ21wLW1hdC1jb2xvci1vdXRsaW5lLWRlY29yYXRpdmU6dHJhbnNwYXJlbnQ7cGFkZGluZzo0cHh9c2VjdGlvbntwb3NpdGlvbjpyZWxhdGl2ZX0uaGVhZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAyMHB4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcDtyb3ctZ2FwOjE2cHg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246ZW5kOy1tcy1mbGV4LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0uaGVhZGVyLXNlY3Rpb24gLmF0dHJpYnV0aW9uey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxOy1tb3otYm94LWZsZXg6MTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO3BhZGRpbmc6MH0uaGVhZGVyLXNlY3Rpb24gZ21wLWludGVybmFsLWRpc2Nsb3N1cmV7bWFyZ2luLWJsb2NrOjB9LmRldGFpbHMtc2VjdGlvbntwYWRkaW5nOjAgMjBweCAxMnB4fS5tYXAtdmlld3tib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7Ym9yZGVyLXJhZGl1czoxNnB4O2hlaWdodDoyMjFweDttYXJnaW46MCAxNnB4IDEycHg7b3ZlcmZsb3c6aGlkZGVufS5tYXAtdmlldy5jb21wYWN0e21hcmdpbjowIDE2cHh9Lmxpc3Qtc2VjdGlvbiwubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1ze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1ze21hcmdpbjowO21heC1oZWlnaHQ6NTAwcHg7b3ZlcmZsb3cteTphdXRvfS5saXN0LXNlY3Rpb24gLmxpc3QtaXRlbXMgLmxpc3QtaXRlbXtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1nbXAtbWF0LWNvbG9yLW91dGxpbmUtZGVjb3JhdGl2ZSxsaWdodC1kYXJrKCNlM2UzZTMsIzQ3NDc0NykpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1zIC5saXN0LWl0ZW0uaGlnaGxpZ2h0ZWQsLmxpc3Qtc2VjdGlvbiAubGlzdC1pdGVtcyAubGlzdC1pdGVtLmhpZ2hsaWdodGVkIC5yZXZpZXctc25pcHBldHMtc2VjdGlvbiwubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1zIC5saXN0LWl0ZW0uaGlnaGxpZ2h0ZWQgZ21wLWludGVybmFsLWNvbnRleHR1YWwtcGxhY2UtZGV0YWlscy1jb21wYWN0LC5saXN0LXNlY3Rpb24gLmxpc3QtaXRlbXMgLmxpc3QtaXRlbTpob3ZlciwubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1zIC5saXN0LWl0ZW06aG92ZXIgLnJldmlldy1zbmlwcGV0cy1zZWN0aW9uLC5saXN0LXNlY3Rpb24gLmxpc3QtaXRlbXMgLmxpc3QtaXRlbTpob3ZlciBnbXAtaW50ZXJuYWwtY29udGV4dHVhbC1wbGFjZS1kZXRhaWxzLWNvbXBhY3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2VmZjVmNiwjMWEyMTIyKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lmxpc3Qtc2VjdGlvbiAubGlzdC1pdGVtcyAubGlzdC1pdGVtLmhpZ2hsaWdodGVkIC5yZXZpZXctc25pcHBldCwubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1zIC5saXN0LWl0ZW06aG92ZXIgLnJldmlldy1zbmlwcGV0e2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyaygjZTNlOWVhLCMzMDMwMzApOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS5saXN0LXNlY3Rpb24gLmxpc3QtaXRlbXMgLmxpc3QtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0ubGlzdC1zZWN0aW9uIC5saXN0LWl0ZW1zIC5saXN0LWl0ZW0tZGV0YWlsc3ttYXJnaW46NHB4O21pbi1oZWlnaHQ6LXdlYmtpdC1maXQtY29udGVudDttaW4taGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7bWluLWhlaWdodDpmaXQtY29udGVudDtvdmVyZmxvdzpoaWRkZW59LnJldmlldy1zbmlwcGV0cy1zZWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21hcmdpbjowIHZhcigtLWdtcC1tYXQtc3BhY2luZy1sYXJnZSwxNnB4KSB2YXIoLS1nbXAtbWF0LXNwYWNpbmctbGFyZ2UsMTZweCk7cGFkZGluZzowfS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLXN1cmZhY2UtY29udGFpbmVyLGxpZ2h0LWRhcmsoI2VmZjVmNiwjMWEyMTIyKSk7Ym9yZGVyLXJhZGl1czo0cHh9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjE2cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MTZweH0ucmV2aWV3LXNuaXBwZXRzLXNlY3Rpb24gLnJldmlldy1zbmlwcGV0Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxNnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjE2cHh9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVye2hlaWdodDo0OHB4Oy13ZWJraXQtbWFyZ2luLXN0YXJ0OjEycHg7LW1vei1tYXJnaW4tc3RhcnQ6MTJweDttYXJnaW4taW5saW5lLXN0YXJ0OjEycHh9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVyLC5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciBhLmhlYWRlci1hdXRob3J7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6OHB4fS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciBhLmhlYWRlci1hdXRob3J7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQsbGlnaHQtZGFyaygjNWU1ZTVlLCNhYmFiYWIpKTtwYWRkaW5nOnZhcigtLWdtcC1tYXQtc3BhY2luZy1leHRyYS1zbWFsbCw0cHgpOy13ZWJraXQtcGFkZGluZy1zdGFydDowOy1tb3otcGFkZGluZy1zdGFydDowO3BhZGRpbmctaW5saW5lLXN0YXJ0OjA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvcjpmb2N1cy12aXNpYmxlIC5hdXRob3ItcmlnaHQsLnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvcjpob3ZlciAuYXV0aG9yLXJpZ2h0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVyIGEuaGVhZGVyLWF1dGhvciAuYXV0aG9yLXBob3Rve2JvcmRlci1yYWRpdXM6MTAwcHg7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9ja30ucmV2aWV3LXNuaXBwZXRzLXNlY3Rpb24gLnJldmlldy1zbmlwcGV0IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yIC5hdXRob3ItcmlnaHQgLmF1dGhvci1uYW1lLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZTtnYXA6NHB4fS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodCAuYXV0aG9yLW5hbWUtY29udGFpbmVyIC5hdXRob3ItbmFtZXtmb250OnZhcigtLWdtcC1tYXQtZm9udC1sYWJlbC1tZWRpdW0sbm9ybWFsIDUwMCAuNzVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDE2NjY2NjY2N2VtfS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciBhLmhlYWRlci1hdXRob3IgLmF1dGhvci1yaWdodCAuYXV0aG9yLW5hbWUtY29udGFpbmVyIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTRweH0ucmV2aWV3LXNuaXBwZXRzLXNlY3Rpb24gLnJldmlldy1zbmlwcGV0IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yIC5hdXRob3ItcmlnaHQgLmF1dGhvci1uYW1lLWNvbnRhaW5lciBzdmc6ZGlyKHJ0bCl7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC0xKTt0cmFuc2Zvcm06c2NhbGVYKC0xKX0ucmV2aWV3LXNuaXBwZXRzLXNlY3Rpb24gLnJldmlldy1zbmlwcGV0IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yIC5hdXRob3ItcmlnaHQgLnJlbGF0aXZlLXRpbWV7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtbGFiZWwtbWVkaXVtLG5vcm1hbCA1MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbX0ucmV2aWV3LXNuaXBwZXRzLXNlY3Rpb24gLnJldmlldy1zbmlwcGV0IC5oZWFkZXIgYS5oZWFkZXItYXV0aG9yIC5hdXRob3ItcmlnaHQgLnJlbGF0aXZlLXRpbWU6YmVmb3Jle2NvbnRlbnQ6Ilx1MDBiNyJ9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAuaGVhZGVyIC5yZXBvcnQtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LW1hcmdpbi1zdGFydDphdXRvOy1tb3otbWFyZ2luLXN0YXJ0OmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlfS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLmhlYWRlciAucmVwb3J0LWJ1dHRvbi1jb250YWluZXIgZ21wLWludGVybmFsLW1lbnU6OnBhcnQoZGlhbG9nKXtpbnNldC1ibG9jay1lbmQ6NDFweDtpbnNldC1pbmxpbmUtZW5kOjIzcHh9LnJldmlldy1zbmlwcGV0cy1zZWN0aW9uIC5yZXZpZXctc25pcHBldCAucmV2aWV3LXNuaXBwZXQtdGV4dHtjb2xvcjp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKTtmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LXNtYWxsLG5vcm1hbCA0MDAgLjc1ZW0vMS4zMzMzMzMzMzMzIHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7bGV0dGVyLXNwYWNpbmc6LjAxNjY2NjY2NjdlbTtwYWRkaW5nOjAgMTJweCAxMnB4fS5yZXZpZXctc25pcHBldHMtc2VjdGlvbiAucmV2aWV3LXNuaXBwZXQgLnJldmlldy1zbmlwcGV0LXRleHQgLmhpZ2hsaWdodGVkLXRleHR7Zm9udC13ZWlnaHQ6NzAwfS5lbmQtYnV0dG9uLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMjBweCAxNnB4fS5lbmQtYnV0dG9uLXNlY3Rpb24gZ21wLWludGVybmFsLWxpbmstYnV0dG9ue2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW19aHJ7YWxsOnVuc2V0O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWdtcC1tYXQtY29sb3Itb3V0bGluZS1kZWNvcmF0aXZlLGxpZ2h0LWRhcmsoI2UzZTNlMywjNDc0NzQ3KSk7ZGlzcGxheTpibG9ja30uYXR0cmlidXRpb257LXdlYmtpdC1wYWRkaW5nLWFmdGVyOjEycHg7cGFkZGluZy1ibG9jay1lbmQ6MTJweH0ubWFwM2QtbWFya2VyLXN2Z3t0cmFuc2xhdGU6Y2FsYyg1MCUgLSAxMnB4KSA0cHh9Lm1hcDNkLW1hcmtlci1zdmcgc3Zne2Rpc3BsYXk6YmxvY2t9Lm1hcDNkLW1hcmtlci1zdmcgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjQpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjQpKX0ubWFwM2QtbWFya2VyLXN2ZyBzdmcgdGV4dHtmaWxsOiM1NDZlN2E7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWludC1vcmRlcjpzdHJva2U7c3Ryb2tlOmhzbGEoMCwwJSwxMDAlLC44KTtzdHJva2Utd2lkdGg6MnB4fS5tYXAzZC1tYXJrZXItc3ZnIHN2Zy5tYXAzZC1tYXJrZXItZG90ey13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLC40KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsMCwwLC40KSl9Lm1hcC1tYXJrZXItY29udGFpbmVyLC5tYXAtbWFya2VyLXN2Z3twb2ludGVyLWV2ZW50czpub25lfS5tYXJrZXItdGV4dC1jb250YWluZXJ7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7Zm9udDo1MDAgMTRweC8xOHB4IEdvb2dsZSBTYW5zLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzotMXB4IC0xcHggMCBoc2xhKDAsMCUsMTAwJSwuOCksMXB4IC0xcHggMCBoc2xhKDAsMCUsMTAwJSwuOCksLTFweCAxcHggMCBoc2xhKDAsMCUsMTAwJSwuOCksMXB4IDFweCAwIGhzbGEoMCwwJSwxMDAlLC44KSwtMnB4IDAgMCBoc2xhKDAsMCUsMTAwJSwuOCksMnB4IDAgMCBoc2xhKDAsMCUsMTAwJSwuOCksMCAtMnB4IDAgaHNsYSgwLDAlLDEwMCUsLjgpLDAgMnB4IDAgaHNsYSgwLDAlLDEwMCUsLjgpO3RleHQtd3JhcDpiYWxhbmNlO3RvcDo0NSU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDptYXgoMTVjaCw1MCUpfS5tYXJrZXItdGV4dC1jb250YWluZXIudGV4dC1sZWZ0e21hcmdpbi1yaWdodDoxcHg7cmlnaHQ6MTAwJTt0ZXh0LWFsaWduOnJpZ2h0fS5tYXJrZXItdGV4dC1jb250YWluZXIudGV4dC1yaWdodHtsZWZ0OjEwMCU7bWFyZ2luLWxlZnQ6MXB4O3RleHQtYWxpZ246bGVmdH0ubWFwLW1hcmtlci1zdmcgc3Zne2Rpc3BsYXk6YmxvY2t9Lm1hcC1tYXJrZXItc3ZnIHN2ZyBwYXRoe2JvcmRlcjouNXB4IHNvbGlkICM5ODk4OTg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjQpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwwLDAsLjQpKX0ubWFwLW1hcmtlci1zdmcgc3ZnIHRleHR7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtYm9keS1tZWRpdW0sbm9ybWFsIDQwMCAuODc1ZW0vMS40Mjg1NzE0Mjg2IHZhcigtLWdtcC1tYXQtZm9udC1mYW1pbHksR29vZ2xlIFNhbnMgVGV4dCxzYW5zLXNlcmlmKSk7Zm9udDo1MDAgMTRweC8xOHB4IEdvb2dsZSBTYW5zLHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LjAwNzE0Mjg1NzFlbTtwYWludC1vcmRlcjpzdHJva2U7c3Ryb2tlOmhzbGEoMCwwJSwxMDAlLC44KTtzdHJva2Utd2lkdGg6NHB4fS5tYXAtbWFya2VyLXN2Zy5tYXAtbWFya2VyLWRvdHstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCAycHggcmdiYSgwLDAsMCwuNCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCAycHggcmdiYSgwLDAsMCwuNCkpO3RyYW5zbGF0ZTpjYWxjKDUwJSAtIDEycHgpIDUwJX0uY29tcGFjdC1zZWN0aW9ue3BhZGRpbmc6MCAxNnB4fS5jb21wYWN0LXNlY3Rpb24sLmNvbXBhY3Qtc2VjdGlvbiAuY29tcGFjdC1pdGVtc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Z2FwOjhweH0uY29tcGFjdC1zZWN0aW9uIC5jb21wYWN0LWl0ZW1zey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjRweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0uY29tcGFjdC1zZWN0aW9uIC5jb21wYWN0LWl0ZW1zIGdtcC1pbnRlcm5hbC1saW5rLWJ1dHRvbntmb250OnZhcigtLWdtcC1tYXQtZm9udC1ib2R5LW1lZGl1bSxub3JtYWwgNDAwIC44NzVlbS8xLjQyODU3MTQyODYgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzouMDA3MTQyODU3MWVtO21heC13aWR0aDppbmhlcml0O21pbi1oZWlnaHQ6NDhweH0uY29tcGFjdC1zZWN0aW9uIC5jb21wYWN0LW1lbnV7cGFkZGluZzo0cHggMH0uY29tcGFjdC1zZWN0aW9uIC5oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LmNvbXBhY3Qtc2VjdGlvbiBnbXAtaW50ZXJuYWwtbWVudXtwb3NpdGlvbjp1bnNldH0uY29tcGFjdC1zZWN0aW9uIGdtcC1pbnRlcm5hbC1tZW51OjpwYXJ0KGRpYWxvZyl7aW5zZXQtYmxvY2stc3RhcnQ6NTFweDtpbnNldC1pbmxpbmUtZW5kOjIwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDQwcHgpfS5jb21wYWN0LXNlY3Rpb24gLm1lbnUtYnV0dG9uLWludGVyaW9ye2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDo0cHg7cGFkZGluZzo2cHggMTZweH0uY29tcGFjdC1zZWN0aW9uIC5tZW51LWJ1dHRvbi1pbnRlcmlvciBzdmd7d2lkdGg6MThweH0uY29tcGFjdC1zZWN0aW9uIC5tZW51LWJ1dHRvbi1pbnRlcmlvcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpLHZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpIDglKX0uY29tcGFjdC1zZWN0aW9uIC5tZW51LWJ1dHRvbi1pbnRlcmlvcjpmb2N1cy12aXNpYmxle2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZ21wLW1hdC1jb2xvci1zdXJmYWNlLGxpZ2h0LWRhcmsoI2ZmZiwjMTMxMzE0KSksdmFyKC0tZ21wLW1hdC1jb2xvci1wcmltYXJ5LGxpZ2h0LWRhcmsoIzAwN2I4YiwjNThiOWNhKSkgMTAlKX0uYW5zd2Vycy1zZWN0aW9uLXRpdGxle2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itb24tc3VyZmFjZSxsaWdodC1kYXJrKCMxZjFmMWYsI2UzZTNlMykpO2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07cGFkZGluZzoxMnB4IDE2cHh9LmNvbGxhZ2V7cGFkZGluZzoxNnB4Oy13ZWJraXQtcGFkZGluZy1iZWZvcmU6MDtwYWRkaW5nLWJsb2NrLXN0YXJ0OjB9LmNvbGxhZ2UgZ21wLWludGVybmFsLWNvbGxhZ2V7YXNwZWN0LXJhdGlvOjEuNS8xfSddKTt2YXIgWSQ9Y2xhc3MgZXh0ZW5kcyBfLkZ0e2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuTHY9bmV3IHI5KHRoaXMpO3RoaXMuR3g9bmV3IFNldChbWCRdKTt0aGlzLnhqPXtsaXN0Om51bGx9O3RoaXMuZkI9ITE7dGhpcy5nQj0hMDt0aGlzLmZHPSJST0FETUFQIjt0aGlzLnFoPXRoaXMuc2g9dGhpcy5yaD1udWxsO3RoaXMud2g9W107dGhpcy50aD17UFM6KCk9PnRoaXMud2gsVlM6KCk9PnRoaXMucmgsV1M6KCk9PnRoaXMuc2gsT1M6KCk9PnRoaXMucWh9O3RoaXMueGkoYSxZJCwiUGxhY2VDb250ZXh0dWFsRWxlbWVudCIpO3RoaXMuY29udGV4dFRva2VuPWEuY29udGV4dFRva2VuO18uSGwoInV0aWwiKS50aGVuKGI9PntiLkFyKCl9KTt0aGlzLnhoPW5ldyBlOSgwKX1zZXQgY29udGV4dFRva2VuKGEpe3RoaXMubUk9YT8/dm9pZCAwO2pCYih0aGlzKX1nZXQgY29udGV4dFRva2VuKCl7cmV0dXJuIHRoaXMubUl9c2V0IHNob3dDb21wYWN0TGlzdFZpZXcoYSl7dGhpcy5mQj0KYX1nZXQgc2hvd0NvbXBhY3RMaXN0Vmlldygpe3JldHVybiB0aGlzLmZCfXNldCBzaG93TWFwKGEpe3RoaXMuZ0I9YX1nZXQgc2hvd01hcCgpe3JldHVybiB0aGlzLmdCfXl3KCl7cmV0dXJuKDAsXy5XcSlgYH1seihhKXtyZXR1cm4oMCxfLldxKWA8ZGl2IGNsYXNzPSJjb250YWluZXIiPiR7YX08L2Rpdj5gfUJ4KGEpe3JldHVybntsaXN0OmEuZmluZChiPT5iLnh1PT09WCQpPy5kYXRhPz9udWxsfX1obShhKXtzdXBlci5obShhKTthLmhhcygieGoiKSYmdGhpcy54ai5saXN0JiYodGhpcy5mQj10aGlzLnhqLmxpc3QubGF5b3V0PT09IkNPTVBBQ1QiLHRoaXMuZ0I9IXRoaXMueGoubGlzdC5tYXBIaWRkZW4sdGhpcy5mRz10aGlzLnhqLmxpc3QubWFwTW9kZSl9fTtZJC5wcm90b3R5cGUuY29uc3RydWN0b3I9WSQucHJvdG90eXBlLmNvbnN0cnVjdG9yO1kkLklpPXtLaToyMzkwOTgsSmk6MjM5MDk3fTtZJC5zdHlsZXM9WUViOwpfLkQoW18udnEoe25qKGEsYil7dmFyIGM9YT8ubGlzdD8ubWFwTW9kZSE9PWI/Lmxpc3Q/Lm1hcE1vZGU7cmV0dXJuIGE/Lmxpc3Q/LmxheW91dCE9PWI/Lmxpc3Q/LmxheW91dHx8YT8ubGlzdD8ubWFwSGlkZGVuIT09Yj8ubGlzdD8ubWFwSGlkZGVufHxjfX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLFkkLnByb3RvdHlwZSwieGoiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWSQucHJvdG90eXBlLCJtSSIsdm9pZCAwKTtfLkQoW18udnEoKSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxZJC5wcm90b3R5cGUsImZCIix2b2lkIDApO18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLFkkLnByb3RvdHlwZSwiZ0IiLHZvaWQgMCk7Xy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWSQucHJvdG90eXBlLCJmRyIsdm9pZCAwKTsKXy5EKFtfLnZxKCksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWSQucHJvdG90eXBlLCJwSiIsdm9pZCAwKTtfLkQoW18udXEoIi5jb21wYWN0LWl0ZW1zIiksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWSQucHJvdG90eXBlLCJ2UyIsdm9pZCAwKTtfLkQoW2s3KCIuY29tcGFjdC1pdGVtcyA+IGdtcC1pbnRlcm5hbC1saW5rLWJ1dHRvbiIpLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sWSQucHJvdG90eXBlLCJ3UyIsdm9pZCAwKTtfLkQoW18udXEoIi5jb21wYWN0LW1lbnUgZ21wLWludGVybmFsLW1lbnUiKSxfLkYoImRlc2lnbjp0eXBlIixHOSldLFkkLnByb3RvdHlwZSwieFMiLHZvaWQgMCk7Xy5EKFtrNygiLmxpc3QtaXRlbSIpLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sWSQucHJvdG90eXBlLCJxVCIsdm9pZCAwKTsKXy5EKFtfLnRxKHtOaDohMCxLaDoiY29udGV4dC10b2tlbiJ9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sWSQucHJvdG90eXBlLCJjb250ZXh0VG9rZW4iLG51bGwpO3ZhciBaRWI9Y2xhc3MgZXh0ZW5kcyBFdmVudHtjb25zdHJ1Y3RvcihhKXtzdXBlcigiZ21wLXNlbGVjdCIse2J1YmJsZXM6ITB9KTt0aGlzLnFoPXtwbGFjZVByZWRpY3Rpb246YX19Z2V0IHBsYWNlUHJlZGljdGlvbigpe3JldHVybiB0aGlzLnFoLnBsYWNlUHJlZGljdGlvbn19O3ZhciBaJD1jbGFzcyBleHRlbmRzIFYke2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLnFoLnZhbHVlfXNldCB2YWx1ZShhKXt0aGlzLnFoLnZhbHVlPWE7dGhpcy5DaC5zZXRGb3JtVmFsdWUodGhpcy5xaC52YWx1ZSk7cDcodGhpcyl9Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy5zZXNzaW9uVG9rZW49bmV3IF8uSnQ7dGhpcy54aShhLFokLCJQbGFjZUF1dG9jb21wbGV0ZUVsZW1lbnQiKTt0aGlzLnFoLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHM9W3RoaXNdO2E/LnZhbHVlJiYodGhpcy52YWx1ZT1hLnZhbHVlKX1hc3luYyBBdihhKXtyZXR1cm4gYXdhaXQgS0FiKHsuLi5hLHNlc3Npb25Ub2tlbjp0aGlzLnNlc3Npb25Ub2tlbj8/dm9pZCAwfSl9d3IoYSl7Xy5IbCgicGxhY2VzX2ltcGwiKS50aGVuKCgpPT57dGhpcy5zZXNzaW9uVG9rZW49bmV3IF8uSnQ7dmFyIGI9bmV3IFpFYihhKTt0aGlzLmRpc3BhdGNoRXZlbnQoYil9KX19OwpaJC5wcm90b3R5cGUuY29uc3RydWN0b3I9WiQucHJvdG90eXBlLmNvbnN0cnVjdG9yO18uRChbXy50cSh7dHlwZTpTdHJpbmcsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sWiQucHJvdG90eXBlLCJ2YWx1ZSIsbnVsbCk7dmFyICQkPXtQbGFjZXNTZXJ2aWNlOnU5LFBsYWNlc1NlcnZpY2VTdGF0dXM6e09LOiJPSyIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsT1ZFUl9RVUVSWV9MSU1JVDoiT1ZFUl9RVUVSWV9MSU1JVCIsUkVRVUVTVF9ERU5JRUQ6IlJFUVVFU1RfREVOSUVEIixJTlZBTElEX1JFUVVFU1Q6IklOVkFMSURfUkVRVUVTVCIsWkVST19SRVNVTFRTOiJaRVJPX1JFU1VMVFMiLE5PVF9GT1VORDoiTk9UX0ZPVU5EIn0sQXV0b2NvbXBsZXRlU2VydmljZTp2NyxBdXRvY29tcGxldGVTZXNzaW9uVG9rZW46Xy5KdCxBdXRvY29tcGxldGU6dDksQnVzaW5lc3NTdGF0dXM6e09QRVJBVElPTkFMOiJPUEVSQVRJT05BTCIsQ0xPU0VEX1RFTVBPUkFSSUxZOiJDTE9TRURfVEVNUE9SQVJJTFkiLENMT1NFRF9QRVJNQU5FTlRMWToiQ0xPU0VEX1BFUk1BTkVOVExZIixGVVRVUkVfT1BFTklORzoiRlVUVVJFX09QRU5JTkcifSxDb250ZW50QmxvY2s6SzksU2VhcmNoQm94OnY5LFJhbmtCeTp7UFJPTUlORU5DRTowLApESVNUQU5DRToxfSxQbGFjZTokNyxBY2Nlc3NpYmlsaXR5T3B0aW9uczpIOSxBZGRyZXNzQ29tcG9uZW50OmREYixBdHRyaWJ1dGlvbjpsRGIsT3BlbmluZ0hvdXJzOlA5LE9wZW5pbmdIb3Vyc1BlcmlvZDp1RGIsT3BlbmluZ0hvdXJzUG9pbnQ6TzksU2Vjb25kYXJ5T3BlbmluZ0hvdXJzOlU5LEV2Q2hhcmdlQW1lbml0eVN1bW1hcnk6TDksRVZDaGFyZ2VBbWVuaXR5U3VtbWFyeTpMOSxFVkNoYXJnZU9wdGlvbnM6bkRiLEVWQ29ubmVjdG9yVHlwZTpsOSxDb25uZWN0b3JBZ2dyZWdhdGlvbjpNOSxGdWVsT3B0aW9uczpxRGIsRnVlbFR5cGU6e0RJRVNFTDoiRElFU0VMIixESUVTRUxfUExVUzoiRElFU0VMX1BMVVMiLFJFR1VMQVJfVU5MRUFERUQ6IlJFR1VMQVJfVU5MRUFERUQiLE1JREdSQURFOiJNSURHUkFERSIsUFJFTUlVTToiUFJFTUlVTSIsU1A5MToiU1A5MSIsU1A5MV9FMTA6IlNQOTFfRTEwIixTUDkyOiJTUDkyIixTUDk1OiJTUDk1IixTUDk1X0UxMDoiU1A5NV9FMTAiLFNQOTg6IlNQOTgiLApTUDk5OiJTUDk5IixTUDEwMDoiU1AxMDAiLExQRzoiTFBHIixFODA6IkU4MCIsRTg1OiJFODUiLEUxMDA6IkUxMDAiLE1FVEhBTkU6Ik1FVEhBTkUiLEJJT19ESUVTRUw6IkJJT19ESUVTRUwiLFRSVUNLX0RJRVNFTDoiVFJVQ0tfRElFU0VMIn0sRnVlbFByaWNlOk45LEdlbmVyYXRpdmVTdW1tYXJ5OnJEYixNb25leTpfLkx0LE5laWdoYm9yaG9vZFN1bW1hcnk6dERiLFBhcmtpbmdPcHRpb25zOlE5LFBheW1lbnRPcHRpb25zOlI5LFBob3RvOlQ5LEF1dGhvckF0dHJpYnV0aW9uOlM5LFBsdXNDb2RlOl8uTXQsUG9zdGFsQWRkcmVzczpfLk50LFJldmlldzpmOCxSZXZpZXdTdW1tYXJ5OklEYixQcmljZUxldmVsOm05LFByaWNlUmFuZ2U6SERiLEdvb2dsZU1hcHNMaW5rczpzRGIsQ29uc3VtZXJBbGVydDptRGIsQ29uc3VtZXJBbGVydERldGFpbHM6STksVGltZVpvbmU6cUJiLEFkZHJlc3NEZXNjcmlwdG9yOmtEYixMYW5kbWFyazpqRGIsQXJlYTpnRGIsU3BhdGlhbFJlbGF0aW9uc2hpcDp7TkVBUjoiTkVBUiIsCldJVEhJTjoiV0lUSElOIixCRVNJREU6IkJFU0lERSIsQUNST1NTX1RIRV9ST0FEOiJBQ1JPU1NfVEhFX1JPQUQiLERPV05fVEhFX1JPQUQ6IkRPV05fVEhFX1JPQUQiLEFST1VORF9USEVfQ09STkVSOiJBUk9VTkRfVEhFX0NPUk5FUiIsQkVISU5EOiJCRUhJTkQifSxDb250YWlubWVudDp7V0lUSElOOiJXSVRISU4iLE9VVFNLSVJUUzoiT1VUU0tJUlRTIixORUFSOiJORUFSIn0sVHJhbnNpdFN0YXRpb246VzksVHJhbnNpdFN0b3A6VURiLFRyYW5zaXRBZ2VuY3k6VERiLFRyYW5zaXRMaW5lOlNEYixUcmFuc2l0SWNvbjpWOSxUcmFuc2l0VmVoaWNsZVR5cGU6e1JBSUw6IlJBSUwiLE1FVFJPX1JBSUw6Ik1FVFJPX1JBSUwiLFNVQldBWToiU1VCV0FZIixUUkFNOiJUUkFNIixNT05PUkFJTDoiTU9OT1JBSUwiLEhFQVZZX1JBSUw6IkhFQVZZX1JBSUwiLENPTU1VVEVSX1RSQUlOOiJDT01NVVRFUl9UUkFJTiIsSElHSF9TUEVFRF9UUkFJTjoiSElHSF9TUEVFRF9UUkFJTiIsTE9OR19ESVNUQU5DRV9UUkFJTjoiTE9OR19ESVNUQU5DRV9UUkFJTiIsCkJVUzoiQlVTIixJTlRFUkNJVFlfQlVTOiJJTlRFUkNJVFlfQlVTIixUUk9MTEVZQlVTOiJUUk9MTEVZQlVTIixTSEFSRV9UQVhJOiJTSEFSRV9UQVhJIixDT0FDSDoiQ09BQ0giLEZFUlJZOiJGRVJSWSIsQ0FCTEVfQ0FSOiJDQUJMRV9DQVIiLEdPTkRPTEFfTElGVDoiR09ORE9MQV9MSUZUIixGVU5JQ1VMQVI6IkZVTklDVUxBUiIsU1BFQ0lBTDoiU1BFQ0lBTCIsSE9SU0VfQ0FSUklBR0U6IkhPUlNFX0NBUlJJQUdFIixBSVJQTEFORToiQUlSUExBTkUifSxQbGFjZVNlbGVjdEV2ZW50OkE4LFNlYXJjaEJ5VGV4dFJhbmtCeTp2b2lkIDAsU2VhcmNoQnlUZXh0UmFua1ByZWZlcmVuY2U6bjksU2VhcmNoTmVhcmJ5UmFua1ByZWZlcmVuY2U6bzksQXV0b2NvbXBsZXRlU3VnZ2VzdGlvbjpFOCxQbGFjZVByZWRpY3Rpb246VCQsRm9ybWF0dGFibGVUZXh0OlUkLFN0cmluZ1JhbmdlOlNFYixQbGFjZUF1dG9jb21wbGV0ZUVsZW1lbnQ6WiQsUGxhY2VQcmVkaWN0aW9uU2VsZWN0RXZlbnQ6WkViLApCYXNpY1BsYWNlQXV0b2NvbXBsZXRlRWxlbWVudDpXJCxBZHZhbmNlZFBsYWNlRGV0YWlsc0VsZW1lbnQ6dm9pZCAwLEFkdmFuY2VkUGxhY2VEZXRhaWxzQ29tcGFjdEVsZW1lbnQ6dm9pZCAwLFBsYWNlRGV0YWlsc0VsZW1lbnQ6RiQsUGxhY2VEZXRhaWxzQ29tcGFjdEVsZW1lbnQ6RCQsUGxhY2VEZXRhaWxzT3JpZW50YXRpb246ejksUGxhY2VEZXRhaWxzTG9jYXRpb25SZXF1ZXN0RWxlbWVudDpsOCxQbGFjZURldGFpbHNQbGFjZVJlcXVlc3RFbGVtZW50Oms4LFBsYWNlQ29udGVudENvbmZpZ0VsZW1lbnQ6VDcsUGxhY2VTdGFuZGFyZENvbnRlbnRFbGVtZW50OlU3LFBsYWNlQWxsQ29udGVudEVsZW1lbnQ6VjcsUGxhY2VBY2Nlc3NpYmxlRW50cmFuY2VJY29uRWxlbWVudDpCOSxQbGFjZUFkZHJlc3NFbGVtZW50OkM5LFBsYWNlQXR0cmlidXRpb25FbGVtZW50Onk5LEF0dHJpYnV0aW9uQ29sb3I6eDksUGxhY2VNZWRpYUVsZW1lbnQ6YiQsTWVkaWFTaXplOnc5LFBsYWNlTmFtZUVsZW1lbnQ6dm9pZCAwLApQbGFjZU9wZW5Ob3dTdGF0dXNFbGVtZW50OmMkLFBsYWNlUHJpY2VFbGVtZW50OmwkLFBsYWNlUmF0aW5nRWxlbWVudDpuJCxQbGFjZVR5cGVFbGVtZW50OnIkLFBsYWNlV2Vic2l0ZUVsZW1lbnQ6dCQsUGxhY2VQaG9uZU51bWJlckVsZW1lbnQ6ZSQsUGxhY2VPcGVuaW5nSG91cnNFbGVtZW50OmQkLFBsYWNlU3VtbWFyeUVsZW1lbnQ6cSQsUGxhY2VUeXBlU3BlY2lmaWNIaWdobGlnaHRzRWxlbWVudDpzJCxQbGFjZVJldmlld1N1bW1hcnlFbGVtZW50Om8kLFBsYWNlUmV2aWV3c0VsZW1lbnQ6cCQsUGxhY2VQbHVzQ29kZUVsZW1lbnQ6ZiQsUGxhY2VGZWF0dXJlTGlzdEVsZW1lbnQ6RDksUGxhY2VCdXR0b25FbGVtZW50OnZvaWQgMCxQbGFjZUxpbmtFbGVtZW50OnZvaWQgMCxQbGFjZVNlYXJjaEVsZW1lbnQ6UyQsQWR2YW5jZWRQbGFjZUxpc3RFbGVtZW50OnZvaWQgMCxBZHZhbmNlZFBsYWNlU2VhcmNoRWxlbWVudDp2b2lkIDAsUGxhY2VTZWFyY2hBdHRyaWJ1dGlvblBvc2l0aW9uOk4kLApQbGFjZVNlYXJjaE9yaWVudGF0aW9uOk0kLFBsYWNlTmVhcmJ5U2VhcmNoUmVxdWVzdEVsZW1lbnQ6USQsUGxhY2VUZXh0U2VhcmNoUmVxdWVzdEVsZW1lbnQ6UiQsUGxhY2VDb250ZXh0dWFsRWxlbWVudDp2b2lkIDAsUGxhY2VDb250ZXh0dWFsTGlzdENvbmZpZ0VsZW1lbnQ6dm9pZCAwLFBsYWNlQ29udGV4dHVhbExpc3RMYXlvdXQ6dm9pZCAwLFBsYWNlQ29udGV4dHVhbExpc3RNYXBNb2RlOnZvaWQgMCxjb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZDooKT0+e18ueG8oImdtcC1wbGFjZS1hdXRvY29tcGxldGUiLFokKTtfLnhvKCJnbXAtYmFzaWMtcGxhY2UtYXV0b2NvbXBsZXRlIixXJCk7UDcoKTtJRWJ8fChJRWI9ITApO0dFYnx8KEdFYj0hMCk7T0VifHwoT0ViPSEwKTtSRWJ8fChSRWI9ITApO0FFYnx8KEFFYj0hMCl9LFRHOmZ1bmN0aW9uKGE9e30sYj17fSl7SiQ9ITA7YT1uZXcgSyQoYSk7YS5ndihiKTthLmFwcGVuZENoaWxkKG5ldyBrOCk7YS5hcHBlbmRDaGlsZChuZXcgVDcpLmFwcGVuZENoaWxkKG5ldyBDOSk7CkokPSExO3JldHVybiBhfSxRRzpmdW5jdGlvbihhPXt9LGI9e30pe0gkPSEwO2E9bmV3IEkkKGEpO2EuZ3YoYik7YS5hcHBlbmRDaGlsZChuZXcgazgpO2I9YS5hcHBlbmRDaGlsZChuZXcgVDcpO2IuYXBwZW5kQ2hpbGQobmV3IEM5KTtiLmFwcGVuZENoaWxkKG5ldyBCOSk7SCQ9ITE7cmV0dXJuIGF9fTtfLnRtKCQkLFsiY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQiLCJURyIsIlFHIl0pO18uc20oJCQpO18uVWEuZ29vZ2xlLm1hcHMucGxhY2VzPXsuLi4kJCxSYXRpbmdMZXZlbDp7R09PRDowLFZFUllfR09PRDoxLEVYQ0VMTEVOVDoyLEVYVFJBT1JESU5BUlk6M319O18uSWwoInBsYWNlcyIsJCQpO30pOwo="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/secure.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.969Z","timestamp":1785154927969,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/secure.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:20 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=5onked7SRj3iQLtFkaUCJsNBhNPPBkXr47ny%2BQNvILFZyyg0hcUvfY6NlQACRmZPs079wBcCK8g3hIgCe1NT5zFkcyxJC6Yy3iz4gJ4L3CfeotzEZrtLxBxP%2FWtdSKu7ZBWG4G9sueo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bdd70b28a-OSL\r\ncontent-length: 2563\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2563,"size_decoded":3325,"mime_type":"image/png","magic":"PNG image data, 76 x 78, 8-bit/color RGBA, non-interlaced","md5":"7adc4a56b04afe367d9f172499c976dd","sha1":"9180f0b865a276175deb33365560d60ec2bbdd31","sha256":"ee83a4da0fd09ee6afe0ecb4687f6407195540430a8b1e3edf4e8fc37df79bbd","sha512":"e4f7db97ea9ddcd2ff1cdcac848f93d40994187f576c1c50655e3e6be443ba8f1d115ebe3fe21b1988c992036b572a47d6346eef76a5f6eb6a2201828e86b73c","ssdeep":"","tlshash":"02511a8cfa525442228da58208f76017ce6740e85d65ecbae0ddcce70cb47b9406d6db","first_seen":"2025-05-13T12:23:37.691854Z","last_seen":"2026-07-27T12:23:18.798653Z","times_seen":10,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEwAAABOCAYAAACKX/AgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjAzMTZGRUFFMzk3MDExRThCMTcyQjVBNDQyMEM1MEVBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjAzMTZGRUFGMzk3MDExRThCMTcyQjVBNDQyMEM1MEVBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDMxNkZFQUMzOTcwMTFFOEIxNzJCNUE0NDIwQzUwRUEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDMxNkZFQUQzOTcwMTFFOEIxNzJCNUE0NDIwQzUwRUEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6o10rxAAAGeUlEQVR42uxcjZWkNgze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"}},"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/localbitcoins-logo-2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.986Z","timestamp":1785154927986,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/localbitcoins-logo-2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:06 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=4mS2EysU1HCLoj7nSf%2BInKJu2rKhdj%2FgbPl7dUfRFknQFV5XQxaxgxlHrXDq6NrDBiYTcFaMi2obbGvMhzlpQF7sBeibcImsyPHhgTRCAQ6YMngVj%2BDO5AX0tbU%2B6tig9iUn6W5V8No%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed80b28a-OSL\r\ncontent-length: 102751\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":102751,"size_decoded":103519,"mime_type":"image/png","magic":"PNG image data, 1334 x 1001, 8-bit/color RGBA, non-interlaced","md5":"ac326ca118d8e30f88bd17bdd52c2544","sha1":"824bf80fdd7231b72a3061d3ec9c068995ac044a","sha256":"e6f64af4d889b072adf7fa37fb1ece81bde155d0b2397fb0396df58209a704fe","sha512":"ff540f2413906af0c865d8de134323b37484585be1d0662a4f5a970719043c497c730dc28bc0ea941048422a64892e4a9878055ae0795ece5a43e98b02c7f668","ssdeep":"3072:4EO4YD17f2854DAJgjggBFNPl1BG01uKC6r:5O4YD17+HsJgjj59hD","tlshash":"28a39b8beda0705f20ee65501ba3bac8d6b4648331966f1f8f1689720c671eaf131d77","first_seen":"2026-07-27T05:58:00.839306Z","last_seen":"2026-07-27T12:23:18.835794Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAABTYAAAPpCAYAAAAvknL4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAA/45JREFUeF7s3QeYJFW5//G+f6/CwoaZrqruGVQUc7x6rznrNcerXMwgeXenJ3RV98wuiIqiYkIFA4qieEWUjKASdtIGlpxzDgubw0x3dZhc//ft2dGN7ITuqerqr8/TDyo9XVWfc7rOqV+fEInwHwQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB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IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg8P/boQMBAAAAAEH+1oNcCBkwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMDAZCA//X9nha5wjQAAAABJRU5ErkJggg=="}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/InitMapsJwt","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.684Z","timestamp":1785154929684,"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":"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":"OPTIONS /$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/InitMapsJwt HTTP/1.1\r\nHost: maps.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-type,x-goog-gmp-client-signals,x-goog-maps-session-id,x-user-agent\r\nReferer: https://www.google.com/\r\nOrigin: https://www.google.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://www.google.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-gmp-client-signals,x-goog-maps-session-id,x-user-agent\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncontent-type: text/html\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=8\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":635,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/GetPlaceWidgetMetadata","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:09.730Z","timestamp":1785154929730,"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":"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":"OPTIONS /$rpc/google.internal.maps.mapsjs.v1.MapsJsInternalService/GetPlaceWidgetMetadata HTTP/1.1\r\nHost: maps.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-type,x-goog-gmp-client-signals,x-goog-maps-session-id,x-user-agent\r\nReferer: https://www.google.com/\r\nOrigin: https://www.google.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://www.google.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-gmp-client-signals,x-goog-maps-session-id,x-user-agent\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 12:22:09 GMT\r\ncontent-type: text/html\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=7\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":635,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-11T11:57:30.813986Z","times_seen":17835961,"resource_available":true,"data":""}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/parallax.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.936Z","timestamp":1785154927936,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/parallax.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BrN%2Fl62w2Jpzz1ByU6uCONRifYH6s5GMGTCH6%2B53Fkdrm%2BlPT8Ay2LamAnWWeFXtsMh0ZueOoEJuOxkIkEFbPkPbSWw4pVDObfLZz1eO1JxcsGqa0d33Gr7l%2FIAO4UCPd%2FKcZzTftug%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b9d5fb28a-OSL\r\ncontent-length: 2121\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":6666,"size_decoded":2900,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (6478), with CRLF line terminators","md5":"ce1dcbe40051b86b9d4bc1f524576f1e","sha1":"734d85ac56a048592f7d9ca0d1c9f6abcccba760","sha256":"2536b1e464f9c3cb7496d6fbfc65dd75b34eaf09fe81fda9522759903df3f5b2","sha512":"37cfd9ae2c65db1f996b306bceaf2f840828856b8cc62ab5e1bc868ed69babb59483c5b043e1a3711240b7e0f57272cd7813c2574b029af8f68c8d002c4475b8","ssdeep":"96:tJxRzw7xb6yrO0H3xZmOfVkN9MrbInQ/3Stg6Td0ySI+H6b3DKBBMURSFVEmDJTZ:jLk1b6yb3/mr9NQitg6Tu2YyDSjCVZ","tlshash":"c1d143466175201343abf392542e0609a236703d3a07806d7fbc94efed76e19237bbb8","first_seen":"2023-03-09T12:12:27Z","last_seen":"2026-07-27T12:23:18.814911Z","times_seen":156,"resource_available":true,"data":"LyohDQogKiBwYXJhbGxheC5qcyB2MS40LjIgKGh0dHA6Ly9waXhlbGNvZy5naXRodWIuaW8vcGFyYWxsYXguanMvKQ0KICogQGNvcHlyaWdodCAyMDE2IFBpeGVsQ29nLCBJbmMuDQogKiBAbGljZW5zZSBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9waXhlbGNvZy9wYXJhbGxheC5qcy9ibG9iL21hc3Rlci9MSUNFTlNFKQ0KICovDQohZnVuY3Rpb24odCxpLGUscyl7ZnVuY3Rpb24gbyhpLGUpe3ZhciBoPXRoaXM7Im9iamVjdCI9PXR5cGVvZiBlJiYoZGVsZXRlIGUucmVmcmVzaCxkZWxldGUgZS5yZW5kZXIsdC5leHRlbmQodGhpcyxlKSksdGhpcy4kZWxlbWVudD10KGkpLCF0aGlzLmltYWdlU3JjJiZ0aGlzLiRlbGVtZW50LmlzKCJpbWciKSYmKHRoaXMuaW1hZ2VTcmM9dGhpcy4kZWxlbWVudC5hdHRyKCJzcmMiKSk7dmFyIHI9KHRoaXMucG9zaXRpb24rIiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goL1xTKy9nKXx8W107aWYoci5sZW5ndGg8MSYmci5wdXNoKCJjZW50ZXIiKSwxPT1yLmxlbmd0aCYmci5wdXNoKHJbMF0pLCgidG9wIj09clswXXx8ImJvdHRvbSI9PXJbMF18fCJsZWZ0Ij09clsxXXx8InJpZ2h0Ij09clsxXSkmJihyPVtyWzFdLHJbMF1dKSx0aGlzLnBvc2l0aW9uWCE9cyYmKHJbMF09dGhpcy5wb3NpdGlvblgudG9Mb3dlckNhc2UoKSksdGhpcy5wb3NpdGlvblkhPXMmJihyWzFdPXRoaXMucG9zaXRpb25ZLnRvTG93ZXJDYXNlKCkpLGgucG9zaXRpb25YPXJbMF0saC5wb3NpdGlvblk9clsxXSwibGVmdCIhPXRoaXMucG9zaXRpb25YJiYicmlnaHQiIT10aGlzLnBvc2l0aW9uWCYmKHRoaXMucG9zaXRpb25YPWlzTmFOKHBhcnNlSW50KHRoaXMucG9zaXRpb25YKSk/ImNlbnRlciI6cGFyc2VJbnQodGhpcy5wb3NpdGlvblgpKSwidG9wIiE9dGhpcy5wb3NpdGlvblkmJiJib3R0b20iIT10aGlzLnBvc2l0aW9uWSYmKHRoaXMucG9zaXRpb25ZPWlzTmFOKHBhcnNlSW50KHRoaXMucG9zaXRpb25ZKSk/ImNlbnRlciI6cGFyc2VJbnQodGhpcy5wb3NpdGlvblkpKSx0aGlzLnBvc2l0aW9uPXRoaXMucG9zaXRpb25YKyhpc05hTih0aGlzLnBvc2l0aW9uWCk/IiI6InB4IikrIiAiK3RoaXMucG9zaXRpb25ZKyhpc05hTih0aGlzLnBvc2l0aW9uWSk/IiI6InB4IiksbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQb2R8aVBob25lfGlQYWQpLykpcmV0dXJuIHRoaXMuaW1hZ2VTcmMmJnRoaXMuaW9zRml4JiYhdGhpcy4kZWxlbWVudC5pcygiaW1nIikmJnRoaXMuJGVsZW1lbnQuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK3RoaXMuaW1hZ2VTcmMrIikiLGJhY2tncm91bmRTaXplOiJjb3ZlciIsYmFja2dyb3VuZFBvc2l0aW9uOnRoaXMucG9zaXRpb259KSx0aGlzO2lmKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyhBbmRyb2lkKS8pKXJldHVybiB0aGlzLmltYWdlU3JjJiZ0aGlzLmFuZHJvaWRGaXgmJiF0aGlzLiRlbGVtZW50LmlzKCJpbWciKSYmdGhpcy4kZWxlbWVudC5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrdGhpcy5pbWFnZVNyYysiKSIsYmFja2dyb3VuZFNpemU6ImNvdmVyIixiYWNrZ3JvdW5kUG9zaXRpb246dGhpcy5wb3NpdGlvbn0pLHRoaXM7dGhpcy4kbWlycm9yPXQoIjxkaXYgLz4iKS5wcmVwZW5kVG8oImJvZHkiKTt2YXIgYT10aGlzLiRlbGVtZW50LmZpbmQoIj4ucGFyYWxsYXgtc2xpZGVyIiksbj0hMTswPT1hLmxlbmd0aD90aGlzLiRzbGlkZXI9dCgiPGltZyAvPiIpLnByZXBlbmRUbyh0aGlzLiRtaXJyb3IpOih0aGlzLiRzbGlkZXI9YS5wcmVwZW5kVG8odGhpcy4kbWlycm9yKSxuPSEwKSx0aGlzLiRtaXJyb3IuYWRkQ2xhc3MoInBhcmFsbGF4LW1pcnJvciIpLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIix6SW5kZXg6dGhpcy56SW5kZXgscG9zaXRpb246ImZpeGVkIix0b3A6MCxsZWZ0OjAsb3ZlcmZsb3c6ImhpZGRlbiJ9KSx0aGlzLiRzbGlkZXIuYWRkQ2xhc3MoInBhcmFsbGF4LXNsaWRlciIpLm9uZSgibG9hZCIsZnVuY3Rpb24oKXtoLm5hdHVyYWxIZWlnaHQmJmgubmF0dXJhbFdpZHRofHwoaC5uYXR1cmFsSGVpZ2h0PXRoaXMubmF0dXJhbEhlaWdodHx8dGhpcy5oZWlnaHR8fDEsaC5uYXR1cmFsV2lkdGg9dGhpcy5uYXR1cmFsV2lkdGh8fHRoaXMud2lkdGh8fDEpLGguYXNwZWN0UmF0aW89aC5uYXR1cmFsV2lkdGgvaC5uYXR1cmFsSGVpZ2h0LG8uaXNTZXR1cHx8by5zZXR1cCgpLG8uc2xpZGVycy5wdXNoKGgpLG8uaXNGcmVzaD0hMSxvLnJlcXVlc3RSZW5kZXIoKX0pLG58fCh0aGlzLiRzbGlkZXJbMF0uc3JjPXRoaXMuaW1hZ2VTcmMpLCh0aGlzLm5hdHVyYWxIZWlnaHQmJnRoaXMubmF0dXJhbFdpZHRofHx0aGlzLiRzbGlkZXJbMF0uY29tcGxldGV8fGEubGVuZ3RoPjApJiZ0aGlzLiRzbGlkZXIudHJpZ2dlcigibG9hZCIpfWZ1bmN0aW9uIGgocyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBoPXQodGhpcykscj0ib2JqZWN0Ij09dHlwZW9mIHMmJnM7dGhpcz09aXx8dGhpcz09ZXx8aC5pcygiYm9keSIpP28uY29uZmlndXJlKHIpOmguZGF0YSgicHgucGFyYWxsYXgiKT8ib2JqZWN0Ij09dHlwZW9mIHMmJnQuZXh0ZW5kKGguZGF0YSgicHgucGFyYWxsYXgiKSxyKToocj10LmV4dGVuZCh7fSxoLmRhdGEoKSxyKSxoLmRhdGEoInB4LnBhcmFsbGF4IixuZXcgbyh0aGlzLHIpKSksInN0cmluZyI9PXR5cGVvZiBzJiYoImRlc3Ryb3kiPT1zP28uZGVzdHJveSh0aGlzKTpvW3NdKCkpfSl9IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT1bIm1zIiwibW96Iiwid2Via2l0IiwibyJdLHM9MDtzPGUubGVuZ3RoJiYhaS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7KytzKWkucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWlbZVtzXSsiUmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0saS5jYW5jZWxBbmltYXRpb25GcmFtZT1pW2Vbc10rIkNhbmNlbEFuaW1hdGlvbkZyYW1lIl18fGlbZVtzXSsiQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lIl07aS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fChpLnJlcXVlc3RBbmltYXRpb25GcmFtZT1mdW5jdGlvbihlKXt2YXIgcz0obmV3IERhdGUpLmdldFRpbWUoKSxvPU1hdGgubWF4KDAsMTYtKHMtdCkpLGg9aS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZShzK28pfSxvKTtyZXR1cm4gdD1zK28saH0pLGkuY2FuY2VsQW5pbWF0aW9uRnJhbWV8fChpLmNhbmNlbEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKHQpe2NsZWFyVGltZW91dCh0KX0pfSgpLHQuZXh0ZW5kKG8ucHJvdG90eXBlLHtzcGVlZDouMixibGVlZDowLHpJbmRleDotMTAwLGlvc0ZpeDohMCxhbmRyb2lkRml4OiEwLHBvc2l0aW9uOiJjZW50ZXIiLG92ZXJTY3JvbGxGaXg6ITEscmVmcmVzaDpmdW5jdGlvbigpe3RoaXMuYm94V2lkdGg9dGhpcy4kZWxlbWVudC5vdXRlcldpZHRoKCksdGhpcy5ib3hIZWlnaHQ9dGhpcy4kZWxlbWVudC5vdXRlckhlaWdodCgpKzIqdGhpcy5ibGVlZCx0aGlzLmJveE9mZnNldFRvcD10aGlzLiRlbGVtZW50Lm9mZnNldCgpLnRvcC10aGlzLmJsZWVkLHRoaXMuYm94T2Zmc2V0TGVmdD10aGlzLiRlbGVtZW50Lm9mZnNldCgpLmxlZnQsdGhpcy5ib3hPZmZzZXRCb3R0b209dGhpcy5ib3hPZmZzZXRUb3ArdGhpcy5ib3hIZWlnaHQ7dmFyIHQ9by53aW5IZWlnaHQsaT1vLmRvY0hlaWdodCxlPU1hdGgubWluKHRoaXMuYm94T2Zmc2V0VG9wLGktdCkscz1NYXRoLm1heCh0aGlzLmJveE9mZnNldFRvcCt0aGlzLmJveEhlaWdodC10LDApLGg9dGhpcy5ib3hIZWlnaHQrKGUtcykqKDEtdGhpcy5zcGVlZCl8MCxyPSh0aGlzLmJveE9mZnNldFRvcC1lKSooMS10aGlzLnNwZWVkKXwwO2lmKGgqdGhpcy5hc3BlY3RSYXRpbz49dGhpcy5ib3hXaWR0aCl7dGhpcy5pbWFnZVdpZHRoPWgqdGhpcy5hc3BlY3RSYXRpb3wwLHRoaXMuaW1hZ2VIZWlnaHQ9aCx0aGlzLm9mZnNldEJhc2VUb3A9cjt2YXIgYT10aGlzLmltYWdlV2lkdGgtdGhpcy5ib3hXaWR0aDt0aGlzLm9mZnNldExlZnQ9ImxlZnQiPT10aGlzLnBvc2l0aW9uWD8wOiJyaWdodCI9PXRoaXMucG9zaXRpb25YPy1hOmlzTmFOKHRoaXMucG9zaXRpb25YKT8tYS8yfDA6TWF0aC5tYXgodGhpcy5wb3NpdGlvblgsLWEpfWVsc2V7dGhpcy5pbWFnZVdpZHRoPXRoaXMuYm94V2lkdGgsdGhpcy5pbWFnZUhlaWdodD10aGlzLmJveFdpZHRoL3RoaXMuYXNwZWN0UmF0aW98MCx0aGlzLm9mZnNldExlZnQ9MDt2YXIgYT10aGlzLmltYWdlSGVpZ2h0LWg7dGhpcy5vZmZzZXRCYXNlVG9wPSJ0b3AiPT10aGlzLnBvc2l0aW9uWT9yOiJib3R0b20iPT10aGlzLnBvc2l0aW9uWT9yLWE6aXNOYU4odGhpcy5wb3NpdGlvblkpP3ItYS8yfDA6citNYXRoLm1heCh0aGlzLnBvc2l0aW9uWSwtYSl9fSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgdD1vLnNjcm9sbFRvcCxpPW8uc2Nyb2xsTGVmdCxlPXRoaXMub3ZlclNjcm9sbEZpeD9vLm92ZXJTY3JvbGw6MCxzPXQrby53aW5IZWlnaHQ7dGhpcy5ib3hPZmZzZXRCb3R0b20+dCYmdGhpcy5ib3hPZmZzZXRUb3A8PXM/KHRoaXMudmlzaWJpbGl0eT0idmlzaWJsZSIsdGhpcy5taXJyb3JUb3A9dGhpcy5ib3hPZmZzZXRUb3AtdCx0aGlzLm1pcnJvckxlZnQ9dGhpcy5ib3hPZmZzZXRMZWZ0LWksdGhpcy5vZmZzZXRUb3A9dGhpcy5vZmZzZXRCYXNlVG9wLXRoaXMubWlycm9yVG9wKigxLXRoaXMuc3BlZWQpKTp0aGlzLnZpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy4kbWlycm9yLmNzcyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KSIsdmlzaWJpbGl0eTp0aGlzLnZpc2liaWxpdHksdG9wOnRoaXMubWlycm9yVG9wLWUsbGVmdDp0aGlzLm1pcnJvckxlZnQsaGVpZ2h0OnRoaXMuYm94SGVpZ2h0LHdpZHRoOnRoaXMuYm94V2lkdGh9KSx0aGlzLiRzbGlkZXIuY3NzKHt0cmFuc2Zvcm06InRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpIixwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDp0aGlzLm9mZnNldFRvcCxsZWZ0OnRoaXMub2Zmc2V0TGVmdCxoZWlnaHQ6dGhpcy5pbWFnZUhlaWdodCx3aWR0aDp0aGlzLmltYWdlV2lkdGgsbWF4V2lkdGg6Im5vbmUifSl9fSksdC5leHRlbmQobyx7c2Nyb2xsVG9wOjAsc2Nyb2xsTGVmdDowLHdpbkhlaWdodDowLHdpbldpZHRoOjAsZG9jSGVpZ2h0OjE8PDMwLGRvY1dpZHRoOjE8PDMwLHNsaWRlcnM6W10saXNSZWFkeTohMSxpc0ZyZXNoOiExLGlzQnVzeTohMSxzZXR1cDpmdW5jdGlvbigpe2lmKCF0aGlzLmlzUmVhZHkpe3ZhciBzPXQoZSksaD10KGkpLHI9ZnVuY3Rpb24oKXtvLndpbkhlaWdodD1oLmhlaWdodCgpLG8ud2luV2lkdGg9aC53aWR0aCgpLG8uZG9jSGVpZ2h0PXMuaGVpZ2h0KCksby5kb2NXaWR0aD1zLndpZHRoKCl9LGE9ZnVuY3Rpb24oKXt2YXIgdD1oLnNjcm9sbFRvcCgpLGk9by5kb2NIZWlnaHQtby53aW5IZWlnaHQsZT1vLmRvY1dpZHRoLW8ud2luV2lkdGg7by5zY3JvbGxUb3A9TWF0aC5tYXgoMCxNYXRoLm1pbihpLHQpKSxvLnNjcm9sbExlZnQ9TWF0aC5tYXgoMCxNYXRoLm1pbihlLGguc2Nyb2xsTGVmdCgpKSksby5vdmVyU2Nyb2xsPU1hdGgubWF4KHQtaSxNYXRoLm1pbih0LDApKX07aC5vbigicmVzaXplLnB4LnBhcmFsbGF4IGxvYWQucHgucGFyYWxsYXgiLGZ1bmN0aW9uKCl7cigpLG8uaXNGcmVzaD0hMSxvLnJlcXVlc3RSZW5kZXIoKX0pLm9uKCJzY3JvbGwucHgucGFyYWxsYXggbG9hZC5weC5wYXJhbGxheCIsZnVuY3Rpb24oKXthKCksby5yZXF1ZXN0UmVuZGVyKCl9KSxyKCksYSgpLHRoaXMuaXNSZWFkeT0hMH19LGNvbmZpZ3VyZTpmdW5jdGlvbihpKXsib2JqZWN0Ij09dHlwZW9mIGkmJihkZWxldGUgaS5yZWZyZXNoLGRlbGV0ZSBpLnJlbmRlcix0LmV4dGVuZCh0aGlzLnByb3RvdHlwZSxpKSl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt0LmVhY2godGhpcy5zbGlkZXJzLGZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoKCl9KSx0aGlzLmlzRnJlc2g9ITB9LHJlbmRlcjpmdW5jdGlvbigpe3RoaXMuaXNGcmVzaHx8dGhpcy5yZWZyZXNoKCksdC5lYWNoKHRoaXMuc2xpZGVycyxmdW5jdGlvbigpe3RoaXMucmVuZGVyKCl9KX0scmVxdWVzdFJlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5pc0J1c3l8fCh0aGlzLmlzQnVzeT0hMCxpLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3QucmVuZGVyKCksdC5pc0J1c3k9ITF9KSl9LGRlc3Ryb3k6ZnVuY3Rpb24oZSl7dmFyIHMsaD10KGUpLmRhdGEoInB4LnBhcmFsbGF4Iik7Zm9yKGguJG1pcnJvci5yZW1vdmUoKSxzPTA7czx0aGlzLnNsaWRlcnMubGVuZ3RoO3MrPTEpdGhpcy5zbGlkZXJzW3NdPT1oJiZ0aGlzLnNsaWRlcnMuc3BsaWNlKHMsMSk7dChlKS5kYXRhKCJweC5wYXJhbGxheCIsITEpLDA9PT10aGlzLnNsaWRlcnMubGVuZ3RoJiYodChpKS5vZmYoInNjcm9sbC5weC5wYXJhbGxheCByZXNpemUucHgucGFyYWxsYXggbG9hZC5weC5wYXJhbGxheCIpLHRoaXMuaXNSZWFkeT0hMSxvLmlzU2V0dXA9ITEpfX0pO3ZhciByPXQuZm4ucGFyYWxsYXg7dC5mbi5wYXJhbGxheD1oLHQuZm4ucGFyYWxsYXguQ29uc3RydWN0b3I9byx0LmZuLnBhcmFsbGF4Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbi5wYXJhbGxheD1yLHRoaXN9LHQoZSkub24oInJlYWR5LnB4LnBhcmFsbGF4LmRhdGEtYXBpIixmdW5jdGlvbigpe3QoJ1tkYXRhLXBhcmFsbGF4PSJzY3JvbGwiXScpLnBhcmFsbGF4KCl9KX0oalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCk7"}},"time_used":147,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":147,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/flags/Singapore.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.980Z","timestamp":1785154927980,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/flags/Singapore.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:56:14 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=jLq0qV6KumdGGJjSv1%2FzMxJPXXuE76yG5xIxaMnXOF3es4c4M6OxnhA20XrciHxdT%2B4RJrA3opfGYMiZ%2FIKn2N6sLwcPwX%2BY64CClZC5vHyLZRaunkUznMWI3%2BJPF%2BNSiMGIPQDSA2k%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bed79b28a-OSL\r\ncontent-length: 2199\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":2199,"size_decoded":2969,"mime_type":"image/png","magic":"PNG image data, 150 x 100, 8-bit/color RGBA, non-interlaced","md5":"f3054bce6d2a8a601fb14dd2a2654518","sha1":"90807a799dcd923a0ef1701f6c4015e93fd4e565","sha256":"4fb74959b408d7fccc2d56dd39a23eaface59d2aaa3f58f584967e2dba6e0d62","sha512":"ab1f602b682ab6b3379ce445373c0aab0f078a7b7a22ceb8c55ac0ef6207bba2e64aa1ec6ab9736b122cff33260e56845e18ab39996298b68ba8dd8aad3d6433","ssdeep":"","tlshash":"6841f99d1a889c3be4f08365c5b60457f72d031d6a229738e716521e90714edb3a038f","first_seen":"2026-07-27T05:58:00.889629Z","last_seen":"2026-07-27T12:23:18.815594Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/s1.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.004Z","timestamp":1785154928004,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/s1.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:55:18 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=OXnDBxqDoRuDHgqm%2Fv8qDZz74cNxqOHy82m%2BX4h7AZGeta1dtl0GbssXpOlmvPirnEhIlEZVK8tRH%2BWbMXpO4x17%2BSMxruK9HCKYeUA7XbHoHf47M5rtyrKXciD9xGmbsPHmM5hpfaw%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d90b28a-OSL\r\ncontent-length: 93644\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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":93644,"size_decoded":94411,"mime_type":"image/png","magic":"PNG image data, 1240 x 614, 8-bit/color RGBA, non-interlaced","md5":"a55c77a8540cc2e7cc9e01ecbde4f5d1","sha1":"9ede2d811153f6666c35b0c7de5ed82e1d93292e","sha256":"7a7bbc1bcd13efd2c90877ae876c12ca5404fc55b3ac64e9a8b55657711a2c8c","sha512":"68be9f7e8d168fb97d57e2117612de959e7941bbd02a7db36525a237930bb25f94d80881dcbe021afbe5eb8ab6fbcbdcebe3faea7b223dffeffe7cd8a3436457","ssdeep":"1536:yCug0dwL4idjdpxgLD9zYNoiJgJJ/MAYh1gjCCazjzN3JEmxu8sWsmJLY7tyNAQs:yCr4ixfGLDqqwgXMVh6CRzNHxu8RhLc9","tlshash":"8393f25b6c81fa1c4b63d430e8b9bfa6654e61f5df010758c0e020ab776c8c56ebed58","first_seen":"2026-07-27T05:58:00.895334Z","last_seen":"2026-07-27T12:23:18.812239Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo2.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.007Z","timestamp":1785154928007,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo2.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:52 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=UHRhHDrmb%2BWhJVfvl3RZSfW6Er7GMQvRL544JXsbXMAvT%2BQzD3x2uSDaqSj8p3mmk2x65pDy%2Bdy8LQyKsE9koGcrZ34Sg9ERRolKgvCvuqbNKJjz9cQuW6ehPgXoWVY0fxDBn9xxUw0%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9c0d93b28a-OSL\r\ncontent-length: 3747\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":3747,"size_decoded":4511,"mime_type":"image/png","magic":"PNG image data, 155 x 57, 8-bit/color RGBA, non-interlaced","md5":"a366f0474f5dfaff1f5e8a907cd7f914","sha1":"bdaa994e98b5f925963502da8a0094904f9255f9","sha256":"31aaf9c8f7d1eeafa30fdd52f6fb548beb270fba6a2c339b0da0f21bca166992","sha512":"a8b5d8ab69b49028d10474fe1af593179e59dd81a9924a6059dfed2f59b164a0532fe1e85c7510863dad8287f63e388883c0a2b33020ba957e12f9cc157feb5a","ssdeep":"","tlshash":"58714ccded85ac1170a4b7a644ba49a709363f40d6b2d267b8ada41219941bf2015fcf","first_seen":"2026-07-27T05:58:00.782772Z","last_seen":"2026-07-27T12:23:18.812911Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAAA5CAYAAAAhtVlpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM1NEEzRTc1M0NBMjExRThBOTBDOEQzMjY5RDdBRTI3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM1NEEzRTc2M0NBMjExRThBOTBDOEQzMjY5RDdBRTI3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzU0QTNFNzMzQ0EyMTFFOEE5MEM4RDMyNjlEN0FFMjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzU0QTNFNzQzQ0EyMTFFOEE5MEM4RDMyNjlEN0FFMjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz76uMFEAAALGUlEQVR42uxdsXLbRhBd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"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"maps.googleapis.com/maps-api-v3/api/js/65/10a/main.js","fqdn":"maps.googleapis.com","domain":"maps.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.112.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:08.831Z","timestamp":1785154928831,"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":"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 /maps-api-v3/api/js/65/10a/main.js HTTP/1.1\r\nHost: maps.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://www.google.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/maps-api-js\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"maps-api-js\"\r\nreport-to: {\"group\":\"maps-api-js\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/maps-api-js\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 84683\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:01:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:01:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 08:01:32 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 411663\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":298828,"size_decoded":85522,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (542)","md5":"d2078089c3631c1895c20cedeb888c10","sha1":"fda10194f3f126b3191699c5d147f05feb7c8f98","sha256":"b8c7c4e37e6b36e4facd47f199460cb514fb1da2c4a984a8b6cbd5070f28aa2b","sha512":"85f7483c31158cd1da1fd84c49f7d9f2d8fde1bcbfd5a0eda8f974c4068626b088f85d8580c95e256bd273cdeaca9c1d137e3e6bb72dc0f87d4814b9c25d8287","ssdeep":"3072:KzHovwhh+hNI8cMS9xlgb7HBrT+kQqbdhfDnT8tSsZ95urOHLNeM6NGPbQ7RpYS:KzuHI8cMGcbBrykCh5ucLNbLPMRWS","tlshash":"00543e947362716287b6e4b4502b0007f17ea49af00c89acf69cddf2aef994941b7f74","first_seen":"2026-07-22T18:28:15.502166Z","last_seen":"2026-07-28T15:47:12.157718Z","times_seen":539,"resource_available":true,"data":"KGZ1bmN0aW9uKF8pey8qCgogQ29weXJpZ2h0IFRoZSBDbG9zdXJlIExpYnJhcnkgQXV0aG9ycy4KIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwovKgoKIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KLyoKCk1hdGgudXVpZC5qcyAodjEuNCkKaHR0cDovL3d3dy5icm9vZmEuY29tCm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbQpDb3B5cmlnaHQgKGMpIDIwMTAgUm9iZXJ0IEtpZWZmZXIKRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiovCi8qCgogQ29weXJpZ2h0IDIwMjEgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgYWFhLHJhLHFhLEJhLERhLEhhLEphLFNhLFJhLFhhLGNhYSxkYWEsdWIsemIsa2MsbGMsRmMsR2MsZmFhLG1kLHBkLGdhYSxzZCx5ZCxGZCxIZCxaZCxvZSx3ZSxNZSxOZSxPZSxlZixoZixqZixrYWEsb2FhLHNmLHVmLHZmLENmLHJhYSx0YWEsSGYsaWcsZGcsZmcsa2csb2cscGcscWcsRGcsaGcsdmFhLG9oLFhoLGJpLGNpLGdpLGhpLG5pLEFhYSxCYWEsdWksQ2FhLERhYSxVaSxWaSxIYWEsSWFhLHZqLEphYSxMYWEsSGosTWFhLE5hYSxPYWEsUGFhLFFhYSxSYWEsSmosU2FhLFdhYSxYYWEsYWJhLGRiYSxUaixTaixsYmEsbWJhLHBiYSxxayxyayxzayx0ayxyYmEsc2JhLHdiYSx0YmEsdmJhLHdrLHhiYSx5YmEsSGssemJhLEprLEJiYSxBYmEsQ2JhLExrLEViYSxGYmEsSmJhLE1iYSxRayxTayxUayxLYmEsTGJhLFFiYSxWayxVayxXayxYayxSYmEsWmssWWssVGJhLGNsLGRsLGVsLFZiYSxmbCxnbCxobCxpbCxXYmEsamwsa2wsWGJhLGxsLFliYSxiY2EsaGNhLG1jYSxuY2EsCnZsLHBjYSxxY2EscmNhLHVjYSx0Y2EsdmNhLHdjYSxGbCxzY2EseGNhLFVsLHpjYSxBY2EsQmNhLHFtLEVjYSx5bSxIY2EsSWNhLFFtLFJtLEtjYSxNY2EsY24sUGNhLFNjYSxubixBbixDbix6bixRbixZbixaY2EsJGNhLGFkYSxjZGEsY28saW8sam8sZGRhLGdkYSxpZGEsaGRhLGpkYSxvbyxrZGEscm8sc28sRG8sTW8sTm8scmRhLHNkYSxPbyxQbyx0ZGEsdWRhLFZvLHZkYSxZbyxBZGEsYnAsQ2RhLEVkYSxGZGEsZnAsSWRhLGxwLEpkYSxwcCxLZGEsc3AsTmRhLE9kYSxQZGEsUmRhLFNkYSxXZGEsWGRhLHZwLFlkYSxWZGEsVGRhLFVkYSwkZGEsWmRhLHhwLGJlYSxlZWEsZmVhLGhlYSxLcCxNcCxrZWEsbWVhLG5lYSxwZWEscmVhLHNlYSx0ZWEsdWVhLHZlYSx3ZWEseGVhLHllYSx6ZWEsQWVhLEJlYSxEZWEsRmVhLEdlYSxIZWEsTGVhLE1lYSxhcSxicSxjcSxQZWEsUWVhLFJlYSxTZWEsWGVhLFZlYSxiZmEsY2ZhLHpxLHlxLENxLHBmYSxzZmEsdGZhLHZmYSx4ZmEsQ2ZhLEdmYSwKQmZhLElmYSxIZmEsTGZhLE1mYSxOZmEsT2ZhLFpxLFFmYSxVZmEsVmZhLFhmYSxZZmEsaWdhLGhnYSwkZmEsYWdhLGZnYSxocix1byxlYSx6YSx4YSx5YSx0YSxsYSxuYTtfLmhhPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlYVthXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fTtfLmthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGVhW2FdPWJ9O18ubWE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXtjPWxhW2JdO2lmKGM9PW51bGwpcmV0dXJuIGFbYl07Yz1hW2NdO3JldHVybiBjIT09dm9pZCAwP2M6YVtiXX19O2FhYT1mdW5jdGlvbihhLGIsYyl7aWYoYilmb3IodmFyIGQ9MDtkPG5hLmxlbmd0aDtkKyspcWEobmFbZF0rIkFycmF5LnByb3RvdHlwZS4iK2EsYixjKX07cmE9ZnVuY3Rpb24oYSxiLGMpe2ImJnFhKGEsYixjKX07CnFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIuIik7YT1kLmxlbmd0aD09PTE7dmFyIGU9ZFswXSxmOyFhJiZlIGluIHRhP2Y9dGE6Zj14YTtmb3IoZT0wO2U8ZC5sZW5ndGgtMTtlKyspe3ZhciBnPWRbZV07aWYoIShnIGluIGYpKXJldHVybjtmPWZbZ119ZD1kW2QubGVuZ3RoLTFdO2M9eWEmJmM9PT0iZXM2Ij9mW2RdOm51bGw7Yj1iKGMpO2IhPW51bGwmJihhP3phKHRhLGQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSk6YiE9PWMmJihsYVtkXT09PXZvaWQgMCYmKGE9TWF0aC5yYW5kb20oKSoxRTk+Pj4wLGxhW2RdPXlhP3hhLlN5bWJvbChkKToiJGpzY3AkIithKyIkIitkKSx6YShmLGxhW2RdLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pKSl9O0JhPWZ1bmN0aW9uKGEpe2E9TWF0aC50cnVuYyhhKXx8MDthPDAmJihhKz10aGlzLmxlbmd0aCk7aWYoIShhPDB8fGE+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpc1thXX07CkRhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im9iamVjdCJ8fGE9PT1udWxsfHx0eXBlb2YgYS5zaXplIT09Im51bWJlciJ8fGEuc2l6ZTwwfHx0eXBlb2YgYS5rZXlzIT09ImZ1bmN0aW9uInx8dHlwZW9mIGEuaGFzIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIHNldC1saWtlIik7fTtIYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbHx8dHlwZW9mIGEubmV4dCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBpdGVyYXRvci4iKTtyZXR1cm4gYX07SmE9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgU2V0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJNZXRob2QgbXVzdCBiZSBjYWxsZWQgb24gYW4gaW5zdGFuY2Ugb2YgU2V0LiIpO307U2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1SYSgiQ0xPU1VSRV9GTEFHUyIpO2E9YyYmY1thXTtyZXR1cm4gYSE9bnVsbD9hOmJ9OwpSYT1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdCgiLiIpO2I9Ynx8Xy5VYTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07WGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18uWWE9ZnVuY3Rpb24oYSl7dmFyIGI9WGEoYSk7cmV0dXJuIGI9PSJhcnJheSJ8fGI9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIifTtfLlphPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT0ib2JqZWN0IiYmYSE9bnVsbHx8Yj09ImZ1bmN0aW9uIn07Xy5oYj1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYmIpJiZhW2JiXXx8KGFbYmJdPSsrYmFhKX07CmNhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07ZGFhPWZ1bmN0aW9uKGEsYixjKXtpZighYSl0aHJvdyBFcnJvcigpO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mil7dmFyIGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7QXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoZSxkKTtyZXR1cm4gYS5hcHBseShiLGUpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShiLGFyZ3VtZW50cyl9fTtfLmliPWZ1bmN0aW9uKGEsYixjKXtfLmliPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZGdW5jdGlvbi5wcm90b3R5cGUuYmluZC50b1N0cmluZygpLmluZGV4T2YoIm5hdGl2ZSBjb2RlIikhPS0xP2NhYTpkYWE7cmV0dXJuIF8uaWIuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLm1iPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9OwpfLm5iPWZ1bmN0aW9uKGEsYil7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBjPV8uVWEsZDthLmxlbmd0aCYmKGQ9YS5zaGlmdCgpKTspYS5sZW5ndGh8fGI9PT12b2lkIDA/Y1tkXSYmY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0/Yz1jW2RdOmM9Y1tkXT17fTpjW2RdPWJ9O18ucGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18ucWI9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuaXI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmhBPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGc9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0yKSxoPTI7aDxhcmd1bWVudHMubGVuZ3RoO2grKylnW2gtMl09YXJndW1lbnRzW2hdO3JldHVybiBiLnByb3RvdHlwZVtlXS5hcHBseShkLGcpfX07Cl8uRD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoLGY9ZTwzP2I6ZD09PW51bGw/ZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk6ZCxnO2lmKFJlZmxlY3QmJnR5cGVvZiBSZWZsZWN0PT09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT09ImZ1bmN0aW9uIilmPVJlZmxlY3QuZGVjb3JhdGUoYSxiLGMsZCk7ZWxzZSBmb3IodmFyIGg9YS5sZW5ndGgtMTtoPj0wO2gtLSlpZihnPWFbaF0pZj0oZTwzP2coZik6ZT4zP2coYixjLGYpOmcoYixjKSl8fGY7ZT4zJiZmJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYixjLGYpfTtfLkY9ZnVuY3Rpb24oYSxiKXtpZihSZWZsZWN0JiZ0eXBlb2YgUmVmbGVjdD09PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09PSJmdW5jdGlvbiIpcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoYSxiKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLF8udGIpO2Vsc2V7bGV0IGM9RXJyb3IoKS5zdGFjaztjJiYodGhpcy5zdGFjaz1jKX1hJiYodGhpcy5tZXNzYWdlPVN0cmluZyhhKSk7YiE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Yil9O3ViPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy50Yi5jYWxsO2E9YS5zcGxpdCgiJXMiKTt2YXIgZD0iIixlPWEubGVuZ3RoLTE7Zm9yKGxldCBmPTA7ZjxlO2YrKylkKz1hW2ZdKyhmPGIubGVuZ3RoP2JbZl06IiVzIik7Yy5jYWxsKF8udGIsdGhpcyxkK2FbZV0pfTt6Yj1mdW5jdGlvbihhKXtyZXR1cm4oeWJ8fCh5Yj1uZXcgVGV4dEVuY29kZXIpKS5lbmNvZGUoYSl9O18uQmI9ZnVuY3Rpb24oYSl7Xy5VYS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTtfLkViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGFzdEluZGV4T2YoYiwwKT09MH07Cl8uSGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5GYigpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xfTtfLkZiPWZ1bmN0aW9uKCl7dmFyIGE9Xy5VYS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTtfLktiPWZ1bmN0aW9uKGEpe2lmKCFJYnx8IV8uSmIpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxfLkpiLmJyYW5kcy5sZW5ndGg7YisrKXtsZXQge2JyYW5kOmN9PV8uSmIuYnJhbmRzW2JdO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O18uUmI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRmIoKS5pbmRleE9mKGEpIT0tMX07Xy5UYj1mdW5jdGlvbigpe3JldHVybiBJYj8hIV8uSmImJl8uSmIuYnJhbmRzLmxlbmd0aD4wOiExfTtfLlViPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVGIoKT8hMTpfLlJiKCJPcGVyYSIpfTtfLlhiPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVGIoKT8hMTpfLlJiKCJUcmlkZW50Iil8fF8uUmIoIk1TSUUiKX07Cl8uJGI9ZnVuY3Rpb24oKXtyZXR1cm4gXy5UYigpP18uS2IoIk1pY3Jvc29mdCBFZGdlIik6Xy5SYigiRWRnLyIpfTtfLmRjPWZ1bmN0aW9uKCl7cmV0dXJuIF8uUmIoIkZpcmVmb3giKXx8Xy5SYigiRnhpT1MiKX07Xy5qYz1mdW5jdGlvbigpe3JldHVybiBfLlJiKCJTYWZhcmkiKSYmIShfLmhjKCl8fChfLlRiKCk/MDpfLlJiKCJDb2FzdCIpKXx8Xy5VYigpfHwoXy5UYigpPzA6Xy5SYigiRWRnZSIpKXx8Xy4kYigpfHwoXy5UYigpP18uS2IoIk9wZXJhIik6Xy5SYigiT1BSIikpfHxfLmRjKCl8fF8uUmIoIlNpbGsiKXx8Xy5SYigiQW5kcm9pZCIpKX07Xy5oYz1mdW5jdGlvbigpe3JldHVybiBfLlRiKCk/Xy5LYigiQ2hyb21pdW0iKTooXy5SYigiQ2hyb21lIil8fF8uUmIoIkNyaU9TIikpJiYhKF8uVGIoKT8wOl8uUmIoIkVkZ2UiKSl8fF8uUmIoIlNpbGsiKX07a2M9ZnVuY3Rpb24oKXtyZXR1cm4gSWI/ISFfLkpiJiYhIV8uSmIucGxhdGZvcm06ITF9OwpsYz1mdW5jdGlvbigpe3JldHVybiBfLlJiKCJpUGhvbmUiKSYmIV8uUmIoImlQb2QiKSYmIV8uUmIoImlQYWQiKX07Xy5tYz1mdW5jdGlvbigpe3JldHVybiBrYygpP18uSmIucGxhdGZvcm09PT0ibWFjT1MiOl8uUmIoIk1hY2ludG9zaCIpfTtfLm5jPWZ1bmN0aW9uKCl7cmV0dXJuIGtjKCk/Xy5KYi5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLlJiKCJXaW5kb3dzIil9O18ucWM9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09bnVsbD8wOmM8MD9NYXRoLm1heCgwLGEubGVuZ3RoK2MpOmM7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gdHlwZW9mIGIhPT0ic3RyaW5nInx8Yi5sZW5ndGghPTE/LTE6YS5pbmRleE9mKGIsYyk7Zm9yKDtjPGEubGVuZ3RoO2MrKylpZihjIGluIGEmJmFbY109PT1iKXJldHVybiBjO3JldHVybi0xfTsKXy5yYz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5sZW5ndGgsZT10eXBlb2YgYT09PSJzdHJpbmciP2Euc3BsaXQoIiIpOmE7Zm9yKGxldCBmPTA7ZjxkO2YrKylmIGluIGUmJmIuY2FsbChjLGVbZl0sZixhKX07Xy52Yz1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFjKGEsYik+PTB9O18ueWM9ZnVuY3Rpb24oYSxiKXtiPV8ucWMoYSxiKTt2YXIgYzsoYz1iPj0wKSYmXy54YyhhLGIpO3JldHVybiBjfTtfLnhjPWZ1bmN0aW9uKGEsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGEsYiwxKX07Xy5CYz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTtGYz1mdW5jdGlvbihhKXtGY1siICJdKGEpO3JldHVybiBhfTsKXy5VYz1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO0djKCk7Yj1IY1tiXTtmb3IodmFyIGM9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSksZD1iWzY0XXx8IiIsZT0wLGY9MDtlPGEubGVuZ3RoLTI7ZSs9Myl7dmFyIGc9YVtlXSxoPWFbZSsxXSxrPWFbZSsyXSxtPWJbZz4+Ml07Zz1iWyhnJjMpPDw0fGg+PjRdO2g9YlsoaCYxNSk8PDJ8az4+Nl07az1iW2smNjNdO2NbZisrXT0iIittK2craCtrfW09MDtrPWQ7c3dpdGNoKGEubGVuZ3RoLWUpe2Nhc2UgMjptPWFbZSsxXSxrPWJbKG0mMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2VdLGNbZl09IiIrYlthPj4yXStiWyhhJjMpPDw0fG0+PjRdK2srZH1yZXR1cm4gYy5qb2luKCIiKX07Xy5XYz1mdW5jdGlvbihhKXt2YXIgYj1bXTtfLlZjKGEsZnVuY3Rpb24oYyl7Yi5wdXNoKGMpfSk7cmV0dXJuIGJ9OwpfLlZjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGc9WGNbZl07aWYoZyE9bnVsbClyZXR1cm4gZztpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJVbmtub3duIGJhc2U2NCBlbmNvZGluZyBhdCBjaGFyOiAiK2YpO31yZXR1cm4gZX1HYygpO2Zvcih2YXIgZD0wOzspe2xldCBlPWMoLTEpLGY9YygwKSxnPWMoNjQpLGg9Yyg2NCk7aWYoaD09PTY0JiZlPT09LTEpYnJlYWs7YihlPDwyfGY+PjQpO2chPTY0JiYoYihmPDw0JjI0MHxnPj4yKSxoIT02NCYmYihnPDw2JjE5MnxoKSl9fTsKR2M9ZnVuY3Rpb24oKXtpZighWGMpe1hjPXt9O3ZhciBhPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGI9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBjPTA7Yzw1O2MrKyl7bGV0IGQ9YS5jb25jYXQoYltjXS5zcGxpdCgiIikpO0hjW2NdPWQ7Zm9yKGxldCBlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBmPWRbZV07WGNbZl09PT12b2lkIDAmJihYY1tmXT1lKX19fX07ZmFhPWZ1bmN0aW9uKGEpe3JldHVybiBlYWFbYV18fCIifTtfLmFkPWZ1bmN0aW9uKGEpe2E9JGMudGVzdChhKT9hLnJlcGxhY2UoJGMsZmFhKTphO2E9YXRvYihhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYltjXT1hLmNoYXJDb2RlQXQoYyk7cmV0dXJuIGJ9O18uYmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEgaW5zdGFuY2VvZiBVaW50OEFycmF5fTsKXy5sZD1mdW5jdGlvbigpe3JldHVybiBjZHx8KGNkPW5ldyBfLmZkKG51bGwsXy5oZCkpfTttZD1mdW5jdGlvbihhKXt2YXIgYj1hLnFoO2lmKGI9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBiPT09InN0cmluZyIpYT1iO2Vsc2V7bGV0IGM9IiIsZD0wLGU9Yi5sZW5ndGgtMTAyNDA7Zm9yKDtkPGU7KWMrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxiLnN1YmFycmF5KGQsZCs9MTAyNDApKTtjKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZD9iLnN1YmFycmF5KGQpOmIpO2I9YnRvYShjKTthPWEucWg9Yn1yZXR1cm4gYX07Xy5xZD1mdW5jdGlvbihhKXtwZChfLmhkKTt2YXIgYj1hLnFoO2I9Yj09bnVsbHx8Xy5iZChiKT9iOnR5cGVvZiBiPT09InN0cmluZyI/Xy5hZChiKTpudWxsO3JldHVybiBiPT1udWxsP2I6YS5xaD1ifTtwZD1mdW5jdGlvbihhKXtpZihhIT09Xy5oZCl0aHJvdyBFcnJvcigiaWxsZWdhbCBleHRlcm5hbCBjYWxsZXIiKTt9OwpnYWE9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IFByb21pc2UoKGMsZCk9Pnt2YXIgZT1uZXcgTWVzc2FnZUNoYW5uZWw7ZS5wb3J0Mi5vbm1lc3NhZ2U9Zj0+e2MoZi5kYXRhKX07dHJ5e2UucG9ydDEucG9zdE1lc3NhZ2UoYSxiKX1jYXRjaChmKXtkKGYpfX0pfTtfLnJkPWZ1bmN0aW9uKGEsYixjKXthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KGEuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTthLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4MltiXT1jfTtzZD1mdW5jdGlvbigpe3ZhciBhPUVycm9yKCk7Xy5yZChhLCJzZXZlcml0eSIsImluY2lkZW50Iik7Xy5CYihhKX07Xy50ZD1mdW5jdGlvbihhKXthPUVycm9yKGEpO18ucmQoYSwic2V2ZXJpdHkiLCJ3YXJuaW5nIik7cmV0dXJuIGF9OwpfLnhkPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9dWQ/Pyh1ZD17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsc2QoKSl9fTt5ZD1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiJiZTeW1ib2wuZm9yJiZhP1N5bWJvbC5mb3IoYSk6YSE9bnVsbD9TeW1ib2woYSk6U3ltYm9sKCl9O18uRGQ9ZnVuY3Rpb24oYSxiKXthW18uQ2RdfD1ifTtGZD1mdW5jdGlvbihhKXtpZig0JmEpcmV0dXJuIDUxMiZhPzUxMjoxMDI0JmE/MTAyNDowfTtfLkdkPWZ1bmN0aW9uKGEpe18uRGQoYSwzNCk7cmV0dXJuIGF9O0hkPWZ1bmN0aW9uKGEpe18uRGQoYSwzMik7cmV0dXJuIGF9O18uSWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPT0wP18ubGQoKTpuZXcgXy5mZChhLF8uaGQpfTtfLlFkPWZ1bmN0aW9uKGEpe3JldHVybiBhW0xkXT09PU1kfTsKXy5TZD1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuQWghPT1fLlJkJiYhISgyJihhLkxpW18uQ2RdfDApKTohISgyJmIpJiZhLkFoIT09Xy5SZH07Xy5WZD1mdW5jdGlvbihhLGIpe2EuQWg9Yj9fLlJkOnZvaWQgMH07Xy5XZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07Xy5YZD1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpaWYodHlwZW9mIGE9PT0ic3RyaW5nIilhPWE/bmV3IF8uZmQoYSxfLmhkKTpfLmxkKCk7ZWxzZSBpZihhLmNvbnN0cnVjdG9yIT09Xy5mZClpZihfLmJkKGEpKWE9YS5sZW5ndGg/bmV3IF8uZmQobmV3IFVpbnQ4QXJyYXkoYSksXy5oZCk6Xy5sZCgpO2Vsc2V7aWYoIWIpdGhyb3cgRXJyb3IoKTthPXZvaWQgMH1yZXR1cm4gYX07Xy5ZZD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiIT09Im51bWJlciJ8fGI8MHx8Yj49YS5sZW5ndGgpdGhyb3cgRXJyb3IoKTt9OwpaZD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBiIT09Im51bWJlciJ8fGI8MHx8Yj5hLmxlbmd0aCl0aHJvdyBFcnJvcigpO307Xy4kZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YiYxMjg/MDotMSxlPWEubGVuZ3RoLGY7aWYoZj0hIWUpZj1hW2UtMV0sZj1mIT1udWxsJiZ0eXBlb2YgZj09PSJvYmplY3QiJiZmLmNvbnN0cnVjdG9yPT09T2JqZWN0O3ZhciBnPWUrKGY/LTE6MCk7Zm9yKGI9YiYxMjg/MTowO2I8ZztiKyspYyhiLWQsYVtiXSk7aWYoZil7YT1hW2UtMV07Zm9yKGxldCBoIGluIGEpXy5XZChhLGgpJiYhaXNOYU4oaCkmJmMoK2gsYVtoXSl9fTtfLmJlPWZ1bmN0aW9uKGEpe3JldHVybiBhJjEyOD9hZTp2b2lkIDB9O18uY2U9ZnVuY3Rpb24oYSl7YS5oVD0hMDtyZXR1cm4gYX07Cl8uZGU9ZnVuY3Rpb24oYSl7aWYoaGFhKGEpKXtpZighL15ccyooPzotP1sxLTldXGQqfDApP1xzKiQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoU3RyaW5nKGEpKTt9ZWxzZSBpZihpYWEoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O18uaGU9ZnVuY3Rpb24oYSl7dmFyIGI9YT4+PjA7Xy5lZT1iO18uZ2U9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O18ua2U9ZnVuY3Rpb24oYSl7aWYoYTwwKXtfLmhlKDAtYSk7YT1fLmVlO3ZhciBiPV8uZ2U7Yj1+YjthP2E9fmErMTpiKz0xO2xldCBbYyxkXT1bYSxiXTtfLmVlPWM+Pj4wO18uZ2U9ZD4+PjB9ZWxzZSBfLmhlKGEpfTtfLm1lPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubGV8fChfLmxlPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKTtiLnNldEZsb2F0NjQoMCwrYSwhMCk7Xy5lZT1iLmdldFVpbnQzMigwLCEwKTtfLmdlPWIuZ2V0VWludDMyKDQsITApfTsKb2U9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKjQyOTQ5NjcyOTYrKGE+Pj4wKTtyZXR1cm4gTnVtYmVyLmlzU2FmZUludGVnZXIoYyk/YzpfLm5lKGEsYil9O18ucWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5kZShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoYikpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoYSkpKSl9O18ubmU9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtfLnJlPWZ1bmN0aW9uKGEsYil7dmFyIGM7YiYyMTQ3NDgzNjQ4P2M9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOmM9Xy5uZShhLGIpO3JldHVybiBjfTsKXy5zZT1mdW5jdGlvbihhKXthLmxlbmd0aDwxNj9fLmtlKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLF8uZWU9TnVtYmVyKGEmQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsXy5nZT1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpKX07Xy50ZT1mdW5jdGlvbihhLGI9YHVuZXhwZWN0ZWQgdmFsdWUgJHthfSFgKXt0aHJvdyBFcnJvcihiKTt9O18udWU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ibnVtYmVyIil0aHJvdyBFcnJvcihgVmFsdWUgb2YgZmxvYXQvZG91YmxlIGZpZWxkIG11c3QgYmUgYSBudW1iZXIsIGZvdW5kICR7dHlwZW9mIGF9OiAke2F9YCk7cmV0dXJuIGF9O18udmU9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4gYTtpZihhPT09Ik5hTiJ8fGE9PT0iSW5maW5pdHkifHxhPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihhKX07CndlPWZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc3BsYXlOYW1lfHxhLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9O18uemU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0iYm9vbGVhbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIGJvb2xlYW4gYnV0IGdvdCAke1hhKGEpfTogJHthfWApO3JldHVybiBhfTtfLkFlPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTtfLkNlPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYmlnaW50IjpyZXR1cm4hMDtjYXNlICJudW1iZXIiOnJldHVybiBCZShhKTtjYXNlICJzdHJpbmciOnJldHVybiBqYWEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5EZT1mdW5jdGlvbihhKXtpZighQmUoYSkpdGhyb3cgXy50ZCgiZW51bSIpO3JldHVybiBhfDB9OwpfLkVlPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6QmUoYSk/YXwwOnZvaWQgMH07Xy5GZT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IF8udGQoImludDMyIik7aWYoIUJlKGEpKXRocm93IF8udGQoImludDMyIik7cmV0dXJuIGF8MH07Xy5HZT1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybiBCZShhKT9hfDA6dm9pZCAwfTtfLkhlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy50ZCgidWludDMyIik7aWYoIUJlKGEpKXRocm93IF8udGQoInVpbnQzMiIpO3JldHVybiBhPj4+MH07Cl8uSmU9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gQmUoYSk/YT4+PjA6dm9pZCAwfTsKXy5RZT1mdW5jdGlvbihhLGIpe2I/PyhiPTEwMjQpO2lmKCFfLkNlKGEpKXRocm93IF8udGQoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiBfLktlKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIFN0cmluZygoMCxfLkxlKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gTWUoYSl9Y2FzZSAxMDI0OnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiBOZShhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLmRlKCgwLF8uTGUpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBPZShhKX1jYXNlIDA6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIF8uS2UoYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5kZSgoMCxfLkxlKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gXy5QZShhKX1kZWZhdWx0OnJldHVybiBfLnRlKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07Cl8uUGU9ZnVuY3Rpb24oYSl7Xy5DZShhKTthPSgwLF8uUmUpKGEpO2lmKCEoMCxfLlVlKShhKSl7Xy5rZShhKTt2YXIgYj1fLmVlLGM9Xy5nZTtpZihhPWMmMjE0NzQ4MzY0OCliPX5iKzE+Pj4wLGM9fmM+Pj4wLGI9PTAmJihjPWMrMT4+PjApO2I9b2UoYixjKTthPXR5cGVvZiBiPT09Im51bWJlciI/YT8tYjpiOmE/Ii0iK2I6Yn1yZXR1cm4gYX07Xy5WZT1mdW5jdGlvbihhKXtfLkNlKGEpO2E9KDAsXy5SZSkoYSk7YT49MCYmKDAsXy5VZSkoYSl8fChfLmtlKGEpLGE9b2UoXy5lZSxfLmdlKSk7cmV0dXJuIGF9O01lPWZ1bmN0aW9uKGEpe18uQ2UoYSk7YT0oMCxfLlJlKShhKTsoMCxfLlVlKShhKT9hPVN0cmluZyhhKTooXy5rZShhKSxhPV8ucmUoXy5lZSxfLmdlKSk7cmV0dXJuIGF9OwpfLktlPWZ1bmN0aW9uKGEpe18uQ2UoYSk7dmFyIGI9KDAsXy5SZSkoTnVtYmVyKGEpKTtpZigoMCxfLlVlKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChfLnNlKGEpLGE9Xy5yZShfLmVlLF8uZ2UpKTtyZXR1cm4gYX07TmU9ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy5SZSkoTnVtYmVyKGEpKTtpZigoMCxfLlVlKShiKSlyZXR1cm4gXy5kZShiKTtiPWEuaW5kZXhPZigiLiIpO2IhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSk7cmV0dXJuIF8uZGUoKDAsXy5MZSkoNjQsQmlnSW50KGEpKSl9O09lPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uVWUpKGEpP18uZGUoXy5QZShhKSk6Xy5kZShNZShhKSl9OwpfLldlPWZ1bmN0aW9uKGEpe18uQ2UoYSk7dmFyIGI9KDAsXy5SZSkoTnVtYmVyKGEpKTtpZigoMCxfLlVlKShiKSYmYj49MClyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTthWzBdPT09Ii0iP2I9ITE6KGI9YS5sZW5ndGgsYj1iPDIwPyEwOmI9PT0yMCYmYTw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1Iik7Ynx8KF8uc2UoYSksYT1fLm5lKF8uZWUsXy5nZSkpO3JldHVybiBhfTtfLlhlPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy5MZSkoNjQsYSkpO2lmKF8uQ2UoYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj9fLktlKGEpOl8uUGUoYSl9OwpfLlllPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmRlKCgwLF8uTGUpKDY0LGEpKTtpZihfLkNlKGEpKXJldHVybiBiPT09InN0cmluZyI/TmUoYSk6T2UoYSl9O18uJGU9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7aWYoYT09bnVsbClyZXR1cm4gYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLlplKSg2NCxhKSk7aWYoXy5DZShhKSlyZXR1cm4gYj09PSJzdHJpbmciP18uV2UoYSk6Xy5WZShhKX07Xy5hZj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO3ZhciBiPXR5cGVvZiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKCgwLF8uTGUpKDY0LGEpKTtpZihfLkNlKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIF8uS2UoYSk7aWYoYj09PSJudW1iZXIiKXJldHVybiBfLlBlKGEpfX07Cl8uYmY9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfTtfLmNmPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5kZj1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07ZWY9ZnVuY3Rpb24oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBiKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke3dlKGIpfSBidXQgZ290ICR7YSYmd2UoYS5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIGF9O2hmPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJl8uUWQoYSkpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5mZl18fChiW18uZmZdPV8uZ2YoYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5DZF18MDtkPWN8ZCYzMnxkJjI7ZCE9PWMmJihhW18uQ2RdPWQpO3JldHVybiBuZXcgYihhKX07Cl8uZ2Y9ZnVuY3Rpb24oYSl7YT1uZXcgYTtfLkdkKGEuTGkpO3JldHVybiBhfTtqZj1mdW5jdGlvbihhKXtyZXR1cm4gYX07Xy5sZj1mdW5jdGlvbihhKXt2YXIgYj1fLnBiKF8ua2YpO3JldHVybiBiP2FbYl06dm9pZCAwfTtfLm1mPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGEpXy5XZChhLGMpJiYhaXNOYU4oYykmJmIoYSwrYyxhW2NdKX07a2FhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLm5mO18ubWYoYSwoYyxkLGUpPT57YltkXT1bLi4uZV19KTtiLk9CPWEuT0I7cmV0dXJuIGJ9O18ucGY9ZnVuY3Rpb24oYSxiLGMpe2lmKF8ucGIoXy5vZikmJl8ucGIoXy5rZikmJmM9PT1fLm9mJiYoYT1hLkxpLGM9YVtfLmtmXSkmJihjPWMuT0IpKXRyeXtjKGEsYixsYWEpfWNhdGNoKGQpe18uQmIoZCl9fTtfLnFmPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5wYihfLmtmKTtjJiZhW2NdPy5bYl0hPW51bGwmJl8ueGQobWFhLDMpfTsKb2FhPWZ1bmN0aW9uKGEsYil7YjwxMDB8fF8ueGQobmFhLDEpfTsKc2Y9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBiKF8ua2YpLGc7IWUmJmYmJihnPWFbZl0pJiZfLm1mKGcsb2FhKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxtPSEhKGImNjQpLHA9bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDshbXx8YiYxMjh8fGV8fChrPSEwLGc9KHJmPz9qZikoZy1wLHAsYSxxLHZvaWQgMCkrcCl9Yj12b2lkIDA7Zm9yKHZhciB1PTA7dTxoO3UrKyl7bGV0IHg9YVt1XTtpZih4IT1udWxsJiYoeD1jKHgsZCkpIT1udWxsKWlmKG0mJnU+PWcpe2xldCB6PXUtcDsoYj8/KGI9e30pKVt6XT14fWVsc2UgZlt1XT14fWlmKHEpZm9yKGxldCB4IGluIHEpe2lmKCFfLldkKHEseCkpY29udGludWU7aD1xW3hdO2lmKGg9PW51bGx8fAooaD1jKGgsZCkpPT1udWxsKWNvbnRpbnVlO3U9K3g7bGV0IHo7bSYmIU51bWJlci5pc05hTih1KSYmKHo9dStwKTxnP2Zbel09aDooYj8/KGI9e30pKVt4XT1ofWImJihrP2YucHVzaChiKTpmW2ddPWIpO2UmJl8ucGIoXy5rZikmJihhPV8ubGYoYSkpJiZhIGluc3RhbmNlb2YgXy5uZiYmKGZbXy5rZl09a2FhKGEpKTtyZXR1cm4gZn07CnVmPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAibnVtYmVyIjpyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGEpP2E6IiIrYTtjYXNlICJiaWdpbnQiOnJldHVybigwLF8udGYpKGEpP051bWJlcihhKToiIithO2Nhc2UgImJvb2xlYW4iOnJldHVybiBhPzE6MDtjYXNlICJvYmplY3QiOmlmKEFycmF5LmlzQXJyYXkoYSkpe2xldCBiPWFbXy5DZF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNmKGEsYix1Zil9aWYoYSE9bnVsbCYmXy5RZChhKSlyZXR1cm4gdmYoYSk7aWYoYSBpbnN0YW5jZW9mIF8uZmQpcmV0dXJuIG1kKGEpO3JldHVybn1yZXR1cm4gYX07Xy53Zj1mdW5jdGlvbihhLGIpe2lmKGIpe3JmPWI9PW51bGx8fGI9PT1qZnx8YltwYWFdIT09cWFhP2pmOmI7dHJ5e3JldHVybiB2ZihhKX1maW5hbGx5e3JmPXZvaWQgMH19cmV0dXJuIHZmKGEpfTt2Zj1mdW5jdGlvbihhKXthPWEuTGk7cmV0dXJuIHNmKGEsYVtfLkNkXXwwLHVmKX07Cl8uemY9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJib29sZWFuIjpyZXR1cm4gXy54Znx8KF8ueGY9WzAsdm9pZCAwLCEwXSk7Y2FzZSAibnVtYmVyIjpyZXR1cm4gYT4wP3ZvaWQgMDphPT09MD95Znx8KHlmPVswLHZvaWQgMF0pOlstYSx2b2lkIDBdO2Nhc2UgInN0cmluZyI6cmV0dXJuWzAsYV07Y2FzZSAib2JqZWN0IjpyZXR1cm4gYX19O18uRGY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQ2YoYSxiWzBdLGJbMV0pfTsKQ2Y9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJuYXJyIik7ZT1hW18uQ2RdfDA7aWYoRWYmJjEmZSl0aHJvdyBFcnJvcigicmZhcnIiKTsyMDQ4JmUmJiEoMiZlKSYmcmFhKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImZhcnIiKTtpZihlJjY0KXJldHVybihlfGQpIT09ZSYmKGFbXy5DZF09ZXxkKSxhO2lmKGMmJihlfD0xMjgsYyE9PWFbMF0pKXRocm93IEVycm9yKCJtaWQiKTthOntjPWE7ZXw9NjQ7dmFyIGY9Yy5sZW5ndGg7aWYoZil7dmFyIGc9Zi0xO2xldCBrPWNbZ107aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigicHZ0bG10Iik7Zm9yKHZhciBoIGluIGspe2lmKCFfLldkKGssCmgpKWNvbnRpbnVlO2Y9K2g7aWYoZjxnKWNbZitiXT1rW2hdLGRlbGV0ZSBrW2hdO2Vsc2UgYnJlYWt9ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7aD1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihoPjEwMjQpdGhyb3cgRXJyb3IoInNwdnQiKTtlPWUmLTE2NzYwODMzfChoJjEwMjMpPDwxNH19fWFbXy5DZF09ZXw2NHxkO3JldHVybiBhfTtyYWE9ZnVuY3Rpb24oKXtpZihFZil0aHJvdyBFcnJvcigiY2FyciIpO18ueGQoc2FhLDUpfTsKdGFhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQ2RdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uRmYoYSxjLCExLGImJiEoYyYxNikpOihfLkRkKGEsMzQpLGMmNCYmT2JqZWN0LmZyZWV6ZShhKSkpO3JldHVybiBhfWlmKGEhPW51bGwmJl8uUWQoYSkpcmV0dXJuIGI9YS5MaSxjPWJbXy5DZF18MCxfLlNkKGEsYyk/YTpfLkdmKGEsYixjKT9IZihhLGIpOl8uRmYoYixjKTtpZihhIGluc3RhbmNlb2YgXy5mZClyZXR1cm4gYX07SGY9ZnVuY3Rpb24oYSxiLGMpe2E9bmV3IGEuY29uc3RydWN0b3IoYik7YyYmXy5WZChhLCEwKTthLnhCPV8uUmQ7cmV0dXJuIGF9O18uRmY9ZnVuY3Rpb24oYSxiLGMsZCl7ZD8/KGQ9ISEoMzQmYikpO2E9c2YoYSxiLHRhYSxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQ2RdPWI7cmV0dXJuIGF9OwpfLklmPWZ1bmN0aW9uKGEpe3ZhciBiPWEuTGksYz1iW18uQ2RdfDA7cmV0dXJuIF8uU2QoYSxjKT9fLkdmKGEsYixjKT9IZihhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uRmYoYixjLCExKSk6YX07Xy5KZj1mdW5jdGlvbihhKXtpZihhLkFoIT09Xy5SZClyZXR1cm4hMTt2YXIgYj1hLkxpO2I9Xy5GZihiLGJbXy5DZF18MCk7Xy5EZChiLDIwNDgpO2EuTGk9YjtfLlZkKGEsITEpO2EueEI9dm9pZCAwO3JldHVybiEwfTtfLkxmPWZ1bmN0aW9uKGEpe2lmKCFfLkpmKGEpJiZfLlNkKGEsYS5MaVtfLkNkXXwwKSl0aHJvdyBFcnJvcigpO307Xy5NZj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWFbXy5DZF18MCk7YiYzMiYmIShiJjQwOTYpJiYoYVtfLkNkXT1ifDQwOTYpfTtfLkdmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYyYyPyEwOmMmMzImJiEoYyY0MDk2KT8oYltfLkNkXT1jfDIsXy5WZChhLCEwKSwhMCk6ITF9OwpfLk9mPWZ1bmN0aW9uKGEsYixjLGQsZSl7T2JqZWN0LmlzRXh0ZW5zaWJsZShhKTtiPV8uTmYoYS5MaSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEueEIhPT1fLlJkKXJldHVybiBifTtfLk5mPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBnPWFbZl07aWYoZyE9bnVsbCYmdHlwZW9mIGc9PT0ib2JqZWN0IiYmZy5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1nW2JdO3ZhciBoPSEwfWVsc2UgaWYoZT09PWYpYz1nO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaD9nW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtfLlFmPWZ1bmN0aW9uKGEsYixjLGQpe18uTGYoYSk7dmFyIGU9YS5MaTtfLlBmKGUsZVtfLkNkXXwwLGIsYyxkKTtyZXR1cm4gYX07Cl8uUGY9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXtsZXQgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2QhPT12b2lkIDAmJihnPShiPz8oYj1hW18uQ2RdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLGM+PWc/ZCE9bnVsbCYmKGFbZysoZT8wOi0xKV09e1tjXTpkfSk6YVtmXT1kKTtyZXR1cm4gYn07Xy5TZj1mdW5jdGlvbihhLGIsYyxkKXthPWEuTGk7cmV0dXJuIF8uUmYoYSxhW18uQ2RdfDAsYixjLGQpIT09dm9pZCAwfTtfLldmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVmYoYSxhW18uQ2RdfDAsYil9O18uWWY9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuTGk7cmV0dXJuIF8uWGYoYSxkLGRbXy5DZF18MCxiLGMsMykubGVuZ3RofTsKXy4kZj1mdW5jdGlvbihhLGIsYyxkLGUpe18uWmYoYSxiLGMsdm9pZCAwLGUsZCwxKTtyZXR1cm4gYX07Xy5jZz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT11YWE/Mjo0fTsKXy5qZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD1hLkxpLGs9aFtfLkNkXXwwO2Q9Xy5TZChhLGspPzE6ZDtlPSEhZXx8ZD09PTM7ZD09PTImJl8uSmYoYSkmJihoPWEuTGksaz1oW18uQ2RdfDApO3ZhciBtPWRnKGgsYixnKSxwPW09PT1fLmVnPzc6bVtfLkNkXXwwLHE9ZmcocCxrKTt2YXIgdT1xOzQmdT9mPT1udWxsP2E9ITE6KCFlJiZmPT09MCYmKDUxMiZ1fHwxMDI0JnUpJiYoYS5jb25zdHJ1Y3RvcltnZ109KGEuY29uc3RydWN0b3JbZ2ddfDApKzEpPDUmJnNkKCksYT1mPT09MD8hMTohKGYmdSkpOmE9ITA7aWYoYSl7NCZxJiYobT1bLi4ubV0scD0wLHE9aGcocSxrKSxrPV8uUGYoaCxrLGIsbSxnKSk7bGV0IHg9dT0wO2Zvcig7dTxtLmxlbmd0aDt1Kyspe2xldCB6PWMobVt1XSk7eiE9bnVsbCYmKG1beCsrXT16KX14PHUmJihtLmxlbmd0aD14KTtjPShxfDQpJi01MTM7cT1jJj0tMTAyNTtmJiYocXw9Zik7cSY9LTQwOTd9cSE9PXAmJihtW18uQ2RdPXEsMiZxJiZPYmplY3QuZnJlZXplKG0pKTsKcmV0dXJuIG09aWcobSxxLGgsayxiLGcsZCxhLGUpfTtpZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayl7dmFyIG09YjtnPT09MXx8KGchPT00PzA6MiZifHwhKDE2JmIpJiYzMiZkKT9rZyhiKXx8KGJ8PSFhLmxlbmd0aHx8aCYmISg0MDk2JmIpfHwzMiZkJiYhKDQwOTYmYnx8MTYmYik/MjoyNTYsYiE9PW0mJihhW18uQ2RdPWIpLE9iamVjdC5mcmVlemUoYSkpOihnPT09MiYma2coYikmJihhPVsuLi5hXSxtPTAsYj1oZyhiLGQpLGQ9Xy5QZihjLGQsZSxhLGYpKSxrZyhiKXx8KGt8fChifD0xNiksYiE9PW0mJihhW18uQ2RdPWIpKSk7MiZifHwhKDQwOTYmYnx8MTYmYil8fF8uTWYoYyxkKTtyZXR1cm4gYX07ZGc9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5OZihhLGIsYyk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpfLmVnfTtmZz1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O2tnPWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Cl8ubGc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWGQoYSwhMCl9O18ubWc9ZnVuY3Rpb24oYSxiKXthPV8uT2YoYSxiLHZvaWQgMCx2b2lkIDAsXy5sZyk7cmV0dXJuIGE9PW51bGw/Xy5sZCgpOmF9OwpfLm5nPWZ1bmN0aW9uKGEsYixjLGQpe18uTGYoYSk7dmFyIGU9YS5MaSxmPWVbXy5DZF18MDtpZihjPT1udWxsKXJldHVybiBfLlBmKGUsZixiKSxhO2lmKCFBcnJheS5pc0FycmF5KGMpKXRocm93IF8udGQoKTt2YXIgZz1jPT09Xy5lZz83OmNbXy5DZF18MCxoPWcsaz1rZyhnKSxtPWt8fE9iamVjdC5pc0Zyb3plbihjKTtrfHwoZz0wKTttfHwoYz1bLi4uY10saD0wLGc9aGcoZyxmKSxtPSExKTtnfD01O2s9RmQoZyk/PzEwMjQ7Z3w9aztmb3IobGV0IHA9MDtwPGMubGVuZ3RoO3ArKyl7bGV0IHE9Y1twXSx1PWQocSxrKTtPYmplY3QuaXMocSx1KXx8KG0mJihjPVsuLi5jXSxoPTAsZz1oZyhnLGYpLG09ITEpLGNbcF09dSl9ZyE9PWgmJihtJiYoYz1bLi4uY10sZz1oZyhnLGYpKSxjW18uQ2RdPWcpO18uUGYoZSxmLGIsYyk7cmV0dXJuIGF9OwpvZz1mdW5jdGlvbihhLGIsYyxkKXtfLkxmKGEpO3ZhciBlPWEuTGk7Xy5QZihlLGVbXy5DZF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Xy5WZj1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXRocm93IEVycm9yKCk7dmFyIGQ9Xy5iZShiKSxlPWRnKGEsYyxkKSxmPWU9PT1fLmVnPzc6ZVtfLkNkXXwwLGc9ZmcoZixiKTtpZigyJmd8fGtnKGcpfHwxNiZnKWc9PT1mfHxrZyhnKXx8KGVbXy5DZF09ZyksZT1bLi4uZV0sZj0wLGc9aGcoZyxiKSxfLlBmKGEsYixjLGUsZCk7ZyY9LTEzO2chPT1mJiYoZVtfLkNkXT1nKTtyZXR1cm4gZX07Xy5zZz1mdW5jdGlvbihhLGIsYyxkKXtfLkxmKGEpO2E9YS5MaTt2YXIgZT1hW18uQ2RdfDA7aWYoZD09bnVsbCl7bGV0IGY9cGcoYSk7aWYocWcoZixhLGUsYyk9PT1iKWYuc2V0KGMsMCk7ZWxzZSByZXR1cm59ZWxzZSBlPV8ucmcoYSxlLGMsYik7Xy5QZihhLGUsYixkKX07Cl8udGc9ZnVuY3Rpb24oYSxiLGMpe2E9YS5MaTtyZXR1cm4gcWcocGcoYSksYSx2b2lkIDAsYik9PT1jP2M6LTF9O3BnPWZ1bmN0aW9uKGEpe3JldHVybiBhW3VnXT8/KGFbdWddPW5ldyBNYXApfTtfLnJnPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD09PTB8fGMuaW5jbHVkZXMoZCk7dmFyIGY9cGcoYSksZz1xZyhmLGEsYixjLGUpO2chPT1kJiYoZyYmKGI9Xy5QZihhLGIsZyx2b2lkIDAsZSkpLGYuc2V0KGMsZCkpO3JldHVybiBifTtxZz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWEuZ2V0KGQpO2lmKGYhPW51bGwpcmV0dXJuIGY7Zj0wO2ZvcihsZXQgZz0wO2c8ZC5sZW5ndGg7ZysrKXtsZXQgaD1kW2ddO18uTmYoYixoLGUpIT1udWxsJiYoZiE9PTAmJihjPV8uUGYoYixjLGYsdm9pZCAwLGUpKSxmPWgpfWEuc2V0KGQsZik7cmV0dXJuIGZ9OwpfLndnPWZ1bmN0aW9uKGEsYixjLGQsZSl7Xy5MZihhKTthPWEuTGk7dmFyIGY9YVtfLkNkXXwwLGc9Xy5OZihhLGMsZSk7ZD1kPT09Xy52ZztiPWhmKGcsYiwhZCxmKTtpZighZHx8YilyZXR1cm4gYj1fLklmKGIpLGchPT1iJiYoZj1fLlBmKGEsZixjLGIsZSksXy5NZihhLGYpKSxifTtfLnpnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hW18uQ2RdfDAsZT1fLmJlKGQpLGY9Xy5OZihhLGMsZSk7aWYoZiE9bnVsbCYmXy5RZChmKSl7aWYoIV8uU2QoZikpcmV0dXJuIF8uSmYoZiksZi5MaTt2YXIgZz1mLkxpfWVsc2UgQXJyYXkuaXNBcnJheShmKSYmKGc9Zik7aWYoZyl7bGV0IGg9Z1tfLkNkXXwwO2gmMiYmKGc9Xy5GZihnLGgpKX1nPV8uRGYoZyxiKTtnIT09ZiYmXy5QZihhLGQsYyxnLGUpO3JldHVybiBnfTsKXy5SZj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSExO2Q9Xy5OZihhLGQsZSxnPT57dmFyIGg9aGYoZyxjLCExLGIpO2Y9aCE9PWcmJmghPW51bGw7cmV0dXJuIGh9KTtpZihkIT1udWxsKXJldHVybiBmJiYhXy5TZChkKSYmXy5NZihhLGIpLGR9O18uRz1mdW5jdGlvbihhLGIsYyxkKXthPWEuTGk7cmV0dXJuIF8uUmYoYSxhW18uQ2RdfDAsYixjLGQpfHxiW18uZmZdfHwoYltfLmZmXT1fLmdmKGIpKX07Xy5BZz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkxpLGY9ZVtfLkNkXXwwO2I9Xy5SZihlLGYsYixjLGQpO2lmKGI9PW51bGwpcmV0dXJuIGI7Zj1lW18uQ2RdfDA7aWYoIV8uU2QoYSxmKSl7bGV0IGc9Xy5JZihiKTtnIT09YiYmKF8uSmYoYSkmJihlPWEuTGksZj1lW18uQ2RdfDApLGI9ZyxmPV8uUGYoZSxmLGMsYixkKSxfLk1mKGUsZikpfXJldHVybiBifTsKXy5CZz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkxpO3JldHVybiBfLlhmKGEsZSxlW18uQ2RdfDAsYixjLDEsZCl9OwpfLlhmPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrKXt2YXIgbT1fLlNkKGEsYyk7Zj1tPzE6ZjtoPSEhaHx8Zj09PTM7bT1rJiYhbTsoZj09PTJ8fG0pJiZfLkpmKGEpJiYoYj1hLkxpLGM9YltfLkNkXXwwKTthPWRnKGIsZSxnKTt2YXIgcD1hPT09Xy5lZz83OmFbXy5DZF18MCxxPWZnKHAsYyk7aWYoaz0hKDQmcSkpe3ZhciB1PWEseD1jO2xldCB6PSEhKDImcSk7eiYmKHh8PTIpO2xldCBCPSF6LEs9ITAsTz0wLEE9MDtmb3IoO088dS5sZW5ndGg7TysrKXtsZXQgUT1oZih1W09dLGQsITEseCk7aWYoUSBpbnN0YW5jZW9mIGQpe2lmKCF6KXtsZXQgY2E9Xy5TZChRKTtCJiYoQj0hY2EpO0smJihLPWNhKX11W0ErK109UX19QTxPJiYodS5sZW5ndGg9QSk7cXw9NDtxPUs/cSYtNDA5NzpxfDQwOTY7cT1CP3F8ODpxJi05fXEhPT1wJiYoYVtfLkNkXT1xLDImcSYmT2JqZWN0LmZyZWV6ZShhKSk7aWYobSYmISg4JnF8fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJnF8fCEoMTYmCnEpJiYzMiZjKSkpKXtrZyhxKSYmKGE9Wy4uLmFdLHE9aGcocSxjKSxjPV8uUGYoYixjLGUsYSxnKSk7ZD1hO209cTtmb3IocD0wO3A8ZC5sZW5ndGg7cCsrKXU9ZFtwXSxxPV8uSWYodSksdSE9PXEmJihkW3BdPXEpO218PTg7cT1tPWQubGVuZ3RoP218NDA5NjptJi00MDk3O2FbXy5DZF09cX1yZXR1cm4gYT1pZyhhLHEsYixjLGUsZyxmLGssaCl9O18uQ2c9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuTGk7cmV0dXJuIF8uWGYoYSxkLGRbXy5DZF18MCxiLGMsXy5jZygpLHZvaWQgMCwhMSwhMCl9O0RnPWZ1bmN0aW9uKGEsYil7YSE9bnVsbD9lZihhLGIpOmE9dm9pZCAwO3JldHVybiBhfTtfLkVnPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1EZyhkLGIpO18uUWYoYSxjLGQsZSk7ZCYmIV8uU2QoZCkmJl8uTWYoYS5MaSk7cmV0dXJuIGF9O18uRmc9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPURnKGUsYik7Xy5zZyhhLGMsZCxlKTtlJiYhXy5TZChlKSYmXy5NZihhLkxpKTtyZXR1cm4gYX07Cl8uR2c9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5MZihhKTt2YXIgZT1hLkxpLGY9ZVtfLkNkXXwwO2lmKGQ9PW51bGwpcmV0dXJuIF8uUGYoZSxmLGMpLGE7aWYoIUFycmF5LmlzQXJyYXkoZCkpdGhyb3cgXy50ZCgpO3ZhciBnPWQ9PT1fLmVnPzc6ZFtfLkNkXXwwLGg9ZyxrPWtnKGcpLG09a3x8T2JqZWN0LmlzRnJvemVuKGQpLHA9ITAscT0hMDtmb3IobGV0IHg9MDt4PGQubGVuZ3RoO3grKyl7dmFyIHU9ZFt4XTtlZih1LGIpO2t8fCh1PV8uU2QodSkscCYmKHA9IXUpLHEmJihxPXUpKX1rfHwoZz1wPzEzOjUsZz1xP2cmLTQwOTc6Z3w0MDk2KTttJiZnPT09aHx8KGQ9Wy4uLmRdLGg9MCxnPWhnKGcsZikpO2chPT1oJiYoZFtfLkNkXT1nKTtmPV8uUGYoZSxmLGMsZCk7MiZnfHwhKDQwOTYmZ3x8MTYmZyl8fF8uTWYoZSxmKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5IZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxtKXtfLkxmKGEpO2I9Xy5qZyhhLGIsZiwyLCEwLHZvaWQgMCxnKTtmPUZkKGI9PT1fLmVnPzc6YltfLkNkXXwwKT8/MTAyNDtpZihrKWlmKEFycmF5LmlzQXJyYXkoZCkpZm9yKGU9ZC5sZW5ndGgsaD0wO2g8ZTtoKyspYi5wdXNoKGMoZFtoXSxmKSk7ZWxzZSBmb3IobGV0IHAgb2YgZCliLnB1c2goYyhwLGYpKTtlbHNlIGgmJm0/KGU/PyhlPWIubGVuZ3RoLTEpLF8uWWQoYixlKSxiLnNwbGljZShlLGgpKTooaCYmWmQoYixlKSxlIT12b2lkIDA/Yi5zcGxpY2UoZSxoLGMoZCxmKSk6Yi5wdXNoKGMoZCxmKSkpO3JldHVybiBhfTsKXy5aZj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe18uTGYoYSk7dmFyIGs9YS5MaTthPV8uWGYoYSxrLGtbXy5DZF18MCxjLGIsMixkLCEwKTtpZihnJiZoKWY/PyhmPWEubGVuZ3RoLTEpLF8uWWQoYSxmKSxhLnNwbGljZShmLGcpLGEubGVuZ3RofHwoYVtfLkNkXSY9LTQwOTcpO2Vsc2UgcmV0dXJuIGc/KFpkKGEsZiksZWYoZSxjKSk6ZT1lIT1udWxsP2VmKGUsYyk6bmV3IGMsZiE9dm9pZCAwP2Euc3BsaWNlKGYsZyxlKTphLnB1c2goZSksZj1jPWE9PT1fLmVnPzc6YVtfLkNkXXwwLChnPV8uU2QoZSkpPyhjJj0tOSxhLmxlbmd0aD09PTEmJihjJj0tNDA5NykpOmN8PTQwOTYsYyE9PWYmJihhW18uQ2RdPWMpLGd8fF8uTWYoayksZX07Xy5JZz1mdW5jdGlvbihhLGIpe3JldHVybiBfLkVlKF8uT2YoYSxiKSl9O18uSmc9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBfLkFlKF8uT2YoYSxiKSk/P2N9OwpfLktnPWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLkdlKF8uT2YoYSxiKSk/P2N9O18uTGc9ZnVuY3Rpb24oYSxiLGM9MCl7cmV0dXJuIF8uSmUoXy5PZihhLGIpKT8/Y307Xy5OZz1mdW5jdGlvbihhLGIsYz1fLk1nKXtyZXR1cm4gXy5PZihhLGIsdm9pZCAwLHZvaWQgMCxfLlllKT8/Y307Xy5PZz1mdW5jdGlvbihhLGIsYz0wKXtyZXR1cm4gXy5PZihhLGIsdm9pZCAwLHZvaWQgMCxfLnZlKT8/Y307Xy5IPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uZGYoXy5PZihhLGIpKT8/IiJ9O18uUGc9ZnVuY3Rpb24oYSxiLGM9MCl7cmV0dXJuIF8uSWcoYSxiKT8/Y307Xy5RZz1mdW5jdGlvbihhKXtyZXR1cm4gXy5YZShfLk9mKGEsMSx2b2lkIDAsdm9pZCAwLF8uWWUpKT8/IjAifTtfLlJnPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIF8uamcoYSxiLF8uR2UsYyxlLHZvaWQgMCxkKX07Xy5TZz1mdW5jdGlvbihhLGIsYyl7YT1fLlJnKGEsYiwzLHZvaWQgMCwhMCk7Xy5ZZChhLGMpO3JldHVybiBhW2NdfTsKXy5UZz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlJnKGEsYiwzLHZvaWQgMCwhMCkubGVuZ3RofTtfLlVnPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIF8uamcoYSxiLF8uZGYsYyxlLHZvaWQgMCxkKX07Xy5WZz1mdW5jdGlvbihhLGIsYyl7YT1fLlVnKGEsYiwzLHZvaWQgMCwhMCk7Xy5ZZChhLGMpO3JldHVybiBhW2NdfTtfLldnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVWcoYSxiLDMsdm9pZCAwLCEwKS5sZW5ndGh9O18uWGc9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5qZyhhLGIsXy5FZSwzLCEwKTtfLllkKGEsYyk7cmV0dXJuIGFbY119O18uWWc9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uQWcoYSxiLF8udGcoYSxkLGMpLHZvaWQgMCl9O18uWmc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5kZihfLk9mKGEsYikpfTtfLiRnPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RZihhLGIsYz09bnVsbD9jOl8uemUoYykpfTsKXy5haD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG9nKGEsYixjPT1udWxsP2M6Xy56ZShjKSwhMSl9O18uYmg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlFmKGEsYixjPT1udWxsP2M6Xy5GZShjKSl9O18uY2g9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBvZyhhLGIsYz09bnVsbD9jOl8uRmUoYyksMCl9O18uZGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlFmKGEsYixjPT1udWxsP2M6Xy5IZShjKSl9O18uZWg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gb2coYSwxLGI9PW51bGw/YjpfLlFlKGIsdm9pZCAwKSwiMCIpfTtfLmhoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gb2coYSxiLGM9PW51bGw/YzpfLnVlKGMpLDApfTtfLmloPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5RZihhLGIsXy5jZihjKSl9O18uamg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBvZyhhLGIsXy5jZihjKSwiIil9O18ua2g9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLlFmKGEsYixjPT1udWxsP2M6Xy5EZShjKSl9OwpfLmxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gb2coYSxiLGM9PW51bGw/YzpfLkRlKGMpLDApfTtfLm1oPWZ1bmN0aW9uKGEsYixjKXtfLkhnKGEsYixfLkZlLGMsdm9pZCAwLF8uR2UpfTtfLm5oPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uR2UoXy5PZihhLGIpKSE9bnVsbH07Xy5waD1mdW5jdGlvbihhLGIpe3ZhciBjPTAsZD0wLGU9MCxmPWEucmgsZz1hLnFoO2Rve3ZhciBoPWZbZysrXTtjfD0oaCYxMjcpPDxlO2UrPTd9d2hpbGUoZTwzMiYmaCYxMjgpO2lmKGU+MzIpZm9yKGR8PShoJjEyNyk+PjQsZT0zO2U8MzImJmgmMTI4O2UrPTcpaD1mW2crK10sZHw9KGgmMTI3KTw8ZTtvaChhLGcpO2lmKCEoaCYxMjgpKXJldHVybiBiKGM+Pj4wLGQ+Pj4wKTt0aHJvdyBFcnJvcigpO307Cl8ucWg9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz1hLnFoLGQ9YysxMCxlPWEucmg7YzxkOyl7bGV0IGY9ZVtjKytdO2J8PWY7aWYoKGYmMTI4KT09PTApcmV0dXJuIG9oKGEsYyksISEoYiYxMjcpfXRocm93IEVycm9yKCk7fTtfLnJoPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmgsYz1hLnFoLGQ9YltjKytdLGU9ZCYxMjc7aWYoZCYxMjgmJihkPWJbYysrXSxlfD0oZCYxMjcpPDw3LGQmMTI4JiYoZD1iW2MrK10sZXw9KGQmMTI3KTw8MTQsZCYxMjgmJihkPWJbYysrXSxlfD0oZCYxMjcpPDwyMSxkJjEyOCYmKGQ9YltjKytdLGV8PWQ8PDI4LGQmMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4JiZiW2MrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO29oKGEsYyk7cmV0dXJuIGV9O18uc2g9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ucmgoYSk+Pj4wfTtfLnRoPWZ1bmN0aW9uKGEpe3JldHVybiBfLnBoKGEsXy5xZSl9OwpfLnZoPWZ1bmN0aW9uKGEpe3ZhciBiPWEueGg7Ynx8KGI9YS5yaCxiPWEueGg9bmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCxiLmJ5dGVMZW5ndGgpKTtiPWIuZ2V0RmxvYXQ2NChhLnFoLCEwKTtfLnVoKGEsOCk7cmV0dXJuIGJ9O3ZhYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5yaChhKX07b2g9ZnVuY3Rpb24oYSxiKXthLnFoPWI7aWYoYj5hLnNoKXRocm93IEVycm9yKCk7fTtfLnVoPWZ1bmN0aW9uKGEsYil7b2goYSxhLnFoK2IpfTtfLndoPWZ1bmN0aW9uKGEsYil7aWYoYjwwKXRocm93IEVycm9yKCk7dmFyIGM9YS5xaDtiPWMrYjtpZihiPmEuc2gpdGhyb3cgRXJyb3IoKTthLnFoPWI7cmV0dXJuIGN9OwpfLnpoPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53aChhLGIpO3ZhciBkPWEucmg7KGE9eGgpfHwoYT14aD1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Yj1jK2I7ZD1jPT09MCYmYj09PWQubGVuZ3RoP2Q6ZC5zdWJhcnJheShjLGIpO3RyeXt2YXIgZT1hLmRlY29kZShkKX1jYXRjaChmKXtpZih5aD09PXZvaWQgMCl7dHJ5e2EuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goZyl7fXRyeXthLmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSkseWg9ITB9Y2F0Y2goZyl7eWg9ITF9fSF5aCYmKHhoPXZvaWQgMCk7dGhyb3cgZjt9cmV0dXJuIGV9OwpfLkFoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnJoLnNoLGU9Xy5zaChhLnJoKTtlPWEucmguZ2V0Q3Vyc29yKCkrZTt2YXIgZj1lLWQ7Zjw9MCYmKGEucmguc2g9ZSxjKGIsYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCksZj1lLWEucmguZ2V0Q3Vyc29yKCkpO2lmKGYpdGhyb3cgRXJyb3IoKTthLnJoLnNldEN1cnNvcihlKTthLnJoLnNoPWQ7cmV0dXJuIGJ9O18uQ2g9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zaChhLnJoKTtyZXR1cm4gXy56aChhLnJoLGIpfTtfLkRoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLnNoKGEucmgpO2ZvcihkPWEucmguZ2V0Q3Vyc29yKCkrZDthLnJoLmdldEN1cnNvcigpPGQ7KWMucHVzaChiKGEucmgpKX07Xy5GaD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uRWgoYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9OwpfLkhoPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBHaHx8KEdoPW5ldyBfLkVoKDAsMCkpO2lmKCEvXi0/XGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtfLnNlKGEpO3JldHVybiBuZXcgXy5FaChfLmVlLF8uZ2UpfTsKXy5QaD1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gSWh8fChJaD1uZXcgQmlnSW50NjRBcnJheSgxKSxKaD1uZXcgVWludDMyQXJyYXkoSWguYnVmZmVyKSxJaFswXT1CaWdJbnQoMSksS2g9SmhbMF09PT0xKSxJaFswXT1hLGE9S2g/MDoxLG5ldyBiKEpoW2FdLEpoWzEtYV0pO0xofHwoTWg9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxOaD1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLE9oPUJpZ0ludCg0Mjk0OTY3Mjk1KSxMaD1CaWdJbnQoMzIpKTtpZihhPj1NaCYmYTw9TmgpcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZPaCksTnVtYmVyKGE+PkxoKSl9O18uUWg9ZnVuY3Rpb24oYSxiLGMpe2Zvcig7Yz4wfHxiPjEyNzspYS5xaC5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5xaC5wdXNoKGIpfTsKXy5SaD1mdW5jdGlvbihhLGIpe2EucWgucHVzaChiPj4+MCYyNTUpO2EucWgucHVzaChiPj4+OCYyNTUpO2EucWgucHVzaChiPj4+MTYmMjU1KTthLnFoLnB1c2goYj4+PjI0JjI1NSl9O18uU2g9ZnVuY3Rpb24oYSxiKXtmb3IoO2I+MTI3OylhLnFoLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5xaC5wdXNoKGIpfTtfLlRoPWZ1bmN0aW9uKGEsYil7aWYoYj49MClfLlNoKGEsYik7ZWxzZXtmb3IobGV0IGM9MDtjPDk7YysrKWEucWgucHVzaChiJjEyN3wxMjgpLGI+Pj03O2EucWgucHVzaCgxKX19O1hoPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGghPT0wJiYoYS5zaC5wdXNoKGIpLGEucmgrPWIubGVuZ3RoKX07Xy5ZaD1mdW5jdGlvbihhLGIsYyl7Xy5TaChhLnFoLGIqOCtjKX07Xy5aaD1mdW5jdGlvbihhLGIpe18uWWgoYSxiLDIpO2I9YS5xaC5lbmQoKTtYaChhLGIpO2IucHVzaChhLnJoKTtyZXR1cm4gYn07Cl8uJGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEucmgrYS5xaC5sZW5ndGgoKS1jO2M+MTI3OyliLnB1c2goYyYxMjd8MTI4KSxjPj4+PTcsYS5yaCsrO2IucHVzaChjKTthLnJoKyt9O18uYWk9ZnVuY3Rpb24oYSl7WGgoYSxhLnFoLmVuZCgpKTt2YXIgYj1uZXcgVWludDhBcnJheShhLnJoKSxjPWEuc2gsZD1jLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGc9Y1tmXTtiLnNldChnLGUpO2UrPWcubGVuZ3RofWEuc2g9W2JdO3JldHVybiBifTtiaT1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbClzd2l0Y2goXy5ZaChhLGIsMCksdHlwZW9mIGMpe2Nhc2UgIm51bWJlciI6YT1hLnFoO18ua2UoYyk7Xy5RaChhLF8uZWUsXy5nZSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpjPV8uUGgoYyxfLkVoLF8uRmgpO18uUWgoYS5xaCxjLmxvLGMuaGkpO2JyZWFrO2RlZmF1bHQ6Yz1fLkhoKGMpLF8uUWgoYS5xaCxjLmxvLGMuaGkpfX07CmNpPWZ1bmN0aW9uKGEsYixjKXtjIT1udWxsJiYoYz1wYXJzZUludChjLDEwKSxfLlloKGEsYiwwKSxfLlRoKGEucWgsYykpfTtfLmRpPWZ1bmN0aW9uKGEsYixjKXtfLlloKGEsYiwyKTtfLlNoKGEucWgsYy5sZW5ndGgpO1hoKGEsYS5xaC5lbmQoKSk7WGgoYSxjKX07Xy5laT1mdW5jdGlvbihhLGIsYyxkKXtjIT1udWxsJiYoYj1fLlpoKGEsYiksZChjLGEpLF8uJGgoYSxiKSl9O18uZmk9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJzdHJpbmciOl8uSGgoYSl9fTtnaT1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O2hpPWZ1bmN0aW9uKGEpe3ZhciBiPXdhYTtfLnFmKGEuTGksYi5xaCk7Xy5wZihhLGIucWgsYi50aCk7cmV0dXJuIGIuZ3c/Xy5CZyhhLGIuV24sYi5xaCxiLnJoKTpfLkcoYSxiLlduLGIucWgsYi5yaCl9OwpfLmlpPWZ1bmN0aW9uKGEsYil7aWYoYj09bnVsbClyZXR1cm4gbmV3IGE7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoKTtpZihPYmplY3QuaXNGcm96ZW4oYil8fE9iamVjdC5pc1NlYWxlZChiKXx8IU9iamVjdC5pc0V4dGVuc2libGUoYikpdGhyb3cgRXJyb3IoKTtyZXR1cm4gbmV3IGEoSGQoYikpfTtfLmxpPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBqaShhLGIsITEsa2kpfTtuaT1mdW5jdGlvbihhLGIsYyxkLGUpe18uZWkoYSxjLF8ubWkoYixkKSxlKX07Cl8ucmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1lW2FdO2lmKGYpcmV0dXJuIGY7Yj1iP2IoKTp7fTtiLmlBPWU7Yi5mcT1fLnpmKGVbMF0pO3ZhciBnPWVbMV07Zj0xO2cmJmcuY29uc3RydWN0b3I9PT1PYmplY3QmJihiLm9sPWcsZz1lWysrZl0sdHlwZW9mIGc9PT0iZnVuY3Rpb24iJiYoYi5yST0hMCxfLm9pPz8oXy5vaT1nKSxwaT8/KHBpPWVbZisxXSksZz1lW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2cmJkFycmF5LmlzQXJyYXkoZykmJmcubGVuZ3RoJiZ0eXBlb2YgZ1swXT09PSJudW1iZXIiJiZnWzBdPjA7KXtmb3IodmFyIGs9MDtrPGcubGVuZ3RoO2srKyloW2dba11dPWc7Zz1lWysrZl19Zm9yKGs9MTtnIT09dm9pZCAwOyl7dHlwZW9mIGc9PT0ibnVtYmVyIiYmKGsrPWcsZz1lWysrZl0pO2xldCBxO3ZhciBtPXZvaWQgMDtnIGluc3RhbmNlb2Ygamk/cT1nOihxPXhhYSxmLS0pO2lmKHE/LnJoKXtnPWVbKytmXTttPWU7dmFyIHA9Zjt0eXBlb2YgZz09PSJmdW5jdGlvbiImJgooZz1nKCksbVtwXT1nKTttPWd9Zz1lWysrZl07cD1rKzE7dHlwZW9mIGc9PT0ibnVtYmVyIiYmZzwwJiYocC09ZyxnPWVbKytmXSk7Zm9yKDtrPHA7aysrKXtsZXQgdT1oW2tdO20/ZChiLGsscSxtLHUpOmMoYixrLHEsdSl9fXJldHVybiBlW2FdPWJ9O18uc2k9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YVswXWluc3RhbmNlb2Ygamk/YTpbeWFhLGFdOlthLHZvaWQgMF19O18ubWk9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5JKXJldHVybiBhLkxpO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIF8uRGYoYSxiKX07Xy50aT1mdW5jdGlvbihhKXtyZXR1cm4gXy5yaSh6YWEsdm9pZCAwLEFhYSxCYWEsYSl9O0FhYT1mdW5jdGlvbihhLGIsYyl7YVtiXT1jLnZDfTtCYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPWMudkM7YVtiXT0oaCxrLG0pPT5nKGgsayxtLGZ8fChmPV8udGkoZCkuZnEpLGV8fChlPXVpKGQpKSl9Owp1aT1mdW5jdGlvbihhKXt2YXIgYj1hW3ZpXTtpZighYil7bGV0IGM9Xy50aShhKTtiPShkLGUpPT5fLndpKGQsZSxjKTthW3ZpXT1ifXJldHVybiBifTtfLndpPWZ1bmN0aW9uKGEsYixjKXtfLiRkKGEsYVtfLkNkXXwwLChkLGUpPT57aWYoZSE9bnVsbCl7dmFyIGY9Q2FhKGMsZCk7Zj9mKGIsZSxkKTpkPDUwMHx8Xy54ZChfLnhpLDMpfX0pOyhhPV8ubGYoYSkpJiZfLm1mKGEsKGQsZSxmKT0+e1hoKGIsYi5xaC5lbmQoKSk7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKylYaChiLF8ucWQoZltkXSl8fG5ldyBVaW50OEFycmF5KDApKX0pfTtDYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMpcmV0dXJuIGM7aWYoYz1hLm9sKWlmKGM9Y1tiXSl7Yz1fLnNpKGMpO3ZhciBkPWNbMF0udkM7aWYoYz1jWzFdKXtsZXQgZT11aShjKSxmPV8udGkoYykuZnE7Yz1hLnJJP3BpKGYsZSk6KGcsaCxrKT0+ZChnLGgsayxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTsKXy55aT1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkNkXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBnPWEoYltlXSk7ZyE9bnVsbCYmKGJbZisrXT1nKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQ2RdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O18uemk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZz0wO2c8Yi5sZW5ndGg7ZysrKWYoYSxiW2ddLGMsZCxlKTthPWJbXy5DZF18MDthJjF8fChiW18uQ2RdPWF8MSl9fTtfLkFpPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbmV3IGppKGEsYiwhMSxjKX07Xy5DaT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG5ldyBqaShhLGIsQmksYyl9O18uRGk9ZnVuY3Rpb24oYSxiLGM9a2kpe3JldHVybiBuZXcgamkoYSxiLEJpLGMpfTsKXy5FaT1mdW5jdGlvbihhLGIsYyl7Xy5QZihhLGFbXy5DZF18MCxiLGMsXy5iZShhW18uQ2RdfDApKX07Xy5GaT1mdW5jdGlvbihhLGIsYyl7Yj1fLkRmKHZvaWQgMCxiKTtfLlZmKGEsYVtfLkNkXXwwLGMpLnB1c2goYik7cmV0dXJuIGJ9O18uR2k9ZnVuY3Rpb24oYSxiLGMpe2I9Xy52ZShiKTtiIT1udWxsJiYoXy5ZaChhLGMsMSksYT1hLnFoLF8ubWUoYiksXy5SaChhLF8uZWUpLF8uUmgoYSxfLmdlKSl9O18uSGk9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5hZihiKTtiIT1udWxsJiYoXy5maShiKSxiaShhLGMsYikpfTtfLklpPWZ1bmN0aW9uKGEsYixjKXtiPV8uR2UoYik7YiE9bnVsbCYmYiE9bnVsbCYmKF8uWWgoYSxjLDApLF8uVGgoYS5xaCxiKSl9O18uSmk9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5BZShiKTtiIT1udWxsJiYoXy5ZaChhLGMsMCksYS5xaC5xaC5wdXNoKGI/MTowKSl9O18uS2k9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5kZihiKTtiIT1udWxsJiZfLmRpKGEsYyx6YihiKSl9OwpfLkxpPWZ1bmN0aW9uKGEsYixjLGQsZSl7Xy5laShhLGMsXy5taShiLGQpLGUpfTtfLk1pPWZ1bmN0aW9uKGEsYixjKXtiPV8uSmUoYik7YiE9bnVsbCYmYiE9bnVsbCYmKF8uWWgoYSxjLDApLF8uU2goYS5xaCxiKSl9O18uTmk9ZnVuY3Rpb24oYSxiLGMpe2NpKGEsYyxfLkdlKGIpKX07Xy5PaT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5FaShiLGMsXy50aChhLnJoKSk7cmV0dXJuITB9O18uUGk9ZnVuY3Rpb24oYSxiLGMpe2EucWghPT0wJiZhLnFoIT09Mj9hPSExOihiPV8uV2YoYixjKSxhLnFoPT0yP18uRGgoYSxfLnRoLGIpOmIucHVzaChfLnRoKGEucmgpKSxhPSEwKTtyZXR1cm4gYX07Xy5RaT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTAmJmEucWghPT0yKXJldHVybiExO2I9Xy5XZihiLGMpO2EucWg9PTI/Xy5EaChhLF8ucmgsYik6Yi5wdXNoKF8ucmgoYS5yaCkpO3JldHVybiEwfTsKXy5SaT1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTAmJmEucWghPT0yKXJldHVybiExO2I9Xy5XZihiLGMpO2EucWg9PTI/Xy5EaChhLHZhYSxiKTpiLnB1c2goXy5yaChhLnJoKSk7cmV0dXJuITB9O0RhYT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYyBpbiBhKWlzTmFOKGMpfHxiKCtjLGFbY10sITEpO2M9YS53SD8/KGEud0g9e30pO2Zvcih2YXIgZCBpbiBhLm9sKXtsZXQgZT0rZDtpZihpc05hTihlKSljb250aW51ZTtpZihjW2VdKWNvbnRpbnVlO2xldCBbZixnXT1fLnNpKGEub2xbZV0pLGg9ZztoJiZ0eXBlb2YgaD09PSJmdW5jdGlvbiImJihoPWgoKSk7Y1tlXT1oP25ldyBTaShoLGYucWgsZi5YdCwhMSxoKTpuZXcgVGkoZi5xaCxmLlh0KX1hPWEud0g7Zm9yKGxldCBlIGluIGEpZD0rZSxpc05hTihkKXx8YihkLGFbZF0sITApfTtVaT1mdW5jdGlvbihhLGIsYyl7YVtiXT1uZXcgVGkoYy5xaCxjLlh0KX07ClZpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uemYoZFswXSk7ZT1lP2U9PT1fLnhmOiExO2FbYl09bmV3IFNpKGQsYy5xaCxlP0JpOmMuWHQsZT9FYWE6ITEsZCl9O18uV2k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKCk9Pnt2YXIgYz1uZXcgRmFhKGEsYik7cmV0dXJuKCk9PmN9KSgpfTtfLlhpPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBuZXcgR2FhKGEsYixjLGQpfTtfLiRpPWZ1bmN0aW9uKGEsYil7dmFyIGM7cmV0dXJuKCk9Pnt2YXIgZDtpZigoZD1jKT09bnVsbCl7aWYoIShhPy5wcm90b3R5cGUgaW5zdGFuY2VvZiBfLkkpKXRocm93IEVycm9yKCk7YVtfLmZmXXx8KGFbXy5mZl09Xy5nZihhKSk7bmV3IGE7ZD1jPXtbWWldOmIsW1ppXTphfX1yZXR1cm4gZH19OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK1hhKGIpKyI6ICIrYik7Xy5HZChiKTtyZXR1cm4gbmV3IGEoYil9fTtfLmJqPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57aWYoYj09bnVsbHx8Yj09IiIpYj1uZXcgYTtlbHNle2I9SlNPTi5wYXJzZShiKTtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtiPW5ldyBhKEhkKGIpKX1yZXR1cm4gYn19O18uY2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5oaChhLDEsYil9O18uZGo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5oaChhLDIsYil9O18uZWo9ZnVuY3Rpb24oYSxiKXtOdW1iZXIuaXNGaW5pdGUoYil8fChiPTApO2E9Xy5laChhLE1hdGguZmxvb3IoYi8xRTMpKTtyZXR1cm4gXy5jaChhLDIsKGIlMUUzKzFFMyklMUUzKjFFNil9OwpfLmZqPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgaW4gYSliLmNhbGwoYyxhW2RdLGQsYSl9O0hhYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2ZvcihsZXQgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9O18uaWo9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz0wO2ZvcihsZXQgZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtfLmpqPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXJldHVybiExO3JldHVybiEwfTtfLmxqPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8a2oubGVuZ3RoO2YrKyl7dmFyIGQ9a2pbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19OwpJYWE9ZnVuY3Rpb24oKXt2YXIgYT1udWxsO2lmKCFtailyZXR1cm4gYTt0cnl7bGV0IGI9Yz0+YzthPW1qLmNyZWF0ZVBvbGljeSgiZ29vZ2xlLW1hcHMtYXBpI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O18ub2o9ZnVuY3Rpb24oKXtuaj09PXZvaWQgMCYmKG5qPUlhYSgpKTtyZXR1cm4gbmp9O18ucWo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vaigpO2E9Yj9iLmNyZWF0ZVNjcmlwdFVSTChhKTphO3JldHVybiBuZXcgXy5waihhKX07Xy5yaj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wailyZXR1cm4gYS5xaDt0aHJvdyBFcnJvcigiIik7fTtfLnRqPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5zaihhKX07dmo9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLnVqKGI9PmIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoiKX07Cl8ueGo9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vaigpO2E9Yj9iLmNyZWF0ZUhUTUwoYSk6YTtyZXR1cm4gbmV3IHdqKGEpfTtfLnlqPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiB3ailyZXR1cm4gYS5xaDt0aHJvdyBFcnJvcigiIik7fTtKYWE9ZnVuY3Rpb24oYSxiPWRvY3VtZW50KXthPWIucXVlcnlTZWxlY3Rvcj8uKGAke2F9W25vbmNlXWApO3JldHVybiBhPT1udWxsPyIiOmEubm9uY2V8fGEuZ2V0QXR0cmlidXRlKCJub25jZSIpfHwiIn07Xy5LYWE9ZnVuY3Rpb24oYSl7dmFyIGI9SmFhKCJzY3JpcHQiLGEub3duZXJEb2N1bWVudCk7YiYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixiKX07Xy56aj1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYS50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7YS5pbm5lckhUTUw9Xy55aihiKX07Cl8uQmo9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uQWopcmV0dXJuIGEucWg7dGhyb3cgRXJyb3IoIiIpO307Xy5Daj1mdW5jdGlvbihhKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9O0xhYT1mdW5jdGlvbihhKXt2YXIgYj0xO2E9YS5zcGxpdCgiOiIpO2Zvcih2YXIgYz1bXTtiPjAmJmEubGVuZ3RoOyljLnB1c2goYS5zaGlmdCgpKSxiLS07YS5sZW5ndGgmJmMucHVzaChhLmpvaW4oIjoiKSk7cmV0dXJuIGN9O18uRWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5tYXRjaChfLkRqKVthXXx8bnVsbH07Cl8uRmo9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD8iPSIrXy5DaihjKToiIjtpZihiKz1jKXtjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO2xldCBkPWEuaW5kZXhPZigiPyIpLGU7ZDwwfHxkPmM/KGQ9YyxlPSIiKTplPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7YT1hWzBdKyhhWzFdPyI/IithWzFdOiIiKSthWzJdfXJldHVybiBhfTtfLkdqPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5BaihhWzBdKX07SGo9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBuZXcgVVJMKGEsd2luZG93LmRvY3VtZW50LmJhc2VVUkkpfWNhdGNoKGIpe3JldHVybiBuZXcgVVJMKCJhYm91dDppbnZhbGlkIil9fTtNYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmNyZWF0ZVJhbmdlKCk7Yy5zZWxlY3ROb2RlKGIuYm9keSk7YT1fLnhqKGEpO3JldHVybiBjLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChfLnlqKGEpKX07Ck5hYT1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9O09hYT1mdW5jdGlvbihhKXthPWEubm9kZVR5cGU7cmV0dXJuIGE9PT0xfHx0eXBlb2YgYSE9PSJudW1iZXIifTtQYWE9ZnVuY3Rpb24oYSxiLGMpe2M9YS5xaC5nZXQoYyk7cmV0dXJuIGM/LmhhcyhiKT9jLmdldChiKTphLnRoLmhhcyhiKT97T206MX06KGM9YS53aC5nZXQoYikpP2M6YS5yaCYmWy4uLmEucmhdLnNvbWUoZD0+Yi5pbmRleE9mKGQpPT09MCk/e09tOjF9OntPbTowfX07Xy5Jaj1mdW5jdGlvbihhLGIpe3ZhciBjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1RYWEoYSxiLGMpO2M9Yy5ib2R5O2MuYXBwZW5kQ2hpbGQoYSk7Yz0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGMpO2M9Yy5zbGljZShjLmluZGV4T2YoIj4iKSsxLGMubGFzdEluZGV4T2YoIjwvIikpO3JldHVybiBfLnhqKGMpfTsKUWFhPWZ1bmN0aW9uKGEsYixjKXtiPU1hYShiLGMpO2I9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihiLDUsZz0+e2lmKGcubm9kZVR5cGU9PT0zKWc9MTtlbHNlIGlmKE9hYShnKSlpZihnPU5hYShnKSxnPT09bnVsbClnPTI7ZWxzZXt2YXIgaD1hLnNoO2c9ZyE9PSJGT1JNIiYmKGguc2guaGFzKGcpfHxoLnFoLmhhcyhnKSk/MToyfWVsc2UgZz0yO3JldHVybiBnfSk7Zm9yKHZhciBkPWIubmV4dE5vZGUoKSxlPWMuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGY9ZTtkIT09bnVsbDspe2xldCBnO2lmKGQubm9kZVR5cGU9PT0zKWEud2gmJmYubm9kZU5hbWU9PT0iU1RZTEUiPyhkPWEud2goZC5kYXRhKSxnPWEuY3JlYXRlVGV4dE5vZGUoZCkpOmc9YS5jcmVhdGVUZXh0Tm9kZShkLmRhdGEpO2Vsc2UgaWYoT2FhKGQpKWc9UmFhKGEsZCxjKTtlbHNlIHRocm93IEVycm9yKCIiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9Yi5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9Yi5uZXh0U2libGluZygpKSYmCihkPWIucGFyZW50Tm9kZSgpKTspZj1mLnBhcmVudE5vZGV9cmV0dXJuIGV9OwpSYWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU5hYShiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IobGV0IHtuYW1lOmgsdmFsdWU6a31vZiBiKXt2YXIgZT1QYWEoYS5zaCxoLGQpLGY7YTp7aWYoZj1lLmNvbmRpdGlvbnMpZm9yKGxldCBbbSxwXW9mIGYpe2Y9cDt2YXIgZz1iLmdldE5hbWVkSXRlbShtKT8udmFsdWU7aWYoZyYmIWYuaGFzKGcpKXtmPSExO2JyZWFrIGF9fWY9ITB9aWYoZilzd2l0Y2goZS5PbSl7Y2FzZSAxOkpqKGMsaCxrKTticmVhaztjYXNlIDI6dGhyb3cgRXJyb3IoKTtjYXNlIDM6SmooYyxoLGsudG9Mb3dlckNhc2UoKSk7YnJlYWs7Y2FzZSA0OmEudGg/KGU9YS50aChrKSxKaihjLGgsZSkpOkpqKGMsaCxrKTticmVhaztjYXNlIDU6YS5xaD8oZT17dHlwZToyLGF0dHJpYnV0ZU5hbWU6aCxxSDpkfSxmPUhqKGspLChlPWEucWgoZixlKSkmJkpqKGMsaCxlLnRvU3RyaW5nKCkpKTpKaihjLGgsayk7YnJlYWs7Y2FzZSA2OmlmKGEucWgpe2U9Cnt0eXBlOjIsYXR0cmlidXRlTmFtZTpoLHFIOmR9O2Y9W107Zm9yKGxldCBtIG9mIGsuc3BsaXQoIiwiKSl7bGV0IFtwLHFdPW0udHJpbSgpLnNwbGl0KC9ccysvLDIpO2YucHVzaCh7dXJsOnAsVmg6cX0pfWc9ZjtmPXtjejpbXX07Zm9yKGxldCBtIG9mIGcpZz1IaihtLnVybCksKGc9YS5xaChnLGUpKSYmZi5jei5wdXNoKHt1cmw6Zy50b1N0cmluZygpLFZoOm0uVmh9KTtKaihjLGgsU2FhKGYpKX1lbHNlIEpqKGMsaCxrKTticmVhaztjYXNlIDc6ZT1rO2lmKGEucmgpe2U9e3R5cGU6MixhdHRyaWJ1dGVOYW1lOmgscUg6ZH07Zj1IaihrKTtlPWEucmgoZixlKTtpZihlPT09bnVsbClicmVhaztlPWUudG9TdHJpbmcoKX1hOntnPXZvaWQgMDtmPWU7dHJ5e2c9bmV3IFVSTChmKX1jYXRjaChtKXtmPSJodHRwczoiO2JyZWFrIGF9Zj1nLnByb3RvY29sfWU9ZiE9PXZvaWQgMCYmVGFhLmluZGV4T2YoZi50b0xvd2VyQ2FzZSgpKSE9PS0xP2U6ImFib3V0OmludmFsaWQjekNsb3N1cmV6IjsKSmooYyxoLGUpfX1yZXR1cm4gY307Smo9ZnVuY3Rpb24oYSxiLGMpe2Euc2V0QXR0cmlidXRlKGIsYyl9O1NhYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jei5tYXAoYj0+e3ZhciBjPWIuVmg7cmV0dXJuYCR7Yi51cmx9JHtjP2AgJHtjfWA6IiJ9YH0pLmpvaW4oIiAsICIpfTtXYWE9ZnVuY3Rpb24oYSl7dmFyIGI7aWYoKGI9YVtVYWFdKSE9bnVsbClhPWI7ZWxzZXtpZihLaiE9PUtqKXRocm93IEVycm9yKCk7YT1hW1VhYV09VmFhKGEucWgpfXJldHVybiBhfTtfLk9qPWZ1bmN0aW9uKGEpe2lmKGFbTGpdKXJldHVybiBhW0xqXTt2YXIgYj1uZXcgTWFwLGM9V2FhKGEpO2ZvcihsZXQgZSBvZiBfLkJnKGMsTWosMikpe2M9Xy5LZyhlLDIpO3ZhciBkPWUuZ2V0TmFtZSgpO2Iuc2V0KGQsYyk7ZD1oaShfLkcoZSxOaiwzKSk7ZD1fLmRmKF8uT2YoZCwxKSk7ZCE9PXZvaWQgMCYmYi5zZXQoZCxjKX1yZXR1cm4gYVtMal09Yn07ClhhYT1mdW5jdGlvbihhKXtpZihhW1BqXSlyZXR1cm4gYVtQal07dmFyIGI9bmV3IE1hcCxjPVdhYShhKTtmb3IobGV0IGUgb2YgXy5CZyhjLE1qLDIpKXtjPV8uS2coZSwyKTt2YXIgZD1oaShfLkcoZSxOaiwzKSk7ZD1fLmRmKF8uT2YoZCwxKSk/P2UuZ2V0TmFtZSgpO2xldCBmPWIuZ2V0KGMpO2Z8fChmPVtdLGIuc2V0KGMsZikpO2YucHVzaChkKX1yZXR1cm4gYVtQal09Yn07Xy5Raj1mdW5jdGlvbihhKXtyZXR1cm4gYVtZYWFdPz8oYVtZYWFdPW5ldyBNYXAoWy4uLlhhYShhKS5lbnRyaWVzKCldLm1hcCgoW2IsY10pPT5bYixfLm1hKGMsImF0IikuY2FsbChjLC0xKV0pKSl9O18uJGFhPWZ1bmN0aW9uKGEpeygwLF8uWmFhKShhKTsoMCxfLnRmKShhKTtyZXR1cm4oMCxfLnRmKShhKT9OdW1iZXIoYSk6U3RyaW5nKGEpfTthYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iKyI/Ii0iOiJfIn07Xy5Saj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmJiYShhLDEsYil9OwpfLmJiYT1mdW5jdGlvbihhLGIsYyl7dmFyIHtbWWldOmQsW1ppXTplfT1jO2M9Xy5yaShjYmEsdm9pZCAwLFVpLFZpLGQpO2MubWVzc2FnZVR5cGU/PyhjLm1lc3NhZ2VUeXBlPWUpO3ZhciBmPVNqKGEpO2E9QXJyYXkoNzY4KTtjPWRiYShmLGMsYixhLDApO2lmKGI9PT0wfHwhYylyZXR1cm4gYS5qb2luKCIiKTthLnNoaWZ0KCk7cmV0dXJuIGEuam9pbigiIikucmVwbGFjZShlYmEsIiUyNyIpfTsKZGJhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9KGFbXy5DZF18MCkmNjQ/YTpfLkRmKGEsYi5mcSksZz1mW18uQ2RdfDA7RGFhKGIsKGgsayk9Pnt2YXIgbT1fLk5mKGYsaCxfLmJlKGcpKTtpZihtIT1udWxsKWlmKGsuaXNNYXAmJm0gaW5zdGFuY2VvZiBNYXApbS5mb3JFYWNoKChwLHEpPT57ZT1UaihjLGgsayxbcSxwXSxkLGUpfSk7ZWxzZSBpZihrLmd3KWZvcihsZXQgcD0wO3A8bS5sZW5ndGg7KytwKWU9VGooYyxoLGssbVtwXSxkLGUpO2Vsc2UgZT1UaihjLGgsayxtLGQsZSl9KTtyZXR1cm4gZX07ClRqPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtlW2YrK109YT09PTA/IiEiOiImIjtlW2YrK109YjtpZihjLmRDIGluc3RhbmNlb2Yga2l8fGMuZEMgaW5zdGFuY2VvZiBfLlVqKWI9U2ooZCksZD1jLmNRPz8oYy5jUT1fLnJpKGNiYSx2b2lkIDAsVWksVmksYy5iUSkpLGVbZisrXT0ibSIsZVtmKytdPTAsYz1mLGY9ZGJhKFNqKGIpLGQsYSxlLGYpLGVbYy0xXT1mLWM+PjI7ZWxzZXtjPWMuZEM7Yj1jLkFtO2lmKGMgaW5zdGFuY2VvZiBfLldqKWlmKGE9PT0xKWQ9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7ZWxzZXthPXR5cGVvZiBkPT09InN0cmluZyI/ZDpgJHtkfWA7ZmJhLnRlc3QoYSk/ZD0hMTooZD1lbmNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvJTIwL2csIisiKSxjPWQubWF0Y2goLyVbODlBQl0vZ2kpLGM9YS5sZW5ndGgrKGM/Yy5sZW5ndGg6MCksZD00Kk1hdGguY2VpbChjLzMpLSgzLWMlMyklMzxkLmxlbmd0aCk7ZCYmKGI9InoiKTtpZihiPT09InoiKXtkPQpbXTtjPTA7Zm9yKGxldCBnPTA7ZzxhLmxlbmd0aDtnKyspe2xldCBoPWEuY2hhckNvZGVBdChnKTtoPDEyOD9kW2MrK109aDooaDwyMDQ4P2RbYysrXT1oPj42fDE5MjooKGgmNjQ1MTIpPT01NTI5NiYmZysxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGcrMSkmNjQ1MTIpPT01NjMyMD8oaD02NTUzNisoKGgmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZykmMTAyMyksZFtjKytdPWg+PjE4fDI0MCxkW2MrK109aD4+MTImNjN8MTI4KTpkW2MrK109aD4+MTJ8MjI0LGRbYysrXT1oPj42JjYzfDEyOCksZFtjKytdPWgmNjN8MTI4KX1hPV8uVWMoZCw0KX1lbHNlIGEuaW5kZXhPZigiKiIpIT09LTEmJihhPWEucmVwbGFjZShnYmEsIioyQSIpKSxhLmluZGV4T2YoIiEiKSE9PS0xJiYoYT1hLnJlcGxhY2UoaGJhLCIqMjEiKSk7ZD1hfWVsc2V7YT1kO2lmKCEoYyBpbnN0YW5jZW9mIF8uWGp8fGMgaW5zdGFuY2VvZiBfLllqKSlpZihjIGluc3RhbmNlb2YgXy5aailhPWE/MTowO2Vsc2UgaWYoYyBpbnN0YW5jZW9mCl8uV2opYT1TdHJpbmcoYSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgXy5hayl7YSBpbnN0YW5jZW9mIF8uZmR8fGE9PW51bGx8fGEgaW5zdGFuY2VvZiBfLmZkfHwoYT10eXBlb2YgYT09PSJzdHJpbmciP2E/bmV3IF8uZmQoYSxfLmhkKTpfLmxkKCk6dm9pZCAwKTtpZihhPT1udWxsKXRocm93IEVycm9yKCk7YT1tZChhKS5yZXBsYWNlKGliYSxhYmEpLnJlcGxhY2UoamJhLCIiKX1lbHNlIGE9YyBpbnN0YW5jZW9mIF8uYmt8fGMgaW5zdGFuY2VvZiBfLmNrP18uSmUoYSk6YyBpbnN0YW5jZW9mIF8uZGt8fGMgaW5zdGFuY2VvZiBfLmVrfHxjIGluc3RhbmNlb2YgXy5ma3x8YyBpbnN0YW5jZW9mIF8uZ2s/Xy5HZShhKTpjIGluc3RhbmNlb2YgXy5oa3x8YyBpbnN0YW5jZW9mIF8uaWt8fGMgaW5zdGFuY2VvZiBrYmE/Xy5YZShhKTpjIGluc3RhbmNlb2YgXy5qa3x8YyBpbnN0YW5jZW9mIF8ua2s/Xy4kZShhKTphO2Q9YX1lW2YrK109YjtlW2YrK109ZH1yZXR1cm4gZn07ClNqPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkkpcmV0dXJuIGEuTGk7aWYoYSBpbnN0YW5jZW9mIE1hcClyZXR1cm5bLi4uYV07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYTt0aHJvdyBFcnJvcigpO307bGJhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwptYmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4gMjAwO2Nhc2UgMzpjYXNlIDExOnJldHVybiA0MDA7Y2FzZSAxNjpyZXR1cm4gNDAxO2Nhc2UgNzpyZXR1cm4gNDAzO2Nhc2UgNTpyZXR1cm4gNDA0O2Nhc2UgNjpjYXNlIDEwOnJldHVybiA0MDk7Y2FzZSA5OnJldHVybiA0MTI7Y2FzZSA4OnJldHVybiA0Mjk7Y2FzZSAxOnJldHVybiA0OTk7Y2FzZSAxNTpjYXNlIDEzOmNhc2UgMjpyZXR1cm4gNTAwO2Nhc2UgMTI6cmV0dXJuIDUwMTtjYXNlIDE0OnJldHVybiA1MDM7Y2FzZSA0OnJldHVybiA1MDQ7ZGVmYXVsdDpyZXR1cm4gMH19OwpfLmxrPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuIk9LIjtjYXNlIDE6cmV0dXJuIkNBTkNFTExFRCI7Y2FzZSAyOnJldHVybiJVTktOT1dOIjtjYXNlIDM6cmV0dXJuIklOVkFMSURfQVJHVU1FTlQiO2Nhc2UgNDpyZXR1cm4iREVBRExJTkVfRVhDRUVERUQiO2Nhc2UgNTpyZXR1cm4iTk9UX0ZPVU5EIjtjYXNlIDY6cmV0dXJuIkFMUkVBRFlfRVhJU1RTIjtjYXNlIDc6cmV0dXJuIlBFUk1JU1NJT05fREVOSUVEIjtjYXNlIDE2OnJldHVybiJVTkFVVEhFTlRJQ0FURUQiO2Nhc2UgODpyZXR1cm4iUkVTT1VSQ0VfRVhIQVVTVEVEIjtjYXNlIDk6cmV0dXJuIkZBSUxFRF9QUkVDT05ESVRJT04iO2Nhc2UgMTA6cmV0dXJuIkFCT1JURUQiO2Nhc2UgMTE6cmV0dXJuIk9VVF9PRl9SQU5HRSI7Y2FzZSAxMjpyZXR1cm4iVU5JTVBMRU1FTlRFRCI7Y2FzZSAxMzpyZXR1cm4iSU5URVJOQUwiO2Nhc2UgMTQ6cmV0dXJuIlVOQVZBSUxBQkxFIjtjYXNlIDE1OnJldHVybiJEQVRBX0xPU1MiOwpkZWZhdWx0OnJldHVybiIifX07Xy5taz1mdW5jdGlvbigpe3RoaXMuTGg9dGhpcy5MaDt0aGlzLkpoPXRoaXMuSmh9O18ubms9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9Yjt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5yaD0hMX07Cl8ub2s9ZnVuY3Rpb24oYSxiKXtfLm5rLmNhbGwodGhpcyxhP2EudHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTA7dGhpcy5rZXk9IiI7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ITE7dGhpcy5zdGF0ZT1udWxsO3RoaXMucG9pbnRlcklkPTA7dGhpcy5wb2ludGVyVHlwZT0iIjt0aGlzLnRpbWVTdGFtcD0wO3RoaXMucWg9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Xy5waz1mdW5jdGlvbihhKXtyZXR1cm4hKCFhfHwhYVtuYmFdKX07CnBiYT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMubGlzdGVuZXI9YTt0aGlzLnByb3h5PW51bGw7dGhpcy5zcmM9Yjt0aGlzLnR5cGU9Yzt0aGlzLmNhcHR1cmU9ISFkO3RoaXMub3A9ZTt0aGlzLmtleT0rK29iYTt0aGlzLnFxPXRoaXMuakE9ITF9O3FrPWZ1bmN0aW9uKGEpe2EucXE9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2Eub3A9bnVsbH07cms9ZnVuY3Rpb24oYSl7dGhpcy5zcmM9YTt0aGlzLmFpPXt9O3RoaXMucWg9MH07c2s9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnR5cGU7aWYoIShjIGluIGEuYWkpKXJldHVybiExO3ZhciBkPV8ueWMoYS5haVtjXSxiKTtkJiYocWsoYiksYS5haVtjXS5sZW5ndGg9PTAmJihkZWxldGUgYS5haVtjXSxhLnFoLS0pKTtyZXR1cm4gZH07Cl8ucWJhPWZ1bmN0aW9uKGEpe3ZhciBiPTA7Zm9yKGxldCBjIGluIGEuYWkpe2xldCBkPWEuYWlbY107Zm9yKGxldCBlPTA7ZTxkLmxlbmd0aDtlKyspKytiLHFrKGRbZV0pO2RlbGV0ZSBhLmFpW2NdO2EucWgtLX19O3RrPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXtsZXQgZj1hW2VdO2lmKCFmLnFxJiZmLmxpc3RlbmVyPT1iJiZmLmNhcHR1cmU9PSEhYyYmZi5vcD09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy52az1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gXy51ayhhLGIsYyxkLGUpO2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8udmsoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPXdrKGMpO3JldHVybiBfLnBrKGEpP18ueGsoYSxiLGMsXy5aYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6cmJhKGEsYixjLCExLGQsZSl9OwpyYmE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2lmKCFiKXRocm93IEVycm9yKCJJbnZhbGlkIGV2ZW50IHR5cGUiKTt2YXIgZz1fLlphKGUpPyEhZS5jYXB0dXJlOiEhZSxoPV8ueWsoYSk7aHx8KGFbemtdPWg9bmV3IHJrKGEpKTtjPWguYWRkKGIsYyxkLGcsZik7aWYoYy5wcm94eSlyZXR1cm4gYztkPXNiYSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudCh0YmEoYi50b1N0cmluZygpKSxkKTtlbHNlIGlmKGEuYWRkTGlzdGVuZXImJmEucmVtb3ZlTGlzdGVuZXIpYS5hZGRMaXN0ZW5lcihkKTtlbHNlIHRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7dWJhKys7cmV0dXJuIGN9OwpzYmE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe3JldHVybiBiLmNhbGwoYS5zcmMsYS5saXN0ZW5lcixjKX12YXIgYj12YmE7cmV0dXJuIGF9O18udWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLnVrKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz13ayhjKTtyZXR1cm4gXy5wayhhKT9hLlNwLmFkZChTdHJpbmcoYiksYywhMCxfLlphKGQpPyEhZC5jYXB0dXJlOiEhZCxlKTpyYmEoYSxiLGMsITAsZCxlKX07CndiYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspd2JhKGEsYltmXSxjLGQsZSk7ZWxzZShkPV8uWmEoZCk/ISFkLmNhcHR1cmU6ISFkLGM9d2soYyksXy5wayhhKSk/YS5TcC5yZW1vdmUoU3RyaW5nKGIpLGMsZCxlKTphJiYoYT1fLnlrKGEpKSYmKGI9YS5haVtiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9dGsoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5BayhjKSl9OwpfLkFrPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09Im51bWJlciJ8fCFhfHxhLnFxKXJldHVybiExO3ZhciBiPWEuc3JjO2lmKF8ucGsoYikpcmV0dXJuIHNrKGIuU3AsYSk7dmFyIGM9YS50eXBlLGQ9YS5wcm94eTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCxhLmNhcHR1cmUpOmIuZGV0YWNoRXZlbnQ/Yi5kZXRhY2hFdmVudCh0YmEoYyksZCk6Yi5hZGRMaXN0ZW5lciYmYi5yZW1vdmVMaXN0ZW5lciYmYi5yZW1vdmVMaXN0ZW5lcihkKTt1YmEtLTsoYz1fLnlrKGIpKT8oc2soYyxhKSxjLnFoPT0wJiYoYy5zcmM9bnVsbCxiW3prXT1udWxsKSk6cWsoYSk7cmV0dXJuITB9O3RiYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbiBDaz9Da1thXTpDa1thXT0ib24iK2F9Owp2YmE9ZnVuY3Rpb24oYSxiKXtpZihhLnFxKWE9ITA7ZWxzZXtiPW5ldyBfLm9rKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEub3B8fGEuc3JjO2EuakEmJl8uQWsoYSk7YT1jLmNhbGwoZCxiKX1yZXR1cm4gYX07Xy55az1mdW5jdGlvbihhKXthPWFbemtdO3JldHVybiBhIGluc3RhbmNlb2Ygcms/YTpudWxsfTt3az1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpcmV0dXJuIGE7YVtEa118fChhW0RrXT1mdW5jdGlvbihiKXtyZXR1cm4gYS5oYW5kbGVFdmVudChiKX0pO3JldHVybiBhW0RrXX07CnhiYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJObyBFcnJvciI7Y2FzZSAxOnJldHVybiJBY2Nlc3MgZGVuaWVkIHRvIGNvbnRlbnQgZG9jdW1lbnQiO2Nhc2UgMjpyZXR1cm4iRmlsZSBub3QgZm91bmQiO2Nhc2UgMzpyZXR1cm4iRmlyZWZveCBzaWxlbnRseSBlcnJvcmVkIjtjYXNlIDQ6cmV0dXJuIkFwcGxpY2F0aW9uIGN1c3RvbSBlcnJvciI7Y2FzZSA1OnJldHVybiJBbiBleGNlcHRpb24gb2NjdXJyZWQiO2Nhc2UgNjpyZXR1cm4iSHR0cCByZXNwb25zZSBhdCA0MDAgb3IgNTAwIGxldmVsIjtjYXNlIDc6cmV0dXJuIlJlcXVlc3Qgd2FzIGFib3J0ZWQiO2Nhc2UgODpyZXR1cm4iUmVxdWVzdCB0aW1lZCBvdXQiO2Nhc2UgOTpyZXR1cm4iVGhlIHJlc291cmNlIGlzIG5vdCBhdmFpbGFibGUgb2ZmbGluZSI7ZGVmYXVsdDpyZXR1cm4iVW5yZWNvZ25pemVkIGVycm9yIGNvZGUifX07Cl8uRWs9ZnVuY3Rpb24oYSl7aWYoYS5KbSYmdHlwZW9mIGEuSm09PSJmdW5jdGlvbiIpcmV0dXJuIGEuSm0oKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLllhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLmlqKGEpfTsKXy5Gaz1mdW5jdGlvbihhKXtpZihhLlJzJiZ0eXBlb2YgYS5Scz09ImZ1bmN0aW9uIilyZXR1cm4gYS5ScygpO2lmKCFhLkptfHx0eXBlb2YgYS5KbSE9ImZ1bmN0aW9uIil7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgTWFwKXJldHVybiBBcnJheS5mcm9tKGEua2V5cygpKTtpZighKHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldCkpe2lmKF8uWWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpe3ZhciBiPVtdO2E9YS5sZW5ndGg7Zm9yKHZhciBjPTA7YzxhO2MrKyliLnB1c2goYyk7cmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX07eWJhPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18uZmooYSxmdW5jdGlvbihjLGQpe2IrPWQ7Yis9IjoiO2IrPWM7Yis9IlxyXG4ifSk7cmV0dXJuIGJ9OwpfLkdrPWZ1bmN0aW9uKCl7Xy5tay5jYWxsKHRoaXMpO3RoaXMuU3A9bmV3IHJrKHRoaXMpO3RoaXMuenY9dGhpczt0aGlzLndrPW51bGx9O18ueGs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5TcC5hZGQoU3RyaW5nKGIpLGMsITEsZCxlKX07SGs9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLlNwLmFpW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgZz1iW2ZdO2lmKGcmJiFnLnFxJiZnLmNhcHR1cmU9PWMpe2xldCBoPWcubGlzdGVuZXIsaz1nLm9wfHxnLnNyYztnLmpBJiZzayhhLlNwLGcpO2U9aC5jYWxsKGssZCkhPT0hMSYmZX19cmV0dXJuIGUmJiFkLmRlZmF1bHRQcmV2ZW50ZWR9O18uSWs9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjA0OmNhc2UgMjA2OmNhc2UgMzA0OmNhc2UgMTIyMzpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX07CnpiYT1mdW5jdGlvbigpe307Sms9ZnVuY3Rpb24oKXt9O18uS2s9ZnVuY3Rpb24oYSl7Xy5Hay5jYWxsKHRoaXMpO3RoaXMuaGVhZGVycz1uZXcgTWFwO3RoaXMuSWg9YXx8bnVsbDt0aGlzLnJoPSExO3RoaXMucWg9bnVsbDt0aGlzLkFoPSIiO3RoaXMuc2g9MDt0aGlzLnhoPSIiO3RoaXMud2g9dGhpcy5HaD10aGlzLkNoPXRoaXMuRmg9ITE7dGhpcy5CaD0wO3RoaXMudGg9bnVsbDt0aGlzLkRoPSIiO3RoaXMueWg9ITF9O0JiYT1mdW5jdGlvbihhLGIpe2Eucmg9ITE7YS5xaCYmKGEud2g9ITAsYS5xaC5hYm9ydCgpLGEud2g9ITEpO2EueGg9YjthLnNoPTU7QWJhKGEpO0xrKGEpfTtBYmE9ZnVuY3Rpb24oYSl7YS5GaHx8KGEuRmg9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9OwpDYmE9ZnVuY3Rpb24oYSl7aWYoYS5yaCYmdHlwZW9mIE1rIT0idW5kZWZpbmVkIilpZihhLkNoJiZfLk5rKGEpPT00KXNldFRpbWVvdXQoYS5ZSS5iaW5kKGEpLDApO2Vsc2UgaWYoYS5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksYS5NbSgpKXthLmdldFN0YXR1cygpO2Eucmg9ITE7dHJ5e2lmKF8uT2soYSkpYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgic3VjY2VzcyIpO2Vsc2V7YS5zaD02O3RyeXt2YXIgYj1fLk5rKGEpPjI/YS5xaC5zdGF0dXNUZXh0OiIifWNhdGNoKGMpe2I9IiJ9YS54aD1iKyIgWyIrYS5nZXRTdGF0dXMoKSsiXSI7QWJhKGEpfX1maW5hbGx5e0xrKGEpfX19O0xrPWZ1bmN0aW9uKGEsYil7aWYoYS5xaCl7YS50aCYmKGNsZWFyVGltZW91dChhLnRoKSxhLnRoPW51bGwpO2xldCBjPWEucWg7YS5xaD1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07Cl8uT2s9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRTdGF0dXMoKSxjO2lmKCEoYz1fLklrKGIpKSl7aWYoYj1iPT09MClhPV8uRWooMSxTdHJpbmcoYS5BaCkpLCFhJiZfLlVhLnNlbGYmJl8uVWEuc2VsZi5sb2NhdGlvbiYmKGE9Xy5VYS5zZWxmLmxvY2F0aW9uLnByb3RvY29sLnNsaWNlKDAsLTEpKSxiPSFEYmEudGVzdChhP2EudG9Mb3dlckNhc2UoKToiIik7Yz1ifXJldHVybiBjfTtfLk5rPWZ1bmN0aW9uKGEpe3JldHVybiBhLnFoP2EucWgucmVhZHlTdGF0ZTowfTtfLlBrPWZ1bmN0aW9uKGEpe3RyeXtpZighYS5xaClyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gYS5xaClyZXR1cm4gYS5xaC5yZXNwb25zZTtzd2l0Y2goYS5EaCl7Y2FzZSAiIjpjYXNlICJ0ZXh0IjpyZXR1cm4gYS5xaC5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIGEucWgpcmV0dXJuIGEucWgubW96UmVzcG9uc2VBcnJheUJ1ZmZlcn1yZXR1cm4gbnVsbH1jYXRjaChiKXtyZXR1cm4gbnVsbH19OwpFYmE9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLmdldEFsbFJlc3BvbnNlSGVhZGVycygpLnNwbGl0KCJcclxuIik7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2lmKC9eW1xzXHhhMF0qJC8udGVzdChhW2RdKSljb250aW51ZTt2YXIgYz1MYWEoYVtkXSk7bGV0IGU9Y1swXTtjPWNbMV07aWYodHlwZW9mIGMhPT0ic3RyaW5nIiljb250aW51ZTtjPWMudHJpbSgpO2xldCBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goYyl9cmV0dXJuIEhhYShiLGZ1bmN0aW9uKGQpe3JldHVybiBkLmpvaW4oIiwgIil9KX07RmJhPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS54aD09PSJzdHJpbmciP2EueGg6U3RyaW5nKGEueGgpfTtfLkhiYT1mdW5jdGlvbihhLGIsYz17fSl7cmV0dXJuIG5ldyBHYmEoYixhLGMpfTtKYmE9ZnVuY3Rpb24oYSxiPXt9KXtyZXR1cm4gbmV3IEliYShhLGIpfTsKTWJhPWZ1bmN0aW9uKGEpe2EueGgucnAoImRhdGEiLGI9PntpZigiMSJpbiBiKXt2YXIgYz1iWyIxIl07bGV0IGQ7dHJ5e2Q9YS56aChjKX1jYXRjaChlKXtRayhhLG5ldyBfLlJrKDEzLGBFcnJvciB3aGVuIGRlc2VyaWFsaXppbmcgcmVzcG9uc2UgZGF0YTsgZXJyb3I6ICR7ZX0sIHJlc3BvbnNlOiAke2N9YCkpfWQmJktiYShhLGQpfWlmKCIyImluIGIpZm9yKGI9TGJhKGEsYlsiMiJdKSxjPTA7YzxhLndoLmxlbmd0aDtjKyspYS53aFtjXShiKX0pO2EueGgucnAoImVuZCIsKCk9PntTayhhLFRrKGEpKTtmb3IobGV0IGI9MDtiPGEuc2gubGVuZ3RoO2IrKylhLnNoW2JdKCl9KTthLnhoLnJwKCJlcnJvciIsKCk9PntpZihhLnFoLmxlbmd0aCE9PTApe3ZhciBiPWEuVGkuc2g7YiE9PTB8fF8uT2soYS5UaSl8fChiPTYpO3ZhciBjPS0xO3N3aXRjaChiKXtjYXNlIDA6dmFyIGQ9MjticmVhaztjYXNlIDc6ZD0xMDticmVhaztjYXNlIDg6ZD00O2JyZWFrO2Nhc2UgNjpjPWEuVGkuZ2V0U3RhdHVzKCk7CmQ9bGJhKGMpO2JyZWFrO2RlZmF1bHQ6ZD0xNH1TayhhLFRrKGEpKTtiPXhiYShiKSsiLCBlcnJvcjogIitGYmEoYS5UaSk7YyE9PS0xJiYoYis9YCwgaHR0cCBzdGF0dXMgY29kZTogJHtjfWApO1FrKGEsbmV3IF8uUmsoZCxiKSl9fSl9O1FrPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLnFoLmxlbmd0aDtjKyspYS5xaFtjXShiKX07U2s9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9MDtjPGEudGgubGVuZ3RoO2MrKylhLnRoW2NdKGIpfTtUaz1mdW5jdGlvbihhKXt2YXIgYj17fSxjPUViYShhLlRpKTtPYmplY3Qua2V5cyhjKS5mb3JFYWNoKGQ9PntiW2RdPWNbZF19KTtyZXR1cm4gYn07S2JhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTA7YzxhLnJoLmxlbmd0aDtjKyspYS5yaFtjXShiKX07CkxiYT1mdW5jdGlvbihhLGIpe3ZhciBjPTIsZD17fTt0cnl7bGV0IGY7Zj1OYmEoYik7Yz1fLktnKGYsMSk7dmFyIGU9Zi5nZXRNZXNzYWdlKCk7Xy5DZyhmLE9iYSwzKS5sZW5ndGgmJihkWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1iKX1jYXRjaChmKXthLlRpJiZhLlRpLmdldFN0YXR1cygpPT09NDA0PyhjPTUsZT0iTm90IEZvdW5kOiAiK1N0cmluZyhhLlRpLkFoKSk6KGM9MTQsZT1gVW5hYmxlIHRvIHBhcnNlIFJwY1N0YXR1czogJHtmfWApfXJldHVybntjb2RlOmMsZGV0YWlsczplLG1ldGFkYXRhOmR9fTsKUWJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFBiYTtfLnZrKGEuVGksImNvbXBsZXRlIiwoKT0+e2lmKF8uT2soYS5UaSkpe3ZhciBkPWEuVGkuUnIoKTt2YXIgZTtpZihlPWIpZT1hLlRpLGUucWgmJmUuTW0oKT8oZT1lLnFoLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSxlPWU9PT1udWxsP3ZvaWQgMDplKTplPXZvaWQgMCxlPWU9PT0idGV4dC9wbGFpbiI7aWYoZSl7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7ZD1hdG9iKGQpfXRyeXt2YXIgZj1hLnpoKGQpfWNhdGNoKGgpe1FrKGEsVWsobmV3IF8uUmsoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7ZH1gKSxjKSk7cmV0dXJufWQ9bGJhKGEuVGkuZ2V0U3RhdHVzKCkpO1NrKGEsVGsoYSkpO2Q9PT0wP0tiYShhLGYpOlFrKGEsVWsobmV3IF8uUmsoZCwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSwKYykpfWVsc2V7ZD1hLlRpLlJyKCk7Zj1UayhhKTtpZihkKXt2YXIgZz1MYmEoYSxkKTtkPWcuY29kZTtlPWcuZGV0YWlscztnPWcubWV0YWRhdGF9ZWxzZSBkPTIsZT1gUnBjIGZhaWxlZCBkdWUgdG8geGhyIGVycm9yLiB1cmk6ICR7U3RyaW5nKGEuVGkuQWgpfSwgZXJyb3IgY29kZTogJHthLlRpLnNofSwgZXJyb3I6ICR7RmJhKGEuVGkpfWAsZz1mO1NrKGEsZik7UWsoYSxVayhuZXcgXy5SayhkLGUsZyksYykpfX0pfTtWaz1mdW5jdGlvbihhLGIpe2I9YS5pbmRleE9mKGIpO2I+LTEmJmEuc3BsaWNlKGIsMSl9O1VrPWZ1bmN0aW9uKGEsYil7Yi5zdGFjayYmKGEuc3RhY2srPSJcbiIrYi5zdGFjayk7cmV0dXJuIGF9O1drPWZ1bmN0aW9uKGEpe3RoaXMuc2g9YS5EcHx8bnVsbDt0aGlzLnJoPWEuWVB8fCExfTsKWGs9ZnVuY3Rpb24oYSxiKXtfLkdrLmNhbGwodGhpcyk7dGhpcy5GaD1hO3RoaXMueWg9Yjt0aGlzLnhoPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuQ2g9bmV3IEhlYWRlcnM7dGhpcy5yaD1udWxsO3RoaXMuRGg9IkdFVCI7dGhpcy50aD0iIjt0aGlzLnFoPSExO3RoaXMuQWg9dGhpcy5zaD10aGlzLndoPW51bGw7dGhpcy5CaD1uZXcgQWJvcnRDb250cm9sbGVyfTtSYmE9ZnVuY3Rpb24oYSl7YS5zaC5yZWFkKCkudGhlbihhLm5OLmJpbmQoYSkpLmNhdGNoKGEuVkEuYmluZChhKSl9O1prPWZ1bmN0aW9uKGEpe2EucmVhZHlTdGF0ZT00O2Eud2g9bnVsbDthLnNoPW51bGw7YS5BaD1udWxsO1lrKGEpfTtZaz1mdW5jdGlvbihhKXthLm9ucmVhZHlzdGF0ZWNoYW5nZSYmYS5vbnJlYWR5c3RhdGVjaGFuZ2UuY2FsbChhKX07Cl8uJGs9ZnVuY3Rpb24oYSl7Xy5tay5jYWxsKHRoaXMpO3RoaXMud2g9YTt0aGlzLnFoPXt9fTtfLmFsPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtBcnJheS5pc0FycmF5KGMpfHwoYyYmKFNiYVswXT1jLnRvU3RyaW5nKCkpLGM9U2JhKTtmb3IobGV0IGc9MDtnPGMubGVuZ3RoO2crKyl7bGV0IGg9Xy52ayhiLGNbZ10sZHx8YS5oYW5kbGVFdmVudCxlfHwhMSxmfHxhLndofHxhKTtpZighaClicmVhazthLnFoW2gua2V5XT1ofX07Xy5ibD1mdW5jdGlvbihhKXtfLmZqKGEucWgsZnVuY3Rpb24oYixjKXt0aGlzLnFoLmhhc093blByb3BlcnR5KGMpJiZfLkFrKGIpfSxhKTthLnFoPXt9fTtUYmE9ZnVuY3Rpb24oYSxiLGMpe2Euc2g9ITE7dGhyb3cgRXJyb3IoIlRoZSBzdHJlYW0gaXMgYnJva2VuIEAiK2EucmgrIi4gRXJyb3I6ICIrYysiLiBXaXRoIGlucHV0OlxuIitiKTt9OwpjbD1mdW5jdGlvbigpe3RoaXMuQWg9bnVsbDt0aGlzLnpoPVtdO3RoaXMud2g9dGhpcy5xaD10aGlzLnRoPXRoaXMucmg9dGhpcy5DaD0wO3RoaXMueGg9bnVsbDt0aGlzLnloPTB9O2RsPWZ1bmN0aW9uKGEsYixjLGQpe2Eucmg9MzthLkFoPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLkNoKyIvIitjKyIuIEVycm9yOiAiK2QrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLkFoKTt9O2VsPWZ1bmN0aW9uKCl7dGhpcy5xaD1udWxsO3RoaXMucmg9MDt0aGlzLnRoPW5ldyBVYmE7dGhpcy53aD1uZXcgY2x9O1ZiYT1mdW5jdGlvbihhLGIsYyl7YS5xaD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrYS5yaCsiLiBFcnJvcjogIitjKyIuIFdpdGggaW5wdXQ6XG4iK2I7dGhyb3cgRXJyb3IoYS5xaCk7fTtmbD1mdW5jdGlvbihhKXtyZXR1cm4gYT09IlxyInx8YT09IlxuInx8YT09IiAifHxhPT0iXHQifTsKZ2w9ZnVuY3Rpb24oYSl7dGhpcy5DaD1udWxsO3RoaXMueGg9W107dGhpcy53aD0iIjt0aGlzLkZoPVtdO3RoaXMudGg9dGhpcy5yaD0wO3RoaXMuemg9ITE7dGhpcy5BaD0wO3RoaXMuR2g9L1tcXCJdL2c7dGhpcy5xaD10aGlzLnloPTA7dGhpcy5EaD0hKCFhfHwhYS5qTSl9O2hsPWZ1bmN0aW9uKGEsYixjKXthLnloPTM7YS5DaD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrYS50aCsiLyIrYysiLiBXaXRoIGlucHV0OlxuIitiO3Rocm93IEVycm9yKGEuQ2gpO307aWw9ZnVuY3Rpb24oKXt0aGlzLnhoPXRoaXMudGg9bnVsbDt0aGlzLnJoPXRoaXMucWg9MDt0aGlzLndoPVtdO3RoaXMuemg9ITF9OwpXYmE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5xaD9hLnFoLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFiKXJldHVybiBudWxsO2I9Yi50b0xvd2VyQ2FzZSgpO3JldHVybiBiLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9iLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgaWw6bmV3IGdsOmIuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhhPWEucWg/YS5xaC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZyIpOm51bGwpP2EudG9Mb3dlckNhc2UoKT09ImJhc2U2NCI/bmV3IGVsOm51bGw6bmV3IGNsOm51bGx9O2psPWZ1bmN0aW9uKGEsYil7YS53aCE9YiYmKGEud2g9YixhLnpoJiZhLnpoKCkpfTtrbD1mdW5jdGlvbihhKXtfLmJsKGEueWgpO2lmKGEucWgpe2xldCBiPWEucWg7YS5xaD1udWxsO2IuYWJvcnQoKTtiLmRpc3Bvc2UoKX19OwpYYmE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyl7bGV0IGQ9YVtjXTtiLmZvckVhY2goZnVuY3Rpb24oZSl7dHJ5e2UoZCl9Y2F0Y2goZil7fX0pfX07bGw9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnJoW2JdO2MmJmMuZm9yRWFjaChmdW5jdGlvbihkKXt0cnl7ZCgpfWNhdGNoKGUpe319KTsoYz1hLnFoW2JdKSYmYy5mb3JFYWNoKGZ1bmN0aW9uKGQpe2QoKX0pO2EucWhbYl09W119O1liYT1mdW5jdGlvbihhLGIpe3JldHVybiBiLnJlZHVjZSgoYyxkKT0+ZT0+ZC5pbnRlcmNlcHQoZSxjKSxhKX07CmJjYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yi5PSSxlPWIuZ2V0TWV0YWRhdGEoKSxmPV8uWmJhKGEsITApO2E9Xy4kYmEoYSxlLGYsYytkLmdldE5hbWUoKSk7Yz1fLmFjYShmLGQucWgsITEpO1FiYShjLGVbIlgtR29vZy1FbmNvZGUtUmVzcG9uc2UtSWYtRXhlY3V0YWJsZSJdPT09ImJhc2U2NCIpO2I9ZC5yaChiLlhFKTtmLnNlbmQoYSwiUE9TVCIsYik7cmV0dXJuIGN9O18uWmJhPWZ1bmN0aW9uKGEsYil7Yj1hLnNoJiYhYjtyZXR1cm4gYS5URnx8Yj9uZXcgXy5LayhuZXcgV2soe0RwOmEuVEYsWVA6Yn0pKTpuZXcgXy5La307Cl8uJGJhPWZ1bmN0aW9uKGEsYixjLGQpe2JbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtiWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciBlPWIuQXV0aG9yaXphdGlvbjtpZihlJiZjY2EuaGFzKGUuc3BsaXQoIiAiKVswXSl8fGEud2l0aENyZWRlbnRpYWxzKWMueWg9ITA7aWYoYS54RilhPWQsXy5qaihiKT9kPWE6KGI9eWJhKGIpLHR5cGVvZiBhPT09InN0cmluZyI/ZD1fLkZqKGEsXy5DaigiJGh0dHBIZWFkZXJzIiksYik6KGEuaHYoIiRodHRwSGVhZGVycyIsYiksZD1hKSk7ZWxzZSBmb3IobGV0IGYgb2YgT2JqZWN0LmtleXMoYikpYy5oZWFkZXJzLnNldChmLGJbZl0pO3JldHVybiBkfTtfLmFjYT1mdW5jdGlvbihhLGIsYyl7aWYoYyl7YS5pc0FjdGl2ZSgpO2M9bmV3IGRjYShhKTt2YXIgZD1uZXcgZWNhKGMpfXJldHVybiBuZXcgZmNhKHtUaTphLHpPOmR9LGIpfTsKXy5tbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5IKGEsMTApfTtfLmdjYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5IKGEsMTkpfTtfLnJsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkgoYSwxKX07aGNhPWZ1bmN0aW9uKGEpe3JldHVybiBfLkxnKGEsMSl9O18uc2w9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uRyhhLGljYSw0KX07Xy5rY2E9ZnVuY3Rpb24oYSl7YT1hPz8iRk9MTE9XX1NZU1RFTSI7cmV0dXJuIGE9PT0iREFSSyJ8fGE9PT0iRk9MTE9XX1NZU1RFTSImJmpjYS5tYXRjaGVzfTtfLnRsPWZ1bmN0aW9uKGEpe3JldHVybiBhKk1hdGguUEkvMTgwfTtfLnVsPWZ1bmN0aW9uKGEpe3JldHVybiBhKjE4MC9NYXRoLlBJfTsKbWNhPWZ1bmN0aW9uKGEsYil7Xy5maihiLGZ1bmN0aW9uKGMsZCl7ZD09InN0eWxlIj9hLnN0eWxlLmNzc1RleHQ9YzpkPT0iY2xhc3MiP2EuY2xhc3NOYW1lPWM6ZD09ImZvciI/YS5odG1sRm9yPWM6bGNhLmhhc093blByb3BlcnR5KGQpP2Euc2V0QXR0cmlidXRlKGxjYVtkXSxjKTpfLkViKGQsImFyaWEtIil8fF8uRWIoZCwiZGF0YS0iKT9hLnNldEF0dHJpYnV0ZShkLGMpOmFbZF09Y30pfTtfLm9jYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YXJndW1lbnRzLGU9ZG9jdW1lbnQsZj1kWzFdLGc9dmwoZSxTdHJpbmcoZFswXSkpO2YmJih0eXBlb2YgZj09PSJzdHJpbmciP2cuY2xhc3NOYW1lPWY6QXJyYXkuaXNBcnJheShmKT9nLmNsYXNzTmFtZT1mLmpvaW4oIiAiKTptY2EoZyxmKSk7ZC5sZW5ndGg+MiYmbmNhKGUsZyxkLDIpO3JldHVybiBnfTsKbmNhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoZil7ZiYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZj09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZik6Zil9Zm9yKDtkPGMubGVuZ3RoO2QrKyl7bGV0IGY9Y1tkXTshXy5ZYShmKXx8Xy5aYShmKSYmZi5ub2RlVHlwZT4wP2UoZik6Xy5yYyhmJiZ0eXBlb2YgZi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgZi5pdGVtPT0iZnVuY3Rpb24iP18uQmMoZik6ZixlKX19O18ud2w9ZnVuY3Rpb24oYSl7cmV0dXJuIHZsKGRvY3VtZW50LGEpfTt2bD1mdW5jdGlvbihhLGIpe2I9U3RyaW5nKGIpO2EuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24veGh0bWwreG1sIiYmKGI9Yi50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KGIpfTtfLnhsPWZ1bmN0aW9uKGEsYil7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYi5uZXh0U2libGluZyl9OwpfLnlsPWZ1bmN0aW9uKGEpe2EmJmEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpfTtfLnpsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5BbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5CbD1mdW5jdGlvbihhKXt0aGlzLnFoPWF8fF8uVWEuZG9jdW1lbnR8fGRvY3VtZW50fTtfLkRsPWZ1bmN0aW9uKGEpe2E9Xy5DbChhKTtyZXR1cm4gXy54aihhKX07Xy5FbD1mdW5jdGlvbihhKXthPV8uQ2woYSk7cmV0dXJuIF8ucWooYSl9O18uQ2w9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmF9OwpwY2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5oZWFkO2E9KG5ldyBfLkJsKGEpKS5jcmVhdGVFbGVtZW50KCJTQ1JJUFQiKTthLnR5cGU9InRleHQvamF2YXNjcmlwdCI7YS5jaGFyc2V0PSJVVEYtOCI7YS5hc3luYz0hMTthLmRlZmVyPSExO2MmJihhLm9uZXJyb3I9Yyk7ZCYmKGEub25sb2FkPWQpO2Euc3JjPV8ucmooYik7Xy5LYWEoYSk7ZS5hcHBlbmRDaGlsZChhKX07cWNhPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Zm9yKGxldCBkIG9mIGEpZC5sZW5ndGgmJmRbMF09PT0iLyI/Yz1kOihjJiZjW2MubGVuZ3RoLTFdIT09Ii8iJiYoYys9Ii8iKSxjKz1kKTtyZXR1cm4gYysiLiIrYn07cmNhPWZ1bmN0aW9uKGEsYil7YS53aFtiXT1hLndoW2JdfHx7aU06IWEueWh9O3JldHVybiBhLndoW2JdfTsKdWNhPWZ1bmN0aW9uKGEsYil7dmFyIGM9cmNhKGEsYiksZD1jLnNPO2lmKGQmJmMuaU0mJihkZWxldGUgYS53aFtiXSwhYS5xaFtiXSkpe3ZhciBlPWEueGg7RmwoYS5zaCxmPT57dmFyIGc9Zi5xaFtiXXx8W10saD1lW2JdPXNjYShnLmxlbmd0aCwoKT0+e2RlbGV0ZSBlW2JdO2QoZi5yaCk7YS50aCYmYS50aChiKTthLnpoLmRlbGV0ZShiKTt0Y2EoYSxiKX0pO2ZvcihsZXQgayBvZiBnKWEucWhba10mJmgoKX0pfX07dGNhPWZ1bmN0aW9uKGEsYil7RmwoYS5zaCxjPT57Yz1jLnRoW2JdfHxbXTt2YXIgZD1hLnJoW2JdO2RlbGV0ZSBhLnJoW2JdO3ZhciBlPWQ/ZC5sZW5ndGg6MDtmb3IobGV0IGY9MDtmPGU7KytmKXRyeXtkW2ZdLk5pKGEucWhbYl0pfWNhdGNoKGcpe3NldFRpbWVvdXQoKCk9Pnt0aHJvdyBnO30pfWZvcihsZXQgZiBvZiBjKWEueGhbZl0mJmEueGhbZl0oKX0pfTsKdmNhPWZ1bmN0aW9uKGEsYil7YS5yZXF1ZXN0ZWRNb2R1bGVzW2JdfHwoYS5yZXF1ZXN0ZWRNb2R1bGVzW2JdPSEwLEZsKGEuc2gsYz0+e3ZhciBkPWMucWhbYl0sZT1kP2QubGVuZ3RoOjA7Zm9yKGxldCBmPTA7ZjxlOysrZil7bGV0IGc9ZFtmXTthLnFoW2ddfHx2Y2EoYSxnKX1jLnNoLlBBKGIsZj0+e3ZhciBnPWEucmhbYl18fFtdO2ZvcihsZXQgaCBvZiBnKShnPWguYnApJiZnKGYmJmYuZXJyb3J8fEVycm9yKGBDb3VsZCBub3QgbG9hZCAiJHtifSIuYCkpO2RlbGV0ZSBhLnJoW2JdO2EuTXMmJmEuTXMoYixmKX0sKCk9PnthLnpoLmhhcyhiKXx8dGNhKGEsYil9KX0pKX07d2NhPWZ1bmN0aW9uKGEsYixjLGQpe2EucWhbYl0/YyhhLnFoW2JdKTooKGEucmhbYl09YS5yaFtiXXx8W10pLnB1c2goe05pOmMsYnA6ZH0pLHZjYShhLGIpKX07Rmw9ZnVuY3Rpb24oYSxiKXthLmNvbmZpZz9iKGEuY29uZmlnKTphLnFoLnB1c2goYil9OwpzY2E9ZnVuY3Rpb24oYSxiKXtpZihhKXJldHVybigpPT57LS1hfHxiKCl9O2IoKTtyZXR1cm4oKT0+e319O18uSGw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKChiLGMpPT57d2NhKEdsLmdldEluc3RhbmNlKCksYCR7YX1gLGQ9PntiKGQpfSxjKX0pfTtfLklsPWZ1bmN0aW9uKGEsYil7dmFyIGM9R2wuZ2V0SW5zdGFuY2UoKTthPWAke2F9YDtpZihjLnFoW2FdKXRocm93IEVycm9yKGBNb2R1bGUgJHthfSBoYXMgYmVlbiBwcm92aWRlZCBtb3JlIHRoYW4gb25jZS5gKTtjLnFoW2FdPWJ9O18uTGw9ZnVuY3Rpb24oKXt2YXIgYT1fLkpsLGI7KGI9IWEpfHwoYj1hLnJoKCksYj0hXy5KZyhiLDE4KSk7aWYoYilyZXR1cm4hMTtiPV8uZ2NhKGEucmgoKSk7aWYoIWJ8fCFiLnN0YXJ0c1dpdGgoImh0dHAiKSlyZXR1cm4hMTthPV8uT2coYSw0NCwxKTtyZXR1cm4gS2w9PT12b2lkIDA/ITE6S2w8YX07Cl8uTmw9YXN5bmMgZnVuY3Rpb24oYSxiKXt0cnl7aWYoXy5NbD8wOl8uTGwoKSlyZXR1cm4oYXdhaXQgXy5IbCgibG9nIikpLkh3Lmh1KGEsYil9Y2F0Y2goYyl7fXJldHVybiBudWxsfTtfLk9sPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtpZigoXy5NbD8wOl8uTGwoKSkmJmEpdHJ5e2xldCBkPWF3YWl0IGE7ZCYmKGF3YWl0IF8uSGwoImxvZyIpKS5Idy5abihkLGIsYyl9Y2F0Y2goZCl7fX07Xy5QbD1hc3luYyBmdW5jdGlvbihhKXtpZigoXy5NbD8wOl8uTGwoKSkmJmEpdHJ5e2xldCBiPWF3YWl0IGE7YiYmKGF3YWl0IF8uSGwoImxvZyIpKS5Idy5qdShiKX1jYXRjaChiKXt9fTtfLlFsPWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9cGVyZm9ybWFuY2Uubm93KCk7aWYoYSYmYi1hPDZFNClyZXR1cm4hMDthPWI7cmV0dXJuITF9fTsKXy5NPWFzeW5jIGZ1bmN0aW9uKGEsYixjPXt9KXtpZihfLkxsKCl8fGMmJmMuZm9yY2UxMDBQZXJjZW50U2FtcGxlZExvZz09PSEwKXRyeXsoYXdhaXQgXy5IbCgibG9nIikpLnhILnhoKGEsYixjKX1jYXRjaChkKXt9fTt4Y2E9YXN5bmMgZnVuY3Rpb24oKXtyZXR1cm4oYXdhaXQgXy5IbCgibG9nIikpLnhKfTtfLlJsPWZ1bmN0aW9uKCl7fTtfLlNsPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLlRsPWZ1bmN0aW9uKGEpe3ZhciBiPSExLGM7cmV0dXJuIGZ1bmN0aW9uKCl7Ynx8KGM9YSgpLGI9ITApO3JldHVybiBjfX07VWw9ZnVuY3Rpb24oKXt9Owp6Y2E9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIFZsfHxhIGluc3RhbmNlb2YgeWNhfHxhIGluc3RhbmNlb2YgV2wpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IFZsKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgVmwoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS54eD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IFZsKCgpPT5hLnh4KCkpO3Rocm93IEVycm9yKCJOb3QgYW4gaXRlcmF0b3Igb3IgaXRlcmFibGUuIik7fTtBY2E9ZnVuY3Rpb24oKXt9O18uWGw9ZnVuY3Rpb24oKXt9O18uWWw9ZnVuY3Rpb24oYSl7dGhpcy5xaD1hO3RoaXMucmg9bnVsbH07Xy5abD1mdW5jdGlvbihhKXtpZihhLnFoPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO2EuaXNBdmFpbGFibGUoKXx8Xy5CYihFcnJvcigiU3RvcmFnZSBtZWNoYW5pc206IFN0b3JhZ2UgdW5hdmFpbGFibGUiKSl9OwpCY2E9ZnVuY3Rpb24oKXt2YXIgYT1udWxsO3RyeXthPV8uVWEuc2Vzc2lvblN0b3JhZ2V8fG51bGx9Y2F0Y2goYil7fV8uWWwuY2FsbCh0aGlzLGEpfTtfLiRsPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EubGVuZ3RoOjB9O18uYm09ZnVuY3Rpb24oYSxiKXtiJiZfLmFtKGIsYz0+e2FbY109YltjXX0pfTtfLmNtPWZ1bmN0aW9uKGEsYixjKXtiIT1udWxsJiYoYT1NYXRoLm1heChhLGIpKTtjIT1udWxsJiYoYT1NYXRoLm1pbihhLGMpKTtyZXR1cm4gYX07Xy5kbT1mdW5jdGlvbihhLGIsYyl7YT49YiYmYTxjfHwoYy09YixhPSgoYS1iKSVjK2MpJWMrYik7cmV0dXJuIGF9O18uaW09ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLmFicyhhLWIpPD0oY3x8MUUtOSl9O18uam09ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9O18ua209ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im9iamVjdCJ9OwpfLmxtPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PW51bGw/YjphfTtfLm1tPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifTtfLm5tPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09ISFhfTtfLmFtPWZ1bmN0aW9uKGEsYil7aWYoYSlmb3IobGV0IGMgaW4gYSlhLmhhc093blByb3BlcnR5KGMpJiZiKGMsYVtjXSl9O18ub209ZnVuY3Rpb24oYSxiKXthJiZfLkNjYShhLGM9PmI9PT1jKX07Xy5DY2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGEpe3ZhciBkPTA7Yz1jfHxfLiRsKGEpO2ZvcihsZXQgZT0wLGY9Xy4kbChhKTtlPGYmJihiKGFbZV0pJiYoYS5zcGxpY2UoZS0tLDEpLGQrKyksZCE9PWMpOysrZSk7fX07Xy5wbT1mdW5jdGlvbihhKXtyZXR1cm5gJHtNYXRoLnJvdW5kKGEpfXB4YH07cW09ZnVuY3Rpb24oYSxiKXtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKSlyZXR1cm4gYVtiXX07Cl8ucm09ZnVuY3Rpb24oLi4uYSl7Xy5VYS5jb25zb2xlJiZfLlVhLmNvbnNvbGUuZXJyb3ImJl8uVWEuY29uc29sZS5lcnJvciguLi5hKX07Xy5zbT1mdW5jdGlvbihhKXtmb3IobGV0IFtiLGNdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBkPWI7Yz09PXZvaWQgMCYmZGVsZXRlIGFbZF19fTtfLnRtPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIGIpYj1SZWZsZWN0LmdldChhLGMpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGMse3ZhbHVlOmIsZW51bWVyYWJsZTohMX0pfTsKXy5EY2E9ZnVuY3Rpb24oYSl7aWYodW1bYV0pcmV0dXJuIHVtW2FdO3ZhciBiPU1hdGguY2VpbChhLmxlbmd0aC82KSxjPSIiO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCs9Yil7bGV0IGU9MDtmb3IobGV0IGY9ZDtmLWQ8YiYmZjxhLmxlbmd0aDtmKyspZSs9YS5jaGFyQ29kZUF0KGYpO2UlPTUyO2MrPWU8MjY/U3RyaW5nLmZyb21DaGFyQ29kZSg2NStlKTpTdHJpbmcuZnJvbUNoYXJDb2RlKDcxK2UpfXJldHVybiB1bVthXT1jfTtfLnZtPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4obmV3IEJjYSkuZ2V0KGEpPz9udWxsfWNhdGNoKGIpe3JldHVybiBudWxsfX07CkVjYT1mdW5jdGlvbihhKXtpZihhJiZhLnByb3RvdHlwZSlmb3IobGV0IGIgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYS5wcm90b3R5cGUpKXtsZXQgYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEucHJvdG90eXBlLGIpO2MmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLnByb3RvdHlwZSxiLHsuLi5jLGVudW1lcmFibGU6ITB9KX19OwpfLndtPWZ1bmN0aW9uKGEpe2lmKGEmJmEucHJvdG90eXBlKXt2YXIgYj0oYyxkKT0+e3ZhciBlPWEucHJvdG90eXBlLm5sO2lmKHR5cGVvZiBlPT09ImZ1bmN0aW9uIilyZXR1cm4gZS5hcHBseShjLGQpO3Rocm93IEVycm9yKCJ5b3UgbXVzdCBkZWZpbmUgYSBjb25zdHJ1Y3Rvcl8iKTt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJjYWxsIix7dmFsdWUoYywuLi5kKXtyZXR1cm4gdGhpcyE9PWE/RnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuYXBwbHkodGhpcyxbYywuLi5kXSk6YihjLGQpfSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJhcHBseSIse3ZhbHVlKGMsZCl7cmV0dXJuIHRoaXMhPT1hP0Z1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5hcHBseSh0aGlzLFtjLGRdKTpiKGMsZCl9LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsCiJiaW5kIix7dmFsdWUoYywuLi5kKXtmdW5jdGlvbiBlKC4uLmcpe2c9ZC5jb25jYXQoZyk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBlP25ldyBmKC4uLmcpOmIoYyxnKX1pZih0aGlzIT09YSlyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYXBwbHkodGhpcyxbYywuLi5kXSk7dmFyIGY9dGhpcztmLnByb3RvdHlwZSYmKGUucHJvdG90eXBlPWYucHJvdG90eXBlKTtyZXR1cm4gZX0sZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KTtFY2EoYSl9fTtfLnhtPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gbmV3IFVSTChhLnN0YXJ0c1dpdGgoIi8vIik/YGh0dHBzOiR7YX1gOmEpfWNhdGNoKGIpe3JldHVybiBudWxsfX07Cl8uQW09ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtpZihiIT1udWxsKXtpZigheW0oYikpcmV0dXJuIGIgaW5zdGFuY2VvZiBFcnJvcj9iOkVycm9yKFN0cmluZyhiKSk7Yz0iOiAiK2IubWVzc2FnZX1yZXR1cm4gem0/bmV3IEZjYShhK2MpOm5ldyBHY2EoYStjKX07Xy5CbT1mdW5jdGlvbihhKXtpZigheW0oYSkpdGhyb3cgYTtfLnJtKGEubmFtZSsiOiAiK2EubWVzc2FnZSl9O3ltPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRmNhfHxhIGluc3RhbmNlb2YgR2NhfTsKXy5DbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yz9jKyI6ICI6IiI7cmV0dXJuIGU9PntpZighZXx8dHlwZW9mIGUhPT0ib2JqZWN0Iil0aHJvdyBfLkFtKGQrIm5vdCBhbiBPYmplY3QiKTt2YXIgZj17fTtmb3IobGV0IGcgaW4gZSl7aWYoIShifHxnIGluIGEpKXRocm93IF8uQW0oYCR7ZH11bmtub3duIHByb3BlcnR5ICR7Z31gKTtmW2ddPWVbZ119Zm9yKGxldCBnIGluIGEpdHJ5e2xldCBoPWFbZ10oZltnXSk7aWYoaCE9PXZvaWQgMHx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsZykpZltnXT1ofWNhdGNoKGgpe3Rocm93IF8uQW0oYCR7ZH1pbiBwcm9wZXJ0eSAke2d9YCxoKTt9cmV0dXJuIGZ9fTtfLkRtPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmYSE9bnVsbCYmISEoImNsb25lTm9kZSJpbiBhKX1jYXRjaChiKXtyZXR1cm4hMX19OwpfLkVtPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz9kPT57aWYoZCBpbnN0YW5jZW9mIGEpcmV0dXJuIGQ7dHJ5e3JldHVybiBuZXcgYShkKX1jYXRjaChlKXt0aHJvdyBfLkFtKCJ3aGVuIGNhbGxpbmcgbmV3ICIrYixlKTt9fTpkPT57aWYoZCBpbnN0YW5jZW9mIGEpcmV0dXJuIGQ7dGhyb3cgXy5BbSgibm90IGFuIGluc3RhbmNlIG9mICIrYik7fX07Xy5GbT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2ZvcihsZXQgYyBpbiBhKWlmKGFbY109PT1iKXJldHVybiBiO3Rocm93IF8uQW0oYCR7Yn0gaXMgbm90IGFuIGFjY2VwdGVkIHZhbHVlYCk7fX07Xy5HbT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IF8uQW0oIm5vdCBhbiBBcnJheSIpO3JldHVybiBiLm1hcCgoYyxkKT0+e3RyeXtyZXR1cm4gYShjKX1jYXRjaChlKXt0aHJvdyBfLkFtKGBhdCBpbmRleCAke2R9YCxlKTt9fSl9fTsKXy5IbT1mdW5jdGlvbihhLGI9MCxjPSExKXtyZXR1cm4gZD0+e2lmKGQ9PW51bGx8fHR5cGVvZiBkW1N5bWJvbC5pdGVyYXRvcl0hPT0iZnVuY3Rpb24iKXRocm93IF8uQW0oIm5vdCBpdGVyYWJsZSIpO2lmKHR5cGVvZiBkPT09InN0cmluZyImJiFjKXRocm93IF8uQW0oImEgc3RyaW5nIGlzIG5vdCBhY2NlcHRlZCIpO2Q9QXJyYXkuZnJvbShkLChlLGYpPT57dHJ5e3JldHVybiBhKGUpfWNhdGNoKGcpe3Rocm93IF8uQW0oYGF0IGluZGV4ICR7Zn1gLGcpO319KTtpZihiPjAmJmQubGVuZ3RoPGIpe2lmKGQubGVuZ3RoPT09MCl0aHJvdyBfLkFtKCJlbXB0eSBpdGVyYWJsZSIpO3Rocm93IF8uQW0oYG11c3QgY29udGFpbiBhdCBsZWFzdCAke2J9IGl0ZW1zYCk7fXJldHVybiBkfX07Xy5JbT1mdW5jdGlvbihhLGI9IiIpe3JldHVybiBjPT57aWYoYShjKSlyZXR1cm4gYzt0aHJvdyBfLkFtKGJ8fGAke2N9YCk7fX07Cl8uSm09ZnVuY3Rpb24oYSxiPSIiKXtyZXR1cm4gYz0+e2lmKGEoYykpcmV0dXJuIGM7dGhyb3cgXy5BbShifHxgJHtjfWApO319O18uS209ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1bXTtmb3IobGV0IGQ9MCxlPWEubGVuZ3RoO2Q8ZTsrK2Qpe2xldCBmPWFbZF07dHJ5e3ptPSExLChmLmlDfHxmKShiKX1jYXRjaChnKXtpZigheW0oZykpdGhyb3cgZztjLnB1c2goZy5tZXNzYWdlKTtjb250aW51ZX1maW5hbGx5e3ptPSEwfXJldHVybihmLnRoZW58fGYpKGIpfXRocm93IF8uQW0oYy5qb2luKCI7IGFuZCAiKSk7fX07Xy5MbT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT5iKGEoYykpfTtfLk1tPWZ1bmN0aW9uKGEpe3JldHVybiBiPT5iPT1udWxsP2I6YShiKX07Xy5ObT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2lmKGImJmJbYV0hPW51bGwpcmV0dXJuIGI7dGhyb3cgXy5BbSgibm8gIithKyIgcHJvcGVydHkiKTt9fTsKSGNhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dGhyb3cgXy5BbSgibXVzdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO307SWNhPWZ1bmN0aW9uKGEpe2lmKGlzTmFOKGEpKXRocm93IF8uQW0oIk5hTiBpcyBub3QgYW4gYWNjZXB0ZWQgdmFsdWUiKTt9O18uUG09ZnVuY3Rpb24oYSxiPTApe3JldHVybiBfLkxtKF8uT20sYz0+e2lmKGM+PWEpcmV0dXJuIGM7aWYoYj4wJiZjPj1hLWIpcmV0dXJuIGE7dGhyb3cgXy5BbShgJHtjfSBpcyBub3QgZ3JlYXRlciB0aGFuICR7YX1gKTt9KX07UW09ZnVuY3Rpb24oYSxiLGMpe3RyeXtyZXR1cm4gYygpfWNhdGNoKGQpe3Rocm93IF8uQW0oYCR7YX06IFxgJHtifVxgIGludmFsaWRgLGQpO319O1JtPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgaW4gYSlpZighKGQgaW4gYikpdGhyb3cgXy5BbShgVW5rbm93biBwcm9wZXJ0eSAnJHtkfScgb2YgJHtjfWApO307S2NhPWZ1bmN0aW9uKCl7cmV0dXJuIEpjYXx8KEpjYT1uZXcgU20pfTsKXy5UbT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ7YSBpbnN0YW5jZW9mIF8uVG0/ZD1hLnRvSlNPTigpOmQ9YTt2YXIgZT1OYU4sZj1OYU47aWYoIWR8fGQubGF0PT09dm9pZCAwJiZkLmxuZz09PXZvaWQgMCllPWQsZj1iO2Vsc2V7YXJndW1lbnRzLmxlbmd0aD4yP2NvbnNvbGUud2FybigiRXhwZWN0ZWQgMSBvciAyIGFyZ3VtZW50cyBpbiBuZXcgTGF0TG5nKCkgd2hlbiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYSBMYXRMbmcgaW5zdGFuY2Ugb3IgTGF0TG5nTGl0ZXJhbCBvYmplY3QsIGJ1dCBnb3QgbW9yZSB0aGFuIDIuIik6Xy5ubShhcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV09PW51bGx8fGNvbnNvbGUud2FybigiRXhwZWN0ZWQgdGhlIHNlY29uZCBhcmd1bWVudCBpbiBuZXcgTGF0TG5nKCkgdG8gYmUgYm9vbGVhbiwgbnVsbCwgb3IgdW5kZWZpbmVkIHdoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgTGF0TG5nIGluc3RhbmNlIG9yIExhdExuZ0xpdGVyYWwgb2JqZWN0LiIpOwp0cnl7TGNhKGQpLGM9Y3x8ISFiLGY9ZC5sbmcsZT1kLmxhdH1jYXRjaChnKXtfLkJtKGcpfX1lPU51bWJlcihlKTtmPU51bWJlcihmKTtjfHwoZT1fLmNtKGUsLTkwLDkwKSxmIT0xODAmJihmPV8uZG0oZiwtMTgwLDE4MCkpKTt0aGlzLmxhdD1mdW5jdGlvbigpe3JldHVybiBlfTt0aGlzLmxuZz1mdW5jdGlvbigpe3JldHVybiBmfX07Xy5VbT1mdW5jdGlvbihhKXtyZXR1cm4gXy50bChhLmxhdCgpKX07Xy5WbT1mdW5jdGlvbihhKXtyZXR1cm4gXy50bChhLmxuZygpKX07TWNhPWZ1bmN0aW9uKGEsYil7Yj1NYXRoLnBvdygxMCxiKTtyZXR1cm4gTWF0aC5yb3VuZChhKmIpL2J9OwpfLlltPWZ1bmN0aW9uKGEpe3ZhciBiPWE7Xy5XbShhKSYmKGI9e2xhdDphLmxhdCgpLGxuZzphLmxuZygpfSk7dHJ5e2xldCBjPU5jYShiKTtyZXR1cm4gXy5XbShhKT9hOl8uWG0oYyl9Y2F0Y2goYyl7dGhyb3cgXy5BbSgibm90IGEgTGF0TG5nIG9yIExhdExuZ0xpdGVyYWwgd2l0aCBmaW5pdGUgY29vcmRpbmF0ZXMiLGMpO319O18uV209ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlRtfTtfLlhtPWZ1bmN0aW9uKGEpe3RyeXtpZihfLldtKGEpKXJldHVybiBhO2xldCBiPUxjYShhKTtyZXR1cm4gbmV3IF8uVG0oYi5sYXQsYi5sbmcpfWNhdGNoKGIpe3Rocm93IF8uQW0oIm5vdCBhIExhdExuZyBvciBMYXRMbmdMaXRlcmFsIixiKTt9fTsKY249ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIFptKXJldHVybiBhO3RyeXtyZXR1cm4gbmV3IF8uJG0oXy5YbShhKSl9Y2F0Y2goYil7fXRocm93IF8uQW0oIm5vdCBhIEdlb21ldHJ5IG9yIExhdExuZyBvciBMYXRMbmdMaXRlcmFsIG9iamVjdCIpO307Xy5kbj1mdW5jdGlvbihhKXtPY2EuaGFzKGEpfHwoY29uc29sZS53YXJuKGEpLE9jYS5hZGQoYSkpfTtfLmduPWZ1bmN0aW9uKGEpe2E9YXx8d2luZG93LmV2ZW50O18uZW4oYSk7Xy5mbihhKX07Xy5lbj1mdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfTtfLmZuPWZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKX07Xy5obj1mdW5jdGlvbihhKXthLmhhbmRsZWQ9ITB9O18ua249ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgXy5qbihhLGIsYywwKX07Xy5sbj1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2I9KGE9YS5fX2UzXykmJmFbYl07cmV0dXJuISFiJiYhXy5qaihiKX07Cl8ubW49ZnVuY3Rpb24oYSl7YSYmYS5yZW1vdmUoKX07Xy5vbj1mdW5jdGlvbihhLGIpe18uYW0obm4oYSxiKSwoYyxkKT0+e2QmJmQucmVtb3ZlKCl9KX07Xy5wbj1mdW5jdGlvbihhKXtfLmFtKG5uKGEpLChiLGMpPT57YyYmYy5yZW1vdmUoKX0pfTtQY2E9ZnVuY3Rpb24oYSl7aWYoIl9fZTNfImluIGEpdGhyb3cgRXJyb3IoInNldFVwTm9uRW51bWVyYWJsZUV2ZW50TGlzdGVuaW5nKCkgd2FzIGludm9rZWQgYWZ0ZXIgYW4gZXZlbnQgd2FzIHJlZ2lzdGVyZWQuIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZTNfIix7dmFsdWU6e319KX07Xy5xbj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWQ/NDoxO2EuYWRkRXZlbnRMaXN0ZW5lciYmKGQ9e2NhcHR1cmU6ISFkfSx0eXBlb2YgZT09PSJib29sZWFuIj9kLnBhc3NpdmU9ZTpRY2EuaGFzKGIpJiYoZC5wYXNzaXZlPSExKSxhLmFkZEV2ZW50TGlzdGVuZXIoYixjLGQpKTtyZXR1cm4gbmV3IF8uam4oYSxiLGMsZil9OwpfLnJuPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8ucW4oYSxiLGZ1bmN0aW9uKCl7ZS5yZW1vdmUoKTtyZXR1cm4gYy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGQpO3JldHVybiBlfTtfLnNuPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLmtuKGEsYiwoMCxfLmliKShkLGMpKX07Xy50bj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5rbihhLGIsZnVuY3Rpb24oKXtkLnJlbW92ZSgpO3JldHVybiBjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pO3JldHVybiBkfTtfLnVuPWZ1bmN0aW9uKGEsYixjKXtiPV8ua24oYSxiLGMpO2MuY2FsbChhKTtyZXR1cm4gYn07Xy52bj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ua24oYSxiLF8uUmNhKGIsYykpfTtfLnduPWZ1bmN0aW9uKGEsYiwuLi5jKXtpZihfLmxuKGEsYikpe2E9bm4oYSxiKTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpKGI9YVtkXSkmJmIub3AuYXBwbHkoYi5pbnN0YW5jZSxjKX19OwpTY2E9ZnVuY3Rpb24oYSxiKXthLl9fZTNffHwoYS5fX2UzXz17fSk7YT1hLl9fZTNfO2FbYl18fChhW2JdPXt9KTtyZXR1cm4gYVtiXX07bm49ZnVuY3Rpb24oYSxiKXthPWEuX19lM198fHt9O2lmKGIpYj1hW2JdfHx7fTtlbHNle2I9e307Zm9yKGxldCBjIG9mIE9iamVjdC52YWx1ZXMoYSkpXy5ibShiLGMpfXJldHVybiBifTtfLlJjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPVtiLGEsLi4uYXJndW1lbnRzXTtfLnduLmFwcGx5KHRoaXMsZSk7YyYmXy5obi5hcHBseShudWxsLGFyZ3VtZW50cyl9fTtfLnhuPWZ1bmN0aW9uKGEpe3JldHVybiIiKyhfLlphKGEpP18uaGIoYSk6YSl9O18ueW49ZnVuY3Rpb24oKXt9OwpBbj1mdW5jdGlvbihhLGIpe3ZhciBjPWIrIl9jaGFuZ2VkIjtpZihhW2NdKWFbY10oKTtlbHNlIGEuY2hhbmdlZChiKTtjPXpuKGEsYik7Zm9yKGxldCBkIGluIGMpe2xldCBlPWNbZF07QW4oZS5sdyxlLmhxKX1fLnduKGEsYi50b0xvd2VyQ2FzZSgpKyJfY2hhbmdlZCIpfTtfLkJuPWZ1bmN0aW9uKGEpe3JldHVybiBUY2FbYV18fChUY2FbYV09YS5zdWJzdHJpbmcoMCwxKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyaW5nKDEpKX07Q249ZnVuY3Rpb24oYSl7YS5nbV9hY2Nlc3NvcnNffHwoYS5nbV9hY2Nlc3NvcnNfPXt9KTtyZXR1cm4gYS5nbV9hY2Nlc3NvcnNffTt6bj1mdW5jdGlvbihhLGIpe2EuZ21fYmluZGluZ3NffHwoYS5nbV9iaW5kaW5nc189e30pO2EuZ21fYmluZGluZ3NfLmhhc093blByb3BlcnR5KGIpfHwoYS5nbV9iaW5kaW5nc19bYl09e30pO3JldHVybiBhLmdtX2JpbmRpbmdzX1tiXX07Cl8uVWNhPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKEIpe0I9ayhCKTtyZXR1cm4gXy5YbSh7bGF0OkJbMV0sbG5nOkJbMF19KX1mdW5jdGlvbiBlKEIpe3JldHVybiBuZXcgXy5EbihtKEIpKX1mdW5jdGlvbiBmKEIpe3JldHVybiBuZXcgXy5FbihxKEIpKX1mdW5jdGlvbiBnKEIpe2lmKEI9PW51bGwpdGhyb3cgXy5BbSgiaXMgbnVsbCIpO3ZhciBLPVN0cmluZyhCLnR5cGUpLnRvTG93ZXJDYXNlKCksTz1CLmNvb3JkaW5hdGVzO3RyeXtzd2l0Y2goSyl7Y2FzZSAicG9pbnQiOnJldHVybiBuZXcgXy4kbShkKE8pKTtjYXNlICJtdWx0aXBvaW50IjpyZXR1cm4gbmV3IF8uRm4obShPKSk7Y2FzZSAibGluZXN0cmluZyI6cmV0dXJuIGUoTyk7Y2FzZSAibXVsdGlsaW5lc3RyaW5nIjpyZXR1cm4gbmV3IF8uR24ocChPKSk7Y2FzZSAicG9seWdvbiI6cmV0dXJuIGYoTyk7Y2FzZSAibXVsdGlwb2x5Z29uIjpyZXR1cm4gbmV3IF8uSG4odShPKSl9fWNhdGNoKEEpe3Rocm93IF8uQW0oJ2luIHByb3BlcnR5ICJjb29yZGluYXRlcyInLApBKTt9aWYoSz09PSJnZW9tZXRyeWNvbGxlY3Rpb24iKXRyeXtyZXR1cm4gbmV3IF8uSW4oeChCLmdlb21ldHJpZXMpKX1jYXRjaChBKXt0aHJvdyBfLkFtKCdpbiBwcm9wZXJ0eSAiZ2VvbWV0cmllcyInLEEpO310aHJvdyBfLkFtKCJpbnZhbGlkIHR5cGUiKTt9ZnVuY3Rpb24gaChCKXtpZighQil0aHJvdyBfLkFtKCJub3QgYSBGZWF0dXJlIik7aWYoQi50eXBlIT09IkZlYXR1cmUiKXRocm93IF8uQW0oJ3R5cGUgIT0gIkZlYXR1cmUiJyk7dmFyIEs9bnVsbDt0cnl7Qi5nZW9tZXRyeSYmKEs9ZyhCLmdlb21ldHJ5KSl9Y2F0Y2goUSl7dGhyb3cgXy5BbSgnaW4gcHJvcGVydHkgImdlb21ldHJ5IicsUSk7fXZhciBPPUIucHJvcGVydGllc3x8e307aWYoIV8ua20oTykpdGhyb3cgXy5BbSgicHJvcGVydGllcyBpcyBub3QgYW4gT2JqZWN0Iik7dmFyIEE9Yy5pZFByb3BlcnR5TmFtZTtCPUE/T1tBXTpCLmlkO2lmKEIhPW51bGwmJiFfLmptKEIpJiYhXy5tbShCKSl0aHJvdyBfLkFtKGAke0F8fAoiaWQifSBpcyBub3QgYSBzdHJpbmcgb3IgbnVtYmVyYCk7cmV0dXJue2lkOkIsZ2VvbWV0cnk6Syxwcm9wZXJ0aWVzOk99fWlmKCFiKXJldHVybltdO2M9Y3x8e307dmFyIGs9Xy5HbShfLk9tKSxtPV8uR20oZCkscD1fLkdtKGUpLHE9Xy5HbShmdW5jdGlvbihCKXtCPW0oQik7aWYoIUIubGVuZ3RoKXRocm93IF8uQW0oImNvbnRhaW5zIG5vIGVsZW1lbnRzIik7aWYoIUJbMF0uZXF1YWxzKEJbQi5sZW5ndGgtMV0pKXRocm93IF8uQW0oImZpcnN0IGFuZCBsYXN0IHBvc2l0aW9ucyBhcmUgbm90IGVxdWFsIik7cmV0dXJuIG5ldyBfLkpuKEIuc2xpY2UoMCwtMSkpfSksdT1fLkdtKGYpLHg9Xy5HbShCPT5nKEIpKSx6PV8uR20oQj0+aChCKSk7aWYoYi50eXBlPT09IkZlYXR1cmVDb2xsZWN0aW9uIil7Yj1iLmZlYXR1cmVzO3RyeXtyZXR1cm4geihiKS5tYXAoQj0+YS5hZGQoQikpfWNhdGNoKEIpe3Rocm93IF8uQW0oJ2luIHByb3BlcnR5ICJmZWF0dXJlcyInLEIpO319aWYoYi50eXBlPT09CiJGZWF0dXJlIilyZXR1cm5bYS5hZGQoaChiKSldO3Rocm93IF8uQW0oIm5vdCBhIEZlYXR1cmUgb3IgRmVhdHVyZUNvbGxlY3Rpb24iKTt9O18uS249ZnVuY3Rpb24oKXtmb3IodmFyIGE9QXJyYXkoMzYpLGI9MCxjLGQ9MDtkPDM2O2QrKylkPT04fHxkPT0xM3x8ZD09MTh8fGQ9PTIzP2FbZF09Ii0iOmQ9PTE0P2FbZF09IjQiOihiPD0yJiYoYj0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGM9YiYxNSxiPj49NCxhW2RdPVZjYVtkPT0xOT9jJjN8ODpjXSk7cmV0dXJuIGEuam9pbigiIil9O18uTG49ZnVuY3Rpb24oYSl7dGhpcy5JUD10aGlzO3RoaXMuX19nbT1hfTsKXy5Nbj1mdW5jdGlvbihhKXthPWEuZ2V0RGl2KCk7dmFyIGI9YS5nZXRSb290Tm9kZSgpO2IgaW5zdGFuY2VvZiBTaGFkb3dSb290JiZiPT09YS5wYXJlbnROb2RlPyhhPWIuaG9zdCxhPWEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmYS5sb2NhbE5hbWU9PT0iZ21wLW1hcCI/YTpudWxsKTphPW51bGw7cmV0dXJuIGF9O18uTm49ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLWE7cmV0dXJuIGM+PTA/YzpiKzE4MC0oYS0xODApfTtfLk9uPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvPmEuaGl9O18uUG49ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaGktYS5sbz09PTM2MH07UW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxvLGQ9YS5oaTtyZXR1cm4gXy5PbihhKT9fLk9uKGIpP2IubG8+PWMmJmIuaGk8PWQ6KGIubG8+PWN8fGIuaGk8PWQpJiYhYS5pc0VtcHR5KCk6Xy5PbihiKT9fLlBuKGEpfHxiLmlzRW1wdHkoKTpiLmxvPj1jJiZiLmhpPD1kfTsKXy5Tbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gbmV3IF8uUm4obmV3IF8uVG0oYSxiLCEwKSxuZXcgXy5UbShjLGQsITApKX07Xy5Ubj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5SbilyZXR1cm4gYTt0cnl7bGV0IGI9V2NhKGEpO3JldHVybiBfLlNuKGIuc291dGgsYi53ZXN0LGIubm9ydGgsYi5lYXN0KX1jYXRjaChiKXt0aHJvdyBfLkFtKCJub3QgYSBMYXRMbmdCb3VuZHMgb3IgTGF0TG5nQm91bmRzTGl0ZXJhbCIsYik7fX07Xy5Vbj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoYSl9fTtfLlZuPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/ZnVuY3Rpb24oYyl7dHJ5e3RoaXMuc2V0KGEsYihjKSl9Y2F0Y2goZCl7Xy5CbShfLkFtKCJzZXQiK18uQm4oYSksZCkpfX06ZnVuY3Rpb24oYyl7dGhpcy5zZXQoYSxjKX19OwpfLlduPWZ1bmN0aW9uKGEsYil7Xy5hbShiLChjLGQpPT57dmFyIGU9Xy5VbihjKTthWyJnZXQiK18uQm4oYyldPWU7ZCYmKGQ9Xy5WbihjLGQpLGFbInNldCIrXy5CbihjKV09ZCl9KX07WW49ZnVuY3Rpb24oYSl7YT1hfHx7fTt0aGlzLnNldFZhbHVlcyhhKTt0aGlzLnFoPW5ldyBYY2E7Xy52bih0aGlzLnFoLCJhZGRmZWF0dXJlIix0aGlzKTtfLnZuKHRoaXMucWgsInJlbW92ZWZlYXR1cmUiLHRoaXMpO18udm4odGhpcy5xaCwic2V0Z2VvbWV0cnkiLHRoaXMpO18udm4odGhpcy5xaCwic2V0cHJvcGVydHkiLHRoaXMpO18udm4odGhpcy5xaCwicmVtb3ZlcHJvcGVydHkiLHRoaXMpO3RoaXMucmg9bmV3IFljYSh0aGlzLnFoKTt0aGlzLnJoLmJpbmRUbygibWFwIix0aGlzKTt0aGlzLnJoLmJpbmRUbygic3R5bGUiLHRoaXMpO18uWG4uZm9yRWFjaChiPT57Xy52bih0aGlzLnJoLGIsdGhpcyl9KTt0aGlzLnNoPSExfTsKWmNhPWZ1bmN0aW9uKGEpe2Euc2h8fChhLnNoPSEwLF8uSGwoImRyYXdpbmdfaW1wbCIpLnRoZW4oYj0+e2IuSU4oYSl9KSl9O18uJG49ZnVuY3Rpb24oYSl7Xy5abiYmYSYmXy5abi5wdXNoKGEpfTsKXy5hbz1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oImdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlciBpcyBkZXByZWNhdGVkIGFzIG9mIEZlYnJ1YXJ5IDI1dGgsIDIwMjYuIEF0IHRoaXMgdGltZSwgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyIGlzIG5vdCBzY2hlZHVsZWQgdG8gYmUgZGlzY29udGludWVkLiBXaGlsZSBnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIgd2lsbCBjb250aW51ZSB0byByZWNlaXZlIGJ1ZyBmaXhlcyBmb3IgYW55IG1ham9yIHJlZ3Jlc3Npb25zLCBleGlzdGluZyBidWdzIGluIGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlciB3aWxsIG5vdCBiZSBhZGRyZXNzZWQuIEF0IGxlYXN0IDEyIG1vbnRocyBub3RpY2Ugd2lsbCBiZSBnaXZlbiBiZWZvcmUgc3VwcG9ydCBpcyBkaXNjb250aW51ZWQuIFBsZWFzZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9sZWdhY3kgZm9yIGFkZGl0aW9uYWwgZGV0YWlscyBhbmQgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvcm91dGVzL3JvdXRlcy1taWdyYXRlLXJlbmRlcmluZyBmb3IgdGhlIG1pZ3JhdGlvbiBndWlkZS4iKTt0aGlzLnNldFZhbHVlcyhhKX07CiRjYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uSGwoImVsZXZhdGlvbiIpLnRoZW4oZD0+ZC5nZXRFbGV2YXRpb25BbG9uZ1BhdGgoYSxiLHZvaWQgMCkpO2ImJmMuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gY307YWRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5IbCgiZWxldmF0aW9uIikudGhlbihkPT5kLmdldEVsZXZhdGlvbkZvckxvY2F0aW9ucyhhLGIsdm9pZCAwKSk7YiYmYy5jYXRjaCgoKT0+e30pO3JldHVybiBjfTtjZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYztiZGEoKXx8KGM9Xy5ObCgxNDU1NzApKTt2YXIgZD1fLkhsKCJnZW9jb2RlciIpLnRoZW4oZT0+ZS5nZW9jb2RlKGEsYixjLHZvaWQgMCksKCk9PntjJiZfLk9sKGMsMTMpfSk7YiYmZC5jYXRjaCgoKT0+e30pO3JldHVybiBkfTsKY289ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uYm8pcmV0dXJuIGE7dHJ5e2xldCBiPV8uQ20oe3g6Xy5PbSx5Ol8uT219LCEwKShhKTtyZXR1cm4gbmV3IF8uYm8oYi54LGIueSl9Y2F0Y2goYil7dGhyb3cgXy5BbSgibm90IGEgUG9pbnQiLGIpO319O18uZW89ZnVuY3Rpb24oYSl7cmV0dXJuYCR7YS53aWR0aH0ke2Eucmh8fCJweCJ9YH07Xy5mbz1mdW5jdGlvbihhKXtyZXR1cm5gJHthLmhlaWdodH0ke2EucWh8fCJweCJ9YH07aW89ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uZ28pcmV0dXJuIGE7dHJ5e3ZhciBiPV8uQ20oe2hlaWdodDpobyx3aWR0aDpob30sITApKGEpfWNhdGNoKGMpe3Rocm93IF8uQW0oIm5vdCBhIFNpemUiLGMpO31yZXR1cm4gbmV3IF8uZ28oYi53aWR0aCxiLmhlaWdodCl9O2pvPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuY28gaW5zdGFuY2VvZiBfLnluOiExfTsKZGRhPWZ1bmN0aW9uKGEsYil7YS50aChiKTthLnJoPDEwMCYmKGEucmgrKyxiLm5leHQ9YS5xaCxhLnFoPWIpfTtnZGE9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1lZGEucmVtb3ZlKCk7KXt0cnl7YS5Udi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uQmIoYil9ZGRhKGZkYSxhKX1rbz0hMX07aWRhPWZ1bmN0aW9uKGEsYixjLGQpe2Q9ZD97RUc6ITF9Om51bGw7dmFyIGU9IWEuYWkubGVuZ3RoLGY9YS5haS5maW5kKGhkYShiLGMpKTtmP2Yub25jZT1mLm9uY2UmJmQ6YS5haS5wdXNoKHtUdjpiLGNvbnRleHQ6Y3x8bnVsbCxvbmNlOmR9KTtlJiZhLnN0KCl9O2hkYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT5jLlR2PT09YSYmYy5jb250ZXh0PT09KGJ8fG51bGwpfTtfLm1vPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmxvKGEsYil9O18ubm89ZnVuY3Rpb24oKXt0aGlzLl9fZ209bmV3IF8ueW47dGhpcy5yaD1udWxsfTsKamRhPWZ1bmN0aW9uKGEpe2EuX19nbXx8KGEuX19nbT17c2V0Om51bGwsY0I6bnVsbCx4dDp7bWFwOm51bGwsc3RyZWV0VmlldzpudWxsfSxMcjpudWxsLHpBOm51bGwsWHA6ITF9KX07b289ZnVuY3Rpb24oYSxiLGMsZCxlKXtjP2EuYmluZFRvKGIsYyxkLGUpOihhLnVuYmluZChiKSxhLnNldChiLHZvaWQgMCkpfTtrZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXQoImludGVybmFsQW5jaG9yUG9pbnQiKXx8Xy5wbyxjPWEuZ2V0KCJpbnRlcm5hbFBpeGVsT2Zmc2V0Iil8fF8ucW87YS5zZXQoInBpeGVsT2Zmc2V0IixuZXcgXy5nbyhjLndpZHRoK01hdGgucm91bmQoYi54KSxjLmhlaWdodCtNYXRoLnJvdW5kKGIueSkpKX07cm89ZnVuY3Rpb24oYT1udWxsKXtyZXR1cm4gam8oYSk/YS5jb3x8bnVsbDphIGluc3RhbmNlb2YgXy55bj9hOm51bGx9Owpzbz1mdW5jdGlvbihhKXtjb25zb2xlLndhcm4oIkFzIG9mIHZlcnNpb24gMy42NSwgZ29vZ2xlLm1hcHMuS21sTGF5ZXIgaXMgZGVwcmVjYXRlZC4gRm9yIGFsdGVybmF0aXZlIG1ldGhvZHMgb2YgZGlzcGxheWluZyBLTUwgZGF0YSBvbiB0aGUgbWFwLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmRldnNpdGUuY29ycC5nb29nbGUuY29tL21hcHMvZGVwcmVjYXRpb25zI2ttbF9sYXllcl9kZXByZWNhdGVkX2FzX29mX2FwcmlsXzMwXzIwMjYiKTtfLm1tKGEpPyh0aGlzLnNldCgidXJsIixhKSx0aGlzLnNldFZhbHVlcyhhcmd1bWVudHNbMV0pKTp0aGlzLnNldFZhbHVlcyhhKX07Xy50bz1mdW5jdGlvbihhKXt2YXIgYj1hLm1hdGNoKC9ecGxhY2VzXC8oLispJC8pO3JldHVybiBiP2JbMV06YX07Cl8ubGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5tYShhLnRvVXBwZXJDYXNlKCksInJlcGxhY2VBbGwiKS5jYWxsKGEudG9VcHBlckNhc2UoKSwiLSIsIl8iKTtyZXR1cm4gYyBpbiBiP2JbY106KGNvbnNvbGUuZXJyb3IoIkludmFsaWQgdmFsdWU6ICIrYSksbnVsbCl9O18ubWRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFN0cmluZygodW89dm8uZ2V0KGEpLmdldChiKT8udG9Mb3dlckNhc2UoKSxfLm1hKHVvLCJyZXBsYWNlQWxsIiwhMCkpPy5jYWxsKHVvLCJfIiwiLSIpfHxiKX07Xy5uZGE9ZnVuY3Rpb24oYSl7aWYoIXZvLmhhcyhhKSl7bGV0IGI9bmV3IE1hcDtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpYi5zZXQoZCxjKTt2by5zZXQoYSxiKX19O18ud289ZnVuY3Rpb24oYSl7Xy5uZGEoYSk7cmV0dXJue2FrOmI9PmI9PT1udWxsP251bGw6Xy5sZGEoYixhKSxMajpiPT5iPT09bnVsbD9udWxsOl8ubWRhKGEsYil9fTsKXy54bz1mdW5jdGlvbihhLGIpe3ZhciBjPWE7aWYoY3VzdG9tRWxlbWVudHMuZ2V0KGMpKXtsZXQgZD0xO2Zvcig7Y3VzdG9tRWxlbWVudHMuZ2V0KGMpOyl7aWYoY3VzdG9tRWxlbWVudHMuZ2V0KGMpPT09YilyZXR1cm47Yz1gJHthfS1ub25kZXRlcm1pbmlzdGljLWR1cGxpY2F0ZSR7ZCsrfWB9Y29uc29sZS53YXJuKGBFbGVtZW50IHdpdGggbmFtZSAiJHthfSIgYWxyZWFkeSBkZWZpbmVkLmApfWN1c3RvbUVsZW1lbnRzLmRlZmluZShjLGIsdm9pZCAwKX07Xy56bz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgXy55bztlLm1pblg9YTtlLm1pblk9YjtlLm1heFg9YztlLm1heFk9ZDtyZXR1cm4gZX07Xy5Bbz1mdW5jdGlvbihhLGIpe3JldHVybiBhLm1pblg+PWIubWF4WHx8Yi5taW5YPj1hLm1heFh8fGEubWluWT49Yi5tYXhZfHxiLm1pblk+PWEubWF4WT8hMTohMH07Cl8uQm89ZnVuY3Rpb24oYSxiLGMpe2lmKGE9YS5mcm9tTGF0TG5nVG9Qb2ludChiKSljPU1hdGgucG93KDIsYyksYS54Kj1jLGEueSo9YztyZXR1cm4gYX07Xy5Dbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGF0KCkrXy51bChiKTtjPjkwJiYoYz05MCk7dmFyIGQ9YS5sYXQoKS1fLnVsKGIpO2Q8LTkwJiYoZD0tOTApO2I9TWF0aC5zaW4oYik7dmFyIGU9TWF0aC5jb3MoXy50bChhLmxhdCgpKSk7aWYoYz09PTkwfHxkPT09LTkwfHxlPDFFLTYpcmV0dXJuIG5ldyBfLlJuKG5ldyBfLlRtKGQsLTE4MCksbmV3IF8uVG0oYywxODApKTtiPV8udWwoTWF0aC5hc2luKGIvZSkpO3JldHVybiBuZXcgXy5SbihuZXcgXy5UbShkLGEubG5nKCktYiksbmV3IF8uVG0oYyxhLmxuZygpK2IpKX07Xy5Fbz1mdW5jdGlvbihhKXt0aGlzLnFoPWF8fFtdO0RvKHRoaXMpfTtEbz1mdW5jdGlvbihhKXthLnNldCgibGVuZ3RoIixhLnFoLmxlbmd0aCl9OwpNbz1mdW5jdGlvbihhKXthPz8oYT17fSk7YS52aXNpYmxlPV8ubG0oYS52aXNpYmxlLCEwKTtyZXR1cm4gYX07Xy5vZGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEucmFkaXVzfHw2Mzc4MTM3fTtObz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uRW8/cGRhKGEpOm5ldyBfLkVvKHFkYShhKSl9O3JkYT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7aWYoIShiIGluc3RhbmNlb2YgXy5FbykpdGhyb3cgXy5BbSgibm90IGFuIE1WQ0FycmF5Iik7Yi5mb3JFYWNoKChjLGQpPT57dHJ5e2EoYyl9Y2F0Y2goZSl7dGhyb3cgXy5BbShgYXQgaW5kZXggJHtkfWAsZSk7fX0pO3JldHVybiBifX07c2RhPWZ1bmN0aW9uKGEpe18uSGwoInBvbHkiKS50aGVuKGI9PntiLnZMKGEpfSl9OwpPbz1mdW5jdGlvbihhKXthPWEudHJpbSgpO2lmKCFhKXRocm93IEVycm9yKCJtaXNzaW5nIHZhbHVlIik7dmFyIGI9TnVtYmVyKGEpO2lmKGlzTmFOKGIpfHwhaXNGaW5pdGUoYikpdGhyb3cgRXJyb3IoYCIke2F9IiBpcyBub3QgYSBudW1iZXJgKTtyZXR1cm4gYn07UG89ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt0cnl7cmV0dXJuIGEoYil9Y2F0Y2goYyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYyBpbnN0YW5jZW9mIEVycm9yP2MubWVzc2FnZTpgJHtjfWApLG51bGx9fX07Cl8uUm89ZnVuY3Rpb24oYSl7dHJ5e2xldCBiPWEuc3BsaXQoIiwiKS5tYXAoT28pO2lmKGIubGVuZ3RoPDIpdGhyb3cgRXJyb3IoInRvbyBmZXcgdmFsdWVzIik7aWYoYi5sZW5ndGg+Myl0aHJvdyBFcnJvcigidG9vIG1hbnkgdmFsdWVzIik7bGV0IFtjLGQsZV09YjtyZXR1cm4gbmV3IF8uUW8oe2xhdDpjLGxuZzpkLGFsdGl0dWRlOmV9KX1jYXRjaChiKXt0aHJvdyBFcnJvcihgQ291bGQgbm90IGludGVycHJldCAiJHthfSIgYXMgYSBMYXRMbmdBbHRpdHVkZTogYCsoYiBpbnN0YW5jZW9mIEVycm9yP2IubWVzc2FnZTpgJHtifWApKTt9fTsKdGRhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO3RyeXtsZXQgYj1hLnNwbGl0KCJAIik7aWYoYi5sZW5ndGghPT0yKXRocm93IEVycm9yKCJpbnZhbGlkIGNpcmNsZSBmb3JtYXQiKTtsZXQgW2MsZF09YixlPU9vKGMpLGY9Xy5SbyhkKTtyZXR1cm4gbmV3IF8uU28oe2NlbnRlcjpmLHJhZGl1czplfSl9Y2F0Y2goYil7dGhyb3cgRXJyb3IoYENvdWxkIG5vdCBpbnRlcnByZXQgIiR7YX0iIGFzIGEgQ2lyY2xlOiBgKyhiIGluc3RhbmNlb2YgRXJyb3I/Yi5tZXNzYWdlOmAke2J9YCkpO319O18uVG89ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYSBpbnN0YW5jZW9mIF8uVG0pcmV0dXJuYCR7YS5sYXQoKX0sJHthLmxuZygpfWA7bGV0IGI9YCR7YS5sYXR9LCR7YS5sbmd9YDthLmFsdGl0dWRlIT09dm9pZCAwJiZhLmFsdGl0dWRlIT09MCYmKGIrPWAsJHthLmFsdGl0dWRlfWApO3JldHVybiBifXJldHVybiBudWxsfTsKXy5Vbz1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLm1hcChfLlRvKS5qb2luKCIgIik6bnVsbH07dWRhPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmdldENlbnRlcigpP2Ake2EuZ2V0UmFkaXVzKCl9QCR7Vm8oYS5nZXRDZW50ZXIoKSl9YDpudWxsfTtWbz1mdW5jdGlvbihhKXtyZXR1cm4gYT9hIGluc3RhbmNlb2YgXy5UbT9gJHthLmxhdCgpfSwke2EubG5nKCl9YDpgJHthLmxhdH0sJHthLmxuZ31gOm51bGx9O3ZkYT1mdW5jdGlvbigpeyFXbyYmXy5VYS5kb2N1bWVudD8uY3JlYXRlRWxlbWVudCYmKFdvPV8uVWEuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCxfLlVhLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ9KC4uLmEpPT57WG89YVswXTt0cnl7dmFyIGI9V28uYXBwbHkoZG9jdW1lbnQsYSl9ZmluYWxseXtYbz12b2lkIDB9cmV0dXJuIGJ9KX07CllvPWZ1bmN0aW9uKGEsYixjKXtpZihhLm5vZGVUeXBlIT09MSlyZXR1cm4gd2RhO2I9Yi50b0xvd2VyQ2FzZSgpO2lmKGI9PT0iaW5uZXJodG1sInx8Yj09PSJpbm5lcnRleHQifHxiPT09InRleHRjb250ZW50Inx8Yj09PSJvdXRlcmh0bWwiKXJldHVybigpPT5fLnlqKHhkYSk7dmFyIGQ9eWRhLmdldChgJHthLnRhZ05hbWV9ICR7Yn1gKTtyZXR1cm4gZCE9PXZvaWQgMD9kOi9eb24vLnRlc3QoYikmJmM9PT0iYXR0cmlidXRlIiYmKGE9YS50YWdOYW1lLmluY2x1ZGVzKCItIik/SFRNTEVsZW1lbnQucHJvdG90eXBlOmEsYiBpbiBhKT8oKT0+e3Rocm93IEVycm9yKCJpbnZhbGlkIGJpbmRpbmciKTt9OndkYX07QWRhPWZ1bmN0aW9uKGEsYil7aWYoIVpvKGEpfHwhYS5oYXNPd25Qcm9wZXJ0eSgicmF3IikpdGhyb3cgRXJyb3IoImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSIpO3JldHVybiB6ZGEhPT12b2lkIDA/emRhLmNyZWF0ZUhUTUwoYik6Yn07CmJwPWZ1bmN0aW9uKGEsYixjPWEsZCl7aWYoYj09PSRvKXJldHVybiBiO3ZhciBlPWQhPT12b2lkIDA/Yy5yaD8uW2RdOmMuRmgsZj1hcChiKT92b2lkIDA6Yi5fJGxpdERpcmVjdGl2ZSQ7ZT8uY29uc3RydWN0b3IhPT1mJiYoZT8uXyRub3RpZnlEaXJlY3RpdmVDb25uZWN0aW9uQ2hhbmdlZD8uKCExKSxmPT09dm9pZCAwP2U9dm9pZCAwOihlPW5ldyBmKGEpLGUuZkwoYSxjLGQpKSxkIT09dm9pZCAwPyhjLnJoPz8oYy5yaD1bXSkpW2RdPWU6Yy5GaD1lKTtlIT09dm9pZCAwJiYoYj1icChhLGUuZ0woYSxiLnZhbHVlcyksZSxkKSk7cmV0dXJuIGJ9OwpDZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVN5bWJvbCgpLHtnZXQ6ZSxzZXQ6Zn09QmRhKGEucHJvdG90eXBlLGIpPz97Z2V0KCl7cmV0dXJuIHRoaXNbZF19LHNldChnKXt0aGlzW2RdPWd9fTtyZXR1cm57Z2V0OmUsc2V0KGcpe3ZhciBoPWU/LmNhbGwodGhpcyk7Zj8uY2FsbCh0aGlzLGcpO18uY3AodGhpcyxiLGgsYyl9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX07RWRhPWZ1bmN0aW9uKGEsYixjPWRwKXtjLnN0YXRlJiYoYy5LaD0hMSk7YS5yaCgpO2EucHJvdG90eXBlLmhhc093blByb3BlcnR5KGIpJiYoYz1PYmplY3QuY3JlYXRlKGMpLGMuV3o9ITApO2EuUnAuc2V0KGIsYyk7Yy5BVHx8KGM9Q2RhKGEsYixjKSxjIT09dm9pZCAwJiZEZGEoYS5wcm90b3R5cGUsYixjKSl9OwpfLmNwPWZ1bmN0aW9uKGEsYixjLGQsZT0hMSxmKXtpZihiIT09dm9pZCAwKXtsZXQgZz1hLmNvbnN0cnVjdG9yO2U9PT0hMSYmKGY9YVtiXSk7ZD8/KGQ9Zy5ScC5nZXQoYik/P2RwKTtpZigoZC5uaj8/ZXApKGYsYyl8fGQub0smJmQuTmgmJmY9PT1hLldoPy5nZXQoYikmJiFhLmhhc0F0dHJpYnV0ZShnLkdDKGIsZCkpKWEuV2soYixjLGQpO2Vsc2UgcmV0dXJufWEuT2g9PT0hMSYmKGEuYWw9YS5xeCgpKX07CkZkYT1mdW5jdGlvbihhKXtpZihhLk9oKXtpZighYS5NaCl7YS5Qaz8/KGEuUGs9YS5zaSgpKTtpZihhLlpoKXtmb3IobGV0IFtkLGVdb2YgYS5aaClhW2RdPWU7YS5aaD12b2lkIDB9dmFyIGI9YS5jb25zdHJ1Y3Rvci5ScDtpZihiLnNpemU+MClmb3IobGV0IFtkLGVdb2YgYil7Yj1kO3ZhciBjPWU7bGV0IGY9YVtiXTtjLld6IT09ITB8fGEuSmguaGFzKGIpfHxmPT09dm9pZCAwfHxhLldrKGIsdm9pZCAwLGMsZil9fWI9ITE7Yz1hLkpoO3RyeXtiPSEwLGEuaG0oYyksYS5JaD8uZm9yRWFjaChkPT5kLmRUPy4oKSksYS51cGRhdGUoYyl9Y2F0Y2goZCl7dGhyb3cgYj0hMSxhLnNyKCksZDt9YiYmYS5veChjKX19O2ZwPWZ1bmN0aW9uKCl7cmV0dXJuITB9O18uZ3A9ZnVuY3Rpb24oYSxiKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxiLHtlbnVtZXJhYmxlOiEwLHdyaXRhYmxlOiExfSl9O18uaHA9ZnVuY3Rpb24oYSxiKXtyZXR1cm5gPCR7YS5jTH0+OiAke2J9YH07Cl8uaXA9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uQW0oXy5ocChhLGBDYW5ub3Qgc2V0IHByb3BlcnR5ICIke2J9IiB0byAke2N9YCksZCl9O18uR2RhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8uanA7Y29uc29sZS5lcnJvcihfLmhwKGEsYEVuY291bnRlcmVkIGEgbmV0d29yayByZXF1ZXN0IGVycm9yOiAke2IgaW5zdGFuY2VvZiBFcnJvcj9iLm1lc3NhZ2U6U3RyaW5nKGIpfWApKTthLmRpc3BhdGNoRXZlbnQoYyl9O18ua3A9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpe3Rocm93IF8uQW0oXy5ocChhLGBDYW5ub3Qgc2V0IHByb3BlcnR5ICIke2J9IiB0byAke2R9YCksZSk7fX07CklkYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldCgibWFwSWQiKTtiPW5ldyBIZGEoYixhLm1hcFR5cGVzKTtiLmJpbmRUbygibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iLGEuX19nbSk7Yi5iaW5kVG8oIm1hcElkIixhLCJtYXBJZCIsITApO2IuYmluZFRvKCJzdHlsZXMiLGEpO2IuYmluZFRvKCJtYXBUeXBlSWQiLGEpfTtscD1mdW5jdGlvbihhLGIpe2EuaXNBdmFpbGFibGU9ITE7YS5xaC5wdXNoKGIpfTsKXy5ucD1mdW5jdGlvbihhLGIpe3ZhciBjPV8ubXAoYS5fX2dtLnFoLCJEQVRBX0RSSVZFTl9TVFlMSU5HIik7aWYoIWIpcmV0dXJuIGM7dmFyIGQ9WyJUaGUgbWFwIGlzIGluaXRpYWxpemVkIHdpdGhvdXQgYSB2YWxpZCBtYXAgSUQsIHRoYXQgd2lsbCBwcmV2ZW50IHVzZSBvZiBkYXRhLWRyaXZlbiBzdHlsaW5nLiIsIlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSBhbnkgRmVhdHVyZUxheWVycyBjb25maWd1cmVkIGZvciBkYXRhLWRyaXZlbiBzdHlsaW5nLiIsIlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSBhbnkgRGF0YXNldHMgb3IgRmVhdHVyZUxheWVycyBjb25maWd1cmVkIGZvciBkYXRhLWRyaXZlbiBzdHlsaW5nLiJdLGU9Yy5xaC5tYXAoZj0+Zi5HcSk7ZT1lJiZlLnNvbWUoZj0+ZC5pbmNsdWRlcyhmKSk7KGMuaXNBdmFpbGFibGV8fCFlKSYmKGE9YS5fX2dtLnFoLll2KCkpJiYoYj1KZGEoYixhKSkmJmxwKGMse0dxOmJ9KTtyZXR1cm4gY307CkpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZmVhdHVyZVR5cGU7aWYoYz09PSJEQVRBU0VUIil7aWYoIWIudGgoKS5tYXAoZD0+Xy5IKGQsMikpLmluY2x1ZGVzKGEuZGF0YXNldElkKSlyZXR1cm4iVGhlIE1hcCBTdHlsZSBkb2VzIG5vdCBoYXZlIHRoZSBmb2xsb3dpbmcgRGF0YXNldCBJRCBhc3NvY2lhdGVkIHdpdGggaXQ6ICIrYS5kYXRhc2V0SWR9ZWxzZSBpZighYi5zaCgpLmluY2x1ZGVzKGMpKXJldHVybiJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgdGhlIGZvbGxvd2luZyBGZWF0dXJlTGF5ZXIgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZzogIitjO3JldHVybiBudWxsfTtwcD1mdW5jdGlvbihhLGI9IiIsYyl7Yz1fLm5wKGEsYyk7Yy5pc0F2YWlsYWJsZXx8Xy5vcChhLGIsYyl9O0tkYT1mdW5jdGlvbihhKXthPWEuX19nbTtmb3IobGV0IGIgb2YgYS50aC5rZXlzKCkpYS50aC5nZXQoYikuaXNFbmFibGVkfHxfLnJtKGBUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgdGhlIGZvbGxvd2luZyBGZWF0dXJlTGF5ZXIgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZzogICR7Yn1gKX07Cl8uTGRhPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGM9YS5fX2dtO2MudGguc2l6ZT4wJiZwcChhKTtiJiZLZGEoYSk7Yy50aC5mb3JFYWNoKGQ9PntkLmNJKCl9KX07Xy5vcD1mdW5jdGlvbihhLGIsYyl7aWYoYy5xaC5sZW5ndGghPT0wKXt2YXIgZD1iP2IrIjogIjoiIixlPWEuX19nbS5xaDtjLnFoLmZvckVhY2goZj0+e2UubG9nKGYsZCl9KX19O18ucXA9ZnVuY3Rpb24oKXt9O18ubXA9ZnVuY3Rpb24oYSxiKXthLmxvZyhNZGFbYl0pO2E6c3dpdGNoKGIpe2Nhc2UgIkFEVkFOQ0VEX01BUktFUlMiOmE9YS5jYWNoZS5yRzticmVhayBhO2Nhc2UgIkRBVEFfRFJJVkVOX1NUWUxJTkciOmE9YS5jYWNoZS5hSDticmVhayBhO2Nhc2UgIldFQkdMX09WRVJMQVlfVklFVyI6YT1hLmNhY2hlLnlxO2JyZWFrIGE7ZGVmYXVsdDp0aHJvdyBFcnJvcihgTm8gY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBmb3I6ICR7Yn1gKTt9cmV0dXJuIGEuY2xvbmUoKX07CnNwPWZ1bmN0aW9uKGEpe3ZhciBiPWEuY2FjaGUsYz1uZXcgcnA7YS5lbygpfHxscChjLHtHcToiVGhlIG1hcCBpcyBpbml0aWFsaXplZCB3aXRob3V0IGEgdmFsaWQgTWFwIElELCB3aGljaCB3aWxsIHByZXZlbnQgdXNlIG9mIEFkdmFuY2VkIE1hcmtlcnMuIn0pO2Iuckc9YztiPWEuY2FjaGU7Yz1uZXcgcnA7aWYoYS5lbygpKXt2YXIgZD1hLll2KCk7aWYoZCl7bGV0IGU9ZC5zaCgpO2Q9ZC50aCgpO2UubGVuZ3RofHxkLmxlbmd0aHx8bHAoYyx7R3E6IlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSBhbnkgRGF0YXNldHMgb3IgRmVhdHVyZUxheWVycyBjb25maWd1cmVkIGZvciBkYXRhLWRyaXZlbiBzdHlsaW5nLiJ9KX1hLmp3IT09IlVOS05PV04iJiZhLmp3IT09IlRSVUUiJiZscChjLHtHcToiVGhlIG1hcCBpcyBub3QgYSB2ZWN0b3IgbWFwLiBUaGF0IHdpbGwgcHJldmVudCB1c2Ugb2YgZGF0YS1kcml2ZW4gc3R5bGluZy4ifSl9ZWxzZSBscChjLHtHcToiVGhlIG1hcCBpcyBpbml0aWFsaXplZCB3aXRob3V0IGEgdmFsaWQgbWFwIElELCB0aGF0IHdpbGwgcHJldmVudCB1c2Ugb2YgZGF0YS1kcml2ZW4gc3R5bGluZy4ifSk7CmIuYUg9YztiPWEuY2FjaGU7Yz1uZXcgcnA7YS5lbygpP2EuanchPT0iVU5LTk9XTiImJmEuanchPT0iVFJVRSImJmxwKGMse0dxOiJUaGUgbWFwIGlzIG5vdCBhIHZlY3RvciBtYXAsIHdoaWNoIHdpbGwgcHJldmVudCB1c2Ugb2YgV2ViR0xPdmVybGF5Vmlldy4ifSk6bHAoYyx7R3E6IlRoZSBtYXAgaXMgaW5pdGlhbGl6ZWQgd2l0aG91dCBhIHZhbGlkIG1hcCBJRCwgd2hpY2ggd2lsbCBwcmV2ZW50IHVzZSBvZiBXZWJHTE92ZXJsYXlWaWV3LiJ9KTtiLnlxPWM7TmRhKGEpfTtOZGE9ZnVuY3Rpb24oYSl7YS5xaD0hMDt0cnl7YS5zZXQoIm1hcENhcGFiaWxpdGllcyIsYS5nZXRNYXBDYXBhYmlsaXRpZXMoKSl9ZmluYWxseXthLnFoPSExfX07T2RhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5vcHRpb25zLmhELk1BUF9JTklUSUFMSVpBVElPTjtpZihjKWZvcihsZXQgZCBvZiBjKWEuaHUoZCxiKX07Cl8udHA9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEub3B0aW9ucy5oRC5NQVBfSU5JVElBTElaQVRJT047aWYoZClmb3IobGV0IGUgb2YgZClhLlpuKGUsYixjKX07Xy51cD1mdW5jdGlvbihhLGIpe2lmKGI9YS5vcHRpb25zLmhEW2JdKWZvcihsZXQgYyBvZiBiKWEuanUoYyl9O18ud3A9ZnVuY3Rpb24oYSl7dGhpcy5xaD0wO3RoaXMuemg9dm9pZCAwO3RoaXMudGg9dGhpcy5yaD10aGlzLnNoPW51bGw7dGhpcy53aD10aGlzLnhoPSExO2lmKGEhPV8uUmwpdHJ5e2xldCBiPXRoaXM7YS5jYWxsKHZvaWQgMCxmdW5jdGlvbihjKXt2cChiLDIsYyl9LGZ1bmN0aW9uKGMpe3ZwKGIsMyxjKX0pfWNhdGNoKGIpe3ZwKHRoaXMsMyxiKX19O1BkYT1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5yaD10aGlzLnNoPXRoaXMucWg9bnVsbDt0aGlzLnRoPSExfTtSZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVFkYS5nZXQoKTtkLnNoPWE7ZC5yaD1iO2QuY29udGV4dD1jO3JldHVybiBkfTsKU2RhPWZ1bmN0aW9uKGEsYil7aWYoYS5xaD09MClpZihhLnNoKXt2YXIgYz1hLnNoO2lmKGMucmgpe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGc9Yy5yaDtnJiYoZy50aHx8KGQrKyxnLnFoPT1hJiYoZT1nKSwhKGUmJmQ+MSkpKTtnPWcubmV4dCllfHwoZj1nKTtlJiYoYy5xaD09MCYmZD09MT9TZGEoYyxiKTooZj8oZD1mLGQubmV4dD09Yy50aCYmKGMudGg9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpUZGEoYyksVWRhKGMsZSwzLGIpKSl9YS5zaD1udWxsfWVsc2UgdnAoYSwzLGIpfTtXZGE9ZnVuY3Rpb24oYSxiKXthLnJofHxhLnFoIT0yJiZhLnFoIT0zfHxWZGEoYSk7YS50aD9hLnRoLm5leHQ9YjphLnJoPWI7YS50aD1ifTsKWGRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVJkYShudWxsLG51bGwsbnVsbCk7ZS5xaD1uZXcgXy53cChmdW5jdGlvbihmLGcpe2Uuc2g9Yj9mdW5jdGlvbihoKXt0cnl7bGV0IGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChrKXtnKGspfX06ZjtlLnJoPWM/ZnVuY3Rpb24oaCl7dHJ5e2xldCBrPWMuY2FsbChkLGgpO2s9PT12b2lkIDAmJmggaW5zdGFuY2VvZiB4cD9nKGgpOmYoayl9Y2F0Y2goayl7ZyhrKX19Omd9KTtlLnFoLnNoPWE7V2RhKGEsZSk7cmV0dXJuIGUucWh9Owp2cD1mdW5jdGlvbihhLGIsYyl7aWYoYS5xaD09MCl7YT09PWMmJihiPTMsYz1uZXcgVHlwZUVycm9yKCJQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTthLnFoPTE7YTp7dmFyIGQ9YyxlPWEubVEsZj1hLm5RO2lmKGQgaW5zdGFuY2VvZiBfLndwKXtXZGEoZCxSZGEoZXx8Xy5SbCxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNle2lmKGQpdHJ5e3ZhciBoPSEhZC4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXtoPSExfWVsc2UgaD0hMTtpZihoKWQudGhlbihlLGYsYSksZz0hMDtlbHNle2lmKF8uWmEoZCkpdHJ5e2xldCBrPWQudGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpe1lkYShkLGssZSxmLGEpO2c9ITA7YnJlYWsgYX19Y2F0Y2goayl7Zi5jYWxsKGEsayk7Zz0hMDticmVhayBhfWc9ITF9fX1nfHwoYS56aD1jLGEucWg9YixhLnNoPW51bGwsVmRhKGEpLGIhPTN8fGMgaW5zdGFuY2VvZiB4cHx8WmRhKGEsYykpfX07CllkYT1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYoayl7aHx8KGg9ITAsZC5jYWxsKGUsaykpfWZ1bmN0aW9uIGcoayl7aHx8KGg9ITAsYy5jYWxsKGUsaykpfXZhciBoPSExO3RyeXtiLmNhbGwoYSxnLGYpfWNhdGNoKGspe2Yoayl9fTtWZGE9ZnVuY3Rpb24oYSl7YS54aHx8KGEueGg9ITAsXy55cChhLkJNLGEpKX07VGRhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5yaCYmKGI9YS5yaCxhLnJoPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5yaHx8KGEudGg9bnVsbCk7cmV0dXJuIGJ9O1VkYT1mdW5jdGlvbihhLGIsYyxkKXtpZihjPT0zJiZiLnJoJiYhYi50aClmb3IoO2EmJmEud2g7YT1hLnNoKWEud2g9ITE7aWYoYi5xaCliLnFoLnNoPW51bGwsJGRhKGIsYyxkKTtlbHNlIHRyeXtiLnRoP2Iuc2guY2FsbChiLmNvbnRleHQpOiRkYShiLGMsZCl9Y2F0Y2goZSl7YWVhLmNhbGwobnVsbCxlKX1kZGEoUWRhLGIpfTsKJGRhPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euc2guY2FsbChhLmNvbnRleHQsYyk6YS5yaCYmYS5yaC5jYWxsKGEuY29udGV4dCxjKX07WmRhPWZ1bmN0aW9uKGEsYil7YS53aD0hMDtfLnlwKGZ1bmN0aW9uKCl7YS53aCYmYWVhLmNhbGwobnVsbCxiKX0pfTt4cD1mdW5jdGlvbihhKXtfLnRiLmNhbGwodGhpcyxhKX07Xy56cD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09ImZ1bmN0aW9uIilpZihhJiZ0eXBlb2YgYS5oYW5kbGVFdmVudD09ImZ1bmN0aW9uIilhPSgwLF8uaWIpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigiSW52YWxpZCBsaXN0ZW5lciBhcmd1bWVudCIpO3JldHVybiBOdW1iZXIoYik+MjE0NzQ4MzY0Nz8tMTpfLlVhLnNldFRpbWVvdXQoYSxifHwwKX07Xy5BcD1mdW5jdGlvbihhLGIsYyl7Xy5tay5jYWxsKHRoaXMpO3RoaXMucWg9YTt0aGlzLnRoPWJ8fDA7dGhpcy5yaD1jO3RoaXMuc2g9KDAsXy5pYikodGhpcy5nRyx0aGlzKX07Cl8uQnA9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5nRygpfTtiZWE9ZnVuY3Rpb24oYSl7YS5xaCYmd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2lmKGEucWgpe2xldCBiPVsuLi5hLnJoLnZhbHVlcygpXS5mbGF0KCk7YS5xaChiKX19KX07Xy5jZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLk5BKCk7YyYmKGEucmguc2V0KF8uaGIoYiksYyksYS5zaC5EaSgpKX07Xy5kZWE9ZnVuY3Rpb24oYSxiKXtiPV8uaGIoYik7YS5yaC5oYXMoYikmJihhLnJoLmRlbGV0ZShiKSxhLnNoLkRpKCkpfTtlZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnpJbmRleCxkPWIuekluZGV4LGU9Xy5qbShjKSxmPV8uam0oZCksZz1hLnRsLGg9Yi50bDtpZihlJiZmJiZjIT09ZClyZXR1cm4gYz5kPy0xOjE7aWYoZSE9PWYpcmV0dXJuIGU/LTE6MTtpZihnLnkhPT1oLnkpcmV0dXJuIGgueS1nLnk7YT1fLmhiKGEpO2I9Xy5oYihiKTtyZXR1cm4gYT5iPy0xOjF9OwpmZWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5zb21lKGM9Pl8uQW8oYyxhKSl9O18uQ3A9ZnVuY3Rpb24oYSxiLGMpe18ubWsuY2FsbCh0aGlzKTt0aGlzLkFoPWMhPW51bGw/KDAsXy5pYikoYSxjKTphO3RoaXMueWg9Yjt0aGlzLnhoPSgwLF8uaWIpKHRoaXMuUUssdGhpcyk7dGhpcy5yaD0hMTt0aGlzLnNoPTA7dGhpcy50aD10aGlzLnFoPW51bGw7dGhpcy53aD1bXX07Xy5EcD1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueG4oYik7YS5lbGVtZW50c1tjXXx8KGEuZWxlbWVudHNbY109YiwrK2Euc2l6ZSxfLnduKGEsImluc2VydCIsYiksYS5xaCYmYS5xaChiKSl9O18uZ2VhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5XcCgpO3JldHVybiBhLmVpLmZpbHRlcihkPT57ZD1kLldwKCk7cmV0dXJuIGMhPT1kfSl9O18uRXA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5tYXRjaGVzfHxhLm1zTWF0Y2hlc1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3RvcikuY2FsbChhLGIpfTsKaGVhPWZ1bmN0aW9uKGEpe2EuY3VycmVudFRhcmdldC5zdHlsZS5vdXRsaW5lPSIifTsKXy5JcD1mdW5jdGlvbihhKXtpZihfLkVwKGEsJ3NlbGVjdCx0ZXh0YXJlYSxpbnB1dFt0eXBlPSJkYXRlIl0saW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSxpbnB1dFt0eXBlPSJlbWFpbCJdLGlucHV0W3R5cGU9Im1vbnRoIl0saW5wdXRbdHlwZT0ibnVtYmVyIl0saW5wdXRbdHlwZT0icGFzc3dvcmQiXSxpbnB1dFt0eXBlPSJzZWFyY2giXSxpbnB1dFt0eXBlPSJ0ZWwiXSxpbnB1dFt0eXBlPSJ0ZXh0Il0saW5wdXRbdHlwZT0idGltZSJdLGlucHV0W3R5cGU9InVybCJdLGlucHV0W3R5cGU9IndlZWsiXSxpbnB1dDpub3QoW3R5cGVdKScpKXJldHVybltdO3ZhciBiPVtdO2IucHVzaChuZXcgXy5GcChhLCJmb2N1cyIsYz0+eyFfLkdwJiZfLkhwJiZfLkhwIT09IktFWUJPQVJEIiYmKGMuY3VycmVudFRhcmdldC5zdHlsZS5vdXRsaW5lPSJub25lIil9KSk7Yi5wdXNoKG5ldyBfLkZwKGEsImZvY3Vzb3V0IixoZWEpKTtyZXR1cm4gYn07CktwPWZ1bmN0aW9uKCl7cmV0dXJuIEpwP0pwOkpwPW5ldyBpZWF9O01wPWZ1bmN0aW9uKGEpe3JldHVybiBfLkxwWzQzXT8hMTphLkFoPyEwOiFfLlVhLmRldmljZVBpeGVsUmF0aW98fCFfLlVhLnJlcXVlc3RBbmltYXRpb25GcmFtZX07Xy5qZWE9ZnVuY3Rpb24oKXt2YXIgYT1fLk5wO3JldHVybiBfLkxwWzQzXT8hMTphLkFofHxNcChhKX07a2VhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPTAsZDtkPWJbY107KytjKWlmKHR5cGVvZiBhLmRvY3VtZW50RWxlbWVudC5zdHlsZVtkXT09PSJzdHJpbmciKXJldHVybiBkO3JldHVybiBudWxsfTtfLlBwPWZ1bmN0aW9uKCl7T3B8fChPcD1uZXcgbGVhKTtyZXR1cm4gT3B9O18uUXA9ZnVuY3Rpb24oYSxiKXthIT09bnVsbCYmKGE9YS5zdHlsZSxhLndpZHRoPV8uZW8oYiksYS5oZWlnaHQ9Xy5mbyhiKSl9O18uUnA9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLmdvKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfTsKXy5UcD1mdW5jdGlvbihhKXt2YXIgYj0hMTtfLlNwLnJoKCk/YS5kcmFnZ2FibGU9ITE6Yj0hMDt2YXIgYz1fLlBwKCkucmg7Yz9hLnN0eWxlW2NdPSJub25lIjpiPSEwO2ImJmEuc2V0QXR0cmlidXRlKCJ1bnNlbGVjdGFibGUiLCJvbiIpO2Eub25zZWxlY3RzdGFydD1kPT57Xy5nbihkKTtfLmhuKGQpfX07Cl8uVXA9ZnVuY3Rpb24oYSxiPSExKXtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSlyZXR1cm4hMDtpZighKGEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpcmV0dXJuITE7dmFyIGM9ITE7Xy5JcChhKTtjdXN0b21FbGVtZW50cy5nZXQoYS5sb2NhbE5hbWUpfHwoYS50YWJJbmRleD1hLnRhYkluZGV4KTt2YXIgZD0oKT0+e2M9ITA7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c2luIixkKX0sZT0oKT0+e2M9ITA7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGUpO2EuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsZCk7YS5mb2N1cyh7cHJldmVudFNjcm9sbDohIWJ9KTtyZXR1cm4gY307Cm1lYT1mdW5jdGlvbihhLGIpe2ImJihhLnNoPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsXy50bihhLl9fZ20sInBhbm9yYW1haGlkZGVuIiwoKT0+e2lmKGEucmg/LmdzPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7dmFyIGM9YS5zaD8ubm9kZU5hbWU9PT0iQk9EWSIsZD1hLl9fZ20uZ2V0KCJmb2N1c0ZhbGxiYWNrRWxlbWVudCIpO2Euc2gmJiFjPyFfLlVwKGEuc2gpJiZkJiZfLlVwKGQpOmQmJl8uVXAoZCl9fSkpfTtfLm9lYT1mdW5jdGlvbihhLGI9ZG9jdW1lbnQpe3JldHVybiBuZWEoYSxiKX07bmVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGI9YiYmKGIuZnVsbHNjcmVlbkVsZW1lbnR8fGIud2Via2l0RnVsbHNjcmVlbkVsZW1lbnR8fGIubW96RnVsbFNjcmVlbkVsZW1lbnR8fGIubXNGdWxsc2NyZWVuRWxlbWVudCkpP2I9PT1hPyEwOm5lYShhLGIuc2hhZG93Um9vdCk6ITF9OwpwZWE9ZnVuY3Rpb24oYSl7YS5xaD0hMDt0cnl7YS5zZXQoInJlbmRlcmluZ1R5cGUiLGEucmgpfWZpbmFsbHl7YS5xaD0hMX19O18ucWVhPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1fLlVhLmdvb2dsZSYmXy5VYS5nb29nbGUubWFwcyYmXy5VYS5nb29nbGUubWFwcy5maXNmZXRzejtiJiZBcnJheS5pc0FycmF5KGIpJiZfLkxwWzE1XSYmYi5mb3JFYWNoKGM9PntfLmptKGMpJiZhLnB1c2goYyl9KTtyZXR1cm4gYX07cmVhPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtoKGEsMSwzMyl9O3NlYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5raChhLDIsMyl9O3RlYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLmtoKGEsMSxiKX07dWVhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSmwucmgoKS5yaCgpO3JldHVybiBfLmloKGEsNSxiKX07dmVhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSmwucmgoKS50aCgpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIF8uaWgoYSw2LGIpfTsKd2VhPWZ1bmN0aW9uKGEpe3JldHVybiBfLiRnKGEsMTAsITApfTt4ZWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5iaChhLDEsYil9O3llYT1mdW5jdGlvbihhLGIpe18uYmgoYSwyLGIpfTt6ZWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5kaChhLDEsYil9O0FlYT1mdW5jdGlvbihhLGIpe18uZGgoYSwyLGIpfTtCZWE9ZnVuY3Rpb24oYSxiKXtfLmtoKGEsOCxiKX07Xy5WcD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1NYXRoLnBvdygyLE1hdGgucm91bmQoYSkpLzI1NjtyZXR1cm4gbmV3IENlYShNYXRoLnJvdW5kKE1hdGgucG93KDIsYSkvZSkqZSxiLGMsZCl9O18uWHA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uV3AoKGEubTIyKmIuWGgtYS5tMTIqYi5ZaCkvYS5zaCwoLWEubTIxKmIuWGgrYS5tMTEqYi5ZaCkvYS5zaCl9O0RlYT1mdW5jdGlvbihhKXthPWEuZ2V0KCJ6b29tIik7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciI/TWF0aC5mbG9vcihhKTphfTsKRmVhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0KCJ0aWx0Iil8fCFhLndoJiZfLiRsKGEuZ2V0KCJzdHlsZXMiKSk7YT1hLmdldCgibWFwVHlwZUlkIik7cmV0dXJuIGI/bnVsbDpFZWFbYV19O0dlYT1mdW5jdGlvbihhLGIpe2EucWgub25sb2FkPW51bGw7YS5xaC5vbmVycm9yPW51bGw7dmFyIGM9YS54aCgpO2MmJihiJiYoYS5xaC5wYXJlbnROb2RlfHxhLnJoLmFwcGVuZENoaWxkKGEucWgpLGEuc2h8fF8uUXAoYS5xaCxjKSksYS5zZXQoImxvYWRpbmciLCExKSl9O0hlYT1mdW5jdGlvbihhLGIpe2IhPT1hLnFoLnNyYz8oYS5zaHx8YS5xaD8ucmVtb3ZlKCksYS5xaC5vbmxvYWQ9KCk9PntHZWEoYSwhMCl9LGEucWgub25lcnJvcj0oKT0+e0dlYShhLCExKX0sYS5xaC5zcmM9Yik6IWEucWgucGFyZW50Tm9kZSYmYiYmYS5yaC5hcHBlbmRDaGlsZChhLnFoKX07CkxlYT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPW5ldyBJZWE7eWVhKHhlYShfLndnKGYsSmVhLDEpLGIubWluWCksYi5taW5ZKTtfLmtoKGYsMixlKS5zZXRab29tKGMpO0FlYSh6ZWEoXy53ZyhmLF8uWXAsNCksYi5tYXhYLWIubWluWCksYi5tYXhZLWIubWluWSk7dmFyIGc9d2VhKHZlYSh1ZWEodGVhKF8ud2coZixfLlpwLDUpLGQpKSkpO2I9Xy5xZWEoKTthLndofHxiLnB1c2goNDcwODM1MDIpO2IuZm9yRWFjaChoPT57dmFyIGs9ITE7Zm9yKGxldCBtPTAscD1fLlRnKGcsMTQpO208cDttKyspaWYoXy5TZyhnLDE0LG0pPT09aCl7az0hMDticmVha31rfHxfLm1oKGcsMTQsaCl9KTtfLiRnKGcsMTIsITApO18uTHBbMTNdJiZzZWEocmVhKF8uWmYoZyw4LF8uJHApKSkuT2woMSk7YS53aCYmXy5paChmLDcsYS53aCk7QmVhKGYsYS5nZXQoImNvbG9yVGhlbWUiKSk7Zj1hLnRoK3VuZXNjYXBlKCIlM0YiKStfLlJqKGYsS2VhKCkpO3JldHVybiBhLkpoKGYpfTsKTWVhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ubnAoYS5tYXAse2ZlYXR1cmVUeXBlOmEuZmVhdHVyZVR5cGUsZGF0YXNldElkOmEuZGF0YXNldElkLERzOmEuRHN9KTtpZighYi5pc0F2YWlsYWJsZSYmYi5xaC5sZW5ndGg+MCl7bGV0IGM9Yi5xaC5tYXAoZD0+ZC5HcSk7Yy5pbmNsdWRlcygiVGhlIG1hcCBpcyBpbml0aWFsaXplZCB3aXRob3V0IGEgdmFsaWQgbWFwIElELCB0aGF0IHdpbGwgcHJldmVudCB1c2Ugb2YgZGF0YS1kcml2ZW4gc3R5bGluZy4iKSYmKGEuZmVhdHVyZVR5cGU9PT0iREFUQVNFVCI/Xy5NKGEubWFwLDE3NzMxMSk6Xy5NKGEubWFwLDE0ODg0NCkpOyhjLmluY2x1ZGVzKCJUaGUgTWFwIFN0eWxlIGRvZXMgbm90IGhhdmUgYW55IEZlYXR1cmVMYXllcnMgY29uZmlndXJlZCBmb3IgZGF0YS1kcml2ZW4gc3R5bGluZy4iKXx8Yy5pbmNsdWRlcygiVGhlIE1hcCBTdHlsZSBkb2VzIG5vdCBoYXZlIHRoZSBmb2xsb3dpbmcgRmVhdHVyZUxheWVyIGNvbmZpZ3VyZWQgZm9yIGRhdGEtZHJpdmVuIHN0eWxpbmc6ICIrCmEuZmVhdHVyZVR5cGUpKSYmXy5NKGEubWFwLDE0ODg0Nik7Yy5pbmNsdWRlcygiVGhlIG1hcCBpcyBub3QgYSB2ZWN0b3IgbWFwLiBUaGF0IHdpbGwgcHJldmVudCB1c2Ugb2YgZGF0YS1kcml2ZW4gc3R5bGluZy4iKSYmKGEuZmVhdHVyZVR5cGU9PT0iREFUQVNFVCI/Xy5NKGEubWFwLDE3NzMxNSk6Xy5NKGEubWFwLDE0ODg0NSkpO2MuaW5jbHVkZXMoIlRoZSBNYXAgU3R5bGUgZG9lcyBub3QgaGF2ZSB0aGUgZm9sbG93aW5nIERhdGFzZXQgSUQgYXNzb2NpYXRlZCB3aXRoIGl0OiAiKSYmXy5NKGEubWFwLDE3ODI4MSl9cmV0dXJuIGJ9O2FxPWZ1bmN0aW9uKGEsYil7dmFyIGM9TWVhKGEpO18ub3AoYS5tYXAsYixjKTtyZXR1cm4gY307CmJxPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDt0eXBlb2YgYj09PSJmdW5jdGlvbiI/Yz1iOmImJihjPSgpPT5iKTtQcm9taXNlLmFsbChbXy5IbCgid2ViZ2wiKSxhLm1hcC5fX2dtLnNpXSkudGhlbigoW2RdKT0+e2QuemgoYS5tYXAse2ZlYXR1cmVUeXBlOmEuZmVhdHVyZVR5cGUsZGF0YXNldElkOmEuZGF0YXNldElkLERzOmEuRHN9LGMpO2Euc2g9Yn0pfTtjcT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMucWg9ISFiO3RoaXMubm9kZT1udWxsO3RoaXMucmg9MDt0aGlzLnRoPSExO3RoaXMuc2g9IWM7YSYmdGhpcy5zZXRQb3NpdGlvbihhLGQpO3RoaXMuZGVwdGg9ZSE9dm9pZCAwP2U6dGhpcy5yaHx8MDt0aGlzLnFoJiYodGhpcy5kZXB0aCo9LTEpfTtfLmlxPWZ1bmN0aW9uKGEsYj0hMCl7Ynx8Xy5kcShhKTtmb3IoYj1hLmZpcnN0Q2hpbGQ7YjspXy5kcShiKSxhLnJlbW92ZUNoaWxkKGIpLGI9YS5maXJzdENoaWxkfTsKXy5kcT1mdW5jdGlvbihhKXtmb3IoYT1uZXcgTmVhKGEpOzspe3ZhciBiPWEubmV4dCgpO2lmKGIuZG9uZSlicmVhazsoYj1iLnZhbHVlKSYmXy5wbihiKX19O18uanE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUFycmF5KGIubGVuZ3RoKTtmb3IobGV0IGU9MCxmPWIubGVuZ3RoO2U8ZjsrK2UpZFtlXT1iLmNoYXJDb2RlQXQoZSk7ZC51bnNoaWZ0KGMpO3JldHVybiBhLmhhc2goZCl9OwpQZWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bmV3IF8ua3EoMTMxMDcxKSxmPXVuZXNjYXBlKCIlMjYlNzQlNkYlNkIlNjUlNkUlM0QiKSxnPXVuZXNjYXBlKCIlMjYlNkIlNjUlNzklM0QiKSxoPXVuZXNjYXBlKCIlMjYlNjMlNkMlNjklNjUlNkUlNzQlM0QiKSxrPXVuZXNjYXBlKCIlMjYlNjMlNjglNjElNkUlNkUlNjUlNkMlM0QiKTtyZXR1cm4obSxwKT0+e3ZhciBxPSIiLHU9cD8/Yjt1JiYocSs9ZytlbmNvZGVVUklDb21wb25lbnQodSkpO3B8fChjJiYocSs9aCtlbmNvZGVVUklDb21wb25lbnQoYykpLGQmJihxKz1rK2VuY29kZVVSSUNvbXBvbmVudChkKSkpO209bS5yZXBsYWNlKE9lYSwiJTI3IikrcTtwPW0rZjtxPVN0cmluZztscXx8KGxxPVJlZ0V4cCgiKD86aHR0cHM/Oi8vW14vXSspPyguKikiKSk7bT1scS5leGVjKG0pO2lmKCFtKXRocm93IEVycm9yKCJJbnZhbGlkIFVSTCB0byBzaWduLiIpO3JldHVybiBwK3EoXy5qcShlLG1bMV0sYSkpfX07ClFlYT1mdW5jdGlvbihhKXthPUFycmF5KGEudG9TdHJpbmcoKS5sZW5ndGgpO2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7KytiKWFbYl09IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjYyKSk7cmV0dXJuIGEuam9pbigiIil9O1JlYT1mdW5jdGlvbihhLGI9UWVhKGEpKXt2YXIgYz1uZXcgXy5rcSgxMzEwNzEpO3JldHVybigpPT5bYixfLmpxKGMsYixhKS50b1N0cmluZygpXX07U2VhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8ua3EoMjE0NzQ4MzY0Nyk7cmV0dXJuIGI9Pl8uanEoYSxiLDApfTsKXy5ycT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt2YXIgUT17IjRnIjoyNTAwLCIzZyI6MzUwMCwiMmciOjZFMyx1bmtub3duOjRFM307cmV0dXJuIF8uVWEubmF2aWdhdG9yJiZfLlVhLm5hdmlnYXRvci5jb25uZWN0aW9uJiZfLlVhLm5hdmlnYXRvci5jb25uZWN0aW9uLmVmZmVjdGl2ZVR5cGU/UVtfLlVhLm5hdmlnYXRvci5jb25uZWN0aW9uLmVmZmVjdGl2ZVR5cGVdfHxRLnVua25vd246US51bmtub3dufXZhciBkPXBlcmZvcm1hbmNlLm5vdygpO2lmKCFhKXRocm93IF8uQW0oYE1hcDogRXhwZWN0ZWQgbWFwRGl2IG9mIHR5cGUgSFRNTEVsZW1lbnQgYnV0IHdhcyBwYXNzZWQgJHthfS5gKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXRocm93IF8uQW0oYE1hcDogRXhwZWN0ZWQgbWFwRGl2IG9mIHR5cGUgSFRNTEVsZW1lbnQgYnV0IHdhcyBwYXNzZWQgc3RyaW5nICcke2F9Jy5gKTt2YXIgZT1ifHx7fTtlLm5vQ2xlYXJ8fF8uaXEoYSwhMSk7dmFyIGY9dHlwZW9mIGRvY3VtZW50PT0KInVuZGVmaW5lZCI/bnVsbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmJiZhLmFwcGVuZENoaWxkJiYoYS5hcHBlbmRDaGlsZChmKSxmLnN0eWxlLndpZHRoPWYuc3R5bGUuaGVpZ2h0PSIxMDAlIik7Xy5tcS5zZXQoZix0aGlzKTtpZihNcChfLk5wKSl0aHJvdyBfLkhsKCJjb250cm9scyIpLnRoZW4oUT0+e1Eub0YoYSl9KSxFcnJvcigiVGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBicm93c2VyLiIpO18uSGwoInV0aWwiKS50aGVuKFE9PntfLkxwWzM1XSYmYiYmYi5kRSYmUS5lci50aChuZXcgXy5ucShiLmRFKSk7US5lci5xaChjYT0+e18uSGwoImNvbnRyb2xzIikudGhlbihpYT0+e3ZhciBHYT1fLkgoY2EsMil8fCJodHRwOi8vZy5jby9kZXYvbWFwcy1uby1hY2NvdW50IjtpYS5LSihhLEdhKX0pfSl9KTt2YXIgZyxoPW5ldyBQcm9taXNlKFE9PntnPVF9KTtfLkxuLmNhbGwodGhpcyxuZXcgVGVhKHRoaXMsYSxmLGgpKTsKdmFyIGs9dGhpcy5fX2dtO2g9dGhpcy5fX2dtLnFoO3RoaXMuc2V0KCJtYXBDYXBhYmlsaXRpZXMiLGguZ2V0TWFwQ2FwYWJpbGl0aWVzKCkpO2guYmluZFRvKCJtYXBDYXBhYmlsaXRpZXMiLHRoaXMsIm1hcENhcGFiaWxpdGllcyIsITApO2UubWFwVHlwZUlkPT09dm9pZCAwJiYoZS5tYXBUeXBlSWQ9InJvYWRtYXAiKTtrLmNvbG9yU2NoZW1lPWUuY29sb3JTY2hlbWV8fCJMSUdIVCI7ay5zZXQoImNsb3VkU3R5bGluZ0ZvclRlcnJhaW5WZWN0b3JNYXBCYXNlVGlsZXNEaXNhYmxlZCIsISFlLmNsb3VkU3R5bGluZ0ZvclRlcnJhaW5WZWN0b3JNYXBCYXNlVGlsZXNEaXNhYmxlZCk7ay5GaD1lLmJhY2tncm91bmRDb2xvcjshay5GaCYmay5NciYmKGsuRmg9ay5jb2xvclNjaGVtZT09PSJEQVJLIj8iIzIwMjEyNCI6IiNlNWUzZGYiKTt2YXIgbT1uZXcgVWVhO3RoaXMuc2V0KCJyZW5kZXJpbmdUeXBlIiwiVU5JTklUSUFMSVpFRCIpO20uYmluZFRvKCJyZW5kZXJpbmdUeXBlIix0aGlzLAoicmVuZGVyaW5nVHlwZSIsITApO20uYmluZFRvKCJtYXBIYXNCZWVuQWJsZVRvQmVEcmF3biIsaywibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iLCEwKTt0aGlzLl9fZ20uc2gudGhlbihRPT57bS5yaD1RPyJWRUNUT1IiOiJSQVNURVIiO3BlYShtKX0pO3RoaXMuc2V0VmFsdWVzKGUpO2g9ZS5tYXBUeXBlSWQ7dmFyIHA9ay5jb2xvclNjaGVtZT09PSJEQVJLIjtpZihfLkxwWzE3MF0pc3dpdGNoKGsuc2V0KCJzdHlsZVRhYmxlQnl0ZXMiLGUuc3R5bGVUYWJsZUJ5dGVzKSxoKXtjYXNlICJoeWJyaWQiOmNhc2UgInNhdGVsbGl0ZSI6ay5zZXQoImNvbmZpZ1NldCIsMTEpO2JyZWFrO2Nhc2UgInRlcnJhaW4iOmsuc2V0KCJjb25maWdTZXQiLHA/Mjk6MTIpO2JyZWFrO2RlZmF1bHQ6ay5zZXQoImNvbmZpZ1NldCIscD8yNzo4KX12YXIgcT1rLkJoO09kYShxLHtWQjpkfSk7VmVhKGIpfHxfLnVwKHEsIk1BUF9JTklUSUFMSVpBVElPTiIpO3RoaXMudkU9Xy5McFsxNV0mJmUubm9Db250cm9sc09yTG9nZ2luZzsKdGhpcy5tYXBUeXBlcz1uZXcgb3E7SWRhKHRoaXMpO3RoaXMuZmVhdHVyZXM9bmV3IFdlYTtfLiRuKGYpO3RoaXMubm90aWZ5KCJzdHJlZXRWaWV3Iik7aD1fLlJwKGYpO3ZhciB1PW51bGw7WGVhKGUudXNlU3RhdGljTWFwLGgpJiYodT1uZXcgWWVhKGYpLHUuc2V0KCJzaXplIixoKSx1LnNldCgiY29sb3JUaGVtZSIsay5jb2xvclNjaGVtZT09PSJEQVJLIj8yOjEpLHUuYmluZFRvKCJtYXBJZCIsdGhpcyksdS5iaW5kVG8oImNlbnRlciIsdGhpcyksdS5iaW5kVG8oInpvb20iLHRoaXMpLHUuYmluZFRvKCJtYXBUeXBlSWQiLHRoaXMpLHUuYmluZFRvKCJzdHlsZXMiLHRoaXMpKTt0aGlzLm92ZXJsYXlNYXBUeXBlcz1uZXcgXy5Fbzt2YXIgeD10aGlzLmNvbnRyb2xzPVtdO18uYW0oXy5wcSwoUSxjYSk9Pnt4W2NhXT1uZXcgXy5Fbzt4W2NhXS5hZGRMaXN0ZW5lcigiaW5zZXJ0X2F0IiwoKT0+e18uTSh0aGlzLDE4MjExMSl9KX0pO3ZhciB6PSExLEI9Xy5VYS5JbnRlcnNlY3Rpb25PYnNlcnZlciYmCm5ldyBQcm9taXNlKFE9Pnt2YXIgY2E9YygpLGlhPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihHYT0+e2ZvcihsZXQgTGE9MDtMYTxHYS5sZW5ndGg7TGErKylHYVtMYV0uaXNJbnRlcnNlY3Rpbmc/KGlhLmRpc2Nvbm5lY3QoKSxRKCkpOno9ITB9LHtyb290TWFyZ2luOmAke2NhfXB4ICR7Y2F9cHggJHtjYX1weCAke2NhfXB4YH0pO2lhLm9ic2VydmUodGhpcy5nZXREaXYoKSl9KTtfLkhsKCJtYXAiKS50aGVuKGFzeW5jIFE9PntxcT1RO2lmKHRoaXMuZ2V0RGl2KCkmJmYpe2lmKEIpe18udXAocSwiTUFQX0lOSVRJQUxJWkFUSU9OIik7bGV0IGlhPXBlcmZvcm1hbmNlLm5vdygpLWQ7dmFyIGNhPXNldFRpbWVvdXQoKCk9PntfLk0odGhpcywxNjkxMDgpfSwxRTMpO2F3YWl0IEI7Y2xlYXJUaW1lb3V0KGNhKTtjYT12b2lkIDA7enx8KGNhPXtWQjpwZXJmb3JtYW5jZS5ub3coKS1pYX0pO1ZlYShiKSYmT2RhKHEsY2EpfVEuTVAodGhpcyxlLGYsdSxnKX1lbHNlIF8udXAocSwiTUFQX0lOSVRJQUxJWkFUSU9OIil9LAooKT0+e3RoaXMuZ2V0RGl2KCkmJmY/Xy50cChxLDgpOl8udXAocSwiTUFQX0lOSVRJQUxJWkFUSU9OIil9KTt0aGlzLmRhdGE9bmV3IFluKHttYXA6dGhpc30pO3RoaXMuYWRkTGlzdGVuZXIoInJlbmRlcmluZ3R5cGVfY2hhbmdlZCIsKCk9PntfLkxkYSh0aGlzKX0pO3ZhciBLPXRoaXMuYWRkTGlzdGVuZXIoInpvb21fY2hhbmdlZCIsKCk9PntfLm1uKEspO18udXAocSwiTUFQX0lOSVRJQUxJWkFUSU9OIil9KSxPPXRoaXMuYWRkTGlzdGVuZXIoImRyYWdzdGFydCIsKCk9PntfLm1uKE8pO18udXAocSwiTUFQX0lOSVRJQUxJWkFUSU9OIil9KTtfLnFuKGEsInNjcm9sbCIsKCk9PnthLnNjcm9sbExlZnQ9YS5zY3JvbGxUb3A9MH0pO18uVWEuTXV0YXRpb25PYnNlcnZlciYmdGhpcy5nZXREaXYoKSYmKChoPVplYS5nZXQodGhpcy5nZXREaXYoKSkpJiZoLmRpc2Nvbm5lY3QoKSxoPW5ldyBNdXRhdGlvbk9ic2VydmVyKFE9Pntmb3IobGV0IGNhIG9mIFEpY2EuYXR0cmlidXRlTmFtZT09PQoiZGlyIiYmXy53bih0aGlzLCJzaG91bGRVc2VSVExDb250cm9sc0NoYW5nZSIpfSksWmVhLnNldCh0aGlzLmdldERpdigpLGgpLGgub2JzZXJ2ZSh0aGlzLmdldERpdigpLHthdHRyaWJ1dGVzOiEwfSkpO0ImJihfLnVuKHRoaXMsInJlbmRlcmluZ3R5cGVfY2hhbmdlZCIsYXN5bmMoKT0+e3RoaXMuZ2V0KCJyZW5kZXJpbmdUeXBlIik9PT0iVkVDVE9SIiYmKGF3YWl0IEIsXy5IbCgid2ViZ2wiKSl9KSxfLmtuKGssIm1hcGhhc2JlZW5hYmxldG9iZWRyYXduX2NoYW5nZWQiLGFzeW5jKCk9PntrLmdldCgibWFwSGFzQmVlbkFibGVUb0JlRHJhd24iKSYmXy5Nbih0aGlzKSYmdGhpcy5nZXQoInJlbmRlcmluZ1R5cGUiKT09PSJVTklOSVRJQUxJWkVEIiYmKGF3YWl0IEIsXy5IbCgid2ViZ2wiKSl9KSk7dmFyIEE7Xy5rbihrLCJtYXBoYXNiZWVuYWJsZXRvYmVkcmF3bl9jaGFuZ2VkIixhc3luYygpPT57aWYoay5nZXQoIm1hcEhhc0JlZW5BYmxlVG9CZURyYXduIikpe0E9cGVyZm9ybWFuY2Uubm93KCk7CnZhciBRPXRoaXMuZ2V0SW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCk/P251bGw7USYmXy5NKHRoaXMsMTIyNDQ3LHtpbnRlcm5hbFVzYWdlQXR0cmlidXRpb25JZHM6QXJyYXkuZnJvbShuZXcgU2V0KFEpKX0pfX0pO2g9KCk9Pnt0aGlzLmdldCgicmVuZGVyaW5nVHlwZSIpPT09IlZFQ1RPUiImJnRoaXMuZ2V0KCJzdHlsZXMiKSYmKHRoaXMuc2V0KCJzdHlsZXMiLHZvaWQgMCksY29uc29sZS53YXJuKCJHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSTogQSBNYXAncyBzdHlsZXMgcHJvcGVydHkgY2Fubm90IGJlIHNldCB3aGVuIHRoZSBtYXAgaXMgYSB2ZWN0b3IgbWFwLiBQbGVhc2Ugc2VlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvc3R5bGluZyNjbG91ZF90b29saW5nIikpfTt0aGlzLmFkZExpc3RlbmVyKCJzdHlsZXNfY2hhbmdlZCIsaCk7dGhpcy5hZGRMaXN0ZW5lcigicmVuZGVyaW5ndHlwZV9jaGFuZ2VkIiwKaCk7dGhpcy5hZGRMaXN0ZW5lcigiYm91bmRzX2NoYW5nZWQiLCgpPT57QSYmdGhpcy5nZXRSZW5kZXJpbmdUeXBlKCkhPT0iVkVDVE9SIiYmcGVyZm9ybWFuY2Uubm93KCktQT44NjRFNSYmXy5NKHdpbmRvdywyNTY3MTcpfSk7aCgpfTtYZWE9ZnVuY3Rpb24oYSxiKXtpZighXy5KbHx8Xy5HKF8uSmwsXy5ucSw0MCkuZ2V0U3RhdHVzKCk9PTIpcmV0dXJuITE7aWYoYSE9PXZvaWQgMClyZXR1cm4hIWE7YT1iLndpZHRoO2I9Yi5oZWlnaHQ7cmV0dXJuIGEqYjw9Mzg0RTMmJmE8PTgwMCYmYjw9ODAwfTtWZWE9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7dmFyIGI9T2JqZWN0LmtleXMoc3EpO2ZvcihsZXQgYyBvZiBiKXRyeXtpZih0eXBlb2Ygc3FbY109PT0iZnVuY3Rpb24iJiZhW2NdKXNxW2NdKGFbY10pfWNhdGNoKGQpe3JldHVybiExfXJldHVybiBhLmNlbnRlciYmYS56b29tPyEwOiExfTsKXy50cT1mdW5jdGlvbihhKXtyZXR1cm4oYixjKT0+e2lmKHR5cGVvZiBjPT09Im9iamVjdCIpYj0kZWEoYSxiLGMpO2Vsc2V7bGV0IGQ9Yi5oYXNPd25Qcm9wZXJ0eShjKTtFZGEoYi5jb25zdHJ1Y3RvcixjLGEpO2I9ZD9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk6dm9pZCAwfXJldHVybiBifX07Xy51cT1mdW5jdGlvbihhKXtyZXR1cm4oYixjKT0+Xy5hZmEoYixjLHtnZXQoKXtyZXR1cm4gdGhpcy5Qaz8ucXVlcnlTZWxlY3RvcihhKT8/bnVsbH19KX07Xy52cT1mdW5jdGlvbihhKXtyZXR1cm4gXy50cSh7Li4uYSxzdGF0ZTohMCxLaDohMX0pfTtiZmE9ZnVuY3Rpb24oYSl7Xy5IbCgicG9seSIpLnRoZW4oYj0+e2IueUwoYSl9KX07Y2ZhPWZ1bmN0aW9uKGEpe18uSGwoInBvbHkiKS50aGVuKGI9PntiLnpMKGEpfSl9OwpfLndxPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEucWh8fHZvaWQgMDthPV8uSGwoInN0cmVldHZpZXciKS50aGVuKGY9Pl8uSGwoImdlb21ldHJ5IikudGhlbihnPT5mLmROKGIsY3x8bnVsbCxnLnNwaGVyaWNhbC5jb21wdXRlSGVhZGluZyxnLnNwaGVyaWNhbC5jb21wdXRlT2Zmc2V0LGUsZCkpKTtjJiZhLmNhdGNoKCgpPT57fSk7cmV0dXJuIGF9Owp6cT1mdW5jdGlvbihhKXthPWF8fHt9O3RoaXMudGlsZVNpemU9YS50aWxlU2l6ZXx8bmV3IF8uZ28oMjU2LDI1Nik7dGhpcy5uYW1lPWEubmFtZTt0aGlzLmFsdD1hLmFsdDt0aGlzLm1pblpvb209YS5taW5ab29tO3RoaXMubWF4Wm9vbT1hLm1heFpvb207dGhpcy5zaD0oMCxfLmliKShhLmdldFRpbGVVcmwsYSk7dGhpcy5xaD1uZXcgXy54cTt0aGlzLnJoPW51bGw7dGhpcy5zZXQoIm9wYWNpdHkiLGEub3BhY2l0eSk7Xy5IbCgibWFwIikudGhlbihiPT57dmFyIGM9dGhpcy5yaD1iLm9PLmJpbmQoYiksZD10aGlzLnRpbGVTaXplfHxuZXcgXy5nbygyNTYsMjU2KTt0aGlzLnFoLmZvckVhY2goZT0+e3ZhciBmPWUuX19nbWltdCxnPWYucmosaD1mLnpvb20saz10aGlzLnNoKGcsaCk7KGYuRGo9Yyh7a2k6Zy54LGxpOmcueSx1aTpofSxkLGUsaywoKT0+Xy53bihlLCJsb2FkIikpKS5zZXRPcGFjaXR5KHlxKHRoaXMpKX0pfSl9Owp5cT1mdW5jdGlvbihhKXthPWEuZ2V0KCJvcGFjaXR5Iik7cmV0dXJuIHR5cGVvZiBhPT0ibnVtYmVyIj9hOjF9O18uQXE9ZnVuY3Rpb24oKXt9O18uQnE9ZnVuY3Rpb24oYSxiKXt0aGlzLnNldCgic3R5bGVzIixhKTthPWJ8fHt9O3RoaXMucmg9YS5iYXNlTWFwVHlwZUlkfHwicm9hZG1hcCI7dGhpcy5taW5ab29tPWEubWluWm9vbTt0aGlzLm1heFpvb209YS5tYXhab29tfHwyMDt0aGlzLm5hbWU9YS5uYW1lO3RoaXMuYWx0PWEuYWx0O3RoaXMucHJvamVjdGlvbj1udWxsO3RoaXMudGlsZVNpemU9bmV3IF8uZ28oMjU2LDI1Nil9O0NxPWZ1bmN0aW9uKGEsYil7dGhpcy5zZXRWYWx1ZXMoYil9OwpwZmE9ZnVuY3Rpb24oKXt2YXIgYT1PYmplY3QuYXNzaWduKHtEaXJlY3Rpb25zVHJhdmVsTW9kZTpfLkRxLERpcmVjdGlvbnNVbml0U3lzdGVtOl8uRXEsRnVzaW9uVGFibGVzTGF5ZXI6ZGZhLE1hcmtlckltYWdlOmVmYSxOYXZpZ2F0aW9uQ29udHJvbFN0eWxlOmZmYSxTYXZlV2lkZ2V0OkNxLFNjYWxlQ29udHJvbFN0eWxlOmdmYSxab29tQ29udHJvbFN0eWxlOmhmYX0saWZhLGpmYSxrZmEsbGZhLG1mYSxuZmEsb2ZhKTtfLmJtKFluLHtGZWF0dXJlOl8uRnEsR2VvbWV0cnk6Wm0sR2VvbWV0cnlDb2xsZWN0aW9uOl8uSW4sTGluZVN0cmluZzpfLkRuLExpbmVhclJpbmc6Xy5KbixNdWx0aUxpbmVTdHJpbmc6Xy5HbixNdWx0aVBvaW50Ol8uRm4sTXVsdGlQb2x5Z29uOl8uSG4sUG9pbnQ6Xy4kbSxQb2x5Z29uOl8uRW59KTtfLnNtKGEpO3JldHVybiBhfTsKc2ZhPWFzeW5jIGZ1bmN0aW9uKGEsYj0hMSxjPSExKXt2YXIgZD17Y29yZTppZmEsbWFwczpqZmEsZ2VvY29kaW5nOm1mYSxzdHJlZXRWaWV3Om5mYX1bYV07aWYoZClmb3IobGV0IFtlLGZdb2YgT2JqZWN0LmVudHJpZXMoZCkpZj09PXZvaWQgMCYmZGVsZXRlIGRbZV07aWYoZCliJiZfLk0oXy5VYSwxNTg1MzApO2Vsc2V7YiYmXy5NKF8uVWEsMTU3NTg0KTtpZighcWZhLmhhcyhhKSYmIXJmYS5oYXMoYSkpe2I9YFRoZSBsaWJyYXJ5ICR7YX0gaXMgdW5rbm93bi4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9saWJyYXJpZXNgO2lmKGMpdGhyb3cgRXJyb3IoYik7Y29uc29sZS5lcnJvcihiKX1kPWF3YWl0IF8uSGwoYSl9c3dpdGNoKGEpe2Nhc2UgImFkZHJlc3NWYWxpZGF0aW9uIjpkLmNvbm5lY3RGb3JFeHBsaWNpdFRoaXJkUGFydHlMb2FkKCk7YnJlYWs7Y2FzZSAibWFwcyI6Xy5IbCgibWFwIik7CmJyZWFrO2Nhc2UgImVsZXZhdGlvbiI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgImFpclF1YWxpdHkiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKTticmVhaztjYXNlICJnZW9jb2RpbmciOl8uSGwoImdlb2NvZGVyIik7YnJlYWs7Y2FzZSAic3RyZWV0VmlldyI6Xy5IbCgic3RyZWV0dmlldyIpO2JyZWFrO2Nhc2UgIm1hcHMzZCI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgIm1hcmtlciI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgInBsYWNlcyI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgInJvdXRlcyI6ZC5jb25uZWN0Rm9yRXhwbGljaXRUaGlyZFBhcnR5TG9hZCgpO2JyZWFrO2Nhc2UgIndlYXRoZXIiOmQuY29ubmVjdEZvckV4cGxpY2l0VGhpcmRQYXJ0eUxvYWQoKX1yZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Li4uZH0pfTsKXy51ZmE9YXN5bmMgZnVuY3Rpb24oYSl7YXdhaXQgbmV3IFByb21pc2UoYj0+e3ZhciBjPW5ldyBSZXNpemVPYnNlcnZlcihkPT57YS5pc1Zpc2libGUoZFswXSk/KGMuZGlzY29ubmVjdCgpLGIoKSk6YS5xaC5yZXNvbHZlKCExKX0pO2Mub2JzZXJ2ZShhLmhvc3QpfSk7YXdhaXQgbmV3IFByb21pc2UoYj0+e3ZhciBjPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihkPT57aWYoZD1kLnNvbWUoZT0+ZS5pc0ludGVyc2VjdGluZykpYy5kaXNjb25uZWN0KCksYigpO2EucWgucmVzb2x2ZShkKX0se3Jvb3Q6ZG9jdW1lbnQscm9vdE1hcmdpbjpgJHt0ZmEoKX1weGB9KTtjLm9ic2VydmUoYS5ob3N0KX0pfTsKdGZhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE1hcChbWyI0ZyIsMjUwMF0sWyIzZyIsMzUwMF0sWyIyZyIsNkUzXSxbInNsb3ctMmciLDhFM10sWyJ1bmtub3duIiw0RTNdXSksYj13aW5kb3cubmF2aWdhdG9yPy5jb25uZWN0aW9uPy5lZmZlY3RpdmVUeXBlO3JldHVybihiJiZhLmdldChiKSk/P2EuZ2V0KCJ1bmtub3duIil9O3ZmYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPSsrYS5xaCxkPWIuWkksZT1iLm9uRXJyb3I7Yj1iLk9PO3ZhciBmPWc9PntpZihhLnFoIT09Yyl0aHJvdyBuZXcgR3E7cmV0dXJuIGd9O3RyeXt0cnl7Zihhd2FpdCAwKSxmKGF3YWl0IGQoZikpfWNhdGNoKGcpe2lmKGcgaW5zdGFuY2VvZiBHcXx8IWUpdGhyb3cgZztmKGF3YWl0IGUoZyxmKSl9fWNhdGNoKGcpe2lmKCEoZyBpbnN0YW5jZW9mIEdxKSl0aHJvdyBnO2I/LigpfX07Xy5IcT1mdW5jdGlvbihhKXt2ZmEoYS5iSCx7Wkk6YXN5bmMgYj0+e2EudGs9MDtiKGF3YWl0IGEuQ3ApfX0pfTsKXy5JcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIHZmYShhLmJILHtaSTphc3luYyBlPT57YS50az0xO2EuWkR8fGUoYXdhaXQgXy51ZmEoYS56USkpO2MmJihkPV8uTmwoYykpO2UoYXdhaXQgYihlKSk7YS50az0yO2UoYXdhaXQgYS5DcCk7YS5kaXNwYXRjaEV2ZW50KG5ldyBfLndmYSk7Xy5PbChkLDApfSxvbkVycm9yOmFzeW5jKGUsZik9PnthLnRrPTM7Xy5PbChkLDEzKTtmKGF3YWl0IGEuQ3ApO18uR2RhKGEsZSl9LE9POigpPT57Xy5QbChkKX19KX07Xy5LcT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uUW8/YTpuZXcgXy5RbygoMCxfLkpxKShhKSl9O3hmYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEueCxkPWEueTtzd2l0Y2goYil7Y2FzZSA5MDphLng9ZDthLnk9MjU2LWM7YnJlYWs7Y2FzZSAxODA6YS54PTI1Ni1jO2EueT0yNTYtZDticmVhaztjYXNlIDI3MDphLng9MjU2LWQsYS55PWN9fTsKXy5NcT1mdW5jdGlvbihhKXtyZXR1cm4hYXx8YSBpbnN0YW5jZW9mIF8uTHE/eWZhOmF9O18uTnE9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBfLk1xKGIpLmZyb21Qb2ludFRvTGF0TG5nKG5ldyBfLmJvKGEucWgsYS5yaCksYyl9O0NmYT1mdW5jdGlvbihhKXt2YXIgYj16ZmEsYz1BZmEsZD1CZmE7R2wuZ2V0SW5zdGFuY2UoKS5pbml0KGEsYixjLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGQpfTsKR2ZhPWZ1bmN0aW9uKCl7dmFyIGE9RGZhfHwoRGZhPUVmYSgnW1tbImFkZHJlc3NWYWxpZGF0aW9uIixbIm1haW4iXV0sWyJhaXJRdWFsaXR5IixbIm1haW4iXV0sWyJhZHNlbnNlIixbIm1haW4iXV0sWyJjb21tb24iLFsibWFpbiJdXSxbImNvbnRyb2xzIixbInV0aWwiXV0sWyJkYXRhIixbInV0aWwiXV0sWyJkaXJlY3Rpb25zIixbInV0aWwiLCJnZW9tZXRyeSJdXSxbImRpc3RhbmNlX21hdHJpeCIsWyJ1dGlsIl1dLFsiZHJhd2luZyIsWyJtYWluIl1dLFsiZHJhd2luZ19pbXBsIixbImNvbnRyb2xzIl1dLFsiZWxldmF0aW9uIixbInV0aWwiLCJnZW9tZXRyeSJdXSxbImdlb2NvZGVyIixbInV0aWwiXV0sWyJnZW9tZXRyeSIsWyJtYWluIl1dLFsiaW1hZ2VyeV92aWV3ZXIiLFsibWFpbiJdXSxbImluZm93aW5kb3ciLFsidXRpbCJdXSxbImpvdXJuZXlTaGFyaW5nIixbIm1haW4iXV0sWyJrbWwiLFsib25pb24iLCJ1dGlsIiwibWFwIl1dLFsibGF5ZXJzIixbIm1hcCJdXSxbImxvZyIsWyJ1dGlsIl1dLFsibWFpbiJdLFsibWFwIixbImNvbW1vbiJdXSxbIm1hcDNkX2xpdGVfd2FzbSIsWyJtYWluIl1dLFsibWFwM2Rfd2FzbSIsWyJtYWluIl1dLFsibWFwM2Rfd2FzbV9nZW94cCIsWyJtYWluIl1dLFsibWFwczNkIixbInV0aWwiXV0sWyJtYXJrZXIiLFsidXRpbCJdXSxbIm1heHpvb20iLFsidXRpbCJdXSxbIm9uaW9uIixbInV0aWwiLCJtYXAiXV0sWyJvdmVybGF5IixbImNvbW1vbiJdXSxbInBhbm9yYW1pbyIsWyJtYWluIl1dLFsicGxhY2VzIixbInBsYWNlc19pbXBsIl1dLFsicGxhY2VzX2ltcGwiLFsiY29udHJvbHMiXV0sWyJwb2x5IixbInV0aWwiLCJtYXAiLCJnZW9tZXRyeSJdXSxbInJvdXRlcyIsWyJtYWluIl1dLFsic2VhcmNoIixbIm1haW4iXV0sWyJzZWFyY2hfaW1wbCIsWyJvbmlvbiJdXSxbInN0cmVldHZpZXciLFsidXRpbCIsImdlb21ldHJ5Il1dLFsic3R5bGVFZGl0b3IiLFsiY29tbW9uIl1dLFsidXRpbCIsWyJjb21tb24iXV0sWyJ2aXN1YWxpemF0aW9uIixbIm1haW4iXV0sWyJ2aXN1YWxpemF0aW9uX2ltcGwiLFsib25pb24iXV0sWyJ3ZWF0aGVyIixbIm1haW4iXV0sWyJ3ZWJnbCIsWyJ1dGlsIiwibWFwIl1dXV0nKSk7cmV0dXJuIF8uQ2coYSwKRmZhLDEpfTtfLk9xPWZ1bmN0aW9uKGEpe3ZhciBiPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7aWYoIWIubGVuZ3RoKXJldHVybiAyO2I9Yi5maW5kKGQ9PmQubmFtZS5pbmNsdWRlcyhhKSk7aWYoIWIpcmV0dXJuIDI7aWYoYi5kZWxpdmVyeVR5cGU9PT0iY2FjaGUiKXJldHVybiAxO3ZhciBjPWIuZGVjb2RlZEJvZHlTaXplO3JldHVybiBiLnRyYW5zZmVyU2l6ZT09PTAmJmM+MD8xOmIuZHVyYXRpb248MzA/MTowfTtCZmE9ZnVuY3Rpb24oYSl7dmFyIGI9UHEuZ2V0KGEpO2lmKGIpe3ZhciBjPV8uSmw7YyYmKGM9Xy5ybChfLnNsKGMpKSxjPWMuZW5kc1dpdGgoIi8iKT9jOmAke2N9L2AsYz1gJHtjfSR7YX0uanNgLGE9Xy5PcShjKSxhIT09MiYmKGM9Xy5ObChiLmlqLHtKdzpjfSksXy5PbChjLDApKSxhPT09MT9fLk0oXy5VYSxiLmZqKTphPT09MCYmXy5NKF8uVWEsYi5naikpfX07CklmYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9WzAsMF07Zm9yKGxldCBmPTAsZz1fLiRsKGEpO2Y8ZzsrK2Ype3ZhciBlPWI/YihhW2ZdKTpbYVtmXS5sYXQoKSxhW2ZdLmxuZygpXTtIZmEoZVswXS1kWzBdLGMpO0hmYShlWzFdLWRbMV0sYyk7ZD1lfXJldHVybiBjLmpvaW4oIiIpfTtIZmE9ZnVuY3Rpb24oYSxiKXtmb3IoYT1hPDA/fihhPDwxKTphPDwxO2E+PTMyOyliLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgoMzJ8YSYzMSkrNjMpKSxhPj49NTtiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKzYzKSl9OwpfLkpmYT1mdW5jdGlvbihhKXt2YXIgYj1fLiRsKGEpLGM9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8yKSksZD0wLGU9MCxmPTAsZztmb3IoZz0wO2Q8YjsrK2cpe2xldCBoPTEsaz0wLG07ZG8gbT1hLmNoYXJDb2RlQXQoZCsrKS02My0xLGgrPW08PGssays9NTt3aGlsZShtPj0zMSk7ZSs9aCYxP34oaD4+MSk6aD4+MTtoPTE7az0wO2RvIG09YS5jaGFyQ29kZUF0KGQrKyktNjMtMSxoKz1tPDxrLGsrPTU7d2hpbGUobT49MzEpO2YrPWgmMT9+KGg+PjEpOmg+PjE7Y1tnXT1uZXcgXy5UbShlKjFFLTUsZioxRS01LCEwKX1jLmxlbmd0aD1nO3JldHVybiBjfTtfLlFxPWZ1bmN0aW9uKGE9IiIpe3JldHVybiBhKyIgKG9wZW5zIGluIG5ldyB0YWIpIn07Cl8uUnE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5zdHlsZS5iYWNrZ3JvdW5kPSJub25lIjtiLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtiLnN0eWxlLnBhZGRpbmc9Yi5zdHlsZS5tYXJnaW49Yi5zdHlsZS5ib3JkZXI9IjAiO2Iuc3R5bGUudGV4dFRyYW5zZm9ybT0ibm9uZSI7Yi5zdHlsZS53ZWJraXRBcHBlYXJhbmNlPSJub25lIjtiLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSI7Yi5zdHlsZS5jdXJzb3I9InBvaW50ZXIiO18uVHAoYik7Yi5zdHlsZS5vdXRsaW5lPSIiO2Iuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixhKTtiLnRpdGxlPWE7Yi50eXBlPSJidXR0b24iO25ldyBfLkZwKGIsImNvbnRleHRtZW51IixjPT57Xy5nbihjKTtfLmhuKGMpfSk7Xy5JcChiKTtyZXR1cm4gYn07Xy5UcT1mdW5jdGlvbihhLC4uLmIpe2EuY2xhc3NMaXN0LmFkZCguLi5iLm1hcChfLlNxKSl9OwpfLlNxPWZ1bmN0aW9uKGEpe3JldHVybiBLZmEuaGFzKGEpP2E6YCR7Xy5EY2EoYSl9LSR7YX1gfTtMZmE9ZnVuY3Rpb24oYSl7YS5yaC5wcmVwZW5kKGEucWgpO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnthLnFoLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9KX07TWZhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgyIiksYz17WnM6bmV3IF8uYm8oMCwwKSxJdTpuZXcgXy5nbygyNCwyNCksbGFiZWw6IkNsb3NlIGRpYWxvZyIsb3duZXJFbGVtZW50OmF9O2M9bmV3IF8uVXEoYyk7Yi50ZXh0Q29udGVudD1hLm9wdGlvbnMudGl0bGU7Yi50cmFuc2xhdGU9YS5vcHRpb25zLmZLPz8hMDtjLmVsZW1lbnQuc3R5bGUucG9zaXRpb249InN0YXRpYyI7Yy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dm9pZCBhLmJqLmNsb3NlKCkpO2EucmguYXBwZW5kQ2hpbGQoYik7YS5yaC5hcHBlbmRDaGlsZChjLmVsZW1lbnQpO3JldHVybiBhLnJofTsKXy5WcT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz10eXBlb2YgYj09PSJmdW5jdGlvbiI7aWYoYSE9PXZvaWQgMCl7bGV0IGQ9LTE7Zm9yKGxldCBlIG9mIGEpZD4tMSYmKHlpZWxkIGM/YihkKTpiKSxkKysseWllbGQgZX19KCl9O05mYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5saW5rcy5sZW5ndGg9PT0wP251bGw6KDAsXy5XcSlgCiAgICAgICR7Xy5WcShhLmxpbmtzLm1hcCgoe3RleHQ6YixocmVmOmN9KT0+KDAsXy5XcSlgPGRpdiBjbGFzcz0ibGluay1pdGVtIj4KICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgLmhyZWY9JHtjfQogICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7Xy5RcShiKX0KICAgICAgICAgICAgICAgID4ke2J9PGRpdiBjbGFzcz0iaWNvbi1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAke18uWHEoe2NsYXNzTmFtZToiIixhcmlhTGFiZWw6IiJ9KX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+YCksIiIpfQogICAgYH07T2ZhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kKGEucmgpO2I9bmV3IF8uWXEoe3RpdGxlOiJHb29nbGUgTWFwcyIsZks6ITEsY29udGVudDpifSk7Yi5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PnthLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJnbXAtaW50ZXJuYWwtY2xvc2UiKSl9KTtyZXR1cm4gYn07WnE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iIzAwMCJ8fGE9PT0iIzVlNWU1ZSI/IiNmZmYiOiIjNDc0NzQ3In07ClFmYT1mdW5jdGlvbihhLGIpe2lmKCFhLnNob3dJbmZvQnV0dG9uKXJldHVybigwLF8uV3EpYGA7dmFyIGM9YS5sb2dvQ29sb3JPcHRpb25zLkp5fHwiIzVlNWU1ZSIsZD1hLmxvZ29Db2xvck9wdGlvbnMuS3h8fCIjZmZmIixlPVpxKGMpLGY9WnEoZCk7Yz1hLmF0dHJpYnV0aW9uVHlwZT09PSJMT0dPX09VVExJTkUiP1BmYSh7ZmlsbDpgbGlnaHQtZGFyaygke2N9LCAke2R9KWAsb3V0bGluZTpgbGlnaHQtZGFyaygke2V9LCAke2Z9KWB9KTpfLiRxKHtmaWxsOmBsaWdodC1kYXJrKCR7Y30sICR7ZH0pYH0pO3JldHVybigwLF8uV3EpYCA8YnV0dG9uCiAgICAgIGNsYXNzPSR7KDAsXy5hcikoeyJpbmZvLWJ1dHRvbiI6ITAsInRhcC1hcmVhLWV4cGFuZGVkIjphLmluZm9CdXR0b25UYXBBcmVhRXhwYW5kZWR9KX0KICAgICAgdHlwZT0iYnV0dG9uIgogICAgICBhcmlhLWhhc3BvcHVwPSJkaWFsb2ciCiAgICAgIHRpdGxlPSR7YS5tb3JlSW5mb0J1dHRvblRpdGxlfQogICAgICBhcmlhLWxhYmVsPSR7YS5tb3JlSW5mb0J1dHRvblRpdGxlfQogICAgICBAY2xpY2s9JHtnPT57Zy5zdG9wUHJvcGFnYXRpb24oKTtiLmJqLnNob3dNb2RhbCgpfX0+CiAgICAgIDxkaXYgY2xhc3M9InRhcC1hcmVhIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW5mby1pY29uLWNvbnRhaW5lciI+JHtjfTwvZGl2PgogICAgPC9idXR0b24+YH07VWZhPWZ1bmN0aW9uKGEsYixjLGQ9W10sZT1bXSl7dmFyIGY9bmV3IFJmYTthPV8uaWgoZiw1LGEpO2I/Xy5raChhLDEsOSk6Xy5raChhLDEsMik7Yj1uZXcgXy5icjtjPV8uZWooYixjLmdldFRpbWUoKSk7Yj1fLndnKGEsU2ZhLDExKTtfLkVnKGIsXy5iciwyLGMpO18ubmcoYSwxMyxkLF8uUWUpO2UubGVuZ3RoPjAmJl8ubmcoYSw2LGUsXy5iZik7cmV0dXJuIG1kKFRmYShhKSl9OwpWZmE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IFtlLGZdb2YgT2JqZWN0LmVudHJpZXMoYS5oZWFkZXJzKSlhPWYsYSE9PSIiJiYoYi5tZXRhZGF0YVtlXT1hKTthPWIuZ2V0TWV0YWRhdGEoKTt2YXIgYz1hWyJYLUdvb2ctTWFwcy0tVG1wLUludGVybmFsLVVzYWdlLUF0dHJpYnV0aW9uLUlkcyJdLGQ9W107YyYmKGQ9Yy5zcGxpdCgiLCIpKTtkZWxldGUgYVsiWC1Hb29nLU1hcHMtLVRtcC1JbnRlcm5hbC1Vc2FnZS1BdHRyaWJ1dGlvbi1JZHMiXTtjPVVmYShfLkpsPy5DaCgpPy5yaCgpfHwiIiwhIV8uTHBbMzVdLG5ldyBEYXRlLF8uSmw/LnpoKCl8fFtdLGQpO2IubWV0YWRhdGFbIlgtR29vZy1HbXAtQ2xpZW50LVNpZ25hbHMiXT1jO2EuQXV0aG9yaXphdGlvbiYmKGIubWV0YWRhdGFbIlgtR29vZy1BcGktS2V5Il09IiIpfTsKWGZhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWF3YWl0IF8uV2ZhKCk7Zm9yKGxldCBbYyxkXW9mIE9iamVjdC5lbnRyaWVzKGIpKWI9ZCxiIT09IiImJihhLm1ldGFkYXRhW2NdPWIpfTtfLldmYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LFtiLGNdPWF3YWl0IFByb21pc2UuYWxsKFtZZmEoKSx4Y2EoKV0pO2ImJihhWyJYLUZpcmViYXNlLUFwcENoZWNrIl09Yik7YVsiWC1Hb29nLU1hcHMtU2Vzc2lvbi1JZCJdPWMudG9TdHJpbmcoKTtyZXR1cm4gYX07WWZhPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWF3YWl0IEtjYSgpLmZldGNoQXBwQ2hlY2tUb2tlbigpO2E9Xy5DbSh7dG9rZW46Xy5jcn0pKGEpfWNhdGNoKGIpe3JldHVybiBjb25zb2xlLmVycm9yKGIpLGF3YWl0IF8uTSh3aW5kb3csMjI4NDUxKSwiZXlKbGNuSnZjaUk2SWxWT1MwNVBWMDVmUlZKU1QxSWlmUT09In1yZXR1cm4gYT8udG9rZW4/KGF3YWl0IF8uTSh3aW5kb3csMjI4NDUzKSxhLnRva2VuKToiIn07Cl8uWmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKigpe2lmKGEhPT12b2lkIDApe2xldCBjPTA7Zm9yKGxldCBkIG9mIGEpeWllbGQgYihkLGMrKyl9fSgpfTsKaWdhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVWEuZ29vZ2xlLm1hcHMsYz0hIWIuX19pYl9fLGQ9JGZhKCksZT1hZ2EoYiksZj1fLkpsPV8uaWkoYmdhLCgwLF8uY2dhKShhfHxbXSkpO0tsPU1hdGgucmFuZG9tKCk7ZCYmKF8uTWw9ITApO18uTSh3aW5kb3csMjE4ODM4KTtmLnpoKCkubGVuZ3RoPjAmJmNvbnNvbGUubG9nKCJSdW5uaW5nIHdpdGggZXhwZXJpbWVudCBJRHM6IixmLnpoKCkubWFwKE51bWJlcikpO18uSChmLDQ4KT09PSJhc3luYyJ8fGM/KGF3YWl0IG5ldyBQcm9taXNlKHA9PnNldFRpbWVvdXQocCkpLF8uTShfLlVhLDIyMTE5MSkpOmNvbnNvbGUud2FybigiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgaGFzIGJlZW4gbG9hZGVkIGRpcmVjdGx5IHdpdGhvdXQgbG9hZGluZz1hc3luYy4gVGhpcyBjYW4gcmVzdWx0IGluIHN1Ym9wdGltYWwgcGVyZm9ybWFuY2UuIEZvciBiZXN0LXByYWN0aWNlIGxvYWRpbmcgcGF0dGVybnMgcGxlYXNlIHNlZSBodHRwczovL2dvby5nbGUvanMtYXBpLWxvYWRpbmciKTtfLkgoZiwKNDgpJiZfLkgoZiw0OCkhPT0iYXN5bmMiJiZjb25zb2xlLndhcm4oYEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGhhcyBiZWVuIGxvYWRlZCB3aXRoIGxvYWRpbmc9JHtfLkgoZiw0OCl9LiAiJHtfLkgoZiw0OCl9IiBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgbG9hZGluZyBpbiB0aGlzIHZlcnNpb24gb2YgdGhlIEFQSS5gKTt2YXIgZztfLldnKGYsMTMpPT09MCYmKGc9Xy5ObCgxNTMxNTcse0p3OiJtYXBzL2FwaS9qcz8ifSkpO3ZhciBoPV8uTmwoMjE4ODI0LHtKdzoibWFwcy9hcGkvanM/In0pO3N3aXRjaChfLk9xKCJtYXBzL2FwaS9qcz8iKSl7Y2FzZSAxOl8uTShfLlVhLDIzMzE3Nik7YnJlYWs7Y2FzZSAwOl8uTShfLlVhLDIzMzE3OCl9Xy5kcj1QZWEoaGNhKF8uRyhmLGRnYSw1KSksZi50aCgpLGYueGgoKSxmLnloKCkpO18uZWdhPVJlYShoY2EoXy5HKGYsZGdhLDUpKSk7Xy5lcj1TZWEoKTtmZ2EoZixwPT57cC5ibG9ja2VkVVJJJiZwLmJsb2NrZWRVUkkuaW5jbHVkZXMoIi9tYXBzL2FwaS9tYXBzanMvZ2VuXzIwND9jc3BfdGVzdD10cnVlIikmJgpfLk0oXy5VYSwxNDk1OTYpfSk7Zm9yKGE9MDthPF8uamcoZiw5LF8uRWUsMywhMCkubGVuZ3RoOysrYSlfLkxwW18uWGcoZiw5LGEpXT0hMDthPV8uc2woZik7Q2ZhKF8ucmwoYSkpO2Q9cGZhKCk7Xy5hbShkLChwLHEpPT57YltwXT1xfSk7Yi52ZXJzaW9uPWEucmgoKTtnZ2F8fChnZ2E9ITAsXy54bygiZ21wLW1hcCIsZnIpKTtfLkxsKCkmJnZkYSgpO3NldFRpbWVvdXQoKCk9PntfLkhsKCJ1dGlsIikudGhlbihwPT57Xy5KZyhmLDQzKXx8cC5NSi5xaCgpO3AuV0woKTtlJiZfLk0od2luZG93LDE1NTg0Nik7c3dpdGNoKF8uVWEubmF2aWdhdG9yLmNvbm5lY3Rpb24/LmVmZmVjdGl2ZVR5cGUpe2Nhc2UgInNsb3ctMmciOl8uTShfLlVhLDE2NjQ3Myk7YnJlYWs7Y2FzZSAiMmciOl8uTShfLlVhLDE2NjQ3NCk7YnJlYWs7Y2FzZSAiM2ciOl8uTShfLlVhLDE2NjQ3NSk7YnJlYWs7Y2FzZSAiNGciOl8uTShfLlVhLDE2NjQ3Nil9fSl9LDVFMyk7TXAoXy5OcCk/Y29uc29sZS5lcnJvcigiVGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBicm93c2VyLiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vbWFwcy9kb2N1bWVudGF0aW9uL2phdmFzY3JpcHQvZXJyb3ItbWVzc2FnZXMjdW5zdXBwb3J0ZWQtYnJvd3NlcnMiKToKXy5qZWEoKSYmY29uc29sZS5lcnJvcigiVGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGhhcyBkZXByZWNhdGVkIHN1cHBvcnQgZm9yIHRoaXMgYnJvd3Nlci4gU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L2Vycm9yLW1lc3NhZ2VzI3Vuc3VwcG9ydGVkLWJyb3dzZXJzIik7YyYmXy5NKF8uVWEsMTU3NTg1KTtiLmltcG9ydExpYnJhcnk9cD0+c2ZhKHAsITAsITApO18uTHBbMzVdJiYoYi5sb2dnZXI9e2JlZ2luQXZhaWxhYmlsaXR5RXZlbnQ6Xy5ObCxjYW5jZWxBdmFpbGFiaWxpdHlFdmVudDpfLlBsLGVuZEF2YWlsYWJpbGl0eUV2ZW50Ol8uT2wsbWF5YmVSZXBvcnRGZWF0dXJlT25jZTpfLk19LGIuZW1iZWRGZWF0dXJlcz17aXNWZXJ0aWNhbFBsYWNlQ2FyZExheW91dEVuYWJsZWQ6KCk9PiEhXy5KbD8uQmgoKSxpc0V4cGVyaW1lbnRhdGlvbkxvZ2dpbmdFbmFibGVkOigpPT4oXy5KbD8uemgoKT8ubGVuZ3RoPz8KMCk+MH0pO2E9W107aWYoIWMpZm9yKGM9Xy5XZyhmLDEzKSxkPTA7ZDxjO2QrKylhLnB1c2goc2ZhKF8uVmcoZiwxMyxkKSkpO3ZhciBrPV8uSChmLDEyKTtrP1Byb21pc2UuYWxsKGEpLnRoZW4oKCk9PntnJiZfLk9sKGcsMCk7Xy5PbChoLDApO2hnYShrKSgpfSk6KGcmJl8uT2woZywwKSxfLk9sKGgsMCkpO3ZhciBtPSgpPT57ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIixtKSxzZXRUaW1lb3V0KCgpPT57Wy4uLihuZXcgU2V0KFsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIqIildLm1hcChwPT5wLmxvY2FsTmFtZSkpKV0uc29tZShwPT5wLmluY2x1ZGVzKCItIikmJiFwLm1hdGNoKC9eZ21weD8tLykpJiZfLk0oXy5VYSwxNzkxMTcpfSwxRTMpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsbSk7bSgpfTsKaGdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuc3BsaXQoIi4iKSxjPV8uVWEsZD1fLlVhO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGQ9YyxjPWNbYltlXV0sIWMpdGhyb3cgXy5BbShhKyIgaXMgbm90IGEgZnVuY3Rpb24iKTtyZXR1cm4gZnVuY3Rpb24oKXtjLmFwcGx5KGQpfX07CiRmYT1mdW5jdGlvbigpe3ZhciBhPSExLGI9ZD0+e3NldFRpbWVvdXQoKCk9PntfLk0oXy5VYSxkKX0sMCl9O2Zvcih2YXIgYyBpbiBPYmplY3QucHJvdG90eXBlKV8uVWEuY29uc29sZSYmXy5VYS5jb25zb2xlLmVycm9yKCJUaGlzIHNpdGUgYWRkcyBwcm9wZXJ0eSBgIitjKyJgIHRvIE9iamVjdC5wcm90b3R5cGUuIEV4dGVuZGluZyBPYmplY3QucHJvdG90eXBlIGJyZWFrcyBKYXZhU2NyaXB0IGZvci4uaW4gbG9vcHMsIHdoaWNoIGFyZSB1c2VkIGhlYXZpbHkgaW4gR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgdjMuIiksYT0hMCxiKDE0OTU5NCk7QXJyYXkuZnJvbShuZXcgU2V0KFs0Ml0pKVswXSE9PTQyJiYoXy5VYS5jb25zb2xlJiZfLlVhLmNvbnNvbGUuZXJyb3IoIlRoaXMgc2l0ZSBvdmVycmlkZXMgQXJyYXkuZnJvbSgpIHdpdGggYW4gaW1wbGVtZW50YXRpb24gdGhhdCBkb2Vzbid0IHN1cHBvcnQgaXRlcmFibGVzLCB3aGljaCBjb3VsZCBjYXVzZSBHb29nbGUgTWFwcyBKYXZhU2NyaXB0IEFQSSB2MyB0byBub3Qgd29yayBjb3JyZWN0bHkuIiksCmE9ITAsYigxNDk1OTApKTtfLlVhLlByb3RvdHlwZSYmKGIoMTQ5NTk1KSxhPSEwKTtfLlVhLk1vb1Rvb2xzJiYoYigxNDk1OTMpLGE9ITApO1sxLDJdLnZhbHVlcygpW1N5bWJvbC5pdGVyYXRvcl18fChiKDE0OTU5MSksYT0hMCk7dHlwZW9mIERhdGUubm93KCkhPT0ibnVtYmVyIiYmKF8uVWEuY29uc29sZSYmXy5VYS5jb25zb2xlLmVycm9yKCJUaGlzIHNpdGUgb3ZlcnJpZGVzIERhdGUubm93KCkgd2l0aCBhbiBpbXBsZW1lbnRhdGlvbiB0aGF0IGRvZXNuJ3QgcmV0dXJuIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIEphbnVhcnkgMSwgMTk3MCAwMDowMDowMCBVVEMsIHdoaWNoIGNvdWxkIGNhdXNlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIHYzIHRvIG5vdCB3b3JrIGNvcnJlY3RseS4iKSxhPSEwLGIoMTQ5NTkyKSk7dHJ5e2M9Y2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudHt9LF8ueG8oImdtcC1pbnRlcm5hbC1lbGVtZW50LXN1cHBvcnQtdmVyaWZpY2F0aW9uIiwKYyksbmV3IGN9Y2F0Y2goZCl7Xy5VYS5jb25zb2xlJiZfLlVhLmNvbnNvbGUuZXJyb3IoIlRoaXMgc2l0ZSBjYW5ub3QgaW5zdGFudGlhdGUgY3VzdG9tIEhUTUxFbGVtZW50IHN1YmNsYXNzZXMsIHdoaWNoIGNvdWxkIGNhdXNlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIHYzIHRvIG5vdCB3b3JrIGNvcnJlY3RseS4iKSxhPSEwLGIoMjE5OTk1KX1yZXR1cm4gYX07YWdhPWZ1bmN0aW9uKGEpeyhhPSJ2ZXJzaW9uImluIGEpJiZfLlVhLmNvbnNvbGUmJl8uVWEuY29uc29sZS5lcnJvcigiWW91IGhhdmUgaW5jbHVkZWQgdGhlIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIG11bHRpcGxlIHRpbWVzIG9uIHRoaXMgcGFnZS4gVGhpcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBlcnJvcnMuIik7cmV0dXJuIGF9OwpmZ2E9ZnVuY3Rpb24oYSxiKXtpZihhLnJoKCkmJl8ubWwoYS5yaCgpKSl0cnl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGIpLGpnYS5zZW5kKF8ubWwoYS5yaCgpKSsiL21hcHMvYXBpL21hcHNqcy9nZW5fMjA0P2NzcF90ZXN0PXRydWUiKX1jYXRjaChjKXt9fTtfLmtyPWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2gobWJhKGMuY29kZSkudG9TdHJpbmcoKVswXSl7Y2FzZSAiMiI6cmV0dXJuIG51bGw7Y2FzZSAiMyI6cmV0dXJuIG5ldyBncihhLGIsaHIoYykpO2Nhc2UgIjQiOnJldHVybiBuZXcgXy5pcihhLGIsaHIoYykpO2Nhc2UgIjUiOnJldHVybiBuZXcgXy5qcihhLGIsaHIoYykpO2RlZmF1bHQ6cmV0dXJuIG5ldyBfLmpyKGEsYixocihjKSl9fTsKaHI9ZnVuY3Rpb24oYSl7c3dpdGNoKGEuY29kZSl7Y2FzZSAwOnJldHVybiJPSyI7Y2FzZSAxOnJldHVybiJDQU5DRUxMRUQiO2Nhc2UgMjpyZXR1cm4iVU5LTk9XTiI7Y2FzZSAzOnJldHVybiJJTlZBTElEX0FSR1VNRU5UIjtjYXNlIDQ6cmV0dXJuIkRFQURMSU5FX0VYQ0VFREVEIjtjYXNlIDU6cmV0dXJuIk5PVF9GT1VORCI7Y2FzZSA2OnJldHVybiJBTFJFQURZX0VYSVNUUyI7Y2FzZSA3OnJldHVybiJQRVJNSVNTSU9OX0RFTklFRCI7Y2FzZSAxNjpyZXR1cm4iVU5BVVRIRU5USUNBVEVEIjtjYXNlIDg6cmV0dXJuIlJFU09VUkNFX0VYSEFVU1RFRCI7Y2FzZSA5OnJldHVybiJGQUlMRURfUFJFQ09ORElUSU9OIjtjYXNlIDEwOnJldHVybiJBQk9SVEVEIjtjYXNlIDExOnJldHVybiJPVVRfT0ZfUkFOR0UiO2Nhc2UgMTI6cmV0dXJuIlVOSU1QTEVNRU5URUQiO2Nhc2UgMTM6cmV0dXJuIklOVEVSTkFMIjtjYXNlIDE0OnJldHVybiJVTkFWQUlMQUJMRSI7Y2FzZSAxNTpyZXR1cm4iREFUQV9MT1NTIjsKZGVmYXVsdDpyZXR1cm4iVU5LTk9XTiJ9fTtfLmtnYT1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uSmw/LnJoKCksZD1iLmxhbmd1YWdlPz9jPy5yaCgpO2QmJmEuc2VhcmNoUGFyYW1zLnNldCgiaGwiLGQpOyhkPWIucmVnaW9uKT9hLnNlYXJjaFBhcmFtcy5zZXQoImdsIixkKTooZD1jPy50aCgpLGM9Yz8ueGgoKSxkJiYhYyYmYS5zZWFyY2hQYXJhbXMuc2V0KCJnbCIsZCkpO2Euc2VhcmNoUGFyYW1zLnNldCgic291cmNlIixiLnNvdXJjZT8/ISFfLkxwWzM1XT8iZW1iZWQiOiJhcGl2MyIpO3JldHVybiBhfTtlYT1bXTt6YT1PYmplY3QuZGVmaW5lUHJvcGVydHk7eGE9Z2xvYmFsVGhpczt5YT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCI7dGE9e307bGE9e307bmE9IkludDggVWludDggVWludDhDbGFtcGVkIEludDE2IFVpbnQxNiBJbnQzMiBVaW50MzIgRmxvYXQzMiBGbG9hdDY0Ii5zcGxpdCgiICIpOwp4YS5CaWdJbnQ2NEFycmF5JiYobmEucHVzaCgiQmlnSW50NjQiKSxuYS5wdXNoKCJCaWdVaW50NjQiKSk7cmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiU3ltYm9sLmRpc3Bvc2UiKX0sImVzX25leHQiKTtyYSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKGIsYyl7aWYoYiBpbnN0YW5jZW9mIFJlZ0V4cCYmIWIuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19LCJlc18yMDIxIik7CnJhKCJBcnJheS5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6QmF9LCJlc19uZXh0Iik7YWFhKCJhdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpCYX0sImVzX25leHQiKTtyYSgiU3RyaW5nLnByb3RvdHlwZS5hdCIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpCYX0sImVzX25leHQiKTtyYSgiU2V0LnByb3RvdHlwZS51bmlvbiIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiKXtKYSh0aGlzKTtEYShiKTt2YXIgYz1uZXcgU2V0KHRoaXMpO2I9SGEoYi5rZXlzKCkpO2Zvcih2YXIgZD1iLm5leHQoKTshZC5kb25lOyljLmFkZChkLnZhbHVlKSxkPWIubmV4dCgpO3JldHVybiBjfX0sImVzX25leHQiKTsKcmEoIlNldC5wcm90b3R5cGUuaXNEaXNqb2ludEZyb20iLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7SmEodGhpcyk7RGEoYik7dmFyIGM9dGhpcy5zaXplPD1iLnNpemU/e05KOnRoaXMua2V5cygpLHZJOmJ9OntOSjpIYShiLmtleXMoKSksdkk6dGhpc307Yj1jLk5KO2M9Yy52STtmb3IodmFyIGQ9Yi5uZXh0KCk7IWQuZG9uZTspe2lmKGMuaGFzKGQudmFsdWUpKXJldHVybiExO2Q9Yi5uZXh0KCl9cmV0dXJuITB9fSwiZXNfbmV4dCIpO3JhKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oKXt2YXIgYixjO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsZSl7Yj1kO2M9ZX0pLHJlc29sdmU6YixyZWplY3Q6Y319fSwiZXNfbmV4dCIpO3ZhciBNayxiYixiYWE7TWs9TWt8fHt9O18uVWE9dGhpc3x8c2VsZjtiYj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtiYWE9MDtfLnFiKF8udGIsRXJyb3IpO18udGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjtfLnFiKHViLF8udGIpO3ViLnByb3RvdHlwZS5uYW1lPSJBc3NlcnRpb25FcnJvciI7dmFyIHloPSEwLHhoLHliO3ZhciBscj1TYSgxLCEwKSxJYj1TYSg2MTA0MDEzMDEsITEpO1NhKDg5OTU4ODQzNywhMSk7U2EoNzcyNjU3NzY4LCEwKTtTYSg1MTM2NTk1MjMsITEpO1NhKDU2ODMzMzk0NSwhMCk7U2EoMTMzMTc2MTQwMywhMCk7U2EoNjUxMTc1ODI4LCExKTtTYSg3MjI3NjQ1NDIsITEpO1NhKDc0ODQwMjE0NSwhMSk7U2EoNzQ4NDAyMTQ2LCExKTt2YXIgRWY9U2EoNzQ4NDAyMTQ3LCEwKTtTYSgxNjAyNjEzMTg1LCExKTtTYSg4NjEzNzc3MjMsITEpO1NhKDg2MTM3NzcyNCxscik7U2EoODY5MzM2OTAzLCExKTtTYSg4ODI2NzQ1MDcsITEpO1NhKDg2OTMzNjkwNCxscik7U2EoODY5MzM2OTA1LGxyKTtTYSgyODM5NTMxNTUsITEpO1NhKDkxOTQ0NDgyNCwhMSk7U2EoOTMxNDY4MDQ3LCExKTtTYSg5Mjg4NzUzOTgsITEpO1NhKDY4Mzc0OTIwMSwhMSk7U2EoMjE0NzQ4MzY0NCwhMSk7U2EoMjE0NzQ4MzY0NSwhMSk7U2EoMjE0NzQ4MzY0Nixscik7U2EoMjE0NzQ4MzY0NywhMCk7dmFyIGxnYTtsZ2E9Xy5VYS5uYXZpZ2F0b3I7Xy5KYj1sZ2E/bGdhLnVzZXJBZ2VudERhdGF8fG51bGw6bnVsbDtGY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgbmdhLHByO18ubWdhPV8uVWIoKTtfLm1yPV8uWGIoKTtuZ2E9Xy5SYigiRWRnZSIpO18ub2dhPV8uUmIoIkdlY2tvIikmJiEoXy5IYigpJiYhXy5SYigiRWRnZSIpKSYmIShfLlJiKCJUcmlkZW50Iil8fF8uUmIoIk1TSUUiKSkmJiFfLlJiKCJFZGdlIik7Xy5ucj1fLkhiKCkmJiFfLlJiKCJFZGdlIik7Xy5wZ2E9Xy5tYygpO18ub3I9Xy5uYygpO18ucWdhPWtjKCk/Xy5KYi5wbGF0Zm9ybT09PSJBbmRyb2lkIjpfLlJiKCJBbmRyb2lkIik7Xy5yZ2E9bGMoKTtfLnNnYT1fLlJiKCJpUGFkIik7Xy50Z2E9Xy5SYigiaVBvZCIpOwphOntsZXQgYT0iIixiPWZ1bmN0aW9uKCl7dmFyIGM9Xy5GYigpO2lmKF8ub2dhKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoYyk7aWYobmdhKXJldHVybi9FZGdlXC8oW1xkXC5dKykvLmV4ZWMoYyk7aWYoXy5tcilyZXR1cm4vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYyk7aWYoXy5ucilyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhjKTtpZihfLm1nYSlyZXR1cm4vKD86VmVyc2lvbilbIFwvXT8oXFMrKS8uZXhlYyhjKX0oKTtiJiYoYT1iP2JbMV06IiIpO2lmKF8ubXIpe3ZhciBxcjtsZXQgYz1fLlVhLmRvY3VtZW50O3FyPWM/Yy5kb2N1bWVudE1vZGU6dm9pZCAwO2lmKHFyIT1udWxsJiZxcj5wYXJzZUZsb2F0KGEpKXtwcj1TdHJpbmcocXIpO2JyZWFrIGF9fXByPWF9Xy51Z2E9cHI7Xy52Z2E9Xy5kYygpO18ud2dhPWxjKCl8fF8uUmIoImlQb2QiKTtfLnhnYT1fLlJiKCJpUGFkIik7Xy55Z2E9Xy5oYygpO18uemdhPV8uamMoKSYmIShsYygpfHxfLlJiKCJpUGFkIil8fF8uUmIoImlQb2QiKSk7dmFyIEhjPXt9LFhjPW51bGw7dmFyICRjLGVhYSxBZ2E7JGM9L1stXy5dL2c7ZWFhPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9O18uaGQ9e307QWdhPXR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUhPSJ1bmRlZmluZWQiO3ZhciBjZDtfLmZkPWNsYXNze2lzRW1wdHkoKXtyZXR1cm4gdGhpcy5xaD09bnVsbH1jb25zdHJ1Y3RvcihhLGIpe3BkKGIpO3RoaXMucWg9YTtpZihhIT1udWxsJiZhLmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIkJ5dGVTdHJpbmcgc2hvdWxkIGJlIGNvbnN0cnVjdGVkIHdpdGggbm9uLWVtcHR5IHZhbHVlcyIpO319O18uQmdhPUFnYT8oYSxiKT0+UHJvbWlzZS5yZXNvbHZlKHN0cnVjdHVyZWRDbG9uZShhLHt0cmFuc2ZlcjpifSkpOmdhYTt2YXIgdWQ9dm9pZCAwO3ZhciB1ZyxnZyxtYWEsbmFhLHNhYSxMZCxwYWE7Xy5DZD15ZCgiamFzIiwhMCk7Xy5mZj15ZCgpO3VnPXlkKCk7Z2c9eWQoKTtfLkNnYT15ZCgpO18ua2Y9eWQoKTttYWE9eWQoKTtuYWE9eWQoKTtfLnhpPXlkKCk7c2FhPXlkKCk7TGQ9eWQoIm1fbSIsITApO3BhYT15ZCgpO18ub2Y9eWQoKTt2YXIgRGdhO1suLi5PYmplY3QudmFsdWVzKHtyUjoxLHFSOjIscFI6NCxEUjo4LGFTOjE2LHlSOjMyLE1ROjY0LGtSOjEyOCxnUjoyNTYsVFI6NTEyLGhSOjEwMjQsbFI6MjA0OCx6Ujo0MDk2LHVSOjgxOTJ9KV07RGdhPVtdO0RnYVtfLkNkXT03O18uZWc9T2JqZWN0LmZyZWV6ZShEZ2EpO3ZhciBNZCx1YWEsS2osYWU7TWQ9e307Xy5SZD17fTt1YWE9T2JqZWN0LmZyZWV6ZSh7fSk7Xy52Zz1PYmplY3QuZnJlZXplKHt9KTtLaj17fTthZT17fTt2YXIgaWFhLGhhYSxFZ2E7aWFhPV8uY2UoYT0+dHlwZW9mIGE9PT0ibnVtYmVyIik7aGFhPV8uY2UoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7RWdhPV8uY2UoYT0+dHlwZW9mIGE9PT0iYmlnaW50Iik7Xy5ycj1fLmNlKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLkZnYT1fLmNlKGE9PnR5cGVvZiBhPT09ImZ1bmN0aW9uIik7dmFyIEdnYSxIZ2E7Xy5aYWE9Xy5jZShhPT5FZ2EoYSkpO18udGY9Xy5jZShhPT5hPj1HZ2EmJmE8PUhnYSk7R2dhPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7SGdhPUJpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7Xy5lZT0wO18uZ2U9MDt2YXIgQmUsamFhO18uTGU9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5aZT10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDA7Xy5VZT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtCZT1OdW1iZXIuaXNGaW5pdGU7Xy5SZT1NYXRoLnRydW5jO2phYT0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzt2YXIgcWFhPXt9O18uc3I9Xy5wYihfLkNnYSk7dmFyIGxhYTtfLm5mPWNsYXNze307bGFhPXtyUDohMH07dmFyIHJmO18uY2dhPUFnYT9zdHJ1Y3R1cmVkQ2xvbmU6YT0+c2YoYSwwLHVmKTt2YXIgeWY7Xy5NZz1fLmRlKDApO3ZhciBJZ2E9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZihLaiE9PUtqKXRocm93IEVycm9yKCk7fX07dmFyIEdoLE1oLE5oLE9oLExoLEtoLEloLEpoO18uRWg9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmxvPWE+Pj4wO3RoaXMuaGk9Yj4+PjB9fTtfLkpnYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9W119bGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMucWg7dGhpcy5xaD1bXTtyZXR1cm4gYX19O18uS2dhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD1bXTt0aGlzLnJoPTA7dGhpcy5xaD1uZXcgXy5KZ2F9fTt2YXIgQmksRWFhLGtpLGtiYTtCaT1naSgpO0VhYT1naSgpO2tpPWdpKCk7Xy5Vaj1naSgpO18uWmo9Z2koKTtfLldqPWdpKCk7Xy5kaz1naSgpO18uYms9Z2koKTtfLmZrPWdpKCk7Xy5jaz1naSgpO18uZWs9Z2koKTtfLmhrPWdpKCk7Xy5qaz1naSgpO18uaWs9Z2koKTtfLmtrPWdpKCk7a2JhPWdpKCk7Xy5Zaj1naSgpO18uWGo9Z2koKTtfLmFrPWdpKCk7Xy5naz1naSgpO18uST1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuTGk9Q2YoYSxiLHZvaWQgMCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gXy53Zih0aGlzKX1qaihhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoXy53Zih0aGlzLGEpKX1nZXRFeHRlbnNpb24oYSl7Xy5xZih0aGlzLkxpLGEucWgpO18ucGYodGhpcyxhLnFoLGEudGgpO3JldHVybiBhLlduP2EuZ3c/YS5zaCh0aGlzLGEuV24sYS5xaCxfLmNnKCksYS5yaCk6YS5zaCh0aGlzLGEuV24sYS5xaCxhLnJoKTphLmd3P2Euc2godGhpcyxhLnFoLF8uY2coKSxhLnJoKTphLnNoKHRoaXMsYS5xaCxhLmRlZmF1bHRWYWx1ZSxhLnJoKX1jbG9uZSgpe3ZhciBhPXRoaXMuTGksYj1hW18uQ2RdfDA7cmV0dXJuIF8uR2YodGhpcyxhLGIpP0hmKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5GZihhLGIsITEpKX13aCgpe3ZhciBhPXRoaXMuTGksYj1hW18uQ2RdfDA7cmV0dXJuIF8uU2QodGhpcyxiKT90aGlzOl8uR2YodGhpcyxhLGIpPwpIZih0aGlzLGEpOm5ldyB0aGlzLmNvbnN0cnVjdG9yKF8uRmYoYSxiLCEwKSl9fTtfLkkucHJvdG90eXBlLnNoPV8uaGEoMSk7Xy5JLnByb3RvdHlwZS5xaD1fLmhhKDApO18uSS5wcm90b3R5cGVbTGRdPU1kO18uSS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5MaS50b1N0cmluZygpfTt2YXIgamkseGFhLHlhYSx6YWEsdmksY2JhLHBpO2ppPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudUM9YTt0aGlzLnZDPWI7dGhpcy5YdD1jO3RoaXMucWg9ZDthPV8ucGIoa2kpOyhhPSEhYSYmZD09PWEpfHwoYT1fLnBiKF8uVWopLGE9ISFhJiZkPT09YSk7dGhpcy5yaD1hfX07eGFhPV8ubGkoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLnFoIT09MilyZXR1cm4hMTtfLkFoKGEsXy56ZyhiLGQsYyksZSk7cmV0dXJuITB9LG5pKTt5YWE9Xy5saShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEucWghPT0yKXJldHVybiExO18uQWgoYSxfLnpnKGIsZCxjKSxlKTtyZXR1cm4hMH0sbmkpO3phYT1TeW1ib2woKTt2aT1TeW1ib2woKTtjYmE9U3ltYm9sKCk7Xy50cj1TeW1ib2woKTt2YXIgTGdhO0xnYT1fLmRlKDApO18uTWdhPVN5bWJvbCgpO18udXI9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTEpcmV0dXJuITE7Xy5FaShiLGMsXy52aChhLnJoKSk7cmV0dXJuITB9LF8uR2ksXy5Yaik7Xy52cj1fLkFpKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5PaShhLGIsYyl9LF8uSGksXy5oayk7Xy53cj1fLkNpKF8uUGksZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLmFmLGIsITEpO2lmKGIhPW51bGwpZm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYmkoYSxjLGJbZF0pfSxfLmhrKTtfLnhyPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2EucWghPT0wP2I9ITE6KGE9Xy50aChhLnJoKSxfLkVpKGIsYyxhPT09TGdhP3ZvaWQgMDphKSxiPSEwKTtyZXR1cm4gYn0sXy5IaSxfLmhrKTtfLlA9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5FaShiLGMsXy5yaChhLnJoKSk7cmV0dXJuITB9LF8uSWksXy5kayk7Cl8ueXI9Xy5DaShfLlFpLGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5HZSxiLCEwKTtpZihiIT1udWxsJiZiLmxlbmd0aCl7Yz1fLlpoKGEsYyk7Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspXy5UaChhLnFoLGJbZF0pO18uJGgoYSxjKX19LF8uZGspO18uenI9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7YT1fLnJoKGEucmgpO18uRWkoYixjLGE9PT0wP3ZvaWQgMDphKTtyZXR1cm4hMH0sXy5JaSxfLmRrKTtfLlI9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5FaShiLGMsXy5xaChhLnJoKSk7cmV0dXJuITB9LF8uSmksXy5aaik7Xy5VPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0yKXJldHVybiExO18uRWkoYixjLF8uQ2goYSkpO3JldHVybiEwfSxfLktpLF8uV2opOwpfLkFyPV8uQ2koZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0yKXJldHVybiExO2E9Xy5DaChhKTtfLlZmKGIsYltfLkNkXXwwLGMpLnB1c2goYSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjKXtiPV8ueWkoXy5kZixiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZz0wO2c8Yi5sZW5ndGg7ZysrKXt2YXIgZD1hLGU9YyxmPWJbZ107ZiE9bnVsbCYmXy5kaShkLGUsemIoZikpfX0sXy5Xaik7Xy5ZPV8uRGkoZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihhLnFoIT09MilyZXR1cm4hMTtfLkFoKGEsXy5GaShiLGQsYyksZSk7cmV0dXJuITB9LGZ1bmN0aW9uKGEsYixjLGQsZSl7Xy56aShhLGIsYyxkLGUsXy5MaSl9KTtfLkJyPV8uQWkoZnVuY3Rpb24oYSxiLGMpe2lmKGEucWghPT0wKXJldHVybiExO18uRWkoYixjLF8uc2goYS5yaCkpO3JldHVybiEwfSxfLk1pLF8uYmspOwpfLlo9Xy5BaShmdW5jdGlvbihhLGIsYyl7aWYoYS5xaCE9PTApcmV0dXJuITE7Xy5FaShiLGMsXy5yaChhLnJoKSk7cmV0dXJuITB9LF8uTmksXy5nayk7Xy5Dcj1fLkNpKF8uUmksZnVuY3Rpb24oYSxiLGMpe2I9Xy55aShfLkdlLGIsITApO2lmKGIhPW51bGwpZm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspY2koYSxjLGJbZF0pfSxfLmdrKTt2YXIgWWk9U3ltYm9sKCksWmk9U3ltYm9sKCksVGk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmRDPWE7dGhpcy5ndz1iO3RoaXMuaXNNYXA9ITF9fSxTaT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuaUE9YTt0aGlzLmRDPWI7dGhpcy5ndz1jO3RoaXMuaXNNYXA9ZDt0aGlzLmJRPWV9fTt2YXIgTmdhPW5ldyBNYXAsRmFhPWNsYXNzIGV4dGVuZHMgSWdhe2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLnFoPWI7aWYoS2ohPT1Lail0aHJvdyBFcnJvcigpO05nYS5zZXQoYSx0aGlzKX19O3ZhciBHYWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5xaD1hO3RoaXMuV249Yzt0aGlzLmd3PTA7dGhpcy5zaD1fLkFnO3RoaXMud2g9Xy5FZzt0aGlzLmRlZmF1bHRWYWx1ZT12b2lkIDA7dGhpcy5yaD1iLnZUIT1udWxsP2FlOnZvaWQgMDt0aGlzLnRoPWR9cmVnaXN0ZXIoKXtGYyh0aGlzKX19O18uRHI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9cmgoKXtyZXR1cm4gXy5PZyh0aGlzLDEpfXRoKCl7cmV0dXJuIF8uT2codGhpcywyKX19O18uRXI9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9dGgoKXtyZXR1cm4gXy5BZyh0aGlzLF8uRHIsMSl9cmgoKXtyZXR1cm4gXy5BZyh0aGlzLF8uRHIsMil9fTt2YXIgT2JhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFZhbHVlKCl7dmFyIGE9Xy5PZih0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkoYSl8fGEgaW5zdGFuY2VvZiBfLkkpdGhyb3cgRXJyb3IoIkNhbm5vdCBhY2Nlc3MgdGhlIEFueS52YWx1ZSBmaWVsZCBvbiBBbnkgcHJvdG9zIGVuY29kZWQgdXNpbmcgdGhlIGpzcGIgZm9ybWF0LCBjYWxsIHVucGFja0pzcGIgaW5zdGVhZCIpO3JldHVybiBfLm1nKHRoaXMsMil9c2V0VmFsdWUoYSl7aWYoYT09bnVsbClhPXRoaXM7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWE9Xy5RZih0aGlzLDIsc2YoYSwwLHVmKSk7ZWxzZSBpZih0eXBlb2YgYT09PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5mZHx8Xy5iZChhKSlhPW9nKHRoaXMsMixfLlhkKGEsITEpLF8ubGQoKSk7ZWxzZSB0aHJvdyBFcnJvcigiaW52YWxpZCB2YWx1ZSBpbiBBbnkudmFsdWUgZmllbGQ6ICIrYSsiIGV4cGVjdGVkIGEgQnl0ZVN0cmluZywgYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcsIGEgVWludDhBcnJheSBvciBhIGpzcGIgYXJyYXkiKTsKcmV0dXJuIGF9fTtfLkZyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5Gci5wcm90b3R5cGUucmg9Xy5oYSgyKTtfLmJyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7dmFyIGE9TnVtYmVyKF8uUWcodGhpcykpLGI9Xy5LZyh0aGlzLDIpO3JldHVybiBuZXcgRGF0ZShhKjFFMytiLzFFNil9fTtfLkdyPVswLF8ueHIsXy56cl07dmFyIE5iYTtfLkhyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE1lc3NhZ2UoKXtyZXR1cm4gXy5IKHRoaXMsMil9fTtOYmE9Xy5iaihfLkhyKTtfLklyPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWNpKCl7cmV0dXJuIF8uSCh0aGlzLDEpfXJoKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX07Xy5Kcj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uS3I9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIga2o9ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKTt2YXIgTHI9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsbWo9THIsbmo7Xy5waj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5xaCsiIn19O18uc2o9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucWh9fTtfLk1yPV8udGooImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFRhYTtfLnVqPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuQWo9YX19O18uT2dhPVt2aigiZGF0YSIpLHZqKCJodHRwIiksdmooImh0dHBzIiksdmooIm1haWx0byIpLHZqKCJmdHAiKSxuZXcgXy51aihhPT4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpKV07VGFhPVsiZGF0YToiLCJodHRwOiIsImh0dHBzOiIsIm1haWx0bzoiLCJmdHA6Il07dmFyIHdqPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9YX10b1N0cmluZygpe3JldHVybiB0aGlzLnFoKyIifX0seGRhPW5ldyB3aihMcj9Mci5lbXB0eUhUTUw6IiIpO18uQWo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMucWh9fTtfLkRqPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7Xy5Ocj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuc2g9YTt0aGlzLnFoPWI7dGhpcy50aD1jO3RoaXMud2g9ZDt0aGlzLnJoPWV9fTtfLlBnYT1uZXcgXy5OcihuZXcgU2V0KCJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikpLApuZXcgTWFwKFtbIkEiLG5ldyBNYXAoW1siaHJlZiIse09tOjd9XV0pXSxbIkFSRUEiLG5ldyBNYXAoW1siaHJlZiIse09tOjd9XV0pXSxbIkxJTksiLG5ldyBNYXAoW1siaHJlZiIse09tOjUsY29uZGl0aW9uczpuZXcgTWFwKFtbInJlbCIsbmV3IFNldCgiYWx0ZXJuYXRlIGF1dGhvciBib29rbWFyayBjYW5vbmljYWwgY2l0ZSBoZWxwIGljb24gbGljZW5zZSBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpKV1dKX1dXSldLFsiU09VUkNFIixuZXcgTWFwKFtbInNyYyIse09tOjV9XSxbInNyY3NldCIse09tOjZ9XV0pXSxbIklNRyIsbmV3IE1hcChbWyJzcmMiLHtPbTo1fV0sWyJzcmNzZXQiLHtPbTo2fV1dKV0sWyJWSURFTyIsbmV3IE1hcChbWyJzcmMiLHtPbTo1fV1dKV0sWyJBVURJTyIsbmV3IE1hcChbWyJzcmMiLHtPbTo1fV1dKV1dKSxuZXcgU2V0KCJ0aXRsZSBhcmlhLWF0b21pYyBhcmlhLWF1dG9jb21wbGV0ZSBhcmlhLWJ1c3kgYXJpYS1jaGVja2VkIGFyaWEtY3VycmVudCBhcmlhLWRpc2FibGVkIGFyaWEtZHJvcGVmZmVjdCBhcmlhLWV4cGFuZGVkIGFyaWEtaGFzcG9wdXAgYXJpYS1oaWRkZW4gYXJpYS1pbnZhbGlkIGFyaWEtbGFiZWwgYXJpYS1sZXZlbCBhcmlhLWxpdmUgYXJpYS1tdWx0aWxpbmUgYXJpYS1tdWx0aXNlbGVjdGFibGUgYXJpYS1vcmllbnRhdGlvbiBhcmlhLXBvc2luc2V0IGFyaWEtcHJlc3NlZCBhcmlhLXJlYWRvbmx5IGFyaWEtcmVsZXZhbnQgYXJpYS1yZXF1aXJlZCBhcmlhLXNlbGVjdGVkIGFyaWEtc2V0c2l6ZSBhcmlhLXNvcnQgYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVub3cgYXJpYS12YWx1ZXRleHQgYWx0IGFsaWduIGF1dG9jYXBpdGFsaXplIGF1dG9jb21wbGV0ZSBhdXRvY29ycmVjdCBhdXRvZm9jdXMgYXV0b3BsYXkgYmdjb2xvciBib3JkZXIgY2VsbHBhZGRpbmcgY2VsbHNwYWNpbmcgY2hlY2tlZCBjaXRlIGNvbG9yIGNvbHMgY29sc3BhbiBjb250cm9scyBjb250cm9sc2xpc3QgY29vcmRzIGNyb3Nzb3JpZ2luIGRhdGV0aW1lIGRpc2FibGVkIGRvd25sb2FkIGRyYWdnYWJsZSBlbmN0eXBlIGZhY2UgZm9ybWVuY3R5cGUgZnJhbWVib3JkZXIgaGVpZ2h0IGhyZWZsYW5nIGhpZGRlbiBpbmVydCBpc21hcCBsYWJlbCBsYW5nIGxvb3AgbWF4IG1heGxlbmd0aCBtZWRpYSBtaW5sZW5ndGggbWluIG11bHRpcGxlIG11dGVkIG5vbmNlIG9wZW4gcGxheXNpbmxpbmUgcGxhY2Vob2xkZXIgcHJlbG9hZCByZWwgcmVxdWlyZWQgcmV2ZXJzZWQgcm9sZSByb3dzIHJvd3NwYW4gc2VsZWN0ZWQgc2hhcGUgc2l6ZSBzaXplcyBzbG90IHNwYW4gc3BlbGxjaGVjayBzdGFydCBzdGVwIHN1bW1hcnkgdHJhbnNsYXRlIHR5cGUgdXNlbWFwIHZhbGlnbiB2YWx1ZSB3aWR0aCB3cmFwIGl0ZW1zY29wZSBpdGVtdHlwZSBpdGVtaWQgaXRlbXByb3AgaXRlbXJlZiIuc3BsaXQoIiAiKSksCm5ldyBNYXAoW1siZGlyIix7T206Myxjb25kaXRpb25zOm5ldyBNYXAoW1siZGlyIixuZXcgU2V0KFsiYXV0byIsImx0ciIsInJ0bCJdKV1dKX1dLFsiYXN5bmMiLHtPbTozLGNvbmRpdGlvbnM6bmV3IE1hcChbWyJhc3luYyIsbmV3IFNldChbImFzeW5jIl0pXV0pfV0sWyJsb2FkaW5nIix7T206Myxjb25kaXRpb25zOm5ldyBNYXAoW1sibG9hZGluZyIsbmV3IFNldChbImVhZ2VyIiwibGF6eSJdKV1dKX1dLFsicG9zdGVyIix7T206NX1dLFsidGFyZ2V0Iix7T206Myxjb25kaXRpb25zOm5ldyBNYXAoW1sidGFyZ2V0IixuZXcgU2V0KFsiX3NlbGYiLCJfYmxhbmsiXSldXSl9XV0pKTtfLlFnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMuc2g9YTt0aGlzLndoPWI7dGhpcy50aD1jO3RoaXMucWg9ZDt0aGlzLnJoPWV9c2FuaXRpemVBc3NlcnRVbmNoYW5nZWQoYSl7cmV0dXJuIF8uSWoodGhpcyxhKX1jcmVhdGVUZXh0Tm9kZShhKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSl9fTtfLk9yPW5ldyBfLlFnYShfLlBnYSk7dmFyIFJnYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDUwMCl9fTt2YXIgTmo9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSw1MDApfX07dmFyIE1qPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldE5hbWUoKXtyZXR1cm4gXy5IKHRoaXMsMSl9c2V0T3B0aW9ucyhhKXtyZXR1cm4gXy5FZyh0aGlzLE5qLDMsYSl9fTt2YXIgVmFhPV8uYWooY2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0TmFtZSgpe3JldHVybiBfLkgodGhpcywxKX1zZXRWYWx1ZShhLGIpe3JldHVybiBfLiRmKHRoaXMsMixNaixhLGIpfXNldE9wdGlvbnMoYSl7cmV0dXJuIF8uRWcodGhpcyxSZ2EsMyxhKX1yaCgpe3JldHVybiBfLlBnKHRoaXMsNil9T2woYSl7cmV0dXJuIF8ua2godGhpcyw2LGEpfX0pO3ZhciBVYWE9U3ltYm9sKCk7dmFyIHdhYT1fLlhpKDk5OCxOaixjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19KTt2YXIgTGo9U3ltYm9sKCksWWFhPVN5bWJvbCgpLFBqPVN5bWJvbCgpO18uWGouQW09ImQiO18uWWouQW09ImYiO18uZGsuQW09ImkiO18uaGsuQW09ImoiO18uYmsuQW09InUiO18uamsuQW09InYiO18uWmouQW09ImIiO18uZ2suQW09ImUiO18uV2ouQW09InMiO18uYWsuQW09IkIiO2tpLkFtPSJtIjtfLlVqLkFtPSJtIjtfLmNrLkFtPSJ4IjtfLmtrLkFtPSJ5IjtfLmVrLkFtPSJnIjtrYmEuQW09ImgiO18uZmsuQW09Im4iO18uaWsuQW09Im8iO3ZhciBpYmE9UmVnRXhwKCJbKy9dIiwiZyIpLGpiYT1SZWdFeHAoIlsuPV0rJCIpLGdiYT1SZWdFeHAoIihcXCopIiwiZyIpLGhiYT1SZWdFeHAoIighKSIsImciKSxmYmE9UmVnRXhwKCJeWy1BLVphLXowLTlfLiF+KigpIF0qJCIpO3ZhciBlYmE9UmVnRXhwKCInIiwiZyIpO18uUHI9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9hPT5hJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChhKTphPT5hO3ZhciBjY2E9bmV3IFNldChbIlNBUElTSURIQVNIIiwiQVBJU0lESEFTSCJdKTtfLlJrPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9e30pe3N1cGVyKGIpO3RoaXMuY29kZT1hO3RoaXMubWV0YWRhdGE9Yzt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtfLmxrKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKGErPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gYX19O18ubWsucHJvdG90eXBlLkxoPSExO18ubWsucHJvdG90eXBlLnpoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTGh9O18ubWsucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLkxofHwodGhpcy5MaD0hMCx0aGlzLkJrKCkpfTtfLm1rLnByb3RvdHlwZVtfLm1hKFN5bWJvbCwiZGlzcG9zZSIpXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLm1rLnByb3RvdHlwZS5Caz1mdW5jdGlvbigpe2lmKHRoaXMuSmgpZm9yKDt0aGlzLkpoLmxlbmd0aDspdGhpcy5KaC5zaGlmdCgpKCl9O18ubmsucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMucmg9ITB9O18ubmsucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwfTtfLnFiKF8ub2ssXy5uayk7Cl8ub2sucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5ucnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCwKdGhpcy5vZmZzZXRZPV8ubnJ8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlOwp0aGlzLnRpbWVTdGFtcD1hLnRpbWVTdGFtcDt0aGlzLnFoPWE7YS5kZWZhdWx0UHJldmVudGVkJiZfLm9rLmlyLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O18ub2sucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe18ub2suaXIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5xaC5zdG9wUHJvcGFnYXRpb24/dGhpcy5xaC5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLnFoLmNhbmNlbEJ1YmJsZT0hMH07Xy5vay5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtfLm9rLmlyLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIGE9dGhpcy5xaDthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgbmJhPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7dmFyIG9iYT0wO3JrLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLnRvU3RyaW5nKCk7YT10aGlzLmFpW2ZdO2F8fChhPXRoaXMuYWlbZl09W10sdGhpcy5xaCsrKTt2YXIgZz10ayhhLGIsZCxlKTtnPi0xPyhiPWFbZ10sY3x8KGIuakE9ITEpKTooYj1uZXcgcGJhKGIsdGhpcy5zcmMsZiwhIWQsZSksYi5qQT1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O3JrLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSxiLGMsZCl7YT1hLnRvU3RyaW5nKCk7aWYoIShhIGluIHRoaXMuYWkpKXJldHVybiExO3ZhciBlPXRoaXMuYWlbYV07Yj10ayhlLGIsYyxkKTtyZXR1cm4gYj4tMT8ocWsoZVtiXSksXy54YyhlLGIpLGUubGVuZ3RoPT0wJiYoZGVsZXRlIHRoaXMuYWlbYV0sdGhpcy5xaC0tKSwhMCk6ITF9O3ZhciB6az0iY2xvc3VyZV9sbV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKSxDaz17fSx1YmE9MCxEaz0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18ucWIoXy5HayxfLm1rKTtfLkdrLnByb3RvdHlwZVtuYmFdPSEwO18uR2sucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy52ayh0aGlzLGEsYixjLGQpfTtfLkdrLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe3diYSh0aGlzLGEsYixjLGQpfTsKXy5Hay5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLndrO2lmKGIpe3ZhciBjPVtdO2Zvcih2YXIgZD0xO2I7Yj1iLndrKWMucHVzaChiKSwrK2R9Yj10aGlzLnp2O2Q9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5uayhhLGIpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8ubmspYS50YXJnZXQ9YS50YXJnZXR8fGI7ZWxzZXt2YXIgZT1hO2E9bmV3IF8ubmsoZCxiKTtfLmxqKGEsZSl9ZT0hMDt2YXIgZjtpZihjKWZvcihmPWMubGVuZ3RoLTE7IWEucmgmJmY+PTA7Zi0tKXt2YXIgZz1hLmN1cnJlbnRUYXJnZXQ9Y1tmXTtlPUhrKGcsZCwhMCxhKSYmZX1hLnJofHwoZz1hLmN1cnJlbnRUYXJnZXQ9YixlPUhrKGcsZCwhMCxhKSYmZSxhLnJofHwoZT1IayhnLGQsITEsYSkmJmUpKTtpZihjKWZvcihmPTA7IWEucmgmJmY8Yy5sZW5ndGg7ZisrKWc9YS5jdXJyZW50VGFyZ2V0PWNbZl0sZT1IayhnLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLkdrLnByb3RvdHlwZS5Caz1mdW5jdGlvbigpe18uR2suaXIuQmsuY2FsbCh0aGlzKTt0aGlzLlNwJiZfLnFiYSh0aGlzLlNwKTt0aGlzLndrPW51bGx9O3ZhciBTZ2E7Xy5xYihKayx6YmEpO0prLnByb3RvdHlwZS5xaD1mdW5jdGlvbigpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9O1NnYT1uZXcgSms7Xy5xYihfLktrLF8uR2spO3ZhciBEYmE9L15odHRwcz8kL2ksVGdhPVsiUE9TVCIsIlBVVCJdO18uYWE9Xy5Lay5wcm90b3R5cGU7Xy5hYS5JRz1fLmhhKDYpOwpfLmFhLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5xaCl0aHJvdyBFcnJvcigiW2dvb2cubmV0LlhocklvXSBPYmplY3QgaXMgYWN0aXZlIHdpdGggYW5vdGhlciByZXF1ZXN0PSIrdGhpcy5BaCsiOyBuZXdVcmk9IithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuQWg9YTt0aGlzLnhoPSIiO3RoaXMuc2g9MDt0aGlzLkZoPSExO3RoaXMucmg9ITA7dGhpcy5xaD10aGlzLkloP3RoaXMuSWgucWgoKTpTZ2EucWgoKTt0aGlzLnFoLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLlByKSgoMCxfLmliKSh0aGlzLllJLHRoaXMpKTt0cnl7dGhpcy5nZXRTdGF0dXMoKSx0aGlzLkdoPSEwLHRoaXMucWgub3BlbihiLFN0cmluZyhhKSwhMCksdGhpcy5HaD0hMX1jYXRjaChmKXt0aGlzLmdldFN0YXR1cygpO0JiYSh0aGlzLGYpO3JldHVybn1hPWN8fCIiO2M9bmV3IE1hcCh0aGlzLmhlYWRlcnMpO2lmKGQpaWYoT2JqZWN0LmdldFByb3RvdHlwZU9mKGQpPT09T2JqZWN0LnByb3RvdHlwZSlmb3IodmFyIGUgaW4gZCljLnNldChlLApkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLGQuZ2V0KGYpKTtlbHNlIHRocm93IEVycm9yKCJVbmtub3duIGlucHV0IHR5cGUgZm9yIG9wdF9oZWFkZXJzOiAiK1N0cmluZyhkKSk7ZD1BcnJheS5mcm9tKGMua2V5cygpKS5maW5kKGY9PiJjb250ZW50LXR5cGUiPT1mLnRvTG93ZXJDYXNlKCkpO2U9Xy5VYS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8uVWEuRm9ybURhdGE7IV8udmMoVGdhLGIpfHxkfHxlfHxjLnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtmLGddb2YgYyl0aGlzLnFoLnNldFJlcXVlc3RIZWFkZXIoZixnKTt0aGlzLkRoJiYodGhpcy5xaC5yZXNwb25zZVR5cGU9dGhpcy5EaCk7IndpdGhDcmVkZW50aWFscyJpbiB0aGlzLnFoJiZ0aGlzLnFoLndpdGhDcmVkZW50aWFscyE9PQp0aGlzLnloJiYodGhpcy5xaC53aXRoQ3JlZGVudGlhbHM9dGhpcy55aCk7dHJ5e3RoaXMudGgmJihjbGVhclRpbWVvdXQodGhpcy50aCksdGhpcy50aD1udWxsKSx0aGlzLkJoPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMudGg9c2V0VGltZW91dCh0aGlzLnR2LmJpbmQodGhpcyksdGhpcy5CaCkpLHRoaXMuZ2V0U3RhdHVzKCksdGhpcy5DaD0hMCx0aGlzLnFoLnNlbmQoYSksdGhpcy5DaD0hMX1jYXRjaChmKXt0aGlzLmdldFN0YXR1cygpLEJiYSh0aGlzLGYpfX07Xy5hYS50dj1mdW5jdGlvbigpe3R5cGVvZiBNayE9InVuZGVmaW5lZCImJnRoaXMucWgmJih0aGlzLnhoPSJUaW1lZCBvdXQgYWZ0ZXIgIit0aGlzLkJoKyJtcywgYWJvcnRpbmciLHRoaXMuc2g9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKXy5hYS5hYm9ydD1mdW5jdGlvbihhKXt0aGlzLnFoJiZ0aGlzLnJoJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLnJoPSExLHRoaXMud2g9ITAsdGhpcy5xaC5hYm9ydCgpLHRoaXMud2g9ITEsdGhpcy5zaD1hfHw3LHRoaXMuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSx0aGlzLmRpc3BhdGNoRXZlbnQoImFib3J0IiksTGsodGhpcykpfTtfLmFhLkJrPWZ1bmN0aW9uKCl7dGhpcy5xaCYmKHRoaXMucmgmJih0aGlzLnJoPSExLHRoaXMud2g9ITAsdGhpcy5xaC5hYm9ydCgpLHRoaXMud2g9ITEpLExrKHRoaXMsITApKTtfLktrLmlyLkJrLmNhbGwodGhpcyl9O18uYWEuWUk9ZnVuY3Rpb24oKXt0aGlzLnpoKCl8fCh0aGlzLkdofHx0aGlzLkNofHx0aGlzLndoP0NiYSh0aGlzKTp0aGlzLlFPKCkpfTtfLmFhLlFPPWZ1bmN0aW9uKCl7Q2JhKHRoaXMpfTtfLmFhLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnFofTsKXy5hYS5NbT1mdW5jdGlvbigpe3JldHVybiBfLk5rKHRoaXMpPT00fTtfLmFhLmdldFN0YXR1cz1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5Oayh0aGlzKT4yP3RoaXMucWguc3RhdHVzOi0xfWNhdGNoKGEpe3JldHVybi0xfX07Xy5hYS5Scj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdGhpcy5xaD90aGlzLnFoLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChhKXtyZXR1cm4iIn19O18uYWEuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWgmJl8uTmsodGhpcyk+PTI/dGhpcy5xaC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiJ9O3ZhciBHYmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuWEU9YTt0aGlzLk9JPWI7dGhpcy5tZXRhZGF0YT1jfWdldE1ldGFkYXRhKCl7cmV0dXJuIHRoaXMubWV0YWRhdGF9fTt2YXIgSWJhPWNsYXNze2NvbnN0cnVjdG9yKGEsYj17fSl7dGhpcy5wUD1hO3RoaXMubWV0YWRhdGE9Yjt0aGlzLnN0YXR1cz1udWxsfWdldE1ldGFkYXRhKCl7cmV0dXJuIHRoaXMubWV0YWRhdGF9Z2V0U3RhdHVzKCl7cmV0dXJuIHRoaXMuc3RhdHVzfX07Xy5Rcj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLm5hbWU9YTt0aGlzLkF3PWI7dGhpcy5yaD1jO3RoaXMucWg9ZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX19O3ZhciBmY2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnJoPVtdO3RoaXMudGg9W107dGhpcy53aD1bXTt0aGlzLnNoPVtdO3RoaXMucWg9W107dGhpcy54aD1hLnpPO3RoaXMuemg9Yjt0aGlzLlRpPWEuVGk7dGhpcy54aCYmTWJhKHRoaXMpfXJwKGEsYil7YT09PSJkYXRhIj90aGlzLnJoLnB1c2goYik6YT09PSJtZXRhZGF0YSI/dGhpcy50aC5wdXNoKGIpOmE9PT0ic3RhdHVzIj90aGlzLndoLnB1c2goYik6YT09PSJlbmQiP3RoaXMuc2gucHVzaChiKTphPT09ImVycm9yIiYmdGhpcy5xaC5wdXNoKGIpfXJlbW92ZUxpc3RlbmVyKGEsYil7YT09PSJkYXRhIj9Wayh0aGlzLnJoLGIpOmE9PT0ibWV0YWRhdGEiP1ZrKHRoaXMudGgsYik6YT09PSJzdGF0dXMiP1ZrKHRoaXMud2gsYik6YT09PSJlbmQiP1ZrKHRoaXMuc2gsYik6YT09PSJlcnJvciImJlZrKHRoaXMucWgsYik7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy5UaS5hYm9ydCgpfX0sUGJhPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigpOwp0aGlzLm5hbWU9IkFzeW5jU3RhY2siO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O18ucWIoV2ssemJhKTtXay5wcm90b3R5cGUucWg9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFhrKHRoaXMuc2gsdGhpcy5yaCl9O18ucWIoWGssXy5Hayk7Xy5hYT1Yay5wcm90b3R5cGU7Xy5hYS5vcGVuPWZ1bmN0aW9uKGEsYil7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuRGg9YTt0aGlzLnRoPWI7dGhpcy5yZWFkeVN0YXRlPTE7WWsodGhpcyl9OwpfLmFhLnNlbmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5yZWFkeVN0YXRlIT0xKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigibmVlZCB0byBjYWxsIG9wZW4oKSBmaXJzdC4gIik7aWYodGhpcy5CaC5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5xaD0hMDt2YXIgYj17aGVhZGVyczp0aGlzLkNoLG1ldGhvZDp0aGlzLkRoLGNyZWRlbnRpYWxzOnRoaXMueGgsY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLkJoLnNpZ25hbH07YSYmKGIuYm9keT1hKTsodGhpcy5GaHx8Xy5VYSkuZmV0Y2gobmV3IFJlcXVlc3QodGhpcy50aCxiKSkudGhlbih0aGlzLnFOLmJpbmQodGhpcyksdGhpcy5WQS5iaW5kKHRoaXMpKX07Cl8uYWEuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuQ2g9bmV3IEhlYWRlcnM7dGhpcy5zdGF0dXM9MDt0aGlzLkJoLmFib3J0KCJSZXF1ZXN0IHdhcyBhYm9ydGVkLiIpO3RoaXMuc2gmJnRoaXMuc2guY2FuY2VsKCJSZXF1ZXN0IHdhcyBhYm9ydGVkLiIpLmNhdGNoKCgpPT57fSk7dGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLnFoJiZ0aGlzLnJlYWR5U3RhdGUhPTQmJih0aGlzLnFoPSExLFprKHRoaXMpKTt0aGlzLnJlYWR5U3RhdGU9MH07Cl8uYWEucU49ZnVuY3Rpb24oYSl7aWYodGhpcy5xaCYmKHRoaXMud2g9YSx0aGlzLnJofHwodGhpcy5zdGF0dXM9dGhpcy53aC5zdGF0dXMsdGhpcy5zdGF0dXNUZXh0PXRoaXMud2guc3RhdHVzVGV4dCx0aGlzLnJoPWEuaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixZayh0aGlzKSksdGhpcy5xaCYmKHRoaXMucmVhZHlTdGF0ZT0zLFlrKHRoaXMpLHRoaXMucWgpKSlpZih0aGlzLnJlc3BvbnNlVHlwZT09PSJhcnJheWJ1ZmZlciIpYS5hcnJheUJ1ZmZlcigpLnRoZW4odGhpcy5vTi5iaW5kKHRoaXMpLHRoaXMuVkEuYmluZCh0aGlzKSk7ZWxzZSBpZih0eXBlb2YgXy5VYS5SZWFkYWJsZVN0cmVhbSE9PSJ1bmRlZmluZWQiJiYiYm9keSJpbiBhKXt0aGlzLnNoPWEuYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLnloKXtpZih0aGlzLnJlc3BvbnNlVHlwZSl0aHJvdyBFcnJvcigncmVzcG9uc2VUeXBlIG11c3QgYmUgZW1wdHkgZm9yICJzdHJlYW1CaW5hcnlDaHVua3MiIG1vZGUgcmVzcG9uc2VzLicpOwp0aGlzLnJlc3BvbnNlPVtdfWVsc2UgdGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dD0iIix0aGlzLkFoPW5ldyBUZXh0RGVjb2RlcjtSYmEodGhpcyl9ZWxzZSBhLnRleHQoKS50aGVuKHRoaXMucE4uYmluZCh0aGlzKSx0aGlzLlZBLmJpbmQodGhpcykpfTtfLmFhLm5OPWZ1bmN0aW9uKGEpe2lmKHRoaXMucWgpe2lmKHRoaXMueWgmJmEudmFsdWUpdGhpcy5yZXNwb25zZS5wdXNoKGEudmFsdWUpO2Vsc2UgaWYoIXRoaXMueWgpe3ZhciBiPWEudmFsdWU/YS52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihiPXRoaXMuQWguZGVjb2RlKGIse3N0cmVhbTohYS5kb25lfSkpdGhpcy5yZXNwb25zZT10aGlzLnJlc3BvbnNlVGV4dCs9Yn1hLmRvbmU/WmsodGhpcyk6WWsodGhpcyk7dGhpcy5yZWFkeVN0YXRlPT0zJiZSYmEodGhpcyl9fTtfLmFhLnBOPWZ1bmN0aW9uKGEpe3RoaXMucWgmJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PWEsWmsodGhpcykpfTsKXy5hYS5vTj1mdW5jdGlvbihhKXt0aGlzLnFoJiYodGhpcy5yZXNwb25zZT1hLFprKHRoaXMpKX07Xy5hYS5WQT1mdW5jdGlvbigpe3RoaXMucWgmJlprKHRoaXMpfTtfLmFhLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkNoLmFwcGVuZChhLGIpfTtfLmFhLmdldFJlc3BvbnNlSGVhZGVyPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJoP3RoaXMucmguZ2V0KGEudG9Mb3dlckNhc2UoKSl8fCIiOiIifTtfLmFhLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLnJoKXJldHVybiIiO2Zvcih2YXIgYT1bXSxiPXRoaXMucmguZW50cmllcygpLGM9Yi5uZXh0KCk7IWMuZG9uZTspYz1jLnZhbHVlLGEucHVzaChjWzBdKyI6ICIrY1sxXSksYz1iLm5leHQoKTtyZXR1cm4gYS5qb2luKCJcclxuIil9OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoWGsucHJvdG90eXBlLCJ3aXRoQ3JlZGVudGlhbHMiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54aD09PSJpbmNsdWRlIn0sc2V0OmZ1bmN0aW9uKGEpe3RoaXMueGg9YT8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIn19KTtfLnFiKF8uJGssXy5tayk7dmFyIFNiYT1bXTtfLiRrLnByb3RvdHlwZS5Caz1mdW5jdGlvbigpe18uJGsuaXIuQmsuY2FsbCh0aGlzKTtfLmJsKHRoaXMpfTtfLiRrLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJFdmVudEhhbmRsZXIuaGFuZGxlRXZlbnQgbm90IGltcGxlbWVudGVkIik7fTt2YXIgVWJhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD0hMDt0aGlzLnJoPTA7dGhpcy5xaD0iIn19O2NsLnByb3RvdHlwZS5CaD1mdW5jdGlvbigpe3JldHVybiEwfTsKY2wucHJvdG90eXBlLnNoPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoayl7ayYxMjgmJmRsKGYsZyxoLCJpbnZhbGlkIHRhZyIpOyhrJjcpIT0yJiZkbChmLGcsaCwiaW52YWxpZCB3aXJlIHR5cGUiKTtmLnRoPWs+Pj4zO2YudGghPTEmJmYudGghPTImJmYudGghPTE1JiZkbChmLGcsaCwidW5leHBlY3RlZCB0YWciKTtmLnJoPTE7Zi5xaD0wO2Yud2g9MH1mdW5jdGlvbiBjKGspe2Yud2grKztmLndoPT01JiZrJjI0MCYmZGwoZixnLGgsIm1lc3NhZ2UgbGVuZ3RoIHRvbyBsb25nIik7Zi5xaHw9KGsmMTI3KTw8KGYud2gtMSkqNztrJjEyOHx8KGYucmg9MixmLnloPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9mLnhoPW5ldyBVaW50OEFycmF5KGYucWgpOmYueGg9QXJyYXkoZi5xaCksZi5xaD09MCYmZSgpKX1mdW5jdGlvbiBkKGspe2YueGhbZi55aCsrXT1rO2YueWg9PWYucWgmJmUoKX1mdW5jdGlvbiBlKCl7aWYoZi50aDwxNSl7bGV0IGs9e307a1tmLnRoXT1mLnhoOwpmLnpoLnB1c2goayl9Zi5yaD0wfWZvcih2YXIgZj10aGlzLGc9YSBpbnN0YW5jZW9mIEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYSksaD0wO2g8Zy5sZW5ndGg7KXtzd2l0Y2goZi5yaCl7Y2FzZSAzOmRsKGYsZyxoLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6YihnW2hdKTticmVhaztjYXNlIDE6YyhnW2hdKTticmVhaztjYXNlIDI6ZChnW2hdKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKCJ1bmV4cGVjdGVkIHBhcnNlciBzdGF0ZTogIitmLnJoKTt9Zi5DaCsrO2grK31hPWYuemg7Zi56aD1bXTtyZXR1cm4gYS5sZW5ndGg+MD9hOm51bGx9O2VsLnByb3RvdHlwZS5CaD1mdW5jdGlvbigpe3JldHVybiExfTtlbC5wcm90b3R5cGUuc2g9ZnVuY3Rpb24oYSl7dGhpcy5xaCE9PW51bGwmJlZiYSh0aGlzLGEsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO3ZhciBiPW51bGw7dHJ5e3t2YXIgYz10aGlzLnRoO2Muc2h8fFRiYShjLGEsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2MucWgrPWE7bGV0IGY9TWF0aC5mbG9vcihjLnFoLmxlbmd0aC80KTtpZihmPT0wKXZhciBkPW51bGw7ZWxzZXt0cnl7dmFyIGU9Xy5XYyhjLnFoLnNsaWNlKDAsZio0KSl9Y2F0Y2goZyl7VGJhKGMsYy5xaCxnLm1lc3NhZ2UpfWMucmgrPWYqNDtjLnFoPWMucWguc2xpY2UoZio0KTtkPWV9fWI9ZD09PW51bGw/bnVsbDp0aGlzLndoLnNoKGQpfWNhdGNoKGYpe1ZiYSh0aGlzLGEsZi5tZXNzYWdlKX10aGlzLnJoKz1hLmxlbmd0aDtyZXR1cm4gYn07Z2wucHJvdG90eXBlLmRvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55aD09PTJ9O2dsLnByb3RvdHlwZS5CaD1mdW5jdGlvbigpe3JldHVybiExfTsKZ2wucHJvdG90eXBlLnNoPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtmb3IoO3E8YS5sZW5ndGg7KWlmKGZsKGFbcV0pKXErKyxmLnRoKys7ZWxzZSBicmVhaztyZXR1cm4gcTxrfWZ1bmN0aW9uIGMoKXtmb3IodmFyIHg7Oyl7eD1hW3ErK107aWYoIXgpYnJlYWs7Zi50aCsrO3N3aXRjaChmLnFoKXtjYXNlIDA6eD09PSJ7Ij9mLnFoPTI6eD09PSJbIj9mLnFoPTQ6ZmwoeCl8fGhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKGZsKHgpKWNvbnRpbnVlO2lmKGYucWg9PT03KWcucHVzaCg4KTtlbHNlIGlmKHg9PT0ifSIpe2UoInt9Iik7Zi5xaD1kKCk7Y29udGludWV9ZWxzZSBnLnB1c2goMyk7eD09PSciJz9mLnFoPTY6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoZmwoeCkpY29udGludWU7eD09PSI6Ij8oZi5xaD09PTMmJihnLnB1c2goMyksZi5yaCsrKSxmLnFoPTEpOng9PT0ifSI/KGYucmgtLSxlKCksZi5xaD1kKCkpOng9PT0iLCI/KGYucWg9PT0KMyYmZy5wdXNoKDMpLGYucWg9Nyk6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgNDpjYXNlIDE6aWYoZmwoeCkpY29udGludWU7aWYoZi5xaD09PTQpaWYoZi5yaCsrLGYucWg9MSx4PT09Il0iKXtmLnJoLS07aWYoZi5yaD09PTApe2YucWg9NTtyZXR1cm59ZSgiW10iKTtmLnFoPWQoKTtjb250aW51ZX1lbHNlIGcucHVzaCg1KTt4PT09JyInP2YucWg9Njp4PT09InsiP2YucWg9Mjp4PT09IlsiP2YucWg9NDp4PT09InQiP2YucWg9OTp4PT09ImYiP2YucWg9MTI6eD09PSJuIj9mLnFoPTE2OnghPT0iLSImJigiMDEyMzQ1Njc4OSIuaW5kZXhPZih4KSE9PS0xP2YucWg9MjA6aGwoZixhLHEpKTtjb250aW51ZTtjYXNlIDU6aWYoeD09PSIsIilnLnB1c2goNSksZi5xaD0xLGYucmg9PT0xJiYocD1xKTtlbHNlIGlmKHg9PT0iXSIpe2YucmgtLTtpZihmLnJoPT09MClyZXR1cm47ZSgpO2YucWg9ZCgpfWVsc2UgaWYoZmwoeCkpY29udGludWU7ZWxzZSBobChmLGEscSk7Y29udGludWU7Y2FzZSA2OmxldCB6PQpxO2E6Zm9yKDs7KXtmb3IoO2YuQWg+MDspaWYoeD1hW3ErK10sZi5BaD09PTQ/Zi5BaD0wOmYuQWgrKywheClicmVhayBhO2lmKHg9PT0nIicmJiFmLnpoKXtmLnFoPWQoKTticmVha31pZih4PT09IlxcIiYmIWYuemgmJihmLnpoPSEwLHg9YVtxKytdLCF4KSlicmVhaztpZihmLnpoKWlmKGYuemg9ITEseD09PSJ1IiYmKGYuQWg9MSkseD1hW3ErK10pY29udGludWU7ZWxzZSBicmVhaztoLmxhc3RJbmRleD1xO3g9aC5leGVjKGEpO2lmKCF4KXtxPWEubGVuZ3RoKzE7YnJlYWt9cT14LmluZGV4KzE7eD1hW3guaW5kZXhdO2lmKCF4KWJyZWFrfWYudGgrPXEtejtjb250aW51ZTtjYXNlIDk6aWYoIXgpY29udGludWU7eD09PSJyIj9mLnFoPTEwOmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDEwOmlmKCF4KWNvbnRpbnVlO3g9PT0idSI/Zi5xaD0xMTpobChmLGEscSk7Y29udGludWU7Y2FzZSAxMTppZigheCljb250aW51ZTt4PT09ImUiP2YucWg9ZCgpOmhsKGYsYSxxKTtjb250aW51ZTsKY2FzZSAxMjppZigheCljb250aW51ZTt4PT09ImEiP2YucWg9MTM6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXgpY29udGludWU7eD09PSJsIj9mLnFoPTE0OmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDE0OmlmKCF4KWNvbnRpbnVlO3g9PT0icyI/Zi5xaD0xNTpobChmLGEscSk7Y29udGludWU7Y2FzZSAxNTppZigheCljb250aW51ZTt4PT09ImUiP2YucWg9ZCgpOmhsKGYsYSxxKTtjb250aW51ZTtjYXNlIDE2OmlmKCF4KWNvbnRpbnVlO3g9PT0idSI/Zi5xaD0xNzpobChmLGEscSk7Y29udGludWU7Y2FzZSAxNzppZigheCljb250aW51ZTt4PT09ImwiP2YucWg9MTg6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMTg6aWYoIXgpY29udGludWU7eD09PSJsIj9mLnFoPWQoKTpobChmLGEscSk7Y29udGludWU7Y2FzZSAxOTp4PT09Ii4iP2YucWg9MjA6aGwoZixhLHEpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZih4KSE9PS0xKWNvbnRpbnVlOwplbHNlIHEtLSxmLnRoLS0sZi5xaD1kKCk7Y29udGludWU7ZGVmYXVsdDpobChmLGEscSl9fX1mdW5jdGlvbiBkKCl7dmFyIHg9Zy5wb3AoKTtyZXR1cm4geCE9bnVsbD94OjF9ZnVuY3Rpb24gZSh4KXtmLnJoPjF8fCh4fHwoeD1wPT09LTE/Zi53aCthLnN1YnN0cmluZyhtLHEpOmEuc3Vic3RyaW5nKHAscSkpLGYuRGg/Zi54aC5wdXNoKHgpOmYueGgucHVzaChKU09OLnBhcnNlKHgpKSxwPXEpfWZvcih2YXIgZj10aGlzLGc9Zi5GaCxoPWYuR2gsaz1hLmxlbmd0aCxtPTAscD0tMSxxPTA7cTxrOylzd2l0Y2goZi55aCl7Y2FzZSAzOnJldHVybiBobChmLGEscSksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmaGwoZixhLHEpLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHU9YVtxKytdO2YudGgrKztpZih1PT09IlsiKXtmLnloPTE7bT1xO2YucWg9NDtjb250aW51ZX1lbHNlIGhsKGYsYSxxKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLnJoPT09MCYmZi5xaD09NT8oZi55aD0KMixmLndoPWEuc3Vic3RyaW5nKHEpKTpmLndoPXA9PT0tMT9mLndoK2Euc3Vic3RyaW5nKG0pOmEuc3Vic3RyaW5nKHApLGYueGgubGVuZ3RoPjA/KHU9Zi54aCxmLnhoPVtdLHUpOm51bGx9cmV0dXJuIG51bGx9O2lsLnByb3RvdHlwZS5CaD1mdW5jdGlvbigpe3JldHVybiExfTsKaWwucHJvdG90eXBlLnNoPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoayl7Zi5yaD02O2YueGg9IlRoZSBzdHJlYW0gaXMgYnJva2VuIEAiK2YucWgrIi8iK2crIi4gRXJyb3I6ICIraysiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihmLnhoKTt9ZnVuY3Rpb24gYygpe2YudGg9bmV3IGdsKHtxUzohMCxqTTohMH0pfWZ1bmN0aW9uIGQoayl7aWYoaylmb3IobGV0IG09MDttPGsubGVuZ3RoO20rKyl7bGV0IHA9e307cFsxXT1rW21dO2Yud2gucHVzaChwKX19ZnVuY3Rpb24gZShrKXtpZihrKXsoZi56aHx8ay5sZW5ndGg+MSkmJmIoImV4dHJhIHN0YXR1czogIitrKTtmLnpoPSEwO2xldCBtPXt9O21bMl09a1swXTtmLndoLnB1c2gobSl9fWZvcih2YXIgZj10aGlzLGc9MDtnPGEubGVuZ3RoOyl7dmFyIGg7aWYoaD1mLnJoIT09Mil7YTp7Zm9yKDtnPGEubGVuZ3RoOyl7aWYoIWZsKGFbZ10pKXtoPSEwO2JyZWFrIGF9ZysrO2YucWgrK31oPSExfWg9IWh9aWYoaClyZXR1cm4gbnVsbDsKc3dpdGNoKGYucmgpe2Nhc2UgNjpiKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6YVtnXT09PSJbIj8oZi5yaD0xLGcrKyxmLnFoKyspOmIoInVuZXhwZWN0ZWQgaW5wdXQgdG9rZW4iKTticmVhaztjYXNlIDE6YVtnXT09PSJbIj8oZi5yaD0yLGMoKSk6YVtnXT09PSIsInx8YS5zbGljZShnLGcrNSk9PSJudWxsLCI/Zi5yaD0zOmFbZ109PT0iXSI/KGYucmg9NSxnKyssZi5xaCsrKTpiKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOmg9Zi50aC5zaChhLnN1YnN0cmluZyhnKSk7ZChoKTtmLnRoLmRvbmUoKT8oZi5yaD0zLGg9Zi50aC53aCxmLnFoKz1hLmxlbmd0aC1nLWgubGVuZ3RoLGE9aCxnPTApOihmLnFoKz1hLmxlbmd0aC1nLGc9YS5sZW5ndGgpO2JyZWFrO2Nhc2UgMzphW2ddPT09IiwifHxhLnNsaWNlKGcsZys1KT09Im51bGwsIj8oZi5yaD00LGMoKSxmLnRoLnNoKCJbIiksZys9YVtnXT09PSIsIj8xOjUsZi5xaCsrKTphW2ddPT09CiJdIiYmKGYucmg9NSxnKyssZi5xaCsrKTticmVhaztjYXNlIDQ6aD1mLnRoLnNoKGEuc3Vic3RyaW5nKGcpKTtlKGgpO2YudGguZG9uZSgpPyhmLnJoPTUsaD1mLnRoLndoLGYucWgrPWEubGVuZ3RoLWctaC5sZW5ndGgsYT1oLGc9MCk6KGYucWgrPWEubGVuZ3RoLWcsZz1hLmxlbmd0aCk7YnJlYWs7Y2FzZSA1OmIoImV4dHJhIGlucHV0IGFmdGVyIHN0cmVhbSBlbmQiKX19cmV0dXJuIGYud2gubGVuZ3RoPjA/KGE9Zi53aCxmLndoPVtdLGEpOm51bGx9O3ZhciBkY2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hO3RoaXMucmg9bnVsbDt0aGlzLndoPXRoaXMuc2g9MDt0aGlzLkFoPSExO3RoaXMudGg9dGhpcy56aD10aGlzLnhoPW51bGw7dGhpcy55aD1uZXcgXy4kayh0aGlzKTtfLmFsKHRoaXMueWgsdGhpcy5xaCwicmVhZHlzdGF0ZWNoYW5nZSIsdGhpcy5CaCl9Z2V0U3RhdHVzKCl7cmV0dXJuIHRoaXMud2h9QmgoYSl7YT1hLnRhcmdldDt0cnl7aWYoYT09dGhpcy5xaClhOntsZXQgZj1fLk5rKHRoaXMucWgpO3ZhciBiPXRoaXMucWguc2gsYz10aGlzLnFoLmdldFN0YXR1cygpO2xldCBnPXRoaXMucWguUnIoKTthPVtdO2lmKF8uUGsodGhpcy5xaClpbnN0YW5jZW9mIEFycmF5KXtsZXQgaD1fLlBrKHRoaXMucWgpO2gubGVuZ3RoPjAmJmhbMF1pbnN0YW5jZW9mIFVpbnQ4QXJyYXkmJih0aGlzLkFoPSEwLGE9aCl9aWYoIShmPDN8fGY9PTMmJiFnJiZhLmxlbmd0aD09MCkpaWYoYz1jPT0yMDB8fGM9PTIwNixmPT00JiYoYj09Cjg/amwodGhpcyw3KTpiPT03P2psKHRoaXMsOCk6Y3x8amwodGhpcywzKSksdGhpcy5yaHx8KHRoaXMucmg9V2JhKHRoaXMucWgpLHRoaXMucmg9PW51bGwmJmpsKHRoaXMsNSkpLHRoaXMud2g+MilrbCh0aGlzKTtlbHNle2lmKGEubGVuZ3RoPnRoaXMuc2gpe2xldCBoPWEubGVuZ3RoO2I9W107dHJ5e2lmKHRoaXMucmguQmgoKSlmb3IodmFyIGQ9MDtkPGg7ZCsrKXt2YXIgZT10aGlzLnJoLnNoKEFycmF5LmZyb20oYVtkXSkpO2UmJihiPWIuY29uY2F0KGUpKX1lbHNle2U9IiI7aWYoIXRoaXMueGgpe2lmKHR5cGVvZiBUZXh0RGVjb2Rlcj09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJUZXh0RGVjb2RlciBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3Nlci4iKTt0aGlzLnhoPW5ldyBUZXh0RGVjb2Rlcn1mb3IoZD0wO2Q8aDtkKyspZSs9dGhpcy54aC5kZWNvZGUoYVtkXSx7c3RyZWFtOmY9PTQmJmQ9PWgtMX0pO2I9dGhpcy5yaC5zaChlKX1hLnNwbGljZSgwLGgpO2ImJgp0aGlzLnRoKGIpfWNhdGNoKGspe2psKHRoaXMsNSk7a2wodGhpcyk7YnJlYWsgYX19ZWxzZSBpZihnLmxlbmd0aD50aGlzLnNoKXtkPWcuc2xpY2UodGhpcy5zaCk7dGhpcy5zaD1nLmxlbmd0aDt0cnl7bGV0IGg9dGhpcy5yaC5zaChkKTtoIT1udWxsJiZ0aGlzLnRoJiZ0aGlzLnRoKGgpfWNhdGNoKGgpe2psKHRoaXMsNSk7a2wodGhpcyk7YnJlYWsgYX19Zj09ND8oZy5sZW5ndGghPTB8fHRoaXMuQWg/amwodGhpcywyKTpqbCh0aGlzLDQpLGtsKHRoaXMpKTpqbCh0aGlzLDEpfX19Y2F0Y2goZil7amwodGhpcyw2KSxrbCh0aGlzKX19fTt2YXIgZWNhPWNsYXNze2NvbnN0cnVjdG9yKGEpe2E9dGhpcy5zaD1hO3ZhciBiPSgwLF8uaWIpKHRoaXMudGgsdGhpcyk7YS50aD1iO2E9dGhpcy5zaDtiPSgwLF8uaWIpKHRoaXMud2gsdGhpcyk7YS56aD1iO3RoaXMucmg9e307dGhpcy5xaD17fX1ycChhLGIpe3ZhciBjPXRoaXMucmhbYV07Y3x8KGM9W10sdGhpcy5yaFthXT1jKTtjLnB1c2goYil9YWRkTGlzdGVuZXIoYSxiKXt0aGlzLnJwKGEsYik7cmV0dXJuIHRoaXN9cmVtb3ZlTGlzdGVuZXIoYSxiKXt2YXIgYz10aGlzLnJoW2FdO2MmJl8ueWMoYyxiKTsoYT10aGlzLnFoW2FdKSYmXy55YyhhLGIpO3JldHVybiB0aGlzfW9uY2UoYSxiKXt2YXIgYz10aGlzLnFoW2FdO2N8fChjPVtdLHRoaXMucWhbYV09Yyk7Yy5wdXNoKGIpO3JldHVybiB0aGlzfXRoKGEpe3ZhciBiPXRoaXMucmguZGF0YTtiJiZYYmEoYSxiKTsoYj10aGlzLnFoLmRhdGEpJiZYYmEoYSxiKTt0aGlzLnFoLmRhdGE9W119d2goKXtzd2l0Y2godGhpcy5zaC5nZXRTdGF0dXMoKSl7Y2FzZSAxOmxsKHRoaXMsCiJyZWFkYWJsZSIpO2JyZWFrO2Nhc2UgNTpjYXNlIDY6Y2FzZSA0OmNhc2UgNzpjYXNlIDM6bGwodGhpcywiZXJyb3IiKTticmVhaztjYXNlIDg6bGwodGhpcywiY2xvc2UiKTticmVhaztjYXNlIDI6bGwodGhpcywiZW5kIil9fX07Xy5Scj1jbGFzc3tjb25zdHJ1Y3RvcihhPXt9KXt0aGlzLnhGPWEueEZ8fFJhKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLGEpfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1hLndpdGhDcmVkZW50aWFsc3x8UmEoIndpdGhDcmVkZW50aWFscyIsYSl8fCExO3RoaXMudkY9YS52Rnx8W107dGhpcy5IRj1hLkhGfHxbXTt0aGlzLlRGPWEuVEY7dGhpcy5zaD1hLldUfHwhMX10aChhLGIsYyxkLGU9e30pe3ZhciBmPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtZC5uYW1lLmxlbmd0aCksZz1lPy5zaWduYWw7cmV0dXJuIFliYShoPT5uZXcgUHJvbWlzZSgoayxtKT0+e2lmKGc/LmFib3J0ZWQpe2xldCB1PW5ldyBfLlJrKDEsIkFib3J0ZWQiKTt1LmNhdXNlPWcucmVhc29uO20odSl9ZWxzZXt2YXIgcD17fSxxPWJjYSh0aGlzLGgsZik7cS5ycCgiZXJyb3IiLHU9PnZvaWQgbSh1KSk7cS5ycCgibWV0YWRhdGEiLHU9PntwPXV9KTtxLnJwKCJkYXRhIix1PT57ayhKYmEodSxwKSl9KTtnJiZnLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwKKCk9PntxLmNhbmNlbCgpO3ZhciB1PW5ldyBfLlJrKDEsIkFib3J0ZWQiKTt1LmNhdXNlPWcucmVhc29uO20odSl9KX19KSx0aGlzLkhGKS5jYWxsKHRoaXMsXy5IYmEoZCxiLGMpKS50aGVuKGg9PmgucFApfXFoKGEsYixjLGQsZT17fSl7cmV0dXJuIHRoaXMudGgoYSxiLGMsZCxlKX19O18uUnIucHJvdG90eXBlLnJoPV8uaGEoNyk7Xy5VZ2E9RXZlbnQ7Xy5Tcj1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1yaCgpe3JldHVybiBfLkgodGhpcywxKX10aCgpe3JldHVybiBfLkgodGhpcywyKX14aCgpe3JldHVybiBfLkpnKHRoaXMsMjEpfX07Xy5Tci5wcm90b3R5cGUucGw9Xy5oYSgxMyk7Xy5Tci5wcm90b3R5cGUua2o9Xy5oYSg4KTt2YXIgaWNhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXJoKCl7cmV0dXJuIF8uSCh0aGlzLDIpfX07dmFyIGRnYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18ubnE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0U3RhdHVzKCl7cmV0dXJuIF8uUGcodGhpcywxKX19O18ubnEucHJvdG90eXBlLnJoPV8uaGEoMTQpO3ZhciBiZ2E9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9cmgoKXtyZXR1cm4gXy5HKHRoaXMsXy5TciwzKX1DaCgpe3JldHVybiBfLkFnKHRoaXMsaWNhLDQpfXhoKCl7cmV0dXJuIF8uSCh0aGlzLDcpfXloKCl7cmV0dXJuIF8uSCh0aGlzLDE0KX10aCgpe3JldHVybiBfLkgodGhpcywxNyl9QmgoKXtyZXR1cm4gXy5KZyh0aGlzLDUxKX16aCgpe3JldHVybiBfLmpnKHRoaXMsNTIsXy5ZZSwxLHZvaWQgMCwxMDI0KX19O3ZhciBTZmE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgUmZhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIFZnYT1bMCxfLlosLTEsXy5VLC0yLF8uQXIsWzAsXy52cl0sWzAsXy5VLC00XSxbMCxfLlpdLF8uWixbMCxfLlUsXy5HcixfLlJdLF8uVSxfLndyXTtfLlRyPXt9O3ZhciBUZmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1uZXcgXy5LZ2E7Xy53aShiLkxpLGMsXy50aShhKSk7cmV0dXJuIF8uSWQoXy5haShjKSl9fShWZ2EpO18uVHJbNTI1MDA0MTgwXT1WZ2E7dmFyIGpjYT13aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKTtfLlVyPXtST0FETUFQOiJyb2FkbWFwIixTQVRFTExJVEU6InNhdGVsbGl0ZSIsSFlCUklEOiJoeWJyaWQiLFRFUlJBSU46InRlcnJhaW4ifTt2YXIgZ3I7Z3I9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYCR7Yn06ICR7Y306ICR7YX1gKTt0aGlzLmVuZHBvaW50PWI7dGhpcy5jb2RlPWM7dGhpcy5uYW1lPSJNYXBzTmV0d29ya0Vycm9yIn19O18uanI9Y2xhc3MgZXh0ZW5kcyBncntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSxiLGMpO3RoaXMubmFtZT0iTWFwc1NlcnZlckVycm9yIn19O18uaXI9Y2xhc3MgZXh0ZW5kcyBncntjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSxiLGMpO3RoaXMubmFtZT0iTWFwc1JlcXVlc3RFcnJvciJ9fTt2YXIgbGNhPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtfLmFhPV8uQmwucHJvdG90eXBlO18uYWEubms9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5xaDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O18uYWEuJD1fLkJsLnByb3RvdHlwZS5uaztfLmFhLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGJ8fHRoaXMucWgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9OwpfLmFhLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHZsKHRoaXMucWgsYSl9O18uYWEuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucWguY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKX07Xy5hYS5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uYWEuYXBwZW5kPWZ1bmN0aW9uKGEsYil7bmNhKF8uQWwoYSksYSxhcmd1bWVudHMsMSl9O18uYWEuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGEpe2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7c3dpdGNoKGEudGFnTmFtZSl7Y2FzZSAiQVBQTEVUIjpjYXNlICJBUkVBIjpjYXNlICJCQVNFIjpjYXNlICJCUiI6Y2FzZSAiQ09MIjpjYXNlICJDT01NQU5EIjpjYXNlICJFTUJFRCI6Y2FzZSAiRlJBTUUiOmNhc2UgIkhSIjpjYXNlICJJTUciOmNhc2UgIklOUFVUIjpjYXNlICJJRlJBTUUiOmNhc2UgIklTSU5ERVgiOmNhc2UgIktFWUdFTiI6Y2FzZSAiTElOSyI6Y2FzZSAiTk9GUkFNRVMiOmNhc2UgIk5PU0NSSVBUIjpjYXNlICJNRVRBIjpjYXNlICJPQkpFQ1QiOmNhc2UgIlBBUkFNIjpjYXNlICJTQ1JJUFQiOmNhc2UgIlNPVVJDRSI6Y2FzZSAiU1RZTEUiOmNhc2UgIlRSQUNLIjpjYXNlICJXQlIiOnJldHVybiExfXJldHVybiEwfTsKXy5hYS5jb250YWlucz1fLnpsO3ZhciBXZ2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnFoPV8uVWEuZG9jdW1lbnQ7dGhpcy5zaD1hLmluY2x1ZGVzKCIlcyIpP2E6cWNhKFthLCIlcyJdLCJqcyIpO3RoaXMucmg9IWJ8fGIuaW5jbHVkZXMoIiVzIik/YjpxY2EoW2IsIiVzIl0sImNzcy5qcyIpfVBBKGEsYixjKXtpZih0aGlzLnJoKXtsZXQgZD1fLkVsKHRoaXMucmgucmVwbGFjZSgiJXMiLGEpKTtwY2EodGhpcy5xaCxkKX1hPV8uRWwodGhpcy5zaC5yZXBsYWNlKCIlcyIsYSkpO3BjYSh0aGlzLnFoLGEsYixjKX19O18uVnI9YT0+e3ZhciBiPSJlQiI7aWYoYS5lQiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS5lQjt2YXIgYz1uZXcgYTthLmVCPWM7YS5oYXNPd25Qcm9wZXJ0eShiKTtyZXR1cm4gY307dmFyIEdsPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5yZXF1ZXN0ZWRNb2R1bGVzPXt9O3RoaXMucmg9e307dGhpcy54aD17fTt0aGlzLnFoPXt9O3RoaXMuemg9bmV3IFNldDt0aGlzLnNoPW5ldyBYZ2E7dGhpcy55aD0hMTt0aGlzLndoPXt9fWluaXQoYSxiLGMsZD1udWxsLGU9KCk9Pnt9LGY9bmV3IFdnYShhLGQpLGcpe3RoaXMuTXM9ZTt0aGlzLnloPSEhZDt0aGlzLnNoLmluaXQoYixjLGYpO2lmKHRoaXMudGg9Zyl7YT1PYmplY3Qua2V5cyh0aGlzLnFoKTtmb3IobGV0IGggb2YgYSl0aGlzLnRoKGgpfX1sbihhLGIpe3JjYSh0aGlzLGEpLnNPPWI7dGhpcy56aC5hZGQoYSk7dWNhKHRoaXMsYSl9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIF8uVnIoR2wpfX0sWWdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLnNoPWE7dGhpcy5xaD1iO3RoaXMucmg9YzthPXt9O2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhiKSl7Yz1iW2RdO2xldCBlPWMubGVuZ3RoO2ZvcihsZXQgZj0KMDtmPGU7KytmKXtsZXQgZz1jW2ZdO2FbZ118fChhW2ddPVtdKTthW2ddLnB1c2goZCl9fXRoaXMudGg9YX19LFhnYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9W119aW5pdChhLGIsYyl7YT10aGlzLmNvbmZpZz1uZXcgWWdhKGMsYSxiKTtiPXRoaXMucWgubGVuZ3RoO2ZvcihjPTA7YzxiOysrYyl0aGlzLnFoW2NdKGEpO3RoaXMucWgubGVuZ3RoPTB9fTtfLkxwPXt9O3ZhciBLbDtfLlpnYT1JbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoWyJlbiIucmVwbGFjZSgiXyIsIi0iKV0pLmxlbmd0aD4wO18uJGdhPSIwIi5jb2RlUG9pbnRBdCgwKTt2YXIgYWhhO2FoYT1mdW5jdGlvbihhKXtyZXR1cm4gYSUxMD09MSYmYSUxMDAhPTExPyJvbmUiOmElMTA9PTImJmElMTAwIT0xMj8idHdvIjphJTEwPT0zJiZhJTEwMCE9MTM/ImZldyI6Im90aGVyIn07Xy5iaGE9YWhhPWZ1bmN0aW9uKCl7dmFyIGE9e3plcm86Inplcm8iLG9uZToib25lIix0d286InR3byIsZmV3OiJmZXciLG1hbnk6Im1hbnkiLG90aGVyOiJvdGhlciJ9LGI9bnVsbCxjPW51bGw7cmV0dXJuIGZ1bmN0aW9uKGQsZSl7dmFyIGY9ZT09PXZvaWQgMD8tMTplO2M9PT1udWxsJiYoYz1uZXcgTWFwKTtiPWMuZ2V0KGYpO2lmKCFiKXtsZXQgZz0iIjtnPSJlbiIucmVwbGFjZSgiXyIsIi0iKTtiPWY9PT0tMT9uZXcgSW50bC5QbHVyYWxSdWxlcyhnLHt0eXBlOiJvcmRpbmFsIn0pOm5ldyBJbnRsLlBsdXJhbFJ1bGVzKGcse3R5cGU6Im9yZGluYWwiLG1pbmltdW1GcmFjdGlvbkRpZ2l0czplfSk7Yy5zZXQoZixiKX1kPWIuc2VsZWN0KGQpO3JldHVybiBhW2RdfX0oKTt2YXIgY2hhO2NoYT1mdW5jdGlvbihhLGIpe2lmKHZvaWQgMD09PWIpe2I9YSsiIjt2YXIgYz1iLmluZGV4T2YoIi4iKTtiPU1hdGgubWluKGM9PT0tMT8wOmIubGVuZ3RoLWMtMSwzKX1jPU1hdGgucG93KDEwLGIpO2I9e3Y6YixmOihhKmN8MCklY307cmV0dXJuKGF8MCk9PTEmJmIudj09MD8ib25lIjoib3RoZXIifTsKXy5kaGE9Y2hhPWZ1bmN0aW9uKCl7dmFyIGE9e3plcm86Inplcm8iLG9uZToib25lIix0d286InR3byIsZmV3OiJmZXciLG1hbnk6Im1hbnkiLG90aGVyOiJvdGhlciJ9LGI9bnVsbCxjPW51bGw7cmV0dXJuIGZ1bmN0aW9uKGQsZSl7dmFyIGY9ZT09PXZvaWQgMD8tMTplO2M9PT1udWxsJiYoYz1uZXcgTWFwKTtiPWMuZ2V0KGYpO2lmKCFiKXtsZXQgZz0iIjtnPSJlbiIucmVwbGFjZSgiXyIsIi0iKTtiPWY9PT0tMT9uZXcgSW50bC5QbHVyYWxSdWxlcyhnKTpuZXcgSW50bC5QbHVyYWxSdWxlcyhnLHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6ZX0pO2Muc2V0KGYsYil9ZD1iLnNlbGVjdChkKTtyZXR1cm4gYVtkXX19KCk7Xy5laGE9UmVnRXhwKCInKFt7fSNdLio/KSciLCJnIik7Xy5maGE9UmVnRXhwKCInJyIsImciKTtVbC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBXcn07dmFyIFdyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07VWwucHJvdG90eXBlLnh4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3ZhciBWbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWF9eHgoKXtyZXR1cm4gbmV3IHljYSh0aGlzLnFoKCkpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIG5ldyBXbCh0aGlzLnFoKCkpfXJoKCl7cmV0dXJuIG5ldyBXbCh0aGlzLnFoKCkpfX0seWNhPWNsYXNzIGV4dGVuZHMgVWx7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPWF9bmV4dCgpe3JldHVybiB0aGlzLnFoLm5leHQoKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgV2wodGhpcy5xaCl9cmgoKXtyZXR1cm4gbmV3IFdsKHRoaXMucWgpfX0sV2w9Y2xhc3MgZXh0ZW5kcyBWbHtjb25zdHJ1Y3RvcihhKXtzdXBlcigoKT0+YSk7dGhpcy5zaD1hfW5leHQoKXtyZXR1cm4gdGhpcy5zaC5uZXh0KCl9fTtfLnFiKF8uWGwsQWNhKTtfLlhsLnByb3RvdHlwZS5saz1fLmhhKDE3KTtfLlhsLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHpjYSh0aGlzLnh4KCEwKSkucmgoKX07Xy5YbC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5mcm9tKHRoaXMpO2ZvcihsZXQgYiBvZiBhKXRoaXMucmVtb3ZlKGIpfTtfLnFiKF8uWWwsXy5YbCk7Xy5hYT1fLllsLnByb3RvdHlwZTtfLmFhLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5yaD09PW51bGwpe3ZhciBhPXRoaXMucWg7aWYoYSl0cnl7YS5zZXRJdGVtKCJfX3NhayIsIjEiKTthLnJlbW92ZUl0ZW0oIl9fc2FrIik7dmFyIGI9ITB9Y2F0Y2goYyl7Yj1jIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoYy5uYW1lPT09IlF1b3RhRXhjZWVkZWRFcnJvciJ8fGMuY29kZT09PTIyfHxjLmNvZGU9PT0xMDE0fHxjLm5hbWU9PT0iTlNfRVJST1JfRE9NX1FVT1RBX1JFQUNIRUQiKSYmYSYmYS5sZW5ndGghPT0wfWVsc2UgYj0hMTt0aGlzLnJoPWJ9cmV0dXJuIHRoaXMucmh9OwpfLmFhLnNldD1mdW5jdGlvbihhLGIpe18uWmwodGhpcyk7dHJ5e3RoaXMucWguc2V0SXRlbShhLGIpfWNhdGNoKGMpe2lmKHRoaXMucWgubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uYWEuZ2V0PWZ1bmN0aW9uKGEpe18uWmwodGhpcyk7YT10aGlzLnFoLmdldEl0ZW0oYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIiYmYSE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gYX07Xy5hYS5yZW1vdmU9ZnVuY3Rpb24oYSl7Xy5abCh0aGlzKTt0aGlzLnFoLnJlbW92ZUl0ZW0oYSl9O18uYWEubGs9Xy5oYSgxNik7Cl8uYWEueHg9ZnVuY3Rpb24oYSl7Xy5abCh0aGlzKTt2YXIgYj0wLGM9dGhpcy5xaCxkPW5ldyBVbDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gV3I7dmFyIGU9Yy5rZXkoYisrKTtpZihhKXJldHVybnt2YWx1ZTplLGRvbmU6ITF9O2U9Yy5nZXRJdGVtKGUpO2lmKHR5cGVvZiBlIT09InN0cmluZyIpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm57dmFsdWU6ZSxkb25lOiExfX07cmV0dXJuIGR9O18uYWEuY2xlYXI9ZnVuY3Rpb24oKXtfLlpsKHRoaXMpO3RoaXMucWguY2xlYXIoKX07Xy5hYS5rZXk9ZnVuY3Rpb24oYSl7Xy5abCh0aGlzKTtyZXR1cm4gdGhpcy5xaC5rZXkoYSl9O18ucWIoQmNhLF8uWWwpO3ZhciB1bT17fTt2YXIgRmNhPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm1lc3NhZ2U9YTt0aGlzLm5hbWU9IkludmFsaWRWYWx1ZUVycm9yIn19LEdjYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm1lc3NhZ2U9YTt0aGlzLm5hbWU9IkxpZ2h0d2VpZ2h0SW52YWxpZFZhbHVlRXJyb3IifX0sem09ITA7dmFyIGhvLCRyLGloYTtfLk9tPV8uSm0oXy5qbSwibm90IGEgbnVtYmVyIik7Xy5naGE9Xy5MbShfLk9tLGE9PntpZighTnVtYmVyLmlzSW50ZWdlcihhKSl0aHJvdyBfLkFtKGAke2F9IGlzIG5vdCBhbiBpbnRlZ2VyYCk7cmV0dXJuIGF9KTtfLmhoYT1fLkxtKF8uZ2hhLGE9PntpZihhPD0wKXRocm93IF8uQW0oYCR7YX0gaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlcmApO3JldHVybiBhfSk7aG89Xy5MbShfLk9tLGE9PntJY2EoYSk7cmV0dXJuIGF9KTtfLlhyPV8uTG0oXy5PbSxhPT57aWYoaXNGaW5pdGUoYSkpcmV0dXJuIGE7dGhyb3cgXy5BbShgJHthfSBpcyBub3QgYW4gYWNjZXB0ZWQgdmFsdWVgKTt9KTtfLllyPV8uTG0oXy5PbSxhPT57aWYoYT49MClyZXR1cm4gYTtJY2EoYSk7dGhyb3cgXy5BbShgJHthfSBpcyBhIG5lZ2F0aXZlIG51bWJlciB2YWx1ZWApO30pO18uWnI9Xy5MbShfLllyLF8uWHIpO18uY3I9Xy5KbShfLm1tLCJub3QgYSBzdHJpbmciKTsKJHI9Xy5KbShfLm5tLCJub3QgYSBib29sZWFuIik7aWhhPV8uSm0oYT0+dHlwZW9mIGE9PT0iZnVuY3Rpb24iLCJub3QgYSBmdW5jdGlvbiIpO18uYXM9Xy5NbShfLk9tKTtfLmJzPV8uTW0oXy5jcik7Xy5jcz1fLk1tKCRyKTtfLmRzPV8uTG0oXy5jcixhPT57aWYoYS5sZW5ndGg+MClyZXR1cm4gYTt0aHJvdyBfLkFtKCJlbXB0eSBzdHJpbmcgaXMgbm90IGFuIGFjY2VwdGVkIHZhbHVlIik7fSk7Xy5qaGE9Xy5MbShfLkVtKERhdGUsIkRhdGUiKSxhPT57aWYoaXNOYU4oYS5nZXRUaW1lKCkpKXRocm93IF8uQW0oImludmFsaWQgZGF0ZSIpO3JldHVybiBhfSk7dmFyIEpjYT1udWxsLFNtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD1uZXcgU2V0O3RoaXMucmg9bnVsbH1nZXQgZXhwZXJpZW5jZUlkcygpe3JldHVybiBuZXcgU2V0KHRoaXMucWgpfXNldCBleHBlcmllbmNlSWRzKGEpe2lmKHR5cGVvZiBhW1N5bWJvbC5pdGVyYXRvcl0hPT0iZnVuY3Rpb24ifHx0eXBlb2YgYT09PSJzdHJpbmciKXRocm93IF8uQW0oImV4cGVyaWVuY2VJZHMgbXVzdCBiZSBzZXQgdG8gYW4gaW5zdGFuY2Ugb2YgSXRlcmFibGU8c3RyaW5nPi4iKTtmb3IobGV0IGMgb2YgYSl0cnl7KDAsXy5kcykoYyk7YTp7Zm9yKGxldCBkPTA7ZDxjLmxlbmd0aCsxO2QrKyl7bGV0IGU7ZG97aWYoZD09PWMubGVuZ3RoKXt2YXIgYj0hMDticmVhayBhfWU9Yy5jaGFyQXQoZCsrKX13aGlsZShlPCJcdWQ4MDAifHxlPiJcdWRmZmYiKTtpZihlPj0iXHVkYzAwInx8ZD09PWMubGVuZ3RofHwhKGMuY2hhckF0KGQpPj0iXHVkYzAwIiYmYy5jaGFyQXQoZCk8Ilx1ZTAwMCIpKXtiPQohMTticmVhayBhfX1iPSEwfWlmKCFiKXRocm93IF8uQW0oIm11c3QgYmUgYSB3ZWxsLWZvcm1lZCBVVEYtMTYgc3RyaW5nLiIpO2lmKFsuLi5jXS5sZW5ndGg+NjQpdGhyb3cgXy5BbSgibXVzdCBiZSA2NCBjb2RlIHBvaW50cyBvciBzaG9ydGVyLiIpO2lmKC9bLzo/I10vLnRlc3QoYykpdGhyb3cgXy5BbSgnbXVzdCBub3QgY29udGFpbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBBU0NJSSBjaGFyYWN0ZXJzOiAiLyIsICI6IiwgIj8iIG9yICIjIicpO31jYXRjaChkKXt0aHJvdyBkLm1lc3NhZ2U9YEV4cGVyaWVuY2UgSUQgIiR7Y30iICR7ZC5tZXNzYWdlfWAsZDt9dGhpcy5xaC5jbGVhcigpO2ZvcihsZXQgYyBvZiBhKXRoaXMucWguYWRkKGMpfWdldCBmZXRjaEFwcENoZWNrVG9rZW4oKXtyZXR1cm4gdGhpcy5yaD09bnVsbD8oKT0+UHJvbWlzZS5yZXNvbHZlKHt0b2tlbjoiIn0pOnRoaXMucmh9c2V0IGZldGNoQXBwQ2hlY2tUb2tlbihhKXtfLk0od2luZG93LDIyODQ1Mik7dGhpcy5yaD0KYX19O1NtLmdldEluc3RhbmNlPUtjYTtfLnBxPXtUT1BfTEVGVDoxLFRPUF9DRU5URVI6MixUT1A6MixUT1BfUklHSFQ6MyxMRUZUX0NFTlRFUjo0LExFRlRfVE9QOjUsTEVGVDo1LExFRlRfQk9UVE9NOjYsUklHSFRfVE9QOjcsUklHSFQ6NyxSSUdIVF9DRU5URVI6OCxSSUdIVF9CT1RUT006OSxCT1RUT01fTEVGVDoxMCxCT1RUT01fQ0VOVEVSOjExLEJPVFRPTToxMSxCT1RUT01fUklHSFQ6MTIsQ0VOVEVSOjEzLEJMT0NLX1NUQVJUX0lOTElORV9TVEFSVDoxNCxCTE9DS19TVEFSVF9JTkxJTkVfQ0VOVEVSOjE1LEJMT0NLX1NUQVJUX0lOTElORV9FTkQ6MTYsSU5MSU5FX1NUQVJUX0JMT0NLX0NFTlRFUjoxNyxJTkxJTkVfU1RBUlRfQkxPQ0tfU1RBUlQ6MTgsSU5MSU5FX1NUQVJUX0JMT0NLX0VORDoxOSxJTkxJTkVfRU5EX0JMT0NLX1NUQVJUOjIwLElOTElORV9FTkRfQkxPQ0tfQ0VOVEVSOjIxLElOTElORV9FTkRfQkxPQ0tfRU5EOjIyLEJMT0NLX0VORF9JTkxJTkVfU1RBUlQ6MjMsQkxPQ0tfRU5EX0lOTElORV9DRU5URVI6MjQsCkJMT0NLX0VORF9JTkxJTkVfRU5EOjI1LDE6IlRPUF9MRUZUIiwyOiJUT1AiLDM6IlRPUF9SSUdIVCIsNDoiTEVGVF9DRU5URVIiLDU6IkxFRlQiLDY6IkxFRlRfQk9UVE9NIiw3OiJSSUdIVCIsODoiUklHSFRfQ0VOVEVSIiw5OiJSSUdIVF9CT1RUT00iLDEwOiJCT1RUT01fTEVGVCIsMTE6IkJPVFRPTSIsMTI6IkJPVFRPTV9SSUdIVCIsMTM6IkNFTlRFUiIsMTQ6IkJMT0NLX1NUQVJUX0lOTElORV9TVEFSVCIsMTU6IkJMT0NLX1NUQVJUX0lOTElORV9DRU5URVIiLDE2OiJCTE9DS19TVEFSVF9JTkxJTkVfRU5EIiwxNzoiSU5MSU5FX1NUQVJUX0JMT0NLX0NFTlRFUiIsMTg6IklOTElORV9TVEFSVF9CTE9DS19TVEFSVCIsMTk6IklOTElORV9TVEFSVF9CTE9DS19FTkQiLDIwOiJJTkxJTkVfRU5EX0JMT0NLX1NUQVJUIiwyMToiSU5MSU5FX0VORF9CTE9DS19DRU5URVIiLDIyOiJJTkxJTkVfRU5EX0JMT0NLX0VORCIsMjM6IkJMT0NLX0VORF9JTkxJTkVfU1RBUlQiLDI0OiJCTE9DS19FTkRfSU5MSU5FX0NFTlRFUiIsCjI1OiJCTE9DS19FTkRfSU5MSU5FX0VORCJ9O3ZhciBmZmE9e0RFRkFVTFQ6MCxTTUFMTDoxLEFORFJPSUQ6MixaT09NX1BBTjozLFBSOjQsYUw6NSwwOiJERUZBVUxUIiwxOiJTTUFMTCIsMjoiQU5EUk9JRCIsMzoiWk9PTV9QQU4iLDQ6IlJPVEFURV9PTkxZIiw1OiJUT1VDSCJ9O3ZhciBnZmE9e0RFRkFVTFQ6MH07dmFyIGhmYT17REVGQVVMVDowLFNNQUxMOjEsTEFSR0U6MixhTDozLDA6IkRFRkFVTFQiLDE6IlNNQUxMIiwyOiJMQVJHRSIsMzoiVE9VQ0gifTt2YXIgWm09Y2xhc3N7fTt2YXIga2hhPXtJUjoiUG9pbnQiLHZSOiJMaW5lU3RyaW5nIixQT0xZR09OOiJQb2x5Z29uIn07dmFyIExjYT1fLkNtKHtsYXQ6Xy5PbSxsbmc6Xy5PbX0sITApLE5jYT1fLkNtKHtsYXQ6Xy5Ycixsbmc6Xy5Ycn0sITApO18uVG0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIigiK3RoaXMubGF0KCkrIiwgIit0aGlzLmxuZygpKyIpIn07Xy5UbS5wcm90b3R5cGUudG9TdHJpbmc9Xy5UbS5wcm90b3R5cGUudG9TdHJpbmc7Xy5UbS5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue2xhdDp0aGlzLmxhdCgpLGxuZzp0aGlzLmxuZygpfX07Xy5UbS5wcm90b3R5cGUudG9KU09OPV8uVG0ucHJvdG90eXBlLnRvSlNPTjtfLlRtLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7dmFyIGI9YSBpbnN0YW5jZW9mIF8uVG0/YS5sYXQoKTphLmxhdDthPWEgaW5zdGFuY2VvZiBfLlRtP2EubG5nKCk6YS5sbmc7cmV0dXJuIHR5cGVvZiBiIT09Im51bWJlciJ8fHR5cGVvZiBhIT09Im51bWJlciI/ITE6Xy5pbSh0aGlzLmxhdCgpLGIpJiZfLmltKHRoaXMubG5nKCksYSl9O18uVG0ucHJvdG90eXBlLmVxdWFscz1fLlRtLnByb3RvdHlwZS5lcXVhbHM7Cl8uVG0ucHJvdG90eXBlLmVxdWFscz1fLlRtLnByb3RvdHlwZS5lcXVhbHM7Xy5UbS5wcm90b3R5cGUudG9VcmxWYWx1ZT1mdW5jdGlvbihhKXthPWEhPT12b2lkIDA/YTo2O3JldHVybiBNY2EodGhpcy5sYXQoKSxhKSsiLCIrTWNhKHRoaXMubG5nKCksYSl9O18uVG0ucHJvdG90eXBlLnRvVXJsVmFsdWU9Xy5UbS5wcm90b3R5cGUudG9VcmxWYWx1ZTt2YXIgcWRhO18uZXM9Xy5HbShfLlhtKTtxZGE9Xy5HbShfLlltKTtfLiRtPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmVsZW1lbnRzPV8uWG0oYSl9Z2V0VHlwZSgpe3JldHVybiJQb2ludCJ9Zm9yRWFjaExhdExuZyhhKXthKHRoaXMuZWxlbWVudHMpfWdldCgpe3JldHVybiB0aGlzLmVsZW1lbnRzfX07Xy4kbS5wcm90b3R5cGUuZ2V0PV8uJG0ucHJvdG90eXBlLmdldDtfLiRtLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nPV8uJG0ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc7Xy4kbS5wcm90b3R5cGUuZ2V0VHlwZT1fLiRtLnByb3RvdHlwZS5nZXRUeXBlO18uJG0ucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uJG0ucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBsaGE9Xy5HbShjbik7dmFyIE9jYT1uZXcgU2V0O3ZhciBRY2EsbWhhO1FjYT1uZXcgU2V0KFsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsIndoZWVsIiwibW91c2V3aGVlbCJdKTtfLmZzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiZ29vZ2xlLm1hcHMuZXZlbnQgaXMgbm90IGEgY29uc3RydWN0b3IiKTt9fTtfLmZzLnRyaWdnZXI9Xy53bjtfLmZzLmFkZExpc3RlbmVyT25jZT1fLnRuOwpfLmZzLmFkZERvbUxpc3RlbmVyT25jZT1mdW5jdGlvbihhLGIsYyxkKXtfLmRuKCJnb29nbGUubWFwcy5ldmVudC5hZGREb21MaXN0ZW5lck9uY2UoKSBpcyBkZXByZWNhdGVkLCB1c2UgdGhlXG5zdGFuZGFyZCBhZGRFdmVudExpc3RlbmVyKCkgbWV0aG9kIGluc3RlYWQ6XG5odHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvRXZlbnRUYXJnZXQvYWRkRXZlbnRMaXN0ZW5lclxuVGhlIGZlYXR1cmUgd2lsbCBjb250aW51ZSB0byB3b3JrIGFuZCB0aGVyZSBpcyBubyBwbGFuIHRvIGRlY29tbWlzc2lvblxuaXQuIik7cmV0dXJuIF8ucm4oYSxiLGMsZCl9OwpfLmZzLmFkZERvbUxpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uZG4oImdvb2dsZS5tYXBzLmV2ZW50LmFkZERvbUxpc3RlbmVyKCkgaXMgZGVwcmVjYXRlZCwgdXNlIHRoZSBzdGFuZGFyZFxuYWRkRXZlbnRMaXN0ZW5lcigpIG1ldGhvZCBpbnN0ZWFkOlxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0L2FkZEV2ZW50TGlzdGVuZXJcblRoZSBmZWF0dXJlIHdpbGwgY29udGludWUgdG8gd29yayBhbmQgdGhlcmUgaXMgbm8gcGxhbiB0byBkZWNvbW1pc3Npb25cbml0LiIpO3JldHVybiBfLnFuKGEsYixjLGQpfTtfLmZzLmNsZWFySW5zdGFuY2VMaXN0ZW5lcnM9Xy5wbjtfLmZzLmNsZWFyTGlzdGVuZXJzPV8ub247Xy5mcy5yZW1vdmVMaXN0ZW5lcj1fLm1uO18uZnMuaGFzTGlzdGVuZXJzPV8ubG47Xy5mcy5hZGRMaXN0ZW5lcj1fLmtuOwpfLmpuPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZT0hMCl7dGhpcy5uRj1lO3RoaXMuaW5zdGFuY2U9YTt0aGlzLnFoPWI7dGhpcy5vcD1jO3RoaXMucmg9ZDt0aGlzLmlkPSsrbWhhO1NjYShhLGIpW3RoaXMuaWRdPXRoaXM7dGhpcy5uRiYmXy53bih0aGlzLmluc3RhbmNlLGAke3RoaXMucWh9X2FkZGVkYCl9cmVtb3ZlKCl7aWYodGhpcy5pbnN0YW5jZSl7aWYodGhpcy5pbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyJiYodGhpcy5yaD09PTF8fHRoaXMucmg9PT00KSl7bGV0IGE9e2NhcHR1cmU6dGhpcy5yaD09PTR9O1FjYS5oYXModGhpcy5xaCkmJihhLnBhc3NpdmU9ITEpO3RoaXMuaW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLnFoLHRoaXMub3AsYSl9ZGVsZXRlIFNjYSh0aGlzLmluc3RhbmNlLHRoaXMucWgpW3RoaXMuaWRdO3RoaXMubkYmJl8ud24odGhpcy5pbnN0YW5jZSxgJHt0aGlzLnFofV9yZW1vdmVkYCk7dGhpcy5vcD10aGlzLmluc3RhbmNlPW51bGx9fX07Cm1oYT0wO18uRnE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1udWxsO3RoaXMubmwoYSl9bmwoYSl7YT1hfHx7fTt0aGlzLnNoPWEuaWQ7dHJ5e3RoaXMucWg9YS5nZW9tZXRyeT9jbihhLmdlb21ldHJ5KTpudWxsfWNhdGNoKGIpe18uQm0oYil9dGhpcy5yaD1hLnByb3BlcnRpZXN8fHt9fWdldElkKCl7cmV0dXJuIHRoaXMuc2h9Z2V0R2VvbWV0cnkoKXtyZXR1cm4gdGhpcy5xaH1zZXRHZW9tZXRyeShhKXt2YXIgYj10aGlzLnFoO3RyeXt0aGlzLnFoPWE/Y24oYSk6bnVsbH1jYXRjaChjKXtfLkJtKGMpO3JldHVybn1fLnduKHRoaXMsInNldGdlb21ldHJ5Iix7ZmVhdHVyZTp0aGlzLG5ld0dlb21ldHJ5OnRoaXMucWgsb2xkR2VvbWV0cnk6Yn0pfWdldFByb3BlcnR5KGEpe3JldHVybiBxbSh0aGlzLnJoLGEpfXNldFByb3BlcnR5KGEsYil7aWYoYj09PXZvaWQgMCl0aGlzLnJlbW92ZVByb3BlcnR5KGEpO2Vsc2V7dmFyIGM9dGhpcy5nZXRQcm9wZXJ0eShhKTt0aGlzLnJoW2FdPWI7Xy53bih0aGlzLAoic2V0cHJvcGVydHkiLHtmZWF0dXJlOnRoaXMsbmFtZTphLG5ld1ZhbHVlOmIsb2xkVmFsdWU6Y30pfX1yZW1vdmVQcm9wZXJ0eShhKXt2YXIgYj10aGlzLmdldFByb3BlcnR5KGEpO2RlbGV0ZSB0aGlzLnJoW2FdO18ud24odGhpcywicmVtb3ZlcHJvcGVydHkiLHtmZWF0dXJlOnRoaXMsbmFtZTphLG9sZFZhbHVlOmJ9KX1mb3JFYWNoUHJvcGVydHkoYSl7Zm9yKGxldCBiIGluIHRoaXMucmgpYSh0aGlzLmdldFByb3BlcnR5KGIpLGIpfXRvR2VvSnNvbihhKXt2YXIgYj10aGlzO18uSGwoImRhdGEiKS50aGVuKGM9PntjLkVNKGIsYSl9KX19O18uRnEucHJvdG90eXBlLnRvR2VvSnNvbj1fLkZxLnByb3RvdHlwZS50b0dlb0pzb247Xy5GcS5wcm90b3R5cGUuZm9yRWFjaFByb3BlcnR5PV8uRnEucHJvdG90eXBlLmZvckVhY2hQcm9wZXJ0eTtfLkZxLnByb3RvdHlwZS5yZW1vdmVQcm9wZXJ0eT1fLkZxLnByb3RvdHlwZS5yZW1vdmVQcm9wZXJ0eTsKXy5GcS5wcm90b3R5cGUuc2V0UHJvcGVydHk9Xy5GcS5wcm90b3R5cGUuc2V0UHJvcGVydHk7Xy5GcS5wcm90b3R5cGUuZ2V0UHJvcGVydHk9Xy5GcS5wcm90b3R5cGUuZ2V0UHJvcGVydHk7Xy5GcS5wcm90b3R5cGUuc2V0R2VvbWV0cnk9Xy5GcS5wcm90b3R5cGUuc2V0R2VvbWV0cnk7Xy5GcS5wcm90b3R5cGUuZ2V0R2VvbWV0cnk9Xy5GcS5wcm90b3R5cGUuZ2V0R2VvbWV0cnk7Xy5GcS5wcm90b3R5cGUuZ2V0SWQ9Xy5GcS5wcm90b3R5cGUuZ2V0SWQ7Xy5GcS5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5GcS5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy53bShfLkZxKTt2YXIgWGNhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5mZWF0dXJlcz17fTt0aGlzLnVucmVnaXN0ZXI9e307dGhpcy5xaD17fX1jb250YWlucyhhKXtyZXR1cm4gdGhpcy5mZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eShfLnhuKGEpKX1nZXRGZWF0dXJlQnlJZChhKXtyZXR1cm4gcW0odGhpcy5xaCxhKX1hZGQoYSl7YT1hfHx7fTthPWEgaW5zdGFuY2VvZiBfLkZxP2E6bmV3IF8uRnEoYSk7aWYoIXRoaXMuY29udGFpbnMoYSkpe2xldCBjPWEuZ2V0SWQoKTtpZihjfHxjPT09MCl7dmFyIGI9dGhpcy5nZXRGZWF0dXJlQnlJZChjKTtiJiZ0aGlzLnJlbW92ZShiKX1iPV8ueG4oYSk7dGhpcy5mZWF0dXJlc1tiXT1hO2lmKGN8fGM9PT0wKXRoaXMucWhbY109YTtsZXQgZD1fLnZuKGEsInNldGdlb21ldHJ5Iix0aGlzKSxlPV8udm4oYSwic2V0cHJvcGVydHkiLHRoaXMpLGY9Xy52bihhLCJyZW1vdmVwcm9wZXJ0eSIsdGhpcyk7dGhpcy51bnJlZ2lzdGVyW2JdPSgpPT57Xy5tbihkKTtfLm1uKGUpOwpfLm1uKGYpfTtfLnduKHRoaXMsImFkZGZlYXR1cmUiLHtmZWF0dXJlOmF9KX1yZXR1cm4gYX1yZW1vdmUoYSl7dmFyIGI9Xy54bihhKSxjPWEuZ2V0SWQoKTtpZih0aGlzLmZlYXR1cmVzW2JdKXtkZWxldGUgdGhpcy5mZWF0dXJlc1tiXTtjJiZkZWxldGUgdGhpcy5xaFtjXTtpZihjPXRoaXMudW5yZWdpc3RlcltiXSlkZWxldGUgdGhpcy51bnJlZ2lzdGVyW2JdLGMoKTtfLnduKHRoaXMsInJlbW92ZWZlYXR1cmUiLHtmZWF0dXJlOmF9KX19Zm9yRWFjaChhKXtmb3IobGV0IGIgaW4gdGhpcy5mZWF0dXJlcyl0aGlzLmZlYXR1cmVzLmhhc093blByb3BlcnR5KGIpJiZhKHRoaXMuZmVhdHVyZXNbYl0pfX07Xy5Ybj0iY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNlbW92ZSBtb3VzZW91dCBtb3VzZW92ZXIgbW91c2V1cCByaWdodGNsaWNrIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpO3ZhciBuaGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPXt9fXRyaWdnZXIoYSl7Xy53bih0aGlzLCJjaGFuZ2VkIixhKX1nZXQoYSl7cmV0dXJuIHRoaXMucWhbYV19c2V0KGEsYil7dmFyIGM9dGhpcy5xaDtjW2FdfHwoY1thXT17fSk7Xy5ibShjW2FdLGIpO3RoaXMudHJpZ2dlcihhKX1yZXNldChhKXtkZWxldGUgdGhpcy5xaFthXTt0aGlzLnRyaWdnZXIoYSl9Zm9yRWFjaChhKXtfLmFtKHRoaXMucWgsYSl9fTtfLnluLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dmFyIGI9Q24odGhpcyk7YSs9IiI7Yj1xbShiLGEpO2lmKGIhPT12b2lkIDApe2lmKGIpe2E9Yi5ocTtiPWIubHc7bGV0IGM9ImdldCIrXy5CbihhKTtyZXR1cm4gYltjXT9iW2NdKCk6Yi5nZXQoYSl9cmV0dXJuIHRoaXNbYV19fTtfLnluLnByb3RvdHlwZS5nZXQ9Xy55bi5wcm90b3R5cGUuZ2V0O18ueW4ucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPUNuKHRoaXMpO2ErPSIiO3ZhciBkPXFtKGMsYSk7aWYoZClpZihhPWQuaHEsZD1kLmx3LGM9InNldCIrXy5CbihhKSxkW2NdKWRbY10oYik7ZWxzZSBkLnNldChhLGIpO2Vsc2UgdGhpc1thXT1iLGNbYV09bnVsbCxBbih0aGlzLGEpfTtfLnluLnByb3RvdHlwZS5zZXQ9Xy55bi5wcm90b3R5cGUuc2V0OwpfLnluLnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oYSl7dmFyIGI9Q24odGhpcyk7YSs9IiI7KGI9cW0oYixhKSk/Yi5sdy5ub3RpZnkoYi5ocSk6QW4odGhpcyxhKX07Xy55bi5wcm90b3R5cGUubm90aWZ5PV8ueW4ucHJvdG90eXBlLm5vdGlmeTtfLnluLnByb3RvdHlwZS5zZXRWYWx1ZXM9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpe2xldCBjPWFbYl0sZD0ic2V0IitfLkJuKGIpO2lmKHRoaXNbZF0pdGhpc1tkXShjKTtlbHNlIHRoaXMuc2V0KGIsYyl9fTtfLnluLnByb3RvdHlwZS5zZXRWYWx1ZXM9Xy55bi5wcm90b3R5cGUuc2V0VmFsdWVzO18ueW4ucHJvdG90eXBlLnNldE9wdGlvbnM9Xy55bi5wcm90b3R5cGUuc2V0VmFsdWVzO18ueW4ucHJvdG90eXBlLmNoYW5nZWQ9ZnVuY3Rpb24oKXt9O3ZhciBUY2E9e307Cl8ueW4ucHJvdG90eXBlLmJpbmRUbz1mdW5jdGlvbihhLGIsYyxkKXthKz0iIjtjPShjfHxhKSsiIjt0aGlzLnVuYmluZChhKTt2YXIgZT17bHc6dGhpcyxocTphfSxmPXtsdzpiLGhxOmMsekc6ZX07Q24odGhpcylbYV09Zjt6bihiLGMpW18ueG4oZSldPWU7ZHx8QW4odGhpcyxhKX07Xy55bi5wcm90b3R5cGUuYmluZFRvPV8ueW4ucHJvdG90eXBlLmJpbmRUbztfLnluLnByb3RvdHlwZS51bmJpbmQ9ZnVuY3Rpb24oYSl7dmFyIGI9Q24odGhpcyksYz1iW2FdO2MmJihjLnpHJiZkZWxldGUgem4oYy5sdyxjLmhxKVtfLnhuKGMuekcpXSx0aGlzW2FdPXRoaXMuZ2V0KGEpLGJbYV09bnVsbCl9O18ueW4ucHJvdG90eXBlLnVuYmluZD1fLnluLnByb3RvdHlwZS51bmJpbmQ7Xy55bi5wcm90b3R5cGUudW5iaW5kQWxsPWZ1bmN0aW9uKCl7dmFyIGE9KDAsXy5pYikodGhpcy51bmJpbmQsdGhpcyksYj1Dbih0aGlzKTtmb3IobGV0IGMgaW4gYilhKGMpfTsKXy55bi5wcm90b3R5cGUudW5iaW5kQWxsPV8ueW4ucHJvdG90eXBlLnVuYmluZEFsbDtfLnluLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1mdW5jdGlvbihhLGIpe3JldHVybiBfLmtuKHRoaXMsYSxiKX07Xy55bi5wcm90b3R5cGUuYWRkTGlzdGVuZXI9Xy55bi5wcm90b3R5cGUuYWRkTGlzdGVuZXI7dmFyIFljYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPW5ldyBuaGE7Xy50bihhLCJhZGRmZWF0dXJlIiwoKT0+e18uSGwoImRhdGEiKS50aGVuKGI9PntiLlFMKHRoaXMsYSx0aGlzLnFoKX0pfSl9b3ZlcnJpZGVTdHlsZShhLGIpe3RoaXMucWguc2V0KF8ueG4oYSksYil9cmV2ZXJ0U3R5bGUoYSl7YT90aGlzLnFoLnJlc2V0KF8ueG4oYSkpOnRoaXMucWguZm9yRWFjaCh0aGlzLnFoLnJlc2V0LmJpbmQodGhpcy5xaCkpfX07Xy5Jbj1jbGFzcyBleHRlbmRzIFpte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5lbGVtZW50cz1bXTt0cnl7dGhpcy5lbGVtZW50cz1saGEoYSl9Y2F0Y2goYil7Xy5CbShiKX19Z2V0VHlwZSgpe3JldHVybiJHZW9tZXRyeUNvbGxlY3Rpb24ifWdldExlbmd0aCgpe3JldHVybiB0aGlzLmVsZW1lbnRzLmxlbmd0aH1nZXRBdChhKXtyZXR1cm4gdGhpcy5lbGVtZW50c1thXX1nZXRBcnJheSgpe3JldHVybiB0aGlzLmVsZW1lbnRzLnNsaWNlKCl9Zm9yRWFjaExhdExuZyhhKXt0aGlzLmVsZW1lbnRzLmZvckVhY2goYj0+e2IuZm9yRWFjaExhdExuZyhhKX0pfX07Xy5Jbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkluLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uSW4ucHJvdG90eXBlLmdldEFycmF5PV8uSW4ucHJvdG90eXBlLmdldEFycmF5O18uSW4ucHJvdG90eXBlLmdldEF0PV8uSW4ucHJvdG90eXBlLmdldEF0O18uSW4ucHJvdG90eXBlLmdldExlbmd0aD1fLkluLnByb3RvdHlwZS5nZXRMZW5ndGg7Cl8uSW4ucHJvdG90eXBlLmdldFR5cGU9Xy5Jbi5wcm90b3R5cGUuZ2V0VHlwZTtfLkluLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLkluLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLkRuPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPSgwLF8uZXMpKGEpfWdldFR5cGUoKXtyZXR1cm4iTGluZVN0cmluZyJ9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWdldEF0KGEpe3JldHVybiB0aGlzLnFoW2FdfWdldEFycmF5KCl7cmV0dXJuIHRoaXMucWguc2xpY2UoKX1mb3JFYWNoTGF0TG5nKGEpe3RoaXMucWguZm9yRWFjaChhKX19O18uRG4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc9Xy5Ebi5wcm90b3R5cGUuZm9yRWFjaExhdExuZztfLkRuLnByb3RvdHlwZS5nZXRBcnJheT1fLkRuLnByb3RvdHlwZS5nZXRBcnJheTtfLkRuLnByb3RvdHlwZS5nZXRBdD1fLkRuLnByb3RvdHlwZS5nZXRBdDtfLkRuLnByb3RvdHlwZS5nZXRMZW5ndGg9Xy5Ebi5wcm90b3R5cGUuZ2V0TGVuZ3RoO18uRG4ucHJvdG90eXBlLmdldFR5cGU9Xy5Ebi5wcm90b3R5cGUuZ2V0VHlwZTtfLkRuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLkRuLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKdmFyIG9oYT1fLkdtKF8uRW0oXy5EbiwiZ29vZ2xlLm1hcHMuRGF0YS5MaW5lU3RyaW5nIiwhMCkpO18uSm49Y2xhc3MgZXh0ZW5kcyBabXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucWg9KDAsXy5lcykoYSl9Z2V0VHlwZSgpe3JldHVybiJMaW5lYXJSaW5nIn1nZXRMZW5ndGgoKXtyZXR1cm4gdGhpcy5xaC5sZW5ndGh9Z2V0QXQoYSl7cmV0dXJuIHRoaXMucWhbYV19Z2V0QXJyYXkoKXtyZXR1cm4gdGhpcy5xaC5zbGljZSgpfWZvckVhY2hMYXRMbmcoYSl7dGhpcy5xaC5mb3JFYWNoKGEpfX07Xy5Kbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkpuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uSm4ucHJvdG90eXBlLmdldEFycmF5PV8uSm4ucHJvdG90eXBlLmdldEFycmF5O18uSm4ucHJvdG90eXBlLmdldEF0PV8uSm4ucHJvdG90eXBlLmdldEF0O18uSm4ucHJvdG90eXBlLmdldExlbmd0aD1fLkpuLnByb3RvdHlwZS5nZXRMZW5ndGg7Xy5Kbi5wcm90b3R5cGUuZ2V0VHlwZT1fLkpuLnByb3RvdHlwZS5nZXRUeXBlO18uSm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uSm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yOwp2YXIgcGhhPV8uR20oXy5FbShfLkpuLCJnb29nbGUubWFwcy5EYXRhLkxpbmVhclJpbmciLCEwKSk7Xy5Hbj1jbGFzcyBleHRlbmRzIFpte2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5xaD1vaGEoYSl9Z2V0VHlwZSgpe3JldHVybiJNdWx0aUxpbmVTdHJpbmcifWdldExlbmd0aCgpe3JldHVybiB0aGlzLnFoLmxlbmd0aH1nZXRBdChhKXtyZXR1cm4gdGhpcy5xaFthXX1nZXRBcnJheSgpe3JldHVybiB0aGlzLnFoLnNsaWNlKCl9Zm9yRWFjaExhdExuZyhhKXt0aGlzLnFoLmZvckVhY2goYj0+e2IuZm9yRWFjaExhdExuZyhhKX0pfX07Xy5Hbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkduLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uR24ucHJvdG90eXBlLmdldEFycmF5PV8uR24ucHJvdG90eXBlLmdldEFycmF5O18uR24ucHJvdG90eXBlLmdldEF0PV8uR24ucHJvdG90eXBlLmdldEF0O18uR24ucHJvdG90eXBlLmdldExlbmd0aD1fLkduLnByb3RvdHlwZS5nZXRMZW5ndGg7Xy5Hbi5wcm90b3R5cGUuZ2V0VHlwZT1fLkduLnByb3RvdHlwZS5nZXRUeXBlO18uRm49Y2xhc3MgZXh0ZW5kcyBabXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucWg9KDAsXy5lcykoYSl9Z2V0VHlwZSgpe3JldHVybiJNdWx0aVBvaW50In1nZXRMZW5ndGgoKXtyZXR1cm4gdGhpcy5xaC5sZW5ndGh9Z2V0QXQoYSl7cmV0dXJuIHRoaXMucWhbYV19Z2V0QXJyYXkoKXtyZXR1cm4gdGhpcy5xaC5zbGljZSgpfWZvckVhY2hMYXRMbmcoYSl7dGhpcy5xaC5mb3JFYWNoKGEpfX07Xy5Gbi5wcm90b3R5cGUuZm9yRWFjaExhdExuZz1fLkZuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nO18uRm4ucHJvdG90eXBlLmdldEFycmF5PV8uRm4ucHJvdG90eXBlLmdldEFycmF5O18uRm4ucHJvdG90eXBlLmdldEF0PV8uRm4ucHJvdG90eXBlLmdldEF0O18uRm4ucHJvdG90eXBlLmdldExlbmd0aD1fLkZuLnByb3RvdHlwZS5nZXRMZW5ndGg7Xy5Gbi5wcm90b3R5cGUuZ2V0VHlwZT1fLkZuLnByb3RvdHlwZS5nZXRUeXBlO18uRm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uRm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yO18uRW49Y2xhc3MgZXh0ZW5kcyBabXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMucWg9cGhhKGEpfWdldFR5cGUoKXtyZXR1cm4iUG9seWdvbiJ9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWdldEF0KGEpe3JldHVybiB0aGlzLnFoW2FdfWdldEFycmF5KCl7cmV0dXJuIHRoaXMucWguc2xpY2UoKX1mb3JFYWNoTGF0TG5nKGEpe3RoaXMucWguZm9yRWFjaChiPT57Yi5mb3JFYWNoTGF0TG5nKGEpfSl9fTtfLkVuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nPV8uRW4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc7Xy5Fbi5wcm90b3R5cGUuZ2V0QXJyYXk9Xy5Fbi5wcm90b3R5cGUuZ2V0QXJyYXk7Xy5Fbi5wcm90b3R5cGUuZ2V0QXQ9Xy5Fbi5wcm90b3R5cGUuZ2V0QXQ7Xy5Fbi5wcm90b3R5cGUuZ2V0TGVuZ3RoPV8uRW4ucHJvdG90eXBlLmdldExlbmd0aDtfLkVuLnByb3RvdHlwZS5nZXRUeXBlPV8uRW4ucHJvdG90eXBlLmdldFR5cGU7CnZhciBxaGE9Xy5HbShfLkVtKF8uRW4sImdvb2dsZS5tYXBzLkRhdGEuUG9seWdvbiIsITApKTtfLkhuPWNsYXNzIGV4dGVuZHMgWm17Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnFoPXFoYShhKX1nZXRUeXBlKCl7cmV0dXJuIk11bHRpUG9seWdvbiJ9Z2V0TGVuZ3RoKCl7cmV0dXJuIHRoaXMucWgubGVuZ3RofWdldEF0KGEpe3JldHVybiB0aGlzLnFoW2FdfWdldEFycmF5KCl7cmV0dXJuIHRoaXMucWguc2xpY2UoKX1mb3JFYWNoTGF0TG5nKGEpe3RoaXMucWguZm9yRWFjaChiPT57Yi5mb3JFYWNoTGF0TG5nKGEpfSl9fTtfLkhuLnByb3RvdHlwZS5mb3JFYWNoTGF0TG5nPV8uSG4ucHJvdG90eXBlLmZvckVhY2hMYXRMbmc7Xy5Ibi5wcm90b3R5cGUuZ2V0QXJyYXk9Xy5Ibi5wcm90b3R5cGUuZ2V0QXJyYXk7Xy5Ibi5wcm90b3R5cGUuZ2V0QXQ9Xy5Ibi5wcm90b3R5cGUuZ2V0QXQ7Xy5Ibi5wcm90b3R5cGUuZ2V0TGVuZ3RoPV8uSG4ucHJvdG90eXBlLmdldExlbmd0aDtfLkhuLnByb3RvdHlwZS5nZXRUeXBlPV8uSG4ucHJvdG90eXBlLmdldFR5cGU7Cl8uSG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8uSG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yO3ZhciBWY2E9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Xy5tcT1uZXcgV2Vha01hcDtfLnFiKF8uTG4sXy55bik7Xy5Mbi5wcm90b3R5cGUuUXI9Xy5oYSgyMCk7Xy5yaGE9Xy5Mbi5ERU1PX01BUF9JRD0iREVNT19NQVBfSUQiO3ZhciBncz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe2E9PT0tMTgwJiZiIT09MTgwJiYoYT0xODApO2I9PT0tMTgwJiZhIT09MTgwJiYoYj0xODApO3RoaXMubG89YTt0aGlzLmhpPWJ9aXNFbXB0eSgpe3JldHVybiB0aGlzLmxvLXRoaXMuaGk9PT0zNjB9aW50ZXJzZWN0cyhhKXt2YXIgYj10aGlzLmxvLGM9dGhpcy5oaTtyZXR1cm4gdGhpcy5pc0VtcHR5KCl8fGEuaXNFbXB0eSgpPyExOl8uT24odGhpcyk/Xy5PbihhKXx8YS5sbzw9dGhpcy5oaXx8YS5oaT49YjpfLk9uKGEpP2EubG88PWN8fGEuaGk+PWI6YS5sbzw9YyYmYS5oaT49Yn1jb250YWlucyhhKXthPT09LTE4MCYmKGE9MTgwKTt2YXIgYj10aGlzLmxvLGM9dGhpcy5oaTtyZXR1cm4gXy5Pbih0aGlzKT8oYT49Ynx8YTw9YykmJiF0aGlzLmlzRW1wdHkoKTphPj1iJiZhPD1jfWV4dGVuZChhKXt0aGlzLmNvbnRhaW5zKGEpfHwodGhpcy5pc0VtcHR5KCk/dGhpcy5sbz10aGlzLmhpPWE6Xy5ObihhLHRoaXMubG8pPF8uTm4odGhpcy5oaSwKYSk/dGhpcy5sbz1hOnRoaXMuaGk9YSl9ZXF1YWxzKGEpe3JldHVybiBNYXRoLmFicyhhLmxvLXRoaXMubG8pJTM2MCtNYXRoLmFicyhhLnNwYW4oKS10aGlzLnNwYW4oKSk8PTFFLTl9c3Bhbigpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8wOl8uT24odGhpcyk/MzYwLSh0aGlzLmxvLXRoaXMuaGkpOnRoaXMuaGktdGhpcy5sb31jZW50ZXIoKXt2YXIgYT0odGhpcy5sbyt0aGlzLmhpKS8yO18uT24odGhpcykmJihhPV8uZG0oYSsxODAsLTE4MCwxODApKTtyZXR1cm4gYX19LHNoYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubG89YTt0aGlzLmhpPWJ9aXNFbXB0eSgpe3JldHVybiB0aGlzLmxvPnRoaXMuaGl9aW50ZXJzZWN0cyhhKXt2YXIgYj10aGlzLmxvLGM9dGhpcy5oaTtyZXR1cm4gYjw9YS5sbz9hLmxvPD1jJiZhLmxvPD1hLmhpOmI8PWEuaGkmJmI8PWN9Y29udGFpbnMoYSl7cmV0dXJuIGE+PXRoaXMubG8mJmE8PXRoaXMuaGl9ZXh0ZW5kKGEpe3RoaXMuaXNFbXB0eSgpPwp0aGlzLmhpPXRoaXMubG89YTphPHRoaXMubG8/dGhpcy5sbz1hOmE+dGhpcy5oaSYmKHRoaXMuaGk9YSl9ZXF1YWxzKGEpe3JldHVybiB0aGlzLmlzRW1wdHkoKT9hLmlzRW1wdHkoKTpNYXRoLmFicyhhLmxvLXRoaXMubG8pK01hdGguYWJzKHRoaXMuaGktYS5oaSk8PTFFLTl9c3Bhbigpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8wOnRoaXMuaGktdGhpcy5sb31jZW50ZXIoKXtyZXR1cm4odGhpcy5oaSt0aGlzLmxvKS8yfX07Xy5Sbj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubmwoYSxiKX1ubChhLGIpe3ZhciBjO2lmKChjPWEpJiZ0eXBlb2YgYz09PSJvYmplY3QiJiYic291dGgiaW4gYyYmIndlc3QiaW4gYyYmIm5vcnRoImluIGMmJiJlYXN0ImluIGMpdHJ5e2E9Xy5UbihhKX1jYXRjaChkKXt9YSBpbnN0YW5jZW9mIF8uUm4/KGM9YS5nZXRTb3V0aFdlc3QoKSxiPWEuZ2V0Tm9ydGhFYXN0KCkpOihjPWEmJl8uWG0oYSksYj1iJiZfLlhtKGIpKTtpZihjKXtiPWJ8fGM7YT1fLmNtKGMubGF0KCksLTkwLDkwKTtsZXQgZD1fLmNtKGIubGF0KCksLTkwLDkwKTt0aGlzLmxhdD1uZXcgc2hhKGEsZCk7Yz1jLmxuZygpO2I9Yi5sbmcoKTtiLWM+PTM2MD90aGlzLmxuZz1uZXcgZ3MoLTE4MCwxODApOihjPV8uZG0oYywtMTgwLDE4MCksYj1fLmRtKGIsLTE4MCwxODApLHRoaXMubG5nPW5ldyBncyhjLGIpKX1lbHNlIHRoaXMubGF0PW5ldyBzaGEoMSwtMSksdGhpcy5sbmc9bmV3IGdzKDE4MCwtMTgwKX1nZXRDZW50ZXIoKXtyZXR1cm4gbmV3IF8uVG0odGhpcy5sYXQuY2VudGVyKCksCnRoaXMubG5nLmNlbnRlcigpKX10b1N0cmluZygpe3JldHVybmAoJHt0aGlzLmdldFNvdXRoV2VzdCgpLnRvU3RyaW5nKCl9LCAke3RoaXMuZ2V0Tm9ydGhFYXN0KCkudG9TdHJpbmcoKX0pYH10b0pTT04oKXtyZXR1cm57c291dGg6dGhpcy5sYXQubG8sd2VzdDp0aGlzLmxuZy5sbyxub3J0aDp0aGlzLmxhdC5oaSxlYXN0OnRoaXMubG5nLmhpfX10b1VybFZhbHVlKGEpe3ZhciBiPXRoaXMuZ2V0U291dGhXZXN0KCksYz10aGlzLmdldE5vcnRoRWFzdCgpO3JldHVybltiLnRvVXJsVmFsdWUoYSksYy50b1VybFZhbHVlKGEpXS5qb2luKCl9ZXF1YWxzKGEpe2lmKCFhKXJldHVybiExO2E9Xy5UbihhKTtyZXR1cm4gdGhpcy5sYXQuZXF1YWxzKGEubGF0KSYmdGhpcy5sbmcuZXF1YWxzKGEubG5nKX1jb250YWlucyhhKXthPV8uWG0oYSk7cmV0dXJuIHRoaXMubGF0LmNvbnRhaW5zKGEubGF0KCkpJiZ0aGlzLmxuZy5jb250YWlucyhhLmxuZygpKX1pbnRlcnNlY3RzKGEpe2E9Xy5UbihhKTsKcmV0dXJuIHRoaXMubGF0LmludGVyc2VjdHMoYS5sYXQpJiZ0aGlzLmxuZy5pbnRlcnNlY3RzKGEubG5nKX1jb250YWluc0JvdW5kcyhhKXthPV8uVG4oYSk7dmFyIGI9dGhpcy5sYXQsYz1hLmxhdDtyZXR1cm4oYy5pc0VtcHR5KCk/ITA6Yy5sbz49Yi5sbyYmYy5oaTw9Yi5oaSkmJlFuKHRoaXMubG5nLGEubG5nKX1leHRlbmQoYSl7YT1fLlhtKGEpO3RoaXMubGF0LmV4dGVuZChhLmxhdCgpKTt0aGlzLmxuZy5leHRlbmQoYS5sbmcoKSk7cmV0dXJuIHRoaXN9dW5pb24oYSl7YT1fLlRuKGEpO2lmKCFhfHxhLmlzRW1wdHkoKSlyZXR1cm4gdGhpczt0aGlzLmxhdC5leHRlbmQoYS5nZXRTb3V0aFdlc3QoKS5sYXQoKSk7dGhpcy5sYXQuZXh0ZW5kKGEuZ2V0Tm9ydGhFYXN0KCkubGF0KCkpO2E9YS5sbmc7dmFyIGI9Xy5Obih0aGlzLmxuZy5sbyxhLmhpKSxjPV8uTm4oYS5sbyx0aGlzLmxuZy5oaSk7aWYoUW4odGhpcy5sbmcsYSkpcmV0dXJuIHRoaXM7aWYoUW4oYSx0aGlzLmxuZykpcmV0dXJuIHRoaXMubG5nPQpuZXcgZ3MoYS5sbyxhLmhpKSx0aGlzO3RoaXMubG5nLmludGVyc2VjdHMoYSk/dGhpcy5sbmc9Yj49Yz9uZXcgZ3ModGhpcy5sbmcubG8sYS5oaSk6bmV3IGdzKGEubG8sdGhpcy5sbmcuaGkpOnRoaXMubG5nPWI8PWM/bmV3IGdzKHRoaXMubG5nLmxvLGEuaGkpOm5ldyBncyhhLmxvLHRoaXMubG5nLmhpKTtyZXR1cm4gdGhpc31nZXRTb3V0aFdlc3QoKXtyZXR1cm4gbmV3IF8uVG0odGhpcy5sYXQubG8sdGhpcy5sbmcubG8sITApfWdldE5vcnRoRWFzdCgpe3JldHVybiBuZXcgXy5UbSh0aGlzLmxhdC5oaSx0aGlzLmxuZy5oaSwhMCl9dG9TcGFuKCl7cmV0dXJuIG5ldyBfLlRtKHRoaXMubGF0LnNwYW4oKSx0aGlzLmxuZy5zcGFuKCksITApfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5sYXQuaXNFbXB0eSgpfHx0aGlzLmxuZy5pc0VtcHR5KCl9fTtfLlJuLnByb3RvdHlwZS5pc0VtcHR5PV8uUm4ucHJvdG90eXBlLmlzRW1wdHk7Xy5Sbi5wcm90b3R5cGUudG9TcGFuPV8uUm4ucHJvdG90eXBlLnRvU3BhbjsKXy5Sbi5wcm90b3R5cGUuZ2V0Tm9ydGhFYXN0PV8uUm4ucHJvdG90eXBlLmdldE5vcnRoRWFzdDtfLlJuLnByb3RvdHlwZS5nZXRTb3V0aFdlc3Q9Xy5Sbi5wcm90b3R5cGUuZ2V0U291dGhXZXN0O18uUm4ucHJvdG90eXBlLnVuaW9uPV8ubWEoXy5Sbi5wcm90b3R5cGUsInVuaW9uIik7Xy5Sbi5wcm90b3R5cGUuZXh0ZW5kPV8uUm4ucHJvdG90eXBlLmV4dGVuZDtfLlJuLnByb3RvdHlwZS5pbnRlcnNlY3RzPV8uUm4ucHJvdG90eXBlLmludGVyc2VjdHM7Xy5Sbi5wcm90b3R5cGUuY29udGFpbnM9Xy5Sbi5wcm90b3R5cGUuY29udGFpbnM7Xy5Sbi5wcm90b3R5cGUuZXF1YWxzPV8uUm4ucHJvdG90eXBlLmVxdWFscztfLlJuLnByb3RvdHlwZS50b1VybFZhbHVlPV8uUm4ucHJvdG90eXBlLnRvVXJsVmFsdWU7Xy5Sbi5wcm90b3R5cGUudG9KU09OPV8uUm4ucHJvdG90eXBlLnRvSlNPTjtfLlJuLnByb3RvdHlwZS50b1N0cmluZz1fLlJuLnByb3RvdHlwZS50b1N0cmluZzsKXy5Sbi5wcm90b3R5cGUuZ2V0Q2VudGVyPV8uUm4ucHJvdG90eXBlLmdldENlbnRlcjt2YXIgdGhhPV8uU24oLTkwLC0xODAsOTAsMTgwKTtfLm5iKCJtb2R1bGUkZXhwb3J0cyRnb29nbGUzJG1hcHMkYXBpJGphdmFzY3JpcHQkZ2VvbWV0cnkkbGF0X2xuZ19ib3VuZHMuTGF0TG5nQm91bmRzLk1BWF9CT1VORFMiLHRoYSk7Xy5Sbi5wcm90b3R5cGUuZXF1YWxzPV8uUm4ucHJvdG90eXBlLmVxdWFscztfLndtKF8uUm4pO3ZhciBXY2E9Xy5DbSh7c291dGg6Xy5PbSx3ZXN0Ol8uT20sbm9ydGg6Xy5PbSxlYXN0Ol8uT219LCExKTtfLlJuLk1BWF9CT1VORFM9dGhhO18udWhhPV8uRW0oXy5SbiwiTGF0TG5nQm91bmRzIik7Xy5ocz1fLk1tKF8uRW0oXy5MbiwiTWFwIikpO18ucWIoWW4sXy55bik7WW4ucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFoLmNvbnRhaW5zKGEpfTtZbi5wcm90b3R5cGUuY29udGFpbnM9WW4ucHJvdG90eXBlLmNvbnRhaW5zO1luLnByb3RvdHlwZS5nZXRGZWF0dXJlQnlJZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xaC5nZXRGZWF0dXJlQnlJZChhKX07WW4ucHJvdG90eXBlLmdldEZlYXR1cmVCeUlkPVluLnByb3RvdHlwZS5nZXRGZWF0dXJlQnlJZDtZbi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFoLmFkZChhKX07WW4ucHJvdG90eXBlLmFkZD1Zbi5wcm90b3R5cGUuYWRkO1luLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5xaC5yZW1vdmUoYSl9O1luLnByb3RvdHlwZS5yZW1vdmU9WW4ucHJvdG90eXBlLnJlbW92ZTtZbi5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihhKXt0aGlzLnFoLmZvckVhY2goYSl9OwpZbi5wcm90b3R5cGUuZm9yRWFjaD1Zbi5wcm90b3R5cGUuZm9yRWFjaDtZbi5wcm90b3R5cGUuYWRkR2VvSnNvbj1mdW5jdGlvbihhLGIpe3JldHVybiBfLlVjYSh0aGlzLnFoLGEsYil9O1luLnByb3RvdHlwZS5hZGRHZW9Kc29uPVluLnByb3RvdHlwZS5hZGRHZW9Kc29uO1luLnByb3RvdHlwZS5sb2FkR2VvSnNvbj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5xaDtfLkhsKCJkYXRhIikudGhlbihlPT57ZS5ITShkLGEsYixjKX0pfTtZbi5wcm90b3R5cGUubG9hZEdlb0pzb249WW4ucHJvdG90eXBlLmxvYWRHZW9Kc29uO1luLnByb3RvdHlwZS50b0dlb0pzb249ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5xaDtfLkhsKCJkYXRhIikudGhlbihjPT57Yy5ETShiLGEpfSl9O1luLnByb3RvdHlwZS50b0dlb0pzb249WW4ucHJvdG90eXBlLnRvR2VvSnNvbjtZbi5wcm90b3R5cGUub3ZlcnJpZGVTdHlsZT1mdW5jdGlvbihhLGIpe3RoaXMucmgub3ZlcnJpZGVTdHlsZShhLGIpfTsKWW4ucHJvdG90eXBlLm92ZXJyaWRlU3R5bGU9WW4ucHJvdG90eXBlLm92ZXJyaWRlU3R5bGU7WW4ucHJvdG90eXBlLnJldmVydFN0eWxlPWZ1bmN0aW9uKGEpe3RoaXMucmgucmV2ZXJ0U3R5bGUoYSl9O1luLnByb3RvdHlwZS5yZXZlcnRTdHlsZT1Zbi5wcm90b3R5cGUucmV2ZXJ0U3R5bGU7WW4ucHJvdG90eXBlLmNvbnRyb2xzX2NoYW5nZWQ9ZnVuY3Rpb24oKXt0aGlzLmdldCgiY29udHJvbHMiKSYmWmNhKHRoaXMpfTtZbi5wcm90b3R5cGUuZHJhd2luZ01vZGVfY2hhbmdlZD1mdW5jdGlvbigpe3RoaXMuZ2V0KCJkcmF3aW5nTW9kZSIpJiZaY2EodGhpcyl9O18uV24oWW4ucHJvdG90eXBlLHttYXA6Xy5ocyxzdHlsZTpfLlNsLGNvbnRyb2xzOl8uTW0oXy5HbShfLkZtKGtoYSkpKSxjb250cm9sUG9zaXRpb246Xy5NbShfLkZtKF8ucHEpKSxkcmF3aW5nTW9kZTpfLk1tKF8uRm0oa2hhKSl9KTtfLkVxPXtNRVRSSUM6MCxJTVBFUklBTDoxLDA6Ik1FVFJJQyIsMToiSU1QRVJJQUwifTtfLkRxPXtEUklWSU5HOiJEUklWSU5HIixXQUxLSU5HOiJXQUxLSU5HIixCSUNZQ0xJTkc6IkJJQ1lDTElORyIsVFJBTlNJVDoiVFJBTlNJVCIsVFdPX1dIRUVMRVI6IlRXT19XSEVFTEVSIn07Xy5pcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe2NvbnNvbGUud2FybigiZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2UgaXMgZGVwcmVjYXRlZCBhcyBvZiBGZWJydWFyeSAyNXRoLCAyMDI2LiBQbGVhc2UgdXNlIGdvb2dsZS5tYXBzLnJvdXRlcy5Sb3V0ZS5jb21wdXRlUm91dGVzIGluc3RlYWQuIEF0IHRoaXMgdGltZSwgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2UgaXMgbm90IHNjaGVkdWxlZCB0byBiZSBkaXNjb250aW51ZWQsIGJ1dCBnb29nbGUubWFwcy5yb3V0ZXMuUm91dGUuY29tcHV0ZVJvdXRlcyBpcyByZWNvbW1lbmRlZCBvdmVyIGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlLnJvdXRlLiBXaGlsZSBnb29nbGUubWFwcy5EaXJlY3Rpb25zU2VydmljZSB3aWxsIGNvbnRpbnVlIHRvIHJlY2VpdmUgYnVnIGZpeGVzIGZvciBhbnkgbWFqb3IgcmVncmVzc2lvbnMsIGV4aXN0aW5nIGJ1Z3MgaW4gZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2Ugd2lsbCBub3QgYmUgYWRkcmVzc2VkLiBBdCBsZWFzdCAxMiBtb250aHMgbm90aWNlIHdpbGwgYmUgZ2l2ZW4gYmVmb3JlIHN1cHBvcnQgaXMgZGlzY29udGludWVkLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvbGVnYWN5IGZvciBhZGRpdGlvbmFsIGRldGFpbHMgYW5kIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JvdXRlcy9yb3V0ZXMtanMtbWlncmF0aW9uIGZvciB0aGUgbWlncmF0aW9uIGd1aWRlLiIpOwp0aGlzLm5sKCl9bmwoKXt9cm91dGUoYSxiKXt2YXIgYz12b2lkIDA7dmhhKCl8fChjPV8uTmwoMTU4MDk0KSk7Xy5NKHdpbmRvdywxNTQzNDIpO3ZhciBkPV8uSGwoImRpcmVjdGlvbnMiKS50aGVuKGU9PmUucm91dGUoYSxiLCEwLGMpLCgpPT57YyYmXy5PbChjLDgpfSk7YiYmZC5jYXRjaCgoKT0+e30pO3JldHVybiBkfX07Xy5pcy5wcm90b3R5cGUucm91dGU9Xy5pcy5wcm90b3R5cGUucm91dGU7Xy5pcy5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5pcy5wcm90b3R5cGUuY29uc3RydWN0b3I7dmFyIHZoYT1fLlFsKCk7Xy53bShfLmlzKTtfLndoYT17T0s6Ik9LIixVTktOT1dOX0VSUk9SOiJVTktOT1dOX0VSUk9SIixPVkVSX1FVRVJZX0xJTUlUOiJPVkVSX1FVRVJZX0xJTUlUIixSRVFVRVNUX0RFTklFRDoiUkVRVUVTVF9ERU5JRUQiLElOVkFMSURfUkVRVUVTVDoiSU5WQUxJRF9SRVFVRVNUIixaRVJPX1JFU1VMVFM6IlpFUk9fUkVTVUxUUyIsTUFYX1dBWVBPSU5UU19FWENFRURFRDoiTUFYX1dBWVBPSU5UU19FWENFRURFRCIsTk9UX0ZPVU5EOiJOT1RfRk9VTkQifTtfLmpzPXtCRVNUX0dVRVNTOiJiZXN0Z3Vlc3MiLE9QVElNSVNUSUM6Im9wdGltaXN0aWMiLFBFU1NJTUlTVElDOiJwZXNzaW1pc3RpYyJ9O18ua3M9e0JVUzoiQlVTIixSQUlMOiJSQUlMIixTVUJXQVk6IlNVQldBWSIsVFJBSU46IlRSQUlOIixUUkFNOiJUUkFNIixMSUdIVF9SQUlMOiJMSUdIVF9SQUlMIn07Xy5scz17TEVTU19XQUxLSU5HOiJMRVNTX1dBTEtJTkciLEZFV0VSX1RSQU5TRkVSUzoiRkVXRVJfVFJBTlNGRVJTIn07Xy54aGE9e1JBSUw6IlJBSUwiLE1FVFJPX1JBSUw6Ik1FVFJPX1JBSUwiLFNVQldBWToiU1VCV0FZIixUUkFNOiJUUkFNIixNT05PUkFJTDoiTU9OT1JBSUwiLEhFQVZZX1JBSUw6IkhFQVZZX1JBSUwiLENPTU1VVEVSX1RSQUlOOiJDT01NVVRFUl9UUkFJTiIsSElHSF9TUEVFRF9UUkFJTjoiSElHSF9TUEVFRF9UUkFJTiIsQlVTOiJCVVMiLElOVEVSQ0lUWV9CVVM6IklOVEVSQ0lUWV9CVVMiLFRST0xMRVlCVVM6IlRST0xMRVlCVVMiLFNIQVJFX1RBWEk6IlNIQVJFX1RBWEkiLEZFUlJZOiJGRVJSWSIsQ0FCTEVfQ0FSOiJDQUJMRV9DQVIiLEdPTkRPTEFfTElGVDoiR09ORE9MQV9MSUZUIixGVU5JQ1VMQVI6IkZVTklDVUxBUiIsT1RIRVI6Ik9USEVSIn07Xy5abj1bXTtfLnFiKF8uYW8sXy55bik7Xy5hby5wcm90b3R5cGUuY2hhbmdlZD1mdW5jdGlvbihhKXthIT0ibWFwIiYmYSE9InBhbmVsInx8Xy5IbCgiZGlyZWN0aW9ucyIpLnRoZW4oYj0+e2IuSk4odGhpcyxhKX0pO2E9PSJwYW5lbCImJl8uJG4odGhpcy5nZXRQYW5lbCgpKX07Xy5XbihfLmFvLnByb3RvdHlwZSx7ZGlyZWN0aW9uczpmdW5jdGlvbihhKXtyZXR1cm4gXy5DbSh7cm91dGVzOl8uR20oXy5JbShfLmttKSl9LCEwKShhKX0sbWFwOl8uaHMscGFuZWw6Xy5NbShfLkltKF8uRG0pKSxyb3V0ZUluZGV4Ol8uYXN9KTtfLnloYT17T0s6Ik9LIixOT1RfRk9VTkQ6Ik5PVF9GT1VORCIsWkVST19SRVNVTFRTOiJaRVJPX1JFU1VMVFMifTtfLm1zPWNsYXNze2NvbnN0cnVjdG9yKCl7Y29uc29sZS53YXJuKCJnb29nbGUubWFwcy5EaXN0YW5jZU1hdHJpeCBpcyBkZXByZWNhdGVkIGFzIG9mIEZlYnJ1YXJ5IDI1dGgsIDIwMjYuIFBsZWFzZSB1c2UgZ29vZ2xlLm1hcHMucm91dGVzLlJvdXRlTWF0cml4LmNvbXB1dGVSb3V0ZU1hdHJpeCBpbnN0ZWFkLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLkRpc3RhbmNlTWF0cml4IGlzIG5vdCBzY2hlZHVsZWQgdG8gYmUgZGlzY29udGludWVkLCBidXQgZ29vZ2xlLm1hcHMucm91dGVzLlJvdXRlTWF0cml4LmNvbXB1dGVSb3V0ZU1hdHJpeCBpcyByZWNvbW1lbmRlZCBvdmVyIGdvb2dsZS5tYXBzLkRpc3RhbmNlTWF0cml4LmdldERpc3RhbmNlTWF0cml4LiBXaGlsZSBnb29nbGUubWFwcy5EaXN0YW5jZU1hdHJpeCB3aWxsIGNvbnRpbnVlIHRvIHJlY2VpdmUgYnVnIGZpeGVzIGZvciBhbnkgbWFqb3IgcmVncmVzc2lvbnMsIGV4aXN0aW5nIGJ1Z3MgaW4gZ29vZ2xlLm1hcHMuRGlzdGFuY2VNYXRyaXggd2lsbCBub3QgYmUgYWRkcmVzc2VkLiBBdCBsZWFzdCAxMiBtb250aHMgbm90aWNlIHdpbGwgYmUgZ2l2ZW4gYmVmb3JlIHN1cHBvcnQgaXMgZGlzY29udGludWVkLiBQbGVhc2Ugc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvbGVnYWN5IGZvciBhZGRpdGlvbmFsIGRldGFpbHMgYW5kIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3JvdXRlcy9yb3V0ZS1tYXRyaXgtanMtbWlncmF0aW9uIGZvciB0aGUgbWlncmF0aW9uIGd1aWRlLiIpOwp0aGlzLm5sKCl9bmwoKXt9Z2V0RGlzdGFuY2VNYXRyaXgoYSxiKXtfLk0od2luZG93LDE1NDM0NCk7dmFyIGM9Xy5IbCgiZGlzdGFuY2VfbWF0cml4IikudGhlbihkPT5kLmdldERpc3RhbmNlTWF0cml4KGEsYikpO2ImJmMuY2F0Y2goKCk9Pnt9KTtyZXR1cm4gY319O18ubXMucHJvdG90eXBlLmdldERpc3RhbmNlTWF0cml4PV8ubXMucHJvdG90eXBlLmdldERpc3RhbmNlTWF0cml4O18ubXMucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8ubXMucHJvdG90eXBlLmNvbnN0cnVjdG9yO18ud20oXy5tcyk7Xy56aGE9e09LOiJPSyIsSU5WQUxJRF9SRVFVRVNUOiJJTlZBTElEX1JFUVVFU1QiLE9WRVJfUVVFUllfTElNSVQ6Ik9WRVJfUVVFUllfTElNSVQiLFJFUVVFU1RfREVOSUVEOiJSRVFVRVNUX0RFTklFRCIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsTUFYX0VMRU1FTlRTX0VYQ0VFREVEOiJNQVhfRUxFTUVOVFNfRVhDRUVERUQiLE1BWF9ESU1FTlNJT05TX0VYQ0VFREVEOiJNQVhfRElNRU5TSU9OU19FWENFRURFRCJ9O18ubnM9Y2xhc3N7Z2V0RWxldmF0aW9uQWxvbmdQYXRoKGEsYil7cmV0dXJuICRjYShhLGIpfWdldEVsZXZhdGlvbkZvckxvY2F0aW9ucyhhLGIpe3JldHVybiBhZGEoYSxiKX19O18ubnMucHJvdG90eXBlLmdldEVsZXZhdGlvbkZvckxvY2F0aW9ucz1fLm5zLnByb3RvdHlwZS5nZXRFbGV2YXRpb25Gb3JMb2NhdGlvbnM7Xy5ucy5wcm90b3R5cGUuZ2V0RWxldmF0aW9uQWxvbmdQYXRoPV8ubnMucHJvdG90eXBlLmdldEVsZXZhdGlvbkFsb25nUGF0aDtfLm5zLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLm5zLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLkFoYT17T0s6Ik9LIixVTktOT1dOX0VSUk9SOiJVTktOT1dOX0VSUk9SIixPVkVSX1FVRVJZX0xJTUlUOiJPVkVSX1FVRVJZX0xJTUlUIixSRVFVRVNUX0RFTklFRDoiUkVRVUVTVF9ERU5JRUQiLElOVkFMSURfUkVRVUVTVDoiSU5WQUxJRF9SRVFVRVNUIixPUToiREFUQV9OT1RfQVZBSUxBQkxFIn07dmFyIG9zPWNsYXNze2NvbnN0cnVjdG9yKCl7Xy5IbCgiZ2VvY29kZXIiKX1nZW9jb2RlKGEsYil7Xy5NKHdpbmRvdywxNTU0NjgpO3JldHVybiBjZGEoYSxiKX19O29zLnByb3RvdHlwZS5nZW9jb2RlPW9zLnByb3RvdHlwZS5nZW9jb2RlO29zLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1vcy5wcm90b3R5cGUuY29uc3RydWN0b3I7dmFyIGJkYT1fLlFsKCk7Xy5CaGE9e1JPT0ZUT1A6IlJPT0ZUT1AiLFJBTkdFX0lOVEVSUE9MQVRFRDoiUkFOR0VfSU5URVJQT0xBVEVEIixHRU9NRVRSSUNfQ0VOVEVSOiJHRU9NRVRSSUNfQ0VOVEVSIixBUFBST1hJTUFURToiQVBQUk9YSU1BVEUifTtfLlFvPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSl7dmFyIGM9Zj0+UW0oIkxhdExuZ0FsdGl0dWRlIiwibGF0IiwoKT0+KDAsXy5YcikoZikpLGQ9dHlwZW9mIGEubGF0PT09ImZ1bmN0aW9uIj9hLmxhdCgpOmEubGF0O2M9ZCYmYj9jKGQpOl8uY20oYyhkKSwtOTAsOTApO2Q9Zj0+UW0oIkxhdExuZ0FsdGl0dWRlIiwibG5nIiwoKT0+KDAsXy5YcikoZikpO3ZhciBlPXR5cGVvZiBhLmxuZz09PSJmdW5jdGlvbiI/YS5sbmcoKTphLmxuZztiPWUmJmI/ZChlKTpfLmRtKGQoZSksLTE4MCwxODApO2Q9Zj0+UW0oIkxhdExuZ0FsdGl0dWRlIiwiYWx0aXR1ZGUiLCgpPT4oMCxfLmFzKShmKSk7YT1hLmFsdGl0dWRlIT09dm9pZCAwP2QoYS5hbHRpdHVkZSl8fDA6MDt0aGlzLk5EPWM7dGhpcy5PRD1iO3RoaXMuTUQ9YX1nZXQgbGF0KCl7cmV0dXJuIHRoaXMuTkR9Z2V0IGxuZygpe3JldHVybiB0aGlzLk9EfWdldCBhbHRpdHVkZSgpe3JldHVybiB0aGlzLk1EfWVxdWFscyhhKXtyZXR1cm4gYT8KXy5pbSh0aGlzLk5ELGEubGF0KSYmXy5pbSh0aGlzLk9ELGEubG5nKSYmXy5pbSh0aGlzLk1ELGEuYWx0aXR1ZGUpOiExfXRvSlNPTigpe3JldHVybntsYXQ6dGhpcy5ORCxsbmc6dGhpcy5PRCxhbHRpdHVkZTp0aGlzLk1EfX19O18uUW8uZnJvbVByb3RvPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5Rbyh7bGF0OmEucmgoKSxsbmc6YS50aCgpfSl9O18uUW8ucHJvdG90eXBlLnRvSlNPTj1fLlFvLnByb3RvdHlwZS50b0pTT047Xy5Rby5wcm90b3R5cGUuZXF1YWxzPV8uUW8ucHJvdG90eXBlLmVxdWFscztfLlFvLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLlFvLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhfLlFvLnByb3RvdHlwZSx7bGF0OntlbnVtZXJhYmxlOiEwfSxsbmc6e2VudW1lcmFibGU6ITB9LGFsdGl0dWRlOntlbnVtZXJhYmxlOiEwfX0pO18uQ2hhPV8uQ20oe2hlYWRpbmc6Xy5NbShfLlhyKSx0aWx0Ol8uTW0oXy5Ycikscm9sbDpfLk1tKF8uWHIpfSwhMSk7Xy5wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt2YXIgYj0oYyxkKT0+UW0oIk9yaWVudGF0aW9uM0QiLGMsKCk9PigwLF8uWHIpKGQpKTt0aGlzLnFoPWEuaGVhZGluZyE9bnVsbD9fLmRtKGIoImhlYWRpbmciLGEuaGVhZGluZyksMCwzNjApOjA7dGhpcy5yaD1hLnRpbHQhPW51bGw/Xy5kbShiKCJ0aWx0IixhLnRpbHQpLDAsMzYwKTowO3RoaXMuc2g9YS5yb2xsIT1udWxsP18uZG0oYigicm9sbCIsYS5yb2xsKSwwLDM2MCk6MDthIGluc3RhbmNlb2YgXy5wc3x8Um0oYSx0aGlzLCJPcmllbnRhdGlvbjNEIil9Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy5xaH1nZXQgdGlsdCgpe3JldHVybiB0aGlzLnJofWdldCByb2xsKCl7cmV0dXJuIHRoaXMuc2h9ZXF1YWxzKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWE7aWYoYiBpbnN0YW5jZW9mIF8ucHMpYT1iO2Vsc2UgdHJ5e2I9KDAsXy5DaGEpKGIpLGE9bmV3IF8ucHMoYil9Y2F0Y2goYyl7dGhyb3cgXy5BbSgibm90IGFuIE9yaWVudGF0aW9uM0Qgb3IgT3JpZW50YXRpb24zRExpdGVyYWwiLApjKTt9cmV0dXJuIF8uaW0odGhpcy5oZWFkaW5nLGEuaGVhZGluZykmJl8uaW0odGhpcy50aWx0LGEudGlsdCkmJl8uaW0odGhpcy5yb2xsLGEucm9sbCl9dG9KU09OKCl7cmV0dXJue2hlYWRpbmc6dGhpcy5oZWFkaW5nLHRpbHQ6dGhpcy50aWx0LHJvbGw6dGhpcy5yb2xsfX19O18ucHMucHJvdG90eXBlLnRvSlNPTj1fLnBzLnByb3RvdHlwZS50b0pTT047Xy5wcy5wcm90b3R5cGUuZXF1YWxzPV8ucHMucHJvdG90eXBlLmVxdWFscztfLnBzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLnBzLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhfLnBzLnByb3RvdHlwZSx7aGVhZGluZzp7ZW51bWVyYWJsZTohMH0sdGlsdDp7ZW51bWVyYWJsZTohMH0scm9sbDp7ZW51bWVyYWJsZTohMH19KTtfLmJvPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy54PWE7dGhpcy55PWJ9dG9TdHJpbmcoKXtyZXR1cm5gKCR7dGhpcy54fSwgJHt0aGlzLnl9KWB9ZXF1YWxzKGEpe3JldHVybiBhP2EueD09dGhpcy54JiZhLnk9PXRoaXMueTohMX1yb3VuZCgpe3RoaXMueD1NYXRoLnJvdW5kKHRoaXMueCk7dGhpcy55PU1hdGgucm91bmQodGhpcy55KX19O18uYm8ucHJvdG90eXBlLnRCPV8uaGEoMjEpO18uYm8ucHJvdG90eXBlLmVxdWFscz1fLmJvLnByb3RvdHlwZS5lcXVhbHM7Xy5iby5wcm90b3R5cGUudG9TdHJpbmc9Xy5iby5wcm90b3R5cGUudG9TdHJpbmc7Xy5wbz1uZXcgXy5ibygwLDApO18uYm8ucHJvdG90eXBlLmVxdWFscz1fLmJvLnByb3RvdHlwZS5lcXVhbHM7Xy5nbz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLm5sKGEsYixjLGQpfW5sKGEsYixjLGQpe3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1iO3RoaXMucmg9Yzt0aGlzLnFoPWR9dG9TdHJpbmcoKXtyZXR1cm5gKCR7dGhpcy53aWR0aH0sICR7dGhpcy5oZWlnaHR9KWB9ZXF1YWxzKGEpe3JldHVybiBhP2Eud2lkdGg9PT10aGlzLndpZHRoJiZhLmhlaWdodD09PXRoaXMuaGVpZ2h0OiExfX07Xy5nby5wcm90b3R5cGUuZXF1YWxzPV8uZ28ucHJvdG90eXBlLmVxdWFscztfLmdvLnByb3RvdHlwZS50b1N0cmluZz1fLmdvLnByb3RvdHlwZS50b1N0cmluZztfLmdvLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLmdvLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLnFvPW5ldyBfLmdvKDAsMCk7Xy53bShfLmdvKTtfLkRoYT1fLkNtKHt4Ol8uWHIseTpfLlhyLHo6Xy5Ycn0sITEpO18ucXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9KGMsZCk9PlFtKCJWZWN0b3IzRCIsYywoKT0+KDAsXy5YcikoZCkpO3RoaXMucWg9YigieCIsYS54KTt0aGlzLnJoPWIoInkiLGEueSk7dGhpcy5zaD1iKCJ6IixhLnopO2EgaW5zdGFuY2VvZiBfLnFzfHxSbShhLHRoaXMsIlZlY3RvcjNEIil9Z2V0IHgoKXtyZXR1cm4gdGhpcy5xaH1nZXQgeSgpe3JldHVybiB0aGlzLnJofWdldCB6KCl7cmV0dXJuIHRoaXMuc2h9ZXF1YWxzKGEpe2lmKCFhKXJldHVybiExO2lmKCEoYSBpbnN0YW5jZW9mIF8ucXMpKXRyeXtsZXQgYj0oMCxfLkRoYSkoYSk7YT1uZXcgXy5xcyhiKX1jYXRjaChiKXt0aHJvdyBfLkFtKCJub3QgYSBWZWN0b3IzRCBvciBWZWN0b3IzRExpdGVyYWwiLGIpO31yZXR1cm4gXy5pbSh0aGlzLnFoLGEueCkmJl8uaW0odGhpcy5yaCxhLnkpJiZfLmltKHRoaXMuc2gsYS56KX10b0pTT04oKXtyZXR1cm57eDp0aGlzLngseTp0aGlzLnksejp0aGlzLnp9fX07Cl8ucXMucHJvdG90eXBlLnRvSlNPTj1fLnFzLnByb3RvdHlwZS50b0pTT047Xy5xcy5wcm90b3R5cGUuZXF1YWxzPV8ucXMucHJvdG90eXBlLmVxdWFscztfLnFzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLnFzLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhfLnFzLnByb3RvdHlwZSx7eDp7ZW51bWVyYWJsZTohMH0seTp7ZW51bWVyYWJsZTohMH0sejp7ZW51bWVyYWJsZTohMH19KTt2YXIgRWhhPV8uSm0oam8sIm5vdCBhIHZhbGlkIEluZm9XaW5kb3cgYW5jaG9yIik7Xy5ycz17UkVRVUlSRUQ6IlJFUVVJUkVEIixSRVFVSVJFRF9BTkRfSElERVNfT1BUSU9OQUw6IlJFUVVJUkVEX0FORF9ISURFU19PUFRJT05BTCIsT1BUSU9OQUxfQU5EX0hJREVTX0xPV0VSX1BSSU9SSVRZOiJPUFRJT05BTF9BTkRfSElERVNfTE9XRVJfUFJJT1JJVFkifTt2YXIgRmhhPXtDSVJDTEU6MCxGT1JXQVJEX0NMT1NFRF9BUlJPVzoxLEZPUldBUkRfT1BFTl9BUlJPVzoyLEJBQ0tXQVJEX0NMT1NFRF9BUlJPVzozLEJBQ0tXQVJEX09QRU5fQVJST1c6NCwwOiJDSVJDTEUiLDE6IkZPUldBUkRfQ0xPU0VEX0FSUk9XIiwyOiJGT1JXQVJEX09QRU5fQVJST1ciLDM6IkJBQ0tXQVJEX0NMT1NFRF9BUlJPVyIsNDoiQkFDS1dBUkRfT1BFTl9BUlJPVyJ9O3ZhciBzcz1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm5sKGEpfW5sKGEpe2E9YXx8e307YS5jbGlja2FibGU9Xy5sbShhLmNsaWNrYWJsZSwhMCk7YS52aXNpYmxlPV8ubG0oYS52aXNpYmxlLCEwKTt0aGlzLnNldFZhbHVlcyhhKTtfLkhsKCJtYXJrZXIiKX19OwpfLlduKHNzLnByb3RvdHlwZSx7cG9zaXRpb246Xy5NbShfLlhtKSx0aXRsZTpfLmJzLGljb246Xy5NbShfLkttKFtfLmNyLF8uSW0oYT0+YSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZhLmxvY2FsTmFtZT09PSJnbXAtcGluIiwic2hvdWxkIGJlIGEgUGluVmlldyIpLHtpQzpfLk5tKCJ1cmwiKSx0aGVuOl8uQ20oe3VybDpfLmNyLHNjYWxlZFNpemU6Xy5NbShpbyksc2l6ZTpfLk1tKGlvKSxvcmlnaW46Xy5NbShjbyksYW5jaG9yOl8uTW0oY28pLGxhYmVsT3JpZ2luOl8uTW0oY28pLHBhdGg6Xy5JbShhPT5hPT1udWxsKX0sITApfSx7aUM6Xy5ObSgicGF0aCIpLHRoZW46Xy5DbSh7cGF0aDpfLkttKFtfLmNyLF8uRm0oRmhhKV0pLGFuY2hvcjpfLk1tKGNvKSxsYWJlbE9yaWdpbjpfLk1tKGNvKSxmaWxsQ29sb3I6Xy5icyxmaWxsT3BhY2l0eTpfLmFzLHJvdGF0aW9uOl8uYXMsc2NhbGU6Xy5hcyxzdHJva2VDb2xvcjpfLmJzLHN0cm9rZU9wYWNpdHk6Xy5hcyxzdHJva2VXZWlnaHQ6Xy5hcywKdXJsOl8uSW0oYT0+YT09bnVsbCl9LCEwKX1dKSksbGFiZWw6Xy5NbShfLkttKFtfLmNyLHtpQzpfLk5tKCJ0ZXh0IiksdGhlbjpfLkNtKHt0ZXh0Ol8uY3IsZm9udFNpemU6Xy5icyxmb250V2VpZ2h0Ol8uYnMsZm9udEZhbWlseTpfLmJzLGNsYXNzTmFtZTpfLmJzfSwhMCl9XSkpLHNoYWRvdzpfLlNsLHNoYXBlOl8uU2wsY3Vyc29yOl8uYnMsY2xpY2thYmxlOl8uY3MsYW5pbWF0aW9uOl8uU2wsZHJhZ2dhYmxlOl8uY3MsdmlzaWJsZTpfLmNzLGZsYXQ6Xy5TbCx6SW5kZXg6Xy5hcyxvcGFjaXR5Ol8uYXMscGxhY2U6Xy5NbShfLkxtKF8uQ20oe3BsYWNlSWQ6Xy5icyxxdWVyeTpfLmJzLGxvY2F0aW9uOl8uWG19KSxmdW5jdGlvbihhKXtpZihhLnBsYWNlSWQmJmEucXVlcnkpdGhyb3cgXy5BbSgiY2Fubm90IHNldCBib3RoIHBsYWNlSWQgYW5kIHF1ZXJ5Iik7aWYoIWEucGxhY2VJZCYmIWEucXVlcnkpdGhyb3cgXy5BbSgibXVzdCBzZXQgb25lIG9mIHBsYWNlSWQgb3IgcXVlcnkiKTsKcmV0dXJuIGF9KSksYXR0cmlidXRpb246Xy5NbShfLkNtKHtzb3VyY2U6Xy5jcix3ZWJVcmw6Xy5icyxpb3NEZWVwTGlua0lkOl8uYnN9KSl9KTtfLndtKHNzKTt2YXIgR2hhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zaD1hO3RoaXMudGg9Yjt0aGlzLnJoPTA7dGhpcy5xaD1udWxsfWdldCgpe2lmKHRoaXMucmg+MCl7dGhpcy5yaC0tO3ZhciBhPXRoaXMucWg7dGhpcy5xaD1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMuc2goKTtyZXR1cm4gYX19O3ZhciBIaGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnJoPXRoaXMucWg9bnVsbH1hZGQoYSxiKXt2YXIgYz1mZGEuZ2V0KCk7Yy5zZXQoYSxiKTt0aGlzLnJoP3RoaXMucmgubmV4dD1jOnRoaXMucWg9Yzt0aGlzLnJoPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLnFoJiYoYT10aGlzLnFoLHRoaXMucWg9dGhpcy5xaC5uZXh0LHRoaXMucWh8fCh0aGlzLnJoPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LGZkYT1uZXcgR2hhKCgpPT5uZXcgSWhhLGE9PmEucmVzZXQoKSksSWhhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5Udj1udWxsfXNldChhLGIpe3RoaXMuVHY9YTt0aGlzLnNjb3BlPWI7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLlR2PW51bGx9fTt2YXIgdnMsa28sZWRhLEpoYTtrbz0hMTtlZGE9bmV3IEhoYTtfLnlwPShhLGIpPT57dnN8fEpoYSgpO2tvfHwodnMoKSxrbz0hMCk7ZWRhLmFkZChhLGIpfTtKaGE9KCk9Pnt2YXIgYT1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt2cz0oKT0+e2EudGhlbihnZGEpfX07dmFyIEtoYTsKXy5MaGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5haT1bXTt0aGlzLmRzPWEmJmEuZHM/YS5kczooKT0+e307dGhpcy5zdD1hJiZhLnN0P2Euc3Q6KCk9Pnt9fWFkZExpc3RlbmVyKGEsYil7aWRhKHRoaXMsYSxiLCExKX1hZGRMaXN0ZW5lck9uY2UoYSxiKXtpZGEodGhpcyxhLGIsITApfXJlbW92ZUxpc3RlbmVyKGEsYil7dGhpcy5haS5sZW5ndGgmJigoYT10aGlzLmFpLmZpbmQoaGRhKGEsYikpKSYmdGhpcy5haS5zcGxpY2UodGhpcy5haS5pbmRleE9mKGEpLDEpLHRoaXMuYWkubGVuZ3RofHx0aGlzLmRzKCkpfXR1KGEsYil7dmFyIGM9dGhpcy5haS5zbGljZSgwKSxkPSgpPT57Zm9yKGxldCBlIG9mIGMpYShmPT57aWYoZS5vbmNlKXtpZihlLm9uY2UuRUcpcmV0dXJuO2Uub25jZS5FRz0hMDt0aGlzLmFpLnNwbGljZSh0aGlzLmFpLmluZGV4T2YoZSksMSk7dGhpcy5haS5sZW5ndGh8fHRoaXMuZHMoKX1lLlR2LmNhbGwoZS5jb250ZXh0LGYpfSl9O2ImJmIuc3luYz9kKCk6CihLaGF8fF8ueXApKGQpfX07S2hhPW51bGw7Xy5NaGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmFpPW5ldyBfLkxoYSh7ZHM6KCk9Pnt0aGlzLmRzKCl9LHN0OigpPT57dGhpcy5zdCgpfX0pfXN0KCl7fWRzKCl7fWFkZExpc3RlbmVyKGEsYil7dGhpcy5haS5hZGRMaXN0ZW5lcihhLGIpfWFkZExpc3RlbmVyT25jZShhLGIpe3RoaXMuYWkuYWRkTGlzdGVuZXJPbmNlKGEsYil9cmVtb3ZlTGlzdGVuZXIoYSxiKXt0aGlzLmFpLnJlbW92ZUxpc3RlbmVyKGEsYil9bm90aWZ5KGEpe3RoaXMuYWkudHUoYj0+e2IodGhpcy5nZXQoKSl9LGEpfX07Xy5OaGE9Y2xhc3MgZXh0ZW5kcyBfLk1oYXtjb25zdHJ1Y3RvcihhPSExKXtzdXBlcigpO3RoaXMuc2g9YX1zZXQoYSl7dGhpcy5zaCYmdGhpcy5nZXQoKT09PWF8fCh0aGlzLnJoKGEpLHRoaXMubm90aWZ5KCkpfX07Xy5sbz1jbGFzcyBleHRlbmRzIF8uTmhhe2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy52YWx1ZT1hfWdldCgpe3JldHVybiB0aGlzLnZhbHVlfXJoKGEpe3RoaXMudmFsdWU9YX19O18ucWIoXy5ubyxfLnluKTt2YXIgd3M9Xy5NbShfLkVtKF8ubm8sIlN0cmVldFZpZXdQYW5vcmFtYSIpKTt2YXIgT2hhO09oYT0hMTsKXy54cz1jbGFzcyBleHRlbmRzIHNze2dldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7dGhpcy5ubChhKX1ubChhKXt2YXIgYj1hP2EuaW50ZXJuYWxNYXJrZXI6ITE7T2hhfHxifHwoT2hhPSEwLGNvbnNvbGUud2FybigiQXMgb2YgRmVicnVhcnkgMjFzdCwgMjAyNCwgZ29vZ2xlLm1hcHMuTWFya2VyIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgZ29vZ2xlLm1hcHMubWFya2VyLkFkdmFuY2VkTWFya2VyRWxlbWVudCBpbnN0ZWFkLiBBdCB0aGlzIHRpbWUsIGdvb2dsZS5tYXBzLk1hcmtlciBpcyBub3Qgc2NoZWR1bGVkIHRvIGJlIGRpc2NvbnRpbnVlZCwgYnV0IGdvb2dsZS5tYXBzLm1hcmtlci5BZHZhbmNlZE1hcmtlckVsZW1lbnQgaXMgcmVjb21tZW5kZWQgb3ZlciBnb29nbGUubWFwcy5NYXJrZXIuIFdoaWxlIGdvb2dsZS5tYXBzLk1hcmtlciB3aWxsIGNvbnRpbnVlIHRvIHJlY2VpdmUgYnVnIGZpeGVzIGZvciBhbnkgbWFqb3IgcmVncmVzc2lvbnMsIGV4aXN0aW5nIGJ1Z3MgaW4gZ29vZ2xlLm1hcHMuTWFya2VyIHdpbGwgbm90IGJlIGFkZHJlc3NlZC4gQXQgbGVhc3QgMTIgbW9udGhzIG5vdGljZSB3aWxsIGJlIGdpdmVuIGJlZm9yZSBzdXBwb3J0IGlzIGRpc2NvbnRpbnVlZC4gUGxlYXNlIHNlZSBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RlcHJlY2F0aW9ucyBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIGFuZCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9hZHZhbmNlZC1tYXJrZXJzL21pZ3JhdGlvbiBmb3IgdGhlIG1pZ3JhdGlvbiBndWlkZS4iKSk7amRhKHRoaXMpOwpzcy5jYWxsKHRoaXMsYSl9bWFwX2NoYW5nZWQoKXtqZGEodGhpcyk7dmFyIGE9dGhpcy5nZXQoIm1hcCIpO2E9YSYmYS5fX2dtLm1hcmtlcnM7dGhpcy5fX2dtJiZ0aGlzLl9fZ20uc2V0PT09YXx8KHRoaXMuX19nbSYmdGhpcy5fX2dtLnNldCYmdGhpcy5fX2dtLnNldC5yZW1vdmUodGhpcyksKHRoaXMuX19nbS5zZXQ9YSkmJl8uRHAoYSx0aGlzKSl9fTtfLnhzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1fLnhzLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtfLnhzLnByb3RvdHlwZS5zZXRPcHRpb25zPV8ueHMucHJvdG90eXBlLnNldE9wdGlvbnM7Xy54cy5wcm90b3R5cGUuc2V0TWFwPV8ueHMucHJvdG90eXBlLnNldE1hcDtfLnhzLnByb3RvdHlwZS5nZXRNYXA9Xy54cy5wcm90b3R5cGUuZ2V0TWFwO18ueHMuTUFYX1pJTkRFWD0xRTY7Xy5uYigibW9kdWxlJGV4cG9ydHMkZ29vZ2xlMyRtYXBzJGFwaSRqYXZhc2NyaXB0JG1hcmtlciRtYXJrZXIuTWFya2VyLk1BWF9aSU5ERVgiLF8ueHMuTUFYX1pJTkRFWCk7Cl8uV24oXy54cy5wcm90b3R5cGUse21hcDpfLkttKFtfLmhzLHdzXSl9KTtfLndtKF8ueHMpO3ZhciBQaGE9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmluZm9XaW5kb3c9YTt0aGlzLmZ0PWI7dGhpcy5pbmZvV2luZG93LmFkZExpc3RlbmVyKCJtYXBfY2hhbmdlZCIsKCk9Pnt2YXIgYz10aGlzLmdldCgiaW50ZXJuYWxBbmNob3IiKSxkPXJvKGMpO2pvKGMpJiZkJiZkLnNldCgiaXNPcGVuIiwhIXRoaXMuaW5mb1dpbmRvdy5nZXQoIm1hcCIpKTshdGhpcy5pbmZvV2luZG93LmdldCgibWFwIikmJmQmJmQuZ2V0KCJtYXAiKSYmdGhpcy5zZXQoImludGVybmFsQW5jaG9yIixudWxsKX0pO3RoaXMuYmluZFRvKCJwZW5kaW5nRm9jdXMiLHRoaXMuaW5mb1dpbmRvdyk7dGhpcy5iaW5kVG8oIm1hcCIsdGhpcy5pbmZvV2luZG93KTt0aGlzLmJpbmRUbygiZGlzYWJsZUF1dG9QYW4iLHRoaXMuaW5mb1dpbmRvdyk7dGhpcy5iaW5kVG8oImhlYWRlckRpc2FibGVkIix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJtYXhXaWR0aCIsdGhpcy5pbmZvV2luZG93KTsKdGhpcy5iaW5kVG8oIm1pbldpZHRoIix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJwb3NpdGlvbiIsdGhpcy5pbmZvV2luZG93KTt0aGlzLmJpbmRUbygiekluZGV4Iix0aGlzLmluZm9XaW5kb3cpO3RoaXMuYmluZFRvKCJhcmlhTGFiZWwiLHRoaXMuaW5mb1dpbmRvdyk7dGhpcy5iaW5kVG8oImludGVybmFsQW5jaG9yIix0aGlzLmluZm9XaW5kb3csImFuY2hvciIpO3RoaXMuYmluZFRvKCJpbnRlcm5hbEhlYWRlckNvbnRlbnQiLHRoaXMuaW5mb1dpbmRvdywiaGVhZGVyQ29udGVudCIpO3RoaXMuYmluZFRvKCJpbnRlcm5hbENvbnRlbnQiLHRoaXMuaW5mb1dpbmRvdywiY29udGVudCIpO3RoaXMuYmluZFRvKCJpbnRlcm5hbFBpeGVsT2Zmc2V0Iix0aGlzLmluZm9XaW5kb3csInBpeGVsT2Zmc2V0Iik7dGhpcy5iaW5kVG8oInNob3VsZEZvY3VzIix0aGlzLmluZm9XaW5kb3cpfWludGVybmFsQW5jaG9yX2NoYW5nZWQoKXt2YXIgYT1ybyh0aGlzLmdldCgiaW50ZXJuYWxBbmNob3IiKSk7Cm9vKHRoaXMsImF0dHJpYnV0aW9uIixhKTtvbyh0aGlzLCJwbGFjZSIsYSk7b28odGhpcywicGl4ZWxQb3NpdGlvbiIsYSk7b28odGhpcywiaW50ZXJuYWxBbmNob3JNYXAiLGEsIm1hcCIsITApO3RoaXMuaW50ZXJuYWxBbmNob3JNYXBfY2hhbmdlZCghMCk7b28odGhpcywiaW50ZXJuYWxBbmNob3JQb2ludCIsYSwiYW5jaG9yUG9pbnQiKTthIGluc3RhbmNlb2YgXy54cz9vbyh0aGlzLCJpbnRlcm5hbEFuY2hvclBvc2l0aW9uIixhLCJpbnRlcm5hbFBvc2l0aW9uIik6b28odGhpcywiaW50ZXJuYWxBbmNob3JQb3NpdGlvbiIsYSwicG9zaXRpb24iKX1pbnRlcm5hbEFuY2hvclBvaW50X2NoYW5nZWQoKXtrZGEodGhpcyl9aW50ZXJuYWxQaXhlbE9mZnNldF9jaGFuZ2VkKCl7a2RhKHRoaXMpfWludGVybmFsQW5jaG9yUG9zaXRpb25fY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJpbnRlcm5hbEFuY2hvclBvc2l0aW9uIik7YSYmdGhpcy5zZXQoInBvc2l0aW9uIixhKX1pbnRlcm5hbEFuY2hvck1hcF9jaGFuZ2VkKGE9CiExKXt0aGlzLmdldCgiaW50ZXJuYWxBbmNob3IiKSYmKGF8fHRoaXMuZ2V0KCJpbnRlcm5hbEFuY2hvck1hcCIpIT09dGhpcy5pbmZvV2luZG93LmdldCgibWFwIikpJiZ0aGlzLmluZm9XaW5kb3cuc2V0KCJtYXAiLHRoaXMuZ2V0KCJpbnRlcm5hbEFuY2hvck1hcCIpKX1pbnRlcm5hbEhlYWRlckNvbnRlbnRfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJpbnRlcm5hbEhlYWRlckNvbnRlbnQiKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXtsZXQgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Yi50ZXh0Q29udGVudD1hO2E9Yn10aGlzLnNldCgiaGVhZGVyQ29udGVudCIsYSl9aW50ZXJuYWxDb250ZW50X2NoYW5nZWQoKXt2YXIgYT10aGlzLnNldCxiO2lmKGI9dGhpcy5nZXQoImludGVybmFsQ29udGVudCIpKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtfLnpqKGMsXy5EbChiKSl9ZWxzZSBiLm5vZGVUeXBlPT09Ck5vZGUuVEVYVF9OT0RFPyhjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGMuYXBwZW5kQ2hpbGQoYikpOmM9YjtiPWN9ZWxzZSBiPW51bGw7YS5jYWxsKHRoaXMsImNvbnRlbnQiLGIpfXRyaWdnZXIoYSl7Xy53bih0aGlzLmluZm9XaW5kb3csYSl9Y2xvc2UoKXt0aGlzLmluZm9XaW5kb3cuc2V0KCJtYXAiLG51bGwpfX07Xy55cz1jbGFzcyBleHRlbmRzIF8ueW57c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX1zZXRIZWFkZXJDb250ZW50KGEpe3RoaXMuc2V0KCJoZWFkZXJDb250ZW50IixhKX1nZXRIZWFkZXJDb250ZW50KCl7cmV0dXJuIHRoaXMuZ2V0KCJoZWFkZXJDb250ZW50Iil9c2V0SGVhZGVyRGlzYWJsZWQoYSl7dGhpcy5zZXQoImhlYWRlckRpc2FibGVkIixhKX1nZXRIZWFkZXJEaXNhYmxlZCgpe3JldHVybiB0aGlzLmdldCgiaGVhZGVyRGlzYWJsZWQiKX1zZXRDb250ZW50KGEpe3RoaXMuc2V0KCJjb250ZW50IixhKX1nZXRDb250ZW50KCl7cmV0dXJuIHRoaXMuZ2V0KCJjb250ZW50Iil9c2V0UG9zaXRpb24oYSl7dGhpcy5zZXQoInBvc2l0aW9uIixhKX1nZXRQb3NpdGlvbigpe3JldHVybiB0aGlzLmdldCgicG9zaXRpb24iKX1zZXRaSW5kZXgoYSl7dGhpcy5zZXQoInpJbmRleCIsYSl9Z2V0WkluZGV4KCl7cmV0dXJuIHRoaXMuZ2V0KCJ6SW5kZXgiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsCmEpfWdldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0QW5jaG9yKGEpe3RoaXMuc2V0KCJhbmNob3IiLGEpfWdldEFuY2hvcigpe3JldHVybiB0aGlzLmdldCgiYW5jaG9yIil9Y29uc3RydWN0b3IoYSl7ZnVuY3Rpb24gYigpe2V8fChlPSEwLF8uSGwoImluZm93aW5kb3ciKS50aGVuKGY9PntmLnVMKGQpfSkpfXN1cGVyKCk7d2luZG93LnNldFRpbWVvdXQoKCk9PntfLkhsKCJpbmZvd2luZG93Iil9LDEwMCk7YT1hfHx7fTt2YXIgYz0hIWEuZnQ7ZGVsZXRlIGEuZnQ7dmFyIGQ9bmV3IFBoYSh0aGlzLGMpLGU9ITE7Xy50bih0aGlzLCJhbmNob3JfY2hhbmdlZCIsYik7Xy50bih0aGlzLCJtYXBfY2hhbmdlZCIsYik7dGhpcy5zZXRWYWx1ZXMoYSl9b3BlbihhLGIpe3ZhciBjPWI7Yj17fTt0eXBlb2YgYSE9PSJvYmplY3QifHwhYXx8YSBpbnN0YW5jZW9mIF8ubm98fGEgaW5zdGFuY2VvZiBfLkxuPyhiLm1hcD1hLGIuYW5jaG9yPWMpOihiLm1hcD1hLm1hcCxiLnNob3VsZEZvY3VzPQphLnNob3VsZEZvY3VzLGIuYW5jaG9yPWN8fGEuYW5jaG9yKTthPShhPXJvKGIuYW5jaG9yKSkmJmEuZ2V0KCJtYXAiKTthPWEgaW5zdGFuY2VvZiBfLkxufHxhIGluc3RhbmNlb2YgXy5ubztiLm1hcHx8YXx8Y29uc29sZS53YXJuKCJJbmZvV2luZG93Lm9wZW4oKSB3YXMgY2FsbGVkIHdpdGhvdXQgYW4gYXNzb2NpYXRlZCBNYXAgb3IgU3RyZWV0Vmlld1Bhbm9yYW1hIGluc3RhbmNlLiIpO3ZhciBkPXsuLi5ifTthPWQubWFwO2I9ZC5hbmNob3I7Yz10aGlzLnNldDt7dmFyIGU9ZC5tYXA7bGV0IGY9ZC5zaG91bGRGb2N1cztlPXR5cGVvZiBmPT09ImJvb2xlYW4iP2Y6KGU9KGQ9cm8oZC5hbmNob3IpKSYmZC5nZXQoIm1hcCIpfHxlKT9lLl9fZ20uZ2V0KCJpc0luaXRpYWxpemVkIik6ITF9Yy5jYWxsKHRoaXMsInNob3VsZEZvY3VzIixlKTt0aGlzLnNldCgiYW5jaG9yIixiKTtiPyF0aGlzLmdldCgibWFwIikmJmEmJnRoaXMuc2V0KCJtYXAiLGEpOnRoaXMuc2V0KCJtYXAiLGEpfWdldCBpc09wZW4oKXtyZXR1cm4hIXRoaXMuZ2V0KCJtYXAiKX1jbG9zZSgpe3RoaXMuc2V0KCJtYXAiLApudWxsKX1mb2N1cygpe3RoaXMuZ2V0KCJtYXAiKSYmIXRoaXMuZ2V0KCJwZW5kaW5nRm9jdXMiKSYmdGhpcy5zZXQoInBlbmRpbmdGb2N1cyIsITApfX07Xy55cy5wcm90b3R5cGUuZm9jdXM9Xy55cy5wcm90b3R5cGUuZm9jdXM7Xy55cy5wcm90b3R5cGUuY2xvc2U9Xy55cy5wcm90b3R5cGUuY2xvc2U7Xy55cy5wcm90b3R5cGUub3Blbj1fLnlzLnByb3RvdHlwZS5vcGVuO18ueXMucHJvdG90eXBlLmNvbnN0cnVjdG9yPV8ueXMucHJvdG90eXBlLmNvbnN0cnVjdG9yO18ueXMucHJvdG90eXBlLmdldEFuY2hvcj1fLnlzLnByb3RvdHlwZS5nZXRBbmNob3I7Xy55cy5wcm90b3R5cGUuc2V0QW5jaG9yPV8ueXMucHJvdG90eXBlLnNldEFuY2hvcjtfLnlzLnByb3RvdHlwZS5nZXRNYXA9Xy55cy5wcm90b3R5cGUuZ2V0TWFwO18ueXMucHJvdG90eXBlLnNldE1hcD1fLnlzLnByb3RvdHlwZS5zZXRNYXA7Xy55cy5wcm90b3R5cGUuZ2V0WkluZGV4PV8ueXMucHJvdG90eXBlLmdldFpJbmRleDsKXy55cy5wcm90b3R5cGUuc2V0WkluZGV4PV8ueXMucHJvdG90eXBlLnNldFpJbmRleDtfLnlzLnByb3RvdHlwZS5nZXRQb3NpdGlvbj1fLnlzLnByb3RvdHlwZS5nZXRQb3NpdGlvbjtfLnlzLnByb3RvdHlwZS5zZXRQb3NpdGlvbj1fLnlzLnByb3RvdHlwZS5zZXRQb3NpdGlvbjtfLnlzLnByb3RvdHlwZS5nZXRDb250ZW50PV8ueXMucHJvdG90eXBlLmdldENvbnRlbnQ7Xy55cy5wcm90b3R5cGUuc2V0Q29udGVudD1fLnlzLnByb3RvdHlwZS5zZXRDb250ZW50O18ueXMucHJvdG90eXBlLmdldEhlYWRlckRpc2FibGVkPV8ueXMucHJvdG90eXBlLmdldEhlYWRlckRpc2FibGVkO18ueXMucHJvdG90eXBlLnNldEhlYWRlckRpc2FibGVkPV8ueXMucHJvdG90eXBlLnNldEhlYWRlckRpc2FibGVkO18ueXMucHJvdG90eXBlLmdldEhlYWRlckNvbnRlbnQ9Xy55cy5wcm90b3R5cGUuZ2V0SGVhZGVyQ29udGVudDtfLnlzLnByb3RvdHlwZS5zZXRIZWFkZXJDb250ZW50PV8ueXMucHJvdG90eXBlLnNldEhlYWRlckNvbnRlbnQ7Cl8ueXMucHJvdG90eXBlLnNldE9wdGlvbnM9Xy55cy5wcm90b3R5cGUuc2V0T3B0aW9ucztfLlduKF8ueXMucHJvdG90eXBlLHtoZWFkZXJDb250ZW50Ol8uS20oW18uYnMsXy5JbShfLkRtKV0pLGhlYWRlckRpc2FibGVkOl8uTW0oJHIpLGNvbnRlbnQ6Xy5LbShbXy5icyxfLkltKF8uRG0pXSkscG9zaXRpb246Xy5NbShfLlhtKSxzaXplOl8uTW0oaW8pLG1hcDpfLkttKFtfLmhzLHdzXSksYW5jaG9yOl8uTW0oXy5LbShbXy5FbShfLnluLCJNVkNPYmplY3QiKSxFaGFdKSksekluZGV4Ol8uYXN9KTtfLnpzPWNsYXNzIGV4dGVuZHMgXy55bntnZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1nZXRVcmwoKXtyZXR1cm4gdGhpcy5nZXQoInVybCIpfWdldEJvdW5kcygpe3JldHVybiB0aGlzLmdldCgiYm91bmRzIil9c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX1nZXRPcGFjaXR5KCl7cmV0dXJuIHRoaXMuZ2V0KCJvcGFjaXR5Iil9c2V0T3BhY2l0eShhKXt0aGlzLnNldCgib3BhY2l0eSIsYSl9Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5ubChhLGIsYyl9bmwoYSxiLGMpe3RoaXMuc2V0KCJ1cmwiLGEpO3RoaXMuc2V0KCJib3VuZHMiLF8uTW0oXy5UbikoYikpO3RoaXMuc2V0VmFsdWVzKGMpfW1hcF9jaGFuZ2VkKCl7Xy5IbCgia21sIikudGhlbihhPT57dGhpcy5nZXQoIm1hcCIpP3RoaXMuZ2V0KCJtYXAiKS5fX2dtLkdoLnRoZW4oKCk9PnthLnBHKHRoaXMpfSk6YS5wRyh0aGlzKX0pfX07Cl8uenMucHJvdG90eXBlLnNldE9wYWNpdHk9Xy56cy5wcm90b3R5cGUuc2V0T3BhY2l0eTtfLnpzLnByb3RvdHlwZS5nZXRPcGFjaXR5PV8uenMucHJvdG90eXBlLmdldE9wYWNpdHk7Xy56cy5wcm90b3R5cGUuZ2V0Qm91bmRzPV8uenMucHJvdG90eXBlLmdldEJvdW5kcztfLnpzLnByb3RvdHlwZS5nZXRVcmw9Xy56cy5wcm90b3R5cGUuZ2V0VXJsO18uenMucHJvdG90eXBlLnNldE1hcD1fLnpzLnByb3RvdHlwZS5zZXRNYXA7Xy56cy5wcm90b3R5cGUuZ2V0TWFwPV8uenMucHJvdG90eXBlLmdldE1hcDtfLndtKF8uenMpO18uV24oXy56cy5wcm90b3R5cGUse21hcDpfLmhzLHVybDpudWxsLGJvdW5kczpudWxsLG9wYWNpdHk6Xy5hc30pO18ucWIoc28sXy55bik7c28ucHJvdG90eXBlLnhoPWZ1bmN0aW9uKCl7Xy5IbCgia21sIikudGhlbihhPT57YS54TCh0aGlzKX0pfTtzby5wcm90b3R5cGUudXJsX2NoYW5nZWQ9c28ucHJvdG90eXBlLnhoO3NvLnByb3RvdHlwZS5tYXBfY2hhbmdlZD1zby5wcm90b3R5cGUueGg7c28ucHJvdG90eXBlLnpJbmRleF9jaGFuZ2VkPXNvLnByb3RvdHlwZS54aDtfLlduKHNvLnByb3RvdHlwZSx7bWFwOl8uaHMsZGVmYXVsdFZpZXdwb3J0Om51bGwsbWV0YWRhdGE6bnVsbCxzdGF0dXM6bnVsbCx1cmw6Xy5icyxzY3JlZW5PdmVybGF5czpfLmNzLHpJbmRleDpfLmFzfSk7Xy5Bcz1jbGFzcyBleHRlbmRzIF8ueW57Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9Y29uc3RydWN0b3IoKXtzdXBlcigpO18uSGwoImxheWVycyIpLnRoZW4oYT0+e2EudEwodGhpcyl9KX19O18uQXMucHJvdG90eXBlLnNldE1hcD1fLkFzLnByb3RvdHlwZS5zZXRNYXA7Xy5Bcy5wcm90b3R5cGUuZ2V0TWFwPV8uQXMucHJvdG90eXBlLmdldE1hcDtfLlduKF8uQXMucHJvdG90eXBlLHttYXA6Xy5oc30pO3ZhciBCcz1jbGFzcyBleHRlbmRzIF8ueW57c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1jb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuc2V0VmFsdWVzKGEpO18uSGwoImxheWVycyIpLnRoZW4oYj0+e2IuQUwodGhpcyl9KX19O0JzLnByb3RvdHlwZS5zZXRNYXA9QnMucHJvdG90eXBlLnNldE1hcDtCcy5wcm90b3R5cGUuZ2V0TWFwPUJzLnByb3RvdHlwZS5nZXRNYXA7QnMucHJvdG90eXBlLnNldE9wdGlvbnM9QnMucHJvdG90eXBlLnNldE9wdGlvbnM7Xy5XbihCcy5wcm90b3R5cGUse21hcDpfLmhzfSk7dmFyIENzPWNsYXNzIGV4dGVuZHMgXy55bntnZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCk7Xy5IbCgibGF5ZXJzIikudGhlbihhPT57YS5CTCh0aGlzKX0pfX07Q3MucHJvdG90eXBlLnNldE1hcD1Dcy5wcm90b3R5cGUuc2V0TWFwO0NzLnByb3RvdHlwZS5nZXRNYXA9Q3MucHJvdG90eXBlLmdldE1hcDtfLlduKENzLnByb3RvdHlwZSx7bWFwOl8uaHN9KTt2YXIgdm87Xy5Ecz17YWs6YT0+YT8uc3BsaXQoL1xzKy8pLmZpbHRlcihCb29sZWFuKT8/bnVsbCxMajphPT5hPy5qb2luKCIgIik/P251bGx9O3ZvPW5ldyBNYXA7Xy55bz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm1pblk9dGhpcy5taW5YPUluZmluaXR5O3RoaXMubWF4WT10aGlzLm1heFg9LUluZmluaXR5OyhhfHxbXSkuZm9yRWFjaChiPT52b2lkIHRoaXMuZXh0ZW5kKGIpKX1pc0VtcHR5KCl7cmV0dXJuISh0aGlzLm1pblg8dGhpcy5tYXhYJiZ0aGlzLm1pblk8dGhpcy5tYXhZKX10b1N0cmluZygpe3JldHVybmAoJHt0aGlzLm1pblh9LCAke3RoaXMubWluWX0sICR7dGhpcy5tYXhYfSwgJHt0aGlzLm1heFl9KWB9ZXh0ZW5kKGEpe2EmJih0aGlzLm1pblg9TWF0aC5taW4odGhpcy5taW5YLGEueCksdGhpcy5tYXhYPU1hdGgubWF4KHRoaXMubWF4WCxhLngpLHRoaXMubWluWT1NYXRoLm1pbih0aGlzLm1pblksYS55KSx0aGlzLm1heFk9TWF0aC5tYXgodGhpcy5tYXhZLGEueSkpfWV4dGVuZEJ5Qm91bmRzKGEpe2EmJih0aGlzLm1pblg9TWF0aC5taW4odGhpcy5taW5YLGEubWluWCksdGhpcy5tYXhYPU1hdGgubWF4KHRoaXMubWF4WCxhLm1heFgpLAp0aGlzLm1pblk9TWF0aC5taW4odGhpcy5taW5ZLGEubWluWSksdGhpcy5tYXhZPU1hdGgubWF4KHRoaXMubWF4WSxhLm1heFkpKX1nZXRTaXplKCl7cmV0dXJuIG5ldyBfLmdvKHRoaXMubWF4WC10aGlzLm1pblgsdGhpcy5tYXhZLXRoaXMubWluWSl9Z2V0Q2VudGVyKCl7cmV0dXJuIG5ldyBfLmJvKCh0aGlzLm1pblgrdGhpcy5tYXhYKS8yLCh0aGlzLm1pblkrdGhpcy5tYXhZKS8yKX1lcXVhbHMoYSl7cmV0dXJuIGE/dGhpcy5taW5YPT09YS5taW5YJiZ0aGlzLm1pblk9PT1hLm1pblkmJnRoaXMubWF4WD09PWEubWF4WCYmdGhpcy5tYXhZPT09YS5tYXhZOiExfWNvbnRhaW5zUG9pbnQoYSl7cmV0dXJuIHRoaXMubWluWDw9YS54JiZhLng8dGhpcy5tYXhYJiZ0aGlzLm1pblk8PWEueSYmYS55PHRoaXMubWF4WX1jb250YWluc0JvdW5kcyhhKXtyZXR1cm4gdGhpcy5taW5YPD1hLm1pblgmJnRoaXMubWF4WD49YS5tYXhYJiZ0aGlzLm1pblk8PWEubWluWSYmdGhpcy5tYXhZPj1hLm1heFl9fTsKXy5Fcz1fLnpvKC1JbmZpbml0eSwtSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpO18uem8oMCwwLDAsMCk7Xy5xYihfLkVvLF8ueW4pO18uRW8ucHJvdG90eXBlLmdldEF0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnFoW2FdfTtfLkVvLnByb3RvdHlwZS5nZXRBdD1fLkVvLnByb3RvdHlwZS5nZXRBdDtfLkVvLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wLGM9dGhpcy5xaC5sZW5ndGg7YjxjOysrYilpZihhPT09dGhpcy5xaFtiXSlyZXR1cm4gYjtyZXR1cm4tMX07Xy5Fby5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPXRoaXMucWgubGVuZ3RoO2I8YzsrK2IpYSh0aGlzLnFoW2JdLGIpfTtfLkVvLnByb3RvdHlwZS5mb3JFYWNoPV8uRW8ucHJvdG90eXBlLmZvckVhY2g7Cl8uRW8ucHJvdG90eXBlLnNldEF0PWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5xaFthXSxkPXRoaXMucWgubGVuZ3RoO2lmKGE8ZCl0aGlzLnFoW2FdPWIsXy53bih0aGlzLCJzZXRfYXQiLGEsYyksdGhpcy50aCYmdGhpcy50aChhLGMpO2Vsc2V7Zm9yKGM9ZDtjPGE7KytjKXRoaXMuaW5zZXJ0QXQoYyx2b2lkIDApO3RoaXMuaW5zZXJ0QXQoYSxiKX19O18uRW8ucHJvdG90eXBlLnNldEF0PV8uRW8ucHJvdG90eXBlLnNldEF0O18uRW8ucHJvdG90eXBlLmluc2VydEF0PWZ1bmN0aW9uKGEsYil7dGhpcy5xaC5zcGxpY2UoYSwwLGIpO0RvKHRoaXMpO18ud24odGhpcywiaW5zZXJ0X2F0IixhKTt0aGlzLnJoJiZ0aGlzLnJoKGEpfTtfLkVvLnByb3RvdHlwZS5pbnNlcnRBdD1fLkVvLnByb3RvdHlwZS5pbnNlcnRBdDsKXy5Fby5wcm90b3R5cGUucmVtb3ZlQXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5xaFthXTt0aGlzLnFoLnNwbGljZShhLDEpO0RvKHRoaXMpO18ud24odGhpcywicmVtb3ZlX2F0IixhLGIpO3RoaXMuc2gmJnRoaXMuc2goYSxiKTtyZXR1cm4gYn07Xy5Fby5wcm90b3R5cGUucmVtb3ZlQXQ9Xy5Fby5wcm90b3R5cGUucmVtb3ZlQXQ7Xy5Fby5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhKXt0aGlzLmluc2VydEF0KHRoaXMucWgubGVuZ3RoLGEpO3JldHVybiB0aGlzLnFoLmxlbmd0aH07Xy5Fby5wcm90b3R5cGUucHVzaD1fLkVvLnByb3RvdHlwZS5wdXNoO18uRW8ucHJvdG90eXBlLnBvcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbW92ZUF0KHRoaXMucWgubGVuZ3RoLTEpfTtfLkVvLnByb3RvdHlwZS5wb3A9Xy5Fby5wcm90b3R5cGUucG9wO18uRW8ucHJvdG90eXBlLmdldEFycmF5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucWh9O18uRW8ucHJvdG90eXBlLmdldEFycmF5PV8uRW8ucHJvdG90eXBlLmdldEFycmF5OwpfLkVvLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcig7dGhpcy5nZXQoImxlbmd0aCIpOyl0aGlzLnBvcCgpfTtfLkVvLnByb3RvdHlwZS5jbGVhcj1fLkVvLnByb3RvdHlwZS5jbGVhcjtfLlduKF8uRW8ucHJvdG90eXBlLHtsZW5ndGg6bnVsbH0pO3ZhciBwZGE9cmRhKF8uRW0oXy5UbSwiTGF0TG5nIikpO18uU289Y2xhc3MgZXh0ZW5kcyBfLnlue2dldFJhZGl1cygpe3JldHVybiB0aGlzLmdldCgicmFkaXVzIil9c2V0UmFkaXVzKGEpe3RoaXMuc2V0KCJyYWRpdXMiLGEpfWdldENlbnRlcigpe3JldHVybiB0aGlzLmdldCgiY2VudGVyIil9c2V0Q2VudGVyKGEpe3RoaXMuc2V0KCJjZW50ZXIiLGEpfWdldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfWdldERyYWdnYWJsZSgpe3JldHVybiB0aGlzLmdldCgiZHJhZ2dhYmxlIil9c2V0RHJhZ2dhYmxlKGEpe3RoaXMuc2V0KCJkcmFnZ2FibGUiLGEpfWdldEVkaXRhYmxlKCl7cmV0dXJuIHRoaXMuZ2V0KCJlZGl0YWJsZSIpfXNldEVkaXRhYmxlKGEpe3RoaXMuc2V0KCJlZGl0YWJsZSIsYSl9c2V0VmlzaWJsZShhKXt0aGlzLnNldCgidmlzaWJsZSIsYSl9Z2V0VmlzaWJsZSgpe3JldHVybiB0aGlzLmdldCgidmlzaWJsZSIpfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Y29uc3RydWN0b3IoYSl7c3VwZXIoKTsKaWYoYSBpbnN0YW5jZW9mIF8uU28pe2xldCBiPXt9LGM9Im1hcCByYWRpdXMgY2VudGVyIHN0cm9rZUNvbG9yIHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2VpZ2h0IHN0cm9rZVBvc2l0aW9uIGZpbGxDb2xvciBmaWxsT3BhY2l0eSB6SW5kZXggY2xpY2thYmxlIGVkaXRhYmxlIGRyYWdnYWJsZSB2aXNpYmxlIi5zcGxpdCgiICIpO2ZvcihsZXQgZCBvZiBjKWJbZF09YS5nZXQoZCk7YT1ifXRoaXMuc2V0VmFsdWVzKE1vKGEpKTtfLkhsKCJwb2x5Iil9Z2V0Qm91bmRzKCl7dmFyIGE9dGhpcy5nZXQoInJhZGl1cyIpLGI9dGhpcy5nZXQoImNlbnRlciIpO2lmKGImJl8uam0oYSkpe3ZhciBjPXRoaXMuZ2V0KCJtYXAiKTtjPWMmJmMuX19nbS5nZXQoImJhc2VNYXBUeXBlIik7cmV0dXJuIF8uQ28oYixhL18ub2RhKGMpKX1yZXR1cm4gbnVsbH1tYXBfY2hhbmdlZCgpe3NkYSh0aGlzKX12aXNpYmxlX2NoYW5nZWQoKXtzZGEodGhpcyl9Y2VudGVyX2NoYW5nZWQoKXtfLnduKHRoaXMsImJvdW5kc19jaGFuZ2VkIil9cmFkaXVzX2NoYW5nZWQoKXtfLnduKHRoaXMsCiJib3VuZHNfY2hhbmdlZCIpfWVxdWFscyhhKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZighYSlyZXR1cm4hMTt2YXIgYj10aGlzLmdldENlbnRlcigpLGM9YS5nZXRDZW50ZXIoKTtyZXR1cm4gYiYmYz90aGlzLmdldFJhZGl1cygpPT09YS5nZXRSYWRpdXMoKSYmYi5lcXVhbHMoYyk6IWImJiFjJiZ0aGlzLmdldFJhZGl1cygpPT09YS5nZXRSYWRpdXMoKX19O18uU28ucHJvdG90eXBlLmdldEJvdW5kcz1fLlNvLnByb3RvdHlwZS5nZXRCb3VuZHM7Xy5Tby5wcm90b3R5cGUuc2V0T3B0aW9ucz1fLlNvLnByb3RvdHlwZS5zZXRPcHRpb25zO18uU28ucHJvdG90eXBlLmdldFZpc2libGU9Xy5Tby5wcm90b3R5cGUuZ2V0VmlzaWJsZTtfLlNvLnByb3RvdHlwZS5zZXRWaXNpYmxlPV8uU28ucHJvdG90eXBlLnNldFZpc2libGU7Xy5Tby5wcm90b3R5cGUuc2V0RWRpdGFibGU9Xy5Tby5wcm90b3R5cGUuc2V0RWRpdGFibGU7Xy5Tby5wcm90b3R5cGUuZ2V0RWRpdGFibGU9Xy5Tby5wcm90b3R5cGUuZ2V0RWRpdGFibGU7Cl8uU28ucHJvdG90eXBlLnNldERyYWdnYWJsZT1fLlNvLnByb3RvdHlwZS5zZXREcmFnZ2FibGU7Xy5Tby5wcm90b3R5cGUuZ2V0RHJhZ2dhYmxlPV8uU28ucHJvdG90eXBlLmdldERyYWdnYWJsZTtfLlNvLnByb3RvdHlwZS5zZXRNYXA9Xy5Tby5wcm90b3R5cGUuc2V0TWFwO18uU28ucHJvdG90eXBlLmdldE1hcD1fLlNvLnByb3RvdHlwZS5nZXRNYXA7Xy5Tby5wcm90b3R5cGUuc2V0Q2VudGVyPV8uU28ucHJvdG90eXBlLnNldENlbnRlcjtfLlNvLnByb3RvdHlwZS5nZXRDZW50ZXI9Xy5Tby5wcm90b3R5cGUuZ2V0Q2VudGVyO18uU28ucHJvdG90eXBlLnNldFJhZGl1cz1fLlNvLnByb3RvdHlwZS5zZXRSYWRpdXM7Xy5Tby5wcm90b3R5cGUuZ2V0UmFkaXVzPV8uU28ucHJvdG90eXBlLmdldFJhZGl1cztfLlduKF8uU28ucHJvdG90eXBlLHtjZW50ZXI6Xy5NbShfLlhtKSxkcmFnZ2FibGU6Xy5jcyxlZGl0YWJsZTpfLmNzLG1hcDpfLmhzLHJhZGl1czpfLmFzLHZpc2libGU6Xy5jc30pO3ZhciBSaGE7Cl8uRnM9e2FrOlBvKGZ1bmN0aW9uKGEpe3JldHVybiBiPT57aWYoIWIpcmV0dXJuIG51bGw7aWYoYS5oYXMoXy5SbikmJmIuaW5jbHVkZXMoInwiKSl7YTppZihiKXt0cnl7bGV0IGQ9Yi5zcGxpdCgifCIpO2lmKGQubGVuZ3RoPDIpdGhyb3cgRXJyb3IoInRvbyBmZXcgcG9pbnRzIik7aWYoZC5sZW5ndGg+Mil0aHJvdyBFcnJvcigidG9vIG1hbnkgcG9pbnRzIik7bGV0IFtlLGZdPWQubWFwKF8uUm8pO3ZhciBjPW5ldyBfLlJuKGUsZik7YnJlYWsgYX1jYXRjaChkKXt0aHJvdyBFcnJvcihgQ291bGQgbm90IGludGVycHJldCAiJHtifSIgYXMgYSBMYXRMbmdCb3VuZHM6IGArKGQgaW5zdGFuY2VvZiBFcnJvcj9kLm1lc3NhZ2U6YCR7ZH1gKSk7fWM9dm9pZCAwfWVsc2UgYz1udWxsO3JldHVybiBjfWlmKGEuaGFzKF8uU28pJiZiLmluY2x1ZGVzKCJAIikpcmV0dXJuIHRkYShiKTtpZihhLmhhcyhfLlFvKXx8YS5oYXMoXy5UbSkpcmV0dXJuIF8uUm8oYik7dGhyb3cgRXJyb3IoIlVuc3VwcG9ydGVkIGxvY2F0aW9uIGJpYXMvcmVzdHJpY3Rpb24gdHlwZS4iKTt9fShuZXcgU2V0KFtfLlRtLApfLlFvLF8uUm4sXy5Tb10pKSksTGo6ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uUW8pdmFyIGI9Xy5UbyhhKTtlbHNlIGEgaW5zdGFuY2VvZiBfLlRtP2I9Vm8oYSk6YSBpbnN0YW5jZW9mIF8uUm4/YT8oYj1hLmdldFNvdXRoV2VzdCgpLGE9YS5nZXROb3J0aEVhc3QoKSxiPWAke1ZvKGIpfXwke1ZvKGEpfWApOmI9bnVsbDpiPWEgaW5zdGFuY2VvZiBfLlNvP3VkYShhKTpudWxsO3JldHVybiBifX07Xy5RaGE9e2FrOlBvKHRkYSksTGo6dWRhfTtfLkdzPXthazpQbyhmdW5jdGlvbihhKXtyZXR1cm4gYT9fLlJvKGEpOm51bGx9KSxMajpfLlRvfTtfLkhzPXthazpQbyhmdW5jdGlvbihhKXtyZXR1cm4gYT9hLnRyaW0oKS5yZXBsYWNlKC9ccyosXHMqL2csIiwiKS5zcGxpdCgvXHMrL2cpLm1hcChfLlJvKTpudWxsfSksTGo6Xy5Vb307ClJoYT17YWs6UG8oZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7dHJ5e2xldCBiPWEuc3BsaXQoIiwiKS5tYXAoT28pO2lmKGIubGVuZ3RoPDIpdGhyb3cgRXJyb3IoInRvbyBmZXcgdmFsdWVzIik7aWYoYi5sZW5ndGg+Mil0aHJvdyBFcnJvcigidG9vIG1hbnkgdmFsdWVzIik7bGV0IFtjLGRdPWI7cmV0dXJuIF8uWW0oe2xhdDpjLGxuZzpkfSl9Y2F0Y2goYil7dGhyb3cgRXJyb3IoYENvdWxkIG5vdCBpbnRlcnByZXQgIiR7YX0iIGFzIGEgTGF0TG5nOiBgKyhiIGluc3RhbmNlb2YgRXJyb3I/Yi5tZXNzYWdlOmAke2J9YCkpO319KSxMajpWb307dmFyIFhvPXZvaWQgMCxXbz12b2lkIDA7dmFyIFNoYT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxJcz1fLnJqKGZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLnFqKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5xaihjKX1gYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXpgKSx3ZGE9YT0+YSxKcz1hPT5TaGEudGVzdChTdHJpbmcoYSkpP2E6SXMsS3M9KCk9PklzLExzPWE9PmEgaW5zdGFuY2VvZiBfLnBqP18ucmooYSk6SXMseWRhPW5ldyBNYXAoW1siQSBocmVmIixKc10sWyJBUkVBIGhyZWYiLEpzXSxbIkJBU0UgaHJlZiIsS3NdLFsiQlVUVE9OIGZvcm1hY3Rpb24iLEpzXSxbIkVNQkVEIHNyYyIsS3NdLFsiRk9STSBhY3Rpb24iLEpzXSxbIkZSQU1FIHNyYyIsS3NdLFsiSUZSQU1FIHNyYyIsTHNdLFsiSUZSQU1FIHNyY2RvYyIsCmE9PmEgaW5zdGFuY2VvZiB3aj9fLnlqKGEpOl8ueWooeGRhKV0sWyJJTlBVVCBmb3JtYWN0aW9uIixKc10sWyJMSU5LIGhyZWYiLExzXSxbIk9CSkVDVCBjb2RlYmFzZSIsS3NdLFsiT0JKRUNUIGRhdGEiLEtzXSxbIlNDUklQVCBocmVmIixMc10sWyJTQ1JJUFQgc3JjIixMc10sWyJTQ1JJUFQgdGV4dCIsS3NdLFsiVVNFIGhyZWYiLExzXV0pO3ZhciBNcyxOcyx6ZGEsVGhhLFVoYSxPcyxWaGEsV2hhLFBzLGFwLFpvLFFzLFhoYSxZaGEsUnMsWmhhLCRoYSxhaWEsJG8sYmlhLFRzLFVzLGdpYSxXcyxWcyxjaWEsZGlhLGVpYSxmaWE7TXM9IV8uVWEuU2hhZHlET00/LmluVXNlfHxfLlVhLlNoYWR5RE9NPy5ub1BhdGNoIT09ITAmJl8uVWEuU2hhZHlET00/Lm5vUGF0Y2ghPT0ib24tZGVtYW5kIj9hPT5hOl8uVWEuU2hhZHlET00ud3JhcDtOcz1fLlVhLnRydXN0ZWRUeXBlczt6ZGE9TnM/TnMuY3JlYXRlUG9saWN5KCJsaXQtaHRtbCIse2NyZWF0ZUhUTUw6YT0+YX0pOnZvaWQgMDtUaGE9YT0+YTtVaGE9KCk9PlRoYTtPcz1gbGl0JCR7TWF0aC5yYW5kb20oKS50b0ZpeGVkKDkpLnNsaWNlKDIpfSRgO1ZoYT0iPyIrT3M7V2hhPWA8JHtWaGF9PmA7UHM9ZG9jdW1lbnQ7YXA9YT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiJ8fCExO1pvPUFycmF5LmlzQXJyYXk7UXM9LzwoPzooIS0tfFwvW15hLXpBLVpdKXwoXC8/W2EtekEtWl1bXj5cc10qKXwoXC8/JCkpL2c7ClhoYT0vLS1ceDNlL2c7WWhhPS8+L2c7UnM9UmVnRXhwKCI+fFsgXHRcblxmXHJdKD86KFteXFxzXCInPj0vXSspKFsgXHRcblxmXHJdKj1bIFx0XG5cZlxyXSooPzpbXiBcdFxuXGZcclwiJ2A8Pj1dfChcInwnKXwpKXwkKSIsImciKTtaaGE9LycvZzskaGE9LyIvZzthaWE9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pO18uV3E9KGEsLi4uYik9Pih7XyRsaXRUeXBlJDoxLHdsOmEsdmFsdWVzOmJ9KTskbz1TeW1ib2wuZm9yP1N5bWJvbC5mb3IoImxpdC1ub0NoYW5nZSIpOlN5bWJvbCgibGl0LW5vQ2hhbmdlIik7Xy5Tcz1TeW1ib2wuZm9yP1N5bWJvbC5mb3IoImxpdC1ub3RoaW5nIik6U3ltYm9sKCJsaXQtbm90aGluZyIpO2JpYT1uZXcgV2Vha01hcDtUcz1Qcy5jcmVhdGVUcmVlV2Fsa2VyKFBzLDEyOSk7ClVzPWNsYXNze2NvbnN0cnVjdG9yKHt3bDphLF8kbGl0VHlwZSQ6Yn0sYyl7dGhpcy5jej1bXTt2YXIgZD0wLGU9MCxmPWEubGVuZ3RoLTEsZz10aGlzLmN6LGg9YS5sZW5ndGgtMSxrPVtdLG09Yj09PTI/Ijxzdmc+IjpiPT09Mz8iPG1hdGg+IjoiIixwLHE9UXM7Zm9yKGxldCBCPTA7QjxoO0IrKyl7bGV0IEs9YVtCXSxPPS0xLEE7dmFyIHU9MDtsZXQgUTtmb3IoO3U8Sy5sZW5ndGg7KXtxLmxhc3RJbmRleD11O1E9cS5leGVjKEspO2lmKFE9PT1udWxsKWJyZWFrO3U9cS5sYXN0SW5kZXg7cT09PVFzP1FbMV09PT0iIS0tIj9xPVhoYTpRWzFdIT09dm9pZCAwP3E9WWhhOlFbMl0hPT12b2lkIDA/KGFpYS50ZXN0KFFbMl0pJiYocD1uZXcgUmVnRXhwKGA8LyR7UVsyXX1gLCJnIikpLHE9UnMpOlFbM10hPT12b2lkIDAmJihxPVJzKTpxPT09UnM/UVswXT09PSI+Ij8ocT1wPz9RcyxPPS0xKTpRWzFdPT09dm9pZCAwP089LTI6KE89cS5sYXN0SW5kZXgtUVsyXS5sZW5ndGgsQT1RWzFdLApxPVFbM109PT12b2lkIDA/UnM6UVszXT09PSciJz8kaGE6WmhhKTpxPT09JGhhfHxxPT09WmhhP3E9UnM6cT09PVhoYXx8cT09PVloYT9xPVFzOihxPVJzLHA9dm9pZCAwKX11PXE9PT1ScyYmYVtCKzFdLnN0YXJ0c1dpdGgoIi8+Iik/IiAiOiIiO20rPXE9PT1Rcz9LK1doYTpPPj0wPyhrLnB1c2goQSksSy5zbGljZSgwLE8pKyIkbGl0JCIrSy5zbGljZShPKSkrT3MrdTpLK09zKyhPPT09LTI/Qjp1KX1hPVtBZGEoYSxtKyhhW2hdfHwiPD8+IikrKGI9PT0yPyI8L3N2Zz4iOmI9PT0zPyI8L21hdGg+IjoiIikpLGtdO3ZhciBbeCx6XT1hO3RoaXMuZWw9VXMuY3JlYXRlRWxlbWVudCh4LGMpO1RzLmN1cnJlbnROb2RlPXRoaXMuZWwuY29udGVudDtpZihiPT09Mnx8Yj09PTMpYj10aGlzLmVsLmNvbnRlbnQuZmlyc3RDaGlsZCxiLnJlcGxhY2VXaXRoKC4uLmIuY2hpbGROb2Rlcyk7Zm9yKDsoYj1Ucy5uZXh0Tm9kZSgpKSE9PW51bGwmJmcubGVuZ3RoPGY7KXtpZihiLm5vZGVUeXBlPT09CjEpe2lmKGIuaGFzQXR0cmlidXRlcygpKWZvcihsZXQgQiBvZiBiLmdldEF0dHJpYnV0ZU5hbWVzKCkpQi5lbmRzV2l0aCgiJGxpdCQiKT8oYT16W2UrK10sYz1iLmdldEF0dHJpYnV0ZShCKS5zcGxpdChPcyksYT0vKFsuP0BdKT8oLiopLy5leGVjKGEpLGcucHVzaCh7dHlwZToxLGluZGV4OmQsbmFtZTphWzJdLHdsOmMsV246YVsxXT09PSIuIj9jaWE6YVsxXT09PSI/Ij9kaWE6YVsxXT09PSJAIj9laWE6VnN9KSxiLnJlbW92ZUF0dHJpYnV0ZShCKSk6Qi5zdGFydHNXaXRoKE9zKSYmKGcucHVzaCh7dHlwZTo2LGluZGV4OmR9KSxiLnJlbW92ZUF0dHJpYnV0ZShCKSk7aWYoYWlhLnRlc3QoYi50YWdOYW1lKSYmKGM9Yi50ZXh0Q29udGVudC5zcGxpdChPcyksYT1jLmxlbmd0aC0xLGE+MCkpe2IudGV4dENvbnRlbnQ9TnM/TnMuZW1wdHlTY3JpcHQ6IiI7Zm9yKGg9MDtoPGE7aCsrKWIuYXBwZW5kKGNbaF0sUHMuY3JlYXRlQ29tbWVudCgiIikpLFRzLm5leHROb2RlKCksZy5wdXNoKHt0eXBlOjIsCmluZGV4OisrZH0pO2IuYXBwZW5kKGNbYV0sUHMuY3JlYXRlQ29tbWVudCgiIikpfX1lbHNlIGlmKGIubm9kZVR5cGU9PT04KWlmKGIuZGF0YT09PVZoYSlnLnB1c2goe3R5cGU6MixpbmRleDpkfSk7ZWxzZSBmb3IoYz0tMTsoYz1iLmRhdGEuaW5kZXhPZihPcyxjKzEpKSE9PS0xOylnLnB1c2goe3R5cGU6NyxpbmRleDpkfSksYys9T3MubGVuZ3RoLTE7ZCsrfX1zdGF0aWMgY3JlYXRlRWxlbWVudChhKXt2YXIgYj1Qcy5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2IuaW5uZXJIVE1MPWE7cmV0dXJuIGJ9fTsKZ2lhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zaD1bXTt0aGlzLndoPXZvaWQgMDt0aGlzLnJoPWE7dGhpcy5xaD1ifWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMucWgucGFyZW50Tm9kZX1nZXQgeXIoKXtyZXR1cm4gdGhpcy5xaC55cn14aChhKXt2YXIgYj10aGlzLnJoLmN6LGM9KGE/LkNTPz9QcykuaW1wb3J0Tm9kZSh0aGlzLnJoLmVsLmNvbnRlbnQsITApO1RzLmN1cnJlbnROb2RlPWM7Zm9yKHZhciBkPVRzLm5leHROb2RlKCksZT0wLGY9MCxnPWJbMF07ZyE9PXZvaWQgMDspe2lmKGU9PT1nLmluZGV4KXtsZXQgaDtnLnR5cGU9PT0yP2g9bmV3IFdzKGQsZC5uZXh0U2libGluZyx0aGlzLGEpOmcudHlwZT09PTE/aD1uZXcgZy5XbihkLGcubmFtZSxnLndsLHRoaXMsYSk6Zy50eXBlPT09NiYmKGg9bmV3IGZpYShkLHRoaXMsYSkpO3RoaXMuc2gucHVzaChoKTtnPWJbKytmXX1lIT09Zz8uaW5kZXgmJihkPVRzLm5leHROb2RlKCksZSsrKX1Ucy5jdXJyZW50Tm9kZT0KUHM7cmV0dXJuIGN9dGgoYSl7dmFyIGI9MDtmb3IobGV0IGMgb2YgdGhpcy5zaCljIT09dm9pZCAwJiYoYy53bCE9PXZvaWQgMD8oYy5ldShhLGMsYiksYis9Yy53bC5sZW5ndGgtMik6Yy5ldShhW2JdKSksYisrfX07CldzPWNsYXNze2dldCB5cigpe3JldHVybiB0aGlzLnFoPy55cj8/dGhpcy5BaH1jb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLnR5cGU9Mjt0aGlzLmtrPV8uU3M7dGhpcy53aD12b2lkIDA7dGhpcy5zaD1hO3RoaXMueGg9Yjt0aGlzLnFoPWM7dGhpcy5vcHRpb25zPWQ7dGhpcy5BaD1kPy5pc0Nvbm5lY3RlZD8/ITA7dGhpcy5yaD12b2lkIDB9Z2V0IHBhcmVudE5vZGUoKXt2YXIgYT1Ncyh0aGlzLnNoKS5wYXJlbnROb2RlLGI9dGhpcy5xaDtiIT09dm9pZCAwJiZhPy5ub2RlVHlwZT09PTExJiYoYT1iLnBhcmVudE5vZGUpO3JldHVybiBhfWV1KGEsYj10aGlzKXthPWJwKHRoaXMsYSxiKTthcChhKT9hPT09Xy5Tc3x8YT09bnVsbHx8YT09PSIiPyh0aGlzLmtrIT09Xy5TcyYmdGhpcy50aCgpLHRoaXMua2s9Xy5Tcyk6YSE9PXRoaXMua2smJmEhPT0kbyYmdGhpcy5CaChhKTphLl8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy5KaChhKTphLm5vZGVUeXBlIT09dm9pZCAwP3RoaXMuemgoYSk6ClpvKGEpfHx0eXBlb2YgYT8uW1N5bWJvbC5pdGVyYXRvcl09PT0iZnVuY3Rpb24iP3RoaXMuR2goYSk6dGhpcy5CaChhKX15aChhKXtyZXR1cm4gTXMoTXModGhpcy5zaCkucGFyZW50Tm9kZSkuaW5zZXJ0QmVmb3JlKGEsdGhpcy54aCl9emgoYSl7aWYodGhpcy5rayE9PWEpe3RoaXMudGgoKTtpZihZbyE9PVVoYSl7bGV0IGI9dGhpcy5zaC5wYXJlbnROb2RlPy5ub2RlTmFtZTtpZihiPT09IlNUWUxFInx8Yj09PSJTQ1JJUFQiKXRocm93IEVycm9yKCJGb3JiaWRkZW4iKTt9dGhpcy5raz10aGlzLnloKGEpfX1CaChhKXtpZih0aGlzLmtrIT09Xy5TcyYmYXAodGhpcy5raykpe3ZhciBiPU1zKHRoaXMuc2gpLm5leHRTaWJsaW5nO3RoaXMucmg9PT12b2lkIDAmJih0aGlzLnJoPVlvKGIsImRhdGEiLCJwcm9wZXJ0eSIpKTthPXRoaXMucmgoYSk7Yi5kYXRhPWF9ZWxzZSBiPVBzLmNyZWF0ZVRleHROb2RlKCIiKSx0aGlzLnpoKGIpLHRoaXMucmg9PT12b2lkIDAmJih0aGlzLnJoPVlvKGIsCiJkYXRhIiwicHJvcGVydHkiKSksYT10aGlzLnJoKGEpLGIuZGF0YT1hO3RoaXMua2s9YX1KaChhKXt2YXIge3ZhbHVlczpiLF8kbGl0VHlwZSQ6Y309YTthPXR5cGVvZiBjPT09Im51bWJlciI/dGhpcy5DaChhKTooYy5lbD09PXZvaWQgMCYmKGMuZWw9VXMuY3JlYXRlRWxlbWVudChBZGEoYy5oLGMuaFswXSksdGhpcy5vcHRpb25zKSksYyk7aWYodGhpcy5raz8ucmg9PT1hKXRoaXMua2sudGgoYik7ZWxzZXthPW5ldyBnaWEoYSx0aGlzKTtsZXQgZD1hLnhoKHRoaXMub3B0aW9ucyk7YS50aChiKTt0aGlzLnpoKGQpO3RoaXMua2s9YX19Q2goYSl7dmFyIGI9YmlhLmdldChhLndsKTtiPT09dm9pZCAwJiZiaWEuc2V0KGEud2wsYj1uZXcgVXMoYSkpO3JldHVybiBifUdoKGEpe1pvKHRoaXMua2spfHwodGhpcy5raz1bXSx0aGlzLnRoKCkpO3ZhciBiPXRoaXMua2ssYz0wLGQ7Zm9yKGxldCBlIG9mIGEpYz09PWIubGVuZ3RoP2IucHVzaChkPW5ldyBXcyh0aGlzLnloKFBzLmNyZWF0ZUNvbW1lbnQoIiIpKSwKdGhpcy55aChQcy5jcmVhdGVDb21tZW50KCIiKSksdGhpcyx0aGlzLm9wdGlvbnMpKTpkPWJbY10sZC5ldShlKSxjKys7YzxiLmxlbmd0aCYmKHRoaXMudGgoZCYmTXMoZC54aCkubmV4dFNpYmxpbmcsYyksYi5sZW5ndGg9Yyl9dGgoYT1Ncyh0aGlzLnNoKS5uZXh0U2libGluZyxiKXtmb3IodGhpcy5EaD8uKCExLCEwLGIpO2EhPT10aGlzLnhoOyliPU1zKGEpLm5leHRTaWJsaW5nLE1zKGEpLnJlbW92ZSgpLGE9Yn1GSihhKXt0aGlzLnFoPT09dm9pZCAwJiYodGhpcy5BaD1hLHRoaXMuRGg/LihhKSl9fTsKVnM9Y2xhc3N7Z2V0IHRhZ05hbWUoKXtyZXR1cm4gdGhpcy5lbGVtZW50LnRhZ05hbWV9Z2V0IHlyKCl7cmV0dXJuIHRoaXMucWgueXJ9Y29uc3RydWN0b3IoYSxiLGMsZCxlKXt0aGlzLnR5cGU9MTt0aGlzLmtrPV8uU3M7dGhpcy53aD12b2lkIDA7dGhpcy5lbGVtZW50PWE7dGhpcy5uYW1lPWI7dGhpcy5xaD1kO3RoaXMub3B0aW9ucz1lO2MubGVuZ3RoPjJ8fGNbMF0hPT0iInx8Y1sxXSE9PSIiPyh0aGlzLmtrPUFycmF5KGMubGVuZ3RoLTEpLmZpbGwobmV3IFN0cmluZyksdGhpcy53bD1jKTp0aGlzLmtrPV8uU3M7dGhpcy5Ddj12b2lkIDB9ZXUoYSxiPXRoaXMsYyxkKXt2YXIgZT10aGlzLndsLGY9ITE7aWYoZT09PXZvaWQgMCl7aWYoYT1icCh0aGlzLGEsYiwwKSxmPSFhcChhKXx8YSE9PXRoaXMua2smJmEhPT0kbyl0aGlzLmtrPWF9ZWxzZXtsZXQgZz1hO2E9ZVswXTtsZXQgaCxrO2ZvcihoPTA7aDxlLmxlbmd0aC0xO2grKylrPWJwKHRoaXMsZ1tjK2hdLGIsaCksaz09PSRvJiYKKGs9dGhpcy5ra1toXSksZnx8KGY9IWFwKGspfHxrIT09dGhpcy5ra1toXSksaz09PV8uU3M/YT1fLlNzOmEhPT1fLlNzJiYoYSs9KGs/PyIiKStlW2grMV0pLHRoaXMua2tbaF09a31mJiYhZCYmdGhpcy5JQyhhKX1JQyhhKXthPT09Xy5Tcz9Ncyh0aGlzLmVsZW1lbnQpLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOih0aGlzLkN2PT09dm9pZCAwJiYodGhpcy5Ddj1Zbyh0aGlzLmVsZW1lbnQsdGhpcy5uYW1lLCJhdHRyaWJ1dGUiKSksYT10aGlzLkN2KGE/PyIiKSxNcyh0aGlzLmVsZW1lbnQpLnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsYT8/IiIpKX19OwpjaWE9Y2xhc3MgZXh0ZW5kcyBWc3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy50eXBlPTN9SUMoYSl7dGhpcy5Ddj09PXZvaWQgMCYmKHRoaXMuQ3Y9WW8odGhpcy5lbGVtZW50LHRoaXMubmFtZSwicHJvcGVydHkiKSk7YT10aGlzLkN2KGEpO3RoaXMuZWxlbWVudFt0aGlzLm5hbWVdPWE9PT1fLlNzP3ZvaWQgMDphfX07ZGlhPWNsYXNzIGV4dGVuZHMgVnN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMudHlwZT00fUlDKGEpe01zKHRoaXMuZWxlbWVudCkudG9nZ2xlQXR0cmlidXRlKHRoaXMubmFtZSwhIWEmJmEhPT1fLlNzKX19OwplaWE9Y2xhc3MgZXh0ZW5kcyBWc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3N1cGVyKGEsYixjLGQsZSk7dGhpcy50eXBlPTV9ZXUoYSxiPXRoaXMpe2E9YnAodGhpcyxhLGIsMCk/P18uU3M7aWYoYSE9PSRvKXtiPXRoaXMua2s7dmFyIGM9YT09PV8uU3MmJmIhPT1fLlNzfHxhLmNhcHR1cmUhPT1iLmNhcHR1cmV8fGEub25jZSE9PWIub25jZXx8YS5wYXNzaXZlIT09Yi5wYXNzaXZlLGQ9YSE9PV8uU3MmJihiPT09Xy5Tc3x8Yyk7YyYmdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMsYik7ZCYmdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMsYSk7dGhpcy5raz1hfX1oYW5kbGVFdmVudChhKXt0eXBlb2YgdGhpcy5raz09PSJmdW5jdGlvbiI/dGhpcy5ray5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LGEpOnRoaXMua2suaGFuZGxlRXZlbnQoYSl9fTsKZmlhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmVsZW1lbnQ9YTt0aGlzLnR5cGU9Njt0aGlzLndoPXZvaWQgMDt0aGlzLnFoPWI7dGhpcy5vcHRpb25zPWN9Z2V0IHlyKCl7cmV0dXJuIHRoaXMucWgueXJ9ZXUoYSl7YnAodGhpcyxhKX19OyhfLlVhLmxpdEh0bWxWZXJzaW9ucz8/KF8uVWEubGl0SHRtbFZlcnNpb25zPVtdKSkucHVzaCgiMy4zLjMiKTtfLlhzPShhLGIsYyk9Pnt2YXIgZD1jPy5XRT8/YixlPWQuXyRsaXRQYXJ0JDtlPT09dm9pZCAwJiYoZT1jPy5XRT8/bnVsbCxkLl8kbGl0UGFydCQ9ZT1uZXcgV3MoYi5pbnNlcnRCZWZvcmUoUHMuY3JlYXRlQ29tbWVudCgiIiksZSksZSx2b2lkIDAsYz8/e30pKTtlLmV1KGEpO3JldHVybiBlfTt2YXIgWXMsaGlhLGlpYSxqaWEsa2lhO1lzPV8uVWEuU2hhZG93Um9vdCYmKF8uVWEuU2hhZHlDU1M9PT12b2lkIDB8fF8uVWEuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlO2hpYT1TeW1ib2woKTtpaWE9bmV3IFdlYWtNYXA7Cl8uWnM9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLl8kY3NzUmVzdWx0JD0hMDtpZihoaWEhPT1oaWEpdGhyb3cgRXJyb3IoIkNTU1Jlc3VsdCBpcyBub3QgY29uc3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuIik7dGhpcy5jc3NUZXh0PWE7dGhpcy5xaD1ifWdldCBzdHlsZVNoZWV0KCl7dmFyIGE9dGhpcy5yaCxiPXRoaXMucWg7aWYoWXMmJmE9PT12b2lkIDApe2xldCBjPWIhPT12b2lkIDAmJmIubGVuZ3RoPT09MTtjJiYoYT1paWEuZ2V0KGIpKTthPT09dm9pZCAwJiYoKHRoaXMucmg9YT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxjJiZpaWEuc2V0KGIsYSkpfXJldHVybiBhfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19OwpfLiRzPShhLC4uLmIpPT5mdW5jdGlvbigpe3ZhciBjPWEubGVuZ3RoPT09MT9hWzBdOmIucmVkdWNlKChkLGUsZik9PntpZihlLl8kY3NzUmVzdWx0JD09PSEwKWU9ZS5jc3NUZXh0O2Vsc2UgaWYodHlwZW9mIGUhPT0ibnVtYmVyIil0aHJvdyBFcnJvcihgVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICR7ZX0uIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS5gKTtyZXR1cm4gZCtlK2FbZisxXX0sYVswXSk7cmV0dXJuIG5ldyBfLlpzKGMsYSl9KCk7CmppYT0oYSxiKT0+e2lmKFlzKWEuYWRvcHRlZFN0eWxlU2hlZXRzPWIubWFwKGM9PmMgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P2M6Yy5zdHlsZVNoZWV0KTtlbHNlIGZvcihsZXQgYyBvZiBiKXtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7bGV0IGQ9Xy5VYS5saXROb25jZTtkIT09dm9pZCAwJiZiLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO2IudGV4dENvbnRlbnQ9Yy5jc3NUZXh0O2EuYXBwZW5kQ2hpbGQoYil9fTtraWE9WXM/YT0+YTphPT57aWYoYSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQpe2xldCBiPSIiO2ZvcihsZXQgYyBvZiBhLmNzc1J1bGVzKWIrPWMuY3NzVGV4dDthPW5ldyBfLlpzKHR5cGVvZiBiPT09InN0cmluZyI/YjpTdHJpbmcoYikpfXJldHVybiBhfTsvKgoKIENvcHlyaWdodCAyMDE2IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KdmFyIGxpYT1IVE1MRWxlbWVudCxtaWE9T2JqZWN0LmlzLERkYT1PYmplY3QuZGVmaW5lUHJvcGVydHksQmRhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsbmlhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLG9pYT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLHBpYT1PYmplY3QuZ2V0UHJvdG90eXBlT2YscWlhPV8uVWEudHJ1c3RlZFR5cGVzLHJpYT1xaWE/cWlhLmVtcHR5U2NyaXB0OiIiLGF0PXtMaihhLGIpe3N3aXRjaChiKXtjYXNlIEJvb2xlYW46YT1hP3JpYTpudWxsO2JyZWFrO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6YT1hPT1udWxsP2E6SlNPTi5zdHJpbmdpZnkoYSl9cmV0dXJuIGF9LGFrKGEsYil7dmFyIGM9YTtzd2l0Y2goYil7Y2FzZSBCb29sZWFuOmM9YSE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6Yz1hPT09bnVsbD9udWxsOk51bWJlcihhKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtjPUpTT04ucGFyc2UoYSl9Y2F0Y2goZCl7Yz0KbnVsbH19cmV0dXJuIGN9fSxlcD0oYSxiKT0+IW1pYShhLGIpLGRwPXtLaDohMCx0eXBlOlN0cmluZyxmaTphdCxOaDohMSxvSzohMSxuajplcH0sc2lhLGJ0O1N5bWJvbC5tZXRhZGF0YT09bnVsbCYmKFN5bWJvbC5tZXRhZGF0YT1TeW1ib2woIm1ldGFkYXRhIikpO3NpYT1TeW1ib2wubWV0YWRhdGE7YnQ9bmV3IFdlYWtNYXA7Cl8uY3Q9Y2xhc3MgZXh0ZW5kcyBsaWF7c3RhdGljIGFkZEluaXRpYWxpemVyKGEpe3RoaXMucmgoKTsodGhpcy55eD8/KHRoaXMueXg9W10pKS5wdXNoKGEpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7dGhpcy5lcCgpO3JldHVybiB0aGlzLmFBJiZbLi4udGhpcy5hQS5rZXlzKCldfXN0YXRpYyByaCgpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KCJScCIpKXt2YXIgYT1waWEodGhpcyk7YS5lcCgpO2EueXghPT12b2lkIDAmJih0aGlzLnl4PVsuLi5hLnl4XSk7dGhpcy5ScD1uZXcgTWFwKGEuUnApfX1zdGF0aWMgZXAoKXt0aWEoKTtpZighdGhpcy5oYXNPd25Qcm9wZXJ0eSgia0QiKSl7dGhpcy5rRD0hMDt0aGlzLnJoKCk7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydGllcyIpKXt2YXIgYT10aGlzLnByb3BlcnRpZXMsYj1bLi4ubmlhKGEpLC4uLm9pYShhKV07Zm9yKGxldCBjIG9mIGIpRWRhKHRoaXMsYyxhW2NdKX1hPXRoaXNbc2lhXTtpZihhIT09bnVsbCYmCihhPWJ0LmdldChhKSxhIT09dm9pZCAwKSlmb3IobGV0IFtjLGRdb2YgYSl0aGlzLlJwLnNldChjLGQpO3RoaXMuYUE9bmV3IE1hcDtmb3IobGV0IFtjLGRdb2YgdGhpcy5ScClhPWMsYj10aGlzLkdDKGEsZCksYiE9PXZvaWQgMCYmdGhpcy5hQS5zZXQoYixhKTtiPXRoaXMuc3R5bGVzO2E9W107aWYoQXJyYXkuaXNBcnJheShiKSl7Yj1uZXcgU2V0KGIuZmxhdChJbmZpbml0eSkucmV2ZXJzZSgpKTtmb3IobGV0IGMgb2YgYilhLnVuc2hpZnQoa2lhKGMpKX1lbHNlIGIhPT12b2lkIDAmJmEucHVzaChraWEoYikpO3RoaXMuckg9YX19c3RhdGljIEdDKGEsYil7Yj1iLktoO3JldHVybiBiPT09ITE/dm9pZCAwOnR5cGVvZiBiPT09InN0cmluZyI/Yjp0eXBlb2YgYT09PSJzdHJpbmciP2EudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuWmg9dm9pZCAwO3RoaXMuTWg9dGhpcy5PaD0hMTt0aGlzLkFoPW51bGw7dGhpcy5EQygpfURDKCl7dGhpcy5hbD0KbmV3IFByb21pc2UoYT0+dGhpcy52cj1hKTt0aGlzLkpoPW5ldyBNYXA7dGhpcy5GQygpO18uY3AodGhpcyk7dGhpcy5jb25zdHJ1Y3Rvci55eD8uZm9yRWFjaChhPT5hKHRoaXMpKX1GQygpe3ZhciBhPW5ldyBNYXAsYj10aGlzLmNvbnN0cnVjdG9yLlJwO2ZvcihsZXQgYyBvZiBiLmtleXMoKSl0aGlzLmhhc093blByb3BlcnR5KGMpJiYoYS5zZXQoYyx0aGlzW2NdKSxkZWxldGUgdGhpc1tjXSk7YS5zaXplPjAmJih0aGlzLlpoPWEpfXNpKCl7dmFyIGE9dGhpcy5zaGFkb3dSb290Pz90aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLlBtKTtqaWEoYSx0aGlzLmNvbnN0cnVjdG9yLnJIKTtyZXR1cm4gYX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuUGs/Pyh0aGlzLlBrPXRoaXMuc2koKSk7dGhpcy52cighMCk7dGhpcy5JaD8uZm9yRWFjaChhPT5hLnV5Py4oKSl9dnIoKXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLkloPy5mb3JFYWNoKGE9PmEuRkQ/LigpKX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soYSwKYixjKXt0aGlzLm54KGEsYyl9RUMoYSxiKXt2YXIgYz10aGlzLmNvbnN0cnVjdG9yLlJwLmdldChhKSxkPXRoaXMuY29uc3RydWN0b3IuR0MoYSxjKTtkIT09dm9pZCAwJiZjLk5oPT09ITAmJihiPShjLmZpPy5MaiE9PXZvaWQgMD9jLmZpOmF0KS5MaihiLGMudHlwZSksdGhpcy5BaD1hLGI9PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZCk6dGhpcy5zZXRBdHRyaWJ1dGUoZCxiKSx0aGlzLkFoPW51bGwpfW54KGEsYil7dmFyIGM9dGhpcy5jb25zdHJ1Y3RvcjthPWMuYUEuZ2V0KGEpO2lmKGEhPT12b2lkIDAmJnRoaXMuQWghPT1hKXtjPWMuUnAuZ2V0KGEpPz9kcDtsZXQgZD10eXBlb2YgYy5maT09PSJmdW5jdGlvbiI/e2FrOmMuZml9OmMuZmk/LmFrIT09dm9pZCAwP2MuZmk6YXQ7dGhpcy5BaD1hO2I9ZC5hayhiLGMudHlwZSk7dGhpc1thXT1iPz90aGlzLldoPy5nZXQoYSk/P2I7dGhpcy5BaD1udWxsfX1XayhhLGIse29LOmMsTmg6ZCxXejplfSxmKXtpZihjJiYhKHRoaXMuV2g/PwoodGhpcy5XaD1uZXcgTWFwKSkuaGFzKGEpJiYodGhpcy5XaC5zZXQoYSxmPz9iPz90aGlzW2FdKSxlIT09ITB8fGYhPT12b2lkIDApKXJldHVybjt0aGlzLkpoLmhhcyhhKXx8KHRoaXMuTWh8fGN8fChiPXZvaWQgMCksdGhpcy5KaC5zZXQoYSxiKSk7ZD09PSEwJiZ0aGlzLkFoIT09YSYmKHRoaXMuYmk/Pyh0aGlzLmJpPW5ldyBTZXQpKS5hZGQoYSl9YXN5bmMgcXgoKXt0aGlzLk9oPSEwO3RyeXthd2FpdCB0aGlzLmFsfWNhdGNoKGIpe3RoaXMubFN8fFByb21pc2UucmVqZWN0KGIpfXZhciBhPUZkYSh0aGlzKTthIT1udWxsJiZhd2FpdCBhO3JldHVybiF0aGlzLk9ofWhtKCl7fW94KGEpe3RoaXMuSWg/LmZvckVhY2goYj0+Yi53Tj8uKCkpO3RoaXMuTWh8fCh0aGlzLk1oPSEwLHRoaXMuemgoKSk7dGhpcy5TaihhKX1zcigpe3RoaXMuSmg9bmV3IE1hcDt0aGlzLk9oPSExfWdldCBDcCgpe3JldHVybiB0aGlzLmFsfXVwZGF0ZSgpe3RoaXMuYmkmJih0aGlzLmJpPXRoaXMuYmkuZm9yRWFjaChhPT4KdGhpcy5FQyhhLHRoaXNbYV0pKSk7dGhpcy5zcigpfVNqKCl7fXpoKCl7fX07Xy5jdC5wcm90b3R5cGUueng9Xy5oYSgyMik7Xy5jdC5ySD1bXTtfLmN0LlBtPXttb2RlOiJvcGVuIn07Xy5jdC5ScD1uZXcgTWFwO18uY3Qua0Q9bmV3IE1hcDt2YXIgdGlhPSgpPT57KF8uVWEucmVhY3RpdmVFbGVtZW50VmVyc2lvbnM/PyhfLlVhLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPVtdKSkucHVzaCgiMi4xLjIiKTt0aWE9KCk9Pnt9fTtfLmR0PWNsYXNzIGV4dGVuZHMgXy5jdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5Qbj17aG9zdDp0aGlzfTt0aGlzLk9rPXZvaWQgMH1zaSgpe3ZhciBhPXN1cGVyLnNpKCksYjsoYj10aGlzLlBuKS5XRT8/KGIuV0U9YS5maXJzdENoaWxkKTtyZXR1cm4gYX11cGRhdGUoYSl7dmFyIGI9dGhpcy50aSgpO3RoaXMuTWh8fCh0aGlzLlBuLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpO3N1cGVyLnVwZGF0ZShhKTt0aGlzLk9rPV8uWHMoYix0aGlzLlBrLHRoaXMuUG4pfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLk9rPy5GSighMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO3RoaXMuT2s/LkZKKCExKX10aSgpe3JldHVybiAkb31zdGF0aWMgZXAoKXt1aWEoKTtyZXR1cm4gXy5jdC5lcC5jYWxsKHRoaXMpfX07Xy5kdC5fJGxpdEVsZW1lbnQkPSEwOwpfLmR0LmtEPSEwO3ZhciB1aWE9KCk9PnsoXy5VYS5saXRFbGVtZW50VmVyc2lvbnM/PyhfLlVhLmxpdEVsZW1lbnRWZXJzaW9ucz1bXSkpLnB1c2goIjQuMi4yIik7dWlhPSgpPT57fX07Xy5ldD1jbGFzcyBleHRlbmRzIF8uZHR7c3RhdGljIGdldCBQbSgpe3JldHVybnsuLi5fLmR0LlBtLG1vZGU6Xy5McFsxNjZdPyJvcGVuIjoiY2xvc2VkIn19Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoKTt0aGlzLndrPSExO3RoaXMuQnY9bmV3IFNldDt0aGlzLmNMPXRoaXMubG9jYWxOYW1lO3ZhciBiPXRoaXMuY29uc3RydWN0b3IuSWksYz13aW5kb3csZD10aGlzLmdldFJvb3ROb2RlKCkhPT10aGlzLGU9IWRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyI7KGQ9ZHx8ZSl8fChkPVhvJiZ0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PVhvLnRvTG93ZXJDYXNlKCksWG89dm9pZCAwLGQ9ISFkKTtfLk0oYyxkP2IuS2k6Yi5KaSk7UGNhKHRoaXMpO3RoaXMueGkoYSxfLmV0LCJXZWJDb21wb25lbnRWaWV3Iil9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGEsYixjKXt0aGlzLndrPSEwO3N1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhhLApiLGMpO3RoaXMud2s9ITF9YWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl7c3VwZXIuYWRkRXZlbnRMaXN0ZW5lcihhLGIsYyl9cmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl7c3VwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGIsYyl9eGkoYSxiLGMpe3RoaXMuY29uc3RydWN0b3I9PT1iJiZSbShhLHRoaXMsYyl9ZXJyb3IoYSl7Y29uc29sZS5lcnJvcihfLmhwKHRoaXMsYSkpfX07Xy5ldC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1fLmV0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyO18uZXQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9Xy5ldC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcjtfLmV0LnN0eWxlcz1bXTt2YXIgdmlhPV8uQ20oe2NlbnRlcjpfLk1tKF8uWW0pLHpvb206Xy5hcyxoZWFkaW5nOl8uYXMsdGlsdDpfLmFzfSk7dmFyIFdlYT1jbGFzcyBleHRlbmRzIF8ueW57Z2V0KGEpe3JldHVybiBzdXBlci5nZXQoYSl9fTt2YXIgSGRhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5tYXBJZD1hO3RoaXMubWFwVHlwZXM9Yjt0aGlzLnFoPSExfW1hcElkX2NoYW5nZWQoKXtpZighdGhpcy5xaCYmdGhpcy5nZXQoIm1hcElkIikhPT10aGlzLm1hcElkKWlmKHRoaXMuZ2V0KCJtYXBIYXNCZWVuQWJsZVRvQmVEcmF3biIpKXt0aGlzLnFoPSEwO3RyeXt0aGlzLnNldCgibWFwSWQiLHRoaXMubWFwSWQpfWZpbmFsbHl7dGhpcy5xaD0hMX1jb25zb2xlLndhcm4oIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJOiBBIE1hcCdzIG1hcElkIHByb3BlcnR5IGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWwgTWFwIHJlbmRlci4iKTtfLk0od2luZG93LDE0OTcyOSl9ZWxzZSB0aGlzLm1hcElkPXRoaXMuZ2V0KCJtYXBJZCIpLHRoaXMuc3R5bGVzX2NoYW5nZWQoKSx0aGlzLm1hcFR5cGVJZF9jaGFuZ2VkKCl9c3R5bGVzX2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgic3R5bGVzIik7CnRoaXMubWFwSWQmJmEmJih0aGlzLnNldCgic3R5bGVzIix2b2lkIDApLGNvbnNvbGUud2FybigiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEk6IEEgTWFwJ3Mgc3R5bGVzIHByb3BlcnR5IGNhbm5vdCBiZSBzZXQgd2hlbiBhIG1hcElkIGlzIHByZXNlbnQuIFdoZW4gYSBtYXBJZCBpcyBwcmVzZW50LCBtYXAgc3R5bGVzIGFyZSBjb250cm9sbGVkIHZpYSB0aGUgY2xvdWQgY29uc29sZS4gUGxlYXNlIHNlZSBkb2N1bWVudGF0aW9uIGF0IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3N0eWxpbmcjY2xvdWRfdG9vbGluZyIpLF8uTSh3aW5kb3csMTQ5NzMxKSxhLmxlbmd0aHx8Xy5NKHdpbmRvdywxNDk3MzApKX1tYXBUeXBlSWRfY2hhbmdlZCgpe3ZhciBhPXRoaXMuZ2V0KCJtYXBUeXBlSWQiKTt0aGlzLm1hcElkJiZhJiZ0aGlzLm1hcFR5cGVzJiZ0aGlzLm1hcFR5cGVzLmdldChhKSYmKE9iamVjdC52YWx1ZXMoXy5VcikuaW5jbHVkZXMoYSk/CmE9PT0ic2F0ZWxsaXRlIiYmKGNvbnNvbGUud2FybigiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEk6IEEgTWFwJ3MgcHJlcmVnaXN0ZXJlZCBtYXAgdHlwZSBtYXkgbm90IGFwcGx5IGFsbCBjdXN0b20gc3R5bGVzIHdoZW4gYSBtYXBJZCBpcyBwcmVzZW50LiBXaGVuIGEgbWFwSWQgaXMgcHJlc2VudCwgbWFwIHN0eWxlcyBhcmUgY29udHJvbGxlZCB2aWEgdGhlIGNsb3VkIGNvbnNvbGUgZm9yIGFsbCBkZWZhdWx0IG1hcCB0eXBlcyBleGNlcHQgZm9yIHNhdGVsbGl0ZS4gUGxlYXNlIHNlZSBkb2N1bWVudGF0aW9uIGF0IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL21hcHMvZG9jdW1lbnRhdGlvbi9qYXZhc2NyaXB0L3N0eWxpbmcjY2xvdWRfdG9vbGluZyIpLF8uTSh3aW5kb3csMTQ5NzMxKSk6KGNvbnNvbGUud2FybigiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEk6IEEgTWFwJ3MgY3VzdG9tIG1hcCB0eXBlcyBjYW5ub3QgYmUgc2V0IHdoZW4gYSBtYXBJZCBpcyBwcmVzZW50LiBXaGVuIGEgbWFwSWQgaXMgcHJlc2VudCwgbWFwIHN0eWxlcyBhcmUgY29udHJvbGxlZCB2aWEgdGhlIGNsb3VkIGNvbnNvbGUuIFBsZWFzZSBzZWUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9tYXBzL2RvY3VtZW50YXRpb24vamF2YXNjcmlwdC9zdHlsaW5nI2Nsb3VkX3Rvb2xpbmciKSwKXy5NKHdpbmRvdywxNDk3MzEpKSl9fTt2YXIgcnA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzQXZhaWxhYmxlPSEwO3RoaXMucWg9W119Y2xvbmUoKXt2YXIgYT1uZXcgcnA7YS5pc0F2YWlsYWJsZT10aGlzLmlzQXZhaWxhYmxlO3RoaXMucWguZm9yRWFjaChiPT57bHAoYSxiKX0pO3JldHVybiBhfX07dmFyIHdpYT17YlI6IkZFQVRVUkVfVFlQRV9VTlNQRUNJRklFRCIsQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8xOiJBRE1JTklTVFJBVElWRV9BUkVBX0xFVkVMXzEiLEFETUlOSVNUUkFUSVZFX0FSRUFfTEVWRUxfMjoiQURNSU5JU1RSQVRJVkVfQVJFQV9MRVZFTF8yIixDT1VOVFJZOiJDT1VOVFJZIixMT0NBTElUWToiTE9DQUxJVFkiLFBPU1RBTF9DT0RFOiJQT1NUQUxfQ09ERSIsREFUQVNFVDoiREFUQVNFVCIsT1I6IlJPQURfUElMT1QiLEJSOiJORUlHSEJPUkhPT0RfUElMT1QiLEtROiJCVUlMRElORyIsU0NIT09MX0RJU1RSSUNUOiJTQ0hPT0xfRElTVFJJQ1QifTt2YXIgZnQ9bnVsbDtfLnFiKF8ucXAsXy55bik7Xy5xcC5wcm90b3R5cGUubWFwX2NoYW5nZWQ9ZnVuY3Rpb24oKXt2YXIgYT1hc3luYygpPT57dmFyIGI9dGhpcy5nZXRNYXAoKTtpZihiKWlmKGZ0LkZwKHRoaXMsYiksXy5ndC5oYXModGhpcykpXy5ndC5kZWxldGUodGhpcyk7ZWxzZXtsZXQgYz1iLl9fZ20ucWg7YXdhaXQgYy5zSjthd2FpdCBjLmtFO2xldCBkPV8ubXAoYywiV0VCR0xfT1ZFUkxBWV9WSUVXIik7aWYoIWQuaXNBdmFpbGFibGUmJnRoaXMuZ2V0TWFwKCk9PT1iKXtmb3IobGV0IGUgb2YgZC5xaCljLmxvZyhlKTtmdC5wcSh0aGlzKX19ZWxzZSBmdC5wcSh0aGlzKX07ZnQ/YSgpOl8uSGwoIndlYmdsIikudGhlbihiPT57ZnQ9YjthKCl9KX07Xy5xcC5wcm90b3R5cGUuWEk9ZnVuY3Rpb24oYSxiKXt0aGlzLnNoPSEwO3RoaXMub25EcmF3KHtnbDphLHRyYW5zZm9ybWVyOmJ9KTt0aGlzLnNoPSExfTtfLnFwLnByb3RvdHlwZS5vbkRyYXdXcmFwcGVyPV8ucXAucHJvdG90eXBlLlhJOwpfLnFwLnByb3RvdHlwZS5yZXF1ZXN0UmVkcmF3PWZ1bmN0aW9uKCl7dGhpcy5xaD0hMDtpZighdGhpcy5zaCYmZnQpe2xldCBhPXRoaXMuZ2V0TWFwKCk7YSYmZnQucmVxdWVzdFJlZHJhdyhhKX19O18ucXAucHJvdG90eXBlLnJlcXVlc3RSZWRyYXc9Xy5xcC5wcm90b3R5cGUucmVxdWVzdFJlZHJhdztfLnFwLnByb3RvdHlwZS5yZXF1ZXN0U3RhdGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLnRoPSEwO2lmKGZ0KXtsZXQgYT10aGlzLmdldE1hcCgpO2EmJmZ0LnhoKGEpfX07Xy5xcC5wcm90b3R5cGUucmVxdWVzdFN0YXRlVXBkYXRlPV8ucXAucHJvdG90eXBlLnJlcXVlc3RTdGF0ZVVwZGF0ZTtfLnFwLnByb3RvdHlwZS5yaD0tMTtfLnFwLnByb3RvdHlwZS5xaD0hMTtfLnFwLnByb3RvdHlwZS50aD0hMTtfLnFwLnByb3RvdHlwZS5zaD0hMTtfLlduKF8ucXAucHJvdG90eXBlLHttYXA6Xy5oc30pO18uZ3Q9bmV3IFNldDtfLmh0PWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5tYXA9YTt0aGlzLnFoPSExO3RoaXMud2g9bnVsbDt0aGlzLmNhY2hlPXt9O3RoaXMuanc9dGhpcy5yaD0iVU5LTk9XTiI7dGhpcy5zaD1uZXcgUHJvbWlzZShjPT57dGhpcy50aD1jfSk7dGhpcy5rRT1iLndoLnRoZW4oYz0+e3RoaXMud2g9Yzt0aGlzLnJoPWMuZW8oKT8iVFJVRSI6IkZBTFNFIjtzcCh0aGlzKX0pO3RoaXMuc0o9dGhpcy5zaC50aGVuKGM9Pnt0aGlzLmp3PWM/IlRSVUUiOiJGQUxTRSI7c3AodGhpcyl9KTtzcCh0aGlzKX1sb2coYSxiPSIiKXthLkdxJiZjb25zb2xlLmVycm9yKGIrYS5HcSk7YS5GdCYmXy5NKHRoaXMubWFwLGEuRnQpfWVvKCl7cmV0dXJuIHRoaXMucmg9PT0iVFJVRSJ8fHRoaXMucmg9PT0iVU5LTk9XTiJ9WXYoKXtyZXR1cm4gdGhpcy53aH1CeihhKXt0aGlzLnRoKGEpfWdldE1hcENhcGFiaWxpdGllcyhhPSExKXt2YXIgYj17fTtiLmlzQWR2YW5jZWRNYXJrZXJzQXZhaWxhYmxlPQp0aGlzLmNhY2hlLnJHLmlzQXZhaWxhYmxlO2IuaXNEYXRhRHJpdmVuU3R5bGluZ0F2YWlsYWJsZT10aGlzLmNhY2hlLmFILmlzQXZhaWxhYmxlO2IuaXNXZWJHTE92ZXJsYXlWaWV3QXZhaWxhYmxlPXRoaXMuY2FjaGUueXEuaXNBdmFpbGFibGU7Yj1PYmplY3QuZnJlZXplKGIpO2EmJnRoaXMubG9nKHtGdDoxNTMwMjd9KTtyZXR1cm4gYn1tYXBDYXBhYmlsaXRpZXNfY2hhbmdlZCgpe2lmKCF0aGlzLnFoKXRocm93IE5kYSh0aGlzKSxFcnJvcigiQXR0ZW1wdGVkIHRvIHNldCByZWFkLW9ubHkga2V5OiBtYXBDYXBhYmlsaXRpZXMiKTt9fTtfLmh0LnByb3RvdHlwZS5WRD1fLmhhKDIzKTt2YXIgTWRhPXtBRFZBTkNFRF9NQVJLRVJTOntGdDoxNTMwMjV9LERBVEFfRFJJVkVOX1NUWUxJTkc6e0Z0OjE1MzAyNn0sV0VCR0xfT1ZFUkxBWV9WSUVXOntGdDoyMDkxMTJ9fTt2YXIgeGlhPWNsYXNzIGV4dGVuZHMgXy55bnt9O3ZhciB5aWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vcHRpb25zPWE7dGhpcy5xaD1uZXcgTWFwfWh1KGEsYil7YT10eXBlb2YgYT09PSJudW1iZXIiP1thXTphO2ZvcihsZXQgYyBvZiBhKXRoaXMucWguZ2V0KGMpLGE9dGhpcy5vcHRpb25zLmh1KGMsYiksdGhpcy5xaC5zZXQoYyxhKX1abihhLGIsYyl7YT10eXBlb2YgYT09PSJudW1iZXIiP1thXTphO2ZvcihsZXQgZCBvZiBhKWlmKGE9dGhpcy5xaC5nZXQoZCkpdGhpcy5vcHRpb25zLlpuKGEsYixjKSx0aGlzLnFoLmRlbGV0ZShkKX1qdShhKXthPXR5cGVvZiBhPT09Im51bWJlciI/W2FdOmE7Zm9yKGxldCBiIG9mIGEpaWYoYT10aGlzLnFoLmdldChiKSl0aGlzLm9wdGlvbnMuanUoYSksdGhpcy5xaC5kZWxldGUoYil9fTtQZGEucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMucmg9dGhpcy5zaD10aGlzLnFoPW51bGw7dGhpcy50aD0hMX07dmFyIFFkYT1uZXcgR2hhKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQZGF9LGZ1bmN0aW9uKGEpe2EucmVzZXQoKX0pO18ud3AucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBYZGEodGhpcywoMCxfLlByKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLlByKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy53cC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7Xy5hYT1fLndwLnByb3RvdHlwZTtfLmFhLmlRPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFhkYSh0aGlzLG51bGwsKDAsXy5QcikoYSksYil9O18uYWEuY2F0Y2g9Xy53cC5wcm90b3R5cGUuaVE7Cl8uYWEuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMucWg9PTApe2xldCBiPW5ldyB4cChhKTtfLnlwKGZ1bmN0aW9uKCl7U2RhKHRoaXMsYil9LHRoaXMpfX07Xy5hYS5tUT1mdW5jdGlvbihhKXt0aGlzLnFoPTA7dnAodGhpcywyLGEpfTtfLmFhLm5RPWZ1bmN0aW9uKGEpe3RoaXMucWg9MDt2cCh0aGlzLDMsYSl9O18uYWEuQk09ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1UZGEodGhpcyk7KVVkYSh0aGlzLGEsdGhpcy5xaCx0aGlzLnpoKTt0aGlzLnhoPSExfTt2YXIgYWVhPV8uQmI7Xy5xYih4cCxfLnRiKTt4cC5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtfLnFiKF8uQXAsXy5tayk7Xy5hYT1fLkFwLnByb3RvdHlwZTtfLmFhLmt4PTA7Xy5hYS5Caz1mdW5jdGlvbigpe18uQXAuaXIuQmsuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5xaDtkZWxldGUgdGhpcy5yaH07Xy5hYS5zdGFydD1mdW5jdGlvbihhKXt0aGlzLnN0b3AoKTt0aGlzLmt4PV8uenAodGhpcy5zaCxhIT09dm9pZCAwP2E6dGhpcy50aCl9O18uYWEuRGk9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCl8fHRoaXMuc3RhcnQodm9pZCAwKX07Xy5hYS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5pc0FjdGl2ZSgpJiZfLlVhLmNsZWFyVGltZW91dCh0aGlzLmt4KTt0aGlzLmt4PTB9O18uYWEuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5reCE9MH07Xy5hYS5nRz1mdW5jdGlvbigpe3RoaXMua3g9MDt0aGlzLnFoJiZ0aGlzLnFoLmNhbGwodGhpcy5yaCl9O3ZhciB6aWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPW51bGw7dGhpcy5yaD1uZXcgTWFwO3RoaXMuc2g9bmV3IF8uQXAoKCk9PntiZWEodGhpcyl9KX19O3ZhciBBaWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnFoPW5ldyBNYXA7dGhpcy5yaD1uZXcgXy5BcCgoKT0+e3ZhciBhPVtdLGI9W107Zm9yKGxldCBjIG9mIHRoaXMucWgudmFsdWVzKCkpe2xldCBkPWMua3koKTtkJiYhZC5nZXRTaXplKCkuZXF1YWxzKF8ucW8pJiZjLnRsJiYoYy5jb2xsaXNpb25CZWhhdmlvcj09PSJSRVFVSVJFRF9BTkRfSElERVNfT1BUSU9OQUwiPyhhLnB1c2goYy5reSgpKSxjLlhwPSExKTpiLnB1c2goYykpfWIuc29ydChlZWEpO2ZvcihsZXQgYyBvZiBiKWZlYShjLmt5KCksYSk/Yy5YcD0hMDooYS5wdXNoKGMua3koKSksYy5YcD0hMSl9LDApfX07Xy5xYihfLkNwLF8ubWspO18uYWE9Xy5DcC5wcm90b3R5cGU7Xy5hYS55dj1fLmhhKDI0KTtfLmFhLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLnFoJiYoXy5VYS5jbGVhclRpbWVvdXQodGhpcy5xaCksdGhpcy5xaD1udWxsKTt0aGlzLnRoPW51bGw7dGhpcy5yaD0hMTt0aGlzLndoPVtdfTtfLmFhLnBhdXNlPWZ1bmN0aW9uKCl7Kyt0aGlzLnNofTtfLmFhLnJlc3VtZT1mdW5jdGlvbigpe3RoaXMuc2gmJigtLXRoaXMuc2gsIXRoaXMuc2gmJnRoaXMucmgmJih0aGlzLnJoPSExLHRoaXMuQWguYXBwbHkobnVsbCx0aGlzLndoKSkpfTtfLmFhLkJrPWZ1bmN0aW9uKCl7dGhpcy5zdG9wKCk7Xy5DcC5pci5Cay5jYWxsKHRoaXMpfTsKXy5hYS5RSz1mdW5jdGlvbigpe3RoaXMucWgmJihfLlVhLmNsZWFyVGltZW91dCh0aGlzLnFoKSx0aGlzLnFoPW51bGwpO3RoaXMudGg/KHRoaXMucWg9Xy56cCh0aGlzLnhoLHRoaXMudGgtXy5tYigpKSx0aGlzLnRoPW51bGwpOnRoaXMuc2g/dGhpcy5yaD0hMDoodGhpcy5yaD0hMSx0aGlzLkFoLmFwcGx5KG51bGwsdGhpcy53aCkpfTt2YXIgQmlhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD1uZXcgQWlhO3RoaXMucWg9bmV3IHppYTt0aGlzLnRoPW5ldyBTZXQ7dGhpcy53aD1uZXcgXy5DcCgoKT0+e3RoaXMuc2gucmguRGkoKTt2YXIgYT10aGlzLnFoLGI9bmV3IFNldCh0aGlzLnRoKTtmb3IobGV0IGMgb2YgYiljLlhwP18uZGVhKGEsYyk6Xy5jZWEoYSxjKTt0aGlzLnRoLmNsZWFyKCl9LDUwKTt0aGlzLnJoPW5ldyBTZXR9fTtfLnhxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz17fTt0aGlzLnNpemU9MH1yZW1vdmUoYSl7dmFyIGI9Xy54bihhKTt0aGlzLmVsZW1lbnRzW2JdJiYoZGVsZXRlIHRoaXMuZWxlbWVudHNbYl0sLS10aGlzLnNpemUsXy53bih0aGlzLCJyZW1vdmUiLGEpLHRoaXMub25SZW1vdmUmJnRoaXMub25SZW1vdmUoYSkpfWNvbnRhaW5zKGEpe3JldHVybiEhdGhpcy5lbGVtZW50c1tfLnhuKGEpXX1mb3JFYWNoKGEpe3ZhciBiPXRoaXMuZWxlbWVudHM7Zm9yKGxldCBjIGluIGIpYS5jYWxsKHRoaXMsYltjXSl9Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnNpemV9fTtfLmp0PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZWk9YX1xcShhKXthPV8uZ2VhKHRoaXMsYSk7cmV0dXJuIGEubGVuZ3RoPHRoaXMuZWkubGVuZ3RoP25ldyBfLmp0KGEpOnRoaXN9Zm9yRWFjaChhLGIpe3RoaXMuZWkuZm9yRWFjaCgoYyxkKT0+e2EuY2FsbChiLGMsZCl9KX1zb21lKGEsYil7cmV0dXJuIHRoaXMuZWkuc29tZSgoYyxkKT0+YS5jYWxsKGIsYyxkKSl9c2l6ZSgpe3JldHVybiB0aGlzLmVpLmxlbmd0aH19O18uQ2lhPXtqYXBhbl9wcmVxdWFrZToyMCxqYXBhbl9wb3N0cXVha2UyMDEwOjI0fTt2YXIgRGlhPWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMubWFya2Vycz1hfHxuZXcgXy54cX19O3ZhciBFaWE7Xy5rdD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5oZWFkaW5nPWE7dGhpcy5waXRjaD1fLmNtKGIsLTkwLDkwKTt0aGlzLnpvb209TWF0aC5tYXgoMCxjKX19O0VpYT1fLkNtKHt6b29tOl8uTW0oaG8pLGhlYWRpbmc6aG8scGl0Y2g6aG99KTtfLkZpYT1uZXcgXy5nbyg2NiwyNik7dmFyIEdpYTtfLkZwPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLHtBbjpkPSExLHBhc3NpdmU6ZT0hMX09e30pe3RoaXMucWg9YTt0aGlzLnNoPWI7dGhpcy5yaD1jO3RoaXMudGg9R2lhP3twYXNzaXZlOmUsY2FwdHVyZTpkfTpkO2EuYWRkRXZlbnRMaXN0ZW5lcj9hLmFkZEV2ZW50TGlzdGVuZXIoYixjLHRoaXMudGgpOmEuYXR0YWNoRXZlbnQmJmEuYXR0YWNoRXZlbnQoIm9uIitiLGMpfXJlbW92ZSgpe2lmKHRoaXMucWgucmVtb3ZlRXZlbnRMaXN0ZW5lcil0aGlzLnFoLnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5zaCx0aGlzLnJoLHRoaXMudGgpO2Vsc2V7bGV0IGE9dGhpcy5xaDthLmRldGFjaEV2ZW50JiZhLmRldGFjaEV2ZW50KCJvbiIrdGhpcy5zaCx0aGlzLnJoKX19fTtHaWE9ITE7dHJ5e18uVWEuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxuZXcgY2xhc3N7Z2V0IHBhc3NpdmUoKXtHaWE9ITB9fSl9Y2F0Y2goYSl7fTt2YXIgSGlhLElpYTtIaWE9WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0IiwicG9pbnRlcmRvd24iLCJNU1BvaW50ZXJEb3duIl07SWlhPVsid2hlZWwiLCJtb3VzZXdoZWVsIl07Xy5IcD12b2lkIDA7Xy5HcD0hMTt0cnl7Xy5FcChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSwiOmZvY3VzLXZpc2libGUiKSxfLkdwPSEwfWNhdGNoKGEpe31pZih0eXBlb2YgZG9jdW1lbnQhPT0idW5kZWZpbmVkIil7Xy5xbihkb2N1bWVudCwia2V5ZG93biIsKCk9PntfLkhwPSJLRVlCT0FSRCJ9LCEwKTtmb3IobGV0IGEgb2YgSGlhKV8ucW4oZG9jdW1lbnQsYSwoKT0+e18uSHA9IlBPSU5URVIifSwhMCwhMCk7Zm9yKGxldCBhIG9mIElpYSlfLnFuKGRvY3VtZW50LGEsKCk9PntfLkhwPSJXSEVFTCJ9LCEwLCEwKX07dmFyIGx0PWNsYXNze2NvbnN0cnVjdG9yKGEsYj0wKXt0aGlzLm1ham9yPWE7dGhpcy5taW5vcj1ifX07dmFyIEppYSxLaWEsTGlhLE1pYSxKcCxpZWE7SmlhPW5ldyBNYXAoW1szLCJHb29nbGUgQ2hyb21lIl0sWzIsIk1pY3Jvc29mdCBFZGdlIl1dKTtLaWE9bmV3IE1hcChbWzEsWyJtc2llIl1dLFsyLFsiZWRnZSJdXSxbMyxbImNocm9tZSIsImNyaW9zIl1dLFs1LFsiZmlyZWZveCIsImZ4aW9zIl1dLFs0LFsiYXBwbGV3ZWJraXQiXV0sWzYsWyJ0cmlkZW50Il1dLFs3LFsibW96aWxsYSJdXV0pO0xpYT1uZXcgTWFwKFtbMSwieDExIl0sWzIsIm1hY2ludG9zaCJdLFszLCJ3aW5kb3dzIl0sWzQsImFuZHJvaWQiXSxbNiwiaXBob25lIl0sWzUsImlwYWQiXV0pO01pYT1bMSwyLDMsNCw1LDZdO0pwPW51bGw7CmllYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPW5hdmlnYXRvci51c2VyQWdlbnQ7dGhpcy5xaD10aGlzLnR5cGU9MDt0aGlzLnZlcnNpb249bmV3IGx0KDApO3RoaXMudGg9bmV3IGx0KDApO3ZhciBiPWEudG9Mb3dlckNhc2UoKTtmb3IobGV0IFtlLGZdb2YgS2lhLmVudHJpZXMoKSl7dmFyIGM9ZTtsZXQgZz1mLmZpbmQoaD0+Yi5pbmNsdWRlcyhoKSk7aWYoZyl7dGhpcy50eXBlPWM7aWYoYz0obmV3IFJlZ0V4cChnKyJbIC9dPyhbMC05XSspLj8oWzAtOV0rKT8iKSkuZXhlYyhiKSl0aGlzLnZlcnNpb249bmV3IGx0KE1hdGgudHJ1bmMoTnVtYmVyKGNbMV0pKSxNYXRoLnRydW5jKE51bWJlcihjWzJdfHwiMCIpKSk7YnJlYWt9fXRoaXMudHlwZT09PTcmJihjPVJlZ0V4cCgiXk1vemlsbGEvLipHZWNrby8uKltNaW5lZmllbGR8U2hpcmV0b2tvXVsgL10/KFswLTldKykuPyhbMC05XSspPyIpLmV4ZWMoYSkpJiYodGhpcy50eXBlPTUsdGhpcy52ZXJzaW9uPW5ldyBsdChNYXRoLnRydW5jKE51bWJlcihjWzFdKSksCk1hdGgudHJ1bmMoTnVtYmVyKGNbMl18fCIwIikpKSk7dGhpcy50eXBlPT09NiYmKGM9UmVnRXhwKCJydjooWzAtOV17Mix9Lj9bMC05XSspIikuZXhlYyhhKSkmJih0aGlzLnR5cGU9MSx0aGlzLnZlcnNpb249bmV3IGx0KE1hdGgudHJ1bmMoTnVtYmVyKGNbMV0pKSkpO2Zvcih2YXIgZCBvZiBNaWEpaWYoKGM9TGlhLmdldChkKSkmJmIuaW5jbHVkZXMoYykpe3RoaXMucWg9ZDticmVha31pZih0aGlzLnFoPT09Nnx8dGhpcy5xaD09PTV8fHRoaXMucWg9PT0yKWlmKGQ9L09TICg/OlggKT8oXGQrKVtfLl0/KFxkKykvLmV4ZWMoYSkpdGhpcy50aD1uZXcgbHQoTWF0aC50cnVuYyhOdW1iZXIoZFsxXSkpLE1hdGgudHJ1bmMoTnVtYmVyKGRbMl18fCIwIikpKTt0aGlzLnFoPT09NCYmKGE9L0FuZHJvaWQgKFxkKylcLj8oXGQrKT8vLmV4ZWMoYSkpJiYodGhpcy50aD1uZXcgbHQoTWF0aC50cnVuYyhOdW1iZXIoYVsxXSkpLE1hdGgudHJ1bmMoTnVtYmVyKGFbMl18fCIwIikpKSk7dGhpcy5yaD0KdGhpcy5xaD09PTF8fHRoaXMucWg9PT0yfHx0aGlzLnFoPT09MyYmIWIuaW5jbHVkZXMoIm1vYmlsZSIpfX07Cl8uTnA9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD10aGlzLnJoPW51bGx9Z2V0IHZlcnNpb24oKXtpZih0aGlzLnNoKXJldHVybiB0aGlzLnNoO2lmKG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMpZm9yKGxldCBhIG9mIG5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcylpZihhLmJyYW5kPT09SmlhLmdldCh0aGlzLnR5cGUpKXJldHVybiB0aGlzLnNoPW5ldyBsdCgrYS52ZXJzaW9uLDApO3JldHVybiB0aGlzLnNoPUtwKCkudmVyc2lvbn1nZXQgdGgoKXtyZXR1cm4gS3AoKS50aH1nZXQgdHlwZSgpe2lmKHRoaXMucmgpcmV0dXJuIHRoaXMucmg7aWYobmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcyl7bGV0IGE9bmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLm1hcChiPT5iLmJyYW5kKTtmb3IobGV0IFtiLGNdb2YgSmlhKXtsZXQgZD1iO2lmKGEuaW5jbHVkZXMoYykpcmV0dXJuIHRoaXMucmg9CmR9fXJldHVybiB0aGlzLnJoPUtwKCkudHlwZX1nZXQgd2goKXtyZXR1cm4gdGhpcy50eXBlPT09NXx8dGhpcy50eXBlPT09N31nZXQgcWgoKXtyZXR1cm4gdGhpcy50eXBlPT09NHx8dGhpcy50eXBlPT09M31nZXQgeWgoKXtyZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEmJiJtb2JpbGUiaW4gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE/IW5hdmlnYXRvci51c2VyQWdlbnREYXRhLm1vYmlsZTpLcCgpLnJofWdldCBBaCgpe3JldHVybiB0aGlzLnR5cGU9PT0xfWdldCBGaCgpe3JldHVybiB0aGlzLnR5cGU9PT01fWdldCB4aCgpe3JldHVybiB0aGlzLnR5cGU9PT0zfWdldCBCaCgpe3JldHVybiB0aGlzLnR5cGU9PT00fWdldCB6aCgpe2lmKG5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZuYXZpZ2F0b3IudXNlckFnZW50RGF0YS5wbGF0Zm9ybSlyZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm09PT0iaU9TIjt2YXIgYT1LcCgpO3JldHVybiBhLnFoPT09Nnx8YS5xaD09PQo1fWdldCBEaCgpe3JldHVybiBuYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm0/bmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm09PT0ibWFjT1MiOktwKCkucWg9PT0yfWdldCBDaCgpe3JldHVybiBuYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmbmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm0/bmF2aWdhdG9yLnVzZXJBZ2VudERhdGEucGxhdGZvcm09PT0iQW5kcm9pZCI6S3AoKS5xaD09PTR9fTtfLk5pYT1uZXcgU2V0KFsiVVMiLCJMUiIsIk1NIl0pO3ZhciBsZWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1kb2N1bWVudDt0aGlzLnFoPV8uTnA7dGhpcy50cmFuc2Zvcm09a2VhKGEsWyJ0cmFuc2Zvcm0iLCJXZWJraXRUcmFuc2Zvcm0iLCJNb3pUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKTt0aGlzLnJoPWtlYShhLFsiV2Via2l0VXNlclNlbGVjdCIsIk1velVzZXJTZWxlY3QiLCJtc1VzZXJTZWxlY3QiXSl9fSxPcDtfLlNwPW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnFoPWE7dGhpcy5yaD1fLlRsKCgpPT5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikuZHJhZ2dhYmxlIT09dm9pZCAwKX19KF8uTnApO3ZhciBPaWE7T2lhPW5ldyBXZWFrTWFwOwpfLm10PWNsYXNzIGV4dGVuZHMgXy5ub3tjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5Jej10aGlzLndoPW51bGw7dGhpcy50aD0hMTt0aGlzLnNoPW51bGw7dGhpcy5ubChhLGIpfW5sKGEsYil7Xy4kbihhKTt0aGlzLl9fZ209bmV3IERpYShiJiZiLm1hcmtlcnMpO3RoaXMuX19nbS5zZXQoImlzSW5pdGlhbGl6ZWQiLCExKTt0aGlzLnFoPV8ubW8oITEsITApO3RoaXMucWguYWRkTGlzdGVuZXIoZT0+e2lmKHRoaXMuZ2V0KCJ2aXNpYmxlIikhPT1lKXtpZih0aGlzLnRoKXtsZXQgZj10aGlzLl9fZ207Zi5zZXQoInNob3VsZEF1dG9Gb2N1cyIsZSYmZi5nZXQoImlzTWFwSW5pdGlhbGl6ZWQiKSl9bWVhKHRoaXMsZSk7dGhpcy5zZXQoInZpc2libGUiLGUpfX0pO2ImJmIuY2xpZW50JiYodGhpcy5Jej1fLkNpYVtiLmNsaWVudF18fG51bGwpO3ZhciBjPXRoaXMuY29udHJvbHM9W107Xy5hbShfLnBxLChlLGYpPT57Y1tmXT1uZXcgXy5FbztjW2ZdLmFkZExpc3RlbmVyKCJpbnNlcnRfYXQiLAooKT0+e18uTSh0aGlzLDE4MjExMil9KX0pO3RoaXMuZ249YiYmYi5nbnx8Xy5tbyghMSk7dGhpcy5jb250YWluZXI9YTt0aGlzLlBwPWImJmIuUHB8fHRoaXMuY29udGFpbmVyO3RoaXMuX19nbS5zZXQoImRldmVsb3BlclByb3ZpZGVkRGl2Iix0aGlzLlBwKTtfLlVhLk11dGF0aW9uT2JzZXJ2ZXImJnRoaXMuUHAmJigoYT1PaWEuZ2V0KHRoaXMuUHApKSYmYS5kaXNjb25uZWN0KCksYT1uZXcgTXV0YXRpb25PYnNlcnZlcihlPT57Zm9yKGxldCBmIG9mIGUpZi5hdHRyaWJ1dGVOYW1lPT09ImRpciImJl8ud24odGhpcywic2hvdWxkVXNlUlRMQ29udHJvbHNDaGFuZ2UiKX0pLE9pYS5zZXQodGhpcy5QcCxhKSxhLm9ic2VydmUodGhpcy5QcCx7YXR0cmlidXRlczohMH0pKTt0aGlzLnNldCgic3RhbmRBbG9uZSIsITApO3RoaXMuc2V0UG92KG5ldyBfLmt0KDAsMCwxKSk7YiYmYi5wb3YmJihhPWIucG92LF8uam0oYS56b29tKXx8KGEuem9vbT10eXBlb2YgYi56b29tPT09Im51bWJlciI/CmIuem9vbToxKSk7dGhpcy5zZXRWYWx1ZXMoYik7dGhpcy5nZXRWaXNpYmxlKCk9PT12b2lkIDAmJnRoaXMuc2V0VmlzaWJsZSghMCk7dmFyIGQ9dGhpcy5fX2dtLm1hcmtlcnM7Xy50bih0aGlzLCJwYW5vX2NoYW5nZWQiLCgpPT57Xy5IbCgibWFya2VyIikudGhlbihlPT57ZS5NQyhkLHRoaXMsITEpfSl9KTtfLkxwWzM1XSYmYiYmYi5kRSYmXy5IbCgidXRpbCIpLnRoZW4oZT0+e2UuZXIudGgobmV3IF8ubnEoYi5kRSkpfSk7Xy5zbih0aGlzLCJrZXlkb3duIix0aGlzLHRoaXMueGgpfXZpc2libGVfY2hhbmdlZCgpe3ZhciBhPSEhdGhpcy5nZXQoInZpc2libGUiKSxiPSExO3RoaXMucWguZ2V0KCkhPT1hJiYodGhpcy50aCYmKGI9dGhpcy5fX2dtLGIuc2V0KCJzaG91bGRBdXRvRm9jdXMiLGEmJmIuZ2V0KCJpc01hcEluaXRpYWxpemVkIikpKSxtZWEodGhpcyxhKSx0aGlzLnFoLnNldChhKSxiPWEpO2EmJih0aGlzLndoPXRoaXMud2h8fG5ldyBQcm9taXNlKGM9PntfLkhsKCJzdHJlZXR2aWV3IikudGhlbihkPT4Ke2lmKHRoaXMuSXopdmFyIGU9dGhpcy5Jejt0aGlzLl9fZ20uc2V0KCJpc0luaXRpYWxpemVkIiwhMCk7YyhkLlZPKHRoaXMsdGhpcy5xaCx0aGlzLnRoLGUpKX0sKCk9PntfLk9sKHRoaXMuX19nbS5nZXQoInNsb1RyYWNraW5nSWQiKSwxMyl9KX0pLGImJnRoaXMud2gudGhlbihjPT57Yy5KUCgpfSkpfXhoKGEpe2Eua2V5PT09IkVzY2FwZSImJnRoaXMucmg/LmdzPy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmdGhpcy5nZXQoImVuYWJsZUNsb3NlQnV0dG9uIikmJnRoaXMuZ2V0KCJ2aXNpYmxlIikmJihhLnN0b3BQcm9wYWdhdGlvbigpLF8ud24odGhpcywiY2xvc2VjbGljayIpLHRoaXMuc2V0KCJ2aXNpYmxlIiwhMSkpfXJlZ2lzdGVyUGFub1Byb3ZpZGVyKGEsYil7dGhpcy5zZXQoInBhbm9Qcm92aWRlciIse3Byb3ZpZGVyOmEsb3B0aW9uczpifHx7fX0pfWZvY3VzKCl7dmFyIGE9dGhpcy5fX2dtO3RoaXMuZ2V0VmlzaWJsZSgpJiYhYS5nZXQoInBlbmRpbmdGb2N1cyIpJiYKYS5zZXQoInBlbmRpbmdGb2N1cyIsITApfWdldFBhbm8oKXtyZXR1cm4gdGhpcy5nZXQoInBhbm8iKX1nZXRTdGF0dXMoKXtyZXR1cm4gdGhpcy5nZXQoInN0YXR1cyIpfXNldFBhbm8oYSl7dGhpcy5zZXQoInBhbm8iLGEpfWdldFBob3RvZ3JhcGhlclBvdigpe3JldHVybiB0aGlzLmdldCgicGhvdG9ncmFwaGVyUG92Iil9Z2V0UG9zaXRpb24oKXtyZXR1cm4gdGhpcy5nZXQoInBvc2l0aW9uIil9c2V0UG9zaXRpb24oYSl7dGhpcy5zZXQoInBvc2l0aW9uIixhKX1nZXRQb3YoKXtyZXR1cm4gdGhpcy5nZXQoInBvdiIpfXNldFBvdihhKXt0aGlzLnNldCgicG92IixhKX1nZXRMb2NhdGlvbigpe3JldHVybiB0aGlzLmdldCgibG9jYXRpb24iKX1nZXRMaW5rcygpe3JldHVybiB0aGlzLmdldCgibGlua3MiKX1zZXRMaW5rcyhhKXt0aGlzLnNldCgibGlua3MiLGEpfWdldE1vdGlvblRyYWNraW5nKCl7cmV0dXJuIHRoaXMuZ2V0KCJtb3Rpb25UcmFja2luZyIpfXNldE1vdGlvblRyYWNraW5nKGEpe3RoaXMuc2V0KCJtb3Rpb25UcmFja2luZyIsCmEpfWdldFZpc2libGUoKXtyZXR1cm4gdGhpcy5nZXQoInZpc2libGUiKX1zZXRWaXNpYmxlKGEpe3RoaXMuc2V0KCJ2aXNpYmxlIixhKX1nZXRab29tKCl7cmV0dXJuIHRoaXMuZ2V0KCJ6b29tIil9c2V0Wm9vbShhKXt0aGlzLnNldCgiem9vbSIsYSl9c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX19O18ubXQucHJvdG90eXBlLkh0PV8uaGEoMjcpO18ubXQucHJvdG90eXBlLkVuPV8uaGEoMjUpO18ubXQucHJvdG90eXBlLnNldE9wdGlvbnM9Xy5tdC5wcm90b3R5cGUuc2V0T3B0aW9ucztfLm10LnByb3RvdHlwZS5zZXRab29tPV8ubXQucHJvdG90eXBlLnNldFpvb207Xy5tdC5wcm90b3R5cGUuZ2V0Wm9vbT1fLm10LnByb3RvdHlwZS5nZXRab29tO18ubXQucHJvdG90eXBlLnNldFZpc2libGU9Xy5tdC5wcm90b3R5cGUuc2V0VmlzaWJsZTtfLm10LnByb3RvdHlwZS5nZXRWaXNpYmxlPV8ubXQucHJvdG90eXBlLmdldFZpc2libGU7Cl8ubXQucHJvdG90eXBlLnNldE1vdGlvblRyYWNraW5nPV8ubXQucHJvdG90eXBlLnNldE1vdGlvblRyYWNraW5nO18ubXQucHJvdG90eXBlLmdldE1vdGlvblRyYWNraW5nPV8ubXQucHJvdG90eXBlLmdldE1vdGlvblRyYWNraW5nO18ubXQucHJvdG90eXBlLnNldExpbmtzPV8ubXQucHJvdG90eXBlLnNldExpbmtzO18ubXQucHJvdG90eXBlLmdldExpbmtzPV8ubXQucHJvdG90eXBlLmdldExpbmtzO18ubXQucHJvdG90eXBlLmdldExvY2F0aW9uPV8ubXQucHJvdG90eXBlLmdldExvY2F0aW9uO18ubXQucHJvdG90eXBlLnNldFBvdj1fLm10LnByb3RvdHlwZS5zZXRQb3Y7Xy5tdC5wcm90b3R5cGUuZ2V0UG92PV8ubXQucHJvdG90eXBlLmdldFBvdjtfLm10LnByb3RvdHlwZS5zZXRQb3NpdGlvbj1fLm10LnByb3RvdHlwZS5zZXRQb3NpdGlvbjtfLm10LnByb3RvdHlwZS5nZXRQb3NpdGlvbj1fLm10LnByb3RvdHlwZS5nZXRQb3NpdGlvbjsKXy5tdC5wcm90b3R5cGUuZ2V0UGhvdG9ncmFwaGVyUG92PV8ubXQucHJvdG90eXBlLmdldFBob3RvZ3JhcGhlclBvdjtfLm10LnByb3RvdHlwZS5zZXRQYW5vPV8ubXQucHJvdG90eXBlLnNldFBhbm87Xy5tdC5wcm90b3R5cGUuZ2V0U3RhdHVzPV8ubXQucHJvdG90eXBlLmdldFN0YXR1cztfLm10LnByb3RvdHlwZS5nZXRQYW5vPV8ubXQucHJvdG90eXBlLmdldFBhbm87Xy5tdC5wcm90b3R5cGUuZm9jdXM9Xy5tdC5wcm90b3R5cGUuZm9jdXM7Xy5tdC5wcm90b3R5cGUucmVnaXN0ZXJQYW5vUHJvdmlkZXI9Xy5tdC5wcm90b3R5cGUucmVnaXN0ZXJQYW5vUHJvdmlkZXI7Xy5tdC5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5tdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Cl8uV24oXy5tdC5wcm90b3R5cGUse3Zpc2libGU6Xy5jcyxwYW5vOl8uYnMscG9zaXRpb246Xy5NbShfLlhtKSxwb3Y6Xy5NbShFaWEpLG1vdGlvblRyYWNraW5nOiRyLHBob3RvZ3JhcGhlclBvdjpudWxsLGxvY2F0aW9uOm51bGwsbGlua3M6Xy5HbShfLkltKF8ua20pKSxzdGF0dXM6bnVsbCx6b29tOl8uYXMsZW5hYmxlQ2xvc2VCdXR0b246Xy5jc30pO18ud20oXy5tdCk7Xy5udD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMueWw9W107dGhpcy5yaD10aGlzLnFoPXRoaXMuc2g9bnVsbH1yZWdpc3RlcihhKXt2YXIgYj10aGlzLnlsO3ZhciBjPWIubGVuZ3RoO2lmKCFjfHxhLnpJbmRleD49YlswXS56SW5kZXgpdmFyIGQ9MDtlbHNlIGlmKGEuekluZGV4Pj1iW2MtMV0uekluZGV4KXtmb3IoZD0wO2MtZD4xOyl7bGV0IGU9ZCtjPj4xO2EuekluZGV4Pj1iW2VdLnpJbmRleD9jPWU6ZD1lfWQ9Y31lbHNlIGQ9YztiLnNwbGljZShkLDAsYSl9dW5yZWdpc3RlcihhKXtfLm9tKHRoaXMueWwsYSl9c2V0Q2FwdHVyZShhLGIpe3RoaXMucWg9YTt0aGlzLnJoPWJ9cmVsZWFzZUNhcHR1cmUoYSxiKXt0aGlzLnFoPT09YSYmdGhpcy5yaD09PWImJih0aGlzLnJoPXRoaXMucWg9bnVsbCl9fTtfLm50LnByb3RvdHlwZS50QT1fLmhhKDI4KTtfLlBpYT1PYmplY3QuZnJlZXplKFsiZXhpdEZ1bGxzY3JlZW4iLCJ3ZWJraXRFeGl0RnVsbHNjcmVlbiIsIm1vekNhbmNlbEZ1bGxTY3JlZW4iLCJtc0V4aXRGdWxsc2NyZWVuIl0pO18uUWlhPU9iamVjdC5mcmVlemUoWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSk7Xy5SaWE9T2JqZWN0LmZyZWV6ZShbImZ1bGxzY3JlZW5FbmFibGVkIiwid2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiLCJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1zRnVsbHNjcmVlbkVuYWJsZWQiXSk7Xy5TaWE9T2JqZWN0LmZyZWV6ZShbInJlcXVlc3RGdWxsc2NyZWVuIiwid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iLCJtb3pSZXF1ZXN0RnVsbFNjcmVlbiIsIm1zUmVxdWVzdEZ1bGxzY3JlZW4iXSk7dmFyIFRlYT1jbGFzcyBleHRlbmRzIHhpYXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMuTXI9Yzt0aGlzLnJoPWQ7dGhpcy5KaD10aGlzLkh2PXRoaXMuams9dGhpcy5vdmVybGF5TGF5ZXI9bnVsbDt0aGlzLkloPSExO3RoaXMuZGl2PWI7dGhpcy5zZXQoImRldmVsb3BlclByb3ZpZGVkRGl2Iix0aGlzLmRpdik7dGhpcy5SbD1fLm1vKG5ldyBfLmp0KFtdKSk7dGhpcy5MaD1uZXcgXy54cTt0aGlzLmNvcHlyaWdodHM9bmV3IF8uRW87dGhpcy5BaD1uZXcgXy54cTt0aGlzLkRoPW5ldyBfLnhxO3RoaXMuQ2g9bmV3IF8ueHE7dGhpcy5nbj1fLm1vKF8ub2VhKGMsdHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCI/bnVsbDpkb2N1bWVudCkpO3RoaXMuWXI9bmV3IF8ubG8obnVsbCk7dmFyIGU9dGhpcy5tYXJrZXJzPW5ldyBfLnhxO2UucWg9KCk9PntlLnFoPSgpPT57fTtQcm9taXNlLmFsbChbXy5IbCgibWFya2VyIiksdGhpcy5zaF0pLnRoZW4oKFtmLGddKT0+e2YuTUMoZSwKYSxnKX0pfTt0aGlzLnhoPW5ldyBfLm10KGMse3Zpc2libGU6ITEsZW5hYmxlQ2xvc2VCdXR0b246ITAsbWFya2VyczplLGduOnRoaXMuZ24sUHA6dGhpcy5kaXZ9KTt0aGlzLnhoLmJpbmRUbygiY29udHJvbFNpemUiLGEpO3RoaXMueGguYmluZFRvKCJyZXBvcnRFcnJvckNvbnRyb2wiLGEpO3RoaXMueGgudGg9ITA7dGhpcy56aD1uZXcgXy5udDt0aGlzLndoPW5ldyBQcm9taXNlKGY9Pnt0aGlzLldoPWZ9KTt0aGlzLnNpPW5ldyBQcm9taXNlKGY9Pnt0aGlzLmRpPWZ9KTt0aGlzLnFoPW5ldyBfLmh0KGEsdGhpcyk7dGhpcy5QaD1uZXcgXy5Fbzt0aGlzLnNoPXRoaXMucWguc0oudGhlbigoKT0+dGhpcy5xaC5qdz09PSJUUlVFIik7dGhpcy5Cej1mdW5jdGlvbihmKXt0aGlzLnFoLkJ6KGYpfTt0aGlzLnNldCgiaXNJbml0aWFsaXplZCIsITEpO3RoaXMueGguX19nbS5iaW5kVG8oImlzTWFwSW5pdGlhbGl6ZWQiLHRoaXMsImlzSW5pdGlhbGl6ZWQiKTt0aGlzLnJoLnRoZW4oKCk9Pgp7dGhpcy5zZXQoImlzSW5pdGlhbGl6ZWQiLCEwKX0pO3RoaXMuc2V0KCJpc01hcEJpbmRpbmdDb21wbGV0ZSIsITEpO3RoaXMuR2g9bmV3IFByb21pc2UoZj0+e18udG4odGhpcywibWFwYmluZGluZ2NvbXBsZXRlIiwoKT0+e3RoaXMuc2V0KCJpc01hcEJpbmRpbmdDb21wbGV0ZSIsITApO2YoKX0pfSk7dGhpcy5PaD1uZXcgQmlhO3RoaXMuc2gudGhlbihmPT57ZiYmdGhpcy5qayYmdGhpcy5qay5DaCh0aGlzLk9oLnFoKX0pO3RoaXMudGg9bmV3IE1hcDt0aGlzLnloPW5ldyBNYXA7Yj1bMjEzMzM3LDIxMTI0MiwyMTMzMzgsMjExMjQzXTtjPVsxMjI0NDcsLi4uYl07dGhpcy5CaD1uZXcgeWlhKHtodTpfLk5sLGp1Ol8uUGwsWm46Xy5PbCxoRDp7TUFQX0lOSVRJQUxJWkFUSU9OOm5ldyBTZXQoYyksVkVDVE9SX01BUF9JTklUSUFMSVpBVElPTjpuZXcgU2V0KGIpfX0pfX07dmFyIG90PXtVTklOSVRJQUxJWkVEOiJVTklOSVRJQUxJWkVEIixSQVNURVI6IlJBU1RFUiIsVkVDVE9SOiJWRUNUT1IifTt2YXIgb3E9Y2xhc3MgZXh0ZW5kcyBfLnlue3NldChhLGIpe2lmKGIhPW51bGwmJiEoYiYmXy5qbShiLm1heFpvb20pJiZiLnRpbGVTaXplJiZiLnRpbGVTaXplLndpZHRoJiZiLnRpbGVTaXplLmhlaWdodCYmYi5nZXRUaWxlJiZiLmdldFRpbGUuYXBwbHkpKXRocm93IEVycm9yKCJFeHBlY3RlZCB2YWx1ZSBpbXBsZW1lbnRpbmcgZ29vZ2xlLm1hcHMuTWFwVHlwZSIpO3N1cGVyLnNldChhLGIpfX07b3EucHJvdG90eXBlLnNldD1vcS5wcm90b3R5cGUuc2V0O29xLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1vcS5wcm90b3R5cGUuY29uc3RydWN0b3I7dmFyIFVlYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMucWg9ITE7dGhpcy5yaD0iVU5JTklUSUFMSVpFRCJ9cmVuZGVyaW5nVHlwZV9jaGFuZ2VkKCl7aWYoIXRoaXMucWgmJnRoaXMuZ2V0KCJtYXBIYXNCZWVuQWJsZVRvQmVEcmF3biIpKXRocm93IHBlYSh0aGlzKSxFcnJvcigiU2V0dGluZyBtYXAgJ3JlbmRlcmluZ1R5cGUnIGFmdGVyIGluc3RhbnRpYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iKTt9fTtfLnB0PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaD1uZXcgXy5ibygxMjgsMTI4KTt0aGlzLnFoPTI1Ni8zNjA7dGhpcy5yaD0yNTYvKDIqTWF0aC5QSSk7dGhpcy53Rj0hMH1mcm9tTGF0TG5nVG9Qb2ludChhLGI9bmV3IF8uYm8oMCwwKSl7YT1fLlhtKGEpO3ZhciBjPXRoaXMuc2g7Yi54PWMueCthLmxuZygpKnRoaXMucWg7YT1fLmNtKE1hdGguc2luKF8udGwoYS5sYXQoKSkpLC0oMS0xRS0xNSksMS0xRS0xNSk7Yi55PWMueSsuNSpNYXRoLmxvZygoMSthKS8oMS1hKSkqLXRoaXMucmg7cmV0dXJuIGJ9ZnJvbVBvaW50VG9MYXRMbmcoYSxiPSExKXt2YXIgYz10aGlzLnNoO3JldHVybiBuZXcgXy5UbShfLnVsKDIqTWF0aC5hdGFuKE1hdGguZXhwKChhLnktYy55KS8tdGhpcy5yaCkpLU1hdGguUEkvMiksKGEueC1jLngpL3RoaXMucWgsYil9fTt2YXIgVGlhPVswLF8uQnIsLTNdO18uJHA9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9T2woYSl7cmV0dXJuIF8ua2godGhpcyw4LGEpfWNsZWFyQ29sb3IoKXtyZXR1cm4gXy5RZih0aGlzLDkpfX07Xy4kcC5wcm90b3R5cGUua3A9Xy5oYSgyOSk7Xy4kcC5wcm90b3R5cGUucmg9Xy5oYSg1KTtfLlpwPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5acC5wcm90b3R5cGUucWs9Xy5oYSgzMik7dmFyIEplYT1jbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uWXA9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLllwLnByb3RvdHlwZS5CaT1fLmhhKDM0KTtfLllwLnByb3RvdHlwZS5GaT1fLmhhKDMzKTt2YXIgSWVhPWNsYXNzIGV4dGVuZHMgXy5Je2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfWdldFpvb20oKXtyZXR1cm4gXy5MZyh0aGlzLDMpfXNldFpvb20oYSl7cmV0dXJuIF8uZGgodGhpcywzLGEpfX07dmFyIEtlYT1fLiRpKEllYSxbMCxbMCxfLlAsLTFdLF8uWixfLkJyLFswLF8uQnIsLTEsXy5aXSxbMCxfLlosXy5SLC0xLDEsXy5VLC0xLDEsXy5ZLFswLF8uWiwtMSxfLnVyLFRpYSxfLlIsXy51ciwtMSxfLlosVGlhLF8udXJdLFswLF8uQ3IsXy5SXSxfLlIsLTIsXy5DcixfLnlyLDIsXy5SLDgyLF8uUl0sMSxfLlUsXy5aXSk7Xy5XcD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMucWg9YTt0aGlzLnJoPWJ9ZXF1YWxzKGEpe3JldHVybiBhP3RoaXMucWg9PT1hLnFoJiZ0aGlzLnJoPT09YS5yaDohMX19O18uVWlhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubWluPTA7dGhpcy5tYXg9YTt0aGlzLmxlbmd0aD1hLTB9d3JhcChhKXtyZXR1cm4gYS1NYXRoLmZsb29yKChhLXRoaXMubWluKS90aGlzLmxlbmd0aCkqdGhpcy5sZW5ndGh9fTtfLlZpYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnd2PWEud3Z8fG51bGw7dGhpcy5Zdz1hLll3fHxudWxsfXdyYXAoYSl7cmV0dXJuIG5ldyBfLldwKHRoaXMud3Y/dGhpcy53di53cmFwKGEucWgpOmEucWgsdGhpcy5Zdz90aGlzLll3LndyYXAoYS5yaCk6YS5yaCl9fTtfLldpYT1uZXcgXy5WaWEoe3d2Om5ldyBfLlVpYSgyNTYpfSk7dmFyIENlYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkKXt0aGlzLnJoPWE7dGhpcy50aWx0PWI7dGhpcy5oZWFkaW5nPWM7dGhpcy5xaD1kO2E9TWF0aC5jb3MoYipNYXRoLlBJLzE4MCk7Yj1NYXRoLmNvcyhjKk1hdGguUEkvMTgwKTtjPU1hdGguc2luKGMqTWF0aC5QSS8xODApO3RoaXMubTExPXRoaXMucmgqYjt0aGlzLm0xMj10aGlzLnJoKmM7dGhpcy5tMjE9LXRoaXMucmgqYSpjO3RoaXMubTIyPXRoaXMucmgqYSpiO3RoaXMuc2g9dGhpcy5tMTEqdGhpcy5tMjItdGhpcy5tMTIqdGhpcy5tMjF9ZXF1YWxzKGEpe3JldHVybiBhP3RoaXMubTExPT09YS5tMTEmJnRoaXMubTEyPT09YS5tMTImJnRoaXMubTIxPT09YS5tMjEmJnRoaXMubTIyPT09YS5tMjImJnRoaXMucWg9PT1hLnFoOiExfX07dmFyIFllYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7dmFyIGI9Xy5kcixjPV8ubWwoXy5KbC5yaCgpKTtzdXBlcigpO3RoaXMuQWg9Xy5VbigiY2VudGVyIik7dGhpcy54aD1fLlVuKCJzaXplIik7dGhpcy55aD10aGlzLnFoPXRoaXMucmg9dGhpcy53aD1udWxsO3RoaXMuQmg9dGhpcy5DaD0hMTt0aGlzLnpoPW5ldyBfLkFwKCgpPT57dmFyIGQ9RmVhKHRoaXMpO2lmKHRoaXMuc2gmJnRoaXMuQ2gpdGhpcy55aCE9PWQmJnRoaXMucWg/LnJlbW92ZSgpO2Vsc2V7dmFyIGU9IiIsZj10aGlzLkFoKCksZz1EZWEodGhpcyksaD10aGlzLnhoKCk7aWYoaCl7aWYoZiYmaXNGaW5pdGUoZi5sYXQoKSkmJmlzRmluaXRlKGYubG5nKCkpJiZnPjEmJmQhPW51bGwmJmgmJmgud2lkdGgmJmguaGVpZ2h0JiZ0aGlzLnJoKXtfLlFwKHRoaXMucmgsaCk7aWYoZj1fLkJvKHRoaXMuR2gsZixnKSl7dmFyIGs9bmV3IF8ueW87ay5taW5YPU1hdGgucm91bmQoZi54LWgud2lkdGgvMik7CmsubWF4WD1rLm1pblgraC53aWR0aDtrLm1pblk9TWF0aC5yb3VuZChmLnktaC5oZWlnaHQvMik7ay5tYXhZPWsubWluWStoLmhlaWdodDtmPWt9ZWxzZSBmPW51bGw7az1YaWFbZF07ZiYmKHRoaXMuQ2g9ITAsdGhpcy55aD1kLHRoaXMuc2gmJnRoaXMucWgmJihlPV8uVnAoZywwLDApLHRoaXMuc2guc2V0KHtpbWFnZTp0aGlzLnFoLGJvdW5kczp7bWluOl8uWHAoZSx7WGg6Zi5taW5YLFloOmYubWluWX0pLG1heDpfLlhwKGUse1hoOmYubWF4WCxZaDpmLm1heFl9KX0sc2l6ZTp7d2lkdGg6aC53aWR0aCxoZWlnaHQ6aC5oZWlnaHR9fSkpLGU9TGVhKHRoaXMsZixnLGQsaykpfXRoaXMucWgmJihfLlFwKHRoaXMucWgsaCksSGVhKHRoaXMsZSkpfX19LDApO3RoaXMuSmg9Yjt0aGlzLkdoPW5ldyBfLnB0O3RoaXMudGg9YysiL21hcHMvYXBpL2pzL1N0YXRpY01hcFNlcnZpY2UuR2V0TWFwSW1hZ2UiO3RoaXMuc2g9bmV3IF8ubG8obnVsbCk7dGhpcy5zZXQoImRpdiIsYSk7dGhpcy5zZXQoImxvYWRpbmciLAohMCk7dGhpcy5zZXQoImNvbG9yVGhlbWUiLDEpfWdldERpdigpe3JldHVybiBudWxsfWNoYW5nZWQoKXt2YXIgYT10aGlzLkFoKCksYj1EZWEodGhpcyksYz1GZWEodGhpcyksZD0hIXRoaXMueGgoKSxlPXRoaXMuZ2V0KCJtYXBJZCIpO2lmKGEmJiFhLmVxdWFscyh0aGlzLkRoKXx8dGhpcy5JaCE9PWJ8fHRoaXMuRmghPT1jfHx0aGlzLkJoIT09ZHx8dGhpcy53aCE9PWUpdGhpcy5JaD1iLHRoaXMuRmg9Yyx0aGlzLkJoPWQsdGhpcy53aD1lLHRoaXMuc2h8fHRoaXMucWg/LnJlbW92ZSgpLHRoaXMuemguRGkoKTt0aGlzLkRoPWF9ZGl2X2NoYW5nZWQoKXt2YXIgYT10aGlzLmdldCgiZGl2IiksYj10aGlzLnJoO2lmKGEpaWYoYilhLmFwcGVuZENoaWxkKGIpO2Vsc2V7Yj10aGlzLnJoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Iuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7bGV0IGM9dGhpcy5xaD1fLndsKCJJTUciKTtfLnFuKGIsImNvbnRleHRtZW51IixkPT57Xy5mbihkKTsKXy5obihkKX0pO2Mub250b3VjaHN0YXJ0PWMub250b3VjaG1vdmU9Yy5vbnRvdWNoZW5kPWMub250b3VjaGNhbmNlbD1kPT57Xy5nbihkKTtfLmhuKGQpfTtjLmFsdD0iIjtfLlFwKGMsXy5xbyk7YS5hcHBlbmRDaGlsZChiKTtfLkJwKHRoaXMuemgpfWVsc2UgYiYmKGIucmVtb3ZlKCksdGhpcy5yaD1udWxsKX19LEVlYT17cm9hZG1hcDowLHNhdGVsbGl0ZToyLGh5YnJpZDozLHRlcnJhaW46NH0sWGlhPXswOjEsMjoyLDM6Miw0OjJ9O3ZhciBZaWE9Y2xhc3N7Y29uc3RydWN0b3IoKXtQY2EodGhpcyl9YWRkTGlzdGVuZXIoYSxiKXtyZXR1cm4gXy5rbih0aGlzLGEsYil9eGkoYSxiLGMpe3RoaXMuY29uc3RydWN0b3I9PT1iJiZSbShhLHRoaXMsYyl9fTtfLlppYT1fLkNtKHtmaWxsQ29sb3I6Xy5NbShfLmRzKSxmaWxsT3BhY2l0eTpfLk1tKF8uWnIpLHN0cm9rZUNvbG9yOl8uTW0oXy5kcyksc3Ryb2tlT3BhY2l0eTpfLk1tKF8uWnIpLHN0cm9rZVdlaWdodDpfLk1tKF8uWnIpLHBvaW50UmFkaXVzOl8uTW0oXy5MbShfLllyLGE9PntpZihhPD0xMjgpcmV0dXJuIGE7dGhyb3cgXy5BbSgiVGhlIG1heCBhbGxvd2VkIHBvaW50UmFkaXVzIHZhbHVlIGlzIDEyOHB4LiIpO30pKX0sITEsIkZlYXR1cmVTdHlsZU9wdGlvbnMiKTtfLnF0PWNsYXNzIGV4dGVuZHMgWWlhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zaD10aGlzLnFoPW51bGw7dGhpcy5yaD0hMDt0aGlzLm1hcD1hLm1hcDt0aGlzLndoPWEuZmVhdHVyZVR5cGU7dGhpcy54aD1hLmRhdGFzZXRJZDt0aGlzLnRoPWEuRHN9Z2V0IGZlYXR1cmVUeXBlKCl7cmV0dXJuIHRoaXMud2h9c2V0IGZlYXR1cmVUeXBlKGEpe3Rocm93IG5ldyBUeXBlRXJyb3IoJ2dvb2dsZS5tYXBzLkZlYXR1cmVMYXllciAiZmVhdHVyZVR5cGUiIGlzIHJlYWQtb25seS4nKTt9Z2V0IGlzQXZhaWxhYmxlKCl7cmV0dXJuIE1lYSh0aGlzKS5pc0F2YWlsYWJsZX1zZXQgaXNBdmFpbGFibGUoYSl7dGhyb3cgbmV3IFR5cGVFcnJvcignZ29vZ2xlLm1hcHMuRmVhdHVyZUxheWVyICJpc0F2YWlsYWJsZSIgaXMgcmVhZC1vbmx5LicpO31nZXQgc3R5bGUoKXthcSh0aGlzLCJnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIuc3R5bGUiKTtyZXR1cm4gdGhpcy5xaH1zZXQgc3R5bGUoYSl7aWYoYSl0cnl7dmFyIGI9Cl8uS20oW2loYSxfLlppYV0pKGEpfWNhdGNoKGMpe3Rocm93IF8uQW0oImdvb2dsZS5tYXBzLkZlYXR1cmVMYXllci5zdHlsZSIsYyk7fWVsc2UgYj1udWxsO3RoaXMucWg9YjthcSh0aGlzLCJnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIuc3R5bGUiKS5pc0F2YWlsYWJsZSYmKGJxKHRoaXMsdGhpcy5xaCksdGhpcy5mZWF0dXJlVHlwZT09PSJEQVRBU0VUIj9fLk0odGhpcy5tYXAsMTc3Mjk0KTpfLk0odGhpcy5tYXAsMTUxNTU1KSl9Z2V0IGlzRW5hYmxlZCgpe3JldHVybiB0aGlzLnJofXNldCBpc0VuYWJsZWQoYSl7dGhpcy5yaCE9PWEmJih0aGlzLnJoPWEsdGhpcy5jSSgpKX1nZXQgZGF0YXNldElkKCl7cmV0dXJuIHRoaXMueGh9c2V0IGRhdGFzZXRJZChhKXt0aHJvdyBuZXcgVHlwZUVycm9yKCdnb29nbGUubWFwcy5GZWF0dXJlTGF5ZXIgImRhdGFzZXRJZCIgaXMgcmVhZC1vbmx5LicpO31nZXQgRHMoKXtyZXR1cm4gdGhpcy50aH1zZXQgRHMoYSl7dGhpcy50aD1hfWFkZExpc3RlbmVyKGEsCmIpe2FxKHRoaXMsImdvb2dsZS5tYXBzLkZlYXR1cmVMYXllci5hZGRMaXN0ZW5lciIpO2E9PT0iY2xpY2siP3RoaXMuZmVhdHVyZVR5cGU9PT0iREFUQVNFVCI/Xy5NKHRoaXMubWFwLDE3NzgyMSk6Xy5NKHRoaXMubWFwLDE0ODgzNik6YT09PSJtb3VzZW1vdmUiJiYodGhpcy5mZWF0dXJlVHlwZT09PSJEQVRBU0VUIj9fLk0odGhpcy5tYXAsMTg2MzkxKTpfLk0odGhpcy5tYXAsMTg2MzkwKSk7cmV0dXJuIHN1cGVyLmFkZExpc3RlbmVyKGEsYil9Y0koKXt0aGlzLmlzQXZhaWxhYmxlP3RoaXMuc2ghPT10aGlzLnFoJiZicSh0aGlzLHRoaXMucWgpOnRoaXMuc2ghPT1udWxsJiZicSh0aGlzLG51bGwpfX07Xy5xYihjcSxVbCk7Xy5hYT1jcS5wcm90b3R5cGU7Xy5hYS5zZXRQb3NpdGlvbj1mdW5jdGlvbihhLGIsYyl7aWYodGhpcy5ub2RlPWEpdGhpcy5yaD10eXBlb2YgYj09PSJudW1iZXIiP2I6dGhpcy5ub2RlLm5vZGVUeXBlIT0xPzA6dGhpcy5xaD8tMToxO3R5cGVvZiBjPT09Im51bWJlciImJih0aGlzLmRlcHRoPWMpfTtfLmFhLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjcSh0aGlzLm5vZGUsdGhpcy5xaCwhdGhpcy5zaCx0aGlzLnJoLHRoaXMuZGVwdGgpfTsKXy5hYS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy50aCl7aWYoIXRoaXMubm9kZXx8dGhpcy5zaCYmdGhpcy5kZXB0aD09MClyZXR1cm4gV3I7dmFyIGE9dGhpcy5ub2RlO2xldCBjPXRoaXMucWg/LTE6MTtpZih0aGlzLnJoPT1jKXt2YXIgYj10aGlzLnFoP2EubGFzdENoaWxkOmEuZmlyc3RDaGlsZDtiP3RoaXMuc2V0UG9zaXRpb24oYik6dGhpcy5zZXRQb3NpdGlvbihhLGMqLTEpfWVsc2UoYj10aGlzLnFoP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpP3RoaXMuc2V0UG9zaXRpb24oYik6dGhpcy5zZXRQb3NpdGlvbihhLnBhcmVudE5vZGUsYyotMSk7dGhpcy5kZXB0aCs9dGhpcy5yaCoodGhpcy5xaD8tMToxKX1lbHNlIHRoaXMudGg9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpXcn07Xy5hYS5lcXVhbHM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZT09dGhpcy5ub2RlJiYoIXRoaXMubm9kZXx8YS5yaD09dGhpcy5yaCl9OwpfLmFhLnNwbGljZT1mdW5jdGlvbihhKXt2YXIgYj10aGlzLm5vZGUsYz10aGlzLnFoPzE6LTE7dGhpcy5yaD09YyYmKHRoaXMucmg9YyotMSx0aGlzLmRlcHRoKz10aGlzLnJoKih0aGlzLnFoPy0xOjEpKTt0aGlzLnFoPSF0aGlzLnFoO2NxLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyk7dGhpcy5xaD0hdGhpcy5xaDtjPV8uWWEoYXJndW1lbnRzWzBdKT9hcmd1bWVudHNbMF06YXJndW1lbnRzO2ZvcihsZXQgZD1jLmxlbmd0aC0xO2Q+PTA7ZC0tKV8ueGwoY1tkXSxiKTtfLnlsKGIpfTt2YXIgTmVhPWNsYXNzIGV4dGVuZHMgY3F7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSx2b2lkIDAsdm9pZCAwLG51bGwsdm9pZCAwKX1uZXh0KCl7ZG97bGV0IGE9c3VwZXIubmV4dCgpO2lmKGEuZG9uZSlyZXR1cm4gYX13aGlsZSh0aGlzLnJoPT0tMSk7cmV0dXJue3ZhbHVlOnRoaXMubm9kZSxkb25lOiExfX19O18ua3E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5hPTE3Mjk7dGhpcy5tPWF9aGFzaChhKXt2YXIgYj10aGlzLmEsYz10aGlzLm0sZD0wO2ZvcihsZXQgZT0wLGY9YS5sZW5ndGg7ZTxmOysrZSlkKj1iLGQrPWFbZV0sZCU9YztyZXR1cm4gZH19O3ZhciBPZWE9UmVnRXhwKCInIiwiZyIpLGxxPW51bGw7dmFyIHFxPW51bGwsWmVhPW5ldyBXZWFrTWFwO18ucWIoXy5ycSxfLkxuKTtPYmplY3QuZnJlZXplKHtsYXRMbmdCb3VuZHM6bmV3IF8uUm4obmV3IF8uVG0oLTg1LC0xODApLG5ldyBfLlRtKDg1LDE4MCkpLHN0cmljdEJvdW5kczohMH0pO18ucnEucHJvdG90eXBlLnN0cmVldFZpZXdfY2hhbmdlZD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KCJzdHJlZXRWaWV3Iik7YT9hLnNldCgic3RhbmRBbG9uZSIsITEpOnRoaXMuc2V0KCJzdHJlZXRWaWV3Iix0aGlzLl9fZ20ueGgpfTtfLnJxLnByb3RvdHlwZS5nZXREaXY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX2dtLmRpdn07Xy5ycS5wcm90b3R5cGUuZ2V0RGl2PV8ucnEucHJvdG90eXBlLmdldERpdjtfLnJxLnByb3RvdHlwZS5wYW5CeT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX19nbTtxcT9fLnduKGMsInBhbmJ5IixhLGIpOl8uSGwoIm1hcCIpLnRoZW4oKCk9PntfLnduKGMsInBhbmJ5IixhLGIpfSl9OwpfLnJxLnByb3RvdHlwZS5wYW5CeT1fLnJxLnByb3RvdHlwZS5wYW5CeTtfLnJxLnByb3RvdHlwZS5tb3ZlQ2FtZXJhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX19nbTt0cnl7YT12aWEoYSl9Y2F0Y2goYyl7dGhyb3cgXy5BbSgiaW52YWxpZCBDYW1lcmFPcHRpb25zIixjKTt9Yi5nZXQoImlzTWFwQmluZGluZ0NvbXBsZXRlIik/Xy53bihiLCJtb3ZlY2FtZXJhIixhKTpiLkdoLnRoZW4oKCk9PntfLnduKGIsIm1vdmVjYW1lcmEiLGEpfSl9O18ucnEucHJvdG90eXBlLm1vdmVDYW1lcmE9Xy5ycS5wcm90b3R5cGUubW92ZUNhbWVyYTsKXy5ycS5wcm90b3R5cGUuZ2V0RmVhdHVyZUxheWVyPWZ1bmN0aW9uKGEpe3RyeXthPV8uRm0od2lhKShhKX1jYXRjaChkKXt0aHJvdyBkLm1lc3NhZ2U9YGdvb2dsZS5tYXBzLk1hcC5nZXRGZWF0dXJlTGF5ZXI6IEV4cGVjdGVkIHZhbGlkIGdvb2dsZS5tYXBzLkZlYXR1cmVUeXBlLCBidXQgZ290ICcke2F9J2AsZDt9aWYoYT09PSJST0FEX1BJTE9UIil0aHJvdyBfLkFtKCJnb29nbGUubWFwcy5NYXAuZ2V0RmVhdHVyZUxheWVyOiBFeHBlY3RlZCB2YWxpZCBnb29nbGUubWFwcy5GZWF0dXJlVHlwZSwgYnV0IGdvdCAnUk9BRF9QSUxPVCciKTtpZihhPT09IkRBVEFTRVQiKXRocm93IF8uQW0oImdvb2dsZS5tYXBzLk1hcC5nZXRGZWF0dXJlTGF5ZXI6IEEgZGF0YXNldCBJRCBtdXN0IGJlIHNwZWNpZmllZCBmb3IgRmVhdHVyZUxheWVycyB0aGF0IGhhdmUgZmVhdHVyZVR5cGUgREFUQVNFVC4gUGxlYXNlIHVzZSBnb29nbGUubWFwcy5NYXAuZ2V0RGF0YXNldEZlYXR1cmVMYXllcigpIGluc3RlYWQuIik7CnBwKHRoaXMsImdvb2dsZS5tYXBzLk1hcC5nZXRGZWF0dXJlTGF5ZXIiLHtmZWF0dXJlVHlwZTphfSk7c3dpdGNoKGEpe2Nhc2UgIkFETUlOSVNUUkFUSVZFX0FSRUFfTEVWRUxfMSI6Xy5NKHRoaXMsMTQ4OTM2KTticmVhaztjYXNlICJBRE1JTklTVFJBVElWRV9BUkVBX0xFVkVMXzIiOl8uTSh0aGlzLDE0ODkzNyk7YnJlYWs7Y2FzZSAiQ09VTlRSWSI6Xy5NKHRoaXMsMTQ4OTM4KTticmVhaztjYXNlICJMT0NBTElUWSI6Xy5NKHRoaXMsMTQ4OTM5KTticmVhaztjYXNlICJQT1NUQUxfQ09ERSI6Xy5NKHRoaXMsMTQ4OTQxKTticmVhaztjYXNlICJST0FEX1BJTE9UIjpfLk0odGhpcywxNzg5MTQpO2JyZWFrO2Nhc2UgIlNDSE9PTF9ESVNUUklDVCI6Xy5NKHRoaXMsMTQ4OTQyKX12YXIgYj10aGlzLl9fZ207aWYoYi50aC5oYXMoYSkpcmV0dXJuIGIudGguZ2V0KGEpO3ZhciBjPW5ldyBfLnF0KHttYXA6dGhpcyxmZWF0dXJlVHlwZTphfSk7Yy5pc0VuYWJsZWQ9IWIuSWg7Yi50aC5zZXQoYSwKYyk7cmV0dXJuIGN9O18ucnEucHJvdG90eXBlLmdldERhdGFzZXRGZWF0dXJlTGF5ZXI9ZnVuY3Rpb24oYSl7dHJ5eygwLF8uZHMpKGEpfWNhdGNoKGQpe3Rocm93IGQubWVzc2FnZT1gZ29vZ2xlLm1hcHMuTWFwLmdldERhdGFzZXRGZWF0dXJlTGF5ZXI6IEV4cGVjdGVkIG5vbi1lbXB0eSBzdHJpbmcgZm9yIGRhdGFzZXRJZCwgYnV0IGdvdCAke2F9YCxkO31wcCh0aGlzLCJnb29nbGUubWFwcy5NYXAuZ2V0RGF0YXNldEZlYXR1cmVMYXllciIse2ZlYXR1cmVUeXBlOiJEQVRBU0VUIixkYXRhc2V0SWQ6YX0pO3ZhciBiPXRoaXMuX19nbTtpZihiLnloLmhhcyhhKSlyZXR1cm4gYi55aC5nZXQoYSk7dmFyIGM9bmV3IF8ucXQoe21hcDp0aGlzLGZlYXR1cmVUeXBlOiJEQVRBU0VUIixkYXRhc2V0SWQ6YX0pO2MuaXNFbmFibGVkPSFiLkloO2IueWguc2V0KGEsYyk7cmV0dXJuIGN9OwpfLnJxLnByb3RvdHlwZS5wYW5Ubz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLl9fZ207YT1fLlltKGEpO2IuZ2V0KCJpc01hcEJpbmRpbmdDb21wbGV0ZSIpP18ud24oYiwicGFudG8iLGEpOmIuR2gudGhlbigoKT0+e18ud24oYiwicGFudG8iLGEpfSl9O18ucnEucHJvdG90eXBlLnBhblRvPV8ucnEucHJvdG90eXBlLnBhblRvO18ucnEucHJvdG90eXBlLnBhblRvQm91bmRzPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5fX2dtLGQ9Xy5UbihhKTtjLmdldCgiaXNNYXBCaW5kaW5nQ29tcGxldGUiKT9fLnduKGMsInBhbnRvbGF0bG5nYm91bmRzIixkLGIpOmMuR2gudGhlbigoKT0+e18ud24oYywicGFudG9sYXRsbmdib3VuZHMiLGQsYil9KX07Xy5ycS5wcm90b3R5cGUucGFuVG9Cb3VuZHM9Xy5ycS5wcm90b3R5cGUucGFuVG9Cb3VuZHM7Cl8ucnEucHJvdG90eXBlLmZpdEJvdW5kcz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX19nbSxkPV8uVG4oYSk7Yy5nZXQoImlzTWFwQmluZGluZ0NvbXBsZXRlIik/cXEuZml0Qm91bmRzKHRoaXMsZCxiKTpjLkdoLnRoZW4oKCk9PntxcS5maXRCb3VuZHModGhpcyxkLGIpfSl9O18ucnEucHJvdG90eXBlLmZpdEJvdW5kcz1fLnJxLnByb3RvdHlwZS5maXRCb3VuZHM7Xy5ycS5wcm90b3R5cGUuSHQ9Xy5oYSgyNik7Xy5ycS5wcm90b3R5cGUuZ2V0TWFwQ2FwYWJpbGl0aWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX19nbS5xaC5nZXRNYXBDYXBhYmlsaXRpZXMoITApfTtfLnJxLnByb3RvdHlwZS5nZXRNYXBDYXBhYmlsaXRpZXM9Xy5ycS5wcm90b3R5cGUuZ2V0TWFwQ2FwYWJpbGl0aWVzOwp2YXIgc3E9e2JvdW5kczpudWxsLGNlbnRlcjpfLk1tKF8uWW0pLGNsaWNrYWJsZUljb25zOiRyLGhlYWRpbmc6Xy5hcyxtYXBUeXBlSWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51bGw/InJvYWRtYXAiOigwLF8uY3IpKGEpfSxtYXBJZDpfLmJzLHByb2plY3Rpb246bnVsbCxyZW5kZXJpbmdUeXBlOl8uRm0ob3QpLHRpbHRJbnRlcmFjdGlvbkVuYWJsZWQ6JHIsaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZDokcixyZXN0cmljdGlvbjpmdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBudWxsO2E9Xy5DbSh7c3RyaWN0Qm91bmRzOl8uY3MsbGF0TG5nQm91bmRzOl8uVG59KShhKTt2YXIgYj1hLmxhdExuZ0JvdW5kcztpZighKGIubGF0LmhpPmIubGF0LmxvKSl0aHJvdyBfLkFtKCJzb3V0aCBsYXRpdHVkZSBtdXN0IGJlIHNtYWxsZXIgdGhhbiBub3J0aCBsYXRpdHVkZSIpO2lmKChiLmxuZy5oaT09PS0xODA/MTgwOmIubG5nLmhpKT09PWIubG5nLmxvKXRocm93IF8uQW0oImVhc3Rlcm4gbG9uZ2l0dWRlIGNhbm5vdCBlcXVhbCB3ZXN0ZXJuIGxvbmdpdHVkZSIpOwpyZXR1cm4gYX0sc3RyZWV0Vmlldzp3cyx0aWx0Ol8uYXMsem9vbTpfLmFzLGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkczpfLk1tKF8uSG0oXy5kcywxKSl9O18uV24oXy5ycS5wcm90b3R5cGUsc3EpO3ZhciAkaWE9Y2xhc3MgZXh0ZW5kcyBFdmVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJnbXAtem9vbWNoYW5nZSIse2J1YmJsZXM6ITB9KX19O3ZhciBhamE9e0toOiEwLHR5cGU6U3RyaW5nLGZpOmF0LE5oOiExLG5qOmVwfSwkZWE9KGE9YWphLGIsYyk9Pnt2YXIgZD1jLmtpbmQsZT1jLm1ldGFkYXRhLGY9YnQuZ2V0KGUpO2Y9PT12b2lkIDAmJmJ0LnNldChlLGY9bmV3IE1hcCk7ZD09PSJzZXR0ZXIiJiYoYT1PYmplY3QuY3JlYXRlKGEpLGEuV3o9ITApO2Yuc2V0KGMubmFtZSxhKTtpZihkPT09ImFjY2Vzc29yIil7bGV0IGc9Yy5uYW1lO3JldHVybntzZXQoaCl7dmFyIGs9Yi5nZXQuY2FsbCh0aGlzKTtiLnNldC5jYWxsKHRoaXMsaCk7Xy5jcCh0aGlzLGcsayxhLCEwLGgpfSxpbml0KGgpe2ghPT12b2lkIDAmJnRoaXMuV2soZyx2b2lkIDAsYSxoKTtyZXR1cm4gaH19fWlmKGQ9PT0ic2V0dGVyIil7bGV0IGc9Yy5uYW1lO3JldHVybiBmdW5jdGlvbihoKXt2YXIgaz10aGlzW2ddO2IuY2FsbCh0aGlzLGgpO18uY3AodGhpcyxnLGssYSwhMCxoKX19dGhyb3cgRXJyb3IoYFVuc3VwcG9ydGVkIGRlY29yYXRvciBsb2NhdGlvbjogJHtkfWApOwp9O18uYWZhPShhLGIsYyk9PntjLmNvbmZpZ3VyYWJsZT0hMDtjLmVudW1lcmFibGU9ITA7UmVmbGVjdC5FUyYmdHlwZW9mIGIhPT0ib2JqZWN0IiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYixjKTtyZXR1cm4gY307dmFyIGZyPWNsYXNzIGV4dGVuZHMgXy5ldHtzdGF0aWMgZ2V0IFBtKCl7cmV0dXJuey4uLl8uZXQuUG0sZGVsZWdhdGVzRm9jdXM6ITB9fXNldCBjZW50ZXIoYSl7aWYoYSE9PW51bGx8fCF0aGlzLndrKXRyeXtsZXQgYj1fLlltKGEpO3RoaXMuaW5uZXJNYXAuc2V0Q2VudGVyKGIpfWNhdGNoKGIpe3Rocm93IF8uaXAodGhpcywiY2VudGVyIixhLGIpO319Z2V0IGNlbnRlcigpe3JldHVybiB0aGlzLmlubmVyTWFwLmdldENlbnRlcigpPz9udWxsfXNldCBtYXBJZChhKXt0cnl7dGhpcy5pbm5lck1hcC5zZXQoIm1hcElkIiwoMCxfLmJzKShhKT8/dm9pZCAwKX1jYXRjaChiKXt0aHJvdyBfLmlwKHRoaXMsIm1hcElkIixhLGIpO319Z2V0IG1hcElkKCl7cmV0dXJuIHRoaXMuaW5uZXJNYXAuZ2V0KCJtYXBJZCIpPz9udWxsfXNldCB6b29tKGEpe2lmKGEhPT1udWxsfHwhdGhpcy53ayl0cnl7dGhpcy5pbm5lck1hcC5zZXRab29tKGhvKGEpKX1jYXRjaChiKXt0aHJvdyBfLmlwKHRoaXMsCiJ6b29tIixhLGIpO319Z2V0IHpvb20oKXtyZXR1cm4gdGhpcy5pbm5lck1hcC5nZXRab29tKCk/P251bGx9c2V0IHJlbmRlcmluZ1R5cGUoYSl7dHJ5e3RoaXMuaW5uZXJNYXAuc2V0KCJyZW5kZXJpbmdUeXBlIixhPT1udWxsPyJVTklOSVRJQUxJWkVEIjpfLkZtKG90KShhKSl9Y2F0Y2goYil7dGhyb3cgXy5pcCh0aGlzLCJyZW5kZXJpbmdUeXBlIixhLGIpO319Z2V0IHJlbmRlcmluZ1R5cGUoKXtyZXR1cm4gdGhpcy5pbm5lck1hcC5nZXQoInJlbmRlcmluZ1R5cGUiKT8/bnVsbH1zZXQgdGlsdEludGVyYWN0aW9uRGlzYWJsZWQoYSl7dHJ5e3RoaXMuaW5uZXJNYXAuc2V0KCJ0aWx0SW50ZXJhY3Rpb25FbmFibGVkIixhPT1udWxsP251bGw6ISRyKGEpKX1jYXRjaChiKXt0aHJvdyBfLmlwKHRoaXMsInRpbHRJbnRlcmFjdGlvbkRpc2FibGVkIixhLGIpO319Z2V0IHRpbHRJbnRlcmFjdGlvbkRpc2FibGVkKCl7dmFyIGE9dGhpcy5pbm5lck1hcC5nZXQoInRpbHRJbnRlcmFjdGlvbkVuYWJsZWQiKTsKcmV0dXJuIHR5cGVvZiBhPT09ImJvb2xlYW4iPyFhOmF9c2V0IGhlYWRpbmdJbnRlcmFjdGlvbkRpc2FibGVkKGEpe3RyeXt0aGlzLmlubmVyTWFwLnNldCgiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCIsYT09bnVsbD9udWxsOiEkcihhKSl9Y2F0Y2goYil7dGhyb3cgXy5pcCh0aGlzLCJoZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCIsYSxiKTt9fWdldCBoZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCgpe3ZhciBhPXRoaXMuaW5uZXJNYXAuZ2V0KCJoZWFkaW5nSW50ZXJhY3Rpb25FbmFibGVkIik7cmV0dXJuIHR5cGVvZiBhPT09ImJvb2xlYW4iPyFhOmF9c2V0IGludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyhhKXt0aGlzLmlubmVyTWFwLnNldCgiaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzIixfLmtwKHRoaXMsImludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyIsXy5NbShfLkhtKF8uZHMsMSkpLGEpKX1nZXQgaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCl7cmV0dXJuIHRoaXMuaW5uZXJNYXAuZ2V0SW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzKCk/PwpudWxsfWNvbnN0cnVjdG9yKGE9e30pe3N1cGVyKGEpO3RoaXMuWHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5Yci5kaXI9IiI7dGhpcy5pbm5lck1hcD1uZXcgXy5ycSh0aGlzLlhyKTtfLmdwKHRoaXMsImlubmVyTWFwIik7Xy5tcS5zZXQodGhpcyx0aGlzLmlubmVyTWFwKTt2YXIgYj0iY2VudGVyIHpvb20gbWFwSWQgcmVuZGVyaW5nVHlwZSB0aWx0SW50ZXJhY3Rpb25FbmFibGVkIGhlYWRpbmdJbnRlcmFjdGlvbkVuYWJsZWQgaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzIi5zcGxpdCgiICIpO2ZvcihsZXQgYyBvZiBiKXRoaXMuaW5uZXJNYXAuYWRkTGlzdGVuZXIoYCR7Yy50b0xvd2VyQ2FzZSgpfV9jaGFuZ2VkYCwoKT0+e3N3aXRjaChjKXtjYXNlICJ0aWx0SW50ZXJhY3Rpb25FbmFibGVkIjpfLmNwKHRoaXMsInRpbHRJbnRlcmFjdGlvbkRpc2FibGVkIik7YnJlYWs7Y2FzZSAiaGVhZGluZ0ludGVyYWN0aW9uRW5hYmxlZCI6Xy5jcCh0aGlzLCJoZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZCIpOwpicmVhaztkZWZhdWx0Ol8uY3AodGhpcyxjKX1pZihjPT09Inpvb20iKXt2YXIgZD1uZXcgJGlhO3RoaXMuZGlzcGF0Y2hFdmVudChkKX19KTthLmNlbnRlciE9bnVsbCYmKHRoaXMuY2VudGVyPWEuY2VudGVyKTthLnpvb20hPW51bGwmJih0aGlzLnpvb209YS56b29tKTthLm1hcElkIT1udWxsJiYodGhpcy5tYXBJZD1hLm1hcElkKTthLnJlbmRlcmluZ1R5cGUhPW51bGwmJih0aGlzLnJlbmRlcmluZ1R5cGU9YS5yZW5kZXJpbmdUeXBlKTthLnRpbHRJbnRlcmFjdGlvbkRpc2FibGVkIT1udWxsJiYodGhpcy50aWx0SW50ZXJhY3Rpb25EaXNhYmxlZD1hLnRpbHRJbnRlcmFjdGlvbkRpc2FibGVkKTthLmhlYWRpbmdJbnRlcmFjdGlvbkRpc2FibGVkIT1udWxsJiYodGhpcy5oZWFkaW5nSW50ZXJhY3Rpb25EaXNhYmxlZD1hLmhlYWRpbmdJbnRlcmFjdGlvbkRpc2FibGVkKTthLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyE9bnVsbCYmKHRoaXMuaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzPQphLmludGVybmFsVXNhZ2VBdHRyaWJ1dGlvbklkcyk7dGhpcy5xaD1uZXcgTXV0YXRpb25PYnNlcnZlcihjPT57Zm9yKGxldCBkIG9mIGMpZC5hdHRyaWJ1dGVOYW1lPT09ImRpciImJihfLnduKHRoaXMuaW5uZXJNYXAsInNob3VsZFVzZVJUTENvbnRyb2xzQ2hhbmdlIiksXy53bih0aGlzLmlubmVyTWFwLl9fZ20ueGgsInNob3VsZFVzZVJUTENvbnRyb2xzQ2hhbmdlIikpfSk7dGhpcy54aShhLGZyLCJNYXBFbGVtZW50Iik7Xy5NKHdpbmRvdywxNzg5MjQpfXpoKCl7dGhpcy5Qaz8uYXBwZW5kKHRoaXMuWHIpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLnFoLm9ic2VydmUodGhpcyx7YXR0cmlidXRlczohMH0pO3RoaXMucWgub2JzZXJ2ZSh0aGlzLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHthdHRyaWJ1dGVzOiEwfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO3RoaXMucWguZGlzY29ubmVjdCgpfX07CmZyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1mci5wcm90b3R5cGUuY29uc3RydWN0b3I7ZnIuc3R5bGVzPSgwLF8uJHMpYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgIH0KICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CiAgICA6aG9zdCA+IGRpdiB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICB9CiAgYDtmci5JaT17S2k6MTgxNTc1LEppOjE4MTU3NH07Xy5EKFtfLnRxKHtmaTp7Li4uUmhhLGFrOmE9PmE/UmhhLmFrKGEpOihjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgaW50ZXJwcmV0ICIke2F9IiBhcyBhIExhdExuZy5gKSxudWxsKX0sbmo6ZnAsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sZnIucHJvdG90eXBlLCJjZW50ZXIiLG51bGwpO18uRChbXy50cSh7S2g6Im1hcC1pZCIsbmo6ZnAsdHlwZTpTdHJpbmcsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sZnIucHJvdG90eXBlLCJtYXBJZCIsbnVsbCk7Cl8uRChbXy50cSh7Zmk6e2FrOmE9Pnt2YXIgYj1OdW1iZXIoYSk7cmV0dXJuIGE9PT1udWxsfHxhPT09IiJ8fGlzTmFOKGIpPyhjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgaW50ZXJwcmV0ICIke2F9IiBhcyBhIG51bWJlci5gKSxudWxsKTpifSxMajphPT5hPT09bnVsbD9udWxsOlN0cmluZyhhKX0sbmo6ZnAsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sZnIucHJvdG90eXBlLCJ6b29tIixudWxsKTtfLkQoW18udHEoe0toOiJyZW5kZXJpbmctdHlwZSIsZmk6Xy53byhvdCksbmo6ZnAsTmg6ITB9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpLF8uRigiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKV0sZnIucHJvdG90eXBlLCJyZW5kZXJpbmdUeXBlIixudWxsKTsKXy5EKFtfLnRxKHtLaDoidGlsdC1pbnRlcmFjdGlvbi1kaXNhYmxlZCIsdHlwZTpCb29sZWFuLG5qOmZwLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwidGlsdEludGVyYWN0aW9uRGlzYWJsZWQiLG51bGwpO18uRChbXy50cSh7S2g6ImhlYWRpbmctaW50ZXJhY3Rpb24tZGlzYWJsZWQiLHR5cGU6Qm9vbGVhbixuajpmcCxOaDohMH0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCksXy5GKCJkZXNpZ246cGFyYW10eXBlcyIsW09iamVjdF0pXSxmci5wcm90b3R5cGUsImhlYWRpbmdJbnRlcmFjdGlvbkRpc2FibGVkIixudWxsKTsKXy5EKFtfLnRxKHtLaDoiaW50ZXJuYWwtdXNhZ2UtYXR0cmlidXRpb24taWRzIixmaTpfLkRzLG5qOmZwLE5oOiEwfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxfLkYoImRlc2lnbjpwYXJhbXR5cGVzIixbT2JqZWN0XSldLGZyLnByb3RvdHlwZSwiaW50ZXJuYWxVc2FnZUF0dHJpYnV0aW9uSWRzIixudWxsKTt2YXIgZ2dhPSExO18uYmphPXtCT1VOQ0U6MSxEUk9QOjIsTFI6Myx4Ujo0LDE6IkJPVU5DRSIsMjoiRFJPUCIsMzoiUkFJU0UiLDQ6IkxPV0VSIn07dmFyIGVmYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe3RoaXMudXJsPWE7dGhpcy5vcmlnaW49Yzt0aGlzLmFuY2hvcj1kO3RoaXMuc2NhbGVkU2l6ZT1lO3RoaXMubGFiZWxPcmlnaW49bnVsbDt0aGlzLnNpemU9Ynx8ZX19O3ZhciBydD1jbGFzc3tjb25zdHJ1Y3Rvcigpe18uSGwoIm1heHpvb20iKX1nZXRNYXhab29tQXRMYXRMbmcoYSxiKXtfLk0od2luZG93LDE1NDMzMik7dmFyIGM9Xy5IbCgibWF4em9vbSIpLnRoZW4oZD0+ZC5nZXRNYXhab29tQXRMYXRMbmcoYSxiKSk7YiYmYy5jYXRjaCgoKT0+e30pO3JldHVybiBjfX07cnQucHJvdG90eXBlLmdldE1heFpvb21BdExhdExuZz1ydC5wcm90b3R5cGUuZ2V0TWF4Wm9vbUF0TGF0TG5nO3J0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ydC5wcm90b3R5cGUuY29uc3RydWN0b3I7dmFyIGRmYT1jbGFzcyBleHRlbmRzIF8ueW57Y29uc3RydWN0b3IoYSl7c3VwZXIoKTtfLnJtKCJUaGUgRnVzaW9uIFRhYmxlcyBzZXJ2aWNlIHdpbGwgYmUgdHVybmVkIGRvd24gaW4gRGVjZW1iZXIgMjAxOSAoc2VlIGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2Z1c2lvbnRhYmxlcy9hbnN3ZXIvOTE4NTQxNykuIE1hcHMgQVBJIHZlcnNpb24gMy4zNyBpcyB0aGUgbGFzdCB2ZXJzaW9uIHRoYXQgd2lsbCBzdXBwb3J0IEZ1c2lvblRhYmxlc0xheWVyLiIpO2lmKCFhfHxfLm1tKGEpfHxfLmptKGEpKXtsZXQgYj1hcmd1bWVudHNbMV07dGhpcy5zZXQoInRhYmxlSWQiLGEpO3RoaXMuc2V0VmFsdWVzKGIpfWVsc2UgdGhpcy5zZXRWYWx1ZXMoYSl9fTtfLlduKGRmYS5wcm90b3R5cGUse21hcDpfLmhzLHRhYmxlSWQ6Xy5hcyxxdWVyeTpfLk1tKF8uS20oW18uY3IsXy5JbShfLmttLCJub3QgYW4gT2JqZWN0IildKSl9KTt2YXIgc3Q7c3Q9bnVsbDtfLnR0PWNsYXNzIGV4dGVuZHMgXy55bntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5ubCgpfW5sKCl7fWdldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfWdldFBhbmVzKCl7cmV0dXJuIHRoaXMuZ2V0KCJwYW5lcyIpfWdldFByb2plY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXQoInByb2plY3Rpb24iKX1yZW1vdmUoKXt9bWFwX2NoYW5nZWQoKXtzdD9zdC5xRyh0aGlzKTpfLkhsKCJvdmVybGF5IikudGhlbihhPT57c3Q9YTthLnFHKHRoaXMpfSl9c3RhdGljIHByZXZlbnRNYXBIaXRzRnJvbShhKXtfLkhsKCJvdmVybGF5IikudGhlbihiPT57c3Q9YjtiLnByZXZlbnRNYXBIaXRzRnJvbShhKX0pfXN0YXRpYyBwcmV2ZW50TWFwSGl0c0FuZEdlc3R1cmVzRnJvbShhKXtfLkhsKCJvdmVybGF5IikudGhlbihiPT57c3Q9YjtiLnByZXZlbnRNYXBIaXRzQW5kR2VzdHVyZXNGcm9tKGEpfSl9fTsKXy50dC5wcmV2ZW50TWFwSGl0c0FuZEdlc3R1cmVzRnJvbT1fLnR0LnByZXZlbnRNYXBIaXRzQW5kR2VzdHVyZXNGcm9tO18udHQucHJldmVudE1hcEhpdHNGcm9tPV8udHQucHJldmVudE1hcEhpdHNGcm9tO18udHQucHJvdG90eXBlLmdldFByb2plY3Rpb249Xy50dC5wcm90b3R5cGUuZ2V0UHJvamVjdGlvbjtfLnR0LnByb3RvdHlwZS5nZXRQYW5lcz1fLnR0LnByb3RvdHlwZS5nZXRQYW5lcztfLnR0LnByb3RvdHlwZS5zZXRNYXA9Xy50dC5wcm90b3R5cGUuc2V0TWFwO18udHQucHJvdG90eXBlLmdldE1hcD1fLnR0LnByb3RvdHlwZS5nZXRNYXA7Xy50dC5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy50dC5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5XbihfLnR0LnByb3RvdHlwZSx7cGFuZXM6bnVsbCxwcm9qZWN0aW9uOm51bGwsbWFwOl8uS20oW18uaHMsd3NdKX0pO18ud20oXy50dCk7dmFyIHV0PWNsYXNzIGV4dGVuZHMgXy55bntnZXRNYXAoKXtyZXR1cm4gdGhpcy5nZXQoIm1hcCIpfXNldE1hcChhKXt0aGlzLnNldCgibWFwIixhKX1nZXREcmFnZ2FibGUoKXtyZXR1cm4gdGhpcy5nZXQoImRyYWdnYWJsZSIpfXNldERyYWdnYWJsZShhKXt0aGlzLnNldCgiZHJhZ2dhYmxlIixhKX1nZXRFZGl0YWJsZSgpe3JldHVybiB0aGlzLmdldCgiZWRpdGFibGUiKX1zZXRFZGl0YWJsZShhKXt0aGlzLnNldCgiZWRpdGFibGUiLGEpfXNldFZpc2libGUoYSl7dGhpcy5zZXQoInZpc2libGUiLGEpfWdldFZpc2libGUoKXtyZXR1cm4gdGhpcy5nZXQoInZpc2libGUiKX1jb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueGg9dGhpcy5SeD10aGlzLlVsPSExO3RoaXMuc2V0KCJsYXRMbmdzIixuZXcgXy5FbyhbbmV3IF8uRW9dKSk7dGhpcy5zZXRWYWx1ZXMoTW8oYSkpO18uSGwoInBvbHkiKX1nZXRQYXRoKCl7cmV0dXJuIHRoaXMuZ2V0KCJsYXRMbmdzIikuZ2V0QXQoMCl9c2V0UGF0aChhKXt0cnl7dGhpcy5nZXQoImxhdExuZ3MiKS5zZXRBdCgwLApObyhhKSl9Y2F0Y2goYil7Xy5CbShiKX19bWFwX2NoYW5nZWQoKXtiZmEodGhpcyl9dmlzaWJsZV9jaGFuZ2VkKCl7YmZhKHRoaXMpfX07dXQucHJvdG90eXBlLnNldFBhdGg9dXQucHJvdG90eXBlLnNldFBhdGg7dXQucHJvdG90eXBlLmdldFBhdGg9dXQucHJvdG90eXBlLmdldFBhdGg7dXQucHJvdG90eXBlLmdldFZpc2libGU9dXQucHJvdG90eXBlLmdldFZpc2libGU7dXQucHJvdG90eXBlLnNldFZpc2libGU9dXQucHJvdG90eXBlLnNldFZpc2libGU7dXQucHJvdG90eXBlLnNldEVkaXRhYmxlPXV0LnByb3RvdHlwZS5zZXRFZGl0YWJsZTt1dC5wcm90b3R5cGUuZ2V0RWRpdGFibGU9dXQucHJvdG90eXBlLmdldEVkaXRhYmxlO3V0LnByb3RvdHlwZS5zZXREcmFnZ2FibGU9dXQucHJvdG90eXBlLnNldERyYWdnYWJsZTt1dC5wcm90b3R5cGUuZ2V0RHJhZ2dhYmxlPXV0LnByb3RvdHlwZS5nZXREcmFnZ2FibGU7dXQucHJvdG90eXBlLnNldE1hcD11dC5wcm90b3R5cGUuc2V0TWFwOwp1dC5wcm90b3R5cGUuZ2V0TWFwPXV0LnByb3RvdHlwZS5nZXRNYXA7Xy5Xbih1dC5wcm90b3R5cGUse2RyYWdnYWJsZTpfLmNzLGVkaXRhYmxlOl8uY3MsbWFwOl8uaHMsdmlzaWJsZTpfLmNzfSk7Xy52dD1jbGFzcyBleHRlbmRzIHV0e2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMuVWw9ITB9c2V0T3B0aW9ucyhhKXt0aGlzLnNldFZhbHVlcyhhKX1nZXRQYXRoKCl7cmV0dXJuIHN1cGVyLmdldFBhdGgoKX1zZXRQYXRoKGEpe3N1cGVyLnNldFBhdGgoYSl9Z2V0UGF0aHMoKXtyZXR1cm4gdGhpcy5nZXQoImxhdExuZ3MiKX1zZXRQYXRocyhhKXt0cnl7dmFyIGI9dGhpcy5zZXQ7aWYoQXJyYXkuaXNBcnJheShhKXx8YSBpbnN0YW5jZW9mIF8uRW8paWYoXy4kbChhKT09PTApdmFyIGM9ITA7ZWxzZXt2YXIgZD1hIGluc3RhbmNlb2YgXy5Fbz9hLmdldEF0KDApOmFbMF07Yz1BcnJheS5pc0FycmF5KGQpfHxkIGluc3RhbmNlb2YgXy5Fb31lbHNlIGM9ITE7dmFyIGU9Yz9hIGluc3RhbmNlb2YgXy5Fbz9yZGEocGRhKShhKTpuZXcgXy5FbyhfLkdtKE5vKShhKSk6bmV3IF8uRW8oW05vKGEpXSk7Yi5jYWxsKHRoaXMsImxhdExuZ3MiLGUpfWNhdGNoKGYpe18uQm0oZil9fX07Cl8udnQucHJvdG90eXBlLnNldFBhdGhzPV8udnQucHJvdG90eXBlLnNldFBhdGhzO18udnQucHJvdG90eXBlLmdldFBhdGhzPV8udnQucHJvdG90eXBlLmdldFBhdGhzO18udnQucHJvdG90eXBlLnNldFBhdGg9Xy52dC5wcm90b3R5cGUuc2V0UGF0aDtfLnZ0LnByb3RvdHlwZS5nZXRQYXRoPV8udnQucHJvdG90eXBlLmdldFBhdGg7Xy52dC5wcm90b3R5cGUuc2V0T3B0aW9ucz1fLnZ0LnByb3RvdHlwZS5zZXRPcHRpb25zO18ud3Q9Y2xhc3MgZXh0ZW5kcyB1dHtzZXRPcHRpb25zKGEpe3RoaXMuc2V0VmFsdWVzKGEpfX07Xy53dC5wcm90b3R5cGUuc2V0T3B0aW9ucz1fLnd0LnByb3RvdHlwZS5zZXRPcHRpb25zO18ueHQ9Y2xhc3MgZXh0ZW5kcyBfLnlue2dldEJvdW5kcygpe3JldHVybiB0aGlzLmdldCgiYm91bmRzIil9c2V0Qm91bmRzKGEpe3RoaXMuc2V0KCJib3VuZHMiLGEpfWdldE1hcCgpe3JldHVybiB0aGlzLmdldCgibWFwIil9c2V0TWFwKGEpe3RoaXMuc2V0KCJtYXAiLGEpfWdldERyYWdnYWJsZSgpe3JldHVybiB0aGlzLmdldCgiZHJhZ2dhYmxlIil9c2V0RHJhZ2dhYmxlKGEpe3RoaXMuc2V0KCJkcmFnZ2FibGUiLGEpfWdldEVkaXRhYmxlKCl7cmV0dXJuIHRoaXMuZ2V0KCJlZGl0YWJsZSIpfXNldEVkaXRhYmxlKGEpe3RoaXMuc2V0KCJlZGl0YWJsZSIsYSl9c2V0VmlzaWJsZShhKXt0aGlzLnNldCgidmlzaWJsZSIsYSl9Z2V0VmlzaWJsZSgpe3JldHVybiB0aGlzLmdldCgidmlzaWJsZSIpfXNldE9wdGlvbnMoYSl7dGhpcy5zZXRWYWx1ZXMoYSl9Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnNldFZhbHVlcyhNbyhhKSk7Xy5IbCgicG9seSIpfW1hcF9jaGFuZ2VkKCl7Y2ZhKHRoaXMpfXZpc2libGVfY2hhbmdlZCgpe2NmYSh0aGlzKX19OwpfLnh0LnByb3RvdHlwZS5zZXRPcHRpb25zPV8ueHQucHJvdG90eXBlLnNldE9wdGlvbnM7Xy54dC5wcm90b3R5cGUuZ2V0VmlzaWJsZT1fLnh0LnByb3RvdHlwZS5nZXRWaXNpYmxlO18ueHQucHJvdG90eXBlLnNldFZpc2libGU9Xy54dC5wcm90b3R5cGUuc2V0VmlzaWJsZTtfLnh0LnByb3RvdHlwZS5zZXRFZGl0YWJsZT1fLnh0LnByb3RvdHlwZS5zZXRFZGl0YWJsZTtfLnh0LnByb3RvdHlwZS5nZXRFZGl0YWJsZT1fLnh0LnByb3RvdHlwZS5nZXRFZGl0YWJsZTtfLnh0LnByb3RvdHlwZS5zZXREcmFnZ2FibGU9Xy54dC5wcm90b3R5cGUuc2V0RHJhZ2dhYmxlO18ueHQucHJvdG90eXBlLmdldERyYWdnYWJsZT1fLnh0LnByb3RvdHlwZS5nZXREcmFnZ2FibGU7Xy54dC5wcm90b3R5cGUuc2V0TWFwPV8ueHQucHJvdG90eXBlLnNldE1hcDtfLnh0LnByb3RvdHlwZS5nZXRNYXA9Xy54dC5wcm90b3R5cGUuZ2V0TWFwO18ueHQucHJvdG90eXBlLnNldEJvdW5kcz1fLnh0LnByb3RvdHlwZS5zZXRCb3VuZHM7Cl8ueHQucHJvdG90eXBlLmdldEJvdW5kcz1fLnh0LnByb3RvdHlwZS5nZXRCb3VuZHM7Xy5XbihfLnh0LnByb3RvdHlwZSx7ZHJhZ2dhYmxlOl8uY3MsZWRpdGFibGU6Xy5jcyxib3VuZHM6Xy5NbShfLlRuKSxtYXA6Xy5ocyx2aXNpYmxlOl8uY3N9KTt2YXIgeXQ9Y2xhc3MgZXh0ZW5kcyBfLnlue2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLnFoPW51bGx9Z2V0TWFwKCl7cmV0dXJuIHRoaXMuZ2V0KCJtYXAiKX1zZXRNYXAoYSl7dGhpcy5zZXQoIm1hcCIsYSl9bWFwX2NoYW5nZWQoKXtfLkhsKCJzdHJlZXR2aWV3IikudGhlbihhPT57YS53TCh0aGlzKX0pfX07eXQucHJvdG90eXBlLnNldE1hcD15dC5wcm90b3R5cGUuc2V0TWFwO3l0LnByb3RvdHlwZS5nZXRNYXA9eXQucHJvdG90eXBlLmdldE1hcDt5dC5wcm90b3R5cGUuY29uc3RydWN0b3I9eXQucHJvdG90eXBlLmNvbnN0cnVjdG9yO18uV24oeXQucHJvdG90eXBlLHttYXA6Xy5oc30pO18uY2phPXtORUFSRVNUOiJuZWFyZXN0IixCRVNUOiJiZXN0In07Xy56dD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9bnVsbH1nZXRQYW5vcmFtYShhLGIpe3JldHVybiBfLndxKHRoaXMsYSxiKX1nZXRQYW5vcmFtYUJ5TG9jYXRpb24oYSxiLGMpe3JldHVybiB0aGlzLmdldFBhbm9yYW1hKHtsb2NhdGlvbjphLHJhZGl1czpiLHByZWZlcmVuY2U6KGJ8fDApPDUwPyJiZXN0IjoibmVhcmVzdCJ9LGMpfWdldFBhbm9yYW1hQnlJZChhLGIpe3JldHVybiB0aGlzLmdldFBhbm9yYW1hKHtwYW5vOmF9LGIpfX07Xy56dC5wcm90b3R5cGUuZ2V0UGFub3JhbWE9Xy56dC5wcm90b3R5cGUuZ2V0UGFub3JhbWE7Xy5BdD17REVGQVVMVDoiZGVmYXVsdCIsT1VURE9PUjoib3V0ZG9vciIsR09PR0xFOiJnb29nbGUifTtfLnFiKHpxLF8ueW4pO3pxLnByb3RvdHlwZS5nZXRUaWxlPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8IWMpcmV0dXJuIG51bGw7dmFyIGQ9Xy53bCgiRElWIik7Yz17cmo6YSx6b29tOmIsRGo6bnVsbH07ZC5fX2dtaW10PWM7Xy5EcCh0aGlzLnFoLGQpO2lmKHRoaXMucmgpe2xldCBlPXRoaXMudGlsZVNpemV8fG5ldyBfLmdvKDI1NiwyNTYpLGY9dGhpcy5zaChhLGIpOyhjLkRqPXRoaXMucmgoe2tpOmEueCxsaTphLnksdWk6Yn0sZSxkLGYsZnVuY3Rpb24oKXtfLnduKGQsImxvYWQiKX0pKS5zZXRPcGFjaXR5KHlxKHRoaXMpKX1yZXR1cm4gZH07enEucHJvdG90eXBlLmdldFRpbGU9enEucHJvdG90eXBlLmdldFRpbGU7enEucHJvdG90eXBlLnJlbGVhc2VUaWxlPWZ1bmN0aW9uKGEpe2EmJnRoaXMucWguY29udGFpbnMoYSkmJih0aGlzLnFoLnJlbW92ZShhKSwoYT1hLl9fZ21pbXQuRGopJiZhLnJlbGVhc2UoKSl9O3pxLnByb3RvdHlwZS5yZWxlYXNlVGlsZT16cS5wcm90b3R5cGUucmVsZWFzZVRpbGU7CnpxLnByb3RvdHlwZS5vcGFjaXR5X2NoYW5nZWQ9ZnVuY3Rpb24oKXt2YXIgYT15cSh0aGlzKTt0aGlzLnFoLmZvckVhY2goYj0+e2IuX19nbWltdC5Eai5zZXRPcGFjaXR5KGEpfSl9O3pxLnByb3RvdHlwZS50cmlnZ2Vyc1RpbGVMb2FkRXZlbnQ9ITA7Xy5Xbih6cS5wcm90b3R5cGUse29wYWNpdHk6Xy5hc30pO18ucWIoXy5BcSxfLnluKTtfLkFxLnByb3RvdHlwZS5nZXRUaWxlPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9O18uQXEucHJvdG90eXBlLnRpbGVTaXplPW5ldyBfLmdvKDI1NiwyNTYpO18uQXEucHJvdG90eXBlLnRyaWdnZXJzVGlsZUxvYWRFdmVudD0hMDtfLnFiKF8uQnEsXy5BcSk7dmFyIEJ0PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5sb2dzPVtdfWxvZygpe31jTigpe3JldHVybiB0aGlzLmxvZ3MubWFwKHRoaXMucWgpLmpvaW4oIlxuIil9cWgoYSl7cmV0dXJuYCR7YS50aW1lc3RhbXB9OiAke2EubWVzc2FnZX1gfX07QnQucHJvdG90eXBlLmdldExvZ3M9QnQucHJvdG90eXBlLmNOO18uZGphPW5ldyBCdDtfLmVqYT17T0s6Ik9LIixDQU5DRUxMRUQ6IkNBTkNFTExFRCIsVU5LTk9XTjoiVU5LTk9XTiIsSU5WQUxJRF9BUkdVTUVOVDoiSU5WQUxJRF9BUkdVTUVOVCIsREVBRExJTkVfRVhDRUVERUQ6IkRFQURMSU5FX0VYQ0VFREVEIixOT1RfRk9VTkQ6Ik5PVF9GT1VORCIsQUxSRUFEWV9FWElTVFM6IkFMUkVBRFlfRVhJU1RTIixQRVJNSVNTSU9OX0RFTklFRDoiUEVSTUlTU0lPTl9ERU5JRUQiLFVOQVVUSEVOVElDQVRFRDoiVU5BVVRIRU5USUNBVEVEIixSRVNPVVJDRV9FWEhBVVNURUQ6IlJFU09VUkNFX0VYSEFVU1RFRCIsRkFJTEVEX1BSRUNPTkRJVElPTjoiRkFJTEVEX1BSRUNPTkRJVElPTiIsQUJPUlRFRDoiQUJPUlRFRCIsT1VUX09GX1JBTkdFOiJPVVRfT0ZfUkFOR0UiLFVOSU1QTEVNRU5URUQ6IlVOSU1QTEVNRU5URUQiLElOVEVSTkFMOiJJTlRFUk5BTCIsVU5BVkFJTEFCTEU6IlVOQVZBSUxBQkxFIixEQVRBX0xPU1M6IkRBVEFfTE9TUyJ9O18ucWIoQ3EsXy55bik7Xy5XbihDcS5wcm90b3R5cGUse2F0dHJpYnV0aW9uOigpPT4hMCxwbGFjZTooKT0+ITB9KTt2YXIgaWZhPXtDb2xvclNjaGVtZTp7TElHSFQ6IkxJR0hUIixEQVJLOiJEQVJLIixGT0xMT1dfU1lTVEVNOiJGT0xMT1dfU1lTVEVNIn0sQ29udHJvbFBvc2l0aW9uOl8ucHEsTGF0TG5nOl8uVG0sTGF0TG5nQm91bmRzOl8uUm4sTVZDQXJyYXk6Xy5FbyxNVkNPYmplY3Q6Xy55bixNYXBzUmVxdWVzdEVycm9yOl8uaXIsTWFwc05ldHdvcmtFcnJvcjpncixNYXBzTmV0d29ya0Vycm9yRW5kcG9pbnQ6e1BMQUNFU19ORUFSQllfU0VBUkNIOiJQTEFDRVNfTkVBUkJZX1NFQVJDSCIsUExBQ0VTX0xPQ0FMX0NPTlRFWFRfU0VBUkNIOiJQTEFDRVNfTE9DQUxfQ09OVEVYVF9TRUFSQ0giLE1BUFNfTUFYX1pPT006Ik1BUFNfTUFYX1pPT00iLERJU1RBTkNFX01BVFJJWDoiRElTVEFOQ0VfTUFUUklYIixFTEVWQVRJT05fTE9DQVRJT05TOiJFTEVWQVRJT05fTE9DQVRJT05TIixFTEVWQVRJT05fQUxPTkdfUEFUSDoiRUxFVkFUSU9OX0FMT05HX1BBVEgiLEdFT0NPREVSX0dFT0NPREU6IkdFT0NPREVSX0dFT0NPREUiLApESVJFQ1RJT05TX1JPVVRFOiJESVJFQ1RJT05TX1JPVVRFIixQTEFDRVNfR0FURVdBWToiUExBQ0VTX0dBVEVXQVkiLFBMQUNFU19ERVRBSUxTOiJQTEFDRVNfREVUQUlMUyIsUExBQ0VTX0ZJTkRfUExBQ0VfRlJPTV9QSE9ORV9OVU1CRVI6IlBMQUNFU19GSU5EX1BMQUNFX0ZST01fUEhPTkVfTlVNQkVSIixQTEFDRVNfRklORF9QTEFDRV9GUk9NX1FVRVJZOiJQTEFDRVNfRklORF9QTEFDRV9GUk9NX1FVRVJZIixQTEFDRVNfR0VUX1BMQUNFOiJQTEFDRVNfR0VUX1BMQUNFIixQTEFDRVNfR0VUX1BIT1RPX01FRElBOiJQTEFDRVNfR0VUX1BIT1RPX01FRElBIixQTEFDRVNfU0VBUkNIX1RFWFQ6IlBMQUNFU19TRUFSQ0hfVEVYVCIsU1RSRUVUVklFV19HRVRfUEFOT1JBTUE6IlNUUkVFVFZJRVdfR0VUX1BBTk9SQU1BIixQTEFDRVNfQVVUT0NPTVBMRVRFOiJQTEFDRVNfQVVUT0NPTVBMRVRFIixGTEVFVF9FTkdJTkVfTElTVF9ERUxJVkVSWV9WRUhJQ0xFUzoiRkxFRVRfRU5HSU5FX0xJU1RfREVMSVZFUllfVkVISUNMRVMiLApGTEVFVF9FTkdJTkVfTElTVF9UQVNLUzoiRkxFRVRfRU5HSU5FX0xJU1RfVEFTS1MiLEZMRUVUX0VOR0lORV9MSVNUX1ZFSElDTEVTOiJGTEVFVF9FTkdJTkVfTElTVF9WRUhJQ0xFUyIsRkxFRVRfRU5HSU5FX0dFVF9ERUxJVkVSWV9WRUhJQ0xFOiJGTEVFVF9FTkdJTkVfR0VUX0RFTElWRVJZX1ZFSElDTEUiLEZMRUVUX0VOR0lORV9HRVRfVFJJUDoiRkxFRVRfRU5HSU5FX0dFVF9UUklQIixGTEVFVF9FTkdJTkVfR0VUX1ZFSElDTEU6IkZMRUVUX0VOR0lORV9HRVRfVkVISUNMRSIsRkxFRVRfRU5HSU5FX1NFQVJDSF9UQVNLUzoiRkxFRVRfRU5HSU5FX1NFQVJDSF9UQVNLUyIsZFI6IkZMRUVUX0VOR0lORV9HRVRfVEFTS19UUkFDS0lOR19JTkZPIixUSU1FX1pPTkU6IlRJTUVfWk9ORSIsUk9VVEVTX0NPTVBVVEVfUk9VVEVfTUFUUklYOiJST1VURVNfQ09NUFVURV9ST1VURV9NQVRSSVgiLFJPVVRFU19DT01QVVRFX1JPVVRFUzoiUk9VVEVTX0NPTVBVVEVfUk9VVEVTIixBRERSRVNTX1ZBTElEQVRJT05fRkVUQ0hfQUREUkVTU19WQUxJREFUSU9OOiJBRERSRVNTX1ZBTElEQVRJT05fRkVUQ0hfQUREUkVTU19WQUxJREFUSU9OIiwKV0VBVEhFUl9DVVJSRU5UX0NPTkRJVElPTlM6IldFQVRIRVJfQ1VSUkVOVF9DT05ESVRJT05TIixXRUFUSEVSX0hJU1RPUllfSE9VUlM6IldFQVRIRVJfSElTVE9SWV9IT1VSUyIsV0VBVEhFUl9GT1JFQ0FTVF9EQVlTOiJXRUFUSEVSX0ZPUkVDQVNUX0RBWVMiLFdFQVRIRVJfRk9SRUNBU1RfSE9VUlM6IldFQVRIRVJfRk9SRUNBU1RfSE9VUlMiLFBMQUNFU19SRVZJRVdTX1NFQVJDSDoiUExBQ0VTX1JFVklFV1NfU0VBUkNIIixQTEFDRVNfTUVESUFfU0VBUkNIOiJQTEFDRVNfTUVESUFfU0VBUkNIIn0sTWFwc1NlcnZlckVycm9yOl8uanIsUG9pbnQ6Xy5ibyxSUENTdGF0dXM6Xy5lamEsU2l6ZTpfLmdvLFVuaXRTeXN0ZW06Xy5FcSxTZXR0aW5nczpTbSxTeW1ib2xQYXRoOkZoYSxMYXRMbmdBbHRpdHVkZTpfLlFvLE9yaWVudGF0aW9uM0Q6Xy5wcyxWZWN0b3IzRDpfLnFzLGV2ZW50Ol8uZnN9LGpmYT17QmljeWNsaW5nTGF5ZXI6Xy5BcyxDaXJjbGU6Xy5TbyxEYXRhOlluLEdyb3VuZE92ZXJsYXk6Xy56cywKSW1hZ2VNYXBUeXBlOnpxLEttbExheWVyOnNvLEttbExheWVyU3RhdHVzOntVTktOT1dOOiJVTktOT1dOIixPSzoiT0siLElOVkFMSURfUkVRVUVTVDoiSU5WQUxJRF9SRVFVRVNUIixET0NVTUVOVF9OT1RfRk9VTkQ6IkRPQ1VNRU5UX05PVF9GT1VORCIsRkVUQ0hfRVJST1I6IkZFVENIX0VSUk9SIixJTlZBTElEX0RPQ1VNRU5UOiJJTlZBTElEX0RPQ1VNRU5UIixET0NVTUVOVF9UT09fTEFSR0U6IkRPQ1VNRU5UX1RPT19MQVJHRSIsTElNSVRTX0VYQ0VFREVEOiJMSU1JVFNfRVhDRUVERUQiLFRJTUVEX09VVDoiVElNRURfT1VUIn0sTWFwOl8ucnEsTWFwRWxlbWVudDpmcixab29tQ2hhbmdlRXZlbnQ6JGlhLE1hcFR5cGVDb250cm9sU3R5bGU6e0RFRkFVTFQ6MCxIT1JJWk9OVEFMX0JBUjoxLERST1BET1dOX01FTlU6MixJTlNFVDozLElOU0VUX0xBUkdFOjR9LE1hcFR5cGVJZDpfLlVyLE1hcFR5cGVSZWdpc3RyeTpvcSxNYXhab29tU2VydmljZTpydCxNYXhab29tU3RhdHVzOntPSzoiT0siLApFUlJPUjoiRVJST1IifSxPdmVybGF5VmlldzpfLnR0LFBvbHlnb246Xy52dCxQb2x5bGluZTpfLnd0LFJlY3RhbmdsZTpfLnh0LFJlbmRlcmluZ1R5cGU6b3QsU3Ryb2tlUG9zaXRpb246e0NFTlRFUjowLElOU0lERToxLE9VVFNJREU6MiwwOiJDRU5URVIiLDE6IklOU0lERSIsMjoiT1VUU0lERSJ9LFN0eWxlZE1hcFR5cGU6Xy5CcSxUcmFmZmljTGF5ZXI6QnMsVHJhbnNpdExheWVyOkNzLEZlYXR1cmVUeXBlOndpYSxJbmZvV2luZG93Ol8ueXMsV2ViR0xPdmVybGF5VmlldzpfLnFwfSxrZmE9e0RpcmVjdGlvbnNSZW5kZXJlcjpfLmFvLERpcmVjdGlvbnNTZXJ2aWNlOl8uaXMsRGlyZWN0aW9uc1N0YXR1czpfLndoYSxEaXN0YW5jZU1hdHJpeFNlcnZpY2U6Xy5tcyxEaXN0YW5jZU1hdHJpeFN0YXR1czpfLnpoYSxEaXN0YW5jZU1hdHJpeEVsZW1lbnRTdGF0dXM6Xy55aGEsVHJhZmZpY01vZGVsOl8uanMsVHJhbnNpdE1vZGU6Xy5rcyxUcmFuc2l0Um91dGVQcmVmZXJlbmNlOl8ubHMsClRyYXZlbE1vZGU6Xy5EcSxWZWhpY2xlVHlwZTpfLnhoYX0sbGZhPXtFbGV2YXRpb25TZXJ2aWNlOl8ubnMsRWxldmF0aW9uU3RhdHVzOl8uQWhhfSxtZmE9e0dlb2NvZGVyOm9zLEdlb2NvZGVyTG9jYXRpb25UeXBlOl8uQmhhLEV4dHJhR2VvY29kZUNvbXB1dGF0aW9uOnZvaWQgMCxDb250YWlubWVudDp2b2lkIDAsU3BhdGlhbFJlbGF0aW9uc2hpcDp2b2lkIDAsR2VvY29kZXJTdGF0dXM6e09LOiJPSyIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsT1ZFUl9RVUVSWV9MSU1JVDoiT1ZFUl9RVUVSWV9MSU1JVCIsUkVRVUVTVF9ERU5JRUQ6IlJFUVVFU1RfREVOSUVEIixJTlZBTElEX1JFUVVFU1Q6IklOVkFMSURfUkVRVUVTVCIsWkVST19SRVNVTFRTOiJaRVJPX1JFU1VMVFMiLEVSUk9SOiJFUlJPUiJ9fSxuZmE9e1N0cmVldFZpZXdDb3ZlcmFnZUxheWVyOnl0LFN0cmVldFZpZXdQYW5vcmFtYTpfLm10LFN0cmVldFZpZXdQcmVmZXJlbmNlOl8uY2phLFN0cmVldFZpZXdTZXJ2aWNlOl8uenQsClN0cmVldFZpZXdTdGF0dXM6e09LOiJPSyIsVU5LTk9XTl9FUlJPUjoiVU5LTk9XTl9FUlJPUiIsWkVST19SRVNVTFRTOiJaRVJPX1JFU1VMVFMifSxTdHJlZXRWaWV3U291cmNlOl8uQXQsSW5mb1dpbmRvdzpfLnlzLE92ZXJsYXlWaWV3Ol8udHR9LG9mYT17QW5pbWF0aW9uOl8uYmphLE1hcmtlcjpfLnhzLENvbGxpc2lvbkJlaGF2aW9yOl8ucnN9LHFmYT1uZXcgU2V0KCJhZGRyZXNzVmFsaWRhdGlvbiBhaXJRdWFsaXR5IGRyYXdpbmcgZWxldmF0aW9uIGdlb21ldHJ5IGpvdXJuZXlTaGFyaW5nIG1hcHMzZCBtYXJrZXIgcGxhY2VzIHJvdXRlcyB2aXN1YWxpemF0aW9uIHdlYXRoZXIiLnNwbGl0KCIgIikpLHJmYT1uZXcgU2V0KFsic2VhcmNoIl0pO18uSWwoIm1haW4iLHt9KTt2YXIgZmphO18uQ3Q9Y2xhc3MgZXh0ZW5kcyBfLmV0e2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTt0aGlzLmlzQ29ubmVjdGVkJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IGZqYSgoYSxiKT0+e3RoaXMucmgoYSxiKX0pKX19O2ZqYT1jbGFzcyBleHRlbmRzIEV2ZW50e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCJnbXAtaW50ZXJuYWwtY29ubmVjdCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTt0aGlzLnFoPWF9fTtfLmpwPWNsYXNzIGV4dGVuZHMgRXZlbnR7Y29uc3RydWN0b3IoKXtzdXBlcigiZ21wLWVycm9yIil9fTtfLndmYT1jbGFzcyBleHRlbmRzIEV2ZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoImdtcC1sb2FkIil9fTt2YXIgRHQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e3RpKCl7cmV0dXJuKDAsXy5XcSlgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+JHt0aGlzLm1lc3NhZ2V9PC9kaXY+CiAgICAgICR7dGhpcy5xaD09PXZvaWQgMD8iIjooMCxfLldxKWA8ZGl2IGNsYXNzPSJzdWItbWVzc2FnZSI+JHt0aGlzLnFofTwvZGl2PmB9CiAgICA8L2Rpdj5gfX07RHQuc3R5bGVzPVtfLiRzKFsiOmhvc3QoOm5vdChbaGlkZGVuXSkpe2Rpc3BsYXk6YmxvY2t9LmNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDtoZWlnaHQ6MTAwJTstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1lc3NhZ2V7Y29sb3I6IzVlNWU1ZTtmb250LXNpemU6Ljg3NXJlbX0ubWVzc2FnZSwuc3ViLW1lc3NhZ2V7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwfS5zdWItbWVzc2FnZXtjb2xvcjojOTk5O2ZvbnQtc2l6ZTouNzVyZW19Il0pXTtfLnhvKCJnbXAtaW50ZXJuYWwtbG9hZGluZy10ZXh0IixjbGFzcyBleHRlbmRzIER0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLm1lc3NhZ2U9IkxvYWRpbmcuLi4ifX0pO18uRXQ9Y2xhc3MgZXh0ZW5kcyBEdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5tZXNzYWdlPSJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4iO3RoaXMucWg9IlBsZWFzZSBzZWUgdGhlIGRldmVsb3BlciBjb25zb2xlIGZvciB0ZWNobmljYWwgZGV0YWlscy4ifX07Xy54bygiZ21wLWludGVybmFsLXJlcXVlc3QtZXJyb3ItdGV4dCIsXy5FdCk7Xy5namE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5ob3N0PWE7dGhpcy5vcHRpb25zPXt9O3RoaXMucWg9Xy5tYShQcm9taXNlLCJ3aXRoUmVzb2x2ZXJzIikuY2FsbChQcm9taXNlKX1pc1Zpc2libGUoYSl7dmFyIHtpbmxpbmVTaXplOmIsYmxvY2tTaXplOmN9PWEuY29udGVudEJveFNpemVbMF07cmV0dXJuIGI+PSh0aGlzLm9wdGlvbnMueFQ/PzEpJiZjPj0odGhpcy5vcHRpb25zLndUPz8xKX19O3ZhciBHcT1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLm5hbWU9IkFzeW5jUnVuUHJlZW1wdGVkRXJyb3IifX0saGphPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5xaD0wfX07Xy5GdD1jbGFzcyBleHRlbmRzIF8uZXR7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSk7dGhpcy50az0wO3RoaXMuWkQ9ITE7dGhpcy5iSD1uZXcgaGphO3RoaXMuelE9bmV3IF8uZ2phKHRoaXMpfWx6KGEpe3JldHVybiBhfXRpKCl7c3dpdGNoKHRoaXMudGspe2Nhc2UgMTp2YXIgYT10aGlzLm96KCk7YnJlYWs7Y2FzZSAzOmE9dGhpcy5teigpO2JyZWFrO2Nhc2UgMjphPXRoaXMueXcoKTticmVhaztkZWZhdWx0OmE9dGhpcy56dCgpfXJldHVybiB0aGlzLmx6KGEpfW96KCl7cmV0dXJuKDAsXy5XcSlgIDxnbXAtaW50ZXJuYWwtbG9hZGluZy10ZXh0PjwvZ21wLWludGVybmFsLWxvYWRpbmctdGV4dD4gYH1teigpe3JldHVybigwLF8uV3EpYAogICAgICA8Z21wLWludGVybmFsLXJlcXVlc3QtZXJyb3ItdGV4dD48L2dtcC1pbnRlcm5hbC1yZXF1ZXN0LWVycm9yLXRleHQ+CiAgICBgfXp0KCl7cmV0dXJuKDAsXy5XcSlgYH19O18uRChbXy52cSgpLF8uRigiZGVzaWduOnR5cGUiLE51bWJlcildLF8uRnQucHJvdG90eXBlLCJ0ayIsdm9pZCAwKTt2YXIgaWphO2lqYT1jbGFzcyBleHRlbmRzIFlpYXt9O18uR3Q9Y2xhc3MgZXh0ZW5kcyBpamF7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoKTt0aGlzLmVsZW1lbnQ9UW0oIlZpZXciLCJlbGVtZW50IiwoKT0+Xy5NbShfLkttKFtfLkVtKEhUTUxFbGVtZW50LCJIVE1MRWxlbWVudCIpLF8uRW0oU1ZHRWxlbWVudCwiU1ZHRWxlbWVudCIpXSkpKGEuZWxlbWVudCl8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTt0aGlzLnhpKGEsXy5HdCwiVmlldyIpfX07Xy5qamE9Xy5DbSh7Y2VudGVyOmE9Pl8uWG0oYSkscmFkaXVzOl8uT219LCEwKTtfLkh0PV8uQ20oe2xhdDpfLlhyLGxuZzpfLlhyLGFsdGl0dWRlOl8uTW0oXy5Ycil9LCEwKTtfLmtqYT1fLkNtKHtsYXQ6Xy5Ycixsbmc6Xy5YcixhbHRpdHVkZTpfLk1tKF8uWHIpfSwhMCk7Xy5KcT1fLkttKFtfLkVtKF8uUW8sIkxhdExuZ0FsdGl0dWRlIiksXy5FbShfLlRtLCJMYXRMbmciKSxfLmtqYV0pO3ZhciBsamE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD1hfHwwfWhlYWRpbmcoKXtyZXR1cm4gdGhpcy5xaH10aWx0KCl7cmV0dXJuIDQ1fXRvU3RyaW5nKCl7cmV0dXJuYCR7dGhpcy5xaH0sNDVgfX07dmFyIG1qYTttamE9TWF0aC5zcXJ0KDIpO18uTHE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy53Rj0hMDt0aGlzLnJoPW5ldyBfLnB0O3RoaXMucWg9bmV3IGxqYShhJTM2MCk7dGhpcy5zaD1uZXcgXy5ibygwLDApfWZyb21MYXRMbmdUb1BvaW50KGEsYil7YT1fLlhtKGEpO2I9dGhpcy5yaC5mcm9tTGF0TG5nVG9Qb2ludChhLGIpO3hmYShiLHRoaXMucWguaGVhZGluZygpKTtiLnk9KGIueS0xMjgpL21qYSsxMjg7cmV0dXJuIGJ9ZnJvbVBvaW50VG9MYXRMbmcoYSxiPSExKXt2YXIgYz10aGlzLnNoO2MueD1hLng7Yy55PShhLnktMTI4KSptamErMTI4O3hmYShjLDM2MC10aGlzLnFoLmhlYWRpbmcoKSk7cmV0dXJuIHRoaXMucmguZnJvbVBvaW50VG9MYXRMbmcoYyxiKX1nZXRQb3YoKXtyZXR1cm4gdGhpcy5xaH19O3ZhciB5ZmE9bmV3IF8ucHQ7dmFyIEl0PV8uVWEuZ29vZ2xlLm1hcHMsbmphPUdsLmdldEluc3RhbmNlKCksb2phPW5qYS5sbi5iaW5kKG5qYSk7SXQuX19nanNsb2FkX189b2phO18uYW0oSXQubW9kdWxlcyxvamEpO2RlbGV0ZSBJdC5tb2R1bGVzO3ZhciBGZmE9Y2xhc3MgZXh0ZW5kcyBfLkl7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0TmFtZSgpe3JldHVybiBfLkgodGhpcywxKX19O3ZhciBFZmE9Xy5haihjbGFzcyBleHRlbmRzIF8uSXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19KTt2YXIgRGZhO3ZhciB6ZmE9e307Zm9yKGxldCBhIG9mIEdmYSgpKXt2YXIgcGphPWEuZ2V0TmFtZSgpLHFqYTtxamE9Xy5VZyhhLDIsXy5jZygpKTt6ZmFbcGphXT1xamF9O3ZhciBQcT1uZXcgTWFwO1BxLnNldCgiYWRkcmVzc1ZhbGlkYXRpb24iLHtmajoyMzMwNDgsZ2o6MjMzMDQ5LGlqOjIzMzA0N30pO1BxLnNldCgiYWlyUXVhbGl0eSIse2ZqOjIzMzA1MSxnajoyMzMwNTIsaWo6MjMzMDUwfSk7UHEuc2V0KCJhZHNlbnNlIix7Zmo6MjMzMDU0LGdqOjIzMzA1NSxpajoyMzMwNTN9KTtQcS5zZXQoImNvbW1vbiIse2ZqOjIzMzA1NyxnajoyMzMwNTgsaWo6MjMzMDU2fSk7UHEuc2V0KCJjb250cm9scyIse2ZqOjIzMzA2MCxnajoyMzMwNjEsaWo6MjMzMDU5fSk7UHEuc2V0KCJkYXRhIix7Zmo6MjMzMDYzLGdqOjIzMzA2NCxpajoyMzMwNjJ9KTtQcS5zZXQoImRpcmVjdGlvbnMiLHtmajoyMzMwNjYsZ2o6MjMzMDY3LGlqOjIzMzA2NX0pO1BxLnNldCgiZGlzdGFuY2VfbWF0cml4Iix7Zmo6MjMzMDY5LGdqOjIzMzA3MCxpajoyMzMwNjh9KTtQcS5zZXQoImRyYXdpbmciLHtmajoyMzMwNzIsZ2o6MjMzMDczLGlqOjIzMzA3MX0pOwpQcS5zZXQoImRyYXdpbmdfaW1wbCIse2ZqOjIzMzA3NSxnajoyMzMwNzYsaWo6MjMzMDc0fSk7UHEuc2V0KCJlbGV2YXRpb24iLHtmajoyMzMwNzgsZ2o6MjMzMDc5LGlqOjIzMzA3N30pO1BxLnNldCgiZ2VvY29kZXIiLHtmajoyMzMwODEsZ2o6MjMzMDgyLGlqOjIzMzA4MH0pO1BxLnNldCgiZ2VvbWV0cnkiLHtmajoyMzMwODQsZ2o6MjMzMDg1LGlqOjIzMzA4M30pO1BxLnNldCgiaW1hZ2VyeV92aWV3ZXIiLHtmajoyMzMwODcsZ2o6MjMzMDg4LGlqOjIzMzA4Nn0pO1BxLnNldCgiaW5mb3dpbmRvdyIse2ZqOjIzMzA5MCxnajoyMzMwOTEsaWo6MjMzMDg5fSk7UHEuc2V0KCJqb3VybmV5U2hhcmluZyIse2ZqOjIzMzA5MyxnajoyMzMwOTQsaWo6MjMzMDkyfSk7UHEuc2V0KCJrbWwiLHtmajoyMzMwOTYsZ2o6MjMzMDk3LGlqOjIzMzA5NX0pO1BxLnNldCgibGF5ZXJzIix7Zmo6MjMzMDk5LGdqOjIzMzEwMCxpajoyMzMwOTh9KTsKUHEuc2V0KCJsb2ciLHtmajoyMzMxMDUsZ2o6MjMzMTA2LGlqOjIzMzEwNH0pO1BxLnNldCgibWFpbiIse2ZqOjIzMzEwOCxnajoyMzMxMDksaWo6MjMzMTA3fSk7UHEuc2V0KCJtYXAiLHtmajoyMzMxMTEsZ2o6MjMzMTEyLGlqOjIzMzExMH0pO1BxLnNldCgibWFwM2RfbGl0ZV93YXNtIix7Zmo6MjMzMTE0LGdqOjIzMzExNSxpajoyMzMxMTN9KTtQcS5zZXQoIm1hcDNkX3dhc20iLHtmajoyMzMxMTcsZ2o6MjMzMTE4LGlqOjIzMzExNn0pO1BxLnNldCgibWFwM2Rfd2FzbV9nZW94cCIse2ZqOjMzMTU1NyxnajozMzE1NTgsaWo6MzMxNTU5fSk7UHEuc2V0KCJtYXBzM2QiLHtmajoyMzMxMjAsZ2o6MjMzMTIxLGlqOjIzMzExOX0pO1BxLnNldCgibWFya2VyIix7Zmo6MjMzMTIzLGdqOjIzMzEyNCxpajoyMzMxMjJ9KTtQcS5zZXQoIm1heHpvb20iLHtmajoyMzMxMjYsZ2o6MjMzMTI3LGlqOjIzMzEyNX0pO1BxLnNldCgib25pb24iLHtmajoyMzMxMjksZ2o6MjMzMTMwLGlqOjIzMzEyOH0pOwpQcS5zZXQoIm92ZXJsYXkiLHtmajoyMzMxMzIsZ2o6MjMzMTMzLGlqOjIzMzEzMX0pO1BxLnNldCgicGFub3JhbWlvIix7Zmo6MjMzMTM1LGdqOjIzMzEzNixpajoyMzMxMzR9KTtQcS5zZXQoInBsYWNlcyIse2ZqOjIzMzEzOCxnajoyMzMxMzksaWo6MjMzMTM3fSk7UHEuc2V0KCJwbGFjZXNfaW1wbCIse2ZqOjIzMzE0MSxnajoyMzMxNDIsaWo6MjMzMTQwfSk7UHEuc2V0KCJwb2x5Iix7Zmo6MjMzMTQ0LGdqOjIzMzE0NSxpajoyMzMxNDN9KTtQcS5zZXQoInJvdXRlcyIse2ZqOjI1NjgzOSxnajoyNTY4NDAsaWo6MjU2ODQxfSk7UHEuc2V0KCJzZWFyY2giLHtmajoyMzMxNDcsZ2o6MjMzMTQ4LGlqOjIzMzE0Nn0pO1BxLnNldCgic2VhcmNoX2ltcGwiLHtmajoyMzMxNTAsZ2o6MjMzMTUxLGlqOjIzMzE0OX0pO1BxLnNldCgic3RyZWV0dmlldyIse2ZqOjIzMzE1NixnajoyMzMxNTcsaWo6MjMzMTU1fSk7UHEuc2V0KCJzdHlsZUVkaXRvciIse2ZqOjIzMzE1OSxnajoyMzMxNjAsaWo6MjMzMTU4fSk7ClBxLnNldCgidXRpbCIse2ZqOjIzMzE2MixnajoyMzMxNjMsaWo6MjMzMTYxfSk7UHEuc2V0KCJ2aXN1YWxpemF0aW9uIix7Zmo6MjMzMTY1LGdqOjIzMzE2NixpajoyMzMxNjR9KTtQcS5zZXQoInZpc3VhbGl6YXRpb25faW1wbCIse2ZqOjIzMzE2OCxnajoyMzMxNjksaWo6MjMzMTY3fSk7UHEuc2V0KCJ3ZWF0aGVyIix7Zmo6MjMzMTcxLGdqOjIzMzE3MixpajoyMzMxNzB9KTtQcS5zZXQoIndlYmdsIix7Zmo6MjMzMTc0LGdqOjIzMzE3NSxpajoyMzMxNzN9KTtfLkp0PWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50b2tlbj1gJHtfLktuKCkucmVwbGFjZSgvLS9nLCIiKX0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMTQ3NDgzNjQ4KS50b1N0cmluZygzNikrTWF0aC5hYnMoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIxNDc0ODM2NDgpXl8ubWIoKSkudG9TdHJpbmcoMzYpfWAuc3Vic3RyaW5nKDAsMzYpfX07Xy5KdC5wcm90b3R5cGUucWg9Xy5oYSgzNSk7Xy5KdC5wcm90b3R5cGUuY29uc3RydWN0b3I9Xy5KdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Xy5LdD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuV2k9dGhpcy5EaD0iIn1nZXQgaWQoKXtyZXR1cm4gdGhpcy5EaH1nZXQgcmVzb3VyY2VOYW1lKCl7cmV0dXJuIHRoaXMuV2l9fTtfLkx0PWNsYXNze2NvbnN0cnVjdG9yKGEsYj17fSl7dGhpcy5vcHRpb25zPWI7dGhpcy5xaD17Y3VycmVuY3lDb2RlOl8uSChhLDEpLHVuaXRzOl8uJGFhKF8uTmcoYSwyKSksbmFub3M6Xy5LZyhhLDMpfX1nZXQgY3VycmVuY3lDb2RlKCl7cmV0dXJuIHRoaXMucWguY3VycmVuY3lDb2RlfWdldCB1bml0cygpe3JldHVybiB0aGlzLnFoLnVuaXRzfWdldCBuYW5vcygpe3JldHVybiB0aGlzLnFoLm5hbm9zfXRvU3RyaW5nKCl7cmV0dXJuKG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLm9wdGlvbnMubGFuZ3VhZ2U/bmV3IEludGwuTG9jYWxlKHRoaXMub3B0aW9ucy5sYW5ndWFnZSx7cmVnaW9uOnRoaXMub3B0aW9ucy5yZWdpb24/P3ZvaWQgMH0pOnZvaWQgMCx7c3R5bGU6ImN1cnJlbmN5IixjdXJyZW5jeTp0aGlzLmN1cnJlbmN5Q29kZX0pKS5mb3JtYXQodGhpcy51bml0cyt0aGlzLm5hbm9zLzFFOSl9dG9KU09OKCl7cmV0dXJue2N1cnJlbmN5Q29kZTp0aGlzLmN1cnJlbmN5Q29kZSwKdW5pdHM6dGhpcy51bml0cyxuYW5vczp0aGlzLm5hbm9zfX19O18uTHQucHJvdG90eXBlLnRvU3RyaW5nPV8uTHQucHJvdG90eXBlLnRvU3RyaW5nO18uTXQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5xaD17Y29tcG91bmRDb2RlOmEuSUgoKXx8bnVsbCxnbG9iYWxDb2RlOmEuTUgoKXx8bnVsbH19Z2V0IGNvbXBvdW5kQ29kZSgpe3JldHVybiB0aGlzLnFoLmNvbXBvdW5kQ29kZX1nZXQgZ2xvYmFsQ29kZSgpe3JldHVybiB0aGlzLnFoLmdsb2JhbENvZGV9dG9KU09OKCl7cmV0dXJue2NvbXBvdW5kQ29kZTp0aGlzLmNvbXBvdW5kQ29kZSxnbG9iYWxDb2RlOnRoaXMuZ2xvYmFsQ29kZX19fTtfLk50PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucWg9W107dGhpcy5yaD1bXTt0aGlzLnloPV8uSChhLDIpPz8iIjt0aGlzLnRoPV8uSChhLDMpfHxudWxsO3RoaXMuemg9Xy5IKGEsNCl8fG51bGw7dGhpcy5BaD1fLkgoYSw1KXx8bnVsbDt0aGlzLnNoPV8uSChhLDYpfHxudWxsO3RoaXMud2g9Xy5IKGEsNyl8fG51bGw7dGhpcy5CaD1fLkgoYSw4KXx8bnVsbDt0aGlzLnhoPV8uSChhLDExKXx8bnVsbDt0aGlzLnFoPV8uVWcoYSw5LF8uY2coKSkuc2xpY2UoKTt0aGlzLnJoPV8uVWcoYSwxMCxfLmNnKCkpLnNsaWNlKCl9Z2V0IHJlZ2lvbkNvZGUoKXtyZXR1cm4gdGhpcy55aH1nZXQgbGFuZ3VhZ2VDb2RlKCl7cmV0dXJuIHRoaXMudGh9Z2V0IHBvc3RhbENvZGUoKXtyZXR1cm4gdGhpcy56aH1nZXQgc29ydGluZ0NvZGUoKXtyZXR1cm4gdGhpcy5BaH1nZXQgYWRtaW5pc3RyYXRpdmVBcmVhKCl7cmV0dXJuIHRoaXMuc2h9Z2V0IGxvY2FsaXR5KCl7cmV0dXJuIHRoaXMud2h9Z2V0IHN1YmxvY2FsaXR5KCl7cmV0dXJuIHRoaXMuQmh9Z2V0IGFkZHJlc3NMaW5lcygpe3JldHVybiB0aGlzLnFofWdldCByZWNpcGllbnRzKCl7cmV0dXJuIHRoaXMucmh9Z2V0IG9yZ2FuaXphdGlvbigpe3JldHVybiB0aGlzLnhofXRvSlNPTigpe3JldHVybntyZWdpb25Db2RlOnRoaXMueWgsCmxhbmd1YWdlQ29kZTp0aGlzLnRoLHBvc3RhbENvZGU6dGhpcy56aCxzb3J0aW5nQ29kZTp0aGlzLkFoLGFkbWluaXN0cmF0aXZlQXJlYTp0aGlzLnNoLGxvY2FsaXR5OnRoaXMud2gsc3VibG9jYWxpdHk6dGhpcy5CaCxhZGRyZXNzTGluZXM6dGhpcy5xaCxyZWNpcGllbnRzOnRoaXMucmgsb3JnYW5pemF0aW9uOnRoaXMueGh9fX07Xy5yamE9Xy5DbSh7cmVnaW9uQ29kZTpfLmNyLGxhbmd1YWdlQ29kZTpfLmJzLHBvc3RhbENvZGU6Xy5icyxzb3J0aW5nQ29kZTpfLmJzLGFkbWluaXN0cmF0aXZlQXJlYTpfLmJzLGxvY2FsaXR5Ol8uYnMsc3VibG9jYWxpdHk6Xy5icyxhZGRyZXNzTGluZXM6Xy5NbShfLkhtKF8uZHMpKSxyZWNpcGllbnRzOkhjYSxvcmdhbml6YXRpb246SGNhfSk7Xy5PdD1jbGFzc3t9O18uT3QuZW5jb2RlUGF0aD1mdW5jdGlvbihhKXthIGluc3RhbmNlb2YgXy5FbyYmKGE9YS5nZXRBcnJheSgpKTthPSgwLF8uZXMpKGEpO3JldHVybiBJZmEoYSxmdW5jdGlvbihiKXtyZXR1cm5bTWF0aC5yb3VuZChiLmxhdCgpKjFFNSksTWF0aC5yb3VuZChiLmxuZygpKjFFNSldfSl9O18uT3QuZGVjb2RlUGF0aD1fLkpmYTt2YXIgdGphLHVqYSxQZmE7Xy5zamE9KCk9PigwLF8uV3EpYDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIj48cGF0aCBkPSJtMzEzLTQ0MCAyMjQgMjI0LTU3IDU2LTMyMC0zMjAgMzIwLTMyMCA1NyA1Ni0yMjQgMjI0aDQ4N3Y4MHoiLz48L3N2Zz5gO3RqYT0oe2NsYXNzTmFtZTphLGZpbGw6Yn0pPT4oMCxfLldxKWA8c3ZnIHdpZHRoPSI4OCIgaGVpZ2h0PSIxNiIgYXJpYS1sYWJlbD0iR29vZ2xlIE1hcHMiIGNsYXNzPSIke2F9IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIwIDAgOTggMTgiPjxwYXRoIGZpbGw9IiR7Yn0iIGQ9Ik03LjA4IDEzLjk2YTcgNyAwIDAxLTQuOTktMi4wNUE2LjcgNi43IDAgMDEwIDYuOThRMCA0LjEgMi4wOSAyLjA1QTcgNyAwIDAxNy4wOCAwYTYuNyA2LjcgMCAwMTQuNzkgMS45MmwtMS4zNSAxLjM1YTQuOCA0LjggMCAwMC0zLjQ0LTEuMzZxLTIuMSAwLTMuNTUgMS40OGE1IDUgMCAwMC0xLjQ1IDMuNTlxMCAyLjEyIDEuNDYgMy41OWE0LjggNC44IDAgMDAzLjU1IDEuNDggNC44IDQuOCAwIDAwMy41My0xLjRxLjg0LS44NCAxLjA0LTIuNEg3LjA4di0xLjloNi40MmE2IDYgMCAwMS4xIDEuMTlxMCAyLjgtMS42NSA0LjQ2YTYuNCA2LjQgMCAwMS00Ljg3IDEuOTZNMjIgMTIuNjhhNC40IDQuNCAwIDAxLTMuMiAxLjI5IDQuNCA0LjQgMCAwMS0zLjItMS4yOSA0LjMgNC4zIDAgMDEtMS4zMS0zLjIxcTAtMS45MiAxLjMxLTMuMjFhNC40IDQuNCAwIDAxMy4yLTEuMjlxMS45IDAgMy4yIDEuMjlhNC4zIDQuMyAwIDAxMS4zMSAzLjIxQTQuMyA0LjMgMCAwMTIyIDEyLjY4bS00Ljk5LTEuMjZxLjc1Ljc4IDEuNzkuNzcgMS4wNCAwIDEuNzktLjc3Ljc1LS43OC43NS0xLjk1IDAtMS4xOS0uNzQtMS45Ni0uNzUtLjc3LTEuOC0uNzd0LTEuOC43N2EyLjcgMi43IDAgMDAtLjc0IDEuOTZxMCAxLjE3Ljc1IDEuOTVtMTQuODQgMS4yNnEtMS4zIDEuMjktMy4yIDEuMjljLTEuOSAwLTIuMzMtLjQzLTMuMi0xLjI5YTQuMyA0LjMgMCAwMS0xLjMxLTMuMjFxMC0xLjkyIDEuMzEtMy4yMSAxLjMtMS4yOSAzLjItMS4yOWMxLjkgMCAyLjMzLjQzIDMuMiAxLjI5YTQuMyA0LjMgMCAwMTEuMzEgMy4yMXEwIDEuOTItMS4zMSAzLjIxbS00Ljk5LTEuMjZxLjc1Ljc4IDEuNzkuNzcgMS4wNCAwIDEuNzktLjc3Ljc1LS43OC43NS0xLjk1IDAtMS4xOS0uNzQtMS45NmMtLjc0LS43Ny0xLjA5LS43Ny0xLjgtLjc3cS0xLjA1IDAtMS44Ljc3YTIuNyAyLjcgMCAwMC0uNzQgMS45NnEwIDEuMTcuNzUgMS45NU0zOC4zMiAxOHEtMS41IDAtMi41Mi0uOGE0LjUgNC41IDAgMDEtMS40Ni0xLjg2bDEuNzItLjcycS4yNy42NS44NSAxLjEyLjU5LjQ4IDEuNDEuNDhhMi4zIDIuMyAwIDAwMS43Ni0uNjhxLjY0LS42OC42NC0xLjk2di0uNjVoLS4wN2EyLjkgMi45IDAgMDEtMi4zNyAxLjAyIDQgNCAwIDAxLTMuMDEtMS4zMSA0LjQgNC40IDAgMDEtMS4yOS0zLjE3IDQuNCA0LjQgMCAwMTEuMjktMy4xOSA0IDQgMCAwMTMuMDEtMS4zMnEuNzYgMCAxLjM5LjI5dC45OC43MmguMDd2LS43MmgxLjg3djguMDdxMCAyLjM1LTEuMiAzLjUyQTQuMiA0LjIgMCAwMTM4LjMyIDE4bS4xMy01LjgxcTEuMDIgMCAxLjcxLS43N2EyLjggMi44IDAgMDAuNjktMS45M3EwLTEuMTctLjY5LTEuOTZhMi4yIDIuMiAwIDAwLTEuNzEtLjc5cS0xLjAzIDAtMS43Ny43OGEyLjggMi44IDAgMDAtLjczIDEuOTZxMCAxLjE2LjczIDEuOTMuNzQuNzggMS43Ny43OE00NS45My40OHYxMy4yMWgtMS45OFYuNDh6bTUuNDEgMTMuNDhhNC40IDQuNCAwIDAxLTQuNDYtNC40OXEwLTEuOTggMS4yMy0zLjI0YTQgNCAwIDAxMy4wMS0xLjI2IDMuOCAzLjggMCAwMTIuNjggMS4wNyA1IDUgMCAwMTEuMTcgMS44bC4yLjUxLTYuMDEgMi40OWEyLjMgMi4zIDAgMDAyLjE4IDEuMzZxMS4zNyAwIDIuMjEtMS4yNGwxLjUzIDEuMDJxLS41Ljc2LTEuNDUgMS4zOC0uOTIuNi0yLjI5LjZtLTIuNS00LjYzIDQuMDItMS42N2ExLjQgMS40IDAgMDAtLjYzLS42OSAyIDIgMCAwMC0xLjA0LS4yNnEtLjg3IDAtMS42My43MmEyLjQgMi40IDAgMDAtLjcyIDEuOW0xMS4yMSA0LjM2VjEuNWgxLjU3bDQuMjQgNy40MmguMDdsNC4yNC03LjQyaDEuNTd2MTIuMTloLTEuNTdWNi40NWwuMDctMi4wNGgtLjA3bC0zLjgxIDYuNjloLS45MmwtMy44MS02LjY5aC0uMDdsLjA3IDIuMDR2Ny4yNHptMTYuMzEuMjdxLTEuMzMgMC0yLjIyLS43N2EyLjUgMi41IDAgMDEtLjg5LTIuMDNxMC0xLjM2IDEuMDYtMi4xNCAxLjA1LS43NyAyLjYxLS43NyAxLjM4IDAgMi4yNi41MXYtLjIzcTAtLjkxLS42My0xLjQ3QTIuMyAyLjMgMCAwMDc3IDYuNTFxLS42OCAwLTEuMjMuMzJhMS42IDEuNiAwIDAwLS43Ny44OGwtMS40My0uNjFxLjI4LS43NSAxLjE0LTEuMzlhMy42IDMuNiAwIDAxMi4yNS0uNjRxMS42IDAgMi42Ni45NCAxLjA1LjkzIDEuMDYgMi42NHY1LjA0aC0xLjV2LTEuMTZoLS4wOGEzIDMgMCAwMS0yLjc0IDEuNDNtLjI1LTEuNDNxLjk3IDAgMS43Ni0uNzIuOC0uNzIuNzktMS43MS0uNjctLjU0LTEuOTktLjU0LTEuMTQgMC0xLjcyLjQ5LS41OC41LS41OCAxLjE2IDAgLjYxLjUzLjk3LjU0LjM1IDEuMjEuMzVtOS45NyAxLjQzcS0uOTYgMC0xLjcxLS40MWEzIDMgMCAwMS0xLjEzLTEuMDJoLS4wN2wuMDcgMS4xNnYzLjY4aC0xLjU3VjUuMzVoMS41djEuMTZoLjA3YTMgMyAwIDAxMS4xMy0xLjAyIDMuNyAzLjcgMCAwMTQuNS44NyA0LjUgNC41IDAgMDExLjE4IDMuMTdxMCAxLjktMS4xOCAzLjE3YTMuNyAzLjcgMCAwMS0yLjc5IDEuMjZtLS4yNi0xLjQzcTEuMSAwIDEuODctLjgzLjc4LS44Mi43OC0yLjE5dC0uNzgtMi4xOWEyLjUgMi41IDAgMDAtMS44Ny0uODNxLTEuMTEgMC0xLjg4LjgyLS43OC44MS0uNzcgMi4yYy4wMSAxLjM5LjI2IDEuNjUuNzcgMi4ycS43OC44MiAxLjg4LjgybTguMzkgMS40M2EzLjggMy44IDAgMDEtMy42NS0yLjM4bDEuNC0uNThxLjY3IDEuNTcgMi4yNiAxLjU3LjczIDAgMS4yLS4zMmExIDEgMCAwMC40Ny0uODVxMC0uODEtMS4xNC0xLjExbC0xLjY5LS40MWE0IDQgMCAwMS0xLjUyLS43NyAxLjkgMS45IDAgMDEtLjcyLTEuNTRxMC0xLjExLjk4LTEuOGE0IDQgMCAwMTIuMzItLjY5cTEuMTEgMCAxLjk4LjV0MS4yNCAxLjQ0bC0xLjM0LjU2cS0uNDYtMS4xMS0xLjkxLTEuMTEtLjcgMC0xLjE4LjI5dC0uNDguNzhxMCAuNzIgMS4xMS45N2wxLjY1LjM5YTMgMyAwIDAxMS43NC45NHEuNTYuNjYuNTYgMS41IDAgMS4xMi0uOTIgMS44Ny0uOS43NS0yLjM2Ljc1Ii8+PC9zdmc+YDsKdWphPSh7Y2xhc3NOYW1lOmEsZmlsbDpiLG91dGxpbmU6Y30pPT4oMCxfLldxKWA8c3ZnIHdpZHRoPSIxMDYiIGhlaWdodD0iMjIiIGFyaWEtbGFiZWw9Ikdvb2dsZSBNYXBzIiBjbGFzcz0iJHthfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDEwNiAyMiI+PGcgZmlsbD0iJHtjfSIgb3BhY2l0eT0iLjkiPjxwYXRoIGQ9Im01OS44NiAxMS40NC0uOTMtMi4zM3EtLjI0LS42LS42MS0xLjIyLS40LS42NC0xLjAxLTEuMjctLjc1LS43NS0xLjgtMS4yLTEuMDktLjQ2LTIuMy0uNDYtMS43NyAwLTMuMi44N1YuNDdoLTZ2NC43N2gtMS45NWE2LjEgNi4xIDAgMDAtNi40MyAxLjk0cS0uMTQtLjE4LS4zMy0uMzVhNi40IDYuNCAwIDAwLTQuNi0xLjg2IDYuNCA2LjQgMCAwMC00LjYxIDEuODZsLS4zMi4zNC0uMzItLjM0YTYuNCA2LjQgMCAwMC00LjYtMS44NnEtMi4zNCAwLTQuMDcgMS4zOEgxNC4zbDIuNDctMi40Ni0xLjQ5LTEuNEE4LjcgOC43IDAgMDA5LjEgMGE5IDkgMCAwMC02LjQgMi42MUE4LjYgOC42IDAgMDAwIDguOTdxMCAzLjczIDIuNyA2LjM3YTkgOSAwIDAwNi40IDIuNjJjMi40NyAwIDQuNy0uODcgNi4zLTIuNTRsLjExLS4xM3EuMzEuNDQuNy44YTYuNCA2LjQgMCAwMDQuNjEgMS44NyA2LjQgNi40IDAgMDA0LjkzLTIuMmwuMzIuMzRhNi40IDYuNCAwIDAwNC42IDEuODZxMS45IDAgMy40MS0uOTJsLjQ1IDEuMDdhNyA3IDAgMDAyLjA5IDIuNjZBNiA2IDAgMDA0MC4zNyAyMmE2LjIgNi4yIDAgMDA0LjQ4LTEuNzMgNS43IDUuNyAwIDAwMS41LTIuNThINTB2LS42N3ExLjUyLjk0IDMuNDIuOTRhNiA2IDAgMDAzLjQtLjk0IDcgNyAwIDAwMi4wMi0xLjk0bDEuMTEtMS42Ni0xLjg3LTEuMjV6TTEwNSAxMC4xbC0uNzQtMS44NGE1IDUgMCAwMC0yLjEtMi40M3EtMS4zNS0uNzYtMi45OS0uNzctMS45NyAwLTMuNDggMS4wNS0uMzUuMjYtLjY2LjU2YTUuNyA1LjcgMCAwMC01LjczLTEuMzRoLTQuNjR2LjZxLTEuNC0uODctMy4yMi0uODdhNiA2IDAgMDAtMy4yMi45VjEuNWgtNC43NGwtMy4xMSA1LjQ1LTMuMTItNS40NWgtNC43M3YxNi4yaDUuNTd2LTIuNmg0LjU2djIuNmg1LjU4di0uMzdxMS4xNi42NCAyLjYyLjY0Ljk2IDAgMS43OS0uMjdoMi4wM3YzLjY4aDUuNTh2LTMuNDZxLjQxLjA2Ljg0LjA2YzEuNSAwIDIuODctLjU3IDMuOTgtMS42NHEuMy4zLjY2LjU2YTUuNyA1LjcgMCAwMDMuNTEgMS4wOCA1LjcgNS43IDAgMDAzLjY0LTEuMiA0LjMgNC4zIDAgMDAuNzMtNi4wOGwxLjM5LS41OCIvPjwvZz48cGF0aCBmaWxsPSIke2J9IiBkPSJNOS4xIDE1Ljk2YTcgNyAwIDAxLTUtMi4wNSA2LjYgNi42IDAgMDEtMi4wOS00Ljk0cTAtMi44OCAyLjEtNC45M0E3IDcgMCAwMTkuMSAyYTYuNiA2LjYgMCAwMTQuOCAxLjkybC0xLjM2IDEuMzVBNSA1IDAgMDA5LjEgMy45UTcgMy45IDUuNTUgNS4zOGE1IDUgMCAwMC0xLjQ2IDMuNnEwIDIuMSAxLjQ2IDMuNTlRNyAxNC4wNSA5LjEgMTQuMDVxMi4xMiAwIDMuNTQtMS40Ljg0LS44NCAxLjA0LTIuNEg5LjExVjguMzJoNi40M2E2IDYgMCAwMS4xIDEuMnEwIDIuOC0xLjY1IDQuNDZhNi40IDYuNCAwIDAxLTQuODggMS45Nm0xNC45NC0xLjI4YTQuNCA0LjQgMCAwMS0zLjIgMS4yOSA0LjQgNC40IDAgMDEtMy4yMS0xLjMgNC4zIDQuMyAwIDAxLTEuMzItMy4ycTAtMS45MyAxLjMyLTMuMjJhNC40IDQuNCAwIDAxMy4yLTEuMjkgNC40IDQuNCAwIDAxMy4yIDEuMyA0LjMgNC4zIDAgMDExLjMyIDMuMnEwIDEuOTMtMS4zMSAzLjIybS01LTEuMjZxLjc1Ljc3IDEuOC43NyAxLjAzIDAgMS43OC0uNzcuNzYtLjc4Ljc2LTEuOTUgMC0xLjE5LS43NS0xLjk3YTIuNCAyLjQgMCAwMC0xLjgtLjc3cS0xLjA1IDAtMS44Ljc3LS43NC43Ny0uNzQgMS45NyAwIDEuMTkuNzUgMS45NW0xNC44NiAxLjI2YTQuNCA0LjQgMCAwMS0zLjIgMS4yOSA0LjQgNC40IDAgMDEtMy4yLTEuMyA0LjMgNC4zIDAgMDEtMS4zMi0zLjJxMC0xLjkzIDEuMzEtMy4yMmE0LjQgNC40IDAgMDEzLjItMS4yOSA0LjQgNC40IDAgMDEzLjIxIDEuMyA0LjMgNC4zIDAgMDExLjMxIDMuMnEwIDEuOTMtMS4zIDMuMjJtLTUtMS4yNnEuNzUuNzcgMS44Ljc3IDEuMDQgMCAxLjc5LS43Ny43NS0uNzguNzUtMS45NSAwLTEuMTktLjc0LTEuOTdhMi40IDIuNCAwIDAwLTEuOC0uNzdxLTEuMDYgMC0xLjguNzctLjc1Ljc3LS43NSAxLjk3IDAgMS4xOS43NSAxLjk1TTQwLjM4IDIwcS0xLjUgMC0yLjUyLS44YTQuNSA0LjUgMCAwMS0xLjQ2LTEuODZsMS43Mi0uNzJxLjI3LjY0Ljg1IDEuMTIuNTkuNDggMS40MS40OGEyLjMgMi4zIDAgMDAxLjc2LS42OHEuNjUtLjY4LjY1LTEuOTZ2LS42NWgtLjA3YTIuOSAyLjkgMCAwMS0yLjM4IDEuMDIgNCA0IDAgMDEtMy4wMS0xLjMxIDQuNCA0LjQgMCAwMS0xLjMtMy4xNyA0LjQgNC40IDAgMDExLjMtMy4yIDQgNCAwIDAxMy4wMS0xLjMycS43NiAwIDEuNC4zLjYuMjcuOTguNzFoLjA3di0uNzNoMS44N3Y4LjA4cTAgMi4zNS0xLjIgMy41MkE0LjIgNC4yIDAgMDE0MC4zOCAyMG0uMTMtNS44MXExLjAyIDAgMS43MS0uNzcuNy0uNzguNy0xLjkzIDAtMS4xNy0uNy0xLjk3YTIuMiAyLjIgMCAwMC0xLjctLjc4cS0xLjA0IDAtMS43OC43OC0uNzQuNzktLjczIDEuOTcgMCAxLjE3LjczIDEuOTMuNzQuNzcgMS43Ny43N203LjUtMTEuNzJWMTUuN2gtMS45OVYyLjQ3em01LjQyIDEzLjQ5YTQuNCA0LjQgMCAwMS00LjQ3LTQuNWMwLTEuMjcuNDItMi40IDEuMjQtMy4yNGE0IDQgMCAwMTMuMDEtMS4yNiAzLjggMy44IDAgMDEyLjY5IDEuMDcgNSA1IDAgMDExLjE3IDEuOGwuMi41MS02LjAyIDIuNWEyLjMgMi4zIDAgMDAyLjE4IDEuMzZxMS4zNyAwIDIuMjEtMS4yNGwxLjU0IDEuMDJxLS41Ljc2LTEuNDYgMS4zOGE0IDQgMCAwMS0yLjMuNnptLTIuNTEtNC42MyA0LjAyLTEuNjhhMS40IDEuNCAwIDAwLS42My0uNjkgMiAyIDAgMDAtMS4wNC0uMjZxLS44NyAwLTEuNjMuNzJhMi40IDIuNCAwIDAwLS43MiAxLjkyem0xMy42MiA0LjM2VjMuNDloMS41N2w0LjI1IDcuNDNoLjA3bDQuMjQtNy40M2gxLjU4djEyLjJoLTEuNThWOC40NGwuMDctMi4wNGgtLjA3bC0zLjgxIDYuN2gtLjkybC0zLjgyLTYuN2gtLjA3bC4wNyAyLjA0djcuMjV6bTE2LjMyLjI3cS0xLjM0IDAtMi4yMi0uNzctLjktLjc4LS45LTIuMDMgMC0xLjM2IDEuMDctMi4xNCAxLjA1LS43OSAyLjYxLS43OCAxLjM5IDAgMi4yNy41MXYtLjI0cTAtLjktLjYzLTEuNDdhMi4zIDIuMyAwIDAwLTEuNTYtLjU1cS0uNjggMC0xLjIzLjMyYTEuNyAxLjcgMCAwMC0uNzYuOWwtMS40My0uNjJxLjI4LS43NSAxLjE0LTEuMzlhMy43IDMuNyAwIDAxMi4yNS0uNjRxMS42MSAwIDIuNjcuOTR0MS4wNiAyLjY0djUuMDVoLTEuNXYtMS4xNmgtLjA3YTMuMSAzLjEgMCAwMS0yLjc1IDEuNDN6bS4yNi0xLjQzcS45OCAwIDEuNzctLjcyLjgtLjcyLjc5LTEuNzEtLjY2LS41NC0yLS41NC0xLjE0IDAtMS43Mi40OS0uNTguNS0uNTggMS4xNiAwIC42LjUzLjk3LjUyLjM2IDEuMjEuMzZ6bTkuOTggMS40M3EtLjk2IDAtMS43MS0uNDFhMyAzIDAgMDEtMS4xNC0xLjAyaC0uMDdsLjA3IDEuMTZ2My42OGgtMS41N1Y3LjM0aDEuNVY4LjVoLjA3YTMgMyAwIDAxMS4xNC0xLjAyIDMuNyAzLjcgMCAwMTQuNS44NyA0LjUgNC41IDAgMDExLjE4IDMuMThxMCAxLjktMS4xOCAzLjE3YTMuNyAzLjcgMCAwMS0yLjggMS4yOHptLS4yNi0xLjQzcTEuMSAwIDEuODctLjgzLjc4LS44Mi43OC0yLjIgMC0xLjM2LS43OC0yLjE5YTIuNSAyLjUgMCAwMC0xLjg3LS44MyAyLjUgMi41IDAgMDAtMS44OC44MiAzIDMgMCAwMC0uNzggMi4ycTAgMS40Ljc4IDIuMi43Ny44MyAxLjg4LjgzbTguNDEgMS40M2EzLjggMy44IDAgMDEtMy42NS0yLjM4TDk3IDEzcS42NyAxLjU3IDIuMjYgMS41Ny43NSAwIDEuMi0uMzJhMSAxIDAgMDAuNDctLjg1cTAtLjgxLTEuMTQtMS4xMWwtMS43LS40MWE0IDQgMCAwMS0xLjUxLS43NyAxLjkgMS45IDAgMDEtLjcyLTEuNTVxMC0xLjExLjk4LTEuOGE0IDQgMCAwMTIuMzItLjY5cTEuMTEgMCAxLjk4LjV0MS4yNSAxLjQ0bC0xLjM3LjU2cS0uNDUtMS4xLTEuOS0xLjEtLjcxIDAtMS4yLjI4LS40Ny4zLS40Ny43OCAwIC43MiAxLjExLjk4bDEuNjUuMzlxMS4xOC4yNyAxLjc1Ljk0LjU2LjY2LjU2IDEuNSAwIDEuMTItLjkyIDEuODd0LTIuMzguNzV6Ii8+PC9zdmc+YDsKXy4kcT0oe2ZpbGw6YX0pPT4oMCxfLldxKWA8c3ZnIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iaW5mby1pY29uIiB2aWV3Qm94PSIwIC05NjAgOTYwIDk2MCI+PHBhdGggZmlsbD0iJHthfSIgZD0iTTQ0MC0yODBoODB2LTI0MGgtODB6bTQwLTMyMHExNyAwIDI4LjUtMTEuNVQ1MjAtNjQwdC0xMS41LTI4LjVUNDgwLTY4MHQtMjguNSAxMS41VDQ0MC02NDB0MTEuNSAyOC41VDQ4MC02MDBtMCA1MjBxLTgzIDAtMTU2LTMxLjVUMTk3LTE5N3QtODUuNS0xMjdUODAtNDgwdDMxLjUtMTU2VDE5Ny03NjN0MTI3LTg1LjVUNDgwLTg4MHQxNTYgMzEuNVQ3NjMtNzYzdDg1LjUgMTI3VDg4MC00ODB0LTMxLjUgMTU2VDc2My0xOTd0LTEyNyA4NS41VDQ4MC04MG0wLTgwcTEzNCAwIDIyNy05M3Q5My0yMjctOTMtMjI3LTIyNy05My0yMjcgOTMtOTMgMjI3IDkzIDIyNyAyMjcgOTNtMC0zMjAiLz48L3N2Zz5gO1BmYT0oe2ZpbGw6YSxvdXRsaW5lOmJ9KT0+KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0iaW5mby1pY29uLS1vdXRsaW5lIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IiB2aWV3Qm94PSIxMSAxMSAxOSAxOSI+PGNpcmNsZSBjeD0iMjAiIGN5PSIyMCIgcj0iOSIgZmlsbD0iJHtifSIgZmlsbC1vcGFjaXR5PSIuOSIvPjxwYXRoIGZpbGw9IiR7YX0iIGQ9Ik0xOS4yNSAyMy42OGgxLjVWMTkuMWgtMS41em0uNzUtNS44NHEuMzIgMCAuNTQtLjIyYS43LjcgMCAwMC4yMy0uNTVxMC0uMy0uMjMtLjU0YS43LjcgMCAwMC0uNTQtLjIycS0uMzIgMC0uNTQuMjJhLjcuNyAwIDAwLS4yMy41NHEwIC4zMy4yMy41NS4yMi4yMi41NC4yMm0wIDkuNTFhNy40IDcuNCAwIDAxLTUuMjEtMi4xNEE3LjQgNy40IDAgMDExMi42NSAyMGE3LjMgNy4zIDAgMDExMC4yMi02Ljc3cTEuMzMuNTcgMi4zMiAxLjU4IDEuMDIuOTkgMS41OCAyLjM0LjU4IDEuMzQuNTggMi44NSAwIDEuNTItLjU4IDIuODdBNy4zIDcuMyAwIDAxMjAgMjcuMzVtMC0xLjU2cTIuNDIgMCA0LjEtMS42OEE1LjYgNS42IDAgMDAyNS44IDIwcTAtMi40Mi0xLjctNC4xYTUuNiA1LjYgMCAwMC00LjEtMS43cS0yLjQyIDAtNC4xIDEuN2E1LjYgNS42IDAgMDAtMS43IDQuMXEwIDIuNDIgMS43IDQuMWE1LjYgNS42IDAgMDA0LjEgMS43Ii8+PC9zdmc+YDsKXy5YcT0oe2FyaWFMYWJlbDphLGNsYXNzTmFtZTpifSk9PigwLF8uV3EpYDxzdmcgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWxhYmVsPSIke2F9IiBjbGFzcz0iJHtifSIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGlkPSJvcGVuLWluLW5ldyIgZD0iTTIwMC0xMjBxLTMzIDAtNTYuNS0yMy41VDEyMC0yMDB2LTU2MHEwLTMzIDIzLjUtNTYuNVQyMDAtODQwaDI4MHY4MEgyMDB2NTYwaDU2MHYtMjgwaDgwdjI4MHEwIDMzLTIzLjUgNTYuNVQ3NjAtMTIwem0xODgtMjEyLTU2LTU2IDM3Mi0zNzJINTYwdi04MGgyODB2MjgwaC04MHYtMTQ0eiIvPjwvc3ZnPmA7dmFyIHZqYT1fLiRzKFsiOmhvc3QoOm5vdChbaGlkZGVuXSkpe2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMgVGV4dCxSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0uYXR0cmlidXRpb24tdGV4dHtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwfS5hdHRyaWJ1dGlvbi10ZXh0LmZvbnQtLWJvZHktc21hbGx7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjJweDtsaW5lLWhlaWdodDoxLjMzMzMzMzMzMzN9LmF0dHJpYnV0aW9uLXRleHQuZm9udC0tYm9keS1tZWRpdW17Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7bGV0dGVyLXNwYWNpbmc6LjFweDtsaW5lLWhlaWdodDoxLjE0Mjg1NzE0Mjl9LmNvbnRhaW5lcnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2xpbmUtaGVpZ2h0OjB9LmNvbnRhaW5lcj5he3RleHQtZGVjb3JhdGlvbjpub25lfWdtcC1pbnRlcm5hbC1kaWFsb2cgZGlhbG9ney0tZ21wLWludGVybmFsLWRpYWxvZy1ib3JkZXItcmFkaXVzOnZhcigtLWdtcC1kaWFsb2ctYm9yZGVyLXJhZGl1cywyOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWdtcC1tYXQtY29sb3Itc3VyZmFjZSxsaWdodC1kYXJrKCNmZmYsIzEzMTMxNCkpO21heC13aWR0aDo2MDBweH1nbXAtaW50ZXJuYWwtZGlhbG9nIGRpYWxvZyBoZWFkZXIgLmdtLXVpLWhvdmVyLWVmZmVjdD5zcGFue2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Z21wLWludGVybmFsLWRpYWxvZyBkaWFsb2cgaGVhZGVyIC5nbS11aS1ob3Zlci1lZmZlY3Q+c3BhbntiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9fWltZ3t3aWR0aDoxMDAlfXN2Z3tzaGFwZS1yZW5kZXJpbmc6Z2VvbWV0cmljUHJlY2lzaW9ufS5pbmZvLWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LW1hcmdpbi1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTstbW96LW1hcmdpbi1zdGFydDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KTttYXJnaW4taW5saW5lLXN0YXJ0OnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpO3BhZGRpbmc6MDtwYWRkaW5nLWJsb2NrOjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH0uaW5mby1idXR0b246Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmluZm8tYnV0dG9uIC50YXAtYXJlYXtjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MzRweDtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDo0OHB4O3otaW5kZXg6MH0uaW5mby1idXR0b24udGFwLWFyZWEtZXhwYW5kZWR7aGVpZ2h0OjQ4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6dW5zZXQ7LW1vei1tYXJnaW4tc3RhcnQ6dW5zZXQ7bWFyZ2luLWlubGluZS1zdGFydDp1bnNldDtwYWRkaW5nLWJsb2NrOjRweDt3aWR0aDo0OHB4fS5pbmZvLWJ1dHRvbi50YXAtYXJlYS1leHBhbmRlZCAudGFwLWFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uaW5mby1idXR0b24udGFwLWFyZWEtZXhwYW5kZWQgLmluZm8taWNvbi1jb250YWluZXJ7aGVpZ2h0OjM0cHg7d2lkdGg6MzRweH0uaW5mby1idXR0b24udGFwLWFyZWEtZXhwYW5kZWQgLmluZm8taWNvbi1jb250YWluZXIgc3Zne3dpZHRoOjE4cHh9LmluZm8taWNvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNHB4O3otaW5kZXg6MX0uaW5mby1pY29uLWNvbnRhaW5lciBzdmd7d2lkdGg6MTVweDt6LWluZGV4OjF9LmluZm8taWNvbi1jb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtaW50ZXJuYWwtYXR0cmlidXRpb24tY29sb3IsbGlnaHQtZGFyaygjNWU1ZTVlLCNmZmYpKSA4JSx0cmFuc3BhcmVudCl9LmluZm8tYnV0dG9uOmZvY3VzLXZpc2libGUgLmluZm8taWNvbi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1nbXAtaW50ZXJuYWwtYXR0cmlidXRpb24tY29sb3IsbGlnaHQtZGFyaygjNWU1ZTVlLCNmZmYpKSAxMCUsdHJhbnNwYXJlbnQpfSJdKTt2YXIgUHQ9Y2xhc3MgZXh0ZW5kcyBfLmR0e3RpKCl7cmV0dXJuKDAsXy5XcSlgPGJ1dHRvbgogICAgICB0eXBlPSJidXR0b24iCiAgICAgIHRpdGxlPSIkeyJCYWNrIn0iCiAgICAgIGFyaWEtbGFiZWw9IiR7IkJhY2sifSIKICAgICAgPiR7Xy5zamEoKX08L2J1dHRvbgogICAgPmB9Zm9jdXMoYSl7dGhpcy5SSy5mb2N1cyhhKX19O1B0LnN0eWxlcz1fLiRzKFsiOmhvc3QgYnV0dG9uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6bGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtvcGFjaXR5Oi42O3BhZGRpbmc6MH06aG9zdCBidXR0b246aG92ZXJ7Y29sb3I6bGlnaHQtZGFyaygjMDAwLCNmZmYpO29wYWNpdHk6MX06aG9zdCBidXR0b246ZGlyKHJ0bCkgc3Zney13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Il0pOwpfLkQoW18udXEoImJ1dHRvbiIpLF8uRigiZGVzaWduOnR5cGUiLEhUTUxCdXR0b25FbGVtZW50KV0sUHQucHJvdG90eXBlLCJSSyIsdm9pZCAwKTtfLnhvKCJnbXAtaW50ZXJuYWwtYmFjay1idXR0b24iLFB0KTt2YXIgd2phPSgwLF8uR2opYGRpYWxvZy56bERyVS1iYXNpYy1kaWFsb2ctZWxlbWVudDo6YmFja2Ryb3B7YmFja2dyb3VuZC1jb2xvcjojMjAyMTI0fUBzdXBwb3J0cyAoKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoM3B4KSkgb3IgKGJhY2tkcm9wLWZpbHRlcjpibHVyKDNweCkpKXtkaWFsb2cuemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnQ6OmJhY2tkcm9we2JhY2tncm91bmQtY29sb3I6cmdiYSgzMiwzMywzNiwuNyk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDNweCl9fWRpYWxvZ1tvcGVuXS56bERyVS1iYXNpYy1kaWFsb2ctZWxlbWVudHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufWRpYWxvZy56bERyVS1iYXNpYy1kaWFsb2ctZWxlbWVudHtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOnZhcigtLWdtcC1pbnRlcm5hbC1kaWFsb2ctYm9yZGVyLXJhZGl1cywyOHB4KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoyMHB4IDhweCA4cHh9ZGlhbG9nLnpsRHJVLWJhc2ljLWRpYWxvZy1lbGVtZW50IGhlYWRlcnthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206MjBweDtwYWRkaW5nOjAgMTZweH1kaWFsb2cuemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnQgaGVhZGVyIGgye2ZvbnQtZmFtaWx5Okdvb2dsZSBTYW5zLFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2xpbmUtaGVpZ2h0OjI4cHg7Zm9udC1zaXplOjIycHg7bGV0dGVyLXNwYWNpbmc6MDtmb250LXdlaWdodDo0MDA7Y29sb3I6bGlnaHQtZGFyaygjM2M0MDQzLCNlOGVhZWQpO2ZsZXg6MTttYXJnaW46MH1kaWFsb2cuemxEclUtYmFzaWMtZGlhbG9nLWVsZW1lbnQgLnVuQVJ1Yi1iYXNpYy1kaWFsb2ctZWxlbWVudC0tY29udGVudHtkaXNwbGF5OmZsZXg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjAgMTZweCAxNnB4O292ZXJmbG93OmF1dG99XG5gO3ZhciB4amE9eyJjbG9zZS5zdmciOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBLy93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAyNCUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE5JTIwNi40MSUyMDE3LjU5JTIwNSUyMDEyJTIwMTAuNTklMjA2LjQxJTIwNSUyMDUlMjA2LjQxJTIwMTAuNTklMjAxMiUyMDUlMjAxNy41OSUyMDYuNDElMjAxOSUyMDEyJTIwMTMuNDElMjAxNy41OSUyMDE5JTIwMTklMjAxNy41OSUyMDEzLjQxJTIwMTJ6JTIyLyUzRSUzQ3BhdGglMjBmaWxsJTNEJTIybm9uZSUyMiUyMGQlM0QlMjJNMCUyMDBoMjR2MjRIMHolMjIvJTNFJTNDL3N2ZyUzRSJ9O3ZhciB5amE9KDAsXy5HailgLmdtLXVpLWhvdmVyLWVmZmVjdHtvcGFjaXR5Oi42fS5nbS11aS1ob3Zlci1lZmZlY3Q6aG92ZXJ7b3BhY2l0eToxfS5nbS11aS1ob3Zlci1lZmZlY3RcdTAwM2VzcGFue2JhY2tncm91bmQtY29sb3I6bGlnaHQtZGFyaygjMDAwLCNmZmYpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpLChwcmVmZXJzLWNvbnRyYXN0Om1vcmUpey5nbS11aS1ob3Zlci1lZmZlY3RcdTAwM2VzcGFue2JhY2tncm91bmQtY29sb3I6QnV0dG9uVGV4dH19c2VudGluZWx7fVxuYDt2YXIgVHQ7Xy5RdD0oYSx7cm9vdDpiPWRvY3VtZW50LmhlYWQsSno6Y309e30pPT57YyYmKGE9YS5yZXBsYWNlKC8oXFcpbGVmdChcVykvZywiJDFgJDIiKS5yZXBsYWNlKC8oXFcpcmlnaHQoXFcpL2csIiQxbGVmdCQyIikucmVwbGFjZSgvKFxXKWAoXFcpL2csIiQxcmlnaHQkMiIpKTtjPV8ub2NhKCJTVFlMRSIpO2MuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYSkpOyhhPUphYSgic3R5bGUiLGRvY3VtZW50KSkmJmMuc2V0QXR0cmlidXRlKCJub25jZSIsYSk7Yi5pbnNlcnRCZWZvcmUoYyxiLmZpcnN0Q2hpbGQpO3JldHVybiBjfTtfLlJ0PShhLGI9e30pPT57YT1fLkJqKGEpO18uUXQoYSxiKX07Xy5TdD0oYSxiLGM9ITEpPT57Yj1iLmdldFJvb3ROb2RlP2IuZ2V0Um9vdE5vZGUoKTpkb2N1bWVudDtiPWIuaGVhZHx8Yjt2YXIgZD1fLnpqYShiKTtkLmhhcyhhKXx8KGQuYWRkKGEpLF8uUnQoYSx7cm9vdDpiLEp6OmN9KSl9O1R0PW5ldyBXZWFrTWFwOwpfLnpqYT1hPT57VHQuaGFzKGEpfHxUdC5zZXQoYSxuZXcgV2Vha1NldCk7cmV0dXJuIFR0LmdldChhKX07Xy5BamE9UmVnRXhwKCJbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpO18uQmphPVJlZ0V4cCgiW0EtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSIpO18uQ2phPVJlZ0V4cCgiXlteQS1aYS16XHUwMGMwLVx1MDBkNlx1MDBkOC1cdTAwZjZcdTAwZjgtXHUwMmI4XHUwMzAwLVx1MDU5MFx1MDkwMC1cdTFmZmZcdTIwMGVcdTJjMDAtXHVkODAxXHVkODA0LVx1ZDgzOVx1ZDgzYy1cdWRiZmZcdWY5MDAtXHVmYjFjXHVmZTAwLVx1ZmU2Zlx1ZmVmZC1cdWZmZmZdKltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7Cl8uRWphPVJlZ0V4cCgiW0EtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXVteXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSokIik7Xy5GamE9UmVnRXhwKCJbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXVteQS1aYS16XHUwMGMwLVx1MDBkNlx1MDBkOC1cdTAwZjZcdTAwZjgtXHUwMmI4XHUwMzAwLVx1MDU5MFx1MDkwMC1cdTFmZmZcdTIwMGVcdTJjMDAtXHVkODAxXHVkODA0LVx1ZDgzOVx1ZDgzYy1cdWRiZmZcdWY5MDAtXHVmYjFjXHVmZTAwLVx1ZmU2Zlx1ZmVmZC1cdWZmZmZdKiQiKTt2YXIgR2phLEhqYSxJamE7R2phPW5ldyBfLmJvKDEyLDEyKTtIamE9bmV3IF8uZ28oMTMsMTMpO0lqYT1uZXcgXy5ibygwLDApOwpfLlVxPWNsYXNzIGV4dGVuZHMgXy5HdHtjb25zdHJ1Y3RvcihhKXt2YXIgYj1RbSgiQ2xvc2VCdXR0b25WaWV3IiwiZWxlbWVudCIsKCk9Pl8uTW0oXy5FbShIVE1MQnV0dG9uRWxlbWVudCwiSFRNTEJ1dHRvbkVsZW1lbnQiKSkoYS5lbGVtZW50KXx8Xy5ScShhLmxhYmVsfHwiQ2xvc2UiKSk7YT17Li4uYSxlbGVtZW50OmJ9O3N1cGVyKGEpO3RoaXMuWnM9YS5ac3x8R2phO3RoaXMuSXU9YS5JdXx8SGphO3RoaXMubGFiZWw9YS5sYWJlbHx8IkNsb3NlIjt0aGlzLm93bmVyRWxlbWVudD1hLm93bmVyRWxlbWVudDt0aGlzLmxGPWEubEZ8fCExO3RoaXMub2Zmc2V0PWEub2Zmc2V0fHxJamE7YS5sRnx8KHRoaXMuZWxlbWVudC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuZWxlbWVudC5zdHlsZS50b3A9Xy5wbSh0aGlzLm9mZnNldC55KSx0aGlzLmVsZW1lbnQuc3R5bGUucmlnaHQ9Xy5wbSh0aGlzLm9mZnNldC54KSk7Yj1uZXcgXy5nbyh0aGlzLkl1LndpZHRoKzIqdGhpcy5acy54LAp0aGlzLkl1LmhlaWdodCsyKnRoaXMuWnMueSk7Xy5RcCh0aGlzLmVsZW1lbnQsYik7Xy5TdCh5amEsdGhpcy5vd25lckVsZW1lbnQpO3RoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJnbS11aS1ob3Zlci1lZmZlY3QiKTtiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtiLnN0eWxlLnNldFByb3BlcnR5KCJtYXNrLWltYWdlIixgdXJsKCIke3hqYVsiY2xvc2Uuc3ZnIl19IilgKTtiLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiO2Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO18uUXAoYix0aGlzLkl1KTtiLnN0eWxlLm1hcmdpbj1gJHt0aGlzLlpzLnl9cHggJHt0aGlzLlpzLnh9cHhgO3RoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChiKTt0aGlzLnhpKGEsXy5VcSwiQ2xvc2VCdXR0b25WaWV3Iil9fTt2YXIgS2ZhPW5ldyBTZXQ7S2ZhLmFkZCgiZ20tc3R5bGUtaXctYSIpO18uWXE9Y2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudHtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuc2g9ITE7dGhpcy5iaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaWFsb2ciKTt0aGlzLnJoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImhlYWRlciIpO3RoaXMucWg9bmV3IFB0O3RoaXMuYmouYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xvc2UiKSk7dGhpcy5xaC5yZW1vdmUoKX0pO3RoaXMuYmouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGI9PntpZihiLnRhcmdldD09PXRoaXMuYmope2xldCBjPXRoaXMuYmouZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Yy50b3A8PWIuY2xpZW50WSYmYi5jbGllbnRZPD1jLmJvdHRvbSYmYy5sZWZ0PD1iLmNsaWVudFgmJmIuY2xpZW50WDw9Yy5yaWdodHx8dGhpcy5jbG9zZSgpfX0pO3RoaXMucWguYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT4Ke3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImdtcC1pbnRlcm5hbC1iYWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKTt0aGlzLnFoLnJlbW92ZSgpfSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJnbXAtaW50ZXJuYWwtbmV4dCIsYj0+e2Iuc3RvcFByb3BhZ2F0aW9uKCk7TGZhKHRoaXMpfSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtpZighdGhpcy5zaCl7dGhpcy5iai5hcmlhTGFiZWw9dGhpcy5vcHRpb25zLnRpdGxlO3RoaXMuYmouYXBwZW5kKE1mYSh0aGlzKSk7dmFyIGE9dGhpcy5iaixiPWEuYXBwZW5kO2xldCBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO18uVHEoYywiYmFzaWMtZGlhbG9nLWVsZW1lbnQtLWNvbnRlbnQiKTtjLmFwcGVuZENoaWxkKHRoaXMub3B0aW9ucy5jb250ZW50KTtiLmNhbGwoYSxjKTt0aGlzLmFwcGVuZCh0aGlzLmJqKTtfLlRxKHRoaXMuYmosImJhc2ljLWRpYWxvZy1lbGVtZW50Iik7Xy5TdCh3amEsdGhpcyk7dGhpcy5zaD0hMH19Y2xvc2UoKXt0aGlzLmJqLmNsb3NlKCl9fTsKXy54bygiZ21wLWludGVybmFsLWRpYWxvZyIsXy5ZcSk7dmFyIEpqYT1fLiRzKFsiLmRpc2Nsb3N1cmUtY29udGFpbmVye2ZvbnQtc2l6ZToxNnB4fS5zbG90LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7LW1vei1ib3gtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctbWVkaXVtLDEycHgpfS5jb250ZW50LC5zbG90LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNvbnRlbnR7Y29sb3I6dmFyKC0tZ21wLW1hdC1jb2xvci1vbi1zdXJmYWNlLGxpZ2h0LWRhcmsoIzFmMWYxZiwjZTNlM2UzKSl9LmNvbnRlbnQgLmRlc2NyaXB0aW9ue2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWJvZHktbWVkaXVtLG5vcm1hbCA0MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07bWFyZ2luLXRvcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uY29udGVudCAuaGVhZGluZ3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7Zm9udDp2YXIoLS1nbXAtbWF0LWZvbnQtaGVhZGxpbmUtbWVkaXVtLG5vcm1hbCA1MDAgMS4xMjVlbS8xLjMzMzMzMzMzMzMgdmFyKC0tZ21wLW1hdC1mb250LWZhbWlseSxHb29nbGUgU2FucyBUZXh0LHNhbnMtc2VyaWYpKTtsZXR0ZXItc3BhY2luZzowOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uY29udGVudCAuaGVhZGluZyBzcGFuey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTstbW96LWJveC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjF9LmNvbnRlbnQgLmhlYWRpbmc6ZGlyKHJ0bCkgc3Zney13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgtMSk7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LmNvbnRlbnQgLmhlYWRpbmcgc3ZnIHBhdGh7ZmlsbDp2YXIoLS1nbXAtbWF0LWNvbG9yLW9uLXN1cmZhY2UsbGlnaHQtZGFyaygjMWYxZjFmLCNlM2UzZTMpKX0uY29udGVudCAubGluay1pdGVte2ZvbnQ6dmFyKC0tZ21wLW1hdC1mb250LWxhYmVsLWxhcmdlLG5vcm1hbCA1MDAgLjg3NWVtLzEuNDI4NTcxNDI4NiB2YXIoLS1nbXAtbWF0LWZvbnQtZmFtaWx5LEdvb2dsZSBTYW5zIFRleHQsc2Fucy1zZXJpZikpO2xldHRlci1zcGFjaW5nOi4wMDcxNDI4NTcxZW07cGFkZGluZzp2YXIoLS1nbXAtbWF0LXNwYWNpbmctZXh0cmEtc21hbGwsNHB4KSAwO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0uY29udGVudCAubGluay1pdGVtIGF7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWdtcC1tYXQtY29sb3ItcHJpbWFyeSxsaWdodC1kYXJrKCMwMDdiOGIsIzU4YjljYSkpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtnYXA6dmFyKC0tZ21wLW1hdC1zcGFjaW5nLWV4dHJhLXNtYWxsLDRweCk7cGFkZGluZy1ibG9jazoxMHB4O3BhZGRpbmctaW5saW5lOjAgMTJweDt0ZXh0LWRlY29yYXRpb246bm9uZX0uY29udGVudCAubGluay1pdGVtIGEgLmljb24tY29udGFpbmVye2hlaWdodDoxZW07d2lkdGg6MWVtfS5jb250ZW50IC5saW5rLWl0ZW0gYSAuaWNvbi1jb250YWluZXIgc3ZnIHBhdGh7ZmlsbDp2YXIoLS1nbXAtbWF0LWNvbG9yLXByaW1hcnksbGlnaHQtZGFyaygjMDA3YjhiLCM1OGI5Y2EpKX0uY29udGVudCAubGlua3N7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2dhcDp2YXIoLS1nbXAtbWF0LXNwYWNpbmctc21hbGwsOHB4KX0uY29udGVudC5uby1saW5rc3ttYXJnaW4tYm90dG9tOnZhcigtLWdtcC1tYXQtc3BhY2luZy1zbWFsbCw4cHgpfSJdKTt2YXIgVXQ9YT0+KC4uLmIpPT4oe18kbGl0RGlyZWN0aXZlJDphLHZhbHVlczpifSksVnQ9Y2xhc3N7Z2V0IHlyKCl7cmV0dXJuIHRoaXMucWgueXJ9ZkwoYSxiLGMpe3RoaXMud2g9YTt0aGlzLnFoPWI7dGhpcy50aD1jfWdMKGEsYil7cmV0dXJuIHRoaXMudXBkYXRlKGEsYil9dXBkYXRlKGEsYil7cmV0dXJuIHRoaXMudGkoLi4uYil9fTsvKgoKIENvcHlyaWdodCAyMDE4IEdvb2dsZSBMTEMKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKKi8KXy5hcj1VdChjbGFzcyBleHRlbmRzIFZ0e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7aWYoYS50eXBlIT09MXx8YS5uYW1lIT09ImNsYXNzInx8YS53bD8ubGVuZ3RoPjIpdGhyb3cgRXJyb3IoImBjbGFzc01hcCgpYCBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBgY2xhc3NgIGF0dHJpYnV0ZSBhbmQgbXVzdCBiZSB0aGUgb25seSBwYXJ0IGluIHRoZSBhdHRyaWJ1dGUuIik7fXRpKGEpe3JldHVybiIgIitPYmplY3Qua2V5cyhhKS5maWx0ZXIoYj0+YVtiXSkuam9pbigiICIpKyIgIn11cGRhdGUoYSxbYl0pe2lmKHRoaXMucmg9PT12b2lkIDApe3RoaXMucmg9bmV3IFNldDthLndsIT09dm9pZCAwJiYodGhpcy5zaD1uZXcgU2V0KGEud2wuam9pbigiICIpLnNwbGl0KC9ccy8pLmZpbHRlcihkPT5kIT09IiIpKSk7Zm9yKGxldCBkIGluIGIpYltkXSYmIXRoaXMuc2g/LmhhcyhkKSYmdGhpcy5yaC5hZGQoZCk7cmV0dXJuIHRoaXMudGkoYil9YT1hLmVsZW1lbnQuY2xhc3NMaXN0O2Zvcih2YXIgYyBvZiB0aGlzLnJoKWMgaW4KYnx8KGEucmVtb3ZlKGMpLHRoaXMucmguZGVsZXRlKGMpKTtmb3IobGV0IGQgaW4gYiljPSEhYltkXSxjPT09dGhpcy5yaC5oYXMoZCl8fHRoaXMuc2g/LmhhcyhkKXx8KGM/KGEuYWRkKGQpLHRoaXMucmguYWRkKGQpKTooYS5yZW1vdmUoZCksdGhpcy5yaC5kZWxldGUoZCkpKTtyZXR1cm4gJG99fSk7Xy5XdD1jbGFzcyBleHRlbmRzIF8uZHR7dGkoKXtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0iZGlzY2xvc3VyZS1jb250YWluZXIiIGlkPSJub3RlIiByb2xlPSJub3RlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzbG90LWNvbnRhaW5lciI+CiAgICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH19O18uV3Quc3R5bGVzPUpqYTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXy5XdC5wcm90b3R5cGUsImhlYWRpbmciLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uV3QucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXy5XdC5wcm90b3R5cGUsImhyZWYiLHZvaWQgMCk7Xy5YdD1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpO3RoaXMubGlua3M9W107dGhpcy5zaG93QWNjZXNzb3J5SWNvbj0hMX10aSgpe3ZhciBhPU5mYSh0aGlzKSxiPSgwLF8uYXIpKHtjb250ZW50OiEwLCJuby1saW5rcyI6IWF9KTtyZXR1cm4oMCxfLldxKWAKICAgICAgPGRpdiBjbGFzcz0ke2J9PgogICAgICAgICR7dGhpcy5oZWFkaW5nPygwLF8uV3EpYCA8ZGl2IGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICAgICAgICA8c3Bhbj4ke3RoaXMuaGVhZGluZ308L3NwYW4+CiAgICAgICAgICAgICAgJHt0aGlzLnNob3dBY2Nlc3NvcnlJY29uPygwLF8uV3EpYCR7KDAsXy5XcSlgPHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiPjxwYXRoIGQ9Ik00MDAtMjgwdi00MDBsMjAwIDIwMHoiLz48L3N2Zz5gfWA6IiJ9CiAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uPygwLF8uV3EpYDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIgogICAgICAgICAgICAgID48c3Bhbj4ke3RoaXMuZGVzY3JpcHRpb259PC9zcGFuPjwvZGl2CiAgICAgICAgICAgID5gOiIifQogICAgICAgICR7YT8oMCxfLldxKWA8ZGl2IGNsYXNzPSJsaW5rcyI+JHthfTwvZGl2PmA6IiJ9CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9fTtfLlh0LnN0eWxlcz1KamE7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLFN0cmluZyldLF8uWHQucHJvdG90eXBlLCJoZWFkaW5nIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfLlh0LnByb3RvdHlwZSwiZGVzY3JpcHRpb24iLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLEFycmF5KV0sXy5YdC5wcm90b3R5cGUsImxpbmtzIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfLlh0LnByb3RvdHlwZSwic2hvd0FjY2Vzc29yeUljb24iLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLWRpc2Nsb3N1cmUiLF8uV3QpO18ueG8oImdtcC1pbnRlcm5hbC1kaXNjbG9zdXJlLXNlY3Rpb24iLF8uWHQpO18uS2phPSgwLF8uV3EpYAogIDxnbXAtaW50ZXJuYWwtZGlzY2xvc3VyZS1zZWN0aW9uCiAgICAuaGVhZGluZz0keyJHb29nbGUgTWFwcyBUZXJtcyJ9CiAgICAubGlua3M9JHtbe3RleHQ6IlRlcm1zIixocmVmOiJodHRwczovL3d3dy5nb29nbGUuY29tL2hlbHAvdGVybXNfbWFwcy8ifSx7dGV4dDoiUHJpdmFjeSIsaHJlZjoiaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3kifV19PgogIDwvZ21wLWludGVybmFsLWRpc2Nsb3N1cmUtc2VjdGlvbj4KYDtfLll0PVV0KGNsYXNzIGV4dGVuZHMgVnR7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTtpZihhLnR5cGUhPT0xfHxhLm5hbWUhPT0ic3R5bGUifHxhLndsPy5sZW5ndGg+Mil0aHJvdyBFcnJvcigiVGhlIGBzdHlsZU1hcGAgZGlyZWN0aXZlIG11c3QgYmUgdXNlZCBpbiB0aGUgYHN0eWxlYCBhdHRyaWJ1dGUgYW5kIG11c3QgYmUgdGhlIG9ubHkgcGFydCBpbiB0aGUgYXR0cmlidXRlLiIpO310aShhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkucmVkdWNlKChiLGMpPT57dmFyIGQ9YVtjXTtpZihkPT1udWxsKXJldHVybiBiO2M9Yy5pbmNsdWRlcygiLSIpP2M6Yy5yZXBsYWNlKC8oPzpeKHdlYmtpdHxtb3p8bXN8byl8KSg/PVtBLVpdKS9nLCItJCYiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBiK2Ake2N9OiR7ZH07YH0sIiIpfXVwZGF0ZShhLFtiXSl7YT1hLmVsZW1lbnQuc3R5bGU7dGhpcy5yaD09PXZvaWQgMCYmKHRoaXMucmg9bmV3IFNldCk7Zm9yKHZhciBjIG9mIHRoaXMucmgpYltjXT09Cm51bGwmJih0aGlzLnJoLmRlbGV0ZShjKSxjLmluY2x1ZGVzKCItIik/YS5yZW1vdmVQcm9wZXJ0eShjKTphW2NdPW51bGwpO2ZvcihsZXQgZCBpbiBiKWlmKGM9YltkXSxjIT1udWxsKXt0aGlzLnJoLmFkZChkKTtsZXQgZT10eXBlb2YgYz09PSJzdHJpbmciJiZjLmVuZHNXaXRoKCIgIWltcG9ydGFudCIpO2QuaW5jbHVkZXMoIi0iKXx8ZT9hLnNldFByb3BlcnR5KGQsZT9jLnNsaWNlKDAsLTExKTpjLGU/ImltcG9ydGFudCI6IiIpOmFbZF09Y31yZXR1cm4gJG99fSk7Xy5adD1jbGFzcyBleHRlbmRzIF8uZHR7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuYXR0cmlidXRpb25UeXBlPSJMT0dPIjt0aGlzLmluZm9CdXR0b25UYXBBcmVhRXhwYW5kZWQ9ITE7dGhpcy5sb2dvQ29sb3JPcHRpb25zPXtKeToiIzVlNWU1ZSIsS3g6IiNmZmYifTt0aGlzLnNob3dUZXJtc09mU2VydmljZT10aGlzLnNob3dJbmZvQnV0dG9uPSEwO3RoaXMuZGlzY2xvc3VyZUNvbnRlbnQ9W107dGhpcy5hdHRyaWJ1dGlvblRleHQ9Ikdvb2dsZSBNYXBzIjt0aGlzLmF0dHJpYnV0aW9uRm9udD0iQk9EWV9TTUFMTCI7dGhpcy5tb3JlSW5mb0J1dHRvblRpdGxlPSJBYm91dCBHb29nbGUgTWFwcyBjb250ZW50Ijt0aGlzLmxvZ29MaW5rT3B0aW9ucz12b2lkIDA7dGhpcy5yaD1uZXcgXy5XdDt0aGlzLnFoPU9mYSh0aGlzKTtfLkhsKCJ1dGlsIikudGhlbihhPT57YS5BcigpfSl9aG0oYSl7aWYoYS5oYXMoInNob3dUZXJtc09mU2VydmljZSIpfHxhLmhhcygiZGlzY2xvc3VyZUNvbnRlbnQiKSlhPQpbLi4udGhpcy5kaXNjbG9zdXJlQ29udGVudF0sdGhpcy5zaG93VGVybXNPZlNlcnZpY2UmJmEucHVzaChfLktqYSksXy5YcygoMCxfLldxKWAke2F9YCx0aGlzLnJoKX10aSgpe3ZhciBhPXRoaXMubG9nb0NvbG9yT3B0aW9ucy5KeXx8IiM1ZTVlNWUiLGI9dGhpcy5sb2dvQ29sb3JPcHRpb25zLkt4fHwiI2ZmZiIsYz1acShhKSxkPVpxKGIpLGU9dGhpcy5hdHRyaWJ1dGlvblRleHQhPT0iR29vZ2xlIE1hcHMiP3t9OnsiLS1nbXAtaW50ZXJuYWwtYXR0cmlidXRpb24tY29sb3IiOmBsaWdodC1kYXJrKCR7dGhpcy5sb2dvQ29sb3JPcHRpb25zLkp5fHwiIzVlNWU1ZSJ9LCAke3RoaXMubG9nb0NvbG9yT3B0aW9ucy5LeHx8IiNmZmYifSlgfTtzd2l0Y2godGhpcy5hdHRyaWJ1dGlvblR5cGUpe2Nhc2UgIkxPR08iOmE9dGphKHtjbGFzc05hbWU6ImF0dHJpYnV0aW9uX19sb2dvLS1kZWZhdWx0IixmaWxsOmBsaWdodC1kYXJrKCR7YX0sICR7Yn0pYH0pO2JyZWFrO2Nhc2UgIkxPR09fT1VUTElORSI6YT0KdWphKHtjbGFzc05hbWU6ImF0dHJpYnV0aW9uX19sb2dvLS1vdXRsaW5lIixmaWxsOmBsaWdodC1kYXJrKCR7YX0sICR7Yn0pYCxvdXRsaW5lOmBsaWdodC1kYXJrKCR7Y30sICR7ZH0pYH0pO2JyZWFrO2RlZmF1bHQ6YT0oMCxfLldxKWAgPHNwYW4KICAgICAgICAgIHRyYW5zbGF0ZT0ibm8iCiAgICAgICAgICBjbGFzcz0iJHsoMCxfLmFyKSh7ImF0dHJpYnV0aW9uLXRleHQiOiEwLCJmb250LS1ib2R5LXNtYWxsIjp0aGlzLmF0dHJpYnV0aW9uRm9udD09PSJCT0RZX1NNQUxMIiwiZm9udC0tYm9keS1tZWRpdW0iOnRoaXMuYXR0cmlidXRpb25Gb250PT09IkJPRFlfTUVESVVNIn0pfSIKICAgICAgICAgIHN0eWxlPSJjb2xvcjogbGlnaHQtZGFyaygke2F9LCAke2J9KSIKICAgICAgICAgID4ke3RoaXMuYXR0cmlidXRpb25UZXh0fTwvc3BhbgogICAgICAgID5gfXRoaXMubG9nb0xpbmtPcHRpb25zJiYoYT0oMCxfLldxKWAgPGEKICAgICAgICBhcmlhLWxhYmVsPSIke18uUXEodGhpcy5sb2dvTGlua09wdGlvbnMudGl0bGUpfSIKICAgICAgICBocmVmPSIke3RoaXMubG9nb0xpbmtPcHRpb25zLnVybC5ocmVmfSIKICAgICAgICByZWw9Im5vb3BlbmVyIgogICAgICAgIHRhcmdldD0iX2JsYW5rIgogICAgICAgIHRpdGxlPSIke18uUXEodGhpcy5sb2dvTGlua09wdGlvbnMudGl0bGUpfSI+CiAgICAgICAgJHthfQogICAgICA8L2E+YCk7Yj1RZmEodGhpcyx0aGlzLnFoKTtyZXR1cm4oMCxfLldxKWA8ZGl2IGNsYXNzPSJjb250YWluZXIiIHN0eWxlPSR7KDAsXy5ZdCkoZSl9PgogICAgICAgICR7YX0ke2J9IDwvZGl2CiAgICAgID4ke3RoaXMucWh9YH19O18uWnQuc3R5bGVzPXZqYTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXy5adC5wcm90b3R5cGUsImF0dHJpYnV0aW9uVHlwZSIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXy5adC5wcm90b3R5cGUsImluZm9CdXR0b25UYXBBcmVhRXhwYW5kZWQiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJsb2dvQ29sb3JPcHRpb25zIix2b2lkIDApO18uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfLlp0LnByb3RvdHlwZSwic2hvd0luZm9CdXR0b24iLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJzaG93VGVybXNPZlNlcnZpY2UiLHZvaWQgMCk7Cl8uRChbXy50cSh7S2g6ITF9KSxfLkYoImRlc2lnbjp0eXBlIixBcnJheSldLF8uWnQucHJvdG90eXBlLCJkaXNjbG9zdXJlQ29udGVudCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXy5adC5wcm90b3R5cGUsImF0dHJpYnV0aW9uVGV4dCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXy5adC5wcm90b3R5cGUsImF0dHJpYnV0aW9uRm9udCIsdm9pZCAwKTtfLkQoW18udHEoe0toOiExfSksXy5GKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXy5adC5wcm90b3R5cGUsIm1vcmVJbmZvQnV0dG9uVGl0bGUiLHZvaWQgMCk7Xy5EKFtfLnRxKHtLaDohMX0pLF8uRigiZGVzaWduOnR5cGUiLE9iamVjdCldLF8uWnQucHJvdG90eXBlLCJsb2dvTGlua09wdGlvbnMiLHZvaWQgMCk7Xy54bygiZ21wLWludGVybmFsLWF0dHJpYnV0aW9uIixfLlp0KTt2YXIgTGphPWNsYXNze2NvbnN0cnVjdG9yKGE9e30pe3RoaXMuaGVhZGVycz17WyJYLUdvb2ctQXBpLUtleSJdOl8uSmw/LnRoKCl8fCIiLFsiQ29udGVudC1UeXBlIl06ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiLFsiWC1Hb29nLU1hcHMtQ2hhbm5lbC1JZCJdOl8uSmw/LnloKCl8fCIiLC4uLmF9fX07dmFyIE1qYT1jbGFzcyBleHRlbmRzIExqYXtjb25zdHJ1Y3Rvcigpe3N1cGVyKHt9KX1pbnRlcmNlcHQoYSxiKXtWZmEodGhpcyxhKTtyZXR1cm4gYihhKX19O18uJHQ9Y2xhc3MgZXh0ZW5kcyBMamF7Y29uc3RydWN0b3IoYT17fSl7c3VwZXIoYSl9YXN5bmMgaW50ZXJjZXB0KGEsYil7VmZhKHRoaXMsYSk7YXdhaXQgWGZhKGEpO3JldHVybiBiKGEpfX07Xy5hdT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucWg9bmV3ICh0aGlzLnRoKCkpKHRoaXMuc2goKSxudWxsLHt3aXRoQ3JlZGVudGlhbHM6ITEseEY6Xy52bSgiZ0ludGVybmFsTm9Db3JzUHJlZmxpZ2h0Rm9yVGVzdGluZyIpPT09InRydWUiLEhGOnRoaXMucmgoKSx2Rjp0aGlzLndoKCl9KX1yaCgpe3JldHVybltuZXcgXy4kdF19d2goKXtyZXR1cm5bbmV3IE1qYV19fTtfLmJ1PW5ldyBNYXA7Xy5jdT1uZXcgTWFwO18uZHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7LyoKCiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBOamE9e307Xy5PamE9VXQoY2xhc3MgZXh0ZW5kcyBWdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5rZXk9Xy5Tc310aShhLGIpe3RoaXMua2V5PWE7cmV0dXJuIGJ9dXBkYXRlKGEsW2IsY10pe2IhPT10aGlzLmtleSYmKGEua2s9TmphLHRoaXMua2V5PWIpO3JldHVybiBjfX0pO1N5bWJvbC5mb3IoIiIpO3ZhciBBZmE9YXJndW1lbnRzWzBdLGpnYT1uZXcgXy5LaztfLlVhLmdvb2dsZS5tYXBzLkxvYWQmJl8uVWEuZ29vZ2xlLm1hcHMuTG9hZChpZ2EpO30pLmNhbGwodGhpcyx7fSk7Cg=="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/googlesanstext/v25/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmhjtg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3317.063118626937!2d-84.38887468516538!3d33.75903478068665!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x88f50479e8f63c03%3A0x701abbf2108ca077!2s191+Peachtree+St+NE%2C+Atlanta%2C+GA+30308!5e0!3m2!1sen!2sus!4v1564696575299!5m2!1sen!2sus","date":"2026-07-27T12:22:11.656Z","timestamp":1785154931656,"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/googlesanstext/v25/5aUp9-KzpRiLCAt4Unrc-xIKmCU5oLlVnmhjtg.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.google.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 23388\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 05:53:53 GMT\r\nexpires: Fri, 23 Jul 2027 05:53:53 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368898\r\nlast-modified: Tue, 17 Feb 2026 17:29:37 GMT\r\ncontent-type: font/woff2\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":23388,"size_decoded":24201,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 23388, version 1.0","md5":"0792a0dc91da66e261c54b80e50b7698","sha1":"72e7c4195ca1d2200d28d59b6ea647f3febe1407","sha256":"a98d0d4af945bf8ffa1b1c1158986d30b5204ed4f3f5f246ee45a24c1de4b276","sha512":"a728b4e4d128e61de91de0179c94de0d97e7705b0664945b092ef8f587f3af6c1a3b5eeb06d64ddfccf4e68ea9ed0eb44c8edc3e1957aa892cf83f8ee091cdc4","ssdeep":"384:w3LIVxO70VzWrIIGEvMT54PF7dKYLB7G8FDIua1SAs05u68LXaz0Wx8MY:w3LIVxO7iarIzQMT5CbBpFI8Ax58CY","tlshash":"56b2e19d83b65aa1a683637ac12006176f70c87858fde3db2873cb288055dc3738bc58","first_seen":"2026-02-18T00:09:30.81705Z","last_seen":"2026-08-11T11:19:57.03686Z","times_seen":66488,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/css/responsive.css","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.910Z","timestamp":1785154927910,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/css/responsive.css HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: text/css\r\nlast-modified: Thu, 29 May 2025 09:46:24 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:07 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ZgeAar6OiKNisEaOdnX23R%2FX7XQRZ7%2Bp4qwberBvfvEfWR9um9fa81JLibaYPnlIeahA5tJknqW1PNHwkLp6yLLH00mDZMfJTLm59EH%2FSrEWIEqy9h98DZPgzqadU9hbYrsETsyqJMU%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21b9b9b7d50b28a-OSL\r\ncontent-length: 4108\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":61745,"size_decoded":4919,"mime_type":"text/css","magic":"ASCII text","md5":"563785e4e6df263987629c43ed40bc83","sha1":"3b87bb6a017f0e19e6d316796138165684c4c725","sha256":"8759223070e265ef21b4bce9cee5f456ed3df728af785cc26e238d1e368d4e49","sha512":"e77e8d5e6492533bc8232382c9b55df6ca34539e875a80246235757d79dc5d74d065a80b2c7aeb1ce003ce750681433bb7f1e2f50a44d3abf66b609980e2b154","ssdeep":"384:RovhbEgszthlY51cbeAitxA/avzPoD+5aVzyRD9gaENAtHu4g/ULEoywm7AKZN:xCMStuwPXOyUhAXQeE1wroN","tlshash":"b953794fbae32549ac4bb4389bfb6a56b272d417d28dccd0bc9ca118cf493d4489179c","first_seen":"2026-07-27T05:58:00.762372Z","last_seen":"2026-07-27T12:23:18.853583Z","times_seen":3,"resource_available":false,"data":"LyogTm9ybWFsIGRlc2t0b3AgOjEyMDBweC4gKi8KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkgewoKICAgIC5tb2JpbGUtbWVudS1hcmVhIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKCiAgICAvKiBoZWFkZXIgYXJlYSAqLwoKICAgIC5oZWFkZXItYXJlYTo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMjcwcHg7CiAgICB9CgogICAgLmhlYWRlci1tZW51IHVsIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDsKICAgIH0KCiAgICAuaGVhZGVyLXNlYXJjaCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogICAgfQoKICAgIC5MaWZlc2FmZS1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMTZweCAxNXB4OwogICAgfQoKICAgIC8qIHByb3RlY3Rpb24gYXJlYSAqLwoKICAgIC5wcm90ZWN0aW9uLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMzZweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtbGlzdCBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICB9CgogICAgLyogaW5zdXJhbmNlIGFyZWEgKi8KCiAgICAuaW5zdXJhbmNlLWFyZWE6OmJlZm9yZSB7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMXB4IDlweDsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94LWJ1dHRvbiBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHRlc3RpbW9uaWFsIGFyZWEgKi8KCiAgICAudGVzdGktdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAudGVzdGktY291bnRlciB7CiAgICAgICAgcmlnaHQ6IDIwcHg7CiAgICB9CgogICAgLyogYmxvZyBhcmVhICovCgogICAgLmJsb2ctY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMzBweCA2cHggMHB4OwogICAgfQoKICAgIC5ibG9nLW1vbnRoIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgIH0KCiAgICAuYmxvZy10ZXh0IGg0IGEgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgIH0KCiAgICAvKiBmb290ZXIgYXJlYSAqLwoKICAgIC5mb290ZXItd2lnZXQuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQtdGV4dCBoNCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgfQoKICAgIC5mb290ZXItc29jaWFsIHVsIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFR3byBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICAgIC8qIHNsaWRlciBhcmVhICovCgogICAgLnNsaWRlci1jb250ZW50LnN0eWxlLXR3byB7CiAgICAgICAgbGVmdDogMiU7CiAgICAgICAgd2lkdGg6IDUyJTsKICAgIH0KCiAgICAvKiBwcmljaW5nIGFyZWEgKi8KCiAgICAucHJpY2luZy1zaW5nbGUtYm94IHsKICAgICAgICBwYWRkaW5nOiAzNXB4IDExcHggMzBweDsKICAgIH0KCiAgICAucHJpY2luZy1jb250ZW50OjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEhvbWUgUGFnZSBUaHJlZSBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICAgIC8qIGhlYWRlciBhcmVhICovCiAgICAuaGVhZGVyLWFyZWEuc3R5bGUtdGhyZWU6OmJlZm9yZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC8qIHNlcnZpY2UgYXJlYSAqLwoKICAgIC5zZXJ2aWNlLWFyZWEgLmNvbnRhaW5lci1mbHVpZC5wbC0yMDAgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDUzcHg7CiAgICB9CgogICAgLyogZmFxIGFyZWEgKi8KCiAgICAuZmFxLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBBbGwgRGV0YWlscyBJbm5lciBQYWdlIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogc2VydmljZSBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAud2lkZ2V0LWRvd25sb2FkLWJ0biBhIHsKICAgICAgICBwYWRkaW5nOiAyMnB4IDQ4cHg7CiAgICB9CgogICAgLyogdGVhbSBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmFyZmlsbGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAucm93LmF1dGhvci1pbmZvIHsKICAgICAgICBtYXJnaW4tdG9wOiAtMTQwcHg7CiAgICB9CgogICAgLyogYmxvZyBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmxvZy1kZXRhaWxzLWNvbnRlbnQgaDQgewogICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtLnR3byB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7CiAgICB9CgogICAgLmJsb2ctaXRlbS1jb250ZW50IGg0IHsKICAgICAgICBmb250LXNpemU6IDE5cHg7CiAgICB9CgogICAgLndpZGdldC1yZWNlbnQtYm94IHsKICAgICAgICBwYWRkaW5nOiA1MHB4IDE1cHggNTVweDsKICAgIH0KCiAgICAuc2lkYmVyLXdpZGdldC1yZWNlbnQtcG9zdCB7CiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgfQoKfQoKCi8qIE5vcm1hbCBkZXNrdG9wIDo5OTJweC4gKi8KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7CgogICAgLm1vYmlsZS1tZW51LWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogdG9wYmFyIGFyZWEgKi8KCiAgICAudG9wYmFyLWl0ZW1zIHVsIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7CiAgICB9CgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAuaGVhZGVyLWFyZWE6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDE4MnB4OwogICAgfQoKICAgIC5sb2dvIGEgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuaGVhZGVyLW1lbnUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxMXB4OwogICAgfQoKICAgIC5oZWFkZXItbWVudSB1bCBsaSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7CiAgICB9CgogICAgLmhlYWRlci1tZW51IHVsIGxpIGEgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIH0KCiAgICAuaGVhZGVyLXNlYXJjaCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogICAgfQoKICAgIC5MaWZlc2FmZS1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMTNweCAxM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIH0KCiAgICAuaGVhZGVyLXNpZGViYXIgYSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5iYW5uZXItY2Fyb3VzZWwgLnNsaWRlLWl0ZW0gLmltYWdlLWxheWVyIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmhlcml0OwogICAgfQoKICAgIC5zbGlkZXItY29udGVudCB7CiAgICAgICAgd2lkdGg6IDc4JTsKICAgIH0KCiAgICAvKiBmZWF0dXJlIGFyZWEgKi8KCiAgICAuZmVhdHVyZS1zaW5nbGUtYm94IHsKICAgICAgICBwYWRkaW5nOiA0NXB4IDE0cHggMjNweDsKICAgIH0KCiAgICAuZmVhdHVyZS1jb250ZW50IGg0IHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogNTVweCAzMHB4IDA7CiAgICB9CgogICAgLyogcHJvdGVjdGlvbiBhcmVhICovCgogICAgLnByb3RlY3Rpb24tY29udGVudCBoNCB7CiAgICAgICAgZm9udC1zaXplOiAyOXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4OwogICAgfQoKICAgIC8qIGNob29zZSB1cyBhcmVhICovCgogICAgLmNob29zZS1saXN0IHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgIH0KCiAgICAuY2hvb3NlLWxpc3Qgc3BhbiBpIHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi50aHJlZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBpbnN1cmFuY2UgYXJlYSAqLwoKICAgIC5pbnN1cmFuY2UtYXJlYTo6YmVmb3JlIHsKICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOwogICAgfQoKICAgIC50YWIuaW5zdXJhbmNlLWxpc3QtdGFiIHVsIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSBhIHsKICAgICAgICBwYWRkaW5nOiA5cHggOXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94LWJ1dHRvbiBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHRlc3RpbW9uaWFsIGFyZWEgKi8KCiAgICAudGVzdGktc2luZ2xlLWJveCB7CiAgICAgICAgcGFkZGluZzogMzJweCAxNXB4IDQwcHg7CiAgICB9CgogICAgLnRlc3RpLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLnRlc3RpLWNvdW50ZXIgewogICAgICAgIHJpZ2h0OiAyMHB4OwogICAgfQoKICAgIC8qIGJsb2cgYXJlYSAqLwoKICAgIC5ibG9nLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMwcHggNnB4IDIwcHg7CiAgICB9CgogICAgLmJsb2ctbW9udGggewogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICB9CgogICAgLmJsb2ctdGV4dCBoNCBhIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLyogZm9vdGVyIGFyZWEgKi8KCiAgICAuZm9vdGVyLXdpZ2V0LmlubmVyIHsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgd2lkdGg6IDE0MCU7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lcjo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogNDAwcHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC10ZXh0IGg0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICB9CgogICAgLmZvb3Rlci1zb2NpYWwgdWwgbGkgewogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXIzIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVHdvIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogc2xpZGVyIGFyZWEgKi8KCiAgICAuc2xpZGVyLWNvbnRlbnQuc3R5bGUtdHdvIHsKICAgICAgICBsZWZ0OiAyJTsKICAgICAgICB3aWR0aDogNTclOwogICAgfQoKICAgIC8qIGNvdW50ZXIgYXJlYSAqLwoKICAgIC5jb3VudGVyLW51bWJlciB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICB9CgogICAgLmNvdW50ZXItbnVtYmVyIGg0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB9CgogICAgLmNvdW50ZXItY29udGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAvKiBwcmljaW5nIGFyZWEgKi8KCiAgICAucHJpY2luZy1zaW5nbGUtYm94IHsKICAgICAgICBwYWRkaW5nOiAzNXB4IDExcHggMzBweDsKICAgIH0KCiAgICAucHJpY2luZy1jb250ZW50OjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLnByaWNpbmctaWNvbiB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1jb250ZW50LnN0eWxlLXR3byB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMzBweCAxMHB4IDQwcHg7CiAgICAgICAgdG9wOiAtNTBweDsKICAgIH0KCiAgICBoNC5ibG9nLXR3byBhIHsKICAgICAgICBmb250LXNpemU6IDI3cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSB7CiAgICAgICAgcGFkZGluZzogMTJweCA2cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSBzcGFuOjpiZWZvcmUgewogICAgICAgIHRvcDogLTE2cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE3cHg7CiAgICB9CgogICAgLyogc29sdXRpb24gYXJlYSAqLwoKICAgIC5zZWN0aW9uLW1haW4tdGl0bGUuc29sdXRpb24gaDIgewogICAgICAgIGZvbnQtc2l6ZTogMzZweDsKICAgIH0KCgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEhvbWUgUGFnZSBUaHJlZSBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICAgIC8qIGhlYWRlciBhcmVhICovCiAgICAuaGVhZGVyLWFyZWEuc3R5bGUtdGhyZWU6OmJlZm9yZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC8qIHNsaWRlciBhcmVhICovCgogICAgLnNsaWRlci1jb250ZW50LnN0eWxlLXRocmVlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLnNlY3Rpb24tbWFpbi10aXRsZS5hYm91dDMgaDIgewogICAgICAgIGZvbnQtc2l6ZTogNDBweDsKICAgIH0KCiAgICAvKiBzZXJ2aWNlIGFyZWEgKi8KCiAgICAuc2VydmljZS1hcmVhIC5jb250YWluZXItZmx1aWQucGwtMjAwIHsKICAgICAgICBwYWRkaW5nOiAwIDAgMCA1M3B4OwogICAgfQoKICAgIC8qIGNob29zZSB1cyBhcmVhICovCgogICAgLnNlY3Rpb24tbWFpbi10aXRsZS5zdHlsZS10aHJlZS5pbm5lciBoMiB7CiAgICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEuc3R5bGUtdGhyZWUgLnNlY3Rpb24tbWFpbi10aXRsZSBoMiB7CiAgICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgfQoKICAgIC5wcm9qZWN0LWRpc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsKICAgIH0KCiAgICAucHJvamVjdC1idG4gewogICAgICAgIGxlZnQ6IDEyJTsKICAgIH0KCiAgICAvKiBmYXEgYXJlYSAqLwoKICAgIC5mYXEtdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIElubmVyIFBhZ2UgIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICAgIC8qIHByb2plY3QgZ3JpZCBpbm5lciBwYWdlICovCgogICAgLnByb2plY3QtZ3JpZC1jb250ZW50IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBsZWZ0OiAwcHg7CiAgICB9CgogICAgLyogY29udGFjdCBpbm5lciBwYWdlICAqLwoKICAgIC5jb250YWN0LXNpbmdsZS1ib3ggewogICAgICAgIHBhZGRpbmc6IDMwcHggMThweCAzMHB4OwogICAgfQoKICAgIC5jb250YWN0LXRpdGxlIGg0IHsKICAgICAgICBmb250LXNpemU6IDI1cHg7CiAgICB9CgogICAgLmNvbnRhY3QtaXRlbXMgewogICAgICAgIHBhZGRpbmc6IDE1cHggOHB4OwogICAgfQoKICAgIC5jb250YWN0LWljb24gewogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIGhlaWdodDogNTVweDsKICAgICAgICBsaW5lLWhlaWdodDogNTVweDsKICAgIH0KCiAgICAuY29udGFjdC1jb250ZW50IGg0IHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEFsbCBEZXRhaWxzIElubmVyIFBhZ2UgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBzZXJ2aWNlIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC53aWRnZXQtY29udGFjdC1ib3ggewogICAgICAgIHBhZGRpbmc6IDYzcHggMjBweCA1N3B4OwogICAgfQoKICAgIC53aWRnZXQtZG93bmxvYWQtYnRuIGEgewogICAgICAgIHBhZGRpbmc6IDIycHggMjFweDsKICAgIH0KCiAgICAuc2VydmljZS1saXN0LXRpdGxlIGg0IHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICB9CgogICAgLnNlcnZpY2UtZGV0aWFscy1saXN0IHNwYW4gewogICAgICAgIHBhZGRpbmc6IDAgMTZweCAwOwogICAgfQoKICAgIC53aWRnZXQtZG93bmxvYWQtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgZGV0YWlsYXMgaW5uZXIgcGFnZSAqLwoKICAgIC5wb3JqZWN0LWRldGlhbHMtZGlzY3JpcHRpb24uaW5uZXIgewogICAgICAgIG1hcmdpbjogMjBweCAwIDA7CiAgICB9CgogICAgLmFjY29yZGlvbiBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDI1cHggMTJweDsKICAgIH0KCiAgICAvKiB0ZWFtIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5iYXJmaWxsZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIHNwYW4ucHJvY2Vzcy1iYXIgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgIH0KCiAgICAucm93LmF1dGhvci1pbmZvIHsKICAgICAgICBtYXJnaW4tdG9wOiAtNzBweDsKICAgICAgICBwYWRkaW5nOiAzNXB4IDEwcHggMjVweDsKICAgIH0KCiAgICAvKiBibG9nIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5ibG9nLXRlYW0tdGh1bWIgewogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIC5ibG9nLXRlYW0tdGh1bWIgewogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtLnR3byB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDsKICAgIH0KCiAgICAuYmxvZy1pdGVtLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMTdweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LXRodW1iIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDsKICAgIH0KCiAgICAuY29udGVudC1tYWluIHsKICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1ib3g6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogLTEzcHg7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1ib3guaW5uZXIgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC5ibG9nLWNvbnRhY3QtYm94IHsKICAgICAgICBtYXJnaW4tbGVmdDogLTE3cHg7CiAgICB9CgogICAgLndpZGdldC1yZWNlbnQtYm94IHsKICAgICAgICBwYWRkaW5nOiA1MHB4IDE1cHggNTVweDsKICAgIH0KCiAgICAuc2lkYmVyLXdpZGdldC1yZWNlbnQtcG9zdCB7CiAgICAgICAgcGFkZGluZzogMTZweCAxMHB4OwogICAgfQoKICAgIC5yZWNlbnQtd2lkZ2V0LXRpdGxlIGg0IGEgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIH0KCiAgICAud2lkZ2V0LXRhZ3MgYSB7CiAgICAgICAgcGFkZGluZzogN3B4IDhweDsKICAgIH0KCgp9CgoKCi8qIFRhYmxldCBkZXNrdG9wIDo3NjhweC4gKi8KQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKCiAgICAubW9iaWxlLW1lbnUtYXJlYSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAuc2lkZWJhci1tZW51IHsKICAgICAgICBkaXNwbGF5OiBpbmhlcml0OwogICAgfQoKICAgIC8qIHRvcGJhciAqLwoKICAgIC50b3BiYXItYXJlYSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBoZWFkZXIgYXJlYSAqLwoKICAgIC5oZWFkZXItYXJlYSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBiYW5uZXIgc2VjdGlvbiAqLwoKICAgIC5iYW5uZXItY2Fyb3VzZWwgLnNsaWRlLWl0ZW0gLmltYWdlLWxheWVyIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmhlcml0OwogICAgfQoKICAgIC5zbGlkZXItY29udGVudCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMyU7CiAgICB9CgogICAgLnNsaWRlci1tYWluLXRpdGxlIGgxIHsKICAgICAgICBmb250LXNpemU6IDY4cHg7CiAgICB9CgogICAgLyogZmVhdHVyZSBhcmVhICovCgogICAgLmZlYXR1cmUtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMHB4IDAgNDJweDsKICAgIH0KCiAgICAuZmVhdHVyZS1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMCAwIDY1cHg7CiAgICB9CgogICAgLmFib3V0LXRodW1iIGltZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAvKiBzZXJ2aWNlIGFyZWEgKi8KCiAgICAuc2VydmljZS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2OHB4IDAgNDBweDsKICAgIH0KCiAgICAuc2VydmljZS1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQoKICAgIC8qIHByb2p0ZWN0aW9uIGFyZWEgKi8KCiAgICAucHJvdGVjdGlvbi1hcmVhIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDgwcHggMCAwOwogICAgfQoKICAgIC5wcm90ZWN0aW9uLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMzVweDsKICAgICAgICBsaW5lLWhlaWdodDogNTBweDsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLnByb3RlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQwcHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi1pdGVtcyB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuY2hvb3NlLXRodW1iLnRocmVlIHsKICAgICAgICByaWdodDogMDsKICAgIH0KCiAgICAvKiBpbnN1cmFuY2UgYXJlYSAqLwoKICAgIC5pbnN1cmFuY2UtYXJlYTo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7CiAgICB9CgogICAgLmluc3VyYW5jZS1mb3JtLWJveCBpbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmluc3VyYW5jZS1mb3JtLWJveC1idXR0b24gYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAvKiB0ZXN0aW1vbmlhbCBhcmVhICovCgogICAgLnRlc3RpbW9uaWFsLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC50ZXN0aS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC50ZXN0aS1jb3VudGVyIHsKICAgICAgICByaWdodDogMjBweDsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAwIDAgNDRweDsKICAgIH0KCiAgICAuYmxvZy1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC5ibG9nLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMwcHggMTZweCAyNXB4OwogICAgfQoKICAgIC5ibG9nLW1vbnRoIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgfQoKICAgIC8qIGZvb3RlciBhcmVhICovCgogICAgLmZvb3Rlci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2N3B4IDAgMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lcjMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lciB7CiAgICAgICAgbGVmdDogLTI4cHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lcjo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5mb290ZXItd2lnZXQtbG9nbyB7CiAgICAgICAgdG9wOiAtMjJweDsKICAgIH0KCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVHdvIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdHdvLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDFiZGIyICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogc2xpZGVyIGFyZWEgKi8KCiAgICAuc2xpZGVyLWNvbnRlbnQuc3R5bGUtdHdvIHsKICAgICAgICBsZWZ0OiAzJTsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEuc3R5bGUtdHdvIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNjRweDsKICAgIH0KCiAgICAvKiBjb3VudGVyIGFyZWEgKi8KCiAgICAuY291bnRlci1zaW5nbGUtYm94OjpiZWZvcmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogcHJpY2luZyBhcmVhICovCgogICAgLnByaWNpbmctYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQzcHg7CiAgICB9CgogICAgLnByaWNpbmctc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAucHJpY2luZy1pY29uIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgfQoKICAgIC5wcmljaW5nLWNvbnRlbnQ6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgIH0KCiAgICAvKiBnZXQgaW4gdG91Y2ggYXJlYSAqLwoKICAgIC5nZXQtaW4tdG91Y2gtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDcwcHg7CiAgICB9CgogICAgLmdldC1pbi10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIGJsb2cgYXJlYSAqLwoKICAgIC5ibG9nLWFyZWEuc3R5bGUtdHdvIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMjBweDsKICAgIH0KCiAgICAuYmxvZy1jb250ZW50LnN0eWxlLXR3byB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgdG9wOiAtMzBweDsKICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHggNDBweDsKICAgIH0KCiAgICBoNC5ibG9nLXR3byBhIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSB7CiAgICAgICAgcGFkZGluZzogMTJweCA2cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSBzcGFuOjpiZWZvcmUgewogICAgICAgIHRvcDogLTE3cHg7CiAgICAgICAgbGVmdDogLTZweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW4gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsKICAgIH0KCiAgICAvKiBzb2x1dGlvbiBhcmVhICovCgogICAgLkxpZmVzYWZlLWJ0bi5zb2x1dGlvbiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFRocmVlIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAubW9iaWxlLW1lbnUtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzQwNmFmZiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5tb2JpbGUtbWVudS1hcmVhLnN0eWxlLXRocmVlLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWZmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogc2xpZGVyIGFyZWEgKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5hY3RpdmUgLnNsaWRlLWl0ZW0uc3R5bGUtdGhyZWUgLmltYWdlLWxheWVyIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICB9CgogICAgLnNsaWRlci1jb250ZW50LnN0eWxlLXRocmVlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuc2xpZGVyLW1haW4tdGl0bGUuc3R5bGUtdGhyZWUgaDEgewogICAgICAgIGZvbnQtc2l6ZTogNzdweDsKICAgIH0KCiAgICAvKiBmZWF0dXJlIGFyZWEgKi8KCiAgICAuZmVhdHVyZS1kaXNjcmlwdGlvbiBwIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNTBweCAwIDY1cHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNjhweCAwIDc0cHg7CiAgICB9CgogICAgLnNlcnZpY2UtYXJlYSAuY29udGFpbmVyLWZsdWlkLnBsLTIwMCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWFyZWEgLm93bC1uYXYgewogICAgICAgIHRvcDogLTIxJTsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDBweDsKICAgIH0KCiAgICAuY2hvb3NlLXVzLWFyZWEuc3R5bGUtdGhyZWU6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBwcm9qZWN0IGFyZWEgKi8KCiAgICAucHJvamVjdC1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA2N3B4IDAgNDBweDsKICAgIH0KCiAgICAucHJvamVjdC1kaXNjcmlwdGlvbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgIH0KCiAgICAucHJvamVjdC1idG4gewogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyogZmFxIGFyZWEgKi8KCiAgICAuZmFxLWl0ZW1zLWJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIG5uZXIgUGFnZSAgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogYnJhdGNvbWUgYXJlYSAqLwoKICAgIC5icmVhdGNvbWUtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMTcwcHggMCAxMDBweDsKICAgIH0KCiAgICAuYnJhdGNvbWUtdGV4dCB7CiAgICAgICAgYm90dG9tOiAtMTE5cHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSBpbm5lciBwYWdlICovCgogICAgLmFib3V0LWFyZWEuaW5uZXItcGFnZSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDc0cHg7CiAgICB9CgogICAgLyogdGVhbSBhcmVhICovCgogICAgLnRlYW0tYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjZweCAwIDE0OHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIyIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDsKICAgIH0KCiAgICAudGVhbS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHByb2plY3QgaW5uZXIgcGFnZSBjc3MgKi8KCiAgICAucHJvamVjdC1ncmlkLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0NXB4OwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCgogICAgLyogZmFxIGlubmVyIHBhZ2UgY3NzICovCgogICAgLmZhcS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgNTlweDsKICAgIH0KCiAgICAvKiBjb250YWN0IGlubmVyIHBhZ2UgKi8KCiAgICAuY29udGFjdC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzRweDsKICAgIH0KCiAgICAuY29udGFjdC1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLyogRXJyb3IgaW5uZXIgcGFnZSAqLwoKICAgIC5lcnJvci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzNweDsKICAgIH0KCiAgICAuZmFxLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEFsbCBEZXRhaWxzIElubmVyIFBhZ2UgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBzZXJ2aWNlIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5zZXJ2aWNlLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzNweCAwIDM0cHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CgogICAgLyogcHJvamVjdCBkZXRhaWxhcyBpbm5lciBwYWdlICovCgogICAgLnByb2plY3QtZGV0aWFscy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNDhweDsKICAgIH0KCiAgICAucG9yamVjdC1kZXRpYWxzLWRpc2NyaXB0aW9uLmlubmVyIHsKICAgICAgICBtYXJnaW46IDIwcHggMCAwOwogICAgfQoKICAgIC8qIHRlYW0gZGV0YWlscyBpbm5lciBwYWdlICovCgogICAgLnRlYW0tZGV0YWlscy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgMDsKICAgIH0KCiAgICAucm93LmF1dGhvci1pbmZvIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgfQoKICAgIC8qIGJsb2cgZGV0YWlscyBpbm5lciBwYWdlICovCgogICAgLmJsb2ctZGV0YWlscy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNDdweDsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWxzLWNvbnRlbnQgaDQgewogICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICB9CgogICAgLmJsb2ctdGVhbS10aHVtYiB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWxzLWl0ZW0udHdvIHsKICAgICAgICBtYXJnaW4tbGVmdDogMHB4OwogICAgfQoKICAgIC5ibG9nLWl0ZW0tY29udGVudCBoNCB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtdGh1bWIgewogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1saXN0IGg2LnRpdGxlIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LWxpc3Qgc3Bhbi5kYXRlIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LWJveC5pbm5lciB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLndpZGdldF9zZWFyY2guYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC5yZWNlbnQtd2lkZ2V0LXRodW1iIHsKICAgICAgICBtYXJnaW4tdG9wOiAwcHg7CiAgICB9CgoKCn0KCgovKiBUYWJsZXQgZGVza3RvcCA6NjAwcHguICovCkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CgogICAgLm1vYmlsZS1tZW51LWFyZWEgewogICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7CiAgICB9CgogICAgLnNpZGViYXItbWVudSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAvKiB0b3BiYXIgKi8KCiAgICAudG9wYmFyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAuaGVhZGVyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogYmFubmVyIHNlY3Rpb24gKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5zbGlkZS1pdGVtIC5pbWFnZS1sYXllciB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiA2OHB4OwogICAgfQoKICAgIC8qIGZlYXR1cmUgYXJlYSAqLwoKICAgIC5mZWF0dXJlLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDBweCAwIDQycHg7CiAgICB9CgogICAgLmZlYXR1cmUtc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDAgMCA2NXB4OwogICAgfQoKICAgIC5hYm91dC10aHVtYiBpbWcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjhweCAwIDQwcHg7CiAgICB9CgogICAgLnNlcnZpY2Utc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KCiAgICAvKiBwcm9qdGVjdGlvbiBhcmVhICovCgogICAgLnByb3RlY3Rpb24tYXJlYSB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgICAgICBwYWRkaW5nOiA1MnB4IDAgMDsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLnByb3RlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQwcHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi1pdGVtcyB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuY2hvb3NlLXRodW1iLnRocmVlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIGluc3VyYW5jZSBhcmVhICovCgogICAgLmluc3VyYW5jZS1hcmVhOjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMXB4IDEzcHg7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC5pbnN1cmFuY2UtZm9ybS1ib3ggaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5pbnN1cmFuY2UtZm9ybS1ib3gtYnV0dG9uIGJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyogc2VjdGlvbiB0aXRsZSAqLwoKICAgIC5zZWN0aW9uLW1haW4tdGl0bGUgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMzdweDsKICAgIH0KCiAgICAvKiB0ZXN0aW1vbmlhbCBhcmVhICovCgogICAgLnRlc3RpbW9uaWFsLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC50ZXN0aS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC50ZXN0aS1jb3VudGVyIHsKICAgICAgICByaWdodDogMjBweDsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAwIDAgNDRweDsKICAgIH0KCiAgICAuYmxvZy1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC5ibG9nLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMwcHggMTZweCAyNXB4OwogICAgfQoKICAgIC5ibG9nLW1vbnRoIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgfQoKICAgIC8qIGZvb3RlciBhcmVhICovCgogICAgLmZvb3Rlci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2N3B4IDAgMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lcjMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lciB7CiAgICAgICAgbGVmdDogLTEzNXB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LWxvZ28gewogICAgICAgIHRvcDogLTIycHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC10ZXh0IGg0IHsKICAgICAgICB3aWR0aDogNTglOwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMjJweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFR3byBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdHdvLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDFiZGIyICFpbXBvcnRhbnQ7CiAgICB9CiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5zbGlkZXItY29udGVudC5zdHlsZS10d28gewogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYS5zdHlsZS10d28gewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA2NHB4OwogICAgfQoKICAgIC8qIGNvdW50ZXIgYXJlYSAqLwoKICAgIC5jb3VudGVyLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmNvdW50ZXItc2luZ2xlLWJveDo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC8qIHByaWNpbmcgYXJlYSAqLwoKICAgIC5wcmljaW5nLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA0M3B4OwogICAgfQoKICAgIC5wcmljaW5nLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLnByaWNpbmctaWNvbiB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAucHJpY2luZy1jb250ZW50OjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyogZ2V0IGluIHRvdWNoIGFyZWEgKi8KCiAgICAuZ2V0LWluLXRvdWNoLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC5nZXQtaW4tdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1hcmVhLnN0eWxlLXR3byB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDIwcHg7CiAgICB9CgogICAgLmJsb2ctY29udGVudC5zdHlsZS10d28gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHRvcDogLTMwcHg7CiAgICB9CgogICAgaDQuYmxvZy10d28gYSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OwogICAgfQoKICAgIC5ibG9nLW1ldGEgewogICAgICAgIHBhZGRpbmc6IDEycHggMTJweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW46OmJlZm9yZSB7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTNweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW4gewogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsKICAgIH0KCiAgICAvKiBzb2x1dGlvbiBhcmVhICovCgogICAgLkxpZmVzYWZlLWJ0bi5zb2x1dGlvbiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVGhyZWUgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBoZWFkZXIgYXJlYSAqLwoKICAgIC5tb2JpbGUtbWVudS1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWZmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdGhyZWUuc3RpY2t5LW1lbnUgewogICAgICAgIGJhY2tncm91bmQ6ICM0MDZhZmYgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5iYW5uZXItY2Fyb3VzZWwgLmFjdGl2ZSAuc2xpZGUtaXRlbS5zdHlsZS10aHJlZSAuaW1hZ2UtbGF5ZXIgewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQuc3R5bGUtdGhyZWUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZS5zdHlsZS10aHJlZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiA3N3B4OwogICAgfQoKICAgIC8qIGZlYXR1cmUgYXJlYSAqLwoKICAgIC5mZWF0dXJlLWRpc2NyaXB0aW9uIHAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSAqLwoKICAgIC5hYm91dC1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNjVweDsKICAgIH0KCiAgICAvKiBzZXJ2aWNlIGFyZWEgKi8KCiAgICAuc2VydmljZS1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA2OHB4IDAgNzRweDsKICAgIH0KCiAgICAuc2VydmljZS1hcmVhIC5jb250YWluZXItZmx1aWQucGwtMjAwIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICB9CgogICAgLnNlcnZpY2UtYXJlYSAub3dsLW5hdiB7CiAgICAgICAgdG9wOiAtMjElOwogICAgfQoKICAgIC8qIGNob29zZSB1cyBhcmVhICovCgogICAgLmNob29zZS11cy1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMHB4OwogICAgfQoKICAgIC5jaG9vc2UtdXMtYXJlYS5zdHlsZS10aHJlZTo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEuc3R5bGUtdGhyZWUgewogICAgICAgIHBhZGRpbmc6IDY3cHggMCA0MHB4OwogICAgfQoKICAgIC5wcm9qZWN0LWRpc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMzFweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIC5wcm9qZWN0LWJ0biB7CiAgICAgICAgbGVmdDogMDsKICAgIH0KCiAgICAvKiBjYWxsIGRvIGFjdGlvbiBhcmVhICovCgogICAgLmNhbGwtZG8tdGl0bGUgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMzdweDsKICAgICAgICBsaW5lLWhlaWdodDogNTNweDsKICAgIH0KCiAgICAvKiBmYXEgYXJlYSAqLwoKICAgIC5mYXEtaXRlbXMtYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIG5uZXIgUGFnZSAgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogYnJhdGNvbWUgYXJlYSAqLwoKICAgIC5icmVhdGNvbWUtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMTcwcHggMCAxMDBweDsKICAgIH0KCiAgICAuYnJhdGNvbWUtdGV4dCB7CiAgICAgICAgYm90dG9tOiAtMTE5cHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSBpbm5lciBwYWdlICovCgogICAgLmFib3V0LWFyZWEuaW5uZXItcGFnZSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDc0cHg7CiAgICB9CgogICAgLyogdGVhbSBhcmVhICovCgogICAgLnRlYW0tYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjZweCAwIDE0OHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIgewogICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIyIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDsKICAgIH0KCiAgICAudGVhbS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHByb2plY3QgaW5uZXIgcGFnZSBjc3MgKi8KCiAgICAucHJvamVjdC1ncmlkLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0NXB4OwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAucHJvamVjdC1ncmlkLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICB9CgogICAgLyogZmFxIGlubmVyIHBhZ2UgY3NzICovCgogICAgLmZhcS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgNTlweDsKICAgIH0KCiAgICAuZmFxLWFyZWEgLnJvdy5wLTkwIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5hY2NvcmRpb24gbGkgYSBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLmFjY29yZGlvbiBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHggMTJweDsKICAgIH0KCiAgICAvKiBjb250YWN0IGlubmVyIHBhZ2UgKi8KCiAgICAuY29udGFjdC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzRweDsKICAgIH0KCiAgICAuY29udGFjdC1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLyogRXJyb3IgaW5uZXIgcGFnZSAqLwoKICAgIC5lcnJvci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzNweDsKICAgIH0KCiAgICAuZmFxLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEFsbCBEZXRhaWxzIElubmVyIFBhZ2UgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBzZXJ2aWNlIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5zZXJ2aWNlLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzNweCAwIDM0cHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMjJweCAxMjhweDsKICAgIH0KCiAgICAuc2VydmljZS1kZXRhaWxzLXRpdGxlIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgZGV0YWlsYXMgaW5uZXIgcGFnZSAqLwoKICAgIC5wcm9qZWN0LWRldGlhbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDQ4cHg7CiAgICB9CgogICAgLnBvcmplY3QtZGV0aWFscy1kaXNjcmlwdGlvbi5pbm5lciB7CiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsKICAgIH0KCiAgICAvKiB0ZWFtIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC50ZWFtLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzJweCAwIDA7CiAgICB9CgogICAgLnRlYW0tZGV0YWlscy1hcmVhIC5wcm9jZXNzLWJlci1wbHVnaW4gewogICAgICAgIG1hcmdpbjogNDBweCAwIDA7CiAgICB9CgogICAgLnJvdy5hdXRob3ItaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAudGVhbS1hdXRob3Itc29jaWxhIHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgfQoKICAgIC50ZWFtLWF1dGhvci1zb2NpbGEgdWwgbGkgewogICAgICAgIG1hcmdpbjogMHB4IDBweCAwOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIH0KCgogICAgLyogYmxvZyBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmxvZy1kZXRhaWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0N3B4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtY29udGVudCBoNCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIH0KCiAgICAuYmxvZy10ZWFtLXRodW1iIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtLnR3byB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuYmxvZy1pdGVtLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LXRodW1iIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtbGlzdCBoNi50aXRsZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1saXN0IHNwYW4uZGF0ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1ib3guaW5uZXIgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC53aWRnZXRfc2VhcmNoLmJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuc2lkYmVyLXdpZGdldC1yZWNlbnQtcG9zdCB7CiAgICAgICAgcGFkZGluZzogMTZweCAxNXB4OwogICAgfQp9CgoKLyogc21hbGwgbW9iaWxlIDo1NzVweC4gKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzVweCkgYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7CgogICAgLm1vYmlsZS1tZW51LWFyZWEgewogICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7CiAgICB9CgogICAgLnNpZGViYXItbWVudSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAvKiB0b3BiYXIgKi8KCiAgICAudG9wYmFyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAuaGVhZGVyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogYmFubmVyIHNlY3Rpb24gKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5zbGlkZS1pdGVtIC5pbWFnZS1sYXllciB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiA2OHB4OwogICAgfQoKICAgIC8qIGZlYXR1cmUgYXJlYSAqLwoKICAgIC5mZWF0dXJlLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDBweCAwIDQycHg7CiAgICB9CgogICAgLmZlYXR1cmUtc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDAgMCA2NXB4OwogICAgfQoKICAgIC5hYm91dC10aHVtYiBpbWcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjhweCAwIDQwcHg7CiAgICB9CgogICAgLnNlcnZpY2Utc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KCiAgICAvKiBwcm9qdGVjdGlvbiBhcmVhICovCgogICAgLnByb3RlY3Rpb24tYXJlYSB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgICAgICBwYWRkaW5nOiA1MnB4IDAgMDsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLnByb3RlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQwcHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi1pdGVtcyB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuY2hvb3NlLXRodW1iLnRocmVlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIGluc3VyYW5jZSBhcmVhICovCgogICAgLmluc3VyYW5jZS1hcmVhOjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMXB4IDEzcHg7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC5pbnN1cmFuY2UtZm9ybS1ib3ggaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5pbnN1cmFuY2UtZm9ybS1ib3gtYnV0dG9uIGJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyogc2VjdGlvbiB0aXRsZSAqLwoKICAgIC5zZWN0aW9uLW1haW4tdGl0bGUgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMzdweDsKICAgIH0KCiAgICAvKiB0ZXN0aW1vbmlhbCBhcmVhICovCgogICAgLnRlc3RpbW9uaWFsLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC50ZXN0aS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC50ZXN0aS1jb3VudGVyIHsKICAgICAgICByaWdodDogMjBweDsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAwIDAgNDRweDsKICAgIH0KCiAgICAuYmxvZy1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC5ibG9nLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMwcHggMTZweCAyNXB4OwogICAgfQoKICAgIC5ibG9nLW1vbnRoIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgfQoKICAgIC8qIGZvb3RlciBhcmVhICovCgogICAgLmZvb3Rlci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2N3B4IDAgMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lcjMgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC5pbm5lciB7CiAgICAgICAgbGVmdDogLTEyMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LWxvZ28gewogICAgICAgIHRvcDogLTIycHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC10ZXh0IGg0IHsKICAgICAgICB3aWR0aDogNTglOwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMjJweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFR3byBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdHdvLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDFiZGIyICFpbXBvcnRhbnQ7CiAgICB9CiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5zbGlkZXItY29udGVudC5zdHlsZS10d28gewogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYS5zdHlsZS10d28gewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA2NHB4OwogICAgfQoKICAgIC8qIGNvdW50ZXIgYXJlYSAqLwoKICAgIC5jb3VudGVyLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmNvdW50ZXItc2luZ2xlLWJveDo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC8qIHByaWNpbmcgYXJlYSAqLwoKICAgIC5wcmljaW5nLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA0M3B4OwogICAgfQoKICAgIC5wcmljaW5nLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLnByaWNpbmctaWNvbiB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAucHJpY2luZy1jb250ZW50OjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyogZ2V0IGluIHRvdWNoIGFyZWEgKi8KCiAgICAuZ2V0LWluLXRvdWNoLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC5nZXQtaW4tdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuYmxvZy1hcmVhLnN0eWxlLXR3byB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDIwcHg7CiAgICB9CgogICAgLmJsb2ctY29udGVudC5zdHlsZS10d28gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHRvcDogLTMwcHg7CiAgICB9CgogICAgaDQuYmxvZy10d28gYSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OwogICAgfQoKICAgIC5ibG9nLW1ldGEgewogICAgICAgIHBhZGRpbmc6IDEycHggMTJweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW46OmJlZm9yZSB7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTNweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW4gewogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsKICAgIH0KCiAgICAvKiBzb2x1dGlvbiBhcmVhICovCgogICAgLkxpZmVzYWZlLWJ0bi5zb2x1dGlvbiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVGhyZWUgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBoZWFkZXIgYXJlYSAqLwoKICAgIC5tb2JpbGUtbWVudS1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWZmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdGhyZWUuc3RpY2t5LW1lbnUgewogICAgICAgIGJhY2tncm91bmQ6ICM0MDZhZmYgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5iYW5uZXItY2Fyb3VzZWwgLmFjdGl2ZSAuc2xpZGUtaXRlbS5zdHlsZS10aHJlZSAuaW1hZ2UtbGF5ZXIgewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQuc3R5bGUtdGhyZWUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZS5zdHlsZS10aHJlZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiA3N3B4OwogICAgfQoKICAgIC8qIGZlYXR1cmUgYXJlYSAqLwoKICAgIC5mZWF0dXJlLWRpc2NyaXB0aW9uIHAgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSAqLwoKICAgIC5hYm91dC1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNjVweDsKICAgIH0KCiAgICAvKiBzZXJ2aWNlIGFyZWEgKi8KCiAgICAuc2VydmljZS1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA2OHB4IDAgNzRweDsKICAgIH0KCiAgICAuc2VydmljZS1hcmVhIC5jb250YWluZXItZmx1aWQucGwtMjAwIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICB9CgogICAgLnNlcnZpY2UtYXJlYSAub3dsLW5hdiB7CiAgICAgICAgdG9wOiAtMTMlOwogICAgfQoKICAgIC8qIGNob29zZSB1cyBhcmVhICovCgogICAgLmNob29zZS11cy1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMHB4OwogICAgfQoKICAgIC5jaG9vc2UtdXMtYXJlYS5zdHlsZS10aHJlZTo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEuc3R5bGUtdGhyZWUgewogICAgICAgIHBhZGRpbmc6IDY3cHggMCA0MHB4OwogICAgfQoKICAgIC5wcm9qZWN0LWRpc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMzFweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIC5wcm9qZWN0LWJ0biB7CiAgICAgICAgbGVmdDogMDsKICAgIH0KCiAgICAvKiBjYWxsIGRvIGFjdGlvbiBhcmVhICovCgogICAgLmNhbGwtZG8tdGl0bGUgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMzdweDsKICAgICAgICBsaW5lLWhlaWdodDogNTNweDsKICAgIH0KCiAgICAvKiBmYXEgYXJlYSAqLwoKICAgIC5mYXEtaXRlbXMtYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIG5uZXIgUGFnZSAgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogYnJhdGNvbWUgYXJlYSAqLwoKICAgIC5icmVhdGNvbWUtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMTcwcHggMCAxMDBweDsKICAgIH0KCiAgICAuYnJhdGNvbWUtdGV4dCB7CiAgICAgICAgYm90dG9tOiAtMTE5cHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSBpbm5lciBwYWdlICovCgogICAgLmFib3V0LWFyZWEuaW5uZXItcGFnZSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDc0cHg7CiAgICB9CgogICAgLyogdGVhbSBhcmVhICovCgogICAgLnRlYW0tYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjZweCAwIDE0OHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIgewogICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIyIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDsKICAgIH0KCiAgICAudGVhbS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHByb2plY3QgaW5uZXIgcGFnZSBjc3MgKi8KCiAgICAucHJvamVjdC1ncmlkLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0NXB4OwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAucHJvamVjdC1ncmlkLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICB9CgogICAgLyogZmFxIGlubmVyIHBhZ2UgY3NzICovCgogICAgLmZhcS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgNTlweDsKICAgIH0KCiAgICAuZmFxLWFyZWEgLnJvdy5wLTkwIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5hY2NvcmRpb24gbGkgYSBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLmFjY29yZGlvbiBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHggMTJweDsKICAgIH0KCiAgICAvKiBjb250YWN0IGlubmVyIHBhZ2UgKi8KCiAgICAuY29udGFjdC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzRweDsKICAgIH0KCiAgICAuY29udGFjdC1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLyogRXJyb3IgaW5uZXIgcGFnZSAqLwoKICAgIC5lcnJvci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzNweDsKICAgIH0KCiAgICAuZmFxLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEFsbCBEZXRhaWxzIElubmVyIFBhZ2UgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBzZXJ2aWNlIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5zZXJ2aWNlLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzNweCAwIDM0cHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMjJweCAxNDVweDsKICAgIH0KCiAgICAuc2VydmljZS1kZXRhaWxzLXRpdGxlIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgZGV0YWlsYXMgaW5uZXIgcGFnZSAqLwoKICAgIC5wcm9qZWN0LWRldGlhbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDQ4cHg7CiAgICB9CgogICAgLnBvcmplY3QtZGV0aWFscy1kaXNjcmlwdGlvbi5pbm5lciB7CiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsKICAgIH0KCiAgICAvKiB0ZWFtIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC50ZWFtLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzJweCAwIDA7CiAgICB9CgogICAgLnRlYW0tZGV0YWlscy1hcmVhIC5wcm9jZXNzLWJlci1wbHVnaW4gewogICAgICAgIG1hcmdpbjogNDBweCAwIDA7CiAgICB9CgogICAgLnJvdy5hdXRob3ItaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAudGVhbS1hdXRob3Itc29jaWxhIHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgfQoKICAgIC50ZWFtLWF1dGhvci1zb2NpbGEgdWwgbGkgewogICAgICAgIG1hcmdpbjogMHB4IDBweCAwOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIH0KCgogICAgLyogYmxvZyBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmxvZy1kZXRhaWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0N3B4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtY29udGVudCBoNCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIH0KCiAgICAuYmxvZy10ZWFtLXRodW1iIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtLnR3byB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuYmxvZy1pdGVtLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LXRodW1iIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtbGlzdCBoNi50aXRsZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1saXN0IHNwYW4uZGF0ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLnRleHQtc20tZW5kIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtYm94LmlubmVyIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAud2lkZ2V0X3NlYXJjaC5ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLnNpZGJlci13aWRnZXQtcmVjZW50LXBvc3QgewogICAgICAgIHBhZGRpbmc6IDE2cHggMTJweDsKICAgIH0KCiAgICAgLyogbG9hZGVyIGNzcyAqLwoKICAgICAuc2hpZmEtcHJlbG9hZGVyIC5hbmltYXRpb24tcHJlbG9hZGVyIC50eHQtbG9hZGluZyAubGV0dGVycy1sb2FkaW5newogICAgICAgIGxldHRlci1zcGFjaW5nOiA4cHg7CiAgICAgIH0KfQoKLyogc21hbGwgbW9iaWxlIDo0ODBweC4gKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDU3NHB4KSB7CgogICAgLm1vYmlsZS1tZW51LWFyZWEgewogICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7CiAgICB9CgogICAgLnNpZGViYXItbWVudSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAvKiB0b3BiYXIgKi8KCiAgICAudG9wYmFyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAuaGVhZGVyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogYmFubmVyIHNlY3Rpb24gKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5zbGlkZS1pdGVtIC5pbWFnZS1sYXllciB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiA2MXB4OwogICAgfQoKICAgIC5MaWZlc2FmZS1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMTZweCAxNnB4OwogICAgfQoKICAgIC8qIGZlYXR1cmUgYXJlYSAqLwoKICAgIC5mZWF0dXJlLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDBweCAwIDQycHg7CiAgICB9CgogICAgLmZlYXR1cmUtc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDAgMCA2NXB4OwogICAgfQoKICAgIC5hYm91dC10aHVtYiBpbWcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjhweCAwIDQwcHg7CiAgICB9CgogICAgLnNlcnZpY2Utc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KCiAgICAvKiBwcm9qdGVjdGlvbiBhcmVhICovCgogICAgLnByb3RlY3Rpb24tYXJlYSB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgICAgICBwYWRkaW5nOiA1MnB4IDAgMDsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLnByb3RlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQwcHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi1pdGVtcyB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuY2hvb3NlLXRodW1iLnRocmVlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIGluc3VyYW5jZSBhcmVhICovCgogICAgLmluc3VyYW5jZS1hcmVhOjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7CiAgICB9CgogICAgLnRhYi5pbnN1cmFuY2UtbGlzdC10YWIgdWwgbGkgYSB7CiAgICAgICAgcGFkZGluZzogMTFweCAxM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94IGlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94LWJ1dHRvbiBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHNlY3Rpb24gdGl0bGUgKi8KCiAgICAuc2VjdGlvbi1tYWluLXRpdGxlIGgyIHsKICAgICAgICBmb250LXNpemU6IDM3cHg7CiAgICB9CgogICAgLyogdGVzdGltb25pYWwgYXJlYSAqLwoKICAgIC50ZXN0aW1vbmlhbC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgNzBweDsKICAgIH0KCiAgICAudGVzdGktdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAudGVzdGktY291bnRlciB7CiAgICAgICAgcmlnaHQ6IDIwcHg7CiAgICB9CgogICAgLyogYmxvZyBhcmVhICovCgogICAgLmJsb2ctYXJlYSB7CiAgICAgICAgcGFkZGluZzogMCAwIDQ0cHg7CiAgICB9CgogICAgLmJsb2ctc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAuYmxvZy1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAzMHB4IDE2cHggMjVweDsKICAgIH0KCiAgICAuYmxvZy1tb250aCB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgIH0KCiAgICAvKiBmb290ZXIgYXJlYSAqLwoKICAgIC5mb290ZXItYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjdweCAwIDBweDsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXIzIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXIgewogICAgICAgIGxlZnQ6IC03NHB4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LWxvZ28gewogICAgICAgIHRvcDogLTIycHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC10ZXh0IGg0IHsKICAgICAgICB3aWR0aDogNjglOwogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMjJweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFR3byBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdHdvLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDFiZGIyICFpbXBvcnRhbnQ7CiAgICB9CiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5zbGlkZXItY29udGVudC5zdHlsZS10d28gewogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYS5zdHlsZS10d28gewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA2NHB4OwogICAgfQoKICAgIC8qIGNvdW50ZXIgYXJlYSAqLwoKICAgIC5jb3VudGVyLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmNvdW50ZXItc2luZ2xlLWJveDo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIHByb2plY3QgYXJlYSAqLwoKICAgIC5wcm9qZWN0LWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC8qIHByaWNpbmcgYXJlYSAqLwoKICAgIC5wcmljaW5nLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA0M3B4OwogICAgfQoKICAgIC5wcmljaW5nLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLnByaWNpbmctaWNvbiB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KCiAgICAucHJpY2luZy1jb250ZW50OjpiZWZvcmUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyogZ2V0IGluIHRvdWNoIGFyZWEgKi8KCiAgICAuZ2V0LWluLXRvdWNoLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4OwogICAgfQoKICAgIC5nZXQtaW4tdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuZ2V0LWluLWNvbnRhY3QgewogICAgICAgIHBhZGRpbmc6IDUwcHggMTBweCA2OHB4OwogICAgfQoKICAgIC8qIGJsb2cgYXJlYSAqLwoKICAgIC5ibG9nLWFyZWEuc3R5bGUtdHdvIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMjBweDsKICAgIH0KCiAgICAuYmxvZy1jb250ZW50LnN0eWxlLXR3byB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgdG9wOiAtMzBweDsKICAgIH0KCiAgICBoNC5ibG9nLXR3byBhIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSB7CiAgICAgICAgcGFkZGluZzogMTJweCA2cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSBzcGFuOjpiZWZvcmUgewogICAgICAgIHRvcDogLTE0cHg7CiAgICAgICAgbGVmdDogLTdweDsKICAgIH0KCiAgICAuYmxvZy1tZXRhIHNwYW4gewogICAgICAgIG1hcmdpbi1yaWdodDogMTRweDsKICAgIH0KCiAgICAvKiBzb2x1dGlvbiBhcmVhICovCgogICAgLkxpZmVzYWZlLWJ0bi5zb2x1dGlvbiB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gSG9tZSBQYWdlIFRocmVlIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAubW9iaWxlLW1lbnUtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzQwNmFmZiAhaW1wb3J0YW50OwogICAgfQoKICAgIC5tb2JpbGUtbWVudS1hcmVhLnN0eWxlLXRocmVlLnN0aWNreS1tZW51IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWZmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogc2xpZGVyIGFyZWEgKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5hY3RpdmUgLnNsaWRlLWl0ZW0uc3R5bGUtdGhyZWUgLmltYWdlLWxheWVyIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICB9CgogICAgLnNsaWRlci1jb250ZW50LnN0eWxlLXRocmVlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuc2xpZGVyLW1haW4tdGl0bGUuc3R5bGUtdGhyZWUgaDEgewogICAgICAgIGZvbnQtc2l6ZTogNTdweDsKICAgICAgICBsaW5lLWhlaWdodDogNzBweDsKICAgIH0KCiAgICAvKiBmZWF0dXJlIGFyZWEgKi8KCiAgICAuZmVhdHVyZS1kaXNjcmlwdGlvbiBwIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNTBweCAwIDY1cHg7CiAgICB9CgogICAgLyogc2VydmljZSBhcmVhICovCgogICAgLnNlcnZpY2UtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNjhweCAwIDc0cHg7CiAgICB9CgogICAgLnNlcnZpY2UtYXJlYSAuY29udGFpbmVyLWZsdWlkLnBsLTIwMCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWFyZWEgLm93bC1uYXYgewogICAgICAgIHRvcDogLTEzJTsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDBweDsKICAgIH0KCiAgICAuY2hvb3NlLXVzLWFyZWEuc3R5bGUtdGhyZWU6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBwcm9qZWN0IGFyZWEgKi8KCiAgICAucHJvamVjdC1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBwYWRkaW5nOiA2N3B4IDAgNDBweDsKICAgIH0KCiAgICAucHJvamVjdC1kaXNjcmlwdGlvbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICAgIH0KCiAgICAucHJvamVjdC1idG4gewogICAgICAgIGxlZnQ6IDA7CiAgICB9CgogICAgLyogY2FsbCBkbyBhY3Rpb24gYXJlYSAqLwoKICAgIC5jYWxsLWRvLXRpdGxlIGgyIHsKICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7CiAgICB9CgogICAgLyogZmFxIGFyZWEgKi8KCiAgICAuZmFxLWl0ZW1zLWJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAvKiBibG9nIGFyZWEgKi8KCiAgICAuc2VjdGlvbi1zdWItdGl0bGUuc3R5bGUtdGhyZWUgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIG5uZXIgUGFnZSAgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogYnJhdGNvbSBhcmVhICovCgogICAgLmJyZWF0Y29tZS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAxNzBweCAwIDEwMHB4OwogICAgfQoKICAgIC5icmF0Y29tZS10ZXh0IHsKICAgICAgICBib3R0b206IC0xMTlweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhIGlubmVyIHBhZ2UgKi8KCiAgICAuYWJvdXQtYXJlYS5pbm5lci1wYWdlIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzRweDsKICAgIH0KCiAgICAvKiB0ZWFtIGFyZWEgKi8KCiAgICAudGVhbS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2NnB4IDAgMTQ4cHg7CiAgICB9CgogICAgLnRlYW0tc2luZ2xlLWJveC5pbm5lciB7CiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7CiAgICB9CgogICAgLnRlYW0tc2luZ2xlLWJveC5pbm5lcjIgewogICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OwogICAgfQoKICAgIC50ZWFtLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyogcHJvamVjdCBpbm5lciBwYWdlIGNzcyAqLwoKICAgIC5wcm9qZWN0LWdyaWQtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDQ1cHg7CiAgICB9CgogICAgLnByb2plY3QtZ3JpZC10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtY29udGVudCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgIHBhZGRpbmc6IDVweCAyOHB4IDA7CiAgICB9CgogICAgLyogZmFxIGlubmVyIHBhZ2UgY3NzICovCgogICAgLmZhcS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgNTlweDsKICAgIH0KCiAgICAuZmFxLWFyZWEgLnJvdy5wLTkwIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5hY2NvcmRpb24gbGkgYSBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLmFjY29yZGlvbiBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE1cHggMTJweDsKICAgIH0KCiAgICAvKiBjb250YWN0IGlubmVyIHBhZ2UgKi8KCiAgICAuY29udGFjdC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzRweDsKICAgIH0KCiAgICAuY29udGFjdC1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLyogRXJyb3IgaW5uZXIgcGFnZSAqLwoKICAgIC5lcnJvci1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNzNweDsKICAgIH0KCiAgICAuZmFxLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPC0tIEFsbCBEZXRhaWxzIElubmVyIFBhZ2UgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBzZXJ2aWNlIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC5zZXJ2aWNlLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzNweCAwIDM0cHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICB9CgogICAgLndpZGdldC1kb3dubG9hZC1idG4gYSB7CiAgICAgICAgcGFkZGluZzogMjJweCA5OHB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWRldGFpbHMtdGl0bGUgewogICAgICAgIG1hcmdpbi10b3A6IDMwcHg7CiAgICB9CgogICAgLyogcHJvamVjdCBkZXRhaWxhcyBpbm5lciBwYWdlICovCgogICAgLnByb2plY3QtZGV0aWFscy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDQ4cHg7CiAgICB9CgogICAgLnBvcmplY3QtZGV0aWFscy1kaXNjcmlwdGlvbi5pbm5lciB7CiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsKICAgIH0KCiAgICAvKiBwcm9qZWN0IGRldGFpbGFzIGlubmVyIHBhZ2UgKi8KCiAgICAucHJvamVjdC1kZXRpYWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0OHB4OwogICAgfQoKICAgIC5wb3JqZWN0LWRldGlhbHMtZGlzY3JpcHRpb24uaW5uZXIgewogICAgICAgIG1hcmdpbjogMjBweCAwIDA7CiAgICB9CgogICAgLyogdGVhbSBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAudGVhbS1kZXRhaWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDcycHggMCAwOwogICAgfQoKICAgIC50ZWFtLWRldGFpbHMtYXJlYSAucHJvY2Vzcy1iZXItcGx1Z2luIHsKICAgICAgICBtYXJnaW46IDQwcHggMCAwOwogICAgfQoKICAgIC5yb3cuYXV0aG9yLWluZm8gewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICB9CgogICAgLnRlYW0tYXV0aG9yLXNvY2lsYSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgIH0KCiAgICAudGVhbS1hdXRob3Itc29jaWxhIHVsIGxpIHsKICAgICAgICBtYXJnaW46IDBweCAwcHggMDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB9CgogICAgLyogYmxvZyBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmxvZy1kZXRhaWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0N3B4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtY29udGVudCBoNCB7CiAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWxzLXRhZyBoNiB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7CiAgICB9CgogICAgLmJsb2ctdGVhbS10aHVtYiB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtaXRlbSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtaXRlbS50d28gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLmJsb2ctaXRlbS1jb250ZW50IGg0IHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC10aHVtYiB7CiAgICAgICAgZmxvYXQ6IGluaGVyaXQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LWxpc3QgaDYudGl0bGUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtbGlzdCBzcGFuLmRhdGUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC50ZXh0LXNtLWVuZCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LWJveC5pbm5lciB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLndpZGdldF9zZWFyY2guYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC5yZWNlbnQtd2lkZ2V0LXRodW1iIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgfQoKICAgIC8qIGxvYWRlciBjc3MgKi8KCiAgICAuc2hpZmEtcHJlbG9hZGVyIC5hbmltYXRpb24tcHJlbG9hZGVyIC50eHQtbG9hZGluZyAubGV0dGVycy1sb2FkaW5newogICAgICAgIGZvbnQtc2l6ZTogNjBweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogOHB4OwogICAgICB9Cn0KCgovKiBzbWFsbCBtb2JpbGUgOjMyMHB4LiAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsKCiAgICAubW9iaWxlLW1lbnUtYXJlYSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAubW9iaWxlLWxvZ28gYSBpbWcgewogICAgICAgIHdpZHRoOiA1NiU7CiAgICB9CgogICAgLnNpZGViYXItbWVudSB7CiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsKICAgIH0KCiAgICAvKiB0b3BiYXIgKi8KCiAgICAudG9wYmFyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogaGVhZGVyIGFyZWEgKi8KCiAgICAuaGVhZGVyLWFyZWEgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogYmFubmVyIHNlY3Rpb24gKi8KCiAgICAuYmFubmVyLWNhcm91c2VsIC5zbGlkZS1pdGVtIC5pbWFnZS1sYXllciB7CiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogaW5oZXJpdDsKICAgIH0KCiAgICAuc2xpZGVyLWNvbnRlbnQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGxlZnQ6IDMlOwogICAgfQoKICAgIC5zbGlkZXItbWFpbi10aXRsZSBoMSB7CiAgICAgICAgZm9udC1zaXplOiAzOHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OwogICAgfQoKICAgIC5zbGlkZXItZGlzY3JpcHRpb24gcCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLkxpZmVzYWZlLWJ0biBhIHsKICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHg7CiAgICB9CgogICAgLyogc2VjdGlvbiB0aXRsZSAqLwoKICAgIC5zZWN0aW9uLXN1Yi10aXRsZSBoNCB7CiAgICAgICAgcGFkZGluZzogMHB4IDU3cHg7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgfQoKICAgIC5zZWN0aW9uLXN1Yi10aXRsZSBoNDo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgIH0KCiAgICAuc2VjdGlvbi1tYWluLXRpdGxlIGgyIHsKICAgICAgICBmb250LXNpemU6IDMwcHg7CiAgICB9CgogICAgLyogZmVhdHVyZSBhcmVhICovCgogICAgLmZlYXR1cmUtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMHB4IDAgNDJweDsKICAgIH0KCiAgICAuZmVhdHVyZS1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC8qIGFib3V0IGFyZWEgKi8KCiAgICAuYWJvdXQtYXJlYSB7CiAgICAgICAgcGFkZGluZzogMCAwIDY1cHg7CiAgICB9CgogICAgLmFib3V0LXRodW1iIGltZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAudGFiLmxpc3QtdGFiIHVsIGxpIGEgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgIH0KCiAgICAuYWJvdXQtbGlzdCB1bCBsaSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgfQoKICAgIC5hYm91dC11cy1waG9uZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBzZXJ2aWNlIGFyZWEgKi8KCiAgICAuc2VydmljZS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA2OHB4IDAgNDBweDsKICAgIH0KCiAgICAuc2VydmljZS1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDU1cHggMjRweCAwOwogICAgfQoKICAgIC8qIHByb2p0ZWN0aW9uIGFyZWEgKi8KCiAgICAucHJvdGVjdGlvbi1hcmVhIHsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDUycHggMCAwOwogICAgfQoKICAgIC5wcm90ZWN0aW9uLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMjlweDsKICAgICAgICBsaW5lLWhlaWdodDogNDJweDsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLnByb3RlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMTNweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdXMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQwcHg7CiAgICB9CgogICAgLmNob29zZS10aHVtYi1pdGVtcyB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuY2hvb3NlLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmNob29zZS10aHVtYi50aHJlZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBpbnN1cmFuY2UgYXJlYSAqLwoKICAgIC5pbnN1cmFuY2UtYXJlYTo6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7CiAgICB9CgogICAgdWwudGFicyB7CiAgICAgICAgbWFyZ2luOiAyMHB4IDEwcHggMzBweDsKICAgIH0KCiAgICAudGFiLmluc3VyYW5jZS1saXN0LXRhYiB1bCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94IGlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuaW5zdXJhbmNlLWZvcm0tYm94LWJ1dHRvbiBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC8qIHRlc3RpbW9uaWFsIGFyZWEgKi8KCiAgICAudGVzdGltb25pYWwtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDcwcHg7CiAgICB9CgogICAgLnRlc3RpLXNpbmdsZS1ib3ggewogICAgICAgIHBhZGRpbmc6IDMycHggMTBweCA0MHB4OwogICAgfQoKICAgIC50ZXN0aS1kaXNjcmlwdGlvbjo6YmVmb3JlIHsKICAgICAgICB0b3A6IDE3cHg7CiAgICB9CgogICAgLnRlc3RpLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLnRlc3RpLWNvdW50ZXIgewogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiA5MXB4OwogICAgfQoKICAgIC8qIGJsb2cgYXJlYSAqLwoKICAgIC5ibG9nLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDAgMCA0NHB4OwogICAgfQoKICAgIC5ibG9nLXNpbmdsZS1ib3ggewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICB9CgogICAgLmJsb2ctY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMzBweCAxNnB4IDI1cHg7CiAgICB9CgogICAgLmJsb2ctbW9udGggewogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7CiAgICB9CgogICAgLyogZm9vdGVyIGFyZWEgKi8KCiAgICAuZm9vdGVyLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDY3cHggMCAwcHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LmlubmVyMyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LmlubmVyIHsKICAgICAgICBsZWZ0OiAtN3B4OwogICAgfQoKICAgIC5mb290ZXItd2lnZXQuaW5uZXI6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuZm9vdGVyLXdpZ2V0LWxvZ28gewogICAgICAgIHRvcDogLTIycHg7CiAgICB9CgogICAgLmZvb3Rlci13aWdldC10ZXh0IGg0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgcGFkZGluZzogMCAwIDIycHg7CiAgICB9CgoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVHdvIENzcy0tPgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgICAubW9iaWxlLW1lbnUtYXJlYS5zdHlsZS10d28uc3RpY2t5LW1lbnUgewogICAgICAgIGJhY2tncm91bmQ6ICMwMWJkYjIgIWltcG9ydGFudDsKICAgIH0KICAgIC8qIHNsaWRlciBhcmVhICovCgogICAgLnNsaWRlci1jb250ZW50LnN0eWxlLXR3byB7CiAgICAgICAgbGVmdDogMyU7CiAgICB9CgogICAgLnNsaWRlci1zdWItdGl0bGUuc3R5bGUtdHdvIGg0IHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEuc3R5bGUtdHdvIHsKICAgICAgICBwYWRkaW5nOiA3NHB4IDAgNjRweDsKICAgIH0KCiAgICAvKiBjb3VudGVyIGFyZWEgKi8KCiAgICAuY291bnRlci1zaW5nbGUtYm94IHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQoKICAgIC5jb3VudGVyLXNpbmdsZS1ib3g6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiBwcm9qZWN0IGFyZWEgKi8KCiAgICAucHJvamVjdC1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MHB4IDAgNzBweDsKICAgIH0KCiAgICAvKiBjaG9vc2UgdXMgYXJlYSAqLwoKICAgIC5jaG9vc2UtdGV4dCB7CiAgICAgICAgd2lkdGg6IDMyNnB4OwogICAgICAgIGhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMjdweCA0MHB4IDA7CiAgICB9CgogICAgLmNob29zZS10ZXh0IGg0IHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICB9CgogICAgLyogcHJpY2luZyBhcmVhICovCgogICAgLnByaWNpbmctYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDQzcHg7CiAgICB9CgogICAgLnByaWNpbmctc2luZ2xlLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgICBwYWRkaW5nOiAzNXB4IDEzcHggMzBweDsKICAgIH0KCiAgICAucHJpY2luZy1pY29uIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgfQoKICAgIC5wcmljaW5nLWNvbnRlbnQ6OmJlZm9yZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgIH0KCiAgICAvKiBnZXQgaW4gdG91Y2ggYXJlYSAqLwoKICAgIC5nZXQtaW4tdG91Y2gtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzBweCAwIDcwcHg7CiAgICB9CgogICAgLmdldC1pbi10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5nZXQtaW4tY29udGFjdCB7CiAgICAgICAgcGFkZGluZzogNTBweCAxMHB4IDY4cHg7CiAgICB9CgogICAgLyogYmxvZyBhcmVhICovCgogICAgLmJsb2ctYXJlYS5zdHlsZS10d28gewogICAgICAgIHBhZGRpbmc6IDcwcHggMCAyMHB4OwogICAgfQoKICAgIC5ibG9nLWNvbnRlbnQuc3R5bGUtdHdvIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB0b3A6IC0zMHB4OwogICAgICAgIHBhZGRpbmc6IDMwcHggOHB4IDQwcHg7CiAgICB9CgogICAgaDQuYmxvZy10d28gYSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OwogICAgfQoKICAgIC5ibG9nLW1ldGEgewogICAgICAgIHBhZGRpbmc6IDEycHggNnB4OwogICAgfQoKICAgIC5ibG9nLW1ldGEgc3Bhbjo6YmVmb3JlIHsKICAgICAgICB0b3A6IC0xOHB4OwogICAgICAgIGxlZnQ6IC03cHg7CiAgICB9CgogICAgLmJsb2ctbWV0YSBzcGFuIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE5cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgfQoKICAgIHNwYW4uaW5uZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogc29sdXRpb24gYXJlYSAqLwoKICAgIC5MaWZlc2FmZS1idG4uc29sdXRpb24gewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCgoKICAgIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjwtLSBIb21lIFBhZ2UgVGhyZWUgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KCiAgICAvKiBoZWFkZXIgYXJlYSAqLwoKICAgIC5tb2JpbGUtbWVudS1hcmVhLnN0eWxlLXRocmVlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjNDA2YWZmICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm1vYmlsZS1tZW51LWFyZWEuc3R5bGUtdGhyZWUuc3RpY2t5LW1lbnUgewogICAgICAgIGJhY2tncm91bmQ6ICM0MDZhZmYgIWltcG9ydGFudDsKICAgIH0KCiAgICAvKiBzbGlkZXIgYXJlYSAqLwoKICAgIC5iYW5uZXItY2Fyb3VzZWwgLmFjdGl2ZSAuc2xpZGUtaXRlbS5zdHlsZS10aHJlZSAuaW1hZ2UtbGF5ZXIgewogICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgICAgICBoZWlnaHQ6IDc1MHB4OwogICAgfQoKICAgIC5zbGlkZXItY29udGVudC5zdHlsZS10aHJlZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLnNsaWRlci1tYWluLXRpdGxlLnN0eWxlLXRocmVlIGgxIHsKICAgICAgICBmb250LXNpemU6IDQxcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7CiAgICB9CgogICAgLyogZmVhdHVyZSBhcmVhICovCgogICAgLmZlYXR1cmUtZGlzY3JpcHRpb24gcCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KCiAgICAvKiBhYm91dCBhcmVhICovCgogICAgLmFib3V0LWFyZWEuc3R5bGUtdGhyZWUgewogICAgICAgIHBhZGRpbmc6IDUwcHggMCA2NXB4OwogICAgfQoKICAgIC8qIHNlcnZpY2UgYXJlYSAqLwoKICAgIC5zZXJ2aWNlLWFyZWEuc3R5bGUtdGhyZWUgewogICAgICAgIHBhZGRpbmc6IDY4cHggMCA3NHB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWFyZWEgLmNvbnRhaW5lci1mbHVpZC5wbC0yMDAgewogICAgICAgIHBhZGRpbmctbGVmdDogOXB4OwogICAgfQoKICAgIC5zZXJ2aWNlLWFyZWEgLm93bC1uYXYgewogICAgICAgIHRvcDogLTIwJTsKICAgIH0KCiAgICAuc2VydmljZS1hcmVhIC5vd2wtbmV4dCBpIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQ1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7CiAgICAgICAgZm9udC1zaXplOiAxN3B4OwogICAgfQoKICAgIC5zZXJ2aWNlLWFyZWEgLm93bC1wcmV2IGkgewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDVweDsKICAgICAgICBsaW5lLWhlaWdodDogNDVweDsKICAgICAgICBmb250LXNpemU6IDE3cHg7CiAgICB9CgogICAgLyogY2hvb3NlIHVzIGFyZWEgKi8KCiAgICAuY2hvb3NlLXVzLWFyZWEuc3R5bGUtdGhyZWUgewogICAgICAgIHBhZGRpbmc6IDcwcHggMCAwcHg7CiAgICB9CgogICAgLmNob29zZS11cy1hcmVhLnN0eWxlLXRocmVlOjpiZWZvcmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLnNlY3Rpb24tbWFpbi10aXRsZS5zdHlsZS10aHJlZS5pbm5lciBoMiB7CiAgICAgICAgZm9udC1zaXplOiAyNnB4OwogICAgfQoKICAgIC5jaG9vc2UtbGlzdCBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE3cHg7CiAgICB9CgogICAgLyogcHJvamVjdCBhcmVhICovCgogICAgLnByb2plY3QtYXJlYS5zdHlsZS10aHJlZSB7CiAgICAgICAgcGFkZGluZzogNjdweCAwIDQwcHg7CiAgICB9CgogICAgLnByb2plY3QtZGlzY3JpcHRpb24gewogICAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICB9CgogICAgLnByb2plY3QtYnRuIHsKICAgICAgICBsZWZ0OiAwOwogICAgfQoKICAgIC8qIGNhbGwgZG8gYWN0aW9uIGFyZWEgKi8KCiAgICAuY2FsbC1kby1hY3Rpb24tYXJlYSB7CiAgICAgICAgaGVpZ2h0OiA1MDJweDsKICAgIH0KCiAgICAudmlkZW8taWNvbi5zdHlsZS10aHJlZS5pbm5lciBhIHsKICAgICAgICBoZWlnaHQ6IDkwcHg7CiAgICAgICAgd2lkdGg6IDkwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDkwcHg7CiAgICB9CgogICAgLmNhbGwtZG8tdGl0bGUgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMjFweDsKICAgICAgICBsaW5lLWhlaWdodDogMzdweDsKICAgIH0KCiAgICAvKiBmYXEgYXJlYSAqLwoKICAgIC5mYXEtaXRlbXMtYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAzMHB4OwogICAgfQoKICAgIC8qIGJsb2cgYXJlYSAqLwoKICAgIC5zZWN0aW9uLXN1Yi10aXRsZS5zdHlsZS10aHJlZSBoNCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA8LS0gQWxsIG5uZXIgUGFnZSAgQ3NzLS0+Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCgogICAgLyogYnJhdGNvbSBhcmVhICovCgogICAgLmJyZWF0Y29tZS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiAxMjBweCAwIDEwMHB4OwogICAgfQoKICAgIC5icmVhdGNvbWUtdGl0bGUgaDEgewogICAgICAgIGZvbnQtc2l6ZTogMzRweDsKICAgIH0KCiAgICAuYnJlYXRjb21lLWRpc2NyaXB0aW9uIHAgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIH0KCiAgICAuYnJhdGNvbWUtdGV4dCB7CiAgICAgICAgYm90dG9tOiAtMTE5cHg7CiAgICAgICAgcGFkZGluZzogMjNweCAzMHB4OwogICAgfQoKICAgIC5icmF0Y29tZS10ZXh0IHVsIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICB9CgogICAgLyogYWJvdXQgYXJlYSBpbm5lciBwYWdlICovCgogICAgLmFib3V0LWFyZWEuaW5uZXItcGFnZSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDc0cHg7CiAgICB9CgogICAgLyogdGVhbSBhcmVhICovCgogICAgLnRlYW0tYXJlYSB7CiAgICAgICAgcGFkZGluZzogNjZweCAwIDE0OHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIgewogICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OwogICAgfQoKICAgIC50ZWFtLXNpbmdsZS1ib3guaW5uZXIyIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDsKICAgIH0KCiAgICAudGVhbS10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC50ZWFtLXNvY2lhbC1pY29uIHsKICAgICAgICByaWdodDogMHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgaW5uZXIgcGFnZSBjc3MgKi8KCiAgICAucHJvamVjdC1ncmlkLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0NXB4OwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtY29udGVudCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjhweCAwOwogICAgfQoKICAgIC5wcm9qZWN0LWdyaWQtY29udGVudCBoNCBhIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7CiAgICB9CgogICAgLyogZmFxIGlubmVyIHBhZ2UgY3NzICovCgogICAgLmZhcS1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3MnB4IDAgNTlweDsKICAgIH0KCiAgICAuZmFxLWFyZWEgLnJvdy5wLTkwIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5hY2NvcmRpb24gbGkgYSBzcGFuIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICB9CgogICAgLmFjY29yZGlvbiBsaSBhIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDZweCAxMnB4OwogICAgfQoKICAgIC5hY2NvcmRpb24gbGkgcCB7CiAgICAgICAgcGFkZGluZzogMTFweCA5cHggMjhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICB9CgogICAgLyogY29udGFjdCBpbm5lciBwYWdlICovCgogICAgLmNvbnRhY3QtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDc0cHg7CiAgICB9CgogICAgLnJvdy5jb250YWN0IHsKICAgICAgICBwYWRkaW5nOiAxMTBweCAwcHggNzBweDsKICAgIH0KCiAgICAuY29udGFjdC1zaW5nbGUtYm94IHsKICAgICAgICBwYWRkaW5nOiA2MHB4IDEwcHggMzBweDsKICAgIH0KCiAgICAuY29udGFjdC10aXRsZSBoNCB7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OwogICAgfQoKICAgIC5jb250YWN0LWJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAvKiBFcnJvciBpbm5lciBwYWdlICovCgogICAgLmVycm9yLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA3M3B4OwogICAgfQoKICAgIC5mYXEtdGh1bWIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuTGlmZXNhZmUtYnRuLmVycm9yIHsKICAgICAgICBtYXJnaW4tbGVmdDogNzBweDsKICAgIH0KCiAgICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo8LS0gQWxsIERldGFpbHMgSW5uZXIgUGFnZSBDc3MtLT4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwoKICAgIC8qIHNlcnZpY2UgZGV0YWlscyBpbm5lciBwYWdlICovCgogICAgLnNlcnZpY2UtZGV0YWlscy1hcmVhIHsKICAgICAgICBwYWRkaW5nOiA3M3B4IDAgMzRweDsKICAgIH0KCiAgICAud2lkZ2V0LWNvbnRhY3QtYm94IHsKICAgICAgICBwYWRkaW5nOiA2M3B4IDIwcHggNTdweDsKICAgIH0KCiAgICAud2lkZ2V0LWRvd25sb2FkLWJveCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KCiAgICAud2lkZ2V0LWRvd25sb2FkLWJ0biBhIHsKICAgICAgICBwYWRkaW5nOiAyMnB4IDE4cHg7CiAgICB9CgogICAgLnNlcnZpY2UtZGV0YWlscy10aXRsZSB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsKICAgIH0KCiAgICAuc2VydmljZS1kZXRpYWxzLWxpc3Qgc3BhbiB7CiAgICAgICAgcGFkZGluZzogMCAxN3B4IDA7CiAgICB9CgogICAgLnNlcnZpY2UtZGV0YWlscy10aXRsZSBoNCB7CiAgICAgICAgZm9udC1zaXplOiAzOHB4OwogICAgfQoKICAgIC8qIHByb2plY3QgZGV0YWlsYXMgaW5uZXIgcGFnZSAqLwoKICAgIC5wcm9qZWN0LWRldGlhbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzRweCAwIDQ4cHg7CiAgICB9CgogICAgLnBvcmplY3QtZGV0aWFscy1kaXNjcmlwdGlvbi5pbm5lciB7CiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDsKICAgIH0KCiAgICAvKiB0ZWFtIGRldGFpbHMgaW5uZXIgcGFnZSAqLwoKICAgIC50ZWFtLWRldGFpbHMtYXJlYSB7CiAgICAgICAgcGFkZGluZzogNzJweCAwIDA7CiAgICB9CgogICAgLnRlYW0tZGV0YWlscy1hcmVhIC5wcm9jZXNzLWJlci1wbHVnaW4gewogICAgICAgIG1hcmdpbjogNDBweCAwIDA7CiAgICB9CgogICAgc3Bhbi5wcm9jZXNzLWJhciB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC50ZWFtLWRldGFpbHMtYXJlYSAuYmFyZmlsbGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuYmFyZmlsbGVyIC50aXAgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICB0b3A6IC00MXB4OwogICAgfQoKICAgIC5yb3cuYXV0aG9yLWluZm8gewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgcGFkZGluZzogMzVweCAxMnB4IDI1cHg7CiAgICB9CgogICAgLnRlYW0tYXV0aG9yLXNvY2lsYSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgIH0KCiAgICAudGVhbS1hdXRob3Itc29jaWxhIHVsIGxpIHsKICAgICAgICBtYXJnaW46IDBweCAwcHggMDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB9CgogICAgLyogYmxvZyBkZXRhaWxzIGlubmVyIHBhZ2UgKi8KCiAgICAuYmxvZy1kZXRhaWxzLWFyZWEgewogICAgICAgIHBhZGRpbmc6IDc0cHggMCA0N3B4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtbWV0YSBzcGFuIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1jb250ZW50IGg0IHsKICAgICAgICBsaW5lLWhlaWdodDogNDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMzZweDsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWxzLXRhZyB7CiAgICAgICAgcGFkZGluZzogMjRweCAxMHB4OwogICAgfQoKICAgIC5ibG9nLWRldGFpbHMtdGFnIGg2IHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDsKICAgIH0KCiAgICAuYmxvZy1kZXRhaWxzLXRhZyBhIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KCiAgICAuYmxvZy10ZWFtLXRodW1iIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGZsb2F0OiBpbmhlcml0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICB9CgogICAgLmJsb2ctZGV0YWlscy1pdGVtLnR3byB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAuYmxvZy1pdGVtLWNvbnRlbnQgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KCiAgICAuYmxvZy1jb21tZW50LXRodW1iIHsKICAgICAgICBmbG9hdDogaW5oZXJpdDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtbGlzdCBoNi50aXRsZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLmJsb2ctY29tbWVudC1saXN0IHNwYW4uZGF0ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CgogICAgLnRleHQtc20tZW5kIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgfQoKICAgIC5ibG9nLWNvbW1lbnQtYm94LmlubmVyIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgIH0KCiAgICAuYmxvZy1jb250YWN0LWJveCB7CiAgICAgICAgcGFkZGluZzogMjBweCAxNnB4IDIwcHg7CiAgICB9CgogICAgLndpZGdldF9zZWFyY2guYm94IHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgfQoKICAgIC53aWRnZXQtcmVjZW50LWJveCB7CiAgICAgICAgcGFkZGluZzogNTBweCAxNXB4IDU1cHg7CiAgICB9CgogICAgLnNpZGJlci13aWRnZXQtcmVjZW50LXBvc3QgewogICAgICAgIHBhZGRpbmc6IDE2cHggMTBweDsKICAgIH0KCiAgICAucmVjZW50LXdpZGdldC10aHVtYiB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICB9CgogICAgLnJlY2VudC13aWRnZXQtdGl0bGUgaDQgYSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC53aWRnZXQtdGFncyBhIHsKICAgICAgICBwYWRkaW5nOiA3cHggOHB4OwogICAgfQoKICAgIC8qIHNpZGUgYmFyIGNzcyAqLwoKICAgIC5zaWRlYmFyLWdyb3VwIC5zaWRlYmFyLXdpZGdldCB7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgIH0KCiAgICAuc2lkZWJhci10ZXh0d2lkZ2V0IHsKICAgICAgICBwYWRkaW5nOiA0MHB4IDE1cHg7CiAgICB9CgogICAgLnNpZGViYXItZ3JvdXAgLndpZGdldC1oZWFkaW5nIHsKICAgICAgICB0b3A6IDQwcHg7CiAgICB9CgoKICAgIC8qIGxvYWRlciBjc3MgKi8KCiAgICAuc2hpZmEtcHJlbG9hZGVyIC5hbmltYXRpb24tcHJlbG9hZGVyIC50eHQtbG9hZGluZyAubGV0dGVycy1sb2FkaW5newogICAgICAgIGZvbnQtc2l6ZTogNDVweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogOHB4OwogICAgICB9Cn0="}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/js/jquery-1.12.4.min.js","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.929Z","timestamp":1785154927929,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/js/jquery-1.12.4.min.js HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sat, 07 Sep 2024 12:54:42 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\netag: \r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aIP028DddCIfwGGG9OKOZE5Cly8osdwFiDqQgbFhLpJo14nbnE%2BrarfZTwMNIk6e4p6RdX86nIuUXzncWfD%2BriRNj7qC9UurszJioehMdtKnwZ3qT82nMahTPWnJQfqM59C6gimSuv4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\ncf-ray: a21b9b9b8d59b28a-OSL\r\ncontent-length: 32859\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":97168,"size_decoded":33631,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (32077), with CRLF line terminators","md5":"618538b4ab9639d444e962729a927f15","sha1":"dacc1f76630a9708add066819b1aabf8dce01056","sha256":"27d92130c0321dad5a03760fd5ac98a3d04ed4c94d88418fe6d50da1f7fc5cbe","sha512":"bcb6754ea246939a19a917cc0b810e1753c1b0f1a8b1b7e652128ef15dee4fc79111e4d88fe12f9188449a307e82240d0261af402d783428edfe5785c860372d","ssdeep":"1536:jYE1JVoiB9JqZdXXe2pD3PgoIiulrUdTJ5Fk/zkZ4HjL5o8srOaS9TwDhb7/Jp96:y4J+03jL5TCOauTwDhFdnCVQNLa98Hrc","tlshash":"9693d7d9b6d6706287b734a851bf410bb17aa8eab40c4c60f058c8e47e74e9d507bf2d","first_seen":"2023-03-07T01:12:12Z","last_seen":"2026-08-10T05:01:09.649677Z","times_seen":5773,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMi40IHwgKGMpIGpRdWVyeSBGb3VuZGF0aW9uIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovDQohZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1hLmRvY3VtZW50P2IoYSwhMCk6ZnVuY3Rpb24oYSl7aWYoIWEuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIGIoYSl9OmIoYSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGEsYil7dmFyIGM9W10sZD1hLmRvY3VtZW50LGU9Yy5zbGljZSxmPWMuY29uY2F0LGc9Yy5wdXNoLGg9Yy5pbmRleE9mLGk9e30saj1pLnRvU3RyaW5nLGs9aS5oYXNPd25Qcm9wZXJ0eSxsPXt9LG09IjEuMTIuNCIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGU9YXJndW1lbnRzW2hdKSlmb3IoZCBpbiBlKWE9Z1tkXSxjPWVbZF0sZyE9PWMmJihqJiZjJiYobi5pc1BsYWluT2JqZWN0KGMpfHwoYj1uLmlzQXJyYXkoYykpKT8oYj8oYj0hMSxmPWEmJm4uaXNBcnJheShhKT9hOltdKTpmPWEmJm4uaXNQbGFpbk9iamVjdChhKT9hOnt9LGdbZF09bi5leHRlbmQoaixmLGMpKTp2b2lkIDAhPT1jJiYoZ1tkXT1jKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oYSl7cmV0dXJuImFycmF5Ij09PW4udHlwZShhKX0saXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWEmJmE9PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoIWF8fCJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO3RyeXtpZihhLmNvbnN0cnVjdG9yJiYhay5jYWxsKGEsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChjKXtyZXR1cm4hMX1pZighbC5vd25GaXJzdClmb3IoYiBpbiBhKXJldHVybiBrLmNhbGwoYSxiKTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ay5jYWxsKGEsYil9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2lbai5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmbi50cmltKGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHAsIm1zLSIpLnJlcGxhY2UocSxyKX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wO2lmKHMoYSkpe2ZvcihjPWEubGVuZ3RoO2M+ZDtkKyspaWYoYi5jYWxsKGFbZF0sZCxhW2RdKT09PSExKWJyZWFrfWVsc2UgZm9yKGQgaW4gYSlpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6KGErIiIpLnJlcGxhY2UobywiIil9LG1ha2VBcnJheTpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fFtdO3JldHVybiBudWxsIT1hJiYocyhPYmplY3QoYSkpP24ubWVyZ2UoYywic3RyaW5nIj09dHlwZW9mIGE/W2FdOmEpOmcuY2FsbChjLGEpKSxjfSxpbkFycmF5OmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihiKXtpZihoKXJldHVybiBoLmNhbGwoYixhLGMpO2ZvcihkPWIubGVuZ3RoLGM9Yz8wPmM/TWF0aC5tYXgoMCxkK2MpOmM6MDtkPmM7YysrKWlmKGMgaW4gYiYmYltjXT09PWEpcmV0dXJuIGN9cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGEsYil7dmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO3doaWxlKGM+ZClhW2UrK109YltkKytdO2lmKGMhPT1jKXdoaWxlKHZvaWQgMCE9PWJbZF0pYVtlKytdPWJbZCsrXTtyZXR1cm4gYS5sZW5ndGg9ZSxhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQsZT1bXSxmPTAsZz1hLmxlbmd0aCxoPSFjO2c+ZjtmKyspZD0hYihhW2ZdLGYpLGQhPT1oJiZlLnB1c2goYVtmXSk7cmV0dXJuIGV9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxnPTAsaD1bXTtpZihzKGEpKWZvcihkPWEubGVuZ3RoO2Q+ZztnKyspZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7ZWxzZSBmb3IoZyBpbiBhKWU9YihhW2ddLGcsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO3JldHVybiBmLmFwcGx5KFtdLGgpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGY7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYoZj1hW2JdLGI9YSxhPWYpLG4uaXNGdW5jdGlvbihhKT8oYz1lLmNhbGwoYXJndW1lbnRzLDIpLGQ9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGMuY29uY2F0KGUuY2FsbChhcmd1bWVudHMpKSl9LGQuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxuLmd1aWQrKyxkKTp2b2lkIDB9LG5vdzpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sc3VwcG9ydDpsfSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG4uZm5bU3ltYm9sLml0ZXJhdG9yXT1jW1N5bWJvbC5pdGVyYXRvcl0pLG4uZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtpWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHMoYSl7dmFyIGI9ISFhJiYibGVuZ3RoImluIGEmJmEubGVuZ3RoLGM9bi50eXBlKGEpO3JldHVybiJmdW5jdGlvbiI9PT1jfHxuLmlzV2luZG93KGEpPyExOiJhcnJheSI9PT1jfHwwPT09Ynx8Im51bWJlciI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhfXZhciB0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWdhKCksej1nYSgpLEE9Z2EoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz0xPDwzMSxEPXt9Lmhhc093blByb3BlcnR5LEU9W10sRj1FLnBvcCxHPUUucHVzaCxIPUUucHVzaCxJPUUuc2xpY2UsSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7ZD5jO2MrKylpZihhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sSz0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLEw9IltcXHgyMFxcdFxcclxcblxcZl0iLE09Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixOPSJcXFsiK0wrIiooIitNKyIpKD86IitMKyIqKFsqXiR8IX5dPz0pIitMKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrTSsiKSl8KSIrTCsiKlxcXSIsTz0iOigiK00rIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK04rIikqKXwuKilcXCl8KSIsUD1uZXcgUmVnRXhwKEwrIisiLCJnIiksUT1uZXcgUmVnRXhwKCJeIitMKyIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiK0wrIiskIiwiZyIpLFI9bmV3IFJlZ0V4cCgiXiIrTCsiKiwiK0wrIioiKSxTPW5ldyBSZWdFeHAoIl4iK0wrIiooWz4rfl18IitMKyIpIitMKyIqIiksVD1uZXcgUmVnRXhwKCI9IitMKyIqKFteXFxdJ1wiXSo/KSIrTCsiKlxcXSIsImciKSxVPW5ldyBSZWdFeHAoTyksVj1uZXcgUmVnRXhwKCJeIitNKyIkIiksVz17SUQ6bmV3IFJlZ0V4cCgiXiMoIitNKyIpIiksQ0xBU1M6bmV3IFJlZ0V4cCgiXlxcLigiK00rIikiKSxUQUc6bmV3IFJlZ0V4cCgiXigiK00rInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitOKSxQU0VVRE86bmV3IFJlZ0V4cCgiXiIrTyksQ0hJTEQ6bmV3IFJlZ0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIitMKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitMKyIqKD86KFsrLV18KSIrTCsiKihcXGQrKXwpKSIrTCsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrSysiKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK0wrIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrTCsiKigoPzotXFxkKT9cXGQqKSIrTCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLFk9L15oXGQkL2ksWj0vXltee10rXHtccypcW25hdGl2ZSBcdy8sJD0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLF89L1srfl0vLGFhPS8nfFxcL2csYmE9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IitMKyI/fCgiK0wrIil8LikiLCJpZyIpLGNhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iMHgiK2ItNjU1MzY7cmV0dXJuIGQhPT1kfHxjP2I6MD5kP1N0cmluZy5mcm9tQ2hhckNvZGUoZCs2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShkPj4xMHw1NTI5NiwxMDIzJmR8NTYzMjApfSxkYT1mdW5jdGlvbigpe20oKX07dHJ5e0guYXBwbHkoRT1JLmNhbGwodi5jaGlsZE5vZGVzKSx2LmNoaWxkTm9kZXMpLEVbdi5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZWEpe0g9e2FwcGx5OkUubGVuZ3RoP2Z1bmN0aW9uKGEsYil7Ry5hcHBseShhLEkuY2FsbChiKSl9OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD0wO3doaWxlKGFbYysrXT1iW2QrK10pO2EubGVuZ3RoPWMtMX19fWZ1bmN0aW9uIGZhKGEsYixkLGUpe3ZhciBmLGgsaixrLGwsbyxyLHMsdz1iJiZiLm93bmVyRG9jdW1lbnQseD1iP2Iubm9kZVR5cGU6OTtpZihkPWR8fFtdLCJzdHJpbmciIT10eXBlb2YgYXx8IWF8fDEhPT14JiY5IT09eCYmMTEhPT14KXJldHVybiBkO2lmKCFlJiYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4scCkpe2lmKDExIT09eCYmKG89JC5leGVjKGEpKSlpZihmPW9bMV0pe2lmKDk9PT14KXtpZighKGo9Yi5nZXRFbGVtZW50QnlJZChmKSkpcmV0dXJuIGQ7aWYoai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2UgaWYodyYmKGo9dy5nZXRFbGVtZW50QnlJZChmKSkmJnQoYixqKSYmai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2V7aWYob1syXSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkpLGQ7aWYoKGY9b1szXSkmJmMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGYpKSxkfWlmKGMucXNhJiYhQVthKyIgIl0mJighcXx8IXEudGVzdChhKSkpe2lmKDEhPT14KXc9YixzPWE7ZWxzZSBpZigib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7KGs9Yi5nZXRBdHRyaWJ1dGUoImlkIikpP2s9ay5yZXBsYWNlKGFhLCJcXCQmIik6Yi5zZXRBdHRyaWJ1dGUoImlkIixrPXUpLHI9ZyhhKSxoPXIubGVuZ3RoLGw9Vi50ZXN0KGspPyIjIitrOiJbaWQ9JyIraysiJ10iO3doaWxlKGgtLSlyW2hdPWwrIiAiK3FhKHJbaF0pO3M9ci5qb2luKCIsIiksdz1fLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGJ9aWYocyl0cnl7cmV0dXJuIEguYXBwbHkoZCx3LnF1ZXJ5U2VsZWN0b3JBbGwocykpLGR9Y2F0Y2goeSl7fWZpbmFsbHl7az09PXUmJmIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFEsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGdhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBoYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGlhKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24gamEoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1jLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIGxhKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYShhKXtyZXR1cm4gaGEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaGEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9ZmEuc3VwcG9ydD17fSxmPWZhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWZhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1uLmRvY3VtZW50RWxlbWVudCxwPSFmKG4pLChlPW4uZGVmYXVsdFZpZXcpJiZlLnRvcCE9PWUmJihlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZGEpKSxjLmF0dHJpYnV0ZXM9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1pYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1aLnRlc3Qobi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhbi5nZXRFbGVtZW50c0J5TmFtZXx8IW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGM/W2NdOltdfX0sZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn19KTooZGVsZXRlIGQuZmluZC5JRCxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlTm9kZSYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBjJiZjLnZhbHVlPT09Yn19KSxkLmZpbmQuVEFHPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWU/Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTpjLnFzYT9iLnF1ZXJ5U2VsZWN0b3JBbGwoYSk6dm9pZCAwfTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT0wLGY9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZigiKiI9PT1hKXt3aGlsZShjPWZbZSsrXSkxPT09Yy5ub2RlVHlwZSYmZC5wdXNoKGMpO3JldHVybiBkfXJldHVybiBmfSxkLmZpbmQuQ0xBU1M9Yy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZwP2IuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKTp2b2lkIDB9LHI9W10scT1bXSwoYy5xc2E9Wi50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpJiYoaWEoZnVuY3Rpb24oYSl7by5hcHBlbmRDaGlsZChhKS5pbm5lckhUTUw9IjxhIGlkPSciK3UrIic+PC9hPjxzZWxlY3QgaWQ9JyIrdSsiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IixhLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZxLnB1c2goIlsqXiRdPSIrTCsiKig/OicnfFwiXCIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxxLnB1c2goIlxcWyIrTCsiKig/OnZhbHVlfCIrSysiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK3UrIi1dIikubGVuZ3RofHxxLnB1c2goIn49IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8cS5wdXNoKCI6Y2hlY2tlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiYSMiK3UrIisqIikubGVuZ3RofHxxLnB1c2goIi4jLitbK35dIil9KSxpYShmdW5jdGlvbihhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZxLnB1c2goIm5hbWUiK0wrIipbKl4kfCF+XT89IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8cS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHEucHVzaCgiLC4qOiIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj1aLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmlhKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsImRpdiIpLHMuY2FsbChhLCJbcyE9JyddOngiKSxyLnB1c2goIiE9IixPKX0pLHE9cS5sZW5ndGgmJm5ldyBSZWdFeHAocS5qb2luKCJ8IikpLHI9ci5sZW5ndGgmJm5ldyBSZWdFeHAoci5qb2luKCJ8IikpLGI9Wi50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHQ9Ynx8Wi50ZXN0KG8uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sQj1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09bnx8YS5vd25lckRvY3VtZW50PT09diYmdCh2LGEpPy0xOmI9PT1ufHxiLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYik/MTprP0ooayxhKS1KKGssYik6MDo0JmQ/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgYyxkPTAsZT1hLnBhcmVudE5vZGUsZj1iLnBhcmVudE5vZGUsZz1bYV0saD1bYl07aWYoIWV8fCFmKXJldHVybiBhPT09bj8tMTpiPT09bj8xOmU/LTE6Zj8xOms/SihrLGEpLUooayxiKTowO2lmKGU9PT1mKXJldHVybiBrYShhLGIpO2M9YTt3aGlsZShjPWMucGFyZW50Tm9kZSlnLnVuc2hpZnQoYyk7Yz1iO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTt3aGlsZShnW2RdPT09aFtkXSlkKys7cmV0dXJuIGQ/a2EoZ1tkXSxoW2RdKTpnW2RdPT09dj8tMTpoW2RdPT09dj8xOjB9LG4pOm59LGZhLm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZmEoYSxudWxsLG51bGwsYil9LGZhLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe2lmKChhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSxiPWIucmVwbGFjZShULCI9JyQxJ10iKSxjLm1hdGNoZXNTZWxlY3RvciYmcCYmIUFbYisiICJdJiYoIXJ8fCFyLnRlc3QoYikpJiYoIXF8fCFxLnRlc3QoYikpKXRyeXt2YXIgZD1zLmNhbGwoYSxiKTtpZihkfHxjLmRpc2Nvbm5lY3RlZE1hdGNofHxhLmRvY3VtZW50JiYxMSE9PWEuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGR9Y2F0Y2goZSl7fXJldHVybiBmYShiLG4sbnVsbCxbYV0pLmxlbmd0aD4wfSxmYS5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybihhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSx0KGEsYil9LGZhLmF0dHI9ZnVuY3Rpb24oYSxiKXsoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSk7dmFyIGU9ZC5hdHRySGFuZGxlW2IudG9Mb3dlckNhc2UoKV0sZj1lJiZELmNhbGwoZC5hdHRySGFuZGxlLGIudG9Mb3dlckNhc2UoKSk/ZShhLGIsIXApOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09Zj9mOmMuYXR0cmlidXRlc3x8IXA/YS5nZXRBdHRyaWJ1dGUoYik6KGY9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZi5zcGVjaWZpZWQ/Zi52YWx1ZTpudWxsfSxmYS5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYSl9LGZhLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD1bXSxlPTAsZj0wO2lmKGw9IWMuZGV0ZWN0RHVwbGljYXRlcyxrPSFjLnNvcnRTdGFibGUmJmEuc2xpY2UoMCksYS5zb3J0KEIpLGwpe3doaWxlKGI9YVtmKytdKWI9PT1hW2ZdJiYoZT1kLnB1c2goZikpO3doaWxlKGUtLSlhLnNwbGljZShkW2VdLDEpfXJldHVybiBrPW51bGwsYX0sZT1mYS5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGM9IiIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoInN0cmluZyI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9ZmEuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aGEsbWF0Y2g6VyxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGJhLGNhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHwiIikucmVwbGFjZShiYSxjYSksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGZhLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmZhLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBXLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fCIiOmMmJlUudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09YT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn19LENMQVNTOmZ1bmN0aW9uKGEpe3ZhciBiPXlbYSsiICJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKCIoXnwiK0wrIikiK2ErIigiK0wrInwkKSIpKSYmeShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZSYmYS5jbGFzc05hbWV8fCJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWZhLmF0dHIoZCxhKTtyZXR1cm4gbnVsbD09ZT8iIT0iPT09YjpiPyhlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI/YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI/KCIgIitlLnJlcGxhY2UoUCwiICIpKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09Yj9lPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzPSFpJiYhaCx0PSExO2lmKHEpe2lmKGYpe3doaWxlKHApe209Yjt3aGlsZShtPW1bcF0paWYoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7bT1xLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4mJmpbMl0sbT1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoMT09PW0ubm9kZVR5cGUmJisrdCYmbT09PWIpe2tbYV09W3csbix0XTticmVha319ZWxzZSBpZihzJiYobT1iLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4pLHQ9PT0hMSl3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKSYmKyt0JiYocyYmKGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGtbYV09W3csdF0pLG09PT1iKSlicmVhaztyZXR1cm4gdC09ZSx0PT09ZHx8dCVkPT09MCYmdC9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9oYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpoYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUSwiJDEiKSk7cmV0dXJuIGRbdV0/aGEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczpoYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGZhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGJhLGNhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzpoYShmdW5jdGlvbihhKXtyZXR1cm4gVi50ZXN0KGF8fCIiKXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBYLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om5hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpuYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6bmEoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPWxhKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2Z1bmN0aW9uIHBhKCl7fXBhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcGEsZz1mYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXtjJiYhKGU9Ui5leGVjKGgpKXx8KGUmJihoPWguc2xpY2UoZVswXS5sZW5ndGgpfHxoKSxpLnB1c2goZj1bXSkpLGM9ITEsKGU9Uy5leGVjKGgpKSYmKGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmVbMF0ucmVwbGFjZShRLCIgIil9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtmb3IoZyBpbiBkLmZpbHRlcikhKGU9V1tnXS5leGVjKGgpKXx8altnXSYmIShlPWpbZ10oZSkpfHwoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZyxtYXRjaGVzOmV9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtpZighYylicmVha31yZXR1cm4gYj9oLmxlbmd0aDpoP2ZhLmVycm9yKGEpOnooYSxpKS5zbGljZSgwKX07ZnVuY3Rpb24gcWEoYSl7Zm9yKHZhciBiPTAsYz1hLmxlbmd0aCxkPSIiO2M+YjtiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiByYShhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1jJiYicGFyZW50Tm9kZSI9PT1kLGY9eCsrO3JldHVybiBiLmZpcnN0P2Z1bmN0aW9uKGIsYyxmKXt3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpcmV0dXJuIGEoYixjLGYpfTpmdW5jdGlvbihiLGMsZyl7dmFyIGgsaSxqLGs9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihqPWJbdV18fChiW3VdPXt9KSxpPWpbYi51bmlxdWVJRF18fChqW2IudW5pcXVlSURdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBrWzJdPWhbMl07aWYoaVtkXT1rLGtbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiBzYShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB0YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWZhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB1YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoYyYmIWMoZixkLGUpfHwoZy5wdXNoKGYpLGomJmIucHVzaChoKSkpO3JldHVybiBnfWZ1bmN0aW9uIHZhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXZhKGQpKSxlJiYhZVt1XSYmKGU9dmEoZSxmKSksaGEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dGEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dWEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXVhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj11YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24gd2EoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1yYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bcmEoc2EobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHZhKGk+MSYmc2EobSksaT4xJiZxYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFEsIiQxIiksYyxlPmkmJndhKGEuc2xpY2UoaSxlKSksZj5lJiZ3YShhPWEuc2xpY2UoZSkpLGY+ZSYmcWEoYSkpfW0ucHVzaChjKX1yZXR1cm4gc2EobSl9ZnVuY3Rpb24geGEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbyxxLHI9MCxzPSIwIix0PWYmJltdLHU9W10sdj1qLHg9Znx8ZSYmZC5maW5kLlRBRygiKiIsaykseT13Kz1udWxsPT12PzE6TWF0aC5yYW5kb20oKXx8LjEsej14Lmxlbmd0aDtmb3IoayYmKGo9Zz09PW58fGd8fGspO3MhPT16JiZudWxsIT0obD14W3NdKTtzKyspe2lmKGUmJmwpe289MCxnfHxsLm93bmVyRG9jdW1lbnQ9PT1ufHwobShsKSxoPSFwKTt3aGlsZShxPWFbbysrXSlpZihxKGwsZ3x8bixoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXkpfWMmJigobD0hcSYmbCkmJnItLSxmJiZ0LnB1c2gobCkpfWlmKHIrPXMsYyYmcyE9PXIpe289MDt3aGlsZShxPWJbbysrXSlxKHQsdSxnLGgpO2lmKGYpe2lmKHI+MCl3aGlsZShzLS0pdFtzXXx8dVtzXXx8KHVbc109Ri5jYWxsKGkpKTt1PXVhKHUpfUguYXBwbHkoaSx1KSxrJiYhZiYmdS5sZW5ndGg+MCYmcitiLmxlbmd0aD4xJiZmYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz15LGo9diksdH07cmV0dXJuIGM/aGEoZik6Zn1yZXR1cm4gaD1mYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9d2EoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHhhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1mYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9Vy5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLF8udGVzdChqWzBdLnR5cGUpJiZvYShiLnBhcmVudE5vZGUpfHxiKSkpe2lmKGouc3BsaWNlKGksMSksYT1mLmxlbmd0aCYmcWEoaiksIWEpcmV0dXJuIEguYXBwbHkoZSxmKSxlO2JyZWFrfX19cmV0dXJuKG58fGgoYSxvKSkoZixiLCFwLGUsIWJ8fF8udGVzdChhKSYmb2EoYi5wYXJlbnROb2RlKXx8YiksZX0sYy5zb3J0U3RhYmxlPXUuc3BsaXQoIiIpLnNvcnQoQikuam9pbigiIik9PT11LGMuZGV0ZWN0RHVwbGljYXRlcz0hIWwsbSgpLGMuc29ydERldGFjaGVkPWlhKGZ1bmN0aW9uKGEpe3JldHVybiAxJmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24obi5jcmVhdGVFbGVtZW50KCJkaXYiKSl9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxqYSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphLmdldEF0dHJpYnV0ZShiLCJ0eXBlIj09PWIudG9Mb3dlckNhc2UoKT8xOjIpfSksYy5hdHRyaWJ1dGVzJiZpYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxpbnB1dC8+IixhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxqYSgidmFsdWUiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY3x8ImlucHV0IiE9PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT92b2lkIDA6YS5kZWZhdWx0VmFsdWV9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8amEoSyxmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOmFbYl09PT0hMD9iLnRvTG93ZXJDYXNlKCk6KGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZC5zcGVjaWZpZWQ/ZC52YWx1ZTpudWxsfSksZmF9KGEpO24uZmluZD10LG4uZXhwcj10LnNlbGVjdG9ycyxuLmV4cHJbIjoiXT1uLmV4cHIucHNldWRvcyxuLnVuaXF1ZVNvcnQ9bi51bmlxdWU9dC51bmlxdWVTb3J0LG4udGV4dD10LmdldFRleHQsbi5pc1hNTERvYz10LmlzWE1MLG4uY29udGFpbnM9dC5jb250YWluczt2YXIgdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT12b2lkIDAhPT1jO3doaWxlKChhPWFbYl0pJiY5IT09YS5ub2RlVHlwZSlpZigxPT09YS5ub2RlVHlwZSl7aWYoZSYmbihhKS5pcyhjKSlicmVhaztkLnB1c2goYSl9cmV0dXJuIGR9LHY9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9LHc9bi5leHByLm1hdGNoLm5lZWRzQ29udGV4dCx4PS9ePChbXHctXSspXHMqXC8/Pig/OjxcL1wxPnwpJC8seT0vXi5bXjojXFtcLixdKiQvO2Z1bmN0aW9uIHooYSxiLGMpe2lmKG4uaXNGdW5jdGlvbihiKSlyZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1iIT09Y30pO2lmKCJzdHJpbmciPT10eXBlb2YgYil7aWYoeS50ZXN0KGIpKXJldHVybiBuLmZpbHRlcihiLGEsYyk7Yj1uLmZpbHRlcihiLGEpfXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gbi5pbkFycmF5KGEsYik+LTEhPT1jfSl9bi5maWx0ZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbMF07cmV0dXJuIGMmJihhPSI6bm90KCIrYSsiKSIpLDE9PT1iLmxlbmd0aCYmMT09PWQubm9kZVR5cGU/bi5maW5kLm1hdGNoZXNTZWxlY3RvcihkLGEpP1tkXTpbXTpuLmZpbmQubWF0Y2hlcyhhLG4uZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZX0pKX0sbi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPXRoaXMsZT1kLmxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIHRoaXMucHVzaFN0YWNrKG4oYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGI9MDtlPmI7YisrKWlmKG4uY29udGFpbnMoZFtiXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoYj0wO2U+YjtiKyspbi5maW5kKGEsZFtiXSxjKTtyZXR1cm4gYz10aGlzLnB1c2hTdGFjayhlPjE/bi51bmlxdWUoYyk6YyksYy5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IrIiAiK2E6YSxjfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMCkpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIXoodGhpcywic3RyaW5nIj09dHlwZW9mIGEmJncudGVzdChhKT9uKGEpOmF8fFtdLCExKS5sZW5ndGh9fSk7dmFyIEEsQj0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEM9bi5mbi5pbml0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZSxmO2lmKCFhKXJldHVybiB0aGlzO2lmKGM9Y3x8QSwic3RyaW5nIj09dHlwZW9mIGEpe2lmKGU9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOkIuZXhlYyhhKSwhZXx8IWVbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxjKS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihlWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBuP2JbMF06YixuLm1lcmdlKHRoaXMsbi5wYXJzZUhUTUwoZVsxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8YjpkLCEwKSkseC50ZXN0KGVbMV0pJiZuLmlzUGxhaW5PYmplY3QoYikpZm9yKGUgaW4gYiluLmlzRnVuY3Rpb24odGhpc1tlXSk/dGhpc1tlXShiW2VdKTp0aGlzLmF0dHIoZSxiW2VdKTtyZXR1cm4gdGhpc31pZihmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmZi5wYXJlbnROb2RlKXtpZihmLmlkIT09ZVsyXSlyZXR1cm4gQS5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1mfXJldHVybiB0aGlzLmNvbnRleHQ9ZCx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm4uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIGMucmVhZHk/Yy5yZWFkeShhKTphKG4pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG4ubWFrZUFycmF5KGEsdGhpcykpfTtDLnByb3RvdHlwZT1uLmZuLEE9bihkKTt2YXIgRD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxFPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O24uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGIsYz1uKGEsdGhpcyksZD1jLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2Q+YjtiKyspaWYobi5jb250YWlucyh0aGlzLGNbYl0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPXcudGVzdChhKXx8InN0cmluZyIhPXR5cGVvZiBhP24oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9uLnVuaXF1ZVNvcnQoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhPyJzdHJpbmciPT10eXBlb2YgYT9uLmluQXJyYXkodGhpc1swXSxuKGEpKTpuLmluQXJyYXkoYS5qcXVlcnk/YVswXTphLHRoaXMpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4udW5pcXVlU29ydChuLm1lcmdlKHRoaXMuZ2V0KCksbihhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBGKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1uLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsInBhcmVudE5vZGUiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBGKGEsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHYoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiB2KGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEsImlmcmFtZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6bi5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9bi5tYXAodGhpcyxiLGMpO3JldHVybiJVbnRpbCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmInN0cmluZyI9PXR5cGVvZiBkJiYoZT1uLmZpbHRlcihkLGUpKSx0aGlzLmxlbmd0aD4xJiYoRVthXXx8KGU9bi51bmlxdWVTb3J0KGUpKSxELnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEc9L1xTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0goYSk6bi5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe24uZWFjaChiLGZ1bmN0aW9uKGIsYyl7bi5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9ITAsY3x8ai5kaXNhYmxlKCksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan0sbi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPVtbInJlc29sdmUiLCJkb25lIixuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLG4uQ2FsbGJhY2tzKCJtZW1vcnkiKV1dLGM9InBlbmRpbmciLGQ9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBlLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbihjKXtuLmVhY2goYixmdW5jdGlvbihiLGYpe3ZhciBnPW4uaXNGdW5jdGlvbihhW2JdKSYmYVtiXTtlW2ZbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZyYmZy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYy5ub3RpZnkpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KTpjW2ZbMF0rIldpdGgiXSh0aGlzPT09ZD9jLnByb21pc2UoKTp0aGlzLGc/W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT9uLmV4dGVuZChhLGQpOmR9fSxlPXt9O3JldHVybiBkLnBpcGU9ZC50aGVuLG4uZWFjaChiLGZ1bmN0aW9uKGEsZil7dmFyIGc9ZlsyXSxoPWZbM107ZFtmWzFdXT1nLmFkZCxoJiZnLmFkZChmdW5jdGlvbigpe2M9aH0sYlsxXmFdWzJdLmRpc2FibGUsYlsyXVsyXS5sb2NrKSxlW2ZbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIGVbZlswXSsiV2l0aCJdKHRoaXM9PT1lP2Q6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGVbZlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxkLnByb21pc2UoZSksYSYmYS5jYWxsKGUsZSksZX0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj0wLGM9ZS5jYWxsKGFyZ3VtZW50cyksZD1jLmxlbmd0aCxmPTEhPT1kfHxhJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9kOjAsZz0xPT09Zj9hOm4uRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7YlthXT10aGlzLGNbYV09YXJndW1lbnRzLmxlbmd0aD4xP2UuY2FsbChhcmd1bWVudHMpOmQsYz09PWk/Zy5ub3RpZnlXaXRoKGIsYyk6LS1mfHxnLnJlc29sdmVXaXRoKGIsYyl9fSxpLGosaztpZihkPjEpZm9yKGk9bmV3IEFycmF5KGQpLGo9bmV3IEFycmF5KGQpLGs9bmV3IEFycmF5KGQpO2Q+YjtiKyspY1tiXSYmbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSk/Y1tiXS5wcm9taXNlKCkucHJvZ3Jlc3MoaChiLGosaSkpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpOi0tZjtyZXR1cm4gZnx8Zy5yZXNvbHZlV2l0aChrLGMpLGcucHJvbWlzZSgpfX0pO3ZhciBJO24uZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIG4ucmVhZHkucHJvbWlzZSgpLmRvbmUoYSksdGhpc30sbi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/bi5yZWFkeVdhaXQrKzpuLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLW4ucmVhZHlXYWl0Om4uaXNSZWFkeSl8fChuLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW4ucmVhZHlXYWl0PjB8fChJLnJlc29sdmVXaXRoKGQsW25dKSxuLmZuLnRyaWdnZXJIYW5kbGVyJiYobihkKS50cmlnZ2VySGFuZGxlcigicmVhZHkiKSxuKGQpLm9mZigicmVhZHkiKSkpKX19KTtmdW5jdGlvbiBKKCl7ZC5hZGRFdmVudExpc3RlbmVyPyhkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEspLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSykpOihkLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEspLGEuZGV0YWNoRXZlbnQoIm9ubG9hZCIsSykpfWZ1bmN0aW9uIEsoKXsoZC5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1hLmV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGUpJiYoSigpLG4ucmVhZHkoKSl9bi5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFJKWlmKEk9bi5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKWEuc2V0VGltZW91dChuLnJlYWR5KTtlbHNlIGlmKGQuYWRkRXZlbnRMaXN0ZW5lcilkLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEspLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSyk7ZWxzZXtkLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEspLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSyk7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJmQuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGUpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZigpe2lmKCFuLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYil7cmV0dXJuIGEuc2V0VGltZW91dChmLDUwKX1KKCksbi5yZWFkeSgpfX0oKX1yZXR1cm4gSS5wcm9taXNlKGIpfSxuLnJlYWR5LnByb21pc2UoKTt2YXIgTDtmb3IoTCBpbiBuKGwpKWJyZWFrO2wub3duRmlyc3Q9IjAiPT09TCxsLmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ITEsbihmdW5jdGlvbigpe3ZhciBhLGIsYyxlO2M9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGMmJmMuc3R5bGUmJihiPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoYiksInVuZGVmaW5lZCIhPXR5cGVvZiBiLnN0eWxlLnpvb20mJihiLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6aW5saW5lO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGwuaW5saW5lQmxvY2tOZWVkc0xheW91dD1hPTM9PT1iLm9mZnNldFdpZHRoLGEmJihjLnN0eWxlLnpvb209MSkpLGMucmVtb3ZlQ2hpbGQoZSkpfSksZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuZGVsZXRlRXhwYW5kbz0hMDt0cnl7ZGVsZXRlIGEudGVzdH1jYXRjaChiKXtsLmRlbGV0ZUV4cGFuZG89ITF9YT1udWxsfSgpO3ZhciBNPWZ1bmN0aW9uKGEpe3ZhciBiPW4ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifSxOPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sTz0vKFtBLVpdKS9nO2Z1bmN0aW9uIFAoYSxiLGMpe2lmKHZvaWQgMD09PWMmJjE9PT1hLm5vZGVUeXBlKXt2YXIgZD0iZGF0YS0iK2IucmVwbGFjZShPLCItJDEiKS50b0xvd2VyQ2FzZSgpO2lmKGM9YS5nZXRBdHRyaWJ1dGUoZCksInN0cmluZyI9PXR5cGVvZiBjKXt0cnl7Yz0idHJ1ZSI9PT1jPyEwOiJmYWxzZSI9PT1jPyExOiJudWxsIj09PWM/bnVsbDorYysiIj09PWM/K2M6Ti50ZXN0KGMpP24ucGFyc2VKU09OKGMpOmN9Y2F0Y2goZSl7fW4uZGF0YShhLGIsYyl9ZWxzZSBjPXZvaWQgMDsNCn1yZXR1cm4gY31mdW5jdGlvbiBRKGEpe3ZhciBiO2ZvcihiIGluIGEpaWYoKCJkYXRhIiE9PWJ8fCFuLmlzRW1wdHlPYmplY3QoYVtiXSkpJiYidG9KU09OIiE9PWIpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUihhLGIsZCxlKXtpZihNKGEpKXt2YXIgZixnLGg9bi5leHBhbmRvLGk9YS5ub2RlVHlwZSxqPWk/bi5jYWNoZTphLGs9aT9hW2hdOmFbaF0mJmg7aWYoayYmaltrXSYmKGV8fGpba10uZGF0YSl8fHZvaWQgMCE9PWR8fCJzdHJpbmciIT10eXBlb2YgYilyZXR1cm4ga3x8KGs9aT9hW2hdPWMucG9wKCl8fG4uZ3VpZCsrOmgpLGpba118fChqW2tdPWk/e306e3RvSlNPTjpuLm5vb3B9KSwib2JqZWN0IiE9dHlwZW9mIGImJiJmdW5jdGlvbiIhPXR5cGVvZiBifHwoZT9qW2tdPW4uZXh0ZW5kKGpba10sYik6altrXS5kYXRhPW4uZXh0ZW5kKGpba10uZGF0YSxiKSksZz1qW2tdLGV8fChnLmRhdGF8fChnLmRhdGE9e30pLGc9Zy5kYXRhKSx2b2lkIDAhPT1kJiYoZ1tuLmNhbWVsQ2FzZShiKV09ZCksInN0cmluZyI9PXR5cGVvZiBiPyhmPWdbYl0sbnVsbD09ZiYmKGY9Z1tuLmNhbWVsQ2FzZShiKV0pKTpmPWcsZn19ZnVuY3Rpb24gUyhhLGIsYyl7aWYoTShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP24uY2FjaGU6YSxoPWY/YVtuLmV4cGFuZG9dOm4uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bi5pc0FycmF5KGIpP2I9Yi5jb25jYXQobi5tYXAoYixuLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1uLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFRKGQpOiFuLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxRKGdbaF0pKSkmJihmP24uY2xlYW5EYXRhKFthXSwhMCk6bC5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPXZvaWQgMCl9fX1uLmV4dGVuZCh7Y2FjaGU6e30sbm9EYXRhOnsiYXBwbGV0ICI6ITAsImVtYmVkICI6ITAsIm9iamVjdCAiOiJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAifSxoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBhPWEubm9kZVR5cGU/bi5jYWNoZVthW24uZXhwYW5kb11dOmFbbi5leHBhbmRvXSwhIWEmJiFRKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUihhLGIsYyl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUyhhLGIpfSxfZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFIoYSxiLGMsITApfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe3JldHVybiBTKGEsYiwhMCl9fSksbi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1uLmRhdGEoZiksMT09PWYubm9kZVR5cGUmJiFuLl9kYXRhKGYsInBhcnNlZEF0dHJzIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZigiZGF0YS0iKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUChmLGQsZVtkXSkpKTtuLl9kYXRhKGYsInBhcnNlZEF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe24uZGF0YSh0aGlzLGEpfSk6YXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaChmdW5jdGlvbigpe24uZGF0YSh0aGlzLGEsYil9KTpmP1AoZixhLG4uZGF0YShmLGEpKTp2b2lkIDB9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24ucmVtb3ZlRGF0YSh0aGlzLGEpfSl9fSksbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYT8oYj0oYnx8ImZ4IikrInF1ZXVlIixkPW4uX2RhdGEoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPW4uX2RhdGEoYSxiLG4ubWFrZUFycmF5KGMpKTpkLnB1c2goYykpLGR8fFtdKTp2b2lkIDB9LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fCJmeCI7dmFyIGM9bi5xdWV1ZShhLGIpLGQ9Yy5sZW5ndGgsZT1jLnNoaWZ0KCksZj1uLl9xdWV1ZUhvb2tzKGEsYiksZz1mdW5jdGlvbigpe24uZGVxdWV1ZShhLGIpfTsiaW5wcm9ncmVzcyI9PT1lJiYoZT1jLnNoaWZ0KCksZC0tKSxlJiYoImZ4Ij09PWImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBmLnN0b3AsZS5jYWxsKGEsZyxmKSksIWQmJmYmJmYuZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihhLGIpe3ZhciBjPWIrInF1ZXVlSG9va3MiO3JldHVybiBuLl9kYXRhKGEsYyl8fG4uX2RhdGEoYSxjLHtlbXB0eTpuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtuLl9yZW1vdmVEYXRhKGEsYisicXVldWUiKSxuLl9yZW1vdmVEYXRhKGEsYyl9KX0pfX0pLG4uZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9ImZ4IixjLS0pLGFyZ3VtZW50cy5sZW5ndGg8Yz9uLnF1ZXVlKHRoaXNbMF0sYSk6dm9pZCAwPT09Yj90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPW4ucXVldWUodGhpcyxhLGIpO24uX3F1ZXVlSG9va3ModGhpcyxhKSwiZngiPT09YSYmImlucHJvZ3Jlc3MiIT09Y1swXSYmbi5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5kZXF1ZXVlKHRoaXMsYSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShhfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MSxlPW4uRGVmZXJyZWQoKSxmPXRoaXMsZz10aGlzLmxlbmd0aCxoPWZ1bmN0aW9uKCl7LS1kfHxlLnJlc29sdmVXaXRoKGYsW2ZdKX07InN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fCJmeCI7d2hpbGUoZy0tKWM9bi5fZGF0YShmW2ddLGErInF1ZXVlSG9va3MiKSxjJiZjLmVtcHR5JiYoZCsrLGMuZW1wdHkuYWRkKGgpKTtyZXR1cm4gaCgpLGUucHJvbWlzZShiKX19KSxmdW5jdGlvbigpe3ZhciBhO2wuc2hyaW5rV3JhcEJsb2Nrcz1mdW5jdGlvbigpe2lmKG51bGwhPWEpcmV0dXJuIGE7YT0hMTt2YXIgYixjLGU7cmV0dXJuIGM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGMmJmMuc3R5bGU/KGI9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGIuc3R5bGUuem9vbSYmKGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsYi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zdHlsZS53aWR0aD0iNXB4IixhPTMhPT1iLm9mZnNldFdpZHRoKSxjLnJlbW92ZUNoaWxkKGUpLGEpOnZvaWQgMH19KCk7dmFyIFQ9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrVCsiKShbYS16JV0qKSQiLCJpIiksVj1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW4uY3NzKGEsImRpc3BsYXkiKXx8IW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfTtmdW5jdGlvbiBYKGEsYixjLGQpe3ZhciBlLGY9MSxnPTIwLGg9ZD9mdW5jdGlvbigpe3JldHVybiBkLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBuLmNzcyhhLGIsIiIpfSxpPWgoKSxqPWMmJmNbM118fChuLmNzc051bWJlcltiXT8iIjoicHgiKSxrPShuLmNzc051bWJlcltiXXx8InB4IiE9PWomJitpKSYmVS5leGVjKG4uY3NzKGEsYikpO2lmKGsmJmtbM10hPT1qKXtqPWp8fGtbM10sYz1jfHxbXSxrPStpfHwxO2RvIGY9Znx8Ii41IixrLz1mLG4uc3R5bGUoYSxiLGsraik7d2hpbGUoZiE9PShmPWgoKS9pKSYmMSE9PWYmJi0tZyl9cmV0dXJuIGMmJihrPStrfHwraXx8MCxlPWNbMV0/aysoY1sxXSsxKSpjWzJdOitjWzJdLGQmJihkLnVuaXQ9aixkLnN0YXJ0PWssZC5lbmQ9ZSkpLGV9dmFyIFk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9MCxpPWEubGVuZ3RoLGo9bnVsbD09YztpZigib2JqZWN0Ij09PW4udHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKVkoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsbi5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKG4oYSksYyl9KSksYikpZm9yKDtpPmg7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sWj0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSwkPS88KFtcdzotXSspLyxfPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxhYT0vXlxzKy8sYmE9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0YWxpc3R8ZGV0YWlsc3xkaWFsb2d8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFpbnxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cGljdHVyZXxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGVtcGxhdGV8dGltZXx2aWRlbyI7ZnVuY3Rpb24gY2EoYSl7dmFyIGI9YmEuc3BsaXQoInwiKSxjPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2lmKGMuY3JlYXRlRWxlbWVudCl3aGlsZShiLmxlbmd0aCljLmNyZWF0ZUVsZW1lbnQoYi5wb3AoKSk7cmV0dXJuIGN9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxiPWQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2EuaW5uZXJIVE1MPSIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iLGwubGVhZGluZ1doaXRlc3BhY2U9Mz09PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSxsLnRib2R5PSFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxsLmh0bWxTZXJpYWxpemU9ISFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLGwuaHRtbDVDbG9uZT0iPDpuYXY+PC86bmF2PiIhPT1kLmNyZWF0ZUVsZW1lbnQoIm5hdiIpLmNsb25lTm9kZSghMCkub3V0ZXJIVE1MLGMudHlwZT0iY2hlY2tib3giLGMuY2hlY2tlZD0hMCxiLmFwcGVuZENoaWxkKGMpLGwuYXBwZW5kQ2hlY2tlZD1jLmNoZWNrZWQsYS5pbm5lckhUTUw9Ijx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLGwubm9DbG9uZUNoZWNrZWQ9ISFhLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxiLmFwcGVuZENoaWxkKGEpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGMuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxhLmFwcGVuZENoaWxkKGMpLGwuY2hlY2tDbG9uZT1hLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxsLm5vQ2xvbmVFdmVudD0hIWEuYWRkRXZlbnRMaXN0ZW5lcixhW24uZXhwYW5kb109MSxsLmF0dHJpYnV0ZXM9IWEuZ2V0QXR0cmlidXRlKG4uZXhwYW5kbyl9KCk7dmFyIGRhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDpsLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX07ZGEub3B0Z3JvdXA9ZGEub3B0aW9uLGRhLnRib2R5PWRhLnRmb290PWRhLmNvbGdyb3VwPWRhLmNhcHRpb249ZGEudGhlYWQsZGEudGg9ZGEudGQ7ZnVuY3Rpb24gZWEoYSxiKXt2YXIgYyxkLGU9MCxmPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bi5ub2RlTmFtZShkLGIpP2YucHVzaChkKTpuLm1lcmdlKGYsZWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm4ubm9kZU5hbWUoYSxiKT9uLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIGZhKGEsYil7Zm9yKHZhciBjLGQ9MDtudWxsIT0oYz1hW2RdKTtkKyspbi5fZGF0YShjLCJnbG9iYWxFdmFsIiwhYnx8bi5fZGF0YShiW2RdLCJnbG9iYWxFdmFsIikpfXZhciBnYT0vPHwmIz9cdys7LyxoYT0vPHRib2R5L2k7ZnVuY3Rpb24gaWEoYSl7Wi50ZXN0KGEudHlwZSkmJihhLmRlZmF1bHRDaGVja2VkPWEuY2hlY2tlZCl9ZnVuY3Rpb24gamEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZyxoLGksaixrLG0sbz1hLmxlbmd0aCxwPWNhKGIpLHE9W10scj0wO28+cjtyKyspaWYoZz1hW3JdLGd8fDA9PT1nKWlmKCJvYmplY3QiPT09bi50eXBlKGcpKW4ubWVyZ2UocSxnLm5vZGVUeXBlP1tnXTpnKTtlbHNlIGlmKGdhLnRlc3QoZykpe2k9aXx8cC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxqPSgkLmV4ZWMoZyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksbT1kYVtqXXx8ZGEuX2RlZmF1bHQsaS5pbm5lckhUTUw9bVsxXStuLmh0bWxQcmVmaWx0ZXIoZykrbVsyXSxmPW1bMF07d2hpbGUoZi0tKWk9aS5sYXN0Q2hpbGQ7aWYoIWwubGVhZGluZ1doaXRlc3BhY2UmJmFhLnRlc3QoZykmJnEucHVzaChiLmNyZWF0ZVRleHROb2RlKGFhLmV4ZWMoZylbMF0pKSwhbC50Ym9keSl7Zz0idGFibGUiIT09anx8aGEudGVzdChnKT8iPHRhYmxlPiIhPT1tWzFdfHxoYS50ZXN0KGcpPzA6aTppLmZpcnN0Q2hpbGQsZj1nJiZnLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGYtLSluLm5vZGVOYW1lKGs9Zy5jaGlsZE5vZGVzW2ZdLCJ0Ym9keSIpJiYhay5jaGlsZE5vZGVzLmxlbmd0aCYmZy5yZW1vdmVDaGlsZChrKX1uLm1lcmdlKHEsaS5jaGlsZE5vZGVzKSxpLnRleHRDb250ZW50PSIiO3doaWxlKGkuZmlyc3RDaGlsZClpLnJlbW92ZUNoaWxkKGkuZmlyc3RDaGlsZCk7aT1wLmxhc3RDaGlsZH1lbHNlIHEucHVzaChiLmNyZWF0ZVRleHROb2RlKGcpKTtpJiZwLnJlbW92ZUNoaWxkKGkpLGwuYXBwZW5kQ2hlY2tlZHx8bi5ncmVwKGVhKHEsImlucHV0IiksaWEpLHI9MDt3aGlsZShnPXFbcisrXSlpZihkJiZuLmluQXJyYXkoZyxkKT4tMSllJiZlLnB1c2goZyk7ZWxzZSBpZihoPW4uY29udGFpbnMoZy5vd25lckRvY3VtZW50LGcpLGk9ZWEocC5hcHBlbmRDaGlsZChnKSwic2NyaXB0IiksaCYmZmEoaSksYyl7Zj0wO3doaWxlKGc9aVtmKytdKV8udGVzdChnLnR5cGV8fCIiKSYmYy5wdXNoKGcpfXJldHVybiBpPW51bGwscH0hZnVuY3Rpb24oKXt2YXIgYixjLGU9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChsW2JdPWMgaW4gYSl8fChlLnNldEF0dHJpYnV0ZShjLCJ0IiksbFtiXT1lLmF0dHJpYnV0ZXNbY10uZXhwYW5kbz09PSExKTtlPW51bGx9KCk7dmFyIGthPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhKSQvaSxsYT0vXmtleS8sbWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLG5hPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxvYT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gcGEoKXtyZXR1cm4hMH1mdW5jdGlvbiBxYSgpe3JldHVybiExfWZ1bmN0aW9uIHJhKCl7dHJ5e3JldHVybiBkLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1mdW5jdGlvbiBzYShhLGIsYyxkLGUsZil7dmFyIGcsaDtpZigib2JqZWN0Ij09dHlwZW9mIGIpeyJzdHJpbmciIT10eXBlb2YgYyYmKGQ9ZHx8YyxjPXZvaWQgMCk7Zm9yKGggaW4gYilzYShhLGgsYyxkLGJbaF0sZik7cmV0dXJuIGF9aWYobnVsbD09ZCYmbnVsbD09ZT8oZT1jLGQ9Yz12b2lkIDApOm51bGw9PWUmJigic3RyaW5nIj09dHlwZW9mIGM/KGU9ZCxkPXZvaWQgMCk6KGU9ZCxkPWMsYz12b2lkIDApKSxlPT09ITEpZT1xYTtlbHNlIGlmKCFlKXJldHVybiBhO3JldHVybiAxPT09ZiYmKGc9ZSxlPWZ1bmN0aW9uKGEpe3JldHVybiBuKCkub2ZmKGEpLGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9Zy5ndWlkfHwoZy5ndWlkPW4uZ3VpZCsrKSksYS5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5hZGQodGhpcyxiLGUsZCxjKX0pfW4uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9bi5fZGF0YShhKTtpZihyKXtjLmhhbmRsZXImJihpPWMsYz1pLmhhbmRsZXIsZT1pLnNlbGVjdG9yKSxjLmd1aWR8fChjLmd1aWQ9bi5ndWlkKyspLChnPXIuZXZlbnRzKXx8KGc9ci5ldmVudHM9e30pLChrPXIuaGFuZGxlKXx8KGs9ci5oYW5kbGU9ZnVuY3Rpb24oYSl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBufHxhJiZuLmV2ZW50LnRyaWdnZXJlZD09PWEudHlwZT92b2lkIDA6bi5ldmVudC5kaXNwYXRjaC5hcHBseShrLmVsZW0sYXJndW1lbnRzKX0say5lbGVtPWEpLGI9KGJ8fCIiKS5tYXRjaChHKXx8WyIiXSxoPWIubGVuZ3RoO3doaWxlKGgtLSlmPW9hLmV4ZWMoYltoXSl8fFtdLG89cT1mWzFdLHA9KGZbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxvJiYoaj1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGU/ai5kZWxlZ2F0ZVR5cGU6ai5iaW5kVHlwZSl8fG8saj1uLmV2ZW50LnNwZWNpYWxbb118fHt9LGw9bi5leHRlbmQoe3R5cGU6byxvcmlnVHlwZTpxLGRhdGE6ZCxoYW5kbGVyOmMsZ3VpZDpjLmd1aWQsc2VsZWN0b3I6ZSxuZWVkc0NvbnRleHQ6ZSYmbi5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGUpLG5hbWVzcGFjZTpwLmpvaW4oIi4iKX0saSksKG09Z1tvXSl8fChtPWdbb109W10sbS5kZWxlZ2F0ZUNvdW50PTAsai5zZXR1cCYmai5zZXR1cC5jYWxsKGEsZCxwLGspIT09ITF8fChhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKG8saywhMSk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK28saykpKSxqLmFkZCYmKGouYWRkLmNhbGwoYSxsKSxsLmhhbmRsZXIuZ3VpZHx8KGwuaGFuZGxlci5ndWlkPWMuZ3VpZCkpLGU/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxsKTptLnB1c2gobCksbi5ldmVudC5nbG9iYWxbb109ITApO2E9bnVsbH19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1uLmhhc0RhdGEoYSkmJm4uX2RhdGEoYSk7aWYociYmKGs9ci5ldmVudHMpKXtiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD1vYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW0ubGVuZ3RoO3doaWxlKGYtLSlnPW1bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG4ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW4uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bi5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG4uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZSxmKXt2YXIgZyxoLGksaixsLG0sbyxwPVtlfHxkXSxxPWsuY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscj1rLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihpPW09ZT1lfHxkLDMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmIW5hLnRlc3QocStuLmV2ZW50LnRyaWdnZXJlZCkmJihxLmluZGV4T2YoIi4iKT4tMSYmKHI9cS5zcGxpdCgiLiIpLHE9ci5zaGlmdCgpLHIuc29ydCgpKSxoPXEuaW5kZXhPZigiOiIpPDAmJiJvbiIrcSxiPWJbbi5leHBhbmRvXT9iOm5ldyBuLkV2ZW50KHEsIm9iamVjdCI9PXR5cGVvZiBiJiZiKSxiLmlzVHJpZ2dlcj1mPzI6MyxiLm5hbWVzcGFjZT1yLmpvaW4oIi4iKSxiLnJuYW1lc3BhY2U9Yi5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrci5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKTpudWxsLGIucmVzdWx0PXZvaWQgMCxiLnRhcmdldHx8KGIudGFyZ2V0PWUpLGM9bnVsbD09Yz9bYl06bi5tYWtlQXJyYXkoYyxbYl0pLGw9bi5ldmVudC5zcGVjaWFsW3FdfHx7fSxmfHwhbC50cmlnZ2VyfHxsLnRyaWdnZXIuYXBwbHkoZSxjKSE9PSExKSl7aWYoIWYmJiFsLm5vQnViYmxlJiYhbi5pc1dpbmRvdyhlKSl7Zm9yKGo9bC5kZWxlZ2F0ZVR5cGV8fHEsbmEudGVzdChqK3EpfHwoaT1pLnBhcmVudE5vZGUpO2k7aT1pLnBhcmVudE5vZGUpcC5wdXNoKGkpLG09aTttPT09KGUub3duZXJEb2N1bWVudHx8ZCkmJnAucHVzaChtLmRlZmF1bHRWaWV3fHxtLnBhcmVudFdpbmRvd3x8YSl9bz0wO3doaWxlKChpPXBbbysrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW8+MT9qOmwuYmluZFR5cGV8fHEsZz0obi5fZGF0YShpLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm4uX2RhdGEoaSwiaGFuZGxlIiksZyYmZy5hcHBseShpLGMpLGc9aCYmaVtoXSxnJiZnLmFwcGx5JiZNKGkpJiYoYi5yZXN1bHQ9Zy5hcHBseShpLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7aWYoYi50eXBlPXEsIWYmJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYoIWwuX2RlZmF1bHR8fGwuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKT09PSExKSYmTShlKSYmaCYmZVtxXSYmIW4uaXNXaW5kb3coZSkpe209ZVtoXSxtJiYoZVtoXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xO3RyeXtlW3FdKCl9Y2F0Y2gocyl7fW4uZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxtJiYoZVtoXT1tKX1yZXR1cm4gYi5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KG4uX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVthLnR5cGVdfHxbXSxrPW4uZXZlbnQuc3BlY2lhbFthLnR5cGVdfHx7fTtpZihpWzBdPWEsYS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFrLnByZURpc3BhdGNofHxrLnByZURpc3BhdGNoLmNhbGwodGhpcyxhKSE9PSExKXtoPW4uZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGEsaiksYj0wO3doaWxlKChmPWhbYisrXSkmJiFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2EuY3VycmVudFRhcmdldD1mLmVsZW0sYz0wO3doaWxlKChnPWYuaGFuZGxlcnNbYysrXSkmJiFhLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpYS5ybmFtZXNwYWNlJiYhYS5ybmFtZXNwYWNlLnRlc3QoZy5uYW1lc3BhY2UpfHwoYS5oYW5kbGVPYmo9ZyxhLmRhdGE9Zy5kYXRhLGQ9KChuLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWQmJihhLnJlc3VsdD1kKT09PSExJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxhKSxhLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPWIuZGVsZWdhdGVDb3VudCxpPWEudGFyZ2V0O2lmKGgmJmkubm9kZVR5cGUmJigiY2xpY2siIT09YS50eXBlfHxpc05hTihhLmJ1dHRvbil8fGEuYnV0dG9uPDEpKWZvcig7aSE9dGhpcztpPWkucGFyZW50Tm9kZXx8dGhpcylpZigxPT09aS5ub2RlVHlwZSYmKGkuZGlzYWJsZWQhPT0hMHx8ImNsaWNrIiE9PWEudHlwZSkpe2ZvcihkPVtdLGM9MDtoPmM7YysrKWY9YltjXSxlPWYuc2VsZWN0b3IrIiAiLHZvaWQgMD09PWRbZV0mJihkW2VdPWYubmVlZHNDb250ZXh0P24oZSx0aGlzKS5pbmRleChpKT4tMTpuLmZpbmQoZSx0aGlzLG51bGwsW2ldKS5sZW5ndGgpLGRbZV0mJmQucHVzaChmKTtkLmxlbmd0aCYmZy5wdXNoKHtlbGVtOmksaGFuZGxlcnM6ZH0pfXJldHVybiBoPGIubGVuZ3RoJiZnLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczpiLnNsaWNlKGgpfSksZ30sZml4OmZ1bmN0aW9uKGEpe2lmKGFbbi5leHBhbmRvXSlyZXR1cm4gYTt2YXIgYixjLGUsZj1hLnR5cGUsZz1hLGg9dGhpcy5maXhIb29rc1tmXTtofHwodGhpcy5maXhIb29rc1tmXT1oPW1hLnRlc3QoZik/dGhpcy5tb3VzZUhvb2tzOmxhLnRlc3QoZik/dGhpcy5rZXlIb29rczp7fSksZT1oLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHMsYT1uZXcgbi5FdmVudChnKSxiPWUubGVuZ3RoO3doaWxlKGItLSljPWVbYl0sYVtjXT1nW2NdO3JldHVybiBhLnRhcmdldHx8KGEudGFyZ2V0PWcuc3JjRWxlbWVudHx8ZCksMz09PWEudGFyZ2V0Lm5vZGVUeXBlJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksYS5tZXRhS2V5PSEhYS5tZXRhS2V5LGguZmlsdGVyP2guZmlsdGVyKGEsZyk6YX0scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRldGFpbCBldmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1wIHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBmcm9tRWxlbWVudCBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZz1iLmJ1dHRvbixoPWIuZnJvbUVsZW1lbnQ7cmV0dXJuIG51bGw9PWEucGFnZVgmJm51bGwhPWIuY2xpZW50WCYmKGU9YS50YXJnZXQub3duZXJEb2N1bWVudHx8ZCxmPWUuZG9jdW1lbnRFbGVtZW50LGM9ZS5ib2R5LGEucGFnZVg9Yi5jbGllbnRYKyhmJiZmLnNjcm9sbExlZnR8fGMmJmMuc2Nyb2xsTGVmdHx8MCktKGYmJmYuY2xpZW50TGVmdHx8YyYmYy5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWIuY2xpZW50WSsoZiYmZi5zY3JvbGxUb3B8fGMmJmMuc2Nyb2xsVG9wfHwwKS0oZiYmZi5jbGllbnRUb3B8fGMmJmMuY2xpZW50VG9wfHwwKSksIWEucmVsYXRlZFRhcmdldCYmaCYmKGEucmVsYXRlZFRhcmdldD1oPT09YS50YXJnZXQ/Yi50b0VsZW1lbnQ6aCksYS53aGljaHx8dm9pZCAwPT09Z3x8KGEud2hpY2g9MSZnPzE6MiZnPzM6NCZnPzI6MCksYX19LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXMhPT1yYSgpJiZ0aGlzLmZvY3VzKXRyeXtyZXR1cm4gdGhpcy5mb2N1cygpLCExfWNhdGNoKGEpe319LGRlbGVnYXRlVHlwZToiZm9jdXNpbiJ9LGJsdXI6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcz09PXJhKCkmJnRoaXMuYmx1cj8odGhpcy5ibHVyKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIG4ubm9kZU5hbWUodGhpcywiaW5wdXQiKSYmImNoZWNrYm94Ij09PXRoaXMudHlwZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmYS5vcmlnaW5hbEV2ZW50JiYoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWEucmVzdWx0KX19fSxzaW11bGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9bi5leHRlbmQobmV3IG4uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwfSk7bi5ldmVudC50cmlnZ2VyKGQsbnVsbCxiKSxkLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZjLnByZXZlbnREZWZhdWx0KCl9fSxuLnJlbW92ZUV2ZW50PWQucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjKX06ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSJvbiIrYjthLmRldGFjaEV2ZW50JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBhW2RdJiYoYVtkXT1udWxsKSxhLmRldGFjaEV2ZW50KGQsYykpfSxuLkV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBuLkV2ZW50PyhhJiZhLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1hLmRlZmF1bHRQcmV2ZW50ZWQmJmEucmV0dXJuVmFsdWU9PT0hMT9wYTpxYSk6dGhpcy50eXBlPWEsYiYmbi5leHRlbmQodGhpcyxiKSx0aGlzLnRpbWVTdGFtcD1hJiZhLnRpbWVTdGFtcHx8bi5ub3coKSx2b2lkKHRoaXNbbi5leHBhbmRvXT0hMCkpOm5ldyBuLkV2ZW50KGEsYil9LG4uRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpuLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpxYSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpxYSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpxYSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1wYSxhJiYoYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXBhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiYoYS5zdG9wUHJvcGFnYXRpb24mJmEuc3RvcFByb3BhZ2F0aW9uKCksYS5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1wYSxhJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sbi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihhLGIpe24uZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGMsZD10aGlzLGU9YS5yZWxhdGVkVGFyZ2V0LGY9YS5oYW5kbGVPYmo7cmV0dXJuIGUmJihlPT09ZHx8bi5jb250YWlucyhkLGUpKXx8KGEudHlwZT1mLm9yaWdUeXBlLGM9Zi5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxhLnR5cGU9YiksY319fSksbC5zdWJtaXR8fChuLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBuLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG4uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1uLm5vZGVOYW1lKGIsImlucHV0Iil8fG4ubm9kZU5hbWUoYiwiYnV0dG9uIik/bi5wcm9wKGIsImZvcm0iKTp2b2lkIDA7YyYmIW4uX2RhdGEoYywic3VibWl0IikmJihuLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0QnViYmxlPSEwfSksbi5fZGF0YShjLCJzdWJtaXQiLCEwKSl9KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe2EuX3N1Ym1pdEJ1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRCdWJibGUsdGhpcy5wYXJlbnROb2RlJiYhYS5pc1RyaWdnZXImJm4uZXZlbnQuc2ltdWxhdGUoInN1Ym1pdCIsdGhpcy5wYXJlbnROb2RlLGEpKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gbi5ub2RlTmFtZSh0aGlzLCJmb3JtIik/ITE6dm9pZCBuLmV2ZW50LnJlbW92ZSh0aGlzLCIuX3N1Ym1pdCIpfX0pLGwuY2hhbmdlfHwobi5ldmVudC5zcGVjaWFsLmNoYW5nZT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4ga2EudGVzdCh0aGlzLm5vZGVOYW1lKT8oImNoZWNrYm94IiE9PXRoaXMudHlwZSYmInJhZGlvIiE9PXRoaXMudHlwZXx8KG4uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0Q2hhbmdlZD0hMCl9KSxuLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbihhKXt0aGlzLl9qdXN0Q2hhbmdlZCYmIWEuaXNUcmlnZ2VyJiYodGhpcy5fanVzdENoYW5nZWQ9ITEpLG4uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhKX0pKSwhMSk6dm9pZCBuLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtrYS50ZXN0KGIubm9kZU5hbWUpJiYhbi5fZGF0YShiLCJjaGFuZ2UiKSYmKG4uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bi5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSl9KSxuLl9kYXRhKGIsImNoYW5nZSIsITApKX0pfSxoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7cmV0dXJuIHRoaXMhPT1ifHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8InJhZGlvIiE9PWIudHlwZSYmImNoZWNrYm94IiE9PWIudHlwZT9hLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp2b2lkIDB9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksIWthLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksbC5mb2N1c2lufHxuLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW4uX2RhdGEoZCxiKTtlfHxkLmFkZEV2ZW50TGlzdGVuZXIoYSxjLCEwKSxuLl9kYXRhKGQsYiwoZXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9bi5fZGF0YShkLGIpLTE7ZT9uLl9kYXRhKGQsYixlKTooZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsYywhMCksbi5fcmVtb3ZlRGF0YShkLGIpKX19fSksbi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBzYSh0aGlzLGEsYixjLGQpfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHNhKHRoaXMsYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGEmJmEucHJldmVudERlZmF1bHQmJmEuaGFuZGxlT2JqKXJldHVybiBkPWEuaGFuZGxlT2JqLG4oYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGQubmFtZXNwYWNlP2Qub3JpZ1R5cGUrIi4iK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXtmb3IoZSBpbiBhKXRoaXMub2ZmKGUsYixhW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gYiE9PSExJiYiZnVuY3Rpb24iIT10eXBlb2YgYnx8KGM9YixiPXZvaWQgMCksYz09PSExJiYoYz1xYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1swXTtyZXR1cm4gYz9uLmV2ZW50LnRyaWdnZXIoYSxiLGMsITApOnZvaWQgMH19KTt2YXIgdGE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyx1YT1uZXcgUmVnRXhwKCI8KD86IitiYSsiKVtcXHMvPl0iLCJpIiksdmE9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Oi1dKylbXj5dKilcLz4vZ2ksd2E9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2kseGE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2kseWE9L150cnVlXC8oLiopLyx6YT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2csQWE9Y2EoZCksQmE9QWEuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7ZnVuY3Rpb24gQ2EoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLCJ0YWJsZSIpJiZuLm5vZGVOYW1lKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCwidHIiKT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIERhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1uLmZpbmQuYXR0cihhLCJ0eXBlIikpKyIvIithLnR5cGUsYX1mdW5jdGlvbiBFYShhKXt2YXIgYj15YS5leGVjKGEudHlwZSk7cmV0dXJuIGI/YS50eXBlPWJbMV06YS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxhfWZ1bmN0aW9uIEZhKGEsYil7aWYoMT09PWIubm9kZVR5cGUmJm4uaGFzRGF0YShhKSl7dmFyIGMsZCxlLGY9bi5fZGF0YShhKSxnPW4uX2RhdGEoYixmKSxoPWYuZXZlbnRzO2lmKGgpe2RlbGV0ZSBnLmhhbmRsZSxnLmV2ZW50cz17fTtmb3IoYyBpbiBoKWZvcihkPTAsZT1oW2NdLmxlbmd0aDtlPmQ7ZCsrKW4uZXZlbnQuYWRkKGIsYyxoW2NdW2RdKX1nLmRhdGEmJihnLmRhdGE9bi5leHRlbmQoe30sZy5kYXRhKSl9fWZ1bmN0aW9uIEdhKGEsYil7dmFyIGMsZCxlO2lmKDE9PT1iLm5vZGVUeXBlKXtpZihjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwhbC5ub0Nsb25lRXZlbnQmJmJbbi5leHBhbmRvXSl7ZT1uLl9kYXRhKGIpO2ZvcihkIGluIGUuZXZlbnRzKW4ucmVtb3ZlRXZlbnQoYixkLGUuaGFuZGxlKTtiLnJlbW92ZUF0dHJpYnV0ZShuLmV4cGFuZG8pfSJzY3JpcHQiPT09YyYmYi50ZXh0IT09YS50ZXh0PyhEYShiKS50ZXh0PWEudGV4dCxFYShiKSk6Im9iamVjdCI9PT1jPyhiLnBhcmVudE5vZGUmJihiLm91dGVySFRNTD1hLm91dGVySFRNTCksbC5odG1sNUNsb25lJiZhLmlubmVySFRNTCYmIW4udHJpbShiLmlubmVySFRNTCkmJihiLmlubmVySFRNTD1hLmlubmVySFRNTCkpOiJpbnB1dCI9PT1jJiZaLnRlc3QoYS50eXBlKT8oYi5kZWZhdWx0Q2hlY2tlZD1iLmNoZWNrZWQ9YS5jaGVja2VkLGIudmFsdWUhPT1hLnZhbHVlJiYoYi52YWx1ZT1hLnZhbHVlKSk6Im9wdGlvbiI9PT1jP2IuZGVmYXVsdFNlbGVjdGVkPWIuc2VsZWN0ZWQ9YS5kZWZhdWx0U2VsZWN0ZWQ6ImlucHV0IiE9PWMmJiJ0ZXh0YXJlYSIhPT1jfHwoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1mdW5jdGlvbiBIYShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIWwuY2hlY2tDbG9uZSYmeGEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7ciYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLEhhKGYsYixjLGQpfSk7aWYobyYmKGs9amEoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxlPWsuZmlyc3RDaGlsZCwxPT09ay5jaGlsZE5vZGVzLmxlbmd0aCYmKGs9ZSksZXx8ZCkpe2ZvcihpPW4ubWFwKGVhKGssInNjcmlwdCIpLERhKSxoPWkubGVuZ3RoO28+bTttKyspZz1rLG0hPT1wJiYoZz1uLmNsb25lKGcsITAsITApLGgmJm4ubWVyZ2UoaSxlYShnLCJzY3JpcHQiKSkpLGMuY2FsbChhW21dLGcsbSk7aWYoaClmb3Ioaj1pW2kubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsbi5tYXAoaSxFYSksbT0wO2g+bTttKyspZz1pW21dLF8udGVzdChnLnR5cGV8fCIiKSYmIW4uX2RhdGEoZywiZ2xvYmFsRXZhbCIpJiZuLmNvbnRhaW5zKGosZykmJihnLnNyYz9uLl9ldmFsVXJsJiZuLl9ldmFsVXJsKGcuc3JjKTpuLmdsb2JhbEV2YWwoKGcudGV4dHx8Zy50ZXh0Q29udGVudHx8Zy5pbm5lckhUTUx8fCIiKS5yZXBsYWNlKHphLCIiKSkpO2s9ZT1udWxsfXJldHVybiBhfWZ1bmN0aW9uIElhKGEsYixjKXtmb3IodmFyIGQsZT1iP24uZmlsdGVyKGIsYSk6YSxmPTA7bnVsbCE9KGQ9ZVtmXSk7ZisrKWN8fDEhPT1kLm5vZGVUeXBlfHxuLmNsZWFuRGF0YShlYShkKSksZC5wYXJlbnROb2RlJiYoYyYmbi5jb250YWlucyhkLm93bmVyRG9jdW1lbnQsZCkmJmZhKGVhKGQsInNjcmlwdCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfW4uZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodmEsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpPW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpO2lmKGwuaHRtbDVDbG9uZXx8bi5pc1hNTERvYyhhKXx8IXVhLnRlc3QoIjwiK2Eubm9kZU5hbWUrIj4iKT9mPWEuY2xvbmVOb2RlKCEwKTooQmEuaW5uZXJIVE1MPWEub3V0ZXJIVE1MLEJhLnJlbW92ZUNoaWxkKGY9QmEuZmlyc3RDaGlsZCkpLCEobC5ub0Nsb25lRXZlbnQmJmwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG4uaXNYTUxEb2MoYSkpKWZvcihkPWVhKGYpLGg9ZWEoYSksZz0wO251bGwhPShlPWhbZ10pOysrZylkW2ddJiZHYShlLGRbZ10pO2lmKGIpaWYoYylmb3IoaD1ofHxlYShhKSxkPWR8fGVhKGYpLGc9MDtudWxsIT0oZT1oW2ddKTtnKyspRmEoZSxkW2ddKTtlbHNlIEZhKGEsZik7cmV0dXJuIGQ9ZWEoZiwic2NyaXB0IiksZC5sZW5ndGg+MCYmZmEoZCwhaSYmZWEoYSwic2NyaXB0IikpLGQ9aD1lPW51bGwsZn0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW4uZXhwYW5kbyxqPW4uY2FjaGUsaz1sLmF0dHJpYnV0ZXMsbT1uLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxNKGQpKSYmKGY9ZFtpXSxnPWYmJmpbZl0pKXtpZihnLmV2ZW50cylmb3IoZSBpbiBnLmV2ZW50cyltW2VdP24uZXZlbnQucmVtb3ZlKGQsZSk6bi5yZW1vdmVFdmVudChkLGUsZy5oYW5kbGUpO2pbZl0mJihkZWxldGUgaltmXSxrfHwidW5kZWZpbmVkIj09dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlP2RbaV09dm9pZCAwOmQucmVtb3ZlQXR0cmlidXRlKGkpLGMucHVzaChmKSl9fX0pLG4uZm4uZXh0ZW5kKHtkb21NYW5pcDpIYSxkZXRhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIElhKHRoaXMsYSwhMCl9LHJlbW92ZTpmdW5jdGlvbihhKXtyZXR1cm4gSWEodGhpcyxhKX0sdGV4dDpmdW5jdGlvbihhKXtyZXR1cm4gWSh0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hP24udGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGQpLmNyZWF0ZVRleHROb2RlKGEpKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUNhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9Q2EodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKXsxPT09YS5ub2RlVHlwZSYmbi5jbGVhbkRhdGEoZWEoYSwhMSkpO3doaWxlKGEuZmlyc3RDaGlsZClhLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCk7YS5vcHRpb25zJiZuLm5vZGVOYW1lKGEsInNlbGVjdCIpJiYoYS5vcHRpb25zLmxlbmd0aD0wKX1yZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBuLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBZKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSlyZXR1cm4gMT09PWIubm9kZVR5cGU/Yi5pbm5lckhUTUwucmVwbGFjZSh0YSwiIik6dm9pZCAwO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIXdhLnRlc3QoYSkmJihsLmh0bWxTZXJpYWxpemV8fCF1YS50ZXN0KGEpKSYmKGwubGVhZGluZ1doaXRlc3BhY2V8fCFhYS50ZXN0KGEpKSYmIWRhWygkLmV4ZWMoYSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPW4uaHRtbFByZWZpbHRlcihhKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihuLmNsZWFuRGF0YShlYShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihiKXt2YXIgYz10aGlzLnBhcmVudE5vZGU7bi5pbkFycmF5KHRoaXMsYSk8MCYmKG4uY2xlYW5EYXRhKGVhKHRoaXMpKSxjJiZjLnJlcGxhY2VDaGlsZChiLHRoaXMpKX0sYSl9fSksbi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxmPW4oYSksaD1mLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxuKGZbZF0pW2JdKGMpLGcuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEphLEthPXtIVE1MOiJibG9jayIsQk9EWToiYmxvY2sifTtmdW5jdGlvbiBMYShhLGIpe3ZhciBjPW4oYi5jcmVhdGVFbGVtZW50KGEpKS5hcHBlbmRUbyhiLmJvZHkpLGQ9bi5jc3MoY1swXSwiZGlzcGxheSIpO3JldHVybiBjLmRldGFjaCgpLGR9ZnVuY3Rpb24gTWEoYSl7dmFyIGI9ZCxjPUthW2FdO3JldHVybiBjfHwoYz1MYShhLGIpLCJub25lIiE9PWMmJmN8fChKYT0oSmF8fG4oIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9KEphWzBdLmNvbnRlbnRXaW5kb3d8fEphWzBdLmNvbnRlbnREb2N1bWVudCkuZG9jdW1lbnQsYi53cml0ZSgpLGIuY2xvc2UoKSxjPUxhKGEsYiksSmEuZGV0YWNoKCkpLEthW2FdPWMpLGN9dmFyIE5hPS9ebWFyZ2luLyxPYT1uZXcgUmVnRXhwKCJeKCIrVCsiKSg/IXB4KVthLXolXSskIiwiaSIpLFBhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz17fTtmb3IoZiBpbiBiKWdbZl09YS5zdHlsZVtmXSxhLnN0eWxlW2ZdPWJbZl07ZT1jLmFwcGx5KGEsZHx8W10pO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1nW2ZdO3JldHVybiBlfSxRYT1kLmRvY3VtZW50RWxlbWVudDshZnVuY3Rpb24oKXt2YXIgYixjLGUsZixnLGgsaT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGo9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihqLnN0eWxlKXtqLnN0eWxlLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsbC5vcGFjaXR5PSIwLjUiPT09ai5zdHlsZS5vcGFjaXR5LGwuY3NzRmxvYXQ9ISFqLnN0eWxlLmNzc0Zsb2F0LGouc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixqLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsbC5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWouc3R5bGUuYmFja2dyb3VuZENsaXAsaT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGkuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLGouaW5uZXJIVE1MPSIiLGkuYXBwZW5kQ2hpbGQoaiksbC5ib3hTaXppbmc9IiI9PT1qLnN0eWxlLmJveFNpemluZ3x8IiI9PT1qLnN0eWxlLk1vekJveFNpemluZ3x8IiI9PT1qLnN0eWxlLldlYmtpdEJveFNpemluZyxuLmV4dGVuZChsLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YiYmaygpLGZ9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxlfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxjfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxifSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxnfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YiYmaygpLGh9fSk7ZnVuY3Rpb24gaygpe3ZhciBrLGwsbT1kLmRvY3VtZW50RWxlbWVudDttLmFwcGVuZENoaWxkKGkpLGouc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIixiPWU9aD0hMSxjPWc9ITAsYS5nZXRDb21wdXRlZFN0eWxlJiYobD1hLmdldENvbXB1dGVkU3R5bGUoaiksYj0iMSUiIT09KGx8fHt9KS50b3AsaD0iMnB4Ij09PShsfHx7fSkubWFyZ2luTGVmdCxlPSI0cHgiPT09KGx8fHt3aWR0aDoiNHB4In0pLndpZHRoLGouc3R5bGUubWFyZ2luUmlnaHQ9IjUwJSIsYz0iNHB4Ij09PShsfHx7bWFyZ2luUmlnaHQ6IjRweCJ9KS5tYXJnaW5SaWdodCxrPWouYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSksay5zdHlsZS5jc3NUZXh0PWouc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixrLnN0eWxlLm1hcmdpblJpZ2h0PWsuc3R5bGUud2lkdGg9IjAiLGouc3R5bGUud2lkdGg9IjFweCIsZz0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGspfHx7fSkubWFyZ2luUmlnaHQpLGoucmVtb3ZlQ2hpbGQoaykpLGouc3R5bGUuZGlzcGxheT0ibm9uZSIsZj0wPT09ai5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCxmJiYoai5zdHlsZS5kaXNwbGF5PSIiLGouaW5uZXJIVE1MPSI8dGFibGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IixqLmNoaWxkTm9kZXNbMF0uc3R5bGUuYm9yZGVyQ29sbGFwc2U9InNlcGFyYXRlIixrPWouZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIiksa1swXS5zdHlsZS5jc3NUZXh0PSJtYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTpub25lIixmPTA9PT1rWzBdLm9mZnNldEhlaWdodCxmJiYoa1swXS5zdHlsZS5kaXNwbGF5PSIiLGtbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsZj0wPT09a1swXS5vZmZzZXRIZWlnaHQpKSxtLnJlbW92ZUNoaWxkKGkpfX19KCk7dmFyIFJhLFNhLFRhPS9eKHRvcHxyaWdodHxib3R0b218bGVmdCkkLzthLmdldENvbXB1dGVkU3R5bGU/KFJhPWZ1bmN0aW9uKGIpe3ZhciBjPWIub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gYyYmYy5vcGVuZXJ8fChjPWEpLGMuZ2V0Q29tcHV0ZWRTdHlsZShiKX0sU2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxSYShhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCwiIiE9PWcmJnZvaWQgMCE9PWd8fG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1uLnN0eWxlKGEsYikpLGMmJiFsLnBpeGVsTWFyZ2luUmlnaHQoKSYmT2EudGVzdChnKSYmTmEudGVzdChiKSYmKGQ9aC53aWR0aCxlPWgubWluV2lkdGgsZj1oLm1heFdpZHRoLGgubWluV2lkdGg9aC5tYXhXaWR0aD1oLndpZHRoPWcsZz1jLndpZHRoLGgud2lkdGg9ZCxoLm1pbldpZHRoPWUsaC5tYXhXaWR0aD1mKSx2b2lkIDA9PT1nP2c6ZysiIn0pOlFhLmN1cnJlbnRTdHlsZSYmKFJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmN1cnJlbnRTdHlsZX0sU2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxSYShhKSxnPWM/Y1tiXTp2b2lkIDAsbnVsbD09ZyYmaCYmaFtiXSYmKGc9aFtiXSksT2EudGVzdChnKSYmIVRhLnRlc3QoYikmJihkPWgubGVmdCxlPWEucnVudGltZVN0eWxlLGY9ZSYmZS5sZWZ0LGYmJihlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksaC5sZWZ0PSJmb250U2l6ZSI9PT1iPyIxZW0iOmcsZz1oLnBpeGVsTGVmdCsicHgiLGgubGVmdD1kLGYmJihlLmxlZnQ9ZikpLHZvaWQgMD09PWc/ZzpnKyIifHwiYXV0byJ9KTtmdW5jdGlvbiBVYShhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgVmE9L2FscGhhXChbXildKlwpL2ksV2E9L29wYWNpdHlccyo9XHMqKFteKV0qKS9pLFhhPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxZYT1uZXcgUmVnRXhwKCJeKCIrVCsiKSguKikkIiwiaSIpLFphPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSwkYT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn0sX2E9WyJXZWJraXQiLCJPIiwiTW96IiwibXMiXSxhYj1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlO2Z1bmN0aW9uIGJiKGEpe2lmKGEgaW4gYWIpcmV0dXJuIGE7dmFyIGI9YS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpLGM9X2EubGVuZ3RoO3doaWxlKGMtLSlpZihhPV9hW2NdK2IsYSBpbiBhYilyZXR1cm4gYX1mdW5jdGlvbiBjYihhLGIpe2Zvcih2YXIgYyxkLGUsZj1bXSxnPTAsaD1hLmxlbmd0aDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoZltnXT1uLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSxjPWQuc3R5bGUuZGlzcGxheSxiPyhmW2ddfHwibm9uZSIhPT1jfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmVyhkKSYmKGZbZ109bi5fZGF0YShkLCJvbGRkaXNwbGF5IixNYShkLm5vZGVOYW1lKSkpKTooZT1XKGQpLChjJiYibm9uZSIhPT1jfHwhZSkmJm4uX2RhdGEoZCwib2xkZGlzcGxheSIsZT9jOm4uY3NzKGQsImRpc3BsYXkiKSkpKTtmb3IoZz0wO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihiJiYibm9uZSIhPT1kLnN0eWxlLmRpc3BsYXkmJiIiIT09ZC5zdHlsZS5kaXNwbGF5fHwoZC5zdHlsZS5kaXNwbGF5PWI/ZltnXXx8IiI6Im5vbmUiKSk7cmV0dXJuIGF9ZnVuY3Rpb24gZGIoYSxiLGMpe3ZhciBkPVlhLmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzFdLShjfHwwKSkrKGRbMl18fCJweCIpOmJ9ZnVuY3Rpb24gZWIoYSxiLGMsZCxlKXtmb3IodmFyIGY9Yz09PShkPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09Yj8xOjAsZz0wOzQ+ZjtmKz0yKSJtYXJnaW4iPT09YyYmKGcrPW4uY3NzKGEsYytWW2ZdLCEwLGUpKSxkPygiY29udGVudCI9PT1jJiYoZy09bi5jc3MoYSwicGFkZGluZyIrVltmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09bi5jc3MoYSwiYm9yZGVyIitWW2ZdKyJXaWR0aCIsITAsZSkpKTooZys9bi5jc3MoYSwicGFkZGluZyIrVltmXSwhMCxlKSwicGFkZGluZyIhPT1jJiYoZys9bi5jc3MoYSwiYm9yZGVyIitWW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBmYihhLGIsYyl7dmFyIGQ9ITAsZT0id2lkdGgiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9UmEoYSksZz1sLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bi5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKTtpZigwPj1lfHxudWxsPT1lKXtpZihlPVNhKGEsYixmKSwoMD5lfHxudWxsPT1lKSYmKGU9YS5zdHlsZVtiXSksT2EudGVzdChlKSlyZXR1cm4gZTtkPWcmJihsLmJveFNpemluZ1JlbGlhYmxlKCl8fGU9PT1hLnN0eWxlW2JdKSxlPXBhcnNlRmxvYXQoZSl8fDB9cmV0dXJuIGUrZWIoYSxiLGN8fChnPyJib3JkZXIiOiJjb250ZW50IiksZCxmKSsicHgifW4uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9U2EoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjpsLmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtpZihiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPWJiKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVUuZXhlYyhjKSkmJmVbMV0mJihjPVgoYSxiLGUpLGY9Im51bWJlciIpLG51bGwhPWMmJmM9PT1jJiYoIm51bWJlciI9PT1mJiYoYys9ZSYmZVszXXx8KG4uY3NzTnVtYmVyW2hdPyIiOiJweCIpKSxsLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1jfHwwIT09Yi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChpW2JdPSJpbmhlcml0IiksIShnJiYic2V0ImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSkpKSl0cnl7aVtiXT1jfWNhdGNoKGope319fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYik7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09YmIoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPVNhKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluICRhJiYoZj0kYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxpc0Zpbml0ZShlKT9lfHwwOmYpOmZ9fSksbi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/WGEudGVzdChuLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9QYShhLFphLGZ1bmN0aW9uKCl7cmV0dXJuIGZiKGEsYixkKX0pOmZiKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGU9ZCYmUmEoYSk7cmV0dXJuIGRiKGEsYyxkP2ViKGEsYixkLGwuYm94U2l6aW5nJiYiYm9yZGVyLWJveCI9PT1uLmNzcyhhLCJib3hTaXppbmciLCExLGUpLGUpOjApfX19KSxsLm9wYWNpdHl8fChuLmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBXYS50ZXN0KChiJiZhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/LjAxKnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlLGU9bi5pc051bWVyaWMoYik/ImFscGhhKG9wYWNpdHk9IisxMDAqYisiKSI6IiIsZj1kJiZkLmZpbHRlcnx8Yy5maWx0ZXJ8fCIiO2Muem9vbT0xLChiPj0xfHwiIj09PWIpJiYiIj09PW4udHJpbShmLnJlcGxhY2UoVmEsIiIpKSYmYy5yZW1vdmVBdHRyaWJ1dGUmJihjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksIiI9PT1ifHxkJiYhZC5maWx0ZXIpfHwoYy5maWx0ZXI9VmEudGVzdChmKT9mLnJlcGxhY2UoVmEsZSk6ZisiICIrZSl9fSksbi5jc3NIb29rcy5tYXJnaW5SaWdodD1VYShsLnJlbGlhYmxlTWFyZ2luUmlnaHQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9QYShhLHtkaXNwbGF5OiJpbmxpbmUtYmxvY2sifSxTYSxbYSwibWFyZ2luUmlnaHQiXSk6dm9pZCAwfSksbi5jc3NIb29rcy5tYXJnaW5MZWZ0PVVhKGwucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/KHBhcnNlRmxvYXQoU2EoYSwibWFyZ2luTGVmdCIpKXx8KG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpP2EuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1QYShhLHsNCm1hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSk6MCkpKyJweCI6dm9pZCAwfSksbi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ND5kO2QrKyllW2ErVltkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSxOYS50ZXN0KGEpfHwobi5jc3NIb29rc1thK2JdLnNldD1kYil9KSxuLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihuLmlzQXJyYXkoYikpe2ZvcihkPVJhKGEpLGU9Yi5sZW5ndGg7ZT5nO2crKylmW2JbZ11dPW4uY3NzKGEsYltnXSwhMSxkKTtyZXR1cm4gZn1yZXR1cm4gdm9pZCAwIT09Yz9uLnN0eWxlKGEsYixjKTpuLmNzcyhhLGIpfSxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtXKHRoaXMpP24odGhpcykuc2hvdygpOm4odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gZ2IoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IGdiLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bi5Ud2Vlbj1nYixnYi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmdiLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fG4uZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobi5jc3NOdW1iZXJbY10/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBhPWdiLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBhJiZhLmdldD9hLmdldCh0aGlzKTpnYi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oYSl7dmFyIGIsYz1nYi5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPWI9bi5lYXNpbmdbdGhpcy5lYXNpbmddKGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmEsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9Yj1hLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpiK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGMmJmMuc2V0P2Muc2V0KHRoaXMpOmdiLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LGdiLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1nYi5wcm90b3R5cGUsZ2IucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiAxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsIT1hLmVsZW1bYS5wcm9wXSYmbnVsbD09YS5lbGVtLnN0eWxlW2EucHJvcF0/YS5lbGVtW2EucHJvcF06KGI9bi5jc3MoYS5lbGVtLGEucHJvcCwiIiksYiYmImF1dG8iIT09Yj9iOjApfSxzZXQ6ZnVuY3Rpb24oYSl7bi5meC5zdGVwW2EucHJvcF0/bi5meC5zdGVwW2EucHJvcF0oYSk6MSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbD09YS5lbGVtLnN0eWxlW24uY3NzUHJvcHNbYS5wcm9wXV0mJiFuLmNzc0hvb2tzW2EucHJvcF0/YS5lbGVtW2EucHJvcF09YS5ub3c6bi5zdHlsZShhLmVsZW0sYS5wcm9wLGEubm93K2EudW5pdCl9fX0sZ2IucHJvcEhvb2tzLnNjcm9sbFRvcD1nYi5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGEpe2EuZWxlbS5ub2RlVHlwZSYmYS5lbGVtLnBhcmVudE5vZGUmJihhLmVsZW1bYS5wcm9wXT1hLm5vdyl9fSxuLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxzd2luZzpmdW5jdGlvbihhKXtyZXR1cm4uNS1NYXRoLmNvcyhhKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LG4uZng9Z2IucHJvdG90eXBlLmluaXQsbi5meC5zdGVwPXt9O3ZhciBoYixpYixqYj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sa2I9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBsYigpe3JldHVybiBhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtoYj12b2lkIDB9KSxoYj1uLm5vdygpfWZ1bmN0aW9uIG1iKGEsYil7dmFyIGMsZD17aGVpZ2h0OmF9LGU9MDtmb3IoYj1iPzE6MDs0PmU7ZSs9Mi1iKWM9VltlXSxkWyJtYXJnaW4iK2NdPWRbInBhZGRpbmciK2NdPWE7cmV0dXJuIGImJihkLm9wYWNpdHk9ZC53aWR0aD1hKSxkfWZ1bmN0aW9uIG5iKGEsYixjKXtmb3IodmFyIGQsZT0ocWIudHdlZW5lcnNbYl18fFtdKS5jb25jYXQocWIudHdlZW5lcnNbIioiXSksZj0wLGc9ZS5sZW5ndGg7Zz5mO2YrKylpZihkPWVbZl0uY2FsbChjLGIsYSkpcmV0dXJuIGR9ZnVuY3Rpb24gb2IoYSxiLGMpe3ZhciBkLGUsZixnLGgsaSxqLGssbT10aGlzLG89e30scD1hLnN0eWxlLHE9YS5ub2RlVHlwZSYmVyhhKSxyPW4uX2RhdGEoYSwiZnhzaG93Iik7Yy5xdWV1ZXx8KGg9bi5fcXVldWVIb29rcyhhLCJmeCIpLG51bGw9PWgudW5xdWV1ZWQmJihoLnVucXVldWVkPTAsaT1oLmVtcHR5LmZpcmUsaC5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aC51bnF1ZXVlZHx8aSgpfSksaC51bnF1ZXVlZCsrLG0uYWx3YXlzKGZ1bmN0aW9uKCl7bS5hbHdheXMoZnVuY3Rpb24oKXtoLnVucXVldWVkLS0sbi5xdWV1ZShhLCJmeCIpLmxlbmd0aHx8aC5lbXB0eS5maXJlKCl9KX0pKSwxPT09YS5ub2RlVHlwZSYmKCJoZWlnaHQiaW4gYnx8IndpZHRoImluIGIpJiYoYy5vdmVyZmxvdz1bcC5vdmVyZmxvdyxwLm92ZXJmbG93WCxwLm92ZXJmbG93WV0saj1uLmNzcyhhLCJkaXNwbGF5Iiksaz0ibm9uZSI9PT1qP24uX2RhdGEoYSwib2xkZGlzcGxheSIpfHxNYShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKGwuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmImlubGluZSIhPT1NYShhLm5vZGVOYW1lKT9wLnpvb209MTpwLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxjLm92ZXJmbG93JiYocC5vdmVyZmxvdz0iaGlkZGVuIixsLnNocmlua1dyYXBCbG9ja3MoKXx8bS5hbHdheXMoZnVuY3Rpb24oKXtwLm92ZXJmbG93PWMub3ZlcmZsb3dbMF0scC5vdmVyZmxvd1g9Yy5vdmVyZmxvd1sxXSxwLm92ZXJmbG93WT1jLm92ZXJmbG93WzJdfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLGpiLmV4ZWMoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8InRvZ2dsZSI9PT1lLGU9PT0ocT8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09ZXx8IXJ8fHZvaWQgMD09PXJbZF0pY29udGludWU7cT0hMH1vW2RdPXImJnJbZF18fG4uc3R5bGUoYSxkKX1lbHNlIGo9dm9pZCAwO2lmKG4uaXNFbXB0eU9iamVjdChvKSkiaW5saW5lIj09PSgibm9uZSI9PT1qP01hKGEubm9kZU5hbWUpOmopJiYocC5kaXNwbGF5PWopO2Vsc2V7cj8iaGlkZGVuImluIHImJihxPXIuaGlkZGVuKTpyPW4uX2RhdGEoYSwiZnhzaG93Iix7fSksZiYmKHIuaGlkZGVuPSFxKSxxP24oYSkuc2hvdygpOm0uZG9uZShmdW5jdGlvbigpe24oYSkuaGlkZSgpfSksbS5kb25lKGZ1bmN0aW9uKCl7dmFyIGI7bi5fcmVtb3ZlRGF0YShhLCJmeHNob3ciKTtmb3IoYiBpbiBvKW4uc3R5bGUoYSxiLG9bYl0pfSk7Zm9yKGQgaW4gbylnPW5iKHE/cltkXTowLGQsbSksZCBpbiByfHwocltkXT1nLnN0YXJ0LHEmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gcGIoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBxYihhLGIsYyl7dmFyIGQsZSxmPTAsZz1xYi5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPWhifHxsYigpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOmhifHxsYigpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcihwYihrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9cWIucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLG5iLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQocWIse3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBYKGMuZWxlbSxhLFUuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLHFiLnR3ZWVuZXJzW2NdPXFiLnR3ZWVuZXJzW2NdfHxbXSxxYi50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltvYl0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9xYi5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6cWIucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ZC5xdWV1ZSYmZC5xdWV1ZSE9PSEwfHwoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihXKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uLmlzRW1wdHlPYmplY3QoYSksZj1uLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9cWIodGhpcyxuLmV4dGVuZCh7fSxhKSxmKTsoZXx8bi5fZGF0YSh0aGlzLCJmaW5pc2giKSkmJmIuc3RvcCghMCl9O3JldHVybiBnLmZpbmlzaD1nLGV8fGYucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShmLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLnN0b3A7ZGVsZXRlIGEuc3RvcCxiKGMpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihjPWIsYj1hLGE9dm9pZCAwKSxiJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhKyJxdWV1ZUhvb2tzIixmPW4udGltZXJzLGc9bi5fZGF0YSh0aGlzKTtpZihlKWdbZV0mJmdbZV0uc3RvcCYmZChnW2VdKTtlbHNlIGZvcihlIGluIGcpZ1tlXSYmZ1tlXS5zdG9wJiZrYi50ZXN0KGUpJiZkKGdbZV0pO2ZvcihlPWYubGVuZ3RoO2UtLTspZltlXS5lbGVtIT09dGhpc3x8bnVsbCE9YSYmZltlXS5xdWV1ZSE9PWF8fChmW2VdLmFuaW0uc3RvcChjKSxiPSExLGYuc3BsaWNlKGUsMSkpOyFiJiZjfHxuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1uLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1uLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbi5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxuLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bi5mbltiXTtuLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUobWIoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOm1iKCJzaG93Iiksc2xpZGVVcDptYigiaGlkZSIpLHNsaWRlVG9nZ2xlOm1iKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW4udGltZXJzLGM9MDtmb3IoaGI9bi5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxuLmZ4LnN0b3AoKSxoYj12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtpYnx8KGliPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKGliKSxpYj1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYSxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGY9ZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTtjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksYy5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxjLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxiLnNldEF0dHJpYnV0ZSgidHlwZSIsImNoZWNrYm94IiksYy5hcHBlbmRDaGlsZChiKSxhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxhLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGwuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWMuY2xhc3NOYW1lLGwuc3R5bGU9L3RvcC8udGVzdChhLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksbC5ocmVmTm9ybWFsaXplZD0iL2EiPT09YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxsLmNoZWNrT249ISFiLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Zi5zZWxlY3RlZCxsLmVuY3R5cGU9ISFkLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGUuZGlzYWJsZWQ9ITAsbC5vcHREaXNhYmxlZD0hZi5kaXNhYmxlZCxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxsLmlucHV0PSIiPT09Yi5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYi52YWx1ZT0idCIsYi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGwucmFkaW9WYWx1ZT0idCI9PT1iLnZhbHVlfSgpO3ZhciByYj0vXHIvZyxzYj0vW1x4MjBcdFxyXG5cZl0rL2c7bi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZT10aGlzWzBdO3tpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBkPW4uaXNGdW5jdGlvbihhKSx0aGlzLmVhY2goZnVuY3Rpb24oYyl7dmFyIGU7MT09PXRoaXMubm9kZVR5cGUmJihlPWQ/YS5jYWxsKHRoaXMsYyxuKHRoaXMpLnZhbCgpKTphLG51bGw9PWU/ZT0iIjoibnVtYmVyIj09dHlwZW9mIGU/ZSs9IiI6bi5pc0FycmF5KGUpJiYoZT1uLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOmErIiJ9KSksYj1uLnZhbEhvb2tzW3RoaXMudHlwZV18fG4udmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYic2V0ImluIGImJnZvaWQgMCE9PWIuc2V0KHRoaXMsZSwidmFsdWUiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1uLnZhbEhvb2tzW2UudHlwZV18fG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYiZ2V0ImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsInZhbHVlIikpP2M6KGM9ZS52YWx1ZSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKHJiLCIiKTpudWxsPT1jPyIiOmMpfX19KSxuLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsInZhbHVlIik7cmV0dXJuIG51bGwhPWI/YjpuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKHNiLCIgIil9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkPWEub3B0aW9ucyxlPWEuc2VsZWN0ZWRJbmRleCxmPSJzZWxlY3Qtb25lIj09PWEudHlwZXx8MD5lLGc9Zj9udWxsOltdLGg9Zj9lKzE6ZC5sZW5ndGgsaT0wPmU/aDpmP2U6MDtoPmk7aSsrKWlmKGM9ZFtpXSwoYy5zZWxlY3RlZHx8aT09PWUpJiYobC5vcHREaXNhYmxlZD8hYy5kaXNhYmxlZDpudWxsPT09Yy5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpJiYoIWMucGFyZW50Tm9kZS5kaXNhYmxlZHx8IW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYoYj1uKGMpLnZhbCgpLGYpcmV0dXJuIGI7Zy5wdXNoKGIpfXJldHVybiBnfSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9YS5vcHRpb25zLGY9bi5tYWtlQXJyYXkoYiksZz1lLmxlbmd0aDt3aGlsZShnLS0paWYoZD1lW2ddLG4uaW5BcnJheShuLnZhbEhvb2tzLm9wdGlvbi5nZXQoZCksZik+LTEpdHJ5e2Quc2VsZWN0ZWQ9Yz0hMH1jYXRjaChoKXtkLnNjcm9sbEhlaWdodH1lbHNlIGQuc2VsZWN0ZWQ9ITE7cmV0dXJuIGN8fChhLnNlbGVjdGVkSW5kZXg9LTEpLGV9fX19KSxuLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtuLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5pc0FycmF5KGIpP2EuY2hlY2tlZD1uLmluQXJyYXkobihhKS52YWwoKSxiKT4tMTp2b2lkIDB9fSxsLmNoZWNrT258fChuLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6YS52YWx1ZX0pfSk7dmFyIHRiLHViLHZiPW4uZXhwci5hdHRySGFuZGxlLHdiPS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2kseGI9bC5nZXRTZXRBdHRyaWJ1dGUseWI9bC5pbnB1dDtuLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBZKHRoaXMsbi5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT91Yjp0YikpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCBuLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPW4uZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFsLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZuLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEcpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9bi5wcm9wRml4W2NdfHxjLG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYyk/eWImJnhifHwhd2IudGVzdChjKT9hW2RdPSExOmFbbi5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtkXT0hMTpuLmF0dHIoYSxjLCIiKSxhLnJlbW92ZUF0dHJpYnV0ZSh4Yj9jOmQpfX0pLHViPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiPT09ITE/bi5yZW1vdmVBdHRyKGEsYyk6eWImJnhifHwhd2IudGVzdChjKT9hLnNldEF0dHJpYnV0ZSgheGImJm4ucHJvcEZpeFtjXXx8YyxjKTphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYyldPWFbY109ITAsY319LG4uZWFjaChuLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPXZiW2JdfHxuLmZpbmQuYXR0cjt5YiYmeGJ8fCF3Yi50ZXN0KGIpP3ZiW2JdPWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxmO3JldHVybiBkfHwoZj12YltiXSx2YltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsdmJbYl09ZiksZX06dmJbYl09ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYildP2IudG9Mb3dlckNhc2UoKTpudWxsfX0pLHliJiZ4Ynx8KG4uYXR0ckhvb2tzLnZhbHVlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLm5vZGVOYW1lKGEsImlucHV0Iik/dm9pZChhLmRlZmF1bHRWYWx1ZT1iKTp0YiYmdGIuc2V0KGEsYixjKX19KSx4Ynx8KHRiPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZHx8YS5zZXRBdHRyaWJ1dGVOb2RlKGQ9YS5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZShjKSksZC52YWx1ZT1iKz0iIiwidmFsdWUiPT09Y3x8Yj09PWEuZ2V0QXR0cmlidXRlKGMpP2I6dm9pZCAwfX0sdmIuaWQ9dmIubmFtZT12Yi5jb29yZHM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiYiIiE9PWQudmFsdWU/ZC52YWx1ZTpudWxsfSxuLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpO3JldHVybiBjJiZjLnNwZWNpZmllZD9jLnZhbHVlOnZvaWQgMH0sc2V0OnRiLnNldH0sbi5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3RiLnNldChhLCIiPT09Yj8hMTpiLGMpfX0sbi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe24uYXR0ckhvb2tzW2JdPXtzZXQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4iIj09PWM/KGEuc2V0QXR0cmlidXRlKGIsImF1dG8iKSxjKTp2b2lkIDB9fX0pKSxsLnN0eWxlfHwobi5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0fHx2b2lkIDB9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0eWxlLmNzc1RleHQ9YisiIn19KTt2YXIgemI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkkL2ksQWI9L14oPzphfGFyZWEpJC9pO24uZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxuLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9bi5wcm9wRml4W2FdfHxhLHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlzW2FdPXZvaWQgMCxkZWxldGUgdGhpc1thXX1jYXRjaChiKXt9fSl9fSksbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1uLnByb3BGaXhbYl18fGIsZT1uLnByb3BIb29rc1tiXSksdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTp6Yi50ZXN0KGEubm9kZU5hbWUpfHxBYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLmhyZWZOb3JtYWxpemVkfHxuLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXtuLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pLGwuZW5jdHlwZXx8KG4ucHJvcEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpO3ZhciBCYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIENiKGEpe3JldHVybiBuLmF0dHIoYSwiY2xhc3MiKXx8IiJ9bi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsQ2IodGhpcykpKX0pO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKWQuaW5kZXhPZigiICIrZisiICIpPDAmJihkKz1mKyIgIik7aD1uLnRyaW0oZCksZSE9PWgmJm4uYXR0cihjLCJjbGFzcyIsaCl9fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLENiKHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKCJjbGFzcyIsIiIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKXdoaWxlKGQuaW5kZXhPZigiICIrZisiICIpPi0xKWQ9ZC5yZXBsYWNlKCIgIitmKyIgIiwiICIpO2g9bi50cmltKGQpLGUhPT1oJiZuLmF0dHIoYywiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6bi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihjKXtuKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsQ2IodGhpcyksYiksYil9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixkLGUsZjtpZigic3RyaW5nIj09PWMpe2Q9MCxlPW4odGhpcyksZj1hLm1hdGNoKEcpfHxbXTt3aGlsZShiPWZbZCsrXSllLmhhc0NsYXNzKGIpP2UucmVtb3ZlQ2xhc3MoYik6ZS5hZGRDbGFzcyhiKX1lbHNlIHZvaWQgMCE9PWEmJiJib29sZWFuIiE9PWN8fChiPUNiKHRoaXMpLGImJm4uX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsYiksbi5hdHRyKHRoaXMsImNsYXNzIixifHxhPT09ITE/IiI6bi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKSl9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPTA7Yj0iICIrYSsiICI7d2hpbGUoYz10aGlzW2QrK10paWYoMT09PWMubm9kZVR5cGUmJigiICIrQ2IoYykrIiAiKS5yZXBsYWNlKEJiLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KSxuLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxuLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFyIERiPWEubG9jYXRpb24sRWI9bi5ub3coKSxGYj0vXD8vLEdiPS8oLCl8KFxbfHspfCh9fF0pfCIoPzpbXiJcXFxyXG5dfFxcWyJcXFwvYmZucnRdfFxcdVtcZGEtZkEtRl17NH0pKiJccyo6P3x0cnVlfGZhbHNlfG51bGx8LT8oPyEwXGQpXGQrKD86XC5cZCt8KSg/OltlRV1bKy1dP1xkK3wpL2c7bi5wYXJzZUpTT049ZnVuY3Rpb24oYil7aWYoYS5KU09OJiZhLkpTT04ucGFyc2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKyIiKTt2YXIgYyxkPW51bGwsZT1uLnRyaW0oYisiIik7cmV0dXJuIGUmJiFuLnRyaW0oZS5yZXBsYWNlKEdiLGZ1bmN0aW9uKGEsYixlLGYpe3JldHVybiBjJiZiJiYoZD0wKSwwPT09ZD9hOihjPWV8fGIsZCs9IWYtIWUsIiIpfSkpP0Z1bmN0aW9uKCJyZXR1cm4gIitlKSgpOm4uZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0sbi5wYXJzZVhNTD1mdW5jdGlvbihiKXt2YXIgYyxkO2lmKCFifHwic3RyaW5nIiE9dHlwZW9mIGIpcmV0dXJuIG51bGw7dHJ5e2EuRE9NUGFyc2VyPyhkPW5ldyBhLkRPTVBhcnNlcixjPWQucGFyc2VGcm9tU3RyaW5nKGIsInRleHQveG1sIikpOihjPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bi5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIEhiPS8jLiokLyxJYj0vKFs/Jl0pXz1bXiZdKi8sSmI9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxLYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxMYj0vXig/OkdFVHxIRUFEKSQvLE1iPS9eXC9cLy8sTmI9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sT2I9e30sUGI9e30sUWI9IiovIi5jb25jYXQoIioiKSxSYj1EYi5ocmVmLFNiPU5iLmV4ZWMoUmIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIFRiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gVWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09UGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBWYihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZuLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gV2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gWGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6UmIsdHlwZToiR0VUIixpc0xvY2FsOktiLnRlc3QoU2JbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6UWIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6bi5wYXJzZUpTT04sInRleHQgeG1sIjpuLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9WYihWYihhLG4uYWpheFNldHRpbmdzKSxiKTpWYihuLmFqYXhTZXR0aW5ncyxhKX0sYWpheFByZWZpbHRlcjpUYihPYiksYWpheFRyYW5zcG9ydDpUYihQYiksYWpheDpmdW5jdGlvbihiLGMpeyJvYmplY3QiPT10eXBlb2YgYiYmKGM9YixiPXZvaWQgMCksYz1jfHx7fTt2YXIgZCxlLGYsZyxoLGksaixrLGw9bi5hamF4U2V0dXAoe30sYyksbT1sLmNvbnRleHR8fGwsbz1sLmNvbnRleHQmJihtLm5vZGVUeXBlfHxtLmpxdWVyeSk/bihtKTpuLmV2ZW50LHA9bi5EZWZlcnJlZCgpLHE9bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iikscj1sLnN0YXR1c0NvZGV8fHt9LHM9e30sdD17fSx1PTAsdj0iY2FuY2VsZWQiLHc9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYjtpZigyPT09dSl7aWYoIWspe2s9e307d2hpbGUoYj1KYi5leGVjKGcpKWtbYlsxXS50b0xvd2VyQ2FzZSgpXT1iWzJdfWI9a1thLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT1iP251bGw6Yn0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT11P2c6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTtyZXR1cm4gdXx8KGE9dFtjXT10W2NdfHxhLHNbYV09YiksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gdXx8KGwubWltZVR5cGU9YSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihhKXt2YXIgYjtpZihhKWlmKDI+dSlmb3IoYiBpbiBhKXJbYl09W3JbYl0sYVtiXV07ZWxzZSB3LmFsd2F5cyhhW3cuc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHY7cmV0dXJuIGomJmouYWJvcnQoYikseSgwLGIpLHRoaXN9fTtpZihwLnByb21pc2UodykuY29tcGxldGU9cS5hZGQsdy5zdWNjZXNzPXcuZG9uZSx3LmVycm9yPXcuZmFpbCxsLnVybD0oKGJ8fGwudXJsfHxSYikrIiIpLnJlcGxhY2UoSGIsIiIpLnJlcGxhY2UoTWIsU2JbMV0rIi8vIiksbC50eXBlPWMubWV0aG9kfHxjLnR5cGV8fGwubWV0aG9kfHxsLnR5cGUsbC5kYXRhVHlwZXM9bi50cmltKGwuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8WyIiXSxudWxsPT1sLmNyb3NzRG9tYWluJiYoZD1OYi5leGVjKGwudXJsLnRvTG93ZXJDYXNlKCkpLGwuY3Jvc3NEb21haW49ISghZHx8ZFsxXT09PVNiWzFdJiZkWzJdPT09U2JbMl0mJihkWzNdfHwoImh0dHA6Ij09PWRbMV0/IjgwIjoiNDQzIikpPT09KFNiWzNdfHwoImh0dHA6Ij09PVNiWzFdPyI4MCI6IjQ0MyIpKSkpLGwuZGF0YSYmbC5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBsLmRhdGEmJihsLmRhdGE9bi5wYXJhbShsLmRhdGEsbC50cmFkaXRpb25hbCkpLFViKE9iLGwsYyx3KSwyPT09dSlyZXR1cm4gdztpPW4uZXZlbnQmJmwuZ2xvYmFsLGkmJjA9PT1uLmFjdGl2ZSsrJiZuLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGwudHlwZT1sLnR5cGUudG9VcHBlckNhc2UoKSxsLmhhc0NvbnRlbnQ9IUxiLnRlc3QobC50eXBlKSxmPWwudXJsLGwuaGFzQ29udGVudHx8KGwuZGF0YSYmKGY9bC51cmwrPShGYi50ZXN0KGYpPyImIjoiPyIpK2wuZGF0YSxkZWxldGUgbC5kYXRhKSxsLmNhY2hlPT09ITEmJihsLnVybD1JYi50ZXN0KGYpP2YucmVwbGFjZShJYiwiJDFfPSIrRWIrKyk6ZisoRmIudGVzdChmKT8iJiI6Ij8iKSsiXz0iK0ViKyspKSxsLmlmTW9kaWZpZWQmJihuLmxhc3RNb2RpZmllZFtmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsbi5sYXN0TW9kaWZpZWRbZl0pLG4uZXRhZ1tmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixuLmV0YWdbZl0pKSwobC5kYXRhJiZsLmhhc0NvbnRlbnQmJmwuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSkmJncuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixsLmNvbnRlbnRUeXBlKSx3LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsbC5kYXRhVHlwZXNbMF0mJmwuYWNjZXB0c1tsLmRhdGFUeXBlc1swXV0/bC5hY2NlcHRzW2wuZGF0YVR5cGVzWzBdXSsoIioiIT09bC5kYXRhVHlwZXNbMF0/IiwgIitRYisiOyBxPTAuMDEiOiIiKTpsLmFjY2VwdHNbIioiXSk7Zm9yKGUgaW4gbC5oZWFkZXJzKXcuc2V0UmVxdWVzdEhlYWRlcihlLGwuaGVhZGVyc1tlXSk7aWYobC5iZWZvcmVTZW5kJiYobC5iZWZvcmVTZW5kLmNhbGwobSx3LGwpPT09ITF8fDI9PT11KSlyZXR1cm4gdy5hYm9ydCgpO3Y9ImFib3J0Ijtmb3IoZSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl3W2VdKGxbZV0pO2lmKGo9VWIoUGIsbCxjLHcpKXtpZih3LnJlYWR5U3RhdGU9MSxpJiZvLnRyaWdnZXIoImFqYXhTZW5kIixbdyxsXSksMj09PXUpcmV0dXJuIHc7bC5hc3luYyYmbC50aW1lb3V0PjAmJihoPWEuc2V0VGltZW91dChmdW5jdGlvbigpe3cuYWJvcnQoInRpbWVvdXQiKX0sbC50aW1lb3V0KSk7dHJ5e3U9MSxqLnNlbmQocyx5KX1jYXRjaCh4KXtpZighKDI+dSkpdGhyb3cgeDt5KC0xLHgpfX1lbHNlIHkoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHkoYixjLGQsZSl7dmFyIGsscyx0LHYseCx5PWM7MiE9PXUmJih1PTIsaCYmYS5jbGVhclRpbWVvdXQoaCksaj12b2lkIDAsZz1lfHwiIix3LnJlYWR5U3RhdGU9Yj4wPzQ6MCxrPWI+PTIwMCYmMzAwPmJ8fDMwND09PWIsZCYmKHY9V2IobCx3LGQpKSx2PVhiKGwsdix3LGspLGs/KGwuaWZNb2RpZmllZCYmKHg9dy5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLHgmJihuLmxhc3RNb2RpZmllZFtmXT14KSx4PXcuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSx4JiYobi5ldGFnW2ZdPXgpKSwyMDQ9PT1ifHwiSEVBRCI9PT1sLnR5cGU/eT0ibm9jb250ZW50IjozMDQ9PT1iP3k9Im5vdG1vZGlmaWVkIjooeT12LnN0YXRlLHM9di5kYXRhLHQ9di5lcnJvcixrPSF0KSk6KHQ9eSwhYiYmeXx8KHk9ImVycm9yIiwwPmImJihiPTApKSksdy5zdGF0dXM9Yix3LnN0YXR1c1RleHQ9KGN8fHkpKyIiLGs/cC5yZXNvbHZlV2l0aChtLFtzLHksd10pOnAucmVqZWN0V2l0aChtLFt3LHksdF0pLHcuc3RhdHVzQ29kZShyKSxyPXZvaWQgMCxpJiZvLnRyaWdnZXIoaz8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt3LGwsaz9zOnRdKSxxLmZpcmVXaXRoKG0sW3cseV0pLGkmJihvLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3csbF0pLC0tbi5hY3RpdmV8fG4uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB3fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbi5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG4uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG4uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe25bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG4uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG4uYWpheChuLmV4dGVuZCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0sbi5pc1BsYWluT2JqZWN0KGEpJiZhKSl9fSksbi5fZXZhbFVybD1mdW5jdGlvbihhKXtyZXR1cm4gbi5hamF4KHt1cmw6YSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfSxuLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikpfSk7aWYodGhpc1swXSl7dmFyIGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RDaGlsZCYmMT09PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSlhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KTtmdW5jdGlvbiBZYihhKXtyZXR1cm4gYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxuLmNzcyhhLCJkaXNwbGF5Iil9ZnVuY3Rpb24gWmIoYSl7aWYoIW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50fHxkLGEpKXJldHVybiEwO3doaWxlKGEmJjE9PT1hLm5vZGVUeXBlKXtpZigibm9uZSI9PT1ZYihhKXx8ImhpZGRlbiI9PT1hLnR5cGUpcmV0dXJuITA7YT1hLnBhcmVudE5vZGV9cmV0dXJuITF9bi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiBsLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpP2Eub2Zmc2V0V2lkdGg8PTAmJmEub2Zmc2V0SGVpZ2h0PD0wJiYhYS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aDpaYihhKX0sbi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hbi5leHByLmZpbHRlcnMuaGlkZGVuKGEpfTt2YXIgJGI9LyUyMC9nLF9iPS9cW1xdJC8sYWM9L1xyP1xuL2csYmM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGNjPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBkYyhhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxfYi50ZXN0KGEpP2QoYSxlKTpkYyhhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpZGMoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlkYyhjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZSgkYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmY2MudGVzdCh0aGlzLm5vZGVOYW1lKSYmIWJjLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFaLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYWMsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGFjLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPXZvaWQgMCE9PWEuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzTG9jYWw/aWMoKTpkLmRvY3VtZW50TW9kZT44P2hjKCk6L14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmaGMoKXx8aWMoKX06aGM7dmFyIGVjPTAsZmM9e30sZ2M9bi5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIGZjKWZjW2FdKHZvaWQgMCwhMCl9KSxsLmNvcnM9ISFnYyYmIndpdGhDcmVkZW50aWFscyJpbiBnYyxnYz1sLmFqYXg9ISFnYyxnYyYmbi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGIpe2lmKCFiLmNyb3NzRG9tYWlufHxsLmNvcnMpe3ZhciBjO3JldHVybntzZW5kOmZ1bmN0aW9uKGQsZSl7dmFyIGYsZz1iLnhocigpLGg9KytlYztpZihnLm9wZW4oYi50eXBlLGIudXJsLGIuYXN5bmMsYi51c2VybmFtZSxiLnBhc3N3b3JkKSxiLnhockZpZWxkcylmb3IoZiBpbiBiLnhockZpZWxkcylnW2ZdPWIueGhyRmllbGRzW2ZdO2IubWltZVR5cGUmJmcub3ZlcnJpZGVNaW1lVHlwZSYmZy5vdmVycmlkZU1pbWVUeXBlKGIubWltZVR5cGUpLGIuY3Jvc3NEb21haW58fGRbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGRbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZiBpbiBkKXZvaWQgMCE9PWRbZl0mJmcuc2V0UmVxdWVzdEhlYWRlcihmLGRbZl0rIiIpO2cuc2VuZChiLmhhc0NvbnRlbnQmJmIuZGF0YXx8bnVsbCksYz1mdW5jdGlvbihhLGQpe3ZhciBmLGksajtpZihjJiYoZHx8ND09PWcucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIGZjW2hdLGM9dm9pZCAwLGcub25yZWFkeXN0YXRlY2hhbmdlPW4ubm9vcCxkKTQhPT1nLnJlYWR5U3RhdGUmJmcuYWJvcnQoKTtlbHNle2o9e30sZj1nLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGcucmVzcG9uc2VUZXh0JiYoai50ZXh0PWcucmVzcG9uc2VUZXh0KTt0cnl7aT1nLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1mfHwhYi5pc0xvY2FsfHxiLmNyb3NzRG9tYWluPzEyMjM9PT1mJiYoZj0yMDQpOmY9ai50ZXh0PzIwMDo0MDR9aiYmZShmLGksaixnLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYi5hc3luYz80PT09Zy5yZWFkeVN0YXRlP2Euc2V0VGltZW91dChjKTpnLm9ucmVhZHlzdGF0ZWNoYW5nZT1mY1toXT1jOmMoKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKHZvaWQgMCwhMCl9fX19KTtmdW5jdGlvbiBoYygpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBpYygpe3RyeXtyZXR1cm4gbmV3IGEuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaChiKXt9fW4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPWQuaGVhZHx8bigiaGVhZCIpWzBdfHxkLmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihlLGYpe2I9ZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxmKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgamM9W10sa2M9Lyg9KVw/KD89JnwkKXxcP1w/LztuLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9amMucG9wKCl8fG4uZXhwYW5kbysiXyIrRWIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG4uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGtjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYwPT09KGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYma2MudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW4uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGtjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPShGYi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bi5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1mP24oYSkucmVtb3ZlUHJvcChlKTphW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssamMucHVzaChlKSksZyYmbi5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbi5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fGQ7dmFyIGU9eC5leGVjKGEpLGY9IWMmJltdO3JldHVybiBlP1tiLmNyZWF0ZUVsZW1lbnQoZVsxXSldOihlPWphKFthXSxiLGYpLGYmJmYubGVuZ3RoJiZuKGYpLnJlbW92ZSgpLG4ubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9O3ZhciBsYz1uLmZuLmxvYWQ7bi5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZigic3RyaW5nIiE9dHlwZW9mIGEmJmxjKXJldHVybiBsYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGQsZSxmLGc9dGhpcyxoPWEuaW5kZXhPZigiICIpO3JldHVybiBoPi0xJiYoZD1uLnRyaW0oYS5zbGljZShoLGEubGVuZ3RoKSksYT1hLnNsaWNlKDAsaCkpLG4uaXNGdW5jdGlvbihiKT8oYz1iLGI9dm9pZCAwKTpiJiYib2JqZWN0Ij09dHlwZW9mIGImJihlPSJQT1NUIiksZy5sZW5ndGg+MCYmbi5hamF4KHt1cmw6YSx0eXBlOmV8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP24oIjxkaXY+IikuYXBwZW5kKG4ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuYWx3YXlzKGMmJmZ1bmN0aW9uKGEsYil7Zy5lYWNoKGZ1bmN0aW9uKCl7Yy5hcHBseSh0aGlzLGZ8fFthLnJlc3BvbnNlVGV4dCxiLGFdKX0pfSksdGhpc30sbi5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9uKGIsYSl9fSksbi5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ3JlcChuLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH07ZnVuY3Rpb24gbWMoYSl7cmV0dXJuIG4uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1uLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW4uY3NzKGEsInBvc2l0aW9uIiksbD1uKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1uLmNzcyhhLCJ0b3AiKSxpPW4uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZuLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbi5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLG4uZXh0ZW5kKHt9LGgpKSksbnVsbCE9Yi50b3AmJihtLnRvcD1iLnRvcC1oLnRvcCtnKSxudWxsIT1iLmxlZnQmJihtLmxlZnQ9Yi5sZWZ0LWgubGVmdCtlKSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxtKTpsLmNzcyhtKX19LG4uZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09YT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtuLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7dmFyIGIsYyxkPXt0b3A6MCxsZWZ0OjB9LGU9dGhpc1swXSxmPWUmJmUub3duZXJEb2N1bWVudDtpZihmKXJldHVybiBiPWYuZG9jdW1lbnRFbGVtZW50LG4uY29udGFpbnMoYixlKT8oInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmKGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksYz1tYyhmKSx7dG9wOmQudG9wKyhjLnBhZ2VZT2Zmc2V0fHxiLnNjcm9sbFRvcCktKGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCsoYy5wYWdlWE9mZnNldHx8Yi5zY3JvbGxMZWZ0KS0oYi5jbGllbnRMZWZ0fHwwKX0pOmR9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXt0b3A6MCxsZWZ0OjB9LGQ9dGhpc1swXTtyZXR1cm4iZml4ZWQiPT09bi5jc3MoZCwicG9zaXRpb24iKT9iPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksbi5ub2RlTmFtZShhWzBdLCJodG1sIil8fChjPWEub2Zmc2V0KCkpLGMudG9wKz1uLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGMubGVmdCs9bi5jc3MoYVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6Yi50b3AtYy50b3Atbi5jc3MoZCwibWFyZ2luVG9wIiwhMCksbGVmdDpiLmxlZnQtYy5sZWZ0LW4uY3NzKGQsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShhJiYhbi5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bi5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxRYX0pfX0pLG4uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO24uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9bWMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bihmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bihmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbi5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT1VYShsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1TYShhLGIpLE9hLnRlc3QoYyk/bihhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxuLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe24uZWFjaCh7DQpwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OmIsIiI6Im91dGVyIithfSxmdW5jdGlvbihjLGQpe24uZm5bZF09ZnVuY3Rpb24oZCxlKXt2YXIgZj1hcmd1bWVudHMubGVuZ3RoJiYoY3x8ImJvb2xlYW4iIT10eXBlb2YgZCksZz1jfHwoZD09PSEwfHxlPT09ITA/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiBZKHRoaXMsZnVuY3Rpb24oYixjLGQpe3ZhciBlO3JldHVybiBuLmlzV2luZG93KGIpP2IuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1iLm5vZGVUeXBlPyhlPWIuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGIuYm9keVsic2Nyb2xsIithXSxlWyJzY3JvbGwiK2FdLGIuYm9keVsib2Zmc2V0IithXSxlWyJvZmZzZXQiK2FdLGVbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1kP24uY3NzKGIsYyxnKTpuLnN0eWxlKGIsYyxkLGcpfSxiLGY/ZDp2b2lkIDAsZixudWxsKX19KX0pLG4uZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5vbihhLG51bGwsYixjKX0sdW5iaW5kOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub2ZmKGEsbnVsbCxiKX0sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24oYixhLGMsZCl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihhLCIqKiIpOnRoaXMub2ZmKGIsYXx8IioqIixjKX19KSxuLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgbmM9YS5qUXVlcnksb2M9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9b2MpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PW5jKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTsNCg=="}},"time_used":150,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":150,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"primeelitecapital.com/assets/images/client_logo_white8.png","fqdn":"primeelitecapital.com","domain":"primeelitecapital.com","tld":"com"},"ip":{"addr":"172.67.212.136","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:07.998Z","timestamp":1785154927998,"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":"primeelitecapital.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 10 Jul 2026 10:02:36 GMT","end":"Thu, 08 Oct 2026 11:01:18 GMT"},"fingerprint":{"sha1":"D2:C3:EC:B9:9B:7D:ED:F2:66:20:F7:76:A9:EA:6B:3E:13:71:87:7D","sha256":"28:CE:4F:FF:2A:0D:9D:A5:22:1F:68:B1:F2:FC:F9:D3:6F:A5:3E:EA:7A:4E:B3:FD:70:C8:F3:ED:34:C2:F6:C9"}}},"request":{"raw":"GET /assets/images/client_logo_white8.png HTTP/1.1\r\nHost: primeelitecapital.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://primeelitecapital.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Ijl2aFQ0bHlpekpKdVRobVhsSnMzVFE9PSIsInZhbHVlIjoiNkdtVE9WeHphbzJJVGljenJWelppUkhuN0dDU29GR3FKRTVZSDVuQ0MySVg3TTd5NHM5ZnlHQzlrT3QxbjlDYlo2Yi9NL3M4MG5VQ2ZzV242VDFURmZIcTd1eGF2VXJnUE5OYWdtZGxQK0RPTnFKMHQvUTJVYlg0YWlHalExUVYiLCJtYWMiOiJhMDViZTgwOTAzMjNkNmY3MDY2YzYzYWYzNjY3N2M0NWFiZWVmNzM5NjhmMDgzYjg3N2EwMjY5NzA5YTQyMzg5IiwidGFnIjoiIn0%3D; prime_elite_capital_session=eyJpdiI6IlFPSDVNd3FxT0RxZ05kdm5tMERoa2c9PSIsInZhbHVlIjoiZlRnalpNYXJzN1orREtlWkNZKzJSc24xSFpWQjNUSTVGeFpjVFNoN2VocnI0M2VoVk9sSVdObjExM1l2MkxkcWxjMXE1Z3h1MWtSSXA5aWZuYnNyeVhiN0E2VGhWR09iQnZ3QTAvci9ycVB6b3Vkd3B4c0kxZEZBa00vTlptNTEiLCJtYWMiOiJhNmQ3YTU1ZmJhOWU2N2FjNzQyNTE3NjM0NTY5MjJkMDFmMmQxNTk2Y2M3NDFkZDBkNDY1YzgzNmNiODcyOTZjIiwidGFnIjoiIn0%3D\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 05:57:13 GMT\r\ncontent-type: image/png\r\nlast-modified: Sat, 07 Sep 2024 12:54:56 GMT\r\naccept-ranges: bytes\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 12:22:08 GMT\r\nserver: cloudflare\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-turbo-charged-by: LiteSpeed\r\nage: 23094\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=DX7rVaqZO3zDPnyIlPBUvfDNo2p8v%2BF%2FJkoxIItb3C7W6p3OKAYgSEIfSFy9k%2FDM6Rk%2FsaM5EhcdjZPyhvzSdb96aB7RZEqNBEJbdZmcQnL%2FmYQYysbbYE%2FgtBrKsFkBeean2W2H2sY%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a21b9b9bfd8cb28a-OSL\r\ncontent-length: 2835\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":2835,"size_decoded":3605,"mime_type":"image/png","magic":"PNG image data, 155 x 77, 8-bit/color RGBA, non-interlaced","md5":"65e089fcc3774b02639d4d7243eaac8c","sha1":"1b81f9fe1ce414995ee8c9530420e01922217720","sha256":"c3b2be22df80ddafedd9dfa6af9148bf2bc60b57abcd38993848b865b3c546da","sha512":"8bada533883810688a97b5c80d6088700a2be64ce85ad7a7906d4f2c7d6c9312b5d1d535315a7a97baa1608290665cabe75ef8ec8fb21d2bbdbd62328b8d7118","ssdeep":"","tlshash":"e0510a45a5823cd3490dcef026e794368017d3c8db986812b8e7a48f2de43f3625d1d2","first_seen":"2026-07-27T05:58:00.754801Z","last_seen":"2026-07-27T12:23:18.800844Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAJsAAABNCAYAAACxBha+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNDVBREY0NzQ4NzExRTg4MzlBRTA1OUZBNkNCQUQ0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNDVBREY1NzQ4NzExRTg4MzlBRTA1OUZBNkNCQUQ0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjE0NUFERjI3NDg3MTFFODgzOUFFMDU5RkE2Q0JBRDQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjE0NUFERjM3NDg3MTFFODgzOUFFMDU5RkE2Q0JBRDQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5S9ezNAAAHiUlEQVR42uxdv4/cRBSe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"}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":7,"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":"primeelitecapital.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://primeelitecapital.com/","date":"2026-07-27T12:22:08.404Z","timestamp":1785154928404,"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/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://primeelitecapital.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 8000\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:16 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:33:57 GMT\r\ncontent-type: font/woff2\r\nage: 429112\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":8000,"size_decoded":8812,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 8000, version 1.0","md5":"72993dddf88a63e8f226656f7de88e57","sha1":"179f97ec0275f09603a8db94d4380eb584d81cd5","sha256":"f4e80d9dfd374d02989b87a27b5ed4cb78fbb177c27f1478e9a8b0afb7513149","sha512":"7c20165f9d22a86341e841fd58526209017dcde2afe2d0d2a89fe853d95dc69f658d25cf798c71f452dab09843fc808c1ae87a60b1284134163abf5a1d93e50a","ssdeep":"192:GDonmfrEdXT8WrxzRXwyQo3zGEOM7Y2hOMgWnsfYSjv4ENFGwrlKJ:8onPxTzjgyQSzLPXOTIYHJAJ","tlshash":"08f1b0ffa92456c4df692475a5044f27623652b4dd35cb2f496f3e12d2d74224bcc4c1","first_seen":"2023-04-05T18:53:14Z","last_seen":"2026-08-11T11:54:45.075163Z","times_seen":291216,"resource_available":false,"data":"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"}},"time_used":52,"timings":{"blocked":31,"dns":0,"connect":0,"send":0,"wait":18,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-B-VHc1K4.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://primeelitecapital.com/","date":"2026-07-27T12:22:18.818Z","timestamp":1785154938818,"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-B-VHc1K4.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://primeelitecapital.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 12:22:18 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a670743-3f99\"\r\nexpires: Tue, 27 Jul 2027 07:27:08 GMT\r\nlast-modified: Mon, 27 Jul 2026 07:22:43 GMT\r\nx-77-nzt: k5KCHyLCbfNWEwcQjWLQFElMa30tWN31De5c5rqF1yfGAcfjpK5vRqu3ZoOOqxnp7gLetJw\r\nx-77-nzt-ray: fdb541238e1c8e7f7a4d676a4f330331\r\nx-77-cache: HIT\r\nx-77-age: 17678\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":6834,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"44df6240c839beea4111582dddf02793","sha1":"4b4dd2241d5ff95eba46fb8893058404630825cd","sha256":"a4019ee0c737ef5d214e80e5a87a5a6e839ff2cf4e286cdad9ed6ff397eba250","sha512":"2f30c45b38eeb4a1900f295893fa30362dce2af015cb8eac6b997795ff4b72db55a92d8d38bb7a8cc8f529c612906aa9d2a2a41539c6a67052ae569733ff7e02","ssdeep":"384:Xrgi5RFMkSjJOE/0BW2rvZZ795P6nrnBOVmPCRkXQbpaIF2x:XEizlSjJOEiWYPR5P6rnBOVmycQbpaIi","tlshash":"6c72d7742700783f712f489e15ade546b232c29dd693892d8b2fec0976c5cc0a8b37b9","first_seen":"2026-07-27T07:28:16.135673Z","last_seen":"2026-07-29T06:17:50.042235Z","times_seen":1081,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1rYjF5cUhhQS5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtREhyNXVId2QuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLUJBMWpjSG51LmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLWtiMXlxSGFBLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+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+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItRDFpVlkzTGouanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLUJBMWpjSG51LmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+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+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tQi1WSGMxSzQuanMubWFw"}},"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}}]}
