IyMg5YmN6KiACuivpeaWh+eroOS4u+imgeaYr+aPj+WGmeWmguS9leS9v+eUqFB5dGhvbjPmnaXnvJblhpnnvZHnu5znm5HlkKzlt6XlhbfjgILmlofnq6DliIbkuLrkuKTkuKrpg6jliIbjgILpppblhYjvvIzlhYjnrKzkuIDpg6jliIbmnaXop6Por7TpnIDopoHkvb/nlKjnmoTku6PnoIHlip/og73kuI7kvb/nlKjvvIzkuLrkuoborqnkuI3lpKrnhp/mgolQeXRob24z6K+t6KiA55qE5pyL5Y+L6IO95aSf5pu05aW955qE6YCa6L+H6K+l5paH56ug5a2m5Lmg44CC5LmL5ZCO5Lya5bim6aKG5ZCE5L2N5p2l5pW05L2T57yW5YaZ572R57uc55uR5ZCs5bel5YW344CCCgojIyDnrKzkuIDpg6jliIbvvJoKMe+8m3N5cy5hcmd2W10K5oiR5Lus5oOz5oOz55yL77yM5bi46KeB5L2/55So5LiA5qy+5bel5YW355qE5pe25YCZ5piv5LiN5piv5omT5byA5piv6L+Z5qC355qE5qC85byP77ya4oCc5bel5YW35ZCN56ewIFvpgInpobldIFvovpPlhaXlhoXlrrld4oCdIOmCo+S5iOeOsOWcqOmXrumimOadpeS6huOAguaIkeS7rOi+k+WFpeeahOKAnFvovpPlhaXlhoXlrrld4oCd5piv5aaC5L2V6L+b5YWl5Yiw5oiR5Lus55qE5Luj56CB5b2T5Lit5ZGi77yf5Zyo5oiR5Lus55qEUHl0aG9u6K+t6KiA5Lit5L2/55So5Ye95pWwc3lzLmFyZ3ZbXeadpeiOt+WPluWRveS7pOihjOWPguaVsO+8iOS7jueoi+W6j+WklumDqOiOt+WPluWPguaVsO+8ieOAggoK44CA44CA5o6l5LiL5p2l5oiR5Lus5p2l5ryU56S65LiA5LiL77yM6K+l5Ye95pWw5aaC5L2V5L2/55So77yaCgrjgIDjgIDmiJHku6zmnaXnnIvnnIvkuIvpnaLku6PnoIHmiJHku6zlhYjkuobop6Pku6XkuIvku5bmmK/kuIDkuKrku4DkuYjnsbvnmoTmlbDmja7vvJoKIGBgYHB5dGhvbgoj5a+85YWlc3lz5bqTCmltcG9ydCBzeXMKI+afpeeci3N5cy5hcmd25piv5LuA5LmI5qC355qE5qC85byPCnByaW50KHR5cGUoc3lzLmFyZ3YpKQpgYGAK6L+Q6KGM5Luj56CB77yM5oiR5Lus5Y+R546w5a6D5piv5LiA5Liq5YiX6KGo77yaCmBgYHB5dGhvbgooU3R1ZHlpbmcpIGFhcm9uQE1pV2lGaS1SMy1zcnY6fi9QeWNoYXJtUHJvamVjdHMvU3R1ZHlpbmckIHB5dGhvbjMuNyB0ZXN0LnB5IHNkZgo8Y2xhc3MgJ2xpc3QnPgpgYGAK44CA44CA546w5Zyo5oiR5Lus55+l6YGT5LqGc3lzLmFyZ3bmmK/kuIDkuKrliJfooajmoLzlvI/nmoTmlbDmja7jgILpgqPkuYjvvIzmiJHku6zlpKfmpoLog73lpJ/nkIbop6PjgILmiJHku6zovpPlhaXnmoTlj4LmlbDlsIbkvJrku6XliJfooajnmoTlvaLlvI/kv53lrZjlnKjigJxzeXMuYXJnduKAneOAgumCo+S5iOaIkeS7rOWmguS9leaPkOWPluWtmOWFpeeahOWPguaVsOWRou+8n+eGn+aCieeahOaci+WPi+W3sue7j+S6huino+S6huOAguaOpeS4i+adpe+8jOaIkeS7rOadpemAmui/h+S7o+eggeadpeivtOaYjuS4gOS4i++8mgpgYGBweXRob24KI+WvvOWFpXN5c+W6kwppbXBvcnQgc3lzCiPovpPlh7rovpPlhaXlj4LmlbAKcHJpbnQoIui+k+WHuuesrOS4gOS4quWPguaVsO+8miVzIiAlIHN5cy5hcmd2WzBdKQpwcmludCgi6L6T5Ye656ys5LqM5Liq5Y+C5pWw77yaJXMiICUgc3lzLmFyZ3ZbMV0pCnByaW50KCLovpPlh7rnrKzkuInkuKrlj4LmlbDvvJolcyIgJSBzeXMuYXJndlsyXSkKcHJpbnQoIui+k+WHuuesrOWbm+S4quWPguaVsO+8miVzIiAlIHN5cy5hcmd2WzNdKQpgYGAK6L+Q6KGM5Luj56CB5oiR5Lus5Y+R546wc3lzLmFyZ3ZbMF3ooajnpLrnmoTmmK/mlofku7bmnKzouqvvvIxzeXMuYXJndlsxXSDlvIDlp4vmmK/miJHku6zovpPlhaXnmoTnrKzkuIDkvY3lj4LmlbAKYGBgcHl0aG9uCihTdHVkeWluZykgYWFyb25ATWlXaUZpLVIzLXNydjp+L1B5Y2hhcm1Qcm9qZWN0cy9TdHVkeWluZyQgcHl0aG9uMy43IHRlc3QucHkg5Y+C5pWwMSDlj4LmlbAyIOWPguaVsDMK6L6T5Ye656ys5LiA5Liq5Y+C5pWw77yadGVzdC5weQrovpPlh7rnrKzkuozkuKrlj4LmlbDvvJrlj4LmlbAxCui+k+WHuuesrOS4ieS4quWPguaVsO+8muWPguaVsDIK6L6T5Ye656ys5Zub5Liq5Y+C5pWw77ya5Y+C5pWwMwooU3R1ZHlpbmcpIGFhcm9uQE1pV2lGaS1SMy1zcnY6fi9QeWNoYXJtUHJvamVjdHMvU3R1ZHlpbmckIApgYGAK44CA44CAMu+8m2dldG9wdC5nZXRvcHQK44CA44CA546w5Zyo77yM5oiR5Lus5bey57uP5LqG6Kej5LqG5aaC5L2V5bCG5aSW6YOo55qE5Y+C5pWw6K+75Y+W5Lul5YiX6KGo55qE5b2i5byP5L+d5a2Y5LiL5p2l44CC5oiR5Lus5p2l5oOz5oOz55yL5Zyo5oiR5Lus6L6T5YWl55qE5Y+C5pWw5b2T5Lit5pyJ6YCJ6aG56Zi/77yM6YKj6K+l5oCO5LmI5aSE55CG5ZGi44CC5oiR5Lus5Y+v5Lul5oWi5oWi5o+Q5Y+W5Ye65p2l44CC6YKj6L+Z5qC35piv5ZCm6L+H5LqO57mB55CQ5ZGi44CC5rKh5pyJ5pyJ5LiA56eN5pa55rOV6IO95aSf5biu5oiR5Lus5aSE55CG6L+Z5Liq6Zeu6aKY5ZGi44CC562U5qGI5piv5pyJ55qE44CC5LiL6Z2i5oiR5Lus5p2l55yL55yLZ2V0b3B0LmdldG9wdCgp5pa55rOV44CCCuOAgOOAgOaIkeS7rOWFiOS6huino+S4gOS4i2dldG9wdC5nZXRvcHQoKeaWueazleeahOivreazle+8mgpgYGBweXRob24KZ2V0b3B0LmdldG9wdChhcmdzLG9wdGlvbnNbLGxvbmdfb3B0aW9uc10pCmBgYArjgIDlj4LmlbDor7TmmI7vvJoKCmFyZ3M6IOihqOekuumcgOimgeino+aekOeahOWRveS7pOihjOWIl+ihqApvcHRpb25z77ya5a2X56ym5Liy5qC85byP5a6a5LmJ44CC77yI5aaC5p6c6YCJ6aG55pyJ5YaS5Y+35YiZ6KGo56S66K+l6YCJ6aG55ZCO6Z2i5pyJ5Y+C5pWw77yJCmxvbmdfb3B0aW9uc++8muWIl+ihqOagvOW8j+WumuS5ieOAgu+8iOWmguaenGxvbmdfb3B0aW9uIOmAiemhueacieKAnD3igJ0g5YiZ6KGo56S66YCJ6aG55ZCO6Z2i5pyJ5Y+C5pWw77yJCuOAgOOAgOeOsOWcqOaIkeS7rOW3sue7j+efpemBk+S6huivpeaWueazleeahOS9v+eUqO+8jOS4i+mdouaIkeS7rOadpeeUqOS7o+eggeaEn+WPl+S4gOS4i+ivpeaWueazleeahOS9v+eUqApgYGBweXRob24KI+WvvOWFpXN5c+W6kwppbXBvcnQgc3lzCmltcG9ydCBnZXRvcHQKCiPovpPlh7rovpPlhaXlj4LmlbAKYSA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCd0OnA6JyxbInRhcmdldD0iLCJwb3J0PSJdKQoKcHJpbnQoYSkKYGBgCuaIkeS7rOadpeWwneivlei/kOihjOS4gOS4i+S7o+egge+8jOaIkeS7rOWPkeeOsOi+k+WFpeeahO+8iOmAiemhueWSjOWRveS7pOWPguaVsO+8ieaYr+S7peWFg+e7hOeahOaVsOaNruagvOW8j+adpeS/neWtmOeahOOAggpgYGBweXRob24KKFN0dWR5aW5nKSBhYXJvbkBNaVdpRmktUjMtc3J2On4vUHljaGFybVByb2plY3RzL1N0dWR5aW5nJCBweXRob24zLjcgdGVzdC5weSAtdCAxOTIuMTY4LjEuMSAtcCA4MAooWygnLXQnLCAnMTkyLjE2OC4xLjEnKSwgKCctcCcsICc4MCcpXSwgW10pCihTdHVkeWluZykgYWFyb25ATWlXaUZpLVIzLXNydjp+L1B5Y2hhcm1Qcm9qZWN0cy9TdHVkeWluZyQgcHl0aG9uMy43IHRlc3QucHkgLS10YXJnZXQgMTkyLjE2OC4xLjEgLS1wb3J0IDgwCihbKCctLXRhcmdldCcsICcxOTIuMTY4LjEuMScpLCAoJy0tcG9ydCcsICc4MCcpXSwgW10pCihTdHVkeWluZykgYWFyb25ATWlXaUZpLVIzLXNydjp+L1B5Y2hhcm1Qcm9qZWN0cy9TdHVkeWluZyQKYGBgCuOAgOOAgDPvvJtzb2NrZXQKCuOAgOOAgOaIkeS7rOmDveefpemBk++8jOaIkeS7rOmcgOimgee8luWGmeeahOS7o+eggeaYr+mcgOimgemAmui/h+e9kee7nOadpeS8oOi+k+aVsOaNrueahO+8jOmCo+S5iOaIkeS7rOWmguS9lemAmui/h1B5dGhvbjPmnaXlpITnkIbov5nkuKrpl67popjlkaLjgILov5nph4zmiJHku6zpnIDopoHkvb/nlKhzb2NrZXTmqKHlnZfjgILmjqXkuIvmnaXvvIzmiJHku6zmnaXph43ngrnlhbPms6jkuIDkuIvor6XmqKHlnZfvvJoKCuOAgOOAgOWcqOi/meS5i+WJje+8jOaIkeS7rOeOsOS6huino+S4gOS4i+KAnOWll+aOpeWtl++8iHNvY2tldO+8ieKAneOAguaJgOiwk+eahOKAnOWll+aOpeWtl+KAneaYr+S4gOenjeiuoeeul+acuue9kee7nOaVsOaNrue7k+aehO+8jOS7u+S9leexu+Wei+eahOmAmuiur+W8gOWni+S5i+WJjeaYr+S4gOWumuimgeWIm+W7uuWll+aOpeWtl+OAguWll+aOpeWtl+S4u+imgeaYr+WIhuS4uuS4pOS4qumDqOWIhu+8muWfuuS6juaWh+S7tuWSjOmdouWQkee9kee7nOOAguS4i+mdouaIkeS7rOeJueWIq+ivtOaYjumdouWQkee9kee7nOeahOWll+aOpeWtl+OAguaIkeS7rOefpemBk+WcqOe9kee7nOW9k+S4re+8jOaciVRDUOi/nuaOpeWSjFVEUOmTvuaOpeOAgumdouWvueS4pOenjeS4jeWQjOeahOaWueW8j++8jOaIkeS7rOW9k+eEtumcgOimgeS4jeWQjOeahOWll+aOpeWtl+OAggotIFRDUC9JUOWll+aOpeWtlwpgYGBweXRob24KdGNwU29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQpgYGAKLSBVRFAvSVDlpZfmjqXlrZcKYGBgcHl0aG9uCnVkcFNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX0RHUkFNKQpgYGAK5aWX5o6l5a2X5Yib5bu65a6M5oiQ5LmL5ZCO77yM5oiR5Lus5Y+v5Lul5Yip55So5aWX5o6l5a2X5b2T5Lit55qE5pa55rOV5p2l6L+b6KGM5Y+R6YCB5pWw5o2u77yM55uR5ZCs77yM5o6l5pS25pWw5o2u77ya6K+m57uG5pa55rOV5aaC5LiL5Zu+77yaCgohW10oaHR0cHM6Ly9uYzAuY2RuLnprYXEuY24vbWQvMjg4OC9iZmE4ZjEzNzY4NjhkOTE1MGE2MTM2MDg2YTEwYmFmOF81NDczOS5wbmcpCiFbXShodHRwczovL25jMC5jZG4uemthcS5jbi9tZC8yODg4L2VmMjhlMDk3N2QyNzU3OTA3MjRjY2ZiNGJmOTJhNzUwXzI4OTQxLnBuZykKCiDjgIDjgIA077ybc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoKQoK44CA44CA5pa55rOV55qE5L2c55So5piv5omn6KGM5oyH5a6a5ZG95Luk44CCCgrjgIDjgIDmjqXkuIvmnaXvvIzmiJHku6zmnaXnlKjlrp7kvovmnaXnnIvkuIDkuIvmlYjmnpzvvJrlvojmmI7mmL7vvIzmiJHku6znmoTlkb3ku6TigJxkZiAtaOKAneW3sue7j+iiq+aJp+ihjOOAggpgYGBweXRob24KPj4+IGltcG9ydCBzdWJwcm9jZXNzCj4+PiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiZGYgLWgiLHNoZWxsPVRydWUpCmInXHhlNlx4OTZceDg3XHhlNFx4YmJceGI2XHhlN1x4YjNceGJiXHhlN1x4YmJceDlmIFx4ZTVceGFlXHhiOVx4ZTlceDg3XHg4ZiBceGU1XHhiN1x4YjJceGU3XHg5NFx4YTggXHhlNVx4OGZceGFmXHhlN1x4OTRceGE4IFx4ZTVceGI3XHhiMlx4ZTdceDk0XHhhOCUgXHhlNlx4OGNceDgyXHhlOFx4YmRceGJkXHhlN1x4ODJceGI5XG51ZGV2IDMuOUcgMCAzLjlHIDAlIC9kZXZcbnRtcGZzIDc5NE0gMS41TSA3OTNNIDElIC9ydW5cbi9kZXYvc2RhMSAxMTBHIDU4RyA0N0cgNTYlIC9cbnRtcGZzIDMuOUcgNzVNIDMuOUcgMiUgL2Rldi9zaG1cbnRtcGZzIDUuME0gMCA1LjBNIDAlIC9ydW4vbG9ja1xudG1wZnMgMy45RyAwIDMuOUcgMCUgL3N5cy9mcy9jZ3JvdXBcbnRtcGZzIDc5NE0gOC4wSyA3OTRNIDElIC9ydW4vdXNlci8xMDAwXG4nCj4+PiAKYGBgCiMjIOesrOS6jOmDqOWIhu+8mgrjgIDjgIDlpb3kuobvvIznrKzkuIDpg6jliIbmiJHku6zlt7Lnu4/or7TmmI7kuobnvJblhpnor6Xlt6XlhbfnnYDph43pnIDopoHms6jmhI/nmoTngrnjgILpgqPkuYjmjqXkuIvmnaXmiJHku6zmnaXmraPlvI/ov5vlhaXnvJblhpnnqIvluo/nmoTpmLbmrrUKCuOAgOOAgDHvvJvmiJHku6zlhYjor5Xmg7PkuIDkuIvvvIzmiJHku6znmoRuZXRjYXQg6K+l5pyJ5LuA5LmI5qC355qE5Yqf6IO95ZGi77yf5paH5Lu25LiK5Lyg77yM5omn6KGM5ZG95Luk77yMc2hlbGzvvIznm5HlkKzlr7nlkKfjgILmmK/kuI3mmK/ov5jpnIDopoHorr7lrprnm67moIflnLDlnYDlkaLvvJ/ov5jpnIDopoHorr7lrprnq6/lj6PmmK/miorjgILlpb3nmoTvvIzpgqPmjqXkuIvmnaXvvIzmiJHku6zlho3mnaXmg7Pmg7PjgILor6XlpoLkvZXljrvlgZrmmK/kuI3mmK/miJHku6zoh6rlt7HpgInmi6nnmoTjgILmiafooYzlkb3ku6TmmK/kuI3mmK/miJHku6zmnaXovpPlhaXlkb3ku6TlkaLvvJ/lpb3nmoTjgILmg7PliLDov5nlhL/vvIzlvojmmI7mmL7kuobjgILmiJHku6zpnIDopoHnlKjliLDnrKzkuIDpg6jliIZzeXMuYXJndltdIOWSjCBnZXRvcHQuZ2V0b3B0KCkg5Lik5Liq55+l6K+G54K55ZGi77yf6YKj5LmI5o6l5LiL5p2l5oiR5Lus55yL5Luj56CB77yaCgrjgIDjgIAxLjEg77yb6aaW5YWI5oiR5Lus5a6a5LmJ5LiA5Lqb5Y+Y6YeP77yM6L+Z5Lqb5Y+Y6YeP5bCx5piv55So5p2l5Yy65YiG5LiN5ZCM55qE6YCJ6aG555qE44CC5LiN5piO55m955qE5Y+v5Lul56iN5YCZ57un57ut55yL5LiL5Y6777yaCmBgYHB5dGhvbgoj5a6a5LmJ5YWo5bGA5Y+Y6YePCmxpc3RlbiA9IEZhbHNlCmNvbW1hbmQgPSBGYWxzZQp1cGxvYWQgPSBGYWxzZQpleGVjdXRlID0gIiIKdGFyZ2V0ID0gIiIKdXBsb2FkX2Rlc3RpbmF0aW9uID0gIiIKcG9ydCA9IDAKYGBgCuOAgOOAgDEuMu+8m+i/meS6m+WPmOmHj+WlveS6hu+8jOmCo+S5iOaIkeS7rOmcgOimgeiAg+iZkeeahOaYr+WmguS9leWwhuWklumDqOWPguaVsOS4iuS8oOWIsOWGhemDqOOAguivpue7hu+8jOaIkeS7rOeci+S4i+mdouS7o+egge+8mgpgYGBweXRob24Kb3B0cyxhcmdzID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sImhsZTp0OnA6Y3U6IixbImhlbHAiLCJsaXN0ZW4iLCJleGVjdXRlIiwidGFyZ2V0IiwicG9ydCIsImNvbW1hbmQiLCJ1cGxvYWQiXSkKYGBgCuOAgOOAgOaIkeS7rOmAmui/h3N5cy5hcmd25bCG5aSW6YOo5Y+C5pWw6YCB6L+b5p2l5bm25LiU6YCa6L+HZ2V0b3B0LmdldG9wdCgp5p2l5pW055CG6L+Z5Lqb6L6T5YWl55qE5Y+C5pWw44CC77yI5rOo5oSP77yM5Y+Y6YePb3B0cyDnlKjmnaXlrZjlgqjlrprkuYnnmoTlj4LmlbDvvIzlj5jph49hcmdz55So5p2l5a2Y5YKo6aKd5aSW55qE5Y+C5pWw77yJCgrjgIDjgIAxLjPvvJvpgJrov4fkuIrpnaLnmoTku6PnoIHvvIzmiJHku6zlt7Lnu4/og73lpJ/lsIblpJbpg6jlj4LmlbDlt7LlhYPnu4TnmoTlvaLlvI/kv53lrZjlnKjlj5jph49vcHRzIOW9k+S4reS6huOAgumCo+S5iO+8jOaIkeS7rOWmguS9leWwhuaVsOaNruS/neWtmOS4i+adpeW5tuS4lOS9v+eUqOWRouOAguaIkeS7rOmDveefpemBk+S4jeWQjOeahOmAiemhueS7o+ihqOS4jeWQjOeahOWKn+iDveOAgumCo+S5iO+8jOWPmOmHj29wdHPlvZPkuK3lrZjlnKjku4DkuYjpgInpobnlsLHku6PooajnlKjmiLfmg7PopoHmiafooYzku4DkuYjmoLfnmoTlip/og73lr7nkuI3lr7nvvJ/pgqPkuYjlpoLkvZXnoa7lrprlkaLvvJ/lj6/ku6XpgJrov4dmb3Ig5b6q546v5p2l6YCQ5q2l5o+Q5Y+W5Ye65p2l6L+b6KGM5a+55q+U44CC5bCx5Y+v5Lul5Y+R546wb3B0c+WPmOmHj+S4reeahOmAiemhueS6huOAguWlveeahO+8jOaDs+azleW3sue7j+acieS6huOAguS4i+mdouaIkeS7rOiQveWunuWIsOS7o+eggeS4iumdou+8mgpgYGBweXRob24KIGZvciBvLGEgaW4gb3B0czoKIGlmIG8gaW4gKCItaCIsIi0taGVscCIpOgogdXNhZ2UoKQogZWxpZiBvIGluICgiLWwiLCItLWxpc3RlbiIpOgogbGlzdGVuID0gVHJ1ZQogZWxpZiBvIGluICgiLWUiLCItLWV4ZWN1dGUiKToKIGV4ZWN1dGUgPWEKIGVsaWYgbyBpbiAoIi1jIiwiLS1jb21tYW5kc2hlbGwiKToKIGNvbW1hbmQgPSBUcnVlCiBlbGlmIG8gaW4gKCItdSIsIi0tdXBsb2FkIik6CiB1cGxvYWRfZGVzdGluYXRpb24gPSBhCiBlbGlmIG8gaW4gKCItdCIsIi0tdGFyZ2V0Iik6CiB0YXJnZXQgPSBhCiBlbGlmIG8gaW4gKCItcCIsIi0tcG9ydCIpOgogcG9ydCA9IGludChhKQogZWxzZToKIGFzc2VydCBGYWxzZSAsICJVbmhhbmRsZWQgT3B0aW9uIgpgYGAK44CA44CA5LiK6Z2i5Luj56CB5Y+v5Lul6YGN5Y6G5Y+Y6YeP5b2T5Litb3B0c+S4reeahOWAvOW5tuS4lOWIhuWIq+aUvuWFpeWIsOWPmOmHj+KAnG/igJ3vvIzigJxh4oCdIOOAguWcqOW+queOr+S4re+8jOmAmui/h2lm6K+t5Y+l5a+55q+UaW7or63lj6XlvZPkuK3nmoTlhoXlrrnvvIzlr7nmr5TmiJDlip/liJnmiafooYzlr7nlupTnmoTmk43kvZzjgIIKCuOAgOOAgDLvvJvnjrDlnKjmiJHku6zlt7Lnu4/miJDlip/nmoTlrozmiJDkuobovpPlhaXkuI3lkIzpgInpobnlr7nlupTkuobkuI3lkIznmoTlip/og73jgILpgqPkuYjkuIvpnaLmiJHku6zlvIDlp4vooaXlhajov5nkupvlip/og73jgIIKCuOAgOOAgDIuMe+8m3VzYWdlKCkg5Yqf6IO9CgrjgIDjgIDov5nph4zmiJHku6zpgJrov4flhbPplK7lrZdkZWbmnaXlrprkuYnkuIDkuKrlip/og73lh73mlbDvvIzor6Xlip/og73lh73mlbDkuLvopoHmmK/pgInpobnigJwtaOKAneS4i+eahOWKn+iDve+8jOeUqOadpeaPkOekuuWmguS9leS9v+eUqOivpeS7o+eggeOAggpgYGBweXRob24KZGVmIHVzYWdlKCk6CiBwcmludCgiQkhQIE5ldCBUb29sIikKIHByaW50KCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpCiBwcmludCgiVXNhZ2U6IG5ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgdGFyZ2V0X2hvc3QgLXAgcG9ydCAiKQogcHJpbnQoIi1sIC0tbGlzdGVuIC1saXN0ZW4gb24gW2hvc3RdOltwb3J0XSBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMiKQogcHJpbnQoIi1lIC0tZXhlY3V0ZT1maWxlX3RvX3J1biAtIGV4ZWN1dGUgdGhlIGdpdmVuIGZpbGUgdXBvbiByZWNlaXZpbmcgYSBjb25uZWN0aW9uIikKIHByaW50KCItYyAtLWNvbW1hbmQgLSBpbml0aWFsaXplIGEgY29tbWFuZCBzaGVsbCIpCiBwcmludCgiLXUgLS11cGxvYWQ9ZGVzdGluYXRpb24gLSB1cG9uIHJlY2VpdmluZyBjb25uZWN0aW9uIHVwbG9hZCBhIGZpbGUgYW5kIHdyaXRlIHRvIFtkZXN0aW5hdGlvbl0iKQogcHJpbnQoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIikKIHByaW50KCJFeGFtcGxlczogIikKIHByaW50KCJuZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDU1NTUgLWwgLWMiKQogcHJpbnQoIm5ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgMTkyLjE2OC4xLjEgLXAgNTU1NSAtbCAtdT1jOlxcdGFyZ2V0LmV4ZSIpCiBwcmludCgibmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCAxOTIuMTY4LjEuMSAtcCA1NTU1IC1sIC1lPVwiY2F0IC9ldGMvcGFzc3dkXCIiKQogcHJpbnQoImVjaG8gJ3NkZnNkZicgfCAuL25ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgMTkyLjE2OC4xLjEgLXAgMTIzIikKIHN5cy5leGl0KDApCmBgYArjgIDjgIAyLjLvvJtydW5fY29tbWFuZCgpCgrjgIDjgIDku6PnoIHlip/og73lvZPkuK3pnIDopoHmiafooYzlkb3ku6TvvIzpgqPkuYjmiJHku6zpnIDopoHlrprkuYnkuIDkuKrmiafooYzlkb3ku6TnmoTlh73mlbDvvIzku6PnoIHlpoLkuIvvvJoKYGBgcHl0aG9uCmRlZiBydW5fY29tbWFuZChjb21tYW5kKToKICPmjaLooYwKIGNvbW1hbmQgPSBjb21tYW5kLnJzdHJpcCgpCgogI+i/kOihjOWRveS7pOW5tuWwhui+k+WHuui/lOWbngogdHJ5Ogogb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY29tbWFuZCxzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsc2hlbGw9VHJ1ZSkKIGV4Y2VwdDoKIG91dHB1dCA9ICJGYWlsZWQgdG8gZXhlY3V0ZSBjb21tYW5kLlxyXG4iCgogI+Wwhui+k+WHuuWPkemAgQogcmV0dXJuIG91dHB1dApgYGAKCuOAgOOAgO+8iOS7o+eggeino+mHiu+8muaVsOaNrueUseWPguaVsGNvbW1hbmTov5vlhaXliLDlh73mlbDlhoXpg6jvvIzpppblhYjnu4/ov4fmlrnms5Vyc3RyaXAoKSDlpITnkIbmlbDmja7nu5PlsL7nmoTnqbrmoLznrKblj7fvvIzkuYvlkI7mnInmlrnms5VzdWJwcm9jZXNzLmNoZWNrX291dHB1dOadpeaJp+ihjOWRveWQje+8jOacgOWQjui/lOWbnuaJp+ihjOeahOe7k+aenG91dHB1dOOAgu+8iQoK44CA44CAMi4z77ybc2VydmVyX2xvb3AoKQoK44CA44CA55uR5ZCs5Yqf6IO95piv5b+F6KaB55qE77yM5LiL6Z2i5oiR5Lus5YaN5p2l5re75Yqg5LiA5LiL55uR5ZCs5Yqf6IO955qE5Ye95pWw77yM6K+m57uG5aaC5LiL5Luj56CB77yaCmBgYHB5dGhvbgpkZWYgc2VydmVyX2xvb3AoKToKIGdsb2JhbCB0YXJnZXQKCiAj5aaC5p6c5rKh5pyJ5a6a5LmJ55uu5qCH77yM6YKj5LmI5oiR5Lus55uR5ZCs5omA5pyJ5o6l5Y+jCiBpZiBub3QgbGVuKHRhcmdldCk6CiB0YXJnZXQgPSAiMC4wLjAuMCIKCiBzZXJ2ZXIgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKIHNlcnZlci5iaW5kKCh0YXJnZXQscG9ydCkpCgogc2VydmVyLmxpc3Rlbig1KQoKIHdoaWxlIFRydWU6CiBjbGllbnRfc29ja2V0LGFkZHIgPSBzZXJ2ZXIuYWNjZXB0KCkKICPliIbmi4bkuIDkuKrnur/nqIvlpITnkIbmlrDnmoTlrqLmiLfnq68KIGNsaWVudF90aHJlYWQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1jbGllbnRfc2VuZGVyLGFyZ3M9KGNsaWVudF9zb2NrZXQpKQogY2xpZW50X3RocmVhZC5zdGFydCgpCmBgYArjgIDjgIDvvIjku6PnoIHop6PmnpDvvJrov5nph4zmiJHku6zpgJrov4flhajlsYDlj5jph490YXJnZXQg5p2l56Gu5a6a55uR5ZCs55qE5Zyw5Z2A77yM6L+Z6YeM6ZyA6KaB5Yib5bu65LiA5LiqVENQL0lQ5aWX5o6l5a2X44CC5Yib5bu65a6M5oiQ5LmL5ZCO5L2/55So5pa55rOVYmluZOadpee7keWumuerr+WPo+WcsOWdgO+8jOWQr+WKqOebkeWQrOWKn+iDveOAguiuvuWumuS4gOS4quatu+W+queOr++8jOW5tuS4lOWQr+WKqOiiq+WKqOmTvuaOpeaWueazlWFjY2VwdOOAguS4gOaXpumTvuaOpeaJp+ihjOWHveaVsGNsaWVudF9zZW5kZXIg77yJCgrjgIDjgIDms6jmhI/vvJpjbGllbnRfc2VuZGVyIOWHveaVsOiHquWumuS5ieWHveaVsOOAguS4u+imgeWKn+iDveaYr+WPkemAgeaVsOaNruOAggoK44CA44CAMi4077ybY2xpZW50X3NlbmRlcigpCgrjgIDjgIDmiJHku6zpnIDopoHkuIDkuKrlj5HpgIHmlbDmja7nmoTlip/og73vvIzpgqPkuYjmiJHku6zmnaXoh6rlrprkuYnkuIDkuKrvvIzor6bnu4blpoLkuIvpnaLku6PnoIHvvJoKYGBgcHl0aG9uCmRlZiBjbGllbnRfc2VuZGVyKGJ1ZmZlcik6CiBjbGllbnQgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKCiB0cnk6CiAj6ZO+5o6l55uu5qCH5Li75py6CiBjbGllbnQuY29ubmVjdCgodGFyZ2V0LHBvcnQpKQoKIGlmIGxlbihidWZmZXIpOgogY2xpZW50LnNlbmQoYnVmZmVyKQoKIHdoaWxlIFRydWU6CiAj546w5Zyo562J5b6F5pWw5o2u5Zue5LygCiByZWN2X2xlbiA9IDEKIHJlc3BvbnNlID0gIiIKCiB3aGlsZSByZWN2X2xlbjoKIGRhdGEgPSBjbGllbnQucmVjdig0MDk2KQogcmVjdl9sZW4gPSBsZW4oZGF0YSkKIHJlc3BvbnNlICs9IGRhdGEKCiBpZiByZWN2X2xlbiA8IDQwOTY6CiBicmVhawoKIHByaW50KHJlc3BvbnNlKQoKICPnrYnlvoXmm7TlpJrnmoTovpPlhaUKIGJ1ZmZlciA9IGlucHV0KCIiKQogYnVmZmVyICs9ICJcbiIKCiAj5Y+R6YCB5Ye65Y67CiBjbGllbnQuc2VuZChidWZmZXIpCgogZXhjZXB0OgogcHJpbnQoIlsqXSBFeGNlcHRpb24hIEV4aXRpbmcuIikKICPlhbPpl63pk77mjqUKIGNsaWVudC5jbG9zZSgpCmBgYArjgIDjgIAyLjXvvJtjbGllbnRfaGFuZGxlcigpCgrjgIDjgIDjgIDnjrDlnKjmiJHku6zmnaXlrozlloTkuIDkuIvkuIrkvKDmlofku7blip/og73vvIzmiafooYzlkb3ku6TvvIxzaGVsbCDlip/og73jgILor6bnu4blpoLkuIvku6PnoIHvvJoKYGBgcHl0aG9uCmRlZiBjbGllbnRfaGFuZGxlcihjbGllbnRfc29ja2V0KToKIGdsb2JhbCB1cGxvYWQKIGdsb2JhbCBleGVjdXRlCiBnbG9iYWwgY29tbWFuZAoKICPmo4DmtYvkuIrkvKDmlofku7YKIGlmIGxlbih1cGxvYWRfZGVzdGluYXRpb24pOgogI+ivu+WPluaJgOacieeahOWtl+espuW5tuWGmeS4i+ebruaghwogZmlsZV9idWZmZXIgPSAiIgogI+aMgee7reivu+WPluaVsOaNruefpemBk+ayoeacieespuWQiOeahOaVsOaNrgogd2hpbGUgVHJ1ZToKIGRhdGEgPSBjbGllbnRfc29ja2V0LnJlY3YoMTAyNCkKCiBpZiBub3QgZGF0YToKIGJyZWFrCiBlbHNlOgogZmlsZV9idWZmZXIgKz0gZGF0YQoKICMj546w5Zyo5oiR5Lus5o6l5pS26L+Z5Lqb5pWw5o2u5bm25bCG5LuW5Lus5YaZ5Ye65p2lCiB0cnk6CiBmaWxlX2Rlc2NyaXB0b3IgPSBvcGVuKHVwbG9hZF9kZXN0aW5hdGlvbiwid2IiKQogZmlsZV9kZXNjcmlwdG9yLndyaXRlKGZpbGVfYnVmZmVyKQogZmlsZV9kZXNjcmlwdG9yLmNsb3NlKCkKCiAj56Gu6K6k5paH5Lu25bey57uP5YaZ5Ye65p2lCiBjbGllbnRfc29ja2V0LnNlbmQoIlN1Y2Nlc3NmdWxseSBzYXZlZCBmaWxlIHRvICVzXHJcbiIgJSB1cGxvYWRfZGVzdGluYXRpb24pCiBleGNlcHQ6CiBjbGllbnRfc29ja2V0LnNlbmQoIkZhaWxlZCB0byBzYXZlIGZpbGUgdG8gJXNcclxuIiAlIHVwbG9hZF9kZXN0aW5hdGlvbikKCgogI+ajgOafpeWRveS7pOaJp+ihjAogaWYgbGVuKGV4ZWN1dGUpOgogI+i/kOihjOWRveS7pAogb3V0cHV0ID0gcnVuX2NvbW1hbmQoZXhlY3V0ZSkKCiBjbGllbnRfc29ja2V0LnNlbmQob3V0cHV0KQoKICPlpoLmnpzpnIDopoHkuIDkuKrlkb3ku6TooYxzaGVsbCzpgqPkuYjmiJHku6zov5vlhaXlj6bkuIDkuKrlvqrnjq8KIGlmIGNvbW1hbmQ6CiB3aGlsZSBUcnVlOgogI+i3s+WHuuS4gOS4queql+WPowogY2xpZW50X3NvY2tldC5zZW5kKCI8QkhQOiM+ICIpCgogI+eOsOWcqOaIkeS7rOaOpeaUtuaWh+S7tuebtOWIsOWPkeeOsOaNouihjOespu+8iGVudGVyIGtlee+8iQogY21kX2J1ZmZlciA9ICIiCiB3aGlsZSAiXG4iIG5vdCBpbiBjbWRfYnVmZmVyOgogY21kX2J1ZmZlciArPSBjbGllbnRfc29ja2V0LnJlY3YoMTAyNCkKCiAj6L+U6L+Y5ZG95Luk6L6T5Ye6CiByZXNwb25zZSA9IHJ1bl9jb21tYW5kKGNtZF9idWZmZXIpCgogI+i/lOWbnuWTjeW6lOaVsOaNrgogY2xpZW50X3NvY2tldC5zZW5kKHJlc3BvbnNlKQpgYGAK44CA44CAMi4277yb546w5Zyo5oiR5Lus55qE56ev5pyo5bey57uP6YO95pyJ5LqG77yI5oiR5Zac5qyi5bCG5Luj56CB56iL5bqP5q+U5L2c56ev5pyo77yM5LiN5ZCM55qE56ev5pyo5pyJ5LiN5ZCM55qE5b2i54q277yM5LiN5ZCM55qE5Yqf6IO977yJ77yM6YKj5LmI5oiR5Lus546w5Zyo5p2l57uE5bu65LiA5LiL44CCCgrjgIDjgIDlpJbpg6jnqIvluo/lj4LmlbDov5vlhaXnmoTml7blgJnvvIzmiJHku6zmnaXliKTmlq3kuIDkuIvvvIzlpoLmnpzmnaHku7ZsaXN0ZW7kuI3mu6HotrPvvIwgdGFyZ2V0IHBvcnQg6YO95pyJ77yM5oiR5Lus5bCx5Y+v5Lul5a6e6KGM5Y+R6YCB5pWw5o2u5Yqf6IO944CC5aaC5p6cbGlzdGVu5ZCv5Yqo77yM6YKj5LmI5oiR5Lus5byA5ZCv55uR5ZCs55qE5Yqf6IO944CC546w5Zyo5oCd6Lev5pyJ5LqG44CC6YKj5LmI5oiR5Lus5p2l5YaZ5LiL6L+Z5Liy5Luj56CB77yaCmBgYHB5dGhvbgogIyDmiJHku6zmmK/ov5vooYznm5HlkKzov5jmmK/ku4Xku47moIflh4bovpPlhaXlj5HpgIHmlbDmja7vvJ8KIGlmIG5vdCBsaXN0ZW4gYW5kIGxlbih0YXJnZXQpIGFuZCBwb3J0ID4gMDoKICPku47lkb3ku6TooYzor7vlj5blhoXlrZjmlbDmja4KICPov5nph4zlsIbpmLvloZ7vvIzmiYDku6XkuI3lnKjmoIflh4bovpPlhaXlj5HpgIHmlbDmja7ml7blj5HpgIFDVFJMLUQKIGJ1ZmZlciA9IHN5cy5zdGRpbi5yZWFkKCkKCiAj5Y+R6YCB5pWw5o2uCiBjbGllbnRfc2VuZGVyKGJ1ZmZlcikKCiAj5oiR5Lus5byA5aeL55uR5ZCs5bm25YeG5aSH5LiK5Lyg5paH5Lu277yM5omn6KGM5ZG95LukCiAj5pS+572u5LiA5Liq5Y+N5by5c2hlbGwKICPlj5blhrPkuo7kuIrpnaLnmoTlkb3ku6TooYzpgInpobkKIGlmIGxpc3RlbjoKIHNlcnZlcl9sb29wKCkKYGBgCuOAgOOAgDPvvJvnjrDlnKjmiJHku6zlsIbku6PnoIHlrozmlbTnmoTlsZXnjrDkuIDkuIvvvJoKYGBgcHl0aG9uCmltcG9ydCBzeXMKaW1wb3J0IHNvY2tldAppbXBvcnQgZ2V0b3B0CmltcG9ydCB0aHJlYWRpbmcKaW1wb3J0IHN1YnByb2Nlc3MKCiPlrprkuYnlhajlsYDlj5jph48KbGlzdGVuID0gRmFsc2UKY29tbWFuZCA9IEZhbHNlCnVwbG9hZCA9IEZhbHNlCmV4ZWN1dGUgPSAiIgp0YXJnZXQgPSAiIgp1cGxvYWRfZGVzdGluYXRpb24gPSAiIgpwb3J0ID0gMAoKZGVmIHVzYWdlKCk6CiBwcmludCgiQkhQIE5ldCBUb29sIikKIHByaW50KCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpCiBwcmludCgiVXNhZ2U6IG5ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgdGFyZ2V0X2hvc3QgLXAgcG9ydCAiKQogcHJpbnQoIi1sIC0tbGlzdGVuIC1saXN0ZW4gb24gW2hvc3RdOltwb3J0XSBmb3IgaW5jb21pbmcgY29ubmVjdGlvbnMiKQogcHJpbnQoIi1lIC0tZXhlY3V0ZT1maWxlX3RvX3J1biAtIGV4ZWN1dGUgdGhlIGdpdmVuIGZpbGUgdXBvbiByZWNlaXZpbmcgYSBjb25uZWN0aW9uIikKIHByaW50KCItYyAtLWNvbW1hbmQgLSBpbml0aWFsaXplIGEgY29tbWFuZCBzaGVsbCIpCiBwcmludCgiLXUgLS11cGxvYWQ9ZGVzdGluYXRpb24gLSB1cG9uIHJlY2VpdmluZyBjb25uZWN0aW9uIHVwbG9hZCBhIGZpbGUgYW5kIHdyaXRlIHRvIFtkZXN0aW5hdGlvbl0iKQogcHJpbnQoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIikKIHByaW50KCJFeGFtcGxlczogIikKIHByaW50KCJuZXRjYXRfcHl0aG9uX3N0dWR5aW5nLnB5IC10IDE5Mi4xNjguMS4xIC1wIDU1NTUgLWwgLWMiKQogcHJpbnQoIm5ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgMTkyLjE2OC4xLjEgLXAgNTU1NSAtbCAtdT1jOlxcdGFyZ2V0LmV4ZSIpCiBwcmludCgibmV0Y2F0X3B5dGhvbl9zdHVkeWluZy5weSAtdCAxOTIuMTY4LjEuMSAtcCA1NTU1IC1sIC1lPVwiY2F0IC9ldGMvcGFzc3dkXCIiKQogcHJpbnQoImVjaG8gJ3NkZnNkZicgfCAuL25ldGNhdF9weXRob25fc3R1ZHlpbmcucHkgLXQgMTkyLjE2OC4xLjEgLXAgMTIzIikKIHN5cy5leGl0KDApCgpkZWYgbWFpbigpOgogZ2xvYmFsIGxpc3RlbgogZ2xvYmFsIHBvcnQKIGdsb2JhbCBleGVjdXRlCiBnbG9iYWwgY29tbWFuZAogZ2xvYmFsIHVwbG9hZF9kZXN0aW5hdGlvbgogZ2xvYmFsIHRhcmdldAoKIGlmIG5vdCBsZW4oc3lzLmFyZ3ZbMTpdKToKIHVzYWdlKCkKCiAj6K+75Y+W5ZG95Luk6YCJ6aG5CiB0cnk6CiBvcHRzLGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwiaGxlOnQ6cDpjdToiLFsiaGVscCIsImxpc3RlbiIsImV4ZWN1dGUiLCJ0YXJnZXQiLCJwb3J0IiwiY29tbWFuZCIsInVwbG9hZCJdKQogZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvciBhcyBlcnI6CiBwcmludChzdHIoKSkKIHVzYWdlKCkKCiBmb3IgbyxhIGluIG9wdHM6CiBpZiBvIGluICgiLWgiLCItLWhlbHAiKToKIHVzYWdlKCkKIGVsaWYgbyBpbiAoIi1sIiwiLS1saXN0ZW4iKToKIGxpc3RlbiA9IFRydWUKIGVsaWYgbyBpbiAoIi1lIiwiLS1leGVjdXRlIik6CiBleGVjdXRlID1hCiBlbGlmIG8gaW4gKCItYyIsIi0tY29tbWFuZHNoZWxsIik6CiBjb21tYW5kID0gVHJ1ZQogZWxpZiBvIGluICgiLXUiLCItLXVwbG9hZCIpOgogdXBsb2FkX2Rlc3RpbmF0aW9uID0gYQogZWxpZiBvIGluICgiLXQiLCItLXRhcmdldCIpOgogdGFyZ2V0ID0gYQogZWxpZiBvIGluICgiLXAiLCItLXBvcnQiKToKIHBvcnQgPSBpbnQoYSkKIGVsc2U6CiBhc3NlcnQgRmFsc2UgLCAiVW5oYW5kbGVkIE9wdGlvbiIKCiAjIOaIkeS7rOaYr+i/m+ihjOebkeWQrOi/mOaYr+S7heS7juagh+WHhui+k+WFpeWPkemAgeaVsOaNru+8nwogaWYgbm90IGxpc3RlbiBhbmQgbGVuKHRhcmdldCkgYW5kIHBvcnQgPiAwOgogI+S7juWRveS7pOihjOivu+WPluWGheWtmOaVsOaNrgogI+i/memHjOWwhumYu+Whnu+8jOaJgOS7peS4jeWcqOagh+WHhui+k+WFpeWPkemAgeaVsOaNruaXtuWPkemAgUNUUkwtRAogYnVmZmVyID0gc3lzLnN0ZGluLnJlYWQoKQoKICPlj5HpgIHmlbDmja4KIGNsaWVudF9zZW5kZXIoYnVmZmVyKQoKICPmiJHku6zlvIDlp4vnm5HlkKzlubblh4blpIfkuIrkvKDmlofku7bvvIzmiafooYzlkb3ku6QKICPmlL7nva7kuIDkuKrlj43lvLlzaGVsbAogI+WPluWGs+S6juS4iumdoueahOWRveS7pOihjOmAiemhuQogaWYgbGlzdGVuOgogc2VydmVyX2xvb3AoKQoKZGVmIGNsaWVudF9zZW5kZXIoYnVmZmVyKToKIGNsaWVudCA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQoKIHRyeToKICPpk77mjqXnm67moIfkuLvmnLoKIGNsaWVudC5jb25uZWN0KCh0YXJnZXQscG9ydCkpCgogaWYgbGVuKGJ1ZmZlcik6CiBjbGllbnQuc2VuZChidWZmZXIpCgogd2hpbGUgVHJ1ZToKICPnjrDlnKjnrYnlvoXmlbDmja7lm57kvKAKIHJlY3ZfbGVuID0gMQogcmVzcG9uc2UgPSAiIgoKIHdoaWxlIHJlY3ZfbGVuOgogZGF0YSA9IGNsaWVudC5yZWN2KDQwOTYpCiByZWN2X2xlbiA9IGxlbihkYXRhKQogcmVzcG9uc2UgKz0gZGF0YQoKIGlmIHJlY3ZfbGVuIDwgNDA5NjoKIGJyZWFrCgogcHJpbnQocmVzcG9uc2UpCgogI+etieW+heabtOWkmueahOi+k+WFpQogYnVmZmVyID0gaW5wdXQoIiIpCiBidWZmZXIgKz0gIlxuIgoKICPlj5HpgIHlh7rljrsKIGNsaWVudC5zZW5kKGJ1ZmZlcikKCiBleGNlcHQ6CiBwcmludCgiWypdIEV4Y2VwdGlvbiEgRXhpdGluZy4iKQogI+WFs+mXremTvuaOpQogY2xpZW50LmNsb3NlKCkKCmRlZiBzZXJ2ZXJfbG9vcCgpOgogZ2xvYmFsIHRhcmdldAoKICPlpoLmnpzmsqHmnInlrprkuYnnm67moIfvvIzpgqPkuYjmiJHku6znm5HlkKzmiYDmnInmjqXlj6MKIGlmIG5vdCBsZW4odGFyZ2V0KToKIHRhcmdldCA9ICIwLjAuMC4wIgoKIHNlcnZlciA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsc29ja2V0LlNPQ0tfU1RSRUFNKQogc2VydmVyLmJpbmQoKHRhcmdldCxwb3J0KSkKCiBzZXJ2ZXIubGlzdGVuKDUpCgogd2hpbGUgVHJ1ZToKIGNsaWVudF9zb2NrZXQsYWRkciA9IHNlcnZlci5hY2NlcHQoKQogI+WIhuaLhuS4gOS4que6v+eoi+WkhOeQhuaWsOeahOWuouaIt+errwogY2xpZW50X3RocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PWNsaWVudF9zZW5kZXIsYXJncz0oY2xpZW50X3NvY2tldCkpCiBjbGllbnRfdGhyZWFkLnN0YXJ0KCkKCmRlZiBydW5fY29tbWFuZChjb21tYW5kKToKICPmjaLooYwKIGNvbW1hbmQgPSBjb21tYW5kLnJzdHJpcCgpCgogI+i/kOihjOWRveS7pOW5tuWwhui+k+WHuui/lOWbngogdHJ5Ogogb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY29tbWFuZCxzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQsc2hlbGw9VHJ1ZSkKIGV4Y2VwdDoKIG91dHB1dCA9ICJGYWlsZWQgdG8gZXhlY3V0ZSBjb21tYW5kLlxyXG4iCgogI+Wwhui+k+WHuuWPkemAgQogcmV0dXJuIG91dHB1dAoKZGVmIGNsaWVudF9oYW5kbGVyKGNsaWVudF9zb2NrZXQpOgogZ2xvYmFsIHVwbG9hZAogZ2xvYmFsIGV4ZWN1dGUKIGdsb2JhbCBjb21tYW5kCgogI+ajgOa1i+S4iuS8oOaWh+S7tgogaWYgbGVuKHVwbG9hZF9kZXN0aW5hdGlvbik6CiAj6K+75Y+W5omA5pyJ55qE5a2X56ym5bm25YaZ5LiL55uu5qCHCiBmaWxlX2J1ZmZlciA9ICIiCiAj5oyB57ut6K+75Y+W5pWw5o2u55+l6YGT5rKh5pyJ56ym5ZCI55qE5pWw5o2uCiB3aGlsZSBUcnVlOgogZGF0YSA9IGNsaWVudF9zb2NrZXQucmVjdigxMDI0KQoKIGlmIG5vdCBkYXRhOgogYnJlYWsKIGVsc2U6CiBmaWxlX2J1ZmZlciArPSBkYXRhCgogIyPnjrDlnKjmiJHku6zmjqXmlLbov5nkupvmlbDmja7lubblsIbku5bku6zlhpnlh7rmnaUKIHRyeToKIGZpbGVfZGVzY3JpcHRvciA9IG9wZW4odXBsb2FkX2Rlc3RpbmF0aW9uLCJ3YiIpCiBmaWxlX2Rlc2NyaXB0b3Iud3JpdGUoZmlsZV9idWZmZXIpCiBmaWxlX2Rlc2NyaXB0b3IuY2xvc2UoKQoKICPnoa7orqTmlofku7blt7Lnu4/lhpnlh7rmnaUKIGNsaWVudF9zb2NrZXQuc2VuZCgiU3VjY2Vzc2Z1bGx5IHNhdmVkIGZpbGUgdG8gJXNcclxuIiAlIHVwbG9hZF9kZXN0aW5hdGlvbikKIGV4Y2VwdDoKIGNsaWVudF9zb2NrZXQuc2VuZCgiRmFpbGVkIHRvIHNhdmUgZmlsZSB0byAlc1xyXG4iICUgdXBsb2FkX2Rlc3RpbmF0aW9uKQoKCiAj5qOA5p+l5ZG95Luk5omn6KGMCiBpZiBsZW4oZXhlY3V0ZSk6CiAj6L+Q6KGM5ZG95LukCiBvdXRwdXQgPSBydW5fY29tbWFuZChleGVjdXRlKQoKIGNsaWVudF9zb2NrZXQuc2VuZChvdXRwdXQpCgogI+WmguaenOmcgOimgeS4gOS4quWRveS7pOihjHNoZWxsLOmCo+S5iOaIkeS7rOi/m+WFpeWPpuS4gOS4quW+queOrwogaWYgY29tbWFuZDoKIHdoaWxlIFRydWU6CiAj6Lez5Ye65LiA5Liq56qX5Y+jCiBjbGllbnRfc29ja2V0LnNlbmQoIjxCSFA6Iz4gIikKCiAj546w5Zyo5oiR5Lus5o6l5pS25paH5Lu255u05Yiw5Y+R546w5o2i6KGM56ym77yIZW50ZXIga2V577yJCiBjbWRfYnVmZmVyID0gIiIKIHdoaWxlICJcbiIgbm90IGluIGNtZF9idWZmZXI6CiBjbWRfYnVmZmVyICs9IGNsaWVudF9zb2NrZXQucmVjdigxMDI0KQoKICPov5Tov5jlkb3ku6TovpPlh7oKIHJlc3BvbnNlID0gcnVuX2NvbW1hbmQoY21kX2J1ZmZlcikKCiAj6L+U5Zue5ZON5bqU5pWw5o2uCiBjbGllbnRfc29ja2V0LnNlbmQocmVzcG9uc2UpCgppZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogbWFpbigpCmBgYA==
| 用户名 | 金币 | 积分 | 时间 | 理由 |
| 奖励系统 |
50.00 |
0 |
2020-06-11 10:10:46 |
投稿满 5 赞奖励 |
| admin |
100.00 |
0 |
2020-06-10 10:10:46 |
支持! 多写 |
hhades
发表于 2020-6-13
评论列表
加载数据中...