{"report_id":"77728e9e-a774-41ee-9be8-0498d9c6b046","version":6,"status":"done","tags":[],"date":"2025-10-26T17:50:33Z","url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"ocukl.com/hidqptqe/U0kyRTFFbGVyeTJwQ3ZiNDIrbnpFUG9hWWc1aVVDLytTWi9BUTZJL1pkdFNLVlY3UXkvNExWUmZoSjFZUHRPVjBySk5tUkNkT3FGQ3dDYkxYSDhIRGQ5REVIUnhxblFsVnNjSWllY0VEd3puSnhTSWZsWTZ0bmRoVVFNaEwxWUtmVGtCVytZbnpqb1JBYXM2KzJSMGhjdDNUYnlKY1A4bXlJVkpITlF1ZmZVPTo6IEs-C540UqZ2xQTLdP4xrA","fqdn":"ocukl.com","domain":"ocukl.com","tld":"com"},"title":"Download file - Free","dom":{"size":542026,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (39405)","md5":"80a8b2d74f20cb47c2ddf10882810cdf","sha1":"889276bc0b2706a362bf2369be7406802d916d3d","sha256":"85f475bf505606a9345fca7b46e2788845050d9fb84a1d67169877de367db9ab","sha512":"25d7f03cdbc664c112fd07011c3ec8d24be7507bad6dd52db5ca66864e42a91c246d9a01c4bc95a6e73d6c42c01d6d188e689667bc57b1590aff0d0dd7960f76","ssdeep":"6144:VwAP4C9da/aF8Sy5ECu1VDEBaKUZ0TmypruEHZ:LHda/yen35","tlshash":"a3b409667304202f52e773e154af260f6376d01a740a409cff75eceea8adc49643ab79","dom_hash":"domhashfef55079383115c8fb431e9b80777fb9","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":"PGh0bWwgZGF0YS1pZD0iaGNhcHRjaGEtZnJhbWUtNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZSIgbGFuZz0iZW4iPjxoZWFkPgogICAgPHRpdGxlPmhDYXB0Y2hhPC90aXRsZT4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ib2JqZWN0LXNyYyAnbm9uZSc7IGJhc2UtdXJpICdzZWxmJzsgd29ya2VyLXNyYyBibG9iOjsgc2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1ldmFsJyAnc2hhMjU2LWhoWVpsQ2FmdFVscS9kTWZRVkRVVkRsZHJ4NU9HL3VFYlNrSVNMVXFnKzA9JzsiPgogICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4qey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfWJvZHksaHRtbHttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbixVYnVudHUsIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmO292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MTVweCAyMHB4O2JvcmRlcjpub25lfWJ1dHRvbjpmb2N1cyxpbnB1dDpmb2N1cyxzZWxlY3Q6Zm9jdXMsdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTowfTpmb2N1c3tib3JkZXI6bm9uZTtvdXRsaW5lOjB9dGV4dGFyZWF7Ym9yZGVyOm5vbmU7b3ZlcmZsb3c6YXV0bztvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7LW1vei1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO3Jlc2l6ZTpub25lfS5uby1zZWxlY3Rpb257LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUAtd2Via2l0LWtleWZyYW1lcyBwb3B7MCV7dHJhbnNmb3JtOnNjYWxlKDApfTcwJXt0cmFuc2Zvcm06c2NhbGUoMS44KX04MCV7dHJhbnNmb3JtOnNjYWxlKC42KX0xMDAle3RyYW5zZm9ybTpzY2FsZSgxKX19QC1tb3ota2V5ZnJhbWVzIHBvcHswJXt0cmFuc2Zvcm06c2NhbGUoMCl9NzAle3RyYW5zZm9ybTpzY2FsZSgxLjgpfTgwJXt0cmFuc2Zvcm06c2NhbGUoLjYpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1ALW8ta2V5ZnJhbWVzIHBvcHswJXt0cmFuc2Zvcm06c2NhbGUoMCl9NzAle3RyYW5zZm9ybTpzY2FsZSgxLjgpfTgwJXt0cmFuc2Zvcm06c2NhbGUoLjYpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHBvcHswJXt0cmFuc2Zvcm06c2NhbGUoMCl9NzAle3RyYW5zZm9ybTpzY2FsZSgxLjgpfTgwJXt0cmFuc2Zvcm06c2NhbGUoLjYpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX08L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJuby1zZWxlY3Rpb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vKiB7ICJ2ZXJzaW9uIjogIjEiLCAiaGFzaCI6ICJNRVlDSVFDNnZoQ1hIZmtoVmR2U1I4NzFhVGtqZW5GM2lYbXd1OVkrbk4vOXVDTEo1Z0loQU9GbVprVEprYmIzcHZuZUh5NlBtUGVxa2VJTEpqTXJNbnFyaXhQNFZsejYiIH0gKi8KLyogaHR0cHM6Ly9oY2FwdGNoYS5jb20vbGljZW5zZSAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdCh0KXt2YXIgZT10aGlzLmNvbnN0cnVjdG9yO3JldHVybiB0aGlzLnRoZW4oKGZ1bmN0aW9uKGkpe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBpfSkpfSksKGZ1bmN0aW9uKGkpe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBlLnJlamVjdChpKX0pKX0pKX1mdW5jdGlvbiBlKHQpe3JldHVybiBuZXcgdGhpcygoZnVuY3Rpb24oZSxpKXtpZighdHx8InVuZGVmaW5lZCI9PXR5cGVvZiB0Lmxlbmd0aClyZXR1cm4gaShuZXcgVHlwZUVycm9yKHR5cGVvZiB0KyIgIit0KyIgaXMgbm90IGl0ZXJhYmxlKGNhbm5vdCByZWFkIHByb3BlcnR5IFN5bWJvbChTeW1ib2wuaXRlcmF0b3IpKSIpKTt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09bi5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPW4ubGVuZ3RoO2Z1bmN0aW9uIHIodCxpKXtpZihpJiYoIm9iamVjdCI9PXR5cGVvZiBpfHwiZnVuY3Rpb24iPT10eXBlb2YgaSkpe3ZhciBzPWkudGhlbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgcylyZXR1cm4gdm9pZCBzLmNhbGwoaSwoZnVuY3Rpb24oZSl7cih0LGUpfSksKGZ1bmN0aW9uKGkpe25bdF09e3N0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjppfSwwPT0tLW8mJmUobil9KSl9blt0XT17c3RhdHVzOiJmdWxmaWxsZWQiLHZhbHVlOml9LDA9PS0tbyYmZShuKX1mb3IodmFyIHM9MDtzPG4ubGVuZ3RoO3MrKylyKHMsbltzXSl9KSl9dmFyIGk9c2V0VGltZW91dCxuPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIG8odCl7cmV0dXJuIEJvb2xlYW4odCYmInVuZGVmaW5lZCIhPXR5cGVvZiB0Lmxlbmd0aCl9ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBzKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXVuZGVmaW5lZCx0aGlzLl9kZWZlcnJlZHM9W10scCh0LHRoaXMpfWZ1bmN0aW9uIGEodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAscy5faW1tZWRpYXRlRm4oKGZ1bmN0aW9uKCl7dmFyIGk9MT09PXQuX3N0YXRlP2Uub25GdWxmaWxsZWQ6ZS5vblJlamVjdGVkO2lmKG51bGwhPT1pKXt2YXIgbjt0cnl7bj1pKHQuX3ZhbHVlKX1jYXRjaChvKXtyZXR1cm4gdm9pZCBjKGUucHJvbWlzZSxvKX1sKGUucHJvbWlzZSxuKX1lbHNlKDE9PT10Ll9zdGF0ZT9sOmMpKGUucHJvbWlzZSx0Ll92YWx1ZSl9KSkpOnQuX2RlZmVycmVkcy5wdXNoKGUpfWZ1bmN0aW9uIGwodCxlKXt0cnl7aWYoZT09PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQSBwcm9taXNlIGNhbm5vdCBiZSByZXNvbHZlZCB3aXRoIGl0c2VsZi4iKTtpZihlJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSkpe3ZhciBpPWUudGhlbjtpZihlIGluc3RhbmNlb2YgcylyZXR1cm4gdC5fc3RhdGU9Myx0Ll92YWx1ZT1lLHZvaWQgaCh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaSlyZXR1cm4gdm9pZCBwKChuPWksbz1lLGZ1bmN0aW9uKCl7bi5hcHBseShvLGFyZ3VtZW50cyl9KSx0KX10Ll9zdGF0ZT0xLHQuX3ZhbHVlPWUsaCh0KX1jYXRjaChyKXtjKHQscil9dmFyIG4sb31mdW5jdGlvbiBjKHQsZSl7dC5fc3RhdGU9Mix0Ll92YWx1ZT1lLGgodCl9ZnVuY3Rpb24gaCh0KXsyPT09dC5fc3RhdGUmJjA9PT10Ll9kZWZlcnJlZHMubGVuZ3RoJiZzLl9pbW1lZGlhdGVGbigoZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxzLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KSk7Zm9yKHZhciBlPTAsaT10Ll9kZWZlcnJlZHMubGVuZ3RoO2U8aTtlKyspYSh0LHQuX2RlZmVycmVkc1tlXSk7dC5fZGVmZXJyZWRzPW51bGx9ZnVuY3Rpb24gdSh0LGUsaSl7dGhpcy5vbkZ1bGZpbGxlZD0iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGwsdGhpcy5vblJlamVjdGVkPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6bnVsbCx0aGlzLnByb21pc2U9aX1mdW5jdGlvbiBwKHQsZSl7dmFyIGk9ITE7dHJ5e3QoKGZ1bmN0aW9uKHQpe2l8fChpPSEwLGwoZSx0KSl9KSwoZnVuY3Rpb24odCl7aXx8KGk9ITAsYyhlLHQpKX0pKX1jYXRjaChuKXtpZihpKXJldHVybjtpPSEwLGMoZSxuKX19cy5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSxzLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKHQsZSl7dmFyIGk9bmV3IHRoaXMuY29uc3RydWN0b3Iocik7cmV0dXJuIGEodGhpcyxuZXcgdSh0LGUsaSkpLGl9LHMucHJvdG90eXBlWyJmaW5hbGx5Il09dCxzLmFsbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHMoKGZ1bmN0aW9uKGUsaSl7aWYoIW8odCkpcmV0dXJuIGkobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09bi5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciByPW4ubGVuZ3RoO2Z1bmN0aW9uIHModCxvKXt0cnl7aWYobyYmKCJvYmplY3QiPT10eXBlb2Ygb3x8ImZ1bmN0aW9uIj09dHlwZW9mIG8pKXt2YXIgYT1vLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKG8sKGZ1bmN0aW9uKGUpe3ModCxlKX0pLGkpfW5bdF09bywwPT0tLXImJmUobil9Y2F0Y2gobCl7aShsKX19Zm9yKHZhciBhPTA7YTxuLmxlbmd0aDthKyspcyhhLG5bYV0pfSkpfSxzLmFsbFNldHRsZWQ9ZSxzLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PXM/dDpuZXcgcygoZnVuY3Rpb24oZSl7ZSh0KX0pKX0scy5yZWplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBzKChmdW5jdGlvbihlLGkpe2kodCl9KSl9LHMucmFjZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHMoKGZ1bmN0aW9uKGUsaSl7aWYoIW8odCkpcmV0dXJuIGkobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5yYWNlIGFjY2VwdHMgYW4gYXJyYXkiKSk7Zm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7bisrKXMucmVzb2x2ZSh0W25dKS50aGVuKGUsaSl9KSl9LHMuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBuJiZmdW5jdGlvbih0KXtuKHQpfXx8ZnVuY3Rpb24odCl7aSh0LDApfSxzLl91bmhhbmRsZWRSZWplY3Rpb25Gbj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIGNvbnNvbGUmJmNvbnNvbGUmJmNvbnNvbGUud2FybigiUG9zc2libGUgVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiIsdCl9O3ZhciBmPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmKXJldHVybiBzZWxmO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3c7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwpcmV0dXJuIGdsb2JhbDt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpO2Z1bmN0aW9uIGQodCxlLGkpe3JldHVybiBlPD10JiZ0PD1pfWZ1bmN0aW9uIG0odCl7aWYodD09PXVuZGVmaW5lZClyZXR1cm57fTtpZih0PT09T2JqZWN0KHQpKXJldHVybiB0O3Rocm93IFR5cGVFcnJvcigiQ291bGQgbm90IGNvbnZlcnQgYXJndW1lbnQgdG8gZGljdGlvbmFyeSIpfSJmdW5jdGlvbiIhPXR5cGVvZiBmLlByb21pc2U/Zi5Qcm9taXNlPXM6KGYuUHJvbWlzZS5wcm90b3R5cGVbImZpbmFsbHkiXXx8KGYuUHJvbWlzZS5wcm90b3R5cGVbImZpbmFsbHkiXT10KSxmLlByb21pc2UuYWxsU2V0dGxlZHx8KGYuUHJvbWlzZS5hbGxTZXR0bGVkPWUpKTt2YXIgeT1mdW5jdGlvbih0KXtyZXR1cm4gdD49MCYmdDw9MTI3fSxnPS0xO2Z1bmN0aW9uIGIodCl7dGhpcy50b2tlbnM9W10uc2xpY2UuY2FsbCh0KSx0aGlzLnRva2Vucy5yZXZlcnNlKCl9Yi5wcm90b3R5cGU9e2VuZE9mU3RyZWFtOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMudG9rZW5zLmxlbmd0aH0scmVhZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRva2Vucy5sZW5ndGg/dGhpcy50b2tlbnMucG9wKCk6Z30scHJlcGVuZDpmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgZT10O2UubGVuZ3RoOyl0aGlzLnRva2Vucy5wdXNoKGUucG9wKCkpO2Vsc2UgdGhpcy50b2tlbnMucHVzaCh0KX0scHVzaDpmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgZT10O2UubGVuZ3RoOyl0aGlzLnRva2Vucy51bnNoaWZ0KGUuc2hpZnQoKSk7ZWxzZSB0aGlzLnRva2Vucy51bnNoaWZ0KHQpfX07dmFyIHY9LTE7ZnVuY3Rpb24gdyh0LGUpe2lmKHQpdGhyb3cgVHlwZUVycm9yKCJEZWNvZGVyIGVycm9yIik7cmV0dXJuIGV8fDY1NTMzfWZ1bmN0aW9uIGsodCl7cmV0dXJuIHQ9U3RyaW5nKHQpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh4LHQpP3hbdF06bnVsbH12YXIgeD17fTtbe2VuY29kaW5nczpbe2xhYmVsczpbInVuaWNvZGUtMS0xLXV0Zi04IiwidXRmLTgiLCJ1dGY4Il0sbmFtZToiVVRGLTgifV0saGVhZGluZzoiVGhlIEVuY29kaW5nIn1dLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZW5jb2RpbmdzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QubGFiZWxzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3hbZV09dH0pKX0pKX0pKTt2YXIgXyxFPXsiVVRGLTgiOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgQSh0KX19LFY9eyJVVEYtOCI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBSKHQpfX0sQz0idXRmLTgiO2Z1bmN0aW9uIFQodCxlKXtpZighKHRoaXMgaW5zdGFuY2VvZiBUKSl0aHJvdyBUeXBlRXJyb3IoIkNhbGxlZCBhcyBhIGZ1bmN0aW9uLiBEaWQgeW91IGZvcmdldCAnbmV3Jz8iKTt0PXQhPT11bmRlZmluZWQ/U3RyaW5nKHQpOkMsZT1tKGUpLHRoaXMuX2VuY29kaW5nPW51bGwsdGhpcy5fZGVjb2Rlcj1udWxsLHRoaXMuX2lnbm9yZUJPTT0hMSx0aGlzLl9CT01zZWVuPSExLHRoaXMuX2Vycm9yX21vZGU9InJlcGxhY2VtZW50Iix0aGlzLl9kb19ub3RfZmx1c2g9ITE7dmFyIGk9ayh0KTtpZihudWxsPT09aXx8InJlcGxhY2VtZW50Ij09PWkubmFtZSl0aHJvdyBSYW5nZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3QpO2lmKCFWW2kubmFtZV0pdGhyb3cgRXJyb3IoIkRlY29kZXIgbm90IHByZXNlbnQuIERpZCB5b3UgZm9yZ2V0IHRvIGluY2x1ZGUgZW5jb2RpbmctaW5kZXhlcy5qcyBmaXJzdD8iKTt2YXIgbj10aGlzO3JldHVybiBuLl9lbmNvZGluZz1pLGUuZmF0YWwmJihuLl9lcnJvcl9tb2RlPSJmYXRhbCIpLGUuaWdub3JlQk9NJiYobi5faWdub3JlQk9NPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHl8fCh0aGlzLmVuY29kaW5nPW4uX2VuY29kaW5nLm5hbWUudG9Mb3dlckNhc2UoKSx0aGlzLmZhdGFsPSJmYXRhbCI9PT1uLl9lcnJvcl9tb2RlLHRoaXMuaWdub3JlQk9NPW4uX2lnbm9yZUJPTSksbn1mdW5jdGlvbiBTKHQsZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgUykpdGhyb3cgVHlwZUVycm9yKCJDYWxsZWQgYXMgYSBmdW5jdGlvbi4gRGlkIHlvdSBmb3JnZXQgJ25ldyc/Iik7ZT1tKGUpLHRoaXMuX2VuY29kaW5nPW51bGwsdGhpcy5fZW5jb2Rlcj1udWxsLHRoaXMuX2RvX25vdF9mbHVzaD0hMSx0aGlzLl9mYXRhbD1lLmZhdGFsPyJmYXRhbCI6InJlcGxhY2VtZW50Ijt2YXIgaT10aGlzO2lmKGUuTk9OU1RBTkRBUkRfYWxsb3dMZWdhY3lFbmNvZGluZyl7dmFyIG49ayh0PXQhPT11bmRlZmluZWQ/U3RyaW5nKHQpOkMpO2lmKG51bGw9PT1ufHwicmVwbGFjZW1lbnQiPT09bi5uYW1lKXRocm93IFJhbmdlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrdCk7aWYoIUVbbi5uYW1lXSl0aHJvdyBFcnJvcigiRW5jb2RlciBub3QgcHJlc2VudC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBlbmNvZGluZy1pbmRleGVzLmpzIGZpcnN0PyIpO2kuX2VuY29kaW5nPW59ZWxzZSBpLl9lbmNvZGluZz1rKCJ1dGYtOCIpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHl8fCh0aGlzLmVuY29kaW5nPWkuX2VuY29kaW5nLm5hbWUudG9Mb3dlckNhc2UoKSksaX1mdW5jdGlvbiBSKHQpe3ZhciBlPXQuZmF0YWwsaT0wLG49MCxvPTAscj0xMjgscz0xOTE7dGhpcy5oYW5kbGVyPWZ1bmN0aW9uKHQsYSl7aWYoYT09PWcmJjAhPT1vKXJldHVybiBvPTAsdyhlKTtpZihhPT09ZylyZXR1cm4gdjtpZigwPT09byl7aWYoZChhLDAsMTI3KSlyZXR1cm4gYTtpZihkKGEsMTk0LDIyMykpbz0xLGk9MzEmYTtlbHNlIGlmKGQoYSwyMjQsMjM5KSkyMjQ9PT1hJiYocj0xNjApLDIzNz09PWEmJihzPTE1OSksbz0yLGk9MTUmYTtlbHNle2lmKCFkKGEsMjQwLDI0NCkpcmV0dXJuIHcoZSk7MjQwPT09YSYmKHI9MTQ0KSwyNDQ9PT1hJiYocz0xNDMpLG89MyxpPTcmYX1yZXR1cm4gbnVsbH1pZighZChhLHIscykpcmV0dXJuIGk9bz1uPTAscj0xMjgscz0xOTEsdC5wcmVwZW5kKGEpLHcoZSk7aWYocj0xMjgscz0xOTEsaT1pPDw2fDYzJmEsKG4rPTEpIT09bylyZXR1cm4gbnVsbDt2YXIgbD1pO3JldHVybiBpPW89bj0wLGx9fWZ1bmN0aW9uIEEodCl7dC5mYXRhbDt0aGlzLmhhbmRsZXI9ZnVuY3Rpb24odCxlKXtpZihlPT09ZylyZXR1cm4gdjtpZih5KGUpKXJldHVybiBlO3ZhciBpLG47ZChlLDEyOCwyMDQ3KT8oaT0xLG49MTkyKTpkKGUsMjA0OCw2NTUzNSk/KGk9MixuPTIyNCk6ZChlLDY1NTM2LDExMTQxMTEpJiYoaT0zLG49MjQwKTtmb3IodmFyIG89WyhlPj42KmkpK25dO2k+MDspe3ZhciByPWU+PjYqKGktMSk7by5wdXNoKDEyOHw2MyZyKSxpLT0xfXJldHVybiBvfX1PYmplY3QuZGVmaW5lUHJvcGVydHkmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoVC5wcm90b3R5cGUsImVuY29kaW5nIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuY29kaW5nLm5hbWUudG9Mb3dlckNhc2UoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoVC5wcm90b3R5cGUsImZhdGFsIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuImZhdGFsIj09PXRoaXMuX2Vycm9yX21vZGV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFQucHJvdG90eXBlLCJpZ25vcmVCT00iLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faWdub3JlQk9NfX0pKSxULnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24odCxlKXt2YXIgaTtpPSJvYmplY3QiPT10eXBlb2YgdCYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KHQpOiJvYmplY3QiPT10eXBlb2YgdCYmImJ1ZmZlciJpbiB0JiZ0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpOm5ldyBVaW50OEFycmF5KDApLGU9bShlKSx0aGlzLl9kb19ub3RfZmx1c2h8fCh0aGlzLl9kZWNvZGVyPVZbdGhpcy5fZW5jb2RpbmcubmFtZV0oe2ZhdGFsOiJmYXRhbCI9PT10aGlzLl9lcnJvcl9tb2RlfSksdGhpcy5fQk9Nc2Vlbj0hMSksdGhpcy5fZG9fbm90X2ZsdXNoPUJvb2xlYW4oZS5zdHJlYW0pO2Zvcih2YXIgbixvPW5ldyBiKGkpLHI9W107Oyl7dmFyIHM9by5yZWFkKCk7aWYocz09PWcpYnJlYWs7aWYoKG49dGhpcy5fZGVjb2Rlci5oYW5kbGVyKG8scykpPT09dilicmVhaztudWxsIT09biYmKEFycmF5LmlzQXJyYXkobik/ci5wdXNoLmFwcGx5KHIsbik6ci5wdXNoKG4pKX1pZighdGhpcy5fZG9fbm90X2ZsdXNoKXtkb3tpZigobj10aGlzLl9kZWNvZGVyLmhhbmRsZXIobyxvLnJlYWQoKSkpPT09dilicmVhaztudWxsIT09biYmKEFycmF5LmlzQXJyYXkobik/ci5wdXNoLmFwcGx5KHIsbik6ci5wdXNoKG4pKX13aGlsZSghby5lbmRPZlN0cmVhbSgpKTt0aGlzLl9kZWNvZGVyPW51bGx9cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlLGk7cmV0dXJuIGU9WyJVVEYtOCIsIlVURi0xNkxFIiwiVVRGLTE2QkUiXSxpPXRoaXMuX2VuY29kaW5nLm5hbWUsLTE9PT1lLmluZGV4T2YoaSl8fHRoaXMuX2lnbm9yZUJPTXx8dGhpcy5fQk9Nc2Vlbnx8KHQubGVuZ3RoPjAmJjY1Mjc5PT09dFswXT8odGhpcy5fQk9Nc2Vlbj0hMCx0LnNoaWZ0KCkpOnQubGVuZ3RoPjAmJih0aGlzLl9CT01zZWVuPSEwKSksZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLGk9MDtpPHQubGVuZ3RoOysraSl7dmFyIG49dFtpXTtuPD02NTUzNT9lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pOihuLT02NTUzNixlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2KyhuPj4xMCksNTYzMjArKDEwMjMmbikpKX1yZXR1cm4gZX0odCl9LmNhbGwodGhpcyxyKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5wcm90b3R5cGUsImVuY29kaW5nIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuY29kaW5nLm5hbWUudG9Mb3dlckNhc2UoKX19KSxTLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXt0PXQ9PT11bmRlZmluZWQ/IiI6U3RyaW5nKHQpLGU9bShlKSx0aGlzLl9kb19ub3RfZmx1c2h8fCh0aGlzLl9lbmNvZGVyPUVbdGhpcy5fZW5jb2RpbmcubmFtZV0oe2ZhdGFsOiJmYXRhbCI9PT10aGlzLl9mYXRhbH0pKSx0aGlzLl9kb19ub3RfZmx1c2g9Qm9vbGVhbihlLnN0cmVhbSk7Zm9yKHZhciBpLG49bmV3IGIoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVN0cmluZyh0KSxpPWUubGVuZ3RoLG49MCxvPVtdO248aTspe3ZhciByPWUuY2hhckNvZGVBdChuKTtpZihyPDU1Mjk2fHxyPjU3MzQzKW8ucHVzaChyKTtlbHNlIGlmKHI+PTU2MzIwJiZyPD01NzM0MylvLnB1c2goNjU1MzMpO2Vsc2UgaWYocj49NTUyOTYmJnI8PTU2MzE5KWlmKG49PT1pLTEpby5wdXNoKDY1NTMzKTtlbHNle3ZhciBzPWUuY2hhckNvZGVBdChuKzEpO2lmKHM+PTU2MzIwJiZzPD01NzM0Myl7dmFyIGE9MTAyMyZyLGw9MTAyMyZzO28ucHVzaCg2NTUzNisoYTw8MTApK2wpLG4rPTF9ZWxzZSBvLnB1c2goNjU1MzMpfW4rPTF9cmV0dXJuIG99KHQpKSxvPVtdOzspe3ZhciByPW4ucmVhZCgpO2lmKHI9PT1nKWJyZWFrO2lmKChpPXRoaXMuX2VuY29kZXIuaGFuZGxlcihuLHIpKT09PXYpYnJlYWs7QXJyYXkuaXNBcnJheShpKT9vLnB1c2guYXBwbHkobyxpKTpvLnB1c2goaSl9aWYoIXRoaXMuX2RvX25vdF9mbHVzaCl7Zm9yKDsoaT10aGlzLl9lbmNvZGVyLmhhbmRsZXIobixuLnJlYWQoKSkpIT09djspQXJyYXkuaXNBcnJheShpKT9vLnB1c2guYXBwbHkobyxpKTpvLnB1c2goaSk7dGhpcy5fZW5jb2Rlcj1udWxsfXJldHVybiBuZXcgVWludDhBcnJheShvKX0sd2luZG93LlRleHREZWNvZGVyfHwod2luZG93LlRleHREZWNvZGVyPVQpLHdpbmRvdy5UZXh0RW5jb2Rlcnx8KHdpbmRvdy5UZXh0RW5jb2Rlcj1TKSxmdW5jdGlvbih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgUHJvbWlzZSl0aHJvdyJQcm9taXNlIHN1cHBvcnQgcmVxdWlyZWQiO3ZhciBlPXQuY3J5cHRvfHx0Lm1zQ3J5cHRvO2lmKGUpe3ZhciBpPWUuc3VidGxlfHxlLndlYmtpdFN1YnRsZTtpZihpKXt2YXIgbj10LkNyeXB0b3x8ZS5jb25zdHJ1Y3Rvcnx8T2JqZWN0LG89dC5TdWJ0bGVDcnlwdG98fGkuY29uc3RydWN0b3J8fE9iamVjdCxyPSh0LkNyeXB0b0tleXx8dC5LZXksdC5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkVkZ2UvIik+LTEpLHM9ISF0Lm1zQ3J5cHRvJiYhcixhPSFlLnN1YnRsZSYmISFlLndlYmtpdFN1YnRsZTtpZihzfHxhKXt2YXIgbD17S29aSWh2Y05BUUVCOiIxLjIuODQwLjExMzU0OS4xLjEuMSJ9LGM9eyIxLjIuODQwLjExMzU0OS4xLjEuMSI6IktvWklodmNOQVFFQiJ9O2lmKFsiZ2VuZXJhdGVLZXkiLCJpbXBvcnRLZXkiLCJ1bndyYXBLZXkiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj1pW3RdO2lbdF09ZnVuY3Rpb24obyxyLGwpe3ZhciBjLGgsdSxkLHc9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO3N3aXRjaCh0KXtjYXNlImdlbmVyYXRlS2V5IjpjPW0obyksaD1yLHU9bDticmVhaztjYXNlImltcG9ydEtleSI6Yz1tKGwpLGg9d1szXSx1PXdbNF0sImp3ayI9PT1vJiYoKHI9ZyhyKSkuYWxnfHwoci5hbGc9eShjKSksci5rZXlfb3BzfHwoci5rZXlfb3BzPSJvY3QiIT09ci5rdHk/ImQiaW4gcj91LmZpbHRlcihWKTp1LmZpbHRlcihFKTp1LnNsaWNlKCkpLHdbMV09YihyKSk7YnJlYWs7Y2FzZSJ1bndyYXBLZXkiOmM9d1s0XSxoPXdbNV0sdT13WzZdLHdbMl09bC5fa2V5fWlmKCJnZW5lcmF0ZUtleSI9PT10JiYiSE1BQyI9PT1jLm5hbWUmJmMuaGFzaClyZXR1cm4gYy5sZW5ndGg9Yy5sZW5ndGh8fHsiU0hBLTEiOjUxMiwiU0hBLTI1NiI6NTEyLCJTSEEtMzg0IjoxMDI0LCJTSEEtNTEyIjoxMDI0fVtjLmhhc2gubmFtZV0saS5pbXBvcnRLZXkoInJhdyIsZS5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgrNz4+MykpLGMsaCx1KTtpZihhJiYiZ2VuZXJhdGVLZXkiPT09dCYmIlJTQVNTQS1QS0NTMS12MV81Ij09PWMubmFtZSYmKCFjLm1vZHVsdXNMZW5ndGh8fGMubW9kdWx1c0xlbmd0aD49MjA0OCkpcmV0dXJuKG89bShvKSkubmFtZT0iUlNBRVMtUEtDUzEtdjFfNSIsZGVsZXRlIG8uaGFzaCxpLmdlbmVyYXRlS2V5KG8sITAsWyJlbmNyeXB0IiwiZGVjcnlwdCJdKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZXhwb3J0S2V5KCJqd2siLHQucHVibGljS2V5KSxpLmV4cG9ydEtleSgiandrIix0LnByaXZhdGVLZXkpXSl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHRbMF0uYWxnPXRbMV0uYWxnPXkoYyksdFswXS5rZXlfb3BzPXUuZmlsdGVyKEUpLHRbMV0ua2V5X29wcz11LmZpbHRlcihWKSxQcm9taXNlLmFsbChbaS5pbXBvcnRLZXkoImp3ayIsdFswXSxjLCEwLHRbMF0ua2V5X29wcyksaS5pbXBvcnRLZXkoImp3ayIsdFsxXSxjLGgsdFsxXS5rZXlfb3BzKV0pfSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybntwdWJsaWNLZXk6dFswXSxwcml2YXRlS2V5OnRbMV19fSkpO2lmKChhfHxzJiYiU0hBLTEiPT09KGMuaGFzaHx8e30pLm5hbWUpJiYiaW1wb3J0S2V5Ij09PXQmJiJqd2siPT09byYmIkhNQUMiPT09Yy5uYW1lJiYib2N0Ij09PXIua3R5KXJldHVybiBpLmltcG9ydEtleSgicmF3IixmKHAoci5rKSksbCx3WzNdLHdbNF0pO2lmKGEmJiJpbXBvcnRLZXkiPT09dCYmKCJzcGtpIj09PW98fCJwa2NzOCI9PT1vKSlyZXR1cm4gaS5pbXBvcnRLZXkoImp3ayIsdihyKSxsLHdbM10sd1s0XSk7aWYocyYmInVud3JhcEtleSI9PT10KXJldHVybiBpLmRlY3J5cHQod1szXSxsLHIpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBpLmltcG9ydEtleShvLHQsd1s0XSx3WzVdLHdbNl0pfSkpO3RyeXtkPW4uYXBwbHkoaSx3KX1jYXRjaChrKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qoayl9cmV0dXJuIHMmJihkPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe2Qub25hYm9ydD1kLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZSh0KX0sZC5vbmNvbXBsZXRlPWZ1bmN0aW9uKGUpe3QoZS50YXJnZXQucmVzdWx0KX19KSkpLGQ9ZC50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4iSE1BQyI9PT1jLm5hbWUmJihjLmxlbmd0aHx8KGMubGVuZ3RoPTgqdC5hbGdvcml0aG0ubGVuZ3RoKSksMD09Yy5uYW1lLnNlYXJjaCgiUlNBIikmJihjLm1vZHVsdXNMZW5ndGh8fChjLm1vZHVsdXNMZW5ndGg9KHQucHVibGljS2V5fHx0KS5hbGdvcml0aG0ubW9kdWx1c0xlbmd0aCksYy5wdWJsaWNFeHBvbmVudHx8KGMucHVibGljRXhwb25lbnQ9KHQucHVibGljS2V5fHx0KS5hbGdvcml0aG0ucHVibGljRXhwb25lbnQpKSx0PXQucHVibGljS2V5JiZ0LnByaXZhdGVLZXk/e3B1YmxpY0tleTpuZXcgXyh0LnB1YmxpY0tleSxjLGgsdS5maWx0ZXIoRSkpLHByaXZhdGVLZXk6bmV3IF8odC5wcml2YXRlS2V5LGMsaCx1LmZpbHRlcihWKSl9Om5ldyBfKHQsYyxoLHUpfSkpfX0pKSxbImV4cG9ydEtleSIsIndyYXBLZXkiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1pW3RdO2lbdF09ZnVuY3Rpb24obixvLHIpe3ZhciBsLGM9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO3N3aXRjaCh0KXtjYXNlImV4cG9ydEtleSI6Y1sxXT1vLl9rZXk7YnJlYWs7Y2FzZSJ3cmFwS2V5IjpjWzFdPW8uX2tleSxjWzJdPXIuX2tleX1pZigoYXx8cyYmIlNIQS0xIj09PShvLmFsZ29yaXRobS5oYXNofHx7fSkubmFtZSkmJiJleHBvcnRLZXkiPT09dCYmImp3ayI9PT1uJiYiSE1BQyI9PT1vLmFsZ29yaXRobS5uYW1lJiYoY1swXT0icmF3IiksIWF8fCJleHBvcnRLZXkiIT09dHx8InNwa2kiIT09biYmInBrY3M4IiE9PW58fChjWzBdPSJqd2siKSxzJiYid3JhcEtleSI9PT10KXJldHVybiBpLmV4cG9ydEtleShuLG8pLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiJqd2siPT09biYmKHQ9Zih1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZyh0KSkpKSkpLGkuZW5jcnlwdChjWzNdLHIsdCl9KSk7dHJ5e2w9ZS5hcHBseShpLGMpfWNhdGNoKGgpe3JldHVybiBQcm9taXNlLnJlamVjdChoKX1yZXR1cm4gcyYmKGw9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7bC5vbmFib3J0PWwub25lcnJvcj1mdW5jdGlvbih0KXtlKHQpfSxsLm9uY29tcGxldGU9ZnVuY3Rpb24oZSl7dChlLnRhcmdldC5yZXN1bHQpfX0pKSksImV4cG9ydEtleSI9PT10JiYiandrIj09PW4mJihsPWwudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuKGF8fHMmJiJTSEEtMSI9PT0oby5hbGdvcml0aG0uaGFzaHx8e30pLm5hbWUpJiYiSE1BQyI9PT1vLmFsZ29yaXRobS5uYW1lP3trdHk6Im9jdCIsYWxnOnkoby5hbGdvcml0aG0pLGtleV9vcHM6by51c2FnZXMuc2xpY2UoKSxleHQ6ITAsazp1KGQodCkpfTooKHQ9Zyh0KSkuYWxnfHwodC5hbGc9eShvLmFsZ29yaXRobSkpLHQua2V5X29wc3x8KHQua2V5X29wcz0icHVibGljIj09PW8udHlwZT9vLnVzYWdlcy5maWx0ZXIoRSk6InByaXZhdGUiPT09by50eXBlP28udXNhZ2VzLmZpbHRlcihWKTpvLnVzYWdlcy5zbGljZSgpKSx0KX0pKSksIWF8fCJleHBvcnRLZXkiIT09dHx8InNwa2kiIT09biYmInBrY3M4IiE9PW58fChsPWwudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dyhnKHQpKX0pKSksbH19KSksWyJlbmNyeXB0IiwiZGVjcnlwdCIsInNpZ24iLCJ2ZXJpZnkiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1pW3RdO2lbdF09ZnVuY3Rpb24obixvLHIsYSl7aWYocyYmKCFyLmJ5dGVMZW5ndGh8fGEmJiFhLmJ5dGVMZW5ndGgpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgaW5wdXQgaXMgbm90IGFsbG93ZWQiKTt2YXIgbCxjPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxoPW0obik7aWYoIXN8fCJzaWduIiE9PXQmJiJ2ZXJpZnkiIT09dHx8IlJTQVNTQS1QS0NTMS12MV81IiE9PW4mJiJITUFDIiE9PW58fChjWzBdPXtuYW1lOm59KSxzJiZvLmFsZ29yaXRobS5oYXNoJiYoY1swXS5oYXNoPWNbMF0uaGFzaHx8by5hbGdvcml0aG0uaGFzaCkscyYmImRlY3J5cHQiPT09dCYmIkFFUy1HQ00iPT09aC5uYW1lKXt2YXIgdT1uLnRhZ0xlbmd0aD4+MztjWzJdPShyLmJ1ZmZlcnx8cikuc2xpY2UoMCxyLmJ5dGVMZW5ndGgtdSksbi50YWc9KHIuYnVmZmVyfHxyKS5zbGljZShyLmJ5dGVMZW5ndGgtdSl9cyYmIkFFUy1HQ00iPT09aC5uYW1lJiZjWzBdLnRhZ0xlbmd0aD09PXVuZGVmaW5lZCYmKGNbMF0udGFnTGVuZ3RoPTEyOCksY1sxXT1vLl9rZXk7dHJ5e2w9ZS5hcHBseShpLGMpfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwKX1yZXR1cm4gcyYmKGw9bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsaSl7bC5vbmFib3J0PWwub25lcnJvcj1mdW5jdGlvbih0KXtpKHQpfSxsLm9uY29tcGxldGU9ZnVuY3Rpb24oaSl7aT1pLnRhcmdldC5yZXN1bHQ7aWYoImVuY3J5cHQiPT09dCYmaSBpbnN0YW5jZW9mIEFlc0djbUVuY3J5cHRSZXN1bHQpe3ZhciBuPWkuY2lwaGVydGV4dCxvPWkudGFnOyhpPW5ldyBVaW50OEFycmF5KG4uYnl0ZUxlbmd0aCtvLmJ5dGVMZW5ndGgpKS5zZXQobmV3IFVpbnQ4QXJyYXkobiksMCksaS5zZXQobmV3IFVpbnQ4QXJyYXkobyksbi5ieXRlTGVuZ3RoKSxpPWkuYnVmZmVyfWUoaSl9fSkpKSxsfX0pKSxzKXt2YXIgaD1pLmRpZ2VzdDtpLmRpZ2VzdD1mdW5jdGlvbih0LGUpe2lmKCFlLmJ5dGVMZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJFbXB0eSBpbnB1dCBpcyBub3QgYWxsb3dlZCIpO3ZhciBuO3RyeXtuPWguY2FsbChpLHQsZSl9Y2F0Y2gobyl7cmV0dXJuIFByb21pc2UucmVqZWN0KG8pfXJldHVybiBuPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe24ub25hYm9ydD1uLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZSh0KX0sbi5vbmNvbXBsZXRlPWZ1bmN0aW9uKGUpe3QoZS50YXJnZXQucmVzdWx0KX19KSksbn0sdC5jcnlwdG89T2JqZWN0LmNyZWF0ZShlLHtnZXRSYW5kb21WYWx1ZXM6e3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBlLmdldFJhbmRvbVZhbHVlcyh0KX19LHN1YnRsZTp7dmFsdWU6aX19KSx0LkNyeXB0b0tleT1ffWEmJihlLnN1YnRsZT1pLHQuQ3J5cHRvPW4sdC5TdWJ0bGVDcnlwdG89byx0LkNyeXB0b0tleT1fKX19fWZ1bmN0aW9uIHUodCl7cmV0dXJuIGJ0b2EodCkucmVwbGFjZSgvXD0rJC8sIiIpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIil9ZnVuY3Rpb24gcCh0KXtyZXR1cm4gdD0odCs9Ij09PSIpLnNsaWNlKDAsLXQubGVuZ3RoJTQpLGF0b2IodC5yZXBsYWNlKC8tL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSl9ZnVuY3Rpb24gZih0KXtmb3IodmFyIGU9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLGk9MDtpPHQubGVuZ3RoO2krKyllW2ldPXQuY2hhckNvZGVBdChpKTtyZXR1cm4gZX1mdW5jdGlvbiBkKHQpe3JldHVybiB0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJih0PW5ldyBVaW50OEFycmF5KHQpKSxTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0KX1mdW5jdGlvbiBtKHQpe3ZhciBlPXtuYW1lOih0Lm5hbWV8fHR8fCIiKS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoIlYiLCJ2Iil9O3N3aXRjaChlLm5hbWUpe2Nhc2UiU0hBLTEiOmNhc2UiU0hBLTI1NiI6Y2FzZSJTSEEtMzg0IjpjYXNlIlNIQS01MTIiOmJyZWFrO2Nhc2UiQUVTLUNCQyI6Y2FzZSJBRVMtR0NNIjpjYXNlIkFFUy1LVyI6dC5sZW5ndGgmJihlLmxlbmd0aD10Lmxlbmd0aCk7YnJlYWs7Y2FzZSJITUFDIjp0Lmhhc2gmJihlLmhhc2g9bSh0Lmhhc2gpKSx0Lmxlbmd0aCYmKGUubGVuZ3RoPXQubGVuZ3RoKTticmVhaztjYXNlIlJTQUVTLVBLQ1MxLXYxXzUiOnQucHVibGljRXhwb25lbnQmJihlLnB1YmxpY0V4cG9uZW50PW5ldyBVaW50OEFycmF5KHQucHVibGljRXhwb25lbnQpKSx0Lm1vZHVsdXNMZW5ndGgmJihlLm1vZHVsdXNMZW5ndGg9dC5tb2R1bHVzTGVuZ3RoKTticmVhaztjYXNlIlJTQVNTQS1QS0NTMS12MV81IjpjYXNlIlJTQS1PQUVQIjp0Lmhhc2gmJihlLmhhc2g9bSh0Lmhhc2gpKSx0LnB1YmxpY0V4cG9uZW50JiYoZS5wdWJsaWNFeHBvbmVudD1uZXcgVWludDhBcnJheSh0LnB1YmxpY0V4cG9uZW50KSksdC5tb2R1bHVzTGVuZ3RoJiYoZS5tb2R1bHVzTGVuZ3RoPXQubW9kdWx1c0xlbmd0aCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgU3ludGF4RXJyb3IoIkJhZCBhbGdvcml0aG0gbmFtZSIpfXJldHVybiBlfWZ1bmN0aW9uIHkodCl7cmV0dXJue0hNQUM6eyJTSEEtMSI6IkhTMSIsIlNIQS0yNTYiOiJIUzI1NiIsIlNIQS0zODQiOiJIUzM4NCIsIlNIQS01MTIiOiJIUzUxMiJ9LCJSU0FTU0EtUEtDUzEtdjFfNSI6eyJTSEEtMSI6IlJTMSIsIlNIQS0yNTYiOiJSUzI1NiIsIlNIQS0zODQiOiJSUzM4NCIsIlNIQS01MTIiOiJSUzUxMiJ9LCJSU0FFUy1QS0NTMS12MV81Ijp7IiI6IlJTQTFfNSJ9LCJSU0EtT0FFUCI6eyJTSEEtMSI6IlJTQS1PQUVQIiwiU0hBLTI1NiI6IlJTQS1PQUVQLTI1NiJ9LCJBRVMtS1ciOnsxMjg6IkExMjhLVyIsMTkyOiJBMTkyS1ciLDI1NjoiQTI1NktXIn0sIkFFUy1HQ00iOnsxMjg6IkExMjhHQ00iLDE5MjoiQTE5MkdDTSIsMjU2OiJBMjU2R0NNIn0sIkFFUy1DQkMiOnsxMjg6IkExMjhDQkMiLDE5MjoiQTE5MkNCQyIsMjU2OiJBMjU2Q0JDIn19W3QubmFtZV1bKHQuaGFzaHx8e30pLm5hbWV8fHQubGVuZ3RofHwiIl19ZnVuY3Rpb24gZyh0KXsodCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHx0IGluc3RhbmNlb2YgVWludDhBcnJheSkmJih0PUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShkKHQpKSkpKTt2YXIgZT17a3R5OnQua3R5LGFsZzp0LmFsZyxleHQ6dC5leHR8fHQuZXh0cmFjdGFibGV9O3N3aXRjaChlLmt0eSl7Y2FzZSJvY3QiOmUuaz10Lms7Y2FzZSJSU0EiOlsibiIsImUiLCJkIiwicCIsInEiLCJkcCIsImRxIiwicWkiLCJvdGgiXS5mb3JFYWNoKChmdW5jdGlvbihpKXtpIGluIHQmJihlW2ldPXRbaV0pfSkpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5zdXBwb3J0ZWQga2V5IHR5cGUiKX1yZXR1cm4gZX1mdW5jdGlvbiBiKHQpe3ZhciBlPWcodCk7cmV0dXJuIHMmJihlLmV4dHJhY3RhYmxlPWUuZXh0LGRlbGV0ZSBlLmV4dCksZih1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpKSkuYnVmZmVyfWZ1bmN0aW9uIHYodCl7dmFyIGU9ayh0KSxpPSExO2UubGVuZ3RoPjImJihpPSEwLGUuc2hpZnQoKSk7dmFyIG49e2V4dDohMH07aWYoIjEuMi44NDAuMTEzNTQ5LjEuMS4xIiE9PWVbMF1bMF0pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5zdXBwb3J0ZWQga2V5IHR5cGUiKTt2YXIgbz1bIm4iLCJlIiwiZCIsInAiLCJxIiwiZHAiLCJkcSIsInFpIl0scj1rKGVbMV0pO2kmJnIuc2hpZnQoKTtmb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylyW3NdWzBdfHwocltzXT1yW3NdLnN1YmFycmF5KDEpKSxuW29bc11dPXUoZChyW3NdKSk7cmV0dXJuIG4ua3R5PSJSU0EiLG59ZnVuY3Rpb24gdyh0KXt2YXIgZSxpPVtbIiIsbnVsbF1dLG49ITE7aWYoIlJTQSIhPT10Lmt0eSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbnN1cHBvcnRlZCBrZXkgdHlwZSIpO2Zvcih2YXIgbz1bIm4iLCJlIiwiZCIsInAiLCJxIiwiZHAiLCJkcSIsInFpIl0scj1bXSxzPTA7czxvLmxlbmd0aCYmb1tzXWluIHQ7cysrKXt2YXIgYT1yW3NdPWYocCh0W29bc11dKSk7MTI4JmFbMF0mJihyW3NdPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKzEpLHJbc10uc2V0KGEsMSkpfXJldHVybiByLmxlbmd0aD4yJiYobj0hMCxyLnVuc2hpZnQobmV3IFVpbnQ4QXJyYXkoWzBdKSkpLGlbMF1bMF09IjEuMi44NDAuMTEzNTQ5LjEuMS4xIixlPXIsaS5wdXNoKG5ldyBVaW50OEFycmF5KHgoZSkpLmJ1ZmZlciksbj9pLnVuc2hpZnQobmV3IFVpbnQ4QXJyYXkoWzBdKSk6aVsxXT17dGFnOjMsdmFsdWU6aVsxXX0sbmV3IFVpbnQ4QXJyYXkoeChpKSkuYnVmZmVyfWZ1bmN0aW9uIGsodCxlKXtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJih0PW5ldyBVaW50OEFycmF5KHQpKSxlfHwoZT17cG9zOjAsZW5kOnQubGVuZ3RofSksZS5lbmQtZS5wb3M8Mnx8ZS5lbmQ+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hbGZvcm1lZCBERVIiKTt2YXIgaSxuPXRbZS5wb3MrK10sbz10W2UucG9zKytdO2lmKG8+PTEyOCl7aWYobyY9MTI3LGUuZW5kLWUucG9zPG8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hbGZvcm1lZCBERVIiKTtmb3IodmFyIHI9MDtvLS07KXI8PD04LHJ8PXRbZS5wb3MrK107bz1yfWlmKGUuZW5kLWUucG9zPG8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hbGZvcm1lZCBERVIiKTtzd2l0Y2gobil7Y2FzZSAyOmk9dC5zdWJhcnJheShlLnBvcyxlLnBvcys9byk7YnJlYWs7Y2FzZSAzOmlmKHRbZS5wb3MrK10pdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBiaXQgc3RyaW5nIik7by0tO2Nhc2UgNDppPW5ldyBVaW50OEFycmF5KHQuc3ViYXJyYXkoZS5wb3MsZS5wb3MrPW8pKS5idWZmZXI7YnJlYWs7Y2FzZSA1Omk9bnVsbDticmVhaztjYXNlIDY6dmFyIHM9YnRvYShkKHQuc3ViYXJyYXkoZS5wb3MsZS5wb3MrPW8pKSk7aWYoIShzIGluIGwpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgT0JKRUNUIElEICIrcyk7aT1sW3NdO2JyZWFrO2Nhc2UgNDg6aT1bXTtmb3IodmFyIGE9ZS5wb3MrbztlLnBvczxhOylpLnB1c2goayh0LGUpKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgREVSIHRhZyAweCIrbi50b1N0cmluZygxNikpfXJldHVybiBpfWZ1bmN0aW9uIHgodCxlKXtlfHwoZT1bXSk7dmFyIGk9MCxuPTAsbz1lLmxlbmd0aCsyO2lmKGUucHVzaCgwLDApLHQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtpPTIsbj10Lmxlbmd0aDtmb3IodmFyIHI9MDtyPG47cisrKWUucHVzaCh0W3JdKX1lbHNlIGlmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7aT00LG49dC5ieXRlTGVuZ3RoLHQ9bmV3IFVpbnQ4QXJyYXkodCk7Zm9yKHI9MDtyPG47cisrKWUucHVzaCh0W3JdKX1lbHNlIGlmKG51bGw9PT10KWk9NSxuPTA7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQmJnQgaW4gYyl7dmFyIHM9ZihhdG9iKGNbdF0pKTtpPTYsbj1zLmxlbmd0aDtmb3Iocj0wO3I8bjtyKyspZS5wdXNoKHNbcl0pfWVsc2UgaWYodCBpbnN0YW5jZW9mIEFycmF5KXtmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXgodFtyXSxlKTtpPTQ4LG49ZS5sZW5ndGgtb31lbHNle2lmKCEoIm9iamVjdCI9PXR5cGVvZiB0JiYzPT09dC50YWcmJnQudmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBERVIgdmFsdWUgIit0KTtpPTMsbj0odD1uZXcgVWludDhBcnJheSh0LnZhbHVlKSkuYnl0ZUxlbmd0aCxlLnB1c2goMCk7Zm9yKHI9MDtyPG47cisrKWUucHVzaCh0W3JdKTtuKyt9aWYobj49MTI4KXt2YXIgYT1uO249NDtmb3IoZS5zcGxpY2UobywwLGE+PjI0JjI1NSxhPj4xNiYyNTUsYT4+OCYyNTUsMjU1JmEpO24+MSYmIShhPj4yNCk7KWE8PD04LG4tLTtuPDQmJmUuc3BsaWNlKG8sNC1uKSxufD0xMjh9cmV0dXJuIGUuc3BsaWNlKG8tMiwyLGksbiksZX1mdW5jdGlvbiBfKHQsZSxpLG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMse19rZXk6e3ZhbHVlOnR9LHR5cGU6e3ZhbHVlOnQudHlwZSxlbnVtZXJhYmxlOiEwfSxleHRyYWN0YWJsZTp7dmFsdWU6aT09PXVuZGVmaW5lZD90LmV4dHJhY3RhYmxlOmksZW51bWVyYWJsZTohMH0sYWxnb3JpdGhtOnt2YWx1ZTplPT09dW5kZWZpbmVkP3QuYWxnb3JpdGhtOmUsZW51bWVyYWJsZTohMH0sdXNhZ2VzOnt2YWx1ZTpuPT09dW5kZWZpbmVkP3QudXNhZ2VzOm4sZW51bWVyYWJsZTohMH19KX1mdW5jdGlvbiBFKHQpe3JldHVybiJ2ZXJpZnkiPT09dHx8ImVuY3J5cHQiPT09dHx8IndyYXBLZXkiPT09dH1mdW5jdGlvbiBWKHQpe3JldHVybiJzaWduIj09PXR8fCJkZWNyeXB0Ij09PXR8fCJ1bndyYXBLZXkiPT09dH19KHdpbmRvdyksQXJyYXkucHJvdG90eXBlLmluZGV4T2Z8fChBcnJheS5wcm90b3R5cGUuaW5kZXhPZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxpKXtpZihudWxsPT09dGhpc3x8dGhpcz09PXVuZGVmaW5lZCl0aHJvdyBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5pbmRleE9mIGNhbGxlZCBvbiBudWxsIG9yIHVuZGVmaW5lZCIpO3ZhciBuPXQodGhpcyksbz1uLmxlbmd0aD4+PjAscj1NYXRoLm1pbigwfGksbyk7aWYocjwwKXI9TWF0aC5tYXgoMCxvK3IpO2Vsc2UgaWYocj49bylyZXR1cm4tMTtpZih2b2lkIDA9PT1lKXtmb3IoO3IhPT1vOysrcilpZih2b2lkIDA9PT1uW3JdJiZyIGluIG4pcmV0dXJuIHJ9ZWxzZSBpZihlIT1lKXtmb3IoO3IhPT1vOysrcilpZihuW3JdIT1uW3JdKXJldHVybiByfWVsc2UgZm9yKDtyIT09bzsrK3IpaWYobltyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9fShPYmplY3QpKSxBcnJheS5pc0FycmF5fHwoQXJyYXkuaXNBcnJheT1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSksZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZXx8KHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWRvY3VtZW50LmNvbnN0cnVjdG9yLnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe2lmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwpcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3QpO2Zvcih2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGk9bmV3IFJlZ0V4cCgiKF58XFxzKSIrdCsiKFxcc3wkKSIpLG49W10sbz0wO288ZS5sZW5ndGg7bysrKWkudGVzdChlW29dLmNsYXNzTmFtZSkmJm4ucHVzaChlW29dKTtyZXR1cm4gbn0pLFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aHx8KFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnN1YnN0cighZXx8ZTwwPzA6K2UsdC5sZW5ndGgpPT09dH0pLFN0cmluZy5wcm90b3R5cGUuZW5kc1dpdGh8fChTdHJpbmcucHJvdG90eXBlLmVuZHNXaXRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKGU9PT11bmRlZmluZWR8fGU+dGhpcy5sZW5ndGgpJiYoZT10aGlzLmxlbmd0aCksdGhpcy5zdWJzdHJpbmcoZS10Lmxlbmd0aCxlKT09PXR9KTt0cnl7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVsZW1lbnQucHJvdG90eXBlLCJ0ZXh0Q29udGVudCIpJiYhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFbGVtZW50LnByb3RvdHlwZSwidGV4dENvbnRlbnQiKS5nZXQpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRWxlbWVudC5wcm90b3R5cGUsImlubmVyVGV4dCIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwidGV4dENvbnRlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQi5nZXQuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKHQpe0Iuc2V0LmNhbGwodGhpcyx0KX19KX19Y2F0Y2goZHMpe31GdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8KEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOiBJdGVtIENhbiBOb3QgQmUgQm91bmQuIik7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGk9dGhpcyxuPWZ1bmN0aW9uKCl7fSxvPWZ1bmN0aW9uKCl7cmV0dXJuIGkuYXBwbHkodGhpcyBpbnN0YW5jZW9mIG4/dGhpczp0LGUuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIHRoaXMucHJvdG90eXBlJiYobi5wcm90b3R5cGU9dGhpcy5wcm90b3R5cGUpLG8ucHJvdG90eXBlPW5ldyBuLG99KSwiZnVuY3Rpb24iIT10eXBlb2YgT2JqZWN0LmNyZWF0ZSYmKE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKCl7fWlmKGkucHJvdG90eXBlPXQsIm9iamVjdCI9PXR5cGVvZiBlKWZvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJihpW25dPWVbbl0pO3JldHVybiBuZXcgaX0pLERhdGUubm93fHwoRGF0ZS5ub3c9ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0pLHdpbmRvdy5jb25zb2xlfHwod2luZG93LmNvbnNvbGU9e30pO2Zvcih2YXIgVSxNLFcsTyxGPVsiZXJyb3IiLCJpbmZvIiwibG9nIiwic2hvdyIsInRhYmxlIiwidHJhY2UiLCJ3YXJuIl0sTD1mdW5jdGlvbih0KXt9LEg9Ri5sZW5ndGg7LS1IPi0xOylfPUZbSF0sd2luZG93LmNvbnNvbGVbX118fCh3aW5kb3cuY29uc29sZVtfXT1MKTtpZih3aW5kb3cuYXRvYil0cnl7d2luZG93LmF0b2IoIiAiKX1jYXRjaChtcyl7d2luZG93LmF0b2I9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoU3RyaW5nKGUpLnJlcGxhY2UoL1tcdFxuXGZcciBdKy9nLCIiKSl9O3JldHVybiBlLm9yaWdpbmFsPXQsZX0od2luZG93LmF0b2IpfWVsc2V7dmFyIFA9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IixEPS9eKD86W0EtWmEtelxkK1wvXXs0fSkqPyg/OltBLVphLXpcZCtcL117Mn0oPzo9PSk/fFtBLVphLXpcZCtcL117M309Pyk/JC87d2luZG93LmF0b2I9ZnVuY3Rpb24odCl7aWYodD1TdHJpbmcodCkucmVwbGFjZSgvW1x0XG5cZlxyIF0rL2csIiIpLCFELnRlc3QodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRmFpbGVkIHRvIGV4ZWN1dGUgJ2F0b2InIG9uICdXaW5kb3cnOiBUaGUgc3RyaW5nIHRvIGJlIGRlY29kZWQgaXMgbm90IGNvcnJlY3RseSBlbmNvZGVkLiIpO3ZhciBlLGksbjt0Kz0iPT0iLnNsaWNlKDItKDMmdC5sZW5ndGgpKTtmb3IodmFyIG89IiIscj0wO3I8dC5sZW5ndGg7KWU9UC5pbmRleE9mKHQuY2hhckF0KHIrKykpPDwxOHxQLmluZGV4T2YodC5jaGFyQXQocisrKSk8PDEyfChpPVAuaW5kZXhPZih0LmNoYXJBdChyKyspKSk8PDZ8KG49UC5pbmRleE9mKHQuY2hhckF0KHIrKykpKSxvKz02ND09PWk/U3RyaW5nLmZyb21DaGFyQ29kZShlPj4xNiYyNTUpOjY0PT09bj9TdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjE2JjI1NSxlPj44JjI1NSk6U3RyaW5nLmZyb21DaGFyQ29kZShlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpO3JldHVybiBvfX1pZihFdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHR8fChFdmVudC5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLnJldHVyblZhbHVlPSExfSksRXZlbnQucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbnx8KEV2ZW50LnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEJ1YmJsZT0hMH0pLHdpbmRvdy5Qcm90b3R5cGUmJkFycmF5LnByb3RvdHlwZS50b0pTT04pe2NvbnNvbGUuZXJyb3IoIltoQ2FwdGNoYV0gQ3VzdG9tIEpTT04gcG9seWZpbGwgZGV0ZWN0ZWQsIHBsZWFzZSByZW1vdmUgdG8gZW5zdXJlIGhDYXB0Y2hhIHdvcmtzIHByb3Blcmx5Iik7dmFyIE49QXJyYXkucHJvdG90eXBlLnRvSlNPTixaPUpTT04uc3RyaW5naWZ5O0pTT04uc3RyaW5naWZ5PWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b0pTT04sWih0KX1maW5hbGx5e0FycmF5LnByb3RvdHlwZS50b0pTT049Tn19fWlmKE9iamVjdC5rZXlzfHwoT2JqZWN0LmtleXM9KFU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxNPSFPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoe3RvU3RyaW5nOm51bGx9LCJ0b1N0cmluZyIpLE89KFc9WyJ0b1N0cmluZyIsInRvTG9jYWxlU3RyaW5nIiwidmFsdWVPZiIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY29uc3RydWN0b3IiXSkubGVuZ3RoLGZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoIm9iamVjdCIhPXR5cGVvZiB0fHxudWxsPT09dCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0LmtleXMgY2FsbGVkIG9uIG5vbi1vYmplY3QiKTt2YXIgZSxpLG49W107Zm9yKGUgaW4gdClVLmNhbGwodCxlKSYmbi5wdXNoKGUpO2lmKE0pZm9yKGk9MDtpPE87aSsrKVUuY2FsbCh0LFdbaV0pJiZuLnB1c2goV1tpXSk7cmV0dXJuIG59KSksIVVpbnQ4QXJyYXkucHJvdG90eXBlLnNsaWNlKXRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoVWludDhBcnJheS5wcm90b3R5cGUsInNsaWNlIix7dmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcyx0LGUpKX0sd3JpdGFibGU6ITB9KX1jYXRjaChtcyl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNsaWNlKXRyeXtVaW50OEFycmF5LnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgVWludDhBcnJheShBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLHQsZSkpfX1jYXRjaCh5cyl7fX0KLyohIFJhdmVuLmpzIDMuMjcuMiAoNmQ5MWRiOTMzKSB8IGdpdGh1Yi5jb20vZ2V0c2VudHJ5L3JhdmVuLWpzICovIWZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUpbW9kdWxlLmV4cG9ydHM9dCgpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZClkZWZpbmUoInJhdmVuLWpzIix0KTtlbHNleygidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLlJhdmVuPXQoKX19KChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUsaSxuKXtmdW5jdGlvbiBvKHMsYSl7aWYoIWlbc10pe2lmKCFlW3NdKXt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighYSYmbClyZXR1cm4gbChzLCEwKTtpZihyKXJldHVybiByKHMsITApO3ZhciBjPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK3MrIiciKTt0aHJvdyBjLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGN9dmFyIGg9aVtzXT17ZXhwb3J0czp7fX07ZVtzXVswXS5jYWxsKGguZXhwb3J0cywoZnVuY3Rpb24odCl7dmFyIGk9ZVtzXVsxXVt0XTtyZXR1cm4gbyhpfHx0KX0pLGgsaC5leHBvcnRzLHQsZSxpLG4pfXJldHVybiBpW3NdLmV4cG9ydHN9Zm9yKHZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLHM9MDtzPG4ubGVuZ3RoO3MrKylvKG5bc10pO3JldHVybiBvfSh7MTpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7dGhpcy5uYW1lPSJSYXZlbkNvbmZpZ0Vycm9yIix0aGlzLm1lc3NhZ2U9dH1uLnByb3RvdHlwZT1uZXcgRXJyb3Isbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixlLmV4cG9ydHM9bn0se31dLDI6W2Z1bmN0aW9uKHQsZSxpKXt2YXIgbj10KDUpO2UuZXhwb3J0cz17d3JhcE1ldGhvZDpmdW5jdGlvbih0LGUsaSl7dmFyIG89dFtlXSxyPXQ7aWYoZSBpbiB0KXt2YXIgcz0id2FybiI9PT1lPyJ3YXJuaW5nIjplO3RbZV09ZnVuY3Rpb24oKXt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyksYT1uLnNhZmVKb2luKHQsIiAiKSxsPXtsZXZlbDpzLGxvZ2dlcjoiY29uc29sZSIsZXh0cmE6e2FyZ3VtZW50czp0fX07ImFzc2VydCI9PT1lPyExPT09dFswXSYmKGE9IkFzc2VydGlvbiBmYWlsZWQ6ICIrKG4uc2FmZUpvaW4odC5zbGljZSgxKSwiICIpfHwiY29uc29sZS5hc3NlcnQiKSxsLmV4dHJhLmFyZ3VtZW50cz10LnNsaWNlKDEpLGkmJmkoYSxsKSk6aSYmaShhLGwpLG8mJkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKG8scix0KX19fX19LHs1OjV9XSwzOltmdW5jdGlvbih0LGUsaSl7KGZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4oKXtyZXR1cm4rbmV3IERhdGV9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBiKGUpP2Z1bmN0aW9uKGkpe3JldHVybiBlKGksdCl9OmV9ZnVuY3Rpb24gcigpe2Zvcih2YXIgdCBpbiB0aGlzLmE9ISgib2JqZWN0IiE9dHlwZW9mIEpTT058fCFKU09OLnN0cmluZ2lmeSksdGhpcy5iPSFnKGopLHRoaXMuYz0hZyh6KSx0aGlzLmQ9bnVsbCx0aGlzLmU9bnVsbCx0aGlzLmY9bnVsbCx0aGlzLmc9bnVsbCx0aGlzLmg9bnVsbCx0aGlzLmk9bnVsbCx0aGlzLmo9e30sdGhpcy5rPXtyZWxlYXNlOkkuU0VOVFJZX1JFTEVBU0UmJkkuU0VOVFJZX1JFTEVBU0UuaWQsbG9nZ2VyOiJqYXZhc2NyaXB0IixpZ25vcmVFcnJvcnM6W10saWdub3JlVXJsczpbXSx3aGl0ZWxpc3RVcmxzOltdLGluY2x1ZGVQYXRoczpbXSxoZWFkZXJzOm51bGwsY29sbGVjdFdpbmRvd0Vycm9yczohMCxjYXB0dXJlVW5oYW5kbGVkUmVqZWN0aW9uczohMCxtYXhNZXNzYWdlTGVuZ3RoOjAsbWF4VXJsTGVuZ3RoOjI1MCxzdGFja1RyYWNlTGltaXQ6NTAsYXV0b0JyZWFkY3J1bWJzOiEwLGluc3RydW1lbnQ6ITAsc2FtcGxlUmF0ZToxLHNhbml0aXplS2V5czpbXX0sdGhpcy5sPXttZXRob2Q6IlBPU1QiLHJlZmVycmVyUG9saWN5OkYoKT8ib3JpZ2luIjoiIn0sdGhpcy5tPTAsdGhpcy5uPSExLHRoaXMubz1FcnJvci5zdGFja1RyYWNlTGltaXQsdGhpcy5wPUkuY29uc29sZXx8e30sdGhpcy5xPXt9LHRoaXMucj1bXSx0aGlzLnM9bigpLHRoaXMudD1bXSx0aGlzLnU9W10sdGhpcy52PW51bGwsdGhpcy53PUkubG9jYXRpb24sdGhpcy54PXRoaXMudyYmdGhpcy53LmhyZWYsdGhpcy55KCksdGhpcy5wKXRoaXMucVt0XT10aGlzLnBbdF19dmFyIHM9dCg2KSxhPXQoNyksbD10KDgpLGM9dCgxKSxoPXQoNSksdT1oLmlzRXJyb3JFdmVudCxwPWguaXNET01FcnJvcixmPWguaXNET01FeGNlcHRpb24sZD1oLmlzRXJyb3IsbT1oLmlzT2JqZWN0LHk9aC5pc1BsYWluT2JqZWN0LGc9aC5pc1VuZGVmaW5lZCxiPWguaXNGdW5jdGlvbix2PWguaXNTdHJpbmcsdz1oLmlzQXJyYXksaz1oLmlzRW1wdHlPYmplY3QseD1oLmVhY2gsXz1oLm9iamVjdE1lcmdlLEU9aC50cnVuY2F0ZSxWPWgub2JqZWN0RnJvemVuLEM9aC5oYXNLZXksVD1oLmpvaW5SZWdFeHAsUz1oLnVybGVuY29kZSxSPWgudXVpZDQsQT1oLmh0bWxUcmVlQXNTdHJpbmcsQj1oLmlzU2FtZUV4Y2VwdGlvbixVPWguaXNTYW1lU3RhY2t0cmFjZSxNPWgucGFyc2VVcmwsVz1oLmZpbGwsTz1oLnN1cHBvcnRzRmV0Y2gsRj1oLnN1cHBvcnRzUmVmZXJyZXJQb2xpY3ksTD1oLnNlcmlhbGl6ZUtleXNGb3JNZXNzYWdlLEg9aC5zZXJpYWxpemVFeGNlcHRpb24sUD1oLnNhbml0aXplLEQ9dCgyKS53cmFwTWV0aG9kLE49InNvdXJjZSBwcm90b2NvbCB1c2VyIHBhc3MgaG9zdCBwb3J0IHBhdGgiLnNwbGl0KCIgIiksWj0vXig/OihcdyspOik/XC9cLyg/OihcdyspKDpcdyspP0ApPyhbXHdcLi1dKykoPzo6KFxkKykpPyhcLy4qKS8sST0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dm9pZCAwIT09aT9pOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9LGo9SS5kb2N1bWVudCx6PUkubmF2aWdhdG9yO3IucHJvdG90eXBlPXtWRVJTSU9OOiIzLjI3LjIiLGRlYnVnOiExLFRyYWNlS2l0OnMsY29uZmlnOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcztpZihpLmcpcmV0dXJuIHRoaXMueigiZXJyb3IiLCJFcnJvcjogUmF2ZW4gaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIiksaTtpZighdClyZXR1cm4gaTt2YXIgbj1pLms7ZSYmeChlLChmdW5jdGlvbih0LGUpeyJ0YWdzIj09PXR8fCJleHRyYSI9PT10fHwidXNlciI9PT10P2kualt0XT1lOm5bdF09ZX0pKSxpLnNldERTTih0KSxuLmlnbm9yZUVycm9ycy5wdXNoKC9eU2NyaXB0IGVycm9yXC4/JC8pLG4uaWdub3JlRXJyb3JzLnB1c2goL15KYXZhc2NyaXB0IGVycm9yOiBTY3JpcHQgZXJyb3JcLj8gb24gbGluZSAwJC8pLG4uaWdub3JlRXJyb3JzPVQobi5pZ25vcmVFcnJvcnMpLG4uaWdub3JlVXJscz0hIW4uaWdub3JlVXJscy5sZW5ndGgmJlQobi5pZ25vcmVVcmxzKSxuLndoaXRlbGlzdFVybHM9ISFuLndoaXRlbGlzdFVybHMubGVuZ3RoJiZUKG4ud2hpdGVsaXN0VXJscyksbi5pbmNsdWRlUGF0aHM9VChuLmluY2x1ZGVQYXRocyksbi5tYXhCcmVhZGNydW1icz1NYXRoLm1heCgwLE1hdGgubWluKG4ubWF4QnJlYWRjcnVtYnN8fDEwMCwxMDApKTt2YXIgbz17eGhyOiEwLGNvbnNvbGU6ITAsZG9tOiEwLGxvY2F0aW9uOiEwLHNlbnRyeTohMH0scj1uLmF1dG9CcmVhZGNydW1iczsiW29iamVjdCBPYmplY3RdIj09PXt9LnRvU3RyaW5nLmNhbGwocik/cj1fKG8scik6ITEhPT1yJiYocj1vKSxuLmF1dG9CcmVhZGNydW1icz1yO3ZhciBhPXt0cnlDYXRjaDohMH0sbD1uLmluc3RydW1lbnQ7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT17fS50b1N0cmluZy5jYWxsKGwpP2w9XyhhLGwpOiExIT09bCYmKGw9YSksbi5pbnN0cnVtZW50PWwscy5jb2xsZWN0V2luZG93RXJyb3JzPSEhbi5jb2xsZWN0V2luZG93RXJyb3JzLGl9LGluc3RhbGw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0LmlzU2V0dXAoKSYmIXQubiYmKHMucmVwb3J0LnN1YnNjcmliZSgoZnVuY3Rpb24oKXt0LkEuYXBwbHkodCxhcmd1bWVudHMpfSkpLHQuay5jYXB0dXJlVW5oYW5kbGVkUmVqZWN0aW9ucyYmdC5CKCksdC5DKCksdC5rLmluc3RydW1lbnQmJnQuay5pbnN0cnVtZW50LnRyeUNhdGNoJiZ0LkQoKSx0LmsuYXV0b0JyZWFkY3J1bWJzJiZ0LkUoKSx0LkYoKSx0Lm49ITApLEVycm9yLnN0YWNrVHJhY2VMaW1pdD10Lmsuc3RhY2tUcmFjZUxpbWl0LHRoaXN9LHNldERTTjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLGk9ZS5HKHQpLG49aS5wYXRoLmxhc3RJbmRleE9mKCIvIiksbz1pLnBhdGguc3Vic3RyKDEsbik7ZS5IPXQsZS5oPWkudXNlcixlLkk9aS5wYXNzJiZpLnBhc3Muc3Vic3RyKDEpLGUuaT1pLnBhdGguc3Vic3RyKG4rMSksZS5nPWUuSihpKSxlLks9ZS5nKyIvIitvKyJhcGkvIitlLmkrIi9zdG9yZS8iLHRoaXMueSgpfSxjb250ZXh0OmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gYih0KSYmKGk9ZXx8W10sZT10LHQ9e30pLHRoaXMud3JhcCh0LGUpLmFwcGx5KHRoaXMsaSl9LHdyYXA6ZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4oKXt2YXIgbj1bXSxyPWFyZ3VtZW50cy5sZW5ndGgscz0hdHx8dCYmITEhPT10LmRlZXA7Zm9yKGkmJmIoaSkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ItLTspbltyXT1zP28ud3JhcCh0LGFyZ3VtZW50c1tyXSk6YXJndW1lbnRzW3JdO3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLG4pfWNhdGNoKGEpe3Rocm93IG8uTCgpLG8uY2FwdHVyZUV4Y2VwdGlvbihhLHQpLGF9fXZhciBvPXRoaXM7aWYoZyhlKSYmIWIodCkpcmV0dXJuIHQ7aWYoYih0KSYmKGU9dCx0PXZvaWQgMCksIWIoZSkpcmV0dXJuIGU7dHJ5e2lmKGUuTSlyZXR1cm4gZTtpZihlLk4pcmV0dXJuIGUuTn1jYXRjaChyKXtyZXR1cm4gZX1mb3IodmFyIHMgaW4gZSlDKGUscykmJihuW3NdPWVbc10pO3JldHVybiBuLnByb3RvdHlwZT1lLnByb3RvdHlwZSxlLk49bixuLk09ITAsbi5PPWUsbn0sdW5pbnN0YWxsOmZ1bmN0aW9uKCl7cmV0dXJuIHMucmVwb3J0LnVuaW5zdGFsbCgpLHRoaXMuUCgpLHRoaXMuUSgpLHRoaXMuUigpLHRoaXMuUygpLEVycm9yLnN0YWNrVHJhY2VMaW1pdD10aGlzLm8sdGhpcy5uPSExLHRoaXN9LFQ6ZnVuY3Rpb24odCl7dGhpcy56KCJkZWJ1ZyIsIlJhdmVuIGNhdWdodCB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb246Iix0KSx0aGlzLmNhcHR1cmVFeGNlcHRpb24odC5yZWFzb24se21lY2hhbmlzbTp7dHlwZToib251bmhhbmRsZWRyZWplY3Rpb24iLGhhbmRsZWQ6ITF9fSl9LEI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UPXRoaXMuVC5iaW5kKHRoaXMpLEkuYWRkRXZlbnRMaXN0ZW5lciYmSS5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHRoaXMuVCksdGhpc30sUDpmdW5jdGlvbigpe3JldHVybiBJLnJlbW92ZUV2ZW50TGlzdGVuZXImJkkucmVtb3ZlRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIix0aGlzLlQpLHRoaXN9LGNhcHR1cmVFeGNlcHRpb246ZnVuY3Rpb24odCxlKXtpZihlPV8oe3RyaW1IZWFkRnJhbWVzOjB9LGV8fHt9KSx1KHQpJiZ0LmVycm9yKXQ9dC5lcnJvcjtlbHNle2lmKHAodCl8fGYodCkpe3ZhciBpPXQubmFtZXx8KHAodCk/IkRPTUVycm9yIjoiRE9NRXhjZXB0aW9uIiksbj10Lm1lc3NhZ2U/aSsiOiAiK3QubWVzc2FnZTppO3JldHVybiB0aGlzLmNhcHR1cmVNZXNzYWdlKG4sXyhlLHtzdGFja3RyYWNlOiEwLHRyaW1IZWFkRnJhbWVzOmUudHJpbUhlYWRGcmFtZXMrMX0pKX1pZihkKHQpKXQ9dDtlbHNle2lmKCF5KHQpKXJldHVybiB0aGlzLmNhcHR1cmVNZXNzYWdlKHQsXyhlLHtzdGFja3RyYWNlOiEwLHRyaW1IZWFkRnJhbWVzOmUudHJpbUhlYWRGcmFtZXMrMX0pKTtlPXRoaXMuVShlLHQpLHQ9bmV3IEVycm9yKGUubWVzc2FnZSl9fXRoaXMuZD10O3RyeXt2YXIgbz1zLmNvbXB1dGVTdGFja1RyYWNlKHQpO3RoaXMuVihvLGUpfWNhdGNoKHIpe2lmKHQhPT1yKXRocm93IHJ9cmV0dXJuIHRoaXN9LFU6ZnVuY3Rpb24odCxlKXt2YXIgaT1PYmplY3Qua2V5cyhlKS5zb3J0KCksbj1fKHQse21lc3NhZ2U6Ik5vbi1FcnJvciBleGNlcHRpb24gY2FwdHVyZWQgd2l0aCBrZXlzOiAiK0woaSksZmluZ2VycHJpbnQ6W2woaSldLGV4dHJhOnQuZXh0cmF8fHt9fSk7cmV0dXJuIG4uZXh0cmEuVz1IKGUpLG59LGNhcHR1cmVNZXNzYWdlOmZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMuay5pZ25vcmVFcnJvcnMudGVzdHx8IXRoaXMuay5pZ25vcmVFcnJvcnMudGVzdCh0KSl7dmFyIGksbj1fKHttZXNzYWdlOnQrPSIifSxlPWV8fHt9KTt0cnl7dGhyb3cgbmV3IEVycm9yKHQpfWNhdGNoKG8pe2k9b31pLm5hbWU9bnVsbDt2YXIgcj1zLmNvbXB1dGVTdGFja1RyYWNlKGkpLGE9dyhyLnN0YWNrKSYmci5zdGFja1sxXTthJiYiUmF2ZW4uY2FwdHVyZUV4Y2VwdGlvbiI9PT1hLmZ1bmMmJihhPXIuc3RhY2tbMl0pO3ZhciBsPWEmJmEudXJsfHwiIjtpZigoIXRoaXMuay5pZ25vcmVVcmxzLnRlc3R8fCF0aGlzLmsuaWdub3JlVXJscy50ZXN0KGwpKSYmKCF0aGlzLmsud2hpdGVsaXN0VXJscy50ZXN0fHx0aGlzLmsud2hpdGVsaXN0VXJscy50ZXN0KGwpKSl7aWYodGhpcy5rLnN0YWNrdHJhY2V8fGUuc3RhY2t0cmFjZXx8IiI9PT1uLm1lc3NhZ2Upe24uZmluZ2VycHJpbnQ9bnVsbD09bi5maW5nZXJwcmludD90Om4uZmluZ2VycHJpbnQsKGU9Xyh7dHJpbUhlYWRGcmFtZXM6MH0sZSkpLnRyaW1IZWFkRnJhbWVzKz0xO3ZhciBjPXRoaXMuWChyLGUpO24uc3RhY2t0cmFjZT17ZnJhbWVzOmMucmV2ZXJzZSgpfX1yZXR1cm4gbi5maW5nZXJwcmludCYmKG4uZmluZ2VycHJpbnQ9dyhuLmZpbmdlcnByaW50KT9uLmZpbmdlcnByaW50OltuLmZpbmdlcnByaW50XSksdGhpcy5ZKG4pLHRoaXN9fX0sY2FwdHVyZUJyZWFkY3J1bWI6ZnVuY3Rpb24odCl7dmFyIGU9Xyh7dGltZXN0YW1wOm4oKS8xZTN9LHQpO2lmKGIodGhpcy5rLmJyZWFkY3J1bWJDYWxsYmFjaykpe3ZhciBpPXRoaXMuay5icmVhZGNydW1iQ2FsbGJhY2soZSk7aWYobShpKSYmIWsoaSkpZT1pO2Vsc2UgaWYoITE9PT1pKXJldHVybiB0aGlzfXJldHVybiB0aGlzLnUucHVzaChlKSx0aGlzLnUubGVuZ3RoPnRoaXMuay5tYXhCcmVhZGNydW1icyYmdGhpcy51LnNoaWZ0KCksdGhpc30sYWRkUGx1Z2luOmZ1bmN0aW9uKHQpe3ZhciBlPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB0aGlzLnIucHVzaChbdCxlXSksdGhpcy5uJiZ0aGlzLkYoKSx0aGlzfSxzZXRVc2VyQ29udGV4dDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5qLnVzZXI9dCx0aGlzfSxzZXRFeHRyYUNvbnRleHQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuWigiZXh0cmEiLHQpLHRoaXN9LHNldFRhZ3NDb250ZXh0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLlooInRhZ3MiLHQpLHRoaXN9LGNsZWFyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9e30sdGhpc30sZ2V0Q29udGV4dDpmdW5jdGlvbigpe3JldHVybiBKU09OLnBhcnNlKGEodGhpcy5qKSl9LHNldEVudmlyb25tZW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmsuZW52aXJvbm1lbnQ9dCx0aGlzfSxzZXRSZWxlYXNlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmsucmVsZWFzZT10LHRoaXN9LHNldERhdGFDYWxsYmFjazpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmsuZGF0YUNhbGxiYWNrO3JldHVybiB0aGlzLmsuZGF0YUNhbGxiYWNrPW8oZSx0KSx0aGlzfSxzZXRCcmVhZGNydW1iQ2FsbGJhY2s6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5rLmJyZWFkY3J1bWJDYWxsYmFjaztyZXR1cm4gdGhpcy5rLmJyZWFkY3J1bWJDYWxsYmFjaz1vKGUsdCksdGhpc30sc2V0U2hvdWxkU2VuZENhbGxiYWNrOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuay5zaG91bGRTZW5kQ2FsbGJhY2s7cmV0dXJuIHRoaXMuay5zaG91bGRTZW5kQ2FsbGJhY2s9byhlLHQpLHRoaXN9LHNldFRyYW5zcG9ydDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5rLnRyYW5zcG9ydD10LHRoaXN9LGxhc3RFeGNlcHRpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kfSxsYXN0RXZlbnRJZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZ9LGlzU2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLmF8fCF0aGlzLmcmJih0aGlzLnJhdmVuTm90Q29uZmlndXJlZEVycm9yfHwodGhpcy5yYXZlbk5vdENvbmZpZ3VyZWRFcnJvcj0hMCx0aGlzLnooImVycm9yIiwiRXJyb3I6IFJhdmVuIGhhcyBub3QgYmVlbiBjb25maWd1cmVkLiIpKSwxKSl9LGFmdGVyTG9hZDpmdW5jdGlvbigpe3ZhciB0PUkuUmF2ZW5Db25maWc7dCYmdGhpcy5jb25maWcodC5kc24sdC5jb25maWcpLmluc3RhbGwoKX0sc2hvd1JlcG9ydERpYWxvZzpmdW5jdGlvbih0KXtpZihqKXtpZighKHQ9Xyh7ZXZlbnRJZDp0aGlzLmxhc3RFdmVudElkKCksZHNuOnRoaXMuSCx1c2VyOnRoaXMuai51c2VyfHx7fX0sdCkpLmV2ZW50SWQpdGhyb3cgbmV3IGMoIk1pc3NpbmcgZXZlbnRJZCIpO2lmKCF0LmRzbil0aHJvdyBuZXcgYygiTWlzc2luZyBEU04iKTt2YXIgZT1lbmNvZGVVUklDb21wb25lbnQsaT1bXTtmb3IodmFyIG4gaW4gdClpZigidXNlciI9PT1uKXt2YXIgbz10LnVzZXI7by5uYW1lJiZpLnB1c2goIm5hbWU9IitlKG8ubmFtZSkpLG8uZW1haWwmJmkucHVzaCgiZW1haWw9IitlKG8uZW1haWwpKX1lbHNlIGkucHVzaChlKG4pKyI9IitlKHRbbl0pKTt2YXIgcj10aGlzLkoodGhpcy5HKHQuZHNuKSkscz1qLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3MuYXN5bmM9ITAscy5zcmM9cisiL2FwaS9lbWJlZC9lcnJvci1wYWdlLz8iK2kuam9pbigiJiIpLChqLmhlYWR8fGouYm9keSkuYXBwZW5kQ2hpbGQocyl9fSxMOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLm0rPTEsc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0Lm0tPTF9KSl9LCQ6ZnVuY3Rpb24odCxlKXt2YXIgaSxuO2lmKHRoaXMuYil7Zm9yKG4gaW4gZT1lfHx7fSx0PSJyYXZlbiIrdC5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpK3Quc3Vic3RyKDEpLGouY3JlYXRlRXZlbnQ/KGk9ai5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQodCwhMCwhMCk6KGk9ai5jcmVhdGVFdmVudE9iamVjdCgpKS5ldmVudFR5cGU9dCxlKUMoZSxuKSYmKGlbbl09ZVtuXSk7aWYoai5jcmVhdGVFdmVudClqLmRpc3BhdGNoRXZlbnQoaSk7ZWxzZSB0cnl7ai5maXJlRXZlbnQoIm9uIitpLmV2ZW50VHlwZS50b0xvd2VyQ2FzZSgpLGkpfWNhdGNoKG8pe319fSxfOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKGUuYWE9bnVsbCxlLnYhPT1pKXt2YXIgbjtlLnY9aTt0cnl7bj1BKGkudGFyZ2V0KX1jYXRjaChvKXtuPSI8dW5rbm93bj4ifWUuY2FwdHVyZUJyZWFkY3J1bWIoe2NhdGVnb3J5OiJ1aS4iK3QsbWVzc2FnZTpufSl9fX0sYmE6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiBmdW5jdGlvbihlKXt2YXIgaTt0cnl7aT1lLnRhcmdldH1jYXRjaChvKXtyZXR1cm59dmFyIG49aSYmaS50YWdOYW1lO2lmKG4mJigiSU5QVVQiPT09bnx8IlRFWFRBUkVBIj09PW58fGkuaXNDb250ZW50RWRpdGFibGUpKXt2YXIgcj10LmFhO3J8fHQuXygiaW5wdXQiKShlKSxjbGVhclRpbWVvdXQociksdC5hYT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuYWE9bnVsbH0pLDFlMyl9fX0sY2E6ZnVuY3Rpb24odCxlKXt2YXIgaT1NKHRoaXMudy5ocmVmKSxuPU0oZSksbz1NKHQpO3RoaXMueD1lLGkucHJvdG9jb2w9PT1uLnByb3RvY29sJiZpLmhvc3Q9PT1uLmhvc3QmJihlPW4ucmVsYXRpdmUpLGkucHJvdG9jb2w9PT1vLnByb3RvY29sJiZpLmhvc3Q9PT1vLmhvc3QmJih0PW8ucmVsYXRpdmUpLHRoaXMuY2FwdHVyZUJyZWFkY3J1bWIoe2NhdGVnb3J5OiJuYXZpZ2F0aW9uIixkYXRhOnt0bzplLGZyb206dH19KX0sQzpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5kYT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMmJnRoaXMuTT90LmRhLmFwcGx5KHRoaXMuTyxhcmd1bWVudHMpOnQuZGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0sUTpmdW5jdGlvbigpe3RoaXMuZGEmJihGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9dGhpcy5kYSl9LEQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmdW5jdGlvbihlLG4pe2Zvcih2YXIgbz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCkscj0wO3I8by5sZW5ndGg7KytyKW9bcl09YXJndW1lbnRzW3JdO3ZhciBzPW9bMF07cmV0dXJuIGIocykmJihvWzBdPWkud3JhcCh7bWVjaGFuaXNtOnt0eXBlOiJpbnN0cnVtZW50IixkYXRhOnsiZnVuY3Rpb24iOnQubmFtZXx8Ijxhbm9ueW1vdXM+In19fSxzKSksdC5hcHBseT90LmFwcGx5KHRoaXMsbyk6dChvWzBdLG9bMV0pfX1mdW5jdGlvbiBlKHQpe3ZhciBlPUlbdF0mJklbdF0ucHJvdG90eXBlO2UmJmUuaGFzT3duUHJvcGVydHkmJmUuaGFzT3duUHJvcGVydHkoImFkZEV2ZW50TGlzdGVuZXIiKSYmKFcoZSwiYWRkRXZlbnRMaXN0ZW5lciIsKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLHIscyxhKXt0cnl7ciYmci5oYW5kbGVFdmVudCYmKHIuaGFuZGxlRXZlbnQ9aS53cmFwKHttZWNoYW5pc206e3R5cGU6Imluc3RydW1lbnQiLGRhdGE6e3RhcmdldDp0LCJmdW5jdGlvbiI6ImhhbmRsZUV2ZW50IixoYW5kbGVyOnImJnIubmFtZXx8Ijxhbm9ueW1vdXM+In19fSxyLmhhbmRsZUV2ZW50KSl9Y2F0Y2gobCl7fXZhciBjLGgsdTtyZXR1cm4gbyYmby5kb20mJigiRXZlbnRUYXJnZXQiPT09dHx8Ik5vZGUiPT09dCkmJihoPWkuXygiY2xpY2siKSx1PWkuYmEoKSxjPWZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBlO3RyeXtlPXQudHlwZX1jYXRjaChpKXtyZXR1cm59cmV0dXJuImNsaWNrIj09PWU/aCh0KToia2V5cHJlc3MiPT09ZT91KHQpOnZvaWQgMH19KSxlLmNhbGwodGhpcyxuLGkud3JhcCh7bWVjaGFuaXNtOnt0eXBlOiJpbnN0cnVtZW50IixkYXRhOnt0YXJnZXQ6dCwiZnVuY3Rpb24iOiJhZGRFdmVudExpc3RlbmVyIixoYW5kbGVyOnImJnIubmFtZXx8Ijxhbm9ueW1vdXM+In19fSxyLGMpLHMsYSl9fSksbiksVyhlLCJyZW1vdmVFdmVudExpc3RlbmVyIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsaSxuLG8pe3RyeXtpPWkmJihpLk4/aS5OOmkpfWNhdGNoKHIpe31yZXR1cm4gdC5jYWxsKHRoaXMsZSxpLG4sbyl9fSksbikpfXZhciBpPXRoaXMsbj1pLnQsbz10aGlzLmsuYXV0b0JyZWFkY3J1bWJzO1coSSwic2V0VGltZW91dCIsdCxuKSxXKEksInNldEludGVydmFsIix0LG4pLEkucmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZXKEksInJlcXVlc3RBbmltYXRpb25GcmFtZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChpLndyYXAoe21lY2hhbmlzbTp7dHlwZToiaW5zdHJ1bWVudCIsZGF0YTp7ImZ1bmN0aW9uIjoicmVxdWVzdEFuaW1hdGlvbkZyYW1lIixoYW5kbGVyOnQmJnQubmFtZXx8Ijxhbm9ueW1vdXM+In19fSxlKSl9fSksbik7Zm9yKHZhciByPVsiRXZlbnRUYXJnZXQiLCJXaW5kb3ciLCJOb2RlIiwiQXBwbGljYXRpb25DYWNoZSIsIkF1ZGlvVHJhY2tMaXN0IiwiQ2hhbm5lbE1lcmdlck5vZGUiLCJDcnlwdG9PcGVyYXRpb24iLCJFdmVudFNvdXJjZSIsIkZpbGVSZWFkZXIiLCJIVE1MVW5rbm93bkVsZW1lbnQiLCJJREJEYXRhYmFzZSIsIklEQlJlcXVlc3QiLCJJREJUcmFuc2FjdGlvbiIsIktleU9wZXJhdGlvbiIsIk1lZGlhQ29udHJvbGxlciIsIk1lc3NhZ2VQb3J0IiwiTW9kYWxXaW5kb3ciLCJOb3RpZmljYXRpb24iLCJTVkdFbGVtZW50SW5zdGFuY2UiLCJTY3JlZW4iLCJUZXh0VHJhY2siLCJUZXh0VHJhY2tDdWUiLCJUZXh0VHJhY2tMaXN0IiwiV2ViU29ja2V0IiwiV2ViU29ja2V0V29ya2VyIiwiV29ya2VyIiwiWE1MSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IiwiWE1MSHR0cFJlcXVlc3RVcGxvYWQiXSxzPTA7czxyLmxlbmd0aDtzKyspZShyW3NdKX0sRTpmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxpKXt0IGluIGkmJmIoaVt0XSkmJlcoaSx0LChmdW5jdGlvbihpKXtyZXR1cm4gZS53cmFwKHttZWNoYW5pc206e3R5cGU6Imluc3RydW1lbnQiLGRhdGE6eyJmdW5jdGlvbiI6dCxoYW5kbGVyOmkmJmkubmFtZXx8Ijxhbm9ueW1vdXM+In19fSxpKX0pKX12YXIgZT10aGlzLGk9dGhpcy5rLmF1dG9CcmVhZGNydW1icyxuPWUudDtpZihpLnhociYmIlhNTEh0dHBSZXF1ZXN0ImluIEkpe3ZhciBvPUkuWE1MSHR0cFJlcXVlc3QmJkkuWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO1cobywib3BlbiIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLG4pe3JldHVybiB2KG4pJiYtMT09PW4uaW5kZXhPZihlLmgpJiYodGhpcy5lYT17bWV0aG9kOmksdXJsOm4sc3RhdHVzX2NvZGU6bnVsbH0pLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pLG4pLFcobywic2VuZCIsKGZ1bmN0aW9uKGkpe3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIG4oKXtpZihvLmVhJiY0PT09by5yZWFkeVN0YXRlKXt0cnl7by5lYS5zdGF0dXNfY29kZT1vLnN0YXR1c31jYXRjaCh0KXt9ZS5jYXB0dXJlQnJlYWRjcnVtYih7dHlwZToiaHR0cCIsY2F0ZWdvcnk6InhociIsZGF0YTpvLmVhfSl9fWZvcih2YXIgbz10aGlzLHI9WyJvbmxvYWQiLCJvbmVycm9yIiwib25wcm9ncmVzcyJdLHM9MDtzPHIubGVuZ3RoO3MrKyl0KHJbc10sbyk7cmV0dXJuIm9ucmVhZHlzdGF0ZWNoYW5nZSJpbiBvJiZiKG8ub25yZWFkeXN0YXRlY2hhbmdlKT9XKG8sIm9ucmVhZHlzdGF0ZWNoYW5nZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBlLndyYXAoe21lY2hhbmlzbTp7dHlwZToiaW5zdHJ1bWVudCIsZGF0YTp7ImZ1bmN0aW9uIjoib25yZWFkeXN0YXRlY2hhbmdlIixoYW5kbGVyOnQmJnQubmFtZXx8Ijxhbm9ueW1vdXM+In19fSx0LG4pfSkpOm8ub25yZWFkeXN0YXRlY2hhbmdlPW4saS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSksbil9aS54aHImJk8oKSYmVyhJLCJmZXRjaCIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgaT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbj0wO248aS5sZW5ndGg7KytuKWlbbl09YXJndW1lbnRzW25dO3ZhciBvLHI9aVswXSxzPSJHRVQiO2lmKCJzdHJpbmciPT10eXBlb2Ygcj9vPXI6IlJlcXVlc3QiaW4gSSYmciBpbnN0YW5jZW9mIEkuUmVxdWVzdD8obz1yLnVybCxyLm1ldGhvZCYmKHM9ci5tZXRob2QpKTpvPSIiK3IsLTEhPT1vLmluZGV4T2YoZS5oKSlyZXR1cm4gdC5hcHBseSh0aGlzLGkpO2lbMV0mJmlbMV0ubWV0aG9kJiYocz1pWzFdLm1ldGhvZCk7dmFyIGE9e21ldGhvZDpzLHVybDpvLHN0YXR1c19jb2RlOm51bGx9O3JldHVybiB0LmFwcGx5KHRoaXMsaSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGEuc3RhdHVzX2NvZGU9dC5zdGF0dXMsZS5jYXB0dXJlQnJlYWRjcnVtYih7dHlwZToiaHR0cCIsY2F0ZWdvcnk6ImZldGNoIixkYXRhOmF9KSx0fSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXt0aHJvdyBlLmNhcHR1cmVCcmVhZGNydW1iKHt0eXBlOiJodHRwIixjYXRlZ29yeToiZmV0Y2giLGRhdGE6YSxsZXZlbDoiZXJyb3IifSksdH0pKX19KSxuKSxpLmRvbSYmdGhpcy5iJiYoai5hZGRFdmVudExpc3RlbmVyPyhqLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlLl8oImNsaWNrIiksITEpLGouYWRkRXZlbnRMaXN0ZW5lcigia2V5cHJlc3MiLGUuYmEoKSwhMSkpOmouYXR0YWNoRXZlbnQmJihqLmF0dGFjaEV2ZW50KCJvbmNsaWNrIixlLl8oImNsaWNrIikpLGouYXR0YWNoRXZlbnQoIm9ua2V5cHJlc3MiLGUuYmEoKSkpKTt2YXIgcj1JLmNocm9tZSxzPSEociYmci5hcHAmJnIuYXBwLnJ1bnRpbWUpJiZJLmhpc3RvcnkmJkkuaGlzdG9yeS5wdXNoU3RhdGUmJkkuaGlzdG9yeS5yZXBsYWNlU3RhdGU7aWYoaS5sb2NhdGlvbiYmcyl7dmFyIGE9SS5vbnBvcHN0YXRlO0kub25wb3BzdGF0ZT1mdW5jdGlvbigpe3ZhciB0PWUudy5ocmVmO2lmKGUuY2EoZS54LHQpLGEpcmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgbD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMDtyZXR1cm4gaSYmZS5jYShlLngsaSsiIiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fTtXKEkuaGlzdG9yeSwicHVzaFN0YXRlIixsLG4pLFcoSS5oaXN0b3J5LCJyZXBsYWNlU3RhdGUiLGwsbil9aWYoaS5jb25zb2xlJiYiY29uc29sZSJpbiBJJiZjb25zb2xlLmxvZyl7dmFyIGM9ZnVuY3Rpb24odCxpKXtlLmNhcHR1cmVCcmVhZGNydW1iKHttZXNzYWdlOnQsbGV2ZWw6aS5sZXZlbCxjYXRlZ29yeToiY29uc29sZSJ9KX07eChbImRlYnVnIiwiaW5mbyIsIndhcm4iLCJlcnJvciIsImxvZyJdLChmdW5jdGlvbih0LGUpe0QoY29uc29sZSxlLGMpfSkpfX0sUjpmdW5jdGlvbigpe2Zvcih2YXIgdDt0aGlzLnQubGVuZ3RoOyl7dmFyIGU9KHQ9dGhpcy50LnNoaWZ0KCkpWzBdLGk9dFsxXSxuPXRbMl07ZVtpXT1ufX0sUzpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnEpdGhpcy5wW3RdPXRoaXMucVt0XX0sRjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7eCh0aGlzLnIsKGZ1bmN0aW9uKGUsaSl7dmFyIG49aVswXSxvPWlbMV07bi5hcHBseSh0LFt0XS5jb25jYXQobykpfSkpfSxHOmZ1bmN0aW9uKHQpe3ZhciBlPVouZXhlYyh0KSxpPXt9LG49Nzt0cnl7Zm9yKDtuLS07KWlbTltuXV09ZVtuXXx8IiJ9Y2F0Y2gobyl7dGhyb3cgbmV3IGMoIkludmFsaWQgRFNOOiAiK3QpfWlmKGkucGFzcyYmIXRoaXMuay5hbGxvd1NlY3JldEtleSl0aHJvdyBuZXcgYygiRG8gbm90IHNwZWNpZnkgeW91ciBzZWNyZXQga2V5IGluIHRoZSBEU04uIFNlZTogaHR0cDovL2JpdC5seS9yYXZlbi1zZWNyZXQta2V5Iik7cmV0dXJuIGl9LEo6ZnVuY3Rpb24odCl7dmFyIGU9Ii8vIit0Lmhvc3QrKHQucG9ydD8iOiIrdC5wb3J0OiIiKTtyZXR1cm4gdC5wcm90b2NvbCYmKGU9dC5wcm90b2NvbCsiOiIrZSksZX0sQTpmdW5jdGlvbih0LGUpeyhlPWV8fHt9KS5tZWNoYW5pc209ZS5tZWNoYW5pc218fHt0eXBlOiJvbmVycm9yIixoYW5kbGVkOiExfSx0aGlzLm18fHRoaXMuVih0LGUpfSxWOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5YKHQsZSk7dGhpcy4kKCJoYW5kbGUiLHtzdGFja0luZm86dCxvcHRpb25zOmV9KSx0aGlzLmZhKHQubmFtZSx0Lm1lc3NhZ2UsdC51cmwsdC5saW5lbm8saSxlKX0sWDpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMsbj1bXTtpZih0LnN0YWNrJiZ0LnN0YWNrLmxlbmd0aCYmKHgodC5zdGFjaywoZnVuY3Rpb24oZSxvKXt2YXIgcj1pLmdhKG8sdC51cmwpO3ImJm4ucHVzaChyKX0pKSxlJiZlLnRyaW1IZWFkRnJhbWVzKSlmb3IodmFyIG89MDtvPGUudHJpbUhlYWRGcmFtZXMmJm88bi5sZW5ndGg7bysrKW5bb10uaW5fYXBwPSExO3JldHVybiBuPW4uc2xpY2UoMCx0aGlzLmsuc3RhY2tUcmFjZUxpbWl0KX0sZ2E6ZnVuY3Rpb24odCxlKXt2YXIgaT17ZmlsZW5hbWU6dC51cmwsbGluZW5vOnQubGluZSxjb2xubzp0LmNvbHVtbiwiZnVuY3Rpb24iOnQuZnVuY3x8Ij8ifTtyZXR1cm4gdC51cmx8fChpLmZpbGVuYW1lPWUpLGkuaW5fYXBwPSEodGhpcy5rLmluY2x1ZGVQYXRocy50ZXN0JiYhdGhpcy5rLmluY2x1ZGVQYXRocy50ZXN0KGkuZmlsZW5hbWUpfHwvKFJhdmVufFRyYWNlS2l0KVwuLy50ZXN0KGlbImZ1bmN0aW9uIl0pfHwvcmF2ZW5cLihtaW5cLik/anMkLy50ZXN0KGkuZmlsZW5hbWUpKSxpfSxmYTpmdW5jdGlvbih0LGUsaSxuLG8scil7dmFyIHMsYT0odD90KyI6ICI6IiIpKyhlfHwiIik7aWYoKCF0aGlzLmsuaWdub3JlRXJyb3JzLnRlc3R8fCF0aGlzLmsuaWdub3JlRXJyb3JzLnRlc3QoZSkmJiF0aGlzLmsuaWdub3JlRXJyb3JzLnRlc3QoYSkpJiYobyYmby5sZW5ndGg/KGk9b1swXS5maWxlbmFtZXx8aSxvLnJldmVyc2UoKSxzPXtmcmFtZXM6b30pOmkmJihzPXtmcmFtZXM6W3tmaWxlbmFtZTppLGxpbmVubzpuLGluX2FwcDohMH1dfSksKCF0aGlzLmsuaWdub3JlVXJscy50ZXN0fHwhdGhpcy5rLmlnbm9yZVVybHMudGVzdChpKSkmJighdGhpcy5rLndoaXRlbGlzdFVybHMudGVzdHx8dGhpcy5rLndoaXRlbGlzdFVybHMudGVzdChpKSkpKXt2YXIgbD1fKHtleGNlcHRpb246e3ZhbHVlczpbe3R5cGU6dCx2YWx1ZTplLHN0YWNrdHJhY2U6c31dfSx0cmFuc2FjdGlvbjppfSxyKSxjPWwuZXhjZXB0aW9uLnZhbHVlc1swXTtudWxsPT1jLnR5cGUmJiIiPT09Yy52YWx1ZSYmKGMudmFsdWU9IlVucmVjb3ZlcmFibGUgZXJyb3IgY2F1Z2h0IiksIWwuZXhjZXB0aW9uLm1lY2hhbmlzbSYmbC5tZWNoYW5pc20mJihsLmV4Y2VwdGlvbi5tZWNoYW5pc209bC5tZWNoYW5pc20sZGVsZXRlIGwubWVjaGFuaXNtKSxsLmV4Y2VwdGlvbi5tZWNoYW5pc209Xyh7dHlwZToiZ2VuZXJpYyIsaGFuZGxlZDohMH0sbC5leGNlcHRpb24ubWVjaGFuaXNtfHx7fSksdGhpcy5ZKGwpfX0saGE6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5rLm1heE1lc3NhZ2VMZW5ndGg7aWYodC5tZXNzYWdlJiYodC5tZXNzYWdlPUUodC5tZXNzYWdlLGUpKSx0LmV4Y2VwdGlvbil7dmFyIGk9dC5leGNlcHRpb24udmFsdWVzWzBdO2kudmFsdWU9RShpLnZhbHVlLGUpfXZhciBuPXQucmVxdWVzdDtyZXR1cm4gbiYmKG4udXJsJiYobi51cmw9RShuLnVybCx0aGlzLmsubWF4VXJsTGVuZ3RoKSksbi5SZWZlcmVyJiYobi5SZWZlcmVyPUUobi5SZWZlcmVyLHRoaXMuay5tYXhVcmxMZW5ndGgpKSksdC5icmVhZGNydW1icyYmdC5icmVhZGNydW1icy52YWx1ZXMmJnRoaXMuaWEodC5icmVhZGNydW1icyksdH0saWE6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGksbixvPVsidG8iLCJmcm9tIiwidXJsIl0scj0wO3I8dC52YWx1ZXMubGVuZ3RoOysrcilpZigoaT10LnZhbHVlc1tyXSkuaGFzT3duUHJvcGVydHkoImRhdGEiKSYmbShpLmRhdGEpJiYhVihpLmRhdGEpKXtuPV8oe30saS5kYXRhKTtmb3IodmFyIHM9MDtzPG8ubGVuZ3RoOysrcyllPW9bc10sbi5oYXNPd25Qcm9wZXJ0eShlKSYmbltlXSYmKG5bZV09RShuW2VdLHRoaXMuay5tYXhVcmxMZW5ndGgpKTt0LnZhbHVlc1tyXS5kYXRhPW59fSxqYTpmdW5jdGlvbigpe2lmKHRoaXMuY3x8dGhpcy5iKXt2YXIgdD17fTtyZXR1cm4gdGhpcy5jJiZ6LnVzZXJBZ2VudCYmKHQuaGVhZGVycz17IlVzZXItQWdlbnQiOnoudXNlckFnZW50fSksSS5sb2NhdGlvbiYmSS5sb2NhdGlvbi5ocmVmJiYodC51cmw9SS5sb2NhdGlvbi5ocmVmKSx0aGlzLmImJmoucmVmZXJyZXImJih0LmhlYWRlcnN8fCh0LmhlYWRlcnM9e30pLHQuaGVhZGVycy5SZWZlcmVyPWoucmVmZXJyZXIpLHR9fSx5OmZ1bmN0aW9uKCl7dGhpcy5rYT0wLHRoaXMubGE9bnVsbH0sbWE6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5rYSYmbigpLXRoaXMubGE8dGhpcy5rYX0sbmE6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lO3JldHVybiEoIWV8fHQubWVzc2FnZSE9PWUubWVzc2FnZXx8dC50cmFuc2FjdGlvbiE9PWUudHJhbnNhY3Rpb24pJiYodC5zdGFja3RyYWNlfHxlLnN0YWNrdHJhY2U/VSh0LnN0YWNrdHJhY2UsZS5zdGFja3RyYWNlKTp0LmV4Y2VwdGlvbnx8ZS5leGNlcHRpb24/Qih0LmV4Y2VwdGlvbixlLmV4Y2VwdGlvbik6IXQuZmluZ2VycHJpbnQmJiFlLmZpbmdlcnByaW50fHxCb29sZWFuKHQuZmluZ2VycHJpbnQmJmUuZmluZ2VycHJpbnQpJiZKU09OLnN0cmluZ2lmeSh0LmZpbmdlcnByaW50KT09PUpTT04uc3RyaW5naWZ5KGUuZmluZ2VycHJpbnQpKX0sb2E6ZnVuY3Rpb24odCl7aWYoIXRoaXMubWEoKSl7dmFyIGU9dC5zdGF0dXM7aWYoNDAwPT09ZXx8NDAxPT09ZXx8NDI5PT09ZSl7dmFyIGk7dHJ5e2k9TygpP3QuaGVhZGVycy5nZXQoIlJldHJ5LUFmdGVyIik6dC5nZXRSZXNwb25zZUhlYWRlcigiUmV0cnktQWZ0ZXIiKSxpPTFlMypwYXJzZUludChpLDEwKX1jYXRjaChvKXt9dGhpcy5rYT1pfHwoMip0aGlzLmthfHwxZTMpLHRoaXMubGE9bigpfX19LFk6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5rLGk9e3Byb2plY3Q6dGhpcy5pLGxvZ2dlcjplLmxvZ2dlcixwbGF0Zm9ybToiamF2YXNjcmlwdCJ9LG89dGhpcy5qYSgpO2lmKG8mJihpLnJlcXVlc3Q9byksdC50cmltSGVhZEZyYW1lcyYmZGVsZXRlIHQudHJpbUhlYWRGcmFtZXMsKHQ9XyhpLHQpKS50YWdzPV8oXyh7fSx0aGlzLmoudGFncyksdC50YWdzKSx0LmV4dHJhPV8oXyh7fSx0aGlzLmouZXh0cmEpLHQuZXh0cmEpLHQuZXh0cmFbInNlc3Npb246ZHVyYXRpb24iXT1uKCktdGhpcy5zLHRoaXMudSYmdGhpcy51Lmxlbmd0aD4wJiYodC5icmVhZGNydW1icz17dmFsdWVzOltdLnNsaWNlLmNhbGwodGhpcy51LDApfSksdGhpcy5qLnVzZXImJih0LnVzZXI9dGhpcy5qLnVzZXIpLGUuZW52aXJvbm1lbnQmJih0LmVudmlyb25tZW50PWUuZW52aXJvbm1lbnQpLGUucmVsZWFzZSYmKHQucmVsZWFzZT1lLnJlbGVhc2UpLGUuc2VydmVyTmFtZSYmKHQuc2VydmVyX25hbWU9ZS5zZXJ2ZXJOYW1lKSx0PXRoaXMucGEodCksT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7KG51bGw9PXRbZV18fCIiPT09dFtlXXx8ayh0W2VdKSkmJmRlbGV0ZSB0W2VdfSkpLGIoZS5kYXRhQ2FsbGJhY2spJiYodD1lLmRhdGFDYWxsYmFjayh0KXx8dCksdCYmIWsodCkmJighYihlLnNob3VsZFNlbmRDYWxsYmFjayl8fGUuc2hvdWxkU2VuZENhbGxiYWNrKHQpKSlyZXR1cm4gdGhpcy5tYSgpP3ZvaWQgdGhpcy56KCJ3YXJuIiwiUmF2ZW4gZHJvcHBlZCBlcnJvciBkdWUgdG8gYmFja29mZjogIix0KTp2b2lkKCJudW1iZXIiPT10eXBlb2YgZS5zYW1wbGVSYXRlP01hdGgucmFuZG9tKCk8ZS5zYW1wbGVSYXRlJiZ0aGlzLnFhKHQpOnRoaXMucWEodCkpfSxwYTpmdW5jdGlvbih0KXtyZXR1cm4gUCh0LHRoaXMuay5zYW5pdGl6ZUtleXMpfSxyYTpmdW5jdGlvbigpe3JldHVybiBSKCl9LHFhOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPXRoaXMuaztpZih0aGlzLmlzU2V0dXAoKSl7aWYodD10aGlzLmhhKHQpLCF0aGlzLmsuYWxsb3dEdXBsaWNhdGVzJiZ0aGlzLm5hKHQpKXJldHVybiB2b2lkIHRoaXMueigid2FybiIsIlJhdmVuIGRyb3BwZWQgcmVwZWF0IGV2ZW50OiAiLHQpO3RoaXMuZj10LmV2ZW50X2lkfHwodC5ldmVudF9pZD10aGlzLnJhKCkpLHRoaXMuZT10LHRoaXMueigiZGVidWciLCJSYXZlbiBhYm91dCB0byBzZW5kOiIsdCk7dmFyIG89e3NlbnRyeV92ZXJzaW9uOiI3IixzZW50cnlfY2xpZW50OiJyYXZlbi1qcy8iK3RoaXMuVkVSU0lPTixzZW50cnlfa2V5OnRoaXMuaH07dGhpcy5JJiYoby5zZW50cnlfc2VjcmV0PXRoaXMuSSk7dmFyIHI9dC5leGNlcHRpb24mJnQuZXhjZXB0aW9uLnZhbHVlc1swXTt0aGlzLmsuYXV0b0JyZWFkY3J1bWJzJiZ0aGlzLmsuYXV0b0JyZWFkY3J1bWJzLnNlbnRyeSYmdGhpcy5jYXB0dXJlQnJlYWRjcnVtYih7Y2F0ZWdvcnk6InNlbnRyeSIsbWVzc2FnZTpyPyhyLnR5cGU/ci50eXBlKyI6ICI6IiIpK3IudmFsdWU6dC5tZXNzYWdlLGV2ZW50X2lkOnQuZXZlbnRfaWQsbGV2ZWw6dC5sZXZlbHx8ImVycm9yIn0pO3ZhciBzPXRoaXMuSzsobi50cmFuc3BvcnR8fHRoaXMuX21ha2VSZXF1ZXN0KS5jYWxsKHRoaXMse3VybDpzLGF1dGg6byxkYXRhOnQsb3B0aW9uczpuLG9uU3VjY2VzczpmdW5jdGlvbigpe2kueSgpLGkuJCgic3VjY2VzcyIse2RhdGE6dCxzcmM6c30pLGUmJmUoKX0sb25FcnJvcjpmdW5jdGlvbihuKXtpLnooImVycm9yIiwiUmF2ZW4gdHJhbnNwb3J0IGZhaWxlZCB0byBzZW5kOiAiLG4pLG4ucmVxdWVzdCYmaS5vYShuLnJlcXVlc3QpLGkuJCgiZmFpbHVyZSIse2RhdGE6dCxzcmM6c30pLG49bnx8bmV3IEVycm9yKCJSYXZlbiBzZW5kIGZhaWxlZCAobm8gYWRkaXRpb25hbCBkZXRhaWxzIHByb3ZpZGVkKSIpLGUmJmUobil9fSl9fSxfbWFrZVJlcXVlc3Q6ZnVuY3Rpb24odCl7dmFyIGU9dC51cmwrIj8iK1ModC5hdXRoKSxpPW51bGwsbj17fTtpZih0Lm9wdGlvbnMuaGVhZGVycyYmKGk9dGhpcy5zYSh0Lm9wdGlvbnMuaGVhZGVycykpLHQub3B0aW9ucy5mZXRjaFBhcmFtZXRlcnMmJihuPXRoaXMuc2EodC5vcHRpb25zLmZldGNoUGFyYW1ldGVycykpLE8oKSl7bi5ib2R5PWEodC5kYXRhKTt2YXIgbz1fKHt9LHRoaXMubCkscj1fKG8sbik7cmV0dXJuIGkmJihyLmhlYWRlcnM9aSksSS5mZXRjaChlLHIpLnRoZW4oKGZ1bmN0aW9uKGUpe2lmKGUub2spdC5vblN1Y2Nlc3MmJnQub25TdWNjZXNzKCk7ZWxzZXt2YXIgaT1uZXcgRXJyb3IoIlNlbnRyeSBlcnJvciBjb2RlOiAiK2Uuc3RhdHVzKTtpLnJlcXVlc3Q9ZSx0Lm9uRXJyb3ImJnQub25FcnJvcihpKX19KSlbImNhdGNoIl0oKGZ1bmN0aW9uKCl7dC5vbkVycm9yJiZ0Lm9uRXJyb3IobmV3IEVycm9yKCJTZW50cnkgZXJyb3IgY29kZTogbmV0d29yayB1bmF2YWlsYWJsZSIpKX0pKX12YXIgcz1JLlhNTEh0dHBSZXF1ZXN0JiZuZXcgSS5YTUxIdHRwUmVxdWVzdDtzJiYoKCJ3aXRoQ3JlZGVudGlhbHMiaW4gc3x8InVuZGVmaW5lZCIhPXR5cGVvZiBYRG9tYWluUmVxdWVzdCkmJigid2l0aENyZWRlbnRpYWxzImluIHM/cy5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZig0PT09cy5yZWFkeVN0YXRlKWlmKDIwMD09PXMuc3RhdHVzKXQub25TdWNjZXNzJiZ0Lm9uU3VjY2VzcygpO2Vsc2UgaWYodC5vbkVycm9yKXt2YXIgZT1uZXcgRXJyb3IoIlNlbnRyeSBlcnJvciBjb2RlOiAiK3Muc3RhdHVzKTtlLnJlcXVlc3Q9cyx0Lm9uRXJyb3IoZSl9fToocz1uZXcgWERvbWFpblJlcXVlc3QsZT1lLnJlcGxhY2UoL15odHRwcz86LywiIiksdC5vblN1Y2Nlc3MmJihzLm9ubG9hZD10Lm9uU3VjY2VzcyksdC5vbkVycm9yJiYocy5vbmVycm9yPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IEVycm9yKCJTZW50cnkgZXJyb3IgY29kZTogWERvbWFpblJlcXVlc3QiKTtlLnJlcXVlc3Q9cyx0Lm9uRXJyb3IoZSl9KSkscy5vcGVuKCJQT1NUIixlKSxpJiZ4KGksKGZ1bmN0aW9uKHQsZSl7cy5zZXRSZXF1ZXN0SGVhZGVyKHQsZSl9KSkscy5zZW5kKGEodC5kYXRhKSkpKX0sc2E6ZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciBpIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShpKSl7dmFyIG49dFtpXTtlW2ldPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTpufXJldHVybiBlfSx6OmZ1bmN0aW9uKHQpe3RoaXMucVt0XSYmKHRoaXMuZGVidWd8fHRoaXMuay5kZWJ1ZykmJkZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHRoaXMucVt0XSx0aGlzLnAsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfSxaOmZ1bmN0aW9uKHQsZSl7ZyhlKT9kZWxldGUgdGhpcy5qW3RdOnRoaXMualt0XT1fKHRoaXMualt0XXx8e30sZSl9fSxyLnByb3RvdHlwZS5zZXRVc2VyPXIucHJvdG90eXBlLnNldFVzZXJDb250ZXh0LHIucHJvdG90eXBlLnNldFJlbGVhc2VDb250ZXh0PXIucHJvdG90eXBlLnNldFJlbGVhc2UsZS5leHBvcnRzPXJ9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsxOjEsMjoyLDU6NSw2OjYsNzo3LDg6OH1dLDQ6W2Z1bmN0aW9uKHQsZSxpKXsoZnVuY3Rpb24oaSl7dmFyIG49dCgzKSxvPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp2b2lkIDAhPT1pP2k6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30scj1vLlJhdmVuLHM9bmV3IG47cy5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIG8uUmF2ZW49cixzfSxzLmFmdGVyTG9hZCgpLGUuZXhwb3J0cz1zLGUuZXhwb3J0cy5DbGllbnQ9bn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0sezM6M31dLDU6W2Z1bmN0aW9uKHQsZSxpKXsoZnVuY3Rpb24oaSl7ZnVuY3Rpb24gbih0KXtzd2l0Y2goT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKXtjYXNlIltvYmplY3QgRXJyb3JdIjpjYXNlIltvYmplY3QgRXhjZXB0aW9uXSI6Y2FzZSJbb2JqZWN0IERPTUV4Y2VwdGlvbl0iOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIHQgaW5zdGFuY2VvZiBFcnJvcn19ZnVuY3Rpb24gbyh0KXtyZXR1cm4iW29iamVjdCBET01FcnJvcl0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIHIodCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBhKHQpe3JldHVybiJbb2JqZWN0IFN0cmluZ10iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBjKCl7aWYoISgiZmV0Y2giaW4gaykpcmV0dXJuITE7dHJ5e3JldHVybiBuZXcgSGVhZGVycyxuZXcgUmVxdWVzdCgiIiksbmV3IFJlc3BvbnNlLCEwfWNhdGNoKHQpe3JldHVybiExfX1mdW5jdGlvbiBoKHQsZSl7dmFyIGksbjtpZihyKHQubGVuZ3RoKSlmb3IoaSBpbiB0KXAodCxpKSYmZS5jYWxsKG51bGwsaSx0W2ldKTtlbHNlIGlmKG49dC5sZW5ndGgpZm9yKGk9MDtpPG47aSsrKWUuY2FsbChudWxsLGksdFtpXSl9ZnVuY3Rpb24gdSh0LGUpe2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIjJuZCBhcmd1bWVudCB0byBgdHJ1bmNhdGVgIGZ1bmN0aW9uIHNob3VsZCBiZSBhIG51bWJlciIpO3JldHVybiJzdHJpbmciIT10eXBlb2YgdHx8MD09PWV8fHQubGVuZ3RoPD1lP3Q6dC5zdWJzdHIoMCxlKSsi4oCmIn1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGYodCl7Zm9yKHZhciBlLGk9W10sbj0wLG89dC5sZW5ndGg7bjxvO24rKylhKGU9dFtuXSk/aS5wdXNoKGUucmVwbGFjZSgvKFsuKis/Xj0hOiR7fSgpfFxbXF1cL1xcXSkvZywiXFwkMSIpKTplJiZlLnNvdXJjZSYmaS5wdXNoKGUuc291cmNlKTtyZXR1cm4gbmV3IFJlZ0V4cChpLmpvaW4oInwiKSwiaSIpfWZ1bmN0aW9uIGQodCl7dmFyIGUsaSxuLG8scixzPVtdO2lmKCF0fHwhdC50YWdOYW1lKXJldHVybiIiO2lmKHMucHVzaCh0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSksdC5pZCYmcy5wdXNoKCIjIit0LmlkKSwoZT10LmNsYXNzTmFtZSkmJmEoZSkpZm9yKGk9ZS5zcGxpdCgvXHMrLykscj0wO3I8aS5sZW5ndGg7cisrKXMucHVzaCgiLiIraVtyXSk7dmFyIGw9WyJ0eXBlIiwibmFtZSIsInRpdGxlIiwiYWx0Il07Zm9yKHI9MDtyPGwubGVuZ3RoO3IrKyluPWxbcl0sKG89dC5nZXRBdHRyaWJ1dGUobikpJiZzLnB1c2goIlsiK24rJz0iJytvKyciXScpO3JldHVybiBzLmpvaW4oIiIpfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4hISghIXReISFlKX1mdW5jdGlvbiB5KHQsZSl7aWYobSh0LGUpKXJldHVybiExO3ZhciBpPXQuZnJhbWVzLG49ZS5mcmFtZXM7aWYodm9pZCAwPT09aXx8dm9pZCAwPT09bilyZXR1cm4hMTtpZihpLmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbyxyLHM9MDtzPGkubGVuZ3RoO3MrKylpZihvPWlbc10scj1uW3NdLG8uZmlsZW5hbWUhPT1yLmZpbGVuYW1lfHxvLmxpbmVubyE9PXIubGluZW5vfHxvLmNvbG5vIT09ci5jb2xub3x8b1siZnVuY3Rpb24iXSE9PXJbImZ1bmN0aW9uIl0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJufi1lbmNvZGVVUkkodCkuc3BsaXQoLyUuLnwuLykubGVuZ3RofShKU09OLnN0cmluZ2lmeSh0KSl9ZnVuY3Rpb24gYih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3JldHVybiB1KHQsNDApfWlmKCJudW1iZXIiPT10eXBlb2YgdHx8ImJvb2xlYW4iPT10eXBlb2YgdHx8dm9pZCAwPT09dClyZXR1cm4gdDt2YXIgZT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1lPyJbT2JqZWN0XSI6IltvYmplY3QgQXJyYXldIj09PWU/IltBcnJheV0iOiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1lP3QubmFtZT8iW0Z1bmN0aW9uOiAiK3QubmFtZSsiXSI6IltGdW5jdGlvbl0iOnR9ZnVuY3Rpb24gdih0LGUpe3JldHVybiAwPT09ZT9iKHQpOnModCk/T2JqZWN0LmtleXModCkucmVkdWNlKChmdW5jdGlvbihpLG4pe3JldHVybiBpW25dPXYodFtuXSxlLTEpLGl9KSx7fSk6QXJyYXkuaXNBcnJheSh0KT90Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHYodCxlLTEpfSkpOmIodCl9dmFyIHc9dCg3KSxrPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp2b2lkIDAhPT1pP2k6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e30seD0zLF89NTEyMDAsRT00MDtlLmV4cG9ydHM9e2lzT2JqZWN0OmZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR9LGlzRXJyb3I6bixpc0Vycm9yRXZlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgRXJyb3JFdmVudF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSxpc0RPTUVycm9yOm8saXNET01FeGNlcHRpb246ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgRE9NRXhjZXB0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGlzVW5kZWZpbmVkOnIsaXNGdW5jdGlvbjpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH0saXNQbGFpbk9iamVjdDpzLGlzU3RyaW5nOmEsaXNBcnJheTpsLGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24odCl7aWYoIXModCkpcmV0dXJuITE7Zm9yKHZhciBlIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4hMTtyZXR1cm4hMH0sc3VwcG9ydHNFcnJvckV2ZW50OmZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgRXJyb3JFdmVudCgiIiksITB9Y2F0Y2godCl7cmV0dXJuITF9fSxzdXBwb3J0c0RPTUVycm9yOmZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgRE9NRXJyb3IoIiIpLCEwfWNhdGNoKHQpe3JldHVybiExfX0sc3VwcG9ydHNET01FeGNlcHRpb246ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBET01FeGNlcHRpb24oIiIpLCEwfWNhdGNoKHQpe3JldHVybiExfX0sc3VwcG9ydHNGZXRjaDpjLHN1cHBvcnRzUmVmZXJyZXJQb2xpY3k6ZnVuY3Rpb24oKXtpZighYygpKXJldHVybiExO3RyeXtyZXR1cm4gbmV3IFJlcXVlc3QoInBpY2tsZVJpY2siLHtyZWZlcnJlclBvbGljeToib3JpZ2luIn0pLCEwfWNhdGNoKHQpe3JldHVybiExfX0sc3VwcG9ydHNQcm9taXNlUmVqZWN0aW9uRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZVJlamVjdGlvbkV2ZW50fSx3cmFwcGVkQ2FsbGJhY2s6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsaSl7dmFyIG49dChlKXx8ZTtyZXR1cm4gaSYmaShuKXx8bn19LGVhY2g6aCxvYmplY3RNZXJnZTpmdW5jdGlvbih0LGUpe3JldHVybiBlPyhoKGUsKGZ1bmN0aW9uKGUsaSl7dFtlXT1pfSkpLHQpOnR9LHRydW5jYXRlOnUsb2JqZWN0RnJvemVuOmZ1bmN0aW9uKHQpe3JldHVybiEhT2JqZWN0LmlzRnJvemVuJiZPYmplY3QuaXNGcm96ZW4odCl9LGhhc0tleTpwLGpvaW5SZWdFeHA6Zix1cmxlbmNvZGU6ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGgodCwoZnVuY3Rpb24odCxpKXtlLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KHQpKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSkpfSkpLGUuam9pbigiJiIpfSx1dWlkNDpmdW5jdGlvbigpe3ZhciB0PWsuY3J5cHRvfHxrLm1zQ3J5cHRvO2lmKCFyKHQpJiZ0LmdldFJhbmRvbVZhbHVlcyl7dmFyIGU9bmV3IFVpbnQxNkFycmF5KDgpO3QuZ2V0UmFuZG9tVmFsdWVzKGUpLGVbM109NDA5NSZlWzNdfDE2Mzg0LGVbNF09MTYzODMmZVs0XXwzMjc2ODt2YXIgaT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC50b1N0cmluZygxNik7ZS5sZW5ndGg8NDspZT0iMCIrZTtyZXR1cm4gZX07cmV0dXJuIGkoZVswXSkraShlWzFdKStpKGVbMl0pK2koZVszXSkraShlWzRdKStpKGVbNV0pK2koZVs2XSkraShlWzddKX1yZXR1cm4ieHh4eHh4eHh4eHh4NHh4eHl4eHh4eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZywoZnVuY3Rpb24odCl7dmFyIGU9MTYqTWF0aC5yYW5kb20oKXwwO3JldHVybigieCI9PT10P2U6MyZlfDgpLnRvU3RyaW5nKDE2KX0pKX0saHRtbFRyZWVBc1N0cmluZzpmdW5jdGlvbih0KXtmb3IodmFyIGUsaT1bXSxuPTAsbz0wLHI9IiA+ICIubGVuZ3RoO3QmJm4rKzw1JiYhKCJodG1sIj09PShlPWQodCkpfHxuPjEmJm8raS5sZW5ndGgqcitlLmxlbmd0aD49ODApOylpLnB1c2goZSksbys9ZS5sZW5ndGgsdD10LnBhcmVudE5vZGU7cmV0dXJuIGkucmV2ZXJzZSgpLmpvaW4oIiA+ICIpfSxodG1sRWxlbWVudEFzU3RyaW5nOmQsaXNTYW1lRXhjZXB0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIW0odCxlKSYmKHQ9dC52YWx1ZXNbMF0sZT1lLnZhbHVlc1swXSx0LnR5cGU9PT1lLnR5cGUmJnQudmFsdWU9PT1lLnZhbHVlJiYhZnVuY3Rpb24odCxlKXtyZXR1cm4gcih0KSYmcihlKX0odC5zdGFja3RyYWNlLGUuc3RhY2t0cmFjZSkmJnkodC5zdGFja3RyYWNlLGUuc3RhY2t0cmFjZSkpfSxpc1NhbWVTdGFja3RyYWNlOnkscGFyc2VVcmw6ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybnt9O3ZhciBlPXQubWF0Y2goL14oKFteOlwvPyNdKyk6KT8oXC9cLyhbXlwvPyNdKikpPyhbXj8jXSopKFw/KFteI10qKSk/KCMoLiopKT8kLyksaT1lWzZdfHwiIixuPWVbOF18fCIiO3JldHVybntwcm90b2NvbDplWzJdLGhvc3Q6ZVs0XSxwYXRoOmVbNV0scmVsYXRpdmU6ZVs1XStpK259fSxmaWxsOmZ1bmN0aW9uKHQsZSxpLG4pe2lmKG51bGwhPXQpe3ZhciBvPXRbZV07dFtlXT1pKG8pLHRbZV0uTT0hMCx0W2VdLk89byxuJiZuLnB1c2goW3QsZSxvXSl9fSxzYWZlSm9pbjpmdW5jdGlvbih0LGUpe2lmKCFsKHQpKXJldHVybiIiO2Zvcih2YXIgaT1bXSxvPTA7bzx0Lmxlbmd0aDtvKyspdHJ5e2kucHVzaChTdHJpbmcodFtvXSkpfWNhdGNoKG4pe2kucHVzaCgiW3ZhbHVlIGNhbm5vdCBiZSBzZXJpYWxpemVkXSIpfXJldHVybiBpLmpvaW4oZSl9LHNlcmlhbGl6ZUV4Y2VwdGlvbjpmdW5jdGlvbiBWKHQsZSxpKXtpZighcyh0KSlyZXR1cm4gdDtpPSJudW1iZXIiIT10eXBlb2YoZT0ibnVtYmVyIiE9dHlwZW9mIGU/eDplKT9fOmk7dmFyIG49dih0LGUpO3JldHVybiBnKHcobikpPmk/Vih0LGUtMSk6bn0sc2VyaWFsaXplS2V5c0Zvck1lc3NhZ2U6ZnVuY3Rpb24odCxlKXtpZigibnVtYmVyIj09dHlwZW9mIHR8fCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdC50b1N0cmluZygpO2lmKCFBcnJheS5pc0FycmF5KHQpKXJldHVybiIiO2lmKDA9PT0odD10LmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSkpKS5sZW5ndGgpcmV0dXJuIltvYmplY3QgaGFzIG5vIGtleXNdIjtpZihlPSJudW1iZXIiIT10eXBlb2YgZT9FOmUsdFswXS5sZW5ndGg+PWUpcmV0dXJuIHRbMF07Zm9yKHZhciBpPXQubGVuZ3RoO2k+MDtpLS0pe3ZhciBuPXQuc2xpY2UoMCxpKS5qb2luKCIsICIpO2lmKCEobi5sZW5ndGg+ZSkpcmV0dXJuIGk9PT10Lmxlbmd0aD9uOm4rIuKApiJ9cmV0dXJuIiJ9LHNhbml0aXplOmZ1bmN0aW9uKHQsZSl7aWYoIWwoZSl8fGwoZSkmJjA9PT1lLmxlbmd0aClyZXR1cm4gdDt2YXIgaSxuPWYoZSkscj0iKioqKioqKioiO3RyeXtpPUpTT04ucGFyc2Uodyh0KSl9Y2F0Y2gobyl7cmV0dXJuIHR9cmV0dXJuIGZ1bmN0aW9uIGEodCl7cmV0dXJuIGwodCk/dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBhKHQpfSkpOnModCk/T2JqZWN0LmtleXModCkucmVkdWNlKChmdW5jdGlvbihlLGkpe3JldHVybiBlW2ldPW4udGVzdChpKT9yOmEodFtpXSksZX0pLHt9KTp0fShpKX19fSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Nzo3fV0sNjpbZnVuY3Rpb24odCxlLGkpeyhmdW5jdGlvbihpKXtmdW5jdGlvbiBuKCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudHx8bnVsbD09ZG9jdW1lbnQubG9jYXRpb24/IiI6ZG9jdW1lbnQubG9jYXRpb24uaHJlZn12YXIgbz10KDUpLHI9e2NvbGxlY3RXaW5kb3dFcnJvcnM6ITAsZGVidWc6ITF9LHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PWk/aToidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp7fSxhPVtdLnNsaWNlLGw9Ij8iLGM9L14oPzpbVXVdbmNhdWdodCAoPzpleGNlcHRpb246ICk/KT8oPzooKD86RXZhbHxJbnRlcm5hbHxSYW5nZXxSZWZlcmVuY2V8U3ludGF4fFR5cGV8VVJJfClFcnJvcik6ICk/KC4qKSQvO3IucmVwb3J0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLGkpe3ZhciBuPW51bGw7aWYoIWl8fHIuY29sbGVjdFdpbmRvd0Vycm9ycyl7Zm9yKHZhciBvIGluIGYpaWYoZi5oYXNPd25Qcm9wZXJ0eShvKSl0cnl7ZltvXS5hcHBseShudWxsLFtlXS5jb25jYXQoYS5jYWxsKGFyZ3VtZW50cywyKSkpfWNhdGNoKHQpe249dH1pZihuKXRocm93IG59fWZ1bmN0aW9uIGUoZSxzLGEsaCxwKXt2YXIgZj1vLmlzRXJyb3JFdmVudChwKT9wLmVycm9yOnAsZD1vLmlzRXJyb3JFdmVudChlKT9lLm1lc3NhZ2U6ZTtpZih5KXIuY29tcHV0ZVN0YWNrVHJhY2UuYXVnbWVudFN0YWNrVHJhY2VXaXRoSW5pdGlhbEVsZW1lbnQoeSxzLGEsZCksaSgpO2Vsc2UgaWYoZiYmby5pc0Vycm9yKGYpKXQoci5jb21wdXRlU3RhY2tUcmFjZShmKSwhMCk7ZWxzZXt2YXIgbSxnPXt1cmw6cyxsaW5lOmEsY29sdW1uOmh9LGI9dm9pZCAwO2lmKCJbb2JqZWN0IFN0cmluZ10iPT09e30udG9TdHJpbmcuY2FsbChkKSkobT1kLm1hdGNoKGMpKSYmKGI9bVsxXSxkPW1bMl0pO2cuZnVuYz1sLHQoe25hbWU6YixtZXNzYWdlOmQsdXJsOm4oKSxzdGFjazpbZ119LCEwKX1yZXR1cm4hIXUmJnUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIGkoKXt2YXIgZT15LGk9ZDtkPW51bGwseT1udWxsLG09bnVsbCx0LmFwcGx5KG51bGwsW2UsITFdLmNvbmNhdChpKSl9ZnVuY3Rpb24gaCh0LGUpe3ZhciBuPWEuY2FsbChhcmd1bWVudHMsMSk7aWYoeSl7aWYobT09PXQpcmV0dXJuO2koKX12YXIgbz1yLmNvbXB1dGVTdGFja1RyYWNlKHQpO2lmKHk9byxtPXQsZD1uLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bT09PXQmJmkoKX0pLG8uaW5jb21wbGV0ZT8yZTM6MCksITEhPT1lKXRocm93IHR9dmFyIHUscCxmPVtdLGQ9bnVsbCxtPW51bGwseT1udWxsO3JldHVybiBoLnN1YnNjcmliZT1mdW5jdGlvbih0KXtwfHwodT1zLm9uZXJyb3Iscy5vbmVycm9yPWUscD0hMCksZi5wdXNoKHQpfSxoLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1mLmxlbmd0aC0xO2U+PTA7LS1lKWZbZV09PT10JiZmLnNwbGljZShlLDEpfSxoLnVuaW5zdGFsbD1mdW5jdGlvbigpe3AmJihzLm9uZXJyb3I9dSxwPSExLHU9dm9pZCAwKSxmPVtdfSxofSgpLHIuY29tcHV0ZVN0YWNrVHJhY2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5zdGFjayYmdC5zdGFjayl7Zm9yKHZhciBlLGksbyxyPS9eXHMqYXQgKD86KC4qPykgP1woKT8oKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWUtZXh0ZW5zaW9ufG5hdGl2ZXxldmFsfHdlYnBhY2t8PGFub255bW91cz58W2Etel06fFwvKS4qPykoPzo6KFxkKykpPyg/OjooXGQrKSk/XCk/XHMqJC9pLHM9L15ccyphdCAoPzooKD86XFtvYmplY3Qgb2JqZWN0XF0pPy4rKSApP1woPygoPzpmaWxlfG1zLWFwcHgoPzotd2ViKXxodHRwcz98d2VicGFja3xibG9iKTouKj8pOihcZCspKD86OihcZCspKT9cKT9ccyokL2ksYT0vXlxzKiguKj8pKD86XCgoLio/KVwpKT8oPzpefEApKCg/OmZpbGV8aHR0cHM/fGJsb2J8Y2hyb21lfHdlYnBhY2t8cmVzb3VyY2V8bW96LWV4dGVuc2lvbikuKj86XC8uKj98XFtuYXRpdmUgY29kZVxdfFteQF0qKD86YnVuZGxlfFxkK1wuanMpKSg/OjooXGQrKSk/KD86OihcZCspKT9ccyokL2ksYz0vKFxTKykgbGluZSAoXGQrKSg/OiA+IGV2YWwgbGluZSBcZCspKiA+IGV2YWwvaSxoPS9cKChcUyopKD86OihcZCspKSg/OjooXGQrKSlcKS8sdT10LnN0YWNrLnNwbGl0KCJcbiIpLHA9W10sZj0oL14oLiopIGlzIHVuZGVmaW5lZCQvLmV4ZWModC5tZXNzYWdlKSwwKSxkPXUubGVuZ3RoO2Y8ZDsrK2Ype2lmKGk9ci5leGVjKHVbZl0pKXt2YXIgbT1pWzJdJiYwPT09aVsyXS5pbmRleE9mKCJuYXRpdmUiKTtpWzJdJiYwPT09aVsyXS5pbmRleE9mKCJldmFsIikmJihlPWguZXhlYyhpWzJdKSkmJihpWzJdPWVbMV0saVszXT1lWzJdLGlbNF09ZVszXSksbz17dXJsOm0/bnVsbDppWzJdLGZ1bmM6aVsxXXx8bCxhcmdzOm0/W2lbMl1dOltdLGxpbmU6aVszXT8raVszXTpudWxsLGNvbHVtbjppWzRdPytpWzRdOm51bGx9fWVsc2UgaWYoaT1zLmV4ZWModVtmXSkpbz17dXJsOmlbMl0sZnVuYzppWzFdfHxsLGFyZ3M6W10sbGluZToraVszXSxjb2x1bW46aVs0XT8raVs0XTpudWxsfTtlbHNle2lmKCEoaT1hLmV4ZWModVtmXSkpKWNvbnRpbnVlO2lbM10mJmlbM10uaW5kZXhPZigiID4gZXZhbCIpPi0xJiYoZT1jLmV4ZWMoaVszXSkpPyhpWzNdPWVbMV0saVs0XT1lWzJdLGlbNV09bnVsbCk6MCE9PWZ8fGlbNV18fCJ1bmRlZmluZWQiPT10eXBlb2YgdC5jb2x1bW5OdW1iZXJ8fChwWzBdLmNvbHVtbj10LmNvbHVtbk51bWJlcisxKSxvPXt1cmw6aVszXSxmdW5jOmlbMV18fGwsYXJnczppWzJdP2lbMl0uc3BsaXQoIiwiKTpbXSxsaW5lOmlbNF0/K2lbNF06bnVsbCxjb2x1bW46aVs1XT8raVs1XTpudWxsfX1pZighby5mdW5jJiZvLmxpbmUmJihvLmZ1bmM9bCksby51cmwmJiJibG9iOiI9PT1vLnVybC5zdWJzdHIoMCw1KSl7dmFyIHk9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKHkub3BlbigiR0VUIixvLnVybCwhMSkseS5zZW5kKG51bGwpLDIwMD09PXkuc3RhdHVzKXt2YXIgZz15LnJlc3BvbnNlVGV4dHx8IiIsYj0oZz1nLnNsaWNlKC0zMDApKS5tYXRjaCgvXC9cLyMgc291cmNlTWFwcGluZ1VSTD0oLiopJC8pO2lmKGIpe3ZhciB2PWJbMV07In4iPT09di5jaGFyQXQoMCkmJih2PSgidW5kZWZpbmVkIj09dHlwZW9mIGRvY3VtZW50fHxudWxsPT1kb2N1bWVudC5sb2NhdGlvbj8iIjpkb2N1bWVudC5sb2NhdGlvbi5vcmlnaW4/ZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luOmRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUrKGRvY3VtZW50LmxvY2F0aW9uLnBvcnQ/IjoiK2RvY3VtZW50LmxvY2F0aW9uLnBvcnQ6IiIpKSt2LnNsaWNlKDEpKSxvLnVybD12LnNsaWNlKDAsLTQpfX19cC5wdXNoKG8pfXJldHVybiBwLmxlbmd0aD97bmFtZTp0Lm5hbWUsbWVzc2FnZTp0Lm1lc3NhZ2UsdXJsOm4oKSxzdGFjazpwfTpudWxsfX1mdW5jdGlvbiBlKHQsZSxpLG4pe3ZhciBvPXt1cmw6ZSxsaW5lOml9O2lmKG8udXJsJiZvLmxpbmUpe2lmKHQuaW5jb21wbGV0ZT0hMSxvLmZ1bmN8fChvLmZ1bmM9bCksdC5zdGFjay5sZW5ndGg+MCYmdC5zdGFja1swXS51cmw9PT1vLnVybCl7aWYodC5zdGFja1swXS5saW5lPT09by5saW5lKXJldHVybiExO2lmKCF0LnN0YWNrWzBdLmxpbmUmJnQuc3RhY2tbMF0uZnVuYz09PW8uZnVuYylyZXR1cm4gdC5zdGFja1swXS5saW5lPW8ubGluZSwhMX1yZXR1cm4gdC5zdGFjay51bnNoaWZ0KG8pLHQucGFydGlhbD0hMCwhMH1yZXR1cm4gdC5pbmNvbXBsZXRlPSEwLCExfWZ1bmN0aW9uIGkodCxzKXtmb3IodmFyIGEsYyxoPS9mdW5jdGlvblxzKyhbXyRhLXpBLVpceEEwLVx1RkZGRl1bXyRhLXpBLVowLTlceEEwLVx1RkZGRl0qKT9ccypcKC9pLHU9W10scD17fSxmPSExLGQ9aS5jYWxsZXI7ZCYmIWY7ZD1kLmNhbGxlcilpZihkIT09byYmZCE9PXIucmVwb3J0KXtpZihjPXt1cmw6bnVsbCxmdW5jOmwsbGluZTpudWxsLGNvbHVtbjpudWxsfSxkLm5hbWU/Yy5mdW5jPWQubmFtZTooYT1oLmV4ZWMoZC50b1N0cmluZygpKSkmJihjLmZ1bmM9YVsxXSksInVuZGVmaW5lZCI9PXR5cGVvZiBjLmZ1bmMpdHJ5e2MuZnVuYz1hLmlucHV0LnN1YnN0cmluZygwLGEuaW5wdXQuaW5kZXhPZigieyIpKX1jYXRjaCh5KXt9cFsiIitkXT9mPSEwOnBbIiIrZF09ITAsdS5wdXNoKGMpfXMmJnUuc3BsaWNlKDAscyk7dmFyIG09e25hbWU6dC5uYW1lLG1lc3NhZ2U6dC5tZXNzYWdlLHVybDpuKCksc3RhY2s6dX07cmV0dXJuIGUobSx0LnNvdXJjZVVSTHx8dC5maWxlTmFtZSx0LmxpbmV8fHQubGluZU51bWJlcix0Lm1lc3NhZ2V8fHQuZGVzY3JpcHRpb24pLG19ZnVuY3Rpb24gbyhlLG8pe3ZhciBhPW51bGw7bz1udWxsPT1vPzA6K287dHJ5e2lmKGE9dChlKSlyZXR1cm4gYX1jYXRjaChzKXtpZihyLmRlYnVnKXRocm93IHN9dHJ5e2lmKGE9aShlLG8rMSkpcmV0dXJuIGF9Y2F0Y2gocyl7aWYoci5kZWJ1Zyl0aHJvdyBzfXJldHVybntuYW1lOmUubmFtZSxtZXNzYWdlOmUubWVzc2FnZSx1cmw6bigpfX1yZXR1cm4gby5hdWdtZW50U3RhY2tUcmFjZVdpdGhJbml0aWFsRWxlbWVudD1lLG8uY29tcHV0ZVN0YWNrVHJhY2VGcm9tU3RhY2tQcm9wPXQsb30oKSxlLmV4cG9ydHM9cn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0sezU6NX1dLDc6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKHQsZSl7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDsrK2kpaWYodFtpXT09PWUpcmV0dXJuIGk7cmV0dXJuLTF9ZnVuY3Rpb24gbyh0LGUpe3ZhciBpPVtdLG89W107cmV0dXJuIG51bGw9PWUmJihlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGlbMF09PT1lPyJbQ2lyY3VsYXIgfl0iOiJbQ2lyY3VsYXIgfi4iK28uc2xpY2UoMCxuKGksZSkpLmpvaW4oIi4iKSsiXSJ9KSxmdW5jdGlvbihyLHMpe2lmKGkubGVuZ3RoPjApe3ZhciBhPW4oaSx0aGlzKTt+YT9pLnNwbGljZShhKzEpOmkucHVzaCh0aGlzKSx+YT9vLnNwbGljZShhLDEvMCxyKTpvLnB1c2gociksfm4oaSxzKSYmKHM9ZS5jYWxsKHRoaXMscixzKSl9ZWxzZSBpLnB1c2gocyk7cmV0dXJuIG51bGw9PXQ/cyBpbnN0YW5jZW9mIEVycm9yP2Z1bmN0aW9uKHQpe3ZhciBlPXtzdGFjazp0LnN0YWNrLG1lc3NhZ2U6dC5tZXNzYWdlLG5hbWU6dC5uYW1lfTtmb3IodmFyIGkgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmKGVbaV09dFtpXSk7cmV0dXJuIGV9KHMpOnM6dC5jYWxsKHRoaXMscixzKX19aT1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLGksbil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQsbyhlLG4pLGkpfSxpLmdldFNlcmlhbGl6ZT1vfSx7fV0sODpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCxlKXt2YXIgaT0oNjU1MzUmdCkrKDY1NTM1JmUpO3JldHVybih0Pj4xNikrKGU+PjE2KSsoaT4+MTYpPDwxNnw2NTUzNSZpfWZ1bmN0aW9uIG8odCxlLGksbyxyLHMpe3JldHVybiBuKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9KG4obihlLHQpLG4obyxzKSksciksaSl9ZnVuY3Rpb24gcih0LGUsaSxuLHIscyxhKXtyZXR1cm4gbyhlJml8fmUmbix0LGUscixzLGEpfWZ1bmN0aW9uIHModCxlLGksbixyLHMsYSl7cmV0dXJuIG8oZSZufGkmfm4sdCxlLHIscyxhKX1mdW5jdGlvbiBhKHQsZSxpLG4scixzLGEpe3JldHVybiBvKGVeaV5uLHQsZSxyLHMsYSl9ZnVuY3Rpb24gbCh0LGUsaSxuLHIscyxhKXtyZXR1cm4gbyhpXihlfH5uKSx0LGUscixzLGEpfWZ1bmN0aW9uIGModCxlKXt0W2U+PjVdfD0xMjg8PGUlMzIsdFsxNCsoZSs2ND4+Pjk8PDQpXT1lO3ZhciBpLG8sYyxoLHUscD0xNzMyNTg0MTkzLGY9LTI3MTczMzg3OSxkPS0xNzMyNTg0MTk0LG09MjcxNzMzODc4O2ZvcihpPTA7aTx0Lmxlbmd0aDtpKz0xNilvPXAsYz1mLGg9ZCx1PW0scD1yKHAsZixkLG0sdFtpXSw3LC02ODA4NzY5MzYpLG09cihtLHAsZixkLHRbaSsxXSwxMiwtMzg5NTY0NTg2KSxkPXIoZCxtLHAsZix0W2krMl0sMTcsNjA2MTA1ODE5KSxmPXIoZixkLG0scCx0W2krM10sMjIsLTEwNDQ1MjUzMzApLHA9cihwLGYsZCxtLHRbaSs0XSw3LC0xNzY0MTg4OTcpLG09cihtLHAsZixkLHRbaSs1XSwxMiwxMjAwMDgwNDI2KSxkPXIoZCxtLHAsZix0W2krNl0sMTcsLTE0NzMyMzEzNDEpLGY9cihmLGQsbSxwLHRbaSs3XSwyMiwtNDU3MDU5ODMpLHA9cihwLGYsZCxtLHRbaSs4XSw3LDE3NzAwMzU0MTYpLG09cihtLHAsZixkLHRbaSs5XSwxMiwtMTk1ODQxNDQxNyksZD1yKGQsbSxwLGYsdFtpKzEwXSwxNywtNDIwNjMpLGY9cihmLGQsbSxwLHRbaSsxMV0sMjIsLTE5OTA0MDQxNjIpLHA9cihwLGYsZCxtLHRbaSsxMl0sNywxODA0NjAzNjgyKSxtPXIobSxwLGYsZCx0W2krMTNdLDEyLC00MDM0MTEwMSksZD1yKGQsbSxwLGYsdFtpKzE0XSwxNywtMTUwMjAwMjI5MCkscD1zKHAsZj1yKGYsZCxtLHAsdFtpKzE1XSwyMiwxMjM2NTM1MzI5KSxkLG0sdFtpKzFdLDUsLTE2NTc5NjUxMCksbT1zKG0scCxmLGQsdFtpKzZdLDksLTEwNjk1MDE2MzIpLGQ9cyhkLG0scCxmLHRbaSsxMV0sMTQsNjQzNzE3NzEzKSxmPXMoZixkLG0scCx0W2ldLDIwLC0zNzM4OTczMDIpLHA9cyhwLGYsZCxtLHRbaSs1XSw1LC03MDE1NTg2OTEpLG09cyhtLHAsZixkLHRbaSsxMF0sOSwzODAxNjA4MyksZD1zKGQsbSxwLGYsdFtpKzE1XSwxNCwtNjYwNDc4MzM1KSxmPXMoZixkLG0scCx0W2krNF0sMjAsLTQwNTUzNzg0OCkscD1zKHAsZixkLG0sdFtpKzldLDUsNTY4NDQ2NDM4KSxtPXMobSxwLGYsZCx0W2krMTRdLDksLTEwMTk4MDM2OTApLGQ9cyhkLG0scCxmLHRbaSszXSwxNCwtMTg3MzYzOTYxKSxmPXMoZixkLG0scCx0W2krOF0sMjAsMTE2MzUzMTUwMSkscD1zKHAsZixkLG0sdFtpKzEzXSw1LC0xNDQ0NjgxNDY3KSxtPXMobSxwLGYsZCx0W2krMl0sOSwtNTE0MDM3ODQpLGQ9cyhkLG0scCxmLHRbaSs3XSwxNCwxNzM1MzI4NDczKSxwPWEocCxmPXMoZixkLG0scCx0W2krMTJdLDIwLC0xOTI2NjA3NzM0KSxkLG0sdFtpKzVdLDQsLTM3ODU1OCksbT1hKG0scCxmLGQsdFtpKzhdLDExLC0yMDIyNTc0NDYzKSxkPWEoZCxtLHAsZix0W2krMTFdLDE2LDE4MzkwMzA1NjIpLGY9YShmLGQsbSxwLHRbaSsxNF0sMjMsLTM1MzA5NTU2KSxwPWEocCxmLGQsbSx0W2krMV0sNCwtMTUzMDk5MjA2MCksbT1hKG0scCxmLGQsdFtpKzRdLDExLDEyNzI4OTMzNTMpLGQ9YShkLG0scCxmLHRbaSs3XSwxNiwtMTU1NDk3NjMyKSxmPWEoZixkLG0scCx0W2krMTBdLDIzLC0xMDk0NzMwNjQwKSxwPWEocCxmLGQsbSx0W2krMTNdLDQsNjgxMjc5MTc0KSxtPWEobSxwLGYsZCx0W2ldLDExLC0zNTg1MzcyMjIpLGQ9YShkLG0scCxmLHRbaSszXSwxNiwtNzIyNTIxOTc5KSxmPWEoZixkLG0scCx0W2krNl0sMjMsNzYwMjkxODkpLHA9YShwLGYsZCxtLHRbaSs5XSw0LC02NDAzNjQ0ODcpLG09YShtLHAsZixkLHRbaSsxMl0sMTEsLTQyMTgxNTgzNSksZD1hKGQsbSxwLGYsdFtpKzE1XSwxNiw1MzA3NDI1MjApLHA9bChwLGY9YShmLGQsbSxwLHRbaSsyXSwyMywtOTk1MzM4NjUxKSxkLG0sdFtpXSw2LC0xOTg2MzA4NDQpLG09bChtLHAsZixkLHRbaSs3XSwxMCwxMTI2ODkxNDE1KSxkPWwoZCxtLHAsZix0W2krMTRdLDE1LC0xNDE2MzU0OTA1KSxmPWwoZixkLG0scCx0W2krNV0sMjEsLTU3NDM0MDU1KSxwPWwocCxmLGQsbSx0W2krMTJdLDYsMTcwMDQ4NTU3MSksbT1sKG0scCxmLGQsdFtpKzNdLDEwLC0xODk0OTg2NjA2KSxkPWwoZCxtLHAsZix0W2krMTBdLDE1LC0xMDUxNTIzKSxmPWwoZixkLG0scCx0W2krMV0sMjEsLTIwNTQ5MjI3OTkpLHA9bChwLGYsZCxtLHRbaSs4XSw2LDE4NzMzMTMzNTkpLG09bChtLHAsZixkLHRbaSsxNV0sMTAsLTMwNjExNzQ0KSxkPWwoZCxtLHAsZix0W2krNl0sMTUsLTE1NjAxOTgzODApLGY9bChmLGQsbSxwLHRbaSsxM10sMjEsMTMwOTE1MTY0OSkscD1sKHAsZixkLG0sdFtpKzRdLDYsLTE0NTUyMzA3MCksbT1sKG0scCxmLGQsdFtpKzExXSwxMCwtMTEyMDIxMDM3OSksZD1sKGQsbSxwLGYsdFtpKzJdLDE1LDcxODc4NzI1OSksZj1sKGYsZCxtLHAsdFtpKzldLDIxLC0zNDM0ODU1NTEpLHA9bihwLG8pLGY9bihmLGMpLGQ9bihkLGgpLG09bihtLHUpO3JldHVybltwLGYsZCxtXX1mdW5jdGlvbiBoKHQpe3ZhciBlLGk9IiIsbj0zMip0Lmxlbmd0aDtmb3IoZT0wO2U8bjtlKz04KWkrPVN0cmluZy5mcm9tQ2hhckNvZGUodFtlPj41XT4+PmUlMzImMjU1KTtyZXR1cm4gaX1mdW5jdGlvbiB1KHQpe3ZhciBlLGk9W107Zm9yKGlbKHQubGVuZ3RoPj4yKS0xXT12b2lkIDAsZT0wO2U8aS5sZW5ndGg7ZSs9MSlpW2VdPTA7dmFyIG49OCp0Lmxlbmd0aDtmb3IoZT0wO2U8bjtlKz04KWlbZT4+NV18PSgyNTUmdC5jaGFyQ29kZUF0KGUvOCkpPDxlJTMyO3JldHVybiBpfWZ1bmN0aW9uIHAodCl7dmFyIGUsaSxuPSIwMTIzNDU2Nzg5YWJjZGVmIixvPSIiO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKz0xKWU9dC5jaGFyQ29kZUF0KGkpLG8rPW4uY2hhckF0KGU+Pj40JjE1KStuLmNoYXJBdCgxNSZlKTtyZXR1cm4gb31mdW5jdGlvbiBmKHQpe3JldHVybiB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodCkpfWZ1bmN0aW9uIGQodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBoKGModSh0KSw4KnQubGVuZ3RoKSl9KGYodCkpfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgaSxuLG89dSh0KSxyPVtdLHM9W107Zm9yKHJbMTVdPXNbMTVdPXZvaWQgMCxvLmxlbmd0aD4xNiYmKG89YyhvLDgqdC5sZW5ndGgpKSxpPTA7aTwxNjtpKz0xKXJbaV09OTA5NTIyNDg2Xm9baV0sc1tpXT0xNTQ5NTU2ODI4Xm9baV07cmV0dXJuIG49YyhyLmNvbmNhdCh1KGUpKSw1MTIrOCplLmxlbmd0aCksaChjKHMuY29uY2F0KG4pLDY0MCkpfShmKHQpLGYoZSkpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIGU/aT9tKGUsdCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gcChtKHQsZSkpfShlLHQpOmk/ZCh0KTpmdW5jdGlvbih0KXtyZXR1cm4gcChkKHQpKX0odCl9fSx7fV19LHt9LFs0XSkoNCl9KSk7dmFyIEk9W3tmYW1pbHk6IlVDIEJyb3dzZXIiLHBhdHRlcm5zOlsiKFVDPyA/QnJvd3NlcnxVQ1dFQnxVMylbIC9dPyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSJdfSx7ZmFtaWx5OiJPcGVyYSIsbmFtZV9yZXBsYWNlOiJPcGVyYSBNb2JpbGUiLHBhdHRlcm5zOlsiKE9wZXJhKS8uK09wZXJhIE1vYmkuK1ZlcnNpb24vKFxcZCspXFwuKFxcZCspIiwiKE9wZXJhKS8oXFxkKylcXC4oXFxkKykuK09wZXJhIE1vYmkiLCJPcGVyYSBNb2JpLisoT3BlcmEpKD86L3xcXHMrKShcXGQrKVxcLihcXGQrKSIsIk9wZXJhIE1vYmkiLCIoPzpNb2JpbGUgU2FmYXJpKS4qKE9QUikvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIl19LHtmYW1pbHk6Ik9wZXJhIixuYW1lX3JlcGxhY2U6Ik9wZXJhIE1pbmkiLHBhdHRlcm5zOlsiKE9wZXJhIE1pbmkpKD86L2F0dHwpLz8oXFxkK3wpKD86XFwuKFxcZCspfCkoPzpcXC4oXFxkKyl8KSIsIihPUGlPUykvKFxcZCspLihcXGQrKS4oXFxkKykiXX0se2ZhbWlseToiT3BlcmEiLG5hbWVfcmVwbGFjZToiT3BlcmEgTmVvbiIscGF0dGVybnM6WyJDaHJvbWUvLisoIE1NUykvKFxcZCspLihcXGQrKS4oXFxkKykiXX0se25hbWVfcmVwbGFjZToiT3BlcmEiLHBhdHRlcm5zOlsiKE9wZXJhKS85LjgwLipWZXJzaW9uLyhcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKXwpIiwiKD86Q2hyb21lKS4qKE9QUikvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIl19LHtmYW1pbHk6IkZpcmVmb3giLG5hbWVfcmVwbGFjZToiRmlyZWZveCBNb2JpbGUiLHBhdHRlcm5zOlsiKEZlbm5lYykvKFxcZCspXFwuKFxcZCspXFwuPyhbYWJdP1xcZCtbYS16XSopIiwiKEZlbm5lYykvKFxcZCspXFwuKFxcZCspKHByZSkiLCIoRmVubmVjKS8oXFxkKylcXC4oXFxkKykiLCIoPzpNb2JpbGV8VGFibGV0KTsuKihGaXJlZm94KS8oXFxkKylcXC4oXFxkKykiLCIoRnhpT1MpLyhcXGQrKVxcLihcXGQrKShcXC4oXFxkKyl8KShcXC4oXFxkKyl8KSJdfSx7bmFtZV9yZXBsYWNlOiJDb2MgQ29jIixwYXR0ZXJuczpbIihjb2NfY29jX2Jyb3dzZXIpLyhcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKXwpIl19LHtmYW1pbHk6IlFRIixuYW1lX3JlcGxhY2U6IlFRIE1pbmkiLHBhdHRlcm5zOlsiKE1RUUJyb3dzZXIvTWluaSkoPzooXFxkKykoPzpcXC4oXFxkKyl8KSg/OlxcLihcXGQrKXwpfCkiXX0se2ZhbWlseToiUVEiLG5hbWVfcmVwbGFjZToiUVEgTW9iaWxlIixwYXR0ZXJuczpbIihNUVFCcm93c2VyKSg/Oi8oXFxkKykoPzpcXC4oXFxkKyl8KSg/OlxcLihcXGQrKXwpfCkiXX0se25hbWVfcmVwbGFjZToiUVEiLHBhdHRlcm5zOlsiKFFRQnJvd3NlcikoPzovKFxcZCspKD86XFwuKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspfCl8KXwpIl19LHtmYW1pbHk6IkVkZ2UiLG5hbWU6IkVkZ2UgTW9iaWxlIixwYXR0ZXJuczpbIldpbmRvd3MgUGhvbmUgLiooRWRnZSkvKFxcZCspXFwuKFxcZCspIiwiKEVkZ2lPU3xFZGdBKS8oXFxkKylcXC4oXFxkKykuKFxcZCspLihcXGQrKSJdfSx7bmFtZV9yZXBsYWNlOiJFZGdlIixwYXR0ZXJuczpbIihFZGdlfEVkZykvKFxcZCspKD86XFwuKFxcZCspfCkiXX0se3BhdHRlcm5zOlsiKFB1ZmZpbikvKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspfCkiXX0se2ZhbWlseToiQ2hyb21lIixuYW1lX3JlcGxhY2U6IkNocm9tZSBNb2JpbGUiLHBhdHRlcm5zOlsiVmVyc2lvbi8uKyhDaHJvbWUpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsIjsgd3ZcXCkuKyhDaHJvbWUpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsIihDcmlPUykvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwiKENyTW8pLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsIihDaHJvbWUpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSBNb2JpbGUoPzpbIC9dfCQpIiwiIE1vYmlsZSAuKihDaHJvbWUpLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSJdfSx7ZmFtaWx5OiJZYW5kZXgiLG5hbWVfcmVwbGFjZToiWWFuZGV4IE1vYmlsZSIscGF0dGVybnM6WyIoWWFCcm93c2VyKS8oXFxkKylcXC4oXFxkKylcXC4oXFxkKylcXC4oXFxkKykuKk1vYmlsZSJdfSx7bmFtZV9yZXBsYWNlOiJZYW5kZXgiLHBhdHRlcm5zOlsiKFlhQnJvd3NlcikvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIl19LHtwYXR0ZXJuczpbIihWaXZhbGRpKS8oXFxkKylcXC4oXFxkKykiLCIoVml2YWxkaSkvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIl19LHtuYW1lX3JlcGxhY2U6IkJyYXZlIixwYXR0ZXJuczpbIihicmF2ZSkvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIENocm9tZSJdfSx7ZmFtaWx5OiJDaHJvbWUiLHBhdHRlcm5zOlsiKENocm9taXVtfENocm9tZSkvKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspfCkoPzpcXC4oXFxkKyl8KSJdfSx7bmFtZV9yZXBsYWNlOiJJbnRlcm5ldCBFeHBsb3JlciBNb2JpbGUiLHBhdHRlcm5zOlsiKElFTW9iaWxlKVsgL10oXFxkKylcXC4oXFxkKykiXX0se2ZhbWlseToiU2FmYXJpIixuYW1lX3JlcGxhY2U6IlNhZmFyaSBNb2JpbGUiLHBhdHRlcm5zOlsiKGlQb2R8aVBob25lfGlQYWQpLitWZXJzaW9uLyhkKykuKGQrKSg/Oi4oZCspfCkuKlsgK11TYWZhcmkiLCIoaVBvZHxpUG9kIHRvdWNofGlQaG9uZXxpUGFkKTsuKkNQVS4qT1NbICtdKFxcZCspXyhcXGQrKSg/Ol8oXFxkKyl8KS4qIEFwcGxlTmV3c1xcL1xcZCtcXC5cXGQrXFwuXFxkKz8iLCIoaVBvZHxpUGhvbmV8aVBhZCkuK1ZlcnNpb24vKFxcZCspXFwuKFxcZCspKD86XFwuKFxcZCspfCkiLCIoaVBvZHxpUG9kIHRvdWNofGlQaG9uZXxpUGFkKTsuKkNQVS4qT1NbICtdKFxcZCspXyhcXGQrKSg/Ol8oXFxkKyl8KS4qTW9iaWxlLipbICtdU2FmYXJpIiwiKGlQb2R8aVBvZCB0b3VjaHxpUGhvbmV8aVBhZCk7LipDUFUuKk9TWyArXShcXGQrKV8oXFxkKykoPzpfKFxcZCspfCkuKk1vYmlsZSIsIihpUG9kfGlQb2QgdG91Y2h8aVBob25lfGlQYWQpLiogU2FmYXJpIiwiKGlQb2R8aVBvZCB0b3VjaHxpUGhvbmV8aVBhZCkiXX0se25hbWVfcmVwbGFjZToiU2FmYXJpIixwYXR0ZXJuczpbIihWZXJzaW9uKS8oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KS4qU2FmYXJpLyJdfSx7bmFtZV9yZXBsYWNlOiJJbnRlcm5ldCBFeHBsb3JlciIscGF0dGVybnM6WyIoVHJpZGVudCkvKDd8OCkuKDApIl0sbWFqb3JfcmVwbGFjZToiMTEifSx7bmFtZV9yZXBsYWNlOiJJbnRlcm5ldCBFeHBsb3JlciIscGF0dGVybnM6WyIoVHJpZGVudCkvKDYpXFwuKDApIl0sbWFqb3JfcmVwbGFjZToiMTAifSx7bmFtZV9yZXBsYWNlOiJJbnRlcm5ldCBFeHBsb3JlciIscGF0dGVybnM6WyIoVHJpZGVudCkvKDUpXFwuKDApIl0sbWFqb3JfcmVwbGFjZToiOSJ9LHtuYW1lX3JlcGxhY2U6IkludGVybmV0IEV4cGxvcmVyIixwYXR0ZXJuczpbIihUcmlkZW50KS8oNClcXC4oMCkiXSxtYWpvcl9yZXBsYWNlOiI4In0se2ZhbWlseToiRmlyZWZveCIscGF0dGVybnM6WyIoRmlyZWZveCkvKFxcZCspXFwuKFxcZCspXFwuKFxcZCspIiwiKEZpcmVmb3gpLyhcXGQrKVxcLihcXGQrKShwcmV8W2FiXVxcZCtbYS16XSp8KSJdfV0saj1be2ZhbWlseToiV2luZG93cyIsbmFtZV9yZXBsYWNlOiJXaW5kb3dzIFBob25lIixwYXR0ZXJuczpbIihXaW5kb3dzIFBob25lKSAoPzpPU1sgL10pPyhcXGQrKVxcLihcXGQrKSIsIl5VQ1dFQi4qOyAod2RzKSAoXFxkKylcXC4oZCspKD86XFwuKFxcZCspfCk7IiwiXlVDV0VCLio7ICh3ZHMpIChcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKXwpOyJdfSx7ZmFtaWx5OiJXaW5kb3dzIixuYW1lX3JlcGxhY2U6IldpbmRvd3MgTW9iaWxlIixwYXR0ZXJuczpbIihXaW5kb3dzID9Nb2JpbGUpIl19LHtuYW1lX3JlcGxhY2U6IkFuZHJvaWQiLHBhdHRlcm5zOlsiKEFuZHJvaWQpWyBcXC0vXShcXGQrKSg/OlxcLihcXGQrKXwpKD86Wy5cXC1dKFthLXowLTldKyl8KSIsIihBbmRyb2lkKSAoZCspOyIsIl5VQ1dFQi4qOyAoQWRyKSAoXFxkKylcXC4oXFxkKykoPzpbLlxcLV0oW2EtejAtOV0rKXwpOyIsIl4oSlVDKS4qOyA/VTsgPyg/OkFuZHJvaWR8KShcXGQrKVxcLihcXGQrKSg/OltcXC5cXC1dKFthLXowLTldKyl8KSIsIihhbmRyb2lkKVxccyg/Om1vYmlsZVxcLykoXFxkKykoPzpcXC4oXFxkKykoPzpcXC4oXFxkKyl8KXwpIiwiKFNpbGstQWNjZWxlcmF0ZWQ9W2Etel17NCw1fSkiLCJQdWZmaW4vW1xcZFxcLl0rQVQiLCJQdWZmaW4vW1xcZFxcLl0rQVAiXX0se25hbWVfcmVwbGFjZToiQ2hyb21lIE9TIixwYXR0ZXJuczpbIih4ODZfNjR8YWFyY2g2NClcXCAoXFxkKylcXC4oXFxkKylcXC4oXFxkKykuKkNocm9tZS4qKD86Q2l0cml4Q2hyb21lQXBwKSQiLCIoQ3JPUykgW2EtejAtOV9dKyAoXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KSJdfSx7bmFtZV9yZXBsYWNlOiJXaW5kb3dzIixwYXR0ZXJuczpbIihXaW5kb3dzIDEwKSIsIihXaW5kb3dzIE5UIDZcXC40KSIsIihXaW5kb3dzIE5UIDEwXFwuMCkiXSxtYWpvcl9yZXBsYWNlOiIxMCJ9LHtuYW1lX3JlcGxhY2U6IldpbmRvd3MiLHBhdHRlcm5zOlsiKFdpbmRvd3MgTlQgNlxcLjM7IEFSTTspIiwiKFdpbmRvd3MgTlQgNi4zKSJdLG1ham9yX3JlcGxhY2U6IjgiLG1pbm9yX3JlcGxhY2U6IjEifSx7bmFtZV9yZXBsYWNlOiJXaW5kb3dzIixwYXR0ZXJuczpbIihXaW5kb3dzIE5UIDZcXC4yKSJdLG1ham9yX3JlcGxhY2U6IjgifSx7bmFtZV9yZXBsYWNlOiJXaW5kb3dzIixwYXR0ZXJuczpbIihXaW5kb3dzIE5UIDZcXC4xKSJdLG1ham9yX3JlcGxhY2U6IjcifSx7bmFtZV9yZXBsYWNlOiJXaW5kb3dzIixwYXR0ZXJuczpbIihXaW5kb3dzIE5UIDZcXC4wKSJdLG1ham9yX3JlcGxhY2U6IlZpc3RhIn0se25hbWVfcmVwbGFjZToiV2luZG93cyIscGF0dGVybnM6WyIoV2luZG93cyAoPzpOVCA1XFwuMnxOVCA1XFwuMSkpIl0sbWFqb3JfcmVwbGFjZToiWFAifSx7bmFtZV9yZXBsYWNlOiJNYWMgT1MgWCIscGF0dGVybnM6WyIoKD86TWFjWyArXT98OyApT1NbICtdWClbXFxzKy9dKD86KFxcZCspW18uXShcXGQrKSg/OltfLl0oXFxkKyl8KXxNYWNoLU8pIiwiXFx3K1xccytNYWMgT1MgWFxccytcXHcrXFxzKyhcXGQrKS4oXFxkKykuKFxcZCspLioiLCIoPzpQUEN8SW50ZWwpIChNYWMgT1MgWCkiXX0se25hbWVfcmVwbGFjZToiTWFjIE9TIFgiLHBhdHRlcm5zOlsiIChEYXIpKHdpbikvKDEwKS4oZCspLiooKD86aTM4Nnx4ODZfNjQpKSJdLG1ham9yX3JlcGxhY2U6IjEwIixtaW5vcl9yZXBsYWNlOiI2In0se25hbWVfcmVwbGFjZToiTWFjIE9TIFgiLHBhdHRlcm5zOlsiIChEYXIpKHdpbikvKDExKS4oXFxkKykuKlxcKCg/OmkzODZ8eDg2XzY0KVxcKSJdLG1ham9yX3JlcGxhY2U6IjEwIixtaW5vcl9yZXBsYWNlOiI3In0se25hbWVfcmVwbGFjZToiTWFjIE9TIFgiLHBhdHRlcm5zOlsiIChEYXIpKHdpbikvKDEyKS4oXFxkKykuKlxcKCg/OmkzODZ8eDg2XzY0KVxcKSJdLG1ham9yX3JlcGxhY2U6IjEwIixtaW5vcl9yZXBsYWNlOiI4In0se25hbWVfcmVwbGFjZToiTWFjIE9TIFgiLHBhdHRlcm5zOlsiIChEYXIpKHdpbikvKDEzKS4oXFxkKykuKlxcKCg/OmkzODZ8eDg2XzY0KVxcKSJdLG1ham9yX3JlcGxhY2U6IjEwIixtaW5vcl9yZXBsYWNlOiI5In0se25hbWVfcmVwbGFjZToiaU9TIixwYXR0ZXJuczpbIl5VQ1dFQi4qOyAoaVBhZHxpUGh8aVBkKSBPUyAoXFxkKylfKFxcZCspKD86XyhcXGQrKXwpOyIsIihDUFVbICtdT1N8aVBob25lWyArXU9TfENQVVsgK11pUGhvbmV8Q1BVIElQaG9uZSBPUylbICtdKyhcXGQrKVtfXFwuXShcXGQrKSg/OltfXFwuXShcXGQrKXwpIiwiKGlQaG9uZXxpUGFkfGlQb2QpOyBPcGVyYSIsIihpUGhvbmV8aVBhZHxpUG9kKS4qTWFjIE9TIFguKlZlcnNpb24vKFxcZCspXFwuKFxcZCspIiwiXFxiKGlPU1sgL118aU9TOyB8aVBob25lKD86L3wgdnxbIF9dT1NbLyxdfDsgfCBPUyA6IHxcXGQsXFxkL3xcXGQsXFxkOyApfGlQYWQvKShcXGR7MSwyfSlbX1xcLl0oXFxkezEsMn0pKD86W19cXC5dKFxcZCspfCkiLCJcXCgoaU9TKTsiLCIoaVBvZHxpUGhvbmV8aVBhZCkiLCJQdWZmaW4vW1xcZFxcLl0rSVQiLCJQdWZmaW4vW1xcZFxcLl0rSVAiXX0se2ZhbWlseToiQ2hyb21lIixuYW1lX3JlcGxhY2U6IkNocm9tZWNhc3QiLHBhdHRlcm5zOlsiKENyS2V5IC0pKD86WyAvXShcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKXwpfCkiLCIoQ3JLZXlbICtdYXJtdjdsKSg/OlsgL10oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KXwpIiwiKENyS2V5KSg/OlsvXShcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKXwpfCkiXX0se25hbWVfcmVwbGFjZToiRGViaWFuIixwYXR0ZXJuczpbIihbRGRdZWJpYW4pIl19LHtmYW1pbHk6IkxpbnV4IixuYW1lX3JlcGxhY2U6IkxpbnV4IixwYXR0ZXJuczpbIihMaW51eCBNaW50KSg/Oi8oXFxkKyl8KSJdfSx7ZmFtaWx5OiJMaW51eCIscGF0dGVybnM6WyIoVWJ1bnR1fEt1YnVudHV8QXJjaCBMaW51eHxDZW50T1N8U2xhY2t3YXJlfEdlbnRvb3xvcGVuU1VTRXxTVVNFfFJlZCBIYXR8RmVkb3JhfFBDTGludXhPU3xNYWdlaWF8KD86RnJlZXxPcGVufE5ldHxcXGIpQlNEKSIsIihNYW5kcml2YSkoPzogTGludXh8KS8oPzpbXFxkLi1dK21bYS16XXsyfShcXGQrKS4oXFxkKXwpIiwiKExpbnV4KSg/OlsgL10oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KXwpIiwiXFwobGludXgtZ251XFwpIl19LHtmYW1pbHk6IkJsYWNrQmVycnkiLG5hbWVfcmVwbGFjZToiQmxhY2tCZXJyeSBPUyIscGF0dGVybnM6WyIoQkIxMCk7LitWZXJzaW9uLyhcXGQrKVxcLihcXGQrKVxcLihcXGQrKSIsIihCbGFja1tCYl1lcnJ5KVswLTlhLXpdKy8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KSIsIihCbGFja1tCYl1lcnJ5KS4rVmVyc2lvbi8oXFxkKylcXC4oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KSIsIihCbGFja1tCYl1lcnJ5KSJdfSx7cGF0dGVybnM6WyIoRmVkb3JhfFJlZCBIYXR8UENMaW51eE9TfFB1cHB5fFVidW50dXxLaW5kbGV8QmFkYXxTYWlsZmlzaHxMdWJ1bnR1fEJhY2tUcmFja3xTbGFja3dhcmV8KD86RnJlZXxPcGVufE5ldHxcXGIpQlNEKVsvIF0oXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKyl8KSg/OlxcLihcXGQrKXwpIl19XSx6PW5hdmlnYXRvci51c2VyQWdlbnQsSz1mdW5jdGlvbigpe3JldHVybiB6fSxZPWZ1bmN0aW9uKHQpe3JldHVybiBRKHR8fHosSSl9LEo9ZnVuY3Rpb24odCl7cmV0dXJuIFEodHx8eixqKX07ZnVuY3Rpb24gRyh0LGUpe3RyeXt2YXIgaT1uZXcgUmVnRXhwKGUpLmV4ZWModCk7cmV0dXJuIGk/e25hbWU6aVsxXXx8Ik90aGVyIixtYWpvcjppWzJdfHwiMCIsbWlub3I6aVszXXx8IjAiLHBhdGNoOmlbNF18fCIwIn06bnVsbH1jYXRjaChtcyl7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIFEodCxlKXtmb3IodmFyIGk9bnVsbCxuPW51bGwsbz0tMSxyPSExOysrbzxlLmxlbmd0aCYmIXI7KXtpPWVbb107Zm9yKHZhciBzPS0xOysrczxpLnBhdHRlcm5zLmxlbmd0aCYmIXI7KXI9bnVsbCE9PShuPUcodCxpLnBhdHRlcm5zW3NdKSl9cmV0dXJuIHI/KG4uZmFtaWx5PWkuZmFtaWx5fHxpLm5hbWVfcmVwbGFjZXx8bi5uYW1lLGkubmFtZV9yZXBsYWNlJiYobi5uYW1lPWkubmFtZV9yZXBsYWNlKSxpLm1ham9yX3JlcGxhY2UmJihuLm1ham9yPWkubWFqb3JfcmVwbGFjZSksaS5taW5vcl9yZXBsYWNlJiYobi5taW5vcj1pLm1pbm9yX3JlcGxhY2UpLGkucGF0Y2hfcmVwbGFjZSYmKG4ubWlub3I9aS5wYXRjaF9yZXBsYWNlKSxuKTp7ZmFtaWx5OiJPdGhlciIsbmFtZToiT3RoZXIiLG1ham9yOiIwIixtaW5vcjoiMCIscGF0Y2g6IjAifX1mdW5jdGlvbiAkKCl7dmFyIHQ9dGhpcyxlPVkoKSxpPUsoKTt0aGlzLmFnZW50PWkudG9Mb3dlckNhc2UoKSx0aGlzLmxhbmd1YWdlPXdpbmRvdy5uYXZpZ2F0b3IudXNlckxhbmd1YWdlfHx3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlLHRoaXMuaXNDU1MxPSJDU1MxQ29tcGF0Ij09PShkb2N1bWVudC5jb21wYXRNb2RlfHwiIiksdGhpcy53aWR0aD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aCYmd2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aD9NYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpOndpbmRvdy5pbm5lcldpZHRofHx3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRofSx0aGlzLmhlaWdodD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5uZXJIZWlnaHR8fHdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fHxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodH0sdGhpcy5zY3JvbGxYPWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wYWdlWE9mZnNldCE9PXVuZGVmaW5lZD93aW5kb3cucGFnZVhPZmZzZXQ6dC5pc0NTUzE/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQ6ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0fSx0aGlzLnNjcm9sbFk9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnBhZ2VZT2Zmc2V0IT09dW5kZWZpbmVkP3dpbmRvdy5wYWdlWU9mZnNldDp0LmlzQ1NTMT9kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wfSx0aGlzLnR5cGU9IkVkZ2UiPT09ZS5mYW1pbHk/ImVkZ2UiOiJJbnRlcm5ldCBFeHBsb3JlciI9PT1lLmZhbWlseT8iaWUiOiJDaHJvbWUiPT09ZS5mYW1pbHk/ImNocm9tZSI6IlNhZmFyaSI9PT1lLmZhbWlseT8ic2FmYXJpIjoiRmlyZWZveCI9PT1lLmZhbWlseT8iZmlyZWZveCI6ZS5mYW1pbHkudG9Mb3dlckNhc2UoKSx0aGlzLnZlcnNpb249MSooZS5tYWpvcisiLiIrZS5taW5vcil8fDAsdGhpcy5oYXNQb3N0TWVzc2FnZT0hIXdpbmRvdy5wb3N0TWVzc2FnZX0kLnByb3RvdHlwZS5oYXNFdmVudD1mdW5jdGlvbih0LGUpe3JldHVybiJvbiIrdCBpbihlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSl9LCQucHJvdG90eXBlLmdldFNjcmVlbkRpbWVuc2lvbnM9ZnVuY3Rpb24oKXt2YXIgdD17fTtmb3IodmFyIGUgaW4gd2luZG93LnNjcmVlbil0W2VdPXdpbmRvdy5zY3JlZW5bZV07cmV0dXJuIGRlbGV0ZSB0Lm9yaWVudGF0aW9uLHR9LCQucHJvdG90eXBlLmdldE9yaWVudGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG1hdGNoTWVkaWE/bWF0Y2hNZWRpYSgiKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIikubWF0Y2hlcz8ibGFuZHNjYXBlIjoicG9ydHJhaXQiOndpbmRvdy5zY3JlZW4ub3JpZW50YXRpb24/c2NyZWVuLm9yaWVudGF0aW9uLnR5cGUuc3RhcnRzV2l0aCgibGFuZHNjYXBlIik/ImxhbmRzY2FwZSI6InBvcnRyYWl0Ijp0aGlzLndpZHRoKCk+dGhpcy5oZWlnaHQoKT8ibGFuZHNjYXBlIjoicG9ydHJhaXQifSwkLnByb3RvdHlwZS5nZXRXaW5kb3dEaW1lbnNpb25zPWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMud2lkdGgoKSx0aGlzLmhlaWdodCgpXX0sJC5wcm90b3R5cGUuaW50ZXJyb2dhdGVOYXZpZ2F0b3I9ZnVuY3Rpb24oKXt2YXIgdD17fTtmb3IodmFyIGUgaW4gd2luZG93Lm5hdmlnYXRvcilpZigid2Via2l0UGVyc2lzdGVudFN0b3JhZ2UiIT09ZSl0cnl7dFtlXT13aW5kb3cubmF2aWdhdG9yW2VdfWNhdGNoKGRzKXt9aWYoZGVsZXRlIHQucGx1Z2lucyxkZWxldGUgdC5taW1lVHlwZXMsdC5wbHVnaW5zPVtdLHdpbmRvdy5uYXZpZ2F0b3IucGx1Z2lucylmb3IodmFyIGk9MDtpPHdpbmRvdy5uYXZpZ2F0b3IucGx1Z2lucy5sZW5ndGg7aSsrKXQucGx1Z2luc1tpXT13aW5kb3cubmF2aWdhdG9yLnBsdWdpbnNbaV0uZmlsZW5hbWU7cmV0dXJuIHR9LCQucHJvdG90eXBlLnN1cHBvcnRzUFNUPWZ1bmN0aW9uKCl7cmV0dXJuIShkb2N1bWVudC5oYXNQcml2YXRlVG9rZW49PT11bmRlZmluZWR8fCFkb2N1bWVudC5mZWF0dXJlUG9saWN5fHwhZG9jdW1lbnQuZmVhdHVyZVBvbGljeS5hbGxvd3NGZWF0dXJlKSYmZG9jdW1lbnQuZmVhdHVyZVBvbGljeS5hbGxvd3NGZWF0dXJlKCJwcml2YXRlLXN0YXRlLXRva2VuLXJlZGVtcHRpb24iKX0sJC5wcm90b3R5cGUuc3VwcG9ydHNDYW52YXM9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyZXR1cm4hKCF0LmdldENvbnRleHR8fCF0LmdldENvbnRleHQoIjJkIikpfSwkLnByb3RvdHlwZS5zdXBwb3J0c1dlYkFzc2VtYmx5PWZ1bmN0aW9uKCl7dHJ5e2lmKCJvYmplY3QiPT10eXBlb2YgV2ViQXNzZW1ibHkmJiJmdW5jdGlvbiI9PXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZSl7dmFyIHQ9bmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShVaW50OEFycmF5Lm9mKDAsOTcsMTE1LDEwOSwxLDAsMCwwKSk7aWYodCBpbnN0YW5jZW9mIFdlYkFzc2VtYmx5Lk1vZHVsZSlyZXR1cm4gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKHQpaW5zdGFuY2VvZiBXZWJBc3NlbWJseS5JbnN0YW5jZX19Y2F0Y2gobXMpe3JldHVybiExfX07dmFyIFg9bmV3ICQscT1uZXcgZnVuY3Rpb24oKXt2YXIgdCxlLGk9SigpLG49SygpO3RoaXMubW9iaWxlPSh0PSEhKCJvbnRvdWNoc3RhcnQiaW4gd2luZG93fHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MHx8bmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHM+MCksZT0hMSxpJiYoZT1bImlPUyIsIldpbmRvd3MgUGhvbmUiLCJXaW5kb3dzIE1vYmlsZSIsIkFuZHJvaWQiLCJCbGFja0JlcnJ5IE9TIl0uaW5kZXhPZihpLm5hbWUpPj0wKSx0JiZlKSx0aGlzLmRwcj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MX0sdGhpcy5tb2JpbGUmJmkmJiJXaW5kb3dzIj09PWkuZmFtaWx5JiZuLmluZGV4T2YoInRvdWNoIik8MCYmKHRoaXMubW9iaWxlPSExKSx0aGlzLm9zPSJpT1MiPT09aS5mYW1pbHk/ImlvcyI6IkFuZHJvaWQiPT09aS5mYW1pbHk/ImFuZHJvaWQiOiJNYWMgT1MgWCI9PT1pLmZhbWlseT8ibWFjIjoiV2luZG93cyI9PT1pLmZhbWlseT8id2luZG93cyI6IkxpbnV4Ij09PWkuZmFtaWx5PyJsaW51eCI6aS5mYW1pbHkudG9Mb3dlckNhc2UoKSx0aGlzLnZlcnNpb249ZnVuY3Rpb24oKXtpZighaSlyZXR1cm4idW5rbm93biI7dmFyIHQ9aS5tYWpvcjtyZXR1cm4gaS5taW5vciYmKHQrPSIuIitpLm1pbm9yKSxpLnBhdGNoJiYodCs9Ii4iK2kucGF0Y2gpLHR9KCl9LHR0PXtCcm93c2VyOlgsU3lzdGVtOnEsc3VwcG9ydHNQQVQ6ZnVuY3Rpb24oKXtyZXR1cm4oIm1hYyI9PT1xLm9zfHwiaW9zIj09PXEub3MpJiYic2FmYXJpIj09PVgudHlwZSYmWC52ZXJzaW9uPj0xNi4yfX0sZXQ9e0NIQUxMRU5HRV9QQVNTRUQ6ImNoYWxsZW5nZS1wYXNzZWQiLENIQUxMRU5HRV9FU0NBUEVEOiJjaGFsbGVuZ2UtZXNjYXBlZCIsQ0hBTExFTkdFX0NMT1NFRDoiY2hhbGxlbmdlLWNsb3NlZCIsQ0hBTExFTkdFX0VYUElSRUQ6ImNoYWxsZW5nZS1leHBpcmVkIixDSEFMTEVOR0VfQUxSRUFEWV9DTE9TRUQ6ImNoYWxsZW5nZS1hbHJlYWR5LWNsb3NlZCIsQVVUSEVOVElDQVRJT05fRE9ORToiYXV0aGVudGljYXRpb24tZG9uZSIsQVVUSEVOVElDQVRJT05fUEFTU0VEOiJhdXRoZW50aWNhdGlvbi1wYXNzZWQifSxpdD17SU5WQUxJRF9EQVRBOiJpbnZhbGlkLWRhdGEiLEJVTkRMRV9FUlJPUjoiYnVuZGxlLWVycm9yIixSQVRFX0xJTUlURUQ6InJhdGUtbGltaXRlZCIsTkVUV09SS19FUlJPUjoibmV0d29yay1lcnJvciIsQ0hBTExFTkdFX0VSUk9SOiJjaGFsbGVuZ2UtZXJyb3IiLENIQUxMRU5HRV9GQUlMRUQ6ImNoYWxsZW5nZS1mYWlsZWQiLElOQ09NUExFVEVfQU5TV0VSOiJpbmNvbXBsZXRlLWFuc3dlciIsTUlTU0lOR19DQVBUQ0hBOiJtaXNzaW5nLWNhcHRjaGEiLE1JU1NJTkdfU0lURUtFWToibWlzc2luZy1zaXRla2V5IixJTlZBTElEX0NBUFRDSEFfSUQ6ImludmFsaWQtY2FwdGNoYS1pZCIsQVVUSEVOVElDQVRJT05fRVJST1I6ImF1dGhlbnRpY2F0aW9uLWVycm9yIn0sbnQ9Imh0dHBzOi8vaGNhcHRjaGEuY29tIixvdD0iaHR0cHM6Ly9hcGkuaGNhcHRjaGEuY29tIixydD0iaHR0cHM6Ly9hcGkyLmhjYXB0Y2hhLmNvbSIsc3Q9Imh0dHBzOi8vY2xvdWRmbGFyZS5oY2FwdGNoYS5jb20iLGF0PVtudCxvdCxydCxzdF0sbHQ9e19fcHJvdG9fXzpudWxsLENhcHRjaGFFdmVudDpldCxDYXB0Y2hhRXJyb3I6aXQsUk9PVF9FTkRQT0lOVDpudCxBUElfRU5EUE9JTlQ6b3QsQVBJMl9FTkRQT0lOVDpydCxDRl9FTkRQT0lOVDpzdCxFWEVDVVRFX01PREU6e0FVVE86ImF1dG8ifSxNQUlOX0VORFBPSU5UUzphdH0sY3Q9e2hvc3Q6bnVsbCxmaWxlOm51bGwsc2l0ZWtleTpudWxsLGExMXlfdGZlOm51bGwscGluZ2RvbToic2FmYXJpIj09PXR0LkJyb3dzZXIudHlwZSYmIndpbmRvd3MiIT09dHQuU3lzdGVtLm9zJiYibWFjIiE9PXR0LlN5c3RlbS5vcyYmImlvcyIhPT10dC5TeXN0ZW0ub3MmJiJhbmRyb2lkIiE9PXR0LlN5c3RlbS5vcyxhc3NldERvbWFpbjoiaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tIixhc3NldFVybDoiaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tL2NhcHRjaGEvdjEvNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZS9zdGF0aWMiLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsbW9iaWxlOm51bGwsb3JpZW50YXRpb246InBvcnRyYWl0IixjaGFsbGVuZ2VfdHlwZTpudWxsLG1mYURhdGE6e319LGh0PXt0aGVtZTp7Y29udHJhc3Q6e2hjb2xvcjoiI0ZGRiIsaGZjb2xvcjoiIzAwMCJ9LGxpZ2h0OntoY29sb3I6IiMwMDgzOEYiLGhmY29sb3I6IiNGRkYifX0sdGV4dDoiIzU1NTU1NSIsYWNjZW50OiIjOTI2RkMxIix3YXJuOntiYXNlOiIjQkYxNzIyIixob3ZlcjoiIzlEMUIxQiJ9LGxpbms6e2Jhc2U6IiMwMDgzOGYiLGhvdmVyOiIjMDA4MzhmIn0sd2hpdGU6IiNmZmYiLGdyZXk6e2Jhc2U6IiMzMzMiLHBsYWNlaG9sZGVyOiIjZjBlZmYwIixzZWxlY3RlZDoiIzVDNkY4QSIsaG92ZXI6IiNEMUQ3RTAifSxwdXJwbGU6IiM2NTU0OWIiLGhvdmVyT2ZmOiIjMDA4MzhmIixza2lwSG92ZXJPZmY6IiM3MzczNzMiLGhvdmVyT246IiMwMDgzOGYiLGVycm9yOiIjZmM0ODFlIixvdXRsaW5lOiIjMjYyRDM4IixvdXRsaW5lTGlnaHQ6IiMzRDRBNUMifSx1dD17c2U6bnVsbCxjdXN0b206ITEsdHBsaW5rczoib24iLGxhbmd1YWdlOm51bGwscmVwb3J0YXBpOiJodHRwczovL2FjY291bnRzLmhjYXB0Y2hhLmNvbSIsZW5kcG9pbnQ6b3QscHN0SXNzdWVyOiJodHRwczovL3BzdC1pc3N1ZXIuaGNhcHRjaGEuY29tIixpc1NlY3VyZTohMSxzaXplOiJub3JtYWwiLHRoZW1lOiJsaWdodCIsbW9kZTp1bmRlZmluZWQsYXNzZXRob3N0Om51bGwsaW1naG9zdDpudWxsLHJlY2FwdGNoYWNvbXBhdDoidHJ1ZSIscGF0OiJvbiIsYW5kaW50OiJvZmYiLGNvbmZpcm1OYXY6ITF9LHB0PSJodHRwczovLzMwOTEwZjUyNTY5YjRjMTdiMTA4MWVhZDJkYWU0M2I0QHNlbnRyeS5oY2FwdGNoYS5jb20vNiIsZnQ9IjQ5NDhiNGQ2ODQ3OTIxZDdiZjBiODYzODhjMTQxMzExZDdmMDNlMmUiLGR0PSJwcm9kIjtmdW5jdGlvbiBtdCh0LGUpe3RyeXt0LnN0eWxlLndpZHRoPSIzMDJweCIsdC5zdHlsZS5oZWlnaHQ9Ijc2cHgiLHQuc3R5bGUuYmFja2dyb3VuZENvbG9yPSIjZjllNWU1Iix0LnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIsdC5pbm5lckhUTUw9IiI7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5zdHlsZS53aWR0aD0iMjg0cHgiLGkuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixpLnN0eWxlLnRvcD0iMTJweCIsaS5zdHlsZS5sZWZ0PSIxMHB4IixpLnN0eWxlLmNvbG9yPSIjN2MwYTA2IixpLnN0eWxlLmZvbnRTaXplPSIxNHB4IixpLnN0eWxlLmZvbnRXZWlnaHQ9Im5vcm1hbCIsaS5zdHlsZS5saW5lSGVpZ2h0PSIxOHB4IixpLmlubmVySFRNTD1lfHwiUGxlYXNlIDxhIHN0eWxlPSdjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IGZvbnQ6IGluaGVyaXQnIHRhcmdldD0nX2JsYW5rJyBocmVmPSdodHRwczovL3d3dy53aGF0aXNteWJyb3dzZXIuY29tL2d1aWRlcy9ob3ctdG8tdXBkYXRlLXlvdXItYnJvd3Nlci9hdXRvJz51cGdyYWRlIHlvdXIgYnJvd3NlcjwvYT4gdG8gY29tcGxldGUgdGhpcyBjYXB0Y2hhLiIsdC5hcHBlbmRDaGlsZChpKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKCJbaENhcHRjaGFdIEVycm9yIHdoaWxlIHJlbmRlcmluZyBpbiB0aGUgcHJvdmlkZWQgY29udGFpbmVyLiIse2NvbnRhaW5lcjp0fSxuKX19ZnVuY3Rpb24geXQodCl7Zm9yKHZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImgtY2FwdGNoYSIpLGk9W10sbj0wO248ZS5sZW5ndGg7bisrKWkucHVzaChlW25dKTt2YXIgbz1bXTtpZigib2ZmIiE9PXV0LnJlY2FwdGNoYWNvbXBhdClmb3IodmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZy1yZWNhcHRjaGEiKSxzPTA7czxyLmxlbmd0aDtzKyspby5wdXNoKHJbc10pO2Zvcih2YXIgYT1bXS5jb25jYXQoaSxvKSxsPTA7bDxhLmxlbmd0aDtsKyspdChhW2xdKX12YXIgZ3Q9IlRoZSBjYXB0Y2hhIGZhaWxlZCB0byBsb2FkLiIsYnQ9W10sdnQ9LyhodHRwcz98d2FzbSk6XC9cLy8sd3Q9L15hdFxzLyxrdD0vOlxkKzpcZCsvZyx4dD1bIlJhdGUgbGltaXRlZCBvciBuZXR3b3JrIGVycm9yLiBQbGVhc2UgcmV0cnkuIiwiVW5yZWFjaGFibGUgY29kZSBzaG91bGQgbm90IGJlIGV4ZWN1dGVkIiwiT3V0IG9mIGJvdW5kcyBtZW1vcnkgYWNjZXNzIl07ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHZ0LnRlc3QodCk/bnVsbDp0LnRyaW0oKS5yZXBsYWNlKHd0LCIiKS5yZXBsYWNlKGt0LCIiKX1mdW5jdGlvbiBFdCh0KXtmb3IodmFyIGU9W10saT0wLG49dC5sZW5ndGg7aTxuO2krKyl7dmFyIG89X3QodFtpXSk7bnVsbCE9PW8mJmUucHVzaChvKX1yZXR1cm4gZS5qb2luKCJcbiIpLnRyaW0oKX1mdW5jdGlvbiBWdCh0KXtpZih0JiYic3RyaW5nIj09dHlwZW9mIHQmJi0xPT09YnQuaW5kZXhPZih0KSYmIShidC5sZW5ndGg+PTEwKSl7dmFyIGU9RXQodC50cmltKCkuc3BsaXQoIlxuIikuc2xpY2UoMCwyKSk7YnQucHVzaChlKX19ZnVuY3Rpb24gQ3QodCl7dHJ5e3QmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e25hbWU6ImVycm9yIixtZXNzYWdlOiIiLHN0YWNrOiIifSk7dmFyIGU9e21lc3NhZ2U6dC5uYW1lKyI6ICIrdC5tZXNzYWdlfTt0LnN0YWNrJiYoZS5zdGFja190cmFjZT17dHJhY2U6dC5zdGFja30pLE10KCJyZXBvcnQgZXJyb3IiLCJpbnRlcm5hbCIsImRlYnVnIixlKSxCdCh0Lm1lc3NhZ2V8fCJpbnRlcm5hbCBlcnJvciIsImVycm9yIixjdC5maWxlLHQpfWNhdGNoKGkpe319ZnVuY3Rpb24gVHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChkcyl7dGhyb3cgQ3QoZHMpLHl0KChmdW5jdGlvbih0KXttdCh0LGd0KX0pKSxkc319fWZ1bmN0aW9uIFN0KHQpe3JldHVybi0xIT09dC5pbmRleE9mKCJoc3cuanMiKXx8LTEhPT10LmluZGV4T2YoIi8xL2FwaS5qcyIpfHwtMSE9PXQuaW5kZXhPZigibmV3YXNzZXRzLmhjYXB0Y2hhLmNvbSIpfHwtMSE9PXQuaW5kZXhPZigiaGNhcHRjaGEuaHRtbCIpfWZ1bmN0aW9uIFJ0KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKC0xIT09dC5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOi8vIil8fC0xIT09dC5pbmRleE9mKCJzYWZhcmktZXh0ZW5zaW9uOi8vIil8fC0xIT09dC5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOi8vIil8fC0xIT09dC5pbmRleE9mKCJjaHJvbWU6Ly9pbnRlcm5hbC0iKXx8LTEhPT10LmluZGV4T2YoIi9oYW1tZXJoZWFkLmpzIil8fC0xIT09dC5pbmRleE9mKCJldmFsIGF0IGJ1aWxkQ29kZSIpfHwtMSE9PXQuaW5kZXhPZigidS5jLmIuci5vLncucy5lLnIvdWNicm93c2VyX3NjcmlwdC5qcyIpKX1mdW5jdGlvbiBBdCh0LGUpe2lmKHZvaWQgMD09PWUmJihlPSEwKSx1dC5zZW50cnkpdHJ5e2lmKHdpbmRvdy5SYXZlbiYmUmF2ZW4uY29uZmlnKHB0LHtyZWxlYXNlOmZ0LGVudmlyb25tZW50OmR0LGF1dG9CcmVhZGNydW1iczp7eGhyOiEwLGRvbTohMCxzZW50cnk6ITB9LHRhZ3M6eyJzaXRlLWhvc3QiOmN0Lmhvc3QsInNpdGUta2V5IjpjdC5zaXRla2V5LCJlbmRwb2ludC11cmwiOnV0LmVuZHBvaW50LCJhc3NldC11cmwiOmN0LmFzc2V0VXJsfSxzYW1wbGVSYXRlOi4wMSxpZ25vcmVFcnJvcnM6WyJDYW5ub3Qgc2V0IHByb3BlcnRpZXMgb2YgdW5kZWZpbmVkIChzZXR0aW5nICdkYXRhJykiLCJjYW52YXMuY29udGVudERvY3VtZW50IiwiQ2FuJ3QgZmluZCB2YXJpYWJsZTogWml0ZVJlYWRlciIsIkNhbm5vdCByZWRlZmluZSBwcm9wZXJ0eTogaGNhcHRjaGEiLCJDYW5ub3QgcmVkZWZpbmUgcHJvcGVydHk6IEJldHRlckpzUG9wIiwiZ3JlY2FwdGNoYSBpcyBub3QgZGVmaW5lZCIsImpRdWVyeSBpcyBub3QgZGVmaW5lZCIsIiQgaXMgbm90IGRlZmluZWQiLCJTY3JpcHQgaXMgbm90IGEgZnVuY3Rpb24iXX0pLHdpbmRvdy5SYXZlbiYmUmF2ZW4uc2V0VXNlckNvbnRleHQoeyJCcm93c2VyLUFnZW50Ijp0dC5Ccm93c2VyLmFnZW50LCJCcm93c2VyLVR5cGUiOnR0LkJyb3dzZXIudHlwZSwiQnJvd3Nlci1WZXJzaW9uIjp0dC5Ccm93c2VyLnZlcnNpb24sIlN5c3RlbS1PUyI6dHQuU3lzdGVtLm9zLCJTeXN0ZW0tVmVyc2lvbiI6dHQuU3lzdGVtLnZlcnNpb24sIklzLU1vYmlsZSI6dHQuU3lzdGVtLm1vYmlsZX0pLE10KGN0LmZpbGUrIl9pbnRlcm5hbCIsInNldHVwIiwiaW5mbyIpLHQpe3ZhciBpPWZ1bmN0aW9uKHQsaSxuLG8scixzKXtyJiYib2JqZWN0Ij09dHlwZW9mIHJ8fChyPXt9KTt2YXIgYT1yLm5hbWV8fCJFcnJvciIsbD1yLnN0YWNrfHwiIjsoU3QobCl8fGUpJiYoVHQoVnQpKGwpLFJ0KGwpfHxSdChpKXx8KE10KHQsImdsb2JhbCIsImRlYnVnIix7Y3Jvc3NPcmlnaW46cyxuYW1lOmEsdXJsOmksbGluZTpuLGNvbHVtbjpvLHN0YWNrOmx9KSxVdCgiZ2xvYmFsIixyLHttZXNzYWdlOnR9KSkpfSxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQucmVhc29uO251bGw9PWUmJnQuZGV0YWlsJiZ0LmRldGFpbC5yZWFzb24mJihlPSh0PXQuZGV0YWlsKS5yZWFzb24pO3ZhciBpPSIiO2lmKHQucmVhc29uJiYidW5kZWZpbmVkIiE9dHlwZW9mIHQucmVhc29uLnN0YWNrJiYoaT10LnJlYXNvbi5zdGFjayksU3QoaSkmJnQucmVhc29uIGluc3RhbmNlb2YgRXJyb3Ipe1R0KFZ0KShpKTt2YXIgbj1lLnVybHx8IiI7UnQoaSl8fFJ0KG4pfHwoTXQoZS5tZXNzYWdlLCJnbG9iYWwtcmVqZWN0aW9uIiwiZGVidWciLHtwcm9taXNlOnQucHJvbWlzZSxuYW1lOmUubmFtZSx1cmw6bixsaW5lOmUubGluZW5vLGNvbHVtbjplLmNvbHVtbm5vLHN0YWNrOml9KSxVdCgiZ2xvYmFsLXJlamVjdGlvbiIsZSx7cHJvbWlzZTp0LnByb21pc2UsbWVzc2FnZTplLm1lc3NhZ2V9KSl9fTsiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXI/KHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKGZ1bmN0aW9uKHQpe2kodC5tZXNzYWdlLHQuZmlsZW5hbWUsdC5saW5lbm8sdC5jb2xubyx0LmVycm9yLGZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4hKCJTY3JpcHQgZXJyb3IuIiE9PXQubWVzc2FnZXx8IiIhPT10LmZpbGVuYW1lJiZudWxsIT10LmZpbGVuYW1lfHwwIT09dC5saW5lbm8mJm51bGwhPXQubGluZW5vfHwwIT09dC5jb2xubyYmbnVsbCE9dC5jb2xub3x8bnVsbCE9dC5lcnJvcil9Y2F0Y2gobXMpe3JldHVybiExfX0odCkpfSksITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLG4sITApKTplJiYod2luZG93Lm9uZXJyb3I9aSx3aW5kb3cub251bmhhbmRsZWRyZWplY3Rpb249bil9fWNhdGNoKG8pe319ZnVuY3Rpb24gQnQodCxlLGksbil7dHJ5e2lmKGU9ZXx8ImVycm9yIiwic3RyaW5nIj09dHlwZW9mIHQpe2Zvcih2YXIgbz14dC5sZW5ndGg7by0tOylpZih0LmluZGV4T2YoeHRbb10pPj0wKXt0PXh0W29dO2JyZWFrfS9ec2VsZlwuXHcqIGlzIG5vdCBhIGZ1bmN0aW9uJC8udGVzdCh0KT90PSJzZWxmLlggaXMgbm90IGEgZnVuY3Rpb24iOi9eXHdcLl8uKlxbdFxdIGlzIG5vdCBhIGZ1bmN0aW9uLy50ZXN0KHQpJiYodD0ieC5feVt0XSBpcyBub3QgYSBmdW5jdGlvbiIpfWlmKHV0LnNlbnRyeSl7dmFyIHI9Indhcm4iPT09ZT8id2FybmluZyI6ZTt3aW5kb3cuUmF2ZW4mJlJhdmVuLmNhcHR1cmVNZXNzYWdlKHQse2xldmVsOnIsbG9nZ2VyOmksZXh0cmE6bn0pfX1jYXRjaChzKXt9fWZ1bmN0aW9uIFV0KHQsZSxpKXt0cnl7cmV0dXJuKGk9aXx8e30pLmVycm9yPWUsQnQodCsiOiIrKCgic3RyaW5nIj09dHlwZW9mIGU/ZTplJiZlLm1lc3NhZ2UpfHxpLm1lc3NhZ2V8fCJtaXNzaW5nLWVycm9yIiksImVycm9yIix0LGkpfWNhdGNoKG4pe319ZnVuY3Rpb24gTXQodCxlLGksbil7dHJ5e3V0LnNlbnRyeSYmd2luZG93LlJhdmVuJiZSYXZlbi5jYXB0dXJlQnJlYWRjcnVtYih7bWVzc2FnZTp0LGNhdGVnb3J5OmUsbGV2ZWw6aSxkYXRhOm59KX1jYXRjaChvKXt9fXZhciBXdD17X19wcm90b19fOm51bGwsX3N0YWNrVHJhY2VTZXQ6YnQscmVmaW5lTGluZTpfdCx0b1JlZmluZWRTdHJpbmc6RXQscmVwb3J0RXJyb3I6Q3QsZXJyb3JXcmFwcGVyOlR0LGluaXRTZW50cnk6QXQsc2VudHJ5TWVzc2FnZTpCdCxzZW50cnlFcnJvcjpVdCxzZW50cnlCcmVhZGNydW1iOk10fTtmdW5jdGlvbiBPdCgpe3ZhciB0PVtdLGU9bnVsbCxpPSExLG49W10sbz1mdW5jdGlvbihlKXt0cnl7aWYodC5sZW5ndGg+PTEwKXJldHVybjt2YXIgaT1lLnN0YWNrO2lmKCJzdHJpbmciIT10eXBlb2YgaSlyZXR1cm47dmFyIG49aS50cmltKCkuc3BsaXQoIlxuIik7IkVycm9yIj09PW5bMF0mJihuPW4uc2xpY2UoMSkpO2Zvcih2YXIgbz0vZXh0ZW5zaW9uLyxyPW4ubGVuZ3RoLTEscz1bXSxhPTA7cj49MCYmcy5sZW5ndGg8Njspe3ZhciBsPW5bcl0sYz1fdChsKTtpZihudWxsIT09Yyl7aWYoby50ZXN0KGwpKXtzPVtjXTticmVha31pZihzLnVuc2hpZnQoYyksYT1NYXRoLm1heChhLGMubGVuZ3RoKSxzLmxlbmd0aD49MiYmYT49MzApYnJlYWs7ci0tfWVsc2Ugci0tfXZhciBoPXMuam9pbigiXG4iKS50cmltKCk7aCYmLTE9PT10LmluZGV4T2YoaCkmJnQucHVzaChoKX1jYXRjaChlKXtyZXR1cm59fSxyPWZ1bmN0aW9uKCl7aWYoaSl0cnl7Zm9yKHZhciB0PTAscj1uLmxlbmd0aDt0PHI7dCsrKW5bdF0oKTtudWxsIT09ZSYmY2xlYXJUaW1lb3V0KGUpfWNhdGNoKHMpe28ocyl9ZmluYWxseXtuPVtdLGU9bnVsbCxpPSExfX0scz1mdW5jdGlvbihlLHMpe3ZhciBhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxzKTtpZighKGEmJiExPT09YS53cml0YWJsZSkpe3ZhciBsLGM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscyksaD1lW3NdO2w9InVuZGVmaW5lZCIhPXR5cGVvZiBQcm94eSYmInVuZGVmaW5lZCIhPXR5cGVvZiBSZWZsZWN0P25ldyBQcm94eShoLHthcHBseTpmdW5jdGlvbihlLG4scyl7cmV0dXJuIGkmJih0Lmxlbmd0aD49MTAmJnIoKSxvKG5ldyBFcnJvcikpLFJlZmxlY3QuYXBwbHkoZSxuLHMpfX0pOmZ1bmN0aW9uKCl7cmV0dXJuIGkmJih0Lmxlbmd0aD49MTAmJnIoKSxvKG5ldyBFcnJvcikpLGguYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohYXx8YS5lbnVtZXJhYmxlLHdyaXRhYmxlOiEwLHZhbHVlOmx9KSxuLnB1c2goKGZ1bmN0aW9uKCl7Yz9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohYXx8YS5lbnVtZXJhYmxlLHdyaXRhYmxlOiEwLHZhbHVlOmh9KTpkZWxldGUgZVtzXX0pKX19O3JldHVybntydW46ZnVuY3Rpb24odCl7dmFyIG49KHQ9dHx8e30pLnRpbWVvdXQsYT0hMD09PXQudG9wTGV2ZWwmJnQudG9wTGV2ZWw7aWYoIWkpe2k9ITAsIm51bWJlciI9PXR5cGVvZiBuJiZpc0Zpbml0ZShuKSYmKGU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyKCl9KSxuKSk7dHJ5e3MoRG9jdW1lbnQucHJvdG90eXBlLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIikscyhEb2N1bWVudC5wcm90b3R5cGUsImdldEVsZW1lbnRCeUlkIikscyhEb2N1bWVudC5wcm90b3R5cGUsImdldEVsZW1lbnRzQnlUYWdOYW1lIikscyhEb2N1bWVudC5wcm90b3R5cGUsInF1ZXJ5U2VsZWN0b3IiKSxzKERvY3VtZW50LnByb3RvdHlwZSwicXVlcnlTZWxlY3RvckFsbCIpLHMoRWxlbWVudC5wcm90b3R5cGUsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiKSxzKEVsZW1lbnQucHJvdG90eXBlLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIpLHMoRWxlbWVudC5wcm90b3R5cGUsInF1ZXJ5U2VsZWN0b3IiKSxzKEVsZW1lbnQucHJvdG90eXBlLCJxdWVyeVNlbGVjdG9yQWxsIikscyhIVE1MRWxlbWVudC5wcm90b3R5cGUsImNsaWNrIikscyhIVE1MRWxlbWVudC5wcm90b3R5cGUsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiKSxzKEhUTUxFbGVtZW50LnByb3RvdHlwZSwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiKSxzKEhUTUxFbGVtZW50LnByb3RvdHlwZSwicXVlcnlTZWxlY3RvciIpLHMoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJxdWVyeVNlbGVjdG9yQWxsIiksYXx8cyhjb25zb2xlLCJsb2ciKX1jYXRjaChsKXtyKCksbyhsKX19fSxjb2xsZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuY29uY2F0KGJ0KX19fXZhciBGdD17Z2V0Q29va2llOmZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LmNvb2tpZS5yZXBsYWNlKC8gL2csIiIpLnNwbGl0KCI7Iik7dHJ5e2Zvcih2YXIgaT0iIixuPWUubGVuZ3RoO24tLSYmIWk7KWVbbl0uaW5kZXhPZih0KT49MCYmKGk9ZVtuXSk7cmV0dXJuIGl9Y2F0Y2gobXMpe3JldHVybiIifX0saGFzQ29va2llOmZ1bmN0aW9uKHQpe3JldHVybiEhRnQuZ2V0Q29va2llKHQpfSxzdXBwb3J0c0FQSTpmdW5jdGlvbigpe3RyeXtyZXR1cm4iaGFzU3RvcmFnZUFjY2VzcyJpbiBkb2N1bWVudCYmInJlcXVlc3RTdG9yYWdlQWNjZXNzImluIGRvY3VtZW50fWNhdGNoKG1zKXtyZXR1cm4hMX19LGhhc0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7ZG9jdW1lbnQuaGFzU3RvcmFnZUFjY2VzcygpLnRoZW4oKGZ1bmN0aW9uKCl7dCghMCl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKCl7dCghMSl9KSl9KSl9LHJlcXVlc3RBY2Nlc3M6ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGRvY3VtZW50LnJlcXVlc3RTdG9yYWdlQWNjZXNzKCl9Y2F0Y2gobXMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19fSxMdD17YXJyYXk6ZnVuY3Rpb24odCl7aWYoMD09PXQubGVuZ3RoKXJldHVybiB0O2Zvcih2YXIgZSxpLG49dC5sZW5ndGg7LS1uPi0xOylpPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoobisxKSksZT10W25dLHRbbl09dFtpXSx0W2ldPWU7cmV0dXJuIHR9fTtmdW5jdGlvbiBIdCh0KXt0aGlzLnI9MjU1LHRoaXMuZz0yNTUsdGhpcy5iPTI1NSx0aGlzLmE9MSx0aGlzLmg9MSx0aGlzLnM9MSx0aGlzLmw9MSx0aGlzLnBhcnNlU3RyaW5nKHQpfWZ1bmN0aW9uIFB0KHQsZSxpKXtyZXR1cm4gaTwwJiYoaSs9MSksaT4xJiYoaS09MSksaTwxLzY/dCs2KihlLXQpKmk6aTwuNT9lOmk8Mi8zP3QrKGUtdCkqKDIvMy1pKSo2OnR9SHQuaGFzQWxwaGE9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYoLTEhPT10LmluZGV4T2YoInJnYmEiKXx8OT09PXQubGVuZ3RoJiYiIyI9PT10WzBdKX0sSHQucHJvdG90eXBlLnBhcnNlU3RyaW5nPWZ1bmN0aW9uKHQpe3QmJigwPT09dC5pbmRleE9mKCIjIik/dGhpcy5mcm9tSGV4KHQpOjA9PT10LmluZGV4T2YoInJnYiIpJiZ0aGlzLmZyb21SR0JBKHQpKX0sSHQucHJvdG90eXBlLmZyb21IZXg9ZnVuY3Rpb24odCl7dmFyIGU9MTs5PT09dC5sZW5ndGgmJihlPXBhcnNlSW50KHQuc3Vic3RyKDcsMiksMTYpLzI1NSk7dmFyIGk9KHQ9dC5zdWJzdHIoMSw2KSkucmVwbGFjZSgvXihbYS1mXGRdKShbYS1mXGRdKShbYS1mXGRdKT8kL2ksKGZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiBlK2UraStpK24rbn0pKSxuPXBhcnNlSW50KGksMTYpLG89bj4+MTYscj1uPj44JjI1NSxzPTI1NSZuO3RoaXMuc2V0UkdCQShvLHIscyxlKX0sSHQucHJvdG90eXBlLmZyb21SR0JBPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5kZXhPZigicmdiYSIpLGk9dC5zdWJzdHIoZSkucmVwbGFjZSgvcmdiYT9cKC8sIiIpLnJlcGxhY2UoL1wpLywiIikucmVwbGFjZSgvW1xzK10vZywiIikuc3BsaXQoIiwiKSxuPU1hdGguZmxvb3IocGFyc2VJbnQoaVswXSkpLG89TWF0aC5mbG9vcihwYXJzZUludChpWzFdKSkscj1NYXRoLmZsb29yKHBhcnNlSW50KGlbMl0pKSxzPXBhcnNlRmxvYXQoaVszXSk7dGhpcy5zZXRSR0JBKG4sbyxyLHMpfSxIdC5wcm90b3R5cGUuc2V0UkdCPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLnNldFJHQkEodCxlLGksMSl9LEh0LnByb3RvdHlwZS5zZXRSR0JBPWZ1bmN0aW9uKHQsZSxpLG4pe3RoaXMucj10LHRoaXMuZz1lLHRoaXMuYj1pLHRoaXMuYT1pc05hTihuKT90aGlzLmE6bix0aGlzLnVwZGF0ZUhTTCgpfSxIdC5wcm90b3R5cGUuaHNsMnJnYj1mdW5jdGlvbih0LGUsaSl7aWYoMD09PWUpe3ZhciBuPU1hdGgucm91bmQoMjU1KmkpO3JldHVybiB0aGlzLnNldFJHQihuLG4sbiksdGhpc312YXIgbz1pPD0uNT9pKigxK2UpOmkrZS1pKmUscj0yKmktbztyZXR1cm4gdGhpcy5yPU1hdGgucm91bmQoMjU1KlB0KHIsbyx0KzEvMykpLHRoaXMuZz1NYXRoLnJvdW5kKDI1NSpQdChyLG8sdCkpLHRoaXMuYj1NYXRoLnJvdW5kKDI1NSpQdChyLG8sdC0xLzMpKSx0aGlzLmg9dCx0aGlzLnM9ZSx0aGlzLmw9aSx0aGlzfSxIdC5wcm90b3R5cGUudXBkYXRlSFNMPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLnIvMjU1LGk9dGhpcy5nLzI1NSxuPXRoaXMuYi8yNTUsbz1NYXRoLm1heChlLGksbikscj1NYXRoLm1pbihlLGksbikscz1udWxsLGE9KG8rcikvMjtpZihvPT09cilzPXQ9MDtlbHNle3ZhciBsPW8tcjtzd2l0Y2godD1hPi41P2wvKDItby1yKTpsLyhvK3IpLG8pe2Nhc2UgZTpzPShpLW4pL2wrKGk8bj82OjApO2JyZWFrO2Nhc2UgaTpzPShuLWUpL2wrMjticmVhaztjYXNlIG46cz0oZS1pKS9sKzR9cy89Nn1yZXR1cm4gdGhpcy5oPXMsdGhpcy5zPXQsdGhpcy5sPWEsdGhpc30sSHQucHJvdG90eXBlLmdldEhleD1mdW5jdGlvbigpe3JldHVybiIjIisoKDE8PDI0KSsodGhpcy5yPDwxNikrKHRoaXMuZzw8OCkrdGhpcy5iKS50b1N0cmluZygxNikuc2xpY2UoMSl9LEh0LnByb3RvdHlwZS5nZXRSR0JBPWZ1bmN0aW9uKCl7cmV0dXJuInJnYmEoIit0aGlzLnIrIiwiK3RoaXMuZysiLCIrdGhpcy5iKyIsIit0aGlzLmErIikifSxIdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgSHQ7cmV0dXJuIHQuc2V0UkdCQSh0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEpLHR9LEh0LnByb3RvdHlwZS5taXg9ZnVuY3Rpb24odCxlKXt0IGluc3RhbmNlb2YgSHR8fCh0PW5ldyBIdCh0KSk7dmFyIGk9bmV3IEh0LG49TWF0aC5yb3VuZCh0aGlzLnIrZSoodC5yLXRoaXMucikpLG89TWF0aC5yb3VuZCh0aGlzLmcrZSoodC5nLXRoaXMuZykpLHI9TWF0aC5yb3VuZCh0aGlzLmIrZSoodC5iLXRoaXMuYikpO3JldHVybiBpLnNldFJHQihuLG8sciksaX0sSHQucHJvdG90eXBlLmJsZW5kPWZ1bmN0aW9uKHQsZSl7dmFyIGk7dCBpbnN0YW5jZW9mIEh0fHwodD1uZXcgSHQodCkpO2Zvcih2YXIgbj1bXSxvPTA7bzxlO28rKylpPXRoaXMubWl4LmNhbGwodGhpcyx0LG8vZSksbi5wdXNoKGkpO3JldHVybiBufSxIdC5wcm90b3R5cGUubGlnaHRuZXNzPWZ1bmN0aW9uKHQpe3JldHVybiB0PjEmJih0Lz0xMDApLHRoaXMuaHNsMnJnYih0aGlzLmgsdGhpcy5zLHQpLHRoaXN9LEh0LnByb3RvdHlwZS5zYXR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0PjEmJih0Lz0xMDApLHRoaXMuaHNsMnJnYih0aGlzLmgsdCx0aGlzLmwpLHRoaXN9LEh0LnByb3RvdHlwZS5odWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaHNsMnJnYih0LzM2MCx0aGlzLnMsdGhpcy5sKSx0aGlzfTt2YXIgRHQ9e2RlY29kZTpmdW5jdGlvbih0KXt0cnl7dmFyIGU9dC5zcGxpdCgiLiIpO3JldHVybntoZWFkZXI6SlNPTi5wYXJzZShhdG9iKGVbMF0pKSxwYXlsb2FkOkpTT04ucGFyc2UoYXRvYihlWzFdKSksc2lnbmF0dXJlOmF0b2IoZVsyXS5yZXBsYWNlKC9fL2csIi8iKS5yZXBsYWNlKC8tL2csIisiKSkscmF3OntoZWFkZXI6ZVswXSxwYXlsb2FkOmVbMV0sc2lnbmF0dXJlOmVbMl19fX1jYXRjaChtcyl7dGhyb3cgbmV3IEVycm9yKCJUb2tlbiBpcyBpbnZhbGlkLiIpfX0sY2hlY2tFeHBpcmF0aW9uOmZ1bmN0aW9uKHQpe2lmKG5ldyBEYXRlKDFlMyp0KTw9bmV3IERhdGUoRGF0ZS5ub3coKSkpdGhyb3cgbmV3IEVycm9yKCJUb2tlbiBpcyBleHBpcmVkLiIpO3JldHVybiEwfX0sTnQ9e19zZXR1cDohMSxfYWY6bnVsbCxfZnBzOjYwLF9zaW5nbGVGcmFtZToxLzYwLF9sYWdUaHJlc2hvbGQ6NTAwLF9hZGp1c3RlZExhZzoxLzYwKjIsX3N0YXJ0VGltZTowLF9sYXN0VGltZTowLF9uZXh0VGltZToxLzYwLF9lbGFwc2VkOjAsX2RpZmZlcmVuY2U6MCxfcmVuZGVyczpbXSxfcGF1c2VkOiExLF9ydW5uaW5nOiExLF90aWNrOiExLGZyYW1lOjAsdGltZTowLHJlcXVlc3RGcmFtZTpudWxsLGNhbmNlbEZyYW1lOm51bGwsX2luaXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQsZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLGk9d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lLG49WyJtcyIsIm1veiIsIndlYmtpdCIsIm8iXSxvPW4ubGVuZ3RoOy0tbz4tMSYmIWU7KWU9d2luZG93W25bb10rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLGk9d2luZG93W25bb10rIkNhbmNlbEFuaW1hdGlvbkZyYW1lIl18fHdpbmRvd1tuW29dKyJDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXTtlPyhOdC5yZXF1ZXN0RnJhbWU9ZS5iaW5kKHdpbmRvdyksTnQuY2FuY2VsRnJhbWU9aS5iaW5kKHdpbmRvdykpOihOdC5yZXF1ZXN0RnJhbWU9KHQ9RGF0ZS5ub3coKSxmdW5jdGlvbihlKXt3aW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlKERhdGUubm93KCktdCl9KSwxZTMqTnQuX3NpbmdsZUZyYW1lKX0pLE50LmNhbmNlbEZyYW1lPWZ1bmN0aW9uKHQpe3JldHVybiBjbGVhclRpbWVvdXQodCksbnVsbH0pLE50Ll9zZXR1cD0hMCxOdC5fc3RhcnRUaW1lPU50Ll9sYXN0VGltZT1EYXRlLm5vdygpfSxhZGQ6ZnVuY3Rpb24odCxlKXtOdC5fcmVuZGVycy5wdXNoKHtjYWxsYmFjazp0LHBhdXNlZDohMT09IWV8fCExfSksITE9PSFlJiZOdC5zdGFydCgpfSxyZW1vdmU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU50Ll9yZW5kZXJzLmxlbmd0aDstLWU+LTE7KU50Ll9yZW5kZXJzW2VdLmNhbGxiYWNrPT09dCYmKE50Ll9yZW5kZXJzW2VdLnBhdXNlZD0hMCxOdC5fcmVuZGVycy5zcGxpY2UoZSwxKSl9LHN0YXJ0OmZ1bmN0aW9uKHQpe2lmKCExPT09TnQuX3NldHVwJiZOdC5faW5pdCgpLHQpZm9yKHZhciBlPU50Ll9yZW5kZXJzLmxlbmd0aDstLWU+LTE7KU50Ll9yZW5kZXJzW2VdLmNhbGxiYWNrPT09dCYmKE50Ll9yZW5kZXJzW2VdLnBhdXNlZD0hMSk7ITAhPT1OdC5fcnVubmluZyYmKE50Ll9wYXVzZWQ9ITEsTnQuX3J1bm5pbmc9ITAsTnQuX2FmPU50LnJlcXVlc3RGcmFtZShOdC5fdXBkYXRlKSl9LHN0b3A6ZnVuY3Rpb24odCl7aWYodClmb3IodmFyIGU9TnQuX3JlbmRlcnMubGVuZ3RoOy0tZT4tMTspTnQuX3JlbmRlcnNbZV0uY2FsbGJhY2s9PT10JiYoTnQuX3JlbmRlcnNbZV0ucGF1c2VkPSEwKTtlbHNlITEhPT1OdC5fcnVubmluZyYmKE50Ll9hZj1OdC5jYW5jZWxGcmFtZShOdC5fYWYpLE50Ll9wYXVzZWQ9ITAsTnQuX3J1bm5pbmc9ITEpfSxlbGFwc2VkOmZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCktTnQuX3N0YXJ0VGltZX0sZnBzOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhOdC5fZnBzPXQsTnQuX3NpbmdsZUZyYW1lPTEvKE50Ll9mcHN8fDYwKSxOdC5fYWRqdXN0ZWRMYWc9MipOdC5fc2luZ2xlRnJhbWUsTnQuX25leHRUaW1lPU50LnRpbWUrTnQuX3NpbmdsZUZyYW1lLE50Ll9mcHMpOk50Ll9mcHN9LGlzUnVubmluZzpmdW5jdGlvbigpe3JldHVybiBOdC5fcnVubmluZ30sX3VwZGF0ZTpmdW5jdGlvbigpe2lmKCFOdC5fcGF1c2VkJiYoTnQuX2VsYXBzZWQ9RGF0ZS5ub3coKS1OdC5fbGFzdFRpbWUsTnQuX3RpY2s9ITEsTnQuX2VsYXBzZWQ+TnQuX2xhZ1RocmVzaG9sZCYmKE50Ll9zdGFydFRpbWUrPU50Ll9lbGFwc2VkLU50Ll9hZGp1c3RlZExhZyksTnQuX2xhc3RUaW1lKz1OdC5fZWxhcHNlZCxOdC50aW1lPShOdC5fbGFzdFRpbWUtTnQuX3N0YXJ0VGltZSkvMWUzLE50Ll9kaWZmZXJlbmNlPU50LnRpbWUtTnQuX25leHRUaW1lLE50Ll9kaWZmZXJlbmNlPjAmJihOdC5mcmFtZSsrLE50Ll9uZXh0VGltZSs9TnQuX2RpZmZlcmVuY2UrKE50Ll9kaWZmZXJlbmNlPj1OdC5fc2luZ2xlRnJhbWU/TnQuX3NpbmdsZUZyYW1lLzQ6TnQuX3NpbmdsZUZyYW1lLU50Ll9kaWZmZXJlbmNlKSxOdC5fdGljaz0hMCksTnQuX2FmPU50LnJlcXVlc3RGcmFtZShOdC5fdXBkYXRlKSwhMD09PU50Ll90aWNrJiZOdC5fcmVuZGVycy5sZW5ndGg+MCkpZm9yKHZhciB0PU50Ll9yZW5kZXJzLmxlbmd0aDstLXQ+LTE7KU50Ll9yZW5kZXJzW3RdJiYhMT09PU50Ll9yZW5kZXJzW3RdLnBhdXNlZCYmTnQuX3JlbmRlcnNbdF0uY2FsbGJhY2soTnQudGltZSl9fTt2YXIgWnQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGksbixvPXt9LHI9dD90LmluZGV4T2YoIiYiKT49MD90LnNwbGl0KCImIik6W3RdOltdLHM9MDtzPHIubGVuZ3RoO3MrKylpZihyW3NdLmluZGV4T2YoIj0iKT49MCl7aWYoZT1yW3NdLnNwbGl0KCI9IiksaT1kZWNvZGVVUklDb21wb25lbnQoZVswXSksImZhbHNlIiE9PShuPWRlY29kZVVSSUNvbXBvbmVudChlWzFdKSkmJiJ0cnVlIiE9PW58fChuPSJ0cnVlIj09PW4pLCJ0aGVtZSI9PT1pfHwidGhlbWVDb25maWciPT09aSl0cnl7bj1KU09OLnBhcnNlKG4pfWNhdGNoKG1zKXt9b1tpXT1ufXJldHVybiBvfSxJdD1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIGkgaW4gdCl7dmFyIG49dFtpXTtuPSJvYmplY3QiPT10eXBlb2Ygbj9KU09OLnN0cmluZ2lmeShuKTpuLGUucHVzaChbZW5jb2RlVVJJQ29tcG9uZW50KGkpLGVuY29kZVVSSUNvbXBvbmVudChuKV0uam9pbigiPSIpKX1yZXR1cm4gZS5qb2luKCImIil9LGp0PXtfX3Byb3RvX186bnVsbCxEZWNvZGU6WnQsRW5jb2RlOkl0fTtmdW5jdGlvbiB6dCh0LGUsaSl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHQsZSksaSl9ZnVuY3Rpb24gS3QodCxlLGksbixvLHIpe3ZhciBzPSh0LWUpKihvLW4pLyhpLWUpK247cmV0dXJuITE9PT1yP3M6enQocyxNYXRoLm1pbihuLG8pLE1hdGgubWF4KG4sbykpfWZ1bmN0aW9uIFl0KHQpe3JldHVybiB0KihNYXRoLlBJLzE4MCl9ZnVuY3Rpb24gSnQodCl7cmV0dXJuIDE4MCp0L01hdGguUEl9ZnVuY3Rpb24gR3QodCxlLGkpe3JldHVybiB0KyhlLXQpKml9dmFyIFF0PXtfX3Byb3RvX186bnVsbCxjbGFtcDp6dCxyYW5nZTpLdCx0b1JhZGlhbnM6WXQsdG9EZWdyZWVzOkp0LGxlcnA6R3R9O2Z1bmN0aW9uICR0KHQsZSxpLG4pe3RoaXMuX3BlcmlvZD10LHRoaXMuX2ludGVydmFsPWUsdGhpcy5fZGF0ZT1bXSx0aGlzLl9kYXRhPVtdLHRoaXMuX3ByZXZUaW1lc3RhbXA9MCx0aGlzLl9tZWFuUGVyaW9kPTAsdGhpcy5fbWVkaWFuUGVyaW9kPTAsdGhpcy5fbWVkaWFuTWF4SGVhcFNpemU9MzIsdGhpcy5fbWVkaWFuTWluSGVhcD1bXSx0aGlzLl9tZWRpYW5NYXhIZWFwPVtdLHRoaXMuX21lYW5Db3VudGVyPTAsdGhpcy5fYmFzZVRpbWU9aXx8MCx0aGlzLl9tYXhFdmVudHNQZXJXaW5kb3c9bnx8MTI4fWZ1bmN0aW9uIFh0KHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxpKXt0KGUsaSwoZnVuY3Rpb24gbigpe3QoZSxpLG4pfSkpfSkpfWZ1bmN0aW9uIHF0KHQsZSl7dmFyIGk9ImF0dGVtcHRzImluKGU9ZXx8e30pP2UuYXR0ZW1wdHM6MSxuPWUuZGVsYXl8fDAsbz1lLm9uRmFpbDtyZXR1cm4gWHQoKGZ1bmN0aW9uKGUscixzKXt0KCkudGhlbihlLChmdW5jdGlvbih0KXt2YXIgZT1pLS0gPjA7aWYobyl7dmFyIGE9byh0LGkpO2EmJihlPSExIT09YS5yZXRyeSYmZSxuPWEuZGVsYXkpfWU/c2V0VGltZW91dChzLG58fDApOnIodCl9KSl9KSl9ZnVuY3Rpb24gdGUodCxlKXt2YXIgaT0iYXR0ZW1wdHMiaW4oZT1lfHx7fSk/ZS5hdHRlbXB0czoxLG49ZS5kZWxheXx8MCxvPWUub25GYWlsLHI9bnVsbCxzPSExLGE9WHQoKGZ1bmN0aW9uKGUsYSxsKXtzP2EobmV3IEVycm9yKCJSZXF1ZXN0IGNhbmNlbGxlZCIpKTp0KCkudGhlbihlLChmdW5jdGlvbih0KXtpZihzKWEobmV3IEVycm9yKCJSZXF1ZXN0IGNhbmNlbGxlZCIpKTtlbHNle3ZhciBlPWktLSA+MDtpZihvKXt2YXIgYz1vKHQsaSk7YyYmKGU9ITEhPT1jLnJldHJ5JiZlLG49Yy5kZWxheSl9ZT9yPXNldFRpbWVvdXQobCxufHwwKTphKHQpfX0pKX0pKTtyZXR1cm4gYS5jYW5jZWw9ZnVuY3Rpb24oKXtzPSEwLHImJihjbGVhclRpbWVvdXQocikscj1udWxsKX0sYX1mdW5jdGlvbiBlZSh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxuKXt2YXIgbz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe24obmV3IEVycm9yKCJ0aW1lb3V0IikpfSksZSk7dC50aGVuKChmdW5jdGlvbih0KXtjbGVhclRpbWVvdXQobyksaSh0KX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7Y2xlYXJUaW1lb3V0KG8pLG4odCl9KSl9KSl9JHQucHJvdG90eXBlLmdldE1lYW5QZXJpb2Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWVhblBlcmlvZH0sJHQucHJvdG90eXBlLmdldE1lZGlhblBlcmlvZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tZWRpYW5QZXJpb2R9LCR0LnByb3RvdHlwZS5nZXREYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NsZWFuU3RhbGVEYXRhKCksdGhpcy5fZGF0YX0sJHQucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt0aGlzLl9jbGVhblN0YWxlRGF0YSgpO3ZhciBpPTA9PT10aGlzLl9kYXRlLmxlbmd0aDtpZih0LSh0aGlzLl9kYXRlW3RoaXMuX2RhdGUubGVuZ3RoLTFdfHwwKT49dGhpcy5fcGVyaW9kJiYodGhpcy5fZGF0ZS5wdXNoKHQpLHRoaXMuX2RhdGEucHVzaChlKSx0aGlzLl9kYXRhLmxlbmd0aD50aGlzLl9tYXhFdmVudHNQZXJXaW5kb3cmJih0aGlzLl9kYXRlLnNoaWZ0KCksdGhpcy5fZGF0YS5zaGlmdCgpKSksIWkpe3ZhciBuPXQtdGhpcy5fcHJldlRpbWVzdGFtcDt0aGlzLl9tZWFuUGVyaW9kPSh0aGlzLl9tZWFuUGVyaW9kKnRoaXMuX21lYW5Db3VudGVyK24pLyh0aGlzLl9tZWFuQ291bnRlcisxKSx0aGlzLl9tZWFuQ291bnRlcisrLHRoaXMuX21lZGlhblBlcmlvZD10aGlzLl9jYWxjdWxhdGVNZWRpYW5QZXJpb2Qobil9dGhpcy5fcHJldlRpbWVzdGFtcD10fSwkdC5wcm90b3R5cGUuX2NhbGN1bGF0ZU1lZGlhblBlcmlvZD1mdW5jdGlvbih0KXt0aGlzLl9tZWRpYW5NYXhIZWFwfHwodGhpcy5fbWVkaWFuTWF4SGVhcD1bXSksdGhpcy5fbWVkaWFuTWluSGVhcHx8KHRoaXMuX21lZGlhbk1pbkhlYXA9W10pO3ZhciBlPXRoaXMuX2ZldGNoTWVkaWFuUGVyaW9kKCk7cmV0dXJuIDA9PT10aGlzLl9tZWRpYW5NYXhIZWFwLmxlbmd0aCYmMD09PXRoaXMuX21lZGlhbk1pbkhlYXAubGVuZ3RoP3RoaXMuX21lZGlhbk1heEhlYXAucHVzaCh0KTp0PD1lPyh0aGlzLl9tZWRpYW5NYXhIZWFwLnB1c2godCksdGhpcy5fbWVkaWFuTWF4SGVhcC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBlLXR9KSkpOih0aGlzLl9tZWRpYW5NaW5IZWFwLnB1c2godCksdGhpcy5fbWVkaWFuTWluSGVhcC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSkpLHRoaXMuX3JlYmFsYW5jZUhlYXBzKCksdGhpcy5fZmV0Y2hNZWRpYW5QZXJpb2QoKX0sJHQucHJvdG90eXBlLl9yZWJhbGFuY2VIZWFwcz1mdW5jdGlvbigpe3ZhciB0PW51bGw7dGhpcy5fbWVkaWFuTWF4SGVhcC5sZW5ndGg+dGhpcy5fbWVkaWFuTWluSGVhcC5sZW5ndGgrMT8odD10aGlzLl9tZWRpYW5NYXhIZWFwLnNoaWZ0KCksdGhpcy5fbWVkaWFuTWluSGVhcC5wdXNoKHQpLHRoaXMuX21lZGlhbk1pbkhlYXAuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSkpKTp0aGlzLl9tZWRpYW5NaW5IZWFwLmxlbmd0aD50aGlzLl9tZWRpYW5NYXhIZWFwLmxlbmd0aCsxJiYodD10aGlzLl9tZWRpYW5NaW5IZWFwLnNoaWZ0KCksdGhpcy5fbWVkaWFuTWF4SGVhcC5wdXNoKHQpLHRoaXMuX21lZGlhbk1heEhlYXAuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS10fSkpKSx0aGlzLl9tZWRpYW5NaW5IZWFwLmxlbmd0aD09dGhpcy5fbWVkaWFuTWF4SGVhcC5sZW5ndGgmJnRoaXMuX21lZGlhbk1heEhlYXAubGVuZ3RoPnRoaXMuX21lZGlhbk1heEhlYXBTaXplJiYodGhpcy5fbWVkaWFuTWluSGVhcC5wb3AoKSx0aGlzLl9tZWRpYW5NYXhIZWFwLnBvcCgpKX0sJHQucHJvdG90eXBlLl9mZXRjaE1lZGlhblBlcmlvZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tZWRpYW5NYXhIZWFwLmxlbmd0aD50aGlzLl9tZWRpYW5NaW5IZWFwLmxlbmd0aD90aGlzLl9tZWRpYW5NYXhIZWFwWzBdOnRoaXMuX21lZGlhbk1pbkhlYXAubGVuZ3RoPnRoaXMuX21lZGlhbk1heEhlYXAubGVuZ3RoP3RoaXMuX21lZGlhbk1pbkhlYXBbMF06MCE9PXRoaXMuX21lZGlhbk1heEhlYXAubGVuZ3RoJiYwIT09dGhpcy5fbWVkaWFuTWluSGVhcC5sZW5ndGg/KHRoaXMuX21lZGlhbk1heEhlYXBbMF0rdGhpcy5fbWVkaWFuTWluSGVhcFswXSkvMjotMX0sJHQucHJvdG90eXBlLl9jbGVhblN0YWxlRGF0YT1mdW5jdGlvbigpe2Zvcih2YXIgdD1EYXRlLm5vdygpLXRoaXMuX2Jhc2VUaW1lLGU9dGhpcy5fZGF0ZS5sZW5ndGgtMTtlPj0wO2UtLSl7aWYodC10aGlzLl9kYXRlW2VdPj10aGlzLl9pbnRlcnZhbCl7dGhpcy5fZGF0ZS5zcGxpY2UoMCxlKzEpLHRoaXMuX2RhdGEuc3BsaWNlKDAsZSsxKTticmVha319fTt2YXIgaWU9e19fcHJvdG9fXzpudWxsLHByb21pc2VSZWN1cnNpdmU6WHQscHJvbWlzZVJldHJ5OnF0LHByb21pc2VSZXRyeVdpdGhDYW5jZWw6dGUsd2l0aFRpbWVvdXQ6ZWV9O2Z1bmN0aW9uIG5lKHQpe3JldHVybiB0JiZ0LnNwbGl0KC9bPyNdLylbMF0uc3BsaXQoIi4iKS5wb3AoKXx8IiJ9dmFyIG9lPXtfX3Byb3RvX186bnVsbCxnZXRGaWxlRXh0ZW5zaW9uOm5lfTtmdW5jdGlvbiByZSh0KXt2YXIgZT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTsic3RyaW5nIj09dHlwZW9mIHQ/d2luZG93W3RdPyJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3dbdF0/d2luZG93W3RdLmFwcGx5KG51bGwsZSk6Y29uc29sZS5sb2coIltoQ2FwdGNoYV0gQ2FsbGJhY2sgJyIrdCsiJyBpcyBub3QgYSBmdW5jdGlvbi4iKTpjb25zb2xlLmxvZygiW2hDYXB0Y2hhXSBDYWxsYmFjayAnIit0KyInIGlzIG5vdCBkZWZpbmVkLiIpOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3QuYXBwbHkobnVsbCxlKTpjb25zb2xlLmxvZygiW2hjYXB0Y2hhXSBJbnZhbGlkIGNhbGxiYWNrICciK3QrIicuIil9dmFyIHNlLGFlPXtVVUlEOmZ1bmN0aW9uKHQpe3JldHVybi9eWzAtOUEtRl17OH0tWzAtOUEtRl17NH0tWzAtOUEtRl17NH0tWzAtOUEtRl17NH0tWzAtOUEtRl17MTJ9JC9pLnRlc3QodCl8fCExfSxVVUlEdjQ6ZnVuY3Rpb24odCl7cmV0dXJuL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMS01XVswLTlhLWZdezN9LVs4OWFiXVswLTlhLWZdezN9LVswLTlhLWZdezEyfSQvaS50ZXN0KHQpfHwhMX0sVVJMOmZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBSZWdFeHAoIl4oaHR0cHxodHRwcyk6Ly8iKSxpPW5ldyBSZWdFeHAoIl4oKD8hKGRhdGF8amF2YXNjcmlwdCk6KS4pKiQiKTtyZXR1cm4gZS50ZXN0KHQpJiZpLnRlc3QodCkmJi0xPT09dC5pbmRleE9mKCIjIil9LElNQUdFOmZ1bmN0aW9uKHQpe3JldHVybigwPT09dC5pbmRleE9mKCJodHRwczovLyIpfHwwPT09dC5pbmRleE9mKCIvIikpJiZ0LmVuZHNXaXRoKCIucG5nIil9fTtmdW5jdGlvbiBsZSh0KXt2YXIgZSxpLG49InN0cmluZyI9PXR5cGVvZiB0P3Q6SlNPTi5zdHJpbmdpZnkodCksbz0tMTtmb3Ioc2U9c2V8fGZ1bmN0aW9uKCl7dmFyIHQsZSxpLG49W107Zm9yKGU9MDtlPDI1NjtlKyspe2Zvcih0PWUsaT0wO2k8ODtpKyspdD0xJnQ/Mzk4ODI5MjM4NF50Pj4+MTp0Pj4+MTtuW2VdPXR9cmV0dXJuIG59KCksZT0wLGk9bi5sZW5ndGg7ZTxpO2UrPTEpbz1vPj4+OF5zZVsyNTUmKG9ebi5jaGFyQ29kZUF0KGUpKV07cmV0dXJuKC0xXm8pPj4+MH12YXIgY2U9e2NvbnRhaW5lcjp7fSxzZXQ6ZnVuY3Rpb24odCxlKXt0aGlzLmNvbnRhaW5lclt0XT1lfSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9fX0saGU9e19fcHJvdG9fXzpudWxsLGNyZWF0ZUVycm9yc0FnZ3JlZ2F0b3I6T3QsdXVpZDpmdW5jdGlvbigpe3JldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMil9LFJlbmRlcjpOdCxKV1Q6RHQsQ29sb3I6SHQsU2h1ZmZsZTpMdCxNYXRoVXRpbDpRdCxTdG9yYWdlOkZ0LFF1ZXJ5Omp0LFRpbWVCdWZmZXI6JHQsUHJvbWlzZVV0aWw6aWUsRXJyb3JVdGlsOld0LFVybFV0aWw6b2UsX3N0YWNrVHJhY2VTZXQ6YnQscmVmaW5lTGluZTpfdCx0b1JlZmluZWRTdHJpbmc6RXQscmVwb3J0RXJyb3I6Q3QsZXJyb3JXcmFwcGVyOlR0LGluaXRTZW50cnk6QXQsc2VudHJ5TWVzc2FnZTpCdCxzZW50cnlFcnJvcjpVdCxzZW50cnlCcmVhZGNydW1iOk10LHJlbmRlckZhbGxiYWNrOm10LGZvckVhY2hDYXB0Y2hhTm9kZTp5dCxjYWxsVXNlckZ1bmN0aW9uOmZ1bmN0aW9uKCl7dHJ5e3JlLmFwcGx5KG51bGwsYXJndW1lbnRzKX1jYXRjaChkcyl7Y29uc29sZS5lcnJvcigiW2hDYXB0Y2hhXSBUaGVyZSB3YXMgYW4gZXJyb3IgaW4geW91ciBjYWxsYmFjay4iKSxjb25zb2xlLmVycm9yKGRzKX19LGNvbXBvc2VQYXJhbXM6ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9WyJobCIsImN1c3RvbSIsImFuZGludCIsInRwbGlua3MiLCJzaXRla2V5IiwidGhlbWUiLCJ0eXBlIiwic2l6ZSIsInRhYmluZGV4IiwiY2FsbGJhY2siLCJleHBpcmVkLWNhbGxiYWNrIiwiY2hhbGV4cGlyZWQtY2FsbGJhY2siLCJlcnJvci1jYWxsYmFjayIsIm9wZW4tY2FsbGJhY2siLCJjbG9zZS1jYWxsYmFjayIsImVuZHBvaW50IiwiY2hhbGxlbmdlLWNvbnRhaW5lciIsImNvbmZpcm0tbmF2Iiwib3JpZW50YXRpb24iLCJtb2RlIl0sbj17fSxvPTA7bzxpLmxlbmd0aDtvKyspe3ZhciByPWlbb10scz1lJiZlW3JdO3N8fChzPXQuZ2V0QXR0cmlidXRlKCJkYXRhLSIrcikpLHMmJihuW3JdPXMpfXJldHVybiBufSxpczphZSxwcm9taXNlUmVjdXJzaXZlOlh0LHByb21pc2VSZXRyeTpxdCxwcm9taXNlUmV0cnlXaXRoQ2FuY2VsOnRlLHdpdGhUaW1lb3V0OmVlLGNyYzMyOmxlLFRhc2tDb250ZXh0OmNlLGdldEZpbGVFeHRlbnNpb246bmV9O2Z1bmN0aW9uIHVlKCl7dmFyIHQ9dGhpczt0aGlzLl9ib3R0b209MCx0aGlzLl90b3A9MCx0aGlzLnN0b3JhZ2U9e30sdGhpcy5hZGQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuc3RvcmFnZVt0Ll90b3BdPWUsdC5fdG9wKyssZX0sdGhpcy5yZW1vdmU9ZnVuY3Rpb24oKXtpZighdC5lbXB0eSgpKXt2YXIgZT10Ll9ib3R0b20saT10LnN0b3JhZ2VbZV07cmV0dXJuIHQuc3RvcmFnZVtlXT1udWxsLHQuX2JvdHRvbSsrLGl9fSx0aGlzLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHQuX3RvcD09PXQuX2JvdHRvbX0sdGhpcy5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHQuX3RvcC10Ll9ib3R0b219fXZhciBwZT17cXVldWU6dWUsZGVwdGg6ZnVuY3Rpb24gYnModCxlLGkpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmdFtlXSYmdFtlXS5sZW5ndGg+MClmb3IodmFyIG49dFtlXS5sZW5ndGg7LS1uPi0xOylicyh0W2VdW25dLGUsaSk7dCE9PXVuZGVmaW5lZCYmaSh0KX0sYnJlYXRoZTpmdW5jdGlvbih0LGUsaSl7dmFyIG49bmV3IHVlLG89bnVsbDtmb3Iobi5hZGQodCksbz1uLnJlbW92ZSgpO287KXtmb3IodmFyIHI9MDtyPG9bZV0ubGVuZ3RoO3IrKyluLmFkZChvW2VdW3JdKTtpKG8pLG89bi5yZW1vdmUoKX19fTtmdW5jdGlvbiBmZSgpe3RoaXMuY2hpbGRyZW49W10sdGhpcy5fZXZlbnRzPVtdfWZ1bmN0aW9uIGRlKHQpe3RyeXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIkV2ZW50IG9iamVjdCBpcyByZXF1aXJlZCIpO2lmKHQudG91Y2hlc3x8dC5jaGFuZ2VkVG91Y2hlcyl7dmFyIGU9dC50b3VjaGVzJiZ0LnRvdWNoZXMubGVuZ3RoPj0xP3QudG91Y2hlczp0LmNoYW5nZWRUb3VjaGVzO2lmKGUmJmVbMF0pcmV0dXJuIGVbMF0ueD1lWzBdLmNsaWVudFgsZVswXS55PWVbMF0uY2xpZW50WSxlWzBdfXZhciBpPSJudW1iZXIiPT10eXBlb2YgdC5wYWdlWCYmIm51bWJlciI9PXR5cGVvZiB0LnBhZ2VZLG49Im51bWJlciI9PXR5cGVvZiB0LmNsaWVudFgmJiJudW1iZXIiPT10eXBlb2YgdC5jbGllbnRZO3JldHVybiBpP3t4OnQucGFnZVgseTp0LnBhZ2VZfTpuP3t4OnQuY2xpZW50WCx5OnQuY2xpZW50WX06bnVsbH1jYXRjaChkcyl7cmV0dXJuIEJ0KCJEb21FdmVudCBDb29yZHMgRXJyb3IiLCJlcnJvciIsImNvcmUiLHtlcnJvcjpkcyxldmVudDp0fSksbnVsbH19ZnVuY3Rpb24gbWUodCxlKXt2YXIgaT10OyJkb3duIj09PXR8fCJ1cCI9PT10fHwibW92ZSI9PT10fHwib3ZlciI9PT10fHwib3V0Ij09PXQ/aT0hKHR0LlN5c3RlbS5tb2JpbGUmJiJkZXNrdG9wIiE9PWV8fCJtb2JpbGUiPT09ZSl8fCJkb3duIiE9PXQmJiJ1cCIhPT10JiYibW92ZSIhPT10PyJtb3VzZSIrdDoiZG93biI9PT10PyJ0b3VjaHN0YXJ0IjoidXAiPT09dD8idG91Y2hlbmQiOiJ0b3VjaG1vdmUiOiJlbnRlciI9PT10JiYoaT0ia2V5ZG93biIpO3JldHVybiBpfWZlLnByb3RvdHlwZS5pbml0Q29tcG9uZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk9bmV3IHQoZSk7cmV0dXJuIGkuX3BhcmVudD10aGlzLHRoaXMuY2hpbGRyZW4ucHVzaChpKSxpfSxmZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dHJ5e3BlLmRlcHRoKHRoaXMsImNoaWxkcmVuIiwoZnVuY3Rpb24oZSl7aWYodCE9PWUpZm9yKHZhciBpPXQuY2hpbGRyZW4ubGVuZ3RoOy0taT4tMTspdC5jaGlsZHJlbltpXT09PWUmJnQuY2hpbGRyZW4uc3BsaWNlKGksMSk7ZS5fZGVzdHJveSYmZS5fZGVzdHJveSgpLGU9bnVsbH0pKX1jYXRjaChtcyl7dGhyb3cgbmV3IEVycm9yKCJUcm91YmxlIGRlc3Ryb3lpbmcgbm9kZXM6ICIrbXMpfXJldHVybiBudWxsfSxmZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLm9uRGVzdHJveSYmdGhpcy5vbkRlc3Ryb3koKTtmb3IodmFyIHQ9dGhpcy5fZXZlbnRzLmxlbmd0aHx8MDstLXQ+LTE7KXRoaXMuX2V2ZW50cy5zcGxpY2UodCwxKTt0aGlzLmNoaWxkcmVuPW51bGwsdGhpcy5fZGVzdHJveT1udWxsLHRoaXMuX2V2ZW50cz1udWxsLHRoaXMuZGVzdHJveT1udWxsLHRoaXMuZW1pdD1udWxsLHRoaXMub249bnVsbCx0aGlzLm9mZj1udWxsLHRoaXMuaW5pdENvbXBvbmVudD1udWxsfSxmZS5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9dGhpcy5fZXZlbnRzLmxlbmd0aCxuPSExOy0taT4tMSYmITE9PT1uOyl0aGlzLl9ldmVudHNbaV0uZXZlbnQ9PT10JiYobj10aGlzLl9ldmVudHNbaV0pOyExPT09biYmKG49e2V2ZW50OnQsbGlzdGVuZXJzOltdfSx0aGlzLl9ldmVudHMucHVzaChuKSksbi5saXN0ZW5lcnMucHVzaChlKX0sZmUucHJvdG90eXBlLm9mZj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT10aGlzLl9ldmVudHMubGVuZ3RoOy0taT4tMTspaWYodGhpcy5fZXZlbnRzW2ldLmV2ZW50PT09dCl7Zm9yKHZhciBuPXRoaXMuX2V2ZW50c1tpXS5saXN0ZW5lcnMubGVuZ3RoOy0tbj4tMTspdGhpcy5fZXZlbnRzW2ldLmxpc3RlbmVyc1tuXT09PWUmJnRoaXMuX2V2ZW50c1tpXS5saXN0ZW5lcnNbbl0uc3BsaWNlKG4sMSk7MD09PXRoaXMuX2V2ZW50c1tpXS5saXN0ZW5lcnMubGVuZ3RoJiZ0aGlzLl9ldmVudHNbaV0uc3BsaWNlKGksMSl9fSxmZS5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGk9dGhpcy5fZXZlbnRzLmxlbmd0aDstLWk+LTE7KWlmKHRoaXMuX2V2ZW50c1tpXS5ldmVudD09PXQpZm9yKHZhciBuPXRoaXMuX2V2ZW50c1tpXS5saXN0ZW5lcnMubGVuZ3RoOy0tbj4tMTspdGhpcy5fZXZlbnRzW2ldLmxpc3RlbmVyc1tuXS5hcHBseSh0aGlzLGUpfTtmdW5jdGlvbiB5ZSh0LGUsaSxuKXt2YXIgbz1tZShlKSxyPWUscz0wLGE9MCxsPWUuaW5kZXhPZigic3dpcGUiKT49MCxjPTA7ZnVuY3Rpb24gaCh0KXt2YXIgZT1kZSh0KTtlJiYocz1lLnBhZ2VYLGE9ZS5wYWdlWSxjPURhdGUubm93KCkpfWZ1bmN0aW9uIHUoZSl7dmFyIG49ZGUoZSk7aWYobil7dmFyIHIsbCxoPW4ucGFnZVgtcyx1PW4ucGFnZVktYSxwPURhdGUubm93KCktYztpZighKHA+MzAwKSYmKGg8PS0yNT9yPSJzd2lwZWxlZnQiOmg+PTI1JiYocj0ic3dpcGVyaWdodCIpLHU8PS0yNT9sPSJzd2lwZXVwIjp1Pj0yNSYmKGw9InN3aXBlZG93biIpLG89PT1yfHxvPT09bCkpe3ZhciBmPXI9PT1vP3I6bDtlLmFjdGlvbj1mLGUudGFyZ2V0RWxlbWVudD10LGUuc3dpcGVTcGVlZD1NYXRoLnNxcnQoaCpoK3UqdSkvcCxlLmRlbHRhWD1oLGUuZGVsdGFZPXUsaShlKX19fWZ1bmN0aW9uIHAobil7dHJ5e3ZhciBvPWZ1bmN0aW9uKHQpe3ZhciBlPXQ/dC50eXBlOiIiO3JldHVybiJ0b3VjaHN0YXJ0Ij09PWV8fCJtb3VzZWRvd24iPT09ZT9lPSJkb3duIjoidG91Y2htb3ZlIj09PWV8fCJtb3VzZW1vdmUiPT09ZT9lPSJtb3ZlIjoidG91Y2hlbmQiPT09ZXx8Im1vdXNldXAiPT09ZT9lPSJ1cCI6Im1vdXNlb3ZlciI9PT1lP2U9Im92ZXIiOiJtb3VzZW91dCI9PT1lJiYoZT0ib3V0IiksZX0obik7aWYoKG49bnx8d2luZG93LmV2ZW50KSYmIm9iamVjdCI9PXR5cGVvZiBufHxNdCgiRG9tRXZlbnQgTWlzc2luZy4iLCJjb3JlIiwiaW5mbyIsbj17fSksImRvd24iPT09b3x8Im1vdmUiPT09b3x8InVwIj09PW98fCJvdmVyIj09PW98fCJvdXQiPT09b3x8ImNsaWNrIj09PW8pe3ZhciByPWRlKG4pO2lmKCFyKXJldHVybjt2YXIgcz10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO24ud2luZG93WD1yLngsbi53aW5kb3dZPXIueSxuLmVsZW1lbnRYPW4ud2luZG93WC0ocy54fHxzLmxlZnQpLG4uZWxlbWVudFk9bi53aW5kb3dZLShzLnl8fHMudG9wKX1pZihuLmtleU51bT1uLndoaWNofHxuLmtleUNvZGV8fDAsImVudGVyIj09PWUmJjEzIT09bi5rZXlOdW0mJjMyIT09bi5rZXlOdW0pcmV0dXJuO24uYWN0aW9uPW8sbi50YXJnZXRFbGVtZW50PXQsaShuKX1jYXRjaChkcyl7QnQoIkRvbUV2ZW50IEVycm9yIiwiZXJyb3IiLCJjb3JlIix7ZXJyb3I6ZHMsZXZlbnQ6bn0pfX1yZXR1cm4gbnx8KG49e30pLGw/ZnVuY3Rpb24oKXtpZighKCJhZGRFdmVudExpc3RlbmVyImluIHQpKXJldHVybjt0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsaCxuKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHUsbiksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixoLG4pLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHUsbil9KCk6ZnVuY3Rpb24oKXtpZighKCJhZGRFdmVudExpc3RlbmVyImluIHQpKXJldHVybiB2b2lkIHQuYXR0YWNoRXZlbnQoIm9uIitvLHApO3QuYWRkRXZlbnRMaXN0ZW5lcihvLHAsbil9KCkse2V2ZW50Om8scmF3RXZlbnQ6cixjYWxsYmFjazppLHJlbW92ZTpmdW5jdGlvbigpe2w/KHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixoLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdSxuKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGgsbiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdSxuKSk6InJlbW92ZUV2ZW50TGlzdGVuZXIiaW4gdD90LnJlbW92ZUV2ZW50TGlzdGVuZXIobyxwLG4pOnQuZGV0YWNoRXZlbnQoIm9uIitvLHApfX19dmFyIGdlPVsiV2Via2l0IiwiTW96IiwibXMiXSxiZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSx2ZT17fTtmdW5jdGlvbiB3ZSh0KXt2YXIgZT12ZVt0XTtyZXR1cm4gZXx8KHQgaW4gYmU/dDp2ZVt0XT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksaT1nZS5sZW5ndGg7aS0tOylpZigodD1nZVtpXStlKWluIGJlKXJldHVybiB0fSh0KXx8dCl9ZnVuY3Rpb24ga2UodCxlLGkpe2lmKHRoaXMuZG9tPW51bGwsdGhpcy5fY2xzcz1bXSx0aGlzLl9ub2Rlcz1bXSx0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5fZnJhZz1udWxsLHQmJiJvYmplY3QiPT10eXBlb2YgdCl7dGhpcy5kb209dDt2YXIgbj1bXSxvPVtdOyJzdHJpbmciPT10eXBlb2YgdC5jbGFzc05hbWUmJihvPXQuY2xhc3NOYW1lLnNwbGl0KCIgIikpO2Zvcih2YXIgcj0wO3I8by5sZW5ndGg7cisrKSIiIT09b1tyXSYmIiAiIT09b1tyXSYmbi5wdXNoKG9bcl0pO3RoaXMuX2Nsc3M9bn1lbHNlIGkhPT11bmRlZmluZWQmJm51bGwhPT1pfHwoaT0hMCksKCF0fHwic3RyaW5nIj09dHlwZW9mIHQmJih0LmluZGV4T2YoIiMiKT49MHx8dC5pbmRleE9mKCIuIik+PTApKSYmKHQmJihlPXQpLHQ9ImRpdiIpLHRoaXMuZG9tPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCksZSYmKGUuaW5kZXhPZigiIyIpPj0wP3RoaXMuZG9tLmlkPWUuc3BsaXQoIiMiKVsxXTooZS5pbmRleE9mKCIuIik+PTAmJihlPWUuc3BsaXQoIi4iKVsxXSksdGhpcy5hZGRDbGFzcy5jYWxsKHRoaXMsZSkpKTshMD09PWkmJih0aGlzLl9mcmFnPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSx0aGlzLl9mcmFnLmFwcGVuZENoaWxkKHRoaXMuZG9tKSl9a2UucHJvdG90eXBlLmNsb25lTm9kZT1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIHRoaXMuZG9tLmNsb25lTm9kZSh0KX1jYXRjaChtcyl7cmV0dXJuIFV0KCJlbGVtZW50IixtcyksbnVsbH19LGtlLnByb3RvdHlwZS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQsZSl7dHJ5e3ZhciBpPW5ldyBrZSh0LGUsITEpO3JldHVybiB0aGlzLmFwcGVuZEVsZW1lbnQuY2FsbCh0aGlzLGkpLHRoaXMuX25vZGVzLnB1c2goaSksaX1jYXRjaChtcyl7cmV0dXJuIFV0KCJlbGVtZW50IixtcyksbnVsbH19LGtlLnByb3RvdHlwZS5hcHBlbmRFbGVtZW50PWZ1bmN0aW9uKHQpe2lmKHQ9PT11bmRlZmluZWQpcmV0dXJuIEN0KHtuYW1lOiJEb21FbGVtZW50IEFkZCBDaGlsZCIsbWVzc2FnZToiQ2hpbGQgRWxlbWVudCBpcyB1bmRlZmluZWQifSk7dmFyIGU7ZT10Ll9mcmFnIT09dW5kZWZpbmVkJiZudWxsIT09dC5fZnJhZz90Ll9mcmFnOnQuZG9tIT09dW5kZWZpbmVkP3QuZG9tOnQ7dHJ5e3QgaW5zdGFuY2VvZiBrZSYmKHQuX3BhcmVudD10aGlzKSx0aGlzLmRvbS5hcHBlbmRDaGlsZChlKX1jYXRjaChtcyl7Q3Qoe25hbWU6IkRvbUVsZW1lbnQgQWRkIENoaWxkIixtZXNzYWdlOiJGYWlsZWQgdG8gYXBwZW5kIGNoaWxkLiJ9KX1yZXR1cm4gdGhpc30sa2UucHJvdG90eXBlLnJlbW92ZUVsZW1lbnQ9ZnVuY3Rpb24odCl7dHJ5e3ZhciBlO2lmKHQuX25vZGVzKWZvcihlPXQuX25vZGVzLmxlbmd0aDtlLS07KXQucmVtb3ZlRWxlbWVudCh0Ll9ub2Rlc1tlXSk7Zm9yKGU9dGhpcy5fbm9kZXMubGVuZ3RoOy0tZT4tMTspdGhpcy5fbm9kZXNbZV09PT10JiZ0aGlzLl9ub2Rlcy5zcGxpY2UoZSwxKTt2YXIgaT10IGluc3RhbmNlb2Yga2U/dC5kb206dCxuPWkucGFyZW50Tm9kZT09PXRoaXMuZG9tP3RoaXMuZG9tOmkucGFyZW50Tm9kZTtpZihuLnJlbW92ZUNoaWxkJiZuLnJlbW92ZUNoaWxkKGkpLCFuKXRocm93IG5ldyBFcnJvcigiQ2hpbGQgY29tcG9uZW50IGRvZXMgbm90IGhhdmUgY29ycmVjdCBzZXR1cCIpO3QuX19kZXN0cm95JiZ0Ll9fZGVzdHJveSgpfWNhdGNoKG1zKXtDdCh7bmFtZToiRG9tRWxlbWVudCBSZW1vdmUgQ2hpbGQiLG1lc3NhZ2U6bXMubWVzc2FnZXx8IkZhaWxlZCB0byByZW1vdmUgY2hpbGQuIn0pfX0sa2UucHJvdG90eXBlLmFkZENsYXNzPWZ1bmN0aW9uKHQpe3JldHVybiExPT09dGhpcy5oYXNDbGFzcy5jYWxsKHRoaXMsdCkmJih0aGlzLl9jbHNzLnB1c2godCksdGhpcy5kb20uY2xhc3NOYW1lPXRoaXMuX2Nsc3Muam9pbigiICIpKSx0aGlzfSxrZS5wcm90b3R5cGUuaGFzQ2xhc3M9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPS0xIT09dGhpcy5kb20uY2xhc3NOYW1lLnNwbGl0KCIgIikuaW5kZXhPZih0KSxpPXRoaXMuX2Nsc3MubGVuZ3RoO2ktLSYmIWU7KWU9dGhpcy5fY2xzc1tpXT09PXQ7cmV0dXJuIGV9LGtlLnByb3RvdHlwZS5yZW1vdmVDbGFzcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5fY2xzcy5sZW5ndGg7LS1lPi0xOyl0aGlzLl9jbHNzW2VdPT09dCYmdGhpcy5fY2xzcy5zcGxpY2UoZSwxKTtyZXR1cm4gdGhpcy5kb20uY2xhc3NOYW1lPXRoaXMuX2Nsc3Muam9pbigiICIpLHRoaXN9LGtlLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe2lmKHRoaXMmJnRoaXMuZG9tKXtpZighdClyZXR1cm4gdGhpcy5kb20udGV4dENvbnRlbnQ7Zm9yKHZhciBlLGksbixvLHI9LyYoLio/KTsvZyxzPS88W2Etel1bXHNcU10qPi9pO251bGwhPT0oZT1yLmV4ZWModCkpOyl7ITE9PT1zLnRlc3QoZVswXSk/KG49ZVswXSxvPXZvaWQgMCwobz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPW4saT1vLnRleHRDb250ZW50LHQ9dC5yZXBsYWNlKG5ldyBSZWdFeHAoZVswXSwiZyIpLGkpKTp0PXQucmVwbGFjZShlWzBdLCIiKX1yZXR1cm4gdGhpcy5kb20udGV4dENvbnRlbnQ9dCx0aGlzfX0sa2UucHJvdG90eXBlLmNvbnRlbnQ9a2UucHJvdG90eXBlLnRleHQsa2UucHJvdG90eXBlLmNzcz1mdW5jdGlvbih0KXt2YXIgZSxpPSJpZSI9PT10dC5Ccm93c2VyLnR5cGUmJjg9PT10dC5Ccm93c2VyLnZlcnNpb24sbj0ic2FmYXJpIj09PXR0LkJyb3dzZXIudHlwZSYmMTI9PT1NYXRoLmZsb29yKHR0LkJyb3dzZXIudmVyc2lvbik7Zm9yKHZhciBvIGluIHQpe2U9dFtvXTt0cnl7aWYoInRyYW5zaXRpb24iPT09byYmbiljb250aW51ZTsib3BhY2l0eSIhPT1vJiYiekluZGV4IiE9PW8mJiJmb250V2VpZ2h0IiE9PW8mJmlzRmluaXRlKGUpJiZwYXJzZUZsb2F0KGUpPT09ZSYmKGUrPSJweCIpO3ZhciByPXdlKG8pO2kmJiJvcGFjaXR5Ij09PW8/dGhpcy5kb20uc3R5bGUuZmlsdGVyPSJhbHBoYShvcGFjaXR5PSIrMTAwKmUrIikiOmkmJkh0Lmhhc0FscGhhKGUpP3RoaXMuZG9tLnN0eWxlW3JdPW5ldyBIdChlKS5nZXRIZXgoKTp0aGlzLmRvbS5zdHlsZVtyXT1lfWNhdGNoKGRzKXt9fXJldHVybiB0aGlzfSxrZS5wcm90b3R5cGUuYmFja2dyb3VuZEltYWdlPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciBvPWUhPT11bmRlZmluZWQmJmkhPT11bmRlZmluZWQscj17Ii1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdCI6Im5vbmUifTtpZigib2JqZWN0Ij09dHlwZW9mIGUmJihuPWUpLG49PT11bmRlZmluZWQmJihuPXt9KSxvKXt2YXIgcz10LndpZHRoL3QuaGVpZ2h0LGE9ZSxsPWEvcztuLmNvdmVyJiZsPGkmJihhPShsPWkpKnMpLG4uY29udGFpbiYmbD5pJiYoYT0obD1pKSpzKSxyLndpZHRoPWEsci5oZWlnaHQ9bCxuLmNlbnRlciYmKHIubWFyZ2luTGVmdD0tYS8yLHIubWFyZ2luVG9wPS1sLzIsci5wb3NpdGlvbj0iYWJzb2x1dGUiLHIubGVmdD0iNTAlIixyLnRvcD0iNTAlIiksKG4ubGVmdHx8bi5yaWdodCkmJihyLmxlZnQ9bi5sZWZ0fHwwLHIudG9wPW4udG9wfHwwKX0iaWUiPT09dHQuQnJvd3Nlci50eXBlJiY4PT09dHQuQnJvd3Nlci52ZXJzaW9uP3IuZmlsdGVyPSJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlcihzcmM9JyIrdC5zcmMrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpIjooci5iYWNrZ3JvdW5kPSJ1cmwoIit0LnNyYysiKSIsci5iYWNrZ3JvdW5kUG9zaXRpb249IjUwJSA1MCUiLHIuYmFja2dyb3VuZFJlcGVhdD0ibm8tcmVwZWF0IixyLmJhY2tncm91bmRTaXplPW8/YSsicHggIitsKyJweCI6bi5jb3Zlcj8iY292ZXIiOm4uY29udGFpbj8iY29udGFpbiI6IjEwMCUiKSx0aGlzLmNzcy5jYWxsKHRoaXMscil9LGtlLnByb3RvdHlwZS5zZXRBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt2YXIgaTtpZigib2JqZWN0Ij09dHlwZW9mIHQpZm9yKHZhciBuIGluIHQpaT10W25dLHRoaXMuZG9tLnNldEF0dHJpYnV0ZShuLGkpO2Vsc2UgdGhpcy5kb20uc2V0QXR0cmlidXRlKHQsZSl9LGtlLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt2YXIgaTtpZigib2JqZWN0Ij09dHlwZW9mIHQpZm9yKHZhciBuIGluIHQpaT10W25dLHRoaXMuZG9tLnJlbW92ZUF0dHJpYnV0ZShuLGkpO2Vsc2UgdGhpcy5kb20ucmVtb3ZlQXR0cmlidXRlKHQsZSl9LGtlLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1uZXcgeWUodGhpcy5kb20sdCxlLGkpO2lmKHRoaXMuX2xpc3RlbmVycy5wdXNoKG4pLHQhPT1uLmV2ZW50JiYobi5ldmVudC5pbmRleE9mKCJtb3VzZSIpPj0wfHxuLmV2ZW50LmluZGV4T2YoInRvdWNoIik+PTApKXt2YXIgbz1tZSh0LG4uZXZlbnQuaW5kZXhPZigidG91Y2giKT49MD8iZGVza3RvcCI6Im1vYmlsZSIpO2lmKG89PT1uLmV2ZW50KXJldHVybjt0aGlzLmFkZEV2ZW50TGlzdGVuZXIuY2FsbCh0aGlzLG8sZSxpKX19LGtlLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4sbz10aGlzLl9saXN0ZW5lcnMubGVuZ3RoLHI9bWUodCk7LS1vPi0xOykobj10aGlzLl9saXN0ZW5lcnNbb10pLmV2ZW50PT09ciYmbi5jYWxsYmFjaz09PWUmJih0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKG8sMSksbi5yZW1vdmUoKSl9LGtlLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbigpe3RoaXMuZG9tLmZvY3VzKCl9LGtlLnByb3RvdHlwZS5ibHVyPWZ1bmN0aW9uKCl7dGhpcy5kb20uYmx1cigpfSxrZS5wcm90b3R5cGUuaHRtbD1mdW5jdGlvbih0KXtyZXR1cm4gdCYmKHRoaXMuZG9tLmlubmVySFRNTD10KSx0aGlzLmRvbS5pbm5lckhUTUx9LGtlLnByb3RvdHlwZS5fX2Rlc3Ryb3k9ZnVuY3Rpb24oKXtmb3IodmFyIHQsZT10aGlzLl9saXN0ZW5lcnMubGVuZ3RoOy0tZT4tMTspdD10aGlzLl9saXN0ZW5lcnNbZV0sdGhpcy5fbGlzdGVuZXJzLnNwbGljZShlLDEpLHRoaXMuZG9tLnJlbW92ZUV2ZW50TGlzdGVuZXI/dGhpcy5kb20ucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LmV2ZW50LHQuaGFuZGxlcik6dGhpcy5kb20uZGV0YWNoRXZlbnQoIm9uIit0LmV2ZW50LHQuaGFuZGxlcik7cmV0dXJuIHRoaXMuZG9tPW51bGwsdGhpcy5fY2xzcz1bXSx0aGlzLl9ub2Rlcz1bXSx0aGlzLl9saXN0ZW5lcnM9W10sdGhpcy5fZnJhZz1udWxsLHQ9bnVsbCxudWxsfSxrZS5wcm90b3R5cGUuaXNDb25uZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuZG9tJiYoImlzQ29ubmVjdGVkImluIHRoaXMuZG9tP3RoaXMuZG9tLmlzQ29ubmVjdGVkOiEodGhpcy5kb20ub3duZXJEb2N1bWVudCYmdGhpcy5kb20ub3duZXJEb2N1bWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmRvbSkmdGhpcy5kb20uRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEKSl9O3ZhciB4ZT17c2VsZjpmdW5jdGlvbih0LGUpe3ZhciBpPXt9LG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDIpO2Zvcih2YXIgbyBpbiBlLmFwcGx5KHQsbiksdClpW29dPXRbb119LHByb3RvOmZ1bmN0aW9uKHQsZSl7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19O2Z1bmN0aW9uIF9lKHQsZSl7eGUuc2VsZih0aGlzLGtlLGV8fCJkaXYiLHQpLHRoaXMuY2hpbGRyZW49W10sdGhpcy5fZXZlbnRzPVtdfXhlLnByb3RvKF9lLGtlKSxfZS5wcm90b3R5cGUuaW5pdENvbXBvbmVudD1mdW5jdGlvbih0LGUsaSl7dHJ5e3ZhciBuPW5ldyB0KGUpO3JldHVybiBuLl9wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkcmVuLnB1c2gobiksbi5kb20mJihpIT09dW5kZWZpbmVkP2kuYXBwZW5kRWxlbWVudCYmaS5hcHBlbmRFbGVtZW50KG4pOnRoaXMuYXBwZW5kRWxlbWVudChuKSksbn1jYXRjaChtcyl7cmV0dXJuIFV0KCJjb21wb25lbnQiLG1zKSxudWxsfX0sX2UucHJvdG90eXBlLnJlbW92ZUNvbXBvbmVudD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5jaGlsZHJlbi5sZW5ndGg7LS1lPi0xOylpZih0aGlzLmNoaWxkcmVuW2VdPT09dCl7dGhpcy5jaGlsZHJlbi5zcGxpY2UoZSwxKTticmVha310Ll9kZXN0cm95JiZ0Ll9kZXN0cm95KCksdD1udWxsfSxfZS5wcm90b3R5cGUucmVtb3ZlQWxsQ29tcG9uZW50cz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmNoaWxkcmVuLmxlbmd0aDstLXQ+LTE7KXRoaXMuY2hpbGRyZW5bdF0uX2Rlc3Ryb3kmJnRoaXMuY2hpbGRyZW5bdF0uX2Rlc3Ryb3koKTt0aGlzLmNoaWxkcmVuPVtdfSxfZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dHJ5e3BlLmRlcHRoKHRoaXMsImNoaWxkcmVuIiwoZnVuY3Rpb24oZSl7aWYodCE9PWUpZm9yKHZhciBpPXQuY2hpbGRyZW4ubGVuZ3RoOy0taT4tMTspdC5jaGlsZHJlbltpXT09PWUmJnQuY2hpbGRyZW4uc3BsaWNlKGksMSk7ZS5fZGVzdHJveSYmZS5fZGVzdHJveSgpLGU9bnVsbH0pKX1jYXRjaChtcyl7dGhyb3cgbmV3IEVycm9yKCJUcm91YmxlIGRlc3Ryb3lpbmcgbm9kZXM6ICIrbXMpfXJldHVybiBudWxsfSxfZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oKXt0cnl7dGhpcy5vbkRlc3Ryb3kmJnRoaXMub25EZXN0cm95KCksdGhpcy5fcGFyZW50LnJlbW92ZUVsZW1lbnQmJnRoaXMuX3BhcmVudC5yZW1vdmVFbGVtZW50KHRoaXMpO2Zvcih2YXIgdD10aGlzLl9ldmVudHMubGVuZ3RoOy0tdD4tMTspdGhpcy5fZXZlbnRzLnNwbGljZSh0LDEpO3RoaXMuY2hpbGRyZW49bnVsbCx0aGlzLl9kZXN0cm95PW51bGwsdGhpcy5fZXZlbnRzPW51bGwsdGhpcy5kZXN0cm95PW51bGwsdGhpcy5lbWl0PW51bGwsdGhpcy5vbj1udWxsLHRoaXMub2ZmPW51bGwsdGhpcy5pbml0Q29tcG9uZW50PW51bGx9Y2F0Y2gobXMpe0N0KHtuYW1lOiJEb21Db21wb25lbnQiLG1lc3NhZ2U6IkZhaWxlZCB0byBkZXN0cm95LiJ9KX19LF9lLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT10aGlzLl9ldmVudHMubGVuZ3RoLG49ITE7LS1pPi0xJiYhMT09PW47KXRoaXMuX2V2ZW50c1tpXS5ldmVudD09PXQmJihuPXRoaXMuX2V2ZW50c1tpXSk7ITE9PT1uJiYobj17ZXZlbnQ6dCxsaXN0ZW5lcnM6W119LHRoaXMuX2V2ZW50cy5wdXNoKG4pKSxuLmxpc3RlbmVycy5wdXNoKGUpfSxfZS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPXRoaXMuX2V2ZW50cy5sZW5ndGg7LS1pPi0xOylpZih0aGlzLl9ldmVudHNbaV0uZXZlbnQ9PT10KXtmb3IodmFyIG49dGhpcy5fZXZlbnRzW2ldLmxpc3RlbmVycy5sZW5ndGg7LS1uPi0xOyl0aGlzLl9ldmVudHNbaV0ubGlzdGVuZXJzW25dPT09ZSYmdGhpcy5fZXZlbnRzW2ldLmxpc3RlbmVycy5zcGxpY2UobiwxKTswPT09dGhpcy5fZXZlbnRzW2ldLmxpc3RlbmVycy5sZW5ndGgmJnRoaXMuX2V2ZW50cy5zcGxpY2UoaSwxKX19LF9lLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaT10aGlzLl9ldmVudHMubGVuZ3RoOy0taT4tMSYmdGhpcy5fZXZlbnRzOylpZih0aGlzLl9ldmVudHNbaV0uZXZlbnQ9PT10KWZvcih2YXIgbj10aGlzLl9ldmVudHNbaV0ubGlzdGVuZXJzLmxlbmd0aDstLW4+LTE7KXRoaXMuX2V2ZW50c1tpXS5saXN0ZW5lcnNbbl0uYXBwbHkodGhpcyxlKX07dmFyIEVlPXtldmVudE5hbWU6ZnVuY3Rpb24odCxlKXt2YXIgaT10OyJkb3duIj09PXR8fCJ1cCI9PT10fHwibW92ZSI9PT10fHwib3ZlciI9PT10fHwib3V0Ij09PXQ/aT0hKHR0LlN5c3RlbS5tb2JpbGUmJiJkZXNrdG9wIiE9PWV8fCJtb2JpbGUiPT09ZSl8fCJkb3duIiE9PXQmJiJ1cCIhPT10JiYibW92ZSIhPT10PyJtb3VzZSIrdDoiZG93biI9PT10PyJ0b3VjaHN0YXJ0IjoidXAiPT09dD8idG91Y2hlbmQiOiJ0b3VjaG1vdmUiOiJlbnRlciI9PT10JiYoaT0ia2V5ZG93biIpO3JldHVybiBpfSxhY3Rpb25OYW1lOmZ1bmN0aW9uKHQpe3ZhciBlPXQ7cmV0dXJuInRvdWNoc3RhcnQiPT09ZXx8Im1vdXNlZG93biI9PT1lP2U9ImRvd24iOiJ0b3VjaG1vdmUiPT09ZXx8Im1vdXNlbW92ZSI9PT1lP2U9Im1vdmUiOiJ0b3VjaGVuZCI9PT1lfHwibW91c2V1cCI9PT1lP2U9InVwIjoibW91c2VvdmVyIj09PWU/ZT0ib3ZlciI6Im1vdXNlb3V0Ij09PWUmJihlPSJvdXQiKSxlfSxldmVudENhbGxiYWNrOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1FZS5hY3Rpb25OYW1lKHQpO3JldHVybiBmdW5jdGlvbihvKXt0cnl7aWYobz1vfHx3aW5kb3cuZXZlbnQsImRvd24iPT09bnx8Im1vdmUiPT09bnx8InVwIj09PW58fCJvdmVyIj09PW58fCJvdXQiPT09bnx8ImNsaWNrIj09PW4pe3ZhciByPUVlLmV2ZW50Q29vcmRzKG8pO2lmKCFyKXJldHVybjt2YXIgcz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO28ud2luZG93WD1yLngsby53aW5kb3dZPXIueSxvLmVsZW1lbnRYPW8ud2luZG93WC0ocy54fHxzLmxlZnQpLG8uZWxlbWVudFk9by53aW5kb3dZLShzLnl8fHMudG9wKX1pZihvLmtleU51bT1vLndoaWNofHxvLmtleUNvZGV8fDAsImVudGVyIj09PXQmJjEzIT09by5rZXlOdW0mJjMyIT09by5rZXlOdW0pcmV0dXJuO28uYWN0aW9uPW4sby50YXJnZXRFbGVtZW50PWksZShvKX1jYXRjaChkcyl7QnQoIk5vcm1hbGl6ZSBFcnJvciIsImVycm9yIiwiY29yZSIse2Vycm9yOmRzfSl9fX0sZXZlbnRDb29yZHM6ZnVuY3Rpb24odCl7dHJ5e2lmKCF0KXRocm93IG5ldyBFcnJvcigiRXZlbnQgb2JqZWN0IGlzIHJlcXVpcmVkIik7dmFyIGU9dDtpZih0LnRvdWNoZXN8fHQuY2hhbmdlZFRvdWNoZXMpe3ZhciBpPXQudG91Y2hlcyYmdC50b3VjaGVzLmxlbmd0aD49MT90LnRvdWNoZXM6dC5jaGFuZ2VkVG91Y2hlcztpJiZpWzBdJiYoZT1pWzBdKX1yZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUucGFnZVgmJiJudW1iZXIiPT10eXBlb2YgZS5wYWdlWT97eDplLnBhZ2VYLHk6ZS5wYWdlWX06Im51bWJlciI9PXR5cGVvZiBlLmNsaWVudFgmJiJudW1iZXIiPT10eXBlb2YgZS5jbGllbnRZP3t4OmUuY2xpZW50WCx5OmUuY2xpZW50WX06bnVsbH1jYXRjaChkcyl7cmV0dXJuIEJ0KCJOb3JtYWxpemUgQ29vcmRzIEVycm9yIiwiZXJyb3IiLCJjb3JlIix7ZXJyb3I6ZHMsZXZlbnQ6dH0pLG51bGx9fX07ZnVuY3Rpb24gVmUodCl7aWYobnVsbD09PXQpcmV0dXJuIiI7dmFyIGU9W107cmV0dXJuIENlKHQsZSksZS5qb2luKCImIil9ZnVuY3Rpb24gQ2UodCxlKXt2YXIgaSxuO2lmKCJvYmplY3QiPT10eXBlb2YgdClmb3IobiBpbiB0KSEwPT09VGUoaT10W25dKT9DZShpLGUpOmVbZS5sZW5ndGhdPVNlKG4saSk7ZWxzZSBpZighMD09PUFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBvPTA7bzx0Lmxlbmd0aDtvKyspITA9PT1UZShpPXRbb10pP0NlKHQsZSk6ZVtlLmxlbmd0aF09U2UobixpKTtlbHNlIGVbZS5sZW5ndGhdPVNlKHQpfWZ1bmN0aW9uIFRlKHQpe3JldHVybiEwPT09QXJyYXkuaXNBcnJheSh0KXx8Im9iamVjdCI9PXR5cGVvZiB0fWZ1bmN0aW9uIFNlKHQsZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KG51bGw9PT1lPyIiOmUpfXZhciBSZT17YWY6IkFmcmlrYWFucyIsc3E6IkFsYmFuaWFuIixhbToiQW1oYXJpYyIsYXI6IkFyYWJpYyIsaHk6IkFybWVuaWFuIixhejoiQXplcmJhaWphbmkiLGV1OiJCYXNxdWUiLGJlOiJCZWxhcnVzaWFuIixibjoiQmVuZ2FsaSIsYmc6IkJ1bGdhcmlhbiIsYnM6IkJvc25pYW4iLG15OiJCdXJtZXNlIixjYToiQ2F0YWxhbiIsY2ViOiJDZWJ1YW5vIix6aDoiQ2hpbmVzZSIsInpoLUNOIjoiQ2hpbmVzZSBTaW1wbGlmaWVkIiwiemgtVFciOiJDaGluZXNlIFRyYWRpdGlvbmFsIixjbzoiQ29yc2ljYW4iLGhyOiJDcm9hdGlhbiIsY3M6IkN6ZWNoIixkYToiRGFuaXNoIixubDoiRHV0Y2giLGVuOiJFbmdsaXNoIixlbzoiRXNwZXJhbnRvIixldDoiRXN0b25pYW4iLGZpOiJGaW5uaXNoIixmcjoiRnJlbmNoIixmeToiRnJpc2lhbiIsZ2Q6IkdhZWxpYyIsZ2w6IkdhbGFjaWFuIixrYToiR2VvcmdpYW4iLGRlOiJHZXJtYW4iLGVsOiJHcmVlayIsZ3U6Ikd1anVyYXRpIixodDoiSGFpdGlhbiIsaGE6IkhhdXNhIixoYXc6Ikhhd2FpaWFuIixoZToiSGVicmV3IixoaToiSGluZGkiLGhtbjoiSG1vbmciLGh1OiJIdW5nYXJpYW4iLGlzOiJJY2VsYW5kaWMiLGlnOiJJZ2JvIixpZDoiSW5kb25lc2lhbiIsZ2E6IklyaXNoIixpdDoiSXRhbGlhbiIsamE6IkphcGFuZXNlIixqdzoiSmF2YW5lc2UiLGtuOiJLYW5uYWRhIixrazoiS2F6YWtoIixrbToiS2htZXIiLHJ3OiJLaW55YXJ3YW5kYSIsa3k6IktpcmdoaXoiLGtvOiJLb3JlYW4iLGt1OiJLdXJkaXNoIixsbzoiTGFvIixsYToiTGF0aW4iLGx2OiJMYXR2aWFuIixsdDoiTGl0aHVhbmlhbiIsbGI6Ikx1eGVtYm91cmdpc2giLG1rOiJNYWNlZG9uaWFuIixtZzoiTWFsYWdhc3kiLG1zOiJNYWxheSIsbWw6Ik1hbGF5YWxhbSIsbXQ6Ik1hbHRlc2UiLG1pOiJNYW9yaSIsbXI6Ik1hcmF0aGkiLG1uOiJNb25nb2xpYW4iLG5lOiJOZXBhbGkiLG5vOiJOb3J3ZWdpYW4iLG55OiJOeWFuamEiLG9yOiJPcml5YSIsZmE6IlBlcnNpYW4iLHBsOiJQb2xpc2giLCJwdC1CUiI6IlBvcnR1Z3Vlc2UgKEJyYXppbCkiLHB0OiJQb3J0dWd1ZXNlIChQb3J0dWdhbCkiLHBzOiJQYXNodG8iLHBhOiJQdW5qYWJpIixybzoiUm9tYW5pYW4iLHJ1OiJSdXNzaWFuIixzbToiU2Ftb2FuIixzbjoiU2hvbmEiLHNkOiJTaW5kaGkiLHNpOiJTaW5oYWxlc2UiLHNyOiJTZXJiaWFuIixzazoiU2xvdmFrIixzbDoiU2xvdmVuaWFuIixzbzoiU29tYWxpIixzdDoiU291dGhlcm4gU290aG8iLGVzOiJTcGFuaXNoIixzdToiU3VuZGFuZXNlIixzdzoiU3dhaGlsaSIsc3Y6IlN3ZWRpc2giLHRsOiJUYWdhbG9nIix0ZzoiVGFqaWsiLHRhOiJUYW1pbCIsdHQ6IlRhdGFyIix0ZToiVGVsdWdhIix0aDoiVGhhaSIsdHI6IlR1cmtpc2giLHRrOiJUdXJrbWVuIix1ZzoiVXlnaHVyIix1azoiVWtyYWluaWFuIix1cjoiVXJkdSIsdXo6IlV6YmVrIix2aToiVmlldG5hbWVzZSIsY3k6IldlbHNoIix4aDoiWGhvc2EiLHlpOiJZaWRkaXNoIix5bzoiWW9ydWJhIix6dToiWnVsdSJ9LEFlPXt6aDp7IkkgYW0gaHVtYW4iOiLmiJHmmK/nnJ/lrp7orr/lrqIifSxhcjp7IkkgYW0gaHVtYW4iOiLYo9mG2Kcg2KfZhNil2YbYs9in2YYifSxhZjp7IkkgYW0gaHVtYW4iOiJFayBpcyBtZW5zbGlrZSJ9LGFtOnsiSSBhbSBodW1hbiI6IuGKpeGKlCDhiLDhi40g4YqQ4YqdIn0saHk6eyJJIGFtIGh1bWFuIjoi1LXVvSDVtNWh1oDVpCDVpdW0In0sYXo6eyJJIGFtIGh1bWFuIjoiTcmZbiBpbnNhbmFtIn0sZXU6eyJJIGFtIGh1bWFuIjoiR2l6YWtpYSBuYWl6In0sYm46eyJJIGFtIGh1bWFuIjoi4KaG4Kau4Ka/IOCmruCmvuCmqOCmrCDgpqjgpocifSxiZzp7IkkgYW0gaHVtYW4iOiLQkNC3INGB0YrQvCDRh9C+0LLQtdC6In0sY2E6eyJJIGFtIGh1bWFuIjoiU8OzYyBodW3DoCJ9LGhyOnsiSSBhbSBodW1hbiI6IkphIHNhbSDEjW92amVrIn0sY3M6eyJJIGFtIGh1bWFuIjoiSnNlbSDEjWxvdsSbayJ9LGRhOnsiSSBhbSBodW1hbiI6IkplZyBlciBldCBtZW5uZXNrZSJ9LG5sOnsiSSBhbSBodW1hbiI6IklrIGJlbiBlZW4gbWVucyJ9LGV0OnsiSSBhbSBodW1hbiI6Ik1hIG9sZW4gaW5pbWVzdGUifSxmaTp7IkkgYW0gaHVtYW4iOiJPbGVuIGlobWluZW4ifSxmcjp7IkkgYW0gaHVtYW4iOiJKZSBzdWlzIGh1bWFpbiJ9LGdsOnsiSSBhbSBodW1hbiI6IkV1IHNvbiBodW1hbm8ifSxrYTp7IkkgYW0gaHVtYW4iOiLhg5vhg5Qg4YOV4YOQ4YOgIOGDkOGDk+GDkOGDm+GDmOGDkOGDnOGDmCJ9LGRlOnsiSSBhbSBodW1hbiI6IkljaCBiaW4gZWluIE1lbnNjaCJ9LGVsOnsiSSBhbSBodW1hbiI6Is6Vzq/OvM6xzrkgzqzOvc64z4HPic+Azr/PgiJ9LGd1OnsiSSBhbSBodW1hbiI6IuCqueCrgeCqgiDgqq7gqr7gqqjgqrUg4Kqb4KuB4KqCIn0saXc6eyJJIGFtIGh1bWFuIjoiLiDXkNeg15kg15DXoNeV16nXmSJ9LGhpOnsiSSBhbSBodW1hbiI6IuCkruCliOCkgiDgpK7gpL7gpKjgpLUg4KS54KWC4KSCIn0saHU6eyJJIGFtIGh1bWFuIjoiTmVtIHZhZ3lvayByb2JvdCJ9LGlzOnsiSSBhbSBodW1hbiI6IsOJZyBlciBtYW5uZXNramEifSxpZDp7IkkgYW0gaHVtYW4iOiJBa3UgbWFudXNpYSJ9LGl0OnsiSSBhbSBodW1hbiI6IlNvbm8gdW4gZXNzZXJlIHVtYW5vIn0samE6eyJJIGFtIGh1bWFuIjoi56eB44Gv5Lq66ZaT44Gn44GZIn0sa246eyJJIGFtIGh1bWFuIjoi4LKo4LK+4LKo4LOBIOCyruCyvuCyqOCyteCyqOCzgSJ9LGtvOnsiSSBhbSBodW1hbiI6IuyCrOuejOyeheuLiOuLpCJ9LGxvOnsiSSBhbSBodW1hbiI6IuC6guC7ieC6reC6jeC7gOC6m+C6seC6meC6oeC6sOC6meC6uOC6lCJ9LGx2OnsiSSBhbSBodW1hbiI6IkVzIGVzbXUgY2lsdsSTa3MifSxsdDp7IkkgYW0gaHVtYW4iOiJBxaEgZXN1IMW+bW9nYXVzIn0sbXM6eyJJIGFtIGh1bWFuIjoiU2F5YSBtYW51c2lhIn0sbWw6eyJJIGFtIGh1bWFuIjoi4LSe4LS+4LW7IOC0ruC0qOC1geC0t+C1jeC0r+C0qOC0vuC0o+C1jSJ9LG1yOnsiSSBhbSBodW1hbiI6IuCkruClgCDgpK7gpL7gpKjgpLXgpYAg4KSG4KS54KWHIn0sbW46eyJJIGFtIGh1bWFuIjoi0JHQuCDQsdC+0Lsg0YXSr9C9In0sbm86eyJJIGFtIGh1bWFuIjoiSmVnIGVyIGV0IG1lbm5lc2tlIn0sZmE6eyJJIGFtIGh1bWFuIjoi2YXZhiDYp9mG2LPYp9mG24wg2YfYs9iq2YUifSxwbDp7IkkgYW0gaHVtYW4iOiJKZXN0ZW0gY3rFgm93aWVraWVtIn0scHQ6eyJJIGFtIGh1bWFuIjoiU291IGh1bWFubyJ9LHJvOnsiSSBhbSBodW1hbiI6IkV1IHN1bnQgb20ifSxydTp7IkkgYW0gaHVtYW4iOiLQryDRh9C10LvQvtCy0LXQuiJ9LHNyOnsiSSBhbSBodW1hbiI6IkphIHNhbSBsanVkc2tpIn0sc2k6eyJJIGFtIGh1bWFuIjoi4La44La4IOC2uOC3kuC2seC3kuC3g+C3iuC3g+C3lCJ9LHNrOnsiSSBhbSBodW1hbiI6IkphIHNvbSDEjWxvdmVrIn0sc2w6eyJJIGFtIGh1bWFuIjoiSmF6IHNlbSDEjWxvdmXFoWtpIn0sZXM6eyJJIGFtIGh1bWFuIjoiU295IGh1bWFubyJ9LHN3OnsiSSBhbSBodW1hbiI6Ik1pbWkgbmkgYmluYWRhbXUifSxzdjp7IkkgYW0gaHVtYW4iOiJKYWcgw6RyIG3DpG5uaXNrYSJ9LHRhOnsiSSBhbSBodW1hbiI6IuCuqOCuvuCuqeCvjSDgrq7grqngrr/grqQifSx0ZTp7IkkgYW0gaHVtYW4iOiLgsKjgsYfgsKjgsYEg4LCu4LCo4LC/4LC34LC/4LCo4LC/In0sdGg6eyJJIGFtIGh1bWFuIjoi4Lic4Lih4Lih4LiZ4Li44Lip4Lii4LmMIn0sdHI6eyJJIGFtIGh1bWFuIjoiQmVuIGJpciBpbnNhbsSxbSJ9LHVrOnsiSSBhbSBodW1hbiI6ItCvINC70Y7QtNC40L3QuCJ9LHVyOnsiSSBhbSBodW1hbiI6ItmF24zauiDYp9mG2LPYp9mGINuB2YjauiJ9LHZpOnsiSSBhbSBodW1hbiI6IlTDtGkgbMOgIGNvbiBuZ8aw4budaSJ9LHp1OnsiSSBhbSBodW1hbiI6Ik5naW5ndW11bnR1In19LEJlPW51bGwsVWU9Imx0ciIsTWU9e3RyYW5zbGF0ZTpmdW5jdGlvbih0LGUpe3ZhciBpPU1lLmdldEJlc3RUcmFucyhBZSksbj1pJiZpW3RdO2lmKG49bnx8dCxlKWZvcih2YXIgbz1PYmplY3Qua2V5cyhlKSxyPW8ubGVuZ3RoO3ItLTspbj1uLnJlcGxhY2UobmV3IFJlZ0V4cCgie3siK29bcl0rIn19IiwiZyIpLGVbb1tyXV0pO3JldHVybiBufSxnZXRCZXN0VHJhbnM6ZnVuY3Rpb24odCl7dmFyIGU9TWUuZ2V0TG9jYWxlKCk7cmV0dXJuIGUgaW4gdD90W2VdOk1lLmdldFNob3J0TG9jYWxlKGUpaW4gdD90W01lLmdldFNob3J0TG9jYWxlKGUpXToiZW4iaW4gdD90LmVuOm51bGx9LHJlc29sdmVMb2NhbGU6ZnVuY3Rpb24odCl7dmFyIGU9TWUuZ2V0U2hvcnRMb2NhbGUodCk7cmV0dXJuImluIj09PWUmJih0PSJpZCIpLCJpdyI9PT1lJiYodD0iaGUiKSwibmIiPT09ZSYmKHQ9Im5vIiksImppIj09PWUmJih0PSJ5aSIpLCJ6aC1DTiI9PT10JiYodD0iemgiKSwianYiPT09ZSYmKHQ9Imp3IiksIm1lIj09PWUmJih0PSJicyIpLFJlW3RdP3Q6UmVbZV0/ZToiZW4ifSxnZXRMb2NhbGU6ZnVuY3Rpb24oKXtyZXR1cm4gTWUucmVzb2x2ZUxvY2FsZShCZXx8d2luZG93Lm5hdmlnYXRvci51c2VyTGFuZ3VhZ2V8fHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2UpfSxzZXRMb2NhbGU6ZnVuY3Rpb24odCl7InpoLUhhbnMiPT09dD90PSJ6aC1DTiI6InpoLUhhbnQiPT09dCYmKHQ9InpoLVRXIiksQmU9dH0sZ2V0U2hvcnRMb2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5kZXhPZigiLSIpPj0wP3Quc3Vic3RyaW5nKDAsdC5pbmRleE9mKCItIikpOnR9LGdldExhbmdOYW1lOmZ1bmN0aW9uKHQpe3JldHVybiBSZVt0XX0saXNTaG9ydExvY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gMj09PXQubGVuZ3RofHwzPT09dC5sZW5ndGh9LGFkZFRhYmxlOmZ1bmN0aW9uKHQsZSl7aWYoZXx8KGU9T2JqZWN0LmNyZWF0ZShudWxsKSksQWVbdF0pe3ZhciBpPUFlW3RdO2Zvcih2YXIgbiBpbiBlKWlbbl09ZVtuXX1lbHNlIEFlW3RdPWU7cmV0dXJuIEFlW3RdfSxnZXRUYWJsZTpmdW5jdGlvbih0KXtyZXR1cm4gQWVbdF19LGFkZFRhYmxlczpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdClNZS5hZGRUYWJsZShlLHRbZV0pO3JldHVybiBBZX0sZ2V0VGFibGVzOmZ1bmN0aW9uKCl7cmV0dXJuIEFlfSxnZXREaXJlY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gVWV8fCJsdHIifSxpc1JUTDpmdW5jdGlvbigpe3JldHVybiJydGwiPT09VWV9LHNldERpcmVjdGlvbjpmdW5jdGlvbih0LGUpe3ZhciBpPWUuc3BsaXQoIi0iKVswXTtVZT0tMSE9PVsiYXIiLCJoZSIsImZhIiwidXIiLCJwcyIsImR2IiwieWkiXS5pbmRleE9mKGkpPyJydGwiOiJsdHIiLHQuc2V0QXR0cmlidXRlKCJkaXIiLFVlfHwibHRyIiksImx0ciI9PT1VZT90LmNzcyh7ZGlyZWN0aW9uOiJsdHIiLHRleHRBbGlnbjoibGVmdCJ9KTp0LmNzcyh7ZGlyZWN0aW9uOiJydGwiLHRleHRBbGlnbjoicmlnaHQifSl9fSxXZT17NDAwOiJSYXRlIGxpbWl0ZWQgb3IgbmV0d29yayBlcnJvci4gUGxlYXNlIHJldHJ5LiIsNDI5OiJZb3VyIGNvbXB1dGVyIG9yIG5ldHdvcmsgaGFzIHNlbnQgdG9vIG1hbnkgcmVxdWVzdHMuIiw1MDA6IkNhbm5vdCBjb250YWN0IGhDYXB0Y2hhLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fpbi4ifSxPZT1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIE1lLnRyYW5zbGF0ZShXZVt0XSl9Y2F0Y2gobXMpe3JldHVybiExfX0sRmU9InVuZGVmaW5lZCIhPXR5cGVvZiBYRG9tYWluUmVxdWVzdCYmISgid2l0aENyZWRlbnRpYWxzImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSk7ZnVuY3Rpb24gTGUodCxlLGkpe2k9aXx8e307dmFyIG49e3VybDplLG1ldGhvZDp0LnRvVXBwZXJDYXNlKCkscmVzcG9uc2VUeXBlOmkucmVzcG9uc2VUeXBlfHwic3RyaW5nIixkYXRhVHlwZTppLmRhdGFUeXBlfHxudWxsLHdpdGhDcmVkZW50aWFsczppLndpdGhDcmVkZW50aWFsc3x8ITEsaGVhZGVyczppLmhlYWRlcnN8fG51bGwsZGF0YTppLmRhdGF8fG51bGwsdGltZW91dDppLnRpbWVvdXR8fG51bGwscHN0OmkucHN0fHxudWxsfTtuLmxlZ2FjeT1uLndpdGhDcmVkZW50aWFscyYmRmU7dmFyIG89ImZldGNoImluIHdpbmRvdyYmbi5wc3Q/UGU6SGU7cmV0dXJuIGkucmV0cnk/KGkucmV0cnkuY2FuY2VsbGFibGV8fCExP3RlOnF0KSgoZnVuY3Rpb24oKXtyZXR1cm4gaS5kYXRhJiYobi5kYXRhPSJmdW5jdGlvbiI9PXR5cGVvZiBpLmRhdGE/aS5kYXRhKCk6aS5kYXRhLCJqc29uIj09PW4uZGF0YVR5cGUmJiJvYmplY3QiPT10eXBlb2Ygbi5kYXRhP24uZGF0YT1KU09OLnN0cmluZ2lmeShuLmRhdGEpOiJxdWVyeSI9PT1uLmRhdGFUeXBlJiYobi5kYXRhPVZlKG4uZGF0YSkpKSxvKG4pfSksaS5yZXRyeSk6KGkuZGF0YSYmKG4uZGF0YT0iZnVuY3Rpb24iPT10eXBlb2YgaS5kYXRhP2kuZGF0YSgpOmkuZGF0YSwianNvbiI9PT1uLmRhdGFUeXBlJiYib2JqZWN0Ij09dHlwZW9mIG4uZGF0YT9uLmRhdGE9SlNPTi5zdHJpbmdpZnkobi5kYXRhKToicXVlcnkiPT09bi5kYXRhVHlwZSYmKG4uZGF0YT1WZShuLmRhdGEpKSksbyhuKSl9ZnVuY3Rpb24gSGUodCl7dmFyIGU9dC5sZWdhY3k/bmV3IFhEb21haW5SZXF1ZXN0Om5ldyBYTUxIdHRwUmVxdWVzdCxpPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnVybD90LnVybCgpOnQudXJsO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixvKXt2YXIgcixzPWZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBzPWUucmVzcG9uc2UsYT1lLnN0YXR1c1RleHR8fCIiLGw9ZS5zdGF0dXMsYz1lLnJlYWR5U3RhdGU7aWYoc3x8IiIhPT1lLnJlc3BvbnNlVHlwZSYmInRleHQiIT09ZS5yZXNwb25zZVR5cGV8fChzPWUucmVzcG9uc2VUZXh0KSw0PT09Y3x8dC5sZWdhY3kpe3RyeXtpZihzKXt2YXIgaD1lLmNvbnRlbnRUeXBlO2UuZ2V0UmVzcG9uc2VIZWFkZXImJihoPWUuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpKTt2YXIgdT0tMSE9PShoPWg/aC50b0xvd2VyQ2FzZSgpOiIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi9qc29uIik7aWYoIkFycmF5QnVmZmVyImluIHdpbmRvdyYmcyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ1JiYocz0obmV3IFRleHREZWNvZGVyKS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkocykpKSwic3RyaW5nIj09dHlwZW9mIHMpdHJ5e3M9SlNPTi5wYXJzZShzKX1jYXRjaChwKXt1JiZVdCgiaHR0cCIscCx7dXJsOmksY29uZmlnOnQscmVzcG9uc2VUeXBlOmUucmVzcG9uc2VUeXBlLGNvbnRlbnRUeXBlOmgscmVzcG9uc2U6c30pfX19Y2F0Y2gocCl7cmV0dXJuIFV0KCJodHRwIixwLHtjb250ZW50VHlwZTpofSksdm9pZCBvKHtldmVudDppdC5ORVRXT1JLX0VSUk9SLGVuZHBvaW50OmkscmVzcG9uc2U6cyxzdGF0ZTpjLHN0YXR1czpsLG1lc3NhZ2U6T2UobHx8NDAwKXx8YX0pfWlmKCJlcnJvciI9PT1yfHxsPj00MDAmJmw8PTUxMSlyZXR1cm4gdm9pZCBvKHtldmVudDppdC5ORVRXT1JLX0VSUk9SLGVuZHBvaW50OmkscmVzcG9uc2U6cyxzdGF0ZTpjLHN0YXR1czpsLG1lc3NhZ2U6NDA5PT09bCYmcy5lcnJvcnx8T2UobHx8NDAwKXx8YX0pO24oe3N0YXRlOmMsc3RhdHVzOmwsYm9keTpzLG1lc3NhZ2U6YX0pfX19O2lmKChlLm9ubG9hZD1zKCJjb21wbGV0ZSIpLGUub25lcnJvcj1lLm9udGltZW91dD1zKCJlcnJvciIpLGUub3Blbih0Lm1ldGhvZCxpKSwiYXJyYXlidWZmZXIiPT09dC5yZXNwb25zZVR5cGUmJighdC5sZWdhY3kmJiJUZXh0RGVjb2RlciJpbiB3aW5kb3cmJiJBcnJheUJ1ZmZlciJpbiB3aW5kb3c/ZS5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjoodC5yZXNwb25zZVR5cGU9Impzb24iLHQuaGVhZGVycy5hY2NlcHQ9ImFwcGxpY2F0aW9uL2pzb24iKSksdC50aW1lb3V0JiYoZS50aW1lb3V0PSJmdW5jdGlvbiI9PXR5cGVvZiB0LnRpbWVvdXQ/dC50aW1lb3V0KGkpOnQudGltZW91dCksIXQubGVnYWN5KSYmKGUud2l0aENyZWRlbnRpYWxzPXQud2l0aENyZWRlbnRpYWxzLHQuaGVhZGVycykpZm9yKHZhciBhIGluIHQuaGVhZGVycylyPXQuaGVhZGVyc1thXSxlLnNldFJlcXVlc3RIZWFkZXIoYSxyKTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Uuc2VuZCh0LmRhdGEpfSksMCl9KSl9ZnVuY3Rpb24gUGUodCl7dmFyIGUsaT0iZnVuY3Rpb24iPT10eXBlb2YgdC51cmw/dC51cmwoKTp0LnVybCxuPW5ldyBIZWFkZXJzO2lmKCJqc29uIj09PXQucmVzcG9uc2VUeXBlJiZuLnNldCgiY29udGVudC10eXBlIiwiYXBwbGljYXRpb24vanNvbiIpLHQuaGVhZGVycylmb3IodmFyIG8gaW4gdC5oZWFkZXJzKWU9dC5oZWFkZXJzW29dLG4uc2V0KG8sZSk7dmFyIHI9e21ldGhvZDp0Lm1ldGhvZCxjcmVkZW50aWFsczoiaW5jbHVkZSIsYm9keTp0LmRhdGEsaGVhZGVyczpufTtpZih0LnBzdCl7dmFyIHM9e307InRva2VuLXJlcXVlc3QiPT09dC5wc3Q/cz17dmVyc2lvbjoxLG9wZXJhdGlvbjoidG9rZW4tcmVxdWVzdCJ9OiJ0b2tlbi1yZWRlbXB0aW9uIj09PXQucHN0P3M9e3ZlcnNpb246MSxvcGVyYXRpb246InRva2VuLXJlZGVtcHRpb24iLHJlZnJlc2hQb2xpY3k6InJlZnJlc2gifToic2VuZC1yZWRlbXB0aW9uLXJlY29yZCI9PT10LnBzdCYmKHM9e3ZlcnNpb246MSxvcGVyYXRpb246InNlbmQtcmVkZW1wdGlvbi1yZWNvcmQiLGlzc3VlcnM6W3V0LnBzdElzc3Vlcl19KSxyLnByaXZhdGVUb2tlbj1zfXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXtmZXRjaChpLHIpLnRoZW4oKGZ1bmN0aW9uKG8pe3JldHVybiAyMDAhPT1vLnN0YXR1cz9uKHtldmVudDppdC5ORVRXT1JLX0VSUk9SLGVuZHBvaW50OmkscmVzcG9uc2U6byxzdGF0ZTo0LHN0YXR1czpvLnN0YXR1cyxtZXNzYWdlOk9lKG8uc3RhdHVzfHw0MDApfSk6KCJhcnJheWJ1ZmZlciI9PT10LnJlc3BvbnNlVHlwZT9vLmFycmF5QnVmZmVyKCk6Impzb24iPT09dC5yZXNwb25zZVR5cGU/by5qc29uKCk6by50ZXh0KCkpLnRoZW4oKGZ1bmN0aW9uKHQpe2Uoe3N0YXRlOjQsc3RhdHVzOm8uc3RhdHVzLGJvZHk6dCxtZXNzYWdlOk9lKG8uc3RhdHVzfHw0MDApfSl9KSl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe24oe2V2ZW50Oml0Lk5FVFdPUktfRVJST1IsZW5kcG9pbnQ6aSxyZXNwb25zZTp0LmVycm9yLHN0YXRlOjQsc3RhdHVzOjQwMCxtZXNzYWdlOk9lKDQwMCl9KX0pKX0pKX12YXIgRGU9ZnVuY3Rpb24odCxlKXtpZigib2JqZWN0Ij09dHlwZW9mIHQmJmU9PT11bmRlZmluZWQmJih0PShlPXQpLnVybCksbnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKCJVcmwgbWlzc2luZyIpO3JldHVybiBMZSgiR0VUIix0LGUpfSxOZT1mdW5jdGlvbih0LGUpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmZT09PXVuZGVmaW5lZCYmKHQ9KGU9dCkudXJsKSxudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoIlVybCBtaXNzaW5nIik7cmV0dXJuIExlKCJQT1NUIix0LGUpfSxaZT1bInN2ZyIsImdpZiIsInBuZyJdO2Z1bmN0aW9uIEllKHQsZSl7ZT1lfHx7fTt2YXIgaSxuPXQ7aWYoMD09PW4uaW5kZXhPZigiZGF0YTppbWFnZSIpKWZvcih2YXIgbz0hMSxyPVplLmxlbmd0aCxzPS0xO3MrKzxyJiYhbzspKG89bi5pbmRleE9mKFplW3NdKT49MCkmJihpPVplW3NdKTtlbHNlIGk9bi5zdWJzdHIobi5sYXN0SW5kZXhPZigiLiIpKzEsbi5sZW5ndGgpOyEhKCFkb2N1bWVudC5jcmVhdGVFbGVtZW50TlN8fCFkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwic3ZnIikuY3JlYXRlU1ZHUmVjdCkmJmUuZmFsbGJhY2smJihlLmZhbGxiYWNrLmluZGV4T2YoIi4iKT49MD9pPShuPWUuZmFsbGJhY2spLnN1YnN0cihuLmxhc3RJbmRleE9mKCIuIikrMSxuLmxlbmd0aCk6KG49dC5zdWJzdHIoMCx0LmluZGV4T2YoaSkpK2UuZmFsbGJhY2ssaT1lLmZhbGxiYWNrKSksZS5wcmVmaXgmJihuPWUucHJlZml4KyIvIituKSx0aGlzLmF0dHJpYnM9e2Nyb3NzT3JpZ2luOmUuY3Jvc3NPcmlnaW58fG51bGx9LHRoaXMuaWQ9bix0aGlzLnNyYz1mdW5jdGlvbih0KXtpZih1dC5hc3NldGhvc3QmJjA9PT10LmluZGV4T2YoY3QuYXNzZXREb21haW4pKXJldHVybiB1dC5hc3NldGhvc3QrdC5yZXBsYWNlKGN0LmFzc2V0RG9tYWluLCIiKTtpZih1dC5pbWdob3N0JiZ0LmluZGV4T2YoImltZ3MiKT49MCl7dmFyIGU9dC5pbmRleE9mKCIuYWkiKT49MD90LmluZGV4T2YoIi5haSIpKzM6dC5pbmRleE9mKCIuY29tIikrNDtyZXR1cm4gdXQuaW1naG9zdCt0LnN1YnN0cihlLHQubGVuZ3RoKX1yZXR1cm4gdH0obiksdGhpcy5leHQ9aSx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLmFzcGVjdD0wLHRoaXMubG9hZGVkPSExLHRoaXMuZXJyb3I9ITEsdGhpcy5lbGVtZW50PW51bGwsdGhpcy5jYj17bG9hZDpbXSxlcnJvcjpbXX19ZnVuY3Rpb24gamUodCxlLGkpe2Zvcih2YXIgbj10W2VdLG89bi5sZW5ndGgscj1udWxsOy0tbz4tMTspcj1uW29dLG4uc3BsaWNlKG8sMSkscihpKTsiZXJyb3IiPT09ZT90LmxvYWQ9W106dC5lcnJvcj1bXX1mdW5jdGlvbiB6ZSh0LGUpe3ZhciBpPXQ7ZXx8KGU9e30pLGUucHJlZml4JiYoaT1lLnByZWZpeCsiLyIrdCksdGhpcy5hdHRyaWJzPXtkZWZlcjplLmRlZmVyfHxudWxsLGFzeW5jOmUuYXN5bmN8fG51bGwsY3Jvc3NPcmlnaW46ZS5jcm9zc09yaWdpbnx8bnVsbCxpbnRlZ3JpdHk6ZS5pbnRlZ3JpdHl8fG51bGx9LHRoaXMuaWQ9aSx0aGlzLnNyYz1mdW5jdGlvbih0KXtpZih1dC5hc3NldGhvc3QmJjA9PT10LmluZGV4T2YoY3QuYXNzZXREb21haW4pKXJldHVybiB1dC5hc3NldGhvc3QrdC5yZXBsYWNlKGN0LmFzc2V0RG9tYWluLCIiKTtyZXR1cm4gdH0oaSksdGhpcy5sb2FkZWQ9ITEsdGhpcy5lcnJvcj0hMSx0aGlzLmVsZW1lbnQ9bnVsbCx0aGlzLmNiPXtsb2FkOltdLGVycm9yOltdfX1mdW5jdGlvbiBLZSh0LGUsaSl7Zm9yKHZhciBuPXRbZV0sbz1uLmxlbmd0aCxyPW51bGw7LS1vPi0xOylyPW5bb10sbi5zcGxpY2UobywxKSxyKGkpOyJlcnJvciI9PT1lP3QubG9hZD1bXTp0LmVycm9yPVtdfWZ1bmN0aW9uIFllKHQsZSl7dmFyIGk9dDtlfHwoZT17fSksZS5wcmVmaXgmJihpPWUucHJlZml4KyIvIit0KSx0aGlzLnJlc3BvbnNlVHlwZT1lLnJlc3BvbnNlVHlwZSx0aGlzLmlkPWksdGhpcy5zcmM9ZnVuY3Rpb24odCl7aWYodXQuYXNzZXRob3N0JiYwPT09dC5pbmRleE9mKGN0LmFzc2V0RG9tYWluKSlyZXR1cm4gdXQuYXNzZXRob3N0K3QucmVwbGFjZShjdC5hc3NldERvbWFpbiwiIik7cmV0dXJuIHR9KGkpLHRoaXMubG9hZGVkPSExLHRoaXMuZXJyb3I9ITEsdGhpcy5jYj17bG9hZDpbXSxlcnJvcjpbXX0sdGhpcy5kYXRhPW51bGx9ZnVuY3Rpb24gSmUodCxlLGkpe2Zvcih2YXIgbj10W2VdLG89bi5sZW5ndGgscj1udWxsOy0tbz4tMTspcj1uW29dLG4uc3BsaWNlKG8sMSkscihpKTsiZXJyb3IiPT09ZT90LmxvYWQ9W106dC5lcnJvcj1bXX1mdW5jdGlvbiBHZSh0LGUpe2U9ZXx8e30sdGhpcy5fdmlkZW9FbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIiksdGhpcy5hdHRyaWJzPXtjcm9zc09yaWdpbjplLmNyb3NzT3JpZ2lufHxudWxsfTt2YXIgaSxuPXQ7aT0icHJvYmFibHkiPT09dGhpcy5fdmlkZW9FbGVtZW50LmNhblBsYXlUeXBlKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSwgb3B1cyInKXx8InByb2JhYmx5Ij09PXRoaXMuX3ZpZGVvRWxlbWVudC5jYW5QbGF5VHlwZSgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgsIHZvcmJpcyInKT8id2VibSI6Im1wNCIsZS5wcmVmaXgmJihuPWUucHJlZml4KyIvIituKSx0aGlzLmlkPW4sdGhpcy5zcmM9ZnVuY3Rpb24odCl7aWYodXQuYXNzZXRob3N0JiYwPT09dC5pbmRleE9mKGN0LmFzc2V0RG9tYWluKSlyZXR1cm4gdXQuYXNzZXRob3N0K3QucmVwbGFjZShjdC5hc3NldERvbWFpbiwiIik7aWYodXQuaW1naG9zdCYmdC5pbmRleE9mKCJpbWdzIik+PTApe3ZhciBlPXQuaW5kZXhPZigiLmFpIik+PTA/dC5pbmRleE9mKCIuYWkiKSszOnQuaW5kZXhPZigiLmNvbSIpKzQ7cmV0dXJuIHV0LmltZ2hvc3QrdC5zdWJzdHIoZSx0Lmxlbmd0aCl9cmV0dXJuIHR9KG4pLHRoaXMuZXh0PWksdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5hc3BlY3Q9MCx0aGlzLmxvYWRlZD0hMSx0aGlzLmVycm9yPSExLHRoaXMuZWxlbWVudD1udWxsLHRoaXMuY2FsbGJhY2tzPXtsb2FkOltdLGVycm9yOltdfX1mdW5jdGlvbiBRZSh0LGUsaSl7Zm9yKHZhciBuPXRbZV0sbz1uLmxlbmd0aCxyPW51bGw7LS1vPi0xOylyPW5bb10sbi5zcGxpY2UobywxKSxyKGkpOyJlcnJvciI9PT1lP3QubG9hZD1bXTp0LmVycm9yPVtdfUllLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7cmV0dXJuKCJzdmciPT09dGhpcy5leHQ/dGhpcy5fbG9hZFN2ZygpOnRoaXMuX2xvYWRJbWcoKSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe3Rocm93IEJ0KCJBc3NldCBmYWlsZWQiLCJlcnJvciIsImFzc2V0cyIse2Vycm9yOnR9KSx0fSkpfSxJZS5wcm90b3R5cGUuX2xvYWRTdmc9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsaT10aGlzLnNyYyxuPXRoaXMuaWQ7aWYoMD09PWkuaW5kZXhPZigiZGF0YTppbWFnZS9zdmcreG1sIikpe3ZhciBvPWkuc2xpY2UoImRhdGE6aW1hZ2Uvc3ZnK3htbCwiLmxlbmd0aCk7dD1Qcm9taXNlLnJlc29sdmUoZGVjb2RlVVJJQ29tcG9uZW50KG8pKX1lbHNlIHQ9RGUoaSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQuYm9keX0pKTtyZXR1cm4gdC50aGVuKChmdW5jdGlvbih0KXt2YXIgaT0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKHQsImltYWdlL3N2Zyt4bWwiKS5kb2N1bWVudEVsZW1lbnQsbj1wYXJzZUludChpLmdldEF0dHJpYnV0ZSgid2lkdGgiKSksbz1wYXJzZUludChpLmdldEF0dHJpYnV0ZSgiaGVpZ2h0IikpO3JldHVybiBlLl9pbWdMb2FkZWQoaSxuLG8pLGV9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe2UuZXJyb3I9ITA7dmFyIGk9KHQmJnQubWVzc2FnZT90Lm1lc3NhZ2U6dHx8IkxvYWRpbmcgRXJyb3IiKSsiOiAiK247dGhyb3cgamUoZS5jYiwiZXJyb3IiLGkpLGl9KSl9LEllLnByb3RvdHlwZS5fbG9hZEltZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmF0dHJpYnMsaT10aGlzLnNyYyxuPXRoaXMuaWQ7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLHIpe2Z1bmN0aW9uIHMoKXt0LmxvYWRlZHx8KHQuX2ltZ0xvYWRlZChhLGEud2lkdGgsYS5oZWlnaHQpLGEub25sb2FkPWEub25lcnJvcj1udWxsLG8odCkpfXZhciBhPW5ldyBJbWFnZTtlLmNyb3NzT3JpZ2luJiYoYS5jcm9zc09yaWdpbj1lLmNyb3NzT3JpZ2luKSxhLm9uZXJyb3I9ZnVuY3Rpb24oKXt0LmVycm9yPSEwLGEub25sb2FkPWEub25lcnJvcj1udWxsO3ZhciBlPSJMb2FkaW5nIEVycm9yOiAiK247amUodC5jYiwiZXJyb3IiLGUpLHIoZSl9LGEub25sb2FkPXMsYS5zcmM9aSxhLmNvbXBsZXRlJiZzKCl9KSl9LEllLnByb3RvdHlwZS5faW1nTG9hZGVkPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLmVsZW1lbnQ9bmV3IGtlKHQpLHRoaXMud2lkdGg9ZSx0aGlzLmhlaWdodD1pLHRoaXMuYXNwZWN0PWUvaSx0aGlzLmxvYWRlZD0hMCxqZSh0aGlzLmNiLCJsb2FkIix0aGlzKX0sSWUucHJvdG90eXBlLm9ubG9hZD1mdW5jdGlvbih0KXt0aGlzLmVycm9yfHwodGhpcy5sb2FkZWQ/dCh0aGlzKTp0aGlzLmNiLmxvYWQucHVzaCh0KSl9LEllLnByb3RvdHlwZS5vbmVycm9yPWZ1bmN0aW9uKHQpe3RoaXMubG9hZGVkJiYhdGhpcy5lcnJvcnx8KHRoaXMuZXJyb3I/dCh0aGlzKTp0aGlzLmNiLmVycm9yLnB1c2godCkpfSx6ZS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmF0dHJpYnMsaT10aGlzLnNyYyxuPXRoaXMuaWQ7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLHIpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3QuZWxlbWVudD1zLHMub25lcnJvcj1mdW5jdGlvbigpe3QuZXJyb3I9ITAscy5vbmxvYWQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9cy5vbmVycm9yPW51bGw7dmFyIGU9bmV3IEVycm9yKCJMb2FkaW5nIEVycm9yOiAiK24pO0tlKHQuY2IsImVycm9yIixlKSxyKGUpfSxzLm9ubG9hZD1zLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3RoaXMubG9hZGVkfHxzLnJlYWR5U3RhdGUmJiJsb2FkZWQiIT09cy5yZWFkeVN0YXRlJiYiY29tcGxldGUiIT09cy5yZWFkeVN0YXRlfHwodC5sb2FkZWQ9ITAscy5vbmxvYWQ9cy5vbnJlYWR5c3RhdGVjaGFuZ2U9cy5vbmVycm9yPW51bGwsZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzKSxLZSh0LmNiLCJsb2FkIix0KSxvKHQpKX0scy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLHMuc3JjPWksZS5jcm9zc09yaWdpbiYmKHMuY3Jvc3NvcmlnaW49ZS5jcm9zc09yaWdpbiksZS5hc3luYyYmKHMuYXN5bmM9ITApLGUuZGVmZXImJihzLmRlZmVyPSEwKSxlLmludGVncml0eSYmKHMuaW50ZWdyaXR5PWUuaW50ZWdyaXR5KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpLHMuY29tcGxldGUmJnMub25sb2FkKCl9KSl9LHplLnByb3RvdHlwZS5vbmxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5lcnJvcnx8KHRoaXMubG9hZGVkP3QodGhpcyk6dGhpcy5jYi5sb2FkLnB1c2godCkpfSx6ZS5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbih0KXt0aGlzLmxvYWRlZCYmIXRoaXMuZXJyb3J8fCh0aGlzLmVycm9yP3QodGhpcyk6dGhpcy5jYi5lcnJvci5wdXNoKHQpKX0sWWUucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5zcmMsaT10aGlzLmlkO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixvKXt2YXIgcj17fTsiYXJyYXlidWZmZXIiPT09dC5yZXNwb25zZVR5cGU/ci5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjplLmluZGV4T2YoImpzb24iKT49MCYmKHIucmVzcG9uc2VUeXBlPSJqc29uIiksRGUoZSxyKS50aGVuKChmdW5jdGlvbihlKXt0LmxvYWRlZD0hMCx0LmRhdGE9ZS5ib2R5LEplKHQuY2IsImxvYWQiLHQpLG4odCl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKGUpe3QuZXJyb3I9ITA7dmFyIG49KGUmJmUubWVzc2FnZT9lLm1lc3NhZ2U6IkxvYWRpbmcgRXJyb3IiKSsiOiAiK2k7SmUodC5jYiwiZXJyb3IiLG4pLG8obil9KSl9KSl9LFllLnByb3RvdHlwZS5vbmxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5lcnJvcnx8KHRoaXMubG9hZGVkP3QodGhpcyk6dGhpcy5jYi5sb2FkLnB1c2godCkpfSxZZS5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbih0KXt0aGlzLmxvYWRlZCYmIXRoaXMuZXJyb3J8fCh0aGlzLmVycm9yP3QodGhpcyk6dGhpcy5jYi5lcnJvci5wdXNoKHQpKX0sR2UucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5hdHRyaWJzLGk9dGhpcy5zcmMsbj10aGlzLmlkO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obyxyKXt2YXIgcz10Ll92aWRlb0VsZW1lbnQ7ZS5jcm9zc09yaWdpbiYmKHMuY3Jvc3NPcmlnaW49ZS5jcm9zc09yaWdpbikscy5wbGF5c0lubGluZT0hMCxzLnByZWxvYWQ9Im1ldGFkYXRhIiwiaW9zIj09PXR0LlN5c3RlbS5vcyYmcy5zZXRBdHRyaWJ1dGUoIndlYmtpdC1wbGF5c2lubGluZSIsIiIpLHMuc3JjPWkrIi4iK3QuZXh0LHMub25lcnJvcj1mdW5jdGlvbigpe3QuZXJyb3I9ITAscy5vbmxvYWRlZG1ldGFkYXRhPXMub25lcnJvcj1udWxsO3ZhciBlPSJMb2FkaW5nIEVycm9yOiAiK247UWUodC5jYWxsYmFja3MsImVycm9yIixlKSxyKGUpfSxzLm9ubG9hZGVkbWV0YWRhdGE9ZnVuY3Rpb24oKXtpZighdC5sb2FkZWQpe3ZhciBlPXMudmlkZW9XaWR0aCxpPXMudmlkZW9IZWlnaHQ7dC5lbGVtZW50PW5ldyBrZShzKSx0LndpZHRoPWUsdC5oZWlnaHQ9aSx0LmFzcGVjdD1lL2ksdC5sb2FkZWQ9ITAscy5vbmxvYWRlZG1ldGFkYXRhPXMub25lcnJvcj1udWxsLFFlKHQuY2FsbGJhY2tzLCJsb2FkIix0KSxvKHQpfX0scy5sb2FkKCl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe3Rocm93IEJ0KCJBc3NldCBmYWlsZWQiLCJlcnJvciIsImFzc2V0cyIse2Vycm9yOnR9KSx0fSkpfSxHZS5wcm90b3R5cGUub25sb2FkPWZ1bmN0aW9uKHQpe3RoaXMuZXJyb3J8fCh0aGlzLmxvYWRlZD90KHRoaXMpOnRoaXMuY2FsbGJhY2tzLmxvYWQucHVzaCh0KSl9LEdlLnByb3RvdHlwZS5vbmVycm9yPWZ1bmN0aW9uKHQpe3RoaXMubG9hZGVkJiYhdGhpcy5lcnJvcnx8KHRoaXMuZXJyb3I/dCh0aGlzKTp0aGlzLmNhbGxiYWNrcy5lcnJvci5wdXNoKHQpKX07dmFyICRlPVtdLFhlPXtpbWFnZTpmdW5jdGlvbih0LGUpe3ZhciBpPW5ldyBJZSh0LGUpO3JldHVybiAkZS5wdXNoKGkpLGkubG9hZCgpfSx2aWRlbzpmdW5jdGlvbih0LGUpe3ZhciBpPW5ldyBHZSh0LGUpO3JldHVybiAkZS5wdXNoKGkpLGkubG9hZCgpfSxzY3JpcHQ6ZnVuY3Rpb24odCxlKXt2YXIgaT1uZXcgemUodCxlKTtyZXR1cm4gJGUucHVzaChpKSxpLmxvYWQoKX0sZmlsZTpmdW5jdGlvbih0LGUpe3ZhciBpPW5ldyBZZSh0LGUpO3JldHVybiAkZS5wdXNoKGkpLGkubG9hZCgpfSxyZXRyaWV2ZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsaSl7Zm9yKHZhciBuPSRlLmxlbmd0aCxvPSExLHI9bnVsbDstLW4+LTEmJiFvOylvPShyPSRlW25dKS5pZD09PXR8fC0xIT09ci5pZC5pbmRleE9mKCIvIj09PXRbMF0/IiI6Ii8iK3QpO2lmKCFvKXJldHVybiBlKG51bGwpO3Iub25sb2FkKGUpLHIub25lcnJvcihpKX0pKX19LHFlPVtdLHRpPSExLGVpPSExO2Z1bmN0aW9uIGlpKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcj8oZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsb2kpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixvaSkpOihkb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixuaSksd2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLG9pKSksdGk9ITB9ZnVuY3Rpb24gbmkoKXsiaW50ZXJhY3RpdmUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmImxvYWRlZCIhPT1kb2N1bWVudC5yZWFkeVN0YXRlJiYiY29tcGxldGUiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZXx8b2koKX1mdW5jdGlvbiBvaSgpe2lmKCExPT09ZWkpe2Zvcih2YXIgdD0wO3Q8cWUubGVuZ3RoO3QrKylxZVt0XS5mbi5hcHBseShudWxsLHFlW3RdLmFyZ3MpO3FlPVtdfWVpPSEwLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXI/KGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLG9pKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsb2kpKTooZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbmkpLHdpbmRvdy5kZXRhY2hFdmVudCgib25sb2FkIixvaSkpfXZhciByaT1uZXcga2UoZG9jdW1lbnQpLHNpPXtfX3Byb3RvX186bnVsbCxXaW5kb3c6bmV3IGtlKHdpbmRvdyksRG9jdW1lbnQ6cmksRWxlbWVudDprZSxSZWFkeTpmdW5jdGlvbih0KXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7ITAhPT1laSYmImludGVyYWN0aXZlIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJiJsb2FkZWQiIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmImNvbXBsZXRlIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/KHFlLnB1c2goe2ZuOnQsYXJnczplfSksITE9PT10aSYmaWkoKSk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0KGUpfSksMSl9LEZpbmQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGksbj1udWxsLG89ITEscj10LnNwbGl0KCIgIikscz0wO3M8ci5sZW5ndGg7cysrKWlmKChlPXJbc10pLmluZGV4T2YoIiMiKT49MCYmKG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZS5yZXBsYWNlKCIjIiwiIikpKSxlLmluZGV4T2YoIi4iKT49MClpZihudWxsPT09biYmKG49ZG9jdW1lbnQpLG8pe2Zvcih2YXIgYT1bXSxsPTA7bDxuLmxlbmd0aDtsKyspe2k9bltsXS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUucmVwbGFjZSgiLiIsIiIpKTtmb3IodmFyIGM9MDtjPGkubGVuZ3RoO2MrKylhLnB1c2goaVtjXSl9bj1hLGE9W119ZWxzZSBuPW4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlLnJlcGxhY2UoIi4iLCIiKSksbz0hMDtpZighMD09PW8pe2lmKDE9PT1uLmxlbmd0aClyZXR1cm4gblswXTtmb3IodmFyIGg9W10sdT0wO3U8bi5sZW5ndGg7dSsrKWgucHVzaChuW3VdKTtyZXR1cm4gaH1yZXR1cm4gbn19LGFpPXtfX3Byb3RvX186bnVsbCxMb2FkZXI6WGUsQmFzZUNvbXBvbmVudDpmZSxEb21Db21wb25lbnQ6X2UsRG9tRWxlbWVudDprZSxFeHRlbmQ6eGUsTm9ybWFsaXplOkVlLERvbTpzaX0sbGk9e3RvdWNoc3RhcnQ6InRzIix0b3VjaGVuZDoidGUiLHRvdWNobW92ZToidG0iLHRvdWNoY2FuY2VsOiJ0YyJ9LGNpPXttb3VzZWRvd246Im1kIixtb3VzZXVwOiJtdSIsbW91c2Vtb3ZlOiJtbSJ9LGhpPXtwb2ludGVybW92ZToicG0ifSx1aT17a2V5ZG93bjoia2QiLGtleXVwOiJrdSJ9LHBpPXtkZXZpY2Vtb3Rpb246ImRtIn0sZmk9ZnVuY3Rpb24odCxlKXt2YXIgaT1jaVt0XSxuPW51bGw7cmV0dXJuIGZ1bmN0aW9uKHQpe249ZnVuY3Rpb24odCl7cmV0dXJuW3Qud2luZG93WCx0LndpbmRvd1ksRGF0ZS5ub3coKV19KHQpLGUoaSxuKX19LGRpPWZ1bmN0aW9uKHQsZSl7dmFyIGk9aGlbdF0sbj1udWxsO3JldHVybiBmdW5jdGlvbih0KXtuPWZ1bmN0aW9uKHQpe3ZhciBlPVtdLGk9W107dC5nZXRDb2FsZXNjZWRFdmVudHMmJihpPXQuZ2V0Q29hbGVzY2VkRXZlbnRzKCkpO2Zvcih2YXIgbj0wO248aS5sZW5ndGg7bisrKXt2YXIgbz1pW25dO2UucHVzaChbby54LG8ueSxEYXRlLm5vdygpXSl9cmV0dXJuIGV9KHQpO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKWUoaSxuW29dKX19LG1pPWZ1bmN0aW9uKHQsZSl7dmFyIGk9bGlbdF0sbj1udWxsO3JldHVybiBmdW5jdGlvbih0KXtuPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3RyeXt2YXIgaSxuO2lmKHQudG91Y2hlcyYmdC50b3VjaGVzLmxlbmd0aD49MT9pPXQudG91Y2hlczp0LmNoYW5nZWRUb3VjaGVzJiZ0LmNoYW5nZWRUb3VjaGVzLmxlbmd0aD49MSYmKGk9dC5jaGFuZ2VkVG91Y2hlcyksaSl7Zm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspKG49RWUuZXZlbnRDb29yZHMoaVtvXSkpJiZlLnB1c2goW2lbb10uaWRlbnRpZmllcixuLngsbi55XSk7ZS5wdXNoKERhdGUubm93KCkpfXJldHVybiBlfWNhdGNoKG1zKXtyZXR1cm4gZX19KHQpLGUoaSxuKX19LHlpPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dWlbdF0sbj1udWxsO3JldHVybiBmdW5jdGlvbih0KXtuPWZ1bmN0aW9uKHQpe3JldHVyblt0LmtleU51bSxEYXRlLm5vdygpXX0odCksZShpLG4pfX0sZ2k9ZnVuY3Rpb24odCxlKXt2YXIgaT1waVt0XSxuPW51bGwsbz1bXTtyZXR1cm4gZnVuY3Rpb24odCl7bj1mdW5jdGlvbih0LGUpeyh0LmFjY2VsZXJhdGlvbj09PXVuZGVmaW5lZHx8dC5hY2NlbGVyYXRpb24mJnQuYWNjZWxlcmF0aW9uLng9PT11bmRlZmluZWQpJiYodC5hY2NlbGVyYXRpb249e3g6MCx5OjAsejowfSk7KHQucm90YXRpb25SYXRlPT09dW5kZWZpbmVkfHx0LnJvdGF0aW9uUmF0ZSYmdC5yb3RhdGlvblJhdGUuYWxwaGE9PT11bmRlZmluZWQpJiYodC5yb3RhdGlvblJhdGU9e2FscGhhOjAsYmV0YTowLGdhbW1hOjB9KTt2YXIgaT1bdC5hY2NlbGVyYXRpb24ueCx0LmFjY2VsZXJhdGlvbi55LHQuYWNjZWxlcmF0aW9uLnosdC5yb3RhdGlvblJhdGUuYWxwaGEsdC5yb3RhdGlvblJhdGUuYmV0YSx0LnJvdGF0aW9uUmF0ZS5nYW1tYSxEYXRlLm5vdygpXSxuPVtdO2lmKDA9PT1lLmxlbmd0aCllPWksbj1pO2Vsc2V7Zm9yKHZhciBvLHI9MCxzPTA7czw2O3MrKylvPWVbc10taVtzXSxuLnB1c2goaVtzXSkscis9TWF0aC5hYnMobyk7aWYobi5wdXNoKERhdGUubm93KCkpLGU9aSxyPD0wKXJldHVybiBudWxsfXJldHVybnttb3Rpb246bixwcmV2bW90aW9uOmV9fSh0LG8pLG51bGwhPT1uJiYobz1uLnByZXZtb3Rpb24sbj1uLm1vdGlvbixlKGksbikpfX07ZnVuY3Rpb24gYmkoKXt0aGlzLl9tYW5pZmVzdD17fSx0aGlzLnN0YXRlPXt0aW1lQnVmZmVyczp7fSxsb2FkVGltZTpEYXRlLm5vdygpLHJlY29yZGluZzohMSxpbml0UmVjb3JkOiExLHJlY29yZDp7bW91c2U6ITAsdG91Y2g6ITAsa2V5czohMSxtb3Rpb246ITF9fSx0aGlzLl9yZWNvcmRFdmVudD10aGlzLl9yZWNvcmRFdmVudC5iaW5kKHRoaXMpfWJpLnByb3RvdHlwZS5yZWNvcmQ9ZnVuY3Rpb24odCxlLGksbil7aWYodGhpcy5fbWFuaWZlc3Quc3Q9RGF0ZS5ub3coKSx0aGlzLnN0YXRlLnJlY29yZC5tb3VzZT10PT09dW5kZWZpbmVkP3RoaXMuc3RhdGUucmVjb3JkLm1vdXNlOnQsdGhpcy5zdGF0ZS5yZWNvcmQudG91Y2g9aT09PXVuZGVmaW5lZD90aGlzLnN0YXRlLnJlY29yZC50b3VjaDppLHRoaXMuc3RhdGUucmVjb3JkLmtleXM9ZT09PXVuZGVmaW5lZD90aGlzLnN0YXRlLnJlY29yZC5rZXlzOmUsdGhpcy5zdGF0ZS5yZWNvcmQubW90aW9uPW49PT11bmRlZmluZWQ/dGhpcy5zdGF0ZS5yZWNvcmQubW90aW9uOm4sITE9PT10aGlzLnN0YXRlLmluaXRSZWNvcmQpe3ZhciBvPW5ldyBrZShkb2N1bWVudC5ib2R5KTt0aGlzLnN0YXRlLnJlY29yZC5tb3VzZSYmKG8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmaSgibW91c2Vkb3duIix0aGlzLl9yZWNvcmRFdmVudCksITApLG8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixmaSgibW91c2Vtb3ZlIix0aGlzLl9yZWNvcmRFdmVudCksITApLG8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsZmkoIm1vdXNldXAiLHRoaXMuX3JlY29yZEV2ZW50KSwhMCksby5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsZGkoInBvaW50ZXJtb3ZlIix0aGlzLl9yZWNvcmRFdmVudCksITApKSwhMD09PXRoaXMuc3RhdGUucmVjb3JkLmtleXMmJihvLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIix5aSgia2V5dXAiLHRoaXMuX3JlY29yZEV2ZW50KSwhMCksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix5aSgia2V5ZG93biIsdGhpcy5fcmVjb3JkRXZlbnQpLCEwKSksdGhpcy5zdGF0ZS5yZWNvcmQudG91Y2gmJiEwPT09dHQuQnJvd3Nlci5oYXNFdmVudCgidG91Y2hzdGFydCIsZG9jdW1lbnQuYm9keSkmJihvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG1pKCJ0b3VjaHN0YXJ0Iix0aGlzLl9yZWNvcmRFdmVudCksITApLG8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtaSgidG91Y2htb3ZlIix0aGlzLl9yZWNvcmRFdmVudCksITApLG8uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG1pKCJ0b3VjaGVuZCIsdGhpcy5fcmVjb3JkRXZlbnQpLCEwKSksdGhpcy5zdGF0ZS5yZWNvcmQubW90aW9uJiYhMD09PXR0LkJyb3dzZXIuaGFzRXZlbnQoImRldmljZW1vdGlvbiIsd2luZG93KSYmby5hZGRFdmVudExpc3RlbmVyKCJkZXZpY2Vtb3Rpb24iLGdpKCJkZXZpY2Vtb3Rpb24iLHRoaXMuX3JlY29yZEV2ZW50KSwhMCksdGhpcy5zdGF0ZS5pbml0UmVjb3JkPSEwfXRoaXMuc3RhdGUucmVjb3JkaW5nPSEwfSxiaS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuc3RhdGUucmVjb3JkaW5nPSExfSxiaS5wcm90b3R5cGUudGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmxvYWRUaW1lfSxiaS5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnN0YXRlLnRpbWVCdWZmZXJzKXRoaXMuX21hbmlmZXN0W3RdPXRoaXMuc3RhdGUudGltZUJ1ZmZlcnNbdF0uZ2V0RGF0YSgpLHRoaXMuX21hbmlmZXN0W3QrIi1tcCJdPXRoaXMuc3RhdGUudGltZUJ1ZmZlcnNbdF0uZ2V0TWVhblBlcmlvZCgpO3JldHVybiB0aGlzLl9tYW5pZmVzdH0sYmkucHJvdG90eXBlLnNldERhdGE9ZnVuY3Rpb24odCxlKXt0aGlzLl9tYW5pZmVzdFt0XT1lfSxiaS5wcm90b3R5cGUucmVzZXREYXRhPWZ1bmN0aW9uKCl7dGhpcy5fbWFuaWZlc3Q9e30sdGhpcy5zdGF0ZS50aW1lQnVmZmVycz17fX0sYmkucHJvdG90eXBlLmNpcmNCdWZmUHVzaD1mdW5jdGlvbih0LGUpe3RoaXMuX3JlY29yZEV2ZW50KHQsZSl9LGJpLnByb3RvdHlwZS5fcmVjb3JkRXZlbnQ9ZnVuY3Rpb24odCxlKXtpZighMSE9PXRoaXMuc3RhdGUucmVjb3JkaW5nKXRyeXt2YXIgaT1lW2UubGVuZ3RoLTFdO2lmKCF0aGlzLnN0YXRlLnRpbWVCdWZmZXJzW3RdKXt2YXIgbj0ibW0iPT09dHx8InBtIj09PXQ/MjU2OjEyODt0aGlzLnN0YXRlLnRpbWVCdWZmZXJzW3RdPW5ldyAkdCgxNiwxNWUzLDAsbil9dGhpcy5zdGF0ZS50aW1lQnVmZmVyc1t0XS5wdXNoKGksZSl9Y2F0Y2goZHMpe1V0KCJtb3Rpb24iLGRzKX19O3ZhciB2aSx3aSxraSx4aSxfaSxFaSxWaT1uZXcgYmk7dHJ5e3ZpPWZ1bmN0aW9uKCl7dmFyIHQ9e19oZE9kMTowLF9qdmtTS1RmOjAsX1FEc1d3azJCOltdLF9GcDZHa1JKOltdLF9UbU96SG46W10sX1NOM0V3UGRaZ1Q6e30sXzc2YUh0TTp3aW5kb3csX2xzdnpqOltmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKHQuXzc2YUh0TSl9LGZ1bmN0aW9uKHQpe3QuX1FEc1d3azJCLnBvcCgpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKHdpbmRvd1tlXSl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCksbj10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGlbZV0rPW4pfSxmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fUlZoRGRtb2VbdC5faGRPZDErK10saT17fSxuPTA7bjxlO24rKyl7dmFyIG89dC5fUURzV3drMkIucG9wKCk7aVt0Ll9RRHNXd2syQi5wb3AoKV09b310Ll9RRHNXd2syQi5wdXNoKGkpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpO2lmKGUmJmUuX2whPT11bmRlZmluZWQpaS5zcGxpY2UoMCwwLHtfbDp7fX0pLGUuYXBwbHkodC5fNzZhSHRNLGkpO2Vsc2V7dmFyIG49ZS5hcHBseSh0Ll83NmFIdE0saSk7dC5fUURzV3drMkIucHVzaChuKX19LGZ1bmN0aW9uKHQpe3QuX1NOM0V3UGRaZ1RbdC5fUURzV3drMkJbdC5fUURzV3drMkIubGVuZ3RoLTFdXT10Ll9RRHNXd2syQlt0Ll9RRHNXd2syQi5sZW5ndGgtMl19LGZ1bmN0aW9uKHQpe3QuX1FEc1d3azJCLnB1c2godC5fUlZoRGRtb2VbdC5faGRPZDErK10pfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXTt0Ll9qdmtTS1RmPWV9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpIGluIGUpfSxmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKGtlKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk+ZSl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpXmUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxpPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG49LTE9PWU/dC5fRnA2R2tSSjp0Ll9UbU96SG5bZV07dC5fUURzV3drMkIucHVzaChuW2ldKX0sZnVuY3Rpb24odCl7dmFyIGk9dC5fUURzV3drMkIucG9wKCksbj1mdW5jdGlvbigpe3ZhciBvPSExLHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyLmxlbmd0aD4wJiZyWzBdJiZyWzBdLl9sP3I9ci5zcGxpY2UoMSxyLmxlbmd0aC0xKTpvPSEwO3ZhciBzPXQuXzc2YUh0TSxhPXQuX2p2a1NLVGYsbD10Ll9UbU96SG47aWYodC5fUURzV3drMkIucHVzaCh0Ll9oZE9kMSksdC5fUURzV3drMkIucHVzaCh0Ll83NmFIdE0pLHQuX1FEc1d3azJCLnB1c2godC5fRnA2R2tSSiksdC5fUURzV3drMkIucHVzaChyKSx0Ll9RRHNXd2syQi5wdXNoKG4pLHQuX2p2a1NLVGY9dC5faGRPZDEsdC5faGRPZDE9aSx0Ll83NmFIdE09dGhpcyx0Ll9UbU96SG49bi5fcixlKHQpLHQuXzc2YUh0TT1zLHQuX2p2a1NLVGY9YSx0Ll9UbU96SG49bCxvKXJldHVybiB0Ll9RRHNXd2syQi5wb3AoKX07bi5fbD17fSxuLl9yPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuX1RtT3pIbiksdC5fUURzV3drMkIucHVzaChuKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk+Pj5lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk8PGUpfSxmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKGxlKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGl8ZSl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpLWUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpO3QuX1FEc1d3azJCLnB1c2goaSBpbnN0YW5jZW9mIGUpfSxmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKGhlKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGkhPWUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpO3QuX1FEc1d3azJCLnB1c2goaT49ZSl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUlZoRGRtb2VbdC5faGRPZDErK107ZXx8KHQuX2hkT2QxPWkpfSxmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKCEhdC5fUlZoRGRtb2VbdC5faGRPZDErK10pfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKC1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGRlbGV0ZSBpW2VdKX0sZnVuY3Rpb24odCl7dmFyIGk9dC5fanZrU0tUZixuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG89dC5fUURzV3drMkIubGVuZ3RoO3RyeXtlKHQpfWNhdGNoKHIpe3QuX1FEc1d3azJCLmxlbmd0aD1vLHQuX1FEc1d3azJCLnB1c2gociksdC5faGRPZDE9bixlKHQpfXQuX2p2a1NLVGY9aX0sZnVuY3Rpb24oKXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpLG49ITE7ZS5fbCE9PXVuZGVmaW5lZCYmKG49ITAsaS5zcGxpY2UoMCwwLHtfbDp7fX0pKTt2YXIgbz1uZXcoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuYXBwbHkoZSxbbnVsbF0uY29uY2F0KGkpKSk7biYmdC5fUURzV3drMkIucG9wKCksdC5fUURzV3drMkIucHVzaChvKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGkhPT1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdO3QuX0ZwNkdrUkpbbl09ZTtmb3IodmFyIG89MDtvPGk7bysrKXQuX0ZwNkdrUkpbdC5fUlZoRGRtb2VbdC5faGRPZDErK11dPWVbb119LGZ1bmN0aW9uKHQpe3QuX1FEc1d3azJCLnB1c2goRWUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpLG49dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpW2VdPW4pfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKHR5cGVvZiBlKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUlZoRGRtb2VbdC5faGRPZDErK10saT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG89LTE9PWU/dC5fRnA2R2tSSjp0Ll9UbU96SG5bZV07bj90Ll9RRHNXd2syQi5wdXNoKCsrb1tpXSk6dC5fUURzV3drMkIucHVzaChvW2ldKyspfSxmdW5jdGlvbih0KXt0Ll9RRHNXd2syQi5wdXNoKGhlKX0sZnVuY3Rpb24oKXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdO3QuX1RtT3pIbltpXT90Ll9GcDZHa1JKPXQuX1RtT3pIbltpXToodC5fRnA2R2tSSj1lLHQuX1RtT3pIbltpXT1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk8ZSl9LGZ1bmN0aW9uKHQpe3QuX1FEc1d3azJCLnBvcCgpLHQuX1FEc1d3azJCLnB1c2godm9pZCAwKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG89LTE9PWk/dC5fRnA2R2tSSjp0Ll9UbU96SG5baV07dC5fUURzV3drMkIucHVzaChvW25dXj1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG89LTE9PWk/dC5fRnA2R2tSSjp0Ll9UbU96SG5baV07dC5fUURzV3drMkIucHVzaChvW25dPWUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpO3QuX1FEc1d3azJCLnB1c2goaSZlKX0sZnVuY3Rpb24odCl7dC5fUURzV3drMkIucHVzaChCdCl9LGZ1bmN0aW9uKHQpe3QuX1FEc1d3azJCLnB1c2godC5fUURzV3drMkJbdC5fUURzV3drMkIubGVuZ3RoLTFdKX0sZnVuY3Rpb24odCl7dC5fUURzV3drMkIucHVzaChudWxsKX0sZnVuY3Rpb24oKXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdO3QuX0ZwNkdrUko9ZSx0Ll9UbU96SG5baV09ZX0sZnVuY3Rpb24odCl7dC5faGRPZDE9dC5fUURzV3drMkIuc3BsaWNlKHQuX1FEc1d3azJCLmxlbmd0aC00LDEpWzBdLHQuXzc2YUh0TT10Ll9RRHNXd2syQi5zcGxpY2UodC5fUURzV3drMkIubGVuZ3RoLTMsMSlbMF0sdC5fRnA2R2tSSj10Ll9RRHNXd2syQi5zcGxpY2UodC5fUURzV3drMkIubGVuZ3RoLTIsMSlbMF19LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpK2UpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKCFlKX0sZnVuY3Rpb24odCl7dC5fUURzV3drMkIucHVzaCh1bmRlZmluZWQpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG49dC5fUlZoRGRtb2VbdC5faGRPZDErK10sbz0tMT09aT90Ll9GcDZHa1JKOnQuX1RtT3pIbltpXTt0Ll9RRHNXd2syQi5wdXNoKG9bbl18PWUpfSxmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5fUlZoRGRtb2VbdC5faGRPZDErK10saT1bXSxuPTA7bjxlO24rKylpLnB1c2godC5fUURzV3drMkIucG9wKCkpO3QuX1FEc1d3azJCLnB1c2goaSl9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUURzV3drMkIucG9wKCk7dC5fUURzV3drMkIucHVzaChpPT1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk8PWUpfSxmdW5jdGlvbih0KXt2YXIgZT10Ll9RRHNXd2syQi5wb3AoKSxpPXQuX1FEc1d3azJCLnBvcCgpO3QuX1FEc1d3azJCLnB1c2goaSplKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxuPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG89LTE9PWk/dC5fRnA2R2tSSjp0Ll9UbU96SG5baV07dC5fUURzV3drMkIucHVzaChvW25dKz1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGk9PT1lKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKSxuPWlbZV07ImZ1bmN0aW9uIj09dHlwZW9mIG4mJk9iamVjdC5nZXRQcm90b3R5cGVPZihpKSE9PU9iamVjdC5wcm90b3R5cGUmJihuPW4uYmluZChpKSksdC5fUURzV3drMkIucHVzaChuKX0sZnVuY3Rpb24odCl7dmFyIGU9dC5fUURzV3drMkIucG9wKCksaT10Ll9RRHNXd2syQi5wb3AoKTt0Ll9RRHNXd2syQi5wdXNoKGkvZSl9LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXSxpPXQuX1JWaERkbW9lW3QuX2hkT2QxKytdLG49dC5fUlZoRGRtb2VbdC5faGRPZDErK10sbz1kZWNvZGVVUklDb21wb25lbnQoYXRvYih0Ll9pcllocjR5VUIuc2xpY2UoZSxlK2kpKSkscj0iIixzPTA7czxvLmxlbmd0aDtzKyspcis9U3RyaW5nLmZyb21DaGFyQ29kZSgoMjU2K28uY2hhckNvZGVBdChzKStuKSUyNTYpO3QuX1FEc1d3azJCLnB1c2gocil9LGZ1bmN0aW9uKHQpe3ZhciBlPXQuX1FEc1d3azJCLnBvcCgpLGk9dC5fUlZoRGRtb2VbdC5faGRPZDErK10sbj10Ll9SVmhEZG1vZVt0Ll9oZE9kMSsrXTsoLTE9PWk/dC5fRnA2R2tSSjp0Ll9UbU96SG5baV0pW25dPWV9XSxfUlZoRGRtb2U6WzUyLDAsMzcsMCw3LDE0LDE0LDYxLC0xLDAsMjUsMCwyNCwxMTMsNTIsMCw0NiwxLDEsMzEsMSwwLDEsMTMsLTEsMSw2MCw1MTMyLDE2LDAsNTcsMjQsNDQsMTMsMCw3MywyNSwwLDI0LDExMiwyNSwwLDI0LDU0LDEzLC0xLDEsNjAsNTM5MiwxMiwyLDU3LDI0LDY1LDEzLDAsNzQsMjUsMCwyNCwxMTIsMjUsMCwyNCw3NSwxMywtMSwxLDYwLDQ2MDQsNTYsLTIxLDU3LDI0LDg2LDEzLDAsNzUsMjUsMCwyNCwxMTIsMjUsMCwyNCw5MCwyNSwwLDI0LDk5LDQ1LDI1LDAsMjQsMTEyLDI1LDAsMjQsMTAzLDI1LDAsMjQsOTAsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTEyLDQ3LDcsMTIzLDE0LDYxLC0xLDEsMjUsMCwyNCwyMjIsNTIsMCw0NiwyLDEsMzEsMSwwLDEsMTMsLTEsMSw2MCwyNjYwLDE2LC00LDU3LDI0LDE1MywxMywwLDc2LDI1LDAsMjQsMjIxLDI1LDAsMjQsMTYzLDEzLC0xLDEsNjAsNTUyOCw1MiwtMjIsNTcsMjQsMTc0LDEzLDAsNzcsMjUsMCwyNCwyMjEsMjUsMCwyNCwxODQsMTMsLTEsMSw2MCw0MTY0LDIwLDEzLDU3LDI0LDE5NSwxMywwLDc4LDI1LDAsMjQsMjIxLDI1LDAsMjQsMTk5LDI1LDAsMjQsMjA4LDQ1LDI1LDAsMjQsMjIxLDI1LDAsMjQsMjEyLDI1LDAsMjQsMTk5LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIyMSw0Nyw3LDIzMiwxNCw2MSwtMSwyLDI1LDAsMjQsMzEwLDUyLDAsNDYsMywxLDMxLDEsMCwxLDEzLC0xLDEsNjAsODk2LDI0LC05LDU3LDI0LDI2MiwxMywwLDgwLDI1LDAsMjQsMzA5LDI1LDAsMjQsMjcyLDEzLC0xLDEsNjAsNjIwMCwxMiw3LDU3LDI0LDI4MywxMywwLDgxLDI1LDAsMjQsMzA5LDI1LDAsMjQsMjg3LDI1LDAsMjQsMjk2LDQ1LDI1LDAsMjQsMzA5LDI1LDAsMjQsMzAwLDI1LDAsMjQsMjg3LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDMwOSw0Nyw3LDMyMCwxNCw2MSwtMSwzLDI1LDAsMjQsMzc3LDUyLDAsNDYsNCwxLDMxLDEsMCwxLDEzLC0xLDEsNjAsNDM3MiwyOCwxNyw1NywyNCwzNTAsMTMsMCw4MiwyNSwwLDI0LDM3NiwyNSwwLDI0LDM1NCwyNSwwLDI0LDM2Myw0NSwyNSwwLDI0LDM3NiwyNSwwLDI0LDM2NywyNSwwLDI0LDM1NCw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwzNzYsNDcsNywzODcsMTQsNjEsLTEsNCwyNSwwLDI0LDQyNyw1MiwwLDQ2LDUsMSwzMSwxLDAsMSwxMywtMSwxLDYwLDcxNjgsMzYsLTEyLDU3LDI0LDQxNywxMywwLDg4LDI1LDAsMjQsNDI2LDI1LDAsMjQsNDE3LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDQyNiw0Nyw3LDQzNywxNCw2MSwtMSw1LDI1LDAsMjQsNzg4LDUyLDAsNDYsNiwxLDMxLDEsMCwxLDEzLC0xLDEsNjAsNjQ0OCwxNiwtMTUsNTcsMjQsNDY3LDEzLDAsODUsMjUsMCwyNCw3ODcsMjUsMCwyNCw0NzcsMTMsLTEsMSw2MCw1Njg4LDQsLTIsNTcsMjQsNDg4LDEzLDAsODYsMjUsMCwyNCw3ODcsMjUsMCwyNCw0OTgsMTMsLTEsMSw2MCw4MjgsNCwtMiw1NywyNCw1MDksMTMsMCw4NywyNSwwLDI0LDc4NywyNSwwLDI0LDUxOSwxMywtMSwxLDYwLDM4NjgsNCwtMSw1NywyNCw1MzAsMTMsMCw4NCwyNSwwLDI0LDc4NywyNSwwLDI0LDU0MCwxMywtMSwxLDYwLDMxNzYsOCwxMiw1NywyNCw1NTEsMTMsMCw5MywyNSwwLDI0LDc4NywyNSwwLDI0LDU2MSwxMywtMSwxLDYwLDE4MjgsOCwyMCw1NywyNCw1NzIsMTMsMCw5NCwyNSwwLDI0LDc4NywyNSwwLDI0LDU4MiwxMywtMSwxLDYwLDQ1MDAsMjQsLTIwLDU3LDI0LDU5MywxMywwLDk1LDI1LDAsMjQsNzg3LDI1LDAsMjQsNjAzLDEzLC0xLDEsNjAsNjU5Miw4LC0xMCw1NywyNCw2MTQsMTMsMCw5NiwyNSwwLDI0LDc4NywyNSwwLDI0LDYyNCwxMywtMSwxLDYwLDE4MDAsOCwxOSw1NywyNCw2MzUsMTMsMCw5NywyNSwwLDI0LDc4NywyNSwwLDI0LDY0NSwxMywtMSwxLDYwLDI0NDQsOCw1LDU3LDI0LDY1NiwxMywwLDkwLDI1LDAsMjQsNzg3LDI1LDAsMjQsNjY2LDEzLC0xLDEsNjAsMTY0NCw0LDE5LDU3LDI0LDY3NywxMywwLDkxLDI1LDAsMjQsNzg3LDI1LDAsMjQsNjg3LDEzLC0xLDEsNjAsMjQ4NCwxMiwtOSw1NywyNCw2OTgsMTMsMCw5MiwyNSwwLDI0LDc4NywyNSwwLDI0LDcwOCwxMywtMSwxLDYwLDUxNDgsMTYsLTE4LDU3LDI0LDcxOSwxMywwLDg5LDI1LDAsMjQsNzg3LDI1LDAsMjQsNzI5LDEzLC0xLDEsNjAsNjAzMiw0LDksNTcsMjQsNzQwLDEzLDAsOTgsMjUsMCwyNCw3ODcsMjUsMCwyNCw3NTAsMTMsLTEsMSw2MCw3NDE2LDQsNCw1NywyNCw3NjEsMTMsMCw5OSwyNSwwLDI0LDc4NywyNSwwLDI0LDc2NSwyNSwwLDI0LDc3NCw0NSwyNSwwLDI0LDc4NywyNSwwLDI0LDc3OCwyNSwwLDI0LDc2NSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw3ODcsNDcsNyw3OTgsMTQsNjEsLTEsNiwyNSwwLDI0LDg4NCw1MiwwLDQ2LDcsMSwzMSwyLDAsMSwyLDcsODE1LDE0LDI1LDAsMjQsODc5LDUyLDAsNDYsOCw2MSwtMSwwLDMxLDIsMSwyLDMsNyw4MzQsMTQsMjUsMCwyNCw4NzQsNTIsMCw0Niw5LDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiw1MiwxLDEzLDcsMiw1LDEzLDgsMiw1MiwxLDEzLDcsMSw1LDUyLDIsMTMsOCwzLDUsMjUsMCwyNCw4NzMsNDcsMjUsMCwyNCw4NzgsNDcsMjUsMCwyNCw4ODMsNDcsNyw4OTQsMTQsNjEsLTEsNywyNSwwLDI0LDEwMzQsNTIsMCw0NiwxMCwxLDMxLDIsMCwxLDIsNyw5MTEsMTQsMjUsMCwyNCwxMDI5LDUyLDAsNDYsMTEsNjEsLTEsMCwzMSwyLDEsMiwzLDcsOTMwLDE0LDI1LDAsMjQsMTAyNCw1MiwwLDQ2LDEyLDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiw1MiwxLDEzLDEwLDIsNSw2MSwtMSwzLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNjEsLTEsNCw3LDAsNjEsLTEsNSwxMywtMSw1LDEzLC0xLDQsMzgsMjQsMTAxNCwxMywtMSwzLDEzLC0xLDUsNTgsMTMsMTEsMiw1MiwxLDEzLDEwLDEsNSw1MiwyLDEzLDExLDMsNSwyNSwwLDI0LDEwMjMsNywxLDU2LC0xLDUsMSwyNSwwLDI0LDk2OSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMDIzLDQ3LDI1LDAsMjQsMTAyOCw0NywyNSwwLDI0LDEwMzMsNDcsNywxMDQ0LDE0LDYxLC0xLDgsMjUsMCwyNCwxMTYxLDUyLDAsNDYsMTMsMSwzMSwxLDAsMSwxMywtMSwxLDYwLDQ5NDQsMTIsLTUsNTgsMTMsLTEsMSw2MCw3MjAsMzIsLTIxLDU4LDUzLDQ0LDI0LDEwOTEsMSwxMywtMSwxLDYwLDI0MzYsOCwwLDU4LDEzLC0xLDEsNjAsMzIwNCwxNiwxOSw1OCw1Myw2MSwtMSwyLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwyLDI0LDExMTgsNywxLDI1LDAsMjQsMTEyMCw3LDAsMTMsLTEsMSw2MCw3NDIwLDEyLDMsNTgsMjQsMTEzNiw3LDEsMjUsMCwyNCwxMTM4LDcsMCwxMywtMSwxLDYwLDQ3ODAsMTIsLTMsNTgsMTMsLTEsMSw2MCw1OTAwLDQwLC0xOCw1OCw1Miw1LDI1LDAsMjQsMTE2MCw0Nyw3LDExNzEsMTQsNjEsLTEsOSwyNSwwLDI0LDEzMzAsNTIsMCw0NiwxNCwxLDMxLDEsMCwxLDUyLDAsNjEsLTEsMiw1MiwwLDYxLC0xLDMsMTMsLTEsMSw2MCwyODYwLDQ4LDksNTgsMjQsMTIxNSw1MiwwLDEzLC0xLDEsNjAsMjg2MCw0OCw5LDU4LDUsNDEsLTEsMywxLDcsMCw2MSwtMSw0LDEzLC0xLDQsMTMsLTEsMyw2MCw1MTIsOCwtMSw1OCwzOCwyNCwxMzIyLDEzLC0xLDMsMTMsLTEsNCw1OCw2MSwtMSw1LDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSw1LDYwLDE0NCw0LDYsNTgsNTIsMSw2MCw0OTA0LDgsMjAsMiw2MCw0MTg0LDI4LC0xNCw1OCw1LDEzLC0xLDUsNjAsNjE5Miw4LC0yMCw1OCw1MiwxLDYwLDQ5MDQsOCwyMCwyLDYwLDQxODQsMjgsLTE0LDU4LDUsNTIsMyw1MiwxLDEzLC0xLDIsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDM1LC0xLDQsMCwxLDI1LDAsMjQsMTIyMCwxMywtMSwyLDI1LDAsMjQsMTMyOSw0Nyw3LDEzNDAsMTQsNjEsLTEsMTAsMjUsMCwyNCwxMzcxLDUyLDAsNDYsMTUsMSwzMSwxLDAsMSw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsNywwLDUyLDIsMjUsMCwyNCwxMzcwLDQ3LDcsMTM4MSwxNCw2MSwtMSwxMSwyNSwwLDI0LDE2NjksNTIsMCw0NiwxNiwxLDMxLDEsMCwxLDUyLDAsNjEsLTEsMiwyOCwxNjQ5LDEzLC0xLDEsNjAsNTI1MiwzNiwtMTgsNTgsNDQsMjQsMTQyNSwxLDEzLC0xLDEsNjAsNTI1MiwzNiwtMTgsNTgsNjAsNTEyLDgsLTEsNTgsNywxLDIzLDI0LDE0NDMsMTMsLTEsMSw2MCw1MjUyLDM2LC0xOCw1OCw0MSwtMSwzLDEsMjUsMCwyNCwxNDg1LDEzLC0xLDEsNjAsNTg0OCwyNCwxNCw1OCw0NCwyNCwxNDcxLDEsMTMsLTEsMSw2MCw1ODQ4LDI0LDE0LDU4LDYwLDUxMiw4LC0xLDU4LDcsMSwyMywyNCwxNDg1LDEzLC0xLDEsNjAsNTg0OCwyNCwxNCw1OCw0MSwtMSwzLDEsMTMsLTEsMywyNCwxNjM2LDcsMCw2MSwtMSw1LDEzLC0xLDUsMTMsLTEsMyw2MCw1MTIsOCwtMSw1OCwzOCwyNCwxNjExLDEzLC0xLDMsMTMsLTEsNSw1OCw1MiwxLDMyLDYwLDE0ODAsNDgsLTEzLDU4LDUsNDEsLTEsNCwxLDEzLC0xLDQsMjQsMTYwMiwxMywtMSw0LDYwLDE0NCw0LDYsNTgsNTIsMSw2MCw0OTA0LDgsMjAsMiw2MCw0MTg0LDI4LC0xNCw1OCw1LDEzLC0xLDQsNjAsNjE5Miw4LC0yMCw1OCw1MiwxLDYwLDQ5MDQsOCwyMCwyLDYwLDQxODQsMjgsLTE0LDU4LDUsMTMsLTEsMywxMywtMSw1LDU4LDYwLDU1ODAsMjQsOCw1OCw1MiwzLDUyLDEsMTMsLTEsMiw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMzUsLTEsNSwwLDEsMjUsMCwyNCwxNDk1LDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSw1MiwxLDEzLC0xLDIsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDEzLC0xLDIsMjUsMCwyNCwxNjY4LDgsMTY0NSwyNSwwLDI0LDE2NTksNjEsLTEsNiwxMywtMSwyLDI1LDAsMjQsMTY2OCw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxNjY4LDQ3LDcsMTY3OSwxNCw2MSwtMSwxMiwyNSwwLDI0LDE5NjIsNTIsMCw0NiwxNywxLDMxLDEsMCwxLDEzLC0xLDEsNjAsMTI2MCwzMiw1LDU4LDcsMCwzOSw1Nyw0NCw0OSwyNCwxNzM0LDEsMTMsLTEsMSw2MCwxMjYwLDMyLDUsNTgsNDQsMjQsMTczNCwxLDEzLC0xLDEsNjAsMTI2MCwzMiw1LDU4LDYwLDYxOTIsOCwtMjAsNTgsNywwLDM5LDU3LDI0LDE3NjUsNjAsNDAzMiw0LC00LDcsMCw2MCwxNDQsNCw2LDcsMCw2MCw2MTkyLDgsLTIwLDcsMCw0LDMsMTMsLTEsMSw2MCwxMjYwLDMyLDUsMzMsMSwxMywtMSwxLDYwLDUwODQsNDgsLTE1LDU4LDcsMCwzOSw1Nyw0NCw0OSwyNCwxODExLDEsMTMsLTEsMSw2MCw1MDg0LDQ4LC0xNSw1OCw0NCwyNCwxODExLDEsMTMsLTEsMSw2MCw1MDg0LDQ4LC0xNSw1OCw2MCwyOTA4LDgsLTEwLDU4LDcsMCwzOSw1NywyNCwxODQyLDYwLDQ3MDgsOCwwLDcsMCw2MCwyNjc2LDE2LC0yMiw3LDAsNjAsMjkwOCw4LC0xMCw3LDAsNCwzLDEzLC0xLDEsNjAsNTA4NCw0OCwtMTUsMzMsMSw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsMTMsLTEsMSw2MCw1NTAwLDE2LDEsNTgsNDQsNDksMjQsMTg3MSwxLDcsMiwyNiwxMywtMSwxLDYwLDUwODQsNDgsLTE1LDU4LDYwLDQ3MDgsOCwwLDU4LDEzLC0xLDEsNjAsNTA4NCw0OCwtMTUsNTgsNjAsMjY3NiwxNiwtMjIsNTgsMTMsLTEsMSw2MCw1MDg0LDQ4LC0xNSw1OCw2MCwyOTA4LDgsLTEwLDU4LDEzLC0xLDEsNjAsMTI2MCwzMiw1LDU4LDYwLDQwMzIsNCwtNCw1OCwxMywtMSwxLDYwLDEyNjAsMzIsNSw1OCw2MCwxNDQsNCw2LDU4LDEzLC0xLDEsNjAsMTI2MCwzMiw1LDU4LDYwLDYxOTIsOCwtMjAsNTgsNTIsOCw2MSwtMSwyLDEzLC0xLDIsMjUsMCwyNCwxOTYxLDQ3LDcsMTk3MiwxNCw2MSwtMSwxMywyNSwwLDI0LDIxODcsNTIsMCw0NiwxOCwxLDMxLDAsMCw0LDAsMCw2MCwyNTg4LDI0LC0xMiwzMywxLDYwLDU4OCwzMiwyMCw1MiwwLDYwLDI3MiwxMiwzLDYwLDY1MjQsOCwtMSwyNSwxLDYwLDQ0NDAsMjQsLTIwLDI1LDEsNjAsMjE4OCwxMiw1LDI1LDEsNjAsNzkyLDEyLDgsMjUsMSw0LDQsNjAsMjQwNCwxNiwxNSwyNSwwLDYwLDYyNDQsMjQsOSwyNSwwLDYwLDYyMTIsMTYsLTksNTIsMCw2MCw2MDA0LDEyLC0xNiwyLDYwLDU4ODAsOCwxNCw1OCw1LDYwLDQwNjgsMjQsMTEsNCwwLDQsNiwwLDYwLDM3MDQsMjQsLTEyLDMzLDEsNCwwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsMzMsMSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxMDksMzMsMSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxMTAsMzMsMSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxMTEsMzMsMSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxMTIsMzMsMSwwLDUyLDEsMCw2MCw1MjQsMjAsMiw1OCw2MCw1ODcyLDgsLTksNTgsNSwwLDYwLDUyNCwyMCwyLDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjE4Niw0Nyw3LDIxOTcsMTQsNjEsLTEsMTQsMjUsMCwyNCwyNDQ2LDUyLDAsNDYsMTksMSwzMSwxLDAsMSwxMywwLDExNiwyNCwyMjQ0LDEzLC0xLDEsNTIsMSwxMywwLDExNiw2MCw0MjQwLDQsLTYsNTgsNSw2MSwtMSwyLDEzLC0xLDIsNywwLDM5LDMwLDI0LDIyNDQsMTMsLTEsMiwyNSwwLDI0LDI0NDUsNTIsMCwxMywtMSwxLDYwLDE3NDAsMTIsLTEsNTgsNjAsMTc1NiwyOCwtMTAsNTgsNSw2MSwtMSwzLDEzLC0xLDEsNjAsNTQ1Niw0LC02LDU4LDQ0LDQ5LDI0LDIyODAsMSw2MCwyNjYwLDAsLTE0LDYxLC0xLDQsMTMsLTEsMSw2MCwxNDMyLDIwLC0yMCw1OCw0NCw0OSwyNCwyMzAwLDEsNjAsMjY2MCwwLC0xNCw2MSwtMSw1LDEzLC0xLDEsNjAsMTk2NCw4LDIxLDU4LDQ0LDQ5LDI0LDIzMjAsMSw2MCwyNjYwLDAsLTE0LDYxLC0xLDYsMTMsLTEsMSw2MCw1Nzc2LDIwLDE5LDU4LDQ0LDQ5LDI0LDIzNDAsMSw2MCwyNjYwLDAsLTE0LDYxLC0xLDcsMTMsLTEsMSw2MCw2MTUyLDI4LDUsNTgsNDQsNDksMjQsMjM2MCwxLDYwLDI2NjAsMCwtMTQsNjEsLTEsOCwxMywtMSwxLDUyLDEsMTMsMCwxNSw1LDYxLC0xLDksMTMsLTEsMywxMywtMSw0LDQ4LDEzLC0xLDUsNDgsMTMsLTEsNiw0OCwxMywtMSw3LDQ4LDEzLC0xLDgsNDgsMTMsLTEsOSw0OCw2MSwtMSwxMCwxMywtMSwxMCw1MiwxLDE3LDUsNjEsLTEsMTEsMTMsMCwxMTYsMjQsMjQzOCwxMywtMSwxMSwxMywtMSwxLDUyLDIsMTMsMCwxMTYsNjAsNDcxNiw0LDE1LDU4LDUsMSwxMywtMSwxMSwyNSwwLDI0LDI0NDUsNDcsNywyNDU2LDE0LDYxLC0xLDE1LDI1LDAsMjQsMjg3Myw1MiwwLDQ2LDIwLDEsMzEsMSwwLDEsMTMsLTEsMSw2MCw1NDU2LDQsLTYsNTgsNjAsMjY2MCwwLC0xNCwzMCwyNCwyNTAyLDYwLDMwMjAsMjAsLTE3LDEzLC0xLDEsNjAsNTQ1Niw0LC02LDU4LDQ4LDYwLDUxNjQsOCw3LDQ4LDI1LDAsMjQsMjg3MiwxMywtMSwxLDYwLDMxMTIsMjAsLTExLDIsNjAsMmUzLDgsMTAsNTgsNTcsMjQsMjUyNiw2MCwxNzg0LDE2LDE0LDI1LDAsMjQsMjg3Miw2MCwyNjYwLDAsLTE0LDYxLC0xLDIsNywwLDYxLC0xLDMsMTMsLTEsMSw2MCw2OTIwLDIwLDIxLDU4LDI0LDI4NjUsMTMsLTEsMywxMywwLDExNCwxMSwyNCwyNTYxLDI1LDAsMjQsMjg2NSw3LDAsNjEsLTEsNCw3LDAsNjEsLTEsNSwxMywtMSwxLDYwLDY5MjAsMjAsMjEsNTgsNjAsNTk2OCwxNiwwLDU4LDYwLDUxMiw4LC0xLDU4LDYxLC0xLDYsMTMsMCwxMTUsMTMsLTEsNiw1MiwyLDYwLDQ5MDQsOCwyMCwyLDYwLDM3NDgsNCwxMCw1OCw1LDYxLC0xLDcsNywwLDYxLC0xLDgsMTMsLTEsOCwxMywtMSw3LDM4LDI0LDI3MDAsMTMsLTEsMSw2MCw2OTIwLDIwLDIxLDU4LDYwLDU5NjgsMTYsMCw1OCwxMywtMSw4LDU4LDYxLC0xLDksMTMsLTEsOSw2MCw3Mzk2LDIwLC0xNyw1OCwxMywtMSwxLDYwLDczOTYsMjAsLTE3LDU4LDU3LDI0LDI2OTEsMTMsLTEsOSwxMywtMSwxLDU3LDI0LDI2ODYsMTMsLTEsNCw3LDEsNDgsNDEsLTEsNSwxLDM1LC0xLDQsMCwxLDM1LC0xLDgsMCwxLDI1LDAsMjQsMjYxOSw2MCwxNDMyLDIwLC0yMCw1MiwxLDEzLC0xLDEsNjAsNDQ2NCwzNiwtMTEsNTgsNSw0NCwyNCwyNzM5LDEsNjAsMTQzMiwyMCwtMjAsNTIsMSwxMywtMSwxLDYwLDcwNjAsMjQsMTIsNTgsNSw2MCwyNjYwLDAsLTE0LDMwLDI0LDI4MDAsNjAsMTQ4LDQsOCw1MiwwLDEzLC0xLDEsNjAsNzM5NiwyMCwtMTcsNTgsNjAsMTc1NiwyOCwtMTAsNTgsNSw0OCw2MCwxMjMyLDE2LDE5LDQ4LDYwLDE0MzIsMjAsLTIwLDUyLDEsMTMsLTEsMSw2MCw3MDYwLDI0LDEyLDU4LDUsNDgsNjAsNTE2NCw4LDcsNDgsMTMsLTEsMiw0OCw0MSwtMSwyLDEsMjUsMCwyNCwyODQzLDYwLDE0OCw0LDgsNTIsMCwxMywtMSwxLDYwLDczOTYsMjAsLTE3LDU4LDYwLDE3NTYsMjgsLTEwLDU4LDUsNDgsNjAsMjYxNiw0LDEzLDQ4LDEzLC0xLDUsNDgsNjAsNDg5Miw0LDEwLDQ4LDEzLC0xLDIsNDgsNDEsLTEsMiwxLDEzLC0xLDEsNjAsNjkyMCwyMCwyMSw1OCw0MSwtMSwxLDEsNywxLDU2LC0xLDMsMSwyNSwwLDI0LDI1MzgsMTMsLTEsMiwyNSwwLDI0LDI4NzIsNDcsNywyODgzLDE0LDYxLC0xLDE2LDI1LDAsMjQsMjkwNSw1MiwwLDQ2LDIxLDEsMzEsMiwwLDEsMiwxMywtMSwxLDEzLC0xLDIsMTgsMjUsMCwyNCwyOTA0LDQ3LDcsMjkxNSwxNCw2MSwtMSwxNywyNSwwLDI0LDMwOTUsNTIsMCw0NiwyMiwxLDMxLDEsMCwxLDEzLC0xLDEsNTIsMSwxMywwLDE0LDUsNjEsLTEsMiwxMywtMSwyLDUyLDEsMTMsMCwxMjgsNjAsNDI0MCw0LC02LDU4LDUsNjEsLTEsMywxMywtMSwzLDI0LDI5NjUsMTMsLTEsMywyNSwwLDI0LDMwOTQsMTMsLTEsMSw2MCwzODI0LDEyLC0xNSw1OCwyNCwyOTgxLDcsMSwyNSwwLDI0LDI5ODMsNywwLDEzLC0xLDEsNjAsMTg1NiwyMCwxOCw1OCwyNCwyOTk5LDcsMSwyNSwwLDI0LDMwMDEsNywwLDEzLC0xLDEsNjAsNDQwLDIwLC0xNiw1OCwyNCwzMDE3LDcsMSwyNSwwLDI0LDMwMTksNywwLDEzLC0xLDEsNjAsMTA0MCwxMiwxNiw1OCwyNCwzMDM1LDcsMSwyNSwwLDI0LDMwMzcsNywwLDEzLC0xLDEsNTIsMSwxMywwLDIwLDUsMTMsLTEsMSw1MiwxLDEzLDAsMTksNSwxMywtMSwxLDUyLDEsMTMsMCwxOCw1LDUyLDcsNjEsLTEsNCwxMywtMSw0LDEzLC0xLDIsNTIsMiwxMywwLDEyOCw2MCw0NzE2LDQsMTUsNTgsNSwxLDEzLC0xLDQsMjUsMCwyNCwzMDk0LDQ3LDcsMzEwNSwxNCw2MSwtMSwxOCwyNSwwLDI0LDM2NzQsNTIsMCw0NiwyMywxLDMxLDEsMCwxLDEzLC0xLDEsNjAsMjgyNCwxMiwxNSw1OCw2MCwyMDA4LDgsLTIsNTgsMjQsMzEzNiwxMywwLDEyNywyNSwwLDI0LDM2NzMsMTMsLTEsMSw2MCwxMDMyLDgsLTEsNTgsMjQsMzE1MywxMywwLDEyNSwyNSwwLDI0LDM2NzMsNTIsMCwxMywtMSwxLDYwLDE3NDAsMTIsLTEsNTgsNjAsMTc1NiwyOCwtMTAsNTgsNSw2MSwtMSwyLDEzLC0xLDIsNjAsNjYwMCwxMiwtMiw1NywyNCwzMTg5LDEzLDAsMTE5LDI1LDAsMjQsMzY3MywxMywtMSwxLDYwLDE5NjQsOCwyMSw1OCwyNCwzMjE5LDUyLDAsMTMsLTEsMSw2MCwxOTY0LDgsMjEsNTgsNjAsMTc1NiwyOCwtMTAsNTgsNSwyNSwwLDI0LDMyMjMsNjAsMjY2MCwwLC0xNCw2MSwtMSwzLDEzLC0xLDIsNjAsMjk0NCw4LC00LDU3LDQ0LDQ5LDI0LDMyNDcsMSwxMywtMSwzLDYwLDI5NDQsOCwtNCw1NywyNCwzMjU2LDEzLDAsMTI2LDI1LDAsMjQsMzY3MywxMywtMSwzLDYwLDI4NDgsMTIsMSw1NywyNCwzMjc3LDEzLDAsMTE3LDI1LDAsMjQsMzY3MywyNSwwLDI0LDMyODcsMTMsLTEsMyw2MCw0MDUyLDEyLC0yLDU3LDI0LDMyOTgsMTMsMCwxMTgsMjUsMCwyNCwzNjczLDI1LDAsMjQsMzMwOCwxMywtMSwzLDYwLDIyMjAsOCwtNSw1NywyNCwzMzE5LDEzLDAsMTIwLDI1LDAsMjQsMzY3MywyNSwwLDI0LDMzMjksMTMsLTEsMyw2MCwxNjgwLDQsLTEwLDU3LDI0LDMzNDAsMTMsMCwxMjIsMjUsMCwyNCwzNjczLDI1LDAsMjQsMzM1MCwxMywtMSwzLDYwLDU0MzYsMjAsLTE2LDU3LDI0LDMzNjEsMTMsMCwxMjMsMjUsMCwyNCwzNjczLDI1LDAsMjQsMzM3MSwxMywtMSwzLDYwLDIxNTYsOCwxNCw1NywyNCwzMzgyLDEzLDAsMTIxLDI1LDAsMjQsMzY3MywyNSwwLDI0LDMzODYsMjUsMCwyNCwzNjYwLDEzLC0xLDEsNjAsMTQzMiwyMCwtMjAsNTgsNDQsNDksMjQsMzQwMywxLDYwLDI2NjAsMCwtMTQsNjAsNjQ0NCw0LC02LDQ4LDEzLC0xLDEsNjAsNTQ1Niw0LC02LDU4LDQ0LDQ5LDI0LDM0MjUsMSw2MCwyNjYwLDAsLTE0LDQ4LDYwLDY0NDQsNCwtNiw0OCwxMywtMSwxLDYwLDYxNTIsMjgsNSw1OCw0NCw0OSwyNCwzNDQ4LDEsNjAsMjY2MCwwLC0xNCw0OCw2MCw2NDQ0LDQsLTYsNDgsMTMsLTEsMSw2MCw1Nzc2LDIwLDE5LDU4LDQ0LDQ5LDI0LDM0NzEsMSw2MCwyNjYwLDAsLTE0LDQ4LDYxLC0xLDQsNTIsMCwxMywtMSw0LDYwLDE3NTYsMjgsLTEwLDU4LDUsNjEsLTEsNSwxMywwLDEyMiw2MCw2NzYsOCwtMSw1MiwyLDEzLDAsMTE4LDYwLDQwNTIsMTIsLTIsNTIsMiwxMywwLDExNyw2MCwyODQ4LDEyLDEsNTIsMiw1MiwzLDYxLC0xLDYsNywwLDYxLC0xLDcsMTMsLTEsNiw2MCw1MTIsOCwtMSw1OCw2MSwtMSw4LDEzLC0xLDcsMTMsLTEsOCwzOCwyNCwzNTk2LDEzLC0xLDYsMTMsLTEsNyw1OCw3LDAsNTgsNTIsMSwxMywtMSw1LDYwLDMyMjAsMTYsMTYsNTgsNSw3LDEsMjYsMzAsMjQsMzU4NywxMywtMSw2LDEzLC0xLDcsNTgsNywxLDU4LDI1LDAsMjQsMzY3MywzNSwtMSw3LDAsMSwyNSwwLDI0LDM1MzcsMTMsLTEsNCw1MiwxLDYwLDUzMjQsNCwyMSw2MCw3MTI4LDE2LDIsNTIsMiw2MCwyOTE2LDE2LDE5LDIsMjksNjAsMjAwOCw4LC0yLDU4LDUsMjQsMzYzMiwxMywwLDEyMiwyNSwwLDI0LDM2NzMsMTMsLTEsMyw2MCwzODM2LDIwLC0xMSw1NywyNCwzNjQ5LDEzLDAsMTE5LDI1LDAsMjQsMzY1MiwxMywwLDEyNCwyNSwwLDI0LDM2NzMsMjUsMCwyNCwzNjY0LDI1LDAsMjQsMzM4Niw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwzNjczLDQ3LDcsMzY4NCwxNCw2MSwtMSwxOSwyNSwwLDI0LDM4MzAsNTIsMCw0NiwyNCwxLDMxLDEsMCwxLDYwLDQ3NzIsOCwtOSw2MCw2NTIsMTYsLTE1LDYwLDYxNTIsMjgsNSw2MCwxNjcyLDgsMiw2MCwxNDMyLDIwLC0yMCw2MCw1NDU2LDQsLTYsNTIsNiw2MSwtMSwyLDUyLDAsNjEsLTEsMywxMywtMSwyLDYwLDUxMiw4LC0xLDU4LDYxLC0xLDQsNywwLDYxLC0xLDUsMTMsLTEsNSwxMywtMSw0LDM4LDI0LDM4MjIsMTMsLTEsMiwxMywtMSw1LDU4LDYxLC0xLDYsMTMsLTEsNiw1MiwxLDEzLC0xLDEsNjAsNDQ2NCwzNiwtMTEsNTgsNSwyNCwzODAwLDEzLC0xLDYsNTIsMSwxMywtMSwxLDYwLDcwNjAsMjQsMTIsNTgsNSw1MiwxLDE3LDUsMjUsMCwyNCwzODAxLDQ1LDUyLDEsMTMsLTEsMyw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMzUsLTEsNSwwLDEsMjUsMCwyNCwzNzQzLDEzLC0xLDMsMjUsMCwyNCwzODI5LDQ3LDcsMzg0MCwxNCw2MSwtMSwyMCwyNSwwLDI0LDQzMTEsNTIsMCw0NiwyNSwxLDMxLDEsMCwxLDI4LDQyOTIsMjUsMSwyNCwzODYxLDUyLDAsMjUsMCwyNCw0MzEwLDEzLC0xLDEsNjAsMzE2MCwxNiwxNyw1OCw2MSwtMSwyLDEzLC0xLDIsNjAsNTEyLDgsLTEsNTgsNjEsLTEsMyw1MiwwLDYxLC0xLDQsNTIsMCw2MSwtMSw1LDcsNSw2MSwtMSw2LDcsMCw2MSwtMSw3LDcsMCw2MSwtMSw4LDEzLC0xLDgsMTMsLTEsMywzOCwyNCw0MDY3LDEzLC0xLDcsMTMsLTEsNiwyMyw0NCw0OSwyNCwzOTQxLDEsMTMsLTEsNSw2MCw1MTIsOCwtMSw1OCwxMywtMSw2LDIzLDI0LDM5NDcsMjUsMCwyNCw0MDY3LDEzLC0xLDIsMTMsLTEsOCw1OCw2MSwtMSw5LDEzLC0xLDksNjAsMTQzMiwyMCwtMjAsNTgsNjEsLTEsMTAsNjAsMjMzMiwxMiwxOCw1MiwxLDEzLC0xLDEwLDYwLDMyMjAsMTYsMTYsNTgsNSw3LDAsNTcsMjQsNDAyMiwxMywtMSw5LDYwLDE0MzIsMjAsLTIwLDU4LDUyLDEsMTcsNSw1MiwxLDEzLC0xLDQsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDcsMSw1NiwtMSw3LDEsMjUsMCwyNCw0MDU3LDYwLDUyLDgsLTMsNTIsMSwxMywtMSwxMCw2MCwzMjIwLDE2LDE2LDU4LDUsNywwLDU3LDI0LDQwNTcsMTMsLTEsOSw1MiwxLDEzLC0xLDUsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDcsMSw1NiwtMSw4LDEsMjUsMCwyNCwzOTA4LDEzLC0xLDUsNjAsNTEyLDgsLTEsNTgsNjEsLTEsMTEsNywwLDYxLC0xLDEyLDEzLC0xLDEyLDEzLC0xLDExLDM4LDI0LDQxNDksMTMsLTEsNywxMywtMSw2LDIzLDI0LDQxMDUsMjUsMCwyNCw0MTQ5LDEzLC0xLDUsMTMsLTEsMTIsNTgsNjAsMTQzMiwyMCwtMjAsNTgsNTIsMSwxNyw1LDUyLDEsMTMsLTEsNCw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsNywxLDU2LC0xLDcsMSw3LDEsNTYsLTEsMTIsMSwyNSwwLDI0LDQwODMsNywwLDYxLC0xLDEzLDEzLC0xLDEzLDEzLC0xLDMsMzgsMjQsNDI3OSwxMywtMSw3LDEzLC0xLDYsMjMsMjQsNDE3NiwyNSwwLDI0LDQyNzksMTMsLTEsMiwxMywtMSwxMyw1OCw0MSwtMSw5LDEsNjAsMjMzMiwxMiwxOCw1MiwxLDEzLC0xLDksNjAsMTQzMiwyMCwtMjAsNTgsNjAsMzIyMCwxNiwxNiw1OCw1LDcsMCwzMCw0NCwyNCw0MjM3LDEsNjAsNTIsOCwtMyw1MiwxLDEzLC0xLDksNjAsMTQzMiwyMCwtMjAsNTgsNjAsMzIyMCwxNiwxNiw1OCw1LDcsMCwzMCwyNCw0MjY5LDEzLC0xLDksNjAsMTQzMiwyMCwtMjAsNTgsNTIsMSwxNyw1LDUyLDEsMTMsLTEsNCw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsNywxLDU2LC0xLDcsMSw3LDEsNTYsLTEsMTMsMSwyNSwwLDI0LDQxNTQsMTMsLTEsNCwyNSwwLDI0LDQzMTAsOCw0Mjg4LDI1LDAsMjQsNDMwMSw2MSwtMSwxNCw1MiwwLDI1LDAsMjQsNDMxMCw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw0MzEwLDQ3LDcsNDMyMSwxNCw2MSwtMSwyMSwyNSwwLDI0LDQ0NDEsNTIsMCw0NiwyNiwxLDMxLDEsMCwxLDEzLC0xLDEsNjAsNTEzMiwxNiwwLDU3LDI0LDQzNTEsMTMsMCwxMjksMjUsMCwyNCw0NDQwLDI1LDAsMjQsNDM2MSwxMywtMSwxLDYwLDUzOTIsMTIsMiw1NywyNCw0MzcyLDEzLDAsMTMwLDI1LDAsMjQsNDQ0MCwyNSwwLDI0LDQzODIsMTMsLTEsMSw2MCw0NjA0LDU2LC0yMSw1NywyNCw0MzkzLDEzLDAsMTMxLDI1LDAsMjQsNDQ0MCwyNSwwLDI0LDQ0MDMsMTMsLTEsMSw2MCw2NjEyLDMyLC0xMiw1NywyNCw0NDE0LDEzLDAsMTMyLDI1LDAsMjQsNDQ0MCwyNSwwLDI0LDQ0MTgsMjUsMCwyNCw0NDI3LDQ1LDI1LDAsMjQsNDQ0MCwyNSwwLDI0LDQ0MzEsMjUsMCwyNCw0NDE4LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDQ0NDAsNDcsNyw0NDUxLDE0LDYxLC0xLDIyLDI1LDAsMjQsNDU3MSw1MiwwLDQ2LDI3LDEsMzEsMSwwLDEsMTMsLTEsMSw2MCwyNjYwLDE2LC00LDU3LDI0LDQ0ODEsMTMsMCwxMzMsMjUsMCwyNCw0NTcwLDI1LDAsMjQsNDQ5MSwxMywtMSwxLDYwLDU1MjgsNTIsLTIyLDU3LDI0LDQ1MDIsMTMsMCwxMzQsMjUsMCwyNCw0NTcwLDI1LDAsMjQsNDUxMiwxMywtMSwxLDYwLDQxNjQsMjAsMTMsNTcsMjQsNDUyMywxMywwLDEzNSwyNSwwLDI0LDQ1NzAsMjUsMCwyNCw0NTMzLDEzLC0xLDEsNjAsNDQwNCwxMiwwLDU3LDI0LDQ1NDQsMTMsMCwxMzYsMjUsMCwyNCw0NTcwLDI1LDAsMjQsNDU0OCwyNSwwLDI0LDQ1NTcsNDUsMjUsMCwyNCw0NTcwLDI1LDAsMjQsNDU2MSwyNSwwLDI0LDQ1NDgsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsNDU3MCw0Nyw3LDQ1ODEsMTQsNjEsLTEsMjMsMjUsMCwyNCw0NjU5LDUyLDAsNDYsMjgsMSwzMSwxLDAsMSwxMywtMSwxLDYwLDg5NiwyNCwtOSw1NywyNCw0NjExLDEzLDAsMTM3LDI1LDAsMjQsNDY1OCwyNSwwLDI0LDQ2MjEsMTMsLTEsMSw2MCw2MjAwLDEyLDcsNTcsMjQsNDYzMiwxMywwLDEzOCwyNSwwLDI0LDQ2NTgsMjUsMCwyNCw0NjM2LDI1LDAsMjQsNDY0NSw0NSwyNSwwLDI0LDQ2NTgsMjUsMCwyNCw0NjQ5LDI1LDAsMjQsNDYzNiw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw0NjU4LDQ3LDcsNDY2OSwxNCw2MSwtMSwyNCwyNSwwLDI0LDQ3MDEsNTIsMCw0NiwyOSwxLDMxLDEsMCwxLDEzLC0xLDEsNjAsMzEwNCw4LDE1LDU3LDI0LDQ2OTUsMTMsMCwxMzksMjUsMCwyNCw0NzAwLDQ1LDI1LDAsMjQsNDcwMCw0Nyw3LDQ3MTEsMTQsNjEsLTEsMjUsMjUsMCwyNCw0Nzg5LDUyLDAsNDYsMzAsMSwzMSwxLDAsMSwxMywtMSwxLDYwLDM4OTYsOCwxMSw1NywyNCw0NzQxLDEzLDAsMTQwLDI1LDAsMjQsNDc4OCwyNSwwLDI0LDQ3NTEsMTMsLTEsMSw2MCw0ODk2LDgsMTIsNTcsMjQsNDc2MiwxMywwLDE0MSwyNSwwLDI0LDQ3ODgsMjUsMCwyNCw0NzY2LDI1LDAsMjQsNDc3NSw0NSwyNSwwLDI0LDQ3ODgsMjUsMCwyNCw0Nzc5LDI1LDAsMjQsNDc2Niw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw0Nzg4LDQ3LDcsNDc5OSwxNCw2MSwtMSwyNiwyNSwwLDI0LDQ5MTksNTIsMCw0NiwzMSwxLDMxLDEsMCwxLDEzLC0xLDEsNjAsNTY5Miw4LC0zLDU3LDI0LDQ4MjksMTMsMCwxNDIsMjUsMCwyNCw0OTE4LDI1LDAsMjQsNDgzOSwxMywtMSwxLDYwLDEyMjQsOCwtNiw1NywyNCw0ODUwLDEzLDAsMTQzLDI1LDAsMjQsNDkxOCwyNSwwLDI0LDQ4NjAsMTMsLTEsMSw2MCw2NTc2LDE2LDQsNTcsMjQsNDg3MSwxMywwLDE0NCwyNSwwLDI0LDQ5MTgsMjUsMCwyNCw0ODgxLDEzLC0xLDEsNjAsNTE3MiwxNiwtMiw1NywyNCw0ODkyLDEzLDAsMTQ1LDI1LDAsMjQsNDkxOCwyNSwwLDI0LDQ4OTYsMjUsMCwyNCw0OTA1LDQ1LDI1LDAsMjQsNDkxOCwyNSwwLDI0LDQ5MDksMjUsMCwyNCw0ODk2LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDQ5MTgsNDcsNyw0OTI5LDE0LDYxLC0xLDI3LDI1LDAsMjQsNTAyOCw1MiwwLDQ2LDMyLDEsMzEsMSwwLDEsMTMsLTEsMSw2MCwxNDUyLDE2LDMsNTcsMjQsNDk1OSwxMywwLDE0NiwyNSwwLDI0LDUwMjcsMjUsMCwyNCw0OTY5LDEzLC0xLDEsNjAsNjcwNCwxNiwtNiw1NywyNCw0OTgwLDEzLDAsMTQ3LDI1LDAsMjQsNTAyNywyNSwwLDI0LDQ5OTAsMTMsLTEsMSw2MCw0MzcyLDI4LDE3LDU3LDI0LDUwMDEsMTMsMCwxNDgsMjUsMCwyNCw1MDI3LDI1LDAsMjQsNTAwNSwyNSwwLDI0LDUwMTQsNDUsMjUsMCwyNCw1MDI3LDI1LDAsMjQsNTAxOCwyNSwwLDI0LDUwMDUsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsNTAyNyw0Nyw3LDUwMzgsMTQsNjEsLTEsMjgsMjUsMCwyNCw1MTI0LDUyLDAsNDYsMzMsMSwzMSwyLDAsMSwyLDcsNTA1NSwxNCwyNSwwLDI0LDUxMTksNTIsMCw0NiwzNCw2MSwtMSwwLDMxLDIsMSwyLDMsNyw1MDc0LDE0LDI1LDAsMjQsNTExNCw1MiwwLDQ2LDM1LDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiw1MiwxLDEzLDMzLDIsNSwxMywzNCwyLDUyLDEsMTMsMzMsMSw1LDUyLDIsMTMsMzQsMyw1LDI1LDAsMjQsNTExMyw0NywyNSwwLDI0LDUxMTgsNDcsMjUsMCwyNCw1MTIzLDQ3LDcsNTEzNCwxNCw2MSwtMSwyOSwyNSwwLDI0LDUyMzcsNTIsMCw0NiwzNiwxLDMxLDEsMCwxLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDUyLDEsMTMsMCwxNCw1LDEzLC0xLDEsNjAsNDc4MCwxMiwtMyw1OCwyNCw1MTkyLDEzLC0xLDEsNjAsNDc4MCwxMiwtMyw1OCwyNSwwLDI0LDUyMDAsMTMsLTEsMSw2MCw0MzAwLDEyLC00LDU4LDEzLC0xLDEsNjAsNTkwMCw0MCwtMTgsNTgsMjQsNTIyMiwxMywtMSwxLDYwLDU5MDAsNDAsLTE4LDU4LDI1LDAsMjQsNTIzMCwxMywtMSwxLDYwLDM4NTYsMTIsMTAsNTgsNTIsNCwyNSwwLDI0LDUyMzYsNDcsNyw1MjQ3LDE0LDYxLC0xLDMwLDI1LDAsMjQsNTM1OCw1MiwwLDQ2LDM3LDEsMzEsMSwwLDEsNTIsMCw2MCw2MDA0LDEyLC0xNiwyLDYwLDU4ODAsOCwxNCw1OCw1LDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNTIsMSwxMywwLDE0LDUsMTMsLTEsMSw2MCwyOTQ0LDgsLTQsNTgsMTMsLTEsMSw2MCw0NzgwLDEyLC0zLDU4LDI0LDUzMTMsMTMsLTEsMSw2MCw0NzgwLDEyLC0zLDU4LDI1LDAsMjQsNTMyMSwxMywtMSwxLDYwLDQzMDAsMTIsLTQsNTgsMTMsLTEsMSw2MCw1OTAwLDQwLC0xOCw1OCwyNCw1MzQzLDEzLC0xLDEsNjAsNTkwMCw0MCwtMTgsNTgsMjUsMCwyNCw1MzUxLDEzLC0xLDEsNjAsMzg1NiwxMiwxMCw1OCw1Miw1LDI1LDAsMjQsNTM1Nyw0Nyw3LDUzNjgsMTQsNjEsLTEsMzEsMjUsMCwyNCw1NjMxLDUyLDAsNDYsMzgsMSwzMSwxLDAsMSw3LDAsNjEsLTEsMiw2MCwyOTcyLDIwLC04LDEzLDAsMTcwLDYwLDY2ODAsMjQsLTE0LDEzLDAsMTY5LDYwLDYxMDQsMjAsMTMsMTMsMCwxNjgsNjAsNDcyMCwxMiwyMSwxMywwLDE2Nyw0LDQsNjEsLTEsMyw2MCwzNjQ0LDIwLC0xMywxMywwLDE3NSw2MCw0OTIsMjAsNSwxMywwLDE3NCw2MCw0MzQ0LDI4LC0xNiwxMywwLDE3Myw2MCwxMTUyLDgsMSwxMywwLDE3Miw2MCw0NjYwLDQsOCwxMywwLDE3MSw0LDUsNjEsLTEsNCwxMywtMSwzLDUyLDEsNjAsMTI0OCwxMiwxMiwyLDYwLDQ0NDAsMjQsLTIwLDU4LDUsNjEsLTEsNSwxMywtMSw1LDYwLDUxMiw4LC0xLDU4LDYxLC0xLDYsNywwLDYxLC0xLDcsMTMsLTEsNywxMywtMSw2LDM4LDI0LDU1NDcsMTMsLTEsNSwxMywtMSw3LDU4LDYxLC0xLDgsMTMsLTEsMSwxMywtMSw4LDU4LDI0LDU1MzgsMTMsLTEsMywxMywtMSw4LDU4LDEzLC0xLDIsNTIsMiwxMywwLDE2LDUsNDEsLTEsMiwxLDM1LC0xLDcsMCwxLDI1LDAsMjQsNTQ5MCwxMywtMSw0LDEzLC0xLDEsNjAsNzg4LDQsMSw1OCw1OCwyNCw1NTg2LDEzLC0xLDQsMTMsLTEsMSw2MCw3ODgsNCwxLDU4LDU4LDEzLC0xLDIsNTIsMiwxMywwLDE2LDUsNDEsLTEsMiwxLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDUyLDEsMTMsMCwxNCw1LDEzLC0xLDIsMTMsLTEsMSw2MCwzODEyLDEyLC00LDU4LDUyLDQsMjUsMCwyNCw1NjMwLDQ3LDcsNTY0MSwxNCw2MSwtMSwzMiwyNSwwLDI0LDU5ODMsNTIsMCw0NiwzOSwxLDMxLDEsMCwxLDUyLDAsNjEsLTEsMiwyOCw1OTYzLDEzLC0xLDEsNjAsNTI1MiwzNiwtMTgsNTgsNDQsMjQsNTY4NSwxLDEzLC0xLDEsNjAsNTI1MiwzNiwtMTgsNTgsNjAsNTEyLDgsLTEsNTgsNywxLDIzLDI0LDU3MDMsMTMsLTEsMSw2MCw1MjUyLDM2LC0xOCw1OCw0MSwtMSwzLDEsMjUsMCwyNCw1NzQ1LDEzLC0xLDEsNjAsNTg0OCwyNCwxNCw1OCw0NCwyNCw1NzMxLDEsMTMsLTEsMSw2MCw1ODQ4LDI0LDE0LDU4LDYwLDUxMiw4LC0xLDU4LDcsMSwyMywyNCw1NzQ1LDEzLC0xLDEsNjAsNTg0OCwyNCwxNCw1OCw0MSwtMSwzLDEsMTMsLTEsMywyNCw1OTUwLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNjEsLTEsNSw3LDAsNjEsLTEsNiwxMywtMSw2LDEzLC0xLDUsMzgsMjQsNTg5OSwxMywtMSwzLDEzLC0xLDYsNTgsNTIsMSwzMiw2MCwxNDgwLDQ4LC0xMyw1OCw1LDQxLC0xLDQsMSwxMywtMSw0LDI0LDU4OTAsMTMsLTEsMywxMywtMSw2LDU4LDYwLDU1ODAsMjQsOCw1OCw1MiwxLDEzLC0xLDIsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDEzLC0xLDQsNjAsNjE5Miw4LC0yMCw1OCw1MiwxLDYwLDQ5MDQsOCwyMCwyLDYwLDQxODQsMjgsLTE0LDU4LDUsNTIsMSwxMywtMSwyLDYwLDE5NzIsMjgsLTE2LDU4LDUsMSwxMywtMSw0LDYwLDE0NCw0LDYsNTgsNTIsMSw2MCw0OTA0LDgsMjAsMiw2MCw0MTg0LDI4LC0xNCw1OCw1LDUyLDEsMTMsLTEsMiw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMzUsLTEsNiwwLDEsMjUsMCwyNCw1NzY2LDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNTIsMSwxMywwLDE0LDUsNTIsMSwxMywtMSwyLDYwLDE5NzIsMjgsLTE2LDU4LDUsMSw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsNTIsMSwxMywtMSwyLDYwLDE5NzIsMjgsLTE2LDU4LDUsMSwxMywtMSwyLDI1LDAsMjQsNTk4Miw4LDU5NTksMjUsMCwyNCw1OTczLDYxLC0xLDcsMTMsLTEsMiwyNSwwLDI0LDU5ODIsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsNTk4Miw0Nyw3LDU5OTMsMTQsNjEsLTEsMzMsMjUsMCwyNCw2MDM2LDUyLDAsNDYsNDAsMSwzMSwxLDAsMSw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsMTMsLTEsMSw2MCwzMjYwLDI4LC0xOSw1OCw1MiwxLDEzLDAsMTQsNSw1MiwyLDI1LDAsMjQsNjAzNSw0Nyw3LDYwNDYsMTQsNjEsLTEsMzQsMjUsMCwyNCw2MzcwLDUyLDAsNDYsNDEsMSwzMSwxLDAsMSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDYxLC0xLDIsMTMsLTEsMSw2MCwxOTY0LDgsMjEsNTgsNjAsMzg5Niw4LDExLDU3LDI0LDYwODgsMTMsMCwxNzYsMjUsMCwyNCw2MDkxLDEzLDAsMTc3LDYxLC0xLDMsMTMsLTEsMiw2MCw0OTEyLDEyLDEwLDU4LDQ0LDQ5LDI0LDYxMTEsMSw2MCwyNjYwLDAsLTE0LDYxLC0xLDQsMTMsLTEsMSw2MCw2NDY0LDIwLDAsNTgsNDQsNDksMjQsNjEyOCwxLDQ1LDYxLC0xLDUsMTMsLTEsNSw0NCwyNCw2MTQ2LDEsMTMsLTEsNSw2MCw2ODM2LDE2LDMsNTgsMjQsNjE2Nyw2MCwzODM2LDIwLC0xMSw1MiwxLDEzLC0xLDUsNjAsNjgzNiwxNiwzLDU4LDUsMjUsMCwyNCw2MTcxLDYwLDI2NjAsMCwtMTQsNjEsLTEsNiw3LDAsNjEsLTEsNywxMywtMSwzLDEzLDAsMTc3LDU3LDI0LDYyNjQsMTMsLTEsMiw2MCwyMjYwLDI0LDEwLDU4LDcsMCw1MiwyLDEzLC0xLDQsNjAsMTkwNCw4LC03LDU4LDUsMTMsLTEsNiw0OCwxMywtMSwyLDYwLDEwNTYsMjQsLTgsNTgsNTIsMSwxMywtMSw0LDYwLDE5MDQsOCwtNyw1OCw1LDQ4LDYxLC0xLDgsMTMsLTEsNiw2MCw1MTIsOCwtMSw1OCwxMywtMSw4LDYwLDUxMiw4LC0xLDU4LDU5LDcsMTAwLDU1LDQxLC0xLDcsMSwyNSwwLDI0LDYzMTgsMTMsLTEsMiw2MCwxMDU2LDI0LC04LDU4LDEzLC0xLDIsNjAsMjI2MCwyNCwxMCw1OCw1MiwyLDEzLC0xLDQsNjAsMTkwNCw4LC03LDU4LDUsNjEsLTEsOSwxMywtMSw5LDYwLDUxMiw4LC0xLDU4LDEzLC0xLDQsNjAsNTEyLDgsLTEsNTgsNTksNywxMDAsNTUsNDEsLTEsNywxLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwyLDUyLDEsMTMsMCwxNCw1LDEzLC0xLDMsMTMsMCwxNzcsNTcsMjQsNjM1Niw3LDEsMjYsMjUsMCwyNCw2MzU3LDQ1LDEzLC0xLDcsMTMsLTEsMyw1Miw1LDI1LDAsMjQsNjM2OSw0Nyw3LDYzODAsMTQsNjEsLTEsMzUsMjUsMCwyNCw2NTk3LDUyLDAsNDYsNDIsMSwzMSwxLDAsMSw3LDAsNjEsLTEsMiwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDYwLDI0MCwzMiwtOCwyLDIwLDQ0LDQ5LDI0LDY0MjcsMSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDYwLDM5MDQsNDQsMjIsMiwyMCwyNCw2NDU1LDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNjAsNDkxMiwxMiwxMCw1OCw2MCw1MTIsOCwtMSw1OCw0MSwtMSwyLDEsMjUsMCwyNCw2NTEwLDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNjAsMzk3NiwxNiwtNSwyLDIwLDQ0LDI0LDY0ODYsMSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDYwLDQ5NzYsNDQsOSw1OCwyNCw2NTEwLDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNjAsNTYyOCwyMCwxMCw1OCw2MCw1MTIsOCwtMSw1OCw0MSwtMSwyLDEsMTMsLTEsMSw2MCw0OTU2LDEyLC0xNiw1OCwyNCw2NTM3LDEzLC0xLDEsNjAsNDk1NiwxMiwtMTYsNTgsNjAsNTEyLDgsLTEsNTgsMjUsMCwyNCw2NTQwLDcsMSwyNiw2MSwtMSwzLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDUyLDEsMTMsMCwxNCw1LDEzLC0xLDEsNjAsMzI2MCwyOCwtMTksNTgsNTIsMSwxMywwLDE3LDUsMTMsLTEsMywxMywtMSwyLDUyLDUsMjUsMCwyNCw2NTk2LDQ3LDcsNjYwNywxNCw2MSwtMSwzNiwyNSwwLDI0LDY4NTksNTIsMCw0Niw0MywxLDMxLDEsMCwxLDEzLC0xLDEsNjAsMTk2NCw4LDIxLDU4LDYwLDQzNzIsMjgsMTcsNTcsNDQsMjQsNjY0MSwxLDEzLC0xLDEsNjAsMjg2MCw0OCw5LDU4LDI0LDY3NzYsNTIsMCwxMywtMSwxLDYwLDI4NjAsNDgsOSw1OCw1LDYxLC0xLDIsNTIsMCw3LDY2NjYsMTQsMjUsMCwyNCw2NzUxLDUyLDAsNDYsNDQsNjEsLTEsMCwzMSwxLDEsMiw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsMTMsLTEsMiw2MCwzMjYwLDI4LC0xOSw1OCw1MiwxLDEzLDAsMTQsNSwxMywtMSwyLDYwLDM1Miw1MiwtMTYsNTgsMTMsLTEsMiw2MCw4MTYsMTIsLTEsNTgsMTMsLTEsMiw2MCw1MzI4LDY0LC0xOSw1OCwxMywtMSwyLDYwLDQzMDAsMTIsLTQsNTgsMTMsLTEsMiw2MCwzODU2LDEyLDEwLDU4LDUyLDcsMjUsMCwyNCw2NzUwLDQ3LDUyLDEsMTMsLTEsMiw2MCwxMjkyLDQsLTIsNTgsNSw2MCwzOTQ4LDgsMTAsNTgsNSwyNSwwLDI0LDY4NTgsMjUsMCwyNCw2ODQ5LDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwxMywtMSwxLDYwLDMyNjAsMjgsLTE5LDU4LDUyLDEsMTMsMCwxNCw1LDEzLC0xLDEsNjAsMzUyLDUyLC0xNiw1OCwxMywtMSwxLDYwLDgxNiwxMiwtMSw1OCwxMywtMSwxLDYwLDUzMjgsNjQsLTE5LDU4LDEzLC0xLDEsNjAsNDMwMCwxMiwtNCw1OCwxMywtMSwxLDYwLDM4NTYsMTIsMTAsNTgsNTIsNywyNSwwLDI0LDY4NTgsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsNjg1OCw0Nyw3LDY4NjksMTQsNjEsLTEsMzcsMjUsMCwyNCw2OTgxLDUyLDAsNDYsNDUsMSwzMSwwLDAsNjAsNjk2NCw4LDEsMiw2MCw0MTIwLDQ0LC0xOSw1OCw0OSw0NCw0OSwyNCw2OTA5LDEsNjAsNjk2NCw4LDEsMiw2MCw0MTIwLDQ0LC0xOSw1OCw2MCw2OTc2LDQwLC0yMiw1OCw0OSwyNCw2OTE3LDI1LDAsMjUsMCwyNCw2OTgwLDYwLDY5NjQsOCwxLDIsNjAsNTc5NiwyMCwtMiw1OCw0OSwyNCw2OTM2LDI1LDAsMjUsMCwyNCw2OTgwLDYwLDY5NjQsOCwxLDIsNjAsMjYyMCwyOCwyMiw1OCw0OSwyNCw2OTU1LDI1LDAsMjUsMCwyNCw2OTgwLDYwLDY5NjQsOCwxLDIsNjAsNzEwNCwyNCwxNiw1OCw0OSwyNCw2OTc0LDI1LDAsMjUsMCwyNCw2OTgwLDI1LDEsMjUsMCwyNCw2OTgwLDQ3LDcsNjk5MSwxNCw2MSwtMSwzOCwyNSwwLDI0LDcyMTksNTIsMCw0Niw0NiwxLDMxLDEsMCwxLDUyLDAsMTMsMCwzNyw1LDQ5LDAsNjAsNjMyOCw3NiwtMjAsMzMsMSwwLDYwLDYzMjgsNzYsLTIwLDU4LDI0LDcwMjcsNTAsMjUsMCwyNCw3MjE4LDQ1LDAsNjAsNjQzNiw4LDQsMzMsMSw1MiwwLDAsNjAsNjA2MCw4LDE1LDMzLDEsMTMsLTEsMSwwLDYwLDMzMiwyMCwtNiwzMywxLDUyLDAsMCw2MCw3MjA0LDE2LC0xMyw1OCw1LDAsNjAsMjIyOCwyNCwtMjIsMzMsMSw0NSwwLDYwLDI5NTIsMjAsMTksMzMsMSw1MiwwLDAsNjAsMTYwNCwzMiwxMCwzMywxLDI1LDAsMCw2MCw3NiwzNiwtMTIsMzMsMSwwLDYxLC0xLDIsNjAsNjk2NCw4LDEsMiw2MCw2Nzg4LDMyLDYsNTgsMjQsNzIwOSw3LDcxMTksMTQsMjUsMCwyNCw3MTkxLDUyLDAsNDYsNDcsNjEsLTEsMCwzMSwxLDEsMiwxMywtMSwyLDYwLDc4OCw0LDEsNTgsMTMsNDYsMiw2MCwzMzIsMjAsLTYsNTgsNTcsNDQsMjQsNzE1OSwxLDEzLC0xLDIsNjAsNjcyMCwyMCwtOSw1OCwyNCw3MTgxLDEzLC0xLDIsNjAsNjcyMCwyMCwtOSw1OCw1MiwxLDEzLDQ2LDIsNjAsNDA5MiwyOCwyLDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw3MTkwLDQ3LDYwLDM4NzIsMTYsOSw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNjc4OCwzMiw2LDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw3MjE4LDQ3LDcsNzIyOSwxNCw2MSwtMSwzOSwyNSwwLDI0LDc3MjcsNTIsMCw0Niw0OCwxLDMxLDMsMCwxLDIsMywxMywtMSwzLDQ1LDUzLDI0LDcyNTMsNywxMDAsNDEsLTEsMywxLDEzLC0xLDIsNTIsMSw2MCwyOTMyLDEyLDIsMiw2MCw0MDQsMzYsLTE1LDU4LDUsNDksMjQsNzI3OSwxMywwLDE4MSw0MSwtMSwyLDEsNTIsMCw2MSwtMSw4LDQsMCw2MSwtMSw5LDEzLC0xLDIsNjAsNTEyLDgsLTEsNTgsNjEsLTEsMTAsNywwLDQxLC0xLDQsMSwxMywtMSw0LDEzLC0xLDEwLDM4LDI0LDczNDksMTMsLTEsNCwxMywtMSw5LDEzLC0xLDIsMTMsLTEsNCw1OCwzMywxLDUyLDAsMTMsLTEsOCwxMywtMSw0LDMzLDEsMzUsLTEsNCwwLDEsMjUsMCwyNCw3MzA2LDEzLC0xLDEsNjAsNTEyLDgsLTEsNTgsNjEsLTEsMTEsNywwLDQxLC0xLDQsMSwxMywtMSw0LDEzLC0xLDExLDM4LDI0LDc0NjYsMTMsLTEsMSwxMywtMSw0LDU4LDQxLC0xLDcsMSwxMywtMSw3LDcsMCw1OCw0MSwtMSw1LDEsMTMsLTEsOSwxMywtMSw1LDU4LDcsMCwzOSwzMCwyNCw3NDU3LDEzLC0xLDksMTMsLTEsNSw1OCw0MSwtMSw2LDEsNjAsNjAzNiw4LDE4LDEzLC0xLDQsNjAsMjAxNiw4LDEzLDEzLC0xLDcsNCwyLDEzLC0xLDgsMTMsLTEsNiw1OCwxMywtMSw4LDEzLC0xLDYsNTgsNjAsNTEyLDgsLTEsNTgsMzMsMSwzNSwtMSw0LDAsMSwyNSwwLDI0LDczNjYsMTMsLTEsOCw2MCw1MTIsOCwtMSw1OCw2MSwtMSwxMiw1MiwwLDYxLC0xLDEzLDcsMCw0MSwtMSw0LDEsMTMsLTEsNCwxMywtMSwxMiwzOCwyNCw3NjA2LDEzLC0xLDgsMTMsLTEsNCw1OCw2MSwtMSwxNCwxMywtMSwxNCw2MCw1MTIsOCwtMSw1OCw2MSwtMSwxNSw3LDAsNjEsLTEsMTYsMTMsLTEsMTYsMTMsLTEsMTUsMzgsMjQsNzU3OSwxMywtMSwxNCwxMywtMSwxNiw1OCwxMywtMSwxMywxMywtMSwxMyw2MCw1MTIsOCwtMSw1OCwzMywxLDEzLC0xLDEzLDYwLDUxMiw4LC0xLDU4LDEzLC0xLDMsMjMsMjQsNzU3MCwyNSwwLDI0LDc1NzksMzUsLTEsMTYsMCwxLDI1LDAsMjQsNzUyMywxMywtMSwxMyw2MCw1MTIsOCwtMSw1OCwxMywtMSwzLDIzLDI0LDc1OTcsMjUsMCwyNCw3NjA2LDM1LC0xLDQsMCwxLDI1LDAsMjQsNzQ4OCw3LDc2MTMsMTQsMjUsMCwyNCw3NjQ3LDUyLDAsNDYsNDksNjEsLTEsMCwzMSwyLDEsMiwzLDEzLC0xLDIsNjAsNjAzNiw4LDE4LDU4LDEzLC0xLDMsNjAsNjAzNiw4LDE4LDU4LDE5LDI1LDAsMjQsNzY0Niw0Nyw1MiwxLDEzLC0xLDEzLDYwLDY4ODgsMzIsLTIwLDU4LDUsMSwxMywtMSwxMyw2MCw1MTIsOCwtMSw1OCw2MSwtMSwxNyw1MiwwLDYxLC0xLDE4LDcsMCw0MSwtMSw0LDEsMTMsLTEsNCwxMywtMSwxNywzOCwyNCw3NzE5LDEzLC0xLDEzLDEzLC0xLDQsNTgsNjAsMjAxNiw4LDEzLDU4LDEzLC0xLDE4LDEzLC0xLDQsMzMsMSwzNSwtMSw0LDAsMSwyNSwwLDI0LDc2ODEsMTMsLTEsMTgsMjUsMCwyNCw3NzI2LDQ3LDcsNzczNywxNCw2MSwtMSw0MCwyNSwwLDI0LDc3NzksNTIsMCw0Niw1MCwxLDMxLDAsMCw1MiwwLDYwLDQ5MDQsOCwyMCwyLDYwLDQ4MDQsOCwyLDU4LDUsNywxMDAsNTUsNTIsMSw2MCw0OTA0LDgsMjAsMiw2MCw0ODY4LDE2LDE3LDU4LDUsMjUsMCwyNCw3Nzc4LDQ3LDcsNzc4OSwxNCw2MSwtMSw0MSwyNSwwLDI0LDc4NzMsNTIsMCw0Niw1MSwxLDMxLDAsMCw3LDE1LDcsMiw1MiwyLDcsMzYsNTIsMSw1MiwwLDYwLDQ5MDQsOCwyMCwyLDYwLDQ4MDQsOCwyLDU4LDUsNjAsNzA4NCwyMCwxOSw1OCw1LDYwLDcwMCwyMCwxMSw1OCw1LDcsMTUsNywyLDUyLDIsNywzNiw1MiwxLDUyLDAsNjAsNDkwNCw4LDIwLDIsNjAsNDgwNCw4LDIsNTgsNSw2MCw3MDg0LDIwLDE5LDU4LDUsNjAsNzAwLDIwLDExLDU4LDUsNDgsMjUsMCwyNCw3ODcyLDQ3LDcsNzg4MywxNCw2MSwtMSw0MiwyNSwwLDI0LDc5NDIsNTIsMCw0Niw1MiwxLDMxLDAsMCw2MCw2OTY0LDgsMSwyLDYwLDM4MTIsMTIsLTQsNTgsNjAsNDIyNCwxNiwyMCw1OCw2MCw0MjQ0LDQsNiw1MiwxLDYwLDY5NjQsOCwxLDIsNjAsMzgxMiwxMiwtNCw1OCw2MCwzOTkyLDgsMTQsNTgsNjAsNjE4MCwxMiwyMCw1OCw1LDcsMCw1OCw0OCwyNSwwLDI0LDc5NDEsNDcsNyw3OTUyLDE0LDYxLC0xLDQzLDI1LDAsMjQsODA2Nyw1MiwwLDQ2LDUzLDEsMzEsMCwwLDYwLDY5NjQsOCwxLDIsNjAsNzEwNCwyNCwxNiw1OCw0NSw1MywyNCw3OTgwLDI1LDAsMjUsMCwyNCw4MDY2LDI4LDgwNDgsNjAsMjM2NCwyNCwxNyw2MSwtMSwxLDEzLC0xLDEsMTMsLTEsMSw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNzEwNCwyNCwxNiw1OCw2MCw2MDQ4LDEyLDE2LDU4LDUsMSwxMywtMSwxLDUyLDEsNjAsNjk2NCw4LDEsMiw2MCw3MTA0LDI0LDE2LDU4LDYwLDEzMDgsNDAsLTE1LDU4LDUsMSwyNSwxLDI1LDAsMjQsODA2Niw4LDgwNDQsMjUsMCwyNCw4MDU3LDYxLC0xLDIsMjUsMCwyNSwwLDI0LDgwNjYsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsODA2Niw0Nyw3LDgwNzcsMTQsNjEsLTEsNDQsMjUsMCwyNCw4MTkzLDUyLDAsNDYsNTQsMSwzMSwxLDAsMSwxMywwLDE4Miw0OSw0NCw0OSwyNCw4MDk5LDEsMTMsLTEsMSw0OSwyNCw4MTA2LDUwLDI1LDAsMjQsODE5Miw2MCwxMTYwLDI0LC0xNSw1MiwxLDEzLDAsMzgsMjksMCw2MCwzNTQwLDY4LC0xOSwzMywxLDUyLDAsMTMsMCw0MCw1LDAsNjAsNTg4OCwxMiwxMiwzMywxLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwwLDYwLDI0MjAsMTYsNiwzMywxLDAsNjAsMjQyMCwxNiw2LDU4LDUyLDAsMTMsMCw0Miw1LDUyLDIsMTMsMCwxNDksNTIsMiwwLDYwLDUyNCwyMCwyLDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw4MTkyLDQ3LDcsODIwMywxNCw2MSwtMSw0NSwyNSwwLDI0LDgzMDUsNTIsMCw0Niw1NSwxLDMxLDMsMCwxLDIsMywxMywtMSwzLDQ0LDQ5LDI0LDgyMjQsMSw3LDIsNDEsLTEsMywxLDcsMCw2MSwtMSw0LDEzLC0xLDEsNjEsLTEsNSwxMywtMSw1LDQ0LDI0LDgyNTMsMSwxMywtMSw0LDEzLC0xLDMsNTQsMjQsODI5OSwxMywtMSwyLDUyLDEsMTMsLTEsNSw2MCwyMzQ0LDIwLDgsNTgsNSwyNCw4Mjc4LDEzLC0xLDUsMjUsMCwyNCw4MzA0LDEzLC0xLDUsNjAsMzYwOCwzNiwtMTIsNTgsNDEsLTEsNSwxLDM1LC0xLDQsMCwxLDI1LDAsMjQsODIzOSw0NSwyNSwwLDI0LDgzMDQsNDcsNyw4MzE1LDE0LDYxLC0xLDQ2LDI1LDAsMjQsODU1NCw1MiwwLDQ2LDU2LDEsMzEsMCwwLDQsMCwwLDYwLDI1ODgsMjQsLTEyLDMzLDEsNjAsNTg4LDMyLDIwLDUyLDAsNjAsNjIxMiwxNiwtOSw1MiwwLDYwLDYwMDQsMTIsLTE2LDIsNjAsNTg4MCw4LDE0LDU4LDUsNjAsMTU3NiwyOCw2LDcsMCw2MCw2MTI0LDI4LC0xNCw0LDAsNjAsNDc5MiwxMiwtMTksNCwwLDYwLDQwNjgsMjQsMTEsNCwwLDYwLDI0MDQsMTYsMTUsMjUsMCw2MCw2MjQ0LDI0LDksMjUsMCw0LDgsMCw2MCwzNzA0LDI0LC0xMiwzMywxLDQsMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg2LDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg3LDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg4LDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg5LDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTkwLDMzLDEsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTkxLDMzLDEsMCw1MiwxLDAsNjAsNTI0LDIwLDIsNTgsNjAsNTg3Miw4LC05LDU4LDUsMCw2MCw1MjQsMjAsMiwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDg1NTMsNDcsNyw4NTY0LDE0LDYxLC0xLDQ3LDI1LDAsMjQsODU5Miw1MiwwLDQ2LDU3LDEsMzEsMCwwLDcsMCwzOSwwLDYwLDYzMTYsMTIsNiwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDg1OTEsNDcsNyw4NjAyLDE0LDYxLC0xLDQ4LDI1LDAsMjQsODczOSw1MiwwLDQ2LDU4LDEsMzEsMCwwLDYwLDY5NjQsOCwxLDIsNjAsODgwLDE2LDE5LDU4LDYxLC0xLDEsMTMsLTEsMSw0OSwyNCw4NjM1LDcsMCwyNSwwLDI0LDg3MzgsNjAsMjY2MCwwLC0xNCw2MSwtMSwyLDEzLC0xLDEsNTIsMSw2MCwxMjQ4LDEyLDEyLDIsNjAsNDQ0MCwyNCwtMjAsNTgsNSw2MSwtMSwzLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNjEsLTEsNCw3LDAsNjEsLTEsNSwxMywtMSw1LDEzLC0xLDQsMzgsMjQsODcyNSwxMywtMSwzLDEzLC0xLDUsNTgsNjEsLTEsNiwxMywtMSw2LDYwLDYwODAsNCwtMTYsNDgsMTMsLTEsMSwxMywtMSw2LDU4LDQ4LDU2LC0xLDIsMSwzNSwtMSw1LDAsMSwyNSwwLDI0LDg2NzcsMTMsLTEsMiw1MiwxLDEzLDAsMTk5LDUsMjUsMCwyNCw4NzM4LDQ3LDcsODc0OSwxNCw2MSwtMSw0OSwyNSwwLDI0LDg4MTQsNTIsMCw0Niw1OSwxLDMxLDAsMCwyOCw4Nzk2LDcsMTUwLDcsMCw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsMzgxMiwxMiwtNCw1OCw2MCwxMDMyLDgsLTEsNTgsNjAsMTkwNCw4LC03LDU4LDUsMjUsMCwyNCw4ODEzLDgsODc5MiwyNSwwLDI0LDg4MDQsNjEsLTEsMSw0NSwyNSwwLDI0LDg4MTMsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsODgxMyw0Nyw3LDg4MjQsMTQsNjEsLTEsNTAsMjUsMCwyNCw4OTE3LDUyLDAsNDYsNjAsMSwzMSwwLDAsMjgsODg5OSw2MCwyMTA0LDM2LC0xNCw1MiwxLDYwLDQ3MiwyMCwxNSwyLDYwLDIwMjQsODAsLTIwLDU4LDUsNjEsLTEsMSwxMywtMSwxLDYwLDUxMiw4LC0xLDU4LDcsMCwxMSwyNCw4ODg2LDEzLC0xLDEsNywwLDU4LDYwLDY1NDQsMjQsLTExLDU4LDI1LDAsMjQsODkxNiwyNSwwLDI0LDg4OTMsNywxLDI2LDI1LDAsMjQsODkxNiw4LDg4OTUsMjUsMCwyNCw4OTA3LDYxLC0xLDIsNDUsMjUsMCwyNCw4OTE2LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDg5MTYsNDcsNyw4OTI3LDE0LDYxLC0xLDUxLDI1LDAsMjQsODk3Niw1MiwwLDQ2LDYxLDEsMzEsMCwwLDI4LDg5NTgsNTIsMCwxMywwLDE5OCw2MCw2ODM2LDE2LDMsNTgsNSwyNSwwLDI0LDg5NzUsOCw4OTU0LDI1LDAsMjQsODk2Niw2MSwtMSwxLDQ1LDI1LDAsMjQsODk3NSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw4OTc1LDQ3LDcsODk4NiwxNCw2MSwtMSw1MiwyNSwwLDI0LDkwMzAsNTIsMCw0Niw2MiwxLDMxLDAsMCwyOCw5MDEyLDUyLDAsMTMsMCw0OCw1LDI1LDAsMjQsOTAyOSw4LDkwMDgsMjUsMCwyNCw5MDIwLDYxLC0xLDEsNDUsMjUsMCwyNCw5MDI5LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDkwMjksNDcsNyw5MDQwLDE0LDYxLC0xLDUzLDI1LDAsMjQsOTA4OSw1MiwwLDQ2LDYzLDEsMzEsMCwwLDI4LDkwNzEsNTIsMCwxMywwLDE5Niw2MCw2ODM2LDE2LDMsNTgsNSwyNSwwLDI0LDkwODgsOCw5MDY3LDI1LDAsMjQsOTA3OSw2MSwtMSwxLDQ1LDI1LDAsMjQsOTA4OCw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCw5MDg4LDQ3LDcsOTA5OSwxNCw2MSwtMSw1NCwyNSwwLDI0LDkxNDgsNTIsMCw0Niw2NCwxLDMxLDAsMCwyOCw5MTMwLDUyLDAsMTMsMCwxMTMsNjAsNjgzNiwxNiwzLDU4LDUsMjUsMCwyNCw5MTQ3LDgsOTEyNiwyNSwwLDI0LDkxMzgsNjEsLTEsMSw0NSwyNSwwLDI0LDkxNDcsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsOTE0Nyw0Nyw3LDkxNTgsMTQsNjEsLTEsNTUsMjUsMCwyNCw5MjIzLDUyLDAsNDYsNjUsMSwzMSwwLDAsMjgsOTIwNSw3LDE1MCw3LDAsNTIsMiw2MCwzMTEyLDIwLC0xMSwyLDYwLDM4MTIsMTIsLTQsNTgsNjAsMTAzMiw4LC0xLDU4LDYwLDE5MDQsOCwtNyw1OCw1LDI1LDAsMjQsOTIyMiw4LDkyMDEsMjUsMCwyNCw5MjEzLDYxLC0xLDEsNDUsMjUsMCwyNCw5MjIyLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDkyMjIsNDcsNyw5MjMzLDE0LDYxLC0xLDU2LDI1LDAsMjQsOTQ0Myw1MiwwLDQ2LDY2LDEsMzEsMiwwLDEsMiw2MCwzODAwLDEyLDE0LDUyLDEsNjAsMzExMiwyMCwtMTEsMiw2MCwyNDk2LDg4LC0yMCw1OCw1LDYxLC0xLDMsNjAsNjA2OCwxMiwyLDEzLC0xLDIsNDgsNDEsLTEsNywxLDYwLDQ0MDAsNCwtMTIsMTMsLTEsMSw0OCw0MSwtMSw4LDEsNywwLDQxLC0xLDQsMSwxMywtMSw0LDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsMzgsMjQsOTQzNywxMywtMSwzLDEzLC0xLDQsNTgsNDEsLTEsNSwxLDEzLC0xLDUsNjAsNzA2MCwyNCwxMiw1OCwyNCw5MzQ3LDYwLDYyMjgsNCwwLDUyLDEsMTMsLTEsNSw2MCw3MDYwLDI0LDEyLDU4LDUsMjUsMCwyNCw5MzQ4LDQ1LDQxLC0xLDYsMSwxMywtMSw2LDQ5LDI0LDkzNzksMTMsLTEsNSw2MCw2MjI4LDQsMCw1OCw0NCw0OSwyNCw5Mzc1LDEsNjAsMjY2MCwwLC0xNCw0MSwtMSw2LDEsMTMsLTEsNyw1MiwxLDEzLC0xLDYsNjAsMzIyMCwxNiwxNiw1OCw1LDcsMSwyNiwzMCw0NCwyNCw5NDE5LDEsMTMsLTEsOCw1MiwxLDEzLC0xLDYsNjAsMzIyMCwxNiwxNiw1OCw1LDcsMSwyNiwzMCwyNCw5NDI4LDEzLC0xLDUsMjUsMCwyNCw5NDQyLDM1LC0xLDQsMCwxLDI1LDAsMjQsOTI5Myw0NSwyNSwwLDI0LDk0NDIsNDcsNyw5NDUzLDE0LDYxLC0xLDU3LDI1LDAsMjQsOTk0Niw1MiwwLDQ2LDY3LDEsMzEsMSwwLDEsMjgsOTkwMiw2MCwyMTQwLDE2LDIwLDYxLC0xLDIsNDUsNjEsLTEsMywxMywtMSwxLDYwLDQ5NTYsMTIsLTE2LDU4LDYxLC0xLDQsMTMsLTEsNCw3LDAsMzksMzAsNDQsMjQsOTUwOSwxLDEzLC0xLDQsNjAsNTA1Niw4LC0yMCw1OCw3LDAsMzksMzAsMjQsOTg5NiwxMywtMSw0LDYwLDUwNTYsOCwtMjAsNTgsNjAsNTIwLDQsLTIsNTcsMjQsOTY2NSwxMywtMSwxLDYwLDczNjAsMTIsLTYsNTgsNjAsNjk2NCw4LDEsMiw1NywyNCw5NjI4LDEzLC0xLDQsNjAsNzIsNCwxOSw1OCw3LDIsNTcsMjQsOTU2Myw2MCw2ODUyLDEyLC04LDQxLC0xLDIsMSwxMywtMSwyLDEzLC0xLDQsNjAsNTMyNCw0LDIxLDU4LDUyLDIsMTMsMCw1Niw1LDQxLC0xLDMsMSwxMywtMSwzLDQ1LDIyLDI0LDk2MjQsMTMsLTEsMyw2MCw2MjI4LDQsMCw1OCwxMywtMSwzLDYwLDU0NzYsMjQsMTUsNTgsNTIsMiw1MiwxLDEzLDAsMjAyLDcsMCw1OCw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMjUsMCwyNCw5NjYxLDEzLC0xLDEsNjAsNjU2OCw4LC04LDU4LDEzLC0xLDEsNjAsNzM2MCwxMiwtNiw1OCw1MiwyLDUyLDEsMTMsMCwyMDIsNywwLDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSwyNSwwLDI0LDk4OTYsMTMsLTEsNCw2MCw1MDU2LDgsLTIwLDU4LDYwLDQwNjQsNCwtOCw1NywyNCw5ODAzLDEzLC0xLDEsNjAsNzM2MCwxMiwtNiw1OCw2MCw2OTY0LDgsMSwyLDU3LDI0LDk3NzQsMTMsLTEsNCw2MCw3Miw0LDE5LDU4LDcsMiw1NywyNCw5NzE3LDYwLDY4NTIsMTIsLTgsNDEsLTEsMiwxLDEzLC0xLDIsMTMsLTEsNCw2MCw1MzI0LDQsMjEsNTgsNTIsMiwxMywwLDU2LDUsNDEsLTEsMywxLDEzLC0xLDMsNDUsMjIsMjQsOTc3MCwxMywtMSwzLDYwLDYyMjgsNCwwLDU4LDEzLC0xLDMsNjAsNTQ3NiwyNCwxNSw1OCw1MiwyLDEzLDAsMjAyLDcsMSwzMywxLDI1LDAsMjQsOTc5OSwxMywtMSwxLDYwLDY1NjgsOCwtOCw1OCwxMywtMSwxLDYwLDczNjAsMTIsLTYsNTgsNTIsMiwxMywwLDIwMiw3LDEsMzMsMSwyNSwwLDI0LDk4OTYsMTMsLTEsNCw2MCw1MDU2LDgsLTIwLDU4LDYwLDQwNDgsNCwtMTksNTcsMjQsOTg5NiwxMywtMSw0LDYwLDQ0MzYsNCwtOCw1OCw0NSw1MywyNCw5ODM1LDUwLDI1LDAsMjQsOTk0NSwxMywwLDIwMiw3LDIsNTgsMTMsLTEsNCw2MCw0NDM2LDQsLTgsNTgsNTgsNDUsMjIsMjQsOTg5NiwxMywtMSw0LDYwLDUyMCw0LC0yLDU4LDEzLC0xLDQsNjAsMzI4OCw0LC0xMCw1OCw1MiwyLDUyLDEsMTMsMCwyMDIsNywyLDU4LDEzLC0xLDQsNjAsNDQzNiw0LC04LDU4LDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSw4LDk4OTgsMjUsMCwyNCw5OTM2LDYxLC0xLDUsNjAsMTI5NiwxMiwxMiwxMywtMSw1LDYwLDEyOTYsMTIsMTIsNTgsNCwxLDYwLDE1NjgsOCwxNiw2MCw0OTY4LDgsNiw2MCwxNTIsODgsLTIxLDUyLDQsNDMsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDk5NDUsNDcsNyw5OTU2LDE0LDYxLC0xLDU4LDI1LDAsMjQsMTAyOTQsNTIsMCw0Niw2OCwxLDMxLDMsMCwxLDIsMywyOCwxMDI1MCwxMywtMSwxLDYwLDQ5NTYsMTIsLTE2LDU4LDYxLC0xLDQsMTMsLTEsNCw3LDAsMzksMzAsNDQsMjQsMTAwMDMsMSwxMywtMSw0LDYwLDUwNTYsOCwtMjAsNTgsNywwLDM5LDMwLDI0LDEwMjQ0LDEzLC0xLDQsNjAsNTA1Niw4LC0yMCw1OCw2MCwyMTY0LDEyLC0xNCw1NywyNCwxMDI0NCwxMywtMSw0LDYwLDUzMjQsNCwyMSw1OCw0NSwyMiw0NCwyNCwxMDA0NiwxLDEzLC0xLDQsNjAsNTMyNCw0LDIxLDU4LDEzLC0xLDMsMzAsMjQsMTAwNTMsNTAsMjUsMCwyNCwxMDI5Myw3LDEwMDYwLDE0LDI1LDAsMjQsMTAxMTAsNTIsMCw0Niw2OSwxLDMxLDEsMCwxLDYwLDEyOTYsMTIsMTIsMTMsLTEsMSw2MCwxMjk2LDEyLDEyLDU4LDQsMSw2MCwxNTY4LDgsMTYsNjAsNDk2OCw4LDYsNjAsNTIyMCwxNiwxMiw1Miw0LDQzLDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMDEwOSw0Nyw1MiwxLDcsMTAxMTksMTQsMjUsMCwyNCwxMDIyMyw1MiwwLDQ2LDcwLDEsMzEsMCwwLDYwLDYwNDQsNCw3LDYwLDQ0MzYsNCwtOCwxMyw2OCw0LDYwLDQ0MzYsNCwtOCw1OCw2MCw1MjAsNCwtMiwxMywwLDIwMCw1MiwxLDYwLDQwLDEyLC0xNSwyLDYwLDUwNjQsMjAsMTMsNTgsNSw1MiwxLDEzLDAsNjAsNSw2MCwzMjg4LDQsLTEwLDEzLDY4LDIsNjAsNTA1Niw4LC0yMCw2MCw0MDQ4LDQsLTE5LDYwLDczNjAsMTIsLTYsNjAsODgwLDE2LDE5LDQsNSw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNTUyMCw4LDEzLDU4LDYwLDY5NDAsMjAsMyw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTAyMjIsNDcsNTIsMSw1MiwwLDEzLDAsNTksNSw2MCwxNTYwLDgsMiw1OCw1LDYwLDY1MzIsMTIsNCw1OCw1LDEsOCwxMDI0NiwyNSwwLDI0LDEwMjg0LDYxLC0xLDUsNjAsMTI5NiwxMiwxMiwxMywtMSw1LDYwLDEyOTYsMTIsMTIsNTgsNCwxLDYwLDE1NjgsOCwxNiw2MCw0OTY4LDgsNiw2MCwyNDUyLDMyLDExLDUyLDQsNDMsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEwMjkzLDQ3LDcsMTAzMDQsMTQsNjEsLTEsNTksMjUsMCwyNCwxMDY2OCw1MiwwLDQ2LDcxLDEsMzEsMCwwLDcsMTAzMjIsMTQsNjEsLTEsMSwyNSwwLDI0LDEwNTcxLDUyLDAsNDYsNzIsMSwzMSwyLDAsMSwyLDcsMTAzMzksMTQsMjUsMCwyNCwxMDQwNCw1MiwwLDQ2LDczLDEsMzEsMiwwLDEsMiw3LDI1LDcsMTAzNTgsMTQsMjUsMCwyNCwxMDM4NSw1MiwwLDQ2LDc0LDEsMzEsMCwwLDYwLDIyNTIsOCwtNCw1MiwxLDYwLDcxNjAsOCwtOCwyLDI5LDUyLDEsMTMsNzMsMiw1LDQ3LDUyLDIsNjAsOTk2LDE2LDAsMiw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTA0MDMsNDcsNTIsMSw2MCw2NDI0LDEyLC03LDIsMjksNjEsLTEsMyw3LDEwNDIyLDE0LDI1LDAsMjQsMTA0NzQsNTIsMCw0Niw3NSw2MSwtMSwwLDMxLDEsMSwyLDYwLDEyOTYsMTIsMTIsMTMsLTEsMiw2MCwxMjk2LDEyLDEyLDU4LDQsMSw2MCwxNTY4LDgsMTYsNjAsNDk2OCw4LDYsNjAsNTYwNCwxNiwtNyw1Miw0LDQzLDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMDQ3Myw0Nyw1MiwxLDcsMTA0ODMsMTQsMjUsMCwyNCwxMDUxNSw1MiwwLDQ2LDc2LDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiwxMywwLDIwMCwxMyw3MiwyLDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTA1MTQsNDcsNTIsMSwxMywtMSwzLDUyLDAsMTMsLTEsMSw1LDUyLDEsNjAsNjQyNCwxMiwtNywyLDYwLDU5NDAsMTIsNCw1OCw1LDUyLDIsNTIsMSw2MCw2NDI0LDEyLC03LDIsNjAsNjIwLDE2LC0yMiw1OCw1LDYwLDE1NjAsOCwyLDU4LDUsNjAsNjUzMiwxMiw0LDU4LDUsMjUsMCwyNCwxMDU3MCw0Nyw1MiwwLDYxLC0xLDIsNywwLDYxLC0xLDMsMTMsLTEsMywxMywwLDIwMSw2MCw1MTIsOCwtMSw1OCwzOCwyNCwxMDY0NywxMywwLDIwMSwxMywtMSwzLDU4LDM0LDYwLDY4NzIsMTYsLTcsNTcsMjQsMTA2MzgsMTMsLTEsMywxMywwLDIwMSwxMywtMSwzLDU4LDUyLDIsMTMsLTEsMSw1LDUyLDEsMTMsLTEsMiw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMzUsLTEsMywwLDEsMjUsMCwyNCwxMDU4MSwxMywtMSwyLDUyLDEsNjAsNjQyNCwxMiwtNywyLDYwLDQ5MzYsOCw2LDU4LDUsMjUsMCwyNCwxMDY2Nyw0Nyw3LDEwNjc4LDE0LDYxLC0xLDYwLDI1LDAsMjQsMTA2OTUsNTIsMCw0Niw3NywxLDMxLDEsMCwxLDEzLC0xLDEsMjUsMCwyNCwxMDY5NCw0Nyw3LDEwNzA1LDE0LDYxLC0xLDYxLDI1LDAsMjQsMTA4NDcsNTIsMCw0Niw3OCwxLDMxLDIsMCwxLDIsNywxMDcyMiwxNCwyNSwwLDI0LDEwNzg4LDUyLDAsNDYsNzksMSwzMSwyLDAsMSwyLDEzLDc4LDIsNywxMDc0MiwxNCwyNSwwLDI0LDEwNzY5LDUyLDAsNDYsODAsMSwzMSwwLDAsNjAsNjk3Miw0LDUsNTIsMSw2MCw3MTYwLDgsLTgsMiwyOSw1MiwxLDEzLDc5LDIsNSw0Nyw1MiwyLDYwLDk5NiwxNiwwLDIsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEwNzg3LDQ3LDUyLDEsNjAsNjQyNCwxMiwtNywyLDI5LDYxLC0xLDMsNTIsMCwxMywtMSwxLDUsNTIsMSw2MCw2NDI0LDEyLC03LDIsNjAsNTk0MCwxMiw0LDU4LDUsNjEsLTEsNCwxMywtMSwzLDEzLC0xLDQsNTIsMiw1MiwxLDYwLDY0MjQsMTIsLTcsMiw2MCw2MjAsMTYsLTIyLDU4LDUsMjUsMCwyNCwxMDg0Niw0Nyw3LDEwODU3LDE0LDYxLC0xLDYyLDI1LDAsMjQsMTExOTQsNTIsMCw0Niw4MSwxLDMxLDQsMCwxLDIsMyw0LDYwLDk1Niw0LDgsNDEsMCwyMDMsMSwxMywtMSwxLDM0LDYwLDIyMjAsOCwtNSwzMCw0NCw0OSwyNCwxMDg5NywxLDEzLC0xLDEsNywyLDExLDI0LDEwOTA1LDcsMCw0MSwtMSwxLDEsMTMsLTEsNCwyNCwxMDkyMCwxMywtMSwxLDcsMSw0OCwyNSwwLDI0LDEwOTIyLDcsMSw2MSwtMSw1LDcsMTA5MzIsMTQsMjUsMCwyNCwxMTE4MSw1MiwwLDQ2LDgyLDYxLC0xLDAsMzEsMiwxLDIsMyw3LDEwOTU0LDE0LDYxLC0xLDQsMjUsMCwyNCwxMTE2OCw1MiwwLDQ2LDgzLDEsMzEsMSwwLDEsNjAsMjYxMiw0LDE4LDEzLC0xLDEsNDgsNDEsMCwyMDMsMSwyOCwxMTE0NSwxMywwLDIwMiw3LDIsNTgsMTMsODEsMyw1OCw2MSwtMSwyLDEzLC0xLDIsNjAsNTEyLDgsLTEsNTgsMTMsODEsNSwzMCw2MSwtMSwzLDEzLC0xLDIsNywwLDM5LDU3LDQ0LDQ5LDI0LDExMDIwLDEsMTMsLTEsMyw2MSwtMSw0LDEzLC0xLDQsNDQsMjQsMTEwMzYsMSwxMywtMSwxLDcsMzAsMzgsMjQsMTExMDgsMTMsLTEsMSw3LDEwLDM4LDI0LDExMDUyLDcsMSwyNSwwLDI0LDExMDU0LDcsMyw2MSwtMSw1LDEzLC0xLDUsNywxMTA2NywxNCwyNSwwLDI0LDExMDk1LDUyLDAsNDYsODQsNjEsLTEsMCwzMSwwLDEsMTMsODMsMSwxMyw4Myw1LDQ4LDUyLDEsMTMsODIsNCw1LDI1LDAsMjQsMTEwOTQsNDcsNTIsMiw2MCw5OTYsMTYsMCwyLDUsMSwyNSwwLDI0LDExMTM5LDYwLDQwNDQsNCwtNiw0MSwwLDIwMywxLDEzLC0xLDIsNTIsMSw2MCw0MCwxMiwtMTUsMiw2MCw1MDY0LDIwLDEzLDU4LDUsNTIsMSwxMyw4MiwyLDUsMSw4LDExMTQxLDI1LDAsMjQsMTExNTgsNjEsLTEsNiwxMywtMSw2LDUyLDEsMTMsODIsMyw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTExNjcsNDcsNywwLDUyLDEsMTMsLTEsNCw1LDI1LDAsMjQsMTExODAsNDcsNTIsMSw2MCw2NDI0LDEyLC03LDIsMjksMjUsMCwyNCwxMTE5Myw0Nyw3LDExMjA0LDE0LDYxLC0xLDY0LDI1LDAsMjQsMTEzNDgsNTIsMCw0Niw4NSwxLDMxLDIsMCwxLDIsNywwLDYxLC0xLDMsNywwLDYxLC0xLDQsMTMsLTEsNCwxMywwLDIwMiw3LDAsNTgsNjAsNTEyLDgsLTEsNTgsMzgsMjQsMTEzNDAsMTMsMCwyMDIsNywwLDU4LDEzLC0xLDQsNTgsNywwLDU4LDQ1LDIyLDI0LDExMzMxLDEzLDAsMjAyLDcsMCw1OCwxMywtMSw0LDU4LDcsMSw1OCw2MCw0NDM2LDQsLTgsMTMsLTEsMiw2MCw1MzI0LDQsMjEsMTMsLTEsMSw2MCw1MDU2LDgsLTIwLDYwLDIxNjQsMTIsLTE0LDYwLDczNjAsMTIsLTYsNjAsODgwLDE2LDE5LDQsNCw1MiwyLDEzLDAsMjAyLDcsMCw1OCwxMywtMSw0LDU4LDcsMCw1OCw2MCw2OTQwLDIwLDMsNTgsNSwxLDcsMSw1NiwtMSwzLDEsMzUsLTEsNCwwLDEsMjUsMCwyNCwxMTIyNCwxMywtMSwzLDI1LDAsMjQsMTEzNDcsNDcsNywxMTM1OCwxNCw2MSwtMSw2NSwyNSwwLDI0LDExNzQ1LDUyLDAsNDYsODYsMSwzMSw0LDAsMSwyLDMsNCwxMywtMSwyLDQ1LDUzLDI0LDExMzgyLDUwLDI1LDAsMjQsMTE3NDQsMjgsMTE2NTQsNywwLDYxLC0xLDUsMTMsLTEsMyw0NCwyNCwxMTQwMCwxLDEzLC0xLDQsNDksMjQsMTE0MTgsMTMsLTEsMiwxMywtMSwxLDUyLDIsMTMsMCw2NCw1LDQxLC0xLDUsMSw2MCw2MTAwLDQsNCw0MSwwLDIwMywxLDUyLDAsMTMsMCw1OSw1LDYxLC0xLDYsNywxMTQ0MiwxNCwyNSwwLDI0LDExNDg3LDUyLDAsNDYsODcsMSwzMSwxLDAsMSw2MCw0OTY4LDgsNiwxMywtMSwxLDQsMSw2MCwxNTY4LDgsMTYsNjAsNDk2OCw4LDYsNjAsMjc4OCwzNiwtMTAsNTIsNCw0Myw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTE0ODYsNDcsNTIsMSw3LDExNDk2LDE0LDI1LDAsMjQsMTE2MjcsNTIsMCw0Niw4OCw2MSwtMSwwLDMxLDAsMSw2MCw1Njg0LDQsMTQsNDEsMCwyMDMsMSwxMywwLDIwMCw1MiwxLDYwLDQwLDEyLC0xNSwyLDYwLDUwNjQsMjAsMTMsNTgsNSw1MiwxLDEzLDAsNjAsNSw3LDAsNTIsMiw1MiwxLDEzLDAsMjAyLDcsMiw1OCwxMyw4NiwyLDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSwxMyw4Niw0LDI0LDExNjA0LDEzLDAsMjAyLDcsMiw1OCwxMyw4NiwyLDU4LDUyLDEsNjAsNDAsMTIsLTE1LDIsNjAsNTA2NCwyMCwxMyw1OCw1LDUyLDEsNjAsNjQyNCwxMiwtNywyLDYwLDU5NDAsMTIsNCw1OCw1LDI1LDAsMjQsMTE2MjYsMTMsODYsMywxMyw4NiwyLDEzLDg2LDEsMTMsODYsNSw1Miw0LDEzLDAsNjIsNSwyNSwwLDI0LDExNjI2LDQ3LDUyLDEsMTMsLTEsNiw2MCwxNTYwLDgsMiw1OCw1LDYwLDY1MzIsMTIsNCw1OCw1LDI1LDAsMjQsMTE3NDQsOCwxMTY1MCwyNSwwLDI0LDExNzM1LDYxLC0xLDcsNjAsMTI5NiwxMiwxMiwxMywtMSw3LDYwLDEyOTYsMTIsMTIsNTgsNCwxLDYwLDE1NjgsOCwxNiw2MCw0OTY4LDgsNiw2MCw2NDg0LDQwLDE3LDUyLDQsNDMsNSwxLDcsMTE2OTUsMTQsMjUsMCwyNCwxMTcyMyw1MiwwLDQ2LDg5LDYxLC0xLDAsMzEsMSwxLDIsNTIsMCwxMywtMSwyLDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMTcyMiw0Nyw1MiwxLDYwLDY0MjQsMTIsLTcsMiwyOSwyNSwwLDI0LDExNzQ0LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDExNzQ0LDQ3LDcsMTE3NTUsMTQsNjEsLTEsNjYsMjUsMCwyNCwxMTgwMyw1MiwwLDQ2LDkwLDEsMzEsMCwwLDcsMTUsNywyLDUyLDIsNywzNiw1MiwxLDUyLDAsNjAsNDkwNCw4LDIwLDIsNjAsNDgwNCw4LDIsNTgsNSw2MCw3MDg0LDIwLDE5LDU4LDUsNjAsNzAwLDIwLDExLDU4LDUsMjUsMCwyNCwxMTgwMiw0Nyw3LDExODEzLDE0LDYxLC0xLDY3LDI1LDAsMjQsMTE4OTcsNTIsMCw0Niw5MSwxLDMxLDAsMCw2MCw2NDI0LDEyLC03LDIsMzQsNjAsMzI5MiwxNiwtOCwzMCw0NCwyNCwxMTg1MiwxLDYwLDY0MjQsMTIsLTcsMiw2MCw2MjAsMTYsLTIyLDU4LDM0LDYwLDY4NzIsMTYsLTcsNTcsNDQsMjQsMTE4NzIsMSw2MCw2NDI0LDEyLC03LDIsNjAsNDkzNiw4LDYsNTgsMzQsNjAsNjg3MiwxNiwtNyw1Nyw0NCwyNCwxMTg5MiwxLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsMzQsNjAsNjg3MiwxNiwtNyw1NywyNSwwLDI0LDExODk2LDQ3LDcsMTE5MDcsMTQsNjEsLTEsNjgsMjUsMCwyNCwxMjIwNiw1MiwwLDQ2LDkyLDEsMzEsNCwwLDEsMiwzLDQsNTIsMCwxMywwLDY3LDUsNDksMjQsMTE5MzMsNDUsMjUsMCwyNCwxMjIwNSwxMywtMSw0LDcsMCwzOSwzMCw0NCwyNCwxMTk1MywxLDEzLC0xLDQsNTIsMSwxMywwLDY5LDUsMjQsMTE5NjAsNDUsMjUsMCwyNCwxMjIwNSwxMywtMSwzLDM0LDYwLDE4MDgsMjAsMTUsMzAsMjQsMTE5NzcsMjUsMCw0MSwtMSwzLDEsMTMsLTEsMiwzNCw2MCwxODA4LDIwLDE1LDMwLDI0LDExOTk0LDI1LDEsNDEsLTEsMiwxLDUyLDAsMTMsMCw2Niw1LDYxLC0xLDUsNTIsMCwxMywwLDIwMiw3LDIsNTgsMTMsLTEsNSwzMywxLDcsMTIwMjMsMTQsMjUsMCwyNCwxMjEwMyw1MiwwLDQ2LDkzLDYxLC0xLDAsMzEsMSwxLDIsNjAsNjEwMCw0LDQsNDEsMCwyMDMsMSw2MCw2OTYwLDQsMywxMywwLDIwMyw2MCw2MDMyLDQsOSwxMyw5MiwyLDYwLDQ5NjgsOCw2LDEzLC0xLDIsNCwzLDYwLDE1NjgsOCwxNiw2MCw0OTY4LDgsNiw2MCw0NzMyLDQwLC0xMSw1Miw0LDQzLDUsMSwxMywwLDIwMiw3LDIsNTgsMTMsOTIsNSwyNywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEyMTAyLDQ3LDUyLDEsNywxMjExMiwxNCwyNSwwLDI0LDEyMTQyLDUyLDAsNDYsOTQsNjEsLTEsMCwzMSwxLDEsMiwxMywwLDIwMiw3LDIsNTgsMTMsOTIsNSwyNywxLDEzLC0xLDIsMjUsMCwyNCwxMjE0MSw0Nyw1MiwxLDcsOTAsNywxMjE1MywxNCwyNSwwLDI0LDEyMTgzLDUyLDAsNDYsOTUsNjEsLTEsMCwzMSwwLDEsMTMsOTIsMiwxMyw5Miw1LDEzLDkyLDEsNTIsMywxMywwLDY1LDUsMjUsMCwyNCwxMjE4Miw0Nyw1MiwyLDEzLDAsNjEsNSw2MCwxNTYwLDgsMiw1OCw1LDYwLDY1MzIsMTIsNCw1OCw1LDI1LDAsMjQsMTIyMDUsNDcsNywxMjIxNiwxNCw2MSwtMSw2OSwyNSwwLDI0LDEyMzIzLDUyLDAsNDYsOTYsMSwzMSwxLDAsMSwxMywtMSwxLDQ1LDUzLDI0LDEyMjUxLDYwLDkyMCwyMCwtMTYsNjAsMTY4NCw1NiwtMTQsNTIsMiw0Myw1LDEsMjUsMCwyNSwwLDI0LDEyMzIyLDEzLDAsMjA0LDYwLDUxMiw4LC0xLDU4LDYxLC0xLDIsNywwLDYxLC0xLDMsMTMsLTEsMywxMywtMSwyLDM4LDI0LDEyMzE2LDcsOCw3LDAsNTIsMiwxMywtMSwxLDYwLDE5MDQsOCwtNyw1OCw1LDEzLDAsMjA0LDEzLC0xLDMsNTgsNTcsMjQsMTIzMDcsMjUsMSwyNSwwLDI0LDEyMzIyLDM1LC0xLDMsMCwxLDI1LDAsMjQsMTIyNjcsMjUsMCwyNSwwLDI0LDEyMzIyLDQ3LDcsMTIzMzMsMTQsNjEsLTEsNzAsMjUsMCwyNCwxMjQxNSw1MiwwLDQ2LDk3LDEsMzEsMSwwLDEsMTMsLTEsMSw3LDAsNTcsMjQsMTIzNzUsMTMsMCw1Nyw2MCwxMjk2LDEyLDEyLDUyLDIsNjAsNjk2NCw4LDEsMiw2MCw0NTI0LDgwLC0xNiw1OCw1LDEsMjUsMCwyNCwxMjQwNSwxMywwLDIwNiw3LDAsMzksMzAsMjQsMTI0MDUsMTMsMCwyMDYsNjAsMTI5NiwxMiwxMiw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNDUyNCw4MCwtMTYsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEyNDE0LDQ3LDcsMTI0MjUsMTQsNjEsLTEsNzEsMjUsMCwyNCwxMjcwNSw1MiwwLDQ2LDk4LDEsMzEsMiwwLDEsMiwxMywtMSwxLDUyLDEsMTMsMCwyMDUsNjAsMzIyMCwxNiwxNiw1OCw1LDcsMSwyNiwzMCwyNCwxMjQ2MCw1MCwyNSwwLDI0LDEyNzA0LDEzLC0xLDEsNTIsMSwxMywwLDIwNSw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMTMsLTEsMSw3LDAsNTcsMjQsMTI1MDgsMTMsMCw1Nyw2MCwxMjk2LDEyLDEyLDUyLDIsNjAsNjk2NCw4LDEsMiw2MCw2Nzg4LDMyLDYsNTgsNSwxLDI1LDAsMjQsMTI2OTUsNywxMjUxNSwxNCwyNSwwLDI0LDEyNTUyLDUyLDAsNDYsOTksNjEsLTEsMCwzMSwxLDEsMiwxMyw5OCwyLDEzLDk4LDEsMTMsLTEsMiw1MiwzLDEzLDAsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEyNTUxLDQ3LDQxLDAsMjA2LDEsMTMsMCwyMDYsNjAsMTI5NiwxMiwxMiw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNjc4OCwzMiw2LDU4LDUsMSw2MCw2MDQ0LDQsNyw2MCw1MzI0LDQsMjEsMTMsLTEsMiw2MCw3Miw0LDE5LDEzLC0xLDEsNjAsNTA1Niw4LC0yMCw2MCw1MjAsNCwtMiw2MCw3MzYwLDEyLC02LDYwLDg4MCwxNiwxOSw0LDQsNTIsMiw2MCw2OTY0LDgsMSwyLDYwLDU1MjAsOCwxMyw1OCw2MCw2OTQwLDIwLDMsNTgsNSwxLDEzLC0xLDEsNywyLDU3LDI0LDEyNjk1LDYwLDYwNDQsNCw3LDYwLDUzMjQsNCwyMSwxMywtMSwyLDYwLDcyLDQsMTksMTMsLTEsMSw2MCw1MDU2LDgsLTIwLDYwLDQwNjQsNCwtOCw2MCw3MzYwLDEyLC02LDYwLDg4MCwxNiwxOSw0LDQsNTIsMiw2MCw2OTY0LDgsMSwyLDYwLDU1MjAsOCwxMyw1OCw2MCw2OTQwLDIwLDMsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDEyNzA0LDQ3LDcsMTAwLDYxLC0xLDczLDcsMTAxLDYxLC0xLDc0LDcsMTAyLDYxLC0xLDc1LDcsMTEwLDYxLC0xLDc2LDcsMTExLDYxLC0xLDc3LDcsMTEyLDYxLC0xLDc4LDcsMTEzLDYxLC0xLDc5LDcsMTIwLDYxLC0xLDgwLDcsMTIxLDYxLC0xLDgxLDcsMTMwLDYxLC0xLDgyLDcsMTMxLDYxLC0xLDgzLDcsMTQwLDYxLC0xLDg0LDcsMTUwLDYxLC0xLDg1LDcsMTUxLDYxLC0xLDg2LDcsMTUyLDYxLC0xLDg3LDcsMTYwLDYxLC0xLDg4LDcsMTYxLDYxLC0xLDg5LDcsMTYyLDYxLC0xLDkwLDcsMTY0LDYxLC0xLDkxLDcsMTY1LDYxLC0xLDkyLDcsMTcwLDYxLC0xLDkzLDcsMTcxLDYxLC0xLDk0LDcsMTcyLDYxLC0xLDk1LDcsMTczLDYxLC0xLDk2LDcsMTc0LDYxLC0xLDk3LDcsMTgwLDYxLC0xLDk4LDcsMTgxLDYxLC0xLDk5LDEzLC0xLDExLDEzLC0xLDAsNTIsMiwxMywtMSw2LDUsNjEsLTEsMTAwLDEzLC0xLDgsMTMsLTEsMSw1MiwyLDEzLC0xLDYsNSw2MSwtMSwxMDEsMTMsLTEsMTAsMTMsLTEsMiw1MiwyLDEzLC0xLDYsNSw2MSwtMSwxMDIsMTMsLTEsOSwxMywtMSwzLDUyLDIsMTMsLTEsNyw1LDYxLC0xLDEwMywxMywtMSwxMiwxMywtMSw0LDUyLDIsMTMsLTEsNiw1LDYxLC0xLDEwNCw3LDE2LDYxLC0xLDEwNSw3LDE1LDcsMWUzLDU1LDYxLC0xLDEwNiw3LDEyLDYxLC0xLDEwNyw3LDI1Niw2MSwtMSwxMDgsNywxLDYxLC0xLDEwOSw3LDIsNjEsLTEsMTEwLDcsMyw2MSwtMSwxMTEsNyw0LDYxLC0xLDExMiw3LDEyOTY1LDE0LDI1LDAsMjQsMTM1MDEsNTIsMCw0NiwxMDAsNjEsLTEsMCwzMSwxLDEsMiwxMywtMSwyLDQ0LDQ5LDI0LDEyOTg2LDEsNCwwLDQxLC0xLDIsMSw0LDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMywzMywxLDEzLC0xLDIsMTMsMCwxMDksNTgsMjUsMCwzMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTA5LDMzLDEsMTMsLTEsMiwxMywwLDExMCw1OCwyNSwwLDMwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxMTAsMzMsMSwxMywtMSwyLDEzLDAsMTExLDU4LDI1LDAsMzAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywwLDExMSwzMywxLDEzLC0xLDIsMTMsMCwxMTIsNTgsMjUsMCwzMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTEyLDMzLDEsNTIsMCw2MCw2MDA0LDEyLC0xNiwyLDYwLDU4ODAsOCwxNCw1OCw1LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsOTQwLDE2LDE2LDMzLDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw5NDAsMTYsMTYsNTgsMCw2MCwyNTg4LDI0LC0xMiw1OCwxMywwLDg1LDMzLDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNDA0LDE2LDE1LDU4LDI1LDAsNTcsMjQsMTM0NzcsNjAsMzExMiwyMCwtMTEsMiw2MCwyZTMsOCwxMCw1OCw1MiwxLDEwLDI5LDYxLC0xLDMsMTMsMCwxMDQsNjAsNzE2OCwzNiwtMTIsMTMsMCwxMTIsNTIsMywxMywwLDEwMCw2MCw1MzkyLDEyLDIsMTMsMCwxMTEsNTIsMywxMywwLDEwMCw2MCw0NjA0LDU2LC0yMSwxMywwLDExMSw1MiwzLDEzLDAsMTAwLDYwLDUxMzIsMTYsMCwxMywwLDExMSw1MiwzLDEzLDAsMTAyLDYwLDg5NiwyNCwtOSwxMywwLDExMCw1MiwzLDEzLDAsMTAyLDYwLDYyMDAsMTIsNywxMywwLDExMCw1MiwzLDEzLDAsMTAzLDYwLDQzNzIsMjgsMTcsMTMsMCwxMDksNTIsMywxMywwLDEwMSw2MCw0MTY0LDIwLDEzLDEzLDAsMTA5LDUyLDMsMTMsMCwxMDEsNjAsNTUyOCw1MiwtMjIsMTMsMCwxMDksNTIsMywxMywwLDEwMSw2MCwyNjYwLDE2LC00LDEzLDAsMTA5LDUyLDMsNTIsMTAsNjEsLTEsNCwxMywtMSw0LDYwLDUxMiw4LC0xLDU4LDYxLC0xLDUsNywwLDYxLC0xLDYsMTMsLTEsNiwxMywtMSw1LDM4LDI0LDEzNDYzLDEzLC0xLDQsMTMsLTEsNiw1OCw2MSwtMSw3LDEzLC0xLDcsNywxLDU4LDYxLC0xLDgsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywtMSw3LDcsMCw1OCw1OCwyNSwxLDU3LDI0LDEzNDU0LDAsNjAsNTI0LDIwLDIsNTgsMTMsLTEsOCw1MiwyLDEzLC0xLDcsNywyLDU4LDUsNjEsLTEsOSwyNSwxLDEzLC0xLDksMTMsLTEsOCw1MiwzLDEzLC0xLDMsNjAsNjc4OCwzMiw2LDU4LDUsMSwyNSwxLDEzLC0xLDksMTMsLTEsOCwxMywtMSwzLDUyLDQsNTIsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDU4OCwzMiwyMCw1OCw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMzUsLTEsNiwwLDEsMjUsMCwyNCwxMzMyOSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjQwNCwxNiwxNSwzMywxLDI1LDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw2MjQ0LDI0LDksMzMsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMzUwMCw0NywxMywtMSwxMyw2MCwyNjQ4LDEyLC01LDU4LDYwLDI3MiwxMiwzLDMzLDEsNywxMzUyMiwxNCwyNSwwLDI0LDEzNjk4LDUyLDAsNDYsMTAxLDYxLC0xLDAsMzEsMCwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNTg4LDMyLDIwLDU4LDI0LDEzNjc0LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNTg4LDMyLDIwLDU4LDYxLC0xLDIsNywwLDYxLC0xLDMsMTMsLTEsMywxMywtMSwyLDYwLDUxMiw4LC0xLDU4LDM4LDI0LDEzNjYwLDEzLC0xLDIsMTMsLTEsMyw1OCw3LDAsNTgsNjEsLTEsNCwxMywtMSwyLDEzLC0xLDMsNTgsNywxLDU4LDYxLC0xLDUsMTMsLTEsMiwxMywtMSwzLDU4LDcsMiw1OCw2MSwtMSw2LDEzLC0xLDIsMTMsLTEsMyw1OCw3LDMsNTgsNjEsLTEsNywxMywtMSw3LDEzLC0xLDYsMTMsLTEsNSw1MiwzLDEzLC0xLDQsNjAsNDUyNCw4MCwtMTYsNTgsNSwxLDM1LC0xLDMsMCwxLDI1LDAsMjQsMTM1NjQsNTIsMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDU4OCwzMiwyMCwzMywxLDI1LDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw2MjQ0LDI0LDksMzMsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxMzY5Nyw0NywxMywtMSwxMyw2MCwyNjQ4LDEyLC01LDU4LDYwLDE2MzYsOCwxMSwzMywxLDcsMTM3MTksMTQsMjUsMCwyNCwxMzc0NSw1MiwwLDQ2LDEwMiw2MSwtMSwwLDMxLDAsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYyMTIsMTYsLTksNTgsMjUsMCwyNCwxMzc0NCw0NywxMywtMSwxMyw2MCwyNjQ4LDEyLC01LDU4LDYwLDczMzIsOCw1LDMzLDEsNywxMzc2NiwxNCwyNSwwLDI0LDE0ZTMsNTIsMCw0NiwxMDMsNjEsLTEsMCwzMSwwLDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0MDY4LDI0LDExLDU4LDUyLDEsNjAsMTI0OCwxMiwxMiwyLDYwLDQ0NDAsMjQsLTIwLDU4LDUsNjEsLTEsMiwxMywtMSwyLDYwLDUxMiw4LC0xLDU4LDYxLC0xLDMsNywwLDYxLC0xLDQsMTMsLTEsNCwxMywtMSwzLDM4LDI0LDEzOTg5LDEzLC0xLDIsMTMsLTEsNCw1OCw2MSwtMSw1LDUyLDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0MDY4LDI0LDExLDU4LDEzLC0xLDUsNTgsNjAsNjgzNiwxNiwzLDU4LDUsMCw2MCwyNTg4LDI0LC0xMiw1OCwxMywtMSw1LDMzLDEsMTMsLTEsNSwxMywwLDc4LDUzLDI0LDEzOTE1LDUyLDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0MDY4LDI0LDExLDU4LDEzLC0xLDUsNTgsNjAsMzE4NCwyMCwtNCw1OCw1LDAsNjAsMjU4OCwyNCwtMTIsNTgsMTMsMCw3OSwzMywxLDEzLC0xLDUsMTMsMCw4Miw1MywyNCwxMzk1OCw1MiwwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSw1LDU4LDYwLDMxODQsMjAsLTQsNTgsNSwwLDYwLDI1ODgsMjQsLTEyLDU4LDEzLDAsODMsMzMsMSwxMywtMSw1LDEzLDAsODIsNTMsMjQsMTM5ODAsNTIsMCwwLDYwLDI1ODgsMjQsLTEyLDU4LDEzLDAsODIsMzMsMSwzNSwtMSw0LDAsMSwyNSwwLDI0LDEzODE5LDAsNjAsMjU4OCwyNCwtMTIsNTgsMjUsMCwyNCwxMzk5OSw0NywxMywtMSwxMyw2MCwyNjQ4LDEyLC01LDU4LDYwLDY4MzYsMTYsMywzMywxLDcsMTQwMjEsMTQsMjUsMCwyNCwxNDA4Myw1MiwwLDQ2LDEwNCw2MSwtMSwwLDMxLDIsMSwyLDMsMTMsLTEsMiw1MiwxLDYwLDEzNDgsOCwwLDIsNSwyNCwxNDA1OSwxMywtMSwyLDUyLDEsMTMsMCw1LDUsNDEsLTEsMiwxLDEzLC0xLDMsMCw2MCwyNTg4LDI0LC0xMiw1OCwxMywtMSwyLDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTQwODIsNDcsMTMsLTEsMTMsNjAsMjY0OCwxMiwtNSw1OCw2MCw1NzAwLDEyLDEyLDMzLDEsNywxNDEwNCwxNCwyNSwwLDI0LDE0MTQ3LDUyLDAsNDYsMTA1LDYxLC0xLDAsMzEsMCwxLDQsMCwwLDYwLDI1ODgsMjQsLTEyLDMzLDEsNCwwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE0MTQ2LDQ3LDEzLC0xLDEzLDYwLDI2NDgsMTIsLTUsNTgsNjAsNDI0OCwxMiwtNSwzMywxLDcsMTQxNjgsMTQsMjUsMCwyNCwxNDIwNiw1MiwwLDQ2LDEwNiw2MSwtMSwwLDMxLDIsMSwyLDMsMTMsLTEsMywxMywtMSwyLDUyLDIsMCw2MCw1MjQsMjAsMiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTQyMDUsNDcsMTMsLTEsMTMsNjAsMjY0OCwxMiwtNSw1OCw2MCwyODQsNDgsLTIwLDMzLDEsNywxNDIyNywxNCwyNSwwLDI0LDE0NTQ3LDUyLDAsNDYsMTA3LDYxLC0xLDAsMzEsMiwxLDIsMywwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYyNDQsMjQsOSw1OCwyNSwwLDU3LDI0LDE0MjYwLDUwLDI1LDAsMjQsMTQ1NDYsMjgsMTQ1MTcsMTMsLTEsMiw1MiwxLDYwLDEzNDgsOCwwLDIsNSwyNCwxNDI4OCwxMywtMSwyLDUyLDEsMTMsMCw1LDUsNDEsLTEsMiwxLDcsMTAsMTMsLTEsMiw1MiwyLDYwLDgzMiw0OCwtMjEsMiw1LDQxLC0xLDIsMSwxMywtMSwzLDYwLDUxMiw4LC0xLDU4LDcsMSwxOSw2MSwtMSw0LDEzLC0xLDMsMTMsLTEsNCw1OCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDk0MCwxNiwxNiw1OCwxOSw2MSwtMSw1LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSwyLDU4LDQ5LDI0LDE0NDU0LDEzLC0xLDIsMTMsMCw3OCw1Nyw0NCw0OSwyNCwxNDM3OCwxLDEzLC0xLDIsMTMsMCw4Miw1NywyNCwxNDM4NiwyNSwxLDI1LDAsMjQsMTQzODgsMjUsMCw2MSwtMSw2LDEzLC0xLDYsMjQsMTQ0MDMsMTMsMCwxMDgsMjUsMCwyNCwxNDQwNiwxMywwLDEwNyw2MSwtMSw3LDEzLC0xLDcsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw5NDAsMTYsMTYsNTgsMTMsMCwxMDYsMTMsMCwxMDUsNTIsNCwyMSw2MCwzMjM2LDI0LDIxLDU4LDI5LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSwyLDMzLDEsMTMsLTEsMywxMywtMSw0LDU4LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsOTQwLDE2LDE2LDU4LDE5LDEzLC0xLDMsMTMsLTEsNCwzMywxLDEzLC0xLDMsMTMsLTEsNSw1MiwyLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSwyLDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSw4LDE0NTEzLDI1LDAsMjQsMTQ1MzcsNjEsLTEsOCwxMywtMSw4LDYwLDY1MjQsOCwtMSw1MiwyLDIxLDYwLDEzNTYsNzYsLTIwLDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxNDU0Niw0NywxMywtMSwxMyw2MCwyNjQ4LDEyLC01LDU4LDYwLDUyNCwyMCwyLDMzLDEsNTIsMCwxMywtMSwxMywyOSw2MSwtMSwxMTMsNywxLDYxLC0xLDExNCw3LDIsNjEsLTEsMTE1LDYwLDczNDAsMTIsLTUsMiwzNCw2MCwzMjkyLDE2LC04LDMwLDI0LDE0NjA1LDUyLDAsNjAsNzM0MCwxMiwtNSwyLDI5LDI1LDAsMjQsMTQ2MDYsNDUsNjEsLTEsMTE2LDcsMCw2MSwtMSwxMTcsNywxLDYxLC0xLDExOCw3LDIsNjEsLTEsMTE5LDcsMyw2MSwtMSwxMjAsNyw0LDYxLC0xLDEyMSw3LDUsNjEsLTEsMTIyLDcsNiw2MSwtMSwxMjMsNyw3LDYxLC0xLDEyNCw3LDgsNjEsLTEsMTI1LDcsOSw2MSwtMSwxMjYsNywxMCw2MSwtMSwxMjcsNTIsMCw3LDE0NjczLDE0LDI1LDAsMjQsMTQ3NzMsNTIsMCw0NiwxMDgsNjEsLTEsMCwzMSwwLDEsNCwwLDYxLC0xLDIsNjAsNDcxNiw0LDE1LDcsMTQ2OTksMTQsMjUsMCwyNCwxNDczMiw1MiwwLDQ2LDEwOSw2MSwtMSwwLDMxLDIsMSwyLDMsMTMsLTEsMywxMywxMDgsMiwxMywtMSwyLDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTQ3MzEsNDcsNjAsNDI0MCw0LC02LDcsMTQ3NDMsMTQsMjUsMCwyNCwxNDc2Niw1MiwwLDQ2LDExMCw2MSwtMSwwLDMxLDEsMSwyLDEzLDEwOCwyLDEzLC0xLDIsNTgsMjUsMCwyNCwxNDc2NSw0Nyw0LDIsMjUsMCwyNCwxNDc3Miw0Nyw1LDYxLC0xLDEyOCw3LDAsNjEsLTEsMTI5LDcsMSw2MSwtMSwxMzAsNywyLDYxLC0xLDEzMSw3LDMsNjEsLTEsMTMyLDcsMTAsNjEsLTEsMTMzLDcsMTEsNjEsLTEsMTM0LDcsMTIsNjEsLTEsMTM1LDcsMTMsNjEsLTEsMTM2LDcsMjAsNjEsLTEsMTM3LDcsMjEsNjEsLTEsMTM4LDcsMzAsNjEsLTEsMTM5LDcsNDAsNjEsLTEsMTQwLDcsNDEsNjEsLTEsMTQxLDcsNTAsNjEsLTEsMTQyLDcsNTEsNjEsLTEsMTQzLDcsNTIsNjEsLTEsMTQ0LDcsNTMsNjEsLTEsMTQ1LDcsNjAsNjEsLTEsMTQ2LDcsNjEsNjEsLTEsMTQ3LDcsNjIsNjEsLTEsMTQ4LDcsNzAsNjEsLTEsMTQ5LDcsNzEsNjEsLTEsMTUwLDcsNzIsNjEsLTEsMTUxLDcsNzMsNjEsLTEsMTUyLDcsNzQsNjEsLTEsMTUzLDcsNzUsNjEsLTEsMTU0LDcsNzYsNjEsLTEsMTU1LDcsNzcsNjEsLTEsMTU2LDcsNzgsNjEsLTEsMTU3LDcsODksNjEsLTEsMTU4LDEzLC0xLDI5LDEzLC0xLDIyLDUyLDIsMTMsLTEsMjgsNSw2MSwtMSwxNTksMTMsLTEsMzAsMTMsLTEsMjIsNTIsMiwxMywtMSwyOCw1LDYxLC0xLDE2MCwxMywtMSwzMiwxMywtMSwyMSw1MiwyLDEzLC0xLDI4LDUsNjEsLTEsMTYxLDEzLC0xLDMxLDEzLC0xLDIzLDUyLDIsMTMsLTEsMjgsNSw2MSwtMSwxNjIsMTMsLTEsMzMsMTMsLTEsMjYsNTIsMiwxMywtMSwyOCw1LDYxLC0xLDE2MywxMywtMSwzNCwxMywtMSwyNSw1MiwyLDEzLC0xLDI4LDUsNjEsLTEsMTY0LDEzLC0xLDM1LDEzLC0xLDI0LDUyLDIsMTMsLTEsMjgsNSw2MSwtMSwxNjUsMTMsLTEsMzYsMTMsLTEsMjcsNTIsMiwxMywtMSwyOCw1LDYxLC0xLDE2Niw3LDEsNywwLDE2LDYxLC0xLDE2Nyw3LDEsNywxLDE2LDYxLC0xLDE2OCw3LDEsNywyLDE2LDYxLC0xLDE2OSw3LDEsNywzLDE2LDYxLC0xLDE3MCw3LDEsNyw0LDE2LDYxLC0xLDE3MSw3LDEsNyw1LDE2LDYxLC0xLDE3Miw3LDEsNyw2LDE2LDYxLC0xLDE3Myw3LDEsNyw3LDE2LDYxLC0xLDE3NCw3LDEsNyw4LDE2LDYxLC0xLDE3NSw3LDAsNjEsLTEsMTc2LDcsMSw2MSwtMSwxNzcsNjAsNjk2NCw4LDEsMiw2MCwxMDgwLDcyLC0xNiw1OCwzNCw2MCw2ODcyLDE2LC03LDU3LDI0LDE1MTYxLDYwLDY5NjQsOCwxLDIsNjAsMTA4MCw3MiwtMTYsNTgsMjUsMCwyNCwxNTE5Nyw3LDE1MTY4LDE0LDI1LDAsMjQsMTUxOTcsNTIsMCw0NiwxMTEsNjEsLTEsMCwzMSwxLDEsMiw3LDUwLDEzLC0xLDIsNTIsMiw2MCw5OTYsMTYsMCwyLDUsMjUsMCwyNCwxNTE5Niw0Nyw2MSwtMSwxNzgsNjAsNjk2NCw4LDEsMiw2MCwxMTg0LDQwLDE1LDU4LDM0LDYwLDY4NzIsMTYsLTcsNTcsMjQsMTUyMzIsNjAsNjk2NCw4LDEsMiw2MCwxMTg0LDQwLDE1LDU4LDI1LDAsMjQsMTUyNzIsNywxNTIzOSwxNCwyNSwwLDI0LDE1MjcyLDUyLDAsNDYsMTEyLDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiw1MiwxLDYwLDUyMzYsMTYsLTIsMiw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTUyNzEsNDcsNjEsLTEsMTc5LDcsMjEyLDcsODEsNywxMjcsNywxNiw3LDU5LDcsMTcsNywyMzEsNywyNTUsNywxNzIsNywxMDIsNywxMzYsNywxNTUsNywxMDMsNywxMjYsNywzNiw3LDYsNyw1Miw3LDY5LDcsMTM3LDcsMTM5LDcsMTU4LDcsMjE0LDcsNzgsNywyMzcsNywxMjgsNywxNjIsNywyNiw3LDEzNSw3LDQyLDcsMjUzLDcsMTI1LDcsMjA1LDUyLDMyLDYxLC0xLDE4MCw3LDE1MzUxLDE0LDI1LDAsMjQsMTU0MzksNTIsMCw0NiwxMTMsNjEsLTEsMCwzMSwwLDEsMCw2MSwtMSwyLDcsMTUzNzIsMTQsMjUsMCwyNCwxNTQxMSw1MiwwLDQ2LDExNCw2MSwtMSwwLDMxLDEsMSwyLDEzLC0xLDIsMTMsMTEzLDIsNjAsNjQzNiw4LDQsMzMsMSw1MiwwLDEzLDExMywyLDYwLDMwOTYsOCwxMSw1OCw1LDI1LDAsMjQsMTU0MTAsNDcsNTIsMSwwLDYwLDI5OTIsMjgsLTgsNTgsNTIsMSwwLDYwLDU3MTIsMTYsLTYsNTgsNSw2MCwxNTYwLDgsMiw1OCw1LDI1LDAsMjQsMTU0MzgsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw3MjA0LDE2LC0xMywzMywxLDcsMTU0NjAsMTQsMjUsMCwyNCwxNTUzMCw1MiwwLDQ2LDExNSw2MSwtMSwwLDMxLDAsMSw2MCw0MjYwLDQwLC0yMiw2MCwzMDYwLDM2LC0xNiw1MiwyLDI1LDAsNjAsMTQzMiwyMCwtMjAsNjAsNjIzMiwxMiwwLDQsMSwxMywwLDE4MCw1MiwxLDYwLDU3OTYsMjAsLTIsMiwyOSw2MCwxNTI4LDgsNSw1Miw1LDYwLDQxMjAsNDQsLTE5LDIsNjAsNjk3Niw0MCwtMjIsNTgsNjAsNjM2LDE2LC00LDU4LDUsMjUsMCwyNCwxNTUyOSw0NywxMywtMSwzOCw2MCwyNjQ4LDEyLC01LDU4LDYwLDU3MTIsMTYsLTYsMzMsMSw3LDE1NTUxLDE0LDI1LDAsMjQsMTU5MzgsNTIsMCw0NiwxMTYsNjEsLTEsMCwzMSwxLDEsMiwwLDYxLC0xLDMsMCw2MCw3NiwzNiwtMTIsNTgsMjQsMTU1NzksNTAsMjUsMCwyNCwxNTkzNywyNSwxLDAsNjAsNzYsMzYsLTEyLDMzLDEsMCw2MCwyOTUyLDIwLDE5LDU4LDQ1LDMwLDI0LDE1NjE5LDAsNjAsMjk1MiwyMCwxOSw1OCw1MiwxLDEzLDAsMTc5LDUsMSw0NSwwLDYwLDI5NTIsMjAsMTksMzMsMSw3LDE1NjI2LDE0LDI1LDAsMjQsMTU5MDcsNTIsMCw0NiwxMTcsNjEsLTEsMCwzMSwwLDEsNTIsMCwxMywxMTYsMyw2MCw2MDYwLDgsMTUsNTgsNjAsMTkwNCw4LC03LDU4LDUsNjEsLTEsMiw3LDE1NjYyLDE0LDI1LDAsMjQsMTU2OTYsNTIsMCw0NiwxMTgsNjEsLTEsMCwzMSwwLDEsMjUsMCwxMywxMTYsMyw2MCw3NiwzNiwtMTIsMzMsMSwxMywxMTYsMyw2MCw2MDYwLDgsMTUsNTgsMjUsMCwyNCwxNTY5NSw0Nyw1MiwxLDcsMTU3MDUsMTQsMjUsMCwyNCwxNTg3NCw1MiwwLDQ2LDExOSw2MSwtMSwwLDMxLDEsMSwyLDEzLC0xLDIsNTIsMSw2MCwyOTMyLDEyLDIsMiw2MCw0MDQsMzYsLTE1LDU4LDUsNDksMjQsMTU3NDEsNTIsMCw0MSwtMSwyLDEsMTMsMTE3LDIsMTMsLTEsMiw1MiwyLDEzLDExNiwzLDYwLDU0NjAsMTYsMTMsNTgsNSw2MSwtMSwzLDEzLC0xLDMsMTMsMTE2LDMsNjAsNjA2MCw4LDE1LDMzLDEsMTMsMTE3LDIsNjAsNTEyLDgsLTEsNTgsNywwLDExLDI0LDE1ODUwLDcsMTU3OTMsMTQsMjUsMCwyNCwxNTgyNyw1MiwwLDQ2LDEyMCw2MSwtMSwwLDMxLDAsMSwyNSwwLDEzLDExNiwzLDYwLDc2LDM2LC0xMiwzMywxLDEzLDExNiwzLDYwLDYwNjAsOCwxNSw1OCwyNSwwLDI0LDE1ODI2LDQ3LDUyLDEsNTIsMCwxMywxMTYsMyw2MCwzNzc2LDI0LC02LDU4LDUsNjAsMTU2MCw4LDIsNTgsNSwyNSwwLDI0LDE1ODczLDI1LDAsMTMsMTE2LDMsNjAsNzYsMzYsLTEyLDMzLDEsMTMsMTE2LDMsNjAsNjA2MCw4LDE1LDU4LDI1LDAsMjQsMTU4NzMsNDcsNTIsMSwxMywxMTYsMiw1MiwxLDEzLDExNiwzLDYwLDQ5MjQsMTIsMCw1OCw1LDYwLDE1NjAsOCwyLDU4LDUsNjAsNjUzMiwxMiw0LDU4LDUsMjUsMCwyNCwxNTkwNiw0Nyw1MiwxLDAsNjAsMjIyOCwyNCwtMjIsNTgsNjAsMTU2MCw4LDIsNTgsNSwwLDYwLDIyMjgsMjQsLTIyLDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTU5MzcsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw0MDkyLDI4LDIsMzMsMSw3LDE1OTU5LDE0LDI1LDAsMjQsMTYyMDUsNTIsMCw0NiwxMjEsNjEsLTEsMCwzMSwyLDEsMiwzLDUyLDAsNjEsLTEsNCw0LDAsNjEsLTEsNSwxMywtMSwzLDYwLDUxMiw4LC0xLDU4LDYxLC0xLDYsNywwLDYxLC0xLDcsMTMsLTEsNywxMywtMSw2LDM4LDI0LDE2MDg5LDEzLC0xLDMsMTMsLTEsNyw1OCw2MSwtMSw4LDEzLC0xLDgsNDQsMjQsMTYwMzEsMSwxMywtMSw4LDYwLDU0NTYsNCwtNiw1OCw0NCwyNCwxNjA0OCwxLDEzLC0xLDUsMTMsLTEsOCw2MCw1NDU2LDQsLTYsNTgsNTgsNDksMjQsMTYwODAsMTMsLTEsOCw1MiwxLDEzLC0xLDQsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDI1LDEsMTMsLTEsNSwxMywtMSw4LDYwLDU0NTYsNCwtNiw1OCwzMywxLDM1LC0xLDcsMCwxLDI1LDAsMjQsMTU5OTcsMTMsLTEsMiw2MCw1MTIsOCwtMSw1OCw2MSwtMSw5LDcsMCw2MSwtMSwxMCwxMywtMSwxMCwxMywtMSw5LDM4LDI0LDE2MTk3LDEzLC0xLDIsMTMsLTEsMTAsNTgsNjEsLTEsMTEsMTMsLTEsMTEsNDQsMjQsMTYxMzksMSwxMywtMSwxMSw2MCw1NDU2LDQsLTYsNTgsNDQsMjQsMTYxNTYsMSwxMywtMSw1LDEzLC0xLDExLDYwLDU0NTYsNCwtNiw1OCw1OCw0OSwyNCwxNjE4OCwxMywtMSwxMSw1MiwxLDEzLC0xLDQsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDI1LDEsMTMsLTEsNSwxMywtMSwxMSw2MCw1NDU2LDQsLTYsNTgsMzMsMSwzNSwtMSwxMCwwLDEsMjUsMCwyNCwxNjEwNSwxMywtMSw0LDI1LDAsMjQsMTYyMDQsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw1NDYwLDE2LDEzLDMzLDEsNywxNjIyNiwxNCwyNSwwLDI0LDE2NTIwLDUyLDAsNDYsMTIyLDYxLC0xLDAsMzEsMSwxLDIsMjgsMTY0ODcsMCw2MSwtMSwzLDUyLDAsNjAsMjYyMCwyOCwyMiwyLDI5LDYxLC0xLDQsNywxMiw1MiwxLDYwLDU3OTYsMjAsLTIsMiwyOSw1MiwxLDYwLDQxMjAsNDQsLTE5LDIsNjAsMzEzMiwyOCwxMiw1OCw1LDYxLC0xLDUsMTMsLTEsMiw1MiwxLDYwLDQwLDEyLC0xNSwyLDYwLDUwNjQsMjAsMTMsNTgsNSw1MiwxLDEzLC0xLDQsNjAsODA0LDEyLDE1LDU4LDUsNjEsLTEsNiw3LDE2MzE3LDE0LDI1LDAsMjQsMTY0MjMsNTIsMCw0NiwxMjMsNjEsLTEsMCwzMSwxLDEsMiwxMywtMSwyLDUyLDEsNjAsNTc5NiwyMCwtMiwyLDI5LDYxLC0xLDMsMTMsMTIyLDUsNDUsNTIsMiw2MCw2ODY0LDgsLTQsMiw2MCw2ODQsMTYsLTYsNTgsNjAsNGUzLDMyLC0xNyw1OCw1LDUyLDEsNjAsNjk2NCw4LDEsMiw2MCw1OTYwLDgsLTQsNTgsNSw2MCw1NTE2LDQsMyw0OCwxMywtMSwzLDQ1LDUyLDIsNjAsNjg2NCw4LC00LDIsNjAsNjg0LDE2LC02LDU4LDYwLDRlMywzMiwtMTcsNTgsNSw1MiwxLDYwLDY5NjQsOCwxLDIsNjAsNTk2MCw4LC00LDU4LDUsNDgsMjUsMCwyNCwxNjQyMiw0Nyw1MiwxLDEzLC0xLDYsMTMsLTEsMyw2MCw2NDM2LDgsNCw1OCw2MCwxMDUyLDQsMywxMywtMSw1LDYwLDE0MzIsMjAsLTIwLDYwLDYyMzIsMTIsMCw0LDIsNTIsMyw2MCw0MTIwLDQ0LC0xOSwyLDYwLDY5NzYsNDAsLTIyLDU4LDYwLDMwNjAsMzYsLTE2LDU4LDUsNjAsMTU2MCw4LDIsNTgsNSwyNSwwLDI0LDE2NTE5LDgsMTY0ODMsMjUsMCwyNCwxNjUxMCw2MSwtMSw3LDEzLC0xLDcsNTIsMSw2MCw2NDI0LDEyLC03LDIsNjAsOTYwLDM2LC0yMiw1OCw1LDI1LDAsMjQsMTY1MTksNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTY1MTksNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw1NDQsNDQsLTIxLDMzLDEsNywxNjU0MSwxNCwyNSwwLDI0LDE2OTcwLDUyLDAsNDYsMTI0LDYxLC0xLDAsMzEsMSwxLDIsMCw2MSwtMSwzLDEzLC0xLDIsNDksMjQsMTY1ODEsNTIsMCw1MiwxLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsNSwyNSwwLDI0LDE2OTY5LDI4LDE2OTM4LDYwLDU1MTYsNCwzLDUyLDEsMTMsLTEsMiw2MCw2MTgwLDEyLDIwLDU4LDUsNjEsLTEsNCw3LDE2NjA4LDE0LDI1LDAsMjQsMTY2MzcsNTIsMCw0NiwxMjUsNjEsLTEsMCwzMSwxLDEsMiw3LDAsNTIsMSwxMywtMSwyLDYwLDYwMTYsMTYsMTYsNTgsNSwyNSwwLDI0LDE2NjM2LDQ3LDUyLDEsNjAsMjY2MCwwLC0xNCw1MiwxLDEzLC0xLDQsNywwLDU4LDUyLDEsNjAsNjk2NCw4LDEsMiw2MCw3MzUyLDgsNyw1OCw1LDYwLDYxODAsMTIsMjAsNTgsNSw2MCwxMjkyLDQsLTIsNTgsNSw1MiwxLDYwLDU3OTYsMjAsLTIsMiwyOSw2MSwtMSw1LDcsMTY2OTQsMTQsMjUsMCwyNCwxNjcyMyw1MiwwLDQ2LDEyNiw2MSwtMSwwLDMxLDEsMSwyLDcsMCw1MiwxLDEzLC0xLDIsNjAsNjAxNiwxNiwxNiw1OCw1LDI1LDAsMjQsMTY3MjIsNDcsNTIsMSw2MCwyNjYwLDAsLTE0LDUyLDEsMTMsLTEsNCw3LDEsNTgsNTIsMSw2MCw2OTY0LDgsMSwyLDYwLDczNTIsOCw3LDU4LDUsNjAsNjE4MCwxMiwyMCw1OCw1LDYwLDEyOTIsNCwtMiw1OCw1LDUyLDEsNjAsNTc5NiwyMCwtMiwyLDI5LDYxLC0xLDYsNywxNjc4MCwxNCwyNSwwLDI0LDE2Nzk3LDUyLDAsNDYsMTI3LDYxLC0xLDAsMzEsMCwxLDUyLDAsMjUsMCwyNCwxNjc5Niw0Nyw1MiwxLDcsMTY4MDYsMTQsMjUsMCwyNCwxNjg2OCw1MiwwLDQ2LDEyOCw2MSwtMSwwLDMxLDEsMSwyLDUyLDAsNjAsNjA4NCwxNiwxMiwyLDI5LDYxLC0xLDMsMTMsLTEsMiw1MiwxLDYwLDU3OTYsMjAsLTIsMiwyOSw1MiwxLDEzLC0xLDMsNjAsNTk1Miw4LDEyLDU4LDUsNTIsMSw2MCw0MCwxMiwtMTUsMiw2MCw1MDQ4LDgsMCw1OCw1LDI1LDAsMjQsMTY4NjcsNDcsNTIsMSwxMywtMSw2LDEzLC0xLDMsNjAsNjQzNiw4LDQsNTgsNjAsMTA1Miw0LDMsMTMsLTEsNSw2MCwxNDMyLDIwLC0yMCw2MCw2MjMyLDEyLDAsNCwyLDUyLDMsNjAsNDEyMCw0NCwtMTksMiw2MCw2OTc2LDQwLC0yMiw1OCw2MCw0MjYwLDQwLC0yMiw1OCw1LDYwLDE1NjAsOCwyLDU4LDUsNjAsNjUzMiwxMiw0LDU4LDUsMjUsMCwyNCwxNjk2OSw4LDE2OTM0LDI1LDAsMjQsMTY5NjAsNjEsLTEsNyw1MiwwLDUyLDEsNjAsNjQyNCwxMiwtNywyLDYwLDU5NDAsMTIsNCw1OCw1LDI1LDAsMjQsMTY5NjksNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTY5NjksNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw0OTI0LDEyLDAsMzMsMSw3LDE2OTkxLDE0LDI1LDAsMjQsMTcxMDcsNTIsMCw0NiwxMjksNjEsLTEsMCwzMSwwLDEsMCw2MSwtMSwyLDAsNjAsMzMyLDIwLC02LDU4LDUyLDEsNjAsNjk2NCw4LDEsMiw2MCw3MTA0LDI0LDE2LDU4LDYwLDIzODgsMTYsLTcsNTgsNSw2MSwtMSwzLDcsMTcwMzksMTQsMjUsMCwyNCwxNzA4Miw1MiwwLDQ2LDEzMCw2MSwtMSwwLDMxLDEsMSwyLDEzLC0xLDIsNDQsNDksMjQsMTcwNjAsMSw1MiwwLDEzLDEyOSwyLDYwLDYwNjAsOCwxNSwzMywxLDEzLDEyOSwyLDYwLDYwNjAsOCwxNSw1OCwyNSwwLDI0LDE3MDgxLDQ3LDUyLDEsMTMsLTEsMyw1MiwxLDAsNjAsNDkyNCwxMiwwLDU4LDUsNjAsMTU2MCw4LDIsNTgsNSwyNSwwLDI0LDE3MTA2LDQ3LDEzLC0xLDM4LDYwLDI2NDgsMTIsLTUsNTgsNjAsMzA5Niw4LDExLDMzLDEsNywxNzEyOCwxNCwyNSwwLDI0LDE3NjIzLDUyLDAsNDYsMTMxLDYxLC0xLDAsMzEsMCwxLDAsNjEsLTEsMiwwLDYwLDE2MDQsMzIsMTAsNTgsNDksMjQsMTcxNjAsNTIsMCwwLDYwLDE2MDQsMzIsMTAsMzMsMSw3LDE3MTY3LDE0LDI1LDAsMjQsMTc2MTAsNTIsMCw0NiwxMzIsNjEsLTEsMCwzMSwyLDEsMiwzLDYwLDk2MCwzNiwtMjIsMTMsLTEsMyw2MCw1OTQwLDEyLDQsMTMsLTEsMiw0LDIsNTIsMSwxMywxMzEsMiw2MCwxNjA0LDMyLDEwLDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSwxMywxMzEsMiw2MCwyOTUyLDIwLDE5LDU4LDQ1LDMwLDI0LDE3MjQ5LDEzLDEzMSwyLDYwLDI5NTIsMjAsMTksNTgsNTIsMSwxMywwLDE3OSw1LDEsNDUsMTMsMTMxLDIsNjAsMjk1MiwyMCwxOSwzMywxLDcsMTcyNTYsMTQsMjUsMCwyNCwxNzU4NSw1MiwwLDQ2LDEzMyw2MSwtMSwwLDMxLDAsMSw0NSwxMywxMzEsMiw2MCwyOTUyLDIwLDE5LDMzLDEsNywxMDAsMjYsNTIsMSwxMywxMzEsMiw2MCw2MDYwLDgsMTUsNTgsNjAsMTkwNCw4LC03LDU4LDUsMTMsMTMxLDIsNjAsNjA2MCw4LDE1LDMzLDEsNywxNzMxMSwxNCwyNSwwLDI0LDE3NDA4LDUyLDAsNDYsMTM0LDYxLC0xLDAsMzEsMSwxLDIsMTMsMTMxLDIsNjAsMTYwNCwzMiwxMCw1OCw0NCw0OSwyNCwxNzMzNywxLDUyLDAsNjEsLTEsMyw1MiwwLDEzLDEzMSwyLDYwLDE2MDQsMzIsMTAsMzMsMSw3LDAsNjEsLTEsNCwxMywtMSw0LDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsMzgsMjQsMTczOTgsMTMsLTEsMiw1MiwxLDEzLC0xLDMsMTMsLTEsNCw1OCw2MCw5NjAsMzYsLTIyLDU4LDUsMSwzNSwtMSw0LDAsMSwyNSwwLDI0LDE3MzU2LDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE3NDA3LDQ3LDUyLDEsNywxNzQxNywxNCwyNSwwLDI0LDE3NTQxLDUyLDAsNDYsMTM1LDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiwxMywxMzEsMiw2MCwzMzIsMjAsLTYsNTgsNTIsMiw2MCw2OTY0LDgsMSwyLDYwLDcxMDQsMjQsMTYsNTgsNjAsNjA0OCwxMiwxNiw1OCw1LDEsMTMsMTMxLDIsNjAsMTYwNCwzMiwxMCw1OCw0NCw0OSwyNCwxNzQ3MywxLDUyLDAsNjEsLTEsMyw1MiwwLDEzLDEzMSwyLDYwLDE2MDQsMzIsMTAsMzMsMSw3LDAsNjEsLTEsNCwxMywtMSw0LDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsMzgsMjQsMTc1MzEsNTIsMCwxMywtMSwzLDEzLC0xLDQsNTgsNjAsNTk0MCwxMiw0LDU4LDUsMSwzNSwtMSw0LDAsMSwyNSwwLDI0LDE3NDkyLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE3NTQwLDQ3LDUyLDEsMTMsMTMxLDIsNjAsNjA2MCw4LDE1LDU4LDUyLDEsMTMsMTMxLDIsNjAsNTQ0LDQ0LC0yMSw1OCw1LDYwLDE1NjAsOCwyLDU4LDUsNjAsNjUzMiwxMiw0LDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxNzU4NCw0Nyw1MiwxLDEzLDAsMTc4LDUsMTMsMTMxLDIsNjAsMjk1MiwyMCwxOSwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE3NjA5LDQ3LDUyLDEsNjAsNjQyNCwxMiwtNywyLDI5LDI1LDAsMjQsMTc2MjIsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCwzNzc2LDI0LC02LDMzLDEsNywxNzY0NCwxNCwyNSwwLDI0LDE3NzM3LDUyLDAsNDYsMTM2LDYxLC0xLDAsMzEsMCwxLDAsNjEsLTEsMiw3LDE3NjY1LDE0LDI1LDAsMjQsMTc3MTgsNTIsMCw0NiwxMzcsNjEsLTEsMCwzMSwwLDEsMTMsMTM2LDIsNjAsNzYsMzYsLTEyLDU4LDI0LDE3NzAyLDUyLDAsNjAsNjQyNCwxMiwtNywyLDYwLDU5NDAsMTIsNCw1OCw1LDI1LDAsMjQsMTc3MTcsNTIsMCwxMywxMzYsMiw2MCwzNzc2LDI0LC02LDU4LDUsMjUsMCwyNCwxNzcxNyw0Nyw1MiwxLDAsNjAsMjIyOCwyNCwtMjIsNTgsNjAsMTU2MCw4LDIsNTgsNSwyNSwwLDI0LDE3NzM2LDQ3LDEzLC0xLDM4LDYwLDI2NDgsMTIsLTUsNTgsNjAsNDMzNiw4LDEzLDMzLDEsNywxNzc1OCwxNCwyNSwwLDI0LDE4MDMxLDUyLDAsNDYsMTM4LDYxLC0xLDAsMzEsMSwxLDIsMCw2MCw2MzI4LDc2LC0yMCw1OCwyNCwxNzc5NCw1MiwwLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsNSwyNSwwLDI0LDE4MDMwLDEzLC0xLDIsNDUsNTMsNDQsNDksMjQsMTc4MTQsMSwxMywtMSwyLDYwLDU0NTYsNCwtNiw1OCw0NSw1MywyNCwxNzgzMyw1MiwwLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsNSwyNSwwLDI0LDE4MDMwLDAsNjEsLTEsMyw3LDE3ODQ0LDE0LDI1LDAsMjQsMTgwMTIsNTIsMCw0NiwxMzksNjEsLTEsMCwzMSwwLDEsMjgsMTc5NzksMjUsMCw2MSwtMSwyLDcsMCw2MSwtMSwzLDEzLC0xLDMsMTMsMTM4LDMsNjAsNjA2MCw4LDE1LDU4LDYwLDUxMiw4LC0xLDU4LDM4LDI0LDE3OTMyLDEzLDEzOCwzLDYwLDYwNjAsOCwxNSw1OCwxMywtMSwzLDU4LDYwLDU0NTYsNCwtNiw1OCwxMywxMzgsMiw2MCw1NDU2LDQsLTYsNTgsNTcsMjQsMTc5MjMsMjUsMSw0MSwtMSwyLDEsMjUsMCwyNCwxNzkzMiwzNSwtMSwzLDAsMSwyNSwwLDI0LDE3ODY2LDEzLC0xLDIsNDksMjQsMTc5NzMsMTMsMTM4LDIsNTIsMSwxMywxMzgsMyw2MCw2MDYwLDgsMTUsNTgsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDUyLDAsMTMsMTM4LDMsNjAsNDMzNiw4LDEzLDU4LDUsMjUsMCwyNCwxODAxMSw4LDE3OTc1LDI1LDAsMjQsMTgwMDIsNjEsLTEsNCwxMywtMSw0LDUyLDEsNjAsNjQyNCwxMiwtNywyLDYwLDk2MCwzNiwtMjIsNTgsNSwyNSwwLDI0LDE4MDExLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE4MDExLDQ3LDUyLDEsMCw2MCwyMjI4LDI0LC0yMiw1OCw2MCwxNTYwLDgsMiw1OCw1LDI1LDAsMjQsMTgwMzAsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCwxMDEyLDQsMjAsMzMsMSw3LDE4MDUyLDE0LDI1LDAsMjQsMTgxNDAsNTIsMCw0NiwxNDAsNjEsLTEsMCwzMSwwLDEsMCw2MCw2MzI4LDc2LC0yMCw1OCwyNCwxODA4Nyw1MiwwLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsNSwyNSwwLDI0LDE4MTM5LDAsNjEsLTEsMiw3LDE4MDk4LDE0LDI1LDAsMjQsMTgxMjEsNTIsMCw0NiwxNDEsNjEsLTEsMCwzMSwwLDEsMTMsMTQwLDIsNjAsNjA2MCw4LDE1LDU4LDI1LDAsMjQsMTgxMjAsNDcsNTIsMSwwLDYwLDIyMjgsMjQsLTIyLDU4LDYwLDE1NjAsOCwyLDU4LDUsMjUsMCwyNCwxODEzOSw0NywxMywtMSwzOCw2MCwyNjQ4LDEyLC01LDU4LDYwLDIxNzYsMTIsNiwzMywxLDcsMTgxNjEsMTQsMjUsMCwyNCwxODI2NSw1MiwwLDQ2LDE0Miw2MSwtMSwwLDMxLDAsMSwwLDYwLDYzMjgsNzYsLTIwLDU4LDI0LDE4MTk2LDUyLDAsNjAsNjQyNCwxMiwtNywyLDYwLDU5NDAsMTIsNCw1OCw1LDI1LDAsMjQsMTgyNjQsMCw2MSwtMSwyLDcsMTgyMDcsMTQsMjUsMCwyNCwxODIzMyw1MiwwLDQ2LDE0Myw2MSwtMSwwLDMxLDAsMSw1MiwwLDEzLDE0MiwyLDYwLDMwOTYsOCwxMSw1OCw1LDI1LDAsMjQsMTgyMzIsNDcsNTIsMSwwLDYwLDIyMjgsMjQsLTIyLDU4LDYwLDE1NjAsOCwyLDU4LDUsMCw2MCwyMjI4LDI0LC0yMiwzMywxLDAsNjAsMjIyOCwyNCwtMjIsNTgsMjUsMCwyNCwxODI2NCw0NywxMywtMSwzOCw2MCwyNjQ4LDEyLC01LDU4LDYwLDQyMTIsMTIsLTExLDMzLDEsNywxODI4NiwxNCwyNSwwLDI0LDE4Mzg4LDUyLDAsNDYsMTQ0LDYxLC0xLDAsMzEsMCwxLDAsNjAsNjMyOCw3NiwtMjAsNTgsMjQsMTgzMjEsNTIsMCw2MCw2NDI0LDEyLC03LDIsNjAsNTk0MCwxMiw0LDU4LDUsMjUsMCwyNCwxODM4NywwLDYxLC0xLDIsNywxODMzMiwxNCwyNSwwLDI0LDE4MzY5LDUyLDAsNDYsMTQ1LDYxLC0xLDAsMzEsMCwxLDUyLDAsMTMsMTQ0LDIsNjAsNjA2MCw4LDE1LDMzLDEsNTIsMCwxMywxNDQsMiw2MCw0MzM2LDgsMTMsNTgsNSwyNSwwLDI0LDE4MzY4LDQ3LDUyLDEsMCw2MCwyMjI4LDI0LC0yMiw1OCw2MCwxNTYwLDgsMiw1OCw1LDI1LDAsMjQsMTgzODcsNDcsMTMsLTEsMzgsNjAsMjY0OCwxMiwtNSw1OCw2MCw3NDMyLDgsMywzMywxLDEzLC0xLDE1MCwxMywtMSwxNTUsMTMsLTEsMTU4LDEzLC0xLDE1NywxMywtMSwxNTQsMTMsLTEsMTUzLDEzLC0xLDE1NiwxMywtMSwxNTIsMTMsLTEsMTUxLDEzLC0xLDE0OSw1MiwxMCw2MSwtMSwxODEsNTIsMCwxMywtMSw0Myw1LDYxLC0xLDE4Miw3LDE4NDUzLDE0LDI1LDAsMjQsMTg1MjIsNTIsMCw0NiwxNDYsNjEsLTEsMCwzMSwxLDEsMiwxMywtMSwyLDEzLDAsMTkyLDU4LDI0LDE4NDgzLDUyLDAsMCw2MCwxOTEyLDUyLDEzLDU4LDUsMSwxMywtMSwyLDEzLDAsMTkzLDU4LDI0LDE4NTEyLDUyLDAsMCw2MCwyMjg0LDQ4LC03LDU4LDUsMSw1MiwwLDAsNjAsNTY0OCwzNiwxNyw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTg1MjEsNDcsMTMsLTEsNDQsNjAsMjY0OCwxMiwtNSw1OCw2MCwyNzIsMTIsMywzMywxLDcsMTg1NDMsMTQsMjUsMCwyNCwxODY2Niw1MiwwLDQ2LDE0Nyw2MSwtMSwwLDMxLDAsMSwwLDYxLC0xLDIsNywxODU2NCwxNCwyNSwwLDI0LDE4NjM4LDUyLDAsNDYsMTQ4LDYxLC0xLDAsMzEsMCwxLDYwLDMxMTIsMjAsLTExLDIsNjAsMzgyNCwxMiwtMTUsNTgsMjQsMTg2MDksNywwLDUyLDEsMTMsMCwxNTcsNTIsMiwxMywxNDcsMiw2MCw1MjQsMjAsMiw1OCw1LDEsMjUsMCwyNCwxODYyOCw3LDEsNTIsMSwxMywwLDE1Nyw1MiwyLDEzLDE0NywyLDYwLDUyNCwyMCwyLDU4LDUsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwxODYzNyw0Nyw2MCw1ODE2LDMyLDcsNTIsMiw2MCwzMTEyLDIwLC0xMSwyLDYwLDY3ODgsMzIsNiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTg2NjUsNDcsMTMsLTEsNDQsNjAsMjY0OCwxMiwtNSw1OCw2MCwxOTEyLDUyLDEzLDMzLDEsNywxODY4NywxNCwyNSwwLDI0LDE5MTM1LDUyLDAsNDYsMTQ5LDYxLC0xLDAsMzEsMCwxLDAsNjEsLTEsMiw3LDE4NzA4LDE0LDI1LDAsMjQsMTg3NTIsNTIsMCw0NiwxNTAsNjEsLTEsMCwzMSwxLDEsMiw1MiwwLDEzLDAsNDIsNSw1MiwxLDEzLDAsMTUyLDUyLDIsMTMsMTQ5LDIsNjAsNTI0LDIwLDIsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE4NzUxLDQ3LDYwLDEyLDEyLDEzLDUyLDIsNjAsNjk2NCw4LDEsMiw2MCw2Nzg4LDMyLDYsNTgsNSwxLDcsMTg3NzcsMTQsMjUsMCwyNCwxODgyMSw1MiwwLDQ2LDE1MSw2MSwtMSwwLDMxLDEsMSwyLDUyLDAsMTMsMCw0Miw1LDUyLDEsMTMsMCwxNTEsNTIsMiwxMywxNDksMiw2MCw1MjQsMjAsMiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTg4MjAsNDcsNjAsNjgyMCwxNiwtMyw1MiwyLDYwLDY5NjQsOCwxLDIsNjAsNjc4OCwzMiw2LDU4LDUsMSw2MCwxMDE2LDE2LDEzLDIsNjAsMzY2NCw0MCwtMTQsNTgsNjEsLTEsMyw2MCwxMDE2LDE2LDEzLDIsNjAsMjQsMTYsLTUsNTgsNjEsLTEsNCw3LDE4ODcyLDE0LDI1LDAsMjQsMTg5ODQsNTIsMCw0NiwxNTIsNjEsLTEsMCwzMSwzLDEsMiwzLDQsMTMsLTEsNCwxMywtMSwzLDEzLC0xLDIsNjAsMTAxNiwxNiwxMywyLDUyLDQsMTMsMTQ5LDMsNjAsNDAzNiw4LC00LDU4LDUsMSw2MCw2OTY0LDgsMSwyLDYwLDM4MTIsMTIsLTQsNTgsNjAsNDIyNCwxNiwyMCw1OCw2MCw0MjQ0LDQsNiw1MiwxLDYwLDY5NjQsOCwxLDIsNjAsMzgxMiwxMiwtNCw1OCw2MCwzOTkyLDgsMTQsNTgsNjAsNjE4MCwxMiwyMCw1OCw1LDcsMCw1OCw0OCw1MiwxLDEzLDAsMTUzLDUyLDIsMTMsMTQ5LDIsNjAsNTI0LDIwLDIsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE4OTgzLDQ3LDYwLDEwMTYsMTYsMTMsMiw2MCwzNjY0LDQwLC0xNCwzMywxLDcsMTkwMDIsMTQsMjUsMCwyNCwxOTExNCw1MiwwLDQ2LDE1Myw2MSwtMSwwLDMxLDMsMSwyLDMsNCwxMywtMSw0LDEzLC0xLDMsMTMsLTEsMiw2MCwxMDE2LDE2LDEzLDIsNTIsNCwxMywxNDksNCw2MCw0MDM2LDgsLTQsNTgsNSwxLDYwLDY5NjQsOCwxLDIsNjAsMzgxMiwxMiwtNCw1OCw2MCw0MjI0LDE2LDIwLDU4LDYwLDQyNDQsNCw2LDUyLDEsNjAsNjk2NCw4LDEsMiw2MCwzODEyLDEyLC00LDU4LDYwLDM5OTIsOCwxNCw1OCw2MCw2MTgwLDEyLDIwLDU4LDUsNywwLDU4LDQ4LDUyLDEsMTMsMCwxNTQsNTIsMiwxMywxNDksMiw2MCw1MjQsMjAsMiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTkxMTMsNDcsNjAsMTAxNiwxNiwxMywyLDYwLDI0LDE2LC01LDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTkxMzQsNDcsMTMsLTEsNDQsNjAsMjY0OCwxMiwtNSw1OCw2MCwyMjg0LDQ4LC03LDMzLDEsNjAsMzA0MCwyMCwwLDYxLC0xLDE4Myw3LDE5MTYzLDE0LDI1LDAsMjQsMTkzNjksNTIsMCw0NiwxNTQsNjEsLTEsMCwzMSwwLDEsMCw2MSwtMSwyLDcsMTkxODQsMTQsMjUsMCwyNCwxOTM0MSw1MiwwLDQ2LDE1NSw2MSwtMSwwLDMxLDEsMSwyLDYwLDI2MTYsNCwxMywxMywwLDE4Myw0OCw2MCw0ODkyLDQsMTAsNDgsMTMsLTEsMiw2MCwzMjYwLDI4LC0xOSw1OCw1MiwyLDEzLDAsNDUsNSw2MSwtMSwzLDEzLC0xLDMsNDUsNTMsMjQsMTkyMzcsNTAsMjUsMCwyNCwxOTM0MCwxMywwLDE4Myw1MiwxLDEzLC0xLDMsNjAsNzA2MCwyNCwxMiw1OCw1LDYxLC0xLDQsMTMsLTEsNCw0NSw1MywyNCwxOTI2Niw1MCwyNSwwLDI0LDE5MzQwLDAsNjAsNTI4OCwyNCw0LDU4LDEzLC0xLDQsNTgsNjEsLTEsNSwxMywtMSw1LDQ1LDUzLDI0LDE5MzExLDEzLC0xLDQsNTIsMSwxNyw1LDQxLC0xLDUsMSwxMywtMSw1LDAsNjAsNTI4OCwyNCw0LDU4LDEzLC0xLDQsMzMsMSwxMywtMSw1LDUyLDEsMTMsMCwxNTgsNTIsMiwxMywxNTQsMiw2MCw1MjQsMjAsMiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMTkzNDAsNDcsNjAsMzg4OCw4LDIxLDUyLDIsNjAsMzExMiwyMCwtMTEsMiw2MCw2Nzg4LDMyLDYsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE5MzY4LDQ3LDEzLC0xLDQ0LDYwLDI2NDgsMTIsLTUsNTgsNjAsNTY0OCwzNiwxNywzMywxLDcsMTkzOTAsMTQsMjUsMCwyNCwxOTQ4Myw1MiwwLDQ2LDE1Niw2MSwtMSwwLDMxLDIsMSwyLDMsNTIsMCw2MCw2MDA0LDEyLC0xNiwyLDYwLDU4ODAsOCwxNCw1OCw1LDAsNjAsMjQyMCwxNiw2LDU4LDE5LDYxLC0xLDQsNjAsNDkxMiwxMiwxMCwxMywtMSw0LDAsNjAsNTg4OCwxMiwxMiw1OCwxMywtMSwzLDEzLC0xLDIsNTIsNCw2MCw1NDU2LDQsLTYsNTIsMCwxMywwLDQxLDUsNCwyLDUyLDEsMCw2MCwzNTQwLDY4LC0xOSw1OCw2MCwxMDEyLDQsMjAsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDE5NDgyLDQ3LDEzLC0xLDQ0LDYwLDI2NDgsMTIsLTUsNTgsNjAsNTI0LDIwLDIsMzMsMSw3LDE5NTA0LDE0LDI1LDAsMjQsMTk4NDQsNTIsMCw0NiwxNTcsNjEsLTEsMCwzMSwwLDEsMCw2MSwtMSwyLDcsMTk1MjUsMTQsMjUsMCwyNCwxOTgxNyw1MiwwLDQ2LDE1OCw2MSwtMSwwLDMxLDEsMSwyLDcsMTk1NDMsMTQsMjUsMCwyNCwxOTU2Nyw1MiwwLDQ2LDE1OSw2MSwtMSwwLDMxLDEsMSwyLDEzLC0xLDIsNjAsNDkxMiwxMiwxMCw1OCwyNSwwLDI0LDE5NTY2LDQ3LDUyLDEsMTMsLTEsMiw2MCwxMjkyLDQsLTIsNTgsNSw2MSwtMSwzLDEzLC0xLDMsNTIsMSwxMywwLDM5LDUsNjEsLTEsNCw1MiwwLDYxLC0xLDUsNCwwLDYxLC0xLDYsMTMsLTEsNCw2MCw1MTIsOCwtMSw1OCw2MSwtMSw3LDcsMCw2MSwtMSw4LDEzLC0xLDgsMTMsLTEsNywzOCwyNCwxOTc5MiwxMywtMSw0LDEzLC0xLDgsNTgsNjEsLTEsOSwxMywtMSw5LDcsMSw1OCw0NSwyMiw0NCwyNCwxOTY2NSwxLDEzLC0xLDksNywxLDU4LDcsMCw1OCwzNCw2MCwwLDEyLDcsNTMsNDQsMjQsMTk2OTMsMSwxMywtMSw5LDcsMSw1OCw3LDAsNTgsNTIsMSwxMywtMSw1LDYwLDMyMjAsMTYsMTYsNTgsNSw3LDEsMjYsNTcsMjQsMTk3MTYsMTMsLTEsOSw3LDEsNTgsNywwLDU4LDUyLDEsMTMsLTEsNSw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMTMsLTEsNiwxMywtMSw5LDcsMSw1OCw3LDAsNTgsNTgsNDUsNTMsMjQsMTk3NjAsMTMsLTEsOSw3LDEsNTgsNywwLDU4LDUyLDEsMTcsNSwxMywtMSw2LDEzLC0xLDksNywxLDU4LDcsMCw1OCwzMywxLDEzLC0xLDYsMTMsLTEsOSw3LDEsNTgsNywwLDU4LDU4LDEzLC0xLDksNywxLDU4LDcsMCwzMywxLDM1LC0xLDgsMCwxLDI1LDAsMjQsMTk2MTksNTIsMCwxMywxNTcsMiw2MCw0MjQ4LDEyLC01LDU4LDUsMSwxMywtMSw1LDEzLC0xLDQsNTIsMiwyNSwwLDI0LDE5ODE2LDQ3LDUyLDEsNTIsMCwwLDYwLDM1NDAsNjgsLTE5LDU4LDYwLDIxNzYsMTIsNiw1OCw1LDYwLDE1NjAsOCwyLDU4LDUsMjUsMCwyNCwxOTg0Myw0NywxMywtMSw0NCw2MCwyNjQ4LDEyLC01LDU4LDYwLDY4MzYsMTYsMywzMywxLDcsMTk4NjUsMTQsMjUsMCwyNCwxOTg5NCw1MiwwLDQ2LDE2MCw2MSwtMSwwLDMxLDAsMSw1MiwwLDAsNjAsMzU0MCw2OCwtMTksNTgsNjAsNzQzMiw4LDMsNTgsNSwyNSwwLDI0LDE5ODkzLDQ3LDEzLC0xLDQ0LDYwLDI2NDgsMTIsLTUsNTgsNjAsNDI0OCwxMiwtNSwzMywxLDcsMTYsNjEsLTEsMTg0LDcsMTUwLDcsMWUzLDU1LDYxLC0xLDE4NSw3LDEsNjEsLTEsMTg2LDcsMiw2MSwtMSwxODcsNywzLDYxLC0xLDE4OCw3LDQsNjEsLTEsMTg5LDcsNSw2MSwtMSwxOTAsNyw2LDYxLC0xLDE5MSw3LDcsNjEsLTEsMTkyLDcsOCw2MSwtMSwxOTMsNyw2NCw2MSwtMSwxOTQsNywxNiw2MSwtMSwxOTUsNywxOTk3OCwxNCwyNSwwLDI0LDIwMzkxLDUyLDAsNDYsMTYxLDYxLC0xLDAsMzEsMCwxLDAsNjEsLTEsMiw2MCwzMTEyLDIwLC0xMSwyLDYwLDJlMyw4LDEwLDU4LDQ5LDQ0LDQ5LDI0LDIwMDI0LDEsNjAsMzExMiwyMCwtMTEsMiw2MCwyZTMsOCwxMCw1OCw2MCwxMzIsMTIsMTEsNTgsNDksMjQsMjAwMzEsNTAsMjUsMCwyNCwyMDM5MCw3LDIwMDM4LDE0LDI1LDAsMjQsMjAyMjYsNTIsMCw0NiwxNjIsNjEsLTEsMCwzMSwxLDEsMiw3LDIwMDU2LDE0LDI1LDAsMjQsMjAyMDQsNTIsMCw0NiwxNjMsNjEsLTEsMCwzMSwxLDEsMiwxMywtMSwyLDYwLDE5NjQsOCwyMSw1OCw2MCwzOTU2LDIwLDExLDU3LDI0LDIwMTk0LDEzLC0xLDIsNjAsNTE4OCwzMiwtMjIsNTgsNjEsLTEsMywxMywtMSwzLDYwLDUxMiw4LC0xLDU4LDEzLDAsMTk1LDExLDI0LDIwMTE0LDEzLDAsMTk1LDI1LDAsMjQsMjAxMjIsMTMsLTEsMyw2MCw1MTIsOCwtMSw1OCw2MSwtMSw0LDcsMCw2MSwtMSw1LDEzLC0xLDUsMTMsLTEsNCwzOCwyNCwyMDE5NCwxMywtMSwzLDEzLC0xLDUsNTgsNjEsLTEsNiwxMywtMSw2LDYwLDEzMiwxMiwxMSw1OCw2MCw1NjIwLDgsLTMsMiw2MCw1NDA0LDMyLDE2LDU4LDU3LDI0LDIwMTg1LDEzLC0xLDYsNTIsMSwxMywxNjEsMiw2MCw3MjIwLDExMiwtMjEsNTgsNSwxLDM1LC0xLDUsMCwxLDI1LDAsMjQsMjAxMzAsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjAyMDMsNDcsNTIsMSwxMywtMSwyLDYwLDI4MzYsMTIsMTcsNTgsNSwxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIwMjI1LDQ3LDYxLC0xLDMsNjAsNzU2LDMyLC0yMiwyLDM0LDYwLDcxNDQsMTYsMTAsNTcsNDQsMjQsMjAyNjAsMSw2MCw3NTYsMzIsLTIyLDIsNjAsNDgxMiwxNiwxNiw1OCwzNCw2MCw2ODcyLDE2LC03LDU3LDI0LDIwMjk2LDEzLC0xLDMsNTIsMSw2MCwzNzUyLDI0LC0yLDIsNTIsMiw2MCw3NTYsMzIsLTIyLDIsNjAsNDgxMiwxNiwxNiw1OCw1LDAsNjAsNDQxNiwyMCw3LDMzLDEsMjUsMCwyNCwyMDMxNCwxMywtMSwzLDUyLDEsNjAsMzc1MiwyNCwtMiwyLDI5LDAsNjAsNDQxNiwyMCw3LDMzLDEsMjgsMjAzNjEsNjAsNjY0NCwzNiwtMTksMjUsMSw2MCwzOTU2LDIwLDExLDI1LDEsNCwyLDYwLDMxMTIsMjAsLTExLDIsNjAsMmUzLDgsMTAsNTgsNTIsMiwwLDYwLDQ0MTYsMjAsNyw1OCw2MCwxNDY4LDEyLDE0LDU4LDUsMSw4LDIwMzU3LDI1LDAsMjQsMjAzODEsNjEsLTEsNCwxMywtMSw0LDYwLDYyNjgsNDgsLTQsNTIsMiwzNiw2MCwxMzU2LDc2LC0yMCw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjAzOTAsNDcsMTMsLTEsNDYsNjAsMjY0OCwxMiwtNSw1OCw2MCw0ODI4LDQwLDEzLDMzLDEsNywyMDQxMiwxNCwyNSwwLDI0LDIwNTY0LDUyLDAsNDYsMTY0LDYxLC0xLDAsMzEsMCwxLDQsMCw2MSwtMSwyLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksNTgsNTIsMSw2MCwxMjQ4LDEyLDEyLDIsNjAsNDQ0MCwyNCwtMjAsNTgsNSw2MSwtMSwzLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNjEsLTEsNCw3LDAsNjEsLTEsNSwxMywtMSw1LDEzLC0xLDQsMzgsMjQsMjA1NTYsMTMsLTEsMywxMywtMSw1LDU4LDYxLC0xLDYsMTMsLTEsNiwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYxMjQsMjgsLTE0LDU4LDksMjQsMjA1NDcsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw2MTI0LDI4LC0xNCw1OCwxMywtMSw2LDU4LDYxLC0xLDcsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0NzkyLDEyLC0xOSw1OCwxMywtMSw2LDU4LDEzLC0xLDIsMTMsLTEsNywzMywxLDM1LC0xLDUsMCwxLDI1LDAsMjQsMjA0NzAsMTMsLTEsMiwyNSwwLDI0LDIwNTYzLDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsNzAxNiw0NCwxMiwzMywxLDcsMjA1ODUsMTQsMjUsMCwyNCwyMDgxNSw1MiwwLDQ2LDE2NSw2MSwtMSwwLDMxLDEsMSwyLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksNTgsNDksMjQsMjA2MjQsNCwwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksMzMsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYxMjQsMjgsLTE0LDU4LDQ5LDI0LDIwNjY2LDQsMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYxMjQsMjgsLTE0LDMzLDEsNywwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMTU3NiwyOCw2LDMzLDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwxNTc2LDI4LDYsNTgsMTMsMCwxOTQsMjMsMjQsMjA2ODgsNTAsMjUsMCwyNCwyMDgxNCwxMywtMSwyLDYwLDI2OTIsOTYsLTIyLDU4LDM0LDYwLDY4NzIsMTYsLTcsNTcsMjQsMjA3MjcsNjAsNjc0MCw0OCwxLDUyLDEsMTMsLTEsMiw2MCwyNjkyLDk2LC0yMiw1OCw1LDQxLC0xLDMsMSwyNSwwLDI0LDIwNzMzLDUyLDAsNDEsLTEsMywxLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNjEsLTEsNCw3LDAsNjEsLTEsNSwxMywtMSw1LDEzLC0xLDQsMzgsMjQsMjA4MDUsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwxNTc2LDI4LDYsNTgsMTMsMCwxOTQsMjMsMjQsMjA3NzksMjUsMCwyNCwyMDgwNSwxMywtMSwzLDEzLC0xLDUsNTgsNTIsMSwwLDYwLDE4MzYsMjAsLTUsNTgsNSwxLDM1LC0xLDUsMCwxLDI1LDAsMjQsMjA3NDksNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjA4MTQsNDcsMTMsLTEsNDYsNjAsMjY0OCwxMiwtNSw1OCw2MCw3MjIwLDExMiwtMjEsMzMsMSw3LDIwODM2LDE0LDI1LDAsMjQsMjA5ODEsNTIsMCw0NiwxNjYsNjEsLTEsMCwzMSwxLDEsMiwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDE1NzYsMjgsNiw1OCwxMywwLDE5NCwyMywyNCwyMDg2OSw1MCwyNSwwLDI0LDIwOTgwLDEzLC0xLDIsNTIsMSwxMywwLDE0LDUsNjEsLTEsMywxMywtMSwzLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksNTgsOSw0OSwyNCwyMDk3MSwxMywtMSwyLDUyLDEsMTMsMCwxNyw1LDYxLC0xLDQsMTMsLTEsNCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDQ3OTIsMTIsLTE5LDU4LDEzLC0xLDMsMzMsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDE1NzYsMjgsNiw1OCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYxMjQsMjgsLTE0LDU4LDEzLC0xLDMsMzMsMSw3LDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwxNTc2LDI4LDYsMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIwOTgwLDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsMTgzNiwyMCwtNSwzMywxLDcsMjEwMDIsMTQsMjUsMCwyNCwyMTg0Niw1MiwwLDQ2LDE2Nyw2MSwtMSwwLDMxLDEsMSwyLDEzLC0xLDIsNDQsNDksMjQsMjEwMjMsMSw0LDAsNDEsLTEsMiwxLDEzLC0xLDIsMTMsMCwxOTMsNTgsMjUsMSw1Nyw0NCwyNCwyMTA1MSwxLDAsNjAsMjEwNCwzNiwtMTQsNTgsNywwLDM5LDU3LDI0LDIxMDY4LDI1LDEsNTIsMSwxMywwLDQ0LDI5LDAsNjAsMjEwNCwzNiwtMTQsMzMsMSw0LDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMywzMywxLDEzLC0xLDIsMTMsMCwxODYsNTgsMjUsMCwzMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg2LDMzLDEsMTMsLTEsMiwxMywwLDE4Nyw1OCwyNSwwLDMwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxODcsMzMsMSwxMywtMSwyLDEzLDAsMTg4LDU4LDI1LDAsMzAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywwLDE4OCwzMywxLDEzLC0xLDIsMTMsMCwxODksNTgsMjUsMCwzMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI3MiwxMiwzLDU4LDEzLDAsMTg5LDMzLDEsMTMsLTEsMiwxMywwLDE5MCw1OCwyNSwwLDMwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsMCwxOTAsMzMsMSwxMywtMSwyLDEzLDAsMTkxLDU4LDI1LDAsMzAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywwLDE5MSwzMywxLDEzLC0xLDIsMTMsMCwxOTIsNTgsNTIsMSw2MCw1MDIwLDI4LC0xNywyLDUsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywwLDE5MiwzMywxLDEzLC0xLDIsMTMsMCwxOTMsNTgsNTIsMSw2MCw1MDIwLDI4LC0xNywyLDUsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCwyNzIsMTIsMyw1OCwxMywwLDE5MywzMywxLDUyLDAsNjAsNjAwNCwxMiwtMTYsMiw2MCw1ODgwLDgsMTQsNTgsNSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDk0MCwxNiwxNiwzMywxLDUyLDAsMCw2MCw0ODI4LDQwLDEzLDU4LDUsMSw2MCwzMTEyLDIwLC0xMSwyLDYwLDJlMyw4LDEwLDU4LDUyLDEsMCw2MCw3MjIwLDExMiwtMjEsNTgsNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjQwNCwxNiwxNSw1OCwyNSwwLDU3LDI0LDIxNzg1LDYwLDMxMTIsMjAsLTExLDIsNjAsMmUzLDgsMTAsNTgsNTIsMSwxMCwyOSw2MSwtMSwzLDEzLDAsMTY0LDYwLDQ4OTYsOCwxMiwxMywwLDE5MSw1MiwzLDEzLDAsMTY0LDYwLDM4OTYsOCwxMSwxMywwLDE5MSw1MiwzLDEzLDAsMTY1LDYwLDMxMDQsOCwxNSwxMywwLDE5MCw1MiwzLDEzLDAsMTYzLDYwLDUxNzIsMTYsLTIsMTMsMCwxODksNTIsMywxMywwLDE2Myw2MCw2NTc2LDE2LDQsMTMsMCwxODksNTIsMywxMywwLDE2Myw2MCwxMjI0LDgsLTYsMTMsMCwxODksNTIsMywxMywwLDE2Myw2MCw1NjkyLDgsLTMsMTMsMCwxODksNTIsMywxMywwLDE2MSw2MCw1MzkyLDEyLDIsMTMsMCwxODgsNTIsMywxMywwLDE2MSw2MCw0NjA0LDU2LC0yMSwxMywwLDE4OCw1MiwzLDEzLDAsMTYxLDYwLDUxMzIsMTYsMCwxMywwLDE4OCw1MiwzLDEzLDAsMTYyLDYwLDg5NiwyNCwtOSwxMywwLDE4Nyw1MiwzLDEzLDAsMTYyLDYwLDYyMDAsMTIsNywxMywwLDE4Nyw1MiwzLDEzLDAsMTYwLDYwLDQ0MDQsMTIsMCwxMywwLDE4Niw1MiwzLDEzLDAsMTYwLDYwLDU1MjgsNTIsLTIyLDEzLDAsMTg2LDUyLDMsMTMsMCwxNTksNjAsNDE2NCwyMCwxMywxMywwLDE4Niw1MiwzLDEzLDAsMTYwLDYwLDI2NjAsMTYsLTQsMTMsMCwxODYsNTIsMywxMywwLDE2Niw2MCw2NzA0LDE2LC02LDEzLDAsMTg2LDUyLDMsMTMsMCwxNjYsNjAsNDM3MiwyOCwxNywxMywwLDE4Niw1MiwzLDEzLDAsMTY2LDYwLDE0NTIsMTYsMywxMywwLDE4Niw1MiwzLDUyLDE5LDYxLC0xLDQsMTMsLTEsNCw2MCw1MTIsOCwtMSw1OCw2MSwtMSw1LDcsMCw2MSwtMSw2LDEzLC0xLDYsMTMsLTEsNSwzOCwyNCwyMTc3MSwxMywtMSw0LDEzLC0xLDYsNTgsNjEsLTEsNywxMywtMSw3LDcsMSw1OCw2MSwtMSw4LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsMTMsLTEsNyw3LDAsNTgsNTgsMjUsMSw1NywyNCwyMTc2MiwwLDYwLDUyNCwyMCwyLDU4LDEzLC0xLDgsNTIsMiwxMywtMSw3LDcsMiw1OCw1LDYxLC0xLDksMjUsMSwxMywtMSw5LDEzLC0xLDgsNTIsMywxMywtMSwzLDYwLDY3ODgsMzIsNiw1OCw1LDEsMjUsMSwxMywtMSw5LDEzLC0xLDgsMTMsLTEsMyw1Miw0LDUyLDEsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw1ODgsMzIsMjAsNTgsNjAsMTk3MiwyOCwtMTYsNTgsNSwxLDM1LC0xLDYsMCwxLDI1LDAsMjQsMjE2MzcsMjUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDI0MDQsMTYsMTUsMzMsMSwyNSwxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNjI0NCwyNCw5LDMzLDEsMCw2MCwyMTA0LDM2LC0xNCw1OCwyNCwyMTgzNiwyOCwyMTgzMywxMywtMSwyLDUyLDEsMCw2MCwyMTA0LDM2LC0xNCw1OCw2MCwyNzIsMTIsMyw1OCw1LDEsOCwyMTgyOSwyNSwwLDI0LDIxODM2LDYxLC0xLDEwLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIxODQ1LDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsMjcyLDEyLDMsMzMsMSw3LDIxODY3LDE0LDI1LDAsMjQsMjIwNjYsNTIsMCw0NiwxNjgsNjEsLTEsMCwzMSwwLDEsMCw2MCw0NDE2LDIwLDcsNTgsMjQsMjE5MDAsNTIsMCwwLDYwLDQ0MTYsMjAsNyw1OCw2MCwxNjQ4LDI0LDE3LDU4LDUsMSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDU4OCwzMiwyMCw1OCwyNCwyMjA0MiwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDU4OCwzMiwyMCw1OCw2MSwtMSwyLDcsMCw2MSwtMSwzLDEzLC0xLDMsMTMsLTEsMiw2MCw1MTIsOCwtMSw1OCwzOCwyNCwyMjAyOCwxMywtMSwyLDEzLC0xLDMsNTgsNywwLDU4LDYxLC0xLDQsMTMsLTEsMiwxMywtMSwzLDU4LDcsMSw1OCw2MSwtMSw1LDEzLC0xLDIsMTMsLTEsMyw1OCw3LDIsNTgsNjEsLTEsNiwxMywtMSwyLDEzLC0xLDMsNTgsNywzLDU4LDYxLC0xLDcsMTMsLTEsNywxMywtMSw2LDEzLC0xLDUsNTIsMywxMywtMSw0LDYwLDQ1MjQsODAsLTE2LDU4LDUsMSwzNSwtMSwzLDAsMSwyNSwwLDI0LDIxOTMyLDUyLDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw1ODgsMzIsMjAsMzMsMSwyNSwwLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNjI0NCwyNCw5LDMzLDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjIwNjUsNDcsMTMsLTEsNDYsNjAsMjY0OCwxMiwtNSw1OCw2MCwxNjM2LDgsMTEsMzMsMSw3LDIyMDg3LDE0LDI1LDAsMjQsMjI0MDMsNTIsMCw0NiwxNjksNjEsLTEsMCwzMSwwLDEsNCwwLDYxLC0xLDIsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0MDY4LDI0LDExLDU4LDUyLDEsNjAsMTI0OCwxMiwxMiwyLDYwLDQ0NDAsMjQsLTIwLDU4LDUsNjEsLTEsMywxMywtMSwzLDYwLDUxMiw4LC0xLDU4LDYxLC0xLDQsNywwLDYxLC0xLDUsMTMsLTEsNSwxMywtMSw0LDM4LDI0LDIyMjA0LDEzLC0xLDMsMTMsLTEsNSw1OCw2MSwtMSw2LDUyLDAsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw0MDY4LDI0LDExLDU4LDEzLC0xLDYsNTgsNjAsNjgzNiwxNiwzLDU4LDUsMTMsLTEsMiwxMywtMSw2LDMzLDEsMzUsLTEsNSwwLDEsMjUsMCwyNCwyMjE0NSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDk0MCwxNiwxNiw1OCw1MiwwLDAsNjAsNzAxNiw0NCwxMiw1OCw1LDEzLC0xLDIsNTIsMCwwLDYwLDU3MjgsNDgsMTcsNTgsNSw1Miw0LDYxLC0xLDcsMCw2MCwyMTA0LDM2LC0xNCw1OCwyNCwyMjM4MiwyOCwyMjM3OSw3LDIyMjU4LDE0LDI1LDAsMjQsMjIyNzcsNTIsMCw0NiwxNzAsNjEsLTEsMCwzMSwxLDEsMiwxMywxNjksNywyNSwwLDI0LDIyMjc2LDQ3LDUyLDEsNywyMjI4NiwxNCwyNSwwLDI0LDIyMzQxLDUyLDAsNDYsMTcxLDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiw3LDAsNTgsNTIsMSwxMywxNjksNyw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMTMsLTEsMiw3LDEsNTgsNTIsMSwxMywxNjksNyw2MCwxOTcyLDI4LC0xNiw1OCw1LDEsMTMsMTY5LDcsMjUsMCwyNCwyMjM0MCw0Nyw1MiwxLDUyLDAsMCw2MCwyMTA0LDM2LC0xNCw1OCw2MCw2ODM2LDE2LDMsNTgsNSw2MCwxNTYwLDgsMiw1OCw1LDYwLDY1MzIsMTIsNCw1OCw1LDI1LDAsMjQsMjI0MDIsOCwyMjM3NSwyNSwwLDI0LDIyMzgyLDYxLC0xLDgsMTMsLTEsNyw1MiwxLDYwLDY0MjQsMTIsLTcsMiw2MCw1OTQwLDEyLDQsNTgsNSwyNSwwLDI0LDIyNDAyLDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsNjgzNiwxNiwzLDMzLDEsNywyMjQyNCwxNCwyNSwwLDI0LDIyNDYwLDUyLDAsNDYsMTcyLDYxLC0xLDAsMzEsMiwxLDIsMywxMywtMSwzLDAsNjAsMjU4OCwyNCwtMTIsNTgsMTMsLTEsMiwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIyNDU5LDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsNTcwMCwxMiwxMiwzMywxLDcsMjI0ODEsMTQsMjUsMCwyNCwyMjUyNCw1MiwwLDQ2LDE3Myw2MSwtMSwwLDMxLDAsMSw0LDAsMCw2MCwyNTg4LDI0LC0xMiwzMywxLDQsMCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDQwNjgsMjQsMTEsMzMsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwyMjUyMyw0NywxMywtMSw0Niw2MCwyNjQ4LDEyLC01LDU4LDYwLDQyNDgsMTIsLTUsMzMsMSw3LDIyNTQ1LDE0LDI1LDAsMjQsMjI5OTIsNTIsMCw0NiwxNzQsNjEsLTEsMCwzMSwyLDEsMiwzLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNjI0NCwyNCw5LDU4LDI1LDAsNTcsMjQsMjI1NzgsNTAsMjUsMCwyNCwyMjk5MSwyOCwyMjk2Miw3LDEwLDEzLC0xLDIsNTIsMiw2MCw4MzIsNDgsLTIxLDIsNSw0MSwtMSwyLDEsMTMsLTEsMyw2MCw1MTIsOCwtMSw1OCw3LDEsMTksNjEsLTEsNCwxMywtMSwzLDEzLC0xLDQsNTgsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw5NDAsMTYsMTYsNTgsMTksNjEsLTEsNSwxMywtMSwzLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNywyLDE5LDU4LDYxLC0xLDYsMTMsLTEsMiwxMywwLDEzOSwyMyw0NCwyNCwyMjY2OSwxLDEzLC0xLDIsMTMsMCwxNDAsMzgsMjQsMjI3MjksMTMsLTEsMyw3LDIsNTgsNjEsLTEsNywxMywtMSw3LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksNTgsMTMsLTEsNiwzMywxLDEzLC0xLDMsNyw0LDU4LDEzLC0xLDMsNywzLDU4LDEzLC0xLDMsNywxLDU4LDEzLC0xLDMsNywwLDU4LDUyLDQsNDEsLTEsMywxLDEzLC0xLDMsNjAsNTEyLDgsLTEsNTgsNywxLDE5LDQxLC0xLDQsMSwxMywtMSwzLDEzLC0xLDQsNTgsMCw2MCwzNzA0LDI0LC0xMiw1OCw2MCw5NDAsMTYsMTYsNTgsMTksMTMsLTEsMywxMywtMSw0LDMzLDEsMTMsLTEsMyw2MCw1MTIsOCwtMSw1OCw3LDIsMTksNjEsLTEsOCwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDYxMjQsMjgsLTE0LDU4LDEzLC0xLDYsNTgsNjEsLTEsOSwxMywtMSw5LDEzLC0xLDMsMTMsLTEsOCwzMywxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDc5MiwxMiwtMTksNTgsMTMsLTEsNiw1OCw2MSwtMSwxMCwxMywtMSwxMCw0OSwyNCwyMjg0Myw1MCwyNSwwLDI0LDIyOTkxLDEzLC0xLDEwLDcsMCw1OCw2MSwtMSwxMSwxMywtMSwxMSwxMywwLDEyNCw1NywyNCwyMjg2Niw1MCwyNSwwLDI0LDIyOTkxLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSwyLDU4LDQ5LDI0LDIyOTI2LDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsOTQwLDE2LDE2LDU4LDEzLDAsMTg1LDEzLDAsMTg0LDUyLDMsMzYsNjAsMzIzNiwyNCwyMSw1OCwyOSwwLDYwLDM3MDQsMjQsLTEyLDU4LDYwLDQwNjgsMjQsMTEsNTgsMTMsLTEsMiwzMywxLDEzLC0xLDMsMTMsLTEsNSw1MiwyLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsNDA2OCwyNCwxMSw1OCwxMywtMSwyLDU4LDYwLDE5NzIsMjgsLTE2LDU4LDUsMSw4LDIyOTU4LDI1LDAsMjQsMjI5ODIsNjEsLTEsMTIsMTMsLTEsMTIsNjAsNDY2NCwxNiwtMTEsNTIsMiwzNiw2MCwxMzU2LDc2LC0yMCw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjI5OTEsNDcsMTMsLTEsNDYsNjAsMjY0OCwxMiwtNSw1OCw2MCw1MjQsMjAsMiwzMywxLDcsMjMwMTMsMTQsMjUsMCwyNCwyMzA1MSw1MiwwLDQ2LDE3NSw2MSwtMSwwLDMxLDIsMSwyLDMsMTMsLTEsMywxMywtMSwyLDUyLDIsMCw2MCw1MjQsMjAsMiw1OCw1LDEsNjAsMzI5MiwxNiwtOCwyLDI1LDAsMjQsMjMwNTAsNDcsMTMsLTEsNDYsNjAsMjY0OCwxMiwtNSw1OCw2MCw2NDA0LDIwLDE5LDMzLDEsNywyMzA3MiwxNCwyNSwwLDI0LDIzMjUzLDUyLDAsNDYsMTc2LDYxLC0xLDAsMzEsMCwxLDcsMCw2MSwtMSwyLDAsNjAsMzcwNCwyNCwtMTIsNTgsNjAsMjcyLDEyLDMsNTgsNjEsLTEsMywxMywtMSwzLDEzLDAsMTg2LDU4LDI0LDIzMTE5LDcsMSw3LDAsMTYsNTEsLTEsMiwxLDEzLC0xLDMsMTMsMCwxODcsNTgsMjQsMjMxMzcsNywxLDcsMSwxNiw1MSwtMSwyLDEsMTMsLTEsMywxMywwLDE4OCw1OCwyNCwyMzE1NSw3LDEsNywyLDE2LDUxLC0xLDIsMSwxMywtMSwzLDEzLDAsMTg5LDU4LDI0LDIzMTczLDcsMSw3LDMsMTYsNTEsLTEsMiwxLDEzLC0xLDMsMTMsMCwxOTAsNTgsMjQsMjMxOTEsNywxLDcsNCwxNiw1MSwtMSwyLDEsMTMsLTEsMywxMywwLDE5MSw1OCwyNCwyMzIwOSw3LDEsNyw1LDE2LDUxLC0xLDIsMSwxMywtMSwzLDEzLDAsMTkyLDU4LDI0LDIzMjI3LDcsMSw3LDYsMTYsNTEsLTEsMiwxLDEzLC0xLDMsMTMsMCwxOTMsNTgsMjQsMjMyNDUsNywxLDcsNywxNiw1MSwtMSwyLDEsMTMsLTEsMiwyNSwwLDI0LDIzMjUyLDQ3LDEzLC0xLDQ2LDYwLDI2NDgsMTIsLTUsNTgsNjAsNTcyOCw0OCwxNywzMywxLDUyLDAsMTMsLTEsNDYsMjksNjEsLTEsMTk2LDcsMjMyODMsMTQsMjUsMCwyNCwyMzMxMyw1MiwwLDQ2LDE3Nyw2MSwtMSwwLDMxLDAsMSw3LDAsMzksMCw2MCw2MzE2LDEyLDYsMzMsMSw2MCwzMjkyLDE2LC04LDIsMjUsMCwyNCwyMzMxMiw0NywxMywtMSw0Nyw2MCwyNjQ4LDEyLC01LDU4LDYwLDQ2ODAsMjgsLTE0LDMzLDEsNywyMzMzNCwxNCwyNSwwLDI0LDIzMzY1LDUyLDAsNDYsMTc4LDYxLC0xLDAsMzEsMSwxLDIsMTMsLTEsMiwwLDYwLDYzMTYsMTIsNiwzMywxLDYwLDMyOTIsMTYsLTgsMiwyNSwwLDI0LDIzMzY0LDQ3LDEzLC0xLDQ3LDYwLDI2NDgsMTIsLTUsNTgsNjAsMTEyLDIwLDE4LDMzLDEsNywyMzM4NiwxNCwyNSwwLDI0LDIzNDA3LDUyLDAsNDYsMTc5LDYxLC0xLDAsMzEsMCwxLDAsNjAsNjMxNiwxMiw2LDU4LDI1LDAsMjQsMjM0MDYsNDcsMTMsLTEsNDcsNjAsMjY0OCwxMiwtNSw1OCw2MCw2ODM2LDE2LDMsMzMsMSwxMywtMSw0Nyw2MSwtMSwxOTcsNTIsMCwxMywtMSwxOTcsMjksNjEsLTEsMTk4LDcsMjM0NDMsMTQsMjUsMCwyNCwyMzcxNSw1MiwwLDQ2LDE4MCwxLDMxLDIsMCwxLDIsMTMsLTEsMiw3LDAsMzksNTcsMjQsMjM0NjgsNywwLDQxLC0xLDIsMSw3LDM3MzU5Mjg1NTksMTMsLTEsMiwxMiw2MSwtMSwzLDcsMTEwMzU0Nzk5MSwxMywtMSwyLDEyLDYxLC0xLDQsNjAsNDkwNCw4LDIwLDIsNjAsNTMxMiwxMiwxNSw1OCw2MSwtMSw1LDEzLC0xLDEsNTIsMSwxMywtMSwxLDYwLDYwMTYsMTYsMTYsNTgsNjAsNTg3Miw4LC05LDU4LDUsNjEsLTEsNiwxMywtMSwxLDYwLDUxMiw4LC0xLDU4LDYxLC0xLDcsNywwLDYxLC0xLDgsMTMsLTEsOCwxMywtMSw3LDM4LDI0LDIzNjA2LDEzLC0xLDgsNTIsMSwxMywtMSw2LDUsNDEsLTEsOSwxLDcsMjY1NDQzNTc2MSwxMywtMSwzLDEzLC0xLDksMTIsNTIsMiwxMywtMSw1LDUsNDEsLTEsMywxLDcsMTU5NzMzNDY3NywxMywtMSw0LDEzLC0xLDksMTIsNTIsMiwxMywtMSw1LDUsNDEsLTEsNCwxLDM1LC0xLDgsMCwxLDI1LDAsMjQsMjM1MzcsNywyMjQ2ODIyNTA3LDEzLC0xLDMsMTMsLTEsMyw3LDE2LDE1LDEyLDUyLDIsMTMsLTEsNSw1LDQxLC0xLDMsMSw3LDMyNjY0ODk5MDksMTMsLTEsNCwxMywtMSw0LDcsMTMsMTUsMTIsNTIsMiwxMywtMSw1LDUsNDAsLTEsMywxLDcsMjI0NjgyMjUwNywxMywtMSw0LDEzLC0xLDQsNywxNiwxNSwxMiw1MiwyLDEzLC0xLDUsNSw0MSwtMSw0LDEsNywzMjY2NDg5OTA5LDEzLC0xLDMsMTMsLTEsMyw3LDEzLDE1LDEyLDUyLDIsMTMsLTEsNSw1LDQwLC0xLDQsMSw3LDQyOTQ5NjcyOTYsNywyMDk3MTUxLDEzLC0xLDQsNDIsNTUsMTMsLTEsMyw3LDAsMTUsNDgsMjUsMCwyNCwyMzcxNCw0Nyw2MSwtMSwxOTksNjAsMzMwOCwyMzIsLTMsNTIsMCwxMywtMSw1NSw1LDcsMSwyNiw3LDEsMjYsNywxLDI2LDcsMSwyNiw1MiwwLDEzLC0xLDUwLDUsNTIsMCwxMywtMSw0OSw1LDUyLDgsNjEsLTEsMjAwLDQ1LDcsMjM3NjUsMTQsMjUsMCwyNCwyMzc4MCw1MiwwLDQ2LDE4MSwxLDMxLDAsMCw1MiwwLDEzLDAsNTQsNSw0Nyw3LDIzNzg3LDE0LDI1LDAsMjQsMjM4MDIsNTIsMCw0NiwxODIsMSwzMSwwLDAsNTIsMCwxMywwLDUzLDUsNDcsNywyMzgwOSwxNCwyNSwwLDI0LDIzODI0LDUyLDAsNDYsMTgzLDEsMzEsMCwwLDUyLDAsMTMsMCw1Miw1LDQ3LDcsMjM4MzEsMTQsMjUsMCwyNCwyMzg0Niw1MiwwLDQ2LDE4NCwxLDMxLDAsMCw1MiwwLDEzLDAsNTEsNSw0Nyw0NSw0NSw1Miw3LDYxLC0xLDIwMSw0LDAsNywwLDM5LDUyLDAsNTIsMyw2MSwtMSwyMDIsNDUsNjEsLTEsMjAzLDYwLDQzMTIsMjQsMSw2MCw1OTg0LDIwLDcsNjAsNjAsMTIsLTEsNjAsNzM3MiwyNCwxOCw2MCwyMjAwLDIwLDYsNjAsNDYwLDEyLC0xNiw2MCwzNzI4LDIwLC0xMyw2MCwxNTM2LDI0LDUsNTIsOCw2MSwtMSwyMDQsNTIsMCw2MSwtMSwyMDUsMTMsLTEsMTk4LDYwLDE5MDAsNCwyLDYsMTMsLTEsMTk2LDYwLDI1ODQsNCwwLDYsMTMsLTEsNjgsNjAsMTg3NiwyNCw5LDYsMTMsLTEsNjksNjAsNzUyLDQsLTcsNiwxMywtMSwxMTMsNjAsMTc1Miw0LC05LDYsMTMsLTEsNjgsNjAsNDg4NCw4LC0xOSw2LDEzLC0xLDcwLDYwLDY0NDgsMTYsLTE1LDYsMTMsLTEsNzEsNjAsNjY4LDgsMTcsNl0sX2lyWWhyNHlVQjphdG9iKCJZa2N4Y2xsdFkyeE9ha0U5V1RKS2FscHRaRlZhTVdjOVpESndNV05YV205aGJHZzFXbTVzY1ZkWFNXeE9WVlZzVGxWUlBWb3lVak5hUkVFOVQxUkZNMXBFU201YWVsRTlWVEZaUFdFek5YaGxRMVV6VVcweGQxWlliMnhPVlU0clNsUmtRMk16TlhoS1ZHUkhTbFJrUjFsWFNXeE9WVkZzVG1wQ1ZFMXJPV2xVZHowOVdUSlNXbGRyYkhWYVZtODlZM2M5UFVwM1BUMUtWVTE1U2xSbk5VcFZUWGxLVkdkNFNsVk5lVXBVYUVOS1ZVMTVTbFJuZVZGcFZrUk5hVlUwVGpOd05FcFZUWGxLVkdoRFVXNXZiRkY2U1d4UFJHTnNVWHBKYkU5RVkyeFJla2xzVDBSUmJGRjZTV3hQUkdNOVZVTlZNVkV4VmxWVldGbzBTbFJrUlVwVVpFUlVXRkowWkZjeE1rcFVaRVJpTWtsc1RtcENjMkl5UlQxa2VWVXpVa05XUkUxcFZUUk9ibVJYU2xWTmVVcFVaelZsYm5CclNsVk5lVXBVWnpWS1ZVMTVTbFJuTTBwVVpFUmFXR3cyWkZob2JtSlhkRkpoZVZVelVtYzlQVXBWVFhsS1ZHZDNTbFZOZVVwVVozbGtVMVpFVFdsVk5FMTVWa1JOYVZVMFRYbFdSRTFwVlRST1UxWkVUV2xWTkUxdVZUMWxRMVpFVFdsVk5FMXNRV3hSZWtsc1QwUkZiRkY2U1d4UFJFWjNTbFZOZVVwVVp6UmtTR3RzVVhwSmJFOUVUbmhqYVZVelVUTldNR1JZVGtkUk1HUkdVa1ZaUFZsV1dtcFdlVlV5VFVkTmJFNVZWbE5ZTVZKWFNsUk9Sa3BVVmtSaE1qVklZV2xWTVZKWFdUMWlWMXAyWVVoV2NHUkJQVDFLVkZaRlkwZE9hR0pZUW1sUk0xSnFZa2hKUFdSSWIyeFJla2xzVDBST05FcFZUWGxLVkdjelNsVk5lVXBVYUVaS1ZVMTVTbFJuTVVwVlRYbEtWR2MxVlZab1VsZFdSbUZLVkZsM1QwWldaa3BVV1hkVlZuQlNTbFJXUmxoM1BUMUtWVTE1U2xSbk5HUXphMnhPTUVrOVlsaEdNR016V2pSVU1tdHNUakJSUFVwVlRYbEtWR2Q0Wm1sVk0xRnVVVDFaYlU1UldWZE5QV05YYkhkaU1sazlZa2hvTVdNd2JIVmFNMmhLWkZkd2NtRkhjRmhoUjJ4dVNsUldSbGw1VlRGUmR6MDlTbFZOZVVwVVp6UmxRMVpFVFdsVk5FNHpjRFpLVlUxNVNsUm5lbUpuUFQxaGR6MDlZVU5WTTFGcFZUTlJlVlpFVFdsVk5FMXBWVE5SYm10c1VYcEpiRTlGUlQxaGJWSTBXbGRrZEdGNVZURlNRVDA5Vm13NVZVcFVXWGRXVmxrOVkxaENjV0l6Vm0xak1IQnNZbTVLTWtwVlRYbEtWR2N4WkdsV1JFMXBWVFJPZVZaRVRXbFZORTlJYjJ4T1ZWVnNVWHBKYkU5RVRXeFJla2xzVDBSclBWWldRazlLVkZaRldWWkNWbFJuUFQxa1J6UnNVWHBKYkU5RVNuUmxRMVpFVFdsVk5FMUlZejFLVlUxNVNsUm5NMk5UVmtSTmFWVTBUVzQwUFZsc1ZsUllNa3BWVWtacmJFNVZVbFpoTWtVOVNsVk5lVXBVWnpSS1ZHUkRTbFZOZVVwVVozZEtWR1JEWlZOV1JFMXBWVFJSVVQwOVl6SldNRlpIYkhSYVZ6a3haRUU5UFZSV1FsRktWRlpEU2xSV1JGcHRaR2xhVjNjOVlWaE9iVnAzUFQxWmJGWm9XbFpzYVZaV1VUMWFiazA5U2xSa1EySllVblJoZVZVelVUTkdNMlJyTVRKaVFUMDlTbFZOZVVwVVozbGtVMVpFVFdsVk5FMVRWa1JOYVZVMFRsaFZiRkY2U1d4UFJFMXNVWHBKYkU5RVVscGtRMVV6VVROV1ZHTlRWVE5SZVZVelVUTktlR041VlROUlp6MDlVVEpTY2xwSVRtdGtNMHAzU2xSa1IySnBWa1JOYVZVMFRraHNkV1JCUFQxV1JrcG1Wa1paYkU1VlVXeE5NRVpXU2xSV1JWWnFVbE5LVkZaRlNsUldSVlV4U2xWS1ZGWkVZVWhKYkU0d1NqUlRRekJzVGxWS1QxZHNTWEZLVkVKSFVURlpiRTVWVmxwV01tYzlTbFJXUkVwVVZrWktWRlpHU2xSWmQxcDVWVEpOUnpCc1RsVk9kbHBIY0hCaU1rNTVXVlpzYmxveFZXeE9WVXBhU2xWTmVVcFVaM2hrUTFVelVUTTBiRkY2U1d4UFJGWXdWME5XUkUxcFZUUk5NMUZzVGpCTlBXRllUazlaVlRROVNsVk5lVXBVWnpObFUxWkVUV2xWTkUxcFZrUk5hVlUwVDBOV1JFMXBWVFJPYVZaRVRXbFZORkpHYTJ4UmVrbHNUMFJaYkZGNlNXeFBSRmxzVVhwSmJFOUVUV3hSZWtsc1QwUlpQVXBWVFhsS1ZHZDVaRk5XUkUxcFZUUk5XR3M5WWxkNGJXRXpSbWxpTWtaelpFZHpQVmxXVW14V01sSnZWbmM5UFdOcFZrUk5hVlUwVFROSmJFNHdTV3hSZWtsc1QwUkdVVXBVWkVSS1ZHUkVTbFJrUjJOVFZrUk5hVlUwVFVFOVBXSlRWVEZSTTBrOVNsUktSMDFUTkd4T1ZWRXdTbFJLUkUxcFZUSk5RVDA5WTIxYWFtSkJQVDFWVTFVeVRVWnJQVXBVV1hkYU1XeHBTbFJXUTJKWFNscFpNbWRzVGxWV1ptTm5QVDFXVjFsc1RsVkthMWRzT1d0S1ZGWkZVbTFvYkZreE9YQktWRlpEWVZFOVBXRkhiR3RhVVQwOVZWWTRQVlV4YUdsVmFWVXhVbE5WTVZKRFZURlNSbEpUV1hjOVBWbFhjR1pqV0VVOVptMDVNa3BWVFhsS1ZHZDVaV2xXUkUxcFZUUk9RMVV6VVdsVmVsRnBWa1JOYVZVMFRWaHJiRTB3U1d4T01FMXNVWHBKYkU5RVRqWmxaejA5WkZkS2IxUXlTblZhWnowOVpHYzlQV1p1YkZkbFUxWkVUV2xWTkUxWE9HeE9NRTVPWVhsVk0xSkhPRDFKVm5CdFdIbFZNVkpUUmxWWlZscHlWbWxWTVZGdFRUMVZlVlV5VFVOVk1rMURWVEZTUmxwVFdIYzlQVXBVVmtSVlZtYzlXbTFzY0ZNelVqTmphM0I0WVc1S2NXTXphejFLVkZsM1ZUQTVVMHBVVGtWS1ZGWkVWMjFqUFZkdFdtcFplVlV4VVRGd2NsUlhVV3hOTUVwWllURm5QVmgzUFQxbGJrNTNZVzEzUFZWc1dteFhSbEp1VjBWcmJFNVZUbTFLVkZaRVZsTlZNVkV4T0d4T1ZVNXVZa05WZWxKcFZURlJNbHB1VjBkR1dWcFhXVDFZTWxGc1RsVktVVXBWVFhsS1ZHZDNTbFZOZVVwVVp6RktWVTE1U2xSbmVtVkJQVDFYUjFaaFluYzlQV1J0WkRGa1p6MDlWMGRzV1ZsWFl6MUtWR1JEWlZOV1JFMXBWVFJQUm10c1VYcEpiRTlFU1d4UmVrbHNUMFJuYkZGNlNXeFBSRmxzVGpCU05VcFZUWGxLVkdjelZtbFdSRTFwVlRSU1IyZHNVWHBKYkU5RlVXeFJla2xzVDBSU05VcFVaRVJpZVZaRVRXbFZORTVJWkRGaWVWWkVUV2xWTkUxdVkyeE9NRkZzVGpCTlBWUXhVbEpVTVdSUFNsUldRMXBCUFQxYVZtUlVXa1pXWVVwVlRYbEtWR2QzWTFFOVBXSkdPR3hPVlVsc1RsVlZQV0l5Y0hkS1ZGWkdXWGM5UFUxNlNYbE1VMVV4VVhsVmVWRnFTV3hPVlUwOVl6TndlVm95Y0ROa1UxWkVUV2xWTkU5RFZUTlJibVEyU2xWTmVVcFVhRWRhZWtZMFlsaEdjR0ZUVlRGUmJVbHNUbFZLV21Gc09XeGFSV3h4VmpKb2NWcHRjRFZpUjJkc1RqQktjMVpYWjJ4T01GSjNZbTFuYkU0d1NuZGtibFpVWTBodmJFNHdTbk5rVjNnMVpXYzlQVlI1VlRKTlJtUlFTbFJHUTFwV2JITktWRlpEU2xSWmQwcFVWa1ZoZHowOVNsUkpkMVZUVlhsTmFWVjVUVU5HV1ZWVFZYbE5aejA5WW0xM2JFNHdTbEZLVkdSRFlraFJQVmRzT1dGYVZVNVhWa05WTWsxSFRsWmlWelJzVGxWS2MySnJOV3BhTVRnOVkwZEdibHBXWnoxaWFWVXhVbEU5UFdGWFJuSlphVlY1VFd4b2ExbFhSbUZYUjJ0c1RXcEtZVm95Wkd0YWR6MDlTbFZOZVVwVVozZGpaejA5U2xSa1EyVlRWa1JOYVZVMFQwWnJiRkY2U1d4UFJFSTFTbFZOZVVwVVozaGxVMVpFVFdsVk5FMXBWa1JOYVZVMFQwTldSRTFwVlRST01WbHNVWHBKYkU5RlVtOWtVMVV6VVcxS01VcFZUWGxLVkdkNFpWRTlQVmxuUFQxaE0yeDBaVzVXZVdOVFZUTlNhVlpFVFdsVk5FMUJQVDFhVVQwOVZHYzlQVXBVVGtaVU1rbHNUbFZWYkUxcldsbFVWbXhQVkhsVk1WRjNQVDFrV0dRd1pWaFNOV1p1Vm5GaldFNDFaREpzYjJONVZUTlJia2s5WlVOVk0xRnBWa1JOYVZVMFVWaGpQVXBWVFhsS1ZHY3pTbFZOZVVwVWFFTktWR1JEU2xWTmVVcFVaelJLVlUxNVNsUm9SMkZUVlROUmFWWkVUV2xWTkUxcFZUTlJibXRzVVhwSmJFOUZSV3hSZWtsc1QwUlZiRkY2U1d4UFJHaFlTbFZOZVVwVVozbEtWVTE1U2xSbmVXWnVXV3hSZWtsc1QwUkNNMDR5ZUhsbGFtUjJTbFJrUkVwVVpFUmxVMVV6VVhjOVBWWldTbXhWYlZKWFdsRTlQVlpUVlRGU1YwVXdWVVpLV0ZwSGQyeE9ha0p2WVhjOVBVcFVWa1pLVkZaRVlYbFZlbEZYV2xsWmVWVXhVVEp3WVVwVVZrUktWRlpEU2xST1JHSlRWVEZSTWxaeVlXYzlQV0V6V2paamJYTTlTbFJPUjFWc1VYbGFVMVV4VWtFOVBVcFVUa2RqU0VKbVpIYzlQVnB1YkRSbFNFNTVWRU5WTWsxRk5XcFZhbFpQU2xSV1ExVldiRk5rVnpCc1RqQk9jRlV5TUd4UmVrbHNUMFJGUFZvelRuUktWVTE1U2xSbmVGWlhhMnhPTUU1MFpXNUdjR1JCUFQxS1ZGRjNTbFJSZDBwVVRrTmlSa1kyWkZVMGVscEhSakJaVXpGc1pHNVNjMWxYU214aVFUMDlaRmcxZWtwVlRYbEtWR2Q1U2xWTmVVcFVaelZLVlUxNVNsUm5kMHBWVFhsS1ZHY3dWa2RHYTFac2F6MVhiRGxvV20xVlBXSXpjSFZLVlUxNVNsUm5kMlZJUWpWS1ZHUkhTbFJXUTFkWGFFZFdWMHBaV1RKR1MxWlRWVEpOUjJ4YVduYzlQVlZIVG1wWlZtaFNXa2RPVlZsblBUMVhWM2hhVm5jOVBXRXliRFJWVjJ4c1kyeFNjR1J0TVhwaFFUMDlTbFJaZDFWR09WTlZhVlV4VVd0VlBWZFRWVEZTVmxKV1lVTlZlbEpzV1QxS1ZFNUhWa1pvVVV4VFZUSk5Sa1pTVlVOVk1WSkJQVDFLVlUxNVNsUm5NMlJEVmtSTmFWVTBUbGh3TkVwVlRYbEtWR2N6WTBFOVBVcFVaRVZrYlhoMFltNUdNbUpYZHoxTWFWVXhVVEE1VmxkdGEzbEtWR1JEWkRKYVRrNXVTbE5hV0VJelNsUk9RMVl5YURSa00xSlFUMWhLYldKcFZYcFJWbFpGWTNwUk1sSllXbUZOTUZWc1RsVkpNRmRYV2pSYWJrWXlWV3BTZGxWVVoyeE9NRkpoWkZoQ1lXSXhTV3hPTUVwV1kwUkpiRTB3UlhWWFZGWnRZVU5WZWxGVFZYcFJXR1F5U2xSa1JGUnRkMnhPTUVsc1RqQlNWMHBVWkVSYWFWVjZVVk5WTTFKSFZsZE9VMVV4VVdzeFNGcFVUbmRLVkU1Q1VqSTFURk50WnpSTWFWVjZVVmh2YkU0d1RrOU1ibFoxWlVSb1NGUXpVbmRTTWpsdVNsUmtRMUp1Y0hkalZYQklUakJWYkUwd1NsQktWR1JFWTI1bmJGRjZTV3hQUkd3MFNsVk5lVXBVWjNoS1ZVMTVTbFJuTTBwVlRYbEtWR2N5V21sV1JFMXBWVFJPZVZaRVRXbFZORTFwVmtSTmFWVTBUbGhTTm1WQlBUMUtWR1JFWWxnMWVHVnBWa1JOYVZVMFRVWkdOR05ZYkhobGFWWkVUV2xWTkUxQlBUMVZhVlV6VVdsV1JFMXBWVFJOV0Vsc1RqQlpQV1pwVmtSTmFWVTBUWGxXUkUxcFZUUk5XRnBvU2xWTmVVcFVaM2xpZVZaRVRXbFZORTF1VFQxS1ZHUkhTbFZOZVVwVVozZGlVMVpFVFdsVk5FMUlSVDFLVkU1SFVWaEtlRXBVVGtWS1ZFNUZVVEJGUFZreE9XdFVNMlF5V1ROYWNtTllRbEphU0ZadVpFaG9ibVJCUFQxYVdHeHVTbFJrUkdFd2NIWmxSM1J3Wlc1SmJFNHdXVDFLVkZaRFYwZFNWRmd4WXoxalNFNXVXbGhvZEdNelNUMWtNMmg2WXpOUmJFNHdVVDFLVkdSSFkwTldSRTFwVlRSTmVWVXpVbWM5UFZkWFNtWktWRlpEV2tkd1QyVlliejFoYlhSdFlWWm5iRTVWVld4T1ZVMDlWR3hrVlZSc1dUMVhSMUpzWW1jOVBVMXBWWHBTVkdNeVNsUk9SbFF5U1d4T1ZWVnNUV3RKYkU1VlRsQlRlVlY1VW14YVVGWXdPVmxLVkZaR1NsUldSRmxzWkhGWFExVXhVa05WTVZKWFJscFJVMVV4VWxkb2NGUldiRk5WVlhCNFlXNUtjV016YXoxWGJFNXNWMmM5UFdOcFZrUk5hVlUwVFZOV1JFMXBWVFJOVTFVelVrTldSRTFwVlRSUlVUMDlabWM5UFZveVZuZGpRVDA5WlZoc2RtUm5QVDFqYlU0eFpGaHNlR1JIV1QxbGJrVTlZVk5WTVZKWFNtRk9NbTlzVGxWSmJFNVZTbUZhTW1jOVNsUldSVnBzT1hOWmJYQnFWVmhLZEdOR09XeFpNRTR3V1RKNGVXUnBWa1JOYVZVMFRsTldSRTFwVlRSUmVWWkVUV2xWTkUxNVZrUk5hVlUwVG5sV1JFMXBWVFJOWnowOVNsUlpkMWx0YUcxWFExVXlUVWRLY0ZkQlBUMUtWVTE1U2xSbmQwcFVaRVZLVlUxNVNsUm5la3BVWkVSalp6MDlTbFJrUldOSVpEWmlSemc5U2xSV1JGUlRWVEpOUmxKaFZGWnNVbUpYZERaUFVUMDlaREp3TkdGdWJFcGFibXh0WldsVk0xRnVhMnhSZWtsc1QwUm5iRkY2U1d4UFJWbHNVWHBKYkU5RVdXeFJla2xzVDBWRlBWb3pRblJoV0VvMFNsUldSVXBVV1hkS1ZFcEhTbFJLUjFwVVdXeE5hMWxzVFd0WmVWVnRXbFZoVm1jOVZXNUdla3BVWkVOS1ZVMTVTbFJuZWtwVlRYbEtWR2QzWTFoT01WaDVWVEZTVm1kc1RsVlNhbFpIUld4T1ZVMXNUbFZXYkZaQlBUMWtXRUpLV2tkS2Mxa3llSEJaTW5NOVYwZG5iRTVWU25OS1ZGWkdZVEk0YkU1VlZuSmlVVDA5U2xSa1IyVlRWa1JOYVZVMFVrTldSRTFwVlRST2R6MDlZeko0SzFSRFZUTlNhVlV6VW1sVk0xSklVblJLVlUxNVNsUm5kMHBVWkVkalFUMDlTbFZOZVVwVVp6TktWR1JGU2xWTmVVcFVhRVpsVVQwOVNsVk5lVXBVWjNsa1UxVXpVa05WTTFKcFZrUk5hVlUwVG01V1ZrcFZUWGxLVkdjeVpGZzBiRkY2U1d4UFJGRnNUbFZPTlVwVlRYbEtWR2Q2U2xWTmVVcFVaekJrV0RVeFNsVk5lVXBVWjNsS1ZVMTVTbFJuTlVwVlRYbEtWR2N3U2xWTmVVcFVhRUpsUTFVelVrTldSRTFwVlRSTmFWWkVUV2xWTkU1RFZrUk5hVlUwVVc1dlBWUkdiR0ZVVmxKWlpXbFZNMUp1VWpabFVUMDlZMWh3ZW1KNVZrUk5hVlUwVFVaS2RrcFZUWGxLVkdkNVluYzlQVm95Um5SaVYwVTlXa1phYkZSc09HeE9WVkpZVG14Q2EwcFVaRWRrZVZaRVRXbFZORTFZWnpSbWFWWkVUV2xWTkUxSE1UUmtRMVV6VW1wbmJFNHdXalprVjNCeVltNVZQV1Z0ZUhoYU0wbzJTbFJXUkdWVFZrUk5hVlUwVFVFOVBXTkdPWE5aYlRGeVZURTRiRTVWVm1wYVIwcHNWVEpSUFVwVVZrUlpVMVV4VVRKamJFNUVRbTlhTVZKdVNsUldSRmx0UmtOV1YxcFpXbGRzV1ZwUlBUMVdVMVV4VVdsVk1WSlRWVEZTVjBVOVNsVk5lVXBVWnpKVmR6MDlXa1pXYm1GR2F6MVBWVEJzVG1wQ1ZXSkdaR2xoZVZVeFVXYzlQVmd5VW14Wk0wbzFZMGhSUFVwVVZrTmFiVms5WkZkYWMyRnBWVEZTVVQwOVpFaEZiRkY2U1d4UFJGSjRXREo0YzJGWGR6MUtWRmwzWVdsVmVsRlhXbXhoZVZVeFVUSldja3BVVGtSS1ZGWkRTbFJaZDJFeGFGcFplVlV4VVhjOVBWVjVWa1JOYVZVMFRVTldSRTFwVlRSTlExVXpVa2hhZVVwVVpFZGpSMFo1WXpKVlBVcFZUWGxLVkdjMFdtMWtiRXBVVmtSWlZtOXNUbFZPV21KQlBUMUtWVTE1U2xSbmVHWnBWa1JOYVZVMFRUTkJiRkY2U1d4UFJFNDBabWxWTTFKSFJuZEtWVTE1U2xSbmVtUkJQVDFrUnpreFdUSm9lbVJIUm5sa1FUMDlTbFZOZVVwVVozaEtWVTE1U2xSbk1FcFVSa05XWnowOVlqTkdNMlJYWkhWYU1rNDBXbmM5UFdRemNEWktWR1JEWlcxUmJGRjZTV3hQUkZZMlNsUmtRMHBWVFhsS1ZHYzFZVU5WTWsxSGNHaEpWbU5zVG1wQ1dGcFhOVzVaTTFKWFlUSTVibU5ZWkRKS1ZVMTVTbFJuTWtwVlRYbEtWR2Q0U2xWTmVVcFVaek5rV0hBelNsVk5lVXBVWnpGaU0wSjFXbGR3YWxKRFZURlNSemxyVTFOVk1WSkhkejFYYVZVeFVsZFpiRTVWVVQxV1FUMDlTbFZOZVVwVVozcEtWVTE1U2xSbmVVcFVaRVJLVlUxNVNsUm5lRXBWVFhsS1ZHY3paVU5XUkUxcFZUUk9WMk5zVVhwSmJFOUZUV3hSZWtsc1QwUk9OR050TVhwWlYxcHFZa2RKUFU1VFZYcFJlbFZzVFRCUk1VcFVUa1pTUlRoc1RUQlZiRTB3V1RCT1VUMDlTbFZOZVVwVVp6RktWVTE1U2xSbmVVcFVaRVJpTW04OVZXbFZNazFHYUd4WGJHY3pWa2RrVlZaRFZUSk5SamxzVm13NWJGTkdjR1pXVTFVeVRVZG5QV0ZITVhwYVNFWXhTbFJaZDJGM1BUMU9kejA5V1RGU2JGZEhSbTVLVlUxNVNsUm5la3BWVFhsS1ZHY3hTbFZOZVVwVWFFTktWVTE1U2xSbk5VcFVaRU5LVlUxNVNsUm9RMHBWVFhsS1ZHY3lXVk5WTVZGNVZURlNSMXB6V1ZOVk1WSlhSV3hPVlZKeFNsUmtRMk41VlROU1NGRXdZVzVPY0ZWWVNtNWhRVDA5V0RKU2EwcFVWa05oUlc5c1RsVktkV0ZuUFQxVWJFcG9Wa1pDYWxaRVNXeE9WVXBaVld4dmJFMHdTbGxaYlU1VlNsUldSVlpIUm1sS1ZFa3dXbTFXTW1GWVNtMWxTRms5V2pGc2IwOUdWbTlXVVQwOVdsYzVlbVJ1VmpSbGJFWnlTbFJrUjFSc1VXeE9WVkpUU2xSV1JsVXhVWGxLVkZaR1NsUldSVlpXYUZkUmVWVXhVbFJHV1ZreFZXeE9WVXBSVm0xSlBWVkdiRTlLVkZsM1NsUlpkMHBVVGtOVWJIQlRWakowZDJScFZYcFJWVTR3WkVkTmJFNHdTVDFpTWtweldXbFZNVkZ0U214WmJURjVTbFJXUkZsV2NHNUtWRmwzU2xSV1JsWldjRlJLVkZsM1YxWmtWMUp0Um01V1ZuQllXbEU5UFdFelNqTmlVVDA5U2xSWmQxbFhhejFWTW1oV1ZtbFZlbEpHWnoxS1ZVMTVTbFJuTlVwVVpFTktWVTE1U2xSbmQyUnBWa1JOYVZVMFRWTldSRTFwVlRSUFYyODlZbTFHZG1FeWFIbFpVVDA5VjBac1dGa3hhRnBhYm1oNldsRTlQVmt5YUhCaVIxSlBZakpTYkdOM1BUMUxVMVV4VVdrMGJFNVZVV3hOYTAxMFRGTnZQVlpJUld4UmVrbHNUMFJTTVZVeGFGSlphazVtVmtaVmVGcEJQVDFpVVQwOVNsUldSVlozUFQxS1ZFbDZXVEZXYTA5WFVsWktWRlpGVlVaV1UxcFdTVDFKVjFKM1dESjBha3BVVGtOS1ZFWkNVMFpzYzJGRWFGcFdNazVaVjFkWlBVeFJQVDFhYVZVeFVXbFZNVkV4Ykc1S1ZFNUdWMGQzUFdSRFZUTlJiVEV5WW5sV1JFMXBWVFJOV0ZwMFNsUmtRMkl6TkQxaE1tTnNUbFZOYkU1VlZXeE9ha0pxWVcxa1prcFVXWGRpVVQwOVdIbFZNVkV4YUZaS1ZGbDNTbFZOZVVwVWFFUmFRMVV4VWxoS2RXRlJQVDFrV0doeFlsTlZNVkpJU2pKaVp6MDlZek5LYWxGVlZsUk1WV1JFVkZFOVBXRlRWVEZSTVhCdFlWTlZNVkZwVlRKTlIxVnNUbFZWUFZKck1WSmpNMmgwWXpOSmJFMHdWV3hOYWxKMFkyMHhORlZZYkRSYVdHaDBZek5LVkZwdVpIQmtibkJ3WkdjOVBVcFVWa05oUnpGNFdESjRkR041VmtSTmFWVTBUMU5XUkUxcFZUUk5hVlpFVFdsVk5FNTVWa1JOYVZVMFQxTldSRTFwVlRST1ExWkVUV2xWTkU1RFZrUk5hVlUwVFhsV1JFMXBWVFJPYVZaRVRXbFZORTlJYkRSS1ZGWkZXV2xWTWsxR1ZYbFpNVWxzVGxWS2FGWXpiREprU0VJMllrRTlQVXBVVmtOYU1rWXhUV2M5UFVwVlRYbEtWR2Q1U2xWTmVVcFVaM3BaTW5od1kwZEtkbGxZU210U1IwWXdXVkU5UFZsNVZURlJiVlZzVGxWTmJFMVZUbWxhUmtWc1RsVk9XVmw1VlhoUk1WSm9XVk5WTVZKWFJUMWlia0l4WVc1Q2RsaDVWVEZTU0VKbVdrRTlQV0o1VmtSTmFWVTBUVU5WTTFKSGQyeE9NRm93Wlc1clBXUXpjSGhpTTBZeVlWZDBlR0l5Um1oaGJrSm9ZbWM5UFdadVNuWmtNamc5Wkcxa05tUnRUakJhTWswOVNsVk5lVXBVWjNkS1ZHUkRTbFZOZVVwVVozaGlNMUoyWWxod2RtTllaejFLVlUxNVNsUm5Na3BWVFhsS1ZHYzBaRk5XUkUxcFZUUk9lVlpFVFdsVk5FNVlhRFJpTTI5c1VYcEpiRTlFU2xwamVWWkVUV2xWTkU1M1BUMWtibFoyWkVod2NtVkRWVE5SYmxrOVpESTBiRkY2U1d4UFJFSm1ZVzVXSzJKblBUMWhSekYyWkVoTmJFMXJTV3hOVlZwNVdrZDBhMWx1VFd4TmEwbHNUVlZhZWxwSVpIcEtWRmwzWTFkUmJFNXFRVDFLVkZaRFNsUldSa3BVVmtaS1ZFNUhZMFk1YjJKcldtcGlWelZtWVVZNWMyRXlVakpoTWxweVdraEdjV0ZCUFQxYVIwcDRVVk5WTVZKWVJXeE9WVlU5WVROQ2NHUklVblJrYlRsMFZqTm9NbUpZU25KaVUxVXpVVE5XY1VwVVpFTmpTRm94U2xWTmVVcFVaek5LVlUxNVNsUm5la3BWVFhsS1ZHY3lTbFZOZVVwVVp6UktWRlpEVkVOVk1WSkdRbHBZZW14aFZERkJQV0pYZUhkalZYQnBZMGhCYkU1VlZtdFpaejA5V1c1QlBXUnRhSFJaTWpVeVkyMDVjVXBWVFhsS1ZHYzFTbFZOZVVwVWFFTmxRMVpFVFdsVk5GRlRWa1JOYVZVMFRXbFZNMUZuUFQxS1ZGWkRWMWRuYkUwd1JtaFNNbWhXWVVac1RFcFVWa1ZoUTFVeFVYbFZlbEpIU2xsS1ZGWkZWakZzYmtwVVZrTlhWMmN4WVVkb2JVcFVWa1ZXYld4dlYxRTlQVmxUVlRGUmVWVXdUVWRHWmxacFZURlJiRkU5U2xSV1JGZ3hUbEpLVkZaRVVUSlNabGxzUmxoV1VUMDlWMmxWTWsxSVNtcGhiRzlzVG1wQlBWcFdaMnhPYWtGc1RsVktXbUZuUFQxVVdIQTJaRE52UFdOSVJXeFJla2xzVDBSS01XSXpSalZLVkdSRFNsVk5lVXBVWjNka1UxVXpVVzV2UFdKSVdXeE9NRW95U2xWTmVVcFVaM2hLVlUxNVNsUm5NV1JwVmtSTmFWVTBUbmxXUkUxcFZUUlBTSEJxWldsV1JFMXBWVFJSZVZVeFVXbFdSRTFwVlRST1ExWkVUV2xWTkU1NVZrUk5hVlUwVFd4dmJGRjZTV3hQUkVZMlNsVk5lVXBVWjNsbGFWWkVUV2xWTkUxNVZrUk5hVlUwVDFOV1JFMXBWVFJQUVQwOVlqSlNiMHBVV1hkS1ZGWkVZVzFhZDFWdFdqRlhiVEZ2U2xSV1EyVllWV3hPTUVvMFlWZHpQVXBVU1hwS1ZFa3dWSGxWZVU1RFZYbE5NVWxzVFdwU1VFcFVaRWRLVlUxNVNsUm5kMlJZV21aamJqVXlZMFk0UFZwdVFsSmlNMHAzWTFkS2FHUkhXblJaWnowOSIpfTtmdW5jdGlvbiBlKHQpe2Zvcig7dC5faGRPZDEhPT10Ll9qdmtTS1RmOyl7dmFyIGU9dC5fUlZoRGRtb2VbdC5faGRPZDErK10saT10Ll9sc3Z6altlXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgaSlyZXR1cm4gdm9pZCBCdCgib29nYSIsIndhcm4iLCJhcGkiLHtjOnQuX2hkT2QxLGU6dC5fanZrU0tUZn0pO2kodCl9fXJldHVybiB0Ll9qdmtTS1RmPXQuX1JWaERkbW9lLmxlbmd0aCxlKHQpLHQuX1NOM0V3UGRaZ1R9KCksdmkucyx3aT12aS5tLGtpPXZpLmIseGk9dmkuYSxfaT12aS5zdGFydCx2aS5zdG9wLHZpLmosRWk9dmkuZH1jYXRjaChncyl7QnQoIm9iLWVycm9yIiwiZXJyb3IiLCJhcGkiLHttZXNzYWdlOmdzLm1lc3NhZ2V9KTt2YXIgQ2k9ZnVuY3Rpb24oKXt9O0NpLEVpPUNpLGZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKX0sd2k9e3JlY29yZDpDaSxyZXNldERhdGE6Q2ksc2V0RGF0YTpDaSxnZXREYXRhOkNpLHN0b3A6Q2ksY2lyY0J1ZmZQdXNoOkNpfSxraT17cmVjb3JkOkNpLHN0b3A6Q2l9LHhpPXtzdG9yZURhdGE6Q2ksY2xlYXJEYXRhOkNpLGdldERhdGE6Q2l9LHt9LF9pPUNpfWZ1bmN0aW9uIFRpKHQpe3Q9dHx8e30sdGhpcy54PXQueHx8MCx0aGlzLnk9dC55fHwwLHRoaXMucm90YXRlPXRoaXMucm90YXRlLmJpbmQodGhpcyksdGhpcy5nZXREaXN0YW5jZT10aGlzLmdldERpc3RhbmNlLmJpbmQodGhpcyksdGhpcy5yYWRpdXM9MCx0aGlzLnRvbGVyYW5jZT0wLHRoaXMuZmlsbD0hMSx0aGlzLnN0cm9rZT0hMSx0aGlzLmZpbGxDb2xvcj0iI2ZmZiIsdGhpcy5zdHJva2VDb2xvcj0iI2ZmZiIsdGhpcy5zdHJva2VXaWR0aD0xfWZ1bmN0aW9uIFNpKHQsZSxpKXt4ZS5zZWxmKHRoaXMsVGksdCksdGhpcy5oYW5kbGVJbj1uZXcgVGkoZSksdGhpcy5oYW5kbGVPdXQ9bmV3IFRpKGkpLHRoaXMucHJldj1udWxsLHRoaXMubmV4dD1udWxsLHRoaXMuaW5kZXg9MH1mdW5jdGlvbiBSaSh0KXt0aGlzLl9jbG9zZWQ9ITEsdGhpcy5zdHJva2U9ITEsdGhpcy5maWxsPSExLHRoaXMuZmlsbENvbG9yPSIjZmZmIix0aGlzLnN0cm9rZUNvbG9yPSIjZmZmIix0aGlzLnN0cm9rZVdpZHRoPTEsdGhpcy5zaG93UG9pbnRzPSExLHRoaXMucG9pbnRSYWRpdXM9MCx0aGlzLl9oZWFkPW51bGwsdGhpcy5fdGFpbD1udWxsLHRoaXMuc2VnbWVudHM9W10sdGhpcy5hZGRQb2ludD10aGlzLmFkZFBvaW50LmJpbmQodGhpcyksdGhpcy5yZW1vdmVQb2ludD10aGlzLnJlbW92ZVBvaW50LmJpbmQodGhpcyksdGhpcy5mb3JFYWNoUG9pbnQ9dGhpcy5mb3JFYWNoUG9pbnQuYmluZCh0aGlzKSx0aGlzLmdldEJvdW5kaW5nPXRoaXMuZ2V0Qm91bmRpbmcuYmluZCh0aGlzKSx0aGlzLmdldENlbnRlcj10aGlzLmdldENlbnRlci5iaW5kKHRoaXMpLHRoaXMuZGVzdHJveT10aGlzLmRlc3Ryb3kuYmluZCh0aGlzKSx0JiZ0Lmxlbmd0aCYmdGhpcy5hZGRQb2ludHModCl9ZnVuY3Rpb24gQWkodCxlKXtpZihlLnk8PXQueSl7aWYoZS5uZXh0Lnk+dC55JiZCaShlLGUubmV4dCx0KT4wKXJldHVybiAxfWVsc2UgaWYoZS5uZXh0Lnk8PXQueSYmQmkoZSxlLm5leHQsdCk8MClyZXR1cm4tMTtyZXR1cm4gMH1mdW5jdGlvbiBCaSh0LGUsaSl7cmV0dXJuKGUueC10LngpKihpLnktdC55KS0oaS54LXQueCkqKGUueS10LnkpfWZ1bmN0aW9uIFVpKHQpe3hlLnNlbGYodGhpcyxSaSksdGhpcy5ib3VuZGluZz17bGVmdDowLHRvcDowLHdpZHRoOjAsaGVpZ2h0OjB9LHRoaXMuc3ZnRGF0YT1mdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dmFyIGU9ZGVjb2RlVVJJQ29tcG9uZW50KHQpLGk9ZS5pbmRleE9mKCdkPSInKSszLG49ZS5pbmRleE9mKCciJyxpKSxvPXQuc2xpY2UoaSxuKSxyPWZ1bmN0aW9uKHQpe3ZhciBlPTAsaT0wLG49MCxvPTAscj10Lm1hdGNoKC88c3ZnW14+XSp3aWR0aD1bJyJdKFteJyJdKylbJyJdLykscz10Lm1hdGNoKC88c3ZnW14+XSpoZWlnaHQ9WyciXShbXiciXSspWyciXS8pO2lmKHImJnMmJihuPXBhcnNlRmxvYXQoclsxXSksbz1wYXJzZUZsb2F0KHNbMV0pLCFpc05hTihuKSYmIWlzTmFOKG8pKSlyZXR1cm57bGVmdDplLHRvcDppLHdpZHRoOm4saGVpZ2h0Om99O3ZhciBhPXQubWF0Y2goLzxzdmdbXj5dKnZpZXdCb3g9WyciXShbXiciXSspWyciXS8pO2lmKGEpe3ZhciBsPWFbMV0uc3BsaXQoIiAiKTtpZihlPXBhcnNlRmxvYXQobFswXSksaT1wYXJzZUZsb2F0KGxbMV0pLG49cGFyc2VGbG9hdChsWzJdKSxvPXBhcnNlRmxvYXQobFszXSksIShpc05hTihlKXx8aXNOYU4oaSl8fGlzTmFOKG4pfHxpc05hTihvKSkpcmV0dXJue2xlZnQ6ZSx0b3A6aSx3aWR0aDpuLGhlaWdodDpvfX1yZXR1cm57bGVmdDowLHRvcDowLHdpZHRoOjAsaGVpZ2h0OjB9fShlKTtyZXR1cm57cGF0aENvbW1hbmRzOk1pKG8pLHZpZXdwb3J0OnJ9fSh0KSx0aGlzLnN2Z0RhdGEmJih0aGlzLmJvdW5kaW5nLndpZHRoPXRoaXMuc3ZnRGF0YS52aWV3cG9ydC53aWR0aCx0aGlzLmJvdW5kaW5nLmhlaWdodD10aGlzLnN2Z0RhdGEudmlld3BvcnQuaGVpZ2h0KX1mdW5jdGlvbiBNaSh0KXtmb3IodmFyIGU9dC5tYXRjaCgvW2EtZGYtekEtREYtWl1bXmEtZGYtekEtREYtWl0qL2cpfHxbXSxpPVtdLG49MDtuPGUubGVuZ3RoOyl7Zm9yKHZhciBvPWVbbl0scj1vWzBdLHM9by5zbGljZSgxKS50cmltKCkuc3BsaXQoL1tccyxdKy8pLGE9W10sbD0wO2w8cy5sZW5ndGg7KWEucHVzaChwYXJzZUZsb2F0KHNbbF0pKSxsKys7aS5wdXNoKHt0eXBlOnIscGFyYW1zOmF9KSxuKyt9cmV0dXJuIGl9VGkucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBpPVl0KGUpLG49TWF0aC5zaW4oaSksbz1NYXRoLmNvcyhpKSxyPXRoaXMueC10Lngscz10aGlzLnktdC55O3RoaXMueD1yKm8tcypuK3QueCx0aGlzLnk9cipuK3Mqbyt0Lnl9LFRpLnByb3RvdHlwZS5nZXREaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRoaXMueC10LngsMikrTWF0aC5wb3codGhpcy55LXQueSwyKSl9LFRpLnByb3RvdHlwZS5nZXRBbmdsZT1mdW5jdGlvbih0KXt2YXIgZT10LngtdGhpcy54LGk9dC55LXRoaXMueSxuPUp0KE1hdGguYXRhbjIoaSxlKSk7cmV0dXJuIG48MCYmKG4rPTM2MCksbn0sVGkucHJvdG90eXBlLmhpdFRlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmFkaXVzK3RoaXMudG9sZXJhbmNlPj10aGlzLmdldERpc3RhbmNlKHQpfSxUaS5wcm90b3R5cGUucmVzdHJpY3Q9ZnVuY3Rpb24odCxlLGksbil7aWYoIngiIT09dCYmInkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlBvaW50LnJlc3RyaWN0IHJlcXVpcmVzIGEgdmFsdWU6IHggb3IgeSIpO3JldHVybiBlK3RoaXNbdF08aT9lPXRoaXNbdF0taTplK3RoaXNbdF0+biYmKGU9bi10aGlzW3RdKSx0aGlzW3RdK2V9LFRpLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQpe3QuY3R4LmJlZ2luUGF0aCgpLHQuY3R4LmFyYyh0aGlzLngsdGhpcy55LHRoaXMucmFkaXVzL3Quc2NhbGUsMCwyKk1hdGguUEksITEpLHRoaXMuZmlsbCYmKHQuY3R4LmZpbGxTdHlsZT10aGlzLmZpbGxDb2xvcix0LmN0eC5maWxsKCkpLHRoaXMuc3Ryb2tlJiYodC5jdHguc3Ryb2tlU3R5bGU9dGhpcy5zdHJva2VDb2xvcix0LmN0eC5saW5lV2lkdGg9dGhpcy5zdHJva2VXaWR0aC90LnNjYWxlLHQuY3R4LnN0cm9rZSgpKX0seGUucHJvdG8oU2ksVGkpLFNpLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlLGkpe3RoaXMueD10Lnh8fHRoaXMueCx0aGlzLnk9dC55fHx0aGlzLnksZT09PXVuZGVmaW5lZD8odGhpcy5oYW5kbGVJbi54PXRoaXMueCx0aGlzLmhhbmRsZUluLnk9dGhpcy55KToodGhpcy5oYW5kbGVJbi54PWUueCx0aGlzLmhhbmRsZUluLnk9ZS55KSxpPT09dW5kZWZpbmVkPyh0aGlzLmhhbmRsZU91dC54PXRoaXMueCx0aGlzLmhhbmRsZU91dC55PXRoaXMueSk6KHRoaXMuaGFuZGxlT3V0Lng9aS54LHRoaXMuaGFuZGxlT3V0Lnk9aS55KX0sU2kucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9e3g6dGhpcy54LHk6dGhpcy55fSxlPXt4OnRoaXMuaGFuZGxlSW4ueCx5OnRoaXMuaGFuZGxlSW4ueX0saT17eDp0aGlzLmhhbmRsZU91dC54LHk6dGhpcy5oYW5kbGVPdXQueX0sbj1uZXcgU2k7cmV0dXJuIGUueD09PWkueCYmZS55PT09aS55P24uc2V0KHQpOm4uc2V0KHQsZSxpKSxuLmluZGV4PXRoaXMuaW5kZXgsbi5wcmV2PXRoaXMucHJldixuLm5leHQ9dGhpcy5uZXh0LG4ucmFkaXVzPXRoaXMucmFkaXVzLG4udG9sZXJhbmNlPXRoaXMudG9sZXJhbmNlLG4uZmlsbD10aGlzLmZpbGwsbi5zdHJva2U9dGhpcy5zdHJva2Usbi5maWxsQ29sb3I9dGhpcy5maWxsQ29sb3Isbi5zdHJva2VDb2xvcj10aGlzLnN0cm9rZUNvbG9yLG4uc3Ryb2tlV2lkdGg9dGhpcy5zdHJva2VXaWR0aCxufSxTaS5wcm90b3R5cGUubW92ZT1mdW5jdGlvbih0LGUpe3RoaXMueCs9dCx0aGlzLnkrPWUsdGhpcy5oYW5kbGVJbi54Kz10LHRoaXMuaGFuZGxlSW4ueSs9ZSx0aGlzLmhhbmRsZU91dC54Kz10LHRoaXMuaGFuZGxlT3V0LnkrPWV9LFNpLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24odCl7dGhpcy5oYW5kbGVJbi54IT09dGhpcy54JiZ0aGlzLmhhbmRsZUluLnkhPT10aGlzLnkmJnRoaXMuaGFuZGxlSW4uZHJhdyh0KSx0aGlzLmhhbmRsZU91dC54IT09dGhpcy54JiZ0aGlzLmhhbmRsZU91dC55IT09dGhpcy55JiZ0aGlzLmhhbmRsZU91dC5kcmF3KHQpLHRoaXMuZHJhdyh0KX0sUmkucHJvdG90eXBlLmFkZFBvaW50PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0IGluc3RhbmNlb2YgU2k/ZT10LmNsb25lKCk6KChlPW5ldyBTaSkuc2V0KHQpLGUucmFkaXVzPXRoaXMucG9pbnRSYWRpdXMpLGUuaW5kZXg9dGhpcy5zZWdtZW50cy5sZW5ndGgsbnVsbD09PXRoaXMuX2hlYWQ/KHRoaXMuX2hlYWQ9ZSx0aGlzLl90YWlsPWUpOihlLnByZXY9dGhpcy5fdGFpbCx0aGlzLl90YWlsLm5leHQ9ZSx0aGlzLl90YWlsPWUpLHRoaXMuX2hlYWQucHJldj10aGlzLl90YWlsLHRoaXMuX3RhaWwubmV4dD10aGlzLl9oZWFkLHRoaXMuc2VnbWVudHMucHVzaChlKSxlfSxSaS5wcm90b3R5cGUuYWRkUG9pbnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRoaXMuYWRkUG9pbnQodFtlXSk7dD1udWxsfSxSaS5wcm90b3R5cGUuc2V0UG9pbnRzPWZ1bmN0aW9uKHQsZSl7ZT09PXVuZGVmaW5lZCYmKGU9MCk7Zm9yKHZhciBpPWU7aTx0Lmxlbmd0aDtpKyspdGhpcy5zZWdtZW50c1tpXT09PXVuZGVmaW5lZD90aGlzLmFkZFBvaW50KHRbaV0pOnRoaXMuc2VnbWVudHNbaV0uc2V0KHRbaV0pO3Q9bnVsbCxlPW51bGx9LFJpLnByb3RvdHlwZS5zZXRQb2ludFJhZGl1cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9LTE7KytlPHRoaXMuc2VnbWVudHMubGVuZ3RoOyl1bmRlZmluZWQucmFkaXVzPXR9LFJpLnByb3RvdHlwZS5yZW1vdmVQb2ludD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5zZWdtZW50cy5sZW5ndGgsaT1udWxsOy0tZT4tMSYmbnVsbD09PWk7KWk9dGhpcy5zZWdtZW50c1tlXSx0Lng9PT1pLngmJnQueT09PWkueSYmKHRoaXMuc2VnbWVudHMuc3BsaWNlKGUsMSksaT09PXRoaXMuX2hlYWQmJmk9PT10aGlzLl90YWlsPyh0aGlzLl9oZWFkPW51bGwsdGhpcy5fdGFpbD1udWxsKTppPT09dGhpcy5oZWFkPyh0aGlzLl9oZWFkPXRoaXMuX2hlYWQubmV4dCx0aGlzLl9oZWFkLnByZXY9bnVsbCk6aT09PXRoaXMuX3RhaWw/KHRoaXMuX3RhaWw9dGhpcy5fdGFpbC5wcmV2LHRoaXMuX3RhaWwubmV4dD1udWxsKTooaS5wcmV2Lm5leHQ9aS5uZXh0LGkubmV4dC5wcmV2PWkucHJldikpO3JldHVybiBpfSxSaS5wcm90b3R5cGUuZm9yRWFjaFBvaW50PWZ1bmN0aW9uKHQsZSl7aWYoMCE9PXRoaXMuc2VnbWVudHMubGVuZ3RoJiZ0aGlzLnNlZ21lbnRzKWZvcih2YXIgaSxuPSExLG89dGhpcy5zZWdtZW50cy5sZW5ndGg7LS1vPi0xJiYhbjspaT10aGlzLnNlZ21lbnRzW2U/dGhpcy5zZWdtZW50cy5sZW5ndGgtMS1vOm9dLHQmJihuPXQoaSkpfSxSaS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24odCl7dGhpcy5fY2xvc2VkPXR9LFJpLnByb3RvdHlwZS5pc0Nsb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jbG9zZWR9LFJpLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9oZWFkfSxSaS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RhaWx9LFJpLnByb3RvdHlwZS5yb3RhdGU9ZnVuY3Rpb24odCxlKXtlPT09dW5kZWZpbmVkJiYoZT10aGlzLmdldENlbnRlcigpKTtmb3IodmFyIGksbj0tMTsrK248dGhpcy5zZWdtZW50cy5sZW5ndGg7KShpPXRoaXMuc2VnbWVudHNbbl0pLmhhbmRsZUluLnJvdGF0ZShlLHQpLGkucm90YXRlKGUsdCksaS5oYW5kbGVPdXQucm90YXRlKGUsdCl9LFJpLnByb3RvdHlwZS5tb3ZlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPS0xOysraTx0aGlzLnNlZ21lbnRzLmxlbmd0aDspdGhpcy5zZWdtZW50c1tpXS5tb3ZlKHQsZSl9LFJpLnByb3RvdHlwZS5nZXRQb2ludD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZWdtZW50c1t0XX0sUmkucHJvdG90eXBlLmdldExlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aH0sUmkucHJvdG90eXBlLmdldENlbnRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0Qm91bmRpbmcoKTtyZXR1cm57eDoodC5yaWdodC10LmxlZnQpLzIrdC5sZWZ0LHk6KHQuYm90dG9tLXQudG9wKS8yK3QudG9wfX0sUmkucHJvdG90eXBlLmdldERpbWVuc2lvbnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldEJvdW5kaW5nKCk7cmV0dXJue3dpZHRoOnQucmlnaHQtdC5sZWZ0LGhlaWdodDp0LmJvdHRvbS10LnRvcH19LFJpLnByb3RvdHlwZS5nZXRCb3VuZGluZz1mdW5jdGlvbigpe2Zvcih2YXIgdCxlPW51bGwsaT1udWxsLG49bnVsbCxvPW51bGwscj0tMTsrK3I8dGhpcy5zZWdtZW50cy5sZW5ndGg7KXQ9dGhpcy5zZWdtZW50c1tyXSwobnVsbD09PWV8fHQueDxlKSYmKGU9dC54KSwobnVsbD09PWl8fHQueD5pKSYmKGk9dC54KSwobnVsbD09PW58fHQueTxuKSYmKG49dC55KSwobnVsbD09PW98fHQueT5vKSYmKG89dC55KTtyZXR1cm57bGVmdDplLHRvcDpuLGJvdHRvbTpvLHJpZ2h0Oml9fSxSaS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbih0KXt0LmN0eC5iZWdpblBhdGgoKTtmb3IodmFyIGU9LTEsaT10aGlzLnNlZ21lbnRzLmxlbmd0aDsrK2U8aTspe3ZhciBuPXRoaXMuc2VnbWVudHNbZV0sbz1uLnghPT1uLmhhbmRsZUluLnh8fG4ueSE9PW4uaGFuZGxlSW4ueXx8bi5wcmV2LnghPT1uLnByZXYuaGFuZGxlT3V0Lnh8fG4ucHJldi55IT09bi5wcmV2LmhhbmRsZU91dC55O2lmKDA9PT1uLmluZGV4KXQuY3R4Lm1vdmVUbyhuLngsbi55KTtlbHNlIGlmKG8pe3QuY3R4LmJlemllckN1cnZlVG8obi5wcmV2LmhhbmRsZU91dC54LG4ucHJldi5oYW5kbGVPdXQueSxuLmhhbmRsZUluLngsbi5oYW5kbGVJbi55LG4ueCxuLnkpLChuLm5leHQueCE9PW4ubmV4dC5oYW5kbGVJbi54fHxuLm5leHQueSE9PW4ubmV4dC5oYW5kbGVJbi55KSYmdGhpcy5fY2xvc2VkJiZ0aGlzLl90YWlsPT09biYmdC5jdHguYmV6aWVyQ3VydmVUbyhuLmhhbmRsZU91dC54LG4uaGFuZGxlT3V0Lnksbi5uZXh0LmhhbmRsZUluLngsbi5uZXh0LmhhbmRsZUluLnksbi5uZXh0Lngsbi5uZXh0LnkpfWVsc2UgdC5jdHgubGluZVRvKG4ueCxuLnkpfXRoaXMuX2Nsb3NlZCYmdC5jdHguY2xvc2VQYXRoKCksdGhpcy5maWxsJiYodC5jdHguZmlsbFN0eWxlPXRoaXMuZmlsbENvbG9yLHQuY3R4LmZpbGwoKSksdGhpcy5zdHJva2UmJih0LmN0eC5zdHJva2VTdHlsZT10aGlzLnN0cm9rZUNvbG9yLHQuY3R4LmxpbmVXaWR0aD10aGlzLnN0cm9rZVdpZHRoL3Quc2NhbGUsdC5jdHguc3Ryb2tlKCkpLCEwPT09dGhpcy5zaG93UG9pbnRzJiZ0aGlzLmZvckVhY2hQb2ludCgoZnVuY3Rpb24oZSl7ZS5maWxsPSEwLGUucmVuZGVyKHQpfSkpfSxSaS5wcm90b3R5cGUuaGl0VGVzdD1mdW5jdGlvbih0LGUpe2U9PT11bmRlZmluZWQmJihlPXt9KTt2YXIgaSxuPSExLG89MCxyPSExO2Uuc2VnbWVudD1lLnNlZ21lbnQ9PT11bmRlZmluZWR8fGUuc2VnbWVudCxlLnBhdGg9ZS5wYXRoPT09dW5kZWZpbmVkfHxlLnBhdGg7Zm9yKHZhciBzPS0xOysrczx0aGlzLnNlZ21lbnRzLmxlbmd0aDspaT10aGlzLnNlZ21lbnRzW3NdLGUucGF0aCYmdGhpcy5fY2xvc2VkJiYobys9QWkodCxpKSksZS5zZWdtZW50JiZpLmhpdFRlc3QodCkmJihyPWkpO3JldHVybiBlLnBhdGgmJjAhPT1vJiYhMT09PXI/bj17dHlwZToicGF0aCIsZ2VvbWV0cnk6dGhpc306ciYmKG49e3R5cGU6InNlZ21lbnQiLGdlb21ldHJ5OnJ9KSxufSxSaS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLnNlZ21lbnRzLmxlbmd0aDstLXQ+LTE7KXRoaXMuc2VnbWVudHMuc3BsaWNlKHQsMSk7cmV0dXJuIHRoaXMuX2hlYWQ9bnVsbCx0aGlzLl90YWlsPW51bGwsdGhpcy5zZWdtZW50cz1bXSxudWxsfSx4ZS5wcm90byhVaSxSaSksVWkucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24odCxlKXt0PyhlfHwoZT10KSx0aGlzLmJvdW5kaW5nLndpZHRoPXQsdGhpcy5ib3VuZGluZy5oZWlnaHQ9ZSk6KHRoaXMuYm91bmRpbmcud2lkdGg9dGhpcy5zdmdEYXRhLnZpZXdwb3J0LndpZHRoLHRoaXMuYm91bmRpbmcuaGVpZ2h0PXRoaXMuc3ZnRGF0YS52aWV3cG9ydC5oZWlnaHQpfSxVaS5wcm90b3R5cGUubW92ZT1mdW5jdGlvbih0LGUpe3QmJihlfHwoZT10KSx0aGlzLmJvdW5kaW5nLmxlZnQ9dCx0aGlzLmJvdW5kaW5nLnRvcD1lKX0sVWkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmJvdW5kaW5nPXtsZWZ0OjAsdG9wOjAsd2lkdGg6MCxoZWlnaHQ6MH0sdGhpcy5zdmdEYXRhPW51bGx9LFVpLnByb3RvdHlwZS5nZXRCb3VuZGluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJvdW5kaW5nfSxVaS5wcm90b3R5cGUuZHJhd1NWRz1mdW5jdGlvbih0KXtXaSh0LHRoaXMuc3ZnRGF0YSx0aGlzLmJvdW5kaW5nKX07dmFyIFdpPWZ1bmN0aW9uKHQsZSxpKXtpZih0JiZlJiZpKXt2YXIgbj10LmN0eCxvPTAscj0wLHM9ZS5wYXRoQ29tbWFuZHMsYT1lLnZpZXdwb3J0LGw9aS53aWR0aC9hLndpZHRoLGM9aS5oZWlnaHQvYS5oZWlnaHQsaD1NYXRoLm1pbihsLGMpO24udHJhbnNsYXRlKGkubGVmdCthLmxlZnQsaS50b3ArYS50b3ApLG4uYmVnaW5QYXRoKCk7Zm9yKHZhciB1PTA7dTxzLmxlbmd0aDspe3ZhciBwPXNbdV0ucGFyYW1zO3N3aXRjaChzW3VdLnR5cGUpe2Nhc2UiTSI6bi5tb3ZlVG8ocFswXSpoLHBbMV0qaCksbz1wWzBdKmgscj1wWzFdKmg7YnJlYWs7Y2FzZSJtIjpuLm1vdmVUbyhvK3BbMF0qaCxyK3BbMV0qaCksbys9cFswXSpoLHIrPXBbMV0qaDticmVhaztjYXNlIkwiOm4ubGluZVRvKHBbMF0qaCxwWzFdKmgpLG89cFswXSpoLHI9cFsxXSpoO2JyZWFrO2Nhc2UibCI6bi5saW5lVG8obytwWzBdKmgscitwWzFdKmgpLG8rPXBbMF0qaCxyKz1wWzFdKmg7YnJlYWs7Y2FzZSJIIjpuLmxpbmVUbyhwWzBdKmgsciksbz1wWzBdKmg7YnJlYWs7Y2FzZSJoIjpuLmxpbmVUbyhvK3BbMF0qaCxyKSxvKz1wWzBdKmg7YnJlYWs7Y2FzZSJWIjpuLmxpbmVUbyhvLHBbMF0qaCkscj1wWzBdKmg7YnJlYWs7Y2FzZSJ2IjpuLmxpbmVUbyhvLHIrcFswXSpoKSxyKz1wWzBdKmg7YnJlYWs7Y2FzZSJDIjpuLmJlemllckN1cnZlVG8ocFswXSpoLHBbMV0qaCxwWzJdKmgscFszXSpoLHBbNF0qaCxwWzVdKmgpLG89cFs0XSpoLHI9cFs1XSpoO2JyZWFrO2Nhc2UiYyI6bi5iZXppZXJDdXJ2ZVRvKG8rcFswXSpoLHIrcFsxXSpoLG8rcFsyXSpoLHIrcFszXSpoLG8rcFs0XSpoLHIrcFs1XSpoKSxvKz1wWzRdKmgscis9cFs1XSpoO2JyZWFrO2Nhc2UiWiI6Y2FzZSJ6IjpuLmNsb3NlUGF0aCgpfXUrK31uLnN0cm9rZSgpfX07ZnVuY3Rpb24gT2koKXt4ZS5zZWxmKHRoaXMsVGkpLHRoaXMucmFkaXVzPTAsdGhpcy50b2xlcmFuY2U9MCx0aGlzLmZpbGw9ITEsdGhpcy5zdHJva2U9ITEsdGhpcy5maWxsQ29sb3I9IiNmZmYiLHRoaXMuc3Ryb2tlV2lkdGg9MSx0aGlzLmhvdmVyZWRQcm9ncmVzcz0wLHRoaXMuc2hvd1Byb2dyZXNzPTAsdGhpcy5vdXRlclJhZGl1cz0yMCx0aGlzLmhvdmVyZWQ9ITEsdGhpcy5jb21wbGV0ZT0hMX1mdW5jdGlvbiBGaSgpe3hlLnNlbGYodGhpcyxrZSwiY2FudmFzIik7dmFyIHQ9dGhpczt0aGlzLmVsZW1lbnQ9dGhpcy5kb20sdGhpcy5jdHg9dGhpcy5lbGVtZW50LmdldENvbnRleHQoIjJkIiksdGhpcy5zY2FsZT0xLHRoaXMuZHByPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHRoaXMuY2xlYXJDb2xvcj0iI2ZmZiIsdGhpcy5jdHgucm91bmRlZFJlY3Q9ZnVuY3Rpb24oZSxpLG4sbyxyKXt2YXIgcz1uPjA/cjotcixhPW8+MD9yOi1yO3QuY3R4LmJlZ2luUGF0aCgpLHQuY3R4Lm1vdmVUbyhlK3MsaSksdC5jdHgubGluZVRvKGUrbi1zLGkpLHQuY3R4LnF1YWRyYXRpY0N1cnZlVG8oZStuLGksZStuLGkrYSksdC5jdHgubGluZVRvKGUrbixpK28tYSksdC5jdHgucXVhZHJhdGljQ3VydmVUbyhlK24saStvLGUrbi1zLGkrbyksdC5jdHgubGluZVRvKGUrcyxpK28pLHQuY3R4LnF1YWRyYXRpY0N1cnZlVG8oZSxpK28sZSxpK28tYSksdC5jdHgubGluZVRvKGUsaSthKSx0LmN0eC5xdWFkcmF0aWNDdXJ2ZVRvKGUsaSxlK3MsaSksdC5jdHguY2xvc2VQYXRoKCl9fWZ1bmN0aW9uIExpKCl7dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCl9ZnVuY3Rpb24gSGkodCxlLGksbil7dGhpcy5fZXZlbnRzW3RdfHwodGhpcy5fZXZlbnRzW3RdPVtdKSx0aGlzLl9ldmVudHNbdF0udW5zaGlmdCh7Zm46ZSxvbmNlOm4sY29udGV4dDppfSl9ZnVuY3Rpb24gUGkodCxlLGkpe3RoaXMudGFyZ2V0PXQsdGhpcy5zZXRUYXJnZXRPcmlnaW4oaSksdGhpcy5pZD1lLHRoaXMubWVzc2FnZXM9W10sdGhpcy5pbmNvbWluZz1bXSx0aGlzLndhaXRpbmc9W10sdGhpcy5pc1JlYWR5PSEwLHRoaXMucXVldWU9W119eGUucHJvdG8oT2ksVGkpLE9pLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucmFkaXVzL3Quc2NhbGUsaT10aGlzLm91dGVyUmFkaXVzL3Quc2NhbGU7aWYodC5jdHguc2F2ZSgpLHQuY3R4LmJlZ2luUGF0aCgpLHQuY3R4LmFyYyh0aGlzLngsdGhpcy55LChlKzIpKnRoaXMuc2hvd1Byb2dyZXNzLDAsMipNYXRoLlBJKSx0LmN0eC5zdHJva2VTdHlsZT1odC53aGl0ZSx0LmN0eC5maWxsU3R5bGU9aHQud2hpdGUsdC5jdHgubGluZVdpZHRoPTIsdC5jdHguc3Ryb2tlKCksdC5jdHguZmlsbCgpLHQuY3R4LmJlZ2luUGF0aCgpLHQuY3R4LmFyYyh0aGlzLngsdGhpcy55LChlKzMpKnRoaXMuc2hvd1Byb2dyZXNzLDAsMipNYXRoLlBJKSx0LmN0eC5zdHJva2VTdHlsZT1odC5vdXRsaW5lLHQuY3R4LmxpbmVXaWR0aD0xLHQuY3R4LnN0cm9rZSgpLHQuY3R4LnJlc3RvcmUoKSx0LmN0eC5iZWdpblBhdGgoKSx0LmN0eC5hcmModGhpcy54LHRoaXMueSxlK2kqdGhpcy5zaG93UHJvZ3Jlc3MsMCwyKk1hdGguUEkpLHQuY3R4LnN0cm9rZVN0eWxlPWh0LndoaXRlLHQuY3R4LmxpbmVXaWR0aD0yKnRoaXMuaG92ZXJlZFByb2dyZXNzLHQuY3R4LnN0cm9rZSgpLHRoaXMuaG92ZXJlZCYmKHQuY3R4Lmdsb2JhbEFscGhhPS43KnRoaXMuaG92ZXJlZFByb2dyZXNzLHQuY3R4LmZpbGwoKSx0LmN0eC5nbG9iYWxBbHBoYT0xKSx0LmN0eC5iZWdpblBhdGgoKSx0LmN0eC5hcmModGhpcy54LHRoaXMueSxlKyhpKzEpKnRoaXMuc2hvd1Byb2dyZXNzLDAsMipNYXRoLlBJKSx0LmN0eC5zdHJva2VTdHlsZT1odC5vdXRsaW5lLHQuY3R4LmxpbmVXaWR0aD0xKnRoaXMuaG92ZXJlZFByb2dyZXNzLHQuY3R4LnN0cm9rZSgpLHRoaXMuaG92ZXJlZFByb2dyZXNzPUd0KHRoaXMuaG92ZXJlZFByb2dyZXNzLDEsLjEpLHRoaXMuc2hvd1Byb2dyZXNzPUd0KHRoaXMuc2hvd1Byb2dyZXNzLDEsLjI1KSwhdGhpcy5jb21wbGV0ZSl7dmFyIG49Mi41LG89WzIuNSw0XTt0LmN0eC5iZWdpblBhdGgoKSx0LmN0eC5hcmModGhpcy54LHRoaXMueSwxLjUsMCwyKk1hdGguUEksITEpLHQuY3R4LnN0cm9rZVN0eWxlPWh0LndoaXRlLHQuY3R4LmxpbmVXaWR0aD0uNSx0LmN0eC5maWxsU3R5bGU9dGhpcy5maWxsQ29sb3IsdC5jdHguZmlsbCgpLHQuY3R4LnN0cm9rZVN0eWxlPWh0Lm91dGxpbmUsdC5jdHgubGluZVdpZHRoPS41LHQuY3R4LnN0cm9rZSgpLHQuY3R4LmJlZ2luUGF0aCgpLHQuY3R4LmFyYyh0aGlzLngsdGhpcy55LGUrMiwwLDIqTWF0aC5QSSksdC5jdHguc3Ryb2tlU3R5bGU9aHQud2hpdGUsdC5jdHgubGluZVdpZHRoPTIsdC5jdHguc3Ryb2tlKCksdC5jdHguYmVnaW5QYXRoKCksdC5jdHguYXJjKHRoaXMueCx0aGlzLnksZSszLDAsMipNYXRoLlBJKSx0LmN0eC5zdHJva2VTdHlsZT1odC5vdXRsaW5lLHQuY3R4LmxpbmVXaWR0aD0xLHQuY3R4LnN0cm9rZSgpLHQuY3R4LmZpbGxTdHlsZT1odC5vdXRsaW5lLHQuY3R4LnJvdW5kZWRSZWN0KHRoaXMueC0oZSs1KSx0aGlzLnktMixvWzBdLG9bMV0sMiksdC5jdHguZmlsbCgpLHQuY3R4LmZpbGxTdHlsZT1odC53aGl0ZSx0LmN0eC5yb3VuZGVkUmVjdCh0aGlzLngtKGUrNS0xKSx0aGlzLnktMSxvWzBdLG9bMV0vMiwxKSx0LmN0eC5maWxsKCksdC5jdHguZmlsbFN0eWxlPWh0Lm91dGxpbmUsdC5jdHgucm91bmRlZFJlY3QodGhpcy54K2Urbix0aGlzLnktMixvWzBdLG9bMV0sMiksdC5jdHguZmlsbCgpLHQuY3R4LmZpbGxTdHlsZT1odC53aGl0ZSx0LmN0eC5yb3VuZGVkUmVjdCh0aGlzLngrZStuLTEsdGhpcy55LTEsb1swXSxvWzFdLzIsMSksdC5jdHguZmlsbCgpLHQuY3R4LmZpbGxTdHlsZT1odC5vdXRsaW5lLHQuY3R4LnJvdW5kZWRSZWN0KHRoaXMueC0yLHRoaXMueS1lLTUsb1sxXSxvWzBdLDIpLHQuY3R4LmZpbGwoKSx0LmN0eC5maWxsU3R5bGU9aHQud2hpdGUsdC5jdHgucm91bmRlZFJlY3QodGhpcy54LTEsdGhpcy55LWUtNSsxLG9bMV0vMixvWzBdLDEpLHQuY3R4LmZpbGwoKSx0LmN0eC5maWxsU3R5bGU9aHQub3V0bGluZSx0LmN0eC5yb3VuZGVkUmVjdCh0aGlzLngtMix0aGlzLnkrZStuLG9bMV0sb1swXSwyKSx0LmN0eC5maWxsKCksdC5jdHguZmlsbFN0eWxlPWh0LndoaXRlLHQuY3R4LnJvdW5kZWRSZWN0KHRoaXMueC0xLHRoaXMueStlK24tMSxvWzFdLzIsb1swXSwxKSx0LmN0eC5maWxsKCl9fSx4ZS5wcm90byhGaSxrZSksRmkucHJvdG90eXBlLmRpbWVuc2lvbnM9ZnVuY3Rpb24odCxlKXt0aGlzLmNzcyh7d2lkdGg6dCxoZWlnaHQ6ZX0pLHRoaXMuZWxlbWVudC53aWR0aD1NYXRoLnJvdW5kKHQvdGhpcy5zY2FsZSkqdGhpcy5kcHIsdGhpcy5lbGVtZW50LmhlaWdodD1NYXRoLnJvdW5kKGUvdGhpcy5zY2FsZSkqdGhpcy5kcHIsdGhpcy5jdHguc2NhbGUodGhpcy5kcHIsdGhpcy5kcHIpLHRoaXMud2lkdGg9TWF0aC5yb3VuZCh0L3RoaXMuc2NhbGUpLHRoaXMuaGVpZ2h0PU1hdGgucm91bmQoZS90aGlzLnNjYWxlKX0sRmkucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5jdHgmJnRoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5lbGVtZW50LndpZHRoLHRoaXMuZWxlbWVudC5oZWlnaHQpfSxGaS5wcm90b3R5cGUuZHJhdz1mdW5jdGlvbigpe3RoaXMuY3R4JiYodGhpcy5jdHguZmlsbFN0eWxlPXRoaXMuY2xlYXJDb2xvcix0aGlzLmN0eC5maWxsUmVjdCgwLDAsdGhpcy5lbGVtZW50LndpZHRoLHRoaXMuZWxlbWVudC5oZWlnaHQpKX0sRmkucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5fX2Rlc3Ryb3koKSx0aGlzLmVsZW1lbnQ9bnVsbCx0aGlzLmN0eD1udWxsLHRoaXMud2lkdGg9bnVsbCx0aGlzLmhlaWdodD1udWxsfSxMaS5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlLGkpe0hpLmNhbGwodGhpcyx0LGUsaSwhMSl9LExpLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKHQsZSxpKXtIaS5jYWxsKHRoaXMsdCxlLGksITApfSxMaS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZXZlbnRzW3RdO2lmKGkpe2Zvcih2YXIgbj1pLmxlbmd0aDstLW4+LTE7KWlbbl0uZm49PT1lJiZpLnNwbGljZShuLDEpOzA9PT1pLmxlbmd0aCYmZGVsZXRlIHRoaXMuX2V2ZW50c1t0XX19LExpLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2V2ZW50c1t0XTtpZihlKXtmb3IodmFyIGksbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksbz1lLmxlbmd0aDstLW8+LTE7KShpPWVbb10pLmZuLmFwcGx5KGkuY29udGV4dCxuKSxpLm9uY2UmJmUuc3BsaWNlKG8sMSk7MD09PWUubGVuZ3RoJiZkZWxldGUgdGhpcy5fZXZlbnRzW3RdfX0sTGkucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbigpe3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpfSxQaS5wcm90b3R5cGUuX3NlbmRNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dCBpbnN0YW5jZW9mIEhUTUxJRnJhbWVFbGVtZW50O3RyeXtpP3QuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShlKSx0aGlzLnRhcmdldE9yaWdpbik6dC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShlKSx0aGlzLnRhcmdldE9yaWdpbil9Y2F0Y2goZHMpe1V0KCJtZXNzYWdpbmciLGRzKSwiKiIhPT10aGlzLnRhcmdldE9yaWdpbiYmKHRoaXMuc2V0VGFyZ2V0T3JpZ2luKCIqIiksdGhpcy5fc2VuZE1lc3NhZ2UodCxlKSl9fSxQaS5wcm90b3R5cGUuc2V0UmVhZHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLmlzUmVhZHk9dCxlLmlzUmVhZHkmJmUucXVldWUubGVuZ3RoJiYoZS5xdWV1ZS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLl9zZW5kTWVzc2FnZS5hcHBseShlLHQpfSkpLGUuY2xlYXJRdWV1ZSgpKX0sUGkucHJvdG90eXBlLmNsZWFyUXVldWU9ZnVuY3Rpb24oKXt0aGlzLnF1ZXVlPVtdfSxQaS5wcm90b3R5cGUuc2V0SUQ9ZnVuY3Rpb24odCl7dGhpcy5pZD10fSxQaS5wcm90b3R5cGUuc2V0VGFyZ2V0T3JpZ2luPWZ1bmN0aW9uKHQpe3RoaXMudGFyZ2V0T3JpZ2luPSIqIn0sUGkucHJvdG90eXBlLmNvbnRhY3Q9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5pZCl0aHJvdyBuZXcgRXJyb3IoIkNoYXQgcmVxdWlyZXMgdW5pcXVlIGlkIHRvIGNvbW11bmljYXRlIGJldHdlZW4gd2luZG93cyIpO3ZhciBpPXRoaXMsbj1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiksbz17c291cmNlOiJoY2FwdGNoYSIsbGFiZWw6dCxpZDp0aGlzLmlkLHByb21pc2U6ImNyZWF0ZSIsbG9va3VwOm59O2lmKGUpe2lmKCJvYmplY3QiIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIk1lc3NhZ2UgbXVzdCBiZSBhbiBvYmplY3QuIik7by5jb250ZW50cz1lfXJldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxyKXtpLndhaXRpbmcucHVzaCh7bGFiZWw6dCxyZWplY3Q6cixyZXNvbHZlOmUsbG9va3VwOm59KSxpLl9hZGRUb1F1ZXVlKGkudGFyZ2V0LG8pfSkpfSxQaS5wcm90b3R5cGUubGlzdGVuPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMuaWQpdGhyb3cgbmV3IEVycm9yKCJDaGF0IHJlcXVpcmVzIHVuaXF1ZSBpZCB0byBjb21tdW5pY2F0ZSBiZXR3ZWVuIHdpbmRvd3MiKTtmb3IodmFyIGk9dGhpcy5tZXNzYWdlcy5sZW5ndGgsbj0hMTstLWk+LTEmJiExPT09bjspdGhpcy5tZXNzYWdlc1tpXS5sYWJlbD09PXQmJihuPXRoaXMubWVzc2FnZXNbaV0pOyExPT09biYmKG49e2xhYmVsOnQsbGlzdGVuZXJzOltdfSx0aGlzLm1lc3NhZ2VzLnB1c2gobikpLG4ubGlzdGVuZXJzLnB1c2goZSl9LFBpLnByb3RvdHlwZS5hbnN3ZXI9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5pZCl0aHJvdyBuZXcgRXJyb3IoIkNoYXQgcmVxdWlyZXMgdW5pcXVlIGlkIHRvIGNvbW11bmljYXRlIGJldHdlZW4gd2luZG93cyIpO2Zvcih2YXIgaT10aGlzLmluY29taW5nLmxlbmd0aCxuPSExOy0taT4tMSYmITE9PT1uOyl0aGlzLmluY29taW5nW2ldLmxhYmVsPT09dCYmKG49dGhpcy5pbmNvbWluZ1tpXSk7ITE9PT1uJiYobj17bGFiZWw6dCxsaXN0ZW5lcnM6W119LHRoaXMuaW5jb21pbmcucHVzaChuKSksbi5saXN0ZW5lcnMucHVzaChlKX0sUGkucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzO2lmKCFpLmlkKXRocm93IG5ldyBFcnJvcigiQ2hhdCByZXF1aXJlcyB1bmlxdWUgaWQgdG8gY29tbXVuaWNhdGUgYmV0d2VlbiB3aW5kb3dzIik7dmFyIG49e3NvdXJjZToiaGNhcHRjaGEiLGxhYmVsOnQsaWQ6aS5pZH07aWYoZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiTWVzc2FnZSBtdXN0IGJlIGFuIG9iamVjdC4iKTtuLmNvbnRlbnRzPWV9aS5fYWRkVG9RdWV1ZShpLnRhcmdldCxuKX0sUGkucHJvdG90eXBlLmNoZWNrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPVtdLmNvbmNhdC5hcHBseShbXSxbdGhpcy5tZXNzYWdlcyx0aGlzLmluY29taW5nLHRoaXMud2FpdGluZ10pLG49W10sbz0tMTsrK288aS5sZW5ndGg7KWlmKGlbb10ubGFiZWw9PT10KXtpZihlJiZpW29dLmxvb2t1cCYmZSE9PWlbb10ubG9va3VwKWNvbnRpbnVlO24ucHVzaChpW29dKX1yZXR1cm4gbn0sUGkucHJvdG90eXBlLnJlc3BvbmQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGksbj0tMSxvPTAscj1bXS5jb25jYXQuYXBwbHkoW10sW3RoaXMubWVzc2FnZXMsdGhpcy5pbmNvbWluZyx0aGlzLndhaXRpbmddKTsrK248ci5sZW5ndGg7KWlmKHJbbl0ubGFiZWw9PT10LmxhYmVsKXtpZih0Lmxvb2t1cCYmcltuXS5sb29rdXAmJnQubG9va3VwIT09cltuXS5sb29rdXApY29udGludWU7dmFyIHM9W107aWYoZT1yW25dLHQuZXJyb3ImJnMucHVzaCh0LmVycm9yKSx0LmNvbnRlbnRzJiZzLnB1c2godC5jb250ZW50cyksdC5wcm9taXNlJiYiY3JlYXRlIiE9PXQucHJvbWlzZSl7ZVt0LnByb21pc2VdLmFwcGx5KGVbdC5wcm9taXNlXSxzKTtmb3IodmFyIGE9dGhpcy53YWl0aW5nLmxlbmd0aCxsPSExOy0tYT4tMSYmITE9PT1sOyl0aGlzLndhaXRpbmdbYV0ubGFiZWw9PT1lLmxhYmVsJiZ0aGlzLndhaXRpbmdbYV0ubG9va3VwPT09ZS5sb29rdXAmJihsPSEwLHRoaXMud2FpdGluZy5zcGxpY2UoYSwxKSk7Y29udGludWV9Zm9yKG89MDtvPGUubGlzdGVuZXJzLmxlbmd0aDtvKyspe2lmKGk9ZS5saXN0ZW5lcnNbb10sImNyZWF0ZSI9PT10LnByb21pc2Upe3ZhciBjPXRoaXMuX2NvbnRhY3RQcm9taXNlKGUubGFiZWwsdC5sb29rdXApO3MucHVzaChjKX10cnl7aS5hcHBseShpLHMpfWNhdGNoKGRzKXtVdCgiY2hhdC1jYiIsZHMpfX19cj1udWxsfSxQaS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsZWFyUXVldWUoKSx0aGlzLm1lc3NhZ2VzPW51bGwsdGhpcy5pbmNvbWluZz1udWxsLHRoaXMud2FpdGluZz1udWxsLHRoaXMuaXNSZWFkeT0hMSxudWxsfSxQaS5wcm90b3R5cGUuX2NvbnRhY3RQcm9taXNlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPXt9LG89bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7bi5yZXNvbHZlPXQsbi5yZWplY3Q9ZX0pKSxyPXtzb3VyY2U6ImhjYXB0Y2hhIixsYWJlbDp0LGlkOmkuaWQscHJvbWlzZTpudWxsLGxvb2t1cDplfTtyZXR1cm4gby50aGVuKChmdW5jdGlvbih0KXtyLnByb21pc2U9InJlc29sdmUiLG51bGwhPT10JiYoci5jb250ZW50cz10KSxpLl9hZGRUb1F1ZXVlKGkudGFyZ2V0LHIpfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtyLnByb21pc2U9InJlamVjdCIsbnVsbCE9PXQmJihyLmVycm9yPXQpLGkuX2FkZFRvUXVldWUoaS50YXJnZXQscil9KSksbn0sUGkucHJvdG90eXBlLl9hZGRUb1F1ZXVlPWZ1bmN0aW9uKHQsZSl7dGhpcy5pc1JlYWR5P3RoaXMuX3NlbmRNZXNzYWdlKHQsZSk6dGhpcy5xdWV1ZS5wdXNoKFt0LGVdKX07dmFyIERpPXtjaGF0czpbXSxtZXNzYWdlczpbXSxnbG9iYWxFbmFibGVkOiExLGlzU3VwcG9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuISF3aW5kb3cucG9zdE1lc3NhZ2V9LGNyZWF0ZUNoYXQ6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPW5ldyBQaSh0LGUsaSk7cmV0dXJuIERpLmNoYXRzLnB1c2gobiksbn0sYWRkQ2hhdDpmdW5jdGlvbih0KXtEaS5jaGF0cy5wdXNoKHQpfSxyZW1vdmVDaGF0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0hMSxpPURpLmNoYXRzLmxlbmd0aDstLWk+LTEmJiExPT09ZTspdC5pZD09PURpLmNoYXRzW2ldLmlkJiZ0LnRhcmdldD09PURpLmNoYXRzW2ldLnRhcmdldCYmKGU9RGkuY2hhdHNbaV0sRGkuY2hhdHMuc3BsaWNlKGksMSkpO3JldHVybiBlfSxjb25zdW1lTWVzc2FnZXM6ZnVuY3Rpb24oKXt2YXIgdD1EaS5tZXNzYWdlcztyZXR1cm4gRGkubWVzc2FnZXM9W10sdH0saGFuZGxlR2xvYmFsOmZ1bmN0aW9uKHQpe2lmKERpLmdsb2JhbEVuYWJsZWQpe3ZhciBlPURpLm1lc3NhZ2VzO2lmKGUubGVuZ3RoPj0xMClEaS5nbG9iYWxFbmFibGVkPSExO2Vsc2V7dmFyIGk9ZS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZS5kYXRhKT09PUpTT04uc3RyaW5naWZ5KHQuZGF0YSl9KSk7aXx8ZS5wdXNoKHQpfX19LGhhbmRsZTpmdW5jdGlvbih0KXt2YXIgZT10LmRhdGEsaT0ic3RyaW5nIj09dHlwZW9mIGUmJmUuaW5kZXhPZigiaGNhcHRjaGEiKT49MHx8Im9iamVjdCI9PXR5cGVvZiBlJiZKU09OLnN0cmluZ2lmeShlKS5pbmRleE9mKCJoY2FwdGNoYSIpPj0wO3RyeXtpZighaSlyZXR1cm4gdm9pZCBEaS5oYW5kbGVHbG9iYWwodCk7InN0cmluZyI9PXR5cGVvZiBlJiYoZT1KU09OLnBhcnNlKGUpKSwiZCI9PT1lLnQmJkRpLm1lc3NhZ2VzLnB1c2godCk7Zm9yKHZhciBuLG89RGkuY2hhdHMscj0tMTsrK3I8by5sZW5ndGg7KXt2YXIgcz0iKiI9PT0obj1vW3JdKS50YXJnZXRPcmlnaW58fHQub3JpZ2luPT09bi50YXJnZXRPcmlnaW47bi5pZD09PWUuaWQmJnMmJm4ucmVzcG9uZChlKX19Y2F0Y2goZHMpe010KCJwb3N0TWVzc2FnZSBoYW5kbGVyIGVycm9yIiwicG9zdE1lc3NhZ2UiLCJkZWJ1ZyIse2V2ZW50OnQsZXJyb3I6ZHN9KX19fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsRGkuaGFuZGxlKTp3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubWVzc2FnZSIsRGkuaGFuZGxlKTt2YXIgTmk9bmV3IFBpKHdpbmRvdy5wYXJlbnQpO05pLmluaXQ9ZnVuY3Rpb24odCxlKXtOaS5zZXRJRCh0KSxOaS5zZXRUYXJnZXRPcmlnaW4oZSksRGkuZ2xvYmFsRW5hYmxlZD0hMCxEaS5hZGRDaGF0KE5pKX07dmFyIFppPW51bGw7ZnVuY3Rpb24gSWkodCl7WmkmJnV0LmNvbmZpcm1OYXY/WmkuZGlzcGxheSgibGluayIse3VybDp0fSk6d2luZG93Lm9wZW4odCwiX2JsYW5rIil9ZnVuY3Rpb24gamkodCxlKXtmb3IodmFyIGkgaW4gZSl7dmFyIG49ZVtpXTtzd2l0Y2godHlwZW9mIG4pe2Nhc2Uic3RyaW5nIjp0W2ldPW47YnJlYWs7Y2FzZSJvYmplY3QiOnRbaV09dFtpXXx8e30samkodFtpXSxuKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiU291cmNlIHRoZW1lIGNvbnRhaW5zIGludmFsaWQgZGF0YSB0eXBlcy4gT25seSBzdHJpbmcgYW5kIG9iamVjdCB0eXBlcyBhcmUgc3VwcG9ydGVkLiIpfX19ZnVuY3Rpb24gemkodCxlKXt0cnl7cmV0dXJuIHQgaW4gZX1jYXRjaChpKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2kodCl7cmV0dXJuISF0JiYib2JqZWN0Ij09dHlwZW9mIHR9ZnVuY3Rpb24gWWkodCl7cmV0dXJuIEtpKHQpP0ppKHt9LHQpOnR9ZnVuY3Rpb24gSmkodCxlKXt2YXIgaSxuPXt9LG89T2JqZWN0LmtleXModCk7Zm9yKGk9MDtpPG8ubGVuZ3RoO2krKyluW29baV1dPVlpKHRbb1tpXV0pO3ZhciByLHMsYT1PYmplY3Qua2V5cyhlKTtmb3IoaT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgbD1hW2ldO2lmKCEoIXppKHI9bCxzPXQpfHxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChzLHIpJiZPYmplY3QucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLHIpKSlyZXR1cm47emkobCx0KSYmS2kodFtsXSk/bltsXT1KaSh0W2xdLGVbbF0pOm5bbF09WWkoZVtsXSl9cmV0dXJuIG59dmFyIEdpPXt0cmFuc3BhcmVudDoidHJhbnNwYXJlbnQiLHdoaXRlOiIjZmZmZmZmIixibGFjazoiIzAwMDAwMCIsZ3JleToiIzcwNzA3MCJ9LFFpPXsxMDA6IiNmYWZhZmEiLDIwMDoiI2Y1ZjVmNSIsMzAwOiIjRTBFMEUwIiw0MDA6IiNEN0Q3RDciLDUwMDoiI0JGQkZCRiIsNjAwOiIjOTE5MTkxIiw3MDA6IiM1NTU1NTUiLDgwMDoiIzMzMzMzMyIsOTAwOiIjMjIyMjIyIiwxZTM6IiMxNDE5MUYifSwkaT17MzAwOiIjNERFMUQyIiw1MDA6IiMwMDgzOEYifSxYaT17MzAwOiIjQkYxNzIyIiw1MDA6IiNCRjE3MjIiLDcwMDoiIzlEMUIxQiJ9LHFpPXtfX3Byb3RvX186bnVsbCxjb21tb246R2ksZ3JleTpRaSx0ZWFsOiRpLHJlZDpYaX0sdG49e21vZGU6ImxpZ2h0IixncmV5OlFpLHByaW1hcnk6e21haW46JGlbNTAwXX0sc2Vjb25kYXJ5OnttYWluOiRpWzMwMF19LHdhcm46e2xpZ2h0OlhpWzMwMF0sbWFpbjpYaVs1MDBdLGRhcms6WGlbNzAwXX0sdGV4dDp7aGVhZGluZzpRaVs4MDBdLGJvZHk6UWlbODAwXX19LGVuPXttb2RlOiJkYXJrIixncmV5OlFpLHByaW1hcnk6e21haW46JGlbNTAwXX0sc2Vjb25kYXJ5OnttYWluOiRpWzMwMF19LHRleHQ6e2hlYWRpbmc6UWlbMjAwXSxib2R5OlFpWzIwMF19fTtmdW5jdGlvbiBubih0LGUpe3JldHVybiJkYXJrIj09PWUmJnQgaW4gZW4/ZW5bdF06dG5bdF19ZnVuY3Rpb24gb24oKXt0aGlzLl90aGVtZXM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9hY3RpdmU9ImxpZ2h0Iix0aGlzLmFkZCgibGlnaHQiLHt9KSx0aGlzLmFkZCgiZGFyayIse3BhbGV0dGU6e21vZGU6ImRhcmsifX0pfW9uLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIHRoaXMuX3RoZW1lc1t0aGlzLl9hY3RpdmVdO3ZhciBlPXRoaXMuX3RoZW1lc1t0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIHRoZW1lIHdpdGggbmFtZTogIit0KTtyZXR1cm4gZX0sb24ucHJvdG90eXBlLnVzZT1mdW5jdGlvbih0KXt0aGlzLl90aGVtZXNbdF0/dGhpcy5fYWN0aXZlPXQ6Y29uc29sZS5lcnJvcigiQ2Fubm90IGZpbmQgdGhlbWUgd2l0aCBuYW1lOiAiK3QpfSxvbi5wcm90b3R5cGUuYWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZX0sb24ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSxlLnBhbGV0dGU9ZnVuY3Rpb24odCl7dHx8KHQ9e30pO3ZhciBlPXQubW9kZXx8ImxpZ2h0IixpPXQucHJpbWFyeXx8bm4oInByaW1hcnkiLGUpLG49dC5zZWNvbmRhcnl8fG5uKCJzZWNvbmRhcnkiLGUpLG89dC53YXJufHxubigid2FybiIsZSkscj10LmdyZXl8fG5uKCJncmV5IixlKSxzPXQudGV4dHx8bm4oInRleHQiLGUpO3JldHVybiBKaSh7Y29tbW9uOkdpLG1vZGU6ZSxwcmltYXJ5Omksc2Vjb25kYXJ5Om4sZ3JleTpyLHdhcm46byx0ZXh0OnN9LHQpfShlLnBhbGV0dGUpLGUuY29tcG9uZW50PWUuY29tcG9uZW50fHxPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX3RoZW1lc1t0XT1lfSxvbi5wcm90b3R5cGUuZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7InN0cmluZyI9PXR5cGVvZiBlJiYoZT1KU09OLnBhcnNlKGUpKTt2YXIgaT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0KHQpKSk7cmV0dXJuIGppKGksZSksaX0sb24ubWVyZ2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gSmkodCxlfHx7fSl9O3ZhciBybj17X19wcm90b19fOm51bGwsQ29sb3JzOnFpLFRoZW1lOm9ufSxzbj1uZXcgb247ZnVuY3Rpb24gYW4odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHtmb2N1czp7b3V0bGluZTplLnByaW1hcnkubWFpbn19LGkubGluayl9ZnVuY3Rpb24gbG4odCl7eGUuc2VsZih0aGlzLF9lLCJsaW5rIiwiYSIpLHRoaXMuY29uZmlnPXt1cmw6dC51cmwsdGV4dDp0LnRleHQsdGV4dExhYmVsOnQudGV4dExhYmVsfHwiIix1bmRlcmxpbmU6dC51bmRlcmxpbmV8fCExLHRoZW1lOnQudGhlbWUsbGlua1RvTG9jYWxlOnQubGlua1RvTG9jYWxlLG9uRGFya0JnOnQub25EYXJrQmd9LHRoaXMuc3RhdGU9e2xvY2tlZDohMX0sdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwwKSx0aGlzLmNvbmZpZy51cmwmJih0aGlzLnNldEF0dHJpYnV0ZSgiaHJlZiIsdGhpcy5jb25maWcudXJsKSx0aGlzLnNldEF0dHJpYnV0ZSgidGFyZ2V0IiwiX2JsYW5rIikpLHRoaXMub25TZWxlY3Q9dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpLHRoaXMub25Ib3Zlcj10aGlzLm9uSG92ZXIuYmluZCh0aGlzKSx0aGlzLm9uRm9jdXM9dGhpcy5vbkZvY3VzLmJpbmQodGhpcyksdGhpcy5vbkJsdXI9dGhpcy5vbkJsdXIuYmluZCh0aGlzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLm9uU2VsZWN0KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVudGVyIix0aGlzLm9uU2VsZWN0KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm92ZXIiLHRoaXMub25Ib3ZlciksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJvdXQiLHRoaXMub25Ib3ZlciksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5vbkZvY3VzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMub25CbHVyKSx0aGlzLnRyYW5zbGF0ZSgpfWZ1bmN0aW9uIGNuKHQpe3hlLnNlbGYodGhpcyxfZSxudWxsLCJzcGFuIiksdGhpcy5jb25maWc9e3RleHQ6dC50ZXh0LGJvbGQ6dC5ib2xkfSx0aGlzLnRleHQodGhpcy5jb25maWcudGV4dCl9ZnVuY3Rpb24gaG4odCl7eGUuc2VsZih0aGlzLF9lLHQuc2VsZWN0b3J8fG51bGwsdC5lbGVtZW50fHwiZGl2IiksdGhpcy5zdGF0ZT17dGhlbWU6dC50aGVtZX19ZnVuY3Rpb24gdW4odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0LnNyYyYmISh0LnNyYyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJHcmFwaGljIHNyYyBtdXN0IGJlIHN0cmluZyBvciBIVE1MRWxlbWVudC4gUGFzc2VkIHNyYzogIit0LnNyYyk7eGUuc2VsZih0aGlzLF9lLHQuc2VsZWN0b3J8fCIuZ3JhcGhpYyIpLHRoaXMuc3RhdGU9e2xvYWRlZDohMX0sdGhpcy5jb25maWc9e3NyYzp0LnNyYyxmYWxsYmFjazp0LmZhbGxiYWNrfHwhMSx3aWR0aDp0LndpZHRofHwwLGhlaWdodDp0LmhlaWdodHx8dC53aWR0aHx8MCxmaWxsOnQuZmlsbCxzdHJva2U6dC5zdHJva2UsbGFiZWw6dC5sYWJlbH0sdGhpcy5pbWFnZT1udWxsLCh0LmF1dG9Mb2FkfHx0LmF1dG9Mb2FkPT09dW5kZWZpbmVkKSYmdGhpcy5sb2FkKCl9ZnVuY3Rpb24gcG4odCxlKXt2YXIgaT10Lm5vZGVOYW1lO2lmKCJzdmciPT09aXx8ImciPT09aXx8ImNsaXBQYXRoIj09PWkpe3ZhciBuPXQmJih0LmNoaWxkcmVufHx0LmNoaWxkTm9kZXMpO2lmKCFuKXJldHVybjtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylwbihuW29dLGUpfWVsc2UgaWYodCYmdC5zdHlsZSYmKCJwYXRoIj09PWl8fCJyZWN0Ij09PWl8fCJjaXJjbGUiPT09aXx8InBvbHlnb24iPT09aSkpe3ZhciByPSEhdC5nZXRBdHRyaWJ1dGUoInN0cm9rZSIpLHM9ISF0LmdldEF0dHJpYnV0ZSgiZmlsbCIpO3ImJih0LnN0eWxlLnN0cm9rZT1lKSxzJiYodC5zdHlsZS5maWxsPWUpLHN8fHJ8fCh0LnN0eWxlLmZpbGw9ZSl9fWZ1bmN0aW9uIGZuKHQpe3ZhciBlPXQucGFsZXR0ZSxpPXQuY29tcG9uZW50O3JldHVybiBvbi5tZXJnZSh7bWFpbjp7ZmlsbDplLmNvbW1vbi53aGl0ZSxpY29uOmUuZ3JleVs3MDBdLHRleHQ6ZS50ZXh0Lm1haW59LGhvdmVyOntmaWxsOmUuZ3JleVsyMDBdLGljb246ZS5wcmltYXJ5Lm1haW4sdGV4dDplLnRleHQubWFpbn0sZm9jdXM6e2ljb246ZS5wcmltYXJ5Lm1haW4sb3V0bGluZTplLnByaW1hcnkubWFpbn0sYWN0aXZlOntpY29uOmUuZ3JleVs3MDBdfX0saS5idXR0b24pfWZ1bmN0aW9uIGRuKHQpe3hlLnNlbGYodGhpcyxfZSx0LnNlbGVjdG9yKSx0aGlzLl90aGVtZT10LnRoZW1lLHRoaXMuc3RhdGU9e3NlbGVjdGFibGU6ITEhPT10LnNlbGVjdGFibGUsdGl0bGU6dC50aXRsZSxsYWJlbDp0LmxhYmVsLHZhbHVlOnQudmFsdWUsdmlzaWJsZTohMCxsb2NrZWQ6ITEsbW9iaWxlOiExLHNlbGVjdGVkOiExLHdpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0LGNsb3NlZEF0OkRhdGUubm93KCksZG93bkF0OjAsc3R5bGU6Zm4odGhpcy5fdGhlbWUuZ2V0KCkpfSx0aGlzLmFkZENsYXNzKCJidXR0b24iKSx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLDApLHRoaXMuc2V0QXR0cmlidXRlKCJyb2xlIiwiYnV0dG9uIiksdGhpcy5vbkRvd249dGhpcy5vbkRvd24uYmluZCh0aGlzKSx0aGlzLm9uSG92ZXI9dGhpcy5vbkhvdmVyLmJpbmQodGhpcyksdGhpcy5vblNlbGVjdD10aGlzLm9uU2VsZWN0LmJpbmQodGhpcyksdGhpcy5vbkZvY3VzPXRoaXMub25Gb2N1cy5iaW5kKHRoaXMpLHRoaXMub25CbHVyPXRoaXMub25CbHVyLmJpbmQodGhpcyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJkb3duIix0aGlzLm9uRG93biksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5vblNlbGVjdCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJlbnRlciIsdGhpcy5vblNlbGVjdCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5vbkZvY3VzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMub25CbHVyKSwhMT09PXR0LlN5c3RlbS5tb2JpbGUmJih0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm92ZXIiLHRoaXMub25Ib3ZlciksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJvdXQiLHRoaXMub25Ib3ZlcikpLHRoaXMuc2V0Q29weSgpfXNuLmFkZCgiY29udHJhc3QiLHtjb21wb25lbnQ6e3Byb21wdDp7bWFpbjp7ZmlsbDoiI2ZmZiIsdGV4dDoiIzAwMCJ9fSxleHBhbmRCdXR0b246e21haW46e2ZpbGw6IiMwMDAifX19fSksc24uYWRkKCJncmV5LXJlZCIse2NvbXBvbmVudDp7YnJlYWRjcnVtYjp7YWN0aXZlOntmaWxsOiIjRkYwMDAwIn19LHByb21wdDp7bWFpbjp7ZmlsbDoiIzZhNmE2YSJ9fSx0YXNrOntzZWxlY3RlZDp7Ym9yZGVyOiIjZmYxZjE3In19LGV4cGFuZEJ1dHRvbjp7bWFpbjp7ZmlsbDoiIzZhNmE2YSJ9fSx2ZXJpZnlCdXR0b246e21haW46e2ZpbGw6IiNmZjFmMTcifSxob3Zlcjp7ZmlsbDoiI2ZmMWYxNyJ9fSxza2lwQnV0dG9uOnttYWluOntmaWxsOiIjNmE2YTZhIn0saG92ZXI6e2ZpbGw6IiM2YTZhNmEifX19fSkseGUucHJvdG8obG4sX2UpLGxuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT10LmZvbnRTaXplfHwxMixpPXQuY29sb3J8fCJpbmhlcml0IixuPWFuKHRoaXMuY29uZmlnLnRoZW1lLmdldCgpKTt0aGlzLmNzcyh7Y29sb3I6aSxmb250V2VpZ2h0OjUwMCxmb250U2l6ZTplLGN1cnNvcjoicG9pbnRlciIsdGV4dERlY29yYXRpb246dGhpcy5jb25maWcudW5kZXJsaW5lPyJ1bmRlcmxpbmUiOiJub25lIixvdXRsaW5lQ29sb3I6bi5mb2N1cy5vdXRsaW5lLGRpc3BsYXk6ImlubGluZS1ibG9jayIsbGluZUhlaWdodDplfSl9LGxuLnByb3RvdHlwZS5zZXRMb2NrPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUubG9ja2VkPXQsdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLHQ/InRydWUiOiJmYWxzZSIpfSxsbi5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKHRoaXMuY29uZmlnLnRleHQpLGU9TWUudHJhbnNsYXRlKHRoaXMuY29uZmlnLnRleHRMYWJlbCk7dGhpcy5jb250ZW50KHQpLHRoaXMuY29uZmlnLmxpbmtUb0xvY2FsZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImhyZWYiLHRoaXMuY29uZmlnLnVybCsiJmhsPSIrTWUuZ2V0TG9jYWxlKCkpLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlKX0sbG4ucHJvdG90eXBlLm9uSG92ZXI9ZnVuY3Rpb24odCl7aWYoIXRoaXMuc3RhdGUubG9ja2VkKXt2YXIgZT0ib3ZlciI9PT10LmFjdGlvbjt0aGlzLmNzcyh7dGV4dERlY29yYXRpb246ZXx8dGhpcy5jb25maWcudW5kZXJsaW5lPyJ1bmRlcmxpbmUiOiJub25lIn0pfX0sbG4ucHJvdG90eXBlLm9uU2VsZWN0PWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUubG9ja2VkfHx0aGlzLmVtaXQoImNsaWNrIix0KX0sbG4ucHJvdG90eXBlLm9uRm9jdXM9ZnVuY3Rpb24odCl7dmFyIGU9YW4odGhpcy5jb25maWcudGhlbWUuZ2V0KCkpLmZvY3VzLm91dGxpbmU7dGhpcy5jc3Moe291dGxpbmU6IjJweCBzb2xpZCAiK2V9KX0sbG4ucHJvdG90eXBlLm9uQmx1cj1mdW5jdGlvbih0KXt0aGlzLmNzcyh7b3V0bGluZToibm9uZSJ9KX0seGUucHJvdG8oY24sX2UpLGNuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT10LmZvbnRTaXplfHwxMixpPXQubGluZUhlaWdodHx8ZSxuPXQuY29sb3J8fCIjMDAwIjt0aGlzLmNzcyh7Y29sb3I6bixmb250V2VpZ2h0OnRoaXMuY29uZmlnLmJvbGQ/NzAwOjUwMCxmb250U2l6ZTplLGxpbmVIZWlnaHQ6aX0pfSxjbi5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKHRoaXMuY29uZmlnLnRleHQpO3RoaXMudGV4dCh0KX0seGUucHJvdG8oaG4sX2UpLGhuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5jaGlsZHJlbi5sZW5ndGg7LS1lPi0xOyl0aGlzLmNoaWxkcmVuW2VdLnN0eWxlKHQpfSxobi5wcm90b3R5cGUucGFyc2VUZXh0PWZ1bmN0aW9uKHQpe3ZhciBlLGksbj1be3R5cGU6IkJPTEQiLHJlZ2V4Oi9cKlwqKFteKl0qKVwqXCovZ30se3R5cGU6IkxJTksiLHJlZ2V4Oi9cWyhbXltdKyldXCgoW14pXSopXCkvZ31dLG89W107Zm9yKGU9bi5sZW5ndGg7LS1lPi0xOylmb3IoO251bGwhPShpPW5bZV0ucmVnZXguZXhlYyh0KSk7KWkudHlwZT1uW2VdLnR5cGUsby5wdXNoKGkpO289by5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LmluZGV4LWUuaW5kZXh9KSksdGhpcy5yZW1vdmVBbGxDb21wb25lbnRzKCk7dmFyIHI9MDtmb3IoZT0wO2U8by5sZW5ndGg7ZSsrKXN3aXRjaChpPW9bZV0sdGhpcy5pbml0Q29tcG9uZW50KGNuLHt0ZXh0OnQuc3Vic3RyaW5nKHIsaS5pbmRleCl9KSxyPWkuaW5kZXgraVswXS5sZW5ndGgsaS50eXBlKXtjYXNlIkJPTEQiOnRoaXMuaW5pdENvbXBvbmVudChjbix7dGV4dDppWzFdLGJvbGQ6ITB9KTticmVhaztjYXNlIkxJTksiOnRoaXMuaW5pdENvbXBvbmVudChsbix7dGV4dDppWzFdLHVybDppWzJdLHVuZGVybGluZTohMCxvbkRhcmtCZzohMCx0aGVtZTp0aGlzLnN0YXRlLnRoZW1lfSl9cjx0Lmxlbmd0aCYmdGhpcy5pbml0Q29tcG9uZW50KGNuLHt0ZXh0OnQuc3Vic3RyaW5nKHIpfSksdGhpcy5zdHlsZSh7Zm9udFNpemU6ImluaGVyaXQiLGNvbG9yOiJpbmhlcml0In0pfSx4ZS5wcm90byh1bixfZSksdW4ucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXtpZih0aGlzLnN0YXRlLmxvYWRlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dGhpcy5zdGF0ZS5sb2FkZWQ9ITA7dmFyIHQ9dGhpcyxlPXRoaXMuY29uZmlnLnNyYztyZXR1cm4gWGUuaW1hZ2UoZSx7ZmFsbGJhY2s6dGhpcy5jb25maWcuZmFsbGJhY2t9KS50aGVuKChmdW5jdGlvbihlKXt0LmltYWdlPWUsdC5hcHBlbmRFbGVtZW50KGUuZWxlbWVudCksdC5zaXplKCksdC5maWxsKCksdC50cmFuc2xhdGUoKX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24oKXtNdCgiZ3JhcGhpYyBmYWlsZWQgdG8gbG9hZCIsImltYWdlIiwiaW5mbyIse3NyYzplfSl9KSl9LHVuLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQsZSl7dGhpcy5jb25maWcud2lkdGg9dHx8dGhpcy5jb25maWcud2lkdGgsdGhpcy5jb25maWcuaGVpZ2h0PWV8fHR8fHRoaXMuY29uZmlnLmhlaWdodCx0aGlzLmNzcyh7d2lkdGg6dGhpcy5jb25maWcud2lkdGgsaGVpZ2h0OnRoaXMuY29uZmlnLmhlaWdodH0pLHRoaXMuaW1hZ2UmJnRoaXMuaW1hZ2UuZWxlbWVudC5jc3Moe3dpZHRoOnRoaXMuY29uZmlnLndpZHRoLGhlaWdodDp0aGlzLmNvbmZpZy5oZWlnaHQsZGlzcGxheToiYmxvY2sifSl9LHVuLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbmZpZy5sYWJlbDt0JiZ0aGlzLmltYWdlJiZ0aGlzLmltYWdlLmVsZW1lbnQmJnRoaXMuaW1hZ2UuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFsdCIsTWUudHJhbnNsYXRlKHQpKX0sdW4ucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCl7KHRoaXMuY29uZmlnLmZpbGw9dHx8dGhpcy5jb25maWcuZmlsbCx0aGlzLmltYWdlJiYic3ZnIj09PXRoaXMuaW1hZ2UuZXh0JiZ0aGlzLmNvbmZpZy5maWxsKSYmcG4odGhpcy5pbWFnZS5lbGVtZW50LmRvbSx0aGlzLmNvbmZpZy5maWxsKX0seGUucHJvdG8oZG4sX2UpLGRuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLm1vYmlsZT10LHRoaXMuc3RhdGUuc3R5bGU9Zm4odGhpcy5fdGhlbWUuZ2V0KCkpLHRoaXMuY3NzKHt3aWR0aDp0aGlzLnN0YXRlLndpZHRoLGhlaWdodDp0aGlzLnN0YXRlLmhlaWdodCxjdXJzb3I6dGhpcy5zdGF0ZS5sb2NrZWQ/ImRlZmF1bHQiOiJwb2ludGVyIixkaXNwbGF5OnRoaXMuc3RhdGUudmlzaWJsZT8iaW5saW5lLWJsb2NrIjoibm9uZSIsY29sb3I6dGhpcy5zdGF0ZS5zdHlsZS5tYWluLnRleHQsYmFja2dyb3VuZENvbG9yOnRoaXMuc3RhdGUuc3R5bGUubWFpbi5maWxsLG91dGxpbmVDb2xvcjp0aGlzLnN0YXRlLnN0eWxlLmZvY3VzLm91dGxpbmUsYm9yZGVyOiIxcHggc29saWQgIit0aGlzLnN0YXRlLnN0eWxlLm1haW4uYm9yZGVyLGJvcmRlclJhZGl1czo0fSksdGhpcy5lbWl0KCJzdHlsZSIpfSxkbi5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS53aWR0aH0sZG4ucHJvdG90eXBlLmdldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmhlaWdodH0sZG4ucHJvdG90eXBlLl91cGRhdGVTdHlsZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnN0eWxlPWZuKHRoaXMuX3RoZW1lLmdldCgpKTt2YXIgZT10PyJob3ZlciI6Im1haW4iO3RoaXMuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6dGhpcy5zdGF0ZS5zdHlsZVtlXS5maWxsLGJvcmRlckNvbG9yOnRoaXMuc3RhdGUuc3R5bGVbZV0uYm9yZGVyLGNvbG9yOnRoaXMuc3RhdGUuc3R5bGVbZV0udGV4dH0pLHRoaXMuZW1pdCgic3R5bGUtdXBkYXRlIix0KX0sZG4ucHJvdG90eXBlLm9uRG93bj1mdW5jdGlvbigpe3RoaXMuc3RhdGUuZG93bkF0PURhdGUubm93KCl9LGRuLnByb3RvdHlwZS5vbkhvdmVyPWZ1bmN0aW9uKHQpe251bGw9PT10aGlzLmVtaXR8fCEwPT09dGhpcy5zdGF0ZS5sb2NrZWR8fHRoaXMuc3RhdGUuc2VsZWN0ZWR8fCh0aGlzLmVtaXQoImhvdmVyIix0KSx0aGlzLl91cGRhdGVTdHlsZSgib3ZlciI9PT10LmFjdGlvbikpfSxkbi5wcm90b3R5cGUub25TZWxlY3Q9ZnVuY3Rpb24odCl7dGhpcy5lbWl0JiYhMCE9PXRoaXMuc3RhdGUubG9ja2VkJiYoTWF0aC5hYnModGhpcy5zdGF0ZS5kb3duQXQtdGhpcy5zdGF0ZS5jbG9zZWRBdCk8MzB8fCh0aGlzLl9zZXRTdGF0ZSghIXRoaXMuc3RhdGUuc2VsZWN0YWJsZSYmIXRoaXMuc3RhdGUuc2VsZWN0ZWQpLHRoaXMuZW1pdCgiY2xpY2siLHtzZWxlY3RlZDp0aGlzLnN0YXRlLnNlbGVjdGVkLHVzaW5nS2I6ImVudGVyIj09PXQuYWN0aW9ufSkpKX0sZG4ucHJvdG90eXBlLm9uRm9jdXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zdGF0ZS5zdHlsZS5mb2N1cy5vdXRsaW5lO3RoaXMuY3NzKHtvdXRsaW5lOiIycHggc29saWQgIitlfSksdGhpcy5lbWl0KCJmb2N1cyIsdCl9LGRuLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24odCl7dGhpcy5jc3Moe291dGxpbmU6Im5vbmUifSksdGhpcy5lbWl0KCJibHVyIix0KX0sZG4ucHJvdG90eXBlLnNldExvY2s9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5sb2NrZWQ9dCx0aGlzLmNzcyh7Y3Vyc29yOnQ/ImRlZmF1bHQiOiJwb2ludGVyIn0pfSxkbi5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUudmlzaWJsZT10LHRoaXMuY3NzKHtkaXNwbGF5OnQ/ImlubGluZS1ibG9jayI6Im5vbmUifSksdGhpcy5zZXRMb2NrLmNhbGwodGhpcywhdCl9LGRuLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuX3NldFN0YXRlKCExKX0sZG4ucHJvdG90eXBlLl9zZXRTdGF0ZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnN0eWxlPWZuKHRoaXMuX3RoZW1lLmdldCgpKSx0aGlzLnN0YXRlLnNlbGVjdGVkPXQsdGhpcy5jc3Moe2JhY2tncm91bmRDb2xvcjp0aGlzLnN0YXRlLnN0eWxlLm1haW4uZmlsbH0pLHQ/dGhpcy5fdXBkYXRlU3R5bGUoITApOnRoaXMuc3RhdGUuY2xvc2VkQXQ9RGF0ZS5ub3coKSx0aGlzLmVtaXQoInN0YXRlLWNoYW5nZWQiLHQpfSxkbi5wcm90b3R5cGUuc2V0TGFiZWw9ZnVuY3Rpb24odCl7dCYmKHRoaXMuc3RhdGUubGFiZWw9dCksdGhpcy5zdGF0ZS5sYWJlbCYmdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLE1lLnRyYW5zbGF0ZSh0aGlzLnN0YXRlLmxhYmVsKSl9LGRuLnByb3RvdHlwZS5zZXRUaXRsZT1mdW5jdGlvbih0KXt0JiYodGhpcy5zdGF0ZS50aXRsZT10KSx0aGlzLnN0YXRlLnRpdGxlJiZ0aGlzLnNldEF0dHJpYnV0ZSgidGl0bGUiLE1lLnRyYW5zbGF0ZSh0aGlzLnN0YXRlLnRpdGxlKSl9LGRuLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7dGhpcy5zZXRMYWJlbCgpLHRoaXMuc2V0VGl0bGUoKX0sZG4ucHJvdG90eXBlLmNvbnRyb2xzTWVudT1mdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1jb250cm9scyIsdC5kb20uaWQpLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWhhc3BvcHVwIiwibWVudSIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMSksdC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdGhpcy5kb20uaWQpO3ZhciBlPSJhbmRyb2lkIj09PXR0LlN5c3RlbS5vczt0LnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLGU/IjAiOiItMSIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsZT8iZmFsc2UiOiJ0cnVlIil9LGRuLnByb3RvdHlwZS5vd25zTGlzdEJveD1mdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsImxpc3Rib3giKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5Iix0aGlzLmRvbS5pZCksdC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCExKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1vd25zIix0aGlzLmRvbS5pZCksdGhpcy5vbigic3RhdGUtY2hhbmdlZCIsKGZ1bmN0aW9uKGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIixlKX0pKX0sZG4ucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUudmFsdWV9O3ZhciBtbj0iaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tL2NhcHRjaGEvdjEvNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZS9zdGF0aWMvaW1hZ2VzIjtmdW5jdGlvbiB5bih0KXt0LnNlbGVjdG9yPXQuc2VsZWN0b3J8fHQubmFtZSx4ZS5zZWxmKHRoaXMsZG4sdCksdGhpcy4kb249dGhpcy5pbml0Q29tcG9uZW50KHVuLHtzZWxlY3RvcjoiLiIrdC5uYW1lKyItb24iLHNyYzp0LnNyYyxmYWxsYmFjazptbisiLyIrdC5uYW1lKyItb24ucG5nIixhdXRvTG9hZDohMX0pLHRoaXMuJG9mZj10aGlzLmluaXRDb21wb25lbnQodW4se3NlbGVjdG9yOiIuIit0Lm5hbWUrIi1vZmYiLHNyYzp0LnNyYyxmYWxsYmFjazptbisiLyIrdC5uYW1lKyItb2ZmLnBuZyIsYXV0b0xvYWQ6ITF9KSx0aGlzLiRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuJG9mZi5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMub24oInN0YXRlLWNoYW5nZWQiLHRoaXMuX29uU3RhdGVDaGFuZ2UuYmluZCh0aGlzKSksdGhpcy5vbigic3R5bGUiLHRoaXMuX29uU3R5bGUuYmluZCh0aGlzKSksdGhpcy5vbigic3R5bGUtdXBkYXRlIix0aGlzLl9vblN0eWxlVXBkYXRlLmJpbmQodGhpcykpfWZ1bmN0aW9uIGduKHQpe3hlLnNlbGYodGhpcyxkbix0KSx0aGlzLnN0YXRlLnRleHQ9dC50ZXh0LHRoaXMuJHRleHQ9dGhpcy5jcmVhdGVFbGVtZW50KCIudGV4dCIpLHRoaXMub24oInN0eWxlIix0aGlzLl9vblN0eWxlLmJpbmQodGhpcykpLHRoaXMuc2V0VGV4dCgpfWZ1bmN0aW9uIGJuKHQpe3hlLnNlbGYodGhpcyxkbix0KSx0aGlzLnN0YXRlLnRleHQ9dC50ZXh0LHRoaXMuc3RhdGUudHlwZT10LnR5cGV8fCJjb25maXJtIix0aGlzLiR0ZXh0PXRoaXMuY3JlYXRlRWxlbWVudCgiLnRleHQiKSx0aGlzLm9uKCJzdHlsZSIsdGhpcy5fb25TdHlsZS5iaW5kKHRoaXMpKSx0aGlzLnNldFRleHQoKX1mdW5jdGlvbiB2bih0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudDtyZXR1cm4gb24ubWVyZ2Uoe21haW46e2ZpbGw6ZS5ncmV5WzIwMF0sYm9yZGVyOmUuZ3JleVs2MDBdfSxzZWxlY3RlZDp7Y2hlY2s6ZS5wcmltYXJ5Lm1haW59LGZvY3VzOntvdXRsaW5lOmUucHJpbWFyeS5tYWlufX0saS5yYWRpbyl9ZnVuY3Rpb24gd24odCl7eGUuc2VsZih0aGlzLF9lLCJyYWRpby1idXR0b24iKSx0aGlzLnN0YXRlPXt0aGVtZTp0LnRoZW1lLGxvY2tlZDohMSxzZWxlY3RlZDohMSx0ZXh0OnQudGV4dCx2YWx1ZTp0LnZhbHVlfSx0aGlzLiR3cmFwcGVyPXRoaXMuY3JlYXRlRWxlbWVudCgiLndyYXBwZXIiKSx0aGlzLiRyYWRpbz10aGlzLiR3cmFwcGVyLmNyZWF0ZUVsZW1lbnQoIi5yYWRpbyIpLHRoaXMuJHJhZGlvLmJnPXRoaXMuJHJhZGlvLmNyZWF0ZUVsZW1lbnQoIi5yYWRpby1iZyIpLHRoaXMuJHJhZGlvLmNoZWNrPXRoaXMuJHJhZGlvLmNyZWF0ZUVsZW1lbnQoIi5yYWRpby1pbmRpY2F0b3IiKSx0aGlzLiRyYWRpby5jaGVjay5jc3Moe29wYWNpdHk6MH0pLHRoaXMuJHRleHQ9dGhpcy4kd3JhcHBlci5jcmVhdGVFbGVtZW50KCIucmFkaW8tdGV4dCIpLHRoaXMuJHRleHQuZG9tLmlkPSJSYWRpb0J1dHRvbi0iK3RoaXMuc3RhdGUudmFsdWUsdGhpcy4kcmFkaW8uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSx0aGlzLiRyYWRpby5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyYWRpbyIpLHRoaXMuJHJhZGlvLnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwhMSksdGhpcy4kcmFkaW8uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLHRoaXMuJHRleHQuZG9tLmlkKSx0aGlzLm9uU2VsZWN0PXRoaXMub25TZWxlY3QuYmluZCh0aGlzKSx0aGlzLm9uRm9jdXM9dGhpcy5vbkZvY3VzLmJpbmQodGhpcyksdGhpcy5vbkJsdXI9dGhpcy5vbkJsdXIuYmluZCh0aGlzKSx0aGlzLiRyYWRpby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5vblNlbGVjdCksdGhpcy4kcmFkaW8uYWRkRXZlbnRMaXN0ZW5lcigiZW50ZXIiLHRoaXMub25TZWxlY3QpLHRoaXMuJHJhZGlvLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLm9uRm9jdXMpLHRoaXMuJHJhZGlvLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMub25CbHVyKX1mdW5jdGlvbiBrbih0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudCxuPSJsaWdodCI9PT1lLm1vZGU7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUuZ3JleVsxMDBdLGJvcmRlcjplLmdyZXlbbj82MDA6MjAwXX0sZm9jdXM6e2ZpbGw6ZS5ncmV5WzIwMF0sb3V0bGluZTplLmdyZXlbbj84MDA6MTAwXX0sZGlzYWJsZWQ6e2ZpbGw6ZS5ncmV5WzMwMF19fSxpLnRleHRhcmVhKX1mdW5jdGlvbiB4bih0KXt4ZS5zZWxmKHRoaXMsX2UsImlucHV0LXRleHRhcmVhIik7dmFyIGU9dGhpczt0aGlzLnN0YXRlPXt2aXNpYmxlOiExLHBsYWNlaG9sZGVyOnQucGxhY2Vob2xkZXIsbGFiZWw6dC5sYWJlbCx0aGVtZTp0LnRoZW1lLGNvbXBvbmVudElkOnQuY29tcG9uZW50SWR8fCIifSx0aGlzLiRsYWJlbD10aGlzLmNyZWF0ZUVsZW1lbnQoImxhYmVsIiwiLnRleHRhcmVhLWxhYmVsIiksdGhpcy4kdGV4dGFyZWE9dGhpcy5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIsIi50ZXh0YXJlYSIpO3ZhciBpPSJ0ZXh0YXJlYS1sYWJlbC0iK3QuY29tcG9uZW50SWQ7dGhpcy4kdGV4dGFyZWEuc2V0QXR0cmlidXRlKCJpZCIsaSksdGhpcy4kbGFiZWwuc2V0QXR0cmlidXRlKCJmb3IiLGkpLHRoaXMuc2V0TGFiZWxUZXh0LmNhbGwodGhpcyksdGhpcy5zZXRQbGFjZWhvbGRlci5jYWxsKHRoaXMpLHRoaXMuJHRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoZnVuY3Rpb24odCl7ZS5lbWl0KCJjaGFuZ2UiLHQudGFyZ2V0LnZhbHVlKX0pKX1mdW5jdGlvbiBfbih0KXt4ZS5zZWxmKHRoaXMsX2UsdC5zZWxlY3Rvcnx8Imxpc3QtbmF0aXZlIiwic2VsZWN0Iik7dmFyIGU9dGhpczt0aGlzLl9vcHRpb25zPVtdLHRoaXMuX3NlbGVjdGVkPW51bGwsdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwwKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKCl7ZS5kb20udmFsdWUmJmUuc2VsZWN0KGUuZG9tLnZhbHVlKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oKXtlLmVtaXQoImZvY3VzIil9KSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoZnVuY3Rpb24oKXtlLmVtaXQoImJsdXIiKX0pKX14ZS5wcm90byh5bixkbikseW4ucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoW3RoaXMuJG9uLmxvYWQoKSx0aGlzLiRvZmYubG9hZCgpXSl9LHluLnByb3RvdHlwZS5fb25TdHlsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0V2lkdGgoKSxlPXQtMTAsaT0odC1lKS8yO3RoaXMuJG9uLnNpemUoZSksdGhpcy4kb24uZmlsbCh0aGlzLnN0YXRlLnN0eWxlLmZvY3VzLmljb24pLHRoaXMuJG9uLmNzcyh7Ii1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdCI6Im5vbmUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmksbGVmdDppfSksdGhpcy4kb2ZmLnNpemUoZSksdGhpcy4kb2ZmLmZpbGwodGhpcy5zdGF0ZS5zdHlsZS5tYWluLmljb24pLHRoaXMuJG9mZi5jc3MoeyItbXMtaGlnaC1jb250cmFzdC1hZGp1c3QiOiJub25lIixwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDppLGxlZnQ6aX0pfSx5bi5wcm90b3R5cGUuX29uU3R5bGVVcGRhdGU9ZnVuY3Rpb24odCl7ImllIj09PXR0LkJyb3dzZXIudHlwZSYmOD09PXR0LkJyb3dzZXIudmVyc2lvbj8odGhpcy4kb24uY3NzKHtkaXNwbGF5OnQ/ImJsb2NrIjoibm9uZSJ9KSx0aGlzLiRvZmYuY3NzKHtkaXNwbGF5OnQ/Im5vbmUiOiJibG9jayJ9KSk6KHRoaXMuJG9uLmNzcyh7b3BhY2l0eTp0PzE6MH0pLHRoaXMuJG9mZi5jc3Moe29wYWNpdHk6dD8wOjF9KSl9LHluLnByb3RvdHlwZS5fb25TdGF0ZUNoYW5nZT1mdW5jdGlvbih0KXsiaWUiPT09dHQuQnJvd3Nlci50eXBlJiY4PT09dHQuQnJvd3Nlci52ZXJzaW9uPyh0aGlzLiRvbi5jc3Moe2Rpc3BsYXk6dD8iYmxvY2siOiJub25lIn0pLHRoaXMuJG9mZi5jc3Moe2Rpc3BsYXk6dD8ibm9uZSI6ImJsb2NrIn0pKToodGhpcy4kb24uY3NzKHtvcGFjaXR5OnQ/MTowfSksdGhpcy4kb2ZmLmNzcyh7b3BhY2l0eTp0PzA6MX0pKX0seGUucHJvdG8oZ24sZG4pLGduLnByb3RvdHlwZS5zZXRUZXh0PWZ1bmN0aW9uKHQpe3RoaXMuJHRleHQudGV4dCh0fHx0aGlzLnN0YXRlLnRleHR8fHRoaXMuc3RhdGUudGl0bGUpfSxnbi5wcm90b3R5cGUuX29uU3R5bGU9ZnVuY3Rpb24oKXt0aGlzLmNzcyh7Y3Vyc29yOiJwb2ludGVyIn0pLHRoaXMuJHRleHQuY3NzKHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix0ZXh0QWxpZ246ImNlbnRlciIsZm9udFNpemU6MTEsZm9udFdlaWdodDo2MDAsbGluZUhlaWdodDp0aGlzLnN0YXRlLmhlaWdodCxwb3NpdGlvbjoiYWJzb2x1dGUifSl9LHhlLnByb3RvKGJuLGRuKSxibi5wcm90b3R5cGUuc2V0VGV4dD1mdW5jdGlvbih0KXt0JiYodGhpcy5zdGF0ZS50ZXh0PXQpLHRoaXMuJHRleHQudGV4dChNZS50cmFuc2xhdGUodGhpcy5zdGF0ZS50ZXh0fHx0aGlzLnN0YXRlLnRpdGxlKSksdGhpcy5zZXRDb3B5KCl9LGJuLnByb3RvdHlwZS5fb25TdHlsZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RoZW1lLmdldCgpLnBhbGV0dGUsZT0ibGlnaHQiPT09dC5tb2RlLGk9Indhcm4iPT09dGhpcy5zdGF0ZS50eXBlP3Qud2Fybi5tYWluOnQucHJpbWFyeS5tYWluO3RoaXMuY3NzKHt3aWR0aDoiYXV0byIsaGVpZ2h0OjE1LGN1cnNvcjp0aGlzLnN0YXRlLmxvY2tlZD8iZGVmYXVsdCI6InBvaW50ZXIiLGRpc3BsYXk6ImJsb2NrIixtYXJnaW46IjAgYXV0byIsdGV4dEFsaWduOiJjZW50ZXIiLGxpbmVIZWlnaHQ6MTUsYm9yZGVyUmFkaXVzOjQscGFkZGluZzoiMTBweCAxNXB4In0pLHRoaXMuJHRleHQuY3NzKHtjb2xvcjp0aGlzLnN0YXRlLmxvY2tlZD9lP3QudGV4dC5ib2R5OnQuZ3JleVs3MDBdOmksZm9udFNpemU6MTUsZm9udFdlaWdodDo1MDAsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pfSxibi5wcm90b3R5cGUubG9jaz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90aGVtZS5nZXQoKS5wYWxldHRlLGk9Indhcm4iPT09dGhpcy5zdGF0ZS50eXBlP2Uud2Fybi5tYWluOmUucHJpbWFyeS5tYWluLG49ImxpZ2h0Ij09PWUubW9kZTt0aGlzLnN0YXRlLmxvY2tlZD10LHRoaXMuY3NzKHtjdXJzb3I6dD8iZGVmYXVsdCI6InBvaW50ZXIifSksdGhpcy4kdGV4dC5jc3Moe2NvbG9yOnQ/bj9lLnRleHQuYm9keTplLmdyZXlbNzAwXTppfSksdD90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsdCk6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiKX0seGUucHJvdG8od24sX2UpLHduLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT1LdCh0LDEyNSwxNTAsMTMsMTQpLGk9MTUsbj10LTI3LG89dGhpcy5zdGF0ZS50aGVtZSxyPXZuKG8uZ2V0KCkpLHM9by5nZXQoKS5wYWxldHRlLGE9ImxpZ2h0Ij09PXMubW9kZSxsPU1lLmlzUlRMKCksYz1sPyJyaWdodCI6ImxlZnQiLGg9bD8ibGVmdCI6InJpZ2h0Iix1PWw/e21hcmdpblJpZ2h0OjEwLG1hcmdpbkxlZnQ6MH06e21hcmdpbkxlZnQ6MTAsbWFyZ2luUmlnaHQ6MH07dGhpcy5jc3Moe2hlaWdodDoiYXV0byIsbWFyZ2luVG9wOjUsbWFyZ2luQm90dG9tOjUscG9zaXRpb246InJlbGF0aXZlIn0pLHRoaXMuJHdyYXBwZXIuY3NzKHtjdXJzb3I6InBvaW50ZXIiLGhlaWdodDoiYXV0byIsd2lkdGg6ImF1dG8iLHBvc2l0aW9uOiJyZWxhdGl2ZSIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pLHRoaXMuJHJhZGlvLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLHdpZHRoOmksaGVpZ2h0OmksYm9yZGVyUmFkaXVzOjIsb3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyOiIxcHggc29saWQgIityLm1haW4uYm9yZGVyLGZsb2F0OmN9KSx0aGlzLiRyYWRpby5jaGVjay5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjIsbGVmdDoyLHpJbmRleDoxMCx3aWR0aDoxMSxoZWlnaHQ6MTEsYm9yZGVyUmFkaXVzOjEsYmFja2dyb3VuZENvbG9yOnIuc2VsZWN0ZWQuY2hlY2t9KSx0aGlzLiRyYWRpby5iZy5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHpJbmRleDowLHdpZHRoOmksaGVpZ2h0OmksYmFja2dyb3VuZENvbG9yOnIubWFpbi5maWxsfSksdGhpcy4kdGV4dC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsZGlzcGxheToiaW5saW5lLWJsb2NrIix3aWR0aDpuLGZvbnRTaXplOmUsZm9udFdlaWdodDo0MDAsY29sb3I6YT9zLnRleHQuYm9keTpzLmdyZXlbNzAwXSxmbG9hdDpoLG1hcmdpblRvcDoxLHdvcmRCcmVhazoiYnJlYWstd29yZCJ9KSx0aGlzLiR0ZXh0LmNzcyh1KX0sd24ucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZHx8KHRoaXMuc3RhdGUuc2VsZWN0ZWQ9dCx0aGlzLiRyYWRpby5jaGVjay5jc3Moe29wYWNpdHk6dD8xOjB9KSx0aGlzLiRyYWRpby5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsdCkpfSx3bi5wcm90b3R5cGUubG9jaz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZD10fSx3bi5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbigpe3ZhciB0PU1lLnRyYW5zbGF0ZSh0aGlzLnN0YXRlLnRleHQpO01lLnNldERpcmVjdGlvbih0aGlzLiR3cmFwcGVyLE1lLmdldExvY2FsZSgpKSx0aGlzLiR0ZXh0LnRleHQodCl9LHduLnByb3RvdHlwZS5vblNlbGVjdD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoInNlbGVjdCIsdGhpcyl9LHduLnByb3RvdHlwZS5vbkZvY3VzPWZ1bmN0aW9uKHQpe3ZhciBlPXZuKHRoaXMuc3RhdGUudGhlbWUuZ2V0KCkpLmZvY3VzLm91dGxpbmU7dGhpcy4kcmFkaW8uY3NzKHtvdXRsaW5lOiIycHggc29saWQgIitlfSl9LHduLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24odCl7dGhpcy4kcmFkaW8uY3NzKHtvdXRsaW5lOiJub25lIn0pfSx4ZS5wcm90byh4bixfZSkseG4ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5zdGF0ZS50aGVtZSxuPWtuKGkuZ2V0KCkpLG89aS5nZXQoKS5wYWxldHRlLHI9ImxpZ2h0Ij09PW8ubW9kZTt0aGlzLiRsYWJlbC5jc3Moe3dpZHRoOnQtMzAsaGVpZ2h0OjIwLGNvbG9yOnI/by50ZXh0LmJvZHk6by5ncmV5WzcwMF0sZm9udFNpemU6ZT8xMToxMixsaW5lSGVpZ2h0OiIyMHB4Iixmb250V2VpZ2h0OjYwMCxwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjUwJSIsdG9wOjAsbWFyZ2luTGVmdDotKHQtMzApLzIsZGlzcGxheToiYmxvY2sifSksdGhpcy4kdGV4dGFyZWEuY3NzKHt3aWR0aDp0LTMwLGhlaWdodDo1MCxib3JkZXJSYWRpdXM6NCxiYWNrZ3JvdW5kQ29sb3I6bi5tYWluLmZpbGwsY29sb3I6cj9vLnRleHQuYm9keTpvLmdyZXlbNzAwXSxib3JkZXI6IjFweCBzb2xpZCAiK24ubWFpbi5ib3JkZXIsZm9udFNpemU6ZT8xMjoxNCxsaW5lSGVpZ2h0OmU/MTY6MTgsZm9udFdlaWdodDo1MDAsYm94U2l6aW5nOiJib3JkZXItYm94IixNb3pCb3hTaXppbmc6ImJvcmRlci1ib3giLHBhZGRpbmc6IjhweCAxMnB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6IjUwJSIsdG9wOjI1LG1hcmdpbkxlZnQ6LSh0LTMwKS8yfSksdGhpcy5jc3Moe2hlaWdodDo3NSx3aWR0aDp0LHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSx0aGlzLnZpc2libGUodGhpcy5zdGF0ZS52aXNpYmxlKX0seG4ucHJvdG90eXBlLnZpc2libGU9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS52aXNpYmxlPXQsdGhpcy5jc3Moe2Rpc3BsYXk6dD8iYmxvY2siOiJub25lIn0pfSx4bi5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbih0KXtpZih0aGlzLnN0YXRlLnZpc2libGUpe3ZhciBlPXRoaXMuc3RhdGUudGhlbWUsaT1rbihlLmdldCgpKSxuPWUuZ2V0KCkucGFsZXR0ZSxvPSJsaWdodCI9PT1uLm1vZGU7dGhpcy4kdGV4dGFyZWEuZG9tLmRpc2FibGVkPSF0LHRoaXMuJHRleHRhcmVhLmNzcyh7YmFja2dyb3VuZENvbG9yOnQ/aS5tYWluLmZpbGw6aS5kaXNhYmxlZC5maWxsfSksdGhpcy4kbGFiZWwuY3NzKHtjb2xvcjp0P28/bi50ZXh0LmJvZHk6bi5ncmV5WzcwMF06bi5ncmV5WzQwMF19KX19LHhuLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLiR0ZXh0YXJlYS5kb20udmFsdWV9LHhuLnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0KXt0aGlzLiR0ZXh0YXJlYS5kb20udmFsdWU9dH0seG4ucHJvdG90eXBlLnNldFBsYWNlaG9sZGVyPWZ1bmN0aW9uKCl7dGhpcy4kdGV4dGFyZWEuc2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIsTWUudHJhbnNsYXRlKHRoaXMuc3RhdGUucGxhY2Vob2xkZXIpKSxNZS5zZXREaXJlY3Rpb24odGhpcy4kdGV4dGFyZWEsTWUuZ2V0TG9jYWxlKCkpfSx4bi5wcm90b3R5cGUuc2V0TGFiZWxUZXh0PWZ1bmN0aW9uKCl7dGhpcy4kbGFiZWwudGV4dChNZS50cmFuc2xhdGUodGhpcy5zdGF0ZS5sYWJlbCkpLE1lLnNldERpcmVjdGlvbih0aGlzLiRsYWJlbCxNZS5nZXRMb2NhbGUoKSl9LHhlLnByb3RvKF9uLF9lKSxfbi5wcm90b3R5cGUuZ2V0U2VsZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWR9LF9uLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX29wdGlvbnMubGVuZ3RoO3QtLTspdGhpcy5fb3B0aW9uc1t0XS5lbGVtZW50LnRleHQoTWUudHJhbnNsYXRlKHRoaXMuX29wdGlvbnNbdF0udGV4dCkpfSxfbi5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtmb3IodmFyIGUsaT10aGlzLl9vcHRpb25zLmxlbmd0aDtpLS07KXRoaXMucmVtb3ZlRWxlbWVudCh0aGlzLl9vcHRpb25zW2ldLmVsZW1lbnQpO2Zvcih0aGlzLl9vcHRpb25zPXQsaT0wO2k8dC5sZW5ndGg7aSsrKShlPXRoaXMuY3JlYXRlRWxlbWVudCgib3B0aW9uIix0W2ldLnNlbGVjdG9yfHwiLm9wdGlvbiIpKS5kb20udmFsdWU9dFtpXS52YWx1ZSxlLnRleHQodFtpXS50ZXh0KSx0aGlzLl9vcHRpb25zW2ldLmVsZW1lbnQ9ZX0sX24ucHJvdG90eXBlLnNlbGVjdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9bnVsbCxpPXRoaXMuX29wdGlvbnMubGVuZ3RoO2ktLTspdD09PXRoaXMuX29wdGlvbnNbaV0udmFsdWUmJihlPXRoaXMuX29wdGlvbnNbaV0pO2lmKCFlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlbGVjdCBhIG1pc3Npbmcgb3B0aW9uIHZhbHVlOiAiK3QpO3RoaXMuX3NlbGVjdGVkJiZ0aGlzLl9zZWxlY3RlZC5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgic2VsZWN0ZWQiKSxlLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJzZWxlY3RlZCIsInNlbGVjdGVkIiksdGhpcy5fc2VsZWN0ZWQ9ZSx0aGlzLmRvbS52YWx1ZT1lLnZhbHVlLHRoaXMuZW1pdCgiaGlkZSIpLHRoaXMuZW1pdCgic2VsZWN0IixlKX0sX24ucHJvdG90eXBlLmRlc2VsZWN0PWZ1bmN0aW9uKCl7dGhpcy5fc2VsZWN0ZWQmJnRoaXMuX3NlbGVjdGVkLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJzZWxlY3RlZCIpLHRoaXMuX3NlbGVjdGVkPW51bGwsdGhpcy5kb20udmFsdWU9bnVsbH0sX24ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dGhpcy5jc3Moe3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLG9wYWNpdHk6MCx6SW5kZXg6NTB9KX07dmFyIEVuPTM3LFZuPTM5LENuPTM4LFRuPTQwLFNuPSgib253aGVlbCJpbiBkb2N1bWVudHx8ZG9jdW1lbnQsZG9jdW1lbnQsIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudCksUm49bmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MSxBbj0hIXdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCxCbj0ib25rZXlkb3duImluIGRvY3VtZW50O2Z1bmN0aW9uIFVuKHQpe3RoaXMuc3RhdGU9e3BhdXNlOiExLGFjdGlvbjpudWxsLHBvc2l0aW9uOnt4OjAseTowfSxkZWx0YTp7eDowLHk6MH0sY3JlYXRlZDohMX0sdGhpcy5jb25maWc9e2Fycm93U2Nyb2xsaW5nOiExIT09dC5hcnJvd1Njcm9sbGluZyxrZXlTdGVwOnQua2V5U3RlcHx8MTIwLGZpcmVmb3hNdWx0OnQuZmlyZWZveE11bHR8fDE1LHRvdWNoTXVsdDp0LnRvdWNoTXVsdHx8Mixtb3VzZU11bHQ6dC5tb3VzZU11bHR8fDF9O3ZhciBlPXQuZWxlbWVudHx8ZG9jdW1lbnQuYm9keTtlIGluc3RhbmNlb2Yga2V8fChlPW5ldyBrZShlKSx0aGlzLnN0YXRlLmNyZWF0ZWQ9ITApLHRoaXMuZWxlbWVudD1lLHRoaXMubXNCb2R5VG91Y2g9bnVsbCx0aGlzLmNsYW1wPXtlbmFibGVkOiExLG1pbjp7eDowLHk6MH0sbWF4Ont4OjAseTowfX0sdGhpcy5vbldoZWVsPXRoaXMub25XaGVlbC5iaW5kKHRoaXMpLHRoaXMub25LZXk9dGhpcy5vbktleS5iaW5kKHRoaXMpLHRoaXMub25Ub3VjaD10aGlzLm9uVG91Y2guYmluZCh0aGlzKSx0aGlzLmRlc3Ryb3k9dGhpcy5kZXN0cm95LmJpbmQodGhpcyksdGhpcy5fYWRkTGlzdGVuZXJzKCl9ZnVuY3Rpb24gTW4oKXt4ZS5zZWxmKHRoaXMsX2UsInNjcm9sbC1jb250YWluZXIiKX1mdW5jdGlvbiBXbih0KXt4ZS5zZWxmKHRoaXMsX2UsdC5zZWxlY3Rvcnx8Imxpc3QtY3VzdG9tIiksdGhpcy5zdGF0ZT17c2tpcEFuaW1hdGlvbk9uY2U6ITF9LHRoaXMuc2Nyb2xsPW5ldyBVbih7ZWxlbWVudDp0aGlzLGFycm93U2Nyb2xsaW5nOiExLG1vdXNlTXVsdDouNSxrZXlTdGVwOjQ2fSksdGhpcy5fY29udGFpbmVyPXRoaXMuaW5pdENvbXBvbmVudChNbiksImFuZHJvaWQiPT09dHQuU3lzdGVtLm9zJiZ0aGlzLl9jb250YWluZXIuZG9tLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksdGhpcy5faGFuZGxlPXRoaXMuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5vbigic2Nyb2xsLXVwZGF0ZSIsdGhpcy5fb25TY3JvbGxVcGRhdGUuYmluZCh0aGlzKSl9ZnVuY3Rpb24gT24odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUuY29tbW9uLnRyYW5zcGFyZW50LGxpbmU6ZS5ncmV5WzIwMF0sdGV4dDplLmdyZXlbNzAwXX0saG92ZXI6e2ZpbGw6ZS5ncmV5WzIwMF0sdGV4dDplLmdyZXlbOTAwXSxib3JkZXI6ZS5wcmltYXJ5Lm1haW4rImIzIn0sc2VsZWN0ZWQ6e2ZpbGw6IiM1QzZGOEEiLHRleHQ6ZS5ncmV5WzEwMF19fSxpLmxpc3RJdGVtKX1mdW5jdGlvbiBGbih0KXt4ZS5zZWxmKHRoaXMsX2UsdC5vcHRpb24uc2VsZWN0b3J8fCIub3B0aW9uIik7dmFyIGU9dGhpczt0aGlzLnN0YXRlPXtzdHlsZTpPbih0LnRoZW1lLmdldCgpKSxzZWxlY3RlZDohMSx1c2luZ0tiOiExLGlzTGFzdDohMSxzaXplOnQuc2l6ZSxvcHRpb246dC5vcHRpb24sdGhlbWU6dC50aGVtZSxpc01lbnU6dC5pc01lbnUsaGVpZ2h0OnQuaGVpZ2h0fSx0aGlzLnRleHQ9dGhpcy50ZXh0LmJpbmQodGhpcyksdGhpcy5fdGV4dD10aGlzLmNyZWF0ZUVsZW1lbnQoInNwYW4iKSx0aGlzLl9zZXBhcmF0b3I9dGhpcy5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLnNlbGVjdC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVudGVyIix0aGlzLnNlbGVjdC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm92ZXIiLHRoaXMuX29uSG92ZXIuYmluZCh0aGlzLCEwKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJvdXQiLHRoaXMuX29uSG92ZXIuYmluZCh0aGlzLCExKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoZnVuY3Rpb24oKXtlLnVwZGF0ZVN0eWxlKCExKSxlLmVtaXQoImJsdXIiKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oKXtlLnVwZGF0ZVN0eWxlKGUuc3RhdGUudXNpbmdLYiksZS5lbWl0KCJmb2N1cyIpfSkpLHRoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsMCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLHRoaXMuc3RhdGUuc2VsZWN0ZWQpLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXNldHNpemUiLHRoaXMuc3RhdGUuc2l6ZSksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLHRoaXMuc3RhdGUuaXNNZW51PyJtZW51aXRlbSI6Im9wdGlvbiIpLHRoaXMuc2V0Q29weSgpfWZ1bmN0aW9uIExuKHQpe3hlLnNlbGYodGhpcyxXbix7c2VsZWN0b3I6dC5zZWxlY3Rvcnx8Imxpc3QtY3VzdG9tIn0pLHRoaXMuc3RhdGU9e3RoZW1lOnQudGhlbWUsaXNNZW51OnQuaXNNZW51LHVzaW5nS2I6ITEsdmlzaWJsZTohMSxjZW50ZXJPbmNlOiExLHNlYXJjaDoiIixmb2N1c2VkSWQ6LTEsc2VsZWN0ZWQ6bnVsbCxvcHRpb25TdHlsZTpudWxsLHNlYXJjaFRpbWVyOm51bGwsb3B0aW9uc1Zpc2libGU6dC5vcHRpb25zVmlzaWJsZXx8NixvcHRpb25IZWlnaHQ6dC5vcHRpb25IZWlnaHR8fDQ2LGhhc0l0ZW1zTmF2aWdhdGlvbjohMX0sdGhpcy5fb3B0aW9ucz1bXTt2YXIgZT0iYW5kcm9pZCI9PT10dC5TeXN0ZW0ub3M7dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixlPzA6LTEpLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLHRoaXMuc3RhdGUuaXNNZW51PyJwcmVzZW50YXRpb24iOiJsaXN0Ym94IiksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLm9uS2V5UHJlc3MuYmluZCh0aGlzKSl9ZnVuY3Rpb24gSG4odCl7eGUuc2VsZih0aGlzLF9lLCh0PXR8fHt9KS5zZWxlY3Rvcnx8Ii5ib3gtY29udGFpbmVyIiksdGhpcy5fdGhlbWU9dC50aGVtZSx0aGlzLl90YWJiYWJsZT0iYm9vbGVhbiIhPXR5cGVvZiB0LnRhYmJhYmxlfHx0LnRhYmJhYmxlLHRoaXMuYm94U3RhdGU9e2FyaWFMYWJlbDp0LmFyaWFMYWJlbCx2aXNpYmxlOiEwLGNzczp7Ym94U2l6aW5nOnQuYm94U2l6aW5nLHdpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0LHBhZGRpbmc6dC5wYWRkaW5nLG1hcmdpbjp0Lm1hcmdpbixib3JkZXJXaWR0aDp0LmJvcmRlcldpZHRoLGJvcmRlclN0eWxlOnQuYm9yZGVyU3R5bGUsYm9yZGVyUmFkaXVzOnQuYm9yZGVyUmFkaXVzLGJvcmRlckNvbG9yOnQuYm9yZGVyQ29sb3IsYmFja2dyb3VuZENvbG9yOnQuYmFja2dyb3VuZENvbG9yLGN1cnNvcjp0LmN1cnNvcn19LHRoaXMuc2V0U3R5bGUodGhpcy5ib3hTdGF0ZSksdGhpcy5zZXRBcmlhTGFiZWwoKSx0aGlzLnNldFZpc2libGUoITApfWZ1bmN0aW9uIFBuKHQpe3hlLnNlbGYodGhpcyxfZSx0LnNlbGVjdG9yfHwiLmJvcmRlciIpLHRoaXMuc3RhdGU9e3Zpc2libGU6dC52aXNpYmxlPT09dW5kZWZpbmVkfHx0LnZpc2libGUsdGhpY2tuZXNzOnQudGhpY2tuZXNzfHwxLGNvbG9yOnQuY29sb3J8fCIjMDAwMDAwIixyb3VuZGVkOnQucm91bmRlZHx8MH0sdGhpcy4kdG9wPXRoaXMuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy4kcmlnaHQ9dGhpcy5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLiRsZWZ0PXRoaXMuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy4kYm90dG9tPXRoaXMuY3JlYXRlRWxlbWVudCgiZGl2Iil9ZnVuY3Rpb24gRG4odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHtmb2N1czp7b3V0bGluZTplLnByaW1hcnkubWFpbn19LGkubGluayl9ZnVuY3Rpb24gTm4odCl7eGUuc2VsZih0aGlzLF9lLCJsb2dvIiwiYSIpLHRoaXMuc3RhdGU9e3RoZW1lOnQudGhlbWUsdXJsOnQudXJsfHwiIix3aWR0aDp0LndpZHRofHwwLGhlaWdodDp0LmhlaWdodHx8MH0sdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwwKSx0aGlzLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLHRoaXMuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLCJfYmxhbmsiKSx0aGlzLnNldEF0dHJpYnV0ZSgiaHJlZiIsdGhpcy5zdGF0ZS51cmwpO3ZhciBlPXtzZWxlY3RvcjoiLmxvZ28tZ3JhcGhpYyIsc3JjOnQuc3JjLGZhbGxiYWNrOnQuZmFsbGJhY2ssYXV0b0xvYWQ6dC5hdXRvTG9hZH07dGhpcy5ncmFwaGljPXRoaXMuaW5pdENvbXBvbmVudCh1bixlKSx0aGlzLmdyYXBoaWMuY3NzKHtjdXJzb3I6InBvaW50ZXIiLCItbXMtaGlnaC1jb250cmFzdC1hZGp1c3QiOiJub25lIn0pLHRoaXMub25Gb2N1cz10aGlzLm9uRm9jdXMuYmluZCh0aGlzKSx0aGlzLm9uQmx1cj10aGlzLm9uQmx1ci5iaW5kKHRoaXMpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMub25Gb2N1cyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLm9uQmx1cil9ZnVuY3Rpb24gWm4odCl7eGUuc2VsZih0aGlzLF9lLHQuc2VsZWN0b3J8fCJzcGlubmVyIiksdGhpcy5jb25maWc9e3NyYzp0LnNyY30sdGhpcy5zdGF0ZT17dmlzaWJsZTohMX0sdGhpcy5fYW5nbGU9MCx0aGlzLl90aW1lcj1udWxsLHRoaXMuX2ludGVydmFsPTE2LHRoaXMuaWNvbj10aGlzLmluaXRDb21wb25lbnQodW4se3NlbGVjdG9yOiJzcGlubmVyLWljb24iLHNyYzp0LnNyYyxmYWxsYmFjazohMSxhdXRvTG9hZDohMH0pLHRoaXMuaWNvbi5jc3MoeyItbXMtaGlnaC1jb250cmFzdC1hZGp1c3QiOiJub25lIn0pLHRoaXMuY3NzKHtkaXNwbGF5OiJub25lIn0pfWZ1bmN0aW9uIEluKHQsZSl7ZT1lfHx7fSx0aGlzLl9lbGVtZW50PXQsdGhpcy5faXNQbGF5aW5nPSExLHRoaXMuY29uZmlnPXthdXRvcGxheTplLmF1dG9wbGF5fHwhMSxtdXRlZDplLm11dGVkfHwhMSxsb29wOmUubG9vcHx8ITF9LHRoaXMuX2VsZW1lbnQuZG9tJiYodGhpcy5fZWxlbWVudC5kb20ucGxheXNpbmxpbmU9ITAsdGhpcy5fZWxlbWVudC5kb20uY29udHJvbHM9ITEsdGhpcy5jb25maWcubXV0ZWQmJih0aGlzLl9lbGVtZW50LmRvbS5tdXRlZD0hMCksdGhpcy5jb25maWcubG9vcCYmKHRoaXMuX2VsZW1lbnQuZG9tLmxvb3A9ITApLHRoaXMuY29uZmlnLmF1dG9wbGF5JiYodGhpcy5fZWxlbWVudC5kb20uYXV0b3BsYXk9ITAsdGhpcy5faXNQbGF5aW5nPSEwKSl9ZnVuY3Rpb24gam4odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUucHJpbWFyeS5tYWluLGljb246ZS5jb21tb24ud2hpdGV9fSxpLmJhZGdlKX1mdW5jdGlvbiB6bih0KXtpZih4ZS5zZWxmKHRoaXMsX2UsdC5zZWxlY3Rvcnx8Ii5iYWRnZSIpLHR8fCh0PXt9KSx0aGlzLl90aGVtZT10LnRoZW1lLHRoaXMuX3N0eWxlPWpuKHRoaXMuX3RoZW1lLmdldCgpKSx0aGlzLl90aW1lcj1udWxsLHRoaXMuc3RhdGU9e2xvYWRlZDohMSx2aXNpYmxlOiExfSx0aGlzLmNvbmZpZz17aWNvbjp0Lmljb24sdmFsdWU6dC52YWx1ZSxzaXplOnQuc2l6ZXx8MH0sdC5pY29uKXt2YXIgZSxpPXQuaWNvbjsib2JqZWN0Ij09dHlwZW9mIHQuaWNvbiYmKGk9dC5pY29uLnNyYyxlPXQuaWNvbi5mYWxsYmFjayksdGhpcy4kd3JhcHBlcj10aGlzLmNyZWF0ZUVsZW1lbnQoIi5iYWRnZS1pY29uLXdyYXBwZXIiKSx0aGlzLmljb249dGhpcy5pbml0Q29tcG9uZW50KHVuLHtzZWxlY3RvcjoiLmljb24iLHNyYzppLGZhbGxiYWNrOmV9LHRoaXMuJHdyYXBwZXIpfXRoaXMuJGZpbGw9dGhpcy5jcmVhdGVFbGVtZW50KCIuYmFkZ2UtZmlsbCIpLHRoaXMuJHJhZGlhbD10aGlzLmNyZWF0ZUVsZW1lbnQoIi5iYWRnZS1yYWRpYWwiKX1mdW5jdGlvbiBLbih0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudDtyZXR1cm4gb24ubWVyZ2Uoe21haW46e2JhY2tncm91bmQ6IiM0NzU2NkIiLHRleHQ6ZS5jb21tb24ud2hpdGV9fSxpLnRvb2x0aXApfWZ1bmN0aW9uIFluKHQpe3hlLnNlbGYodGhpcyxfZSx0LnNlbGVjdG9yfHwiLnRvb2x0aXAiKSx0aGlzLl90aGVtZT10LnRoZW1lLHRoaXMuX3N0eWxlPUtuKHRoaXMuX3RoZW1lLmdldCgpKSx0aGlzLl9tb2JpbGU9dHQuU3lzdGVtLm1vYmlsZSx0aGlzLl90b29sdGlwSWQ9dC5pZHx8IiIsdGhpcy5fYW5jaG9yPXQuYW5jaG9yLHRoaXMuc3RhdGU9e3Zpc2libGU6ITEsbG9ja2VkOiExLHRleHQ6dC50ZXh0fSx0aGlzLmNvbmZpZz17cG9zaXRpb246dC5wb3NpdGlvbnx8InRvcCIsZGVsYXk6dC5kZWxheXx8MzAwLG1heFdpZHRoOnQubWF4V2lkdGh8fDIwMCxvZmZzZXQ6dC5vZmZzZXR8fDgsY3VzdG9tUG9zaXRpb246dC5jdXN0b21Qb3NpdGlvbnx8ITF9LHRoaXMuX3Nob3dUaW1lb3V0PW51bGwsdGhpcy5faGlkZVRpbWVvdXQ9bnVsbCx0aGlzLl9pbml0aWFsaXplQ29tcG9uZW50cygpLHRoaXMuX3NldHVwQWNjZXNzaWJpbGl0eSgpLHRoaXMuX2JpbmRFdmVudEhhbmRsZXJzKCksdGhpcy5fc2V0dXBFdmVudExpc3RlbmVycygpLHRoaXMudHJhbnNsYXRlKCksdGhpcy5zdHlsZSgpfVVuLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnBhdXNlPXR9LFVuLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7aWYoIXRoaXMuc3RhdGUucGF1c2Upe3ZhciBlPXRoaXMuc3RhdGUucG9zaXRpb24saT10aGlzLnN0YXRlLmRlbHRhLG49dGhpcy5zdGF0ZS5hY3Rpb247ZS54Kz1pLngsZS55Kz1pLnksdGhpcy5jbGFtcC5lbmFibGVkPyhlLng9enQoZS54LHRoaXMuY2xhbXAubWluLngsdGhpcy5jbGFtcC5tYXgueCksZS55PXp0KGUueSx0aGlzLmNsYW1wLm1pbi55LHRoaXMuY2xhbXAubWF4LnkpKTpjb25zb2xlLmxvZyhlLnksdGhpcy5lbGVtZW50LmRvbS5zY3JvbGxIZWlnaHQpLHRoaXMuZWxlbWVudC5lbWl0KCJzY3JvbGwtdXBkYXRlIix7eDplLngseTplLnksZGVsdGE6aSxhY3Rpb246bixvcmlnaW5hbDp0fSl9fSxVbi5wcm90b3R5cGUuX2FkZExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXtwYXNzaXZlOiExfTsoImllIiE9PXR0LkJyb3dzZXIudHlwZXx8ImllIj09PXR0LkJyb3dzZXIudHlwZSYmOCE9PXR0LkJyb3dzZXIudmVyc2lvbikmJih0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NTW91c2VTY3JvbGwiLHRoaXMub25XaGVlbCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsdCkpLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXdoZWVsIix0aGlzLm9uV2hlZWwsdCksU24mJih0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5vblRvdWNoKSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLm9uVG91Y2gpKSxBbiYmUm4mJih0aGlzLm1zQm9keVRvdWNoPWRvY3VtZW50LmJvZHkuc3R5bGUubXNUb3VjaEFjdGlvbixkb2N1bWVudC5ib2R5LnN0eWxlLm1zVG91Y2hBY3Rpb249Im5vbmUiLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJNU1BvaW50ZXJEb3duIix0aGlzLm9uVG91Y2gsITApLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJNU1BvaW50ZXJNb3ZlIix0aGlzLm9uVG91Y2gsITApKSx0aGlzLmNvbmZpZy5hcnJvd1Njcm9sbGluZyYmQm4mJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLm9uS2V5KX0sVW4ucHJvdG90eXBlLl9yZW1vdmVMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgdD17cGFzc2l2ZTohMX07KCJpZSIhPT10dC5Ccm93c2VyLnR5cGV8fCJpZSI9PT10dC5Ccm93c2VyLnR5cGUmJjghPT10dC5Ccm93c2VyLnZlcnNpb24pJiYodGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTU1vdXNlU2Nyb2xsIix0aGlzLm9uV2hlZWwpLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5vbldoZWVsLHQpKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V3aGVlbCIsdGhpcy5vbldoZWVsLHQpLFNuJiYodGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMub25Ub3VjaCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoKSksQW4mJlJuJiYodGhpcy5tc0JvZHlUb3VjaD1kb2N1bWVudC5ib2R5LnN0eWxlLm1zVG91Y2hBY3Rpb24sZG9jdW1lbnQuYm9keS5zdHlsZS5tc1RvdWNoQWN0aW9uPSJub25lIix0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyRG93biIsdGhpcy5vblRvdWNoLCEwKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyTW92ZSIsdGhpcy5vblRvdWNoLCEwKSksdGhpcy5jb25maWcuYXJyb3dTY3JvbGxpbmcmJkJuJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5vbktleSl9LFVuLnByb3RvdHlwZS5vbldoZWVsPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLnN0YXRlLnBhdXNlKXsodD13aW5kb3cuZXZlbnR8fHQpLnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCk7dmFyIGU9dGhpcy5zdGF0ZS5kZWx0YSxpPXRoaXMuY29uZmlnLm1vdXNlTXVsdCxuPXRoaXMuY29uZmlnLmZpcmVmb3hNdWx0OyJkZXRhaWwiaW4gdCYmIndoZWVsIiE9PXQudHlwZSYmMCE9PXQuZGV0YWlsPyhlLnk9LTEqdC5kZXRhaWwsZS55Kj1uKToid2hlZWxEZWx0YSJpbiB0JiYhKCJ3aGVlbERlbHRhWSJpbiB0KT9lLnk9LTEqdC53aGVlbERlbHRhOihlLng9LTEqKHQuZGVsdGFYfHx0LndoZWVsRGVsdGFYKSxlLnk9LTEqKHQuZGVsdGFZfHx0LndoZWVsRGVsdGFZKSwiZmlyZWZveCI9PT10dC5Ccm93c2VyLnR5cGUmJjE9PT10LmRlbHRhTW9kZSYmbiYmKGUueCo9bixlLnkqPW4pKSxpJiYoZS54Kj1pLGUueSo9aSksdGhpcy5zdGF0ZS5hY3Rpb249IndoZWVsIix0aGlzLnVwZGF0ZS5jYWxsKHRoaXMsdCl9fSxVbi5wcm90b3R5cGUub25Ub3VjaD1mdW5jdGlvbih0KXtpZighdGhpcy5zdGF0ZS5wYXVzZSl7dmFyIGU9dGhpcy5zdGF0ZS5wb3NpdGlvbixpPXRoaXMuc3RhdGUuZGVsdGEsbj10aGlzLmNvbmZpZy50b3VjaE11bHQsbz10LnRhcmdldFRvdWNoZXNbMF07Im1vdmUiPT09dC5hY3Rpb24/KGkueD0oby5wYWdlWC1lLngpKm4saS55PShvLnBhZ2VZLWUueSkqbik6KGkueD0wLGkueT0wKSx0aGlzLnN0YXRlLmFjdGlvbj0idG91Y2giLHRoaXMudXBkYXRlLmNhbGwodGhpcyx0KX19LFVuLnByb3RvdHlwZS5vbktleT1mdW5jdGlvbih0KXtpZighdGhpcy5zdGF0ZS5wYXVzZSYmIXQubWV0YUtleSl7dmFyIGU9dGhpcy5zdGF0ZS5kZWx0YSxpPXRoaXMuY29uZmlnLmtleVN0ZXA7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSBUbjp0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksZS54PTAsZS55PS1pO2JyZWFrO2Nhc2UgQ246dC5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpLGUueD0wLGUueT1pO2JyZWFrO2Nhc2UgRW46ZS54PS1pLGUueT0wO2JyZWFrO2Nhc2UgVm46ZS54PWksZS55PTA7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gZS54PTAsdm9pZChlLnk9MCl9dGhpcy5zdGF0ZS5hY3Rpb249ImtleXByZXNzIix0aGlzLnVwZGF0ZS5jYWxsKHRoaXMsdCl9fSxVbi5wcm90b3R5cGUuY2xhbXBYPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLmNsYW1wLmVuYWJsZWQ9dCx0aGlzLmNsYW1wLm1pbi54PWV8fDAsdGhpcy5jbGFtcC5tYXgueD1pfHwwfSxVbi5wcm90b3R5cGUuY2xhbXBZPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLmNsYW1wLmVuYWJsZWQ9dCx0aGlzLmNsYW1wLm1pbi55PWV8fDAsdGhpcy5jbGFtcC5tYXgueT1pfHwwfSxVbi5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLnBvc2l0aW9uPXt4OjAseTowfSx0aGlzLnN0YXRlLmRlbHRhPXt4OjAseTowfX0sVW4ucHJvdG90eXBlLnNldFBvc1g9ZnVuY3Rpb24odCl7dGhpcy5zZXRQb3ModCx0aGlzLnN0YXRlLnBvc2l0aW9uLnkpfSxVbi5wcm90b3R5cGUuc2V0UG9zWT1mdW5jdGlvbih0KXt0aGlzLnNldFBvcyh0aGlzLnN0YXRlLnBvc2l0aW9uLngsdCl9LFVuLnByb3RvdHlwZS5tb3ZlWUJ5PWZ1bmN0aW9uKHQpe3RoaXMuc2V0UG9zKHRoaXMuc3RhdGUucG9zaXRpb24ueCx0aGlzLnN0YXRlLnBvc2l0aW9uLnkrdCl9LFVuLnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUucG9zaXRpb24ueX0sVW4ucHJvdG90eXBlLnNldFBvcz1mdW5jdGlvbih0LGUpe3RoaXMuY2xhbXAuZW5hYmxlZCYmKHQ9enQodCx0aGlzLmNsYW1wLm1pbi54LHRoaXMuY2xhbXAubWF4LngpLGU9enQoZSx0aGlzLmNsYW1wLm1pbi55LHRoaXMuY2xhbXAubWF4LnkpKSx0aGlzLnN0YXRlLnBvc2l0aW9uPXt4OnQseTplfSx0aGlzLnN0YXRlLmRlbHRhPXt4OjAseTowfSx0aGlzLmVsZW1lbnQuZW1pdCgic2Nyb2xsLXVwZGF0ZSIse3g6dCx5OmUsZGVsdGE6dGhpcy5zdGF0ZS5kZWx0YSxhY3Rpb246bnVsbH0pfSxVbi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc3RhdGUuY3JlYXRlZDt0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKSx0aGlzLnN0YXRlPXtwYXVzZTohMSxhY3Rpb246bnVsbCxwb3NpdGlvbjp7eDowLHk6MH0sZGVsdGE6e3g6MCx5OjB9LGNyZWF0ZWQ6ITF9LHQmJih0aGlzLmVsZW1lbnQ9dGhpcy5lbGVtZW50LmRlc3Ryb3koKSl9LHhlLnByb3RvKE1uLF9lKSx4ZS5wcm90byhXbixfZSksV24ucHJvdG90eXBlLmdldENvbnRhaW5lcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9LFduLnByb3RvdHlwZS5zY3JvbGxJblZpZXc9ZnVuY3Rpb24odCxlLGkpe3RoaXMuZG9tLnNjcm9sbFRvcD0wLHRoaXMuc3RhdGUuc2tpcEFuaW1hdGlvbk9uY2U9aTt2YXIgbj0tdC5vZmZzZXRUb3Asbz10Lm9mZnNldEhlaWdodCxyPXRoaXMuZG9tLmNsaWVudEhlaWdodCxzPXRoaXMuX2NvbnRhaW5lci5kb20uc2Nyb2xsSGVpZ2h0LGE9dGhpcy5zY3JvbGwuZ2V0WSgpLGw9YS1yO3RoaXMuX2hhbmRsZS5jc3Moe2Rpc3BsYXk6czw9cj8ibm9uZSI6ImJsb2NrIn0pLHRoaXMuc2Nyb2xsLmNsYW1wWSghMCxyLXMsMCksZT90aGlzLnNjcm9sbC5zZXRQb3NZKG4rci8yLW8vMik6bj5hP3RoaXMuc2Nyb2xsLnNldFBvc1kobik6bi1vPGwmJnRoaXMuc2Nyb2xsLnNldFBvc1kobityLW8pfSxXbi5wcm90b3R5cGUuX29uU2Nyb2xsVXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXQueSxpPXRoaXMuX2hhbmRsZS5kb20ub2Zmc2V0SGVpZ2h0LG49dGhpcy5kb20uY2xpZW50SGVpZ2h0LG89KEt0KGUsMCxuLXRoaXMuX2NvbnRhaW5lci5kb20uc2Nyb2xsSGVpZ2h0LDAsMSl8fDApKihuLWktNCk7ImllIj09PXR0LkJyb3dzZXIudHlwZSYmOD09PXR0LkJyb3dzZXIudmVyc2lvbj8odGhpcy5fY29udGFpbmVyLmNzcyh7dG9wOmV9KSx0aGlzLl9oYW5kbGUuY3NzKHt0b3A6b30pKToodGhpcy5fY29udGFpbmVyLmNzcyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKCIrZSsicHgpIix0cmFuc2l0aW9uOnRoaXMuc3RhdGUuc2tpcEFuaW1hdGlvbk9uY2U/Im5vbmUiOiJ0cmFuc2Zvcm0gMzAwbXMifSksdGhpcy5faGFuZGxlLmNzcyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKCIrbysicHgpIix0cmFuc2l0aW9uOnRoaXMuc3RhdGUuc2tpcEFuaW1hdGlvbk9uY2U/Im5vbmUiOiJ0cmFuc2Zvcm0gMzAwbXMifSksdGhpcy5zdGF0ZS5za2lwQW5pbWF0aW9uT25jZT0hMSl9LFduLnByb3RvdHlwZS5iYXNlU3R5bGU9ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXIuY3NzKHt3aWR0aDoiMTAwJSIscG9zaXRpb246ImFic29sdXRlIixvdmVyZmxvd1k6ImhpZGRlbiJ9KSx0aGlzLl9oYW5kbGUuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHdpbGxDaGFuZ2U6InRyYW5zZm9ybSIsd2lkdGg6MyxoZWlnaHQ6NDAsdG9wOjIscmlnaHQ6NSxib3JkZXJSYWRpdXM6NCxiYWNrZ3JvdW5kQ29sb3I6IiM2RTgyOUUifSl9LFduLnByb3RvdHlwZS5vbkRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbC5kZXN0cm95JiZ0aGlzLnNjcm9sbC5kZXN0cm95KCl9LHhlLnByb3RvKEZuLF9lKSxGbi5wcm90b3R5cGUudXNpbmdLYj1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnVzaW5nS2I9dH0sRm4ucHJvdG90eXBlLnNlbGVjdD1mdW5jdGlvbigpe3RoaXMuc3RhdGUuc2VsZWN0ZWQ9ITAsdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLHRoaXMuc3RhdGUuc2VsZWN0ZWQpLHRoaXMudXBkYXRlU3R5bGUodGhpcy5zdGF0ZS51c2luZ0tiKSx0aGlzLmVtaXQoInNlbGVjdCIsdGhpcyl9LEZuLnByb3RvdHlwZS5kZXNlbGVjdD1mdW5jdGlvbigpe3RoaXMuc3RhdGUuc2VsZWN0ZWQ9ITEsdGhpcy5kb20mJih0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsdGhpcy5zdGF0ZS5zZWxlY3RlZCksdGhpcy51cGRhdGVTdHlsZSgpKX0sRm4ucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy5kb20mJih0aGlzLmRvbS5mb2N1cygpLHRoaXMuZW1pdCgiZm9jdXMiKSl9LEZuLnByb3RvdHlwZS5nZXRPcHRpb25EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUub3B0aW9ufSxGbi5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbigpe3RoaXMuX3RleHQudGV4dChNZS50cmFuc2xhdGUodGhpcy5zdGF0ZS5vcHRpb24udGV4dCkpfSxGbi5wcm90b3R5cGUuX29uSG92ZXI9ZnVuY3Rpb24odCl7dGhpcy5lbWl0KCJob3ZlciIsdCksdGhpcy51c2luZ0tiKCExKSx0aGlzLnVwZGF0ZVN0eWxlKHQpfSxGbi5wcm90b3R5cGUudXBkYXRlU3R5bGU9ZnVuY3Rpb24odCl7aWYodGhpcy5kb20pe3ZhciBlPXRoaXMuc3RhdGUudGhlbWUuZ2V0KCkucGFsZXR0ZSxpPXRoaXMuc3RhdGUuc3R5bGU7dGhpcy5jc3Moe2JhY2tncm91bmQ6dGhpcy5zdGF0ZS5zZWxlY3RlZD9pLnNlbGVjdGVkLmZpbGw6dD9pLmhvdmVyLmZpbGw6aS5tYWluLmZpbGwsY29sb3I6dGhpcy5zdGF0ZS5vcHRpb24ud2Fybj9lLndhcm4ubWFpbjp0aGlzLnN0YXRlLnNlbGVjdGVkP2kuc2VsZWN0ZWQudGV4dDp0P2kuaG92ZXIudGV4dDppLm1haW4udGV4dCxib3JkZXJDb2xvcjp0aGlzLnN0YXRlLnVzaW5nS2ImJnQ/aS5ob3Zlci5ib3JkZXI6InRyYW5zcGFyZW50In0pLHRoaXMuX3NlcGFyYXRvci5jc3Moe2Rpc3BsYXk6dGhpcy5zdGF0ZS5pc0xhc3R8fHRoaXMuc3RhdGUuc2VsZWN0ZWR8fHQ/Im5vbmUiOiJibG9jayJ9KX19LEZuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RleHQudGV4dCgpfSxGbi5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5pc0xhc3Q9dCx0aGlzLnN0YXRlLnN0eWxlPU9uKHRoaXMuc3RhdGUudGhlbWUuZ2V0KCkpO3RoaXMuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGN1cnNvcjoicG9pbnRlciIsaGVpZ2h0OnRoaXMuc3RhdGUuaGVpZ2h0LTYsZm9udFNpemU6MTQsZm9udFdlaWdodDo0MDAsYm9yZGVyV2lkdGg6Myxib3JkZXJTdHlsZToic29saWQiLGJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCJ9KSx0aGlzLl9zZXBhcmF0b3IuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGhlaWdodDoxLGJvdHRvbTotNCxsZWZ0OjEwLHJpZ2h0OjEwLGJhY2tncm91bmQ6dGhpcy5zdGF0ZS5zdHlsZS5tYWluLmxpbmV9KSx0aGlzLnVwZGF0ZVN0eWxlKCl9LHhlLnByb3RvKExuLFduKSxMbi5wcm90b3R5cGUuZ2V0U2VsZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZCYmdGhpcy5zdGF0ZS5zZWxlY3RlZC5nZXRPcHRpb25EYXRhKCl9LExuLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX29wdGlvbnMubGVuZ3RoO3QtLTspdGhpcy5fb3B0aW9uc1t0XS5zZXRDb3B5KCl9LExuLnByb3RvdHlwZS5zZXRPcHRpb25zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxpPXRoaXMuX29wdGlvbnMubGVuZ3RoO2ktLTspdGhpcy5nZXRDb250YWluZXIoKS5yZW1vdmVFbGVtZW50KHRoaXMuX29wdGlvbnNbaV0pO2Zvcih0aGlzLl9vcHRpb25zPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7ZT10aGlzLmdldENvbnRhaW5lcigpLmluaXRDb21wb25lbnQoRm4se3RoZW1lOnRoaXMuc3RhdGUudGhlbWUsaXNNZW51OnRoaXMuc3RhdGUuaXNNZW51LHNpemU6dC5sZW5ndGgsaGVpZ2h0OnRoaXMuc3RhdGUub3B0aW9uSGVpZ2h0LG9wdGlvbjp0W2ldfSk7dmFyIG49aT09PXQubGVuZ3RoLTEsbz0hIXRbaV0ubGFiZWw7ZS51c2luZ0tiKHRoaXMuc3RhdGUudXNpbmdLYiksZS5zdHlsZShuKSxvJiZlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsTWUudHJhbnNsYXRlKHRbaV0ubGFiZWwpKSx0aGlzLl9vcHRpb25zLnB1c2goZSksZS5vbigic2VsZWN0Iix0aGlzLl9vbk9wdGlvblNlbGVjdC5iaW5kKHRoaXMsZSkpLGUub24oImZvY3VzIix0aGlzLl9vbk9wdGlvbkZvY3VzLmJpbmQodGhpcyxpKSksZS5vbigiYmx1ciIsdGhpcy5fb25PcHRpb25CbHVyLmJpbmQodGhpcyxpKSksZS5vbigiaG92ZXIiLHRoaXMuX29uT3B0aW9uSG92ZXIuYmluZCh0aGlzKSl9dmFyIHI9LTE9PT10aGlzLnN0YXRlLm9wdGlvbnNWaXNpYmxlP3RoaXMuX29wdGlvbnMubGVuZ3RoOnRoaXMuc3RhdGUub3B0aW9uc1Zpc2libGU7dGhpcy5jc3Moe2hlaWdodDpyKnRoaXMuc3RhdGUub3B0aW9uSGVpZ2h0fSl9LExuLnByb3RvdHlwZS5zZWxlY3Q9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW51bGwsaT10aGlzLl9vcHRpb25zLmxlbmd0aDtpLS07KXQ9PT10aGlzLl9vcHRpb25zW2ldLmdldE9wdGlvbkRhdGEoKS52YWx1ZSYmKGU9dGhpcy5fb3B0aW9uc1tpXSk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VsZWN0IGEgbWlzc2luZyBvcHRpb24gdmFsdWU6ICIrdCk7ZS5zZWxlY3QoKX0sTG4ucHJvdG90eXBlLmRlc2VsZWN0PWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS5zZWxlY3RlZCYmdGhpcy5zdGF0ZS5zZWxlY3RlZC5kZXNlbGVjdCgpLHRoaXMuc3RhdGUuc2VsZWN0ZWQ9bnVsbH0sTG4ucHJvdG90eXBlLl9vbk9wdGlvblNlbGVjdD1mdW5jdGlvbih0KXt0aGlzLmhpZGUoKSx0aGlzLnN0YXRlLnNlbGVjdGVkJiZ0aGlzLnN0YXRlLnNlbGVjdGVkIT09dCYmdGhpcy5zdGF0ZS5zZWxlY3RlZC5kZXNlbGVjdCgpLHRoaXMuc3RhdGUuc2VsZWN0ZWQ9dCx0aGlzLmVtaXQoInNlbGVjdCIsdC5nZXRPcHRpb25EYXRhKCkpfSxMbi5wcm90b3R5cGUuX29uT3B0aW9uRm9jdXM9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5mb2N1c2VkSWQ9dDt2YXIgZT10aGlzLl9vcHRpb25zW3RdLGk9IXRoaXMuc3RhdGUuY2VudGVyT25jZSYmZT09PXRoaXMuc3RhdGUuc2VsZWN0ZWQ7aSYmKHRoaXMuc3RhdGUuY2VudGVyT25jZT0hMCksdGhpcy5zY3JvbGxJblZpZXcoZS5kb20saSxpKX0sTG4ucHJvdG90eXBlLl9vbk9wdGlvbkhvdmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX29wdGlvbnMubGVuZ3RoO3QtLTspdGhpcy5fb3B0aW9uc1t0XS51cGRhdGVTdHlsZSghMSl9LExuLnByb3RvdHlwZS5fb25PcHRpb25CbHVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLnN0YXRlLmhhc0l0ZW1zTmF2aWdhdGlvbj10aGlzLnN0YXRlLmZvY3VzZWRJZD4wLHRoaXMuc3RhdGUuZm9jdXNlZElkPS0xLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dmFyIGU9ImFuZHJvaWQiIT09dHQuU3lzdGVtLm9zfHx0LnN0YXRlLmhhc0l0ZW1zTmF2aWdhdGlvbjt0LmRvbSYmLTE9PT10LnN0YXRlLmZvY3VzZWRJZCYmZSYmdC5oaWRlKCl9KSwwKX0sTG4ucHJvdG90eXBlLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnZpc2libGV9LExuLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS52aXNpYmxlJiYodGhpcy5zdGF0ZS52aXNpYmxlPSExLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksdGhpcy5jc3Moe2Rpc3BsYXk6Im5vbmUifSksdGhpcy5lbWl0KCJoaWRlIiksdGhpcy5zdGF0ZS5oYXNJdGVtc05hdmlnYXRpb249ITEpfSxMbi5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe2lmKCF0aGlzLnN0YXRlLnZpc2libGUpe3RoaXMuc3RhdGUuY2VudGVyT25jZT0hMSx0aGlzLnN0YXRlLnZpc2libGU9ITAsdGhpcy5zZXRDb3B5KCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwiZmFsc2UiKSx0aGlzLmNzcyh7ZGlzcGxheToiYmxvY2sifSk7dmFyIHQ9dGhpcy5zdGF0ZS5zZWxlY3RlZD90aGlzLnN0YXRlLnNlbGVjdGVkOnRoaXMuX29wdGlvbnNbMF07dCYmdC5mb2N1cygpLHRoaXMuZW1pdCgib3BlbiIpfX0sTG4ucHJvdG90eXBlLnNldEluaXRpYWxBMTFZU3RhdGU9ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsITApLHRoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKX0sTG4ucHJvdG90eXBlLnVzaW5nS2I9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS51c2luZ0tiPXQ7Zm9yKHZhciBlPXRoaXMuX29wdGlvbnMubGVuZ3RoO2UtLTspdGhpcy5fb3B0aW9uc1tlXS51c2luZ0tiKHQpfSxMbi5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUuY29tbW9uLndoaXRlLGJvcmRlcjoiIzZFODI5RSJ9fSxpLmxpc3QpfSh0aGlzLnN0YXRlLnRoZW1lLmdldCgpKTt0aGlzLmNzcyh7d2lkdGg6dHx8MTYwLGRpc3BsYXk6dGhpcy5pc1Zpc2libGUoKT8iYmxvY2siOiJub25lIix6SW5kZXg6MTAwLGJhY2tncm91bmQ6ZS5tYWluLmZpbGwsYm94U2hhZG93OiJyZ2JhKDAsIDAsIDAsIDAuMykgMHB4IDBweCA0cHgiLGJvcmRlcldpZHRoOjEsYm9yZGVyUmFkaXVzOjQsYm9yZGVyU3R5bGU6InNvbGlkIixib3JkZXJDb2xvcjplLm1haW4uYm9yZGVyLHBvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIsbGVmdDowfSksdGhpcy5nZXRDb250YWluZXIoKS5jc3Moe2xpbmVIZWlnaHQ6dGhpcy5zdGF0ZS5vcHRpb25IZWlnaHQtNix3aGl0ZVNwYWNlOiJub3dyYXAiLHRleHRBbGlnbjoiY2VudGVyIn0pO2Zvcih2YXIgaT10aGlzLl9vcHRpb25zLmxlbmd0aDstLWk+LTE7KXRoaXMuX29wdGlvbnNbaV0uc3R5bGUoaT09PXRoaXMuX29wdGlvbnMubGVuZ3RoLTEsdCk7dGhpcy5iYXNlU3R5bGUoKX0sTG4ucHJvdG90eXBlLm9uS2V5UHJlc3M9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZigyNz09PXQua2V5TnVtKXJldHVybiB0LnN0b3BQcm9wYWdhdGlvbiYmdC5zdG9wUHJvcGFnYXRpb24oKSx0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksZS5lbWl0KCJibHVyIiksdm9pZCBlLmhpZGUoKTtpZigtMT09PVsxMywzMiwxMDddLmluZGV4T2YodC5rZXlOdW0pKXtpZih0aGlzLnVzaW5nS2IoITApLC0xIT09WzM4LDQwXS5pbmRleE9mKHQua2V5TnVtKSl7dmFyIGk9KGUuc3RhdGUuZm9jdXNlZElkKygzOD09PXQua2V5TnVtPy0xOjEpKSVlLl9vcHRpb25zLmxlbmd0aDtyZXR1cm4tMT09PWkmJihpPWUuX29wdGlvbnMubGVuZ3RoLTEpLHQuc3RvcFByb3BhZ2F0aW9uJiZ0LnN0b3BQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSx2b2lkIGUuX29wdGlvbnNbaV0uZm9jdXMoKX1pZig5PT09dC5rZXlOdW0mJi0xPT09KGk9KGUuc3RhdGUuZm9jdXNlZElkKyh0LnNoaWZ0S2V5Py0xOjEpKSVlLl9vcHRpb25zLmxlbmd0aCkpcmV0dXJuIHQuc3RvcFByb3BhZ2F0aW9uJiZ0LnN0b3BQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQmJnQucHJldmVudERlZmF1bHQoKSx2b2lkIGUuZW1pdCgiYmx1ciIpO3ZhciBuO3RoaXMuc3RhdGUuc2VhcmNoVGltZXImJmNsZWFyVGltZW91dCh0aGlzLnN0YXRlLnNlYXJjaFRpbWVyKSx0aGlzLnN0YXRlLnNlYXJjaFRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5zdGF0ZS5zZWFyY2g9IiJ9KSw1MDApLG49dC5rZXlDb2RlPj05NiYmdC5rZXlDb2RlPD0xMDU/U3RyaW5nLmZyb21DaGFyQ29kZSh0LmtleUNvZGUtNDgpOlN0cmluZy5mcm9tQ2hhckNvZGUodC5rZXlDb2RlKSx0aGlzLnN0YXRlLnNlYXJjaCs9bjt2YXIgbz10aGlzLl9maW5kQnlWYWx1ZSh0aGlzLnN0YXRlLnNlYXJjaCk7byYmby5mb2N1cygpfX0sTG4ucHJvdG90eXBlLl9maW5kQnlWYWx1ZT1mdW5jdGlvbih0KXt0PXQudG9Mb3dlckNhc2UoKTtmb3IodmFyIGU9bnVsbCxpPXRoaXMuX29wdGlvbnMubGVuZ3RoO2ktLTspMD09PXRoaXMuX29wdGlvbnNbaV0udGV4dCgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0KSYmKGU9dGhpcy5fb3B0aW9uc1tpXSk7cmV0dXJuIGV9LHhlLnByb3RvKEhuLF9lKSxIbi5wcm90b3R5cGUuc2V0U3R5bGU9ZnVuY3Rpb24odCl7dD10fHx7fTt2YXIgZT1mdW5jdGlvbih0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudCxuPSJsaWdodCI9PT1lLm1vZGU7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUuZ3JleVtuPzEwMDo4MDBdLGJvcmRlcjplLmdyZXlbbj8zMDA6MjAwXX0saG92ZXI6e2ZpbGw6ZS5ncmV5W24/MjAwOjkwMF19fSxpLmJveCl9KHRoaXMuX3RoZW1lLmdldCgpKTt0aGlzLmJveFN0YXRlLmNzcy5ib3hTaXppbmc9dC5ib3hTaXppbmd8fHRoaXMuYm94U3RhdGUuY3NzLmJveFNpemluZ3x8ImNvbnRlbnQtYm94Iix0aGlzLmJveFN0YXRlLmNzcy53aWR0aD10LndpZHRofHx0aGlzLmJveFN0YXRlLmNzcy53aWR0aHx8IjEwMCUiLHRoaXMuYm94U3RhdGUuY3NzLmhlaWdodD10LmhlaWdodHx8dGhpcy5ib3hTdGF0ZS5jc3MuaGVpZ2h0fHwiMTAwJSIsdGhpcy5ib3hTdGF0ZS5jc3MucGFkZGluZz10LnBhZGRpbmd8fHRoaXMuYm94U3RhdGUuY3NzLnBhZGRpbmd8fDAsdGhpcy5ib3hTdGF0ZS5jc3MubWFyZ2luPXQubWFyZ2lufHx0aGlzLmJveFN0YXRlLmNzcy5tYXJnaW58fDAsdGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyV2lkdGg9dC5ib3JkZXJXaWR0aHx8dGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyV2lkdGh8fDAsdGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyUmFkaXVzPXQuYm9yZGVyUmFkaXVzfHx0aGlzLmJveFN0YXRlLmNzcy5ib3JkZXJSYWRpdXN8fDAsdGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyU3R5bGU9dC5ib3JkZXJTdHlsZXx8dGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyU3R5bGV8fCJzb2xpZCIsdGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyQ29sb3I9dC5ib3JkZXJDb2xvcnx8dGhpcy5ib3hTdGF0ZS5jc3MuYm9yZGVyQ29sb3J8fGUubWFpbi5ib3JkZXIsdGhpcy5ib3hTdGF0ZS5jc3MuYmFja2dyb3VuZENvbG9yPXQuYmFja2dyb3VuZENvbG9yfHx0aGlzLmJveFN0YXRlLmNzcy5iYWNrZ3JvdW5kQ29sb3J8fGUubWFpbi5maWxsLHRoaXMuYm94U3RhdGUuY3NzLmN1cnNvcj10LmN1cnNvcnx8dGhpcy5ib3hTdGF0ZS5jc3MuY3Vyc29yfHwiZGVmYXVsdCIsdGhpcy5jc3ModGhpcy5ib3hTdGF0ZS5jc3MpfSxIbi5wcm90b3R5cGUuc2V0VmlzaWJsZT1mdW5jdGlvbih0KXt0aGlzLmJveFN0YXRlLnZpc2libGU9dCx0aGlzLmNzcyh7ZGlzcGxheTp0PyJibG9jayI6Im5vbmUifSksdGhpcy5fdGFiYmFibGUmJih0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0KSx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLHQ/IjAiOiItMSIpKX0sSG4ucHJvdG90eXBlLnNldEFyaWFMYWJlbD1mdW5jdGlvbih0KXt0P3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIix0KTp0aGlzLmJveFN0YXRlLmFyaWFMYWJlbCYmdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLE1lLnRyYW5zbGF0ZSh0aGlzLmJveFN0YXRlLmFyaWFMYWJlbCkpfSx4ZS5wcm90byhQbixfZSksUG4ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSxpKXtlfHwoZT10KSxpIT09dW5kZWZpbmVkJiYodGhpcy5zdGF0ZS50aGlja25lc3M9aSksdGhpcy5jc3Moe3dpZHRoOnQsaGVpZ2h0OmUsb3BhY2l0eTp0aGlzLnN0YXRlLnZpc2libGU/MTowLHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDowLHRvcDowLG92ZXJmbG93OiJoaWRkZW4iLGJvcmRlclJhZGl1czp0aGlzLnN0YXRlLnJvdW5kZWR9KSx0aGlzLiR0b3AuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6MCx0b3A6MCx3aWR0aDp0LGhlaWdodDp0aGlzLnN0YXRlLnRoaWNrbmVzcyxiYWNrZ3JvdW5kQ29sb3I6dGhpcy5zdGF0ZS5jb2xvcn0pLHRoaXMuJGJvdHRvbS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDowLGJvdHRvbTowLHdpZHRoOnQsaGVpZ2h0OnRoaXMuc3RhdGUudGhpY2tuZXNzLGJhY2tncm91bmRDb2xvcjp0aGlzLnN0YXRlLmNvbG9yfSksdGhpcy4kcmlnaHQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHJpZ2h0OjAsdG9wOjAsd2lkdGg6dGhpcy5zdGF0ZS50aGlja25lc3MsaGVpZ2h0OmUsYmFja2dyb3VuZENvbG9yOnRoaXMuc3RhdGUuY29sb3J9KSx0aGlzLiRsZWZ0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OjAsdG9wOjAsd2lkdGg6dGhpcy5zdGF0ZS50aGlja25lc3MsaGVpZ2h0OmUsYmFja2dyb3VuZENvbG9yOnRoaXMuc3RhdGUuY29sb3J9KX0sUG4ucHJvdG90eXBlLnNldFZpc2liaWxpdHk9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS52aXNpYmxlPXQsdGhpcy5jc3Moe29wYWNpdHk6dD8xOjB9KX0sUG4ucHJvdG90eXBlLnNldENvbG9yPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUuY29sb3I9dCx0aGlzLiR0b3AuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6dGhpcy5zdGF0ZS5jb2xvcn0pLHRoaXMuJGJvdHRvbS5jc3Moe2JhY2tncm91bmRDb2xvcjp0aGlzLnN0YXRlLmNvbG9yfSksdGhpcy4kcmlnaHQuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6dGhpcy5zdGF0ZS5jb2xvcn0pLHRoaXMuJGxlZnQuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6dGhpcy5zdGF0ZS5jb2xvcn0pfSxQbi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUudmlzaWJsZX0seGUucHJvdG8oTm4sX2UpLE5uLnByb3RvdHlwZS5zZXRVcmw9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS51cmw9dH0sTm4ucHJvdG90eXBlLmdldFVybD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnVybH0sTm4ucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24odCxlKXt2YXIgaT1Ebih0aGlzLnN0YXRlLnRoZW1lLmdldCgpKTt0JiYodGhpcy5zdGF0ZS53aWR0aD10KSxlP3RoaXMuc3RhdGUuaGVpZ2h0PWU6dCYmKHRoaXMuc3RhdGUuaGVpZ2h0PXQpLHRoaXMuY3NzKHtvdXRsaW5lQ29sb3I6aS5mb2N1cy5vdXRsaW5lLGRpc3BsYXk6ImJsb2NrIix3aWR0aDp0aGlzLnN0YXRlLndpZHRoLGhlaWdodDp0aGlzLnN0YXRlLmhlaWdodH0pLHRoaXMuZ3JhcGhpYy5zaXplKHRoaXMuc3RhdGUud2lkdGgsdGhpcy5zdGF0ZS5oZWlnaHQpfSxObi5wcm90b3R5cGUub25Gb2N1cz1mdW5jdGlvbih0KXt2YXIgZT1Ebih0aGlzLnN0YXRlLnRoZW1lLmdldCgpKS5mb2N1cy5vdXRsaW5lO3RoaXMuY3NzKHtvdXRsaW5lOiIycHggc29saWQgIitlfSl9LE5uLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24odCl7dGhpcy5jc3Moe291dGxpbmU6Im5vbmUifSl9LHhlLnByb3RvKFpuLF9lKSxabi5wcm90b3R5cGUuc2V0VmlzaWJsZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnZpc2libGU9dCx0aGlzLmNzcyh7ZGlzcGxheTp0PyJibG9jayI6Im5vbmUifSl9LFpuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPXQsbj10O3JldHVybiB0aGlzLmljb24uc2l6ZShpLG4pLHRoaXMuaWNvbi5maWxsKGUpLHRoaXMuY3NzKHt3aWR0aDppLGhlaWdodDpufSkse3dpZHRoOmksaGVpZ2h0Om59fSxabi5wcm90b3R5cGUuc3Bpbj1mdW5jdGlvbigpe3RoaXMuX2FuZ2xlPSh0aGlzLl9hbmdsZSs4KSUzNjAsdGhpcy5pY29uLmNzcyh7dHJhbnNmb3JtOiJhbmRyb2lkIj09PXR0LlN5c3RlbS5vcz8icm90YXRlKCIrdGhpcy5fYW5nbGUrImRlZykiOiJyb3RhdGUoIit0aGlzLl9hbmdsZSsiZGVnKSB0cmFuc2xhdGVaKDFweCkifSl9LFpuLnByb3RvdHlwZS5zdGFydFNwaW5uaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0LnN0b3BTcGlubmluZygpLGZ1bmN0aW9uIGUoKXt0LnNwaW4oKSx0Ll90aW1lcj1zZXRUaW1lb3V0KGUsdC5faW50ZXJ2YWwpfSgpfSxabi5wcm90b3R5cGUuc3RvcFNwaW5uaW5nPWZ1bmN0aW9uKCl7dGhpcy5fdGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fdGltZXIpLHRoaXMuX3RpbWVyPW51bGwpfSxabi5wcm90b3R5cGUub25EZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5zdG9wU3Bpbm5pbmcoKX0sSW4ucHJvdG90eXBlLnBsYXk9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LmRvbSYmIXRoaXMuX2lzUGxheWluZyYmKHRoaXMuX2VsZW1lbnQuZG9tLnBsYXkoKSx0aGlzLl9pc1BsYXlpbmc9ITApfSxJbi5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LmRvbSYmdGhpcy5faXNQbGF5aW5nJiYodGhpcy5fZWxlbWVudC5kb20ucGF1c2UoKSx0aGlzLl9pc1BsYXlpbmc9ITEpfSxJbi5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuX2VsZW1lbnQuZG9tJiYodGhpcy5fZWxlbWVudC5kb20ucGF1c2UoKSx0aGlzLl9lbGVtZW50LmRvbS5jdXJyZW50VGltZT0wLHRoaXMuX2lzUGxheWluZz0hMSl9LEluLnByb3RvdHlwZS5pc1BsYXlpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNQbGF5aW5nfSxJbi5wcm90b3R5cGUuZ2V0VmlkZW9FbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsZW1lbnQuZG9tfSx4ZS5wcm90byh6bixfZSksem4ucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24odCxlKXt0aGlzLmNvbmZpZy5zaXplPXR8fHRoaXMuY29uZmlnLnNpemUsdGhpcy5fc3R5bGU9am4odGhpcy5fdGhlbWUuZ2V0KCkpO3ZhciBpPWV8fHRoaXMuX3N0eWxlLm1haW4uZmlsbCxuPXRoaXMuc3RhdGUudmlzaWJsZT8xOjEuMjtpZih0aGlzLmNzcyh7d2lkdGg6dGhpcy5jb25maWcuc2l6ZSxoZWlnaHQ6dGhpcy5jb25maWcuc2l6ZSxib3JkZXJSYWRpdXM6IjUwJSIsb3BhY2l0eTp0aGlzLnN0YXRlLnZpc2libGU/MTowLHRyYW5zaXRpb246Im5vbmUifSksdGhpcy4kZmlsbC5jc3Moe2JhY2tncm91bmRDb2xvcjppLHdpZHRoOnRoaXMuY29uZmlnLnNpemUsaGVpZ2h0OnRoaXMuY29uZmlnLnNpemUscG9zaXRpb246ImFic29sdXRlIix0cmFuc2Zvcm06InNjYWxlKCIrbisiKSIsdG9wOjAsbGVmdDowLHpJbmRleDo1LHRyYW5zaXRpb246Im5vbmUiLGJvcmRlclJhZGl1czoiNTAlIixib3JkZXI6MSxib3JkZXJDb2xvcjoiI2ZmZiJ9KSx0aGlzLiRyYWRpYWwuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6aSx3aWR0aDp0aGlzLmNvbmZpZy5zaXplLGhlaWdodDp0aGlzLmNvbmZpZy5zaXplLHRyYW5zZm9ybToic2NhbGUoMSkiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsb3BhY2l0eTouNSx0b3A6MCxsZWZ0OjAsekluZGV4OjAsdHJhbnNpdGlvbjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUifSksdGhpcy5pY29uKXt2YXIgbz10aGlzLl9zdHlsZS5tYWluLmljb247dGhpcy4kd3JhcHBlci5jc3Moe3dpZHRoOnRoaXMuY29uZmlnLnNpemUsaGVpZ2h0OnRoaXMuY29uZmlnLnNpemUsb3ZlcmZsb3c6ImhpZGRlbiJ9KSx0aGlzLmljb24uZmlsbChvKSx0aGlzLmljb24uc2l6ZSh0aGlzLmNvbmZpZy5zaXplLHRoaXMuY29uZmlnLnNpemUpLHRoaXMuaWNvbi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHpJbmRleDoxNX0pfX0sem4ucHJvdG90eXBlLmRpc3BsYXk9ZnVuY3Rpb24odCxlKXt0aGlzLl90aW1lciYmKHRoaXMuX3RpbWVyPWNsZWFyVGltZW91dCh0aGlzLl90aW1lcikpLHRoaXMucmVzZXRBbmltYXRpb24oKSxlP3RoaXMuX3RpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLnN0YXRlLnZpc2libGU9dCx0P3RoaXMuYW5pbWF0ZUluKCk6dGhpcy5hbmltYXRlT3V0KCl9LmJpbmQodGhpcyksMTYpOnRoaXMucmVzZXQodCl9LHpuLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnZpc2libGU9dCx0aGlzLmNzcyh7dHJhbnNpdGlvbjoibm9uZSIsb3BhY2l0eTp0PzE6MH0pLHRoaXMuaWNvbi5jc3Moe3RvcDp0PzA6dGhpcy5jb25maWcuc2l6ZS80LG9wYWNpdHk6dD8xOjAsdHJhbnNpdGlvbjoibm9uZSJ9KSx0aGlzLiRyYWRpYWwuY3NzKHtvcGFjaXR5OjAsdHJhbnNpdGlvbjoibm9uZSJ9KSx0aGlzLiRmaWxsLmNzcyh7dHJhbnNpdGlvbjoibm9uZSIsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9KX0sem4ucHJvdG90eXBlLnJlc2V0QW5pbWF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zdGF0ZS52aXNpYmxlPzE6Ljc1O3RoaXMuJGZpbGwuY3NzKHt0cmFuc2l0aW9uOiJub25lIix0cmFuc2Zvcm06InNjYWxlKCIrdCsiKSJ9KSx0aGlzLiRyYWRpYWwuY3NzKHtvcGFjaXR5Oi4yNSx0cmFuc2l0aW9uOiJub25lIix0cmFuc2Zvcm06InNjYWxlKDEpIn0pLHRoaXMuaWNvbi5jc3Moe3RvcDp0aGlzLnN0YXRlLnZpc2libGU/MDp0aGlzLmNvbmZpZy5zaXplLzQsb3BhY2l0eTp0aGlzLnN0YXRlLnZpc2libGU/MTowLHRyYW5zaXRpb246Im5vbmUifSl9LHpuLnByb3RvdHlwZS5hbmltYXRlSW49ZnVuY3Rpb24oKXt2YXIgdD0iYW5kcm9pZCI9PT10dC5TeXN0ZW0ub3MmJih3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJ3diIpPjB8fHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIndlYnZpZXciKT4wKTt0aGlzLmNzcyh7dHJhbnNpdGlvbjp0PyJub25lIjoiYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKSIsb3BhY2l0eToxfSksdGhpcy4kZmlsbC5jc3Moe3RyYW5zaXRpb246dD8ibm9uZSI6ImFsbCAwLjI1cyBjdWJpYy1iZXppZXIoLjE4LDEuNzgsLjY2LC44NCkgMC4wNXMiLHRyYW5zZm9ybToic2NhbGUoMSkifSksdGhpcy4kcmFkaWFsLmNzcyh7b3BhY2l0eTowLHRyYW5zaXRpb246dD8ibm9uZSI6ImFsbCAwLjM1cyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSkgMC4wNXMiLHRyYW5zZm9ybToic2NhbGUoMS41KSJ9KSx0aGlzLmljb24uY3NzKHt0b3A6MCxvcGFjaXR5OjEsdHJhbnNpdGlvbjp0PyJub25lIjoiYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKSAwLjA1cyJ9KX0sem4ucHJvdG90eXBlLmFuaW1hdGVPdXQ9ZnVuY3Rpb24oKXt2YXIgdD0iYW5kcm9pZCI9PT10dC5TeXN0ZW0ub3MmJih3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJ3diIpPjB8fHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIndlYnZpZXciKT4wKTt0aGlzLmNzcyh7dHJhbnNpdGlvbjp0PyJub25lIjoib3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpIDAuMDVzIixvcGFjaXR5OjB9KSx0aGlzLiRmaWxsLmNzcyh7dHJhbnNpdGlvbjp0PyJub25lIjoidHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSkgMC4wNXMiLHRyYW5zZm9ybToic2NhbGUoMC42NSkifSksdGhpcy4kcmFkaWFsLmNzcyh7b3BhY2l0eTowLHRyYW5zaXRpb246Im5vbmUifSksdGhpcy5pY29uLmNzcyh7dG9wOi10aGlzLmNvbmZpZy5zaXplLzQsb3BhY2l0eTowLHRyYW5zaXRpb246dD8ibm9uZSI6ImFsbCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpIn0pfSx6bi5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbih0KXt0aGlzLiRmaWxsLmNzcyh7YmFja2dyb3VuZENvbG9yOnQsdHJhbnNpdGlvbjoibm9uZSJ9KSx0aGlzLiRyYWRpYWwuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6dCx0cmFuc2l0aW9uOiJub25lIn0pfSx4ZS5wcm90byhZbixfZSksWW4ucHJvdG90eXBlLl9pbml0aWFsaXplQ29tcG9uZW50cz1mdW5jdGlvbigpe3RoaXMubWFya2Rvd25Db250ZW50PXRoaXMuaW5pdENvbXBvbmVudChobix7dGhlbWU6dGhpcy5fdGhlbWV9KSx0aGlzLmFycm93PXRoaXMuaW5pdENvbXBvbmVudChfZSwiLnRvb2x0aXAtYXJyb3ciKX0sWW4ucHJvdG90eXBlLl9zZXR1cEFjY2Vzc2liaWxpdHk9ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgicm9sZSIsInRvb2x0aXAiKSx0aGlzLnNldEF0dHJpYnV0ZSgiaWQiLHRoaXMuX3Rvb2x0aXBJZCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLHRoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIiksdGhpcy5hcnJvdy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpfSxZbi5wcm90b3R5cGUuX2JpbmRFdmVudEhhbmRsZXJzPWZ1bmN0aW9uKCl7dGhpcy5vbkFuY2hvckhvdmVyPXRoaXMub25BbmNob3JIb3Zlci5iaW5kKHRoaXMpLHRoaXMub25BbmNob3JGb2N1cz10aGlzLm9uQW5jaG9yRm9jdXMuYmluZCh0aGlzKSx0aGlzLm9uQW5jaG9yQmx1cj10aGlzLm9uQW5jaG9yQmx1ci5iaW5kKHRoaXMpLHRoaXMub25Ub29sdGlwSG92ZXI9dGhpcy5vblRvb2x0aXBIb3Zlci5iaW5kKHRoaXMpfSxZbi5wcm90b3R5cGUuX3NldHVwRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt0aGlzLl9tb2JpbGV8fCh0aGlzLl9hbmNob3IuYWRkRXZlbnRMaXN0ZW5lcigib3ZlciIsdGhpcy5vbkFuY2hvckhvdmVyKSx0aGlzLl9hbmNob3IuYWRkRXZlbnRMaXN0ZW5lcigib3V0Iix0aGlzLm9uQW5jaG9ySG92ZXIpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigib3ZlciIsdGhpcy5vblRvb2x0aXBIb3ZlciksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJvdXQiLHRoaXMub25Ub29sdGlwSG92ZXIpKSx0aGlzLl9hbmNob3IuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMub25BbmNob3JGb2N1cyksdGhpcy5fYW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMub25BbmNob3JCbHVyKX0sWW4ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS5zdHlsZT1Lbih0aGlzLl90aGVtZS5nZXQoKSk7dmFyIHQ9dGhpcy5zdGF0ZS5zdHlsZS5tYWluLGU9dGhpcy5zdGF0ZS52aXNpYmxlLGk9dGhpcy5jb25maWcubWF4V2lkdGg7dGhpcy5jc3Moe3Zpc2liaWxpdHk6ZT8idmlzaWJsZSI6ImhpZGRlbiIsb3BhY2l0eTplPzE6MCxiYWNrZ3JvdW5kQ29sb3I6dC5iYWNrZ3JvdW5kLGNvbG9yOnQudGV4dCxwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDozMCxib3JkZXJSYWRpdXM6NixwYWRkaW5nOjgsZm9udFNpemU6MTIsZm9udFdlaWdodDo1MDAsbGluZUhlaWdodDoxNCx3b3JkV3JhcDoiYnJlYWstd29yZCIsdGV4dEFsaWduOiJsZWZ0Iix3aGl0ZVNwYWNlOiJwcmUtd3JhcCIsbWF4V2lkdGg6aS0xNix0cmFuc2l0aW9uOiJvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCJ9KSx0aGlzLmFycm93LmNzcyh7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDowLGhlaWdodDowLGJvcmRlclN0eWxlOiJzb2xpZCJ9KSx0aGlzLnN0YXRlLnZpc2libGUmJnRoaXMuX3Bvc2l0aW9uVG9vbHRpcCgpfSxZbi5wcm90b3R5cGUub25BbmNob3JIb3Zlcj1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZHx8KCJvdmVyIj09PXQuYWN0aW9uP3RoaXMuX3NjaGVkdWxlU2hvdygpOnRoaXMuX3NjaGVkdWxlSGlkZSgpKX0sWW4ucHJvdG90eXBlLm9uVG9vbHRpcEhvdmVyPWZ1bmN0aW9uKHQpeyJvdmVyIj09PXQuYWN0aW9uP3RoaXMuX2NsZWFySGlkZVRpbWVvdXQoKTp0aGlzLl9zY2hlZHVsZUhpZGUoKX0sWW4ucHJvdG90eXBlLm9uQW5jaG9yRm9jdXM9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLmxvY2tlZHx8dGhpcy5zaG93KCl9LFluLnByb3RvdHlwZS5vbkFuY2hvckJsdXI9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLmxvY2tlZHx8dGhpcy5oaWRlKCl9LFluLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS52aXNpYmxlfHwodGhpcy5zdGF0ZS52aXNpYmxlPSEwLHRoaXMuX2NsZWFyU2hvd1RpbWVvdXQoKSx0aGlzLl9jbGVhckhpZGVUaW1lb3V0KCksdGhpcy5zdHlsZSgpLHRoaXMuZW1pdCgic2hvdyIpKX0sWW4ucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLnZpc2libGUmJih0aGlzLnN0YXRlLnZpc2libGU9ITEsdGhpcy5fY2xlYXJTaG93VGltZW91dCgpLHRoaXMuX2NsZWFySGlkZVRpbWVvdXQoKSx0aGlzLnN0eWxlKCksdGhpcy5lbWl0KCJoaWRlIikpfSxZbi5wcm90b3R5cGUuc2V0VGV4dD1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnRleHQ9dCx0aGlzLnRyYW5zbGF0ZSgpfSxZbi5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKHRoaXMuc3RhdGUudGV4dCk7dGhpcy5tYXJrZG93bkNvbnRlbnQucGFyc2VUZXh0KHQpfSxZbi5wcm90b3R5cGUuX3NjaGVkdWxlU2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fY2xlYXJTaG93VGltZW91dCgpLHRoaXMuX2NsZWFySGlkZVRpbWVvdXQoKSx0aGlzLl9zaG93VGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3Quc2hvdygpfSksdGhpcy5jb25maWcuZGVsYXkpfSxZbi5wcm90b3R5cGUuX3NjaGVkdWxlSGlkZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fY2xlYXJIaWRlVGltZW91dCgpLHRoaXMuc3RhdGUudmlzaWJsZT90aGlzLl9oaWRlVGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuaGlkZSgpfSksMjAwKTp0aGlzLl9jbGVhclNob3dUaW1lb3V0KCl9LFluLnByb3RvdHlwZS5fY2xlYXJTaG93VGltZW91dD1mdW5jdGlvbigpe3RoaXMuX3Nob3dUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KSx0aGlzLl9zaG93VGltZW91dD1udWxsKX0sWW4ucHJvdG90eXBlLl9jbGVhckhpZGVUaW1lb3V0PWZ1bmN0aW9uKCl7dGhpcy5faGlkZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXQpLHRoaXMuX2hpZGVUaW1lb3V0PW51bGwpfSxZbi5wcm90b3R5cGUuX3Bvc2l0aW9uVG9vbHRpcD1mdW5jdGlvbigpe2lmKHRoaXMuX2FuY2hvcil7dmFyIHQ9dGhpcy5fYW5jaG9yLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlPXRoaXMuY29uZmlnLnBvc2l0aW9uLGk9dGhpcy5jb25maWcub2Zmc2V0LG49e307c3dpdGNoKGUpe2RlZmF1bHQ6bi5sZWZ0PXQubGVmdCt0LndpZHRoLzIrInB4IixuLnRvcD10LnRvcC1pKyJweCIsbi50cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTAlLCAtMTAwJSkiO2JyZWFrO2Nhc2UiYm90dG9tIjpuLmxlZnQ9dC5sZWZ0K3Qud2lkdGgvMisicHgiLG4udG9wPXQuYm90dG9tK2krInB4IixuLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIDApIjticmVhaztjYXNlImxlZnQiOm4ubGVmdD10LmxlZnQtaSsicHgiLG4udG9wPXQudG9wK3QuaGVpZ2h0LzIrInB4IixuLnRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDAlLCAtNTAlKSI7YnJlYWs7Y2FzZSJyaWdodCI6bi5sZWZ0PXQucmlnaHQraSsicHgiLG4udG9wPXQudG9wK3QuaGVpZ2h0LzIrInB4IixuLnRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIC01MCUpIn10aGlzLmNvbmZpZy5jdXN0b21Qb3NpdGlvbnx8dGhpcy5jc3MobiksdGhpcy5fcG9zaXRpb25BcnJvdyh0LGUpfX0sWW4ucHJvdG90eXBlLl9wb3NpdGlvbkFycm93PWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5kb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLnN0YXRlLnN0eWxlLm1haW4sbz17fSxyPTAscz0wO3N3aXRjaChlKXtkZWZhdWx0OnI9dC5sZWZ0K3Qud2lkdGgvMi1pLmxlZnQtNixvLmxlZnQ9cisicHgiLG8uYm90dG9tPSItNnB4IixvLmJvcmRlcldpZHRoPSI2cHggNnB4IDAgNnB4IixvLmJvcmRlckNvbG9yPW4uYmFja2dyb3VuZCsiIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IjticmVhaztjYXNlImJvdHRvbSI6cj10LmxlZnQrdC53aWR0aC8yLWkubGVmdC02LG8ubGVmdD1yKyJweCIsby50b3A9Ii02cHgiLG8uYm9yZGVyV2lkdGg9IjAgNnB4IDZweCA2cHgiLG8uYm9yZGVyQ29sb3I9InRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICIrbi5iYWNrZ3JvdW5kKyIgdHJhbnNwYXJlbnQiO2JyZWFrO2Nhc2UibGVmdCI6cz10LnRvcCt0LmhlaWdodC8yLWkudG9wLTYsby50b3A9cysicHgiLG8ucmlnaHQ9Ii02cHgiLG8uYm9yZGVyV2lkdGg9IjZweCAwIDZweCA2cHgiLG8uYm9yZGVyQ29sb3I9InRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICIrbi5iYWNrZ3JvdW5kO2JyZWFrO2Nhc2UicmlnaHQiOnM9dC50b3ArdC5oZWlnaHQvMi1pLnRvcC02LG8udG9wPXMrInB4IixvLmxlZnQ9Ii02cHgiLG8uYm9yZGVyV2lkdGg9IjZweCA2cHggNnB4IDAiLG8uYm9yZGVyQ29sb3I9InRyYW5zcGFyZW50ICIrbi5iYWNrZ3JvdW5kKyIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQifXRoaXMuYXJyb3cuY3NzKG8pfSxZbi5wcm90b3R5cGUub25EZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJTaG93VGltZW91dCgpLHRoaXMuX2NsZWFySGlkZVRpbWVvdXQoKX07dmFyIEpuPXtfX3Byb3RvX186bnVsbCxHcmFwaGljOnVuLExpc3ROYXRpdmU6X24sTGlzdEN1c3RvbTpMbixMaXN0Q3VzdG9tT3B0aW9uOkZuLExpbms6bG4sTG9nbzpObixTcGFuOmNuLE1hcmtkb3duOmhuLEljb25CdXR0b246eW4sVGV4dEJ1dHRvbjpnbixBY3Rpb25CdXR0b246Ym4sUmFkaW9CdXR0b246d24sVGV4dEFyZWE6eG4sQm94OkhuLEJvcmRlcjpQbixCYWRnZTp6bixTcGlubmVyOlpuLEJ1dHRvbjpkbixWaWRlbzpJbixUb29sdGlwOllufTtmdW5jdGlvbiBHbigpe3hlLnNlbGYodGhpcyx5bix7dGl0bGU6IkNsb3NlIE1vZGFsIixuYW1lOiJjbG9zZSIsc3JjOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDIyIDIyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTE3LjU2NjkgNC4xNzMwOEMxNy4xNzY0IDMuNzgyNTYgMTYuNTQzMiAzLjc4MjU2IDE2LjE1MjcgNC4xNzMwOEwxMSA5LjMyNTc4TDUuODQ3MzEgNC4xNzMwOUM1LjQ1Njc4IDMuNzgyNTcgNC44MjM2MiAzLjc4MjU3IDQuNDMzMDkgNC4xNzMwOUw0LjE3MzA4IDQuNDMzMTFDMy43ODI1NiA0LjgyMzYzIDMuNzgyNTYgNS40NTY4IDQuMTczMDggNS44NDczMkw5LjMyNTc3IDExTDQuMTczMDkgMTYuMTUyN0MzLjc4MjU3IDE2LjU0MzIgMy43ODI1NyAxNy4xNzY0IDQuMTczMDkgMTcuNTY2OUw0LjQzMzEgMTcuODI2OUM0LjgyMzYzIDE4LjIxNzQgNS40NTY3OSAxOC4yMTc0IDUuODQ3MzIgMTcuODI2OUwxMSAxMi42NzQyTDE2LjE1MjcgMTcuODI2OUMxNi41NDMyIDE4LjIxNzQgMTcuMTc2NCAxOC4yMTc0IDE3LjU2NjkgMTcuODI2OUwxNy44MjY5IDE3LjU2NjlDMTguMjE3NCAxNy4xNzY0IDE4LjIxNzQgMTYuNTQzMiAxNy44MjY5IDE2LjE1MjdMMTIuNjc0MiAxMUwxNy44MjY5IDUuODQ3MzFDMTguMjE3NCA1LjQ1Njc4IDE4LjIxNzQgNC44MjM2MiAxNy44MjY5IDQuNDMzMDlMMTcuNTY2OSA0LjE3MzA4WicvJTNlJTNjL3N2ZyUzZSIsdGhlbWU6c24sd2lkdGg6MzAsaGVpZ2h0OjMwfSl9ZnVuY3Rpb24gUW4oKXt4ZS5zZWxmKHRoaXMsX2UsImhlYWRlciIpLHRoaXMuc3RhdGU9e3Zpc2libGU6ITB9LHRoaXMuJHRpdGxlPXRoaXMuY3JlYXRlRWxlbWVudCgiaDIiLCIjbW9kYWwtdGl0bGUiKSx0aGlzLiR1bmRlcmxpbmU9dGhpcy5jcmVhdGVFbGVtZW50KCIudW5kZXJsaW5lIil9ZnVuY3Rpb24gJG4odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQsbj0ibGlnaHQiPT09ZS5tb2RlO3JldHVybiBvbi5tZXJnZSh7bWFpbjp7ZmlsbDplLmNvbW1vbi53aGl0ZSxib3JkZXI6ZS5ncmV5W24/MzAwOjIwMF19LGhvdmVyOntmaWxsOmUuZ3JleVtuPzIwMDo3MDBdfSxmb2N1czp7b3V0bGluZTplLnByaW1hcnkubWFpbn19LGkubW9kYWwpfWZ1bmN0aW9uIFhuKCl7eGUuc2VsZih0aGlzLF9lLCJtb2RhbCIpO3ZhciB0PXRoaXM7dGhpcy5zdGF0ZT17dmlzaWJsZTohMSxjdXJyOm51bGwscHJldjpudWxsfSx0aGlzLl9zdHlsZT0kbihzbi5nZXQoKSksdGhpcy5hZGRDbGFzcygibm8tb3V0bGluZSIpLHRoaXMuc2V0QXR0cmlidXRlKCJyb2xlIiwiZGlhbG9nIiksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbW9kYWwiLCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksdGhpcy5oZWFkZXI9dGhpcy5pbml0Q29tcG9uZW50KFFuKSx0aGlzLmhlYWRlci5zZXRBdHRyaWJ1dGUoImFyaWEtbGV2ZWwiLCIxIiksdGhpcy5oZWFkZXIub24oImNsb3NlIiwoZnVuY3Rpb24oKXt0LmVtaXQoImNsb3NlIil9KSksdGhpcy4kY29udGVudD10aGlzLmNyZWF0ZUVsZW1lbnQoIiNtb2RhbC1jb250ZW50IiksdGhpcy4kY29udGVudC5hZGRDbGFzcygiY29udGVudCIpLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IiwibW9kYWwtY29udGVudCIpLHRoaXMuY2xvc2U9dGhpcy5pbml0Q29tcG9uZW50KEduKSx0aGlzLmNsb3NlLm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7dC5lbWl0KCJjbG9zZSIpfSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGZ1bmN0aW9uKGUpe2lmKHQuZG9tJiY5PT09ZS5rZXlOdW0pe3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3RyeXtmb3IodmFyIGk9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcih0LE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULHthY2NlcHROb2RlOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT09dC5vZmZzZXRQYXJlbnQmJigiQlVUVE9OIj09PXQudGFnTmFtZXx8IkEiPT09dC50YWdOYW1lJiZ0Lmhhc0F0dHJpYnV0ZSgiaHJlZiIpfHwiSU5QVVQiPT09dC50YWdOYW1lfHwiU0VMRUNUIj09PXQudGFnTmFtZXx8IlRFWFRBUkVBIj09PXQudGFnTmFtZXx8dC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJiItMSIhPT10LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSkmJiF0LmRpc2FibGVkP05vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDpOb2RlRmlsdGVyLkZJTFRFUl9TS0lQfX0sITEpLG49aS5uZXh0Tm9kZSgpO247KWUucHVzaChuKSxuPWkubmV4dE5vZGUoKTtyZXR1cm4gZX1jYXRjaChncyl7cmV0dXJuIE10KCJNb2RhbCBhMTF5IGdldEZvY3VzYWJsZUVsZW1lbnRzIiwiY2hhbGxlbmdlIiwiaW5mbyIsZ3MpLG51bGx9fSh0LmRvbSk7aWYoaSl7dmFyIG49aVswXSxvPWlbaS5sZW5ndGgtMV07ZS5zaGlmdEtleT9kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09biYmbyYmKG8uZm9jdXMoKSxlLnByZXZlbnREZWZhdWx0KCkpOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1vJiZuJiYobi5mb2N1cygpLGUucHJldmVudERlZmF1bHQoKSl9fX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoZnVuY3Rpb24oKXt0LmNzcyh7Ym9yZGVyOiIycHggc29saWQgIit0Ll9zdHlsZS5mb2N1cy5vdXRsaW5lfSl9KSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoZnVuY3Rpb24oKXt0LmNzcyh7Ym9yZGVyOiJub25lIn0pfSkpfWZ1bmN0aW9uIHFuKHQpe3hlLnNlbGYodGhpcyxfZSwiY29weSIsInAiKTt2YXIgZT10aGlzO3R8fCh0PXt9KSx0aGlzLnN0YXRlPXt0ZXh0OnQudGV4dHx8IiIsbGlua1VuZGVybGluZTp0LmxpbmtVbmRlcmxpbmV8fCExLGxpbmtUcmFuc2xhdGU6dC5saW5rVHJhbnNsYXRlfHwhMSxsaW5rOnQubGlua3x8ITEsbGlua1RleHQ6dC5saW5rVGV4dHx8IiIsbGlua1RleHRMYWJlbDp0LmxpbmtUZXh0TGFiZWx8fCIiLGxpbmtUbzp0LmxpbmtUb3x8bnVsbCxyZXBsYWNlVGV4dDp0LnJlcGxhY2VUZXh0fHxudWxsfSx0aGlzLnN0YXRlLmxpbmsmJih0aGlzLmxpbms9bmV3IGxuKHt0aGVtZTpzbix0ZXh0OnRoaXMuc3RhdGUubGlua1RleHQsdXJsOnRoaXMuc3RhdGUubGlua1RvLHRleHRMYWJlbDp0aGlzLnN0YXRlLmxpbmtUZXh0TGFiZWwsdW5kZXJsaW5lOnRoaXMuc3RhdGUubGlua1VuZGVybGluZSxsaW5rVG9Mb2NhbGU6dGhpcy5zdGF0ZS5saW5rVHJhbnNsYXRlfSksdGhpcy5zdGF0ZS5saW5rVG8mJnRoaXMubGluay5vbigiY2xpY2siLChmdW5jdGlvbih0KXtlLmVtaXQoImNsaWNrIix0KX0pKSl9eGUucHJvdG8oR24seW4pLEduLnNpemU9R24ucHJvdG90eXBlLnNpemU9MzAseGUucHJvdG8oUW4sX2UpLFFuLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPWU/NDA6NDQsbj1zbi5nZXQoKS5wYWxldHRlLG89ImxpZ2h0Ij09PW4ubW9kZTtyZXR1cm4gdGhpcy4kdGl0bGUuY3NzKHtjb2xvcjpvP24udGV4dC5oZWFkaW5nOm4uZ3JleVs3MDBdLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOmU/MTU6MTYsZGlzcGxheTp0aGlzLnN0YXRlLnZpc2libGU/InRhYmxlLWNlbGwiOiJub25lIix2ZXJ0aWNhbEFsaWduOiJtaWRkbGUiLHBhZGRpbmdUb3A6MixoZWlnaHQ6aSx3aWR0aDp0LUduLnNpemV9KSxNZS5pc1JUTCgpP3RoaXMuJHRpdGxlLmNzcyh7cGFkZGluZ1JpZ2h0OiI0MHB4In0pOnRoaXMuJHRpdGxlLmNzcyh7cGFkZGluZ1JpZ2h0OjB9KSx0aGlzLiR1bmRlcmxpbmUuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6bi5wcmltYXJ5Lm1haW4sd2lkdGg6dCxoZWlnaHQ6MSx0b3A6aSxwb3NpdGlvbjoiYWJzb2x1dGUifSksdGhpcy5jc3Moe3dpZHRoOnQsaGVpZ2h0OmkscG9zaXRpb246InJlbGF0aXZlIix0b3A6MH0pLHtoZWlnaHQ6aSx3aWR0aDp0fX0sUW4ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24odCl7dmFyIGU9TWUudHJhbnNsYXRlKHQpO01lLnNldERpcmVjdGlvbih0aGlzLiR0aXRsZSxNZS5nZXRMb2NhbGUoKSksdGhpcy4kdGl0bGUudGV4dChlKX0sUW4ucHJvdG90eXBlLmRpc3BsYXk9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS52aXNpYmxlPXQsdGhpcy5jc3Moe2Rpc3BsYXk6dD8idGFibGUtY2VsbCI6Im5vbmUifSl9LFFuLnByb3RvdHlwZS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS52aXNpYmxlfSx4ZS5wcm90byhYbixfZSksWG4ucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLmNsb3NlLmxvYWQoKX0sWG4ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dDwzMDA7dGhpcy5fc3R5bGU9JG4oc24uZ2V0KCkpLHRoaXMuY3NzKHt3aWR0aDp0LG1heEhlaWdodDplLHBvc2l0aW9uOiJyZWxhdGl2ZSIsbWFyZ2luOiIwIGF1dG8iLGJhY2tncm91bmRDb2xvcjp0aGlzLl9zdHlsZS5tYWluLmZpbGwsZGlzcGxheTp0aGlzLmhlYWRlcj8iYmxvY2siOiJ0YWJsZSIsYm9yZGVyUmFkaXVzOjQsekluZGV4OjEwLG92ZXJmbG93OiJoaWRkZW4iLGJvcmRlcjoiMXB4IHNvbGlkICIrdGhpcy5fc3R5bGUubWFpbi5ib3JkZXIsYm94U2hhZG93OiJyZ2JhKDAsIDAsIDAsIDAuMTUpIDBweCAwcHggMnB4IixwYWRkaW5nOiIwcHggMTVweCAxNXB4In0pLHRoaXMuaGVhZGVyLmlzVmlzaWJsZSgpPyh0aGlzLmhlYWRlci5zdHlsZSh0LGkpLHRoaXMuJGNvbnRlbnQuY3NzKHtkaXNwbGF5OiJibG9jayIsaGVpZ2h0OiJhdXRvIixtYXJnaW5Ub3A6MTB9KSk6dGhpcy4kY29udGVudC5jc3Moe2Rpc3BsYXk6InRhYmxlLWNlbGwiLHZlcnRpY2FsQWxpZ246Im1pZGRsZSIsbWFyZ2luVG9wOjAsaGVpZ2h0OmV9KSx0aGlzLmNsb3NlLnN0eWxlKCksdGhpcy5jbG9zZS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIscmlnaHQ6MjAsdG9wOmk/NTo3fSl9LFhuLnByb3RvdHlwZS5zZXRUaXRsZT1mdW5jdGlvbih0KXt0Pyh0aGlzLmhlYWRlci5kaXNwbGF5KCEwKSx0aGlzLmhlYWRlci5zZXRDb3B5KHQpLHRoaXMuY2xvc2Uuc2V0VGl0bGUoKSk6dGhpcy5oZWFkZXIuZGlzcGxheSghMSksTWUuc2V0RGlyZWN0aW9uKHRoaXMsTWUuZ2V0TG9jYWxlKCkpfSx4ZS5wcm90byhxbixfZSkscW4ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9c24uZ2V0KCkucGFsZXR0ZSxuPSJsaWdodCI9PT1pLm1vZGU7ZXx8KGU9ImNlbnRlciIpLHRoaXMuY3NzKHt3aWR0aDoiMTAwJSIsZm9udFNpemU6dCx0ZXh0QWxpZ246ZSxmb250V2VpZ2h0OjQwMCxjb2xvcjpuP2kudGV4dC5ib2R5OmkuZ3JleVs3MDBdLGxpbmVIZWlnaHQ6dCs2LGRpc3BsYXk6ImlubGluZSJ9KSx0aGlzLnN0YXRlLmxpbmsmJih0aGlzLmxpbmsuc3R5bGUodCksdGhpcy5saW5rLmNzcyh7ZGlzcGxheToiaW5saW5lIn0pKX0scW4ucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe3ZhciB0PU1lLnRyYW5zbGF0ZSh0aGlzLnN0YXRlLnRleHQpO2lmKHRoaXMuc3RhdGUubGluaylpZih0aGlzLmxpbmsudHJhbnNsYXRlKCksdGhpcy5zdGF0ZS5yZXBsYWNlVGV4dCl7dmFyIGU9dC5zcGxpdCgie3siK3RoaXMuc3RhdGUucmVwbGFjZVRleHQrIn19IiksaT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlWzBdKTtpZih0aGlzLmFwcGVuZEVsZW1lbnQoaSksdGhpcy5hcHBlbmRFbGVtZW50KHRoaXMubGluayksIiIhPT1lWzFdKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlWzFdKTt0aGlzLmFwcGVuZEVsZW1lbnQobil9fWVsc2V7dmFyIG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCsiICIpO3RoaXMuYXBwZW5kRWxlbWVudChvKSx0aGlzLmFwcGVuZEVsZW1lbnQodGhpcy5saW5rKX1lbHNlIHRoaXMuY29udGVudCh0KX07ZnVuY3Rpb24gdG8oKXt4ZS5zZWxmKHRoaXMsX2UsImluc3RydWN0aW9ucyIpO3ZhciB0PXRoaXM7dGhpcy5jb3B5PXRoaXMuaW5pdENvbXBvbmVudChxbix7dGV4dDoiaENhcHRjaGEgaXMgYSBzZXJ2aWNlIHRoYXQgcmVkdWNlcyBib3RzIGFuZCBzcGFtIGJ5IGFza2luZyBzaW1wbGUgcXVlc3Rpb25zLiBQbGVhc2UgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYXQgdGhlIHRvcCBvZiB0aGUgc2NyZWVuIGZvciBlYWNoIGNoYWxsZW5nZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gdmlzaXQge3tzaXRlLXVybH19IixsaW5rOiEwLGxpbmtUZXh0OiJoY2FwdGNoYS5jb20iLGxpbmtUZXh0TGFiZWw6ImhjYXB0Y2hhLmNvbS4gT3BlbnMgaW4gYSBuZXcgdGFiLiIsbGlua1RvOiJodHRwczovL3d3dy5oY2FwdGNoYS5jb20vd2hhdC1pcy1oY2FwdGNoYS1hYm91dD9yZWY9IitjdC5ob3N0KyImdXRtX2NhbXBhaWduPSIrY3Quc2l0ZWtleSsiJnV0bV9tZWRpdW09ZW1iZWRfYWJvdXQiLGxpbmtUcmFuc2xhdGU6ITAscmVwbGFjZVRleHQ6InNpdGUtdXJsIn0pLHRoaXMuY29weS5vbigiY2xpY2siLChmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksSWkodC5jb3B5LnN0YXRlLmxpbmtUbyl9KSl9ZnVuY3Rpb24gZW8oKXt4ZS5zZWxmKHRoaXMsX2UsImZlZWRiYWNrIik7dmFyIHQ9dGhpczt0aGlzLmluZm89dGhpcy5pbml0Q29tcG9uZW50KGNuLHt0ZXh0OiJIYXZpbmcgYSBwcm9ibGVtPyJ9KSx0aGlzLmxpbms9dGhpcy5pbml0Q29tcG9uZW50KGxuLHt0aGVtZTpzbix1bmRlcmxpbmU6ITAsdGV4dDoiUHJvdmlkZSBGZWVkYmFjay4ifSksdGhpcy5saW5rLm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7dC5lbWl0KCJjbGljayIpfSkpfWZ1bmN0aW9uIGlvKCl7eGUuc2VsZih0aGlzLF9lLCJpbmZvcm1hdGlvbiIpO3ZhciB0PXRoaXM7dGhpcy5pbnN0cnVjdGlvbnM9dGhpcy5pbml0Q29tcG9uZW50KHRvLG51bGwsdGhpcy4kY29udGVudCksdGhpcy5mZWVkYmFjaz10aGlzLmluaXRDb21wb25lbnQoZW8sbnVsbCx0aGlzLiRjb250ZW50KSx0aGlzLmZlZWRiYWNrLm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7dC5lbWl0KCJjaGFuZ2UiLCJmZWVkYmFjayIpfSkpfWZ1bmN0aW9uIG5vKCl7eGUuc2VsZih0aGlzLF9lLCJhY3Rpb25zIik7dmFyIHQ9dGhpczt0aGlzLmNhbmNlbD10aGlzLmluaXRDb21wb25lbnQoYm4se3RoZW1lOnNuLHNlbGVjdG9yOiJidXR0b24tY2FuY2VsIix0aXRsZToiQ2FuY2VsIix0eXBlOiJ3YXJuIn0pLHRoaXMuc2VuZD10aGlzLmluaXRDb21wb25lbnQoYm4se3RoZW1lOnNuLHNlbGVjdG9yOiJidXR0b24tc2VuZCIsdGl0bGU6IlNlbmQiLHR5cGU6ImNvbmZpcm0ifSksdGhpcy5jYW5jZWwub24oImNsaWNrIiwoZnVuY3Rpb24oKXt0LmVtaXQoImNhbmNlbCIpfSkpLHRoaXMuc2VuZC5vbigiY2xpY2siLChmdW5jdGlvbigpe3QuZW1pdCgiY29uZmlybSIpfSkpfXhlLnByb3RvKHRvLF9lKSx0by5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dGhpcy5jb3B5LnN0eWxlKHQsImxlZnQiKX0sdG8ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt0aGlzLmNvcHkudHJhbnNsYXRlKCl9LHhlLnByb3RvKGVvLF9lKSxlby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcihLdCh0LDI1MCwzMDAsMTEsMTMpKSxpPXNuLmdldCgpLnBhbGV0dGUsbj0ibGlnaHQiPT09aS5tb2RlO3RoaXMuY3NzKHt0ZXh0QWxpZ246ImNlbnRlciIsY29sb3I6bj9pLnRleHQuYm9keTppLmdyZXlbNzAwXSxmb250U2l6ZTplLGZvbnRXZWlnaHQ6NTAwLHdpZHRoOnQsbWFyZ2luOiIwIGF1dG8ifSksdGhpcy5saW5rLmNzcyh7Zm9udFdlaWdodDo1MDAsbWFyZ2luTGVmdDozfSl9LGVvLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKCJQcm92aWRlIEZlZWRiYWNrLiIpO3RoaXMuaW5mby50cmFuc2xhdGUoKSx0aGlzLmxpbmsudHJhbnNsYXRlKCksdGhpcy5saW5rLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdCl9LHhlLnByb3RvKGlvLF9lKSxpby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPU1hdGguZmxvb3IoS3QodCwyNTAsMjc1LDEyLDE0KSk7dGhpcy5pbnN0cnVjdGlvbnMuc3R5bGUobiksdGhpcy5pbnN0cnVjdGlvbnMuY3NzKHttYXJnaW5Cb3R0b206MTB9KSx0aGlzLmZlZWRiYWNrLnN0eWxlKHQpfSxpby5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbigpe3RoaXMuaW5zdHJ1Y3Rpb25zLnNldENvcHkoKSx0aGlzLmZlZWRiYWNrLnNldENvcHkoKX0seGUucHJvdG8obm8sX2UpLG5vLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUsaSl7dGhpcy5zZW5kLnN0eWxlKCksdGhpcy5jYW5jZWwuc3R5bGUodCxpKSx0aGlzLmNhbmNlbC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9KSx0aGlzLnNlbmQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSksTWUuaXNSVEwoKT8odGhpcy5jYW5jZWwuY3NzKHtyaWdodDowfSksdGhpcy5zZW5kLmNzcyh7bGVmdDowfSkpOih0aGlzLmNhbmNlbC5jc3Moe2xlZnQ6MH0pLHRoaXMuc2VuZC5jc3Moe3JpZ2h0OjB9KSl9LG5vLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWwuc2V0VGV4dCgpLHRoaXMuc2VuZC5zZXRUZXh0KCl9LG5vLnByb3RvdHlwZS5sb2NrU2VuZD1mdW5jdGlvbih0KXt0aGlzLnNlbmQubG9jayh0KSx0P3RoaXMuc2VuZC5zZXRMYWJlbCgiUGxlYXNlIHNlbGVjdCBhbiBvcHRpb24gdG8gc2VuZCByZXNwb25zZS4iKTp0aGlzLnNlbmQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsIil9LG5vLnByb3RvdHlwZS52aXNpYmxlPWZ1bmN0aW9uKHQpe3RoaXMuY2FuY2VsLmVuYWJsZSh0KSx0aGlzLnNlbmQuZW5hYmxlKHQpfTtmdW5jdGlvbiBvbygpe3hlLnNlbGYodGhpcyxfZSwiaW5zdHJ1Y3Rpb25zIiksdGhpcy5jb3B5PXRoaXMuaW5pdENvbXBvbmVudChxbix7dGV4dDoiUGxlYXNlIHNlbGVjdCBDb25maXJtIHRvIGZvbGxvdyB0aGUgbGluaywgb3IgQ2FuY2VsIHRvIHN0YXkgb24gdGhlIGN1cnJlbnQgc2NyZWVuLiJ9KX1mdW5jdGlvbiBybyh0KXt4ZS5zZWxmKHRoaXMsX2UsIm5hdmlnYXRpb24iKTt2YXIgZT10aGlzO3RoaXMuY29uZmlybWF0aW9uPXRoaXMuaW5pdENvbXBvbmVudChvbyksdGhpcy5hY3Rpb25zPXRoaXMuaW5pdENvbXBvbmVudChubyksdGhpcy5hY3Rpb25zLm9uKCJjb25maXJtIiwoZnVuY3Rpb24oKXt3aW5kb3cub3Blbih0LnVybCwiX2JsYW5rIiksZS5lbWl0KCJjbG9zZSIpfSkpLHRoaXMuYWN0aW9ucy5vbigiY2FuY2VsIiwoZnVuY3Rpb24oKXtlLmVtaXQoImNsb3NlIil9KSl9ZnVuY3Rpb24gc28odCl7eGUuc2VsZih0aGlzLF9lLCJvcHRpb25zIiksdGhpcy5zdGF0ZT17dmlzaWJsZTohMCxyYWRpb0ZvY3VzZWRJbmRleDowfSx0aGlzLmhhbmRlU2VsZWN0PXRoaXMuaGFuZGVTZWxlY3QuYmluZCh0aGlzKSx0aGlzLiR3cmFwcGVyPXRoaXMuY3JlYXRlRWxlbWVudCgiLmNvbHVtbi13cmFwcGVyIiksdGhpcy4kbGVmdD10aGlzLiR3cmFwcGVyLmNyZWF0ZUVsZW1lbnQoIi5jb2x1bW4tbGVmdCIpLHRoaXMuJHJpZ2h0PXRoaXMuJHdyYXBwZXIuY3JlYXRlRWxlbWVudCgiLmNvbHVtbi1yaWdodCIpLHRoaXMub3B0aW9ucz1bXTtmb3IodmFyIGU9bnVsbCxpPW51bGwsbj1udWxsLG89MDtvPHQubGVuZ3RoO28rKyluPXRbb10saT1vPj10Lmxlbmd0aC8yP3RoaXMuJHJpZ2h0OnRoaXMuJGxlZnQsKGU9dGhpcy5pbml0Q29tcG9uZW50KHduLHt0aGVtZTpzbix0ZXh0Om4udGV4dCx2YWx1ZTpuLnZhbHVlfSxpKSkuc2V0Q29weSgpLGUub24oInNlbGVjdCIsdGhpcy5oYW5kZVNlbGVjdCksdGhpcy5vcHRpb25zLnB1c2goZSk7dmFyIHI9dGhpczt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChmdW5jdGlvbih0KXt2YXIgZT10LmtleU51bTtpZigzOD09PWV8fDQwPT09ZSl7dC5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPTM4PT09ZT8tMToxLG49ci5zdGF0ZS5yYWRpb0ZvY3VzZWRJbmRleCtpO248MD9uPXIub3B0aW9ucy5sZW5ndGgtMTpuPj1yLm9wdGlvbnMubGVuZ3RoJiYobj0wKSxyLnN0YXRlLnJhZGlvRm9jdXNlZEluZGV4PW47dmFyIG89ci5vcHRpb25zW25dO28mJm8uJHJhZGlvJiZvLiRyYWRpby5mb2N1cygpfX0pKX14ZS5wcm90byhvbyxfZSksb28ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQpe3RoaXMuY29weS5zdHlsZSh0LCJsZWZ0Iil9LG9vLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7dGhpcy5jb3B5LnRyYW5zbGF0ZSgpfSx4ZS5wcm90byhybyxfZSkscm8ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1NYXRoLmZsb29yKEt0KHQsMjUwLDI3NSwxMiwxNCkpO3RoaXMuY29uZmlybWF0aW9uLnN0eWxlKG4pLHRoaXMuY29uZmlybWF0aW9uLmNzcyh7bWFyZ2luQm90dG9tOjEwfSksdGhpcy5hY3Rpb25zLnN0eWxlKHQsaSksdGhpcy5hY3Rpb25zLmNzcyh7d2lkdGg6aT8yMDA6MjIwLGhlaWdodDozNSxwb3NpdGlvbjoicmVsYXRpdmUiLG1hcmdpbjoiMTBweCBhdXRvIDBweCJ9KX0scm8ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt0aGlzLmNvbmZpcm1hdGlvbi5zZXRDb3B5KCksdGhpcy5hY3Rpb25zLnNldENvcHkoKX0seGUucHJvdG8oc28sX2UpLHNvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPU1hdGguZmxvb3IodC8yKTt0aGlzLiRsZWZ0LmNzcyh7d2lkdGg6IjUwJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pLHRoaXMuJHJpZ2h0LmNzcyh7d2lkdGg6IjUwJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pO2Zvcih2YXIgbj0wO248dGhpcy5vcHRpb25zLmxlbmd0aDtuKyspdGhpcy5vcHRpb25zW25dLnN0eWxlKGkpfSxzby5wcm90b3R5cGUuaGFuZGVTZWxlY3Q9ZnVuY3Rpb24odCl7aWYodGhpcy5zdGF0ZS52aXNpYmxlKXtmb3IodmFyIGU9ITEsaT0wO2k8dGhpcy5vcHRpb25zLmxlbmd0aDtpKyspKGU9dGhpcy5vcHRpb25zW2ldPT09dCkmJmU9PT10LnN0YXRlLnNlbGVjdGVkJiYoZT0hZSksdGhpcy5vcHRpb25zW2ldLnRvZ2dsZShlKTt0aGlzLmVtaXQoInVwZGF0ZSIsdCl9fSxzby5wcm90b3R5cGUudmlzaWJsZT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnZpc2libGU9dCx0aGlzLmNzcyh7ZGlzcGxheTp0PyJpbmxpbmUtYmxvY2siOiJub25lIn0pO2Zvcih2YXIgZT0wO2U8dGhpcy5vcHRpb25zLmxlbmd0aDtlKyspdGhpcy5vcHRpb25zW2VdLmxvY2soIXQpfSxzby5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5vcHRpb25zLmxlbmd0aDt0KyspdGhpcy5vcHRpb25zW3RdLnNldENvcHkoKX07dmFyIGFvPSJQbGVhc2UgZGVzY3JpYmUgeW91ciBpc3N1ZS4iLGxvPSJQcm92aWRlIGRldGFpbHMiLGNvPVt7dGV4dDoiQ2FuJ3QgU29sdmUiLHZhbHVlOiJjYXB0Y2hhX3NvbHZlIn0se3RleHQ6IkNhbid0IENsaWNrIix2YWx1ZToiY2FwdGNoYV91c2FiaWxpdHkifSx7dGV4dDoiT2ZmIFNjcmVlbiIsdmFsdWU6ImNhcHRjaGFfcG9zaXRpb24ifSx7dGV4dDoiT3RoZXIiLHZhbHVlOiJvdGhlciJ9XSxobz0iUGxlYXNlIGRlc2NyaWJlIHlvdXIgaXNzdWUuIix1bz1be3RleHQ6IkluYXBwcm9wcmlhdGUiLHZhbHVlOiJpbmFwcHJvcHJpYXRlIn0se3RleHQ6IlZpb2xlbnQiLHZhbHVlOiJ2aW9sZW50In0se3RleHQ6IlRvbyBEaWZmaWN1bHQiLHZhbHVlOiJkaWZmaWN1bHR5In0se3RleHQ6Ik90aGVyIix2YWx1ZToib3RoZXIifV0scG89IlBsZWFzZSBkZXNjcmliZSB5b3VyIGlzc3VlLiIsZm89IlByb3ZpZGUgZGV0YWlscyIsbW89W3t0ZXh0OiJJbmFwcHJvcHJpYXRlIix2YWx1ZToiY29udGVudCJ9LHt0ZXh0OiJTb2Z0d2FyZSBCdWciLHZhbHVlOiJzb2Z0d2FyZSJ9LHt0ZXh0OiJUb28gRGlmZmljdWx0Iix2YWx1ZToiZGlmZmljdWx0eSJ9LHt0ZXh0OiJPdGhlciIsdmFsdWU6Im90aGVyIn1dO2Z1bmN0aW9uIHlvKHQpe3hlLnNlbGYodGhpcyxfZSwicmVwb3J0Iik7dmFyIGU9dGhpczt0aGlzLnN0YXRlPXtzZWxlY3RlZDpudWxsLHRhc2tLZXk6dC5rZXksdHlwZTp0LnR5cGV9O3ZhciBpLG4sbyxyLHM9KGk9dC50eXBlLG49cG8sbz1mbyxyPW1vLCJidWciPT09aT8obz1sbyxuPWFvLHI9Y28pOiJpbWFnZSI9PT1pJiYobj1obyxyPXVvKSx7cHJvbXB0Om4sbGFiZWw6byxvcHRpb25zOnJ9KTt0aGlzLm9wdGlvbnM9dGhpcy5pbml0Q29tcG9uZW50KHNvLHMub3B0aW9ucyksdGhpcy5jb21tZW50PXRoaXMuaW5pdENvbXBvbmVudCh4bix7cGxhY2Vob2xkZXI6cy5wcm9tcHQsdGhlbWU6c24sbGFiZWw6cy5sYWJlbCxjb21wb25lbnRJZDp0LnR5cGV9KSx0aGlzLmFjdGlvbnM9dGhpcy5pbml0Q29tcG9uZW50KG5vKSx0aGlzLmFjdGlvbnMubG9ja1NlbmQoITApLHRoaXMub3B0aW9ucy5vbigidXBkYXRlIix0aGlzLnN0b3JlQW5zd2VyLmJpbmQodGhpcykpLHRoaXMuYWN0aW9ucy5vbigiY29uZmlybSIsdGhpcy5zZW5kTWVzc2FnZS5iaW5kKHRoaXMpKSx0aGlzLmFjdGlvbnMub24oImNhbmNlbCIsKGZ1bmN0aW9uKCl7ZS5lbWl0KCJjbG9zZSIpfSkpLHRoaXMuc2V0QXR0cmlidXRlKCJyb2xlIiwicmFkaW9ncm91cCIpfWZ1bmN0aW9uIGdvKCl7eGUuc2VsZih0aGlzLF9lLCJ0aGFua3MtZmVlZGJhY2siKTt2YXIgdD10aGlzO2lmKHRoaXMuJGNvcHk9dGhpcy5jcmVhdGVFbGVtZW50KCIuZmVlZGJhY2stdGhhbmtzIiksdGhpcy4kcmVzb2x2ZT10aGlzLmNyZWF0ZUVsZW1lbnQoIi5mZWVkYmFjay1yZXNvbHZlIiksdGhpcy4kb3B0aW9uPXRoaXMuY3JlYXRlRWxlbWVudCgiLmFjY2Vzc2liaWxpdHktb3B0aW9uIiksdGhpcy4kb3B0aW9uLmNvbnRlbnQ9dGhpcy5pbml0Q29tcG9uZW50KGNuLHt0aGVtZTpzbix0ZXh0OiJQbGVhc2UgYWxzbyB0cnkgdHVybmluZyBvZmYgeW91ciBhZCBibG9ja2VyLuKAjSJ9LHRoaXMuJG9wdGlvbiksdGhpcy4kb3B0aW9uLmxpbms9dGhpcy5pbml0Q29tcG9uZW50KGxuLHt0aGVtZTpzbix0ZXh0OiJPdXIgYWNjZXNzaWJpbGl0eSBvcHRpb24gbWF5IGhlbHAuIix1cmw6Imh0dHBzOi8vaGNhcHRjaGEuY29tL2FjY2Vzc2liaWxpdHk/aGw9IitNZS5nZXRMb2NhbGUoKX0sdGhpcy4kb3B0aW9uKSx0aGlzLiRidWc9dGhpcy5jcmVhdGVFbGVtZW50KCIuZmVlZGJhY2stYnVnIiksdGhpcy4kYnVnLmNvbnRlbnQ9dGhpcy5pbml0Q29tcG9uZW50KGNuLHt0aGVtZTpzbix0ZXh0OiJSZXBvcnRpbmcgYSBmdW5jdGlvbmFsaXR5IGlzc3VlPyJ9LHRoaXMuJGJ1ZyksdGhpcy4kYnVnLmxpbms9dGhpcy5pbml0Q29tcG9uZW50KGxuLHt0aGVtZTpzbix0ZXh0OiJTZWUgaG93IHRvIHJlcG9ydCBpc3N1ZXMgd2l0aCBkZXRhaWxlZCBsb2dzLiIsdXJsOiJodHRwczovL3d3dy5oY2FwdGNoYS5jb20vcmVwb3J0aW5nLWJ1Z3M/aGw9IitNZS5nZXRMb2NhbGUoKX0sdGhpcy4kYnVnKSwhMT09PXR0LlN5c3RlbS5tb2JpbGUpe3ZhciBlPWZ1bmN0aW9uKGUpe3ZhciBpPXNuLmdldCgpLnBhbGV0dGUsbj0ibGlnaHQiPT09aS5tb2RlO3QuJGJ1Zy5saW5rLmNzcygib3ZlciI9PT1lLmFjdGlvbj97Y29sb3I6aS5wcmltYXJ5Lm1haW4sdGV4dERlY29yYXRpb246InVuZGVybGluZSJ9Ontjb2xvcjpuP2kudGV4dC5ib2R5OmkuZ3JleVs3MDBdLHRleHREZWNvcmF0aW9uOiJub25lIn0pfTt0aGlzLiRidWcubGluay5hZGRFdmVudExpc3RlbmVyKCJvdmVyIixlKSx0aGlzLiRidWcubGluay5hZGRFdmVudExpc3RlbmVyKCJvdXQiLGUpO3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciBpPXNuLmdldCgpLnBhbGV0dGUsbj0ibGlnaHQiPT09aS5tb2RlO3QuJG9wdGlvbi5saW5rLmNzcygib3ZlciI9PT1lLmFjdGlvbj97Y29sb3I6aS5wcmltYXJ5Lm1haW4sdGV4dERlY29yYXRpb246InVuZGVybGluZSJ9Ontjb2xvcjpuP2kudGV4dC5ib2R5OmkuZ3JleVs3MDBdLHRleHREZWNvcmF0aW9uOiJub25lIn0pfTt0aGlzLiRvcHRpb24ubGluay5hZGRFdmVudExpc3RlbmVyKCJvdmVyIixpKSx0aGlzLiRvcHRpb24ubGluay5hZGRFdmVudExpc3RlbmVyKCJvdXQiLGkpfX1mdW5jdGlvbiBibygpe3hlLnNlbGYodGhpcyxfZSwidGhhbmtzLWFjY2Vzc2liaWxpdHkiKTt2YXIgdD10aGlzO3RoaXMuJHNvcnJ5PXRoaXMuY3JlYXRlRWxlbWVudCgiLmFjY2Vzc2liaWxpdHktdGV4dCIpLHRoaXMuJG9wdGlvbj10aGlzLmNyZWF0ZUVsZW1lbnQoIi5hY2Nlc3NpYmlsaXR5LW9wdGlvbiIpLHRoaXMuJGF2b2lkPXRoaXMuY3JlYXRlRWxlbWVudCgiLmFjY2Vzc2liaWxpdHktYXZvaWQiKTt2YXIgZT1mdW5jdGlvbih0KXtJaSgiaHR0cHM6Ly9oY2FwdGNoYS5jb20vYWNjZXNzaWJpbGl0eSIpfTtpZih0aGlzLiRvcHRpb24uYWRkRXZlbnRMaXN0ZW5lcigiZW50ZXIiLGUpLHRoaXMuJG9wdGlvbi5hZGRFdmVudExpc3RlbmVyKCJkb3duIixlKSwhMT09PXR0LlN5c3RlbS5tb2JpbGUpe3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciBpPXNuLmdldCgpLnBhbGV0dGUsbj0ibGlnaHQiPT09aS5tb2RlO3QuJG9wdGlvbi5jc3MoIm92ZXIiPT09ZS5hY3Rpb24/e2NvbG9yOmkucHJpbWFyeS5tYWluLHRleHREZWNvcmF0aW9uOiJ1bmRlcmxpbmUifTp7Y29sb3I6bj9pLnRleHQuYm9keTppLmdyZXlbNzAwXSx0ZXh0RGVjb3JhdGlvbjoibm9uZSJ9KX07dGhpcy4kb3B0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm92ZXIiLGkpLHRoaXMuJG9wdGlvbi5hZGRFdmVudExpc3RlbmVyKCJvdXQiLGkpfX1mdW5jdGlvbiB2bygpe3hlLnNlbGYodGhpcyxfZSwidGhhbmtzLWZlZWRiYWNrIiksdGhpcy4kY29weT10aGlzLmNyZWF0ZUVsZW1lbnQoIi5mZWVkYmFjay10aGFua3MiKSx0aGlzLiRyZXNvbHZlPXRoaXMuY3JlYXRlRWxlbWVudCgiLmZlZWRiYWNrLXJlc29sdmUiKX1mdW5jdGlvbiB3byh0KXt4ZS5zZWxmKHRoaXMsX2UsInRoYW5rcyIpLCJhY2Nlc3NpYmlsaXR5Ij09PXQucmVzcG9uc2U/dGhpcy5jb3B5PXRoaXMuaW5pdENvbXBvbmVudChibyxudWxsLHRoaXMuJGNvbnRlbnQpOiJpbWFnZSI9PT10LnJlc3BvbnNlP3RoaXMuY29weT10aGlzLmluaXRDb21wb25lbnQodm8sbnVsbCx0aGlzLiRjb250ZW50KTp0aGlzLmNvcHk9dGhpcy5pbml0Q29tcG9uZW50KGdvLG51bGwsdGhpcy4kY29udGVudCl9eGUucHJvdG8oeW8sX2UpLHlvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUsaSl7dGhpcy5vcHRpb25zLnN0eWxlKHQsaSksdGhpcy5vcHRpb25zLmNzcyh7bWFyZ2luQm90dG9tOjEwfSksdGhpcy5jb21tZW50LnN0eWxlKHQsaSksdGhpcy5jb21tZW50LmNzcyh7bWFyZ2luVG9wOjEwfSksdGhpcy5hY3Rpb25zLnN0eWxlKHQsaSksdGhpcy5hY3Rpb25zLmNzcyh7d2lkdGg6aT8yMDA6MjIwLGhlaWdodDozNSxwb3NpdGlvbjoicmVsYXRpdmUiLG1hcmdpbjoiMTBweCBhdXRvIDBweCJ9KX0seW8ucHJvdG90eXBlLnNlbmRNZXNzYWdlPWZ1bmN0aW9uKCl7dmFyIHQ9IiIsZT10aGlzLmNvbW1lbnQuZ2V0VmFsdWUoKTt0aGlzLnN0YXRlLnNlbGVjdGVkJiYodD10aGlzLnN0YXRlLnNlbGVjdGVkLnN0YXRlLnRleHQpLHRoaXMuY29tbWVudC5zZXRWYWx1ZSgiIiksdGhpcy5jb21tZW50LnZpc2libGUoITEpLHRoaXMub3B0aW9ucy52aXNpYmxlKCExKSx0aGlzLmFjdGlvbnMudmlzaWJsZSghMSksdGhpcy5lbWl0KCJyZXBvcnQiLHtyZWFzb246dCxjb21tZW50OmUsa2V5OnRoaXMuc3RhdGUudGFza0tleX0pLHRoaXMuZW1pdCgiY2hhbmdlIiwidGhhbmtzIix7cmVzcG9uc2U6dGhpcy5zdGF0ZS50eXBlfSl9LHlvLnByb3RvdHlwZS5zdG9yZUFuc3dlcj1mdW5jdGlvbih0KXt2YXIgZT10LnN0YXRlLnNlbGVjdGVkLGk9Im90aGVyIj09PXQuc3RhdGUudmFsdWUmJmU7dGhpcy5jb21tZW50LnZpc2libGUoaSksdGhpcy5zdGF0ZS5zZWxlY3RlZD1lP3Q6bnVsbCx0aGlzLmFjdGlvbnMubG9ja1NlbmQobnVsbD09PXRoaXMuc2VsZWN0ZWQpfSx5by5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbih0KXt0aGlzLm9wdGlvbnMuc2V0Q29weSgpLHRoaXMuY29tbWVudC5zZXRQbGFjZWhvbGRlcigpLHRoaXMuYWN0aW9ucy5zZXRDb3B5KCl9LHhlLnByb3RvKGdvLF9lKSxnby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlKXt2YXIgaT1LdCh0LDI4MCwzMTAsMjYwLDMxMCksbj1LdCh0LDI4MCwzMDAsMTIsMTMpLG89bis0LHI9c24uZ2V0KCkucGFsZXR0ZSxzPSJsaWdodCI9PT1yLm1vZGU7dGhpcy5jc3Moe2ZvbnRXZWlnaHQ6NTAwLHRleHRBbGlnbjoiY2VudGVyIixmb250U2l6ZTpuKzEsbGluZUhlaWdodDpuKzQsY29sb3I6cz9yLnRleHQuYm9keTpyLmdyZXlbNzAwXSx3aWR0aDp0fSksdGhpcy4kY29weS5jc3Moe3dpZHRoOmksbWFyZ2luOiIwIGF1dG8iLGZvbnRXZWlnaHQ6NjAwLG1hcmdpbkJvdHRvbToyfSksdGhpcy4kcmVzb2x2ZS5jc3Moe2ZvbnRTaXplOm4sbGluZUhlaWdodDpvLHdpZHRoOmksbWFyZ2luOiIwIGF1dG8iLG1hcmdpbkJvdHRvbToxMH0pLHRoaXMuJG9wdGlvbi5jc3Moe2ZvbnRTaXplOm4sbGluZUhlaWdodDpvLG1hcmdpbkJvdHRvbToxMH0pLHRoaXMuJG9wdGlvbi5jb250ZW50LmNzcyh7bWFyZ2luUmlnaHQ6Mn0pLHRoaXMuJG9wdGlvbi5saW5rLmNzcyh7Zm9udFNpemU6bixsaW5lSGVpZ2h0Om8sY3Vyc29yOiJwb2ludGVyIixjb2xvcjoiaW5oZXJpdCIsdGV4dERlY29yYXRpb246Im5vbmUifSksdGhpcy4kYnVnLmNzcyh7Zm9udFNpemU6bi0xLGxpbmVIZWlnaHQ6by0xLHdpZHRoOmksbWFyZ2luOiIwIGF1dG8iLG1hcmdpbkJvdHRvbTotMn0pLHRoaXMuJGJ1Zy5jb250ZW50LmNzcyh7bWFyZ2luUmlnaHQ6Mn0pLHRoaXMuJGJ1Zy5saW5rLmNzcyh7Zm9udFNpemU6bi0xLGxpbmVIZWlnaHQ6by0xLHdpZHRoOmksbWFyZ2luOiIwIGF1dG8iLGN1cnNvcjoicG9pbnRlciIsY29sb3I6ImluaGVyaXQiLHRleHREZWNvcmF0aW9uOiJub25lIn0pfSxnby5wcm90b3R5cGUuc2V0Q29weT1mdW5jdGlvbigpe3ZhciB0PU1lLnRyYW5zbGF0ZSgiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLiIpLGU9TWUudHJhbnNsYXRlKCJXZSdsbCByZXNvbHZlIHlvdXIgaXNzdWUgYXMgcXVpY2tseSBhcyB3ZSBjYW4uIik7dGhpcy4kY29weS50ZXh0KHQpLHRoaXMuJHJlc29sdmUudGV4dChlKSx0aGlzLiRidWcuY29udGVudC50cmFuc2xhdGUoKSx0aGlzLiRidWcubGluay50cmFuc2xhdGUoKSx0aGlzLiRvcHRpb24uY29udGVudC50cmFuc2xhdGUoKSx0aGlzLiRvcHRpb24ubGluay50cmFuc2xhdGUoKTt2YXIgaT1NZS50cmFuc2xhdGUoIlZpZXcgb3VyIGFjY2Vzc2liaWxpdHkgb3B0aW9uLiIpLG49TWUudHJhbnNsYXRlKCJHaXZlIGEgZGV0YWlsZWQgcmVwb3J0IG9mIGEgYnVnIHlvdSd2ZSBlbmNvdW50ZXJlZC4iKTt0aGlzLiRvcHRpb24ubGluay5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGkpLHRoaXMuJGJ1Zy5saW5rLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsbil9LHhlLnByb3RvKGJvLF9lKSxiby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlKXt2YXIgaT1LdCh0LDI4MCwzMTAsMjYwLDMxMCksbj1LdCh0LDI4MCwzMDAsMTIsMTMpLG89bis0LHI9c24uZ2V0KCkucGFsZXR0ZSxzPSJsaWdodCI9PT1yLm1vZGU7dGhpcy5jc3Moe2ZvbnRXZWlnaHQ6NTAwLGZvbnRTaXplOm4rMSxsaW5lSGVpZ2h0Om8sdGV4dEFsaWduOiJjZW50ZXIiLGNvbG9yOnM/ci50ZXh0LmJvZHk6ci5ncmV5WzcwMF0sd2lkdGg6dH0pLHRoaXMuJHNvcnJ5LmNzcyh7Zm9udFdlaWdodDo2MDAsd2lkdGg6aSxtYXJnaW46IjAgYXV0byIsbWFyZ2luQm90dG9tOjJ9KSx0aGlzLiRvcHRpb24uY3NzKHtmb250U2l6ZTpuLGxpbmVIZWlnaHQ6byxjb2xvcjpzP3IudGV4dC5ib2R5OnIuZ3JleVs3MDBdLGN1cnNvcjoicG9pbnRlciIsbWFyZ2luQm90dG9tOjEwfSksdGhpcy4kYXZvaWQuY3NzKHt3aWR0aDppLHRleHRBbGlnbjoiY2VudGVyIixmb250U2l6ZTpuLGxpbmVIZWlnaHQ6byxtYXJnaW46IjAgYXV0byJ9KX0sYm8ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt2YXIgdD1NZS50cmFuc2xhdGUoIlNvcnJ5IHRvIGhlYXIgdGhhdCEiKSxlPU1lLnRyYW5zbGF0ZSgiT3VyIGFjY2Vzc2liaWxpdHkgb3B0aW9uIG1heSBoZWxwLiIpLGk9TWUudHJhbnNsYXRlKCJUaGlzIGxldHMgeW91IGF2b2lkIGZ1dHVyZSBxdWVzdGlvbnMgYnkgcmVnaXN0ZXJpbmcgYW5kIHNldHRpbmcgYSBjb29raWUuIiksbj1NZS50cmFuc2xhdGUoIlBsZWFzZSBhbHNvIHRyeSB0dXJuaW5nIG9mZiB5b3VyIGFkIGJsb2NrZXIu4oCNIik7dGhpcy4kc29ycnkudGV4dCh0KyIgIiksdGhpcy4kb3B0aW9uLnRleHQoZSksdGhpcy4kYXZvaWQudGV4dChpKyIgIituKX0seGUucHJvdG8odm8sX2UpLHZvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPUt0KHQsMjgwLDMxMCwyNjAsMzEwKSxuPUt0KHQsMjgwLDMwMCwxMiwxMyksbz1uKzQ7dGhpcy5jc3Moe2ZvbnRXZWlnaHQ6NTAwLHRleHRBbGlnbjoiY2VudGVyIixmb250U2l6ZTpuKzEsbGluZUhlaWdodDpuKzQsY29sb3I6IiM3MDcwNzAiLHdpZHRoOnR9KSx0aGlzLiRjb3B5LmNzcyh7d2lkdGg6aSxtYXJnaW46IjAgYXV0byIsZm9udFdlaWdodDo2MDAsbWFyZ2luQm90dG9tOjJ9KSx0aGlzLiRyZXNvbHZlLmNzcyh7Zm9udFNpemU6bixsaW5lSGVpZ2h0Om8sd2lkdGg6aSxtYXJnaW46IjAgYXV0byIsbWFyZ2luQm90dG9tOjEwfSl9LHZvLnByb3RvdHlwZS5zZXRDb3B5PWZ1bmN0aW9uKCl7dmFyIHQ9e3RoYW5rczpNZS50cmFuc2xhdGUoIlRoYW5rIHlvdSBmb3IgeW91ciBmZWVkYmFjay4iKSxyZXNvbHZlOk1lLnRyYW5zbGF0ZSgiV2Ugd2lsbCBsb29rIGludG8gdGhlIGlzc3VlIGltbWVkaWF0ZWx5LiIpfTt0aGlzLiRjb3B5LnRleHQodC50aGFua3MpLHRoaXMuJHJlc29sdmUudGV4dCh0LnJlc29sdmUpfSx4ZS5wcm90byh3byxYbiksd28ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLmNvcHkuc3R5bGUodCxpKX0sd28ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt0aGlzLmNvcHkuc2V0Q29weSgpfSx3by5wcm90b3R5cGUuc2V0Rm9jdXM9ZnVuY3Rpb24oKXt0aGlzLmNvcHkuZm9jdXMoKX07dmFyIGtvPSJodHRwczovL25ld2Fzc2V0cy5oY2FwdGNoYS5jb20vY2FwdGNoYS92MS80OTQ4YjRkNjg0NzkyMWQ3YmYwYjg2Mzg4YzE0MTMxMWQ3ZjAzZTJlL3N0YXRpYy9pbWFnZXMiO2Z1bmN0aW9uIHhvKCl7eGUuc2VsZih0aGlzLF9lLCJjb29raWUtaWNvbiIpLHRoaXMuJG5vbmU9dGhpcy5pbml0Q29tcG9uZW50KHVuLHtzZWxlY3RvcjoiLmljb24tbm9uZSIsc3JjOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPScxNTUnIGhlaWdodD0nMTU1JyB2aWV3Qm94PScwIDAgMTU1IDE1NScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY21hc2sgaWQ9J21hc2swJyBtYXNrLXR5cGU9J2FscGhhJyBtYXNrVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyB4PSczJyB5PSc0JyB3aWR0aD0nMTUwJyBoZWlnaHQ9JzE0OSclM2UlM2NwYXRoIGQ9J00xNTMgNzhDMTUzIDExOS40MjEgMTE5LjQyMSAxNTMgNzggMTUzQzM2LjU3ODYgMTUzIDMgMTE5LjQyMSAzIDc4QzMgNDIuNjA0NCAyNy41MTk2IDEyLjkzNTYgNjAuNSA1LjA1MjZDNjYuMTE0NSAzLjcxMDYxIDY4IDQgNjkuNSA1LjA1MjZDNzEuNjg4NCA2LjU4ODMgNjIuNSAyMCA2OS41IDMxLjVDNzYuNSA0MyA4OS41IDM5LjUgMTAxLjUgNTNDMTA3LjQ4OCA1OS43MzcxIDEwNS4zNzYgNzMuMjQwOSAxMTcuNSA3OUMxMzcuNSA4OC41IDE1MSA3MSAxNTMgNzhaJyBmaWxsPSclMjM1NTU1NTUnLyUzZSUzYy9tYXNrJTNlJTNjZyBtYXNrPSd1cmwoJTIzbWFzazApJyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J003OCAxNTNDMTE5LjQyMSAxNTMgMTUzIDExOS40MjEgMTUzIDc4QzE1MyAzNi41Nzg2IDExOS40MjEgMyA3OCAzQzM2LjU3ODYgMyAzIDM2LjU3ODYgMyA3OEMzIDExOS40MjEgMzYuNTc4NiAxNTMgNzggMTUzWk01NyA0MS41QzU3IDQ1LjY0MjEgNTMuNjQyMSA0OSA0OS41IDQ5QzQ1LjM1NzkgNDkgNDIgNDUuNjQyMSA0MiA0MS41QzQyIDM3LjM1NzkgNDUuMzU3OSAzNCA0OS41IDM0QzUzLjY0MjEgMzQgNTcgMzcuMzU3OSA1NyA0MS41Wk04MyA3NEM4MyA3OS41MjI4IDc4LjUyMjggODQgNzMgODRDNjcuNDc3MiA4NCA2MyA3OS41MjI4IDYzIDc0QzYzIDY4LjQ3NzIgNjcuNDc3MiA2NCA3MyA2NEM3OC41MjI4IDY0IDgzIDY4LjQ3NzIgODMgNzRaTTU0IDExN0M1NCAxMjIuNTIzIDQ5LjUyMjkgMTI3IDQ0IDEyN0MzOC40NzcyIDEyNyAzNCAxMjIuNTIzIDM0IDExN0MzNCAxMTEuNDc3IDM4LjQ3NzIgMTA3IDQ0IDEwN0M0OS41MjI5IDEwNyA1NCAxMTEuNDc3IDU0IDExN1pNMTE5LjUgMTIyQzEyMy42NDIgMTIyIDEyNyAxMTguNjQyIDEyNyAxMTQuNUMxMjcgMTEwLjM1OCAxMjMuNjQyIDEwNyAxMTkuNSAxMDdDMTE1LjM1OCAxMDcgMTEyIDExMC4zNTggMTEyIDExNC41QzExMiAxMTguNjQyIDExNS4zNTggMTIyIDExOS41IDEyMlpNMzIgODNDMzQuNzYxNCA4MyAzNyA4MC43NjE0IDM3IDc4QzM3IDc1LjIzODYgMzQuNzYxNCA3MyAzMiA3M0MyOS4yMzg2IDczIDI3IDc1LjIzODYgMjcgNzhDMjcgODAuNzYxNCAyOS4yMzg2IDgzIDMyIDgzWk04OCAxMTFDODggMTEzLjc2MSA4NS43NjE0IDExNiA4MyAxMTZDODAuMjM4NiAxMTYgNzggMTEzLjc2MSA3OCAxMTFDNzggMTA4LjIzOSA4MC4yMzg2IDEwNiA4MyAxMDZDODUuNzYxNCAxMDYgODggMTA4LjIzOSA4OCAxMTFaJyBmaWxsPSclMjM1NTU1NTUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZSIsZmFsbGJhY2s6a28rIi9jb29raWUtbm9uZS5wbmciLHdpZHRoOjE4fSksdGhpcy4kYmxvY2tlZD10aGlzLmluaXRDb21wb25lbnQodW4se3NlbGVjdG9yOiIuaWNvbi1ibG9ja2VkIixzcmM6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzE1NScgaGVpZ2h0PScxNTUnIHZpZXdCb3g9JzAgMCAxNTUgMTU1JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjbWFzayBpZD0nbWFzazAnIG1hc2stdHlwZT0nYWxwaGEnIG1hc2tVbml0cz0ndXNlclNwYWNlT25Vc2UnIHg9JzMnIHk9JzQnIHdpZHRoPScxNTAnIGhlaWdodD0nMTQ5JyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J003OCAxNTNDMTE5LjQyMSAxNTMgMTUzIDExOS40MjEgMTUzIDc4QzE1Mi4yMDMgNzUuMjExNyAxNDkuNTgyIDc2LjMxMDcgMTQ1LjQ1MiA3OC4wNDIxQzEzOS4yMTQgODAuNjU3NSAxMjkuNTM0IDg0LjcxNTkgMTE3LjUgNzlDMTE1LjQyNyA3OC4wMTUyIDExMy43NyA3Ni44MDQgMTEyLjQxOCA3NS40Mzg5TDQzLjMzMjQgMTQ0LjUyNEM1My43MDA5IDE0OS45MzkgNjUuNDkyOSAxNTMgNzggMTUzWk0yNi43ODMgMTMyLjc4OUwxMDMuNTI4IDU2LjA0NDNDMTAyLjk2MiA1NC45MzEgMTAyLjMwNCA1My45MDQ1IDEwMS41IDUzQzk1LjUgNDYuMjUgODkuMjUgNDMuNzUgODMuNjI1IDQxLjVDNzggMzkuMjUgNzMgMzcuMjUgNjkuNSAzMS41QzY0Ljg0NjQgMjMuODU0OCA2Ny4zNDc0IDE1LjM2NDYgNjguOTA0IDEwLjA4MDdDNjkuNjg4OCA3LjQxNjQ4IDcwLjIzMzYgNS41NjczNiA2OS41IDUuMDUyNTlDNjggMy45OTk5OSA2Ni4xMTQ1IDMuNzEwNiA2MC41IDUuMDUyNTlDMjcuNTE5NiAxMi45MzU2IDMgNDIuNjA0NCAzIDc4QzMgOTkuNjE5MyAxMi4xNDc0IDExOS4xMDIgMjYuNzgzIDEzMi43ODlaJyBmaWxsPSclMjNFQjQwNDAnLyUzZSUzYy9tYXNrJTNlJTNjZyBtYXNrPSd1cmwoJTIzbWFzazApJyUzZSUzY3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J003OCAxNTNDMTE5LjQyMSAxNTMgMTUzIDExOS40MjEgMTUzIDc4QzE1MyAzNi41Nzg2IDExOS40MjEgMyA3OCAzQzM2LjU3ODYgMyAzIDM2LjU3ODYgMyA3OEMzIDExOS40MjEgMzYuNTc4NiAxNTMgNzggMTUzWk01NyA0MS41QzU3IDQ1LjY0MjEgNTMuNjQyMSA0OSA0OS41IDQ5QzQ1LjM1NzkgNDkgNDIgNDUuNjQyMSA0MiA0MS41QzQyIDM3LjM1NzkgNDUuMzU3OSAzNCA0OS41IDM0QzUzLjY0MjEgMzQgNTcgMzcuMzU3OSA1NyA0MS41Wk04MyA3NEM4MyA3OS41MjI4IDc4LjUyMjggODQgNzMgODRDNjcuNDc3MiA4NCA2MyA3OS41MjI4IDYzIDc0QzYzIDY4LjQ3NzIgNjcuNDc3MiA2NCA3MyA2NEM3OC41MjI4IDY0IDgzIDY4LjQ3NzIgODMgNzRaTTU0IDExN0M1NCAxMjIuNTIzIDQ5LjUyMjkgMTI3IDQ0IDEyN0MzOC40NzcyIDEyNyAzNCAxMjIuNTIzIDM0IDExN0MzNCAxMTEuNDc3IDM4LjQ3NzIgMTA3IDQ0IDEwN0M0OS41MjI5IDEwNyA1NCAxMTEuNDc3IDU0IDExN1pNMTE5LjUgMTIyQzEyMy42NDIgMTIyIDEyNyAxMTguNjQyIDEyNyAxMTQuNUMxMjcgMTEwLjM1OCAxMjMuNjQyIDEwNyAxMTkuNSAxMDdDMTE1LjM1OCAxMDcgMTEyIDExMC4zNTggMTEyIDExNC41QzExMiAxMTguNjQyIDExNS4zNTggMTIyIDExOS41IDEyMlpNMzIgODNDMzQuNzYxNCA4MyAzNyA4MC43NjE0IDM3IDc4QzM3IDc1LjIzODYgMzQuNzYxNCA3MyAzMiA3M0MyOS4yMzg2IDczIDI3IDc1LjIzODYgMjcgNzhDMjcgODAuNzYxNCAyOS4yMzg2IDgzIDMyIDgzWk04OCAxMTFDODggMTEzLjc2MSA4NS43NjE0IDExNiA4MyAxMTZDODAuMjM4NiAxMTYgNzggMTEzLjc2MSA3OCAxMTFDNzggMTA4LjIzOSA4MC4yMzg2IDEwNiA4MyAxMDZDODUuNzYxNCAxMDYgODggMTA4LjIzOSA4OCAxMTFaJyBmaWxsPSclMjNFMjVDNUMnLyUzZSUzYy9nJTNlJTNjcmVjdCB4PScxNDAuNTcyJyB5PScxOScgd2lkdGg9JzEzJyBoZWlnaHQ9JzE3OScgdHJhbnNmb3JtPSdyb3RhdGUoNDUgMTQwLjU3MiAxOSknIGZpbGw9JyUyMzU1NTU1NScvJTNlJTNjL3N2ZyUzZSIsZmFsbGJhY2s6a28rIi9jb29raWUtYmxvY2tlZC5wbmciLHdpZHRoOjE4fSksdGhpcy4kZm91bmQ9dGhpcy5pbml0Q29tcG9uZW50KHVuLHtzZWxlY3RvcjoiLmljb24tZm91bmQiLHNyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB3aWR0aD0nMTU1JyBoZWlnaHQ9JzE1NScgdmlld0JveD0nMCAwIDE1NSAxNTUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NtYXNrIGlkPSdtYXNrMCcgbWFzay10eXBlPSdhbHBoYScgbWFza1VuaXRzPSd1c2VyU3BhY2VPblVzZScgeD0nMycgeT0nNCcgd2lkdGg9JzE1MCcgaGVpZ2h0PScxNDknJTNlJTNjcGF0aCBkPSdNMTUzIDc4QzE1MyAxMTkuNDIxIDExOS40MjEgMTUzIDc4IDE1M0MzNi41Nzg2IDE1MyAzIDExOS40MjEgMyA3OEMzIDQyLjYwNDQgMjcuNTE5NiAxMi45MzU2IDYwLjUgNS4wNTI1OUM2Ni4xMTQ1IDMuNzEwNiA2OCAzLjk5OTk5IDY5LjUgNS4wNTI1OUM3MS42ODg0IDYuNTg4MjkgNjIuNSAyMCA2OS41IDMxLjVDNzYuNSA0MyA4OS41IDM5LjUgMTAxLjUgNTNDMTA3LjQ4OCA1OS43MzcgMTA1LjM3NiA3My4yNDA5IDExNy41IDc5QzEzNy41IDg4LjUgMTUxIDcxIDE1MyA3OFonIGZpbGw9JyUyMzU1NTU1NScvJTNlJTNjL21hc2slM2UlM2NnIG1hc2s9J3VybCglMjNtYXNrMCknJTNlJTNjcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTc4IDE1M0MxMTkuNDIxIDE1MyAxNTMgMTE5LjQyMSAxNTMgNzhDMTUzIDM2LjU3ODYgMTE5LjQyMSAzIDc4IDNDMzYuNTc4NiAzIDMgMzYuNTc4NiAzIDc4QzMgMTE5LjQyMSAzNi41Nzg2IDE1MyA3OCAxNTNaTTU3IDQxLjVDNTcgNDUuNjQyMSA1My42NDIxIDQ5IDQ5LjUgNDlDNDUuMzU3OSA0OSA0MiA0NS42NDIxIDQyIDQxLjVDNDIgMzcuMzU3OSA0NS4zNTc5IDM0IDQ5LjUgMzRDNTMuNjQyMSAzNCA1NyAzNy4zNTc5IDU3IDQxLjVaTTgzIDc0QzgzIDc5LjUyMjggNzguNTIyOCA4NCA3MyA4NEM2Ny40NzcyIDg0IDYzIDc5LjUyMjggNjMgNzRDNjMgNjguNDc3MiA2Ny40NzcyIDY0IDczIDY0Qzc4LjUyMjggNjQgODMgNjguNDc3MiA4MyA3NFpNNTQgMTE3QzU0IDEyMi41MjMgNDkuNTIyOSAxMjcgNDQgMTI3QzM4LjQ3NzIgMTI3IDM0IDEyMi41MjMgMzQgMTE3QzM0IDExMS40NzcgMzguNDc3MiAxMDcgNDQgMTA3QzQ5LjUyMjkgMTA3IDU0IDExMS40NzcgNTQgMTE3Wk0xMTkuNSAxMjJDMTIzLjY0MiAxMjIgMTI3IDExOC42NDIgMTI3IDExNC41QzEyNyAxMTAuMzU4IDEyMy42NDIgMTA3IDExOS41IDEwN0MxMTUuMzU4IDEwNyAxMTIgMTEwLjM1OCAxMTIgMTE0LjVDMTEyIDExOC42NDIgMTE1LjM1OCAxMjIgMTE5LjUgMTIyWk0zMiA4M0MzNC43NjE0IDgzIDM3IDgwLjc2MTQgMzcgNzhDMzcgNzUuMjM4NiAzNC43NjE0IDczIDMyIDczQzI5LjIzODYgNzMgMjcgNzUuMjM4NiAyNyA3OEMyNyA4MC43NjE0IDI5LjIzODYgODMgMzIgODNaTTg4IDExMUM4OCAxMTMuNzYxIDg1Ljc2MTQgMTE2IDgzIDExNkM4MC4yMzg2IDExNiA3OCAxMTMuNzYxIDc4IDExMUM3OCAxMDguMjM5IDgwLjIzODYgMTA2IDgzIDEwNkM4NS43NjE0IDEwNiA4OCAxMDguMjM5IDg4IDExMVonIGZpbGw9JyUyMzAwODM4ZicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlIixmYWxsYmFjazprbysiL2Nvb2tpZS1mb3VuZC5wbmciLHdpZHRoOjE4fSksImllIj09PXR0LkJyb3dzZXIudHlwZSYmOD09PXR0LkJyb3dzZXIudmVyc2lvbj8odGhpcy4kbm9uZS5jc3Moe2Rpc3BsYXk6Im5vbmUifSksdGhpcy4kYmxvY2tlZC5jc3Moe2Rpc3BsYXk6Im5vbmUifSksdGhpcy4kZm91bmQuY3NzKHtkaXNwbGF5OiJub25lIn0pKToodGhpcy4kbm9uZS5jc3Moe29wYWNpdHk6MH0pLHRoaXMuJGJsb2NrZWQuY3NzKHtvcGFjaXR5OjB9KSx0aGlzLiRmb3VuZC5jc3Moe29wYWNpdHk6MH0pKX14ZS5wcm90byh4byxfZSkseG8ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dGhpcy5jc3Moe3dpZHRoOjE4LGhlaWdodDoxOCxkaXNwbGF5OiJpbmxpbmUiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsYmFja2dyb3VuZDoicmdiYSgwLDAsMCwwKSJ9KTt2YXIgdD17Ii1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdCI6Im5vbmUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDowLHRvcDowfTt0aGlzLiRub25lLmNzcyh0KSx0aGlzLiRibG9ja2VkLmNzcyh0KSx0aGlzLiRmb3VuZC5jc3ModCl9LHhvLnByb3RvdHlwZS5kaXNwbGF5PWZ1bmN0aW9uKHQpeyJpZSI9PT10dC5Ccm93c2VyLnR5cGUmJjg9PT10dC5Ccm93c2VyLnZlcnNpb24/KHRoaXMuJG5vbmUuY3NzKHtkaXNwbGF5OiJub25lIj09PXQ/ImJsb2NrIjoibm9uZSJ9KSx0aGlzLiRibG9ja2VkLmNzcyh7ZGlzcGxheToiYmxvY2tlZCI9PT10PyJibG9jayI6Im5vbmUifSksdGhpcy4kZm91bmQuY3NzKHtkaXNwbGF5OiJmb3VuZCI9PT10PyJibG9jayI6Im5vbmUifSkpOih0aGlzLiRub25lLmNzcyh7b3BhY2l0eToibm9uZSI9PT10PzE6MH0pLHRoaXMuJGJsb2NrZWQuY3NzKHtvcGFjaXR5OiJibG9ja2VkIj09PXQ/MTowfSksdGhpcy4kZm91bmQuY3NzKHtvcGFjaXR5OiJmb3VuZCI9PT10PzE6MH0pKX07dmFyIF9vPXtub0FjY2VzczoiQWNjZXNzaWJpbGl0eSBjb29raWUgaXMgbm90IHNldC4ge3tyZXRyaWV2ZS1jb29raWV9fSIsaGFzQWNjZXNzOiJDb29raWVzIGFyZSBkaXNhYmxlZCBvciB0aGUgYWNjZXNzaWJpbGl0eSBjb29raWUgaXMgbm90IHNldC4ge3tlbmFibGUtY29va2llc319In0sRW89IkFjY2Vzc2liaWxpdHkgY29va2llIGlzIHNldC4gRm9yIGhlbHAsIHBsZWFzZSBlbWFpbCB7e3N1cHBvcnR9fSIsVm89InN1cHBvcnRAaGNhcHRjaGEuY29tIjtmdW5jdGlvbiBDbygpe3hlLnNlbGYodGhpcyxfZSwic3RhdHVzIik7dmFyIHQ9dGhpczt0aGlzLnN0YXRlPXtoYXNDb29raWU6ITEsaGFzQWNjZXNzOiExLGFsbG93ZWRBY2Nlc3M6ITF9LHRoaXMuJGhlYWRlcj10aGlzLmNyZWF0ZUVsZW1lbnQoIi5oZWFkZXIiKSx0aGlzLiRoZWFkZXIuY29weT10aGlzLiRoZWFkZXIuY3JlYXRlRWxlbWVudCgiLnRleHQiKSx0aGlzLiRoZWFkZXIuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsITApLHRoaXMuaWNvbj10aGlzLmluaXRDb21wb25lbnQoeG8sbnVsbCx0aGlzLiRoZWFkZXIpLHRoaXMucmV0cmlldmU9dGhpcy5pbml0Q29tcG9uZW50KHFuLHt0ZXh0Ol9vLm5vQWNjZXNzLGxpbms6ITAsbGlua1RleHQ6IlJldHJpZXZlIGFjY2Vzc2liaWxpdHkgY29va2llLiIsbGlua1RleHRMYWJlbDoiUmV0cmlldmUgYWNjZXNzaWJpbGl0eSBjb29raWUuIE9wZW5zIGluIGEgbmV3IHRhYi4iLGxpbmtVbmRlcmxpbmU6ITAsbGlua1RyYW5zbGF0ZTohMCxsaW5rVG86Imh0dHBzOi8vZGFzaGJvYXJkLmhjYXB0Y2hhLmNvbS9zaWdudXA/dHlwZT1hY2Nlc3NpYmlsaXR5IixyZXBsYWNlVGV4dDoicmV0cmlldmUtY29va2llIn0pLHRoaXMuZGlzYWJsZWQ9dGhpcy5pbml0Q29tcG9uZW50KHFuLHt0ZXh0Ol9vLmhhc0FjY2VzcyxsaW5rOiEwLGxpbmtUZXh0OiJFbmFibGUgY3Jvc3Mtc2l0ZSBjb29raWVzLiIsbGlua1VuZGVybGluZTohMCxyZXBsYWNlVGV4dDoiZW5hYmxlLWNvb2tpZXMifSksdGhpcy5oZWxwPXRoaXMuaW5pdENvbXBvbmVudChxbix7dGV4dDpFbyxsaW5rOiEwLGxpbmtUZXh0OlZvLGxpbmtVbmRlcmxpbmU6ITAsbGlua1RvOiJtYWlsdG86IitWbyxyZXBsYWNlVGV4dDoic3VwcG9ydCJ9KSx0aGlzLnJldHJpZXZlLmRvbS5pZD0ic3RhdHVzLXJldHJpZXZlIix0aGlzLmRpc2FibGVkLmRvbS5pZD0ic3RhdHVzLWRpc2FibGVkIix0aGlzLmhlbHAuZG9tLmlkPSJzdGF0dXMtaGVscCIsdGhpcy5kaXNhYmxlZC5vbigiY2xpY2siLChmdW5jdGlvbigpe0Z0LnJlcXVlc3RBY2Nlc3MoKS50aGVuKChmdW5jdGlvbigpe3Quc2V0VHlwZSgpfSkpfSkpfXhlLnByb3RvKENvLF9lKSxDby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dGhpcy5jc3Moe2ZvbnRTaXplOnQsY29sb3I6IiM1NTU1NTUifSksdGhpcy4kaGVhZGVyLmNzcyh7Zm9udFdlaWdodDo2MDAsbWFyZ2luQm90dG9tOjV9KSx0aGlzLiRoZWFkZXIuY29weS5jc3Moe2Rpc3BsYXk6ImlubGluZSIscG9zaXRpb246InJlbGF0aXZlIn0pLHRoaXMuaWNvbi5zdHlsZSgpLE1lLmlzUlRMKCk/KHRoaXMuaWNvbi5jc3Moe3RvcDotMixtYXJnaW5SaWdodDoyMn0pLHRoaXMucmV0cmlldmUuc3R5bGUodCwicmlnaHQiKSx0aGlzLmRpc2FibGVkLnN0eWxlKHQsInJpZ2h0IiksdGhpcy5oZWxwLnN0eWxlKHQsInJpZ2h0IikpOih0aGlzLmljb24uY3NzKHt0b3A6LTIsbWFyZ2luTGVmdDo1fSksdGhpcy5yZXRyaWV2ZS5zdHlsZSh0LCJsZWZ0IiksdGhpcy5kaXNhYmxlZC5zdHlsZSh0LCJsZWZ0IiksdGhpcy5oZWxwLnN0eWxlKHQsImxlZnQiKSk7dmFyIGU9dGhpcy5zdGF0ZS5oYXNDb29raWU7dGhpcy5oZWxwLmNzcyh7ZGlzcGxheTplPyJibG9jayI6Im5vbmUifSk7dmFyIGk9IXRoaXMuc3RhdGUuaGFzQ29va2llJiYoIXRoaXMuaGFzQWNjZXNzfHx0aGlzLnN0YXRlLmhhc0FjY2VzcyYmIXRoaXMuc3RhdGUuYWxsb3dlZEFjY2Vzcyk7dGhpcy5yZXRyaWV2ZS5jc3Moe2Rpc3BsYXk6aT8iYmxvY2siOiJub25lIn0pO3ZhciBuPSF0aGlzLnN0YXRlLmhhc0Nvb2tpZSYmdGhpcy5zdGF0ZS5oYXNBY2Nlc3MmJiF0aGlzLnN0YXRlLmFsbG93ZWRBY2Nlc3M7dGhpcy5kaXNhYmxlZC5jc3Moe2Rpc3BsYXk6bj8iYmxvY2siOiJub25lIn0pfSxDby5wcm90b3R5cGUuY2hlY2tBY2Nlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO05pLmNvbnRhY3QoImdldC1hYyIpLnRoZW4oKGZ1bmN0aW9uKGUpe3Quc3RhdGUuaGFzQ29va2llPSEhZSxGdC5zdXBwb3J0c0FQSSgpPyh0LnN0YXRlLmhhc0FjY2Vzcz0hMCxGdC5oYXNBY2Nlc3MoKS50aGVuKChmdW5jdGlvbihlKXt0LnN0YXRlLmFsbG93ZWRBY2Nlc3M9ZSx0LnNldFR5cGUoKX0pKSk6KHQuc3RhdGUuaGFzQWNjZXNzPSExLHQuc2V0VHlwZSgpKX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7VXQoImdldC1hYyIsdCl9KSl9LENvLnByb3RvdHlwZS5zZXRUeXBlPWZ1bmN0aW9uKCl7dGhpcy4kaGVhZGVyLmNvcHkudGV4dChNZS50cmFuc2xhdGUoIlN0YXR1czoiKSk7dmFyIHQ9dGhpcy5zdGF0ZS5oYXNDb29raWU7dGhpcy5oZWxwLmNzcyh7ZGlzcGxheTp0PyJibG9jayI6Im5vbmUifSk7dmFyIGU9IXRoaXMuc3RhdGUuaGFzQ29va2llJiYoIXRoaXMuaGFzQWNjZXNzfHx0aGlzLnN0YXRlLmhhc0FjY2VzcyYmIXRoaXMuc3RhdGUuYWxsb3dlZEFjY2Vzcyk7dGhpcy5yZXRyaWV2ZS5jc3Moe2Rpc3BsYXk6ZT8iYmxvY2siOiJub25lIn0pO3ZhciBpPSF0aGlzLnN0YXRlLmhhc0Nvb2tpZSYmdGhpcy5zdGF0ZS5oYXNBY2Nlc3MmJiF0aGlzLnN0YXRlLmFsbG93ZWRBY2Nlc3M7dGhpcy5kaXNhYmxlZC5jc3Moe2Rpc3BsYXk6aT8iYmxvY2siOiJub25lIn0pO3ZhciBuPXRoaXMuc3RhdGUuaGFzQ29va2llPyJmb3VuZCI6dGhpcy5zdGF0ZS5oYXNBY2Nlc3M/ImJsb2NrZWQiOiJub25lIjt0aGlzLmljb24uZGlzcGxheShuKX0sQ28ucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe3RoaXMuJGhlYWRlci5jb3B5LnRleHQoTWUudHJhbnNsYXRlKCJTdGF0dXM6IikpLHRoaXMucmV0cmlldmUudHJhbnNsYXRlKCksdGhpcy5kaXNhYmxlZC50cmFuc2xhdGUoKSx0aGlzLmhlbHAudHJhbnNsYXRlKCksTWUuc2V0RGlyZWN0aW9uKHRoaXMuJGhlYWRlci5jb3B5LE1lLmdldExvY2FsZSgpKX07ZnVuY3Rpb24gVG8oKXt4ZS5zZWxmKHRoaXMsX2UsImFjY2Vzc2liaWxpdHkiKTt2YXIgdD10aGlzO3RoaXMuY29weT10aGlzLmluaXRDb21wb25lbnQocW4se3RleHQ6IlRvIGJ5cGFzcyBvdXIgdmlzdWFsIGNoYWxsZW5nZSwgd2Ugb2ZmZXIgYW4gYWNjZXNzaWJpbGl0eSBjb29raWUuIixsaW5rOiEwLGxpbmtUZXh0OiJMZWFybiBtb3JlIGFib3V0IGhDYXB0Y2hhIEFjY2Vzc2liaWxpdHkuIixsaW5rVGV4dExhYmVsOiJMZWFybiBtb3JlIGFib3V0IGhDYXB0Y2hhIEFjY2Vzc2liaWxpdHkuIE9wZW5zIGluIGEgbmV3IHRhYi4iLGxpbmtVbmRlcmxpbmU6ITAsbGlua1RyYW5zbGF0ZTohMCxsaW5rVG86Imh0dHBzOi8vaGNhcHRjaGEuY29tL2FjY2Vzc2liaWxpdHk/cmVmPSIrY3QuaG9zdCsiJnV0bV9jYW1wYWlnbj0iK2N0LnNpdGVrZXkrIiZ1dG1fbWVkaXVtPWNoYWxsZW5nZSJ9KSx0aGlzLmNvcHkub24oImNsaWNrIiwoZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLElpKHQuY29weS5zdGF0ZS5saW5rVG8pfSkpLHRoaXMuc3RhdHVzPXRoaXMuaW5pdENvbXBvbmVudChDbyksdGhpcy5zdGF0dXMuY2hlY2tBY2Nlc3MoKX1mdW5jdGlvbiBTbygpe3hlLnNlbGYodGhpcyxfZSwiY2hhbGxlbmdlLW1vZGFsIiksdGhpcy5tb2RhbENvbnRlbnQ9bnVsbCx0aGlzLnN0YXRlPXt2aXNpYmxlOiExLGN1cnI6bnVsbCxwcmV2Om51bGx9LHRoaXMuY29uZmlnPXt3aWR0aDowLGhlaWdodDowLG1vYmlsZTohMX0sdGhpcy5kaXNwbGF5PXRoaXMuZGlzcGxheS5iaW5kKHRoaXMpLHRoaXMuY2xvc2U9dGhpcy5jbG9zZS5iaW5kKHRoaXMpLHRoaXMuJGNvbnRhaW5lcj10aGlzLmNyZWF0ZUVsZW1lbnQoIi5jb250YWluZXIiKSx0aGlzLm1vZGFsPXRoaXMuaW5pdENvbXBvbmVudChYbixudWxsLHRoaXMuJGNvbnRhaW5lciksdGhpcy5tb2RhbC5vbigiY2xvc2UiLHRoaXMuY2xvc2UpLHRoaXMuJGJnPXRoaXMuY3JlYXRlRWxlbWVudCgiLm1vZGFsLWJnIiksdGhpcy4kYmcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuY2xvc2UpO3ZhciB0PSJpZSI9PT10dC5Ccm93c2VyLnR5cGUmJjg9PT10dC5Ccm93c2VyLnZlcnNpb247dGhpcy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheTp0PyJub25lIjoidGFibGUiLHpJbmRleDotMX0pfWZ1bmN0aW9uIFJvKCl7eGUuc2VsZih0aGlzLF9lLG51bGwsIi5jaGFsbGVuZ2UtY29udGFpbmVyIiksdGhpcy5oYW5kbGVSZXNpemU9bnVsbCx0aGlzLmhhbmRsZUNoZWNrPW51bGwsdGhpcy5oYW5kbGVGb2N1cz1udWxsLHRoaXMuaGFuZGxlU3VibWl0PW51bGx9ZnVuY3Rpb24gQW8oKXt4ZS5zZWxmKHRoaXMsX2UsImRpc3BsYXktZXJyb3IiKSx0aGlzLnZpc2libGU9ITEsdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJhbGVydCIpLHRoaXMuY29weT10aGlzLmNyZWF0ZUVsZW1lbnQoIi5lcnJvci10ZXh0IiksdGhpcy5hcHBlbmRFbGVtZW50KHRoaXMuY29weSksdGhpcy5zZXRDb3B5LmNhbGwodGhpcyksdGhpcy5jc3Moe29wYWNpdHk6MH0pfWZ1bmN0aW9uIEJvKCl7eGUuc2VsZih0aGlzLF9lLCJDcnVtYiIpLHRoaXMuJGJnPXRoaXMuY3JlYXRlRWxlbWVudCgiLmNydW1iLWJnIil9ZnVuY3Rpb24gVW8oKXt4ZS5zZWxmKHRoaXMsX2UsImNoYWxsZW5nZS1icmVhZGNydW1icyIpLHRoaXMud2lkdGg9MCx0aGlzLnNpemU9MCx0aGlzLmNydW1icz1bXSx0aGlzLiR3cmFwcGVyPXRoaXMuY3JlYXRlRWxlbWVudCgiLmNydW1icy13cmFwcGVyIil9eGUucHJvdG8oVG8sX2UpLFRvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT1NYXRoLmZsb29yKEt0KHQsMjUwLDI3NSwxMiwxNCkpO3RoaXMuY29weS5zdHlsZShlLCJsZWZ0IiksdGhpcy5jb3B5LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUifSksdGhpcy5zdGF0dXMuc3R5bGUoZSksdGhpcy5zdGF0dXMuY3NzKHttYXJnaW5Ub3A6MTB9KX0sVG8ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt0aGlzLmNvcHkudHJhbnNsYXRlKCksdGhpcy5zdGF0dXMudHJhbnNsYXRlKCl9LHhlLnByb3RvKFNvLF9lKSxTby5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3RoaXMubW9kYWwubG9hZCgpfSxTby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPUt0KHQsMzAwLDQ1MCwyOTAsMzc1KSxvPUt0KGUsMjc1LDMwMCwyNjAsMjc1KSxyPW4tMipLdCh0LDMwMCw0NTAsMjAsMjUpLHM9ImllIj09PXR0LkJyb3dzZXIudHlwZSYmOD09PXR0LkJyb3dzZXIudmVyc2lvbjt0aGlzLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OnMmJiF0aGlzLnN0YXRlLnZpc2libGU/Im5vbmUiOiJ0YWJsZSIsdG9wOjAsbGVmdDowfSksdGhpcy4kY29udGFpbmVyLmNzcyh7ZGlzcGxheToidGFibGUtY2VsbCIsdmVydGljYWxBbGlnbjoibWlkZGxlIn0pLHRoaXMuJGJnLmNzcyh7cG9zaXRpb246ImZpeGVkIix3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix0b3A6MCxsZWZ0OjAsYmFja2dyb3VuZENvbG9yOiIjMDAwIixvcGFjaXR5OjAsemluZGV4OjAsY3Vyc29yOiJwb2ludGVyIn0pLHRoaXMuY29uZmlnLndpZHRoPXIsdGhpcy5jb25maWcuaGVpZ2h0PW8sdGhpcy5jb25maWcubW9iaWxlPWksdGhpcy5fc3R5bGVDb250ZW50KCl9LFNvLnByb3RvdHlwZS5fc3R5bGVDb250ZW50PWZ1bmN0aW9uKCl7dGhpcy5tb2RhbC5zdHlsZSh0aGlzLmNvbmZpZy53aWR0aCx0aGlzLmNvbmZpZy5oZWlnaHQpLHRoaXMubW9kYWxDb250ZW50JiZ0aGlzLm1vZGFsQ29udGVudC5zdHlsZSh0aGlzLmNvbmZpZy53aWR0aCx0aGlzLmNvbmZpZy5oZWlnaHQsdGhpcy5jb25maWcubW9iaWxlKX0sU28ucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZS52aXNpYmxlKXt0aGlzLnN0YXRlLnZpc2libGU9ITEsdGhpcy5tb2RhbENvbnRlbnQmJih0aGlzLm1vZGFsQ29udGVudC5vZmYoImNsb3NlIix0aGlzLmNsb3NlKSx0aGlzLm1vZGFsQ29udGVudD10aGlzLm1vZGFsQ29udGVudC5kZXN0cm95KCkpO3ZhciB0PSJpZSI9PT10dC5Ccm93c2VyLnR5cGUmJjg9PT10dC5Ccm93c2VyLnZlcnNpb247dGhpcy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheTp0PyJub25lIjoidGFibGUiLHpJbmRleDotMX0pLCJyZXBvcnRfaW1hZ2UiPT09dGhpcy5zdGF0ZS5wcmV2JiYidGhhbmtzIj09PXRoaXMuc3RhdGUuY3VyciYmdGhpcy5lbWl0KCJyZWZyZXNoIiksdGhpcy5lbWl0KCJjbG9zZSIpfX0sU28ucHJvdG90eXBlLmRpc3BsYXk9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49bnVsbDtlfHwoZT17fSksdGhpcy5tb2RhbENvbnRlbnQmJih0aGlzLm1vZGFsQ29udGVudD10aGlzLm1vZGFsQ29udGVudC5kZXN0cm95KCkpLHRoaXMuc3RhdGUucHJldj10aGlzLnN0YXRlLmN1cnIsdGhpcy5zdGF0ZS5jdXJyPXQ7dmFyIG89bnVsbDsiaW5mbyI9PT10PyhuPWlvLG89IkluZm9ybWF0aW9uIik6ImxpbmsiPT09dD8obj1ybyxvPSJDb25maXJtIE5hdmlnYXRpb24iKToiZmVlZGJhY2siPT09dD8obj15byxvPSJGZWVkYmFjayIsZS50eXBlPSJmZWVkYmFjayIpOiJyZXBvcnRfYnVnIj09PXQ/KG49eW8sbz0iU29mdHdhcmUgQnVnIixlLnR5cGU9ImJ1ZyIpOiJyZXBvcnRfaW1hZ2UiPT09dD8obj15byxvPSJUZWxsIFVzIFdoeSIsZS50eXBlPSJpbWFnZSIpOnQuaW5kZXhPZigidGhhbmtzIik+PTA/bj13bzp0LmluZGV4T2YoImFjY2Vzc2liaWxpdHkiKT49MCYmKG49VG8sbz0iQWNjZXNzaWJpbGl0eSIpLHRoaXMuc3RhdGUudmlzaWJsZSYmKHRoaXMubW9kYWwuZGVzdHJveSgpLHRoaXMubW9kYWw9dGhpcy5pbml0Q29tcG9uZW50KFhuLG51bGwsdGhpcy4kY29udGFpbmVyKSx0aGlzLm1vZGFsLmxvYWQoKSx0aGlzLm1vZGFsLm9uKCJjbG9zZSIsdGhpcy5jbG9zZSkpLHRoaXMubW9kYWxDb250ZW50PXRoaXMuaW5pdENvbXBvbmVudChuLGUsdGhpcy5tb2RhbC4kY29udGVudCksdGhpcy5tb2RhbC5zZXRUaXRsZShvKSx0aGlzLm1vZGFsQ29udGVudC5zZXRDb3B5KCksdGhpcy5tb2RhbENvbnRlbnQub24oImNsb3NlIix0aGlzLmNsb3NlKSx0aGlzLm1vZGFsQ29udGVudC5vbigiY2hhbmdlIix0aGlzLmRpc3BsYXkpLHRoaXMubW9kYWxDb250ZW50Lm9uKCJyZXBvcnQiLChmdW5jdGlvbih0KXtpLmVtaXQoInJlcG9ydCIsdCl9KSksdGhpcy5fc3R5bGVDb250ZW50KCksdGhpcy5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUiLGRpc3BsYXk6InRhYmxlIix6SW5kZXg6MjAwfSksdGhpcy5tb2RhbC5mb2N1cygpLHRoaXMuc3RhdGUudmlzaWJsZT0hMCx0aGlzLmVtaXQoIm9wZW4iKX0sU28ucHJvdG90eXBlLmlzT3Blbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnZpc2libGV9LHhlLnByb3RvKFJvLF9lKSxSby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlKXt0aGlzLmNzcyh7d2lkdGg6dCxoZWlnaHQ6ZSxwb3NpdGlvbjoicmVsYXRpdmUiLHpJbmRleDowfSl9LFJvLnByb3RvdHlwZS5tb3VudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuYXBwZW5kRWxlbWVudCh0KSx0aGlzLmhhbmRsZVJlc2l6ZT1mdW5jdGlvbigpe2UuZW1pdCgicmVzaXplIil9LHRoaXMuaGFuZGxlU2V0QWN0aW9uPWZ1bmN0aW9uKHQpe2UuZW1pdCgiYWN0aW9uLWNoYW5nZWQiLHQpfSx0aGlzLmhhbmRsZVNldEFjdGlvbkxvY2s9ZnVuY3Rpb24odCl7ZS5lbWl0KCJhY3Rpb24tbG9ja2VkIix0KX0sdGhpcy5oYW5kbGVDaGVjaz1mdW5jdGlvbihpKXt2YXIgbj0ic2tpcCI7aT9uPXQuYnJlYWRjcnVtYnMmJnQuc2VydmVkPHQuYnJlYWRjcnVtYnM/Im5leHQiOiJjaGVjayI6ImxhbmRzY2FwZSI9PT1jdC5vcmllbnRhdGlvbiYmdC5icmVhZGNydW1icyYmdC5zZXJ2ZWQ9PT10LmJyZWFkY3J1bWJzJiYobj0iY2hlY2siKSxlLmVtaXQoImFjdGlvbi1jaGFuZ2VkIixuKX0sdGhpcy5oYW5kbGVGb2N1cz1mdW5jdGlvbigpe2UuZW1pdCgiZm9jdXMtY2hlY2siKX0sdGhpcy5oYW5kbGVFbGVtZW50Rm9jdXM9ZnVuY3Rpb24odCl7ZS5lbWl0KCJmb2N1cy1mcmFtZS1lbGVtZW50Iix0KX0sdGhpcy5oYW5kbGVTdWJtaXQ9ZnVuY3Rpb24oKXtlLmVtaXQoInN1Ym1pdCIpfSx0aGlzLmhhbmRsZVJlc2V0RXhwaXJhdGlvbj1mdW5jdGlvbigpe2UuZW1pdCgicmVzZXQtZXhwaXJhdGlvbiIpfSx0Lm9uJiZ0Lm9uKCJzZXQtYWN0aW9uIix0aGlzLmhhbmRsZVNldEFjdGlvbiksdC5vbiYmdC5vbigic2V0LWFjdGlvbi1sb2NrIix0aGlzLmhhbmRsZVNldEFjdGlvbkxvY2spLHQub24mJnQub24oImRpc3BsYXktY2hlY2siLHRoaXMuaGFuZGxlQ2hlY2spLHQub24mJnQub24oImNoYWxsZW5nZS1yZXNpemUiLHRoaXMuaGFuZGxlUmVzaXplKSx0Lm9uJiZ0Lm9uKCJmb2N1cy1jaGVjayIsdGhpcy5oYW5kbGVGb2N1cyksdC5vbiYmdC5vbigiZm9jdXMtZnJhbWUtZWxlbWVudCIsdGhpcy5oYW5kbGVFbGVtZW50Rm9jdXMpLHQub24mJnQub24oInN1Ym1pdCIsdGhpcy5oYW5kbGVTdWJtaXQpLHQub24mJnQub24oInJlc2V0LWV4cGlyYXRpb24iLHRoaXMuaGFuZGxlUmVzZXRFeHBpcmF0aW9uKSx0aGlzLmlzTW91bnRlZD0hMH0sUm8ucHJvdG90eXBlLnVubW91bnQ9ZnVuY3Rpb24odCl7aWYodC5kZXN0cm95KXRyeXt0Lm9mZiYmdC5vZmYoInNldC1hY3Rpb24iLHRoaXMuaGFuZGxlU2V0QWN0aW9uKSx0Lm9mZiYmdC5vZmYoInNldC1hY3Rpb24tbG9jayIsdGhpcy5oYW5kbGVTZXRBY3Rpb25Mb2NrKSx0Lm9mZiYmdC5vZmYoImRpc3BsYXktY2hlY2siLHRoaXMuaGFuZGxlQ2hlY2spLHQub2ZmJiZ0Lm9mZigiY2hhbGxlbmdlLXJlc2l6ZSIsdGhpcy5oYW5kbGVSZXNpemUpLHQub2ZmJiZ0Lm9mZigiZm9jdXMtY2hlY2siLHRoaXMuaGFuZGxlRm9jdXMpLHQub2ZmJiZ0Lm9mZigiZm9jdXMtZnJhbWUtZWxlbWVudCIsdGhpcy5oYW5kbGVFbGVtZW50Rm9jdXMpLHQub2ZmJiZ0Lm9mZigic3VibWl0Iix0aGlzLmhhbmRsZVN1Ym1pdCksdC5vZmYmJnQub2ZmKCJyZXNldC1leHBpcmF0aW9uIix0aGlzLmhhbmRsZVJlc2V0RXhwaXJhdGlvbiksdC5kZXN0cm95KCl9Y2F0Y2goZHMpe31lbHNlIHRoaXMucmVtb3ZlRWxlbWVudCh0KTtyZXR1cm4gdGhpcy5pc01vdW50ZWQ9ITEsbnVsbH0seGUucHJvdG8oQW8sX2UpLEFvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT1zbi5nZXQoKS5wYWxldHRlLGk9ImxhbmRzY2FwZSI9PT1jdC5vcmllbnRhdGlvbiYmKCJpbWFnZV9sYWJlbF9iaW5hcnkiPT09Y3QuY2hhbGxlbmdlX3R5cGV8fCJpbWFnZV9sYWJlbF9hcmVhX3NlbGVjdCI9PT1jdC5jaGFsbGVuZ2VfdHlwZXx8ImltYWdlX2RyYWdfZHJvcCI9PT1jdC5jaGFsbGVuZ2VfdHlwZXx8Im1mYSI9PT1jdC5jaGFsbGVuZ2VfdHlwZSk7dGhpcy5jb3B5LmNzcyh7ZGlzcGxheToidGFibGUtY2VsbCIsdmVydGljYWxBbGlnbjoibWlkZGxlIn0pLHRoaXMuY3NzKHtkaXNwbGF5OiJ0YWJsZSIsZm9udFNpemU6dCxjb2xvcjplLndhcm4ubWFpbix3aWR0aDoiMTAwJSIsdGV4dEFsaWduOmk/ImxlZnQiOiJyaWdodCJ9KX0sQW8ucHJvdG90eXBlLmRpc3BsYXk9ZnVuY3Rpb24odCl7dGhpcy5jc3Moe29wYWNpdHk6dD8xOjB9KSx0aGlzLnZpc2libGU9dCx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0KX0sQW8ucHJvdG90eXBlLnNldENvcHk9ZnVuY3Rpb24oKXt2YXIgdD1NZS50cmFuc2xhdGUoIlBsZWFzZSB0cnkgYWdhaW4uIik7dGhpcy5jb3B5LnRleHQodCsiICDimqDvuI8iKX0seGUucHJvdG8oQm8sX2UpLEJvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3RoaXMuY3NzKHt3aWR0aDplPzMqdDp0LGhlaWdodDp0LG92ZXJmbG93OiJoaWRkZW4iLGJvcmRlclJhZGl1czouNSp0LHRyYW5zaXRpb246ImFsbCAwLjVzIn0pLHRoaXMuJGJnLmNzcyh7d2lkdGg6ZT8zKnQ6dCxoZWlnaHQ6dCx0cmFuc2l0aW9uOiJhbGwgMC41cyJ9KX0sQm8ucHJvdG90eXBlLmFjdGl2ZT1mdW5jdGlvbih0LGUpe3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY29tcG9uZW50O3JldHVybiBvbi5tZXJnZSh7bWFpbjp7ZmlsbDoiIzg0OTVhZCJ9LGFjdGl2ZTp7ZmlsbDoiIzNENEE1QyJ9fSxlLmJyZWFkY3J1bWIpfShzbi5nZXQoKSksbj1lPzMqdDp0O3RoaXMuY3NzKHt3aWR0aDpufSksdGhpcy4kYmcuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6ZT9pLmFjdGl2ZS5maWxsOmkubWFpbi5maWxsLHdpZHRoOm59KX0sQm8ucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXt0aGlzLmNzcyh7b3BhY2l0eTowfSl9LHhlLnByb3RvKFVvLF9lKSxVby5wcm90b3R5cGUuY3JlYXRlQ3J1bWJzPWZ1bmN0aW9uKHQpe3RoaXMuZGlzcGxheT0hMDtmb3IodmFyIGU9bnVsbCxpPTA7aTx0O2krKyllPXRoaXMuaW5pdENvbXBvbmVudChCbyxudWxsLHRoaXMuJHdyYXBwZXIpLHRoaXMuY3J1bWJzLnB1c2goZSl9LFVvLnByb3RvdHlwZS5yZW1vdmVDcnVtYnM9ZnVuY3Rpb24oKXtpZih0aGlzLmRpc3BsYXk9ITEsMCE9PXRoaXMuY3J1bWJzLmxlbmd0aCl7Zm9yKHZhciB0PS0xOysrdDx0aGlzLmNydW1icy5sZW5ndGg7KXRoaXMuY3J1bWJzW3RdLmRlc3Ryb3koKTt0aGlzLmNydW1icz1bXX19LFVvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3ZhciBpPWU/Njo4LG49ZT82Ojg7dGhpcy5zZXRTaXplcyhpLDApLHRoaXMuY3NzKHt3aWR0aDp0LGhlaWdodDppfSk7dmFyIG89dGhpcy5jcnVtYnMubGVuZ3RoKmkrbioodGhpcy5jcnVtYnMubGVuZ3RoLTEpK247dGhpcy4kd3JhcHBlci5jc3Moe3dpZHRoOm8saGVpZ2h0OmkscG9zaXRpb246ImFic29sdXRlIixsZWZ0Oih0LW8pLzJ9KSx0aGlzLnNpemU9aSx0aGlzLndpZHRoPXQsdGhpcy5tb2JpbGU9ZX0sVW8ucHJvdG90eXBlLnNldEluZGV4PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMTsrK2U8dGhpcy5jcnVtYnMubGVuZ3RoOyl0aGlzLmNydW1ic1tlXS5hY3RpdmUodGhpcy5zaXplLGU8PXQpLHRoaXMuc2V0U2l6ZXModGhpcy5zaXplLHQpfSxVby5wcm90b3R5cGUuc2V0U2l6ZXM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9dGhpcy5tb2JpbGU/NDo1LG49LTE7KytuPHRoaXMuY3J1bWJzLmxlbmd0aDspe3RoaXMuY3J1bWJzW25dLnN0eWxlKHQsZT09PW4pO2Zvcih2YXIgbz0wLHI9MDtyPG47cisrKXtvKz0ocj09PWU/Myp0OnQpK2l9dGhpcy5jcnVtYnNbbl0uY3NzKHtsZWZ0Om8sdG9wOjAscG9zaXRpb246ImFic29sdXRlIn0pfX0sVW8ucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9LTE7Kyt0PHRoaXMuY3J1bWJzLmxlbmd0aDspdGhpcy5jcnVtYnNbdF0uaGlkZSgpfTtmdW5jdGlvbiBNbygpe3hlLnNlbGYodGhpcyx5bix7c2VsZWN0b3I6IiNtZW51LWluZm8iLHRpdGxlOiJHZXQgaW5mb3JtYXRpb24gYWJvdXQgaENhcHRjaGEgYW5kIGFjY2Vzc2liaWxpdHkgb3B0aW9ucy4iLG5hbWU6ImluZm8iLHNyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB3aWR0aD0nMjUnIGhlaWdodD0nMjUnIHZpZXdCb3g9JzAgMCAyNSAyNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBjeD0nMTIuNScgY3k9JzIxLjYnIHI9JzInIGZpbGw9JyUyMzc4Nzg3OCcvJTNlJTNjY2lyY2xlIGN4PScxMi41JyBjeT0nMTIuNScgcj0nMicgZmlsbD0nJTIzNzg3ODc4Jy8lM2UlM2NjaXJjbGUgY3g9JzEyLjUnIGN5PSczLjQwMDAyJyByPScyJyBmaWxsPSclMjM3ODc4NzgnLyUzZSUzYy9zdmclM2UiLHRoZW1lOnNuLHdpZHRoOjM1LGhlaWdodDozNX0pLHRoaXMuX2lnbm9yZUhpZ2hsaWdodD0hMX14ZS5wcm90byhNbyx5biksTW8ucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKHQpe3RoaXMuX2lnbm9yZUhpZ2hsaWdodD10LHRoaXMuZG9tLmZvY3VzKCl9LE1vLnByb3RvdHlwZS5vbkZvY3VzPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2lnbm9yZUhpZ2hsaWdodCl0aGlzLl9pZ25vcmVIaWdobGlnaHQ9ITE7ZWxzZXt2YXIgZT10aGlzLnN0YXRlLnN0eWxlLmZvY3VzLm91dGxpbmU7dGhpcy5jc3Moe291dGxpbmU6IjJweCBzb2xpZCAiK2V9KX19LE1vLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24odCl7dGhpcy5jc3Moe291dGxpbmU6Im5vbmUifSl9O2Z1bmN0aW9uIFdvKCl7eGUuc2VsZih0aGlzLHluLHt0aXRsZToiUmVmcmVzaCBDaGFsbGVuZ2UuIixsYWJlbDoiUmVmcmVzaCBDaGFsbGVuZ2UuIixuYW1lOiJyZWZyZXNoIixzcmM6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyB2aWV3Qm94PScwIDAgMjUgMjUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGQ9J00yMC45MTQ4IDE5LjY1MjlDMjAuOTk5NCAxOS43MjM5IDIxLjAxMDYgMTkuODUwMSAyMC45MzgxIDE5LjkzMzVDMTkuNTIzNCAyMS41NTk4IDE3LjY3MDIgMjIuNzQ2NyAxNS41OTgxIDIzLjM1MDZDMTMuNDYxOSAyMy45NzMzIDExLjE4OTEgMjMuOTQ4NSA5LjA2NzA4IDIzLjI3OTRDNi45NDUwMiAyMi42MTAzIDUuMDY5MDIgMjEuMzI3IDMuNjc2MzIgMTkuNTkxN0MyLjI4MzYxIDE3Ljg1NjQgMS40MzY3NSAxNS43NDcxIDEuMjQyODMgMTMuNTMwNkMxLjA0ODkgMTEuMzE0IDEuNTE2NjIgOS4wODk2OSAyLjU4Njg0IDcuMTM4OTRDMy42NTcwNiA1LjE4ODE4IDUuMjgxNzEgMy41OTg2IDcuMjU1MzUgMi41NzExOUM5LjIyODk4IDEuNTQzNzggMTEuNDYzIDEuMTI0NjkgMTMuNjc0OCAxLjM2NjkyQzE1LjgyMDMgMS42MDE5IDE3Ljg1MTQgMi40NDg4OSAxOS41MjcgMy44MDQ4N0MxOS42MTI5IDMuODc0MzUgMTkuNjIzOCA0LjAwMDY1IDE5LjU1MjggNC4wODUyN0wxOC4zNjM3IDUuNTAyNDVDMTguMjkyNyA1LjU4NzA3IDE4LjE2NjYgNS41OTc5IDE4LjA4MDUgNS41Mjg4QzE2Ljc0NiA0LjQ1ODY3IDE1LjEzMjkgMy43OTAwNyAxMy40Mjk4IDMuNjAzNTVDMTEuNjYwNCAzLjQwOTc3IDkuODczMTkgMy43NDUwMyA4LjI5NDI4IDQuNTY2OTZDNi43MTUzNyA1LjM4ODg5IDUuNDE1NjUgNi42NjA1NiA0LjU1OTQ4IDguMjIxMTZDMy43MDMzIDkuNzgxNzYgMy4zMjkxMyAxMS41NjEyIDMuNDg0MjcgMTMuMzM0NUMzLjYzOTQxIDE1LjEwNzcgNC4zMTY5IDE2Ljc5NTIgNS40MzEwNiAxOC4xODM0QzYuNTQ1MjIgMTkuNTcxNiA4LjA0NjAyIDIwLjU5ODIgOS43NDM2NyAyMS4xMzM1QzExLjQ0MTMgMjEuNjY4OCAxMy4yNTk2IDIxLjY4ODYgMTQuOTY4NSAyMS4xOTA1QzE2LjYxMzMgMjAuNzExMSAxOC4wODU4IDE5Ljc3MjUgMTkuMjE0MiAxOC40ODY5QzE5LjI4NyAxOC40MDM5IDE5LjQxMyAxOC4zOTI3IDE5LjQ5NzYgMTguNDYzN0wyMC45MTQ4IDE5LjY1MjlaJyBmaWxsPSclMjM3ODc4NzgnLyUzZSUzY3BhdGggZD0nTTIyLjcyNDggNy45Mzk3NEMyMi43NTU3IDguMDcwMDcgMjIuNjUyMiA4LjE5MzM2IDIyLjUxODUgOC4xODU1NUwxNC45NzEyIDcuNzQ0NjJDMTQuODA3IDcuNzM1MDIgMTQuNzIzOSA3LjU0MjM5IDE0LjgyOTcgNy40MTY0TDIwLjYzMjEgMC41MDEyNTdDMjAuNzM3OSAwLjM3NTI2OSAyMC45NDIgMC40MjM2MzEgMjAuOTggMC41ODM2NTdMMjIuNzI0OCA3LjkzOTc0WicgZmlsbD0nJTIzNzg3ODc4Jy8lM2UlM2Mvc3ZnJTNlIix0aGVtZTpzbix3aWR0aDozNSxoZWlnaHQ6MzUsc2VsZWN0YWJsZTohMX0pfXhlLnByb3RvKFdvLHluKTtmdW5jdGlvbiBPbyh0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudDtyZXR1cm4gb24ubWVyZ2Uoe21haW46e2ZpbGw6ZS5wcmltYXJ5Lm1haW4sdGV4dDplLmNvbW1vbi53aGl0ZSxib3JkZXI6ZS5wcmltYXJ5Lm1haW59LGhvdmVyOntmaWxsOmUucHJpbWFyeS5tYWluLHRleHQ6ZS5jb21tb24ud2hpdGUsYm9yZGVyOmUucHJpbWFyeS5tYWlufSxmb2N1czp7b3V0bGluZTplLnByaW1hcnkubWFpbn0sZGlzYWJsZWQ6e2ZpbGw6ZS5ncmV5WzcwMF0sdGV4dDplLmNvbW1vbi53aGl0ZSxib3JkZXI6ZS5wcmltYXJ5Lm1haW59fSxpLnZlcmlmeUJ1dHRvbil9ZnVuY3Rpb24gRm8odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHttYWluOntmaWxsOmUuZ3JleVs3MDBdLHRleHQ6ZS5jb21tb24ud2hpdGUsYm9yZGVyOmUuZ3JleVs3MDBdfSxob3Zlcjp7ZmlsbDplLmdyZXlbODAwXSx0ZXh0OmUuY29tbW9uLndoaXRlLGJvcmRlcjplLmdyZXlbODAwXX0sZm9jdXM6e291dGxpbmU6ZS5wcmltYXJ5Lm1haW59LGRpc2FibGVkOntmaWxsOmUuZ3JleVs3MDBdLHRleHQ6ZS5jb21tb24ud2hpdGUsYm9yZGVyOmUuZ3JleVs3MDBdfX0saS5za2lwQnV0dG9uKX1mdW5jdGlvbiBMbygpe3hlLnNlbGYodGhpcyxfZSwiYnV0dG9uLXN1Ym1pdCIpLHRoaXMuc3RhdGU9e3RleHQ6IkNoZWNrIix0eXBlOiJjaGVjayIsbGFiZWw6IlZlcmlmeSBBbnN3ZXJzIixsb2NrZWQ6ITF9LHRoaXMuX3ZlcmlmeVN0eWxlPU9vKHNuLmdldCgpKSx0aGlzLl9za2lwU3R5bGU9Rm8oc24uZ2V0KCkpLHRoaXMuY29weT10aGlzLmNyZWF0ZUVsZW1lbnQoIi50ZXh0IiksdGhpcy5zcGlubmVyPXRoaXMuaW5pdENvbXBvbmVudChabix7c3JjOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPScxNycgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE3IDE2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjbWFzayBpZD0nc3Bpbm5lci1tYXNrLTEnIGZpbGw9J3doaXRlJyUzZSUzY3BhdGggZD0nTTguNSAwQzEwLjA4MjMgMS44ODY4MmUtMDggMTEuNjI5IDAuNDY5MTkyIDEyLjk0NDYgMS4zNDgyNEMxNC4yNjAyIDIuMjI3MyAxNS4yODU1IDMuNDc2NzMgMTUuODkxIDQuOTM4NTRDMTYuNDk2NSA2LjQwMDM1IDE2LjY1NSA4LjAwODg4IDE2LjM0NjMgOS41NjA3M0MxNi4wMzc2IDExLjExMjYgMTUuMjc1NyAxMi41MzggMTQuMTU2OCAxMy42NTY5QzEzLjAzOCAxNC43NzU3IDExLjYxMjYgMTUuNTM3NiAxMC4wNjA3IDE1Ljg0NjNDOC41MDg4NiAxNi4xNTUgNi45MDAzMyAxNS45OTY1IDUuNDM4NTIgMTUuMzkxQzMuOTc2NzEgMTQuNzg1NSAyLjcyNzI4IDEzLjc2MDEgMS44NDgyNCAxMi40NDQ2QzAuOTY5MTg2IDExLjEyOSAwLjQ5OTk5NyA5LjU4MjI0IDAuNSA3Ljk5OTk4TDIuOSA3Ljk5OTk5QzIuOSA5LjEwNzU2IDMuMjI4NDMgMTAuMTkwMyAzLjg0Mzc3IDExLjExMTJDNC40NTkxIDEyLjAzMjEgNS4zMzM3IDEyLjc0OTkgNi4zNTY5NyAxMy4xNzM3QzcuMzgwMjMgMTMuNTk3NiA4LjUwNjIgMTMuNzA4NSA5LjU5MjUgMTMuNDkyNEMxMC42Nzg4IDEzLjI3NjMgMTEuNjc2NiAxMi43NDMgMTIuNDU5OCAxMS45NTk4QzEzLjI0MyAxMS4xNzY2IDEzLjc3NjMgMTAuMTc4OCAxMy45OTI0IDkuMDkyNTFDMTQuMjA4NSA4LjAwNjIyIDE0LjA5NzYgNi44ODAyNCAxMy42NzM3IDUuODU2OThDMTMuMjQ5OSA0LjgzMzcxIDEyLjUzMjEgMy45NTkxMSAxMS42MTEyIDMuMzQzNzdDMTAuNjkwMyAyLjcyODQzIDkuNjA3NTggMi40IDguNSAyLjRWMFonLyUzZSUzYy9tYXNrJTNlJTNjcGF0aCBkPSdNOC41IDBDMTAuMDgyMyAxLjg4NjgyZS0wOCAxMS42MjkgMC40NjkxOTIgMTIuOTQ0NiAxLjM0ODI0QzE0LjI2MDIgMi4yMjczIDE1LjI4NTUgMy40NzY3MyAxNS44OTEgNC45Mzg1NEMxNi40OTY1IDYuNDAwMzUgMTYuNjU1IDguMDA4ODggMTYuMzQ2MyA5LjU2MDczQzE2LjAzNzYgMTEuMTEyNiAxNS4yNzU3IDEyLjUzOCAxNC4xNTY4IDEzLjY1NjlDMTMuMDM4IDE0Ljc3NTcgMTEuNjEyNiAxNS41Mzc2IDEwLjA2MDcgMTUuODQ2M0M4LjUwODg2IDE2LjE1NSA2LjkwMDMzIDE1Ljk5NjUgNS40Mzg1MiAxNS4zOTFDMy45NzY3MSAxNC43ODU1IDIuNzI3MjggMTMuNzYwMSAxLjg0ODI0IDEyLjQ0NDZDMC45NjkxODYgMTEuMTI5IDAuNDk5OTk3IDkuNTgyMjQgMC41IDcuOTk5OThMMi45IDcuOTk5OTlDMi45IDkuMTA3NTYgMy4yMjg0MyAxMC4xOTAzIDMuODQzNzcgMTEuMTExMkM0LjQ1OTEgMTIuMDMyMSA1LjMzMzcgMTIuNzQ5OSA2LjM1Njk3IDEzLjE3MzdDNy4zODAyMyAxMy41OTc2IDguNTA2MiAxMy43MDg1IDkuNTkyNSAxMy40OTI0QzEwLjY3ODggMTMuMjc2MyAxMS42NzY2IDEyLjc0MyAxMi40NTk4IDExLjk1OThDMTMuMjQzIDExLjE3NjYgMTMuNzc2MyAxMC4xNzg4IDEzLjk5MjQgOS4wOTI1MUMxNC4yMDg1IDguMDA2MjIgMTQuMDk3NiA2Ljg4MDI0IDEzLjY3MzcgNS44NTY5OEMxMy4yNDk5IDQuODMzNzEgMTIuNTMyMSAzLjk1OTExIDExLjYxMTIgMy4zNDM3N0MxMC42OTAzIDIuNzI4NDMgOS42MDc1OCAyLjQgOC41IDIuNFYwWicgc3Ryb2tlPSclMjMyNjJEMzgnIHN0cm9rZS13aWR0aD0nOCcgbWFzaz0ndXJsKCUyM3NwaW5uZXItbWFzay0xKScvJTNlJTNjL3N2ZyUzZSIsc2VsZWN0b3I6Ii5idXR0b24tc3VibWl0LXNwaW5uZXIifSksdGhpcy5hZGRDbGFzcygiYnV0dG9uIiksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwwKSx0aGlzLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLHRoaXMuc2V0TGFiZWwuY2FsbCh0aGlzKSx0aGlzLm9uSG92ZXI9dGhpcy5vbkhvdmVyLmJpbmQodGhpcyksdGhpcy5vblNlbGVjdD10aGlzLm9uU2VsZWN0LmJpbmQodGhpcyksdGhpcy5vbkZvY3VzPXRoaXMub25Gb2N1cy5iaW5kKHRoaXMpLHRoaXMub25CbHVyPXRoaXMub25CbHVyLmJpbmQodGhpcyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5vblNlbGVjdCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJlbnRlciIsdGhpcy5vblNlbGVjdCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5vbkZvY3VzKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMub25CbHVyKSwhMT09PXR0LlN5c3RlbS5tb2JpbGUmJih0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm92ZXIiLHRoaXMub25Ib3ZlciksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJvdXQiLHRoaXMub25Ib3ZlcikpfWZ1bmN0aW9uIEhvKCl7eGUuc2VsZih0aGlzLF9lLCJpbnRlcmZhY2UtY2hhbGxlbmdlIik7dmFyIHQ9dGhpczt0aGlzLnN0YXRlPXtsb2FkZWQ6ITEsYWN0aW9uOm51bGwsbG9ja2VkOiExLHZpc2libGU6ITEsd2hpdGVMYWJlbDohMX0sdGhpcy50ZXh0PXRoaXMuaW5pdENvbXBvbmVudChBbyksdGhpcy5icmVhZGNydW1icz10aGlzLmluaXRDb21wb25lbnQoVW8pLHRoaXMuc3VibWl0PXRoaXMuaW5pdENvbXBvbmVudChMbyksdGhpcy5zdWJtaXQub24oImNsaWNrIiwoZnVuY3Rpb24oKXt0LmVtaXQoInN1Ym1pdCIpfSkpfWZ1bmN0aW9uIFBvKHQpe3hlLnNlbGYodGhpcyxnbix7c2VsZWN0b3I6IiNkaXNwbGF5LWxhbmd1YWdlIix0aGVtZTpzbix3aWR0aDoyNixoZWlnaHQ6MTZ9KSx0aGlzLiR0ZXh0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKTt2YXIgZT10aGlzO3RoaXMuX3RoZW1lPXQudGhlbWUsdGhpcy5vbigic3R5bGUiLChmdW5jdGlvbigpe2UuY3NzKHtkaXNwbGF5OiJibG9jayJ9KX0pKX1mdW5jdGlvbiBEbygpe3hlLnNlbGYodGhpcyxfZSwibGFuZ3VhZ2Utc2VsZWN0b3IiKTt2YXIgdD10aGlzO3RoaXMuc3RhdGU9e2xvY2tlZDohMX0sdGhpcy51c2VOYXRpdmVMaXN0PXR0LlN5c3RlbS5tb2JpbGUsdGhpcy5saXN0PXRoaXMuaW5pdENvbXBvbmVudCh0aGlzLnVzZU5hdGl2ZUxpc3Q/X246TG4se3RoZW1lOnNuLHNlbGVjdG9yOiIjbGFuZ3VhZ2UtbGlzdCIsb3B0aW9uc1Zpc2libGU6NX0pLHRoaXMuZGlzcGxheT10aGlzLmluaXRDb21wb25lbnQoUG8se3RoZW1lOnNufSksdGhpcy5kaXNwbGF5Lm93bnNMaXN0Qm94KHRoaXMubGlzdCk7dmFyIGU9W107Zm9yKHZhciBpIGluIFJlKWUucHVzaCh7dmFsdWU6aSx0ZXh0OlJlW2ldfSk7dGhpcy5saXN0LnNldE9wdGlvbnMoZSksdGhpcy5saXN0Lm9uKCJzZWxlY3QiLChmdW5jdGlvbihlKXt0LmRpc3BsYXkuc2V0TG9jYWxlKGUudmFsdWUpLGUudmFsdWUhPT1NZS5nZXRMb2NhbGUoKSYmKE1lLnNldExvY2FsZShlLnZhbHVlKSxOaS5zZW5kKCJjaGFsbGVuZ2UtbGFuZ3VhZ2UiLHtsb2NhbGU6ZS52YWx1ZX0pKX0pKSx0aGlzLnVzZU5hdGl2ZUxpc3Q/KHRoaXMuZGlzcGxheS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSx0aGlzLmRpc3BsYXkuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSk6dGhpcy5kaXNwbGF5Lm9uKCJjbGljayIsKGZ1bmN0aW9uKGUpe2Uuc2VsZWN0ZWQ/KHQubGlzdC51c2luZ0tiJiZ0Lmxpc3QudXNpbmdLYihlLnVzaW5nS2IpLHQubGlzdC5vcGVuKCkpOnQubGlzdC5oaWRlKCl9KSksdGhpcy5saXN0Lm9uKCJibHVyIiwoZnVuY3Rpb24oKXt0LnVzZU5hdGl2ZUxpc3R8fHQuZGlzcGxheS5mb2N1cygpfSkpLHRoaXMubGlzdC5vbigiaGlkZSIsKGZ1bmN0aW9uKCl7dC5kaXNwbGF5LnJlc2V0KCl9KSksdGhpcy5zdHlsZSgpLHRoaXMudXBkYXRlTG9jYWxlKCl9eGUucHJvdG8oTG8sX2UpLExvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT10PzMwOjM1LGk9dGhpcy5zdGF0ZS50eXBlLG49ImNoZWNrIj09PWl8fCJuZXh0Ij09PWl8fCJjb25maXJtLWNvZGUiPT09aXx8InZlcmlmeS1waG9uZSI9PT1pfHwibG9hZGluZyI9PT1pO3RoaXMuX3ZlcmlmeVN0eWxlPU9vKHNuLmdldCgpKSx0aGlzLl9za2lwU3R5bGU9Rm8oc24uZ2V0KCkpO3ZhciBvPWZ1bmN0aW9uKHQpe3RyeXt2YXIgZT10LnBhbGV0dGU7cmV0dXJuIHQuY29tcG9uZW50JiZ0LmNvbXBvbmVudC5jaGFsbGVuZ2U/dC5jb21wb25lbnQuY2hhbGxlbmdlLm1haW4uZmlsbDplLmNvbW1vbiYmZS5jb21tb24ud2hpdGU/ZS5jb21tb24ud2hpdGU6IiNGRkYifWNhdGNoKGRzKXtyZXR1cm4iI0ZGRiJ9fShzbi5nZXQoKSk7dGhpcy5jc3Moe2hlaWdodDplLGN1cnNvcjoicG9pbnRlciIsbWluV2lkdGg6dD81MDo3MCxwYWRkaW5nOiIwcHggNXB4IixvdXRsaW5lQ29sb3I6Im5vbmUiLGJvcmRlclJhZGl1czo0LGJvcmRlcjoiMnB4IHNvbGlkICIrbyxwb3NpdGlvbjoicmVsYXRpdmUifSk7dmFyIHI9bj90aGlzLl92ZXJpZnlTdHlsZS5tYWluLnRleHQ6dGhpcy5fc2tpcFN0eWxlLm1haW4udGV4dDt0aGlzLmNvcHkuY3NzKHtjb2xvcjpyLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHRleHRBbGlnbjoiY2VudGVyIixwb3NpdGlvbjoicmVsYXRpdmUiLHBvaW50ZXJFdmVudHM6Im5vbmUiLGxpbmVIZWlnaHQ6ZSxmb250U2l6ZToxNCxmb250V2VpZ2h0OjYwMCx6SW5kZXg6NX0pLHRoaXMuc3Bpbm5lci5zdHlsZSgxNixodC53aGl0ZSksdGhpcy5zcGlubmVyLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiI1MCUiLHRvcDoiNTAlIixtYXJnaW5MZWZ0Oi04LG1hcmdpblRvcDotOCx6SW5kZXg6Nn0pLHRoaXMuaGVpZ2h0PWV9LExvLnByb3RvdHlwZS5zaG93TG9hZGVyPWZ1bmN0aW9uKCl7dGhpcy5zcGlubmVyLnNldFZpc2libGUoITApLHRoaXMuc3Bpbm5lci5zdGFydFNwaW5uaW5nKCksdGhpcy5jb3B5LmNzcyh7ZGlzcGxheToibm9uZSJ9KX0sTG8ucHJvdG90eXBlLmhpZGVMb2FkZXI9ZnVuY3Rpb24oKXt0aGlzLnNwaW5uZXIuc2V0VmlzaWJsZSghMSksdGhpcy5zcGlubmVyLnN0b3BTcGlubmluZygpLHRoaXMuY29weS5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pfSxMby5wcm90b3R5cGUuYWN0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlLGk9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpLG49ImNoZWNrIj09PXR8fCJuZXh0Ij09PXR8fCJyZXBvcnQiPT09dHx8ImNvbmZpcm0tY29kZSI9PT10fHwidmVyaWZ5LXBob25lIj09PXR8fCJsb2FkaW5nIj09PXQ7dGhpcy5fdmVyaWZ5U3R5bGU9T28oc24uZ2V0KCkpLHRoaXMuX3NraXBTdHlsZT1Gbyhzbi5nZXQoKSk7dmFyIG89bj90aGlzLl92ZXJpZnlTdHlsZS5tYWluLmZpbGw6dGhpcy5fc2tpcFN0eWxlLm1haW4uZmlsbCxyPW4/dGhpcy5fdmVyaWZ5U3R5bGUubWFpbi50ZXh0OnRoaXMuX3NraXBTdHlsZS5tYWluLnRleHQ7aWYoImxvYWRpbmciPT09dCllPSJMb2FkaW5nIix0aGlzLnNob3dMb2FkZXIoKTtlbHNlIHN3aXRjaCh0aGlzLmhpZGVMb2FkZXIoKSx0KXtjYXNlImNoZWNrIjplPSJWZXJpZnkgQW5zd2VycyI7YnJlYWs7Y2FzZSJuZXh0IjplPSJOZXh0IENoYWxsZW5nZSI7YnJlYWs7Y2FzZSJ2ZXJpZnktcGhvbmUiOmk9Ik5leHQiLGU9IlZlcmlmeSBQaG9uZSBOdW1iZXIiO2JyZWFrO2Nhc2UicmVwb3J0IjplPSJSZXBvcnQgSW1hZ2VzIjticmVhaztjYXNlImNvbmZpcm0iOmU9IkNvbmZpcm0iO2JyZWFrO2Nhc2UiY29uZmlybS1jb2RlIjppPSJDb25maXJtIixlPSJDb25maXJtIENvZGUiO2JyZWFrO2RlZmF1bHQ6ZT0iU2tpcCBDaGFsbGVuZ2UiLHQ9InNraXAifXRoaXMuc3RhdGUudHlwZT10LHRoaXMuc3RhdGUudGV4dD1pLHRoaXMuc3RhdGUubGFiZWw9ZSx0aGlzLmNzcyh7YmFja2dyb3VuZENvbG9yOm99KSx0aGlzLmNvcHkuY3NzKHtjb2xvcjpyfSksdGhpcy5zZXRMYWJlbC5jYWxsKHRoaXMpfSxMby5wcm90b3R5cGUub25Ib3Zlcj1mdW5jdGlvbih0KXtpZihudWxsIT09dGhpcy5lbWl0JiYhMCE9PXRoaXMuc3RhdGUubG9ja2VkKXt2YXIgZT0ib3ZlciI9PT10LmFjdGlvbixpPXRoaXMuc3RhdGUudHlwZSxuPSJjaGVjayI9PT1pfHwibmV4dCI9PT1pfHwiY29uZmlybS1jb2RlIj09PWl8fCJ2ZXJpZnktcGhvbmUiPT09aXx8ImxvYWRpbmciPT09aT90aGlzLl92ZXJpZnlTdHlsZTp0aGlzLl9za2lwU3R5bGUsbz1lPyJob3ZlciI6Im1haW4iO3RoaXMuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6bltvXS5maWxsfSl9fSxMby5wcm90b3R5cGUub25TZWxlY3Q9ZnVuY3Rpb24odCl7bnVsbCE9PXRoaXMuZW1pdCYmITAhPT10aGlzLnN0YXRlLmxvY2tlZCYmdGhpcy5lbWl0KCJjbGljayIsdCl9LExvLnByb3RvdHlwZS5vbkZvY3VzPWZ1bmN0aW9uKHQpe3ZhciBlPSJjaGVjayI9PT10aGlzLnN0YXRlLnR5cGU/Il92ZXJpZnlTdHlsZSI6Il9za2lwU3R5bGUiLGk9dGhpc1tlXS5mb2N1cy5ib3JkZXJ8fHRoaXNbZV0uZm9jdXMub3V0bGluZTt0aGlzLmNzcyh7b3V0bGluZToiMnB4IHNvbGlkICIraX0pfSxMby5wcm90b3R5cGUub25CbHVyPWZ1bmN0aW9uKHQpe3RoaXMuY3NzKHtvdXRsaW5lOiJub25lIn0pfSxMby5wcm90b3R5cGUuc2V0TG9jaz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZD10O3ZhciBlPXRoaXMuc3RhdGUudHlwZTtpZigibG9hZGluZyIhPT1lKXt2YXIgaT0iY2hlY2siPT09ZXx8Im5leHQiPT09ZXx8ImNvbmZpcm0tY29kZSI9PT1lfHwidmVyaWZ5LXBob25lIj09PWU/dGhpcy5fdmVyaWZ5U3R5bGU6dGhpcy5fc2tpcFN0eWxlO3RoaXMuY3NzKHtjdXJzb3I6dD8iZGVmYXVsdCI6InBvaW50ZXIiLGJhY2tncm91bmRDb2xvcjp0P2kuZGlzYWJsZWQuZmlsbDppLm1haW4uZmlsbH0pLHRoaXMuY29weS5jc3Moe2NvbG9yOnQ/aS5kaXNhYmxlZC50ZXh0OmkubWFpbi50ZXh0fSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLHQ/InRydWUiOiJmYWxzZSIpfX0sTG8ucHJvdG90eXBlLnNldExhYmVsPWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKHRoaXMuc3RhdGUudGV4dCksZT1NZS50cmFuc2xhdGUodGhpcy5zdGF0ZS5sYWJlbCk7TWUuZ2V0TG9jYWxlKCkuaW5kZXhPZigiZW4iKT49MCYmImNoZWNrIj09PXRoaXMuc3RhdGUudHlwZSYmKHQ9IlZlcmlmeSIpLHRoaXMuY29weS50ZXh0KHQpLHRoaXMuc2V0QXR0cmlidXRlKCJ0aXRsZSIsZSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGUpfSxMby5wcm90b3R5cGUuZ2V0RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzJiZ0aGlzLmRvbXx8bnVsbH0sTG8ucHJvdG90eXBlLnJlbW92ZUFuaW1hdGlvbj1mdW5jdGlvbigpe3RoaXMuc3Bpbm5lci5zdG9wU3Bpbm5pbmcoKX0seGUucHJvdG8oSG8sX2UpLEhvLnByb3RvdHlwZS5yZW1vdmVDcnVtYnM9ZnVuY3Rpb24oKXt0aGlzLmJyZWFkY3J1bWJzLnJlbW92ZUNydW1icygpfSxIby5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPSJsYW5kc2NhcGUiPT09Y3Qub3JpZW50YXRpb24mJigiaW1hZ2VfbGFiZWxfYmluYXJ5Ij09PWN0LmNoYWxsZW5nZV90eXBlfHwiaW1hZ2VfbGFiZWxfYXJlYV9zZWxlY3QiPT09Y3QuY2hhbGxlbmdlX3R5cGV8fCJpbWFnZV9kcmFnX2Ryb3AiPT09Y3QuY2hhbGxlbmdlX3R5cGV8fCJtZmEiPT09Y3QuY2hhbGxlbmdlX3R5cGUpLG89bj9lOjE2O3RoaXMuYnJlYWRjcnVtYnMuZGlzcGxheSYmKHRoaXMuYnJlYWRjcnVtYnMuc3R5bGUodCxpKSx0aGlzLmJyZWFkY3J1bWJzLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6KG8tdGhpcy5icmVhZGNydW1icy5zaXplKS8yfSkpO3ZhciByPWk/MTE6MTI7cmV0dXJuIHRoaXMudGV4dC5zdHlsZShyKSx0aGlzLnRleHQuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGhlaWdodDpvLHRvcDowLHJpZ2h0Om4/ImF1dG8iOjAsbGVmdDpuPzA6ImF1dG8iLHdpZHRoOm4/MTQwOiIxMDAlIn0pLHRoaXMuc3VibWl0LnN0eWxlKGkpLHRoaXMuc3VibWl0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixib3R0b206MCx6SW5kZXg6MTAwfSksTWUuaXNSVEwoKT90aGlzLnN1Ym1pdC5jc3Moe3JpZ2h0OiJpbml0aWFsIixsZWZ0OjB9KTp0aGlzLnN1Ym1pdC5jc3Moe3JpZ2h0OjAsbGVmdDoiaW5pdGlhbCJ9KSx0aGlzLmNzcyh7d2lkdGg6dCxoZWlnaHQ6ZX0pLHt3aWR0aDp0LGhlaWdodDplfX0sSG8ucHJvdG90eXBlLnNldEFjdGlvbj1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmFjdGlvbj10LHRoaXMuc3VibWl0LmFjdGlvbih0KX0sSG8ucHJvdG90eXBlLmdldEFjdGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmFjdGlvbn0sSG8ucHJvdG90eXBlLmRpc3BsYXlUcnlBZ2Fpbj1mdW5jdGlvbih0KXt0aGlzLnRleHQuZGlzcGxheSh0KX0sSG8ucHJvdG90eXBlLnNldFdoaXRlTGFiZWxFbmFibGVkPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUud2hpdGVMYWJlbD10fSxIby5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dGhpcy50ZXh0LnNldENvcHkoKSx0aGlzLnN1Ym1pdC5zZXRMYWJlbCgpLE1lLnNldERpcmVjdGlvbih0aGlzLE1lLmdldExvY2FsZSgpKX0sSG8ucHJvdG90eXBlLnNldExvY2s9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5sb2NrZWQ9dCx0aGlzLnN1Ym1pdC5zZXRMb2NrKHQpfSxIby5wcm90b3R5cGUuaXNMb2NrZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS5sb2NrZWR9LEhvLnByb3RvdHlwZS5yZW1vdmVBbmltYXRpb25zPWZ1bmN0aW9uKCl7dGhpcy5zdWJtaXQucmVtb3ZlQW5pbWF0aW9uKCl9LHhlLnByb3RvKFBvLGduKSxQby5wcm90b3R5cGUuc2V0TG9jYWxlPWZ1bmN0aW9uKHQpe3RoaXMuc2V0VGV4dChNZS5nZXRTaG9ydExvY2FsZSh0KS50b1VwcGVyQ2FzZSgpKX0sUG8ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5wYWxldHRlLGk9dC5jb21wb25lbnQ7cmV0dXJuIG9uLm1lcmdlKHtmb2N1czp7b3V0bGluZTplLnByaW1hcnkubWFpbn0sbWFpbjp7ZmlsbDplLmNvbW1vbi53aGl0ZSxpY29uOmUuZ3JleVs3MDBdLHRleHQ6ZS50ZXh0Lm1haW59fSxpLmJ1dHRvbil9KHRoaXMuX3RoZW1lLmdldCgpKSxlPSJsYW5kc2NhcGUiPT09Y3Qub3JpZW50YXRpb24mJigiaW1hZ2VfbGFiZWxfYmluYXJ5Ij09PWN0LmNoYWxsZW5nZV90eXBlfHwiaW1hZ2VfbGFiZWxfYXJlYV9zZWxlY3QiPT09Y3QuY2hhbGxlbmdlX3R5cGV8fCJpbWFnZV9kcmFnX2Ryb3AiPT09Y3QuY2hhbGxlbmdlX3R5cGV8fCJtZmEiPT09Y3QuY2hhbGxlbmdlX3R5cGUpLGk9ZT8xNDoxMSxuPWU/MzU6MjYsbz1lPzM1OjE2O3RoaXMuc3RhdGUud2lkdGg9bix0aGlzLnN0YXRlLmhlaWdodD1vLHRoaXMuY3NzKHtkaXNwbGF5OiJ0YWJsZSIsY3Vyc29yOiJwb2ludGVyIix0ZXh0QWxpZ246ImNlbnRlciIsZm9udFdlaWdodDo2MDAsd2lkdGg6bixoZWlnaHQ6byxmb250U2l6ZTppLGNvbG9yOnQubWFpbi50ZXh0LGJhY2tncm91bmRDb2xvcjp0Lm1haW4uZmlsbCxvdXRsaW5lQ29sb3I6dC5mb2N1cy5vdXRsaW5lLGJvcmRlclJhZGl1czo0fSksdGhpcy4kdGV4dC5jc3Moe2Rpc3BsYXk6InRhYmxlLWNlbGwiLHZlcnRpY2FsQWxpZ246Im1pZGRsZSJ9KX0seGUucHJvdG8oRG8sX2UpLERvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt2YXIgZT0ibGFuZHNjYXBlIj09PWN0Lm9yaWVudGF0aW9uJiYoImltYWdlX2xhYmVsX2JpbmFyeSI9PT1jdC5jaGFsbGVuZ2VfdHlwZXx8ImltYWdlX2xhYmVsX2FyZWFfc2VsZWN0Ij09PWN0LmNoYWxsZW5nZV90eXBlfHwiaW1hZ2VfZHJhZ19kcm9wIj09PWN0LmNoYWxsZW5nZV90eXBlfHwibWZhIj09PWN0LmNoYWxsZW5nZV90eXBlKTt0aGlzLmRpc3BsYXkuc3R5bGUoKSx0aGlzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLHRvcDp0PzU6MTAsbGVmdDowLHpJbmRleDoxMDB9KSx0aGlzLmxpc3Quc3R5bGUoKSxNZS5pc1JUTCgpP3RoaXMubGlzdC5jc3Moe2JvdHRvbTplPy0xMjg6MzAscmlnaHQ6ZT80NToiYXV0byIsbGVmdDoiIn0pOnRoaXMubGlzdC5jc3Moe2JvdHRvbTplPy0xMjg6MzAsbGVmdDplPzQ1OiJhdXRvIixyaWdodDoiIn0pfSxEby5wcm90b3R5cGUuZ2V0RGltZW5zaW9ucz1mdW5jdGlvbigpe3JldHVybnt3aWR0aDp0aGlzLmRpc3BsYXkuZ2V0V2lkdGgoKSxoZWlnaHQ6dGhpcy5kaXNwbGF5LmdldEhlaWdodCgpfX0sRG8ucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKCl7dGhpcy51c2VOYXRpdmVMaXN0P3RoaXMubGlzdC5mb2N1cygpOnRoaXMuZGlzcGxheS5mb2N1cygpfSxEby5wcm90b3R5cGUuc2V0TGFiZWw9ZnVuY3Rpb24oKXt2YXIgdD10dC5TeXN0ZW0ubW9iaWxlLGU9dGhpcy5saXN0LmdldFNlbGVjdGVkKCkudGV4dCxpPU1lLnRyYW5zbGF0ZSh0PyJTZWxlY3QgYSBsYW5ndWFnZSI6Int7bGFuZ3VhZ2V9fSwgU2VsZWN0IGEgbGFuZ3VhZ2UiLHtsYW5ndWFnZTplfSk7dGhpcy5kaXNwbGF5LnNldExhYmVsKGkpLHRoaXMuZGlzcGxheS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLGkpfSxEby5wcm90b3R5cGUudXBkYXRlTG9jYWxlPWZ1bmN0aW9uKCl7dGhpcy5saXN0LnNlbGVjdChNZS5nZXRMb2NhbGUoKSl9LERvLnByb3RvdHlwZS5zZXRWaXNpYmxlPWZ1bmN0aW9uKHQpe3RoaXMuY3NzKHtkaXNwbGF5OnQ/ImJsb2NrIjoibm9uZSAifSl9LERvLnByb3RvdHlwZS5nZXRBY3Rpb25hYmxlRG9tRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVzZU5hdGl2ZUxpc3Q/dGhpcy5saXN0LmRvbTp0aGlzLmRpc3BsYXkuZG9tfSxEby5wcm90b3R5cGUuc2V0TG9jaz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZD10LHQ/dGhpcy5saXN0LnNldEF0dHJpYnV0ZSgiZGlzYWJsZWQiLHQpOnRoaXMubGlzdC5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIil9O2Z1bmN0aW9uIE5vKHQpe3hlLnNlbGYodGhpcyxfZSwiaGNhcHRjaGEtbG9nby1pY29uIiksdGhpcy5tb2JpbGU9ITEsdGhpcy5jaGFyaXR5PXQ7dmFyIGU9dGhpcy5jaGFyaXR5PyJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIGlkPSdsb2dvX2NoYXJpdHknIHJvbGU9J2ltZycgYXJpYS1oaWRkZW49J3RydWUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUwMCA1MDAnJTNlJTNjcmVjdCB4PSczMDYuMjUnIHk9JzQxOC43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDc0YmYlM2JvcGFjaXR5OjAuNSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzI1MCcgeT0nNDE4Ljc1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwNzRiZiUzYm9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzElM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PScxOTMuNzUnIHk9JzQxOC43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDc0YmYlM2JvcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxJTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzQxOC43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDc0YmYlM2JvcGFjaXR5OjAuNSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzM2Mi41JyB5PSczNjIuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDgyYmYlM2JvcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxJTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzA2LjI1JyB5PSczNjIuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDgyYmYlM2JvcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMjUwJyB5PSczNjIuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDgyYmYnLyUzZSUzY3JlY3QgeD0nMTkzLjc1JyB5PSczNjIuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDgyYmYnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzM2Mi41JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwODJiZiUzYm9wYWNpdHk6MC44MDAwMDAwMTE5MjA5MjklM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PSc4MS4yNScgeT0nMzYyLjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDA4MmJmJTNib3BhY2l0eTowLjY5OTk5OTk4ODA3OTA3MSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzQxOC43NScgeT0nMzA2LjI1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOGZiZiUzYm9wYWNpdHk6MC41JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzYyLjUnIHk9JzMwNi4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDhmYmYlM2JvcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzA2LjI1JyB5PSczMDYuMjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDA4ZmJmJy8lM2UlM2NyZWN0IHg9JzI1MCcgeT0nMzA2LjI1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOGZiZicvJTNlJTNjcmVjdCB4PScxOTMuNzUnIHk9JzMwNi4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDhmYmYnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzMwNi4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDhmYmYnLyUzZSUzY3JlY3QgeD0nODEuMjUnIHk9JzMwNi4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDhmYmYlM2JvcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMjUnIHk9JzMwNi4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDhmYmYlM2JvcGFjaXR5OjAuNSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzQxOC43NScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZiUzYm9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzElM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PSczNjIuNScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZicvJTNlJTNjcmVjdCB4PSczMDYuMjUnIHk9JzI1MCcgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMDlkYmYnLyUzZSUzY3JlY3QgeD0nMjUwJyB5PScyNTAnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDA5ZGJmJy8lM2UlM2NyZWN0IHg9JzE5My43NScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZicvJTNlJTNjcmVjdCB4PScxMzcuNScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZicvJTNlJTNjcmVjdCB4PSc4MS4yNScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZicvJTNlJTNjcmVjdCB4PScyNScgeT0nMjUwJyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwOWRiZiUzYm9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzElM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PSc0MTguNzUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYlM2JvcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxJTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzYyLjUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYnLyUzZSUzY3JlY3QgeD0nMzA2LjI1JyB5PScxOTMuNzUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDBhYmJmJy8lM2UlM2NyZWN0IHg9JzI1MCcgeT0nMTkzLjc1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwYWJiZicvJTNlJTNjcmVjdCB4PScxOTMuNzUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYnLyUzZSUzY3JlY3QgeD0nODEuMjUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYnLyUzZSUzY3JlY3QgeD0nMjUnIHk9JzE5My43NScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGFiYmYlM2JvcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxJTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nNDE4Ljc1JyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYlM2JvcGFjaXR5OjAuNSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzM2Mi41JyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYlM2JvcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzA2LjI1JyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYnLyUzZSUzY3JlY3QgeD0nMjUwJyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYnLyUzZSUzY3JlY3QgeD0nMTkzLjc1JyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzEzNy41JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwYjliZicvJTNlJTNjcmVjdCB4PSc4MS4yNScgeT0nMTM3LjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDBiOWJmJTNib3BhY2l0eTowLjgwMDAwMDAxMTkyMDkyOSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzI1JyB5PScxMzcuNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGI5YmYlM2JvcGFjaXR5OjAuNSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzM2Mi41JyB5PSc4MS4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGM2YmYlM2JvcGFjaXR5OjAuNjk5OTk5OTg4MDc5MDcxJTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMzA2LjI1JyB5PSc4MS4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGM2YmYlM2JvcGFjaXR5OjAuODAwMDAwMDExOTIwOTI5JTNiaXNvbGF0aW9uOmlzb2xhdGUnLyUzZSUzY3JlY3QgeD0nMjUwJyB5PSc4MS4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGM2YmYnLyUzZSUzY3JlY3QgeD0nMTkzLjc1JyB5PSc4MS4yNScgd2lkdGg9JzU2LjI1JyBoZWlnaHQ9JzU2LjI1JyBzdHlsZT0nZmlsbDolMjMwMGM2YmYnLyUzZSUzY3JlY3QgeD0nMTM3LjUnIHk9JzgxLjI1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwYzZiZiUzYm9wYWNpdHk6MC44MDAwMDAwMTE5MjA5MjklM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PSc4MS4yNScgeT0nODEuMjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDBjNmJmJTNib3BhY2l0eTowLjY5OTk5OTk4ODA3OTA3MSUzYmlzb2xhdGlvbjppc29sYXRlJy8lM2UlM2NyZWN0IHg9JzMwNi4yNScgeT0nMjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDBkNGJmJTNib3BhY2l0eTowLjUlM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PScyNTAnIHk9JzI1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwZDRiZiUzYm9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzElM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PScxOTMuNzUnIHk9JzI1JyB3aWR0aD0nNTYuMjUnIGhlaWdodD0nNTYuMjUnIHN0eWxlPSdmaWxsOiUyMzAwZDRiZiUzYm9wYWNpdHk6MC42OTk5OTk5ODgwNzkwNzElM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcmVjdCB4PScxMzcuNScgeT0nMjUnIHdpZHRoPSc1Ni4yNScgaGVpZ2h0PSc1Ni4yNScgc3R5bGU9J2ZpbGw6JTIzMDBkNGJmJTNib3BhY2l0eTowLjUlM2Jpc29sYXRpb246aXNvbGF0ZScvJTNlJTNjcGF0aCBkPSdNMTkwLjg3JTJjMTU4LjZjMzYuMzMlMmMwJTJjNDYuNTIlMmMyNi4wNSUyYzU5LjYlMmMzNC40MSUyYzEyLjExLTguMzYlMmMyMi4yOS0zNC40MSUyYzU5LjU5LTM0LjQxJTJjMzYuMzQlMmMwJTJjNjUuMTglMmMyOS44JTJjNjYlMmM2NyUyYzIuNzglMmM1NC05MC4yNiUyYzEzNS45My0xMjUuNjMlMmMxNTkuMTktMzYuMzQtMjMuMjYtMTI4LjQyLTEwNS4xNi0xMjYuNi0xNTkuMTlDMTI1LjY5JTJjMTg4LjQlMmMxNTMuNTYlMmMxNTguNiUyYzE5MC44NyUyYzE1OC42Wicgc3R5bGU9J2ZpbGw6d2hpdGUnLyUzZSUzYy9zdmclM2UiOiJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPSczMicgaGVpZ2h0PSczMicgdmlld0JveD0nMCAwIDMyIDMyJyByb2xlPSdpbWcnIGFyaWEtaGlkZGVuPSd0cnVlJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00yNCAyOEgyMFYzMkgyNFYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yMCAyOEgxNlYzMkgyMFYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00xNiAyOEgxMlYzMkgxNlYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00xMiAyOEg4VjMySDEyVjI4WicgZmlsbD0nJTIzMDA3NEJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTI4IDI0SDI0VjI4SDI4VjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTI0IDI0SDIwVjI4SDI0VjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIGQ9J00yMCAyNEgxNlYyOEgyMFYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBkPSdNMTYgMjRIMTJWMjhIMTZWMjRaJyBmaWxsPSclMjMwMDgyQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMTIgMjRIOFYyOEgxMlYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J004IDI0SDRWMjhIOFYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00zMiAyMEgyOFYyNEgzMlYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00yOCAyMEgyNFYyNEgyOFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBkPSdNMjQgMjBIMjBWMjRIMjRWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggZD0nTTIwIDIwSDE2VjI0SDIwVjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIGQ9J00xNiAyMEgxMlYyNEgxNlYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBkPSdNMTIgMjBIOFYyNEgxMlYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J004IDIwSDRWMjRIOFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J000IDIwSDBWMjRINFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00zMiAxNkgyOFYyMEgzMlYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMjggMTZIMjRWMjBIMjhWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTI0IDE2SDIwVjIwSDI0VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIGQ9J00yMCAxNkgxNlYyMEgyMFYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMTYgMTZIMTJWMjBIMTZWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTEyIDE2SDhWMjBIMTJWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTggMTZINFYyMEg4VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTQgMTZIMFYyMEg0VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTMyIDEySDI4VjE2SDMyVjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00yOCAxMkgyNFYxNkgyOFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMjQgMTJIMjBWMTZIMjRWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggZD0nTTIwIDEySDE2VjE2SDIwVjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00xNiAxMkgxMlYxNkgxNlYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMTIgMTJIOFYxNkgxMlYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNOCAxMkg0VjE2SDhWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNNCAxMkgwVjE2SDRWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMzIgOEgyOFYxMkgzMlY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTI4IDhIMjRWMTJIMjhWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBkPSdNMjQgOEgyMFYxMkgyNFY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIGQ9J00yMCA4SDE2VjEySDIwVjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggZD0nTTE2IDhIMTJWMTJIMTZWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBkPSdNMTIgOEg4VjEySDEyVjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNOCA4SDRWMTJIOFY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTQgOEgwVjEySDRWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yOCA0SDI0VjhIMjhWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00yNCA0SDIwVjhIMjRWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBkPSdNMjAgNEgxNlY4SDIwVjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggZD0nTTE2IDRIMTJWOEgxNlY0WicgZmlsbD0nJTIzMDBDNkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTEyIDRIOFY4SDEyVjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNOCA0SDRWOEg4VjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMjQgMEgyMFY0SDI0VjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMjAgMEgxNlY0SDIwVjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMTYgMEgxMlY0SDE2VjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMTIgMEg4VjRIMTJWMFonIGZpbGw9JyUyMzAwRDRCRicvJTNlJTNjcGF0aCBkPSdNMTAuNTE0MSAxNC45Njk3TDExLjYzNzkgMTIuNDU3MkMxMi4wNDU5IDExLjgxMjkgMTEuOTk1OCAxMS4wMjU1IDExLjU0NDkgMTAuNTc0NUMxMS40ODc2IDEwLjUxNzMgMTEuNDE2IDEwLjQ2IDExLjM0NDQgMTAuNDE3MUMxMS4wMzY2IDEwLjIyMzggMTAuNjU3MiAxMC4xODA4IDEwLjMwNjUgMTAuMjk1NEM5LjkxOTkzIDEwLjQxNzEgOS41ODM0OSAxMC42NzQ4IDkuMzY4NzUgMTEuMDE4NEM5LjM2ODc1IDExLjAxODQgNy44Mjk3MiAxNC42MDQ2IDcuMjY0MjEgMTYuMjE1M0M2LjY5ODcxIDE3LjgyNTkgNi45MjA2MiAyMC43ODIyIDkuMTI1MzYgMjIuOTg3QzExLjQ2NjEgMjUuMzI3NyAxNC44NDQ4IDI1Ljg1NzUgMTcuMDA2NiAyNC4yMzk3QzE3LjA5OTcgMjQuMTk2NyAxNy4xNzg0IDI0LjEzOTUgMTcuMjU3MiAyNC4wNzUxTDIzLjkwNzIgMTguNTIwMkMyNC4yMjkzIDE4LjI1NTQgMjQuNzA4OSAxNy43MDQyIDI0LjI3OTQgMTcuMDc0M0MyMy44NjQyIDE2LjQ1ODYgMjMuMDY5NyAxNi44ODEgMjIuNzQwNCAxNy4wODg2TDE4LjkxMDcgMTkuODczMUMxOC44MzkxIDE5LjkzMDQgMTguNzMxOCAxOS45MjMyIDE4LjY2NzMgMTkuODUxN0MxOC42NjczIDE5Ljg1MTcgMTguNjY3MyAxOS44NDQ1IDE4LjY2MDIgMTkuODQ0NUMxOC41NiAxOS43MjI4IDE4LjU0NTYgMTkuNDA3OSAxOC42OTYgMTkuMjg2MkwyNC41NjU3IDE0LjMwNEMyNS4wNzQgMTMuODQ1OSAyNS4xNDU2IDEzLjE4MDIgMjQuNzMwNCAxMi43MjkyQzI0LjMyOTUgMTIuMjg1NCAyMy42OTI0IDEyLjI5OTcgMjMuMTg0MiAxMi43NTc4TDE3LjkxNTcgMTYuODgxQzE3LjgxNTUgMTYuOTU5NyAxNy42NjUyIDE2Ljk0NTQgMTcuNTg2NCAxNi44NDUyTDE3LjU3OTMgMTYuODM4QzE3LjQ3MTkgMTYuNzIzNSAxNy40MzYxIDE2LjUyMzEgMTcuNTUwNiAxNi40MDE0TDIzLjUzNSAxMC41OTZDMjQuMDA3NCAxMC4xNTIyIDI0LjAzNiA5LjQxNDkgMjMuNTkyMiA4Ljk0MjQ1QzIzLjM3NzUgOC43MjA1NCAyMy4wODQgOC41OTE2OSAyMi43NzYyIDguNTkxNjlDMjIuNDYxMiA4LjU5MTY5IDIyLjE2MDYgOC43MDYyMyAyMS45Mzg3IDguOTI4MTNMMTUuODI1NSAxNC42NjkxQzE1LjY4MjMgMTQuODEyMiAxNS4zOTYgMTQuNjY5MSAxNS4zNjAyIDE0LjQ5NzNDMTUuMzQ1OSAxNC40MzI4IDE1LjM2NzQgMTQuMzY4NCAxNS40MTAzIDE0LjMyNTVMMjAuMDkxOCA4Ljk5OTcyQzIwLjU1NzEgOC41NjMwNiAyMC41ODU4IDcuODMyOTIgMjAuMTQ5MSA3LjM2NzYzQzE5LjcxMjQgNi45MDIzNCAxOC45ODIzIDYuODczNzEgMTguNTE3IDcuMzEwMzZDMTguNDk1NSA3LjMyNDY4IDE4LjQ4MTIgNy4zNDYxNSAxOC40NTk3IDcuMzY3NjNMMTEuMzY1OSAxNS4yMjAzQzExLjEwODIgMTUuNDc4IDEwLjczNiAxNS40ODUxIDEwLjU1NyAxNS4zNDJDMTAuNDQyNSAxNS4yNDg5IDEwLjQyODIgMTUuMDg0MyAxMC41MTQxIDE0Ljk2OTdaJyBmaWxsPSd3aGl0ZScvJTNlJTNjL3N2ZyUzZSIsaT0iaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tL2NhcHRjaGEvdjEvNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZS9zdGF0aWMvaW1hZ2VzIisodGhpcy5jaGFyaXR5PyIvaWNvbi1jaGFyaXR5IjoiL2ljb24iKSsiLnBuZyI7dGhpcy5jb2xvcj10aGlzLmluaXRDb21wb25lbnQodW4se3NlbGVjdG9yOiIubG9nbyIsc3JjOmUsd2lkdGg6MzIsZmFsbGJhY2s6aSxhdXRvTG9hZDohMX0pfWZ1bmN0aW9uIFpvKHQpe3ZhciBlPXQucGFsZXR0ZSxpPXQuY29tcG9uZW50O3JldHVybiBvbi5tZXJnZSh7Zm9jdXM6e291dGxpbmU6ZS5wcmltYXJ5Lm1haW59fSxpLmxvZ28pfWZ1bmN0aW9uIElvKHQpe3hlLnNlbGYodGhpcyxfZSwiaGNhcHRjaGEtbG9nbyIsImEiKSx0fHwodD17fSksdGhpcy5fdGhlbWU9dC50aGVtZXx8c24sdGhpcy5zdGF0ZT17bGFiZWw6ImhDYXB0Y2hhIixhcmlhTGFiZWw6ImhDYXB0Y2hhIGxvZ28sIG9wZW5zIG5ldyB3aW5kb3cgd2l0aCBtb3JlIGluZm9ybWF0aW9uIixzdHlsZTpabyh0aGlzLl90aGVtZS5nZXQoKSl9LHRoaXMucGFkZGluZz0xLjUsdGhpcy5tb2JpbGU9ITEsdGhpcy5saW5rPSJodHRwczovL3d3dy5oY2FwdGNoYS5jb20vd2hhdC1pcy1oY2FwdGNoYS1hYm91dD9yZWY9IitjdC5ob3N0KyImdXRtX2NhbXBhaWduPSIrY3Quc2l0ZWtleSsiJnV0bV9tZWRpdW09Y2hhbGxlbmdlJmhsPSIrTWUuZ2V0TG9jYWxlKCksdGhpcy5pY29uPXRoaXMuaW5pdENvbXBvbmVudChObywhIXQuY2hhcml0eSksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuc2V0QXR0cmlidXRlKCJyb2xlIiwiYnV0dG9uIiksdGhpcy5zZXRBdHRyaWJ1dGUoInRhcmdldCIsIl9ibGFuayIpLHRoaXMuc2V0QXR0cmlidXRlKCJocmVmIix0aGlzLmxpbmspLHRoaXMub25Gb2N1cz10aGlzLm9uRm9jdXMuYmluZCh0aGlzKSx0aGlzLm9uQmx1cj10aGlzLm9uQmx1ci5iaW5kKHRoaXMpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMub25Gb2N1cyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLm9uQmx1cil9eGUucHJvdG8oTm8sX2UpLE5vLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKCl7dGhpcy5jb2xvci5sb2FkKCl9LE5vLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0KXt0aGlzLm1vYmlsZT10O3ZhciBlPTMyLGk9dGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQucGFkZGluZ3x8MDtyZXR1cm4gdGhpcy5jc3Moe3dpZHRoOmUsaGVpZ2h0OmUscG9zaXRpb246ImFic29sdXRlIix0b3A6aSxsZWZ0Oml9KSx0aGlzLmNvbG9yLmNzcyh7Ii1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdCI6Im5vbmUiLHdpZHRoOmUsaGVpZ2h0OmUscG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsekluZGV4OjV9KSx7d2lkdGg6ZSxoZWlnaHQ6ZX19LHhlLnByb3RvKElvLF9lKSxJby5wcm90b3R5cGUubG9hZD1mdW5jdGlvbigpe3RoaXMuaWNvbi5sb2FkKCl9LElvLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbigpe3RoaXMuZG9tLmZvY3VzKCl9LElvLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbih0LGUpe3QhPT11bmRlZmluZWQmJih0aGlzLm1vYmlsZT10KTt2YXIgaT10aGlzLmljb24uc3R5bGUodGhpcy5tb2JpbGUpLG49Mip0aGlzLnBhZGRpbmc7dGhpcy5jc3Moe2Rpc3BsYXk6ZT8iYmxvY2siOiJub25lIix3aWR0aDppLndpZHRoK24saGVpZ2h0OmkuaGVpZ2h0K24sbGVmdDoiNTAlIixtYXJnaW5MZWZ0Oi1pLndpZHRoLzIsY3Vyc29yOiJwb2ludGVyIixwb3NpdGlvbjoiYWJzb2x1dGUiLGJvcmRlclJhZGl1czo0fSksdGhpcy5oZWlnaHQ9aS5oZWlnaHR9LElvLnByb3RvdHlwZS5vbkZvY3VzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zdGF0ZS5zdHlsZS5mb2N1cy5vdXRsaW5lO3RoaXMuY3NzKHtvdXRsaW5lOiIycHggc29saWQgIit0fSl9LElvLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24oKXt0aGlzLmNzcyh7b3V0bGluZToibm9uZSJ9KX0sSW8ucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc3RhdGUuYXJpYUxhYmVsO3RoaXMuc2V0QXR0cmlidXRlKCJ0aXRsZSIsTWUudHJhbnNsYXRlKHQpKSx0aGlzLnNldEF0dHJpYnV0ZSgiaHJlZiIsdGhpcy5saW5rLnNwbGl0KCImaGw9IilbMF0rIiZobD0iK01lLmdldExvY2FsZSgpKX07dmFyIGpvPVt7dGV4dDoiQWNjZXNzaWJpbGl0eSBDb29raWUiLGxhYmVsOiJBY2Nlc3NpYmlsaXR5OiBSZXRyaWV2ZSBDb29raWUiLHZhbHVlOiJhY2Nlc3NpYmlsaXR5IixzZWxlY3RvcjoiI2FjY2Vzc2liaWxpdHkiLHR5cGU6Im1vZGFsIn0se3RleHQ6IlJlcG9ydCBJbWFnZSIsbGFiZWw6IlJlcG9ydCBJbWFnZSIsdmFsdWU6InJlcG9ydF9pbWFnZSIsc2VsZWN0b3I6IiNyZXBvcnRfaW1hZ2UiLHR5cGU6ImN1c3RvbSIsd2FybjohMH0se3RleHQ6IlJlcG9ydCBCdWciLGxhYmVsOiJSZXBvcnQgQnVnIix2YWx1ZToicmVwb3J0X2J1ZyIsc2VsZWN0b3I6IiNyZXBvcnRfYnVnIix0eXBlOiJtb2RhbCJ9LHt0ZXh0OiJJbmZvcm1hdGlvbiIsbGFiZWw6IkluZm9ybWF0aW9uIix2YWx1ZToiaW5mbyIsc2VsZWN0b3I6IiNpbmZvIix0eXBlOiJtb2RhbCJ9LHt0ZXh0OiJDbG9zZSIsbGFiZWw6IkNsb3NlIix2YWx1ZToiY2xvc2UiLHNlbGVjdG9yOiIjY2xvc2UiLHR5cGU6ImFjdGlvbiJ9XSx6bz17dmlzdWFsX2NoYWxsZW5nZTp7dGV4dDoiVmlzdWFsIENoYWxsZW5nZSIsbGFiZWw6IlZpc3VhbCBDaGFsbGVuZ2UiLHZhbHVlOiJ2aXN1YWxfY2hhbGxlbmdlIixzZWxlY3RvcjoiI3Zpc3VhbF9jaGFsbGVuZ2UiLHR5cGU6ImNoYWxsZW5nZSJ9LHRleHRfY2hhbGxlbmdlOnt0ZXh0OiJBY2Nlc3NpYmlsaXR5IENoYWxsZW5nZSIsbGFiZWw6IkFjY2Vzc2liaWxpdHk6IFRleHQgQ2hhbGxlbmdlIix2YWx1ZToidGV4dF9jaGFsbGVuZ2UiLHNlbGVjdG9yOiIjdGV4dF9jaGFsbGVuZ2UiLHR5cGU6ImNoYWxsZW5nZSJ9fTtmdW5jdGlvbiBLbygpe3hlLnNlbGYodGhpcyxMbix7aXNNZW51OiEwLHRoZW1lOnNuLHNlbGVjdG9yOiIjbWVudSIsb3B0aW9uc1Zpc2libGU6LTF9KSx0aGlzLndpZHRoPTI1MCx0aGlzLnN0YXRlLmExMXlDaGFsbGVuZ2U9ITEsdGhpcy5vcHRpb25zPVtdLHRoaXMub24oInNlbGVjdCIsKGZ1bmN0aW9uKHQpe3QmJigibGluayI9PT10LnR5cGU/SWkodC52YWx1ZSk6Im1vZGFsIj09PXQudHlwZT90aGlzLmVtaXQoImRpc3BsYXkiLHQudmFsdWUpOiJjaGFsbGVuZ2UiPT09dC50eXBlPygidGV4dF9jaGFsbGVuZ2UiPT09dC52YWx1ZSYmKGN0LmExMXlfdGZlPSEwLHRoaXMuZW1pdCgicmVmcmVzaCIpKSwidmlzdWFsX2NoYWxsZW5nZSI9PT10LnZhbHVlJiYoY3QuYTExeV90ZmU9ITEsdGhpcy5lbWl0KCJyZWZyZXNoIikpKToiYWN0aW9uIj09PXQudHlwZSYmImNsb3NlIj09PXQudmFsdWUmJnRoaXMuZW1pdCgiaGlkZSIpKX0pKSwiYW5kcm9pZCI9PT10dC5TeXN0ZW0ub3MmJih0aGlzLl9zZXRPcHRpb25zKCEwKSx0aGlzLmRlc2VsZWN0KCksdGhpcy5zZXRJbml0aWFsQTExWVN0YXRlKCkpfWZ1bmN0aW9uIFlvKCl7eGUuc2VsZih0aGlzLF9lLCJpbnRlcmZhY2UtdXNlciIpO3ZhciB0PXRoaXM7dGhpcy5zdGF0ZT17aXNScTohMSxsb2FkZWQ6ITEsbG9ja2VkOiExLHZpc2libGU6ITEsd2hpdGVMYWJlbDohMX0sdGhpcy5sYW5ndWFnZT10aGlzLmluaXRDb21wb25lbnQoRG8pLHRoaXMubWVudT10aGlzLmluaXRDb21wb25lbnQoTW8pLHRoaXMubWVudUxpc3Q9dGhpcy5pbml0Q29tcG9uZW50KEtvKSx0aGlzLnJlZnJlc2g9dGhpcy5pbml0Q29tcG9uZW50KFdvKSx0aGlzLmxvZ289dGhpcy5pbml0Q29tcG9uZW50KElvKSx0aGlzLm1lbnUuY29udHJvbHNNZW51KHRoaXMubWVudUxpc3QpLHRoaXMubWVudS5vbigiY2xpY2siLChmdW5jdGlvbihlKXt0Lm1lbnVMaXN0LnVzaW5nS2IoZS51c2luZ0tiKSx0Lm1lbnVMaXN0LnZpc2libGUoZS5zZWxlY3RlZCx0LnN0YXRlLmlzUnEpLHQubWVudS5zdGF0ZS52aXNpYmxlJiZ0Lm1lbnVMaXN0LmRvbS5jaGlsZHJlbiYmdC5tZW51TGlzdC5kb20uY2hpbGRyZW5bMF0mJnQubWVudUxpc3QuZG9tLmNoaWxkcmVuWzBdLmZvY3VzKCl9KSksdGhpcy5tZW51TGlzdC5vbigiaGlkZSIsKGZ1bmN0aW9uKCl7dC5tZW51LnJlc2V0KCl9KSksdGhpcy5tZW51TGlzdC5vbigiYmx1ciIsKGZ1bmN0aW9uKCl7dC5tZW51LmZvY3VzKCl9KSksdGhpcy5yZWZyZXNoLm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7dC5lbWl0KCJyZWZyZXNoIil9KSksdGhpcy5tZW51TGlzdC5vbigic2VsZWN0IiwoZnVuY3Rpb24oZSl7ZSYmInJlcG9ydF9pbWFnZSI9PT1lLnZhbHVlJiZ0LmVtaXQoInJlcG9ydCIpfSkpLHRoaXMubWVudUxpc3Qub24oInJlZnJlc2giLChmdW5jdGlvbigpe3QucmVmcmVzaC5kb20uY2xpY2soKX0pKSx0aGlzLm1lbnVMaXN0Lm9uKCJkaXNwbGF5IiwoZnVuY3Rpb24oZSl7dC5lbWl0KCJkaXNwbGF5IixlKX0pKX14ZS5wcm90byhLbyxMbiksS28ucHJvdG90eXBlLnNldEExMXlDaGFsbGVuZ2U9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5hMTF5Q2hhbGxlbmdlPXR9LEtvLnByb3RvdHlwZS5fc2V0T3B0aW9ucz1mdW5jdGlvbih0KXt2YXIgZSxpPSJtZmEiPT09Y3QuY2hhbGxlbmdlX3R5cGU7dGhpcy5vcHRpb25zPVtdO3ZhciBuPXR0LlN5c3RlbS5tb2JpbGU/am8ubGVuZ3RoOmpvLmxlbmd0aC0xO2ZvcihlPTA7ZTxuO2UrKykicmVwb3J0X2ltYWdlIj09PWpvW2VdLnZhbHVlJiYodHx8aSl8fCJhY2Nlc3NpYmlsaXR5Ij09PWpvW2VdLnZhbHVlJiZpfHx0aGlzLm9wdGlvbnMucHVzaChqb1tlXSk7dGhpcy5zdGF0ZS5hMTF5Q2hhbGxlbmdlJiZ0aGlzLm9wdGlvbnMuc3BsaWNlKDEsMCxjdC5hMTF5X3RmZT96by52aXN1YWxfY2hhbGxlbmdlOnpvLnRleHRfY2hhbGxlbmdlKSx0aGlzLnN0eWxlKHRoaXMud2lkdGgpLHRoaXMuc2V0T3B0aW9ucyh0aGlzLm9wdGlvbnMpfSxLby5wcm90b3R5cGUudmlzaWJsZT1mdW5jdGlvbih0LGUpe3Q/KHRoaXMuX3NldE9wdGlvbnMoZSksdGhpcy5kZXNlbGVjdCgpLHRoaXMub3BlbigpKTp0aGlzLmhpZGUoKX0seGUucHJvdG8oWW8sX2UpLFlvLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoLmRvbS5jbGljaygpfSxZby5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLm1lbnUuc3RhdGUudmlzaWJsZSYmdGhpcy5tZW51TGlzdC52aXNpYmxlKCExKX0sWW8ucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS5pc1JxPXQsdGhpcy5zdGF0ZS5sb2FkZWR8fCh0aGlzLm1lbnUubG9hZCgpLHRoaXMucmVmcmVzaC5sb2FkKCksdGhpcy5sb2dvLmxvYWQoKSl9LFlvLnByb3RvdHlwZS5zZXR1cExvZ289ZnVuY3Rpb24odCxlKXt0JiYodGhpcy5sb2dvLmRlc3Ryb3koKSx0aGlzLmxvZ289dGhpcy5pbml0Q29tcG9uZW50KElvLHtjaGFyaXR5OnQsdGhlbWU6c259KSx0aGlzLmxvZ28ubG9hZCgpKSx0aGlzLmxvZ28ubGluaz1lfHx0aGlzLmxvZ28ubGlua30sWW8ucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj0ibGFuZHNjYXBlIj09PWN0Lm9yaWVudGF0aW9uJiYoImltYWdlX2xhYmVsX2JpbmFyeSI9PT1jdC5jaGFsbGVuZ2VfdHlwZXx8ImltYWdlX2xhYmVsX2FyZWFfc2VsZWN0Ij09PWN0LmNoYWxsZW5nZV90eXBlfHwiaW1hZ2VfZHJhZ19kcm9wIj09PWN0LmNoYWxsZW5nZV90eXBlfHwibWZhIj09PWN0LmNoYWxsZW5nZV90eXBlKSxvPSF0aGlzLnN0YXRlLndoaXRlTGFiZWwscj0hdGhpcy5zdGF0ZS53aGl0ZUxhYmVsLHM9TWUuaXNSVEwoKTtpZih0aGlzLmxhbmd1YWdlLnN0eWxlKGkpLHRoaXMucmVmcmVzaC5zdHlsZShpKSx0aGlzLm1lbnUuc3R5bGUoaSxvKSx0aGlzLmxvZ28uc3R5bGUodDw0MDAsciksbil7dmFyIGE9dGhpcy5sYW5ndWFnZS5nZXREaW1lbnNpb25zKCksbD0oZS0odGhpcy5yZWZyZXNoLmdldEhlaWdodCgpKzE2K2EuaGVpZ2h0KSkvMjt0aGlzLmxhbmd1YWdlLmNzcyh7dG9wOmwsbGVmdDoodC1hLndpZHRoKS8yLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSx0aGlzLnJlZnJlc2guY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDpsKzE2K2EuaGVpZ2h0LGJvdHRvbToiYXV0byIsbGVmdDpvPyh0LXRoaXMucmVmcmVzaC5nZXRXaWR0aCgpKS8yOjAsekluZGV4OjkwfSksdGhpcy5tZW51LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixib3R0b206MCx6SW5kZXg6OTB9KSx0aGlzLm1lbnVMaXN0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIix6SW5kZXg6MWUzLGJvdHRvbTowfSkscz8odGhpcy5tZW51LmNzcyh7cmlnaHQ6KHQtdGhpcy5tZW51LmdldFdpZHRoKCkpLzJ9KSx0aGlzLm1lbnVMaXN0LmNzcyh7cmlnaHQ6dGhpcy5tZW51LmdldFdpZHRoKCkrMTB9KSk6KHRoaXMubWVudS5jc3Moe2xlZnQ6KHQtdGhpcy5tZW51LmdldFdpZHRoKCkpLzJ9KSx0aGlzLm1lbnVMaXN0LmNzcyh7bGVmdDp0aGlzLm1lbnUuZ2V0V2lkdGgoKSsxMH0pKSx0aGlzLmxvZ28uY3NzKHt0b3A6MCxib3R0b206ImF1dG8ifSl9ZWxzZSB0aGlzLmxhbmd1YWdlLmNzcyh7dG9wOjAscG9zaXRpb246ImFic29sdXRlIn0pLHRoaXMucmVmcmVzaC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiJhdXRvIixib3R0b206KDQwLXRoaXMubWVudS5nZXRIZWlnaHQoKSkvMix6SW5kZXg6MTAwfSksdGhpcy5tZW51LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixib3R0b206KDQwLXRoaXMubWVudS5nZXRIZWlnaHQoKSkvMix6SW5kZXg6MTAwfSksdGhpcy5tZW51TGlzdC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsekluZGV4OjFlMyxib3R0b206dGhpcy5tZW51LmdldEhlaWdodCgpKzEwfSkscz8odGhpcy5sYW5ndWFnZS5jc3Moe3JpZ2h0OjB9KSx0aGlzLnJlZnJlc2guY3NzKHtyaWdodDpvP3RoaXMubWVudS5nZXRXaWR0aCgpKzEwOjB9KSx0aGlzLm1lbnUuY3NzKHtyaWdodDowfSksdGhpcy5tZW51TGlzdC5jc3Moe3JpZ2h0OjB9KSk6KHRoaXMubGFuZ3VhZ2UuY3NzKHtsZWZ0OjB9KSx0aGlzLnJlZnJlc2guY3NzKHtsZWZ0Om8/dGhpcy5tZW51LmdldFdpZHRoKCkrMTA6MH0pLHRoaXMubWVudS5jc3Moe2xlZnQ6MH0pLHRoaXMubWVudUxpc3QuY3NzKHtsZWZ0OjB9KSksdGhpcy5sb2dvLmNzcyh7dG9wOiJhdXRvIixib3R0b206KDQwLXRoaXMubG9nby5oZWlnaHQpLzJ9KTtyZXR1cm4gdGhpcy5jc3Moe3dpZHRoOnQsaGVpZ2h0OmV9KSx7d2lkdGg6dCxoZWlnaHQ6ZX19LFlvLnByb3RvdHlwZS5mb2N1cz1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJtZW51Ijp0aGlzLm1lbnUuZm9jdXMoKTticmVhaztjYXNlImxhbmd1YWdlIjp0aGlzLmxhbmd1YWdlLmZvY3VzKCk7YnJlYWs7Y2FzZSJsb2dvIjp0aGlzLmxvZ28uZm9jdXMoKTticmVhaztkZWZhdWx0OnJldHVybn19LFlvLnByb3RvdHlwZS5kaXNwbGF5TGFuZ3VhZ2U9ZnVuY3Rpb24odCl7dGhpcy5sYW5ndWFnZS5zZXRWaXNpYmxlKHQpfSxZby5wcm90b3R5cGUuc2V0V2hpdGVMYWJlbD1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLndoaXRlTGFiZWw9dH0sWW8ucHJvdG90eXBlLmVuYWJsZVJlZnJlc2g9ZnVuY3Rpb24odCl7dGhpcy5yZWZyZXNoLmVuYWJsZSh0KX0sWW8ucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe3RoaXMubGFuZ3VhZ2UudXBkYXRlTG9jYWxlKCksdGhpcy5sYW5ndWFnZS5zZXRMYWJlbCgpLHRoaXMubWVudS5zZXRDb3B5KCksdGhpcy5yZWZyZXNoLnNldENvcHkoKSx0aGlzLmxvZ28udHJhbnNsYXRlKCksTWUuc2V0RGlyZWN0aW9uKHRoaXMsTWUuZ2V0TG9jYWxlKCkpfSxZby5wcm90b3R5cGUuc2V0TG9jaz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvY2tlZD10LHRoaXMubGFuZ3VhZ2Uuc2V0TG9jayh0KSx0aGlzLm1lbnUuc2V0TG9jayh0KSx0aGlzLnJlZnJlc2guc2V0TG9jayh0KX0sWW8ucHJvdG90eXBlLmlzTG9ja2VkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUubG9ja2VkfTt2YXIgSm89bnVsbDtmdW5jdGlvbiBHbyh0LGUpe3ZhciBpPXRoaXM7ZXx8KGU9e30pLGN0Lmhvc3Q9ZS5ob3N0P2UuaG9zdDoiIixjdC5zaXRla2V5PWUuc2l0ZWtleT9lLnNpdGVrZXk6IiIsY3QuY2hhcml0eT0hIWUuY2hhcml0eSxjdC5vcmllbnRhdGlvbj1lLm9yaWVudGF0aW9uO3ZhciBuPW5ldyBMaSxvPXt2aXNpYmxlOiExLGNyZWF0ZTohMSxsb2NrZWQ6ITEsZXhwaXJhdGlvbjpudWxsLHRpbWVyOm51bGwsdGltZXJFeHBpcmVkOiExLHByZXZlbnRDbG9zZTohMSxmb2N1czoiY2hhbGxlbmdlIixpbnRlcmFjdGlvbjoibW91c2UifSxyPW51bGw7dCBpbnN0YW5jZW9mIGtlfHwodD1uZXcga2UodCkpO3ZhciBzPW5ldyBrZSgiLmludGVyZmFjZS13cmFwcGVyIiksYT1uZXcgUm8sbD1uZXcgSG8sYz1uZXcgWW8saD1uZXcgU287ZnVuY3Rpb24gdSh0KXtpZigibWZhIiE9PWN0LmNoYWxsZW5nZV90eXBlfHw5IT09dC5rZXlOdW0pcmV0dXJuITE7dmFyIGU9IXQuc2hpZnRLZXksbj10LnNoaWZ0S2V5O3JldHVybiB0LnRhcmdldD09PWwuc3VibWl0LmRvbT8oZT9jLmZvY3VzKCJsYW5ndWFnZSIpOm4mJmkuZm9jdXMoLTEpLHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLCEwKTp0LnRhcmdldD09PWMubG9nby5kb20mJmU/KGkuZm9jdXMoMCksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksITApOiEodC50YXJnZXQhPT1jLmxhbmd1YWdlLmdldEFjdGlvbmFibGVEb21FbGVtZW50KCl8fCFuKSYmKGwuc3VibWl0LmZvY3VzKCksdC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksITApfXJldHVybiBmdW5jdGlvbigpe3RyeXshZnVuY3Rpb24oKXt0LmFwcGVuZEVsZW1lbnQocykscy5hcHBlbmRFbGVtZW50KGEpLHMuYXBwZW5kRWxlbWVudChjKSxzLmFwcGVuZEVsZW1lbnQobCkscy5hcHBlbmRFbGVtZW50KGgpLGMub24oImRpc3BsYXkiLGguZGlzcGxheSksYS5vbigib3Blbi1tb2RhbCIsaC5kaXNwbGF5KSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKSxlPWgsWmk9ZTt2YXIgZTt0cnl7X2koMil9Y2F0Y2goZHMpe1V0KCJ2bSIsZHMpfX0oKSxoLm9uKCJvcGVuIiwoZnVuY3Rpb24oKXtvLnByZXZlbnRDbG9zZT0hMH0pKSxoLm9uKCJjbG9zZSIsKGZ1bmN0aW9uKHQpe28udmlzaWJsZSYmYy5tZW51LmZvY3VzKCksaS5oaWRlUmVwb3J0KCExKSxvLnByZXZlbnRDbG9zZSYmKG8ucHJldmVudENsb3NlPSExLG8udGltZXJFeHBpcmVkJiYoby50aW1lckV4cGlyZWQ9ITEsbi5lbWl0KCJyZWZyZXNoIikpKX0pKSxhLm9uKCJhY3Rpb24tY2hhbmdlZCIsKGZ1bmN0aW9uKHQpe2wuc2V0QWN0aW9uKHQpfSkpLGEub24oImFjdGlvbi1sb2NrZWQiLChmdW5jdGlvbih0KXtsLnNldExvY2sodCl9KSksYS5vbigic3VibWl0IiwoZnVuY3Rpb24oKXtuLmVtaXQoInN1Ym1pdCIpfSkpLGEub24oImZvY3VzLWZyYW1lLWVsZW1lbnQiLChmdW5jdGlvbih0KXsibG9nbyI9PT10P2MuZm9jdXMoImxvZ28iKTpuLmVtaXQoImZvY3VzLWNoZWNrIil9KSksYS5vbigiZm9jdXMtY2hlY2siLChmdW5jdGlvbigpe24uZW1pdCgiZm9jdXMtY2hlY2siKX0pKSxhLm9uKCJyZXNpemUiLChmdW5jdGlvbigpe24uZW1pdCgicmVzaXplIil9KSksYS5vbigicmVzZXQtZXhwaXJhdGlvbiIsKGZ1bmN0aW9uKCl7aS5zZXRDaGFsbGVuZ2VSZWplY3RUaW1lb3V0KCl9KSksbC5vbigic3VibWl0IiwoZnVuY3Rpb24oKXtuLmVtaXQoInN1Ym1pdCIpLGMuY2xvc2UoKX0pKSxjLm9uKCJyZWZyZXNoIiwoZnVuY3Rpb24oKXtuLmVtaXQoInJlZnJlc2giKSxjLmNsb3NlKCl9KSksYy5vbigicmVwb3J0IiwoZnVuY3Rpb24oKXtuLmVtaXQoInJlcG9ydCIpfSkpLGgub24oInJlcG9ydCIsKGZ1bmN0aW9uKHQpe24uZW1pdCgicmVwb3J0LXN1Ym1pc3Npb24iLHQpfSkpLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGZ1bmN0aW9uKHQpe28uaW50ZXJhY3Rpb249ImtleWJvYXJkIn0pKSxzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24odCl7by5pbnRlcmFjdGlvbj0ibW91c2UifSkpLGwuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSksYy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix1KX1jYXRjaChkcyl7VXQoImNoYWxsZW5nZSIsZHMpfX0oKSxpLmV2ZW50cz1uLGkuYWRkVGhlbWU9ZnVuY3Rpb24odCxlKXtzbi5hZGQodCxlKX0saS51c2VUaGVtZT1mdW5jdGlvbih0KXtzbi51c2UodCl9LGkuc2l6ZT1mdW5jdGlvbih0LGUpe3JldHVybiBpLnN0eWxlKHQsZSl9LGkuY3JlYXRlPWZ1bmN0aW9uKHQpe28uY3JlYXRlPSEwLGMubG9hZCghIXQucnEpLGMuZGlzcGxheUxhbmd1YWdlKCF0LnJxKSxjLmVuYWJsZVJlZnJlc2goIXQucnEpfSxpLmlzTW91bnRlZD1mdW5jdGlvbigpe3JldHVybiEhSm99LGkuaW5pdD1mdW5jdGlvbih0KXt2YXIgZT10LmNoYXJpdHkmJiEwPT09dC5jaGFyaXR5O2Muc2V0dXBMb2dvKGUsdC5saW5rKSx0LmExMXlDaGFsbGVuZ2UmJmMubWVudUxpc3Quc2V0QTExeUNoYWxsZW5nZSh0LmExMXlDaGFsbGVuZ2UpLCJrZXlkb3duIj09PXQuYWN0aW9uJiYoby5pbnRlcmFjdGlvbj0ia2V5Ym9hcmQiLGMubWVudS5vbkZvY3VzKCkpfSxpLnNldFdoaXRlTGFiZWw9ZnVuY3Rpb24odCl7Yy5zZXRXaGl0ZUxhYmVsKHQpfSxpLnNldHVwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLG4pe3RyeXtKbyYmSm8udHlwZSE9PWUucmVxdWVzdF90eXBlJiYoYS51bm1vdW50KEpvKSxKbz1udWxsKSxKb3x8KGN0LmNoYWxsZW5nZV90eXBlPWUucmVxdWVzdF90eXBlLEpvPW5ldyB0KHt0aGVtZTp7bmFtZTpzbi5hY3RpdmUoKSxjb25maWc6c24uZ2V0KCl9fSksYS5tb3VudChKbykpLGwucmVtb3ZlQ3J1bWJzKCksSm8uc2V0dXAoZSxjdC5vcmllbnRhdGlvbikudGhlbihpKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7dmFyIGU9dDt0IGluc3RhbmNlb2YgRXJyb3ImJihlPXtldmVudDppdC5DSEFMTEVOR0VfRVJST1IsbWVzc2FnZToiQ2hhbGxlbmdlIGVuY291bnRlcmVkIGFuIGVycm9yIGR1cmluZyBzZXR1cC4iLHJlYXNvbjp0LnRvU3RyaW5nKCl9KSxuKGUpfSkpLEpvLmJyZWFkY3J1bWJzJiYibnVtYmVyIj09dHlwZW9mIEpvLmJyZWFkY3J1bWJzJiZKby5icmVhZGNydW1icz4xJiYobC5icmVhZGNydW1icy5jcmVhdGVDcnVtYnMoSm8uYnJlYWRjcnVtYnMpLGwuYnJlYWRjcnVtYnMuc2V0SW5kZXgoSm8uc2VydmVkKSl9Y2F0Y2goZHMpe2EuaXNNb3VudGVkfHwoSm89bnVsbCksbih7ZXZlbnQ6aXQuQ0hBTExFTkdFX0VSUk9SLG1lc3NhZ2U6IkNyZWF0aW5nIGNoYWxsZW5nZSBmYWlsZWQuIixyZWFzb246ZHMudG9TdHJpbmcoKX0pfX0pKX0saS5zaG93PWZ1bmN0aW9uKGUpe2lmKCFvLmNyZWF0ZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKGV0LkNIQUxMRU5HRV9BTFJFQURZX0NMT1NFRCkpO28udmlzaWJsZT0hMCxvLmV4cGlyYXRpb249ZS5leHBpcmF0aW9uLHQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpO3RyeXt2YXIgbj1EYXRlLm5vdygpO1ZpLnJlc2V0RGF0YSgpLFZpLnJlY29yZCghMCwhMCwhMCwhMSksVmkuc2V0RGF0YSgiZGN0IixuKSxFaShjdC5zaXRla2V5KXx8KHdpLnJlc2V0RGF0YSgpLHdpLnJlY29yZCh7MTohMCwyOiEwLDM6ITAsNDohMX0pLHdpLnNldERhdGEoImRjdCIsRGF0ZS5ub3coKSkpfWNhdGNoKGRzKXtCdCgiU2V0IE1EIEZhaWxlZCIsImVycm9yIiwiY2hhbGxlbmdlIixkcyl9dmFyIHM9aS5zZXR1cChlLmJ1bmRsZSxlLmJ1bmRsZURhdGEpLGE9aS5zdHlsZShlLndpZHRoLGUuaGVpZ2h0KS50aGVuKChmdW5jdGlvbihuKXtvLnZpc2libGUmJihsLnNldExvY2soITEpLGMuc2V0TG9jayghMSksIm1mYSI9PT1lLmNoYWxsZW5nZVR5cGUmJmMubWVudS5vbkJsdXIoKSxOaS5jb250YWN0KCJjaGFsbGVuZ2UtcmVhZHkiLG4pLnRoZW4oKGZ1bmN0aW9uKCl7aWYoIm1mYSIhPT1lLmNoYWxsZW5nZVR5cGUpe3ZhciBuPXQuaGFzQ2xhc3MoInVzaW5nLWtiIik7Yy5tZW51LmZvY3VzKCFuKX1pLmZvY3VzKCl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe1V0KCJjaGFsbGVuZ2UtcmVhZHkiLHQpfSkpKX0pKTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7YVsiY2F0Y2giXShlKSxzLnRoZW4odCxlKSxyPWUsaS5zZXRDaGFsbGVuZ2VSZWplY3RUaW1lb3V0KCl9KSl9LGkuc2V0Q2hhbGxlbmdlUmVqZWN0VGltZW91dD1mdW5jdGlvbigpe28udGltZXImJmNsZWFyVGltZW91dChvLnRpbWVyKSxvLnRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7by50aW1lckV4cGlyZWQ9ITAsby5wcmV2ZW50Q2xvc2V8fHIoe2V2ZW50OmV0LkNIQUxMRU5HRV9FWFBJUkVEfSl9KSxvLmV4cGlyYXRpb24pfSxpLnN0eWxlPWZ1bmN0aW9uKGUsaSl7cmV0dXJuIEpvP25ldyBQcm9taXNlKChmdW5jdGlvbihuLG8pe3RyeXtKby5zdHlsZShlLGkpLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciBpPTEwLG89ZS5tb2JpbGU/NjA6NzAscj1lLndpZHRoLHU9ZS5oZWlnaHQraStvO2Euc3R5bGUoZS53aWR0aCxlLmhlaWdodCxpKSwibGFuZHNjYXBlIiE9PWN0Lm9yaWVudGF0aW9ufHwiaW1hZ2VfbGFiZWxfYmluYXJ5IiE9PWN0LmNoYWxsZW5nZV90eXBlJiYiaW1hZ2VfbGFiZWxfYXJlYV9zZWxlY3QiIT09Y3QuY2hhbGxlbmdlX3R5cGUmJiJpbWFnZV9kcmFnX2Ryb3AiIT09Y3QuY2hhbGxlbmdlX3R5cGUmJiJtZmEiIT09Y3QuY2hhbGxlbmdlX3R5cGU/KGwuc3R5bGUoZS53aWR0aCxvLGUubW9iaWxlKSxsLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OjAsYm90dG9tOjB9KSxjLnN0eWxlKGUud2lkdGgsbyksYy5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDowLGJvdHRvbTowfSksYS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbWFyZ2luQm90dG9tOmkscmlnaHQ6ImF1dG8ifSkpOihvPTM1LHI9ZS53aWR0aCtvK2ksdT1lLmhlaWdodCtvK2ksbC5zdHlsZShlLndpZHRoLG8sZS5tb2JpbGUpLGwuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowfSksYy5zdHlsZShvLHUpLGMuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTowfSksYS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjB9KSxNZS5pc1JUTCgpPyhsLmNzcyh7cmlnaHQ6ImluaXRpYWwiLGxlZnQ6MH0pLGMuY3NzKHtyaWdodDowLGxlZnQ6ImluaXRpYWwifSksYS5jc3Moe3JpZ2h0Om8raSxsZWZ0OiJpbml0aWFsIn0pKToobC5jc3Moe3JpZ2h0OjAsbGVmdDoiaW5pdGlhbCJ9KSxjLmNzcyh7cmlnaHQ6ImluaXRpYWwiLGxlZnQ6MH0pLGEuY3NzKHtyaWdodDoiaW5pdGlhbCIsbGVmdDpvK2l9KSkpLHMuY3NzKHt3aWR0aDpyLGhlaWdodDp1LG1hcmdpbjppLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSx0LmNzcyh7d2lkdGg6cisyMCxoZWlnaHQ6dSsyMH0pLGguc3R5bGUocix1LGUubW9iaWxlKSxoLmxvYWQoKSxuKHt3aWR0aDpyKzIwLGhlaWdodDp1KzIwLG1vYmlsZTplLm1vYmlsZX0pfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtvKHtldmVudDppdC5DSEFMTEVOR0VfRVJST1IsbWVzc2FnZToiRXJyb3Igb2NjdXJyZWQgaW4gcHJvbWlzZSBvZiAuc3R5bGUoKSIscmVhc29uOnQudG9TdHJpbmcoKX0pfSkpfWNhdGNoKGRzKXtvKHtldmVudDppdC5DSEFMTEVOR0VfRVJST1IsbWVzc2FnZToiRXJyb3Igd2hlbiBjYWxsaW5nIC5zdHlsZSgpIixyZWFzb246ZHMudG9TdHJpbmcoKX0pfX0pKTpQcm9taXNlLnJlc29sdmUoe3dpZHRoOjAsaGVpZ2h0OjAsbW9iaWxlOiExfSl9LGkuc3VibWl0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuaGFzQnJlYWRjcnVtYnMoKSYmaS5nZXRUb3RhbFNlcnZlZCgpIT09aS5nZXRUb3RhbEJyZWFkY3J1bWJzKCl8fCJza2lwIiE9PWwuZ2V0QWN0aW9uKCk/bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7dHJ5e2lmKEpvJiZKby5zdWJtaXQoKSxpLmhhc0JyZWFkY3J1bWJzKCkpe3ZhciBuPWkuZ2V0VG90YWxTZXJ2ZWQoKTtsLmJyZWFkY3J1bWJzLnNldEluZGV4KG4pfXQoImNoYWxsZW5nZS1jb21wbGV0ZSIpLG51bGwhPT1vLl90aW1lciYmImNoZWNrIj09PWwuZ2V0QWN0aW9uKCkmJihjbGVhclRpbWVvdXQoby5fdGltZXIpLG8uX3RpbWVyPW51bGwpfWNhdGNoKGRzKXtlKGRzKX19KSk6UHJvbWlzZS5yZXNvbHZlKCJjaGFsbGVuZ2Utc2tpcCIpfSxpLmRpc3BsYXlSZXBvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLG4pe3RyeXtpZighaS5pc01vdW50ZWQoKSlyZXR1cm4gZSgpO2lmKCFpLmNhblJlcG9ydCgpKXt2YXIgbztpZigiZmFsbGJhY2siPT09dC5yZXF1ZXN0X3R5cGUpbz10LmtleTtlbHNle3ZhciByPWkuaGFzQnJlYWRjcnVtYnMoKT9pLmdldFRvdGFsU2VydmVkKCktMTowO289dC50YXNrbGlzdFtyXS50YXNrX2tleX1yZXR1cm4gZShvKX1pLnJlcG9ydCgpLnRoZW4oZSksbC5icmVhZGNydW1icyYmbC5icmVhZGNydW1icy5oaWRlKCl9Y2F0Y2gobXMpe24obXMpfX0pKX0saS5oaWRlUmVwb3J0PWZ1bmN0aW9uKCl7Sm8mJkpvLnJlcG9ydCYmSm8ucmVwb3J0KCExKX0saS5jbG9zZT1mdW5jdGlvbigpe0pvJiYoSm89YS51bm1vdW50KEpvKSksby50aW1lciYmY2xlYXJUaW1lb3V0KG8udGltZXIpLG8udGltZXI9bnVsbCx0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKSxsLmRpc3BsYXlUcnlBZ2FpbighMSksbC5yZW1vdmVDcnVtYnMoKSxsLnJlbW92ZUFuaW1hdGlvbnMoKSxoLmNsb3NlKCksYy5jbG9zZSgpLG8udmlzaWJsZT0hMSxvLmNyZWF0ZT0hMX0saS50cmFuc2xhdGVJbnRlcmZhY2U9ZnVuY3Rpb24odCl7aWYodCYmdC5sb2NhbGUmJnQudGFibGUpdHJ5e3QudGFibGUmJihNZS5zZXRMb2NhbGUodC5sb2NhbGUpLE1lLmFkZFRhYmxlKHQubG9jYWxlLHQudGFibGUpKSxKbyYmSm8udHJhbnNsYXRlJiZKby50cmFuc2xhdGUoKSxsLnRyYW5zbGF0ZSgpLGMudHJhbnNsYXRlKCksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgibGFuZyIsTWUuZ2V0TG9jYWxlKCkpfWNhdGNoKGRzKXtVdCgidHJhbnNsYXRpb24iLGRzKX19LGkudHJhbnNsYXRlQnVuZGxlPWZ1bmN0aW9uKCl7Sm8mJkpvLnRyYW5zbGF0ZSYmSm8udHJhbnNsYXRlKCl9LGkuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIG8udmlzaWJsZX0saS5zZXRGb2N1cz1mdW5jdGlvbih0KXtvLmZvY3VzPXR9LGkudHJpZ2dlckZvY3VzPWZ1bmN0aW9uKHQsZSl7InN1Ym1pdCI9PT10P2wuc3VibWl0LmZvY3VzKCk6aS5mb2N1cyhlKX0saS5jbG9zZVVzZXJQYW5lbD1mdW5jdGlvbigpe2MmJmMuY2xvc2UoKX0saS5pc0ludGVyZmFjZUxvY2tlZD1mdW5jdGlvbigpe3JldHVybiBvLmxvY2tlZH0saS5sb2NrSW50ZXJmYWNlPWZ1bmN0aW9uKHQpe28ubG9ja2VkPXQsbC5zZXRMb2NrKHQpLGMuc2V0TG9jayh0KX0saS5oYXNBY3RpdmVFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1sLnN1Ym1pdC5kb218fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jLnJlZnJlc2guZG9tfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09Yy5tZW51LmRvbX0saS5nZXRBY3RpdmVFbGVtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1sLnN1Ym1pdC5kb20/InN1Ym1pdCI6ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWMucmVmcmVzaC5kb20/InJlZnJlc2giOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jLm1lbnUuZG9tPyJtZW51IjpudWxsfSxpLmdldE1vZGFsPWZ1bmN0aW9uKCl7cmV0dXJuIGh9LGkuZ2V0VG90YWxTZXJ2ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gSm8uc2VydmVkfSxpLmdldFRvdGFsQnJlYWRjcnVtYnM9ZnVuY3Rpb24oKXtyZXR1cm4gSm8/Sm8uYnJlYWRjcnVtYnM6MH0saS5oYXNCcmVhZGNydW1icz1mdW5jdGlvbigpe3JldHVybiEoIUpvfHwhSm8uYnJlYWRjcnVtYnMpfSxpLmNhblJlcG9ydD1mdW5jdGlvbigpe3JldHVybiBKby5yZXBvcnQmJiJmdW5jdGlvbiI9PXR5cGVvZiBKby5yZXBvcnR9LGkucmVwb3J0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbihpKXtKby5vZmYoInJlcG9ydC1pbWFnZSIsZSksdChpKX07Sm8ucmVwb3J0KCEwKSxKby5vbigicmVwb3J0LWltYWdlIixlKX0pKX0saS5mb2N1cz1mdW5jdGlvbih0KXtKbyYmSm8uc2V0Rm9jdXMmJkpvLnNldEZvY3VzKHR8fDAsby5pbnRlcmFjdGlvbil9LGkuZGlzcGxheVRyeUFnYWluPWZ1bmN0aW9uKHQpe2wuZGlzcGxheVRyeUFnYWluKHQpfSxpLmVuYWJsZUExMXlDaGFsbGVuZ2U9ZnVuY3Rpb24odCl7Yy5tZW51TGlzdC5zZXRBMTF5Q2hhbGxlbmdlKHQpfSxpfSFmdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKCJyYXZlbi1qcyIsdCk7ZWxzZXsoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzKS5tc2dwYWNrPXQoKX19KChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUsaSxuKXtmdW5jdGlvbiBvKHMsYSl7aWYoIWlbc10pe2lmKCFlW3NdKXt2YXIgbD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighYSYmbClyZXR1cm4gbChzLCEwKTtpZihyKXJldHVybiByKHMsITApO3ZhciBjPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK3MrIiciKTt0aHJvdyBjLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGN9dmFyIGg9aVtzXT17ZXhwb3J0czp7fX07ZVtzXVswXS5jYWxsKGguZXhwb3J0cywoZnVuY3Rpb24odCl7dmFyIGk9ZVtzXVsxXVt0XTtyZXR1cm4gbyhpfHx0KX0pLGgsaC5leHBvcnRzLHQsZSxpLG4pfXJldHVybiBpW3NdLmV4cG9ydHN9Zm9yKHZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLHM9MDtzPG4ubGVuZ3RoO3MrKylvKG5bc10pO3JldHVybiBvfSh7MTpbZnVuY3Rpb24odCxlLGkpe2kuZW5jb2RlPXQoIi4vZW5jb2RlIikuZW5jb2RlLGkuZGVjb2RlPXQoIi4vZGVjb2RlIikuZGVjb2RlLGkuRW5jb2Rlcj10KCIuL2VuY29kZXIiKS5FbmNvZGVyLGkuRGVjb2Rlcj10KCIuL2RlY29kZXIiKS5EZWNvZGVyLGkuY3JlYXRlQ29kZWM9dCgiLi9leHQiKS5jcmVhdGVDb2RlYyxpLmNvZGVjPXQoIi4vY29kZWMiKS5jb2RlY30seyIuL2NvZGVjIjoxMCwiLi9kZWNvZGUiOjEyLCIuL2RlY29kZXIiOjEzLCIuL2VuY29kZSI6MTUsIi4vZW5jb2RlciI6MTYsIi4vZXh0IjoyMH1dLDI6W2Z1bmN0aW9uKHQsZSxpKXsoZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdCYmdC5pc0J1ZmZlciYmdH1lLmV4cG9ydHM9aSh2b2lkIDAhPT10JiZ0KXx8aSh0aGlzLkJ1ZmZlcil8fGkoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5CdWZmZXIpfHx0aGlzLkJ1ZmZlcn0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7YnVmZmVyOjI5fV0sMzpbZnVuY3Rpb24odCxlLGkpe2kuY29weT1mdW5jdGlvbih0LGUsaSxuKXt2YXIgbztpfHwoaT0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLGV8fChlPTApO3ZhciByPW4taTtpZih0PT09dGhpcyYmaTxlJiZlPG4pZm9yKG89ci0xO28+PTA7by0tKXRbbytlXT10aGlzW28raV07ZWxzZSBmb3Iobz0wO288cjtvKyspdFtvK2VdPXRoaXNbbytpXTtyZXR1cm4gcn0saS50b1N0cmluZz1mdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcyxvPTB8ZTtpfHwoaT1uLmxlbmd0aCk7Zm9yKHZhciByPSIiLHM9MDtvPGk7KShzPW5bbysrXSk8MTI4P3IrPVN0cmluZy5mcm9tQ2hhckNvZGUocyk6KDE5Mj09KDIyNCZzKT9zPSgzMSZzKTw8Nnw2MyZuW28rK106MjI0PT0oMjQwJnMpP3M9KDE1JnMpPDwxMnwoNjMmbltvKytdKTw8Nnw2MyZuW28rK106MjQwPT0oMjQ4JnMpJiYocz0oNyZzKTw8MTh8KDYzJm5bbysrXSk8PDEyfCg2MyZuW28rK10pPDw2fDYzJm5bbysrXSkscz49NjU1MzY/KHMtPTY1NTM2LHIrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTYrKHM+Pj4xMCksNTYzMjArKDEwMjMmcykpKTpyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpKTtyZXR1cm4gcn0saS53cml0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaT10aGlzLG49ZXx8KGV8PTApLG89dC5sZW5ndGgscj0wLHM9MDtzPG87KShyPXQuY2hhckNvZGVBdChzKyspKTwxMjg/aVtuKytdPXI6cjwyMDQ4PyhpW24rK109MTkyfHI+Pj42LGlbbisrXT0xMjh8NjMmcik6cjw1NTI5Nnx8cj41NzM0Mz8oaVtuKytdPTIyNHxyPj4+MTIsaVtuKytdPTEyOHxyPj4+NiY2MyxpW24rK109MTI4fDYzJnIpOihyPTY1NTM2KyhyLTU1Mjk2PDwxMHx0LmNoYXJDb2RlQXQocysrKS01NjMyMCksaVtuKytdPTI0MHxyPj4+MTgsaVtuKytdPTEyOHxyPj4+MTImNjMsaVtuKytdPTEyOHxyPj4+NiY2MyxpW24rK109MTI4fDYzJnIpO3JldHVybiBuLWV9fSx7fV0sNDpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIG5ldyBBcnJheSh0KX12YXIgbz10KCIuL2J1ZmZlcmlzaCIpOyhpPWUuZXhwb3J0cz1uKDApKS5hbGxvYz1uLGkuY29uY2F0PW8uY29uY2F0LGkuZnJvbT1mdW5jdGlvbih0KXtpZighby5pc0J1ZmZlcih0KSYmby5pc1ZpZXcodCkpdD1vLlVpbnQ4QXJyYXkuZnJvbSh0KTtlbHNlIGlmKG8uaXNBcnJheUJ1ZmZlcih0KSl0PW5ldyBVaW50OEFycmF5KHQpO2Vsc2V7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBvLmZyb20uY2FsbChpLHQpO2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJyl9cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpfX0seyIuL2J1ZmZlcmlzaCI6OH1dLDU6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuZXcgcih0KX12YXIgbz10KCIuL2J1ZmZlcmlzaCIpLHI9by5nbG9iYWw7KGk9ZS5leHBvcnRzPW8uaGFzQnVmZmVyP24oMCk6W10pLmFsbG9jPW8uaGFzQnVmZmVyJiZyLmFsbG9jfHxuLGkuY29uY2F0PW8uY29uY2F0LGkuZnJvbT1mdW5jdGlvbih0KXtpZighby5pc0J1ZmZlcih0KSYmby5pc1ZpZXcodCkpdD1vLlVpbnQ4QXJyYXkuZnJvbSh0KTtlbHNlIGlmKG8uaXNBcnJheUJ1ZmZlcih0KSl0PW5ldyBVaW50OEFycmF5KHQpO2Vsc2V7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBvLmZyb20uY2FsbChpLHQpO2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJyl9cmV0dXJuIHIuZnJvbSYmMSE9PXIuZnJvbS5sZW5ndGg/ci5mcm9tKHQpOm5ldyByKHQpfX0seyIuL2J1ZmZlcmlzaCI6OH1dLDY6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKHQsZSxpLG4pe3ZhciBhPXMuaXNCdWZmZXIodGhpcyksbD1zLmlzQnVmZmVyKHQpO2lmKGEmJmwpcmV0dXJuIHRoaXMuY29weSh0LGUsaSxuKTtpZihjfHxhfHxsfHwhcy5pc1ZpZXcodGhpcyl8fCFzLmlzVmlldyh0KSlyZXR1cm4gci5jb3B5LmNhbGwodGhpcyx0LGUsaSxuKTt2YXIgaD1pfHxudWxsIT1uP28uY2FsbCh0aGlzLGksbik6dGhpcztyZXR1cm4gdC5zZXQoaCxlKSxoLmxlbmd0aH1mdW5jdGlvbiBvKHQsZSl7dmFyIGk9dGhpcy5zbGljZXx8IWMmJnRoaXMuc3ViYXJyYXk7aWYoaSlyZXR1cm4gaS5jYWxsKHRoaXMsdCxlKTt2YXIgbz1zLmFsbG9jLmNhbGwodGhpcyxlLXQpO3JldHVybiBuLmNhbGwodGhpcyxvLDAsdCxlKSxvfXZhciByPXQoIi4vYnVmZmVyLWxpdGUiKTtpLmNvcHk9bixpLnNsaWNlPW8saS50b1N0cmluZz1mdW5jdGlvbih0LGUsaSl7dmFyIG49IWwmJnMuaXNCdWZmZXIodGhpcyk/dGhpcy50b1N0cmluZzpyLnRvU3RyaW5nO3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0saS53cml0ZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzW3RdfHxyW3RdO3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCJ3cml0ZSIpO3ZhciBzPXQoIi4vYnVmZmVyaXNoIiksYT1zLmdsb2JhbCxsPXMuaGFzQnVmZmVyJiYiVFlQRURfQVJSQVlfU1VQUE9SVCJpbiBhLGM9bCYmIWEuVFlQRURfQVJSQVlfU1VQUE9SVH0seyIuL2J1ZmZlci1saXRlIjozLCIuL2J1ZmZlcmlzaCI6OH1dLDc6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuZXcgVWludDhBcnJheSh0KX12YXIgbz10KCIuL2J1ZmZlcmlzaCIpOyhpPWUuZXhwb3J0cz1vLmhhc0FycmF5QnVmZmVyP24oMCk6W10pLmFsbG9jPW4saS5jb25jYXQ9by5jb25jYXQsaS5mcm9tPWZ1bmN0aW9uKHQpe2lmKG8uaXNWaWV3KHQpKXt2YXIgZT10LmJ5dGVPZmZzZXQsbj10LmJ5dGVMZW5ndGg7KHQ9dC5idWZmZXIpLmJ5dGVMZW5ndGghPT1uJiYodC5zbGljZT90PXQuc2xpY2UoZSxlK24pOih0PW5ldyBVaW50OEFycmF5KHQpKS5ieXRlTGVuZ3RoIT09biYmKHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCxlLGUrbikpKX1lbHNle2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gby5mcm9tLmNhbGwoaSx0KTtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpfXJldHVybiBuZXcgVWludDhBcnJheSh0KX19LHsiLi9idWZmZXJpc2giOjh9XSw4OltmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gcih0aGlzKS5hbGxvYyh0KX1mdW5jdGlvbiBvKHQpe3ZhciBlPTMqdC5sZW5ndGgsaT1uLmNhbGwodGhpcyxlKSxvPWcud3JpdGUuY2FsbChpLHQpO3JldHVybiBlIT09byYmKGk9Zy5zbGljZS5jYWxsKGksMCxvKSksaX1mdW5jdGlvbiByKHQpe3JldHVybiBwKHQpP206Zih0KT95OnUodCk/ZDpjP206aD95OmR9ZnVuY3Rpb24gcygpe3JldHVybiExfWZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gdD0iW29iamVjdCAiK3QrIl0iLGZ1bmN0aW9uKGkpe3JldHVybiBudWxsIT1pJiZ7fS50b1N0cmluZy5jYWxsKGU/aVtlXTppKT09PXR9fXZhciBsPWkuZ2xvYmFsPXQoIi4vYnVmZmVyLWdsb2JhbCIpLGM9aS5oYXNCdWZmZXI9bCYmISFsLmlzQnVmZmVyLGg9aS5oYXNBcnJheUJ1ZmZlcj0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyLHU9aS5pc0FycmF5PXQoImlzYXJyYXkiKTtpLmlzQXJyYXlCdWZmZXI9aD9mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHxiKHQpfTpzO3ZhciBwPWkuaXNCdWZmZXI9Yz9sLmlzQnVmZmVyOnMsZj1pLmlzVmlldz1oP0FycmF5QnVmZmVyLmlzVmlld3x8YSgiQXJyYXlCdWZmZXIiLCJidWZmZXIiKTpzO2kuYWxsb2M9bixpLmNvbmNhdD1mdW5jdGlvbih0LGUpe2V8fChlPTAsQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0LChmdW5jdGlvbih0KXtlKz10Lmxlbmd0aH0pKSk7dmFyIG89dGhpcyE9PWkmJnRoaXN8fHRbMF0scj1uLmNhbGwobyxlKSxzPTA7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodCwoZnVuY3Rpb24odCl7cys9Zy5jb3B5LmNhbGwodCxyLHMpfSkpLHJ9LGkuZnJvbT1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/by5jYWxsKHRoaXMsdCk6cih0aGlzKS5mcm9tKHQpfTt2YXIgZD1pLkFycmF5PXQoIi4vYnVmZmVyaXNoLWFycmF5IiksbT1pLkJ1ZmZlcj10KCIuL2J1ZmZlcmlzaC1idWZmZXIiKSx5PWkuVWludDhBcnJheT10KCIuL2J1ZmZlcmlzaC11aW50OGFycmF5IiksZz1pLnByb3RvdHlwZT10KCIuL2J1ZmZlcmlzaC1wcm90byIpLGI9YSgiQXJyYXlCdWZmZXIiKX0seyIuL2J1ZmZlci1nbG9iYWwiOjIsIi4vYnVmZmVyaXNoLWFycmF5Ijo0LCIuL2J1ZmZlcmlzaC1idWZmZXIiOjUsIi4vYnVmZmVyaXNoLXByb3RvIjo2LCIuL2J1ZmZlcmlzaC11aW50OGFycmF5Ijo3LGlzYXJyYXk6MzR9XSw5OltmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG4/KHRoaXMub3B0aW9ucz10LHZvaWQgdGhpcy5pbml0KCkpOm5ldyBuKHQpfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gdCYmZT9mdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06dHx8ZX1mdW5jdGlvbiByKHQpe3JldHVybiBuZXcgbih0KX12YXIgcz10KCJpc2FycmF5Iik7aS5jcmVhdGVDb2RlYz1yLGkuaW5zdGFsbD1mdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdCluLnByb3RvdHlwZVtlXT1vKG4ucHJvdG90eXBlW2VdLHRbZV0pfSxpLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gcyh0KT9mdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSl7cmV0dXJuIGUodCl9cmV0dXJuIHQ9dC5zbGljZSgpLGZ1bmN0aW9uKGkpe3JldHVybiB0LnJlZHVjZShlLGkpfX0odCk6dH07dmFyIGE9dCgiLi9idWZmZXJpc2giKTtuLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3JldHVybiB0JiZ0LnVpbnQ4YXJyYXkmJih0aGlzLmJ1ZmZlcmlzaD1hLlVpbnQ4QXJyYXkpLHRoaXN9LGkucHJlc2V0PXIoe3ByZXNldDohMH0pfSx7Ii4vYnVmZmVyaXNoIjo4LGlzYXJyYXk6MzR9XSwxMDpbZnVuY3Rpb24odCxlLGkpe3QoIi4vcmVhZC1jb3JlIiksdCgiLi93cml0ZS1jb3JlIiksaS5jb2RlYz17cHJlc2V0OnQoIi4vY29kZWMtYmFzZSIpLnByZXNldH19LHsiLi9jb2RlYy1iYXNlIjo5LCIuL3JlYWQtY29yZSI6MjIsIi4vd3JpdGUtY29yZSI6MjV9XSwxMTpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpcmV0dXJuIG5ldyBuKHQpO2lmKHQmJih0aGlzLm9wdGlvbnM9dCx0LmNvZGVjKSl7dmFyIGU9dGhpcy5jb2RlYz10LmNvZGVjO2UuYnVmZmVyaXNoJiYodGhpcy5idWZmZXJpc2g9ZS5idWZmZXJpc2gpfX1pLkRlY29kZUJ1ZmZlcj1uO3ZhciBvPXQoIi4vcmVhZC1jb3JlIikucHJlc2V0O3QoIi4vZmxleC1idWZmZXIiKS5GbGV4RGVjb2Rlci5taXhpbihuLnByb3RvdHlwZSksbi5wcm90b3R5cGUuY29kZWM9byxuLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvZGVjLmRlY29kZSh0aGlzKX19LHsiLi9mbGV4LWJ1ZmZlciI6MjEsIi4vcmVhZC1jb3JlIjoyMn1dLDEyOltmdW5jdGlvbih0LGUsaSl7aS5kZWNvZGU9ZnVuY3Rpb24odCxlKXt2YXIgaT1uZXcgbihlKTtyZXR1cm4gaS53cml0ZSh0KSxpLnJlYWQoKX07dmFyIG49dCgiLi9kZWNvZGUtYnVmZmVyIikuRGVjb2RlQnVmZmVyfSx7Ii4vZGVjb2RlLWJ1ZmZlciI6MTF9XSwxMzpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBuP3ZvaWQgci5jYWxsKHRoaXMsdCk6bmV3IG4odCl9aS5EZWNvZGVyPW47dmFyIG89dCgiZXZlbnQtbGl0ZSIpLHI9dCgiLi9kZWNvZGUtYnVmZmVyIikuRGVjb2RlQnVmZmVyO24ucHJvdG90eXBlPW5ldyByLG8ubWl4aW4obi5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbih0KXthcmd1bWVudHMubGVuZ3RoJiZ0aGlzLndyaXRlKHQpLHRoaXMuZmx1c2goKX0sbi5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImRhdGEiLHQpfSxuLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7dGhpcy5kZWNvZGUodCksdGhpcy5lbWl0KCJlbmQiKX19LHsiLi9kZWNvZGUtYnVmZmVyIjoxMSwiZXZlbnQtbGl0ZSI6MzF9XSwxNDpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpcmV0dXJuIG5ldyBuKHQpO2lmKHQmJih0aGlzLm9wdGlvbnM9dCx0LmNvZGVjKSl7dmFyIGU9dGhpcy5jb2RlYz10LmNvZGVjO2UuYnVmZmVyaXNoJiYodGhpcy5idWZmZXJpc2g9ZS5idWZmZXJpc2gpfX1pLkVuY29kZUJ1ZmZlcj1uO3ZhciBvPXQoIi4vd3JpdGUtY29yZSIpLnByZXNldDt0KCIuL2ZsZXgtYnVmZmVyIikuRmxleEVuY29kZXIubWl4aW4obi5wcm90b3R5cGUpLG4ucHJvdG90eXBlLmNvZGVjPW8sbi5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCl7dGhpcy5jb2RlYy5lbmNvZGUodGhpcyx0KX19LHsiLi9mbGV4LWJ1ZmZlciI6MjEsIi4vd3JpdGUtY29yZSI6MjV9XSwxNTpbZnVuY3Rpb24odCxlLGkpe2kuZW5jb2RlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9bmV3IG4oZSk7cmV0dXJuIGkud3JpdGUodCksaS5yZWFkKCl9O3ZhciBuPXQoIi4vZW5jb2RlLWJ1ZmZlciIpLkVuY29kZUJ1ZmZlcn0seyIuL2VuY29kZS1idWZmZXIiOjE0fV0sMTY6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKHQpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbj92b2lkIHIuY2FsbCh0aGlzLHQpOm5ldyBuKHQpfWkuRW5jb2Rlcj1uO3ZhciBvPXQoImV2ZW50LWxpdGUiKSxyPXQoIi4vZW5jb2RlLWJ1ZmZlciIpLkVuY29kZUJ1ZmZlcjtuLnByb3RvdHlwZT1uZXcgcixvLm1peGluKG4ucHJvdG90eXBlKSxuLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCl7dGhpcy53cml0ZSh0KSx0aGlzLmVtaXQoImRhdGEiLHRoaXMucmVhZCgpKX0sbi5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe2FyZ3VtZW50cy5sZW5ndGgmJnRoaXMuZW5jb2RlKHQpLHRoaXMuZmx1c2goKSx0aGlzLmVtaXQoImVuZCIpfX0seyIuL2VuY29kZS1idWZmZXIiOjE0LCJldmVudC1saXRlIjozMX1dLDE3OltmdW5jdGlvbih0LGUsaSl7aS5FeHRCdWZmZXI9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbz8odGhpcy5idWZmZXI9bi5mcm9tKHQpLHZvaWQodGhpcy50eXBlPWUpKTpuZXcgbyh0LGUpfTt2YXIgbj10KCIuL2J1ZmZlcmlzaCIpfSx7Ii4vYnVmZmVyaXNoIjo4fV0sMTg6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKGUpe3JldHVybiBhfHwoYT10KCIuL2VuY29kZSIpLmVuY29kZSksYShlKX1mdW5jdGlvbiBvKHQpe3JldHVybiB0LnZhbHVlT2YoKX1mdW5jdGlvbiByKHQpeyh0PVJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zcGxpdCgiLyIpKS5zaGlmdCgpO3ZhciBlPVt0LnBvcCgpXTtyZXR1cm4gZS51bnNoaWZ0KHQuam9pbigiLyIpKSxlfWZ1bmN0aW9uIHModCl7dmFyIGU9e307Zm9yKHZhciBpIGluIHUpZVtpXT10W2ldO3JldHVybiBlfWkuc2V0RXh0UGFja2Vycz1mdW5jdGlvbih0KXt0LmFkZEV4dFBhY2tlcigxNCxFcnJvcixbcyxuXSksdC5hZGRFeHRQYWNrZXIoMSxFdmFsRXJyb3IsW3Msbl0pLHQuYWRkRXh0UGFja2VyKDIsUmFuZ2VFcnJvcixbcyxuXSksdC5hZGRFeHRQYWNrZXIoMyxSZWZlcmVuY2VFcnJvcixbcyxuXSksdC5hZGRFeHRQYWNrZXIoNCxTeW50YXhFcnJvcixbcyxuXSksdC5hZGRFeHRQYWNrZXIoNSxUeXBlRXJyb3IsW3Msbl0pLHQuYWRkRXh0UGFja2VyKDYsVVJJRXJyb3IsW3Msbl0pLHQuYWRkRXh0UGFja2VyKDEwLFJlZ0V4cCxbcixuXSksdC5hZGRFeHRQYWNrZXIoMTEsQm9vbGVhbixbbyxuXSksdC5hZGRFeHRQYWNrZXIoMTIsU3RyaW5nLFtvLG5dKSx0LmFkZEV4dFBhY2tlcigxMyxEYXRlLFtOdW1iZXIsbl0pLHQuYWRkRXh0UGFja2VyKDE1LE51bWJlcixbbyxuXSksInVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5JiYodC5hZGRFeHRQYWNrZXIoMTcsSW50OEFycmF5LGgpLHQuYWRkRXh0UGFja2VyKDE4LFVpbnQ4QXJyYXksaCksdC5hZGRFeHRQYWNrZXIoMTksSW50MTZBcnJheSxoKSx0LmFkZEV4dFBhY2tlcigyMCxVaW50MTZBcnJheSxoKSx0LmFkZEV4dFBhY2tlcigyMSxJbnQzMkFycmF5LGgpLHQuYWRkRXh0UGFja2VyKDIyLFVpbnQzMkFycmF5LGgpLHQuYWRkRXh0UGFja2VyKDIzLEZsb2F0MzJBcnJheSxoKSwidW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0NjRBcnJheSYmdC5hZGRFeHRQYWNrZXIoMjQsRmxvYXQ2NEFycmF5LGgpLCJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXkmJnQuYWRkRXh0UGFja2VyKDI1LFVpbnQ4Q2xhbXBlZEFycmF5LGgpLHQuYWRkRXh0UGFja2VyKDI2LEFycmF5QnVmZmVyLGgpLHQuYWRkRXh0UGFja2VyKDI5LERhdGFWaWV3LGgpKSxsLmhhc0J1ZmZlciYmdC5hZGRFeHRQYWNrZXIoMjcsYyxsLmZyb20pfTt2YXIgYSxsPXQoIi4vYnVmZmVyaXNoIiksYz1sLmdsb2JhbCxoPWwuVWludDhBcnJheS5mcm9tLHU9e25hbWU6MSxtZXNzYWdlOjEsc3RhY2s6MSxjb2x1bW5OdW1iZXI6MSxmaWxlTmFtZToxLGxpbmVOdW1iZXI6MX19LHsiLi9idWZmZXJpc2giOjgsIi4vZW5jb2RlIjoxNX1dLDE5OltmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gbHx8KGw9dCgiLi9kZWNvZGUiKS5kZWNvZGUpLGwoZSl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gUmVnRXhwLmFwcGx5KG51bGwsdCl9ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGk9bmV3IHQ7Zm9yKHZhciBuIGluIHUpaVtuXT1lW25dO3JldHVybiBpfX1mdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbmV3IHQoZSl9fWZ1bmN0aW9uIGEodCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KHQpLmJ1ZmZlcn1pLnNldEV4dFVucGFja2Vycz1mdW5jdGlvbih0KXt0LmFkZEV4dFVucGFja2VyKDE0LFtuLHIoRXJyb3IpXSksdC5hZGRFeHRVbnBhY2tlcigxLFtuLHIoRXZhbEVycm9yKV0pLHQuYWRkRXh0VW5wYWNrZXIoMixbbixyKFJhbmdlRXJyb3IpXSksdC5hZGRFeHRVbnBhY2tlcigzLFtuLHIoUmVmZXJlbmNlRXJyb3IpXSksdC5hZGRFeHRVbnBhY2tlcig0LFtuLHIoU3ludGF4RXJyb3IpXSksdC5hZGRFeHRVbnBhY2tlcig1LFtuLHIoVHlwZUVycm9yKV0pLHQuYWRkRXh0VW5wYWNrZXIoNixbbixyKFVSSUVycm9yKV0pLHQuYWRkRXh0VW5wYWNrZXIoMTAsW24sb10pLHQuYWRkRXh0VW5wYWNrZXIoMTEsW24scyhCb29sZWFuKV0pLHQuYWRkRXh0VW5wYWNrZXIoMTIsW24scyhTdHJpbmcpXSksdC5hZGRFeHRVbnBhY2tlcigxMyxbbixzKERhdGUpXSksdC5hZGRFeHRVbnBhY2tlcigxNSxbbixzKE51bWJlcildKSwidW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJih0LmFkZEV4dFVucGFja2VyKDE3LHMoSW50OEFycmF5KSksdC5hZGRFeHRVbnBhY2tlcigxOCxzKFVpbnQ4QXJyYXkpKSx0LmFkZEV4dFVucGFja2VyKDE5LFthLHMoSW50MTZBcnJheSldKSx0LmFkZEV4dFVucGFja2VyKDIwLFthLHMoVWludDE2QXJyYXkpXSksdC5hZGRFeHRVbnBhY2tlcigyMSxbYSxzKEludDMyQXJyYXkpXSksdC5hZGRFeHRVbnBhY2tlcigyMixbYSxzKFVpbnQzMkFycmF5KV0pLHQuYWRkRXh0VW5wYWNrZXIoMjMsW2EscyhGbG9hdDMyQXJyYXkpXSksInVuZGVmaW5lZCIhPXR5cGVvZiBGbG9hdDY0QXJyYXkmJnQuYWRkRXh0VW5wYWNrZXIoMjQsW2EscyhGbG9hdDY0QXJyYXkpXSksInVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OENsYW1wZWRBcnJheSYmdC5hZGRFeHRVbnBhY2tlcigyNSxzKFVpbnQ4Q2xhbXBlZEFycmF5KSksdC5hZGRFeHRVbnBhY2tlcigyNixhKSx0LmFkZEV4dFVucGFja2VyKDI5LFthLHMoRGF0YVZpZXcpXSkpLGMuaGFzQnVmZmVyJiZ0LmFkZEV4dFVucGFja2VyKDI3LHMoaCkpfTt2YXIgbCxjPXQoIi4vYnVmZmVyaXNoIiksaD1jLmdsb2JhbCx1PXtuYW1lOjEsbWVzc2FnZToxLHN0YWNrOjEsY29sdW1uTnVtYmVyOjEsZmlsZU5hbWU6MSxsaW5lTnVtYmVyOjF9fSx7Ii4vYnVmZmVyaXNoIjo4LCIuL2RlY29kZSI6MTJ9XSwyMDpbZnVuY3Rpb24odCxlLGkpe3QoIi4vcmVhZC1jb3JlIiksdCgiLi93cml0ZS1jb3JlIiksaS5jcmVhdGVDb2RlYz10KCIuL2NvZGVjLWJhc2UiKS5jcmVhdGVDb2RlY30seyIuL2NvZGVjLWJhc2UiOjksIi4vcmVhZC1jb3JlIjoyMiwiLi93cml0ZS1jb3JlIjoyNX1dLDIxOltmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbigpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG4pKXJldHVybiBuZXcgbn1mdW5jdGlvbiBvKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvfWZ1bmN0aW9uIHIoKXt0aHJvdyBuZXcgRXJyb3IoIm1ldGhvZCBub3QgaW1wbGVtZW50ZWQ6IHdyaXRlKCkiKX1mdW5jdGlvbiBzKCl7dGhyb3cgbmV3IEVycm9yKCJtZXRob2Qgbm90IGltcGxlbWVudGVkOiBmZXRjaCgpIil9ZnVuY3Rpb24gYSgpe3JldHVybiB0aGlzLmJ1ZmZlcnMmJnRoaXMuYnVmZmVycy5sZW5ndGg/KHRoaXMuZmx1c2goKSx0aGlzLnB1bGwoKSk6dGhpcy5mZXRjaCgpfWZ1bmN0aW9uIGwodCl7KHRoaXMuYnVmZmVyc3x8KHRoaXMuYnVmZmVycz1bXSkpLnB1c2godCl9ZnVuY3Rpb24gYygpe3JldHVybih0aGlzLmJ1ZmZlcnN8fCh0aGlzLmJ1ZmZlcnM9W10pKS5zaGlmdCgpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgaSBpbiB0KWVbaV09dFtpXTtyZXR1cm4gZX19aS5GbGV4RGVjb2Rlcj1uLGkuRmxleEVuY29kZXI9bzt2YXIgdT10KCIuL2J1ZmZlcmlzaCIpLHA9MjA0OCxmPTY1NTM2LGQ9IkJVRkZFUl9TSE9SVEFHRSI7bi5taXhpbj1oKHtidWZmZXJpc2g6dSx3cml0ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLm9mZnNldD91LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuYnVmZmVyLHRoaXMub2Zmc2V0KTp0aGlzLmJ1ZmZlcjt0aGlzLmJ1ZmZlcj1lP3Q/dGhpcy5idWZmZXJpc2guY29uY2F0KFtlLHRdKTplOnQsdGhpcy5vZmZzZXQ9MH0sZmV0Y2g6cyxmbHVzaDpmdW5jdGlvbigpe2Zvcig7dGhpcy5vZmZzZXQ8dGhpcy5idWZmZXIubGVuZ3RoOyl7dmFyIHQsZT10aGlzLm9mZnNldDt0cnl7dD10aGlzLmZldGNoKCl9Y2F0Y2godCl7aWYodCYmdC5tZXNzYWdlIT1kKXRocm93IHQ7dGhpcy5vZmZzZXQ9ZTticmVha310aGlzLnB1c2godCl9fSxwdXNoOmwscHVsbDpjLHJlYWQ6YSxyZXNlcnZlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub2Zmc2V0LGk9ZSt0O2lmKGk+dGhpcy5idWZmZXIubGVuZ3RoKXRocm93IG5ldyBFcnJvcihkKTtyZXR1cm4gdGhpcy5vZmZzZXQ9aSxlfSxvZmZzZXQ6MH0pLG4ubWl4aW4obi5wcm90b3R5cGUpLG8ubWl4aW49aCh7YnVmZmVyaXNoOnUsd3JpdGU6cixmZXRjaDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuc3RhcnQ7aWYodDx0aGlzLm9mZnNldCl7dmFyIGU9dGhpcy5zdGFydD10aGlzLm9mZnNldDtyZXR1cm4gdS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLmJ1ZmZlcix0LGUpfX0sZmx1c2g6ZnVuY3Rpb24oKXtmb3IoO3RoaXMuc3RhcnQ8dGhpcy5vZmZzZXQ7KXt2YXIgdD10aGlzLmZldGNoKCk7dCYmdGhpcy5wdXNoKHQpfX0scHVzaDpsLHB1bGw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmJ1ZmZlcnN8fCh0aGlzLmJ1ZmZlcnM9W10pLGU9dC5sZW5ndGg+MT90aGlzLmJ1ZmZlcmlzaC5jb25jYXQodCk6dFswXTtyZXR1cm4gdC5sZW5ndGg9MCxlfSxyZWFkOmEscmVzZXJ2ZTpmdW5jdGlvbih0KXt2YXIgZT0wfHQ7aWYodGhpcy5idWZmZXIpe3ZhciBpPXRoaXMuYnVmZmVyLmxlbmd0aCxuPTB8dGhpcy5vZmZzZXQsbz1uK2U7aWYobzxpKXJldHVybiB0aGlzLm9mZnNldD1vLG47dGhpcy5mbHVzaCgpLHQ9TWF0aC5tYXgodCxNYXRoLm1pbigyKmksdGhpcy5tYXhCdWZmZXJTaXplKSl9cmV0dXJuIHQ9TWF0aC5tYXgodCx0aGlzLm1pbkJ1ZmZlclNpemUpLHRoaXMuYnVmZmVyPXRoaXMuYnVmZmVyaXNoLmFsbG9jKHQpLHRoaXMuc3RhcnQ9MCx0aGlzLm9mZnNldD1lLDB9LHNlbmQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZT50aGlzLm1pbkJ1ZmZlclNpemUpdGhpcy5mbHVzaCgpLHRoaXMucHVzaCh0KTtlbHNle3ZhciBpPXRoaXMucmVzZXJ2ZShlKTt1LnByb3RvdHlwZS5jb3B5LmNhbGwodCx0aGlzLmJ1ZmZlcixpKX19LG1heEJ1ZmZlclNpemU6ZixtaW5CdWZmZXJTaXplOnAsb2Zmc2V0OjAsc3RhcnQ6MH0pLG8ubWl4aW4oby5wcm90b3R5cGUpfSx7Ii4vYnVmZmVyaXNoIjo4fV0sMjI6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLmRlY29kZT1mdW5jdGlvbih0KXt2YXIgZT1hLmdldFJlYWRUb2tlbih0KTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGk9cyh0KSxuPWVbaV07aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHR5cGU6ICIrKGk/IjB4IitpLnRvU3RyaW5nKDE2KTppKSk7cmV0dXJuIG4odCl9fSh0KSx0JiZ0LnByZXNldCYmci5zZXRFeHRVbnBhY2tlcnModGhpcyksdGhpc312YXIgbz10KCIuL2V4dC1idWZmZXIiKS5FeHRCdWZmZXIscj10KCIuL2V4dC11bnBhY2tlciIpLHM9dCgiLi9yZWFkLWZvcm1hdCIpLnJlYWRVaW50OCxhPXQoIi4vcmVhZC10b2tlbiIpLGw9dCgiLi9jb2RlYy1iYXNlIik7bC5pbnN0YWxsKHthZGRFeHRVbnBhY2tlcjpmdW5jdGlvbih0LGUpeyh0aGlzLmV4dFVucGFja2Vyc3x8KHRoaXMuZXh0VW5wYWNrZXJzPVtdKSlbdF09bC5maWx0ZXIoZSl9LGdldEV4dFVucGFja2VyOmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLmV4dFVucGFja2Vyc3x8KHRoaXMuZXh0VW5wYWNrZXJzPVtdKSlbdF18fGZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbyhlLHQpfX0saW5pdDpufSksaS5wcmVzZXQ9bi5jYWxsKGwucHJlc2V0KX0seyIuL2NvZGVjLWJhc2UiOjksIi4vZXh0LWJ1ZmZlciI6MTcsIi4vZXh0LXVucGFja2VyIjoxOSwiLi9yZWFkLWZvcm1hdCI6MjMsIi4vcmVhZC10b2tlbiI6MjR9XSwyMzpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCxlKXt2YXIgaSxuPXt9LG89bmV3IEFycmF5KGUpLHI9bmV3IEFycmF5KGUpLHM9dC5jb2RlYy5kZWNvZGU7Zm9yKGk9MDtpPGU7aSsrKW9baV09cyh0KSxyW2ldPXModCk7Zm9yKGk9MDtpPGU7aSsrKW5bb1tpXV09cltpXTtyZXR1cm4gbn1mdW5jdGlvbiBvKHQsZSl7dmFyIGksbj1uZXcgTWFwLG89bmV3IEFycmF5KGUpLHI9bmV3IEFycmF5KGUpLHM9dC5jb2RlYy5kZWNvZGU7Zm9yKGk9MDtpPGU7aSsrKW9baV09cyh0KSxyW2ldPXModCk7Zm9yKGk9MDtpPGU7aSsrKW4uc2V0KG9baV0scltpXSk7cmV0dXJuIG59ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgaT1uZXcgQXJyYXkoZSksbj10LmNvZGVjLmRlY29kZSxvPTA7bzxlO28rKylpW29dPW4odCk7cmV0dXJuIGl9ZnVuY3Rpb24gcyh0LGUpe3ZhciBpPXQucmVzZXJ2ZShlKSxuPWkrZTtyZXR1cm4gUy50b1N0cmluZy5jYWxsKHQuYnVmZmVyLCJ1dGYtOCIsaSxuKX1mdW5jdGlvbiBhKHQsZSl7dmFyIGk9dC5yZXNlcnZlKGUpLG49aStlLG89Uy5zbGljZS5jYWxsKHQuYnVmZmVyLGksbik7cmV0dXJuIFQuZnJvbShvKX1mdW5jdGlvbiBsKHQsZSl7dmFyIGk9dC5yZXNlcnZlKGUpLG49aStlLG89Uy5zbGljZS5jYWxsKHQuYnVmZmVyLGksbik7cmV0dXJuIFQuVWludDhBcnJheS5mcm9tKG8pLmJ1ZmZlcn1mdW5jdGlvbiBjKHQsZSl7dmFyIGk9dC5yZXNlcnZlKGUrMSksbj10LmJ1ZmZlcltpKytdLG89aStlLHI9dC5jb2RlYy5nZXRFeHRVbnBhY2tlcihuKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZXh0IHR5cGU6ICIrKG4/IjB4IituLnRvU3RyaW5nKDE2KTpuKSk7cmV0dXJuIHIoUy5zbGljZS5jYWxsKHQuYnVmZmVyLGksbykpfWZ1bmN0aW9uIGgodCl7dmFyIGU9dC5yZXNlcnZlKDEpO3JldHVybiB0LmJ1ZmZlcltlXX1mdW5jdGlvbiB1KHQpe3ZhciBlPXQucmVzZXJ2ZSgxKSxpPXQuYnVmZmVyW2VdO3JldHVybiAxMjgmaT9pLTI1NjppfWZ1bmN0aW9uIHAodCl7dmFyIGU9dC5yZXNlcnZlKDIpLGk9dC5idWZmZXI7cmV0dXJuIGlbZSsrXTw8OHxpW2VdfWZ1bmN0aW9uIGYodCl7dmFyIGU9dC5yZXNlcnZlKDIpLGk9dC5idWZmZXIsbj1pW2UrK108PDh8aVtlXTtyZXR1cm4gMzI3Njgmbj9uLTY1NTM2Om59ZnVuY3Rpb24gZCh0KXt2YXIgZT10LnJlc2VydmUoNCksaT10LmJ1ZmZlcjtyZXR1cm4gMTY3NzcyMTYqaVtlKytdKyhpW2UrK108PDE2KSsoaVtlKytdPDw4KStpW2VdfWZ1bmN0aW9uIG0odCl7dmFyIGU9dC5yZXNlcnZlKDQpLGk9dC5idWZmZXI7cmV0dXJuIGlbZSsrXTw8MjR8aVtlKytdPDwxNnxpW2UrK108PDh8aVtlXX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBuPWkucmVzZXJ2ZSh0KTtyZXR1cm4gZS5jYWxsKGkuYnVmZmVyLG4sQSl9fWZ1bmN0aW9uIGcodCl7cmV0dXJuIG5ldyBWKHRoaXMsdCkudG9OdW1iZXIoKX1mdW5jdGlvbiBiKHQpe3JldHVybiBuZXcgQyh0aGlzLHQpLnRvTnVtYmVyKCl9ZnVuY3Rpb24gdih0KXtyZXR1cm4gbmV3IFYodGhpcyx0KX1mdW5jdGlvbiB3KHQpe3JldHVybiBuZXcgQyh0aGlzLHQpfWZ1bmN0aW9uIGsodCl7cmV0dXJuIF8ucmVhZCh0aGlzLHQsITEsMjMsNCl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gXy5yZWFkKHRoaXMsdCwhMSw1Miw4KX12YXIgXz10KCJpZWVlNzU0IiksRT10KCJpbnQ2NC1idWZmZXIiKSxWPUUuVWludDY0QkUsQz1FLkludDY0QkU7aS5nZXRSZWFkRm9ybWF0PWZ1bmN0aW9uKHQpe3ZhciBlPVQuaGFzQXJyYXlCdWZmZXImJnQmJnQuYmluYXJyYXlidWZmZXIsaT10JiZ0LmludDY0O3JldHVybnttYXA6UiYmdCYmdC51c2VtYXA/bzpuLGFycmF5OnIsc3RyOnMsYmluOmU/bDphLGV4dDpjLHVpbnQ4OmgsdWludDE2OnAsdWludDMyOmQsdWludDY0OnkoOCxpP3Y6ZyksaW50ODp1LGludDE2OmYsaW50MzI6bSxpbnQ2NDp5KDgsaT93OmIpLGZsb2F0MzI6eSg0LGspLGZsb2F0NjQ6eSg4LHgpfX0saS5yZWFkVWludDg9aDt2YXIgVD10KCIuL2J1ZmZlcmlzaCIpLFM9dCgiLi9idWZmZXJpc2gtcHJvdG8iKSxSPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLEE9ITB9LHsiLi9idWZmZXJpc2giOjgsIi4vYnVmZmVyaXNoLXByb3RvIjo2LGllZWU3NTQ6MzIsImludDY0LWJ1ZmZlciI6MzN9XSwyNDpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7dmFyIGUsaT1uZXcgQXJyYXkoMjU2KTtmb3IoZT0wO2U8PTEyNztlKyspaVtlXT1vKGUpO2ZvcihlPTEyODtlPD0xNDM7ZSsrKWlbZV09cyhlLTEyOCx0Lm1hcCk7Zm9yKGU9MTQ0O2U8PTE1OTtlKyspaVtlXT1zKGUtMTQ0LHQuYXJyYXkpO2ZvcihlPTE2MDtlPD0xOTE7ZSsrKWlbZV09cyhlLTE2MCx0LnN0cik7Zm9yKGlbMTkyXT1vKG51bGwpLGlbMTkzXT1udWxsLGlbMTk0XT1vKCExKSxpWzE5NV09byghMCksaVsxOTZdPXIodC51aW50OCx0LmJpbiksaVsxOTddPXIodC51aW50MTYsdC5iaW4pLGlbMTk4XT1yKHQudWludDMyLHQuYmluKSxpWzE5OV09cih0LnVpbnQ4LHQuZXh0KSxpWzIwMF09cih0LnVpbnQxNix0LmV4dCksaVsyMDFdPXIodC51aW50MzIsdC5leHQpLGlbMjAyXT10LmZsb2F0MzIsaVsyMDNdPXQuZmxvYXQ2NCxpWzIwNF09dC51aW50OCxpWzIwNV09dC51aW50MTYsaVsyMDZdPXQudWludDMyLGlbMjA3XT10LnVpbnQ2NCxpWzIwOF09dC5pbnQ4LGlbMjA5XT10LmludDE2LGlbMjEwXT10LmludDMyLGlbMjExXT10LmludDY0LGlbMjEyXT1zKDEsdC5leHQpLGlbMjEzXT1zKDIsdC5leHQpLGlbMjE0XT1zKDQsdC5leHQpLGlbMjE1XT1zKDgsdC5leHQpLGlbMjE2XT1zKDE2LHQuZXh0KSxpWzIxN109cih0LnVpbnQ4LHQuc3RyKSxpWzIxOF09cih0LnVpbnQxNix0LnN0ciksaVsyMTldPXIodC51aW50MzIsdC5zdHIpLGlbMjIwXT1yKHQudWludDE2LHQuYXJyYXkpLGlbMjIxXT1yKHQudWludDMyLHQuYXJyYXkpLGlbMjIyXT1yKHQudWludDE2LHQubWFwKSxpWzIyM109cih0LnVpbnQzMix0Lm1hcCksZT0yMjQ7ZTw9MjU1O2UrKylpW2VdPW8oZS0yNTYpO3JldHVybiBpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHIodCxlKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG49dChpKTtyZXR1cm4gZShpLG4pfX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBlKGksdCl9fXZhciBhPXQoIi4vcmVhZC1mb3JtYXQiKTtpLmdldFJlYWRUb2tlbj1mdW5jdGlvbih0KXt2YXIgZT1hLmdldFJlYWRGb3JtYXQodCk7cmV0dXJuIHQmJnQudXNlcmF3P2Z1bmN0aW9uKHQpe3ZhciBlLGk9bih0KS5zbGljZSgpO2ZvcihpWzIxN109aVsxOTZdLGlbMjE4XT1pWzE5N10saVsyMTldPWlbMTk4XSxlPTE2MDtlPD0xOTE7ZSsrKWlbZV09cyhlLTE2MCx0LmJpbik7cmV0dXJuIGl9KGUpOm4oZSl9fSx7Ii4vcmVhZC1mb3JtYXQiOjIzfV0sMjU6W2Z1bmN0aW9uKHQsZSxpKXtmdW5jdGlvbiBuKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLmVuY29kZT1mdW5jdGlvbih0KXt2YXIgZT1zLmdldFdyaXRlVHlwZSh0KTtyZXR1cm4gZnVuY3Rpb24odCxpKXt2YXIgbj1lW3R5cGVvZiBpXTtpZighbil0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHR5cGUgIicrdHlwZW9mIGkrJyI6ICcraSk7bih0LGkpfX0odCksdCYmdC5wcmVzZXQmJnIuc2V0RXh0UGFja2Vycyh0aGlzKSx0aGlzfXZhciBvPXQoIi4vZXh0LWJ1ZmZlciIpLkV4dEJ1ZmZlcixyPXQoIi4vZXh0LXBhY2tlciIpLHM9dCgiLi93cml0ZS10eXBlIiksYT10KCIuL2NvZGVjLWJhc2UiKTthLmluc3RhbGwoe2FkZEV4dFBhY2tlcjpmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbihlKXtyZXR1cm4gaSYmKGU9aShlKSksbmV3IG8oZSx0KX1pPWEuZmlsdGVyKGkpO3ZhciByPWUubmFtZTtyJiYiT2JqZWN0IiE9PXI/KHRoaXMuZXh0UGFja2Vyc3x8KHRoaXMuZXh0UGFja2Vycz17fSkpW3JdPW46KHRoaXMuZXh0RW5jb2Rlckxpc3R8fCh0aGlzLmV4dEVuY29kZXJMaXN0PVtdKSkudW5zaGlmdChbZSxuXSl9LGdldEV4dFBhY2tlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmV4dFBhY2tlcnN8fCh0aGlzLmV4dFBhY2tlcnM9e30pLGk9dC5jb25zdHJ1Y3RvcixuPWkmJmkubmFtZSYmZVtpLm5hbWVdO2lmKG4pcmV0dXJuIG47Zm9yKHZhciBvPXRoaXMuZXh0RW5jb2Rlckxpc3R8fCh0aGlzLmV4dEVuY29kZXJMaXN0PVtdKSxyPW8ubGVuZ3RoLHM9MDtzPHI7cysrKXt2YXIgYT1vW3NdO2lmKGk9PT1hWzBdKXJldHVybiBhWzFdfX0saW5pdDpufSksaS5wcmVzZXQ9bi5jYWxsKGEucHJlc2V0KX0seyIuL2NvZGVjLWJhc2UiOjksIi4vZXh0LWJ1ZmZlciI6MTcsIi4vZXh0LXBhY2tlciI6MTgsIi4vd3JpdGUtdHlwZSI6Mjd9XSwyNjpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4oKXt2YXIgdD15LnNsaWNlKCk7cmV0dXJuIHRbMTk2XT1vKDE5NiksdFsxOTddPXIoMTk3KSx0WzE5OF09cygxOTgpLHRbMTk5XT1vKDE5OSksdFsyMDBdPXIoMjAwKSx0WzIwMV09cygyMDEpLHRbMjAyXT1hKDIwMiw0LHcud3JpdGVGbG9hdEJFfHxoLCEwKSx0WzIwM109YSgyMDMsOCx3LndyaXRlRG91YmxlQkV8fHUsITApLHRbMjA0XT1vKDIwNCksdFsyMDVdPXIoMjA1KSx0WzIwNl09cygyMDYpLHRbMjA3XT1hKDIwNyw4LGwpLHRbMjA4XT1vKDIwOCksdFsyMDldPXIoMjA5KSx0WzIxMF09cygyMTApLHRbMjExXT1hKDIxMSw4LGMpLHRbMjE3XT1vKDIxNyksdFsyMThdPXIoMjE4KSx0WzIxOV09cygyMTkpLHRbMjIwXT1yKDIyMCksdFsyMjFdPXMoMjIxKSx0WzIyMl09cigyMjIpLHRbMjIzXT1zKDIyMyksdH1mdW5jdGlvbiBvKHQpe3JldHVybiBmdW5jdGlvbihlLGkpe3ZhciBuPWUucmVzZXJ2ZSgyKSxvPWUuYnVmZmVyO29bbisrXT10LG9bbl09aX19ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oZSxpKXt2YXIgbj1lLnJlc2VydmUoMyksbz1lLmJ1ZmZlcjtvW24rK109dCxvW24rK109aT4+Pjgsb1tuXT1pfX1mdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbihlLGkpe3ZhciBuPWUucmVzZXJ2ZSg1KSxvPWUuYnVmZmVyO29bbisrXT10LG9bbisrXT1pPj4+MjQsb1tuKytdPWk+Pj4xNixvW24rK109aT4+Pjgsb1tuXT1pfX1mdW5jdGlvbiBhKHQsZSxpLG4pe3JldHVybiBmdW5jdGlvbihvLHIpe3ZhciBzPW8ucmVzZXJ2ZShlKzEpO28uYnVmZmVyW3MrK109dCxpLmNhbGwoby5idWZmZXIscixzLG4pfX1mdW5jdGlvbiBsKHQsZSl7bmV3IGQodGhpcyxlLHQpfWZ1bmN0aW9uIGModCxlKXtuZXcgbSh0aGlzLGUsdCl9ZnVuY3Rpb24gaCh0LGUpe3Aud3JpdGUodGhpcyx0LGUsITEsMjMsNCl9ZnVuY3Rpb24gdSh0LGUpe3Aud3JpdGUodGhpcyx0LGUsITEsNTIsOCl9dmFyIHA9dCgiaWVlZTc1NCIpLGY9dCgiaW50NjQtYnVmZmVyIiksZD1mLlVpbnQ2NEJFLG09Zi5JbnQ2NEJFLHk9dCgiLi93cml0ZS11aW50OCIpLnVpbnQ4LGc9dCgiLi9idWZmZXJpc2giKSxiPWcuZ2xvYmFsLHY9Zy5oYXNCdWZmZXImJiJUWVBFRF9BUlJBWV9TVVBQT1JUImluIGImJiFiLlRZUEVEX0FSUkFZX1NVUFBPUlQsdz1nLmhhc0J1ZmZlciYmYi5wcm90b3R5cGV8fHt9O2kuZ2V0V3JpdGVUb2tlbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC51aW50OGFycmF5P2Z1bmN0aW9uKCl7dmFyIHQ9bigpO3JldHVybiB0WzIwMl09YSgyMDIsNCxoKSx0WzIwM109YSgyMDMsOCx1KSx0fSgpOnZ8fGcuaGFzQnVmZmVyJiZ0JiZ0LnNhZmU/ZnVuY3Rpb24oKXt2YXIgdD15LnNsaWNlKCk7cmV0dXJuIHRbMTk2XT1hKDE5NiwxLGIucHJvdG90eXBlLndyaXRlVUludDgpLHRbMTk3XT1hKDE5NywyLGIucHJvdG90eXBlLndyaXRlVUludDE2QkUpLHRbMTk4XT1hKDE5OCw0LGIucHJvdG90eXBlLndyaXRlVUludDMyQkUpLHRbMTk5XT1hKDE5OSwxLGIucHJvdG90eXBlLndyaXRlVUludDgpLHRbMjAwXT1hKDIwMCwyLGIucHJvdG90eXBlLndyaXRlVUludDE2QkUpLHRbMjAxXT1hKDIwMSw0LGIucHJvdG90eXBlLndyaXRlVUludDMyQkUpLHRbMjAyXT1hKDIwMiw0LGIucHJvdG90eXBlLndyaXRlRmxvYXRCRSksdFsyMDNdPWEoMjAzLDgsYi5wcm90b3R5cGUud3JpdGVEb3VibGVCRSksdFsyMDRdPWEoMjA0LDEsYi5wcm90b3R5cGUud3JpdGVVSW50OCksdFsyMDVdPWEoMjA1LDIsYi5wcm90b3R5cGUud3JpdGVVSW50MTZCRSksdFsyMDZdPWEoMjA2LDQsYi5wcm90b3R5cGUud3JpdGVVSW50MzJCRSksdFsyMDddPWEoMjA3LDgsbCksdFsyMDhdPWEoMjA4LDEsYi5wcm90b3R5cGUud3JpdGVJbnQ4KSx0WzIwOV09YSgyMDksMixiLnByb3RvdHlwZS53cml0ZUludDE2QkUpLHRbMjEwXT1hKDIxMCw0LGIucHJvdG90eXBlLndyaXRlSW50MzJCRSksdFsyMTFdPWEoMjExLDgsYyksdFsyMTddPWEoMjE3LDEsYi5wcm90b3R5cGUud3JpdGVVSW50OCksdFsyMThdPWEoMjE4LDIsYi5wcm90b3R5cGUud3JpdGVVSW50MTZCRSksdFsyMTldPWEoMjE5LDQsYi5wcm90b3R5cGUud3JpdGVVSW50MzJCRSksdFsyMjBdPWEoMjIwLDIsYi5wcm90b3R5cGUud3JpdGVVSW50MTZCRSksdFsyMjFdPWEoMjIxLDQsYi5wcm90b3R5cGUud3JpdGVVSW50MzJCRSksdFsyMjJdPWEoMjIyLDIsYi5wcm90b3R5cGUud3JpdGVVSW50MTZCRSksdFsyMjNdPWEoMjIzLDQsYi5wcm90b3R5cGUud3JpdGVVSW50MzJCRSksdH0oKTpuKCl9fSx7Ii4vYnVmZmVyaXNoIjo4LCIuL3dyaXRlLXVpbnQ4IjoyOCxpZWVlNzU0OjMyLCJpbnQ2NC1idWZmZXIiOjMzfV0sMjc6W2Z1bmN0aW9uKHQsZSxpKXt2YXIgbj10KCJpc2FycmF5Iiksbz10KCJpbnQ2NC1idWZmZXIiKSxyPW8uVWludDY0QkUscz1vLkludDY0QkUsYT10KCIuL2J1ZmZlcmlzaCIpLGw9dCgiLi9idWZmZXJpc2gtcHJvdG8iKSxjPXQoIi4vd3JpdGUtdG9rZW4iKSxoPXQoIi4vd3JpdGUtdWludDgiKS51aW50OCx1PXQoIi4vZXh0LWJ1ZmZlciIpLkV4dEJ1ZmZlcixwPSJ1bmRlZmluZWQiIT10eXBlb2YgVWludDhBcnJheSxmPSJ1bmRlZmluZWQiIT10eXBlb2YgTWFwLGQ9W107ZFsxXT0yMTIsZFsyXT0yMTMsZFs0XT0yMTQsZFs4XT0yMTUsZFsxNl09MjE2LGkuZ2V0V3JpdGVUeXBlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlKXtpZihudWxsPT09ZSlyZXR1cm4gaSh0LGUpO2lmKHYoZSkpcmV0dXJuIHcodCxlKTtpZihuKGUpKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciBpPWUubGVuZ3RoO3lbaTwxNj8xNDQraTppPD02NTUzNT8yMjA6MjIxXSh0LGkpO2Zvcih2YXIgbj10LmNvZGVjLmVuY29kZSxvPTA7bzxpO28rKyluKHQsZVtvXSl9KHQsZSk7aWYoci5pc1VpbnQ2NEJFKGUpKXJldHVybiBmdW5jdGlvbih0LGUpe3lbMjA3XSh0LGUudG9BcnJheSgpKX0odCxlKTtpZihzLmlzSW50NjRCRShlKSlyZXR1cm4gZnVuY3Rpb24odCxlKXt5WzIxMV0odCxlLnRvQXJyYXkoKSl9KHQsZSk7dmFyIG89dC5jb2RlYy5nZXRFeHRQYWNrZXIoZSk7cmV0dXJuIG8mJihlPW8oZSkpLGUgaW5zdGFuY2VvZiB1P2Z1bmN0aW9uKHQsZSl7dmFyIGk9ZS5idWZmZXIsbj1pLmxlbmd0aCxvPWRbbl18fChuPDI1NT8xOTk6bjw9NjU1MzU/MjAwOjIwMSk7eVtvXSh0LG4pLGhbZS50eXBlXSh0KSx0LnNlbmQoaSl9KHQsZSk6dm9pZCBrKHQsZSl9ZnVuY3Rpb24gaSh0LGUpe3lbMTkyXSh0LGUpfWZ1bmN0aW9uIG8odCxlKXt2YXIgaT1lLmxlbmd0aDt5W2k8MjU1PzE5NjppPD02NTUzNT8xOTc6MTk4XSh0LGkpLHQuc2VuZChlKX1mdW5jdGlvbiBtKHQsZSl7dmFyIGk9T2JqZWN0LmtleXMoZSksbj1pLmxlbmd0aDt5W248MTY/MTI4K246bjw9NjU1MzU/MjIyOjIyM10odCxuKTt2YXIgbz10LmNvZGVjLmVuY29kZTtpLmZvckVhY2goKGZ1bmN0aW9uKGkpe28odCxpKSxvKHQsZVtpXSl9KSl9dmFyIHk9Yy5nZXRXcml0ZVRva2VuKHQpLGc9dCYmdC51c2VyYXcsYj1wJiZ0JiZ0LmJpbmFycmF5YnVmZmVyLHY9Yj9hLmlzQXJyYXlCdWZmZXI6YS5pc0J1ZmZlcix3PWI/ZnVuY3Rpb24odCxlKXtvKHQsbmV3IFVpbnQ4QXJyYXkoZSkpfTpvLGs9ZiYmdCYmdC51c2VtYXA/ZnVuY3Rpb24odCxlKXtpZighKGUgaW5zdGFuY2VvZiBNYXApKXJldHVybiBtKHQsZSk7dmFyIGk9ZS5zaXplO3lbaTwxNj8xMjgraTppPD02NTUzNT8yMjI6MjIzXSh0LGkpO3ZhciBuPXQuY29kZWMuZW5jb2RlO2UuZm9yRWFjaCgoZnVuY3Rpb24oZSxpLG8pe24odCxpKSxuKHQsZSl9KSl9Om0seD17Ym9vbGVhbjpmdW5jdGlvbih0LGUpe3lbZT8xOTU6MTk0XSh0LGUpfSwiZnVuY3Rpb24iOmksbnVtYmVyOmZ1bmN0aW9uKHQsZSl7dmFyIGk9MHxlO3JldHVybiBlIT09aT92b2lkIHlbMjAzXSh0LGUpOnZvaWQgeVstMzI8PWkmJmk8PTEyNz8yNTUmaTowPD1pP2k8PTI1NT8yMDQ6aTw9NjU1MzU/MjA1OjIwNjotMTI4PD1pPzIwODotMzI3Njg8PWk/MjA5OjIxMF0odCxpKX0sb2JqZWN0Omc/ZnVuY3Rpb24odCxpKXtyZXR1cm4gdihpKT9mdW5jdGlvbih0LGUpe3ZhciBpPWUubGVuZ3RoO3lbaTwzMj8xNjAraTppPD02NTUzNT8yMTg6MjE5XSh0LGkpLHQuc2VuZChlKX0odCxpKTp2b2lkIGUodCxpKX06ZSxzdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsaSl7dmFyIG49aS5sZW5ndGgsbz01KzMqbjtlLm9mZnNldD1lLnJlc2VydmUobyk7dmFyIHI9ZS5idWZmZXIscz10KG4pLGE9ZS5vZmZzZXQrcztuPWwud3JpdGUuY2FsbChyLGksYSk7dmFyIGM9dChuKTtpZihzIT09Yyl7dmFyIGg9YStjLXMsdT1hK247bC5jb3B5LmNhbGwocixyLGgsYSx1KX15WzE9PT1jPzE2MCtuOmM8PTM/MjE1K2M6MjE5XShlLG4pLGUub2Zmc2V0Kz1ufX0oZz9mdW5jdGlvbih0KXtyZXR1cm4gdDwzMj8xOnQ8PTY1NTM1PzM6NX06ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MzI/MTp0PD0yNTU/Mjp0PD02NTUzNT8zOjV9KSxzeW1ib2w6aSx1bmRlZmluZWQ6aX07cmV0dXJuIHh9fSx7Ii4vYnVmZmVyaXNoIjo4LCIuL2J1ZmZlcmlzaC1wcm90byI6NiwiLi9leHQtYnVmZmVyIjoxNywiLi93cml0ZS10b2tlbiI6MjYsIi4vd3JpdGUtdWludDgiOjI4LCJpbnQ2NC1idWZmZXIiOjMzLGlzYXJyYXk6MzR9XSwyODpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpPWUucmVzZXJ2ZSgxKTtlLmJ1ZmZlcltpXT10fX1mb3IodmFyIG89aS51aW50OD1uZXcgQXJyYXkoMjU2KSxyPTA7cjw9MjU1O3IrKylvW3JdPW4ocil9LHt9XSwyOTpbZnVuY3Rpb24odCxlLGkpeyhmdW5jdGlvbihlKXtmdW5jdGlvbiBuKCl7cmV0dXJuIHIuVFlQRURfQVJSQVlfU1VQUE9SVD8yMTQ3NDgzNjQ3OjEwNzM3NDE4MjN9ZnVuY3Rpb24gbyh0LGUpe2lmKG4oKTxlKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHR5cGVkIGFycmF5IGxlbmd0aCIpO3JldHVybiByLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHQ9bmV3IFVpbnQ4QXJyYXkoZSkpLl9fcHJvdG9fXz1yLnByb3RvdHlwZToobnVsbD09PXQmJih0PW5ldyByKGUpKSx0Lmxlbmd0aD1lKSx0fWZ1bmN0aW9uIHIodCxlLGkpe2lmKCEoci5UWVBFRF9BUlJBWV9TVVBQT1JUfHx0aGlzIGluc3RhbmNlb2YgcikpcmV0dXJuIG5ldyByKHQsZSxpKTtpZigibnVtYmVyIj09dHlwZW9mIHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIklmIGVuY29kaW5nIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIik7cmV0dXJuIGwodGhpcyx0KX1yZXR1cm4gcyh0aGlzLHQsZSxpKX1mdW5jdGlvbiBzKHQsZSxpLG4pe2lmKCJudW1iZXIiPT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJyk7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP2Z1bmN0aW9uKHQsZSxpLG4pe2lmKGUuYnl0ZUxlbmd0aCxpPDB8fGUuYnl0ZUxlbmd0aDxpKXRocm93IG5ldyBSYW5nZUVycm9yKCInb2Zmc2V0JyBpcyBvdXQgb2YgYm91bmRzIik7aWYoZS5ieXRlTGVuZ3RoPGkrKG58fDApKXRocm93IG5ldyBSYW5nZUVycm9yKCInbGVuZ3RoJyBpcyBvdXQgb2YgYm91bmRzIik7cmV0dXJuIGU9dm9pZCAwPT09aSYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KGUsaSk6bmV3IFVpbnQ4QXJyYXkoZSxpLG4pLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odD1lKS5fX3Byb3RvX189ci5wcm90b3R5cGU6dD1jKHQsZSksdH0odCxlLGksbik6InN0cmluZyI9PXR5cGVvZiBlP2Z1bmN0aW9uKHQsZSxpKXtpZigic3RyaW5nIj09dHlwZW9mIGkmJiIiIT09aXx8KGk9InV0ZjgiKSwhci5pc0VuY29kaW5nKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJlbmNvZGluZyIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpO3ZhciBuPTB8dShlLGkpLHM9KHQ9byh0LG4pKS53cml0ZShlLGkpO3JldHVybiBzIT09biYmKHQ9dC5zbGljZSgwLHMpKSx0fSh0LGUsaSk6ZnVuY3Rpb24odCxlKXtpZihyLmlzQnVmZmVyKGUpKXt2YXIgaT0wfGgoZS5sZW5ndGgpO3JldHVybiAwPT09KHQ9byh0LGkpKS5sZW5ndGh8fGUuY29weSh0LDAsMCxpKSx0fWlmKGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fCJsZW5ndGgiaW4gZSlyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGUubGVuZ3RofHxmdW5jdGlvbih0KXtyZXR1cm4gdCE9dH0oZS5sZW5ndGgpP28odCwwKTpjKHQsZSk7aWYoIkJ1ZmZlciI9PT1lLnR5cGUmJk4oZS5kYXRhKSlyZXR1cm4gYyh0LGUuZGF0YSl9dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0LGUpfWZ1bmN0aW9uIGEodCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJzaXplIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7aWYodDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKX1mdW5jdGlvbiBsKHQsZSl7aWYoYShlKSx0PW8odCxlPDA/MDowfGgoZSkpLCFyLlRZUEVEX0FSUkFZX1NVUFBPUlQpZm9yKHZhciBpPTA7aTxlOysraSl0W2ldPTA7cmV0dXJuIHR9ZnVuY3Rpb24gYyh0LGUpe3ZhciBpPWUubGVuZ3RoPDA/MDowfGgoZS5sZW5ndGgpO3Q9byh0LGkpO2Zvcih2YXIgbj0wO248aTtuKz0xKXRbbl09MjU1JmVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gaCh0KXtpZih0Pj1uKCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK24oKS50b1N0cmluZygxNikrIiBieXRlcyIpO3JldHVybiAwfHR9ZnVuY3Rpb24gdSh0LGUpe2lmKHIuaXNCdWZmZXIodCkpcmV0dXJuIHQubGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcmJihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuIHQuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIHQmJih0PSIiK3QpO3ZhciBpPXQubGVuZ3RoO2lmKDA9PT1pKXJldHVybiAwO2Zvcih2YXIgbj0hMTs7KXN3aXRjaChlKXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiBpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIEYodCkubGVuZ3RoO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gMippO2Nhc2UiaGV4IjpyZXR1cm4gaT4+PjE7Y2FzZSJiYXNlNjQiOnJldHVybiBMKHQpLmxlbmd0aDtkZWZhdWx0OmlmKG4pcmV0dXJuIEYodCkubGVuZ3RoO2U9KCIiK2UpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gcCh0LGUsaSl7dmFyIG49ITE7aWYoKHZvaWQgMD09PWV8fGU8MCkmJihlPTApLGU+dGhpcy5sZW5ndGgpcmV0dXJuIiI7aWYoKHZvaWQgMD09PWl8fGk+dGhpcy5sZW5ndGgpJiYoaT10aGlzLmxlbmd0aCksaTw9MClyZXR1cm4iIjtpZigoaT4+Pj0wKTw9KGU+Pj49MCkpcmV0dXJuIiI7Zm9yKHR8fCh0PSJ1dGY4Iik7Oylzd2l0Y2godCl7Y2FzZSJoZXgiOnJldHVybiBDKHRoaXMsZSxpKTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiBfKHRoaXMsZSxpKTtjYXNlImFzY2lpIjpyZXR1cm4gRSh0aGlzLGUsaSk7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gVih0aGlzLGUsaSk7Y2FzZSJiYXNlNjQiOnJldHVybiB4KHRoaXMsZSxpKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIFQodGhpcyxlLGkpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3QpO3Q9KHQrIiIpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gZih0LGUsaSl7dmFyIG49dFtlXTt0W2VdPXRbaV0sdFtpXT1ufWZ1bmN0aW9uIGQodCxlLGksbixvKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiBpPyhuPWksaT0wKTppPjIxNDc0ODM2NDc/aT0yMTQ3NDgzNjQ3Omk8LTIxNDc0ODM2NDgmJihpPS0yMTQ3NDgzNjQ4KSxpPStpLGlzTmFOKGkpJiYoaT1vPzA6dC5sZW5ndGgtMSksaTwwJiYoaT10Lmxlbmd0aCtpKSxpPj10Lmxlbmd0aCl7aWYobylyZXR1cm4tMTtpPXQubGVuZ3RoLTF9ZWxzZSBpZihpPDApe2lmKCFvKXJldHVybi0xO2k9MH1pZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXIuZnJvbShlLG4pKSxyLmlzQnVmZmVyKGUpKXJldHVybiAwPT09ZS5sZW5ndGg/LTE6bSh0LGUsaSxuLG8pO2lmKCJudW1iZXIiPT10eXBlb2YgZSlyZXR1cm4gZSY9MjU1LHIuVFlQRURfQVJSQVlfU1VQUE9SVCYmImZ1bmN0aW9uIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/bz9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodCxlLGkpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodCxlLGkpOm0odCxbZV0saSxuLG8pO3Rocm93IG5ldyBUeXBlRXJyb3IoInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlciIpfWZ1bmN0aW9uIG0odCxlLGksbixvKXtmdW5jdGlvbiByKHQsZSl7cmV0dXJuIDE9PT1hP3RbZV06dC5yZWFkVUludDE2QkUoZSphKX12YXIgcyxhPTEsbD10Lmxlbmd0aCxjPWUubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJigidWNzMiI9PT0obj1TdHJpbmcobikudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1ufHwidXRmMTZsZSI9PT1ufHwidXRmLTE2bGUiPT09bikpe2lmKHQubGVuZ3RoPDJ8fGUubGVuZ3RoPDIpcmV0dXJuLTE7YT0yLGwvPTIsYy89MixpLz0yfWlmKG8pe3ZhciBoPS0xO2ZvcihzPWk7czxsO3MrKylpZihyKHQscyk9PT1yKGUsLTE9PT1oPzA6cy1oKSl7aWYoLTE9PT1oJiYoaD1zKSxzLWgrMT09PWMpcmV0dXJuIGgqYX1lbHNlLTEhPT1oJiYocy09cy1oKSxoPS0xfWVsc2UgZm9yKGkrYz5sJiYoaT1sLWMpLHM9aTtzPj0wO3MtLSl7Zm9yKHZhciB1PSEwLHA9MDtwPGM7cCsrKWlmKHIodCxzK3ApIT09cihlLHApKXt1PSExO2JyZWFrfWlmKHUpcmV0dXJuIHN9cmV0dXJuLTF9ZnVuY3Rpb24geSh0LGUsaSxuKXtpPU51bWJlcihpKXx8MDt2YXIgbz10Lmxlbmd0aC1pO24/KG49TnVtYmVyKG4pKT5vJiYobj1vKTpuPW87dmFyIHI9ZS5sZW5ndGg7aWYociUyIT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgaGV4IHN0cmluZyIpO24+ci8yJiYobj1yLzIpO2Zvcih2YXIgcz0wO3M8bjsrK3Mpe3ZhciBhPXBhcnNlSW50KGUuc3Vic3RyKDIqcywyKSwxNik7aWYoaXNOYU4oYSkpcmV0dXJuIHM7dFtpK3NdPWF9cmV0dXJuIHN9ZnVuY3Rpb24gZyh0LGUsaSxuKXtyZXR1cm4gSChGKGUsdC5sZW5ndGgtaSksdCxpLG4pfWZ1bmN0aW9uIGIodCxlLGksbil7cmV0dXJuIEgoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLGk9MDtpPHQubGVuZ3RoOysraSllLnB1c2goMjU1JnQuY2hhckNvZGVBdChpKSk7cmV0dXJuIGV9KGUpLHQsaSxuKX1mdW5jdGlvbiB2KHQsZSxpLG4pe3JldHVybiBiKHQsZSxpLG4pfWZ1bmN0aW9uIHcodCxlLGksbil7cmV0dXJuIEgoTChlKSx0LGksbil9ZnVuY3Rpb24gayh0LGUsaSxuKXtyZXR1cm4gSChmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSxuLG8scj1bXSxzPTA7czx0Lmxlbmd0aCYmISgoZS09Mik8MCk7KytzKWk9dC5jaGFyQ29kZUF0KHMpLG49aT4+OCxvPWklMjU2LHIucHVzaChvKSxyLnB1c2gobik7cmV0dXJuIHJ9KGUsdC5sZW5ndGgtaSksdCxpLG4pfWZ1bmN0aW9uIHgodCxlLGkpe3JldHVybiAwPT09ZSYmaT09PXQubGVuZ3RoP1AuZnJvbUJ5dGVBcnJheSh0KTpQLmZyb21CeXRlQXJyYXkodC5zbGljZShlLGkpKX1mdW5jdGlvbiBfKHQsZSxpKXtpPU1hdGgubWluKHQubGVuZ3RoLGkpO2Zvcih2YXIgbj1bXSxvPWU7bzxpOyl7dmFyIHIscyxhLGwsYz10W29dLGg9bnVsbCx1PWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYobyt1PD1pKXN3aXRjaCh1KXtjYXNlIDE6YzwxMjgmJihoPWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKHI9dFtvKzFdKSkmJigobD0oMzEmYyk8PDZ8NjMmcik+MTI3JiYoaD1sKSk7YnJlYWs7Y2FzZSAzOnI9dFtvKzFdLHM9dFtvKzJdLDEyOD09KDE5MiZyKSYmMTI4PT0oMTkyJnMpJiYoKGw9KDE1JmMpPDwxMnwoNjMmcik8PDZ8NjMmcyk+MjA0NyYmKGw8NTUyOTZ8fGw+NTczNDMpJiYoaD1sKSk7YnJlYWs7Y2FzZSA0OnI9dFtvKzFdLHM9dFtvKzJdLGE9dFtvKzNdLDEyOD09KDE5MiZyKSYmMTI4PT0oMTkyJnMpJiYxMjg9PSgxOTImYSkmJigobD0oMTUmYyk8PDE4fCg2MyZyKTw8MTJ8KDYzJnMpPDw2fDYzJmEpPjY1NTM1JiZsPDExMTQxMTImJihoPWwpKX1udWxsPT09aD8oaD02NTUzMyx1PTEpOmg+NjU1MzUmJihoLT02NTUzNixuLnB1c2goaD4+PjEwJjEwMjN8NTUyOTYpLGg9NTYzMjB8MTAyMyZoKSxuLnB1c2goaCksbys9dX1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9WilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7Zm9yKHZhciBpPSIiLG49MDtuPGU7KWkrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHQuc2xpY2UobixuKz1aKSk7cmV0dXJuIGl9KG4pfWZ1bmN0aW9uIEUodCxlLGkpe3ZhciBuPSIiO2k9TWF0aC5taW4odC5sZW5ndGgsaSk7Zm9yKHZhciBvPWU7bzxpOysrbyluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZ0W29dKTtyZXR1cm4gbn1mdW5jdGlvbiBWKHQsZSxpKXt2YXIgbj0iIjtpPU1hdGgubWluKHQubGVuZ3RoLGkpO2Zvcih2YXIgbz1lO288aTsrK28pbis9U3RyaW5nLmZyb21DaGFyQ29kZSh0W29dKTtyZXR1cm4gbn1mdW5jdGlvbiBDKHQsZSxpKXt2YXIgbj10Lmxlbmd0aDsoIWV8fGU8MCkmJihlPTApLCghaXx8aTwwfHxpPm4pJiYoaT1uKTtmb3IodmFyIG89IiIscj1lO3I8aTsrK3Ipbys9Tyh0W3JdKTtyZXR1cm4gb31mdW5jdGlvbiBUKHQsZSxpKXtmb3IodmFyIG49dC5zbGljZShlLGkpLG89IiIscj0wO3I8bi5sZW5ndGg7cis9MilvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG5bcl0rMjU2Km5bcisxXSk7cmV0dXJuIG99ZnVuY3Rpb24gUyh0LGUsaSl7aWYodCUxIT0wfHx0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm9mZnNldCBpcyBub3QgdWludCIpO2lmKHQrZT5pKXRocm93IG5ldyBSYW5nZUVycm9yKCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoIil9ZnVuY3Rpb24gUih0LGUsaSxuLG8scyl7aWYoIXIuaXNCdWZmZXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZmZlciIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKGU+b3x8ZTxzKXRocm93IG5ldyBSYW5nZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtpZihpK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIEEodCxlLGksbil7ZTwwJiYoZT02NTUzNStlKzEpO2Zvcih2YXIgbz0wLHI9TWF0aC5taW4odC5sZW5ndGgtaSwyKTtvPHI7KytvKXRbaStvXT0oZSYyNTU8PDgqKG4/bzoxLW8pKT4+PjgqKG4/bzoxLW8pfWZ1bmN0aW9uIEIodCxlLGksbil7ZTwwJiYoZT00Mjk0OTY3Mjk1K2UrMSk7Zm9yKHZhciBvPTAscj1NYXRoLm1pbih0Lmxlbmd0aC1pLDQpO288cjsrK28pdFtpK29dPWU+Pj44KihuP286My1vKSYyNTV9ZnVuY3Rpb24gVSh0LGUsaSxuLG8scil7aWYoaStuPnQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKTtpZihpPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIE0odCxlLGksbixvKXtyZXR1cm4gb3x8VSh0LDAsaSw0KSxELndyaXRlKHQsZSxpLG4sMjMsNCksaSs0fWZ1bmN0aW9uIFcodCxlLGksbixvKXtyZXR1cm4gb3x8VSh0LDAsaSw4KSxELndyaXRlKHQsZSxpLG4sNTIsOCksaSs4fWZ1bmN0aW9uIE8odCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEYodCxlKXtlPWV8fDEvMDtmb3IodmFyIGksbj10Lmxlbmd0aCxvPW51bGwscj1bXSxzPTA7czxuOysrcyl7aWYoKGk9dC5jaGFyQ29kZUF0KHMpKT41NTI5NSYmaTw1NzM0NCl7aWYoIW8pe2lmKGk+NTYzMTkpeyhlLT0zKT4tMSYmci5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1pZihzKzE9PT1uKXsoZS09Myk+LTEmJnIucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9bz1pO2NvbnRpbnVlfWlmKGk8NTYzMjApeyhlLT0zKT4tMSYmci5wdXNoKDIzOSwxOTEsMTg5KSxvPWk7Y29udGludWV9aT02NTUzNisoby01NTI5Njw8MTB8aS01NjMyMCl9ZWxzZSBvJiYoZS09Myk+LTEmJnIucHVzaCgyMzksMTkxLDE4OSk7aWYobz1udWxsLGk8MTI4KXtpZigoZS09MSk8MClicmVhaztyLnB1c2goaSl9ZWxzZSBpZihpPDIwNDgpe2lmKChlLT0yKTwwKWJyZWFrO3IucHVzaChpPj42fDE5Miw2MyZpfDEyOCl9ZWxzZSBpZihpPDY1NTM2KXtpZigoZS09Myk8MClicmVhaztyLnB1c2goaT4+MTJ8MjI0LGk+PjYmNjN8MTI4LDYzJml8MTI4KX1lbHNle2lmKCEoaTwxMTE0MTEyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29kZSBwb2ludCIpO2lmKChlLT00KTwwKWJyZWFrO3IucHVzaChpPj4xOHwyNDAsaT4+MTImNjN8MTI4LGk+PjYmNjN8MTI4LDYzJml8MTI4KX19cmV0dXJuIHJ9ZnVuY3Rpb24gTCh0KXtyZXR1cm4gUC50b0J5dGVBcnJheShmdW5jdGlvbih0KXtpZigodD1mdW5jdGlvbih0KXtyZXR1cm4gdC50cmltP3QudHJpbSgpOnQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfSh0KS5yZXBsYWNlKEksIiIpKS5sZW5ndGg8MilyZXR1cm4iIjtmb3IoO3QubGVuZ3RoJTQhPTA7KXQrPSI9IjtyZXR1cm4gdH0odCkpfWZ1bmN0aW9uIEgodCxlLGksbil7Zm9yKHZhciBvPTA7bzxuJiYhKG8raT49ZS5sZW5ndGh8fG8+PXQubGVuZ3RoKTsrK28pZVtvK2ldPXRbb107cmV0dXJuIG99dmFyIFA9dCgiYmFzZTY0LWpzIiksRD10KCJpZWVlNzU0IiksTj10KCJpc2FycmF5Iik7aS5CdWZmZXI9cixpLlNsb3dCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuK3QhPXQmJih0PTApLHIuYWxsb2MoK3QpfSxpLklOU1BFQ1RfTUFYX0JZVEVTPTUwLHIuVFlQRURfQVJSQVlfU1VQUE9SVD12b2lkIDAhPT1lLlRZUEVEX0FSUkFZX1NVUFBPUlQ/ZS5UWVBFRF9BUlJBWV9TVVBQT1JUOmZ1bmN0aW9uKCl7dHJ5e3ZhciB0PW5ldyBVaW50OEFycmF5KDEpO3JldHVybiB0Ll9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09dC5mb28oKSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc3ViYXJyYXkmJjA9PT10LnN1YmFycmF5KDEsMSkuYnl0ZUxlbmd0aH1jYXRjaCh0KXtyZXR1cm4hMX19KCksaS5rTWF4TGVuZ3RoPW4oKSxyLnBvb2xTaXplPTgxOTIsci5fYXVnbWVudD1mdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX189ci5wcm90b3R5cGUsdH0sci5mcm9tPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gcyhudWxsLHQsZSxpKX0sci5UWVBFRF9BUlJBWV9TVVBQT1JUJiYoci5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHIuX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZyW1N5bWJvbC5zcGVjaWVzXT09PXImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMH0pKSxyLmFsbG9jPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gZnVuY3Rpb24odCxlLGksbil7cmV0dXJuIGEoZSksZTw9MD9vKHQsZSk6dm9pZCAwIT09aT8ic3RyaW5nIj09dHlwZW9mIG4/byh0LGUpLmZpbGwoaSxuKTpvKHQsZSkuZmlsbChpKTpvKHQsZSl9KG51bGwsdCxlLGkpfSxyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe3JldHVybiBsKG51bGwsdCl9LHIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiBsKG51bGwsdCl9LHIuaXNCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIShudWxsPT10fHwhdC5faXNCdWZmZXIpfSxyLmNvbXBhcmU9ZnVuY3Rpb24odCxlKXtpZighci5pc0J1ZmZlcih0KXx8IXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKHQ9PT1lKXJldHVybiAwO2Zvcih2YXIgaT10Lmxlbmd0aCxuPWUubGVuZ3RoLG89MCxzPU1hdGgubWluKGksbik7bzxzOysrbylpZih0W29dIT09ZVtvXSl7aT10W29dLG49ZVtvXTticmVha31yZXR1cm4gaTxuPy0xOm48aT8xOjB9LHIuaXNFbmNvZGluZz1mdW5jdGlvbih0KXtzd2l0Y2goU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sci5jb25jYXQ9ZnVuY3Rpb24odCxlKXtpZighTih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PXQubGVuZ3RoKXJldHVybiByLmFsbG9jKDApO3ZhciBpO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxpPTA7aTx0Lmxlbmd0aDsrK2kpZSs9dFtpXS5sZW5ndGg7dmFyIG49ci5hbGxvY1Vuc2FmZShlKSxvPTA7Zm9yKGk9MDtpPHQubGVuZ3RoOysraSl7dmFyIHM9dFtpXTtpZighci5pc0J1ZmZlcihzKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7cy5jb3B5KG4sbyksbys9cy5sZW5ndGh9cmV0dXJuIG59LHIuYnl0ZUxlbmd0aD11LHIucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxyLnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpZih0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30sci5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KWYodGhpcyxlLGUrMyksZih0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpZih0aGlzLGUsZSs3KSxmKHRoaXMsZSsxLGUrNiksZih0aGlzLGUrMixlKzUpLGYodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30sci5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD0wfHRoaXMubGVuZ3RoO3JldHVybiAwPT09dD8iIjowPT09YXJndW1lbnRzLmxlbmd0aD9fKHRoaXMsMCx0KTpwLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sci5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe2lmKCFyLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIiKTtyZXR1cm4gdGhpcz09PXR8fDA9PT1yLmNvbXBhcmUodGhpcyx0KX0sci5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3ZhciB0PSIiLGU9aS5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gdGhpcy5sZW5ndGg+MCYmKHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLGUpLm1hdGNoKC8uezJ9L2cpLmpvaW4oIiAiKSx0aGlzLmxlbmd0aD5lJiYodCs9IiAuLi4gIikpLCI8QnVmZmVyICIrdCsiPiJ9LHIucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24odCxlLGksbixvKXtpZighci5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09aSYmKGk9dD90Lmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1vJiYobz10aGlzLmxlbmd0aCksZTwwfHxpPnQubGVuZ3RofHxuPDB8fG8+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKG4+PW8mJmU+PWkpcmV0dXJuIDA7aWYobj49bylyZXR1cm4tMTtpZihlPj1pKXJldHVybiAxO2lmKHRoaXM9PT10KXJldHVybiAwO2Zvcih2YXIgcz0obz4+Pj0wKS0obj4+Pj0wKSxhPShpPj4+PTApLShlPj4+PTApLGw9TWF0aC5taW4ocyxhKSxjPXRoaXMuc2xpY2UobixvKSxoPXQuc2xpY2UoZSxpKSx1PTA7dTxsOysrdSlpZihjW3VdIT09aFt1XSl7cz1jW3VdLGE9aFt1XTticmVha31yZXR1cm4gczxhPy0xOmE8cz8xOjB9LHIucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZih0LGUsaSl9LHIucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBkKHRoaXMsdCxlLGksITApfSxyLnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIGQodGhpcyx0LGUsaSwhMSl9LHIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxpLG4pe2lmKHZvaWQgMD09PWUpbj0idXRmOCIsaT10aGlzLmxlbmd0aCxlPTA7ZWxzZSBpZih2b2lkIDA9PT1pJiYic3RyaW5nIj09dHlwZW9mIGUpbj1lLGk9dGhpcy5sZW5ndGgsZT0wO2Vsc2V7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTtlfD0wLGlzRmluaXRlKGkpPyhpfD0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPWksaT12b2lkIDApfXZhciBvPXRoaXMubGVuZ3RoLWU7aWYoKHZvaWQgMD09PWl8fGk+bykmJihpPW8pLHQubGVuZ3RoPjAmJihpPDB8fGU8MCl8fGU+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIHI9ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiB5KHRoaXMsdCxlLGkpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIGcodGhpcyx0LGUsaSk7Y2FzZSJhc2NpaSI6cmV0dXJuIGIodGhpcyx0LGUsaSk7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gdih0aGlzLHQsZSxpKTtjYXNlImJhc2U2NCI6cmV0dXJuIHcodGhpcyx0LGUsaSk7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBrKHRoaXMsdCxlLGkpO2RlZmF1bHQ6aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCkscj0hMH19LHIucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIFo9NDA5NjtyLnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbih0LGUpe3ZhciBpLG49dGhpcy5sZW5ndGg7aWYoKHQ9fn50KTwwPyh0Kz1uKTwwJiYodD0wKTp0Pm4mJih0PW4pLChlPXZvaWQgMD09PWU/bjp+fmUpPDA/KGUrPW4pPDAmJihlPTApOmU+biYmKGU9biksZTx0JiYoZT10KSxyLlRZUEVEX0FSUkFZX1NVUFBPUlQpKGk9dGhpcy5zdWJhcnJheSh0LGUpKS5fX3Byb3RvX189ci5wcm90b3R5cGU7ZWxzZXt2YXIgbz1lLXQ7aT1uZXcgcihvLHZvaWQgMCk7Zm9yKHZhciBzPTA7czxvOysrcylpW3NdPXRoaXNbcyt0XX1yZXR1cm4gaX0sci5wcm90b3R5cGUucmVhZFVJbnRMRT1mdW5jdGlvbih0LGUsaSl7dHw9MCxlfD0wLGl8fFModCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1t0XSxvPTEscj0wOysrcjxlJiYobyo9MjU2KTspbis9dGhpc1t0K3JdKm87cmV0dXJuIG59LHIucHJvdG90eXBlLnJlYWRVSW50QkU9ZnVuY3Rpb24odCxlLGkpe3R8PTAsZXw9MCxpfHxTKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdCstLWVdLG89MTtlPjAmJihvKj0yNTYpOyluKz10aGlzW3QrLS1lXSpvO3JldHVybiBufSxyLnByb3RvdHlwZS5yZWFkVUludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Uyh0LDEsdGhpcy5sZW5ndGgpLHRoaXNbdF19LHIucHJvdG90eXBlLnJlYWRVSW50MTZMRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxTKHQsMix0aGlzLmxlbmd0aCksdGhpc1t0XXx0aGlzW3QrMV08PDh9LHIucHJvdG90eXBlLnJlYWRVSW50MTZCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxTKHQsMix0aGlzLmxlbmd0aCksdGhpc1t0XTw8OHx0aGlzW3QrMV19LHIucHJvdG90eXBlLnJlYWRVSW50MzJMRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxTKHQsNCx0aGlzLmxlbmd0aCksKHRoaXNbdF18dGhpc1t0KzFdPDw4fHRoaXNbdCsyXTw8MTYpKzE2Nzc3MjE2KnRoaXNbdCszXX0sci5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fFModCw0LHRoaXMubGVuZ3RoKSwxNjc3NzIxNip0aGlzW3RdKyh0aGlzW3QrMV08PDE2fHRoaXNbdCsyXTw8OHx0aGlzW3QrM10pfSxyLnByb3RvdHlwZS5yZWFkSW50TEU9ZnVuY3Rpb24odCxlLGkpe3R8PTAsZXw9MCxpfHxTKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0sbz0xLHI9MDsrK3I8ZSYmKG8qPTI1Nik7KW4rPXRoaXNbdCtyXSpvO3JldHVybiBuPj0obyo9MTI4KSYmKG4tPU1hdGgucG93KDIsOCplKSksbn0sci5wcm90b3R5cGUucmVhZEludEJFPWZ1bmN0aW9uKHQsZSxpKXt0fD0wLGV8PTAsaXx8Uyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj1lLG89MSxyPXRoaXNbdCstLW5dO24+MCYmKG8qPTI1Nik7KXIrPXRoaXNbdCstLW5dKm87cmV0dXJuIHI+PShvKj0xMjgpJiYoci09TWF0aC5wb3coMiw4KmUpKSxyfSxyLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxTKHQsMSx0aGlzLmxlbmd0aCksMTI4JnRoaXNbdF0/LTEqKDI1NS10aGlzW3RdKzEpOnRoaXNbdF19LHIucHJvdG90eXBlLnJlYWRJbnQxNkxFPWZ1bmN0aW9uKHQsZSl7ZXx8Uyh0LDIsdGhpcy5sZW5ndGgpO3ZhciBpPXRoaXNbdF18dGhpc1t0KzFdPDw4O3JldHVybiAzMjc2OCZpPzQyOTQ5MDE3NjB8aTppfSxyLnByb3RvdHlwZS5yZWFkSW50MTZCRT1mdW5jdGlvbih0LGUpe2V8fFModCwyLHRoaXMubGVuZ3RoKTt2YXIgaT10aGlzW3QrMV18dGhpc1t0XTw8ODtyZXR1cm4gMzI3NjgmaT80Mjk0OTAxNzYwfGk6aX0sci5wcm90b3R5cGUucmVhZEludDMyTEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Uyh0LDQsdGhpcy5sZW5ndGgpLHRoaXNbdF18dGhpc1t0KzFdPDw4fHRoaXNbdCsyXTw8MTZ8dGhpc1t0KzNdPDwyNH0sci5wcm90b3R5cGUucmVhZEludDMyQkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Uyh0LDQsdGhpcy5sZW5ndGgpLHRoaXNbdF08PDI0fHRoaXNbdCsxXTw8MTZ8dGhpc1t0KzJdPDw4fHRoaXNbdCszXX0sci5wcm90b3R5cGUucmVhZEZsb2F0TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Uyh0LDQsdGhpcy5sZW5ndGgpLEQucmVhZCh0aGlzLHQsITAsMjMsNCl9LHIucHJvdG90eXBlLnJlYWRGbG9hdEJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fFModCw0LHRoaXMubGVuZ3RoKSxELnJlYWQodGhpcyx0LCExLDIzLDQpfSxyLnByb3RvdHlwZS5yZWFkRG91YmxlTEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Uyh0LDgsdGhpcy5sZW5ndGgpLEQucmVhZCh0aGlzLHQsITAsNTIsOCl9LHIucHJvdG90eXBlLnJlYWREb3VibGVCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxTKHQsOCx0aGlzLmxlbmd0aCksRC5yZWFkKHRoaXMsdCwhMSw1Miw4KX0sci5wcm90b3R5cGUud3JpdGVVSW50TEU9ZnVuY3Rpb24odCxlLGksbil7KHQ9K3QsZXw9MCxpfD0wLG4pfHxSKHRoaXMsdCxlLGksTWF0aC5wb3coMiw4KmkpLTEsMCk7dmFyIG89MSxyPTA7Zm9yKHRoaXNbZV09MjU1JnQ7KytyPGkmJihvKj0yNTYpOyl0aGlzW2Urcl09dC9vJjI1NTtyZXR1cm4gZStpfSxyLnByb3RvdHlwZS53cml0ZVVJbnRCRT1mdW5jdGlvbih0LGUsaSxuKXsodD0rdCxlfD0wLGl8PTAsbil8fFIodGhpcyx0LGUsaSxNYXRoLnBvdygyLDgqaSktMSwwKTt2YXIgbz1pLTEscj0xO2Zvcih0aGlzW2Urb109MjU1JnQ7LS1vPj0wJiYocio9MjU2KTspdGhpc1tlK29dPXQvciYyNTU7cmV0dXJuIGUraX0sci5wcm90b3R5cGUud3JpdGVVSW50OD1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIHQ9K3QsZXw9MCxpfHxSKHRoaXMsdCxlLDEsMjU1LDApLHIuVFlQRURfQVJSQVlfU1VQUE9SVHx8KHQ9TWF0aC5mbG9vcih0KSksdGhpc1tlXT0yNTUmdCxlKzF9LHIucHJvdG90eXBlLndyaXRlVUludDE2TEU9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0PSt0LGV8PTAsaXx8Uih0aGlzLHQsZSwyLDY1NTM1LDApLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgpOkEodGhpcyx0LGUsITApLGUrMn0sci5wcm90b3R5cGUud3JpdGVVSW50MTZCRT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIHQ9K3QsZXw9MCxpfHxSKHRoaXMsdCxlLDIsNjU1MzUsMCksci5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW2VdPXQ+Pj44LHRoaXNbZSsxXT0yNTUmdCk6QSh0aGlzLHQsZSwhMSksZSsyfSxyLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD0rdCxlfD0wLGl8fFIodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlKzNdPXQ+Pj4yNCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2VdPTI1NSZ0KTpCKHRoaXMsdCxlLCEwKSxlKzR9LHIucHJvdG90eXBlLndyaXRlVUludDMyQkU9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0PSt0LGV8PTAsaXx8Uih0aGlzLHQsZSw0LDQyOTQ5NjcyOTUsMCksci5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW2VdPXQ+Pj4yNCx0aGlzW2UrMV09dD4+PjE2LHRoaXNbZSsyXT10Pj4+OCx0aGlzW2UrM109MjU1JnQpOkIodGhpcyx0LGUsITEpLGUrNH0sci5wcm90b3R5cGUud3JpdGVJbnRMRT1mdW5jdGlvbih0LGUsaSxuKXtpZih0PSt0LGV8PTAsIW4pe3ZhciBvPU1hdGgucG93KDIsOCppLTEpO1IodGhpcyx0LGUsaSxvLTEsLW8pfXZhciByPTAscz0xLGE9MDtmb3IodGhpc1tlXT0yNTUmdDsrK3I8aSYmKHMqPTI1Nik7KXQ8MCYmMD09PWEmJjAhPT10aGlzW2Urci0xXSYmKGE9MSksdGhpc1tlK3JdPSh0L3M+PjApLWEmMjU1O3JldHVybiBlK2l9LHIucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24odCxlLGksbil7aWYodD0rdCxlfD0wLCFuKXt2YXIgbz1NYXRoLnBvdygyLDgqaS0xKTtSKHRoaXMsdCxlLGksby0xLC1vKX12YXIgcj1pLTEscz0xLGE9MDtmb3IodGhpc1tlK3JdPTI1NSZ0Oy0tcj49MCYmKHMqPTI1Nik7KXQ8MCYmMD09PWEmJjAhPT10aGlzW2UrcisxXSYmKGE9MSksdGhpc1tlK3JdPSh0L3M+PjApLWEmMjU1O3JldHVybiBlK2l9LHIucHJvdG90eXBlLndyaXRlSW50OD1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIHQ9K3QsZXw9MCxpfHxSKHRoaXMsdCxlLDEsMTI3LC0xMjgpLHIuVFlQRURfQVJSQVlfU1VQUE9SVHx8KHQ9TWF0aC5mbG9vcih0KSksdDwwJiYodD0yNTUrdCsxKSx0aGlzW2VdPTI1NSZ0LGUrMX0sci5wcm90b3R5cGUud3JpdGVJbnQxNkxFPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD0rdCxlfD0wLGl8fFIodGhpcyx0LGUsMiwzMjc2NywtMzI3NjgpLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT0yNTUmdCx0aGlzW2UrMV09dD4+PjgpOkEodGhpcyx0LGUsITApLGUrMn0sci5wcm90b3R5cGUud3JpdGVJbnQxNkJFPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD0rdCxlfD0wLGl8fFIodGhpcyx0LGUsMiwzMjc2NywtMzI3NjgpLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+OCx0aGlzW2UrMV09MjU1JnQpOkEodGhpcyx0LGUsITEpLGUrMn0sci5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD0rdCxlfD0wLGl8fFIodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSxyLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44LHRoaXNbZSsyXT10Pj4+MTYsdGhpc1tlKzNdPXQ+Pj4yNCk6Qih0aGlzLHQsZSwhMCksZSs0fSxyLnByb3RvdHlwZS53cml0ZUludDMyQkU9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0PSt0LGV8PTAsaXx8Uih0aGlzLHQsZSw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLHQ8MCYmKHQ9NDI5NDk2NzI5NSt0KzEpLHIuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+MjQsdGhpc1tlKzFdPXQ+Pj4xNix0aGlzW2UrMl09dD4+PjgsdGhpc1tlKzNdPTI1NSZ0KTpCKHRoaXMsdCxlLCExKSxlKzR9LHIucHJvdG90eXBlLndyaXRlRmxvYXRMRT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIE0odGhpcyx0LGUsITAsaSl9LHIucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIE0odGhpcyx0LGUsITEsaSl9LHIucHJvdG90eXBlLndyaXRlRG91YmxlTEU9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBXKHRoaXMsdCxlLCEwLGkpfSxyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gVyh0aGlzLHQsZSwhMSxpKX0sci5wcm90b3R5cGUuY29weT1mdW5jdGlvbih0LGUsaSxuKXtpZihpfHwoaT0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLGU+PXQubGVuZ3RoJiYoZT10Lmxlbmd0aCksZXx8KGU9MCksbj4wJiZuPGkmJihuPWkpLG49PT1pKXJldHVybiAwO2lmKDA9PT10Lmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcyIpO2lmKGk8MHx8aT49dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZVN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzIik7bj50aGlzLmxlbmd0aCYmKG49dGhpcy5sZW5ndGgpLHQubGVuZ3RoLWU8bi1pJiYobj10Lmxlbmd0aC1lK2kpO3ZhciBvLHM9bi1pO2lmKHRoaXM9PT10JiZpPGUmJmU8bilmb3Iobz1zLTE7bz49MDstLW8pdFtvK2VdPXRoaXNbbytpXTtlbHNlIGlmKHM8MWUzfHwhci5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcihvPTA7bzxzOysrbyl0W28rZV09dGhpc1tvK2ldO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwodCx0aGlzLnN1YmFycmF5KGksaStzKSxlKTtyZXR1cm4gc30sci5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbih0LGUsaSxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZT8obj1lLGU9MCxpPXRoaXMubGVuZ3RoKToic3RyaW5nIj09dHlwZW9mIGkmJihuPWksaT10aGlzLmxlbmd0aCksMT09PXQubGVuZ3RoKXt2YXIgbz10LmNoYXJDb2RlQXQoMCk7bzwyNTYmJih0PW8pfWlmKHZvaWQgMCE9PW4mJiJzdHJpbmciIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nIik7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYhci5pc0VuY29kaW5nKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrbil9ZWxzZSJudW1iZXIiPT10eXBlb2YgdCYmKHQmPTI1NSk7aWYoZTwwfHx0aGlzLmxlbmd0aDxlfHx0aGlzLmxlbmd0aDxpKXRocm93IG5ldyBSYW5nZUVycm9yKCJPdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihpPD1lKXJldHVybiB0aGlzO3ZhciBzO2lmKGU+Pj49MCxpPXZvaWQgMD09PWk/dGhpcy5sZW5ndGg6aT4+PjAsdHx8KHQ9MCksIm51bWJlciI9PXR5cGVvZiB0KWZvcihzPWU7czxpOysrcyl0aGlzW3NdPXQ7ZWxzZXt2YXIgYT1yLmlzQnVmZmVyKHQpP3Q6RihuZXcgcih0LG4pLnRvU3RyaW5nKCkpLGw9YS5sZW5ndGg7Zm9yKHM9MDtzPGktZTsrK3MpdGhpc1tzK2VdPWFbcyVsXX1yZXR1cm4gdGhpc307dmFyIEk9L1teK1wvMC05QS1aYS16LV9dL2d9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiYmFzZTY0LWpzIjozMCxpZWVlNzU0OjMyLGlzYXJyYXk6MzR9XSwzMDpbZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCl7dmFyIGU9dC5sZW5ndGg7aWYoZSU0PjApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHN0cmluZy4gTGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0Iik7cmV0dXJuIj0iPT09dFtlLTJdPzI6Ij0iPT09dFtlLTFdPzE6MH1mdW5jdGlvbiBvKHQpe3JldHVybiBzW3Q+PjE4JjYzXStzW3Q+PjEyJjYzXStzW3Q+PjYmNjNdK3NbNjMmdF19ZnVuY3Rpb24gcih0LGUsaSl7Zm9yKHZhciBuLHI9W10scz1lO3M8aTtzKz0zKW49KHRbc108PDE2KSsodFtzKzFdPDw4KSt0W3MrMl0sci5wdXNoKG8obikpO3JldHVybiByLmpvaW4oIiIpfWkuYnl0ZUxlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gMyp0Lmxlbmd0aC80LW4odCl9LGkudG9CeXRlQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGUsaSxvLHIscyxjLGg9dC5sZW5ndGg7cz1uKHQpLGM9bmV3IGwoMypoLzQtcyksbz1zPjA/aC00Omg7dmFyIHU9MDtmb3IoZT0wLGk9MDtlPG87ZSs9NCxpKz0zKXI9YVt0LmNoYXJDb2RlQXQoZSldPDwxOHxhW3QuY2hhckNvZGVBdChlKzEpXTw8MTJ8YVt0LmNoYXJDb2RlQXQoZSsyKV08PDZ8YVt0LmNoYXJDb2RlQXQoZSszKV0sY1t1KytdPXI+PjE2JjI1NSxjW3UrK109cj4+OCYyNTUsY1t1KytdPTI1NSZyO3JldHVybiAyPT09cz8ocj1hW3QuY2hhckNvZGVBdChlKV08PDJ8YVt0LmNoYXJDb2RlQXQoZSsxKV0+PjQsY1t1KytdPTI1NSZyKToxPT09cyYmKHI9YVt0LmNoYXJDb2RlQXQoZSldPDwxMHxhW3QuY2hhckNvZGVBdChlKzEpXTw8NHxhW3QuY2hhckNvZGVBdChlKzIpXT4+MixjW3UrK109cj4+OCYyNTUsY1t1KytdPTI1NSZyKSxjfSxpLmZyb21CeXRlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGk9dC5sZW5ndGgsbj1pJTMsbz0iIixhPVtdLGw9MTYzODMsYz0wLGg9aS1uO2M8aDtjKz1sKWEucHVzaChyKHQsYyxjK2w+aD9oOmMrbCkpO3JldHVybiAxPT09bj8oZT10W2ktMV0sbys9c1tlPj4yXSxvKz1zW2U8PDQmNjNdLG8rPSI9PSIpOjI9PT1uJiYoZT0odFtpLTJdPDw4KSt0W2ktMV0sbys9c1tlPj4xMF0sbys9c1tlPj40JjYzXSxvKz1zW2U8PDImNjNdLG8rPSI9IiksYS5wdXNoKG8pLGEuam9pbigiIil9O2Zvcih2YXIgcz1bXSxhPVtdLGw9InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksYz0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsaD0wLHU9Yy5sZW5ndGg7aDx1OysraClzW2hdPWNbaF0sYVtjLmNoYXJDb2RlQXQoaCldPWg7YVsiLSIuY2hhckNvZGVBdCgwKV09NjIsYVsiXyIuY2hhckNvZGVBdCgwKV09NjN9LHt9XSwzMTpbZnVuY3Rpb24odCxlLGkpeyFmdW5jdGlvbih0KXtmdW5jdGlvbiBpKHQpe2Zvcih2YXIgZSBpbiBzKXRbZV09c1tlXTtyZXR1cm4gdH1mdW5jdGlvbiBuKHQsZSl7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdCE9PWUmJnQub3JpZ2luYWxMaXN0ZW5lciE9PWV9dmFyIHMsYT10aGlzO2lmKGFyZ3VtZW50cy5sZW5ndGgpe2lmKGUpe2lmKHM9byhhLHQsITApKXtpZighKHM9cy5maWx0ZXIoaSkpLmxlbmd0aClyZXR1cm4gbi5jYWxsKGEsdCk7YVtyXVt0XT1zfX1lbHNlIGlmKChzPWFbcl0pJiYoZGVsZXRlIHNbdF0sIU9iamVjdC5rZXlzKHMpLmxlbmd0aCkpcmV0dXJuIG4uY2FsbChhKX1lbHNlIGRlbGV0ZSBhW3JdO3JldHVybiBhfWZ1bmN0aW9uIG8odCxlLGkpe2lmKCFpfHx0W3JdKXt2YXIgbj10W3JdfHwodFtyXT17fSk7cmV0dXJuIG5bZV18fChuW2VdPVtdKX19dm9pZCAwIT09ZSYmKGUuZXhwb3J0cz10KTt2YXIgcj0ibGlzdGVuZXJzIixzPXtvbjpmdW5jdGlvbih0LGUpe3JldHVybiBvKHRoaXMsdCkucHVzaChlKSx0aGlzfSxvbmNlOmZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gaSgpe24uY2FsbChyLHQsaSksZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIHI9dGhpcztyZXR1cm4gaS5vcmlnaW5hbExpc3RlbmVyPWUsbyhyLHQpLnB1c2goaSkscn0sb2ZmOm4sZW1pdDpmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkodCl7dC5jYWxsKHMpfWZ1bmN0aW9uIG4odCl7dC5jYWxsKHMsZSl9ZnVuY3Rpb24gcih0KXt0LmFwcGx5KHMsYyl9dmFyIHM9dGhpcyxhPW8ocyx0LCEwKTtpZighYSlyZXR1cm4hMTt2YXIgbD1hcmd1bWVudHMubGVuZ3RoO2lmKDE9PT1sKWEuZm9yRWFjaChpKTtlbHNlIGlmKDI9PT1sKWEuZm9yRWFjaChuKTtlbHNle3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTthLmZvckVhY2gocil9cmV0dXJuISFhLmxlbmd0aH19O2kodC5wcm90b3R5cGUpLHQubWl4aW49aX0oKGZ1bmN0aW9uIG4oKXtpZighKHRoaXMgaW5zdGFuY2VvZiBuKSlyZXR1cm4gbmV3IG59KSl9LHt9XSwzMjpbZnVuY3Rpb24odCxlLGkpe2kucmVhZD1mdW5jdGlvbih0LGUsaSxuLG8pe3ZhciByLHMsYT04Km8tbi0xLGw9KDE8PGEpLTEsYz1sPj4xLGg9LTcsdT1pP28tMTowLHA9aT8tMToxLGY9dFtlK3VdO2Zvcih1Kz1wLHI9ZiYoMTw8LWgpLTEsZj4+PS1oLGgrPWE7aD4wO3I9MjU2KnIrdFtlK3VdLHUrPXAsaC09OCk7Zm9yKHM9ciYoMTw8LWgpLTEscj4+PS1oLGgrPW47aD4wO3M9MjU2KnMrdFtlK3VdLHUrPXAsaC09OCk7aWYoMD09PXIpcj0xLWM7ZWxzZXtpZihyPT09bClyZXR1cm4gcz9OYU46MS8wKihmPy0xOjEpO3MrPU1hdGgucG93KDIsbiksci09Y31yZXR1cm4oZj8tMToxKSpzKk1hdGgucG93KDIsci1uKX0saS53cml0ZT1mdW5jdGlvbih0LGUsaSxuLG8scil7dmFyIHMsYSxsLGM9OCpyLW8tMSxoPSgxPDxjKS0xLHU9aD4+MSxwPTIzPT09bz9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsZj1uPzA6ci0xLGQ9bj8xOi0xLG09ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhhPWlzTmFOKGUpPzE6MCxzPWgpOihzPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKGw9TWF0aC5wb3coMiwtcykpPDEmJihzLS0sbCo9MiksKGUrPXMrdT49MT9wL2w6cCpNYXRoLnBvdygyLDEtdSkpKmw+PTImJihzKyssbC89Mikscyt1Pj1oPyhhPTAscz1oKTpzK3U+PTE/KGE9KGUqbC0xKSpNYXRoLnBvdygyLG8pLHMrPXUpOihhPWUqTWF0aC5wb3coMix1LTEpKk1hdGgucG93KDIsbykscz0wKSk7bz49ODt0W2krZl09MjU1JmEsZis9ZCxhLz0yNTYsby09OCk7Zm9yKHM9czw8b3xhLGMrPW87Yz4wO3RbaStmXT0yNTUmcyxmKz1kLHMvPTI1NixjLT04KTt0W2krZi1kXXw9MTI4Km19fSx7fV0sMzM6W2Z1bmN0aW9uKHQsZSxpKXsoZnVuY3Rpb24odCl7IWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkodCxpLHYpe2Z1bmN0aW9uIHgodCxlLGksbil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiB4P2Z1bmN0aW9uKHQsZSxpLG4sbyl7aWYoeSYmZyYmKGUgaW5zdGFuY2VvZiBnJiYoZT1uZXcgeShlKSksbiBpbnN0YW5jZW9mIGcmJihuPW5ldyB5KG4pKSksIShlfHxpfHxufHxmKSlyZXR1cm4gdm9pZCh0LmJ1ZmZlcj1sKGIsMCkpO2lmKCFzKGUsaSkpe289aSxuPWUsaT0wLGU9bmV3KGZ8fEFycmF5KSg4KX10LmJ1ZmZlcj1lLHQub2Zmc2V0PWl8PTAsZCE9PXR5cGVvZiBuJiYoInN0cmluZyI9PXR5cGVvZiBuP2Z1bmN0aW9uKHQsZSxpLG4pe3ZhciBvPTAscj1pLmxlbmd0aCxzPTAsYT0wOyItIj09PWlbMF0mJm8rKztmb3IodmFyIGw9bztvPHI7KXt2YXIgYz1wYXJzZUludChpW28rK10sbik7aWYoIShjPj0wKSlicmVhazthPWEqbitjLHM9cypuK01hdGguZmxvb3IoYS93KSxhJT13fWwmJihzPX5zLGE/YT13LWE6cysrKSxFKHQsZStDLHMpLEUodCxlK1QsYSl9KGUsaSxuLG98fDEwKTpzKG4sbyk/YShlLGksbixvKToibnVtYmVyIj09dHlwZW9mIG8/KEUoZSxpK0MsbiksRShlLGkrVCxvKSk6bj4wP1UoZSxpLG4pOm48MD9NKGUsaSxuKTphKGUsaSxiLDApKX0odGhpcyx0LGUsaSxuKTpuZXcgeCh0LGUsaSxuKX1mdW5jdGlvbiBfKCl7dmFyIHQ9dGhpcy5idWZmZXIsZT10aGlzLm9mZnNldCxpPVYodCxlK0MpLG49Vih0LGUrVCk7cmV0dXJuIHZ8fChpfD0wKSxpP2kqdytuOm59ZnVuY3Rpb24gRSh0LGUsaSl7dFtlK0JdPTI1NSZpLGk+Pj04LHRbZStBXT0yNTUmaSxpPj49OCx0W2UrUl09MjU1JmksaT4+PTgsdFtlK1NdPTI1NSZpfWZ1bmN0aW9uIFYodCxlKXtyZXR1cm4gdFtlK1NdKmsrKHRbZStSXTw8MTYpKyh0W2UrQV08PDgpK3RbZStCXX12YXIgQz1pPzA6NCxUPWk/NDowLFM9aT8wOjMsUj1pPzE6MixBPWk/MjoxLEI9aT8zOjAsVT1pP2M6dSxNPWk/aDpwLFc9eC5wcm90b3R5cGUsTz0iaXMiK3QsRj0iXyIrTztyZXR1cm4gVy5idWZmZXI9dm9pZCAwLFcub2Zmc2V0PTAsV1tGXT0hMCxXLnRvTnVtYmVyPV8sVy50b1N0cmluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmJ1ZmZlcixpPXRoaXMub2Zmc2V0LG49VihlLGkrQyksbz1WKGUsaStUKSxyPSIiLHM9IXYmJjIxNDc0ODM2NDgmbjtmb3IocyYmKG49fm4sbz13LW8pLHQ9dHx8MTA7Oyl7dmFyIGE9biV0KncrbztpZihuPU1hdGguZmxvb3Iobi90KSxvPU1hdGguZmxvb3IoYS90KSxyPShhJXQpLnRvU3RyaW5nKHQpK3IsIW4mJiFvKWJyZWFrfXJldHVybiBzJiYocj0iLSIrcikscn0sVy50b0pTT049XyxXLnRvQXJyYXk9bixtJiYoVy50b0J1ZmZlcj1vKSx5JiYoVy50b0FycmF5QnVmZmVyPXIpLHhbT109ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8IXRbRl0pfSxlW3RdPXgseH1mdW5jdGlvbiBuKHQpe3ZhciBlPXRoaXMuYnVmZmVyLGk9dGhpcy5vZmZzZXQ7cmV0dXJuIGY9bnVsbCwhMSE9PXQmJjA9PT1pJiY4PT09ZS5sZW5ndGgmJnYoZSk/ZTpsKGUsaSl9ZnVuY3Rpb24gbyhlKXt2YXIgaT10aGlzLmJ1ZmZlcixuPXRoaXMub2Zmc2V0O2lmKGY9bSwhMSE9PWUmJjA9PT1uJiY4PT09aS5sZW5ndGgmJnQuaXNCdWZmZXIoaSkpcmV0dXJuIGk7dmFyIG89bmV3IG0oOCk7cmV0dXJuIGEobywwLGksbiksb31mdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMuYnVmZmVyLGk9dGhpcy5vZmZzZXQsbj1lLmJ1ZmZlcjtpZihmPXksITEhPT10JiYwPT09aSYmbiBpbnN0YW5jZW9mIGcmJjg9PT1uLmJ5dGVMZW5ndGgpcmV0dXJuIG47dmFyIG89bmV3IHkoOCk7cmV0dXJuIGEobywwLGUsaSksby5idWZmZXJ9ZnVuY3Rpb24gcyh0LGUpe3ZhciBpPXQmJnQubGVuZ3RoO3JldHVybiBlfD0wLGkmJmUrODw9aSYmInN0cmluZyIhPXR5cGVvZiB0W2VdfWZ1bmN0aW9uIGEodCxlLGksbil7ZXw9MCxufD0wO2Zvcih2YXIgbz0wO288ODtvKyspdFtlKytdPTI1NSZpW24rK119ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LGUsZSs4KX1mdW5jdGlvbiBjKHQsZSxpKXtmb3IodmFyIG49ZSs4O24+ZTspdFstLW5dPTI1NSZpLGkvPTI1Nn1mdW5jdGlvbiBoKHQsZSxpKXt2YXIgbj1lKzg7Zm9yKGkrKztuPmU7KXRbLS1uXT0yNTUmLWleMjU1LGkvPTI1Nn1mdW5jdGlvbiB1KHQsZSxpKXtmb3IodmFyIG49ZSs4O2U8bjspdFtlKytdPTI1NSZpLGkvPTI1Nn1mdW5jdGlvbiBwKHQsZSxpKXt2YXIgbj1lKzg7Zm9yKGkrKztlPG47KXRbZSsrXT0yNTUmLWleMjU1LGkvPTI1Nn12YXIgZixkPSJ1bmRlZmluZWQiLG09ZCE9PXR5cGVvZiB0JiZ0LHk9ZCE9PXR5cGVvZiBVaW50OEFycmF5JiZVaW50OEFycmF5LGc9ZCE9PXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIsYj1bMCwwLDAsMCwwLDAsMCwwXSx2PUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiEhdCYmIltvYmplY3QgQXJyYXldIj09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSx3PTQyOTQ5NjcyOTYsaz0xNjc3NzIxNjtpKCJVaW50NjRCRSIsITAsITApLGkoIkludDY0QkUiLCEwLCExKSxpKCJVaW50NjRMRSIsITEsITApLGkoIkludDY0TEUiLCExLCExKX0oIm9iamVjdCI9PXR5cGVvZiBpJiYic3RyaW5nIiE9dHlwZW9mIGkubm9kZU5hbWU/aTp0aGlzfHx7fSl9KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjoyOX1dLDM0OltmdW5jdGlvbih0LGUsaSl7dmFyIG49e30udG9TdHJpbmc7ZS5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PW4uY2FsbCh0KX19LHt9XX0se30sWzFdKSgxKX0pKTt2YXIgUW89T2JqZWN0LmNyZWF0ZShudWxsKSwkbz13aW5kb3cubXNncGFjaztkZWxldGUgd2luZG93Lm1zZ3BhY2s7dmFyIFhvPW51bGwscW89bnVsbCx0cj1bXSxlcj1udWxsLGlyPW51bGw7ZnVuY3Rpb24gbnIodCl7aWYoQXJyYXkuaXNBcnJheSh0KSYmMCE9PXQubGVuZ3RoKXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpey0xPT09dHIuaW5kZXhPZih0KSYmdHIucHVzaCh0KX0pKX19ZnVuY3Rpb24gb3IoKXtyZXR1cm4hKCFYb3x8IXFvKSYmKC0xIT09WyJoc3ciLCJoc2oiLCJoc2wiXS5pbmRleE9mKFhvLnR5cGUpJiYoISgibiJpbiBxby5wYXlsb2FkKXx8cW8ucGF5bG9hZC5uPT09WG8udHlwZSkpfXZhciBycj1mdW5jdGlvbih0KXtpZihNdCgiU2V0IHNwZWMiLCJwcm9vZiIsImluZm8iLHQpLHQpe1hvPXQscW89bnVsbDt0cnl7cHIocW89RHQuZGVjb2RlKHQucmVxKSlbImNhdGNoIl0oKGZ1bmN0aW9uKCl7fSkpfWNhdGNoKGRzKXtVdCgicHJvb2YiLGRzKX19fSxzcj1mdW5jdGlvbih0KXt0JiYoZXI9dCl9LGFyPWZ1bmN0aW9uKHQpe2lyPXR9LGxyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXt2YXIgZSxpPVhvLG49cW87aWYoaSl0cnl7aWYoTXQoIlNvbHZlIFByb29mIiwicHJvb2YiLCJpbmZvIixpKSwhb3IoKSlyZXR1cm4gQnQoInByb29mOmludmFsaWQtZmlsZSIsImVycm9yIiwicHJvb2YiLHtzZWVuOmkmJmkudHlwZSx3YW50ZWQ6biYmbi5ufSksdm9pZCB0KHtzb2x2ZWQ6bnVsbCxzcGVjOml9KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBwcihuKX0pKS50aGVuKChmdW5jdGlvbihuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgbilyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJTY3JpcHQgaXMgbm90IGEgZnVuY3Rpb24iKSk7dmFyIG89e2Fzc2V0aG9zdDp1dC5hc3NldGhvc3QsZmV0Y2hBc3NldDpmdW5jdGlvbih0KXtyZXR1cm4gWGUucmV0cmlldmUodCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGV8fFhlLmZpbGUodCx7cmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciJ9KX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhfSkpfSxocmVmOmVyLGFyZGF0YTpudWxsLHZtX2RhdGE6aXJ9O3JldHVybiB0ci5sZW5ndGgmJihvLmVycm9ycz10ciksRGkubWVzc2FnZXMubGVuZ3RoJiYoby5tZXNzYWdlcz1EaS5jb25zdW1lTWVzc2FnZXMoKSksZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe0J0KCJwcm9vZjpleGVjLXRpbWVvdXQiLCJlcnJvciIsInByb29mIix7dHlwZTppLnR5cGUscmVxOmkucmVxfSksdCh7c29sdmVkOiJmYWlsIixzcGVjOml9KX0pLDFlNCksbihpLnJlcSxvKX0pKS50aGVuKChmdW5jdGlvbihuKXtjbGVhclRpbWVvdXQoZSksdCh7c29sdmVkOm4sc3BlYzppfSl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgZT9lOmUmJmUubWVzc2FnZTsic3RyaW5nIj09dHlwZW9mIG4mJi0xIT09bi5pbmRleE9mKCJodHRwIik/QnQoInByb29mOmFzc2V0LWVycm9yIiwiZXJyb3IiLCJwcm9vZiIse2Vycm9yOmV9KTpVdCgicHJvb2YiLGUpLHQoe3NvbHZlZDoiZmFpbCIsc3BlYzppfSl9KSl9Y2F0Y2goZHMpe1V0KCJwcm9vZiIsZHMpLHQoe3NvbHZlZDpudWxsLHNwZWM6aX0pfWVsc2UgdCh7c29sdmVkOm51bGwsc3BlYzpudWxsfSl9KSl9LGNyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSl7aWYoTXQoImQwIiwicHJvb2YiLCJpbmZvIixYbyksIW9yKCkpcmV0dXJuIEJ0KCJwcm9vZjppbnZhbGlkLWZpbGUiLCJlcnJvciIsInByb29mIix7c2VlbjpYbyYmWG8udHlwZSx3YW50ZWQ6cW8mJnFvLm59KSxlKHVuZGVmaW5lZCk7cHIocW8pLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBlP1Byb21pc2UucmVqZWN0KG5ldyBFcnJvcigiU2NyaXB0IGlzIG5vdCBhIGZ1bmN0aW9uIikpOmUoMCx0KX0pKS50aGVuKChmdW5jdGlvbih0KXtlKCRvLmRlY29kZSh0KSl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe1V0KCJkMCIsdCksZSh1bmRlZmluZWQpfSkpfSkpfSxocj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGUpe2lmKE10KCJlMSIsInByb29mIiwiaW5mbyIsWG8pLCFvcigpKXJldHVybiBCdCgicHJvb2Y6aW52YWxpZC1maWxlIiwiZXJyb3IiLCJwcm9vZiIse3NlZW46WG8mJlhvLnR5cGUsd2FudGVkOnFvJiZxby5ufSksZSh1bmRlZmluZWQpO3ByKHFvKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgZT9Qcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIlNjcmlwdCBpcyBub3QgYSBmdW5jdGlvbiIpKTplKDEsJG8uZW5jb2RlKHQpKX0pKS50aGVuKChmdW5jdGlvbih0KXtlKHQpfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtVdCgiZTEiLHQpLGUodW5kZWZpbmVkKX0pKX0pKX0sdXI9ZnVuY3Rpb24odCl7cmV0dXJuICRvLmVuY29kZSh0KX07ZnVuY3Rpb24gcHIodCl7dmFyIGU9dC5wYXlsb2FkLmw7Ii8iPT09ZVswXSYmKGU9Y3QuYXNzZXREb21haW4rZSk7dmFyIGk9dC5wYXlsb2FkLmksbj10LnBheWxvYWQubjsiLmpzIiE9PWUuc2xpY2UoLTMpJiYoZSs9Ii8iK24rIi5qcyIpO3ZhciBvPVFvW25dO2lmKG8mJm8ubG9jYXRpb249PT1lKXJldHVybiBvLnByb21pc2U7dmFyIHI9WGUuc2NyaXB0KGUse2ludGVncml0eTppfSkudGhlbigoZnVuY3Rpb24oKXt2YXIgdD13aW5kb3dbbl07dHJ5e3QoIklpST0uZXlKeklqb3dMQ0ptSWpvd0xDSmpJam93ZlE9PS4iKVsiY2F0Y2giXSgoZnVuY3Rpb24oKXt9KSl9Y2F0Y2gobXMpe31yZXR1cm4gdH0pKTtyZXR1cm4gUW9bbl09e2xvY2F0aW9uOmUscHJvbWlzZTpyfSxyfXZhciBmcj1udWxsLGRyPW51bGw7ZnVuY3Rpb24gbXIodCl7ZHImJihkci5lPURhdGUubm93KCktZHIucyxkci5yPXQsZnI9ZHIpfWZ1bmN0aW9uIHlyKHQpe3JldHVybiBpc05hTih0KT8tMTp0fWZ1bmN0aW9uIGdyKHQpe251bGwhPT10Pygic3RyaW5nIj09dHlwZW9mIHQubWZhX3Bob25lJiYoY3QubWZhRGF0YS5waG9uZT10Lm1mYV9waG9uZSksInN0cmluZyI9PXR5cGVvZiB0Lm1mYV9waG9uZXByZWZpeCYmKGN0Lm1mYURhdGEucGhvbmVwcmVmaXg9dC5tZmFfcGhvbmVwcmVmaXgpKTpjdC5tZmFEYXRhPXt9fWZ1bmN0aW9uIGJyKCl7cmV0dXJuLTEhPT1bInB0LUJSIiwiZXMtQlIiXS5pbmRleE9mKG5hdmlnYXRvci5sYW5ndWFnZSl9dmFyIHZyPW51bGwsd3I9bnVsbCxrcj1udWxsLHhyPW51bGwsX3I9e30sRXI9bnVsbCxWcj0hMSxDcj0hMSxUcj0hMSxTcj1udWxsLFJyPSExLEFyPTEwMCxCcj17bG9nQWN0aW9uOmZ1bmN0aW9uKHQpe0VyPXR9LHNldEVuY3J5cHRpb25TdXBwb3J0OmZ1bmN0aW9uKHQpe1ZyPXR9LGdldFRhc2tEYXRhOmZ1bmN0aW9uKHQsZSxpLG4sbyl7dD09PXVuZGVmaW5lZCYmKHQ9e30pO3ZhciByPWUucHJvb2Yscz17djoiNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZSIsc2l0ZWtleTpjdC5zaXRla2V5LGhvc3Q6Y3QuaG9zdCxobDpNZS5nZXRMb2NhbGUoKX07byYmKHMucj1vKSx1dC5zZSYmKHMuc2U9dXQuc2UpLCEwPT09Y3QuYTExeV90ZmUmJihzLmExMXlfdGZlPSEwKSxudWxsIT09RXImJihzLmFjdGlvbj1FcixFcj1udWxsKSxudWxsIT09eHImJihzLmV4dHJhRGF0YT1KU09OLnN0cmluZ2lmeSh4cikseHI9bnVsbCksdCYmKHMubW90aW9uRGF0YT1KU09OLnN0cmluZ2lmeSh0KSksaSYmKHMucGQ9SlNPTi5zdHJpbmdpZnkoaSkpLG4mJihzLnBkYz1KU09OLnN0cmluZ2lmeShuKSk7dmFyIGE9ZnVuY3Rpb24oKXtpZighcGVyZm9ybWFuY2V8fCFwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKXJldHVybiBudWxsO3ZhciB0LGUsaT17fSxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrPTEpLTEhPT0oZT1uW3RdKS5uYW1lLmluZGV4T2YoImNoZWNrc2l0ZWNvbmZpZyIpPyhpLmNzYz1lLmR1cmF0aW9uLGkuY3NjaD0oZS5uYW1lLnNwbGl0KCI6Ly8iKVsxXXx8IiIpLnNwbGl0KCIvIilbMF0saS5jc2NydD15cihlLnJlc3BvbnNlU3RhcnQtZS5yZXF1ZXN0U3RhcnQpLGkuY3NjZnQ9eXIoZS5yZXNwb25zZUVuZC1lLmZldGNoU3RhcnQpKTotMSE9PWUubmFtZS5pbmRleE9mKCJnZXRjYXB0Y2hhIikmJihpLmdjPWUuZHVyYXRpb24saS5nY2g9KGUubmFtZS5zcGxpdCgiOi8vIilbMV18fCIiKS5zcGxpdCgiLyIpWzBdLGkuZ2NydD15cihlLnJlc3BvbnNlU3RhcnQtZS5yZXF1ZXN0U3RhcnQpLGkuZ2NmdD15cihlLnJlc3BvbnNlRW5kLWUuZmV0Y2hTdGFydCkpO3JldHVybiBpfSgpO3JldHVybiBhJiYocy5wZW09SlNPTi5zdHJpbmdpZnkoYSkpLG51bGwhPT12ciYmKHdyPXZyLHMub2xkX2VrZXk9dnIpLG51bGwhPT1TciYmKHMucnFkYXRhPVNyKSxyJiYocy5uPXIuc29sdmVkfHxudWxsLHMuYz1yLnNwZWM/SlNPTi5zdHJpbmdpZnkoci5zcGVjKTpudWxsKSxlLmF1dGhUb2tlbiYmKHMuYXV0aF90b2tlbj1lLmF1dGhUb2tlbiksZS5oYXNQc3QhPT11bmRlZmluZWQmJihzLnBzdD1lLmhhc1BzdCksbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsaSl7dHJ5e3ZhciBuPSJhcnJheWJ1ZmZlciIsbz0icXVlcnkiLHI9e2FjY2VwdDoiYXBwbGljYXRpb24vanNvbiwgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiwiY29udGVudC10eXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn07Q3ImJihuPSJqc29uIixyLmFjY2VwdD0iYXBwbGljYXRpb24vanNvbiIpO3ZhciBhLGw9cztpZigiQXJyYXlCdWZmZXIiaW4gd2luZG93fHwoVnI9ITEpLFZyKXtkciYmKGRyLmdjZXM9RGF0ZS5ub3coKS1kci5zLGRyLmdjZWU9bnVsbCk7dmFyIGM9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzKSk7ZGVsZXRlIGMuYyxhPWhyKGMpLnRoZW4oKGZ1bmN0aW9uKHQpe3Q/KGRyJiYoZHIuZ2NlZT1EYXRlLm5vdygpLWRyLnMpLGw9dXIoW3MuYyx0XSksbz0iYXJyYXlidWZmZXIiLHJbImNvbnRlbnQtdHlwZSJdPSJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTpWcj0hMX0pKX1lbHNlIGE9UHJvbWlzZS5yZXNvbHZlKCk7YS50aGVuKChmdW5jdGlvbigpe3JldHVybiBOZSh7dXJsOnV0LmVuZHBvaW50KyIvZ2V0Y2FwdGNoYS8iK3Muc2l0ZWtleSxkYXRhOmwsZGF0YVR5cGU6byxyZXNwb25zZVR5cGU6bix3aXRoQ3JlZGVudGlhbHM6ITAscHN0OmUuaGFzUHN0PyJzZW5kLXJlZGVtcHRpb24tcmVjb3JkIjpudWxsLGhlYWRlcnM6cn0pfSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3ZhciBlPXQuYm9keXx8bnVsbDtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgcmVzcG9uc2UgYm9keS4iKTtpZigiQXJyYXlCdWZmZXIiaW4gd2luZG93JiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGRyJiYoZHIuZ2Nkcz1EYXRlLm5vdygpLWRyLnMsZHIuZ2NkZT1udWxsKSxjcihuZXcgVWludDhBcnJheShlKSkudGhlbigoZnVuY3Rpb24odCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJlcnJvci1wYXJzZS1ib2R5Iik7cmV0dXJuIGRyJiYoZHIuZ2NkZT1EYXRlLm5vdygpLWRyLnMpLHR9KSk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigidW5oYW5kbGVkLWdldGNhcHRjaGEtcmVzLXR5cGUtc3RyaW5nIik7cmV0dXJuIGV9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoITE9PT1lLnN1Y2Nlc3Mpe3ZhciBpPWVbImVycm9yLWNvZGVzIl18fFtdO3JldHVybiExPT09VHImJiEwPT09Q3ImJjA9PT1pLmxlbmd0aCYmKGkucHVzaCgiZXhwaXJlZC1zZXNzaW9uIiksVHI9ITApLC0xIT09aS5pbmRleE9mKCJpbnZhbGlkLWRhdGEiKSYmQnQoImludmFsaWQtZGF0YSIsImVycm9yIiwiYXBpIix7bW90aW9uRGF0YTpzLm1vdGlvbkRhdGF9KSx2b2lkIHQoZSl9QnIuc2V0RGF0YShlKSx0KGUpfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtDcj0hMCxWcj0hMSxpKHQpfSkpfWNhdGNoKG1zKXtpKG1zKX19KSl9LGxvYWRCdW5kbGU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLGkpe2lmKF9yW3RdKWUoX3JbdF0pO2Vsc2V7dmFyIG49QnIuY3JlYXRlQnVuZGxlVXJsKHQpO1hlLnNjcmlwdChuKS50aGVuKChmdW5jdGlvbigpe19yW3RdPXdpbmRvd1t0XSxlKF9yW3RdKX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7aSh7ZXZlbnQ6aXQuQlVORExFX0VSUk9SLG1lc3NhZ2U6IkZhaWxlZCB0byBnZXQgY2hhbGxlbmdlIGJ1bmRsZS4iLHJlYXNvbjp0fSl9KSl9fSkpfSxjcmVhdGVCdW5kbGVVcmw6ZnVuY3Rpb24odCl7cmV0dXJuKHV0LmFzc2V0aG9zdHx8Y3QuYXNzZXREb21haW4pKyIvY2FwdGNoYS92MS80OTQ4YjRkNjg0NzkyMWQ3YmYwYjg2Mzg4YzE0MTMxMWQ3ZjAzZTJlL2NoYWxsZW5nZS8iK3QrIi9jaGFsbGVuZ2UuanMifSxjaGVja0Fuc3dlcnM6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXhyLmtleSxvPXt2OiI0OTQ4YjRkNjg0NzkyMWQ3YmYwYjg2Mzg4YzE0MTMxMWQ3ZjAzZTJlIixqb2JfbW9kZTp4ci5yZXF1ZXN0X3R5cGUsYW5zd2Vyczp0LHNlcnZlcmRvbWFpbjpjdC5ob3N0LHNpdGVrZXk6Y3Quc2l0ZWtleSxtb3Rpb25EYXRhOkpTT04uc3RyaW5naWZ5KGUpfTt1dC5zZSYmKG8uc2U9dXQuc2UpLGkmJihvLm49aS5zb2x2ZWQsby5jPUpTT04uc3RyaW5naWZ5KGkuc3BlYykpO3ZhciByPTA7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe3RyeXtOZSh7dXJsOmZ1bmN0aW9uKCl7cmV0dXJuIHV0LmVuZHBvaW50KyIvY2hlY2tjYXB0Y2hhLyIrby5zaXRla2V5KyIvIitufSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIHI+MCYmKG8ucj1yKSxvfSxkYXRhVHlwZToianNvbiIscmVzcG9uc2VUeXBlOiJqc29uIix3aXRoQ3JlZGVudGlhbHM6ITAsaGVhZGVyczp7IkNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCJ9LHJldHJ5OnthdHRlbXB0czo0LGRlbGF5OkFyLG9uRmFpbDpmdW5jdGlvbih0LGUpe3IrPTEsTXQoImNoZWNrY2FwdGNoYSIsImFwaSIsImRlYnVnIix0KTt2YXIgaT10JiYwPT09dC5zdGF0dXM7cmV0dXJuIGU+MSYmIWk/e3JldHJ5OiEwLGRlbGF5OkFyfTowPT09ZSYmLTEhPT1hdC5pbmRleE9mKHV0LmVuZHBvaW50KT8odXQuZW5kcG9pbnQ9bnQse3JldHJ5OiEwLGRlbGF5OjB9KTp1dC5lbmRwb2ludD09PXN0fHx1dC5lbmRwb2ludD09PW50Pyh1dC5lbmRwb2ludD1vdCx7cmV0cnk6ITAsZGVsYXk6MH0pOnV0LmVuZHBvaW50PT09b3Q/YnIoKT97cmV0cnk6ITAsZGVsYXk6QXJ9Oih1dC5lbmRwb2ludD1ydCx7cmV0cnk6ITAsZGVsYXk6MH0pOnV0LmVuZHBvaW50PT09cnQ/KHV0LmVuZHBvaW50PW90LHtyZXRyeTohMCxkZWxheTowfSk6KEJ0KCJhcGk6Y2hlY2tjYXB0Y2hhIGZhaWxlZCIsImVycm9yIiwiY2hhbGxlbmdlIix7ZXJyb3I6dH0pLHtyZXRyeTohMCxkZWxheTpBcn0pfX19KS50aGVuKChmdW5jdGlvbihlKXt2YXIgaT1lLmJvZHl8fG51bGw7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHJlc3BvbnNlIGJvZHkuIik7aWYoITE9PT1pLnN1Y2Nlc3Mpe3ZhciBuPWlbImVycm9yLWNvZGVzIl18fFsiIl07LTEhPT1uLmluZGV4T2YoImludmFsaWQtZGF0YSIpJiZCdCgiaW52YWxpZC1kYXRhIiwiZXJyb3IiLCJhcGkiLHttb3Rpb25EYXRhOm8ubW90aW9uRGF0YX0pO3ZhciByPW4uam9pbigiLCAiKTt0aHJvdyBuZXcgRXJyb3Iocil9dChpKX0pKVsiY2F0Y2giXShlKX1jYXRjaChtcyl7ZShtcyl9fSkpfSxyZXBvcnRJc3N1ZTpmdW5jdGlvbih0LGUsaSl7dmFyIG49e3Rhc2tkYXRhOnhyLG9uX3VybDpjdC51cmwscmVwb3J0X2NhdGVnb3J5OnQsc2lkOmtyfTtpZihlJiYobi51c2VyX2NvbW1lbnRzPWUpLHdyJiYobi5sYXN0X2VrZXk9d3IpLGkmJnhyJiYiZmFsbGJhY2siIT09eHIucmVxdWVzdF90eXBlKXtmb3IodmFyIG89eHIudGFza2xpc3Qscj1udWxsLHM9LTE7KytzPG8ubGVuZ3RoJiYhcjspb1tzXS50YXNrX2tleT09PWkmJihyPW9bc10pO24udGFza2RhdGEudGFza2xpc3Q9W3JdfXJldHVybiBOZSh7dXJsOnV0LnJlcG9ydGFwaSsiL2J1Zy1yZXBvcnQiLGRhdGE6bixkYXRhVHlwZToianNvbiIscmVzcG9uc2VUeXBlOiJqc29uIix3aXRoQ3JlZGVudGlhbHM6ITAsaGVhZGVyczp7IkNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCJ9fSl9LGdldEVLZXk6ZnVuY3Rpb24oKXtyZXR1cm4gdnJ9LHNldERhdGE6ZnVuY3Rpb24odCl7eHI9dCx2cj10LmtleSxScj0hIXQucnEsa3J8fChrcj12cil9LHNldFJxRGF0YTpmdW5jdGlvbih0KXtTcj10fSxnZXRScURhdGE6ZnVuY3Rpb24oKXtyZXR1cm4gU3J9LGhhc1ByaXZhdGVTdGF0ZVRva2VuOmZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50Lmhhc1ByaXZhdGVUb2tlbiYmdXQuaXNTZWN1cmU/bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe2RvY3VtZW50Lmhhc1JlZGVtcHRpb25SZWNvcmQodXQucHN0SXNzdWVyKS50aGVuKChmdW5jdGlvbihlKXtlP3QoITApOmRvY3VtZW50Lmhhc1ByaXZhdGVUb2tlbih1dC5wc3RJc3N1ZXIsInByaXZhdGUtc3RhdGUtdG9rZW4iKS50aGVuKChmdW5jdGlvbihlKXtpZihlKXt2YXIgaT17djoiNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZSIsc2l0ZWtleTpjdC5zaXRla2V5LGhvc3Q6Y3QuaG9zdH07TmUoe3VybDp1dC5wc3RJc3N1ZXIrIi9wc3QvcmVkZW1wdGlvbiIsZGF0YTppLGRhdGFUeXBlOiJqc29uIixyZXNwb25zZVR5cGU6Impzb24iLHRpbWVvdXQ6MTUwMCxwc3Q6InRva2VuLXJlZGVtcHRpb24iLGhlYWRlcnM6e0FjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsIkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifX0pLnRoZW4oKGZ1bmN0aW9uKCl7dCghMCl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKGUpe0N0KGUpLHQodW5kZWZpbmVkKX0pKX1lbHNlIHQoITEpfSkpWyJjYXRjaCJdKChmdW5jdGlvbihlKXtDdChlKSx0KHVuZGVmaW5lZCl9KSl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKGUpe0N0KGUpLHQodW5kZWZpbmVkKX0pKX0pKTpQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKX0saXNScUNobDpmdW5jdGlvbigpe3JldHVybiBScn0sZ2V0RGF0YTpmdW5jdGlvbigpe3JldHVybiB4cn0sYXV0aGVudGljYXRlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9e3Y6IjQ5NDhiNGQ2ODQ3OTIxZDdiZjBiODYzODhjMTQxMzExZDdmMDNlMmUiLHNpdGVrZXk6Y3Quc2l0ZWtleSxob3N0OmN0Lmhvc3R9LG49LTE9PT1hdC5pbmRleE9mKHV0LmVuZHBvaW50KT91dC5lbmRwb2ludDpvdDtyZXR1cm4gdXQuc2UmJihpLnNlPXV0LnNlKSx0JiYoaS5uPXQuc29sdmVkfHxudWxsLGkuYz10LnNwZWM/SlNPTi5zdHJpbmdpZnkodC5zcGVjKTpudWxsKSxlJiYoaS5hbmRpbnQ9ZSksTmUoe3VybDpuKyIvYXV0aGVudGljYXRlIixkYXRhOmksZGF0YVR5cGU6Impzb24iLHJlc3BvbnNlVHlwZToianNvbiIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6MTUwMCxoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19KS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ib2R5fSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtpZig0MDE9PT10LnN0YXR1cylyZXR1cm4gdC5yZXNwb25zZTt0aHJvdyB0fSkpfX0sVXI9bnVsbDtmdW5jdGlvbiBNcigpeyJhbmRyb2lkImluIHdpbmRvdyYmIndlYnZpZXciaW4gd2luZG93LmFuZHJvaWQmJiJnZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXIiaW4gd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXIoe2Nsb3VkUHJvamVjdE51bWJlcjo4ODM5OTI0NzE3OX0pLnRoZW4oKGZ1bmN0aW9uKHQpe1VyPXR9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe0N0KHQpLFVyPW51bGx9KSl9dmFyIFdyPU90KCksT3I9MTAwO3ZhciBGcj1bIjEwMDAwMDAwLWZmZmYtZmZmZi1mZmZmLTAwMDAwMDAwMDAwMSIsIjIwMDAwMDAwLWZmZmYtZmZmZi1mZmZmLTAwMDAwMDAwMDAwMiIsIjMwMDAwMDAwLWZmZmYtZmZmZi1mZmZmLTAwMDAwMDAwMDAwMyJdLExyPXtzaXRla2V5OmZ1bmN0aW9uKHQpe3JldHVybiBhZS5VVUlEdjQodCl8fCIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiPT09dHx8LTEhPT1Gci5pbmRleE9mKHQpfSxkdW1teWtleTpmdW5jdGlvbih0KXtyZXR1cm4tMSE9PUZyLmluZGV4T2YodCl9LGxvZ286ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBhZS5JTUFHRSh0KTtpZih0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiFBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIGUgaW4gdCl7dmFyIGk9dFtlXTtpZigic3RyaW5nIj09dHlwZW9mIGkmJiFhZS5JTUFHRShpKSlyZXR1cm4hMX1yZXR1cm4hMH1yZXR1cm4hMX19O2Z1bmN0aW9uIEhyKCl7dmFyIHQsZSxpLG4sbyxyPUxyLmR1bW15a2V5KGN0LnNpdGVrZXkpO2lmKCJsb2NhbGhvc3QiPT09Y3QuaG9zdCYmIXIpe3ZhciBzPSJXYXJuaW5nOiBsb2NhbGhvc3QgZGV0ZWN0ZWQuIFBsZWFzZSB1c2UgYSB2YWxpZCBob3N0LiI7cmV0dXJuIGNvbnNvbGUuZXJyb3IocyksUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKHMpKX1yZXR1cm4odD1jdC5zaXRla2V5LGU9Y3QuaG9zdCxpPXR0LkJyb3dzZXIuc3VwcG9ydHNDYW52YXMoKT4+PjAsbj10dC5Ccm93c2VyLnN1cHBvcnRzV2ViQXNzZW1ibHkoKT4+PjAsbz10dC5Ccm93c2VyLnN1cHBvcnRzUFNUKCk+Pj4wLG5ldyBQcm9taXNlKChmdW5jdGlvbihyLHMpe3ZhciBhPXt2OiI0OTQ4YjRkNjg0NzkyMWQ3YmYwYjg2Mzg4YzE0MTMxMWQ3ZjAzZTJlIixob3N0OmUsc2l0ZWtleTp0LHNjOmksc3dhOm4sc3BzdDpvfTt1dC5zZSYmKGEuc2U9dXQuc2UpO3ZhciBsPTA7TmUoe3VybDpmdW5jdGlvbigpe3ZhciBlPXV0LmVuZHBvaW50O3JldHVybiBlPT09b3QmJjA9PT1sJiYhYnIoKSYmTWF0aC5yYW5kb20oKTwuMDEmJi0xPT09dC5pbmRleE9mKCItMDAwMC0wMDAwLTAwMDAtIikmJihlPXJ0KSxsPjAmJihhLnI9bCksZSsiL2NoZWNrc2l0ZWNvbmZpZz8iK0l0KGEpfSxyZXNwb25zZVR5cGU6Impzb24iLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYtMSE9PXQuaW5kZXhPZihydCk/M2UzOjVlM30saGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbiJ9LHJldHJ5OnthdHRlbXB0czo0LGRlbGF5Ok9yLG9uRmFpbDpmdW5jdGlvbih0LGUpe2wrPTEsTXQoImNoYWxsZW5nZSIsImFwaSIsImRlYnVnIix0KTt2YXIgaT10JiYoMD09PXQuc3RhdHVzfHw0Nzc9PT10LnN0YXR1cyk7cmV0dXJuIGU+MSYmIWk/e3JldHJ5OiEwLGRlbGF5Ok9yfTowPT09ZSYmLTEhPT1hdC5pbmRleE9mKHV0LmVuZHBvaW50KT8odXQuZW5kcG9pbnQ9bnQse3JldHJ5OiEwLGRlbGF5OjB9KTp1dC5lbmRwb2ludD09PXN0fHx1dC5lbmRwb2ludD09PW50Pyh1dC5lbmRwb2ludD1vdCx7cmV0cnk6ITAsZGVsYXk6MH0pOnV0LmVuZHBvaW50PT09b3Q/YnIoKT97cmV0cnk6ITAsZGVsYXk6T3J9Oih1dC5lbmRwb2ludD1ydCx7cmV0cnk6ITAsZGVsYXk6MH0pOnV0LmVuZHBvaW50PT09cnQ/KHV0LmVuZHBvaW50PW90LHtyZXRyeTohMCxkZWxheTowfSk6KEJ0KCJhcGk6Y2hlY2tzaXRlY29uZmlnLXN0YXR1cy0iKyh0JiZ0LnN0YXR1cyksImVycm9yIiwiY2hhbGxlbmdlIix7ZXJyb3I6dH0pLHtyZXRyeTp0IGluc3RhbmNlb2YgRXJyb3J8fDQwMD09PXQuc3RhdHVzLGRlbGF5Ok9yfSl9fX0pLnRoZW4oKGZ1bmN0aW9uKHQpe3ZhciBlPXQuYm9keXx8bnVsbDtpZihlKWlmKCExPT09ZS5zdWNjZXNzKXt2YXIgaT0oZVsiZXJyb3ItY29kZXMiXXx8W10pLmpvaW4oIiwgIik7cyh7bWVzc2FnZTppLGJvZHk6ZX0pfWVsc2UhZS5wYXNzJiZlLmVycm9yP3Moe21lc3NhZ2U6ZS5lcnJvcixib2R5OmV9KTpyKGUpO2Vsc2Ugcyh7bWVzc2FnZToiTWlzc2luZyByZXNwb25zZSBib2R5LiIsYm9keTplfSl9KSlbImNhdGNoIl0ocyl9KSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBNdCgiL2NoZWNrc2l0ZWNvbmZpZyBzdWNjZXNzIiwicmVxdWVzdCIsImluZm8iLHQpLHQuZW5kcG9pbnQmJi0xIT09YXQuaW5kZXhPZih1dC5lbmRwb2ludCk/KHV0LmVuZHBvaW50PXQuZW5kcG9pbnQsSHIoKSk6KHQuZW5kcG9pbnQmJi0xIT09YXQuaW5kZXhPZih1dC5lbmRwb2ludCkmJih1dC5lbmRwb2ludD10LmVuZHBvaW50KSxkZWxldGUgdC5lbmRwb2ludCx0KX0pKX12YXIgUHI9bmV3IG9uO1ByLmFkZCgiY29udHJhc3QiLHt9KSxQci5hZGQoImdyZXktcmVkIix7Y29tcG9uZW50OntjaGVja2JveDp7bWFpbjp7Ym9yZGVyOiIjNmE2YTZhIn19fX0pO2Z1bmN0aW9uIERyKCl7eGUuc2VsZih0aGlzLF9lLCIjYTExeS1sYWJlbCIpLHRoaXMuc3RhdGU9e3RpY2tlZDohMX0sdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5jc3Moe2Rpc3BsYXk6Im5vbmUifSksdGhpcy50cmFuc2xhdGUoKX1mdW5jdGlvbiBOcih0KXt2YXIgZT10LmdldCgpLGk9ZS5wYWxldHRlLG49ZS5jb21wb25lbnQsbz0ibGlnaHQiPT09aS5tb2RlO3JldHVybiBvbi5tZXJnZSh7bWFpbjp7ZmlsbDppLmdyZXlbMTAwXSxib3JkZXI6aS5ncmV5W28/NzAwOjIwMF19LGZvY3VzOntmaWxsOmkuZ3JleVsyMDBdLGJvcmRlcjppLmdyZXlbbz84MDA6MTAwXSxvdXRsaW5lOiJkYXJrIj09PXQuYWN0aXZlKCk/aS5zZWNvbmRhcnkubWFpbjppLnByaW1hcnkubWFpbn19LG4uaW5wdXQpfWZ1bmN0aW9uIFpyKCl7eGUuc2VsZih0aGlzLF9lLCIjY2hlY2tib3giKSx0aGlzLnN0YXRlPXtkaXNhYmxlZDohMSxmb2N1c2VkOiExLHZpc2libGU6ITAscGFzc2VkOiExfSx0aGlzLl9zdHlsZT1OcihQciksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwhMSksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJjaGVja2JveCIpLHRoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1saXZlIiwiYXNzZXJ0aXZlIiksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsImExMXktbGFiZWwiKSx0aGlzLm9uT3Zlcj10aGlzLm9uT3Zlci5iaW5kKHRoaXMpLHRoaXMub25PdXQ9dGhpcy5vbk91dC5iaW5kKHRoaXMpLHRoaXMub25Gb2N1cz10aGlzLm9uRm9jdXMuYmluZCh0aGlzKSx0aGlzLm9uQmx1cj10aGlzLm9uQmx1ci5iaW5kKHRoaXMpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigib3ZlciIsdGhpcy5vbk92ZXIpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigib3V0Iix0aGlzLm9uT3V0KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLm9uRm9jdXMpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5vbkJsdXIpfXhlLnByb3RvKERyLF9lKSxEci5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS50aWNrZWQ9InBhc3NlZCI9PT10LHRoaXMudHJhbnNsYXRlKCl9LERyLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN0YXRlLnRpY2tlZD8iJ0kgYW0gaHVtYW4nIGlzIG5vdyBjaGVja2VkLiBZb3UgYXJlIHZlcmlmaWVkIjoiJ0kgYW0gaHVtYW4nLCBTZWxlY3QgaW4gb3JkZXIgdG8gdHJpZ2dlciB0aGUgY2hhbGxlbmdlLCBvciB0byBieXBhc3MgaXQgaWYgeW91IGhhdmUgYW4gYWNjZXNzaWJpbGl0eSBjb29raWUiO3RoaXMuY29udGVudChNZS50cmFuc2xhdGUodCkpfSx4ZS5wcm90byhacixfZSksWnIucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dGhpcy5fc3R5bGU9TnIoUHIpO3ZhciB0PXRoaXMuc3RhdGUudmlzaWJsZT90aGlzLl9zdHlsZS5tYWluLmZpbGw6InRyYW5zcGFyZW50IixlPXRoaXMuc3RhdGUuZm9jdXNlZD90aGlzLl9zdHlsZS5mb2N1cy5ib3JkZXI6dGhpcy5fc3R5bGUubWFpbi5ib3JkZXIsaT10aGlzLnN0YXRlLnZpc2libGU/ZToidHJhbnNwYXJlbnQiLG49dGhpcy5fc3R5bGUuZm9jdXMub3V0bGluZTt0aGlzLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoyOCxoZWlnaHQ6MjgsYm9yZGVyV2lkdGg6IjFweCIsYm9yZGVyU3R5bGU6InNvbGlkIixib3JkZXJDb2xvcjppLGJvcmRlclJhZGl1czo0LGJhY2tncm91bmRDb2xvcjp0LG91dGxpbmVDb2xvcjpuLHRvcDowLGxlZnQ6MH0pfSxaci5wcm90b3R5cGUub25PdmVyPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUuZm9jdXNlZHx8dGhpcy5zdGF0ZS5kaXNhYmxlZHx8KHRoaXMuc3RhdGUuZm9jdXNlZD0iZm9jdXMiPT09dC5hY3Rpb24sdGhpcy5jc3Moe2JvcmRlckNvbG9yOnRoaXMuX3N0eWxlLmZvY3VzLmJvcmRlcn0pKX0sWnIucHJvdG90eXBlLm9uT3V0PWZ1bmN0aW9uKHQpe2lmKCJibHVyIj09PXQuYWN0aW9uKXRoaXMuc3RhdGUuZm9jdXNlZD0hMTtlbHNlIGlmKHRoaXMuc3RhdGUuZm9jdXNlZClyZXR1cm47dGhpcy5jc3Moe2JvcmRlckNvbG9yOnRoaXMuX3N0eWxlLm1haW4uYm9yZGVyfSl9LFpyLnByb3RvdHlwZS5vbkZvY3VzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuc3RhdGUuZGlzYWJsZWQpe3ZhciB0PXRoaXMuX3N0eWxlLmZvY3VzLm91dGxpbmU7dGhpcy5jc3Moe291dGxpbmU6IjJweCBzb2xpZCAiK3R9KX19LFpyLnByb3RvdHlwZS5vbkJsdXI9ZnVuY3Rpb24oKXt0aGlzLmNzcyh7b3V0bGluZToibm9uZSJ9KX0sWnIucHJvdG90eXBlLmRpc3BsYXk9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZS52aXNpYmxlPXQsdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4Iix0PzA6LTEpLHRoaXMuc3R5bGUoKX0sWnIucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUuZGlzYWJsZWQ9ImRpc2FibGVkIj09PXQsdGhpcy5zdGF0ZS5wYXNzZWQ9InBhc3NlZCI9PT10LHRoaXMuc3RhdGUudmlzaWJsZT0ibG9hZGluZyIhPT10JiYicGFzc2VkIiE9PXQsdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwibG9hZGluZyI9PT10fHwic29sdmluZyI9PT10Py0xOjApLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLHRoaXMuc3RhdGUucGFzc2VkKSx0aGlzLnN0YXRlLmRpc2FibGVkP3RoaXMuc2V0QXR0cmlidXRlKCJkaXNhYmxlZCIsIiIpOnRoaXMucmVtb3ZlQXR0cmlidXRlKCJkaXNhYmxlZCIpLHRoaXMuc3R5bGUoKX07ZnVuY3Rpb24gSXIoKXt4ZS5zZWxmKHRoaXMsdW4se3NlbGVjdG9yOiIucHVsc2UiLHNyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzYyUzZnhtbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSd1dGYtOCclM2YlM2UlM2MhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIlMmMgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgLS0lM2UlM2NzdmcgdmVyc2lvbj0nMS4xJyBpZD0nTGF5ZXJfMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0NCA0NCcgc3R5bGU9J2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDQgNDQlM2InIHhtbDpzcGFjZT0ncHJlc2VydmUnJTNlJTNjc3R5bGUgdHlwZT0ndGV4dC9jc3MnJTNlIC5zdDAlN2JmaWxsOm5vbmUlM2JzdHJva2U6JTIzRkY3QjAwJTNic3Ryb2tlLXdpZHRoOjIlM2IlN2QlM2Mvc3R5bGUlM2UlM2NnJTNlICUzY2NpcmNsZSBjbGFzcz0nc3QwJyBjeD0nMjInIGN5PScyMicgcj0nMSclM2UgJTNjYW5pbWF0ZSBhY2N1bXVsYXRlPSdub25lJyBhZGRpdGl2ZT0ncmVwbGFjZScgYXR0cmlidXRlTmFtZT0ncicgYmVnaW49JzBzJyBjYWxjTW9kZT0nc3BsaW5lJyBkdXI9JzEuOHMnIGZpbGw9J3JlbW92ZScga2V5U3BsaW5lcz0nMC4xNjUlMmMgMC44NCUyYyAwLjQ0JTJjIDEnIGtleVRpbWVzPScwJTNiIDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyByZXN0YXJ0PSdhbHdheXMnIHZhbHVlcz0nMSUzYiAyMCclM2UgJTNjL2FuaW1hdGUlM2UgJTNjYW5pbWF0ZSBhY2N1bXVsYXRlPSdub25lJyBhZGRpdGl2ZT0ncmVwbGFjZScgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIGJlZ2luPScwcycgY2FsY01vZGU9J3NwbGluZScgZHVyPScxLjhzJyBmaWxsPSdyZW1vdmUnIGtleVNwbGluZXM9JzAuMyUyYyAwLjYxJTJjIDAuMzU1JTJjIDEnIGtleVRpbWVzPScwJTNiIDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyByZXN0YXJ0PSdhbHdheXMnIHZhbHVlcz0nMSUzYiAwJyUzZSAlM2MvYW5pbWF0ZSUzZSAlM2MvY2lyY2xlJTNlICUzY2NpcmNsZSBjbGFzcz0nc3QwJyBjeD0nMjInIGN5PScyMicgcj0nMSclM2UgJTNjYW5pbWF0ZSBhY2N1bXVsYXRlPSdub25lJyBhZGRpdGl2ZT0ncmVwbGFjZScgYXR0cmlidXRlTmFtZT0ncicgYmVnaW49Jy0wLjlzJyBjYWxjTW9kZT0nc3BsaW5lJyBkdXI9JzEuOHMnIGZpbGw9J3JlbW92ZScga2V5U3BsaW5lcz0nMC4xNjUlMmMgMC44NCUyYyAwLjQ0JTJjIDEnIGtleVRpbWVzPScwJTNiIDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyByZXN0YXJ0PSdhbHdheXMnIHZhbHVlcz0nMSUzYiAyMCclM2UgJTNjL2FuaW1hdGUlM2UgJTNjYW5pbWF0ZSBhY2N1bXVsYXRlPSdub25lJyBhZGRpdGl2ZT0ncmVwbGFjZScgYXR0cmlidXRlTmFtZT0nc3Ryb2tlLW9wYWNpdHknIGJlZ2luPSctMC45cycgY2FsY01vZGU9J3NwbGluZScgZHVyPScxLjhzJyBmaWxsPSdyZW1vdmUnIGtleVNwbGluZXM9JzAuMyUyYyAwLjYxJTJjIDAuMzU1JTJjIDEnIGtleVRpbWVzPScwJTNiIDEnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJyByZXN0YXJ0PSdhbHdheXMnIHZhbHVlcz0nMSUzYiAwJyUzZSAlM2MvYW5pbWF0ZSUzZSAlM2MvY2lyY2xlJTNlJTNjL2clM2UlM2Mvc3ZnJTNlIix3aWR0aDozMCxmYWxsYmFjazoiaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tL2NhcHRjaGEvdjEvNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZS9zdGF0aWMvaW1hZ2VzL3B1bHNlLmdpZiJ9KSx0aGlzLnN0YXRlPXt2aXNpYmxlOiExfX14ZS5wcm90byhJcix1biksSXIucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7dGhpcy5zaXplKCksdGhpcy5jc3Moe2Rpc3BsYXk6dGhpcy5zdGF0ZS52aXNpYmxlPyJibG9jayI6Im5vbmUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowfSl9LElyLnByb3RvdHlwZS5kaXNwbGF5PWZ1bmN0aW9uKHQpe3RoaXMuc3RhdGUudmlzaWJsZT10LHRoaXMuc3R5bGUoKX07ZnVuY3Rpb24ganIoKXt4ZS5zZWxmKHRoaXMsdW4se3NlbGVjdG9yOiIuY2hlY2siLHNyYzoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQzAwbEVRVlI0bk8yYVRVOFRRUnlIbjM5YklkWEVtM2p3TFFoZWZQa0FKb3JZTFlzbElGNjRvaHdNOGVRSDBBL2d6WVNMSVJvb3hCT1JLSnI0VWx0cTRzbXo4WWdRYjNvdzRZQW1VSFk4SUVwZ2Q3dlEzZTBzbWVlNCs1L3VQTCtkYVhkbUN3YUR3V0F3R0F3R2c4RmdNQmdNK3dCcjB1N0pGZTE3UVdyVFVYY21icXhKdXdkaFRwRGVqc0hPN05lNWhiSmYvYjRLWUZNZUpBdUFjS2xlQ1BzbWdCM3ltd2lYMm05MDFCWmZMSHgwYTVlS3BYY1I0eWtQZ1BxZEV2bmsxVmFpN0ZnYzFKTVhrZXZsbSs4OHAwQ2lBMmhVSGhJY1FCanlrTkFBd3BLSEJBWVFwandrTElDdzVTRkJBVVFoRHdrSklDcDVTRUFBVWNxRDVnRkVMUThhQnhDSFBHZ2FRRnp5b0dFQWNjcER3TlhneFptaExDcjZzUEpUdlhrL2VSU0RZY3BEZ0FBR3hnY09abGVXMzFoRisxR1VJVmlUZG85UzZxWGZuYStNbE42SGZWM2ZBQXBqaGRaZnJhdXpJbklGa2RHb1FvaDcyRy9GTTRDaG1hR1cxY1BPTStEYXY0TVJoTkJNZWZBSjRPZks4aGpRditPRXlLaFY3SDBZUmdqTm1QUGI4UXhnbmRRRFlNbjFwSEMzMFpIUXJEbS9IYzhBUG95OFhWSzFkRGV3NkZyUXdIVElGZTB1Uko0M2E5aHZwVzduYzAvNlRrbG12UXEwdXhZb05WNjVWYnFEb0lKY01GZTB1d1I1RFJ4eStiQlk1U0hnZzFCK09uOVNPWmtxcU5PdUJRRkQwRTBlZHZFa3VCRkNlaDdvY0Myb0U0S084ckNMOXdMbDRmSzN0S091QWd1dUJUN2ZDYnJLd3g3V0F2YUVmY0pKeWJ5Q1R0ZUNiU05CWjNuWTQyS28rMm5oZUtibVZPdUZrSnV5TCtzc0R3MnNCbk5UL2NkRXJWV0JNeDRsczZENi9CNXk0dmlkcjBkRFQzUFdZK3NvQnpMendObmdyZlM0ODVzMDlISzBjcnZ5bmJWYUR2Z1NySVZlOGhEU2hzamZrVkFCem5sWDZTY1BJZTRJMmROMlc4MlJpc0Q1bldmMWxJZVF0OFRzYWJ0dDNhRU1jdUgvVVgzbEllUS9TSlNHU3o5YW5MUUY2dlBHRWIzbElhSk4wY0pFNGNpYU9LOUljVjluK1dpSllSUFZZREFZREFhRG9SSCtBTHpmaXh5cmFzbkZBQUFBQUVsRlRrU3VRbUNDIix3aWR0aDozMCxsYWJlbDoiQ2hlY2sgbWFyayJ9KSx0aGlzLnN0YXRlPXt2aXNpYmxlOiExfSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKX1mdW5jdGlvbiB6cigpe3hlLnNlbGYodGhpcyxfZSwiI2FuY2hvci13ciIpLHRoaXMuc3RhdGU9e2Rpc2FibGVkOiExLGxvYWRpbmc6ITEsY2hlY2tlZDohMX07dmFyIHQ9dGhpcy5jcmVhdGVFbGVtZW50KCIjYW5jaG9yLXRkIiksZT10LmNyZWF0ZUVsZW1lbnQoIiNhbmNob3ItdGMiKSxpPWUuY3JlYXRlRWxlbWVudCgiI2FuY2hvci1zdGF0ZSIpO3RoaXMuYTExeT10aGlzLmluaXRDb21wb25lbnQoRHIpLHRoaXMuaW5wdXQ9dGhpcy5pbml0Q29tcG9uZW50KFpyLG51bGwsaSksdGhpcy5sb2FkaW5nPXRoaXMuaW5pdENvbXBvbmVudChJcixudWxsLGkpLHRoaXMuY2hlY2tlZD10aGlzLmluaXRDb21wb25lbnQoanIsbnVsbCxpKSx0aGlzLnRhYmxlPXQsdGhpcy5jZWxsPWUsdGhpcy53cmFwcGVyPWl9eGUucHJvdG8oanIsdW4pLGpyLnByb3RvdHlwZS5zdHlsZT1mdW5jdGlvbigpe3RoaXMuc2l6ZSgpLHRoaXMuY3NzKHtkaXNwbGF5OnRoaXMuc3RhdGUudmlzaWJsZT8iYmxvY2siOiJub25lIixwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLGxlZnQ6MCxhbmltYXRpb246dGhpcy5zdGF0ZS52aXNpYmxlPyJwb3AgMC40cyBsaW5lYXIiOiJhdXRvIn0pfSxqci5wcm90b3R5cGUuZGlzcGxheT1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnZpc2libGU9dCx0aGlzLnN0eWxlKCl9LHhlLnByb3RvKHpyLF9lKSx6ci5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dmFyIGU9dD82MDoiMTAwJSIsaT10PyIwcHggMTJweCI6IjBweCAxNXB4Ijt0aGlzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGhlaWdodDplLCItbXMtaGlnaC1jb250cmFzdC1hZGp1c3QiOiJub25lIn0pLHRoaXMudGFibGUuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6InRhYmxlIix0b3A6MCxoZWlnaHQ6IjEwMCUifSksdGhpcy5jZWxsLmNzcyh7ZGlzcGxheToidGFibGUtY2VsbCIsdmVydGljYWxBbGlnbjoibWlkZGxlIn0pO3RoaXMud3JhcHBlci5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsd2lkdGg6MzAsaGVpZ2h0OjMwLG1hcmdpbjppfSksdGhpcy5pbnB1dC5zdHlsZSgpLHRoaXMubG9hZGluZy5zdHlsZSgpLHRoaXMuY2hlY2tlZC5zdHlsZSgpfSx6ci5wcm90b3R5cGUuZGVzY3JpYmVCeT1mdW5jdGlvbih0KXt0JiZ0LmRvbSYmdC5kb20uaWQ/dGhpcy5pbnB1dC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdC5kb20uaWQpOnRoaXMuaW5wdXQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLCJhMTF5LWxhYmVsIil9LHpyLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT0ibG9hZGluZyI9PT10LGk9InBhc3NlZCI9PT10LG49ImRpc2FibGVkIj09PXQ7dGhpcy5jaGVja2VkLmRpc3BsYXkoaSksdGhpcy5sb2FkaW5nLmRpc3BsYXkoZSksdGhpcy5hMTF5LnNldFN0YXRlKHQpLHRoaXMuaW5wdXQuc2V0U3RhdGUodCksdGhpcy5zdGF0ZS5sb2FkaW5nPWUsdGhpcy5zdGF0ZS5jaGVja2VkPWksdGhpcy5zdGF0ZS5kaXNhYmxlZD1ufSx6ci5wcm90b3R5cGUuZm9jdXM9ZnVuY3Rpb24oKXt0aGlzLmlucHV0LmZvY3VzKCl9LHpyLnByb3RvdHlwZS5nZXRMb2NhdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaW5wdXQuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dC5ib3R0b20tdC50b3AsaT10LnJpZ2h0LXQubGVmdDtyZXR1cm57bGVmdDp0LmxlZnQscmlnaHQ6dC5yaWdodCx0b3A6dC50b3AsYm90dG9tOnQuYm90dG9tLHdpZHRoOmksaGVpZ2h0OmUseDp0LmxlZnQraS8yLHk6dC50b3ArZS8yfX0senIucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe3RoaXMuYTExeS50cmFuc2xhdGUoKSx0aGlzLmNoZWNrZWQudHJhbnNsYXRlKCl9O2Z1bmN0aW9uIEtyKCl7eGUuc2VsZih0aGlzLF9lLCJsYWJlbC1jb250YWluZXIiKSx0aGlzLnRhYmxlPXRoaXMuY3JlYXRlRWxlbWVudCgibGFiZWwtdGQiKSx0aGlzLmNlbGw9dGhpcy50YWJsZS5jcmVhdGVFbGVtZW50KCJsYWJlbC10YyIpLHRoaXMudGV4dD10aGlzLmNlbGwuY3JlYXRlRWxlbWVudCgiI2xhYmVsIiksdGhpcy50cmFuc2xhdGUoKX14ZS5wcm90byhLcixfZSksS3IucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXQ/NjA6IjEwMCUiLGk9dD8xMDA6MTcwLG49UHIuZ2V0KCkucGFsZXR0ZTt0aGlzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJpbmxpbmUtYmxvY2siLGhlaWdodDplLHdpZHRoOml9KSx0aGlzLnRhYmxlLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixkaXNwbGF5OiJ0YWJsZSIsdG9wOjAsaGVpZ2h0OiIxMDAlIn0pLHRoaXMuY2VsbC5jc3Moe2Rpc3BsYXk6InRhYmxlLWNlbGwiLHZlcnRpY2FsQWxpZ246Im1pZGRsZSJ9KSx0aGlzLnRleHQuY3NzKHtjb2xvcjpuLnRleHQuYm9keSxmb250U2l6ZToxNH0pfSxLci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9TWUudHJhbnNsYXRlKCJJIGFtIGh1bWFuIik7dGhpcy50ZXh0LmNvbnRlbnQodCl9O3ZhciBZcj0iUHJpdmFjeSIsSnI9Imh0dHBzOi8vaGNhcHRjaGEuY29tL3ByaXZhY3kiLEdyPSJQcml2YWN5IFBvbGljeSwgb3BlbnMgaW4gYSBuZXcgdGFiIixRcj0iVGVybXMiLCRyPSJodHRwczovL2hjYXB0Y2hhLmNvbS90ZXJtcyIsWHI9IlRlcm1zIG9mIFNlcnZpY2UsIG9wZW5zIGluIGEgbmV3IHRhYiI7ZnVuY3Rpb24gcXIodCl7eGUuc2VsZih0aGlzLF9lLCJhbmNob3ItbGlua3MiKSx0aGlzLnN0YXRlPXt0aGVtZTp0LnRoZW1lLHNpemU6dC5zaXplfSx0aGlzLnByaXZhY3k9dGhpcy5pbml0Q29tcG9uZW50KGxuLHt0aGVtZTpQcixsaW5rVG9Mb2NhbGU6ITAsdGV4dDpZcix1cmw6KHQucHJpdmFjeVVybHx8SnIpKyI/cmVmPSIrY3QuaG9zdCsiJnV0bV9jYW1wYWlnbj0iK2N0LnNpdGVrZXkrIiZ1dG1fbWVkaXVtPWNoZWNrYm94In0pLHRoaXMuaHlwaGVuPXRoaXMuaW5pdENvbXBvbmVudChjbix7dGV4dDoiIC0gIn0pLHRoaXMudGVybXM9dGhpcy5pbml0Q29tcG9uZW50KGxuLHt0aGVtZTpQcixsaW5rVG9Mb2NhbGU6ITAsdGV4dDpRcix1cmw6KHQudGVybXNVcmx8fCRyKSsiP3JlZj0iK2N0Lmhvc3QrIiZ1dG1fY2FtcGFpZ249IitjdC5zaXRla2V5KyImdXRtX21lZGl1bT1jaGVja2JveCJ9KSx0aGlzLnRyYW5zbGF0ZSgpfXhlLnByb3RvKHFyLF9lKSxxci5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbih0KXt2YXIgZT10LnBhbGV0dGUsaT10LmNvbXBvbmVudCxuPSJsaWdodCI9PT1lLm1vZGU7cmV0dXJuIG9uLm1lcmdlKHttYWluOmUuZ3JleVtuPzcwMDoyMDBdfSxpLmxpbmspfShQci5nZXQoKSksZT17Zm9udFNpemU6OCxjb2xvcjp0Lm1haW59O3RoaXMucHJpdmFjeS5zdHlsZShlKSx0aGlzLmh5cGhlbi5zdHlsZShlKSx0aGlzLnRlcm1zLnN0eWxlKGUpfSxxci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dGhpcy5wcml2YWN5LnRyYW5zbGF0ZSgpLHRoaXMudGVybXMudHJhbnNsYXRlKCksdGhpcy5wcml2YWN5LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsTWUudHJhbnNsYXRlKEdyKSksdGhpcy50ZXJtcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLE1lLnRyYW5zbGF0ZShYcikpLE1lLnNldERpcmVjdGlvbih0aGlzLE1lLmdldExvY2FsZSgpKX07dmFyIHRzPSJodHRwczovL3d3dy5oY2FwdGNoYS5jb20vd2hhdC1pcy1oY2FwdGNoYS1hYm91dCIsZXM9ImhDYXB0Y2hhIGxvZ28sIG9wZW5zIG5ldyB3aW5kb3cgd2l0aCBtb3JlIGluZm9ybWF0aW9uIjtmdW5jdGlvbiBpcyh0KXt4ZS5zZWxmKHRoaXMsX2UsImFuY2hvci1icmFuZCIpLHRoaXMuc3RhdGU9e3VybDp0LmxvZ29Vcmx8fHRzKyI/cmVmPSIrY3QuaG9zdCsiJnV0bV9jYW1wYWlnbj0iK2N0LnNpdGVrZXkrIiZ1dG1fbWVkaXVtPWNoZWNrYm94JmhsPSIrTWUuZ2V0TG9jYWxlKCksdGhlbWU6ImRhcmsiPT09dC50aGVtZT8iZGFyayI6ImxpZ2h0IixkaXNwbGF5OnQuZGlzcGxheUxvZ28sbGFiZWw6ImhDYXB0Y2hhIn0sdGhpcy5jdXN0b21Mb2dvPSEhdC5sb2dvO3ZhciBlPSJsaWdodCI9PT10aGlzLnN0YXRlLnRoZW1lPyJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPSc0NCcgaGVpZ2h0PSc0Nicgdmlld0JveD0nMCAwIDQ0IDQ2JyByb2xlPSdpbWcnIGFyaWEtaGlkZGVuPSd0cnVlJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00zMCAyOEgyNlYzMkgzMFYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yNiAyOEgyMlYzMkgyNlYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yMiAyOEgxOFYzMkgyMlYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00xOCAyOEgxNFYzMkgxOFYyOFonIGZpbGw9JyUyMzAwNzRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00zNCAyNEgzMFYyOEgzNFYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00zMCAyNEgyNlYyOEgzMFYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBkPSdNMjYgMjRIMjJWMjhIMjZWMjRaJyBmaWxsPSclMjMwMDgyQkYnLyUzZSUzY3BhdGggZD0nTTIyIDI0SDE4VjI4SDIyVjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTE4IDI0SDE0VjI4SDE4VjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTE0IDI0SDEwVjI4SDE0VjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTM4IDIwSDM0VjI0SDM4VjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTM0IDIwSDMwVjI0SDM0VjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIGQ9J00zMCAyMEgyNlYyNEgzMFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBkPSdNMjYgMjBIMjJWMjRIMjZWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggZD0nTTIyIDIwSDE4VjI0SDIyVjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIGQ9J00xOCAyMEgxNFYyNEgxOFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00xNCAyMEgxMFYyNEgxNFYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00xMCAyMEg2VjI0SDEwVjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTM4IDE2SDM0VjIwSDM4VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIGQ9J00zNCAxNkgzMFYyMEgzNFYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMzAgMTZIMjZWMjBIMzBWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTI2IDE2SDIyVjIwSDI2VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIGQ9J00yMiAxNkgxOFYyMEgyMlYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMTggMTZIMTRWMjBIMThWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTE0IDE2SDEwVjIwSDE0VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTEwIDE2SDZWMjBIMTBWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMzggMTJIMzRWMTZIMzhWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggZD0nTTM0IDEySDMwVjE2SDM0VjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00zMCAxMkgyNlYxNkgzMFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMjYgMTJIMjJWMTZIMjZWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggZD0nTTIyIDEySDE4VjE2SDIyVjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00xOCAxMkgxNFYxNkgxOFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMTQgMTJIMTBWMTZIMTRWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMTAgMTJINlYxNkgxMFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00zOCA4SDM0VjEySDM4VjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMzQgOEgzMFYxMkgzNFY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIGQ9J00zMCA4SDI2VjEySDMwVjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggZD0nTTI2IDhIMjJWMTJIMjZWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBkPSdNMjIgOEgxOFYxMkgyMlY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIGQ9J00xOCA4SDE0VjEySDE4VjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMTQgOEgxMFYxMkgxNFY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTEwIDhINlYxMkgxMFY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTM0IDRIMzBWOEgzNFY0WicgZmlsbD0nJTIzMDBDNkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTMwIDRIMjZWOEgzMFY0WicgZmlsbD0nJTIzMDBDNkJGJy8lM2UlM2NwYXRoIGQ9J00yNiA0SDIyVjhIMjZWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBkPSdNMjIgNEgxOFY4SDIyVjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMTggNEgxNFY4SDE4VjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMTQgNEgxMFY4SDE0VjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMzAgMEgyNlY0SDMwVjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMjYgMEgyMlY0SDI2VjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMjIgMEgxOFY0SDIyVjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMTggMEgxNFY0SDE4VjBaJyBmaWxsPSclMjMwMEQ0QkYnLyUzZSUzY3BhdGggZD0nTTE2LjUxNDEgMTQuOTY5N0wxNy42Mzc5IDEyLjQ1NzJDMTguMDQ1OSAxMS44MTI5IDE3Ljk5NTggMTEuMDI1NSAxNy41NDQ5IDEwLjU3NDVDMTcuNDg3NiAxMC41MTczIDE3LjQxNiAxMC40NiAxNy4zNDQ0IDEwLjQxNzFDMTcuMDM2NiAxMC4yMjM4IDE2LjY1NzIgMTAuMTgwOCAxNi4zMDY1IDEwLjI5NTRDMTUuOTE5OSAxMC40MTcxIDE1LjU4MzUgMTAuNjc0OCAxNS4zNjg3IDExLjAxODRDMTUuMzY4NyAxMS4wMTg0IDEzLjgyOTcgMTQuNjA0NiAxMy4yNjQyIDE2LjIxNTNDMTIuNjk4NyAxNy44MjU5IDEyLjkyMDYgMjAuNzgyMiAxNS4xMjU0IDIyLjk4N0MxNy40NjYxIDI1LjMyNzcgMjAuODQ0OCAyNS44NTc1IDIzLjAwNjYgMjQuMjM5N0MyMy4wOTk3IDI0LjE5NjcgMjMuMTc4NCAyNC4xMzk1IDIzLjI1NzIgMjQuMDc1MUwyOS45MDcyIDE4LjUyMDJDMzAuMjI5MyAxOC4yNTU0IDMwLjcwODkgMTcuNzA0MiAzMC4yNzk0IDE3LjA3NDNDMjkuODY0MiAxNi40NTg2IDI5LjA2OTcgMTYuODgxIDI4Ljc0MDQgMTcuMDg4NkwyNC45MTA3IDE5Ljg3MzFDMjQuODM5MSAxOS45MzA0IDI0LjczMTggMTkuOTIzMiAyNC42NjczIDE5Ljg1MTdDMjQuNjY3MyAxOS44NTE3IDI0LjY2NzMgMTkuODQ0NSAyNC42NjAyIDE5Ljg0NDVDMjQuNTYgMTkuNzIyOCAyNC41NDU2IDE5LjQwNzkgMjQuNjk2IDE5LjI4NjJMMzAuNTY1NyAxNC4zMDRDMzEuMDc0IDEzLjg0NTkgMzEuMTQ1NiAxMy4xODAyIDMwLjczMDQgMTIuNzI5MkMzMC4zMjk1IDEyLjI4NTQgMjkuNjkyNCAxMi4yOTk3IDI5LjE4NDIgMTIuNzU3OEwyMy45MTU3IDE2Ljg4MUMyMy44MTU1IDE2Ljk1OTcgMjMuNjY1MiAxNi45NDU0IDIzLjU4NjQgMTYuODQ1MkwyMy41NzkzIDE2LjgzOEMyMy40NzE5IDE2LjcyMzUgMjMuNDM2MSAxNi41MjMxIDIzLjU1MDYgMTYuNDAxNEwyOS41MzUgMTAuNTk2QzMwLjAwNzQgMTAuMTUyMiAzMC4wMzYgOS40MTQ5IDI5LjU5MjIgOC45NDI0NUMyOS4zNzc1IDguNzIwNTQgMjkuMDg0IDguNTkxNjkgMjguNzc2MiA4LjU5MTY5QzI4LjQ2MTIgOC41OTE2OSAyOC4xNjA2IDguNzA2MjMgMjcuOTM4NyA4LjkyODEzTDIxLjgyNTUgMTQuNjY5MUMyMS42ODIzIDE0LjgxMjIgMjEuMzk2IDE0LjY2OTEgMjEuMzYwMiAxNC40OTczQzIxLjM0NTkgMTQuNDMyOCAyMS4zNjc0IDE0LjM2ODQgMjEuNDEwMyAxNC4zMjU1TDI2LjA5MTggOC45OTk3MkMyNi41NTcxIDguNTYzMDYgMjYuNTg1OCA3LjgzMjkyIDI2LjE0OTEgNy4zNjc2M0MyNS43MTI0IDYuOTAyMzQgMjQuOTgyMyA2Ljg3MzcxIDI0LjUxNyA3LjMxMDM2QzI0LjQ5NTUgNy4zMjQ2OCAyNC40ODEyIDcuMzQ2MTUgMjQuNDU5NyA3LjM2NzYzTDE3LjM2NTkgMTUuMjIwM0MxNy4xMDgyIDE1LjQ3OCAxNi43MzYgMTUuNDg1MSAxNi41NTcgMTUuMzQyQzE2LjQ0MjUgMTUuMjQ4OSAxNi40MjgyIDE1LjA4NDMgMTYuNTE0MSAxNC45Njk3WicgZmlsbD0nd2hpdGUnLyUzZSUzY3BhdGggZD0nTTQuOTkxOTUgNDMuNjYyN0gzLjMyOTQ2VjQwLjgzMDZDMy4zMjk0NiA0MC4xNzY0IDMuMjQ4OCAzOS42MDczIDIuNTU0MjMgMzkuNjA3M0MxLjg1OTY2IDM5LjYwNzMgMS42NDkwNSA0MC4yMTY3IDEuNjQ5MDUgNDEuMDE0NFY0My42NjI3SDBWMzYuMTEySDEuNjQ5MDVWMzcuOTA0NUMxLjY0OTA1IDM4LjQ1MTIgMS42NDAwOCAzOS4wNDI3IDEuNjQwMDggMzkuMDQyN0MxLjg5OTk5IDM4LjU2MzIgMi4zODM5NSAzOC4xNjg5IDMuMTM2NzcgMzguMTY4OUM0LjYxMTA2IDM4LjE2ODkgNC45OTE5NSAzOS4xNjM3IDQuOTkxOTUgNDAuNDc2NlY0My42NjI3WicgZmlsbD0nJTIzNTU1NTU1Jy8lM2UlM2NwYXRoIGQ9J00xMi4wODEgNDIuNzYyQzExLjcxODEgNDMuMTU2MyAxMC45NjUyIDQzLjc4ODIgOS41MTMzNyA0My43ODgyQzcuNDIwNjkgNDMuNzg4MiA1Ljc3NjEyIDQyLjMyMjggNS43NzYxMiAzOS44OTQxQzUuNzc2MTIgMzcuNDU2NCA3LjQzODYxIDM2IDkuNTA4ODkgMzZDMTAuOTc0MiAzNiAxMS43Njc0IDM2LjY0NTMgMTEuOTU1NiAzNi44NTE0TDExLjQ0MDIgMzguMzE2N0MxMS4zMDU4IDM4LjEyODUgMTAuNTQ0IDM3LjUyODEgOS42MDI5OSAzNy41MjgxQzguMzk3NTcgMzcuNTI4MSA3LjQ2NTUgMzguMzc5NSA3LjQ2NTUgMzkuODU4MkM3LjQ2NTUgNDEuMzM3IDguNDMzNDIgNDIuMTc1IDkuNjAyOTkgNDIuMTc1QzEwLjQ5MDIgNDIuMTc1IDExLjEzMSA0MS44MDMgMTEuNTIwOSA0MS4zNzczTDEyLjA4MSA0Mi43NjJaJyBmaWxsPSclMjM1NTU1NTUnLyUzZSUzY3BhdGggZD0nTTE3LjMwMTYgNDMuNjYyN0gxNS43MjQyTDE1LjY5MjggNDMuMDkzNkMxNS40Nzc3IDQzLjMyMjEgMTUuMDY1NSA0My43ODM3IDE0LjIzNjUgNDMuNzgzN0MxMy4zNDAzIDQzLjc4MzcgMTIuMzkwMyA0My4yNjg0IDEyLjM5MDMgNDIuMDY3NEMxMi4zOTAzIDQwLjg2NjUgMTMuNDM0NCA0MC40NTg3IDE0LjM3MDkgNDAuNDEzOUwxNS42NTI1IDQwLjM2MDFWNDAuMjM5MUMxNS42NTI1IDM5LjY3IDE1LjI3MTYgMzkuMzc0MyAxNC42MDg0IDM5LjM3NDNDMTMuOTU4NiAzOS4zNzQzIDEzLjMwODkgMzkuNjc5IDEzLjA0OSAzOS44NTM4TDEyLjYxNDMgMzguNzJDMTMuMDQ5IDM4LjQ5MTUgMTMuODQyMSAzOC4xNzMzIDE0Ljc5MjEgMzguMTczM0MxNS43NDIxIDM4LjE3MzMgMTYuMjg4OCAzOC40MDE5IDE2LjY5MjEgMzguNzk2MkMxNy4wODIgMzkuMTkwNiAxNy4zMDE2IDM5LjcxNDggMTcuMzAxNiA0MC42MjQ1VjQzLjY2MjdaTTE1LjY1NyA0MS4yODc3TDE0Ljg0MTQgNDEuMzQxNUMxNC4zMzUxIDQxLjM2MzkgMTQuMDM0OCA0MS41OTI0IDE0LjAzNDggNDEuOTk1N0MxNC4wMzQ4IDQyLjQxMjUgMTQuMzUzIDQyLjY2MzQgMTQuODEwMSA0Mi42NjM0QzE1LjI1MzcgNDIuNjYzNCAxNS41NTM5IDQyLjM1ODcgMTUuNjU3IDQyLjE3MDVWNDEuMjg3N1onIGZpbGw9JyUyMzU1NTU1NScvJTNlJTNjcGF0aCBkPSdNMjEuNjAzNCA0My43NzkyQzIwLjg1MDYgNDMuNzc5MiAyMC4zMTI5IDQzLjQ4MzUgMTkuOTk0NyA0Mi45ODE2VjQ1LjYzODlIMTguMzQ1NlYzOC4yNjc0SDE5LjkxNEwxOS45MDUxIDM4Ljk1NzVIMTkuOTI3NUMyMC4yOTk0IDM4LjQ4NyAyMC44NDYxIDM4LjE2ODkgMjEuNjIxMyAzOC4xNjg5QzIzLjA4NjcgMzguMTY4OSAyNC4wMTQyIDM5LjM4MzIgMjQuMDE0MiA0MC45Njk2QzI0LjAxNDIgNDIuNTU1OSAyMy4wNzc3IDQzLjc3OTIgMjEuNjAzNCA0My43NzkyWk0yMS4xMjg0IDM5LjU0OUMyMC40MjQ5IDM5LjU0OSAxOS45NDA5IDQwLjExODEgMTkuOTQwOSA0MC45NDcxQzE5Ljk0MDkgNDEuNzc2MiAyMC40MjQ5IDQyLjM0NTMgMjEuMTI4NCA0Mi4zNDUzQzIxLjg0MDkgNDIuMzQ1MyAyMi4zMjQ5IDQxLjc3NjIgMjIuMzI0OSA0MC45NDcxQzIyLjMyNDkgNDAuMTE4MSAyMS44NDA5IDM5LjU0OSAyMS4xMjg0IDM5LjU0OVonIGZpbGw9JyUyMzU1NTU1NScvJTNlJTNjcGF0aCBkPSdNMjcuODMyMSAzOS42MDI4SDI2LjcwNzRWNDEuNTM4NkMyNi43MDc0IDQyLjAwMDIgMjYuNzcwMSA0Mi4xMDc3IDI2Ljg1MDggNDIuMjA2M0MyNi45MjI1IDQyLjI5NiAyNy4wMjU1IDQyLjMzNjMgMjcuMjQwNiA0Mi4zMzYzQzI3LjQxMDkgNDIuMzMxOCAyNy41NzY3IDQyLjMwMDQgMjcuNzM4IDQyLjIzNzdMMjcuODE4NyA0My42MDQ0QzI3LjQzNzggNDMuNzE2NSAyNy4wMzkgNDMuNzc0NyAyNi42NDQ2IDQzLjc3OTJDMjYuMDU3NiA0My43NzkyIDI1LjY2MzMgNDMuNTkxIDI1LjQwNzkgNDMuMjc3M0MyNS4xNTI0IDQyLjk2MzYgMjUuMDQ0OSA0Mi41MTEgMjUuMDQ0OSA0MS42OTFWMzkuNjAyOEgyNC4zMjM0VjM4LjI4MDlIMjUuMDQ0OVYzNi44MTU2SDI2LjcwNzRWMzguMjgwOUgyNy44MzIxVjM5LjYwMjhaJyBmaWxsPSclMjM1NTU1NTUnLyUzZSUzY3BhdGggZD0nTTMyLjcxMjEgNDMuMTMzOUMzMi42NTgzIDQzLjE3ODcgMzIuMTI1MSA0My43NzkyIDMwLjc3MTggNDMuNzc5MkMyOS4zNzgxIDQzLjc3OTIgMjguMDg3NiA0Mi43NzEgMjguMDg3NiA0MC45Nzg1QzI4LjA4NzYgMzkuMTcyNiAyOS4zOTYxIDM4LjE2ODkgMzAuNzg5NyAzOC4xNjg5QzMyLjA4OTIgMzguMTY4OSAzMi42NzYyIDM4LjczOCAzMi42NzYyIDM4LjczOEwzMi4zMTMzIDQwLjA1OTlDMzEuOTQ1OCAzOS43NTA3IDMxLjQ4NDMgMzkuNTgwNCAzMS4wMDQ4IDM5LjU4MDRDMzAuMzAxMyAzOS41ODA0IDI5Ljc0NTYgNDAuMDk1NyAyOS43NDU2IDQwLjk0NzFDMjkuNzQ1NiA0MS43OTg2IDMwLjI1MiA0Mi4zMzYzIDMxLjAyNzIgNDIuMzM2M0MzMS44MDI0IDQyLjMzNjMgMzIuMzE3OCA0MS44MTIgMzIuMzE3OCA0MS44MTJMMzIuNzEyMSA0My4xMzM5WicgZmlsbD0nJTIzNTU1NTU1Jy8lM2UlM2NwYXRoIGQ9J00zOC4zOTg2IDQzLjY2MjdIMzYuNzM2MVY0MC44MzA2QzM2LjczNjEgNDAuMTc2NCAzNi42NTU1IDM5LjYwNzMgMzUuOTYwOSAzOS42MDczQzM1LjI2NjMgMzkuNjA3MyAzNS4wNTEyIDQwLjIyMTIgMzUuMDUxMiA0MS4wMTg4VjQzLjY2NzJIMzMuNDA2N1YzNi4xMTJIMzUuMDU1N1YzNy45MDQ1QzM1LjA1NTcgMzguNDUxMiAzNS4wNDY4IDM5LjA0MjcgMzUuMDQ2OCAzOS4wNDI3QzM1LjMwNjcgMzguNTYzMiAzNS43OTA2IDM4LjE2ODkgMzYuNTQzNSAzOC4xNjg5QzM4LjAxNzcgMzguMTY4OSAzOC4zOTg2IDM5LjE2MzcgMzguMzk4NiA0MC40NzY2VjQzLjY2MjdaJyBmaWxsPSclMjM1NTU1NTUnLyUzZSUzY3BhdGggZD0nTTQ0IDQzLjY2MjdINDIuNDIyNkw0Mi4zOTEzIDQzLjA5MzZDNDIuMTc2MiA0My4zMjIxIDQxLjc2MzkgNDMuNzgzNyA0MC45MzQ5IDQzLjc4MzdDNDAuMDM4NyA0My43ODM3IDM5LjA4ODcgNDMuMjY4NCAzOS4wODg3IDQyLjA2NzRDMzkuMDg4NyA0MC44NjY1IDQwLjEzMjggNDAuNDU4NyA0MS4wNjkzIDQwLjQxMzlMNDIuMzUwOSA0MC4zNjAxVjQwLjIzOTFDNDIuMzUwOSAzOS42NyA0MS45NyAzOS4zNzQzIDQxLjMwNjggMzkuMzc0M0M0MC42NTcxIDM5LjM3NDMgNDAuMDA3MyAzOS42NzkgMzkuNzQ3NCAzOS44NTM4TDM5LjMxMjcgMzguNzE1NkMzOS43NDc0IDM4LjQ4NyA0MC41NDA2IDM4LjE2ODkgNDEuNDkwNiAzOC4xNjg5QzQyLjQ0MDUgMzguMTY4OSA0Mi45ODcyIDM4LjM5NzQgNDMuMzkwNSAzOC43OTE3QzQzLjc4MDQgMzkuMTg2MSA0NCAzOS43MTA0IDQ0IDQwLjYyVjQzLjY2MjdaTTQyLjM1OTkgNDEuMjg3N0w0MS41NDQzIDQxLjM0MTVDNDEuMDM4IDQxLjM2MzkgNDAuNzM3NyA0MS41OTI0IDQwLjczNzcgNDEuOTk1N0M0MC43Mzc3IDQyLjQxMjUgNDEuMDU1OSA0Mi42NjM0IDQxLjUxMyA0Mi42NjM0QzQxLjk1NjYgNDIuNjYzNCA0Mi4yNTY4IDQyLjM1ODcgNDIuMzU5OSA0Mi4xNzA1VjQxLjI4NzdWNDEuMjg3N1onIGZpbGw9JyUyMzU1NTU1NScvJTNlJTNjL3N2ZyUzZSI6ImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9JzQ0JyBoZWlnaHQ9JzQ2JyB2aWV3Qm94PScwIDAgNDQgNDYnIHJvbGU9J2ltZycgYXJpYS1oaWRkZW49J3RydWUnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTMwIDI4SDI2VjMySDMwVjI4WicgZmlsbD0nJTIzMDA3NEJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTI2IDI4SDIyVjMySDI2VjI4WicgZmlsbD0nJTIzMDA3NEJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTIyIDI4SDE4VjMySDIyVjI4WicgZmlsbD0nJTIzMDA3NEJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTE4IDI4SDE0VjMySDE4VjI4WicgZmlsbD0nJTIzMDA3NEJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNycgZD0nTTM0IDI0SDMwVjI4SDM0VjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTMwIDI0SDI2VjI4SDMwVjI0WicgZmlsbD0nJTIzMDA4MkJGJy8lM2UlM2NwYXRoIGQ9J00yNiAyNEgyMlYyOEgyNlYyNFonIGZpbGw9JyUyMzAwODJCRicvJTNlJTNjcGF0aCBkPSdNMjIgMjRIMThWMjhIMjJWMjRaJyBmaWxsPSclMjMwMDgyQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMTggMjRIMTRWMjhIMThWMjRaJyBmaWxsPSclMjMwMDgyQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMTQgMjRIMTBWMjhIMTRWMjRaJyBmaWxsPSclMjMwMDgyQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMzggMjBIMzRWMjRIMzhWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMzQgMjBIMzBWMjRIMzRWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggZD0nTTMwIDIwSDI2VjI0SDMwVjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIGQ9J00yNiAyMEgyMlYyNEgyNlYyMFonIGZpbGw9JyUyMzAwOEZCRicvJTNlJTNjcGF0aCBkPSdNMjIgMjBIMThWMjRIMjJWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggZD0nTTE4IDIwSDE0VjI0SDE4VjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuOCcgZD0nTTE0IDIwSDEwVjI0SDE0VjIwWicgZmlsbD0nJTIzMDA4RkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTEwIDIwSDZWMjRIMTBWMjBaJyBmaWxsPSclMjMwMDhGQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMzggMTZIMzRWMjBIMzhWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTM0IDE2SDMwVjIwSDM0VjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIGQ9J00zMCAxNkgyNlYyMEgzMFYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMjYgMTZIMjJWMjBIMjZWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggZD0nTTIyIDE2SDE4VjIwSDIyVjE2WicgZmlsbD0nJTIzMDA5REJGJy8lM2UlM2NwYXRoIGQ9J00xOCAxNkgxNFYyMEgxOFYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBkPSdNMTQgMTZIMTBWMjBIMTRWMTZaJyBmaWxsPSclMjMwMDlEQkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMTAgMTZINlYyMEgxMFYxNlonIGZpbGw9JyUyMzAwOURCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00zOCAxMkgzNFYxNkgzOFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMzQgMTJIMzBWMTZIMzRWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggZD0nTTMwIDEySDI2VjE2SDMwVjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00yNiAxMkgyMlYxNkgyNlYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBkPSdNMjIgMTJIMThWMTZIMjJWMTJaJyBmaWxsPSclMjMwMEFCQkYnLyUzZSUzY3BhdGggZD0nTTE4IDEySDE0VjE2SDE4VjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIGQ9J00xNCAxMkgxMFYxNkgxNFYxMlonIGZpbGw9JyUyMzAwQUJCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00xMCAxMkg2VjE2SDEwVjEyWicgZmlsbD0nJTIzMDBBQkJGJy8lM2UlM2NwYXRoIG9wYWNpdHk9JzAuNScgZD0nTTM4IDhIMzRWMTJIMzhWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00zNCA4SDMwVjEySDM0VjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggZD0nTTMwIDhIMjZWMTJIMzBWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBkPSdNMjYgOEgyMlYxMkgyNlY4WicgZmlsbD0nJTIzMDBCOUJGJy8lM2UlM2NwYXRoIGQ9J00yMiA4SDE4VjEySDIyVjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggZD0nTTE4IDhIMTRWMTJIMThWOFonIGZpbGw9JyUyMzAwQjlCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00xNCA4SDEwVjEySDE0VjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC41JyBkPSdNMTAgOEg2VjEySDEwVjhaJyBmaWxsPSclMjMwMEI5QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC43JyBkPSdNMzQgNEgzMFY4SDM0VjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggb3BhY2l0eT0nMC44JyBkPSdNMzAgNEgyNlY4SDMwVjRaJyBmaWxsPSclMjMwMEM2QkYnLyUzZSUzY3BhdGggZD0nTTI2IDRIMjJWOEgyNlY0WicgZmlsbD0nJTIzMDBDNkJGJy8lM2UlM2NwYXRoIGQ9J00yMiA0SDE4VjhIMjJWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjgnIGQ9J00xOCA0SDE0VjhIMThWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00xNCA0SDEwVjhIMTRWNFonIGZpbGw9JyUyMzAwQzZCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00zMCAwSDI2VjRIMzBWMFonIGZpbGw9JyUyMzAwRDRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yNiAwSDIyVjRIMjZWMFonIGZpbGw9JyUyMzAwRDRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjcnIGQ9J00yMiAwSDE4VjRIMjJWMFonIGZpbGw9JyUyMzAwRDRCRicvJTNlJTNjcGF0aCBvcGFjaXR5PScwLjUnIGQ9J00xOCAwSDE0VjRIMThWMFonIGZpbGw9JyUyMzAwRDRCRicvJTNlJTNjcGF0aCBkPSdNMTYuNTE0MSAxNC45Njk3TDE3LjYzNzkgMTIuNDU3MkMxOC4wNDU5IDExLjgxMjkgMTcuOTk1OCAxMS4wMjU1IDE3LjU0NDkgMTAuNTc0NUMxNy40ODc2IDEwLjUxNzMgMTcuNDE2IDEwLjQ2IDE3LjM0NDQgMTAuNDE3MUMxNy4wMzY2IDEwLjIyMzggMTYuNjU3MiAxMC4xODA4IDE2LjMwNjUgMTAuMjk1NEMxNS45MTk5IDEwLjQxNzEgMTUuNTgzNSAxMC42NzQ4IDE1LjM2ODcgMTEuMDE4NEMxNS4zNjg3IDExLjAxODQgMTMuODI5NyAxNC42MDQ2IDEzLjI2NDIgMTYuMjE1M0MxMi42OTg3IDE3LjgyNTkgMTIuOTIwNiAyMC43ODIyIDE1LjEyNTQgMjIuOTg3QzE3LjQ2NjEgMjUuMzI3NyAyMC44NDQ4IDI1Ljg1NzUgMjMuMDA2NiAyNC4yMzk3QzIzLjA5OTcgMjQuMTk2NyAyMy4xNzg0IDI0LjEzOTUgMjMuMjU3MiAyNC4wNzUxTDI5LjkwNzIgMTguNTIwMkMzMC4yMjkzIDE4LjI1NTQgMzAuNzA4OSAxNy43MDQyIDMwLjI3OTQgMTcuMDc0M0MyOS44NjQyIDE2LjQ1ODYgMjkuMDY5NyAxNi44ODEgMjguNzQwNCAxNy4wODg2TDI0LjkxMDcgMTkuODczMUMyNC44MzkxIDE5LjkzMDQgMjQuNzMxOCAxOS45MjMyIDI0LjY2NzMgMTkuODUxN0MyNC42NjczIDE5Ljg1MTcgMjQuNjY3MyAxOS44NDQ1IDI0LjY2MDIgMTkuODQ0NUMyNC41NiAxOS43MjI4IDI0LjU0NTYgMTkuNDA3OSAyNC42OTYgMTkuMjg2MkwzMC41NjU3IDE0LjMwNEMzMS4wNzQgMTMuODQ1OSAzMS4xNDU2IDEzLjE4MDIgMzAuNzMwNCAxMi43MjkyQzMwLjMyOTUgMTIuMjg1NCAyOS42OTI0IDEyLjI5OTcgMjkuMTg0MiAxMi43NTc4TDIzLjkxNTcgMTYuODgxQzIzLjgxNTUgMTYuOTU5NyAyMy42NjUyIDE2Ljk0NTQgMjMuNTg2NCAxNi44NDUyTDIzLjU3OTMgMTYuODM4QzIzLjQ3MTkgMTYuNzIzNSAyMy40MzYxIDE2LjUyMzEgMjMuNTUwNiAxNi40MDE0TDI5LjUzNSAxMC41OTZDMzAuMDA3NCAxMC4xNTIyIDMwLjAzNiA5LjQxNDkgMjkuNTkyMiA4Ljk0MjQ1QzI5LjM3NzUgOC43MjA1NCAyOS4wODQgOC41OTE2OSAyOC43NzYyIDguNTkxNjlDMjguNDYxMiA4LjU5MTY5IDI4LjE2MDYgOC43MDYyMyAyNy45Mzg3IDguOTI4MTNMMjEuODI1NSAxNC42NjkxQzIxLjY4MjMgMTQuODEyMiAyMS4zOTYgMTQuNjY5MSAyMS4zNjAyIDE0LjQ5NzNDMjEuMzQ1OSAxNC40MzI4IDIxLjM2NzQgMTQuMzY4NCAyMS40MTAzIDE0LjMyNTVMMjYuMDkxOCA4Ljk5OTcyQzI2LjU1NzEgOC41NjMwNiAyNi41ODU4IDcuODMyOTIgMjYuMTQ5MSA3LjM2NzYzQzI1LjcxMjQgNi45MDIzNCAyNC45ODIzIDYuODczNzEgMjQuNTE3IDcuMzEwMzZDMjQuNDk1NSA3LjMyNDY4IDI0LjQ4MTIgNy4zNDYxNSAyNC40NTk3IDcuMzY3NjNMMTcuMzY1OSAxNS4yMjAzQzE3LjEwODIgMTUuNDc4IDE2LjczNiAxNS40ODUxIDE2LjU1NyAxNS4zNDJDMTYuNDQyNSAxNS4yNDg5IDE2LjQyODIgMTUuMDg0MyAxNi41MTQxIDE0Ljk2OTdaJyBmaWxsPSd3aGl0ZScvJTNlJTNjcGF0aCBkPSdNNC45OTE5NSA0My42NjI3SDMuMzI5NDZWNDAuODMwNkMzLjMyOTQ2IDQwLjE3NjQgMy4yNDg4IDM5LjYwNzMgMi41NTQyMyAzOS42MDczQzEuODU5NjYgMzkuNjA3MyAxLjY0OTA1IDQwLjIxNjcgMS42NDkwNSA0MS4wMTQ0VjQzLjY2MjdIMFYzNi4xMTJIMS42NDkwNVYzNy45MDQ1QzEuNjQ5MDUgMzguNDUxMiAxLjY0MDA4IDM5LjA0MjcgMS42NDAwOCAzOS4wNDI3QzEuODk5OTkgMzguNTYzMiAyLjM4Mzk1IDM4LjE2ODkgMy4xMzY3NyAzOC4xNjg5QzQuNjExMDYgMzguMTY4OSA0Ljk5MTk1IDM5LjE2MzcgNC45OTE5NSA0MC40NzY2VjQzLjY2MjdaJyBmaWxsPSd3aGl0ZScvJTNlJTNjcGF0aCBkPSdNMTIuMDgxIDQyLjc2MkMxMS43MTgxIDQzLjE1NjMgMTAuOTY1MiA0My43ODgyIDkuNTEzMzcgNDMuNzg4MkM3LjQyMDY5IDQzLjc4ODIgNS43NzYxMiA0Mi4zMjI4IDUuNzc2MTIgMzkuODk0MUM1Ljc3NjEyIDM3LjQ1NjQgNy40Mzg2MSAzNiA5LjUwODg5IDM2QzEwLjk3NDIgMzYgMTEuNzY3NCAzNi42NDUzIDExLjk1NTYgMzYuODUxNEwxMS40NDAyIDM4LjMxNjdDMTEuMzA1OCAzOC4xMjg1IDEwLjU0NCAzNy41MjgxIDkuNjAyOTkgMzcuNTI4MUM4LjM5NzU3IDM3LjUyODEgNy40NjU1IDM4LjM3OTUgNy40NjU1IDM5Ljg1ODJDNy40NjU1IDQxLjMzNyA4LjQzMzQyIDQyLjE3NSA5LjYwMjk5IDQyLjE3NUMxMC40OTAyIDQyLjE3NSAxMS4xMzEgNDEuODAzIDExLjUyMDkgNDEuMzc3M0wxMi4wODEgNDIuNzYyWicgZmlsbD0nd2hpdGUnLyUzZSUzY3BhdGggZD0nTTE3LjMwMTYgNDMuNjYyN0gxNS43MjQyTDE1LjY5MjggNDMuMDkzNkMxNS40Nzc3IDQzLjMyMjEgMTUuMDY1NSA0My43ODM3IDE0LjIzNjUgNDMuNzgzN0MxMy4zNDAzIDQzLjc4MzcgMTIuMzkwMyA0My4yNjg0IDEyLjM5MDMgNDIuMDY3NEMxMi4zOTAzIDQwLjg2NjUgMTMuNDM0NCA0MC40NTg3IDE0LjM3MDkgNDAuNDEzOUwxNS42NTI1IDQwLjM2MDFWNDAuMjM5MUMxNS42NTI1IDM5LjY3IDE1LjI3MTYgMzkuMzc0MyAxNC42MDg0IDM5LjM3NDNDMTMuOTU4NiAzOS4zNzQzIDEzLjMwODkgMzkuNjc5IDEzLjA0OSAzOS44NTM4TDEyLjYxNDMgMzguNzJDMTMuMDQ5IDM4LjQ5MTUgMTMuODQyMSAzOC4xNzMzIDE0Ljc5MjEgMzguMTczM0MxNS43NDIxIDM4LjE3MzMgMTYuMjg4OCAzOC40MDE5IDE2LjY5MjEgMzguNzk2MkMxNy4wODIgMzkuMTkwNiAxNy4zMDE2IDM5LjcxNDggMTcuMzAxNiA0MC42MjQ1VjQzLjY2MjdaTTE1LjY1NyA0MS4yODc3TDE0Ljg0MTQgNDEuMzQxNUMxNC4zMzUxIDQxLjM2MzkgMTQuMDM0OCA0MS41OTI0IDE0LjAzNDggNDEuOTk1N0MxNC4wMzQ4IDQyLjQxMjUgMTQuMzUzIDQyLjY2MzQgMTQuODEwMSA0Mi42NjM0QzE1LjI1MzcgNDIuNjYzNCAxNS41NTM5IDQyLjM1ODcgMTUuNjU3IDQyLjE3MDVWNDEuMjg3N1onIGZpbGw9J3doaXRlJy8lM2UlM2NwYXRoIGQ9J00yMS42MDM1IDQzLjc3OTJDMjAuODUwNiA0My43NzkyIDIwLjMxMjkgNDMuNDgzNSAxOS45OTQ4IDQyLjk4MTZWNDUuNjM4OUgxOC4zNDU3VjM4LjI2NzRIMTkuOTE0MUwxOS45MDUxIDM4Ljk1NzVIMTkuOTI3NUMyMC4yOTk1IDM4LjQ4NyAyMC44NDYyIDM4LjE2ODkgMjEuNjIxNCAzOC4xNjg5QzIzLjA4NjcgMzguMTY4OSAyNC4wMTQzIDM5LjM4MzIgMjQuMDE0MyA0MC45Njk2QzI0LjAxNDMgNDIuNTU1OSAyMy4wNzc4IDQzLjc3OTIgMjEuNjAzNSA0My43NzkyWk0yMS4xMjg1IDM5LjU0OUMyMC40MjQ5IDM5LjU0OSAxOS45NDEgNDAuMTE4MSAxOS45NDEgNDAuOTQ3MUMxOS45NDEgNDEuNzc2MiAyMC40MjQ5IDQyLjM0NTMgMjEuMTI4NSA0Mi4zNDUzQzIxLjg0MSA0Mi4zNDUzIDIyLjMyNDkgNDEuNzc2MiAyMi4zMjQ5IDQwLjk0NzFDMjIuMzI0OSA0MC4xMTgxIDIxLjg0MSAzOS41NDkgMjEuMTI4NSAzOS41NDlaJyBmaWxsPSd3aGl0ZScvJTNlJTNjcGF0aCBkPSdNMjcuODMyMiAzOS42MDI4SDI2LjcwNzRWNDEuNTM4NkMyNi43MDc0IDQyLjAwMDIgMjYuNzcwMiA0Mi4xMDc3IDI2Ljg1MDggNDIuMjA2M0MyNi45MjI1IDQyLjI5NiAyNy4wMjU2IDQyLjMzNjMgMjcuMjQwNyA0Mi4zMzYzQzI3LjQxMSA0Mi4zMzE4IDI3LjU3NjggNDIuMzAwNCAyNy43MzgxIDQyLjIzNzdMMjcuODE4OCA0My42MDQ0QzI3LjQzNzkgNDMuNzE2NSAyNy4wMzkgNDMuNzc0NyAyNi42NDQ3IDQzLjc3OTJDMjYuMDU3NyA0My43NzkyIDI1LjY2MzMgNDMuNTkxIDI1LjQwNzkgNDMuMjc3M0MyNS4xNTI1IDQyLjk2MzYgMjUuMDQ0OSA0Mi41MTEgMjUuMDQ0OSA0MS42OTFWMzkuNjAyOEgyNC4zMjM1VjM4LjI4MDlIMjUuMDQ0OVYzNi44MTU2SDI2LjcwNzRWMzguMjgwOUgyNy44MzIyVjM5LjYwMjhaJyBmaWxsPSd3aGl0ZScvJTNlJTNjcGF0aCBkPSdNMzIuNzEyIDQzLjEzMzlDMzIuNjU4MyA0My4xNzg3IDMyLjEyNSA0My43NzkyIDMwLjc3MTcgNDMuNzc5MkMyOS4zNzgxIDQzLjc3OTIgMjguMDg3NSA0Mi43NzEgMjguMDg3NSA0MC45Nzg1QzI4LjA4NzUgMzkuMTcyNiAyOS4zOTYgMzguMTY4OSAzMC43ODk2IDM4LjE2ODlDMzIuMDg5MiAzOC4xNjg5IDMyLjY3NjIgMzguNzM4IDMyLjY3NjIgMzguNzM4TDMyLjMxMzIgNDAuMDU5OUMzMS45NDU4IDM5Ljc1MDcgMzEuNDg0MiAzOS41ODA0IDMxLjAwNDcgMzkuNTgwNEMzMC4zMDEyIDM5LjU4MDQgMjkuNzQ1NSA0MC4wOTU3IDI5Ljc0NTUgNDAuOTQ3MUMyOS43NDU1IDQxLjc5ODYgMzAuMjUxOSA0Mi4zMzYzIDMxLjAyNzEgNDIuMzM2M0MzMS44MDI0IDQyLjMzNjMgMzIuMzE3NyA0MS44MTIgMzIuMzE3NyA0MS44MTJMMzIuNzEyIDQzLjEzMzlaJyBmaWxsPSd3aGl0ZScvJTNlJTNjcGF0aCBkPSdNMzguMzk4NiA0My42NjI3SDM2LjczNjFWNDAuODMwNkMzNi43MzYxIDQwLjE3NjQgMzYuNjU1NCAzOS42MDczIDM1Ljk2MDggMzkuNjA3M0MzNS4yNjYzIDM5LjYwNzMgMzUuMDUxMiA0MC4yMjEyIDM1LjA1MTIgNDEuMDE4OFY0My42NjcySDMzLjQwNjZWMzYuMTEySDM1LjA1NTdWMzcuOTA0NUMzNS4wNTU3IDM4LjQ1MTIgMzUuMDQ2NyAzOS4wNDI3IDM1LjA0NjcgMzkuMDQyN0MzNS4zMDY2IDM4LjU2MzIgMzUuNzkwNiAzOC4xNjg5IDM2LjU0MzQgMzguMTY4OUMzOC4wMTc3IDM4LjE2ODkgMzguMzk4NiAzOS4xNjM3IDM4LjM5ODYgNDAuNDc2NlY0My42NjI3WicgZmlsbD0nd2hpdGUnLyUzZSUzY3BhdGggZD0nTTQ0IDQzLjY2MjdINDIuNDIyN0w0Mi4zOTEzIDQzLjA5MzZDNDIuMTc2MiA0My4zMjIxIDQxLjc2NCA0My43ODM3IDQwLjkzNSA0My43ODM3QzQwLjAzODcgNDMuNzgzNyAzOS4wODg3IDQzLjI2ODQgMzkuMDg4NyA0Mi4wNjc0QzM5LjA4ODcgNDAuODY2NSA0MC4xMzI4IDQwLjQ1ODcgNDEuMDY5NCA0MC40MTM5TDQyLjM1MSA0MC4zNjAxVjQwLjIzOTFDNDIuMzUxIDM5LjY3IDQxLjk3MDEgMzkuMzc0MyA0MS4zMDY5IDM5LjM3NDNDNDAuNjU3MSAzOS4zNzQzIDQwLjAwNzQgMzkuNjc5IDM5Ljc0NzUgMzkuODUzOEwzOS4zMTI4IDM4LjcxNTZDMzkuNzQ3NSAzOC40ODcgNDAuNTQwNiAzOC4xNjg5IDQxLjQ5MDYgMzguMTY4OUM0Mi40NDA2IDM4LjE2ODkgNDIuOTg3MyAzOC4zOTc0IDQzLjM5MDYgMzguNzkxN0M0My43ODA1IDM5LjE4NjEgNDQgMzkuNzEwNCA0NCA0MC42MlY0My42NjI3Wk00Mi4zNTk5IDQxLjI4NzdMNDEuNTQ0NCA0MS4zNDE1QzQxLjAzOCA0MS4zNjM5IDQwLjczNzggNDEuNTkyNCA0MC43Mzc4IDQxLjk5NTdDNDAuNzM3OCA0Mi40MTI1IDQxLjA1NTkgNDIuNjYzNCA0MS41MTMgNDIuNjYzNEM0MS45NTY2IDQyLjY2MzQgNDIuMjU2OSA0Mi4zNTg3IDQyLjM1OTkgNDIuMTcwNVY0MS4yODc3VjQxLjI4NzdaJyBmaWxsPSd3aGl0ZScvJTNlJTNjL3N2ZyUzZSIsaT0iaHR0cHM6Ly9uZXdhc3NldHMuaGNhcHRjaGEuY29tL2NhcHRjaGEvdjEvNDk0OGI0ZDY4NDc5MjFkN2JmMGI4NjM4OGMxNDEzMTFkN2YwM2UyZS9zdGF0aWMvaW1hZ2VzL2xvZ29fY29tYmluYXRpb24tIit0aGlzLnN0YXRlLnRoZW1lKyIucG5nIjt0LmxvZ28mJihpPSJwbmciLGU9Im9iamVjdCI9PXR5cGVvZiB0LmxvZ28/dC5sb2dvW3RoaXMuc3RhdGUudGhlbWVdfHx0LmxvZ28ubGlnaHQ6dC5sb2dvKTt2YXIgbj17dGhlbWU6UHIsdXJsOnRoaXMuc3RhdGUudXJsLHNyYzplLGZhbGxiYWNrOmksYXV0b0xvYWQ6dGhpcy5zdGF0ZS5kaXNwbGF5fTt0aGlzLmxvZ289dGhpcy5pbml0Q29tcG9uZW50KE5uLG4pfWZ1bmN0aW9uIG5zKHQpe3hlLnNlbGYodGhpcyxfZSwiYW5jaG9yLWluZm8iKSx0aGlzLnN0YXRlPXtzaXplOnQuc2l6ZX0sdGhpcy5icmFuZD10aGlzLmluaXRDb21wb25lbnQoaXMsdCksdC5saW5rc09mZnx8KHRoaXMubGlua3M9dGhpcy5pbml0Q29tcG9uZW50KHFyLHQpKX1mdW5jdGlvbiBvcygpe3hlLnNlbGYodGhpcyxfZSwiI3N0YXR1cyIpLHRoaXMuc3RhdGU9e3Zpc2libGU6ITEsY29weToiIn0sdGhpcy50cmFuc2xhdGUoKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1saXZlIiwicG9saXRlIil9ZnVuY3Rpb24gcnMoKXt4ZS5zZWxmKHRoaXMsX2UsIiN3YXJuaW5nIiksdGhpcy5zdGF0ZT17dmlzaWJsZTohMSxjb3B5OiIifSx0aGlzLiRjb3B5PXRoaXMuaW5pdENvbXBvbmVudChobix7c2VsZWN0b3I6Ii53YXJuaW5nLXRleHQiLHRoZW1lOlByfSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwhMCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsInBvbGl0ZSIpfWZ1bmN0aW9uIHNzKHQpe3ZhciBlPXQucGFsZXR0ZSxpPXQuY29tcG9uZW50LG49ImxpZ2h0Ij09PWUubW9kZTtyZXR1cm4gb24ubWVyZ2Uoe21haW46e2ZpbGw6ZS5ncmV5W24/MTAwOjgwMF0sYm9yZGVyOmUuZ3JleVtuPzMwMDoyMDBdfSxob3Zlcjp7ZmlsbDplLmdyZXlbbj8yMDA6OTAwXX19LGkuY2hlY2tib3gpfWZ1bmN0aW9uIGFzKHQpe3hlLnNlbGYodGhpcyxIbix7c2VsZWN0b3I6IiNhbmNob3IiLHRoZW1lOlByLHRhYmJhYmxlOiExfSksdGhpcy5zdGF0ZT17ZGlzYWJsZWQ6ITEsc2VsZWN0ZWQ6ITEsd2FybmluZzohMSxlcnJvcjohMSx0aWNrZWQ6ITEsZGVmYXVsdFZpc2libGU6ImludmlzaWJsZSIhPT10LnNpemV9LHRoaXMuY29uZmlnPXQsdGhpcy5fc3R5bGU9c3MoUHIuZ2V0KCkpLHRoaXMuc2V0VmlzaWJsZSh0aGlzLnN0YXRlLmRlZmF1bHRWaXNpYmxlKSx0aGlzLm9uQ2xpY2s9dGhpcy5vbkNsaWNrLmJpbmQodGhpcyksdGhpcy5vbkhvdmVyPXRoaXMub25Ib3Zlci5iaW5kKHRoaXMpLHRoaXMuYW5jaG9yPXRoaXMuaW5pdENvbXBvbmVudCh6ciksdGhpcy5sYWJlbD10aGlzLmluaXRDb21wb25lbnQoS3IpLHRoaXMuaW5mbz10aGlzLmluaXRDb21wb25lbnQobnMsdGhpcy5jb25maWcpLHRoaXMuc3RhdHVzPXRoaXMuaW5pdENvbXBvbmVudChvcyksdGhpcy53YXJuaW5nPXRoaXMuaW5pdENvbXBvbmVudChycyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJlbnRlciIsdGhpcy5vbkNsaWNrKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLm9uQ2xpY2spLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigib3ZlciIsdGhpcy5vbkhvdmVyKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm91dCIsdGhpcy5vbkhvdmVyKX1mdW5jdGlvbiBscyh0LGUpe3ZhciBpPXRoaXM7dCBpbnN0YW5jZW9mIGtlfHwodD1uZXcga2UodCkpLGN0Lmhvc3Q9ZS5ob3N0P2UuaG9zdDoiIixjdC5zaXRla2V5PWUuc2l0ZWtleT9lLnNpdGVrZXk6IiI7dmFyIG49bmV3IExpLG89bmV3IGFzKGUpO3JldHVybiBvLnN0eWxlKCksby5yZXNldCgpLHQuYXBwZW5kRWxlbWVudChvKSx0LmNzcyh7ZGlzcGxheToiYmxvY2sifSksdC5hZGRFdmVudExpc3RlbmVyKCJkb3duIiwoZnVuY3Rpb24oKXt0Lmhhc0NsYXNzKCJ1c2luZy1rYiIpJiZ0LnJlbW92ZUNsYXNzKCJ1c2luZy1rYiIpfSkpLHQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLChmdW5jdGlvbihlKXs5PT09ZS5rZXlOdW0mJnQuYWRkQ2xhc3MoInVzaW5nLWtiIil9KSksby5vbigic2VsZWN0IiwoZnVuY3Rpb24odCl7by5zZWxlY3QoKSxuLmVtaXQoInNlbGVjdCIsdC5hY3Rpb24pfSkpLGkudGljaz1mdW5jdGlvbigpe28udGljaygpLG8uYW5jaG9yLmZvY3VzKCl9LGkucmVzZXQ9ZnVuY3Rpb24oKXtvLnJlc2V0KCksby5hbmNob3IuZm9jdXMoKX0saS5kaXNhYmxlPWZ1bmN0aW9uKCl7by5kaXNhYmxlKCl9LGkudHJhbnNsYXRlPWZ1bmN0aW9uKCl7by50cmFuc2xhdGUoKX0saS5zZXRTdGF0dXM9ZnVuY3Rpb24odCxlKXt0PyhvLnN0YXR1cy5zZXQodCxlKSxvLmFuY2hvci5kZXNjcmliZUJ5KG8uc3RhdHVzKSk6KG8uc3RhdHVzLnJlc2V0KCksby5hbmNob3IuZGVzY3JpYmVCeShudWxsKSl9LGkuc2V0V2FybmluZz1mdW5jdGlvbih0KXtvLndhcm5pbmcuc2V0KHQpLG8ud2FybmluZy5pc1Zpc2libGUoKT9vLmFuY2hvci5kZXNjcmliZUJ5KG8ud2FybmluZyk6by5hbmNob3IuZGVzY3JpYmVCeShudWxsKX0saS5vbj1mdW5jdGlvbih0LGUpe24ub24odCxlKX0saS5vZmY9ZnVuY3Rpb24odCxlKXtuLm9mZih0LGUpfSxpLmdldExvY2F0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIG8uYW5jaG9yLmdldExvY2F0aW9uKCl9LGkuc2V0TG9hZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gby5zZXRMb2FkaW5nKHQpfSxpLmdldExvZ29Vcmw9ZnVuY3Rpb24oKXtyZXR1cm4gby5nZXRMb2dvVXJsKCl9LGkudGhlbWU9ZnVuY3Rpb24odCxlKXtlPyhQci5hZGQodCxQci5leHRlbmQoUHIuYWN0aXZlKCksZSkpLFByLnVzZSh0KSk6UHIudXNlKHQpLG8uc3R5bGUoKX0saX14ZS5wcm90byhpcyxfZSksaXMucHJvdG90eXBlLnN0eWxlPWZ1bmN0aW9uKCl7aWYodGhpcy5zdGF0ZS5kaXNwbGF5KXt0aGlzLmxvZ28uc2l6ZSg0NCw1MCksdGhpcy5sb2dvLmNzcyh7bWFyZ2luOiIwIGF1dG8ifSl9fSxpcy5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dGhpcy5sb2dvLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsTWUudHJhbnNsYXRlKGVzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInRpdGxlIix0aGlzLnN0YXRlLmxhYmVsKSx0aGlzLmN1c3RvbUxvZ298fHRoaXMuc2V0QXR0cmlidXRlKCJocmVmIix0aGlzLmxvZ28uc3RhdGUudXJsLnNwbGl0KCImaGw9IilbMF0rIiZobD0iK01lLmdldExvY2FsZSgpKX0saXMucHJvdG90eXBlLmdldExvZ29Vcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGF0ZS51cmx9LHhlLnByb3RvKG5zLF9lKSxucy5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN0YXRlLnNpemUsZT17ZGlzcGxheToiaW5saW5lLWJsb2NrIixoZWlnaHQ6IjEwMCUiLHdpZHRoOjY1fSxpPXttYXJnaW46IjAgYXV0byIsdG9wOnRoaXMubGlua3M/NjoxMCxwb3NpdGlvbjoicmVsYXRpdmUifSxuPXt0ZXh0QWxpZ246InJpZ2h0Iixwb3NpdGlvbjoiZml4ZWQiLGJvdHRvbTo4fSxvPU1lLmlzUlRMKCk7bz8obi5sZWZ0PTExLG4ucmlnaHQ9ImF1dG8iKToobi5sZWZ0PSJhdXRvIixuLnJpZ2h0PTExKSwiY29tcGFjdCI9PT10JiYoZS53aWR0aD0iMTAwJSIsZS5oZWlnaHQ9ImF1dG8iLGUubWFyZ2luVG9wPTUsaS50b3A9dGhpcy5saW5rcz8wOjEwLG4udGV4dEFsaWduPSJjZW50ZXIiLG4ucG9zaXRpb249InJlbGF0aXZlIixuLmJvdHRvbT00LG98fChuLnJpZ2h0PSJhdXRvIikpLHRoaXMuY3NzKGUpLHRoaXMubGlua3MmJih0aGlzLmxpbmtzLnN0eWxlKCksdGhpcy5saW5rcy5jc3MobikpLHRoaXMuYnJhbmQuc3R5bGUoKSx0aGlzLmJyYW5kLmNzcyhpKX0sbnMucHJvdG90eXBlLnNldFZpc2libGU9ZnVuY3Rpb24odCl7aWYodGhpcy5saW5rcyl7dmFyIGU9Ii0xIjt0JiYoZT0iMCIpLHRoaXMuYnJhbmQubG9nby5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixlKSx0aGlzLmxpbmtzLnByaXZhY3kuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsZSksdGhpcy5saW5rcy50ZXJtcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixlKX19LG5zLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXt0aGlzLmxpbmtzJiZ0aGlzLmxpbmtzLnRyYW5zbGF0ZSgpLHRoaXMuYnJhbmQudHJhbnNsYXRlKCksTWUuc2V0RGlyZWN0aW9uKHRoaXMsTWUuZ2V0TG9jYWxlKCkpLHRoaXMuc3R5bGUoKX0sbnMucHJvdG90eXBlLmdldExvZ29Vcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5icmFuZC5nZXRMb2dvVXJsKCl9LHhlLnByb3RvKG9zLF9lKSxvcy5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24oKXt2YXIgdD1Qci5nZXQoKS5wYWxldHRlO3RoaXMuY3NzKHtkaXNwbGF5OnRoaXMuc3RhdGUudmlzaWJsZT8iYmxvY2siOiJub25lIixjb2xvcjp0Lndhcm4ubWFpbixmb250U2l6ZToxMCx0b3A6NSxsZWZ0OjUscG9zaXRpb246ImFic29sdXRlIn0pfSxvcy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7aWYodCYmdC5pbmRleE9mKCJpbnZhbGlkLWNoYWxsZW5nZSIpPj0wKXt2YXIgaT10LnJlcGxhY2UoLy0vZywiICIpO3Q9aS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStpLnNsaWNlKDEpKyIuIn10aGlzLnN0YXRlLnZpc2libGU9dCYmIiIhPT10JiYhZSx0aGlzLnN0YXRlLmNvcHk9dCx0aGlzLnN0YXRlLnZpc2libGU/KHRoaXMudHJhbnNsYXRlKCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIixlfHwhdCkpOnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsIiksdGhpcy5jc3Moe2Rpc3BsYXk6dGhpcy5zdGF0ZS52aXNpYmxlPyJibG9jayI6Im5vbmUifSl9LG9zLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuc3RhdGUudmlzaWJsZT0hMSx0aGlzLnN0YXRlLmNvcHk9IiIsdGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtbGFiZWwiKSx0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKSx0aGlzLmNzcyh7ZGlzcGxheToibm9uZSJ9KX0sb3MucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbigpe2lmKCIiIT09dGhpcy5zdGF0ZS5jb3B5KXt2YXIgdD1NZS50cmFuc2xhdGUodGhpcy5zdGF0ZS5jb3B5KTt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdCksdGhpcy5jb250ZW50KHQpfX0sb3MucHJvdG90eXBlLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnZpc2libGV9LHhlLnByb3RvKHJzLF9lKSxycy5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24odCl7dmFyIGU9dD8iOTUlIjoiNzUlIixpPXQ/NDI6NCxuPVByLmdldCgpLnBhbGV0dGU7dGhpcy5jc3Moe2Rpc3BsYXk6dGhpcy5zdGF0ZS52aXNpYmxlPyJibG9jayI6Im5vbmUiLGNvbG9yOm4ud2Fybi5tYWluLGZvbnRTaXplOjEwLGJvdHRvbTppLGxlZnQ6NSx3aWR0aDplLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KX0scnMucHJvdG90eXBlLnNldD1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLnZpc2libGU9dCYmIiIhPT10LHRoaXMuc3RhdGUuY29weT10LHRoaXMuc3RhdGUudmlzaWJsZT90aGlzLnRyYW5zbGF0ZSgpOnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsIiksdGhpcy5jc3Moe2Rpc3BsYXk6dGhpcy5zdGF0ZS52aXNpYmxlPyJibG9jayI6Im5vbmUifSl9LHJzLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXtpZigiIiE9PXRoaXMuc3RhdGUuY29weSl7dmFyIHQ9TWUudHJhbnNsYXRlKHRoaXMuc3RhdGUuY29weSk7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpLHRoaXMuJGNvcHkucGFyc2VUZXh0KHQpfX0scnMucHJvdG90eXBlLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0YXRlLnZpc2libGV9LHhlLnByb3RvKGFzLEhuKSxhcy5wcm90b3R5cGUuc3R5bGU9ZnVuY3Rpb24oKXt2YXIgdD0iY29tcGFjdCI9PT10aGlzLmNvbmZpZy5zaXplO3RoaXMuX3N0eWxlPXNzKFByLmdldCgpKSx0aGlzLmluZm8uc3R5bGUoKSx0aGlzLmFuY2hvci5zdHlsZSh0KSx0aGlzLmxhYmVsLnN0eWxlKHQpLHRoaXMuc3RhdHVzLnN0eWxlKCksdGhpcy53YXJuaW5nLnN0eWxlKHQpO3ZhciBlPXQ/MTU2OjMwMCxpPXQ/MTM2Ojc0LG49e2JhY2tncm91bmRDb2xvcjp0aGlzLl9zdHlsZS5tYWluLmZpbGwsYm9yZGVyV2lkdGg6IjFweCIsYm9yZGVyU3R5bGU6InNvbGlkIixib3JkZXJDb2xvcjp0aGlzLl9zdHlsZS5tYWluLmJvcmRlcixib3JkZXJSYWRpdXM6NCxjdXJzb3I6dGhpcy5zdGF0ZS50aWNrZWR8fHRoaXMuc3RhdGUuZGlzYWJsZWQ/ImRlZmF1bHQiOiJwb2ludGVyIix3aWR0aDplLGhlaWdodDppfTt0aGlzLnNldFN0eWxlKG4pfSxhcy5wcm90b3R5cGUub25Ib3Zlcj1mdW5jdGlvbih0KXt2YXIgZT0ib3ZlciI9PT10LmFjdGlvbj8iaG92ZXIiOiJtYWluIjt0aGlzLmNzcyh7YmFja2dyb3VuZENvbG9yOnRoaXMuX3N0eWxlW2VdLmZpbGx9KX0sYXMucHJvdG90eXBlLm9uQ2xpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXR8fHQuc3JjRWxlbWVudCxpPSJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWU/ZS5jbGFzc05hbWU6IiIsbj1pLmluZGV4T2YoImxvZ28iKT49MHx8aS5pbmRleE9mKCJsaW5rIik+PTA7aWYodGhpcy5zdGF0ZS5zZWxlY3RlZHx8dGhpcy5zdGF0ZS5kaXNhYmxlZHx8dC5kZWZhdWx0UHJldmVudGVkfHxuKXJldHVybiEwO3RoaXMuZW1pdCgic2VsZWN0Iix0KX0sYXMucHJvdG90eXBlLnNlbGVjdD1mdW5jdGlvbigpe3RoaXMuc3RhdGUuc2VsZWN0ZWQ9ITAsdGhpcy5zZXRMb2FkaW5nKCEwKSx0aGlzLmluZm8uc2V0VmlzaWJsZSghMSl9LGFzLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS5kaXNhYmxlZD0hMCx0aGlzLmFuY2hvci5zZXRTdGF0ZSgiZGlzYWJsZWQiKSx0aGlzLmNzcyh7Y3Vyc29yOiJkZWZhdWx0In0pfSxhcy5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLnN0YXRlLmRpc2FiYmxlZD0hMSx0aGlzLnN0YXRlLnRpY2tlZD0hMSx0aGlzLnN0YXRlLnNlbGVjdGVkPSExLHRoaXMuc2V0VmlzaWJsZSh0aGlzLnN0YXRlLmRlZmF1bHRWaXNpYmxlKSx0aGlzLmluZm8uc2V0VmlzaWJsZSh0aGlzLnN0YXRlLmRlZmF1bHRWaXNpYmxlKSx0aGlzLmFuY2hvci5zZXRTdGF0ZShudWxsKSx0aGlzLmNzcyh7Y3Vyc29yOiJwb2ludGVyIn0pfSxhcy5wcm90b3R5cGUuc2V0TG9hZGluZz1mdW5jdGlvbih0KXt0aGlzLnN0YXRlLmxvYWRpbmc9dDt2YXIgZT10PyJsb2FkaW5nIjp0aGlzLnN0YXRlLnNlbGVjdGVkPyJzb2x2aW5nIjpudWxsO3RoaXMuYW5jaG9yLnNldFN0YXRlKGUpLHRoaXMuY3NzKHtjdXJzb3I6ImRlZmF1bHQifSl9LGFzLnByb3RvdHlwZS50aWNrPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZS50aWNrZWQ9ITAsdGhpcy5pbmZvLnNldFZpc2libGUodGhpcy5zdGF0ZS5kZWZhdWx0VmlzaWJsZSksdGhpcy5hbmNob3Iuc2V0U3RhdGUoInBhc3NlZCIpLHRoaXMuY3NzKHtjdXJzb3I6ImRlZmF1bHQifSl9LGFzLnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXt0aGlzLmFuY2hvci50cmFuc2xhdGUoKSx0aGlzLmluZm8udHJhbnNsYXRlKCksdGhpcy5sYWJlbC50cmFuc2xhdGUoKSx0aGlzLnN0YXR1cy50cmFuc2xhdGUoKSx0aGlzLndhcm5pbmcudHJhbnNsYXRlKCksTWUuc2V0RGlyZWN0aW9uKHRoaXMsTWUuZ2V0TG9jYWxlKCkpfSxhcy5wcm90b3R5cGUuZ2V0TG9nb1VybD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZm8uZ2V0TG9nb1VybCgpfTt2YXIgY3M9ImhjYXB0Y2hhLWZyYW1lLTQ5NDhiNGQ2ODQ3OTIxZDdiZjBiODYzODhjMTQxMzExZDdmMDNlMmUiPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1pZCIpLGhzPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpLHVzPVp0KGhzKSxwcz11cy5mcmFtZSxmcz11cy5pZDtjcyYmImNoYWxsZW5nZSI9PT1wcz9mdW5jdGlvbih0KXt0cnl7X2koMix0KSx4aS5jbGVhckRhdGEoKX1jYXRjaChkcyl7VXQoInZtIixkcyl9dmFyIGU9dW5kZWZpbmVkLGk9MCxuPXVuZGVmaW5lZCxvPW51bGwscj1udWxsLHM9bnVsbCxhPVtldC5DSEFMTEVOR0VfQUxSRUFEWV9DTE9TRUQsZXQuQ0hBTExFTkdFX0VYUElSRURdO3dpbmRvdy5fc2hhcmVkTGlicz17cGFja2FnZXM6e2NvbmZpZzp7T3B0aW9uczp1dCxDb2xvcjpodCxDb250ZXh0OmN0fSx1dGlsczp7TWF0aFV0aWw6UXQsUXVlcnk6anQsUmVuZGVyOk50LENvbG9yOkh0LFNodWZmbGU6THQsSldUOkR0LFRhc2tDb250ZXh0OmNlLEVycm9yVXRpbDpXdCxQcm9taXNlVXRpbDppZSxVcmxVdGlsOm9lfSxjYW52YXM6e0NhbnZhczpGaSxQYXRoOlJpLFNlZ21lbnQ6U2ksUG9pbnQ6VGksUGF0aFNWRzpVaSxSZXRpY2xlUG9pbnQ6T2l9LGNvbnN0YW50czpsdCxkZXZpY2U6dHQsbGFuZ3VhZ2U6TWUsdGhlbWU6cm4sY29yZTphaSx1aTpKbn19O3ZhciBsPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpLGM9WnQobCk7IWZ1bmN0aW9uKHQpe2N0Lmhvc3Q9dC5ob3N0LGN0LnNpdGVrZXk9dC5zaXRla2V5LGN0LmZpbGU9ImNoYWxsZW5nZSIsdXQuc2VudHJ5PSExIT09dC5zZW50cnksQXQoITAsITApLHQuZW5kcG9pbnQhPT11bmRlZmluZWQmJiJ1bmRlZmluZWQiIT09dC5lbmRwb2ludCYmKHV0LmVuZHBvaW50PXQuZW5kcG9pbnQpLHQucmVwb3J0YXBpIT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQucmVwb3J0YXBpJiYodXQucmVwb3J0YXBpPXQucmVwb3J0YXBpKSx0LmFzc2V0aG9zdCE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT10LmFzc2V0aG9zdCYmKGFlLlVSTCh0LmFzc2V0aG9zdCk/dXQuYXNzZXRob3N0PXQuYXNzZXRob3N0OmNvbnNvbGUuZXJyb3IoIkludmFsaWQgYXNzZXRob3N0IHVyaS4iKSksdC5pbWdob3N0IT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuaW1naG9zdCYmKHV0LmltZ2hvc3Q9dC5pbWdob3N0KSx0LmhsIT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuaGwmJih1dC5sYW5ndWFnZT10LmhsLE1lLnNldExvY2FsZSh1dC5sYW5ndWFnZSkpLHQuc2UhPT11bmRlZmluZWQmJiJ1bmRlZmluZWQiIT09dC5zZSYmKHV0LnNlPXQuc2UpLHQucHN0aXNzdWVyIT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQucHN0aXNzdWVyJiYodXQucHN0SXNzdWVyPXQucHN0aXNzdWVyKSx0LnBhdCE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT10LnBhdCYmKHV0LnBhdD10LnBhdCksIm9uIj09PXQuYW5kaW50JiZNcigpLHV0LnRoZW1lPXQudGhlbWV8fHV0LnRoZW1lLHQudGhlbWVDb25maWcmJih1dC50aGVtZUNvbmZpZz10LnRoZW1lQ29uZmlnKSx0WyJjb25maXJtLW5hdiJdJiYodXQuY29uZmlybU5hdj0hMCl9KGMpO3ZhciBoPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7QnQoIlNsb3cgaWZyYW1lIGluaXRpYWxpemF0aW9uIiwiZXJyb3IiLCJmcmFtZTpjaGFsbGVuZ2UiLHtyZWFkeVN0YXRlOmRvY3VtZW50LnJlYWR5U3RhdGV9KX0pLDZlNCk7ZnVuY3Rpb24gdSh0LG4pe3NyKHQmJnQuaHJlZiksY2UuY2xlYXIoKSxudWxsIT09byYmKGNsZWFyVGltZW91dChvKSxvPW51bGwpLHMubG9ja0ludGVyZmFjZSghMCksZHImJihkci5wPURhdGUubm93KCktZHIucyksYXIodCYmdC52bWRhdGEpLFByb21pc2UuYWxsKFtscigpLG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtpZighVXIpcmV0dXJuIHQodW5kZWZpbmVkKTt2YXIgZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QodW5kZWZpbmVkKX0pLDEwMCksaT0iQ0IiKyhuZXcgRGF0ZSkuZ2V0VGltZSgpK01hdGgucmFuZG9tKCk7VXIucmVxdWVzdFRva2VuKGkpLnRoZW4oKGZ1bmN0aW9uKGkpe2NsZWFyVGltZW91dChlKSx0KGkpfSkpWyJjYXRjaCJdKChmdW5jdGlvbihpKXtjbGVhclRpbWVvdXQoZSksQ3QoaSksdCh1bmRlZmluZWQpfSkpfSkpXSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGU9dFswXSxpPXRbMV07cmV0dXJuIGl8fCFuJiYib24iPT09dXQucGF0JiZ0dC5zdXBwb3J0c1BBVCgpP2Z1bmN0aW9uKHQsZSl7cmV0dXJuIEJyLmF1dGhlbnRpY2F0ZSh0LGUpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBycih0LmMpLGxyKCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJue3Byb29mOmUscGFzczp0LnBhc3MsYXV0aFRva2VuOnQuYXV0aF90b2tlbn19KSl9KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe0JyLmxvZ0FjdGlvbihpdC5BVVRIRU5USUNBVElPTl9FUlJPUiksQnQoImFwaTphdXRoZW50aWNhdGUtZXJyb3ItIisodCYmdC5zdGF0dXMpLCJlcnJvciIsImNoYWxsZW5nZSIse2Vycm9yOnR9KTt2YXIgZT10JiZ0LnJlc3BvbnNlLGk9ZSYmZS5ib2R5O3JldHVybiBycihpLmMpLGxyKCkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJue3Byb29mOnQscGFzczppLnBhc3N8fCExfX0pKX0pKX0oZSxpKTpQcm9taXNlLnJlc29sdmUoe3Byb29mOmUscGFzczohMX0pfSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBCci5oYXNQcml2YXRlU3RhdGVUb2tlbigpLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiB0Lmhhc1BzdD1lLHR9KSl9KSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGRyJiYoZHIuZ2NzPURhdGUubm93KCktZHIucyksQnIuZ2V0VGFza0RhdGEodCxlLChuPWZyLGZyPW51bGwsbiksZHIsaSk7dmFyIG59KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGRyJiYoZHIuZ2NlPURhdGUubm93KCktZHIucyksdC5wYXNzfHwhMT09PXQuc3VjY2Vzcz9wKHQpOihlPXtjOnQuYyxycTp0LnJxLGtleTp0LmtleSxjaGFsbGVuZ2VUeXBlOnQucmVxdWVzdF90eXBlfSxlLmNoYWxsZW5nZVR5cGU/KGUua2V5JiZOaS5zZW5kKCJjaGFsbGVuZ2Uta2V5Iix7a2V5OmUua2V5fSkscy5jcmVhdGUoe3JxOmUucnF9KSxycihlLmMpLGk9ZS5jaGFsbGVuZ2VUeXBlLGRyJiYoZHIubD1EYXRlLm5vdygpLWRyLnMsZHIudD1pKSxCci5sb2FkQnVuZGxlKGUuY2hhbGxlbmdlVHlwZSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGk9QnIuZ2V0RGF0YSgpO3JldHVybiBzLmxvY2tJbnRlcmZhY2UoITEpLGRyJiYoZHIubz1EYXRlLm5vdygpLWRyLnMpLHMuc2hvdyh7d2lkdGg6Y3QuYnJvd3NlcldpZHRoLGhlaWdodDpjdC5icm93c2VySGVpZ2h0LGJ1bmRsZTp0LGJ1bmRsZURhdGE6aSxleHBpcmF0aW9uOjFlMyooaS5leHBpcmF0aW9ufHwxMjApLGNoYWxsZW5nZVR5cGU6ZS5jaGFsbGVuZ2VUeXBlfSl9KSkudGhlbigoZnVuY3Rpb24odCl7dHJ5e0VpKGN0LnNpdGVrZXkpfHwod2kuc2V0RGF0YSgidGMiLGNlLmNvbnRhaW5lcikseGkuc3RvcmVEYXRhKHQpKX1jYXRjaChkcyl7Q3QoZHMpfXJldHVybiBOaS5jb250YWN0KCJjaGVjay1hcGkiKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm57YW5zd2Vyczp0LG1vdGlvbkRhdGE6ZS5tb3Rpb25kYXRhLHZtZGF0YTplLnZtZGF0YX19KSlbImNhdGNoIl0oKGZ1bmN0aW9uKHQpe3Rocm93IEN0KHQpLHR9KSl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGFyKHQudm1kYXRhKSxscigpLnRoZW4oKGZ1bmN0aW9uKGUpe3RyeXtWaS5zdG9wKCksd2kuc3RvcCgpLGtpLnN0b3AoKTt2YXIgaT1WaS5nZXREYXRhKCk7aS50b3BMZXZlbD10Lm1vdGlvbkRhdGEsaS52PTEsaS50Yz1jZS5jb250YWluZXJ9Y2F0Y2goZHMpe0N0KGRzKX1yZXR1cm4gZHImJihkci5jPURhdGUubm93KCktZHIucyksQnIuY2hlY2tBbnN3ZXJzKHQuYW5zd2VycyxpLGUpfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtpZihzLmlzVmlzaWJsZSgpfHx0JiYtMT09PWEuaW5kZXhPZih0Lm1lc3NhZ2UpKXRocm93IHMubG9ja0ludGVyZmFjZSghMCksdH0pKX0pKSk6UHJvbWlzZS5yZXNvbHZlKHtjOmUuYyxza2lwOiEwfSkpLnRoZW4ocCk7dmFyIGUsaX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7dmFyIG49dCBpbnN0YW5jZW9mIEVycm9yfHwic3RyaW5nIj09dHlwZW9mIHQ/e2V2ZW50Oml0LkNIQUxMRU5HRV9FUlJPUixtZXNzYWdlOigic3RyaW5nIj09dHlwZW9mIHQ/dDp0Lm1lc3NhZ2UpfHwiIn06dDtpZihCci5sb2dBY3Rpb24obi5ldmVudCksIm1mYSI9PT1jdC5jaGFsbGVuZ2VfdHlwZSYmbi5ldmVudD09PWl0LkNIQUxMRU5HRV9GQUlMRUQpcmV0dXJuIEJ0KCJhcGk6Y2hhbGxlbmdlLWZhaWxlZCIsImVycm9yIiwiY2hhbGxlbmdlIix7ZXJyb3I6dH0pLHMuZGlzcGxheVRyeUFnYWluKCEwKSx2b2lkIGYoKTt2YXIgbz00Mjk9PT10LnN0YXR1cyxyPXQucmVzcG9uc2UmJnQucmVzcG9uc2VbImVycm9yLWNvZGVzIl18fFtdLGE9LTEhPT1yLmluZGV4T2YoImludmFsaWQtZGF0YSIpO010KCJjaGFsbGVuZ2UiLCJhcGkiLCJkZWJ1ZyIsdCksIWUmJiFvJiYhYSYmKG4uZXZlbnQ9PT1pdC5ORVRXT1JLX0VSUk9SJiY0MDkhPT1uLnN0YXR1c3x8bi5ldmVudD09PWl0LkNIQUxMRU5HRV9FUlJPUnx8bi5ldmVudD09PWl0LkJVTkRMRV9FUlJPUikmJmk8PTM/KGk8Mnx8KGk8Mz91dC5lbmRwb2ludD09PXN0fHx1dC5lbmRwb2ludD09PW50P3V0LmVuZHBvaW50PW90OnV0LmVuZHBvaW50PT09b3Q/YnIoKXx8KHV0LmVuZHBvaW50PXJ0KTp1dC5lbmRwb2ludD09PXJ0JiYodXQuZW5kcG9pbnQ9b3QpOi0xIT09YXQuaW5kZXhPZih1dC5lbmRwb2ludCkmJih1dC5lbmRwb2ludD1udCkpLGkrPTEsZigpKTooaT4zJiYwIT09dC5zdGF0dXMmJjQyOSE9PXQuc3RhdHVzJiY0MDMhPT10LnN0YXR1cyYmNDAwIT09dC5zdGF0dXMmJkJ0KCJhcGk6Z2V0Y2FwdGNoYS1lcnJvci0iKyh0JiZ0LnN0YXR1cyksImVycm9yIiwiY2hhbGxlbmdlIix7ZXJyb3I6dH0pLGE/bj17ZXZlbnQ6aXQuTkVUV09SS19FUlJPUixtZXNzYWdlOnIuam9pbigiLCAiKX06ZT8obj17ZXZlbnQ6aXQuTkVUV09SS19FUlJPUixtZXNzYWdlOmV9LGNvbnNvbGUuZXJyb3IoIltoQ2FwdGNoYV0gIitlKSxlPXVuZGVmaW5lZCk6bi5ldmVudHx8KGk8Mz8oaSsrLGYoKSk6KG49e2V2ZW50Oml0Lk5FVFdPUktfRVJST1IsbWVzc2FnZToiUmF0ZSBsaW1pdGVkIG9yIG5ldHdvcmsgZXJyb3IuIFBsZWFzZSByZXRyeS4ifSxCdCgiYXBpOmdldGNhcHRjaGEtZXJyb3IiLCJlcnJvciIsImNoYWxsZW5nZSIse2Vycm9yOnR9KSkpLG4uZXZlbnQmJihpPTApLG1yKG4uZXZlbnQpLE5pLnNlbmQoZXQuQ0hBTExFTkdFX0NMT1NFRCxuKSl9KSl9ZnVuY3Rpb24gcCh0KXtpZihycih0LmMpLHQuc2tpcCltcihldC5DSEFMTEVOR0VfRVNDQVBFRCksTmkuc2VuZChldC5DSEFMTEVOR0VfQ0xPU0VELHtldmVudDpldC5DSEFMTEVOR0VfRVNDQVBFRH0pO2Vsc2UgaWYodC5wYXNzKW1yKGV0LkNIQUxMRU5HRV9QQVNTRUQpLE5pLnNlbmQoZXQuQ0hBTExFTkdFX0NMT1NFRCx7ZXZlbnQ6ZXQuQ0hBTExFTkdFX1BBU1NFRCxyZXNwb25zZTp0LmdlbmVyYXRlZF9wYXNzX1VVSUQsZXhwaXJhdGlvbjp0LmV4cGlyYXRpb259KSx0LmdlbmVyYXRlZF9wYXNzX1VVSUR8fEJ0KCJubyBwYXNzIGlkIiwiZXJyb3IiLCJmcmFtZTpjaGFsbGVuZ2UiKTtlbHNlIGlmKCExPT09dC5zdWNjZXNzKXt2YXIgZT10WyJlcnJvci1jb2RlcyJdfHxbXTtpZigtMSE9PWUuaW5kZXhPZigiZXhwaXJlZC1zZXNzaW9uIil8fC0xIT09ZS5pbmRleE9mKCJjbGllbnQtZmFpbCIpKXJldHVybiBCdCgiQ2xpZW50IGVycm9yIiwiZXJyb3IiLCJmcmFtZTpjaGFsbGVuZ2UiLHtlcnJvcjplfSksdm9pZCBmKCk7bXIoaXQuTkVUV09SS19FUlJPUiksTmkuc2VuZChldC5DSEFMTEVOR0VfQ0xPU0VELHtldmVudDppdC5ORVRXT1JLX0VSUk9SLG1lc3NhZ2U6ZS5qb2luKCIsICIpfSl9ZWxzZSBzLmRpc3BsYXlUcnlBZ2FpbighMCksQnIubG9nQWN0aW9uKCJjaGFsbGVuZ2UtZmFpbGVkIiksZigpfWZ1bmN0aW9uIGYoKXtpZihkciYmKGRyPXtzOkRhdGUubm93KCksbjpkci5uKzF9KSxCci5pc1JxQ2hsKCkmJiF1dC5hMTF5Q2hhbGxlbmdlKXJldHVybiBzLmxvY2tJbnRlcmZhY2UoITApLHZvaWQobz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe21yKGl0LkNIQUxMRU5HRV9FUlJPUiksTmkuc2VuZChldC5DSEFMTEVOR0VfQ0xPU0VELHtldmVudDppdC5DSEFMTEVOR0VfRVJST1IsbWVzc2FnZToiQ2hhbGxlbmdlIFJldHJ5IEZhaWxlZCJ9KX0pLDJlMykpO05pLmNvbnRhY3QoImdldGNhcHRjaGEtbWFuaWZlc3QiKS50aGVuKChmdW5jdGlvbih0KXt1KHQsITApfSkpWyJjYXRjaCJdKChmdW5jdGlvbih0KXtVdCgiZ2V0Y2FwdGNoYS1tYW5pZmVzdCIsdCl9KSl9ZnVuY3Rpb24gZCh0LGUpe2N0LmJyb3dzZXJXaWR0aD10LndpZHRoLGN0LmJyb3dzZXJIZWlnaHQ9dC5oZWlnaHQscy5zaXplKHQud2lkdGgsdC5oZWlnaHQpLnRoZW4oKGZ1bmN0aW9uKHQpe2UucmVzb2x2ZSh0KSxNdCgiY2hhbGxlbmdlIHJlc2l6ZWQiLCJjaGFsbGVuZ2UiLCJpbmZvIix0KX0pKX1mdW5jdGlvbiBtKCl7TXQoImNoYWxsZW5nZSByZWZyZXNoIiwiY2hhbGxlbmdlIiwiaW5mbyIpLEJyLmxvZ0FjdGlvbigiY2hhbGxlbmdlLXJlZnJlc2giKSxmKCl9ZnVuY3Rpb24geSgpe25yKFdyLmNvbGxlY3QoKSkscy5zdWJtaXQoKS50aGVuKChmdW5jdGlvbih0KXtCci5sb2dBY3Rpb24odCksImNoYWxsZW5nZS1za2lwIiE9PXR8fGYoKX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7Q3QodCksQnIubG9nQWN0aW9uKGl0LkNIQUxMRU5HRV9FUlJPUiksZigpfSkpfWZ1bmN0aW9uIGcoKXt2YXIgdD1Cci5nZXREYXRhKCk7cy5kaXNwbGF5UmVwb3J0KHQpLnRoZW4oKGZ1bmN0aW9uKHQpe2lmKHQpe3ZhciBlPWZ1bmN0aW9uKCl7bSgpLHMuZ2V0TW9kYWwoKS5vZmYoInJlZnJlc2giLGUpfTtzLmdldE1vZGFsKCkuZGlzcGxheSgicmVwb3J0X2ltYWdlIix7a2V5OnR9KSxzLmdldE1vZGFsKCkub24oInJlZnJlc2giLGUpfX0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7Q3QodCksbSgpfSkpfXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24oKXtoJiYoY2xlYXJUaW1lb3V0KGgpLGg9bnVsbCksTXQoImlmcmFtZTpsb2FkIiwiY2hhbGxlbmdlIiwiaW5mbyIpfSkpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChmdW5jdGlvbigpe010KCJpZnJhbWU6RE9NQ29udGVudExvYWRlZCIsImNoYWxsZW5nZSIsImluZm8iKX0pKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24oKXtNdCgiaWZyYW1lOnJlYWR5c3RhdGVjaGFuZ2UiLCJjaGFsbGVuZ2UiLCJpbmZvIix7cmVhZHlTdGF0ZTpkb2N1bWVudC5yZWFkeVN0YXRlfSl9KSksV3IucnVuKCkscz1uZXcgR28oZG9jdW1lbnQuYm9keSx7aG9zdDpjdC5ob3N0LHNpdGVrZXk6Y3Quc2l0ZWtleSxvcmllbnRhdGlvbjpjLm9yaWVudGF0aW9ufHwicG9ydHJhaXQifSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLChmdW5jdGlvbih0KXsiaW1nLXNyYyI9PT10LnZpb2xhdGVkRGlyZWN0aXZlJiYoZT0iQ1NQIGJsb2NrcyBpbWFnZXMgKCIrdC5vcmlnaW5hbFBvbGljeSsiKS4iKX0pKSx1dC50aGVtZUNvbmZpZyYmcy5hZGRUaGVtZSgiY3VzdG9tIix1dC50aGVtZUNvbmZpZyksTmkuaW5pdChjLmlkLGMub3JpZ2luKSxyPW5ldyBrZShkb2N1bWVudC5ib2R5KSxOaS5hbnN3ZXIoImNyZWF0ZS1jaGFsbGVuZ2UiLChmdW5jdGlvbih0KXtpZihuJiYhMT09PW4uc3VjY2VzcylOaS5zZW5kKGV0LkNIQUxMRU5HRV9DTE9TRUQse2V2ZW50Oml0Lk5FVFdPUktfRVJST1IsbWVzc2FnZTooblsiZXJyb3ItY29kZXMiXXx8WyIiXSkuam9pbigiLCAiKX0pO2Vsc2V7ZHI9e3M6RGF0ZS5ub3coKSxuOjB9O3ZhciBlLGk9e307dCYmKEJyLnNldFJxRGF0YSh0LnJxZGF0YXx8QnIuZ2V0UnFEYXRhKCkpLHQud2RhdGEmJihlPXQud2RhdGEsd2luZG93Ll9fd2RhdGE9ZSksZ3IodCksbnIodC5lcnJvcnMpLHQud2lkdGgmJihjdC5icm93c2VyV2lkdGg9dC53aWR0aCxjdC5icm93c2VySGVpZ2h0PXQuaGVpZ2h0KSx0Lm1hbmlmZXN0JiYoaT10Lm1hbmlmZXN0KSwiZW50ZXIiPT09dC5hY3Rpb24/ci5hZGRDbGFzcygidXNpbmcta2IiKTpyLmhhc0NsYXNzKCJ1c2luZy1rYiIpJiZyLnJlbW92ZUNsYXNzKCJ1c2luZy1rYiIpLHQudm1kYXRhJiYoaS52bWRhdGE9dC52bWRhdGEpLHMuaW5pdCh0KSkscy5zZXRGb2N1cygiaW5mbyIpLHUoaSwhMSl9fSkpLE5pLmFuc3dlcigiY2xvc2UtY2hhbGxlbmdlIiwoZnVuY3Rpb24odCl7bXIodC5ldmVudCksbnVsbCE9PW8mJihjbGVhclRpbWVvdXQobyksbz1udWxsKSx0JiZ0LmV2ZW50PT09ZXQuQ0hBTExFTkdFX0VTQ0FQRUQmJkJyLmxvZ0FjdGlvbigiY2hhbGxlbmdlLWFiYW5kb24tcmV0cnkiKSxCci5zZXRScURhdGEobnVsbCksZ3IobnVsbCkscy5jbG9zZSgpfSkpLE5pLmFuc3dlcigicmVzaXplLWNoYWxsZW5nZSIsZCksTmkuYW5zd2VyKCJjaGFsbGVuZ2UtdHJhbnNsYXRlIiwoZnVuY3Rpb24odCl7aWYocy50cmFuc2xhdGVJbnRlcmZhY2UodCkscy5pc1Zpc2libGUoKSl7dmFyIGU9Y3QuY2hhbGxlbmdlX3R5cGUsaT0iZW4iPT09dC5sb2NhbGU7InRleHRfZnJlZV9lbnRyeSI9PT1lPyhCci5sb2dBY3Rpb24oImNoYWxsZW5nZS1sYW5ndWFnZS1jaGFuZ2UiKSxmKCkpOiJtZmEiPT09ZXx8aT8ocy50cmFuc2xhdGVCdW5kbGUoKSxzLnN0eWxlKGN0LmJyb3dzZXJXaWR0aCxjdC5icm93c2VySGVpZ2h0KSk6KEJyLmxvZ0FjdGlvbigiY2hhbGxlbmdlLWxhbmd1YWdlLWNoYW5nZSIpLGYoKSl9fSkpLE5pLmNvbnRhY3QoImdldC11cmwiKS50aGVuKChmdW5jdGlvbih0KXtjdC51cmw9dH0pKVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7VXQoImdldC11cmwiLHQpfSkpLE5pLmFuc3dlcigiY2hhbGxlbmdlLWRhdGEiLChmdW5jdGlvbih0KXt0LnJxZGF0YSYmQnIuc2V0UnFEYXRhKHQucnFkYXRhKSxncih0KX0pKSxOaS5hbnN3ZXIoInJlc2V0LWNoYWxsZW5nZS1kYXRhIiwoZnVuY3Rpb24oKXtncihudWxsKX0pKSxzLmV2ZW50cy5vbigicmVmcmVzaCIsbSkscy5ldmVudHMub24oInN1Ym1pdCIseSkscy5ldmVudHMub24oInJlcG9ydCIsZykscy5ldmVudHMub24oInJlcG9ydC1zdWJtaXNzaW9uIiwoZnVuY3Rpb24odCl7QnIucmVwb3J0SXNzdWUodC5yZWFzb24sdC5jb21tZW50LHQua2V5KVsiY2F0Y2giXSgoZnVuY3Rpb24odCl7fSkpfSkpLHMuZXZlbnRzLm9uKCJyZXNpemUiLChmdW5jdGlvbigpe05pLnNlbmQoImNoYWxsZW5nZS1yZXNpemUiKX0pKSxzLmV2ZW50cy5vbigiZm9jdXMtY2hlY2siLChmdW5jdGlvbigpe3IuYWRkQ2xhc3MoInVzaW5nLWtiIikscy50cmlnZ2VyRm9jdXMoInN1Ym1pdCIpfSkpLHIuYWRkRXZlbnRMaXN0ZW5lcigiZG93biIsKGZ1bmN0aW9uKHQpe3MuaXNJbnRlcmZhY2VMb2NrZWQoKXx8cy5kaXNwbGF5VHJ5QWdhaW4oITEpfSkpLHIuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGZ1bmN0aW9uKHQpezI3PT09dC5rZXlOdW0mJihzLmdldE1vZGFsKCkuaXNPcGVuKCk/KHMuZ2V0TW9kYWwoKS5jbG9zZSgpLHMuaGlkZVJlcG9ydCgpKToobXIoZXQuQ0hBTExFTkdFX0VTQ0FQRUQpLE5pLnNlbmQoZXQuQ0hBTExFTkdFX0NMT1NFRCx7ZXZlbnQ6ZXQuQ0hBTExFTkdFX0VTQ0FQRUR9KSxzLmNsb3NlKCkpKX0pKSxyLmFkZEV2ZW50TGlzdGVuZXIoImRvd24iLChmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsZT10JiYoIm1lbnUtaW5mbyI9PT10LmlkfHx0LnBhcmVudEVsZW1lbnQmJigtMSE9PXQucGFyZW50RWxlbWVudC5jbGFzc05hbWUuaW5kZXhPZigic2Nyb2xsLWNvbnRhaW5lciIpfHwibWVudSI9PT10LnBhcmVudEVsZW1lbnQuaWQpKTsibWVudSI9PT1zLmdldEFjdGl2ZUVsZW1lbnQoKXx8ZT9lJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmZvY3VzKCk6KHMuY2xvc2VVc2VyUGFuZWwoKSxyLmhhc0NsYXNzKCJ1c2luZy1rYiIpJiZyLnJlbW92ZUNsYXNzKCJ1c2luZy1rYiIpKX0pLCEwKSxyLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChmdW5jdGlvbih0KXs5PT09dC5rZXlOdW0mJihyLmFkZENsYXNzKCJ1c2luZy1rYiIpLHQuc2hpZnRLZXl8fCJzdWJtaXQiPT09cy5nZXRBY3RpdmVFbGVtZW50KCkmJihzLnRyaWdnZXJGb2N1cygiY2hhbGxlbmdlIiwwKSx0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCkpKX0pLCEwKSxyLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLChmdW5jdGlvbih0KXtpZigic3VibWl0Ij09PXMuZ2V0QWN0aXZlRWxlbWVudCgpKXt2YXIgZT10LmtleU51bTszNz09PWV8fDM4PT09ZT8oci5hZGRDbGFzcygidXNpbmcta2IiKSxzLnRyaWdnZXJGb2N1cygiY2hhbGxlbmdlIiwtMSksdC5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpKTozOSE9PWUmJjQwIT09ZXx8KHIuYWRkQ2xhc3MoInVzaW5nLWtiIikscy50cmlnZ2VyRm9jdXMoImNoYWxsZW5nZSIsMCksdC5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpKX19KSksSHIoKS50aGVuKChmdW5jdGlvbih0KXtuPXQ7dmFyIGU9dC5mZWF0dXJlcztyZXR1cm4ib2JqZWN0IiE9dHlwZW9mIGUmJihlPXt9KSxzLnNldFdoaXRlTGFiZWwoISF0LmN1c3RvbSkscnIodC5jKSx1dC50aGVtZUNvbmZpZyYmZS5jdXN0b21fdGhlbWU/cy51c2VUaGVtZSgiY3VzdG9tIik6cy51c2VUaGVtZSh1dC50aGVtZSksZS5hMTF5X2NoYWxsZW5nZSYmKHV0LmExMXlDaGFsbGVuZ2U9ITAscy5lbmFibGVBMTF5Q2hhbGxlbmdlKCEwKSksZS5hbmRpbnQmJk1yKCksITA9PT1lLmVuY19nZXRfcmVxJiZCci5zZXRFbmNyeXB0aW9uU3VwcG9ydCghMCkse29rOnR9fSksKGZ1bmN0aW9uKHQpe3ZhciBlPXQgaW5zdGFuY2VvZiBFcnJvcj97bmFtZTp0Lm5hbWUsbWVzc2FnZTp0Lm1lc3NhZ2V9OnQ7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZlLmJvZHkmJihuPWUuYm9keSkse2VycjplfX0pKS50aGVuKChmdW5jdGlvbih0KXtOaS5zZW5kKCJzaXRlLXNldHVwIix0KX0pKSxOaS5zZW5kKCJjaGFsbGVuZ2UtbG9hZGVkIil9KGZzKTpjcyYmImNoZWNrYm94Ij09PXBzJiZmdW5jdGlvbih0KXt0cnl7X2koMSx0KX1jYXRjaChkcyl7VXQoInZtIixkcyl9dmFyIGU9ITEsaT13aW5kb3cubG9jYXRpb24uaGFzaC5zbGljZSgxKSxuPVp0KGkpLG89RGkuY3JlYXRlQ2hhdCh3aW5kb3cucGFyZW50LG4uaWQsbi5vcmlnaW4pOyFmdW5jdGlvbih0KXtjdC5pZD10LmlkLGN0Lmhvc3Q9dC5ob3N0LGN0LnNpdGVrZXk9dC5zaXRla2V5LGN0LmZpbGU9ImNoZWNrYm94Iix1dC5zZW50cnk9ITEhPT10LnNlbnRyeSxBdCghMCwhMCksdXQuc2l6ZT10LnNpemV8fHV0LmNvbXBhY3QsdXQuY3VzdG9tPXQuY3VzdG9tfHx1dC5jdXN0b20sdXQubW9kZT10Lm1vZGV8fHV0Lm1vZGUsdXQuc2U9dC5zZXx8bnVsbCx0LmVuZHBvaW50IT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuZW5kcG9pbnQmJih1dC5lbmRwb2ludD10LmVuZHBvaW50KSx0LmFzc2V0aG9zdCE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT10LmFzc2V0aG9zdCYmKGFlLlVSTCh0LmFzc2V0aG9zdCk/dXQuYXNzZXRob3N0PXQuYXNzZXRob3N0OmNvbnNvbGUuZXJyb3IoIkludmFsaWQgYXNzZXRob3N0IHVyaS4iKSksdC5pbWdob3N0IT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuaW1naG9zdCYmKHV0LmltZ2hvc3Q9dC5pbWdob3N0KSx0LmhsIT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuaGwmJih1dC5sYW5ndWFnZT10LmhsLE1lLnNldExvY2FsZSh0LmhsKSksdC50cGxpbmtzIT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQudHBsaW5rcyYmKHV0LnRwbGlua3M9dC50cGxpbmtzKSx0LnBhdCE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT10LnBhdCYmKHV0LnBhdD10LnBhdCksdC5wc3Rpc3N1ZXIhPT11bmRlZmluZWQmJiJ1bmRlZmluZWQiIT09dC5wc3Rpc3N1ZXImJih1dC5wc3RJc3N1ZXI9dC5wc3Rpc3N1ZXIpLHQuYW5kaW50IT09dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9PXQuYW5kaW50JiYodXQuYW5kaW50PXQuYW5kaW50KSx1dC50aGVtZT10LnRoZW1lfHx1dC50aGVtZSx1dC50aGVtZUNvbmZpZz10LnRoZW1lQ29uZmlnLHV0LnRoZW1lQ29uZmlnJiYodC5jdXN0b209ITApfShuKTt2YXIgcj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe0J0KCJTbG93IGlmcmFtZSBpbml0aWFsaXphdGlvbiIsImVycm9yIiwiZnJhbWU6Y2hlY2tib3giLHtyZWFkeVN0YXRlOmRvY3VtZW50LnJlYWR5U3RhdGV9KX0pLDZlNCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLChmdW5jdGlvbigpe3ImJihjbGVhclRpbWVvdXQocikscj1udWxsKSxNdCgiaWZyYW1lOmxvYWQiLCJjaGVja2JveCIsImluZm8iKX0pKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwoZnVuY3Rpb24oKXtNdCgiaWZyYW1lOkRPTUNvbnRlbnRMb2FkZWQiLCJjaGVja2JveCIsImluZm8iKX0pKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24oKXtNdCgiaWZyYW1lOnJlYWR5c3RhdGVjaGFuZ2UiLCJjaGVja2JveCIsImluZm8iLHtyZWFkeVN0YXRlOmRvY3VtZW50LnJlYWR5U3RhdGV9KX0pKTt2YXIgcz1Mci5zaXRla2V5KGN0LnNpdGVrZXkpLGE9THIuZHVtbXlrZXkoY3Quc2l0ZWtleSk7V3IucnVuKCk7dmFyIGw9bnVsbCxjPW51bGwsaD1uZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7Yz10fSkpLHU9bnVsbDtmdW5jdGlvbiBwKHQsaSl7dmFyIG49e2hvc3Q6Y3QuaG9zdCxzaXRla2V5OmN0LnNpdGVrZXksc2l6ZTp1dC5zaXplLHRoZW1lOnV0LnRoZW1lLG1vZGU6dXQubW9kZSxsaW5rc09mZjoib2ZmIj09PXV0LnRwbGlua3MsZGlzcGxheUxvZ286ImludmlzaWJsZSIhPT11dC5zaXplLGxvZ286bnVsbCxsb2dvVXJsOm51bGwscHJpdmFjeVVybDpudWxsLHRlcm1zVXJsOm51bGx9LG89dCYmdC5jdXN0b207aWYobyl7THIubG9nbyhvLmxvZ28pJiYobi5sb2dvPW8ubG9nbyksby5saW5rcyYmKG4ubG9nb1VybD1vLmxpbmtzLmxvZ28sbi5wcml2YWN5VXJsPW8ubGlua3MucHJpdmFjeSxuLnRlcm1zVXJsPW8ubGlua3MudGVybXMpO3ZhciByPW8uY29weTtpZihyKXt2YXIgbD17Y2hlY2tib3hfcHJvbXB0OiJJIGFtIGh1bWFuIixjaGVja2JveF9hMTF5OiInSSBhbSBodW1hbicsIFNlbGVjdCBpbiBvcmRlciB0byB0cmlnZ2VyIHRoZSBjaGFsbGVuZ2UsIG9yIHRvIGJ5cGFzcyBpdCBpZiB5b3UgaGF2ZSBhbiBhY2Nlc3NpYmlsaXR5IGNvb2tpZSJ9O2Zvcih2YXIgYyBpbiBsKXt2YXIgdT1yW2NdO2Zvcih2YXIgcCBpbiB1KXt2YXIgZj17fTtmW2xbY11dPXVbcF0sTWUuYWRkVGFibGUocCxmKX19aC50aGVuKChmdW5jdGlvbih0KXt0LnRyYW5zbGF0ZSgpfSkpfX12YXIgZD1uZXcgbHMoZG9jdW1lbnQuYm9keSxuKSxtPXQmJnQuZmVhdHVyZXMmJnQuZmVhdHVyZXMuY3VzdG9tX3RoZW1lO3JldHVybiB1dC50aGVtZUNvbmZpZyYmbT9kLnRoZW1lKCJjdXN0b20iLHV0LnRoZW1lQ29uZmlnKTpkLnRoZW1lKHV0LnRoZW1lKSxkLnNldFN0YXR1cyghMSksc3x8YT9hJiZkLnNldFdhcm5pbmcoIlRoaXMgaENhcHRjaGEgaXMgZm9yIHRlc3Rpbmcgb25seS4gUGxlYXNlIGNvbnRhY3QgdGhlIHNpdGUgYWRtaW4gaWYgeW91IHNlZSB0aGlzLiIpOmQuc2V0V2FybmluZygiVGhlIHNpdGVrZXkgZm9yIHRoaXMgaENhcHRjaGEgaXMgaW5jb3JyZWN0LiBQbGVhc2UgY29udGFjdCB0aGUgc2l0ZSBhZG1pbiBpZiB5b3Ugc2VlIHRoaXMuIiksZC5vbigic2VsZWN0IiwoZnVuY3Rpb24odCl7ZC5zZXRTdGF0dXMoITEpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dHJ5e2kuc2VuZCgiY2hlY2tib3gtc2VsZWN0ZWQiLHttYW5pZmVzdDpWaS5nZXREYXRhKCksY2hhcml0eTplLGExMXlDaGFsbGVuZ2U6dXQuYTExeUNoYWxsZW5nZXx8ITEsbGluazpkLmdldExvZ29VcmwoKSxhY3Rpb246dCxlcnJvcnM6V3IuY29sbGVjdCgpfSl9Y2F0Y2goZHMpe1V0KCJjaGVja2JveCIsZHMpfX0pLDEpfSkpLGR9bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3U9dH0pKS50aGVuKChmdW5jdGlvbih0KXtpZigib2siaW4gdClyZXR1cm4gdC5vazt0aHJvdyB0LmVycn0pKS50aGVuKChmdW5jdGlvbih0KXtsfHwobD1wKHQsbyksYyhsKSk7dmFyIGk9dC5mZWF0dXJlc3x8e307dXQuYTExeUNoYWxsZW5nZT1pLmExMXlfY2hhbGxlbmdlfHwhMSxlPXQuY2hhcml0eXx8ITEsdC5zdGF0dXNfbWVzc2FnZSYmcyYmIWEmJmwuc2V0V2FybmluZyh0LnN0YXR1c19tZXNzYWdlKX0pLChmdW5jdGlvbih0KXtsfHwobD1wKG51bGwsbyksYyhsKSksdC5tZXNzYWdlJiZsLnNldFN0YXR1cyh0Lm1lc3NhZ2UpLHQuYm9keSYmITE9PT10LmJvZHkuc3VjY2VzcyYmbC5kaXNhYmxlKCl9KSkudGhlbigoZnVuY3Rpb24oKXt0cnl7VmkucmVzZXREYXRhKCksVmkucmVjb3JkKCEwLCEwLCEwLCExKSxFaShjdC5zaXRla2V5KXx8KHdpLnJlc2V0RGF0YSgpLHdpLnJlY29yZCh7MTohMCwyOiEwLDM6ITAsNDohMX0pKX1jYXRjaChkcyl7QnQoIlNldCBNRCBGYWlsZWQiLCJlcnJvciIsImZyYW1lOmNoZWNrYm94Iixkcyl9by5zZW5kKCJjaGVja2JveC1sb2FkZWQiLGwuZ2V0TG9jYXRpb24oKSl9KSksZnVuY3Rpb24odCxlLGkpe2kubGlzdGVuKCJzaXRlLXNldHVwIixlKSxpLmxpc3RlbigiY2hlY2tib3gtdGljayIsKGZ1bmN0aW9uKCl7dC50aGVuKChmdW5jdGlvbih0KXt0LnRpY2soKX0pKX0pKSxpLmxpc3RlbigiY2hlY2tib3gtdHJhbnNsYXRlIiwoZnVuY3Rpb24oZSl7dHJ5e2lmKCFlfHwhZS5sb2NhbGV8fCFlLnRhYmxlKXJldHVybjtNZS5zZXRMb2NhbGUoZS5sb2NhbGUpLE1lLmFkZFRhYmxlKGUubG9jYWxlLGUudGFibGUpLHQudGhlbigoZnVuY3Rpb24odCl7dC50cmFuc2xhdGUoKX0pKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCJsYW5nIixNZS5nZXRMb2NhbGUoKSl9Y2F0Y2goZHMpe1V0KCJ0cmFuc2xhdGlvbiIsZHMpfX0pKSxpLmxpc3RlbigiY2hlY2tib3gtc3RhdHVzIiwoZnVuY3Rpb24oZSl7dC50aGVuKChmdW5jdGlvbih0KXt0LnNldFN0YXR1cyhlLnRleHQsZS5hMTF5T25seSl9KSl9KSksaS5saXN0ZW4oImNoZWNrYm94LXJlc2V0IiwoZnVuY3Rpb24oKXt0LnRoZW4oKGZ1bmN0aW9uKHQpe3QucmVzZXQoKTt0cnl7VmkucmVzZXREYXRhKCksVmkucmVjb3JkKCksd2kucmVzZXREYXRhKCksd2kucmVjb3JkKHsxOiEwLDI6ITAsMzohMCw0OiExfSl9Y2F0Y2goZHMpe0J0KCJTZXQgTUQgRmFpbGVkIiwiZXJyb3IiLCJmcmFtZTpjaGVja2JveCIsZHMpfX0pKX0pKSxpLmxpc3RlbigiY2hlY2tib3gtY2xlYXIiLChmdW5jdGlvbigpe3QudGhlbigoZnVuY3Rpb24odCl7dC5zZXRMb2FkaW5nKCExKX0pKX0pKSxpLmxpc3RlbigiY2hlY2tib3gtbG9jYXRpb24iLChmdW5jdGlvbihlKXt0LnRoZW4oKGZ1bmN0aW9uKHQpe3ZhciBpPXQuZ2V0TG9jYXRpb24oKTtlLnJlc29sdmUoaSl9KSl9KSl9KGgsdSxvKSxvLnNlbmQoImNoZWNrYm94LXJlYWR5Iiksbi5jdXN0b218fChsPXAobnVsbCxvKSxjKGwpKX0oZnMpfSgpOwo8L3NjcmlwdD48ZGl2IGNsYXNzPSJpbnRlcmZhY2Utd3JhcHBlciI+PGRpdiBjbGFzcz0iY2hhbGxlbmdlLWNvbnRhaW5lciI+PC9kaXY+PGRpdiBjbGFzcz0iaW50ZXJmYWNlLXVzZXIiIGRpcj0ibHRyIiBzdHlsZT0iZGlyZWN0aW9uOiBsdHI7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0b3A6IDEwcHg7IGxlZnQ6IDBweDsgei1pbmRleDogMTAwOyI+PGRpdiBpZD0ibGFuZ3VhZ2UtbGlzdCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0ibGlzdGJveCIgYXJpYS1sYWJlbGxlZGJ5PSJkaXNwbGF5LWxhbmd1YWdlIiBhcmlhLW93bnM9ImRpc3BsYXktbGFuZ3VhZ2UiIHN0eWxlPSJoZWlnaHQ6IDIzMHB4OyB3aWR0aDogMTYwcHg7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDEwMDsgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpOyBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMykgMHB4IDBweCA0cHg7IGJvcmRlci13aWR0aDogMXB4OyBib3JkZXItcmFkaXVzOiA0cHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogcmdiKDExMCwgMTMwLCAxNTgpOyBwb3NpdGlvbjogYWJzb2x1dGU7IG92ZXJmbG93OiBoaWRkZW47IGxlZnQ6IGF1dG87IGJvdHRvbTogMzBweDsiPjxkaXYgY2xhc3M9InNjcm9sbC1jb250YWluZXIiIHN0eWxlPSJsaW5lLWhlaWdodDogNDBweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgdGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDogMTAwJTsgcG9zaXRpb246IGFic29sdXRlOyBvdmVyZmxvdy15OiBoaWRkZW47Ij48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+QWZyaWthYW5zPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+QWxiYW5pYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5BbWhhcmljPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+QXJhYmljPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+QXJtZW5pYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5BemVyYmFpamFuaTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkJhc3F1ZTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkJlbGFydXNpYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5CZW5nYWxpPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+QnVsZ2FyaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+Qm9zbmlhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkJ1cm1lc2U8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5DYXRhbGFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+Q2VidWFubzwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkNoaW5lc2U8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5DaGluZXNlIFNpbXBsaWZpZWQ8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5DaGluZXNlIFRyYWRpdGlvbmFsPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+Q29yc2ljYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5Dcm9hdGlhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkN6ZWNoPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+RGFuaXNoPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+RHV0Y2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9InRydWUiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiByZ2IoOTIsIDExMSwgMTM4KTsgY29sb3I6IHJnYigyNTAsIDI1MCwgMjUwKTsiPjxzcGFuPkVuZ2xpc2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBub25lOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkVzcGVyYW50bzwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkVzdG9uaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+RmlubmlzaDwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkZyZW5jaDwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkZyaXNpYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5HYWVsaWM8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5HYWxhY2lhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkdlb3JnaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+R2VybWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+R3JlZWs8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5HdWp1cmF0aTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkhhaXRpYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5IYXVzYTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkhhd2FpaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+SGVicmV3PC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+SGluZGk8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5IbW9uZzwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkh1bmdhcmlhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkljZWxhbmRpYzwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPklnYm88L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5JbmRvbmVzaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+SXJpc2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5JdGFsaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+SmFwYW5lc2U8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5KYXZhbmVzZTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkthbm5hZGE8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5LYXpha2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5LaG1lcjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPktpbnlhcndhbmRhPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+S2lyZ2hpejwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPktvcmVhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkt1cmRpc2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5MYW88L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5MYXRpbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPkxhdHZpYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5MaXRodWFuaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+THV4ZW1ib3VyZ2lzaDwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk1hY2Vkb25pYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5NYWxhZ2FzeTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk1hbGF5PC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+TWFsYXlhbGFtPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+TWFsdGVzZTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk1hb3JpPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+TWFyYXRoaTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk1vbmdvbGlhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk5lcGFsaTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk5vcndlZ2lhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk55YW5qYTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPk9yaXlhPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+UGVyc2lhbjwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlBvbGlzaDwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlBvcnR1Z3Vlc2UgKEJyYXppbCk8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5Qb3J0dWd1ZXNlIChQb3J0dWdhbCk8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5QYXNodG88L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5QdW5qYWJpPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+Um9tYW5pYW48L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5SdXNzaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U2Ftb2FuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U2hvbmE8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5TaW5kaGk8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5TaW5oYWxlc2U8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5TZXJiaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U2xvdmFrPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U2xvdmVuaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U29tYWxpPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U291dGhlcm4gU290aG88L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5TcGFuaXNoPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U3VuZGFuZXNlPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+U3dhaGlsaTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlN3ZWRpc2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5UYWdhbG9nPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VGFqaWs8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5UYW1pbDwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlRhdGFyPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VGVsdWdhPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VGhhaTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlR1cmtpc2g8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5UdXJrbWVuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VXlnaHVyPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VWtyYWluaWFuPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VXJkdTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPlV6YmVrPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+VmlldG5hbWVzZTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IGJsb2NrOyI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ib3B0aW9uIiB0YWJpbmRleD0iMCIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtc2V0c2l6ZT0iMTExIiByb2xlPSJvcHRpb24iIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogcG9pbnRlcjsgaGVpZ2h0OiA0MHB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci13aWR0aDogM3B4OyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHJnYig4NSwgODUsIDg1KTsiPjxzcGFuPldlbHNoPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+WGhvc2E8L3NwYW4+PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDFweDsgYm90dG9tOiAtNHB4OyBsZWZ0OiAxMHB4OyByaWdodDogMTBweDsgYmFja2dyb3VuZDogcmdiKDI0NSwgMjQ1LCAyNDUpOyBkaXNwbGF5OiBibG9jazsiPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im9wdGlvbiIgdGFiaW5kZXg9IjAiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLXNldHNpemU9IjExMSIgcm9sZT0ib3B0aW9uIiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogNDBweDsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDAwOyBib3JkZXItd2lkdGg6IDNweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiByZ2IoODUsIDg1LCA4NSk7Ij48c3Bhbj5ZaWRkaXNoPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+WW9ydWJhPC9zcGFuPjxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAxcHg7IGJvdHRvbTogLTRweDsgbGVmdDogMTBweDsgcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQ6IHJnYigyNDUsIDI0NSwgMjQ1KTsgZGlzcGxheTogYmxvY2s7Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJvcHRpb24iIHRhYmluZGV4PSIwIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1zZXRzaXplPSIxMTEiIHJvbGU9Im9wdGlvbiIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDQwcHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDQwMDsgYm9yZGVyLXdpZHRoOiAzcHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogcmdiKDg1LCA4NSwgODUpOyI+PHNwYW4+WnVsdTwvc3Bhbj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMXB4OyBib3R0b206IC00cHg7IGxlZnQ6IDEwcHg7IHJpZ2h0OiAxMHB4OyBiYWNrZ3JvdW5kOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGRpc3BsYXk6IG5vbmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IHdpZHRoOiAzcHg7IGhlaWdodDogNDBweDsgdG9wOiAycHg7IHJpZ2h0OiA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDExMCwgMTMwLCAxNTgpOyI+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZGlzcGxheS1sYW5ndWFnZSIgY2xhc3M9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiIgYXJpYS1oYXNwb3B1cD0ibGlzdGJveCIgc3R5bGU9ImRpc3BsYXk6IHRhYmxlOyBjdXJzb3I6IHBvaW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IDYwMDsgd2lkdGg6IDI2cHg7IGhlaWdodDogMTZweDsgZm9udC1zaXplOiAxMXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IG91dGxpbmUtY29sb3I6IHJnYigwLCAxMzEsIDE0Myk7IGJvcmRlci1yYWRpdXM6IDRweDsiIGFyaWEtbGFiZWw9IkVuZ2xpc2gsIFNlbGVjdCBhIGxhbmd1YWdlIj48ZGl2IGNsYXNzPSJ0ZXh0IiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Ij5FTjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im1lbnUtaW5mbyIgY2xhc3M9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiIgdGl0bGU9IkdldCBpbmZvcm1hdGlvbiBhYm91dCBoQ2FwdGNoYSBhbmQgYWNjZXNzaWJpbGl0eSBvcHRpb25zLiIgYXJpYS1jb250cm9scz0ibWVudSIgYXJpYS1oYXNwb3B1cD0ibWVudSI+PGRpdiBjbGFzcz0iaW5mby1vbiIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9ImluZm8tb2ZmIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibWVudSIgdGFiaW5kZXg9Ii0xIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0icHJlc2VudGF0aW9uIiBhcmlhLWxhYmVsbGVkYnk9Im1lbnUtaW5mbyIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9InNjcm9sbC1jb250YWluZXIiPjwvZGl2PjxkaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0icmVmcmVzaCBidXR0b24iIHRhYmluZGV4PSIwIiByb2xlPSJidXR0b24iIGFyaWEtbGFiZWw9IlJlZnJlc2ggQ2hhbGxlbmdlLiIgdGl0bGU9IlJlZnJlc2ggQ2hhbGxlbmdlLiI+PGRpdiBjbGFzcz0icmVmcmVzaC1vbiIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9InJlZnJlc2gtb2ZmIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+PC9kaXY+PGEgY2xhc3M9ImhjYXB0Y2hhLWxvZ28iIHRhYmluZGV4PSIwIiByb2xlPSJidXR0b24iIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5oY2FwdGNoYS5jb20vd2hhdC1pcy1oY2FwdGNoYS1hYm91dD9yZWY9YWRzLmx1YXJtb3IubmV0JmFtcDt1dG1fY2FtcGFpZ249MWE3NDU4YmEtNDkzZS00YzU2LTllYzgtMWZmYWI5MTJhYmQ4JmFtcDt1dG1fbWVkaXVtPWNoYWxsZW5nZSZhbXA7aGw9ZW4iIHRpdGxlPSJoQ2FwdGNoYSBsb2dvLCBvcGVucyBuZXcgd2luZG93IHdpdGggbW9yZSBpbmZvcm1hdGlvbiI+PGRpdiBjbGFzcz0iaGNhcHRjaGEtbG9nby1pY29uIj48ZGl2IGNsYXNzPSJsb2dvIj48L2Rpdj48L2Rpdj48L2E+PC9kaXY+PGRpdiBjbGFzcz0iaW50ZXJmYWNlLWNoYWxsZW5nZSIgZGlyPSJsdHIiIHN0eWxlPSJkaXJlY3Rpb246IGx0cjsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgY2xhc3M9ImRpc3BsYXktZXJyb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIiByb2xlPSJhbGVydCIgc3R5bGU9Im9wYWNpdHk6IDA7Ij48ZGl2IGNsYXNzPSJlcnJvci10ZXh0Ij5QbGVhc2UgdHJ5IGFnYWluLiAg4pqg77iPPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY2hhbGxlbmdlLWJyZWFkY3J1bWJzIj48ZGl2IGNsYXNzPSJjcnVtYnMtd3JhcHBlciI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iYnV0dG9uLXN1Ym1pdCBidXR0b24iIHRhYmluZGV4PSIwIiByb2xlPSJidXR0b24iIHRpdGxlPSJWZXJpZnkgQW5zd2VycyIgYXJpYS1sYWJlbD0iVmVyaWZ5IEFuc3dlcnMiPjxkaXYgY2xhc3M9InRleHQiPlZlcmlmeTwvZGl2PjxkaXYgY2xhc3M9ImJ1dHRvbi1zdWJtaXQtc3Bpbm5lciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48ZGl2IGNsYXNzPSJzcGlubmVyLWljb24iIHN0eWxlPSJ3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDsiPjxzdmcgd2lkdGg9IjE3IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTcgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9IndpZHRoOiAwcHg7IGhlaWdodDogMHB4OyBkaXNwbGF5OiBibG9jazsiPjxtYXNrIGlkPSJzcGlubmVyLW1hc2stMSIgZmlsbD0id2hpdGUiPjxwYXRoIGQ9Ik04LjUgMEMxMC4wODIzIDEuODg2ODJlLTA4IDExLjYyOSAwLjQ2OTE5MiAxMi45NDQ2IDEuMzQ4MjRDMTQuMjYwMiAyLjIyNzMgMTUuMjg1NSAzLjQ3NjczIDE1Ljg5MSA0LjkzODU0QzE2LjQ5NjUgNi40MDAzNSAxNi42NTUgOC4wMDg4OCAxNi4zNDYzIDkuNTYwNzNDMTYuMDM3NiAxMS4xMTI2IDE1LjI3NTcgMTIuNTM4IDE0LjE1NjggMTMuNjU2OUMxMy4wMzggMTQuNzc1NyAxMS42MTI2IDE1LjUzNzYgMTAuMDYwNyAxNS44NDYzQzguNTA4ODYgMTYuMTU1IDYuOTAwMzMgMTUuOTk2NSA1LjQzODUyIDE1LjM5MUMzLjk3NjcxIDE0Ljc4NTUgMi43MjcyOCAxMy43NjAxIDEuODQ4MjQgMTIuNDQ0NkMwLjk2OTE4NiAxMS4xMjkgMC40OTk5OTcgOS41ODIyNCAwLjUgNy45OTk5OEwyLjkgNy45OTk5OUMyLjkgOS4xMDc1NiAzLjIyODQzIDEwLjE5MDMgMy44NDM3NyAxMS4xMTEyQzQuNDU5MSAxMi4wMzIxIDUuMzMzNyAxMi43NDk5IDYuMzU2OTcgMTMuMTczN0M3LjM4MDIzIDEzLjU5NzYgOC41MDYyIDEzLjcwODUgOS41OTI1IDEzLjQ5MjRDMTAuNjc4OCAxMy4yNzYzIDExLjY3NjYgMTIuNzQzIDEyLjQ1OTggMTEuOTU5OEMxMy4yNDMgMTEuMTc2NiAxMy43NzYzIDEwLjE3ODggMTMuOTkyNCA5LjA5MjUxQzE0LjIwODUgOC4wMDYyMiAxNC4wOTc2IDYuODgwMjQgMTMuNjczNyA1Ljg1Njk4QzEzLjI0OTkgNC44MzM3MSAxMi41MzIxIDMuOTU5MTEgMTEuNjExMiAzLjM0Mzc3QzEwLjY5MDMgMi43Mjg0MyA5LjYwNzU4IDIuNCA4LjUgMi40VjBaIj48L3BhdGg+PC9tYXNrPjxwYXRoIGQ9Ik04LjUgMEMxMC4wODIzIDEuODg2ODJlLTA4IDExLjYyOSAwLjQ2OTE5MiAxMi45NDQ2IDEuMzQ4MjRDMTQuMjYwMiAyLjIyNzMgMTUuMjg1NSAzLjQ3NjczIDE1Ljg5MSA0LjkzODU0QzE2LjQ5NjUgNi40MDAzNSAxNi42NTUgOC4wMDg4OCAxNi4zNDYzIDkuNTYwNzNDMTYuMDM3NiAxMS4xMTI2IDE1LjI3NTcgMTIuNTM4IDE0LjE1NjggMTMuNjU2OUMxMy4wMzggMTQuNzc1NyAxMS42MTI2IDE1LjUzNzYgMTAuMDYwNyAxNS44NDYzQzguNTA4ODYgMTYuMTU1IDYuOTAwMzMgMTUuOTk2NSA1LjQzODUyIDE1LjM5MUMzLjk3NjcxIDE0Ljc4NTUgMi43MjcyOCAxMy43NjAxIDEuODQ4MjQgMTIuNDQ0NkMwLjk2OTE4NiAxMS4xMjkgMC40OTk5OTcgOS41ODIyNCAwLjUgNy45OTk5OEwyLjkgNy45OTk5OUMyLjkgOS4xMDc1NiAzLjIyODQzIDEwLjE5MDMgMy44NDM3NyAxMS4xMTEyQzQuNDU5MSAxMi4wMzIxIDUuMzMzNyAxMi43NDk5IDYuMzU2OTcgMTMuMTczN0M3LjM4MDIzIDEzLjU5NzYgOC41MDYyIDEzLjcwODUgOS41OTI1IDEzLjQ5MjRDMTAuNjc4OCAxMy4yNzYzIDExLjY3NjYgMTIuNzQzIDEyLjQ1OTggMTEuOTU5OEMxMy4yNDMgMTEuMTc2NiAxMy43NzYzIDEwLjE3ODggMTMuOTkyNCA5LjA5MjUxQzE0LjIwODUgOC4wMDYyMiAxNC4wOTc2IDYuODgwMjQgMTMuNjczNyA1Ljg1Njk4QzEzLjI0OTkgNC44MzM3MSAxMi41MzIxIDMuOTU5MTEgMTEuNjExMiAzLjM0Mzc3QzEwLjY5MDMgMi43Mjg0MyA5LjYwNzU4IDIuNCA4LjUgMi40VjBaIiBzdHJva2U9IiMyNjJEMzgiIHN0cm9rZS13aWR0aD0iOCIgbWFzaz0idXJsKCNzcGlubmVyLW1hc2stMSkiPjwvcGF0aD48L3N2Zz48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFsbGVuZ2UtbW9kYWwiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47IGRpc3BsYXk6IHRhYmxlOyB6LWluZGV4OiAtMTsiPjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PGRpdiBjbGFzcz0ibW9kYWwgbm8tb3V0bGluZSIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiB0YWJpbmRleD0iMCIgYXJpYS1kZXNjcmliZWRieT0ibW9kYWwtY29udGVudCI+PGRpdiBjbGFzcz0iaGVhZGVyIiBhcmlhLWxldmVsPSIxIj48aDIgaWQ9Im1vZGFsLXRpdGxlIj48L2gyPjxkaXYgY2xhc3M9InVuZGVybGluZSI+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibW9kYWwtY29udGVudCIgY2xhc3M9ImNvbnRlbnQiPjwvZGl2PjxkaXYgY2xhc3M9ImNsb3NlIGJ1dHRvbiIgdGFiaW5kZXg9IjAiIHJvbGU9ImJ1dHRvbiIgdGl0bGU9IkNsb3NlIE1vZGFsIj48ZGl2IGNsYXNzPSJjbG9zZS1vbiIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjxkaXYgY2xhc3M9ImNsb3NlLW9mZiIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJnIj48L2Rpdj48L2Rpdj48L2Rpdj4KCgo8L2JvZHk+PC9odG1sPg=="}},"submit":{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"tags":null,"meta":null,"user":{"user_id":"akbkyowd9geqr98","country_code":"zz"}},"settings":{"access":"public","device_type":"desktop","expires_at":"2026-11-30T17:50:33Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"z0yflva4pidy47h"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":4}},"detection":{"ids":null,"analyzer":[{"sensor_name":"quad9","sensor_type":"DNS","title":"Quad9 DNS","description":"Quad9 DNS","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS","link":"https://www.quad9.net","meta":null},{"sensor_name":"ultradns","sensor_type":"DNS","title":"DigiCert UltraDNS","description":"DigiCert UltraDNS","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"","link":"https://vercara.digicert.com/ultra-dns-public","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"d3jzhqnvnvdy34.cloudfront.net","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null},"summary":[{"fqdn":"ads.luarmor.net","ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2022-10-14","domain_rank":31953,"first_seen":"2024-09-04T02:36:01Z","last_seen":"2025-08-13T16:36:36.306005Z","alert_count":0,"request_count":22,"received_data":1574960,"sent_data":17361,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"jQuery:3.4.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Google Hosted Libraries","description":"Google Hosted Libraries is a stable, reliable, high-speed, globally available content distribution network for the most popular, open-source JavaScript libraries.","website":"https://developers.google.com/speed/libraries","common_platform_enumeration":"","icon":"Google Developers.svg","categories":["CDN"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"hCaptcha:1","description":"hCaptcha is an anti-bot solution that protects user privacy and rewards websites.","website":"https://www.hcaptcha.com","common_platform_enumeration":"","icon":"hCaptcha.svg","categories":["Security"]},{"name":"SweetAlert2","description":"SweetAlert2 is a JavaScript library that provides customisable, visually appealing, and responsive alert and modal dialog boxes for web applications.","website":"https://sweetalert2.github.io/","common_platform_enumeration":"","icon":"SweetAlert2.svg","categories":["JavaScript libraries"]}]},{"fqdn":"api.hcaptcha.com","ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2018-01-12","domain_rank":28177,"first_seen":"2021-07-31T14:27:15Z","last_seen":"2025-10-19T23:32:42.792536Z","alert_count":0,"request_count":1,"received_data":1409,"sent_data":836,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.74.10","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2025-10-19T22:12:35.4735Z","alert_count":0,"request_count":2,"received_data":33565,"sent_data":935,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"eredrubygsworlow.com","ip":{"addr":"18.165.122.127","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2025-08-08","domain_rank":0,"first_seen":"2025-10-26T13:50:58.885376Z","last_seen":"2025-10-26T13:50:58.885376Z","alert_count":0,"request_count":1,"received_data":4097,"sent_data":1014,"comment":"","tags":null,"fingerprints":[{"name":"Amazon ALB","description":"Amazon Application Load Balancer (ALB) distributes incoming application traffic to increase availability and support content-based routing.","website":"https://aws.amazon.com/elasticloadbalancing/","common_platform_enumeration":"","icon":"Amazon ELB.svg","categories":["Load balancers"]},{"name":"OpenResty:1.17.8.2","description":"OpenResty is a web platform based on nginx which can run Lua scripts using its LuaJIT engine.","website":"https://openresty.org","common_platform_enumeration":"","icon":"OpenResty.svg","categories":["Web servers"]},{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"js.hcaptcha.com","ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2018-01-12","domain_rank":44433,"first_seen":"2021-07-30T11:51:37Z","last_seen":"2025-10-20T02:12:42.180902Z","alert_count":0,"request_count":1,"received_data":258717,"sent_data":412,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"newassets.hcaptcha.com","ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2018-01-12","domain_rank":29228,"first_seen":"2021-03-22T10:55:22Z","last_seen":"2025-10-19T23:32:43.249531Z","alert_count":0,"request_count":3,"received_data":1754501,"sent_data":2320,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"hCaptcha","description":"hCaptcha is an anti-bot solution that protects user privacy and rewards websites.","website":"https://www.hcaptcha.com","common_platform_enumeration":"","icon":"hCaptcha.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"erstartirreleas.com","ip":{"addr":"104.21.96.123","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2025-06-11","domain_rank":0,"first_seen":"2025-10-26T07:54:13.885702Z","last_seen":"2025-10-26T07:54:13.885702Z","alert_count":0,"request_count":4,"received_data":2134,"sent_data":2328,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"dcbbwymp1bhlf.cloudfront.net","ip":{"addr":"3.167.7.80","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"domain_registered":"2008-04-25","domain_rank":0,"first_seen":"2024-01-03T03:40:06Z","last_seen":"2025-10-22T14:56:44.20733Z","alert_count":0,"request_count":1,"received_data":232787,"sent_data":431,"comment":"","tags":null,"fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"ajax.googleapis.com","ip":{"addr":"142.250.74.170","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":3691,"first_seen":"2012-05-22T10:38:03Z","last_seen":"2025-10-19T22:18:26.612619Z","alert_count":0,"request_count":1,"received_data":89131,"sent_data":444,"comment":"","tags":null,"fingerprints":null},{"fqdn":"ukankingwithea.com","ip":{"addr":"188.114.97.1","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2024-01-01","domain_rank":32650,"first_seen":"2024-09-05T12:50:03Z","last_seen":"2025-10-20T04:39:10.173576Z","alert_count":3,"request_count":1,"received_data":831,"sent_data":436,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"ka-f.fontawesome.com","ip":{"addr":"104.21.26.223","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2012-10-18","domain_rank":58377,"first_seen":"2019-12-17T06:36:13Z","last_seen":"2025-10-19T22:52:35.962342Z","alert_count":0,"request_count":3,"received_data":93012,"sent_data":1486,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"undefined","ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2020-01-28T19:52:40Z","last_seen":"2025-10-20T05:22:50.863931Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":983,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2025-10-19T22:12:30.612025Z","alert_count":0,"request_count":4,"received_data":157960,"sent_data":2193,"comment":"","tags":null,"fingerprints":null},{"fqdn":"accounts.google.com","ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":103,"first_seen":"2012-05-23T06:57:57Z","last_seen":"2025-10-19T22:32:41.177271Z","alert_count":0,"request_count":6,"received_data":13780,"sent_data":3776,"comment":"","tags":null,"fingerprints":[{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]}]},{"fqdn":"challenges.cloudflare.com","ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2009-02-17","domain_rank":11393,"first_seen":"2021-10-20T05:02:03Z","last_seen":"2025-10-19T22:14:26.033457Z","alert_count":0,"request_count":6,"received_data":516650,"sent_data":4491,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"d3jzhqnvnvdy34.cloudfront.net","ip":{"addr":"3.167.7.123","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"domain_registered":"2008-04-25","domain_rank":0,"first_seen":"2024-01-02T06:30:20Z","last_seen":"2025-10-25T22:10:21.266639Z","alert_count":1,"request_count":1,"received_data":232849,"sent_data":461,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":[{"sensor_name":"suricata","description":"Suricata /w Emerging Threats Pro","alerts":null}],"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/core/bootstrap.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"5fdbd2e0c6d1960c33384ddf188aef8a","sha1":"f984ed58c3ea7a69e789af46d1fb46c331782833","sha256":"b065d6a8424197ace2f5c38ee9b9007caa89db33da5a645525e4ea6a64fa2498","sha512":"0141d4416eacad92508aa9078c66d3dc4e0b97bcdd342758209872b5bcf6d32b79858f808df47dcdd8ad6d74b7f441868e09da8a65ae921df2502d067d8ba0f1","ssdeep":"","tlshash":"be1105837300a0d20fb95ddcc03d6902f085543e6985e49ab769deb6cc305bf21a7551","size":1000,"data":"","first_seen":"2024-08-21T07:24:21.892219Z","last_seen":"2026-04-14T07:57:48.099497Z","times_seen":24,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"5815e7fda8949f12b215e20c0c5eb96c","sha1":"2acfbe2a1dcedc4a6e0f5bfc9588e1aad7e2e723","sha256":"4a3e5002c9d01bfe3c12645fb5c0fb6abd1deaea606b2d75b687b493a4037549","sha512":"dd57c250d63df2cafd089ce050eae1e0bd5d4e2d479e0bafcf919df4c92b3b2a27ea6117e2e0ae3a4e3e7e48c1864931e094c19c6b7d184828dcc1c58068b118","ssdeep":"3:N/BKL1XLdb:eL1bdb","tlshash":"395504c0744030710410cc40d1f4141d71074c011537c401705d0cd437310440011541","size":1337359,"data":"","first_seen":"2025-10-26T17:50:42.528691Z","last_seen":"2025-10-26T17:50:42.528691Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"3d285fa1d4a66e657ea60c3774090a72","sha1":"63131e1058c62bfc8fb654e9026a4c64b5b51caf","sha256":"8f182bd038894af16d47afb92b9c9cd4093aef94e9595b690366fa0fff9ef719","sha512":"e61c419598d619e22a81884f5135681e4fc37160aab76fa75790eea2c92958cca65f4504525abc233aa7552832761737dbda775ac8a3378a89c34b255a00bbbd","ssdeep":"3:N/BKL1XLq:eL1bq","tlshash":"455504c1744030f14434cc40d1f4141d71074c003537c401705d04d417300440010541","size":1337359,"data":"","first_seen":"2025-10-26T17:50:42.529795Z","last_seen":"2025-10-26T17:50:42.529795Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"ba3bde5688ac85e39cf2a3363158a893","sha1":"d4806aaf5b6cfe2a2258ac9be35b4ec131309c8c","sha256":"81fac5301c8865a2d0ee72e4754de495a8e502b2f876d5e4a723d040c7c1fe65","sha512":"bdc446f8eff1c0298f58fda0d63240ef09d667d9a3f453c1904c7c314b96dcff9d78d7bcd3b72178252dbe999aac6b8160ce32dfe81fa8e3814ceeb426fc7f2d","ssdeep":"3:N/BKL1XLMh:eL1bS","tlshash":"665504c07c4030730c10cd40f1f4143d73054c401d17c401705d04d4173404404105c1","size":1337359,"data":"","first_seen":"2025-10-26T17:50:42.530942Z","last_seen":"2025-10-26T17:50:42.530942Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"c150f532e8bf3c38bb839368b2f8527f","sha1":"7d81cd6f86cbc0295de9ccf28220f14c82826241","sha256":"d749db426f457f10267fd480a37caa810266c30f0895afe00bd1f9fa5551918b","sha512":"ffdcfb77ca372f907725e6915cb7aa52e824c6e413e424521ef3908b3f6b35bd128971f60a4f16008f35bb4b69af39e75671aa3fc45cb4b409818cb3c2cd3cc3","ssdeep":"3:N/BKL1XLc:eL1bc","tlshash":"335504c1744034710410cc40d5f41c1d71054c301d57c401755d04d517300c40010541","size":1337359,"data":"","first_seen":"2025-10-26T17:50:42.53201Z","last_seen":"2025-10-26T17:50:42.53201Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/faslib.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"525cd7112f74cdbf8720e749ef3ff266","sha1":"d01c6b1f3196ca29f96bdbbe509e077c1a773ad3","sha256":"ae7aa1445694fe84c60ef4da9026f0d638cb6553603ac7f1917ba2eb2f688a44","sha512":"c6dbcaf6c7f02ca22c012f83650df918c8f5ddcd6b7ecb386edd2201250b3167546951b69cbec44bab363402e5ba9775106ea5e6c89ddcbb3729c97c0f8c311a","ssdeep":"192:GX3ssCla6O3pHufbPUCpEcrbCpg68vhtz91LO7sgBy70nZbPkks3ZXF1vh3rg1Qp:GexdACfCghtzb0tnByHVh3s1Q5l8hYD","tlshash":"4552c4997694b17646ab71a1c03f620fb27931263407d021e22cddd4acbdd6e9173f2d","size":13930,"data":"","first_seen":"2025-03-26T22:24:24.356962Z","last_seen":"2025-10-26T17:50:42.474645Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"9e925e9341b490bfd3b4c4ca3b0c1ef2","sha1":"c2543fff3bfa6f144c2f06a7de6cd10c0b650cae","sha256":"1eb79602411ef02cf6fe117897015fff89f80face4eccd50425c45149b148408","sha512":"1f4be9bd3c61e621ef43bb2e0a2d7836786f730e4e0e6aa546899bceab0571904dfc6efc94c1324b1a22ae446f0a995b533054b1dbd09d0cda03e0985786d59a","ssdeep":"","tlshash":"2a30000000000003000c00000000000000000000000000000000000000000000000000","size":4,"data":"","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-04-30T16:34:24.905477Z","times_seen":689903,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"7df22b1a05fbf93eea23a0f998a5ce5b","sha1":"23687e27df2f3d2753a9206cd4a77c1e04600ffd","sha256":"3165b72c1b09a822a4e395b85adcda0748797e0c56c5ff4433b6ebf3734cbfee","sha512":"6e397541208e52483e633463c6a4412ba8254b2e75a66ae2cb204f3cdfdd96bb0d962d3f967223a470eb577b649826dfe9353c136deb54e2f7b432b8595aa5c6","ssdeep":"","tlshash":"c2a024d454d7d01003fd011410157441f4fcc4731344cd704030c4330f7403103444cd","size":74,"data":"","first_seen":"2025-01-09T03:11:45.291974Z","last_seen":"2026-04-30T16:02:33.330437Z","times_seen":46885,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"9a34a13d566205e3482ecfc8f8437529","sha1":"c29021f9f4f1971b61170cb90f282a32f298ed34","sha256":"6fbfd0545ba4ace775c314878307bef49e48e5f995bfd622753b57e04097c8fc","sha512":"0b9ca7c520aac7c6d8f01c60a2fe929701845c7eef9682b6789f0493799937632254c57930a30efdc2aea6e0ce1b8cd28c787bc3096481c16506afde174feee0","ssdeep":"3:N/BKL1XLq2n:eL1bTn","tlshash":"1b5504c47c4030734410cc40d1f41c1d71054c001517c401737d05d41f340444410541","size":1337359,"data":"","first_seen":"2025-10-26T17:50:42.534279Z","last_seen":"2025-10-26T17:50:42.534279Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"eb38211f49c1cfbde51f34f3427987c0","sha1":"24d052ead289eb0ad575a732c278217edd97c100","sha256":"1b845962435ab8483743f45121017b4e4332120fcaaf5ddbd5863e13caecb156","sha512":"313b479efbb0d6ca6f4521aff5798785fee1ab077368c576e66d1f9165b56b757a6db928b68a3e821c72bd479b1047af924c142d4680219c72ca4495d400d92e","ssdeep":"","tlshash":"2cd08075315030fd805754f68397d3a13514754b74118176315cc31d1f005607db56fe","size":203,"data":"","first_seen":"2025-07-25T07:56:55.014324Z","last_seen":"2025-10-26T17:50:42.535235Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"65b0193675013d38b7f43d64b0418431","sha1":"c958d6e25dca57a94a0076fb61e09da433e37da7","sha256":"d0a37fd275a04b0bc8ac4df5d1397508f008ec79175c0f63febd9063fa981b75","sha512":"8ce9bd8e6985e5889af0b0f23c2798b08a9de88b2dea15a2d0e430b178961c4d92dcc7f974d0ba4c88586f40debeea1360b29909aa74623d9a8ffd1642d68686","ssdeep":"3072:UxXRLPMH4I0ucCUag69i48x3sCccuN6pC:6RLPM2LCUa9vG8T","tlshash":"15e3e99f39d7b88152923860045765db626b688c351cccedea1698e4fce0374d3a7ef8","size":143982,"data":"","first_seen":"2025-10-26T17:50:42.536129Z","last_seen":"2025-10-26T17:50:42.536129Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"9e925e9341b490bfd3b4c4ca3b0c1ef2","sha1":"c2543fff3bfa6f144c2f06a7de6cd10c0b650cae","sha256":"1eb79602411ef02cf6fe117897015fff89f80face4eccd50425c45149b148408","sha512":"1f4be9bd3c61e621ef43bb2e0a2d7836786f730e4e0e6aa546899bceab0571904dfc6efc94c1324b1a22ae446f0a995b533054b1dbd09d0cda03e0985786d59a","ssdeep":"","tlshash":"2a30000000000003000c00000000000000000000000000000000000000000000000000","size":4,"data":"","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-04-30T16:34:24.905477Z","times_seen":689903,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"eval","is_inline":false,"md5":"9e925e9341b490bfd3b4c4ca3b0c1ef2","sha1":"c2543fff3bfa6f144c2f06a7de6cd10c0b650cae","sha256":"1eb79602411ef02cf6fe117897015fff89f80face4eccd50425c45149b148408","sha512":"1f4be9bd3c61e621ef43bb2e0a2d7836786f730e4e0e6aa546899bceab0571904dfc6efc94c1324b1a22ae446f0a995b533054b1dbd09d0cda03e0985786d59a","ssdeep":"","tlshash":"2a30000000000003000c00000000000000000000000000000000000000000000000000","size":4,"data":"","first_seen":"2023-03-07T01:03:43Z","last_seen":"2026-04-30T16:34:24.905477Z","times_seen":689903,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"57caa2466f228b440d0b002cd5571a7f","sha1":"3ec5e7ab035cff9b9980f5d76725292ed8f2c970","sha256":"2a3a206da015d06d08afe53b6e4c07ef984568def245e68a8a6545425c1242a9","sha512":"4d12fe5650450d9184404db716fdbc00f6f015d7c154e6c389c526e8ce1fb92fcacc1bde969a53bbc528700d2d2b7e680ffcd473c54a185ac3fc7a51958252cd","ssdeep":"","tlshash":"4e9004d570c75400cfd3135c10571cc5547c4c7035444fd44070d5511f55030511545d","size":40,"data":"","first_seen":"2023-04-14T01:04:24Z","last_seen":"2026-04-30T16:00:43.983435Z","times_seen":51227,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":[{"md5":"086707e4369f60afedcafb16050a7618","sha1":"8216b0cc6876cbd44f01c158e7dff3833ceccd41","sha256":"a7fe83ec64bb23eb28090598db3d166ed98e52e39d1afbbfd74c579553f93e4e","sha512":"aade21843813e2cab329b99185c6f61db7907a556ea974e0315dcf3ad967cab20fee66d4f10db0d0ec43a71e086ce6d700d5524103deaefa3ce5f6be74ba5737","ssdeep":"","tlshash":"6a9000fee0a2000efc303bc00cc2238a0c28c3a830028e002ac038b8c80822bcc032c8","size":39,"data":"","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-04-30T16:36:14.063607Z","times_seen":847079,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"console":null},"http":[{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.588Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:07 GMT","end":"Wed, 24 Dec 2025 14:34:06 GMT"},"fingerprint":{"sha1":"CE:D7:82:8C:04:B0:E5:F9:3B:52:AC:E2:75:72:A1:31:F8:D2:42:D4","sha256":"B8:54:E9:B3:89:59:D3:D4:18:71:52:99:FF:BB:D7:4C:BF:09:4A:EE:50:59:19:40:A0:6E:17:ED:80:73:3B:22"}}},"request":{"raw":"GET /s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: identity\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Oct 2025 23:17:37 GMT\r\nexpires: Tue, 20 Oct 2026 23:17:37 GMT\r\ncache-control: public, max-age=31536000\r\nage: 498760\r\nlast-modified: Mon, 08 Sep 2025 18:08:05 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":40128,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-04-30T16:35:37.614199Z","times_seen":775594,"resource_available":false,"data":null}},"time_used":393,"timings":{"blocked":137,"dns":1,"connect":28,"send":0,"wait":29,"receive":38,"ssl":157},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ukankingwithea.com/","fqdn":"ukankingwithea.com","domain":"ukankingwithea.com","tld":"com"},"ip":{"addr":"188.114.97.1","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.912Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ukankingwithea.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 14:27:37 GMT","end":"Wed, 21 Jan 2026 15:26:07 GMT"},"fingerprint":{"sha1":"9D:07:9C:6F:57:10:86:CD:16:B0:52:82:27:D1:5A:15:62:C4:01:4D","sha256":"45:86:DC:CE:A9:11:84:B3:7C:78:71:DB:1D:F8:E8:6C:0F:4A:58:72:2C:CF:60:ED:8D:11:60:CB:9F:03:63:EF"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: ukankingwithea.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\ncontent-type: text/plain\r\nserver: cloudflare\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\naccess-control-allow-origin: https://ads.luarmor.net\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: GET\r\naccess-control-allow-headers: X-Requested-With, content-type\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=CGjTxdNhYhmQjHtYeiB2mmx9xXnQoHROAjCsIqiLuMpncgRDDtztAMXkRosdlLtNr3v7En5JwafDP2JlBlsR%2Fw50%2FKacOmsulCs3prcfbHY%3D\"}]}\r\ncontent-encoding: br\r\nset-cookie: csu=1002573034650852@1@1761501018; SameSite=None; Secure; Max-Age=31104000\r\ncf-ray: 994bcb923ab50b45-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":27,"size_decoded":0,"mime_type":"text/plain","magic":"ASCII text, with no line terminators","md5":"3146769d8edf205dca40f6a7293b886f","sha1":"6e0ad602483a891261b0caf68898e390faf3be7a","sha256":"2e78b73298f70813326fff25b1c5ce3aff120b4aded313da679304f6f8c496ba","sha512":"3102d0e7b820443f0dcb62acf897ab7c25de65453353e5835ed35042014d1a74e85ecf99f7f7fc3bfd91567f336e8ee2362e9b4b2530aed4b1f071b43777a2bf","ssdeep":"","tlshash":"3c800028ac8820328a00ce8028ac820a22808830ab02c88ca20a3080022baac208200b","first_seen":"2025-10-26T17:50:42.469301Z","last_seen":"2025-10-26T17:50:42.469301Z","times_seen":1,"resource_available":false,"data":null}},"time_used":267,"timings":{"blocked":46,"dns":32,"connect":1,"send":0,"wait":159,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":[{"sensor_name":"quad9","sensor_type":"DNS","title":"Quad9 DNS","description":"Quad9 DNS","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS","link":"https://www.quad9.net","meta":null},{"sensor_name":"ultradns","sensor_type":"DNS","title":"DigiCert UltraDNS","description":"DigiCert UltraDNS","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"","link":"https://vercara.digicert.com/ultra-dns-public","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"ukankingwithea.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/plugins/sweetalert2.all.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.091Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/plugins/sweetalert2.all.min.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-1078d\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8caf9a1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":67469,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (42951)","md5":"54d16688ee51061d7dcc89f8c95bda97","sha1":"b4b8e6f6380f53c92b51445eba6c51ca0d586eb8","sha256":"687b874d4ed274c52e441173257f8f4646dfcbd91dd2e1874bcb9ce0cfcd541a","sha512":"28c38ab61769f33fe5b4b951c93521fbeedd7177e41243f63e16bd566619b57e71eb20da33acf0f3c733eb023fc93cd1a8e018944730e15f54b75c302a3e23d0","ssdeep":"1536:+HXAPO0qY8UoOHBIRF54LTlxSd1gNnw+VK:+3APO0qY8AHBuwLpxSd1g6","tlshash":"d4635b5205003033babf4ab569e4e304b6a15516fc324c14f87dd5948fabe8b65f3bba","first_seen":"2023-03-10T11:22:45Z","last_seen":"2026-04-25T17:02:21.20501Z","times_seen":99,"resource_available":true,"data":null}},"time_used":87,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":87,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.695Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"hcaptcha.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 25 Oct 2025 21:56:55 GMT","end":"Fri, 23 Jan 2026 22:56:51 GMT"},"fingerprint":{"sha1":"A4:15:32:49:93:6A:E4:9F:0F:65:76:08:3E:04:2C:FA:87:57:7D:90","sha256":"D6:E4:78:68:8D:D7:DF:4D:13:24:4A:8A:E4:4D:E0:CE:80:FC:94:F0:3F:31:79:A4:DD:56:05:89:99:7F:AF:F9"}}},"request":{"raw":"GET /captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html HTTP/1.1\r\nHost: newassets.hcaptcha.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nCookie: __cf_bm=OCZV0PBtIwLD4YODeyeA6zQrwbOYuMaaGFTv1q.Pz3E-1761501017-1.0.1.1-TcWnRA3IptwLPfhd_6BoVd.hWR7ZHpEsfUYElxnXycKJ7IhcRkzmP2hB.2FGSXrqRYqyzQkk_hpkqa5Sf5BdICvkApn_KPct16b0hFuUcz8\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/html\r\ncontent-encoding: br\r\ncache-control: max-age=3600\r\nvary: accept-encoding, Origin\r\nalt-svc: h3=\":443\"; ma=86400\r\ncf-cache-status: HIT\r\npriority: u=4,i=?0\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\ncontent-security-policy: report-uri https://sentry.hcaptcha.com/api/6/security/?sentry_key=30910f52569b4c17b1081ead2dae43b4\u0026sentry_environment=prod\u0026sentry_release=csp1;\r\ncross-origin-resource-policy: cross-origin\r\nserver: cloudflare\r\ncf-ray: 994bcb908cf45685-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"hCaptcha","description":"hCaptcha is an anti-bot solution that protects user privacy and rewards websites.","website":"https://www.hcaptcha.com","common_platform_enumeration":"","icon":"hCaptcha.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":485072,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (39407)","md5":"ca04f1a9aa78d557a490833f009c13e9","sha1":"54cf2d6a0ed3aab3bed2b49d3545ad60497243b1","sha256":"084b68764c77fb087e4aa07276dd037836a96725eab675a07d848d23bb12d18e","sha512":"884d7e48a3de5fbb7ec50235d285ca75f9e2d538d40bdd4a4a290d7bbff8d97de7a3f2d4e053eaa504178c078b9575810384ebcb3416085d98313981f21ffcea","ssdeep":"6144:ywAP4C9da/aF8Sy5ECu1VDEBaKUZ0TmypruEHW:qHda/yen32","tlshash":"8ba4fa6a7314302f46e663e144af251b6375d42b740a409cff35eceea87c84a613af79","first_seen":"2025-10-24T19:20:27.47625Z","last_seen":"2025-10-30T15:07:57.18702Z","times_seen":525,"resource_available":false,"data":null}},"time_used":50,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":34,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/InteractiveLogin?continue=https://www.youtube.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026dsh=S270863799:1761501017994869\u0026ifkv=ARESoU1X5_2PNXyR_DjBtGPh4MaRLG_cVLpiTunhrI0GP5LJNhuyjBt5cu5RimRGBBVVjRNc4VVsvA","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.716Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:32:25 GMT","end":"Wed, 24 Dec 2025 14:32:24 GMT"},"fingerprint":{"sha1":"3A:78:B2:96:D0:CD:A5:D3:08:6F:80:16:15:5C:10:CC:41:FE:1B:12","sha256":"D2:92:7D:D4:5D:78:BC:69:FC:32:73:D8:16:EF:3A:37:3A:0E:0C:2D:50:4F:FE:51:7E:F7:EA:93:56:B9:8C:1D"}}},"request":{"raw":"GET /InteractiveLogin?continue=https://www.youtube.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026dsh=S270863799:1761501017994869\u0026ifkv=ARESoU1X5_2PNXyR_DjBtGPh4MaRLG_cVLpiTunhrI0GP5LJNhuyjBt5cu5RimRGBBVVjRNc4VVsvA HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 Found\r\ncontent-type: text/html; charset=UTF-8\r\nset-cookie: __Host-GAPS=1:oWjSDfz7PQI5lqi7cOO7aXbsrG870A:_6FJfM__4X093c9Q;Path=/;Expires=Tue, 26-Oct-2027 17:50:18 GMT;Secure;HttpOnly;Priority=HIGH\r\nx-frame-options: DENY\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\nlocation: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.youtube.com%2Ffavicon.ico\u0026dsh=S270863799%3A1761501017994869\u0026hl=en\u0026ifkv=ARESoU1XzeD6TjC_khGuIm5frVrsIRFoc2_Hwo8l3HWhqMkh0l_LhCwMX8rH3QdhPs1f_7NZPI_Zsw\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"coop_gse_qebhlk\"\r\ncontent-security-policy: require-trusted-types-for 'script';report-uri /cspreport, script-src 'nonce-IuW_pxmw_dhVu6TCdhQgkQ' 'unsafe-inline' 'unsafe-eval';object-src 'none';base-uri 'self';report-uri /cspreport\r\nreport-to: {\"group\":\"coop_gse_qebhlk\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/gse_qebhlk\"}]}\r\ncontent-encoding: gzip\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\ncontent-length: 419\r\nserver: GSE\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"Found","fingerprints":[{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":36,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.785Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:07 GMT","end":"Wed, 24 Dec 2025 14:34:06 GMT"},"fingerprint":{"sha1":"CE:D7:82:8C:04:B0:E5:F9:3B:52:AC:E2:75:72:A1:31:F8:D2:42:D4","sha256":"B8:54:E9:B3:89:59:D3:D4:18:71:52:99:FF:BB:D7:4C:BF:09:4A:EE:50:59:19:40:A0:6E:17:ED:80:73:3B:22"}}},"request":{"raw":"GET /s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: identity\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Oct 2025 23:17:37 GMT\r\nexpires: Tue, 20 Oct 2026 23:17:37 GMT\r\ncache-control: public, max-age=31536000\r\nage: 498761\r\nlast-modified: Mon, 08 Sep 2025 18:08:05 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":40128,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-04-30T16:35:37.614199Z","times_seen":775594,"resource_available":false,"data":null}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ka-f.fontawesome.com/releases/v5.15.4/css/free-v4-font-face.min.css?token=42d5adcbca","fqdn":"ka-f.fontawesome.com","domain":"fontawesome.com","tld":"com"},"ip":{"addr":"104.21.26.223","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.353Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ka-f.fontawesome.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Oct 2025 17:18:15 GMT","end":"Thu, 15 Jan 2026 18:18:12 GMT"},"fingerprint":{"sha1":"14:B4:4E:5A:B6:48:F2:69:A9:E6:D8:3F:F4:00:F7:C3:DC:42:70:A9","sha256":"23:9B:61:89:98:2E:2A:43:0D:A1:71:DB:BB:23:68:64:56:F6:91:46:AD:92:82:EE:B9:44:3B:16:79:CF:1E:FA"}}},"request":{"raw":"GET /releases/v5.15.4/css/free-v4-font-face.min.css?token=42d5adcbca HTTP/1.1\r\nHost: ka-f.fontawesome.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: GET\r\naccess-control-max-age: 3000\r\nlast-modified: Wed, 04 Aug 2021 18:53:09 GMT\r\nserver: cloudflare\r\naccess-control-allow-headers: fa-kit-token\r\ncontent-encoding: gzip\r\ncache-control: max-age=31556926\r\netag: W/\"f2e0b2680d9b0bcb6e0039c4424e5a59\"\r\nvary: Accept-Encoding\r\nx-cache: Hit from cloudfront\r\nvia: 1.1 0ca3a24436a7d86916b35130b21285a8.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: hYC1c94NNg_84yO2IeHNGvpV8mIOq9LwIpLnMEqQc4qDAAEtbz_uxg==\r\nage: 397798\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=xaX3s02%2Fe7gaKEN5AC6NycXCb3UBBPkr6Q%2FwCKIfy17Qpg0Cay%2Bnh2nmjr52rS71yyvxkLUAucJikRY0MSO%2FNWmQzlQH6VMbJpt%2BYWaklDdxI5%2BK\"}]}\r\ncf-ray: 994bcb8ea8eab28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2956,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text, with very long lines (2774)","md5":"f2e0b2680d9b0bcb6e0039c4424e5a59","sha1":"1ea995cea90b79f3ad16c318572313a671718645","sha256":"7f8b63bff49fba3c5bae30f4eb39f2fd6d088fbe9d7292bdf37b0ef4a1ec68d6","sha512":"df7c65b3df1a4f5ac7f697b1d6dcc264ecf3c177f9bd0375b5c52a4a124ac8cea4fde3429226875d3b39d1235623a0869230af25e6028c452c9e7e417a53fac3","ssdeep":"","tlshash":"1451aabd47d2022051920f3534e77100ea9ef06bba246eb2c629ca551cbd94b73caf1d","first_seen":"2023-04-06T02:45:40Z","last_seen":"2026-04-30T14:13:24.829609Z","times_seen":4956,"resource_available":false,"data":null}},"time_used":69,"timings":{"blocked":30,"dns":1,"connect":4,"send":0,"wait":6,"receive":0,"ssl":23},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"erstartirreleas.com/MWlib3keVgEcRGUDKD0dXDtQLktrKDc3Hn0wUlYqVB4kCChnIEQbEFVUU15LB19XWV9BAAZSSBcaFg4NRBpfXl9YBwQARBcfX15XAl1MXE8fX0QaRABPFh8YVlRTSQlFHQ5SSAZfU1pJAFlTWEoJWg","fqdn":"erstartirreleas.com","domain":"erstartirreleas.com","tld":"com"},"ip":{"addr":"104.21.96.123","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.438Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"erstartirreleas.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Oct 2025 08:37:16 GMT","end":"Mon, 05 Jan 2026 09:35:34 GMT"},"fingerprint":{"sha1":"D7:41:A4:37:50:67:F0:F7:62:83:7A:EF:86:27:AE:8A:4A:64:5B:52","sha256":"58:97:00:C7:F4:95:EE:74:A4:23:97:CE:1B:66:CD:4C:0B:90:3E:EF:19:E2:2C:CB:7A:61:3B:2A:47:C4:F1:68"}}},"request":{"raw":"GET /MWlib3keVgEcRGUDKD0dXDtQLktrKDc3Hn0wUlYqVB4kCChnIEQbEFVUU15LB19XWV9BAAZSSBcaFg4NRBpfXl9YBwQARBcfX15XAl1MXE8fX0QaRABPFh8YVlRTSQlFHQ5SSAZfU1pJAFlTWEoJWg HTTP/1.1\r\nHost: erstartirreleas.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 204 No Content\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\naccess-control-allow-origin: *\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ti1uxuvAXK0bgO6B7w%2FdLzAV3Mj%2B6VIqNSk9%2B8fzEaSP7lCI744Rw9YmduxgAjbdPnLJhhIQZdUsBe1O2pKpEqAT41oIBLxSUT1ZrOnXUUZk\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: 994bcb8f0a5cb4f1-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"No Content","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":183,"timings":{"blocked":4,"dns":33,"connect":1,"send":0,"wait":127,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=checkbox\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.696Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"hcaptcha.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 25 Oct 2025 21:56:55 GMT","end":"Fri, 23 Jan 2026 22:56:51 GMT"},"fingerprint":{"sha1":"A4:15:32:49:93:6A:E4:9F:0F:65:76:08:3E:04:2C:FA:87:57:7D:90","sha256":"D6:E4:78:68:8D:D7:DF:4D:13:24:4A:8A:E4:4D:E0:CE:80:FC:94:F0:3F:31:79:A4:DD:56:05:89:99:7F:AF:F9"}}},"request":{"raw":"GET /captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html HTTP/1.1\r\nHost: newassets.hcaptcha.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nCookie: __cf_bm=OCZV0PBtIwLD4YODeyeA6zQrwbOYuMaaGFTv1q.Pz3E-1761501017-1.0.1.1-TcWnRA3IptwLPfhd_6BoVd.hWR7ZHpEsfUYElxnXycKJ7IhcRkzmP2hB.2FGSXrqRYqyzQkk_hpkqa5Sf5BdICvkApn_KPct16b0hFuUcz8\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/html\r\ncontent-encoding: br\r\ncache-control: max-age=3600\r\nvary: accept-encoding, Origin\r\nalt-svc: h3=\":443\"; ma=86400\r\ncf-cache-status: HIT\r\npriority: u=4,i=?0\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\ncontent-security-policy: report-uri https://sentry.hcaptcha.com/api/6/security/?sentry_key=30910f52569b4c17b1081ead2dae43b4\u0026sentry_environment=prod\u0026sentry_release=csp1;\r\ncross-origin-resource-policy: cross-origin\r\nserver: cloudflare\r\ncf-ray: 994bcb909cf75685-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"hCaptcha","description":"hCaptcha is an anti-bot solution that protects user privacy and rewards websites.","website":"https://www.hcaptcha.com","common_platform_enumeration":"","icon":"hCaptcha.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":485072,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (39407)","md5":"ca04f1a9aa78d557a490833f009c13e9","sha1":"54cf2d6a0ed3aab3bed2b49d3545ad60497243b1","sha256":"084b68764c77fb087e4aa07276dd037836a96725eab675a07d848d23bb12d18e","sha512":"884d7e48a3de5fbb7ec50235d285ca75f9e2d538d40bdd4a4a290d7bbff8d97de7a3f2d4e053eaa504178c078b9575810384ebcb3416085d98313981f21ffcea","ssdeep":"6144:ywAP4C9da/aF8Sy5ECu1VDEBaKUZ0TmypruEHW:qHda/yen32","tlshash":"8ba4fa6a7314302f46e663e144af251b6375d42b740a409cff35eceea87c84a613af79","first_seen":"2025-10-24T19:20:27.47625Z","last_seen":"2025-10-30T15:07:57.18702Z","times_seen":525,"resource_available":false,"data":null}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/img/apple-icon.png","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.905Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/img/apple-icon.png HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 Not Found\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/html\r\ncontent-encoding: br\r\ncache-control: max-age=172800\r\ncf-cache-status: EXPIRED\r\nvary: accept-encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb91c9c01525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":146,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF line terminators","md5":"8eec510e57f5f732fd2cce73df7b73ef","sha1":"3c0af39ecb3753c5fee3b53d063c7286019eac3b","sha256":"55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0","sha512":"73bbf698482132b5fd60a0b58926fddec9055f8095a53bc52714e211e9340c3419736ceafd6b279667810114d306bfccdcfcddf51c0b67fe9e3c73c54583e574","ssdeep":"","tlshash":"b7c02b2d35133c4cc563313423c37140c0d6833b687a41110400c00371cf2998ec3397","first_seen":"2023-03-07T12:05:15Z","last_seen":"2026-04-30T16:34:36.933746Z","times_seen":499491,"resource_available":true,"data":null}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":54,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/faslib.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.083Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /faslib.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:55:36 GMT\r\netag: W/\"66d66c98-366a\"\r\nage: 5412\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8caf8e1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":13930,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (12736)","md5":"525cd7112f74cdbf8720e749ef3ff266","sha1":"d01c6b1f3196ca29f96bdbbe509e077c1a773ad3","sha256":"ae7aa1445694fe84c60ef4da9026f0d638cb6553603ac7f1917ba2eb2f688a44","sha512":"c6dbcaf6c7f02ca22c012f83650df918c8f5ddcd6b7ecb386edd2201250b3167546951b69cbec44bab363402e5ba9775106ea5e6c89ddcbb3729c97c0f8c311a","ssdeep":"192:GX3ssCla6O3pHufbPUCpEcrbCpg68vhtz91LO7sgBy70nZbPkks3ZXF1vh3rg1Qp:GexdACfCghtzb0tnByHVh3s1Q5l8hYD","tlshash":"4552c4997694b17646ab71a1c03f620fb27931263407d021e22cddd4acbdd6e9173f2d","first_seen":"2025-03-26T22:24:24.356962Z","last_seen":"2025-10-26T17:50:42.474645Z","times_seen":7,"resource_available":true,"data":null}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/flow/ov1/918913862:1761499033:DpQlbXITBfzkK1B264P3brSdiGJ92Jg_Jd2vFWIaUZ0/994bcb5e8ca4783d/UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","date":"2025-10-26T17:50:10.151Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"POST /cdn-cgi/challenge-platform/h/b/flow/ov1/918913862:1761499033:DpQlbXITBfzkK1B264P3brSdiGJ92Jg_Jd2vFWIaUZ0/994bcb5e8ca4783d/UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto\r\ncf-chl: UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J\r\ncf-chl-ra: 0\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 4108\r\nOrigin: https://challenges.cloudflare.com\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:10 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncf-chl-gen: 4Qf+3hqxzwPxiVUqzppzETSLgWQZfKqooxQTVxKXLv5cm1owAclH6vxD6kwwboqVlvR7Sh3XmOAn5XDdtobUFNinWvMhpLKm9M6oNLI1VFeltKkPVaBVTu6yD0WAgALysnIz6rAGeC+qzKr3QNU2UCSW2tlKsG7w83RPtd4rHE4nRZeUyFWmBgEqRjkljjgQiGXiWc05f3nIIX+NSthdAfDdQqAhazY5uqS2hXcsgpxfrVGybqpQyc/iuyGH1qls1AuYhaew6CQjXSHhzlGipzHbKLJLcGFLJixkRhx3lYwW3owNckOf/q6tO2M+Iw2ntl143CvWUGtGpvuomUX3UnkEm4uSa08w6w2COHFA+YDuNJ2smweUkNEm/G5cuWlTtp6Sur51zSy0f5dF0ceK3NaUnFFjQYSBA74F2OHsR8vUeSEI8byOvOIvhpx1IvEnl2tK9oVAFlWmDyyFIn7+c+YRNp3d/GBf+0klB0FkIfOWtW+5QDbFcOfVfccjcngsY1oqo4siMfBfYtTaNdoQzm93A3lItzafZDh98cJBRZ/aN+9pQjIIAXsbiJGJn799gViy92qBb72TyZugYo6/VZyfunT20uElmmRuKQMChud0fxQ83WpotTDP/JXCqgacz4S0sx2chegtcHYUP1yLd3+RD34bIdjLqbBdAb3zclZ8h9jd98Ungvn4FsKSBK13JeIlJN/tBcoO31CHK8yULlQDmccXLyQBh6GQikb9msWqbAsdQ/OW4IVGmHGgnkOUEfHA9q5kmxP48ITwRDaDug==$+gMEqKe07y9grHb4TK7O+w==\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: 994bcb616c30783d-OSL\r\ncontent-encoding: br\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":264328,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"3d8737fc76d2e3fc05846362bdcb68a7","sha1":"207d77c3523e5db27a4cf460ac21683858f494d6","sha256":"5084698b5c3372ec3ee73704d47d371f30c28224d118f153862d65a8539ffceb","sha512":"7d61003df599f7c09ac7c87523e72753af852065ef832c69073beb669bce6bc6fb13109dd9a7d3ef11bf108b28ad68e29c43cb9ac5794961c9a8088edcd8859a","ssdeep":"6144:XrlHwovuS+L9VBOe9eVIbADrX4exGcu7THp7J:blHwomSG9VwYenDEexPu7TJ7J","tlshash":"2744121c788b2e9b8060a92dcbbc460e1cc45ed90833bee443f7d985d596e99163c5bb","first_seen":"2025-10-26T17:50:42.475586Z","last_seen":"2025-10-26T17:50:42.475586Z","times_seen":1,"resource_available":false,"data":null}},"time_used":77,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":67,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/material-dashboard.min.js?v=3.0.2","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.111Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/material-dashboard.min.js?v=3.0.2 HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-758d\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbff11525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":30093,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text","md5":"8c597caa7d6c4dfa06c27c4659a5afeb","sha1":"5276d39850dcfe5997b520014c9636108ab789aa","sha256":"65caafc8d802ca98e25858ea89ca6d1826f92de36ce286d626a1bd325c49c28f","sha512":"0b68ad28256c2340ef7081d7fdc907c06fe9e38064260a3b0991e4b451487abb31c18a242810e6c14ff25f8a60808e21be0d180dfad8018664468e1e8e82b764","ssdeep":"192:3c8wMZQj2vwS8onFxuyeyLwxbbQqHgJdRpLFH45qet/mcv5Ap/cNTPSm5YT1QzeG:3c8wMZQDS8VUkBTLyEv9OxZre","tlshash":"0cd2401c61e2113d85b734be8bef4a857624404bd80acc223d6edb490fd187566f6fe8","first_seen":"2025-03-26T22:24:24.352182Z","last_seen":"2025-10-26T17:50:42.476495Z","times_seen":7,"resource_available":true,"data":null}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":84,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/GJ824719BN159OCT.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.114Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /GJ824719BN159OCT.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Sat, 04 Oct 2025 15:20:53 GMT\r\netag: W/\"68e13b55-2462d\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbff51525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":149037,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (5344)","md5":"94d209b64e2a4b36469b83550f18d5c1","sha1":"bdf9871e384c2fa24fff02220d447a38078e5a70","sha256":"7893c30668761a85411743637d96bf9824563cab2c8a0efd46bc6df008fc7b45","sha512":"d41b1364b6cdd3dfa259d7af275794e25f998fe60a97eeceaea818f0c525ccdf3ef182e635bfd5d1c905716ff6cfcea94d707d6061b68b2ab07217787fec8941","ssdeep":"3072:wtFRxb8sUmRh/xG7v1jIF5ljCP+mQnfyVcQQCqttlWz8zMnnwserxEduGDctZVIT:wtF/6QQnw6fFpaBxJWu9o","tlshash":"0ce3f864eef46c641b3597fe6b3e2349611684de0aa7e6bc760c9ecc3b50e725613803","first_seen":"2025-10-26T17:50:42.477462Z","last_seen":"2025-10-26T17:50:42.477462Z","times_seen":1,"resource_available":false,"data":null}},"time_used":88,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":88,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/x_49840_SAGELINEUP.bin","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.645Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /x_49840_SAGELINEUP.bin HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nDNT: 1\r\nConnection: keep-alive\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/octet-stream\r\ncontent-length: 29761\r\ncf-ray: 994bcb8feb251525-OSL\r\nlast-modified: Wed, 29 Jan 2025 01:25:50 GMT\r\netag: \"6799839e-7441\"\r\naccept-ranges: bytes\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":29761,"size_decoded":0,"mime_type":"application/octet-stream","magic":"ASCII text, with very long lines (29760)","md5":"a4aff72aace4c7b38aee30d5c0f17ad5","sha1":"c05d47d5d0dc4db837b56a17ad92224b21852685","sha256":"30883e41ba0bcafe5b08329ce1f9fe509774b184f27be461770b3ceb4c95c455","sha512":"007516cbc72a4d7d0ce2850774f51ad6f43d8d30782130b86277ca499f7843ea975d343079d7bfd30c502b75c85bd7cfa04605893c56a38a77501af622ed2c10","ssdeep":"768:HPiQIBrGWsXWCc8MCbEp2ANdxrt3KfXiZ:HPi7tGBpUCw1NHMfXiZ","tlshash":"bdd2e149a53b76ef5b6d894c33270c279306668880c3585b05ff9218d2affcf4e650d8","first_seen":"2025-03-26T22:24:24.366497Z","last_seen":"2025-10-26T17:50:42.47839Z","times_seen":7,"resource_available":false,"data":null}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":85,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/turnstile/v0/b/c88755b0cddc/api.js?onload=tJNc6\u0026render=explicit","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:09.299Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"GET /turnstile/v0/b/c88755b0cddc/api.js?onload=tJNc6\u0026render=explicit HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: application/javascript; charset=UTF-8\r\nlast-modified: Fri, 24 Oct 2025 13:09:10 GMT\r\ncache-control: max-age=31536000, stale-if-error=10800, stale-while-revalidate=31536000, public\r\naccess-control-allow-origin: *\r\ncross-origin-resource-policy: cross-origin\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb5cbd868be6-OSL\r\ncontent-encoding: br\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":49434,"size_decoded":0,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (49433)","md5":"7eb722b09f5851ce9469521dc4b8d6d1","sha1":"8ef57a25a6723f850130e26b79ea87135bf3675e","sha256":"2f5cc04f07d33787c2033276403c5824341389f871f73a8b0439dc24a1c5b8ff","sha512":"9615ce926db65c1d2a20a862d08ad94f790dd75a40c05a4291fe761515e752a29623bb54ccc28f824c26cbb143f0c8b0065996c8e11c02271ccc460067b3068d","ssdeep":"768:1C6jR2KMgaoLUU6c9Db69qBuug2Uw5jOyhfVNY1EbV9tGcpfBgQfuWVuY8t:r2PgaoLUU6cRxuX2bhiDt","tlshash":"c5232a583256797227d980e0a17b63437326753ae94ccc50e423d936267cecad233fba","first_seen":"2025-10-24T17:35:25.520136Z","last_seen":"2025-10-31T13:19:45.487117Z","times_seen":5611,"resource_available":true,"data":null}},"time_used":216,"timings":{"blocked":101,"dns":80,"connect":1,"send":0,"wait":13,"receive":0,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/core/popper.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.097Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/core/popper.min.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-4944\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cafbb1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":18756,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (18706)","md5":"72d3b1e50e1a60d898f7817b27d76c1a","sha1":"01d720c9ed9eab4e8d7f87d013cb3af11540d498","sha256":"98f078a39b01008ae2eefd279d4aecc614b2b2533a4f8bef368e69d1977f5cb2","sha512":"48f921626d9eb2e363971b7e5364d5dd2a7eaedbf380b55c15c130630804da8355955909db4e7986dca0b1ecc643d5862cae48700509ff9e97635d85df30a8fa","ssdeep":"384:PTL+5nmEpLFrCtACZiKkbMAVfb2Bxam1HjsL+MSV1Nn1aixt094nOhpgHfHMh++T:ymEe+CZiTbRVcQyMC1Nn1zt094nOhpge","tlshash":"1b82b5cd3594f0a1167b52bac03f550f73379561228ea100b244d6da2c78ebba26bc3f","first_seen":"2023-03-07T12:04:05Z","last_seen":"2026-04-29T05:21:29.732326Z","times_seen":157,"resource_available":true,"data":null}},"time_used":82,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":82,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/core/bootstrap.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.098Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/core/bootstrap.min.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-e729\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbfca1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":59177,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (58940)","md5":"f10726529d0b38294e82063132162c31","sha1":"eb04cf46d5c6ef43c820ae13157d87a0789865e2","sha256":"b198403fd60d147790491c9eb8e1914a143b12b0d67d27b8b887fe5fa08dfa38","sha512":"4fd1d12ca05e7a39d7275fd3116aaf4e6e2ea1e56d0296afe5a6fd831a83d616f99ccced054e31e8472fcbdcd42c343b9d68cf01a04855056d1268a763684f9b","ssdeep":"768:pZTlSOLQenVa+Shd413pjWxkRfFdAZTVUzRWQHWxBVm7MT09XAPtThvBEwU8TtLf:p5fkVf5Lw9eEZeql0","tlshash":"0c43c44a3358b8330ade44a79072474bf7255994b147806cb9bc6cde1b3dc8672b7bb8","first_seen":"2023-03-08T09:17:06Z","last_seen":"2026-04-30T02:50:45.16679Z","times_seen":270,"resource_available":true,"data":null}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":86,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"erstartirreleas.com/UEMxZWR/fFIWWTUFdxMyPBl/PAggKlNVDDoUdi8KBC5nAAZiFhcRDTR+AFRRY3QIUUIgKlVYVWhlQhEFJDZCWFV2Kl8DC21lR1hVfnMfV0plZURYVXY3QQQDbXIXFRAkLwxUU2ZyBFVVYHIGVl1h","fqdn":"erstartirreleas.com","domain":"erstartirreleas.com","tld":"com"},"ip":{"addr":"104.21.96.123","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.576Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"erstartirreleas.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Oct 2025 08:37:16 GMT","end":"Mon, 05 Jan 2026 09:35:34 GMT"},"fingerprint":{"sha1":"D7:41:A4:37:50:67:F0:F7:62:83:7A:EF:86:27:AE:8A:4A:64:5B:52","sha256":"58:97:00:C7:F4:95:EE:74:A4:23:97:CE:1B:66:CD:4C:0B:90:3E:EF:19:E2:2C:CB:7A:61:3B:2A:47:C4:F1:68"}}},"request":{"raw":"GET /UEMxZWR/fFIWWTUFdxMyPBl/PAggKlNVDDoUdi8KBC5nAAZiFhcRDTR+AFRRY3QIUUIgKlVYVWhlQhEFJDZCWFV2Kl8DC21lR1hVfnMfV0plZURYVXY3QQQDbXIXFRAkLwxUU2ZyBFVVYHIGVl1h HTTP/1.1\r\nHost: erstartirreleas.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 204 No Content\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\naccess-control-allow-origin: *\r\ncf-cache-status: DYNAMIC\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=j%2BCwo5WYpzhLV%2FMwtx%2BOx23NymEEMYw4qK827BzTwSOeVFjwMEPu2ML1390CCAe%2FT%2FrHoZVAcJ8L5n45MseKE%2FOsZZo0VnC1woA9rBpj2t0L\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nserver: cloudflare\r\ncf-ray: 994bcb8f5ac0b4f1-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"No Content","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":127,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":127,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/img/favicon.png","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.910Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/img/favicon.png HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: image/png\r\ncontent-length: 77673\r\ncf-ray: 994bcb91c9ee1525-OSL\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: \"66d66c5e-12f69\"\r\naccept-ranges: bytes\r\nage: 6031\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":77673,"size_decoded":0,"mime_type":"image/png","magic":"PNG image data, 664 x 664, 8-bit/color RGBA, non-interlaced","md5":"0567a1803fd777f54953e31341e5cb33","sha1":"3cab2fff0e4b0150c279be325cd3ad3de0b5bde2","sha256":"7ea145336ca43c5286a125912a9943d664e06d2a6876b4848e4c7ed149dc9182","sha512":"d751bbbfa7ab7338b45e3d307d4d0baae3ea3ccccaae299e9df3786ba11d39b723d867eecb6d044cc0561b0726ff6978eab4e426a276dfae8214417a8ad50a1d","ssdeep":"1536:PLU3Jk1D51Yawf7/vXepJx3TYo3yFZHKaz3RJWLCDshd:jVmJfCx3kTjzBJ/Dsj","tlshash":"2773f10cecddba8ccfc621b5881159553752568b9e091fe870ed5222af2739c0f279be","first_seen":"2025-03-26T22:24:24.337574Z","last_seen":"2025-10-26T17:50:42.488124Z","times_seen":7,"resource_available":false,"data":null}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.google.com%2Ffavicon.ico\u0026dsh=S755756162%3A1761501018005308\u0026hl=en\u0026ifkv=ARESoU2bpaGbJNaQ4OKkwiIJ93zlLVegaKdXmOlqBQcpKPyj3q6Rb7dZHbqK2fHW2HNn0cQ73YwdFw\u0026passive=true\u0026service=mail\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.857Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:32:25 GMT","end":"Wed, 24 Dec 2025 14:32:24 GMT"},"fingerprint":{"sha1":"3A:78:B2:96:D0:CD:A5:D3:08:6F:80:16:15:5C:10:CC:41:FE:1B:12","sha256":"D2:92:7D:D4:5D:78:BC:69:FC:32:73:D8:16:EF:3A:37:3A:0E:0C:2D:50:4F:FE:51:7E:F7:EA:93:56:B9:8C:1D"}}},"request":{"raw":"GET /v3/signin/identifier?continue=https%3A%2F%2Fwww.google.com%2Ffavicon.ico\u0026dsh=S755756162%3A1761501018005308\u0026hl=en\u0026ifkv=ARESoU2bpaGbJNaQ4OKkwiIJ93zlLVegaKdXmOlqBQcpKPyj3q6Rb7dZHbqK2fHW2HNn0cQ73YwdFw\u0026passive=true\u0026service=mail\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 403 Forbidden\r\ncontent-type: text/html; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncontent-security-policy: require-trusted-types-for 'script';report-uri /v3/signin/_/AccountsSignInUi/cspreport, script-src 'nonce-C743lm58GCbm_UUik8QSpg' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /v3/signin/_/AccountsSignInUi/cspreport;worker-src 'self', script-src 'unsafe-inline' 'unsafe-eval' blob: data: 'self' https://apis.google.com https://ssl.gstatic.com https://www.google.com https://www.googletagmanager.com https://www.gstatic.com https://www.google-analytics.com https://www.google.com/tools/feedback/ https://www.gstatic.com/feedback/js/ https://www.gstatic.com/inproduct_help/ https://www.gstatic.com/support/content/ https://www.gstatic.com/uservoice/feedback/client/web/live/ https://www.gstatic.com/uservoice/surveys/resources/prod/js/survey/ https://support.google.com/inapp/;report-uri /v3/signin/_/AccountsSignInUi/cspreport/allowlist\r\ncontent-security-policy-report-only: script-src 'unsafe-inline' 'unsafe-eval' blob: data: https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js https://translate.google.com/translate_a/element.js https://www.google.com/recaptcha/api.js https://www.google.com/recaptcha/enterprise.js https://www.gstatic.com/recaptcha/ https://www.google.com/tools/feedback/chat_load.js https://www.google.com/tools/feedback/help_api.js https://www.google.com/tools/feedback/load.js https://www.google.com/tools/feedback/open.js https://www.google.com/tools/feedback/open_to_help_guide_lazy.js https://www.gstatic.com/feedback/js/ https://www.gstatic.com/feedback/js/help/prod/service/lazy.min.js https://www.gstatic.com/inproduct_help/api/main.min.js https://www.gstatic.com/inproduct_help/chatsupport/chatsupport_button_v2.js https://www.gstatic.com/inproduct_help/service/lazy.min.js https://www.gstatic.com/uservoice/feedback/client/web/live/ https://www.gstatic.com/uservoice/surveys/resources/prod/js/survey/ https://www.gstatic.com/_/mss/boq-one-google/_/ https://www.gstatic.com/og/_/js/ https://apis.google.com/js/api.js https://apis.google.com/js/client.js https://www.googletagmanager.com/gtag/js https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/destination https://www.gstatic.com/_/mss/boq-identity/_/js/k=boq-identity.AccountsSignInUi.en.Mp9mjkH_buc.es5.O/ https://apis.google.com/_/scs/abc-static/_/js/ https://translate.googleapis.com/_/translate_http/_/js/ https://www.gstatic.com/recaptcha/releases/;report-uri /v3/signin/_/AccountsSignInUi/cspreport/fine-allowlist\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"AccountsSignInUi\"\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\nreport-to: {\"group\":\"AccountsSignInUi\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/AccountsSignInUi\"}]}\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"Forbidden","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":61,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.hcaptcha.com/checksiteconfig?v=4948b4d6847921d7bf0b86388c141311d7f03e2e\u0026host=ads.luarmor.net\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026sc=1\u0026swa=1\u0026spst=0","fqdn":"api.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","date":"2025-10-26T17:50:19.276Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"hcaptcha.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 25 Oct 2025 21:56:55 GMT","end":"Fri, 23 Jan 2026 22:56:51 GMT"},"fingerprint":{"sha1":"A4:15:32:49:93:6A:E4:9F:0F:65:76:08:3E:04:2C:FA:87:57:7D:90","sha256":"D6:E4:78:68:8D:D7:DF:4D:13:24:4A:8A:E4:4D:E0:CE:80:FC:94:F0:3F:31:79:A4:DD:56:05:89:99:7F:AF:F9"}}},"request":{"raw":"POST /checksiteconfig?v=4948b4d6847921d7bf0b86388c141311d7f03e2e\u0026host=ads.luarmor.net\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026sc=1\u0026swa=1\u0026spst=0 HTTP/1.1\r\nHost: api.hcaptcha.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nContent-Type: text/plain\r\nOrigin: https://newassets.hcaptcha.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://newassets.hcaptcha.com/\r\nCookie: __cf_bm=OCZV0PBtIwLD4YODeyeA6zQrwbOYuMaaGFTv1q.Pz3E-1761501017-1.0.1.1-TcWnRA3IptwLPfhd_6BoVd.hWR7ZHpEsfUYElxnXycKJ7IhcRkzmP2hB.2FGSXrqRYqyzQkk_hpkqa5Sf5BdICvkApn_KPct16b0hFuUcz8\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nContent-Length: 0\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:19 GMT\r\ncontent-type: application/json\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://newassets.hcaptcha.com\r\nvary: Origin, Accept-Encoding\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control, Content-Type, DNT, Referer, User-Agent\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\npriority: u=3,i=?0\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\ncf-ray: 994bcb9aafd75685-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":797,"size_decoded":0,"mime_type":"application/json","magic":"JSON text data","md5":"c1e824183c79b137b8bd2ce0ca26ec6e","sha1":"edd3638a69f368e0303bb4462b56c8e91bbc5a6c","sha256":"49755676d67070fde7a7e811d76858faa8aa8f1b71ae9b1376d12f9f16b6bff1","sha512":"c2b1b15b05272d39f0d0c23cba1a5f507f7a2a0f5526ee7a40a3f4b02cd2609f45f5e64879522a27debab20ed396ef8d26663d06da642c12e21da6a826818807","ssdeep":"","tlshash":"a601caa816ec2d38e64e250734a62f22060993e441c30cf698ed771d70b408bd11711b","first_seen":"2025-10-26T17:50:42.489616Z","last_seen":"2025-10-26T17:50:42.489616Z","times_seen":1,"resource_available":false,"data":null}},"time_used":83,"timings":{"blocked":35,"dns":0,"connect":0,"send":0,"wait":48,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"erstartirreleas.com/aGMwSkNHXFM5fglTASsNLilWL3ElJ2kmCVk6RwwqMCsFOAFaJhY+KgxeAXtxXlUFfGUYClR3ck4QRCs3HRANf2UBDVYlfk4VDXttW1ceeXVGVRY/fllTAHh2X1AAeXdeVgBydlpFRDoiD14BbDMcF1x3cl9VAX9zWVMCenRfUA","fqdn":"erstartirreleas.com","domain":"erstartirreleas.com","tld":"com"},"ip":{"addr":"104.21.96.123","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"beacon","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:20.787Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"erstartirreleas.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Oct 2025 08:37:16 GMT","end":"Mon, 05 Jan 2026 09:35:34 GMT"},"fingerprint":{"sha1":"D7:41:A4:37:50:67:F0:F7:62:83:7A:EF:86:27:AE:8A:4A:64:5B:52","sha256":"58:97:00:C7:F4:95:EE:74:A4:23:97:CE:1B:66:CD:4C:0B:90:3E:EF:19:E2:2C:CB:7A:61:3B:2A:47:C4:F1:68"}}},"request":{"raw":"POST /aGMwSkNHXFM5fglTASsNLilWL3ElJ2kmCVk6RwwqMCsFOAFaJhY+KgxeAXtxXlUFfGUYClR3ck4QRCs3HRANf2UBDVYlfk4VDXttW1ceeXVGVRY/fllTAHh2X1AAeXdeVgBydlpFRDoiD14BbDMcF1x3cl9VAX9zWVMCenRfUA HTTP/1.1\r\nHost: erstartirreleas.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nContent-Length: 0\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 204 No Content\r\naccess-control-allow-origin: *\r\ncf-cache-status: DYNAMIC\r\npriority: u=6,i=?0\r\nserver: cloudflare\r\ndate: Sun, 26 Oct 2025 17:50:20 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BLpMzebYBWeCF%2FYhlWLc9SreX8WAuEh%2B05vdiVX0fUGkvqphcp32leANV0VfKxKOz0jZjrPThFt6EZba%2BEkseE4DdazImcXFVA2raDdVP%2BTd\"}]}\r\ncf-ray: 994bcba3eb750b4d-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"No Content","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":124,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":123,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/css/nucleo-icons.css","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.073Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/css/nucleo-icons.css HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-2275\"\r\nage: 4386\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8c9f631525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":8821,"size_decoded":0,"mime_type":"text/css","magic":"troff or preprocessor input, ASCII text","md5":"82b2a768a478315a65cb7d27a9c29e11","sha1":"e7ebdfb8b23a3da354cd6f01f89819c749cb7221","sha256":"b01c2a7744ce4fba61e0fe4e13af9be6ad8708abb2dd5ad04d2b8434231ab914","sha512":"30b20655cdacf8a76e43b07af410b2a660d25a6b8e5784b35d35f636b1f902ee42f9a4b6e44d77f1497f886e129266b27487fa2f9fbc318472b87a552aab1f88","ssdeep":"96:KaM8MfpOWG+OrWkqFXUxMgZWYUlbo9wB0PLDXDOOX4EO/4SzZrGq:LlyeqzMWYUlb6DXpXU/H1","tlshash":"650228f0dcbe0cc09b19d6dd23c79720eb1da2b54c065c49d7e2b88e59c265489ceb8e","first_seen":"2023-05-09T16:46:05Z","last_seen":"2026-04-30T07:52:38.206009Z","times_seen":399,"resource_available":false,"data":null}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/cdn-cgi/challenge-platform/h/b/flow/ov1/1040341039:1761499033:BKgWAoct2zzY9mJwoON9isqZEH-tpKBQ2HJZ98kN2aA/994bcb5a3c221525/usy8JhvBhQpYVMVS3RbFgnIDbcZW92BRvKslbkIDQrc-1761501009-1.2.1.1-neUHR9AIHiBcdq8EJelvKKvlWsb8sj69OpxcfiJUI.o0hgwDtdU.4SKajtfTxRjL","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:09.533Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"POST /cdn-cgi/challenge-platform/h/b/flow/ov1/1040341039:1761499033:BKgWAoct2zzY9mJwoON9isqZEH-tpKBQ2HJZ98kN2aA/994bcb5a3c221525/usy8JhvBhQpYVMVS3RbFgnIDbcZW92BRvKslbkIDQrc-1761501009-1.2.1.1-neUHR9AIHiBcdq8EJelvKKvlWsb8sj69OpxcfiJUI.o0hgwDtdU.4SKajtfTxRjL HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\ncf-chl: usy8JhvBhQpYVMVS3RbFgnIDbcZW92BRvKslbkIDQrc-1761501009-1.2.1.1-neUHR9AIHiBcdq8EJelvKKvlWsb8sj69OpxcfiJUI.o0hgwDtdU.4SKajtfTxRjL\r\ncf-chl-ra: 0\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 2252\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncf-chl-gen: j06EP9tZN4371ZaikCKYJ0Ihw25nxSFqS5krfQIXOw0=$rTsjv5RQUicj7GwFk93K6A==\r\ncontent-encoding: br\r\nserver: cloudflare\r\ncf-ray: 994bcb5d9f681525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":18828,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"ASCII text, with very long lines (18828), with no line terminators","md5":"34dd44cf8c8c4f6b72e0b043462a8666","sha1":"1f338dc09fe4735a4f2382aaa2a6d33ddae89a10","sha256":"e1234f309b9ade62a93757f6f75a4ecaa7d2f380b9e44c68e007f1ec67023644","sha512":"7357f20cee7cba685a1247ade51b4fbcc3fdd389adef21dd913c51103836a3e69b3dfde00c37815732fd42b60466a5195be2d80de2ee03c4f849becf5f128b25","ssdeep":"384:SdKjkhY8QYkymzSAdTIn+moTegHMjzr/r6ZDPCNjD2wYIt:GKQh7+ygVTI+nihrj6zwYu","tlshash":"ed82d16c67b312ff52fc187da52c0f982e5486ea02d8a99337d147454407fa588ffa8d","first_seen":"2025-10-26T17:50:42.492784Z","last_seen":"2025-10-26T17:50:42.492784Z","times_seen":1,"resource_available":false,"data":null}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Roboto:300,400,500,700,900|Roboto+Slab:400,700","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.74.10","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.068Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:04 GMT","end":"Wed, 24 Dec 2025 14:34:03 GMT"},"fingerprint":{"sha1":"5F:D5:F8:10:14:80:32:78:B6:66:AC:25:01:5E:C2:6B:0C:D6:03:BD","sha256":"66:2A:01:C5:DD:28:0B:66:17:E5:8A:2F:4E:52:AF:74:21:21:65:E1:71:72:47:4B:5D:69:50:8D:B4:16:49:C5"}}},"request":{"raw":"GET /css?family=Roboto:300,400,500,700,900|Roboto+Slab:400,700 HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Sun, 26 Oct 2025 17:50:17 GMT\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":31597,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"7b674ac16086ec14cc40ce243d3d627c","sha1":"925c4e6762e01a69329d4a9b772dbed9fc2940d3","sha256":"b35190931302a27196bb54d51272cb0314d9ab7cada150c57a8cefbc692ef288","sha512":"eafe648768ebe93fa41896e80d4ff50784adb0908c686d0e5f1162d6e10ee6b7b020311231bc39df1ca6b7661cbaf6c01e12fc6138acb878e70018ec53031422","ssdeep":"768:3KNyEfSQv3rgXU/9ffQiqGr8vkSfEQNVR1GJuofOQjLX/IbgmfAQB5dkDpCie9mh:yvMoO6","tlshash":"10e2fca108175400a7835cd223cebf30fe4f92507141d0b5abfdab6baddbc6652693ad","first_seen":"2025-09-13T06:29:18.969848Z","last_seen":"2025-11-18T22:32:25.481835Z","times_seen":61,"resource_available":false,"data":null}},"time_used":317,"timings":{"blocked":147,"dns":0,"connect":7,"send":0,"wait":19,"receive":0,"ssl":141},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.788Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:07 GMT","end":"Wed, 24 Dec 2025 14:34:06 GMT"},"fingerprint":{"sha1":"CE:D7:82:8C:04:B0:E5:F9:3B:52:AC:E2:75:72:A1:31:F8:D2:42:D4","sha256":"B8:54:E9:B3:89:59:D3:D4:18:71:52:99:FF:BB:D7:4C:BF:09:4A:EE:50:59:19:40:A0:6E:17:ED:80:73:3B:22"}}},"request":{"raw":"GET /s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: identity\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Oct 2025 23:17:37 GMT\r\nexpires: Tue, 20 Oct 2026 23:17:37 GMT\r\ncache-control: public, max-age=31536000\r\nage: 498761\r\nlast-modified: Mon, 08 Sep 2025 18:08:05 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":40128,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-04-30T16:35:37.614199Z","times_seen":775594,"resource_available":false,"data":null}},"time_used":63,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":50,"receive":13,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/ServiceLogin?passive=true\u0026continue=https%3A%2F%2Fwww.google.com%2Ffavicon.ico\u0026uilel=3\u0026hl=en\u0026service=mail","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.881Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"accounts.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:35:37 GMT","end":"Wed, 24 Dec 2025 14:35:36 GMT"},"fingerprint":{"sha1":"45:9C:C5:B0:D8:76:3F:BA:4B:3A:7A:47:93:65:30:95:DD:92:AF:CB","sha256":"31:5E:7E:B1:E0:22:CE:95:3B:A8:33:71:E6:32:80:DE:88:EB:4F:25:93:F9:66:CE:01:A0:31:61:3F:B3:A9:52"}}},"request":{"raw":"GET /ServiceLogin?passive=true\u0026continue=https%3A%2F%2Fwww.google.com%2Ffavicon.ico\u0026uilel=3\u0026hl=en\u0026service=mail HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 302 Found\r\ncontent-type: application/binary\r\nset-cookie: __Host-GAPS=1:eTYWy6LiedWBfdulxMLE04udKb44hQ:-7Iwza7JSFpOoVN6; Expires=Tue, 26-Oct-2027 17:50:18 GMT; Path=/; Secure; HttpOnly; Priority=HIGH\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\nlocation: https://accounts.google.com/InteractiveLogin?continue=https://www.google.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=mail\u0026uilel=3\u0026dsh=S755756162:1761501018005308\u0026ifkv=ARESoU1uLwtu8Ijj_5Qm71OrOUzkq_BadvDnwxlORx74DCN3V-Wn8H4o5aMGGtk-jdn0POm435gz\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncontent-security-policy: require-trusted-types-for 'script';report-uri /_/AccountsSigninPassiveLoginHttp/cspreport, script-src 'nonce-hpoQTVoqWduftnHCk-ENwA' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/AccountsSigninPassiveLoginHttp/cspreport;worker-src 'self', script-src 'unsafe-inline' 'unsafe-eval' blob: data: 'self' https://apis.google.com https://ssl.gstatic.com https://www.google.com https://www.googletagmanager.com https://www.gstatic.com https://www.google-analytics.com;report-uri /_/AccountsSigninPassiveLoginHttp/cspreport/allowlist\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\ncross-origin-resource-policy: cross-origin\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy: unsafe-none\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"Found","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":268,"timings":{"blocked":111,"dns":0,"connect":30,"send":0,"wait":26,"receive":0,"ssl":97},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/icon?family=Material+Icons+Round","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.74.10","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.085Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:04 GMT","end":"Wed, 24 Dec 2025 14:34:03 GMT"},"fingerprint":{"sha1":"5F:D5:F8:10:14:80:32:78:B6:66:AC:25:01:5E:C2:6B:0C:D6:03:BD","sha256":"66:2A:01:C5:DD:28:0B:66:17:E5:8A:2F:4E:52:AF:74:21:21:65:E1:71:72:47:4B:5D:69:50:8D:B4:16:49:C5"}}},"request":{"raw":"GET /icon?family=Material+Icons+Round HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Sun, 26 Oct 2025 17:50:17 GMT\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":596,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"2292eabead2c3723245dbb32eb72949c","sha1":"fc6b6dc7d828e120d0e6201070af09bdc3068d97","sha256":"8b8a5607c95353433e00c135106953970be7c017f34fe002abac2fbfd8717304","sha512":"5dcc6dab6b216e413eab6c866e0255b95826719b64dc4176d62abc541dfeeae41d54a4ad30ba6f19de63a8e0d0b19d6a1fd73fd058ebf00ad093f942443374bd","ssdeep":"","tlshash":"a6f04c687e465c8ab5224c62334f7f114d2e411ba806c9fe8b961d5c8dfe5bb134670e","first_seen":"2025-06-19T00:18:27.630615Z","last_seen":"2026-04-30T15:56:57.155579Z","times_seen":571,"resource_available":false,"data":null}},"time_used":497,"timings":{"blocked":223,"dns":0,"connect":21,"send":0,"wait":20,"receive":0,"ssl":229},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-10-26T17:50:16.935Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"POST /get_key?for=Linkvertise_-vgxOIRsxKrjP HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\u0026__cf_chl_tk=mLe6DdFuO4GPVc6Ohqy9.h7PWtRobGWARdOceRirZkg-1761501009-1.0.1.1-BZxxpK4GyGF_0wmm6Foh08FYkJh2Hi7BCc1.pS95j8o\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 4782\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\r\nSec-Fetch-User: ?1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:16 GMT\r\ncontent-type: text/html\r\ncontent-encoding: br\r\nlast-modified: Sat, 04 Oct 2025 15:25:40 GMT\r\nage: 3166\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: accept-encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8bdc501525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"jQuery:3.4.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Google Hosted Libraries","description":"Google Hosted Libraries is a stable, reliable, high-speed, globally available content distribution network for the most popular, open-source JavaScript libraries.","website":"https://developers.google.com/speed/libraries","common_platform_enumeration":"","icon":"Google Developers.svg","categories":["CDN"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"hCaptcha:1","description":"hCaptcha is an anti-bot solution that protects user privacy and rewards websites.","website":"https://www.hcaptcha.com","common_platform_enumeration":"","icon":"hCaptcha.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"SweetAlert2","description":"SweetAlert2 is a JavaScript library that provides customisable, visually appealing, and responsive alert and modal dialog boxes for web applications.","website":"https://sweetalert2.github.io/","common_platform_enumeration":"","icon":"SweetAlert2.svg","categories":["JavaScript libraries"]}],"data":{"size":95363,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (63073)","md5":"1c3a005b0bf7b31d2bced111b41e8bf4","sha1":"d444d13fa2b081f785c592812917ee10f5b0025d","sha256":"d536bed5dceaf20d36450ddca7692f411c0f2ec493c0cf0a746f00184bc036ab","sha512":"b33cefeaccdbb668c3bf3c5497c7436ef82b490c94f8f75b82492e8c3e373671dc135fe589573dda649ffd699d441300fcb92d6cc90651c5a7afb64ebd556d96","ssdeep":"1536:gXSfAwr2CjuMOAyUdG1uFuyLHIt6+d5Ar/LdZQBLTjcrD5IrW7sKzVlf:SSIMjIAyUdGeuyLHIt66edZQBLTjcX5J","tlshash":"31932b76b6e21c92ce91f664257ff502bc697402d05efaa4388dfa401fb11dd84e3a39","first_seen":"2025-10-26T17:50:42.498553Z","last_seen":"2025-10-26T17:50:42.498553Z","times_seen":1,"resource_available":false,"data":null}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=994bcb5a3c221525","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:09.237Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=994bcb5a3c221525 HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\u0026__cf_chl_rt_tk=mLe6DdFuO4GPVc6Ohqy9.h7PWtRobGWARdOceRirZkg-1761501009-1.0.1.1-BZxxpK4GyGF_0wmm6Foh08FYkJh2Hi7BCc1.pS95j8o\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: application/javascript; charset=UTF-8\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\ncontent-encoding: br\r\nserver: cloudflare\r\ncf-ray: 994bcb5bb9401525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":121179,"size_decoded":0,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"ffee23878c01e20101fa9e03d2af3641","sha1":"05c2f1178b86f63d8be6f5b1f5fc5a098e887c48","sha256":"a5a0a9d36d3c96d201aff6292763987474f9cfe51b56e05d24c58bb1b8dd55f8","sha512":"ecc9cf02f07e322180eef636f5ad62bee35016356d95a3024a611593b5f7e037368edd24c9858e61b6601114e134924cce98cd6280b2d20beaab51d74e6c1cd8","ssdeep":"1536:PjY2QwwRmnJv8Ht/onpVTDYpjQXK4k10daDxJD3HqShJW+zFvMeYJkJU:PbvwuvlpV/YUei8D3HLvm","tlshash":"81c3e78d7dca788503277871412bb9e6b1afac843108596cfa1299d4fcd9334b677cb8","first_seen":"2025-10-26T17:50:42.499508Z","last_seen":"2025-10-26T17:50:42.499508Z","times_seen":1,"resource_available":false,"data":null}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:09.692Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\npermissions-policy: accelerometer=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()\r\ncontent-security-policy: default-src 'none'; script-src 'nonce-2fYXW7XOXwB50KvX' 'unsafe-eval'; script-src-attr 'none'; worker-src blob:; style-src 'unsafe-inline'; img-src 'self'; connect-src 'self'; frame-src 'self' blob:; child-src 'self' blob:; form-action 'none'; base-uri 'self'; sandbox allow-same-origin allow-scripts allow-popups allow-forms\r\ncross-origin-embedder-policy: require-corp\r\ncross-origin-opener-policy: same-origin\r\ncross-origin-resource-policy: cross-origin\r\norigin-agent-cluster: ?1\r\naccept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\ncritical-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\nreferrer-policy: same-origin\r\ndocument-policy: js-profiling\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: 994bcb5e8ca4783d-OSL\r\ncontent-encoding: br\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":167394,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (65536), with no line terminators","md5":"71067e9659d6930ba0afaa81a66ed58a","sha1":"a2c41e3b52fca2349c9520fb8c3778668e131b46","sha256":"08263b7bc65094b0ea26e4933a77f27e3f785600aece03d3871b5f42685631e1","sha512":"755fb4231c424dcfdf99d633d1a8c85913031f417fbadc2b87b4e3dcfa1dd1edad6cff90ec3acb941f0d48b45b65641039b53085189b4b22340ce2cf86fbd927","ssdeep":"3072:uZtxXRLPMH4I0ucCUag69i48x3sCccuN6pC:udRLPM2LCUa9vG87","tlshash":"8ff31a4b79d7788512933824015774dfa26ab84c391cd8edfa1298e4fcd4374a3a3eac","first_seen":"2025-10-26T17:50:42.500581Z","last_seen":"2025-10-26T17:50:42.500581Z","times_seen":1,"resource_available":false,"data":null}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ka-f.fontawesome.com/releases/v5.15.4/css/free-v4-shims.min.css?token=42d5adcbca","fqdn":"ka-f.fontawesome.com","domain":"fontawesome.com","tld":"com"},"ip":{"addr":"104.21.26.223","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.352Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ka-f.fontawesome.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Oct 2025 17:18:15 GMT","end":"Thu, 15 Jan 2026 18:18:12 GMT"},"fingerprint":{"sha1":"14:B4:4E:5A:B6:48:F2:69:A9:E6:D8:3F:F4:00:F7:C3:DC:42:70:A9","sha256":"23:9B:61:89:98:2E:2A:43:0D:A1:71:DB:BB:23:68:64:56:F6:91:46:AD:92:82:EE:B9:44:3B:16:79:CF:1E:FA"}}},"request":{"raw":"GET /releases/v5.15.4/css/free-v4-shims.min.css?token=42d5adcbca HTTP/1.1\r\nHost: ka-f.fontawesome.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: GET\r\naccess-control-max-age: 3000\r\nlast-modified: Wed, 04 Aug 2021 18:53:09 GMT\r\netag: W/\"76f34b71fc9fb641507ff6a822cc07f5\"\r\ncache-control: max-age=31556926\r\nserver: cloudflare\r\naccess-control-allow-headers: fa-kit-token\r\ncontent-encoding: gzip\r\nvary: Accept-Encoding\r\nx-cache: Hit from cloudfront\r\nvia: 1.1 42964aaabd797233b1d1e846aea4d0f8.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P2\r\nx-amz-cf-id: ATmqCyoe4LOKkb5IuWTo2-E7nbylGowkvvUikRO_nvTzEKxinWHjJQ==\r\nage: 5057259\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kLkFXJsq9Tei5HnY8KM0zcCdwM8BlZtuq5oBNQSuTtr5iUL3q4uNcI4ApRnblZolTXwQCaccGPOYkMHiBpLPDQqESe05fExd%2Bt3zS%2FR864p9jtLn\"}]}\r\ncf-ray: 994bcb8e98c6b28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":26682,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text, with very long lines (26500)","md5":"76f34b71fc9fb641507ff6a822cc07f5","sha1":"73ed2f8f21cd40fb496e61306acbb5849d4dbff4","sha256":"6dea47458a4cd7cd7312cc780a53c62e0c8b3ccc8d0b13c1ac0ea6e3dfcecea8","sha512":"6c4002ce78247b50bfa835a098980af340e4e9f05f7097c1e83301289051ce1282e647abab87db28a32fbfe0263c7318d2444b7d57875873908d6d5ed2af882f","ssdeep":"192:kP6hT1bIl4w0QUmQ10PwKLaAu5CwWavpHo4O6wgLPhJVR8XD7mycP:Phal4w0QK+PwK05eavpmgP1eXD7mycP","tlshash":"bec20665930c60d3a3eef847ba0172a8277577999a864c54f30b7c9c8dc3a5772e8f18","first_seen":"2023-04-05T03:17:09Z","last_seen":"2026-04-30T14:36:51.86782Z","times_seen":21476,"resource_available":false,"data":null}},"time_used":62,"timings":{"blocked":24,"dns":1,"connect":1,"send":0,"wait":12,"receive":0,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"eredrubygsworlow.com/TjNOVWcvUS04WC8OLHMSPF9zcFUIFnwTAy1RLCIeI0N/Nw8iVWA2CyFGKjMVIV06ewkrR2tnIR5mfC0kF2YbIiY3RAYwDi11BDkffmoiYFcYAAw5NCR6GhwjGGEHIjJ8VR8UVA93LXBVDHI0FzcFSRcMPQ9AfAUmB0oWESImcSllLSoBHzYpG1A2HjYmFnwTMhl+a2chCmA5EgIGZgQZJgQHFz4IJHEdMRIZdB8DKRpEBjMfD1sALT48dTRtUw1wex0qCnkcGRB6FnwTKClyOxQgDFsFOwMeVxYPAi1YJSwoKXojEQ0HVB0NJRx4NzEtLXUIZT5+eTcHLxdhHQ1KDGEDPwgNVwgDABdwezsyfWY8AgkUdio9IQRQCBBUBGYiLS4GYSkCIDZhLB09K1ApDAADci0hNQZQGA0JBGIqAikqUCIXABdlOT4kClB8Fg5+aRcSIj9Qfx8fKGU2PiEGWydzDT1cICVaOkEkGg98BD4i","fqdn":"eredrubygsworlow.com","domain":"eredrubygsworlow.com","tld":"com"},"ip":{"addr":"18.165.122.127","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.590Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"eredrubygsworlow.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M01","organization":"Amazon"},"validity":{"start":"Sun, 05 Oct 2025 00:00:00 GMT","end":"Tue, 03 Nov 2026 23:59:59 GMT"},"fingerprint":{"sha1":"16:F3:E1:20:8D:5D:31:1B:7D:02:F8:77:DD:C9:0B:66:37:3D:48:9C","sha256":"F0:25:9C:DA:57:68:8B:C1:DA:1A:C9:D1:C0:C4:DF:66:6D:07:EF:DE:7C:CB:B9:3C:87:07:1C:71:20:FB:10:14"}}},"request":{"raw":"GET /TjNOVWcvUS04WC8OLHMSPF9zcFUIFnwTAy1RLCIeI0N/Nw8iVWA2CyFGKjMVIV06ewkrR2tnIR5mfC0kF2YbIiY3RAYwDi11BDkffmoiYFcYAAw5NCR6GhwjGGEHIjJ8VR8UVA93LXBVDHI0FzcFSRcMPQ9AfAUmB0oWESImcSllLSoBHzYpG1A2HjYmFnwTMhl+a2chCmA5EgIGZgQZJgQHFz4IJHEdMRIZdB8DKRpEBjMfD1sALT48dTRtUw1wex0qCnkcGRB6FnwTKClyOxQgDFsFOwMeVxYPAi1YJSwoKXojEQ0HVB0NJRx4NzEtLXUIZT5+eTcHLxdhHQ1KDGEDPwgNVwgDABdwezsyfWY8AgkUdio9IQRQCBBUBGYiLS4GYSkCIDZhLB09K1ApDAADci0hNQZQGA0JBGIqAikqUCIXABdlOT4kClB8Fg5+aRcSIj9Qfx8fKGU2PiEGWydzDT1cICVaOkEkGg98BD4i HTTP/1.1\r\nHost: eredrubygsworlow.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ncontent-type: text/html\r\ncontent-length: 1212\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\naccept-ch: DPR, Width, Viewport-Width, Device-Memory, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List\r\nset-cookie: AWSALB=m78iUQoZkd77FxWRulfHYwmb/0nBlsMhsEQ0ix1eLF2hEaPOrrXbycEoxRqciEv2gmvdd7rDNkd9PeGFDK+KY1SvszrvT8dwaBanLPXBovo9r+wLb8O8j1XBGtke; Expires=Sun, 02 Nov 2025 17:50:17 GMT; Path=/\nAWSALBCORS=m78iUQoZkd77FxWRulfHYwmb/0nBlsMhsEQ0ix1eLF2hEaPOrrXbycEoxRqciEv2gmvdd7rDNkd9PeGFDK+KY1SvszrvT8dwaBanLPXBovo9r+wLb8O8j1XBGtke; Expires=Sun, 02 Nov 2025 17:50:17 GMT; Path=/; SameSite=None\r\nserver: openresty/1.17.8.2\r\ncache-control: no-store, no-cache, must-revalidate, no-transform\r\npragma: no-cache\r\np3p: CP=\"NID DSP ALL COR\"\r\ncontent-encoding: gzip\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 55dabc4e08599983026bc6c8234017e8.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: HEL51-P2\r\nx-amz-cf-id: VueAcQv3W3kj8QtzKXRwPBIDM8FvX4RIoHwO5qu7eDhlHELcnEc6Dw==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Amazon ALB","description":"Amazon Application Load Balancer (ALB) distributes incoming application traffic to increase availability and support content-based routing.","website":"https://aws.amazon.com/elasticloadbalancing/","common_platform_enumeration":"","icon":"Amazon ELB.svg","categories":["Load balancers"]},{"name":"OpenResty:1.17.8.2","description":"OpenResty is a web platform based on nginx which can run Lua scripts using its LuaJIT engine.","website":"https://openresty.org","common_platform_enumeration":"","icon":"OpenResty.svg","categories":["Web servers"]},{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":3063,"size_decoded":0,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (3063), with no line terminators","md5":"6a9f997028ba4be14a1a50af04a948b1","sha1":"6cb102d76adbd5f844a553e8a9cf83878c0bcd1c","sha256":"2cbd4ec3b33545d0597bbc8da3dc562c6dc960baebabbdd64aa949eb59cfc75e","sha512":"fcd298c9c8f5dab082f69f84626cd13f140be736163a33a78000d6f3922926be5575dd6f5212be5f066c41fb5338b19347de6962941599880ddc25252e732332","ssdeep":"","tlshash":"7151fd8d34f3a0c2c2b26065453fb59afa285aa1834ccb14967c96bcbc711e96357f5c","first_seen":"2025-10-26T17:50:42.507622Z","last_seen":"2025-10-26T17:50:42.507622Z","times_seen":1,"resource_available":false,"data":null}},"time_used":238,"timings":{"blocked":27,"dns":34,"connect":13,"send":0,"wait":132,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/ServiceLogin?passive=true\u0026continue=https%3A%2F%2Fwww.youtube.com%2Ffavicon.ico\u0026uilel=3\u0026hl=en\u0026service=youtube","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.883Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"accounts.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:35:37 GMT","end":"Wed, 24 Dec 2025 14:35:36 GMT"},"fingerprint":{"sha1":"45:9C:C5:B0:D8:76:3F:BA:4B:3A:7A:47:93:65:30:95:DD:92:AF:CB","sha256":"31:5E:7E:B1:E0:22:CE:95:3B:A8:33:71:E6:32:80:DE:88:EB:4F:25:93:F9:66:CE:01:A0:31:61:3F:B3:A9:52"}}},"request":{"raw":"GET /ServiceLogin?passive=true\u0026continue=https%3A%2F%2Fwww.youtube.com%2Ffavicon.ico\u0026uilel=3\u0026hl=en\u0026service=youtube HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 302 Found\r\ncontent-type: application/binary\r\nset-cookie: __Host-GAPS=1:IBSb7cfyTtZN3q7BRA75UAmG7TSWxQ:s731X1xsBjr7-k__; Expires=Tue, 26-Oct-2027 17:50:17 GMT; Path=/; Secure; HttpOnly; Priority=HIGH\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\nlocation: https://accounts.google.com/InteractiveLogin?continue=https://www.youtube.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026dsh=S270863799:1761501017994869\u0026ifkv=ARESoU1X5_2PNXyR_DjBtGPh4MaRLG_cVLpiTunhrI0GP5LJNhuyjBt5cu5RimRGBBVVjRNc4VVsvA\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\ncross-origin-opener-policy: unsafe-none\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncontent-security-policy: script-src 'nonce-Q0AWAgeLQiP3kyrTWqPkqg' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/AccountsSigninPassiveLoginHttp/cspreport;worker-src 'self', script-src 'unsafe-inline' 'unsafe-eval' blob: data: 'self' https://apis.google.com https://ssl.gstatic.com https://www.google.com https://www.googletagmanager.com https://www.gstatic.com https://www.google-analytics.com;report-uri /_/AccountsSigninPassiveLoginHttp/cspreport/allowlist, require-trusted-types-for 'script';report-uri /_/AccountsSigninPassiveLoginHttp/cspreport\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"Found","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":246,"timings":{"blocked":98,"dns":0,"connect":16,"send":0,"wait":26,"receive":1,"ssl":102},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/InteractiveLogin?continue=https://www.google.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=mail\u0026uilel=3\u0026dsh=S755756162:1761501018005308\u0026ifkv=ARESoU1uLwtu8Ijj_5Qm71OrOUzkq_BadvDnwxlORx74DCN3V-Wn8H4o5aMGGtk-jdn0POm435gz","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.717Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:32:25 GMT","end":"Wed, 24 Dec 2025 14:32:24 GMT"},"fingerprint":{"sha1":"3A:78:B2:96:D0:CD:A5:D3:08:6F:80:16:15:5C:10:CC:41:FE:1B:12","sha256":"D2:92:7D:D4:5D:78:BC:69:FC:32:73:D8:16:EF:3A:37:3A:0E:0C:2D:50:4F:FE:51:7E:F7:EA:93:56:B9:8C:1D"}}},"request":{"raw":"GET /InteractiveLogin?continue=https://www.google.com/favicon.ico\u0026hl=en\u0026passive=true\u0026service=mail\u0026uilel=3\u0026dsh=S755756162:1761501018005308\u0026ifkv=ARESoU1uLwtu8Ijj_5Qm71OrOUzkq_BadvDnwxlORx74DCN3V-Wn8H4o5aMGGtk-jdn0POm435gz HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 Found\r\ncontent-type: text/html; charset=UTF-8\r\nset-cookie: __Host-GAPS=1:Nm9iEyjxXovhV7vaIVMkDYwIdEg0wg:etB1ZARwrvE0I93c;Path=/;Expires=Tue, 26-Oct-2027 17:50:18 GMT;Secure;HttpOnly;Priority=HIGH\r\nx-frame-options: DENY\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\nlocation: https://accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.google.com%2Ffavicon.ico\u0026dsh=S755756162%3A1761501018005308\u0026hl=en\u0026ifkv=ARESoU2bpaGbJNaQ4OKkwiIJ93zlLVegaKdXmOlqBQcpKPyj3q6Rb7dZHbqK2fHW2HNn0cQ73YwdFw\u0026passive=true\u0026service=mail\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\nreport-to: {\"group\":\"coop_gse_qebhlk\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/gse_qebhlk\"}]}\r\ncontent-security-policy: script-src 'nonce-caF5YaN7AYbl23hYE9ZHNg' 'unsafe-inline' 'unsafe-eval';object-src 'none';base-uri 'self';report-uri /cspreport, require-trusted-types-for 'script';report-uri /cspreport\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"coop_gse_qebhlk\"\r\ncontent-encoding: gzip\r\nx-content-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\ncontent-length: 416\r\nserver: GSE\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"Found","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/pat/994bcb5e8ca4783d/1761501010160/bf35734267a860084c87e3c60cb30309b5752f0c54b4a305ea275b57a96a2b27/sdivoTdL-VnY8yE","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","date":"2025-10-26T17:50:12.457Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/b/pat/994bcb5e8ca4783d/1761501010160/bf35734267a860084c87e3c60cb30309b5752f0c54b4a305ea275b57a96a2b27/sdivoTdL-VnY8yE HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 401 Unauthorized\r\ndate: Sun, 26 Oct 2025 17:50:12 GMT\r\ncontent-type: text/plain; charset=utf-8\r\ncontent-length: 1\r\nwww-authenticate: PrivateToken challenge=\"AAIAGXBhdC1pc3N1ZXIuY2xvdWRmbGFyZS5jb20gvzVzQmeoYAhMh-PGDLMDCbV1LwxUtKMF6idbV6lqKycAGWNoYWxsZW5nZXMuY2xvdWRmbGFyZS5jb20=\", token-key=\"MIIBUjA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAqEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgKiAwIBMAOCAQ8AMIIBCgKCAQEAoy4WKLt5qEpjAHNgrQLNVlB5ewGkogqJH391CsOkIFDdLB0XSD1oFvd0kYjcjD6B9iyR__8sZf5rDl9wIUKccAAUFfxnTL5K9BN4RmqoSxLwS-GZjR7aGwoYf2R1-AwmcZoFelEQ-0PEEQJjj7pjlZlhyGX7S8uuy9nrMpssKRhR1dHP23u2yJheWDlcgVrof9BI40Gv_bc_FB1zlBnH5VzLFsIEY9h9aSxzt4wMfz88Yp3buH8rlsmbcps00heR4joe7CO4KsaRB-JLTFprRL6fg8M-OfddpkxY6YloPbJRm-mDwHjRQfKi8nV2MLJ8Ez5tKTMkwxec6Wvde1IyMwIDAQAB\", max-age=20, PrivateToken challenge=\"AAIAHXNhdC5wYXQtaXNzdWVyLmNsb3VkZmxhcmUuY29tIL81c0JnqGAITIfjxgyzAwm1dS8MVLSjBeonW1epaisnABljaGFsbGVuZ2VzLmNsb3VkZmxhcmUuY29t\", token-key=\"MIIBUjA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAqEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgKiAwIBMAOCAQ8AMIIBCgKCAQEAw51Tt3eAUPRpIWkkcczd2-86VuHd_MFcS083luBUixww-zUJ2jscyNVi9xMKV4xTZrSPWUNQbAOjpUMJgw4FSXrSgNCLM2H2Rpwj_jHftOpKMTQoQCgD71Um1xxqafjyXpVHF9Xx4DbYPl6gpa4S3U_8fq69-T6N_XCVaERC2QfK0oeBWQJkQN439rPXF9u9ANiycP8Yum-wqUwJ_ccMqfu7mlEbdZamIKXH1bLY_CtXmbV8h85cNa-XKMemFdOn6322MsX5l-cQUWDOsnU5QSk8fzQGtdSimRwiCgoqd17XB6P8LveLbd0zRHbzcEre5Vsg1btU_UIqsPwzRwGXCQIDAQAB\", max-age=20, PrivateToken challenge=\"AAIALHBwLWlzc3Vlci1wcm9kdWN0aW9uLnJlc2VhcmNoLmNsb3VkZmxhcmUuY29tIL81c0JnqGAITIfjxgyzAwm1dS8MVLSjBeonW1epaisnABljaGFsbGVuZ2VzLmNsb3VkZmxhcmUuY29t\", token-key=\"MIIBUjA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAqEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgKiAwIBMAOCAQ8AMIIBCgKCAQEA7LC_wzumB6AtzdsCSGuXYRRivNP9CAcc8aWoc-EkCUz3WTew_U70jo_KYUuj0o8QQk-dcYEEX9GZaLIfDUWTD2mE7VHJEp7Rsq3xTBbZq2XPsGCBgYQ4JlwnV3if77rSHX49sS1yJGBsELJIQdUhj8w2GH7YllRZhzWO0wWOxUGShREKS3puEM-9UU3st1PzZ3xEIY21HzA8UuKiSLK02j-5JLQIzcw2PAK2ICumsF7WgAwbsW44bWkhE4_lWKs5SMyoVCf3EM5lsGFUUSbt1m2ShA0j2mNNhe_R_OL-BSEEWjIytpSe3OTNMjOd6nkEArOZsc4z6PSkLsVQIbeY5wIDAQAB\", max-age=20\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: 994bcb6fd8d9783d-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"401","status_text":"Unauthorized","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":1,"size_decoded":0,"mime_type":"text/plain; charset=utf-8","magic":"very short file (no magic)","md5":"ff44570aca8241914870afbc310cdb85","sha1":"58668e7669fd564d99db5d581fcdb6a5618440b5","sha256":"6da43b944e494e885e69af021f93c6d9331c78aa228084711429160a5bbd15b5","sha512":"3c266c0035de59eab2a0dd31b3dcb4a9dd157b310289e5db9ab4f8c2fddb7433466d48f25da7ad735a1cb8f2935aa612ad1f62f0efcece3933ba9979082e2304","ssdeep":"","tlshash":"c700000000000003c00000300000003000000000000000000003000000000000000000","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:34:37.060814Z","times_seen":418838,"resource_available":true,"data":null}},"time_used":8,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":7,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/x_49841_SHOCKDART.bin","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.647Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /x_49841_SHOCKDART.bin HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nDNT: 1\r\nConnection: keep-alive\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/octet-stream\r\ncontent-length: 218369\r\ncf-ray: 994bcb8feb2d1525-OSL\r\nlast-modified: Sun, 23 Feb 2025 22:16:36 GMT\r\netag: \"67bb9e44-35501\"\r\naccept-ranges: bytes\r\nage: 6276\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":218369,"size_decoded":0,"mime_type":"application/octet-stream","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"6042fdb1f6f4e442995ccabd3c389779","sha1":"bfb703f6ab52b5773145f4238d6c9e9228011859","sha256":"eaad6891a77ecec70a70851201cff0f90ed4e2a9c32063472b7eceb379868259","sha512":"deb073c1ef8f9ceba6755562c613b4f9cbf502185f7f0c783cc3dc21b56e0971b6be1101409ca3e0d59a6f20817f66ab224ad53e8d08401933f01290911283b9","ssdeep":"6144:VUA1pY0lmVsdb+3EIp72zNbcxEms3/qhtWTtbHiAIr:VUUp3lC0Ip6ZQems3ihcbCtr","tlshash":"042413b15869be74c21d9520b4230b196be14dde18ced7f6532103dbe71b7c8eaa0e63","first_seen":"2025-03-26T22:24:24.363251Z","last_seen":"2025-10-26T17:50:42.51485Z","times_seen":7,"resource_available":false,"data":null}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/robotoslab/v36/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.778Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:07 GMT","end":"Wed, 24 Dec 2025 14:34:06 GMT"},"fingerprint":{"sha1":"CE:D7:82:8C:04:B0:E5:F9:3B:52:AC:E2:75:72:A1:31:F8:D2:42:D4","sha256":"B8:54:E9:B3:89:59:D3:D4:18:71:52:99:FF:BB:D7:4C:BF:09:4A:EE:50:59:19:40:A0:6E:17:ED:80:73:3B:22"}}},"request":{"raw":"GET /s/robotoslab/v36/BngMUXZYTXPIvIBgJJSb6ufN5qU.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: identity\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 34236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Oct 2025 23:20:18 GMT\r\nexpires: Tue, 20 Oct 2026 23:20:18 GMT\r\ncache-control: public, max-age=31536000\r\nage: 498600\r\nlast-modified: Mon, 08 Sep 2025 18:04:11 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":34236,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 34236, version 1.0","md5":"fee1dc1edf94921126077c4a0034eadc","sha1":"427949faee52b0848aacce8dde79939e4956c3d3","sha256":"50cf7d32c18e1001749b51f1565ef745bc0687b0297b2b13465ed577cc20a8ff","sha512":"ee1a28f6b6f05df9913a7c9a6e006c4728a2d818afc3c3cce2c99dc51c71436ea415eee46b6dd82e83cbfad52713d078878ee92be1db8db3d132c7d631119c13","ssdeep":"768:yJ4irnFQpWzt8cJdyBSWj2rXnX+GyOMPyr8lWpreMqDGfP2/rTJa:ydrnFQOBJ8Bz2rH+lKYlWJtqXa","tlshash":"71f2e19d0b61d12382642aa3f409501f1f47b5c800efdf6bb05d54351caa25b6eabefd","first_seen":"2025-06-02T17:58:00.99575Z","last_seen":"2026-04-30T15:59:59.232532Z","times_seen":15128,"resource_available":false,"data":null}},"time_used":42,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":29,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/plugins/perfect-scrollbar.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.107Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/plugins/perfect-scrollbar.min.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-4bd3\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbfe81525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":19411,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (8460)","md5":"7726dbb4741526b5e48c1943f526eae1","sha1":"d686409769d2dc8fdced06b99117204dc176d476","sha256":"832fea9b673e7c4f775c495d32072afd1f4daa2b68aa7e4384cd79c5ed835bda","sha512":"1be870a591ef6a756901b5fb4d1ea5e0e47796df098a3a0aa8bd19f709d17b3125b572fff9bb1d96d526c8106bdae5022191dfdbfbe101039c58f04a490da7e0","ssdeep":"384:XreCEASl1+jBjDe9mR7xWQEVspwr0OR8CvKM8ePhI1uhLIrn+w8zUdlpE/:aCvSijx7xWQEVseKg0Ls","tlshash":"c8925458362134b881ff25aed49f474e33364053f74e44e8b484def86ab4bb53265b2a","first_seen":"2023-03-07T12:55:41Z","last_seen":"2026-04-29T05:21:29.725238Z","times_seen":312,"resource_available":true,"data":null}},"time_used":93,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":93,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"js.hcaptcha.com/1/api.js","fqdn":"js.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.115Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"hcaptcha.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 25 Oct 2025 21:56:55 GMT","end":"Fri, 23 Jan 2026 22:56:51 GMT"},"fingerprint":{"sha1":"A4:15:32:49:93:6A:E4:9F:0F:65:76:08:3E:04:2C:FA:87:57:7D:90","sha256":"D6:E4:78:68:8D:D7:DF:4D:13:24:4A:8A:E4:4D:E0:CE:80:FC:94:F0:3F:31:79:A4:DD:56:05:89:99:7F:AF:F9"}}},"request":{"raw":"GET /1/api.js HTTP/1.1\r\nHost: js.hcaptcha.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\ncf-ray: 994bcb8d0e8723eb-OSL\r\ncf-cache-status: HIT\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300\r\netag: W/\"c0c6292991401beb54c8a02996d5c833\"\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: Origin, accept-encoding\r\nalt-svc: h3=\":443\"; ma=86400\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nset-cookie: __cf_bm=OCZV0PBtIwLD4YODeyeA6zQrwbOYuMaaGFTv1q.Pz3E-1761501017-1.0.1.1-TcWnRA3IptwLPfhd_6BoVd.hWR7ZHpEsfUYElxnXycKJ7IhcRkzmP2hB.2FGSXrqRYqyzQkk_hpkqa5Sf5BdICvkApn_KPct16b0hFuUcz8; path=/; expires=Sun, 26-Oct-25 18:20:17 GMT; domain=.hcaptcha.com; HttpOnly; Secure; SameSite=None\r\nserver: cloudflare\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare Bot Management","description":"Cloudflare bot management solution identifies and mitigates automated traffic to protect websites from bad bots.","website":"https://www.cloudflare.com/en-gb/products/bot-management/","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":257904,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (41132)","md5":"6b3c9be3f06c85ed1fe9d644ab383470","sha1":"ca8930919ecbc6c29536704bfc7ca0867eb6c278","sha256":"24723d605922f958081ff9a577cb1aa90c0bb043c65ceb4aef5cc0187a99013f","sha512":"ac96c88fcd67d5ee142763e462a9f43d7edce002a02f2a04940386e517490e5d355040d60d8e0d7399ae0bf609219924e29a9feb1521b63005365de140f8739b","ssdeep":"6144:1wz8UcPiA2V7uiqpgfCYkrxo6qNXrRDMsJ5u+:Ax7ueLd","tlshash":"2144b47b6344202f56f623d544ae252b73bad827240d109cff71bcdfa86dc42907ab66","first_seen":"2025-10-24T18:30:25.446494Z","last_seen":"2025-10-30T15:07:57.260611Z","times_seen":612,"resource_available":true,"data":null}},"time_used":61,"timings":{"blocked":9,"dns":19,"connect":1,"send":0,"wait":13,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/confetti.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.092Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /confetti.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Thu, 13 Mar 2025 18:31:29 GMT\r\netag: W/\"67d32481-1072\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cafa31525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":4210,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (4209)","md5":"348ccd4b88dd400786a4cb17a86af7cd","sha1":"9bd4e63feac3614c7697f4993ef5abfb193cc819","sha256":"fc32106890ad21339b821db50ee0162ba8bd26711f6a72633284772f3132caf5","sha512":"64db644b4d538a4e4f8cc0f845676e920f13a434777c1a85d0ea987e964ded85b8064e479c47e72052e75108ebe4048965516c7d8335e200cd551b9586b3aae9","ssdeep":"48:hh/DOTh58IRk1s3YHqtjpWcPze77bcI4rHNxin8U0RMvVLV9UiHN+vB3j3:hdaThWIHtOc7U7bcImtx0pjZCkGT3","tlshash":"22912248f690a93012db71a619af510d3231542c6b83853cb7a4d5e65efcc49227fb79","first_seen":"2025-03-26T22:24:24.433138Z","last_seen":"2025-10-26T17:50:42.51753Z","times_seen":7,"resource_available":true,"data":null}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":90,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-10-26T17:50:08.944Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /get_key?for=Linkvertise_-vgxOIRsxKrjP HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 403 Forbidden\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: text/html; charset=UTF-8\r\naccept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\ncf-mitigated: challenge\r\ncritical-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\ncross-origin-embedder-policy: require-corp\r\ncross-origin-opener-policy: same-origin\r\ncross-origin-resource-policy: same-origin\r\norigin-agent-cluster: ?1\r\npermissions-policy: accelerometer=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()\r\nreferrer-policy: same-origin\r\nserver-timing: chlray;desc=\"994bcb5a3c221525\"\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nexpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb5a3c221525-OSL\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"Forbidden","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":23875,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (12769)","md5":"fe1dc6c745cc943546097be4ac4610be","sha1":"446cd7ba9b71d5d2279674d60849cd6129118131","sha256":"a2224b97df85285b59ec65c0704316e44904fb89b843255a903a062cd4dd8cfe","sha512":"bf0663cc35748566d8548fdcb885e7f0e0acefdbbc5e686e28428d5f9de473dfe2d2d3840d62685c0236d6868775921c8ab887f4b7be25fc54dafeaedf96de03","ssdeep":"384:rFbi+9UDoJ+dKfU2GSbXeCV9Ql3Qa3/pjUetJzVyzQ3H3ChRF/Cnu:rF++JJ+dKf5GSbXeCW3xjUenzvnMOu","tlshash":"96b27d95eef26c03139245914eff92c435b8520b5a4289bd35edb64acf8feb6d4c3188","first_seen":"2025-10-26T17:50:42.518445Z","last_seen":"2025-10-26T17:50:42.518445Z","times_seen":1,"resource_available":false,"data":null}},"time_used":169,"timings":{"blocked":50,"dns":34,"connect":1,"send":0,"wait":65,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/flow/ov1/918913862:1761499033:DpQlbXITBfzkK1B264P3brSdiGJ92Jg_Jd2vFWIaUZ0/994bcb5e8ca4783d/UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","date":"2025-10-26T17:50:13.773Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"POST /cdn-cgi/challenge-platform/h/b/flow/ov1/918913862:1761499033:DpQlbXITBfzkK1B264P3brSdiGJ92Jg_Jd2vFWIaUZ0/994bcb5e8ca4783d/UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto\r\ncf-chl: UjV4egTC1aHnvzMegzsXPKbI_CmGL.YHKsuMaifeNl8-1761501009-1.2.1.1-oMZjlkDNjfsIutjouevcheEz3sMRON6afHJbAJ3bUpof2MCFay9wki_ukbfD_e5J\r\ncf-chl-ra: 0\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 37548\r\nOrigin: https://challenges.cloudflare.com\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:13 GMT\r\ncontent-type: text/plain; charset=UTF-8\r\ncf-chl-gen: d/2OxvVP7eNwEHpZE54rH4WIS87QixMUJ27YKRqWQ7mG4Z2gQdSRyMbRNkCLKv7A$vyBMNQnfgY9yxbNGkiX3Jw==\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: 994bcb7819a5783d-OSL\r\ncontent-encoding: br\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":29192,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"ASCII text, with very long lines (29192), with no line terminators","md5":"efb36f640e26475dc43e65e844fa6e88","sha1":"0c897c3b44e769f654f3d11b07e4b4f68deeceae","sha256":"1f04c51477f02d240ea42623e3775c3a8edf6005bbe1e0b9f4e409f2cd20b847","sha512":"018a50c885f0ae9ed00eba8e0e90443d736d8cb9392bc64f1e4969c18249a58aa82f18e0c3d48624d47a3d1937a02570d4d9b6d3cd85599fdee62748a675e891","ssdeep":"768:tdDhk6ut/Fspa3LML4PorD8XFzhSJIzk/+MEtfk3hiE:tdDhk6utQ+QL4PoOzhAIzkmboEE","tlshash":"c7d2f12cc4ce6e6bdaf7d16d3653026651f2f630123182b2d942b866c0dfc5d1edc50a","first_seen":"2025-10-26T17:50:42.519391Z","last_seen":"2025-10-26T17:50:42.519391Z","times_seen":1,"resource_available":false,"data":null}},"time_used":44,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":43,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/plugins/smooth-scrollbar.min.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.109Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/plugins/smooth-scrollbar.min.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-bd25\"\r\ncache-control: max-age=172800\r\ncf-cache-status: REVALIDATED\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbfeb1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":48421,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (23045)","md5":"eeec495792b70a300ad8e5d25a4947dc","sha1":"0a8063c224febc280d277a14575d3dc0c514d9f2","sha256":"9f14763bc230d7f878a8cee65c874a10510feb250b65a62863b69d26dee221b5","sha512":"b70fe13d7779653b9f675496dfbe6203a765192a510f0f6308bd8c76ac878fc93a60fd0716c0f9254edf94722505ec0f2decc89732a8992ae2c27eeccfb13613","ssdeep":"768:8S8UNr7lPYIgzx0GRWfluIDKK3iGU9qAi4bCwOa:8Sp57dYIEGGRouU3nMg4bCwOa","tlshash":"8a23728dba91b4a207e3b074422f100fb33b6654b04f8494b269e5e56d7e84f61a7f3d","first_seen":"2023-03-07T12:55:41Z","last_seen":"2026-04-29T05:21:29.728945Z","times_seen":316,"resource_available":true,"data":null}},"time_used":51,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":51,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/js/buttons.js","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.110Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/js/buttons.js HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: application/javascript\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-4c44\"\r\nage: 2573\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8cbff01525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":19524,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (19432), with CRLF line terminators","md5":"613e89000565b375846ee4743840eb7a","sha1":"d3747bb0fd27ee772d869e682e70d0fe39cd7567","sha256":"ffa6024f302cb242df56b78023308cf2136e5f33b9414de47b0a9aac27201f44","sha512":"232854382d3a02b8ef563225e6f5ec0a1e63f94bab394e51b830c4b4175b37b87bdc70e4fc1cd05f0f13df604e014a800ed6e0c7b90eb5806b5471b6576b0920","ssdeep":"192:BupmxJVjCVndaidIRErpCxnMN4K1XUhZJMaoPfZBSA/au/CL+zahjA81r27OFoua:4pm+pdVaKayJwxLAft9nsdp30PgCyE1","tlshash":"ce9219b0e34a655f780fcabfbc3ab968512625c3b67d43947037f5d088295c4a623b58","first_seen":"2023-11-01T11:07:31Z","last_seen":"2025-10-26T17:50:42.520996Z","times_seen":13,"resource_available":true,"data":null}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ka-f.fontawesome.com/releases/v5.15.4/css/free.min.css?token=42d5adcbca","fqdn":"ka-f.fontawesome.com","domain":"fontawesome.com","tld":"com"},"ip":{"addr":"104.21.26.223","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.351Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"ka-f.fontawesome.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Oct 2025 17:18:15 GMT","end":"Thu, 15 Jan 2026 18:18:12 GMT"},"fingerprint":{"sha1":"14:B4:4E:5A:B6:48:F2:69:A9:E6:D8:3F:F4:00:F7:C3:DC:42:70:A9","sha256":"23:9B:61:89:98:2E:2A:43:0D:A1:71:DB:BB:23:68:64:56:F6:91:46:AD:92:82:EE:B9:44:3B:16:79:CF:1E:FA"}}},"request":{"raw":"GET /releases/v5.15.4/css/free.min.css?token=42d5adcbca HTTP/1.1\r\nHost: ka-f.fontawesome.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: GET\r\naccess-control-max-age: 3000\r\nlast-modified: Wed, 04 Aug 2021 18:53:09 GMT\r\netag: W/\"a12ec7ebe75a4d59a5dd6b79e2ba2e16\"\r\ncache-control: max-age=31556926\r\nserver: cloudflare\r\naccess-control-allow-headers: fa-kit-token\r\ncontent-encoding: gzip\r\nvary: Accept-Encoding\r\nx-cache: Hit from cloudfront\r\nvia: 1.1 16015e09e0d70f7cc17ec5c4f52b310e.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P2\r\nx-amz-cf-id: 5jzUY7spZHTVdpykxHKYaRKfdx4nH6IWeOd6Q4C7rGtgNQJtGEX8Gg==\r\nage: 133260\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o5JdEqJPq0EJ0p9p3OfSo0ew5bqwinYWVlS5aCJ1PNsUYC5abdvsgay7WI2W4tH16PpNCx3H3R93GjIZT8iDjipNsCXdW7rfMvLjcFjBR5P0ezQV\"}]}\r\ncf-ray: 994bcb8ea8fbb28a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":60312,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text, with very long lines (60130)","md5":"a12ec7ebe75a4d59a5dd6b79e2ba2e16","sha1":"28f5dcc595ee6d4163481ef64170180502c8629b","sha256":"fc5128dfdcdfa0c3a9967a6d2f19399d7bf1aaae6ad7571b96b03915a1f30dda","sha512":"28b9ea5f3f95807259c2745162424aceecac2556bc1ab9a3b33e4e15b54c6970a4df4a5892fe83c1155c82ca8d93aebb173be32f1a7f8b9d3ce038b2dd1e6ffe","ssdeep":"768:PUh31IPiyXNq4YxBowbgJlkwF//zMQyYJYX9Bf7VSz8:PU0PxXE4YXJgndFTfy9lQQ","tlshash":"5b430bb8e54d01c9b732c44bbf81b2bc61baf73de5910d95f00e691c2ad26a811c5f7a","first_seen":"2023-04-05T03:17:09Z","last_seen":"2026-04-30T14:36:51.807307Z","times_seen":22650,"resource_available":false,"data":null}},"time_used":74,"timings":{"blocked":36,"dns":4,"connect":6,"send":0,"wait":6,"receive":0,"ssl":19},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"accounts.google.com/v3/signin/identifier?continue=https%3A%2F%2Fwww.youtube.com%2Ffavicon.ico\u0026dsh=S270863799%3A1761501017994869\u0026hl=en\u0026ifkv=ARESoU1XzeD6TjC_khGuIm5frVrsIRFoc2_Hwo8l3HWhqMkh0l_LhCwMX8rH3QdhPs1f_7NZPI_Zsw\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin","fqdn":"accounts.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"64.233.162.84","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:18.859Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:32:25 GMT","end":"Wed, 24 Dec 2025 14:32:24 GMT"},"fingerprint":{"sha1":"3A:78:B2:96:D0:CD:A5:D3:08:6F:80:16:15:5C:10:CC:41:FE:1B:12","sha256":"D2:92:7D:D4:5D:78:BC:69:FC:32:73:D8:16:EF:3A:37:3A:0E:0C:2D:50:4F:FE:51:7E:F7:EA:93:56:B9:8C:1D"}}},"request":{"raw":"GET /v3/signin/identifier?continue=https%3A%2F%2Fwww.youtube.com%2Ffavicon.ico\u0026dsh=S270863799%3A1761501017994869\u0026hl=en\u0026ifkv=ARESoU1XzeD6TjC_khGuIm5frVrsIRFoc2_Hwo8l3HWhqMkh0l_LhCwMX8rH3QdhPs1f_7NZPI_Zsw\u0026passive=true\u0026service=youtube\u0026uilel=3\u0026flowName=GlifWebSignIn\u0026flowEntry=ServiceLogin HTTP/1.1\r\nHost: accounts.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 403 Forbidden\r\ncontent-type: text/html; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Sun, 26 Oct 2025 17:50:18 GMT\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncontent-security-policy: require-trusted-types-for 'script';report-uri /v3/signin/_/AccountsSignInUi/cspreport, script-src 'nonce-QnU3xNnkl4Xdg4BnhLKLjw' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /v3/signin/_/AccountsSignInUi/cspreport;worker-src 'self', script-src 'unsafe-inline' 'unsafe-eval' blob: data: 'self' https://apis.google.com https://ssl.gstatic.com https://www.google.com https://www.googletagmanager.com https://www.gstatic.com https://www.google-analytics.com https://www.google.com/tools/feedback/ https://www.gstatic.com/feedback/js/ https://www.gstatic.com/inproduct_help/ https://www.gstatic.com/support/content/ https://www.gstatic.com/uservoice/feedback/client/web/live/ https://www.gstatic.com/uservoice/surveys/resources/prod/js/survey/ https://support.google.com/inapp/;report-uri /v3/signin/_/AccountsSignInUi/cspreport/allowlist\r\nreport-to: {\"group\":\"AccountsSignInUi\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/AccountsSignInUi\"}]}\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"AccountsSignInUi\"\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncontent-security-policy-report-only: script-src 'unsafe-inline' 'unsafe-eval' blob: data: https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js https://translate.google.com/translate_a/element.js https://www.google.com/recaptcha/api.js https://www.google.com/recaptcha/enterprise.js https://www.gstatic.com/recaptcha/ https://www.google.com/tools/feedback/chat_load.js https://www.google.com/tools/feedback/help_api.js https://www.google.com/tools/feedback/load.js https://www.google.com/tools/feedback/open.js https://www.google.com/tools/feedback/open_to_help_guide_lazy.js https://www.gstatic.com/feedback/js/ https://www.gstatic.com/feedback/js/help/prod/service/lazy.min.js https://www.gstatic.com/inproduct_help/api/main.min.js https://www.gstatic.com/inproduct_help/chatsupport/chatsupport_button_v2.js https://www.gstatic.com/inproduct_help/service/lazy.min.js https://www.gstatic.com/uservoice/feedback/client/web/live/ https://www.gstatic.com/uservoice/surveys/resources/prod/js/survey/ https://www.gstatic.com/_/mss/boq-one-google/_/ https://www.gstatic.com/og/_/js/ https://apis.google.com/js/api.js https://apis.google.com/js/client.js https://www.googletagmanager.com/gtag/js https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/destination https://www.gstatic.com/_/mss/boq-identity/_/js/k=boq-identity.AccountsSignInUi.en.Mp9mjkH_buc.es5.O/ https://apis.google.com/_/scs/abc-static/_/js/ https://translate.googleapis.com/_/translate_http/_/js/ https://www.gstatic.com/recaptcha/releases/;report-uri /v3/signin/_/AccountsSignInUi/cspreport/fine-allowlist\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"Forbidden","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":39,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":39,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"undefined/REVMUWUlJy88WiV4LncQNilxdFcCYH4XAScnLiYcKTV9Mw0oI2IyCSswKDcXKys4fwshMWljIyAIIQsVCgIoAyYVIR8GIB0VCAAJEwR9HwQFdHgWNAYpCxAJFicPFyQRDQ0+BhIXGjcmFjYtEjMnFhhgUREdHTY/BxYaCy09DyEcCxUWHBYdExwkGDcREAoWLQV1BgcdFQ4PFwoFAXwQKBMiHQEzdHwaEFQGJxQDLBcQfSIgEz19MyYjExoAAgUiFBMVHAN9Az8MBw4zJgV0LhQgAgEbJjQOFycfBwYDFRI2Ai4eBy0GARsmNBUSOzkDBQAFEy8BaDsWM3Q1HQk3AhAvFCsmBw4HIBV0PGAzIwMfAxIWCgpgNx4QOxs3ABQVAzMcFxkGNBIdDT0BHgcZGCQSInU1IxImDRMOPAYNEicdB30cBhIudRMyIwhqOxYrKzxsJy88BwMwAjEZCVQUMTQ0","fqdn":"undefined","domain":"undefined","tld":""},"ip":{"addr":"0.0.0.0","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.591Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /REVMUWUlJy88WiV4LncQNilxdFcCYH4XAScnLiYcKTV9Mw0oI2IyCSswKDcXKys4fwshMWljIyAIIQsVCgIoAyYVIR8GIB0VCAAJEwR9HwQFdHgWNAYpCxAJFicPFyQRDQ0+BhIXGjcmFjYtEjMnFhhgUREdHTY/BxYaCy09DyEcCxUWHBYdExwkGDcREAoWLQV1BgcdFQ4PFwoFAXwQKBMiHQEzdHwaEFQGJxQDLBcQfSIgEz19MyYjExoAAgUiFBMVHAN9Az8MBw4zJgV0LhQgAgEbJjQOFycfBwYDFRI2Ai4eBy0GARsmNBUSOzkDBQAFEy8BaDsWM3Q1HQk3AhAvFCsmBw4HIBV0PGAzIwMfAxIWCgpgNx4QOxs3ABQVAzMcFxkGNBIdDT0BHgcZGCQSInU1IxImDRMOPAYNEicdB30cBhIudRMyIwhqOxYrKzxsJy88BwMwAjEZCVQUMTQ0 HTTP/1.1\r\nHost: undefined\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"newassets.hcaptcha.com/c/a43f65898c72bfc7f9c503a9d50f02672ca22c8ee55978c3a836f6c3514a3941/hsw.js","fqdn":"newassets.hcaptcha.com","domain":"hcaptcha.com","tld":"com"},"ip":{"addr":"104.19.229.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html#frame=challenge\u0026id=05nq0j7gme97\u0026host=ads.luarmor.net\u0026sentry=true\u0026reportapi=https%3A%2F%2Faccounts.hcaptcha.com\u0026recaptchacompat=true\u0026custom=false\u0026hl=en\u0026tplinks=on\u0026andint=off\u0026pstissuer=https%3A%2F%2Fpst-issuer.hcaptcha.com\u0026sitekey=1a7458ba-493e-4c56-9ec8-1ffab912abd8\u0026theme=light\u0026origin=https%3A%2F%2Fads.luarmor.net","date":"2025-10-26T17:50:19.368Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"hcaptcha.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 25 Oct 2025 21:56:55 GMT","end":"Fri, 23 Jan 2026 22:56:51 GMT"},"fingerprint":{"sha1":"A4:15:32:49:93:6A:E4:9F:0F:65:76:08:3E:04:2C:FA:87:57:7D:90","sha256":"D6:E4:78:68:8D:D7:DF:4D:13:24:4A:8A:E4:4D:E0:CE:80:FC:94:F0:3F:31:79:A4:DD:56:05:89:99:7F:AF:F9"}}},"request":{"raw":"GET /c/a43f65898c72bfc7f9c503a9d50f02672ca22c8ee55978c3a836f6c3514a3941/hsw.js HTTP/1.1\r\nHost: newassets.hcaptcha.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://newassets.hcaptcha.com/captcha/v1/4948b4d6847921d7bf0b86388c141311d7f03e2e/static/hcaptcha.html\r\nCookie: __cf_bm=OCZV0PBtIwLD4YODeyeA6zQrwbOYuMaaGFTv1q.Pz3E-1761501017-1.0.1.1-TcWnRA3IptwLPfhd_6BoVd.hWR7ZHpEsfUYElxnXycKJ7IhcRkzmP2hB.2FGSXrqRYqyzQkk_hpkqa5Sf5BdICvkApn_KPct16b0hFuUcz8\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:19 GMT\r\ncontent-type: application/javascript\r\ncf-ray: 994bcb9b082d5685-OSL\r\ncontent-encoding: gzip\r\ncache-control: max-age=3024000\r\netag: W/\"5a7ae6d380a3c01a21fe5a2811e6c55b\"\r\nvary: accept-encoding, Origin\r\nalt-svc: h3=\":443\"; ma=86400\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":782625,"size_decoded":0,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65395)","md5":"5a7ae6d380a3c01a21fe5a2811e6c55b","sha1":"0df2cb04dd8d779d1ec53d84a6263f46e42d3e9a","sha256":"03e3673eae1812c0c8b0232f47d36b08f97b4753e8d469e319a10ac5b5cc86a0","sha512":"92215c6f9aef454d5c2ca364093cb458397a2a7cdf7b21a01965712e50d07d524a7f37fb4e9d51c970561359a8aa708d93885f745bb6647a3f9f97684862adfb","ssdeep":"12288:L19AK3qtm9/YIh5CQAyOXDoubLZ94H8t2wbIQ0d3Ov8/1fZgS9TF1g:Bv3Sm5CQA5XDou3sH0NbIQ0oTUTE","tlshash":"29f429bf8712966aebf305fd540635836c4884eb86499da08f4eccb3b4d45afa85d0dc","first_seen":"2025-10-22T19:45:11.742087Z","last_seen":"2026-04-07T15:59:51.980442Z","times_seen":1001,"resource_available":true,"data":null}},"time_used":20,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":12,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"erstartirreleas.com/MGZ0bmYfWRcdW38jDCgyZ1Y5CwhIUCw/IAAAPAYCdFVNXgBcUlIaD1RbRV9UBlBBWEBADxBTVxYVAA8SRRVJXUBZCBIBW1MKHQ0NFhBJX0gDUlpdUB5QUhtbAUAAHgdXW0VIFkQSGFNXB1BFW1YBVkVZUghe","fqdn":"erstartirreleas.com","domain":"erstartirreleas.com","tld":"com"},"ip":{"addr":"104.21.96.123","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.679Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"erstartirreleas.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Tue, 07 Oct 2025 08:37:16 GMT","end":"Mon, 05 Jan 2026 09:35:34 GMT"},"fingerprint":{"sha1":"D7:41:A4:37:50:67:F0:F7:62:83:7A:EF:86:27:AE:8A:4A:64:5B:52","sha256":"58:97:00:C7:F4:95:EE:74:A4:23:97:CE:1B:66:CD:4C:0B:90:3E:EF:19:E2:2C:CB:7A:61:3B:2A:47:C4:F1:68"}}},"request":{"raw":"GET /MGZ0bmYfWRcdW38jDCgyZ1Y5CwhIUCw/IAAAPAYCdFVNXgBcUlIaD1RbRV9UBlBBWEBADxBTVxYVAA8SRRVJXUBZCBIBW1MKHQ0NFhBJX0gDUlpdUB5QUhtbAUAAHgdXW0VIFkQSGFNXB1BFW1YBVkVZUghe HTTP/1.1\r\nHost: erstartirreleas.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 No Content\r\naccess-control-allow-origin: *\r\ncf-cache-status: DYNAMIC\r\npriority: u=1,i=?0\r\nserver: cloudflare\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=IWiSnfFMHxkoc2TCWoen1fn6rNPJzYAj%2FnQl75pT1F0lqMZ5HKGyP%2Fu3ardWoNvDg%2B%2FnYIdYp5M9ZAl79xkY%2FH2NJpckMDrgMdsOlvEn%2BBGM\"}]}\r\ncf-ray: 994bcb904ab40b4d-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"No Content","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-04-30T16:35:17.594717Z","times_seen":14431416,"resource_available":true,"data":null}},"time_used":127,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":126,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"d3jzhqnvnvdy34.cloudfront.net/?qhzjd=1126656","fqdn":"d3jzhqnvnvdy34.cloudfront.net","domain":"d3jzhqnvnvdy34.cloudfront.net","tld":"cloudfront.net"},"ip":{"addr":"3.167.7.123","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.885Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.cloudfront.net","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M01","organization":"Amazon"},"validity":{"start":"Mon, 05 May 2025 00:00:00 GMT","end":"Thu, 23 Apr 2026 23:59:59 GMT"},"fingerprint":{"sha1":"8F:00:F1:34:A7:1E:27:1C:CF:CD:A6:53:8B:C4:82:B0:68:BC:C8:72","sha256":"60:38:9D:24:9E:41:8F:23:AC:D9:14:5C:A3:47:7E:AF:07:DB:9F:2D:6A:8C:0D:08:E9:24:8A:8E:49:A9:4D:28"}}},"request":{"raw":"GET /?qhzjd=1126656 HTTP/1.1\r\nHost: d3jzhqnvnvdy34.cloudfront.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/\r\nOrigin: https://ads.luarmor.net\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ncontent-length: 79099\r\naccess-control-allow-credentials: true\r\naccess-control-allow-origin: https://ads.luarmor.net\r\ncache-control: no-store, no-cache, proxy-revalidate, must-revalidate, private, no-transform\r\ncontent-encoding: gzip\r\npragma: no-cache\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 4e0a1f367f79652e0e7d03fa585de7b2.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P2\r\nx-amz-cf-id: qph4nnbcSq2gHUAJPKQl8XoxJn0VvghlKucrFCoLdUYPGq76-SGsOw==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":232326,"size_decoded":0,"mime_type":"text/plain","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (38488)","md5":"6b01294f58fcd4b424a52d7bcb317d1e","sha1":"b17c321a352cc454de6d0edd79a915482e4a106d","sha256":"eb3a7f581fd115f8653f74666f32b52fc782d017cb22a0433706e8aea90bc95b","sha512":"4b41bbc6d530de6764d3878f2df833baa71486c6583acedc6b3d3937575bd27fea2a3e7afbb086a5f518ea52af0e249740636f4812b01a2892666b98fa13b5f0","ssdeep":"3072:XBUNPgDYzi07L02raYDbe+Y5UKS+7L0x2ia+Zc53+Zc0M8EX:XuN4DUi07w2rnXpZU3+iAK","tlshash":"f2345cc9ba923469836374f540bf124ab23f5a69b8084dd4f496d4d07db8d0a437bfac","first_seen":"2025-10-26T17:50:42.522654Z","last_seen":"2025-10-26T17:50:42.522654Z","times_seen":1,"resource_available":false,"data":null}},"time_used":285,"timings":{"blocked":-1,"dns":82,"connect":1,"send":0,"wait":187,"receive":4,"ssl":9},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2025-10-26","alert":"Sinkholed","trigger":"d3jzhqnvnvdy34.cloudfront.net","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/css/material-dashboard.css?v=3.0.2","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.086Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/css/material-dashboard.css?v=3.0.2 HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-7dfb6\"\r\nage: 7106\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8caf991525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":516022,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text, with very long lines (562)","md5":"5d13501f922c09cd39a1bf61b1fe799d","sha1":"0a3ff4558fc72942bceadd31f30841a2b9fe6f01","sha256":"18829133c2b5f425cb57b78254fcd6a3045a0656f08c618068124f49d99236ae","sha512":"dc9fb752217c5742ed4c25ea3ead1168685697019c662ca98fadef9eb417e7de98851294c48d98d52036770ea404c862205e59a4a3f5797b73f52c9969fa8027","ssdeep":"1536:UCID3/DMMCJVgH95PmKD58QKTc+PYFF4j15xVEjfJmiQ2Rh9CgPBmAb+PkRxfjmq:IMHj15xVEjfJmizv+sRDUU2mtek1","tlshash":"01b4105bbde32804685b51ac96eab7f47e7d4083c60dcd7a7a8f7350cf0638558a2e48","first_seen":"2025-03-26T22:24:24.361298Z","last_seen":"2025-10-26T17:50:42.523579Z","times_seen":7,"resource_available":false,"data":null}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"dcbbwymp1bhlf.cloudfront.net/?wbbcd=1126656","fqdn":"dcbbwymp1bhlf.cloudfront.net","domain":"dcbbwymp1bhlf.cloudfront.net","tld":"cloudfront.net"},"ip":{"addr":"3.167.7.80","port":443,"asn":0,"as":"","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.094Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.cloudfront.net","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M01","organization":"Amazon"},"validity":{"start":"Mon, 05 May 2025 00:00:00 GMT","end":"Thu, 23 Apr 2026 23:59:59 GMT"},"fingerprint":{"sha1":"8F:00:F1:34:A7:1E:27:1C:CF:CD:A6:53:8B:C4:82:B0:68:BC:C8:72","sha256":"60:38:9D:24:9E:41:8F:23:AC:D9:14:5C:A3:47:7E:AF:07:DB:9F:2D:6A:8C:0D:08:E9:24:8A:8E:49:A9:4D:28"}}},"request":{"raw":"GET /?wbbcd=1126656 HTTP/1.1\r\nHost: dcbbwymp1bhlf.cloudfront.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ncontent-length: 79100\r\naccess-control-allow-origin: *\r\ncache-control: no-store, no-cache, proxy-revalidate, must-revalidate, private, no-transform\r\ncontent-encoding: gzip\r\npragma: no-cache\r\ndate: Sun, 26 Oct 2025 17:50:16 GMT\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 c99d057689db169d0b27b6e562e255c2.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P2\r\nx-amz-cf-id: 9rkrFw0nUX_Q26olu0V1A_pUXCMnXhEDEfzgSc-KMjOSRriS_ZEecA==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":232326,"size_decoded":0,"mime_type":"text/plain","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (38488)","md5":"8339f0e866bf2b4ba26c6ed194de5629","sha1":"c3f448ce62b138362d82ffa35065d7c7b2e6b1a4","sha256":"214538faa0e55a33044871e2ea992134500f0e2cf5598acd096d1f7fdc4b5cd0","sha512":"290f155c609d4d1e70cf2b82cb746fb5ddda2e398c1a052855a9f947266e95aaff085d8607d2876a3f85df31df9b30c92d1587273c83a1e814e78d13ee9e65a2","ssdeep":"3072:XBUNPgDYzi07L02raYDbe+Y5UKS+7L0x2iD+Zc53+Zc0M8EX:XuN4DUi07w2rnXgZU3+iAK","tlshash":"b1344cc9ba923469836374f540bf124ab23f5a69b8084dd4f496d4d07db8d0a437bfac","first_seen":"2025-10-26T17:50:42.524121Z","last_seen":"2025-10-26T17:50:42.524121Z","times_seen":1,"resource_available":false,"data":null}},"time_used":243,"timings":{"blocked":19,"dns":22,"connect":1,"send":0,"wait":175,"receive":3,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/favicon.ico","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:09.256Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\u0026__cf_chl_rt_tk=mLe6DdFuO4GPVc6Ohqy9.h7PWtRobGWARdOceRirZkg-1761501009-1.0.1.1-BZxxpK4GyGF_0wmm6Foh08FYkJh2Hi7BCc1.pS95j8o\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 403 Forbidden\r\ndate: Sun, 26 Oct 2025 17:50:09 GMT\r\ncontent-type: text/html; charset=UTF-8\r\naccept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\ncf-mitigated: challenge\r\ncritical-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA\r\ncross-origin-embedder-policy: require-corp\r\ncross-origin-opener-policy: same-origin\r\ncross-origin-resource-policy: same-origin\r\norigin-agent-cluster: ?1\r\npermissions-policy: accelerometer=(),browsing-topics=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),interest-cohort=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=()\r\nreferrer-policy: same-origin\r\nserver-timing: chlray;desc=\"994bcb5bd9c21525\"\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\ncache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nexpires: Thu, 01 Jan 1970 00:00:01 GMT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb5bd9c21525-OSL\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"Forbidden","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":22986,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (12769)","md5":"9dedb3c7418532d7f4b9ce13925226c3","sha1":"3e5e22b9031e264d1e08ff42315ac36d64660e7b","sha256":"07f70100ce491a819c23d6c3382212f11874f3c0de53167b46b50bca5ad17f12","sha512":"b548bf39fdd0810d8344f73a5388ee702f5a6184c313ea6d6a0fc578f99fef14a8ff15a1b425694e4c3ec75afd7dd013e1094ef4cb812635c2975e15abb7f726","ssdeep":"384:rFbi+9UDoJ+dKfU2GSbXeCV9Ql3Qa3/pjUetJzVmufgwOXnu:rF++JJ+dKf5GSbXeCW3xjUenzMsg/u","tlshash":"a3a26cd6eef22c03275345505aee96c439bc11071a42c9ae35ecb68adf8aeb5d4c35c8","first_seen":"2025-10-26T17:50:42.525012Z","last_seen":"2025-10-26T17:50:42.525012Z","times_seen":1,"resource_available":false,"data":null}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/d/994bcb5e8ca4783d/1761501010160/gi2Phr7Q1Esmfqh","fqdn":"challenges.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.18.95.41","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto","date":"2025-10-26T17:50:12.652Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"challenges.cloudflare.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 23 Oct 2025 18:59:09 GMT","end":"Wed, 21 Jan 2026 19:59:05 GMT"},"fingerprint":{"sha1":"62:5E:2A:E5:F4:DE:73:E8:94:15:72:65:28:EB:70:25:A8:D2:E7:61","sha256":"2D:41:D6:2B:6A:BB:89:80:01:28:9F:35:0B:2B:F4:6C:0D:B6:B1:E4:7E:E4:AC:35:2A:E0:69:DB:94:45:F7:D3"}}},"request":{"raw":"GET /cdn-cgi/challenge-platform/h/b/d/994bcb5e8ca4783d/1761501010160/gi2Phr7Q1Esmfqh HTTP/1.1\r\nHost: challenges.cloudflare.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://challenges.cloudflare.com/cdn-cgi/challenge-platform/h/b/turnstile/f/ov2/av0/rch/vn188/0x4AAAAAAADnPIDROrmt1Wwj/light/fbE/new/normal?lang=auto\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:12 GMT\r\ncontent-type: image/png\r\ncontent-length: 287\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: 994bcb711c3f783d-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":287,"size_decoded":0,"mime_type":"image/png","magic":"PNG image data, 80 x 39, 8-bit/color RGBA, non-interlaced","md5":"668cd2f8d0bf4a28e31fc5022ce602d4","sha1":"88e26053c4fb04b65b8511a2acc243b5ad67fbf0","sha256":"8f55df4bd1624b357a2fb8a52183f8fa7d79119638c9961d9728e80b6e3485c6","sha512":"9a571428700bfaecf3b9697be1264a91cda61dad3221fd12901ca49a8175070bcb2afe63ead5d82991fa31095591c114879025dee7219ff2cf98fb8a60f877e8","ssdeep":"","tlshash":"89d012a234c76712a9d7e72224a5f9a3e8f2844540d00a014a09ee30d22d4f33bf63c6","first_seen":"2025-05-18T09:04:56.073939Z","last_seen":"2026-04-02T02:13:09.556214Z","times_seen":120,"resource_available":false,"data":null}},"time_used":7,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ads.luarmor.net/assets/css/nucleo-svg.css","fqdn":"ads.luarmor.net","domain":"luarmor.net","tld":"net"},"ip":{"addr":"104.20.46.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.081Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"luarmor.net","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 12 Sep 2025 03:38:36 GMT","end":"Thu, 11 Dec 2025 04:38:24 GMT"},"fingerprint":{"sha1":"89:53:79:07:8C:6D:9B:48:84:2D:03:FC:9E:66:E8:1B:37:31:7B:84","sha256":"7D:B6:EE:44:82:37:90:59:F9:88:62:84:B9:36:63:FF:87:0A:19:43:9E:15:9C:FF:26:EA:1D:3F:A2:C3:82:BF"}}},"request":{"raw":"GET /assets/css/nucleo-svg.css HTTP/1.1\r\nHost: ads.luarmor.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP\r\nCookie: cf_clearance=ij6YZDC7xBaMt6h.zALg5.SrsHDqR39TvfaoaxuDxBA-1761501016-1.2.1.1-tlZLgZxpmONSZA1FONLDBecYqlTHRnufRV8ayYzTNPP_T9JBUHdU9JlDaoMUgsc_1RjrJi4wikZIsKlhAdvWfaJZzaBOiEjpxiRXinQZUq7eifLR3kob7oyeKFES9V4MW3I6bQwmY6BCjnlP.j069dkoH2xIlAU7Q_I.8miIsQzCbuKSufpFA8PVuXa6x1l0ecRByqnVdDeJNS6e6zL29ZMLkg67A5zelplJT8yOpJQ\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\ndate: Sun, 26 Oct 2025 17:50:17 GMT\r\ncontent-type: text/css\r\ncontent-encoding: br\r\nlast-modified: Tue, 03 Sep 2024 01:54:38 GMT\r\netag: W/\"66d66c5e-8cd\"\r\nage: 7073\r\ncache-control: max-age=172800\r\ncf-cache-status: HIT\r\nvary: Accept-Encoding\r\nserver: cloudflare\r\ncf-ray: 994bcb8c9f8a1525-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":2253,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text","md5":"99515a64208b82a5ed93779b5abd5b1c","sha1":"7f092a501e02e7e48701f67dc6013e1bdc6ec6aa","sha256":"13c358b65ecb3c2de9301565fd5105d17bab41a940415eb24585152b122da3db","sha512":"4bbaa34c89ff01fc03b94a345732280b381652ae7179c9ce2302c0e5c6249921ffa54b678a86a39b42e2a04373447376c5739e39e89169b0afb2cc3d6c250f57","ssdeep":"","tlshash":"28416a104ff01c70936bc8969b92f649de1e92c12e4f7d2775db08298b3411c253dac6","first_seen":"2023-04-12T07:48:43Z","last_seen":"2026-04-30T07:52:38.158383Z","times_seen":403,"resource_available":false,"data":null}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js","fqdn":"ajax.googleapis.com","domain":"ajax.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.74.170","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://ads.luarmor.net/get_key?for=Linkvertise_-vgxOIRsxKrjP","date":"2025-10-26T17:50:17.095Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Wed, 01 Oct 2025 14:34:04 GMT","end":"Wed, 24 Dec 2025 14:34:03 GMT"},"fingerprint":{"sha1":"5F:D5:F8:10:14:80:32:78:B6:66:AC:25:01:5E:C2:6B:0C:D6:03:BD","sha256":"66:2A:01:C5:DD:28:0B:66:17:E5:8A:2F:4E:52:AF:74:21:21:65:E1:71:72:47:4B:5D:69:50:8D:B4:16:49:C5"}}},"request":{"raw":"GET /ajax/libs/jquery/3.4.1/jquery.min.js HTTP/1.1\r\nHost: ajax.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: https://ads.luarmor.net/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/hosted-libraries-pushers\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"hosted-libraries-pushers\"\r\nreport-to: {\"group\":\"hosted-libraries-pushers\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/hosted-libraries-pushers\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 30774\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Oct 2025 17:22:53 GMT\r\nexpires: Fri, 23 Oct 2026 17:22:53 GMT\r\ncache-control: public, max-age=31536000, stale-while-revalidate=2592000\r\nlast-modified: Mon, 13 May 2019 14:37:17 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 260844\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":88145,"size_decoded":0,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (65451)","md5":"220afd743d9e9643852e31a135a9f3ae","sha1":"88523924351bac0b5d560fe0c5781e2556e7693d","sha256":"0925e8ad7bd971391a8b1e98be8e87a6971919eb5b60c196485941c3c1df089a","sha512":"6e722fce1e8553be592b1a741972c7f5b7b0cdafce230e9d2d587d20283482881c96660682e4095a5f14df45a96ec193a9b222030c53b1b7bbe8312b2eae440d","ssdeep":"1536:yTExXUZinxD7oPEZxkMV4SYKFMbRHZ6H5HOHCWrcElzuu7BRCKKBEqBsojZlOPma:ygZm0H5HO5+gCKWZyPmHQ47GKe","tlshash":"338319dd72c6706257b761ba00bf540bf236599e6c4d4410f124e8eabc78a4a823bf7d","first_seen":"2023-03-07T01:02:34Z","last_seen":"2026-04-30T15:44:32.132985Z","times_seen":123813,"resource_available":true,"data":null}},"time_used":290,"timings":{"blocked":123,"dns":0,"connect":12,"send":0,"wait":8,"receive":9,"ssl":135},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
