Схема похудения


Что такое программа похудения

Каждому желающему избавиться от лишних килограммов следует знать, что программа для похудения представляет собой комплексный подход, включающий в себя конкретный график тренировок и оптимальный рацион питания. Чтобы сделать фигуру стройной и спортивной, необходимо разработать индивидуальную схему, основываясь на уже известных комплексах. Чтобы добиться необходимого похудения, у вас должен быть конкретный план действий, поэтому подберите упражнения, составьте график, скорректируйте меню и обязательно записывайте свои результаты.

График на месяц

Программа питания и тренировок для похудения предполагает разработку конкретного графика на определенный срок, к примеру, на месяц. Составьте распорядок тренировок – лучше всего заниматься через день, но никак не чаще. Если вы увеличите интенсивность кардиотренировок, аэробных или силовых упражнений, то ваш организм не будет успевать восстанавливаться. Продолжительность тренировок должна составлять не меньше 45 минус, но не больше 1,5 часа. Для того чтобы запустить процесс сжигания жира этого хватит.


Как составить план

Прежде чем сесть на жесткую диету или записаться в тренажерный зал, составьте индивидуальный распорядок для сброса веса. Результат любой деятельности в большей степени зависит от четко поставленной цели и заранее составленного плана для ее достижения. Процесс, направленный на снижение веса ,не является исключением. Чтобы составить эффективный план вам понадобится:

  • определить сроки;
  • распределитель количество приемов пищи;
  • четко продумать план питания;
  • разработать индивидуальный комплекс тренировок.

Девушка с овощами и гантелей

Как похудеть за месяц

План похудения, который поможет скинуть лишние килограммы всего за 30 дней, должен быть составлен так, чтобы процесс сброса веса не навредил вашему здоровью. Не слишком быстрый, но действенный метод снижения массы подразумевает сочетание определенной физической нагрузки со скорректированным меню. Забудьте об изнурительных тренировках и строгих диетах, лучше соблюдайте следующие 5 железных правил:


  • Вычеркните из рациона жареную и жирную пищу, белый хлеб, фастфуд, сладости.
  • Пейте в день до 1,5-2 л воды, но не кофе, чай, компоты.
  • Завтракайте, обедайте и ужинайте каждый день в одно и то же время.
  • Забудьте о том, что худеете – просто наслаждайтесь процессом.
  • Не забывайте больше двигаться – не засиживайтесь на рабочем месте.

В тренажерном зале

Запустить процесс снижения веса­ можно и в случае, если усердно заниматься на тренажерах. Если вы новичок, то лучше воспользуйтесь услугами персонального тренера. С помощью различных упражнений можно существенно увеличить мышцы, но при этом не забывайте про кардиотренировки – занимайтесь на беговой дорожке, степпере, эллиптическом тренажере и т.д. Тренировка для похудения должна занимать около 1.5 часа – не забывайте про разминку в 5-10 минут.

При выборе силовых упражнений вам следует прорабатывать самые крупные группы мышцы: грудь, спину, ноги. При работе с ними тратится максимум энергии, что позволит сжечь больше калорий. Каждое упражнение желательно делать по 3-4 подхода. После занятия обязательно сделайте растяжку. Очень важно иметь качественный сон, без него ваша результативность уменьшится до нуля. К силовым упражнениям, которые помогут в снижении веса, относятся:

  • приседания со штангой;
  • жим лежа;
  • жим стоя с груди:
  • отжимания от пола;
  • сгибание рук со штангой и др.

Видео: техника выполнения жима лежа

В домашних условиях

Нужен эффективный план питания и тренировок для похудения в домашних условиях? В таком случае обратите внимание на несколько упражнений. При этом не забывайте о сбалансированном рационе­ и полном отказе от перееданий. Очень важна подготовка к занятиям, которая должна включать разминочные упражнения: наклоны туловища вправо и влево, легкий бег на месте и т.д. Чтобы снижение веса за 4-5 недель было результативным, выберите оптимальный перечень упражнений, делать которые нужно по 10-20 повторений в 2-3 подхода:

  • классические подъемы туловища;
  • боковая планка;
  • скручивания;
  • подъемы таза в лежачем положении;
  • приседания;
  • выпады;
  • катание на спине;
  • прыжки на скакалке;
  • махи ногами назад и др.

План питания для похудения на месяц

Здоровый режим, который поможет убрать лишний жир, включает в себя не меньше 5 легких приемов пищи:

  1. Завтрак представляет собой самую питательную трапезу – в него можно включить йогурт (нежирный), свежие фрукты, мюсли с овсяными хлопьями.
  2. На обед можно сделать какой-либо суп, овощной салат с рисом.
  3. Для ужина лучше приготовить отварную грудку птицы с салатом/запеченную рыбу с овощами.
  4. Для перекусов выберите свежие овощи, яблоки.

Принципы правильного питания

Для снижения веса очень важно разработать определенный план. За 3-4 недели четко выполняемых действий, таких как регулярные занятия спортом и правильное питание, вы сможете довести эти привычки до автоматизма. Сам процесс уменьшения лишнего веса станет не только быстрым, но и упорядоченным, а результат в итоге окажется стабильным. Рекомендуется делать упор на продукты растительного происхождения, не забывая про мясо с рыбой. Принципы правильного питания:

  • Дробное питание. Нужно питаться в среднем по 4-5 раз в сутки.
  • Калорийность. Формула такая: 0,9 х желаемый вес (кг) х 24. При этом нужно учесть, что часть калорий затрачивается на ту или иную деятельность, поэтому к получившейся цифре можно добавить несколько сотен ккал.

  • Соотношение БЖУ (белков, жиров, углеводов). Оптимальным вариантом является значение в пределах 2-2,5:0,8-1:1,2-2.
  • Объем порций. Питаясь по 5-6 раз в день следите, чтобы объем порции составлял не больше 250-300 г.
  • Водный баланс. Пейте около 2 литров чистой воды в день – лучше всего минеральной.

Еда на тарелке

Что необходимо исключить из рациона

Начинать коррекцию своего рациона, который должен стать низкокалорийным, необходимо с исключения продуктов, употребление которых будет увеличивать вашу массу. При этом ваше ежедневное питание должно включать в себя все необходимые для организма элементы. Только грамотно подобранная система питания поможет привести вес в норму и избавиться от жира в проблемных местах. Исключите из рациона такие продукты:

  • мучное;
  • копчености;
  • кондитерские изделия;
  • сладкие и газированные напитки;
  • продукты быстрого приготовления;
  • колбасы;
  • хлебобулочные изделия из пшеничной муки.

Какие продукты способствуют похудению


Диетологи рекомендуют желающим уменьшить вес помимо введения ограничения на объем порций и калорийность питания прибегнуть к продуктам, способствующим похудению. При этом не следует забывать, что результат зависит как от особенностей организма худеющего, так и от его возраста. К продуктам, помогающим в процессе, относятся арахис, кедровые и грецкие орехи, миндаль, яблоки, инжир, грейпфрут, ананас, сухофрукты, капуста, морковь, кефир и некоторые другие.

Меню на месяц

Похудеть девушкам и парням без правильного подобранного питания очень сложно. Даже такой фактор, как фитнес, может оказаться в этом случае не совсем успешным. Решив составить меню самостоятельно, помните, что мясо с рыбой не нужно полностью исключать из питания – это не диета. От дефицита кальция вас спасут молоко, йогурт, творог. Заведите онлайн-дневник, куда будете вписывать свое питание и все тренировки. Пример здорового питания на 1 день, который вы можете взять за образец и использовать для снижения веса на протяжении продолжительного времени, делая некоторые корректировки:

  • Завтрак: клетчатка с углеводами.
  • Второй завтрак: белковая пища, к примеру, йогурт, творог с фруктами.
  • Обед: белки с углеводами, к примеру, суп, куриный бульон.
  • Полдник: фрукты.
  • Ужин: белок, к примеру, мясное или рыбное филе.
  • На ночь: творог или кефир.

Куриный бульон

План тренировок

Сбросить лишние килограммы и укрепить тело вы можете, прибегнув к грамотно спланированному тренировочному процессу. При этом не забывайте потреблять необходимое количество здоровой пищи и пить воду. Ваша задача – это правильно распределить силовую и кардионагрузку так, чтобы тело серьезно работало каждый будний день, но не перенапрягалось. В выходные позвольте ему восстановиться. Примерный план занятий:

  • Понедельник – силовая, кардио.
  • Вторник – кардио.
  • Среда – силовая.
  • Четверг – кардио.
  • Пятница – силовая, кардио.
  • Суббота и воскресенье – отдых.

Фитнес-программа

Занялись составлением пошагового тренинга, который будет обеспечивать вам постепенное снижение веса с дальнейшим закреплением результата? В таком случае прибегните к фитнесу. Тренироваться лучше всего 3 раза в неделю через день по 40-60 минут. Если график не позволяет или у вас есть силы, то порой можете вносить корректировку и тренироваться два раза подряд. В некоторые дни вам предстоит уделить и кардио-тренингу: беговая дорожка, эллиптический тренажер, велосипед. Примерная программа на 1 день, которая может стать основой:

  • Приседания – 15 раз.
  • Выпады с гантелями в руках – по 10 раз каждой ногой.
  • Тяга гантели к поясу одной рукой – по 10 раз каждой рукой.
  • Подтягивания – как можно больше.
  • Жим штанги на наклонной скамье – 12 раз.
  • Растяжка.

Силовые упражнения

План питания и тренировок для похудения должен включить силовые тренировки, хотя бы малой интенсивности. Благодаря им тело станет более подтянутым и рельефным. Совмещать их вместе с кардионагрузкой не рекомендуется. Перед тренировкой нужно хорошенько размяться, чтобы сделать мышцы более эластичными. Эффективные силовые упражнения – каждый вид нагрузки нужно выполнять по 10-20 раз 3 подхода:

  • выпады;
  • подъем ног;
  • приседания:
  • отжимания;
  • разведение рук в стороны с гантелями;
  • прокачивание мышц пресса;
  • разгибание ног сидя.

Видео: разведения рук с гантелями стоя

Чередование кардио и силовых тренировок


Сочетание силовых и кардионагрузок – это идеальное решение для сброса веса. Чередовать их можно как по дням, так и в рамках одного занятия. К примеру, неплохим вариантом является интервальная тренировка, подразумевающая совмещение обоих типов нагрузки за одно посещение спортзала. В таком случае чередовать кардио и силовые упражнения нужно через каждые 8 минут. Полностью раздельная тренировка подходит для тех, что посещает спортзал очень часто.

Расчет интенсивности физической нагрузки

План здорового питания и тренировок для похудения требует расчета интенсивности занятий. Один из способов решения этой задачи основывается на определении пульса. Рассчитывается предельно допустимая норма так: от 220 отнимается количество лет, к примеру, 220-50=170. Умеренная интенсивность физической активности – это 50-70% от максимально допустимого пульса. При высокой интенсивности этот показатель составляет 70-85%.

Схема тренировок для похудения

Занятие в тренажерном зале должно начинаться с разминки. Уделите примерно 15 минут беговой дорожке, степперу, велотренажеру или орбитреку. После этого можете приступить к тяге вертикального блока, которая поможет укрепить мышечный корсет спины. Оптимальный вес для начинающих девушек – 10-15 кг. Сделайте 3 подхода по 12 раз. Для проработки мышц средины спины выполните тягу горизонтального блока: вес – 10 кг, 3 подхода по 10 раз. Другие упражнения для снижения массы тела:


  • Классические разведения гантелей лежа. Начните с 3 кг – 3 подхода по 10 раз.
  • Одновременное сгибание рук с гантелями в положении стоя. Начните с 3 кг – 3 подхода по 15 раз.
  • Выполните на специальном тренажере сведение ног. Начните с 15-20 кг – 2 подхода по 20 раз.
  • Займитесь разведением ног, положив ноги под мягкий валик на специальном тренажере. Начните с 10-15 кг – 3 подхода по 12 раз.

Интервальная

Интервальная кардиотренировка для уменьшения объемов отлично подходит для всех тех, кто отдает предпочтение силовым занятиям. Время выполнения составляет 30-40 минут. Для этого занятия вам понадобится беговая дорожка и скакалка. Минут 5 предстоит размяться в спокойном темпе, чтобы слегка вспотеть, а пульс достиг 110. В процессе пейти жидкость (воду комнатной температуры). После этого вас ожидает серьезная, но действенная тренировка, помогающая в похудении:

  • Бегайте 3 минуты в повышенном темпе (пульс 130-140), после чего уделите 2 минуты прыжкам со скакалкой. Повторите блок.
  • Прыгайте со скакалкой 1 минуту, после чего постепенно увеличивайте темп в течение 4 минут. Повторите.
  • На протяжении 10 минут чередуйте поминутно ускорение и работу в медленном темпе.
  • Заминка. Медленное побегайте 3-5 минут, растяните ягодицы, поясницу, квадрицепсы.

Девушка прыгает на скакалке

Круговая

Запустить процесс снижения массы тела можно и с помощью круговой тренировки. Ее длительность составляет 15-60 минут. За это время нужно выполнить 3-8 циклов, состоящих из 10-12 упражнений, перерыв между которыми должен составлять 2-5 минут. Разрыв между кругами не должен превышать 2-5 минут. Классическая программа для похудения состоит из:

  • приседаний;
  • отжиманий;
  • упора присев;
  • прыжков «морская звезда»;
  • качаний пресса;
  • прыжков через скакалку;
  • челночного бега;
  • небольшой пробежки.

Кроссфит

Для похудения отлично подходит и кроссфит, базовые упражнения которого состоят из приседаний, подтягиваний, отжиманий и прыжков. Вариантов в этой методике огромное множество, поэтому для выбора подходящей программы лучше прибегнуть к помощи профессионального тренера. Во время тренировок затрачивается большое количество энергии, потому питание должно быть соответствующим. Добиться похудения с кроссфитом в целом можно – одновременно с этим вы неплохо накачаетесь. Некоторые упражнения:

  • «Бурпи». Присядьте, упершись руками в пол – ноги при этом касаются груди. Встаньте в упор лежа и откиньте ноги. Вернитесь в изначальное положение и выпрыгните наверх.
  • «Киппинг». Обычные подтягивания на турнике, которые нужно делать быстро.
  • «Приседание». Упражнение похоже на обычные приседания, но во время подъема следует изо всех сил выпрыгивать вверх.

allslim.ru

Шаг №1. Анализ и самодиагностика

Чтобы определить цель, необходимо провести самодиагностику. Это важный этап начала похудения, ведь полученный результат становится единственным ориентиром, о котором следует помнить на протяжении всей программы.

Заведите личный блокнот, в котором вы сможете отражать все этапы составленного плана. Он должен вам нравиться, ведь в ближайшее время вы будете открывать его несколько раз в день.

  • Произведите расчеты идеального веса для себя. Вы можете воспользоваться калькулятором расчета идеального веса либо взять за основу тот вес, в котором вы когда-то чувствовали себя комфортно и хорошо. Помните, что конечная цель должна быть реальной, поэтому не переоценивайте свои силы и возможности.
  • Сделайте основные замеры объемов тела (груди, живота, бедер). В процессе похудения случаются моменты, когда вес «стоит» на месте, а объемы продолжают уменьшаться.
  • Запишите начальные замеры в блокнот.
  • Чтобы вам было легче следить за своими результатами, скачайте тут табличку, в которой можно отмечать свои замеры и дату измерений. (ссылка ведет на яндекс диск — это абсолютно безопасно и бесплатно)

Психологический аспект. Многие люди откровенно задают себе вопрос: «Почему я не могу перестать жрать?». Иногда причиной становится стресс, депрессии, хроническое недосыпание, усталость – с этими моментами тоже следует бороться. Для лучшей мотивации придумайте себе стимул.

Шаг №2. Ставим цель и сроки

Вы произвели расчеты и получили определенные результаты – они становятся главной целью, которую можно визуализировать, чтобы не сорваться. Сделайте красочный плакат, разместите на видном месте свое фото, где вы себе нравитесь и т. д.

Установите реальные сроки. Не торопите события, быстрое похудение приводит к такому же быстрому возврату веса либо к срывам. Оптимальное снижение массы тела – 3–4 кг в месяц. Взвешивайтесь 1 раз в неделю, и фиксируйте полученные результаты в своем дневнике.

Шаг №3. Рассчитываем калорийность рациона

Запустить процесс похудения без ограничения калорийности не получится. Рассчитать необходимый объем можно в домашних условиях с помощью специального калькулятора, либо используя формулу:

Мужчины:

От 18 до 30 лет (0,0630 × Вес, кг + 2,8957) × 240

От 30 до 60 лет (0,0484 × Вес, кг + 3,6534) × 240

Женщины:

От 18 до 30 лет (0,0621 × Вес, кг + 2,0357) × 240

От 30 до 60 лет (0,0342 × Вес, кг + 3,5377) × 240

Далее полученный результат необходимо умножить на коэффициент, соответствующий уровню физической нагрузки:

1,1 – низкий уровень

1,3 – умеренная нагрузка

1,5 – высокий уровень.

Если женщине 25 лет, весит она 69 кг, работает в офисе, но у нее есть ребенок, с которым она часто играет в активные игры, то мы получим следующий результат:

Рацион, Ккал = (0,0621 × 69 + 2,0357) × 240 = 1517 × 1,3 = 1972.

Полученный результат может стать сигналом для того, чтобы закончить «жрать», и начать питаться правильно.

Существует другой способ расчета суточной калорийности. Для этого нужно выполнить следующие шаги:

  • Рассчитываем расход калорий за сутки.
  • Рассчитываем среднее потребление калорий за день (для этого нужно несколько дней вести пищевой дневник, записывая в нем все, что съели и выпили).
  • Если объем съеденных калорий превышает объем растраченной энергии, то от результата «Расход калорий» отнимаем 500 Ккал. Если вы ежедневно тратите энергию на 1800 Ккал, то начать худеть вы сможете, если калорийность рациона будет составлять 1300 Ккал.

Важно! В среднем для похудения человеку нужно съедать не менее 1000 Ккал, и не более 1500 Ккал в день. Расчеты строго индивидуальны и зависят от начального веса, роста, возраста, пола и физической активности.

Шаг №4. Рассчитываем потребность в БЖУ

Чтобы снижение веса в домашних условиях осуществлялось более эффективно нужно не просто перестать «жрать». Энергетическая ценность продуктов состоит из белков, жиров и углеводов – это и есть основа питания. При увеличении в рационе жиров и простых углеводов человек начинает толстеть. Белки напротив – помогают худеть.

Чтобы худеть, ежедневно следует кушать БЖУ в среднем в следующих количествах:

Белки – 1 грамм на 1 кг веса.

Жиры – 0,5 грамм на 1 кг веса.

Углеводы – 2–3 грамма на 1 кг веса.

При снижении веса количество БЖУ будет меняться. Чтобы точно определять БЖУ своего рациона воспользуйтесь таблицами калорийности с указанием БЖУ, приложением для телефона или онлайн калоризаторами. Для точности расчета лучше приобрести электронные кухонные весы.

Шаг №5. Составляем питьевой рацион

Для похудения важно не только перестать «жрать», необходимо уделить внимание достаточному потреблению простой негазированной воды. Каждому человеку необходимо выпивать не менее 30 мл воды на 1 кг веса. Чай, кофе и другие напитки не учитываются – важно приучит себя именно к простой воде, которая не задерживается в организме и выводит все токсины и шлаковые накопления.

Узнайте все секреты, изучив статью о том, как правильно пить воду, чтобы похудеть на нашем сайте.

Основной объем жидкости необходимо выпивать в первой половине дня, чтобы препятствовать образованию отеков.

Шаг №6. Составляем режим питания с учетом калорий и БЖУ

Правильное снижение веса происходит не на фоне голодания или однократного и обильного употребления пищи за день. Питаться нужно 5–6 раз в день, но объем порций при этом должен быть не более 250 грамм. Получается в среднем 3 полноценных приема пищи (завтрак, обед и ужин) + 2–3 перекуса между ними. Этот же прием помогает не сорваться в первые дни похудения.

Обозначьте завтрак через 20-40 минут после пробуждения, а следующие приемы пищи через каждые 3-3,5 часа. Основной ужин должен быть за 2-3 часа до сна, а если прошло более 4 часов, сделайте второй ужин.

Суточный объем калорий необходимо распределять между приемами пищи таким образом, чтобы большая половина была съедена до 14 часов дня. При этом завтрак для похудения должен состоять преимущественно из углеводов, а ужин желательно делать только белковым.

Шаг №7. Составляем индивидуальное меню

Для составления меню можно воспользоваться специальными таблицами, содержащими информацию о калорийности и БЖУ. Блюда выбирать лучше в соответствии с личными предпочтениями. Если в рационе останутся любимые продукты, то сорваться будет сложнее.

Сразу составьте список запрещенных продуктов и добавок для себя. Исключить из рациона придется все продукты, от которых толстеют: колбасные изделия, мучное, сладости, газированные и сладкие напитки, жирные продукты, майонез и другие жиросодержащие соусы. От перечисленных продуктов лучше отказаться навсегда.

Всегда планируйте свое питание заранее. Заранее составляйте список покупок в продуктовый магазин. Заранее придумывайте и готовьте, то что вы будете кушать. Лучше это делать либо с вечера на завтра, либо с утра на день (в этом случае завтрак у вас уже должен быть продуман).

Приобретите для себя новую посуду небольшого размера. Она должна быть красивой и поднимать настроение.

143163949989746179

Шаг №8 Подбираем физические нагрузки

Если не сразу, то на определенном этапе вам придется подключить физическую активность. Какая она будет решать вам. Вы можете выбрать любой вид: домашние упражнения, бег, тренажеры, табата фитнес, танцы, велосипед, плавание и т.д. Важно, чтобы физические нагрузки доставляли вам удовольствие, тогда вы сможете проводить их регулярно и добиться потрясающих результатов в снижении веса.

Теперь вы знаете, с чего начать худеть. Несмотря на общепринятое мнение о том, что нужно просто перестать жрать, осознанный подход к процессу похудения дает более эффективные результаты. При составлении плана для похудения и при проведении всех расчетов в домашних условиях вы узнаете, сколько кушаете на самом деле, и насколько малоподвижный образ жизни ведете. Нам только кажется, что мы едим мало, и весь день «на ногах», и расчеты вам это докажут – поэтому мы и толстеем.

Составляйте свой план похудения, ищите действенную мотивацию и начинайте преображаться изнутри и снаружи как можно скорее!

uroki-pitaniya.ru

PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMScgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCIgY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciPg0KPHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCiAgICA8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSIgc3R5bGU9ImRpc3BsYXk6YmxvY2siIA0KICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyIgDQogICAgZGF0YS1hZC1zbG90PSI3MTU3OTE2MjE1Ij48L2lucz4NCiAgICA8c2NyaXB0Pg0KICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGlkZGVuLW1kLCAuaGlkZGVuLWxnJyk7DQogICAgICAgIHZhciBkaXNwbGF5ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Rpc3BsYXknKTsNCiAgICAgICAgdmFyIGlucyA9IGVsLnF1ZXJ5U2VsZWN0b3IoJ2lucycpOw0KICAgICAgICBpZiAoZGlzcGxheSA9PT0gJ2Jsb2NrJyl7DQogICAgICAgICAgICBpbnMuc2V0QXR0cmlidXRlKCdkYXRhLWFkLWZvcm1hdCcsICdhdXRvJyk7DQogICAgICAgIH0NCiAgICAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCiAgICA8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0xJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiIGNsYXNzPSJoaWRkZW4tbWQgaGlkZGVuLWxnIj4NCjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQogICAgPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIiANCiAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciIA0KICAgIGRhdGEtYWQtc2xvdD0iOTk0NjE4NjQ4NCI+PC9pbnM+DQogICAgPHNjcmlwdD4NCiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhpZGRlbi1tZCwgLmhpZGRlbi1sZycpOw0KICAgICAgICB2YXIgZGlzcGxheSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXNwbGF5Jyk7DQogICAgICAgIHZhciBpbnMgPSBlbC5xdWVyeVNlbGVjdG9yKCdpbnMnKTsNCiAgICAgICAgaWYgKGRpc3BsYXkgPT09ICdibG9jaycpew0KICAgICAgICAgICAgaW5zLnNldEF0dHJpYnV0ZSgnZGF0YS1hZC1mb3JtYXQnLCAnYXV0bycpOw0KICAgICAgICB9DQogICAgICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQogICAgPC9zY3JpcHQ+DQo8L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMSc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctNyAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny03Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0xJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny00IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTQiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMicgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzIgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSI1MTIxMzA1Mjk1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0yJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18yIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNTEyMTMwNTI5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMic+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOCAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny04Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0yJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny01IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTUiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMycgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzMgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSIxNTYxMjEwNTI1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0zJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18zIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMTU2MTIxMDUyNSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMyc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOSAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny05Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0zJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny02IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTYiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=

slimim.com


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.