Тест на привязанность в отношениях Пройди тест на тип привязанности и узнай, какой у тебя стиль: надёжный, тревожный, избегающий или тревожно-избегающий. Бесплатный тест с подробной расшифровкой результатов и рекомендациями.
Обновлено: 15 мая 2026 г.Научный подход
На проверенных формулах
Точно и быстро
Результат за секунды
Конфиденциально
Данные не покидают браузер
Тест на привязанность в отношениях
Этот тест на тип привязанности поможет вам лучше понять себя в отношениях: как вы реагируете на близость, доверие и конфликты. Результат покажет ваш доминирующий тип привязанности (надёжный, тревожный, избегающий или тревожно-избегающий) и даст практические рекомендации. Тест подходит всем, кто хочет разобраться в своих отношениях — романтических, дружеских или семейных.
Важно: Этот тест не является медицинским или психологическим диагнозом. Результат носит ориентировочный характер и основан на самооценке. Если вы испытываете постоянную тревогу, сильные страхи в отношениях или повторяющиеся болезненные паттерны — обратитесь к практикующему психологу или психотерапевту.
Начать тест
CihmdW5jdGlvbigpewogIHZhciBxdWl6U3RhdGUgPSB7CiAgICBjdXJyZW50UXVlc3Rpb246IDAsCiAgICBhbnN3ZXJzOiBbXSwKICAgIHRvdGFsUXVlc3Rpb25zOiAyMCwKICAgIGFueGlldHlTY29yZTogMCwKICAgIGF2b2lkYW5jZVNjb3JlOiAwLAogICAgZmluYWxpemVkOiBmYWxzZQogIH07CgogIHZhciBxdWVzdGlvbnMgPSBbCiAgICB7CiAgICAgIHRleHQ6ICLQmtC+0LPQtNCwINC/0LDRgNGC0L3RkdGAINGF0L7Rh9C10YIg0L/QvtCz0L7QstC+0YDQuNGC0Ywg0L4g0LLQsNGI0LjRhSDRh9GD0LLRgdGC0LLQsNGFLCDQstGL4oCmIiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCe0YLQutGA0YvRgtC+INC00LXQu9C40YLQtdGB0YwsINC00LDQttC1INC10YHQu9C4INGC0LXQvNCwINC90LUg0YHQsNC80LDRjyDQv9GA0LjRj9GC0L3QsNGPLiDQrdGC0L4g0YHQsdC70LjQttCw0LXRgi4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCd0LXQvNC90L7Qs9C+INC90LDQv9GA0Y/Qs9Cw0LXRgtC10YHRjCwg0L3QviDQstGB0ZEg0YDQsNCy0L3QviDQstC60LvRjtGH0LDQtdGC0LXRgdGMINCyINGA0LDQt9Cz0L7QstC+0YAg4oCUINC+0YLQvdC+0YjQtdC90LjRjyDRgtGA0LXQsdGD0Y7RgiDRg9GB0LjQu9C40LkuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQkdC10YHQv9C+0LrQvtC40YLQtdGB0YwsINGH0YLQviDQv9Cw0YDRgtC90ZHRgNGDINGH0YLQvi3RgtC+INC90LUg0L3RgNCw0LLQuNGC0YHRjyDQsiDQstCw0YEsINC4INGB0YLQsNGA0LDQtdGC0LXRgdGMINC/0YDQtdC00YPQs9Cw0LTQsNGC0Ywg0LXQs9C+INC90LXQtNC+0LLQvtC70YzRgdGC0LLQvi4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQmNC30LHQtdCz0LDQtdGC0LUg0YLQsNC60LjRhSDRgNCw0LfQs9C+0LLQvtGA0L7Qsjog0Y3QvNC+0YbQuNC4INC70YPRh9GI0LUg0LTQtdGA0LbQsNGC0Ywg0L/RgNC4INGB0LXQsdC1LCDRh9GC0L7QsdGLINC90LUg0YHQvtC30LTQsNCy0LDRgtGMINC/0YDQvtCx0LvQtdC8LiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCV0YHQu9C4INCx0LvQuNC30LrQuNC5INGH0LXQu9C+0LLQtdC6INC90LUg0L7RgtCy0LXRh9Cw0LXRgiDQvdCwINGB0L7QvtCx0YnQtdC90LjQtSDQvdC10YHQutC+0LvRjNC60L4g0YfQsNGB0L7Qsiwg0LLQsNGI0LAg0L/QtdGA0LLQsNGPINC80YvRgdC70Yw6IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCX0LDQvdGP0YIg0YDQsNCx0L7RgtC+0Lkg0LjQu9C4INC00LXQu9Cw0LzQuCwg0YHQutC+0YDQviDQvtGC0LLQtdGC0LjRgi4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCd0LXQvNC90L7Qs9C+INC90LXQv9GA0LjRj9GC0L3Qviwg0L3QviDRjyDQvtGC0LLQu9C10LrQsNGO0YHRjCDQvdCwINGB0LLQvtC4INC00LXQu9CwLiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0K8g0YHQtNC10LvQsNC7KNCwKSDRh9GC0L4t0YLQviDQvdC1INGC0LDQuj8g0J3QsNCy0LXRgNC90L7QtSwg0Y8g0LXQs9C+KNC10ZEpINGA0LDRgdGB0YLRgNC+0LjQuyjQsCkuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J3RgyDQuCDQu9Cw0LTQvdC+LCDQvNC90LUg0YLQvtC20LUg0L3QtSDQstGB0LXQs9C00LAg0YXQvtGH0LXRgtGB0Y8g0L7RgtCy0LXRh9Cw0YLRjCDRgdGA0LDQt9GDLiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCa0L7Qs9C00LAg0L/QsNGA0YLQvdGR0YAg0L/RgNC+0YHQuNGCINCy0LDRgSDQviDQv9C+0LzQvtGJ0Lgg0LIg0YLRgNGD0LTQvdGD0Y4g0LzQuNC90YPRgtGDLCDQstGLINC+0LHRi9GH0L3QvjoiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0KEg0LPQvtGC0L7QstC90L7RgdGC0YzRjiDQvtGC0LrQu9C40LrQsNC10YLQtdGB0YwuINCf0L7QtNC00LXRgNC20LrQsCDigJQg0LLQsNC20L3QsNGPINGH0LDRgdGC0Ywg0L7RgtC90L7RiNC10L3QuNC5LiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J/QvtC80L7Qs9Cw0LXRgtC1LCDQvdC+INC40L3QvtCz0LTQsCDRh9GD0LLRgdGC0LLRg9C10YLQtSwg0YfRgtC+INGN0YLQviDQvdC10LzQvdC+0LPQviDQstGL0LzQsNGC0YvQstCw0LXRgi4iLCB0cmFpdDogImxvd19hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J/QvtC80L7Qs9Cw0LXRgtC1LCDQvdC+INCx0L7QuNGC0LXRgdGMLCDRh9GC0L4g0LLQsNGI0LAg0L/QvtC80L7RidGMINC90LXQtNC+0YHRgtCw0YLQvtGH0L3QviDRhdC+0YDQvtGI0LAg0LjQu9C4INC90LUg0L7RhtC10L3QuNGC0YHRjy4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQodGC0LDRgNCw0LXRgtC10YHRjCDRgdC+0YXRgNCw0L3Rj9GC0Ywg0LPRgNCw0L3QuNGG0Ys6INC60LDQttC00YvQuSDQtNC+0LvQttC10L0g0YHQv9GA0LDQstC70Y/RgtGM0YHRjyDRgdC+INGB0LLQvtC40LzQuCDRgtGA0YPQtNC90L7RgdGC0Y/QvNC4INGB0LDQvC4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgIHRleHQ6ICLQmtCw0LrQvtC1INGD0YLQstC10YDQttC00LXQvdC40LUg0LHQu9C40LbQtSDQstGB0LXQs9C+INC6INCy0LDRiNC10LzRgyDQvtGC0L3QvtGI0LXQvdC40Y4g0Log0L7QtNC40L3QvtGH0LXRgdGC0LLRgz8iLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0J7QtNC40L3QvtGH0LXRgdGC0LLQviDigJQg0YXQvtGA0L7RiNCw0Y8g0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQstC+0YHRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNC70YssINC90L4g0Y8g0YHQutGD0YfQsNGOINC/0L4g0LHQu9C40LfQutC40LwuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQnNC90LUg0L3QvtGA0LzQsNC70YzQvdC+INC+0LTQvdC+0LzRgy/QvtC00L3QvtC5LCDQuNC90L7Qs9C00LAg0LTQsNC20LUg0YHQu9C40YjQutC+0Lwg0YXQvtGA0L7RiNC+LiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J7QtNC40L3QvtGH0LXRgdGC0LLQviDRh9Cw0YHRgtC+INCy0YvQt9GL0LLQsNC10YIg0YLRgNC10LLQvtCz0YMg0Lgg0LzRi9GB0LvQuCwg0YfRgtC+INGPINC90LjQutC+0LzRgyDQvdC1INC90YPQttC10L0o0L3QsCkuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0K8g0YbQtdC90Y4g0LvQuNGH0L3QvtC1INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviwg0L3QviDQt9C90LDRjiwg0YfRgtC+INC/0YDQuCDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDQsdC70LjQt9C60LjQtSDQv9GA0LjQtNGD0YIg0L3QsCDQv9C+0LzQvtGJ0YwuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0JIg0LrQvtC90YTQu9C40LrRgtC90L7QuSDRgdC40YLRg9Cw0YbQuNC4INCy0Ysg0YHQutC+0YDQtdC1OiIsCiAgICAgIG9wdGlvbnM6IFsKICAgICAgICB7IHRleHQ6ICLQodC/0L7QutC+0LnQvdC+INC+0LHRgdGD0LbQtNCw0LXRgtC1INC/0YDQvtCx0LvQtdC80YMsINC40YnQtdGC0LUg0LrQvtC80L/RgNC+0LzQuNGB0YEuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQodGC0LDRgNCw0LXRgtC10YHRjCDRgdCz0LvQsNC00LjRgtGMINGD0LPQu9GLLCDRh9GC0L7QsdGLINC40LfQsdC10LbQsNGC0Ywg0YHRgdC+0YDRiywg0LTQsNC20LUg0LXRgdC70Lgg0LLQvdGD0YLRgNC4INCx0YPRgNGPLiIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCX0LDQvNGL0LrQsNC10YLQtdGB0Ywg0Lgg0YPRhdC+0LTQuNGC0LUg0LIg0YHQtdCx0Y86INC30LDRh9C10Lwg0LvQuNGI0L3QuNC5INGA0LDQtyDQstGL0Y/RgdC90Y/RgtGMINC+0YLQvdC+0YjQtdC90LjRjy4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9LAogICAgICAgIHsgdGV4dDogItCc0L7QttC10YLQtSDQstGB0L/Ri9C70LjRgtGMLCDQvdC+INCx0YvRgdGC0YDQviDQvtGB0YLRi9Cy0LDQtdGC0LUg0Lgg0LzQuNGA0LjRgtC10YHRjC4iLCB0cmFpdDogImxvd19hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCa0L7Qs9C00LAg0L/QsNGA0YLQvdGR0YAg0LPQvtCy0L7RgNC40YIg0L4g0LHRg9C00YPRidC10LwgKNGB0L7QstC80LXRgdGC0L3Ri9C5INC+0YLQv9GD0YHQuiwg0L/QtdGA0LXQtdC30LQpLCDQstGLOiIsCiAgICAgIG9wdGlvbnM6IFsKICAgICAgICB7IHRleHQ6ICLQktC00L7RhdC90L7QstC70Y/QtdGC0LXRgdGMINC4INGBINGD0LTQvtCy0L7Qu9GM0YHRgtCy0LjQtdC8INGB0YLRgNC+0LjRgtC1INC/0LvQsNC90YsuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQo9GH0LDRgdGC0LLRg9C10YLQtSDQsiDQvtCx0YHRg9C20LTQtdC90LjQuCwg0L3QviDQuNC30LHQtdCz0LDQtdGC0LUg0YHQu9C40YjQutC+0Lwg0LTQsNC70ZHQutC40YUg0L7QsdGP0LfQsNGC0LXQu9GM0YHRgtCyLiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0JLQvdGD0YLRgNC10L3QvdC1INC/0LDQvdC40LrRg9C10YLQtTog0LLQtNGA0YPQsyDRjyDRh9GC0L4t0YLQviDQuNGB0L/QvtGA0YfRgyDQuNC70Lgg0L7QvSjQsCkg0L/QtdGA0LXQtNGD0LzQsNC10YIuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J7RgtGI0YPRh9C40LLQsNC10YLQtdGB0YwsINGH0YLQvtCx0Ysg0L3QtSDRhNC40LrRgdC40YDQvtCy0LDRgtGM0YHRjyDQvdCwINGC0L7QvCwg0YfRgtC+INC80L7QttC10YIg0LjQt9C80LXQvdC40YLRjNGB0Y8uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0JXRgdC70Lgg0L/QsNGA0YLQvdGR0YAg0L/RgNC+0LLQvtC00LjRgiDQstC10YfQtdGAINC+0YLQtNC10LvRjNC90L4g0YEg0LTRgNGD0LfRjNGP0LzQuCwg0LLRiyDRh9GD0LLRgdGC0LLRg9C10YLQtToiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0KHQv9C+0LrQvtC50YHRgtCy0LjQtTog0YMg0LrQsNC20LTQvtCz0L4g0LTQvtC70LbQvdC+INCx0YvRgtGMINGB0LLQvtGRINC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQvi4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCb0ZHQs9C60YPRjiDRgNC10LLQvdC+0YHRgtGMINC40LvQuCDQvtCx0LjQtNGDLCDQvdC+INC90LUg0L/QvtC60LDQt9GL0LLQsNC10YLQtSDQstC40LTRgy4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQntCx0LvQtdCz0YfQtdC90LjQtTog0LzQvdC1INGC0L7QttC1INC90YPQttC90L4g0LLRgNC10LzRjyDQtNC70Y8g0YHQtdCx0Y8uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfSwKICAgICAgICB7IHRleHQ6ICLQotGA0LXQstC+0LPRgywg0YfRgtC+INC+0L0o0LApINC80L7QttC10YIg0LLRgdGC0YDQtdGC0LjRgtGMINC60L7Qs9C+LdGC0L4g0LjQvdGC0LXRgNC10YHQvdC10LUuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCd0LDRgdC60L7Qu9GM0LrQviDQstCw0Lwg0LrQvtC80YTQvtGA0YLQvdC+INC/0YDQvtGB0LjRgtGMINC+INC/0L7QtNC00LXRgNC20LrQtSwg0LrQvtCz0LTQsCDQstCw0Lwg0L/Qu9C+0YXQvj8iLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0JvQtdCz0LrQviDQvtCx0YDQsNGJ0LDRjtGB0Ywg0Log0LHQu9C40LfQutC40Lwg4oCUINGN0YLQviDQvdC+0YDQvNCw0LvRjNC90L4uIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQntCx0YDQsNGJ0LDRjtGB0YwsINC90L4g0YEg0LzRi9GB0LvRjNGOLCDRh9GC0L4g0LzQvtCz0YMg0LHRi9GC0Ywg0L7QsdGD0LfQvtC5LiIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCf0YDQtdC00L/QvtGH0LjRgtCw0Y4g0YHQv9GA0LDQstC70Y/RgtGM0YHRjyDRgdCw0Lwo0LApLCDRh9GC0L7QsdGLINC90LUg0L3QsNCz0YDRg9C20LDRgtGMINC00YDRg9Cz0LjRhS4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9LAogICAgICAgIHsgdGV4dDogItCh0LrQvtGA0LXQtSDQvdC1INC/0YDQvtGI0YMsINC80L3QtSDRgdC70L7QttC90L4g0LTQvtCy0LXRgNC40YLRjNGB0Y8uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0JrQvtCz0LTQsCDQvtGC0L3QvtGI0LXQvdC40Y8g0YHRgtCw0L3QvtCy0Y/RgtGB0Y8g0YHQu9C40YjQutC+0Lwg0LHQu9C40LfQutC40LzQuCwg0LLRizoiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0KfRg9Cy0YHRgtCy0YPQtdGC0LUg0YLQtdC/0LvQviDQuCDQsdC10LfQvtC/0LDRgdC90L7RgdGC0YwuIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQntC00L3QvtCy0YDQtdC80LXQvdC90L4g0Lgg0YXQvtGC0LjRgtC1INCx0LvQuNC30L7RgdGC0LgsINC4INCx0L7QuNGC0LXRgdGMINCx0YvRgtGMINC+0YLQstC10YDQs9C90YPRgtGL0Lwo0L7QuSkuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J3QsNGH0LjQvdCw0LXRgtC1INC40YHQv9GL0YLRi9Cy0LDRgtGMINC00LjRgdC60L7QvNGE0L7RgNGCLCDQttC10LvQsNC90LjQtSDQvdC10LzQvdC+0LPQviDQvtGC0YHRgtGA0LDQvdC40YLRjNGB0Y8uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfSwKICAgICAgICB7IHRleHQ6ICLQodGC0LDRgNCw0LXRgtC10YHRjCDRgdC+0YXRgNCw0L3Rj9GC0Ywg0LHQsNC70LDQvdGBLCDQvdC+INGN0YLQviDQvdC10L/RgNC+0YHRgtC+LiIsIHRyYWl0OiAibG93X2F2b2lkYW5jZSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0JLQsNGIINC/0LDRgNGC0L3RkdGAINCy0YvRgNCw0LbQsNC10YIg0L3QtdC00L7QstC+0LvRjNGB0YLQstC+INC/0L4g0LzQtdC70L7Rh9C4LiDQmtCw0Log0YDQtdCw0LPQuNGA0YPQtdGC0LU/IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCS0YvRgdC70YPRiNC40LLQsNGOINC4INGB0L/QvtC60L7QudC90L4g0L7QsdGB0YPQttC00LDRjiwg0YfRgtC+INC80L7QttC90L4g0LjQt9C80LXQvdC40YLRjC4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCn0YPQstGB0YLQstGD0Y4g0YHQtdCx0Y8g0YPRj9C30LLQu9GR0L3QvdGL0Lwo0L7QuSksINCy0L7RgdC/0YDQuNC90LjQvNCw0Y4g0LrQsNC6INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNC1INGB0LLQvtC10LkgwqvQvdC10LTQvtGB0YLQsNGC0L7Rh9C90L7RgdGC0LjCuy4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQoNCw0LfQtNGA0LDQttCw0Y7RgdGMINC4INC00LjRgdGC0LDQvdGG0LjRgNGD0Y7RgdGMOiDQt9Cw0YfQtdC8INC/0YDQuNC00LjRgNCw0YLRjNGB0Y8g0Log0LXRgNGD0L3QtNC1LiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J7RgtGI0YPRh9C40LLQsNGO0YHRjCDQsiDQvtGC0LLQtdGCLCDRh9GC0L7QsdGLINGA0LDQt9GA0Y/QtNC40YLRjCDQvtCx0YHRgtCw0L3QvtCy0LrRgy4iLCB0cmFpdDogImxvd19hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCSINC90L7QstGL0YUg0L7RgtC90L7RiNC10L3QuNGP0YUg0LLRiyDQvtCx0YvRh9C90L46IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCf0L7RgdGC0LXQv9C10L3QvdC+INGB0LHQu9C40LbQsNC10YLQtdGB0YwsINC+0YHRgtCw0LLQsNGP0YHRjCDQvtGC0LrRgNGL0YLRi9C8KNC+0LkpLiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0JHRi9GB0YLRgNC+INC/0YDQuNCy0Y/Qt9GL0LLQsNC10YLQtdGB0Ywg0Lgg0LHQvtC40YLQtdGB0YwsINGH0YLQviDRh9C10LvQvtCy0LXQuiDQuNGB0YfQtdC30L3QtdGCLiIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCU0LXRgNC20LjRgtC1INC00LjRgdGC0LDQvdGG0LjRjiwg0L/QvtC60LAg0L3QtSDRg9Cx0LXQtNC40YLQtdGB0YwsINGH0YLQviDQstCw0Lwg0L3QtSDQv9GA0LjRh9C40L3Rj9GCINCx0L7Qu9GMLiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0KHQvdCw0YfQsNC70LAg0YHQuNC70YzQvdC+INCy0L7QstC70LXQutCw0LXRgtC10YHRjCwg0L/QvtGC0L7QvCDRgNC10LfQutC+INC+0YXQu9Cw0LTQtdCy0LDQtdGC0LUsINC60L7Qs9C00LAg0YHRgtCw0L3QvtCy0LjRgtGB0Y8gwqvRgdC70LjRiNC60L7QvMK7LiIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgIHRleHQ6ICLQn9GA0LXQtNGB0YLQsNCy0YzRgtC1LCDRh9GC0L4g0LHQu9C40LfQutC40Lkg0YfQtdC70L7QstC10Log0LfQsNCx0YvQuyDQviDQstCw0YjQtdC5INCy0LDQttC90L7QuSDQtNCw0YLQtS4g0JLQsNGI0Lgg0LTQtdC50YHRgtCy0LjRjzoiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0J3QsNC/0L7QvNC90Y4g0Lgg0L7QsdGB0YPQttGDLCDRh9GC0L4g0LTQu9GPINC80LXQvdGPINGN0YLQviDQt9C90LDRh9C40LvQvi4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCh0LjQu9GM0L3QviDRgNCw0YHRgdGC0YDQvtGO0YHRjCwg0LHRg9C00YMg0L/RgNC+0LrRgNGD0YfQuNCy0LDRgtGMINC80YvRgdC70LgsINGH0YLQviDRjyDQvdC1INCy0LDQttC10L0o0L3QsCkuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0KHQtNC10LvQsNGOINCy0LjQtCwg0YfRgtC+INC90LjRh9C10LPQviDQvdC1INC30LDQvNC10YLQuNC7KNCwKS4g0J/QvtC00YPQvNCw0LXRiNGMLCDQtNCw0YLQsC4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9LAogICAgICAgIHsgdGV4dDogItCX0LDQvNC+0LvRh9GDINC4INC00LjRgdGC0LDQvdGG0LjRgNGD0Y7RgdGMINC90LAg0L3QtdGB0LrQvtC70YzQutC+INC00L3QtdC5LiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCa0L7Qs9C00LAg0L/QsNGA0YLQvdGR0YAg0LPQvtCy0L7RgNC40YIg0LLQsNC8INC60L7QvNC/0LvQuNC80LXQvdGC0YssINCy0Ys6IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCg0LDQtNGD0Y7RgdGMINC4INCx0LvQsNCz0L7QtNCw0YDRji4g0K3RgtC+INC/0YDQuNGP0YLQvdC+LiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0KHQvNGD0YnQsNGO0YHRjCDQuCDQuNGJ0YMg0L/QvtC00LLQvtGFOiDQvdCw0LLQtdGA0L3QvtC1LCDRh9GC0L4t0YLQviDQvdGD0LbQvdC+LiIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCf0YDQuNC90LjQvNCw0Y4g0YHQv9C+0LrQvtC50L3Qviwg0L3QviDRgdGC0LDRgNCw0Y7RgdGMINC90LUg0YHQu9C40YjQutC+0Lwg0L7QsdC+0LvRjNGJ0LDRgtGM0YHRjy4iLCB0cmFpdDogImxvd19hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J7RgtC80LDRhdC40LLQsNGO0YHRjCwg0L/QvtGC0L7QvNGDINGH0YLQviDQvdC1INC70Y7QsdC70Y4g0YfRgNC10LfQvNC10YDQvdC+0LUg0LLQvdC40LzQsNC90LjQtS4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgIHRleHQ6ICLQp9GC0L4g0LTQu9GPINCy0LDRgSDQstCw0LbQvdC10LUg0LIg0L7RgtC90L7RiNC10L3QuNGP0YU/IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCR0LDQu9Cw0L3RgSDQvNC10LbQtNGDINCx0LvQuNC30L7RgdGC0YzRjiDQuCDRgdCy0L7QsdC+0LTQvtC5LiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J/QvtGB0YLQvtGP0L3QvdC+0LUg0L/QvtC00YLQstC10YDQttC00LXQvdC40LUg0LvRjtCx0LLQuCDQuCDQvdCw0LTRkdC20L3QvtGB0YLQuC4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQndC10LfQsNCy0LjRgdC40LzQvtGB0YLRjCDQuCDQu9C40YfQvdC+0LUg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+LiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J/RgNC10LTRgdC60LDQt9GD0LXQvNC+0YHRgtGMINC4INC+0YLRgdGD0YLRgdGC0LLQuNC1INC00YDQsNC80YsuIiwgdHJhaXQ6ICJsb3dfYXZvaWRhbmNlIiB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgIHRleHQ6ICLQldGB0LvQuCDQv9Cw0YDRgtC90ZHRgCDQstC90LXQt9Cw0L/QvdC+INC/0YDQtdC00LvQsNCz0LDQtdGCINGA0LDRgdGB0YLQsNGC0YzRgdGPLCDQstCw0YjQsCDQv9C10YDQstCw0Y8g0LzRi9GB0LvRjDoiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0JzQvdC1INCx0YPQtNC10YIg0LHQvtC70YzQvdC+LCDQvdC+INGPINGB0L/RgNCw0LLQu9GO0YHRjCDQuCDQv9C+0LnQvNGDINC/0YDQuNGH0LjQvdGLLiIsIHRyYWl0OiAibG93X2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0JzQuNGAINGA0YPRhdC90YPQuy4g0K8g0L3QuNC60YfRkdC80L3Ri9C5KNCw0Y8pLiDQmtCw0Log0LbQuNGC0Ywg0LTQsNC70YzRiNC1PyIsIHRyYWl0OiAiaGlnaF9hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCvINGC0LDQuiDQuCDQt9C90LDQuyjQsCkuINCb0YPRh9GI0LUg0YPQudGC0Lgg0L/QtdGA0LLRi9C8KNC+0LkpINC80YvRgdC70LXQvdC90L4uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfSwKICAgICAgICB7IHRleHQ6ICLQodC/0L7QutC+0LnQvdC+OiDQt9C90LDRh9C40YIsINGC0LDQuiDQu9GD0YfRiNC1LiDQryDQsdGL0YHRgtGA0L4g0LLQvtGB0YHRgtCw0L3QvtCy0LvRjtGB0YwuIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0JrQsNC6INGH0LDRgdGC0L4g0LLRiyDQv9GA0L7QstC10YDRj9C10YLQtSDRgtC10LvQtdGE0L7QvSDQv9Cw0YDRgtC90ZHRgNCwINC40LvQuCDQtdCz0L4g0YHQvtGG0YHQtdGC0Lg/IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCd0LUg0L/RgNC+0LLQtdGA0Y/Rjiwg0LTQvtCy0LXRgNGP0Y4uIiwgdHJhaXQ6ICJsb3dfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQmNC90L7Qs9C00LAg0LfQsNCz0LvRj9C00YvQstCw0Y4sINC10YHQu9C4INC10YHRgtGMINGB0L7QvNC90LXQvdC40Y8uIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J3QtSDRgdC80L7RgtGA0Y4g0L/RgNC40L3RhtC40L/QuNCw0LvRjNC90L4sINGH0YLQvtCx0Ysg0L3QtSDRgNCw0LfQvtGH0LDRgNC+0LLRi9Cy0LDRgtGM0YHRjy4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9LAogICAgICAgIHsgdGV4dDogItCf0L7RgdGC0L7Rj9C90L3QviDQvNC+0L3QuNGC0L7RgNGOLCDRh9GC0L7QsdGLINGD0YHQv9C+0LrQvtC40YLRjCDRgtGA0LXQstC+0LPRgy4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfQogICAgICBdCiAgICB9LAogICAgewogICAgICB0ZXh0OiAi0KfRgtC+INCy0Ysg0YfRg9Cy0YHRgtCy0YPQtdGC0LUsINC60L7Qs9C00LAg0L/QsNGA0YLQvdGR0YAg0L/RgNC+0YHQuNGCINCx0L7Qu9GM0YjQtSDQstGA0LXQvNC10L3QuCDQtNC70Y8g0YHQtdCx0Y8/IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCf0L7QvdC40LzQsNC90LjQtTog0LLRgdC10Lwg0L3Rg9C20L3QviDQu9C40YfQvdC+0LUg0LLRgNC10LzRjy4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCh0YLRgNCw0YUsINGH0YLQviDQvtC9KNCwKSDQvtGC0LTQsNC70Y/QtdGC0YHRjyDQuCDRgdC60L7RgNC+INGD0LnQtNGR0YIuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0J7QsdC70LXQs9GH0LXQvdC40LU6INGPINC4INGB0LDQvCjQsCkg0YXQvtGC0LXQuyjQsCkg0Y3RgtC+0LPQvi4iLCB0cmFpdDogImhpZ2hfYXZvaWRhbmNlIiB9LAogICAgICAgIHsgdGV4dDogItCb0ZHQs9C60YPRjiDQvtCx0LjQtNGDLCDQvdC+INC90LUg0LPQvtCy0L7RgNGOINC+0LEg0Y3RgtC+0LwuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCa0L7Qs9C00LAg0LLRiyDQtNC10LvQuNGC0LXRgdGMINC70LjRh9C90YvQvCDQv9C10YDQtdC20LjQstCw0L3QuNC10LwsINCwINC/0LDRgNGC0L3RkdGAINGA0LXQsNCz0LjRgNGD0LXRgiDRhdC+0LvQvtC00L3Qviwg0LLRizoiLAogICAgICBvcHRpb25zOiBbCiAgICAgICAgeyB0ZXh0OiAi0J/QvtC90LjQvNCw0Y4sINGH0YLQviDQvtC9KNCwKSDQvNC+0LMo0LvQsCkg0LHRi9GC0Ywg0LfQsNC90Y/RgijQsCksINC/0L7Qv9GA0L7QsdGD0Y4g0L/QvtC30LbQtS4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCn0YPQstGB0YLQstGD0Y4g0YHQtdCx0Y8g0L7RgtCy0LXRgNCz0L3Rg9GC0YvQvCjQvtC5KSDQuCDQt9Cw0LzRi9C60LDRjtGB0YwuIiwgdHJhaXQ6ICJoaWdoX2FueGlldHkiIH0sCiAgICAgICAgeyB0ZXh0OiAi0JTRg9C80LDRjjogwqvQt9GA0Y8g0Y8g0LLQvtC+0LHRidC1INGN0YLQviDRgNCw0YHRgdC60LDQt9Cw0Lso0LApwrssINC4INCx0L7Qu9GM0YjQtSDQvdC1INC/0L7QstGC0L7RgNGP0Y4uIiwgdHJhaXQ6ICJoaWdoX2F2b2lkYW5jZSIgfSwKICAgICAgICB7IHRleHQ6ICLQl9C70Y7RgdGMLCDQvdC+INC/0L7RgtC+0Lwg0LDQvdCw0LvQuNC30LjRgNGD0Y4g0YHQuNGC0YPQsNGG0LjRji4iLCB0cmFpdDogImxvd19hdm9pZGFuY2UiIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgdGV4dDogItCS0LDRiNC1INC+0YLQvdC+0YjQtdC90LjQtSDQuiDQtNC70LjRgtC10LvRjNC90YvQvCDQvtCx0Y/Qt9Cw0YLQtdC70YzRgdGC0LLQsNC8ICjQsdGA0LDQuiwg0LjQv9C+0YLQtdC60LAsINGB0L7QstC80LXRgdGC0L3Ri9C5INCx0LjQt9C90LXRgSk6IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCf0L7Qt9C40YLQuNCy0L3QvtC1LCDQtdGB0LvQuCDQvtGC0L3QvtGI0LXQvdC40Y8g0L3QsNC00ZHQttC90YvQtS4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCe0YfQtdC90Ywg0YLRgNC10LLQvtC20L3QvtC1OiDRgdGC0YDQsNGI0L3Qviwg0YfRgtC+INCy0YHRkSDRgNCw0LfRgNGD0YjQuNGC0YHRjy4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQndCw0YHRgtC+0YDQvtC20LXQvdC90L7QtTog0L7QsdGP0LfQsNGC0LXQu9GM0YHRgtCy0LAg0L7Qs9GA0LDQvdC40YfQuNCy0LDRjtGCINGB0LLQvtCx0L7QtNGDLiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0KLRgNC10LHRg9C10YIg0LLRgNC10LzQtdC90LgsINGH0YLQvtCx0Ysg0YDQtdGI0LjRgtGM0YHRjywg0L3QviDQsiDRhtC10LvQvtC8INCy0L7Qt9C80L7QttC90L4uIiwgdHJhaXQ6ICJsb3dfYXZvaWRhbmNlIiB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgIHRleHQ6ICLQn9C+0YHQu9C1INGB0YHQvtGA0Ysg0LLRiyDQvtCx0YvRh9C90L46IiwKICAgICAgb3B0aW9uczogWwogICAgICAgIHsgdGV4dDogItCY0YnQtdGC0LUg0YHQv9C+0YHQvtCxINC/0L7QvNC40YDQuNGC0YzRgdGPINC4INC+0LHRgdGD0LTQuNGC0Ywg0YHQu9GD0YfQuNCy0YjQtdC10YHRjy4iLCB0cmFpdDogImxvd19hbnhpZXR5IiB9LAogICAgICAgIHsgdGV4dDogItCU0L7Qu9Cz0L4g0L/QtdGA0LXQttC40LLQsNC10YLQtSwg0LTQsNC20LUg0LXRgdC70Lgg0LLQvdC10YjQvdC1INC60L7QvdGE0LvQuNC60YIg0LjRgdGH0LXRgNC/0LDQvS4iLCB0cmFpdDogImhpZ2hfYW54aWV0eSIgfSwKICAgICAgICB7IHRleHQ6ICLQlNC10LvQsNC10YLQtSDQstC40LQsINGH0YLQviDQvdC40YfQtdCz0L4g0L3QtSDQsdGL0LvQviwg0Lgg0LjQt9Cx0LXQs9Cw0LXRgtC1INGC0LXQvNGLLiIsIHRyYWl0OiAiaGlnaF9hdm9pZGFuY2UiIH0sCiAgICAgICAgeyB0ZXh0OiAi0JzQvtC20LXRgtC1INC/0LXRgNCy0YvQvCjQvtC5KSDQv9C+0LnRgtC4INC90LAg0LrQvtC90YLQsNC60YIsINC90L4g0YHQvtGF0YDQsNC90Y/QtdGC0LUg0LTQuNGB0YLQsNC90YbQuNGOLiIsIHRyYWl0OiAibG93X2F2b2lkYW5jZSIgfQogICAgICBdCiAgICB9CiAgXTsKCiAgdmFyIGRvbSA9IHsKICAgIHN0YXJ0QmxvY2s6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdWl6U3RhcnQnKSwKICAgIHF1ZXN0aW9uc0Jsb2NrOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncXVpelF1ZXN0aW9ucycpLAogICAgcHJvZ3Jlc3M6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdWl6UHJvZ3Jlc3MnKSwKICAgIHByb2dyZXNzRmlsbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dyZXNzRmlsbCcpLAogICAgcXVlc3Rpb25UZXh0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncXVlc3Rpb25UZXh0JyksCiAgICBvcHRpb25zQ29udGFpbmVyOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3B0aW9uc0NvbnRhaW5lcicpLAogICAgYnRuTmV4dDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bk5leHQnKSwKICAgIGJ0blN0YXJ0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnRuU3RhcnRRdWl6JyksCiAgICByZXN1bHRCbG9jazogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3F1aXpSZXN1bHQnKSwKICAgIHJlc3VsdENhcmQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRDYXJkJyksCiAgICBidG5SZXNldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0blJlc2V0JyksCiAgICBhcnRpY2xlQmxvY2s6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdWl6QXJ0aWNsZScpCiAgfTsKCiAgZnVuY3Rpb24gdXBkYXRlUHJvZ3Jlc3MoKSB7CiAgICB2YXIgY3VycmVudCA9IHF1aXpTdGF0ZS5jdXJyZW50UXVlc3Rpb24gKyAxOwogICAgdmFyIHRvdGFsID0gcXVpelN0YXRlLnRvdGFsUXVlc3Rpb25zOwogICAgdmFyIHBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKChjdXJyZW50IC8gdG90YWwpICogMTAwKTsKICAgIGRvbS5wcm9ncmVzcy5pbm5lckhUTUwgPSAn0JLQvtC/0YDQvtGBIDxzcGFuPicgKyBjdXJyZW50ICsgJzxcL3NwYW4+INC40LcgPHNwYW4+JyArIHRvdGFsICsgJzxcL3NwYW4+JzsKICAgIGlmIChkb20ucHJvZ3Jlc3NGaWxsKSB7CiAgICAgIGRvbS5wcm9ncmVzc0ZpbGwuc3R5bGUud2lkdGggPSBwZXJjZW50YWdlICsgJyUnOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcmVuZGVyUXVlc3Rpb24oKSB7CiAgICB2YXIgcSA9IHF1ZXN0aW9uc1txdWl6U3RhdGUuY3VycmVudFF1ZXN0aW9uXTsKICAgIGRvbS5xdWVzdGlvblRleHQudGV4dENvbnRlbnQgPSBxLnRleHQ7CiAgICBkb20ub3B0aW9uc0NvbnRhaW5lci5pbm5lckhUTUwgPSAnJzsKICAgIGRvbS5idG5OZXh0LmRpc2FibGVkID0gdHJ1ZTsKCiAgICBxLm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbihvcHQsIGlkeCkgewogICAgICB2YXIgb3B0RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIG9wdERpdi5jbGFzc05hbWUgPSAnbm4tZ2VuLXF1aXotb3B0aW9uJzsKICAgICAgb3B0RGl2LnRleHRDb250ZW50ID0gb3B0LnRleHQ7CiAgICAgIG9wdERpdi5zZXRBdHRyaWJ1dGUoJ2RhdGEtaW5kZXgnLCBpZHgpOwogICAgICBvcHREaXYuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgYWxsT3B0aW9ucyA9IGRvbS5vcHRpb25zQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5ubi1nZW4tcXVpei1vcHRpb24nKTsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFsbE9wdGlvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGFsbE9wdGlvbnNbaV0uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKTsKICAgICAgICB9CiAgICAgICAgb3B0RGl2LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7CiAgICAgICAgZG9tLmJ0bk5leHQuZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgICBxdWl6U3RhdGUuYW5zd2Vyc1txdWl6U3RhdGUuY3VycmVudFF1ZXN0aW9uXSA9IHsKICAgICAgICAgIHNlbGVjdGVkSW5kZXg6IGlkeCwKICAgICAgICAgIHRyYWl0OiBvcHQudHJhaXQKICAgICAgICB9OwogICAgICB9KTsKICAgICAgZG9tLm9wdGlvbnNDb250YWluZXIuYXBwZW5kQ2hpbGQob3B0RGl2KTsKICAgIH0pOwoKICAgIGlmIChxdWl6U3RhdGUuYW5zd2Vyc1txdWl6U3RhdGUuY3VycmVudFF1ZXN0aW9uXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgIHZhciBzYXZlZElkeCA9IHF1aXpTdGF0ZS5hbnN3ZXJzW3F1aXpTdGF0ZS5jdXJyZW50UXVlc3Rpb25dLnNlbGVjdGVkSW5kZXg7CiAgICAgIHZhciBzYXZlZE9wdCA9IGRvbS5vcHRpb25zQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWluZGV4PSInICsgc2F2ZWRJZHggKyAnIl0nKTsKICAgICAgaWYgKHNhdmVkT3B0KSB7CiAgICAgICAgc2F2ZWRPcHQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTsKICAgICAgICBkb20uYnRuTmV4dC5kaXNhYmxlZCA9IGZhbHNlOwogICAgICB9CiAgICB9CiAgfQoKICBmdW5jdGlvbiBjYWxjdWxhdGVTY29yZXMoKSB7CiAgICB2YXIgYW54aWV0eSA9IDA7CiAgICB2YXIgYXZvaWRhbmNlID0gMDsKICAgIHZhciBhbnhpZXR5Q291bnQgPSAwOwogICAgdmFyIGF2b2lkYW5jZUNvdW50ID0gMDsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1aXpTdGF0ZS50b3RhbFF1ZXN0aW9uczsgaSsrKSB7CiAgICAgIHZhciBhbnMgPSBxdWl6U3RhdGUuYW5zd2Vyc1tpXTsKICAgICAgaWYgKCFhbnMpIGNvbnRpbnVlOwogICAgICBpZiAoYW5zLnRyYWl0ID09PSAnaGlnaF9hbnhpZXR5JykgewogICAgICAgIGFueGlldHkgKz0gMjsKICAgICAgICBhbnhpZXR5Q291bnQrKzsKICAgICAgfSBlbHNlIGlmIChhbnMudHJhaXQgPT09ICdsb3dfYW54aWV0eScpIHsKICAgICAgICBhbnhpZXR5ICs9IDA7CiAgICAgICAgYW54aWV0eUNvdW50Kys7CiAgICAgIH0gZWxzZSBpZiAoYW5zLnRyYWl0ID09PSAnaGlnaF9hdm9pZGFuY2UnKSB7CiAgICAgICAgYXZvaWRhbmNlICs9IDI7CiAgICAgICAgYXZvaWRhbmNlQ291bnQrKzsKICAgICAgfSBlbHNlIGlmIChhbnMudHJhaXQgPT09ICdsb3dfYXZvaWRhbmNlJykgewogICAgICAgIGF2b2lkYW5jZSArPSAwOwogICAgICAgIGF2b2lkYW5jZUNvdW50Kys7CiAgICAgIH0KICAgIH0KCiAgICB2YXIgbWF4QW54aWV0eVNjb3JlID0gYW54aWV0eUNvdW50ICogMjsKICAgIHZhciBtYXhBdm9pZGFuY2VTY29yZSA9IGF2b2lkYW5jZUNvdW50ICogMjsKICAgIHZhciBhbnhpZXR5Tm9ybSA9IG1heEFueGlldHlTY29yZSA+IDAgPyBhbnhpZXR5IC8gbWF4QW54aWV0eVNjb3JlIDogMDsKICAgIHZhciBhdm9pZGFuY2VOb3JtID0gbWF4QXZvaWRhbmNlU2NvcmUgPiAwID8gYXZvaWRhbmNlIC8gbWF4QXZvaWRhbmNlU2NvcmUgOiAwOwoKICAgIHF1aXpTdGF0ZS5hbnhpZXR5U2NvcmUgPSBhbnhpZXR5Tm9ybTsKICAgIHF1aXpTdGF0ZS5hdm9pZGFuY2VTY29yZSA9IGF2b2lkYW5jZU5vcm07CgogICAgaWYgKGFueGlldHlOb3JtIDwgMC4zMyAmJiBhdm9pZGFuY2VOb3JtIDwgMC4zMykgewogICAgICByZXR1cm4gJ3NlY3VyZSc7CiAgICB9IGVsc2UgaWYgKGFueGlldHlOb3JtID49IDAuMzMgJiYgYXZvaWRhbmNlTm9ybSA8IDAuMzMpIHsKICAgICAgcmV0dXJuICdhbnhpb3VzJzsKICAgIH0gZWxzZSBpZiAoYW54aWV0eU5vcm0gPCAwLjMzICYmIGF2b2lkYW5jZU5vcm0gPj0gMC4zMykgewogICAgICByZXR1cm4gJ2F2b2lkYW50JzsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAnZmVhcmZ1bC1hdm9pZGFudCc7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBzaG93UmVzdWx0KCkgewogICAgdmFyIHR5cGUgPSBjYWxjdWxhdGVTY29yZXMoKTsKICAgIHZhciByZXN1bHREYXRhID0gZ2V0UmVzdWx0RGF0YSh0eXBlKTsKICAgIGRvbS5yZXN1bHRDYXJkLmlubmVySFRNTCA9IHJlc3VsdERhdGE7CiAgICBkb20uYXJ0aWNsZUJsb2NrLmlubmVySFRNTCA9IGdldEFydGljbGVIVE1MKCk7CiAgICBkb20ucmVzdWx0QmxvY2suc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICBkb20ucXVlc3Rpb25zQmxvY2suc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIGRvbS5zdGFydEJsb2NrLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBkb20uYXJ0aWNsZUJsb2NrLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogIH0KCiAgZnVuY3Rpb24gZ2V0UmVzdWx0RGF0YSh0eXBlKSB7CiAgICB2YXIgdGl0bGUgPSAnJzsKICAgIHZhciBzdW1tYXJ5ID0gJyc7CiAgICB2YXIgaW50ZXJwcmV0YXRpb24gPSAnJzsKICAgIHZhciBzdHJlbmd0aHMgPSAnJzsKICAgIHZhciByaXNrcyA9ICcnOwogICAgdmFyIHJlY29tbWVuZGF0aW9ucyA9ICcnOwogICAgdmFyIHdoYXROZXh0ID0gJyc7CgogICAgaWYgKHR5cGUgPT09ICdzZWN1cmUnKSB7CiAgICAgIHRpdGxlID0gJ9Cd0LDQtNGR0LbQvdGL0Lkg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4JzsKICAgICAgc3VtbWFyeSA9ICfQktGLINC00LXQvNC+0L3RgdGC0YDQuNGA0YPQtdGC0LUg0LfQtNC+0YDQvtCy0YvQuSDQsdCw0LvQsNC90YEg0LzQtdC20LTRgyDQsdC70LjQt9C+0YHRgtGM0Y4g0Lgg0L3QtdC30LDQstC40YHQuNC80L7RgdGC0YzRji4g0JLQsNC8INC60L7QvNGE0L7RgNGC0L3QviDQsiDQvtGC0L3QvtGI0LXQvdC40Y/RhSwg0LLRiyDRg9C80LXQtdGC0LUg0LTQvtCy0LXRgNGP0YLRjCDQuCDQv9GA0LjQvdC40LzQsNGC0Ywg0L/QvtC00LTQtdGA0LbQutGDLic7CiAgICAgIGludGVycHJldGF0aW9uID0gJzxwPtCb0Y7QtNC4INGBINC90LDQtNGR0LbQvdGL0Lwg0YLQuNC/0L7QvCDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDRh9GD0LLRgdGC0LLRg9GO0YIg0YHQtdCx0Y8g0YPQstC10YDQtdC90L3QviDQutCw0Log0LIg0L7RgtC90L7RiNC10L3QuNGP0YUsINGC0LDQuiDQuCDQvdCw0LXQtNC40L3QtSDRgSDRgdC+0LHQvtC5LiDQktGLINGB0L/QvtGB0L7QsdC90Ysg0L7RgtC60YDRi9GC0L4g0LLRi9GA0LDQttCw0YLRjCDRh9GD0LLRgdGC0LLQsCwg0L3QtSDQsdC+0Y/RgdGMINCx0YvRgtGMINC+0YLQstC10YDQs9C90YPRgtGL0Lwg0LjQu9C4INC/0L7Qs9C70L7RidGR0L3QvdGL0LwuINCS0LDRiNC1INC00LXRgtGB0YLQstC+LCDRgdC60L7RgNC10LUg0LLRgdC10LPQviwg0LHRi9C70L4g0L7RgtC80LXRh9C10L3QviDRh9GD0YLQutC+0YHRgtGM0Y4g0LfQvdCw0YfQuNC80YvRhSDQstC30YDQvtGB0LvRi9GFLCDRh9GC0L4g0YHRhNC+0YDQvNC40YDQvtCy0LDQu9C+INCx0LDQt9C+0LLQvtC1INC00L7QstC10YDQuNC1INC6INC80LjRgNGDLjwvcD48cD7QkiDQv9Cw0YDRgtC90ZHRgNGB0LrQuNGFINC+0YLQvdC+0YjQtdC90LjRj9GFINCy0Ysg0YHQutC70L7QvdC90Ysg0Log0YHQvtGC0YDRg9C00L3QuNGH0LXRgdGC0LLRgyDQuCDQutC+0L3RgdGC0YDRg9C60YLQuNCy0L3QvtC80YMg0YDQsNC30YDQtdGI0LXQvdC40Y4g0LrQvtC90YTQu9C40LrRgtC+0LIuINCS0YvRgdC+0LrQsNGPINGB0LDQvNC+0L7RhtC10L3QutCwINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQvdC1INC40YHQutCw0YLRjCDQv9C+0YHRgtC+0Y/QvdC90L7Qs9C+INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPINC70Y7QsdCy0Lgg0LjQt9Cy0L3QtS4g0JLQsNGIINGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDigJQg0L7RgNC40LXQvdGC0LjRgCDQv9GB0LjRhdC+0LvQvtCz0LjRh9C10YHQutC+0LPQviDQsdC70LDQs9C+0L/QvtC70YPRh9C40Y8uPC9wPic7CiAgICAgIHN0cmVuZ3RocyA9ICc8c3Ryb25nPtCh0LjQu9GM0L3Ri9C1INGB0YLQvtGA0L7QvdGLOjwvc3Ryb25nPiDRg9C80LXQvdC40LUg0LLRi9GB0YLRgNCw0LjQstCw0YLRjCDRgtGR0L/Qu9GL0LUg0YHQstGP0LfQuCwg0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdCw0Y8g0YPRgdGC0L7QudGH0LjQstC+0YHRgtGMLCDRgdC/0L7RgdC+0LHQvdC+0YHRgtGMINC/0YDQvtGB0LjRgtGMINC+INC/0L7QvNC+0YnQuCDQuCDQv9GA0LXQtNC70LDQs9Cw0YLRjCDQtdGRLCDQsNC00LXQutCy0LDRgtC90LDRjyDRgdCw0LzQvtC+0YbQtdC90LrQsCwg0LTQvtCy0LXRgNC40LUg0Log0LvRjtC00Y/QvC4nOwogICAgICByaXNrcyA9ICc8c3Ryb25nPtCS0L7Qt9C80L7QttC90YvQtSDRgNC40YHQutC4Ojwvc3Ryb25nPiDQuNC90L7Qs9C00LAg0LLRiyDQvNC+0LbQtdGC0LUg0L3QtdC00L7QvtGG0LXQvdC40LLQsNGC0Ywg0L/RgNC+0LHQu9C10LzRiyDQv9Cw0YDRgtC90ZHRgNCwINGBINCx0L7Qu9C10LUg0YPRj9C30LLQuNC80YvQvCDRgtC40L/QvtC8INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4LCDQvtGI0LjQsdC+0YfQvdC+INGB0YfQuNGC0LDRjywg0YfRgtC+INCy0YHQtSDRgdC/0L7RgdC+0LHQvdGLINC6INGC0LDQutC+0Lkg0LbQtSDRgdCw0LzQvtGA0LXQs9GD0LvRj9GG0LjQuC4nOwogICAgICByZWNvbW1lbmRhdGlvbnMgPSAnPHA+PHN0cm9uZz7Qn9GA0LDQutGC0LjRh9C10YHQutC40LUg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC4Ojwvc3Ryb25nPjwvcD48b2w+PGxpPtCf0YDQvtC00L7Qu9C20LDQudGC0LUg0L7RgtC60YDRi9GC0L4g0L7QsdGB0YPQttC00LDRgtGMINGH0YPQstGB0YLQstCwIOKAlCDRjdGC0L4g0YPQutGA0LXQv9C70Y/QtdGCINGB0LLRj9C30YwuPC9saT48bGk+0KPQstCw0LbQsNC50YLQtSDRgNCw0LfQvdC40YbRgyDQsiDRgtC40L/QsNGFINC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC/0LDRgNGC0L3RkdGA0LAsINC90LUg0L7QsdC10YHRhtC10L3QuNCy0LDQudGC0LUg0LXQs9C+INGC0YDQtdCy0L7Qs9C4INC40LvQuCDQv9C+0YLRgNC10LHQvdC+0YHRgtGMINCyINC00LjRgdGC0LDQvdGG0LjQuC48L2xpPjxsaT7QodC+0LfQtNCw0LLQsNC50YLQtSDCq9C+0YHRgtGA0L7QstC60Lgg0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4wrsg0LIg0L7RgtC90L7RiNC10L3QuNGP0YU6INGA0LjRgtGD0LDQu9GLLCDQutC+0YLQvtGA0YvQtSDQtNCw0Y7RgiDRh9GD0LLRgdGC0LLQviDRgdGC0LDQsdC40LvRjNC90L7RgdGC0LguPC9saT48bGk+0J3QtSDQuNC30LHQtdCz0LDQudGC0LUg0YHRgdC+0YAsINCwINC40YHQv9C+0LvRjNC30YPQudGC0LUg0LjRhSDQtNC70Y8g0LvRg9GH0YjQtdCz0L4g0L/QvtC90LjQvNCw0L3QuNGPINC00YDRg9CzINC00YDRg9Cz0LAuPC9saT48bGk+0JjQvdGC0LXRgNC10YHRg9C50YLQtdGB0Ywg0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdGL0Lwg0YHQvtGB0YLQvtGP0L3QuNC10Lwg0L/QsNGA0YLQvdGR0YDQsCwg0LTQsNC20LUg0LXRgdC70Lgg0LLQvdC10YjQvdC1INCy0YHRkSDRgdC/0L7QutC+0LnQvdC+LjwvbGk+PGxpPtCf0L7QvNC90LjRgtC1LCDRh9GC0L4g0LLQsNGIINGB0YLQuNC70Ywg4oCUINGA0LXRgdGD0YDRgSwg0LrQvtGC0L7RgNGL0Lkg0LzQvtC20L3QviDRgdC+0LfQvdCw0YLQtdC70YzQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNC70Y8g0LPQsNGA0LzQvtC90LjQt9Cw0YbQuNC4INC+0YLQvdC+0YjQtdC90LjQuS48L2xpPjxsaT7Qn9GA0Lgg0LTQu9C40YLQtdC70YzQvdC+0Lwg0YHRgtGA0LXRgdGB0LUg0L3QtSDQt9Cw0LHRi9Cy0LDQudGC0LUg0L7QsdGA0LDRidCw0YLRjNGB0Y8g0LfQsCDQv9C+0LTQtNC10YDQttC60L7QuSDigJQg0YHQuNC70YzQvdGL0Lwg0YLQvtC20LUg0L3Rg9C20L3QsCDQvtC/0L7RgNCwLjwvbGk+PC9vbD4nOwogICAgICB3aGF0TmV4dCA9ICc8cD48c3Ryb25nPtCn0YLQviDQtNC10LvQsNGC0Ywg0LTQsNC70YzRiNC1Ojwvc3Ryb25nPiDQo9Cz0LvRg9Cx0LjRgtC1INC/0L7QvdC40LzQsNC90LjQtSDRgtC10L7RgNC40Lgg0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0LgsINGH0YLQvtCx0Ysg0L/QvtC80L7Qs9Cw0YLRjCDQsdC70LjQt9C60LjQvCDRh9GD0LLRgdGC0LLQvtCy0LDRgtGMINGB0LXQsdGPINCyINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC4g0JLQsNGIINGB0YLQsNCx0LjQu9GM0L3Ri9C5INGE0YPQvdC00LDQvNC10L3RgiDigJQg0L7RgtC70LjRh9C90LDRjyDQsdCw0LfQsCDQtNC70Y8g0YDQsNC30LLQuNGC0LjRjyDRjdC80L7RhtC40L7QvdCw0LvRjNC90L7Qs9C+INC40L3RgtC10LvQu9C10LrRgtCwINCyINC/0LDRgNC1LjwvcD4nOwogICAgfSBlbHNlIGlmICh0eXBlID09PSAnYW54aW91cycpIHsKICAgICAgdGl0bGUgPSAn0KLRgNC10LLQvtC20L3Ri9C5INGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCc7CiAgICAgIHN1bW1hcnkgPSAn0JLRi9GB0L7QutCw0Y8g0L/QvtGC0YDQtdCx0L3QvtGB0YLRjCDQsiDQsdC70LjQt9C+0YHRgtC4INC4INC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNC4INC70Y7QsdCy0Lgg0YHQvtGH0LXRgtCw0LXRgtGB0Y8g0YHQviDRgdGC0YDQsNGF0L7QvCDQsdGL0YLRjCDQvtGC0LLQtdGA0LPQvdGD0YLRi9C8LiDQktGLINC+0YHRgtGA0L4g0YfRg9Cy0YHRgtCy0YPQtdGC0LUg0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdGL0LUg0LrQvtC70LXQsdCw0L3QuNGPINC/0LDRgNGC0L3RkdGA0LAuJzsKICAgICAgaW50ZXJwcmV0YXRpb24gPSAnPHA+0KLRgNC10LLQvtC20L3Ri9C5INGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDRh9Cw0YHRgtC+INGE0L7RgNC80LjRgNGD0LXRgtGB0Y8sINC60L7Qs9C00LAg0LIg0LTQtdGC0YHRgtCy0LUg0LfQvdCw0YfQuNC80YvQtSDQstC30YDQvtGB0LvRi9C1INCx0YvQu9C4INC90LXQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90Ys6INGC0L4g0YfRgNC10LfQvNC10YDQvdC+INC+0L/QtdC60LDQu9C4LCDRgtC+INC+0YLRgdGC0YDQsNC90Y/Qu9C40YHRjC4g0K3RgtC+INC/0L7RgNC+0LTQuNC70L4g0L3QtdGD0LLQtdGA0LXQvdC90L7RgdGC0Yw6IMKr0JzQtdC90Y8g0LvRjtCx0Y/Rgiwg0YLQvtC70YzQutC+INC10YHQu9C4INGPINC30LDRgdC70YPQttGDwrsuINCS0Ysg0YfRg9GC0LrQviDRg9C70LDQstC70LjQstCw0LXRgtC1INC80LDQu9C10LnRiNC40LUg0L/RgNC40LfQvdCw0LrQuCDQvtGF0LvQsNC20LTQtdC90LjRjyDQuCDRgdC60LvQvtC90L3RiyDQuiDRh9GA0LXQt9C80LXRgNC90YvQvCDRgNCw0LfQvNGL0YjQu9C10L3QuNGP0Lwg0L7QsSDQvtGC0L3QvtGI0LXQvdC40Y/RhS48L3A+PHA+0J7QtNC90LDQutC+INCy0LDRiNCwINGB0L/QvtGB0L7QsdC90L7RgdGC0Ywg0Log0Y3QvNC/0LDRgtC40LgsINCz0LvRg9Cx0L7QutCw0Y8g0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdC+0YHRgtGMINC4INC/0YDQtdC00LDQvdC90L7RgdGC0Ywg4oCUINC+0LPRgNC+0LzQvdCw0Y8g0YbQtdC90L3QvtGB0YLRjC4g0JLRiyDRg9C80LXQtdGC0LUg0YHQvtC30LTQsNCy0LDRgtGMINC+0YfQtdC90Ywg0YLRkdC/0LvRg9GOINCw0YLQvNC+0YHRhNC10YDRgywg0LrQvtCz0LTQsCDRh9GD0LLRgdGC0LLRg9C10YLQtSDRgdC10LHRjyDQsiDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LguINCe0YHQvtC30L3QsNC90LjQtSDRgdCy0L7QuNGFINGC0YDQuNCz0LPQtdGA0L7QsiDigJQg0L/QtdGA0LLRi9C5INGI0LDQsyDQuiDQsdC+0LvQtdC1INGB0L/QvtC60L7QudC90YvQvCDQuCDQvdCw0LTRkdC20L3Ri9C8INC+0YLQvdC+0YjQtdC90LjRj9C8LjwvcD4nOwogICAgICBzdHJlbmd0aHMgPSAnPHN0cm9uZz7QodC40LvRjNC90YvQtSDRgdGC0L7RgNC+0L3Rizo8L3N0cm9uZz4g0LLRi9GB0L7QutCw0Y8g0Y3QvNC/0LDRgtC40Y8sINC30LDQsdC+0YLQu9C40LLQvtGB0YLRjCwg0YHQv9C+0YHQvtCx0L3QvtGB0YLRjCDQuiDQs9C70YPQsdC+0LrQvtC5INGN0LzQvtGG0LjQvtC90LDQu9GM0L3QvtC5INCx0LvQuNC30L7RgdGC0LgsINC40L3RgtGD0LjRgtC40LLQvdC+0LUg0YfRg9Cy0YHRgtCy0L7QstCw0L3QuNC1INC90LDRgdGC0YDQvtC10L3QuNGPINC/0LDRgNGC0L3RkdGA0LAsINCy0LXRgNC90L7RgdGC0YwuJzsKICAgICAgcmlza3MgPSAnPHN0cm9uZz7Ql9C+0L3RiyDQstC90LjQvNCw0L3QuNGPOjwvc3Ryb25nPiDRgdC60LvQvtC90L3QvtGB0YLRjCDQuiDRjdC80L7RhtC40L7QvdCw0LvRjNC90L7QuSDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC4LCDRgNC10LLQvdC+0YHRgtGMLCDRgdGC0YDQsNGFINC+0LTQuNC90L7Rh9C10YHRgtCy0LAsINGC0YDRg9C00L3QvtGB0YLQuCDQsiDRg9GB0YLQsNC90L7QstC70LXQvdC40Lgg0LvQuNGH0L3Ri9GFINCz0YDQsNC90LjRhiwg0YDQuNGB0Log0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdC+0LPQviDQstGL0LPQvtGA0LDQvdC40Y8g0LjQty3Qt9CwINC/0L7RgdGC0L7Rj9C90L3QvtC5INGC0YDQtdCy0L7Qs9C4Lic7CiAgICAgIHJlY29tbWVuZGF0aW9ucyA9ICc8cD48c3Ryb25nPtCf0YDQsNC60YLQuNGH0LXRgdC60LjQtSDRgNC10LrQvtC80LXQvdC00LDRhtC40Lg6PC9zdHJvbmc+PC9wPjxvbD48bGk+0KDQsNC30LLQuNCy0LDQudGC0LUg0L3QsNCy0YvQutC4INGB0LDQvNC+0YPRgdC/0L7QutC+0LXQvdC40Y86INC00YvRhdCw0YLQtdC70YzQvdGL0LUg0L/RgNCw0LrRgtC40LrQuCwg0LTQvdC10LLQvdC40Log0YfRg9Cy0YHRgtCyLCDRhNC40LfQuNGH0LXRgdC60LDRjyDQsNC60YLQuNCy0L3QvtGB0YLRjCDRgdC90LjQttCw0Y7RgiDRgtGA0LXQstC+0LPRgy48L2xpPjxsaT7Qo9GH0LjRgtC10YHRjCDQt9Cw0L/RgNCw0YjQuNCy0LDRgtGMINC/0L7QtNC00LXRgNC20LrRgyDQv9GA0Y/QvNC+OiDCq9Cc0L3QtSDQstCw0LbQvdC+INGD0YHQu9GL0YjQsNGC0YwsINGH0YLQviDRgtGLINC80LXQvdGPINC70Y7QsdC40YjRjMK7INCy0LzQtdGB0YLQviDQv9GA0L7QstC10YDQvtC6INC4INC+0LHQuNC0LjwvbGk+PGxpPtCg0LDQt9C00LXQu9GP0LnRgtC1INGE0LDQutGC0Ysg0Lgg0LjQvdGC0LXRgNC/0YDQtdGC0LDRhtC40Lg6INC80L7Qu9GH0LDQvdC40LUg0L/QsNGA0YLQvdGR0YDQsCDigJQg0L3QtSDQstGB0LXQs9C00LAg0L/RgNC40LfQvdCw0Log0L7RgtCy0LXRgNC20LXQvdC40Y8uPC9saT48bGk+0JjQvdCy0LXRgdGC0LjRgNGD0LnRgtC1INCy0YDQtdC80Y8g0LIg0YXQvtCx0LHQuCwg0LTRgNGD0LfQtdC5LCDQutCw0YDRjNC10YDRgyDigJQg0Y3RgtC+INGB0L3QuNC20LDQtdGCINC30LDQstC40YHQuNC80L7RgdGC0Ywg0L7RgiDQvtC00L3QvtCz0L4g0LjRgdGC0L7Rh9C90LjQutCwINC/0L7QtNGC0LLQtdGA0LbQtNC10L3QuNGPLjwvbGk+PGxpPtCe0LHRgdGD0LTQuNGC0LUg0YEg0L/QsNGA0YLQvdGR0YDQvtC8INCy0LDRiNC4INC/0L7RgtGA0LXQsdC90L7RgdGC0Lgg0LHQtdC3INC+0LHQstC40L3QtdC90LjQuTogwqvQryDRh9GD0LLRgdGC0LLRg9GOINGC0YDQtdCy0L7Qs9GDLCDQutC+0LPQtNCw4oCmwrsuPC9saT48bGk+0J/RgNCw0LrRgtC40LrRg9C50YLQtSDQvtGB0L7Qt9C90LDQvdC90L7RgdGC0YwsINGH0YLQvtCx0Ysg0L3QtSDCq9GA0LDRgdC60LDRh9C40LLQsNGC0YzCuyDRgdC10LHRjyDQvNGL0YHQu9GP0LzQuCDQviDRhdGD0LTRiNC10Lwg0YHRhtC10L3QsNGA0LjQuC48L2xpPjxsaT7QldGB0LvQuCDRgtGA0LXQstC+0LPQsCDQvNC10YjQsNC10YIg0LbQuNGC0YwsINC+0LHRgNCw0YLQuNGC0LXRgdGMINC6INC/0YHQuNGF0L7Qu9C+0LPRgywg0YDQsNCx0L7RgtCw0Y7RidC10LzRgyDQsiDQv9C+0LTRhdC+0LTQtSwg0L7RgNC40LXQvdGC0LjRgNC+0LLQsNC90L3QvtC8INC90LAg0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0YwuPC9saT48L29sPic7CiAgICAgIHdoYXROZXh0ID0gJzxwPjxzdHJvbmc+0KfRgtC+INC00LXQu9Cw0YLRjCDQtNCw0LvRjNGI0LU6PC9zdHJvbmc+INCY0YHRgdC70LXQtNGD0LnRgtC1INC60L3QuNCz0Lgg0L4g0L3QsNC00ZHQttC90L7QuSDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCwg0L/QvtC/0YDQvtCx0YPQudGC0LUg0LLQtdGB0YLQuCDQtNC90LXQstC90LjQuiDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuNGFINC80YvRgdC70LXQuS4g0JLRiyDQvdC1INC+0LTQuNC90L7QutC4OiDRgtGA0LXQstC+0LbQvdGL0Lkg0YLQuNC/IOKAlCDRgdCw0LzRi9C5INGH0LDRgdGC0YvQuSDQt9Cw0L/RgNC+0YEg0LIg0YLQtdGA0LDQv9C40Lgg0L/QsNGALCDQuCDRgSDQvdC40Lwg0YPRgdC/0LXRiNC90L4g0YDQsNCx0L7RgtCw0Y7Rgi48L3A+JzsKICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2F2b2lkYW50JykgewogICAgICB0aXRsZSA9ICfQmNC30LHQtdCz0LDRjtGJ0LjQuSDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0LgnOwogICAgICBzdW1tYXJ5ID0gJ9CS0Ysg0LLRi9GB0L7QutC+INGG0LXQvdC40YLQtSDQvdC10LfQsNCy0LjRgdC40LzQvtGB0YLRjCDQuCDRgdCw0LzQvtC00L7RgdGC0LDRgtC+0YfQvdC+0YHRgtGMLCDQsdC70LjQt9C60LjQtSDQvtGC0L3QvtGI0LXQvdC40Y8g0LzQvtCz0YPRgiDQstGL0LfRi9Cy0LDRgtGMINC00LjRgdC60L7QvNGE0L7RgNGCINC4INC20LXQu9Cw0L3QuNC1INC+0YLRgdGC0YDQsNC90LjRgtGM0YHRjy4nOwogICAgICBpbnRlcnByZXRhdGlvbiA9ICc8cD7QmNC30LHQtdCz0LDRjtGJ0LjQuSDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lgg0YTQvtGA0LzQuNGA0YPQtdGC0YHRjywg0LXRgdC70Lgg0LIg0LTQtdGC0YHRgtCy0LUg0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdGL0LUg0L/QvtGC0YDQtdCx0L3QvtGB0YLQuCDQuNCz0L3QvtGA0LjRgNC+0LLQsNC70LjRgdGMINC40LvQuCDQvdCw0LrQsNC30YvQstCw0LvQuNGB0YwuINCS0Ysg0YPRgdCy0L7QuNC70Lg6INC/0L7Qu9Cw0LPQsNGC0YzRgdGPINC90LAg0LTRgNGD0LPQuNGFINC90LXQsdC10LfQvtC/0LDRgdC90L4sINC70YPRh9GI0LUg0YHQv9GA0LDQstC70Y/RgtGM0YHRjyDRgdCw0LzQvtC80YMgKNGB0LDQvNC+0LkpLiDQktGLINC/0YDQvtC40LfQstC+0LTQuNGC0LUg0LLQv9C10YfQsNGC0LvQtdC90LjQtSDRgdC40LvRjNC90L7Qs9C+INC4INC90LXQt9Cw0LLQuNGB0LjQvNC+0LPQviDRh9C10LvQvtCy0LXQutCwLCDQvdC+INCy0L3Rg9GC0YDQuCDQvNC+0LbQtdGC0LUg0LjRgdC/0YvRgtGL0LLQsNGC0Ywg0L7QtNC40L3QvtGH0LXRgdGC0LLQvi48L3A+PHA+0JLQsNGI0LAg0YHQsNC80L7QtNC+0YHRgtCw0YLQvtGH0L3QvtGB0YLRjCDigJQg0L3QsNGB0YLQvtGP0YnQuNC5INC00LDRgCDQsiDQutGA0LjQt9C40YHQvdGL0YUg0YHQuNGC0YPQsNGG0LjRj9GFLiDQntC00L3QsNC60L4g0LIg0YDQvtC80LDQvdGC0LjRh9C10YHQutC40YUg0L7RgtC90L7RiNC10L3QuNGP0YUg0L/QsNGA0YLQvdGR0YAg0LzQvtC20LXRgiDQvtGJ0YPRidCw0YLRjCDRgdGC0LXQvdGDLiDQn9GA0LjQt9C90LDQvdC40LUg0YLQvtCz0L4sINGH0YLQviDQsdC70LjQt9C+0YHRgtGMINC90LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3QviDQstC10LTRkdGCINC6INC/0L7RgtC10YDQtSDQutC+0L3RgtGA0L7Qu9GPLCDigJQg0LLQsNC20L3Ri9C5INGI0LDQsyDQuiDQsdC+0LvQtdC1INGC0ZHQv9C70YvQvCDRgdCy0Y/Qt9GP0LwuPC9wPic7CiAgICAgIHN0cmVuZ3RocyA9ICc8c3Ryb25nPtCh0LjQu9GM0L3Ri9C1INGB0YLQvtGA0L7QvdGLOjwvc3Ryb25nPiDQsNCy0YLQvtC90L7QvNC90L7RgdGC0YwsINGB0YLRgNC10YHRgdC+0YPRgdGC0L7QudGH0LjQstC+0YHRgtGMLCDRgNCw0YbQuNC+0L3QsNC70YzQvdC+0YHRgtGMLCDRgdC/0L7RgdC+0LHQvdC+0YHRgtGMINC90LUg0YDQsNGB0YLQstC+0YDRj9GC0YzRgdGPINCyINC+0YLQvdC+0YjQtdC90LjRj9GFLCDRh9GR0YLQutC40LUg0LvQuNGH0L3Ri9C1INCz0YDQsNC90LjRhtGLLic7CiAgICAgIHJpc2tzID0gJzxzdHJvbmc+0JfQvtC90Ysg0LLQvdC40LzQsNC90LjRjzo8L3N0cm9uZz4g0YLRgNGD0LTQvdC+0YHRgtC4INGBINCy0YvRgNCw0LbQtdC90LjQtdC8INGH0YPQstGB0YLQsiwg0YHQutC70L7QvdC90L7RgdGC0Ywg0Log0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdC+0Lkg0L7RgtGB0YLRgNCw0L3RkdC90L3QvtGB0YLQuCwg0L7QsdC10YHRhtC10L3QuNCy0LDQvdC40LUg0L/QvtGC0YDQtdCx0L3QvtGB0YLQuCDQsiDQsdC70LjQt9C+0YHRgtC4LCDRgNC40YHQuiDRgNCw0LfRgNGL0LLQsCDQvtGC0L3QvtGI0LXQvdC40Lkg0LjQty3Qt9CwINC00LjRgdGC0LDQvdGG0LjRgNC+0LLQsNC90LjRjy4nOwogICAgICByZWNvbW1lbmRhdGlvbnMgPSAnPHA+PHN0cm9uZz7Qn9GA0LDQutGC0LjRh9C10YHQutC40LUg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC4Ojwvc3Ryb25nPjwvcD48b2w+PGxpPtCf0YDQvtCx0YPQudGC0LUg0LzQsNC70LXQvdGM0LrQuNC80Lgg0YjQsNCz0LDQvNC4INC00LXQu9C40YLRjNGB0Y8g0YPRj9C30LLQuNC80L7RgdGC0YzRjiDigJQg0Y3RgtC+INGD0LrRgNC10L/Qu9GP0LXRgiDQtNC+0LLQtdGA0LjQtS48L2xpPjxsaT7Ql9Cw0LzQtdGH0LDQudGC0LUg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtSDQttC10LvQsNC90LjQtSDQvtGC0YHRgtGA0LDQvdC40YLRjNGB0Y8g0Lgg0YHQv9GA0LDRiNC40LLQsNC50YLQtSDRgdC10LHRjzogwqvQp9GC0L4g0LzQvdC1INGB0LXQudGH0LDRgSDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDQvdGD0LbQvdC+P8K7LjwvbGk+PGxpPtCj0YfQuNGC0LXRgdGMINGA0LDRgdC/0L7Qt9C90LDQstCw0YLRjCDQuCDQvdCw0LfRi9Cy0LDRgtGMINGB0LLQvtC4INGN0LzQvtGG0LjQuCDigJQg0LLQtdC00LXQvdC40LUg0LTQvdC10LLQvdC40LrQsCDQvNC+0LbQtdGCINC/0L7QvNC+0YfRjC48L2xpPjxsaT7QntCx0YrRj9GB0L3QuNGC0LUg0L/QsNGA0YLQvdGR0YDRgywg0YfRgtC+INCy0LDRiNC1INC80L7Qu9GH0LDQvdC40LUg4oCUINC90LUg0L7RgtCy0LXRgNC20LXQvdC40LUsINCwINC/0L7RgtGA0LXQsdC90L7RgdGC0Ywg0LIg0L/QsNGD0LfQtS48L2xpPjxsaT7Qn9C70LDQvdC40YDRg9C50YLQtSDRgdC+0LLQvNC10YHRgtC90YvQuSDQtNC+0YHRg9CzLCDQs9C00LUg0LLQsNC8INC60L7QvNGE0L7RgNGC0L3Qvjog0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9C1INC30LDQvdGP0YLQuNGPICjRh9GC0LXQvdC40LUg0YDRj9C00L7QvCwg0L/RgNC+0LPRg9C70LrQuCkg0YHQvdC40LbQsNGO0YIg0YLRgNC10LLQvtCz0YMg0L7RgiDRgdC70LjRj9C90LjRjy48L2xpPjxsaT7Qn9C+0LzQvdC40YLQtSwg0YfRgtC+INC/0YDQvtGB0LjRgtGMINC+INC/0L7QvNC+0YnQuCDigJQg0L3QtSDRgdC70LDQsdC+0YHRgtGMLCDQsCDQstCw0LbQvdGL0Lkg0L3QsNCy0YvQuiDQstC30YDQvtGB0LvQvtCz0L4g0YfQtdC70L7QstC10LrQsC48L2xpPjxsaT7QldGB0LvQuCDQuNC30LHQtdCz0LDQvdC40LUg0LzQtdGI0LDQtdGCINGB0YLRgNC+0LjRgtGMINC20LXQu9Cw0LXQvNGL0LUg0L7RgtC90L7RiNC10L3QuNGPLCDRgNCw0YHRgdC80L7RgtGA0LjRgtC1INC40L3QtNC40LLQuNC00YPQsNC70YzQvdGD0Y4g0LjQu9C4INC/0LDRgNC90YPRjiDRgtC10YDQsNC/0LjRji48L2xpPjwvb2w+JzsKICAgICAgd2hhdE5leHQgPSAnPHA+PHN0cm9uZz7Qp9GC0L4g0LTQtdC70LDRgtGMINC00LDQu9GM0YjQtTo8L3N0cm9uZz4g0KfQuNGC0LDQudGC0LUg0L4g0L3QsNC00ZHQttC90L7QuSDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCwg0L3QsNCx0LvRjtC00LDQudGC0LUg0LfQsCDQv9Cw0YDQsNC80LgsINC60L7RgtC+0YDRi9C1INC00LXQvNC+0L3RgdGC0YDQuNGA0YPRjtGCINC30LTQvtGA0L7QstGD0Y4g0LHQu9C40LfQvtGB0YLRjC4g0JzQsNC70LXQvdGM0LrQuNC1INGN0LrRgdC/0LXRgNC40LzQtdC90YLRiyDRgSDQsdC+0LvRjNGI0LXQuSDQvtGC0LrRgNGL0YLQvtGB0YLRjNGOINC80L7Qs9GD0YIg0L/RgNC40Y/RgtC90L4g0YPQtNC40LLQuNGC0YwuPC9wPic7CiAgICB9IGVsc2UgewogICAgICB0aXRsZSA9ICfQotGA0LXQstC+0LbQvdC+LdC40LfQsdC10LPQsNGO0YnQuNC5ICjQtNC10LfQvtGA0LPQsNC90LjQt9C+0LLQsNC90L3Ri9C5KSDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0LgnOwogICAgICBzdW1tYXJ5ID0gJ9CS0Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INC20LDQttC00LXRgtC1INCx0LvQuNC30L7RgdGC0Lgg0Lgg0LHQvtC40YLQtdGB0Ywg0LXRkS4g0J7RgtC90L7RiNC10L3QuNGPIOKAlCDQt9C+0L3QsCDRgdC40LvRjNC90YvRhSDQv9GA0L7RgtC40LLQvtGA0LXRh9C40LLRi9GFINGH0YPQstGB0YLQsjog0L7RgiDRgdC70LjRj9C90LjRjyDQtNC+INGA0LXQt9C60L7Qs9C+INC00LjRgdGC0LDQvdGG0LjRgNC+0LLQsNC90LjRjy4nOwogICAgICBpbnRlcnByZXRhdGlvbiA9ICc8cD7QrdGC0L7RgiDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lgg0YfQsNGB0YLQviDRgdCy0Y/Qt9Cw0L0g0YEg0L7Qv9GL0YLQvtC8INC90LXQv9GA0LXQtNGB0LrQsNC30YPQtdC80L7Qs9C+INC40LvQuCDRgtGA0LDQstC80LjRgNGD0Y7RidC10LPQviDQv9C+0LLQtdC00LXQvdC40Y8g0LfQvdCw0YfQuNC80YvRhSDQstC30YDQvtGB0LvRi9GFINCyINC00LXRgtGB0YLQstC1LiDQp9C10LvQvtCy0LXQuiDQvdC1INCy0YvRgNCw0LHQvtGC0LDQuyDRg9GB0YLQvtC50YfQuNCy0L7QuSDRgdGC0YDQsNGC0LXQs9C40Lg6INCx0LvQuNC30L7RgdGC0Ywg0Lgg0YHRgtGA0LDRiNC90LAsINC4INC20LXQu9Cw0L3QvdCwLiDQkiDQvtGC0L3QvtGI0LXQvdC40Y/RhSDQstGLINC80L7QttC10YLQtSDQutC+0LvQtdCx0LDRgtGM0YHRjyDQvNC10LbQtNGDIMKr0L/QvtC00L7QudC00Lgg0LHQu9C40LbQtcK7INC4IMKr0L7RgtC+0LnQtNC4wrsuPC9wPjxwPtCS0LDRiNCwINCz0LvRg9Cx0LjQvdCwINC4INGH0YPQstGB0YLQstC40YLQtdC70YzQvdC+0YHRgtGMIOKAlCDRhtC10L3QvdC10LnRiNC40LUg0LrQsNGH0LXRgdGC0LLQsCwg0LrQvtGC0L7RgNGL0LUg0L/RgNC4INC+0YHQvtC30L3QsNC90L3QvtC5INGA0LDQsdC+0YLQtSDQv9GA0LXQstGA0LDRidCw0Y7RgtGB0Y8g0LIg0LzRg9C00YDQvtGB0YLRjC4g0JLQsNC20L3QviDQvdCw0YPRh9C40YLRjNGB0Y8g0YDQsNGB0L/QvtC30L3QsNCy0LDRgtGMINGB0L7QsdGB0YLQstC10L3QvdGL0LUg0LLQvdGD0YLRgNC10L3QvdC40LUg0LrQvtC90YTQu9C40LrRgtGLINC4INC00LDQstCw0YLRjCDRgdC10LHQtSDQv9C+0LTQtNC10YDQttC60YMsINC60L7RgtC+0YDRg9GOINC60L7Qs9C00LAt0YLQviDQvdC10LTQvtC/0L7Qu9GD0YfQuNC70LguPC9wPic7CiAgICAgIHN0cmVuZ3RocyA9ICc8c3Ryb25nPtCh0LjQu9GM0L3Ri9C1INGB0YLQvtGA0L7QvdGLOjwvc3Ryb25nPiDRjdC80L7RhtC40L7QvdCw0LvRjNC90LDRjyDQs9C70YPQsdC40L3QsCwg0LjQvdGC0YPQuNGG0LjRjywg0YHQv9C+0YHQvtCx0L3QvtGB0YLRjCDQuiDRgNC10YTQu9C10LrRgdC40LgsINC/0L7QvdC40LzQsNC90LjQtSDRgdC70L7QttC90L7RgdGC0Lgg0YfQtdC70L7QstC10YfQtdGB0LrQuNGFINC/0LXRgNC10LbQuNCy0LDQvdC40LkuJzsKICAgICAgcmlza3MgPSAnPHN0cm9uZz7Ql9C+0L3RiyDQstC90LjQvNCw0L3QuNGPOjwvc3Ryb25nPiDRgdC60LvQvtC90L3QvtGB0YLRjCDQuiDRjdC80L7RhtC40L7QvdCw0LvRjNC90YvQvCDQutCw0YfQtdC70Y/QvCwg0YHRgtGA0LDRhSDQv9C+0LPQu9C+0YnQtdC90LjRjyDQuCDQvtGC0LLQtdGA0LbQtdC90LjRjyDQvtC00L3QvtCy0YDQtdC80LXQvdC90L4sINGA0LjRgdC6INC/0L7Qv9Cw0LTQsNC90LjRjyDQsiDRgtGA0LDQstC80LDRgtC40YfQvdGL0LUg0L7RgtC90L7RiNC10L3QuNGPLCDRgtGA0YPQtNC90L7RgdGC0Lgg0YEg0LTQvtCy0LXRgNC40LXQvC4nOwogICAgICByZWNvbW1lbmRhdGlvbnMgPSAnPHA+PHN0cm9uZz7Qn9GA0LDQutGC0LjRh9C10YHQutC40LUg0YDQtdC60L7QvNC10L3QtNCw0YbQuNC4Ojwvc3Ryb25nPjwvcD48b2w+PGxpPtCR0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDigJQg0L/RgNC40L7RgNC40YLQtdGCOiDQvtC60YDRg9C20LjRgtC1INGB0LXQsdGPINC70Y7QtNGM0LzQuCwg0LrQvtGC0L7RgNGL0LUg0YPQstCw0LbQsNGO0YIg0LLQsNGI0Lgg0LPRgNCw0L3QuNGG0YsuPC9saT48bGk+0JjQt9GD0YfQsNC50YLQtSDRgdCy0L7QuCDRgtGA0LjQs9Cz0LXRgNGLOiDRh9GC0L4g0LjQvNC10L3QvdC+INC30LDQv9GD0YHQutCw0LXRgiDQttC10LvQsNC90LjQtSDRgdCx0LXQttCw0YLRjCDQuNC70LgsINC90LDQvtCx0L7RgNC+0YIsINGB0LvQuNGC0YzRgdGPLjwvbGk+PGxpPtCY0YHQv9C+0LvRjNC30YPQudGC0LUg0YLQtdGF0L3QuNC60Lgg0LfQsNC30LXQvNC70LXQvdC40Y8gKDUtNC0zLTItMSkg0L/RgNC4INGB0LjQu9GM0L3QvtC5INGC0YDQtdCy0L7Qs9C1LjwvbGk+PGxpPtCd0LUg0YLRgNC10LHRg9C50YLQtSDQvtGCINGB0LXQsdGPINC90LXQvNC10LTQu9C10L3QvdC+0LPQviDQtNC+0LLQtdGA0LjRjyDigJQg0Y3RgtC+INC/0YDQvtGG0LXRgdGBLCDQutC+0YLQvtGA0YvQuSDQvNC+0LbQtdGCINC30LDQvdGP0YLRjCDQstGA0LXQvNGPLjwvbGk+PGxpPtCV0YHQu9C4INC/0LDRgNGC0L3RkdGAINCz0L7RgtC+0LIsINC+0LHRitGP0YHQvdC40YLQtSDQtdC80YMg0YHQstC+0Y4gwqvQstC90YPRgtGA0LXQvdC90Y7RjiDQsdGD0YDRjsK7INC/0YDQvtGB0YLRi9C80Lgg0YHQu9C+0LLQsNC80LguPC9saT48bGk+0KLQtdGA0LDQv9C40Y8gKNC+0YHQvtCx0LXQvdC90L4gRU1EUiDQuNC70Lgg0YHRhdC10LzQsC3RgtC10YDQsNC/0LjRjykg0LzQvtC20LXRgiDQtNCw0YLRjCDQt9C90LDRh9C40YLQtdC70YzQvdC+0LUg0L7QsdC70LXQs9GH0LXQvdC40LUuPC9saT48bGk+0JLQtdC00LjRgtC1INGB0L/QuNGB0L7QuiDCq9GPINCyINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuMK7IOKAlCDQvdCw0L/QvtC80LjQvdCw0L3QuNC5INC+INGC0L7QvCwg0YfRgtC+INGC0LXQutGD0YnQsNGPINGA0LXQsNC70YzQvdC+0YHRgtGMINC+0YLQu9C40YfQsNC10YLRgdGPINC+0YIg0L/RgNC+0YjQu9C+0LPQviDQvtC/0YvRgtCwLjwvbGk+PC9vbD4nOwogICAgICB3aGF0TmV4dCA9ICc8cD48c3Ryb25nPtCn0YLQviDQtNC10LvQsNGC0Ywg0LTQsNC70YzRiNC1Ojwvc3Ryb25nPiDQn9C+0LjRgdC6INC/0L7QtNC00LXRgNC20LjQstCw0Y7RidC10Lkg0YHRgNC10LTRiyDigJQg0LrQu9GO0YfQtdCy0LDRjyDQt9Cw0LTQsNGH0LAuINCR0LXRgNC10LbQvdC+0LUg0LjRgdGB0LvQtdC00L7QstCw0L3QuNC1INGB0LLQvtC40YUg0L/QsNGC0YLQtdGA0L3QvtCyINGBINC/0YHQuNGF0L7Qu9C+0LPQvtC8INC/0L7QvNC+0LbQtdGCINC/0YDQtdCy0YDQsNGC0LjRgtGMINGD0Y/Qt9Cy0LjQvNC+0YHRgtGMINCyINGB0LjQu9GDLiDQktGLINC30LDRgdC70YPQttC40LLQsNC10YLQtSDQvdCw0LTRkdC20L3Ri9GFINC4INGC0ZHQv9C70YvRhSDQvtGC0L3QvtGI0LXQvdC40LkuPC9wPic7CiAgICB9CgogICAgdmFyIGh0bWwgPSAnPGgzPicgKyB0aXRsZSArICc8XC9oMz4nOwogICAgaHRtbCArPSAnPHA+PGVtPicgKyBzdW1tYXJ5ICsgJzxcL2VtPjxcL3A+JzsKICAgIGh0bWwgKz0gJzxoND7Qn9C+0LTRgNC+0LHQvdCw0Y8g0LjQvdGC0LXRgNC/0YDQtdGC0LDRhtC40Y88XC9oND4nICsgaW50ZXJwcmV0YXRpb247CiAgICBodG1sICs9ICc8ZGl2PicgKyBzdHJlbmd0aHMgKyAnPFwvZGl2Pic7CiAgICBodG1sICs9ICc8ZGl2PicgKyByaXNrcyArICc8XC9kaXY+JzsKICAgIGh0bWwgKz0gcmVjb21tZW5kYXRpb25zOwogICAgaHRtbCArPSAnPGRpdj4nICsgd2hhdE5leHQgKyAnPFwvZGl2Pic7CiAgICByZXR1cm4gaHRtbDsKICB9CgogIGZ1bmN0aW9uIGdldEFydGljbGVIVE1MKCkgewogICAgcmV0dXJuICc8aDM+0KfRgtC+INC40LfQvNC10YDRj9C10YIg0YLQtdGB0YIg0L3QsCDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lg/PC9oMz4nICsKICAgICAgJzxwPtCi0LXRgdGCINC90LAg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC+0YHQvdC+0LLQsNC9INC90LAg0YLQtdC+0YDQuNC4INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INCU0LbQvtC90LAg0JHQvtGD0LvQsdC4INC4INC/0L7RgdC70LXQtNGD0Y7RidC40YUg0LjRgdGB0LvQtdC00L7QstCw0L3QuNGP0YUg0JzRjdGA0Lgg0K3QudC90YHQstC+0YDRgiwg0KHQuNC90LTQuCDQpdCw0LfQsNC9INC4INCk0LjQu9C70LjQv9CwINCo0LXQudCy0LXRgNCwLiDQntC9INC+0YbQtdC90LjQstCw0LXRgiDQtNCy0LAg0LrQu9GO0YfQtdCy0YvRhSDQuNC30LzQtdGA0LXQvdC40Y86INGC0YDQtdCy0L7QttC90L7RgdGC0YwgKNGB0YLRgNCw0YUg0L7RgtCy0LXRgNC20LXQvdC40Y8pINC4INC40LfQsdC10LPQsNC90LjQtSAo0LTQuNGB0LrQvtC80YTQvtGA0YIg0L7RgiDQsdC70LjQt9C+0YHRgtC4KS4g0JrQvtC80LHQuNC90LDRhtC40Y8g0Y3RgtC40YUg0L7RgdC10Lkg0LTQsNGR0YIg0YfQtdGC0YvRgNC1INC+0YHQvdC+0LLQvdGL0YUg0YLQuNC/0LAg0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lg6INC90LDQtNGR0LbQvdGL0LksINGC0YDQtdCy0L7QttC90YvQuSwg0LjQt9Cx0LXQs9Cw0Y7RidC40Lkg0Lgg0YLRgNC10LLQvtC20L3Qvi3QuNC30LHQtdCz0LDRjtGJ0LjQuS4g0J/RgNC+0LnRgtC4INGC0LXRgdGCINC90LAg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC/0L7Qu9C10LfQvdC+INC60LDQttC00L7QvNGDLCDQutGC0L4g0YXQvtGH0LXRgiDQv9C+0L3Rj9GC0Ywg0YHQstC+0Lgg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LjQtSDRgNC10LDQutGG0LjQuCDQsiDQvtGC0L3QvtGI0LXQvdC40Y/RhSDigJQg0LHRg9C00Ywg0YLQviDRgNC+0LzQsNC90YLQuNGH0LXRgdC60LDRjyDRgdCy0Y/Qt9GMLCDQtNGA0YPQttCx0LAg0LjQu9C4INC00LXRgtGB0LrQvi3RgNC+0LTQuNGC0LXQu9GM0YHQutC40LUg0L7RgtC90L7RiNC10L3QuNGPLjwvcD4nICsKCiAgICAgICc8aDM+0JrQsNC6INC40L3RgtC10YDQv9GA0LXRgtC40YDQvtCy0LDRgtGMINGA0LXQt9GD0LvRjNGC0LDRgj88L2gzPicgKwogICAgICAnPHA+0KDQtdC30YPQu9GM0YLQsNGCINC/0L7QutCw0LfRi9Cy0LDQtdGCINCy0LDRiCDQtNC+0LzQuNC90LjRgNGD0Y7RidC40Lkg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC90LAg0L7RgdC90L7QstC1INGB0LDQvNC+0L7RhtC10L3QutC4LiDQntC00L3QsNC60L4g0LLQsNC20L3QviDQv9C+0LzQvdC40YLRjCwg0YfRgtC+INGH0LjRgdGC0YvQtSDRgtC40L/RiyDQstGB0YLRgNC10YfQsNGO0YLRgdGPINGA0LXQtNC60L46INCx0L7Qu9GM0YjQuNC90YHRgtCy0L4g0LvRjtC00LXQuSDQtNC10LzQvtC90YHRgtGA0LjRgNGD0Y7RgiDRgdC80LXRiNCw0L3QvdGL0LUg0YfQtdGA0YLRiywg0LAg0YHRgtC40LvRjCDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDQvNC+0LbQtdGCINC80LXQvdGP0YLRjNGB0Y8g0LIg0LfQsNCy0LjRgdC40LzQvtGB0YLQuCDQvtGCINC/0LDRgNGC0L3RkdGA0LAg0Lgg0LbQuNC30L3QtdC90L3QvtCz0L4g0L7Qv9GL0YLQsC4g0J3QsNC/0YDQuNC80LXRgCwg0LIg0LHQtdC30L7Qv9Cw0YHQvdC+0Lwg0L7QutGA0YPQttC10L3QuNC4INC40LfQsdC10LPQsNGO0YnQuNC5INGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDQvNC+0LbQtdGCINC/0L7RgdGC0LXQv9C10L3QvdC+INGB0YLQsNC90L7QstC40YLRjNGB0Y8g0LHQvtC70LXQtSDQvtGC0LrRgNGL0YLRi9C8LCDQsCDRgtGA0LXQstC+0LbQvdGL0Lkg4oCUINGD0YHQv9C+0LrQsNC40LLQsNGC0YzRgdGPLiDQotGA0LDQutGC0YPQudGC0LUg0YDQtdC30YPQu9GM0YLQsNGCINC60LDQuiDQv9GA0LjQs9C70LDRiNC10L3QuNC1INC6INGB0LDQvNC+0LjRgdGB0LvQtdC00L7QstCw0L3QuNGOLCDQsCDQvdC1INC60LDQuiDQvtC60L7QvdGH0LDRgtC10LvRjNC90YvQuSDQstC10YDQtNC40LrRgi48L3A+JyArCgogICAgICAnPGgzPtCe0LPRgNCw0L3QuNGH0LXQvdC40Y8g0YHQsNC80L7QtNC40LDQs9C90L7RgdGC0LjQutC4PC9oMz4nICsKICAgICAgJzxwPtCd0LjQutCw0LrQvtC5INC+0L3Qu9Cw0LnQvSDRgtC10YHRgiDQvdCwINGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDQvdC1INC80L7QttC10YIg0LfQsNC80LXQvdC40YLRjCDQutC70LjQvdC40YfQtdGB0LrQvtC1INC40L3RgtC10YDQstGM0Y4g0LjQu9C4INC90LDQsdC70Y7QtNC10L3QuNC1INGB0L/QtdGG0LjQsNC70LjRgdGC0LAuINCd0LAg0L7RgtCy0LXRgtGLINCy0LvQuNGP0Y7RgiDRgtC10LrRg9GJ0LXQtSDQvdCw0YHRgtGA0L7QtdC90LjQtSwg0YXQsNGA0LDQutGC0LXRgCDRgtC10LrRg9GJ0LjRhSDQvtGC0L3QvtGI0LXQvdC40Lkg0Lgg0YHQvtGG0LjQsNC70YzQvdCw0Y8g0LbQtdC70LDRgtC10LvRjNC90L7RgdGC0YwuINCa0YDQvtC80LUg0YLQvtCz0L4sINC60YPQu9GM0YLRg9GA0L3Ri9C5INC60L7QvdGC0LXQutGB0YIg0Lgg0LjQvdC00LjQstC40LTRg9Cw0LvRjNC90LDRjyDQuNGB0YLQvtGA0LjRjyDQvNC+0LPRg9GCINC/0L4t0YDQsNC30L3QvtC80YMg0L7QutGA0LDRiNC40LLQsNGC0Ywg0L7QtNC90Lgg0Lgg0YLQtSDQttC1INC/0L7QstC10LTQtdC90YfQtdGB0LrQuNC1INC/0LDRgtGC0LXRgNC90YsuINCf0L7RjdGC0L7QvNGDINGA0LDRgdGB0LzQsNGC0YDQuNCy0LDQudGC0LUg0YDQtdC30YPQu9GM0YLQsNGCINC60LDQuiDQvtGA0LjQtdC90YLQuNGA0L7QstC+0YfQvdGL0Lkg0YHRgNC10LcsINCwINC90LUg0LDQsdGB0L7Qu9GO0YLQvdGD0Y4g0LjRgdGC0LjQvdGDLjwvcD4nICsKCiAgICAgICc8aDM+0JrQvtCz0LTQsCDRgdGC0L7QuNGCINC+0LHRgNCw0YLQuNGC0YzRgdGPINC6INGB0L/QtdGG0LjQsNC70LjRgdGC0YM/PC9oMz4nICsKICAgICAgJzxwPtCV0YHQu9C4INCy0Ysg0LfQsNC80LXRh9Cw0LXRgtC1LCDRh9GC0L4g0YLRgNC10LLQvtC20L3Ri9C5INC40LvQuCDQuNC30LHQtdCz0LDRjtGJ0LjQuSDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lgg0LzQtdGI0LDQtdGCINCy0LDQvCDRgdGC0YDQvtC40YLRjCDQuCDRgdC+0YXRgNCw0L3Rj9GC0Ywg0L7RgtC90L7RiNC10L3QuNGPLCDQstGL0LfRi9Cy0LDQtdGCINGB0LjQu9GM0L3Ri9C1INGB0YLRgNCw0LTQsNC90LjRjywg0L/RgNC40LLQvtC00LjRgiDQuiDQuNC30L7Qu9GP0YbQuNC4INC40LvQuCDQv9C+0YHRgtC+0Y/QvdC90YvQvCDQutC+0L3RhNC70LjQutGC0LDQvCwg4oCUINGN0YLQviDQv9C+0LLQvtC0INC/0YDQvtC60L7QvdGB0YPQu9GM0YLQuNGA0L7QstCw0YLRjNGB0Y8g0YEg0L/RgdC40YXQvtC70L7Qs9C+0LwuINCe0YHQvtCx0LXQvdC90L4g0LLQvdC40LzQsNGC0LXQu9GM0L3Ri9C80Lgg0YHRgtC+0LjRgiDQsdGL0YLRjCwg0LXRgdC70Lgg0LLRiyDQv9C10YDQtdC20LjQu9C4INGC0YDQsNCy0LzQsNGC0LjRh9C10YHQutC40Lkg0L7Qv9GL0YIgKNC90LDRgdC40LvQuNC1LCDQv9C+0YLQtdGA0Y8sINC/0YDQtdC00LDRgtC10LvRjNGB0YLQstC+KSwg0LrQvtGC0L7RgNGL0Lkg0LzQvtCzINGD0YHQuNC70LjRgtGMINC00LXQt9C+0YDQs9Cw0L3QuNC30L7QstCw0L3QvdGL0LUg0YfQtdGA0YLRiy4g0KHQv9C10YbQuNCw0LvQuNGB0YIg0L/QvtC80L7QttC10YIg0LHQtdGA0LXQttC90L4g0YDQsNC30L7QsdGA0LDRgtGMINCy0LDRiNC4INC/0LDRgtGC0LXRgNC90Ysg0Lgg0L3QsNGA0LDQsdC+0YLQsNGC0Ywg0L3QsNCy0YvQutC4INC90LDQtNGR0LbQvdC+0Lkg0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0LguPC9wPicgKwoKICAgICAgJzxoMz5GQVE6INGH0LDRgdGC0L4g0LfQsNC00LDQstCw0LXQvNGL0LUg0LLQvtC/0YDQvtGB0Ys8L2gzPicgKwogICAgICAnPHA+PHN0cm9uZz7QnNC+0LbQtdGCINC70Lgg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC40LfQvNC10L3QuNGC0YzRgdGPPzwvc3Ryb25nPjxicj7QlNCwLCDQuNGB0YHQu9C10LTQvtCy0LDQvdC40Y8g0L/QvtC00YLQstC10YDQttC00LDRjtGCLCDRh9GC0L4g0YHRgtC40LvRjCDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDQv9C70LDRgdGC0LjRh9C10L0uINCR0LXQt9C+0L/QsNGB0L3Ri9C1INC+0YLQvdC+0YjQtdC90LjRjywg0LvQuNGH0L3QsNGPINGC0LXRgNCw0L/QuNGPINC4INC+0YHQvtC30L3QsNC90L3QsNGPINGA0LDQsdC+0YLQsCDQvdCw0LQg0YHQvtCx0L7QuSDQvNC+0LPRg9GCINGC0YDQsNC90YHRhNC+0YDQvNC40YDQvtCy0LDRgtGMINC00LDQttC1INC40LfQsdC10LPQsNGO0YnQuNC5INGC0LjQvyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLQuCDQsiDRgdGC0L7RgNC+0L3RgyDQsdC+0LvRjNGI0LXQuSDQsdC10LfQvtC/0LDRgdC90L7RgdGC0LguPC9wPicgKwogICAgICAnPHA+PHN0cm9uZz7QldGB0YLRjCDQu9C4INGB0LLRj9C30Ywg0LzQtdC20LTRgyDRgtC40L/QvtC8INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC4INGD0YHQv9C10YXQvtC8INCyINC60LDRgNGM0LXRgNC1Pzwvc3Ryb25nPjxicj7QldGB0YLRjCDQtNCw0L3QvdGL0LUsINGH0YLQviDQvdCw0LTRkdC20L3QsNGPINC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtGMINGB0L/QvtGB0L7QsdGB0YLQstGD0LXRgiDQu9C40LTQtdGA0YHQutC40Lwg0LrQsNGH0LXRgdGC0LLQsNC8INC4INC60L7Qu9C70LDQsdC+0YDQsNGG0LjQuCwg0YLQvtCz0LTQsCDQutCw0Log0LjQt9Cx0LXQs9Cw0Y7RidC40Lkg0YLQuNC/INC80L7QttC10YIg0L/RgNC10YPRgdC/0LXQstCw0YLRjCDQsiDQsNCy0YLQvtC90L7QvNC90YvRhSDQv9GA0L7QtdC60YLQsNGFLCDQvdC+INC40YHQv9GL0YLRi9Cy0LDRgtGMINGB0LvQvtC20L3QvtGB0YLQuCDQsiDQutC+0LzQsNC90LTQvdC+0Lkg0YDQsNCx0L7RgtC1LjwvcD4nICsKICAgICAgJzxwPjxzdHJvbmc+0J/QtdGA0LXQtNCw0ZHRgtGB0Y8g0LvQuCDRgtC40L8g0L/RgNC40LLRj9C30LDQvdC90L7RgdGC0Lgg0L/QviDQvdCw0YHQu9C10LTRgdGC0LLRgz88L3N0cm9uZz48YnI+0KLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INGE0L7RgNC80LjRgNGD0LXRgtGB0Y8g0LIg0L7RgdC90L7QstC90L7QvCDQv9C+0LQg0LLQu9C40Y/QvdC40LXQvCDRgdGA0LXQtNGLINC4INC+0L/Ri9GC0LAg0L7QsdGJ0LXQvdC40Y8g0YEg0L7Qv9C10LrRg9C90LDQvNC4LCDQvdC+INCz0LXQvdC10YLQuNGH0LXRgdC60LjQtSDRhNCw0LrRgtC+0YDRiyDQvNC+0LPRg9GCINC/0YDQtdC00YDQsNGB0L/QvtC70LDQs9Cw0YLRjCDQuiDQvtC/0YDQtdC00LXQu9GR0L3QvdC+0Lkg0Y3QvNC+0YbQuNC+0L3QsNC70YzQvdC+0Lkg0YDQtdCw0LrRgtC40LLQvdC+0YHRgtC4LiDQntC00L3QsNC60L4g0LLQvtGB0L/QuNGC0LDQvdC40LUg0LjQs9GA0LDQtdGCINC60LvRjtGH0LXQstGD0Y4g0YDQvtC70YwuPC9wPicgKwogICAgICAnPHA+PHN0cm9uZz7QnNC+0LbQtdGCINC70Lgg0LjQt9Cx0LXQs9Cw0Y7RidC40Lkg0YLQuNC/INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC/0L7RgdGC0YDQvtC40YLRjCDRgdGH0LDRgdGC0LvQuNCy0YvQtSDQvtGC0L3QvtGI0LXQvdC40Y8g0YEg0YLRgNC10LLQvtC20L3Ri9C8Pzwvc3Ryb25nPjxicj7QotCw0LrQuNC1INC/0LDRgNGLINCy0YHRgtGA0LXRh9Cw0Y7RgtGB0Y8g0YfQsNGB0YLQviDQuCDQvNC+0LPRg9GCINCx0YvRgtGMINGB0YLQsNCx0LjQu9GM0L3Ri9C80LgsINC10YHQu9C4INC+0LHQsCDQv9Cw0YDRgtC90ZHRgNCwINC+0YHQvtC30L3QsNGO0YIg0YHQstC+0Lgg0L/QsNGC0YLQtdGA0L3RiyDQuCDQs9C+0YLQvtCy0Ysg0YDQsNCx0L7RgtCw0YLRjCDQvdCw0LQg0LrQvtC80L/RgNC+0LzQuNGB0YHQsNC80Lg6INGC0YDQtdCy0L7QttC90YvQuSDigJQg0YPQstCw0LbQsNGC0Ywg0LDQstGC0L7QvdC+0LzQuNGOLCDQuNC30LHQtdCz0LDRjtGJ0LjQuSDigJQg0YPRh9C40YLRjNGB0Y8g0LLRi9GA0LDQttCw0YLRjCDRh9GD0LLRgdGC0LLQsC48L3A+JyArCiAgICAgICc8cD48c3Ryb25nPtCa0LDQuiDQtNC+0LvQs9C+INGE0L7RgNC80LjRgNGD0LXRgtGB0Y8g0L3QsNC00ZHQttC90LDRjyDQv9GA0LjQstGP0LfQsNC90L3QvtGB0YLRjD88L3N0cm9uZz48YnI+0K3RgtC+INC40L3QtNC40LLQuNC00YPQsNC70YzQvdC+LiDQmNC30LzQtdC90LXQvdC40Y8g0LzQvtCz0YPRgiDQvdCw0YfQsNGC0YzRgdGPINGD0LbQtSDRh9C10YDQtdC3INC90LXRgdC60L7Qu9GM0LrQviDQvNC10YHRj9GG0LXQsiDQsdC10LfQvtC/0LDRgdC90L7Qs9C+INC+0L/Ri9GC0LAsINC90L4g0LPQu9GD0LHQuNC90L3QsNGPINC/0LXRgNC10YHRgtGA0L7QudC60LAg0LfQsNC90LjQvNCw0LXRgiDQvtCx0YvRh9C90L4g0L7RgiDQs9C+0LTQsCDQtNC+INC90LXRgdC60L7Qu9GM0LrQuNGFINC70LXRgiDQvtGB0L7Qt9C90LDQvdC90L7QuSDRgNCw0LHQvtGC0YsuPC9wPicgKwogICAgICAnPHA+PHN0cm9uZz7Qn9C+0YfQtdC80YMg0Y8g0L7QtNC90L7QstGA0LXQvNC10L3QvdC+INGF0L7Rh9GDINCx0LvQuNC30L7RgdGC0Lgg0Lgg0LHQvtGO0YHRjCDQtdGRPzwvc3Ryb25nPjxicj7QrdGC0L4g0YXQsNGA0LDQutGC0LXRgNC90L4g0LTQu9GPINGC0YDQtdCy0L7QttC90L4t0LjQt9Cx0LXQs9Cw0Y7RidC10LPQviDRgtC40L/QsCwg0LrQvtGC0L7RgNGL0Lkg0YTQvtGA0LzQuNGA0YPQtdGC0YHRjyDQv9GA0Lgg0L/RgNC+0YLQuNCy0L7RgNC10YfQuNCy0L7QvCDQvtC/0YvRgtC1INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4LiDQktC90YPRgtGA0LXQvdC90LjQuSDQutC+0L3RhNC70LjQutGCINC80LXQttC00YMg0L/QvtGC0YDQtdCx0L3QvtGB0YLRjNGOINCyINC30LDRidC40YLQtSDQuCDRgdGC0YDQsNGF0L7QvCDQvtGC0LLQtdGA0LbQtdC90LjRjyDQuNC70Lgg0L/QvtCz0LvQvtGJ0LXQvdC40Y8g0YHQvtC30LTQsNGR0YIg0YLQsNC60LjQtSDQutCw0YfQtdC70LguPC9wPicgKwoKICAgICAgJzxoMz7QmNGB0YLQvtGH0L3QuNC60Lg8L2gzPicgKwogICAgICAnPGRpdiBjbGFzcz0ibm4tZ2VuLXF1aXotc291cmNlcyI+PG9sPicgKwogICAgICAnPGxpPkJvd2xieSwgSi4gKDE5NjkpLiA8ZW0+QXR0YWNobWVudCBhbmQgTG9zcy4gVm9sLiAxOiBBdHRhY2htZW50LjwvZW0+IE5ldyBZb3JrOiBCYXNpYyBCb29rcy48L2xpPicgKwogICAgICAnPGxpPkFpbnN3b3J0aCwgTS4gRC4gUy4sIEJsZWhhciwgTS4gQy4sIFdhdGVycywgRS4sICYgV2FsbCwgUy4gKDE5NzgpLiA8ZW0+UGF0dGVybnMgb2YgQXR0YWNobWVudDogQSBQc3ljaG9sb2dpY2FsIFN0dWR5IG9mIHRoZSBTdHJhbmdlIFNpdHVhdGlvbi48L2VtPiBMYXdyZW5jZSBFcmxiYXVtLjwvbGk+JyArCiAgICAgICc8bGk+QmFydGhvbG9tZXcsIEsuLCAmIEhvcm93aXR6LCBMLiBNLiAoMTk5MSkuIEF0dGFjaG1lbnQgc3R5bGVzIGFtb25nIHlvdW5nIGFkdWx0czogQSB0ZXN0IG9mIGEgZm91ci1jYXRlZ29yeSBtb2RlbC4gPGVtPkpvdXJuYWwgb2YgUGVyc29uYWxpdHkgYW5kIFNvY2lhbCBQc3ljaG9sb2d5LCA2MTwvZW0+KDIpLCAyMjbigJMyNDQuPC9saT4nICsKICAgICAgJzxsaT5IYXphbiwgQy4sICYgU2hhdmVyLCBQLiAoMTk4NykuIFJvbWFudGljIGxvdmUgY29uY2VwdHVhbGl6ZWQgYXMgYW4gYXR0YWNobWVudCBwcm9jZXNzLiA8ZW0+Sm91cm5hbCBvZiBQZXJzb25hbGl0eSBhbmQgU29jaWFsIFBzeWNob2xvZ3ksIDUyPC9lbT4oMyksIDUxMeKAkzUyNC48L2xpPicgKwogICAgICAnPGxpPk1pa3VsaW5jZXIsIE0uLCAmIFNoYXZlciwgUC4gUi4gKDIwMTYpLiA8ZW0+QXR0YWNobWVudCBpbiBBZHVsdGhvb2Q6IFN0cnVjdHVyZSwgRHluYW1pY3MsIGFuZCBDaGFuZ2UuPC9lbT4gR3VpbGZvcmQgUHJlc3MuPC9saT4nICsKICAgICAgJzxsaT5Xb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uICgyMDIzKS4gPGVtPkludGVybmF0aW9uYWwgQ2xhc3NpZmljYXRpb24gb2YgRGlzZWFzZXMsIDExdGggUmV2aXNpb24gKElDRC0xMSkuPC9lbT4g0KDQsNC30LTQtdC7LCDQv9C+0YHQstGP0YnRkdC90L3Ri9C5INGA0LDRgdGB0YLRgNC+0LnRgdGC0LLQsNC8LCDRgdCy0Y/Qt9Cw0L3QvdGL0Lwg0YHQviDRgdGC0YDQtdGB0YHQvtC8INC4INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtGM0Y4uPC9saT4nICsKICAgICAgJzxsaT5BbWVyaWNhbiBQc3ljaGlhdHJpYyBBc3NvY2lhdGlvbiAoMjAyMikuIDxlbT5EaWFnbm9zdGljIGFuZCBTdGF0aXN0aWNhbCBNYW51YWwgb2YgTWVudGFsIERpc29yZGVycywgRmlmdGggRWRpdGlvbiwgVGV4dCBSZXZpc2lvbiAoRFNNLTUtVFIpLjwvZW0+INCT0LvQsNCy0LAg0L4g0YDQtdCw0LrRgtC40LLQvdC+0Lwg0YDQsNGB0YHRgtGA0L7QudGB0YLQstC1INC/0YDQuNCy0Y/Qt9Cw0L3QvdC+0YHRgtC4INC4INC00LXQt9C40L3Qs9C40LHQuNGA0L7QstCw0L3QvdC+0Lwg0YDQsNGB0YHRgtGA0L7QudGB0YLQstC1INGB0L7RhtC40LDQu9GM0L3QvtC5INCy0L7QstC70LXRh9GR0L3QvdC+0YHRgtC4LjwvbGk+JyArCiAgICAgICc8L29sPjwvZGl2Pic7CiAgfQoKICBmdW5jdGlvbiByZXNldFF1aXooKSB7CiAgICBxdWl6U3RhdGUuY3VycmVudFF1ZXN0aW9uID0gMDsKICAgIHF1aXpTdGF0ZS5hbnN3ZXJzID0gW107CiAgICBxdWl6U3RhdGUuYW54aWV0eVNjb3JlID0gMDsKICAgIHF1aXpTdGF0ZS5hdm9pZGFuY2VTY29yZSA9IDA7CiAgICBxdWl6U3RhdGUuZmluYWxpemVkID0gZmFsc2U7CiAgICBkb20ucmVzdWx0QmxvY2suc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIGRvbS5hcnRpY2xlQmxvY2suc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgIGRvbS5xdWVzdGlvbnNCbG9jay5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgIGRvbS5zdGFydEJsb2NrLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBkb20ucmVzdWx0Q2FyZC5pbm5lckhUTUwgPSAnJzsKICAgIGRvbS5hcnRpY2xlQmxvY2suaW5uZXJIVE1MID0gJyc7CiAgICB1cGRhdGVQcm9ncmVzcygpOwogICAgcmVuZGVyUXVlc3Rpb24oKTsKICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogZG9tLnF1ZXN0aW9uc0Jsb2NrLm9mZnNldFRvcCAtIDQwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgfQoKICBmdW5jdGlvbiBzdGFydFF1aXooKSB7CiAgICBxdWl6U3RhdGUuY3VycmVudFF1ZXN0aW9uID0gMDsKICAgIHF1aXpTdGF0ZS5hbnN3ZXJzID0gW107CiAgICBxdWl6U3RhdGUuYW54aWV0eVNjb3JlID0gMDsKICAgIHF1aXpTdGF0ZS5hdm9pZGFuY2VTY29yZSA9IDA7CiAgICBxdWl6U3RhdGUuZmluYWxpemVkID0gZmFsc2U7CiAgICBkb20uc3RhcnRCbG9jay5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgZG9tLnJlc3VsdEJsb2NrLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBkb20uYXJ0aWNsZUJsb2NrLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICBkb20ucXVlc3Rpb25zQmxvY2suc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICBkb20ucmVzdWx0Q2FyZC5pbm5lckhUTUwgPSAnJzsKICAgIGRvbS5hcnRpY2xlQmxvY2suaW5uZXJIVE1MID0gJyc7CiAgICB1cGRhdGVQcm9ncmVzcygpOwogICAgcmVuZGVyUXVlc3Rpb24oKTsKICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogZG9tLnF1ZXN0aW9uc0Jsb2NrLm9mZnNldFRvcCAtIDQwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgfQoKICBmdW5jdGlvbiBuZXh0UXVlc3Rpb24oKSB7CiAgICBpZiAocXVpelN0YXRlLmFuc3dlcnNbcXVpelN0YXRlLmN1cnJlbnRRdWVzdGlvbl0gPT09IHVuZGVmaW5lZCkgcmV0dXJuOwogICAgcXVpelN0YXRlLmN1cnJlbnRRdWVzdGlvbisrOwogICAgaWYgKHF1aXpTdGF0ZS5jdXJyZW50UXVlc3Rpb24gPj0gcXVpelN0YXRlLnRvdGFsUXVlc3Rpb25zKSB7CiAgICAgIHF1aXpTdGF0ZS5maW5hbGl6ZWQgPSB0cnVlOwogICAgICBzaG93UmVzdWx0KCk7CiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogZG9tLnJlc3VsdEJsb2NrLm9mZnNldFRvcCAtIDQwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICB9IGVsc2UgewogICAgICB1cGRhdGVQcm9ncmVzcygpOwogICAgICByZW5kZXJRdWVzdGlvbigpOwogICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IGRvbS5xdWVzdGlvbnNCbG9jay5vZmZzZXRUb3AgLSA0MCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pOwogICAgfQogIH0KCiAgZG9tLmJ0blN0YXJ0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgc3RhcnRRdWl6KTsKICBkb20uYnRuTmV4dC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG5leHRRdWVzdGlvbik7CiAgZG9tLmJ0blJlc2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVzZXRRdWl6KTsKfSkoKTsK Спросить у ИИ Задайте вопрос по этой странице
Оцените страницуПонравилось Не понравилось