YQ0NCgAAAABDGnxjjRUAAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzmAAAAGQAZAFsAFoAZABkAWwBWgFkAGQBbAJaAmQAZAJsA20EWgQBAGQDZARsBW0GWgYBAGQDZAVsB20IWghtCVoJbQpaCm0LWgsBAGQDZAZsDG0HWgcBAGcAZAeiAVoNRwBkCGQJhABkCYMCWg5kCmQLhABaD2QTZA1kDoQBWhBkFGQPZBCEAVoRZBFkEoQAWhJlEoMAAQBkAVMAKRXpAAAAAE4pAdoNU3RyaWN0VmVyc2lvbukBAAAAKQHaCEJ5dGVjb2RlKQTaC2ZpbmRfbW9kdWxl2gtQWV9DT01QSUxFRNoJUFlfRlJPWkVO2glQWV9TT1VSQ0UpAdoKcHkyN2NvbXBhdCkE2gdSZXF1aXJlcgUAAADaE2dldF9tb2R1bGVfY29uc3RhbnTaEGV4dHJhY3RfY29uc3RhbnRjAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAc0gAAABlAFoBZABaAmQBWgNkEWQEZAWEAVoEZAZkB4QAWgVkCGQJhABaBmQSZAtkDIQBWgdkE2QNZA6EAVoIZBRkD2QQhAFaCWQDUwApFXIKAAAAejdBIHByZXJlcXVpc2l0ZSB0byBidWlsZGluZyBvciBpbnN0YWxsaW5nIGEgZGlzdHJpYnV0aW9u2gBOYwcAAAAAAAAAAAAAAAcAAAADAAAAQwAAAHNGAAAAfAZkAHUAchR8AmQAdQFyFHQAfQZ8BmQAdQFyMHwGfAKDAX0CfAVkAHUAcjBkAX0FfABqAaACdAODAKEBAQB8AGAEZABTACkCTtoLX192ZXJzaW9uX18pBXICAAAA2ghfX2RpY3RfX9oGdXBkYXRl2gZsb2NhbHPaBHNlbGYpB3ISAAAA2gRuYW1l2hFyZXF1ZXN0ZWRfdmVyc2lvbtoGbW9kdWxlWghob21lcGFnZdoJYXR0cmlidXRl2gZmb3JtYXSpAHIYAAAA+k8vaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9uMy45L3NpdGUtcGFja2FnZXMvc2V0dXB0b29scy9kZXBlbmRzLnB52ghfX2luaXRfXxQAAABzEAAAAAAEEAEEAggBCAEIAQQCDgF6EFJlcXVpcmUuX19pbml0X19jAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcyAAAAB8AGoAZAF1AXIaZAJ8AGoBfABqAGYCFgBTAHwAagFTACkDejBSZXR1cm4gZnVsbCBwYWNrYWdlL2Rpc3RyaWJ1dGlvbiBuYW1lLCB3L3ZlcnNpb25OegUlcy0lcykCchQAAAByEwAAACkBchIAAAByGAAAAHIYAAAAchkAAADaCWZ1bGxfbmFtZSMAAABzBgAAAAACCgEQAXoRUmVxdWlyZS5mdWxsX25hbWVjAgAAAAAAAAAAAAAAAgAAAAIAAABDAAAAcyoAAAB8AGoAZAF1AHAofABqAWQBdQBwKHQCfAGDAWQCawNvKHwBfABqA2sFUwApA3olSXMgJ3ZlcnNpb24nIHN1ZmZpY2llbnRseSB1cC10by1kYXRlP07aB3Vua25vd24pBHIWAAAAchcAAADaA3N0cnIUAAAAKQJyEgAAANoHdmVyc2lvbnIYAAAAchgAAAByGQAAANoKdmVyc2lvbl9vaykAAABzBgAAAAACFAEU/3oSUmVxdWlyZS52ZXJzaW9uX29rchwAAABjAwAAAAAAAAAAAAAABwAAAAgAAABDAAAAc34AAAB8AGoAZAF1AHJEeiR0AXwAagJ8AYMCXAN9A30EfQV8A3IqfAOgA6EAAQB8AlcAUwAEAHQEeUIBAAEAAQBZAGQBUwAwAHQFfABqAnwAagB8AnwBgwR9BnwGZAF1AXJ6fAZ8AnUBcnp8AGoGZAF1AXJ6fACgBnwGoQFTAHwGUwApAmHXAQAAR2V0IHZlcnNpb24gbnVtYmVyIG9mIGluc3RhbGxlZCBtb2R1bGUsICdOb25lJywgb3IgJ2RlZmF1bHQnCgogICAgICAgIFNlYXJjaCAncGF0aHMnIGZvciBtb2R1bGUuICBJZiBub3QgZm91bmQsIHJldHVybiAnTm9uZScuICBJZiBmb3VuZCwKICAgICAgICByZXR1cm4gdGhlIGV4dHJhY3RlZCB2ZXJzaW9uIGF0dHJpYnV0ZSwgb3IgJ2RlZmF1bHQnIGlmIG5vIHZlcnNpb24KICAgICAgICBhdHRyaWJ1dGUgd2FzIHNwZWNpZmllZCwgb3IgdGhlIHZhbHVlIGNhbm5vdCBiZSBkZXRlcm1pbmVkIHdpdGhvdXQKICAgICAgICBpbXBvcnRpbmcgdGhlIG1vZHVsZS4gIFRoZSB2ZXJzaW9uIGlzIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlCiAgICAgICAgcmVxdWlyZW1lbnQncyB2ZXJzaW9uIGZvcm1hdCAoaWYgYW55KSwgdW5sZXNzIGl0IGlzICdOb25lJyBvciB0aGUKICAgICAgICBzdXBwbGllZCAnZGVmYXVsdCcuCiAgICAgICAgTikHchYAAAByBQAAAHIVAAAA2gVjbG9zZdoLSW1wb3J0RXJyb3JyCwAAAHIXAAAAKQdyEgAAANoFcGF0aHPaB2RlZmF1bHTaAWbaAXDaAWnaAXZyGAAAAHIYAAAAchkAAADaC2dldF92ZXJzaW9uLgAAAHMYAAAAAAsKAQIBEgEEAQgBBgEMAQgCEgIaAQoCehNSZXF1aXJlLmdldF92ZXJzaW9uYwIAAAAAAAAAAAAAAAIAAAADAAAAQwAAAHMOAAAAfACgAHwBoQFkAXUBUwApAnovUmV0dXJuIHRydWUgaWYgZGVwZW5kZW5jeSBpcyBwcmVzZW50IG9uICdwYXRocydOKQFyKAAAACkCchIAAAByIgAAAHIYAAAAchgAAAByGQAAANoKaXNfcHJlc2VudEkAAABzAgAAAAACehJSZXF1aXJlLmlzX3ByZXNlbnRjAgAAAAAAAAAAAAAAAwAAAAMAAABDAAAAcyAAAAB8AKAAfAGhAX0CfAJkAXUAchZkAlMAfACgAXwCoQFTACkDej5SZXR1cm4gdHJ1ZSBpZiBkZXBlbmRlbmN5IGlzIHByZXNlbnQgYW5kIHVwLXRvLWRhdGUgb24gJ3BhdGhzJ05GKQJyKAAAAHIfAAAAKQNyEgAAAHIiAAAAch4AAAByGAAAAHIYAAAAchkAAADaCmlzX2N1cnJlbnRNAAAAcwgAAAAAAgoBCAEEAXoSUmVxdWlyZS5pc19jdXJyZW50KQNyDQAAAE5OKQJOchwAAAApAU4pAU4pCtoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX3IaAAAAchsAAAByHwAAAHIoAAAAcikAAAByKgAAAHIYAAAAchgAAAByGAAAAHIZAAAAcgoAAAARAAAAcxIAAAAIAQQDAAEA/goPCAYIBQobCgRyCgAAAGMBAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzIgAAAHQAagFkAWQChACDAX0BfABzGHwBgwBTAHQAoAJ8AKEBUwApA05jAAAAAAAAAAAAAAAAAAAAAAEAAABzAAAAcwoAAABkAFYAAQBkAFMAKQFOchgAAAByGAAAAHIYAAAAchgAAAByGQAAANoFZW1wdHlWAAAAcwQAAAAAAgYBehptYXliZV9jbG9zZS48bG9jYWxzPi5lbXB0eSkD2gpjb250ZXh0bGli2g5jb250ZXh0bWFuYWdlctoHY2xvc2luZykCciQAAAByLwAAAHIYAAAAchgAAAByGQAAANoLbWF5YmVfY2xvc2VVAAAAcwoAAAAAAQQBCgMEAQYCcjMAAADp/////2MEAAAAAAAAAAAAAAAMAAAACAAAAEMAAABz3gAAAHoedAB8AHwDgwIEAFwDfQR9BVwDfQZ9B30IfQlXAG4UBAB0AXkyAQABAAEAWQBkAVMAMAB0AnwEgwGPhgEAfAh0A2sCclx8BKAEZAKhAQEAdAWgBnwEoQF9Cm5YfAh0B2sCcnJ0CKAJfAB8A6ECfQpuQnwIdAprAnKMdAt8BKAEoQB8BWQDgwN9Cm4odAigDHwAfAN8CaEDfQt0DXwLfAFkAYMDVwACAGQBBAAEAIMDAQBTAFcAZAEEAAQAgwMBAG4QMQBzyDAAAQABAAEAWQABAHQOfAp8AXwCgwNTACkEevxGaW5kICdtb2R1bGUnIGJ5IHNlYXJjaGluZyAncGF0aHMnLCBhbmQgZXh0cmFjdCAnc3ltYm9sJwoKICAgIFJldHVybiAnTm9uZScgaWYgJ21vZHVsZScgZG9lcyBub3QgZXhpc3Qgb24gJ3BhdGhzJywgb3IgaXQgZG9lcyBub3QgZGVmaW5lCiAgICAnc3ltYm9sJy4gIElmIHRoZSBtb2R1bGUgZGVmaW5lcyAnc3ltYm9sJyBhcyBhIGNvbnN0YW50LCByZXR1cm4gdGhlCiAgICBjb25zdGFudC4gIE90aGVyd2lzZSwgcmV0dXJuICdkZWZhdWx0Jy5O6QgAAADaBGV4ZWMpD3IFAAAAciEAAAByMwAAAHIGAAAA2gRyZWFk2gdtYXJzaGFs2gRsb2FkcgcAAAByCQAAANoRZ2V0X2Zyb3plbl9vYmplY3RyCAAAANoHY29tcGlsZVoKZ2V0X21vZHVsZdoHZ2V0YXR0cnIMAAAAKQxyFQAAANoGc3ltYm9sciMAAAByIgAAAHIkAAAA2gRwYXRo2gZzdWZmaXjaBG1vZGXaBGtpbmTaBGluZm/aBGNvZGVaCGltcG9ydGVkchgAAAByGAAAAHIZAAAAcgsAAABgAAAAcx4AAAAABwIBHgEMAggCCgEIAQoBDAEIAQ4BCAESAw4BOAJyCwAAAGMDAAAAAAAAAAAAAAALAAAAAwAAAEMAAABzhAAAAHwBfABqAHYBcg5kAVMAdAF8AGoAgwGgAnwBoQF9A2QCfQRkA30FZAR9BnwCfQd0A3wAgwFEAF1IfQh8CGoEfQl8CGoFfQp8CXwGawJyWnwAagZ8ChkAfQdxNnwKfANrAnJ6fAl8BGsCc3J8CXwFawJyenwHAgABAFMAfAJ9B3E2ZAFTACkFYQ8CAABFeHRyYWN0IHRoZSBjb25zdGFudCB2YWx1ZSBvZiAnc3ltYm9sJyBmcm9tICdjb2RlJwoKICAgIElmIHRoZSBuYW1lICdzeW1ib2wnIGlzIGJvdW5kIHRvIGEgY29uc3RhbnQgdmFsdWUgYnkgdGhlIFB5dGhvbiBjb2RlCiAgICBvYmplY3QgJ2NvZGUnLCByZXR1cm4gdGhhdCB2YWx1ZS4gIElmICdzeW1ib2wnIGlzIGJvdW5kIHRvIGFuIGV4cHJlc3Npb24sCiAgICByZXR1cm4gJ2RlZmF1bHQnLiAgT3RoZXJ3aXNlLCByZXR1cm4gJ05vbmUnLgoKICAgIFJldHVybiB2YWx1ZSBpcyBiYXNlZCBvbiB0aGUgZmlyc3QgYXNzaWdubWVudCB0byAnc3ltYm9sJy4gICdzeW1ib2wnIG11c3QKICAgIGJlIGEgZ2xvYmFsLCBvciBhdCBsZWFzdCBhIG5vbi0iZmFzdCIgbG9jYWwgaW4gdGhlIGNvZGUgYmxvY2suICBUaGF0IGlzLAogICAgb25seSAnU1RPUkVfTkFNRScgYW5kICdTVE9SRV9HTE9CQUwnIG9wY29kZXMgYXJlIGNoZWNrZWQsIGFuZCAnc3ltYm9sJwogICAgbXVzdCBiZSBwcmVzZW50IGluICdjb2RlLmNvX25hbWVzJy4KICAgIE7pWgAAAOlhAAAA6WQAAAApB9oIY29fbmFtZXPaBGxpc3TaBWluZGV4cgQAAADaBm9wY29kZdoDYXJn2gljb19jb25zdHMpC3JDAAAAcj0AAAByIwAAAFoIbmFtZV9pZHjaClNUT1JFX05BTUXaDFNUT1JFX0dMT0JBTNoKTE9BRF9DT05TVNoFY29uc3RaCWJ5dGVfY29kZdoCb3BySwAAAHIYAAAAchgAAAByGQAAAHIMAAAAfQAAAHMeAAAAAAwKAgQCEAIEAQQBBAIEAgwBBgEGAggBDAEYAQgCcgwAAABjAAAAAAAAAAAAAAAAAgAAAAQAAABDAAAAcz4AAAB0AGoBoAJkAaEBcxp0AGoBZAJrA3IaZANTAGQEfQB8AEQAXRZ9AXQDgwB8AT0AdASgBXwBoQEBAHEiZANTACkFepUKICAgIFBhdGNoIHRoZSBnbG9iYWxzIHRvIHJlbW92ZSB0aGUgb2JqZWN0cyBub3QgYXZhaWxhYmxlIG9uIHNvbWUgcGxhdGZvcm1zLgoKICAgIFhYWCBpdCdkIGJlIGJldHRlciB0byB0ZXN0IGFzc2VydGlvbnMgYWJvdXQgYnl0ZWNvZGUgaW5zdGVhZC4KICAgINoEamF2YdoDY2xpTikCcgwAAAByCwAAACkG2gNzeXPaCHBsYXRmb3Jt2gpzdGFydHN3aXRo2gdnbG9iYWxz2gdfX2FsbF9f2gZyZW1vdmUpAloMaW5jb21wYXRpYmxlchMAAAByGAAAAHIYAAAAchkAAADaD191cGRhdGVfZ2xvYmFsc6EAAABzDAAAAAAHFgEEAQQBCAEIAXJaAAAAKQJyNAAAAE4pAXI0AAAAKRNyVAAAAHI4AAAAcjAAAABaEWRpc3R1dGlscy52ZXJzaW9ucgIAAABaCnB5MzNjb21wYXRyBAAAAHIJAAAAcgUAAAByBgAAAHIHAAAAcggAAAByDQAAAHJYAAAAcgoAAAByMwAAAHILAAAAcgwAAAByWgAAAHIYAAAAchgAAAByGAAAAHIZAAAA2gg8bW9kdWxlPgEAAABzGgAAAAgBCAEIAQwCDAIYAQwDCAUORAgLCh0KJAgP