Content-Type: multipart/related; start=; boundary=----------GGp31ILoEREjsCiTr9WMqj Content-Location: http://elibrary.ru/item.asp?id=18244651 Subject: =?utf-8?Q?eLIBRARY.RU=20-=20=D0=9A=D0=BE=D0=BD=D0=BA=D1=83=D1=80=D0=B5=D0=BD=D1=82=D0=BE=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=86=D0=B8=D0=B8=20=D0=BA=D0=B0=D0=BA=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D0=BE=D0=B9=20=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=20=D0=BA=D0=BE=D0=BD=D0=BA=D1=83=D1=80=D0=B5=D0=BD=D1=82=D0=BE=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BF=D1=80=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8=D1=85=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80:=20=D0=BF=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D1=8B=20=D1=82=D0=B5=D0=BE=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=item.htm Content-Type: text/html; charset=UTF-8; name=item.htm Content-ID: Content-Location: http://elibrary.ru/item.asp?id=18244651 Content-Transfer-Encoding: Base64 DQoNCjwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCg0KPG1ldGEgaHR0 cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1FbXVsYXRlSUU4 IiAvPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9J9Cd0LAg0L7R gdC90L7QstCw0L3QuNC4INGC0LXQvtGA0LXRgtC40YfQtdGB0LrQuNGFINC40YHR gdC70LXQtNC+0LLQsNC90LjQuSDQv9GA0LXQtNC70LDQs9Cw0LXRgtGB0Y8g0LDQ stGC0L7RgNGB0LrQsNGPINGC0YDQsNC60YLQvtCy0LrQsCDQv9C+INC90Y/RgtC4 0LkgwqvQutC+0L3QutGD0YDQtdC90YLQvtGB0L/QvtGB0L7QsdC90L7RgdGC0Ywg 0L/RgNC+0LTRg9C60YbQuNC4wrssIMKr0L/QvtGC0YDQtdCx0LjRgtC10LvRjNC9 0LDRjyDQt9C90LDRh9C40LzQvtGB0YLRjCDRgtC+0LLQsNGA0LDCuywgwqvQutC+ 0L3QutGD0YDQtdC90YLQvdC+0LUg0L/RgNC10LLQvtGB0YXQvtC00YHRgtCy0L4g 0YLQvtCy0LDRgNCwwrsuINCY0LfQu9Cw0LPQsNGO0YLRgdGPJz4NCjx0aXRsZT5l TElCUkFSWS5SVSAtINCa0L7QvdC60YPRgNC10L3RgtC+0YHQv9C+0YHQvtCx0L3Q vtGB0YLRjCDQv9GA0L7QtNGD0LrRhtC40Lgg0LrQsNC6INC+0YHQvdC+0LLQvdC+ 0Lkg0YTQsNC60YLQvtGAINC60L7QvdC60YPRgNC10L3RgtC+0YHQv9C+0YHQvtCx 0L3QvtGB0YLQuCDQv9GA0LXQtNC/0YDQuNC90LjQvNCw0YLQtdC70YzRgdC60LjR hSDRgdGC0YDRg9C60YLRg9GAOiDQv9GA0L7QsdC70LXQvNGLINGC0LXQvtGA0LjQ uDwvdGl0bGU+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9 Ii9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9q YXZhc2NyaXB0IiBzcmM9Ii9mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjQu cGFjay5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw dCIgc3JjPSIvZmFuY3lib3gvanF1ZXJ5LmVhc3lkcmFnLmpzIj48L3NjcmlwdD4N CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii9NYXRoSmF4L01h dGhKYXguanM/Y29uZmlnPVRlWC1BTVMtTU1MX0hUTUxvck1NTCI+PC9zY3JpcHQ+ DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9mYW5jeWJveC9qcXVlcnku ZmFuY3lib3gtMS4zLjQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVl biIgLz4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3N0eWxlX3NtLmNz cyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIC8+DQoNCjxTQ1JJUFQg TEFOR1VBR0U9IkphdmFTY3JpcHQiPg0KDQp2YXIgZGlkU2Nyb2xsID0gZmFsc2U7 DQp2YXIgcmV0ID0gZmFsc2U7DQpidXRfYmx1ZV9ob3Zlcj1uZXcgSW1hZ2UoKTsN CmJ1dF9ibHVlX2hvdmVyLnNyYz0iL2ltYWdlcy9idXRfYmx1ZV9ob3Zlci5wbmci Ow0KYnV0X3JlZF9ob3Zlcj1uZXcgSW1hZ2UoKTsNCmJ1dF9yZWRfaG92ZXIuc3Jj PSIvaW1hZ2VzL2J1dF9yZWRfaG92ZXIucG5nIjsNCmJ1dF9ncmF5X2hvdmVyPW5l dyBJbWFnZSgpOw0KYnV0X2dyYXlfaG92ZXIuc3JjPSIvaW1hZ2VzL2J1dF9ncmF5 X2hvdmVyLnBuZyI7DQpyZWZfZG93bj1uZXcgSW1hZ2UoKTsNCnJlZl9kb3duLnNy Yz0iL2ltYWdlcy9idXRfb3JhbmdlX2Rvd24uZ2lmIjsNCnJlZl91cD1uZXcgSW1h Z2UoKTsNCnJlZl91cC5zcmM9Ii9pbWFnZXMvYnV0X29yYW5nZV91cC5naWYiOw0K DQpmdW5jdGlvbiBoaWRlU2hvd1JlZihlbGVtLHBhcmVudCkgew0KICB2YXIgY2hp bGQgPSAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbSk7DQogIHZhciBzaG93 cmVmID0gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaG93X3JlZmxpc3QiKTsN CiAgY2hpbGQuY2xhc3NOYW1lID0gY2hpbGQuY2xhc3NOYW1lID09ICJjb2xsYXBz ZWQiID8gImV4cGFuZGVkIiA6ICJjb2xsYXBzZWQiOw0KICBpZiAocGFyZW50LmNs YXNzTmFtZSA9PSAid2luX2V4cGFuZGFibGUiKXsNCiAgICBwYXJlbnQuc3JjID0g Y2hpbGQuY2xhc3NOYW1lID09ICJjb2xsYXBzZWQiID8gcmVmX2Rvd24uc3JjIDog cmVmX3VwLnNyYzsNCiAgICBwYXJlbnQudGl0bGUgPSBjaGlsZC5jbGFzc05hbWUg PT0gImNvbGxhcHNlZCIgPyAi0KDQsNGB0LrRgNGL0YLRjCIgOiAi0KHQutGA0YvR gtGMIjsNCglzaG93cmVmLmlubmVySFRNTCA9IGNoaWxkLmNsYXNzTmFtZSA9PSAi Y29sbGFwc2VkIiA/ICLQn9C+0LrQsNC30LDRgtGMINCy0LXRgdGMINGB0L/QuNGB 0L7QuiDQu9C40YLQtdGA0LDRgtGD0YDRiyIgOiAi0KHQstC10YDQvdGD0YLRjCDR gdC/0LjRgdC+0LoifQ0KfQ0KZnVuY3Rpb24gaXRlbWJveF9hZGQoKXsNCiAgICBh bmV3d2luPXdpbmRvdy5vcGVuKCIiLCAiZGlhbG9nIiwgInJlc2l6YWJsZT1ubyxz Y3JvbGxiYXJzPW5vLGhlaWdodD0xMjAsd2lkdGg9NDAwLHRvcD0yMDAsbGVmdD0y MDAiKTsNCiAgICBhbmV3d2luLnJlc2l6ZVRvKDQwMCwyMDApOw0KICAgIGRvY3Vt ZW50LmZvcm1zWyJyZXN1bHRzIl0uYWN0aW9uPSJpdGVtYm94X2l0ZW1fYWRkLmFz cCI7DQogICAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImRpYWxv ZyI7DQogICAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS5zdWJtaXQoKQ0KfQ0K ZnVuY3Rpb24gbG9hZF9hcnRpY2xlKCl7DQoNCiAgICBhbmV3d2luPXdpbmRvdy5v cGVuKCIiLCAiZnVsbHRleHQiLCAicmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXll cyx0b3A9MCxsZWZ0PTAiKTsNCiAgICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJd LmFjdGlvbj0iZnVsbF90ZXh0LmFzcCI7DQogICAgZG9jdW1lbnQuZm9ybXNbInJl c3VsdHMiXS50YXJnZXQ9ImZ1bGx0ZXh0IjsNCiAgICBkb2N1bWVudC5mb3Jtc1si cmVzdWx0cyJdLnN1Ym1pdCgpDQoNCn0NCmZ1bmN0aW9uIHNob3dfY29udGVudHMo KXsNCg0KICAgIGFuZXd3aW49d2luZG93Lm9wZW4oIiIsICJmdWxsdGV4dCIsICJy ZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLHRvcD0wLGxlZnQ9MCIpOw0KICAg IGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uYWN0aW9uPSJzaG93X2NvbnRlbnRz LmFzcCI7DQogICAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImZ1 bGx0ZXh0IjsNCiAgICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdLnN1Ym1pdCgp DQoNCn0NCmZ1bmN0aW9uIHNob3dfZnJlZXBhcnQoKXsNCg0KICAgIGFuZXd3aW49 d2luZG93Lm9wZW4oIiIsICJmdWxsdGV4dCIsICJyZXNpemFibGU9eWVzLHNjcm9s bGJhcnM9eWVzLHRvcD0wLGxlZnQ9MCIpOw0KICAgIGRvY3VtZW50LmZvcm1zWyJy ZXN1bHRzIl0uYWN0aW9uPSJzaG93X2ZyZWVwYXJ0LmFzcCI7DQogICAgZG9jdW1l bnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImZ1bGx0ZXh0IjsNCiAgICBkb2N1 bWVudC5mb3Jtc1sicmVzdWx0cyJdLnN1Ym1pdCgpDQoNCn0NCmZ1bmN0aW9uIHNo b3dfbWVkaWFmaWxlKCl7DQoNCiAgICBhbmV3d2luPXdpbmRvdy5vcGVuKCIiLCAi ZnVsbHRleHQiLCAicmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyx0b3A9MCxs ZWZ0PTAiKTsNCiAgICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdLmFjdGlvbj0i c2hvd19tZWRpYWZpbGUuYXNwIjsNCiAgICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0 cyJdLnRhcmdldD0iZnVsbHRleHQiOw0KICAgIGRvY3VtZW50LmZvcm1zWyJyZXN1 bHRzIl0uc3VibWl0KCkNCg0KfQ0KZnVuY3Rpb24gaHRtbF9hcnRpY2xlKCl7DQoN CiAgICBhbmV3d2luPXdpbmRvdy5vcGVuKCIiLCAiZnVsbHRleHQiLCAicmVzaXph YmxlPXllcyxzY3JvbGxiYXJzPXllcyx0b3A9MCxsZWZ0PTAiKTsNCiAgICBkb2N1 bWVudC5mb3Jtc1sicmVzdWx0cyJdLmFjdGlvbj0iaHRtbF9hcnRpY2xlLmFzcCI7 DQogICAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImZ1bGx0ZXh0 IjsNCiAgICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdLnN1Ym1pdCgpDQoNCn0N CmZ1bmN0aW9uIGVtYWlsX2FydGljbGUoKXsNCg0KICBhbmV3d2luPXdpbmRvdy5v cGVuKCIiLCAiYWRkd2luIiwgInJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz1ubyxo ZWlnaHQ9NTAsd2lkdGg9MzAwLHRvcD0yMDAsbGVmdD0yMDAiKTsNCiAgZG9jdW1l bnQuZm9ybXNbInJlc3VsdHMiXS5hY3Rpb249ImVtYWlsX2FydGljbGUuYXNwIjsN CiAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImFkZHdpbiI7DQog IGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uc3VibWl0KCkNCg0KfQ0KDQpmdW5j dGlvbiBlZGl0X25vdGVzKCl7DQoNCiAgYW5ld3dpbj13aW5kb3cub3BlbigiIiwg ImFkZHdpbiIsICJyZXNpemFibGU9eWVzLHNjcm9sbGJhcnM9eWVzLGhlaWdodD0z MDAsd2lkdGg9NTAwLHRvcD0wLGxlZnQ9MCIpOw0KICBkb2N1bWVudC5mb3Jtc1si cmVzdWx0cyJdLmFjdGlvbj0ibm90ZXNfYWRkLmFzcCI7DQogIGRvY3VtZW50LmZv cm1zWyJyZXN1bHRzIl0udGFyZ2V0PSJhZGR3aW4iOw0KICBkb2N1bWVudC5mb3Jt c1sicmVzdWx0cyJdLnN1Ym1pdCgpDQoNCn0NCmZ1bmN0aW9uIGFkZF9saW5rKGxp bmspew0KDQogIGFuZXd3aW49d2luZG93Lm9wZW4oIiIsICJhZGR3aW4iLCAicmVz aXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxoZWlnaHQ9MzUwLHdpZHRoPTUwMCx0 b3A9MCxsZWZ0PTAiKTsNCiAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS5hY3Rp b249Iml0ZW1saW5rX2FkZC5hc3AiOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0 cyJdLmxpbmtpZC52YWx1ZT1saW5rOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0 cyJdLnRhcmdldD0iYWRkd2luIjsNCiAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMi XS5zdWJtaXQoKQ0KDQp9DQpmdW5jdGlvbiByZXBseV9jb21tZW50cyhjb21tZW50 aWQpew0KDQogIGFuZXd3aW49d2luZG93Lm9wZW4oIiIsICJhZGR3aW4iLCAicmVz aXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyxoZWlnaHQ9MzAwLHdpZHRoPTUwMCx0 b3A9MCxsZWZ0PTAiKTsNCiAgdmFyIGZybSA9IGRvY3VtZW50LmZvcm1zWyJyZXN1 bHRzIl07DQogIGZybS5hY3Rpb249Iml0ZW1jb21tZW50c19hZGQuYXNwIjsNCiAg ZnJtLnRhcmdldD0iYWRkd2luIjsNCiAgZnJtLmNvbW1lbnRpZC52YWx1ZT1jb21t ZW50aWQ7DQogIGZybS5yZXBseS52YWx1ZT0xOw0KICBmcm0uc3VibWl0KCkNCg0K fQ0KZnVuY3Rpb24gZWRpdF9jb21tZW50cyhjb21tZW50aWQpew0KICBhbmV3d2lu PXdpbmRvdy5vcGVuKCIiLCAiYWRkd2luIiwgInJlc2l6YWJsZT15ZXMsc2Nyb2xs YmFycz15ZXMsaGVpZ2h0PTMwMCx3aWR0aD01MDAsdG9wPTAsbGVmdD0wIik7DQog IHZhciBmcm0gPSBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdOw0KICBmcm0uYWN0 aW9uPSJpdGVtY29tbWVudHNfYWRkLmFzcCI7DQogIGZybS50YXJnZXQ9ImFkZHdp biI7DQogIGZybS5jb21tZW50aWQudmFsdWU9Y29tbWVudGlkOw0KICBmcm0ucmVw bHkudmFsdWU9MDsNCiAgZnJtLnN1Ym1pdCgpDQp9DQpmdW5jdGlvbiBuZXdfY29t bWVudHMoKXsNCg0KICBhbmV3d2luPXdpbmRvdy5vcGVuKCIiLCAiYWRkd2luIiwg InJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsaGVpZ2h0PTMwMCx3aWR0aD01 MDAsdG9wPTAsbGVmdD0wIik7DQogIHZhciBmcm0gPSBkb2N1bWVudC5mb3Jtc1si cmVzdWx0cyJdOw0KICBmcm0uYWN0aW9uPSJpdGVtY29tbWVudHNfYWRkLmFzcCI7 DQogIGZybS50YXJnZXQ9ImFkZHdpbiI7DQogIGZybS5jb21tZW50aWQudmFsdWU9 IiI7DQogIGZybS5yZXBseS52YWx1ZT0wOw0KICBmcm0uc3VibWl0KCkNCg0KfQ0K ZnVuY3Rpb24gdHJhbnNsYXRlX2Fic3RyYWN0KCl7DQogIGFuZXd3aW49d2luZG93 Lm9wZW4oIiIsICJhZGR3aW4iLCAicmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXll cyxoZWlnaHQ9NDAwLHdpZHRoPTYwMCx0b3A9MCxsZWZ0PTAiKTsNCiAgZG9jdW1l bnQuZm9ybXNbInJlc3VsdHMiXS5hY3Rpb249InRyYW5zbGF0ZV9hYnN0cmFjdC5h c3AiOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdLnRhcmdldD0iYWRkd2lu IjsNCiAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS5zdWJtaXQoKQ0KfQ0KZnVu Y3Rpb24gd2VsY29tZShwYXIpew0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJd LmNvdW50ZXJpZC52YWx1ZT1wYXI7DQogIGRvY3VtZW50LmZvcm1zWyJyZXN1bHRz Il0udGFyZ2V0PSJfYmxhbmsiOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJd LmFjdGlvbj0iY291bnRlci5hc3AiOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0 cyJdLnN1Ym1pdCgpOw0KfQ0KZnVuY3Rpb24gbmV3cXVlcnkoKXsNCiAgZG9jdW1l bnQuZm9ybXNbInJlc3VsdHMiXS5hY3Rpb249InF1ZXJ5Ym94LmFzcCI7DQogIGRv Y3VtZW50LmZvcm1zWyJyZXN1bHRzIl0udGFyZ2V0PSIiOw0KICBkb2N1bWVudC5m b3Jtc1sicmVzdWx0cyJdLnN1Ym1pdCgpDQp9DQpmdW5jdGlvbiBvcmRlcl9pdGVt X2FkZCgpew0KICBhbmV3d2luPXdpbmRvdy5vcGVuKCIiLCAiYWRkd2luIiwgInJl c2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMsaGVpZ2h0PTMwMCx3aWR0aD01MDAs dG9wPTAsbGVmdD0wIik7DQogIGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uYWN0 aW9uPSJvcmRlcl9pdGVtX2FkZC5hc3AiOw0KICBkb2N1bWVudC5mb3Jtc1sicmVz dWx0cyJdLnRhcmdldD0iYWRkd2luIjsNCiAgZG9jdW1lbnQuZm9ybXNbInJlc3Vs dHMiXS5zdWJtaXQoKQ0KfQ0KZnVuY3Rpb24gc2hvd19oZWxwKHRvcGljKXsNCiAg YW5ld3dpbj13aW5kb3cub3BlbigiIiwgImFkZHdpbiIsICJyZXNpemFibGU9eWVz LHNjcm9sbGJhcnM9eWVzLGhlaWdodD0zMDAsd2lkdGg9NTAwLHRvcD0wLGxlZnQ9 MCIpOw0KICBkb2N1bWVudC5mb3Jtc1sicmVzdWx0cyJdLmFjdGlvbj10b3BpYzsN CiAgZG9jdW1lbnQuZm9ybXNbInJlc3VsdHMiXS50YXJnZXQ9ImFkZHdpbiI7DQog IGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uc3VibWl0KCkNCn0NCg0KDQoNCmZ1 bmN0aW9uIGFsZXJ0cyhtZXNzKXsNCiAgICAkLmZhbmN5Ym94KCc8dGFibGUgd2lk dGg9NDAwIGNlbGxzcGFjaW5nPTMgY2VsbHBhZGRpbmc9MCBib3JkZXI9MD48dHI+ PHRkIHdpZHRoPTQwIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+PGltZyBzcmM9Imlt YWdlcy9idXRfb3JhbmdlXyEuZ2lmIiB3aWR0aD0xNSBoZWlnaHQ9MTUgaHNwYWNl PTEwIGJvcmRlcj0wPjwvdGQ+PHRkIHdpZHRoPTM1MSBhbGlnbj1sZWZ0IHZhbGln bj10b3AgY2xhc3M9InJlZHJlZiI+PGZvbnQgY29sb3I9IzAwMDA4Zj4nICsgbWVz cyArICc8L2ZvbnQ+PC90ZD48L3RyPjwvdGFibGU+PGRpdiBzdHlsZT0id2lkdGg6 NjdweDsgbWFyZ2luOjEwcHggYXV0bzsiIGNsYXNzPSJidXRibHVlIiBvbkNsaWNr PSIkLmZhbmN5Ym94LmNsb3NlKCkiPtCX0LDQutGA0YvRgtGMPC9kaXY+Jywgew0K ICAgICAgdGl0bGUgOiAnJywNCgkgIHBhZGRpbmcgOiAyMCwgICAgIA0KCSAgd2lk dGggOiA0NDAsDQoJICBzY3JvbGxpbmcgOiAnbm8nLA0KCSAgb3ZlcmxheU9wYWNp dHkgOiAwLjMsCQ0KCSAgb3ZlcmxheUNvbG9yIDogJyMwMDAnLA0KCSAgc3BlZWRJ biA6IDUwMCwNCgkgIGhpZGVPbk92ZXJsYXlDbGljayA6IGZhbHNlLA0KCSAgZW5h YmxlRXNjYXBlQnV0dG9uIDogdHJ1ZQ0KICAgIH0pOw0KfQ0KZnVuY3Rpb24gY29u ZmlybXMobWVzcyxjYWxsYmFjaykgew0KICAgICQuZmFuY3lib3goJzx0YWJsZSB3 aWR0aD00MDAgY2VsbHNwYWNpbmc9MyBjZWxscGFkZGluZz0wIGJvcmRlcj0wPjx0 cj48dGQgd2lkdGg9NDAgYWxpZ249cmlnaHQgdmFsaWduPXRvcD48aW1nIHNyYz0i aW1hZ2VzL2J1dF9vcmFuZ2VfIS5naWYiIHdpZHRoPTE1IGhlaWdodD0xNSBoc3Bh Y2U9MTAgYm9yZGVyPTA+PC90ZD48dGQgd2lkdGg9MzUxIGFsaWduPWxlZnQgdmFs aWduPXRvcCBjbGFzcz0icmVkcmVmIj48Zm9udCBjb2xvcj0jMDAwMDhmPicgKyBt ZXNzICsgJzwvZm9udD48L3RkPjwvdHI+PHRyPjx0ZCBjb2xzcGFuPTIgYWxpZ249 Y2VudGVyIHZhbGlnbj10b3A+PGRpdiBzdHlsZT0iaGVpZ2h0OjE1cHg7Ij4mbmJz cDs8L2Rpdj48dGFibGUgd2lkdGg9MTc1IGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRp bmc9MCBib3JkZXI9MD48dHIgYWxpZ249Y2VudGVyIGNsYXNzPSJtZW51cyI+PHRk IHdpZHRoPTgwPjxkaXYgY2xhc3M9ImJ1dHJlZCIgc3R5bGU9IndpZHRoOiA2N3B4 OyIgb25DbGljaz0icmV0PXRydWU7JC5mYW5jeWJveC5jbG9zZSgpIj5PSzwvZGl2 PjwvdGQ+PHRkIHdpZHRoPTU+PC90ZD48dGQgd2lkdGg9OTA+PGRpdiBjbGFzcz0i YnV0Ymx1ZSIgc3R5bGU9IndpZHRoOiA3N3B4OyIgb25DbGljaz0icmV0PWZhbHNl OyQuZmFuY3lib3guY2xvc2UoKSI+0J7RgtC80LXQvdCwPC9kaXY+PC90ZD48L3Ry PjwvdGFibGU+PGRpdiBzdHlsZT0iaGVpZ2h0OjVweDsiPiZuYnNwOzwvZGl2Pjwv dGQ+PC90cj48L3RhYmxlPicsIHsNCiAgICAgIHRpdGxlIDogJycsDQoJICBwYWRk aW5nIDogMjAsICAgICANCgkgIHdpZHRoIDogNDQwLA0KCSAgc2Nyb2xsaW5nIDog J25vJywNCgkgIG92ZXJsYXlPcGFjaXR5IDogMC4zLAkNCgkgIG92ZXJsYXlDb2xv ciA6ICcjMDAwJywNCgkgIHNwZWVkSW4gOiA1MDAsDQoJICBoaWRlT25PdmVybGF5 Q2xpY2sgOiBmYWxzZSwNCgkgIGVuYWJsZUVzY2FwZUJ1dHRvbiA6IHRydWUsDQog ICAgICBvbkNsb3NlZCA6IGZ1bmN0aW9uKCkgew0KICAgICAgICBzZXRUaW1lb3V0 KGZ1bmN0aW9uKCl7IA0KCQkgIGNhbGxiYWNrLmNhbGwodGhpcyk7DQogICAgICAg IH0sIDUwMCk7IA0KICAgICAgfQ0KICAgIH0pOw0KfQ0KDQokKGRvY3VtZW50KS5y ZWFkeShmdW5jdGlvbigpIHsgDQoNCmZ1bmN0aW9uIGNoYW5nZV93aWR0aCgpew0K ICB2YXIgeCA9ICQod2luZG93KS53aWR0aCgpOw0KICBpZiAoeDw9MTA1MCkgew0K ICAgICQoJyNsZWZ0Y29sJykud2lkdGgoMTcwKTsgDQoJJCgnI3JpZ2h0Y29sJyku d2lkdGgoMjAwKTsgDQoJJCgnI2Zvb3RlcicpLndpZHRoKDk3MCk7DQoJfQ0KICBl bHNlIGlmICh4PjEyMzQpIHsNCiAgICAkKCcjbGVmdGNvbCcpLndpZHRoKDIxNik7 IA0KCSQoJyNyaWdodGNvbCcpLndpZHRoKDI0Nik7IA0KCSQoJyNmb290ZXInKS53 aWR0aCgxMDYyKTsNCgl9DQogIGVsc2Ugew0KICAgICQoJyNsZWZ0Y29sJykud2lk dGgoMTcwK01hdGguZmxvb3IoKHgtMTA1MCkvNCkpOyANCgkkKCcjcmlnaHRjb2wn KS53aWR0aCgyMDArTWF0aC5mbG9vcigoeC0xMDUwKS80KSk7DQoJJCgnI2Zvb3Rl cicpLndpZHRoKDk3MCtNYXRoLmZsb29yKCh4LTEwNTApLzIpKTsNCgl9DQp9DQok KHdpbmRvdykucmVzaXplKGNoYW5nZV93aWR0aCk7DQpjaGFuZ2Vfd2lkdGgoKTsN Cg0KJCh3aW5kb3cpLnNjcm9sbChmdW5jdGlvbigpIHsNCiAgICAgZGlkU2Nyb2xs ID0gdHJ1ZTsNCiB9KTsNCg0Kc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7DQogIGlm ICggZGlkU2Nyb2xsICkgew0KCWRpZFNjcm9sbD1mYWxzZTsNCiAgICB2YXIgcGFu ZWw9JCgnI3BhbmVsJykNCiAgICB2YXIgcGFuZWxkPSQoJyNwYW5lbF9kZWZhdWx0 JykNCiAgICB2YXIgeGQ9JCgnI3BhbmVsX2RlZmF1bHQnKS5vZmZzZXQoKS50b3A7 DQogICAgdmFyIHhmPSQoJyNmb290ZXInKS5vZmZzZXQoKS50b3A7DQogICAgdmFy IHhwPXBhbmVsLm9mZnNldCgpLnRvcDsNCiAgICB2YXIgeHcgPSAkKHdpbmRvdyku aGVpZ2h0KCk7DQogICAgdmFyIHh0PSQod2luZG93KS5zY3JvbGxUb3AoKTsNCiAg ICB2YXIgeHo9cGFuZWwuaGVpZ2h0KCk7DQoJaWYgKHh0PHhwLTIwICYmIHh0PHhk LTIwKSB7cGFuZWwuYW5pbWF0ZSh7dG9wOiAwfSwgNDAwKX0NCiAgICBlbHNlIGlm ICh4dD54cC0yMCAmJiB4dCsyMCt4ej54Zi0yMCAmJiB4dyt4dD54Zikge3BhbmVs LmFuaW1hdGUoe3RvcDogeGYteGQtMjAteHp9LCA0MDApfQ0KICAgIGVsc2UgaWYg KHhmPHhwK3h6KzIwICYmIHh3K3h0PnhwK3h6KSB7cGFuZWwuYW5pbWF0ZSh7dG9w OiB4Zi14ZC0yMC14en0sIDQwMCl9DQogICAgZWxzZSBpZiAoeHcreHQ+eHAreHog JiYgeHc8eHopIHtwYW5lbC5hbmltYXRlKHt0b3A6IHh3K3h0LXhkLXh6LTIwfSwg NDAwKX0NCgllbHNlIGlmICh4dDx4cC0yMCAmJiB4dzx4eikge3BhbmVsLmFuaW1h dGUoe3RvcDogeHQrMjAteGR9LCA0MDApfQ0KCWVsc2UgaWYgKHh3Pnh6KSB7cGFu ZWwuYW5pbWF0ZSh7dG9wOiB4dCsyMC14ZH0sIDQwMCl9DQogICAgfQ0KIH0sIDUw MCk7DQoNCn0pOw0KJChmdW5jdGlvbigpew0KICAgJCgnI2ZhbmN5Ym94LXdyYXAn KS5lYXN5ZHJhZygpOw0KfSk7DQo8L1NDUklQVD4NCjwvaGVhZD4NCg0KPGJvZHk+ IA0KPHRhYmxlIHdpZHRoPTEwMCUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0w IGJvcmRlcj0wPg0KPHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWNlbnRlciB2YWxp Z249dG9wPg0KDQo8dGFibGUgIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBi b3JkZXI9MD4NCjx0cj48dGQgd2lkdGg9MTcwIGFsaWduPWxlZnQgdmFsaWduPXRv cCBpZD0ibGVmdGNvbCI+DQoNCjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0w IGNlbGxwYWRkaW5nPTAgd2lkdGg9MTUwPg0KDQo8dHI+PHRkPjxhIGhyZWY9Ii9k ZWZhdWx0eC5hc3AiPjxpbWcgc3JjPSIvaW1hZ2VzL3dlbGNvbWUuanBnIiBoZWln aHQ9MjQ4IHdpZHRoPTE1MCB0aXRsZT0i0J3QkNCj0KfQndCQ0K8g0K3Qm9CV0JrQ otCg0J7QndCd0JDQryDQkdCY0JHQm9CY0J7QotCV0JrQkCBlTElCUkFSWS5SVSIg Ym9yZGVyPTAgdnNwYWNlPTE1PjwvYT48L3RkPjwvdHI+DQoNCg0KPHRyPjx0ZD48 YSBocmVmPSIvZGVmYXVsdHguYXNwIj48aW1nIHNyYz0iL2ltYWdlcy9lbGlicmFy eV9sb2dvLmdpZiIgd2lkdGg9MTUwIGhlaWdodD0zMyBib3JkZXI9MCB2c3BhY2U9 MTAgdGl0bGU9ImVMSUJSQVJZLlJVIC0g0J3QkNCj0KfQndCQ0K8g0K3Qm9CV0JrQ otCg0J7QndCd0JDQryDQkdCY0JHQm9CY0J7QotCV0JrQkCI+PC9hPjwvdGQ+PC90 cj4NCjx0cj48dGQ+PGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZzcGFjZT0xMD48 L3RkPjwvdHI+DQo8U0NSSVBUIExBTkdVQUdFPSJKYXZhU2NyaXB0Ij4NCmZ1bmN0 aW9uIGNoZWNrX3NlYXJjaCgpew0KaWYgKGRvY3VtZW50LmZvcm1zWyJzZWFyY2gi XS5mdGV4dC52YWx1ZS5sZW5ndGggPiAxKSB7DQogIHZhciBmcm0gPSBkb2N1bWVu dC5mb3Jtc1sic2VhcmNoIl07DQogIGZybS5mdGV4dC52YWx1ZT1mcm0uZnRleHQu dmFsdWUucmVwbGFjZSgvIi9nLCcjJyk7DQogIGZybS5hY3Rpb249Ii9xdWVyeV9y ZXN1bHRzLmFzcCI7DQogIGZybS50YXJnZXQ9IiI7DQogIGZybS5zdWJtaXQoKTsN CiAgfQ0KZWxzZSB7DQogIGFsZXJ0KCLQktCy0LXQtNC40YLQtSDQvdC1INC80LXQ vdC10LUg0LTQstGD0YUg0YHQuNC80LLQvtC70L7QsiIpOw0KICB9DQp9DQpmdW5j dGlvbiBzZWFyY2hfZW50ZXIoZXZlbnQpeyANCiAgdmFyIGtleWNvZGU7IA0KICBl dmVudCA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsgDQogIGtleWNvZGUgPSBldmVu dC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoOw0KICBpZihrZXljb2RlPT0xMyl7DQog ICAgY2hlY2tfc2VhcmNoKCk7DQoJcmV0dXJuIGZhbHNlOw0KICB9DQp9IA0KPC9T Q1JJUFQ+DQo8Rk9STSBtZXRob2Q9cG9zdCBuYW1lPSJzZWFyY2giIG9uU3VibWl0 PSJyZXR1cm4gZmFsc2UiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id2hl cmVfZnVsbHRleHQiIHZhbHVlPSJvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBu YW1lPSJ3aGVyZV9uYW1lIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRl biIgbmFtZT0id2hlcmVfYWJzdHJhY3QiIHZhbHVlPSJvbiI+DQo8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSJ3aGVyZV9rZXl3b3JkcyIgdmFsdWU9Im9uIj4NCjxp bnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IndoZXJlX2FmZmlsaWF0aW9uIiB2YWx1 ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id2hlcmVfcmVmZXJl bmNlcyIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5 cGVfYXJ0aWNsZSIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h bWU9InR5cGVfZGlzc2VyIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRl biIgbmFtZT0idHlwZV9ib29rIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9Imhp ZGRlbiIgbmFtZT0idHlwZV9yZXBvcnQiIHZhbHVlPSJvbiI+DQo8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX2NvbmYiIHZhbHVlPSJvbiI+DQo8aW5wdXQg dHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX3BhdGVudCIgdmFsdWU9Im9uIj4NCjxp bnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGVfcHJlcHJpbnQiIHZhbHVlPSJv biI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzZWFyY2hfZnJlZXRleHQi IHZhbHVlPSIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VhcmNoX21v cnBoIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2Vh cmNoX2Z1bGx0ZXh0IiB2YWx1ZT0iIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h bWU9InNlYXJjaF9vcGVuIiB2YWx1ZT0iIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4i IG5hbWU9InNlYXJjaF9yZXN1bHRzIiB2YWx1ZT0iIj4NCjxpbnB1dCB0eXBlPSJo aWRkZW4iIG5hbWU9InRpdGxlc19hbGwiIHZhbHVlPSIiPg0KPGlucHV0IHR5cGU9 ImhpZGRlbiIgbmFtZT0iYXV0aG9yc19hbGwiIHZhbHVlPSIiPg0KPGlucHV0IHR5 cGU9ImhpZGRlbiIgbmFtZT0icnVicmljc19hbGwiIHZhbHVlPSIiPg0KPGlucHV0 IHR5cGU9ImhpZGRlbiIgbmFtZT0icXVlcnlib3hpZCIgdmFsdWU9IiI+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpdGVtYm94aWQiIHZhbHVlPSIiPg0KPGlu cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYmVnaW5feWVhciIgdmFsdWU9IiI+DQo8 aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJlbmRfeWVhciIgdmFsdWU9IiI+DQo8 aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc3N1ZXMiIHZhbHVlPSJhbGwiPg0K PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3JkZXJieSIgdmFsdWU9InJhbmsi Pg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3JkZXIiIHZhbHVlPSJyZXYi Pg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2hhbmdlZCIgdmFsdWU9IjEi Pg0KDQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249Y2VudGVyIHZhbGlnbj10b3A+ DQoNCjxkaXYgY2xhc3M9ImxlZnQtcGFuZWwiPg0KDQo8dGFibGUgYm9yZGVyPTAg Y2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wIHdpZHRoPTE0MD4NCjx0cj48dGQg d2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD48Zm9udCBjb2xvcj0j RjI2QzRGPjxiPjxzcGFuIGNsYXNzPSJleHBhbmRhYmxlIiBvbkNsaWNrPSIkKCcj d2luX3NlYXJjaCcpLnNsaWRlVG9nZ2xlKDUwMCwgZnVuY3Rpb24oKXtkaWRTY3Jv bGwgPSB0cnVlO30pIiB0aXRsZT0i0J/QvtC40YHQuiDQsiDQndCw0YPRh9C90L7Q uSDRjdC70LXQutGC0YDQvtC90L3QvtC5INCx0LjQsdC70LjQvtGC0LXQutC1Ij7Q n9Ce0JjQodCaPC9zcGFuPjwvYj48L2ZvbnQ+DQo8L3RkPjwvdHI+DQo8L3RhYmxl Pg0KPGRpdiBJRD0id2luX3NlYXJjaCIgY2xhc3M9ImNvbGxhcHNlZCI+DQoNCjx0 YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9 MTQwPg0KPHRyPjx0ZCB3aWR0aD0xNDAgYWxpZ249Y2VudGVyIHZhbGlnbj10b3A+ DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEwcHg7Ij48L2Rpdj4NCjxkaXYgY2xhc3M9 ImZvcm1mciIgc3R5bGU9IndpZHRoOjEyNnB4OyI+PGlucHV0IHR5cGU9dGV4dCBp ZD0iZnRleHQiIG5hbWU9ImZ0ZXh0IiB2YWx1ZT0iIiBzdHlsZT0id2lkdGg6MTE4 cHg7IiBjbGFzcz0iaW5wdXR0IiBvbktleVByZXNzPSJzZWFyY2hfZW50ZXIoZXZl bnQpOyI+PC9kaXY+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDExcHg7Ij48L2Rpdj4N Cg0KPGRpdiBjbGFzcz0iYnV0Ymx1ZSIgc3R5bGU9IndpZHRoOiA1MnB4OyIgb25D bGljaz0iY2hlY2tfc2VhcmNoKCkiPtCd0LDQudGC0Lg8L2Rpdj4NCg0KPC90ZD48 L3RyPg0KPHRyPjx0ZD48aW1nIHNyYz0iL3BpYy8xcGl4LmdpZiI+PC90ZD48L3Ry Pg0KPC90YWJsZT4NCg0KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2Vs bHBhZGRpbmc9MCB3aWR0aD0xNDA+DQo8dHIgY2xhc3M9Im1lbnViIj48dGQgYWxp Z249Y2VudGVyIHdpZHRoPTIwIHZhbGlnbj1ib3R0b20+PGltZyBzcmM9Ii9pbWFn ZXMvb3Jfa3YuZ2lmIiB3aWR0aD03IGhlaWdodD03IHZzcGFjZT0xIGNsYXNzPSJz aGFkb3ciPjwvdGQ+PHRkIGFsaWduPWxlZnQgd2lkdGg9MTIwIHZhbGlnbj10b3A+ PGEgaHJlZj0iL3F1ZXJ5Ym94LmFzcD9zY29wZT1uZXdxdWVyeSI+0KDQsNGB0YjQ uNGA0LXQvdC90YvQuSDQv9C+0LjRgdC6PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0K PGRpdiBzdHlsZT0iaGVpZ2h0OiA0cHg7Ij48L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+ DQoNCjwvRk9STT4NCg0KPC90ZD48L3RyPg0KDQo8dHI+PHRkPjxpbWcgc3JjPSIv cGljLzFwaXguZ2lmIiB2c3BhY2U9OT48L3RkPjwvdHI+DQo8dHI+PHRkIHdpZHRo PTEwMCUgYWxpZ249Y2VudGVyIHZhbGlnbj10b3A+DQoNCjxkaXYgY2xhc3M9Imxl ZnQtcGFuZWwiPg0KDQo8dGFibGUgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxs cGFkZGluZz0wIHdpZHRoPTE0MD4NCjx0cj48dGQgd2lkdGg9MTAwJSBhbGlnbj1j ZW50ZXIgdmFsaWduPXRvcD48Zm9udCBjb2xvcj0jRjI2QzRGPjxiPjxzcGFuIGNs YXNzPSJleHBhbmRhYmxlIiBvbkNsaWNrPSIkKCcjd2luX2dvdG8nKS5zbGlkZVRv Z2dsZSg1MDAsIGZ1bmN0aW9uKCl7ZGlkU2Nyb2xsID0gdHJ1ZTt9KSIgdGl0bGU9 ItCR0YvRgdGC0YDRi9C5INC/0LXRgNC10YXQvtC0INC90LAg0L/QvtC/0YPQu9GP 0YDQvdGL0LUg0YHRgtGA0LDQvdC40YbRiyDRgdCw0LnRgtCwIj7QndCQ0JLQmNCT 0JDQotCe0KA8L3NwYW4+PC9iPjwvZm9udD4NCjwvdGQ+PC90cj4NCjwvdGFibGU+ DQoNCjxkaXYgSUQ9Indpbl9nb3RvIiBjbGFzcz0iZXhwYW5kZWQiPg0KPGRpdiBz dHlsZT0iaGVpZ2h0OiAxMHB4OyI+PC9kaXY+DQoNCjx0YWJsZSBib3JkZXI9MCBj ZWxsc3BhY2luZz00IGNlbGxwYWRkaW5nPTAgd2lkdGg9MTQwPg0KDQo8dHIgdmFs aWduPXRvcD48dGQgd2lkdGg9MTQgYWxpZ249Y2VudGVyPjxpbWcgc3JjPSIvaW1h Z2VzL2JsX2t2LmdpZiIgYm9yZGVyPTAgd2lkdGg9NyBoZWlnaHQ9NyBoc3BhY2U9 MyBjbGFzcz0ic2hhZG93Ij48L3RkPjx0ZCBhbGlnbj1sZWZ0PjxhIGhyZWY9Ii9k ZWZhdWx0eC5hc3AiPtCd0LDRh9Cw0LvRjNC90LDRjyDRgdGC0YDQsNC90LjRhtCw PC9hPjwvdGQ+PC90cj4NCg0KPHRyIHZhbGlnbj10b3A+PHRkIHdpZHRoPTE0IGFs aWduPWNlbnRlcj48aW1nIHNyYz0iL2ltYWdlcy9ibF9rdi5naWYiIGJvcmRlcj0w IHdpZHRoPTcgaGVpZ2h0PTcgaHNwYWNlPTMgIGNsYXNzPSJzaGFkb3ciPjwvdGQ+ PHRkIGFsaWduPWxlZnQ+PGEgaHJlZj0iL25ld3NfbGlicmFyeS5hc3AiPtCd0L7Q stC+0YHRgtC4INCx0LjQsdC70LjQvtGC0LXQutC4PC9hPjwvdGQ+PC90cj4NCg0K PHRyIHZhbGlnbj10b3A+PHRkIHdpZHRoPTE0IGFsaWduPWNlbnRlcj48aW1nIHNy Yz0iL2ltYWdlcy9ibF9rdi5naWYiIGJvcmRlcj0wIHdpZHRoPTcgaGVpZ2h0PTcg aHNwYWNlPTMgIGNsYXNzPSJzaGFkb3ciPjwvdGQ+PHRkIGFsaWduPWxlZnQ+PGEg aHJlZj0iL3B1Ymxpc2hlcnMuYXNwIj7QodC/0LjRgdC+0Log0LjQt9C00LDRgtC1 0LvRjNGB0YLQsjwvYT48L3RkPjwvdHI+DQoNCjx0ciB2YWxpZ249dG9wPjx0ZCB3 aWR0aD0xNCBhbGlnbj1jZW50ZXI+PGltZyBzcmM9Ii9pbWFnZXMvYmxfa3YuZ2lm IiBib3JkZXI9MCB3aWR0aD03IGhlaWdodD03IGhzcGFjZT0zICBjbGFzcz0ic2hh ZG93Ij48L3RkPjx0ZCBhbGlnbj1sZWZ0PjxhIGhyZWY9Ii9pdGVtYm94LmFzcCI+ 0J/QvtC00LHQvtGA0LrQuCDQv9GD0LHQu9C40LrQsNGG0LjQuTwvYT48L3RkPjwv dHI+DQoNCjx0ciB2YWxpZ249dG9wPjx0ZCB3aWR0aD0xNCBhbGlnbj1jZW50ZXI+ PGltZyBzcmM9Ii9pbWFnZXMvYmxfa3YuZ2lmIiBib3JkZXI9MCB3aWR0aD03IGhl aWdodD03IGhzcGFjZT0zICBjbGFzcz0ic2hhZG93Ij48L3RkPjx0ZCBhbGlnbj1s ZWZ0PjxhIGhyZWY9Ii90aXRsZWJveC5hc3AiPtCf0L7QtNCx0L7RgNC60Lgg0LbR g9GA0L3QsNC70L7QsjwvYT48L3RkPjwvdHI+DQoNCjx0ciB2YWxpZ249dG9wPjx0 ZCB3aWR0aD0xNCBhbGlnbj1jZW50ZXI+PGltZyBzcmM9Ii9pbWFnZXMvYmxfa3Yu Z2lmIiBib3JkZXI9MCB3aWR0aD03IGhlaWdodD03IGhzcGFjZT0zICBjbGFzcz0i c2hhZG93Ij48L3RkPjx0ZCBhbGlnbj1sZWZ0PjxhIGhyZWY9Ii9uZXdfdGl0bGVz LmFzcCI+0J3QvtCy0YvQtSDQttGD0YDQvdCw0LvRizwvYT48L3RkPjwvdHI+DQoN Cjx0ciB2YWxpZ249dG9wPjx0ZCB3aWR0aD0xNCBhbGlnbj1jZW50ZXI+PGltZyBz cmM9Ii9pbWFnZXMvYmxfa3YuZ2lmIiBib3JkZXI9MCB3aWR0aD03IGhlaWdodD03 IGhzcGFjZT0zICBjbGFzcz0ic2hhZG93Ij48L3RkPjx0ZCBhbGlnbj1sZWZ0Pjxh IGhyZWY9Ii9hdXRob3JfaW5mby5hc3A/aXNvbGQ9MSI+0J/QtdGA0YHQvtC90LDQ u9GM0L3QsNGPINC60LDRgNGC0L7Rh9C60LA8L2E+PC90ZD48L3RyPg0KDQo8dHIg dmFsaWduPXRvcD48dGQgd2lkdGg9MTQgYWxpZ249Y2VudGVyPjxpbWcgc3JjPSIv aW1hZ2VzL2JsX2t2LmdpZiIgYm9yZGVyPTAgd2lkdGg9NyBoZWlnaHQ9NyBoc3Bh Y2U9MyAgY2xhc3M9InNoYWRvdyI+PC90ZD48dGQgYWxpZ249bGVmdD48YSBocmVm PSIvc3RhdF9nbG9iYWwuYXNwIj7QntCx0YnQsNGPINGB0YLQsNGC0LjRgdGC0LjQ utCwPC9hPjwvdGQ+PC90cj4NCg0KPHRyIHZhbGlnbj10b3A+PHRkIHdpZHRoPTE0 IGFsaWduPWNlbnRlcj48aW1nIHNyYz0iL2ltYWdlcy9ibF9rdi5naWYiIGJvcmRl cj0wIHdpZHRoPTcgaGVpZ2h0PTcgaHNwYWNlPTMgIGNsYXNzPSJzaGFkb3ciPjwv dGQ+PHRkIGFsaWduPWxlZnQ+PGEgaHJlZj0iL3RpdGxlcy5hc3AiPtCa0LDRgtCw 0LvQvtCzINC20YPRgNC90LDQu9C+0LI8L2E+PC90ZD48L3RyPg0KDQo8dHIgdmFs aWduPXRvcD48dGQgd2lkdGg9MTQgYWxpZ249Y2VudGVyPjxpbWcgc3JjPSIvaW1h Z2VzL2JsX2t2LmdpZiIgYm9yZGVyPTAgd2lkdGg9NyBoZWlnaHQ9NyBoc3BhY2U9 MyAgY2xhc3M9InNoYWRvdyI+PC90ZD48dGQgYWxpZ249bGVmdD48YSBocmVmPSIv YXV0aG9ycy5hc3AiPtCQ0LLRgtC+0YDRgdC60LjQuSDRg9C60LDQt9Cw0YLQtdC7 0Yw8L2E+PC90ZD48L3RyPg0KDQo8dHIgdmFsaWduPXRvcD48dGQgd2lkdGg9MTQg YWxpZ249Y2VudGVyPjxpbWcgc3JjPSIvaW1hZ2VzL2JsX2t2LmdpZiIgYm9yZGVy PTAgd2lkdGg9NyBoZWlnaHQ9NyBoc3BhY2U9MyAgY2xhc3M9InNoYWRvdyI+PC90 ZD48dGQgYWxpZ249bGVmdD48YSBocmVmPSIvcnVicmljcy5hc3AiPtCi0LXQvNCw 0YLQuNGH0LXRgdC60LjQuSDRgNGD0LHRgNC40LrQsNGC0L7RgDwvYT48L3RkPjwv dHI+DQoNCjx0ciB2YWxpZ249dG9wPjx0ZCB3aWR0aD0xNCBhbGlnbj1jZW50ZXI+ PGltZyBzcmM9Ii9pbWFnZXMvYmxfa3YuZ2lmIiBib3JkZXI9MCB3aWR0aD03IGhl aWdodD03IGhzcGFjZT0zICBjbGFzcz0ic2hhZG93Ij48L3RkPjx0ZCBhbGlnbj1s ZWZ0PjxhIGhyZWY9Ii9uZXdfaXNzdWVzLmFzcCI+0J3QvtCy0YvQtSDQv9C+0YHR gtGD0L/Qu9C10L3QuNGPPC9hPjwvdGQ+PC90cj4NCg0KPC90YWJsZT4NCg0KPGRp diBzdHlsZT0iaGVpZ2h0OiAxMHB4OyI+PC9kaXY+DQoNCjx0YWJsZSBib3JkZXI9 MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTQwPg0KPHRyIGNs YXNzPSJtZW51YiI+PHRkIGFsaWduPXJpZ2h0IHdpZHRoPTQwIHZhbGlnbj1ib3R0 b20+PGltZyBzcmM9Ii9pbWFnZXMvb3Jfa3YuZ2lmIiB3aWR0aD03IGhlaWdodD03 IGJvcmRlcj0wIGhzcGFjZT02IHZzcGFjZT0xIGNsYXNzPSJzaGFkb3ciPjwvdGQ+ PHRkIGFsaWduPWxlZnQgd2lkdGg9MTAwIHZhbGlnbj10b3A+PGEgaHJlZj0iL25h dmlnYXRvci5hc3AiPtCd0LDRgdGC0YDQvtC50LrQsDwvYT48L3RkPjwvdHI+PC90 YWJsZT4NCjxkaXYgc3R5bGU9ImhlaWdodDogNHB4OyI+PC9kaXY+DQoNCjwvZGl2 Pg0KPC9kaXY+DQo8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGltZyBzcmM9Ii9waWMv MXBpeC5naWYiIHZzcGFjZT05PjwvdGQ+PC90cj4NCjxTQ1JJUFQgTEFOR1VBR0U9 IkphdmFTY3JpcHQiPg0KZnVuY3Rpb24gZW5kX3Nlc3Npb24oKXsNCg0KICBpZiAo Y29uZmlybSgi0KHQvtGF0YDQsNC90LjRgtGMINCS0LDRiNC4INC00LDQvdC90YvQ tSDQvdCwINGN0YLQvtC8INC60L7QvNC/0YzRjtGC0LXRgNC1PyIpKXsNCiAgICBk b2N1bWVudC5mb3Jtc1sic2Vzc2lvbiJdLnNhdmV1c2VyLnZhbHVlPSIxIjt9DQog IGVsc2V7DQogICAgZG9jdW1lbnQuZm9ybXNbInNlc3Npb24iXS5zYXZldXNlci52 YWx1ZT0iMCI7fQ0KDQogIGRvY3VtZW50LmZvcm1zWyJzZXNzaW9uIl0uYWN0aW9u PSIvZW5kX3Nlc3Npb24uYXNwIjsNCiAgZG9jdW1lbnQuZm9ybXNbInNlc3Npb24i XS50YXJnZXQ9IiI7DQogIGRvY3VtZW50LmZvcm1zWyJzZXNzaW9uIl0uc3VibWl0 KCkNCn0NCjwvU0NSSVBUPg0KPEZPUk0gYWN0aW9uPSIvZW5kX3Nlc3Npb24uYXNw IiBtZXRob2Q9UE9TVCBuYW1lPSJzZXNzaW9uIj4NCjxpbnB1dCB0eXBlPSJoaWRk ZW4iIG5hbWU9InNhdmV1c2VyIiB2YWx1ZT0iMSI+DQoNCjx0cj48dGQgd2lkdGg9 MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCg0KPGRpdiBjbGFzcz0ibGVm dC1wYW5lbCI+DQoNCjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxw YWRkaW5nPTAgd2lkdGg9MTQwPg0KPHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWNl bnRlciB2YWxpZ249dG9wPjxmb250IGNvbG9yPSNGMjZDNEY+PGI+PHNwYW4gY2xh c3M9ImV4cGFuZGFibGUiIG9uQ2xpY2s9IiQoJyN3aW5fc2Vzc2lvbicpLnNsaWRl VG9nZ2xlKDUwMCwgZnVuY3Rpb24oKXtkaWRTY3JvbGwgPSB0cnVlO30pIiB0aXRs ZT0i0JjQvdGE0L7RgNC80LDRhtC40Y8g0L4g0YLQtdC60YPRidC10Lkg0YHQtdGB 0YHQuNC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyI+0KHQldCh0KHQmNCvPC9z cGFuPjwvYj48L2ZvbnQ+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8ZGl2IElE PSJ3aW5fc2Vzc2lvbiIgY2xhc3M9ImNvbGxhcHNlZCI+DQo8ZGl2IHN0eWxlPSJo ZWlnaHQ6IDEwcHg7Ij48L2Rpdj4NCg0KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFj aW5nPTAgY2VsbHBhZGRpbmc9MiB3aWR0aD0xNDA+DQo8dHI+PHRkIHdpZHRoPTEw MCUgYWxpZ249bGVmdCB2YWxpZ249dG9wPg0KJm5ic3A7PGZvbnQgY29sb3I9IzAw MDAwMD7QmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPOjwvZm9udD48L3Rk PjwvdHI+DQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249Y2VudGVyIHZhbGlnbj10 b3A+DQo8Zm9udCBjb2xvcj0jMDAwMDhmPjxhIGhyZWY9ImF1dGhvcl9pbmZvLmFz cD9pc29sZD0xIiB0aXRsZT0i0J/QtdGA0YHQvtC90LDQu9GM0L3QsNGPINC60LDR gNGC0L7Rh9C60LAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIj5nYXJ1c292YTwv YT48L2ZvbnQ+PC90ZD48L3RyPg0KDQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249 bGVmdCB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0iaGVpZ2h0OiAycHg7Ij48L2Rp dj4NCiZuYnNwOzxmb250IGNvbG9yPSMwMDAwMDA+U1BJTi3QutC+0LQg0LDQstGC 0L7RgNCwOjwvZm9udD48L3RkPjwvdHI+DQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxp Z249Y2VudGVyIHZhbGlnbj10b3A+DQo8Zm9udCBjb2xvcj0jMDAwMDhmPjxhIGhy ZWY9ImF1dGhvcl9pbmZvLmFzcD9pc29sZD0xIiB0aXRsZT0i0J/QtdGA0YHQvtC9 0LDQu9GM0L3QsNGPINC60LDRgNGC0L7Rh9C60LAg0LDQstGC0L7RgNCwIj43NDE5 LTY1MjA8L2E+PC9mb250PjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0xMDAl IGFsaWduPWxlZnQgdmFsaWduPXRvcD4NCjxkaXYgc3R5bGU9ImhlaWdodDogMnB4 OyI+PC9kaXY+DQombmJzcDs8Zm9udCBjb2xvcj0jMDAwMDAwPklQLdCw0LTRgNC1 0YEg0LrQvtC80L/RjNGO0YLQtdGA0LA6PC9mb250PjwvdGQ+PC90cj4NCjx0cj48 dGQgd2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCjxmb250IGNv bG9yPSMwMDAwOGY+NS4xMDAuODQuMjM0PC9mb250PjwvdGQ+PC90cj4NCjx0cj48 dGQgd2lkdGg9MTAwJSBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+DQo8ZGl2IHN0eWxl PSJoZWlnaHQ6IDJweDsiPjwvZGl2Pg0KJm5ic3A7PGZvbnQgY29sb3I9IzAwMDAw MD7QndCw0LfQstCw0L3QuNC1INC+0YDQs9Cw0L3QuNC30LDRhtC40Lg6PC9mb250 PjwvdGQ+PC90cj4NCjx0cj48dGQgd2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFs aWduPXRvcD4NCg0KPGZvbnQgY29sb3I9IzAwMDA4Zj7QvdC1INC+0L/RgNC10LTQ tdC70LXQvdCwPC9mb250PjwvdGQ+PC90cj4NCjx0cj48dGQgd2lkdGg9MTAwJSBh bGlnbj1sZWZ0IHZhbGlnbj10b3A+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDJweDsi PjwvZGl2Pg0KJm5ic3A7PGZvbnQgY29sb3I9IzAwMDAwMD7QndCw0YfQsNC70L4g 0YDQsNCx0L7RgtGLOjwvZm9udD48L3RkPjwvdHI+DQoNCjx0cj48dGQgd2lkdGg9 MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCjxmb250IGNvbG9yPSMwMDAw OGY+MzEuMTIuMjAxMyAxMzo0NzwvZm9udD48L3RkPjwvdHI+DQo8dHI+PHRkIHdp ZHRoPTEwMCUgYWxpZ249bGVmdCB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0iaGVp Z2h0OiAycHg7Ij48L2Rpdj4NCiZuYnNwOzxmb250IGNvbG9yPSMwMDAwMDA+0JLR gNC10LzRjyDRgNCw0LHQvtGC0Ys6PC9mb250PjwvdGQ+PC90cj4NCjx0cj48dGQg d2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCjxmb250IGNvbG9y PSMwMDAwOGY+MDA6MDE8L2ZvbnQ+PC90ZD48L3RyPg0KPC90YWJsZT4NCg0KPGRp diBzdHlsZT0iaGVpZ2h0OiAxMHB4OyI+PC9kaXY+DQoNCjx0YWJsZSBib3JkZXI9 MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTQwPg0KPHRyIGNs YXNzPSJtZW51YiI+PHRkIGFsaWduPXJpZ2h0IHdpZHRoPTMwIHZhbGlnbj1ib3R0 b20+PGltZyBzcmM9Ii9pbWFnZXMvb3Jfa3YuZ2lmIiB3aWR0aD03IGhlaWdodD03 IGJvcmRlcj0wIGhzcGFjZT02IHZzcGFjZT0xIGNsYXNzPSJzaGFkb3ciPjwvdGQ+ PHRkIGFsaWduPWxlZnQgd2lkdGg9MTEwIHZhbGlnbj10b3A+PGEgaHJlZj0iamF2 YXNjcmlwdDplbmRfc2Vzc2lvbigpIj7Ql9Cw0LrRgNGL0YLRjCDRgdC10YHRgdC4 0Y48L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDRw eDsiPjwvZGl2Pg0KDQo8L2Rpdj4NCjwvZGl2Pg0KPC90ZD48L3RyPg0KDQo8dHI+ PHRkPjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3BhY2U9OT48L3RkPjwvdHI+ DQo8L0ZPUk0+DQoNCjx0cj48dGQgd2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFs aWduPXRvcD4NCg0KPGRpdiBjbGFzcz0ibGVmdC1wYW5lbCI+DQoNCjx0YWJsZSBi b3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTQwPg0K PHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPjxmb250 IGNvbG9yPSNGMjZDNEY+PGI+PHNwYW4gY2xhc3M9ImV4cGFuZGFibGUiIG9uQ2xp Y2s9IiQoJyN3aW5fY29udGFjdCcpLnNsaWRlVG9nZ2xlKDUwMCwgZnVuY3Rpb24o KXtkaWRTY3JvbGwgPSB0cnVlO30pIiB0aXRsZT0i0JrQvtC90YLQsNC60YLQvdCw 0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y8g0J3QsNGD0YfQvdC+0Lkg0Y3Qu9C10LrR gtGA0L7QvdC90L7QuSDQsdC40LHQu9C40L7RgtC10LrQuCI+0JrQntCd0KLQkNCa 0KLQqzwvc3Bhbj48L2I+PC9mb250Pg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCg0K PGRpdiBJRD0id2luX2NvbnRhY3QiIGNsYXNzPSJjb2xsYXBzZWQiPg0KPGRpdiBz dHlsZT0iaGVpZ2h0OiAxMHB4OyI+PC9kaXY+DQoNCjx0YWJsZSBib3JkZXI9MCBj ZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTIgd2lkdGg9MTQwPg0KDQo8dHI+PHRk IHdpZHRoPTEwMCUgYWxpZ249bGVmdCB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0i aGVpZ2h0OiAycHg7Ij48L2Rpdj4NCiZuYnNwOzxmb250IGNvbG9yPSMwMDAwMDA+ 0JjQt9C00LDRgtC10LvRj9C8INC20YPRgNC90LDQu9C+0LI6PC9mb250PjwvdGQ+ PC90cj4NCjx0cj48dGQgd2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRv cD4NCjxmb250IGNvbG9yPSMwMDAwOGY+KDctNDk1KSA5MzUtMDExMDxicj4oNy00 OTUpIDkzNi0xNzcyPGJyPjwvZm9udD4NCjxmb250IGNvbG9yPSMwMDAwOGY+PGEg aHJlZj0ibWFpbHRvOnB1Ymxpc2hAZWxpYnJhcnkucnUiPnB1Ymxpc2hAZWxpYnJh cnkucnU8L2E+PC9mb250PjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0xMDAl IGFsaWduPWxlZnQgdmFsaWduPXRvcD4NCjxkaXYgc3R5bGU9ImhlaWdodDogMnB4 OyI+PC9kaXY+DQombmJzcDs8Zm9udCBjb2xvcj0jMDAwMDAwPtCY0LfQtNCw0YLQ tdC70Y/QvCDQutC90LjQszo8L2ZvbnQ+PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0 aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGZvbnQgY29sb3I9IzAw MDA4Zj4oNy00OTUpIDkzNS0wMTA0PGJyPjwvZm9udD4NCjxmb250IGNvbG9yPSMw MDAwOGY+PGEgaHJlZj0ibWFpbHRvOmJvb2tAZWxpYnJhcnkucnUiPmJvb2tAZWxp YnJhcnkucnU8L2E+PC9mb250PjwvdGQ+PC90cj4NCg0KDQo8dHI+PHRkIHdpZHRo PTEwMCUgYWxpZ249bGVmdCB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0iaGVpZ2h0 OiAycHg7Ij48L2Rpdj4NCiZuYnNwOzxmb250IGNvbG9yPSMwMDAwMDA+0J/QvtC0 0L/QuNGB0YfQuNC60LDQvDo8L2ZvbnQ+PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0 aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGZvbnQgY29sb3I9IzAw MDA4Zj4oNy00OTUpIDkzNS0wMTAxPGJyPjwvZm9udD4NCjxmb250IGNvbG9yPSMw MDAwOGY+PGEgaHJlZj0ibWFpbHRvOnNhbGVzQGVsaWJyYXJ5LnJ1Ij5zYWxlc0Bl bGlicmFyeS5ydTwvYT48L2ZvbnQ+PC90ZD48L3RyPg0KDQo8dHI+PHRkIHdpZHRo PTEwMCUgYWxpZ249bGVmdCB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0iaGVpZ2h0 OiAycHg7Ij48L2Rpdj4NCiZuYnNwOzxmb250IGNvbG9yPSMwMDAwMDA+0JHRg9GF 0LPQsNC70YLQtdGA0LjRjzo8L2ZvbnQ+PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0 aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGZvbnQgY29sb3I9IzAw MDA4Zj4oNy00OTUpIDkzNS0wMTExPGJyPjwvZm9udD4NCjxmb250IGNvbG9yPSMw MDAwOGY+PGEgaHJlZj0ibWFpbHRvOmJ1Y2hAZWxpYnJhcnkucnUiPmJ1Y2hAZWxp YnJhcnkucnU8L2E+PC9mb250PjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0x MDAlIGFsaWduPWxlZnQgdmFsaWduPXRvcD4NCjxkaXYgc3R5bGU9ImhlaWdodDog MnB4OyI+PC9kaXY+DQombmJzcDs8Zm9udCBjb2xvcj0jMDAwMDAwPtCh0LvRg9C2 0LHQsCDQv9C+0LTQtNC10YDQttC60Lg6PC9mb250PjwvdGQ+PC90cj4NCjx0cj48 dGQgd2lkdGg9MTAwJSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCjxmb250IGNv bG9yPSMwMDAwOGY+KDctNDk1KSA5MzUtMDAwMTxicj48L2ZvbnQ+DQo8Zm9udCBj b2xvcj0jMDAwMDhmPjxhIGhyZWY9Im1haWx0bzpzdXBwb3J0QGVsaWJyYXJ5LnJ1 Ij5zdXBwb3J0QGVsaWJyYXJ5LnJ1PC9hPjwvZm9udD48L3RkPjwvdHI+DQo8L3Rk PjwvdHI+DQoNCjx0cj48dGQgd2lkdGg9MTAwJSBhbGlnbj1sZWZ0IHZhbGlnbj10 b3A+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDJweDsiPjwvZGl2Pg0KJm5ic3A7PGZv bnQgY29sb3I9IzAwMDAwMD7QpNCw0LrRgTo8L2ZvbnQ+PC90ZD48L3RyPg0KPHRy Pjx0ZCB3aWR0aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGZvbnQg Y29sb3I9IzAwMDA4Zj4oNy00OTUpIDkzNS0wMDAyPC9mb250PjwvdGQ+PC90cj4N Cg0KPHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWxlZnQgdmFsaWduPXRvcD4NCjxk aXYgc3R5bGU9ImhlaWdodDogMnB4OyI+PC9kaXY+DQombmJzcDs8Zm9udCBjb2xv cj0jMDAwMDAwPtCf0L7Rh9GC0L7QstGL0Lkg0LDQtNGA0LXRgTo8L2ZvbnQ+PC90 ZD48L3RyPg0KPHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWNlbnRlciB2YWxpZ249 dG9wPg0KPGZvbnQgY29sb3I9IzAwMDA4Zj4xMTk0MjEsINCc0L7RgdC60LLQsCwg 0YPQuy4mbmJzcDvQndC+0LLQsNGC0L7RgNC+0LIsIDfQkCwg0LouMTA3PC9mb250 PjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0xMDAlIGFsaWduPWxlZnQgdmFs aWduPXRvcD4NCjxkaXYgc3R5bGU9ImhlaWdodDogMnB4OyI+PC9kaXY+DQombmJz cDs8Zm9udCBjb2xvcj0jMDAwMDAwPtCQ0LTRgNC10YHQsCDRgdC10YDQstC10YDQ vtCyOjwvZm9udD48L3RkPjwvdHI+DQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249 Y2VudGVyIHZhbGlnbj10b3A+DQo8Zm9udCBjb2xvcj0jMDAwMDhmPjxhIGhyZWY9 Imh0dHA6Ly9lbGlicmFyeS5ydSI+aHR0cDovL2VsaWJyYXJ5LnJ1PC9hPjwvZm9u dD48L3RkPjwvdHI+DQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249Y2VudGVyIHZh bGlnbj10b3A+DQo8Zm9udCBjb2xvcj0jMDAwMDhmPjxhIGhyZWY9Imh0dHA6Ly9l LWxpYnJhcnkucnUiPmh0dHA6Ly9lLWxpYnJhcnkucnU8L2E+PC9mb250Pg0KPC90 ZD48L3RyPg0KDQo8dHI+PHRkIHdpZHRoPTEwMCUgYWxpZ249bGVmdCB2YWxpZ249 dG9wPg0KPGRpdiBzdHlsZT0iaGVpZ2h0OiAycHg7Ij48L2Rpdj4NCiZuYnNwOzxm b250IGNvbG9yPSMwMDAwMDA+0KDQsNC30LzQtdGJ0LXQvdC40LUg0YDQtdC60LvQ sNC80Ys6PC9mb250PjwvdGQ+PC90cj4NCjx0cj48dGQgd2lkdGg9MTAwJSBhbGln bj1jZW50ZXIgdmFsaWduPXRvcD4NCjxmb250IGNvbG9yPSMwMDAwOGY+PGEgaHJl Zj0ibWFpbHRvOnJla2xhbWFAZWxpYnJhcnkucnUiPnJla2xhbWFAZWxpYnJhcnku cnU8L2E+PC9mb250PjwvdGQ+PC90cj4NCg0KPC90YWJsZT4NCg0KPGRpdiBzdHls ZT0iaGVpZ2h0OiAxMHB4OyI+PC9kaXY+DQoNCjx0YWJsZSBib3JkZXI9MCBjZWxs c3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTQwPg0KPHRyIGNsYXNzPSJt ZW51YiI+PHRkIGFsaWduPXJpZ2h0IHdpZHRoPTMwIHZhbGlnbj1ib3R0b20+PGlt ZyBzcmM9Ii9pbWFnZXMvb3Jfa3YuZ2lmIiB3aWR0aD03IGhlaWdodD03IGJvcmRl cj0wIGhzcGFjZT02IHZzcGFjZT0xIGNsYXNzPSJzaGFkb3ciPjwvdGQ+PHRkIGFs aWduPWxlZnQgd2lkdGg9MTEwIHZhbGlnbj10b3A+PGEgaHJlZj0iL2NvbnRhY3Qu YXNwIj7QodGF0LXQvNCwINC/0YDQvtC10LfQtNCwPC9hPjwvdGQ+PC90cj48L3Rh YmxlPg0KPGRpdiBzdHlsZT0iaGVpZ2h0OiA0cHg7Ij48L2Rpdj4NCg0KPC9kaXY+ DQo8L2Rpdj4NCjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48aW1nIHNyYz0iL3BpYy8x cGl4LmdpZiIgdnNwYWNlPTk+PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0aD0xMDAl IGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGRpdiBzdHlsZT0id2lkdGg6IDE0 MHB4OyIgY2xhc3M9ImhlbHAtcGFuZWwiPg0KPHRhYmxlIHdpZHRoPTE0MCBjZWxs c3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgYm9yZGVyPTA+DQo8dHI+PHRkIHdpZHRo PTE1JSBhbGlnbj1yaWdodCB2YWxpZ249dG9wPg0KPGltZyBzcmM9Ii9pbWFnZXMv YnV0X29yYW5nZV9pLmdpZiIgd2lkdGg9MTUgaGVpZ2h0PTE1IGhzcGFjZT0wIGJv cmRlcj0wPjwvdGQ+DQo8dGQgd2lkdGg9ODUlIGFsaWduPWxlZnQgdmFsaWduPW1p ZGRsZT48Zm9udCBjb2xvcj0jMDAwMDhmPtCf0L4g0LLRgdC10Lwg0LLQvtC/0YDQ vtGB0LDQvCwg0YHQstGP0LfQsNC90L3Ri9C8INGBINGA0LDQsdC+0YLQvtC5INCy INGB0LjRgdGC0LXQvNC1IFNjaWVuY2UgSW5kZXgsINC+0LHRgNCw0YnQsNC50YLQ tdGB0YwsINC/0L7QttCw0LvRg9C50YHRgtCwLCDQsiDRgdC70YPQttCx0YMg0L/Q vtC00LTQtdGA0LbQutC4Ojxicj48YnI+DQorNyAoNDk1KSA5MzUtMDAwMTxicj4N CjxhIGhyZWY9Im1haWx0bzpzdXBwb3J0QGVsaWJyYXJ5LnJ1Ij5zdXBwb3J0QGVs aWJyYXJ5LnJ1PC9hPjwvZm9udD4NCjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8L2Rp dj4NCjwvdGQ+PC90cj4NCg0KPHRyPjx0ZD48aW1nIHNyYz0iL3BpYy8xcGl4Lmdp ZiIgdnNwYWNlPTk+PC90ZD48L3RyPg0KDQoNCjwvdGFibGU+DQoNCjwvdGQ+PHRk IGFsaWduPWxlZnQgdmFsaWduPXRvcD4NCg0KPHRhYmxlIGJvcmRlcj0wIGNlbGxz cGFjaW5nPTAgY2VsbHBhZGRpbmc9MD4NCjx0cj48dGQgd2lkdGg9NjAwIGFsaWdu PWxlZnQgdmFsaWduPXRvcD4NCg0KPHRhYmxlIHdpZHRoPTU4MCBib3JkZXI9MCBj ZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTA+DQo8dHI+PHRkIHdpZHRoPTEwMCUg YWxpZ249bGVmdCB2YWxpZ249dG9wPg0KDQoNCg0KPGRpdiBjbGFzcz0iaGVhZGVy LXBhbmVsIj4NCjxkaXYgc3R5bGU9Im1hcmdpbjogMDsgYm9yZGVyOiAwOyBwYWRk aW5nOiAwIDAgNXB4IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiA5 cHQ7Ij48Zm9udCBjb2xvcj0jNTY3NGI5PjxiPtCY0J3QpNCe0KDQnNCQ0KbQmNCv INCeINCf0KPQkdCb0JjQmtCQ0KbQmNCYPC9iPjwvZm9udD48L2Rpdj4NCjwvZGl2 Pg0KDQo8L3RkPjwvdHI+PC90YWJsZT4NCg0KPC90ZD48dGQgd2lkdGg9MjAwIGFs aWduPXJpZ2h0IHZhbGlnbj1taWRkbGUgaWQ9InJpZ2h0Y29sIj4NCjxhIGhyZWY9 Ii9wcm9qZWN0X3Jpc2MuYXNwIj48aW1nIHNyYz0iL2ltYWdlcy9zY2llbmNlaW5k ZXhfbG9nbzIucG5nIiB3aWR0aD0xNzMgaGVpZ2h0PTQ1IGJvcmRlcj0wIGhzcGFj ZT01IHRpdGxlPSLQmNC90YTQvtGA0LzQsNGG0LjQvtC90L3Qvi3QsNC90LDQu9C4 0YLQuNGH0LXRgdC60LDRjyDRgdC40YHRgtC10LzQsCBTQ0lFTkNFIElOREVYIj48 L2E+PC90ZD48L3RyPg0KPHRyPjx0ZCBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+DQoN Cg0KPGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZzcGFjZT02Pjxicj4NCjx0YWJs ZSB3aWR0aD01NTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0zIGJvcmRlcj0w Pg0KPHRyIGFsaWduPWNlbnRlciB2YWxpZ249bWlkZGxlPg0KPHRkIHdpZHRoPTQ+ PC90ZD4NCjx0ZCB3aWR0aD01MzQ+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOXB0 OyBjb2xvcjogIzAwMDAwMCI+PGI+0JrQntCd0JrQo9Cg0JXQndCi0J7QodCf0J7Q odCe0JHQndCe0KHQotCsINCf0KDQntCU0KPQmtCm0JjQmCDQmtCQ0Jog0J7QodCd 0J7QktCd0J7QmSDQpNCQ0JrQotCe0KAg0JrQntCd0JrQo9Cg0JXQndCi0J7QodCf 0J7QodCe0JHQndCe0KHQotCYINCf0KDQldCU0J/QoNCY0J3QmNCc0JDQotCV0JvQ rNCh0JrQmNClINCh0KLQoNCj0JrQotCj0KA6INCf0KDQntCR0JvQldCc0Ksg0KLQ ldCe0KDQmNCYPC9iPg0KPC9zcGFuPjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCg0K PGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZzcGFjZT00Pjxicj4NCg0KPHRhYmxl IHdpZHRoPTU1MCBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTM+ DQo8dHI+DQo8dGQgd2lkdGg9MjQ+PC90ZD4NCjx0ZCB3aWR0aD01MTQgdmFsaWdu PW1pZGRsZSBhbGlnbj1jZW50ZXI+DQo8c3BhbiBzdHlsZT0nd2hpdGUtc3BhY2U6 IG5vd3JhcCc+PGEgaHJlZj0nYXV0aG9yX2l0ZW1zLmFzcD9hdXRob3JpZD03MTAx NzInIHRpdGxlPSfQodC/0LjRgdC+0Log0L/Rg9Cx0LvQuNC60LDRhtC40Lkg0Y3R gtC+0LPQviDQsNCy0YLQvtGA0LAnPjxiPtCY0KHQkNCV0JIg0JAu0JAuPC9iPjwv YT48YSBocmVmPSdtYWlsdG86aXNhZXZhbGV4QGxpc3QucnUnPjxpbWcgc3JjPScv aW1hZ2VzL21haWwxLmdpZicgYm9yZGVyPTAgaHNwYWNlPTIgaGVpZ2h0PTggd2lk dGg9MTAgYWx0PSfQndCw0L/QuNGB0LDRgtGMINC/0LjRgdGM0LzQviDQsNCy0YLQ vtGA0YMnPjwvYT48c3BhbiB0aXRsZT0n0LQt0YAg0Y3QutC+0L0uINC90LDRg9C6 LCDQv9GA0L7RhNC10YHRgdC+0YAg0LrQsNGE0LXQtNGA0Ysg0LzQsNGA0LrQtdGC 0LjQvdCz0LAg0Lgg0LrQvtC80LzQtdGA0YbQuNC4Jz48aW1nIHNyYz0nL2ltYWdl cy9hYm91dF9hdXRob3IuZ2lmJyBib3JkZXI9MCBoc3BhY2U9MiBoZWlnaHQ9MTAg d2lkdGg9OT48L3NwYW4+PGZvbnQgY29sb3I9IzAwMDAwMD48c3VwPjE8L3N1cD48 L2ZvbnQ+PC9zcGFuPiwgPHNwYW4gc3R5bGU9J3doaXRlLXNwYWNlOiBub3dyYXAn PjxhIGhyZWY9J2F1dGhvcl9pdGVtcy5hc3A/YXV0aG9yaWQ9Mjk1NDc0JyB0aXRs ZT0n0KHQv9C40YHQvtC6INC/0YPQsdC70LjQutCw0YbQuNC5INGN0YLQvtCz0L4g 0LDQstGC0L7RgNCwJz48Yj7Qk9CQ0KDQo9Ch0J7QktCQINCbLtCdLjwvYj48L2E+ PGEgaHJlZj0nbWFpbHRvOmlzYWV2YWxleEBsaXN0LnJ1Jz48aW1nIHNyYz0nL2lt YWdlcy9tYWlsMS5naWYnIGJvcmRlcj0wIGhzcGFjZT0yIGhlaWdodD04IHdpZHRo PTEwIGFsdD0n0J3QsNC/0LjRgdCw0YLRjCDQv9C40YHRjNC80L4g0LDQstGC0L7R gNGDJz48L2E+PHNwYW4gdGl0bGU9J9C0LdGAINC40YHRgi4g0L3QsNGD0LosINC/ 0YDQvtGE0LXRgdGB0L7RgCDQutCw0YTQtdC00YDRiyDQvNC40YDQvtCy0L7QuSDR jdC60L7QvdC+0LzQuNC60Lgg0Lgg0Y3QutC+0L3QvtC80LjRh9C10YHQutC+0Lkg 0YLQtdC+0YDQuNC4Jz48aW1nIHNyYz0nL2ltYWdlcy9hYm91dF9hdXRob3IuZ2lm JyBib3JkZXI9MCBoc3BhY2U9MiBoZWlnaHQ9MTAgd2lkdGg9OT48L3NwYW4+PGZv bnQgY29sb3I9IzAwMDAwMD48c3VwPjE8L3N1cD48L2ZvbnQ+PC9zcGFuPg0KPGJy Pjxmb250IGNvbG9yPSMwMDAwMDA+PHN1cD4xPC9zdXA+PC9mb250PiZuYnNwOzxh IGhyZWY9J29yZ19pdGVtcy5hc3A/b3Jnc2lkPTk4NCcgdGl0bGU9J9CS0LvQsNC0 0LjQstC+0YHRgtC+0LrRgdC60LjQuSDQs9C+0YHRg9C00LDRgNGB0YLQstC10L3Q vdGL0Lkg0YPQvdC40LLQtdGA0YHQuNGC0LXRgiDRjdC60L7QvdC+0LzQuNC60Lgg 0Lgg0YHQtdGA0LLQuNGB0LAnPtCS0LvQsNC00LjQstC+0YHRgtC+0LrRgdC60LjQ uSDQs9C+0YHRg9C00LDRgNGB0YLQstC10L3QvdGL0Lkg0YPQvdC40LLQtdGA0YHQ uNGC0LXRgiDRjdC60L7QvdC+0LzQuNC60Lgg0Lgg0YHQtdGA0LLQuNGB0LA8L2E+ PGJyPjwvY2VudGVyPg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCg0KPGltZyBzcmM9 Ii9waWMvMXBpeC5naWYiIHZzcGFjZT02Pjxicj4NCg0KDQoNCjx0YWJsZSB3aWR0 aD01ODAgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGluZz0wPg0KPHRy Pg0KDQo8dGQgd2lkdGg9MTQzIGFsaWduPXJpZ2h0IHZhbGlnbj10b3A+DQoNCjxh IGhyZWY9InRpdGxlX2Fib3V0LmFzcD9pZD0yNzc4MyI+PGltZyBzcmM9Ii9qY292 ZXJzLzE5OTkyMzAwLmdpZiIgYm9yZGVyPTAgd2lkdGg9MTAwIHRpdGxlPSfQniDQ ttGD0YDQvdCw0LvQtSAi0K3QutC+0L3QvtC80LjQutCwINC4INC/0YDQtdC00L/R gNC40L3QuNC80LDRgtC10LvRjNGB0YLQstC+Iicgc3R5bGU9ImJlaGF2aW9yOiB1 cmwoL3BpZS9QSUUuaHRjKTsgYm94LXNoYWRvdzogMXB4IDJweCAzcHggIzg4ODsi IGhzcGFjZT0wPjwvYT4NCg0KPC90ZD4NCg0KDQo8dGQgd2lkdGg9NDE3IHZhbGln bj1taWRkbGU+DQoNCjx0YWJsZSB3aWR0aD00MTcgYm9yZGVyPTAgY2VsbHNwYWNp bmc9MCBjZWxscGFkZGluZz0yPg0KDQoNCg0KPHRyPjx0ZCB3aWR0aD00MTEgYWxp Z249Y2VudGVyIHZhbGlnbj1taWRkbGU+DQrQotC40L86Jm5ic3A7PGZvbnQgY29s b3I9IzAwMDA4Zj7RgdGC0LDRgtGM0Y8g0LIg0LbRg9GA0L3QsNC70LUgLSDQvdCw 0YPRh9C90LDRjyDRgdGC0LDRgtGM0Y88L2ZvbnQ+DQo8aW1nIHNyYz0iL3BpYy8x cGl4LmdpZiIgaHNwYWNlPTEwPtCv0LfRi9C6OiZuYnNwOzxmb250IGNvbG9yPSMw MDAwOGY+0YDRg9GB0YHQutC40Lk8L2ZvbnQ+DQo8L3RkPjwvdHI+DQoNCjx0cj48 dGQ+PC90ZD48L3RyPg0KDQo8dHI+PHRkIHdpZHRoPTQxMSBhbGlnbj1jZW50ZXIg dmFsaWduPW1pZGRsZT4NCtCi0L7QvDombmJzcDs8Zm9udCBjb2xvcj0jMDAwMDhm Pjc8L2ZvbnQ+PGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIGhzcGFjZT0xMD7QndC+ 0LzQtdGAOiZuYnNwOzxhIGhyZWY9ImNvbnRlbnRzLmFzcD9pc3N1ZWlkPTEwNzYz NDkmc2VsaWQ9MTgyNDQ2NTEiIHRpdGxlPSLQntCz0LvQsNCy0LvQtdC90LjQtSDQ stGL0L/Rg9GB0LrQsCI+MSZuYnNwOygzMCk8L2E+DQo8aW1nIHNyYz0iL3BpYy8x cGl4LmdpZiIgaHNwYWNlPTEwPtCT0L7QtDombmJzcDs8Zm9udCBjb2xvcj0jMDAw MDhmPjIwMTM8L2ZvbnQ+DQo8aW1nIHNyYz0iL3BpYy8xcGl4LmdpZiIgaHNwYWNl PTEwPtCh0YLRgNCw0L3QuNGG0Ys6Jm5ic3A7PGZvbnQgY29sb3I9IzAwMDA4Zj4y NzEtMjczPC9mb250Pg0KPC90ZD48L3RyPg0KDQo8dHI+PHRkPjwvdGQ+PC90cj4N Cg0KPHRyPjx0ZCB3aWR0aD00MTEgYWxpZ249Y2VudGVyIHZhbGlnbj1taWRkbGU+ DQrQptC40YIuINCyINCg0JjQndCmPHN1cD4mcmVnOzwvc3VwPjombmJzcDswDQo8 aW1nIHNyYz0iL3BpYy8xcGl4LmdpZiIgaHNwYWNlPTEwPtCm0LjRgi4g0LIgV2Vi IG9mIFNjaWVuY2U8c3VwPiZyZWc7PC9zdXA+OiZuYnNwOzxzcGFuIGlkPSJXb3ND aXRlZCI+PC9zcGFuPg0KDQoNCjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiBoc3Bh Y2U9MTA+0KbQuNGCLiDQsiBTY29wdXM8c3VwPiZyZWc7PC9zdXA+OiZuYnNwOzxz cGFuIGlkPSJTY29wdXNDaXRlZCI+PC9zcGFuPg0KDQo8L3RkPjwvdHI+DQoNCg0K DQoNCjwvdGFibGU+DQo8dGQgd2lkdGg9MjA+PC90ZD4NCjwvdGQ+PC90cj48L3Rh YmxlPg0KDQoNCg0KPGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZzcGFjZT00Pjxi cj4NCjx0YWJsZSB3aWR0aD01NTAgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxs cGFkZGluZz0zPg0KPHRyPjx0ZCBjb2xzcGFuPTIgYWxpZ249bGVmdD4NCjxmb250 IGNvbG9yPSMwMDAwMDA+0JbQo9Cg0J3QkNCbOjwvZm9udD48L3RkPjwvdHI+DQo8 dHI+PHRkIHdpZHRoPTM0PiZuYnNwOzwvdGQ+PHRkIHdpZHRoPTUwNCBhbGlnbj1s ZWZ0IHZhbGlnbj1taWRkbGU+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6IDNweDsiPiZu YnNwOzwvZGl2Pg0KPGEgaHJlZj0iY29udGVudHMuYXNwP2lzc3VlaWQ9MTA3NjM0 OSIgdGl0bGU9ItCe0LPQu9Cw0LLQu9C10L3QuNGPINCy0YvQv9GD0YHQutC+0LIg 0Y3RgtC+0LPQviDQttGD0YDQvdCw0LvQsCI+0K3QmtCe0J3QntCc0JjQmtCQINCY INCf0KDQldCU0J/QoNCY0J3QmNCc0JDQotCV0JvQrNCh0KLQktCePC9hPg0KPGJy PtCY0LfQtNCw0YLQtdC70YzRgdGC0LLQvjombmJzcDs8YSBocmVmPSJwdWJsaXNo ZXJfdGl0bGVzLmFzcD9wdWJsaXNoaWQ9Nzg1NSIgdGl0bGU9ItCh0L/QuNGB0L7Q uiDQttGD0YDQvdCw0LvQvtCyINGN0YLQvtCz0L4g0LjQt9C00LDRgtC10LvRjNGB 0YLQstCwIj7QoNC10LTQsNC60YbQuNGPINC20YPRgNC90LDQu9CwICLQrdC60L7Q vdC+0LzQuNC60LAg0Lgg0L/RgNC10LTQv9GA0LjQvdC40LzQsNGC0LXQu9GM0YHR gtCy0L4iPC9hPiAo0JzQvtGB0LrQstCwKTxicj5JU1NOOiZuYnNwOzxmb250IGNv bG9yPSMwMDAwOGY+MTk5OS0yMzAwPC9mb250Pg0KPC90ZD48L3RyPjwvdGFibGU+ DQoNCg0KPGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZzcGFjZT00Pjxicj4NCjx0 YWJsZSB3aWR0aD01NTAgYm9yZGVyPTAgY2VsbHNwYWNpbmc9MCBjZWxscGFkZGlu Zz0zPg0KPHRyPjx0ZCBjb2xzcGFuPTIgYWxpZ249bGVmdD4NCjxmb250IGNvbG9y PSMwMDAwMDA+0JrQm9Cu0KfQldCS0KvQlSDQodCb0J7QktCQOjwvZm9udD48L3Rk PjwvdHI+DQo8dHI+PHRkIHdpZHRoPTM0PiZuYnNwOzwvdGQ+PHRkIHdpZHRoPTUw NCBhbGlnbj1sZWZ0IHZhbGlnbj1taWRkbGU+DQo8ZGl2IHN0eWxlPSJoZWlnaHQ6 IDNweDsiPiZuYnNwOzwvZGl2Pg0KPGEgaHJlZj0ia2V5d29yZF9pdGVtcy5hc3A/ a2V5d29yZGlkPTI2Mjk5NzIiPtCa0J7QndCa0KPQoNCV0J3QotCe0KHQn9Ce0KHQ ntCR0J3QntCh0KLQrCDQn9Cg0J7QlNCj0JrQptCY0Jg8L2E+LCANCjxhIGhyZWY9 ImtleXdvcmRfaXRlbXMuYXNwP2tleXdvcmRpZD03MTgzNTU3Ij7Qn9Ce0KLQoNCV 0JHQmNCi0JXQm9Cs0J3QkNCvINCX0J3QkNCn0JjQnNCe0KHQotCsINCi0J7QktCQ 0KDQkDwvYT4sIA0KPGEgaHJlZj0ia2V5d29yZF9pdGVtcy5hc3A/a2V5d29yZGlk PTcxODM1NTgiPtCa0J7QnSDQmtCj0KDQldCd0KLQndCe0JUg0J/QoNCV0JLQntCh 0KXQntCU0KHQotCS0J4g0KLQntCS0JDQoNCQPC9hPiwgDQo8YSBocmVmPSJrZXl3 b3JkX2l0ZW1zLmFzcD9rZXl3b3JkaWQ9NjU5NTk5MiI+0K3QnNCe0KbQmNCe0J3Q kNCb0KzQndCQ0K8g0KLQldCe0KDQmNCvINCf0KDQntCU0JDQljwvYT4sIA0KPGEg aHJlZj0ia2V5d29yZF9pdGVtcy5hc3A/a2V5d29yZGlkPTQxNjY0ODAiPkNPTVBF VElUSVZFTkVTUyBPRiBQUk9EVUNUSU9OPC9hPiwgDQo8YSBocmVmPSJrZXl3b3Jk X2l0ZW1zLmFzcD9rZXl3b3JkaWQ9NzE4MzU1OSI+Q09OU1VNRVIgSU1QT1JUQU5D RSBPRiBHT09EUzwvYT4sIA0KPGEgaHJlZj0ia2V5d29yZF9pdGVtcy5hc3A/a2V5 d29yZGlkPTcxODM1NjAiPkNPTVBFVElUSVZFIFNVUEVSSU9SSVRZIE9GIEdPT0RT PC9hPiwgDQo8YSBocmVmPSJrZXl3b3JkX2l0ZW1zLmFzcD9rZXl3b3JkaWQ9NjU5 NTk5MCI+RU1PVElPTkFMIFRIRU9SWSBPRiBTQUxFUzwvYT4NCjwvdGQ+PC90cj4N CjwvdGFibGU+DQoNCjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3BhY2U9ND48 YnI+DQo8dGFibGUgd2lkdGg9NTUwIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2Vs bHBhZGRpbmc9Mz4NCjx0cj48dGQgY29sc3Bhbj0yIGFsaWduPWxlZnQ+DQo8Zm9u dCBjb2xvcj0jMDAwMDAwPtCQ0J3QndCe0KLQkNCm0JjQrzo8L2ZvbnQ+PC90ZD48 L3RyPg0KPHRyPjx0ZCB3aWR0aD0zND4mbmJzcDs8L3RkPjx0ZCB3aWR0aD01MDQg YWxpZ249bGVmdCB2YWxpZ249bWlkZGxlPg0KDQo8cCBhbGlnbj0ianVzdGlmeSI+ 0J3QsCDQvtGB0L3QvtCy0LDQvdC40Lgg0YLQtdC+0YDQtdGC0LjRh9C10YHQutC4 0YUg0LjRgdGB0LvQtdC00L7QstCw0L3QuNC5INC/0YDQtdC00LvQsNCz0LDQtdGC 0YHRjyDQsNCy0YLQvtGA0YHQutCw0Y8g0YLRgNCw0LrRgtC+0LLQutCwINC/0L4g 0L3Rj9GC0LjQuSDCq9C60L7QvdC60YPRgNC10L3RgtC+0YHQv9C+0YHQvtCx0L3Q vtGB0YLRjCDQv9GA0L7QtNGD0LrRhtC40LjCuywgwqvQv9C+0YLRgNC10LHQuNGC 0LXQu9GM0L3QsNGPINC30L3QsNGH0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsMK7 LCDCq9C60L7QvdC60YPRgNC10L3RgtC90L7QtSDQv9GA0LXQstC+0YHRhdC+0LTR gdGC0LLQviDRgtC+0LLQsNGA0LDCuy4g0JjQt9C70LDQs9Cw0Y7RgtGB0Y8g0L7R gdC90L7QstGLINGN0LzQvtGG0LjQvtC90LDQu9GM0L3QvtC5INGC0LXQvtGA0LjQ uCDQv9GA0L7QtNCw0LYuINCh0LTQtdC70LDQvSDQstGL0LLQvtC0LCDRh9GC0L4g 0YfQtdC8INCy0YvRiNC1INCy0LXQu9C40YfQuNC90LAg0L/QvtC60LDQt9Cw0YLQ tdC70Y8g0LrQvtC90LrRg9GA0LXQvdGC0L3QvtCz0L4g0L/RgNC10LLQvtGB0YXQ vtC00YHRgtCy0LAg0LTQsNC90L3QvtCz0L4g0YLQvtCy0LDRgNCwLCDRgtC10Lwg 0YHQuNC70YzQvdC10LUg0LTQsNC90L3Ri9C5INGC0L7QstCw0YAg0L/RgNC10LLQ vtGB0YXQvtC00LjRgiDQv9C+INGG0LXQvdC1INC/0L7RgtGA0LXQsdC40YLQtdC7 0YzQvdC+0Lkg0LfQvdCw0YfQuNC80L7RgdGC0Lgg0YLQvtCy0LDRgNGLINC60L7Q vdC60YPRgNC10L3RgtC+0LIgKNGCLtC1LiDRhtC10L3QsCDQv9C+0YLRgNC10LHQ uNGC0LXQu9GM0L3QvtC5INC30L3QsNGH0LjQvNC+0YHRgtC4INGDINGN0YLQvtCz 0L4g0YLQvtCy0LDRgNCwINC90LjQttC1KS48L2ZvbnQ+PC90ZD48L3RyPjwvdGFi bGU+DQoNCjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3BhY2U9ND48YnI+DQo8 dGFibGUgd2lkdGg9NTYwIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRp bmc9Mz4NCjx0cj48dGQgY29sc3Bhbj0yIGFsaWduPWxlZnQ+DQo8Zm9udCBjb2xv cj0jMDAwMDAwPtCe0J/QmNCh0JDQndCY0JUg0J3QkCDQkNCd0JPQm9CY0JnQodCa 0J7QnCDQr9CX0KvQmtCVOjwvZm9udD48L3RkPjwvdHI+DQo8dHI+PHRkIHdpZHRo PTM0PiZuYnNwOzwvdGQ+PHRkIHdpZHRoPTUwNCBhbGlnbj1jZW50ZXIgdmFsaWdu PW1pZGRsZT4NCjxkaXYgc3R5bGU9ImhlaWdodDogNXB4OyI+Jm5ic3A7PC9kaXY+ DQo8Zm9udCBjb2xvcj0jMDAwMDAwPkNvbXBldGl0aXZlbmVzcyBvZiBwcm9kdWN0 aW9uIGFzIGEgbWFqb3IgZmFjdG9yIG9mIGNvbXBldGl0aXZlbmVzcyBvZiBlbnRl cnByaXNlIHN0cnVjdHVyZXM6IHRoZW9yeSBwcm9ibGVtczwvZm9udD4NCg0KPGRp diBzdHlsZT0iaGVpZ2h0OiA1cHg7Ij4mbmJzcDs8L2Rpdj4NCjxzcGFuIHN0eWxl PSd3aGl0ZS1zcGFjZTogbm93cmFwJz48YSBocmVmPSdhdXRob3JfaXRlbXMuYXNw P2F1dGhvcmlkPTcxMDE3MicgdGl0bGU9J9Ch0L/QuNGB0L7QuiDQv9GD0LHQu9C4 0LrQsNGG0LjQuSDRjdGC0L7Qs9C+INCw0LLRgtC+0YDQsCc+SXNhZXYgQS5BLjwv YT48YSBocmVmPSdtYWlsdG86aXNhZXZhbGV4QGxpc3QucnUnPjxpbWcgc3JjPScv aW1hZ2VzL21haWwxLmdpZicgYm9yZGVyPTAgaHNwYWNlPTIgaGVpZ2h0PTggd2lk dGg9MTAgYWx0PSfQndCw0L/QuNGB0LDRgtGMINC/0LjRgdGM0LzQviDQsNCy0YLQ vtGA0YMnPjwvYT48c3BhbiB0aXRsZT0nRG9jdG9yIG9mIGVjb25vbWljIHNjaWVu Y2VzLCBhc3NvY2lhdGUgcHJvZmVzc29yJz48aW1nIHNyYz0nL2ltYWdlcy9hYm91 dF9hdXRob3IuZ2lmJyBib3JkZXI9MCBoc3BhY2U9MiBoZWlnaHQ9MTAgd2lkdGg9 OT48L3NwYW4+PGZvbnQgY29sb3I9IzAwMDAwMD48c3VwPjE8L3N1cD48L2ZvbnQ+ PC9zcGFuPiwgPHNwYW4gc3R5bGU9J3doaXRlLXNwYWNlOiBub3dyYXAnPjxhIGhy ZWY9J2F1dGhvcl9pdGVtcy5hc3A/YXV0aG9yaWQ9Mjk1NDc0JyB0aXRsZT0n0KHQ v9C40YHQvtC6INC/0YPQsdC70LjQutCw0YbQuNC5INGN0YLQvtCz0L4g0LDQstGC 0L7RgNCwJz5HYXJ1c292YSBMLk4uPC9hPjxhIGhyZWY9J21haWx0bzppc2FldmFs ZXhAbGlzdC5ydSc+PGltZyBzcmM9Jy9pbWFnZXMvbWFpbDEuZ2lmJyBib3JkZXI9 MCBoc3BhY2U9MiBoZWlnaHQ9OCB3aWR0aD0xMCBhbHQ9J9Cd0LDQv9C40YHQsNGC 0Ywg0L/QuNGB0YzQvNC+INCw0LLRgtC+0YDRgyc+PC9hPjxzcGFuIHRpdGxlPSdE b2N0b3Igb2YgaGlzdG9yeSBzY2llbmNlcywgcHJvZmVzc29yJz48aW1nIHNyYz0n L2ltYWdlcy9hYm91dF9hdXRob3IuZ2lmJyBib3JkZXI9MCBoc3BhY2U9MiBoZWln aHQ9MTAgd2lkdGg9OT48L3NwYW4+PGZvbnQgY29sb3I9IzAwMDAwMD48c3VwPjE8 L3N1cD48L2ZvbnQ+PC9zcGFuPg0KPGJyPg0KPGRpdiBzdHlsZT0iaGVpZ2h0OiA1 cHg7Ij4mbmJzcDs8L2Rpdj48Zm9udCBjb2xvcj0jMDAwMDAwPjxzdXA+MTwvc3Vw PjwvZm9udD4mbmJzcDs8YSBocmVmPSdvcmdfaXRlbXMuYXNwP29yZ3NpZD05ODQn IHRpdGxlPSfQktC70LDQtNC40LLQvtGB0YLQvtC60YHQutC40Lkg0LPQvtGB0YPQ tNCw0YDRgdGC0LLQtdC90L3Ri9C5INGD0L3QuNCy0LXRgNGB0LjRgtC10YIg0Y3Q utC+0L3QvtC80LjQutC4INC4INGB0LXRgNCy0LjRgdCwJz5WbGFkaXZvc3RvayBT dGF0ZSBVbml2ZXJzaXR5IEVjb25vbWljcyBhbmQgU2VydmljZTwvYT48YnI+DQo8 L3RkPjwvdHI+DQoNCg0KPHRyPjx0ZCB3aWR0aD0zND4mbmJzcDs8L3RkPjx0ZCB3 aWR0aD01MDQgYWxpZ249bGVmdCB2YWxpZ249bWlkZGxlPg0KPHAgYWxpZ249Imp1 c3RpZnkiPk9uIHRoZSBiYXNpcyBvZiB0aGVvcmV0aWNhbCByZXNlYXJjaGVzIHRo ZSBhdXRob3IncyB0cmVhdG1lbnQgb2YgY29uY2VwdHMgwqtjb21wZXRpdGl2ZW5l c3Mgb2YgcHJvZHVjdGlvbsK7LCDCq3RoZSBjb25zdW1lciBpbXBvcnRhbmNlIG9m IHRoZSBnb29kc8K7LCDCq3RoZSBjb21wZXRpdGl2ZSBzdXBlcmlvcml0eSBvZiB0 aGUgZ29vZHPCuyBpcyBvZmZlcmVkLiBCYXNlcyBvZiB0aGUgZW1vdGlvbmFsIHRo ZW9yeSBvZiBzYWxlcyB0aGUgZW1vdGlvbmFsIHRoZW9yeSBvZiBzYWxlcyBhcmUg c3RhdGVkLiBJdCBpcyBjb25jbHVkZWQgdGhhdCB0aGUgaGlnaGVyIHRoZSB2YWx1 ZSBvZiB0aGUgaW5kZXggb2YgY29tcGV0aXRpdmUgc3VwZXJpb3JpdHkgb2YgdGhl IHByb2R1Y3QsIHRoZSBtb3JlIHRoaXMgcHJvZHVjdCBpcyBzdXBlcmlvciB0byB0 aGUgdXNlLXZhbHVlIHByaWNlIG9mIGNvbXBldGl0b3JzJyBwcm9kdWN0cyAoaWUg dXNlLXZhbHVlIHByaWNlIGZvciB0aGlzIGl0ZW0gYmVsb3cuKQ0KPC90ZD48L3Ry Pg0KDQo8L3RhYmxlPg0KDQoNCjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3Bh Y2U9ND48YnI+DQo8dGFibGUgd2lkdGg9NTgwIGJvcmRlcj0wIGNlbGxzcGFjaW5n PTAgY2VsbHBhZGRpbmc9Mz4NCjx0cj48dGQgd2lkdGg9NTc0IGFsaWduPWxlZnQg dmFsaWduPW1pZGRsZT4NCjxmb250IGNvbG9yPSMwMDAwMDA+0KHQn9CY0KHQntCa INCb0JjQotCV0KDQkNCi0KPQoNCrOjwvZm9udD4NCjxkaXYgc3R5bGU9ImhlaWdo dDogNXB4OyI+Jm5ic3A7PC9kaXY+DQoNCjx0YWJsZSB3aWR0aD0xMDAlIGJvcmRl cj0wIGNlbGxzcGFjaW5nPTEgY2VsbHBhZGRpbmc9MiBzdHlsZT0idGFibGUtbGF5 b3V0OmZpeGVkOyB3b3JkLXdyYXA6YnJlYWstd29yZDsgb3ZlcmZsb3c6aGlkZGVu Ij4NCg0KDQo8dHIgYmdjb2xvcj0jZjVmNWY1Pjx0ZCB3aWR0aD02JSBhbGlnbj1y aWdodCB2YWxpZ249dG9wIG5vd3JhcD48Zm9udCBjb2xvcj0jMDAwMDAwPjEuJm5i c3A7PC9mb250PjwvdGQ+DQo8dGQgd2lkdGg9ODklIGFsaWduPWxlZnQgdmFsaWdu PXRvcD48Zm9udCBjb2xvcj0jMDAwMDAwPg0K0JjQt9Cw0YDQtCwg0JouINCt0LzQ vtGG0LjQuCDRh9C10LvQvtCy0LXQutCwLzxhIGhyZWY9ImF1dGhvcl9pdGVtcy5h c3A/cmVmaWQ9MTY4MDE2NzE1JmZhbT0lRDAlOTglRDAlQjclRDAlQjAlRDElODAl RDAlQjQmaW5pdD0lRDAlOUEiPtCaLiDQmNC30LDRgNC0PC9hPi4gLdCcLjog0JjQ t9C00LDRgtC10LvRjNGB0YLQstC+INCc0JPQoywgMTk4MC4gLTQ0MCDRgS4NCg0K PC9mb250PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyIHZhbGlnbj10b3Agd2lkdGg9 NSU+Jm5ic3A7PC90ZD4NCjwvdHI+DQoNCg0KPHRyIGJnY29sb3I9I2Y1ZjVmNT48 dGQgd2lkdGg9NiUgYWxpZ249cmlnaHQgdmFsaWduPXRvcCBub3dyYXA+PGZvbnQg Y29sb3I9IzAwMDAwMD4yLiZuYnNwOzwvZm9udD48L3RkPg0KPHRkIHdpZHRoPTg5 JSBhbGlnbj1sZWZ0IHZhbGlnbj10b3A+PGZvbnQgY29sb3I9IzAwMDAwMD4NCtCY 0YHQsNC10LIsINCQLtCQLiDQmtC+0L3QutGD0YDQtdC90YLQvdCw0Y8g0YHQuNC7 0LAg0Lgg0LrQvtC90LrRg9GA0LXQvdGC0L7RgdC/0L7RgdC+0LHQvdC+0YHRgtGM INC/0YDQtdC00L/RgNC40Y/RgtC40Y8vPGEgaHJlZj0iYXV0aG9yX2l0ZW1zLmFz cD9yZWZpZD0xNjgwMTY3MTYmZmFtPSVEMCU5OCVEMSU4MSVEMCVCMCVEMCVCNSVE MCVCMiZpbml0PSVEMCU5MCslRDAlOTAiPtCQLtCQLiDQmNGB0LDQtdCyPC9hPi8v PGEgaHJlZj0nY29udGVudHMuYXNwP3RpdGxlaWQ9Mjc3ODMnIHRpdGxlPSfQrdC6 0L7QvdC+0LzQuNC60LAg0Lgg0L/RgNC10LTQv9GA0LjQvdC40LzQsNGC0LXQu9GM 0YHRgtCy0L4nPtCt0LrQvtC90L7QvNC40LrQsCDQuCDQv9GA0LXQtNC/0YDQuNC9 0LjQvNCw0YLQtdC70YzRgdGC0LLQvi48L2E+IC0yMDEyLiAt4oSWIC3QoS4gMTI1 LTEyNy4NCg0KPC9mb250PiZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9Iml0ZW0u YXNwP2lkPTE3NjU0MTYzIiB0aXRsZT0i0J/QtdGA0LXQudGC0Lgg0L3QsCDQvtC/ 0LjRgdCw0L3QuNC1INGG0LjRgtC40YDRg9C10LzQvtC5INC/0YPQsdC70LjQutCw 0YbQuNC4Ij48aW1nIHNyYz0iL3BpYy90cl9yZWQyLmdpZiIgYm9yZGVyPTA+PC9h PjwvdGQ+DQo8dGQgYWxpZ249Y2VudGVyIHZhbGlnbj10b3Agd2lkdGg9NSU+Jm5i c3A7PC90ZD4NCjwvdHI+DQoNCg0KPHRyIGJnY29sb3I9I2Y1ZjVmNT48dGQgd2lk dGg9NiUgYWxpZ249cmlnaHQgdmFsaWduPXRvcCBub3dyYXA+PGZvbnQgY29sb3I9 IzAwMDAwMD4zLiZuYnNwOzwvZm9udD48L3RkPg0KPHRkIHdpZHRoPTg5JSBhbGln bj1sZWZ0IHZhbGlnbj10b3A+PGZvbnQgY29sb3I9IzAwMDAwMD4NCjxhIGhyZWY9 ImF1dGhvcl9pdGVtcy5hc3A/cmVmaWQ9MTY4MDE2NzE3JmZhbT0lRDAlOTglRDEl ODElRDAlQjAlRDAlQjUlRDAlQjImaW5pdD0lRDAlOTArJUQwJTkwIj7QmNGB0LDQ tdCyLCDQkC7QkC48L2E+INCt0LzQvtGG0LjQvtC90LDQu9GM0L3QsNGPINGC0LXQ vtGA0LjRjyDQv9GA0L7QtNCw0LYv0JIg0YHQsS4g0L3QsNGD0YfQvS4g0YHRgtCw 0YLQtdC5INCQ0LrRgtGD0LDQu9GM0L3Ri9C1INC/0YDQvtCx0LvQtdC80Ysg0YDR i9C90LrQsC4gLdCS0LvQsNC00LjQstC+0YHRgtC+0Lo6INCY0LfQtC3QstC+INCS 0JPQo9Ct0KEsIDIwMTEuIC3QoS4gNzctODQuDQoNCjwvZm9udD48L3RkPg0KPHRk IGFsaWduPWNlbnRlciB2YWxpZ249dG9wIHdpZHRoPTUlPiZuYnNwOzwvdGQ+DQo8 L3RyPg0KDQoNCjx0ciBiZ2NvbG9yPSNmNWY1ZjU+PHRkIHdpZHRoPTYlIGFsaWdu PXJpZ2h0IHZhbGlnbj10b3Agbm93cmFwPjxmb250IGNvbG9yPSMwMDAwMDA+NC4m bmJzcDs8L2ZvbnQ+PC90ZD4NCjx0ZCB3aWR0aD04OSUgYWxpZ249bGVmdCB2YWxp Z249dG9wPjxmb250IGNvbG9yPSMwMDAwMDA+DQrQpNCw0YLRhdGD0YLQtNC40L3Q vtCyLCDQoC7QkC4g0KHRgtGA0LDRgtC10LPQuNGH0LXRgdC60LDRjyDQutC+0L3Q utGD0YDQtdC90YLQvtGB0L/QvtGB0L7QsdC90L7RgdGC0YwvPGEgaHJlZj0iYXV0 aG9yX2l0ZW1zLmFzcD9yZWZpZD0xNjgwMTY3MTgmZmFtPSVEMCVBNCVEMCVCMCVE MSU4MiVEMSU4NSVEMSU4MyVEMSU4MiVEMCVCNCVEMCVCOCVEMCVCRCVEMCVCRSVE MCVCMiZpbml0PSVEMCVBMCslRDAlOTAiPtCgLtCQLiDQpNCw0YLRhdGD0YLQtNC4 0L3QvtCyPC9hPi4gLdCcLjog0JjQt9C00LDRgtC10LvRjNGB0YLQstC+IMKr0K3Q utC+0L3QvtC80LjQutCwwrssIDIwMDUuIC01MDQg0YEuDQoNCjwvZm9udD48L3Rk Pg0KPHRkIGFsaWduPWNlbnRlciB2YWxpZ249dG9wIHdpZHRoPTUlPiZuYnNwOzwv dGQ+DQo8L3RyPg0KDQo8L3RhYmxlPg0KDQo8YnI+DQoNCjwvdGQ+PC90cj48L3Rh YmxlPg0KDQoNCg0KDQoNCg0KPC90ZD4NCjx0ZCBhbGlnbj1yaWdodCB2YWxpZ249 dG9wPg0KDQo8ZGl2IGlkPSJwYW5lbF9kZWZhdWx0IiBzdHlsZT0icG9zaXRpb246 IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IGhlaWdodDowOyBtYXJnaW46IDA7IGJv cmRlcjogMXB4OyBwYWRkaW5nOiAwIj48L2Rpdj4NCjxkaXYgaWQ9InBhbmVsIiBz dHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IG1hcmdpbjog MDsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwIj4NCg0KPGRpdiBzdHlsZT0id2lkdGg6 IDE5MHB4OyIgY2xhc3M9InJpZ2h0LXBhbmVsIj4NCg0KPHRhYmxlIHdpZHRoPTE5 MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgYm9yZGVyPTA+DQo8Rk9STSBt ZXRob2Q9cG9zdCBuYW1lPSJyZXN1bHRzIiBhY3Rpb249IiI+DQo8aW5wdXQgdHlw ZT0iaGlkZGVuIiBuYW1lPSJpdGVtYm94X25hbWUiIHZhbHVlPSIiPg0KPGlucHV0 IHR5cGU9ImhpZGRlbiIgbmFtZT0iaWQiIHZhbHVlPSIxODI0NDY1MSI+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzaWQiIHZhbHVlPSI1OTg2NzYxOSI+DQo8 aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJub3RlaWQiIHZhbHVlPSIxODI0NDY1 MSI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkaXNzcGFnZSIgdmFsdWU9 IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJjb3VudGVyaWQiIHZhbHVl PSIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29tbWVudGlkIiB2YWx1 ZT0iIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlcGx5IiB2YWx1ZT0i Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImxpbmtpZCIgdmFsdWU9IiI+ DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXlzdW0iIHZhbHVlPSIiPg0K PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF5aXRlbWlkIiB2YWx1ZT0iIj4N CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImF1dGhvcmlkIiB2YWx1ZT0iMjk1 NDc0Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InRpZDE4MjQ0NjUxIiB2 YWx1ZT0iMTgyNDQ2NTEiPg0KDQo8dHI+PHRkIGNvbHNwYW49MiBhbGlnbj1jZW50 ZXIgdmFsaWduPXRvcD48Zm9udCBjb2xvcj0jRjI2QzRGPjxiPtCY0J3QodCi0KDQ o9Cc0JXQndCi0Ks8L2I+PC9mb250Pjxicj48aW1nIHNyYz0iL3BpYy8xcGl4Lmdp ZiIgdnNwYWNlPTE+PGJyPjwvdGQ+PC90cj4NCg0KDQoNCjx0cj48dGQgd2lkdGg9 MTUlIGFsaWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGEgaHJlZj0iYXV0aG9yX2l0 ZW1zLmFzcD9wYWdlbnVtPTEmc2VsaWQ9MTgyNDQ2NTEiPjxpbWcgc3JjPSJpbWFn ZXMvYnV0X29yYW5nZS5naWYiIHdpZHRoPTE1IGhlaWdodD0xNSBoc3BhY2U9MyBi b3JkZXI9MD48L2E+DQoNCjwvdGQ+DQoNCjx0ZCB3aWR0aD04NSUgYWxpZ249bGVm dCB2YWxpZ249bWlkZGxlPg0KPGEgaHJlZj0iYXV0aG9yX2l0ZW1zLmFzcD9wYWdl bnVtPTEmc2VsaWQ9MTgyNDQ2NTEiPtCS0LXRgNC90YPRgtGM0YHRjyDQsiDRgdC/ 0LjRgdC+0Log0L/Rg9Cx0LvQuNC60LDRhtC40Lkg0LDQstGC0L7RgNCwPC9hPg0K DQo8L3RkPjwvdHI+DQoNCjx0cj48dGQgd2lkdGg9MTUlIGFsaWduPWNlbnRlciB2 YWxpZ249dG9wPg0KPGEgaHJlZj0iaXRlbS5hc3A/aWQ9MTgyMzMwODQiPjxpbWcg c3JjPSJpbWFnZXMvYnV0X29yYW5nZS5naWYiIHdpZHRoPTE1IGhlaWdodD0xNSBo c3BhY2U9MyBib3JkZXI9MD48L2E+PC90ZD4NCjx0ZCB3aWR0aD04NSUgYWxpZ249 bGVmdCB2YWxpZ249bWlkZGxlPjxhIGhyZWY9Iml0ZW0uYXNwP2lkPTE4MjMzMDg0 Ij7QodC70LXQtNGD0Y7RidCw0Y8mbmJzcDvQv9GD0LHQu9C40LrQsNGG0LjRjzwv YT4NCjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0xNSUgYWxpZ249Y2VudGVy IHZhbGlnbj10b3A+DQo8YSBocmVmPSJpdGVtLmFzcD9pZD0yMDE1MTAyNCI+PGlt ZyBzcmM9ImltYWdlcy9idXRfb3JhbmdlLmdpZiIgd2lkdGg9MTUgaGVpZ2h0PTE1 IGhzcGFjZT0zIGJvcmRlcj0wPjwvYT48L3RkPg0KPHRkIHdpZHRoPTg1JSBhbGln bj1sZWZ0IHZhbGlnbj1taWRkbGU+PGEgaHJlZj0iaXRlbS5hc3A/aWQ9MjAxNTEw MjQiPtCf0YDQtdC00YvQtNGD0YnQsNGPJm5ic3A70L/Rg9Cx0LvQuNC60LDRhtC4 0Y88L2E+DQo8L3RkPjwvdHI+DQoNCg0KPFNDUklQVCBMQU5HVUFHRT0iSmF2YVNj cmlwdCI+DQpmdW5jdGlvbiBvcmRlcl9pdGVtKCl7DQoNCiAgICBpZiAoY29uZmly bSgi0J3QsCDQktCw0YjQtdC8INGB0YfQtdGC0YMg0YHQtdC50YfQsNGBIDAg0YDR g9CxLiBcbtCU0LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LTQvtGB0YLRg9C/0LAg 0Log0L/QvtC70L3QvtC80YMg0YLQtdC60YHRgtGDINGN0YLQvtC5INC/0YPQsdC7 0LjQutCw0YbQuNC4INCS0LDQvCDQvdC10L7QsdGF0L7QtNC40LzQviDQv9C+0L/Q vtC70L3QuNGC0Ywg0YHRh9C10YIg0LrQsNC6INC80LjQvdC40LzRg9C8INC90LAg MTY3INGA0YPQsS5cbtCl0L7RgtC40YLQtSDQv9C+0L/QvtC70L3QuNGC0Ywg0YHR h9C10YIg0L/RgNGP0LzQviDRgdC10LnRh9Cw0YE/IikpIHsNCiAgICBkb2N1bWVu dC5mb3Jtc1sicmVzdWx0cyJdLnBheXN1bS52YWx1ZT0iMTY3IjsNCiAgICBkb2N1 bWVudC5mb3Jtc1sicmVzdWx0cyJdLnBheWl0ZW1pZC52YWx1ZT0iMTgyNDQ2NTEi Ow0KICAgIGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uYWN0aW9uPSJhY2NvdW50 X2FkZC5hc3AiOw0KICAgIGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0udGFyZ2V0 PSIiOw0KICAgIGRvY3VtZW50LmZvcm1zWyJyZXN1bHRzIl0uc3VibWl0KCl9DQoN Cn0NCjwvc2NyaXB0Pg0KDQo8dHI+PHRkIHdpZHRoPTE1JSBhbGlnbj1jZW50ZXIg dmFsaWduPXRvcD4NCjxhIGhyZWY9ImphdmFzY3JpcHQ6b3JkZXJfaXRlbSgpIj48 aW1nIHNyYz0iL2ltYWdlcy9wZGZfeWVsbG93LmdpZiIgd2lkdGg9MTYgaGVpZ2h0 PTE2IGhzcGFjZT0zIGJvcmRlcj0wPjwvYT48L3RkPg0KPHRkIHdpZHRoPTg1JSBh bGlnbj1sZWZ0IHZhbGlnbj1taWRkbGU+PGEgaHJlZj0iamF2YXNjcmlwdDpvcmRl cl9pdGVtKCkiPjxmb250IGNvbG9yPSNmZjAwMDA+0J/RgNC40L7QsdGA0LXRgdGC 0Lgg0Y3RgtGDINC/0YPQsdC70LjQutCw0YbQuNGOINC30LAgMTY3INGA0YPQsS48 L2ZvbnQ+PC9hPg0KPC90ZD48L3RyPg0KDQoNCjx0cj48dGQgd2lkdGg9MTUlIGFs aWduPWNlbnRlciB2YWxpZ249dG9wPg0KPGEgaHJlZj0iaHR0cDovL3NjaG9sYXIu Z29vZ2xlLmNvbS9zY2hvbGFyP3E9bGluazpodHRwJTNBJTJGJTJGZWxpYnJhcnku cnUlMkZpdGVtLmFzcCUzRmlkJTNEMTgyNDQ2NTEiIHRhcmdldD1fYmxhbms+PGlt ZyBzcmM9ImltYWdlcy9idXRfb3JhbmdlLmdpZiIgd2lkdGg9MTUgaGVpZ2h0PTE1 IGhzcGFjZT0zIGJvcmRlcj0wPjwvYT48L3RkPg0KPHRkIHdpZHRoPTg1JSBhbGln bj1sZWZ0IHZhbGlnbj1taWRkbGU+PGEgaHJlZj0iaHR0cDovL3NjaG9sYXIuZ29v Z2xlLmNvbS9zY2hvbGFyP3E9bGluazpodHRwJTNBJTJGJTJGZWxpYnJhcnkucnUl MkZpdGVtLmFzcCUzRmlkJTNEMTgyNDQ2NTEiIHRhcmdldD1fYmxhbms+0KHQv9C4 0YHQvtC6INGB0YLQsNGC0LXQuSDQsiBHb29nbGUg0JDQutCw0LTQtdC80LjRjywg 0YbQuNGC0LjRgNGD0Y7RidC40YUg0LTQsNC90L3Rg9GOPC9hPg0KPC90ZD48L3Ry Pg0KPHRyPjx0ZCBjb2xzcGFuPTI+PGltZyBzcmM9Ii9waWMvMXBpeC5naWYiIHZz cGFjZT01Pjxicj48L3RkPjwvdHI+DQoNCjx0cj48dGQgd2lkdGg9MTUlIGFsaWdu PWNlbnRlciB2YWxpZ249dG9wPg0KPGEgaHJlZj0iamF2YXNjcmlwdDppdGVtYm94 X2FkZCgpIj48aW1nIHNyYz0iaW1hZ2VzL2J1dF9vcmFuZ2UuZ2lmIiB3aWR0aD0x NSBoZWlnaHQ9MTUgaHNwYWNlPTMgYm9yZGVyPTA+PC9hPjwvdGQ+DQo8dGQgd2lk dGg9ODUlIGFsaWduPWxlZnQgdmFsaWduPW1pZGRsZT48YSBocmVmPSJqYXZhc2Ny aXB0Oml0ZW1ib3hfYWRkKCkiPtCU0L7QsdCw0LLQuNGC0Ywg0L/Rg9Cx0LvQuNC6 0LDRhtC40Y4g0LIg0L/QvtC00LHQvtGA0LrRgzo8L2E+PC90ZD48L3RyPg0KDQo8 dHI+PHRkIGNvbHNwYW49MiBhbGlnbj1jZW50ZXI+PGRpdiBjbGFzcz0iZm9ybWZy Ij48c2VsZWN0IG5hbWU9Iml0ZW1ib3hpZCIgaWQ9Iml0ZW1ib3hpZCIgc3R5bGU9 IndpZHRoOjE4MHB4IiBjbGFzcz0iaW5wdXQiPg0KDQo8b3B0aW9uIHZhbHVlPSIw IiA+0J3QvtCy0LDRjyDQv9C+0LTQsdC+0YDQutCwDQo8b3B0aW9uIHZhbHVlPSIy NTU4ODYiIHNlbGVjdGVkPtC/0YPQsdC70LjQutCw0YbQuNC4INCT0LDRgNGD0YHQ vtCy0L7QuSDQsiDQttGD0YDQvdCw0LvQtSDQoNC+0YHRgdC40Y8g0Lgg0JDQotCg DQo8L3NlbGVjdD48L2Rpdj4mbmJzcDs8L3RkPjwvdHI+DQoNCg0KDQoNCjx0cj48 dGQgY29sc3Bhbj0yPjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3BhY2U9NT48 YnI+PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0aD0xNSUgYWxpZ249Y2VudGVyIHZh bGlnbj10b3A+PGEgaHJlZj0iYXV0aG9yX2l0ZW1zLmFzcD9hdXRob3JpZD0yOTU0 NzQiPjxpbWcgc3JjPSJpbWFnZXMvYXN0X3NtLmdpZiIgd2lkdGg9MTYgaGVpZ2h0 PTE4IGJvcmRlcj0wPjwvYT48L3RkPg0KPHRkIHdpZHRoPTg1JSBhbGlnbj1sZWZ0 IHZhbGlnbj1taWRkbGU+PGEgaHJlZj0iYXV0aG9yX2l0ZW1zLmFzcD9hdXRob3Jp ZD0yOTU0NzQiPtCU0LDQvdC90LDRjyDQv9GD0LHQu9C40LrQsNGG0LjRjyDQstGF 0L7QtNC40YIg0LIg0YHQv9C40YHQvtC6INC80L7QuNGFINGA0LDQsdC+0YI8L2E+ PC90ZD48L3RyPg0KDQoNCg0KPHRyPjx0ZCBjb2xzcGFuPTI+PGltZyBzcmM9Ii9w aWMvMXBpeC5naWYiIHZzcGFjZT01Pjxicj48L3RkPjwvdHI+DQo8dHI+PHRkIHdp ZHRoPTE1JSBhbGlnbj1jZW50ZXIgdmFsaWduPXRvcD4NCjxhIGhyZWY9ImphdmFz Y3JpcHQ6ZWRpdF9ub3RlcygpIj48aW1nIHNyYz0iaW1hZ2VzL2J1dF9vcmFuZ2Uu Z2lmIiB3aWR0aD0xNSBoZWlnaHQ9MTUgaHNwYWNlPTMgYm9yZGVyPTA+PC9hPjwv dGQ+DQo8dGQgd2lkdGg9ODUlIGFsaWduPWxlZnQgdmFsaWduPW1pZGRsZT48YSBo cmVmPSJqYXZhc2NyaXB0OmVkaXRfbm90ZXMoKSI+0JTQvtCx0LDQstC40YLRjCDQ ktCw0YjRgyDQt9Cw0LzQtdGC0LrRgyDQuiDQv9GD0LHQu9C40LrQsNGG0LjQuDwv YT4NCjwvdGQ+PC90cj4NCg0KPHRyPjx0ZCB3aWR0aD0xNSUgYWxpZ249Y2VudGVy IHZhbGlnbj10b3A+DQo8YSBocmVmPSJqYXZhc2NyaXB0Om5ld19jb21tZW50cygp Ij48aW1nIHNyYz0iaW1hZ2VzL2J1dF9vcmFuZ2UuZ2lmIiB3aWR0aD0xNSBoZWln aHQ9MTUgaHNwYWNlPTMgYm9yZGVyPTA+PC9hPjwvdGQ+DQo8dGQgd2lkdGg9ODUl IGFsaWduPWxlZnQgdmFsaWduPW1pZGRsZT48YSBocmVmPSJqYXZhc2NyaXB0Om5l d19jb21tZW50cygpIj7QntCx0YHRg9C00LjRgtGMINGN0YLRgyDQv9GD0LHQu9C4 0LrQsNGG0LjRjiDRgSDQtNGA0YPQs9C40LzQuCDRh9C40YLQsNGC0LXQu9GP0LzQ uDwvYT4NCjwvdGQ+PC90cj4NCg0KDQoNCjwvRk9STT4NCg0KDQoNCjx0cj48dGQg Y29sc3Bhbj0yPjxpbWcgc3JjPSIvcGljLzFwaXguZ2lmIiB2c3BhY2U9NT48YnI+ PC90ZD48L3RyPg0KPHRyPjx0ZCB3aWR0aD0xNSUgYWxpZ249Y2VudGVyIHZhbGln bj10b3A+DQo8Rk9STSBuYW1lPSJzZWFyY2hfY29hdXRob3JzIiBhY3Rpb249Ii9x dWVyeV9yZXN1bHRzLmFzcCIgbWV0aG9kPVBPU1Q+DQo8aW5wdXQgdHlwZT0iaGlk ZGVuIiBuYW1lPSJ3aGVyZV9mdWxsdGV4dCIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0 eXBlPSJoaWRkZW4iIG5hbWU9IndoZXJlX25hbWUiIHZhbHVlPSJvbiI+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ3aGVyZV9hYnN0cmFjdCIgdmFsdWU9Im9u Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IndoZXJlX2tleXdvcmRzIiB2 YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id2hlcmVfYWZm aWxpYXRpb24iIHZhbHVlPSJvbiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1l PSJ3aGVyZV9yZWZlcmVuY2VzIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9Imhp ZGRlbiIgbmFtZT0idHlwZV9hcnRpY2xlIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5 cGU9ImhpZGRlbiIgbmFtZT0idHlwZV9kaXNzZXIiIHZhbHVlPSJvbiI+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX2Jvb2siIHZhbHVlPSJvbiI+DQo8 aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX3JlcG9ydCIgdmFsdWU9Im9u Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGVfY29uZiIgdmFsdWU9 Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGVfcGF0ZW50IiB2 YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZV9wcmVw cmludCIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNl YXJjaF9mcmVldGV4dCIgdmFsdWU9IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBu YW1lPSJzZWFyY2hfbW9ycGgiIHZhbHVlPSJvbiI+DQo8aW5wdXQgdHlwZT0iaGlk ZGVuIiBuYW1lPSJzZWFyY2hfZnVsbHRleHQiIHZhbHVlPSIiPg0KPGlucHV0IHR5 cGU9ImhpZGRlbiIgbmFtZT0ic2VhcmNoX29wZW4iIHZhbHVlPSIiPg0KPGlucHV0 IHR5cGU9ImhpZGRlbiIgbmFtZT0ic2VhcmNoX3Jlc3VsdHMiIHZhbHVlPSIiPg0K PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idGl0bGVzX2FsbCIgdmFsdWU9IiI+ DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhdXRob3JzX2FsbCIgdmFsdWU9 ItCT0LDRgNGD0YHQvtCy0LAg0Jsg0J180JjRgdCw0LXQsiDQkCDQkHwiPg0KPGlu cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icnVicmljc19hbGwiIHZhbHVlPSIiPg0K PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icXVlcnlib3hpZCIgdmFsdWU9IiI+ DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpdGVtYm94aWQiIHZhbHVlPSIi Pg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYmVnaW5feWVhciIgdmFsdWU9 IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJlbmRfeWVhciIgdmFsdWU9 IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc3N1ZXMiIHZhbHVlPSJh bGwiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3JkZXJieSIgdmFsdWU9 ImRhdGUiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3JkZXIiIHZhbHVl PSJyZXYiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZnRleHQiIHZhbHVl PSIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY2hhbmdlZCIgdmFsdWU9 IjEiPg0KPC9GT1JNPg0KPGEgaHJlZj0namF2YXNjcmlwdDpkb2N1bWVudC5mb3Jt c1sic2VhcmNoX2NvYXV0aG9ycyJdLnN1Ym1pdCgpJz48aW1nIHNyYz0iaW1hZ2Vz L2J1dF9vcmFuZ2UuZ2lmIiB3aWR0aD0xNSBoZWlnaHQ9MTUgaHNwYWNlPTMgYm9y ZGVyPTA+PC9hPjwvdGQ+DQo8dGQgd2lkdGg9ODUlIGFsaWduPWxlZnQgdmFsaWdu PW1pZGRsZT48YSBocmVmPSdqYXZhc2NyaXB0OmRvY3VtZW50LmZvcm1zWyJzZWFy Y2hfY29hdXRob3JzIl0uc3VibWl0KCknPtCf0L7QutCw0LfQsNGC0Ywg0LLRgdC1 INC/0YPQsdC70LjQutCw0YbQuNC4INGN0YLQuNGFINCw0LLRgtC+0YDQvtCyPC9h Pg0KPC90ZD48L3RyPg0KDQo8dHI+PHRkIHdpZHRoPTE1JSBhbGlnbj1jZW50ZXIg dmFsaWduPXRvcD4NCjxGT1JNIG5hbWU9InNlYXJjaF9zaW1pbGFyIiBhY3Rpb249 Ii9xdWVyeV9yZXN1bHRzLmFzcCIgbWV0aG9kPVBPU1Q+DQo8aW5wdXQgdHlwZT0i aGlkZGVuIiBuYW1lPSJ3aGVyZV9mdWxsdGV4dCIgdmFsdWU9IiI+DQo8aW5wdXQg dHlwZT0iaGlkZGVuIiBuYW1lPSJ3aGVyZV9uYW1lIiB2YWx1ZT0ib24iPg0KPGlu cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0id2hlcmVfYWJzdHJhY3QiIHZhbHVlPSJv biI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ3aGVyZV9rZXl3b3JkcyIg dmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IndoZXJlX2Fm ZmlsaWF0aW9uIiB2YWx1ZT0iIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9 IndoZXJlX3JlZmVyZW5jZXMiIHZhbHVlPSIiPg0KPGlucHV0IHR5cGU9ImhpZGRl biIgbmFtZT0idHlwZV9hcnRpY2xlIiB2YWx1ZT0ib24iPg0KPGlucHV0IHR5cGU9 ImhpZGRlbiIgbmFtZT0idHlwZV9kaXNzZXIiIHZhbHVlPSJvbiI+DQo8aW5wdXQg dHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX2Jvb2siIHZhbHVlPSJvbiI+DQo8aW5w dXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ0eXBlX3JlcG9ydCIgdmFsdWU9Im9uIj4N CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGVfY29uZiIgdmFsdWU9Im9u Ij4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InR5cGVfcGF0ZW50IiB2YWx1 ZT0ib24iPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idHlwZV9wcmVwcmlu dCIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InNlYXJj aF9mcmVldGV4dCIgdmFsdWU9Im9uIj4NCjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h bWU9InNlYXJjaF9tb3JwaCIgdmFsdWU9IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVu IiBuYW1lPSJzZWFyY2hfZnVsbHRleHQiIHZhbHVlPSIiPg0KPGlucHV0IHR5cGU9 ImhpZGRlbiIgbmFtZT0ic2VhcmNoX29wZW4iIHZhbHVlPSIiPg0KPGlucHV0IHR5 cGU9ImhpZGRlbiIgbmFtZT0ic2VhcmNoX3Jlc3VsdHMiIHZhbHVlPSIiPg0KPGlu cHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idGl0bGVzX2FsbCIgdmFsdWU9IiI+DQo8 aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhdXRob3JzX2FsbCIgdmFsdWU9IiI+ DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJydWJyaWNzX2FsbCIgdmFsdWU9 IjA2MDAwMHwiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icXVlcnlib3hp ZCIgdmFsdWU9IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpdGVtYm94 aWQiIHZhbHVlPSIiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYmVnaW5f eWVhciIgdmFsdWU9IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJlbmRf eWVhciIgdmFsdWU9IiI+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJpc3N1 ZXMiIHZhbHVlPSJhbGwiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ib3Jk ZXJieSIgdmFsdWU9InJhbmsiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i b3JkZXIiIHZhbHVlPSJyZXYiPg0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i ZnRleHQiIHZhbHVlPSLQutC+0L3QutGD0YDQtdC90YLQvtGB0L/QvtGB0L7QsdC9 0L7RgdGC0Ywg0L/RgNC+0LTRg9C60YbQuNC4IGNvbXBldGl0aXZlbmVzcyBvZiBw cm9kdWN0aW9uIGVtb3Rpb25hbCB0aGVvcnkgb2Ygc2FsZXMg0Y3QvNC+0YbQuNC+ 0L3QsNC70YzQvdCw0Y8g0YLQtdC+0YDQuNGPINC/0YDQvtC00LDQtiDQv9C+0YLR gNC10LHQuNGC0LXQu9GM0L3QsNGPINC30L3QsNGH0LjQvNC+0YHRgtGMINGC0L7Q stCw0YDQsCDQutC+0L0g0LrRg9GA0LXQvdGC0L3QvtC1INC/0YDQtdCy0L7RgdGF 0L7QtNGB0YLQstC+INGC0L7QstCw0YDQsCBjb25zdW1lciBpbXBvcnRhbmNlIG9m IGdvb2RzIGNvbXBldGl0aXZlIHN1cGVyaW9yaXR5IG9mIGdvb2RzIj4NCjxpbnB1 dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNoYW5nZWQiIHZhbHVlPSIxIj4NCjwvRk9S TT4NCjxhIGhyZWY9J2phdmFzY3JpcHQ6ZG9jdW1lbnQuZm9ybXNbInNlYXJjaF9z aW1pbGFyIl0uc3VibWl0KCknPjxpbWcgc3JjPSJpbWFnZXMvYnV0X29yYW5nZS5n aWYiIHdpZHRoPTE1IGhlaWdodD0xNSBoc3BhY2U9MyBib3JkZXI9MD48L2E+PC90 ZD4NCjx0ZCB3aWR0aD04NSUgYWxpZ249bGVmdCB2YWxpZ249bWlkZGxlPjxhIGhy ZWY9J2phdmFzY3JpcHQ6ZG9jdW1lbnQuZm9ybXNbInNlYXJjaF9zaW1pbGFyIl0u c3VibWl0KCknPtCd0LDQudGC0Lgg0LHQu9C40LfQutC40LUg0L/QviDRgtC10LzQ sNGC0LjQutC1INC/0YPQsdC70LjQutCw0YbQuNC4PC9hPg0KPC90ZD48L3RyPg0K DQoNCg0KPC90YWJsZT4NCjwvZGl2Pg0KDQo8L2Rpdj4NCg0KPC90ZD48L3RyPjwv dGFibGU+DQo8L3RkPjwvdHI+PC90YWJsZT4NCjxicj48YnI+DQo8dGFibGUgd2lk dGg9OTcwIGhlaWdodD00MCBiZ2NvbG9yPSNlZWVlZWUgYm9yZGVyPTAgY2VsbHBh ZGRpbmc9MCBjZWxsc3BhY2luZz0wIGlkPSJmb290ZXIiPg0KPHRyIGFsaWduPWNl bnRlciB2YWxpZ249bWlkZGxlIGNsYXNzPSJtZW51ZyI+DQo8dGQgd2lkdGg9MTUl IHZhbGlnbj0iYm90dG9tIj4NCg0KPCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+ PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0NCmRvY3VtZW50Lndy aXRlKCI8YSBocmVmPSdodHRwOi8vd3d3LmxpdmVpbnRlcm5ldC5ydS9jbGljaycg IisNCiJ0YXJnZXQ9X2JsYW5rPjxpbWcgc3JjPSdodHRwOi8vY291bnRlci55YWRy by5ydS9oaXQ/dDI2LjU7ciIrDQplc2NhcGUoZG9jdW1lbnQucmVmZXJyZXIpKygo dHlwZW9mKHNjcmVlbik9PSJ1bmRlZmluZWQiKT8iIjoNCiI7cyIrc2NyZWVuLndp ZHRoKyIqIitzY3JlZW4uaGVpZ2h0KyIqIisoc2NyZWVuLmNvbG9yRGVwdGg/DQpz Y3JlZW4uY29sb3JEZXB0aDpzY3JlZW4ucGl4ZWxEZXB0aCkpKyI7dSIrZXNjYXBl KGRvY3VtZW50LlVSTCkrDQoiO2giK2VzY2FwZShkb2N1bWVudC50aXRsZS5zdWJz dHJpbmcoMCw4MCkpKyI7IitNYXRoLnJhbmRvbSgpKw0KIicgYWx0PScnIHRpdGxl PSdMaXZlSW50ZXJuZXQ6INC/0L7QutCw0LfQsNC90L4g0YfQuNGB0LvQviDQv9C+ 0YHQtdGC0LjRgtC10LvQtdC5INC30LAiKw0KIiDRgdC10LPQvtC00L3RjycgIisN CiJib3JkZXI9JzAnIHdpZHRoPSc4OCcgaGVpZ2h0PScxNScgdnNwYWNlPTk+PFwv YT4iKQ0KLy8tLT48L3NjcmlwdD48IS0tL0xpdmVJbnRlcm5ldC0tPg0KDQo8L3Rk Pg0KPHRkIHdpZHRoPTcwJT48Zm9udCBjb2xvcj0jMDAwMDhmPjxzcGFuIHN0eWxl PSJwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogM3B4OyByaWdodDogMTVweDsgY29s b3I6ICNGMjZDNEY7Ij4qPC9zcGFuPjxhIGhyZWY9Ii9jb3B5cmlnaHQuYXNwIj4m Y29weTsgMjAwMC0yMDEzINCe0J7QniDQndCQ0KPQp9Cd0JDQryDQrdCb0JXQmtCi 0KDQntCd0J3QkNCvINCR0JjQkdCb0JjQntCi0JXQmtCQLiDQktGB0LUg0L/RgNCw 0LLQsCDQt9Cw0YnQuNGJ0LXQvdGLPC9hPjwvZm9udD48c3BhbiBzdHlsZT0icG9z aXRpb246IHJlbGF0aXZlOyB0b3A6IDNweDsgbGVmdDogMTVweDsgY29sb3I6ICNG MjZDNEY7Ij4qPC9zcGFuPjwvdGQ+DQo8dGQgd2lkdGg9MTUlIHZhbGlnbj0iYm90 dG9tIj4NCg0KPCEtLVJhdGluZ0BNYWlsLnJ1IGNvdW50ZXItLT4NCjxzY3JpcHQg bGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEt LQ0KZD1kb2N1bWVudDt2YXIgYT0nJzthKz0nO3I9Jytlc2NhcGUoZC5yZWZlcnJl cik7anM9MTA7Ly8tLT48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFz Y3JpcHQxLjEiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PCEtLQ0KYSs9JztqPScr bmF2aWdhdG9yLmphdmFFbmFibGVkKCk7anM9MTE7Ly8tLT48L3NjcmlwdD4NCjxz Y3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjIiIHR5cGU9InRleHQvamF2YXNj cmlwdCI+PCEtLQ0Kcz1zY3JlZW47YSs9JztzPScrcy53aWR0aCsnKicrcy5oZWln aHQ7DQphKz0nO2Q9Jysocy5jb2xvckRlcHRoP3MuY29sb3JEZXB0aDpzLnBpeGVs RGVwdGgpO2pzPTEyOy8vLS0+PC9zY3JpcHQ+DQo8c2NyaXB0IGxhbmd1YWdlPSJq YXZhc2NyaXB0MS4zIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0NCmpzPTEz Oy8vLS0+PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlw ZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tDQpkLndyaXRlKCc8YSBocmVmPSJodHRw Oi8vdG9wLm1haWwucnUvanVtcD9mcm9tPTE3Mjk2MDUiIHRhcmdldD0iX2JsYW5r Ij4nKw0KJzxpbWcgc3JjPSJodHRwOi8vZDQuYzYuYmEuYTEudG9wLm1haWwucnUv Y291bnRlcj9pZD0xNzI5NjA1O3Q9MTcxO2pzPScranMrDQphKyc7cmFuZD0nK01h dGgucmFuZG9tKCkrJyIgYWx0PSLQoNC10LnRgtC40L3Qs0BNYWlsLnJ1IiBib3Jk ZXI9IjAiICcrDQonaGVpZ2h0PSIxNSIgd2lkdGg9Ijg4IiB2c3BhY2U9OT48XC9h PicpO2lmKDExPGpzKWQud3JpdGUoJzwnKychLS0gJyk7Ly8tLT48L3NjcmlwdD4N Cjxub3NjcmlwdD48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcC5t YWlsLnJ1L2p1bXA/ZnJvbT0xNzI5NjA1Ij4NCjxpbWcgc3JjPSJodHRwOi8vZDQu YzYuYmEuYTEudG9wLm1haWwucnUvY291bnRlcj9qcz1uYTtpZD0xNzI5NjA1O3Q9 MTcxIiANCmhlaWdodD0iMTUiIHdpZHRoPSI4OCIgdnNwYWNlPTkgYm9yZGVyPSIw IiBhbHQ9ItCg0LXQudGC0LjQvdCzQE1haWwucnUiPjwvYT48L25vc2NyaXB0Pg0K PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgdHlwZT0idGV4dC9qYXZhc2Ny aXB0Ij48IS0tDQppZigxMTxqcylkLndyaXRlKCctLScrJz4nKTsvLy0tPjwvc2Ny aXB0Pg0KPCEtLS8vIFJhdGluZ0BNYWlsLnJ1IGNvdW50ZXItLT4NCg0KPC90ZD4N CjwvdHI+PC90YWJsZT4NCg0KPCEtLSBZYW5kZXguTWV0cmlrYSAtLT4NCjxkaXYg c3R5bGU9ImRpc3BsYXk6bm9uZTsiPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny aXB0Ij4NCihmdW5jdGlvbih3LCBjKSB7DQogICAgKHdbY10gPSB3W2NdIHx8IFtd KS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAg dy55YUNvdW50ZXIxNzE0NjMgPSBuZXcgWWEuTWV0cmlrYSgxNzE0NjMpOw0KICAg ICAgICB9IGNhdGNoKGUpIHt9DQogICAgfSk7DQp9KSh3aW5kb3csICd5YW5kZXhf bWV0cmlrYV9jYWxsYmFja3MnKTsNCjwvc2NyaXB0PjwvZGl2Pg0KPHNjcmlwdCBz cmM9Ii8vbWMueWFuZGV4LnJ1L21ldHJpa2Evd2F0Y2guanMiIHR5cGU9InRleHQv amF2YXNjcmlwdCIgZGVmZXI9ImRlZmVyIj48L3NjcmlwdD4NCjxub3NjcmlwdD48 ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZSI+PGltZyBzcmM9Ii8vbWMueWFu ZGV4LnJ1L3dhdGNoLzE3MTQ2MyIgYWx0PSIiIC8+PC9kaXY+PC9ub3NjcmlwdD4N CjwhLS0gL1lhbmRleC5NZXRyaWthIC0tPg0KDQo8c2NyaXB0IHR5cGU9InRleHQv amF2YXNjcmlwdCI+DQp2YXIgX2dhcSA9IF9nYXEgfHwgW107DQpfZ2FxLnB1c2go Wydfc2V0QWNjb3VudCcsICdVQS05MzM5OTAyLTEnXSk7DQpfZ2FxLnB1c2goWydf dHJhY2tQYWdldmlldyddKTsNCihmdW5jdGlvbigpIHsNCnZhciBnYSA9IGRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOyBnYS50eXBlID0gJ3RleHQvamF2 YXNjcmlwdCc7IGdhLmFzeW5jID0gdHJ1ZTsNCmdhLnNyYyA9ICgnaHR0cHM6JyA9 PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA/ICdodHRwczovL3NzbCcgOiAn aHR0cDovL3d3dycpICsgJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyc7DQp2 YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVsw XTsgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnYSwgcyk7IH0pKCk7DQo8L3Nj cmlwdD4NCg0KDQo8YnI+PGJyPjxicj4NCjwvdGQ+PC90cj48L3RhYmxlPg0KPC9o dG1sPg0KDQoNCg== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=jquery.min.js Content-Type: application/x-javascript; name=jquery.min.js Content-Location: http://elibrary.ru/jquery.min.js Content-Transfer-Encoding: Base64 LyohIGpRdWVyeSB2MS43LjEganF1ZXJ5LmNvbSB8IGpxdWVyeS5vcmcvbGljZW5z ZSAqLwooZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjeShhKXtyZXR1cm4gZi5pc1dp bmRvdyhhKT9hOmEubm9kZVR5cGU9PT05P2EuZGVmYXVsdFZpZXd8fGEucGFyZW50 V2luZG93OiExfWZ1bmN0aW9uIGN2KGEpe2lmKCFja1thXSl7dmFyIGI9Yy5ib2R5 LGQ9ZigiPCIrYSsiPiIpLmFwcGVuZFRvKGIpLGU9ZC5jc3MoImRpc3BsYXkiKTtk LnJlbW92ZSgpO2lmKGU9PT0ibm9uZSJ8fGU9PT0iIil7Y2x8fChjbD1jLmNyZWF0 ZUVsZW1lbnQoImlmcmFtZSIpLGNsLmZyYW1lQm9yZGVyPWNsLndpZHRoPWNsLmhl aWdodD0wKSxiLmFwcGVuZENoaWxkKGNsKTtpZighY218fCFjbC5jcmVhdGVFbGVt ZW50KWNtPShjbC5jb250ZW50V2luZG93fHxjbC5jb250ZW50RG9jdW1lbnQpLmRv Y3VtZW50LGNtLndyaXRlKChjLmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCI/Ijwh ZG9jdHlwZSBodG1sPiI6IiIpKyI8aHRtbD48Ym9keT4iKSxjbS5jbG9zZSgpO2Q9 Y20uY3JlYXRlRWxlbWVudChhKSxjbS5ib2R5LmFwcGVuZENoaWxkKGQpLGU9Zi5j c3MoZCwiZGlzcGxheSIpLGIucmVtb3ZlQ2hpbGQoY2wpfWNrW2FdPWV9cmV0dXJu IGNrW2FdfWZ1bmN0aW9uIGN1KGEsYil7dmFyIGM9e307Zi5lYWNoKGNxLmNvbmNh dC5hcHBseShbXSxjcS5zbGljZSgwLGIpKSxmdW5jdGlvbigpe2NbdGhpc109YX0p O3JldHVybiBjfWZ1bmN0aW9uIGN0KCl7Y3I9Yn1mdW5jdGlvbiBjcygpe3NldFRp bWVvdXQoY3QsMCk7cmV0dXJuIGNyPWYubm93KCl9ZnVuY3Rpb24gY2ooKXt0cnl7 cmV0dXJuIG5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxIVFRQIil9 Y2F0Y2goYil7fX1mdW5jdGlvbiBjaSgpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0 cFJlcXVlc3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBjYyhhLGMpe2EuZGF0YUZpbHRl ciYmKGM9YS5kYXRhRmlsdGVyKGMsYS5kYXRhVHlwZSkpO3ZhciBkPWEuZGF0YVR5 cGVzLGU9e30sZyxoLGk9ZC5sZW5ndGgsaixrPWRbMF0sbCxtLG4sbyxwO2Zvcihn PTE7ZzxpO2crKyl7aWYoZz09PTEpZm9yKGggaW4gYS5jb252ZXJ0ZXJzKXR5cGVv ZiBoPT0ic3RyaW5nIiYmKGVbaC50b0xvd2VyQ2FzZSgpXT1hLmNvbnZlcnRlcnNb aF0pO2w9ayxrPWRbZ107aWYoaz09PSIqIilrPWw7ZWxzZSBpZihsIT09IioiJiZs IT09ayl7bT1sKyIgIitrLG49ZVttXXx8ZVsiKiAiK2tdO2lmKCFuKXtwPWI7Zm9y KG8gaW4gZSl7aj1vLnNwbGl0KCIgIik7aWYoalswXT09PWx8fGpbMF09PT0iKiIp e3A9ZVtqWzFdKyIgIitrXTtpZihwKXtvPWVbb10sbz09PSEwP249cDpwPT09ITAm JihuPW8pO2JyZWFrfX19fSFuJiYhcCYmZi5lcnJvcigiTm8gY29udmVyc2lvbiBm cm9tICIrbS5yZXBsYWNlKCIgIiwiIHRvICIpKSxuIT09ITAmJihjPW4/bihjKTpw KG8oYykpKX19cmV0dXJuIGN9ZnVuY3Rpb24gY2IoYSxjLGQpe3ZhciBlPWEuY29u dGVudHMsZj1hLmRhdGFUeXBlcyxnPWEucmVzcG9uc2VGaWVsZHMsaCxpLGosaztm b3IoaSBpbiBnKWkgaW4gZCYmKGNbZ1tpXV09ZFtpXSk7d2hpbGUoZlswXT09PSIq IilmLnNoaWZ0KCksaD09PWImJihoPWEubWltZVR5cGV8fGMuZ2V0UmVzcG9uc2VI ZWFkZXIoImNvbnRlbnQtdHlwZSIpKTtpZihoKWZvcihpIGluIGUpaWYoZVtpXSYm ZVtpXS50ZXN0KGgpKXtmLnVuc2hpZnQoaSk7YnJlYWt9aWYoZlswXWluIGQpaj1m WzBdO2Vsc2V7Zm9yKGkgaW4gZCl7aWYoIWZbMF18fGEuY29udmVydGVyc1tpKyIg IitmWzBdXSl7aj1pO2JyZWFrfWt8fChrPWkpfWo9anx8a31pZihqKXtqIT09Zlsw XSYmZi51bnNoaWZ0KGopO3JldHVybiBkW2pdfX1mdW5jdGlvbiBjYShhLGIsYyxk KXtpZihmLmlzQXJyYXkoYikpZi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxiRS50 ZXN0KGEpP2QoYSxlKTpjYShhKyJbIisodHlwZW9mIGU9PSJvYmplY3QifHxmLmlz QXJyYXkoZSk/YjoiIikrIl0iLGUsYyxkKX0pO2Vsc2UgaWYoIWMmJmIhPW51bGwm JnR5cGVvZiBiPT0ib2JqZWN0Iilmb3IodmFyIGUgaW4gYiljYShhKyJbIitlKyJd IixiW2VdLGMsZCk7ZWxzZSBkKGEsYil9ZnVuY3Rpb24gYl8oYSxjKXt2YXIgZCxl LGc9Zi5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihkIGluIGMpY1tk XSE9PWImJigoZ1tkXT9hOmV8fChlPXt9KSlbZF09Y1tkXSk7ZSYmZi5leHRlbmQo ITAsYSxlKX1mdW5jdGlvbiBiJChhLGMsZCxlLGYsZyl7Zj1mfHxjLmRhdGFUeXBl c1swXSxnPWd8fHt9LGdbZl09ITA7dmFyIGg9YVtmXSxpPTAsaj1oP2gubGVuZ3Ro OjAsaz1hPT09YlQsbDtmb3IoO2k8aiYmKGt8fCFsKTtpKyspbD1oW2ldKGMsZCxl KSx0eXBlb2YgbD09InN0cmluZyImJigha3x8Z1tsXT9sPWI6KGMuZGF0YVR5cGVz LnVuc2hpZnQobCksbD1iJChhLGMsZCxlLGwsZykpKTsoa3x8IWwpJiYhZ1siKiJd JiYobD1iJChhLGMsZCxlLCIqIixnKSk7cmV0dXJuIGx9ZnVuY3Rpb24gYlooYSl7 cmV0dXJuIGZ1bmN0aW9uKGIsYyl7dHlwZW9mIGIhPSJzdHJpbmciJiYoYz1iLGI9 IioiKTtpZihmLmlzRnVuY3Rpb24oYykpe3ZhciBkPWIudG9Mb3dlckNhc2UoKS5z cGxpdChiUCksZT0wLGc9ZC5sZW5ndGgsaCxpLGo7Zm9yKDtlPGc7ZSsrKWg9ZFtl XSxqPS9eXCsvLnRlc3QoaCksaiYmKGg9aC5zdWJzdHIoMSl8fCIqIiksaT1hW2hd PWFbaF18fFtdLGlbaj8idW5zaGlmdCI6InB1c2giXShjKX19fWZ1bmN0aW9uIGJD KGEsYixjKXt2YXIgZD1iPT09IndpZHRoIj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0 SGVpZ2h0LGU9Yj09PSJ3aWR0aCI/Yng6YnksZz0wLGg9ZS5sZW5ndGg7aWYoZD4w KXtpZihjIT09ImJvcmRlciIpZm9yKDtnPGg7ZysrKWN8fChkLT1wYXJzZUZsb2F0 KGYuY3NzKGEsInBhZGRpbmciK2VbZ10pKXx8MCksYz09PSJtYXJnaW4iP2QrPXBh cnNlRmxvYXQoZi5jc3MoYSxjK2VbZ10pKXx8MDpkLT1wYXJzZUZsb2F0KGYuY3Nz KGEsImJvcmRlciIrZVtnXSsiV2lkdGgiKSl8fDA7cmV0dXJuIGQrInB4In1kPWJ6 KGEsYixiKTtpZihkPDB8fGQ9PW51bGwpZD1hLnN0eWxlW2JdfHwwO2Q9cGFyc2VG bG9hdChkKXx8MDtpZihjKWZvcig7ZzxoO2crKylkKz1wYXJzZUZsb2F0KGYuY3Nz KGEsInBhZGRpbmciK2VbZ10pKXx8MCxjIT09InBhZGRpbmciJiYoZCs9cGFyc2VG bG9hdChmLmNzcyhhLCJib3JkZXIiK2VbZ10rIldpZHRoIikpfHwwKSxjPT09Im1h cmdpbiImJihkKz1wYXJzZUZsb2F0KGYuY3NzKGEsYytlW2ddKSl8fDApO3JldHVy biBkKyJweCJ9ZnVuY3Rpb24gYnAoYSxiKXtiLnNyYz9mLmFqYXgoe3VybDpiLnNy Yyxhc3luYzohMSxkYXRhVHlwZToic2NyaXB0In0pOmYuZ2xvYmFsRXZhbCgoYi50 ZXh0fHxiLnRleHRDb250ZW50fHxiLmlubmVySFRNTHx8IiIpLnJlcGxhY2UoYmYs Ii8qJDAqLyIpKSxiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGls ZChiKX1mdW5jdGlvbiBibyhhKXt2YXIgYj1jLmNyZWF0ZUVsZW1lbnQoImRpdiIp O2JoLmFwcGVuZENoaWxkKGIpLGIuaW5uZXJIVE1MPWEub3V0ZXJIVE1MO3JldHVy biBiLmZpcnN0Q2hpbGR9ZnVuY3Rpb24gYm4oYSl7dmFyIGI9KGEubm9kZU5hbWV8 fCIiKS50b0xvd2VyQ2FzZSgpO2I9PT0iaW5wdXQiP2JtKGEpOmIhPT0ic2NyaXB0 IiYmdHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPSJ1bmRlZmluZWQiJiZm LmdyZXAoYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW5wdXQiKSxibSl9ZnVuY3Rp b24gYm0oYSl7aWYoYS50eXBlPT09ImNoZWNrYm94Inx8YS50eXBlPT09InJhZGlv IilhLmRlZmF1bHRDaGVja2VkPWEuY2hlY2tlZH1mdW5jdGlvbiBibChhKXtyZXR1 cm4gdHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUhPSJ1bmRlZmluZWQiP2Eu Z2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKTp0eXBlb2YgYS5xdWVyeVNlbGVjdG9y QWxsIT0idW5kZWZpbmVkIj9hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKTpbXX1mdW5j dGlvbiBiayhhLGIpe3ZhciBjO2lmKGIubm9kZVR5cGU9PT0xKXtiLmNsZWFyQXR0 cmlidXRlcyYmYi5jbGVhckF0dHJpYnV0ZXMoKSxiLm1lcmdlQXR0cmlidXRlcyYm Yi5tZXJnZUF0dHJpYnV0ZXMoYSksYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7 aWYoYz09PSJvYmplY3QiKWIub3V0ZXJIVE1MPWEub3V0ZXJIVE1MO2Vsc2UgaWYo YyE9PSJpbnB1dCJ8fGEudHlwZSE9PSJjaGVja2JveCImJmEudHlwZSE9PSJyYWRp byIpe2lmKGM9PT0ib3B0aW9uIiliLnNlbGVjdGVkPWEuZGVmYXVsdFNlbGVjdGVk O2Vsc2UgaWYoYz09PSJpbnB1dCJ8fGM9PT0idGV4dGFyZWEiKWIuZGVmYXVsdFZh bHVlPWEuZGVmYXVsdFZhbHVlfWVsc2UgYS5jaGVja2VkJiYoYi5kZWZhdWx0Q2hl Y2tlZD1iLmNoZWNrZWQ9YS5jaGVja2VkKSxiLnZhbHVlIT09YS52YWx1ZSYmKGIu dmFsdWU9YS52YWx1ZSk7Yi5yZW1vdmVBdHRyaWJ1dGUoZi5leHBhbmRvKX19ZnVu Y3Rpb24gYmooYSxiKXtpZihiLm5vZGVUeXBlPT09MSYmISFmLmhhc0RhdGEoYSkp e3ZhciBjLGQsZSxnPWYuX2RhdGEoYSksaD1mLl9kYXRhKGIsZyksaT1nLmV2ZW50 cztpZihpKXtkZWxldGUgaC5oYW5kbGUsaC5ldmVudHM9e307Zm9yKGMgaW4gaSlm b3IoZD0wLGU9aVtjXS5sZW5ndGg7ZDxlO2QrKylmLmV2ZW50LmFkZChiLGMrKGlb Y11bZF0ubmFtZXNwYWNlPyIuIjoiIikraVtjXVtkXS5uYW1lc3BhY2UsaVtjXVtk XSxpW2NdW2RdLmRhdGEpfWguZGF0YSYmKGguZGF0YT1mLmV4dGVuZCh7fSxoLmRh dGEpKX19ZnVuY3Rpb24gYmkoYSxiKXtyZXR1cm4gZi5ub2RlTmFtZShhLCJ0YWJs ZSIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5k Q2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9 ZnVuY3Rpb24gVShhKXt2YXIgYj1WLnNwbGl0KCJ8IiksYz1hLmNyZWF0ZURvY3Vt ZW50RnJhZ21lbnQoKTtpZihjLmNyZWF0ZUVsZW1lbnQpd2hpbGUoYi5sZW5ndGgp Yy5jcmVhdGVFbGVtZW50KGIucG9wKCkpO3JldHVybiBjfWZ1bmN0aW9uIFQoYSxi LGMpe2I9Ynx8MDtpZihmLmlzRnVuY3Rpb24oYikpcmV0dXJuIGYuZ3JlcChhLGZ1 bmN0aW9uKGEsZCl7dmFyIGU9ISFiLmNhbGwoYSxkLGEpO3JldHVybiBlPT09Y30p O2lmKGIubm9kZVR5cGUpcmV0dXJuIGYuZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0 dXJuIGE9PT1iPT09Y30pO2lmKHR5cGVvZiBiPT0ic3RyaW5nIil7dmFyIGQ9Zi5n cmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZVR5cGU9PT0xfSk7aWYoTy50 ZXN0KGIpKXJldHVybiBmLmZpbHRlcihiLGQsIWMpO2I9Zi5maWx0ZXIoYixkKX1y ZXR1cm4gZi5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4gZi5pbkFycmF5KGEs Yik+PTA9PT1jfSl9ZnVuY3Rpb24gUyhhKXtyZXR1cm4hYXx8IWEucGFyZW50Tm9k ZXx8YS5wYXJlbnROb2RlLm5vZGVUeXBlPT09MTF9ZnVuY3Rpb24gSygpe3JldHVy biEwfWZ1bmN0aW9uIEooKXtyZXR1cm4hMX1mdW5jdGlvbiBuKGEsYixjKXt2YXIg ZD1iKyJkZWZlciIsZT1iKyJxdWV1ZSIsZz1iKyJtYXJrIixoPWYuX2RhdGEoYSxk KTtoJiYoYz09PSJxdWV1ZSJ8fCFmLl9kYXRhKGEsZSkpJiYoYz09PSJtYXJrInx8 IWYuX2RhdGEoYSxnKSkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXshZi5fZGF0YShh LGUpJiYhZi5fZGF0YShhLGcpJiYoZi5yZW1vdmVEYXRhKGEsZCwhMCksaC5maXJl KCkpfSwwKX1mdW5jdGlvbiBtKGEpe2Zvcih2YXIgYiBpbiBhKXtpZihiPT09ImRh dGEiJiZmLmlzRW1wdHlPYmplY3QoYVtiXSkpY29udGludWU7aWYoYiE9PSJ0b0pT T04iKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGwoYSxjLGQpe2lmKGQ9PT1i JiZhLm5vZGVUeXBlPT09MSl7dmFyIGU9ImRhdGEtIitjLnJlcGxhY2UoaywiLSQx IikudG9Mb3dlckNhc2UoKTtkPWEuZ2V0QXR0cmlidXRlKGUpO2lmKHR5cGVvZiBk PT0ic3RyaW5nIil7dHJ5e2Q9ZD09PSJ0cnVlIj8hMDpkPT09ImZhbHNlIj8hMTpk PT09Im51bGwiP251bGw6Zi5pc051bWVyaWMoZCk/cGFyc2VGbG9hdChkKTpqLnRl c3QoZCk/Zi5wYXJzZUpTT04oZCk6ZH1jYXRjaChnKXt9Zi5kYXRhKGEsYyxkKX1l bHNlIGQ9Yn1yZXR1cm4gZH1mdW5jdGlvbiBoKGEpe3ZhciBiPWdbYV09e30sYyxk O2E9YS5zcGxpdCgvXHMrLyk7Zm9yKGM9MCxkPWEubGVuZ3RoO2M8ZDtjKyspYlth W2NdXT0hMDtyZXR1cm4gYn12YXIgYz1hLmRvY3VtZW50LGQ9YS5uYXZpZ2F0b3Is ZT1hLmxvY2F0aW9uLGY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBKKCl7aWYoIWUuaXNS ZWFkeSl7dHJ5e2MuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0 Y2goYSl7c2V0VGltZW91dChKLDEpO3JldHVybn1lLnJlYWR5KCl9fXZhciBlPWZ1 bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBlLmZuLmluaXQoYSxiLGgpfSxmPWEualF1 ZXJ5LGc9YS4kLGgsaT0vXig/OlteIzxdKig8W1x3XFddKz4pW14+XSokfCMoW1x3 XC1dKikkKS8saj0vXFMvLGs9L15ccysvLGw9L1xzKyQvLG09L148KFx3Kylccypc Lz8+KD86PFwvXDE+KT8kLyxuPS9eW1xdLDp7fVxzXSokLyxvPS9cXCg/OlsiXFxc L2JmbnJ0XXx1WzAtOWEtZkEtRl17NH0pL2cscD0vIlteIlxcXG5ccl0qInx0cnVl fGZhbHNlfG51bGx8LT9cZCsoPzpcLlxkKik/KD86W2VFXVsrXC1dP1xkKyk/L2cs cT0vKD86Xnw6fCwpKD86XHMqXFspKy9nLHI9Lyh3ZWJraXQpWyBcL10oW1x3Ll0r KS8scz0vKG9wZXJhKSg/Oi4qdmVyc2lvbik/WyBcL10oW1x3Ll0rKS8sdD0vKG1z aWUpIChbXHcuXSspLyx1PS8obW96aWxsYSkoPzouKj8gcnY6KFtcdy5dKykpPy8s dj0vLShbYS16XXxbMC05XSkvaWcsdz0vXi1tcy0vLHg9ZnVuY3Rpb24oYSxiKXty ZXR1cm4oYisiIikudG9VcHBlckNhc2UoKX0seT1kLnVzZXJBZ2VudCx6LEEsQixD PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsRD1PYmplY3QucHJvdG90eXBlLmhh c093blByb3BlcnR5LEU9QXJyYXkucHJvdG90eXBlLnB1c2gsRj1BcnJheS5wcm90 b3R5cGUuc2xpY2UsRz1TdHJpbmcucHJvdG90eXBlLnRyaW0sSD1BcnJheS5wcm90 b3R5cGUuaW5kZXhPZixJPXt9O2UuZm49ZS5wcm90b3R5cGU9e2NvbnN0cnVjdG9y OmUsaW5pdDpmdW5jdGlvbihhLGQsZil7dmFyIGcsaCxqLGs7aWYoIWEpcmV0dXJu IHRoaXM7aWYoYS5ub2RlVHlwZSl7dGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlz Lmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKGE9PT0iYm9keSImJiFkJiZjLmJvZHkp e3RoaXMuY29udGV4dD1jLHRoaXNbMF09Yy5ib2R5LHRoaXMuc2VsZWN0b3I9YSx0 aGlzLmxlbmd0aD0xO3JldHVybiB0aGlzfWlmKHR5cGVvZiBhPT0ic3RyaW5nIil7 YS5jaGFyQXQoMCkhPT0iPCJ8fGEuY2hhckF0KGEubGVuZ3RoLTEpIT09Ij4ifHxh Lmxlbmd0aDwzP2c9aS5leGVjKGEpOmc9W251bGwsYSxudWxsXTtpZihnJiYoZ1sx XXx8IWQpKXtpZihnWzFdKXtkPWQgaW5zdGFuY2VvZiBlP2RbMF06ZCxrPWQ/ZC5v d25lckRvY3VtZW50fHxkOmMsaj1tLmV4ZWMoYSksaj9lLmlzUGxhaW5PYmplY3Qo ZCk/KGE9W2MuY3JlYXRlRWxlbWVudChqWzFdKV0sZS5mbi5hdHRyLmNhbGwoYSxk LCEwKSk6YT1bay5jcmVhdGVFbGVtZW50KGpbMV0pXTooaj1lLmJ1aWxkRnJhZ21l bnQoW2dbMV1dLFtrXSksYT0oai5jYWNoZWFibGU/ZS5jbG9uZShqLmZyYWdtZW50 KTpqLmZyYWdtZW50KS5jaGlsZE5vZGVzKTtyZXR1cm4gZS5tZXJnZSh0aGlzLGEp fWg9Yy5nZXRFbGVtZW50QnlJZChnWzJdKTtpZihoJiZoLnBhcmVudE5vZGUpe2lm KGguaWQhPT1nWzJdKXJldHVybiBmLmZpbmQoYSk7dGhpcy5sZW5ndGg9MSx0aGlz WzBdPWh9dGhpcy5jb250ZXh0PWMsdGhpcy5zZWxlY3Rvcj1hO3JldHVybiB0aGlz fXJldHVybiFkfHxkLmpxdWVyeT8oZHx8ZikuZmluZChhKTp0aGlzLmNvbnN0cnVj dG9yKGQpLmZpbmQoYSl9aWYoZS5pc0Z1bmN0aW9uKGEpKXJldHVybiBmLnJlYWR5 KGEpO2Euc2VsZWN0b3IhPT1iJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRo aXMuY29udGV4dD1hLmNvbnRleHQpO3JldHVybiBlLm1ha2VBcnJheShhLHRoaXMp fSxzZWxlY3RvcjoiIixqcXVlcnk6IjEuNy4xIixsZW5ndGg6MCxzaXplOmZ1bmN0 aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0 dXJuIEYuY2FsbCh0aGlzLDApfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PW51 bGw/dGhpcy50b0FycmF5KCk6YTwwP3RoaXNbdGhpcy5sZW5ndGgrYV06dGhpc1th XX0scHVzaFN0YWNrOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNvbnN0cnVj dG9yKCk7ZS5pc0FycmF5KGEpP0UuYXBwbHkoZCxhKTplLm1lcmdlKGQsYSksZC5w cmV2T2JqZWN0PXRoaXMsZC5jb250ZXh0PXRoaXMuY29udGV4dCxiPT09ImZpbmQi P2Quc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisodGhpcy5zZWxlY3Rvcj8iICI6IiIp K2M6YiYmKGQuc2VsZWN0b3I9dGhpcy5zZWxlY3RvcisiLiIrYisiKCIrYysiKSIp O3JldHVybiBkfSxlYWNoOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGUuZWFjaCh0aGlz LGEsYil9LHJlYWR5OmZ1bmN0aW9uKGEpe2UuYmluZFJlYWR5KCksQS5hZGQoYSk7 cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9uKGEpe2E9K2E7cmV0dXJuIGE9PT0tMT90 aGlzLnNsaWNlKGEpOnRoaXMuc2xpY2UoYSxhKzEpfSxmaXJzdDpmdW5jdGlvbigp e3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMu ZXEoLTEpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhG LmFwcGx5KHRoaXMsYXJndW1lbnRzKSwic2xpY2UiLEYuY2FsbChhcmd1bWVudHMp LmpvaW4oIiwiKSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3Rh Y2soZS5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIp fSkpfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlz LmNvbnN0cnVjdG9yKG51bGwpfSxwdXNoOkUsc29ydDpbXS5zb3J0LHNwbGljZTpb XS5zcGxpY2V9LGUuZm4uaW5pdC5wcm90b3R5cGU9ZS5mbixlLmV4dGVuZD1lLmZu LmV4dGVuZD1mdW5jdGlvbigpe3ZhciBhLGMsZCxmLGcsaCxpPWFyZ3VtZW50c1sw XXx8e30saj0xLGs9YXJndW1lbnRzLmxlbmd0aCxsPSExO3R5cGVvZiBpPT0iYm9v bGVhbiImJihsPWksaT1hcmd1bWVudHNbMV18fHt9LGo9MiksdHlwZW9mIGkhPSJv YmplY3QiJiYhZS5pc0Z1bmN0aW9uKGkpJiYoaT17fSksaz09PWomJihpPXRoaXMs LS1qKTtmb3IoO2o8aztqKyspaWYoKGE9YXJndW1lbnRzW2pdKSE9bnVsbClmb3Io YyBpbiBhKXtkPWlbY10sZj1hW2NdO2lmKGk9PT1mKWNvbnRpbnVlO2wmJmYmJihl LmlzUGxhaW5PYmplY3QoZil8fChnPWUuaXNBcnJheShmKSkpPyhnPyhnPSExLGg9 ZCYmZS5pc0FycmF5KGQpP2Q6W10pOmg9ZCYmZS5pc1BsYWluT2JqZWN0KGQpP2Q6 e30saVtjXT1lLmV4dGVuZChsLGgsZikpOmYhPT1iJiYoaVtjXT1mKX1yZXR1cm4g aX0sZS5leHRlbmQoe25vQ29uZmxpY3Q6ZnVuY3Rpb24oYil7YS4kPT09ZSYmKGEu JD1nKSxiJiZhLmpRdWVyeT09PWUmJihhLmpRdWVyeT1mKTtyZXR1cm4gZX0saXNS ZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9lLnJl YWR5V2FpdCsrOmUucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXtpZihhPT09 ITAmJiEtLWUucmVhZHlXYWl0fHxhIT09ITAmJiFlLmlzUmVhZHkpe2lmKCFjLmJv ZHkpcmV0dXJuIHNldFRpbWVvdXQoZS5yZWFkeSwxKTtlLmlzUmVhZHk9ITA7aWYo YSE9PSEwJiYtLWUucmVhZHlXYWl0PjApcmV0dXJuO0EuZmlyZVdpdGgoYyxbZV0p LGUuZm4udHJpZ2dlciYmZShjKS50cmlnZ2VyKCJyZWFkeSIpLm9mZigicmVhZHki KX19LGJpbmRSZWFkeTpmdW5jdGlvbigpe2lmKCFBKXtBPWUuQ2FsbGJhY2tzKCJv bmNlIG1lbW9yeSIpO2lmKGMucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpcmV0dXJu IHNldFRpbWVvdXQoZS5yZWFkeSwxKTtpZihjLmFkZEV2ZW50TGlzdGVuZXIpYy5h ZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixCLCExKSxhLmFkZEV2 ZW50TGlzdGVuZXIoImxvYWQiLGUucmVhZHksITEpO2Vsc2UgaWYoYy5hdHRhY2hF dmVudCl7Yy5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixCKSxhLmF0 dGFjaEV2ZW50KCJvbmxvYWQiLGUucmVhZHkpO3ZhciBiPSExO3RyeXtiPWEuZnJh bWVFbGVtZW50PT1udWxsfWNhdGNoKGQpe31jLmRvY3VtZW50RWxlbWVudC5kb1Nj cm9sbCYmYiYmSigpfX19LGlzRnVuY3Rpb246ZnVuY3Rpb24oYSl7cmV0dXJuIGUu dHlwZShhKT09PSJmdW5jdGlvbiJ9LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVu Y3Rpb24oYSl7cmV0dXJuIGUudHlwZShhKT09PSJhcnJheSJ9LGlzV2luZG93OmZ1 bmN0aW9uKGEpe3JldHVybiBhJiZ0eXBlb2YgYT09Im9iamVjdCImJiJzZXRJbnRl cnZhbCJpbiBhfSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7cmV0dXJuIWlzTmFOKHBh cnNlRmxvYXQoYSkpJiZpc0Zpbml0ZShhKX0sdHlwZTpmdW5jdGlvbihhKXtyZXR1 cm4gYT09bnVsbD9TdHJpbmcoYSk6SVtDLmNhbGwoYSldfHwib2JqZWN0In0saXNQ bGFpbk9iamVjdDpmdW5jdGlvbihhKXtpZighYXx8ZS50eXBlKGEpIT09Im9iamVj dCJ8fGEubm9kZVR5cGV8fGUuaXNXaW5kb3coYSkpcmV0dXJuITE7dHJ5e2lmKGEu Y29uc3RydWN0b3ImJiFELmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIUQuY2FsbChh LmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiEx fWNhdGNoKGMpe3JldHVybiExfXZhciBkO2ZvcihkIGluIGEpO3JldHVybiBkPT09 Ynx8RC5jYWxsKGEsZCl9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7Zm9yKHZh ciBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LGVycm9yOmZ1bmN0aW9uKGEpe3Ro cm93IG5ldyBFcnJvcihhKX0scGFyc2VKU09OOmZ1bmN0aW9uKGIpe2lmKHR5cGVv ZiBiIT0ic3RyaW5nInx8IWIpcmV0dXJuIG51bGw7Yj1lLnRyaW0oYik7aWYoYS5K U09OJiZhLkpTT04ucGFyc2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKTtpZihuLnRl c3QoYi5yZXBsYWNlKG8sIkAiKS5yZXBsYWNlKHAsIl0iKS5yZXBsYWNlKHEsIiIp KSlyZXR1cm4obmV3IEZ1bmN0aW9uKCJyZXR1cm4gIitiKSkoKTtlLmVycm9yKCJJ bnZhbGlkIEpTT046ICIrYil9LHBhcnNlWE1MOmZ1bmN0aW9uKGMpe3ZhciBkLGY7 dHJ5e2EuRE9NUGFyc2VyPyhmPW5ldyBET01QYXJzZXIsZD1mLnBhcnNlRnJvbVN0 cmluZyhjLCJ0ZXh0L3htbCIpKTooZD1uZXcgQWN0aXZlWE9iamVjdCgiTWljcm9z b2Z0LlhNTERPTSIpLGQuYXN5bmM9ImZhbHNlIixkLmxvYWRYTUwoYykpfWNhdGNo KGcpe2Q9Yn0oIWR8fCFkLmRvY3VtZW50RWxlbWVudHx8ZC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGgpJiZlLmVycm9yKCJJbnZhbGlk IFhNTDogIitjKTtyZXR1cm4gZH0sbm9vcDpmdW5jdGlvbigpe30sZ2xvYmFsRXZh bDpmdW5jdGlvbihiKXtiJiZqLnRlc3QoYikmJihhLmV4ZWNTY3JpcHR8fGZ1bmN0 aW9uKGIpe2EuZXZhbC5jYWxsKGEsYil9KShiKX0sY2FtZWxDYXNlOmZ1bmN0aW9u KGEpe3JldHVybiBhLnJlcGxhY2UodywibXMtIikucmVwbGFjZSh2LHgpfSxub2Rl TmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1l LnRvVXBwZXJDYXNlKCk9PT1iLnRvVXBwZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24o YSxjLGQpe3ZhciBmLGc9MCxoPWEubGVuZ3RoLGk9aD09PWJ8fGUuaXNGdW5jdGlv bihhKTtpZihkKXtpZihpKXtmb3IoZiBpbiBhKWlmKGMuYXBwbHkoYVtmXSxkKT09 PSExKWJyZWFrfWVsc2UgZm9yKDtnPGg7KWlmKGMuYXBwbHkoYVtnKytdLGQpPT09 ITEpYnJlYWt9ZWxzZSBpZihpKXtmb3IoZiBpbiBhKWlmKGMuY2FsbChhW2ZdLGYs YVtmXSk9PT0hMSlicmVha31lbHNlIGZvcig7ZzxoOylpZihjLmNhbGwoYVtnXSxn LGFbZysrXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpHP2Z1bmN0aW9uKGEp e3JldHVybiBhPT1udWxsPyIiOkcuY2FsbChhKX06ZnVuY3Rpb24oYSl7cmV0dXJu IGE9PW51bGw/IiI6KGErIiIpLnJlcGxhY2UoaywiIikucmVwbGFjZShsLCIiKX0s bWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107aWYoYSE9bnVsbCl7 dmFyIGQ9ZS50eXBlKGEpO2EubGVuZ3RoPT1udWxsfHxkPT09InN0cmluZyJ8fGQ9 PT0iZnVuY3Rpb24ifHxkPT09InJlZ2V4cCJ8fGUuaXNXaW5kb3coYSk/RS5jYWxs KGMsYSk6ZS5tZXJnZShjLGEpfXJldHVybiBjfSxpbkFycmF5OmZ1bmN0aW9uKGEs YixjKXt2YXIgZDtpZihiKXtpZihIKXJldHVybiBILmNhbGwoYixhLGMpO2Q9Yi5s ZW5ndGgsYz1jP2M8MD9NYXRoLm1heCgwLGQrYyk6YzowO2Zvcig7YzxkO2MrKylp ZihjIGluIGImJmJbY109PT1hKXJldHVybiBjfXJldHVybi0xfSxtZXJnZTpmdW5j dGlvbihhLGMpe3ZhciBkPWEubGVuZ3RoLGU9MDtpZih0eXBlb2YgYy5sZW5ndGg9 PSJudW1iZXIiKWZvcih2YXIgZj1jLmxlbmd0aDtlPGY7ZSsrKWFbZCsrXT1jW2Vd O2Vsc2Ugd2hpbGUoY1tlXSE9PWIpYVtkKytdPWNbZSsrXTthLmxlbmd0aD1kO3Jl dHVybiBhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlO2M9ISFjO2Zv cih2YXIgZj0wLGc9YS5sZW5ndGg7ZjxnO2YrKyllPSEhYihhW2ZdLGYpLGMhPT1l JiZkLnB1c2goYVtmXSk7cmV0dXJuIGR9LG1hcDpmdW5jdGlvbihhLGMsZCl7dmFy IGYsZyxoPVtdLGk9MCxqPWEubGVuZ3RoLGs9YSBpbnN0YW5jZW9mIGV8fGohPT1i JiZ0eXBlb2Ygaj09Im51bWJlciImJihqPjAmJmFbMF0mJmFbai0xXXx8aj09PTB8 fGUuaXNBcnJheShhKSk7aWYoaylmb3IoO2k8ajtpKyspZj1jKGFbaV0saSxkKSxm IT1udWxsJiYoaFtoLmxlbmd0aF09Zik7ZWxzZSBmb3IoZyBpbiBhKWY9YyhhW2dd LGcsZCksZiE9bnVsbCYmKGhbaC5sZW5ndGhdPWYpO3JldHVybiBoLmNvbmNhdC5h cHBseShbXSxoKX0sZ3VpZDoxLHByb3h5OmZ1bmN0aW9uKGEsYyl7aWYodHlwZW9m IGM9PSJzdHJpbmciKXt2YXIgZD1hW2NdO2M9YSxhPWR9aWYoIWUuaXNGdW5jdGlv bihhKSlyZXR1cm4gYjt2YXIgZj1GLmNhbGwoYXJndW1lbnRzLDIpLGc9ZnVuY3Rp b24oKXtyZXR1cm4gYS5hcHBseShjLGYuY29uY2F0KEYuY2FsbChhcmd1bWVudHMp KSl9O2cuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxnLmd1aWR8fGUuZ3VpZCsrO3JldHVy biBnfSxhY2Nlc3M6ZnVuY3Rpb24oYSxjLGQsZixnLGgpe3ZhciBpPWEubGVuZ3Ro O2lmKHR5cGVvZiBjPT0ib2JqZWN0Iil7Zm9yKHZhciBqIGluIGMpZS5hY2Nlc3Mo YSxqLGNbal0sZixnLGQpO3JldHVybiBhfWlmKGQhPT1iKXtmPSFoJiZmJiZlLmlz RnVuY3Rpb24oZCk7Zm9yKHZhciBrPTA7azxpO2srKylnKGFba10sYyxmP2QuY2Fs bChhW2tdLGssZyhhW2tdLGMpKTpkLGgpO3JldHVybiBhfXJldHVybiBpP2coYVsw XSxjKTpifSxub3c6ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUo KX0sdWFNYXRjaDpmdW5jdGlvbihhKXthPWEudG9Mb3dlckNhc2UoKTt2YXIgYj1y LmV4ZWMoYSl8fHMuZXhlYyhhKXx8dC5leGVjKGEpfHxhLmluZGV4T2YoImNvbXBh dGlibGUiKTwwJiZ1LmV4ZWMoYSl8fFtdO3JldHVybnticm93c2VyOmJbMV18fCIi LHZlcnNpb246YlsyXXx8IjAifX0sc3ViOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShi LGMpe3JldHVybiBuZXcgYS5mbi5pbml0KGIsYyl9ZS5leHRlbmQoITAsYSx0aGlz KSxhLnN1cGVyY2xhc3M9dGhpcyxhLmZuPWEucHJvdG90eXBlPXRoaXMoKSxhLmZu LmNvbnN0cnVjdG9yPWEsYS5zdWI9dGhpcy5zdWIsYS5mbi5pbml0PWZ1bmN0aW9u KGQsZil7ZiYmZiBpbnN0YW5jZW9mIGUmJiEoZiBpbnN0YW5jZW9mIGEpJiYoZj1h KGYpKTtyZXR1cm4gZS5mbi5pbml0LmNhbGwodGhpcyxkLGYsYil9LGEuZm4uaW5p dC5wcm90b3R5cGU9YS5mbjt2YXIgYj1hKGMpO3JldHVybiBhfSxicm93c2VyOnt9 fSksZS5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkg RGF0ZSBSZWdFeHAgT2JqZWN0Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7SVsi W29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KSx6PWUudWFNYXRjaCh5 KSx6LmJyb3dzZXImJihlLmJyb3dzZXJbei5icm93c2VyXT0hMCxlLmJyb3dzZXIu dmVyc2lvbj16LnZlcnNpb24pLGUuYnJvd3Nlci53ZWJraXQmJihlLmJyb3dzZXIu c2FmYXJpPSEwKSxqLnRlc3QoIsKgIikmJihrPS9eW1xzXHhBMF0rLyxsPS9bXHNc eEEwXSskLyksaD1lKGMpLGMuYWRkRXZlbnRMaXN0ZW5lcj9CPWZ1bmN0aW9uKCl7 Yy5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixCLCExKSxl LnJlYWR5KCl9OmMuYXR0YWNoRXZlbnQmJihCPWZ1bmN0aW9uKCl7Yy5yZWFkeVN0 YXRlPT09ImNvbXBsZXRlIiYmKGMuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNo YW5nZSIsQiksZS5yZWFkeSgpKX0pO3JldHVybiBlfSgpLGc9e307Zi5DYWxsYmFj a3M9ZnVuY3Rpb24oYSl7YT1hP2dbYV18fGgoYSk6e307dmFyIGM9W10sZD1bXSxl LGksaixrLGwsbT1mdW5jdGlvbihiKXt2YXIgZCxlLGcsaCxpO2ZvcihkPTAsZT1i Lmxlbmd0aDtkPGU7ZCsrKWc9YltkXSxoPWYudHlwZShnKSxoPT09ImFycmF5Ij9t KGcpOmg9PT0iZnVuY3Rpb24iJiYoIWEudW5pcXVlfHwhby5oYXMoZykpJiZjLnB1 c2goZyl9LG49ZnVuY3Rpb24oYixmKXtmPWZ8fFtdLGU9IWEubWVtb3J5fHxbYixm XSxpPSEwLGw9anx8MCxqPTAsaz1jLmxlbmd0aDtmb3IoO2MmJmw8aztsKyspaWYo Y1tsXS5hcHBseShiLGYpPT09ITEmJmEuc3RvcE9uRmFsc2Upe2U9ITA7YnJlYWt9 aT0hMSxjJiYoYS5vbmNlP2U9PT0hMD9vLmRpc2FibGUoKTpjPVtdOmQmJmQubGVu Z3RoJiYoZT1kLnNoaWZ0KCksby5maXJlV2l0aChlWzBdLGVbMV0pKSl9LG89e2Fk ZDpmdW5jdGlvbigpe2lmKGMpe3ZhciBhPWMubGVuZ3RoO20oYXJndW1lbnRzKSxp P2s9Yy5sZW5ndGg6ZSYmZSE9PSEwJiYoaj1hLG4oZVswXSxlWzFdKSl9cmV0dXJu IHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe2lmKGMpe3ZhciBiPWFyZ3VtZW50cyxk PTAsZT1iLmxlbmd0aDtmb3IoO2Q8ZTtkKyspZm9yKHZhciBmPTA7ZjxjLmxlbmd0 aDtmKyspaWYoYltkXT09PWNbZl0pe2kmJmY8PWsmJihrLS0sZjw9bCYmbC0tKSxj LnNwbGljZShmLS0sMSk7aWYoYS51bmlxdWUpYnJlYWt9fXJldHVybiB0aGlzfSxo YXM6ZnVuY3Rpb24oYSl7aWYoYyl7dmFyIGI9MCxkPWMubGVuZ3RoO2Zvcig7Yjxk O2IrKylpZihhPT09Y1tiXSlyZXR1cm4hMH1yZXR1cm4hMX0sZW1wdHk6ZnVuY3Rp b24oKXtjPVtdO3JldHVybiB0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7Yz1kPWU9 YjtyZXR1cm4gdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hY30sbG9j azpmdW5jdGlvbigpe2Q9YiwoIWV8fGU9PT0hMCkmJm8uZGlzYWJsZSgpO3JldHVy biB0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZH0sZmlyZVdpdGg6ZnVu Y3Rpb24oYixjKXtkJiYoaT9hLm9uY2V8fGQucHVzaChbYixjXSk6KCFhLm9uY2V8 fCFlKSYmbihiLGMpKTtyZXR1cm4gdGhpc30sZmlyZTpmdW5jdGlvbigpe28uZmly ZVdpdGgodGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzfSxmaXJlZDpmdW5jdGlv bigpe3JldHVybiEhZX19O3JldHVybiBvfTt2YXIgaT1bXS5zbGljZTtmLmV4dGVu ZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9Zi5DYWxsYmFja3MoIm9uY2Ug bWVtb3J5IiksYz1mLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxkPWYuQ2FsbGJh Y2tzKCJtZW1vcnkiKSxlPSJwZW5kaW5nIixnPXtyZXNvbHZlOmIscmVqZWN0OmMs bm90aWZ5OmR9LGg9e2RvbmU6Yi5hZGQsZmFpbDpjLmFkZCxwcm9ncmVzczpkLmFk ZCxzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBlfSxpc1Jlc29sdmVkOmIuZmlyZWQs aXNSZWplY3RlZDpjLmZpcmVkLHRoZW46ZnVuY3Rpb24oYSxiLGMpe2kuZG9uZShh KS5mYWlsKGIpLnByb2dyZXNzKGMpO3JldHVybiB0aGlzfSxhbHdheXM6ZnVuY3Rp b24oKXtpLmRvbmUuYXBwbHkoaSxhcmd1bWVudHMpLmZhaWwuYXBwbHkoaSxhcmd1 bWVudHMpO3JldHVybiB0aGlzfSxwaXBlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4g Zi5EZWZlcnJlZChmdW5jdGlvbihkKXtmLmVhY2goe2RvbmU6W2EsInJlc29sdmUi XSxmYWlsOltiLCJyZWplY3QiXSxwcm9ncmVzczpbYywibm90aWZ5Il19LGZ1bmN0 aW9uKGEsYil7dmFyIGM9YlswXSxlPWJbMV0sZztmLmlzRnVuY3Rpb24oYyk/aVth XShmdW5jdGlvbigpe2c9Yy5hcHBseSh0aGlzLGFyZ3VtZW50cyksZyYmZi5pc0Z1 bmN0aW9uKGcucHJvbWlzZSk/Zy5wcm9taXNlKCkudGhlbihkLnJlc29sdmUsZC5y ZWplY3QsZC5ub3RpZnkpOmRbZSsiV2l0aCJdKHRoaXM9PT1pP2Q6dGhpcyxbZ10p fSk6aVthXShkW2VdKX0pfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEp e2lmKGE9PW51bGwpYT1oO2Vsc2UgZm9yKHZhciBiIGluIGgpYVtiXT1oW2JdO3Jl dHVybiBhfX0saT1oLnByb21pc2Uoe30pLGo7Zm9yKGogaW4gZylpW2pdPWdbal0u ZmlyZSxpW2orIldpdGgiXT1nW2pdLmZpcmVXaXRoO2kuZG9uZShmdW5jdGlvbigp e2U9InJlc29sdmVkIn0sYy5kaXNhYmxlLGQubG9jaykuZmFpbChmdW5jdGlvbigp e2U9InJlamVjdGVkIn0sYi5kaXNhYmxlLGQubG9jayksYSYmYS5jYWxsKGksaSk7 cmV0dXJuIGl9LHdoZW46ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gbShhKXtyZXR1cm4g ZnVuY3Rpb24oYil7ZVthXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3Vt ZW50cywwKTpiLGoubm90aWZ5V2l0aChrLGUpfX1mdW5jdGlvbiBsKGEpe3JldHVy biBmdW5jdGlvbihjKXtiW2FdPWFyZ3VtZW50cy5sZW5ndGg+MT9pLmNhbGwoYXJn dW1lbnRzLDApOmMsLS1nfHxqLnJlc29sdmVXaXRoKGosYil9fXZhciBiPWkuY2Fs bChhcmd1bWVudHMsMCksYz0wLGQ9Yi5sZW5ndGgsZT1BcnJheShkKSxnPWQsaD1k LGo9ZDw9MSYmYSYmZi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YTpmLkRlZmVycmVk KCksaz1qLnByb21pc2UoKTtpZihkPjEpe2Zvcig7YzxkO2MrKyliW2NdJiZiW2Nd LnByb21pc2UmJmYuaXNGdW5jdGlvbihiW2NdLnByb21pc2UpP2JbY10ucHJvbWlz ZSgpLnRoZW4obChjKSxqLnJlamVjdCxtKGMpKTotLWc7Z3x8ai5yZXNvbHZlV2l0 aChqLGIpfWVsc2UgaiE9PWEmJmoucmVzb2x2ZVdpdGgoaixkP1thXTpbXSk7cmV0 dXJuIGt9fSksZi5zdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIGIsZCxlLGcsaCxpLGos ayxsLG0sbixvLHAscT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHI9Yy5kb2N1bWVu dEVsZW1lbnQ7cS5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxxLmlubmVy SFRNTD0iICAgPGxpbmsvPjx0YWJsZT48L3RhYmxlPjxhIGhyZWY9Jy9hJyBzdHls ZT0ndG9wOjFweDtmbG9hdDpsZWZ0O29wYWNpdHk6LjU1Oyc+YTwvYT48aW5wdXQg dHlwZT0nY2hlY2tib3gnLz4iLGQ9cS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIp LGU9cS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdO2lmKCFkfHwhZC5sZW5n dGh8fCFlKXJldHVybnt9O2c9Yy5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKSxoPWcu YXBwZW5kQ2hpbGQoYy5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSksaT1xLmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJpbnB1dCIpWzBdLGI9e2xlYWRpbmdXaGl0ZXNwYWNl OnEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PTMsdGJvZHk6IXEuZ2V0RWxlbWVudHNC eVRhZ05hbWUoInRib2R5IikubGVuZ3RoLGh0bWxTZXJpYWxpemU6ISFxLmdldEVs ZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLHN0eWxlOi90b3AvLnRlc3Qo ZS5nZXRBdHRyaWJ1dGUoInN0eWxlIikpLGhyZWZOb3JtYWxpemVkOmUuZ2V0QXR0 cmlidXRlKCJocmVmIik9PT0iL2EiLG9wYWNpdHk6L14wLjU1Ly50ZXN0KGUuc3R5 bGUub3BhY2l0eSksY3NzRmxvYXQ6ISFlLnN0eWxlLmNzc0Zsb2F0LGNoZWNrT246 aS52YWx1ZT09PSJvbiIsb3B0U2VsZWN0ZWQ6aC5zZWxlY3RlZCxnZXRTZXRBdHRy aWJ1dGU6cS5jbGFzc05hbWUhPT0idCIsZW5jdHlwZTohIWMuY3JlYXRlRWxlbWVu dCgiZm9ybSIpLmVuY3R5cGUsaHRtbDVDbG9uZTpjLmNyZWF0ZUVsZW1lbnQoIm5h diIpLmNsb25lTm9kZSghMCkub3V0ZXJIVE1MIT09Ijw6bmF2PjwvOm5hdj4iLHN1 Ym1pdEJ1YmJsZXM6ITAsY2hhbmdlQnViYmxlczohMCxmb2N1c2luQnViYmxlczoh MSxkZWxldGVFeHBhbmRvOiEwLG5vQ2xvbmVFdmVudDohMCxpbmxpbmVCbG9ja05l ZWRzTGF5b3V0OiExLHNocmlua1dyYXBCbG9ja3M6ITEscmVsaWFibGVNYXJnaW5S aWdodDohMH0saS5jaGVja2VkPSEwLGIubm9DbG9uZUNoZWNrZWQ9aS5jbG9uZU5v ZGUoITApLmNoZWNrZWQsZy5kaXNhYmxlZD0hMCxiLm9wdERpc2FibGVkPSFoLmRp c2FibGVkO3RyeXtkZWxldGUgcS50ZXN0fWNhdGNoKHMpe2IuZGVsZXRlRXhwYW5k bz0hMX0hcS5hZGRFdmVudExpc3RlbmVyJiZxLmF0dGFjaEV2ZW50JiZxLmZpcmVF dmVudCYmKHEuYXR0YWNoRXZlbnQoIm9uY2xpY2siLGZ1bmN0aW9uKCl7Yi5ub0Ns b25lRXZlbnQ9ITF9KSxxLmNsb25lTm9kZSghMCkuZmlyZUV2ZW50KCJvbmNsaWNr IikpLGk9Yy5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGkudmFsdWU9InQiLGkuc2V0 QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxiLnJhZGlvVmFsdWU9aS52YWx1ZT09 PSJ0IixpLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxxLmFwcGVu ZENoaWxkKGkpLGs9Yy5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksay5hcHBlbmRD aGlsZChxLmxhc3RDaGlsZCksYi5jaGVja0Nsb25lPWsuY2xvbmVOb2RlKCEwKS5j bG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGIuYXBwZW5kQ2hlY2tlZD1p LmNoZWNrZWQsay5yZW1vdmVDaGlsZChpKSxrLmFwcGVuZENoaWxkKHEpLHEuaW5u ZXJIVE1MPSIiLGEuZ2V0Q29tcHV0ZWRTdHlsZSYmKGo9Yy5jcmVhdGVFbGVtZW50 KCJkaXYiKSxqLnN0eWxlLndpZHRoPSIwIixqLnN0eWxlLm1hcmdpblJpZ2h0PSIw IixxLnN0eWxlLndpZHRoPSIycHgiLHEuYXBwZW5kQ2hpbGQoaiksYi5yZWxpYWJs ZU1hcmdpblJpZ2h0PShwYXJzZUludCgoYS5nZXRDb21wdXRlZFN0eWxlKGosbnVs bCl8fHttYXJnaW5SaWdodDowfSkubWFyZ2luUmlnaHQsMTApfHwwKT09PTApO2lm KHEuYXR0YWNoRXZlbnQpZm9yKG8gaW57c3VibWl0OjEsY2hhbmdlOjEsZm9jdXNp bjoxfSluPSJvbiIrbyxwPW4gaW4gcSxwfHwocS5zZXRBdHRyaWJ1dGUobiwicmV0 dXJuOyIpLHA9dHlwZW9mIHFbbl09PSJmdW5jdGlvbiIpLGJbbysiQnViYmxlcyJd PXA7ay5yZW1vdmVDaGlsZChxKSxrPWc9aD1qPXE9aT1udWxsLGYoZnVuY3Rpb24o KXt2YXIgYSxkLGUsZyxoLGksaixrLG0sbixvLHI9Yy5nZXRFbGVtZW50c0J5VGFn TmFtZSgiYm9keSIpWzBdOyFyfHwoaj0xLGs9InBvc2l0aW9uOmFic29sdXRlO3Rv cDowO2xlZnQ6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46MDsiLG09InZp c2liaWxpdHk6aGlkZGVuO2JvcmRlcjowOyIsbj0ic3R5bGU9JyIraysiYm9yZGVy OjVweCBzb2xpZCAjMDAwO3BhZGRpbmc6MDsnIixvPSI8ZGl2ICIrbisiPjxkaXY+ PC9kaXY+PC9kaXY+IisiPHRhYmxlICIrbisiIGNlbGxwYWRkaW5nPScwJyBjZWxs c3BhY2luZz0nMCc+IisiPHRyPjx0ZD48L3RkPjwvdHI+PC90YWJsZT4iLGE9Yy5j cmVhdGVFbGVtZW50KCJkaXYiKSxhLnN0eWxlLmNzc1RleHQ9bSsid2lkdGg6MDto ZWlnaHQ6MDtwb3NpdGlvbjpzdGF0aWM7dG9wOjA7bWFyZ2luLXRvcDoiK2orInB4 IixyLmluc2VydEJlZm9yZShhLHIuZmlyc3RDaGlsZCkscT1jLmNyZWF0ZUVsZW1l bnQoImRpdiIpLGEuYXBwZW5kQ2hpbGQocSkscS5pbm5lckhUTUw9Ijx0YWJsZT48 dHI+PHRkIHN0eWxlPSdwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpub25lJz48 L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IixsPXEuZ2V0RWxlbWVudHNCeVRh Z05hbWUoInRkIikscD1sWzBdLm9mZnNldEhlaWdodD09PTAsbFswXS5zdHlsZS5k aXNwbGF5PSIiLGxbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsYi5yZWxpYWJsZUhp ZGRlbk9mZnNldHM9cCYmbFswXS5vZmZzZXRIZWlnaHQ9PT0wLHEuaW5uZXJIVE1M PSIiLHEuc3R5bGUud2lkdGg9cS5zdHlsZS5wYWRkaW5nTGVmdD0iMXB4IixmLmJv eE1vZGVsPWIuYm94TW9kZWw9cS5vZmZzZXRXaWR0aD09PTIsdHlwZW9mIHEuc3R5 bGUuem9vbSE9InVuZGVmaW5lZCImJihxLnN0eWxlLmRpc3BsYXk9ImlubGluZSIs cS5zdHlsZS56b29tPTEsYi5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PXEub2Zmc2V0 V2lkdGg9PT0yLHEuc3R5bGUuZGlzcGxheT0iIixxLmlubmVySFRNTD0iPGRpdiBz dHlsZT0nd2lkdGg6NHB4Oyc+PC9kaXY+IixiLnNocmlua1dyYXBCbG9ja3M9cS5v ZmZzZXRXaWR0aCE9PTIpLHEuc3R5bGUuY3NzVGV4dD1rK20scS5pbm5lckhUTUw9 byxkPXEuZmlyc3RDaGlsZCxlPWQuZmlyc3RDaGlsZCxoPWQubmV4dFNpYmxpbmcu Zmlyc3RDaGlsZC5maXJzdENoaWxkLGk9e2RvZXNOb3RBZGRCb3JkZXI6ZS5vZmZz ZXRUb3AhPT01LGRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzOmgub2Zmc2V0 VG9wPT09NX0sZS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGUuc3R5bGUudG9wPSIy MHB4IixpLmZpeGVkUG9zaXRpb249ZS5vZmZzZXRUb3A9PT0yMHx8ZS5vZmZzZXRU b3A9PT0xNSxlLnN0eWxlLnBvc2l0aW9uPWUuc3R5bGUudG9wPSIiLGQuc3R5bGUu b3ZlcmZsb3c9ImhpZGRlbiIsZC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiLGku c3VidHJhY3RzQm9yZGVyRm9yT3ZlcmZsb3dOb3RWaXNpYmxlPWUub2Zmc2V0VG9w PT09LTUsaS5kb2VzTm90SW5jbHVkZU1hcmdpbkluQm9keU9mZnNldD1yLm9mZnNl dFRvcCE9PWosci5yZW1vdmVDaGlsZChhKSxxPWE9bnVsbCxmLmV4dGVuZChiLGkp KX0pO3JldHVybiBifSgpO3ZhciBqPS9eKD86XHsuKlx9fFxbLipcXSkkLyxrPS8o W0EtWl0pL2c7Zi5leHRlbmQoe2NhY2hlOnt9LHV1aWQ6MCxleHBhbmRvOiJqUXVl cnkiKyhmLmZuLmpxdWVyeStNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIi KSxub0RhdGE6e2VtYmVkOiEwLG9iamVjdDoiY2xzaWQ6RDI3Q0RCNkUtQUU2RC0x MWNmLTk2QjgtNDQ0NTUzNTQwMDAwIixhcHBsZXQ6ITB9LGhhc0RhdGE6ZnVuY3Rp b24oYSl7YT1hLm5vZGVUeXBlP2YuY2FjaGVbYVtmLmV4cGFuZG9dXTphW2YuZXhw YW5kb107cmV0dXJuISFhJiYhbShhKX0sZGF0YTpmdW5jdGlvbihhLGMsZCxlKXtp ZighIWYuYWNjZXB0RGF0YShhKSl7dmFyIGcsaCxpLGo9Zi5leHBhbmRvLGs9dHlw ZW9mIGM9PSJzdHJpbmciLGw9YS5ub2RlVHlwZSxtPWw/Zi5jYWNoZTphLG49bD9h W2pdOmFbal0mJmosbz1jPT09ImV2ZW50cyI7aWYoKCFufHwhbVtuXXx8IW8mJiFl JiYhbVtuXS5kYXRhKSYmayYmZD09PWIpcmV0dXJuO258fChsP2Fbal09bj0rK2Yu dXVpZDpuPWopLG1bbl18fChtW25dPXt9LGx8fChtW25dLnRvSlNPTj1mLm5vb3Ap KTtpZih0eXBlb2YgYz09Im9iamVjdCJ8fHR5cGVvZiBjPT0iZnVuY3Rpb24iKWU/ bVtuXT1mLmV4dGVuZChtW25dLGMpOm1bbl0uZGF0YT1mLmV4dGVuZChtW25dLmRh dGEsYyk7Zz1oPW1bbl0sZXx8KGguZGF0YXx8KGguZGF0YT17fSksaD1oLmRhdGEp LGQhPT1iJiYoaFtmLmNhbWVsQ2FzZShjKV09ZCk7aWYobyYmIWhbY10pcmV0dXJu IGcuZXZlbnRzO2s/KGk9aFtjXSxpPT1udWxsJiYoaT1oW2YuY2FtZWxDYXNlKGMp XSkpOmk9aDtyZXR1cm4gaX19LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiLGMpe2lm KCEhZi5hY2NlcHREYXRhKGEpKXt2YXIgZCxlLGcsaD1mLmV4cGFuZG8saT1hLm5v ZGVUeXBlLGo9aT9mLmNhY2hlOmEsaz1pP2FbaF06aDtpZighaltrXSlyZXR1cm47 aWYoYil7ZD1jP2pba106altrXS5kYXRhO2lmKGQpe2YuaXNBcnJheShiKXx8KGIg aW4gZD9iPVtiXTooYj1mLmNhbWVsQ2FzZShiKSxiIGluIGQ/Yj1bYl06Yj1iLnNw bGl0KCIgIikpKTtmb3IoZT0wLGc9Yi5sZW5ndGg7ZTxnO2UrKylkZWxldGUgZFti W2VdXTtpZighKGM/bTpmLmlzRW1wdHlPYmplY3QpKGQpKXJldHVybn19aWYoIWMp e2RlbGV0ZSBqW2tdLmRhdGE7aWYoIW0oaltrXSkpcmV0dXJufWYuc3VwcG9ydC5k ZWxldGVFeHBhbmRvfHwhai5zZXRJbnRlcnZhbD9kZWxldGUgaltrXTpqW2tdPW51 bGwsaSYmKGYuc3VwcG9ydC5kZWxldGVFeHBhbmRvP2RlbGV0ZSBhW2hdOmEucmVt b3ZlQXR0cmlidXRlP2EucmVtb3ZlQXR0cmlidXRlKGgpOmFbaF09bnVsbCl9fSxf ZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGYuZGF0YShhLGIsYywhMCl9LGFj Y2VwdERhdGE6ZnVuY3Rpb24oYSl7aWYoYS5ub2RlTmFtZSl7dmFyIGI9Zi5ub0Rh dGFbYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXTtpZihiKXJldHVybiBiIT09ITAm JmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifXJldHVybiEwfX0pLGYuZm4u ZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGEsYyl7dmFyIGQsZSxnLGg9bnVsbDtpZih0 eXBlb2YgYT09InVuZGVmaW5lZCIpe2lmKHRoaXMubGVuZ3RoKXtoPWYuZGF0YSh0 aGlzWzBdKTtpZih0aGlzWzBdLm5vZGVUeXBlPT09MSYmIWYuX2RhdGEodGhpc1sw XSwicGFyc2VkQXR0cnMiKSl7ZT10aGlzWzBdLmF0dHJpYnV0ZXM7Zm9yKHZhciBp PTAsaj1lLmxlbmd0aDtpPGo7aSsrKWc9ZVtpXS5uYW1lLGcuaW5kZXhPZigiZGF0 YS0iKT09PTAmJihnPWYuY2FtZWxDYXNlKGcuc3Vic3RyaW5nKDUpKSxsKHRoaXNb MF0sZyxoW2ddKSk7Zi5fZGF0YSh0aGlzWzBdLCJwYXJzZWRBdHRycyIsITApfX1y ZXR1cm4gaH1pZih0eXBlb2YgYT09Im9iamVjdCIpcmV0dXJuIHRoaXMuZWFjaChm dW5jdGlvbigpe2YuZGF0YSh0aGlzLGEpfSk7ZD1hLnNwbGl0KCIuIiksZFsxXT1k WzFdPyIuIitkWzFdOiIiO2lmKGM9PT1iKXtoPXRoaXMudHJpZ2dlckhhbmRsZXIo ImdldERhdGEiK2RbMV0rIiEiLFtkWzBdXSksaD09PWImJnRoaXMubGVuZ3RoJiYo aD1mLmRhdGEodGhpc1swXSxhKSxoPWwodGhpc1swXSxhLGgpKTtyZXR1cm4gaD09 PWImJmRbMV0/dGhpcy5kYXRhKGRbMF0pOmh9cmV0dXJuIHRoaXMuZWFjaChmdW5j dGlvbigpe3ZhciBiPWYodGhpcyksZT1bZFswXSxjXTtiLnRyaWdnZXJIYW5kbGVy KCJzZXREYXRhIitkWzFdKyIhIixlKSxmLmRhdGEodGhpcyxhLGMpLGIudHJpZ2dl ckhhbmRsZXIoImNoYW5nZURhdGEiK2RbMV0rIiEiLGUpfSl9LHJlbW92ZURhdGE6 ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YucmVtb3Zl RGF0YSh0aGlzLGEpfSl9fSksZi5leHRlbmQoe19tYXJrOmZ1bmN0aW9uKGEsYil7 YSYmKGI9KGJ8fCJmeCIpKyJtYXJrIixmLl9kYXRhKGEsYiwoZi5fZGF0YShhLGIp fHwwKSsxKSl9LF91bm1hcms6ZnVuY3Rpb24oYSxiLGMpe2EhPT0hMCYmKGM9Yixi PWEsYT0hMSk7aWYoYil7Yz1jfHwiZngiO3ZhciBkPWMrIm1hcmsiLGU9YT8wOihm Ll9kYXRhKGIsZCl8fDEpLTE7ZT9mLl9kYXRhKGIsZCxlKTooZi5yZW1vdmVEYXRh KGIsZCwhMCksbihiLGMsIm1hcmsiKSl9fSxxdWV1ZTpmdW5jdGlvbihhLGIsYyl7 dmFyIGQ7aWYoYSl7Yj0oYnx8ImZ4IikrInF1ZXVlIixkPWYuX2RhdGEoYSxiKSxj JiYoIWR8fGYuaXNBcnJheShjKT9kPWYuX2RhdGEoYSxiLGYubWFrZUFycmF5KGMp KTpkLnB1c2goYykpO3JldHVybiBkfHxbXX19LGRlcXVldWU6ZnVuY3Rpb24oYSxi KXtiPWJ8fCJmeCI7dmFyIGM9Zi5xdWV1ZShhLGIpLGQ9Yy5zaGlmdCgpLGU9e307 ZD09PSJpbnByb2dyZXNzIiYmKGQ9Yy5zaGlmdCgpKSxkJiYoYj09PSJmeCImJmMu dW5zaGlmdCgiaW5wcm9ncmVzcyIpLGYuX2RhdGEoYSxiKyIucnVuIixlKSxkLmNh bGwoYSxmdW5jdGlvbigpe2YuZGVxdWV1ZShhLGIpfSxlKSksYy5sZW5ndGh8fChm LnJlbW92ZURhdGEoYSxiKyJxdWV1ZSAiK2IrIi5ydW4iLCEwKSxuKGEsYiwicXVl dWUiKSl9fSksZi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYyl7dHlwZW9m IGEhPSJzdHJpbmciJiYoYz1hLGE9ImZ4Iik7aWYoYz09PWIpcmV0dXJuIGYucXVl dWUodGhpc1swXSxhKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9 Zi5xdWV1ZSh0aGlzLGEsYyk7YT09PSJmeCImJmJbMF0hPT0iaW5wcm9ncmVzcyIm JmYuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJu IHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZGVxdWV1ZSh0aGlzLGEpfSl9LGRlbGF5 OmZ1bmN0aW9uKGEsYil7YT1mLmZ4P2YuZnguc3BlZWRzW2FdfHxhOmEsYj1ifHwi ZngiO3JldHVybiB0aGlzLnF1ZXVlKGIsZnVuY3Rpb24oYixjKXt2YXIgZD1zZXRU aW1lb3V0KGIsYSk7Yy5zdG9wPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGQpfX0p fSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJm eCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYyl7ZnVuY3Rpb24gbSgpey0taHx8 ZC5yZXNvbHZlV2l0aChlLFtlXSl9dHlwZW9mIGEhPSJzdHJpbmciJiYoYz1hLGE9 YiksYT1hfHwiZngiO3ZhciBkPWYuRGVmZXJyZWQoKSxlPXRoaXMsZz1lLmxlbmd0 aCxoPTEsaT1hKyJkZWZlciIsaj1hKyJxdWV1ZSIsaz1hKyJtYXJrIixsO3doaWxl KGctLSlpZihsPWYuZGF0YShlW2ddLGksYiwhMCl8fChmLmRhdGEoZVtnXSxqLGIs ITApfHxmLmRhdGEoZVtnXSxrLGIsITApKSYmZi5kYXRhKGVbZ10saSxmLkNhbGxi YWNrcygib25jZSBtZW1vcnkiKSwhMCkpaCsrLGwuYWRkKG0pO20oKTtyZXR1cm4g ZC5wcm9taXNlKCl9fSk7dmFyIG89L1tcblx0XHJdL2cscD0vXHMrLyxxPS9cci9n LHI9L14oPzpidXR0b258aW5wdXQpJC9pLHM9L14oPzpidXR0b258aW5wdXR8b2Jq ZWN0fHNlbGVjdHx0ZXh0YXJlYSkkL2ksdD0vXmEoPzpyZWEpPyQvaSx1PS9eKD86 YXV0b2ZvY3VzfGF1dG9wbGF5fGFzeW5jfGNoZWNrZWR8Y29udHJvbHN8ZGVmZXJ8 ZGlzYWJsZWR8aGlkZGVufGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1 aXJlZHxzY29wZWR8c2VsZWN0ZWQpJC9pLHY9Zi5zdXBwb3J0LmdldFNldEF0dHJp YnV0ZSx3LHgseTtmLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVy biBmLmFjY2Vzcyh0aGlzLGEsYiwhMCxmLmF0dHIpfSxyZW1vdmVBdHRyOmZ1bmN0 aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmLnJlbW92ZUF0dHIo dGhpcyxhKX0pfSxwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGYuYWNjZXNzKHRo aXMsYSxiLCEwLGYucHJvcCl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7YT1mLnBy b3BGaXhbYV18fGE7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlz W2FdPWIsZGVsZXRlIHRoaXNbYV19Y2F0Y2goYyl7fX0pfSxhZGRDbGFzczpmdW5j dGlvbihhKXt2YXIgYixjLGQsZSxnLGgsaTtpZihmLmlzRnVuY3Rpb24oYSkpcmV0 dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtmKHRoaXMpLmFkZENsYXNzKGEuY2Fs bCh0aGlzLGIsdGhpcy5jbGFzc05hbWUpKX0pO2lmKGEmJnR5cGVvZiBhPT0ic3Ry aW5nIil7Yj1hLnNwbGl0KHApO2ZvcihjPTAsZD10aGlzLmxlbmd0aDtjPGQ7Yysr KXtlPXRoaXNbY107aWYoZS5ub2RlVHlwZT09PTEpaWYoIWUuY2xhc3NOYW1lJiZi Lmxlbmd0aD09PTEpZS5jbGFzc05hbWU9YTtlbHNle2c9IiAiK2UuY2xhc3NOYW1l KyIgIjtmb3IoaD0wLGk9Yi5sZW5ndGg7aDxpO2grKyl+Zy5pbmRleE9mKCIgIiti W2hdKyIgIil8fChnKz1iW2hdKyIgIik7ZS5jbGFzc05hbWU9Zi50cmltKGcpfX19 cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxn LGgsaSxqO2lmKGYuaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKGIpe2YodGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYix0aGlzLmNs YXNzTmFtZSkpfSk7aWYoYSYmdHlwZW9mIGE9PSJzdHJpbmcifHxhPT09Yil7Yz0o YXx8IiIpLnNwbGl0KHApO2ZvcihkPTAsZT10aGlzLmxlbmd0aDtkPGU7ZCsrKXtn PXRoaXNbZF07aWYoZy5ub2RlVHlwZT09PTEmJmcuY2xhc3NOYW1lKWlmKGEpe2g9 KCIgIitnLmNsYXNzTmFtZSsiICIpLnJlcGxhY2UobywiICIpO2ZvcihpPTAsaj1j Lmxlbmd0aDtpPGo7aSsrKWg9aC5yZXBsYWNlKCIgIitjW2ldKyIgIiwiICIpO2cu Y2xhc3NOYW1lPWYudHJpbShoKX1lbHNlIGcuY2xhc3NOYW1lPSIifX1yZXR1cm4g dGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYSxk PXR5cGVvZiBiPT0iYm9vbGVhbiI7aWYoZi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0 aGlzLmVhY2goZnVuY3Rpb24oYyl7Zih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwo dGhpcyxjLHRoaXMuY2xhc3NOYW1lLGIpLGIpfSk7cmV0dXJuIHRoaXMuZWFjaChm dW5jdGlvbigpe2lmKGM9PT0ic3RyaW5nIil7dmFyIGUsZz0wLGg9Zih0aGlzKSxp PWIsaj1hLnNwbGl0KHApO3doaWxlKGU9altnKytdKWk9ZD9pOiFoLmhhc0NsYXNz KGUpLGhbaT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKGUpfWVsc2UgaWYoYz09 PSJ1bmRlZmluZWQifHxjPT09ImJvb2xlYW4iKXRoaXMuY2xhc3NOYW1lJiZmLl9k YXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iLHRoaXMuY2xhc3NOYW1lKSx0aGlzLmNs YXNzTmFtZT10aGlzLmNsYXNzTmFtZXx8YT09PSExPyIiOmYuX2RhdGEodGhpcywi X19jbGFzc05hbWVfXyIpfHwiIn0pfSxoYXNDbGFzczpmdW5jdGlvbihhKXt2YXIg Yj0iICIrYSsiICIsYz0wLGQ9dGhpcy5sZW5ndGg7Zm9yKDtjPGQ7YysrKWlmKHRo aXNbY10ubm9kZVR5cGU9PT0xJiYoIiAiK3RoaXNbY10uY2xhc3NOYW1lKyIgIiku cmVwbGFjZShvLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0s dmFsOmZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxnPXRoaXNbMF07e2lmKCEhYXJndW1l bnRzLmxlbmd0aCl7ZT1mLmlzRnVuY3Rpb24oYSk7cmV0dXJuIHRoaXMuZWFjaChm dW5jdGlvbihkKXt2YXIgZz1mKHRoaXMpLGg7aWYodGhpcy5ub2RlVHlwZT09PTEp e2U/aD1hLmNhbGwodGhpcyxkLGcudmFsKCkpOmg9YSxoPT1udWxsP2g9IiI6dHlw ZW9mIGg9PSJudW1iZXIiP2grPSIiOmYuaXNBcnJheShoKSYmKGg9Zi5tYXAoaCxm dW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjphKyIifSkpLGM9Zi52YWxIb29r c1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldfHxmLnZhbEhvb2tzW3RoaXMu dHlwZV07aWYoIWN8fCEoInNldCJpbiBjKXx8Yy5zZXQodGhpcyxoLCJ2YWx1ZSIp PT09Yil0aGlzLnZhbHVlPWh9fSl9aWYoZyl7Yz1mLnZhbEhvb2tzW2cubm9kZU5h bWUudG9Mb3dlckNhc2UoKV18fGYudmFsSG9va3NbZy50eXBlXTtpZihjJiYiZ2V0 ImluIGMmJihkPWMuZ2V0KGcsInZhbHVlIikpIT09YilyZXR1cm4gZDtkPWcudmFs dWU7cmV0dXJuIHR5cGVvZiBkPT0ic3RyaW5nIj9kLnJlcGxhY2UocSwiIik6ZD09 bnVsbD8iIjpkfX19fSksZi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpm dW5jdGlvbihhKXt2YXIgYj1hLmF0dHJpYnV0ZXMudmFsdWU7cmV0dXJuIWJ8fGIu c3BlY2lmaWVkP2EudmFsdWU6YS50ZXh0fX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24o YSl7dmFyIGIsYyxkLGUsZz1hLnNlbGVjdGVkSW5kZXgsaD1bXSxpPWEub3B0aW9u cyxqPWEudHlwZT09PSJzZWxlY3Qtb25lIjtpZihnPDApcmV0dXJuIG51bGw7Yz1q P2c6MCxkPWo/ZysxOmkubGVuZ3RoO2Zvcig7YzxkO2MrKyl7ZT1pW2NdO2lmKGUu c2VsZWN0ZWQmJihmLnN1cHBvcnQub3B0RGlzYWJsZWQ/IWUuZGlzYWJsZWQ6ZS5n ZXRBdHRyaWJ1dGUoImRpc2FibGVkIik9PT1udWxsKSYmKCFlLnBhcmVudE5vZGUu ZGlzYWJsZWR8fCFmLm5vZGVOYW1lKGUucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkp e2I9ZihlKS52YWwoKTtpZihqKXJldHVybiBiO2gucHVzaChiKX19aWYoaiYmIWgu bGVuZ3RoJiZpLmxlbmd0aClyZXR1cm4gZihpW2ddKS52YWwoKTtyZXR1cm4gaH0s c2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9Zi5tYWtlQXJyYXkoYik7ZihhKS5maW5k KCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZD1mLmluQXJy YXkoZih0aGlzKS52YWwoKSxjKT49MH0pLGMubGVuZ3RofHwoYS5zZWxlY3RlZElu ZGV4PS0xKTtyZXR1cm4gY319fSxhdHRyRm46e3ZhbDohMCxjc3M6ITAsaHRtbDoh MCx0ZXh0OiEwLGRhdGE6ITAsd2lkdGg6ITAsaGVpZ2h0OiEwLG9mZnNldDohMH0s YXR0cjpmdW5jdGlvbihhLGMsZCxlKXt2YXIgZyxoLGksaj1hLm5vZGVUeXBlO2lm KCEhYSYmaiE9PTMmJmohPT04JiZqIT09Mil7aWYoZSYmYyBpbiBmLmF0dHJGbily ZXR1cm4gZihhKVtjXShkKTtpZih0eXBlb2YgYS5nZXRBdHRyaWJ1dGU9PSJ1bmRl ZmluZWQiKXJldHVybiBmLnByb3AoYSxjLGQpO2k9aiE9PTF8fCFmLmlzWE1MRG9j KGEpLGkmJihjPWMudG9Mb3dlckNhc2UoKSxoPWYuYXR0ckhvb2tzW2NdfHwodS50 ZXN0KGMpP3g6dykpO2lmKGQhPT1iKXtpZihkPT09bnVsbCl7Zi5yZW1vdmVBdHRy KGEsYyk7cmV0dXJufWlmKGgmJiJzZXQiaW4gaCYmaSYmKGc9aC5zZXQoYSxkLGMp KSE9PWIpcmV0dXJuIGc7YS5zZXRBdHRyaWJ1dGUoYywiIitkKTtyZXR1cm4gZH1p ZihoJiYiZ2V0ImluIGgmJmkmJihnPWguZ2V0KGEsYykpIT09bnVsbClyZXR1cm4g ZztnPWEuZ2V0QXR0cmlidXRlKGMpO3JldHVybiBnPT09bnVsbD9iOmd9fSxyZW1v dmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGcsaD0wO2lmKGImJmEubm9k ZVR5cGU9PT0xKXtkPWIudG9Mb3dlckNhc2UoKS5zcGxpdChwKSxnPWQubGVuZ3Ro O2Zvcig7aDxnO2grKyllPWRbaF0sZSYmKGM9Zi5wcm9wRml4W2VdfHxlLGYuYXR0 cihhLGUsIiIpLGEucmVtb3ZlQXR0cmlidXRlKHY/ZTpjKSx1LnRlc3QoZSkmJmMg aW4gYSYmKGFbY109ITEpKX19LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9u KGEsYil7aWYoci50ZXN0KGEubm9kZU5hbWUpJiZhLnBhcmVudE5vZGUpZi5lcnJv cigidHlwZSBwcm9wZXJ0eSBjYW4ndCBiZSBjaGFuZ2VkIik7ZWxzZSBpZighZi5z dXBwb3J0LnJhZGlvVmFsdWUmJmI9PT0icmFkaW8iJiZmLm5vZGVOYW1lKGEsImlu cHV0Iikpe3ZhciBjPWEudmFsdWU7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMm JihhLnZhbHVlPWMpO3JldHVybiBifX19LHZhbHVlOntnZXQ6ZnVuY3Rpb24oYSxi KXtpZih3JiZmLm5vZGVOYW1lKGEsImJ1dHRvbiIpKXJldHVybiB3LmdldChhLGIp O3JldHVybiBiIGluIGE/YS52YWx1ZTpudWxsfSxzZXQ6ZnVuY3Rpb24oYSxiLGMp e2lmKHcmJmYubm9kZU5hbWUoYSwiYnV0dG9uIikpcmV0dXJuIHcuc2V0KGEsYixj KTthLnZhbHVlPWJ9fX0scHJvcEZpeDp7dGFiaW5kZXg6InRhYkluZGV4IixyZWFk b25seToicmVhZE9ubHkiLCJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05h bWUiLG1heGxlbmd0aDoibWF4TGVuZ3RoIixjZWxsc3BhY2luZzoiY2VsbFNwYWNp bmciLGNlbGxwYWRkaW5nOiJjZWxsUGFkZGluZyIscm93c3Bhbjoicm93U3BhbiIs Y29sc3BhbjoiY29sU3BhbiIsdXNlbWFwOiJ1c2VNYXAiLGZyYW1lYm9yZGVyOiJm cmFtZUJvcmRlciIsY29udGVudGVkaXRhYmxlOiJjb250ZW50RWRpdGFibGUifSxw cm9wOmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxnLGgsaT1hLm5vZGVUeXBlO2lmKCEh YSYmaSE9PTMmJmkhPT04JiZpIT09Mil7aD1pIT09MXx8IWYuaXNYTUxEb2MoYSks aCYmKGM9Zi5wcm9wRml4W2NdfHxjLGc9Zi5wcm9wSG9va3NbY10pO3JldHVybiBk IT09Yj9nJiYic2V0ImluIGcmJihlPWcuc2V0KGEsZCxjKSkhPT1iP2U6YVtjXT1k OmcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQoYSxjKSkhPT1udWxsP2U6YVtjXX19LHBy b3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihhKXt2YXIgYz1hLmdldEF0 dHJpYnV0ZU5vZGUoInRhYmluZGV4Iik7cmV0dXJuIGMmJmMuc3BlY2lmaWVkP3Bh cnNlSW50KGMudmFsdWUsMTApOnMudGVzdChhLm5vZGVOYW1lKXx8dC50ZXN0KGEu bm9kZU5hbWUpJiZhLmhyZWY/MDpifX19fSksZi5hdHRySG9va3MudGFiaW5kZXg9 Zi5wcm9wSG9va3MudGFiSW5kZXgseD17Z2V0OmZ1bmN0aW9uKGEsYyl7dmFyIGQs ZT1mLnByb3AoYSxjKTtyZXR1cm4gZT09PSEwfHx0eXBlb2YgZSE9ImJvb2xlYW4i JiYoZD1hLmdldEF0dHJpYnV0ZU5vZGUoYykpJiZkLm5vZGVWYWx1ZSE9PSExP2Mu dG9Mb3dlckNhc2UoKTpifSxzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2I9PT0h MT9mLnJlbW92ZUF0dHIoYSxjKTooZD1mLnByb3BGaXhbY118fGMsZCBpbiBhJiYo YVtkXT0hMCksYS5zZXRBdHRyaWJ1dGUoYyxjLnRvTG93ZXJDYXNlKCkpKTtyZXR1 cm4gY319LHZ8fCh5PXtuYW1lOiEwLGlkOiEwfSx3PWYudmFsSG9va3MuYnV0dG9u PXtnZXQ6ZnVuY3Rpb24oYSxjKXt2YXIgZDtkPWEuZ2V0QXR0cmlidXRlTm9kZShj KTtyZXR1cm4gZCYmKHlbY10/ZC5ub2RlVmFsdWUhPT0iIjpkLnNwZWNpZmllZCk/ ZC5ub2RlVmFsdWU6Yn0sc2V0OmZ1bmN0aW9uKGEsYixkKXt2YXIgZT1hLmdldEF0 dHJpYnV0ZU5vZGUoZCk7ZXx8KGU9Yy5jcmVhdGVBdHRyaWJ1dGUoZCksYS5zZXRB dHRyaWJ1dGVOb2RlKGUpKTtyZXR1cm4gZS5ub2RlVmFsdWU9YisiIn19LGYuYXR0 ckhvb2tzLnRhYmluZGV4LnNldD13LnNldCxmLmVhY2goWyJ3aWR0aCIsImhlaWdo dCJdLGZ1bmN0aW9uKGEsYil7Zi5hdHRySG9va3NbYl09Zi5leHRlbmQoZi5hdHRy SG9va3NbYl0se3NldDpmdW5jdGlvbihhLGMpe2lmKGM9PT0iIil7YS5zZXRBdHRy aWJ1dGUoYiwiYXV0byIpO3JldHVybiBjfX19KX0pLGYuYXR0ckhvb2tzLmNvbnRl bnRlZGl0YWJsZT17Z2V0OncuZ2V0LHNldDpmdW5jdGlvbihhLGIsYyl7Yj09PSIi JiYoYj0iZmFsc2UiKSx3LnNldChhLGIsYyl9fSksZi5zdXBwb3J0LmhyZWZOb3Jt YWxpemVkfHxmLmVhY2goWyJocmVmIiwic3JjIiwid2lkdGgiLCJoZWlnaHQiXSxm dW5jdGlvbihhLGMpe2YuYXR0ckhvb2tzW2NdPWYuZXh0ZW5kKGYuYXR0ckhvb2tz W2NdLHtnZXQ6ZnVuY3Rpb24oYSl7dmFyIGQ9YS5nZXRBdHRyaWJ1dGUoYywyKTty ZXR1cm4gZD09PW51bGw/YjpkfX0pfSksZi5zdXBwb3J0LnN0eWxlfHwoZi5hdHRy SG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NU ZXh0LnRvTG93ZXJDYXNlKCl8fGJ9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBh LnN0eWxlLmNzc1RleHQ9IiIrYn19KSxmLnN1cHBvcnQub3B0U2VsZWN0ZWR8fChm LnByb3BIb29rcy5zZWxlY3RlZD1mLmV4dGVuZChmLnByb3BIb29rcy5zZWxlY3Rl ZCx7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxl Y3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5k ZXgpO3JldHVybiBudWxsfX0pKSxmLnN1cHBvcnQuZW5jdHlwZXx8KGYucHJvcEZp eC5lbmN0eXBlPSJlbmNvZGluZyIpLGYuc3VwcG9ydC5jaGVja09ufHxmLmVhY2go WyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtmLnZhbEhvb2tzW3RoaXNd PXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIp PT09bnVsbD8ib24iOmEudmFsdWV9fX0pLGYuZWFjaChbInJhZGlvIiwiY2hlY2ti b3giXSxmdW5jdGlvbigpe2YudmFsSG9va3NbdGhpc109Zi5leHRlbmQoZi52YWxI b29rc1t0aGlzXSx7c2V0OmZ1bmN0aW9uKGEsYil7aWYoZi5pc0FycmF5KGIpKXJl dHVybiBhLmNoZWNrZWQ9Zi5pbkFycmF5KGYoYSkudmFsKCksYik+PTB9fSl9KTt2 YXIgej0vXig/OnRleHRhcmVhfGlucHV0fHNlbGVjdCkkL2ksQT0vXihbXlwuXSop Pyg/OlwuKC4rKSk/JC8sQj0vXGJob3ZlcihcLlxTKyk/XGIvLEM9L15rZXkvLEQ9 L14oPzptb3VzZXxjb250ZXh0bWVudSl8Y2xpY2svLEU9L14oPzpmb2N1c2luZm9j dXN8Zm9jdXNvdXRibHVyKSQvLEY9L14oXHcqKSg/OiMoW1x3XC1dKykpPyg/Olwu KFtcd1wtXSspKT8kLyxHPWZ1bmN0aW9uKGEpe3ZhciBiPUYuZXhlYyhhKTtiJiYo YlsxXT0oYlsxXXx8IiIpLnRvTG93ZXJDYXNlKCksYlszXT1iWzNdJiZuZXcgUmVn RXhwKCIoPzpefFxccykiK2JbM10rIig/Olxcc3wkKSIpKTtyZXR1cm4gYn0sSD1m dW5jdGlvbihhLGIpe3ZhciBjPWEuYXR0cmlidXRlc3x8e307cmV0dXJuKCFiWzFd fHxhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iWzFdKSYmKCFiWzJdfHwoYy5p ZHx8e30pLnZhbHVlPT09YlsyXSkmJighYlszXXx8YlszXS50ZXN0KChjWyJjbGFz cyJdfHx7fSkudmFsdWUpKX0sST1mdW5jdGlvbihhKXtyZXR1cm4gZi5ldmVudC5z cGVjaWFsLmhvdmVyP2E6YS5yZXBsYWNlKEIsIm1vdXNlZW50ZXIkMSBtb3VzZWxl YXZlJDEiKX07CmYuZXZlbnQ9e2FkZDpmdW5jdGlvbihhLGMsZCxlLGcpe3ZhciBo LGksaixrLGwsbSxuLG8scCxxLHIscztpZighKGEubm9kZVR5cGU9PT0zfHxhLm5v ZGVUeXBlPT09OHx8IWN8fCFkfHwhKGg9Zi5fZGF0YShhKSkpKXtkLmhhbmRsZXIm JihwPWQsZD1wLmhhbmRsZXIpLGQuZ3VpZHx8KGQuZ3VpZD1mLmd1aWQrKyksaj1o LmV2ZW50cyxqfHwoaC5ldmVudHM9aj17fSksaT1oLmhhbmRsZSxpfHwoaC5oYW5k bGU9aT1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGYhPSJ1bmRlZmluZWQiJiYo IWF8fGYuZXZlbnQudHJpZ2dlcmVkIT09YS50eXBlKT9mLmV2ZW50LmRpc3BhdGNo LmFwcGx5KGkuZWxlbSxhcmd1bWVudHMpOmJ9LGkuZWxlbT1hKSxjPWYudHJpbShJ KGMpKS5zcGxpdCgiICIpO2ZvcihrPTA7azxjLmxlbmd0aDtrKyspe2w9QS5leGVj KGNba10pfHxbXSxtPWxbMV0sbj0obFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgp LHM9Zi5ldmVudC5zcGVjaWFsW21dfHx7fSxtPShnP3MuZGVsZWdhdGVUeXBlOnMu YmluZFR5cGUpfHxtLHM9Zi5ldmVudC5zcGVjaWFsW21dfHx7fSxvPWYuZXh0ZW5k KHt0eXBlOm0sb3JpZ1R5cGU6bFsxXSxkYXRhOmUsaGFuZGxlcjpkLGd1aWQ6ZC5n dWlkLHNlbGVjdG9yOmcscXVpY2s6RyhnKSxuYW1lc3BhY2U6bi5qb2luKCIuIil9 LHApLHI9alttXTtpZighcil7cj1qW21dPVtdLHIuZGVsZWdhdGVDb3VudD0wO2lm KCFzLnNldHVwfHxzLnNldHVwLmNhbGwoYSxlLG4saSk9PT0hMSlhLmFkZEV2ZW50 TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKG0saSwhMSk6YS5hdHRhY2hFdmVu dCYmYS5hdHRhY2hFdmVudCgib24iK20saSl9cy5hZGQmJihzLmFkZC5jYWxsKGEs byksby5oYW5kbGVyLmd1aWR8fChvLmhhbmRsZXIuZ3VpZD1kLmd1aWQpKSxnP3Iu c3BsaWNlKHIuZGVsZWdhdGVDb3VudCsrLDAsbyk6ci5wdXNoKG8pLGYuZXZlbnQu Z2xvYmFsW21dPSEwfWE9bnVsbH19LGdsb2JhbDp7fSxyZW1vdmU6ZnVuY3Rpb24o YSxiLGMsZCxlKXt2YXIgZz1mLmhhc0RhdGEoYSkmJmYuX2RhdGEoYSksaCxpLGos ayxsLG0sbixvLHAscSxyLHM7aWYoISFnJiYhIShvPWcuZXZlbnRzKSl7Yj1mLnRy aW0oSShifHwiIikpLnNwbGl0KCIgIik7Zm9yKGg9MDtoPGIubGVuZ3RoO2grKyl7 aT1BLmV4ZWMoYltoXSl8fFtdLGo9az1pWzFdLGw9aVsyXTtpZighail7Zm9yKGog aW4gbylmLmV2ZW50LnJlbW92ZShhLGorYltoXSxjLGQsITApO2NvbnRpbnVlfXA9 Zi5ldmVudC5zcGVjaWFsW2pdfHx7fSxqPShkP3AuZGVsZWdhdGVUeXBlOnAuYmlu ZFR5cGUpfHxqLHI9b1tqXXx8W10sbT1yLmxlbmd0aCxsPWw/bmV3IFJlZ0V4cCgi KF58XFwuKSIrbC5zcGxpdCgiLiIpLnNvcnQoKS5qb2luKCJcXC4oPzouKlxcLik/ IikrIihcXC58JCkiKTpudWxsO2ZvcihuPTA7bjxyLmxlbmd0aDtuKyspcz1yW25d LChlfHxrPT09cy5vcmlnVHlwZSkmJighY3x8Yy5ndWlkPT09cy5ndWlkKSYmKCFs fHxsLnRlc3Qocy5uYW1lc3BhY2UpKSYmKCFkfHxkPT09cy5zZWxlY3Rvcnx8ZD09 PSIqKiImJnMuc2VsZWN0b3IpJiYoci5zcGxpY2Uobi0tLDEpLHMuc2VsZWN0b3Im JnIuZGVsZWdhdGVDb3VudC0tLHAucmVtb3ZlJiZwLnJlbW92ZS5jYWxsKGEscykp O3IubGVuZ3RoPT09MCYmbSE9PXIubGVuZ3RoJiYoKCFwLnRlYXJkb3dufHxwLnRl YXJkb3duLmNhbGwoYSxsKT09PSExKSYmZi5yZW1vdmVFdmVudChhLGosZy5oYW5k bGUpLGRlbGV0ZSBvW2pdKX1mLmlzRW1wdHlPYmplY3QobykmJihxPWcuaGFuZGxl LHEmJihxLmVsZW09bnVsbCksZi5yZW1vdmVEYXRhKGEsWyJldmVudHMiLCJoYW5k bGUiXSwhMCkpfX0sY3VzdG9tRXZlbnQ6e2dldERhdGE6ITAsc2V0RGF0YTohMCxj aGFuZ2VEYXRhOiEwfSx0cmlnZ2VyOmZ1bmN0aW9uKGMsZCxlLGcpe2lmKCFlfHxl Lm5vZGVUeXBlIT09MyYmZS5ub2RlVHlwZSE9PTgpe3ZhciBoPWMudHlwZXx8Yyxp PVtdLGosayxsLG0sbixvLHAscSxyLHM7aWYoRS50ZXN0KGgrZi5ldmVudC50cmln Z2VyZWQpKXJldHVybjtoLmluZGV4T2YoIiEiKT49MCYmKGg9aC5zbGljZSgwLC0x KSxrPSEwKSxoLmluZGV4T2YoIi4iKT49MCYmKGk9aC5zcGxpdCgiLiIpLGg9aS5z aGlmdCgpLGkuc29ydCgpKTtpZigoIWV8fGYuZXZlbnQuY3VzdG9tRXZlbnRbaF0p JiYhZi5ldmVudC5nbG9iYWxbaF0pcmV0dXJuO2M9dHlwZW9mIGM9PSJvYmplY3Qi P2NbZi5leHBhbmRvXT9jOm5ldyBmLkV2ZW50KGgsYyk6bmV3IGYuRXZlbnQoaCks Yy50eXBlPWgsYy5pc1RyaWdnZXI9ITAsYy5leGNsdXNpdmU9ayxjLm5hbWVzcGFj ZT1pLmpvaW4oIi4iKSxjLm5hbWVzcGFjZV9yZT1jLm5hbWVzcGFjZT9uZXcgUmVn RXhwKCIoXnxcXC4pIitpLmpvaW4oIlxcLig/Oi4qXFwuKT8iKSsiKFxcLnwkKSIp Om51bGwsbz1oLmluZGV4T2YoIjoiKTwwPyJvbiIraDoiIjtpZighZSl7aj1mLmNh Y2hlO2ZvcihsIGluIGopaltsXS5ldmVudHMmJmpbbF0uZXZlbnRzW2hdJiZmLmV2 ZW50LnRyaWdnZXIoYyxkLGpbbF0uaGFuZGxlLmVsZW0sITApO3JldHVybn1jLnJl c3VsdD1iLGMudGFyZ2V0fHwoYy50YXJnZXQ9ZSksZD1kIT1udWxsP2YubWFrZUFy cmF5KGQpOltdLGQudW5zaGlmdChjKSxwPWYuZXZlbnQuc3BlY2lhbFtoXXx8e307 aWYocC50cmlnZ2VyJiZwLnRyaWdnZXIuYXBwbHkoZSxkKT09PSExKXJldHVybjty PVtbZSxwLmJpbmRUeXBlfHxoXV07aWYoIWcmJiFwLm5vQnViYmxlJiYhZi5pc1dp bmRvdyhlKSl7cz1wLmRlbGVnYXRlVHlwZXx8aCxtPUUudGVzdChzK2gpP2U6ZS5w YXJlbnROb2RlLG49bnVsbDtmb3IoO207bT1tLnBhcmVudE5vZGUpci5wdXNoKFtt LHNdKSxuPW07biYmbj09PWUub3duZXJEb2N1bWVudCYmci5wdXNoKFtuLmRlZmF1 bHRWaWV3fHxuLnBhcmVudFdpbmRvd3x8YSxzXSl9Zm9yKGw9MDtsPHIubGVuZ3Ro JiYhYy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO2wrKyltPXJbbF1bMF0sYy50eXBl PXJbbF1bMV0scT0oZi5fZGF0YShtLCJldmVudHMiKXx8e30pW2MudHlwZV0mJmYu X2RhdGEobSwiaGFuZGxlIikscSYmcS5hcHBseShtLGQpLHE9byYmbVtvXSxxJiZm LmFjY2VwdERhdGEobSkmJnEuYXBwbHkobSxkKT09PSExJiZjLnByZXZlbnREZWZh dWx0KCk7Yy50eXBlPWgsIWcmJiFjLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYoIXAu X2RlZmF1bHR8fHAuX2RlZmF1bHQuYXBwbHkoZS5vd25lckRvY3VtZW50LGQpPT09 ITEpJiYoaCE9PSJjbGljayJ8fCFmLm5vZGVOYW1lKGUsImEiKSkmJmYuYWNjZXB0 RGF0YShlKSYmbyYmZVtoXSYmKGghPT0iZm9jdXMiJiZoIT09ImJsdXIifHxjLnRh cmdldC5vZmZzZXRXaWR0aCE9PTApJiYhZi5pc1dpbmRvdyhlKSYmKG49ZVtvXSxu JiYoZVtvXT1udWxsKSxmLmV2ZW50LnRyaWdnZXJlZD1oLGVbaF0oKSxmLmV2ZW50 LnRyaWdnZXJlZD1iLG4mJihlW29dPW4pKTtyZXR1cm4gYy5yZXN1bHR9fSxkaXNw YXRjaDpmdW5jdGlvbihjKXtjPWYuZXZlbnQuZml4KGN8fGEuZXZlbnQpO3ZhciBk PShmLl9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbYy50eXBlXXx8W10sZT1kLmRl bGVnYXRlQ291bnQsZz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxoPSFjLmV4 Y2x1c2l2ZSYmIWMubmFtZXNwYWNlLGk9W10saixrLGwsbSxuLG8scCxxLHIscyx0 O2dbMF09YyxjLmRlbGVnYXRlVGFyZ2V0PXRoaXM7aWYoZSYmIWMudGFyZ2V0LmRp c2FibGVkJiYoIWMuYnV0dG9ufHxjLnR5cGUhPT0iY2xpY2siKSl7bT1mKHRoaXMp LG0uY29udGV4dD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXM7Zm9yKGw9Yy50YXJn ZXQ7bCE9dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcyl7bz17fSxxPVtdLG1bMF09 bDtmb3Ioaj0wO2o8ZTtqKyspcj1kW2pdLHM9ci5zZWxlY3RvcixvW3NdPT09YiYm KG9bc109ci5xdWljaz9IKGwsci5xdWljayk6bS5pcyhzKSksb1tzXSYmcS5wdXNo KHIpO3EubGVuZ3RoJiZpLnB1c2goe2VsZW06bCxtYXRjaGVzOnF9KX19ZC5sZW5n dGg+ZSYmaS5wdXNoKHtlbGVtOnRoaXMsbWF0Y2hlczpkLnNsaWNlKGUpfSk7Zm9y KGo9MDtqPGkubGVuZ3RoJiYhYy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO2orKyl7 cD1pW2pdLGMuY3VycmVudFRhcmdldD1wLmVsZW07Zm9yKGs9MDtrPHAubWF0Y2hl cy5sZW5ndGgmJiFjLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCk7aysr KXtyPXAubWF0Y2hlc1trXTtpZihofHwhYy5uYW1lc3BhY2UmJiFyLm5hbWVzcGFj ZXx8Yy5uYW1lc3BhY2VfcmUmJmMubmFtZXNwYWNlX3JlLnRlc3Qoci5uYW1lc3Bh Y2UpKWMuZGF0YT1yLmRhdGEsYy5oYW5kbGVPYmo9cixuPSgoZi5ldmVudC5zcGVj aWFsW3Iub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxyLmhhbmRsZXIpLmFwcGx5KHAu ZWxlbSxnKSxuIT09YiYmKGMucmVzdWx0PW4sbj09PSExJiYoYy5wcmV2ZW50RGVm YXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCkpKX19cmV0dXJuIGMucmVzdWx0fSxw cm9wczoiYXR0ckNoYW5nZSBhdHRyTmFtZSByZWxhdGVkTm9kZSBzcmNFbGVtZW50 IGFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0 IGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdl dCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxr ZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0 KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7YS53aGljaD09bnVsbCYmKGEud2hp Y2g9Yi5jaGFyQ29kZSE9bnVsbD9iLmNoYXJDb2RlOmIua2V5Q29kZSk7cmV0dXJu IGF9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBj bGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBz Y3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5j dGlvbihhLGQpe3ZhciBlLGYsZyxoPWQuYnV0dG9uLGk9ZC5mcm9tRWxlbWVudDth LnBhZ2VYPT1udWxsJiZkLmNsaWVudFghPW51bGwmJihlPWEudGFyZ2V0Lm93bmVy RG9jdW1lbnR8fGMsZj1lLmRvY3VtZW50RWxlbWVudCxnPWUuYm9keSxhLnBhZ2VY PWQuY2xpZW50WCsoZiYmZi5zY3JvbGxMZWZ0fHxnJiZnLnNjcm9sbExlZnR8fDAp LShmJiZmLmNsaWVudExlZnR8fGcmJmcuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1k LmNsaWVudFkrKGYmJmYuc2Nyb2xsVG9wfHxnJiZnLnNjcm9sbFRvcHx8MCktKGYm JmYuY2xpZW50VG9wfHxnJiZnLmNsaWVudFRvcHx8MCkpLCFhLnJlbGF0ZWRUYXJn ZXQmJmkmJihhLnJlbGF0ZWRUYXJnZXQ9aT09PWEudGFyZ2V0P2QudG9FbGVtZW50 OmkpLCFhLndoaWNoJiZoIT09YiYmKGEud2hpY2g9aCYxPzE6aCYyPzM6aCY0PzI6 MCk7cmV0dXJuIGF9fSxmaXg6ZnVuY3Rpb24oYSl7aWYoYVtmLmV4cGFuZG9dKXJl dHVybiBhO3ZhciBkLGUsZz1hLGg9Zi5ldmVudC5maXhIb29rc1thLnR5cGVdfHx7 fSxpPWgucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoaC5wcm9wcyk6dGhpcy5wcm9w czthPWYuRXZlbnQoZyk7Zm9yKGQ9aS5sZW5ndGg7ZDspZT1pWy0tZF0sYVtlXT1n W2VdO2EudGFyZ2V0fHwoYS50YXJnZXQ9Zy5zcmNFbGVtZW50fHxjKSxhLnRhcmdl dC5ub2RlVHlwZT09PTMmJihhLnRhcmdldD1hLnRhcmdldC5wYXJlbnROb2RlKSxh Lm1ldGFLZXk9PT1iJiYoYS5tZXRhS2V5PWEuY3RybEtleSk7cmV0dXJuIGguZmls dGVyP2guZmlsdGVyKGEsZyk6YX0sc3BlY2lhbDp7cmVhZHk6e3NldHVwOmYuYmlu ZFJlYWR5fSxsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e2RlbGVnYXRlVHlwZToi Zm9jdXNpbiJ9LGJsdXI6e2RlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxiZWZvcmV1 bmxvYWQ6e3NldHVwOmZ1bmN0aW9uKGEsYixjKXtmLmlzV2luZG93KHRoaXMpJiYo dGhpcy5vbmJlZm9yZXVubG9hZD1jKX0sdGVhcmRvd246ZnVuY3Rpb24oYSxiKXt0 aGlzLm9uYmVmb3JldW5sb2FkPT09YiYmKHRoaXMub25iZWZvcmV1bmxvYWQ9bnVs bCl9fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9Zi5leHRlbmQo bmV3IGYuRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwLG9yaWdpbmFsRXZl bnQ6e319KTtkP2YuZXZlbnQudHJpZ2dlcihlLG51bGwsYik6Zi5ldmVudC5kaXNw YXRjaC5jYWxsKGIsZSksZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmYy5wcmV2ZW50 RGVmYXVsdCgpfX0sZi5ldmVudC5oYW5kbGU9Zi5ldmVudC5kaXNwYXRjaCxmLnJl bW92ZUV2ZW50PWMucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsYyl7 YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixj LCExKX06ZnVuY3Rpb24oYSxiLGMpe2EuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZl bnQoIm9uIitiLGMpfSxmLkV2ZW50PWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGlu c3RhbmNlb2YgZi5FdmVudCkpcmV0dXJuIG5ldyBmLkV2ZW50KGEsYik7YSYmYS50 eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMu aXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8YS5yZXR1cm5W YWx1ZT09PSExfHxhLmdldFByZXZlbnREZWZhdWx0JiZhLmdldFByZXZlbnREZWZh dWx0KCk/SzpKKTp0aGlzLnR5cGU9YSxiJiZmLmV4dGVuZCh0aGlzLGIpLHRoaXMu dGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxmLm5vdygpLHRoaXNbZi5leHBhbmRv XT0hMH0sZi5FdmVudC5wcm90b3R5cGU9e3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9u KCl7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Szt2YXIgYT10aGlzLm9yaWdpbmFs RXZlbnQ7IWF8fChhLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTph LnJldHVyblZhbHVlPSExKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dGhp cy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1LO3ZhciBhPXRoaXMub3JpZ2luYWxFdmVu dDshYXx8KGEuc3RvcFByb3BhZ2F0aW9uJiZhLnN0b3BQcm9wYWdhdGlvbigpLGEu Y2FuY2VsQnViYmxlPSEwKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0 aW9uKCl7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1LLHRoaXMu c3RvcFByb3BhZ2F0aW9uKCl9LGlzRGVmYXVsdFByZXZlbnRlZDpKLGlzUHJvcGFn YXRpb25TdG9wcGVkOkosaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6Sn0s Zi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNl b3V0In0sZnVuY3Rpb24oYSxiKXtmLmV2ZW50LnNwZWNpYWxbYV09e2RlbGVnYXRl VHlwZTpiLGJpbmRUeXBlOmIsaGFuZGxlOmZ1bmN0aW9uKGEpe3ZhciBjPXRoaXMs ZD1hLnJlbGF0ZWRUYXJnZXQsZT1hLmhhbmRsZU9iaixnPWUuc2VsZWN0b3IsaDtp ZighZHx8ZCE9PWMmJiFmLmNvbnRhaW5zKGMsZCkpYS50eXBlPWUub3JpZ1R5cGUs aD1lLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iO3JldHVy biBofX19KSxmLnN1cHBvcnQuc3VibWl0QnViYmxlc3x8KGYuZXZlbnQuc3BlY2lh bC5zdWJtaXQ9e3NldHVwOmZ1bmN0aW9uKCl7aWYoZi5ub2RlTmFtZSh0aGlzLCJm b3JtIikpcmV0dXJuITE7Zi5ldmVudC5hZGQodGhpcywiY2xpY2suX3N1Ym1pdCBr ZXlwcmVzcy5fc3VibWl0IixmdW5jdGlvbihhKXt2YXIgYz1hLnRhcmdldCxkPWYu bm9kZU5hbWUoYywiaW5wdXQiKXx8Zi5ub2RlTmFtZShjLCJidXR0b24iKT9jLmZv cm06YjtkJiYhZC5fc3VibWl0X2F0dGFjaGVkJiYoZi5ldmVudC5hZGQoZCwic3Vi bWl0Ll9zdWJtaXQiLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmIWEuaXNU cmlnZ2VyJiZmLmV2ZW50LnNpbXVsYXRlKCJzdWJtaXQiLHRoaXMucGFyZW50Tm9k ZSxhLCEwKX0pLGQuX3N1Ym1pdF9hdHRhY2hlZD0hMCl9KX0sdGVhcmRvd246ZnVu Y3Rpb24oKXtpZihmLm5vZGVOYW1lKHRoaXMsImZvcm0iKSlyZXR1cm4hMTtmLmV2 ZW50LnJlbW92ZSh0aGlzLCIuX3N1Ym1pdCIpfX0pLGYuc3VwcG9ydC5jaGFuZ2VC dWJibGVzfHwoZi5ldmVudC5zcGVjaWFsLmNoYW5nZT17c2V0dXA6ZnVuY3Rpb24o KXtpZih6LnRlc3QodGhpcy5ub2RlTmFtZSkpe2lmKHRoaXMudHlwZT09PSJjaGVj a2JveCJ8fHRoaXMudHlwZT09PSJyYWRpbyIpZi5ldmVudC5hZGQodGhpcywicHJv cGVydHljaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24oYSl7YS5vcmlnaW5hbEV2ZW50 LnByb3BlcnR5TmFtZT09PSJjaGVja2VkIiYmKHRoaXMuX2p1c3RfY2hhbmdlZD0h MCl9KSxmLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbihh KXt0aGlzLl9qdXN0X2NoYW5nZWQmJiFhLmlzVHJpZ2dlciYmKHRoaXMuX2p1c3Rf Y2hhbmdlZD0hMSxmLmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsYSwhMCkp fSk7cmV0dXJuITF9Zi5ldmVudC5hZGQodGhpcywiYmVmb3JlYWN0aXZhdGUuX2No YW5nZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7ei50ZXN0KGIubm9kZU5h bWUpJiYhYi5fY2hhbmdlX2F0dGFjaGVkJiYoZi5ldmVudC5hZGQoYiwiY2hhbmdl Ll9jaGFuZ2UiLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmIWEuaXNTaW11 bGF0ZWQmJiFhLmlzVHJpZ2dlciYmZi5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0 aGlzLnBhcmVudE5vZGUsYSwhMCl9KSxiLl9jaGFuZ2VfYXR0YWNoZWQ9ITApfSl9 LGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtpZih0aGlzIT09Ynx8 YS5pc1NpbXVsYXRlZHx8YS5pc1RyaWdnZXJ8fGIudHlwZSE9PSJyYWRpbyImJmIu dHlwZSE9PSJjaGVja2JveCIpcmV0dXJuIGEuaGFuZGxlT2JqLmhhbmRsZXIuYXBw bHkodGhpcyxhcmd1bWVudHMpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2YuZXZlbnQu cmVtb3ZlKHRoaXMsIi5fY2hhbmdlIik7cmV0dXJuIHoudGVzdCh0aGlzLm5vZGVO YW1lKX19KSxmLnN1cHBvcnQuZm9jdXNpbkJ1YmJsZXN8fGYuZWFjaCh7Zm9jdXM6 ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24oYSxiKXt2YXIgZD0w LGU9ZnVuY3Rpb24oYSl7Zi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LGYuZXZl bnQuZml4KGEpLCEwKX07Zi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlv bigpe2QrKz09PTAmJmMuYWRkRXZlbnRMaXN0ZW5lcihhLGUsITApfSx0ZWFyZG93 bjpmdW5jdGlvbigpey0tZD09PTAmJmMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGUs ITApfX19KSxmLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oYSxjLGQsZSxnKXt2YXIg aCxpO2lmKHR5cGVvZiBhPT0ib2JqZWN0Iil7dHlwZW9mIGMhPSJzdHJpbmciJiYo ZD1jLGM9Yik7Zm9yKGkgaW4gYSl0aGlzLm9uKGksYyxkLGFbaV0sZyk7cmV0dXJu IHRoaXN9ZD09bnVsbCYmZT09bnVsbD8oZT1jLGQ9Yz1iKTplPT1udWxsJiYodHlw ZW9mIGM9PSJzdHJpbmciPyhlPWQsZD1iKTooZT1kLGQ9YyxjPWIpKTtpZihlPT09 ITEpZT1KO2Vsc2UgaWYoIWUpcmV0dXJuIHRoaXM7Zz09PTEmJihoPWUsZT1mdW5j dGlvbihhKXtmKCkub2ZmKGEpO3JldHVybiBoLmFwcGx5KHRoaXMsYXJndW1lbnRz KX0sZS5ndWlkPWguZ3VpZHx8KGguZ3VpZD1mLmd1aWQrKykpO3JldHVybiB0aGlz LmVhY2goZnVuY3Rpb24oKXtmLmV2ZW50LmFkZCh0aGlzLGEsZSxkLGMpfSl9LG9u ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbi5jYWxsKHRoaXMsYSxi LGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYyxkKXtpZihhJiZhLnByZXZlbnREZWZh dWx0JiZhLmhhbmRsZU9iail7dmFyIGU9YS5oYW5kbGVPYmo7ZihhLmRlbGVnYXRl VGFyZ2V0KS5vZmYoZS5uYW1lc3BhY2U/ZS50eXBlKyIuIitlLm5hbWVzcGFjZTpl LnR5cGUsZS5zZWxlY3RvcixlLmhhbmRsZXIpO3JldHVybiB0aGlzfWlmKHR5cGVv ZiBhPT0ib2JqZWN0Iil7Zm9yKHZhciBnIGluIGEpdGhpcy5vZmYoZyxjLGFbZ10p O3JldHVybiB0aGlzfWlmKGM9PT0hMXx8dHlwZW9mIGM9PSJmdW5jdGlvbiIpZD1j LGM9YjtkPT09ITEmJihkPUopO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtm LmV2ZW50LnJlbW92ZSh0aGlzLGEsZCxjKX0pfSxiaW5kOmZ1bmN0aW9uKGEsYixj KXtyZXR1cm4gdGhpcy5vbihhLG51bGwsYixjKX0sdW5iaW5kOmZ1bmN0aW9uKGEs Yil7cmV0dXJuIHRoaXMub2ZmKGEsbnVsbCxiKX0sbGl2ZTpmdW5jdGlvbihhLGIs Yyl7Zih0aGlzLmNvbnRleHQpLm9uKGEsdGhpcy5zZWxlY3RvcixiLGMpO3JldHVy biB0aGlzfSxkaWU6ZnVuY3Rpb24oYSxiKXtmKHRoaXMuY29udGV4dCkub2ZmKGEs dGhpcy5zZWxlY3Rvcnx8IioqIixiKTtyZXR1cm4gdGhpc30sZGVsZWdhdGU6ZnVu Y3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24oYixhLGMsZCl9LHVuZGVsZWdh dGU6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT0xP3Ro aXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhLGMpfSx0cmlnZ2VyOmZ1bmN0aW9u KGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2YuZXZlbnQudHJpZ2dl cihhLGIsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oYSxiKXtpZih0 aGlzWzBdKXJldHVybiBmLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXNbMF0sITApfSx0 b2dnbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YXJndW1lbnRzLGM9YS5ndWlkfHxmLmd1 aWQrKyxkPTAsZT1mdW5jdGlvbihjKXt2YXIgZT0oZi5fZGF0YSh0aGlzLCJsYXN0 VG9nZ2xlIithLmd1aWQpfHwwKSVkO2YuX2RhdGEodGhpcywibGFzdFRvZ2dsZSIr YS5ndWlkLGUrMSksYy5wcmV2ZW50RGVmYXVsdCgpO3JldHVybiBiW2VdLmFwcGx5 KHRoaXMsYXJndW1lbnRzKXx8ITF9O2UuZ3VpZD1jO3doaWxlKGQ8Yi5sZW5ndGgp YltkKytdLmd1aWQ9YztyZXR1cm4gdGhpcy5jbGljayhlKX0saG92ZXI6ZnVuY3Rp b24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8 YSl9fSksZi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCBy ZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91 c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91 c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtl eXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7 Zi5mbltiXT1mdW5jdGlvbihhLGMpe2M9PW51bGwmJihjPWEsYT1udWxsKTtyZXR1 cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24oYixudWxsLGEsYyk6dGhpcy50 cmlnZ2VyKGIpfSxmLmF0dHJGbiYmKGYuYXR0ckZuW2JdPSEwKSxDLnRlc3QoYikm JihmLmV2ZW50LmZpeEhvb2tzW2JdPWYuZXZlbnQua2V5SG9va3MpLEQudGVzdChi KSYmKGYuZXZlbnQuZml4SG9va3NbYl09Zi5ldmVudC5tb3VzZUhvb2tzKX0pLGZ1 bmN0aW9uKCl7ZnVuY3Rpb24geChhLGIsYyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1l Lmxlbmd0aDtoPGk7aCsrKXt2YXIgaj1lW2hdO2lmKGope3ZhciBrPSExO2o9alth XTt3aGlsZShqKXtpZihqW2RdPT09Yyl7az1lW2ouc2l6c2V0XTticmVha31pZihq Lm5vZGVUeXBlPT09MSl7Z3x8KGpbZF09YyxqLnNpenNldD1oKTtpZih0eXBlb2Yg YiE9InN0cmluZyIpe2lmKGo9PT1iKXtrPSEwO2JyZWFrfX1lbHNlIGlmKG0uZmls dGVyKGIsW2pdKS5sZW5ndGg+MCl7az1qO2JyZWFrfX1qPWpbYV19ZVtoXT1rfX19 ZnVuY3Rpb24gdyhhLGIsYyxlLGYsZyl7Zm9yKHZhciBoPTAsaT1lLmxlbmd0aDto PGk7aCsrKXt2YXIgaj1lW2hdO2lmKGope3ZhciBrPSExO2o9althXTt3aGlsZShq KXtpZihqW2RdPT09Yyl7az1lW2ouc2l6c2V0XTticmVha31qLm5vZGVUeXBlPT09 MSYmIWcmJihqW2RdPWMsai5zaXpzZXQ9aCk7aWYoai5ub2RlTmFtZS50b0xvd2Vy Q2FzZSgpPT09Yil7az1qO2JyZWFrfWo9althXX1lW2hdPWt9fX12YXIgYT0vKCg/ OlwoKD86XChbXigpXStcKXxbXigpXSspK1wpfFxbKD86XFtbXlxbXF1dKlxdfFsn Il1bXiciXSpbJyJdfFteXFtcXSciXSspK1xdfFxcLnxbXiA+K34sKFxbXFxdKykr fFs+K35dKShccyosXHMqKT8oKD86LnxccnxcbikqKS9nLGQ9InNpemNhY2hlIiso TWF0aC5yYW5kb20oKSsiIikucmVwbGFjZSgiLiIsIiIpLGU9MCxnPU9iamVjdC5w cm90b3R5cGUudG9TdHJpbmcsaD0hMSxpPSEwLGo9L1xcL2csaz0vXHJcbi9nLGw9 L1xXLztbMCwwXS5zb3J0KGZ1bmN0aW9uKCl7aT0hMTtyZXR1cm4gMH0pO3ZhciBt PWZ1bmN0aW9uKGIsZCxlLGYpe2U9ZXx8W10sZD1kfHxjO3ZhciBoPWQ7aWYoZC5u b2RlVHlwZSE9PTEmJmQubm9kZVR5cGUhPT05KXJldHVybltdO2lmKCFifHx0eXBl b2YgYiE9InN0cmluZyIpcmV0dXJuIGU7dmFyIGksaixrLGwsbixxLHIsdCx1PSEw LHY9bS5pc1hNTChkKSx3PVtdLHg9Yjtkb3thLmV4ZWMoIiIpLGk9YS5leGVjKHgp O2lmKGkpe3g9aVszXSx3LnB1c2goaVsxXSk7aWYoaVsyXSl7bD1pWzNdO2JyZWFr fX19d2hpbGUoaSk7aWYody5sZW5ndGg+MSYmcC5leGVjKGIpKWlmKHcubGVuZ3Ro PT09MiYmby5yZWxhdGl2ZVt3WzBdXSlqPXkod1swXSt3WzFdLGQsZik7ZWxzZXtq PW8ucmVsYXRpdmVbd1swXV0/W2RdOm0ody5zaGlmdCgpLGQpO3doaWxlKHcubGVu Z3RoKWI9dy5zaGlmdCgpLG8ucmVsYXRpdmVbYl0mJihiKz13LnNoaWZ0KCkpLGo9 eShiLGosZil9ZWxzZXshZiYmdy5sZW5ndGg+MSYmZC5ub2RlVHlwZT09PTkmJiF2 JiZvLm1hdGNoLklELnRlc3Qod1swXSkmJiFvLm1hdGNoLklELnRlc3Qod1t3Lmxl bmd0aC0xXSkmJihuPW0uZmluZCh3LnNoaWZ0KCksZCx2KSxkPW4uZXhwcj9tLmZp bHRlcihuLmV4cHIsbi5zZXQpWzBdOm4uc2V0WzBdKTtpZihkKXtuPWY/e2V4cHI6 dy5wb3AoKSxzZXQ6cyhmKX06bS5maW5kKHcucG9wKCksdy5sZW5ndGg9PT0xJiYo d1swXT09PSJ+Inx8d1swXT09PSIrIikmJmQucGFyZW50Tm9kZT9kLnBhcmVudE5v ZGU6ZCx2KSxqPW4uZXhwcj9tLmZpbHRlcihuLmV4cHIsbi5zZXQpOm4uc2V0LHcu bGVuZ3RoPjA/az1zKGopOnU9ITE7d2hpbGUody5sZW5ndGgpcT13LnBvcCgpLHI9 cSxvLnJlbGF0aXZlW3FdP3I9dy5wb3AoKTpxPSIiLHI9PW51bGwmJihyPWQpLG8u cmVsYXRpdmVbcV0oayxyLHYpfWVsc2Ugaz13PVtdfWt8fChrPWopLGt8fG0uZXJy b3IocXx8Yik7aWYoZy5jYWxsKGspPT09IltvYmplY3QgQXJyYXldIilpZighdSll LnB1c2guYXBwbHkoZSxrKTtlbHNlIGlmKGQmJmQubm9kZVR5cGU9PT0xKWZvcih0 PTA7a1t0XSE9bnVsbDt0Kyspa1t0XSYmKGtbdF09PT0hMHx8a1t0XS5ub2RlVHlw ZT09PTEmJm0uY29udGFpbnMoZCxrW3RdKSkmJmUucHVzaChqW3RdKTtlbHNlIGZv cih0PTA7a1t0XSE9bnVsbDt0Kyspa1t0XSYma1t0XS5ub2RlVHlwZT09PTEmJmUu cHVzaChqW3RdKTtlbHNlIHMoayxlKTtsJiYobShsLGgsZSxmKSxtLnVuaXF1ZVNv cnQoZSkpO3JldHVybiBlfTttLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7aWYodSl7 aD1pLGEuc29ydCh1KTtpZihoKWZvcih2YXIgYj0xO2I8YS5sZW5ndGg7YisrKWFb Yl09PT1hW2ItMV0mJmEuc3BsaWNlKGItLSwxKX1yZXR1cm4gYX0sbS5tYXRjaGVz PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG0oYSxudWxsLG51bGwsYil9LG0ubWF0Y2hl c1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG0oYixudWxsLG51bGwsW2Fd KS5sZW5ndGg+MH0sbS5maW5kPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxo LGk7aWYoIWEpcmV0dXJuW107Zm9yKGU9MCxmPW8ub3JkZXIubGVuZ3RoO2U8Zjtl Kyspe2g9by5vcmRlcltlXTtpZihnPW8ubGVmdE1hdGNoW2hdLmV4ZWMoYSkpe2k9 Z1sxXSxnLnNwbGljZSgxLDEpO2lmKGkuc3Vic3RyKGkubGVuZ3RoLTEpIT09Ilxc Iil7Z1sxXT0oZ1sxXXx8IiIpLnJlcGxhY2UoaiwiIiksZD1vLmZpbmRbaF0oZyxi LGMpO2lmKGQhPW51bGwpe2E9YS5yZXBsYWNlKG8ubWF0Y2hbaF0sIiIpO2JyZWFr fX19fWR8fChkPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZp bmVkIj9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIik6W10pO3JldHVybntzZXQ6 ZCxleHByOmF9fSxtLmZpbHRlcj1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZixnLGgs aSxqLGssbCxuLHAscT1hLHI9W10scz1jLHQ9YyYmY1swXSYmbS5pc1hNTChjWzBd KTt3aGlsZShhJiZjLmxlbmd0aCl7Zm9yKGggaW4gby5maWx0ZXIpaWYoKGY9by5s ZWZ0TWF0Y2hbaF0uZXhlYyhhKSkhPW51bGwmJmZbMl0pe2s9by5maWx0ZXJbaF0s bD1mWzFdLGc9ITEsZi5zcGxpY2UoMSwxKTtpZihsLnN1YnN0cihsLmxlbmd0aC0x KT09PSJcXCIpY29udGludWU7cz09PXImJihyPVtdKTtpZihvLnByZUZpbHRlclto XSl7Zj1vLnByZUZpbHRlcltoXShmLHMsZCxyLGUsdCk7aWYoIWYpZz1pPSEwO2Vs c2UgaWYoZj09PSEwKWNvbnRpbnVlfWlmKGYpZm9yKG49MDsoaj1zW25dKSE9bnVs bDtuKyspaiYmKGk9ayhqLGYsbixzKSxwPWVeaSxkJiZpIT1udWxsP3A/Zz0hMDpz W25dPSExOnAmJihyLnB1c2goaiksZz0hMCkpO2lmKGkhPT1iKXtkfHwocz1yKSxh PWEucmVwbGFjZShvLm1hdGNoW2hdLCIiKTtpZighZylyZXR1cm5bXTticmVha319 aWYoYT09PXEpaWYoZz09bnVsbCltLmVycm9yKGEpO2Vsc2UgYnJlYWs7cT1hfXJl dHVybiBzfSxtLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3lu dGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX07dmFyIG49 bS5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1hLm5vZGVUeXBlLGU9IiI7 aWYoZCl7aWYoZD09PTF8fGQ9PT05KXtpZih0eXBlb2YgYS50ZXh0Q29udGVudD09 InN0cmluZyIpcmV0dXJuIGEudGV4dENvbnRlbnQ7aWYodHlwZW9mIGEuaW5uZXJU ZXh0PT0ic3RyaW5nIilyZXR1cm4gYS5pbm5lclRleHQucmVwbGFjZShrLCIiKTtm b3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpZSs9bihhKX1lbHNl IGlmKGQ9PT0zfHxkPT09NClyZXR1cm4gYS5ub2RlVmFsdWV9ZWxzZSBmb3IoYj0w O2M9YVtiXTtiKyspYy5ub2RlVHlwZSE9PTgmJihlKz1uKGMpKTtyZXR1cm4gZX0s bz1tLnNlbGVjdG9ycz17b3JkZXI6WyJJRCIsIk5BTUUiLCJUQUciXSxtYXRjaDp7 SUQ6LyMoKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKykvLENMQVNTOi9cLigo PzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKS8sTkFNRTovXFtuYW1lPVsnIl0q KCg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSspWyciXSpcXS8sQVRUUjovXFtc cyooKD86W1x3XHUwMGMwLVx1RkZGRlwtXXxcXC4pKylccyooPzooXFM/PSlccyoo PzooWyciXSkoLio/KVwzfCgjPyg/Oltcd1x1MDBjMC1cdUZGRkZcLV18XFwuKSop fCl8KVxzKlxdLyxUQUc6L14oKD86W1x3XHUwMGMwLVx1RkZGRlwqXC1dfFxcLikr KS8sQ0hJTEQ6Lzoob25seXxudGh8bGFzdHxmaXJzdCktY2hpbGQoPzpcKFxzKihl dmVufG9kZHwoPzpbK1wtXT9cZCt8KD86WytcLV0/XGQqKT9uXHMqKD86WytcLV1c cypcZCspPykpXHMqXCkpPy8sUE9TOi86KG50aHxlcXxndHxsdHxmaXJzdHxsYXN0 fGV2ZW58b2RkKSg/OlwoKFxkKilcKSk/KD89W15cLV18JCkvLFBTRVVETzovOigo PzpbXHdcdTAwYzAtXHVGRkZGXC1dfFxcLikrKSg/OlwoKFsnIl0/KSgoPzpcKFte XCldK1wpfFteXChcKV0qKSspXDJcKSk/L30sbGVmdE1hdGNoOnt9LGF0dHJNYXA6 eyJjbGFzcyI6ImNsYXNzTmFtZSIsImZvciI6Imh0bWxGb3IifSxhdHRySGFuZGxl OntocmVmOmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaHJlZiIp fSx0eXBlOmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgidHlwZSIp fX0scmVsYXRpdmU6eyIrIjpmdW5jdGlvbihhLGIpe3ZhciBjPXR5cGVvZiBiPT0i c3RyaW5nIixkPWMmJiFsLnRlc3QoYiksZT1jJiYhZDtkJiYoYj1iLnRvTG93ZXJD YXNlKCkpO2Zvcih2YXIgZj0wLGc9YS5sZW5ndGgsaDtmPGc7ZisrKWlmKGg9YVtm XSl7d2hpbGUoKGg9aC5wcmV2aW91c1NpYmxpbmcpJiZoLm5vZGVUeXBlIT09MSk7 YVtmXT1lfHxoJiZoLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iP2h8fCExOmg9 PT1ifWUmJm0uZmlsdGVyKGIsYSwhMCl9LCI+IjpmdW5jdGlvbihhLGIpe3ZhciBj LGQ9dHlwZW9mIGI9PSJzdHJpbmciLGU9MCxmPWEubGVuZ3RoO2lmKGQmJiFsLnRl c3QoYikpe2I9Yi50b0xvd2VyQ2FzZSgpO2Zvcig7ZTxmO2UrKyl7Yz1hW2VdO2lm KGMpe3ZhciBnPWMucGFyZW50Tm9kZTthW2VdPWcubm9kZU5hbWUudG9Mb3dlckNh c2UoKT09PWI/ZzohMX19fWVsc2V7Zm9yKDtlPGY7ZSsrKWM9YVtlXSxjJiYoYVtl XT1kP2MucGFyZW50Tm9kZTpjLnBhcmVudE5vZGU9PT1iKTtkJiZtLmZpbHRlcihi LGEsITApfX0sIiI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGY9ZSsrLGc9eDt0eXBl b2YgYj09InN0cmluZyImJiFsLnRlc3QoYikmJihiPWIudG9Mb3dlckNhc2UoKSxk PWIsZz13KSxnKCJwYXJlbnROb2RlIixiLGYsYSxkLGMpfSwifiI6ZnVuY3Rpb24o YSxiLGMpe3ZhciBkLGY9ZSsrLGc9eDt0eXBlb2YgYj09InN0cmluZyImJiFsLnRl c3QoYikmJihiPWIudG9Mb3dlckNhc2UoKSxkPWIsZz13KSxnKCJwcmV2aW91c1Np YmxpbmciLGIsZixhLGQsYyl9fSxmaW5kOntJRDpmdW5jdGlvbihhLGIsYyl7aWYo dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQhPSJ1bmRlZmluZWQiJiYhYyl7dmFyIGQ9 Yi5nZXRFbGVtZW50QnlJZChhWzFdKTtyZXR1cm4gZCYmZC5wYXJlbnROb2RlP1tk XTpbXX19LE5BTUU6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYi5nZXRFbGVtZW50 c0J5TmFtZSE9InVuZGVmaW5lZCIpe3ZhciBjPVtdLGQ9Yi5nZXRFbGVtZW50c0J5 TmFtZShhWzFdKTtmb3IodmFyIGU9MCxmPWQubGVuZ3RoO2U8ZjtlKyspZFtlXS5n ZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWFbMV0mJmMucHVzaChkW2VdKTtyZXR1cm4g Yy5sZW5ndGg9PT0wP251bGw6Y319LFRBRzpmdW5jdGlvbihhLGIpe2lmKHR5cGVv ZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lIT0idW5kZWZpbmVkIilyZXR1cm4gYi5n ZXRFbGVtZW50c0J5VGFnTmFtZShhWzFdKX19LHByZUZpbHRlcjp7Q0xBU1M6ZnVu Y3Rpb24oYSxiLGMsZCxlLGYpe2E9IiAiK2FbMV0ucmVwbGFjZShqLCIiKSsiICI7 aWYoZilyZXR1cm4gYTtmb3IodmFyIGc9MCxoOyhoPWJbZ10pIT1udWxsO2crKylo JiYoZV4oaC5jbGFzc05hbWUmJigiICIraC5jbGFzc05hbWUrIiAiKS5yZXBsYWNl KC9bXHRcblxyXS9nLCIgIikuaW5kZXhPZihhKT49MCk/Y3x8ZC5wdXNoKGgpOmMm JihiW2ddPSExKSk7cmV0dXJuITF9LElEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFd LnJlcGxhY2UoaiwiIil9LFRBRzpmdW5jdGlvbihhLGIpe3JldHVybiBhWzFdLnJl cGxhY2UoaiwiIikudG9Mb3dlckNhc2UoKX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7aWYo YVsxXT09PSJudGgiKXthWzJdfHxtLmVycm9yKGFbMF0pLGFbMl09YVsyXS5yZXBs YWNlKC9eXCt8XHMqL2csIiIpO3ZhciBiPS8oLT8pKFxkKikoPzpuKFsrXC1dP1xk KikpPy8uZXhlYyhhWzJdPT09ImV2ZW4iJiYiMm4ifHxhWzJdPT09Im9kZCImJiIy bisxInx8IS9cRC8udGVzdChhWzJdKSYmIjBuKyIrYVsyXXx8YVsyXSk7YVsyXT1i WzFdKyhiWzJdfHwxKS0wLGFbM109YlszXS0wfWVsc2UgYVsyXSYmbS5lcnJvcihh WzBdKTthWzBdPWUrKztyZXR1cm4gYX0sQVRUUjpmdW5jdGlvbihhLGIsYyxkLGUs Zil7dmFyIGc9YVsxXT1hWzFdLnJlcGxhY2UoaiwiIik7IWYmJm8uYXR0ck1hcFtn XSYmKGFbMV09by5hdHRyTWFwW2ddKSxhWzRdPShhWzRdfHxhWzVdfHwiIikucmVw bGFjZShqLCIiKSxhWzJdPT09In49IiYmKGFbNF09IiAiK2FbNF0rIiAiKTtyZXR1 cm4gYX0sUFNFVURPOmZ1bmN0aW9uKGIsYyxkLGUsZil7aWYoYlsxXT09PSJub3Qi KWlmKChhLmV4ZWMoYlszXSl8fCIiKS5sZW5ndGg+MXx8L15cdy8udGVzdChiWzNd KSliWzNdPW0oYlszXSxudWxsLG51bGwsYyk7ZWxzZXt2YXIgZz1tLmZpbHRlcihi WzNdLGMsZCwhMF5mKTtkfHxlLnB1c2guYXBwbHkoZSxnKTtyZXR1cm4hMX1lbHNl IGlmKG8ubWF0Y2guUE9TLnRlc3QoYlswXSl8fG8ubWF0Y2guQ0hJTEQudGVzdChi WzBdKSlyZXR1cm4hMDtyZXR1cm4gYn0sUE9TOmZ1bmN0aW9uKGEpe2EudW5zaGlm dCghMCk7cmV0dXJuIGF9fSxmaWx0ZXJzOntlbmFibGVkOmZ1bmN0aW9uKGEpe3Jl dHVybiBhLmRpc2FibGVkPT09ITEmJmEudHlwZSE9PSJoaWRkZW4ifSxkaXNhYmxl ZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1 bmN0aW9uKGEpe3JldHVybiBhLmNoZWNrZWQ9PT0hMH0sc2VsZWN0ZWQ6ZnVuY3Rp b24oYSl7YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDty ZXR1cm4gYS5zZWxlY3RlZD09PSEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJu ISFhLmZpcnN0Q2hpbGR9LGVtcHR5OmZ1bmN0aW9uKGEpe3JldHVybiFhLmZpcnN0 Q2hpbGR9LGhhczpmdW5jdGlvbihhLGIsYyl7cmV0dXJuISFtKGNbM10sYSkubGVu Z3RofSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuL2hcZC9pLnRlc3QoYS5ub2Rl TmFtZSl9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRBdHRyaWJ1dGUoInR5 cGUiKSxjPWEudHlwZTtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09 ImlucHV0IiYmInRleHQiPT09YyYmKGI9PT1jfHxiPT09bnVsbCl9LHJhZGlvOmZ1 bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT0iaW5w dXQiJiYicmFkaW8iPT09YS50eXBlfSxjaGVja2JveDpmdW5jdGlvbihhKXtyZXR1 cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmImNoZWNrYm94 Ij09PWEudHlwZX0sZmlsZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50 b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmImZpbGUiPT09YS50eXBlfSxwYXNzd29y ZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09 ImlucHV0IiYmInBhc3N3b3JkIj09PWEudHlwZX0sc3VibWl0OmZ1bmN0aW9uKGEp e3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oYj09PSJpbnB1 dCJ8fGI9PT0iYnV0dG9uIikmJiJzdWJtaXQiPT09YS50eXBlfSxpbWFnZTpmdW5j dGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ImlucHV0 IiYmImltYWdlIj09PWEudHlwZX0scmVzZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5u b2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybihiPT09ImlucHV0Inx8Yj09PSJi dXR0b24iKSYmInJlc2V0Ij09PWEudHlwZX0sYnV0dG9uOmZ1bmN0aW9uKGEpe3Zh ciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gYj09PSJpbnB1dCIm JiJidXR0b24iPT09YS50eXBlfHxiPT09ImJ1dHRvbiJ9LGlucHV0OmZ1bmN0aW9u KGEpe3JldHVybi9pbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uL2kudGVzdChh Lm5vZGVOYW1lKX0sZm9jdXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1hLm93bmVy RG9jdW1lbnQuYWN0aXZlRWxlbWVudH19LHNldEZpbHRlcnM6e2ZpcnN0OmZ1bmN0 aW9uKGEsYil7cmV0dXJuIGI9PT0wfSxsYXN0OmZ1bmN0aW9uKGEsYixjLGQpe3Jl dHVybiBiPT09ZC5sZW5ndGgtMX0sZXZlbjpmdW5jdGlvbihhLGIpe3JldHVybiBi JTI9PT0wfSxvZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiUyPT09MX0sbHQ6ZnVu Y3Rpb24oYSxiLGMpe3JldHVybiBiPGNbM10tMH0sZ3Q6ZnVuY3Rpb24oYSxiLGMp e3JldHVybiBiPmNbM10tMH0sbnRoOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY1sz XS0wPT09Yn0sZXE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjWzNdLTA9PT1ifX0s ZmlsdGVyOntQU0VVRE86ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YlsxXSxmPW8u ZmlsdGVyc1tlXTtpZihmKXJldHVybiBmKGEsYyxiLGQpO2lmKGU9PT0iY29udGFp bnMiKXJldHVybihhLnRleHRDb250ZW50fHxhLmlubmVyVGV4dHx8bihbYV0pfHwi IikuaW5kZXhPZihiWzNdKT49MDtpZihlPT09Im5vdCIpe3ZhciBnPWJbM107Zm9y KHZhciBoPTAsaT1nLmxlbmd0aDtoPGk7aCsrKWlmKGdbaF09PT1hKXJldHVybiEx O3JldHVybiEwfW0uZXJyb3IoZSl9LENISUxEOmZ1bmN0aW9uKGEsYil7dmFyIGMs ZSxmLGcsaCxpLGosaz1iWzFdLGw9YTtzd2l0Y2goayl7Y2FzZSJvbmx5IjpjYXNl ImZpcnN0Ijp3aGlsZShsPWwucHJldmlvdXNTaWJsaW5nKWlmKGwubm9kZVR5cGU9 PT0xKXJldHVybiExO2lmKGs9PT0iZmlyc3QiKXJldHVybiEwO2w9YTtjYXNlImxh c3QiOndoaWxlKGw9bC5uZXh0U2libGluZylpZihsLm5vZGVUeXBlPT09MSlyZXR1 cm4hMTtyZXR1cm4hMDtjYXNlIm50aCI6Yz1iWzJdLGU9YlszXTtpZihjPT09MSYm ZT09PTApcmV0dXJuITA7Zj1iWzBdLGc9YS5wYXJlbnROb2RlO2lmKGcmJihnW2Rd IT09Znx8IWEubm9kZUluZGV4KSl7aT0wO2ZvcihsPWcuZmlyc3RDaGlsZDtsO2w9 bC5uZXh0U2libGluZylsLm5vZGVUeXBlPT09MSYmKGwubm9kZUluZGV4PSsraSk7 Z1tkXT1mfWo9YS5ub2RlSW5kZXgtZTtyZXR1cm4gYz09PTA/aj09PTA6aiVjPT09 MCYmai9jPj0wfX0sSUQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlVHlwZT09 PTEmJmEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn0sVEFHOmZ1bmN0aW9uKGEsYil7 cmV0dXJuIGI9PT0iKiImJmEubm9kZVR5cGU9PT0xfHwhIWEubm9kZU5hbWUmJmEu bm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9LENMQVNTOmZ1bmN0aW9uKGEsYil7 cmV0dXJuKCIgIisoYS5jbGFzc05hbWV8fGEuZ2V0QXR0cmlidXRlKCJjbGFzcyIp KSsiICIpLmluZGV4T2YoYik+LTF9LEFUVFI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1i WzFdLGQ9bS5hdHRyP20uYXR0cihhLGMpOm8uYXR0ckhhbmRsZVtjXT9vLmF0dHJI YW5kbGVbY10oYSk6YVtjXSE9bnVsbD9hW2NdOmEuZ2V0QXR0cmlidXRlKGMpLGU9 ZCsiIixmPWJbMl0sZz1iWzRdO3JldHVybiBkPT1udWxsP2Y9PT0iIT0iOiFmJiZt LmF0dHI/ZCE9bnVsbDpmPT09Ij0iP2U9PT1nOmY9PT0iKj0iP2UuaW5kZXhPZihn KT49MDpmPT09In49Ij8oIiAiK2UrIiAiKS5pbmRleE9mKGcpPj0wOmc/Zj09PSIh PSI/ZSE9PWc6Zj09PSJePSI/ZS5pbmRleE9mKGcpPT09MDpmPT09IiQ9Ij9lLnN1 YnN0cihlLmxlbmd0aC1nLmxlbmd0aCk9PT1nOmY9PT0ifD0iP2U9PT1nfHxlLnN1 YnN0cigwLGcubGVuZ3RoKzEpPT09ZysiLSI6ITE6ZSYmZCE9PSExfSxQT1M6ZnVu Y3Rpb24oYSxiLGMsZCl7dmFyIGU9YlsyXSxmPW8uc2V0RmlsdGVyc1tlXTtpZihm KXJldHVybiBmKGEsYyxiLGQpfX19LHA9by5tYXRjaC5QT1MscT1mdW5jdGlvbihh LGIpe3JldHVybiJcXCIrKGItMCsxKX07Zm9yKHZhciByIGluIG8ubWF0Y2gpby5t YXRjaFtyXT1uZXcgUmVnRXhwKG8ubWF0Y2hbcl0uc291cmNlKy8oPyFbXlxbXSpc XSkoPyFbXlwoXSpcKSkvLnNvdXJjZSksby5sZWZ0TWF0Y2hbcl09bmV3IFJlZ0V4 cCgvKF4oPzoufFxyfFxuKSo/KS8uc291cmNlK28ubWF0Y2hbcl0uc291cmNlLnJl cGxhY2UoL1xcKFxkKykvZyxxKSk7dmFyIHM9ZnVuY3Rpb24oYSxiKXthPUFycmF5 LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsMCk7aWYoYil7Yi5wdXNoLmFwcGx5KGIs YSk7cmV0dXJuIGJ9cmV0dXJuIGF9O3RyeXtBcnJheS5wcm90b3R5cGUuc2xpY2Uu Y2FsbChjLmRvY3VtZW50RWxlbWVudC5jaGlsZE5vZGVzLDApWzBdLm5vZGVUeXBl fWNhdGNoKHQpe3M9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wLGQ9Ynx8W107aWYoZy5j YWxsKGEpPT09IltvYmplY3QgQXJyYXldIilBcnJheS5wcm90b3R5cGUucHVzaC5h cHBseShkLGEpO2Vsc2UgaWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilmb3Io dmFyIGU9YS5sZW5ndGg7YzxlO2MrKylkLnB1c2goYVtjXSk7ZWxzZSBmb3IoO2Fb Y107YysrKWQucHVzaChhW2NdKTtyZXR1cm4gZH19dmFyIHUsdjtjLmRvY3VtZW50 RWxlbWVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj91PWZ1bmN0aW9uKGEsYil7 aWYoYT09PWIpe2g9ITA7cmV0dXJuIDB9aWYoIWEuY29tcGFyZURvY3VtZW50UG9z aXRpb258fCFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKXJldHVybiBhLmNvbXBh cmVEb2N1bWVudFBvc2l0aW9uPy0xOjE7cmV0dXJuIGEuY29tcGFyZURvY3VtZW50 UG9zaXRpb24oYikmND8tMToxfToodT1mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXto PSEwO3JldHVybiAwfWlmKGEuc291cmNlSW5kZXgmJmIuc291cmNlSW5kZXgpcmV0 dXJuIGEuc291cmNlSW5kZXgtYi5zb3VyY2VJbmRleDt2YXIgYyxkLGU9W10sZj1b XSxnPWEucGFyZW50Tm9kZSxpPWIucGFyZW50Tm9kZSxqPWc7aWYoZz09PWkpcmV0 dXJuIHYoYSxiKTtpZighZylyZXR1cm4tMTtpZighaSlyZXR1cm4gMTt3aGlsZShq KWUudW5zaGlmdChqKSxqPWoucGFyZW50Tm9kZTtqPWk7d2hpbGUoailmLnVuc2hp ZnQoaiksaj1qLnBhcmVudE5vZGU7Yz1lLmxlbmd0aCxkPWYubGVuZ3RoO2Zvcih2 YXIgaz0wO2s8YyYmazxkO2srKylpZihlW2tdIT09ZltrXSlyZXR1cm4gdihlW2td LGZba10pO3JldHVybiBrPT09Yz92KGEsZltrXSwtMSk6dihlW2tdLGIsMSl9LHY9 ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT1iKXJldHVybiBjO3ZhciBkPWEubmV4dFNp Ymxpbmc7d2hpbGUoZCl7aWYoZD09PWIpcmV0dXJuLTE7ZD1kLm5leHRTaWJsaW5n fXJldHVybiAxfSksZnVuY3Rpb24oKXt2YXIgYT1jLmNyZWF0ZUVsZW1lbnQoImRp diIpLGQ9InNjcmlwdCIrKG5ldyBEYXRlKS5nZXRUaW1lKCksZT1jLmRvY3VtZW50 RWxlbWVudDthLmlubmVySFRNTD0iPGEgbmFtZT0nIitkKyInLz4iLGUuaW5zZXJ0 QmVmb3JlKGEsZS5maXJzdENoaWxkKSxjLmdldEVsZW1lbnRCeUlkKGQpJiYoby5m aW5kLklEPWZ1bmN0aW9uKGEsYyxkKXtpZih0eXBlb2YgYy5nZXRFbGVtZW50QnlJ ZCE9InVuZGVmaW5lZCImJiFkKXt2YXIgZT1jLmdldEVsZW1lbnRCeUlkKGFbMV0p O3JldHVybiBlP2UuaWQ9PT1hWzFdfHx0eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2Rl IT0idW5kZWZpbmVkIiYmZS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpLm5vZGVWYWx1 ZT09PWFbMV0/W2VdOmI6W119fSxvLmZpbHRlci5JRD1mdW5jdGlvbihhLGIpe3Zh ciBjPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUhPSJ1bmRlZmluZWQiJiZhLmdl dEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGEubm9kZVR5cGU9PT0xJiZjJiZj Lm5vZGVWYWx1ZT09PWJ9KSxlLnJlbW92ZUNoaWxkKGEpLGU9YT1udWxsfSgpLGZ1 bmN0aW9uKCl7dmFyIGE9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmFwcGVuZENo aWxkKGMuY3JlYXRlQ29tbWVudCgiIikpLGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUo IioiKS5sZW5ndGg+MCYmKG8uZmluZC5UQUc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1i LmdldEVsZW1lbnRzQnlUYWdOYW1lKGFbMV0pO2lmKGFbMV09PT0iKiIpe3ZhciBk PVtdO2Zvcih2YXIgZT0wO2NbZV07ZSsrKWNbZV0ubm9kZVR5cGU9PT0xJiZkLnB1 c2goY1tlXSk7Yz1kfXJldHVybiBjfSksYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMn PjwvYT4iLGEuZmlyc3RDaGlsZCYmdHlwZW9mIGEuZmlyc3RDaGlsZC5nZXRBdHRy aWJ1dGUhPSJ1bmRlZmluZWQiJiZhLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJo cmVmIikhPT0iIyImJihvLmF0dHJIYW5kbGUuaHJlZj1mdW5jdGlvbihhKXtyZXR1 cm4gYS5nZXRBdHRyaWJ1dGUoImhyZWYiLDIpfSksYT1udWxsfSgpLGMucXVlcnlT ZWxlY3RvckFsbCYmZnVuY3Rpb24oKXt2YXIgYT1tLGI9Yy5jcmVhdGVFbGVtZW50 KCJkaXYiKSxkPSJfX3NpenpsZV9fIjtiLmlubmVySFRNTD0iPHAgY2xhc3M9J1RF U1QnPjwvcD4iO2lmKCFiLnF1ZXJ5U2VsZWN0b3JBbGx8fGIucXVlcnlTZWxlY3Rv ckFsbCgiLlRFU1QiKS5sZW5ndGghPT0wKXttPWZ1bmN0aW9uKGIsZSxmLGcpe2U9 ZXx8YztpZighZyYmIW0uaXNYTUwoZSkpe3ZhciBoPS9eKFx3KyQpfF5cLihbXHdc LV0rJCl8XiMoW1x3XC1dKyQpLy5leGVjKGIpO2lmKGgmJihlLm5vZGVUeXBlPT09 MXx8ZS5ub2RlVHlwZT09PTkpKXtpZihoWzFdKXJldHVybiBzKGUuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoYiksZik7aWYoaFsyXSYmby5maW5kLkNMQVNTJiZlLmdldEVs ZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIHMoZS5nZXRFbGVtZW50c0J5Q2xhc3NO YW1lKGhbMl0pLGYpfWlmKGUubm9kZVR5cGU9PT05KXtpZihiPT09ImJvZHkiJiZl LmJvZHkpcmV0dXJuIHMoW2UuYm9keV0sZik7aWYoaCYmaFszXSl7dmFyIGk9ZS5n ZXRFbGVtZW50QnlJZChoWzNdKTtpZighaXx8IWkucGFyZW50Tm9kZSlyZXR1cm4g cyhbXSxmKTtpZihpLmlkPT09aFszXSlyZXR1cm4gcyhbaV0sZil9dHJ5e3JldHVy biBzKGUucXVlcnlTZWxlY3RvckFsbChiKSxmKX1jYXRjaChqKXt9fWVsc2UgaWYo ZS5ub2RlVHlwZT09PTEmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PSJvYmpl Y3QiKXt2YXIgaz1lLGw9ZS5nZXRBdHRyaWJ1dGUoImlkIiksbj1sfHxkLHA9ZS5w YXJlbnROb2RlLHE9L15ccypbK35dLy50ZXN0KGIpO2w/bj1uLnJlcGxhY2UoLycv ZywiXFwkJiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsbikscSYmcCYmKGU9ZS5wYXJl bnROb2RlKTt0cnl7aWYoIXF8fHApcmV0dXJuIHMoZS5xdWVyeVNlbGVjdG9yQWxs KCJbaWQ9JyIrbisiJ10gIitiKSxmKX1jYXRjaChyKXt9ZmluYWxseXtsfHxrLnJl bW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBhKGIsZSxmLGcpfTtmb3IodmFy IGUgaW4gYSltW2VdPWFbZV07Yj1udWxsfX0oKSxmdW5jdGlvbigpe3ZhciBhPWMu ZG9jdW1lbnRFbGVtZW50LGI9YS5tYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hl c1NlbGVjdG9yfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNT ZWxlY3RvcjtpZihiKXt2YXIgZD0hYi5jYWxsKGMuY3JlYXRlRWxlbWVudCgiZGl2 IiksImRpdiIpLGU9ITE7dHJ5e2IuY2FsbChjLmRvY3VtZW50RWxlbWVudCwiW3Rl c3QhPScnXTpzaXp6bGUiKX1jYXRjaChmKXtlPSEwfW0ubWF0Y2hlc1NlbGVjdG9y PWZ1bmN0aW9uKGEsYyl7Yz1jLnJlcGxhY2UoL1w9XHMqKFteJyJcXV0qKVxzKlxd L2csIj0nJDEnXSIpO2lmKCFtLmlzWE1MKGEpKXRyeXtpZihlfHwhby5tYXRjaC5Q U0VVRE8udGVzdChjKSYmIS8hPS8udGVzdChjKSl7dmFyIGY9Yi5jYWxsKGEsYyk7 aWYoZnx8IWR8fGEuZG9jdW1lbnQmJmEuZG9jdW1lbnQubm9kZVR5cGUhPT0xMSly ZXR1cm4gZn19Y2F0Y2goZyl7fXJldHVybiBtKGMsbnVsbCxudWxsLFthXSkubGVu Z3RoPjB9fX0oKSxmdW5jdGlvbigpe3ZhciBhPWMuY3JlYXRlRWxlbWVudCgiZGl2 Iik7YS5pbm5lckhUTUw9IjxkaXYgY2xhc3M9J3Rlc3QgZSc+PC9kaXY+PGRpdiBj bGFzcz0ndGVzdCc+PC9kaXY+IjtpZighIWEuZ2V0RWxlbWVudHNCeUNsYXNzTmFt ZSYmYS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlIikubGVuZ3RoIT09MCl7YS5s YXN0Q2hpbGQuY2xhc3NOYW1lPSJlIjtpZihhLmdldEVsZW1lbnRzQnlDbGFzc05h bWUoImUiKS5sZW5ndGg9PT0xKXJldHVybjtvLm9yZGVyLnNwbGljZSgxLDAsIkNM QVNTIiksby5maW5kLkNMQVNTPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYi5n ZXRFbGVtZW50c0J5Q2xhc3NOYW1lIT0idW5kZWZpbmVkIiYmIWMpcmV0dXJuIGIu Z2V0RWxlbWVudHNCeUNsYXNzTmFtZShhWzFdKX0sYT1udWxsfX0oKSxjLmRvY3Vt ZW50RWxlbWVudC5jb250YWlucz9tLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0 dXJuIGEhPT1iJiYoYS5jb250YWlucz9hLmNvbnRhaW5zKGIpOiEwKX06Yy5kb2N1 bWVudEVsZW1lbnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24/bS5jb250YWlucz1m dW5jdGlvbihhLGIpe3JldHVybiEhKGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24o YikmMTYpfTptLmNvbnRhaW5zPWZ1bmN0aW9uKCl7cmV0dXJuITF9LG0uaXNYTUw9 ZnVuY3Rpb24oYSl7dmFyIGI9KGE/YS5vd25lckRvY3VtZW50fHxhOjApLmRvY3Vt ZW50RWxlbWVudDtyZXR1cm4gYj9iLm5vZGVOYW1lIT09IkhUTUwiOiExfTt2YXIg eT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXSxmPSIiLGc9Yi5ub2RlVHlwZT9b Yl06Yjt3aGlsZShkPW8ubWF0Y2guUFNFVURPLmV4ZWMoYSkpZis9ZFswXSxhPWEu cmVwbGFjZShvLm1hdGNoLlBTRVVETywiIik7YT1vLnJlbGF0aXZlW2FdP2ErIioi OmE7Zm9yKHZhciBoPTAsaT1nLmxlbmd0aDtoPGk7aCsrKW0oYSxnW2hdLGUsYyk7 cmV0dXJuIG0uZmlsdGVyKGYsZSl9O20uYXR0cj1mLmF0dHIsbS5zZWxlY3RvcnMu YXR0ck1hcD17fSxmLmZpbmQ9bSxmLmV4cHI9bS5zZWxlY3RvcnMsZi5leHByWyI6 Il09Zi5leHByLmZpbHRlcnMsZi51bmlxdWU9bS51bmlxdWVTb3J0LGYudGV4dD1t LmdldFRleHQsZi5pc1hNTERvYz1tLmlzWE1MLGYuY29udGFpbnM9bS5jb250YWlu c30oKTt2YXIgTD0vVW50aWwkLyxNPS9eKD86cGFyZW50c3xwcmV2VW50aWx8cHJl dkFsbCkvLE49LywvLE89L14uW146I1xbXC4sXSokLyxQPUFycmF5LnByb3RvdHlw ZS5zbGljZSxRPWYuZXhwci5tYXRjaC5QT1MsUj17Y2hpbGRyZW46ITAsY29udGVu dHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlv bihhKXt2YXIgYj10aGlzLGMsZDtpZih0eXBlb2YgYSE9InN0cmluZyIpcmV0dXJu IGYoYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGM9MCxkPWIubGVuZ3RoO2M8ZDtj KyspaWYoZi5jb250YWlucyhiW2NdLHRoaXMpKXJldHVybiEwfSk7dmFyIGU9dGhp cy5wdXNoU3RhY2soIiIsImZpbmQiLGEpLGcsaCxpO2ZvcihjPTAsZD10aGlzLmxl bmd0aDtjPGQ7YysrKXtnPWUubGVuZ3RoLGYuZmluZChhLHRoaXNbY10sZSk7aWYo Yz4wKWZvcihoPWc7aDxlLmxlbmd0aDtoKyspZm9yKGk9MDtpPGc7aSsrKWlmKGVb aV09PT1lW2hdKXtlLnNwbGljZShoLS0sMSk7YnJlYWt9fXJldHVybiBlfSxoYXM6 ZnVuY3Rpb24oYSl7dmFyIGI9ZihhKTtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rp b24oKXtmb3IodmFyIGE9MCxjPWIubGVuZ3RoO2E8YzthKyspaWYoZi5jb250YWlu cyh0aGlzLGJbYV0pKXJldHVybiEwfSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4g dGhpcy5wdXNoU3RhY2soVCh0aGlzLGEsITEpLCJub3QiLGEpfSxmaWx0ZXI6ZnVu Y3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFQodGhpcyxhLCEwKSwiZmls dGVyIixhKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISFhJiYodHlwZW9mIGE9PSJz dHJpbmciP1EudGVzdChhKT9mKGEsdGhpcy5jb250ZXh0KS5pbmRleCh0aGlzWzBd KT49MDpmLmZpbHRlcihhLHRoaXMpLmxlbmd0aD4wOnRoaXMuZmlsdGVyKGEpLmxl bmd0aD4wKX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQsZSxnPXRo aXNbMF07aWYoZi5pc0FycmF5KGEpKXt2YXIgaD0xO3doaWxlKGcmJmcub3duZXJE b2N1bWVudCYmZyE9PWIpe2ZvcihkPTA7ZDxhLmxlbmd0aDtkKyspZihnKS5pcyhh W2RdKSYmYy5wdXNoKHtzZWxlY3RvcjphW2RdLGVsZW06ZyxsZXZlbDpofSk7Zz1n LnBhcmVudE5vZGUsaCsrfXJldHVybiBjfXZhciBpPVEudGVzdChhKXx8dHlwZW9m IGEhPSJzdHJpbmciP2YoYSxifHx0aGlzLmNvbnRleHQpOjA7Zm9yKGQ9MCxlPXRo aXMubGVuZ3RoO2Q8ZTtkKyspe2c9dGhpc1tkXTt3aGlsZShnKXtpZihpP2kuaW5k ZXgoZyk+LTE6Zi5maW5kLm1hdGNoZXNTZWxlY3RvcihnLGEpKXtjLnB1c2goZyk7 YnJlYWt9Zz1nLnBhcmVudE5vZGU7aWYoIWd8fCFnLm93bmVyRG9jdW1lbnR8fGc9 PT1ifHxnLm5vZGVUeXBlPT09MTEpYnJlYWt9fWM9Yy5sZW5ndGg+MT9mLnVuaXF1 ZShjKTpjO3JldHVybiB0aGlzLnB1c2hTdGFjayhjLCJjbG9zZXN0IixhKX0saW5k ZXg6ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIHRoaXNbMF0mJnRoaXNbMF0ucGFy ZW50Tm9kZT90aGlzLnByZXZBbGwoKS5sZW5ndGg6LTE7aWYodHlwZW9mIGE9PSJz dHJpbmciKXJldHVybiBmLmluQXJyYXkodGhpc1swXSxmKGEpKTtyZXR1cm4gZi5p bkFycmF5KGEuanF1ZXJ5P2FbMF06YSx0aGlzKX0sYWRkOmZ1bmN0aW9uKGEsYil7 dmFyIGM9dHlwZW9mIGE9PSJzdHJpbmciP2YoYSxiKTpmLm1ha2VBcnJheShhJiZh Lm5vZGVUeXBlP1thXTphKSxkPWYubWVyZ2UodGhpcy5nZXQoKSxjKTtyZXR1cm4g dGhpcy5wdXNoU3RhY2soUyhjWzBdKXx8UyhkWzBdKT9kOmYudW5pcXVlKGQpKX0s YW5kU2VsZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFkZCh0aGlzLnByZXZPYmpl Y3QpfX0pLGYuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50 Tm9kZTtyZXR1cm4gYiYmYi5ub2RlVHlwZSE9PTExP2I6bnVsbH0scGFyZW50czpm dW5jdGlvbihhKXtyZXR1cm4gZi5kaXIoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRz VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmLmRpcihhLCJwYXJlbnROb2Rl IixjKX0sbmV4dDpmdW5jdGlvbihhKXtyZXR1cm4gZi5udGgoYSwyLCJuZXh0U2li bGluZyIpfSxwcmV2OmZ1bmN0aW9uKGEpe3JldHVybiBmLm50aChhLDIsInByZXZp b3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBmLmRpcihh LCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiBmLmRp cihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixj KXtyZXR1cm4gZi5kaXIoYSwibmV4dFNpYmxpbmciLGMpfSxwcmV2VW50aWw6ZnVu Y3Rpb24oYSxiLGMpe3JldHVybiBmLmRpcihhLCJwcmV2aW91c1NpYmxpbmciLGMp fSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gZi5zaWJsaW5nKGEucGFyZW50 Tm9kZS5maXJzdENoaWxkLGEpfSxjaGlsZHJlbjpmdW5jdGlvbihhKXtyZXR1cm4g Zi5zaWJsaW5nKGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3Jl dHVybiBmLm5vZGVOYW1lKGEsImlmcmFtZSIpP2EuY29udGVudERvY3VtZW50fHxh LmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6Zi5tYWtlQXJyYXkoYS5jaGlsZE5vZGVz KX19LGZ1bmN0aW9uKGEsYil7Zi5mblthXT1mdW5jdGlvbihjLGQpe3ZhciBlPWYu bWFwKHRoaXMsYixjKTtMLnRlc3QoYSl8fChkPWMpLGQmJnR5cGVvZiBkPT0ic3Ry aW5nIiYmKGU9Zi5maWx0ZXIoZCxlKSksZT10aGlzLmxlbmd0aD4xJiYhUlthXT9m LnVuaXF1ZShlKTplLCh0aGlzLmxlbmd0aD4xfHxOLnRlc3QoZCkpJiZNLnRlc3Qo YSkmJihlPWUucmV2ZXJzZSgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSxhLFAu Y2FsbChhcmd1bWVudHMpLmpvaW4oIiwiKSl9fSksZi5leHRlbmQoe2ZpbHRlcjpm dW5jdGlvbihhLGIsYyl7YyYmKGE9Ijpub3QoIithKyIpIik7cmV0dXJuIGIubGVu Z3RoPT09MT9mLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGJbMF0sYSk/W2JbMF1dOltd OmYuZmluZC5tYXRjaGVzKGEsYil9LGRpcjpmdW5jdGlvbihhLGMsZCl7dmFyIGU9 W10sZz1hW2NdO3doaWxlKGcmJmcubm9kZVR5cGUhPT05JiYoZD09PWJ8fGcubm9k ZVR5cGUhPT0xfHwhZihnKS5pcyhkKSkpZy5ub2RlVHlwZT09PTEmJmUucHVzaChn KSxnPWdbY107cmV0dXJuIGV9LG50aDpmdW5jdGlvbihhLGIsYyxkKXtiPWJ8fDE7 dmFyIGU9MDtmb3IoO2E7YT1hW2NdKWlmKGEubm9kZVR5cGU9PT0xJiYrK2U9PT1i KWJyZWFrO3JldHVybiBhfSxzaWJsaW5nOmZ1bmN0aW9uKGEsYil7dmFyIGM9W107 Zm9yKDthO2E9YS5uZXh0U2libGluZylhLm5vZGVUeXBlPT09MSYmYSE9PWImJmMu cHVzaChhKTtyZXR1cm4gY319KTt2YXIgVj0iYWJicnxhcnRpY2xlfGFzaWRlfGF1 ZGlvfGNhbnZhc3xkYXRhbGlzdHxkZXRhaWxzfGZpZ2NhcHRpb258ZmlndXJlfGZv b3RlcnxoZWFkZXJ8aGdyb3VwfG1hcmt8bWV0ZXJ8bmF2fG91dHB1dHxwcm9ncmVz c3xzZWN0aW9ufHN1bW1hcnl8dGltZXx2aWRlbyIsVz0vIGpRdWVyeVxkKz0iKD86 XGQrfG51bGwpIi9nLFg9L15ccysvLFk9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxo cnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Ol0rKVtePl0qKVwvPi9p ZyxaPS88KFtcdzpdKykvLCQ9Lzx0Ym9keS9pLF89Lzx8JiM/XHcrOy8sYmE9Lzwo PzpzY3JpcHR8c3R5bGUpL2ksYmI9LzwoPzpzY3JpcHR8b2JqZWN0fGVtYmVkfG9w dGlvbnxzdHlsZSkvaSxiYz1uZXcgUmVnRXhwKCI8KD86IitWKyIpIiwiaSIpLGJk PS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLGJlPS9cLyhqYXZh fGVjbWEpc2NyaXB0L2ksYmY9L15ccyo8ISg/OlxbQ0RBVEFcW3xcLVwtKS8sYmc9 e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2Vs ZWN0PiJdLGxlZ2VuZDpbMSwiPGZpZWxkc2V0PiIsIjwvZmllbGRzZXQ+Il0sdGhl YWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5 PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+ IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5 PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSxhcmVh OlsxLCI8bWFwPiIsIjwvbWFwPiJdLF9kZWZhdWx0OlswLCIiLCIiXX0sYmg9VShj KTtiZy5vcHRncm91cD1iZy5vcHRpb24sYmcudGJvZHk9YmcudGZvb3Q9YmcuY29s Z3JvdXA9YmcuY2FwdGlvbj1iZy50aGVhZCxiZy50aD1iZy50ZCxmLnN1cHBvcnQu aHRtbFNlcmlhbGl6ZXx8KGJnLl9kZWZhdWx0PVsxLCJkaXY8ZGl2PiIsIjwvZGl2 PiJdKSxmLmZuLmV4dGVuZCh7dGV4dDpmdW5jdGlvbihhKXtpZihmLmlzRnVuY3Rp b24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRoaXMp O2MudGV4dChhLmNhbGwodGhpcyxiLGMudGV4dCgpKSl9KTtpZih0eXBlb2YgYSE9 Im9iamVjdCImJmEhPT1iKXJldHVybiB0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlz WzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGMpLmNyZWF0ZVRleHROb2RlKGEp KTtyZXR1cm4gZi50ZXh0KHRoaXMpfSx3cmFwQWxsOmZ1bmN0aW9uKGEpe2lmKGYu aXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe2YodGhp cykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KTtpZih0aGlzWzBdKXt2YXIgYj1m KGEsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1sw XS5wYXJlbnROb2RlJiZiLmluc2VydEJlZm9yZSh0aGlzWzBdKSxiLm1hcChmdW5j dGlvbigpe3ZhciBhPXRoaXM7d2hpbGUoYS5maXJzdENoaWxkJiZhLmZpcnN0Q2hp bGQubm9kZVR5cGU9PT0xKWE9YS5maXJzdENoaWxkO3JldHVybiBhfSkuYXBwZW5k KHRoaXMpfXJldHVybiB0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oYSl7aWYoZi5p c0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7Zih0aGlz KS53cmFwSW5uZXIoYS5jYWxsKHRoaXMsYikpfSk7cmV0dXJuIHRoaXMuZWFjaChm dW5jdGlvbigpe3ZhciBiPWYodGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/ Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFy IGI9Zi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7 Zih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2Yu bm9kZU5hbWUodGhpcywiYm9keSIpfHxmKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMu Y2hpbGROb2Rlcyl9KS5lbmQoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRo aXMuZG9tTWFuaXAoYXJndW1lbnRzLCEwLGZ1bmN0aW9uKGEpe3RoaXMubm9kZVR5 cGU9PT0xJiZ0aGlzLmFwcGVuZENoaWxkKGEpfSl9LHByZXBlbmQ6ZnVuY3Rpb24o KXtyZXR1cm4gdGhpcy5kb21NYW5pcChhcmd1bWVudHMsITAsZnVuY3Rpb24oYSl7 dGhpcy5ub2RlVHlwZT09PTEmJnRoaXMuaW5zZXJ0QmVmb3JlKGEsdGhpcy5maXJz dENoaWxkKX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtpZih0aGlzWzBdJiZ0aGlzWzBd LnBhcmVudE5vZGUpcmV0dXJuIHRoaXMuZG9tTWFuaXAoYXJndW1lbnRzLCExLGZ1 bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0p O2lmKGFyZ3VtZW50cy5sZW5ndGgpe3ZhciBhPWYuY2xlYW4oYXJndW1lbnRzKTth LnB1c2guYXBwbHkoYSx0aGlzLnRvQXJyYXkoKSk7cmV0dXJuIHRoaXMucHVzaFN0 YWNrKGEsImJlZm9yZSIsYXJndW1lbnRzKX19LGFmdGVyOmZ1bmN0aW9uKCl7aWYo dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlKXJldHVybiB0aGlzLmRvbU1hbmlw KGFyZ3VtZW50cywhMSxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUuaW5zZXJ0 QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KTtpZihhcmd1bWVudHMubGVuZ3Ro KXt2YXIgYT10aGlzLnB1c2hTdGFjayh0aGlzLCJhZnRlciIsYXJndW1lbnRzKTth LnB1c2guYXBwbHkoYSxmLmNsZWFuKGFyZ3VtZW50cykpO3JldHVybiBhfX0scmVt b3ZlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTAsZDsoZD10aGlzW2NdKSE9bnVs bDtjKyspaWYoIWF8fGYuZmlsdGVyKGEsW2RdKS5sZW5ndGgpIWImJmQubm9kZVR5 cGU9PT0xJiYoZi5jbGVhbkRhdGEoZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIp KSxmLmNsZWFuRGF0YShbZF0pKSxkLnBhcmVudE5vZGUmJmQucGFyZW50Tm9kZS5y ZW1vdmVDaGlsZChkKTtyZXR1cm4gdGhpc30sZW1wdHk6ZnVuY3Rpb24oKQp7Zm9y KHZhciBhPTAsYjsoYj10aGlzW2FdKSE9bnVsbDthKyspe2Iubm9kZVR5cGU9PT0x JiZmLmNsZWFuRGF0YShiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpO3doaWxl KGIuZmlyc3RDaGlsZCliLnJlbW92ZUNoaWxkKGIuZmlyc3RDaGlsZCl9cmV0dXJu IHRoaXN9LGNsb25lOmZ1bmN0aW9uKGEsYil7YT1hPT1udWxsPyExOmEsYj1iPT1u dWxsP2E6YjtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZi5jbG9u ZSh0aGlzLGEsYil9KX0saHRtbDpmdW5jdGlvbihhKXtpZihhPT09YilyZXR1cm4g dGhpc1swXSYmdGhpc1swXS5ub2RlVHlwZT09PTE/dGhpc1swXS5pbm5lckhUTUwu cmVwbGFjZShXLCIiKTpudWxsO2lmKHR5cGVvZiBhPT0ic3RyaW5nIiYmIWJhLnRl c3QoYSkmJihmLnN1cHBvcnQubGVhZGluZ1doaXRlc3BhY2V8fCFYLnRlc3QoYSkp JiYhYmdbKFouZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9 YS5yZXBsYWNlKFksIjwkMT48LyQyPiIpO3RyeXtmb3IodmFyIGM9MCxkPXRoaXMu bGVuZ3RoO2M8ZDtjKyspdGhpc1tjXS5ub2RlVHlwZT09PTEmJihmLmNsZWFuRGF0 YSh0aGlzW2NdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikpLHRoaXNbY10uaW5u ZXJIVE1MPWEpfWNhdGNoKGUpe3RoaXMuZW1wdHkoKS5hcHBlbmQoYSl9fWVsc2Ug Zi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1mKHRo aXMpO2MuaHRtbChhLmNhbGwodGhpcyxiLGMuaHRtbCgpKSl9KTp0aGlzLmVtcHR5 KCkuYXBwZW5kKGEpO3JldHVybiB0aGlzfSxyZXBsYWNlV2l0aDpmdW5jdGlvbihh KXtpZih0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGUpe2lmKGYuaXNGdW5jdGlv bihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWYodGhpcyks ZD1jLmh0bWwoKTtjLnJlcGxhY2VXaXRoKGEuY2FsbCh0aGlzLGIsZCkpfSk7dHlw ZW9mIGEhPSJzdHJpbmciJiYoYT1mKGEpLmRldGFjaCgpKTtyZXR1cm4gdGhpcy5l YWNoKGZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5uZXh0U2libGluZyxjPXRoaXMucGFy ZW50Tm9kZTtmKHRoaXMpLnJlbW92ZSgpLGI/ZihiKS5iZWZvcmUoYSk6ZihjKS5h cHBlbmQoYSl9KX1yZXR1cm4gdGhpcy5sZW5ndGg/dGhpcy5wdXNoU3RhY2soZihm LmlzRnVuY3Rpb24oYSk/YSgpOmEpLCJyZXBsYWNlV2l0aCIsYSk6dGhpc30sZGV0 YWNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJlbW92ZShhLCEwKX0sZG9tTWFu aXA6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGcsaCxpLGo9YVswXSxrPVtdO2lmKCFm LnN1cHBvcnQuY2hlY2tDbG9uZSYmYXJndW1lbnRzLmxlbmd0aD09PTMmJnR5cGVv ZiBqPT0ic3RyaW5nIiYmYmQudGVzdChqKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7Zih0aGlzKS5kb21NYW5pcChhLGMsZCwhMCl9KTtpZihmLmlzRnVuY3Rp b24oaikpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgZz1mKHRoaXMp O2FbMF09ai5jYWxsKHRoaXMsZSxjP2cuaHRtbCgpOmIpLGcuZG9tTWFuaXAoYSxj LGQpfSk7aWYodGhpc1swXSl7aT1qJiZqLnBhcmVudE5vZGUsZi5zdXBwb3J0LnBh cmVudE5vZGUmJmkmJmkubm9kZVR5cGU9PT0xMSYmaS5jaGlsZE5vZGVzLmxlbmd0 aD09PXRoaXMubGVuZ3RoP2U9e2ZyYWdtZW50Oml9OmU9Zi5idWlsZEZyYWdtZW50 KGEsdGhpcyxrKSxoPWUuZnJhZ21lbnQsaC5jaGlsZE5vZGVzLmxlbmd0aD09PTE/ Zz1oPWguZmlyc3RDaGlsZDpnPWguZmlyc3RDaGlsZDtpZihnKXtjPWMmJmYubm9k ZU5hbWUoZywidHIiKTtmb3IodmFyIGw9MCxtPXRoaXMubGVuZ3RoLG49bS0xO2w8 bTtsKyspZC5jYWxsKGM/YmkodGhpc1tsXSxnKTp0aGlzW2xdLGUuY2FjaGVhYmxl fHxtPjEmJmw8bj9mLmNsb25lKGgsITAsITApOmgpfWsubGVuZ3RoJiZmLmVhY2go ayxicCl9cmV0dXJuIHRoaXN9fSksZi5idWlsZEZyYWdtZW50PWZ1bmN0aW9uKGEs YixkKXt2YXIgZSxnLGgsaSxqPWFbMF07YiYmYlswXSYmKGk9YlswXS5vd25lckRv Y3VtZW50fHxiWzBdKSxpLmNyZWF0ZURvY3VtZW50RnJhZ21lbnR8fChpPWMpLGEu bGVuZ3RoPT09MSYmdHlwZW9mIGo9PSJzdHJpbmciJiZqLmxlbmd0aDw1MTImJmk9 PT1jJiZqLmNoYXJBdCgwKT09PSI8IiYmIWJiLnRlc3QoaikmJihmLnN1cHBvcnQu Y2hlY2tDbG9uZXx8IWJkLnRlc3QoaikpJiYoZi5zdXBwb3J0Lmh0bWw1Q2xvbmV8 fCFiYy50ZXN0KGopKSYmKGc9ITAsaD1mLmZyYWdtZW50c1tqXSxoJiZoIT09MSYm KGU9aCkpLGV8fChlPWkuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGYuY2xlYW4o YSxpLGUsZCkpLGcmJihmLmZyYWdtZW50c1tqXT1oP2U6MSk7cmV0dXJue2ZyYWdt ZW50OmUsY2FjaGVhYmxlOmd9fSxmLmZyYWdtZW50cz17fSxmLmVhY2goe2FwcGVu ZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJi ZWZvcmUiLGluc2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdp dGgifSxmdW5jdGlvbihhLGIpe2YuZm5bYV09ZnVuY3Rpb24oYyl7dmFyIGQ9W10s ZT1mKGMpLGc9dGhpcy5sZW5ndGg9PT0xJiZ0aGlzWzBdLnBhcmVudE5vZGU7aWYo ZyYmZy5ub2RlVHlwZT09PTExJiZnLmNoaWxkTm9kZXMubGVuZ3RoPT09MSYmZS5s ZW5ndGg9PT0xKXtlW2JdKHRoaXNbMF0pO3JldHVybiB0aGlzfWZvcih2YXIgaD0w LGk9ZS5sZW5ndGg7aDxpO2grKyl7dmFyIGo9KGg+MD90aGlzLmNsb25lKCEwKTp0 aGlzKS5nZXQoKTtmKGVbaF0pW2JdKGopLGQ9ZC5jb25jYXQoail9cmV0dXJuIHRo aXMucHVzaFN0YWNrKGQsYSxlLnNlbGVjdG9yKX19KSxmLmV4dGVuZCh7Y2xvbmU6 ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZyxoPWYuc3VwcG9ydC5odG1sNUNsb25l fHwhYmMudGVzdCgiPCIrYS5ub2RlTmFtZSk/YS5jbG9uZU5vZGUoITApOmJvKGEp O2lmKCghZi5zdXBwb3J0Lm5vQ2xvbmVFdmVudHx8IWYuc3VwcG9ydC5ub0Nsb25l Q2hlY2tlZCkmJihhLm5vZGVUeXBlPT09MXx8YS5ub2RlVHlwZT09PTExKSYmIWYu aXNYTUxEb2MoYSkpe2JrKGEsaCksZD1ibChhKSxlPWJsKGgpO2ZvcihnPTA7ZFtn XTsrK2cpZVtnXSYmYmsoZFtnXSxlW2ddKX1pZihiKXtiaihhLGgpO2lmKGMpe2Q9 YmwoYSksZT1ibChoKTtmb3IoZz0wO2RbZ107KytnKWJqKGRbZ10sZVtnXSl9fWQ9 ZT1udWxsO3JldHVybiBofSxjbGVhbjpmdW5jdGlvbihhLGIsZCxlKXt2YXIgZzti PWJ8fGMsdHlwZW9mIGIuY3JlYXRlRWxlbWVudD09InVuZGVmaW5lZCImJihiPWIu b3duZXJEb2N1bWVudHx8YlswXSYmYlswXS5vd25lckRvY3VtZW50fHxjKTt2YXIg aD1bXSxpO2Zvcih2YXIgaj0wLGs7KGs9YVtqXSkhPW51bGw7aisrKXt0eXBlb2Yg az09Im51bWJlciImJihrKz0iIik7aWYoIWspY29udGludWU7aWYodHlwZW9mIGs9 PSJzdHJpbmciKWlmKCFfLnRlc3Qoaykpaz1iLmNyZWF0ZVRleHROb2RlKGspO2Vs c2V7az1rLnJlcGxhY2UoWSwiPCQxPjwvJDI+Iik7dmFyIGw9KFouZXhlYyhrKXx8 WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxtPWJnW2xdfHxiZy5fZGVmYXVsdCxu PW1bMF0sbz1iLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2I9PT1jP2JoLmFwcGVuZENo aWxkKG8pOlUoYikuYXBwZW5kQ2hpbGQobyksby5pbm5lckhUTUw9bVsxXStrK21b Ml07d2hpbGUobi0tKW89by5sYXN0Q2hpbGQ7aWYoIWYuc3VwcG9ydC50Ym9keSl7 dmFyIHA9JC50ZXN0KGspLHE9bD09PSJ0YWJsZSImJiFwP28uZmlyc3RDaGlsZCYm by5maXJzdENoaWxkLmNoaWxkTm9kZXM6bVsxXT09PSI8dGFibGU+IiYmIXA/by5j aGlsZE5vZGVzOltdO2ZvcihpPXEubGVuZ3RoLTE7aT49MDstLWkpZi5ub2RlTmFt ZShxW2ldLCJ0Ym9keSIpJiYhcVtpXS5jaGlsZE5vZGVzLmxlbmd0aCYmcVtpXS5w YXJlbnROb2RlLnJlbW92ZUNoaWxkKHFbaV0pfSFmLnN1cHBvcnQubGVhZGluZ1do aXRlc3BhY2UmJlgudGVzdChrKSYmby5pbnNlcnRCZWZvcmUoYi5jcmVhdGVUZXh0 Tm9kZShYLmV4ZWMoaylbMF0pLG8uZmlyc3RDaGlsZCksaz1vLmNoaWxkTm9kZXN9 dmFyIHI7aWYoIWYuc3VwcG9ydC5hcHBlbmRDaGVja2VkKWlmKGtbMF0mJnR5cGVv ZiAocj1rLmxlbmd0aCk9PSJudW1iZXIiKWZvcihpPTA7aTxyO2krKylibihrW2ld KTtlbHNlIGJuKGspO2subm9kZVR5cGU/aC5wdXNoKGspOmg9Zi5tZXJnZShoLGsp fWlmKGQpe2c9ZnVuY3Rpb24oYSl7cmV0dXJuIWEudHlwZXx8YmUudGVzdChhLnR5 cGUpfTtmb3Ioaj0wO2hbal07aisrKWlmKGUmJmYubm9kZU5hbWUoaFtqXSwic2Ny aXB0IikmJighaFtqXS50eXBlfHxoW2pdLnR5cGUudG9Mb3dlckNhc2UoKT09PSJ0 ZXh0L2phdmFzY3JpcHQiKSllLnB1c2goaFtqXS5wYXJlbnROb2RlP2hbal0ucGFy ZW50Tm9kZS5yZW1vdmVDaGlsZChoW2pdKTpoW2pdKTtlbHNle2lmKGhbal0ubm9k ZVR5cGU9PT0xKXt2YXIgcz1mLmdyZXAoaFtqXS5nZXRFbGVtZW50c0J5VGFnTmFt ZSgic2NyaXB0IiksZyk7aC5zcGxpY2UuYXBwbHkoaCxbaisxLDBdLmNvbmNhdChz KSl9ZC5hcHBlbmRDaGlsZChoW2pdKX19cmV0dXJuIGh9LGNsZWFuRGF0YTpmdW5j dGlvbihhKXt2YXIgYixjLGQ9Zi5jYWNoZSxlPWYuZXZlbnQuc3BlY2lhbCxnPWYu c3VwcG9ydC5kZWxldGVFeHBhbmRvO2Zvcih2YXIgaD0wLGk7KGk9YVtoXSkhPW51 bGw7aCsrKXtpZihpLm5vZGVOYW1lJiZmLm5vRGF0YVtpLm5vZGVOYW1lLnRvTG93 ZXJDYXNlKCldKWNvbnRpbnVlO2M9aVtmLmV4cGFuZG9dO2lmKGMpe2I9ZFtjXTtp ZihiJiZiLmV2ZW50cyl7Zm9yKHZhciBqIGluIGIuZXZlbnRzKWVbal0/Zi5ldmVu dC5yZW1vdmUoaSxqKTpmLnJlbW92ZUV2ZW50KGksaixiLmhhbmRsZSk7Yi5oYW5k bGUmJihiLmhhbmRsZS5lbGVtPW51bGwpfWc/ZGVsZXRlIGlbZi5leHBhbmRvXTpp LnJlbW92ZUF0dHJpYnV0ZSYmaS5yZW1vdmVBdHRyaWJ1dGUoZi5leHBhbmRvKSxk ZWxldGUgZFtjXX19fX0pO3ZhciBicT0vYWxwaGFcKFteKV0qXCkvaSxicj0vb3Bh Y2l0eT0oW14pXSopLyxicz0vKFtBLVpdfF5tcykvZyxidD0vXi0/XGQrKD86cHgp PyQvaSxidT0vXi0/XGQvLGJ2PS9eKFtcLStdKT0oW1wtKy5cZGVdKykvLGJ3PXtw b3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToi YmxvY2sifSxieD1bIkxlZnQiLCJSaWdodCJdLGJ5PVsiVG9wIiwiQm90dG9tIl0s YnosYkEsYkI7Zi5mbi5jc3M9ZnVuY3Rpb24oYSxjKXtpZihhcmd1bWVudHMubGVu Z3RoPT09MiYmYz09PWIpcmV0dXJuIHRoaXM7cmV0dXJuIGYuYWNjZXNzKHRoaXMs YSxjLCEwLGZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gZCE9PWI/Zi5zdHlsZShhLGMs ZCk6Zi5jc3MoYSxjKX0pfSxmLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dl dDpmdW5jdGlvbihhLGIpe2lmKGIpe3ZhciBjPWJ6KGEsIm9wYWNpdHkiLCJvcGFj aXR5Iik7cmV0dXJuIGM9PT0iIj8iMSI6Y31yZXR1cm4gYS5zdHlsZS5vcGFjaXR5 fX19LGNzc051bWJlcjp7ZmlsbE9wYWNpdHk6ITAsZm9udFdlaWdodDohMCxsaW5l SGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4 OiEwLHpvb206ITB9LGNzc1Byb3BzOnsiZmxvYXQiOmYuc3VwcG9ydC5jc3NGbG9h dD8iY3NzRmxvYXQiOiJzdHlsZUZsb2F0In0sc3R5bGU6ZnVuY3Rpb24oYSxjLGQs ZSl7aWYoISFhJiZhLm5vZGVUeXBlIT09MyYmYS5ub2RlVHlwZSE9PTgmJiEhYS5z dHlsZSl7dmFyIGcsaCxpPWYuY2FtZWxDYXNlKGMpLGo9YS5zdHlsZSxrPWYuY3Nz SG9va3NbaV07Yz1mLmNzc1Byb3BzW2ldfHxpO2lmKGQ9PT1iKXtpZihrJiYiZ2V0 ImluIGsmJihnPWsuZ2V0KGEsITEsZSkpIT09YilyZXR1cm4gZztyZXR1cm4galtj XX1oPXR5cGVvZiBkLGg9PT0ic3RyaW5nIiYmKGc9YnYuZXhlYyhkKSkmJihkPSso Z1sxXSsxKSorZ1syXStwYXJzZUZsb2F0KGYuY3NzKGEsYykpLGg9Im51bWJlciIp O2lmKGQ9PW51bGx8fGg9PT0ibnVtYmVyIiYmaXNOYU4oZCkpcmV0dXJuO2g9PT0i bnVtYmVyIiYmIWYuY3NzTnVtYmVyW2ldJiYoZCs9InB4Iik7aWYoIWt8fCEoInNl dCJpbiBrKXx8KGQ9ay5zZXQoYSxkKSkhPT1iKXRyeXtqW2NdPWR9Y2F0Y2gobCl7 fX19LGNzczpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZztjPWYuY2FtZWxDYXNlKGMp LGc9Zi5jc3NIb29rc1tjXSxjPWYuY3NzUHJvcHNbY118fGMsYz09PSJjc3NGbG9h dCImJihjPSJmbG9hdCIpO2lmKGcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQoYSwhMCxk KSkhPT1iKXJldHVybiBlO2lmKGJ6KXJldHVybiBieihhLGMpfSxzd2FwOmZ1bmN0 aW9uKGEsYixjKXt2YXIgZD17fTtmb3IodmFyIGUgaW4gYilkW2VdPWEuc3R5bGVb ZV0sYS5zdHlsZVtlXT1iW2VdO2MuY2FsbChhKTtmb3IoZSBpbiBiKWEuc3R5bGVb ZV09ZFtlXX19KSxmLmN1ckNTUz1mLmNzcyxmLmVhY2goWyJoZWlnaHQiLCJ3aWR0 aCJdLGZ1bmN0aW9uKGEsYil7Zi5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEs YyxkKXt2YXIgZTtpZihjKXtpZihhLm9mZnNldFdpZHRoIT09MClyZXR1cm4gYkMo YSxiLGQpO2Yuc3dhcChhLGJ3LGZ1bmN0aW9uKCl7ZT1iQyhhLGIsZCl9KTtyZXR1 cm4gZX19LHNldDpmdW5jdGlvbihhLGIpe2lmKCFidC50ZXN0KGIpKXJldHVybiBi O2I9cGFyc2VGbG9hdChiKTtpZihiPj0wKXJldHVybiBiKyJweCJ9fX0pLGYuc3Vw cG9ydC5vcGFjaXR5fHwoZi5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24o YSxiKXtyZXR1cm4gYnIudGVzdCgoYiYmYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50 U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVn RXhwLiQxKS8xMDArIiI6Yj8iMSI6IiJ9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBj PWEuc3R5bGUsZD1hLmN1cnJlbnRTdHlsZSxlPWYuaXNOdW1lcmljKGIpPyJhbHBo YShvcGFjaXR5PSIrYioxMDArIikiOiIiLGc9ZCYmZC5maWx0ZXJ8fGMuZmlsdGVy fHwiIjtjLnpvb209MTtpZihiPj0xJiZmLnRyaW0oZy5yZXBsYWNlKGJxLCIiKSk9 PT0iIil7Yy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO2lmKGQmJiFkLmZpbHRl cilyZXR1cm59Yy5maWx0ZXI9YnEudGVzdChnKT9nLnJlcGxhY2UoYnEsZSk6Zysi ICIrZX19KSxmKGZ1bmN0aW9uKCl7Zi5zdXBwb3J0LnJlbGlhYmxlTWFyZ2luUmln aHR8fChmLmNzc0hvb2tzLm1hcmdpblJpZ2h0PXtnZXQ6ZnVuY3Rpb24oYSxiKXt2 YXIgYztmLnN3YXAoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sZnVuY3Rpb24o KXtiP2M9YnooYSwibWFyZ2luLXJpZ2h0IiwibWFyZ2luUmlnaHQiKTpjPWEuc3R5 bGUubWFyZ2luUmlnaHR9KTtyZXR1cm4gY319KX0pLGMuZGVmYXVsdFZpZXcmJmMu ZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKGJBPWZ1bmN0aW9uKGEsYil7 dmFyIGMsZCxlO2I9Yi5yZXBsYWNlKGJzLCItJDEiKS50b0xvd2VyQ2FzZSgpLChk PWEub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldykmJihlPWQuZ2V0Q29tcHV0ZWRT dHlsZShhLG51bGwpKSYmKGM9ZS5nZXRQcm9wZXJ0eVZhbHVlKGIpLGM9PT0iIiYm IWYuY29udGFpbnMoYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxhKSYm KGM9Zi5zdHlsZShhLGIpKSk7cmV0dXJuIGN9KSxjLmRvY3VtZW50RWxlbWVudC5j dXJyZW50U3R5bGUmJihiQj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPWEuY3Vy cmVudFN0eWxlJiZhLmN1cnJlbnRTdHlsZVtiXSxnPWEuc3R5bGU7Zj09PW51bGwm JmcmJihlPWdbYl0pJiYoZj1lKSwhYnQudGVzdChmKSYmYnUudGVzdChmKSYmKGM9 Zy5sZWZ0LGQ9YS5ydW50aW1lU3R5bGUmJmEucnVudGltZVN0eWxlLmxlZnQsZCYm KGEucnVudGltZVN0eWxlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksZy5sZWZ0 PWI9PT0iZm9udFNpemUiPyIxZW0iOmZ8fDAsZj1nLnBpeGVsTGVmdCsicHgiLGcu bGVmdD1jLGQmJihhLnJ1bnRpbWVTdHlsZS5sZWZ0PWQpKTtyZXR1cm4gZj09PSIi PyJhdXRvIjpmfSksYno9YkF8fGJCLGYuZXhwciYmZi5leHByLmZpbHRlcnMmJihm LmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRX aWR0aCxjPWEub2Zmc2V0SGVpZ2h0O3JldHVybiBiPT09MCYmYz09PTB8fCFmLnN1 cHBvcnQucmVsaWFibGVIaWRkZW5PZmZzZXRzJiYoYS5zdHlsZSYmYS5zdHlsZS5k aXNwbGF5fHxmLmNzcyhhLCJkaXNwbGF5IikpPT09Im5vbmUifSxmLmV4cHIuZmls dGVycy52aXNpYmxlPWZ1bmN0aW9uKGEpe3JldHVybiFmLmV4cHIuZmlsdGVycy5o aWRkZW4oYSl9KTt2YXIgYkQ9LyUyMC9nLGJFPS9cW1xdJC8sYkY9L1xyP1xuL2cs Ykc9LyMuKiQvLGJIPS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKVxyPyQvbWcsYkk9 L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGRhdGV0aW1lLWxvY2FsfGVtYWlsfGhp ZGRlbnxtb250aHxudW1iZXJ8cGFzc3dvcmR8cmFuZ2V8c2VhcmNofHRlbHx0ZXh0 fHRpbWV8dXJsfHdlZWspJC9pLGJKPS9eKD86YWJvdXR8YXBwfGFwcFwtc3RvcmFn ZXwuK1wtZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8sYks9L14oPzpHRVR8 SEVBRCkkLyxiTD0vXlwvXC8vLGJNPS9cPy8sYk49LzxzY3JpcHRcYltePF0qKD86 KD8hPFwvc2NyaXB0Pik8W148XSopKjxcL3NjcmlwdD4vZ2ksYk89L14oPzpzZWxl Y3R8dGV4dGFyZWEpL2ksYlA9L1xzKy8sYlE9LyhbPyZdKV89W14mXSovLGJSPS9e KFtcd1wrXC5cLV0rOikoPzpcL1wvKFteXC8/IzpdKikoPzo6KFxkKykpPyk/Lyxi Uz1mLmZuLmxvYWQsYlQ9e30sYlU9e30sYlYsYlcsYlg9WyIqLyJdK1siKiJdO3Ry eXtiVj1lLmhyZWZ9Y2F0Y2goYlkpe2JWPWMuY3JlYXRlRWxlbWVudCgiYSIpLGJW LmhyZWY9IiIsYlY9YlYuaHJlZn1iVz1iUi5leGVjKGJWLnRvTG93ZXJDYXNlKCkp fHxbXSxmLmZuLmV4dGVuZCh7bG9hZDpmdW5jdGlvbihhLGMsZCl7aWYodHlwZW9m IGEhPSJzdHJpbmciJiZiUylyZXR1cm4gYlMuYXBwbHkodGhpcyxhcmd1bWVudHMp O2lmKCF0aGlzLmxlbmd0aClyZXR1cm4gdGhpczt2YXIgZT1hLmluZGV4T2YoIiAi KTtpZihlPj0wKXt2YXIgZz1hLnNsaWNlKGUsYS5sZW5ndGgpO2E9YS5zbGljZSgw LGUpfXZhciBoPSJHRVQiO2MmJihmLmlzRnVuY3Rpb24oYyk/KGQ9YyxjPWIpOnR5 cGVvZiBjPT0ib2JqZWN0IiYmKGM9Zi5wYXJhbShjLGYuYWpheFNldHRpbmdzLnRy YWRpdGlvbmFsKSxoPSJQT1NUIikpO3ZhciBpPXRoaXM7Zi5hamF4KHt1cmw6YSx0 eXBlOmgsZGF0YVR5cGU6Imh0bWwiLGRhdGE6Yyxjb21wbGV0ZTpmdW5jdGlvbihh LGIsYyl7Yz1hLnJlc3BvbnNlVGV4dCxhLmlzUmVzb2x2ZWQoKSYmKGEuZG9uZShm dW5jdGlvbihhKXtjPWF9KSxpLmh0bWwoZz9mKCI8ZGl2PiIpLmFwcGVuZChjLnJl cGxhY2UoYk4sIiIpKS5maW5kKGcpOmMpKSxkJiZpLmVhY2goZCxbYyxiLGFdKX19 KTtyZXR1cm4gdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGYucGFy YW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVt ZW50cz9mLm1ha2VBcnJheSh0aGlzLmVsZW1lbnRzKTp0aGlzfSkuZmlsdGVyKGZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSYmIXRoaXMuZGlzYWJsZWQmJih0aGlz LmNoZWNrZWR8fGJPLnRlc3QodGhpcy5ub2RlTmFtZSl8fGJJLnRlc3QodGhpcy50 eXBlKSl9KS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1mKHRoaXMpLnZhbCgpO3Jl dHVybiBjPT1udWxsP251bGw6Zi5pc0FycmF5KGMpP2YubWFwKGMsZnVuY3Rpb24o YSxjKXtyZXR1cm57bmFtZTpiLm5hbWUsdmFsdWU6YS5yZXBsYWNlKGJGLCJcclxu Iil9fSk6e25hbWU6Yi5uYW1lLHZhbHVlOmMucmVwbGFjZShiRiwiXHJcbiIpfX0p LmdldCgpfX0pLGYuZWFjaCgiYWpheFN0YXJ0IGFqYXhTdG9wIGFqYXhDb21wbGV0 ZSBhamF4RXJyb3IgYWpheFN1Y2Nlc3MgYWpheFNlbmQiLnNwbGl0KCIgIiksZnVu Y3Rpb24oYSxiKXtmLmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9uKGIs YSl9fSksZi5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGEsYyl7ZltjXT1m dW5jdGlvbihhLGQsZSxnKXtmLmlzRnVuY3Rpb24oZCkmJihnPWd8fGUsZT1kLGQ9 Yik7cmV0dXJuIGYuYWpheCh7dHlwZTpjLHVybDphLGRhdGE6ZCxzdWNjZXNzOmUs ZGF0YVR5cGU6Z30pfX0pLGYuZXh0ZW5kKHtnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxj KXtyZXR1cm4gZi5nZXQoYSxiLGMsInNjcmlwdCIpfSxnZXRKU09OOmZ1bmN0aW9u KGEsYixjKXtyZXR1cm4gZi5nZXQoYSxiLGMsImpzb24iKX0sYWpheFNldHVwOmZ1 bmN0aW9uKGEsYil7Yj9iXyhhLGYuYWpheFNldHRpbmdzKTooYj1hLGE9Zi5hamF4 U2V0dGluZ3MpLGJfKGEsYik7cmV0dXJuIGF9LGFqYXhTZXR0aW5nczp7dXJsOmJW LGlzTG9jYWw6YkoudGVzdChiV1sxXSksZ2xvYmFsOiEwLHR5cGU6IkdFVCIsY29u dGVudFR5cGU6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIscHJv Y2Vzc0RhdGE6ITAsYXN5bmM6ITAsYWNjZXB0czp7eG1sOiJhcHBsaWNhdGlvbi94 bWwsIHRleHQveG1sIixodG1sOiJ0ZXh0L2h0bWwiLHRleHQ6InRleHQvcGxhaW4i LGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIsIioiOmJY fSxjb250ZW50czp7eG1sOi94bWwvLGh0bWw6L2h0bWwvLGpzb246L2pzb24vfSxy ZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VU ZXh0In0sY29udmVydGVyczp7IiogdGV4dCI6YS5TdHJpbmcsInRleHQgaHRtbCI6 ITAsInRleHQganNvbiI6Zi5wYXJzZUpTT04sInRleHQgeG1sIjpmLnBhcnNlWE1M fSxmbGF0T3B0aW9uczp7Y29udGV4dDohMCx1cmw6ITB9fSxhamF4UHJlZmlsdGVy OmJaKGJUKSxhamF4VHJhbnNwb3J0OmJaKGJVKSxhamF4OmZ1bmN0aW9uKGEsYyl7 ZnVuY3Rpb24gdyhhLGMsbCxtKXtpZihzIT09Mil7cz0yLHEmJmNsZWFyVGltZW91 dChxKSxwPWIsbj1tfHwiIix2LnJlYWR5U3RhdGU9YT4wPzQ6MDt2YXIgbyxyLHUs dz1jLHg9bD9jYihkLHYsbCk6Yix5LHo7aWYoYT49MjAwJiZhPDMwMHx8YT09PTMw NCl7aWYoZC5pZk1vZGlmaWVkKXtpZih5PXYuZ2V0UmVzcG9uc2VIZWFkZXIoIkxh c3QtTW9kaWZpZWQiKSlmLmxhc3RNb2RpZmllZFtrXT15O2lmKHo9di5nZXRSZXNw b25zZUhlYWRlcigiRXRhZyIpKWYuZXRhZ1trXT16fWlmKGE9PT0zMDQpdz0ibm90 bW9kaWZpZWQiLG89ITA7ZWxzZSB0cnl7cj1jYyhkLHgpLHc9InN1Y2Nlc3MiLG89 ITB9Y2F0Y2goQSl7dz0icGFyc2VyZXJyb3IiLHU9QX19ZWxzZXt1PXc7aWYoIXd8 fGEpdz0iZXJyb3IiLGE8MCYmKGE9MCl9di5zdGF0dXM9YSx2LnN0YXR1c1RleHQ9 IiIrKGN8fHcpLG8/aC5yZXNvbHZlV2l0aChlLFtyLHcsdl0pOmgucmVqZWN0V2l0 aChlLFt2LHcsdV0pLHYuc3RhdHVzQ29kZShqKSxqPWIsdCYmZy50cmlnZ2VyKCJh amF4Iisobz8iU3VjY2VzcyI6IkVycm9yIiksW3YsZCxvP3I6dV0pLGkuZmlyZVdp dGgoZSxbdix3XSksdCYmKGcudHJpZ2dlcigiYWpheENvbXBsZXRlIixbdixkXSks LS1mLmFjdGl2ZXx8Zi5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKX19dHlwZW9m IGE9PSJvYmplY3QiJiYoYz1hLGE9YiksYz1jfHx7fTt2YXIgZD1mLmFqYXhTZXR1 cCh7fSxjKSxlPWQuY29udGV4dHx8ZCxnPWUhPT1kJiYoZS5ub2RlVHlwZXx8ZSBp bnN0YW5jZW9mIGYpP2YoZSk6Zi5ldmVudCxoPWYuRGVmZXJyZWQoKSxpPWYuQ2Fs bGJhY2tzKCJvbmNlIG1lbW9yeSIpLGo9ZC5zdGF0dXNDb2RlfHx7fSxrLGw9e30s bT17fSxuLG8scCxxLHIscz0wLHQsdSx2PXtyZWFkeVN0YXRlOjAsc2V0UmVxdWVz dEhlYWRlcjpmdW5jdGlvbihhLGIpe2lmKCFzKXt2YXIgYz1hLnRvTG93ZXJDYXNl KCk7YT1tW2NdPW1bY118fGEsbFthXT1ifXJldHVybiB0aGlzfSxnZXRBbGxSZXNw b25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gcz09PTI/bjpudWxsfSxnZXRS ZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYztpZihzPT09Mil7aWYoIW8p e289e307d2hpbGUoYz1iSC5leGVjKG4pKW9bY1sxXS50b0xvd2VyQ2FzZSgpXT1j WzJdfWM9b1thLnRvTG93ZXJDYXNlKCldfXJldHVybiBjPT09Yj9udWxsOmN9LG92 ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24oYSl7c3x8KGQubWltZVR5cGU9YSk7cmV0 dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe2E9YXx8ImFib3J0IixwJiZwLmFi b3J0KGEpLHcoMCxhKTtyZXR1cm4gdGhpc319O2gucHJvbWlzZSh2KSx2LnN1Y2Nl c3M9di5kb25lLHYuZXJyb3I9di5mYWlsLHYuY29tcGxldGU9aS5hZGQsdi5zdGF0 dXNDb2RlPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiO2lmKHM8Milmb3IoYiBpbiBh KWpbYl09W2pbYl0sYVtiXV07ZWxzZSBiPWFbdi5zdGF0dXNdLHYudGhlbihiLGIp fXJldHVybiB0aGlzfSxkLnVybD0oKGF8fGQudXJsKSsiIikucmVwbGFjZShiRywi IikucmVwbGFjZShiTCxiV1sxXSsiLy8iKSxkLmRhdGFUeXBlcz1mLnRyaW0oZC5k YXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLnNwbGl0KGJQKSxkLmNyb3NzRG9t YWluPT1udWxsJiYocj1iUi5leGVjKGQudXJsLnRvTG93ZXJDYXNlKCkpLGQuY3Jv c3NEb21haW49ISghcnx8clsxXT09YldbMV0mJnJbMl09PWJXWzJdJiYoclszXXx8 KHJbMV09PT0iaHR0cDoiPzgwOjQ0MykpPT0oYldbM118fChiV1sxXT09PSJodHRw OiI/ODA6NDQzKSkpKSxkLmRhdGEmJmQucHJvY2Vzc0RhdGEmJnR5cGVvZiBkLmRh dGEhPSJzdHJpbmciJiYoZC5kYXRhPWYucGFyYW0oZC5kYXRhLGQudHJhZGl0aW9u YWwpKSxiJChiVCxkLGMsdik7aWYocz09PTIpcmV0dXJuITE7dD1kLmdsb2JhbCxk LnR5cGU9ZC50eXBlLnRvVXBwZXJDYXNlKCksZC5oYXNDb250ZW50PSFiSy50ZXN0 KGQudHlwZSksdCYmZi5hY3RpdmUrKz09PTAmJmYuZXZlbnQudHJpZ2dlcigiYWph eFN0YXJ0Iik7aWYoIWQuaGFzQ29udGVudCl7ZC5kYXRhJiYoZC51cmwrPShiTS50 ZXN0KGQudXJsKT8iJiI6Ij8iKStkLmRhdGEsZGVsZXRlIGQuZGF0YSksaz1kLnVy bDtpZihkLmNhY2hlPT09ITEpe3ZhciB4PWYubm93KCkseT1kLnVybC5yZXBsYWNl KGJRLCIkMV89Iit4KTtkLnVybD15Kyh5PT09ZC51cmw/KGJNLnRlc3QoZC51cmwp PyImIjoiPyIpKyJfPSIreDoiIil9fShkLmRhdGEmJmQuaGFzQ29udGVudCYmZC5j b250ZW50VHlwZSE9PSExfHxjLmNvbnRlbnRUeXBlKSYmdi5zZXRSZXF1ZXN0SGVh ZGVyKCJDb250ZW50LVR5cGUiLGQuY29udGVudFR5cGUpLGQuaWZNb2RpZmllZCYm KGs9a3x8ZC51cmwsZi5sYXN0TW9kaWZpZWRba10mJnYuc2V0UmVxdWVzdEhlYWRl cigiSWYtTW9kaWZpZWQtU2luY2UiLGYubGFzdE1vZGlmaWVkW2tdKSxmLmV0YWdb a10mJnYuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsZi5ldGFnW2td KSksdi5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLGQuZGF0YVR5cGVzWzBdJiZk LmFjY2VwdHNbZC5kYXRhVHlwZXNbMF1dP2QuYWNjZXB0c1tkLmRhdGFUeXBlc1sw XV0rKGQuZGF0YVR5cGVzWzBdIT09IioiPyIsICIrYlgrIjsgcT0wLjAxIjoiIik6 ZC5hY2NlcHRzWyIqIl0pO2Zvcih1IGluIGQuaGVhZGVycyl2LnNldFJlcXVlc3RI ZWFkZXIodSxkLmhlYWRlcnNbdV0pO2lmKGQuYmVmb3JlU2VuZCYmKGQuYmVmb3Jl U2VuZC5jYWxsKGUsdixkKT09PSExfHxzPT09Mikpe3YuYWJvcnQoKTtyZXR1cm4h MX1mb3IodSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl2W3VdKGRb dV0pO3A9YiQoYlUsZCxjLHYpO2lmKCFwKXcoLTEsIk5vIFRyYW5zcG9ydCIpO2Vs c2V7di5yZWFkeVN0YXRlPTEsdCYmZy50cmlnZ2VyKCJhamF4U2VuZCIsW3YsZF0p LGQuYXN5bmMmJmQudGltZW91dD4wJiYocT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7 di5hYm9ydCgidGltZW91dCIpfSxkLnRpbWVvdXQpKTt0cnl7cz0xLHAuc2VuZChs LHcpfWNhdGNoKHope2lmKHM8Mil3KC0xLHopO2Vsc2UgdGhyb3cgen19cmV0dXJu IHZ9LHBhcmFtOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9W10sZT1mdW5jdGlvbihhLGIp e2I9Zi5pc0Z1bmN0aW9uKGIpP2IoKTpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNv bXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtjPT09YiYmKGM9 Zi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpO2lmKGYuaXNBcnJheShhKXx8YS5q cXVlcnkmJiFmLmlzUGxhaW5PYmplY3QoYSkpZi5lYWNoKGEsZnVuY3Rpb24oKXtl KHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKHZhciBnIGluIGEpY2Eo ZyxhW2ddLGMsZSk7cmV0dXJuIGQuam9pbigiJiIpLnJlcGxhY2UoYkQsIisiKX19 KSxmLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e319KTt2 YXIgY2Q9Zi5ub3coKSxjZT0vKFw9KVw/KCZ8JCl8XD9cPy9pO2YuYWpheFNldHVw KHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1 cm4gZi5leHBhbmRvKyJfIitjZCsrfX0pLGYuYWpheFByZWZpbHRlcigianNvbiBq c29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlPWIuY29udGVudFR5cGU9PT0iYXBw bGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiYmdHlwZW9mIGIuZGF0YT09 InN0cmluZyI7aWYoYi5kYXRhVHlwZXNbMF09PT0ianNvbnAifHxiLmpzb25wIT09 ITEmJihjZS50ZXN0KGIudXJsKXx8ZSYmY2UudGVzdChiLmRhdGEpKSl7dmFyIGcs aD1iLmpzb25wQ2FsbGJhY2s9Zi5pc0Z1bmN0aW9uKGIuanNvbnBDYWxsYmFjayk/ Yi5qc29ucENhbGxiYWNrKCk6Yi5qc29ucENhbGxiYWNrLGk9YVtoXSxqPWIudXJs LGs9Yi5kYXRhLGw9IiQxIitoKyIkMiI7Yi5qc29ucCE9PSExJiYoaj1qLnJlcGxh Y2UoY2UsbCksYi51cmw9PT1qJiYoZSYmKGs9ay5yZXBsYWNlKGNlLGwpKSxiLmRh dGE9PT1rJiYoais9KC9cPy8udGVzdChqKT8iJiI6Ij8iKStiLmpzb25wKyI9Iito KSkpLGIudXJsPWosYi5kYXRhPWssYVtoXT1mdW5jdGlvbihhKXtnPVthXX0sZC5h bHdheXMoZnVuY3Rpb24oKXthW2hdPWksZyYmZi5pc0Z1bmN0aW9uKGkpJiZhW2hd KGdbMF0pfSksYi5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7 Z3x8Zi5lcnJvcihoKyIgd2FzIG5vdCBjYWxsZWQiKTtyZXR1cm4gZ1swXX0sYi5k YXRhVHlwZXNbMF09Impzb24iO3JldHVybiJzY3JpcHQifX0pLGYuYWpheFNldHVw KHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24v amF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24v eC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovamF2YXNjcmlwdHxlY21h c2NyaXB0L30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihhKXtm Lmdsb2JhbEV2YWwoYSk7cmV0dXJuIGF9fX0pLGYuYWpheFByZWZpbHRlcigic2Ny aXB0IixmdW5jdGlvbihhKXthLmNhY2hlPT09YiYmKGEuY2FjaGU9ITEpLGEuY3Jv c3NEb21haW4mJihhLnR5cGU9IkdFVCIsYS5nbG9iYWw9ITEpfSksZi5hamF4VHJh bnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKGEpe2lmKGEuY3Jvc3NEb21haW4pe3Zh ciBkLGU9Yy5oZWFkfHxjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF18 fGMuZG9jdW1lbnRFbGVtZW50O3JldHVybntzZW5kOmZ1bmN0aW9uKGYsZyl7ZD1j LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGQuYXN5bmM9ImFzeW5jIixhLnNjcmlw dENoYXJzZXQmJihkLmNoYXJzZXQ9YS5zY3JpcHRDaGFyc2V0KSxkLnNyYz1hLnVy bCxkLm9ubG9hZD1kLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbihhLGMpe2lm KGN8fCFkLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoZC5yZWFk eVN0YXRlKSlkLm9ubG9hZD1kLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGUmJmQu cGFyZW50Tm9kZSYmZS5yZW1vdmVDaGlsZChkKSxkPWIsY3x8ZygyMDAsInN1Y2Nl c3MiKX0sZS5pbnNlcnRCZWZvcmUoZCxlLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5j dGlvbigpe2QmJmQub25sb2FkKDAsMSl9fX19KTt2YXIgY2Y9YS5BY3RpdmVYT2Jq ZWN0P2Z1bmN0aW9uKCl7Zm9yKHZhciBhIGluIGNoKWNoW2FdKDAsMSl9OiExLGNn PTAsY2g7Zi5hamF4U2V0dGluZ3MueGhyPWEuQWN0aXZlWE9iamVjdD9mdW5jdGlv bigpe3JldHVybiF0aGlzLmlzTG9jYWwmJmNpKCl8fGNqKCl9OmNpLGZ1bmN0aW9u KGEpe2YuZXh0ZW5kKGYuc3VwcG9ydCx7YWpheDohIWEsY29yczohIWEmJiJ3aXRo Q3JlZGVudGlhbHMiaW4gYX0pfShmLmFqYXhTZXR0aW5ncy54aHIoKSksZi5zdXBw b3J0LmFqYXgmJmYuYWpheFRyYW5zcG9ydChmdW5jdGlvbihjKXtpZighYy5jcm9z c0RvbWFpbnx8Zi5zdXBwb3J0LmNvcnMpe3ZhciBkO3JldHVybntzZW5kOmZ1bmN0 aW9uKGUsZyl7dmFyIGg9Yy54aHIoKSxpLGo7Yy51c2VybmFtZT9oLm9wZW4oYy50 eXBlLGMudXJsLGMuYXN5bmMsYy51c2VybmFtZSxjLnBhc3N3b3JkKTpoLm9wZW4o Yy50eXBlLGMudXJsLGMuYXN5bmMpO2lmKGMueGhyRmllbGRzKWZvcihqIGluIGMu eGhyRmllbGRzKWhbal09Yy54aHJGaWVsZHNbal07Yy5taW1lVHlwZSYmaC5vdmVy cmlkZU1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUoYy5taW1lVHlwZSksIWMu Y3Jvc3NEb21haW4mJiFlWyJYLVJlcXVlc3RlZC1XaXRoIl0mJihlWyJYLVJlcXVl c3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7dHJ5e2ZvcihqIGluIGUpaC5z ZXRSZXF1ZXN0SGVhZGVyKGosZVtqXSl9Y2F0Y2goayl7fWguc2VuZChjLmhhc0Nv bnRlbnQmJmMuZGF0YXx8bnVsbCksZD1mdW5jdGlvbihhLGUpe3ZhciBqLGssbCxt LG47dHJ5e2lmKGQmJihlfHxoLnJlYWR5U3RhdGU9PT00KSl7ZD1iLGkmJihoLm9u cmVhZHlzdGF0ZWNoYW5nZT1mLm5vb3AsY2YmJmRlbGV0ZSBjaFtpXSk7aWYoZSlo LnJlYWR5U3RhdGUhPT00JiZoLmFib3J0KCk7ZWxzZXtqPWguc3RhdHVzLGw9aC5n ZXRBbGxSZXNwb25zZUhlYWRlcnMoKSxtPXt9LG49aC5yZXNwb25zZVhNTCxuJiZu LmRvY3VtZW50RWxlbWVudCYmKG0ueG1sPW4pLG0udGV4dD1oLnJlc3BvbnNlVGV4 dDt0cnl7az1oLnN0YXR1c1RleHR9Y2F0Y2gobyl7az0iIn0haiYmYy5pc0xvY2Fs JiYhYy5jcm9zc0RvbWFpbj9qPW0udGV4dD8yMDA6NDA0Omo9PT0xMjIzJiYoaj0y MDQpfX19Y2F0Y2gocCl7ZXx8ZygtMSxwKX1tJiZnKGosayxtLGwpfSwhYy5hc3lu Y3x8aC5yZWFkeVN0YXRlPT09ND9kKCk6KGk9KytjZyxjZiYmKGNofHwoY2g9e30s ZihhKS51bmxvYWQoY2YpKSxjaFtpXT1kKSxoLm9ucmVhZHlzdGF0ZWNoYW5nZT1k KX0sYWJvcnQ6ZnVuY3Rpb24oKXtkJiZkKDAsMSl9fX19KTt2YXIgY2s9e30sY2ws Y20sY249L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLGNvPS9eKFsrXC1dPSk/KFtc ZCsuXC1dKykoW2EteiVdKikkL2ksY3AsY3E9W1siaGVpZ2h0IiwibWFyZ2luVG9w IiwibWFyZ2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxb IndpZHRoIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwicGFkZGluZ0xlZnQi LCJwYWRkaW5nUmlnaHQiXSxbIm9wYWNpdHkiXV0sY3I7Zi5mbi5leHRlbmQoe3No b3c6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7aWYoYXx8YT09PTApcmV0dXJuIHRo aXMuYW5pbWF0ZShjdSgic2hvdyIsMyksYSxiLGMpO2Zvcih2YXIgZz0wLGg9dGhp cy5sZW5ndGg7ZzxoO2crKylkPXRoaXNbZ10sZC5zdHlsZSYmKGU9ZC5zdHlsZS5k aXNwbGF5LCFmLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSYmZT09PSJub25lIiYmKGU9 ZC5zdHlsZS5kaXNwbGF5PSIiKSxlPT09IiImJmYuY3NzKGQsImRpc3BsYXkiKT09 PSJub25lIiYmZi5fZGF0YShkLCJvbGRkaXNwbGF5IixjdihkLm5vZGVOYW1lKSkp O2ZvcihnPTA7ZzxoO2crKyl7ZD10aGlzW2ddO2lmKGQuc3R5bGUpe2U9ZC5zdHls ZS5kaXNwbGF5O2lmKGU9PT0iInx8ZT09PSJub25lIilkLnN0eWxlLmRpc3BsYXk9 Zi5fZGF0YShkLCJvbGRkaXNwbGF5Iil8fCIifX1yZXR1cm4gdGhpc30saGlkZTpm dW5jdGlvbihhLGIsYyl7aWYoYXx8YT09PTApcmV0dXJuIHRoaXMuYW5pbWF0ZShj dSgiaGlkZSIsMyksYSxiLGMpO3ZhciBkLGUsZz0wLGg9dGhpcy5sZW5ndGg7Zm9y KDtnPGg7ZysrKWQ9dGhpc1tnXSxkLnN0eWxlJiYoZT1mLmNzcyhkLCJkaXNwbGF5 IiksZSE9PSJub25lIiYmIWYuX2RhdGEoZCwib2xkZGlzcGxheSIpJiZmLl9kYXRh KGQsIm9sZGRpc3BsYXkiLGUpKTtmb3IoZz0wO2c8aDtnKyspdGhpc1tnXS5zdHls ZSYmKHRoaXNbZ10uc3R5bGUuZGlzcGxheT0ibm9uZSIpO3JldHVybiB0aGlzfSxf dG9nZ2xlOmYuZm4udG9nZ2xlLHRvZ2dsZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9 dHlwZW9mIGE9PSJib29sZWFuIjtmLmlzRnVuY3Rpb24oYSkmJmYuaXNGdW5jdGlv bihiKT90aGlzLl90b2dnbGUuYXBwbHkodGhpcyxhcmd1bWVudHMpOmE9PW51bGx8 fGQ/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ZD9hOmYodGhpcykuaXMoIjpo aWRkZW4iKTtmKHRoaXMpW2I/InNob3ciOiJoaWRlIl0oKX0pOnRoaXMuYW5pbWF0 ZShjdSgidG9nZ2xlIiwzKSxhLGIsYyk7cmV0dXJuIHRoaXN9LGZhZGVUbzpmdW5j dGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5maWx0ZXIoIjpoaWRkZW4iKS5jc3Mo Im9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEs YyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBnKCl7ZS5x dWV1ZT09PSExJiZmLl9tYXJrKHRoaXMpO3ZhciBiPWYuZXh0ZW5kKHt9LGUpLGM9 dGhpcy5ub2RlVHlwZT09PTEsZD1jJiZmKHRoaXMpLmlzKCI6aGlkZGVuIiksZyxo LGksaixrLGwsbSxuLG87Yi5hbmltYXRlZFByb3BlcnRpZXM9e307Zm9yKGkgaW4g YSl7Zz1mLmNhbWVsQ2FzZShpKSxpIT09ZyYmKGFbZ109YVtpXSxkZWxldGUgYVtp XSksaD1hW2ddLGYuaXNBcnJheShoKT8oYi5hbmltYXRlZFByb3BlcnRpZXNbZ109 aFsxXSxoPWFbZ109aFswXSk6Yi5hbmltYXRlZFByb3BlcnRpZXNbZ109Yi5zcGVj aWFsRWFzaW5nJiZiLnNwZWNpYWxFYXNpbmdbZ118fGIuZWFzaW5nfHwic3dpbmci O2lmKGg9PT0iaGlkZSImJmR8fGg9PT0ic2hvdyImJiFkKXJldHVybiBiLmNvbXBs ZXRlLmNhbGwodGhpcyk7YyYmKGc9PT0iaGVpZ2h0Inx8Zz09PSJ3aWR0aCIpJiYo Yi5vdmVyZmxvdz1bdGhpcy5zdHlsZS5vdmVyZmxvdyx0aGlzLnN0eWxlLm92ZXJm bG93WCx0aGlzLnN0eWxlLm92ZXJmbG93WV0sZi5jc3ModGhpcywiZGlzcGxheSIp PT09ImlubGluZSImJmYuY3NzKHRoaXMsImZsb2F0Iik9PT0ibm9uZSImJighZi5z dXBwb3J0LmlubGluZUJsb2NrTmVlZHNMYXlvdXR8fGN2KHRoaXMubm9kZU5hbWUp PT09ImlubGluZSI/dGhpcy5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siOnRo aXMuc3R5bGUuem9vbT0xKSl9Yi5vdmVyZmxvdyE9bnVsbCYmKHRoaXMuc3R5bGUu b3ZlcmZsb3c9ImhpZGRlbiIpO2ZvcihpIGluIGEpaj1uZXcgZi5meCh0aGlzLGIs aSksaD1hW2ldLGNuLnRlc3QoaCk/KG89Zi5fZGF0YSh0aGlzLCJ0b2dnbGUiK2kp fHwoaD09PSJ0b2dnbGUiP2Q/InNob3ciOiJoaWRlIjowKSxvPyhmLl9kYXRhKHRo aXMsInRvZ2dsZSIraSxvPT09InNob3ciPyJoaWRlIjoic2hvdyIpLGpbb10oKSk6 altoXSgpKTooaz1jby5leGVjKGgpLGw9ai5jdXIoKSxrPyhtPXBhcnNlRmxvYXQo a1syXSksbj1rWzNdfHwoZi5jc3NOdW1iZXJbaV0/IiI6InB4IiksbiE9PSJweCIm JihmLnN0eWxlKHRoaXMsaSwobXx8MSkrbiksbD0obXx8MSkvai5jdXIoKSpsLGYu c3R5bGUodGhpcyxpLGwrbikpLGtbMV0mJihtPShrWzFdPT09Ii09Ij8tMToxKSpt K2wpLGouY3VzdG9tKGwsbSxuKSk6ai5jdXN0b20obCxoLCIiKSk7cmV0dXJuITB9 dmFyIGU9Zi5zcGVlZChiLGMsZCk7aWYoZi5pc0VtcHR5T2JqZWN0KGEpKXJldHVy biB0aGlzLmVhY2goZS5jb21wbGV0ZSxbITFdKTthPWYuZXh0ZW5kKHt9LGEpO3Jl dHVybiBlLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZS5xdWV1 ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGMsZCl7dHlwZW9mIGEhPSJzdHJpbmciJiYo ZD1jLGM9YSxhPWIpLGMmJmEhPT0hMSYmdGhpcy5xdWV1ZShhfHwiZngiLFtdKTty ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnVuY3Rpb24gaChhLGIsYyl7dmFy IGU9YltjXTtmLnJlbW92ZURhdGEoYSxjLCEwKSxlLnN0b3AoZCl9dmFyIGIsYz0h MSxlPWYudGltZXJzLGc9Zi5fZGF0YSh0aGlzKTtkfHxmLl91bm1hcmsoITAsdGhp cyk7aWYoYT09bnVsbClmb3IoYiBpbiBnKWdbYl0mJmdbYl0uc3RvcCYmYi5pbmRl eE9mKCIucnVuIik9PT1iLmxlbmd0aC00JiZoKHRoaXMsZyxiKTtlbHNlIGdbYj1h KyIucnVuIl0mJmdbYl0uc3RvcCYmaCh0aGlzLGcsYik7Zm9yKGI9ZS5sZW5ndGg7 Yi0tOyllW2JdLmVsZW09PT10aGlzJiYoYT09bnVsbHx8ZVtiXS5xdWV1ZT09PWEp JiYoZD9lW2JdKCEwKTplW2JdLnNhdmVTdGF0ZSgpLGM9ITAsZS5zcGxpY2UoYiwx KSk7KCFkfHwhYykmJmYuZGVxdWV1ZSh0aGlzLGEpfSl9fSksZi5lYWNoKHtzbGlk ZURvd246Y3UoInNob3ciLDEpLHNsaWRlVXA6Y3UoImhpZGUiLDEpLHNsaWRlVG9n Z2xlOmN1KCJ0b2dnbGUiLDEpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVP dXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUi fX0sZnVuY3Rpb24oYSxiKXtmLmZuW2FdPWZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4g dGhpcy5hbmltYXRlKGIsYSxjLGQpfX0pLGYuZXh0ZW5kKHtzcGVlZDpmdW5jdGlv bihhLGIsYyl7dmFyIGQ9YSYmdHlwZW9mIGE9PSJvYmplY3QiP2YuZXh0ZW5kKHt9 LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8Zi5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0 aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFmLmlzRnVuY3Rpb24oYikmJmJ9O2QuZHVy YXRpb249Zi5meC5vZmY/MDp0eXBlb2YgZC5kdXJhdGlvbj09Im51bWJlciI/ZC5k dXJhdGlvbjpkLmR1cmF0aW9uIGluIGYuZnguc3BlZWRzP2YuZnguc3BlZWRzW2Qu ZHVyYXRpb25dOmYuZnguc3BlZWRzLl9kZWZhdWx0O2lmKGQucXVldWU9PW51bGx8 fGQucXVldWU9PT0hMClkLnF1ZXVlPSJmeCI7ZC5vbGQ9ZC5jb21wbGV0ZSxkLmNv bXBsZXRlPWZ1bmN0aW9uKGEpe2YuaXNGdW5jdGlvbihkLm9sZCkmJmQub2xkLmNh bGwodGhpcyksZC5xdWV1ZT9mLmRlcXVldWUodGhpcyxkLnF1ZXVlKTphIT09ITEm JmYuX3VubWFyayh0aGlzKX07cmV0dXJuIGR9LGVhc2luZzp7bGluZWFyOmZ1bmN0 aW9uKGEsYixjLGQpe3JldHVybiBjK2QqYX0sc3dpbmc6ZnVuY3Rpb24oYSxiLGMs ZCl7cmV0dXJuKC1NYXRoLmNvcyhhKk1hdGguUEkpLzIrLjUpKmQrY319LHRpbWVy czpbXSxmeDpmdW5jdGlvbihhLGIsYyl7dGhpcy5vcHRpb25zPWIsdGhpcy5lbGVt PWEsdGhpcy5wcm9wPWMsYi5vcmlnPWIub3JpZ3x8e319fSksZi5meC5wcm90b3R5 cGU9e3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9w dGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSwoZi5meC5z dGVwW3RoaXMucHJvcF18fGYuZnguc3RlcC5fZGVmYXVsdCkodGhpcyl9LGN1cjpm dW5jdGlvbigpe2lmKHRoaXMuZWxlbVt0aGlzLnByb3BdIT1udWxsJiYoIXRoaXMu ZWxlbS5zdHlsZXx8dGhpcy5lbGVtLnN0eWxlW3RoaXMucHJvcF09PW51bGwpKXJl dHVybiB0aGlzLmVsZW1bdGhpcy5wcm9wXTt2YXIgYSxiPWYuY3NzKHRoaXMuZWxl bSx0aGlzLnByb3ApO3JldHVybiBpc05hTihhPXBhcnNlRmxvYXQoYikpPyFifHxi PT09ImF1dG8iPzA6YjphfSxjdXN0b206ZnVuY3Rpb24oYSxjLGQpe2Z1bmN0aW9u IGgoYSl7cmV0dXJuIGUuc3RlcChhKX12YXIgZT10aGlzLGc9Zi5meDt0aGlzLnN0 YXJ0VGltZT1jcnx8Y3MoKSx0aGlzLmVuZD1jLHRoaXMubm93PXRoaXMuc3RhcnQ9 YSx0aGlzLnBvcz10aGlzLnN0YXRlPTAsdGhpcy51bml0PWR8fHRoaXMudW5pdHx8 KGYuY3NzTnVtYmVyW3RoaXMucHJvcF0/IiI6InB4IiksaC5xdWV1ZT10aGlzLm9w dGlvbnMucXVldWUsaC5lbGVtPXRoaXMuZWxlbSxoLnNhdmVTdGF0ZT1mdW5jdGlv bigpe2Uub3B0aW9ucy5oaWRlJiZmLl9kYXRhKGUuZWxlbSwiZnhzaG93IitlLnBy b3ApPT09YiYmZi5fZGF0YShlLmVsZW0sImZ4c2hvdyIrZS5wcm9wLGUuc3RhcnQp fSxoKCkmJmYudGltZXJzLnB1c2goaCkmJiFjcCYmKGNwPXNldEludGVydmFsKGcu dGljayxnLmludGVydmFsKSl9LHNob3c6ZnVuY3Rpb24oKXt2YXIgYT1mLl9kYXRh KHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApO3RoaXMub3B0aW9ucy5vcmln W3RoaXMucHJvcF09YXx8Zi5zdHlsZSh0aGlzLmVsZW0sdGhpcy5wcm9wKSx0aGlz Lm9wdGlvbnMuc2hvdz0hMCxhIT09Yj90aGlzLmN1c3RvbSh0aGlzLmN1cigpLGEp OnRoaXMuY3VzdG9tKHRoaXMucHJvcD09PSJ3aWR0aCJ8fHRoaXMucHJvcD09PSJo ZWlnaHQiPzE6MCx0aGlzLmN1cigpKSxmKHRoaXMuZWxlbSkuc2hvdygpfSxoaWRl OmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLm9yaWdbdGhpcy5wcm9wXT1mLl9kYXRh KHRoaXMuZWxlbSwiZnhzaG93Iit0aGlzLnByb3ApfHxmLnN0eWxlKHRoaXMuZWxl bSx0aGlzLnByb3ApLHRoaXMub3B0aW9ucy5oaWRlPSEwLHRoaXMuY3VzdG9tKHRo aXMuY3VyKCksMCl9LHN0ZXA6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9Y3J8fGNz KCksZz0hMCxoPXRoaXMuZWxlbSxpPXRoaXMub3B0aW9ucztpZihhfHxlPj1pLmR1 cmF0aW9uK3RoaXMuc3RhcnRUaW1lKXt0aGlzLm5vdz10aGlzLmVuZCx0aGlzLnBv cz10aGlzLnN0YXRlPTEsdGhpcy51cGRhdGUoKSxpLmFuaW1hdGVkUHJvcGVydGll c1t0aGlzLnByb3BdPSEwO2ZvcihiIGluIGkuYW5pbWF0ZWRQcm9wZXJ0aWVzKWku YW5pbWF0ZWRQcm9wZXJ0aWVzW2JdIT09ITAmJihnPSExKTtpZihnKXtpLm92ZXJm bG93IT1udWxsJiYhZi5zdXBwb3J0LnNocmlua1dyYXBCbG9ja3MmJmYuZWFjaChb IiIsIlgiLCJZIl0sZnVuY3Rpb24oYSxiKXtoLnN0eWxlWyJvdmVyZmxvdyIrYl09 aS5vdmVyZmxvd1thXX0pLGkuaGlkZSYmZihoKS5oaWRlKCk7aWYoaS5oaWRlfHxp LnNob3cpZm9yKGIgaW4gaS5hbmltYXRlZFByb3BlcnRpZXMpZi5zdHlsZShoLGIs aS5vcmlnW2JdKSxmLnJlbW92ZURhdGEoaCwiZnhzaG93IitiLCEwKSxmLnJlbW92 ZURhdGEoaCwidG9nZ2xlIitiLCEwKTtkPWkuY29tcGxldGUsZCYmKGkuY29tcGxl dGU9ITEsZC5jYWxsKGgpKX1yZXR1cm4hMX1pLmR1cmF0aW9uPT1JbmZpbml0eT90 aGlzLm5vdz1lOihjPWUtdGhpcy5zdGFydFRpbWUsdGhpcy5zdGF0ZT1jL2kuZHVy YXRpb24sdGhpcy5wb3M9Zi5lYXNpbmdbaS5hbmltYXRlZFByb3BlcnRpZXNbdGhp cy5wcm9wXV0odGhpcy5zdGF0ZSxjLDAsMSxpLmR1cmF0aW9uKSx0aGlzLm5vdz10 aGlzLnN0YXJ0Kyh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0aGlzLnBvcyksdGhpcy51 cGRhdGUoKTtyZXR1cm4hMH19LGYuZXh0ZW5kKGYuZngse3RpY2s6ZnVuY3Rpb24o KXt2YXIgYSxiPWYudGltZXJzLGM9MDtmb3IoO2M8Yi5sZW5ndGg7YysrKWE9Yltj XSwhYSgpJiZiW2NdPT09YSYmYi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxmLmZ4 LnN0b3AoKX0saW50ZXJ2YWw6MTMsc3RvcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2 YWwoY3ApLGNwPW51bGx9LHNwZWVkczp7c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1 bHQ6NDAwfSxzdGVwOntvcGFjaXR5OmZ1bmN0aW9uKGEpe2Yuc3R5bGUoYS5lbGVt LCJvcGFjaXR5IixhLm5vdyl9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe2EuZWxlbS5z dHlsZSYmYS5lbGVtLnN0eWxlW2EucHJvcF0hPW51bGw/YS5lbGVtLnN0eWxlW2Eu cHJvcF09YS5ub3crYS51bml0OmEuZWxlbVthLnByb3BdPWEubm93fX19KSxmLmVh Y2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEsYil7Zi5meC5zdGVwW2Jd PWZ1bmN0aW9uKGEpe2Yuc3R5bGUoYS5lbGVtLGIsTWF0aC5tYXgoMCxhLm5vdykr YS51bml0KX19KSxmLmV4cHImJmYuZXhwci5maWx0ZXJzJiYoZi5leHByLmZpbHRl cnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGYuZ3JlcChmLnRpbWVycyxm dW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH0pO3ZhciBjdz0v XnQoPzphYmxlfGR8aCkkL2ksY3g9L14oPzpib2R5fGh0bWwpJC9pOyJnZXRCb3Vu ZGluZ0NsaWVudFJlY3QiaW4gYy5kb2N1bWVudEVsZW1lbnQ/Zi5mbi5vZmZzZXQ9 ZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXSxjO2lmKGEpcmV0dXJuIHRoaXMuZWFj aChmdW5jdGlvbihiKXtmLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYo IWJ8fCFiLm93bmVyRG9jdW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJE b2N1bWVudC5ib2R5KXJldHVybiBmLm9mZnNldC5ib2R5T2Zmc2V0KGIpO3RyeXtj PWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goZCl7fXZhciBlPWIub3du ZXJEb2N1bWVudCxnPWUuZG9jdW1lbnRFbGVtZW50O2lmKCFjfHwhZi5jb250YWlu cyhnLGIpKXJldHVybiBjP3t0b3A6Yy50b3AsbGVmdDpjLmxlZnR9Ont0b3A6MCxs ZWZ0OjB9O3ZhciBoPWUuYm9keSxpPWN5KGUpLGo9Zy5jbGllbnRUb3B8fGguY2xp ZW50VG9wfHwwLGs9Zy5jbGllbnRMZWZ0fHxoLmNsaWVudExlZnR8fDAsbD1pLnBh Z2VZT2Zmc2V0fHxmLnN1cHBvcnQuYm94TW9kZWwmJmcuc2Nyb2xsVG9wfHxoLnNj cm9sbFRvcCxtPWkucGFnZVhPZmZzZXR8fGYuc3VwcG9ydC5ib3hNb2RlbCYmZy5z Y3JvbGxMZWZ0fHxoLnNjcm9sbExlZnQsbj1jLnRvcCtsLWosbz1jLmxlZnQrbS1r O3JldHVybnt0b3A6bixsZWZ0Om99fTpmLmZuLm9mZnNldD1mdW5jdGlvbihhKXt2 YXIgYj10aGlzWzBdO2lmKGEpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtm Lm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7aWYoIWJ8fCFiLm93bmVyRG9j dW1lbnQpcmV0dXJuIG51bGw7aWYoYj09PWIub3duZXJEb2N1bWVudC5ib2R5KXJl dHVybiBmLm9mZnNldC5ib2R5T2Zmc2V0KGIpO3ZhciBjLGQ9Yi5vZmZzZXRQYXJl bnQsZT1iLGc9Yi5vd25lckRvY3VtZW50LGg9Zy5kb2N1bWVudEVsZW1lbnQsaT1n LmJvZHksaj1nLmRlZmF1bHRWaWV3LGs9aj9qLmdldENvbXB1dGVkU3R5bGUoYixu dWxsKTpiLmN1cnJlbnRTdHlsZSxsPWIub2Zmc2V0VG9wLG09Yi5vZmZzZXRMZWZ0 O3doaWxlKChiPWIucGFyZW50Tm9kZSkmJmIhPT1pJiZiIT09aCl7aWYoZi5zdXBw b3J0LmZpeGVkUG9zaXRpb24mJmsucG9zaXRpb249PT0iZml4ZWQiKWJyZWFrO2M9 aj9qLmdldENvbXB1dGVkU3R5bGUoYixudWxsKTpiLmN1cnJlbnRTdHlsZSxsLT1i LnNjcm9sbFRvcCxtLT1iLnNjcm9sbExlZnQsYj09PWQmJihsKz1iLm9mZnNldFRv cCxtKz1iLm9mZnNldExlZnQsZi5zdXBwb3J0LmRvZXNOb3RBZGRCb3JkZXImJigh Zi5zdXBwb3J0LmRvZXNBZGRCb3JkZXJGb3JUYWJsZUFuZENlbGxzfHwhY3cudGVz dChiLm5vZGVOYW1lKSkmJihsKz1wYXJzZUZsb2F0KGMuYm9yZGVyVG9wV2lkdGgp fHwwLG0rPXBhcnNlRmxvYXQoYy5ib3JkZXJMZWZ0V2lkdGgpfHwwKSxlPWQsZD1i Lm9mZnNldFBhcmVudCksZi5zdXBwb3J0LnN1YnRyYWN0c0JvcmRlckZvck92ZXJm bG93Tm90VmlzaWJsZSYmYy5vdmVyZmxvdyE9PSJ2aXNpYmxlIiYmKGwrPXBhcnNl RmxvYXQoYy5ib3JkZXJUb3BXaWR0aCl8fDAsbSs9cGFyc2VGbG9hdChjLmJvcmRl ckxlZnRXaWR0aCl8fDApLGs9Y31pZihrLnBvc2l0aW9uPT09InJlbGF0aXZlInx8 ay5wb3NpdGlvbj09PSJzdGF0aWMiKWwrPWkub2Zmc2V0VG9wLG0rPWkub2Zmc2V0 TGVmdDtmLnN1cHBvcnQuZml4ZWRQb3NpdGlvbiYmay5wb3NpdGlvbj09PSJmaXhl ZCImJihsKz1NYXRoLm1heChoLnNjcm9sbFRvcCxpLnNjcm9sbFRvcCksbSs9TWF0 aC5tYXgoaC5zY3JvbGxMZWZ0LGkuc2Nyb2xsTGVmdCkpO3JldHVybnt0b3A6bCxs ZWZ0Om19fSxmLm9mZnNldD17Ym9keU9mZnNldDpmdW5jdGlvbihhKXt2YXIgYj1h Lm9mZnNldFRvcCxjPWEub2Zmc2V0TGVmdDtmLnN1cHBvcnQuZG9lc05vdEluY2x1 ZGVNYXJnaW5JbkJvZHlPZmZzZXQmJihiKz1wYXJzZUZsb2F0KGYuY3NzKGEsIm1h cmdpblRvcCIpKXx8MCxjKz1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdpbkxlZnQi KSl8fDApO3JldHVybnt0b3A6YixsZWZ0OmN9fSxzZXRPZmZzZXQ6ZnVuY3Rpb24o YSxiLGMpe3ZhciBkPWYuY3NzKGEsInBvc2l0aW9uIik7ZD09PSJzdGF0aWMiJiYo YS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKTt2YXIgZT1mKGEpLGc9ZS5vZmZz ZXQoKSxoPWYuY3NzKGEsInRvcCIpLGk9Zi5jc3MoYSwibGVmdCIpLGo9KGQ9PT0i YWJzb2x1dGUifHxkPT09ImZpeGVkIikmJmYuaW5BcnJheSgiYXV0byIsW2gsaV0p Pi0xLGs9e30sbD17fSxtLG47aj8obD1lLnBvc2l0aW9uKCksbT1sLnRvcCxuPWwu bGVmdCk6KG09cGFyc2VGbG9hdChoKXx8MCxuPXBhcnNlRmxvYXQoaSl8fDApLGYu aXNGdW5jdGlvbihiKSYmKGI9Yi5jYWxsKGEsYyxnKSksYi50b3AhPW51bGwmJihr LnRvcD1iLnRvcC1nLnRvcCttKSxiLmxlZnQhPW51bGwmJihrLmxlZnQ9Yi5sZWZ0 LWcubGVmdCtuKSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxrKTplLmNzcyhr KX19LGYuZm4uZXh0ZW5kKHtwb3NpdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzWzBd KXJldHVybiBudWxsO3ZhciBhPXRoaXNbMF0sYj10aGlzLm9mZnNldFBhcmVudCgp LGM9dGhpcy5vZmZzZXQoKSxkPWN4LnRlc3QoYlswXS5ub2RlTmFtZSk/e3RvcDow LGxlZnQ6MH06Yi5vZmZzZXQoKTtjLnRvcC09cGFyc2VGbG9hdChmLmNzcyhhLCJt YXJnaW5Ub3AiKSl8fDAsYy5sZWZ0LT1wYXJzZUZsb2F0KGYuY3NzKGEsIm1hcmdp bkxlZnQiKSl8fDAsZC50b3ArPXBhcnNlRmxvYXQoZi5jc3MoYlswXSwiYm9yZGVy VG9wV2lkdGgiKSl8fDAsZC5sZWZ0Kz1wYXJzZUZsb2F0KGYuY3NzKGJbMF0sImJv cmRlckxlZnRXaWR0aCIpKXx8MDtyZXR1cm57dG9wOmMudG9wLWQudG9wLGxlZnQ6 Yy5sZWZ0LWQubGVmdH19LG9mZnNldFBhcmVudDpmdW5jdGlvbigpe3JldHVybiB0 aGlzLm1hcChmdW5jdGlvbigpe3ZhciBhPXRoaXMub2Zmc2V0UGFyZW50fHxjLmJv ZHk7d2hpbGUoYSYmIWN4LnRlc3QoYS5ub2RlTmFtZSkmJmYuY3NzKGEsInBvc2l0 aW9uIik9PT0ic3RhdGljIilhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfSl9fSks Zi5lYWNoKFsiTGVmdCIsIlRvcCJdLGZ1bmN0aW9uKGEsYyl7dmFyIGQ9InNjcm9s bCIrYztmLmZuW2RdPWZ1bmN0aW9uKGMpe3ZhciBlLGc7aWYoYz09PWIpe2U9dGhp c1swXTtpZighZSlyZXR1cm4gbnVsbDtnPWN5KGUpO3JldHVybiBnPyJwYWdlWE9m ZnNldCJpbiBnP2dbYT8icGFnZVlPZmZzZXQiOiJwYWdlWE9mZnNldCJdOmYuc3Vw cG9ydC5ib3hNb2RlbCYmZy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbZF18fGcu ZG9jdW1lbnQuYm9keVtkXTplW2RdfXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24o KXtnPWN5KHRoaXMpLGc/Zy5zY3JvbGxUbyhhP2YoZykuc2Nyb2xsTGVmdCgpOmMs YT9jOmYoZykuc2Nyb2xsVG9wKCkpOnRoaXNbZF09Y30pfX0pLGYuZWFjaChbIkhl aWdodCIsIldpZHRoIl0sZnVuY3Rpb24oYSxjKXt2YXIgZD1jLnRvTG93ZXJDYXNl KCk7Zi5mblsiaW5uZXIiK2NdPWZ1bmN0aW9uKCl7dmFyIGE9dGhpc1swXTtyZXR1 cm4gYT9hLnN0eWxlP3BhcnNlRmxvYXQoZi5jc3MoYSxkLCJwYWRkaW5nIikpOnRo aXNbZF0oKTpudWxsfSxmLmZuWyJvdXRlciIrY109ZnVuY3Rpb24oYSl7dmFyIGI9 dGhpc1swXTtyZXR1cm4gYj9iLnN0eWxlP3BhcnNlRmxvYXQoZi5jc3MoYixkLGE/ Im1hcmdpbiI6ImJvcmRlciIpKTp0aGlzW2RdKCk6bnVsbH0sZi5mbltkXT1mdW5j dGlvbihhKXt2YXIgZT10aGlzWzBdO2lmKCFlKXJldHVybiBhPT1udWxsP251bGw6 dGhpcztpZihmLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlv bihiKXt2YXIgYz1mKHRoaXMpO2NbZF0oYS5jYWxsKHRoaXMsYixjW2RdKCkpKX0p O2lmKGYuaXNXaW5kb3coZSkpe3ZhciBnPWUuZG9jdW1lbnQuZG9jdW1lbnRFbGVt ZW50WyJjbGllbnQiK2NdLGg9ZS5kb2N1bWVudC5ib2R5O3JldHVybiBlLmRvY3Vt ZW50LmNvbXBhdE1vZGU9PT0iQ1NTMUNvbXBhdCImJmd8fGgmJmhbImNsaWVudCIr Y118fGd9aWYoZS5ub2RlVHlwZT09PTkpcmV0dXJuIE1hdGgubWF4KGUuZG9jdW1l bnRFbGVtZW50WyJjbGllbnQiK2NdLGUuYm9keVsic2Nyb2xsIitjXSxlLmRvY3Vt ZW50RWxlbWVudFsic2Nyb2xsIitjXSxlLmJvZHlbIm9mZnNldCIrY10sZS5kb2N1 bWVudEVsZW1lbnRbIm9mZnNldCIrY10pO2lmKGE9PT1iKXt2YXIgaT1mLmNzcyhl LGQpLGo9cGFyc2VGbG9hdChpKTtyZXR1cm4gZi5pc051bWVyaWMoaik/ajppfXJl dHVybiB0aGlzLmNzcyhkLHR5cGVvZiBhPT0ic3RyaW5nIj9hOmErInB4Iil9fSks YS5qUXVlcnk9YS4kPWYsdHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5l LmFtZCYmZGVmaW5lLmFtZC5qUXVlcnkmJmRlZmluZSgianF1ZXJ5IixbXSxmdW5j dGlvbigpe3JldHVybiBmfSl9KSh3aW5kb3cpOw== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=jquery.fancybox-1.3.4.pack.js Content-Type: application/x-javascript; charset=UTF-8; name=jquery.fancybox-1.3.4.pack.js Content-Location: http://elibrary.ru/fancybox/jquery.fancybox-1.3.4.pack.js Content-Transfer-Encoding: Base64 LyoKICogRmFuY3lCb3ggLSBqUXVlcnkgUGx1Z2luCiAqIFNpbXBsZSBhbmQgZmFu Y3kgbGlnaHRib3ggYWx0ZXJuYXRpdmUKICoKICogRXhhbXBsZXMgYW5kIGRvY3Vt ZW50YXRpb24gYXQ6IGh0dHA6Ly9mYW5jeWJveC5uZXQKICogCiAqIENvcHlyaWdo dCAoYykgMjAwOCAtIDIwMTAgSmFuaXMgU2thcm5lbGlzCiAqIFRoYXQgc2FpZCwg aXQgaXMgaGFyZGx5IGEgb25lLXBlcnNvbiBwcm9qZWN0LiBNYW55IHBlb3BsZSBo YXZlIHN1Ym1pdHRlZCBidWdzLCBjb2RlLCBhbmQgb2ZmZXJlZCB0aGVpciBhZHZp Y2UgZnJlZWx5LiBUaGVpciBzdXBwb3J0IGlzIGdyZWF0bHkgYXBwcmVjaWF0ZWQu CiAqIAogKiBWZXJzaW9uOiAxLjMuNCAoMTEvMTEvMjAxMCkKICogUmVxdWlyZXM6 IGpRdWVyeSB2MS4zKwogKgogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQg YW5kIEdQTCBsaWNlbnNlczoKICogICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3Jn L2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocAogKiAgIGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy9ncGwuaHRtbAogKi8KCjsoZnVuY3Rpb24oYil7dmFyIG0sdCx1 LGYsRCxqLEUsbix6LEEscT0wLGU9e30sbz1bXSxwPTAsZD17fSxsPVtdLEc9bnVs bCx2PW5ldyBJbWFnZSxKPS9cLihqcGd8Z2lmfHBuZ3xibXB8anBlZykoLiopPyQv aSxXPS9bXlwuXVwuKHN3ZilccyokL2ksSyxMPTEseT0wLHM9IiIscixpLGg9ZmFs c2UsQj1iLmV4dGVuZChiKCI8ZGl2Lz4iKVswXSx7cHJvcDowfSksTT1iLmJyb3dz ZXIubXNpZSYmYi5icm93c2VyLnZlcnNpb248NyYmIXdpbmRvdy5YTUxIdHRwUmVx dWVzdCxOPWZ1bmN0aW9uKCl7dC5oaWRlKCk7di5vbmVycm9yPXYub25sb2FkPW51 bGw7RyYmRy5hYm9ydCgpO20uZW1wdHkoKX0sTz1mdW5jdGlvbigpe2lmKGZhbHNl PT09ZS5vbkVycm9yKG8scSxlKSl7dC5oaWRlKCk7aD1mYWxzZX1lbHNle2UudGl0 bGVTaG93PWZhbHNlO2Uud2lkdGg9ImF1dG8iO2UuaGVpZ2h0PSJhdXRvIjttLmh0 bWwoJzxwIGlkPSJmYW5jeWJveC1lcnJvciI+VGhlIHJlcXVlc3RlZCBjb250ZW50 IGNhbm5vdCBiZSBsb2FkZWQuPGJyIC8+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48 L3A+Jyk7CkYoKX19LEk9ZnVuY3Rpb24oKXt2YXIgYT1vW3FdLGMsZyxrLEMsUCx3 O04oKTtlPWIuZXh0ZW5kKHt9LGIuZm4uZmFuY3lib3guZGVmYXVsdHMsdHlwZW9m IGIoYSkuZGF0YSgiZmFuY3lib3giKT09InVuZGVmaW5lZCI/ZTpiKGEpLmRhdGEo ImZhbmN5Ym94IikpO3c9ZS5vblN0YXJ0KG8scSxlKTtpZih3PT09ZmFsc2UpaD1m YWxzZTtlbHNle2lmKHR5cGVvZiB3PT0ib2JqZWN0IillPWIuZXh0ZW5kKGUsdyk7 az1lLnRpdGxlfHwoYS5ub2RlTmFtZT9iKGEpLmF0dHIoInRpdGxlIik6YS50aXRs ZSl8fCIiO2lmKGEubm9kZU5hbWUmJiFlLm9yaWcpZS5vcmlnPWIoYSkuY2hpbGRy ZW4oImltZzpmaXJzdCIpLmxlbmd0aD9iKGEpLmNoaWxkcmVuKCJpbWc6Zmlyc3Qi KTpiKGEpO2lmKGs9PT0iIiYmZS5vcmlnJiZlLnRpdGxlRnJvbUFsdClrPWUub3Jp Zy5hdHRyKCJhbHQiKTtjPWUuaHJlZnx8KGEubm9kZU5hbWU/YihhKS5hdHRyKCJo cmVmIik6YS5ocmVmKXx8bnVsbDtpZigvXig/OmphdmFzY3JpcHQpL2kudGVzdChj KXx8CmM9PSIjIiljPW51bGw7aWYoZS50eXBlKXtnPWUudHlwZTtpZighYyljPWUu Y29udGVudH1lbHNlIGlmKGUuY29udGVudClnPSJodG1sIjtlbHNlIGlmKGMpZz1j Lm1hdGNoKEopPyJpbWFnZSI6Yy5tYXRjaChXKT8ic3dmIjpiKGEpLmhhc0NsYXNz KCJpZnJhbWUiKT8iaWZyYW1lIjpjLmluZGV4T2YoIiMiKT09PTA/ImlubGluZSI6 ImFqYXgiO2lmKGcpe2lmKGc9PSJpbmxpbmUiKXthPWMuc3Vic3RyKGMuaW5kZXhP ZigiIyIpKTtnPWIoYSkubGVuZ3RoPjA/ImlubGluZSI6ImFqYXgifWUudHlwZT1n O2UuaHJlZj1jO2UudGl0bGU9aztpZihlLmF1dG9EaW1lbnNpb25zKWlmKGUudHlw ZT09Imh0bWwifHxlLnR5cGU9PSJpbmxpbmUifHxlLnR5cGU9PSJhamF4Iil7ZS53 aWR0aD0iYXV0byI7ZS5oZWlnaHQ9ImF1dG8ifWVsc2UgZS5hdXRvRGltZW5zaW9u cz1mYWxzZTtpZihlLm1vZGFsKXtlLm92ZXJsYXlTaG93PXRydWU7ZS5oaWRlT25P dmVybGF5Q2xpY2s9ZmFsc2U7ZS5oaWRlT25Db250ZW50Q2xpY2s9CmZhbHNlO2Uu ZW5hYmxlRXNjYXBlQnV0dG9uPWZhbHNlO2Uuc2hvd0Nsb3NlQnV0dG9uPWZhbHNl fWUucGFkZGluZz1wYXJzZUludChlLnBhZGRpbmcsMTApO2UubWFyZ2luPXBhcnNl SW50KGUubWFyZ2luLDEwKTttLmNzcygicGFkZGluZyIsZS5wYWRkaW5nK2UubWFy Z2luKTtiKCIuZmFuY3lib3gtaW5saW5lLXRtcCIpLnVuYmluZCgiZmFuY3lib3gt Y2FuY2VsIikuYmluZCgiZmFuY3lib3gtY2hhbmdlIixmdW5jdGlvbigpe2IodGhp cykucmVwbGFjZVdpdGgoai5jaGlsZHJlbigpKX0pO3N3aXRjaChnKXtjYXNlICJo dG1sIjptLmh0bWwoZS5jb250ZW50KTtGKCk7YnJlYWs7Y2FzZSAiaW5saW5lIjpp ZihiKGEpLnBhcmVudCgpLmlzKCIjZmFuY3lib3gtY29udGVudCIpPT09dHJ1ZSl7 aD1mYWxzZTticmVha31iKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbmxpbmUtdG1w IiAvPicpLmhpZGUoKS5pbnNlcnRCZWZvcmUoYihhKSkuYmluZCgiZmFuY3lib3gt Y2xlYW51cCIsZnVuY3Rpb24oKXtiKHRoaXMpLnJlcGxhY2VXaXRoKGouY2hpbGRy ZW4oKSl9KS5iaW5kKCJmYW5jeWJveC1jYW5jZWwiLApmdW5jdGlvbigpe2IodGhp cykucmVwbGFjZVdpdGgobS5jaGlsZHJlbigpKX0pO2IoYSkuYXBwZW5kVG8obSk7 RigpO2JyZWFrO2Nhc2UgImltYWdlIjpoPWZhbHNlO2IuZmFuY3lib3guc2hvd0Fj dGl2aXR5KCk7dj1uZXcgSW1hZ2U7di5vbmVycm9yPWZ1bmN0aW9uKCl7TygpfTt2 Lm9ubG9hZD1mdW5jdGlvbigpe2g9dHJ1ZTt2Lm9uZXJyb3I9di5vbmxvYWQ9bnVs bDtlLndpZHRoPXYud2lkdGg7ZS5oZWlnaHQ9di5oZWlnaHQ7YigiPGltZyAvPiIp LmF0dHIoe2lkOiJmYW5jeWJveC1pbWciLHNyYzp2LnNyYyxhbHQ6ZS50aXRsZX0p LmFwcGVuZFRvKG0pO1EoKX07di5zcmM9YzticmVhaztjYXNlICJzd2YiOmUuc2Ny b2xsaW5nPSJubyI7Qz0nPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpEMjdDREI2RS1B RTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAiIHdpZHRoPSInK2Uud2lkdGgrJyIg aGVpZ2h0PSInK2UuaGVpZ2h0KyciPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9 IicrYysKJyI+PC9wYXJhbT4nO1A9IiI7Yi5lYWNoKGUuc3dmLGZ1bmN0aW9uKHgs SCl7Qys9JzxwYXJhbSBuYW1lPSInK3grJyIgdmFsdWU9IicrSCsnIj48L3BhcmFt Pic7UCs9IiAiK3grJz0iJytIKyciJ30pO0MrPSc8ZW1iZWQgc3JjPSInK2MrJyIg dHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHdpZHRoPSInK2Uu d2lkdGgrJyIgaGVpZ2h0PSInK2UuaGVpZ2h0KyciJytQKyI+PC9lbWJlZD48L29i amVjdD4iO20uaHRtbChDKTtGKCk7YnJlYWs7Y2FzZSAiYWpheCI6aD1mYWxzZTti LmZhbmN5Ym94LnNob3dBY3Rpdml0eSgpO2UuYWpheC53aW49ZS5hamF4LnN1Y2Nl c3M7Rz1iLmFqYXgoYi5leHRlbmQoe30sZS5hamF4LHt1cmw6YyxkYXRhOmUuYWph eC5kYXRhfHx7fSxlcnJvcjpmdW5jdGlvbih4KXt4LnN0YXR1cz4wJiZPKCl9LHN1 Y2Nlc3M6ZnVuY3Rpb24oeCxILFIpe2lmKCh0eXBlb2YgUj09Im9iamVjdCI/UjpH KS5zdGF0dXM9PTIwMCl7aWYodHlwZW9mIGUuYWpheC53aW49PQoiZnVuY3Rpb24i KXt3PWUuYWpheC53aW4oYyx4LEgsUik7aWYodz09PWZhbHNlKXt0LmhpZGUoKTty ZXR1cm59ZWxzZSBpZih0eXBlb2Ygdz09InN0cmluZyJ8fHR5cGVvZiB3PT0ib2Jq ZWN0Iil4PXd9bS5odG1sKHgpO0YoKX19fSkpO2JyZWFrO2Nhc2UgImlmcmFtZSI6 USgpfX1lbHNlIE8oKX19LEY9ZnVuY3Rpb24oKXt2YXIgYT1lLndpZHRoLGM9ZS5o ZWlnaHQ7YT1hLnRvU3RyaW5nKCkuaW5kZXhPZigiJSIpPi0xP3BhcnNlSW50KChi KHdpbmRvdykud2lkdGgoKS1lLm1hcmdpbioyKSpwYXJzZUZsb2F0KGEpLzEwMCwx MCkrInB4IjphPT0iYXV0byI/ImF1dG8iOmErInB4IjtjPWMudG9TdHJpbmcoKS5p bmRleE9mKCIlIik+LTE/cGFyc2VJbnQoKGIod2luZG93KS5oZWlnaHQoKS1lLm1h cmdpbioyKSpwYXJzZUZsb2F0KGMpLzEwMCwxMCkrInB4IjpjPT0iYXV0byI/ImF1 dG8iOmMrInB4IjttLndyYXBJbm5lcignPGRpdiBzdHlsZT0id2lkdGg6JythKyI7 aGVpZ2h0OiIrYysKIjtvdmVyZmxvdzogIisoZS5zY3JvbGxpbmc9PSJhdXRvIj8i YXV0byI6ZS5zY3JvbGxpbmc9PSJ5ZXMiPyJzY3JvbGwiOiJoaWRkZW4iKSsnO3Bv c2l0aW9uOnJlbGF0aXZlOyI+PC9kaXY+Jyk7ZS53aWR0aD1tLndpZHRoKCk7ZS5o ZWlnaHQ9bS5oZWlnaHQoKTtRKCl9LFE9ZnVuY3Rpb24oKXt2YXIgYSxjO3QuaGlk ZSgpO2lmKGYuaXMoIjp2aXNpYmxlIikmJmZhbHNlPT09ZC5vbkNsZWFudXAobCxw LGQpKXtiLmV2ZW50LnRyaWdnZXIoImZhbmN5Ym94LWNhbmNlbCIpO2g9ZmFsc2V9 ZWxzZXtoPXRydWU7YihqLmFkZCh1KSkudW5iaW5kKCk7Yih3aW5kb3cpLnVuYmlu ZCgicmVzaXplLmZiIHNjcm9sbC5mYiIpO2IoZG9jdW1lbnQpLnVuYmluZCgia2V5 ZG93bi5mYiIpO2YuaXMoIjp2aXNpYmxlIikmJmQudGl0bGVQb3NpdGlvbiE9PSJv dXRzaWRlIiYmZi5jc3MoImhlaWdodCIsZi5oZWlnaHQoKSk7bD1vO3A9cTtkPWU7 aWYoZC5vdmVybGF5U2hvdyl7dS5jc3MoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkLm92 ZXJsYXlDb2xvciwKb3BhY2l0eTpkLm92ZXJsYXlPcGFjaXR5LGN1cnNvcjpkLmhp ZGVPbk92ZXJsYXlDbGljaz8icG9pbnRlciI6ImF1dG8iLGhlaWdodDpiKGRvY3Vt ZW50KS5oZWlnaHQoKX0pO2lmKCF1LmlzKCI6dmlzaWJsZSIpKXtNJiZiKCJzZWxl Y3Q6bm90KCNmYW5jeWJveC10bXAgc2VsZWN0KSIpLmZpbHRlcihmdW5jdGlvbigp e3JldHVybiB0aGlzLnN0eWxlLnZpc2liaWxpdHkhPT0iaGlkZGVuIn0pLmNzcyh7 dmlzaWJpbGl0eToiaGlkZGVuIn0pLm9uZSgiZmFuY3lib3gtY2xlYW51cCIsZnVu Y3Rpb24oKXt0aGlzLnN0eWxlLnZpc2liaWxpdHk9ImluaGVyaXQifSk7dS5zaG93 KCl9fWVsc2UgdS5oaWRlKCk7aT1YKCk7cz1kLnRpdGxlfHwiIjt5PTA7bi5lbXB0 eSgpLnJlbW92ZUF0dHIoInN0eWxlIikucmVtb3ZlQ2xhc3MoKTtpZihkLnRpdGxl U2hvdyE9PWZhbHNlKXtpZihiLmlzRnVuY3Rpb24oZC50aXRsZUZvcm1hdCkpYT1k LnRpdGxlRm9ybWF0KHMsbCxwLGQpO2Vsc2UgYT1zJiZzLmxlbmd0aD8KZC50aXRs ZVBvc2l0aW9uPT0iZmxvYXQiPyc8dGFibGUgaWQ9ImZhbmN5Ym94LXRpdGxlLWZs b2F0LXdyYXAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0 ZCBpZD0iZmFuY3lib3gtdGl0bGUtZmxvYXQtbGVmdCI+PC90ZD48dGQgaWQ9ImZh bmN5Ym94LXRpdGxlLWZsb2F0LW1haW4iPicrcysnPC90ZD48dGQgaWQ9ImZhbmN5 Ym94LXRpdGxlLWZsb2F0LXJpZ2h0Ij48L3RkPjwvdHI+PC90YWJsZT4nOic8ZGl2 IGlkPSJmYW5jeWJveC10aXRsZS0nK2QudGl0bGVQb3NpdGlvbisnIj4nK3MrIjwv ZGl2PiI6ZmFsc2U7cz1hO2lmKCEoIXN8fHM9PT0iIikpe24uYWRkQ2xhc3MoImZh bmN5Ym94LXRpdGxlLSIrZC50aXRsZVBvc2l0aW9uKS5odG1sKHMpLmFwcGVuZFRv KCJib2R5Iikuc2hvdygpO3N3aXRjaChkLnRpdGxlUG9zaXRpb24pe2Nhc2UgImlu c2lkZSI6bi5jc3Moe3dpZHRoOmkud2lkdGgtZC5wYWRkaW5nKjIsbWFyZ2luTGVm dDpkLnBhZGRpbmcsbWFyZ2luUmlnaHQ6ZC5wYWRkaW5nfSk7Cnk9bi5vdXRlckhl aWdodCh0cnVlKTtuLmFwcGVuZFRvKEQpO2kuaGVpZ2h0Kz15O2JyZWFrO2Nhc2Ug Im92ZXIiOm4uY3NzKHttYXJnaW5MZWZ0OmQucGFkZGluZyx3aWR0aDppLndpZHRo LWQucGFkZGluZyoyLGJvdHRvbTpkLnBhZGRpbmd9KS5hcHBlbmRUbyhEKTticmVh aztjYXNlICJmbG9hdCI6bi5jc3MoImxlZnQiLHBhcnNlSW50KChuLndpZHRoKCkt aS53aWR0aC00MCkvMiwxMCkqLTEpLmFwcGVuZFRvKGYpO2JyZWFrO2RlZmF1bHQ6 bi5jc3Moe3dpZHRoOmkud2lkdGgtZC5wYWRkaW5nKjIscGFkZGluZ0xlZnQ6ZC5w YWRkaW5nLHBhZGRpbmdSaWdodDpkLnBhZGRpbmd9KS5hcHBlbmRUbyhmKX19fW4u aGlkZSgpO2lmKGYuaXMoIjp2aXNpYmxlIikpe2IoRS5hZGQoeikuYWRkKEEpKS5o aWRlKCk7YT1mLnBvc2l0aW9uKCk7cj17dG9wOmEudG9wLGxlZnQ6YS5sZWZ0LHdp ZHRoOmYud2lkdGgoKSxoZWlnaHQ6Zi5oZWlnaHQoKX07Yz1yLndpZHRoPT1pLndp ZHRoJiZyLmhlaWdodD09CmkuaGVpZ2h0O2ouZmFkZVRvKGQuY2hhbmdlRmFkZSww LjMsZnVuY3Rpb24oKXt2YXIgZz1mdW5jdGlvbigpe2ouaHRtbChtLmNvbnRlbnRz KCkpLmZhZGVUbyhkLmNoYW5nZUZhZGUsMSxTKX07Yi5ldmVudC50cmlnZ2VyKCJm YW5jeWJveC1jaGFuZ2UiKTtqLmVtcHR5KCkucmVtb3ZlQXR0cigiZmlsdGVyIiku Y3NzKHsiYm9yZGVyLXdpZHRoIjpkLnBhZGRpbmcsd2lkdGg6aS53aWR0aC1kLnBh ZGRpbmcqMixoZWlnaHQ6ZS5hdXRvRGltZW5zaW9ucz8iYXV0byI6aS5oZWlnaHQt eS1kLnBhZGRpbmcqMn0pO2lmKGMpZygpO2Vsc2V7Qi5wcm9wPTA7YihCKS5hbmlt YXRlKHtwcm9wOjF9LHtkdXJhdGlvbjpkLmNoYW5nZVNwZWVkLGVhc2luZzpkLmVh c2luZ0NoYW5nZSxzdGVwOlQsY29tcGxldGU6Z30pfX0pfWVsc2V7Zi5yZW1vdmVB dHRyKCJzdHlsZSIpO2ouY3NzKCJib3JkZXItd2lkdGgiLGQucGFkZGluZyk7aWYo ZC50cmFuc2l0aW9uSW49PSJlbGFzdGljIil7cj1WKCk7ai5odG1sKG0uY29udGVu dHMoKSk7CmYuc2hvdygpO2lmKGQub3BhY2l0eSlpLm9wYWNpdHk9MDtCLnByb3A9 MDtiKEIpLmFuaW1hdGUoe3Byb3A6MX0se2R1cmF0aW9uOmQuc3BlZWRJbixlYXNp bmc6ZC5lYXNpbmdJbixzdGVwOlQsY29tcGxldGU6U30pfWVsc2V7ZC50aXRsZVBv c2l0aW9uPT0iaW5zaWRlIiYmeT4wJiZuLnNob3coKTtqLmNzcyh7d2lkdGg6aS53 aWR0aC1kLnBhZGRpbmcqMixoZWlnaHQ6ZS5hdXRvRGltZW5zaW9ucz8iYXV0byI6 aS5oZWlnaHQteS1kLnBhZGRpbmcqMn0pLmh0bWwobS5jb250ZW50cygpKTtmLmNz cyhpKS5mYWRlSW4oZC50cmFuc2l0aW9uSW49PSJub25lIj8wOmQuc3BlZWRJbixT KX19fX0sWT1mdW5jdGlvbigpe2lmKGQuZW5hYmxlRXNjYXBlQnV0dG9ufHxkLmVu YWJsZUtleWJvYXJkTmF2KWIoZG9jdW1lbnQpLmJpbmQoImtleWRvd24uZmIiLGZ1 bmN0aW9uKGEpe2lmKGEua2V5Q29kZT09MjcmJmQuZW5hYmxlRXNjYXBlQnV0dG9u KXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5jbG9zZSgpfWVsc2UgaWYo KGEua2V5Q29kZT09CjM3fHxhLmtleUNvZGU9PTM5KSYmZC5lbmFibGVLZXlib2Fy ZE5hdiYmYS50YXJnZXQudGFnTmFtZSE9PSJJTlBVVCImJmEudGFyZ2V0LnRhZ05h bWUhPT0iVEVYVEFSRUEiJiZhLnRhcmdldC50YWdOYW1lIT09IlNFTEVDVCIpe2Eu cHJldmVudERlZmF1bHQoKTtiLmZhbmN5Ym94W2Eua2V5Q29kZT09Mzc/InByZXYi OiJuZXh0Il0oKX19KTtpZihkLnNob3dOYXZBcnJvd3Mpe2lmKGQuY3ljbGljJiZs Lmxlbmd0aD4xfHxwIT09MCl6LnNob3coKTtpZihkLmN5Y2xpYyYmbC5sZW5ndGg+ MXx8cCE9bC5sZW5ndGgtMSlBLnNob3coKX1lbHNle3ouaGlkZSgpO0EuaGlkZSgp fX0sUz1mdW5jdGlvbigpe2lmKCFiLnN1cHBvcnQub3BhY2l0eSl7ai5nZXQoMCku c3R5bGUucmVtb3ZlQXR0cmlidXRlKCJmaWx0ZXIiKTtmLmdldCgwKS5zdHlsZS5y ZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpfWUuYXV0b0RpbWVuc2lvbnMmJmouY3Nz KCJoZWlnaHQiLCJhdXRvIik7Zi5jc3MoImhlaWdodCIsImF1dG8iKTsKcyYmcy5s ZW5ndGgmJm4uc2hvdygpO2Quc2hvd0Nsb3NlQnV0dG9uJiZFLnNob3coKTtZKCk7 ZC5oaWRlT25Db250ZW50Q2xpY2smJmouYmluZCgiY2xpY2siLGIuZmFuY3lib3gu Y2xvc2UpO2QuaGlkZU9uT3ZlcmxheUNsaWNrJiZ1LmJpbmQoImNsaWNrIixiLmZh bmN5Ym94LmNsb3NlKTtiKHdpbmRvdykuYmluZCgicmVzaXplLmZiIixiLmZhbmN5 Ym94LnJlc2l6ZSk7ZC5jZW50ZXJPblNjcm9sbCYmYih3aW5kb3cpLmJpbmQoInNj cm9sbC5mYiIsYi5mYW5jeWJveC5jZW50ZXIpO2lmKGQudHlwZT09ImlmcmFtZSIp YignPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWUiIG5hbWU9ImZhbmN5Ym94LWZy YW1lJysobmV3IERhdGUpLmdldFRpbWUoKSsnIiBmcmFtZWJvcmRlcj0iMCIgaHNw YWNlPSIwIiAnKyhiLmJyb3dzZXIubXNpZT8nYWxsb3d0cmFuc3BhcmVuY3k9InRy dWUiIic6IiIpKycgc2Nyb2xsaW5nPSInK2Uuc2Nyb2xsaW5nKyciIHNyYz0iJytk LmhyZWYrJyI+PC9pZnJhbWU+JykuYXBwZW5kVG8oaik7CmYuc2hvdygpO2g9ZmFs c2U7Yi5mYW5jeWJveC5jZW50ZXIoKTtkLm9uQ29tcGxldGUobCxwLGQpO3ZhciBh LGM7aWYobC5sZW5ndGgtMT5wKXthPWxbcCsxXS5ocmVmO2lmKHR5cGVvZiBhIT09 InVuZGVmaW5lZCImJmEubWF0Y2goSikpe2M9bmV3IEltYWdlO2Muc3JjPWF9fWlm KHA+MCl7YT1sW3AtMV0uaHJlZjtpZih0eXBlb2YgYSE9PSJ1bmRlZmluZWQiJiZh Lm1hdGNoKEopKXtjPW5ldyBJbWFnZTtjLnNyYz1hfX19LFQ9ZnVuY3Rpb24oYSl7 dmFyIGM9e3dpZHRoOnBhcnNlSW50KHIud2lkdGgrKGkud2lkdGgtci53aWR0aCkq YSwxMCksaGVpZ2h0OnBhcnNlSW50KHIuaGVpZ2h0KyhpLmhlaWdodC1yLmhlaWdo dCkqYSwxMCksdG9wOnBhcnNlSW50KHIudG9wKyhpLnRvcC1yLnRvcCkqYSwxMCks bGVmdDpwYXJzZUludChyLmxlZnQrKGkubGVmdC1yLmxlZnQpKmEsMTApfTtpZih0 eXBlb2YgaS5vcGFjaXR5IT09InVuZGVmaW5lZCIpYy5vcGFjaXR5PWE8MC41PzAu NTphO2YuY3NzKGMpOwpqLmNzcyh7d2lkdGg6Yy53aWR0aC1kLnBhZGRpbmcqMixo ZWlnaHQ6Yy5oZWlnaHQteSphLWQucGFkZGluZyoyfSl9LFU9ZnVuY3Rpb24oKXty ZXR1cm5bYih3aW5kb3cpLndpZHRoKCktZC5tYXJnaW4qMixiKHdpbmRvdykuaGVp Z2h0KCktZC5tYXJnaW4qMixiKGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkrZC5tYXJn aW4sYihkb2N1bWVudCkuc2Nyb2xsVG9wKCkrZC5tYXJnaW5dfSxYPWZ1bmN0aW9u KCl7dmFyIGE9VSgpLGM9e30sZz1kLmF1dG9TY2FsZSxrPWQucGFkZGluZyoyO2Mu d2lkdGg9ZC53aWR0aC50b1N0cmluZygpLmluZGV4T2YoIiUiKT4tMT9wYXJzZUlu dChhWzBdKnBhcnNlRmxvYXQoZC53aWR0aCkvMTAwLDEwKTpkLndpZHRoK2s7Yy5o ZWlnaHQ9ZC5oZWlnaHQudG9TdHJpbmcoKS5pbmRleE9mKCIlIik+LTE/cGFyc2VJ bnQoYVsxXSpwYXJzZUZsb2F0KGQuaGVpZ2h0KS8xMDAsMTApOmQuaGVpZ2h0K2s7 aWYoZyYmKGMud2lkdGg+YVswXXx8Yy5oZWlnaHQ+YVsxXSkpaWYoZS50eXBlPT0K ImltYWdlInx8ZS50eXBlPT0ic3dmIil7Zz1kLndpZHRoL2QuaGVpZ2h0O2lmKGMu d2lkdGg+YVswXSl7Yy53aWR0aD1hWzBdO2MuaGVpZ2h0PXBhcnNlSW50KChjLndp ZHRoLWspL2craywxMCl9aWYoYy5oZWlnaHQ+YVsxXSl7Yy5oZWlnaHQ9YVsxXTtj LndpZHRoPXBhcnNlSW50KChjLmhlaWdodC1rKSpnK2ssMTApfX1lbHNle2Mud2lk dGg9TWF0aC5taW4oYy53aWR0aCxhWzBdKTtjLmhlaWdodD1NYXRoLm1pbihjLmhl aWdodCxhWzFdKX1jLnRvcD1wYXJzZUludChNYXRoLm1heChhWzNdLTIwLGFbM10r KGFbMV0tYy5oZWlnaHQtNDApKjAuNSksMTApO2MubGVmdD1wYXJzZUludChNYXRo Lm1heChhWzJdLTIwLGFbMl0rKGFbMF0tYy53aWR0aC00MCkqMC41KSwxMCk7cmV0 dXJuIGN9LFY9ZnVuY3Rpb24oKXt2YXIgYT1lLm9yaWc/YihlLm9yaWcpOmZhbHNl LGM9e307aWYoYSYmYS5sZW5ndGgpe2M9YS5vZmZzZXQoKTtjLnRvcCs9cGFyc2VJ bnQoYS5jc3MoInBhZGRpbmdUb3AiKSwKMTApfHwwO2MubGVmdCs9cGFyc2VJbnQo YS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwO2MudG9wKz1wYXJzZUludChhLmNz cygiYm9yZGVyLXRvcC13aWR0aCIpLDEwKXx8MDtjLmxlZnQrPXBhcnNlSW50KGEu Y3NzKCJib3JkZXItbGVmdC13aWR0aCIpLDEwKXx8MDtjLndpZHRoPWEud2lkdGgo KTtjLmhlaWdodD1hLmhlaWdodCgpO2M9e3dpZHRoOmMud2lkdGgrZC5wYWRkaW5n KjIsaGVpZ2h0OmMuaGVpZ2h0K2QucGFkZGluZyoyLHRvcDpjLnRvcC1kLnBhZGRp bmctMjAsbGVmdDpjLmxlZnQtZC5wYWRkaW5nLTIwfX1lbHNle2E9VSgpO2M9e3dp ZHRoOmQucGFkZGluZyoyLGhlaWdodDpkLnBhZGRpbmcqMix0b3A6cGFyc2VJbnQo YVszXSthWzFdKjAuNSwxMCksbGVmdDpwYXJzZUludChhWzJdK2FbMF0qMC41LDEw KX19cmV0dXJuIGN9LFo9ZnVuY3Rpb24oKXtpZih0LmlzKCI6dmlzaWJsZSIpKXti KCJkaXYiLHQpLmNzcygidG9wIixMKi00MCsicHgiKTtMPShMKzEpJTEyfWVsc2Ug Y2xlYXJJbnRlcnZhbChLKX07CmIuZm4uZmFuY3lib3g9ZnVuY3Rpb24oYSl7aWYo IWIodGhpcykubGVuZ3RoKXJldHVybiB0aGlzO2IodGhpcykuZGF0YSgiZmFuY3li b3giLGIuZXh0ZW5kKHt9LGEsYi5tZXRhZGF0YT9iKHRoaXMpLm1ldGFkYXRhKCk6 e30pKS51bmJpbmQoImNsaWNrLmZiIikuYmluZCgiY2xpY2suZmIiLGZ1bmN0aW9u KGMpe2MucHJldmVudERlZmF1bHQoKTtpZighaCl7aD10cnVlO2IodGhpcykuYmx1 cigpO289W107cT0wO2M9Yih0aGlzKS5hdHRyKCJyZWwiKXx8IiI7aWYoIWN8fGM9 PSIifHxjPT09Im5vZm9sbG93IilvLnB1c2godGhpcyk7ZWxzZXtvPWIoImFbcmVs PSIrYysiXSwgYXJlYVtyZWw9IitjKyJdIik7cT1vLmluZGV4KHRoaXMpfUkoKX19 KTtyZXR1cm4gdGhpc307Yi5mYW5jeWJveD1mdW5jdGlvbihhLGMpe3ZhciBnO2lm KCFoKXtoPXRydWU7Zz10eXBlb2YgYyE9PSJ1bmRlZmluZWQiP2M6e307bz1bXTtx PXBhcnNlSW50KGcuaW5kZXgsMTApfHwwO2lmKGIuaXNBcnJheShhKSl7Zm9yKHZh ciBrPQowLEM9YS5sZW5ndGg7azxDO2srKylpZih0eXBlb2YgYVtrXT09Im9iamVj dCIpYihhW2tdKS5kYXRhKCJmYW5jeWJveCIsYi5leHRlbmQoe30sZyxhW2tdKSk7 ZWxzZSBhW2tdPWIoe30pLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7Y29udGVu dDphW2tdfSxnKSk7bz1qUXVlcnkubWVyZ2UobyxhKX1lbHNle2lmKHR5cGVvZiBh PT0ib2JqZWN0IiliKGEpLmRhdGEoImZhbmN5Ym94IixiLmV4dGVuZCh7fSxnLGEp KTtlbHNlIGE9Yih7fSkuZGF0YSgiZmFuY3lib3giLGIuZXh0ZW5kKHtjb250ZW50 OmF9LGcpKTtvLnB1c2goYSl9aWYocT5vLmxlbmd0aHx8cTwwKXE9MDtJKCl9fTti LmZhbmN5Ym94LnNob3dBY3Rpdml0eT1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwo Syk7dC5zaG93KCk7Sz1zZXRJbnRlcnZhbChaLDY2KX07Yi5mYW5jeWJveC5oaWRl QWN0aXZpdHk9ZnVuY3Rpb24oKXt0LmhpZGUoKX07Yi5mYW5jeWJveC5uZXh0PWZ1 bmN0aW9uKCl7cmV0dXJuIGIuZmFuY3lib3gucG9zKHArCjEpfTtiLmZhbmN5Ym94 LnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gYi5mYW5jeWJveC5wb3MocC0xKX07Yi5m YW5jeWJveC5wb3M9ZnVuY3Rpb24oYSl7aWYoIWgpe2E9cGFyc2VJbnQoYSk7bz1s O2lmKGE+LTEmJmE8bC5sZW5ndGgpe3E9YTtJKCl9ZWxzZSBpZihkLmN5Y2xpYyYm bC5sZW5ndGg+MSl7cT1hPj1sLmxlbmd0aD8wOmwubGVuZ3RoLTE7SSgpfX19O2Iu ZmFuY3lib3guY2FuY2VsPWZ1bmN0aW9uKCl7aWYoIWgpe2g9dHJ1ZTtiLmV2ZW50 LnRyaWdnZXIoImZhbmN5Ym94LWNhbmNlbCIpO04oKTtlLm9uQ2FuY2VsKG8scSxl KTtoPWZhbHNlfX07Yi5mYW5jeWJveC5jbG9zZT1mdW5jdGlvbigpe2Z1bmN0aW9u IGEoKXt1LmZhZGVPdXQoImZhc3QiKTtuLmVtcHR5KCkuaGlkZSgpO2YuaGlkZSgp O2IuZXZlbnQudHJpZ2dlcigiZmFuY3lib3gtY2xlYW51cCIpO2ouZW1wdHkoKTtk Lm9uQ2xvc2VkKGwscCxkKTtsPWU9W107cD1xPTA7ZD1lPXt9O2g9ZmFsc2V9aWYo IShofHxmLmlzKCI6aGlkZGVuIikpKXtoPQp0cnVlO2lmKGQmJmZhbHNlPT09ZC5v bkNsZWFudXAobCxwLGQpKWg9ZmFsc2U7ZWxzZXtOKCk7YihFLmFkZCh6KS5hZGQo QSkpLmhpZGUoKTtiKGouYWRkKHUpKS51bmJpbmQoKTtiKHdpbmRvdykudW5iaW5k KCJyZXNpemUuZmIgc2Nyb2xsLmZiIik7Yihkb2N1bWVudCkudW5iaW5kKCJrZXlk b3duLmZiIik7ai5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiLE0mJi9eaHR0cHMv aS50ZXN0KHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwiIik/ImphdmFzY3JpcHQ6dm9p ZChmYWxzZSkiOiJhYm91dDpibGFuayIpO2QudGl0bGVQb3NpdGlvbiE9PSJpbnNp ZGUiJiZuLmVtcHR5KCk7Zi5zdG9wKCk7aWYoZC50cmFuc2l0aW9uT3V0PT0iZWxh c3RpYyIpe3I9VigpO3ZhciBjPWYucG9zaXRpb24oKTtpPXt0b3A6Yy50b3AsbGVm dDpjLmxlZnQsd2lkdGg6Zi53aWR0aCgpLGhlaWdodDpmLmhlaWdodCgpfTtpZihk Lm9wYWNpdHkpaS5vcGFjaXR5PTE7bi5lbXB0eSgpLmhpZGUoKTtCLnByb3A9MTsK YihCKS5hbmltYXRlKHtwcm9wOjB9LHtkdXJhdGlvbjpkLnNwZWVkT3V0LGVhc2lu ZzpkLmVhc2luZ091dCxzdGVwOlQsY29tcGxldGU6YX0pfWVsc2UgZi5mYWRlT3V0 KGQudHJhbnNpdGlvbk91dD09Im5vbmUiPzA6ZC5zcGVlZE91dCxhKX19fTtiLmZh bmN5Ym94LnJlc2l6ZT1mdW5jdGlvbigpe3UuaXMoIjp2aXNpYmxlIikmJnUuY3Nz KCJoZWlnaHQiLGIoZG9jdW1lbnQpLmhlaWdodCgpKTtiLmZhbmN5Ym94LmNlbnRl cih0cnVlKX07Yi5mYW5jeWJveC5jZW50ZXI9ZnVuY3Rpb24oYSl7dmFyIGMsZztp ZighaCl7Zz1hPT09dHJ1ZT8xOjA7Yz1VKCk7IWcmJihmLndpZHRoKCk+Y1swXXx8 Zi5oZWlnaHQoKT5jWzFdKXx8Zi5zdG9wKCkuYW5pbWF0ZSh7dG9wOnBhcnNlSW50 KE1hdGgubWF4KGNbM10tMjAsY1szXSsoY1sxXS1qLmhlaWdodCgpLTQwKSowLjUt ZC5wYWRkaW5nKSksbGVmdDpwYXJzZUludChNYXRoLm1heChjWzJdLTIwLGNbMl0r KGNbMF0tai53aWR0aCgpLTQwKSowLjUtCmQucGFkZGluZykpfSx0eXBlb2YgYT09 Im51bWJlciI/YToyMDApfX07Yi5mYW5jeWJveC5pbml0PWZ1bmN0aW9uKCl7aWYo IWIoIiNmYW5jeWJveC13cmFwIikubGVuZ3RoKXtiKCJib2R5IikuYXBwZW5kKG09 YignPGRpdiBpZD0iZmFuY3lib3gtdG1wIj48L2Rpdj4nKSx0PWIoJzxkaXYgaWQ9 ImZhbmN5Ym94LWxvYWRpbmciPjxkaXY+PC9kaXY+PC9kaXY+JyksdT1iKCc8ZGl2 IGlkPSJmYW5jeWJveC1vdmVybGF5Ij48L2Rpdj4nKSxmPWIoJzxkaXYgaWQ9ImZh bmN5Ym94LXdyYXAiPjwvZGl2PicpKTtEPWIoJzxkaXYgaWQ9ImZhbmN5Ym94LW91 dGVyIj48L2Rpdj4nKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIiBp ZD0iZmFuY3lib3gtYmctbiI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gtYmci IGlkPSJmYW5jeWJveC1iZy1uZSI+PC9kaXY+PGRpdiBjbGFzcz0iZmFuY3lib3gt YmciIGlkPSJmYW5jeWJveC1iZy1lIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5jeWJv eC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXNlIj48L2Rpdj48ZGl2IGNsYXNzPSJmYW5j eWJveC1iZyIgaWQ9ImZhbmN5Ym94LWJnLXMiPjwvZGl2PjxkaXYgY2xhc3M9ImZh bmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctc3ciPjwvZGl2PjxkaXYgY2xhc3M9 ImZhbmN5Ym94LWJnIiBpZD0iZmFuY3lib3gtYmctdyI+PC9kaXY+PGRpdiBjbGFz cz0iZmFuY3lib3gtYmciIGlkPSJmYW5jeWJveC1iZy1udyI+PC9kaXY+JykuYXBw ZW5kVG8oZik7CkQuYXBwZW5kKGo9YignPGRpdiBpZD0iZmFuY3lib3gtY29udGVu dCI+PC9kaXY+JyksRT1iKCc8YSBpZD0iZmFuY3lib3gtY2xvc2UiPjwvYT4nKSxu PWIoJzxkaXYgaWQ9ImZhbmN5Ym94LXRpdGxlIj48L2Rpdj4nKSx6PWIoJzxhIGhy ZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImZhbmN5Ym94LWxlZnQiPjxzcGFuIGNsYXNz PSJmYW5jeS1pY28iIGlkPSJmYW5jeWJveC1sZWZ0LWljbyI+PC9zcGFuPjwvYT4n KSxBPWIoJzxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgaWQ9ImZhbmN5Ym94LXJpZ2h0 Ij48c3BhbiBjbGFzcz0iZmFuY3ktaWNvIiBpZD0iZmFuY3lib3gtcmlnaHQtaWNv Ij48L3NwYW4+PC9hPicpKTtFLmNsaWNrKGIuZmFuY3lib3guY2xvc2UpO3QuY2xp Y2soYi5mYW5jeWJveC5jYW5jZWwpO3ouY2xpY2soZnVuY3Rpb24oYSl7YS5wcmV2 ZW50RGVmYXVsdCgpO2IuZmFuY3lib3gucHJldigpfSk7QS5jbGljayhmdW5jdGlv bihhKXthLnByZXZlbnREZWZhdWx0KCk7Yi5mYW5jeWJveC5uZXh0KCl9KTsKYi5m bi5tb3VzZXdoZWVsJiZmLmJpbmQoIm1vdXNld2hlZWwuZmIiLGZ1bmN0aW9uKGEs Yyl7aWYoaClhLnByZXZlbnREZWZhdWx0KCk7ZWxzZSBpZihiKGEudGFyZ2V0KS5n ZXQoMCkuY2xpZW50SGVpZ2h0PT0wfHxiKGEudGFyZ2V0KS5nZXQoMCkuc2Nyb2xs SGVpZ2h0PT09YihhLnRhcmdldCkuZ2V0KDApLmNsaWVudEhlaWdodCl7YS5wcmV2 ZW50RGVmYXVsdCgpO2IuZmFuY3lib3hbYz4wPyJwcmV2IjoibmV4dCJdKCl9fSk7 Yi5zdXBwb3J0Lm9wYWNpdHl8fGYuYWRkQ2xhc3MoImZhbmN5Ym94LWllIik7aWYo TSl7dC5hZGRDbGFzcygiZmFuY3lib3gtaWU2Iik7Zi5hZGRDbGFzcygiZmFuY3li b3gtaWU2Iik7YignPGlmcmFtZSBpZD0iZmFuY3lib3gtaGlkZS1zZWwtZnJhbWUi IHNyYz0iJysoL15odHRwcy9pLnRlc3Qod2luZG93LmxvY2F0aW9uLmhyZWZ8fCIi KT8iamF2YXNjcmlwdDp2b2lkKGZhbHNlKSI6ImFib3V0OmJsYW5rIikrJyIgc2Ny b2xsaW5nPSJubyIgYm9yZGVyPSIwIiBmcmFtZWJvcmRlcj0iMCIgdGFiaW5kZXg9 Ii0xIj48L2lmcmFtZT4nKS5wcmVwZW5kVG8oRCl9fX07CmIuZm4uZmFuY3lib3gu ZGVmYXVsdHM9e3BhZGRpbmc6MTAsbWFyZ2luOjQwLG9wYWNpdHk6ZmFsc2UsbW9k YWw6ZmFsc2UsY3ljbGljOmZhbHNlLHNjcm9sbGluZzoiYXV0byIsd2lkdGg6NTYw LGhlaWdodDozNDAsYXV0b1NjYWxlOnRydWUsYXV0b0RpbWVuc2lvbnM6dHJ1ZSxj ZW50ZXJPblNjcm9sbDpmYWxzZSxhamF4Ont9LHN3Zjp7d21vZGU6InRyYW5zcGFy ZW50In0saGlkZU9uT3ZlcmxheUNsaWNrOnRydWUsaGlkZU9uQ29udGVudENsaWNr OmZhbHNlLG92ZXJsYXlTaG93OnRydWUsb3ZlcmxheU9wYWNpdHk6MC43LG92ZXJs YXlDb2xvcjoiIzc3NyIsdGl0bGVTaG93OnRydWUsdGl0bGVQb3NpdGlvbjoiZmxv YXQiLHRpdGxlRm9ybWF0Om51bGwsdGl0bGVGcm9tQWx0OmZhbHNlLHRyYW5zaXRp b25JbjoiZmFkZSIsdHJhbnNpdGlvbk91dDoiZmFkZSIsc3BlZWRJbjozMDAsc3Bl ZWRPdXQ6MzAwLGNoYW5nZVNwZWVkOjMwMCxjaGFuZ2VGYWRlOiJmYXN0IixlYXNp bmdJbjoic3dpbmciLAplYXNpbmdPdXQ6InN3aW5nIixzaG93Q2xvc2VCdXR0b246 dHJ1ZSxzaG93TmF2QXJyb3dzOnRydWUsZW5hYmxlRXNjYXBlQnV0dG9uOnRydWUs ZW5hYmxlS2V5Ym9hcmROYXY6dHJ1ZSxvblN0YXJ0OmZ1bmN0aW9uKCl7fSxvbkNh bmNlbDpmdW5jdGlvbigpe30sb25Db21wbGV0ZTpmdW5jdGlvbigpe30sb25DbGVh bnVwOmZ1bmN0aW9uKCl7fSxvbkNsb3NlZDpmdW5jdGlvbigpe30sb25FcnJvcjpm dW5jdGlvbigpe319O2IoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7Yi5mYW5j eWJveC5pbml0KCl9KX0pKGpRdWVyeSk7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=jquery.easydrag.js Content-Type: application/x-javascript; charset=UTF-8; name=jquery.easydrag.js Content-Location: http://elibrary.ru/fancybox/jquery.easydrag.js Content-Transfer-Encoding: Base64 LyoqCiogRWFzeURyYWcgMS41IC0gRHJhZyAmIERyb3AgalF1ZXJ5IFBsdWctaW4K KgoqIFRoYW5rcyBmb3IgdGhlIGNvbW11bml0eSB0aGF0IGlzIGhlbHBpbmcgdGhl IGltcHJvdmVtZW50Ciogb2YgdGhpcyBsaXR0bGUgcGllY2Ugb2YgY29kZS4KKgoq IEZvciB1c2FnZSBpbnN0cnVjdGlvbnMgcGxlYXNlIHZpc2l0IGh0dHA6Ly9mcm9t dmVnYS5jb20vc2NyaXB0cwoqLwoKKGZ1bmN0aW9uKCQpewoKCS8vIHRvIHRyYWNr IGlmIHRoZSBtb3VzZSBidXR0b24gaXMgcHJlc3NlZAoJdmFyIGlzTW91c2VEb3du ICAgID0gZmFsc2U7CgoJLy8gdG8gdHJhY2sgdGhlIGN1cnJlbnQgZWxlbWVudCBi ZWluZyBkcmFnZ2VkCgl2YXIgY3VycmVudEVsZW1lbnQgPSBudWxsOwoKCS8vIGNh bGxiYWNrIGhvbGRlcnMKCXZhciBkcm9wQ2FsbGJhY2tzID0ge307Cgl2YXIgZHJh Z0NhbGxiYWNrcyA9IHt9OwoJCgkvLyBidWJibGluZyBzdGF0dXMKCXZhciBidWJi bGluZ3MgPSB7fTsKCgkvLyBnbG9iYWwgcG9zaXRpb24gcmVjb3JkcwoJdmFyIGxh c3RNb3VzZVg7Cgl2YXIgbGFzdE1vdXNlWTsKCXZhciBsYXN0RWxlbVRvcDsKCXZh ciBsYXN0RWxlbUxlZnQ7CgkKCS8vIHRyYWNrIGVsZW1lbnQgZHJhZ1N0YXR1cwoJ dmFyIGRyYWdTdGF0dXMgPSB7fTsJCgoJLy8gaWYgdXNlciBpcyBob2xkaW5nIGFu eSBoYW5kbGUgb3Igbm90Cgl2YXIgaG9sZGluZ0hhbmRsZXIgPSBmYWxzZTsKCgkv LyByZXR1cm5zIHRoZSBtb3VzZSAoY3Vyc29yKSBjdXJyZW50IHBvc2l0aW9uCgkk LmdldE1vdXNlUG9zaXRpb24gPSBmdW5jdGlvbihlKXsKCQl2YXIgcG9zeCA9IDA7 CgkJdmFyIHBvc3kgPSAwOwoKCQlpZiAoIWUpIHZhciBlID0gd2luZG93LmV2ZW50 OwoKCQlpZiAoZS5wYWdlWCB8fCBlLnBhZ2VZKSB7CgkJCXBvc3ggPSBlLnBhZ2VY OwoJCQlwb3N5ID0gZS5wYWdlWTsKCQl9CgkJZWxzZSBpZiAoZS5jbGllbnRYIHx8 IGUuY2xpZW50WSkgewoJCQlwb3N4ID0gZS5jbGllbnRYICsgZG9jdW1lbnQuYm9k eS5zY3JvbGxMZWZ0ICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExl ZnQ7CgkJCXBvc3kgPSBlLmNsaWVudFkgKyBkb2N1bWVudC5ib2R5LnNjcm9sbFRv cCAgKyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOwoJCX0KCgkJ cmV0dXJuIHsgJ3gnOiBwb3N4LCAneSc6IHBvc3kgfTsKCX07CgoJLy8gdXBkYXRl cyB0aGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgZWxlbWVudCBiZWluZyBkcmFn Z2VkCgkkLnVwZGF0ZVBvc2l0aW9uID0gZnVuY3Rpb24oZSkgewoJCXZhciBwb3Mg PSAkLmdldE1vdXNlUG9zaXRpb24oZSk7CgoJCXZhciBzcGFuWCA9IChwb3MueCAt IGxhc3RNb3VzZVgpOwoJCXZhciBzcGFuWSA9IChwb3MueSAtIGxhc3RNb3VzZVkp OwoKCQkkKGN1cnJlbnRFbGVtZW50KS5jc3MoInRvcCIsICAobGFzdEVsZW1Ub3Ag KyBzcGFuWSkpOwoJCSQoY3VycmVudEVsZW1lbnQpLmNzcygibGVmdCIsIChsYXN0 RWxlbUxlZnQgKyBzcGFuWCkpOwoJfTsKCgkvLyB3aGVuIHRoZSBtb3VzZSBpcyBt b3ZlZCB3aGlsZSB0aGUgbW91c2UgYnV0dG9uIGlzIHByZXNzZWQKCSQoZG9jdW1l bnQpLm1vdXNlbW92ZShmdW5jdGlvbihlKXsKCQlpZihpc01vdXNlRG93biAmJiBk cmFnU3RhdHVzW2N1cnJlbnRFbGVtZW50LmlkXSAhPSAnZmFsc2UnKXsKCQkJLy8g dXBkYXRlIHRoZSBwb3NpdGlvbiBhbmQgY2FsbCB0aGUgcmVnaXN0ZXJlZCBmdW5j dGlvbgoJCQkkLnVwZGF0ZVBvc2l0aW9uKGUpOwoJCQlpZihkcmFnQ2FsbGJhY2tz W2N1cnJlbnRFbGVtZW50LmlkXSAhPSB1bmRlZmluZWQpewoJCQkJZHJhZ0NhbGxi YWNrc1tjdXJyZW50RWxlbWVudC5pZF0oZSwgY3VycmVudEVsZW1lbnQpOwoJCQl9 CgoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfSk7CgoJLy8gd2hlbiB0aGUgbW91c2Ug YnV0dG9uIGlzIHJlbGVhc2VkCgkkKGRvY3VtZW50KS5tb3VzZXVwKGZ1bmN0aW9u KGUpewoJCWlmKGlzTW91c2VEb3duICYmIGRyYWdTdGF0dXNbY3VycmVudEVsZW1l bnQuaWRdICE9ICdmYWxzZScpewoJCQlpc01vdXNlRG93biA9IGZhbHNlOwoJCQlp Zihkcm9wQ2FsbGJhY2tzW2N1cnJlbnRFbGVtZW50LmlkXSAhPSB1bmRlZmluZWQp ewoJCQkJZHJvcENhbGxiYWNrc1tjdXJyZW50RWxlbWVudC5pZF0oZSwgY3VycmVu dEVsZW1lbnQpOwoJCQl9CgoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfSk7CgoJLy8g cmVnaXN0ZXIgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGlsZSBhbiBlbGVt ZW50IGlzIGJlaW5nIGRyYWdnZWQKCSQuZm4ub25kcmFnID0gZnVuY3Rpb24oY2Fs bGJhY2spewoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkJZHJhZ0Nh bGxiYWNrc1t0aGlzLmlkXSA9IGNhbGxiYWNrOwoJCX0pOwoJfTsKCgkvLyByZWdp c3RlciB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gYW4gZWxlbWVudCBp cyBkcm9wcGVkCgkkLmZuLm9uZHJvcCA9IGZ1bmN0aW9uKGNhbGxiYWNrKXsKCQly ZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7CgkJCWRyb3BDYWxsYmFja3NbdGhp cy5pZF0gPSBjYWxsYmFjazsKCQl9KTsKCX07CgkKCS8vIGRpc2FibGUgdGhlIGRy YWdnaW5nIGZlYXR1cmUgZm9yIHRoZSBlbGVtZW50CgkkLmZuLmRyYWdPZmYgPSBm dW5jdGlvbigpewoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkJZHJh Z1N0YXR1c1t0aGlzLmlkXSA9ICdvZmYnOwoJCX0pOwoJfTsKCQoJLy8gZW5hYmxl IHRoZSBkcmFnZ2luZyBmZWF0dXJlIGZvciB0aGUgZWxlbWVudAoJJC5mbi5kcmFn T24gPSBmdW5jdGlvbigpewoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsK CQkJZHJhZ1N0YXR1c1t0aGlzLmlkXSA9ICdvbic7CgkJfSk7Cgl9OwoJCgkvLyBz ZXQgYSBjaGlsZCBlbGVtZW50IGFzIGEgaGFuZGxlcgoJJC5mbi5zZXRIYW5kbGVy ID0gZnVuY3Rpb24oaGFuZGxlcklkKXsKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0 aW9uKCl7CgkJCXZhciBkcmFnZ2FibGUgPSB0aGlzOwoJCQkKCQkJLy8gZW5hYmxl IGV2ZW50IGJ1YmJsaW5nIHNvIHRoZSB1c2VyIGNhbiByZWFjaCB0aGUgaGFuZGxl CgkJCWJ1YmJsaW5nc1t0aGlzLmlkXSA9IHRydWU7CgkJCQoJCQkvLyByZXNldCBj dXJzb3Igc3R5bGUKCQkJJChkcmFnZ2FibGUpLmNzcygiY3Vyc29yIiwgIiIpOwoJ CQkKCQkJLy8gc2V0IGN1cnJlbnQgZHJhZyBzdGF0dXMKCQkJZHJhZ1N0YXR1c1tk cmFnZ2FibGUuaWRdID0gImhhbmRsZXIiOwoKCQkJLy8gY2hhbmdlIGhhbmRsZSBj dXJzb3IgdHlwZQoJCQkkKCIjIitoYW5kbGVySWQpLmNzcygiY3Vyc29yIiwgIm1v dmUiKTsJCgkJCQoJCQkvLyBiaW5kIGV2ZW50IGhhbmRsZXIKCQkJJCgiIyIraGFu ZGxlcklkKS5tb3VzZWRvd24oZnVuY3Rpb24oZSl7CgkJCQlob2xkaW5nSGFuZGxl ciA9IHRydWU7CgkJCQkkKGRyYWdnYWJsZSkudHJpZ2dlcignbW91c2Vkb3duJywg ZSk7CgkJCX0pOwoJCQkKCQkJLy8gYmluZCBldmVudCBoYW5kbGVyCgkJCSQoIiMi K2hhbmRsZXJJZCkubW91c2V1cChmdW5jdGlvbihlKXsKCQkJCWhvbGRpbmdIYW5k bGVyID0gZmFsc2U7CgkJCX0pOwoJCX0pOwoJfQoKCS8vIHNldCBhbiBlbGVtZW50 IGFzIGRyYWdnYWJsZSAtIGFsbG93QnViYmxpbmcgZW5hYmxlcy9kaXNhYmxlcyBl dmVudCBidWJibGluZwoJJC5mbi5lYXN5ZHJhZyA9IGZ1bmN0aW9uKGFsbG93QnVi YmxpbmcpewoKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7CgoJCQkvLyBp ZiBubyBpZCBpcyBkZWZpbmVkIGFzc2lnbiBhIHVuaXF1ZSBvbmUKCQkJaWYodW5k ZWZpbmVkID09IHRoaXMuaWQgfHwgIXRoaXMuaWQubGVuZ3RoKSB0aGlzLmlkID0g ImVhc3lkcmFnIisobmV3IERhdGUoKS5nZXRUaW1lKCkpOwoJCQkKCQkJLy8gc2F2 ZSBldmVudCBidWJibGluZyBzdGF0dXMKCQkJYnViYmxpbmdzW3RoaXMuaWRdID0g YWxsb3dCdWJibGluZyA/IHRydWUgOiBmYWxzZTsKCgkJCS8vIHNldCBkcmFnU3Rh dHVzIAoJCQlkcmFnU3RhdHVzW3RoaXMuaWRdID0gIm9uIjsKCQkJCgkJCS8vIGNo YW5nZSB0aGUgbW91c2UgcG9pbnRlcgoJCQkkKHRoaXMpLmNzcygiY3Vyc29yIiwg Im1vdmUiKTsKCgkJCS8vIHdoZW4gYW4gZWxlbWVudCByZWNlaXZlcyBhIG1vdXNl IHByZXNzCgkJCSQodGhpcykubW91c2Vkb3duKGZ1bmN0aW9uKGUpewoJCQkJCgkJ CQkvLyBqdXN0IHdoZW4gIm9uIiBvciAiaGFuZGxlciIKCQkJCWlmKChkcmFnU3Rh dHVzW3RoaXMuaWRdID09ICJvZmYiKSB8fCAoZHJhZ1N0YXR1c1t0aGlzLmlkXSA9 PSAiaGFuZGxlciIgJiYgIWhvbGRpbmdIYW5kbGVyKSkKCQkJCQlyZXR1cm4gYnVi YmxpbmdzW3RoaXMuaWRdOwoKCQkJCS8vIHNldCBpdCBhcyBhYnNvbHV0ZSBwb3Np dGlvbmVkCgkJCQkkKHRoaXMpLmNzcygicG9zaXRpb24iLCAiYWJzb2x1dGUiKTsK CgkJCQkvLyBzZXQgei1pbmRleAoJCQkJJCh0aGlzKS5jc3MoInotaW5kZXgiLCBw YXJzZUludCggbmV3IERhdGUoKS5nZXRUaW1lKCkvMTAwMCApKTsKCgkJCQkvLyB1 cGRhdGUgdHJhY2sgdmFyaWFibGVzCgkJCQlpc01vdXNlRG93biAgICA9IHRydWU7 CgkJCQljdXJyZW50RWxlbWVudCA9IHRoaXM7CgoJCQkJLy8gcmV0cmlldmUgcG9z aXRpb25pbmcgcHJvcGVydGllcwoJCQkJdmFyIHBvcyAgICA9ICQuZ2V0TW91c2VQ b3NpdGlvbihlKTsKCQkJCWxhc3RNb3VzZVggPSBwb3MueDsKCQkJCWxhc3RNb3Vz ZVkgPSBwb3MueTsKCgkJCQlsYXN0RWxlbVRvcCAgPSB0aGlzLm9mZnNldFRvcDsK CQkJCWxhc3RFbGVtTGVmdCA9IHRoaXMub2Zmc2V0TGVmdDsKCgkJCQkkLnVwZGF0 ZVBvc2l0aW9uKGUpOwoKCQkJCXJldHVybiBidWJibGluZ3NbdGhpcy5pZF07CgkJ CX0pOwoJCX0pOwoJfTsKCn0pKGpRdWVyeSk7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=MathJax.js Content-Type: application/x-javascript; charset=UTF-8; name=MathJax.js Content-Location: http://elibrary.ru/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML Content-Transfer-Encoding: Base64 LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKICoKICogIE1hdGhKYXguanMKICogIAogKiAgVGhlIG1h aW4gY29kZSBmb3IgdGhlIE1hdGhKYXggbWF0aC10eXBlc2V0dGluZyBsaWJyYXJ5 LiAgU2VlIAogKiAgaHR0cDovL3d3dy5tYXRoamF4Lm9yZy8gZm9yIGRldGFpbHMu CiAqICAKICogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiAgCiAqICBDb3B5cmln aHQgKGMpIDIwMDktMjAxMiBEZXNpZ24gU2NpZW5jZSwgSW5jLgogKiAKICogIExp Y2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRo ZSAiTGljZW5zZSIpOwogKiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNl cHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiAgWW91IG1heSBv YnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CiAqIAogKiAgICAgIGh0dHA6 Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKiAKICogIFVu bGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4g d3JpdGluZywgc29mdHdhcmUKICogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNl bnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqICBXSVRI T1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVy IGV4cHJlc3Mgb3IgaW1wbGllZC4KICogIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhl IHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICog IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKi8KCmlmICghd2luZG93 Lk1hdGhKYXgpIHt3aW5kb3cuTWF0aEpheCA9IHt9fQoKTWF0aEpheC5pc1BhY2tl ZCA9IHRydWU7CgppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCYmZG9jdW1lbnQu Y2hpbGROb2RlcyYmZG9jdW1lbnQuY3JlYXRlRWxlbWVudCl7aWYoIXdpbmRvdy5N YXRoSmF4KXt3aW5kb3cuTWF0aEpheD17fX1pZighTWF0aEpheC5IdWIpe01hdGhK YXgudmVyc2lvbj0iMi4wIjtNYXRoSmF4LmZpbGV2ZXJzaW9uPSIyLjAuMyI7KGZ1 bmN0aW9uKGQpe3ZhciBiPXdpbmRvd1tkXTtpZighYil7Yj13aW5kb3dbZF09e319 dmFyIGY9W107dmFyIGM9ZnVuY3Rpb24oZyl7dmFyIGg9Zy5jb25zdHJ1Y3Rvcjtp ZighaCl7aD1uZXcgRnVuY3Rpb24oIiIpfWZvcih2YXIgaSBpbiBnKXtpZihpIT09 ImNvbnN0cnVjdG9yIiYmZy5oYXNPd25Qcm9wZXJ0eShpKSl7aFtpXT1nW2ldfX1y ZXR1cm4gaH07dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJy ZXR1cm4gYXJndW1lbnRzLmNhbGxlZS5Jbml0LmNhbGwodGhpcyxhcmd1bWVudHMp Iil9O3ZhciBlPWEoKTtlLnByb3RvdHlwZT17YnVnX3Rlc3Q6MX07aWYoIWUucHJv dG90eXBlLmJ1Z190ZXN0KXthPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKCl7 cmV0dXJuIGFyZ3VtZW50cy5jYWxsZWUuSW5pdC5jYWxsKHRoaXMsYXJndW1lbnRz KX19fWIuT2JqZWN0PWMoe2NvbnN0cnVjdG9yOmEoKSxTdWJjbGFzczpmdW5jdGlv bihnLGkpe3ZhciBoPWEoKTtoLlNVUEVSPXRoaXM7aC5Jbml0PXRoaXMuSW5pdDto LlN1YmNsYXNzPXRoaXMuU3ViY2xhc3M7aC5BdWdtZW50PXRoaXMuQXVnbWVudDto LnByb3RvRnVuY3Rpb249dGhpcy5wcm90b0Z1bmN0aW9uO2guY2FuPXRoaXMuY2Fu O2guaGFzPXRoaXMuaGFzO2guaXNhPXRoaXMuaXNhO2gucHJvdG90eXBlPW5ldyB0 aGlzKGYpO2gucHJvdG90eXBlLmNvbnN0cnVjdG9yPWg7aC5BdWdtZW50KGcsaSk7 cmV0dXJuIGh9LEluaXQ6ZnVuY3Rpb24oZyl7dmFyIGg9dGhpcztpZihnLmxlbmd0 aD09PTEmJmdbMF09PT1mKXtyZXR1cm4gaH1pZighKGggaW5zdGFuY2VvZiBnLmNh bGxlZSkpe2g9bmV3IGcuY2FsbGVlKGYpfXJldHVybiBoLkluaXQuYXBwbHkoaCxn KXx8aH0sQXVnbWVudDpmdW5jdGlvbihnLGgpe3ZhciBpO2lmKGchPW51bGwpe2Zv cihpIGluIGcpe2lmKGcuaGFzT3duUHJvcGVydHkoaSkpe3RoaXMucHJvdG9GdW5j dGlvbihpLGdbaV0pfX1pZihnLnRvU3RyaW5nIT09dGhpcy5wcm90b3R5cGUudG9T dHJpbmcmJmcudG9TdHJpbmchPT17fS50b1N0cmluZyl7dGhpcy5wcm90b0Z1bmN0 aW9uKCJ0b1N0cmluZyIsZy50b1N0cmluZyl9fWlmKGghPW51bGwpe2ZvcihpIGlu IGgpe2lmKGguaGFzT3duUHJvcGVydHkoaSkpe3RoaXNbaV09aFtpXX19fXJldHVy biB0aGlzfSxwcm90b0Z1bmN0aW9uOmZ1bmN0aW9uKGgsZyl7dGhpcy5wcm90b3R5 cGVbaF09ZztpZih0eXBlb2YgZz09PSJmdW5jdGlvbiIpe2cuU1VQRVI9dGhpcy5T VVBFUi5wcm90b3R5cGV9fSxwcm90b3R5cGU6e0luaXQ6ZnVuY3Rpb24oKXt9LFNV UEVSOmZ1bmN0aW9uKGcpe3JldHVybiBnLmNhbGxlZS5TVVBFUn0sY2FuOmZ1bmN0 aW9uKGcpe3JldHVybiB0eXBlb2YodGhpc1tnXSk9PT0iZnVuY3Rpb24ifSxoYXM6 ZnVuY3Rpb24oZyl7cmV0dXJuIHR5cGVvZih0aGlzW2ddKSE9PSJ1bmRlZmluZWQi fSxpc2E6ZnVuY3Rpb24oZyl7cmV0dXJuKGcgaW5zdGFuY2VvZiBPYmplY3QpJiYo dGhpcyBpbnN0YW5jZW9mIGcpfX0sY2FuOmZ1bmN0aW9uKGcpe3JldHVybiB0aGlz LnByb3RvdHlwZS5jYW4uY2FsbCh0aGlzLGcpfSxoYXM6ZnVuY3Rpb24oZyl7cmV0 dXJuIHRoaXMucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsZyl9LGlzYTpmdW5jdGlv bihoKXt2YXIgZz10aGlzO3doaWxlKGcpe2lmKGc9PT1oKXtyZXR1cm4gdHJ1ZX1l bHNle2c9Zy5TVVBFUn19cmV0dXJuIGZhbHNlfSxTaW1wbGVTVVBFUjpjKHtjb25z dHJ1Y3RvcjpmdW5jdGlvbihnKXtyZXR1cm4gdGhpcy5TaW1wbGVTVVBFUi5kZWZp bmUoZyl9LGRlZmluZTpmdW5jdGlvbihnKXt2YXIgaT17fTtpZihnIT1udWxsKXtm b3IodmFyIGggaW4gZyl7aWYoZy5oYXNPd25Qcm9wZXJ0eShoKSl7aVtoXT10aGlz LndyYXAoaCxnW2hdKX19aWYoZy50b1N0cmluZyE9PXRoaXMucHJvdG90eXBlLnRv U3RyaW5nJiZnLnRvU3RyaW5nIT09e30udG9TdHJpbmcpe2kudG9TdHJpbmc9dGhp cy53cmFwKCJ0b1N0cmluZyIsZy50b1N0cmluZyl9fXJldHVybiBpfSx3cmFwOmZ1 bmN0aW9uKGksaCl7aWYodHlwZW9mKGgpPT09ImZ1bmN0aW9uIiYmaC50b1N0cmlu ZygpLm1hdGNoKC9cLlxzKlNVUEVSXHMqXCgvKSl7dmFyIGc9bmV3IEZ1bmN0aW9u KHRoaXMud3JhcHBlcik7Zy5sYWJlbD1pO2cub3JpZ2luYWw9aDtoPWc7Zy50b1N0 cmluZz10aGlzLnN0cmluZ2lmeX1yZXR1cm4gaH0sd3JhcHBlcjpmdW5jdGlvbigp e3ZhciBoPWFyZ3VtZW50cy5jYWxsZWU7dGhpcy5TVVBFUj1oLlNVUEVSW2gubGFi ZWxdO3RyeXt2YXIgZz1oLm9yaWdpbmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1j YXRjaChpKXtkZWxldGUgdGhpcy5TVVBFUjt0aHJvdyBpfWRlbGV0ZSB0aGlzLlNV UEVSO3JldHVybiBnfS50b1N0cmluZygpLnJlcGxhY2UoL15ccypmdW5jdGlvblxz KlwoXClccypce1xzKi9pLCIiKS5yZXBsYWNlKC9ccypcfVxzKiQvaSwiIiksdG9T dHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcmlnaW5hbC50b1N0cmluZy5h cHBseSh0aGlzLm9yaWdpbmFsLGFyZ3VtZW50cyl9fSl9KX0pKCJNYXRoSmF4Iik7 KGZ1bmN0aW9uKEJBU0VOQU1FKXt2YXIgQkFTRT13aW5kb3dbQkFTRU5BTUVdO2lm KCFCQVNFKXtCQVNFPXdpbmRvd1tCQVNFTkFNRV09e319dmFyIENBTExCQUNLPWZ1 bmN0aW9uKGRhdGEpe3ZhciBjYj1uZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVu dHMuY2FsbGVlLmV4ZWN1dGUuYXBwbHkoYXJndW1lbnRzLmNhbGxlZSxhcmd1bWVu dHMpIik7Zm9yKHZhciBpZCBpbiBDQUxMQkFDSy5wcm90b3R5cGUpe2lmKENBTExC QUNLLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShpZCkpe2lmKHR5cGVvZihkYXRh W2lkXSkhPT0idW5kZWZpbmVkIil7Y2JbaWRdPWRhdGFbaWRdfWVsc2V7Y2JbaWRd PUNBTExCQUNLLnByb3RvdHlwZVtpZF19fX1jYi50b1N0cmluZz1DQUxMQkFDSy5w cm90b3R5cGUudG9TdHJpbmc7cmV0dXJuIGNifTtDQUxMQkFDSy5wcm90b3R5cGU9 e2lzQ2FsbGJhY2s6dHJ1ZSxob29rOmZ1bmN0aW9uKCl7fSxkYXRhOltdLG9iamVj dDp3aW5kb3csZXhlY3V0ZTpmdW5jdGlvbigpe2lmKCF0aGlzLmNhbGxlZHx8dGhp cy5hdXRvUmVzZXQpe3RoaXMuY2FsbGVkPSF0aGlzLmF1dG9SZXNldDtyZXR1cm4g dGhpcy5ob29rLmFwcGx5KHRoaXMub2JqZWN0LHRoaXMuZGF0YS5jb25jYXQoW10u c2xpY2UuY2FsbChhcmd1bWVudHMsMCkpKX19LHJlc2V0OmZ1bmN0aW9uKCl7ZGVs ZXRlIHRoaXMuY2FsbGVkfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlz Lmhvb2sudG9TdHJpbmcuYXBwbHkodGhpcy5ob29rLGFyZ3VtZW50cyl9fTt2YXIg SVNDQUxMQkFDSz1mdW5jdGlvbihmKXtyZXR1cm4odHlwZW9mKGYpPT09ImZ1bmN0 aW9uIiYmZi5pc0NhbGxiYWNrKX07dmFyIEVWQUw9ZnVuY3Rpb24oY29kZSl7cmV0 dXJuIGV2YWwuY2FsbCh3aW5kb3csY29kZSl9O0VWQUwoInZhciBfX1RlU3RfVmFS X18gPSAxIik7aWYod2luZG93Ll9fVGVTdF9WYVJfXyl7dHJ5e2RlbGV0ZSB3aW5k b3cuX19UZVN0X1ZhUl9ffWNhdGNoKGVycm9yKXt3aW5kb3cuX19UZVN0X1ZhUl9f PW51bGx9fWVsc2V7aWYod2luZG93LmV4ZWNTY3JpcHQpe0VWQUw9ZnVuY3Rpb24o Y29kZSl7QkFTRS5fX2NvZGU9Y29kZTtjb2RlPSJ0cnkgeyIrQkFTRU5BTUUrIi5f X3Jlc3VsdCA9IGV2YWwoIitCQVNFTkFNRSsiLl9fY29kZSl9IGNhdGNoKGVycikg eyIrQkFTRU5BTUUrIi5fX3Jlc3VsdCA9IGVycn0iO3dpbmRvdy5leGVjU2NyaXB0 KGNvZGUpO3ZhciByZXN1bHQ9QkFTRS5fX3Jlc3VsdDtkZWxldGUgQkFTRS5fX3Jl c3VsdDtkZWxldGUgQkFTRS5fX2NvZGU7aWYocmVzdWx0IGluc3RhbmNlb2YgRXJy b3Ipe3Rocm93IHJlc3VsdH1yZXR1cm4gcmVzdWx0fX1lbHNle0VWQUw9ZnVuY3Rp b24oY29kZSl7QkFTRS5fX2NvZGU9Y29kZTtjb2RlPSJ0cnkgeyIrQkFTRU5BTUUr Ii5fX3Jlc3VsdCA9IGV2YWwoIitCQVNFTkFNRSsiLl9fY29kZSl9IGNhdGNoKGVy cikgeyIrQkFTRU5BTUUrIi5fX3Jlc3VsdCA9IGVycn0iO3ZhciBoZWFkPShkb2N1 bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpKVswXTtpZighaGVhZCl7 aGVhZD1kb2N1bWVudC5ib2R5fXZhciBzY3JpcHQ9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgic2NyaXB0Iik7c2NyaXB0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0 ZVRleHROb2RlKGNvZGUpKTtoZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7aGVhZC5y ZW1vdmVDaGlsZChzY3JpcHQpO3ZhciByZXN1bHQ9QkFTRS5fX3Jlc3VsdDtkZWxl dGUgQkFTRS5fX3Jlc3VsdDtkZWxldGUgQkFTRS5fX2NvZGU7aWYocmVzdWx0IGlu c3RhbmNlb2YgRXJyb3Ipe3Rocm93IHJlc3VsdH1yZXR1cm4gcmVzdWx0fX19dmFy IFVTSU5HPWZ1bmN0aW9uKGFyZ3MsaSl7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtp Zihhcmd1bWVudHMubGVuZ3RoPT09MiYmISh0eXBlb2YgYXJndW1lbnRzWzBdPT09 ImZ1bmN0aW9uIikmJmFyZ3VtZW50c1swXSBpbnN0YW5jZW9mIE9iamVjdCYmdHlw ZW9mIGFyZ3VtZW50c1sxXT09PSJudW1iZXIiKXthcmdzPVtdLnNsaWNlLmNhbGwo YXJncyxpKX1lbHNle2FyZ3M9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCl9fWlm KGFyZ3MgaW5zdGFuY2VvZiBBcnJheSYmYXJncy5sZW5ndGg9PT0xKXthcmdzPWFy Z3NbMF19aWYodHlwZW9mIGFyZ3M9PT0iZnVuY3Rpb24iKXtpZihhcmdzLmV4ZWN1 dGU9PT1DQUxMQkFDSy5wcm90b3R5cGUuZXhlY3V0ZSl7cmV0dXJuIGFyZ3N9cmV0 dXJuIENBTExCQUNLKHtob29rOmFyZ3N9KX1lbHNle2lmKGFyZ3MgaW5zdGFuY2Vv ZiBBcnJheSl7aWYodHlwZW9mKGFyZ3NbMF0pPT09InN0cmluZyImJmFyZ3NbMV0g aW5zdGFuY2VvZiBPYmplY3QmJnR5cGVvZiBhcmdzWzFdW2FyZ3NbMF1dPT09ImZ1 bmN0aW9uIil7cmV0dXJuIENBTExCQUNLKHtob29rOmFyZ3NbMV1bYXJnc1swXV0s b2JqZWN0OmFyZ3NbMV0sZGF0YTphcmdzLnNsaWNlKDIpfSl9ZWxzZXtpZih0eXBl b2YgYXJnc1swXT09PSJmdW5jdGlvbiIpe3JldHVybiBDQUxMQkFDSyh7aG9vazph cmdzWzBdLGRhdGE6YXJncy5zbGljZSgxKX0pfWVsc2V7aWYodHlwZW9mIGFyZ3Nb MV09PT0iZnVuY3Rpb24iKXtyZXR1cm4gQ0FMTEJBQ0soe2hvb2s6YXJnc1sxXSxv YmplY3Q6YXJnc1swXSxkYXRhOmFyZ3Muc2xpY2UoMil9KX19fX1lbHNle2lmKHR5 cGVvZihhcmdzKT09PSJzdHJpbmciKXtyZXR1cm4gQ0FMTEJBQ0soe2hvb2s6RVZB TCxkYXRhOlthcmdzXX0pfWVsc2V7aWYoYXJncyBpbnN0YW5jZW9mIE9iamVjdCl7 cmV0dXJuIENBTExCQUNLKGFyZ3MpfWVsc2V7aWYodHlwZW9mKGFyZ3MpPT09InVu ZGVmaW5lZCIpe3JldHVybiBDQUxMQkFDSyh7fSl9fX19fXRocm93IEVycm9yKCJD YW4ndCBtYWtlIGNhbGxiYWNrIGZyb20gZ2l2ZW4gZGF0YSIpfTt2YXIgREVMQVk9 ZnVuY3Rpb24odGltZSxjYWxsYmFjayl7Y2FsbGJhY2s9VVNJTkcoY2FsbGJhY2sp O2NhbGxiYWNrLnRpbWVvdXQ9c2V0VGltZW91dChjYWxsYmFjayx0aW1lKTtyZXR1 cm4gY2FsbGJhY2t9O3ZhciBXQUlURk9SPWZ1bmN0aW9uKGNhbGxiYWNrLHNpZ25h bCl7Y2FsbGJhY2s9VVNJTkcoY2FsbGJhY2spO2lmKCFjYWxsYmFjay5jYWxsZWQp e1dBSVRTSUdOQUwoY2FsbGJhY2ssc2lnbmFsKTtzaWduYWwucGVuZGluZysrfX07 dmFyIFdBSVRFWEVDVVRFPWZ1bmN0aW9uKCl7dmFyIHNpZ25hbHM9dGhpcy5zaWdu YWw7ZGVsZXRlIHRoaXMuc2lnbmFsO3RoaXMuZXhlY3V0ZT10aGlzLm9sZEV4ZWN1 dGU7ZGVsZXRlIHRoaXMub2xkRXhlY3V0ZTt2YXIgcmVzdWx0PXRoaXMuZXhlY3V0 ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoSVNDQUxMQkFDSyhyZXN1bHQpJiYh cmVzdWx0LmNhbGxlZCl7V0FJVFNJR05BTChyZXN1bHQsc2lnbmFscyl9ZWxzZXtm b3IodmFyIGk9MCxtPXNpZ25hbHMubGVuZ3RoO2k8bTtpKyspe3NpZ25hbHNbaV0u cGVuZGluZy0tO2lmKHNpZ25hbHNbaV0ucGVuZGluZzw9MCl7c2lnbmFsc1tpXS5j YWxsKCl9fX19O3ZhciBXQUlUU0lHTkFMPWZ1bmN0aW9uKGNhbGxiYWNrLHNpZ25h bHMpe2lmKCEoc2lnbmFscyBpbnN0YW5jZW9mIEFycmF5KSl7c2lnbmFscz1bc2ln bmFsc119aWYoIWNhbGxiYWNrLnNpZ25hbCl7Y2FsbGJhY2sub2xkRXhlY3V0ZT1j YWxsYmFjay5leGVjdXRlO2NhbGxiYWNrLmV4ZWN1dGU9V0FJVEVYRUNVVEU7Y2Fs bGJhY2suc2lnbmFsPXNpZ25hbHN9ZWxzZXtpZihzaWduYWxzLmxlbmd0aD09PTEp e2NhbGxiYWNrLnNpZ25hbC5wdXNoKHNpZ25hbHNbMF0pfWVsc2V7Y2FsbGJhY2su c2lnbmFsPWNhbGxiYWNrLnNpZ25hbC5jb25jYXQoc2lnbmFscyl9fX07dmFyIEFG VEVSPWZ1bmN0aW9uKGNhbGxiYWNrKXtjYWxsYmFjaz1VU0lORyhjYWxsYmFjayk7 Y2FsbGJhY2sucGVuZGluZz0wO2Zvcih2YXIgaT0xLG09YXJndW1lbnRzLmxlbmd0 aDtpPG07aSsrKXtpZihhcmd1bWVudHNbaV0pe1dBSVRGT1IoYXJndW1lbnRzW2ld LGNhbGxiYWNrKX19aWYoY2FsbGJhY2sucGVuZGluZz09PTApe3ZhciByZXN1bHQ9 Y2FsbGJhY2soKTtpZihJU0NBTExCQUNLKHJlc3VsdCkpe2NhbGxiYWNrPXJlc3Vs dH19cmV0dXJuIGNhbGxiYWNrfTt2YXIgSE9PS1M9TWF0aEpheC5PYmplY3QuU3Vi Y2xhc3Moe0luaXQ6ZnVuY3Rpb24ocmVzZXQpe3RoaXMuaG9va3M9W107dGhpcy5y ZXNldD1yZXNldH0sQWRkOmZ1bmN0aW9uKGhvb2sscHJpb3JpdHkpe2lmKHByaW9y aXR5PT1udWxsKXtwcmlvcml0eT0xMH1pZighSVNDQUxMQkFDSyhob29rKSl7aG9v az1VU0lORyhob29rKX1ob29rLnByaW9yaXR5PXByaW9yaXR5O3ZhciBpPXRoaXMu aG9va3MubGVuZ3RoO3doaWxlKGk+MCYmcHJpb3JpdHk8dGhpcy5ob29rc1tpLTFd LnByaW9yaXR5KXtpLS19dGhpcy5ob29rcy5zcGxpY2UoaSwwLGhvb2spO3JldHVy biBob29rfSxSZW1vdmU6ZnVuY3Rpb24oaG9vayl7Zm9yKHZhciBpPTAsbT10aGlz Lmhvb2tzLmxlbmd0aDtpPG07aSsrKXtpZih0aGlzLmhvb2tzW2ldPT09aG9vayl7 dGhpcy5ob29rcy5zcGxpY2UoaSwxKTtyZXR1cm59fX0sRXhlY3V0ZTpmdW5jdGlv bigpe3ZhciBjYWxsYmFja3M9W3t9XTtmb3IodmFyIGk9MCxtPXRoaXMuaG9va3Mu bGVuZ3RoO2k8bTtpKyspe2lmKHRoaXMucmVzZXQpe3RoaXMuaG9va3NbaV0ucmVz ZXQoKX12YXIgcmVzdWx0PXRoaXMuaG9va3NbaV0uYXBwbHkod2luZG93LGFyZ3Vt ZW50cyk7aWYoSVNDQUxMQkFDSyhyZXN1bHQpJiYhcmVzdWx0LmNhbGxlZCl7Y2Fs bGJhY2tzLnB1c2gocmVzdWx0KX19aWYoY2FsbGJhY2tzLmxlbmd0aD09PTEpe3Jl dHVybiBudWxsfWlmKGNhbGxiYWNrcy5sZW5ndGg9PT0yKXtyZXR1cm4gY2FsbGJh Y2tzWzFdfXJldHVybiBBRlRFUi5hcHBseSh7fSxjYWxsYmFja3MpfX0pO3ZhciBF WEVDVVRFSE9PS1M9ZnVuY3Rpb24oaG9va3MsZGF0YSxyZXNldCl7aWYoIWhvb2tz KXtyZXR1cm4gbnVsbH1pZighKGhvb2tzIGluc3RhbmNlb2YgQXJyYXkpKXtob29r cz1baG9va3NdfWlmKCEoZGF0YSBpbnN0YW5jZW9mIEFycmF5KSl7ZGF0YT0oZGF0 YT09bnVsbD9bXTpbZGF0YV0pfXZhciBoYW5kbGVyPUhPT0tTKHJlc2V0KTtmb3Io dmFyIGk9MCxtPWhvb2tzLmxlbmd0aDtpPG07aSsrKXtoYW5kbGVyLkFkZChob29r c1tpXSl9cmV0dXJuIGhhbmRsZXIuRXhlY3V0ZS5hcHBseShoYW5kbGVyLGRhdGEp fTt2YXIgUVVFVUU9QkFTRS5PYmplY3QuU3ViY2xhc3Moe0luaXQ6ZnVuY3Rpb24o KXt0aGlzLnBlbmRpbmc9MDt0aGlzLnJ1bm5pbmc9MDt0aGlzLnF1ZXVlPVtdO3Ro aXMuUHVzaC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LFB1c2g6ZnVuY3Rpb24oKXt2 YXIgY2FsbGJhY2s7Zm9yKHZhciBpPTAsbT1hcmd1bWVudHMubGVuZ3RoO2k8bTtp Kyspe2NhbGxiYWNrPVVTSU5HKGFyZ3VtZW50c1tpXSk7aWYoY2FsbGJhY2s9PT1h cmd1bWVudHNbaV0mJiFjYWxsYmFjay5jYWxsZWQpe2NhbGxiYWNrPVVTSU5HKFsi d2FpdCIsdGhpcyxjYWxsYmFja10pfXRoaXMucXVldWUucHVzaChjYWxsYmFjayl9 aWYoIXRoaXMucnVubmluZyYmIXRoaXMucGVuZGluZyl7dGhpcy5Qcm9jZXNzKCl9 cmV0dXJuIGNhbGxiYWNrfSxQcm9jZXNzOmZ1bmN0aW9uKHF1ZXVlKXt3aGlsZSgh dGhpcy5ydW5uaW5nJiYhdGhpcy5wZW5kaW5nJiZ0aGlzLnF1ZXVlLmxlbmd0aCl7 dmFyIGNhbGxiYWNrPXRoaXMucXVldWVbMF07cXVldWU9dGhpcy5xdWV1ZS5zbGlj ZSgxKTt0aGlzLnF1ZXVlPVtdO3RoaXMuU3VzcGVuZCgpO3ZhciByZXN1bHQ9Y2Fs bGJhY2soKTt0aGlzLlJlc3VtZSgpO2lmKHF1ZXVlLmxlbmd0aCl7dGhpcy5xdWV1 ZT1xdWV1ZS5jb25jYXQodGhpcy5xdWV1ZSl9aWYoSVNDQUxMQkFDSyhyZXN1bHQp JiYhcmVzdWx0LmNhbGxlZCl7V0FJVEZPUihyZXN1bHQsdGhpcyl9fX0sU3VzcGVu ZDpmdW5jdGlvbigpe3RoaXMucnVubmluZysrfSxSZXN1bWU6ZnVuY3Rpb24oKXtp Zih0aGlzLnJ1bm5pbmcpe3RoaXMucnVubmluZy0tfX0sY2FsbDpmdW5jdGlvbigp e3RoaXMuUHJvY2Vzcy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHdhaXQ6ZnVuY3Rp b24oY2FsbGJhY2spe3JldHVybiBjYWxsYmFja319KTt2YXIgU0lHTkFMPVFVRVVF LlN1YmNsYXNzKHtJbml0OmZ1bmN0aW9uKG5hbWUpe1FVRVVFLnByb3RvdHlwZS5J bml0LmNhbGwodGhpcyk7dGhpcy5uYW1lPW5hbWU7dGhpcy5wb3N0ZWQ9W107dGhp cy5saXN0ZW5lcnM9SE9PS1ModHJ1ZSl9LFBvc3Q6ZnVuY3Rpb24obWVzc2FnZSxj YWxsYmFjayxmb3JnZXQpe2NhbGxiYWNrPVVTSU5HKGNhbGxiYWNrKTtpZih0aGlz LnBvc3Rpbmd8fHRoaXMucGVuZGluZyl7dGhpcy5QdXNoKFsiUG9zdCIsdGhpcyxt ZXNzYWdlLGNhbGxiYWNrLGZvcmdldF0pfWVsc2V7dGhpcy5jYWxsYmFjaz1jYWxs YmFjaztjYWxsYmFjay5yZXNldCgpO2lmKCFmb3JnZXQpe3RoaXMucG9zdGVkLnB1 c2gobWVzc2FnZSl9dGhpcy5TdXNwZW5kKCk7dGhpcy5wb3N0aW5nPXRydWU7dmFy IHJlc3VsdD10aGlzLmxpc3RlbmVycy5FeGVjdXRlKG1lc3NhZ2UpO2lmKElTQ0FM TEJBQ0socmVzdWx0KSYmIXJlc3VsdC5jYWxsZWQpe1dBSVRGT1IocmVzdWx0LHRo aXMpfXRoaXMuUmVzdW1lKCk7ZGVsZXRlIHRoaXMucG9zdGluZztpZighdGhpcy5w ZW5kaW5nKXt0aGlzLmNhbGwoKX19cmV0dXJuIGNhbGxiYWNrfSxDbGVhcjpmdW5j dGlvbihjYWxsYmFjayl7Y2FsbGJhY2s9VVNJTkcoY2FsbGJhY2spO2lmKHRoaXMu cG9zdGluZ3x8dGhpcy5wZW5kaW5nKXtjYWxsYmFjaz10aGlzLlB1c2goWyJDbGVh ciIsdGhpcyxjYWxsYmFja10pfWVsc2V7dGhpcy5wb3N0ZWQ9W107Y2FsbGJhY2so KX1yZXR1cm4gY2FsbGJhY2t9LGNhbGw6ZnVuY3Rpb24oKXt0aGlzLmNhbGxiYWNr KHRoaXMpO3RoaXMuUHJvY2VzcygpfSxJbnRlcmVzdDpmdW5jdGlvbihjYWxsYmFj ayxpZ25vcmVQYXN0LHByaW9yaXR5KXtjYWxsYmFjaz1VU0lORyhjYWxsYmFjayk7 dGhpcy5saXN0ZW5lcnMuQWRkKGNhbGxiYWNrLHByaW9yaXR5KTtpZighaWdub3Jl UGFzdCl7Zm9yKHZhciBpPTAsbT10aGlzLnBvc3RlZC5sZW5ndGg7aTxtO2krKyl7 Y2FsbGJhY2sucmVzZXQoKTt2YXIgcmVzdWx0PWNhbGxiYWNrKHRoaXMucG9zdGVk W2ldKTtpZihJU0NBTExCQUNLKHJlc3VsdCkmJmk9PT10aGlzLnBvc3RlZC5sZW5n dGgtMSl7V0FJVEZPUihyZXN1bHQsdGhpcyl9fX1yZXR1cm4gY2FsbGJhY2t9LE5v SW50ZXJlc3Q6ZnVuY3Rpb24oY2FsbGJhY2spe3RoaXMubGlzdGVuZXJzLlJlbW92 ZShjYWxsYmFjayl9LE1lc3NhZ2VIb29rOmZ1bmN0aW9uKG1zZyxjYWxsYmFjayxw cmlvcml0eSl7Y2FsbGJhY2s9VVNJTkcoY2FsbGJhY2spO2lmKCF0aGlzLmhvb2tz KXt0aGlzLmhvb2tzPXt9O3RoaXMuSW50ZXJlc3QoWyJFeGVjdXRlSG9va3MiLHRo aXNdKX1pZighdGhpcy5ob29rc1ttc2ddKXt0aGlzLmhvb2tzW21zZ109SE9PS1Mo dHJ1ZSl9dGhpcy5ob29rc1ttc2ddLkFkZChjYWxsYmFjayxwcmlvcml0eSk7Zm9y KHZhciBpPTAsbT10aGlzLnBvc3RlZC5sZW5ndGg7aTxtO2krKyl7aWYodGhpcy5w b3N0ZWRbaV09PW1zZyl7Y2FsbGJhY2sucmVzZXQoKTtjYWxsYmFjayh0aGlzLnBv c3RlZFtpXSl9fXJldHVybiBjYWxsYmFja30sRXhlY3V0ZUhvb2tzOmZ1bmN0aW9u KG1zZyxtb3JlKXt2YXIgdHlwZT0oKG1zZyBpbnN0YW5jZW9mIEFycmF5KT9tc2db MF06bXNnKTtpZighdGhpcy5ob29rc1t0eXBlXSl7cmV0dXJuIG51bGx9cmV0dXJu IHRoaXMuaG9va3NbdHlwZV0uRXhlY3V0ZShtc2cpfX0se3NpZ25hbHM6e30sZmlu ZDpmdW5jdGlvbihuYW1lKXtpZighU0lHTkFMLnNpZ25hbHNbbmFtZV0pe1NJR05B TC5zaWduYWxzW25hbWVdPW5ldyBTSUdOQUwobmFtZSl9cmV0dXJuIFNJR05BTC5z aWduYWxzW25hbWVdfX0pO0JBU0UuQ2FsbGJhY2s9QkFTRS5DYWxsQmFjaz1VU0lO RztCQVNFLkNhbGxiYWNrLkRlbGF5PURFTEFZO0JBU0UuQ2FsbGJhY2suQWZ0ZXI9 QUZURVI7QkFTRS5DYWxsYmFjay5RdWV1ZT1RVUVVRTtCQVNFLkNhbGxiYWNrLlNp Z25hbD1TSUdOQUwuZmluZDtCQVNFLkNhbGxiYWNrLkhvb2tzPUhPT0tTO0JBU0Uu Q2FsbGJhY2suRXhlY3V0ZUhvb2tzPUVYRUNVVEVIT09LU30pKCJNYXRoSmF4Iik7 KGZ1bmN0aW9uKGQpe3ZhciBhPXdpbmRvd1tkXTtpZighYSl7YT13aW5kb3dbZF09 e319dmFyIGM9KG5hdmlnYXRvci52ZW5kb3I9PT0iQXBwbGUgQ29tcHV0ZXIsIElu Yy4iJiZ0eXBlb2YgbmF2aWdhdG9yLnZlbmRvclN1Yj09PSJ1bmRlZmluZWQiKTt2 YXIgZj0wO3ZhciBnPWZ1bmN0aW9uKGgpe2lmKGRvY3VtZW50LnN0eWxlU2hlZXRz JiZkb2N1bWVudC5zdHlsZVNoZWV0cy5sZW5ndGg+Zil7Zj1kb2N1bWVudC5zdHls ZVNoZWV0cy5sZW5ndGh9aWYoIWgpe2g9KGRvY3VtZW50LmdldEVsZW1lbnRzQnlU YWdOYW1lKCJoZWFkIikpWzBdO2lmKCFoKXtoPWRvY3VtZW50LmJvZHl9fXJldHVy biBofTt2YXIgZT1bXTt2YXIgYj1mdW5jdGlvbigpe2Zvcih2YXIgaj0wLGg9ZS5s ZW5ndGg7ajxoO2orKyl7YS5BamF4LmhlYWQucmVtb3ZlQ2hpbGQoZVtqXSl9ZT1b XX07YS5BamF4PXtsb2FkZWQ6e30sbG9hZGluZzp7fSxsb2FkSG9va3M6e30sdGlt ZW91dDoxNSoxMDAwLHN0eWxlRGVsYXk6MSxjb25maWc6e3Jvb3Q6IiJ9LFNUQVRV Uzp7T0s6MSxFUlJPUjotMX0scm9vdFBhdHRlcm46bmV3IFJlZ0V4cCgiXlxcWyIr ZCsiXFxdIiksZmlsZVVSTDpmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXBsYWNlKHRo aXMucm9vdFBhdHRlcm4sdGhpcy5jb25maWcucm9vdCl9LFJlcXVpcmU6ZnVuY3Rp b24oaixtKXttPWEuQ2FsbGJhY2sobSk7dmFyIGs7aWYoaiBpbnN0YW5jZW9mIE9i amVjdCl7Zm9yKHZhciBoIGluIGope31rPWgudG9VcHBlckNhc2UoKTtqPWpbaF19 ZWxzZXtrPWouc3BsaXQoL1wuLykucG9wKCkudG9VcHBlckNhc2UoKX1qPXRoaXMu ZmlsZVVSTChqKTtpZih0aGlzLmxvYWRlZFtqXSl7bSh0aGlzLmxvYWRlZFtqXSl9 ZWxzZXt2YXIgbD17fTtsW2tdPWo7dGhpcy5Mb2FkKGwsbSl9cmV0dXJuIG19LExv YWQ6ZnVuY3Rpb24oaixsKXtsPWEuQ2FsbGJhY2sobCk7dmFyIGs7aWYoaiBpbnN0 YW5jZW9mIE9iamVjdCl7Zm9yKHZhciBoIGluIGope31rPWgudG9VcHBlckNhc2Uo KTtqPWpbaF19ZWxzZXtrPWouc3BsaXQoL1wuLykucG9wKCkudG9VcHBlckNhc2Uo KX1qPXRoaXMuZmlsZVVSTChqKTtpZih0aGlzLmxvYWRpbmdbal0pe3RoaXMuYWRk SG9vayhqLGwpfWVsc2V7dGhpcy5oZWFkPWcodGhpcy5oZWFkKTtpZih0aGlzLmxv YWRlcltrXSl7dGhpcy5sb2FkZXJba10uY2FsbCh0aGlzLGosbCl9ZWxzZXt0aHJv dyBFcnJvcigiQ2FuJ3QgbG9hZCBmaWxlcyBvZiB0eXBlICIrayl9fXJldHVybiBs fSxMb2FkSG9vazpmdW5jdGlvbihrLGwsail7bD1hLkNhbGxiYWNrKGwpO2lmKGsg aW5zdGFuY2VvZiBPYmplY3Qpe2Zvcih2YXIgaCBpbiBrKXtrPWtbaF19fWs9dGhp cy5maWxlVVJMKGspO2lmKHRoaXMubG9hZGVkW2tdKXtsKHRoaXMubG9hZGVkW2td KX1lbHNle3RoaXMuYWRkSG9vayhrLGwsail9cmV0dXJuIGx9LGFkZEhvb2s6ZnVu Y3Rpb24oaSxqLGgpe2lmKCF0aGlzLmxvYWRIb29rc1tpXSl7dGhpcy5sb2FkSG9v a3NbaV09TWF0aEpheC5DYWxsYmFjay5Ib29rcygpfXRoaXMubG9hZEhvb2tzW2ld LkFkZChqLGgpfSxQcmVsb2FkaW5nOmZ1bmN0aW9uKCl7Zm9yKHZhciBrPTAsaD1h cmd1bWVudHMubGVuZ3RoO2s8aDtrKyspe3ZhciBqPXRoaXMuZmlsZVVSTChhcmd1 bWVudHNba10pO2lmKCF0aGlzLmxvYWRpbmdbal0pe3RoaXMubG9hZGluZ1tqXT17 cHJlbG9hZGVkOnRydWV9fX19LGxvYWRlcjp7SlM6ZnVuY3Rpb24oaSxrKXt2YXIg aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt2YXIgaj1hLkNhbGxi YWNrKFsibG9hZFRpbWVvdXQiLHRoaXMsaV0pO3RoaXMubG9hZGluZ1tpXT17Y2Fs bGJhY2s6ayxtZXNzYWdlOmEuTWVzc2FnZS5GaWxlKGkpLHRpbWVvdXQ6c2V0VGlt ZW91dChqLHRoaXMudGltZW91dCksc3RhdHVzOnRoaXMuU1RBVFVTLk9LLHNjcmlw dDpofTtoLm9uZXJyb3I9ajtoLnR5cGU9InRleHQvamF2YXNjcmlwdCI7aC5zcmM9 aTt0aGlzLmhlYWQuYXBwZW5kQ2hpbGQoaCl9LENTUzpmdW5jdGlvbihoLGope3Zh ciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtpLnJlbD0ic3R5bGVz aGVldCI7aS50eXBlPSJ0ZXh0L2NzcyI7aS5ocmVmPWg7dGhpcy5sb2FkaW5nW2hd PXtjYWxsYmFjazpqLG1lc3NhZ2U6YS5NZXNzYWdlLkZpbGUoaCksc3RhdHVzOnRo aXMuU1RBVFVTLk9LfTt0aGlzLmhlYWQuYXBwZW5kQ2hpbGQoaSk7dGhpcy50aW1l ci5jcmVhdGUuY2FsbCh0aGlzLFt0aGlzLnRpbWVyLmZpbGUsaF0saSl9fSx0aW1l cjp7Y3JlYXRlOmZ1bmN0aW9uKGksaCl7aT1hLkNhbGxiYWNrKGkpO2lmKGgubm9k ZU5hbWU9PT0iU1RZTEUiJiZoLnN0eWxlU2hlZXQmJnR5cGVvZihoLnN0eWxlU2hl ZXQuY3NzVGV4dCkhPT0idW5kZWZpbmVkIil7aSh0aGlzLlNUQVRVUy5PSyl9ZWxz ZXtpZih3aW5kb3cuY2hyb21lJiZ0eXBlb2Yod2luZG93LnNlc3Npb25TdG9yYWdl KSE9PSJ1bmRlZmluZWQiJiZoLm5vZGVOYW1lPT09IlNUWUxFIil7aSh0aGlzLlNU QVRVUy5PSyl9ZWxzZXtpZihjKXt0aGlzLnRpbWVyLnN0YXJ0KHRoaXMsW3RoaXMu dGltZXIuY2hlY2tTYWZhcmkyLGYrKyxpXSx0aGlzLnN0eWxlRGVsYXkpfWVsc2V7 dGhpcy50aW1lci5zdGFydCh0aGlzLFt0aGlzLnRpbWVyLmNoZWNrTGVuZ3RoLGgs aV0sdGhpcy5zdHlsZURlbGF5KX19fXJldHVybiBpfSxzdGFydDpmdW5jdGlvbihp LGgsaixrKXtoPWEuQ2FsbGJhY2soaCk7aC5leGVjdXRlPXRoaXMuZXhlY3V0ZTto LnRpbWU9dGhpcy50aW1lO2guU1RBVFVTPWkuU1RBVFVTO2gudGltZW91dD1rfHxp LnRpbWVvdXQ7aC5kZWxheT1oLnRvdGFsPTA7aWYoail7c2V0VGltZW91dChoLGop fWVsc2V7aCgpfX0sdGltZTpmdW5jdGlvbihoKXt0aGlzLnRvdGFsKz10aGlzLmRl bGF5O3RoaXMuZGVsYXk9TWF0aC5mbG9vcih0aGlzLmRlbGF5KjEuMDUrNSk7aWYo dGhpcy50b3RhbD49dGhpcy50aW1lb3V0KXtoKHRoaXMuU1RBVFVTLkVSUk9SKTty ZXR1cm4gMX1yZXR1cm4gMH0sZmlsZTpmdW5jdGlvbihpLGgpe2lmKGg8MCl7YS5B amF4LmxvYWRUaW1lb3V0KGkpfWVsc2V7YS5BamF4LmxvYWRDb21wbGV0ZShpKX19 LGV4ZWN1dGU6ZnVuY3Rpb24oKXt0aGlzLmhvb2suY2FsbCh0aGlzLm9iamVjdCx0 aGlzLHRoaXMuZGF0YVswXSx0aGlzLmRhdGFbMV0pfSxjaGVja1NhZmFyaTI6ZnVu Y3Rpb24oaCxpLGope2lmKGgudGltZShqKSl7cmV0dXJufWlmKGRvY3VtZW50LnN0 eWxlU2hlZXRzLmxlbmd0aD5pJiZkb2N1bWVudC5zdHlsZVNoZWV0c1tpXS5jc3NS dWxlcyYmZG9jdW1lbnQuc3R5bGVTaGVldHNbaV0uY3NzUnVsZXMubGVuZ3RoKXtq KGguU1RBVFVTLk9LKX1lbHNle3NldFRpbWVvdXQoaCxoLmRlbGF5KX19LGNoZWNr TGVuZ3RoOmZ1bmN0aW9uKGgsayxtKXtpZihoLnRpbWUobSkpe3JldHVybn12YXIg bD0wO3ZhciBpPShrLnNoZWV0fHxrLnN0eWxlU2hlZXQpO3RyeXtpZigoaS5jc3NS dWxlc3x8aS5ydWxlc3x8W10pLmxlbmd0aD4wKXtsPTF9fWNhdGNoKGope2lmKGou bWVzc2FnZS5tYXRjaCgvcHJvdGVjdGVkIHZhcmlhYmxlfHJlc3RyaWN0ZWQgVVJJ Lykpe2w9MX1lbHNle2lmKGoubWVzc2FnZS5tYXRjaCgvU2VjdXJpdHkgZXJyb3Iv KSl7bD0xfX19aWYobCl7c2V0VGltZW91dChhLkNhbGxiYWNrKFttLGguU1RBVFVT Lk9LXSksMCl9ZWxzZXtzZXRUaW1lb3V0KGgsaC5kZWxheSl9fX0sbG9hZENvbXBs ZXRlOmZ1bmN0aW9uKGgpe2g9dGhpcy5maWxlVVJMKGgpO3ZhciBpPXRoaXMubG9h ZGluZ1toXTtpZihpJiYhaS5wcmVsb2FkZWQpe2EuTWVzc2FnZS5DbGVhcihpLm1l c3NhZ2UpO2NsZWFyVGltZW91dChpLnRpbWVvdXQpO2lmKGkuc2NyaXB0KXtpZihl Lmxlbmd0aD09PTApe3NldFRpbWVvdXQoYiwwKX1lLnB1c2goaS5zY3JpcHQpfXRo aXMubG9hZGVkW2hdPWkuc3RhdHVzO2RlbGV0ZSB0aGlzLmxvYWRpbmdbaF07dGhp cy5hZGRIb29rKGgsaS5jYWxsYmFjayl9ZWxzZXtpZihpKXtkZWxldGUgdGhpcy5s b2FkaW5nW2hdfXRoaXMubG9hZGVkW2hdPXRoaXMuU1RBVFVTLk9LO2k9e3N0YXR1 czp0aGlzLlNUQVRVUy5PS319aWYoIXRoaXMubG9hZEhvb2tzW2hdKXtyZXR1cm4g bnVsbH1yZXR1cm4gdGhpcy5sb2FkSG9va3NbaF0uRXhlY3V0ZShpLnN0YXR1cyl9 LGxvYWRUaW1lb3V0OmZ1bmN0aW9uKGgpe2lmKHRoaXMubG9hZGluZ1toXS50aW1l b3V0KXtjbGVhclRpbWVvdXQodGhpcy5sb2FkaW5nW2hdLnRpbWVvdXQpfXRoaXMu bG9hZGluZ1toXS5zdGF0dXM9dGhpcy5TVEFUVVMuRVJST1I7dGhpcy5sb2FkRXJy b3IoaCk7dGhpcy5sb2FkQ29tcGxldGUoaCl9LGxvYWRFcnJvcjpmdW5jdGlvbiho KXthLk1lc3NhZ2UuU2V0KCJGaWxlIGZhaWxlZCB0byBsb2FkOiAiK2gsbnVsbCwy MDAwKTthLkh1Yi5zaWduYWwuUG9zdChbImZpbGUgbG9hZCBlcnJvciIsaF0pfSxT dHlsZXM6ZnVuY3Rpb24oaixrKXt2YXIgaD10aGlzLlN0eWxlU3RyaW5nKGopO2lm KGg9PT0iIil7az1hLkNhbGxiYWNrKGspO2soKX1lbHNle3ZhciBpPWRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7aS50eXBlPSJ0ZXh0L2NzcyI7dGhpcy5o ZWFkPWcodGhpcy5oZWFkKTt0aGlzLmhlYWQuYXBwZW5kQ2hpbGQoaSk7aWYoaS5z dHlsZVNoZWV0JiZ0eXBlb2YoaS5zdHlsZVNoZWV0LmNzc1RleHQpIT09InVuZGVm aW5lZCIpe2kuc3R5bGVTaGVldC5jc3NUZXh0PWh9ZWxzZXtpLmFwcGVuZENoaWxk KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGgpKX1rPXRoaXMudGltZXIuY3JlYXRl LmNhbGwodGhpcyxrLGkpfXJldHVybiBrfSxTdHlsZVN0cmluZzpmdW5jdGlvbiht KXtpZih0eXBlb2YobSk9PT0ic3RyaW5nIil7cmV0dXJuIG19dmFyIGo9IiIsbixs O2ZvcihuIGluIG0pe2lmKG0uaGFzT3duUHJvcGVydHkobikpe2lmKHR5cGVvZiBt W25dPT09InN0cmluZyIpe2orPW4rIiB7IittW25dKyJ9XG4ifWVsc2V7aWYobVtu XSBpbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIGs9MDtrPG1bbl0ubGVuZ3RoO2sr Kyl7bD17fTtsW25dPW1bbl1ba107ais9dGhpcy5TdHlsZVN0cmluZyhsKX19ZWxz ZXtpZihuLnN1YnN0cigwLDYpPT09IkBtZWRpYSIpe2orPW4rIiB7Iit0aGlzLlN0 eWxlU3RyaW5nKG1bbl0pKyJ9XG4ifWVsc2V7aWYobVtuXSE9bnVsbCl7bD1bXTtm b3IodmFyIGggaW4gbVtuXSl7aWYobVtuXS5oYXNPd25Qcm9wZXJ0eShoKSl7aWYo bVtuXVtoXSE9bnVsbCl7bFtsLmxlbmd0aF09aCsiOiAiK21bbl1baF19fX1qKz1u KyIgeyIrbC5qb2luKCI7ICIpKyJ9XG4ifX19fX19cmV0dXJuIGp9fX0pKCJNYXRo SmF4Iik7TWF0aEpheC5IVE1MPXtFbGVtZW50OmZ1bmN0aW9uKGMsZSxkKXt2YXIg Zj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGMpO2lmKGUpe2lmKGUuc3R5bGUpe3Zh ciBiPWUuc3R5bGU7ZS5zdHlsZT17fTtmb3IodmFyIGcgaW4gYil7aWYoYi5oYXNP d25Qcm9wZXJ0eShnKSl7ZS5zdHlsZVtnLnJlcGxhY2UoLy0oW2Etel0pL2csdGhp cy51Y01hdGNoKV09YltnXX19fU1hdGhKYXguSHViLkluc2VydChmLGUpfWlmKGQp e2Zvcih2YXIgYT0wO2E8ZC5sZW5ndGg7YSsrKXtpZihkW2FdIGluc3RhbmNlb2Yg QXJyYXkpe2YuYXBwZW5kQ2hpbGQodGhpcy5FbGVtZW50KGRbYV1bMF0sZFthXVsx XSxkW2FdWzJdKSl9ZWxzZXtmLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl eHROb2RlKGRbYV0pKX19fXJldHVybiBmfSx1Y01hdGNoOmZ1bmN0aW9uKGEsYil7 cmV0dXJuIGIudG9VcHBlckNhc2UoKX0sYWRkRWxlbWVudDpmdW5jdGlvbihiLGEs ZCxjKXtyZXR1cm4gYi5hcHBlbmRDaGlsZCh0aGlzLkVsZW1lbnQoYSxkLGMpKX0s VGV4dE5vZGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHRO b2RlKGEpfSxhZGRUZXh0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuYXBwZW5kQ2hp bGQodGhpcy5UZXh0Tm9kZShiKSl9LHNldFNjcmlwdDpmdW5jdGlvbihhLGIpe2lm KHRoaXMuc2V0U2NyaXB0QnVnKXthLnRleHQ9Yn1lbHNle3doaWxlKGEuZmlyc3RD aGlsZCl7YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpfXRoaXMuYWRkVGV4dChh LGIpfX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEpe3ZhciBiPShhLnRleHQ9PT0iIj9h LmlubmVySFRNTDphLnRleHQpO3JldHVybiBiLnJlcGxhY2UoL15ccysvLCIiKS5y ZXBsYWNlKC9ccyskLywiIil9LENvb2tpZTp7cHJlZml4OiJtangiLGV4cGlyZXM6 MzY1LFNldDpmdW5jdGlvbihhLGQpe3ZhciBjPVtdO2lmKGQpe2Zvcih2YXIgZiBp biBkKXtpZihkLmhhc093blByb3BlcnR5KGYpKXtjLnB1c2goZisiOiIrZFtmXS50 b1N0cmluZygpLnJlcGxhY2UoLyYvZywiJiYiKSl9fX12YXIgYj10aGlzLnByZWZp eCsiLiIrYSsiPSIrZXNjYXBlKGMuam9pbigiJjsiKSk7aWYodGhpcy5leHBpcmVz KXt2YXIgZT1uZXcgRGF0ZSgpO2Uuc2V0RGF0ZShlLmdldERhdGUoKSt0aGlzLmV4 cGlyZXMpO2IrPSI7IGV4cGlyZXM9IitlLnRvR01UU3RyaW5nKCl9ZG9jdW1lbnQu Y29va2llPWIrIjsgcGF0aD0vIn0sR2V0OmZ1bmN0aW9uKGMsaCl7aWYoIWgpe2g9 e319dmFyIGc9bmV3IFJlZ0V4cCgiKD86Xnw7XFxzKikiK3RoaXMucHJlZml4KyJc XC4iK2MrIj0oW147XSopKD86O3wkKSIpO3ZhciBiPWcuZXhlYyhkb2N1bWVudC5j b29raWUpO2lmKGImJmJbMV0hPT0iIil7dmFyIGU9dW5lc2NhcGUoYlsxXSkuc3Bs aXQoIiY7Iik7Zm9yKHZhciBkPTAsYT1lLmxlbmd0aDtkPGE7ZCsrKXtiPWVbZF0u bWF0Y2goLyhbXjpdKyk6KC4qKS8pO3ZhciBmPWJbMl0ucmVwbGFjZSgvJiYvZywi JiIpO2lmKGY9PT0idHJ1ZSIpe2Y9dHJ1ZX1lbHNle2lmKGY9PT0iZmFsc2UiKXtm PWZhbHNlfWVsc2V7aWYoZi5tYXRjaCgvXi0/KFxkKyhcLlxkKyk/fFwuXGQrKSQv KSl7Zj1wYXJzZUZsb2F0KGYpfX19aFtiWzFdXT1mfX1yZXR1cm4gaH19fTtNYXRo SmF4Lk1lc3NhZ2U9e3JlYWR5OmZhbHNlLGxvZzpbe31dLGN1cnJlbnQ6bnVsbCx0 ZXh0Tm9kZUJ1ZzoobmF2aWdhdG9yLnZlbmRvcj09PSJBcHBsZSBDb21wdXRlciwg SW5jLiImJnR5cGVvZiBuYXZpZ2F0b3IudmVuZG9yU3ViPT09InVuZGVmaW5lZCIp fHwod2luZG93Lmhhc093blByb3BlcnR5JiZ3aW5kb3cuaGFzT3duUHJvcGVydHko ImtvbnF1ZXJvciIpKSxzdHlsZXM6eyIjTWF0aEpheF9NZXNzYWdlIjp7cG9zaXRp b246ImZpeGVkIixsZWZ0OiIxcHgiLGJvdHRvbToiMnB4IiwiYmFja2dyb3VuZC1j b2xvciI6IiNFNkU2RTYiLGJvcmRlcjoiMXB4IHNvbGlkICM5NTk1OTUiLG1hcmdp bjoiMHB4IixwYWRkaW5nOiIycHggOHB4Iiwiei1pbmRleCI6IjEwMiIsY29sb3I6 ImJsYWNrIiwiZm9udC1zaXplIjoiODAlIix3aWR0aDoiYXV0byIsIndoaXRlLXNw YWNlIjoibm93cmFwIn0sIiNNYXRoSmF4X01TSUVfRnJhbWUiOntwb3NpdGlvbjoi YWJzb2x1dGUiLHRvcDowLGxlZnQ6MCx3aWR0aDoiMHB4Iiwiei1pbmRleCI6MTAx LGJvcmRlcjoiMHB4IixtYXJnaW46IjBweCIscGFkZGluZzoiMHB4In19LGJyb3dz ZXJzOntNU0lFOmZ1bmN0aW9uKGEpe01hdGhKYXguSHViLmNvbmZpZy5zdHlsZXNb IiNNYXRoSmF4X01lc3NhZ2UiXS5wb3NpdGlvbj0iYWJzb2x1dGUiO01hdGhKYXgu TWVzc2FnZS5xdWlya3M9KGRvY3VtZW50LmNvbXBhdE1vZGU9PT0iQmFja0NvbXBh dCIpfSxDaHJvbWU6ZnVuY3Rpb24oYSl7TWF0aEpheC5IdWIuY29uZmlnLnN0eWxl c1siI01hdGhKYXhfTWVzc2FnZSJdLmJvdHRvbT0iMS41ZW0iO01hdGhKYXguSHVi LmNvbmZpZy5zdHlsZXNbIiNNYXRoSmF4X01lc3NhZ2UiXS5sZWZ0PSIxZW0ifX0s SW5pdDpmdW5jdGlvbihhKXtpZihhKXt0aGlzLnJlYWR5PXRydWV9aWYoIWRvY3Vt ZW50LmJvZHl8fCF0aGlzLnJlYWR5KXtyZXR1cm4gZmFsc2V9aWYodGhpcy5kaXYm JnRoaXMuZGl2LnBhcmVudE5vZGU9PW51bGwpe3RoaXMuZGl2PWRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCJNYXRoSmF4X01lc3NhZ2UiKTtpZih0aGlzLmRpdil7dGhp cy50ZXh0PXRoaXMuZGl2LmZpcnN0Q2hpbGR9fWlmKCF0aGlzLmRpdil7dmFyIGI9 ZG9jdW1lbnQuYm9keTtpZihNYXRoSmF4Lkh1Yi5Ccm93c2VyLmlzTVNJRSl7Yj10 aGlzLmZyYW1lPXRoaXMuYWRkRGl2KGRvY3VtZW50LmJvZHkpO2IucmVtb3ZlQXR0 cmlidXRlKCJpZCIpO2Iuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtiLnN0eWxl LmJvcmRlcj1iLnN0eWxlLm1hcmdpbj1iLnN0eWxlLnBhZGRpbmc9IjBweCI7Yi5z dHlsZS56SW5kZXg9IjEwMSI7Yi5zdHlsZS5oZWlnaHQ9IjBweCI7Yj10aGlzLmFk ZERpdihiKTtiLmlkPSJNYXRoSmF4X01TSUVfRnJhbWUiO3dpbmRvdy5hdHRhY2hF dmVudCgib25zY3JvbGwiLHRoaXMuTW92ZUZyYW1lKTt3aW5kb3cuYXR0YWNoRXZl bnQoIm9ucmVzaXplIix0aGlzLk1vdmVGcmFtZSk7dGhpcy5Nb3ZlRnJhbWUoKX10 aGlzLmRpdj10aGlzLmFkZERpdihiKTt0aGlzLmRpdi5zdHlsZS5kaXNwbGF5PSJu b25lIjt0aGlzLnRleHQ9dGhpcy5kaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl YXRlVGV4dE5vZGUoIiIpKX1yZXR1cm4gdHJ1ZX0sYWRkRGl2OmZ1bmN0aW9uKGEp e3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuaWQ9Ik1hdGhK YXhfTWVzc2FnZSI7aWYoYS5maXJzdENoaWxkKXthLmluc2VydEJlZm9yZShiLGEu Zmlyc3RDaGlsZCl9ZWxzZXthLmFwcGVuZENoaWxkKGIpfXJldHVybiBifSxNb3Zl RnJhbWU6ZnVuY3Rpb24oKXt2YXIgYT0oTWF0aEpheC5NZXNzYWdlLnF1aXJrcz9k b2N1bWVudC5ib2R5OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7dmFyIGI9TWF0 aEpheC5NZXNzYWdlLmZyYW1lO2Iuc3R5bGUubGVmdD1hLnNjcm9sbExlZnQrInB4 IjtiLnN0eWxlLnRvcD1hLnNjcm9sbFRvcCsicHgiO2Iuc3R5bGUud2lkdGg9YS5j bGllbnRXaWR0aCsicHgiO2I9Yi5maXJzdENoaWxkO2Iuc3R5bGUuaGVpZ2h0PWEu Y2xpZW50SGVpZ2h0KyJweCJ9LGZpbHRlclRleHQ6ZnVuY3Rpb24oYSxiKXtpZihN YXRoSmF4Lkh1Yi5jb25maWcubWVzc2FnZVN0eWxlPT09InNpbXBsZSIpe2lmKGEu bWF0Y2goL15Mb2FkaW5nIC8pKXtpZighdGhpcy5sb2FkaW5nKXt0aGlzLmxvYWRp bmc9IkxvYWRpbmcgIn1hPXRoaXMubG9hZGluZzt0aGlzLmxvYWRpbmcrPSIuIn1l bHNle2lmKGEubWF0Y2goL15Qcm9jZXNzaW5nIC8pKXtpZighdGhpcy5wcm9jZXNz aW5nKXt0aGlzLnByb2Nlc3Npbmc9IlByb2Nlc3NpbmcgIn1hPXRoaXMucHJvY2Vz c2luZzt0aGlzLnByb2Nlc3NpbmcrPSIuIn1lbHNle2lmKGEubWF0Y2goL15UeXBl c2V0dGluZyAvKSl7aWYoIXRoaXMudHlwZXNldHRpbmcpe3RoaXMudHlwZXNldHRp bmc9IlR5cGVzZXR0aW5nICJ9YT10aGlzLnR5cGVzZXR0aW5nO3RoaXMudHlwZXNl dHRpbmcrPSIuIn19fX1yZXR1cm4gYX0sU2V0OmZ1bmN0aW9uKGIsYyxhKXtpZih0 aGlzLnRpbWVyKXtjbGVhclRpbWVvdXQodGhpcy50aW1lcik7ZGVsZXRlIHRoaXMu dGltZW91dH1pZihjPT1udWxsKXtjPXRoaXMubG9nLmxlbmd0aDt0aGlzLmxvZ1tj XT17fX10aGlzLmxvZ1tjXS50ZXh0PWI7dGhpcy5sb2dbY10uZmlsdGVyZWRUZXh0 PWI9dGhpcy5maWx0ZXJUZXh0KGIsYyk7aWYodHlwZW9mKHRoaXMubG9nW2NdLm5l eHQpPT09InVuZGVmaW5lZCIpe3RoaXMubG9nW2NdLm5leHQ9dGhpcy5jdXJyZW50 O2lmKHRoaXMuY3VycmVudCE9bnVsbCl7dGhpcy5sb2dbdGhpcy5jdXJyZW50XS5w cmV2PWN9dGhpcy5jdXJyZW50PWN9aWYodGhpcy5jdXJyZW50PT09YyYmTWF0aEph eC5IdWIuY29uZmlnLm1lc3NhZ2VTdHlsZSE9PSJub25lIil7aWYodGhpcy5Jbml0 KCkpe2lmKHRoaXMudGV4dE5vZGVCdWcpe3RoaXMuZGl2LmlubmVySFRNTD1ifWVs c2V7dGhpcy50ZXh0Lm5vZGVWYWx1ZT1ifXRoaXMuZGl2LnN0eWxlLmRpc3BsYXk9 IiI7aWYodGhpcy5zdGF0dXMpe3dpbmRvdy5zdGF0dXM9IiI7ZGVsZXRlIHRoaXMu c3RhdHVzfX1lbHNle3dpbmRvdy5zdGF0dXM9Yjt0aGlzLnN0YXR1cz10cnVlfX1p ZihhKXtzZXRUaW1lb3V0KE1hdGhKYXguQ2FsbGJhY2soWyJDbGVhciIsdGhpcyxj XSksYSl9ZWxzZXtpZihhPT0wKXt0aGlzLkNsZWFyKGMsMCl9fXJldHVybiBjfSxD bGVhcjpmdW5jdGlvbihiLGEpe2lmKHRoaXMubG9nW2JdLnByZXYhPW51bGwpe3Ro aXMubG9nW3RoaXMubG9nW2JdLnByZXZdLm5leHQ9dGhpcy5sb2dbYl0ubmV4dH1p Zih0aGlzLmxvZ1tiXS5uZXh0IT1udWxsKXt0aGlzLmxvZ1t0aGlzLmxvZ1tiXS5u ZXh0XS5wcmV2PXRoaXMubG9nW2JdLnByZXZ9aWYodGhpcy5jdXJyZW50PT09Yil7 dGhpcy5jdXJyZW50PXRoaXMubG9nW2JdLm5leHQ7aWYodGhpcy50ZXh0KXtpZih0 aGlzLmRpdi5wYXJlbnROb2RlPT1udWxsKXt0aGlzLkluaXQoKX1pZih0aGlzLmN1 cnJlbnQ9PW51bGwpe2lmKHRoaXMudGltZXIpe2NsZWFyVGltZW91dCh0aGlzLnRp bWVyKTtkZWxldGUgdGhpcy50aW1lcn1pZihhPT1udWxsKXthPTYwMH1pZihhPT09 MCl7dGhpcy5SZW1vdmUoKX1lbHNle3RoaXMudGltZXI9c2V0VGltZW91dChNYXRo SmF4LkNhbGxiYWNrKFsiUmVtb3ZlIix0aGlzXSksYSl9fWVsc2V7aWYoTWF0aEph eC5IdWIuY29uZmlnLm1lc3NhZ2VTdHlsZSE9PSJub25lIil7aWYodGhpcy50ZXh0 Tm9kZUJ1Zyl7dGhpcy5kaXYuaW5uZXJIVE1MPXRoaXMubG9nW3RoaXMuY3VycmVu dF0uZmlsdGVyZWRUZXh0fWVsc2V7dGhpcy50ZXh0Lm5vZGVWYWx1ZT10aGlzLmxv Z1t0aGlzLmN1cnJlbnRdLmZpbHRlcmVkVGV4dH19fWlmKHRoaXMuc3RhdHVzKXt3 aW5kb3cuc3RhdHVzPSIiO2RlbGV0ZSB0aGlzLnN0YXR1c319ZWxzZXtpZih0aGlz LnN0YXR1cyl7d2luZG93LnN0YXR1cz0odGhpcy5jdXJyZW50PT1udWxsPyIiOnRo aXMubG9nW3RoaXMuY3VycmVudF0udGV4dCl9fX1kZWxldGUgdGhpcy5sb2dbYl0u bmV4dDtkZWxldGUgdGhpcy5sb2dbYl0ucHJldjtkZWxldGUgdGhpcy5sb2dbYl0u ZmlsdGVyZWRUZXh0fSxSZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLnRleHQubm9kZVZh bHVlPSIiO3RoaXMuZGl2LnN0eWxlLmRpc3BsYXk9Im5vbmUifSxGaWxlOmZ1bmN0 aW9uKGIpe3ZhciBhPU1hdGhKYXguQWpheC5jb25maWcucm9vdDtpZihiLnN1YnN0 cigwLGEubGVuZ3RoKT09PWEpe2I9IltNYXRoSmF4XSIrYi5zdWJzdHIoYS5sZW5n dGgpfXJldHVybiB0aGlzLlNldCgiTG9hZGluZyAiK2IpfSxMb2c6ZnVuY3Rpb24o KXt2YXIgYj1bXTtmb3IodmFyIGM9MSxhPXRoaXMubG9nLmxlbmd0aDtjPGE7Yysr KXtiW2NdPXRoaXMubG9nW2NdLnRleHR9cmV0dXJuIGIuam9pbigiXG4iKX19O01h dGhKYXguSHViPXtjb25maWc6e3Jvb3Q6IiIsY29uZmlnOltdLHN0eWxlU2hlZXRz OltdLHN0eWxlczp7Ii5NYXRoSmF4X1ByZXZpZXciOntjb2xvcjoiIzg4OCJ9fSxq YXg6W10sZXh0ZW5zaW9uczpbXSxwcmVKYXg6bnVsbCxwb3N0SmF4Om51bGwsZGlz cGxheUFsaWduOiJjZW50ZXIiLGRpc3BsYXlJbmRlbnQ6IjAiLHByZVJlbW92ZUNs YXNzOiJNYXRoSmF4X1ByZXZpZXciLHNob3dQcm9jZXNzaW5nTWVzc2FnZXM6dHJ1 ZSxtZXNzYWdlU3R5bGU6Im5vcm1hbCIsZGVsYXlTdGFydHVwVW50aWw6Im5vbmUi LHNraXBTdGFydHVwVHlwZXNldDpmYWxzZSwidjEuMC1jb21wYXRpYmxlIjp0cnVl LGVsZW1lbnRzOltdLHBvc2l0aW9uVG9IYXNoOmZhbHNlLHNob3dNYXRoTWVudTp0 cnVlLHNob3dNYXRoTWVudU1TSUU6dHJ1ZSxtZW51U2V0dGluZ3M6e3pvb206Ik5v bmUiLENUUkw6ZmFsc2UsQUxUOmZhbHNlLENNRDpmYWxzZSxTaGlmdDpmYWxzZSxk aXNjb3ZlcmFibGU6ZmFsc2UsenNjYWxlOiIyMDAlIixyZW5kZXJlcjoiIixmb250 OiJBdXRvIixjb250ZXh0OiJNYXRoSmF4IixtcENvbnRleHQ6ZmFsc2UsbXBNb3Vz ZTpmYWxzZSx0ZXhIaW50czp0cnVlfSxlcnJvclNldHRpbmdzOnttZXNzYWdlOlsi W01hdGggUHJvY2Vzc2luZyBFcnJvcl0iXSxzdHlsZTp7Y29sb3I6IiNDQzAwMDAi LCJmb250LXN0eWxlIjoiaXRhbGljIn19fSxwcmVQcm9jZXNzb3JzOk1hdGhKYXgu Q2FsbGJhY2suSG9va3ModHJ1ZSksaW5wdXRKYXg6e30sb3V0cHV0SmF4OntvcmRl cjp7fX0scHJvY2Vzc1VwZGF0ZVRpbWU6MjUwLHByb2Nlc3NVcGRhdGVEZWxheTox MCxzaWduYWw6TWF0aEpheC5DYWxsYmFjay5TaWduYWwoIkh1YiIpLENvbmZpZzpm dW5jdGlvbihhKXt0aGlzLkluc2VydCh0aGlzLmNvbmZpZyxhKTtpZih0aGlzLmNv bmZpZy5BdWdtZW50KXt0aGlzLkF1Z21lbnQodGhpcy5jb25maWcuQXVnbWVudCl9 fSxDb21iaW5lQ29uZmlnOmZ1bmN0aW9uKGMsZil7dmFyIGI9dGhpcy5jb25maWcs ZyxlO2M9Yy5zcGxpdCgvXC4vKTtmb3IodmFyIGQ9MCxhPWMubGVuZ3RoO2Q8YTtk Kyspe2c9Y1tkXTtpZighYltnXSl7YltnXT17fX1lPWI7Yj1iW2ddfWVbZ109Yj10 aGlzLkluc2VydChmLGIpO3JldHVybiBifSxSZWdpc3Rlcjp7UHJlUHJvY2Vzc29y OmZ1bmN0aW9uKCl7TWF0aEpheC5IdWIucHJlUHJvY2Vzc29ycy5BZGQuYXBwbHko TWF0aEpheC5IdWIucHJlUHJvY2Vzc29ycyxhcmd1bWVudHMpfSxNZXNzYWdlSG9v azpmdW5jdGlvbigpe3JldHVybiBNYXRoSmF4Lkh1Yi5zaWduYWwuTWVzc2FnZUhv b2suYXBwbHkoTWF0aEpheC5IdWIuc2lnbmFsLGFyZ3VtZW50cyl9LFN0YXJ0dXBI b29rOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGhKYXguSHViLlN0YXJ0dXAuc2lnbmFs Lk1lc3NhZ2VIb29rLmFwcGx5KE1hdGhKYXguSHViLlN0YXJ0dXAuc2lnbmFsLGFy Z3VtZW50cyl9LExvYWRIb29rOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGhKYXguQWph eC5Mb2FkSG9vay5hcHBseShNYXRoSmF4LkFqYXgsYXJndW1lbnRzKX19LGdldEFs bEpheDpmdW5jdGlvbihlKXt2YXIgYz1bXSxiPXRoaXMuZWxlbWVudFNjcmlwdHMo ZSk7Zm9yKHZhciBkPTAsYT1iLmxlbmd0aDtkPGE7ZCsrKXtpZihiW2RdLk1hdGhK YXgmJmJbZF0uTWF0aEpheC5lbGVtZW50SmF4KXtjLnB1c2goYltkXS5NYXRoSmF4 LmVsZW1lbnRKYXgpfX1yZXR1cm4gY30sZ2V0SmF4QnlUeXBlOmZ1bmN0aW9uKGYs ZSl7dmFyIGM9W10sYj10aGlzLmVsZW1lbnRTY3JpcHRzKGUpO2Zvcih2YXIgZD0w LGE9Yi5sZW5ndGg7ZDxhO2QrKyl7aWYoYltkXS5NYXRoSmF4JiZiW2RdLk1hdGhK YXguZWxlbWVudEpheCYmYltkXS5NYXRoSmF4LmVsZW1lbnRKYXgubWltZVR5cGU9 PT1mKXtjLnB1c2goYltkXS5NYXRoSmF4LmVsZW1lbnRKYXgpfX1yZXR1cm4gY30s Z2V0SmF4QnlJbnB1dFR5cGU6ZnVuY3Rpb24oZixlKXt2YXIgYz1bXSxiPXRoaXMu ZWxlbWVudFNjcmlwdHMoZSk7Zm9yKHZhciBkPTAsYT1iLmxlbmd0aDtkPGE7ZCsr KXtpZihiW2RdLk1hdGhKYXgmJmJbZF0uTWF0aEpheC5lbGVtZW50SmF4JiZiW2Rd LnR5cGUmJmJbZF0udHlwZS5yZXBsYWNlKC8gKjsoLnxccykqLywiIik9PT1mKXtj LnB1c2goYltkXS5NYXRoSmF4LmVsZW1lbnRKYXgpfX1yZXR1cm4gY30sZ2V0SmF4 Rm9yOmZ1bmN0aW9uKGEpe2lmKHR5cGVvZihhKT09PSJzdHJpbmciKXthPWRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKGEpfWlmKGEmJmEuTWF0aEpheCl7cmV0dXJuIGEu TWF0aEpheC5lbGVtZW50SmF4fWlmKGEmJmEuaXNNYXRoSmF4KXt3aGlsZShhJiYh YS5qYXhJRCl7YT1hLnBhcmVudE5vZGV9aWYoYSl7cmV0dXJuIE1hdGhKYXguT3V0 cHV0SmF4W2EuamF4SURdLmdldEpheEZyb21NYXRoKGEpfX1yZXR1cm4gbnVsbH0s aXNKYXg6ZnVuY3Rpb24oYSl7aWYodHlwZW9mKGEpPT09InN0cmluZyIpe2E9ZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSl9aWYoYSYmYS5pc01hdGhKYXgpe3JldHVy biAxfWlmKGEmJmEudGFnTmFtZSE9bnVsbCYmYS50YWdOYW1lLnRvTG93ZXJDYXNl KCk9PT0ic2NyaXB0Iil7aWYoYS5NYXRoSmF4KXtyZXR1cm4oYS5NYXRoSmF4LnN0 YXRlPT09TWF0aEpheC5FbGVtZW50SmF4LlNUQVRFLlBST0NFU1NFRD8xOi0xKX1p ZihhLnR5cGUmJnRoaXMuaW5wdXRKYXhbYS50eXBlLnJlcGxhY2UoLyAqOygufFxz KSovLCIiKV0pe3JldHVybiAtMX19cmV0dXJuIDB9LHNldFJlbmRlcmVyOmZ1bmN0 aW9uKGQsYyl7aWYoIWQpe3JldHVybn1pZighTWF0aEpheC5PdXRwdXRKYXhbZF0p e3RoaXMuY29uZmlnLm1lbnVTZXR0aW5ncy5yZW5kZXJlcj0iIjt2YXIgYj0iW01h dGhKYXhdL2pheC9vdXRwdXQvIitkKyIvY29uZmlnLmpzIjtyZXR1cm4gTWF0aEph eC5BamF4LlJlcXVpcmUoYixbInNldFJlbmRlcmVyIix0aGlzLGQsY10pfWVsc2V7 dGhpcy5jb25maWcubWVudVNldHRpbmdzLnJlbmRlcmVyPWQ7aWYoYz09bnVsbCl7 Yz0iamF4L21tbCJ9dmFyIGE9dGhpcy5vdXRwdXRKYXg7aWYoYVtjXSYmYVtjXS5s ZW5ndGgpe2lmKGQhPT1hW2NdWzBdLmlkKXthW2NdLnVuc2hpZnQoTWF0aEpheC5P dXRwdXRKYXhbZF0pO3JldHVybiB0aGlzLnNpZ25hbC5Qb3N0KFsiUmVuZGVyZXIg U2VsZWN0ZWQiLGRdKX19cmV0dXJuIG51bGx9fSxRdWV1ZTpmdW5jdGlvbigpe3Jl dHVybiB0aGlzLnF1ZXVlLlB1c2guYXBwbHkodGhpcy5xdWV1ZSxhcmd1bWVudHMp fSxUeXBlc2V0OmZ1bmN0aW9uKGUsZil7aWYoIU1hdGhKYXguaXNSZWFkeSl7cmV0 dXJuIG51bGx9dmFyIGM9dGhpcy5lbGVtZW50Q2FsbGJhY2soZSxmKTt2YXIgYj1N YXRoSmF4LkNhbGxiYWNrLlF1ZXVlKCk7Zm9yKHZhciBkPTAsYT1jLmVsZW1lbnRz Lmxlbmd0aDtkPGE7ZCsrKXtpZihjLmVsZW1lbnRzW2RdKXtiLlB1c2goWyJQcmVQ cm9jZXNzIix0aGlzLGMuZWxlbWVudHNbZF1dLFsiUHJvY2VzcyIsdGhpcyxjLmVs ZW1lbnRzW2RdXSl9fXJldHVybiBiLlB1c2goYy5jYWxsYmFjayl9LFByZVByb2Nl c3M6ZnVuY3Rpb24oZSxmKXt2YXIgYz10aGlzLmVsZW1lbnRDYWxsYmFjayhlLGYp O3ZhciBiPU1hdGhKYXguQ2FsbGJhY2suUXVldWUoKTtmb3IodmFyIGQ9MCxhPWMu ZWxlbWVudHMubGVuZ3RoO2Q8YTtkKyspe2lmKGMuZWxlbWVudHNbZF0pe2IuUHVz aChbIlBvc3QiLHRoaXMuc2lnbmFsLFsiQmVnaW4gUHJlUHJvY2VzcyIsYy5lbGVt ZW50c1tkXV1dLChhcmd1bWVudHMuY2FsbGVlLmRpc2FibGVkP3t9OlsiRXhlY3V0 ZSIsdGhpcy5wcmVQcm9jZXNzb3JzLGMuZWxlbWVudHNbZF1dKSxbIlBvc3QiLHRo aXMuc2lnbmFsLFsiRW5kIFByZVByb2Nlc3MiLGMuZWxlbWVudHNbZF1dXSl9fXJl dHVybiBiLlB1c2goYy5jYWxsYmFjayl9LFByb2Nlc3M6ZnVuY3Rpb24oYSxiKXty ZXR1cm4gdGhpcy50YWtlQWN0aW9uKCJQcm9jZXNzIixhLGIpfSxVcGRhdGU6ZnVu Y3Rpb24oYSxiKXtyZXR1cm4gdGhpcy50YWtlQWN0aW9uKCJVcGRhdGUiLGEsYil9 LFJlcHJvY2VzczpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnRha2VBY3Rpb24o IlJlcHJvY2VzcyIsYSxiKX0sUmVyZW5kZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4g dGhpcy50YWtlQWN0aW9uKCJSZXJlbmRlciIsYSxiKX0sdGFrZUFjdGlvbjpmdW5j dGlvbihnLGUsaCl7dmFyIGM9dGhpcy5lbGVtZW50Q2FsbGJhY2soZSxoKTt2YXIg Yj1NYXRoSmF4LkNhbGxiYWNrLlF1ZXVlKFsiQ2xlYXIiLHRoaXMuc2lnbmFsXSk7 Zm9yKHZhciBkPTAsYT1jLmVsZW1lbnRzLmxlbmd0aDtkPGE7ZCsrKXtpZihjLmVs ZW1lbnRzW2RdKXt2YXIgZj17c2NyaXB0czpbXSxzdGFydDpuZXcgRGF0ZSgpLmdl dFRpbWUoKSxpOjAsajowLGpheDp7fSxqYXhJRHM6W119O2IuUHVzaChbIlBvc3Qi LHRoaXMuc2lnbmFsLFsiQmVnaW4gIitnLGMuZWxlbWVudHNbZF1dXSxbIlBvc3Qi LHRoaXMuc2lnbmFsLFsiQmVnaW4gTWF0aCIsYy5lbGVtZW50c1tkXSxnXV0sWyJw cmVwYXJlU2NyaXB0cyIsdGhpcyxnLGMuZWxlbWVudHNbZF0sZl0sWyJQb3N0Iix0 aGlzLnNpZ25hbCxbIkJlZ2luIE1hdGggSW5wdXQiLGMuZWxlbWVudHNbZF0sZ11d LFsicHJvY2Vzc0lucHV0Iix0aGlzLGZdLFsiUG9zdCIsdGhpcy5zaWduYWwsWyJF bmQgTWF0aCBJbnB1dCIsYy5lbGVtZW50c1tkXSxnXV0sWyJwcmVwYXJlT3V0cHV0 Iix0aGlzLGYsInByZVByb2Nlc3MiXSxbIlBvc3QiLHRoaXMuc2lnbmFsLFsiQmVn aW4gTWF0aCBPdXRwdXQiLGMuZWxlbWVudHNbZF0sZ11dLFsicHJvY2Vzc091dHB1 dCIsdGhpcyxmXSxbIlBvc3QiLHRoaXMuc2lnbmFsLFsiRW5kIE1hdGggT3V0cHV0 IixjLmVsZW1lbnRzW2RdLGddXSxbInByZXBhcmVPdXRwdXQiLHRoaXMsZiwicG9z dFByb2Nlc3MiXSxbIlBvc3QiLHRoaXMuc2lnbmFsLFsiRW5kIE1hdGgiLGMuZWxl bWVudHNbZF0sZ11dLFsiUG9zdCIsdGhpcy5zaWduYWwsWyJFbmQgIitnLGMuZWxl bWVudHNbZF1dXSl9fXJldHVybiBiLlB1c2goYy5jYWxsYmFjayl9LHNjcmlwdEFj dGlvbjp7UHJvY2VzczpmdW5jdGlvbihhKXt9LFVwZGF0ZTpmdW5jdGlvbihiKXt2 YXIgYT1iLk1hdGhKYXguZWxlbWVudEpheDtpZihhJiZhLm5lZWRzVXBkYXRlKCkp e2EuUmVtb3ZlKHRydWUpO2IuTWF0aEpheC5zdGF0ZT1hLlNUQVRFLlVQREFURX1l bHNle2IuTWF0aEpheC5zdGF0ZT1hLlNUQVRFLlBST0NFU1NFRH19LFJlcHJvY2Vz czpmdW5jdGlvbihiKXt2YXIgYT1iLk1hdGhKYXguZWxlbWVudEpheDtpZihhKXth LlJlbW92ZSh0cnVlKTtiLk1hdGhKYXguc3RhdGU9YS5TVEFURS5VUERBVEV9fSxS ZXJlbmRlcjpmdW5jdGlvbihiKXt2YXIgYT1iLk1hdGhKYXguZWxlbWVudEpheDtp ZihhKXthLlJlbW92ZSh0cnVlKTtiLk1hdGhKYXguc3RhdGU9YS5TVEFURS5PVVRQ VVR9fX0scHJlcGFyZVNjcmlwdHM6ZnVuY3Rpb24oaCxlLGcpe2lmKGFyZ3VtZW50 cy5jYWxsZWUuZGlzYWJsZWQpe3JldHVybn12YXIgYj10aGlzLmVsZW1lbnRTY3Jp cHRzKGUpO3ZhciBmPU1hdGhKYXguRWxlbWVudEpheC5TVEFURTtmb3IodmFyIGQ9 MCxhPWIubGVuZ3RoO2Q8YTtkKyspe3ZhciBjPWJbZF07aWYoYy50eXBlJiZ0aGlz LmlucHV0SmF4W2MudHlwZS5yZXBsYWNlKC8gKjsoLnxcbikqLywiIildKXtpZihj Lk1hdGhKYXgpe2lmKGMuTWF0aEpheC5lbGVtZW50SmF4JiZjLk1hdGhKYXguZWxl bWVudEpheC5ob3Zlcil7TWF0aEpheC5FeHRlbnNpb24uTWF0aEV2ZW50cy5Ib3Zl ci5DbGVhckhvdmVyKGMuTWF0aEpheC5lbGVtZW50SmF4KX1pZihjLk1hdGhKYXgu c3RhdGUhPT1mLlBFTkRJTkcpe3RoaXMuc2NyaXB0QWN0aW9uW2hdKGMpfX1pZigh Yy5NYXRoSmF4KXtjLk1hdGhKYXg9e3N0YXRlOmYuUEVORElOR319aWYoYy5NYXRo SmF4LnN0YXRlIT09Zi5QUk9DRVNTRUQpe2cuc2NyaXB0cy5wdXNoKGMpfX19fSxj aGVja1NjcmlwdFNpYmxpbmdzOmZ1bmN0aW9uKGEpe2lmKGEuTWF0aEpheC5jaGVj a2VkKXtyZXR1cm59dmFyIGI9dGhpcy5jb25maWcsZj1hLnByZXZpb3VzU2libGlu ZztpZihmJiZmLm5vZGVOYW1lPT09IiN0ZXh0Iil7dmFyIGQsZSxjPWEubmV4dFNp Ymxpbmc7aWYoYyYmYy5ub2RlTmFtZSE9PSIjdGV4dCIpe2M9bnVsbH1pZihiLnBy ZUpheCl7aWYodHlwZW9mKGIucHJlSmF4KT09PSJzdHJpbmciKXtiLnByZUpheD1u ZXcgUmVnRXhwKGIucHJlSmF4KyIkIil9ZD1mLm5vZGVWYWx1ZS5tYXRjaChiLnBy ZUpheCl9aWYoYi5wb3N0SmF4JiZjKXtpZih0eXBlb2YoYi5wb3N0SmF4KT09PSJz dHJpbmciKXtiLnBvc3RKYXg9bmV3IFJlZ0V4cCgiXiIrYi5wb3N0SmF4KX1lPWMu bm9kZVZhbHVlLm1hdGNoKGIucG9zdEpheCl9aWYoZCYmKCFiLnBvc3RKYXh8fGUp KXtmLm5vZGVWYWx1ZT1mLm5vZGVWYWx1ZS5yZXBsYWNlKGIucHJlSmF4LChkLmxl bmd0aD4xP2RbMV06IiIpKTtmPW51bGx9aWYoZSYmKCFiLnByZUpheHx8ZCkpe2Mu bm9kZVZhbHVlPWMubm9kZVZhbHVlLnJlcGxhY2UoYi5wb3N0SmF4LChlLmxlbmd0 aD4xP2VbMV06IiIpKX1pZihmJiYhZi5ub2RlVmFsdWUubWF0Y2goL1xTLykpe2Y9 Zi5wcmV2aW91c1NpYmxpbmd9fWlmKGIucHJlUmVtb3ZlQ2xhc3MmJmYmJmYuY2xh c3NOYW1lPT09Yi5wcmVSZW1vdmVDbGFzcyl7YS5NYXRoSmF4LnByZXZpZXc9Zn1h Lk1hdGhKYXguY2hlY2tlZD0xfSxwcm9jZXNzSW5wdXQ6ZnVuY3Rpb24oYSl7dmFy IGIsaT1NYXRoSmF4LkVsZW1lbnRKYXguU1RBVEU7dmFyIGgsZSxkPWEuc2NyaXB0 cy5sZW5ndGg7dHJ5e3doaWxlKGEuaTxkKXtoPWEuc2NyaXB0c1thLmldO2lmKCFo KXthLmkrKztjb250aW51ZX1lPWgucHJldmlvdXNTaWJsaW5nO2lmKGUmJmUuY2xh c3NOYW1lPT09Ik1hdGhKYXhfRXJyb3IiKXtlLnBhcmVudE5vZGUucmVtb3ZlQ2hp bGQoZSl9aWYoIWguTWF0aEpheHx8aC5NYXRoSmF4LnN0YXRlPT09aS5QUk9DRVNT RUQpe2EuaSsrO2NvbnRpbnVlfWlmKCFoLk1hdGhKYXguZWxlbWVudEpheHx8aC5N YXRoSmF4LnN0YXRlPT09aS5VUERBVEUpe3RoaXMuY2hlY2tTY3JpcHRTaWJsaW5n cyhoKTt2YXIgZz1oLnR5cGUucmVwbGFjZSgvICo7KC58XHMpKi8sIiIpO2I9dGhp cy5pbnB1dEpheFtnXS5Qcm9jZXNzKGgsYSk7aWYodHlwZW9mIGI9PT0iZnVuY3Rp b24iKXtpZihiLmNhbGxlZCl7Y29udGludWV9dGhpcy5SZXN0YXJ0QWZ0ZXIoYil9 Yi5BdHRhY2goaCx0aGlzLmlucHV0SmF4W2ddLmlkKTt0aGlzLnNhdmVTY3JpcHQo YixhLGgsaSl9ZWxzZXtpZihoLk1hdGhKYXguc3RhdGU9PT1pLk9VVFBVVCl7dGhp cy5zYXZlU2NyaXB0KGguTWF0aEpheC5lbGVtZW50SmF4LGEsaCxpKX19YS5pKys7 dmFyIGM9bmV3IERhdGUoKS5nZXRUaW1lKCk7aWYoYy1hLnN0YXJ0PnRoaXMucHJv Y2Vzc1VwZGF0ZVRpbWUmJmEuaTxhLnNjcmlwdHMubGVuZ3RoKXthLnN0YXJ0PWM7 dGhpcy5SZXN0YXJ0QWZ0ZXIoTWF0aEpheC5DYWxsYmFjay5EZWxheSgxKSl9fX1j YXRjaChmKXtyZXR1cm4gdGhpcy5wcm9jZXNzRXJyb3IoZixhLCJJbnB1dCIpfWlm KGEuc2NyaXB0cy5sZW5ndGgmJnRoaXMuY29uZmlnLnNob3dQcm9jZXNzaW5nTWVz c2FnZXMpe01hdGhKYXguTWVzc2FnZS5TZXQoIlByb2Nlc3NpbmcgbWF0aDogMTAw JSIsMCl9YS5zdGFydD1uZXcgRGF0ZSgpLmdldFRpbWUoKTthLmk9YS5qPTA7cmV0 dXJuIG51bGx9LHNhdmVTY3JpcHQ6ZnVuY3Rpb24oYSxkLGIsYyl7aWYoIXRoaXMu b3V0cHV0SmF4W2EubWltZVR5cGVdKXtiLk1hdGhKYXguc3RhdGU9Yy5VUERBVEU7 dGhyb3cgRXJyb3IoIk5vIG91dHB1dCBqYXggcmVnaXN0ZXJlZCBmb3IgIithLm1p bWVUeXBlKX1hLm91dHB1dEpheD10aGlzLm91dHB1dEpheFthLm1pbWVUeXBlXVsw XS5pZDtpZighZC5qYXhbYS5vdXRwdXRKYXhdKXtpZihkLmpheElEcy5sZW5ndGg9 PT0wKXtkLmpheFthLm91dHB1dEpheF09ZC5zY3JpcHRzfWVsc2V7aWYoZC5qYXhJ RHMubGVuZ3RoPT09MSl7ZC5qYXhbZC5qYXhJRHNbMF1dPWQuc2NyaXB0cy5zbGlj ZSgwLGQuaSl9ZC5qYXhbYS5vdXRwdXRKYXhdPVtdfWQuamF4SURzLnB1c2goYS5v dXRwdXRKYXgpfWlmKGQuamF4SURzLmxlbmd0aD4xKXtkLmpheFthLm91dHB1dEph eF0ucHVzaChiKX1iLk1hdGhKYXguc3RhdGU9Yy5PVVRQVVR9LHByZXBhcmVPdXRw dXQ6ZnVuY3Rpb24oYyxmKXt3aGlsZShjLmo8Yy5qYXhJRHMubGVuZ3RoKXt2YXIg ZT1jLmpheElEc1tjLmpdLGQ9TWF0aEpheC5PdXRwdXRKYXhbZV07aWYoZFtmXSl7 dHJ5e3ZhciBhPWRbZl0oYyk7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXtpZihh LmNhbGxlZCl7Y29udGludWV9dGhpcy5SZXN0YXJ0QWZ0ZXIoYSl9fWNhdGNoKGIp e2lmKCFiLnJlc3RhcnQpe01hdGhKYXguTWVzc2FnZS5TZXQoIkVycm9yIHByZXBh cmluZyAiK2UrIiBvdXRwdXQgKCIrZisiKSIsbnVsbCw2MDApO01hdGhKYXguSHVi Lmxhc3RQcmVwRXJyb3I9YjtjLmorK31yZXR1cm4gTWF0aEpheC5DYWxsYmFjay5B ZnRlcihbInByZXBhcmVPdXRwdXQiLHRoaXMsYyxmXSxiLnJlc3RhcnQpfX1jLmor K31yZXR1cm4gbnVsbH0scHJvY2Vzc091dHB1dDpmdW5jdGlvbihoKXt2YXIgYixn PU1hdGhKYXguRWxlbWVudEpheC5TVEFURSxkLGE9aC5zY3JpcHRzLmxlbmd0aDt0 cnl7d2hpbGUoaC5pPGEpe2Q9aC5zY3JpcHRzW2guaV07aWYoIWR8fCFkLk1hdGhK YXgpe2guaSsrO2NvbnRpbnVlfXZhciBjPWQuTWF0aEpheC5lbGVtZW50SmF4O2lm KCFjKXtoLmkrKztjb250aW51ZX1iPU1hdGhKYXguT3V0cHV0SmF4W2Mub3V0cHV0 SmF4XS5Qcm9jZXNzKGQsaCk7ZC5NYXRoSmF4LnN0YXRlPWcuUFJPQ0VTU0VEO2gu aSsrO2lmKGQuTWF0aEpheC5wcmV2aWV3KXtkLk1hdGhKYXgucHJldmlldy5pbm5l ckhUTUw9IiJ9dGhpcy5zaWduYWwuUG9zdChbIk5ldyBNYXRoIixjLmlucHV0SURd KTt2YXIgZT1uZXcgRGF0ZSgpLmdldFRpbWUoKTtpZihlLWguc3RhcnQ+dGhpcy5w cm9jZXNzVXBkYXRlVGltZSYmaC5pPGguc2NyaXB0cy5sZW5ndGgpe2guc3RhcnQ9 ZTt0aGlzLlJlc3RhcnRBZnRlcihNYXRoSmF4LkNhbGxiYWNrLkRlbGF5KHRoaXMu cHJvY2Vzc1VwZGF0ZURlbGF5KSl9fX1jYXRjaChmKXtyZXR1cm4gdGhpcy5wcm9j ZXNzRXJyb3IoZixoLCJPdXRwdXQiKX1pZihoLnNjcmlwdHMubGVuZ3RoJiZ0aGlz LmNvbmZpZy5zaG93UHJvY2Vzc2luZ01lc3NhZ2VzKXtNYXRoSmF4Lk1lc3NhZ2Uu U2V0KCJUeXBlc2V0dGluZyBtYXRoOiAxMDAlIiwwKTtNYXRoSmF4Lk1lc3NhZ2Uu Q2xlYXIoMCl9aC5pPWguaj0wO3JldHVybiBudWxsfSxwcm9jZXNzTWVzc2FnZTpm dW5jdGlvbihkLGIpe3ZhciBhPU1hdGguZmxvb3IoZC5pLyhkLnNjcmlwdHMubGVu Z3RoKSoxMDApO3ZhciBjPShiPT09Ik91dHB1dCI/IlR5cGVzZXR0aW5nIjoiUHJv Y2Vzc2luZyIpO2lmKHRoaXMuY29uZmlnLnNob3dQcm9jZXNzaW5nTWVzc2FnZXMp e01hdGhKYXguTWVzc2FnZS5TZXQoYysiIG1hdGg6ICIrYSsiJSIsMCl9fSxwcm9j ZXNzRXJyb3I6ZnVuY3Rpb24oYixjLGEpe2lmKCFiLnJlc3RhcnQpe2lmKCF0aGlz LmNvbmZpZy5lcnJvclNldHRpbmdzLm1lc3NhZ2Upe3Rocm93IGJ9dGhpcy5mb3Jt YXRFcnJvcihjLnNjcmlwdHNbYy5pXSxiKTtjLmkrK310aGlzLnByb2Nlc3NNZXNz YWdlKGMsYSk7cmV0dXJuIE1hdGhKYXguQ2FsbGJhY2suQWZ0ZXIoWyJwcm9jZXNz IithLHRoaXMsY10sYi5yZXN0YXJ0KX0sZm9ybWF0RXJyb3I6ZnVuY3Rpb24oYSxj KXt2YXIgYj1NYXRoSmF4LkhUTUwuRWxlbWVudCgic3BhbiIse2NsYXNzTmFtZToi TWF0aEpheF9FcnJvciJ9LHRoaXMuY29uZmlnLmVycm9yU2V0dGluZ3MubWVzc2Fn ZSk7Yi5qYXhJRD0iRXJyb3IiO2lmKE1hdGhKYXguRXh0ZW5zaW9uLk1hdGhFdmVu dHMpe2Iub25jb250ZXh0bWVudT1NYXRoSmF4LkV4dGVuc2lvbi5NYXRoRXZlbnRz LkV2ZW50Lk1lbnU7Yi5vbm1vdXNlZG93bj1NYXRoSmF4LkV4dGVuc2lvbi5NYXRo RXZlbnRzLkV2ZW50Lk1vdXNlZG93bn1lbHNle01hdGhKYXguQWpheC5SZXF1aXJl KCJbTWF0aEpheF0vZXh0ZW5zaW9ucy9NYXRoRXZlbnRzLmpzIixmdW5jdGlvbigp e2Iub25jb250ZXh0bWVudT1NYXRoSmF4LkV4dGVuc2lvbi5NYXRoRXZlbnRzLkV2 ZW50Lk1lbnU7Yi5vbm1vdXNlZG93bj1NYXRoSmF4LkV4dGVuc2lvbi5NYXRoRXZl bnRzLkV2ZW50Lk1vdXNlZG93bn0pfWEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUo YixhKTtpZihhLk1hdGhKYXgucHJldmlldyl7YS5NYXRoSmF4LnByZXZpZXcuaW5u ZXJIVE1MPSIifXRoaXMubGFzdEVycm9yPWN9LFJlc3RhcnRBZnRlcjpmdW5jdGlv bihhKXt0aHJvdyB0aGlzLkluc2VydChFcnJvcigicmVzdGFydCIpLHtyZXN0YXJ0 Ok1hdGhKYXguQ2FsbGJhY2soYSl9KX0sZWxlbWVudENhbGxiYWNrOmZ1bmN0aW9u KGMsZil7aWYoZj09bnVsbCYmKGMgaW5zdGFuY2VvZiBBcnJheXx8dHlwZW9mIGM9 PT0iZnVuY3Rpb24iKSl7dHJ5e01hdGhKYXguQ2FsbGJhY2soYyk7Zj1jO2M9bnVs bH1jYXRjaChkKXt9fWlmKGM9PW51bGwpe2M9dGhpcy5jb25maWcuZWxlbWVudHN8 fFtdfWlmKCEoYyBpbnN0YW5jZW9mIEFycmF5KSl7Yz1bY119Yz1bXS5jb25jYXQo Yyk7Zm9yKHZhciBiPTAsYT1jLmxlbmd0aDtiPGE7YisrKXtpZih0eXBlb2YoY1ti XSk9PT0ic3RyaW5nIil7Y1tiXT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChjW2Jd KX19aWYoYy5sZW5ndGg9PTApe2MucHVzaChkb2N1bWVudC5ib2R5KX1pZighZil7 Zj17fX1yZXR1cm57ZWxlbWVudHM6YyxjYWxsYmFjazpmfX0sZWxlbWVudFNjcmlw dHM6ZnVuY3Rpb24oYSl7aWYodHlwZW9mKGEpPT09InN0cmluZyIpe2E9ZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoYSl9aWYoYT09bnVsbCl7YT1kb2N1bWVudC5ib2R5 fWlmKGEudGFnTmFtZSE9bnVsbCYmYS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0i c2NyaXB0Iil7cmV0dXJuW2FdfXJldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1l KCJzY3JpcHQiKX0sSW5zZXJ0OmZ1bmN0aW9uKGMsYSl7Zm9yKHZhciBiIGluIGEp e2lmKGEuaGFzT3duUHJvcGVydHkoYikpe2lmKHR5cGVvZiBhW2JdPT09Im9iamVj dCImJiEoYVtiXSBpbnN0YW5jZW9mIEFycmF5KSYmKHR5cGVvZiBjW2JdPT09Im9i amVjdCJ8fHR5cGVvZiBjW2JdPT09ImZ1bmN0aW9uIikpe3RoaXMuSW5zZXJ0KGNb Yl0sYVtiXSl9ZWxzZXtjW2JdPWFbYl19fX1yZXR1cm4gY319O01hdGhKYXguSHVi Lkluc2VydChNYXRoSmF4Lkh1Yi5jb25maWcuc3R5bGVzLE1hdGhKYXguTWVzc2Fn ZS5zdHlsZXMpO01hdGhKYXguSHViLkluc2VydChNYXRoSmF4Lkh1Yi5jb25maWcu c3R5bGVzLHsiLk1hdGhKYXhfRXJyb3IiOk1hdGhKYXguSHViLmNvbmZpZy5lcnJv clNldHRpbmdzLnN0eWxlfSk7TWF0aEpheC5FeHRlbnNpb249e307TWF0aEpheC5I dWIuQ29uZmlndXJlZD1NYXRoSmF4LkNhbGxiYWNrKHt9KTtNYXRoSmF4Lkh1Yi5T dGFydHVwPXtzY3JpcHQ6IiIscXVldWU6TWF0aEpheC5DYWxsYmFjay5RdWV1ZSgp LHNpZ25hbDpNYXRoSmF4LkNhbGxiYWNrLlNpZ25hbCgiU3RhcnR1cCIpLHBhcmFt czp7fSxDb25maWc6ZnVuY3Rpb24oKXt0aGlzLnF1ZXVlLlB1c2goWyJQb3N0Iix0 aGlzLnNpZ25hbCwiQmVnaW4gQ29uZmlnIl0pO3ZhciBiPU1hdGhKYXguSFRNTC5D b29raWUuR2V0KCJ1c2VyIik7aWYoYi5VUkx8fGIuQ29uZmlnKXtpZihjb25maXJt KCJNYXRoSmF4IGhhcyBmb3VuZCBhIHVzZXItY29uZmlndXJhdGlvbiBjb29raWUg dGhhdCBpbmNsdWRlcyBjb2RlIHRvIGJlIHJ1bi4gIERvIHlvdSB3YW50IHRvIHJ1 biBpdD9cblxuKFlvdSBzaG91bGQgcHJlc3MgQ2FuY2VsIHVubGVzcyB5b3Ugc2V0 IHVwIHRoZSBjb29raWUgeW91cnNlbGYuKSIpKXtpZihiLlVSTCl7dGhpcy5xdWV1 ZS5QdXNoKFsiUmVxdWlyZSIsTWF0aEpheC5BamF4LGIuVVJMXSl9aWYoYi5Db25m aWcpe3RoaXMucXVldWUuUHVzaChuZXcgRnVuY3Rpb24oYi5Db25maWcpKX19ZWxz ZXtNYXRoSmF4LkhUTUwuQ29va2llLlNldCgidXNlciIse30pfX1pZih0aGlzLnBh cmFtcy5jb25maWcpe3ZhciBkPXRoaXMucGFyYW1zLmNvbmZpZy5zcGxpdCgvLC8p O2Zvcih2YXIgYz0wLGE9ZC5sZW5ndGg7YzxhO2MrKyl7aWYoIWRbY10ubWF0Y2go L1wuanMkLykpe2RbY10rPSIuanMifXRoaXMucXVldWUuUHVzaChbIlJlcXVpcmUi LE1hdGhKYXguQWpheCx0aGlzLlVSTCgiY29uZmlnIixkW2NdKV0pfX1pZih0aGlz LnNjcmlwdC5tYXRjaCgvXFMvKSl7dGhpcy5xdWV1ZS5QdXNoKHRoaXMuc2NyaXB0 KyI7XG4xOyIpfXRoaXMucXVldWUuUHVzaChbIkNvbmZpZ0RlbGF5Iix0aGlzXSxb IkNvbmZpZ0Jsb2NrcyIsdGhpc10sWyJDb25maWdEZWZhdWx0Iix0aGlzXSxbZnVu Y3Rpb24oZSl7cmV0dXJuIGUubG9hZEFycmF5KE1hdGhKYXguSHViLmNvbmZpZy5j b25maWcsImNvbmZpZyIsbnVsbCx0cnVlKX0sdGhpc10sWyJQb3N0Iix0aGlzLnNp Z25hbCwiRW5kIENvbmZpZyJdKX0sQ29uZmlnRGVsYXk6ZnVuY3Rpb24oKXt2YXIg YT10aGlzLnBhcmFtcy5kZWxheVN0YXJ0dXBVbnRpbHx8TWF0aEpheC5IdWIuY29u ZmlnLmRlbGF5U3RhcnR1cFVudGlsO2lmKGE9PT0ib25sb2FkIil7cmV0dXJuIHRo aXMub25sb2FkfWlmKGE9PT0iY29uZmlndXJlZCIpe3JldHVybiBNYXRoSmF4Lkh1 Yi5Db25maWd1cmVkfXJldHVybiBhfSxDb25maWdCbG9ja3M6ZnVuY3Rpb24oKXt2 YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7dmFy IGY9bnVsbCxiPU1hdGhKYXguQ2FsbGJhY2suUXVldWUoKTtmb3IodmFyIGQ9MCxh PWMubGVuZ3RoO2Q8YTtkKyspe3ZhciBlPVN0cmluZyhjW2RdLnR5cGUpLnJlcGxh Y2UoLyAvZywiIik7aWYoZS5tYXRjaCgvXnRleHRcL3gtbWF0aGpheC1jb25maWco Oy4qKT8kLykmJiFlLm1hdGNoKC87ZXhlY3V0ZWQ9dHJ1ZS8pKXtjW2RdLnR5cGUr PSI7ZXhlY3V0ZWQ9dHJ1ZSI7Zj1iLlB1c2goY1tkXS5pbm5lckhUTUwrIjtcbjE7 Iil9fXJldHVybiBmfSxDb25maWdEZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9TWF0 aEpheC5IdWIuY29uZmlnO2lmKGFbInYxLjAtY29tcGF0aWJsZSJdJiYoYS5qYXh8 fFtdKS5sZW5ndGg9PT0wJiYhdGhpcy5wYXJhbXMuY29uZmlnJiYoYS5jb25maWd8 fFtdKS5sZW5ndGg9PT0wKXtyZXR1cm4gTWF0aEpheC5BamF4LlJlcXVpcmUodGhp cy5VUkwoImV4dGVuc2lvbnMiLCJ2MS4wLXdhcm5pbmcuanMiKSl9fSxDb29raWU6 ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWV1ZS5QdXNoKFsiUG9zdCIsdGhpcy5z aWduYWwsIkJlZ2luIENvb2tpZSJdLFsiR2V0IixNYXRoSmF4LkhUTUwuQ29va2ll LCJtZW51IixNYXRoSmF4Lkh1Yi5jb25maWcubWVudVNldHRpbmdzXSxbZnVuY3Rp b24oZCl7dmFyIGY9ZC5tZW51U2V0dGluZ3MucmVuZGVyZXIsYj1kLmpheDtpZihm KXt2YXIgYz0ib3V0cHV0LyIrZjtiLnNvcnQoKTtmb3IodmFyIGU9MCxhPWIubGVu Z3RoO2U8YTtlKyspe2lmKGJbZV0uc3Vic3RyKDAsNyk9PT0ib3V0cHV0LyIpe2Jy ZWFrfX1pZihlPT1hLTEpe2IucG9wKCl9ZWxzZXt3aGlsZShlPGEpe2lmKGJbZV09 PT1jKXtiLnNwbGljZShlLDEpO2JyZWFrfWUrK319Yi51bnNoaWZ0KGMpfX0sTWF0 aEpheC5IdWIuY29uZmlnXSxbIlBvc3QiLHRoaXMuc2lnbmFsLCJFbmQgQ29va2ll Il0pfSxTdHlsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWV1ZS5QdXNoKFsi UG9zdCIsdGhpcy5zaWduYWwsIkJlZ2luIFN0eWxlcyJdLFsibG9hZEFycmF5Iix0 aGlzLE1hdGhKYXguSHViLmNvbmZpZy5zdHlsZVNoZWV0cywiY29uZmlnIl0sWyJT dHlsZXMiLE1hdGhKYXguQWpheCxNYXRoSmF4Lkh1Yi5jb25maWcuc3R5bGVzXSxb IlBvc3QiLHRoaXMuc2lnbmFsLCJFbmQgU3R5bGVzIl0pfSxKYXg6ZnVuY3Rpb24o KXt2YXIgZj1NYXRoSmF4Lkh1Yi5jb25maWcsYz1NYXRoSmF4Lkh1Yi5vdXRwdXRK YXg7Zm9yKHZhciBnPTAsYj1mLmpheC5sZW5ndGgsZD0wO2c8YjtnKyspe3ZhciBl PWYuamF4W2ddLnN1YnN0cig3KTtpZihmLmpheFtnXS5zdWJzdHIoMCw3KT09PSJv dXRwdXQvIiYmYy5vcmRlcltlXT09bnVsbCl7Yy5vcmRlcltlXT1kO2QrK319dmFy IGE9TWF0aEpheC5DYWxsYmFjay5RdWV1ZSgpO3JldHVybiBhLlB1c2goWyJQb3N0 Iix0aGlzLnNpZ25hbCwiQmVnaW4gSmF4Il0sWyJsb2FkQXJyYXkiLHRoaXMsZi5q YXgsImpheCIsImNvbmZpZy5qcyJdLFsiUG9zdCIsdGhpcy5zaWduYWwsIkVuZCBK YXgiXSl9LEV4dGVuc2lvbnM6ZnVuY3Rpb24oKXt2YXIgYT1NYXRoSmF4LkNhbGxi YWNrLlF1ZXVlKCk7cmV0dXJuIGEuUHVzaChbIlBvc3QiLHRoaXMuc2lnbmFsLCJC ZWdpbiBFeHRlbnNpb25zIl0sWyJsb2FkQXJyYXkiLHRoaXMsTWF0aEpheC5IdWIu Y29uZmlnLmV4dGVuc2lvbnMsImV4dGVuc2lvbnMiXSxbIlBvc3QiLHRoaXMuc2ln bmFsLCJFbmQgRXh0ZW5zaW9ucyJdKX0sTWVzc2FnZTpmdW5jdGlvbigpe01hdGhK YXguTWVzc2FnZS5Jbml0KHRydWUpfSxNZW51OmZ1bmN0aW9uKCl7dmFyIGI9TWF0 aEpheC5IdWIuY29uZmlnLm1lbnVTZXR0aW5ncyxhPU1hdGhKYXguSHViLm91dHB1 dEpheCxkO2Zvcih2YXIgYyBpbiBhKXtpZihhLmhhc093blByb3BlcnR5KGMpKXtp ZihhW2NdLmxlbmd0aCl7ZD1hW2NdO2JyZWFrfX19aWYoZCYmZC5sZW5ndGgpe2lm KGIucmVuZGVyZXImJmIucmVuZGVyZXIhPT1kWzBdLmlkKXtkLnVuc2hpZnQoTWF0 aEpheC5PdXRwdXRKYXhbYi5yZW5kZXJlcl0pfWIucmVuZGVyZXI9ZFswXS5pZH19 LEhhc2g6ZnVuY3Rpb24oKXtpZihNYXRoSmF4Lkh1Yi5jb25maWcucG9zaXRpb25U b0hhc2gmJmRvY3VtZW50LmxvY2F0aW9uLmhhc2gpe3NldFRpbWVvdXQoImRvY3Vt ZW50LmxvY2F0aW9uID0gZG9jdW1lbnQubG9jYXRpb24uaGFzaCIsMSl9fSxNZW51 Wm9vbTpmdW5jdGlvbigpe2lmKCFNYXRoSmF4LkV4dGVuc2lvbi5NYXRoTWVudSl7 c2V0VGltZW91dChNYXRoSmF4LkNhbGxiYWNrKFsiUmVxdWlyZSIsTWF0aEpheC5B amF4LCJbTWF0aEpheF0vZXh0ZW5zaW9ucy9NYXRoTWVudS5qcyIse31dKSwxMDAw KX1pZighTWF0aEpheC5FeHRlbnNpb24uTWF0aFpvb20pe3NldFRpbWVvdXQoTWF0 aEpheC5DYWxsYmFjayhbIlJlcXVpcmUiLE1hdGhKYXguQWpheCwiW01hdGhKYXhd L2V4dGVuc2lvbnMvTWF0aFpvb20uanMiLHt9XSksMjAwMCl9fSxvbkxvYWQ6ZnVu Y3Rpb24oYSl7dmFyIGI9dGhpcy5vbmxvYWQ9TWF0aEpheC5DYWxsYmFjayhmdW5j dGlvbigpe01hdGhKYXguSHViLlN0YXJ0dXAuc2lnbmFsLlBvc3QoIm9uTG9hZCIp fSk7aWYoZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQucmVhZHlTdGF0ZSYmZG9jdW1l bnQucmVhZHlTdGF0ZSE9PSJsb2FkaW5nIil7cmV0dXJuW2JdfWlmKHdpbmRvdy5h ZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs YixmYWxzZSk7aWYoIXRoaXMucGFyYW1zLm5vRE9NQ29udGVudEV2ZW50KXt3aW5k b3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsYixmYWxzZSl9 fWVsc2V7aWYod2luZG93LmF0dGFjaEV2ZW50KXt3aW5kb3cuYXR0YWNoRXZlbnQo Im9ubG9hZCIsYil9ZWxzZXt3aW5kb3cub25sb2FkPWJ9fXJldHVybiBifSxUeXBl c2V0OmZ1bmN0aW9uKGEsYil7aWYoTWF0aEpheC5IdWIuY29uZmlnLnNraXBTdGFy dHVwVHlwZXNldCl7cmV0dXJuIGZ1bmN0aW9uKCl7fX1yZXR1cm4gdGhpcy5xdWV1 ZS5QdXNoKFsiUG9zdCIsdGhpcy5zaWduYWwsIkJlZ2luIFR5cGVzZXQiXSxbIlR5 cGVzZXQiLE1hdGhKYXguSHViLGEsYl0sWyJQb3N0Iix0aGlzLnNpZ25hbCwiRW5k IFR5cGVzZXQiXSl9LFVSTDpmdW5jdGlvbihiLGEpe2lmKCFhLm1hdGNoKC9eKFth LXpdKzpcL1wvfFxbfFwvKS8pKXthPSJbTWF0aEpheF0vIitiKyIvIithfXJldHVy biBhfSxsb2FkQXJyYXk6ZnVuY3Rpb24oYixmLGMsYSl7aWYoYil7aWYoIShiIGlu c3RhbmNlb2YgQXJyYXkpKXtiPVtiXX1pZihiLmxlbmd0aCl7dmFyIGg9TWF0aEph eC5DYWxsYmFjay5RdWV1ZSgpLGo9e30sZTtmb3IodmFyIGc9MCxkPWIubGVuZ3Ro O2c8ZDtnKyspe2U9dGhpcy5VUkwoZixiW2ddKTtpZihjKXtlKz0iLyIrY31pZihh KXtoLlB1c2goWyJSZXF1aXJlIixNYXRoSmF4LkFqYXgsZSxqXSl9ZWxzZXtoLlB1 c2goTWF0aEpheC5BamF4LlJlcXVpcmUoZSxqKSl9fXJldHVybiBoLlB1c2goe30p fX1yZXR1cm4gbnVsbH19OyhmdW5jdGlvbihkKXt2YXIgYj13aW5kb3dbZF0sZT0i WyIrZCsiXSI7dmFyIGM9Yi5IdWIsYT1iLkFqYXgsZj1iLkNhbGxiYWNrO3ZhciBn PU1hdGhKYXguT2JqZWN0LlN1YmNsYXNzKHtKQVhGSUxFOiJqYXguanMiLHJlcXVp cmU6bnVsbCxjb25maWc6e30sSW5pdDpmdW5jdGlvbihpLGgpe2lmKGFyZ3VtZW50 cy5sZW5ndGg9PT0wKXtyZXR1cm4gdGhpc31yZXR1cm4odGhpcy5jb25zdHJ1Y3Rv ci5TdWJjbGFzcyhpLGgpKSgpfSxBdWdtZW50OmZ1bmN0aW9uKGssail7dmFyIGk9 dGhpcy5jb25zdHJ1Y3RvcixoPXt9O2lmKGshPW51bGwpe2Zvcih2YXIgbCBpbiBr KXtpZihrLmhhc093blByb3BlcnR5KGwpKXtpZih0eXBlb2Yga1tsXT09PSJmdW5j dGlvbiIpe2kucHJvdG9GdW5jdGlvbihsLGtbbF0pfWVsc2V7aFtsXT1rW2xdfX19 aWYoay50b1N0cmluZyE9PWkucHJvdG90eXBlLnRvU3RyaW5nJiZrLnRvU3RyaW5n IT09e30udG9TdHJpbmcpe2kucHJvdG9GdW5jdGlvbigidG9TdHJpbmciLGsudG9T dHJpbmcpfX1jLkluc2VydChpLnByb3RvdHlwZSxoKTtpLkF1Z21lbnQobnVsbCxq KTtyZXR1cm4gdGhpc30sVHJhbnNsYXRlOmZ1bmN0aW9uKGgsaSl7dGhyb3cgRXJy b3IodGhpcy5kaXJlY3RvcnkrIi8iK3RoaXMuSkFYRklMRSsiIGZhaWxlZCB0byBk ZWZpbmUgdGhlIFRyYW5zbGF0ZSgpIG1ldGhvZCIpfSxSZWdpc3RlcjpmdW5jdGlv bihoKXt9LENvbmZpZzpmdW5jdGlvbigpe3RoaXMuY29uZmlnPWMuQ29tYmluZUNv bmZpZyh0aGlzLmlkLHRoaXMuY29uZmlnKTtpZih0aGlzLmNvbmZpZy5BdWdtZW50 KXt0aGlzLkF1Z21lbnQodGhpcy5jb25maWcuQXVnbWVudCl9fSxTdGFydHVwOmZ1 bmN0aW9uKCl7fSxsb2FkQ29tcGxldGU6ZnVuY3Rpb24oaSl7aWYoaT09PSJjb25m aWcuanMiKXtyZXR1cm4gYS5sb2FkQ29tcGxldGUodGhpcy5kaXJlY3RvcnkrIi8i K2kpfWVsc2V7dmFyIGg9Zi5RdWV1ZSgpO2guUHVzaChjLlJlZ2lzdGVyLlN0YXJ0 dXBIb29rKCJFbmQgQ29uZmlnIix7fSksWyJQb3N0IixjLlN0YXJ0dXAuc2lnbmFs LHRoaXMuaWQrIiBKYXggQ29uZmlnIl0sWyJDb25maWciLHRoaXNdLFsiUG9zdCIs Yy5TdGFydHVwLnNpZ25hbCx0aGlzLmlkKyIgSmF4IFJlcXVpcmUiXSxbZnVuY3Rp b24oail7cmV0dXJuIE1hdGhKYXguSHViLlN0YXJ0dXAubG9hZEFycmF5KGoucmVx dWlyZSx0aGlzLmRpcmVjdG9yeSl9LHRoaXNdLFtmdW5jdGlvbihqLGspe3JldHVy biBNYXRoSmF4Lkh1Yi5TdGFydHVwLmxvYWRBcnJheShqLmV4dGVuc2lvbnMsImV4 dGVuc2lvbnMvIitrKX0sdGhpcy5jb25maWd8fHt9LHRoaXMuaWRdLFsiUG9zdCIs Yy5TdGFydHVwLnNpZ25hbCx0aGlzLmlkKyIgSmF4IFN0YXJ0dXAiXSxbIlN0YXJ0 dXAiLHRoaXNdLFsiUG9zdCIsYy5TdGFydHVwLnNpZ25hbCx0aGlzLmlkKyIgSmF4 IFJlYWR5Il0pO2lmKHRoaXMuY29weVRyYW5zbGF0ZSl7aC5QdXNoKFtmdW5jdGlv bihqKXtqLnByZVByb2Nlc3M9ai5wcmVUcmFuc2xhdGU7ai5Qcm9jZXNzPWouVHJh bnNsYXRlO2oucG9zdFByb2Nlc3M9ai5wb3N0VHJhbnNsYXRlfSx0aGlzLmNvbnN0 cnVjdG9yLnByb3RvdHlwZV0pfXJldHVybiBoLlB1c2goWyJsb2FkQ29tcGxldGUi LGEsdGhpcy5kaXJlY3RvcnkrIi8iK2ldKX19fSx7aWQ6IkpheCIsdmVyc2lvbjoi Mi4wIixkaXJlY3Rvcnk6ZSsiL2pheCIsZXh0ZW5zaW9uRGlyOmUrIi9leHRlbnNp b25zIn0pO2IuSW5wdXRKYXg9Zy5TdWJjbGFzcyh7ZWxlbWVudEpheDoibW1sIixj b3B5VHJhbnNsYXRlOnRydWUsUHJvY2VzczpmdW5jdGlvbihsLHEpe3ZhciBqPWYu UXVldWUoKSxvO3ZhciBrPXRoaXMuZWxlbWVudEpheDtpZighKGsgaW5zdGFuY2Vv ZiBBcnJheSkpe2s9W2tdfWZvcih2YXIgbj0wLGg9ay5sZW5ndGg7bjxoO24rKyl7 bz1iLkVsZW1lbnRKYXguZGlyZWN0b3J5KyIvIitrW25dKyIvIit0aGlzLkpBWEZJ TEU7aWYoIXRoaXMucmVxdWlyZSl7dGhpcy5yZXF1aXJlPVtdfWVsc2V7aWYoISh0 aGlzLnJlcXVpcmUgaW5zdGFuY2VvZiBBcnJheSkpe3RoaXMucmVxdWlyZT1bdGhp cy5yZXF1aXJlXX19dGhpcy5yZXF1aXJlLnB1c2gobyk7ai5QdXNoKGEuUmVxdWly ZShvKSl9bz10aGlzLmRpcmVjdG9yeSsiLyIrdGhpcy5KQVhGSUxFO3ZhciBwPWou UHVzaChhLlJlcXVpcmUobykpO2lmKCFwLmNhbGxlZCl7dGhpcy5jb25zdHJ1Y3Rv ci5wcm90b3R5cGUuUHJvY2Vzcz1mdW5jdGlvbigpe2lmKCFwLmNhbGxlZCl7cmV0 dXJuIHB9dGhyb3cgRXJyb3IobysiIGZhaWxlZCB0byBsb2FkIHByb3Blcmx5Iil9 fWs9Yy5vdXRwdXRKYXhbImpheC8iK2tbMF1dO2lmKGspe2ouUHVzaChhLlJlcXVp cmUoa1swXS5kaXJlY3RvcnkrIi8iK3RoaXMuSkFYRklMRSkpfXJldHVybiBqLlB1 c2goe30pfSxuZWVkc1VwZGF0ZTpmdW5jdGlvbihoKXt2YXIgaT1oLlNvdXJjZUVs ZW1lbnQoKTtyZXR1cm4oaC5vcmlnaW5hbFRleHQhPT1iLkhUTUwuZ2V0U2NyaXB0 KGkpKX0sUmVnaXN0ZXI6ZnVuY3Rpb24oaCl7aWYoIWMuaW5wdXRKYXgpe2MuaW5w dXRKYXg9e319Yy5pbnB1dEpheFtoXT10aGlzfX0se2lkOiJJbnB1dEpheCIsdmVy c2lvbjoiMi4wIixkaXJlY3Rvcnk6Zy5kaXJlY3RvcnkrIi9pbnB1dCIsZXh0ZW5z aW9uRGlyOmcuZXh0ZW5zaW9uRGlyfSk7Yi5PdXRwdXRKYXg9Zy5TdWJjbGFzcyh7 Y29weVRyYW5zbGF0ZTp0cnVlLHByZVByb2Nlc3M6ZnVuY3Rpb24oail7dmFyIGks aD10aGlzLmRpcmVjdG9yeSsiLyIrdGhpcy5KQVhGSUxFO3RoaXMuY29uc3RydWN0 b3IucHJvdG90eXBlLnByZVByb2Nlc3M9ZnVuY3Rpb24oayl7aWYoIWkuY2FsbGVk KXtyZXR1cm4gaX10aHJvdyBFcnJvcihoKyIgZmFpbGVkIHRvIGxvYWQgcHJvcGVy bHkiKX07aT1hLlJlcXVpcmUoaCk7cmV0dXJuIGl9LFJlZ2lzdGVyOmZ1bmN0aW9u KGkpe3ZhciBoPWMub3V0cHV0SmF4O2lmKCFoW2ldKXtoW2ldPVtdfWlmKGhbaV0u bGVuZ3RoJiYodGhpcy5pZD09PWMuY29uZmlnLm1lbnVTZXR0aW5ncy5yZW5kZXJl cnx8KGgub3JkZXJbdGhpcy5pZF18fDApPChoLm9yZGVyW2hbaV1bMF0uaWRdfHww KSkpe2hbaV0udW5zaGlmdCh0aGlzKX1lbHNle2hbaV0ucHVzaCh0aGlzKX1pZigh dGhpcy5yZXF1aXJlKXt0aGlzLnJlcXVpcmU9W119ZWxzZXtpZighKHRoaXMucmVx dWlyZSBpbnN0YW5jZW9mIEFycmF5KSl7dGhpcy5yZXF1aXJlPVt0aGlzLnJlcXVp cmVdfX10aGlzLnJlcXVpcmUucHVzaChiLkVsZW1lbnRKYXguZGlyZWN0b3J5KyIv IisoaS5zcGxpdCgvXC8vKVsxXSkrIi8iK3RoaXMuSkFYRklMRSl9LFJlbW92ZTpm dW5jdGlvbihoKXt9fSx7aWQ6Ik91dHB1dEpheCIsdmVyc2lvbjoiMi4wIixkaXJl Y3Rvcnk6Zy5kaXJlY3RvcnkrIi9vdXRwdXQiLGV4dGVuc2lvbkRpcjpnLmV4dGVu c2lvbkRpcixmb250RGlyOmUrKGIuaXNQYWNrZWQ/IiI6Ii8uLiIpKyIvZm9udHMi LGltYWdlRGlyOmUrKGIuaXNQYWNrZWQ/IiI6Ii8uLiIpKyIvaW1hZ2VzIn0pO2Iu RWxlbWVudEpheD1nLlN1YmNsYXNzKHtJbml0OmZ1bmN0aW9uKGksaCl7cmV0dXJu IHRoaXMuY29uc3RydWN0b3IuU3ViY2xhc3MoaSxoKX0saW5wdXRKYXg6bnVsbCxv dXRwdXRKYXg6bnVsbCxpbnB1dElEOm51bGwsb3JpZ2luYWxUZXh0OiIiLG1pbWVU eXBlOiIiLFRleHQ6ZnVuY3Rpb24oaSxqKXt2YXIgaD10aGlzLlNvdXJjZUVsZW1l bnQoKTtiLkhUTUwuc2V0U2NyaXB0KGgsaSk7aC5NYXRoSmF4LnN0YXRlPXRoaXMu U1RBVEUuVVBEQVRFO3JldHVybiBjLlVwZGF0ZShoLGopfSxSZXByb2Nlc3M6ZnVu Y3Rpb24oaSl7dmFyIGg9dGhpcy5Tb3VyY2VFbGVtZW50KCk7aC5NYXRoSmF4LnN0 YXRlPXRoaXMuU1RBVEUuVVBEQVRFO3JldHVybiBjLlJlcHJvY2VzcyhoLGkpfSxV cGRhdGU6ZnVuY3Rpb24oaCl7cmV0dXJuIHRoaXMuUmVyZW5kZXIoaCl9LFJlcmVu ZGVyOmZ1bmN0aW9uKGkpe3ZhciBoPXRoaXMuU291cmNlRWxlbWVudCgpO2guTWF0 aEpheC5zdGF0ZT10aGlzLlNUQVRFLk9VVFBVVDtyZXR1cm4gYy5Qcm9jZXNzKGgs aSl9LFJlbW92ZTpmdW5jdGlvbihoKXtpZih0aGlzLmhvdmVyKXt0aGlzLmhvdmVy LmNsZWFyKHRoaXMpfWIuT3V0cHV0SmF4W3RoaXMub3V0cHV0SmF4XS5SZW1vdmUo dGhpcyk7aWYoIWgpe2Muc2lnbmFsLlBvc3QoWyJSZW1vdmUgTWF0aCIsdGhpcy5p bnB1dElEXSk7dGhpcy5EZXRhY2goKX19LG5lZWRzVXBkYXRlOmZ1bmN0aW9uKCl7 cmV0dXJuIGIuSW5wdXRKYXhbdGhpcy5pbnB1dEpheF0ubmVlZHNVcGRhdGUodGhp cyl9LFNvdXJjZUVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQodGhpcy5pbnB1dElEKX0sQXR0YWNoOmZ1bmN0aW9uKGksail7 dmFyIGg9aS5NYXRoSmF4LmVsZW1lbnRKYXg7aWYoaS5NYXRoSmF4LnN0YXRlPT09 dGhpcy5TVEFURS5VUERBVEUpe2guQ2xvbmUodGhpcyl9ZWxzZXtoPWkuTWF0aEph eC5lbGVtZW50SmF4PXRoaXM7aWYoaS5pZCl7dGhpcy5pbnB1dElEPWkuaWR9ZWxz ZXtpLmlkPXRoaXMuaW5wdXRJRD1iLkVsZW1lbnRKYXguR2V0SUQoKTt0aGlzLm5l d0lEPTF9fWgub3JpZ2luYWxUZXh0PWIuSFRNTC5nZXRTY3JpcHQoaSk7aC5pbnB1 dEpheD1qO2lmKGgucm9vdCl7aC5yb290LmlucHV0SUQ9aC5pbnB1dElEfXJldHVy biBofSxEZXRhY2g6ZnVuY3Rpb24oKXt2YXIgaD10aGlzLlNvdXJjZUVsZW1lbnQo KTtpZighaCl7cmV0dXJufXRyeXtkZWxldGUgaC5NYXRoSmF4fWNhdGNoKGkpe2gu TWF0aEpheD1udWxsfWlmKHRoaXMubmV3SUQpe2guaWQ9IiJ9fSxDbG9uZTpmdW5j dGlvbihoKXt2YXIgaTtmb3IoaSBpbiB0aGlzKXtpZighdGhpcy5oYXNPd25Qcm9w ZXJ0eShpKSl7Y29udGludWV9aWYodHlwZW9mKGhbaV0pPT09InVuZGVmaW5lZCIm JmkhPT0ibmV3SUQiKXtkZWxldGUgdGhpc1tpXX19Zm9yKGkgaW4gaCl7aWYoIWgu aGFzT3duUHJvcGVydHkoaSkpe2NvbnRpbnVlfWlmKHR5cGVvZih0aGlzW2ldKT09 PSJ1bmRlZmluZWQifHwodGhpc1tpXSE9PWhbaV0mJmkhPT0iaW5wdXRJRCIpKXt0 aGlzW2ldPWhbaV19fX19LHtpZDoiRWxlbWVudEpheCIsdmVyc2lvbjoiMi4wIixk aXJlY3Rvcnk6Zy5kaXJlY3RvcnkrIi9lbGVtZW50IixleHRlbnNpb25EaXI6Zy5l eHRlbnNpb25EaXIsSUQ6MCxTVEFURTp7UEVORElORzoxLFBST0NFU1NFRDoyLFVQ REFURTozLE9VVFBVVDo0fSxHZXRJRDpmdW5jdGlvbigpe3RoaXMuSUQrKztyZXR1 cm4iTWF0aEpheC1FbGVtZW50LSIrdGhpcy5JRH0sU3ViY2xhc3M6ZnVuY3Rpb24o KXt2YXIgaD1nLlN1YmNsYXNzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtoLmxvYWRD b21wbGV0ZT10aGlzLnByb3RvdHlwZS5sb2FkQ29tcGxldGU7cmV0dXJuIGh9fSk7 Yi5FbGVtZW50SmF4LnByb3RvdHlwZS5TVEFURT1iLkVsZW1lbnRKYXguU1RBVEU7 Yi5PdXRwdXRKYXguRXJyb3I9e2lkOiJFcnJvciIsdmVyc2lvbjoiMi4wIixjb25m aWc6e30sQ29udGV4dE1lbnU6ZnVuY3Rpb24oKXtyZXR1cm4gYi5FeHRlbnNpb24u TWF0aEV2ZW50cy5FdmVudC5Db250ZXh0TWVudS5hcHBseShiLkV4dGVuc2lvbi5N YXRoRXZlbnRzLkV2ZW50LGFyZ3VtZW50cyl9LE1vdXNlZG93bjpmdW5jdGlvbigp e3JldHVybiBiLkV4dGVuc2lvbi5NYXRoRXZlbnRzLkV2ZW50LkFsdENvbnRleHRN ZW51LmFwcGx5KGIuRXh0ZW5zaW9uLk1hdGhFdmVudHMuRXZlbnQsYXJndW1lbnRz KX0sZ2V0SmF4RnJvbU1hdGg6ZnVuY3Rpb24oKXtyZXR1cm57aW5wdXRKYXg6IkVy cm9yIixvdXRwdXRKYXg6IkVycm9yIixvcmlnaW5hbFRleHQ6Ik1hdGggUHJvY2Vz c2luZyBFcnJvciJ9fX07Yi5JbnB1dEpheC5FcnJvcj17aWQ6IkVycm9yIix2ZXJz aW9uOiIyLjAiLGNvbmZpZzp7fSxzb3VyY2VNZW51VGl0bGU6IkVycm9yIE1lc3Nh Z2UifX0pKCJNYXRoSmF4Iik7KGZ1bmN0aW9uKGwpe3ZhciBmPXdpbmRvd1tsXTtp ZighZil7Zj13aW5kb3dbbF09e319dmFyIGM9Zi5IdWI7dmFyIHE9Yy5TdGFydHVw O3ZhciB1PWMuY29uZmlnO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO YW1lKCJoZWFkIilbMF07aWYoIWUpe2U9ZG9jdW1lbnQuY2hpbGROb2Rlc1swXX12 YXIgYj0oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxkb2N1bWVudCkuZ2V0RWxl bWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO3ZhciBkPW5ldyBSZWdFeHAoIihefC8p IitsKyJcXC5qcyhcXD8uKik/JCIpO2Zvcih2YXIgbz1iLmxlbmd0aC0xO28+PTA7 by0tKXtpZihiW29dLnNyYy5tYXRjaChkKSl7cS5zY3JpcHQ9YltvXS5pbm5lckhU TUw7aWYoUmVnRXhwLiQyKXt2YXIgcj1SZWdFeHAuJDIuc3Vic3RyKDEpLnNwbGl0 KC9cJi8pO2Zvcih2YXIgbj0wLGg9ci5sZW5ndGg7bjxoO24rKyl7dmFyIGs9cltu XS5tYXRjaCgvKC4qKT0oLiopLyk7aWYoayl7cS5wYXJhbXNbdW5lc2NhcGUoa1sx XSldPXVuZXNjYXBlKGtbMl0pfX19dS5yb290PWJbb10uc3JjLnJlcGxhY2UoLyhe fFwvKVteXC9dKihcPy4qKT8kLywiIik7YnJlYWt9fWYuQWpheC5jb25maWc9dTt2 YXIgYT17aXNNYWM6KG5hdmlnYXRvci5wbGF0Zm9ybS5zdWJzdHIoMCwzKT09PSJN YWMiKSxpc1BDOihuYXZpZ2F0b3IucGxhdGZvcm0uc3Vic3RyKDAsMyk9PT0iV2lu IiksaXNNU0lFOih3aW5kb3cuQWN0aXZlWE9iamVjdCE9bnVsbCYmd2luZG93LmNs aXBib2FyZERhdGEhPW51bGwpLGlzRmlyZWZveDood2luZG93Lm5ldHNjYXBlIT1u dWxsJiZkb2N1bWVudC5BVFRSSUJVVEVfTk9ERSE9bnVsbCYmIXdpbmRvdy5vcGVy YSksaXNTYWZhcmk6KG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyAoQXBwbGUp P1dlYktpdFwvLykhPW51bGwmJighd2luZG93LmNocm9tZXx8d2luZG93LmNocm9t ZS5sb2FkVGltZXM9PW51bGwpKSxpc0Nocm9tZTood2luZG93LmNocm9tZSE9bnVs bCYmd2luZG93LmNocm9tZS5sb2FkVGltZXMhPW51bGwpLGlzT3BlcmE6KHdpbmRv dy5vcGVyYSE9bnVsbCYmd2luZG93Lm9wZXJhLnZlcnNpb24hPW51bGwpLGlzS29u cXVlcm9yOih3aW5kb3cuaGFzT3duUHJvcGVydHkmJndpbmRvdy5oYXNPd25Qcm9w ZXJ0eSgia29ucXVlcm9yIikmJm5hdmlnYXRvci52ZW5kb3I9PSJLREUiKSx2ZXJz aW9uQXRMZWFzdDpmdW5jdGlvbih4KXt2YXIgdz0odGhpcy52ZXJzaW9uKS5zcGxp dCgiLiIpO3g9KG5ldyBTdHJpbmcoeCkpLnNwbGl0KCIuIik7Zm9yKHZhciB5PTAs aj14Lmxlbmd0aDt5PGo7eSsrKXtpZih3W3ldIT14W3ldKXtyZXR1cm4gcGFyc2VJ bnQod1t5XXx8IjAiKT49cGFyc2VJbnQoeFt5XSl9fXJldHVybiB0cnVlfSxTZWxl Y3Q6ZnVuY3Rpb24oail7dmFyIGk9altjLkJyb3dzZXJdO2lmKGkpe3JldHVybiBp KGMuQnJvd3Nlcil9cmV0dXJuIG51bGx9fTt2YXIgZz1uYXZpZ2F0b3IudXNlckFn ZW50LnJlcGxhY2UoL15Nb3ppbGxhXC8oXGQrXC4pK1xkKyAvLCIiKS5yZXBsYWNl KC9bYS16XVstYS16MC05Ll86IF0rXC9cZCtbXiBdKi1bXiBdKlwuKFthLXpdW2Et el0pP1xkKyAvaSwiIikucmVwbGFjZSgvR2VudG9vIHxVYnVudHVcLyhcZCtcLikq XGQrIChcKFteKV0qXCkgKT8vLCIiKTtjLkJyb3dzZXI9Yy5JbnNlcnQoYy5JbnNl cnQobmV3IFN0cmluZygiVW5rbm93biIpLHt2ZXJzaW9uOiIwLjAifSksYSk7Zm9y KHZhciB0IGluIGEpe2lmKGEuaGFzT3duUHJvcGVydHkodCkpe2lmKGFbdF0mJnQu c3Vic3RyKDAsMik9PT0iaXMiKXt0PXQuc2xpY2UoMik7aWYodD09PSJNYWMifHx0 PT09IlBDIil7Y29udGludWV9Yy5Ccm93c2VyPWMuSW5zZXJ0KG5ldyBTdHJpbmco dCksYSk7dmFyIHA9bmV3IFJlZ0V4cCgiLiooVmVyc2lvbikvKCg/OlxcZCtcXC4p K1xcZCspfC4qKCIrdCsiKSIrKHQ9PSJNU0lFIj8iICI6Ii8iKSsiKCg/OlxcZCtc XC4pKlxcZCspfCg/Ol58XFwofCApKFthLXpdWy1hLXowLTkuXzogXSt8KD86QXBw bGUpP1dlYktpdCkvKCg/OlxcZCtcXC4pK1xcZCspIik7dmFyIHM9cC5leGVjKGcp fHxbIiIsIiIsIiIsInVua25vd24iLCIwLjAiXTtjLkJyb3dzZXIubmFtZT0oc1sx XT09IlZlcnNpb24iP3Q6KHNbM118fHNbNV0pKTtjLkJyb3dzZXIudmVyc2lvbj1z WzJdfHxzWzRdfHxzWzZdO2JyZWFrfX19Yy5Ccm93c2VyLlNlbGVjdCh7U2FmYXJp OmZ1bmN0aW9uKGope3ZhciBpPXBhcnNlSW50KChTdHJpbmcoai52ZXJzaW9uKS5z cGxpdCgiLiIpKVswXSk7aWYoaT44NSl7ai53ZWJraXQ9ai52ZXJzaW9ufWlmKGk+ PTUzNCl7ai52ZXJzaW9uPSI1LjEifWVsc2V7aWYoaT49NTMzKXtqLnZlcnNpb249 IjUuMCJ9ZWxzZXtpZihpPj01MjYpe2oudmVyc2lvbj0iNC4wIn1lbHNle2lmKGk+ PTUyNSl7ai52ZXJzaW9uPSIzLjEifWVsc2V7aWYoaT41MDApe2oudmVyc2lvbj0i My4wIn1lbHNle2lmKGk+NDAwKXtqLnZlcnNpb249IjIuMCJ9ZWxzZXtpZihpPjg1 KXtqLnZlcnNpb249IjEuMCJ9fX19fX19ai5pc01vYmlsZT0obmF2aWdhdG9yLmFw cFZlcnNpb24ubWF0Y2goL01vYmlsZS9pKSE9bnVsbCk7ai5ub0NvbnRleHRNZW51 PWouaXNNb2JpbGV9LEZpcmVmb3g6ZnVuY3Rpb24oail7aWYoKGoudmVyc2lvbj09 PSIwLjAifHxuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94Lyk9PW51 bGwpJiZuYXZpZ2F0b3IucHJvZHVjdD09PSJHZWNrbyIpe3ZhciBtPW5hdmlnYXRv ci51c2VyQWdlbnQubWF0Y2goL1tcLyBdcnY6KFxkK1wuXGQuKj8pW1wpIF0vKTtp ZihtKXtqLnZlcnNpb249bVsxXX1lbHNle3ZhciBpPShuYXZpZ2F0b3IuYnVpbGRJ RHx8bmF2aWdhdG9yLnByb2R1Y3RTdWJ8fCIwIikuc3Vic3RyKDAsOCk7aWYoaT49 IjIwMTExMjIwIil7ai52ZXJzaW9uPSI5LjAifWVsc2V7aWYoaT49IjIwMTExMTIw Iil7ai52ZXJzaW9uPSI4LjAifWVsc2V7aWYoaT49IjIwMTEwOTI3Iil7ai52ZXJz aW9uPSI3LjAifWVsc2V7aWYoaT49IjIwMTEwODE2Iil7ai52ZXJzaW9uPSI2LjAi fWVsc2V7aWYoaT49IjIwMTEwNjIxIil7ai52ZXJzaW9uPSI1LjAifWVsc2V7aWYo aT49IjIwMTEwMzIwIil7ai52ZXJzaW9uPSI0LjAifWVsc2V7aWYoaT49IjIwMTAw MTIxIil7ai52ZXJzaW9uPSIzLjYifWVsc2V7aWYoaT49IjIwMDkwNjMwIil7ai52 ZXJzaW9uPSIzLjUifWVsc2V7aWYoaT49IjIwMDgwNjE3Iil7ai52ZXJzaW9uPSIz LjAifWVsc2V7aWYoaT49IjIwMDYxMDI0Iil7ai52ZXJzaW9uPSIyLjAifX19fX19 fX19fX19ai5pc01vYmlsZT0obmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL0Fu ZHJvaWQvaSkhPW51bGx8fG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goLyBGZW5u ZWNcLy8pIT1udWxsKX0sT3BlcmE6ZnVuY3Rpb24oaSl7aS52ZXJzaW9uPW9wZXJh LnZlcnNpb24oKX0sTVNJRTpmdW5jdGlvbihqKXtqLmlzSUU5PSEhKGRvY3VtZW50 LmRvY3VtZW50TW9kZSYmKHdpbmRvdy5wZXJmb3JtYW5jZXx8d2luZG93Lm1zUGVy Zm9ybWFuY2UpKTtNYXRoSmF4LkhUTUwuc2V0U2NyaXB0QnVnPSFqLmlzSUU5fHxk b2N1bWVudC5kb2N1bWVudE1vZGU8OTt2YXIgdj1mYWxzZTt0cnl7bmV3IEFjdGl2 ZVhPYmplY3QoIk1hdGhQbGF5ZXIuRmFjdG9yeS4xIik7dj10cnVlfWNhdGNoKG0p e31pZih2JiYhcS5wYXJhbXMuTm9NYXRoUGxheWVyKXt2YXIgaT1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCJvYmplY3QiKTtpLmlkPSJtYXRocGxheWVyIjtpLmNsYXNz aWQ9ImNsc2lkOjMyRjY2QTIwLTc2MTQtMTFENC1CRDExLTAwMTA0QkQzRjk4NyI7 ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRD aGlsZChpKTtkb2N1bWVudC5uYW1lc3BhY2VzLmFkZCgibSIsImh0dHA6Ly93d3cu dzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiKTtqLmhhc01hdGhQbGF5ZXI9dHJ1ZTtp Zihkb2N1bWVudC5yZWFkeVN0YXRlJiYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJs b2FkaW5nInx8ZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJpbnRlcmFjdGl2ZSIpKXtk b2N1bWVudC53cml0ZSgnPD9pbXBvcnQgbmFtZXNwYWNlPSJtIiBpbXBsZW1lbnRh dGlvbj0iI01hdGhQbGF5ZXIiPicpO2oubXBJbXBvcnRlZD10cnVlfX1lbHNle2Rv Y3VtZW50Lm5hbWVzcGFjZXMuYWRkKCJtanhfSUVfZml4IiwiaHR0cDovL3d3dy53 My5vcmcvMTk5OS94bGluayIpfX19KTtjLkJyb3dzZXIuU2VsZWN0KE1hdGhKYXgu TWVzc2FnZS5icm93c2Vycyk7Yy5xdWV1ZT1mLkNhbGxiYWNrLlF1ZXVlKCk7Yy5x dWV1ZS5QdXNoKFsiUG9zdCIscS5zaWduYWwsIkJlZ2luIl0sWyJDb25maWciLHFd LFsiQ29va2llIixxXSxbIlN0eWxlcyIscV0sWyJNZXNzYWdlIixxXSxmdW5jdGlv bigpe3ZhciBpPWYuQ2FsbGJhY2suUXVldWUocS5KYXgoKSxxLkV4dGVuc2lvbnMo KSk7cmV0dXJuIGkuUHVzaCh7fSl9LFsiTWVudSIscV0scS5vbkxvYWQoKSxmdW5j dGlvbigpe01hdGhKYXguaXNSZWFkeT10cnVlfSxbIlR5cGVzZXQiLHFdLFsiSGFz aCIscV0sWyJNZW51Wm9vbSIscV0sWyJQb3N0IixxLnNpZ25hbCwiRW5kIl0pfSko Ik1hdGhKYXgiKX19OwoK ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=jquery.fancybox-1.3.4.css Content-Type: text/css; charset=utf-8; name=jquery.fancybox-1.3.4.css Content-Location: http://elibrary.ru/fancybox/jquery.fancybox-1.3.4.css Content-Transfer-Encoding: 8bit @charset "utf-8"; /* * FancyBox - jQuery Plugin * Simple and fancy lightbox alternative * * Examples and documentation at: http://fancybox.net * * Copyright (c) 2008 - 2010 Janis Skarnelis * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. * * Version: 1.3.4 (11/11/2010) * Requires: jQuery v1.3+ * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Edited by Bram Vanroy */ #fancybox-loading { position: fixed; top: 50%; left: 50%; width: 40px; height: 40px; margin-top: -20px; margin-left: -20px; cursor: pointer; overflow: hidden; z-index: 1104; display: none; } #fancybox-loading div { position: absolute; top: 0; left: 0; width: 40px; height: 480px; background-image: url('fancybox.png'); } #fancybox-overlay { position: absolute; top: 0; left: 0; width: 100%; z-index: 1100; display: none; } #fancybox-tmp { padding: 0; margin: 0; border: 0; overflow: auto; display: none; } #fancybox-wrap { position: absolute; top: 0; left: 0; padding: 20px; z-index: 1101; outline: none; display: none; } #fancybox-outer { position: relative; width: 100%; height: 100%; background: #fff; behavior: url('/pie/PIE.htc'); -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; -khtml-border-radius: 20px; } #fancybox-content { width: 0; height: 0; padding: 0; outline: none; position: relative; overflow: hidden; z-index: 1102; background: #fff; border: 0px solid #fff; behavior: url('/pie/PIE.htc'); -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; -khtml-border-radius: 20px; box-shadow: 0 0 15px 0px #555555; } #fancybox-hide-sel-frame { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; z-index: 1101; } #fancybox-close { position: absolute; top: -12px; right: -12px; width: 30px; height: 30px; background: transparent url('fancybox.png') -40px 0px; cursor: pointer; z-index: 1103; display: none; } #fancybox-error { color: #444; font: normal 12px/20px Verdana; padding: 14px; margin: 0; } #fancybox-img { width: 100%; height: 100%; padding: 0; margin: 0; border: none; outline: none; line-height: 0; vertical-align: top; } #fancybox-frame { width: 100%; height: 100%; border: none; display: block; } #fancybox-left, #fancybox-right { position: absolute; bottom: 0px; height: 100%; width: 35%; cursor: pointer; outline: none; background: transparent url('blank.gif'); z-index: 1102; display: none; } #fancybox-left { left: 0px; } #fancybox-right { right: 0px; } #fancybox-left-ico, #fancybox-right-ico { position: absolute; top: 50%; left: -9999px; width: 30px; height: 30px; margin-top: -15px; cursor: pointer; z-index: 1102; display: block; } #fancybox-left-ico { background-image: url('fancybox.png'); background-position: -40px -30px; } #fancybox-right-ico { background-image: url('fancybox.png'); background-position: -40px -60px; } #fancybox-left:hover, #fancybox-right:hover { visibility: visible; /* IE6 */ } #fancybox-left:hover span { left: 20px; } #fancybox-right:hover span { left: auto; right: 20px; } /* IE6 */ .fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_close.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_nav_left.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_nav_right.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } .fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_title_left.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_title_main.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_title_right.png', sizingMethod='scale'); } .fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { height: expression(this.parentNode.clientHeight + "px"); } #fancybox-loading.fancybox-ie6 { position: absolute; margin-top: 0; top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); } #fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_loading.png', sizingMethod='scale'); } /* IE6, IE7, IE8 */ .fancybox-ie .fancybox-bg { background: transparent !important; } .fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_n.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_e.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_se.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_s.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_w.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/gallery/fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline Content-Type: image/png Content-Location: http://elibrary.ru/images/but_blue_hover.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAZCAYAAAD5e+QFAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq YAAAOpgAABdvkl/FRgAAAJBJREFUeNpsUVECQyEIAvRyO8fOtbOyD/VVW/5UKILG 1/tj/EQCjW2p9PbggHyuO/3APD334J3uovOvNkndhC7qouCm+UZnZ5KKrnL5EJHU oj89yTi1ip4AfU4kBcwFGUAqAnYpz5mK2rMJyOUiyQA4HlmVVCw/rglSyoW0t4TG 53wgkaFYAFnm0QuZqUzgOwB5TyQeNFmE5gAAAABJRU5ErkJggg== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline Content-Type: image/png Content-Location: http://elibrary.ru/images/but_red_hover.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAZCAYAAAD5e+QFAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq YAAAOpgAABdvkl/FRgAAAKJJREFUeNpskdERQyEIBHeRVJUiUmsqJB/oU2fil8Mc 7HH4/bwLiucJGQI66wVIDgWKEiQoiowAiFYVYJDD2MPsXw5FDpRFNqkBqyPToOx5 q5xjnCBnu7HbbUFmiLhBxQId+IBs94s+18xYe9sZwAR5pATkCHA6rOk1XyGFLbaJ OxD/WFqt+IR8KBvkdaJaeeLtP0Mvj/uaa6GCUjK4QQq/AQDEJSs62HSsUgAAAABJ RU5ErkJggg== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline Content-Type: image/png Content-Location: http://elibrary.ru/images/but_gray_hover.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAUAAAAZCAYAAAD5e+QFAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq YAAAOpgAABdvkl/FRgAAAKNJREFUeNpckUEWQyEIAyeQQ7X3P1i6AG37XfhUhiSq Xu9XFBFAAgguFQgEM6VwdTFkphgNqRosw2O7IRBuP1Y1qw+CENzdWw+67V0H4bS4 qyfgiA7ZNs/h7t7lKGvIXs0gXaNHe8DdZi85IrqRdpe5v22T3JBzWNf9GSk30ZD9 Qx5Dd41RJEQg+mrqN2ct+W9U9f3J7Msf8hSCsGrUlFEW8BkA2/Av3cLVNaQAAAAA SUVORK5CYII= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline Content-Type: image/png Content-Location: http://elibrary.ru/images/bg_ast_white_panel.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAJYAAABkCAYAAABkW8nwAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq 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 SUVORK5CYII= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline Content-Type: image/png Content-Location: http://elibrary.ru/images/bg_ast1.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAlgAAADICAYAAAA0n5+2AAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq 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 P00URbE/JwAAeIA5WOdEvV5XhUIhtsGgnU5HVldXWb0CAGABWME6J0qlktbtdiUM w7mfKwgCcRyHDxUAAAILrutKp9OZK7KUUtJut5d2niIAAJcRlwjPod3dXZXJZCSZ TE71dWEYSrPZlI2NDeIKAAACC0fV63VlmqZkMhnRdX3k3iyllAwGA/F9X3q9npRK JeIKAAACC6MMD6ZuNBoqkUiIruv7q1phGEoQBBIEgYRhKFEUMZIBAAACC9OqVquq XC5rw/gSEaIKAAACCwAA4PzjLkIAAAACCwAAgMACAAAgsAAAAEBgAQAAEFgAAAAE FgAAAAgsAAAAAgsAAIDAAgAAAIEFAABAYAEAABBYAAAABBYAAAAILAAAAAILAACA wAIAAACBBQAAQGABAAAQWAAAACCwAAAACCwAAAACCwAAAAQWAAAAgQUAAEBgAQAA EFgAAAAgsAAAAAgsAAAAAgsAAAAEFgAAAIEFAABAYAEAAIDAAgAAILAAAAAILAAA ABBYAAAABBYAAACBBQAAQGABAACAwAIAACCwAAAACCwAAAAQWAAAAAQWAAAAgQUA AAACCwAAgMACAAAgsAAAAEBgAQAAEFgAAAAEFgAAAIEFAAAAAgsAAIDAAgAAILAA AABAYAEAABBYAAAABBYAAAAILAAAAAILAACAwAIAACCwAAAAQGABAAAQWAAAAAQW AAAACCwAAAACCwAAgMACAAAAgQUAAEBgAQAAEFgAAAAgsAAAAAgsAAAAAgsAAIDA AgAAAIEFAABAYAEAABBYAAAAILAAAAAILAAAAAILAAAABBYAAACBBQAAQGABAACA wAIAACCwAAAACCwAAIDL6P8PACEig9EbCO3HAAAAAElFTkSuQmCC ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=style_sm.css Content-Type: text/css; charset=utf-8; name=style_sm.css Content-Location: http://elibrary.ru/style_sm.css Content-Transfer-Encoding: 8bit BODY, P, TR, TD, INPUT, SELECT, OPTION, TEXTAREA {font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif; font-size: 8pt; } body { background: #f5f5f5; margin: 0; } A {text-decoration: none; color: #00008f} H1 {font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 9pt;} H2 {font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 9pt;} FORM, H1, H2 {margin: 0} A:hover {color: #F26C4F; text-decoration: underline} .menus A {color: #ffffff} .menus A:hover {color: #ffffff; text-decoration: underline} .menub A {color: #000000} .menug A {color: #555555} .redref A {color: #F26C4F} .redref A:hover {color: #F26C4F; text-decoration: underline} .expandable {cursor:pointer;} .expandable:hover {text-decoration: underline} img.expandable {filter:alpha(opacity=70); opacity: 0.7;} .win_expandable {cursor:pointer} .expanded {display:} .collapsed {display:none} P {text-indent: 30px; margin-top: 0.7em; margin-bottom: 0;} P.break {page-break-before: always} .input {border: #ffffff 1px solid; background: #fafafa; margin: 0; padding: 0;} .inputt {border: #ffffff 1px solid; background: #fafafa; margin: 0; padding: 1px 3px;} .formfr { border: #7f9db9 1px solid; background: #f5f5f5; margin: 0; padding: 1px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; -khtml-border-radius: 3px; } .inputw {border: #7f9db9 1px solid; background: #ffffff; height: 20px; padding: 0px;} .inputr {border: #7f9db9 1px solid; background: #fafafa; padding: 0px;} .inputrw {border: #7f9db9 1px solid; background: #ffffff; padding: 0px;} .ast A:hover {text-decoration: none; color: #F26C4F} .ast A {font-family: Times New Roman, Garamond, Times, Georgia, serif; font-size: 30pt; color: #F26C4F} .astb A:hover {text-decoration: none; color: #00008f} .astb A {font-family: Times New Roman, Times, serif; font-size: 30pt; color: #00008f} .aster { color: #F26C4F; font-family: Times New Roman, Times, serif; font-size: 16pt; cursor: pointer; } .aster A {color: #F26C4F;} .aster A:hover {text-decoration: none;} .astsm {color: #F26C4F; font-family: Times New Roman, Times, serif; font-size: 10pt; cursor:pointer;} .tooltip { width: 350px; display: none; margin: 10px 0 10px 0; border: #5674b9 4px solid; padding: 10px 20px 10px 20px; text-align: left; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; -khtml-border-radius: 20px; box-shadow: 1px 2px 3px #888; background-color: #fafafa; } .tooltip A:hover {color: #F26C4F; text-decoration: underline} .tooltip A {color: #00008f; text-decoration: none} .tooltip P {text-indent: 20px; margin-top: 0; margin-bottom: 0; text-align: justify;} .redtext {color: #F26C4F;} .bluetext {color: #00008f;} .hr {border-bottom: 1px dotted #555; margin: 10px 0 10px 0} .ac_results { padding: 5px; margin: 1px 0px 0px -2px; border: #7f9db9 1px solid; background-color: #fafafa; overflow: hidden; } .ac_results ul { width: 100%; list-style-position: outside; list-style: none; padding: 0; margin: 0; } .ac_results iframe { display:none; display/**/:block; position:absolute; top:0; left:0; z-index:-1; filter:mask(); width:3000px; height:3000px; } .ac_results li { position:relative; margin: 0px; padding: 2px 0px; cursor: pointer; display: block; width: 100%; font: menu; font-size: 8pt; overflow: hidden; } .ac_over { background-color: Highlight; color: HighlightText; } .butblue { margin: 0; border: 0; padding: 3px 4px 5px 4px; text-align: center; vertical-align: middle; behavior: url(/pie/PIE.htc); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; -khtml-border-radius: 10px; box-shadow: 1px 2px 2px #888; background: #5674b9 url(/images/but_blue.png) repeat-x scroll left top; text-shadow: rgba(0,0,0,0.3) 0 -1px 0; color: #ffffff; } .butred { margin: 0; border: 0; padding: 3px 4px 5px 4px; text-align: center; vertical-align: middle; behavior: url(/pie/PIE.htc); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; -khtml-border-radius: 10px; box-shadow: 1px 2px 2px #888; background: #F26C4F url(/images/but_red.png) repeat-x scroll left top; text-shadow: rgba(0,0,0,0.3) 0 -1px 0; color: #ffffff; } .butgray { margin: 0; border: 0; padding: 3px 4px 5px 4px; text-align: center; vertical-align: middle; behavior: url(/pie/PIE.htc); -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; -khtml-border-radius: 10px; box-shadow: 1px 2px 2px #888; background: #555555 url(/images/but_gray.png) repeat-x scroll left top; text-shadow: rgba(0,0,0,0.3) 0 -1px 0; color: #ffffff; } .butblue A, .butred A, .butgray A {color: #ffffff;} .butblue A:hover, .butred A:hover, .butgray A:hover { text-decoration: none; } .butblue:hover { background: #5674b9 url(/images/but_blue_hover.png) repeat-x scroll left top; padding: 4px; box-shadow: none; cursor: pointer; } .butred:hover { background: #F26C4F url(/images/but_red_hover.png) repeat-x scroll left top; padding: 4px; box-shadow: none; cursor: pointer; } .butgray:hover { background: #555555 url(/images/but_gray_hover.png) repeat-x scroll left top; padding: 4px; box-shadow: none; cursor: pointer; } .left-panel { width: 140px; margin: 0; border: 0; padding: 20px 5px 20px 5px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px 0 20px 0; -moz-border-radius: 20px 0 20px 0; border-radius: 20px 0 20px 0; -khtml-border-radius: 20px 0 20px 0; box-shadow: 1px 2px 3px #888; background: #eeeeee; } .right-panel { margin: 0; border: 0; padding: 20px 5px 20px 5px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px 0 20px 0; -moz-border-radius: 20px 0 20px 0; border-radius: 20px 0 20px 0; -khtml-border-radius: 20px 0 20px 0; box-shadow: 1px 2px 3px #888; background: #eeeeee; } .help-panel { margin: 0; border: 0; padding: 20px 5px 20px 5px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px 0 20px 0; -moz-border-radius: 20px 0 20px 0; border-radius: 20px 0 20px 0; -khtml-border-radius: 20px 0 20px 0; box-shadow: 1px 2px 3px #888; background: #eeeeee url(/images/bg_ast_white_panel.png) no-repeat; } .left-panel:hover, .right-panel:hover, .help-panel:hover, .form-panel:hover { box-shadow: 1px 2px 5px #5674b9; } .form-panel { width: 520px; margin: 0; border: 0; padding: 20px 30px 25px 30px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; -khtml-border-radius: 20px; box-shadow: 1px 2px 3px #888; background-color: #eeeeee; } .header-panel { width: 460px; margin: 0 0 25px 0; border: 0; padding: 25px 20px 15px 100px; text-align: center; behavior: url(/pie/PIE.htc); -webkit-border-radius: 0 0 20px 20px; -moz-border-radius: 0 0 20px 20px; border-radius: 0 0 20px 20px; -khtml-border-radius: 0 0 20px 20px; box-shadow: 1px 2px 5px #5674b9; background: #eeeeee url(/images/bg_ast1.png) no-repeat; background-size: 600px 200px; } .table-line { width: 574px; height: 4px; margin: 0; border: 0; padding: 0; behavior: url(/pie/PIE.htc); -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; -khtml-border-radius: 2px; background-color: #5674b9; } .maintext {font-size: 9pt;} .quest { margin: 0 5px; padding: 0 3px; text-align: center; vertical-align: middle; color: #ffffff; cursor: pointer; font-weight: bold; font-size: 7pt; background-color: #F26C4F; border: 0; opacity: 0.8; } .graph-bar { height: 15px; margin: 0; border: 0; padding: 0; behavior: url(/pie/PIE.htc); -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; -khtml-border-radius: 2px; background-color: #5674b9; box-shadow: 1px 2px 3px #888; } .shadow { behavior: url(/pie/PIE.htc); box-shadow: 1px 2px 3px #888; } .shadow-inset { behavior: url(/pie/PIE.htc); box-shadow: inset 1px 2px 3px #888; } .maintext { font-size: 9pt; text-align: justify; line-height: 1.5; } .midtext { font-size: 9pt; } .data-line { stroke: #5674b9; stroke-width: 2; fill: none; stroke-dasharray: 0; } path { stroke: #cccccc; stroke-width: 2; stroke-dasharray: 0; fill: none; } text { font-family: Arial; font-size: 8pt; fill: #555555; } line { stroke: #cccccc; stroke-width: 0.5; /*stroke-dasharray: 3 3; */ fill: none; } .data-point { stroke: #5674b9; stroke-width: 2; fill: #FFF; } #chart { margin: 0; } .arcGrp path { stroke: #FFF; stroke-width: 1; } .arc text { fill: #FFF; } .arc path { stroke: #FFF; stroke-width: 1; } .bullet { font: 10px sans-serif; } .bullet .marker { stroke: #ff8c00; stroke-width: 4px; } .bullet .tick line { stroke: #666; stroke-width: .5px; } .bullet .range.s0 { fill: #eee; } .bullet .range.s1 { fill: #ddd; } .bullet .range.s2 { fill: #ccc; } .bullet .range.s3 { fill: #bbb; } .bullet .measure.s0 { fill: lightsteelblue; stroke: #fff; stroke-width: 0.5px; } .bullet .measure.s1 { fill: #5674b9; stroke: #fff; stroke-width: 0.5px; } .tools-panel { margin: 0; border: 0; padding: 20px 5px 20px 5px; text-align: right; behavior: url(/pie/PIE.htc); -webkit-border-radius: 20px 0 0 20px; -moz-border-radius: 20px 0 0 20px; border-radius: 20px 0 0 20px; -khtml-border-radius: 20px 0 0 20px; box-shadow: 1px 2px 3px #888; background: #eeeeee; } .tools-panel:hover { box-shadow: 1px 2px 5px #5674b9; } .pointer {cursor: pointer;} ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=welcome.jpg Content-Type: image/jpeg; name=welcome.jpg Content-Location: http://elibrary.ru/images/welcome.jpg Content-Transfer-Encoding: Base64 /9j/4AAQSkZJRgABAgEASABIAAD/4RLRRXhpZgAATU0AKgAAAAgABwESAAMAAAAB AAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAc AAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQ QWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzADIwMDk6MDk6MjAgMDE6MDI6NTQA AAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAlqADAAQAAAABAAAA+AAAAAAAAAAG AQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAA AgEABAAAAAEAAAEuAgIABAAAAAEAABGbAAAAAAAAAEgAAAABAAAASAAAAAH/2P/g ABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/b AIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwR EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoABhAwEi AAIRAQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEA AQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIR AwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZE k1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm 9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUy gZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi 8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//a AAwDAQACEQMRAD8A9OWT1Hrhx8lmJi0uvue7YYbugy1lntln6Oj1GWZN/wDgq1rD lc47ddlWW4oa3IznNY6wzIby3v8AQr3bvTTJmqrqyYogkki6d3EsNuMywu3l0y7x Ic5v8EZQppZRSymv6FbQ1s86dz/WU08bLDuaUkkkkhSSSSSlJJJJKYPtrrLRY4N3 mGzxKmCCJGoPBHCo9VbWWVesP0Jdtc/ux87qLf8APCj031m2vYTupDAWuJ13A7Y2 f1R9L+Wm8XqpfwDg4rdBJJJOWP8A/9D00uawbnENA5J4WD+yMp2a+6q1tFQtNlZ+ k6J3tiv2/wDSct+AdHcHQryfqv8AjI+tGHfk9LbTjUZOLY+izJ2ue7cxxZ6lVdrv RZu+mzf6yBiJVfRdGZjddX1Ztlb3PDHBxrdtsAOrXFrbNj/3XenYyz+opLzX/Fd1 /KyOrdQws6519uc0ZbbbCS421RVd/nUPq2M/MZjr0pFapJJJJSkkkklKSSUbbaqa n3XOFdVTS+x7tA1rRue939VqSkWcLHYr21V+s4wCzymS7+UqfSPUstuueC3Z7CDp LjqWx/wbNq5Ho3+NWl2fezq9ZrwbbHOxMljZdVXP6KnKpZ73+z3etVv9/wDg/wDC Lt+ndV6d1Wl2T07IryqmuDH2VHc3dtbbsLo+m2uxm9n+DQMdRK/ouEqiYtpJJJFa /wD/0fTl5J/jX6SMTr9PU2CK+p1RYf8AhqNtb/6u/HdR/mL1tcn/AIz+nNzPqnfe B+l6fYzJZHMA+heP6vo3Pf8A2ElPl/1Z6kel9f6fnF2xlN7Bcf8AgrP0GR/4DY9e +EQSPBfN+hBB4OhXuf1M69R1voGNa2wPysetlOayfc21g27nt/dv2+rW9JTupEgD cdB4nQfis36x9dxugdIu6lke7ZDKa+77XaVVj6P9d/8Awa8v6p1AdSuba7Ps6lk3 EAMIaWNLj/M0j+Zx/b/o2f8AGWIE0kRt9jII5CZeR9K6ndgXftHF6kxn2UNdbivI rFlZ+njtoc/9b9vs300+pTZ+kXrNNtd9Nd9R3VWtbZWfFrhuakDaiKZrif8AGj1v 7L0uro9Lou6gS68DkY9Z9zT/AOGLtlf8utly7LIyKMXHtych4qooY6y2w8NYwb3v /stXhX1h63b1zq+R1KwFjbSG0VnllLNKa/6239JZ/wANZYihq4mJlZ+XTg4bd+Vl PFdLe0n89/8Awdbf0lrv9GvdujdJxujdLx+mY2teMzaXnl7z7rr3c+660usXG/4r Pq/SzDd9Ybm7sjIL6MSRoypjvTtsZ/wl9jNu/wD0df8ALsXfpKUkkkkp/9L05BzM THzcS7DyW+pj5NbqrmcSx42PEj6KMkkp+ffrB0d3Q+t5fSXWer9lcNlndzHtbdS9 38v03/pP+EWx/i36v+zfrTj1vdto6iDiWamN7vfiO2/v+u30m/8AHrV/xv8ATX1d VwuqMZFWTQcd7gNPVqc6xnqO/espt9n/ABK4bDyThZmPmBvqHFtrv2Hh3pvbbs/t bElPov8AjcyrbczpHSapLnepca+znvLceh3/AFtvrqn0r6oGlrL7MsOsZJY0A6OI IESq31g69076zfWfonUsQPYxoFF9No2vrsD7Hw52tb2ubZurfW9bePV9YaMuym63 GswGtJrcNboAOw+n9JvG2z/oKHITehrRsYYxMbIvV5PqHR8zA/SuaLagP0oGsD/S QvUPqFkOyfqd0y1ztxFb6p8qrLKG/wDRrXD9Ud193Tc3L6lXTTiV0u9MVODnHeNj Rp+7u/OQui/4wh9X/q3idDxcV1uXXXeDkucA2u219l+M5lUP+0Mq9Rnr7/S/4NOx km7WZgBVaW3/APGf9Zzdd/zfwbJpp93USw/SsBDqsQn92j+dv/4X0q/8FYuBqpyM q6vGxWOuyLnBlVTdXOcfotULLbLnPtuebLrHF9ljjLnPcd1j3u/ee/3r1P8AxUdF qp6Q/rVtTTk5ljmY9pEubRX+icGO/wAH6uQ27ft/nP0akYnrOgdNPSuiYHTXQX4t DK7C3VpsA/TOb/J9Xer6SSSlJJJJKf/T9OSSSSU899fej2dX+q+XRSJvx4yqW/vO p97qx/Ksp9RjP5a8MEPgEwwwSe58Gr6UBIMheHfWroFHS/rVl4VAjGJbfjtiAxt3 6X0v6lL/AFG/8WgdFBxmusbUNp2uY/fW4ATMj3fyvo+1dp9XrX5uI/LwLrPtD4bl 0NewPrsgt9rb2v3Y9zP5v/ztcRzvIMCRqfCV2rvq2xnT+k4r3V19UNVtl7K27XCu 13r4rcyzd+kyWt9v/F/8Wo8g0s9GbFIg1vbidavt9azpjbja6yz1MyHSxsGW4zNn te//AE9ixc0n7QSP8Edmg8BPZdL1bptHTMDptZqcMu4XZFmSABU5j3tY3FYZ3WWY +1rt+389c0QLHEnRz3FxPOsp8BQWZJWWfTsG7qXUcfp+PJszLGVtIEkBx99n/Wq9 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 5VAyXVmxjXmPYXAHUT3WnmtyXYV7cRwZkurc2l5G4NeQfTe5n57WP/MXlt4/xlmy xt+Nk2O3bn7ceh1ZdG3dX+b9FEUp771W/vN/zgn9doP0hPxC8t/YH1w7dMzY/qH/ ANLJx0P66N0b07PA8A0j/wBHo2EPqQuafzgfmFIWt/eb/nD+9eVnoX1zd9Lp2efi D/6XRKejfXai1ltfTsxr2GWk1teJ/lMstex39tqVhT6pTm1Cq+6pwsNFb3lrPcZD XGNrZ/dWV9Q/q0eidEr9dmzPzA23LPduk1Y//Wd36T/h32LB+rlX+MR/VcdmQx+L htc0ZL8iiljPRad76menNnquaNlO1q9FKBSoABJJJBSkkkklP//Z/+0ZPlBob3Rv c2hvcCAzLjAAOEJJTQQEAAAAAAAHHAIAAAIAAAA4QklNBCUAAAAAABDo8VzzL8EY oaJ7Z63FZNW6OEJJTQQvAAAAAABKwIgBAFgCAABYAgAAAAAAAAAAAABZGgAAnxIA AJ3///+m////BBsAAAYTAAAAAXsFAADgAwAAAQAPJwEAbGx1bgAAAAAAAAAAAAA4 QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAA AD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAA CQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4 QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEA MgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAA AP////////////////////////////8D6AAAAAD///////////////////////// ////A+gAAAAA/////////////////////////////wPoAAAAAP////////////// //////////////8D6AAAOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAAAQAAAAAOEJJ TQQwAAAAAAACAQE4QklNBC0AAAAAAAYAAQAAAAI4QklNBAgAAAAAABAAAAABAAAC QAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADQwAAAAYAAAAAAAAA AAAAAPgAAACWAAAABwB3AGUAbABjAG8AbQBlAAAAAQAAAAAAAAAAAAAAAAAAAAAA AAABAAAAAAAAAAAAAACWAAAA+AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA AAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAA AABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0 b21sb25nAAAA+AAAAABSZ2h0bG9uZwAAAJYAAAAGc2xpY2VzVmxMcwAAAAFPYmpj AAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJ RGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9H ZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJv dW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExl ZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAPgAAAAAUmdodGxvbmcAAACWAAAAA3Vy bFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAA AAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNl bGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpB bGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFs aWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29s b3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNl dGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0 bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAA BDhCSU0EDAAAAAARtwAAAAEAAABhAAAAoAAAASQAALaAAAARmwAYAAH/2P/gABBK RklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQA DAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwM DAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoABhAwEiAAIR AQMRAf/dAAQAB//EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUB AQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQh EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdH V2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEU obFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOE w9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwD AQACEQMRAD8A9OWT1Hrhx8lmJi0uvue7YYbugy1lntln6Oj1GWZN/wDgq1rDlc47 ddlWW4oa3IznNY6wzIby3v8AQr3bvTTJmqrqyYogkki6d3EsNuMywu3l0y7xIc5v 8EZQppZRSymv6FbQ1s86dz/WU08bLDuaUkkkkhSSSSSlJJJJKYPtrrLRY4N3mGzx KmCCJGoPBHCo9VbWWVesP0Jdtc/ux87qLf8APCj031m2vYTupDAWuJ13A7Y2f1R9 L+Wm8XqpfwDg4rdBJJJOWP8A/9D00uawbnENA5J4WD+yMp2a+6q1tFQtNlZ+k6J3 tiv2/wDSct+AdHcHQryfqv8AjI+tGHfk9LbTjUZOLY+izJ2ue7cxxZ6lVdrvRZu+ mzf6yBiJVfRdGZjddX1Ztlb3PDHBxrdtsAOrXFrbNj/3XenYyz+opLzX/Fd1/KyO rdQws6519uc0ZbbbCS421RVd/nUPq2M/MZjr0pFapJJJJSkkkklKSSUbbaqan3XO FdVTS+x7tA1rRue939VqSkWcLHYr21V+s4wCzymS7+UqfSPUstuueC3Z7CDpLjqW x/wbNq5Ho3+NWl2fezq9ZrwbbHOxMljZdVXP6KnKpZ73+z3etVv9/wDg/wDCLt+n dV6d1Wl2T07IryqmuDH2VHc3dtbbsLo+m2uxm9n+DQMdRK/ouEqiYtpJJJFa/wD/ 0fTl5J/jX6SMTr9PU2CK+p1RYf8AhqNtb/6u/HdR/mL1tcn/AIz+nNzPqnfeB+l6 fYzJZHMA+heP6vo3Pf8A2ElPl/1Z6kel9f6fnF2xlN7Bcf8AgrP0GR/4DY9e+EQS PBfN+hBB4OhXuf1M69R1voGNa2wPysetlOayfc21g27nt/dv2+rW9JTupEgDcdB4 nQfis36x9dxugdIu6lke7ZDKa+77XaVVj6P9d/8Awa8v6p1AdSuba7Ps6lk3EAMI aWNLj/M0j+Zx/b/o2f8AGWIE0kRt9jII5CZeR9K6ndgXftHF6kxn2UNdbivIrFlZ +njtoc/9b9vs300+pTZ+kXrNNtd9Nd9R3VWtbZWfFrhuakDaiKZrif8AGj1v7L0u ro9Lou6gS68DkY9Z9zT/AOGLtlf8utly7LIyKMXHtych4qooY6y2w8NYwb3v/stX hX1h63b1zq+R1KwFjbSG0VnllLNKa/6239JZ/wANZYihq4mJlZ+XTg4bd+VlPFdL e0n89/8Awdbf0lrv9GvdujdJxujdLx+mY2teMzaXnl7z7rr3c+660usXG/4rPq/S zDd9Ybm7sjIL6MSRoypjvTtsZ/wl9jNu/wD0df8ALsXfpKUkkkkp/9L05BzMTHzc S7DyW+pj5NbqrmcSx42PEj6KMkkp+ffrB0d3Q+t5fSXWer9lcNlndzHtbdS938v0 3/pP+EWx/i36v+zfrTj1vdto6iDiWamN7vfiO2/v+u30m/8AHrV/xv8ATX1dVwuq MZFWTQcd7gNPVqc6xnqO/espt9n/ABK4bDyThZmPmBvqHFtrv2Hh3pvbbs/tbElP ov8AjcyrbczpHSapLnepca+znvLceh3/AFtvrqn0r6oGlrL7MsOsZJY0A6OIIESq 31g69076zfWfonUsQPYxoFF9No2vrsD7Hw52tb2ubZurfW9bePV9YaMuym63GswG tJrcNboAOw+n9JvG2z/oKHITehrRsYYxMbIvV5PqHR8zA/SuaLagP0oGsD/SQvUP qFkOyfqd0y1ztxFb6p8qrLKG/wDRrXD9Ud193Tc3L6lXTTiV0u9MVODnHeNjRp+7 u/OQui/4wh9X/q3idDxcV1uXXXeDkucA2u219l+M5lUP+0Mq9Rnr7/S/4NOxkm7W ZgBVaW3/APGf9Zzdd/zfwbJpp93USw/SsBDqsQn92j+dv/4X0q/8FYuBqpyMq6vG xWOuyLnBlVTdXOcfotULLbLnPtuebLrHF9ljjLnPcd1j3u/ee/3r1P8AxUdFqp6Q /rVtTTk5ljmY9pEubRX+icGO/wAH6uQ27ft/nP0akYnrOgdNPSuiYHTXQX4tDK7C 3VpsA/TOb/J9Xer6SSSlJJJJKf/T9OSSSSU899fej2dX+q+XRSJvx4yqW/vOp97q x/Ksp9RjP5a8MEPgEwwwSe58Gr6UBIMheHfWroFHS/rVl4VAjGJbfjtiAxt36X0v 6lL/AFG/8WgdFBxmusbUNp2uY/fW4ATMj3fyvo+1dp9XrX5uI/LwLrPtD4bl0New Prsgt9rb2v3Y9zP5v/ztcRzvIMCRqfCV2rvq2xnT+k4r3V19UNVtl7K27XCu13r4 rcyzd+kyWt9v/F/8Wo8g0s9GbFIg1vbidavt9azpjbja6yz1MyHSxsGW4zNnte// AE9ixc0n7QSP8Edmg8BPZdL1bptHTMDptZqcMu4XZFmSABU5j3tY3FYZ3WWY+1rt +389c0QLHEnRz3FxPOsp8BQWZJWWfTsG7qXUcfp+PJszLGVtIEkBx99n/Wq99n9h fQmHh42Di04WIwV4+OwVVMHZrRtbr+cuG/xU/VynHwLOu317srJe+rEeddlDTse+ sfmuyLm2e/8A0LF36csUkkkkpSSSSSn/1PTkkkklKXnP+NSmmrqHTcsNiy6m6ux/ 7wrdWaZ/4v17v89ejLyj/Gv1Nj+u04LfeMXGbuH7r7nOse0/9ZZUgdkx3eU6NQzK 6hi49kbLL6m2E/uFzfUJ/sr2nqH1boyMr7fjt2Xn22js4D2Mub/wzK/b/UXl/wBQ 8D1ct2c9u5lLhsB1mD+lP+c5rV6q7qNIIF1TrgBLQwk/NrS7/vqPCCNUiRFU8B/j Fdey/AxLWVUNxq7H10Uy4tY8hjH32fnPsfUuEP8APED82P716LmdGyvrB+0s+72X XT6RdMja3biVNH5vu97l5u0lu5z2kOH0mnkEfSb/AJyAHVEuz7h/i+tfb9TOmOeZ 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 AG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAIABDAFMAMwAAAAEAOEJJTQ+gAAAA AAD4bWFuaUlSRlIAAADsOEJJTUFuRHMAAADMAAAAEAAAAAEAAAAAAABudWxsAAAA AwAAAABBRlN0bG9uZwAAAAAAAAAARnJJblZsTHMAAAABT2JqYwAAAAEAAAAAAABu dWxsAAAAAQAAAABGcklEbG9uZ05ZhEEAAAAARlN0c1ZsTHMAAAABT2JqYwAAAAEA AAAAAABudWxsAAAABAAAAABGc0lEbG9uZwAAAAAAAAAAQUZybWxvbmcAAAAAAAAA AEZzRnJWbExzAAAAAWxvbmdOWYRBAAAAAExDbnRsb25nAAAAAAAAOEJJTVJvbGwA AAAIAAAAAAAAAAA4QklND6EAAAAAABxtZnJpAAAAAgAAABAAAAABAAAAAAAAAAEA AAAAOEJJTQQGAAAAAAAHAAYAAAABAQD/4Q/OaHR0cDovL25zLmFkb2JlLmNvbS94 YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJl U3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEv IiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjEtYzAzNiA0Ni4yNzY3MjAsIE1v biBGZWIgMTkgMjAwNyAyMjo0MDowOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6 cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMj Ij4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6ZGM9Imh0dHA6 Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4YXA9Imh0dHA6Ly9u cy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRv YmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2Jl LmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6dGlmZj0iaHR0 cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iIHhtbG5zOmV4aWY9Imh0dHA6Ly9u cy5hZG9iZS5jb20vZXhpZi8xLjAvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9u cy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIGRjOmZvcm1hdD0iaW1hZ2UvanBl ZyIgeGFwOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1MzIFdpbmRvd3Mi IHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA5LTIwVDAxOjAyOjU0KzA0OjAwIiB4YXA6 TW9kaWZ5RGF0ZT0iMjAwOS0wOS0yMFQwMTowMjo1NCswNDowMCIgeGFwOk1ldGFk YXRhRGF0ZT0iMjAwOS0wOS0yMFQwMTowMjo1NCswNDowMCIgeGFwTU06RG9jdW1l bnRJRD0idXVpZDoxQTdDREI2MDVGQTVERTExOEUxM0E1MDY1MzZCRkM5MSIgeGFw TU06SW5zdGFuY2VJRD0idXVpZDoxQjdDREI2MDVGQTVERTExOEUxM0E1MDY1MzZC RkM5MSIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpYUmVzb2x1dGlvbj0iNzIw MDAwLzEwMDAwIiB0aWZmOllSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6 UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1 OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMx OCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtGOTMw NTBFODRCOTQxMDk0QzUwNDVDODZGM0U1ODJDRSIgZXhpZjpQaXhlbFhEaW1lbnNp b249IjE1MCIgZXhpZjpQaXhlbFlEaW1lbnNpb249IjI0OCIgZXhpZjpDb2xvclNw YWNlPSIxIiBleGlmOk5hdGl2ZURpZ2VzdD0iMzY4NjQsNDA5NjAsNDA5NjEsMzcx MjEsMzcxMjIsNDA5NjIsNDA5NjMsMzc1MTAsNDA5NjQsMzY4NjcsMzY4NjgsMzM0 MzQsMzM0MzcsMzQ4NTAsMzQ4NTIsMzQ4NTUsMzQ4NTYsMzczNzcsMzczNzgsMzcz NzksMzczODAsMzczODEsMzczODIsMzczODMsMzczODQsMzczODUsMzczODYsMzcz OTYsNDE0ODMsNDE0ODQsNDE0ODYsNDE0ODcsNDE0ODgsNDE0OTIsNDE0OTMsNDE0 OTUsNDE3MjgsNDE3MjksNDE3MzAsNDE5ODUsNDE5ODYsNDE5ODcsNDE5ODgsNDE5 ODksNDE5OTAsNDE5OTEsNDE5OTIsNDE5OTMsNDE5OTQsNDE5OTUsNDE5OTYsNDIw MTYsMCwyLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4LDIw LDIyLDIzLDI0LDI1LDI2LDI3LDI4LDMwOzcwQkE0Qjc3ODcwQzVCNkE5RTA2N0Y2 RUExNjEwNzMwIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUND UHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIi PiA8eGFwTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVpZDoxNkFE QTA1QzM4QTVERTExOEUxM0E1MDY1MzZCRkM5MSIgc3RSZWY6ZG9jdW1lbnRJRD0i dXVpZDoxMEFEQTA1QzM4QTVERTExOEUxM0E1MDY1MzZCRkM5MSIvPiA8L3JkZjpE ZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+IMWElDQ19Q Uk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNz cE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3By dAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZ WgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1k ZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVh cwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRS QwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNr YXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAA AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFla IAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABi mQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0 cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVz YwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2Ug LSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xv dXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAA LFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAA AAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYt Mi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDP FAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAA AQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAE AAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0A cgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA 6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwB gwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkEC SwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgD QwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGME cQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF 1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EH dAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJ TwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1EL aQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakN ww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQ YRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMT QxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkW bBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ 3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAd mR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwgmCDEIPAhHCFIIXUh oSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl 9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1Kmgq myrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ov kS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ40 2DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6 dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNA ZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdG q0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJN Sk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZU QlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0Vb lVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBj Q2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdr T2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11z uHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8 gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeF q4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6P No+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZ JJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowaj dqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1Erbiu La6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5 SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHE zsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQ utE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3Ird EN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui86Ubp 0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32 +/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf///+4ADkFkb2JlAGRAAAAA Af/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcH BgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQoJCg0PDg4ODg8PDAwM DAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgA+ACW AwERAAIRAQMRAf/dAAQAE//EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkK CwEAAgIDAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMB AgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRTkqKyY3PC NUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl 9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZqbnJ 2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNh IgZxgZEyobHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZ JjZFGidkdFU38qOzwygp0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2 R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6 ytrq+v/aAAwDAQACEQMRAD8A+6mKuxV5j5q/Nby55YuZrIMNUvLSOSS/jilSNLcR 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 2KuxV//Z ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=elibrary_logo.gif Content-Type: image/gif; name=elibrary_logo.gif Content-Location: http://elibrary.ru/images/elibrary_logo.gif Content-Transfer-Encoding: Base64 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 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=1pix.gif Content-Type: image/gif; name=1pix.gif Content-Location: http://elibrary.ru/pic/1pix.gif Content-Transfer-Encoding: Base64 R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAQAICVAEA Ow== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=or_kv.gif Content-Type: image/gif; name=or_kv.gif Content-Location: http://elibrary.ru/images/or_kv.gif Content-Transfer-Encoding: Base64 R0lGODlhBwAHAJEAAAAAAP////JsT////yH5BAEAAAMALAAAAAAHAAcAAAIGlI+p y40FADs= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=bl_kv.gif Content-Type: image/gif; name=bl_kv.gif Content-Location: http://elibrary.ru/images/bl_kv.gif Content-Transfer-Encoding: Base64 R0lGODlhBwAHAJEAAAAAAP///1Z0uf///yH5BAEAAAMALAAAAAAHAAcAAAIGlI+p y40FADs= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=but_orange_i.gif Content-Type: image/gif; name=but_orange_i.gif Content-Location: http://elibrary.ru/images/but_orange_i.gif Content-Transfer-Encoding: Base64 R0lGODlhDwAPALMAAAAAAP////Xp5vJsT/J4XvJ7YfOHcPOUf/OWgvOjkfTGvPTI v/TLwvTNxf///wAAACH5BAEAAA4ALAAAAAAPAA8AAARF0EnXkhkmtTkFGmA4IEJH iChROocYvCLiLOgboMuH7mPB774aDBUM2Yg64zCEUAhvIgXLtRwcJILTT9VJxlYc hgWTYHAiADs= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=scienceindex_logo2.png Content-Type: image/png; name=scienceindex_logo2.png Content-Location: http://elibrary.ru/images/scienceindex_logo2.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAK0AAAAtCAYAAADcH+ubAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq 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 TkSuQmCC ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=mail1.gif Content-Type: image/gif; name=mail1.gif Content-Location: http://elibrary.ru/images/mail1.gif Content-Transfer-Encoding: Base64 R0lGODlhCgAIAKIAAAAAAP////JsT93d3f///wAAAAAAAAAAACH5BAEAAAQALAAA AAAKAAgAAAMWKLos8fCtKFVw0NkraxiXAyogNTRoAgA7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=about_author.gif Content-Type: image/gif; name=about_author.gif Content-Location: http://elibrary.ru/images/about_author.gif Content-Transfer-Encoding: Base64 R0lGODlhCQAKAKIAAAAAAP////JsT93d3f///wAAAAAAAAAAACH5BAEAAAQALAAA AAAJAAoAAAMcSCqsLiEKR6CkI4ZB65gPlDUWVIoBymzayLxwAgA7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=19992300.gif Content-Type: image/gif; name=19992300.gif Content-Location: http://elibrary.ru/jcovers/19992300.gif Content-Transfer-Encoding: Base64 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 2m0JNGCJbwgIADs= ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=tr_red2.gif Content-Type: image/gif; name=tr_red2.gif Content-Location: http://elibrary.ru/pic/tr_red2.gif Content-Transfer-Encoding: Base64 R0lGODlhCgAJAJEAAAAAAP////JsT////yH5BAEAAAMALAAAAAAKAAkAAAIT1D6G otms4IGGOoqllXe+hyRhAQA7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=but_orange.gif Content-Type: image/gif; name=but_orange.gif Content-Location: http://elibrary.ru/images/but_orange.gif Content-Transfer-Encoding: Base64 R0lGODlhDwAPALMAAAAAAP////Xp5vJsT/J4XvJ7YfOHcPOUf/OWgvOjkfTGvPTI v/TLwvTNxf///wAAACH5BAEAAA4ALAAAAAAPAA8AAARH0EnXkhkmtTkFGmA4IEJH iChROgfqIs6CBu6wfGJAo0gx6yjfDygShnS7UAF3TIYQillNwaqJDhLByarqMEUk joRhwSQYnAgAOw== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=pdf_yellow.gif Content-Type: image/gif; name=pdf_yellow.gif Content-Location: http://elibrary.ru/images/pdf_yellow.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAQAMQAAAAAAP///+cxNOg8Puc+QelHSOdLTelTVeZWWehZW+ZcXuRk ZuVsbuN9fuSEheKMjeGbnOGsreC0teK3uN/Ky97j4///AOcvL+ZFReNzcuG8vN7U 1N3d3REREf///wAAACH5BAEAAB4ALAAAAAAQABAAAAVioCcCZFl2nagCXOu2XZCa NMnFMmDtPM+eul6P5eoEhTsirEZ7pUYvAuR1W70uGVelCm1BKA+G08rZJCISwQCD mDw9RAfm0ZBEHovCm6XAUMsaewwGFH8cFXsHhkUqKI6PjyEAOw== ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=ast_sm.gif Content-Type: image/gif; name=ast_sm.gif Content-Location: http://elibrary.ru/images/ast_sm.gif Content-Transfer-Encoding: Base64 R0lGODlhEAASAMQAAAAAAP////JsT/J1WvN/ZfOIcfORfPSah/SkkvStnfW2qfW/ tPXJv/bb1ffu7Pbk4f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAEAABAALAAAAAAQABIAAAV2ICSODTE0Y6oegnCoMGS0 RqwmLQIvAsGIjJZCtBgIFoSWYAgxOiAKJQGnHCYKEJ4ykUVUFwetawFTHEwGxcPW UBgKhfQ6tShUFYggjUxtkRFYekJJfiJOUEoGPAM/EHqNDEaNKVRcNiMzAjWXIiwu nCIlA3MpIQA7 ------------GGp31ILoEREjsCiTr9WMqj Content-Disposition: inline; filename=watch.js Content-Type: application/x-javascript; name=watch.js Content-Location: http://mc.yandex.ru/metrika/watch.js Content-Transfer-Encoding: Base64 KGZ1bmN0aW9uKGUsYyxpYSl7dmFyIFI7ZnVuY3Rpb24gcGEoYixoKXtyZXR1cm4g ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGIuYXBwbHkodGhpcyxhcmd1bWVudHMpfWNh dGNoKGMpe3ZhciBlPVsiY3A6ICIraCxjLm5hbWUrIjogIitjLm1lc3NhZ2UsImRl YnVnOiAiK1FhLCJzdGFjazogIitjLnN0YWNrXTsobmV3IEltYWdlKS5zcmM9Ii8v YW4ueWFuZGV4LnJ1L2pzZXJyLyIrY291bnRlcklkKyI/IitqYSh7ImNudC1jbGFz cyI6MTAwK2NvdW50ZXJUeXBlLGVycm1zZzplLmpvaW4oIjsgIikucmVwbGFjZSgv XHI/XG4vZywiXFxuIil9KX19fWZ1bmN0aW9uIE0oYixoLGMpe3JldHVybiBlLnNl dFRpbWVvdXQocGEoYixjfHwic2V0VGltZW91dCIpLGgpfWZ1bmN0aW9uIEooYil7 Zm9yKHZhciBoPTEsYz1iLmxlbmd0aDtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWJb YysrXT1hcmd1bWVudHNbaF07cmV0dXJuIGIubGVuZ3RofWZ1bmN0aW9uIHFhKGIp e3JldHVybiJbb2JqZWN0IEFycmF5XSI9PQpPYmplY3QucHJvdG90eXBlLnRvU3Ry aW5nLmNhbGwoYil9ZnVuY3Rpb24gUmEoYixoLGMpe3ZhciBlLG0seD0wO2Zvcihl IGluIGIpaWYoYi5oYXNPd25Qcm9wZXJ0eShlKSYmKG09Yz9oLmNhbGwoYyxiW2Vd LGUsYix4KTpoKGJbZV0sZSxiLHgpLHgrKywhMT09PW0pKWJyZWFrO3JldHVybiB0 aGlzfWZ1bmN0aW9uIEQoKXtmb3IodmFyIGI9e30saD0iaGFzaCBob3N0IGhvc3Ru YW1lIGhyZWYgcGF0aG5hbWUgcG9ydCBwcm90b2NvbCBzZWFyY2giLnNwbGl0KCIg IiksYz1oLmxlbmd0aCxsPWM7bC0tOyliW2hbbF1dPSIiO3RyeXtmb3IodmFyIG09 ZS5sb2NhdGlvbixsPWM7bC0tOyl7dmFyIHg9aFtsXTtiW3hdPSIiK21beF19fWNh dGNoKHApe0ImJihiPUIpfXJldHVybiBifWZ1bmN0aW9uIE1iKGIpe3JldHVybiBi PygiIitiKS5yZXBsYWNlKC9eXHMrLywiIikucmVwbGFjZSgvXHMrJC8sIiIpOiIi fWZ1bmN0aW9uIFNhKCl7cmV0dXJuLTEhPUQoKS5ob3N0bmFtZS5zZWFyY2goLyg/ Ol58XC4pKD86eWF8eWFuZGV4fG5hcm9kfG5hcm9kMilcLig/Olx3K3xjb21cLlx3 KykkLyl9CmZ1bmN0aW9uIEdhKCl7cmV0dXJuIk1ldHJpa2FQbGF5ZXIiPT1lLm5h bWV9ZnVuY3Rpb24gSSgpe3JldHVybituZXcgRGF0ZX1mdW5jdGlvbiBrYShiKXty ZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKigibnVtYmVyIj09dHlwZW9m IGI/YjoxMDczNzQxODI0KSl9ZnVuY3Rpb24gVGIoKXt2YXIgYj1jLmRvY3VtZW50 RWxlbWVudCxoPWMuZG9jdHlwZSxlPWIuYXR0cmlidXRlcyxsPSIiLG09IiIseD0i IixtPWIub3V0ZXJIVE1MO2lmKCFtKXtmb3IobT0wO208ZS5sZW5ndGg7bSsrKXt2 YXIgcD1lW21dO3AmJihsKz0iICIrcC5uYW1lKyc9IicrKHAudmFsdWV8fCIiKSsn IicpfW09IjxodG1sIitsKyI+IitiLmlubmVySFRNTCsiPC9odG1sPiJ9aCYmKHg9 IjwhRE9DVFlQRSAiK2gubmFtZSsoaC5wdWJsaWNJZD8nIFBVQkxJQyAiJytoLnB1 YmxpY0lkKyciJzoiIikrKGguc3lzdGVtSWQ/JyAiJytoLnN5c3RlbUlkKyciJzoi IikrIj5cbiIpO3JldHVybiB4K219ZnVuY3Rpb24gamEoYil7dmFyIGg9CltdLGM7 Zm9yKGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoaFtoLmxlbmd0aF09Yysi PSIrZW5jb2RlVVJJQ29tcG9uZW50KGJbY10pKTtyZXR1cm4gaC5qb2luKCImIil9 ZnVuY3Rpb24gVGEoYil7Zm9yKHZhciBoPWIubGVuZ3RoLGM9MCxlPTI1NSxtPTI1 NTtoOyl7dmFyIHg9MjE8aD8yMTpoLGg9aC14O2Rve3ZhciBwPSJzdHJpbmciPT10 eXBlb2YgYj9iLmNoYXJDb2RlQXQoYyk6YltjXTtjKys7aWYoMjU1PHApdmFyIHU9 cD4+OCxwPXAmMjU1LHA9cF51O2UrPXA7bSs9ZX13aGlsZSgtLXgpO2U9KGUmMjU1 KSsoZT4+OCk7bT0obSYyNTUpKyhtPj44KX1iPShlJjI1NSkrKGU+PjgpPDw4fCht JjI1NSkrKG0+PjgpO3JldHVybiA2NTUzNT09Yj8wOmJ9ZnVuY3Rpb24gamIoYil7 Zm9yKHZhciBjPUkoKSxlPTE7MDxlO2UrKylpZigwPT1lJTFFMyl7dmFyIGw9SSgp O2lmKGM+bClicmVhaztpZihsLWM+YilicmVha319ZnVuY3Rpb24gVWEoYil7ImZ1 bmN0aW9uIj09dHlwZW9mIGUueW1Mb2cmJgplLnltTG9nKGIpfWZ1bmN0aW9uIFZh KGIpe3JldHVybi0xIT09KCIiK2UubmF2aWdhdG9yLnVzZXJBZ2VudCkudG9Mb3dl ckNhc2UoKS5zZWFyY2goYil9ZnVuY3Rpb24gbGEoYixoLGUsbCl7L1teYS16MC05 Li1dLy50ZXN0KGwpJiYobD1udWxsKTtiPWIrIj0iK2VuY29kZVVSSUNvbXBvbmVu dChoKTtlJiYoaD1uZXcgRGF0ZSxoLnNldFRpbWUoaC5nZXRUaW1lKCkrNkU0KmUp LGIrPSI7ZXhwaXJlcz0iK2gudG9HTVRTdHJpbmcoKSk7bCYmKGIrPSI7ZG9tYWlu PSIrbCk7Yy5jb29raWU9YisiO3BhdGg9LyJ9ZnVuY3Rpb24gcmEoYil7cmV0dXJu IGMuY29va2llLm1hdGNoKFJlZ0V4cCgiKD86Xnw7XFxzKikiK2IrIj0oW147XSop IikpP2RlY29kZVVSSUNvbXBvbmVudChSZWdFeHAuJDEpOm51bGx9ZnVuY3Rpb24g eWIoKXtsYSgiX21ldHJpa2FfZW5hYmxlZCIsIjEiLDYwKTt2YXIgYj0hIXJhKCJf bWV0cmlrYV9lbmFibGVkIik7bGEoIl9tZXRyaWthX2VuYWJsZWQiLCIiLC0xLHZv aWQgMCk7CnJldHVybiBifWZ1bmN0aW9uIEhhKCl7dmFyIGI9Yy5kb2N1bWVudEVs ZW1lbnQ7cmV0dXJuIkNTUzFDb21wYXQiPT1jLmNvbXBhdE1vZGU/YjpjLmJvZHl8 fGJ9ZnVuY3Rpb24ga2IoKXt2YXIgYj1IYSgpO3JldHVybltiLmNsaWVudFdpZHRo LGIuY2xpZW50SGVpZ2h0XX1mdW5jdGlvbiBsYigpe3ZhciBiPUhhKCksYz1rYigp O3JldHVybltNYXRoLm1heChiLnNjcm9sbFdpZHRoLGNbMF0pLE1hdGgubWF4KGIu c2Nyb2xsSGVpZ2h0LGNbMV0pXX1mdW5jdGlvbiBXYSgpe3JldHVybltlLnBhZ2VY T2Zmc2V0fHxjLmRvY3VtZW50RWxlbWVudCYmYy5kb2N1bWVudEVsZW1lbnQuc2Ny b2xsTGVmdHx8Yy5ib2R5JiZjLmJvZHkuc2Nyb2xsTGVmdHx8MCxlLnBhZ2VZT2Zm c2V0fHxjLmRvY3VtZW50RWxlbWVudCYmYy5kb2N1bWVudEVsZW1lbnQuc2Nyb2xs VG9wfHxjLmJvZHkmJmMuYm9keS5zY3JvbGxUb3B8fDBdfWZ1bmN0aW9uIG1iKGIp e2lmKCFiLm93bmVyRG9jdW1lbnR8fCJQQVJBTSI9PQpiLnRhZ05hbWV8fGI9PWMu Ym9keXx8Yj09Yy5kb2N1bWVudEVsZW1lbnQpcmV0dXJuWzAsMF07aWYoYi5nZXRC b3VuZGluZ0NsaWVudFJlY3QpcmV0dXJuIGI9Yi5nZXRCb3VuZGluZ0NsaWVudFJl Y3QoKSxbTWF0aC5yb3VuZChiLmxlZnQrT1swXSksTWF0aC5yb3VuZChiLnRvcCtP WzFdKV07Zm9yKHZhciBoPTAsZT0wO2I7KWgrPWIub2Zmc2V0TGVmdCxlKz1iLm9m ZnNldFRvcCxiPWIub2Zmc2V0UGFyZW50O3JldHVybltoLGVdfWZ1bmN0aW9uIFAo YixoKXtyZXR1cm4gYj09Yy5kb2N1bWVudEVsZW1lbnQ/bnVsbDpoP2IudGFnTmFt ZS50b0xvd2VyQ2FzZSgpPT09aD9iOlAoYi5wYXJlbnROb2RlLGgpOmI9PWMuYm9k eT9jLmRvY3VtZW50RWxlbWVudDpiLnBhcmVudE5vZGV9ZnVuY3Rpb24gbmIoYixj KXt2YXIgZT1bXTtpZihiKWZvcih2YXIgbD1iLmNoaWxkTm9kZXMsbT0wLHg9bC5s ZW5ndGg7bTx4O20rKyl7dmFyIHA9bFttXTsiSU5QVVQiPT1wLm5vZGVOYW1lJiZw LnR5cGUmJgoiaGlkZGVuIj09cC50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCl8fGMm JnAubm9kZU5hbWUhPWN8fEooZSxwKX1yZXR1cm4gZX1mdW5jdGlvbiBYYShiKXt2 YXIgaD1tYihiKTtiPWI9PWMuYm9keXx8Yj09Yy5kb2N1bWVudEVsZW1lbnQ/bGIo KTpbYi5vZmZzZXRXaWR0aCxiLm9mZnNldEhlaWdodF07cmV0dXJuW2hbMF0saFsx XSxiWzBdLGJbMV1dfWZ1bmN0aW9uIG9iKGIpe3ZhciBjPSIiO2I9Yi5jaGlsZE5v ZGVzO2Zvcih2YXIgZT0wLGw9Yi5sZW5ndGg7ZTxsO2UrKyliW2VdJiYzPT1iW2Vd Lm5vZGVUeXBlJiYoYys9YltlXS5ub2RlVmFsdWUpO3JldHVybiBUYShjLnJlcGxh Y2UoL1tcdTAwMDAtXHUwMDIwXSsvZywiIikpfWZ1bmN0aW9uIHBiKGIpe3ZhciBj PSIiLGU9IndpZHRoIGhlaWdodCBhbGlnbiB0aXRsZSBhbHQgbmFtZSIuc3BsaXQo IiAiKTsiSU1HIj09Yi50YWdOYW1lJiYoYys9Yi5zcmMudG9Mb3dlckNhc2UoKSk7 IkEiPT1iLnRhZ05hbWUmJihjKz1iLmhyZWYudG9Mb3dlckNhc2UoKSk7CmZvcih2 YXIgYz1jK1N0cmluZyhiLmNsYXNzTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCksbD0w O2w8ZS5sZW5ndGg7bCsrKWIuZ2V0QXR0cmlidXRlJiYoYys9U3RyaW5nKGIuZ2V0 QXR0cmlidXRlKGVbbF0pfHwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIFRhKGMu cmVwbGFjZSgvW1x1MDAwMC1cdTAwMjBdKy9nLCIiKSl9ZnVuY3Rpb24gcWIoYil7 Zm9yKHZhciBlPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKSxzPTAsbD1l Lmxlbmd0aDtzPGw7cysrKWlmKGVbc109PWIpcmV0dXJuIHM7cmV0dXJuLTF9ZnVu Y3Rpb24gc2EoYixjKXtyZXR1cm4gUmVnRXhwKCIoPzpefFxccykiK2MrIig/Olxc c3wkKSIpLnRlc3QoYi5jbGFzc05hbWUpfWZ1bmN0aW9uIE5iKGIpe3JldHVybiJJ TlBVVCI9PWIubm9kZU5hbWUmJiJzdWJtaXQiIT1iLnR5cGUmJiJpbWFnZSIhPWIu dHlwZSYmImhpZGRlbiIhPWIudHlwZT8icmFkaW8iPT1iLnR5cGV8fCJjaGVja2Jv eCI9PWIudHlwZT8hYi5jaGVja2VkOgohYi52YWx1ZToiVEVYVEFSRUEiPT1iLm5v ZGVOYW1lPyFiLnZhbHVlOiJTRUxFQ1QiPT1iLm5vZGVOYW1lPzA+Yi5zZWxlY3Rl ZEluZGV4OiEwfWZ1bmN0aW9uIE4oYixjLGUsbCl7UVtRLmxlbmd0aF09W2UsZV07 Yi5hZGRFdmVudExpc3RlbmVyP2IuYWRkRXZlbnRMaXN0ZW5lcihjLGUsISFsKTpi LmF0dGFjaEV2ZW50JiZiLmF0dGFjaEV2ZW50KCJvbiIrYyxlKX1mdW5jdGlvbiBa YShiLGMsZSxsKXtmb3IodmFyIG09MDttPFEubGVuZ3RoO20rKylpZihRW21dJiZR W21dWzBdPT1lKXt2YXIgeD1RW21dWzFdO2RlbGV0ZSBRW21dO2JyZWFrfXgmJihi LnJlbW92ZUV2ZW50TGlzdGVuZXI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKGMseCwh IWwpOmIuZGV0YWNoRXZlbnQmJmIuZGV0YWNoRXZlbnQoIm9uIitjLHgpKX1mdW5j dGlvbiB0YShiKXt0cnl7ZGVsZXRlIGVbYl19Y2F0Y2goYyl7ZVtiXT1pYX19ZnVu Y3Rpb24gdWEoYil7dmFyIGU9Yy5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKZS50 eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2UuYXN5bmM9ITA7ZS5zcmM9Yjt0cnl7dmFy IHM9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaHRtbCIpWzBdO2MuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoImhlYWQiKVswXXx8cy5hcHBlbmRDaGlsZChjLmNyZWF0ZUVs ZW1lbnQoImhlYWQiKSk7dmFyIGw9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVh ZCIpWzBdO2wuaW5zZXJ0QmVmb3JlKGUsbC5maXJzdENoaWxkKX1jYXRjaChtKXt9 fWZ1bmN0aW9uIElhKCl7aWYodG9wIT1lJiZwYXJlbnQ9PXRvcCYmZS5wb3N0TWVz c2FnZSYmIVlhLk1ldHJpa2Ffdmlzb3JQbGF5ZXJPbil7WWEuTWV0cmlrYV92aXNv clBsYXllck9uPSEwO3ZhciBiPWMuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5pbm5l ckhUTUw9JzxpZnJhbWUgbmFtZT0iUmVtb3RlSWZyYW1lIiBhbGxvd3RyYW5zcGFy ZW5jeT0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5 OXB4OyB0b3A6IC05OTlweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7Ij48L2lm cmFtZT4nOwp2YXIgaD1iLmZpcnN0Q2hpbGQ7TShmdW5jdGlvbigpe2Z1bmN0aW9u IGIoYyxlLGgsbSxsKXt0cnl7aC5wb3N0TWVzc2FnZSYmKGMub25tZXNzYWdlPWZ1 bmN0aW9uKGIpe2I9Ynx8Yy5ldmVudDt0cnl7dmFyIGg9SlNPTi5wYXJzZShiLmRh dGEpfWNhdGNoKHMpe3JldHVybn1pZigvKF58XC4peWFuZGV4XC4ocnV8Y29tfHVh fGt6fGJ5fGNvbVwudHIpKDpcZHs0fSk/JC8udGVzdChiLm9yaWdpbikmJmgmJiJz Y3JpcHQiPT1oLm5hbWUmJmguZGF0YSl7Yj1tLmdldEVsZW1lbnRzQnlUYWdOYW1l KCJoZWFkIilbMF07dmFyIHg9bS5jcmVhdGVFbGVtZW50KCJiYXNlIik7eC5ocmVm PWguZGF0YTtiLmFwcGVuZENoaWxkKHgpO3g9bS5jcmVhdGVFbGVtZW50KCJzY3Jp cHQiKTt4LnNyYz1oLmRhdGE7Yi5hcHBlbmRDaGlsZCh4KTstMTxsLnVzZXJBZ2Vu dC5pbmRleE9mKCJGaXJlZm94LzMuNi4iKSYmZS5yZW1vdmVFdmVudExpc3RlbmVy KCJtZXNzYWdlIixjLm9ubWVzc2FnZSwhMSk7Yy5vbm1lc3NhZ2U9Cm51bGx9fSwt MTxsLnVzZXJBZ2VudC5pbmRleE9mKCJGaXJlZm94LzMuNi4iKSYmZS5hZGRFdmVu dExpc3RlbmVyKCJtZXNzYWdlIixjLm9ubWVzc2FnZSwhMSksaC5wb3N0TWVzc2Fn ZSgneyJuYW1lIjoicGluZyJ9JywiKiIpKX1jYXRjaChzKXt9fXZhciBlPWMuYm9k eXx8Yy5kb2N1bWVudEVsZW1lbnQ7ZS5pbnNlcnRCZWZvcmUoaCxlLmZpcnN0Q2hp bGQpO3RyeXt2YXIgbT1oLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnR9Y2F0Y2goeCl7 fW0mJihtLm9wZW4oKSxtLndyaXRlKCc8IWRvY3R5cGUgaHRtbD48aHRtbD48aGVh ZD48bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklF PUVtdWxhdGVJRTcsSUU9ZWRnZSIgLz48L2hlYWQ+PGJvZHk+PHNjcmlwdCB0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiPignK2IudG9TdHJpbmcoKSsiKSh3aW5kb3csIHBh cmVudCwgdG9wLCBkb2N1bWVudCwgbmF2aWdhdG9yKTtceDNjL3NjcmlwdD48L2Jv ZHk+PC9odG1sPiIpLAptLmNsb3NlKCkpfSw1MDApfX1mdW5jdGlvbiBVYihiLGgs cyxsLG0seCl7ZnVuY3Rpb24gcChhLGIsZCl7dmFyIGY9cGEoZnVuY3Rpb24oYSl7 cmV0dXJuIGQoYXx8ZS5ldmVudCl9LGIpO2NhW2NhLmxlbmd0aF09W2EsYixkLGZd O2EuYWRkRXZlbnRMaXN0ZW5lcj9hLmFkZEV2ZW50TGlzdGVuZXIoYixmLCEwKTph LmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrYixmKX1mdW5jdGlvbiB1 KGEsYixkKXtmb3IodmFyIGY9MDtmPGNhLmxlbmd0aDtmKyspaWYoY2FbZl0mJmNh W2ZdWzBdPT1hJiZjYVtmXVsxXT09YiYmY2FbZl1bMl09PWQpe3ZhciBnPWNhW2Zd WzNdO2RlbGV0ZSBjYVtmXTticmVha31nJiYoYS5yZW1vdmVFdmVudExpc3RlbmVy P2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGcsITApOmEuZGV0YWNoRXZlbnQmJmEu ZGV0YWNoRXZlbnQoIm9uIitiLGcpKX1mdW5jdGlvbiBJKGEpe3ZhciBiPUhhKCk7 cmV0dXJuW2EucGFnZVh8fGEuY2xpZW50WCtPWzBdLShiLmNsaWVudExlZnR8fAow KXx8MCxhLnBhZ2VZfHxhLmNsaWVudFkrT1sxXS0oYi5jbGllbnRUb3B8fDApfHww XX1mdW5jdGlvbiBCKGEpe3JldHVybiBhLnRhcmdldHx8YS5zcmNFbGVtZW50fWZ1 bmN0aW9uIEsoYSl7cmV0dXJuKGEuc2hpZnRLZXk/aGI6MCl8KGEuY3RybEtleT96 YjowKXwoYS5hbHRLZXk/Z2I6MCl8KGEubWV0YUtleT94YjowKXwoYS5jdHJsS2V5 fHxhLmFsdEtleT9yYjowKX1mdW5jdGlvbiBUKGEpe3ZhciBiPShuZXcgRGF0ZSku Z2V0VGltZSgpO2EmJmI8YSYmKEFiKz1hLWIreSk7TShmdW5jdGlvbigpe1QoYil9 LHkpfWZ1bmN0aW9uIE4oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKStBYjth PEJiJiYoYT1CYit5LzIpO3JldHVybiBCYj1hfWZ1bmN0aW9uIEcoKXtyZXR1cm4g TWF0aC5yb3VuZCgoTigpLXliKS9yKX1mdW5jdGlvbiBTKGEsYil7Yj1NYXRoLm1h eCgwLE1hdGgubWluKGIsNjU1MzUpKTtKKGEsYj4+OCxiJjI1NSl9ZnVuY3Rpb24g dyhhLGIpe0ooYSxiJjI1NSl9ZnVuY3Rpb24gbihhLApiKXtmb3IoYj1NYXRoLm1h eCgwLGJ8MCk7MTI3PGI7KUooYSxiJjEyN3wxMjgpLGI+Pj03O0ooYSxiKX1mdW5j dGlvbiBSKGEsYil7MjU1PGIubGVuZ3RoJiYoYj1iLnN1YnN0cigwLDI1NSkpO0oo YSxiLmxlbmd0aCk7Zm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspUyhhLGIuY2hh ckNvZGVBdChmKSl9ZnVuY3Rpb24gUShhLGIpe24oYSxiLmxlbmd0aCk7Zm9yKHZh ciBmPTA7ZjxiLmxlbmd0aDtmKyspbihhLGIuY2hhckNvZGVBdChmKSl9ZnVuY3Rp b24gZ2EoYSl7aWYoIWEubm9kZU5hbWUpcmV0dXJuIGFbSF09LTEsbnVsbDt2YXIg Yj0rYVtIXTtpZighaXNGaW5pdGUoYil8fDA+PWIpcmV0dXJuIG51bGw7dmFyIGY9 SWEsZD0wLGc9UChhKSxjPWcmJmdbSF0/Z1tIXTowOzA+YyYmKGM9MCk7dmFyIGU9 YS5ub2RlTmFtZS50b1VwcGVyQ2FzZSgpLEE9UWFbZV07QXx8KGZ8PUZhKTt2YXIg aDthOntoPW5iKFAoYSksYS5ub2RlTmFtZSk7Zm9yKHZhciBrPTA7azxoLmxlbmd0 aDtrKyspaWYoaFtrXT09CmEpe2g9azticmVhayBhfWg9MH1ofHwoZnw9amIpO2s9 WGEoYSk7KGc9Zz9YYShnKTpudWxsKSYma1swXT09Z1swXSYma1sxXT09Z1sxXSYm a1syXT09Z1syXSYma1szXT09Z1szXSYmKGZ8PVVhKTtzYltiXS5wb3M9a1swXSsi eCIra1sxXTtzYltiXS5zaXplPWtbMl0rIngiK2tbM107YS5pZCYmInN0cmluZyI9 PXR5cGVvZiBhLmlkJiYoZnw9dWEpOyhnPW9iKGEpKSYmKGZ8PXRhKTt2YXIgeT1w YihhKTt5JiYoZHw9d2IpO3ZhciB2O2E6e3Y9bmIoUChhKSxhLnRhZ05hbWUpO2Zv cih2YXIgcj0wO3I8di5sZW5ndGg7cisrKWlmKCghdltyXS5pZHx8InN0cmluZyIh PXR5cGVvZiB2W3JdLmlkKSYmcGIodltyXSk9PXkmJm9iKHZbcl0pPT1nKXt2PSEw O2JyZWFrIGF9dj0hMX1pZih2KXZhciBmPWZ8UGEsbT1UYSgoYS5pbm5lckhUTUx8 fCIiKS5yZXBsYWNlKC8oPFtePl0qPnxbXHUwMDAwLVx1MDAyMF0pL2csIiIpKTt2 PVtdO3codixWYik7bih2LGIpO3codixmKTtuKHYsYyk7QT93KHYsCkEpOlIodixl KTtoJiZuKHYsaCk7ZiZVYXx8KG4odixrWzBdKSxuKHYsa1sxXSksbih2LGtbMl0p LG4odixrWzNdKSk7ZiZ1YSYmUih2LGEuaWQpO2cmJlModixnKTtmJlBhJiZTKHYs bSk7dyh2LGQpO3kmJlModix5KTtyZXR1cm4gdn1mdW5jdGlvbiBiYShhLGIsZixk LGcsYyl7Zm9yKDtmJiYoIWYub2Zmc2V0V2lkdGh8fCFmLm9mZnNldEhlaWdodCk7 KWY9UChmKTtpZighZilyZXR1cm4gbnVsbDt2YXIgZT1mW0hdO2lmKCFlfHwwPmUp cmV0dXJuIG51bGw7dmFyIGs9e21vdXNlbW92ZTpXYixjbGljazpWYSxkYmxjbGlj azpaYSxtb3VzZWRvd246RSxtb3VzZXVwOlNhLHRvdWNoOlhifVtiXTtpZighayly ZXR1cm4gbnVsbDt2YXIgQT1tYihmKTtmPVtdO3coZixrKTtuKGYsYSk7bihmLGUp O24oZixNYXRoLm1heCgwLGRbMF0tQVswXSkpO24oZixNYXRoLm1heCgwLGRbMV0t QVsxXSkpOy9ebW91c2UodXB8ZG93bil8Y2xpY2skLy50ZXN0KGIpJiYoYT1nfHxj LHcoZiwyPmE/ZWI6YT09CihnPzI6NCk/aWI6ZmIpKTtyZXR1cm4gZn1mdW5jdGlv biBXKGEsYil7dmFyIGY9W107dyhmLFgpO24oZixhKTtuKGYsYlswXSk7bihmLGJb MV0pO3JldHVybiBmfWZ1bmN0aW9uIGlhKGEsYixmKXt2YXIgZD1bXTtmPWZbSF07 aWYoIWZ8fDA+ZilyZXR1cm4gbnVsbDt3KGQsWWIpO24oZCxhKTtuKGQsYlswXSk7 bihkLGJbMV0pO24oZCxmKTtyZXR1cm4gZH1mdW5jdGlvbiBqYShhLGIsZil7dmFy IGQ9W107dyhkLE9hKTtuKGQsYSk7bihkLGJbMF0pO24oZCxiWzFdKTtuKGQsZlsw XSk7bihkLGZbMV0pO3JldHVybiBkfWZ1bmN0aW9uIGthKGEsYixmLGQpe3ZhciBn PVtdO3coZyx2KTtuKGcsYSk7UyhnLGIpO3coZyxmKTthPWRbSF07aWYoIWF8fDA+ YSlhPTA7bihnLGEpO3JldHVybiBnfWZ1bmN0aW9uIGxhKGEsYil7dmFyIGYsZDsw PT1iLmxlbmd0aD9kPWY9IiI6MTAwPj1iLmxlbmd0aD8oZj1iLGQ9IiIpOjIwMD49 Yi5sZW5ndGg/KGY9Yi5zdWJzdHIoMCwxMDApLGQ9Yi5zdWJzdHIoMTAwKSk6Cihm PWIuc3Vic3RyKDAsOTcpLGQ9Yi5zdWJzdHIoYi5sZW5ndGgtOTcpKTt2YXIgZz1b XTt3KGcscWEpO24oZyxhKTtRKGcsZik7UShnLGQpO3JldHVybiBnfWZ1bmN0aW9u IG1hKGEpe3ZhciBiPVtdO3coYixOYSk7bihiLGEpO3JldHVybiBifWZ1bmN0aW9u IG5hKGEpe3ZhciBiPVtdO3coYixaYik7bihiLGEpO3JldHVybiBifWZ1bmN0aW9u IHZhKGEpe3ZhciBiPVtdO3coYiwkYik7bihiLGEpO3JldHVybiBifWZ1bmN0aW9u IG9hKGEsYil7dmFyIGY9W107dyhmLGFjKTtuKGYsYSk7bihmLGJbSF0pO3JldHVy biBmfWZ1bmN0aW9uIEJhKGEsYil7dmFyIGY9W107dyhmLEMpO24oZixhKTtuKGYs YltIXSk7cmV0dXJuIGZ9ZnVuY3Rpb24gQ2EoYSxiLGYpe3ZhciBkPVtdO3coZCxi Yyk7bihkLGEpO24oZCxiW0hdKTtSKGQsU3RyaW5nKGYpKTtyZXR1cm4gZH1mdW5j dGlvbiBEYShhLGIpe3ZhciBmPWJbSF07aWYoMDxmKXt2YXIgZD1bXSxnPVhhKGIp LGM9c2JbZl0sZT1nWzBdKyJ4IisKZ1sxXSxrPWdbMl0rIngiK2dbM107ZSE9Yy5w b3MmJihjLnBvcz1lLHcoZCx3YSksbihkLGEpLG4oZCxmKSxuKGQsZ1swXSksbihk LGdbMV0pKTtrIT1jLnNpemUmJihjLnNpemU9ayx3KGQsWSksbihkLGEpLG4oZCxm KSxuKGQsZ1syXSksbihkLGdbM10pKTtpZihkLmxlbmd0aClyZXR1cm4gZH1yZXR1 cm4gbnVsbH1mdW5jdGlvbiBFYShhKXt2YXIgYj1hW0hdO2lmKCFifHwwPmJ8fCEv XklOUFVUfFNFTEVDVHxURVhUQVJFQSQvLnRlc3QoYS5ub2RlTmFtZSl8fCFhLmZv cm18fHNhKGEuZm9ybSwiLW1ldHJpa2Etbm9mb3JtIikpcmV0dXJuIG51bGw7dmFy IGY9cWIoYS5mb3JtKTtpZigwPmYpcmV0dXJuIG51bGw7dmFyIGQ7ZD0iSU5QVVQi PT1hLm5vZGVOYW1lP3t0ZXh0OjAscGFzc3dvcmQ6MixyYWRpbzozLGNoZWNrYm94 OjQsZmlsZTo2LGltYWdlOjd9W2EudHlwZV06e1NFTEVDVDoxLFRFWFRBUkVBOjV9 W2Eubm9kZU5hbWVdO2lmKCJudW1iZXIiIT10eXBlb2YgZClyZXR1cm4gbnVsbDsK Zm9yKHZhciBnPS0xLGM9YS5mb3JtLmVsZW1lbnRzLGU9Yy5sZW5ndGgsaz0wLEE9 MDtrPGU7aysrKWlmKGNba10ubmFtZT09YS5uYW1lKXtpZihjW2tdPT1hKXtnPUE7 YnJlYWt9QSsrfWlmKDA+ZylyZXR1cm4gbnVsbDtjPVtdO3coYyxMKTtuKGMsYik7 bihjLGYpO24oYyxkKTtRKGMsYS5uYW1lfHwiIik7bihjLGcpO3JldHVybiBjfWZ1 bmN0aW9uIGhhKGEsYil7dmFyIGY9cWIoYik7aWYoMD5mKXJldHVybiBudWxsO2Zv cih2YXIgZD1iLmVsZW1lbnRzLGc9ZC5sZW5ndGgsYz1bXSxlPTA7ZTxnO2UrKylp ZighTmIoZFtlXSkpe3ZhciBrPWRbZV1bSF07ayYmMDxrJiZKKGMsayl9ZD1bXTt3 KGQsdCk7bihkLGEpO24oZCxmKTtuKGQsYy5sZW5ndGgpO2ZvcihmPTA7ZjxjLmxl bmd0aDtmKyspbihkLGNbZl0pO3JldHVybiBkfWZ1bmN0aW9uIEdhKCl7dmFyIGE9 W107dyhhLGNjKTtyZXR1cm4gYX1mdW5jdGlvbiBKYShhKXtDYiYmY2xlYXJUaW1l b3V0KENiKTtmb3IodmFyIGI9KG5ldyBEYXRlKS5nZXRUaW1lKCkrCmQ7dGIubGVu Z3RoJiYoYXx8KyhuZXcgRGF0ZSkuZ2V0VGltZSgpPGIpOyl7dmFyIGY9dGIuc2hp ZnQoKTtpZihmPWZbMF0uYXBwbHkoZSxmWzFdKSl7dmFyIGM9Zjs2NTAwPEthLmxl bmd0aCtjLmxlbmd0aCYmZygpO2Zvcih2YXIgZj1LYSxoPTAsdj1mLmxlbmd0aDto PGMubGVuZ3RoO2grKylmW3YrK109Y1toXTskYXx8KCRhPU0oZyxrKSl9fSEwPT09 YSYmZyghMCk7dGIubGVuZ3RoJiYoQ2I9TShKYSxBKSl9ZnVuY3Rpb24gRihhLGIs Zil7Sih0YixbYSxiXSk7SmEoZil9ZnVuY3Rpb24gcShhKXtpZihhW0hdKUYoRGEs W0coKSxhXSk7ZWxzZXt2YXIgYj1QKGEpO2ImJnEoYik7YVtIXT1EYjtzYltEYl09 e307RGIrKztGKGdhLFthXSk7RihFYSxbYV0pfX1mdW5jdGlvbiBVKGEpe3ZhciBi PUIoYSksZixkLGc9MDtpZihiJiYiU0NST0xMQkFSIiE9Yi5ub2RlTmFtZSl7aWYo YiYmL15JTlBVVHxTRUxFQ1R8VEVYVEFSRUF8QlVUVE9OJC8udGVzdChiLnRhZ05h bWUpKWlmKGJbSF0pcShiKTsKZWxzZSBpZihmPVAoYiwiZm9ybSIpKWZvcihmPWYu ZWxlbWVudHMsZD1mLmxlbmd0aDtnPGQ7ZysrKS9eSU5QVVR8U0VMRUNUfFRFWFRB UkVBfEJVVFRPTiQvLnRlc3QoZltnXS50YWdOYW1lKSYmIWZbZ11bSF0mJnEoZltn XSk7ZWxzZSBxKGIpO2Vsc2UgcShiKTtGKGJhLFtHKCksYS50eXBlLGIsSShhKSxh LndoaWNoLGEuYnV0dG9uXSl9fWZ1bmN0aW9uIFooYSl7VShhKTt2YXIgYixmO2Uu Z2V0U2VsZWN0aW9uPyhhPWUuZ2V0U2VsZWN0aW9uKCksYj1hLnRvU3RyaW5nKCks Zj1hLmFuY2hvck5vZGUpOmMuc2VsZWN0aW9uJiZjLnNlbGVjdGlvbi5jcmVhdGVS YW5nZSYmKGE9Yy5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKSxiPWEudGV4dCxmPWEu cGFyZW50RWxlbWVudCgpKTtmb3IoO2YmJjEhPWYubm9kZVR5cGU7KWY9Zi5wYXJl bnROb2RlO2YmJiJJTlBVVCI9PWYudGFnTmFtZSYmInBhc3N3b3JkIj09Zi50eXBl fHxmJiYvKD86XnxccyktbWV0cmlrYS1ub2tleXMoPzpcc3wkKS8udGVzdChmLmNs YXNzTmFtZSl8fApiPT1FYnx8KEViPWIsRihsYSxbRygpLGJdKSl9ZnVuY3Rpb24g TGEoYSl7dmFyIGI9TigpLGY9Yi1PYjtpZighKGY8UGIpKXt2YXIgZD1JKGEpLGc9 RmJbMF0tZFswXSxjPUZiWzFdLWRbMV0sZz1nKmcrYypjOzA+PWd8fDE2PmcmJjEw MD5mfHwyMD5mJiYyNTY+Z3x8KE9iPWIsRmI9ZCxVKGEpKX19ZnVuY3Rpb24gZGEo KXtPPVdhKCk7dmFyIGE9TigpO2EtUWI8UGJ8fDEwPk1hdGguYWJzKE9bMF0tR2Jb MF0pJiYxMD5NYXRoLmFicyhPWzFdLUdiWzFdKXx8KFFiPWEsR2I9TyxGKFcsW0co KSxPXSkpfWZ1bmN0aW9uIGFiKGEpe2E9QihhKTt2YXIgYj1NYXRoLnJhbmRvbSgp LGY9W2Euc2Nyb2xsTGVmdCxhLnNjcm9sbFRvcF07aWYoYS5sb2NhbElkKXtpZihi PUhiW2EubG9jYWxJZF0sIWJ8fDEwPk1hdGguYWJzKGZbMF0tYlswXSkmJjEwPk1h dGguYWJzKGZbMV0tYlsxXSkpcmV0dXJufWVsc2V7Zm9yKDtIYltiXTspYj1NYXRo LnJhbmRvbSgpO2EubG9jYWxJZD1ifUhiW2EubG9jYWxJZF09CmY7YSE9PWMmJihx KGEpLEYoaWEsW0coKSxmLGFdKSl9ZnVuY3Rpb24gTWEoKXtGKGphLFtHKCksa2Io KSxsYigpXSl9ZnVuY3Rpb24geihhKXtGKEdhLFtdLCEwKTtnKCEwKTt0cnl7aWYo ImJlZm9yZXVubG9hZCI9PWEudHlwZSlmb3IodmFyIGI9K25ldyBEYXRlKzUwOytu ZXcgRGF0ZTxiOyk7fWNhdGNoKGYpe319ZnVuY3Rpb24gYmIoYSxiLGYpe2E9Qihh KTsiSU5QVVQiPT1hLnRhZ05hbWUmJiJwYXNzd29yZCI9PWEudHlwZXx8Lyg/Ol58 XHMpLW1ldHJpa2Etbm9rZXlzKD86XHN8JCkvLnRlc3QoYS5jbGFzc05hbWUpfHwo cShhKSxGKGthLFtHKCksYixmLGFdKSl9ZnVuY3Rpb24gZWEoYSl7dmFyIGI9YS5r ZXlDb2RlLGY9SyhhKTtpZih7MzoxLDg6MSw5OjEsMTM6MSwxNjoxLDE3OjEsMTg6 MSwxOToxLDIwOjEsMjc6MSwzMzoxLDM0OjEsMzU6MSwzNjoxLDM3OjEsMzg6MSwz OToxLDQwOjEsNDU6MSw0NjoxLDkxOjEsOTI6MSw5MzoxLDEwNjoxLDExMDoxLDEx MToxLDE0NDoxLAoxNDU6MX1bYl18fDExMjw9YiYmMTIzPj1ifHw5Njw9YiYmMTA1 Pj1ifHxmJnJiKTE5PT1iJiYoZiZ+cmIpPT16YiYmKGI9MTQ0KSxiYihhLGIsZnxy YiksSWI9ITEsTShmdW5jdGlvbigpe0liPSEwfSwxKSw2Nz09YiYmZiZ6YiYmIShm JmdifHxmJmhiKSYmeGEoKX1mdW5jdGlvbiByYShhKXtJYiYmIUpiJiYwIT09YS53 aGljaCYmKGJiKGEsYS5jaGFyQ29kZXx8YS5rZXlDb2RlLEsoYSkpLEpiPSEwLE0o ZnVuY3Rpb24oKXtKYj0hMX0sMSkpfWZ1bmN0aW9uIHhhKCl7S2J8fChLYj0hMCxF YiYmRihtYSxbRygpXSksTShmdW5jdGlvbigpe0tiPSExfSwxKSl9ZnVuY3Rpb24g eWEoKXtjYnx8KGNiPSEwLEYobmEsW0coKV0pKX1mdW5jdGlvbiAkKCl7Y2ImJihj Yj0hMSxGKHZhLFtHKCldKSl9ZnVuY3Rpb24gZGIoYSl7KCFjYnx8YSYmIWEuZnJv bUVsZW1lbnQpJiZ5YSgpfWZ1bmN0aW9uIHphKGEpe2EmJiFhLnRvRWxlbWVudCYm JCgpfWZ1bmN0aW9uIGFhKGEpe2E9QihhKTt2YXIgYiwKZixkPTA7aWYoYSYmL15J TlBVVHxTRUxFQ1R8VEVYVEFSRUF8QlVUVE9OJC8udGVzdChhLnRhZ05hbWUpKXtp ZihhW0hdKXEoYSk7ZWxzZSBpZihiPVAoYSwiZm9ybSIpKWZvcihiPWIuZWxlbWVu dHMsZj1iLmxlbmd0aDtkPGY7ZCsrKS9eSU5QVVR8U0VMRUNUfFRFWFRBUkVBfEJV VFRPTiQvLnRlc3QoYltkXS50YWdOYW1lKSYmIWJbZF1bSF0mJnEoYltkXSk7ZWxz ZSBxKGEpO0Yob2EsW0coKSxhXSl9fWZ1bmN0aW9uIEFhKGEpeyhhPUIoYSkpJiYv XklOUFVUfFNFTEVDVHxURVhUQVJFQXxCVVRUT04kLy50ZXN0KGEudGFnTmFtZSkm JihxKGEpLEYoQmEsW0coKSxhXSkpfWZ1bmN0aW9uIFYoYSl7YT1CKGEpO2lmKCEo IklOUFVUIj09YS50YWdOYW1lJiYicGFzc3dvcmQiPT1hLnR5cGV8fGEmJi8oPzpe fFxzKS1tZXRyaWthLW5va2V5cyg/OlxzfCQpLy50ZXN0KGEuY2xhc3NOYW1lKSkm JmEmJi9eSU5QVVR8U0VMRUNUfFRFWFRBUkVBJC8udGVzdChhLnRhZ05hbWUpKXt2 YXIgYj0vXihjaGVja2JveHxyYWRpbykkLy50ZXN0KGEudHlwZSk/CmEuY2hlY2tl ZDphLnZhbHVlO3EoYSk7RihDYSxbRygpLGEsYl0pfX1mdW5jdGlvbiBhKGEpe2E9 QihhKTtpZighc2EoYSwiLW1ldHJpa2Etbm9mb3JtIikmJiJGT1JNIj09YS5ub2Rl TmFtZSl7Zm9yKHZhciBiPWEuZWxlbWVudHMsZj0wO2Y8Yi5sZW5ndGg7ZisrKU5i KGJbZl0pfHxxKGJbZl0pO0YoaGEsW0coKSxhXSwhMCl9fWZ1bmN0aW9uIGYoYSl7 ZGEoKTtpZihhLnRvdWNoZXMmJmEudG91Y2hlcy5sZW5ndGgpe3ZhciBiPUIoYSk7 aWYoYil7cShiKTtmb3IodmFyIGY9MDtmPGEudG91Y2hlcy5sZW5ndGg7ZisrKUYo YmEsW0coKSwidG91Y2giLGIsW2EudG91Y2hlc1tmXS5wYWdlWCxhLnRvdWNoZXNb Zl0ucGFnZVldLDAsMF0pfX19ZnVuY3Rpb24gZyhhKXskYSYmY2xlYXJUaW1lb3V0 KCRhKTskYT0wO2lmKEthLmxlbmd0aCl7YT17cm46TWF0aC5yb3VuZCgxRTUqTWF0 aC5yYW5kb20oKSksInd2LXR5cGUiOjAsImNudC1jbGFzcyI6aCwicGFnZS11cmwi OkQoKS5ocmVmLHdtb2RlOjAsCiJ3di1oaXQiOmwsInd2LXBhcnQiOlJhKyssInd2 LWNoZWNrIjpUYShLYSksImJyb3dzZXItaW5mbyI6WyJ6IixMYiwiaSIsdWJdLmpv aW4oIjoiKX07Zm9yKHZhciBiPUthLGY9Yi5sZW5ndGgsZD1bXSxnPWYtZiUzLGMs ZT0wO2U8ZztlKz0zKWM9KGJbZV08PDE2KSsoYltlKzFdPDw4KStiW2UrMl0sSihk LGZhW2M+PjE4JjYzXSxmYVtjPj4xMiY2M10sZmFbYz4+NiY2M10sZmFbYyY2M10p O3N3aXRjaChmLWcpe2Nhc2UgMTpjPWJbZ108PDQ7SihkLGZhW2M+PjYmNjNdLGZh W2MmNjNdLCJfXyIpO2JyZWFrO2Nhc2UgMjpjPShiW2ddPDwxMCkrKGJbZysxXTw8 MiksSihkLGZhW2M+PjEyJjYzXSxmYVtjPj42JjYzXSxmYVtjJjYzXSwiXyIpfWI9 eyJ3di1kYXRhIjpkLmpvaW4oIiIpfTttLnNlbmQoInZpc29yIiwid2Vidmlzb3Ii LGEsYik7S2EubGVuZ3RoPTB9fXZhciBkPTEwMCxBPTIwMCxrPTE1RTMseT0yMCxy PTUwLFBiPTEwLFZiPTEsV2I9MixYPTMsWWI9MTYsRT00LHY9NSxMPQo3LHdhPTks WT0xMCx0PTExLFhiPTEyLGNjPTEzLFpiPTE0LCRiPTE1LGFjPTE3LEM9MTgsYmM9 MTksTmE9MjcsT2E9MjgscWE9MjksU2E9MzAsVmE9MzIsWmE9MzMsZWI9MSxmYj0y LGliPTQsUGE9MSxGYT0yLGpiPTQsVWE9OCx0YT0xNix1YT0zMixJYT02NCx3Yj0y LGdiPTEsaGI9Mix6Yj00LHhiPTgscmI9MTYsUWE9e0E6MSxBQkJSOjIsQUNST05Z TTozLEFERFJFU1M6NCxBUFBMRVQ6NSxBUkVBOjYsQjo3LEJBU0U6OCxCQVNFRk9O VDo5LEJETzoxMCxCSUc6MTEsQkxPQ0tRVU9URToxMixCT0RZOjEzLEJSOjE0LEJV VFRPTjoxNSxDQVBUSU9OOjE2LENFTlRFUjoxNyxDSVRFOjE4LENPREU6MTksQ09M OjIwLENPTEdST1VQOjIxLEREOjIyLERFTDoyMyxERk46MjQsRElSOjI1LERJVjoy NixETDoyNyxEVDoyOCxFTToyOSxGSUVMRFNFVDozMCxGT05UOjMxLEZPUk06MzIs RlJBTUU6MzMsRlJBTUVTRVQ6MzQsSDE6MzUsSDI6MzYsSDM6MzcsSDQ6MzgsSDU6 MzksSDY6NDAsSEVBRDo0MSwKSFI6NDIsSFRNTDo0MyxJOjQ0LElGUkFNRTo0NSxJ TUc6NDYsSU5QVVQ6NDcsSU5TOjQ4LElTSU5ERVg6NDksS0JEOjUwLExBQkVMOjUx LExFR0VORDo1MixMSTo1MyxMSU5LOjU0LE1BUDo1NSxNRU5VOjU2LE1FVEE6NTcs Tk9GUkFNRVM6NTgsTk9TQ1JJUFQ6NTksT0JKRUNUOjYwLE9MOjYxLE9QVEdST1VQ OjYyLE9QVElPTjo2MyxQOjY0LFBBUkFNOjY1LFBSRTo2NixROjY3LFM6NjgsU0FN UDo2OSxTQ1JJUFQ6NzAsU0VMRUNUOjcxLFNNQUxMOjcyLFNQQU46NzMsU1RSSUtF Ojc0LFNUUk9ORzo3NSxTVFlMRTo3NixTVUI6NzcsU1VQOjc4LFRBQkxFOjc5LFRC T0RZOjgwLFREOjgxLFRFWFRBUkVBOjgyLFRGT09UOjgzLFRIOjg0LFRIRUFEOjg1 LFRJVExFOjg2LFRSOjg3LFRUOjg4LFU6ODksVUw6OTAsVkFSOjkxLE5PSU5ERVg6 MTAwfSxjYT1bXSxBYj0wO1QoMCk7dmFyIEJiPTAsdGI9W10sQ2IsRGI9MSxPYj0w LEZiPVswLDBdLFFiPTAsR2I9WzAsMF0sSGI9e30sSWI9ITAsSmI9CiExLEViPSIi LEtiPSExLGNiPSEwLGZhPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2Rl ZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSotIi5zcGxpdCgiIiksS2E9 W10sJGEsUmE9MSx5Yj1OKCksSD0ibWV0cmlrYUlkXyIrTWF0aC5yYW5kb20oKSxz Yj17fSx2Yj0iOnN1Ym1pdCIrTWF0aC5yYW5kb20oKTtpZigiTWV0cmlrYVBsYXll ciIhPWUubmFtZSl7cChjLCJtb3VzZW1vdmUiLExhKTtwKGMsImNsaWNrIixVKTtw KGMsImRibGNsaWNrIixVKTtwKGMsIm1vdXNlZG93biIsVSk7cChjLCJtb3VzZXVw IixaKTtwKGUsInNjcm9sbCIsZGEpO3AoZSwiYmVmb3JldW5sb2FkIix6KTtSYnx8 cChlLCJ1bmxvYWQiLHopO3AoZSwicmVzaXplIixNYSk7cChjLCJrZXlkb3duIixl YSk7cChjLCJrZXlwcmVzcyIscmEpO3AoYywiY29weSIseGEpO3AoYywidG91Y2ht b3ZlIixmKTtwKGMsInRvdWNoc3RhcnQiLGYpO2MuYXR0YWNoRXZlbnQmJiFlLm9w ZXJhPyhwKGMsImZvY3VzaW4iLApkYikscChjLCJmb2N1c291dCIsemEpKToocChl LCJmb2N1cyIseWEpLHAoZSwiYmx1ciIsJCkscChjLCJibHVyIiwkKSk7Yy5hZGRF dmVudExpc3RlbmVyPyhjLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsYWIsITAp LGMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGFhLCEwKSxjLmFkZEV2ZW50TGlz dGVuZXIoImJsdXIiLEFhLCEwKSxjLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIs ViwhMCksYy5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLGEsITApKTpjLmF0dGFj aEV2ZW50JiYocChjLCJmb2N1c2luIixhYSkscChjLCJmb2N1c291dCIsQWEpLGZ1 bmN0aW9uKCl7Zm9yKHZhciBiPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0i KSxmPTA7ZjxiLmxlbmd0aDtmKyspe2Zvcih2YXIgZD1iW2ZdLmdldEVsZW1lbnRz QnlUYWdOYW1lKCIqIiksZz0wO2c8ZC5sZW5ndGg7ZysrKS9eSU5QVVR8U0VMRUNU fFRFWFRBUkVBJC8udGVzdChkW2ddLnRhZ05hbWUpJiZwKGRbZ10sImNoYW5nZSIs ClYpO3AoYltmXSwic3VibWl0IixhKX19KCkpOyhmdW5jdGlvbigpe3ZhciBiPWMu Z2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKTtpZihiLmxlbmd0aClmb3IodmFy IGY9MDtmPGIubGVuZ3RoO2YrKyliW2ZdW3ZiXT1iW2ZdLnN1Ym1pdCxiW2ZdLnN1 Ym1pdD1mdW5jdGlvbigpe2Eoe3RhcmdldDp0aGlzfSk7cmV0dXJuIHRoaXNbdmJd KCl9fSkoKTsiMDowIiE9Ty5qb2luKCI6IikmJmRhKCk7TWEoKTt2YXIgU2I9ZnVu Y3Rpb24oYSxiKXtpZihhKXt2YXIgZj17Ind2LXR5cGUiOjEsImNudC1jbGFzcyI6 aCwicGFnZS11cmwiOkQoKS5ocmVmLCJ3di1oaXQiOmwsImJyb3dzZXItaW5mbyI6 WyJ6IixMYiwiaSIsdWIsInBjdCIsYnx8IiJdLmpvaW4oIjoiKX07Yy5hbGwmJihh PWEucmVwbGFjZSgvXHJcbi9nLCJcbiIpKTt2YXIgZDtkPWE7ZD1kLnJlcGxhY2Uo L1xyXG4vZywiXG4iKTtmb3IodmFyIGc9W10sZT1TdHJpbmcuZnJvbUNoYXJDb2Rl LGs9MCxBPWQubGVuZ3RoO2s8QTtrKyspe3ZhciB2PQpkLmNoYXJDb2RlQXQoayk7 MTI4PnY/Zy5wdXNoKGUodikpOigxMjc8diYmMjA0OD52P2cucHVzaChlKHY+PjZ8 MTkyKSk6KGcucHVzaChlKHY+PjEyfDIyNCkpLGcucHVzaChlKHY+PjYmNjN8MTI4 KSkpLGcucHVzaChlKHYmNjN8MTI4KSkpfWQ9Zy5qb2luKCIiKTtmb3IodmFyIGc9 W10seSxyLHQsdj0wLHE9ZC5sZW5ndGg7djxxOyl5PWQuY2hhckNvZGVBdCh2Kysp LGU9ZC5jaGFyQ29kZUF0KHYrKyksaz1kLmNoYXJDb2RlQXQodisrKSxBPXk+PjIs eT0oeSYzKTw8NHxlPj40LHI9KGUmMTUpPDwyfGs+PjYsdD1rJjYzLGlzTmFOKGUp P3I9dD02NDppc05hTihrKSYmKHQ9NjQpLGcucHVzaCgiQUJDREVGR0hJSktMTU5P UFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkr Lz0iLmNoYXJBdChBKSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZn aGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmNoYXJBdCh5KSsiQUJD REVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5 ejAxMjM0NTY3ODkrLz0iLmNoYXJBdChyKSsKIkFCQ0RFRkdISUpLTE1OT1BRUlNU VVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Ii5j aGFyQXQodCkpO2Q9eyJ3di1kYXRhIjpnLmpvaW4oIiIpfTttLnNlbmRNdWx0aXBh cnQoIndlYnZpc29yIixmLGQsMyl9fTt4LnVwbG9hZFBhZ2U9ZnVuY3Rpb24oYSl7 aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudG9TdGF0aWNIVE1MJiYtMTxlLnRvU3Rh dGljSFRNTC50b1N0cmluZygpLmluZGV4T2YoIk5vU2NyaXB0IikpcmV0dXJuITE7 dmFyIGI9Yy5kb2N1bWVudEVsZW1lbnQ7aWYoYiYmMTlFNDwoIiIrYi5pbm5lckhU TUwpLmxlbmd0aClyZXR1cm4hMTt2YXIgZj1lLlhNTEh0dHBSZXF1ZXN0P25ldyBl LlhNTEh0dHBSZXF1ZXN0Om5ldyBBY3RpdmVYT2JqZWN0KCJNc3htbDIuWE1MSFRU UCIpLGQ9KCIiKyhjLmNoYXJhY3RlclNldHx8Yy5jaGFyc2V0fHwiIikpLnRvTG93 ZXJDYXNlKCksYj0idGV4dC9odG1sIisoZD8iO2NoYXJzZXQ9IitkOiIiKTtpZigi aHRtbCI9PQphKXJldHVybiBhPVJlZ0V4cCgiPHNjcmlwdCBbXj5dKj8vL21jXFwu eWFuZGV4XFwucnUvd2F0Y2gvLio/XHgzYy9zY3JpcHQ+IiwiZ2kiKSxTYihUYigp LnJlcGxhY2UoYSwiIiksYiksITA7ZiYmKGYub3BlbigiZ2V0IixEKCkuaHJlZiwh MCksZi5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXs0PT1mLnJlYWR5U3Rh dGUmJlNiKGYucmVzcG9uc2VUZXh0LGYuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRl bnQtdHlwZSIpKX0sZi5vdmVycmlkZU1pbWVUeXBlJiZkJiZmLm92ZXJyaWRlTWlt ZVR5cGUoYiksZi5zZW5kKG51bGwpKTtyZXR1cm4hMH19cmV0dXJue3N0b3A6ZnVu Y3Rpb24oKXt1KGMsIm1vdXNlbW92ZSIsTGEpO3UoYywiY2xpY2siLFUpO3UoYywi ZGJsY2xpY2siLFUpO3UoYywibW91c2Vkb3duIixVKTt1KGMsIm1vdXNldXAiLFop O3UoZSwic2Nyb2xsIixkYSk7dShlLCJiZWZvcmV1bmxvYWQiLHopO3UoZSwidW5s b2FkIix6KTt1KGUsInJlc2l6ZSIsTWEpO3UoYywKImtleWRvd24iLGVhKTt1KGMs ImtleXByZXNzIixyYSk7dShjLCJjb3B5Iix4YSk7dShjLCJ0b3VjaG1vdmUiLGYp O3UoYywidG91Y2hzdGFydCIsZik7dShjLCJmb2N1c2luIixkYik7dShjLCJmb2N1 c291dCIsemEpO3UoZSwiZm9jdXMiLHlhKTt1KGUsImJsdXIiLCQpO3UoYywiYmx1 ciIsJCk7Yy5yZW1vdmVFdmVudExpc3RlbmVyPyhjLnJlbW92ZUV2ZW50TGlzdGVu ZXIoInNjcm9sbCIsYWIsITApLGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMi LGFhLCEwKSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLEFhLCEwKSxjLnJl bW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsViwhMCksYy5yZW1vdmVFdmVudExp c3RlbmVyKCJzdWJtaXQiLGEsITApKTpjLmRldGFjaEV2ZW50JiYodShjLCJmb2N1 c2luIixhYSksdShjLCJmb2N1c291dCIsQWEpLGZ1bmN0aW9uKCl7Zm9yKHZhciBi PWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImZvcm0iKSxmPTA7ZjxiLmxlbmd0aDtm Kyspe2Zvcih2YXIgZD0KYltmXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGc9 MDtnPGQubGVuZ3RoO2crKykvXklOUFVUfFNFTEVDVHxURVhUQVJFQSQvLnRlc3Qo ZFtnXS50YWdOYW1lKSYmdShkW2ddLCJjaGFuZ2UiLFYpO3UoYltmXSwic3VibWl0 IixhKX19KCkpOyhmdW5jdGlvbigpe2Zvcih2YXIgYT1jLmdldEVsZW1lbnRzQnlU YWdOYW1lKCJmb3JtIiksYj0wO2I8YS5sZW5ndGg7YisrKWFbYl1bdmJdJiYoYVti XS5zdWJtaXQ9YVtiXVt2Yl0pfSkoKX0sdXBsb2FkUGFnZXM6ZnVuY3Rpb24oYSxi KXtmdW5jdGlvbiBmKCl7dShjLCJET01Db250ZW50TG9hZGVkIixmKTt1KGUsImxv YWQiLGYpO2Zvcih2YXIgZD1hLnNwbGl0KC9cbi8pLGc9RCgpLmhyZWYsaz0vcmVn ZXhwOi8sQT0wO0E8ZC5sZW5ndGg7QSsrKXt2YXIgaD1kW0FdO2lmKGgpaWYoay50 ZXN0KGgpKXtpZihoPU1iKGgucmVwbGFjZShrLCIiKSksUmVnRXhwKGgpLnRlc3Qo Zykpe3gudXBsb2FkUGFnZShiKTticmVha319ZWxzZSBpZigtMSE9PQpnLmluZGV4 T2YoaCkpe3gudXBsb2FkUGFnZShiKTticmVha319fSJjb21wbGV0ZSI9PWMucmVh ZHlTdGF0ZT9mKCk6KHAoYywiRE9NQ29udGVudExvYWRlZCIsZikscChlLCJsb2Fk IixmKSl9fX12YXIgZGM9ITEsUWE9IiIsUmI9IVZhKC93ZWJraXQvKSYmVmEoL2dl Y2tvLyksTz1XYSgpLFE9W107Uj1udWxsO3ZhciBnYT17bWl4aW46ZnVuY3Rpb24o Yil7Zm9yKHZhciBjPTE7Yzxhcmd1bWVudHMubGVuZ3RoO2MrKylpZihhcmd1bWVu dHNbY10pe2Zvcih2YXIgZSBpbiBhcmd1bWVudHNbY10pYXJndW1lbnRzW2NdLmhh c093blByb3BlcnR5KGUpJiYoYltlXT1hcmd1bWVudHNbY11bZV0pO2FyZ3VtZW50 c1tjXS5oYXNPd25Qcm9wZXJ0eSgidG9TdHJpbmciKSYmKGIudG9TdHJpbmc9YXJn dW1lbnRzW2NdLnRvU3RyaW5nKX1yZXR1cm4gYn19LEJhPWZ1bmN0aW9uKGIpe2I9 Ynx8e307Z2EubWl4aW4odGhpcyxiKTt0aGlzLl9pbml0Q29tcG9uZW50KCl9O0Jh LnByb3RvdHlwZS5faW5pdENvbXBvbmVudD0KZnVuY3Rpb24oKXt9O0JhLmluaGVy aXQ9ZnVuY3Rpb24oYil7Yj1ifHx7fTt2YXIgYz0iZnVuY3Rpb24iPT10eXBlb2Yg dGhpcz90aGlzOk9iamVjdDtiLmhhc093blByb3BlcnR5KCJjb25zdHJ1Y3RvciIp fHwoYi5jb25zdHJ1Y3Rvcj1mdW5jdGlvbigpe2MuYXBwbHkodGhpcyxhcmd1bWVu dHMpfSk7dmFyIGU9ZnVuY3Rpb24oKXt9O2UucHJvdG90eXBlPWMucHJvdG90eXBl O2IuY29uc3RydWN0b3IucHJvdG90eXBlPW5ldyBlO2dhLm1peGluKGIuY29uc3Ry dWN0b3IucHJvdG90eXBlLGIpO2IuY29uc3RydWN0b3IucHJvdG90eXBlLmNvbnN0 cnVjdG9yPWIuY29uc3RydWN0b3I7Yi5jb25zdHJ1Y3Rvci5zdXBlcmNsYXNzPWMu cHJvdG90eXBlO2IuY29uc3RydWN0b3IuaW5oZXJpdD1CYS5pbmhlcml0O3JldHVy biBiLmNvbnN0cnVjdG9yfTt2YXIgbWE9QmEuaW5oZXJpdCh7Y291bnRlcklkOiIi LF9pbml0Q29tcG9uZW50OmZ1bmN0aW9uKCl7bWEuc3VwZXJjbGFzcy5faW5pdENv bXBvbmVudC5hcHBseSh0aGlzLAphcmd1bWVudHMpO3RoaXMuX2J1ZmZlcj17fTt0 aGlzLl9scz1udWxsO3RyeXt0aGlzLl9scz1lLmxvY2FsU3RvcmFnZX1jYXRjaChi KXt9fSxzZXQ6ZnVuY3Rpb24oYixjKXtpZih0aGlzLmlzRW5hYmxlZCgpKXRyeXsh Y3x8YyYmcWEoYykmJiFjLmxlbmd0aD90aGlzLnJlbW92ZShiKTp0aGlzLl9scy5z ZXRJdGVtKHRoaXMuX2dldExzS2V5KGIpLEpTT04uc3RyaW5naWZ5KGMpKX1jYXRj aChlKXt9fSxnZXQ6ZnVuY3Rpb24oYil7aWYodGhpcy5pc0VuYWJsZWQoKSl0cnl7 cmV0dXJuIEpTT04ucGFyc2UodGhpcy5fbHMuZ2V0SXRlbSh0aGlzLl9nZXRMc0tl eShiKSkpfWNhdGNoKGMpe31yZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGIp e2lmKHRoaXMuaXNFbmFibGVkKCkpdHJ5e3RoaXMuX2xzLnJlbW92ZUl0ZW0odGhp cy5fZ2V0THNLZXkoYikpfWNhdGNoKGMpe319LGlzRW5hYmxlZDpmdW5jdGlvbigp e3JldHVybiB0aGlzLl9scyYmZS5KU09OJiYib2JqZWN0Ij09dHlwZW9mIHRoaXMu X2xzJiYKIm9iamVjdCI9PXR5cGVvZiBlLkpTT059LF9nZXRMc0tleTpmdW5jdGlv bihiKXtyZXR1cm4iX3ltIit0aGlzLmNvdW50ZXJJZCsiXyIrYn19KTtlLllhPWUu WWF8fHt9O1lhLl9tZXRyaWthPVlhLl9tZXRyaWthfHx7fTtZYS5fbWV0cmlrYS5j b3VudGVycz1ZYS5fbWV0cmlrYS5jb3VudGVyc3x8e307WWEuX21ldHJpa2EuaGl0 UGFyYW09WWEuX21ldHJpa2EuaGl0UGFyYW18fHt9O3ZhciBlYz0hMSxCPUQoKSxM Yix1YixuYT1lLm5hdmlnYXRvcixDYT1lLnNjcmVlbixEYT0iaHR0cHM6Ij09Qi5w cm90b2NvbD8iaHR0cHM6IjoiaHR0cDoiLGZjPSIkUmV2OiAxODI1ICQiLm1hdGNo KC8oXGQrKS8pWzFdLEVhPSJvYmplY3QiPT10eXBlb2YgYy5hbGwsZWI9NjQsYmE9 RWE/NTEyOjIwNDgsZmI9RWE/NTEyOjIwNDgsd2I9RWE/MTAwOjQwMCxvYT0ibm9p bmRleCIsTmE9NTAsZ2I9UmVnRXhwKCJcXC4oM2dwfDd6fGFhY3xhYzN8YWNzfGFp fGF2aXxhcGV8YXBrfGFzZnxibXB8YnoyfGNhYnxjZHJ8Y3JjMzJ8Y3NzfGNzdnxj dWV8ZGl2eHxkbWd8ZGp2dT98ZG9jKHh8bXxiKT98ZW1mfGVwc3xleGV8ZmxhYz98 Zmx2fGlzb3xzd2Z8Z2lmfHQ/Z3p8anBlP2c/fGpzfG0zdTg/fG00YXxtcCgzfDR8 ZT9nPyl8bTR2fG1kNXxta3Z8bW92fG1zaXxvZHN8b2coZ3xtfHYpfHBkZnxwaHBz fHBuZ3xwcHQoeHxtfGIpP3xwc2R8cmFyfHJzc3xydGZ8c2VhfHNmdnxzaXR8c2hh MXxzdmd8dGFyfHRpZj9mfHRvcnJlbnR8dHN8dHh0fHZvYnx3YXZlP3x3bWF8d212 fHdtZnx3ZWJtfHhscyh4fG18Yik/fHhwaXxnP3ppcCkkIiwKImkiKSxnYz1JKCks aGI9Il95bV92aXNvcmMiLGliLE9hLHhiPSIvL21jLnlhbmRleC5ydS93YXRjaC8i LGhjPSIvL21jLnlhbmRleC5ydS9jbG1hcC8iO2UuWWEuTWV0cmlrYT1mdW5jdGlv bihiLGgscyxsKXtmdW5jdGlvbiBtKGEsYil7Yj1ifHwyNTY7aWYoIWEpcmV0dXJu IiI7YS5sZW5ndGg+YiYmKGE9YS5zdWJzdHIoMCxiKSk7cmV0dXJuKGUuZW5jb2Rl VVJJQ29tcG9uZW50fHxlLmVzY2FwZSkoYSkucmVwbGFjZSgvXCsvZywiJTJCIil9 ZnVuY3Rpb24geChhKXtmdW5jdGlvbiBiKGEpe3JldHVybiBhP2EucmVwbGFjZSgv XFwvZywiXFxcXCIpLnJlcGxhY2UoLyIvZywnXFwiJyk6IiJ9aWYoYT09PWlhKXJl dHVybiIiO2lmKG51bGw9PT1hKXJldHVybiJudWxsIjtzd2l0Y2goYS5jb25zdHJ1 Y3Rvcil7Y2FzZSBCb29sZWFuOnJldHVybiBhLnRvU3RyaW5nKCk7Y2FzZSBOdW1i ZXI6cmV0dXJuIGlzRmluaXRlKGEpP2EudG9TdHJpbmcoKToibnVsbCI7Y2FzZSBT dHJpbmc6cmV0dXJuJyInKwpiKGEpKyciJztjYXNlIEFycmF5OmZvcih2YXIgZz1b XSxkPTAsYz1hLmxlbmd0aDtkPGM7ZCsrKWdbZy5sZW5ndGhdPXgoYVtkXSk7cmV0 dXJuIlsiK2cuam9pbigiLCIpKyJdIjtjYXNlIE9iamVjdDpnPSJ7IjtkPTA7Zm9y KGMgaW4gYSlpZihhLmhhc093blByb3BlcnR5KGMpKXt2YXIgZT1hW2NdO2UhPT1p YSYmKGcrPShkPyIsIjoiIikrJyInK2IoYykrJyI6Jyt4KGUpLGQrKyl9cmV0dXJu IGcrIn0iO2RlZmF1bHQ6cmV0dXJuIm51bGwifX1mdW5jdGlvbiBwKGEsYil7aWYo IWF8fCFiKXJldHVybiExO2Zvcih2YXIgZz1bXSxkPTA7ZDxiLmxlbmd0aDtkKysp Zy5wdXNoKGJbZF0ucmVwbGFjZSgvXF4vZywiXFxeIikucmVwbGFjZSgvXCQvZywi XFwkIikucmVwbGFjZSgvXC4vZywiXFwuIikucmVwbGFjZSgvXFsvZywiXFxbIiku cmVwbGFjZSgvXF0vZywiXFxdIikucmVwbGFjZSgvXHwvZywiXFx8IikucmVwbGFj ZSgvXCgvZywiXFwoIikucmVwbGFjZSgvXCkvZywiXFwpIikucmVwbGFjZSgvXD8v ZywKIlxcPyIpLnJlcGxhY2UoL1wqL2csIlxcKiIpLnJlcGxhY2UoL1wrL2csIlxc KyIpLnJlcGxhY2UoL1x7L2csIlxceyIpLnJlcGxhY2UoL1x9L2csIlxcfSIpKTty ZXR1cm4gUmVnRXhwKCJcXC4oIitnLmpvaW4oInwiKSsiKSQiLCJpIikudGVzdChh KX1mdW5jdGlvbiB1KGEpe2E9YS50YXJnZXR8fGEuc3JjRWxlbWVudDtpZighYSly ZXR1cm4hMTszPT1hLm5vZGVUeXBlJiYoYT1hLnBhcmVudE5vZGUpO2Zvcih2YXIg Yj1hLm5vZGVOYW1lLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTthLnBhcmVudE5v ZGUmJmEucGFyZW50Tm9kZS5ub2RlTmFtZSYmKCJhIiE9YiYmImFyZWEiIT1ifHwh YS5ocmVmKTspYT1hLnBhcmVudE5vZGUsYj1hLm5vZGVOYW1lLnRvU3RyaW5nKCku dG9Mb3dlckNhc2UoKTtyZXR1cm4gYS5ocmVmP2E6ITF9ZnVuY3Rpb24gSyhhLGIp e3JldHVybihhP2EucmVwbGFjZSgvXnd3d1wuLywiIik6IiIpPT0oYj9iLnJlcGxh Y2UoL153d3dcLi8sIiIpOiIiKT8hMDohMX0KZnVuY3Rpb24gUShhLGIpe2Z1bmN0 aW9uIGcoYSl7YT1hLnNwbGl0KCI6Iik7YT1hWzFdfHwiIjthPWEucmVwbGFjZSgv XlwvKi8sIiIpLnJlcGxhY2UoL153d3dcLi8sIiIpO3JldHVybiBhLnNwbGl0KCIv IilbMF19cmV0dXJuIGEmJmI/ZyhhKT09ZyhiKT8hMDohMTphfHxiPyExOiEwfWZ1 bmN0aW9uIE8oYSxiKXt2YXIgZz1iLnRhcmdldCxkPSExO2lmKCFiLmhvc3RuYW1l KXJldHVybiExO2cmJiJfc2VsZiIhPWcmJiJfdG9wIiE9ZyYmIl9wYXJlbnQiIT1n fHwoZD0hMCk7KGc9YS5zaGlmdEtleXx8YS5jdHJsS2V5fHxhLmFsdEtleSl8fGEu bW9kaWZpZXJzJiZlLkV2ZW50JiYoZz1hLm1vZGlmaWVycyZlLkV2ZW50LkNPTlRS T0xfTUFTS3x8YS5tb2RpZmllcnMmZS5FdmVudC5TSElGVF9NQVNLfHxhLm1vZGlm aWVycyZlLkV2ZW50LkFMVF9NQVNLKTtyZXR1cm4gZCYmIWd9ZnVuY3Rpb24gVChh LGIsZyxkLGMpe2Z1bmN0aW9uIGUoYSxiKXtoW2gubGVuZ3RoXT1hO2hbaC5sZW5n dGhdPQpifWM9Y3x8e307Zz0idW5kZWZpbmVkIiE9dHlwZW9mIGc/ZzpSO3ZhciBo PVtdO2MuYXImJiFjLm9ubHlEYXRhJiYoZz1TKGcpLGE9UyhhKSk7Yy5yZXFOdW09 ITA7ZSgicGFnZS1yZWYiLG0oZyxiYSkpO2UoInBhZ2UtdXJsIixtKGEsYmEpKTtl KCJicm93c2VyLWluZm8iLHcoYixjKSk7U2EoKT9lKCJ1dCIsb2EpOiJ1bmRlZmlu ZWQiIT10eXBlb2YgYy51dCYmZSgidXQiLG0oIiIrYy51dCxlYikpO2QmJmUoInNp dGUtaW5mbyIsbSh4KGQpLGZiKSk7Yy5zYXZlUmVmJiYoUj1nKTthPUcoeGIsaCk7 R2EoKXx8UGEoYSxjLmRlbGF5KTtyZXR1cm4gYX1mdW5jdGlvbiBXKGEsZixnLGQs QSxrLGgpe2Z1bmN0aW9uIHIoYSxiKXtsW2wubGVuZ3RoXT1hO2xbbC5sZW5ndGhd PWJ9QT1BfHx7fTtnPSJ1bmRlZmluZWQiIT10eXBlb2YgZz9nOlI7dmFyIGw9W107 QS5hciYmIUEub25seURhdGEmJihnPVMoZyksYT1TKGEpKTtpZighR2EoKSl7dmFy IHE9Il95bWpzcCIrKCItLSI9PWI/IiI6a2EoKSksCm49Yy5jcmVhdGVFbGVtZW50 KCJzY3JpcHQiKTtlW3FdPWZ1bmN0aW9uKGEpe3RyeXtkZWxldGUgZVtxXX1jYXRj aChiKXtlW3FdPWlhfWgoYSk7bi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVt b3ZlQ2hpbGQobil9O0EucmVxTnVtPSEwO3IoIndtb2RlIiw1KTtyKCJjYWxsYmFj ayIscSk7cigicGFnZS1yZWYiLG0oZyxiYSkpO3IoInBhZ2UtdXJsIixtKGEsYmEp KTthPXcoZixBKTtrJiYoYT1bInZjIixrLGFdLmpvaW4oIjoiKSk7cigiYnJvd3Nl ci1pbmZvIixhKTtTYSgpP3IoInV0IixvYSk6InVuZGVmaW5lZCIhPXR5cGVvZiBB LnV0JiZyKCJ1dCIsbSgiIitBLnV0LGViKSk7ZCYmcigic2l0ZS1pbmZvIixtKHgo ZCksZmIpKTtBLnNhdmVSZWYmJihSPWcpO2Q9Ryh4YixsKTtuLnR5cGU9InRleHQv amF2YXNjcmlwdCI7bi5zcmM9ZDtBPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhl YWQiKVswXTtBLmluc2VydEJlZm9yZShuLEEuZmlyc3RDaGlsZCk7VWEoZCl9fWZ1 bmN0aW9uIEcoYSwKZil7Zm9yKHZhciBnPVsiY250LWNsYXNzIixzXS5jb25jYXQo ZiksZD1bXSxjPTA7YzxnLmxlbmd0aDtjKz0yKXt2YXIgZT1nW2MrMV07ZSYmKGRb ZC5sZW5ndGhdPWdbY10rIj0iK2UpfXJldHVybiBkYSthK2IrIj8iK2Quam9pbigi JiIpfWZ1bmN0aW9uIFMoYSl7dmFyIGI9RCgpLGc9Yi5ob3N0LGI9Yi5ocmVmO2lm KCFhKXJldHVybiBiO2lmKC0xIT1hLnNlYXJjaCgvXlx3KzpcL1wvLykpcmV0dXJu IGE7dmFyIGQ9YS5jaGFyQXQoMCk7aWYoIj8iPT1kKXJldHVybiBkPWIuc2VhcmNo KC9cPy8pLC0xPT1kP2IrYTpiLnN1YnN0cigwLGQpK2E7aWYoIiMiPT1kKXJldHVy biBkPWIuc2VhcmNoKC8jLyksLTE9PWQ/YithOmIuc3Vic3RyKDAsZCkrYTtpZigi LyI9PWQpe2lmKGQ9Yi5zZWFyY2goZyksLTEhPWQpcmV0dXJuIGIuc3Vic3RyKDAs ZCtnLmxlbmd0aCkrYX1lbHNlIHJldHVybiBnPWIuc3BsaXQoIi8iKSxnW2cubGVu Z3RoLTFdPWEsZy5qb2luKCIvIik7cmV0dXJuIGF9ZnVuY3Rpb24gdyhhLApmLGcp e2Z1bmN0aW9uIGQoYSxiKXthJiZiJiYoZz9rW2FdPWI6a1trLmxlbmd0aF09W2Es Yl0uam9pbigiOiIpKX1mdW5jdGlvbiBoKGEpe2QoYSxmW2FdPyIxIjoiIil9Zj1m fHx7fTt2YXIgaz1nP3t9OltdLHk9LTEqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9m ZnNldCgpLHI9cWEoKTt1Ynx8KHViPXIsTGI9eSk7ZCgiaiIsbmEuamF2YUVuYWJs ZWQoKT8iMSI6IiIpO0NhJiZkKCJzIixDYS53aWR0aCsieCIrQ2EuaGVpZ2h0KyJ4 IisoQ2EuY29sb3JEZXB0aHx8Q2EucGl4ZWxEZXB0aCkpO251bGw9PT14YSYmKHhh PW4oKSk7ZCgiZiIseGEpO251bGw9PT15YSYmKHlhPWhhKCkpO2QoImwiLHlhfHwi Iik7Zi5wYXx8ZCgidyIsdWEoKSsieCIrRmEoKSk7ZCgieiIseSk7ZCgiaSIscik7 ZCgiZW4iLCgiIisoYy5jaGFyYWN0ZXJTZXR8fGMuY2hhcnNldHx8IiIpKS50b0xv d2VyQ2FzZSgpKTtkKCJ2IixmYyk7ZCgiYyIsbmEuY29va2llRW5hYmxlZD8iMSI6 IiIpO0VhJiZjLmRvY3VtZW50TW9kZSYmCihudWxsPT09JCYmKCQ9RnVuY3Rpb24o InJldHVybiAvKkBjY19vbiBAX2pzY3JpcHRfdmVyc2lvbiBAKi87IikoKSksJCYm ZCgianYiLCQpKTtkKCJsYSIsKG5hJiYobmEubGFuZ3VhZ2V8fG5hLmJyb3dzZXJM YW5ndWFnZSl8fCIiKS50b0xvd2VyQ2FzZSgpKTtkKCJleCIsInByZXJlbmRlciI9 PWMud2Via2l0VmlzaWJpbGl0eVN0YXRlPyJwcmUxIjoiIik7ViYmZCgid2giLCIx Iik7cj0iYXIgbG4gZGwgYWQgbmIgcGEiLnNwbGl0KCIgIik7Zm9yKHk9MDt5PHIu bGVuZ3RoO3krKyloKHJbeV0pO3I9WyJ2YSIsInZ0Iiwic24iLCJzYSIsImhlIl07 Zi5uYiYmci5wdXNoKCJjbCIpO2Zvcih5PTA7eTxyLmxlbmd0aDt5Kyspe3ZhciBs PXJbeV07ZChsLGZbbF0pfWYucmVxTnVtJiYoeT1uZXcgbWEoe2NvdW50ZXJJZDpi fSkseS5pc0VuYWJsZWQoKSYmKChyPXkuZ2V0KCJyZXFOdW0iKSk/cisrOnI9MSx5 LnNldCgicmVxTnVtIixyKSwocj15LmdldCgicmVxTnVtIikpJiZkKCJycW4iLApy KSkpO2QoInJuIixrYSgpKTtkKCJoaWQiLFUpO2QoImRzIixJYSgpKTtxLl9maXJz dFBhaW50fHwocS5fZmlyc3RQYWludD1RYSgpLGQoImZwIixxLl9maXJzdFBhaW50 KSk7aWYocS5fd2Vidmlzb3Ipe2UubmFtZXx8KGUubmFtZT1NYXRoLnJvdW5kKDY1 NTM1Kk1hdGgucmFuZG9tKCkpKTtpZih5PStlLm5hbWUpMD55JiYoeSo9LTEpLHkl PTY1NTM1O2QoInduIix5fHxUYShlLm5hbWUpKTt0cnl7ZS5oaXN0b3J5JiZkKCJo bCIsU3RyaW5nKGUuaGlzdG9yeS5sZW5ndGgpKX1jYXRjaChwKXt9fWE9InVuZGVm aW5lZCI9PXR5cGVvZiBhPyhhPVAoKSk/bShhLHdiKToiIjptKGEsd2IpO2QoInQi LGEpO3JldHVybiBnP2s6ay5qb2luKCI6Iil9ZnVuY3Rpb24gbigpe3ZhciBhPW51 bGwsYj1udWxsLGcsZD1lLm5hdmlnYXRvcjtpZigidW5kZWZpbmVkIiE9dHlwZW9m IGQucGx1Z2lucyYmIm9iamVjdCI9PXR5cGVvZiBkLnBsdWdpbnNbIlNob2Nrd2F2 ZSBGbGFzaCJdKWE9ZC5wbHVnaW5zWyJTaG9ja3dhdmUgRmxhc2giXS5kZXNjcmlw dGlvbiwKIWF8fCJ1bmRlZmluZWQiIT10eXBlb2YgZC5taW1lVHlwZXMmJmQubWlt ZVR5cGVzWyJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCJdJiYhZC5taW1l VHlwZXNbImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIl0uZW5hYmxlZFBs dWdpbnx8KGI9YS5yZXBsYWNlKC8oW2EtekEtWl18XHMpKy8sIiIpLnJlcGxhY2Uo LyhccytyfFxzK2JbMC05XSspLywiLiIpKTtlbHNlIGlmKCJ1bmRlZmluZWQiIT10 eXBlb2YgZS5BY3RpdmVYT2JqZWN0KXRyeXsoZz1uZXcgQWN0aXZlWE9iamVjdCgi U2hvY2t3YXZlRmxhc2guU2hvY2t3YXZlRmxhc2giKSkmJihhPWcuR2V0VmFyaWFi bGUoIiR2ZXJzaW9uIikpJiYoYj1hLnNwbGl0KCIgIilbMV0ucmVwbGFjZSgvLC9n LCIuIikucmVwbGFjZSgvW14uXGRdL2csIiIpKX1jYXRjaChjKXt9cmV0dXJuIGJ9 ZnVuY3Rpb24gUCgpe3ZhciBhPWMudGl0bGU7InN0cmluZyIhPXR5cGVvZiBhJiYo YT0oYT1jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0aXRsZSIpKSYmCmEubGVuZ3Ro P2FbMF0uaW5uZXJIVE1MOiIiKTtyZXR1cm4gYX1mdW5jdGlvbiBoYSgpe3ZhciBh PW51bGw7aWYoZS5BY3RpdmVYT2JqZWN0KXRyeXt2YXIgYj1uZXcgQWN0aXZlWE9i amVjdCgiQWdDb250cm9sLkFnQ29udHJvbCIpLGc9ZnVuY3Rpb24oYSxiLGYsZCl7 Zm9yKDthLmlzVmVyc2lvblN1cHBvcnRlZChiWzBdKyIuIitiWzFdKyIuIitiWzJd KyIuIitiWzNdKTspYltmXSs9ZDtiW2ZdLT1kfSxkPVsxLDAsMCwwXTtnKGIsZCww LDEpO2coYixkLDEsMSk7ZyhiLGQsMiwxRTQpO2coYixkLDIsMUUzKTtnKGIsZCwy LDEwMCk7ZyhiLGQsMiwxMCk7ZyhiLGQsMiwxKTtnKGIsZCwzLDEpO2E9ZC5qb2lu KCIuIil9Y2F0Y2goYyl7fWVsc2UgaWYoYj1uYS5wbHVnaW5zWyJTaWx2ZXJsaWdo dCBQbHVnLUluIl0pYT1iLmRlc2NyaXB0aW9uO3JldHVybiBhfWZ1bmN0aW9uIHFh KCl7Zm9yKHZhciBhPW5ldyBEYXRlLGE9W2EuZ2V0RnVsbFllYXIoKSxhLmdldE1v bnRoKCkrMSxhLmdldERhdGUoKSwKYS5nZXRIb3VycygpLGEuZ2V0TWludXRlcygp LGEuZ2V0U2Vjb25kcygpXSxiPSIiLGc9MDtnPGEubGVuZ3RoO2crKyliKz0xMD5h W2ddPyIwIithW2ddOmFbZ107cmV0dXJuIGJ9ZnVuY3Rpb24gdWEoKXt2YXIgYT0t MTtjLmRvY3VtZW50RWxlbWVudCYmIkNTUzFDb21wYXQiPT1jLmNvbXBhdE1vZGU/ YT1jLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDpjLmJvZHkmJihhPWMuYm9k eS5jbGllbnRXaWR0aCk7cmV0dXJuIGF9ZnVuY3Rpb24gRmEoKXt2YXIgYT0tMTtj LmRvY3VtZW50RWxlbWVudCYmIkNTUzFDb21wYXQiPT1jLmNvbXBhdE1vZGU/YT1j LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ6Yy5ib2R5JiYoYT1jLmJvZHku Y2xpZW50SGVpZ2h0KTtyZXR1cm4gYX1mdW5jdGlvbiB0YSgpe3ZhciBhPWUucGVy Zm9ybWFuY2V8fGUud2Via2l0UGVyZm9ybWFuY2UsYj1bXTtpZihhPWEmJmEudGlt aW5nKXt2YXIgZz1hLm5hdmlnYXRpb25TdGFydDtpZihnKWZvcihiPVthLmRvbWFp bkxvb2t1cEVuZC0KYS5kb21haW5Mb29rdXBTdGFydCxhLmNvbm5lY3RFbmQtYS5j b25uZWN0U3RhcnQsYS5yZXNwb25zZVN0YXJ0LWEucmVxdWVzdFN0YXJ0LGEucmVz cG9uc2VFbmQtYS5yZXNwb25zZVN0YXJ0LGEuZmV0Y2hTdGFydC1nLGEucmVkaXJl Y3RFbmQtYS5yZWRpcmVjdFN0YXJ0LGEucmVkaXJlY3RDb3VudF0sYi5wdXNoKGEu ZG9tSW50ZXJhY3RpdmUmJmEuZG9tTG9hZGluZz9hLmRvbUludGVyYWN0aXZlLWEu ZG9tTG9hZGluZzpudWxsKSxiLnB1c2goYS5kb21Db250ZW50TG9hZGVkRXZlbnRT dGFydCYmYS5kb21Db250ZW50TG9hZGVkRXZlbnRFbmQ/YS5kb21Db250ZW50TG9h ZGVkRXZlbnRFbmQtYS5kb21Db250ZW50TG9hZGVkRXZlbnRTdGFydDpudWxsKSxi LnB1c2goYS5kb21Db21wbGV0ZT9hLmRvbUNvbXBsZXRlLWc6bnVsbCksYi5wdXNo KGEubG9hZEV2ZW50U3RhcnQ/YS5sb2FkRXZlbnRTdGFydC1nOm51bGwpLGIucHVz aChhLmxvYWRFdmVudFN0YXJ0JiZhLmxvYWRFdmVudEVuZD8KYS5sb2FkRXZlbnRF bmQtYS5sb2FkRXZlbnRTdGFydDpudWxsKSxiLnB1c2goYS5kb21Db250ZW50TG9h ZGVkRXZlbnRTdGFydD9hLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0LWc6bnVs bCksYT0wO2E8Yi5sZW5ndGg7YSsrKWc9YlthXSxudWxsIT09ZyYmKDA+Z3x8MzZF NTxnKSYmKGJbYV09bnVsbCl9cmV0dXJuIGJ9ZnVuY3Rpb24gSWEoKXt2YXIgYT1b XSxiPXEuX2xhc3RQZXJmb3JtYW5jZVRpbWluZyxnPXRhKCk7aWYoYilmb3IodmFy IGQ9MCxjPWIubGVuZ3RoO2Q8YztkKyspbnVsbD09PWdbZF0/YS5wdXNoKGdbZF0p OmEucHVzaChiW2RdPT09Z1tkXT8iIjpnW2RdKTtlbHNlIGE9ZztxLl9sYXN0UGVy Zm9ybWFuY2VUaW1pbmc9ZztyZXR1cm4gYS5qb2luKCIsIil9ZnVuY3Rpb24gUWEo KXt2YXIgYTtpZigib2JqZWN0Ij09dHlwZW9mIGUuY2hyb21lJiZlLmNocm9tZS5s b2FkVGltZXMpe2lmKGE9ZS5jaHJvbWUubG9hZFRpbWVzKCksYS5yZXF1ZXN0VGlt ZSYmYS5maXJzdFBhaW50VGltZSlyZXR1cm5+figxRTMqCihhLmZpcnN0UGFpbnRU aW1lLWEucmVxdWVzdFRpbWUpKX1lbHNlIGlmKGUucGVyZm9ybWFuY2UmJmUucGVy Zm9ybWFuY2UudGltaW5nJiYoYT1lLnBlcmZvcm1hbmNlLnRpbWluZyxhLm5hdmln YXRpb25TdGFydCYmYS5tc0ZpcnN0UGFpbnQpKXJldHVybiBhLm1zRmlyc3RQYWlu dC1hLm5hdmlnYXRpb25TdGFydDtyZXR1cm4gbnVsbH1mdW5jdGlvbiBSYShhKXt2 YXIgYj1jLnJlZmVycmVyfHwiIjtpZihSZWdFeHAoIl5odHRwcz86Ly8iK0IuaG9z dCsiLyIpLnRlc3QoYikpcmV0dXJuITE7Zm9yKHZhciBnPWEucGF0dGVybnMsZD0w O2Q8Zy5sZW5ndGg7ZCsrKWlmKGIubWF0Y2goUmVnRXhwKGdbZF0sImkiKSkpe3Zh ciBlPWEucGFyYW1zfHxbXTtpZihlLmxlbmd0aClmb3IodmFyIGs9dmEoKFJlZ0V4 cC4kMXx8IiIpLnJlcGxhY2UoL1wrL2csIiUyMCIpKSxoPTA7aDxlLmxlbmd0aDto Kyspe2lmKGs9PXZhKGVbaF0pKXJldHVybiEwfWVsc2UgcmV0dXJuITB9cmV0dXJu ITF9ZnVuY3Rpb24gSGEoYSl7dmFyIGI9CiExO2lmKGEmJiJzdHJpbmciIT10eXBl b2YgYSYmYS5sZW5ndGgpZm9yKHZhciBnPTA7ZzxhLmxlbmd0aDtnKyspe3ZhciBk PWFbZ10uc2VsZWN0b3IsZT1hW2ddLnRleHQsaz1kLmNoYXJBdCgwKSxkPWQuc2xp Y2UoMSk7aWYoIiMiPT1rKXtpZihrPWMuZ2V0RWxlbWVudEJ5SWQoZCkpYj0hMCxr LmlubmVySFRNTD1lfWVsc2UgaWYoIi4iPT1rKXtrPWQ7ZD0oZD12b2lkIDApfHxj O2lmKGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlrPWQuZ2V0RWxlbWVudHNCeUNs YXNzTmFtZShrKTtlbHNle2Zvcih2YXIgZD1kLmdldEVsZW1lbnRzQnlUYWdOYW1l KCIqIiksaD1bXSxyPTA7cjxkLmxlbmd0aDtyKyspc2EoZFtyXSxrKSYmaC5wdXNo KGRbcl0pO2s9aH1mb3IoZD0wO2Q8ay5sZW5ndGg7ZCsrKWI9ITAsa1tkXS5pbm5l ckhUTUw9ZX19cmV0dXJuIGJ9ZnVuY3Rpb24gWGEoYSxiKXthPWEmJmEucmVwbGFj ZSgvXlw/LywiIik7Yj1iJiZiLnJlcGxhY2UoL14jLywiIik7dmFyIGc9IiI7aWYo YSlmb3IodmFyIGQ9CmEuc3BsaXQoIiYiKSxjPTA7YzxkLmxlbmd0aDtjKyspe3Zh ciBlPWRbY10uc3BsaXQoIj0iKTsiX29wZW5zdGF0Ij09ZVswXSYmKGc9ZVsxXSl9 YiYmMD09Yi5pbmRleE9mKCJfb3BlbnN0YXQ9IikmJihnPWIuc2xpY2UoMTApKTtn JiYoZz0tMTxnLmluZGV4T2YoIjsiKT92YShnKTprYihnLnJlcGxhY2UoL1stKl9d L2csZnVuY3Rpb24oYSl7cmV0dXJueyIqIjoiKyIsIi0iOiIvIixfOiI9In1bYV18 fGF9KSkpO3JldHVybiBnJiYoZz1nLnNwbGl0KCI7IiksND09Zy5sZW5ndGgpP3tz ZXJ2aWNlOmdbMF0sY2FtcGFpZ246Z1sxXSxhZDpnWzJdLHNvdXJjZTpnWzNdfTpu dWxsfWZ1bmN0aW9uIHZhKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50 KGEpfWNhdGNoKGIpe3JldHVybiIifX1mdW5jdGlvbiBrYihhKXtmb3IoO2EubGVu Z3RoJTQ7KWErPSI9Ijt2YXIgYixjLGQsZSxrLGg9MCxyPSIiO2Rve2I9IkFCQ0RF RkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXow MTIzNDU2Nzg5Ky89Ii5pbmRleE9mKGEuY2hhckF0KGgrKykpOwpjPSJBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEy MzQ1Njc4OSsvPSIuaW5kZXhPZihhLmNoYXJBdChoKyspKTtlPSJBQkNERUZHSElK S0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1 Njc4OSsvPSIuaW5kZXhPZihhLmNoYXJBdChoKyspKTtrPSJBQkNERUZHSElKS0xN Tk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4 OSsvPSIuaW5kZXhPZihhLmNoYXJBdChoKyspKTtpZigwPmJ8fDA+Y3x8MD5lfHww PmspcmV0dXJuIG51bGw7ZD1iPDwxOHxjPDwxMnxlPDw2fGs7Yj1kPj4xNiYyNTU7 Yz1kPj44JjI1NTtkJj0yNTU7cj02ND09ZT9yK1N0cmluZy5mcm9tQ2hhckNvZGUo Yik6NjQ9PWs/citTdHJpbmcuZnJvbUNoYXJDb2RlKGIsYyk6citTdHJpbmcuZnJv bUNoYXJDb2RlKGIsYyxkKX13aGlsZShoPGEubGVuZ3RoKTthPXI7ZT0iIjtmb3Io aD1jMT1jMj1rPTA7azwKYS5sZW5ndGg7KWg9YS5jaGFyQ29kZUF0KGspLDEyOD5o PyhlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGgpLGsrKyk6MTkxPGgmJjIyND5oPyhj Mj1hLmNoYXJDb2RlQXQoaysxKSxlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChoJjMx KTw8NnxjMiY2Myksays9Mik6KGMyPWEuY2hhckNvZGVBdChrKzEpLGMzPWEuY2hh ckNvZGVBdChrKzIpLGUrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGgmMTUpPDwxMnwo YzImNjMpPDw2fGMzJjYzKSxrKz0zKTtyZXR1cm4gZX1mdW5jdGlvbiBsYigpe3Zh ciBhPSExO2lmKFlhLl9tZXRyaWthLmhpdFBhcmFtW1pdKXtpZigxIT1zfHxZYS5f bWV0cmlrYS5jb3VudGVyc1taXSlyZXR1cm4hMTthPSEwfVlhLl9tZXRyaWthLmNv dW50ZXJzW1pdPXE7WWEuX21ldHJpa2EuaGl0UGFyYW1bWl09MTtxLl93ZWJ2aXNv cj0hbCYmKHomJnoud2Vidmlzb3J8fGRjfHxlYyk7cS5fZGlyZWN0Q2FtcGFpZ249 eiYmei5kaXJlY3RDYW1wYWlnbjt6JiZ6LnRyYWNrSGFzaCYmCnEudHJhY2tIYXNo KCEwKTtpZighbCYmIWEpe3EucmVwbGFjZVBob25lcygpO3ZhciBmPXJhKGhiKTsi YiIhPWYmJiJ3IiE9ZiYmKGY9IiIpO2lmKCF5YigpfHxWYSgib3BlcmEgbWluaSIp KWY9ImIiO2liPUkoKTtXKEIuaHJlZixQKCksYy5yZWZlcnJlcixoLHt1dDpMYSxo ZTp6P35+ei5odHRwRXJyb3I6MCxhZDoxPT1zJiZlLllhJiZlLllhLkRpcmVjdD8h MDohMSxzYXZlUmVmOiEwfSxmLGZ1bmN0aW9uKGEpe09hfHwoT2E9SSgpKTthPWF8 fHt9O3ZhciBkPWEud2Vidmlzb3J8fHt9LGg9W107aWYoemEpe3ZhciBrPStkLnJl Y3A7aWYoIWlzRmluaXRlKGspfHwwPmt8fDE8aylmPSJ3IjtmfHwoZj1VJTFFNC8x RTQ8az8idyI6ImIiKTtsYShoYixmLDMwKTsidyI9PWY/KEooaCwidmlzb3IiKSxr PWQuYXJjaF90eXBlLChkPWQudXJscykmJmsmJnphLnVwbG9hZFBhZ2VzKGQsaykp OnphLnN0b3AoKX1kYi5pbml0KGgpO2s9YS5tcDI7aD1iO2E9cTtkPSIuIitCLmhv c3QucmVwbGFjZSgvXnd3d1wuLywKIiIpO2xhKCJfeW1fbXAyX3N1YnN0c18iK2gs IiIsLTEsZCk7aWYoayl7dmFyIHk9Il95bV9tcDJfdHJhY2tfIitoO2I6e3ZhciBy PWsuY29uZGl0aW9ucztpZihyJiZyLmxlbmd0aClmb3IodmFyIGw9MDtsPHIubGVu Z3RoO2wrKyl7dmFyIG07aWYoInJlZiI9PXJbbF0udHlwZSltPVJhKHJbbF0pO2Vs c2UgaWYobT0iYWR2Ij09cltsXS50eXBlKXt2YXIgbj1yW2xdLHA9WWEuX21ldHJp a2EuY291bnRlci5fZGlyZWN0Q2FtcGFpZ24scz1uLlNlcnZpY2VOYW1lUGF0dGVy bixFPW4uUmVmZXJlclBhdHRlcm47bT1wP24uZGlyZWN0X29yZGVyczpuLmRpcmVj dF9jYW1wO3ZhciB2PWMucmVmZXJyZXIsTD1CLnNlYXJjaCxMPUwmJkwucmVwbGFj ZSgvXlw/LywiIiksd2E9e307aWYoTClmb3IodmFyIEw9TC5zcGxpdCgiJiIpLFk9 MDtZPEwubGVuZ3RoO1krKyl7dmFyIHQ9TFtZXS5zcGxpdCgiPSIpO3dhW3ZhKHRb MF0pXT12YSh0WzFdKX1mb3IodmFyIEw9WGEoQi5zZWFyY2gsQi5oYXNoKSwKWT17 fSx0PVsic291cmNlIiwibWVkaXVtIiwiY2FtcGFpZ24iLCJ0ZXJtIiwiY29udGVu dCJdLHU9MDt1PHQubGVuZ3RoO3UrKyl3YVsidXRtXyIrdFt1XV0mJihZW3RbdV1d PXdhWyJ1dG1fIit0W3VdXSk7dT1wPyJkaXJlY3QueWFuZGV4LnJ1IjpMJiZMLnNl cnZpY2V8fFkuc291cmNlO3Q9ITE7aWYoIXQmJnMmJnMubGVuZ3RoKWZvcih2YXIg dz0wO3c8cy5sZW5ndGg7dysrKWlmKFJlZ0V4cChzW3ddLCJpIikudGVzdCh1KSl7 dD0hMDticmVha31pZighdCYmRSYmRS5sZW5ndGgpZm9yKHM9MDtzPEUubGVuZ3Ro O3MrKylpZihSZWdFeHAoRVtzXSwiaSIpLnRlc3Qodikpe3Q9ITA7YnJlYWt9IXQm Jm4uZ29vZ2xlX2Fkd29yZHMmJndhLmdjbGlkJiYodD0hMCk7IXQmJm4ueWFuZGV4 X2RpcmVjdCYmd2EueWNsaWQmJih0PSEwKTtpZih0JiZtJiZtLmxlbmd0aCYmKHQ9 ITEsbj1wfHxMJiZMLmNhbXBhaWdufHxZJiZZLmNhbXBhaWduKSlmb3IocD0wO3A8 bS5sZW5ndGg7cCsrKWlmKG1bcF09PQpuKXt0PSEwO2JyZWFrfW09dH1pZihtKXty W2xdLnRyYWNrX2lkJiZsYSh5LHJbbF0udHJhY2tfaWQsNDMyMDAsZCk7YnJlYWsg Yn19fSh5PXJhKHkpKSYmay5zdWJzdHMmJihrPWsuc3Vic3RzW3ldKSYmKGxhKCJf eW1fbXAyX3N1YnN0c18iK2gseChrKSwwLGQpLGg9SGEoayksYS5wYXJhbXMoIl9f eW0iLGg/Im1wX3RyYWNraWQiOiJtcF90cmFja2lkX2JhZCIseSkpfU4oZSwibG9h ZCIscS5yZXBsYWNlUGhvbmVzKTtxLl9pbml0ZWQ9ITB9KX1tYigpO3omJih6LmVu YWJsZUFsbD9xLmVuYWJsZUFsbCgpOih6LmNsaWNrbWFwJiZxLmNsaWNrbWFwKHou Y2xpY2ttYXApLHoudHJhY2tMaW5rcyYmcS50cmFja0xpbmtzKHoudHJhY2tMaW5r cyksei5hY2N1cmF0ZVRyYWNrQm91bmNlJiZxLmFjY3VyYXRlVHJhY2tCb3VuY2Uo ei5hY2N1cmF0ZVRyYWNrQm91bmNlKSx6LmFkJiZhZCgpKSk7cS5fd2Vidmlzb3Im Jih6YT1uZXcgVWIoYixzLHosVSxkYixxKSl9ZnVuY3Rpb24gV2EoYSl7dmFyIGI9 CntkZWxheTpOYX07c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJzdHJpbmciOmIub249 ITA7YnJlYWs7Y2FzZSAib2JqZWN0IjpiLm9uPSEwO2IuZGVsYXk9Im51bWJlciIh PXR5cGVvZiBhLmRlbGF5P05hOmEuZGVsYXk7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6 Yi5vbj1hO2JyZWFrO2RlZmF1bHQ6cmV0dXJufXEuX3RyYWNrTGlua3M9Yn1mdW5j dGlvbiBtYigpe1dhKCExKTtOKGMsImNsaWNrIixmdW5jdGlvbihhKXtxLl90cmFj a0xpbmtzLm9uJiZuYihhKX0pfWZ1bmN0aW9uIG5iKGEpe3ZhciBiPXUoYSk7aWYo Yil7dmFyIGM9ITEsZD0iIitiLmhyZWYsZT1kP2Quc3BsaXQoL1w/LylbMF06IiIs aD1mdW5jdGlvbihhKXt2YXIgYz1NYihiLmlubmVySFRNTD9iLmlubmVySFRNTC50 b1N0cmluZygpLnJlcGxhY2UoLzxcLz9bXj5dKz4vZ2ksIiIpOiIiKTtyZXR1cm4g VChkLGQ9PWM/IiI6YyxEKCkuaHJlZixudWxsLGEpfSxtPWZ1bmN0aW9uKCl7cmV0 dXJuIE8oYSxiKT9xLl90cmFja0xpbmtzLmRlbGF5OgowfTtpZihnYi50ZXN0KGUp fHxnYi50ZXN0KGQpfHxwKGQsYWEpfHxwKGUsYWEpKWM9ITA7dmFyIHI9c2EoYiwi eW0tZGlzYWJsZS10cmFja2xpbmsiKSxlPXNhKGIsInltLWV4dGVybmFsLWxpbmsi KTtyfHwocj17bG46ITAsZGw6Y30sZT8oci5kZWxheT1tKCksaChyKSk6SyhEKCku aG9zdG5hbWUsYi5ob3N0bmFtZSk/YyYmKHIubG49ITEsci5kZWxheT1tKCksaChy KSk6ZCYmLTEhPWQuc2VhcmNoKC9eICooZGF0YXxqYXZhc2NyaXB0KTovaSl8fChy LnV0PW9hLHIuZGVsYXk9bSgpLGgocikpKX19ZnVuY3Rpb24gb2IoYSxiKXtmdW5j dGlvbiBnKCl7aWYoIXgpe3MmJmNsZWFyVGltZW91dChzKTt2YXIgZD1iLGM7Yz1x P246bitJKCktcDtkLT1jOzA+ZCYmKGQ9MCk7cz1NKGZ1bmN0aW9uKCl7eD0hMDtt KCExKTthKCl9LGQpfX1mdW5jdGlvbiBkKCl7cT1yPWw9ITA7bis9SSgpLXA7cD1J KCk7ZygpfWZ1bmN0aW9uIGgoKXtyfHxsfHwobj0wKTtwPUkoKTtyPWw9ITA7cT0h MTtnKCl9CmZ1bmN0aW9uIGsoKXtsfHwocj0hMCxxPSExLGw9ITAsZygpKX1mdW5j dGlvbiBtKGEpe2Zvcih2YXIgYj0wO2I8di5sZW5ndGg7Yis9MylhP04odltiXSx2 W2IrMV0sdltiKzJdKTpaYSh2W2JdLHZbYisxXSx2W2IrMl0pfXZhciByPSExLGw9 ITEscT0hMCxuPTAscD1JKCkscz1udWxsLHg9ITE7aWYoRWEpTShhLGIpO2Vsc2V7 dmFyIHY9W2UsImJsdXIiLGQsZSwiZm9jdXMiLGgsYywiY2xpY2siLGssYywibW91 c2Vtb3ZlIixrLGMsImtleWRvd24iLGssYywic2Nyb2xsIixrXTttKCEwKTtnKCl9 fWZ1bmN0aW9uIHBiKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYT1EKCkuaGFzaC5zcGxp dCgiIyIpWzFdO2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgYSlyZXR1cm4hMTt2YXIg Yz1hLmluZGV4T2YoIj8iKTswPGMmJihhPWEuc3Vic3RyaW5nKDAsYykpO3JldHVy biBhfXZhciBjPWIoKTsoZnVuY3Rpb24gQSgpe3ZhciBlPWIoKTtlIT09YyYmKGEo KSxjPWUpO0FhPU0oQSwyMDApfSkoKX1mdW5jdGlvbiBKYShhKXtNYT0KbGFzdFJl ZmVycmVyPWFiO1QoRCgpLmhyZWYsUCgpLE1hLG51bGwse3V0OkxhLGFkOjE9PXMm JmUuWWEmJmUuWWEuRGlyZWN0PyEwOiExLHdoOiEwLHNhdmVSZWY6ITB9KTthYj1E KCkuaHJlZn1mdW5jdGlvbiBGKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYT1jLmRvY3Vt ZW50RWxlbWVudDtyZXR1cm4gTWF0aC5tYXgoYS5zY3JvbGxXaWR0aCxjLmJvZHku c2Nyb2xsV2lkdGgsYS5jbGllbnRXaWR0aCl9ZnVuY3Rpb24gZyhhKXtmdW5jdGlv biBiKGEpe2E9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgZD1jLmJvZHks Zj1jLmRvY3VtZW50RWxlbWVudCxnPWEubGVmdCsoZS5wYWdlWE9mZnNldHx8Zi5z Y3JvbGxMZWZ0fHxkLnNjcm9sbExlZnQpLShmLmNsaWVudExlZnR8fGQuY2xpZW50 TGVmdHx8MCk7cmV0dXJue3RvcDpNYXRoLnJvdW5kKGEudG9wKyhlLnBhZ2VZT2Zm c2V0fHxmLnNjcm9sbFRvcHx8ZC5zY3JvbGxUb3ApLShmLmNsaWVudFRvcHx8ZC5j bGllbnRUb3B8fDApKSxsZWZ0Ok1hdGgucm91bmQoZyl9fQpyZXR1cm4gYS5nZXRC b3VuZGluZ0NsaWVudFJlY3Q/YihhKTpmdW5jdGlvbihhKXtmb3IodmFyIGI9MCxk PTA7YTspYis9cGFyc2VJbnQoYS5vZmZzZXRUb3ApLGQrPXBhcnNlSW50KGEub2Zm c2V0TGVmdCksYT1hLm9mZnNldFBhcmVudDtyZXR1cm57dG9wOmIsbGVmdDpkfX0o YSl9ZnVuY3Rpb24gZChhKXtyZXR1cm4gYS50b1N0cmluZygpLnRvVXBwZXJDYXNl KCl9ZnVuY3Rpb24gaChhKXtpZihudWxsPT1hLnBhZ2VYJiZudWxsIT1hLmNsaWVu dFgpe3ZhciBiPWMuZG9jdW1lbnRFbGVtZW50LGQ9Yy5ib2R5O2EucGFnZVg9YS5j bGllbnRYKyhiJiZiLnNjcm9sbExlZnR8fGQmJmQuc2Nyb2xsTGVmdHx8MCktKGIu Y2xpZW50TGVmdHx8MCk7YS5wYWdlWT1hLmNsaWVudFkrKGImJmIuc2Nyb2xsVG9w fHxkJiZkLnNjcm9sbFRvcHx8MCktKGIuY2xpZW50VG9wfHwwKX1yZXR1cm57eDph LnBhZ2VYLHk6YS5wYWdlWX19ZnVuY3Rpb24gayhhKXtmb3IodmFyIGI9ZChhLm5v ZGVOYW1lKTthLnBhcmVudE5vZGUmJgoiQk9EWSIhPWImJiJIVE1MIiE9Yjspe2lm KCJBIj09Ynx8IklOUFVUIj09Ynx8IlRFWFRBUkVBIj09YilyZXR1cm4hMDthPWEu cGFyZW50Tm9kZTtiPWEubm9kZU5hbWV9cmV0dXJuITF9Zm9yKHZhciBsPXRoaXMs cj0wLHE9bnVsbCxuPSJBIEIgQklHIEJPRFkgQlVUVE9OIEREIERJViBETCBEVCBF TSBGSUVMRFNFVCBGT1JNIEgxIEgyIEgzIEg0IEg1IEg2IEhSIEkgSU1HIElOUFVU IExJIE9MIFAgUFJFIFNFTEVDVCBTTUFMTCBTUEFOIFNUUk9ORyBTVUIgU1VQIFRB QkxFIFRCT0RZIFREIFRFWFRBUkVBIFRGT09UIFRIIFRIRUFEIFRSIFUgVUwgQUJC UiBBUkVBIEJMT0NLUVVPVEUgQ0FQVElPTiBDRU5URVIgQ0lURSBDT0RFIENBTlZB UyBERk4gRU1CRUQgRk9OVCBJTlMgS0JEIExFR0VORCBMQUJFTCBNQVAgT0JKRUNU IFEgUyBTQU1QIFNUUklLRSBUVCBBUlRJQ0xFIEFVRElPIEFTSURFIEZPT1RFUiBI RUFERVIgTUVOVSBNRVRFUiBOQVYgUFJPR1JFU1MgU0VDVElPTiBUSU1FIFZJREVP IE5PSU5ERVggTk9CUiIuc3BsaXQoIiAiKSwKcD01OSxzPVN0cmluZy5mcm9tQ2hh ckNvZGUseD17fSx1PTA7dTxuLmxlbmd0aDt1KyspeFtuW3VdXT1zKHApLHMocCks cCsrO3RoaXMuaGFuZGxlcj1mdW5jdGlvbihhKXt2YXIgbj1jLmdldEVsZW1lbnRz QnlUYWdOYW1lKCJib2R5IilbMF07aWYoIWUueW1EaXNhYmxlZENsaWNrbWFwJiYh c2EobiwieW0tY2xpY2ttYXAtaWdub3JlIikpe2lmKGwuX3ByZWZzLmhhc1F1b3Rh KXtpZighbC5fcHJlZnMucXVvdGEpcmV0dXJuO2wuX3ByZWZzLnF1b3RhLS19dmFy IHA9YS50YXJnZXR8fGEuc3JjRWxlbWVudDszPT1wLm5vZGVUeXBlJiYocD1wLnBh cmVudE5vZGUpO3ZhciBuPWQocC5ub2RlTmFtZSkscz1oKGEpLHQ7YS53aGljaHx8 YS5idXR0b249PT1pYXx8KGEud2hpY2g9YS5idXR0b24mMT8xOmEuYnV0dG9uJjI/ MzphLmJ1dHRvbiY0PzI6MCk7dD1hLndoaWNoO2lmKHQ9MiE9dCYmMyE9dHx8IkEi PT1uKWlmKHQ9cC5vZmZzZXRIZWlnaHQsdD0hKDA9PT1wLm9mZnNldFdpZHRoJiYw PT09CnR8fHAuc3R5bGUmJiJub25lIj09PXAuc3R5bGUuZGlzcGxheSkpe2I6e2Zv cih0PXA7dC5wYXJlbnROb2RlOyl7aWYoc2EodCwieW0tY2xpY2ttYXAtaWdub3Jl Iikpe3Q9ITA7YnJlYWsgYn10PXQucGFyZW50Tm9kZX10PSExfWlmKHQ9IXQpe2I6 e3Q9bC5fcHJlZnMuaWdub3JlVGFncztmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3Ur KylpZihkKHRbdV0pPT1kKG4pKXt0PSEwO2JyZWFrIGJ9dD0hMX10PSF0JiZsLl9w cmVmcy5maWx0ZXIocCxuKX19aWYodCl7bj1JKCk7cD17ZG9tOnAseDpzLngseTpz LnksdGltZTpufTtpZigocz01MDxuLXIpJiYhKHM9IWwuX3ByZWZzLmlnbm9yZVNh bWVDbGlja3MpKXtpZihzPXEpe3Q9TWF0aC5hYnMocy54LXAueCk7dmFyIHU9TWF0 aC5hYnMocy55LXAueSksWD1wLnRpbWUtcy50aW1lLHM9cy5kb209PXAuZG9tJiYy PnQmJjI+dSYmMUUzPlg/ITA6ITF9ZWxzZSBzPSExO3M9IXN9aWYocyYmIUdhKCkp e2lmKHM9YS50YXJnZXR8fGEuc3JjRWxlbWVudCl7Mz09CnMubm9kZVR5cGUmJihz PXMucGFyZW50Tm9kZSk7Zm9yKHQ9ZChzLm5vZGVOYW1lKTtzLnBhcmVudE5vZGUm JnMucGFyZW50Tm9kZS5ub2RlTmFtZSYmKCJBIiE9dCYmIkFSRUEiIT10fHwhcy5o cmVmKTspcz1zLnBhcmVudE5vZGUsdD1kKHMubm9kZU5hbWUpO3Q9cy5ocmVmP3M6 ITF9ZWxzZSB0PSExO3M9ITE7dCYmTyhhLHQpJiYhSyhEKCkuaG9zdG5hbWUsdC5o b3N0bmFtZSkmJihzPSEwKTt0PVBhO3ZhciBYPWgoYSksdT1YLngsWD1YLnksdz1h LnRhcmdldHx8YS5zcmNFbGVtZW50LEU9bC5fcHJlZnMsej1nKHcpLEM9IiI7YT1E KCkuaHJlZjtzd2l0Y2goRS5tb2RlKXtjYXNlICJmaXhlZCI6Qz0iMCI7ayh3KSYm KEMrPSJ1Iik7YnJlYWs7Y2FzZSAiY2VudGVyZWQiOkM9IjEiO3o9TWF0aC5mbG9v cihiKCkvMik7dT11Pno/dS16KzMyNzY4OnU7ayh3KSYmKEMrPSJ1Iik7YnJlYWs7 ZGVmYXVsdDpDPWQody5ub2RlTmFtZSk7Qz0iQk9EWSI9PUN8fCJIVE1MIj09Qz9i KCk6dy5vZmZzZXRXaWR0aDsKRT1kKHcubm9kZU5hbWUpOyJCT0RZIj09RXx8IkhU TUwiPT1FPyhFPWMuZG9jdW1lbnRFbGVtZW50LEU9TWF0aC5tYXgoRS5zY3JvbGxI ZWlnaHQsYy5ib2R5LnNjcm9sbEhlaWdodCxFLmNsaWVudEhlaWdodCkpOkU9dy5v ZmZzZXRIZWlnaHQ7Q3x8KEM9MSk7RXx8KEU9MSk7dT1NYXRoLmZsb29yKDY1NTM1 Kih1LXoubGVmdCkvQyk7WD1NYXRoLmZsb29yKDY1NTM1KihYLXoudG9wKS9FKTtm b3Ioej0iIjt3LnBhcmVudE5vZGUmJiJCT0RZIiE9ZCh3Lm5vZGVOYW1lKSYmIkhU TUwiIT1kKHcubm9kZU5hbWUpOyl7eis9eFt3Lm5vZGVOYW1lXXx8IioiO2I6e2Zv cih2YXIgQz13LnBhcmVudE5vZGUsQj1FPTA7QjxDLmNoaWxkTm9kZXMubGVuZ3Ro O0IrKylpZih3Lm5vZGVOYW1lPT1DLmNoaWxkTm9kZXNbQl0ubm9kZU5hbWUpe2lm KHc9PUMuY2hpbGROb2Rlc1tCXSl7Qz1FO2JyZWFrIGJ9RSsrfUM9MH16Kz1DfHwi Ijt3PXcucGFyZW50Tm9kZX1DPW0oeiwxMjgpfXU9WyJybiIsa2EoKSwKIngiLHUs InkiLFgsInQiLE1hdGguZmxvb3IoTWF0aC5mbG9vcihJKCktZ2MpLzEwMCksInAi LENdO1Y/dT11LmNvbmNhdCgid2giLCIxIik6YT1hP2EucmVwbGFjZSgvXCMuKiQv LCIiKTphOyJmdW5jdGlvbiI9PXR5cGVvZiBsLl9wcmVmcy51cmxGaWx0ZXImJihh PWwuX3ByZWZzLnVybEZpbHRlcihhKSk7YT1HKGhjLFsicGFnZS11cmwiLG0oYSxi YSksInBvaW50ZXItY2xpY2siLHUuam9pbigiOiIpXSk7dChhLHM/bC5fcHJlZnMu ZGVsYXk6MCl9cj1uO3E9cH19fTt0aGlzLnNldFByZWZzPWZ1bmN0aW9uKGEpe2Z1 bmN0aW9uIGIoYSxkKXtyZXR1cm4hMH10aGlzLl9wcmVmcz0idW5kZWZpbmVkIj09 dHlwZW9mIGF8fCExPT09YXx8ITA9PT1hP3tmaWx0ZXI6YixpZ25vcmVUYWdzOltd LG1vZGU6IiIsZGVsYXk6TmEscXVvdGE6MCxoYXNRdW90YTohMSxpZ25vcmVTYW1l Q2xpY2tzOiEwfTp7ZmlsdGVyOmEuZmlsdGVyfHxiLGlnbm9yZVRhZ3M6YS5pZ25v cmVUYWdzfHxbXSxtb2RlOmEubW9kZXx8CiIiLGRlbGF5OiJ1bmRlZmluZWQiPT10 eXBlb2YgYS5kZWxheT9OYTphLmRlbGF5LHF1b3RhOmEucXVvdGF8fDAsaGFzUXVv dGE6ISFhLnF1b3RhLGlnbm9yZVNhbWVDbGlja3M6InVuZGVmaW5lZCI9PXR5cGVv ZiBhLmlnbm9yZVNhbWVDbGlja3M/ITA6ITEsdXJsRmlsdGVyOmEudXJsRmlsdGVy fX07dGhpcy51cGRhdGVTdGF0dXM9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBh KXtjYXNlICJ1bmRlZmluZWQiOnRoaXMuc3RhcnQoITApO2JyZWFrO2Nhc2UgImJv b2xlYW4iOmE/dGhpcy5zdGFydChhKTp0aGlzLnN0b3AoKTticmVhaztjYXNlICJv YmplY3QiOnRoaXMuc3RhcnQoYSl9fTt0aGlzLl9zdGFydD0hMTt0aGlzLnN0YXJ0 PWZ1bmN0aW9uKGEpe3RoaXMuc2V0UHJlZnMoYSk7dGhpcy5fc3RhcnR8fE4oYywi Y2xpY2siLHRoaXMuaGFuZGxlciwhMCk7dGhpcy5fc3RhcnQ9ITB9O3RoaXMuc3Rv cD1mdW5jdGlvbigpe3RoaXMuX3N0YXJ0JiZaYShjLCJjbGljayIsdGhpcy5oYW5k bGVyLAohMCk7dGhpcy5fc3RhcnQ9ITF9O3RoaXMuc3RhcnQoYSl9dmFyIHE9dGhp cyxVPU1hdGgucm91bmQoMTA3Mzc0MTgyNCpNYXRoLnJhbmRvbSgpKSxaLExhPSIi LGRhPURhLGFiPVI9Qi5ocmVmLE1hPSIiLHo7WWEuX21ldHJpa2EuY291bnRlcnx8 KFlhLl9tZXRyaWthLmNvdW50ZXI9cSk7Im9iamVjdCI9PXR5cGVvZiBiJiYoej1i LGw9Yi5kZWZlcixMYT1iLnV0LHM9Yi50eXBlLGg9Yi5wYXJhbXMsZGE9Yi5vbmx5 SHR0cHM/Imh0dHBzOiI6RGEsYj1iLmlkKTtiPWJ8fDA7cz1zfHwwO1o9YisiOiIr cztpZihZYS5fbWV0cmlrYS5jb3VudGVyc1taXSlyZXR1cm4gWWEuX21ldHJpa2Eu Y291bnRlcnNbWl07Z2EuZm9yRWFjaEtleT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZh ciBkIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShkKSYmYi5jYWxsKGMsZCxhW2RdLGEp fTtnYS5pbkFycmF5PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxhLmxlbmd0 aDtjKyspaWYoYVtjXT09YilyZXR1cm4hMDsKcmV0dXJuITF9O3ZhciBiYj1CYS5p bmhlcml0KHtzZW5kZXJUeXBlczpbImh0bWxmaWxlIiwieGhyIiwiaW1nIl0scG9z dFBhcmFtczpbXSxfaW5pdENvbXBvbmVudDpmdW5jdGlvbigpe2JiLnN1cGVyY2xh c3MuX2luaXRDb21wb25lbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuX2h0 bWxmaWxlPXRoaXMuX2NyZWF0ZUh0bWxmaWxlKCk7dGhpcy5fc2VuZGVycz17aHRt bGZpbGU6dGhpcy5fc2VuZEJ5SHRtbGZpbGUseGhyOnRoaXMuX3NlbmRCeVhocixp bWc6dGhpcy5fc2VuZEJ5SW1nLHNjcmlwdDp0aGlzLl9zZW5kQnlTY3JpcHQsbXVs dGlwYXJ0OnRoaXMuX3NlbmRNdWx0aXBhcnR9fSxzZW5kOmZ1bmN0aW9uKGEsYixj LGQpe2M9Y3x8ZnVuY3Rpb24oKXt9O2E9dGhpcy5fY3JlYXRlUmVxdWVzdFBhcmFt cyhhLGIpO2ZvcihiPTA7Yjx0aGlzLnNlbmRlclR5cGVzLmxlbmd0aCYmIXRoaXMu X3NlbmRlcnNbdGhpcy5zZW5kZXJUeXBlc1tiXV0uY2FsbCh0aGlzLGEsYyxkKTti KyspOwp9LF9zZW5kQnlIdG1sZmlsZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRo aXMuX2h0bWxmaWxlPyh0aGlzLl9zdWJtaXRGb3JtKHRoaXMuX2h0bWxmaWxlLGEs ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIsYixjKSwhMCk6ITF9 LF9zZW5kQnlYaHI6ZnVuY3Rpb24oYSxiLGMpe2lmKCJYTUxIdHRwUmVxdWVzdCJp biBlKXt2YXIgZD1uZXcgWE1MSHR0cFJlcXVlc3Q7IndpdGhDcmVkZW50aWFscyJp biBkJiYoZC5vcGVuKGEubWV0aG9kLGEudXJsLCEwKSxkLndpdGhDcmVkZW50aWFs cz0hMCwiUE9TVCI9PWEubWV0aG9kJiZkLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRl bnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpLGQu c2VuZChhLnBvc3RCb2R5KSxwYShmdW5jdGlvbigpezQ9PWQucmVhZHlTdGF0ZT9i LmNhbGwoYyk6TShhcmd1bWVudHMuY2FsbGVlLDUwLCJ0cmFuc3BvcnQueGhyIil9 LCJ0cmFuc3BvcnQueGhyIikoKSl9fSxfc2VuZEJ5SW1nOmZ1bmN0aW9uKGEsCmIs Yyl7dmFyIGQ9bmV3IEltYWdlO2Qub25sb2FkPXBhKGZ1bmN0aW9uKCl7Yi5jYWxs KGMpfSwidHJhbnNwb3J0LmltZyIpO2Quc3JjPWEub25seUdldFVybH0sX3NlbmRC eVNjcmlwdDpmdW5jdGlvbihhLGIsZyl7dmFyIGQ9Il95bWpzcCIra2EoKSxoPWMu Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZVtkXT1wYShmdW5jdGlvbihhKXt0cnl7 ZGVsZXRlIGVbZF19Y2F0Y2goYyl7ZVtkXT1pYX1iLmNhbGwoZyxhKTtoLnBhcmVu dE5vZGUmJmgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChoKX0sInRyYW5zcG9ydC5z Y3JpcHQiKTtoLnR5cGU9InRleHQvamF2YXNjcmlwdCI7aC5zcmM9YS5vbmx5R2V0 VXJsO2E9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdO2EuaW5zZXJ0 QmVmb3JlKGgsYS5maXJzdENoaWxkKX0sX3NlbmRNdWx0aXBhcnQ6ZnVuY3Rpb24o YSxiLGUpe3RoaXMuX3N1Ym1pdEZvcm0odGhpcy5faHRtbGZpbGV8fGMsYSwibXVs dGlwYXJ0L2Zvcm0tZGF0YSIsYiwKZSl9LF9zdWJtaXRGb3JtOmZ1bmN0aW9uKGEs YixjLGQsZSl7dmFyIGg9ImlmciIrTWF0aC5yb3VuZCgxRTEwKk1hdGgucmFuZG9t KCkpLGw9YS5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLnN0eWxlLnBvc2l0aW9uPSJh YnNvbHV0ZSI7bC5zdHlsZS5sZWZ0PSItOTk5OTlweCI7bC5zdHlsZS50b3A9Ii05 OTk5OXB4IjtjPVsnPGlmcmFtZSBuYW1lPSInLGgsJyI+PC9pZnJhbWU+JywnPGZv cm0gYWN0aW9uPSInLGIudXJsLCciIG1ldGhvZD0iJytiLm1ldGhvZCsnIiB0YXJn ZXQ9IicsaCwnIiBlbmN0eXBlPSInLGMsJyI+J107Zm9yKHZhciBtIGluIGIucG9z dFBhcmFtcyliLnBvc3RQYXJhbXMuaGFzT3duUHJvcGVydHkobSkmJkooYywnPHRl eHRhcmVhIG5hbWU9IicsbSwnIj48L3RleHRhcmVhPicpO0ooYywiPC9mb3JtPiIp O2wuaW5uZXJIVE1MPWMuam9pbigiIik7YS5ib2R5LmFwcGVuZENoaWxkKGwpO209 bC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybSIpWzBdO3ZhciBzPWwuZ2V0RWxl bWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdLApuO2ZvcihuIGluIGIucG9zdFBh cmFtcyliLnBvc3RQYXJhbXMuaGFzT3duUHJvcGVydHkobikmJihtW25dLnZhbHVl PWIucG9zdFBhcmFtc1tuXSk7cy5vbmxvYWQ9cGEoZnVuY3Rpb24oKXtzLm9ubG9h ZD1udWxsO2QuY2FsbChlKX0sInRyYW5zcG9ydC5mb3JtIik7bS5zdWJtaXQoKTtN KGZ1bmN0aW9uKCl7YS5ib2R5LnJlbW92ZUNoaWxkKGwpfSwxRTQsInRyYW5zcG9y dC5mb3JtIil9LF9jcmVhdGVSZXF1ZXN0UGFyYW1zOmZ1bmN0aW9uKGEsYil7dmFy IGM9e30sZD17fTtnYS5mb3JFYWNoS2V5KGIsZnVuY3Rpb24oYSxiKXtnYS5pbkFy cmF5KHRoaXMucG9zdFBhcmFtcyxhKT9kW2FdPWI6Y1thXT1ifSx0aGlzKTthKz0t MTxhLmluZGV4T2YoIj8iKT8iJiI6Ij8iO3JldHVybnttZXRob2Q6dGhpcy5wb3N0 UGFyYW1zLmxlbmd0aD8iUE9TVCI6IkdFVCIsdXJsOmEramEoYykscG9zdEJvZHk6 dGhpcy5wb3N0UGFyYW1zLmxlbmd0aD9qYShkKTpudWxsLHBvc3RQYXJhbXM6ZCxv bmx5R2V0VXJsOmErCmphKGIpfX0sX2NyZWF0ZUh0bWxmaWxlOmZ1bmN0aW9uKCl7 dHJ5e2lmKGUuQWN0aXZlWE9iamVjdCl7dmFyIGE9bmV3IEFjdGl2ZVhPYmplY3Qo Imh0bWxmaWxlIik7YS5vcGVuKCk7YS53cml0ZSgiPGh0bWw+PGJvZHk+PC9ib2R5 PjwvaHRtbD4iKTthLmNsb3NlKCk7cmV0dXJuIGF9fWNhdGNoKGIpe31yZXR1cm4g bnVsbH19KSxlYT1iYi5pbmhlcml0KHtwcm90b2NvbDoiaHR0cDoiLGhvc3Q6Im1j LnlhbmRleC5ydSIscmVzb3VyY2U6IiIsY291bnRlcklkOiIiLHJldHJ5OiExLF9p bml0Q29tcG9uZW50OmZ1bmN0aW9uKCl7ZWEuc3VwZXJjbGFzcy5faW5pdENvbXBv bmVudC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5yZXRyeSYmKHRoaXMuX3N0 b3JhZ2U9bmV3IG1hKX0sc2VuZDpmdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLnJl dHJ5JiZ0aGlzLl9zdG9yYWdlLmlzRW5hYmxlZCgpKXtiLnJxbmw9Yi5ycW5sfHww O2IucnFubCsrO2Zvcih2YXIgZT10aGlzLl9zdG9yYWdlLmdldCgicmV0cnlSZXFz Iil8fAp7fSxoPTA7ZVtoXTspaCsrO2VbaF09e3Byb3RvY29sOnRoaXMucHJvdG9j b2wsaG9zdDp0aGlzLmhvc3QscmVzb3VyY2U6dGhpcy5yZXNvdXJjZSxjb3VudGVy SWQ6dGhpcy5jb3VudGVySWQscGFyYW1zOmEsYnJvd3NlckluZm86Yix0aW1lOitu ZXcgRGF0ZX07dGhpcy5fc3RvcmFnZS5zZXQoInJldHJ5UmVxcyIsZSl9dmFyIGU9 W3RoaXMucHJvdG9jb2wsIi8vIix0aGlzLmhvc3QsIi8iK3RoaXMucmVzb3VyY2Ur Ii8iK3RoaXMuY291bnRlcklkXS5qb2luKCIiKSxsPVtdO2lmKGIpZm9yKHZhciBt IGluIGIpYi5oYXNPd25Qcm9wZXJ0eShtKSYmYlttXSYmbC5wdXNoKG0sYlttXSk7 bC5sZW5ndGgmJihhWyJicm93c2VyLWluZm8iXT1sLmpvaW4oIjoiKSk7cmV0dXJu IGVhLnN1cGVyY2xhc3Muc2VuZC5jYWxsKHRoaXMsZSxhLGZ1bmN0aW9uKCl7aWYo dGhpcy5yZXRyeSYmdGhpcy5fc3RvcmFnZS5pc0VuYWJsZWQoKSl7dmFyIGE9dGhp cy5fc3RvcmFnZS5nZXQoInJldHJ5UmVxcyIpfHwKe307ZGVsZXRlIGFbaF07dGhp cy5fc3RvcmFnZS5zZXQoInJldHJ5UmVxcyIsYSl9YyYmYy5hcHBseShkLGFyZ3Vt ZW50cyl9LHRoaXMpfX0pO2VhLnJldHJhbnNtaXQ9ZnVuY3Rpb24oKXt2YXIgYT1u ZXcgbWEsYj1hLmdldCgicmV0cnlSZXFzIil8fHt9O2EucmVtb3ZlKCJyZXRyeVJl cXMiKTtnYS5mb3JFYWNoS2V5KGIsZnVuY3Rpb24oYSxiKXtiLnRpbWUmJmIudGlt ZSs2RTU+K25ldyBEYXRlJiYobmV3IGVhKHtwcm90b2NvbDpiLnByb3RvY29sLGhv c3Q6Yi5ob3N0LHJlc291cmNlOmIucmVzb3VyY2UsY291bnRlcklkOmIuY291bnRl cklkLHJldHJ5OiEwfSkpLnNlbmQoYi5wYXJhbXMsYi5icm93c2VySW5mbyl9KX07 dmFyIHFiPWVhLmluaGVyaXQoe2hpdEV4dDpmdW5jdGlvbihhLGIsYyxkLGUpe2U9 ZXx8e307Yz0idW5kZWZpbmVkIiE9dHlwZW9mIGM/YzpSO3ZhciBoPXt9O2UuYXIm JiFlLm9ubHlEYXRhJiYoYz1TKGMpLGE9UyhhKSk7ZS5yZXFOdW09ITA7dmFyIGw9 bShjLApiYSk7bCYmKGhbInBhZ2UtcmVmIl09bCk7KGE9bShhLGJhKSkmJihoWyJw YWdlLXVybCJdPWEpO1NhKCk/b2EmJihoLnV0PW9hKToidW5kZWZpbmVkIiE9dHlw ZW9mIGUudXQmJihhPW0oIiIrZS51dCxlYikpJiYoaC51dD1hKTtkJiYoZD1tKHgo ZCksZmIpKSYmKGhbInNpdGUtaW5mbyJdPWQpO2Uuc2F2ZVJlZiYmKFI9Yyk7R2Eo KXx8dGhpcy5zZW5kKGgsdyhiLGUsITApKX19KS5pbmhlcml0KHtyZXNvdXJjZToi d2F0Y2giLHJldHJ5OiEwLHBvc3RQYXJhbXM6WyJzaXRlLWluZm8iXSxzZW5kUGFy YW1zOmZ1bmN0aW9uKGEpe3RoaXMuaGl0RXh0KEQoKS5ocmVmLCIiLCIiLGEse2Fy OiEwLHBhOiEwLG9ubHlEYXRhOiEwfSl9fSkseGE9bnVsbCx5YT1udWxsLCQ9bnVs bDtlLnBvc3RNZXNzYWdlJiZlLmFkZEV2ZW50TGlzdGVuZXImJk4oZSwibWVzc2Fn ZSIsZnVuY3Rpb24oYSl7aWYoYS5kYXRhKXRyeXt2YXIgYj0ic3RyaW5nIj09dHlw ZW9mIGEuZGF0YT9KU09OLnBhcnNlKGEuZGF0YSk6CmEuZGF0YTsib2JqZWN0Ij09 dHlwZW9mIGImJiJ5bV9jb3VudGVycyI9PWIubmFtZSYmYS5zb3VyY2UucG9zdE1l c3NhZ2Uoe25hbWU6InltX2NvdW50ZXJzIixkYXRhOmUuWWEuTWV0cmlrYS5jb3Vu dGVycygpfSwiKiIpfWNhdGNoKGMpe319LCExKTtlYS5yZXRyYW5zbWl0KCk7dmFy IGRiPW5ldyBmdW5jdGlvbihhLGIsZyl7ZnVuY3Rpb24gZChhLGIsYyl7aWYobSlo KG0sayhhLGIsMCksYywiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVk Iik7ZWxzZXtpZigiWE1MSHR0cFJlcXVlc3QiaW4gZSl7dmFyIGQ9bmV3IFhNTEh0 dHBSZXF1ZXN0O2lmKCJ3aXRoQ3JlZGVudGlhbHMiaW4gZCl7dmFyIGY9Yz8iUE9T VCI6IkdFVCI7YT1rKGEsYiwiUE9TVCI9PWY/MTowKTtkLm9wZW4oZixhLCEwKTtk LndpdGhDcmVkZW50aWFscz0hMDsiUE9TVCI9PWYmJmQuc2V0UmVxdWVzdEhlYWRl cigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv ZGVkIik7CmQuc2VuZCgiUE9TVCI9PWY/amEoYyk6bnVsbCk7cmV0dXJufX1mb3Io ZiBpbiBjKWMuaGFzT3duUHJvcGVydHkoZikmJihiW2ZdPWNbZl0pOyhuZXcgSW1h Z2UpLnNyYz1rKGEsYiwwKX19ZnVuY3Rpb24gaChhLGIsYyxkKXt2YXIgZT0iaWZy IitNYXRoLnJvdW5kKDFFMTAqTWF0aC5yYW5kb20oKSksZj1hLmNyZWF0ZUVsZW1l bnQoImRpdiIpO2Yuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtmLnN0eWxlLmxl ZnQ9Ii05OTk5OXB4IjtmLnN0eWxlLnRvcD0iLTk5OTk5cHgiO2I9Wyc8aWZyYW1l IG5hbWU9IicsZSwnIj48L2lmcmFtZT4nLCc8Zm9ybSBhY3Rpb249IicsYiwnIiBt ZXRob2Q9InBvc3QiIHRhcmdldD0iJyxlLCciIGVuY3R5cGU9IicsZCwnIj4nXTtm b3IodmFyIGcgaW4gYyljLmhhc093blByb3BlcnR5KGcpJiZKKGIsJzx0ZXh0YXJl YSBuYW1lPSInLGcsJyI+PC90ZXh0YXJlYT4nKTtKKGIsIjwvZm9ybT4iKTtmLmlu bmVySFRNTD1iLmpvaW4oIiIpO2EuYm9keS5hcHBlbmRDaGlsZChmKTsKZz1mLmdl dEVsZW1lbnRzQnlUYWdOYW1lKCJmb3JtIilbMF07Zm9yKHZhciBrIGluIGMpYy5o YXNPd25Qcm9wZXJ0eShrKSYmKGdba10udmFsdWU9Y1trXSk7Zy5zdWJtaXQoKTtN KGZ1bmN0aW9uKCl7YS5ib2R5LnJlbW92ZUNoaWxkKGYpfSwxRTQpfWZ1bmN0aW9u IGsoYyxkLGUpe2RbImJyb3dzZXItaW5mbyJdPVsiY3QiLGUsZFsiYnJvd3Nlci1p bmZvIl1dLmpvaW4oIjoiKTtyZXR1cm4gYSsiLy8iK2IrIi8iK2MrIi8iK2crIj8i K2phKGQpfWZ1bmN0aW9uIGwoKXtpZihlLkFjdGl2ZVhPYmplY3Qpe3ZhciBhPW5l dyBBY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpO2Eub3BlbigpO2Eud3JpdGUoIjxo dG1sPjxib2R5PjwvYm9keT48L2h0bWw+Iik7YS5jbG9zZSgpO3JldHVybiBhfXJl dHVybiBudWxsfXRyeXt2YXIgbT1sKCl9Y2F0Y2gocyl7fXZhciBuPSIiLHA9W107 cmV0dXJue3NlbmQ6ZnVuY3Rpb24oYSxiLGMsZSl7YT9uPy0xPG4uaW5kZXhPZigi fCIrYSsifCIpJiZkKGIsCmMsZSk6SihwLGFyZ3VtZW50cyk6ZChiLGMsZSl9LHNl bmRNdWx0aXBhcnQ6ZnVuY3Rpb24oYSxiLGQsZSl7aChtfHxjLGsoYSxiLGUpLGQs Im11bHRpcGFydC9mb3JtLWRhdGEiKX0saW5pdDpmdW5jdGlvbihhKXtuPSJ8Iith LmpvaW4oInwiKSsifCI7Zm9yKGE9MDthPHAubGVuZ3RoO2ErKyktMTxuLmluZGV4 T2YoInwiK3BbYV1bMF0rInwiKSYmZChwW2FdWzFdLHBbYV1bMl0scFthXVszXSk7 cC5sZW5ndGg9MH19fShkYSwibWMueWFuZGV4LnJ1IixiKSx6YTtxLnJlcGxhY2VQ aG9uZXM9ZnVuY3Rpb24oKXt0cnl7dmFyIGE9cmEoIl95bV9tcDJfc3Vic3RzXyIr Yik7aWYoYSl7dmFyIGM9KG5ldyBGdW5jdGlvbigicmV0dXJuICIrYSkpKCk7YyYm SGEoYyl9fWNhdGNoKGUpe319O3EucmVhY2hHb2FsPWZ1bmN0aW9uKGEsYixlKXt2 YXIgZD1hPyJnb2FsOi8vIitEKCkuaG9zdG5hbWUrIi8iK2E6RCgpLmhyZWYsaD1Q KCksaz1hP0QoKS5ocmVmOmMucmVmZXJyZXI7InVuZGVmaW5lZCI9PQp0eXBlb2Yg ZSYmKGU9YT8xMDA6MCk7VChkLGgsayxiLHthcjohMCxkZWxheTplfSk7cmV0dXJu ITB9O3EudHJhY2tMaW5rcz1XYTtxLmhpdD1mdW5jdGlvbihhLGIsYyxkLGUpe2Em JlQoYSxiLGMsZCx7dXQ6ZSxhcjohMCxzYXZlUmVmOiEwfSl9O3EucGFyYW1zPXBh KGZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg7aWYoMTxj KXtmb3IodmFyIGU9e30sZD1lLGg9MDtoPGMtMTtoKyspe3ZhciBrPSIiK2FyZ3Vt ZW50c1toXTtkW2tdPXt9O2g8Yy0yJiYoZD1kW2tdKX1kW2tdPWFyZ3VtZW50c1tj LTFdO2E9ZX0obmV3IHFiKHtwcm90b2NvbDpkYSxjb3VudGVySWQ6Yn0pKS5zZW5k UGFyYW1zKGEpfX0sImNvdW50ZXIucGFyYW1zIik7cS5maWxlPWZ1bmN0aW9uKGEs YixjLGQpe2EmJlQoYSwiIixEKCkuaHJlZixkLHthcjohMCxsbjohMCxkbDohMH0p fTtxLmV4dExpbms9ZnVuY3Rpb24oYSxiLGMsZCl7YSYmVChhLCIiLEQoKS5ocmVm LGQse2FyOiEwLGxuOiEwLAp1dDpvYX0pfTtxLm5vdEJvdW5jZT1mdW5jdGlvbigp e3ZhciBhPTA7aWImJk9hJiYoYT1PYS1pYik7VChEKCkuaHJlZiwiIiwiIixudWxs LHtjbDphLGFyOiEwLG5iOiEwLG9ubHlEYXRhOiEwfSl9O3ZhciBhYT1bXTtxLmFk ZEZpbGVFeHRlbnNpb249ZnVuY3Rpb24oYSl7InN0cmluZyI9PXR5cGVvZiBhP2Fh LnB1c2goYSk6YWE9YWEuY29uY2F0KGEpfTtxLmNsaWNrbWFwPWZ1bmN0aW9uKGEp e3EuX2NsaWNrbWFwP3EuX2NsaWNrbWFwLnVwZGF0ZVN0YXR1cyhhKTpxLl9jbGlj a21hcD1uZXcgRihhKX07cS5hY2N1cmF0ZVRyYWNrQm91bmNlPWZ1bmN0aW9uKGEp eyJudW1iZXIiIT10eXBlb2YgYSYmKGE9MTVFMyk7aWYoIXEuX2lzQWNjdXJhdGVU cmFja0JvdW5jZSl7cS5faXNBY2N1cmF0ZVRyYWNrQm91bmNlPSEwO3ZhciBlPW5l dyBtYSh7Y291bnRlcklkOmJ9KSxnPWUuZ2V0KCJsYXN0SGl0Iik7ZS5zZXQoImxh c3RIaXQiLCtuZXcgRGF0ZSk7KChlPWUuZ2V0KCJsYXN0SGl0IikpJiYKKCFnfHxn PGUtMThFNSl8fCFRKGMucmVmZXJyZXIsRCgpLmhyZWYpfHwwLjE+TWF0aC5yYW5k b20oKSkmJm9iKGZ1bmN0aW9uKCl7cS5ub3RCb3VuY2UoKX0sYSl9fTt2YXIgQWE9 bnVsbCxWPSExO3EudHJhY2tIYXNoPWZ1bmN0aW9uKGEpeyExPT09YT9WJiYoIm9u aGFzaGNoYW5nZSJpbiBlP1phKGUsImhhc2hjaGFuZ2UiLEphKTpjbGVhckludGVy dmFsKEFhKSxWPSExKTpWfHwoIm9uaGFzaGNoYW5nZSJpbiBlP04oZSwiaGFzaGNo YW5nZSIsSmEpOnBiKEphKSxWPSEwKTtxLl90cmFja0hhc2g9Vn07cS52aWRlbz1m dW5jdGlvbihhLGIsYyxkKXt2YXIgZT1bImVuZCIsInBsYXkiLCJwYXVzZSIsInNl ZWsiXTtpZihhJiZjKXthOntmb3IodmFyIGg9MCxsPWUubGVuZ3RoO2g8bDtoKz0x KWlmKGE9PT1lW2hdKXtlPWg7YnJlYWsgYX1lPS0xfS0xIT09ZSYmVChjLGR8fCIi LCIiLG51bGwse2FyOiEwLHZhOmEsdnQ6fn5ifSl9fTtxLnNvY2lhbD1mdW5jdGlv bihhLGIsYyl7YSYmYiYmClQoY3x8RCgpLmhyZWYsIiIsIiIsbnVsbCx7YXI6ITAs c246bShhLDY0KSxzYTptKGIsNjQpfSl9O3EuZW5hYmxlQWxsPWZ1bmN0aW9uKCl7 cS50cmFja0xpbmtzKCEwKTtxLmNsaWNrbWFwKCEwKTtxLmFjY3VyYXRlVHJhY2tC b3VuY2UoKX07cS5wYXVzZT1qYjtxLnVwbG9hZFBhZ2U9ZnVuY3Rpb24oKXt9O3Eu X3BlcmZvcm1hbmNlVGltaW5nPXRhO2ImJmxiKCl9O2UuWWEuTWV0cmlrYS5jb3Vu dGVycz1mdW5jdGlvbigpe3ZhciBiPVtdO1JhKGUuWWEuX21ldHJpa2EuY291bnRl cnMsZnVuY3Rpb24oYyxzKXt2YXIgbD1zLnNwbGl0KCI6Iik7Yi5wdXNoKHtpZDor bFswXSx0eXBlOitsWzFdLGFjY3VyYXRlVHJhY2tCb3VuY2U6Yy5faXNBY2N1cmF0 ZVRyYWNrQm91bmNlLGNsaWNrbWFwOmMuX2NsaWNrbWFwJiZjLl9jbGlja21hcC5f c3RhcnQsb2xkQ29kZTohIWUueWFfY2lkLHRyYWNrSGFzaDohIWMuX3RyYWNrSGFz aCx0cmFja0xpbmtzOmMuX3RyYWNrTGlua3MmJmMuX3RyYWNrTGlua3Mub24sCndl YnZpc29yOiEhYy5fd2Vidmlzb3J9KX0pO3JldHVybiBifTt2YXIgUGE9ZnVuY3Rp b24oYixjKXt2YXIgZT0vKCZ8XD8pYnJvd3Nlci1pbmZvPXJxbmw6KFxkKyk6Lzti PWIubWF0Y2goZSk/Yi5yZXBsYWNlKGUsIiQxYnJvd3Nlci1pbmZvPXJxbmw6Iiso K1JlZ0V4cC4kMisxKSsiOiIpOmIucmVwbGFjZSgvKCZ8XD8pYnJvd3Nlci1pbmZv PS8sIiQxYnJvd3Nlci1pbmZvPXJxbmw6MToiKTtlPW5ldyBJbWFnZTtGYS5hZGQo YixjKTtlLm9ubG9hZD1mdW5jdGlvbigpe0ZhLmRlbGV0ZUhpdChiKX07ZS5zcmM9 YjtVYShiKX0sRmE9ZnVuY3Rpb24oKXt2YXIgYj1uZXcgbWE7cmV0dXJue2luaXQ6 ZnVuY3Rpb24oKXt0aGlzLnNlbmQoKTt0aGlzLl9ldmVudHMoKX0sX2V2ZW50czpm dW5jdGlvbigpe3ZhciBiPXRoaXMsYz1mdW5jdGlvbigpe2IuX3dhc0VuZHx8KGIu X3dhc0VuZD0hMCxiLl9vbkVuZCgpKX07TihlLCJiZWZvcmV1bmxvYWQiLGMpO1Ji fHxOKGUsInVubG9hZCIsYyl9LApfb25FbmQ6ZnVuY3Rpb24oKXt2YXIgYz1bXSxl PTA7dGhpcy5fdXBkYXRlKGMpO2Zvcih2YXIgbD0wO2w8Yy5sZW5ndGg7bCsrKWNb bF0uZGVsYXk+ZSYmKGU9Y1tsXS5kZWxheSk7ZSYmamIoZSk7Yi5zZXQoImRlZmVy IixjKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuZ2V0KCJkZWZlciIpfSxhZGQ6 ZnVuY3Rpb24oYyxlKXt2YXIgbD1be3VybDpjLGRlbGF5OmUsdGltZTpJKCl9XTt0 aGlzLl91cGRhdGUobCk7Yi5zZXQoImRlZmVyIixsKX0sZGVsZXRlSGl0OmZ1bmN0 aW9uKGMpe3ZhciBlPVtdO3RoaXMuX3VwZGF0ZShlLGMpO2Iuc2V0KCJkZWZlciIs ZSl9LF91cGRhdGU6ZnVuY3Rpb24oYixjKXt2YXIgZT10aGlzLmdldCgpLG09SSgp O2lmKGUmJnFhKGUpJiZlLmxlbmd0aClmb3IodmFyIHg9MDt4PGUubGVuZ3RoO3gr Kyl7dmFyIHA9ZVt4XTtwLnVybCYmcC51cmwhPWMmJnAudGltZT5tLTRFMyYmYi5w dXNoKHApfXJldHVybiBifSxzZW5kOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5nZXQo KSwKYz1JKCk7aWYoYil7aWYocWEoYikmJmIubGVuZ3RoKWZvcih2YXIgZT0wO2U8 Yi5sZW5ndGgmJjEwPmU7ZSsrKXt2YXIgbT1iW2VdO20mJm0udXJsJiZtLnRpbWU+ Yy0zNkU1JiZ0aGlzLl9pc0NvcnJlY3RVcmwobS51cmwpJiZQYShtLnVybCl9dGhp cy5jbGVhcigpfX0sX2lzQ29ycmVjdFVybDpmdW5jdGlvbihiKXtyZXR1cm4gMD09 PWIucmVwbGFjZSgvXmh0dHBzPzovLCIiKS5pbmRleE9mKCIvL21jLnlhbmRleC5y dS8iKX0sY2xlYXI6ZnVuY3Rpb24oKXtiLnJlbW92ZSgiZGVmZXIiKX19fSgpO0Zh LmluaXQoKTtlLnlhX2NpZCYmbmV3IFlhLk1ldHJpa2EoZS55YV9jaWQsZS55YV9w YXJhbXMsZS55YV9jbGFzcyk7ZS55YV9jaWQmJiFlLnlhX2hpdCYmKGUueWFfaGl0 PWZ1bmN0aW9uKGIsYyl7WWEuX21ldHJpa2EuY291bnRlciYmWWEuX21ldHJpa2Eu Y291bnRlci5yZWFjaEdvYWwoYixjKX0pO3ZhciBLPWUueWFuZGV4X21ldHJpa2Ff Y2FsbGJhY2ssVz1lLnlhbmRleF9tZXRyaWthX2NhbGxiYWNrczsKImZ1bmN0aW9u Ij09dHlwZW9mIEsmJksoKTtpZigib2JqZWN0Ij09dHlwZW9mIFcpZm9yKEs9MDtL PFcubGVuZ3RoO0srKyl7dmFyIGhhPVdbS107aGEmJihXW0tdPW51bGwsaGEoKSl9 dGEoInlhbmRleF9tZXRyaWthX2NhbGxiYWNrIik7dGEoInlhbmRleF9tZXRyaWth X2NhbGxiYWNrcyIpO1c9WyJsaW5rIiwiY2xpY2siLCJzY3JvbGwiLCJyZXMiXTtm b3IoSz0wO0s8Vy5sZW5ndGg7SysrKWlmKGhhPVdbS10rIm1hcCIsLTEhPUIuaHJl Zi5zZWFyY2goInltX3BsYXliYWNrPSIraGEpKXt1YShEYSsiLy9tZXRyaWthLnlh bmRleC5ydS9qcy8iK2hhKyIvX2xvYWRlci5qcyIpO2JyZWFrfWUuWWEuTWV0cmlr YS5pbmZvcm1lcj1mdW5jdGlvbihiKXt2YXIgYz0hIVlhLk1ldHJpa2EuX2luZm9y bWVyO1lhLk1ldHJpa2EuX2luZm9ybWVyPWI7Y3x8dWEoRGErIi8vbWMueWFuZGV4 LnJ1L21ldHJpa2EvaW5mb3JtZXIuanMiKX07ImNvbXBsZXRlIj09Yy5yZWFkeVN0 YXRlP0lhKCk6TihlLAoibG9hZCIsSWEpOyhmdW5jdGlvbigpe3ZhciBiPWZ1bmN0 aW9uKCl7dmFyIGI9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGU9 Yy5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtlLnNyYz0iaHR0cDovL2F3YXBzLnlh bmRleC5ydS8wLzIxNTMvMC5odG0/YWQ9MTY1NzQ2JnBsPTkzODI5JnJuZD0iK2th KCk7ZS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwicG9zaXRpb246YWJzb2x1dGU7bGVm dDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbjt2 aXNpYmlsaXR5OmhpZGRlbiIpO2IuYXBwZW5kQ2hpbGQoZSk7TShmdW5jdGlvbigp e2IucmVtb3ZlQ2hpbGQoZSl9LDFFNCl9LGg9ZnVuY3Rpb24oKXtlLnJlbW92ZUV2 ZW50TGlzdGVuZXIoImxvYWQiLGgsITEpO2IoKX0scz1lLnBlcmZvcm1hbmNlO2th KDIwMCl8fFlhLl9tZXRyaWthLmlzQWR8fChZYS5fbWV0cmlrYS5pc0FkPSEwLCJo dHRwOiI9PURhJiYib2JqZWN0Ij09dHlwZW9mIHMmJmUuYWRkRXZlbnRMaXN0ZW5l ciYmCihzLnRpbWluZyYmcy50aW1pbmcubG9hZEV2ZW50U3RhcnQ/YigpOmUuYWRk RXZlbnRMaXN0ZW5lcigibG9hZCIsaCwhMSkpKX0pKCl9KSh0aGlzLHRoaXMuZG9j dW1lbnQpOwo= ------------GGp31ILoEREjsCiTr9WMqj--