{"id":38539,"date":"2025-11-03T11:55:46","date_gmt":"2025-11-03T10:55:46","guid":{"rendered":"https:\/\/www.vaia.eu\/?page_id=38539"},"modified":"2026-06-11T10:33:09","modified_gmt":"2026-06-11T08:33:09","slug":"home-2","status":"publish","type":"page","link":"https:\/\/www.vaia.eu\/de\/","title":{"rendered":"Home"},"content":{"rendered":"\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<style>\n  \/* Hero section a tutta altezza *\/\n  .hero-video {\n    position: relative;\n    width: 100%;\n    height: 100vh; \/* sempre altezza dello schermo *\/\n    overflow: hidden;\n  }\n\n  .hero-video video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover; \/* riempie la sezione senza deformarsi *\/\n    z-index: 1;\n  }\n\n  \/* Contenuto sopra il video *\/\n  .hero-video .hero-content {\n    position: relative;\n    z-index: 2; \/* sopra il video *\/\n    padding: 2rem;\n    color: #fff;\n  }\n\n  \/* Versioni desktop\/mobile *\/\n  #video-desktop { display: none; }\n  #video-mobile { display: none; }\n\n  @media (min-width: 769px) {\n    #video-desktop { display: block; }\n  }\n\n  @media (max-width: 768px) {\n    #video-mobile { display: block; }\n  }\n<\/style>\n\n<div class=\"hero-video\">\n  <!-- Video Desktop -->\n  <video id=\"video-desktop\" autoplay muted loop playsinline>\n    <source src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/09\/APPUNTI-SOCIAL-1.mp4\" type=\"video\/mp4\">\n  <\/video>\n\n  <!-- Video Mobile -->\n  <video id=\"video-mobile\" autoplay muted loop playsinline>\n    <source src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/09\/Storie-Foresta-2.mp4\" type=\"video\/mp4\">\n  <\/video>\n\n  <!-- Contenuto sopra il video -->\n  <div class=\"hero-content\">\n    <!-- Titoli, testo o bottoni sopra il video -->\n  <\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<script>\n(function() {\n    var redirectUrl = \"https:\/\/www.vaia.eu\/de\/new-home\/\";\n    var target = new Date(Date.UTC(2026, 5, 12, 18, 30, 0)).getTime();\n    function checkAndRedirect() {\n        if (new Date().getTime() >= target) { window.location.replace(redirectUrl); }\n    }\n    checkAndRedirect();\n    setInterval(checkAndRedirect, 60000);\n})();\n<\/script>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" style=\"margin-bottom: -5vh; margin-left:20px; padding-bottom: 0;\">Unsere Produkte<\/h2>\n\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/swiper@11\/swiper-bundle.min.css\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/swiper@11\/swiper-bundle.min.js\"><\/script>\n\n<div id=\"prodotti\" class=\"sezione\">\n  <h2 class=\"titolo-sezione\"><\/h2>\n  <div class=\"carosello-container\">\n    <div class=\"swiper carosello-prodotti\">\n      <div class=\"swiper-wrapper\">\n\n        <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_CUBE.jpg?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA Cube<\/h3><\/div>\n        <\/a>\n\n<a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-essential-aria\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/03\/3-1.png?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA Cube Essential Aria<\/h3><\/div>\n        <\/a>\n\n        <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-imperfetto\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_IMPERFETTO.jpg?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA Cube imperfetto<\/h3><\/div>\n        <\/a>\n\n        <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-cube-joy\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_JOY-2-1.jpg?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA Cube JOY<\/h3><\/div>\n        <\/a>\n\n        <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-people\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2024\/11\/people-piedistallo.jpg?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA People<br>Combo<\/h3><\/div>\n        <\/a>\n        \n        <a href=\"https:\/\/www.vaia.eu\/de\/produkt\/vaia-people-personalizzato\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/10\/People-Personalizzati-21-scaled.jpg?auto=compress&amp;cs=tinysrgb&amp;w=800');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA People Personalisiert<\/h3><\/div>\n        <\/a>\n        \n        <a href=\"https:\/\/www.vaia.eu\/de\/vaia-focus-2\/\" class=\"swiper-slide card-9-16 card-prodotto\">\n          <div class=\"card-bg\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/Focus-HP.jpg');\"><\/div>\n          <div class=\"card-content\"><h3 class=\"nome-prodotto\">VAIA Focus<\/h3><\/div>\n        <\/a>\n\n      <\/div>\n    <\/div>\n\n    <!-- \u2705 FRECCE solo desktop -->\n    <div class=\"swiper-button-prev\"><\/div>\n    <div class=\"swiper-button-next\"><\/div>\n\n    <div class=\"swiper-pagination\"><\/div>\n  <\/div>\n<\/div>\n\n<style>\n.sezione { background-color:#f4f0e5; }\n.titolo-sezione {\n  color:#0e3b26;  \n  font-size:2.8rem;  \n  background-color:transparent; \n  padding:0;  \n  border-radius:0;\n  margin-left:20px;\n  margin-bottom:-3vh;\n  padding-bottom:-3vh;\n\n}\n\n.carosello-container { position:relative; padding:60px 0; overflow:hidden; }\n.card-9-16 { aspect-ratio:9\/16; width:300px; border-radius:12px; overflow:hidden; position:relative; }\n.card-bg { width:100%; height:100%; background-size:cover; background-position:center; transition:transform 0.4s ease; }\n.card-9-16:hover .card-bg { transform: scale(1.08); }\n.card-content {\n  position:absolute; top:0; left:0; right:0; bottom:0;  \n  display:flex; justify-content:center; align-items:center;  \n  background:transparent;\n  text-align:center;\n}\n.card-content h3 { color:#f4f0e5; font-size:1.6rem; margin:0; text-shadow:0 2px 6px rgba(0,0,0,0.6); }\n\n.nome-prodotto {\n  opacity: 1;\n  transition: opacity 0.4s ease;\n  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.6);\n  padding: 10px;\n}\n\n.card-prodotto:hover .nome-prodotto {\n  opacity: 1;\n}\n\n\/* FRECCE: solo su desktop, off white, senza cerchio *\/\n.carosello-container .swiper-button-prev,\n.carosello-container .swiper-button-next {\n  color:#f4f0e5;\n  font-weight:600;\n  text-shadow:0 2px 8px rgba(0,0,0,0.4);\n  position:absolute;\n  top:50%;\n  transform:translateY(-50%);\n  z-index:10;\n  font-size:40px;\n  transition:opacity 0.3s ease, transform 0.3s ease;\n}\n.carosello-container .swiper-button-prev:hover,\n.carosello-container .swiper-button-next:hover {\n  opacity:0.8;\n  transform:translateY(-50%) scale(1.1);\n}\n\n.carosello-container .swiper-button-prev { left:10px; }\n.carosello-container .swiper-button-next { right:10px; }\n\n.carosello-container .swiper-pagination {\n  position:static;\n  margin-top:30px;\n}\n.carosello-container .swiper-pagination-bullet-active {\n  background-color:#0e3b26;\n}\n\n\/* Nascondi frecce su tablet e mobile *\/\n@media(max-width:1024px){\n  .carosello-container .swiper-button-prev,\n  .carosello-container .swiper-button-next {\n    display:none;\n  }\n}\n@media(max-width:768px){\n  .titolo-sezione { font-size:2rem; }\n}\n<\/style>\n\n<script>\n\/* Init robusto: collega i bottoni e la paginazione usando elementi DOM,\n   cos\u00ec i next\/prev funzionano sempre anche se la struttura HTML varia leggermente *\/\nfunction initCaroselloDOM(containerSelector, perViewConfig, loopValue = true) {\n  const containers = document.querySelectorAll(containerSelector);\n\n  containers.forEach(container => {\n    const swiperEl = container.querySelector('.swiper'); \/\/ l'elemento con class \"swiper\"\n    const prevBtn = container.querySelector('.swiper-button-prev');\n    const nextBtn = container.querySelector('.swiper-button-next');\n    const paginationEl = container.querySelector('.swiper-pagination');\n\n    if (!swiperEl) return;\n\n    \/\/ Inizializza Swiper passandogli gli elementi (non solo i selettori)\n    new Swiper(swiperEl, {\n      loop: loopValue,\n      grabCursor: true,\n      slidesPerGroup: 1,   \/\/ muove di un solo slide per click\n      speed: 600,\n      pagination: {\n        el: paginationEl,\n        clickable: true,\n      },\n      navigation: {\n        \/\/ se prevBtn\/nextBtn sono null, Swiper ignora la navigation senza crashare\n        prevEl: prevBtn || undefined,\n        nextEl: nextBtn || undefined,\n      },\n      breakpoints: perViewConfig\n    });\n  });\n}\n\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Nota: il selettore qui punta al contenitore che racchiude .swiper + bottoni + pagination\n  initCaroselloDOM('.carosello-container', {\n    320: { slidesPerView: 1.3, spaceBetween: 15 },\n    768: { slidesPerView: 3.2, spaceBetween: 20 },\n    1024: { slidesPerView: 5.3, spaceBetween: 30 },\n  });\n});\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\" style=\"margin-bottom: -5vh; margin-left:20px; padding-bottom: 0;\">Unsere Wirkung<\/h2>\n\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/swiper@11\/swiper-bundle.min.css\" \/>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/swiper@11\/swiper-bundle.min.js\"><\/script>\n\n<div id=\"aziende\" class=\"sezione-aziende-custom\">\n    <div class=\"carosello-container-aziende\">\n        <div class=\"swiper carosello-aziende-nuovo\">\n            <div class=\"swiper-wrapper\">\n\n      <a href=\"https:\/\/www.vaia.eu\/de\/project\/gletscher\/\" class=\"swiper-slide card-1-1 card-aziende-nuovo\">\n                    <div class=\"card-bg-aziende\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/HP-progetto-ghiacciai.jpg');\"><\/div>\n                    <div class=\"card-content-aziende\">\n                        <h3 class=\"nome-aziende-visibile\">Gletscher<\/h3>\n                    <\/div>\n                <\/a>\n\n <a href=\"https:\/\/www.vaia.eu\/de\/project\/dolomiten\/\" class=\"swiper-slide card-1-1 card-aziende-nuovo\">\n                    <div class=\"card-bg-aziende\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/HP-progetto-dolomiti.jpg');\"><\/div>\n                    <div class=\"card-content-aziende\">\n                        <h3 class=\"nome-aziende-visibile\">Dolomiten<\/h3>\n                    <\/div>\n                <\/a>                     \n\n             \n\n <a href=\"https:\/\/www.vaia.eu\/de\/project\/bostrico\/\" class=\"swiper-slide card-1-1 card-aziende-nuovo\">\n                    <div class=\"card-bg-aziende\" style=\"background-image:url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/HP-progetto-bostrico.jpg');\"><\/div>\n                    <div class=\"card-content-aziende\">\n                        <h3 class=\"nome-aziende-visibile\">Borkenk\u00e4fer<\/h3>\n                    <\/div>\n                <\/a>   \n                              \n            <\/div>\n        <\/div>\n        <div class=\"swiper-pagination-aziende\"><\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* ------------------------------------------------------------------ *\/\n\/* STILI ESCLUSIVI PER QUESTA SEZIONE (Correzioni per allineamento) *\/\n\/* ------------------------------------------------------------------ *\/\n\n.sezione-aziende-custom { \n    background-color:#f4f0e5; \n    padding:60px 20px;\n    text-align: center;\n}\n.titolo-sezione-aziende {\n    color:#0e3b26;  \n    font-size:2.8rem;  \n    margin-bottom: 0px;\n}\n.carosello-container-aziende { \n    position:relative; \n    padding:20px 0; \n    overflow:hidden;\n    max-width: 1200px;\n    margin: 0 auto;\n}\n\n\/* CARD QUADRATA (1:1) *\/\n.card-1-1 {\n    aspect-ratio:1\/1;\n    width:350px;\n    border-radius:12px;\n    overflow:hidden;\n    position:relative;\n}\n\n.card-bg-aziende { \n    width:100%; \n    height:100%; \n    background-size:cover; \n    background-position:center; \n    transition:transform 0.4s ease; \n}\n\n\/* EFFETTO ZOOM (Richiesto e Corretto) *\/\n.card-aziende-nuovo:hover .card-bg-aziende { \n    transform: scale(1.08); \n}\n\n.card-content-aziende {\n    position:absolute; top:0; left:0; right:0; bottom:0;  \n    display:flex; \n    flex-direction: column; \/* Aggiunto per allineamento *\/\n    align-items: flex-start; \/* Allinea il contenuto a sinistra *\/\n    justify-content: flex-end; \/* Corretto: Allinea il contenuto in BASSO *\/\n    background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 50%);\n    text-align:left;\n    padding: 20px;\n}\n\n\/* TESTO SEMPRE VISIBILE IN BASSO A SINISTRA *\/\n.nome-aziende-visibile {\n    color:#f4f0e5; \n    font-size:1.6rem; \n    margin: 0; \n    opacity: 1;\n    text-shadow: 0 2px 6px rgba(0,0,0,0.8);\n}\n\n\/* PAGINAZIONE *\/\n.swiper-pagination-aziende { position:static; margin-top:30px; }\n.swiper-pagination-aziende .swiper-pagination-bullet-active { background-color:#0e3b26; }\n\n\n\/* RESPONSIVE *\/\n@media(max-width:768px){\n    .titolo-sezione-aziende { font-size:2rem; }\n    .card-1-1 { \n        width: 100%; \n    }\n}\n<\/style>\n\n<script>\n\/\/ Funzione initCarosello rimane invariata per l'uso generico\nfunction initCarosello(selector, perViewConfig, loopValue = true) {\n    return new Swiper(selector, {\n        loop: loopValue,\n        grabCursor: true,\n        initialSlide: 1,\n        pagination: {\n            \/\/ Importante: qui usiamo la classe specifica della paginazione per questa sezione\n            el: '#aziende .swiper-pagination-aziende',\n            clickable: true,\n        },\n        breakpoints: perViewConfig\n    });\n}\n\n\/\/ Inizializzazione ESCLUSIVA per la sezione ID=\"aziende\"\nwindow.onload = function () {\n    setTimeout(function() {\n        \n        \/\/ Controlla PRIMA se il contenitore principale ESISTE.\n        \/\/ Questo impedisce l'esecuzione dello script se l'ID #aziende non \u00e8 nella pagina.\n        const aziendeContainer = document.getElementById('aziende');\n        \n        if (aziendeContainer) {\n            \/\/ INIZIALIZZAZIONE SEZIONE AZIENDE PERSONALIZZATA\n            \/\/ Selezioniamo il carosello SOLO all'interno del contenitore #aziende\n            initCarosello('#aziende .carosello-aziende-nuovo', {\n                320: { slidesPerView: 1.2, spaceBetween: 15 },\n                768: { slidesPerView: 2, spaceBetween: 20 },\n                1024: { slidesPerView: 3.2, spaceBetween: 30 },\n            });\n        }\n        \n    }, 100); \n};\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:30px\">\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-1024x1024.png\" alt=\"\" class=\"wp-image-54342\" style=\"width:77px;height:auto\" srcset=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-1024x1024.png 1024w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-300x300.png 300w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-150x150.png 150w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-768x768.png 768w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-600x600.png 600w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-100x100.png 100w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75-50x50.png 50w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/75.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px;\">\n    <strong style=\"font-size: 2.2rem; line-height: 1.1;font-weight: 600!important;\">200.000 B\u00e4ume<\/strong>\n    <span style=\"font-size: 1.1rem;\">im Alpenraum gepflanzt<\/span>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-1024x1024.png\" alt=\"\" class=\"wp-image-54347\" style=\"width:76px;height:auto\" srcset=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-1024x1024.png 1024w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-300x300.png 300w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-150x150.png 150w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-768x768.png 768w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-600x600.png 600w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-100x100.png 100w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76-50x50.png 50w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/76.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px;\">\n    <strong style=\"font-size: 2.2rem; line-height: 1.1;font-weight: 600!important;\">1.000 Tonnen<\/strong>\n    <span style=\"font-size: 1.1rem;\">CO\u2082 kompensiert\n<\/span>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-1024x1024.png\" alt=\"\" class=\"wp-image-54351\" style=\"width:69px;height:auto\" srcset=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-1024x1024.png 1024w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-300x300.png 300w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-150x150.png 150w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-768x768.png 768w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-600x600.png 600w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-100x100.png 100w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77-50x50.png 50w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/77.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px;\">\n    <strong style=\"font-size: 2.2rem; line-height: 1.1;font-weight: 600!important;\">500 Tonnen<\/strong>\n    <span style=\"font-size: 1.1rem;\">Holz wiedergewonnen\n<\/span>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-1024x1024.png\" alt=\"\" class=\"wp-image-54355\" style=\"width:69px;height:auto\" srcset=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-1024x1024.png 1024w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-300x300.png 300w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-150x150.png 150w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-768x768.png 768w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-600x600.png 600w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-100x100.png 100w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78-50x50.png 50w, https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/02\/78.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px;\">\n    <strong style=\"font-size: 2.2rem; line-height: 1.1;font-weight: 600!important;\">15 Handwerker<\/strong>\n    <span style=\"font-size: 1.1rem;\">in Italien beteiligt\n<\/span>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:30px\">\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:15%\">\n<div style=\"height:12px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:70%\" id=\"map\">\n<h2 class=\"wp-block-heading has-text-align-center\">Karte der Aufforstungen von 2019 bis heute<\/h2>\n\n\n\n<iframe loading=\"lazy\" src=\"https:\/\/www.google.com\/maps\/d\/embed?mid=1QwbVaPZBGRcz_c5Ms4OxE7CggGjhftc&#038;ehbc=2E312F\" width=\"100%\" height=\"480\"><\/iframe>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:15%\">\n<div style=\"height:11px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<h2 class=\"wp-block-heading\" style=\"margin-bottom: 0; margin-left:20px; padding-bottom: 0;\">Das VAIA-Modell<\/h2>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\" id=\"pranzo\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"vaia-mission-block\">\n\n    <p style=\"margin-left: 20px; margin-right: 10px;\">\n        <strong>R\u00fcckgewinnung der Rohstoffe<\/strong><br>\n        Die erste Phase konzentriert sich auf die R\u00fcckgewinnung des Holzes, das durch den Sturm Vaia und heute auch durch den Borkenk\u00e4fer anfiel. Jeder Stamm wird ausgew\u00e4hlt, katalogisiert und vorbereitet, wodurch ein Prozess in Gang gesetzt wird, der den Schaden in eine Ressource verwandelt.\n    <\/p>\n\n    <p style=\"margin-left: 20px; margin-right: 10px;\">\n        <strong>Aktivierung lokaler Lieferketten<\/strong><br>\n        Wir arbeiten ausschlie\u00dflich mit Handwerkern und Unternehmen in den betroffenen T\u00e4lern zusammen. Dies gew\u00e4hrleistet nicht nur die h\u00f6chste Qualit\u00e4t der Verarbeitung, sondern belebt auch die lokale Wirtschaft und das Gemeinschaftsgef\u00fchl wieder.\n    <\/p>\n\n    <p style=\"margin-left: 20px; margin-right: 10px;\">\n        <strong>Design der VAIA-Objekte<\/strong><br>\n        Aus dem besch\u00e4digten Rohmaterial entstehen minimalistische und bedeutungsvolle Designobjekte, bei denen der Mensch im Mittelpunkt steht. Jedes St\u00fcck tr\u00e4gt die Spuren des Sturms in sich und macht es zu einem Symbol f\u00fcr Widerstandsf\u00e4higkeit (Resilienz) und Sch\u00f6nheit.\n    <\/p>\n\n    <p style=\"margin-left: 20px; margin-right: 10px;\">\n        <strong>R\u00fcckgabe- und Regenerationsprojekte<\/strong><br>\n        Der Kreislauf schlie\u00dft sich mit der R\u00fcckgabe. Ein Teil des Erl\u00f6ses wird in konkrete Aufforstungs- und Regenerationsprojekte des Gebiets reinvestiert, wodurch die durch den Sturm hinterlassenen Wunden geheilt werden. F\u00fcr jedes verkaufte Produkt wird ein Baum gepflanzt oder ein Gletscher gereinigt.\n    <\/p>\n\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"slideshow-container\">\n  <div class=\"slide slide1\"><\/div>\n  <div class=\"slide slide2\"><\/div>\n  <div class=\"slide slide3\"><\/div>\n  <div class=\"slide slide4\"><\/div>\n  <div class=\"slide slide5\"><\/div>\n<\/div>\n\n<style>\n.slideshow-container {\n  position: relative;\n  width: 100%;\n  max-width: 600px;\n  aspect-ratio: 1 \/ 1; \/* quadrato *\/\n  overflow: hidden;\n  margin: 0 auto;\n}\n\n.slide {\n  position: absolute;\n  top:0; left:0;\n  width: 100%;\n  height: 100%;\n  background-size: cover;\n  background-position: center;\n  opacity: 0;\n  animation: fade 16s infinite;\n}\n\n\/* imposta le immagini *\/\n.slide1 { background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/ModelloHP_DE-1.jpg'); animation-delay: 0s; }\n.slide2 { background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/ModelloHP_DE-2.jpg'); animation-delay: 4s; }\n.slide3 { background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/ModelloHP_DE-3.jpg'); animation-delay: 4s; }\n.slide4 { background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/ModelloHP_DE-4.jpg'); animation-delay: 8s; }\n.slide5 { background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/ModelloHP_DE-5.jpg'); animation-delay: 12s; }\n\n\n@keyframes fade {\n  0% { opacity: 0; }\n  6.25% { opacity: 1; }  \/* fade-in *\/\n  25% { opacity: 1; }    \/* visibile *\/\n  31.25% { opacity: 0; } \/* fade-out *\/\n  100% { opacity: 0; }\n}\n<\/style>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<h2 class=\"wp-block-heading\">Sind Sie ein Unternehmen?<\/h2>\n<\/div>\n<\/div>\n\n\n\n<!-- HTML -->\n<a href=\"https:\/\/www.vaia.eu\/de\/project\/vaia-fuer-firmen\/\" class=\"vaia-link-aziende\">\n  <div class=\"wp-block-cover alignwide vaia-cover-hover-aziende\">\n    <div class=\"wp-block-cover__image-background-aziende\"\n         style=\"background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2024\/01\/1280x600_clivet-1.jpg'); background-position: 50% 50%;\">\n    <\/div>\n\n    <div class=\"wp-block-cover__inner-container-aziende\">\n      <h1 class=\"vaia-title-aziende\">Schaffen Sie Werte mit uns<\/h1>\n    <\/div>\n  <\/div>\n<\/a>\n\n<!-- CSS -->\n<style>\n.vaia-link-aziende {\n  text-decoration: none;\n  display: block;\n}\n\n.vaia-cover-hover-aziende {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  height: 400px;\n}\n\n\/* immagine di sfondo *\/\n.wp-block-cover__image-background-aziende {\n  position: absolute;\n  inset: 0;\n  background-size: cover;\n  background-repeat: no-repeat;\n  transition: filter 0.6s ease, transform 0.6s ease;\n  z-index: 0;\n}\n\n\/* contenitore centrale *\/\n.wp-block-cover__inner-container-aziende {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  height: 100%;\n  text-align: center;\n}\n\n\/* titolo *\/\n.vaia-title-aziende {\n  margin: 0;\n  color: white;\n  font-size: 4rem;\n  font-weight: 700;\n  line-height: 1.1;\n  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);\n  transition: transform 0.6s ease;\n}\n\n\/* effetto hover *\/\n.vaia-cover-hover-aziende:hover .wp-block-cover__image-background-aziende {\n  filter: brightness(1.15);\n  transform: scale(1.05);\n}\n\n.vaia-cover-hover-aziende:hover .vaia-title-aziende {\n  transform: scale(1.08);\n}\n<\/style>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-cd76affd wp-block-buttons-is-layout-flex\">\n<div style=\"--wp--block-button--width: 75;\" class=\"wp-block-button is-style-outline has-custom-width wp-block-button__width wp-block-button__width-75 is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.vaia.eu\/de\/project\/vaia-fuer-firmen\/\">Erfahren Sie mehr<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!-- HTML -->\n<a href=\"https:\/\/www.vaia.eu\/de\/wer-wir-sind\/\" class=\"vaia-link-chi-siamo\">\n  <div class=\"wp-block-cover alignwide vaia-cover-hover-chi-siamo\">\n    <div class=\"wp-block-cover__image-background-chi-siamo\"\n         style=\"background-image: url('https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/11\/Chi-siamo-no-text.jpg'); background-position: 50% 55%;\">\n    <\/div>\n\n    <div class=\"wp-block-cover__inner-container-chi-siamo\">\n      <h1 class=\"vaia-title-chi-siamo\">Wer wir sind<\/h1>\n    <\/div>\n  <\/div>\n<\/a>\n\n<!-- CSS -->\n<style>\n.vaia-link-chi-siamo {\n  text-decoration: none;\n  display: block;\n}\n\n.vaia-cover-hover-chi-siamo {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  height: 500px;\n}\n\n\/* immagine di sfondo *\/\n.wp-block-cover__image-background-chi-siamo {\n  position: absolute;\n  inset: 0;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-position: center;\n  transition: filter 0.6s ease, transform 0.6s ease;\n  z-index: 0;\n}\n\n\/* contenitore testo in alto a sinistra *\/\n.wp-block-cover__inner-container-chi-siamo {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  align-items: flex-start;\n  justify-content: flex-start;\n  height: 100%;\n  padding: 2rem 3rem;\n  text-align: left;\n}\n\n\/* titolo *\/\n.vaia-title-chi-siamo {\n  margin: 0;\n  color: white;\n  font-size: 3.5rem;\n  font-weight: 700;\n  line-height: 1.1;\n  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);\n  transition: transform 0.6s ease;\n}\n\n\/* effetto hover *\/\n.vaia-cover-hover-chi-siamo:hover .wp-block-cover__image-background-chi-siamo {\n  filter: brightness(1.15);\n  transform: scale(1.05);\n}\n\n.vaia-cover-hover-chi-siamo:hover .vaia-title-chi-siamo {\n  transform: scale(1.05);\n}\n<\/style>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-embed alignfull is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"VAIA - Face What Matters\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/Vyz7K19i_Lc?feature=oembed&#038;enablejsapi=1&#038;origin=https:\/\/www.vaia.eu\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns has-background is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\" id=\"pranzo\" style=\"background:linear-gradient(135deg,rgb(252,185,0) 100%,rgb(255,105,0) 100%)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Unsere Einzelh\u00e4ndler<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6chten Sie die Produkte im Laden kaufen? Entdecken Sie unseren H\u00e4ndler!<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-outline is-style-outline--2\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.vaia.eu\/de\/vaia-ambassadors\/\" style=\"background:linear-gradient(135deg,rgb(252,185,0) 100%,rgb(255,105,0) 100%)\">Zur entsprechenden Seite gehen<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<iframe loading=\"lazy\" src=\"https:\/\/snazzymaps.com\/embed\/629773\" width=\"100%\" height=\"400px\" style=\"border:none;\"><\/iframe>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"cards cards-bg-lightyellow\">\n\n            <span class=\"headingcard-title heading-color-violet\">\n            Das sagt man \u00fcber uns        <\/span>\n    \n    <div class=\"cards__row\">\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.corriere.it\/cronache\/21_ottobre_28\/start-up-che-rida-vita-foreste-ferite-vaia-051f5de2-382a-11ec-b57d-189900ff8f36.shtml\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_corriere.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/forbes.it\/2020\/07\/08\/startup-vaia-amplificatore-tempesta-under-30\/\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_forbes.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.repubblica.it\/green-and-blue\/dossier\/tutti-per-la-terra\/2023\/09\/19\/news\/vaia-414104952\/?ref=RHRM-BG-P5-S1-T1\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_la-repubblica.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/stream24.ilsole24ore.com\/video\/italia\/foresta-innovatori-1000-alberi-piantati-riforestare-dolomiti\/AFBAtk2\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_sole24ore.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.tgcom24.mediaset.it\/2023\/video\/-studio-aperto-mag---next-generazione-europa-guarda-la-seconda-puntata-su-istruzione-formazione-e-ricerca_61699570-02k.shtml\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_tgcom24.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.faz.net\/aktuell\/technik-motor\/fuenf-am-freitag-rechenbeispiele-18403151\/plus-30-18391902.html\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_frankfurt.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/tg24.sky.it\/tecnologia\/now\/2021\/03\/11\/vaia-casse-musicali-legno-tempesta\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_skytg24.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.chip.de\/news\/Lautsprecher-ohne-Strom-und-Technik-Das-ist-der-VAIA-Cube_184449651.html\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/500x500_chip.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n                    <div class=\"cards__col col-color-violet content-title-color-transparent content-card-color-transparent\">\n                <div class=\"g-card\">\n    \n    \n    \n            <div class=\"g-card__media\">\n                        <a href=\"https:\/\/www.fortuneita.com\/2024\/02\/18\/vaia-cube-il-legno-che-visse-due-volte\/\" target=\"_blank\">\n                            <img loading=\"lazy\" decoding=\"async\" class=\"skip-lazy\" width=\"600\" height=\"400\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2024\/03\/500x500_fortune.png\" alt=\"\" \/>\n                        <\/a>\n                    <\/div>\n    \n    <\/div>\n            <\/div>\n            <\/div>\n<\/div>\n\n\n\n<div style=\"height:81px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"frm-mltchnl\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Unsere Produkte VAIA Cube VAIA Cube Essential Aria VAIA Cube imperfetto VAIA Cube JOY VAIA PeopleCombo VAIA People Personalisiert VAIA Focus Unsere Wirkung Gletscher Dolomiten Borkenk\u00e4fer 200.000 B\u00e4ume im Alpenraum gepflanzt 1.000 Tonnen CO\u2082 kompensiert 500 Tonnen Holz wiedergewonnen 15 Handwerker in Italien beteiligt Karte der Aufforstungen von 2019 bis heute Das VAIA-Modell R\u00fcckgewinnung der [&hellip;]<\/p>\n","protected":false},"author":336,"featured_media":38718,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_crdt_document":"{\"document\":\"AADWBYyKmdEa4cfG0wUDjIqZ0Rrhx8bTBQC8g7XIFqHHxtMFjIqZ0Rrhx8bTBQOMipnRGuHHxtMFD8yKmdEaAOHHxtMFBLyDtcgWocfG0wW8g7XIFuHHxtMFAbyDtcgW4cfG0wUBvIO1yBbhx8bTBQC8g7XIFqHHxtMFvIO1yBbhx8bTBQO8g7XIFuHHxtMFALyDtcgWocfG0wW8g7XIFqHHxtMFvIO1yBbhx8bTBQC8g7XIFqHHxtMFvIO1yBbhx8bTBQL8g7XIFm3hx8bTBQC8g7XIFqHHxtMFvIO1yBahx8bTBbyDtcgW4cfG0wUAvIO1yBahx8bTBbyDtcgW4cfG0wUHvIO1yBbhx8bTBQC8g7XIFqHHxtMFvIO1yBahx8bTBbyDtcgWocfG0wW8g7XIFqHHxtMF\/IO1yBYA4cfG0wUAvIO1yBbhx8bTBQG8g7XIFuHHxtMFALyDtcgWocfG0wW8g7XIFuHHxtMFAPyDtcgWDKHHxtMFvIO1yBahx8bTBfyDtcgWAOHHxtMFALyDtcgW4cfG0wUD\/IO1yBYQ4cfG0wUAvIO1yBahx8bTBbyDtcgWocfG0wW8g7XIFuHHxtMFALyDtcgWocfG0wW8g7XIFuHHxtMFAvyDtcgWLOHHxtMFALyDtcgWocfG0wW8g7XIFuHHxtMFAfyDtcgWDuHHxtMFALyDtcgWocfG0wW8g7XIFuHHxtMFAfyDtcgWDqHHxtMF\/IO1yBYaocfG0wX8g7XIFg7hx8bTBQC8g7XIFqHHxtMFvIO1yBbhx8bTBQH8g7XIFg6hx8bTBfyDtcgWHaHHxtMF\/IO1yBYdocfG0wX8g7XIFh2hx8bTBfyDtcgWHaHHxtMF\/IO1yBYO4cfG0wUAvIO1yBahx8bTBbyDtcgW4cfG0wUB\/IO1yBYV4cfG0wUAvIO1yBahx8bTBbyDtcgW4cfG0wUB\/IO1yBYU4cfG0wXOBZQKrtUJyMEIjtsIAvTvCaKSAQCU3QgC8BoaBPLOCYbpCQMO6ukJAqrpCXoGBFoK3usJqOsJ5OsJgOsJBgLG6wmS6wkDAOTrCbzqCQLm6gm46gn26gm66gkBAtbrCa7qCQLI6gmU6gnS6gmW6gnC6wmQ4wkC0uIJrukJ7OkJsOkJAQAE1ukJAQMMAgECCkoAEAECCgJCSgA6AQIKAkJKAKICAQMMAgECCgEBCEgASk6kAQECCkreBa4FAQMMAgECCkoAEAECCkoOAgECCkoOAgECCkoAEAECCkreCILjCQL04QmA4gn+4QmC4gnW4wmk4gkC9tkJktoJ0NoJlNoJAQbI4wmW4gkC2NkJpNkJ4tkJptkJ6uIJjOIJ7NgJttgJ8tgJ5gm64QkCzNgJmNgJAwDO4gmw4AkC9tYJvtcJ\/NcJgNgJBOrXCQECCgEBCEgAStoKpuAJ2tYJpNYJ4NYJ0gq+3gkC6NMJitUJAwAABPjUCQECCkoOAgECCgJCSsQMsN4JAs7TCZrTCdjTCZzTCcTfCYLdCQL6zwmm0Qnk0Qmo0QkBAATO0QkBAgpKDgIBAgpKUCABAwwCAQIKSg4CAQMMAgECCkr4DpLcCQL6zgmozwnmzwmszwkC8s0JAQIKSg4CAQIKSuoPuNgJAvDJCYjNCcbNCYzNCQLQzAkBAgpKDgIBAgpKUCABAgoAShACAQIKAkIASgCoAQECCkr6AYoCAQIKSg4CAQIKSsYTsNMJAvbDCbzICfrICYDJCQLaxQkBAgpKDgIBAgpKUCABAwwCAQIKAQZKACABAgpKbj4BAwwCAQIKAQZKACABAgpKbj4BAwwCAQIKAQZKACABAgpKbj4BAwwCAQIKAQZKACABAgpKbj4BAgpKDgIBAgpK0Biy0gkC3L8JmMAJ1sAJnMAJAsi7CQEDDAIBAgpKABABAgpK2hmu0QkCxLkJkLoJzroJlLoJAsq5CQEDDAIBAgpKABABAgpKjBWqngnS0QkKnjK0X4ICtgece5ZyjMcGnAIBAAgCAQIKAEoQAgECCkoOAgECCkpiMgECCgBKEAIBAwwCAQIKSgAQAQIKSgBwkAEBAgoAShACAQMMAgECCkoAEAECCkpwgAEBAgoAShACAQIKSg4CAQIKSlAgAQMMAgECCgEGSgAgAQIKSm4+AQMMAgECCgEGSgAgAQIKSm4+AQMMAgECCgEGSgAgAQIKSm4+AQMMAgECCgEGSgAgAQIKSm4+AQIKSg4CAQIKSvoEigUBAgoAShACAQIKSg4CAQIKSlAgAQIKAEoQAgECCgJCAEoAqAEBAgpK+gGKAgECCkoOAgECCkrMA5wDAQIKAEoQAgECCkoOAgECCkpiMgECCgEAShICAQIKSg4CAQIKSlAgAQMMAgECCkoOAgEDDAIBAgpK4AGwAQECCkoAEAECCgBKEAIBAgpKDgIBAgoCQkpipgEBAgpKABABAgpKDgIBAgoBAQhIAEpQjAEBAgpKABABAgpKABABAgpKABABAgoBBkoAIAECCkoAEAECCgEAShICAQMMAgECCkoAEAECCgJCSgA6AQIKAkJKAKICAQMMAgECCgEBCEgASk6kAQECCkreBa4FAQMMAgECCkoAEAECCkoOAgECCkoOAgECCkoAEAECCkrQB6AHAQIKSgAQAQIKAQFKABYBAgpKABABAgpKABABAgoASu4aEj6AAYoFnAMysAEQpgEQjAERASAQoAcQCByolAHCAu6LAbbZCXQBANwDAQPKBcAB4qMJqp4J9QsoAKEAxAChAsEAIQDEAKgjKACoAigAqAEoAKgCKASoASgAqAIoAKgBKACoAigCBwAoAycBBwAoAycAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQcAKAMnACgCJwAEACgBJwCHACgDJwAoACcAhwAoAycBBwAoAycAKAAnAIcAKAMnACgAJwAHACgDJwAoACcABwAoAycAKAAnAIcAKAMnACgAJwCoASgAqAIoAKgBKACoAigAJwAoBqgBKACoAigAqAYoAKgCKACoASgAqAIoAAcAKAMnACgCJwAEACgBJwCoBigAqAIoAQcAKAMnACgAJwAHACgDJwEEACgAJwCoASgAqAIoAKgBKACoAigCBwAoAycAKAAnAAcAKAMnACgAJwCHACgDJwEHACgDJwAoACcABwAoAycBBwAoAycAKAAnAKgBKACoBEcAKAMnACgAJwAHACgDJwAoACcAqAEoAKgERwAoAycAKAAnAAcAKAMnACgAJwDHACgDJwAoAScABwAoAycBBAAoAScAhwAoAycAKAAnAMcAKAMnACgAJwAHACgDJwAoACcAqAEoAKgERwAoAycAKAAnAAcAKAMnACgAJwDHACgDJwEHACgDJwAoAScAKAUnAIcAKAMnACgAJwDHACgDJwEHACgDJwAoAScAKAUnAIcAKAMnACgAJwDHACgDJwEHACgDJwAoAScAKAUnAIcAKAMnACgAJwDHACgDJwEHACgDJwAoAScAKAUnAIcAKAMnACgAJwDHACgDJwAoACcABwAoAycAKAAnAKgBKACoBEcAKAMnAQcAKAMnACgAJwCHACgDJwAoACcAqAEoAKgERwAoAycBBwAoAycAKAAnAIcAKAMnACgAJwDEASEAKAInAAQAJwAEAIQAgQGEAIEAhACBACcAKAQnACgCJwAHACgDJwAoAScABwAoAycAKAAnAAcAKAMnACgAJwCHACEAKAInACgBJwAHACEAKAAhACgAJwEHACgDJwAoACcAhwAhACgAIQAoACcAIQAnAIEAAACHACEAKAInACgBJwAHACgDJwEHACgDJwAoACcAhwAoAycAKAAnAIcAIQAoAicAKAEnAAcAKAMnACgAJwAHACgDJwAoACcAhwAoAycBBwAoAycAKAEnACgFJwCHACgDJwAoACcAhwAoAycBBwAoAycAKAEnACgFJwCHACgDJwAoACcAhwAoAycBBwAoAycAKAEnACgFJwCHACgDJwAoACcAhwAoAycBBwAoAycAKAEnACgFJwCHACgDJwAoACcAhwAoAycAKAAnAAcAKAMnACgAJwCHACEAKAInACgBJwAHACgDJwAoACcABwAoAycAKAAnAIcAKAMnACgBJwAHACgDJwEEACgBJwCHACgDJwAoACcAhwAoAycAKAAnAAcAKAMnACgAJwCHACEAKAInACgBJwAHACgDJwAoACcABwAoAycAKAAnAIcAIQAoAicAKAInAAcAKAMnACgAJwAHACgDJwAoACcAhwAoAycBBwAoAycAKAAnAAcAKAMnAQcAKAMnACgAJwCHACEAKAInACgAJwCHACEAKAInACgBJwAHACgDJwAoACcABwAoAycBBAAoACcAhwAhACgCJwAoACcAhwAhACgCJwAoACcABwAoAycAKAInAAQAKAEnAIcAIQAoAicAKAAnAIcAIQAoAicAKAAnAIcAIQAoAicAKAAnAIcAIQAoAicAKAAnACgGJwCHACEAKAInACgAJwCHACEAKAInACgCJwAHACgDJwEHACgDJwAoACcAhwAoAycBBAAoACcAhwAoAycBBAAoACcAhwAoAycBBwAoAycAKAInAAQAKAEnAIcAKAMnACgAJwCHACgDJwEHACgDJwAoACcAhwAoAycAKAAnAAcAKAMnACgAJwAHACgDJwAoACcAhwAoAycAKAAnAIcAIQAoAicAKAAnAIcAIQAoAicAKAMnAIcAKAMnACgAJwCHACgDJwAoACcAhwAoAycBKAAnACEBoRIhh\/ACoucCc3RhdGV2ZXJzaW9uICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9Gb2N1cy1IUC5qcGcnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgRm9jdXM8L2gzPjwvZGl2PgpzdGF0ZXZlcnNpb24gICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvdmFpYS1mb2N1cy0yLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CmNvbnRlbnRoZWlnaHRjb250ZW50bmFtZWRhdGFtb2RlYWxpZ25fYWNmX2NvbnRleHRjb250ZW50aGVpZ2h0Y29udGVudGlzU3RhY2tlZE9uTW9iaWxlc3R5bGVhbmNob3JjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudFVuc2VyZSBFaW56ZWxow6RuZGxlcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRNw7ZjaHRlbiBTaWUgZGllIFByb2R1a3RlIGltIExhZGVuIGthdWZlbj8gRW50ZGVja2VuIFNpZSB1bnNlcmVuIEjDpG5kbGVyIWRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3RhZ05hbWV0eXBldXJsdGV4dFp1ciBlbnRzcHJlY2hlbmRlbiBTZWl0ZSBnZWhlbmNsYXNzTmFtZXN0eWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3Njb250ZW50aGVpZ2h0Y29udGVudHVybGNhcHRpb250eXBlcHJvdmlkZXJOYW1lU2x1Z2FsbG93UmVzcG9uc2l2ZXJlc3BvbnNpdmVwcmV2aWV3YWJsZWFsaWduY2xhc3NOYW1lY29udGVudGhlaWdodGNvbnRlbnRoZWlnaHRjb250ZW50bGF5b3V0Y2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN0YWdOYW1ldHlwZXVybHRleHRFcmZhaHJlbiBTaWUgbWVocmNsYXNzTmFtZXN0eWxlaW5uZXJCbG9ja3Njb250ZW50aXNTdGFja2VkT25Nb2JpbGVhbGlnbmNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudFNpbmQgU2llIGVpbiBVbnRlcm5laG1lbj9sZXZlbGlubmVyQmxvY2tzY29udGVudGhlaWdodGNvbnRlbnRpc1N0YWNrZWRPbk1vYmlsZWFsaWduYW5jaG9yY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN3aWR0aGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpc1N0YWNrZWRPbk1vYmlsZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY29udGVudGNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY29udGVudGNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoYW5jaG9yaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRLYXJ0ZSBkZXIgQXVmZm9yc3R1bmdlbiB2b24gMjAxOSBiaXMgaGV1dGVsZXZlbHN0eWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3Njb250ZW50Y2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN3aWR0aGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHdpZHRoaGVpZ2h0c2l6ZVNsdWdsaW5rRGVzdGluYXRpb25hbGlnbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN1cmxhbHRjYXB0aW9uaWR3aWR0aGhlaWdodHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uYWxpZ25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdXJsYWx0Y2FwdGlvbmlkd2lkdGhoZWlnaHRzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHdpZHRoaGVpZ2h0c2l6ZVNsdWdsaW5rRGVzdGluYXRpb25hbGlnbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY29udGVudGNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY29udGVudGNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzPCEtLSB3cDpodG1sIC0tPgo8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0Pgo8IS0tIC93cDpodG1sIC0tPgoKPCEtLSAvd3A6aHRtbCAtLT5zdGF0ZXZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHNsdWdkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVIb21lZG9jdW1lbnRjb250ZW50PCEtLSB3cDpjb2x1bW5zIHsiYWxpZ24iOiJmdWxsIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ25mdWxsIj48IS0tIHdwOmNvbHVtbiB7IndpZHRoIjoiMTAwJSJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjEwMCUiPjwhLS0gd3A6aHRtbCAtLT4KPHN0eWxlPgogIC8qIEhlcm8gc2VjdGlvbiBhIHR1dHRhIGFsdGV6emEgKi8KICAuaGVyby12aWRlbyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwdmg7IC8qIHNlbXByZSBhbHRlenphIGRlbGxvIHNjaGVybW8gKi8KICAgIG92ZXJmbG93OiBoaWRkZW47CiAgfQoKICAuaGVyby12aWRlbyB2aWRlbyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsgLyogcmllbXBpZSBsYSBzZXppb25lIHNlbnphIGRlZm9ybWFyc2kgKi8KICAgIHotaW5kZXg6IDE7CiAgfQoKICAvKiBDb250ZW51dG8gc29wcmEgaWwgdmlkZW8gKi8KICAuaGVyby12aWRlbyAuaGVyby1jb250ZW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDI7IC8qIHNvcHJhIGlsIHZpZGVvICovCiAgICBwYWRkaW5nOiAycmVtOwogICAgY29sb3I6ICNmZmY7CiAgfQoKICAvKiBWZXJzaW9uaSBkZXNrdG9wL21vYmlsZSAqLwogICN2aWRlby1kZXNrdG9wIHsgZGlzcGxheTogbm9uZTsgfQogICN2aWRlby1tb2JpbGUgeyBkaXNwbGF5OiBub25lOyB9CgogIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkgewogICAgI3ZpZGVvLWRlc2t0b3AgeyBkaXNwbGF5OiBibG9jazsgfQogIH0KCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAjdmlkZW8tbW9iaWxlIHsgZGlzcGxheTogYmxvY2s7IH0KICB9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJoZXJvLXZpZGVvIj4KICA8IS0tIFZpZGVvIERlc2t0b3AgLS0+CiAgPHZpZGVvIGlkPSJ2aWRlby1kZXNrdG9wIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lPgogICAgPHNvdXJjZSBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDkvQVBQVU5USS1TT0NJQUwtMS5tcDQiIHR5cGU9InZpZGVvL21wNCI+CiAgPC92aWRlbz4KCiAgPCEtLSBWaWRlbyBNb2JpbGUgLS0+CiAgPHZpZGVvIGlkPSJ2aWRlby1tb2JpbGUiIGF1dG9wbGF5IG11dGVkIGxvb3AgcGxheXNpbmxpbmU+CiAgICA8c291cmNlIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wOS9TdG9yaWUtRm9yZXN0YS0yLm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICA8L3ZpZGVvPgoKICA8IS0tIENvbnRlbnV0byBzb3ByYSBpbCB2aWRlbyAtLT4KICA8ZGl2IGNsYXNzPSJoZXJvLWNvbnRlbnQiPgogICAgPCEtLSBUaXRvbGksIHRlc3RvIG8gYm90dG9uaSBzb3ByYSBpbCB2aWRlbyAtLT4KICA8L2Rpdj4KPC9kaXY+CjwhLS0gL3dwOmh0bWwgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1ucyAtLT4KCjwhLS0gd3A6Y29sdW1ucyB7ImFsaWduIjoid2lkZSJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWdud2lkZSI+PCEtLSB3cDpjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PCEtLSB3cDpodG1sIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAtNXZoOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPlVuc2VyZSBQcm9kdWt0ZTwvaDI+CjwhLS0gL3dwOmh0bWwgLS0+Cgo8IS0tIHdwOmh0bWwgLS0+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9zd2lwZXJAMTEvc3dpcGVyLWJ1bmRsZS5taW4uY3NzIj4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9InByb2RvdHRpIiBjbGFzcz0ic2V6aW9uZSI+CiAgPGgyIGNsYXNzPSJ0aXRvbG8tc2V6aW9uZSI+PC9oMj4KICA8ZGl2IGNsYXNzPSJjYXJvc2VsbG8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InN3aXBlciBjYXJvc2VsbG8tcHJvZG90dGkiPgogICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItd3JhcHBlciI+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0NVQkUuanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlPC9oMz48L2Rpdj4KICAgICAgICA8L2E+Cgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDMvMy0xLnBuZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0lNUEVSRkVUVE8uanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlIGltcGVyZmV0dG88L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1qb3kvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0pPWS0yLTEuanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlIEpPWTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1wZW9wbGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8xMS9wZW9wbGUtcGllZGlzdGFsbG8uanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBQZW9wbGU8YnI+Q29tYm88L2gzPjwvZGl2PgogICAgICAgIDwvYT4KICAgICAgICAKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1wZW9wbGUtcGVyc29uYWxpenphdG8vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMC9QZW9wbGUtUGVyc29uYWxpenphdGktMjEtc2NhbGVkLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgUGVvcGxlIFBlcnNvbmFsaXNpZXJ0PC9oMz48L2Rpdj4KICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgPC9hPgoKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIOKchSBGUkVDQ0Ugc29sbyBkZXNrdG9wIC0tPgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLWJ1dHRvbi1wcmV2Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN3aXBlci1idXR0b24tbmV4dCI+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24iPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLnNlemlvbmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiNmNGYwZTU7IH0KLnRpdG9sby1zZXppb25lIHsKICBjb2xvcjojMGUzYjI2OyAgCiAgZm9udC1zaXplOjIuOHJlbTsgIAogIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IAogIHBhZGRpbmc6MDsgIAogIGJvcmRlci1yYWRpdXM6MDsKICBtYXJnaW4tbGVmdDoyMHB4OwogIG1hcmdpbi1ib3R0b206LTN2aDsKICBwYWRkaW5nLWJvdHRvbTotM3ZoOwoKfQoKLmNhcm9zZWxsby1jb250YWluZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzo2MHB4IDA7IG92ZXJmbG93OmhpZGRlbjsgfQouY2FyZC05LTE2IHsgYXNwZWN0LXJhdGlvOjkvMTY7IHdpZHRoOjMwMHB4OyBib3JkZXItcmFkaXVzOjEycHg7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7IH0KLmNhcmQtYmcgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1zaXplOmNvdmVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjsgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlOyB9Ci5jYXJkLTktMTY6aG92ZXIgLmNhcmQtYmcgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyB9Ci5jYXJkLWNvbnRlbnQgewogIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogIGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyAgCiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKICB0ZXh0LWFsaWduOmNlbnRlcjsKfQouY2FyZC1jb250ZW50IGgzIHsgY29sb3I6I2Y0ZjBlNTsgZm9udC1zaXplOjEuNnJlbTsgbWFyZ2luOjA7IHRleHQtc2hhZG93OjAgMnB4IDZweCByZ2JhKDAsMCwwLDAuNik7IH0KCi5ub21lLXByb2RvdHRvIHsKICBvcGFjaXR5OiAxOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlOwogIHRleHQtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjYpOwogIHBhZGRpbmc6IDEwcHg7Cn0KCi5jYXJkLXByb2RvdHRvOmhvdmVyIC5ub21lLXByb2RvdHRvIHsKICBvcGFjaXR5OiAxOwp9CgovKiBGUkVDQ0U6IHNvbG8gc3UgZGVza3RvcCwgb2ZmIHdoaXRlLCBzZW56YSBjZXJjaGlvICovCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYsCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQgewogIGNvbG9yOiNmNGYwZTU7CiAgZm9udC13ZWlnaHQ6NjAwOwogIHRleHQtc2hhZG93OjAgMnB4IDhweCByZ2JhKDAsMCwwLDAuNCk7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjUwJTsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsKICB6LWluZGV4OjEwOwogIGZvbnQtc2l6ZTo0MHB4OwogIHRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7Cn0KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciwKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7CiAgb3BhY2l0eTowLjg7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4xKTsKfQoKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiB7IGxlZnQ6MTBweDsgfQouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgcmlnaHQ6MTBweDsgfQoKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1wYWdpbmF0aW9uIHsKICBwb3NpdGlvbjpzdGF0aWM7CiAgbWFyZ2luLXRvcDozMHB4Owp9Ci5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiMwZTNiMjY7Cn0KCi8qIE5hc2NvbmRpIGZyZWNjZSBzdSB0YWJsZXQgZSBtb2JpbGUgKi8KQG1lZGlhKG1heC13aWR0aDoxMDI0cHgpewogIC5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYsCiAgLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7CiAgICBkaXNwbGF5Om5vbmU7CiAgfQp9CkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogIC50aXRvbG8tc2V6aW9uZSB7IGZvbnQtc2l6ZToycmVtOyB9Cn0KPC9zdHlsZT4KCjxzY3JpcHQ+Ci8qIEluaXQgcm9idXN0bzogY29sbGVnYSBpIGJvdHRvbmkgZSBsYSBwYWdpbmF6aW9uZSB1c2FuZG8gZWxlbWVudGkgRE9NLAogICBjb3PDrCBpIG5leHQvcHJldiBmdW56aW9uYW5vIHNlbXByZSBhbmNoZSBzZSBsYSBzdHJ1dHR1cmEgSFRNTCB2YXJpYSBsZWdnZXJtZW50ZSAqLwpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvRE9NKGNvbnRhaW5lclNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgY29uc3QgY29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29udGFpbmVyU2VsZWN0b3IpOwoKICBjb250YWluZXJzLmZvckVhY2goY29udGFpbmVyID0+IHsKICAgIGNvbnN0IHN3aXBlckVsID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXInKTsgLy8gbCdlbGVtZW50byBjb24gY2xhc3MgInN3aXBlciIKICAgIGNvbnN0IHByZXZCdG4gPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlci1idXR0b24tcHJldicpOwogICAgY29uc3QgbmV4dEJ0biA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLWJ1dHRvbi1uZXh0Jyk7CiAgICBjb25zdCBwYWdpbmF0aW9uRWwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlci1wYWdpbmF0aW9uJyk7CgogICAgaWYgKCFzd2lwZXJFbCkgcmV0dXJuOwoKICAgIC8vIEluaXppYWxpenphIFN3aXBlciBwYXNzYW5kb2dsaSBnbGkgZWxlbWVudGkgKG5vbiBzb2xvIGkgc2VsZXR0b3JpKQogICAgbmV3IFN3aXBlcihzd2lwZXJFbCwgewogICAgICBsb29wOiBsb29wVmFsdWUsCiAgICAgIGdyYWJDdXJzb3I6IHRydWUsCiAgICAgIHNsaWRlc1Blckdyb3VwOiAxLCAgIC8vIG11b3ZlIGRpIHVuIHNvbG8gc2xpZGUgcGVyIGNsaWNrCiAgICAgIHNwZWVkOiA2MDAsCiAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICBlbDogcGFnaW5hdGlvbkVsLAogICAgICAgIGNsaWNrYWJsZTogdHJ1ZSwKICAgICAgfSwKICAgICAgbmF2aWdhdGlvbjogewogICAgICAgIC8vIHNlIHByZXZCdG4vbmV4dEJ0biBzb25vIG51bGwsIFN3aXBlciBpZ25vcmEgbGEgbmF2aWdhdGlvbiBzZW56YSBjcmFzaGFyZQogICAgICAgIHByZXZFbDogcHJldkJ0biB8fCB1bmRlZmluZWQsCiAgICAgICAgbmV4dEVsOiBuZXh0QnRuIHx8IHVuZGVmaW5lZCwKICAgICAgfSwKICAgICAgYnJlYWtwb2ludHM6IHBlclZpZXdDb25maWcKICAgIH0pOwogIH0pOwp9Cgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gKCkgewogIC8vIE5vdGE6IGlsIHNlbGV0dG9yZSBxdWkgcHVudGEgYWwgY29udGVuaXRvcmUgY2hlIHJhY2NoaXVkZSAuc3dpcGVyICsgYm90dG9uaSArIHBhZ2luYXRpb24KICBpbml0Q2Fyb3NlbGxvRE9NKCcuY2Fyb3NlbGxvLWNvbnRhaW5lcicsIHsKICAgIDMyMDogeyBzbGlkZXNQZXJWaWV3OiAxLjMsIHNwYWNlQmV0d2VlbjogMTUgfSwKICAgIDc2ODogeyBzbGlkZXNQZXJWaWV3OiAzLjIsIHNwYWNlQmV0d2VlbjogMjAgfSwKICAgIDEwMjQ6IHsgc2xpZGVzUGVyVmlldzogNS4zLCBzcGFjZUJldHdlZW46IDMwIH0sCiAgfSk7Cn0pOwo8L3NjcmlwdD4KPCEtLSAvd3A6aHRtbCAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW5zIC0tPgoKPCEtLSB3cDpjb2x1bW5zIHsiYWxpZ24iOiJ3aWRlIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ253aWRlIj48IS0tIHdwOmNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48IS0tIHdwOmh0bWwgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IC01dmg7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+VW5zZXJlIFdpcmt1bmc8L2gyPgo8IS0tIC93cDpodG1sIC0tPgoKPCEtLSB3cDpodG1sIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9ImF6aWVuZGUiIGNsYXNzPSJzZXppb25lLWF6aWVuZGUtY3VzdG9tIj4KICAgIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgoKICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L2dsZXRzY2hlci8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1naGlhY2NpYWkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5HbGV0c2NoZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9kb2xvbWl0ZW4vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tZG9sb21pdGkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5Eb2xvbWl0ZW48L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPiAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgIAoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9ib3N0cmljby8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1ib3N0cmljby5qcGcnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkJvcmtlbmvDpGZlcjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qIFNUSUxJIEVTQ0xVU0lWSSBQRVIgUVVFU1RBIFNFWklPTkUgKENvcnJlemlvbmkgcGVyIGFsbGluZWFtZW50bykgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgouc2V6aW9uZS1hemllbmRlLWN1c3RvbSB7IAogICAgYmFja2dyb3VuZC1jb2xvcjojZjRmMGU1OyAKICAgIHBhZGRpbmc6NjBweCAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsKICAgIGNvbG9yOiMwZTNiMjY7ICAKICAgIGZvbnQtc2l6ZToyLjhyZW07ICAKICAgIG1hcmdpbi1ib3R0b206IDBweDsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lci1hemllbmRlIHsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgCiAgICBwYWRkaW5nOjIwcHggMDsgCiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwp9CgovKiBDQVJEIFFVQURSQVRBICgxOjEpICovCi5jYXJkLTEtMSB7CiAgICBhc3BlY3QtcmF0aW86MS8xOwogICAgd2lkdGg6MzUwcHg7CiAgICBib3JkZXItcmFkaXVzOjEycHg7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhcmQtYmctYXppZW5kZSB7IAogICAgd2lkdGg6MTAwJTsgCiAgICBoZWlnaHQ6MTAwJTsgCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IAogICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IAogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlOyAKfQoKLyogRUZGRVRUTyBaT09NIChSaWNoaWVzdG8gZSBDb3JyZXR0bykgKi8KLmNhcmQtYXppZW5kZS1udW92bzpob3ZlciAuY2FyZC1iZy1hemllbmRlIHsgCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyAKfQoKLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogICAgZGlzcGxheTpmbGV4OyAKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEFnZ2l1bnRvIHBlciBhbGxpbmVhbWVudG8gKi8KICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGxpbmVhIGlsIGNvbnRlbnV0byBhIHNpbmlzdHJhICovCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvKiBDb3JyZXR0bzogQWxsaW5lYSBpbCBjb250ZW51dG8gaW4gQkFTU08gKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC42KSAwJSwgdHJhbnNwYXJlbnQgNTAlKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6IDIwcHg7Cn0KCi8qIFRFU1RPIFNFTVBSRSBWSVNJQklMRSBJTiBCQVNTTyBBIFNJTklTVFJBICovCi5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgY29sb3I6I2Y0ZjBlNTsgCiAgICBmb250LXNpemU6MS42cmVtOyAKICAgIG1hcmdpbjogMDsgCiAgICBvcGFjaXR5OiAxOwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLDAuOCk7Cn0KCi8qIFBBR0lOQVpJT05FICovCi5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIHsgcG9zaXRpb246c3RhdGljOyBtYXJnaW4tdG9wOjMwcHg7IH0KLnN3aXBlci1wYWdpbmF0aW9uLWF6aWVuZGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiMwZTNiMjY7IH0KCgovKiBSRVNQT05TSVZFICovCkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogICAgLnRpdG9sby1zZXppb25lLWF6aWVuZGUgeyBmb250LXNpemU6MnJlbTsgfQogICAgLmNhcmQtMS0xIHsgCiAgICAgICAgd2lkdGg6IDEwMCU7IAogICAgfQp9Cjwvc3R5bGU+Cgo8c2NyaXB0PgovLyBGdW56aW9uZSBpbml0Q2Fyb3NlbGxvIHJpbWFuZSBpbnZhcmlhdGEgcGVyIGwndXNvIGdlbmVyaWNvCmZ1bmN0aW9uIGluaXRDYXJvc2VsbG8oc2VsZWN0b3IsIHBlclZpZXdDb25maWcsIGxvb3BWYWx1ZSA9IHRydWUpIHsKICAgIHJldHVybiBuZXcgU3dpcGVyKHNlbGVjdG9yLCB7CiAgICAgICAgbG9vcDogbG9vcFZhbHVlLAogICAgICAgIGdyYWJDdXJzb3I6IHRydWUsCiAgICAgICAgaW5pdGlhbFNsaWRlOiAxLAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgLy8gSW1wb3J0YW50ZTogcXVpIHVzaWFtbyBsYSBjbGFzc2Ugc3BlY2lmaWNhIGRlbGxhIHBhZ2luYXppb25lIHBlciBxdWVzdGEgc2V6aW9uZQogICAgICAgICAgICBlbDogJyNhemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlJywKICAgICAgICAgICAgY2xpY2thYmxlOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgYnJlYWtwb2ludHM6IHBlclZpZXdDb25maWcKICAgIH0pOwp9CgovLyBJbml6aWFsaXp6YXppb25lIEVTQ0xVU0lWQSBwZXIgbGEgc2V6aW9uZSBJRD0iYXppZW5kZSIKd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgLy8gQ29udHJvbGxhIFBSSU1BIHNlIGlsIGNvbnRlbml0b3JlIHByaW5jaXBhbGUgRVNJU1RFLgogICAgICAgIC8vIFF1ZXN0byBpbXBlZGlzY2UgbCdlc2VjdXppb25lIGRlbGxvIHNjcmlwdCBzZSBsJ0lEICNhemllbmRlIG5vbiDDqCBuZWxsYSBwYWdpbmEuCiAgICAgICAgY29uc3QgYXppZW5kZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhemllbmRlJyk7CiAgICAgICAgCiAgICAgICAgaWYgKGF6aWVuZGVDb250YWluZXIpIHsKICAgICAgICAgICAgLy8gSU5JWklBTElaWkFaSU9ORSBTRVpJT05FIEFaSUVOREUgUEVSU09OQUxJWlpBVEEKICAgICAgICAgICAgLy8gU2VsZXppb25pYW1vIGlsIGNhcm9zZWxsbyBTT0xPIGFsbCdpbnRlcm5vIGRlbCBjb250ZW5pdG9yZSAjYXppZW5kZQogICAgICAgICAgICBpbml0Q2Fyb3NlbGxvKCcjYXppZW5kZSAuY2Fyb3NlbGxvLWF6aWVuZGUtbnVvdm8nLCB7CiAgICAgICAgICAgICAgICAzMjA6IHsgc2xpZGVzUGVyVmlldzogMS4yLCBzcGFjZUJldHdlZW46IDE1IH0sCiAgICAgICAgICAgICAgICA3Njg6IHsgc2xpZGVzUGVyVmlldzogMiwgc3BhY2VCZXR3ZWVuOiAyMCB9LAogICAgICAgICAgICAgICAgMTAyNDogeyBzbGlkZXNQZXJWaWV3OiAzLjIsIHNwYWNlQmV0d2VlbjogMzAgfSwKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIAogICAgfSwgMTAwKTsgCn07Cjwvc2NyaXB0Pgo8IS0tIC93cDpodG1sIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbnMgLS0+Cgo8IS0tIHdwOmNvbHVtbnMgeyJhbGlnbiI6ImZ1bGwifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbmZ1bGwiPjwhLS0gd3A6Y29sdW1uIHsid2lkdGgiOiIzMHB4In0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MzBweCI+PCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI4cHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjhweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2Pgo8IS0tIC93cDpzcGFjZXIgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT4KCjwhLS0gd3A6Y29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwhLS0gd3A6aW1hZ2UgeyJpZCI6NTQzNDIsIndpZHRoIjoiNzdweCIsImhlaWdodCI6ImF1dG8iLCJzaXplU2x1ZyI6ImxhcmdlIiwibGlua0Rlc3RpbmF0aW9uIjoibm9uZSIsImFsaWduIjoiY2VudGVyIn0gLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIGFsaWduY2VudGVyIHNpemUtbGFyZ2UgaXMtcmVzaXplZCI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzUtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS01NDM0MiIgc3R5bGU9IndpZHRoOjc3cHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT4KPCEtLSAvd3A6aW1hZ2UgLS0+Cgo8IS0tIHdwOmh0bWwgLS0+CjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjIwMC4wMDAgQsOkdW1lPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5pbSBBbHBlbnJhdW0gZ2VwZmxhbnp0PC9zcGFuPgo8L2Rpdj4KPCEtLSAvd3A6aHRtbCAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPgoKPCEtLSB3cDpjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PCEtLSB3cDppbWFnZSB7ImlkIjo1NDM0Nywid2lkdGgiOiI3NnB4IiwiaGVpZ2h0IjoiYXV0byIsInNpemVTbHVnIjoibGFyZ2UiLCJsaW5rRGVzdGluYXRpb24iOiJub25lIiwiYWxpZ24iOiJjZW50ZXIifSAtLT4KPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2UgYWxpZ25jZW50ZXIgc2l6ZS1sYXJnZSBpcy1yZXNpemVkIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83Ni0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTU0MzQ3IiBzdHlsZT0id2lkdGg6NzZweDtoZWlnaHQ6YXV0byIvPjwvZmlndXJlPgo8IS0tIC93cDppbWFnZSAtLT4KCjwhLS0gd3A6aHRtbCAtLT4KPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MS4wMDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5DT+KCgiBrb21wZW5zaWVydAo8L3NwYW4+CjwvZGl2Pgo8IS0tIC93cDpodG1sIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+Cgo8IS0tIHdwOmNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48IS0tIHdwOmltYWdlIHsiaWQiOjU0MzUxLCJ3aWR0aCI6IjY5cHgiLCJoZWlnaHQiOiJhdXRvIiwic2l6ZVNsdWciOiJsYXJnZSIsImxpbmtEZXN0aW5hdGlvbiI6Im5vbmUiLCJhbGlnbiI6ImNlbnRlciJ9IC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIGlzLXJlc2l6ZWQiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAyLzc3LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtNTQzNTEiIHN0eWxlPSJ3aWR0aDo2OXB4O2hlaWdodDphdXRvIi8+PC9maWd1cmU+CjwhLS0gL3dwOmltYWdlIC0tPgoKPCEtLSB3cDpodG1sIC0tPgo8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij41MDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5Ib2x6IHdpZWRlcmdld29ubmVuCjwvc3Bhbj4KPC9kaXY+CjwhLS0gL3dwOmh0bWwgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT4KCjwhLS0gd3A6Y29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwhLS0gd3A6aW1hZ2UgeyJpZCI6NTQzNTUsIndpZHRoIjoiNjlweCIsImhlaWdodCI6ImF1dG8iLCJzaXplU2x1ZyI6ImxhcmdlIiwibGlua0Rlc3RpbmF0aW9uIjoibm9uZSIsImFsaWduIjoiY2VudGVyIn0gLS0+CjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIGFsaWduY2VudGVyIHNpemUtbGFyZ2UgaXMtcmVzaXplZCI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzgtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS01NDM1NSIgc3R5bGU9IndpZHRoOjY5cHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT4KPCEtLSAvd3A6aW1hZ2UgLS0+Cgo8IS0tIHdwOmh0bWwgLS0+CjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjE1IEhhbmR3ZXJrZXI8L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPmluIEl0YWxpZW4gYmV0ZWlsaWd0Cjwvc3Bhbj4KPC9kaXY+CjwhLS0gL3dwOmh0bWwgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT4KCjwhLS0gd3A6Y29sdW1uIHsid2lkdGgiOiIzMHB4In0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MzBweCI+PCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI4cHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjhweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2Pgo8IS0tIC93cDpzcGFjZXIgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1ucyAtLT4KCjwhLS0gd3A6Y29sdW1ucyB7ImFsaWduIjoiZnVsbCJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWduZnVsbCI+PCEtLSB3cDpjb2x1bW4geyJ3aWR0aCI6IjE1JSJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjE1JSI+PCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiIxMnB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDoxMnB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPgoKPCEtLSB3cDpjb2x1bW4geyJ3aWR0aCI6IjcwJSIsImFuY2hvciI6Im1hcCJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjcwJSIgaWQ9Im1hcCI+PCEtLSB3cDpoZWFkaW5nIHsic3R5bGUiOnsidHlwb2dyYXBoeSI6eyJ0ZXh0QWxpZ24iOiJjZW50ZXIifX19IC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmcgaGFzLXRleHQtYWxpZ24tY2VudGVyIj5LYXJ0ZSBkZXIgQXVmZm9yc3R1bmdlbiB2b24gMjAxOSBiaXMgaGV1dGU8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpodG1sIC0tPgo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2QvZW1iZWQ\/bWlkPTFRd2JWYVBaQkdSY3pfYzVNczRPeEU3Q2dnR2poZnRjJmVoYmM9MkUzMTJGIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0ODAiPjwvaWZyYW1lPgo8IS0tIC93cDpodG1sIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+Cgo8IS0tIHdwOmNvbHVtbiB7IndpZHRoIjoiMTUlIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTUlIj48IS0tIHdwOnNwYWNlciB7ImhlaWdodCI6IjExcHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjExcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj4KPCEtLSAvd3A6c3BhY2VyIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbnMgLS0+Cgo8IS0tIHdwOmNvbHVtbnMgeyJhbGlnbiI6IndpZGUifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwhLS0gd3A6Y29sdW1uIHsid2lkdGgiOiIxMDAlIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTAwJSI+PCEtLSB3cDpodG1sIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPkRhcyBWQUlBLU1vZGVsbDwvaDI+CjwhLS0gL3dwOmh0bWwgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1ucyAtLT4KCjwhLS0gd3A6Y29sdW1ucyB7ImFsaWduIjoid2lkZSIsImFuY2hvciI6InByYW56byJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWdud2lkZSIgaWQ9InByYW56byI+PCEtLSB3cDpjb2x1bW4geyJ3aWR0aCI6IjUwJSJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjUwJSI+PCEtLSB3cDpodG1sIC0tPgo8ZGl2IGNsYXNzPSJ2YWlhLW1pc3Npb24tYmxvY2siPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Sw7xja2dld2lubnVuZyBkZXIgUm9oc3RvZmZlPC9zdHJvbmc+PGJyPgogICAgICAgIERpZSBlcnN0ZSBQaGFzZSBrb256ZW50cmllcnQgc2ljaCBhdWYgZGllIFLDvGNrZ2V3aW5udW5nIGRlcyBIb2x6ZXMsIGRhcyBkdXJjaCBkZW4gU3R1cm0gVmFpYSB1bmQgaGV1dGUgYXVjaCBkdXJjaCBkZW4gQm9ya2Vua8OkZmVyIGFuZmllbC4gSmVkZXIgU3RhbW0gd2lyZCBhdXNnZXfDpGhsdCwga2F0YWxvZ2lzaWVydCB1bmQgdm9yYmVyZWl0ZXQsIHdvZHVyY2ggZWluIFByb3plc3MgaW4gR2FuZyBnZXNldHp0IHdpcmQsIGRlciBkZW4gU2NoYWRlbiBpbiBlaW5lIFJlc3NvdXJjZSB2ZXJ3YW5kZWx0LgogICAgPC9wPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Ba3RpdmllcnVuZyBsb2thbGVyIExpZWZlcmtldHRlbjwvc3Ryb25nPjxicj4KICAgICAgICBXaXIgYXJiZWl0ZW4gYXVzc2NobGllw59saWNoIG1pdCBIYW5kd2Vya2VybiB1bmQgVW50ZXJuZWhtZW4gaW4gZGVuIGJldHJvZmZlbmVuIFTDpGxlcm4genVzYW1tZW4uIERpZXMgZ2V3w6RocmxlaXN0ZXQgbmljaHQgbnVyIGRpZSBow7ZjaHN0ZSBRdWFsaXTDpHQgZGVyIFZlcmFyYmVpdHVuZywgc29uZGVybiBiZWxlYnQgYXVjaCBkaWUgbG9rYWxlIFdpcnRzY2hhZnQgdW5kIGRhcyBHZW1laW5zY2hhZnRzZ2Vmw7xobCB3aWVkZXIuCiAgICA8L3A+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPkRlc2lnbiBkZXIgVkFJQS1PYmpla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIEF1cyBkZW0gYmVzY2jDpGRpZ3RlbiBSb2htYXRlcmlhbCBlbnRzdGVoZW4gbWluaW1hbGlzdGlzY2hlIHVuZCBiZWRldXR1bmdzdm9sbGUgRGVzaWdub2JqZWt0ZSwgYmVpIGRlbmVuIGRlciBNZW5zY2ggaW0gTWl0dGVscHVua3Qgc3RlaHQuIEplZGVzIFN0w7xjayB0csOkZ3QgZGllIFNwdXJlbiBkZXMgU3R1cm1zIGluIHNpY2ggdW5kIG1hY2h0IGVzIHp1IGVpbmVtIFN5bWJvbCBmw7xyIFdpZGVyc3RhbmRzZsOkaGlna2VpdCAoUmVzaWxpZW56KSB1bmQgU2Now7ZuaGVpdC4KICAgIDwvcD4KCiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1yaWdodDogMTBweDsiPgogICAgICAgIDxzdHJvbmc+UsO8Y2tnYWJlLSB1bmQgUmVnZW5lcmF0aW9uc3Byb2pla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIERlciBLcmVpc2xhdWYgc2NobGllw590IHNpY2ggbWl0IGRlciBSw7xja2dhYmUuIEVpbiBUZWlsIGRlcyBFcmzDtnNlcyB3aXJkIGluIGtvbmtyZXRlIEF1ZmZvcnN0dW5ncy0gdW5kIFJlZ2VuZXJhdGlvbnNwcm9qZWt0ZSBkZXMgR2ViaWV0cyByZWludmVzdGllcnQsIHdvZHVyY2ggZGllIGR1cmNoIGRlbiBTdHVybSBoaW50ZXJsYXNzZW5lbiBXdW5kZW4gZ2VoZWlsdCB3ZXJkZW4uIEbDvHIgamVkZXMgdmVya2F1ZnRlIFByb2R1a3Qgd2lyZCBlaW4gQmF1bSBnZXBmbGFuenQgb2RlciBlaW4gR2xldHNjaGVyIGdlcmVpbmlndC4KICAgIDwvcD4KCjwvZGl2Pgo8IS0tIC93cDpodG1sIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+Cgo8IS0tIHdwOmNvbHVtbiAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48IS0tIHdwOmNvbHVtbnMgLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMiPjwhLS0gd3A6Y29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwhLS0gd3A6aHRtbCAtLT4KPGRpdiBjbGFzcz0ic2xpZGVzaG93LWNvbnRhaW5lciI+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGUxIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTIiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlMyI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGU0Ij48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTUiPjwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLnNsaWRlc2hvdy1jb250YWluZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDYwMHB4OwogIGFzcGVjdC1yYXRpbzogMSAvIDE7IC8qIHF1YWRyYXRvICovCiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBtYXJnaW46IDAgYXV0bzsKfQoKLnNsaWRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOjA7IGxlZnQ6MDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgb3BhY2l0eTogMDsKICBhbmltYXRpb246IGZhZGUgMTZzIGluZmluaXRlOwp9CgovKiBpbXBvc3RhIGxlIGltbWFnaW5pICovCi5zbGlkZTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTEuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogMHM7IH0KLnNsaWRlMiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtMi5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiA0czsgfQouc2xpZGUzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS0zLmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDRzOyB9Ci5zbGlkZTQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTQuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogOHM7IH0KLnNsaWRlNSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtNS5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiAxMnM7IH0KCgpAa2V5ZnJhbWVzIGZhZGUgewogIDAlIHsgb3BhY2l0eTogMDsgfQogIDYuMjUlIHsgb3BhY2l0eTogMTsgfSAgLyogZmFkZS1pbiAqLwogIDI1JSB7IG9wYWNpdHk6IDE7IH0gICAgLyogdmlzaWJpbGUgKi8KICAzMS4yNSUgeyBvcGFjaXR5OiAwOyB9IC8qIGZhZGUtb3V0ICovCiAgMTAwJSB7IG9wYWNpdHk6IDA7IH0KfQo8L3N0eWxlPgo8IS0tIC93cDpodG1sIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbnMgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1ucyAtLT4KCjwhLS0gd3A6c3BhY2VyIHsiaGVpZ2h0IjoiNTZweCJ9IC0tPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6NTZweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2Pgo8IS0tIC93cDpzcGFjZXIgLS0+Cgo8IS0tIHdwOmNvbHVtbnMgeyJhbGlnbiI6IndpZGUifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwhLS0gd3A6Y29sdW1uIHsid2lkdGgiOiIxMDAlIn0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTAwJSI+PCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlNpbmQgU2llIGVpbiBVbnRlcm5laG1lbj88L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbnMgLS0+Cgo8IS0tIHdwOmh0bWwgLS0+CjwhLS0gSFRNTCAtLT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L3ZhaWEtZnVlci1maXJtZW4vIiBjbGFzcz0idmFpYS1saW5rLWF6aWVuZGUiPgogIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyIGFsaWdud2lkZSB2YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGUiPgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtYXppZW5kZSIKICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS8xMjgweDYwMF9jbGl2ZXQtMS5qcGcnKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsiPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1hemllbmRlIj4KICAgICAgPGgxIGNsYXNzPSJ2YWlhLXRpdGxlLWF6aWVuZGUiPlNjaGFmZmVuIFNpZSBXZXJ0ZSBtaXQgdW5zPC9oMT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2E+Cgo8IS0tIENTUyAtLT4KPHN0eWxlPgoudmFpYS1saW5rLWF6aWVuZGUgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKfQoKLnZhaWEtY292ZXItaG92ZXItYXppZW5kZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiA0MDBweDsKfQoKLyogaW1tYWdpbmUgZGkgc2ZvbmRvICovCi53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHRyYW5zaXRpb246IGZpbHRlciAwLjZzIGVhc2UsIHRyYW5zZm9ybSAwLjZzIGVhc2U7CiAgei1pbmRleDogMDsKfQoKLyogY29udGVuaXRvcmUgY2VudHJhbGUgKi8KLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItYXppZW5kZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGhlaWdodDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi8qIHRpdG9sbyAqLwoudmFpYS10aXRsZS1hemllbmRlIHsKICBtYXJnaW46IDA7CiAgY29sb3I6IHdoaXRlOwogIGZvbnQtc2l6ZTogNHJlbTsKICBmb250LXdlaWdodDogNzAwOwogIGxpbmUtaGVpZ2h0OiAxLjE7CiAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7Cn0KCi8qIGVmZmV0dG8gaG92ZXIgKi8KLnZhaWEtY292ZXItaG92ZXItYXppZW5kZTpob3ZlciAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtYXppZW5kZSB7CiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMTUpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KCi52YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGU6aG92ZXIgLnZhaWEtdGl0bGUtYXppZW5kZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsKfQo8L3N0eWxlPgo8IS0tIC93cDpodG1sIC0tPgoKPCEtLSB3cDpidXR0b25zIHsibGF5b3V0Ijp7InR5cGUiOiJmbGV4IiwianVzdGlmeUNvbnRlbnQiOiJjZW50ZXIiLCJ2ZXJ0aWNhbEFsaWdubWVudCI6InRvcCJ9fSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stYnV0dG9ucyI+PCEtLSB3cDpidXR0b24geyJjbGFzc05hbWUiOiJpcy1zdHlsZS1vdXRsaW5lIiwic3R5bGUiOnsiZGltZW5zaW9ucyI6eyJ3aWR0aCI6Ijc1JSJ9fX0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbiBpcy1zdHlsZS1vdXRsaW5lIj48YSBjbGFzcz0id3AtYmxvY2stYnV0dG9uX19saW5rIHdwLWVsZW1lbnQtYnV0dG9uIiBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvdmFpYS1mdWVyLWZpcm1lbi8iPkVyZmFocmVuIFNpZSBtZWhyPC9hPjwvZGl2Pgo8IS0tIC93cDpidXR0b24gLS0+PC9kaXY+CjwhLS0gL3dwOmJ1dHRvbnMgLS0+Cgo8IS0tIHdwOnNwYWNlciAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT4KCjwhLS0gd3A6aHRtbCAtLT4KPCEtLSBIVE1MIC0tPgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3dlci13aXItc2luZC8iIGNsYXNzPSJ2YWlhLWxpbmstY2hpLXNpYW1vIj4KICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3ZlciBhbGlnbndpZGUgdmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW8iPgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL0NoaS1zaWFtby1uby10ZXh0LmpwZycpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTUlOyI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWNoaS1zaWFtbyI+CiAgICAgIDxoMSBjbGFzcz0idmFpYS10aXRsZS1jaGktc2lhbW8iPldlciB3aXIgc2luZDwvaDE+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9hPgoKPCEtLSBDU1MgLS0+CjxzdHlsZT4KLnZhaWEtbGluay1jaGktc2lhbW8gewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDUwMHB4Owp9CgovKiBpbW1hZ2luZSBkaSBzZm9uZG8gKi8KLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWNoaS1zaWFtbyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGluc2V0OiAwOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB6LWluZGV4OiAwOwp9CgovKiBjb250ZW5pdG9yZSB0ZXN0byBpbiBhbHRvIGEgc2luaXN0cmEgKi8KLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICBoZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMnJlbSAzcmVtOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi8qIHRpdG9sbyAqLwoudmFpYS10aXRsZS1jaGktc2lhbW8gewogIG1hcmdpbjogMDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC1zaXplOiAzLjVyZW07CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4xOwogIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwp9CgovKiBlZmZldHRvIGhvdmVyICovCi52YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbzpob3ZlciAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIHsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vOmhvdmVyIC52YWlhLXRpdGxlLWNoaS1zaWFtbyB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQo8L3N0eWxlPgo8IS0tIC93cDpodG1sIC0tPgoKPCEtLSB3cDpzcGFjZXIgLS0+CjxkaXYgc3R5bGU9ImhlaWdodDoxMDBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2Pgo8IS0tIC93cDpzcGFjZXIgLS0+Cgo8IS0tIHdwOmVtYmVkIHsidXJsIjoiaHR0cHM6Ly95b3V0dS5iZS9WeXo3SzE5aV9MYyIsInR5cGUiOiJ2aWRlbyIsInByb3ZpZGVyTmFtZVNsdWciOiJ5b3V0dWJlIiwicmVzcG9uc2l2ZSI6dHJ1ZSwiYWxpZ24iOiJmdWxsIiwiY2xhc3NOYW1lIjoid3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpbyJ9IC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1lbWJlZCBhbGlnbmZ1bGwgaXMtdHlwZS12aWRlbyBpcy1wcm92aWRlci15b3V0dWJlIHdwLWJsb2NrLWVtYmVkLXlvdXR1YmUgd3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpbyI+PGRpdiBjbGFzcz0id3AtYmxvY2stZW1iZWRfX3dyYXBwZXIiPgpodHRwczovL3lvdXR1LmJlL1Z5ejdLMTlpX0xjCjwvZGl2PjwvZmlndXJlPgo8IS0tIC93cDplbWJlZCAtLT4KCjwhLS0gd3A6c3BhY2VyIC0tPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6MTAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj4KPCEtLSAvd3A6c3BhY2VyIC0tPgoKPCEtLSB3cDpjb2x1bW5zIHsic3R5bGUiOnsiY29sb3IiOnsiZ3JhZGllbnQiOiJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSkifX0sImFuY2hvciI6InByYW56byJ9IC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGhhcy1iYWNrZ3JvdW5kIiBpZD0icHJhbnpvIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSkiPjwhLS0gd3A6Y29sdW1uIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPjwhLS0gd3A6c3BhY2VyIHsiaGVpZ2h0IjoiNTBweCJ9IC0tPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6NTBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2Pgo8IS0tIC93cDpzcGFjZXIgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VW5zZXJlIEVpbnplbGjDpG5kbGVyPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5Nw7ZjaHRlbiBTaWUgZGllIFByb2R1a3RlIGltIExhZGVuIGthdWZlbj8gRW50ZGVja2VuIFNpZSB1bnNlcmVuIEjDpG5kbGVyITwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpidXR0b25zIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b25zIj48IS0tIHdwOmJ1dHRvbiB7ImNsYXNzTmFtZSI6ImlzLXN0eWxlLW91dGxpbmUiLCJzdHlsZSI6eyJjb2xvciI6eyJncmFkaWVudCI6ImxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMTAwJSxyZ2IoMjU1LDEwNSwwKSAxMDAlKSJ9fX0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbiBpcy1zdHlsZS1vdXRsaW5lIj48YSBjbGFzcz0id3AtYmxvY2stYnV0dG9uX19saW5rIGhhcy1iYWNrZ3JvdW5kIHdwLWVsZW1lbnQtYnV0dG9uIiBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3ZhaWEtYW1iYXNzYWRvcnMvIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSkiPlp1ciBlbnRzcHJlY2hlbmRlbiBTZWl0ZSBnZWhlbjwvYT48L2Rpdj4KPCEtLSAvd3A6YnV0dG9uIC0tPjwvZGl2Pgo8IS0tIC93cDpidXR0b25zIC0tPgoKPCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI1MHB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPgoKPCEtLSB3cDpjb2x1bW4gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI1MHB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT4KCjwhLS0gd3A6Y29sdW1ucyAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyI+PCEtLSB3cDpjb2x1bW4geyJ3aWR0aCI6IjEwMCUifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczoxMDAlIj48IS0tIHdwOmh0bWwgLS0+CjxpZnJhbWUgc3JjPSJodHRwczovL3NuYXp6eW1hcHMuY29tL2VtYmVkLzYyOTc3MyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iNDAwcHgiIHN0eWxlPSJib3JkZXI6bm9uZTsiPjwvaWZyYW1lPgo8IS0tIC93cDpodG1sIC0tPgoKPCEtLSB3cDpzcGFjZXIgeyJoZWlnaHQiOiI1MHB4In0gLS0+CjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1uIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW5zIC0tPjwvZGl2Pgo8IS0tIC93cDpjb2x1bW4gLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbnMgLS0+Cgo8IS0tIHdwOnNwYWNlciAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+CjwhLS0gL3dwOnNwYWNlciAtLT4KCjwhLS0gd3A6YWNmL2NhcmRzIHsibmFtZSI6ImFjZi9jYXJkcyIsImRhdGEiOnsiaGVhZGluZyI6IkRhcyBzYWd0IG1hbiDDvGJlciB1bnMiLCJfaGVhZGluZyI6ImZpZWxkXzVlNGFiN2ZkM2EyZWYiLCJtYWludGl0bGUtY29sb3IiOiJ2aW9sZXQiLCJfbWFpbnRpdGxlLWNvbG9yIjoiZmllbGRfNWU0YWI3ZmQzYTJlZl8wMCIsImJhY2tncm91bmQiOiJsaWdodHllbGxvdyIsIl9iYWNrZ3JvdW5kIjoiZmllbGRfNWU0YWI3ZmQzYTJlZl8wMSIsInRpdGxlcy1jb2xvciI6InRyYW5zcGFyZW50IiwiX3RpdGxlcy1jb2xvciI6ImZpZWxkXzVlNGFiN2ZkM2EyZWZfMDIiLCJjb250ZW50cy1jb2xvciI6InRyYW5zcGFyZW50IiwiX2NvbnRlbnRzLWNvbG9yIjoiZmllbGRfNWU0YWI3ZmQzYTJlZl8wMyIsImNhcmRzLWNvbG9yIjoidmlvbGV0IiwiX2NhcmRzLWNvbG9yIjoiZmllbGRfNWU0YWI3ZmQzYTJlZl8wNCIsImNhcmRzXzBfaGVhZGluZyI6IiIsIl9jYXJkc18wX2hlYWRpbmciOiJmaWVsZF81ZTI5NjY1YzU3ZDQwIiwiY2FyZHNfMF9jb250ZW50IjoiIiwiX2NhcmRzXzBfY29udGVudCI6ImZpZWxkXzVlMjk2NjYyNTdkNDEiLCJjYXJkc18wX2ltYWdlIjozMjY1LCJfY2FyZHNfMF9pbWFnZSI6ImZpZWxkXzVlMjk2NjY3NTdkNDIiLCJjYXJkc18wX2xpbmstdGV4dCI6IiIsIl9jYXJkc18wX2xpbmstdGV4dCI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxIiwiY2FyZHNfMF9saW5rLXVybCI6Imh0dHBzOi8vd3d3LmNvcnJpZXJlLml0L2Nyb25hY2hlLzIxX290dG9icmVfMjgvc3RhcnQtdXAtY2hlLXJpZGEtdml0YS1mb3Jlc3RlLWZlcml0ZS12YWlhLTA1MWY1ZGUyLTM4MmEtMTFlYy1iNTdkLTE4OTkwMGZmOGYzNi5zaHRtbCIsIl9jYXJkc18wX2xpbmstdXJsIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDIiLCJjYXJkc18wX2xpbmstY29sb3IiOiJzZWNvbmRhcnkiLCJfY2FyZHNfMF9saW5rLWNvbG9yIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMiLCJjYXJkc18xX2hlYWRpbmciOiIiLCJfY2FyZHNfMV9oZWFkaW5nIjoiZmllbGRfNWUyOTY2NWM1N2Q0MCIsImNhcmRzXzFfY29udGVudCI6IiIsIl9jYXJkc18xX2NvbnRlbnQiOiJmaWVsZF81ZTI5NjY2MjU3ZDQxIiwiY2FyZHNfMV9pbWFnZSI6MzI2MiwiX2NhcmRzXzFfaW1hZ2UiOiJmaWVsZF81ZTI5NjY2NzU3ZDQyIiwiY2FyZHNfMV9saW5rLXRleHQiOiIiLCJfY2FyZHNfMV9saW5rLXRleHQiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMSIsImNhcmRzXzFfbGluay11cmwiOiJodHRwczovL2ZvcmJlcy5pdC8yMDIwLzA3LzA4L3N0YXJ0dXAtdmFpYS1hbXBsaWZpY2F0b3JlLXRlbXBlc3RhLXVuZGVyLTMwLyIsIl9jYXJkc18xX2xpbmstdXJsIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDIiLCJjYXJkc18xX2xpbmstY29sb3IiOiJwcmltYXJ5IiwiX2NhcmRzXzFfbGluay1jb2xvciI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzIiwiY2FyZHNfMl9oZWFkaW5nIjoiIiwiX2NhcmRzXzJfaGVhZGluZyI6ImZpZWxkXzVlMjk2NjVjNTdkNDAiLCJjYXJkc18yX2NvbnRlbnQiOiIiLCJfY2FyZHNfMl9jb250ZW50IjoiZmllbGRfNWUyOTY2NjI1N2Q0MSIsImNhcmRzXzJfaW1hZ2UiOjMyNTYsIl9jYXJkc18yX2ltYWdlIjoiZmllbGRfNWUyOTY2Njc1N2Q0MiIsImNhcmRzXzJfbGluay10ZXh0IjoiIiwiX2NhcmRzXzJfbGluay10ZXh0IjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEiLCJjYXJkc18yX2xpbmstdXJsIjoiaHR0cHM6Ly93d3cucmVwdWJibGljYS5pdC9ncmVlbi1hbmQtYmx1ZS9kb3NzaWVyL3R1dHRpLXBlci1sYS10ZXJyYS8yMDIzLzA5LzE5L25ld3MvdmFpYS00MTQxMDQ5NTIvP3JlZj1SSFJNLUJHLVA1LVMxLVQxIiwiX2NhcmRzXzJfbGluay11cmwiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMiIsImNhcmRzXzJfbGluay1jb2xvciI6InByaW1hcnkiLCJfY2FyZHNfMl9saW5rLWNvbG9yIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMiLCJjYXJkc18zX2hlYWRpbmciOiIiLCJfY2FyZHNfM19oZWFkaW5nIjoiZmllbGRfNWUyOTY2NWM1N2Q0MCIsImNhcmRzXzNfY29udGVudCI6IiIsIl9jYXJkc18zX2NvbnRlbnQiOiJmaWVsZF81ZTI5NjY2MjU3ZDQxIiwiY2FyZHNfM19pbWFnZSI6MzI1MCwiX2NhcmRzXzNfaW1hZ2UiOiJmaWVsZF81ZTI5NjY2NzU3ZDQyIiwiY2FyZHNfM19saW5rLXRleHQiOiIiLCJfY2FyZHNfM19saW5rLXRleHQiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMSIsImNhcmRzXzNfbGluay11cmwiOiJodHRwczovL3N0cmVhbTI0Lmlsc29sZTI0b3JlLmNvbS92aWRlby9pdGFsaWEvZm9yZXN0YS1pbm5vdmF0b3JpLTEwMDAtYWxiZXJpLXBpYW50YXRpLXJpZm9yZXN0YXJlLWRvbG9taXRpL0FGQkF0azIiLCJfY2FyZHNfM19saW5rLXVybCI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyIiwiY2FyZHNfM19saW5rLWNvbG9yIjoicHJpbWFyeSIsIl9jYXJkc18zX2xpbmstY29sb3IiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMyIsImNhcmRzXzRfaGVhZGluZyI6IiIsIl9jYXJkc180X2hlYWRpbmciOiJmaWVsZF81ZTI5NjY1YzU3ZDQwIiwiY2FyZHNfNF9jb250ZW50IjoiIiwiX2NhcmRzXzRfY29udGVudCI6ImZpZWxkXzVlMjk2NjYyNTdkNDEiLCJjYXJkc180X2ltYWdlIjozMjQ3LCJfY2FyZHNfNF9pbWFnZSI6ImZpZWxkXzVlMjk2NjY3NTdkNDIiLCJjYXJkc180X2xpbmstdGV4dCI6IiIsIl9jYXJkc180X2xpbmstdGV4dCI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxIiwiY2FyZHNfNF9saW5rLXVybCI6Imh0dHBzOi8vd3d3LnRnY29tMjQubWVkaWFzZXQuaXQvMjAyMy92aWRlby8tc3R1ZGlvLWFwZXJ0by1tYWdcdTAwMmRcdTAwMmQtbmV4dC1nZW5lcmF6aW9uZS1ldXJvcGEtZ3VhcmRhLWxhLXNlY29uZGEtcHVudGF0YS1zdS1pc3RydXppb25lLWZvcm1hemlvbmUtZS1yaWNlcmNhXzYxNjk5NTcwLTAyay5zaHRtbCIsIl9jYXJkc180X2xpbmstdXJsIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDIiLCJjYXJkc180X2xpbmstY29sb3IiOiJwcmltYXJ5IiwiX2NhcmRzXzRfbGluay1jb2xvciI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzIiwiY2FyZHNfNV9oZWFkaW5nIjoiIiwiX2NhcmRzXzVfaGVhZGluZyI6ImZpZWxkXzVlMjk2NjVjNTdkNDAiLCJjYXJkc181X2NvbnRlbnQiOiIiLCJfY2FyZHNfNV9jb250ZW50IjoiZmllbGRfNWUyOTY2NjI1N2Q0MSIsImNhcmRzXzVfaW1hZ2UiOjMyNTksIl9jYXJkc181X2ltYWdlIjoiZmllbGRfNWUyOTY2Njc1N2Q0MiIsImNhcmRzXzVfbGluay10ZXh0IjoiIiwiX2NhcmRzXzVfbGluay10ZXh0IjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEiLCJjYXJkc181X2xpbmstdXJsIjoiaHR0cHM6Ly93d3cuZmF6Lm5ldC9ha3R1ZWxsL3RlY2huaWstbW90b3IvZnVlbmYtYW0tZnJlaXRhZy1yZWNoZW5iZWlzcGllbGUtMTg0MDMxNTEvcGx1cy0zMC0xODM5MTkwMi5odG1sIiwiX2NhcmRzXzVfbGluay11cmwiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMiIsImNhcmRzXzVfbGluay1jb2xvciI6InByaW1hcnkiLCJfY2FyZHNfNV9saW5rLWNvbG9yIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMiLCJjYXJkc182X2hlYWRpbmciOiIiLCJfY2FyZHNfNl9oZWFkaW5nIjoiZmllbGRfNWUyOTY2NWM1N2Q0MCIsImNhcmRzXzZfY29udGVudCI6IiIsIl9jYXJkc182X2NvbnRlbnQiOiJmaWVsZF81ZTI5NjY2MjU3ZDQxIiwiY2FyZHNfNl9pbWFnZSI6MzI1MywiX2NhcmRzXzZfaW1hZ2UiOiJmaWVsZF81ZTI5NjY2NzU3ZDQyIiwiY2FyZHNfNl9saW5rLXRleHQiOiIiLCJfY2FyZHNfNl9saW5rLXRleHQiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMSIsImNhcmRzXzZfbGluay11cmwiOiJodHRwczovL3RnMjQuc2t5Lml0L3RlY25vbG9naWEvbm93LzIwMjEvMDMvMTEvdmFpYS1jYXNzZS1tdXNpY2FsaS1sZWduby10ZW1wZXN0YSIsIl9jYXJkc182X2xpbmstdXJsIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDIiLCJjYXJkc182X2xpbmstY29sb3IiOiJwcmltYXJ5IiwiX2NhcmRzXzZfbGluay1jb2xvciI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzIiwiY2FyZHNfN19oZWFkaW5nIjoiIiwiX2NhcmRzXzdfaGVhZGluZyI6ImZpZWxkXzVlMjk2NjVjNTdkNDAiLCJjYXJkc183X2NvbnRlbnQiOiIiLCJfY2FyZHNfN19jb250ZW50IjoiZmllbGRfNWUyOTY2NjI1N2Q0MSIsImNhcmRzXzdfaW1hZ2UiOjMyNjgsIl9jYXJkc183X2ltYWdlIjoiZmllbGRfNWUyOTY2Njc1N2Q0MiIsImNhcmRzXzdfbGluay10ZXh0IjoiIiwiX2NhcmRzXzdfbGluay10ZXh0IjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEiLCJjYXJkc183X2xpbmstdXJsIjoiaHR0cHM6Ly93d3cuY2hpcC5kZS9uZXdzL0xhdXRzcHJlY2hlci1vaG5lLVN0cm9tLXVuZC1UZWNobmlrLURhcy1pc3QtZGVyLVZBSUEtQ3ViZV8xODQ0NDk2NTEuaHRtbCIsIl9jYXJkc183X2xpbmstdXJsIjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDIiLCJjYXJkc183X2xpbmstY29sb3IiOiJwcmltYXJ5IiwiX2NhcmRzXzdfbGluay1jb2xvciI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzIiwiY2FyZHNfOF9oZWFkaW5nIjoiIiwiX2NhcmRzXzhfaGVhZGluZyI6ImZpZWxkXzVlMjk2NjVjNTdkNDAiLCJjYXJkc184X2NvbnRlbnQiOiIiLCJfY2FyZHNfOF9jb250ZW50IjoiZmllbGRfNWUyOTY2NjI1N2Q0MSIsImNhcmRzXzhfaW1hZ2UiOjczNDIsIl9jYXJkc184X2ltYWdlIjoiZmllbGRfNWUyOTY2Njc1N2Q0MiIsImNhcmRzXzhfbGluay10ZXh0IjoiIiwiX2NhcmRzXzhfbGluay10ZXh0IjoiZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEiLCJjYXJkc184X2xpbmstdXJsIjoiaHR0cHM6Ly93d3cuZm9ydHVuZWl0YS5jb20vMjAyNC8wMi8xOC92YWlhLWN1YmUtaWwtbGVnbm8tY2hlLXZpc3NlLWR1ZS12b2x0ZS8iLCJfY2FyZHNfOF9saW5rLXVybCI6ImZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyIiwiY2FyZHNfOF9saW5rLWNvbG9yIjoicHJpbWFyeSIsIl9jYXJkc184X2xpbmstY29sb3IiOiJmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMyIsImNhcmRzIjo5LCJfY2FyZHMiOiJmaWVsZF81ZTI5NjY1MDU3ZDNmIn0sImFsaWduIjoiIiwibW9kZSI6InByZXZpZXcifSAvLS0+Cgo8IS0tIHdwOnNwYWNlciB7ImhlaWdodCI6IjgxcHgifSAtLT4KPGRpdiBzdHlsZT0iaGVpZ2h0OjgxcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj4KPCEtLSAvd3A6c3BhY2VyIC0tPgoKPCEtLSB3cDpodG1sIC0tPgo8ZGl2IGlkPSJmcm0tbWx0Y2hubCI+PC9kaXY+CmRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnR0ZW1wbGF0ZWRvY3VtZW50bWV0YV9hY2ZfY2hhbmdlZGNvbnRlbnQtdHlwZWZvb3Rub3Rlc2RvY3VtZW50YmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpc1N0YWNrZWRPbk1vYmlsZWFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaXNTdGFja2VkT25Nb2JpbGVhbGlnbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlYWxpZ25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpc1N0YWNrZWRPbk1vYmlsZWFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdXJsYWx0Y2FwdGlvbmlkd2lkdGhoZWlnaHRzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3VybGFsdGNhcHRpb25pZHdpZHRoaGVpZ2h0c2l6ZVNsdWdsaW5rRGVzdGluYXRpb25hbGlnbmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN1cmxhbHRjYXB0aW9uaWR3aWR0aGhlaWdodHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uYWxpZ25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdXJsYWx0Y2FwdGlvbmlkd2lkdGhoZWlnaHRzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbmFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlYWxpZ25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoYW5jaG9yaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRLYXJ0ZSBkZXIgQXVmZm9yc3R1bmdlbiB2b24gMjAxOSBiaXMgaGV1dGVsZXZlbHN0eWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlYWxpZ25pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpc1N0YWNrZWRPbk1vYmlsZWFsaWduYW5jaG9yaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpc1N0YWNrZWRPbk1vYmlsZWFsaWduaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc3dpZHRoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRTaW5kIFNpZSBlaW4gVW50ZXJuZWhtZW4\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNsYXlvdXRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdGFnTmFtZXR5cGV1cmx0ZXh0RXJmYWhyZW4gU2llIG1laHJjbGFzc05hbWVzdHlsZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdXJsY2FwdGlvbnR5cGVwcm92aWRlck5hbWVTbHVnYWxsb3dSZXNwb25zaXZlcmVzcG9uc2l2ZXByZXZpZXdhYmxlYWxpZ25jbGFzc05hbWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lzU3RhY2tlZE9uTW9iaWxlc3R5bGVhbmNob3Jpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50VW5zZXJlIEVpbnplbGjDpG5kbGVybGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudE3DtmNodGVuIFNpZSBkaWUgUHJvZHVrdGUgaW0gTGFkZW4ga2F1ZmVuPyBFbnRkZWNrZW4gU2llIHVuc2VyZW4gSMOkbmRsZXIhZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzdGFnTmFtZXR5cGV1cmx0ZXh0WnVyIGVudHNwcmVjaGVuZGVuIFNlaXRlIGdlaGVuY2xhc3NOYW1lc3R5bGVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaXNTdGFja2VkT25Nb2JpbGVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzd2lkdGhpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNoZWlnaHRpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzaGVpZ2h0aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc25hbWVkYXRhYWxpZ25tb2RlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2hlaWdodGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlfYWNmX2NvbnRleHQFB5cDBQelAQcGB0QBBQwHBgcRBQYIBw8ECgsIBw8ECgYLCAcPBAoHFAULCAcPBAoHiAEHCwgHDwQKCwgHDwQKBwQDBB4JBQsIBw8ECgYLCAcPBAoLCAcPBAoGCwgHDwQKEQsIBw8ECgULCAcPBAoHCwgHDwQKBgsHBgcDBwQQDwoLBQkHBgcGBwYIBw8ECgcEAwQRCQULBxEFCAcPBAoFCwgHDwQKBxkFCwcGBxEFBggHDwQKBQsIBw8ECgcLCAcPBAoLCAcPBAoRCwgHDwQKCwgHDwQKBwsHCAcPBAoFCwgHDwQKBwsHCAcPBAoFCwgHDwQKBgsIBw8ECgUGCwgHDwQKBypFAAsIBw8ECgcLCAcPBAoFCwgHDwQKBgsHCAcPBAoFCwgHDwQKBgsIBw8ECgsIBw8ECkMABwIFBggPBQsIBw8ECgcLCAcPBAoLCAcPBApDAAcCBQYIDwULCAcPBAoHCwgHDwQKCwgHDwQKQwAHAgUGCA8FCwgHDwQKBwsIBw8ECgsIBw8ECkMABwIFBggPBQsIBw8ECgcLCAcPBAoFCwgHDwQKBgsHCAcPBAoLCAcPBAoHCwgHDwQKBwsHCAcPBAoLCAcPBAoHCwgHDwQKBwuMBhEFBwgECAQIBggFBAgHjxm6L649pqMDCAcIBggOCA4IC0gBBEwACQgGCAcPBAoRBQsIBw8ECgULCAcPBAoHCwgHDwQKEQULCAcPBAoLCAcPBAoHCwgHDwQKBwsIBw8EChEFCwgHDwQKCwgHDwQKBwsIBw8ECgcLCAcPBAoRBQsIBw8ECgULCAcPBAoGCwgHDwQKCwgHDwQKQwAHAgUGCA8FCwgHDwQKBwsIBw8ECgsIBw8ECkMABwIFBggPBQsIBw8ECgcLCAcPBAoLCAcPBApDAAcCBQYIDwULCAcPBAoHCwgHDwQKCwgHDwQKQwAHAgUGCA8FCwgHDwQKBwsIBw8ECgULCAcPBAoGCwgHDwQKEQULCAcPBAoFCwgHDwQKBgsIBw8ECgUGCwgHDwQKBypFAAsIBw8ECgcLCAcPBAoFCwgHDwQKBgsIBw8EChEFCwgHDwQKBQsIBw8ECgcLCAcPBAoRBQYLCAcPBAoFCwgHDwQKBwsIBw8ECgsIBw8EChELCAcPBAoLCAcPBAoHCwgHDwQKBgsIBw8EChEFCwgHDwQKBQsIBw8ECgcZBQsIBw8ECgcLCAcPBAoGCwgHDwQKBwQDBBEJBQsIBw8ECgYLCAcPBAoHCwgHDwQKBgsIBw8ECgMHBBAPCgsFCQsIBw8ECgYLCAcPBAoRBQYLCAcPBAoLCAcPBAoGCwgHDwQKBxQFCwgHDwQKB4gBBwsIBw8ECgsIBw8ECgcEAwQeCQULCAcPBAoGCwgHDwQKCwgHDwQKBgsIBw8EChELCAcPBAoFCwgHDwQKBwsIBw8ECgYLCAcPBAoGCwgHDwQKRAAFBAsIBw8ECgYLCAcPBAoHCwgHDwQKRwALBQcFBwwZAQEA5QMBBAAAAQAAAAEGAAIBAAD+BAEBAKEDQQAAQQAAQQACAEEAAgBBAABBAAIAQQAAQQAAQQAAQQAAQQAAQQAAQQAAAkEAAgBBAABBAAIAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQACAEEAAEEAAEEAAEEAAEEAAEEAAEEAAgBBAABBAABBAAIAQQAAQQAAQQACAEEAAEEAAEEAAgBBAABBAABBAABBAABBAABBAABBAABBAABBAABCAQEAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQAAQQACAEEAAEEAAEEAAgBBAABBAABBAAIAQQAAQQAAQQACAEEAAEEAAEEAAEEAAEEAAEEAAEEAAEEAAgBBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAAIAQQAAQQAAQQACAEEAAEEAAEEAAEEAAgBBAABBAABBAABBAABBAAIAQQACAEEAAEEAAgBBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAAIAFUEDqwFB3wOBAbsDizmHAUErB0GhAwMHAH0BkAUAdyRiODJjYWI5NS0zOWQ1LTRlOTUtOTIyZS1iNmNlNWUxZjUwOTV3JDhmZmUzZThjLWViMjQtNGNhYy1iMzc0LWExZjViOWY0ZGI1MHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PnckYjg1NThlZjQtYzc5Yi00Y2Y1LTliMjItMWNmZWUzZmYyOTZjd4A3PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5jc3MiPgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9zd2lwZXJAMTEvc3dpcGVyLWJ1bmRsZS5taW4uanMiPjwvc2NyaXB0PgoKPGRpdiBpZD0icHJvZG90dGkiIGNsYXNzPSJzZXppb25lIj4KICA8aDIgY2xhc3M9InRpdG9sby1zZXppb25lIj48L2gyPgogIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1wcm9kb3R0aSI+CiAgICAgIDxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfQ1VCRS5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEN1YmU8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCjxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtZXNzZW50aWFsLWFyaWEvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy8zLTEucG5nP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlIEVzc2VudGlhbCBBcmlhPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSU1QRVJGRVRUTy5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEN1YmUgaW1wZXJmZXR0bzwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWpveS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzExLzY2NXg3NTVfSk9ZLTItMS5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEN1YmUgSk9ZPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLXBlb3BsZS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzExL3Blb3BsZS1waWVkaXN0YWxsby5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIFBlb3BsZTxicj5Db21ibzwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLXBlb3BsZS1wZXJzb25hbGl6emF0by8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEwL1Blb3BsZS1QZXJzb25hbGl6emF0aS0yMS1zY2FsZWQuanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBQZW9wbGUgUGVyc29uYWxpc2llcnQ8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KICAgICAgICAKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3ZhaWEtZm9jdXMtMi8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L0ZvY3VzLUhQLmpwZycpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBGb2N1czwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIOKchSBGUkVDQ0Ugc29sbyBkZXNrdG9wIC0tPgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLWJ1dHRvbi1wcmV2Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN3aXBlci1idXR0b24tbmV4dCI+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24iPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLnNlemlvbmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiNmNGYwZTU7IH0KLnRpdG9sby1zZXppb25lIHsKICBjb2xvcjojMGUzYjI2OyAgCiAgZm9udC1zaXplOjIuOHJlbTsgIAogIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IAogIHBhZGRpbmc6MDsgIAogIGJvcmRlci1yYWRpdXM6MDsKICBtYXJnaW4tbGVmdDoyMHB4OwogIG1hcmdpbi1ib3R0b206LTN2aDsKICBwYWRkaW5nLWJvdHRvbTotM3ZoOwoKfQoKLmNhcm9zZWxsby1jb250YWluZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzo2MHB4IDA7IG92ZXJmbG93OmhpZGRlbjsgfQouY2FyZC05LTE2IHsgYXNwZWN0LXJhdGlvOjkvMTY7IHdpZHRoOjMwMHB4OyBib3JkZXItcmFkaXVzOjEycHg7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7IH0KLmNhcmQtYmcgeyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1zaXplOmNvdmVyOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjsgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlOyB9Ci5jYXJkLTktMTY6aG92ZXIgLmNhcmQtYmcgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyB9Ci5jYXJkLWNvbnRlbnQgewogIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogIGRpc3BsYXk6ZmxleDsganVzdGlmeS1jb250ZW50OmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyAgCiAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKICB0ZXh0LWFsaWduOmNlbnRlcjsKfQouY2FyZC1jb250ZW50IGgzIHsgY29sb3I6I2Y0ZjBlNTsgZm9udC1zaXplOjEuNnJlbTsgbWFyZ2luOjA7IHRleHQtc2hhZG93OjAgMnB4IDZweCByZ2JhKDAsMCwwLDAuNik7IH0KCi5ub21lLXByb2RvdHRvIHsKICBvcGFjaXR5OiAxOwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlOwogIHRleHQtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjYpOwogIHBhZGRpbmc6IDEwcHg7Cn0KCi5jYXJkLXByb2RvdHRvOmhvdmVyIC5ub21lLXByb2RvdHRvIHsKICBvcGFjaXR5OiAxOwp9CgovKiBGUkVDQ0U6IHNvbG8gc3UgZGVza3RvcCwgb2ZmIHdoaXRlLCBzZW56YSBjZXJjaGlvICovCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYsCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQgewogIGNvbG9yOiNmNGYwZTU7CiAgZm9udC13ZWlnaHQ6NjAwOwogIHRleHQtc2hhZG93OjAgMnB4IDhweCByZ2JhKDAsMCwwLDAuNCk7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjUwJTsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsKICB6LWluZGV4OjEwOwogIGZvbnQtc2l6ZTo0MHB4OwogIHRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7Cn0KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlciwKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7CiAgb3BhY2l0eTowLjg7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4xKTsKfQoKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiB7IGxlZnQ6MTBweDsgfQouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgcmlnaHQ6MTBweDsgfQoKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1wYWdpbmF0aW9uIHsKICBwb3NpdGlvbjpzdGF0aWM7CiAgbWFyZ2luLXRvcDozMHB4Owp9Ci5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiMwZTNiMjY7Cn0KCi8qIE5hc2NvbmRpIGZyZWNjZSBzdSB0YWJsZXQgZSBtb2JpbGUgKi8KQG1lZGlhKG1heC13aWR0aDoxMDI0cHgpewogIC5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYsCiAgLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7CiAgICBkaXNwbGF5Om5vbmU7CiAgfQp9CkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogIC50aXRvbG8tc2V6aW9uZSB7IGZvbnQtc2l6ZToycmVtOyB9Cn0KPC9zdHlsZT4KCjxzY3JpcHQ+Ci8qIEluaXQgcm9idXN0bzogY29sbGVnYSBpIGJvdHRvbmkgZSBsYSBwYWdpbmF6aW9uZSB1c2FuZG8gZWxlbWVudGkgRE9NLAogICBjb3PDrCBpIG5leHQvcHJldiBmdW56aW9uYW5vIHNlbXByZSBhbmNoZSBzZSBsYSBzdHJ1dHR1cmEgSFRNTCB2YXJpYSBsZWdnZXJtZW50ZSAqLwpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvRE9NKGNvbnRhaW5lclNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgY29uc3QgY29udGFpbmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29udGFpbmVyU2VsZWN0b3IpOwoKICBjb250YWluZXJzLmZvckVhY2goY29udGFpbmVyID0+IHsKICAgIGNvbnN0IHN3aXBlckVsID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXInKTsgLy8gbCdlbGVtZW50byBjb24gY2xhc3MgInN3aXBlciIKICAgIGNvbnN0IHByZXZCdG4gPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlci1idXR0b24tcHJldicpOwogICAgY29uc3QgbmV4dEJ0biA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLWJ1dHRvbi1uZXh0Jyk7CiAgICBjb25zdCBwYWdpbmF0aW9uRWwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlci1wYWdpbmF0aW9uJyk7CgogICAgaWYgKCFzd2lwZXJFbCkgcmV0dXJuOwoKICAgIC8vIEluaXppYWxpenphIFN3aXBlciBwYXNzYW5kb2dsaSBnbGkgZWxlbWVudGkgKG5vbiBzb2xvIGkgc2VsZXR0b3JpKQogICAgbmV3IFN3aXBlcihzd2lwZXJFbCwgewogICAgICBsb29wOiBsb29wVmFsdWUsCiAgICAgIGdyYWJDdXJzb3I6IHRydWUsCiAgICAgIHNsaWRlc1Blckdyb3VwOiAxLCAgIC8vIG11b3ZlIGRpIHVuIHNvbG8gc2xpZGUgcGVyIGNsaWNrCiAgICAgIHNwZWVkOiA2MDAsCiAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICBlbDogcGFnaW5hdGlvbkVsLAogICAgICAgIGNsaWNrYWJsZTogdHJ1ZSwKICAgICAgfSwKICAgICAgbmF2aWdhdGlvbjogewogICAgICAgIC8vIHNlIHByZXZCdG4vbmV4dEJ0biBzb25vIG51bGwsIFN3aXBlciBpZ25vcmEgbGEgbmF2aWdhdGlvbiBzZW56YSBjcmFzaGFyZQogICAgICAgIHByZXZFbDogcHJldkJ0biB8fCB1bmRlZmluZWQsCiAgICAgICAgbmV4dEVsOiBuZXh0QnRuIHx8IHVuZGVmaW5lZCwKICAgICAgfSwKICAgICAgYnJlYWtwb2ludHM6IHBlclZpZXdDb25maWcKICAgIH0pOwogIH0pOwp9Cgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24gKCkgewogIC8vIE5vdGE6IGlsIHNlbGV0dG9yZSBxdWkgcHVudGEgYWwgY29udGVuaXRvcmUgY2hlIHJhY2NoaXVkZSAuc3dpcGVyICsgYm90dG9uaSArIHBhZ2luYXRpb24KICBpbml0Q2Fyb3NlbGxvRE9NKCcuY2Fyb3NlbGxvLWNvbnRhaW5lcicsIHsKICAgIDMyMDogeyBzbGlkZXNQZXJWaWV3OiAxLjMsIHNwYWNlQmV0d2VlbjogMTUgfSwKICAgIDc2ODogeyBzbGlkZXNQZXJWaWV3OiAzLjIsIHNwYWNlQmV0d2VlbjogMjAgfSwKICAgIDEwMjQ6IHsgc2xpZGVzUGVyVmlldzogNS4zLCBzcGFjZUJldHdlZW46IDMwIH0sCiAgfSk7Cn0pOwo8L3NjcmlwdD53gDc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyI+CjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8ZGl2IGlkPSJwcm9kb3R0aSIgY2xhc3M9InNlemlvbmUiPgogIDxoMiBjbGFzcz0idGl0b2xvLXNlemlvbmUiPjwvaDI+CiAgPGRpdiBjbGFzcz0iY2Fyb3NlbGxvLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzd2lwZXIgY2Fyb3NlbGxvLXByb2RvdHRpIj4KICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAzLzMtMS5wbmc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEN1YmUgRXNzZW50aWFsIEFyaWE8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1pbXBlcmZldHRvLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9JTVBFUkZFVFRPLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBpbXBlcmZldHRvPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBKT1k8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtcGVvcGxlLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTEvcGVvcGxlLXBpZWRpc3RhbGxvLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgUGVvcGxlPGJyPkNvbWJvPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtcGVvcGxlLXBlcnNvbmFsaXp6YXRvLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvUGVvcGxlLVBlcnNvbmFsaXp6YXRpLTIxLXNjYWxlZC5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIFBlb3BsZSBQZXJzb25hbGlzaWVydDwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvdmFpYS1mb2N1cy0yLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvRm9jdXMtSFAuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEZvY3VzPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0g4pyFIEZSRUNDRSBzb2xvIGRlc2t0b3AgLS0+CiAgICA8ZGl2IGNsYXNzPSJzd2lwZXItYnV0dG9uLXByZXYiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLWJ1dHRvbi1uZXh0Ij48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbiI+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPHN0eWxlPgouc2V6aW9uZSB7IGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgfQoudGl0b2xvLXNlemlvbmUgewogIGNvbG9yOiMwZTNiMjY7ICAKICBmb250LXNpemU6Mi44cmVtOyAgCiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgCiAgcGFkZGluZzowOyAgCiAgYm9yZGVyLXJhZGl1czowOwogIG1hcmdpbi1sZWZ0OjIwcHg7CiAgbWFyZ2luLWJvdHRvbTotM3ZoOwogIHBhZGRpbmctYm90dG9tOi0zdmg7Cgp9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nOjYwcHggMDsgb3ZlcmZsb3c6aGlkZGVuOyB9Ci5jYXJkLTktMTYgeyBhc3BlY3QtcmF0aW86OS8xNjsgd2lkdGg6MzAwcHg7IGJvcmRlci1yYWRpdXM6MTJweDsgb3ZlcmZsb3c6aGlkZGVuOyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQouY2FyZC1iZyB7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOyB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjRzIGVhc2U7IH0KLmNhcmQtOS0xNjpob3ZlciAuY2FyZC1iZyB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH0KLmNhcmQtY29udGVudCB7CiAgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHJpZ2h0OjA7IGJvdHRvbTowOyAgCiAgZGlzcGxheTpmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7ICAKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIHRleHQtYWxpZ246Y2VudGVyOwp9Ci5jYXJkLWNvbnRlbnQgaDMgeyBjb2xvcjojZjRmMGU1OyBmb250LXNpemU6MS42cmVtOyBtYXJnaW46MDsgdGV4dC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsMC42KTsgfQoKLm5vbWUtcHJvZG90dG8gewogIG9wYWNpdHk6IDE7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7CiAgdGV4dC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgcGFkZGluZzogMTBweDsKfQoKLmNhcmQtcHJvZG90dG86aG92ZXIgLm5vbWUtcHJvZG90dG8gewogIG9wYWNpdHk6IDE7Cn0KCi8qIEZSRUNDRTogc29sbyBzdSBkZXNrdG9wLCBvZmYgd2hpdGUsIHNlbnphIGNlcmNoaW8gKi8KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiwKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7CiAgY29sb3I6I2Y0ZjBlNTsKICBmb250LXdlaWdodDo2MDA7CiAgdGV4dC1zaGFkb3c6MCAycHggOHB4IHJnYmEoMCwwLDAsMC40KTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6NTAlOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOwogIHotaW5kZXg6MTA7CiAgZm9udC1zaXplOjQwcHg7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVyLAouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyIHsKICBvcGFjaXR5OjAuODsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjEpOwp9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHsgbGVmdDoxMHB4OyB9Ci5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQgeyByaWdodDoxMHB4OyB9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLXBhZ2luYXRpb24gewogIHBvc2l0aW9uOnN0YXRpYzsKICBtYXJnaW4tdG9wOjMwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IzBlM2IyNjsKfQoKLyogTmFzY29uZGkgZnJlY2NlIHN1IHRhYmxldCBlIG1vYmlsZSAqLwpAbWVkaWEobWF4LXdpZHRoOjEwMjRweCl7CiAgLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiwKICAuY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsKICAgIGRpc3BsYXk6bm9uZTsKICB9Cn0KQG1lZGlhKG1heC13aWR0aDo3NjhweCl7CiAgLnRpdG9sby1zZXppb25lIHsgZm9udC1zaXplOjJyZW07IH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLyogSW5pdCByb2J1c3RvOiBjb2xsZWdhIGkgYm90dG9uaSBlIGxhIHBhZ2luYXppb25lIHVzYW5kbyBlbGVtZW50aSBET00sCiAgIGNvc8OsIGkgbmV4dC9wcmV2IGZ1bnppb25hbm8gc2VtcHJlIGFuY2hlIHNlIGxhIHN0cnV0dHVyYSBIVE1MIHZhcmlhIGxlZ2dlcm1lbnRlICovCmZ1bmN0aW9uIGluaXRDYXJvc2VsbG9ET00oY29udGFpbmVyU2VsZWN0b3IsIHBlclZpZXdDb25maWcsIGxvb3BWYWx1ZSA9IHRydWUpIHsKICBjb25zdCBjb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChjb250YWluZXJTZWxlY3Rvcik7CgogIGNvbnRhaW5lcnMuZm9yRWFjaChjb250YWluZXIgPT4gewogICAgY29uc3Qgc3dpcGVyRWwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlcicpOyAvLyBsJ2VsZW1lbnRvIGNvbiBjbGFzcyAic3dpcGVyIgogICAgY29uc3QgcHJldkJ0biA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLWJ1dHRvbi1wcmV2Jyk7CiAgICBjb25zdCBuZXh0QnRuID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXItYnV0dG9uLW5leHQnKTsKICAgIGNvbnN0IHBhZ2luYXRpb25FbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLXBhZ2luYXRpb24nKTsKCiAgICBpZiAoIXN3aXBlckVsKSByZXR1cm47CgogICAgLy8gSW5pemlhbGl6emEgU3dpcGVyIHBhc3NhbmRvZ2xpIGdsaSBlbGVtZW50aSAobm9uIHNvbG8gaSBzZWxldHRvcmkpCiAgICBuZXcgU3dpcGVyKHN3aXBlckVsLCB7CiAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgZ3JhYkN1cnNvcjogdHJ1ZSwKICAgICAgc2xpZGVzUGVyR3JvdXA6IDEsICAgLy8gbXVvdmUgZGkgdW4gc29sbyBzbGlkZSBwZXIgY2xpY2sKICAgICAgc3BlZWQ6IDYwMCwKICAgICAgcGFnaW5hdGlvbjogewogICAgICAgIGVsOiBwYWdpbmF0aW9uRWwsCiAgICAgICAgY2xpY2thYmxlOiB0cnVlLAogICAgICB9LAogICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgLy8gc2UgcHJldkJ0bi9uZXh0QnRuIHNvbm8gbnVsbCwgU3dpcGVyIGlnbm9yYSBsYSBuYXZpZ2F0aW9uIHNlbnphIGNyYXNoYXJlCiAgICAgICAgcHJldkVsOiBwcmV2QnRuIHx8IHVuZGVmaW5lZCwKICAgICAgICBuZXh0RWw6IG5leHRCdG4gfHwgdW5kZWZpbmVkLAogICAgICB9LAogICAgICBicmVha3BvaW50czogcGVyVmlld0NvbmZpZwogICAgfSk7CiAgfSk7Cn0KCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgLy8gTm90YTogaWwgc2VsZXR0b3JlIHF1aSBwdW50YSBhbCBjb250ZW5pdG9yZSBjaGUgcmFjY2hpdWRlIC5zd2lwZXIgKyBib3R0b25pICsgcGFnaW5hdGlvbgogIGluaXRDYXJvc2VsbG9ET00oJy5jYXJvc2VsbG8tY29udGFpbmVyJywgewogICAgMzIwOiB7IHNsaWRlc1BlclZpZXc6IDEuMywgc3BhY2VCZXR3ZWVuOiAxNSB9LAogICAgNzY4OiB7IHNsaWRlc1BlclZpZXc6IDMuMiwgc3BhY2VCZXR3ZWVuOiAyMCB9LAogICAgMTAyNDogeyBzbGlkZXNQZXJWaWV3OiA1LjMsIHNwYWNlQmV0d2VlbjogMzAgfSwKICB9KTsKfSk7Cjwvc2NyaXB0PnckYWI4NWFjM2ItN2UzMi00ZTRkLWE1ZWEtN2IxNTcyNjhiMDU1dyRkNTZlNjU2NS1mMmIxLTQ1NWMtYTRmZS0zMWUzZTJmZmE2Yjl3JDdmZWQ2MWI0LTAwZWQtNGJiNy04NmI0LTY4ZTZkY2IzZDdiOHckNjdlMGE2ZWYtMDNkMC00MDgxLWJmYzUtODMxNjMyOWI2NTMzdyRhYjYzYjViMy1iZGVmLTQ2ZDQtYmRjNy04NWNlNmIyMDllNzh3JDQ1OGNkYzVmLTdlOGMtNDQyNy1hM2FmLTAxNjkxNTFhNzBlZHckOGI0YTQxODYtZjFhOC00OTJhLWEyODUtN2ViNGZiNjIyYjU4dyRkNmY5YzhkOS0xYmRkLTRkMGMtODcwMS1iOWRkNDJjYjA4YjV3JDEyYzAwMDMyLWVmOTAtNDkwZS05ZjYwLTE1ZGRhMDc1MmVmZXckY2I3YTVmZDktYWQyNC00NTYyLThlOGYtYzA2NDE4Y2YwNzY3dyQ5MDgzNzlhOS1mYmZmLTQwNWUtYjUwYi03ZGQ5MDRkOTcwOGJ3JGFmZTEwNWMyLWNjYzQtNGUxNy1iYjk3LTM0MGNkYmZiMTNjNnckODAxMmJiN2QtMGJjZC00YWJjLWE2YTgtMTEwZTcyNWY4NGVidyQ4NmIzODk3Ny0wYTIyLTQyNmYtOWJmYS0xYzQwNjk2MTM3NTZ3JGUzYWYxNzMzLWVhOWEtNDM0My04N2I2LWYxNjg0N2M1N2I1Y3ckNmEwNDBkNTAtOWMwMC00YzM2LTlkYjktYmE1YTFkYjhjZjNhdyQzZjU5NGM2OC04NGRmLTRlOWYtOTlkMC00M2NlY2JmMjc1ZGR7QnnrXP0XUAB7QeaQ1B+AAAB2AgZwb3N0SWR9i9oECHBvc3RUeXBldwRwYWdldyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckYjc4MmQwZWMtZmQzMC00MTQwLThiYjYtOWU3NmMwOThlYmQ0dxw8ZGl2IGlkPSJmcm0tbWx0Y2hubCI+PC9kaXY+dxw8ZGl2IGlkPSJmcm0tbWx0Y2hubCI+PC9kaXY+dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyQ1MGJmMzdiOC1kMmE4LTQ1NzEtODdhMi0zM2QyMzY4MWFhYWF3SjxkaXYgc3R5bGU9ImhlaWdodDo4MXB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncEODFweHckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxdwljb3JlL2h0bWx35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckM2Y1OTRjNjgtODRkZi00ZTlmLTk5ZDAtNDNjZWNiZjI3NWRkdwB3CWFjZi9jYXJkc3cJYWNmL2NhcmRzdnoHaGVhZGluZ3cWRGFzIHNhZ3QgbWFuIMO8YmVyIHVucwhfaGVhZGluZ3cTZmllbGRfNWU0YWI3ZmQzYTJlZg9tYWludGl0bGUtY29sb3J3BnZpb2xldBBfbWFpbnRpdGxlLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAwCmJhY2tncm91bmR3C2xpZ2h0eWVsbG93C19iYWNrZ3JvdW5kdxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAxDHRpdGxlcy1jb2xvcncLdHJhbnNwYXJlbnQNX3RpdGxlcy1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMg5jb250ZW50cy1jb2xvcncLdHJhbnNwYXJlbnQPX2NvbnRlbnRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAzC2NhcmRzLWNvbG9ydwZ2aW9sZXQMX2NhcmRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzA0D2NhcmRzXzBfaGVhZGluZ3cAEF9jYXJkc18wX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMF9jb250ZW50dwAQX2NhcmRzXzBfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18wX2ltYWdlfYEzDl9jYXJkc18wX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzBfbGluay10ZXh0dwASX2NhcmRzXzBfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18wX2xpbmstdXJsd4QBaHR0cHM6Ly93d3cuY29ycmllcmUuaXQvY3JvbmFjaGUvMjFfb3R0b2JyZV8yOC9zdGFydC11cC1jaGUtcmlkYS12aXRhLWZvcmVzdGUtZmVyaXRlLXZhaWEtMDUxZjVkZTItMzgyYS0xMWVjLWI1N2QtMTg5OTAwZmY4ZjM2LnNodG1sEV9jYXJkc18wX2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc18wX2xpbmstY29sb3J3CXNlY29uZGFyeRNfY2FyZHNfMF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc18xX2hlYWRpbmd3ABBfY2FyZHNfMV9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzFfY29udGVudHcAEF9jYXJkc18xX2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfMV9pbWFnZX2+Mg5fY2FyZHNfMV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc18xX2xpbmstdGV4dHcAEl9jYXJkc18xX2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfMV9saW5rLXVybHdKaHR0cHM6Ly9mb3JiZXMuaXQvMjAyMC8wNy8wOC9zdGFydHVwLXZhaWEtYW1wbGlmaWNhdG9yZS10ZW1wZXN0YS11bmRlci0zMC8RX2NhcmRzXzFfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzFfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfMV9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc18yX2hlYWRpbmd3ABBfY2FyZHNfMl9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzJfY29udGVudHcAEF9jYXJkc18yX2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfMl9pbWFnZX24Mg5fY2FyZHNfMl9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc18yX2xpbmstdGV4dHcAEl9jYXJkc18yX2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfMl9saW5rLXVybHd4aHR0cHM6Ly93d3cucmVwdWJibGljYS5pdC9ncmVlbi1hbmQtYmx1ZS9kb3NzaWVyL3R1dHRpLXBlci1sYS10ZXJyYS8yMDIzLzA5LzE5L25ld3MvdmFpYS00MTQxMDQ5NTIvP3JlZj1SSFJNLUJHLVA1LVMxLVQxEV9jYXJkc18yX2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc18yX2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzJfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfM19oZWFkaW5ndwAQX2NhcmRzXzNfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc18zX2NvbnRlbnR3ABBfY2FyZHNfM19jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzNfaW1hZ2V9sjIOX2NhcmRzXzNfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfM19saW5rLXRleHR3ABJfY2FyZHNfM19saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzNfbGluay11cmx3cmh0dHBzOi8vc3RyZWFtMjQuaWxzb2xlMjRvcmUuY29tL3ZpZGVvL2l0YWxpYS9mb3Jlc3RhLWlubm92YXRvcmktMTAwMC1hbGJlcmktcGlhbnRhdGktcmlmb3Jlc3RhcmUtZG9sb21pdGkvQUZCQXRrMhFfY2FyZHNfM19saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfM19saW5rLWNvbG9ydwdwcmltYXJ5E19jYXJkc18zX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzRfaGVhZGluZ3cAEF9jYXJkc180X2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfNF9jb250ZW50dwAQX2NhcmRzXzRfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc180X2ltYWdlfa8yDl9jYXJkc180X2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzRfbGluay10ZXh0dwASX2NhcmRzXzRfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc180X2xpbmstdXJsd6cBaHR0cHM6Ly93d3cudGdjb20yNC5tZWRpYXNldC5pdC8yMDIzL3ZpZGVvLy1zdHVkaW8tYXBlcnRvLW1hZy0tLW5leHQtZ2VuZXJhemlvbmUtZXVyb3BhLWd1YXJkYS1sYS1zZWNvbmRhLXB1bnRhdGEtc3UtaXN0cnV6aW9uZS1mb3JtYXppb25lLWUtcmljZXJjYV82MTY5OTU3MC0wMmsuc2h0bWwRX2NhcmRzXzRfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzRfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfNF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc181X2hlYWRpbmd3ABBfY2FyZHNfNV9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzVfY29udGVudHcAEF9jYXJkc181X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNV9pbWFnZX27Mg5fY2FyZHNfNV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc181X2xpbmstdGV4dHcAEl9jYXJkc181X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNV9saW5rLXVybHdpaHR0cHM6Ly93d3cuZmF6Lm5ldC9ha3R1ZWxsL3RlY2huaWstbW90b3IvZnVlbmYtYW0tZnJlaXRhZy1yZWNoZW5iZWlzcGllbGUtMTg0MDMxNTEvcGx1cy0zMC0xODM5MTkwMi5odG1sEV9jYXJkc181X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc181X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzVfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfNl9oZWFkaW5ndwAQX2NhcmRzXzZfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc182X2NvbnRlbnR3ABBfY2FyZHNfNl9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzZfaW1hZ2V9tTIOX2NhcmRzXzZfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfNl9saW5rLXRleHR3ABJfY2FyZHNfNl9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzZfbGluay11cmx3UGh0dHBzOi8vdGcyNC5za3kuaXQvdGVjbm9sb2dpYS9ub3cvMjAyMS8wMy8xMS92YWlhLWNhc3NlLW11c2ljYWxpLWxlZ25vLXRlbXBlc3RhEV9jYXJkc182X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc182X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzZfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfN19oZWFkaW5ndwAQX2NhcmRzXzdfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc183X2NvbnRlbnR3ABBfY2FyZHNfN19jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzdfaW1hZ2V9hDMOX2NhcmRzXzdfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfN19saW5rLXRleHR3ABJfY2FyZHNfN19saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzdfbGluay11cmx3YWh0dHBzOi8vd3d3LmNoaXAuZGUvbmV3cy9MYXV0c3ByZWNoZXItb2huZS1TdHJvbS11bmQtVGVjaG5pay1EYXMtaXN0LWRlci1WQUlBLUN1YmVfMTg0NDQ5NjUxLmh0bWwRX2NhcmRzXzdfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzdfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfN19saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc184X2hlYWRpbmd3ABBfY2FyZHNfOF9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzhfY29udGVudHcAEF9jYXJkc184X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfOF9pbWFnZX2ucg5fY2FyZHNfOF9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc184X2xpbmstdGV4dHcAEl9jYXJkc184X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfOF9saW5rLXVybHdNaHR0cHM6Ly93d3cuZm9ydHVuZWl0YS5jb20vMjAyNC8wMi8xOC92YWlhLWN1YmUtaWwtbGVnbm8tY2hlLXZpc3NlLWR1ZS12b2x0ZS8RX2NhcmRzXzhfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzhfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfOF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMwVjYXJkc30JBl9jYXJkc3cTZmllbGRfNWUyOTY2NTA1N2QzZncHcHJldmlld3cAdgIGcG9zdElkfYvaBAhwb3N0VHlwZXcEcGFnZXckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxdwljb3JlL2h0bWx35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckNmEwNDBkNTAtOWMwMC00YzM2LTlkYjktYmE1YTFkYjhjZjNhd0s8ZGl2IHN0eWxlPSJoZWlnaHQ6MTAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwUxMDBweHckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxdwljb3JlL2h0bWx35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckZTNhZjE3MzMtZWE5YS00MzQzLTg3YjYtZjE2ODQ3YzU3YjVjd5QBPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBoYXMtYmFja2dyb3VuZCIgaWQ9InByYW56byIgc3R5bGU9ImJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyxyZ2IoMjUyLDE4NSwwKSAxMDAlLHJnYigyNTUsMTA1LDApIDEwMCUpIj4KCjwvZGl2PncMY29yZS9jb2x1bW5zeHYBBWNvbG9ydgEIZ3JhZGllbnR3P2xpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMTAwJSxyZ2IoMjU1LDEwNSwwKSAxMDAlKXcGcHJhbnpvdyQxMWE1YWI3ZC1hNDA4LTQxMjAtOTc0YS0wZThmMTJhNWZjODV4dys8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPgoKCgoKCgoKPC9kaXY+dwtjb3JlL2NvbHVtbnckMzg1ZTYyNzMtZGQzMC00N2ZiLWEwMDAtMTY0YzVmN2YzMTUzeHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjUwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQ1MHB4dyRhNDc1MTBhOS1mZmY0LTQzOTMtOWU0MC0zOWFhYTAzZDkwZTJ4dzc8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlVuc2VyZSBFaW56ZWxow6RuZGxlcjwvaDI+dwxjb3JlL2hlYWRpbmd9AnckMGU0NTJiMTYtMzRkMC00NmMzLWFhNWMtZjhlNzVjZjM4ZGVjeHdRPHA+TcO2Y2h0ZW4gU2llIGRpZSBQcm9kdWt0ZSBpbSBMYWRlbiBrYXVmZW4\/IEVudGRlY2tlbiBTaWUgdW5zZXJlbiBIw6RuZGxlciE8L3A+dw5jb3JlL3BhcmFncmFwaHl3JDRhZDFhYmZlLTlkY2MtNGQ5Yi1hNDhiLTM5M2Q4NTEzYjAxYXh3JDxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbnMiPjwvZGl2PncMY29yZS9idXR0b25zdyRkNzNkZWNiYS01ZTUxLTQ0MWMtOGY0OS00ZjBhMDhkYmE5NzZ4d5sCPGRpdiBjbGFzcz0id3AtYmxvY2stYnV0dG9uIGlzLXN0eWxlLW91dGxpbmUiPjxhIGNsYXNzPSJ3cC1ibG9jay1idXR0b25fX2xpbmsgaGFzLWJhY2tncm91bmQgd3AtZWxlbWVudC1idXR0b24iIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvdmFpYS1hbWJhc3NhZG9ycy8iIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMTAwJSxyZ2IoMjU1LDEwNSwwKSAxMDAlKSI+WnVyIGVudHNwcmVjaGVuZGVuIFNlaXRlIGdlaGVuPC9hPjwvZGl2PncLY29yZS9idXR0b253AWF3BmJ1dHRvbncoaHR0cHM6Ly93d3cudmFpYS5ldS9kZS92YWlhLWFtYmFzc2Fkb3JzL3cQaXMtc3R5bGUtb3V0bGluZXYBBWNvbG9ydgEIZ3JhZGllbnR3P2xpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMTAwJSxyZ2IoMjU1LDEwNSwwKSAxMDAlKXckYTJhZjQ4MjgtMzE3ZS00MTkyLThiMmUtYzhjZTNhNzg5MGFleHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjUwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQ1MHB4dyQ5NWViMDY3Yy1lYmM0LTRmMGItYjQ3Yi1kMmMzMTliNTZhZDF4dyU8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPgoKPC9kaXY+dwtjb3JlL2NvbHVtbnckNGVkNzBkMWEtNjcxMi00NGRhLTk4MWEtMjA1OTg5MzNiZjIzeHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjUwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQ1MHB4dyQ1MmVhZmJjNi04NmFlLTQ0MGMtOGZlNC01YzdhY2FiYTUwMTV4dyQ8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIj48L2Rpdj53DGNvcmUvY29sdW1uc3h3JGIwOGM3MmQyLWZkOGItNDgyOS1iODhlLTIzZDA4OTMwMjQyNnh3PTxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTAwJSI+Cgo8L2Rpdj53C2NvcmUvY29sdW1udwQxMDAldyQ1NTU3MTM1Yy04NjRjLTQwMTktOTllMC0xMWI5YTBjZjJmNGR4d2w8aWZyYW1lIHNyYz0iaHR0cHM6Ly9zbmF6enltYXBzLmNvbS9lbWJlZC82Mjk3NzMiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQwMHB4IiBzdHlsZT0iYm9yZGVyOm5vbmU7Ij48L2lmcmFtZT53CWNvcmUvaHRtbHdsPGlmcmFtZSBzcmM9Imh0dHBzOi8vc25henp5bWFwcy5jb20vZW1iZWQvNjI5NzczIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0MDBweCIgc3R5bGU9ImJvcmRlcjpub25lOyI+PC9pZnJhbWU+dyQyNjUzODE0MS0zNjBlLTRhZmQtYmMzOS0wODQ3ZTM0ZTVhYTN4d0o8ZGl2IHN0eWxlPSJoZWlnaHQ6NTBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BDUwcHh3JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JDg2YjM4OTc3LTBhMjItNDI2Zi05YmZhLTFjNDA2OTYxMzc1NndLPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncFMTAwcHh3JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JDgwMTJiYjdkLTBiY2QtNGFiYy1hNmE4LTExMGU3MjVmODRlYnfdATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWVtYmVkIGFsaWduZnVsbCBpcy10eXBlLXZpZGVvIGlzLXByb3ZpZGVyLXlvdXR1YmUgd3AtYmxvY2stZW1iZWQteW91dHViZSB3cC1lbWJlZC1hc3BlY3QtMTYtOSB3cC1oYXMtYXNwZWN0LXJhdGlvIj48ZGl2IGNsYXNzPSJ3cC1ibG9jay1lbWJlZF9fd3JhcHBlciI+Cmh0dHBzOi8veW91dHUuYmUvVnl6N0sxOWlfTGMKPC9kaXY+PC9maWd1cmU+dwpjb3JlL2VtYmVkdxxodHRwczovL3lvdXR1LmJlL1Z5ejdLMTlpX0xjdwV2aWRlb3cHeW91dHViZXh4eHcEZnVsbHcod3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpb3ckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxdwljb3JlL2h0bWx35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckYWZlMTA1YzItY2NjNC00ZTE3LWJiOTctMzQwY2RiZmIxM2M2d0s8ZGl2IHN0eWxlPSJoZWlnaHQ6MTAwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwUxMDBweHckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JDkwODM3OWE5LWZiZmYtNDA1ZS1iNTBiLTdkZDkwNGQ5NzA4YnemDTwhLS0gSFRNTCAtLT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS93ZXItd2lyLXNpbmQvIiBjbGFzcz0idmFpYS1saW5rLWNoaS1zaWFtbyI+CiAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXIgYWxpZ253aWRlIHZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vIj4KICAgIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWNoaS1zaWFtbyIKICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9DaGktc2lhbW8tbm8tdGV4dC5qcGcnKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDU1JTsiPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1jaGktc2lhbW8iPgogICAgICA8aDEgY2xhc3M9InZhaWEtdGl0bGUtY2hpLXNpYW1vIj5XZXIgd2lyIHNpbmQ8L2gxPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvYT4KCjwhLS0gQ1NTIC0tPgo8c3R5bGU+Ci52YWlhLWxpbmstY2hpLXNpYW1vIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi52YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiA1MDBweDsKfQoKLyogaW1tYWdpbmUgZGkgc2ZvbmRvICovCi53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1jaGktc2lhbW8gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBpbnNldDogMDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIHRyYW5zaXRpb246IGZpbHRlciAwLjZzIGVhc2UsIHRyYW5zZm9ybSAwLjZzIGVhc2U7CiAgei1pbmRleDogMDsKfQoKLyogY29udGVuaXRvcmUgdGVzdG8gaW4gYWx0byBhIHNpbmlzdHJhICovCi53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWNoaS1zaWFtbyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgaGVpZ2h0OiAxMDAlOwogIHBhZGRpbmc6IDJyZW0gM3JlbTsKICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgovKiB0aXRvbG8gKi8KLnZhaWEtdGl0bGUtY2hpLXNpYW1vIHsKICBtYXJnaW46IDA7CiAgY29sb3I6IHdoaXRlOwogIGZvbnQtc2l6ZTogMy41cmVtOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDEuMTsKICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsKfQoKLyogZWZmZXR0byBob3ZlciAqLwoudmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW86aG92ZXIgLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWNoaS1zaWFtbyB7CiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMTUpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KCi52YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbzpob3ZlciAudmFpYS10aXRsZS1jaGktc2lhbW8gewogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KPC9zdHlsZT53pg08IS0tIEhUTUwgLS0+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvd2VyLXdpci1zaW5kLyIgY2xhc3M9InZhaWEtbGluay1jaGktc2lhbW8iPgogIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyIGFsaWdud2lkZSB2YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbyI+CiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1jaGktc2lhbW8iCiAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvQ2hpLXNpYW1vLW5vLXRleHQuanBnJyk7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1NSU7Ij4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItY2hpLXNpYW1vIj4KICAgICAgPGgxIGNsYXNzPSJ2YWlhLXRpdGxlLWNoaS1zaWFtbyI+V2VyIHdpciBzaW5kPC9oMT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2E+Cgo8IS0tIENTUyAtLT4KPHN0eWxlPgoudmFpYS1saW5rLWNoaS1zaWFtbyB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGRpc3BsYXk6IGJsb2NrOwp9CgoudmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW8gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogNTAwcHg7Cn0KCi8qIGltbWFnaW5lIGRpIHNmb25kbyAqLwoud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC42cyBlYXNlLCB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIHotaW5kZXg6IDA7Cn0KCi8qIGNvbnRlbml0b3JlIHRlc3RvIGluIGFsdG8gYSBzaW5pc3RyYSAqLwoud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1jaGktc2lhbW8gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAyOwogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogIGhlaWdodDogMTAwJTsKICBwYWRkaW5nOiAycmVtIDNyZW07CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoKLyogdGl0b2xvICovCi52YWlhLXRpdGxlLWNoaS1zaWFtbyB7CiAgbWFyZ2luOiAwOwogIGNvbG9yOiB3aGl0ZTsKICBmb250LXNpemU6IDMuNXJlbTsKICBmb250LXdlaWdodDogNzAwOwogIGxpbmUtaGVpZ2h0OiAxLjE7CiAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7Cn0KCi8qIGVmZmV0dG8gaG92ZXIgKi8KLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vOmhvdmVyIC53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1jaGktc2lhbW8gewogIGZpbHRlcjogYnJpZ2h0bmVzcygxLjE1KTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwp9CgoudmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW86aG92ZXIgLnZhaWEtdGl0bGUtY2hpLXNpYW1vIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwp9Cjwvc3R5bGU+dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyRjYjdhNWZkOS1hZDI0LTQ1NjItOGU4Zi1jMDY0MThjZjA3Njd3SzxkaXYgc3R5bGU9ImhlaWdodDoxMDBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BTEwMHB4dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyQxMmMwMDAzMi1lZjkwLTQ5MGUtOWY2MC0xNWRkYTA3NTJlZmV3JDxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbnMiPjwvZGl2PncMY29yZS9idXR0b25zdgMEdHlwZXcEZmxleA5qdXN0aWZ5Q29udGVudHcGY2VudGVyEXZlcnRpY2FsQWxpZ25tZW50dwN0b3B3JDBkNzY1ZjJkLWMwMDEtNGI1Mi1hM2EwLTc3ZDhlOGI3Nzg5ZHh3tAE8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b24gaXMtc3R5bGUtb3V0bGluZSI+PGEgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbl9fbGluayB3cC1lbGVtZW50LWJ1dHRvbiIgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L3ZhaWEtZnVlci1maXJtZW4vIj5FcmZhaHJlbiBTaWUgbWVocjwvYT48L2Rpdj53C2NvcmUvYnV0dG9udwFhdwZidXR0b253MGh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC92YWlhLWZ1ZXItZmlybWVuL3cQaXMtc3R5bGUtb3V0bGluZXYBCmRpbWVuc2lvbnN2AQV3aWR0aHcDNzUldyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckZDZmOWM4ZDktMWJkZC00ZDBjLTg3MDEtYjlkZDQyY2IwOGI1d9cMPCEtLSBIVE1MIC0tPgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvdmFpYS1mdWVyLWZpcm1lbi8iIGNsYXNzPSJ2YWlhLWxpbmstYXppZW5kZSI+CiAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXIgYWxpZ253aWRlIHZhaWEtY292ZXItaG92ZXItYXppZW5kZSI+CiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzEyODB4NjAwX2NsaXZldC0xLmpwZycpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWF6aWVuZGUiPgogICAgICA8aDEgY2xhc3M9InZhaWEtdGl0bGUtYXppZW5kZSI+U2NoYWZmZW4gU2llIFdlcnRlIG1pdCB1bnM8L2gxPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvYT4KCjwhLS0gQ1NTIC0tPgo8c3R5bGU+Ci52YWlhLWxpbmstYXppZW5kZSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGRpc3BsYXk6IGJsb2NrOwp9CgoudmFpYS1jb3Zlci1ob3Zlci1hemllbmRlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDQwMHB4Owp9CgovKiBpbW1hZ2luZSBkaSBzZm9uZG8gKi8KLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWF6aWVuZGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBpbnNldDogMDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB6LWluZGV4OiAwOwp9CgovKiBjb250ZW5pdG9yZSBjZW50cmFsZSAqLwoud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1hemllbmRlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgaGVpZ2h0OiAxMDAlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLyogdGl0b2xvICovCi52YWlhLXRpdGxlLWF6aWVuZGUgewogIG1hcmdpbjogMDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC1zaXplOiA0cmVtOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDEuMTsKICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsKfQoKLyogZWZmZXR0byBob3ZlciAqLwoudmFpYS1jb3Zlci1ob3Zlci1hemllbmRlOmhvdmVyIC53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIHsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoKLnZhaWEtY292ZXItaG92ZXItYXppZW5kZTpob3ZlciAudmFpYS10aXRsZS1hemllbmRlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOwp9Cjwvc3R5bGU+d9cMPCEtLSBIVE1MIC0tPgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvdmFpYS1mdWVyLWZpcm1lbi8iIGNsYXNzPSJ2YWlhLWxpbmstYXppZW5kZSI+CiAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXIgYWxpZ253aWRlIHZhaWEtY292ZXItaG92ZXItYXppZW5kZSI+CiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAxLzEyODB4NjAwX2NsaXZldC0xLmpwZycpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWF6aWVuZGUiPgogICAgICA8aDEgY2xhc3M9InZhaWEtdGl0bGUtYXppZW5kZSI+U2NoYWZmZW4gU2llIFdlcnRlIG1pdCB1bnM8L2gxPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvYT4KCjwhLS0gQ1NTIC0tPgo8c3R5bGU+Ci52YWlhLWxpbmstYXppZW5kZSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGRpc3BsYXk6IGJsb2NrOwp9CgoudmFpYS1jb3Zlci1ob3Zlci1hemllbmRlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDQwMHB4Owp9CgovKiBpbW1hZ2luZSBkaSBzZm9uZG8gKi8KLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWF6aWVuZGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBpbnNldDogMDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB6LWluZGV4OiAwOwp9CgovKiBjb250ZW5pdG9yZSBjZW50cmFsZSAqLwoud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1hemllbmRlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgaGVpZ2h0OiAxMDAlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLyogdGl0b2xvICovCi52YWlhLXRpdGxlLWF6aWVuZGUgewogIG1hcmdpbjogMDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC1zaXplOiA0cmVtOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDEuMTsKICB0ZXh0LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTsKfQoKLyogZWZmZXR0byBob3ZlciAqLwoudmFpYS1jb3Zlci1ob3Zlci1hemllbmRlOmhvdmVyIC53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIHsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoKLnZhaWEtY292ZXItaG92ZXItYXppZW5kZTpob3ZlciAudmFpYS10aXRsZS1hemllbmRlIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOwp9Cjwvc3R5bGU+dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyQ4YjRhNDE4Ni1mMWE4LTQ5MmEtYTI4NS03ZWI0ZmI2MjJiNTh3LjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ253aWRlIj48L2Rpdj53DGNvcmUvY29sdW1uc3h3BHdpZGV3JDc2YmEwYjMyLTU5M2UtNDg2MC1hMzZiLTA3Zjc3N2U2NDYyZnh3OzxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTAwJSI+PC9kaXY+dwtjb3JlL2NvbHVtbncEMTAwJXckNWI4OTg1NmEtNTAxNS00ZTg2LWI3ZWUtMDkyNzI5MTkyY2QyeHc7PGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5TaW5kIFNpZSBlaW4gVW50ZXJuZWhtZW4\/PC9oMj53DGNvcmUvaGVhZGluZ30CdyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyQ0NThjZGM1Zi03ZThjLTQ0MjctYTNhZi0wMTY5MTUxYTcwZWR3SjxkaXYgc3R5bGU9ImhlaWdodDo1NnB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncENTZweHckZTM5ZTlkNjctYjU2Yy00NWQ2LTliNzEtZGQ0NTkwNGUzODcxdwljb3JlL2h0bWx35wI8c2NyaXB0PgooZnVuY3Rpb24oKSB7CiAgICB2YXIgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9uZXctaG9tZS8iOwogICAgdmFyIHRhcmdldCA9IG5ldyBEYXRlKERhdGUuVVRDKDIwMjYsIDUsIDEyLCAxOCwgMzAsIDApKS5nZXRUaW1lKCk7CiAgICBmdW5jdGlvbiBjaGVja0FuZFJlZGlyZWN0KCkgewogICAgICAgIGlmIChuZXcgRGF0ZSgpLmdldFRpbWUoKSA+PSB0YXJnZXQpIHsgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOyB9CiAgICB9CiAgICBjaGVja0FuZFJlZGlyZWN0KCk7CiAgICBzZXRJbnRlcnZhbChjaGVja0FuZFJlZGlyZWN0LCA2MDAwMCk7Cn0pKCk7Cjwvc2NyaXB0PnckYWI2M2I1YjMtYmRlZi00NmQ0LWJkYzctODVjZTZiMjA5ZTc4dzw8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWdud2lkZSIgaWQ9InByYW56byI+Cgo8L2Rpdj53DGNvcmUvY29sdW1uc3h3BHdpZGV3BnByYW56b3ckYzEzNGZlODYtNDNmYi00MTc3LTliZWEtNTBkMmQxMzA1YTljeHc6PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczo1MCUiPjwvZGl2PncLY29yZS9jb2x1bW53AzUwJXckNWVmNjZiY2QtYWQ4Mi00ZGY1LTg3ZmYtMWMwYWQ0OWM3ZTQ3eHeSDTxkaXYgY2xhc3M9InZhaWEtbWlzc2lvbi1ibG9jayI+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPlLDvGNrZ2V3aW5udW5nIGRlciBSb2hzdG9mZmU8L3N0cm9uZz48YnI+CiAgICAgICAgRGllIGVyc3RlIFBoYXNlIGtvbnplbnRyaWVydCBzaWNoIGF1ZiBkaWUgUsO8Y2tnZXdpbm51bmcgZGVzIEhvbHplcywgZGFzIGR1cmNoIGRlbiBTdHVybSBWYWlhIHVuZCBoZXV0ZSBhdWNoIGR1cmNoIGRlbiBCb3JrZW5rw6RmZXIgYW5maWVsLiBKZWRlciBTdGFtbSB3aXJkIGF1c2dld8OkaGx0LCBrYXRhbG9naXNpZXJ0IHVuZCB2b3JiZXJlaXRldCwgd29kdXJjaCBlaW4gUHJvemVzcyBpbiBHYW5nIGdlc2V0enQgd2lyZCwgZGVyIGRlbiBTY2hhZGVuIGluIGVpbmUgUmVzc291cmNlIHZlcndhbmRlbHQuCiAgICA8L3A+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPkFrdGl2aWVydW5nIGxva2FsZXIgTGllZmVya2V0dGVuPC9zdHJvbmc+PGJyPgogICAgICAgIFdpciBhcmJlaXRlbiBhdXNzY2hsaWXDn2xpY2ggbWl0IEhhbmR3ZXJrZXJuIHVuZCBVbnRlcm5laG1lbiBpbiBkZW4gYmV0cm9mZmVuZW4gVMOkbGVybiB6dXNhbW1lbi4gRGllcyBnZXfDpGhybGVpc3RldCBuaWNodCBudXIgZGllIGjDtmNoc3RlIFF1YWxpdMOkdCBkZXIgVmVyYXJiZWl0dW5nLCBzb25kZXJuIGJlbGVidCBhdWNoIGRpZSBsb2thbGUgV2lydHNjaGFmdCB1bmQgZGFzIEdlbWVpbnNjaGFmdHNnZWbDvGhsIHdpZWRlci4KICAgIDwvcD4KCiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1yaWdodDogMTBweDsiPgogICAgICAgIDxzdHJvbmc+RGVzaWduIGRlciBWQUlBLU9iamVrdGU8L3N0cm9uZz48YnI+CiAgICAgICAgQXVzIGRlbSBiZXNjaMOkZGlndGVuIFJvaG1hdGVyaWFsIGVudHN0ZWhlbiBtaW5pbWFsaXN0aXNjaGUgdW5kIGJlZGV1dHVuZ3N2b2xsZSBEZXNpZ25vYmpla3RlLCBiZWkgZGVuZW4gZGVyIE1lbnNjaCBpbSBNaXR0ZWxwdW5rdCBzdGVodC4gSmVkZXMgU3TDvGNrIHRyw6RndCBkaWUgU3B1cmVuIGRlcyBTdHVybXMgaW4gc2ljaCB1bmQgbWFjaHQgZXMgenUgZWluZW0gU3ltYm9sIGbDvHIgV2lkZXJzdGFuZHNmw6RoaWdrZWl0IChSZXNpbGllbnopIHVuZCBTY2jDtm5oZWl0LgogICAgPC9wPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Sw7xja2dhYmUtIHVuZCBSZWdlbmVyYXRpb25zcHJvamVrdGU8L3N0cm9uZz48YnI+CiAgICAgICAgRGVyIEtyZWlzbGF1ZiBzY2hsaWXDn3Qgc2ljaCBtaXQgZGVyIFLDvGNrZ2FiZS4gRWluIFRlaWwgZGVzIEVybMO2c2VzIHdpcmQgaW4ga29ua3JldGUgQXVmZm9yc3R1bmdzLSB1bmQgUmVnZW5lcmF0aW9uc3Byb2pla3RlIGRlcyBHZWJpZXRzIHJlaW52ZXN0aWVydCwgd29kdXJjaCBkaWUgZHVyY2ggZGVuIFN0dXJtIGhpbnRlcmxhc3NlbmVuIFd1bmRlbiBnZWhlaWx0IHdlcmRlbi4gRsO8ciBqZWRlcyB2ZXJrYXVmdGUgUHJvZHVrdCB3aXJkIGVpbiBCYXVtIGdlcGZsYW56dCBvZGVyIGVpbiBHbGV0c2NoZXIgZ2VyZWluaWd0LgogICAgPC9wPgoKPC9kaXY+dwljb3JlL2h0bWx3kg08ZGl2IGNsYXNzPSJ2YWlhLW1pc3Npb24tYmxvY2siPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Sw7xja2dld2lubnVuZyBkZXIgUm9oc3RvZmZlPC9zdHJvbmc+PGJyPgogICAgICAgIERpZSBlcnN0ZSBQaGFzZSBrb256ZW50cmllcnQgc2ljaCBhdWYgZGllIFLDvGNrZ2V3aW5udW5nIGRlcyBIb2x6ZXMsIGRhcyBkdXJjaCBkZW4gU3R1cm0gVmFpYSB1bmQgaGV1dGUgYXVjaCBkdXJjaCBkZW4gQm9ya2Vua8OkZmVyIGFuZmllbC4gSmVkZXIgU3RhbW0gd2lyZCBhdXNnZXfDpGhsdCwga2F0YWxvZ2lzaWVydCB1bmQgdm9yYmVyZWl0ZXQsIHdvZHVyY2ggZWluIFByb3plc3MgaW4gR2FuZyBnZXNldHp0IHdpcmQsIGRlciBkZW4gU2NoYWRlbiBpbiBlaW5lIFJlc3NvdXJjZSB2ZXJ3YW5kZWx0LgogICAgPC9wPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Ba3RpdmllcnVuZyBsb2thbGVyIExpZWZlcmtldHRlbjwvc3Ryb25nPjxicj4KICAgICAgICBXaXIgYXJiZWl0ZW4gYXVzc2NobGllw59saWNoIG1pdCBIYW5kd2Vya2VybiB1bmQgVW50ZXJuZWhtZW4gaW4gZGVuIGJldHJvZmZlbmVuIFTDpGxlcm4genVzYW1tZW4uIERpZXMgZ2V3w6RocmxlaXN0ZXQgbmljaHQgbnVyIGRpZSBow7ZjaHN0ZSBRdWFsaXTDpHQgZGVyIFZlcmFyYmVpdHVuZywgc29uZGVybiBiZWxlYnQgYXVjaCBkaWUgbG9rYWxlIFdpcnRzY2hhZnQgdW5kIGRhcyBHZW1laW5zY2hhZnRzZ2Vmw7xobCB3aWVkZXIuCiAgICA8L3A+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPkRlc2lnbiBkZXIgVkFJQS1PYmpla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIEF1cyBkZW0gYmVzY2jDpGRpZ3RlbiBSb2htYXRlcmlhbCBlbnRzdGVoZW4gbWluaW1hbGlzdGlzY2hlIHVuZCBiZWRldXR1bmdzdm9sbGUgRGVzaWdub2JqZWt0ZSwgYmVpIGRlbmVuIGRlciBNZW5zY2ggaW0gTWl0dGVscHVua3Qgc3RlaHQuIEplZGVzIFN0w7xjayB0csOkZ3QgZGllIFNwdXJlbiBkZXMgU3R1cm1zIGluIHNpY2ggdW5kIG1hY2h0IGVzIHp1IGVpbmVtIFN5bWJvbCBmw7xyIFdpZGVyc3RhbmRzZsOkaGlna2VpdCAoUmVzaWxpZW56KSB1bmQgU2Now7ZuaGVpdC4KICAgIDwvcD4KCiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1yaWdodDogMTBweDsiPgogICAgICAgIDxzdHJvbmc+UsO8Y2tnYWJlLSB1bmQgUmVnZW5lcmF0aW9uc3Byb2pla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIERlciBLcmVpc2xhdWYgc2NobGllw590IHNpY2ggbWl0IGRlciBSw7xja2dhYmUuIEVpbiBUZWlsIGRlcyBFcmzDtnNlcyB3aXJkIGluIGtvbmtyZXRlIEF1ZmZvcnN0dW5ncy0gdW5kIFJlZ2VuZXJhdGlvbnNwcm9qZWt0ZSBkZXMgR2ViaWV0cyByZWludmVzdGllcnQsIHdvZHVyY2ggZGllIGR1cmNoIGRlbiBTdHVybSBoaW50ZXJsYXNzZW5lbiBXdW5kZW4gZ2VoZWlsdCB3ZXJkZW4uIEbDvHIgamVkZXMgdmVya2F1ZnRlIFByb2R1a3Qgd2lyZCBlaW4gQmF1bSBnZXBmbGFuenQgb2RlciBlaW4gR2xldHNjaGVyIGdlcmVpbmlndC4KICAgIDwvcD4KCjwvZGl2PnckNzg4OTliY2UtYmUzMC00NTNkLTk5N2QtOWM4OTI3YWFmZDk4eHcjPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48L2Rpdj53C2NvcmUvY29sdW1udyQ5Nzk0OTM0Zi03NDc0LTQyMGItODJhZi0xY2I5ODEwZWI3MzJ4dyQ8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIj48L2Rpdj53DGNvcmUvY29sdW1uc3h3JDRmNzRlMzVhLTY1OTYtNDAwNi04Y2Y4LTM2MzJmOWQ2ZTA5ZHh3IzxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PC9kaXY+dwtjb3JlL2NvbHVtbnckZGUwZTQzMWQtM2M0NC00Nzk1LWFhMjItM2UwOTNmMTNmZjA0eHeGCzxkaXYgY2xhc3M9InNsaWRlc2hvdy1jb250YWluZXIiPgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlMSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGUyIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTMiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlNCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGU1Ij48L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci5zbGlkZXNob3ctY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiA2MDBweDsKICBhc3BlY3QtcmF0aW86IDEgLyAxOyAvKiBxdWFkcmF0byAqLwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwIGF1dG87Cn0KCi5zbGlkZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDowOyBsZWZ0OjA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIG9wYWNpdHk6IDA7CiAgYW5pbWF0aW9uOiBmYWRlIDE2cyBpbmZpbml0ZTsKfQoKLyogaW1wb3N0YSBsZSBpbW1hZ2luaSAqLwouc2xpZGUxIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS0xLmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDBzOyB9Ci5zbGlkZTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTIuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogNHM7IH0KLnNsaWRlMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtMy5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiA0czsgfQouc2xpZGU0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS00LmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDhzOyB9Ci5zbGlkZTUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTUuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogMTJzOyB9CgoKQGtleWZyYW1lcyBmYWRlIHsKICAwJSB7IG9wYWNpdHk6IDA7IH0KICA2LjI1JSB7IG9wYWNpdHk6IDE7IH0gIC8qIGZhZGUtaW4gKi8KICAyNSUgeyBvcGFjaXR5OiAxOyB9ICAgIC8qIHZpc2liaWxlICovCiAgMzEuMjUlIHsgb3BhY2l0eTogMDsgfSAvKiBmYWRlLW91dCAqLwogIDEwMCUgeyBvcGFjaXR5OiAwOyB9Cn0KPC9zdHlsZT53CWNvcmUvaHRtbHeGCzxkaXYgY2xhc3M9InNsaWRlc2hvdy1jb250YWluZXIiPgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlMSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGUyIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTMiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlNCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGU1Ij48L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci5zbGlkZXNob3ctY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiA2MDBweDsKICBhc3BlY3QtcmF0aW86IDEgLyAxOyAvKiBxdWFkcmF0byAqLwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwIGF1dG87Cn0KCi5zbGlkZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDowOyBsZWZ0OjA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIG9wYWNpdHk6IDA7CiAgYW5pbWF0aW9uOiBmYWRlIDE2cyBpbmZpbml0ZTsKfQoKLyogaW1wb3N0YSBsZSBpbW1hZ2luaSAqLwouc2xpZGUxIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS0xLmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDBzOyB9Ci5zbGlkZTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTIuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogNHM7IH0KLnNsaWRlMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtMy5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiA0czsgfQouc2xpZGU0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS00LmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDhzOyB9Ci5zbGlkZTUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTUuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogMTJzOyB9CgoKQGtleWZyYW1lcyBmYWRlIHsKICAwJSB7IG9wYWNpdHk6IDA7IH0KICA2LjI1JSB7IG9wYWNpdHk6IDE7IH0gIC8qIGZhZGUtaW4gKi8KICAyNSUgeyBvcGFjaXR5OiAxOyB9ICAgIC8qIHZpc2liaWxlICovCiAgMzEuMjUlIHsgb3BhY2l0eTogMDsgfSAvKiBmYWRlLW91dCAqLwogIDEwMCUgeyBvcGFjaXR5OiAwOyB9Cn0KPC9zdHlsZT53JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JDY3ZTBhNmVmLTAzZDAtNDA4MS1iZmM1LTgzMTYzMjliNjUzM3cuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwvZGl2PncMY29yZS9jb2x1bW5zeHcEd2lkZXckMGEwZDc3YWYtOTI4Zi00ZTYzLWIzMjYtOWY3MmI5YjI2NjZjeHc7PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczoxMDAlIj48L2Rpdj53C2NvcmUvY29sdW1udwQxMDAldyQ0MTRlZGVkZC1jODgzLTQ5MTktOTU4ZS0wNmIzOTM1YTZmNzZ4d3A8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPkRhcyBWQUlBLU1vZGVsbDwvaDI+dwljb3JlL2h0bWx3cDxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+RGFzIFZBSUEtTW9kZWxsPC9oMj53JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JDdmZWQ2MWI0LTAwZWQtNGJiNy04NmI0LTY4ZTZkY2IzZDdiOHcyPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbmZ1bGwiPgoKCgo8L2Rpdj53DGNvcmUvY29sdW1uc3h3BGZ1bGx3JGNhNDEwYzliLTBlNmUtNDZlNy1iNTVjLTY5YWI4Yjk0Y2Y5ZHh3OjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTUlIj48L2Rpdj53C2NvcmUvY29sdW1udwMxNSV3JGJjZjE1MTVhLTBjYTctNDhiOS1hY2UwLTIyNzM0MjQ2MGJjZnh3SjxkaXYgc3R5bGU9ImhlaWdodDoxMnB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncEMTJweHckYzU1OGI5YjctNGZkMC00ZDNlLWI4N2EtYzM0YTkyNTJkMzZieHdFPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczo3MCUiIGlkPSJtYXAiPgoKPC9kaXY+dwtjb3JlL2NvbHVtbncDNzAldwNtYXB3JGJmZGU1OWJkLWE4NmUtNGQ2MS1iNzhiLWU2NzZlZjg1NDAwMnh3YjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyBoYXMtdGV4dC1hbGlnbi1jZW50ZXIiPkthcnRlIGRlciBBdWZmb3JzdHVuZ2VuIHZvbiAyMDE5IGJpcyBoZXV0ZTwvaDI+dwxjb3JlL2hlYWRpbmd9AnYBCnR5cG9ncmFwaHl2AQl0ZXh0QWxpZ253BmNlbnRlcnckMWY4ZjZhZTgtYTY2Ni00MTY2LTg3ZDYtNjI3NDZiNWY2YWYzeHeGATxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZC9lbWJlZD9taWQ9MVF3YlZhUFpCR1Jjel9jNU1zNE94RTdDZ2dHamhmdGMmZWhiYz0yRTMxMkYiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQ4MCI+PC9pZnJhbWU+dwljb3JlL2h0bWx3hgE8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2QvZW1iZWQ\/bWlkPTFRd2JWYVBaQkdSY3pfYzVNczRPeEU3Q2dnR2poZnRjJmVoYmM9MkUzMTJGIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0ODAiPjwvaWZyYW1lPnckY2I0ZTA2NzItOGQ3MS00ZDU2LTgzY2EtMjZhYmNkYjlhOTE5eHc6PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczoxNSUiPjwvZGl2PncLY29yZS9jb2x1bW53AzE1JXckMTJmMTM2ZWEtMDM1MS00ZGI3LTlmZGQtN2I0OTIzOGNhNTgzeHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjExcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQxMXB4dyRlMzllOWQ2Ny1iNTZjLTQ1ZDYtOWI3MS1kZDQ1OTA0ZTM4NzF3CWNvcmUvaHRtbHfnAjxzY3JpcHQ+CihmdW5jdGlvbigpIHsKICAgIHZhciByZWRpcmVjdFVybCA9ICJodHRwczovL3d3dy52YWlhLmV1L2RlL25ldy1ob21lLyI7CiAgICB2YXIgdGFyZ2V0ID0gbmV3IERhdGUoRGF0ZS5VVEMoMjAyNiwgNSwgMTIsIDE4LCAzMCwgMCkpLmdldFRpbWUoKTsKICAgIGZ1bmN0aW9uIGNoZWNrQW5kUmVkaXJlY3QoKSB7CiAgICAgICAgaWYgKG5ldyBEYXRlKCkuZ2V0VGltZSgpID49IHRhcmdldCkgeyB3aW5kb3cubG9jYXRpb24ucmVwbGFjZShyZWRpcmVjdFVybCk7IH0KICAgIH0KICAgIGNoZWNrQW5kUmVkaXJlY3QoKTsKICAgIHNldEludGVydmFsKGNoZWNrQW5kUmVkaXJlY3QsIDYwMDAwKTsKfSkoKTsKPC9zY3JpcHQ+dyRkNTZlNjU2NS1mMmIxLTQ1NWMtYTRmZS0zMWUzZTJmZmE2Yjl3ODxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ25mdWxsIj4KCgoKCgoKCgoKPC9kaXY+dwxjb3JlL2NvbHVtbnN4dwRmdWxsdyQzZTI1ZWFjNS01MjExLTRjYjgtYWVhZi1iNDQzNjIzMjRlYjl4dzs8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjMwcHgiPjwvZGl2PncLY29yZS9jb2x1bW53BDMwcHh3JDVmODAwNDgwLTY5YzEtNDA3ZS05OTgzLTg5NGYzM2JkYTM4N3h3STxkaXYgc3R5bGU9ImhlaWdodDo4cHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwM4cHh3JDU5MDJiZDUxLTZiNmItNDk5YS1hMzM5LWRhNDE5ZWVmYTZmM3h3JTxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+Cgo8L2Rpdj53C2NvcmUvY29sdW1udyQxOGE0MWE4MC05ZGVjLTQxOTYtOGYxMy04YTZkZGI2ZDRhZTF4d9MBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2UgYWxpZ25jZW50ZXIgc2l6ZS1sYXJnZSBpcy1yZXNpemVkIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83NS0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTU0MzQyIiBzdHlsZT0id2lkdGg6NzdweDtoZWlnaHQ6YXV0byIvPjwvZmlndXJlPncKY29yZS9pbWFnZXc\/aHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83NS0xMDI0eDEwMjQucG5ndwB9htEGdwQ3N3B4dwRhdXRvdwVsYXJnZXcEbm9uZXcGY2VudGVydyQ5YTRmY2ZkOC03ZDQ5LTRkOGEtYjExZC1mNjgzMGVmZDAzNDV4d54CPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MjAwLjAwMCBCw6R1bWU8L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPmltIEFscGVucmF1bSBnZXBmbGFuenQ8L3NwYW4+CjwvZGl2PncJY29yZS9odG1sd54CPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MjAwLjAwMCBCw6R1bWU8L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPmltIEFscGVucmF1bSBnZXBmbGFuenQ8L3NwYW4+CjwvZGl2PnckNzI4YjA3NjEtYzIyZS00MWIzLWEyZGEtOTJhZjhmODNjY2UyeHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JGExNWUzZWMwLTgzOTYtNGJkMC04N2YzLTNiYzQ4NTNlZmI2ZXh30wE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIGlzLXJlc2l6ZWQiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAyLzc2LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtNTQzNDciIHN0eWxlPSJ3aWR0aDo3NnB4O2hlaWdodDphdXRvIi8+PC9maWd1cmU+dwpjb3JlL2ltYWdldz9odHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAyLzc2LTEwMjR4MTAyNC5wbmd3AH2L0QZ3BDc2cHh3BGF1dG93BWxhcmdldwRub25ldwZjZW50ZXJ3JGQxNjgwOWYzLWZmNTYtNGExOC04ZWIyLTRlNjM0YmJkYzUzYnh3mAI8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij4xLjAwMCBUb25uZW48L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPkNP4oKCIGtvbXBlbnNpZXJ0Cjwvc3Bhbj4KPC9kaXY+dwljb3JlL2h0bWx3mAI8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij4xLjAwMCBUb25uZW48L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPkNP4oKCIGtvbXBlbnNpZXJ0Cjwvc3Bhbj4KPC9kaXY+dyRmYjcxMGViYi1kYWY4LTQyZWMtYWU1Yi00MWRhNzE1ZDJiMDR4dyU8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPgoKPC9kaXY+dwtjb3JlL2NvbHVtbnckZDA2MTM3ZDItOTZjOS00YWQxLTkzOGUtZGU2ODNhZTM2ZDUzeHfTATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIGFsaWduY2VudGVyIHNpemUtbGFyZ2UgaXMtcmVzaXplZCI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzctMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS01NDM1MSIgc3R5bGU9IndpZHRoOjY5cHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3P2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzctMTAyNHgxMDI0LnBuZ3cAfY\/RBncENjlweHcEYXV0b3cFbGFyZ2V3BG5vbmV3BmNlbnRlcnckYjk5NTNmYWEtMjViOC00NDZjLWFjZjYtYTlhNDRlZmE1OTY5eHeYAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjUwMCBUb25uZW48L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPkhvbHogd2llZGVyZ2V3b25uZW4KPC9zcGFuPgo8L2Rpdj53CWNvcmUvaHRtbHeYAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjUwMCBUb25uZW48L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPkhvbHogd2llZGVyZ2V3b25uZW4KPC9zcGFuPgo8L2Rpdj53JDZhODNhZjZmLTEzYjAtNGEyMS1hMTI5LTFmMjY0YmQ2NjE4ZXh3JTxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+Cgo8L2Rpdj53C2NvcmUvY29sdW1udyRkNzU2N2ExYi1iMDczLTQ0NTAtOTU0Ni1kY2YzNzMzOTYyOGF4d9MBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2UgYWxpZ25jZW50ZXIgc2l6ZS1sYXJnZSBpcy1yZXNpemVkIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83OC0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTU0MzU1IiBzdHlsZT0id2lkdGg6NjlweDtoZWlnaHQ6YXV0byIvPjwvZmlndXJlPncKY29yZS9pbWFnZXc\/aHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83OC0xMDI0eDEwMjQucG5ndwB9k9EGdwQ2OXB4dwRhdXRvdwVsYXJnZXcEbm9uZXcGY2VudGVydyQ1NDZmN2JhZi0xM2ZmLTQ1YTAtODlkMS1kYzVkZjk3ZWVhMmF4d5wCPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MTUgSGFuZHdlcmtlcjwvc3Ryb25nPgogICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMS4xcmVtOyI+aW4gSXRhbGllbiBiZXRlaWxpZ3QKPC9zcGFuPgo8L2Rpdj53CWNvcmUvaHRtbHecAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjE1IEhhbmR3ZXJrZXI8L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPmluIEl0YWxpZW4gYmV0ZWlsaWd0Cjwvc3Bhbj4KPC9kaXY+dyRhOWNjZmNkMi0yOGQyLTQ1MDYtYTI4MS1hYmU0ZWNiYTNmYmF4dzs8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjMwcHgiPjwvZGl2PncLY29yZS9jb2x1bW53BDMwcHh3JDkwNjYxOTA5LTQxYzUtNGRmMS1hZjQzLTFkYzllYTNhOTA2ZHh3STxkaXYgc3R5bGU9ImhlaWdodDo4cHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwM4cHh3JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JGFiODVhYzNiLTdlMzItNGU0ZC1hNWVhLTdiMTU3MjY4YjA1NXcuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwvZGl2PncMY29yZS9jb2x1bW5zeHcEd2lkZXckZjJmZDkwMzYtMjFkZi00MGE0LWIzYTYtNmUzNGE5MDk5YjRmeHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JDZhOWQyZTNlLThhNzItNDczNi04MGY1LTBiOGZiMDcxODhhOHh3cjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IC01dmg7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+VW5zZXJlIFdpcmt1bmc8L2gyPncJY29yZS9odG1sd3I8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAtNXZoOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPlVuc2VyZSBXaXJrdW5nPC9oMj53JGQ2YTVmZmQwLTdjYzYtNDZkNy04MDUyLTU4NmM1YmFkMmNhOHh3uSg8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9ImF6aWVuZGUiIGNsYXNzPSJzZXppb25lLWF6aWVuZGUtY3VzdG9tIj4KICAgIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgoKICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L2dsZXRzY2hlci8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1naGlhY2NpYWkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5HbGV0c2NoZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9kb2xvbWl0ZW4vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tZG9sb21pdGkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5Eb2xvbWl0ZW48L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPiAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgIAoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9ib3N0cmljby8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1ib3N0cmljby5qcGcnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkJvcmtlbmvDpGZlcjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qIFNUSUxJIEVTQ0xVU0lWSSBQRVIgUVVFU1RBIFNFWklPTkUgKENvcnJlemlvbmkgcGVyIGFsbGluZWFtZW50bykgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgouc2V6aW9uZS1hemllbmRlLWN1c3RvbSB7IAogICAgYmFja2dyb3VuZC1jb2xvcjojZjRmMGU1OyAKICAgIHBhZGRpbmc6NjBweCAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsKICAgIGNvbG9yOiMwZTNiMjY7ICAKICAgIGZvbnQtc2l6ZToyLjhyZW07ICAKICAgIG1hcmdpbi1ib3R0b206IDBweDsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lci1hemllbmRlIHsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgCiAgICBwYWRkaW5nOjIwcHggMDsgCiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwp9CgovKiBDQVJEIFFVQURSQVRBICgxOjEpICovCi5jYXJkLTEtMSB7CiAgICBhc3BlY3QtcmF0aW86MS8xOwogICAgd2lkdGg6MzUwcHg7CiAgICBib3JkZXItcmFkaXVzOjEycHg7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhcmQtYmctYXppZW5kZSB7IAogICAgd2lkdGg6MTAwJTsgCiAgICBoZWlnaHQ6MTAwJTsgCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IAogICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IAogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlOyAKfQoKLyogRUZGRVRUTyBaT09NIChSaWNoaWVzdG8gZSBDb3JyZXR0bykgKi8KLmNhcmQtYXppZW5kZS1udW92bzpob3ZlciAuY2FyZC1iZy1hemllbmRlIHsgCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyAKfQoKLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogICAgZGlzcGxheTpmbGV4OyAKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEFnZ2l1bnRvIHBlciBhbGxpbmVhbWVudG8gKi8KICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGxpbmVhIGlsIGNvbnRlbnV0byBhIHNpbmlzdHJhICovCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvKiBDb3JyZXR0bzogQWxsaW5lYSBpbCBjb250ZW51dG8gaW4gQkFTU08gKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC42KSAwJSwgdHJhbnNwYXJlbnQgNTAlKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6IDIwcHg7Cn0KCi8qIFRFU1RPIFNFTVBSRSBWSVNJQklMRSBJTiBCQVNTTyBBIFNJTklTVFJBICovCi5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgY29sb3I6I2Y0ZjBlNTsgCiAgICBmb250LXNpemU6MS42cmVtOyAKICAgIG1hcmdpbjogMDsgCiAgICBvcGFjaXR5OiAxOwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLDAuOCk7Cn0KCi8qIFBBR0lOQVpJT05FICovCi5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIHsgcG9zaXRpb246c3RhdGljOyBtYXJnaW4tdG9wOjMwcHg7IH0KLnN3aXBlci1wYWdpbmF0aW9uLWF6aWVuZGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiMwZTNiMjY7IH0KCgovKiBSRVNQT05TSVZFICovCkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogICAgLnRpdG9sby1zZXppb25lLWF6aWVuZGUgeyBmb250LXNpemU6MnJlbTsgfQogICAgLmNhcmQtMS0xIHsgCiAgICAgICAgd2lkdGg6IDEwMCU7IAogICAgfQp9Cjwvc3R5bGU+Cgo8c2NyaXB0PgovLyBGdW56aW9uZSBpbml0Q2Fyb3NlbGxvIHJpbWFuZSBpbnZhcmlhdGEgcGVyIGwndXNvIGdlbmVyaWNvCmZ1bmN0aW9uIGluaXRDYXJvc2VsbG8oc2VsZWN0b3IsIHBlclZpZXdDb25maWcsIGxvb3BWYWx1ZSA9IHRydWUpIHsKICAgIHJldHVybiBuZXcgU3dpcGVyKHNlbGVjdG9yLCB7CiAgICAgICAgbG9vcDogbG9vcFZhbHVlLAogICAgICAgIGdyYWJDdXJzb3I6IHRydWUsCiAgICAgICAgaW5pdGlhbFNsaWRlOiAxLAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgLy8gSW1wb3J0YW50ZTogcXVpIHVzaWFtbyBsYSBjbGFzc2Ugc3BlY2lmaWNhIGRlbGxhIHBhZ2luYXppb25lIHBlciBxdWVzdGEgc2V6aW9uZQogICAgICAgICAgICBlbDogJyNhemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlJywKICAgICAgICAgICAgY2xpY2thYmxlOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgYnJlYWtwb2ludHM6IHBlclZpZXdDb25maWcKICAgIH0pOwp9CgovLyBJbml6aWFsaXp6YXppb25lIEVTQ0xVU0lWQSBwZXIgbGEgc2V6aW9uZSBJRD0iYXppZW5kZSIKd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgLy8gQ29udHJvbGxhIFBSSU1BIHNlIGlsIGNvbnRlbml0b3JlIHByaW5jaXBhbGUgRVNJU1RFLgogICAgICAgIC8vIFF1ZXN0byBpbXBlZGlzY2UgbCdlc2VjdXppb25lIGRlbGxvIHNjcmlwdCBzZSBsJ0lEICNhemllbmRlIG5vbiDDqCBuZWxsYSBwYWdpbmEuCiAgICAgICAgY29uc3QgYXppZW5kZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhemllbmRlJyk7CiAgICAgICAgCiAgICAgICAgaWYgKGF6aWVuZGVDb250YWluZXIpIHsKICAgICAgICAgICAgLy8gSU5JWklBTElaWkFaSU9ORSBTRVpJT05FIEFaSUVOREUgUEVSU09OQUxJWlpBVEEKICAgICAgICAgICAgLy8gU2VsZXppb25pYW1vIGlsIGNhcm9zZWxsbyBTT0xPIGFsbCdpbnRlcm5vIGRlbCBjb250ZW5pdG9yZSAjYXppZW5kZQogICAgICAgICAgICBpbml0Q2Fyb3NlbGxvKCcjYXppZW5kZSAuY2Fyb3NlbGxvLWF6aWVuZGUtbnVvdm8nLCB7CiAgICAgICAgICAgICAgICAzMjA6IHsgc2xpZGVzUGVyVmlldzogMS4yLCBzcGFjZUJldHdlZW46IDE1IH0sCiAgICAgICAgICAgICAgICA3Njg6IHsgc2xpZGVzUGVyVmlldzogMiwgc3BhY2VCZXR3ZWVuOiAyMCB9LAogICAgICAgICAgICAgICAgMTAyNDogeyBzbGlkZXNQZXJWaWV3OiAzLjIsIHNwYWNlQmV0d2VlbjogMzAgfSwKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIAogICAgfSwgMTAwKTsgCn07Cjwvc2NyaXB0PncJY29yZS9odG1sd7koPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5jc3MiIC8+CjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8ZGl2IGlkPSJhemllbmRlIiBjbGFzcz0ic2V6aW9uZS1hemllbmRlLWN1c3RvbSI+CiAgICA8ZGl2IGNsYXNzPSJjYXJvc2VsbG8tY29udGFpbmVyLWF6aWVuZGUiPgogICAgICAgIDxkaXYgY2xhc3M9InN3aXBlciBjYXJvc2VsbG8tYXppZW5kZS1udW92byI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4KCiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9nbGV0c2NoZXIvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tZ2hpYWNjaWFpLmpwZycpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+R2xldHNjaGVyPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KCiA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvZG9sb21pdGVuLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTEtMSBjYXJkLWF6aWVuZGUtbnVvdm8iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmctYXppZW5kZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL0hQLXByb2dldHRvLWRvbG9taXRpLmpwZycpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+RG9sb21pdGVuPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4gICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAKCiA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvYm9zdHJpY28vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tYm9zdHJpY28uanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5Cb3JrZW5rw6RmZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPiAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBTVElMSSBFU0NMVVNJVkkgUEVSIFFVRVNUQSBTRVpJT05FIChDb3JyZXppb25pIHBlciBhbGxpbmVhbWVudG8pICovCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLnNlemlvbmUtYXppZW5kZS1jdXN0b20geyAKICAgIGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgCiAgICBwYWRkaW5nOjYwcHggMjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudGl0b2xvLXNlemlvbmUtYXppZW5kZSB7CiAgICBjb2xvcjojMGUzYjI2OyAgCiAgICBmb250LXNpemU6Mi44cmVtOyAgCiAgICBtYXJnaW4tYm90dG9tOiAwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSB7IAogICAgcG9zaXRpb246cmVsYXRpdmU7IAogICAgcGFkZGluZzoyMHB4IDA7IAogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLyogQ0FSRCBRVUFEUkFUQSAoMToxKSAqLwouY2FyZC0xLTEgewogICAgYXNwZWN0LXJhdGlvOjEvMTsKICAgIHdpZHRoOjM1MHB4OwogICAgYm9yZGVyLXJhZGl1czoxMnB4OwogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5jYXJkLWJnLWF6aWVuZGUgeyAKICAgIHdpZHRoOjEwMCU7IAogICAgaGVpZ2h0OjEwMCU7IAogICAgYmFja2dyb3VuZC1zaXplOmNvdmVyOyAKICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOyAKICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuNHMgZWFzZTsgCn0KCi8qIEVGRkVUVE8gWk9PTSAoUmljaGllc3RvIGUgQ29ycmV0dG8pICovCi5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtYmctYXppZW5kZSB7IAogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgCn0KCi5jYXJkLWNvbnRlbnQtYXppZW5kZSB7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgYm90dG9tOjA7ICAKICAgIGRpc3BsYXk6ZmxleDsgCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBBZ2dpdW50byBwZXIgYWxsaW5lYW1lbnRvICovCiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxsaW5lYSBpbCBjb250ZW51dG8gYSBzaW5pc3RyYSAqLwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLyogQ29ycmV0dG86IEFsbGluZWEgaWwgY29udGVudXRvIGluIEJBU1NPICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMCwwLDAuNikgMCUsIHRyYW5zcGFyZW50IDUwJSk7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBwYWRkaW5nOiAyMHB4Owp9CgovKiBURVNUTyBTRU1QUkUgVklTSUJJTEUgSU4gQkFTU08gQSBTSU5JU1RSQSAqLwoubm9tZS1hemllbmRlLXZpc2liaWxlIHsKICAgIGNvbG9yOiNmNGYwZTU7IAogICAgZm9udC1zaXplOjEuNnJlbTsgCiAgICBtYXJnaW46IDA7IAogICAgb3BhY2l0eTogMTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLDAsMCwwLjgpOwp9CgovKiBQQUdJTkFaSU9ORSAqLwouc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSB7IHBvc2l0aW9uOnN0YXRpYzsgbWFyZ2luLXRvcDozMHB4OyB9Ci5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjojMGUzYjI2OyB9CgoKLyogUkVTUE9OU0lWRSAqLwpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKICAgIC50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsgZm9udC1zaXplOjJyZW07IH0KICAgIC5jYXJkLTEtMSB7IAogICAgICAgIHdpZHRoOiAxMDAlOyAKICAgIH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLy8gRnVuemlvbmUgaW5pdENhcm9zZWxsbyByaW1hbmUgaW52YXJpYXRhIHBlciBsJ3VzbyBnZW5lcmljbwpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvKHNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgICByZXR1cm4gbmV3IFN3aXBlcihzZWxlY3RvciwgewogICAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgICBncmFiQ3Vyc29yOiB0cnVlLAogICAgICAgIGluaXRpYWxTbGlkZTogMSwKICAgICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgICAgIC8vIEltcG9ydGFudGU6IHF1aSB1c2lhbW8gbGEgY2xhc3NlIHNwZWNpZmljYSBkZWxsYSBwYWdpbmF6aW9uZSBwZXIgcXVlc3RhIHNlemlvbmUKICAgICAgICAgICAgZWw6ICcjYXppZW5kZSAuc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZScsCiAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSwKICAgICAgICB9LAogICAgICAgIGJyZWFrcG9pbnRzOiBwZXJWaWV3Q29uZmlnCiAgICB9KTsKfQoKLy8gSW5pemlhbGl6emF6aW9uZSBFU0NMVVNJVkEgcGVyIGxhIHNlemlvbmUgSUQ9ImF6aWVuZGUiCndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIAogICAgICAgIC8vIENvbnRyb2xsYSBQUklNQSBzZSBpbCBjb250ZW5pdG9yZSBwcmluY2lwYWxlIEVTSVNURS4KICAgICAgICAvLyBRdWVzdG8gaW1wZWRpc2NlIGwnZXNlY3V6aW9uZSBkZWxsbyBzY3JpcHQgc2UgbCdJRCAjYXppZW5kZSBub24gw6ggbmVsbGEgcGFnaW5hLgogICAgICAgIGNvbnN0IGF6aWVuZGVDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXppZW5kZScpOwogICAgICAgIAogICAgICAgIGlmIChhemllbmRlQ29udGFpbmVyKSB7CiAgICAgICAgICAgIC8vIElOSVpJQUxJWlpBWklPTkUgU0VaSU9ORSBBWklFTkRFIFBFUlNPTkFMSVpaQVRBCiAgICAgICAgICAgIC8vIFNlbGV6aW9uaWFtbyBpbCBjYXJvc2VsbG8gU09MTyBhbGwnaW50ZXJubyBkZWwgY29udGVuaXRvcmUgI2F6aWVuZGUKICAgICAgICAgICAgaW5pdENhcm9zZWxsbygnI2F6aWVuZGUgLmNhcm9zZWxsby1hemllbmRlLW51b3ZvJywgewogICAgICAgICAgICAgICAgMzIwOiB7IHNsaWRlc1BlclZpZXc6IDEuMiwgc3BhY2VCZXR3ZWVuOiAxNSB9LAogICAgICAgICAgICAgICAgNzY4OiB7IHNsaWRlc1BlclZpZXc6IDIsIHNwYWNlQmV0d2VlbjogMjAgfSwKICAgICAgICAgICAgICAgIDEwMjQ6IHsgc2xpZGVzUGVyVmlldzogMy4yLCBzcGFjZUJldHdlZW46IDMwIH0sCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICAKICAgIH0sIDEwMCk7IAp9Owo8L3NjcmlwdD53JGUzOWU5ZDY3LWI1NmMtNDVkNi05YjcxLWRkNDU5MDRlMzg3MXcJY29yZS9odG1sd+cCPHNjcmlwdD4KKGZ1bmN0aW9uKCkgewogICAgdmFyIHJlZGlyZWN0VXJsID0gImh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvbmV3LWhvbWUvIjsKICAgIHZhciB0YXJnZXQgPSBuZXcgRGF0ZShEYXRlLlVUQygyMDI2LCA1LCAxMiwgMTgsIDMwLCAwKSkuZ2V0VGltZSgpOwogICAgZnVuY3Rpb24gY2hlY2tBbmRSZWRpcmVjdCgpIHsKICAgICAgICBpZiAobmV3IERhdGUoKS5nZXRUaW1lKCkgPj0gdGFyZ2V0KSB7IHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlZGlyZWN0VXJsKTsgfQogICAgfQogICAgY2hlY2tBbmRSZWRpcmVjdCgpOwogICAgc2V0SW50ZXJ2YWwoY2hlY2tBbmRSZWRpcmVjdCwgNjAwMDApOwp9KSgpOwo8L3NjcmlwdD53JGI4MmNhYjk1LTM5ZDUtNGU5NS05MjJlLWI2Y2U1ZTFmNTA5NXcuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwvZGl2PncMY29yZS9jb2x1bW5zeHcEd2lkZXckOGZmZTNlOGMtZWIyNC00Y2FjLWIzNzQtYTFmNWI5ZjRkYjUweHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JDNjZjZhMmRmLTdmYzktNDhhNi05MDkwLTQxZDEzNjJhMGJhN3h3czxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IC01dmg7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+VW5zZXJlIFByb2R1a3RlPC9oMj53CWNvcmUvaHRtbHdzPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogLTV2aDsgbWFyZ2luLWxlZnQ6MjBweDsgcGFkZGluZy1ib3R0b206IDA7Ij5VbnNlcmUgUHJvZHVrdGU8L2gyPnckYjg1NThlZjQtYzc5Yi00Y2Y1LTliMjItMWNmZWUzZmYyOTZjeHeANzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9zd2lwZXJAMTEvc3dpcGVyLWJ1bmRsZS5taW4uY3NzIj4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9InByb2RvdHRpIiBjbGFzcz0ic2V6aW9uZSI+CiAgPGgyIGNsYXNzPSJ0aXRvbG8tc2V6aW9uZSI+PC9oMj4KICA8ZGl2IGNsYXNzPSJjYXJvc2VsbG8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InN3aXBlciBjYXJvc2VsbG8tcHJvZG90dGkiPgogICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItd3JhcHBlciI+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0NVQkUuanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlPC9oMz48L2Rpdj4KICAgICAgICA8L2E+Cgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDMvMy0xLnBuZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0lNUEVSRkVUVE8uanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlIGltcGVyZmV0dG88L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1qb3kvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0pPWS0yLTEuanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBDdWJlIEpPWTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1wZW9wbGUvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8xMS9wZW9wbGUtcGllZGlzdGFsbG8uanBnP2F1dG89Y29tcHJlc3MmYW1wO2NzPXRpbnlzcmdiJmFtcDt3PTgwMCcpOyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxoMyBjbGFzcz0ibm9tZS1wcm9kb3R0byI+VkFJQSBQZW9wbGU8YnI+Q29tYm88L2gzPjwvZGl2PgogICAgICAgIDwvYT4KICAgICAgICAKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1wZW9wbGUtcGVyc29uYWxpenphdG8vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMC9QZW9wbGUtUGVyc29uYWxpenphdGktMjEtc2NhbGVkLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgUGVvcGxlIFBlcnNvbmFsaXNpZXJ0PC9oMz48L2Rpdj4KICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS92YWlhLWZvY3VzLTIvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtOS0xNiBjYXJkLXByb2RvdHRvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9Gb2N1cy1IUC5qcGcnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgRm9jdXM8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSDinIUgRlJFQ0NFIHNvbG8gZGVza3RvcCAtLT4KICAgIDxkaXYgY2xhc3M9InN3aXBlci1idXR0b24tcHJldiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzd2lwZXItYnV0dG9uLW5leHQiPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InN3aXBlci1wYWdpbmF0aW9uIj48L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci5zZXppb25lIHsgYmFja2dyb3VuZC1jb2xvcjojZjRmMGU1OyB9Ci50aXRvbG8tc2V6aW9uZSB7CiAgY29sb3I6IzBlM2IyNjsgIAogIGZvbnQtc2l6ZToyLjhyZW07ICAKICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyAKICBwYWRkaW5nOjA7ICAKICBib3JkZXItcmFkaXVzOjA7CiAgbWFyZ2luLWxlZnQ6MjBweDsKICBtYXJnaW4tYm90dG9tOi0zdmg7CiAgcGFkZGluZy1ib3R0b206LTN2aDsKCn0KCi5jYXJvc2VsbG8tY29udGFpbmVyIHsgcG9zaXRpb246cmVsYXRpdmU7IHBhZGRpbmc6NjBweCAwOyBvdmVyZmxvdzpoaWRkZW47IH0KLmNhcmQtOS0xNiB7IGFzcGVjdC1yYXRpbzo5LzE2OyB3aWR0aDozMDBweDsgYm9yZGVyLXJhZGl1czoxMnB4OyBvdmVyZmxvdzpoaWRkZW47IHBvc2l0aW9uOnJlbGF0aXZlOyB9Ci5jYXJkLWJnIHsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IHRyYW5zaXRpb246dHJhbnNmb3JtIDAuNHMgZWFzZTsgfQouY2FyZC05LTE2OmhvdmVyIC5jYXJkLWJnIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgfQouY2FyZC1jb250ZW50IHsKICBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgYm90dG9tOjA7ICAKICBkaXNwbGF5OmZsZXg7IGp1c3RpZnktY29udGVudDpjZW50ZXI7IGFsaWduLWl0ZW1zOmNlbnRlcjsgIAogIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7CiAgdGV4dC1hbGlnbjpjZW50ZXI7Cn0KLmNhcmQtY29udGVudCBoMyB7IGNvbG9yOiNmNGYwZTU7IGZvbnQtc2l6ZToxLjZyZW07IG1hcmdpbjowOyB0ZXh0LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwwLjYpOyB9Cgoubm9tZS1wcm9kb3R0byB7CiAgb3BhY2l0eTogMTsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTsKICB0ZXh0LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC42KTsKICBwYWRkaW5nOiAxMHB4Owp9CgouY2FyZC1wcm9kb3R0bzpob3ZlciAubm9tZS1wcm9kb3R0byB7CiAgb3BhY2l0eTogMTsKfQoKLyogRlJFQ0NFOiBzb2xvIHN1IGRlc2t0b3AsIG9mZiB3aGl0ZSwgc2VuemEgY2VyY2hpbyAqLwouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2LAouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsKICBjb2xvcjojZjRmMGU1OwogIGZvbnQtd2VpZ2h0OjYwMDsKICB0ZXh0LXNoYWRvdzowIDJweCA4cHggcmdiYSgwLDAsMCwwLjQpOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDo1MCU7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7CiAgei1pbmRleDoxMDsKICBmb250LXNpemU6NDBweDsKICB0cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlOwp9Ci5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIsCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIgewogIG9wYWNpdHk6MC44OwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMSk7Cn0KCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYgeyBsZWZ0OjEwcHg7IH0KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7IHJpZ2h0OjEwcHg7IH0KCi5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItcGFnaW5hdGlvbiB7CiAgcG9zaXRpb246c3RhdGljOwogIG1hcmdpbi10b3A6MzBweDsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjojMGUzYjI2Owp9CgovKiBOYXNjb25kaSBmcmVjY2Ugc3UgdGFibGV0IGUgbW9iaWxlICovCkBtZWRpYShtYXgtd2lkdGg6MTAyNHB4KXsKICAuY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2LAogIC5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQgewogICAgZGlzcGxheTpub25lOwogIH0KfQpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKICAudGl0b2xvLXNlemlvbmUgeyBmb250LXNpemU6MnJlbTsgfQp9Cjwvc3R5bGU+Cgo8c2NyaXB0PgovKiBJbml0IHJvYnVzdG86IGNvbGxlZ2EgaSBib3R0b25pIGUgbGEgcGFnaW5hemlvbmUgdXNhbmRvIGVsZW1lbnRpIERPTSwKICAgY29zw6wgaSBuZXh0L3ByZXYgZnVuemlvbmFubyBzZW1wcmUgYW5jaGUgc2UgbGEgc3RydXR0dXJhIEhUTUwgdmFyaWEgbGVnZ2VybWVudGUgKi8KZnVuY3Rpb24gaW5pdENhcm9zZWxsb0RPTShjb250YWluZXJTZWxlY3RvciwgcGVyVmlld0NvbmZpZywgbG9vcFZhbHVlID0gdHJ1ZSkgewogIGNvbnN0IGNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGNvbnRhaW5lclNlbGVjdG9yKTsKCiAgY29udGFpbmVycy5mb3JFYWNoKGNvbnRhaW5lciA9PiB7CiAgICBjb25zdCBzd2lwZXJFbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyJyk7IC8vIGwnZWxlbWVudG8gY29uIGNsYXNzICJzd2lwZXIiCiAgICBjb25zdCBwcmV2QnRuID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXItYnV0dG9uLXByZXYnKTsKICAgIGNvbnN0IG5leHRCdG4gPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlci1idXR0b24tbmV4dCcpOwogICAgY29uc3QgcGFnaW5hdGlvbkVsID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXItcGFnaW5hdGlvbicpOwoKICAgIGlmICghc3dpcGVyRWwpIHJldHVybjsKCiAgICAvLyBJbml6aWFsaXp6YSBTd2lwZXIgcGFzc2FuZG9nbGkgZ2xpIGVsZW1lbnRpIChub24gc29sbyBpIHNlbGV0dG9yaSkKICAgIG5ldyBTd2lwZXIoc3dpcGVyRWwsIHsKICAgICAgbG9vcDogbG9vcFZhbHVlLAogICAgICBncmFiQ3Vyc29yOiB0cnVlLAogICAgICBzbGlkZXNQZXJHcm91cDogMSwgICAvLyBtdW92ZSBkaSB1biBzb2xvIHNsaWRlIHBlciBjbGljawogICAgICBzcGVlZDogNjAwLAogICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgZWw6IHBhZ2luYXRpb25FbCwKICAgICAgICBjbGlja2FibGU6IHRydWUsCiAgICAgIH0sCiAgICAgIG5hdmlnYXRpb246IHsKICAgICAgICAvLyBzZSBwcmV2QnRuL25leHRCdG4gc29ubyBudWxsLCBTd2lwZXIgaWdub3JhIGxhIG5hdmlnYXRpb24gc2VuemEgY3Jhc2hhcmUKICAgICAgICBwcmV2RWw6IHByZXZCdG4gfHwgdW5kZWZpbmVkLAogICAgICAgIG5leHRFbDogbmV4dEJ0biB8fCB1bmRlZmluZWQsCiAgICAgIH0sCiAgICAgIGJyZWFrcG9pbnRzOiBwZXJWaWV3Q29uZmlnCiAgICB9KTsKICB9KTsKfQoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsKICAvLyBOb3RhOiBpbCBzZWxldHRvcmUgcXVpIHB1bnRhIGFsIGNvbnRlbml0b3JlIGNoZSByYWNjaGl1ZGUgLnN3aXBlciArIGJvdHRvbmkgKyBwYWdpbmF0aW9uCiAgaW5pdENhcm9zZWxsb0RPTSgnLmNhcm9zZWxsby1jb250YWluZXInLCB7CiAgICAzMjA6IHsgc2xpZGVzUGVyVmlldzogMS4zLCBzcGFjZUJldHdlZW46IDE1IH0sCiAgICA3Njg6IHsgc2xpZGVzUGVyVmlldzogMy4yLCBzcGFjZUJldHdlZW46IDIwIH0sCiAgICAxMDI0OiB7IHNsaWRlc1BlclZpZXc6IDUuMywgc3BhY2VCZXR3ZWVuOiAzMCB9LAogIH0pOwp9KTsKPC9zY3JpcHQ+dwljb3JlL2h0bWx3gDc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyI+CjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8ZGl2IGlkPSJwcm9kb3R0aSIgY2xhc3M9InNlemlvbmUiPgogIDxoMiBjbGFzcz0idGl0b2xvLXNlemlvbmUiPjwvaDI+CiAgPGRpdiBjbGFzcz0iY2Fyb3NlbGxvLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzd2lwZXIgY2Fyb3NlbGxvLXByb2RvdHRpIj4KICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgoKICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2R1a3QvdmFpYS1jdWJlLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZTwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgoKPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC05LTE2IGNhcmQtcHJvZG90dG8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAzLzMtMS5wbmc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEN1YmUgRXNzZW50aWFsIEFyaWE8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtY3ViZS1pbXBlcmZldHRvLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9JTVBFUkZFVFRPLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBpbXBlcmZldHRvPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvZHVrdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgQ3ViZSBKT1k8L2gzPjwvZGl2PgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtcGVvcGxlLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTEvcGVvcGxlLXBpZWRpc3RhbGxvLmpwZz9hdXRvPWNvbXByZXNzJmFtcDtjcz10aW55c3JnYiZhbXA7dz04MDAnKTsiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij48aDMgY2xhc3M9Im5vbWUtcHJvZG90dG8iPlZBSUEgUGVvcGxlPGJyPkNvbWJvPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CiAgICAgICAgCiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9kdWt0L3ZhaWEtcGVvcGxlLXBlcnNvbmFsaXp6YXRvLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvUGVvcGxlLVBlcnNvbmFsaXp6YXRpLTIxLXNjYWxlZC5qcGc\/YXV0bz1jb21wcmVzcyZhbXA7Y3M9dGlueXNyZ2ImYW1wO3c9ODAwJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIFBlb3BsZSBQZXJzb25hbGlzaWVydDwvaDM+PC9kaXY+CiAgICAgICAgPC9hPgogICAgICAgIAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvdmFpYS1mb2N1cy0yLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTktMTYgY2FyZC1wcm9kb3R0byI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvRm9jdXMtSFAuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+PGgzIGNsYXNzPSJub21lLXByb2RvdHRvIj5WQUlBIEZvY3VzPC9oMz48L2Rpdj4KICAgICAgICA8L2E+CgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0g4pyFIEZSRUNDRSBzb2xvIGRlc2t0b3AgLS0+CiAgICA8ZGl2IGNsYXNzPSJzd2lwZXItYnV0dG9uLXByZXYiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3dpcGVyLWJ1dHRvbi1uZXh0Ij48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbiI+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPHN0eWxlPgouc2V6aW9uZSB7IGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgfQoudGl0b2xvLXNlemlvbmUgewogIGNvbG9yOiMwZTNiMjY7ICAKICBmb250LXNpemU6Mi44cmVtOyAgCiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgCiAgcGFkZGluZzowOyAgCiAgYm9yZGVyLXJhZGl1czowOwogIG1hcmdpbi1sZWZ0OjIwcHg7CiAgbWFyZ2luLWJvdHRvbTotM3ZoOwogIHBhZGRpbmctYm90dG9tOi0zdmg7Cgp9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nOjYwcHggMDsgb3ZlcmZsb3c6aGlkZGVuOyB9Ci5jYXJkLTktMTYgeyBhc3BlY3QtcmF0aW86OS8xNjsgd2lkdGg6MzAwcHg7IGJvcmRlci1yYWRpdXM6MTJweDsgb3ZlcmZsb3c6aGlkZGVuOyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQouY2FyZC1iZyB7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOyB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjRzIGVhc2U7IH0KLmNhcmQtOS0xNjpob3ZlciAuY2FyZC1iZyB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH0KLmNhcmQtY29udGVudCB7CiAgcG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHJpZ2h0OjA7IGJvdHRvbTowOyAgCiAgZGlzcGxheTpmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7ICAKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIHRleHQtYWxpZ246Y2VudGVyOwp9Ci5jYXJkLWNvbnRlbnQgaDMgeyBjb2xvcjojZjRmMGU1OyBmb250LXNpemU6MS42cmVtOyBtYXJnaW46MDsgdGV4dC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsMC42KTsgfQoKLm5vbWUtcHJvZG90dG8gewogIG9wYWNpdHk6IDE7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7CiAgdGV4dC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgcGFkZGluZzogMTBweDsKfQoKLmNhcmQtcHJvZG90dG86aG92ZXIgLm5vbWUtcHJvZG90dG8gewogIG9wYWNpdHk6IDE7Cn0KCi8qIEZSRUNDRTogc29sbyBzdSBkZXNrdG9wLCBvZmYgd2hpdGUsIHNlbnphIGNlcmNoaW8gKi8KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiwKLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7CiAgY29sb3I6I2Y0ZjBlNTsKICBmb250LXdlaWdodDo2MDA7CiAgdGV4dC1zaGFkb3c6MCAycHggOHB4IHJnYmEoMCwwLDAsMC40KTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6NTAlOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOwogIHotaW5kZXg6MTA7CiAgZm9udC1zaXplOjQwcHg7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVyLAouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyIHsKICBvcGFjaXR5OjAuODsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjEpOwp9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHsgbGVmdDoxMHB4OyB9Ci5jYXJvc2VsbG8tY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLW5leHQgeyByaWdodDoxMHB4OyB9CgouY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLXBhZ2luYXRpb24gewogIHBvc2l0aW9uOnN0YXRpYzsKICBtYXJnaW4tdG9wOjMwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IzBlM2IyNjsKfQoKLyogTmFzY29uZGkgZnJlY2NlIHN1IHRhYmxldCBlIG1vYmlsZSAqLwpAbWVkaWEobWF4LXdpZHRoOjEwMjRweCl7CiAgLmNhcm9zZWxsby1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiwKICAuY2Fyb3NlbGxvLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsKICAgIGRpc3BsYXk6bm9uZTsKICB9Cn0KQG1lZGlhKG1heC13aWR0aDo3NjhweCl7CiAgLnRpdG9sby1zZXppb25lIHsgZm9udC1zaXplOjJyZW07IH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLyogSW5pdCByb2J1c3RvOiBjb2xsZWdhIGkgYm90dG9uaSBlIGxhIHBhZ2luYXppb25lIHVzYW5kbyBlbGVtZW50aSBET00sCiAgIGNvc8OsIGkgbmV4dC9wcmV2IGZ1bnppb25hbm8gc2VtcHJlIGFuY2hlIHNlIGxhIHN0cnV0dHVyYSBIVE1MIHZhcmlhIGxlZ2dlcm1lbnRlICovCmZ1bmN0aW9uIGluaXRDYXJvc2VsbG9ET00oY29udGFpbmVyU2VsZWN0b3IsIHBlclZpZXdDb25maWcsIGxvb3BWYWx1ZSA9IHRydWUpIHsKICBjb25zdCBjb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChjb250YWluZXJTZWxlY3Rvcik7CgogIGNvbnRhaW5lcnMuZm9yRWFjaChjb250YWluZXIgPT4gewogICAgY29uc3Qgc3dpcGVyRWwgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcignLnN3aXBlcicpOyAvLyBsJ2VsZW1lbnRvIGNvbiBjbGFzcyAic3dpcGVyIgogICAgY29uc3QgcHJldkJ0biA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLWJ1dHRvbi1wcmV2Jyk7CiAgICBjb25zdCBuZXh0QnRuID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zd2lwZXItYnV0dG9uLW5leHQnKTsKICAgIGNvbnN0IHBhZ2luYXRpb25FbCA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCcuc3dpcGVyLXBhZ2luYXRpb24nKTsKCiAgICBpZiAoIXN3aXBlckVsKSByZXR1cm47CgogICAgLy8gSW5pemlhbGl6emEgU3dpcGVyIHBhc3NhbmRvZ2xpIGdsaSBlbGVtZW50aSAobm9uIHNvbG8gaSBzZWxldHRvcmkpCiAgICBuZXcgU3dpcGVyKHN3aXBlckVsLCB7CiAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgZ3JhYkN1cnNvcjogdHJ1ZSwKICAgICAgc2xpZGVzUGVyR3JvdXA6IDEsICAgLy8gbXVvdmUgZGkgdW4gc29sbyBzbGlkZSBwZXIgY2xpY2sKICAgICAgc3BlZWQ6IDYwMCwKICAgICAgcGFnaW5hdGlvbjogewogICAgICAgIGVsOiBwYWdpbmF0aW9uRWwsCiAgICAgICAgY2xpY2thYmxlOiB0cnVlLAogICAgICB9LAogICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgLy8gc2UgcHJldkJ0bi9uZXh0QnRuIHNvbm8gbnVsbCwgU3dpcGVyIGlnbm9yYSBsYSBuYXZpZ2F0aW9uIHNlbnphIGNyYXNoYXJlCiAgICAgICAgcHJldkVsOiBwcmV2QnRuIHx8IHVuZGVmaW5lZCwKICAgICAgICBuZXh0RWw6IG5leHRCdG4gfHwgdW5kZWZpbmVkLAogICAgICB9LAogICAgICBicmVha3BvaW50czogcGVyVmlld0NvbmZpZwogICAgfSk7CiAgfSk7Cn0KCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgLy8gTm90YTogaWwgc2VsZXR0b3JlIHF1aSBwdW50YSBhbCBjb250ZW5pdG9yZSBjaGUgcmFjY2hpdWRlIC5zd2lwZXIgKyBib3R0b25pICsgcGFnaW5hdGlvbgogIGluaXRDYXJvc2VsbG9ET00oJy5jYXJvc2VsbG8tY29udGFpbmVyJywgewogICAgMzIwOiB7IHNsaWRlc1BlclZpZXc6IDEuMywgc3BhY2VCZXR3ZWVuOiAxNSB9LAogICAgNzY4OiB7IHNsaWRlc1BlclZpZXc6IDMuMiwgc3BhY2VCZXR3ZWVuOiAyMCB9LAogICAgMTAyNDogeyBzbGlkZXNQZXJWaWV3OiA1LjMsIHNwYWNlQmV0d2VlbjogMzAgfSwKICB9KTsKfSk7Cjwvc2NyaXB0PtwFAHcTMjAyNS0xMS0wM1QxMTo1NTo0NncGaG9tZS0ydwdwdWJsaXNofZAFfb7cBHcGY2xvc2VkdwZjbG9zZWR3AHl3AHcAdyQ1MWY5NTQ3Yi0zMzAwLTQwM2EtOWZhMy01MjU3YmM1ZWViMGN4dy48ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWduZnVsbCI+PC9kaXY+dwxjb3JlL2NvbHVtbnN4dwRmdWxsdyRhY2NlMWZkOS1lN2U4LTQ5NjktYTAxYS1lMmIwNWQyNDBkYzh4dzs8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjEwMCUiPjwvZGl2PncLY29yZS9jb2x1bW53BDEwMCV3JDMyYjIxZGNiLWYyODctNGMwYy04OTYyLWRkZDJlMjY0NWQ4Ynh3zwo8c3R5bGU+CiAgLyogSGVybyBzZWN0aW9uIGEgdHV0dGEgYWx0ZXp6YSAqLwogIC5oZXJvLXZpZGVvIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDB2aDsgLyogc2VtcHJlIGFsdGV6emEgZGVsbG8gc2NoZXJtbyAqLwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CgogIC5oZXJvLXZpZGVvIHZpZGVvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvKiByaWVtcGllIGxhIHNlemlvbmUgc2VuemEgZGVmb3JtYXJzaSAqLwogICAgei1pbmRleDogMTsKICB9CgogIC8qIENvbnRlbnV0byBzb3ByYSBpbCB2aWRlbyAqLwogIC5oZXJvLXZpZGVvIC5oZXJvLWNvbnRlbnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMjsgLyogc29wcmEgaWwgdmlkZW8gKi8KICAgIHBhZGRpbmc6IDJyZW07CiAgICBjb2xvcjogI2ZmZjsKICB9CgogIC8qIFZlcnNpb25pIGRlc2t0b3AvbW9iaWxlICovCiAgI3ZpZGVvLWRlc2t0b3AgeyBkaXNwbGF5OiBub25lOyB9CiAgI3ZpZGVvLW1vYmlsZSB7IGRpc3BsYXk6IG5vbmU7IH0KCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7CiAgICAjdmlkZW8tZGVza3RvcCB7IGRpc3BsYXk6IGJsb2NrOyB9CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICN2aWRlby1tb2JpbGUgeyBkaXNwbGF5OiBibG9jazsgfQogIH0KPC9zdHlsZT4KCjxkaXYgY2xhc3M9Imhlcm8tdmlkZW8iPgogIDwhLS0gVmlkZW8gRGVza3RvcCAtLT4KICA8dmlkZW8gaWQ9InZpZGVvLWRlc2t0b3AiIGF1dG9wbGF5IG11dGVkIGxvb3AgcGxheXNpbmxpbmU+CiAgICA8c291cmNlIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wOS9BUFBVTlRJLVNPQ0lBTC0xLm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICA8L3ZpZGVvPgoKICA8IS0tIFZpZGVvIE1vYmlsZSAtLT4KICA8dmlkZW8gaWQ9InZpZGVvLW1vYmlsZSIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZT4KICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzA5L1N0b3JpZS1Gb3Jlc3RhLTIubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogIDwvdmlkZW8+CgogIDwhLS0gQ29udGVudXRvIHNvcHJhIGlsIHZpZGVvIC0tPgogIDxkaXYgY2xhc3M9Imhlcm8tY29udGVudCI+CiAgICA8IS0tIFRpdG9saSwgdGVzdG8gbyBib3R0b25pIHNvcHJhIGlsIHZpZGVvIC0tPgogIDwvZGl2Pgo8L2Rpdj53CWNvcmUvaHRtbHfPCjxzdHlsZT4KICAvKiBIZXJvIHNlY3Rpb24gYSB0dXR0YSBhbHRlenphICovCiAgLmhlcm8tdmlkZW8gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMHZoOyAvKiBzZW1wcmUgYWx0ZXp6YSBkZWxsbyBzY2hlcm1vICovCiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KCiAgLmhlcm8tdmlkZW8gdmlkZW8gewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7IC8qIHJpZW1waWUgbGEgc2V6aW9uZSBzZW56YSBkZWZvcm1hcnNpICovCiAgICB6LWluZGV4OiAxOwogIH0KCiAgLyogQ29udGVudXRvIHNvcHJhIGlsIHZpZGVvICovCiAgLmhlcm8tdmlkZW8gLmhlcm8tY29udGVudCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAyOyAvKiBzb3ByYSBpbCB2aWRlbyAqLwogICAgcGFkZGluZzogMnJlbTsKICAgIGNvbG9yOiAjZmZmOwogIH0KCiAgLyogVmVyc2lvbmkgZGVza3RvcC9tb2JpbGUgKi8KICAjdmlkZW8tZGVza3RvcCB7IGRpc3BsYXk6IG5vbmU7IH0KICAjdmlkZW8tbW9iaWxlIHsgZGlzcGxheTogbm9uZTsgfQoKICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHsKICAgICN2aWRlby1kZXNrdG9wIHsgZGlzcGxheTogYmxvY2s7IH0KICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgI3ZpZGVvLW1vYmlsZSB7IGRpc3BsYXk6IGJsb2NrOyB9CiAgfQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iaGVyby12aWRlbyI+CiAgPCEtLSBWaWRlbyBEZXNrdG9wIC0tPgogIDx2aWRlbyBpZD0idmlkZW8tZGVza3RvcCIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZT4KICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzA5L0FQUFVOVEktU09DSUFMLTEubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogIDwvdmlkZW8+CgogIDwhLS0gVmlkZW8gTW9iaWxlIC0tPgogIDx2aWRlbyBpZD0idmlkZW8tbW9iaWxlIiBhdXRvcGxheSBtdXRlZCBsb29wIHBsYXlzaW5saW5lPgogICAgPHNvdXJjZSBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDkvU3RvcmllLUZvcmVzdGEtMi5tcDQiIHR5cGU9InZpZGVvL21wNCI+CiAgPC92aWRlbz4KCiAgPCEtLSBDb250ZW51dG8gc29wcmEgaWwgdmlkZW8gLS0+CiAgPGRpdiBjbGFzcz0iaGVyby1jb250ZW50Ij4KICAgIDwhLS0gVGl0b2xpLCB0ZXN0byBvIGJvdHRvbmkgc29wcmEgaWwgdmlkZW8gLS0+CiAgPC9kaXY+CjwvZGl2Pnh3LjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ253aWRlIj48L2Rpdj53DGNvcmUvY29sdW1uc3h3BHdpZGV4dwtjb3JlL2NvbHVtbnckM2NmNmEyZGYtN2ZjOS00OGE2LTkwOTAtNDFkMTM2MmEwYmE3eHdzPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogLTV2aDsgbWFyZ2luLWxlZnQ6MjBweDsgcGFkZGluZy1ib3R0b206IDA7Ij5VbnNlcmUgUHJvZHVrdGU8L2gyPncJY29yZS9odG1sd3M8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAtNXZoOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPlVuc2VyZSBQcm9kdWt0ZTwvaDI+eHcJY29yZS9odG1seHcuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwvZGl2PncMY29yZS9jb2x1bW5zeHcEd2lkZXckZjJmZDkwMzYtMjFkZi00MGE0LWIzYTYtNmUzNGE5MDk5YjRmeHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JDZhOWQyZTNlLThhNzItNDczNi04MGY1LTBiOGZiMDcxODhhOHh3cjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IC01dmg7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+VW5zZXJlIFdpcmt1bmc8L2gyPncJY29yZS9odG1sd3I8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAtNXZoOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPlVuc2VyZSBXaXJrdW5nPC9oMj53JGQ2YTVmZmQwLTdjYzYtNDZkNy04MDUyLTU4NmM1YmFkMmNhOHh3uSg8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmNzcyIgLz4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vc3dpcGVyQDExL3N3aXBlci1idW5kbGUubWluLmpzIj48L3NjcmlwdD4KCjxkaXYgaWQ9ImF6aWVuZGUiIGNsYXNzPSJzZXppb25lLWF6aWVuZGUtY3VzdG9tIj4KICAgIDxkaXYgY2xhc3M9ImNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyIGNhcm9zZWxsby1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXdyYXBwZXIiPgoKICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L2dsZXRzY2hlci8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1naGlhY2NpYWkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5HbGV0c2NoZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPgoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9kb2xvbWl0ZW4vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tZG9sb21pdGkuanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5Eb2xvbWl0ZW48L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPiAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgIAoKIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9ib3N0cmljby8iIGNsYXNzPSJzd2lwZXItc2xpZGUgY2FyZC0xLTEgY2FyZC1hemllbmRlLW51b3ZvIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJnLWF6aWVuZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9IUC1wcm9nZXR0by1ib3N0cmljby5qcGcnKTsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudC1hemllbmRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJub21lLWF6aWVuZGUtdmlzaWJpbGUiPkJvcmtlbmvDpGZlcjwvaDM+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2E+ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIj48L2Rpdj4KICAgIDwvZGl2Pgo8L2Rpdj4KCjxzdHlsZT4KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qIFNUSUxJIEVTQ0xVU0lWSSBQRVIgUVVFU1RBIFNFWklPTkUgKENvcnJlemlvbmkgcGVyIGFsbGluZWFtZW50bykgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgouc2V6aW9uZS1hemllbmRlLWN1c3RvbSB7IAogICAgYmFja2dyb3VuZC1jb2xvcjojZjRmMGU1OyAKICAgIHBhZGRpbmc6NjBweCAyMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsKICAgIGNvbG9yOiMwZTNiMjY7ICAKICAgIGZvbnQtc2l6ZToyLjhyZW07ICAKICAgIG1hcmdpbi1ib3R0b206IDBweDsKfQouY2Fyb3NlbGxvLWNvbnRhaW5lci1hemllbmRlIHsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgCiAgICBwYWRkaW5nOjIwcHggMDsgCiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgIG1hcmdpbjogMCBhdXRvOwp9CgovKiBDQVJEIFFVQURSQVRBICgxOjEpICovCi5jYXJkLTEtMSB7CiAgICBhc3BlY3QtcmF0aW86MS8xOwogICAgd2lkdGg6MzUwcHg7CiAgICBib3JkZXItcmFkaXVzOjEycHg7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhcmQtYmctYXppZW5kZSB7IAogICAgd2lkdGg6MTAwJTsgCiAgICBoZWlnaHQ6MTAwJTsgCiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7IAogICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7IAogICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC40cyBlYXNlOyAKfQoKLyogRUZGRVRUTyBaT09NIChSaWNoaWVzdG8gZSBDb3JyZXR0bykgKi8KLmNhcmQtYXppZW5kZS1udW92bzpob3ZlciAuY2FyZC1iZy1hemllbmRlIHsgCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpOyAKfQoKLmNhcmQtY29udGVudC1hemllbmRlIHsKICAgIHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyByaWdodDowOyBib3R0b206MDsgIAogICAgZGlzcGxheTpmbGV4OyAKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIEFnZ2l1bnRvIHBlciBhbGxpbmVhbWVudG8gKi8KICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvKiBBbGxpbmVhIGlsIGNvbnRlbnV0byBhIHNpbmlzdHJhICovCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyAvKiBDb3JyZXR0bzogQWxsaW5lYSBpbCBjb250ZW51dG8gaW4gQkFTU08gKi8KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC42KSAwJSwgdHJhbnNwYXJlbnQgNTAlKTsKICAgIHRleHQtYWxpZ246bGVmdDsKICAgIHBhZGRpbmc6IDIwcHg7Cn0KCi8qIFRFU1RPIFNFTVBSRSBWSVNJQklMRSBJTiBCQVNTTyBBIFNJTklTVFJBICovCi5ub21lLWF6aWVuZGUtdmlzaWJpbGUgewogICAgY29sb3I6I2Y0ZjBlNTsgCiAgICBmb250LXNpemU6MS42cmVtOyAKICAgIG1hcmdpbjogMDsgCiAgICBvcGFjaXR5OiAxOwogICAgdGV4dC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLDAuOCk7Cn0KCi8qIFBBR0lOQVpJT05FICovCi5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIHsgcG9zaXRpb246c3RhdGljOyBtYXJnaW4tdG9wOjMwcHg7IH0KLnN3aXBlci1wYWdpbmF0aW9uLWF6aWVuZGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiMwZTNiMjY7IH0KCgovKiBSRVNQT05TSVZFICovCkBtZWRpYShtYXgtd2lkdGg6NzY4cHgpewogICAgLnRpdG9sby1zZXppb25lLWF6aWVuZGUgeyBmb250LXNpemU6MnJlbTsgfQogICAgLmNhcmQtMS0xIHsgCiAgICAgICAgd2lkdGg6IDEwMCU7IAogICAgfQp9Cjwvc3R5bGU+Cgo8c2NyaXB0PgovLyBGdW56aW9uZSBpbml0Q2Fyb3NlbGxvIHJpbWFuZSBpbnZhcmlhdGEgcGVyIGwndXNvIGdlbmVyaWNvCmZ1bmN0aW9uIGluaXRDYXJvc2VsbG8oc2VsZWN0b3IsIHBlclZpZXdDb25maWcsIGxvb3BWYWx1ZSA9IHRydWUpIHsKICAgIHJldHVybiBuZXcgU3dpcGVyKHNlbGVjdG9yLCB7CiAgICAgICAgbG9vcDogbG9vcFZhbHVlLAogICAgICAgIGdyYWJDdXJzb3I6IHRydWUsCiAgICAgICAgaW5pdGlhbFNsaWRlOiAxLAogICAgICAgIHBhZ2luYXRpb246IHsKICAgICAgICAgICAgLy8gSW1wb3J0YW50ZTogcXVpIHVzaWFtbyBsYSBjbGFzc2Ugc3BlY2lmaWNhIGRlbGxhIHBhZ2luYXppb25lIHBlciBxdWVzdGEgc2V6aW9uZQogICAgICAgICAgICBlbDogJyNhemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlJywKICAgICAgICAgICAgY2xpY2thYmxlOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgYnJlYWtwb2ludHM6IHBlclZpZXdDb25maWcKICAgIH0pOwp9CgovLyBJbml6aWFsaXp6YXppb25lIEVTQ0xVU0lWQSBwZXIgbGEgc2V6aW9uZSBJRD0iYXppZW5kZSIKd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgCiAgICAgICAgLy8gQ29udHJvbGxhIFBSSU1BIHNlIGlsIGNvbnRlbml0b3JlIHByaW5jaXBhbGUgRVNJU1RFLgogICAgICAgIC8vIFF1ZXN0byBpbXBlZGlzY2UgbCdlc2VjdXppb25lIGRlbGxvIHNjcmlwdCBzZSBsJ0lEICNhemllbmRlIG5vbiDDqCBuZWxsYSBwYWdpbmEuCiAgICAgICAgY29uc3QgYXppZW5kZUNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhemllbmRlJyk7CiAgICAgICAgCiAgICAgICAgaWYgKGF6aWVuZGVDb250YWluZXIpIHsKICAgICAgICAgICAgLy8gSU5JWklBTElaWkFaSU9ORSBTRVpJT05FIEFaSUVOREUgUEVSU09OQUxJWlpBVEEKICAgICAgICAgICAgLy8gU2VsZXppb25pYW1vIGlsIGNhcm9zZWxsbyBTT0xPIGFsbCdpbnRlcm5vIGRlbCBjb250ZW5pdG9yZSAjYXppZW5kZQogICAgICAgICAgICBpbml0Q2Fyb3NlbGxvKCcjYXppZW5kZSAuY2Fyb3NlbGxvLWF6aWVuZGUtbnVvdm8nLCB7CiAgICAgICAgICAgICAgICAzMjA6IHsgc2xpZGVzUGVyVmlldzogMS4yLCBzcGFjZUJldHdlZW46IDE1IH0sCiAgICAgICAgICAgICAgICA3Njg6IHsgc2xpZGVzUGVyVmlldzogMiwgc3BhY2VCZXR3ZWVuOiAyMCB9LAogICAgICAgICAgICAgICAgMTAyNDogeyBzbGlkZXNQZXJWaWV3OiAzLjIsIHNwYWNlQmV0d2VlbjogMzAgfSwKICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIAogICAgfSwgMTAwKTsgCn07Cjwvc2NyaXB0PncJY29yZS9odG1sd7koPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5jc3MiIC8+CjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3N3aXBlckAxMS9zd2lwZXItYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+Cgo8ZGl2IGlkPSJhemllbmRlIiBjbGFzcz0ic2V6aW9uZS1hemllbmRlLWN1c3RvbSI+CiAgICA8ZGl2IGNsYXNzPSJjYXJvc2VsbG8tY29udGFpbmVyLWF6aWVuZGUiPgogICAgICAgIDxkaXYgY2xhc3M9InN3aXBlciBjYXJvc2VsbG8tYXppZW5kZS1udW92byI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4KCiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC9nbGV0c2NoZXIvIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tZ2hpYWNjaWFpLmpwZycpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+R2xldHNjaGVyPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4KCiA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvZG9sb21pdGVuLyIgY2xhc3M9InN3aXBlci1zbGlkZSBjYXJkLTEtMSBjYXJkLWF6aWVuZGUtbnVvdm8iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYmctYXppZW5kZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL0hQLXByb2dldHRvLWRvbG9taXRpLmpwZycpOyI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50LWF6aWVuZGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im5vbWUtYXppZW5kZS12aXNpYmlsZSI+RG9sb21pdGVuPC9oMz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvYT4gICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAKCiA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3Byb2plY3QvYm9zdHJpY28vIiBjbGFzcz0ic3dpcGVyLXNsaWRlIGNhcmQtMS0xIGNhcmQtYXppZW5kZS1udW92byI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1iZy1hemllbmRlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvSFAtcHJvZ2V0dG8tYm9zdHJpY28uanBnJyk7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQtYXppZW5kZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibm9tZS1hemllbmRlLXZpc2liaWxlIj5Cb3JrZW5rw6RmZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9hPiAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSI+PC9kaXY+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBTVElMSSBFU0NMVVNJVkkgUEVSIFFVRVNUQSBTRVpJT05FIChDb3JyZXppb25pIHBlciBhbGxpbmVhbWVudG8pICovCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKLnNlemlvbmUtYXppZW5kZS1jdXN0b20geyAKICAgIGJhY2tncm91bmQtY29sb3I6I2Y0ZjBlNTsgCiAgICBwYWRkaW5nOjYwcHggMjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudGl0b2xvLXNlemlvbmUtYXppZW5kZSB7CiAgICBjb2xvcjojMGUzYjI2OyAgCiAgICBmb250LXNpemU6Mi44cmVtOyAgCiAgICBtYXJnaW4tYm90dG9tOiAwcHg7Cn0KLmNhcm9zZWxsby1jb250YWluZXItYXppZW5kZSB7IAogICAgcG9zaXRpb246cmVsYXRpdmU7IAogICAgcGFkZGluZzoyMHB4IDA7IAogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICBtYXJnaW46IDAgYXV0bzsKfQoKLyogQ0FSRCBRVUFEUkFUQSAoMToxKSAqLwouY2FyZC0xLTEgewogICAgYXNwZWN0LXJhdGlvOjEvMTsKICAgIHdpZHRoOjM1MHB4OwogICAgYm9yZGVyLXJhZGl1czoxMnB4OwogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5jYXJkLWJnLWF6aWVuZGUgeyAKICAgIHdpZHRoOjEwMCU7IAogICAgaGVpZ2h0OjEwMCU7IAogICAgYmFja2dyb3VuZC1zaXplOmNvdmVyOyAKICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyOyAKICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDAuNHMgZWFzZTsgCn0KCi8qIEVGRkVUVE8gWk9PTSAoUmljaGllc3RvIGUgQ29ycmV0dG8pICovCi5jYXJkLWF6aWVuZGUtbnVvdm86aG92ZXIgLmNhcmQtYmctYXppZW5kZSB7IAogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgCn0KCi5jYXJkLWNvbnRlbnQtYXppZW5kZSB7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgYm90dG9tOjA7ICAKICAgIGRpc3BsYXk6ZmxleDsgCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvKiBBZ2dpdW50byBwZXIgYWxsaW5lYW1lbnRvICovCiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLyogQWxsaW5lYSBpbCBjb250ZW51dG8gYSBzaW5pc3RyYSAqLwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLyogQ29ycmV0dG86IEFsbGluZWEgaWwgY29udGVudXRvIGluIEJBU1NPICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMCwwLDAuNikgMCUsIHRyYW5zcGFyZW50IDUwJSk7CiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBwYWRkaW5nOiAyMHB4Owp9CgovKiBURVNUTyBTRU1QUkUgVklTSUJJTEUgSU4gQkFTU08gQSBTSU5JU1RSQSAqLwoubm9tZS1hemllbmRlLXZpc2liaWxlIHsKICAgIGNvbG9yOiNmNGYwZTU7IAogICAgZm9udC1zaXplOjEuNnJlbTsgCiAgICBtYXJnaW46IDA7IAogICAgb3BhY2l0eTogMTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLDAsMCwwLjgpOwp9CgovKiBQQUdJTkFaSU9ORSAqLwouc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZSB7IHBvc2l0aW9uOnN0YXRpYzsgbWFyZ2luLXRvcDozMHB4OyB9Ci5zd2lwZXItcGFnaW5hdGlvbi1hemllbmRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjojMGUzYjI2OyB9CgoKLyogUkVTUE9OU0lWRSAqLwpAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsKICAgIC50aXRvbG8tc2V6aW9uZS1hemllbmRlIHsgZm9udC1zaXplOjJyZW07IH0KICAgIC5jYXJkLTEtMSB7IAogICAgICAgIHdpZHRoOiAxMDAlOyAKICAgIH0KfQo8L3N0eWxlPgoKPHNjcmlwdD4KLy8gRnVuemlvbmUgaW5pdENhcm9zZWxsbyByaW1hbmUgaW52YXJpYXRhIHBlciBsJ3VzbyBnZW5lcmljbwpmdW5jdGlvbiBpbml0Q2Fyb3NlbGxvKHNlbGVjdG9yLCBwZXJWaWV3Q29uZmlnLCBsb29wVmFsdWUgPSB0cnVlKSB7CiAgICByZXR1cm4gbmV3IFN3aXBlcihzZWxlY3RvciwgewogICAgICAgIGxvb3A6IGxvb3BWYWx1ZSwKICAgICAgICBncmFiQ3Vyc29yOiB0cnVlLAogICAgICAgIGluaXRpYWxTbGlkZTogMSwKICAgICAgICBwYWdpbmF0aW9uOiB7CiAgICAgICAgICAgIC8vIEltcG9ydGFudGU6IHF1aSB1c2lhbW8gbGEgY2xhc3NlIHNwZWNpZmljYSBkZWxsYSBwYWdpbmF6aW9uZSBwZXIgcXVlc3RhIHNlemlvbmUKICAgICAgICAgICAgZWw6ICcjYXppZW5kZSAuc3dpcGVyLXBhZ2luYXRpb24tYXppZW5kZScsCiAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSwKICAgICAgICB9LAogICAgICAgIGJyZWFrcG9pbnRzOiBwZXJWaWV3Q29uZmlnCiAgICB9KTsKfQoKLy8gSW5pemlhbGl6emF6aW9uZSBFU0NMVVNJVkEgcGVyIGxhIHNlemlvbmUgSUQ9ImF6aWVuZGUiCndpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIAogICAgICAgIC8vIENvbnRyb2xsYSBQUklNQSBzZSBpbCBjb250ZW5pdG9yZSBwcmluY2lwYWxlIEVTSVNURS4KICAgICAgICAvLyBRdWVzdG8gaW1wZWRpc2NlIGwnZXNlY3V6aW9uZSBkZWxsbyBzY3JpcHQgc2UgbCdJRCAjYXppZW5kZSBub24gw6ggbmVsbGEgcGFnaW5hLgogICAgICAgIGNvbnN0IGF6aWVuZGVDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXppZW5kZScpOwogICAgICAgIAogICAgICAgIGlmIChhemllbmRlQ29udGFpbmVyKSB7CiAgICAgICAgICAgIC8vIElOSVpJQUxJWlpBWklPTkUgU0VaSU9ORSBBWklFTkRFIFBFUlNPTkFMSVpaQVRBCiAgICAgICAgICAgIC8vIFNlbGV6aW9uaWFtbyBpbCBjYXJvc2VsbG8gU09MTyBhbGwnaW50ZXJubyBkZWwgY29udGVuaXRvcmUgI2F6aWVuZGUKICAgICAgICAgICAgaW5pdENhcm9zZWxsbygnI2F6aWVuZGUgLmNhcm9zZWxsby1hemllbmRlLW51b3ZvJywgewogICAgICAgICAgICAgICAgMzIwOiB7IHNsaWRlc1BlclZpZXc6IDEuMiwgc3BhY2VCZXR3ZWVuOiAxNSB9LAogICAgICAgICAgICAgICAgNzY4OiB7IHNsaWRlc1BlclZpZXc6IDIsIHNwYWNlQmV0d2VlbjogMjAgfSwKICAgICAgICAgICAgICAgIDEwMjQ6IHsgc2xpZGVzUGVyVmlldzogMy4yLCBzcGFjZUJldHdlZW46IDMwIH0sCiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICAKICAgIH0sIDEwMCk7IAp9Owo8L3NjcmlwdD54dzg8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWduZnVsbCI+CgoKCgoKCgoKCjwvZGl2PncMY29yZS9jb2x1bW5zeHcEZnVsbHckM2UyNWVhYzUtNTIxMS00Y2I4LWFlYWYtYjQ0MzYyMzI0ZWI5eHc7PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczozMHB4Ij48L2Rpdj53C2NvcmUvY29sdW1udwQzMHB4dyQ1ZjgwMDQ4MC02OWMxLTQwN2UtOTk4My04OTRmMzNiZGEzODd4d0k8ZGl2IHN0eWxlPSJoZWlnaHQ6OHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncDOHB4dyQ1OTAyYmQ1MS02YjZiLTQ5OWEtYTMzOS1kYTQxOWVlZmE2ZjN4dyU8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPgoKPC9kaXY+dwtjb3JlL2NvbHVtbnckMThhNDFhODAtOWRlYy00MTk2LThmMTMtOGE2ZGRiNmQ0YWUxeHfTATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIGFsaWduY2VudGVyIHNpemUtbGFyZ2UgaXMtcmVzaXplZCI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzUtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS01NDM0MiIgc3R5bGU9IndpZHRoOjc3cHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3P2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzUtMTAyNHgxMDI0LnBuZ3cAfYbRBncENzdweHcEYXV0b3cFbGFyZ2V3BG5vbmV3BmNlbnRlcnckOWE0ZmNmZDgtN2Q0OS00ZDhhLWIxMWQtZjY4MzBlZmQwMzQ1eHeeAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjIwMC4wMDAgQsOkdW1lPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5pbSBBbHBlbnJhdW0gZ2VwZmxhbnp0PC9zcGFuPgo8L2Rpdj53CWNvcmUvaHRtbHeeAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjIwMC4wMDAgQsOkdW1lPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5pbSBBbHBlbnJhdW0gZ2VwZmxhbnp0PC9zcGFuPgo8L2Rpdj53JDcyOGIwNzYxLWMyMmUtNDFiMy1hMmRhLTkyYWY4ZjgzY2NlMnh3JTxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+Cgo8L2Rpdj53C2NvcmUvY29sdW1udyRhMTVlM2VjMC04Mzk2LTRiZDAtODdmMy0zYmM0ODUzZWZiNmV4d9MBPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2UgYWxpZ25jZW50ZXIgc2l6ZS1sYXJnZSBpcy1yZXNpemVkIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83Ni0xMDI0eDEwMjQucG5nIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTU0MzQ3IiBzdHlsZT0id2lkdGg6NzZweDtoZWlnaHQ6YXV0byIvPjwvZmlndXJlPncKY29yZS9pbWFnZXc\/aHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMi83Ni0xMDI0eDEwMjQucG5ndwB9i9EGdwQ3NnB4dwRhdXRvdwVsYXJnZXcEbm9uZXcGY2VudGVydyRkMTY4MDlmMy1mZjU2LTRhMTgtOGViMi00ZTYzNGJiZGM1M2J4d5gCPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MS4wMDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5DT+KCgiBrb21wZW5zaWVydAo8L3NwYW4+CjwvZGl2PncJY29yZS9odG1sd5gCPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyBnYXA6IDE1cHg7Ij4KICAgIDxzdHJvbmcgc3R5bGU9ImZvbnQtc2l6ZTogMi4ycmVtOyBsaW5lLWhlaWdodDogMS4xO2ZvbnQtd2VpZ2h0OiA2MDAhaW1wb3J0YW50OyI+MS4wMDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5DT+KCgiBrb21wZW5zaWVydAo8L3NwYW4+CjwvZGl2PnckZmI3MTBlYmItZGFmOC00MmVjLWFlNWItNDFkYTcxNWQyYjA0eHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JGQwNjEzN2QyLTk2YzktNGFkMS05MzhlLWRlNjgzYWUzNmQ1M3h30wE8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIGlzLXJlc2l6ZWQiPjxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAyLzc3LTEwMjR4MTAyNC5wbmciIGFsdD0iIiBjbGFzcz0id3AtaW1hZ2UtNTQzNTEiIHN0eWxlPSJ3aWR0aDo2OXB4O2hlaWdodDphdXRvIi8+PC9maWd1cmU+dwpjb3JlL2ltYWdldz9odHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzAyLzc3LTEwMjR4MTAyNC5wbmd3AH2P0QZ3BDY5cHh3BGF1dG93BWxhcmdldwRub25ldwZjZW50ZXJ3JGI5OTUzZmFhLTI1YjgtNDQ2Yy1hY2Y2LWE5YTQ0ZWZhNTk2OXh3mAI8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij41MDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5Ib2x6IHdpZWRlcmdld29ubmVuCjwvc3Bhbj4KPC9kaXY+dwljb3JlL2h0bWx3mAI8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij41MDAgVG9ubmVuPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5Ib2x6IHdpZWRlcmdld29ubmVuCjwvc3Bhbj4KPC9kaXY+dyQ2YTgzYWY2Zi0xM2IwLTRhMjEtYTEyOS0xZjI2NGJkNjYxOGV4dyU8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iPgoKPC9kaXY+dwtjb3JlL2NvbHVtbnckZDc1NjdhMWItYjA3My00NDUwLTk1NDYtZGNmMzczMzk2MjhheHfTATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIGFsaWduY2VudGVyIHNpemUtbGFyZ2UgaXMtcmVzaXplZCI+PGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzgtMTAyNHgxMDI0LnBuZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS01NDM1NSIgc3R5bGU9IndpZHRoOjY5cHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT53CmNvcmUvaW1hZ2V3P2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDIvNzgtMTAyNHgxMDI0LnBuZ3cAfZPRBncENjlweHcEYXV0b3cFbGFyZ2V3BG5vbmV3BmNlbnRlcnckNTQ2ZjdiYWYtMTNmZi00NWEwLTg5ZDEtZGM1ZGY5N2VlYTJheHecAjxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgZ2FwOiAxNXB4OyI+CiAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbGluZS1oZWlnaHQ6IDEuMTtmb250LXdlaWdodDogNjAwIWltcG9ydGFudDsiPjE1IEhhbmR3ZXJrZXI8L3N0cm9uZz4KICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEuMXJlbTsiPmluIEl0YWxpZW4gYmV0ZWlsaWd0Cjwvc3Bhbj4KPC9kaXY+dwljb3JlL2h0bWx3nAI8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGdhcDogMTVweDsiPgogICAgPHN0cm9uZyBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IGxpbmUtaGVpZ2h0OiAxLjE7Zm9udC13ZWlnaHQ6IDYwMCFpbXBvcnRhbnQ7Ij4xNSBIYW5kd2Vya2VyPC9zdHJvbmc+CiAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxLjFyZW07Ij5pbiBJdGFsaWVuIGJldGVpbGlndAo8L3NwYW4+CjwvZGl2PnckYTljY2ZjZDItMjhkMi00NTA2LWEyODEtYWJlNGVjYmEzZmJheHc7PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczozMHB4Ij48L2Rpdj53C2NvcmUvY29sdW1udwQzMHB4dyQ5MDY2MTkwOS00MWM1LTRkZjEtYWY0My0xZGM5ZWEzYTkwNmR4d0k8ZGl2IHN0eWxlPSJoZWlnaHQ6OHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncDOHB4eHcyPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbmZ1bGwiPgoKCgo8L2Rpdj53DGNvcmUvY29sdW1uc3h3BGZ1bGx3JGNhNDEwYzliLTBlNmUtNDZlNy1iNTVjLTY5YWI4Yjk0Y2Y5ZHh3OjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiIgc3R5bGU9ImZsZXgtYmFzaXM6MTUlIj48L2Rpdj53C2NvcmUvY29sdW1udwMxNSV3JGJjZjE1MTVhLTBjYTctNDhiOS1hY2UwLTIyNzM0MjQ2MGJjZnh3SjxkaXYgc3R5bGU9ImhlaWdodDoxMnB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncEMTJweHckYzU1OGI5YjctNGZkMC00ZDNlLWI4N2EtYzM0YTkyNTJkMzZieHdFPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczo3MCUiIGlkPSJtYXAiPgoKPC9kaXY+dwtjb3JlL2NvbHVtbncDNzAldwNtYXB3JGJmZGU1OWJkLWE4NmUtNGQ2MS1iNzhiLWU2NzZlZjg1NDAwMnh3YjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyBoYXMtdGV4dC1hbGlnbi1jZW50ZXIiPkthcnRlIGRlciBBdWZmb3JzdHVuZ2VuIHZvbiAyMDE5IGJpcyBoZXV0ZTwvaDI+dwxjb3JlL2hlYWRpbmd9AnYBCnR5cG9ncmFwaHl2AQl0ZXh0QWxpZ253BmNlbnRlcnckMWY4ZjZhZTgtYTY2Ni00MTY2LTg3ZDYtNjI3NDZiNWY2YWYzeHeGATxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZC9lbWJlZD9taWQ9MVF3YlZhUFpCR1Jjel9jNU1zNE94RTdDZ2dHamhmdGMmZWhiYz0yRTMxMkYiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjQ4MCI+PC9pZnJhbWU+dwljb3JlL2h0bWx3hgE8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2QvZW1iZWQ\/bWlkPTFRd2JWYVBaQkdSY3pfYzVNczRPeEU3Q2dnR2poZnRjJmVoYmM9MkUzMTJGIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0ODAiPjwvaWZyYW1lPnckY2I0ZTA2NzItOGQ3MS00ZDU2LTgzY2EtMjZhYmNkYjlhOTE5eHc6PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczoxNSUiPjwvZGl2PncLY29yZS9jb2x1bW53AzE1JXckMTJmMTM2ZWEtMDM1MS00ZGI3LTlmZGQtN2I0OTIzOGNhNTgzeHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjExcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQxMXB4eHcuPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyBhbGlnbndpZGUiPjwvZGl2PncMY29yZS9jb2x1bW5zeHcEd2lkZXckMGEwZDc3YWYtOTI4Zi00ZTYzLWIzMjYtOWY3MmI5YjI2NjZjeHc7PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczoxMDAlIj48L2Rpdj53C2NvcmUvY29sdW1udwQxMDAldyQ0MTRlZGVkZC1jODgzLTQ5MTktOTU4ZS0wNmIzOTM1YTZmNzZ4d3A8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyBtYXJnaW4tbGVmdDoyMHB4OyBwYWRkaW5nLWJvdHRvbTogMDsiPkRhcyBWQUlBLU1vZGVsbDwvaDI+dwljb3JlL2h0bWx3cDxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmctYm90dG9tOiAwOyI+RGFzIFZBSUEtTW9kZWxsPC9oMj54dzw8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWdud2lkZSIgaWQ9InByYW56byI+Cgo8L2Rpdj53DGNvcmUvY29sdW1uc3h3BHdpZGV3BnByYW56b3ckYzEzNGZlODYtNDNmYi00MTc3LTliZWEtNTBkMmQxMzA1YTljeHc6PGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBzdHlsZT0iZmxleC1iYXNpczo1MCUiPjwvZGl2PncLY29yZS9jb2x1bW53AzUwJXckNWVmNjZiY2QtYWQ4Mi00ZGY1LTg3ZmYtMWMwYWQ0OWM3ZTQ3eHeSDTxkaXYgY2xhc3M9InZhaWEtbWlzc2lvbi1ibG9jayI+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPlLDvGNrZ2V3aW5udW5nIGRlciBSb2hzdG9mZmU8L3N0cm9uZz48YnI+CiAgICAgICAgRGllIGVyc3RlIFBoYXNlIGtvbnplbnRyaWVydCBzaWNoIGF1ZiBkaWUgUsO8Y2tnZXdpbm51bmcgZGVzIEhvbHplcywgZGFzIGR1cmNoIGRlbiBTdHVybSBWYWlhIHVuZCBoZXV0ZSBhdWNoIGR1cmNoIGRlbiBCb3JrZW5rw6RmZXIgYW5maWVsLiBKZWRlciBTdGFtbSB3aXJkIGF1c2dld8OkaGx0LCBrYXRhbG9naXNpZXJ0IHVuZCB2b3JiZXJlaXRldCwgd29kdXJjaCBlaW4gUHJvemVzcyBpbiBHYW5nIGdlc2V0enQgd2lyZCwgZGVyIGRlbiBTY2hhZGVuIGluIGVpbmUgUmVzc291cmNlIHZlcndhbmRlbHQuCiAgICA8L3A+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPkFrdGl2aWVydW5nIGxva2FsZXIgTGllZmVya2V0dGVuPC9zdHJvbmc+PGJyPgogICAgICAgIFdpciBhcmJlaXRlbiBhdXNzY2hsaWXDn2xpY2ggbWl0IEhhbmR3ZXJrZXJuIHVuZCBVbnRlcm5laG1lbiBpbiBkZW4gYmV0cm9mZmVuZW4gVMOkbGVybiB6dXNhbW1lbi4gRGllcyBnZXfDpGhybGVpc3RldCBuaWNodCBudXIgZGllIGjDtmNoc3RlIFF1YWxpdMOkdCBkZXIgVmVyYXJiZWl0dW5nLCBzb25kZXJuIGJlbGVidCBhdWNoIGRpZSBsb2thbGUgV2lydHNjaGFmdCB1bmQgZGFzIEdlbWVpbnNjaGFmdHNnZWbDvGhsIHdpZWRlci4KICAgIDwvcD4KCiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1yaWdodDogMTBweDsiPgogICAgICAgIDxzdHJvbmc+RGVzaWduIGRlciBWQUlBLU9iamVrdGU8L3N0cm9uZz48YnI+CiAgICAgICAgQXVzIGRlbSBiZXNjaMOkZGlndGVuIFJvaG1hdGVyaWFsIGVudHN0ZWhlbiBtaW5pbWFsaXN0aXNjaGUgdW5kIGJlZGV1dHVuZ3N2b2xsZSBEZXNpZ25vYmpla3RlLCBiZWkgZGVuZW4gZGVyIE1lbnNjaCBpbSBNaXR0ZWxwdW5rdCBzdGVodC4gSmVkZXMgU3TDvGNrIHRyw6RndCBkaWUgU3B1cmVuIGRlcyBTdHVybXMgaW4gc2ljaCB1bmQgbWFjaHQgZXMgenUgZWluZW0gU3ltYm9sIGbDvHIgV2lkZXJzdGFuZHNmw6RoaWdrZWl0IChSZXNpbGllbnopIHVuZCBTY2jDtm5oZWl0LgogICAgPC9wPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Sw7xja2dhYmUtIHVuZCBSZWdlbmVyYXRpb25zcHJvamVrdGU8L3N0cm9uZz48YnI+CiAgICAgICAgRGVyIEtyZWlzbGF1ZiBzY2hsaWXDn3Qgc2ljaCBtaXQgZGVyIFLDvGNrZ2FiZS4gRWluIFRlaWwgZGVzIEVybMO2c2VzIHdpcmQgaW4ga29ua3JldGUgQXVmZm9yc3R1bmdzLSB1bmQgUmVnZW5lcmF0aW9uc3Byb2pla3RlIGRlcyBHZWJpZXRzIHJlaW52ZXN0aWVydCwgd29kdXJjaCBkaWUgZHVyY2ggZGVuIFN0dXJtIGhpbnRlcmxhc3NlbmVuIFd1bmRlbiBnZWhlaWx0IHdlcmRlbi4gRsO8ciBqZWRlcyB2ZXJrYXVmdGUgUHJvZHVrdCB3aXJkIGVpbiBCYXVtIGdlcGZsYW56dCBvZGVyIGVpbiBHbGV0c2NoZXIgZ2VyZWluaWd0LgogICAgPC9wPgoKPC9kaXY+dwljb3JlL2h0bWx3kg08ZGl2IGNsYXNzPSJ2YWlhLW1pc3Npb24tYmxvY2siPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Sw7xja2dld2lubnVuZyBkZXIgUm9oc3RvZmZlPC9zdHJvbmc+PGJyPgogICAgICAgIERpZSBlcnN0ZSBQaGFzZSBrb256ZW50cmllcnQgc2ljaCBhdWYgZGllIFLDvGNrZ2V3aW5udW5nIGRlcyBIb2x6ZXMsIGRhcyBkdXJjaCBkZW4gU3R1cm0gVmFpYSB1bmQgaGV1dGUgYXVjaCBkdXJjaCBkZW4gQm9ya2Vua8OkZmVyIGFuZmllbC4gSmVkZXIgU3RhbW0gd2lyZCBhdXNnZXfDpGhsdCwga2F0YWxvZ2lzaWVydCB1bmQgdm9yYmVyZWl0ZXQsIHdvZHVyY2ggZWluIFByb3plc3MgaW4gR2FuZyBnZXNldHp0IHdpcmQsIGRlciBkZW4gU2NoYWRlbiBpbiBlaW5lIFJlc3NvdXJjZSB2ZXJ3YW5kZWx0LgogICAgPC9wPgoKICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyI+CiAgICAgICAgPHN0cm9uZz5Ba3RpdmllcnVuZyBsb2thbGVyIExpZWZlcmtldHRlbjwvc3Ryb25nPjxicj4KICAgICAgICBXaXIgYXJiZWl0ZW4gYXVzc2NobGllw59saWNoIG1pdCBIYW5kd2Vya2VybiB1bmQgVW50ZXJuZWhtZW4gaW4gZGVuIGJldHJvZmZlbmVuIFTDpGxlcm4genVzYW1tZW4uIERpZXMgZ2V3w6RocmxlaXN0ZXQgbmljaHQgbnVyIGRpZSBow7ZjaHN0ZSBRdWFsaXTDpHQgZGVyIFZlcmFyYmVpdHVuZywgc29uZGVybiBiZWxlYnQgYXVjaCBkaWUgbG9rYWxlIFdpcnRzY2hhZnQgdW5kIGRhcyBHZW1laW5zY2hhZnRzZ2Vmw7xobCB3aWVkZXIuCiAgICA8L3A+CgogICAgPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7Ij4KICAgICAgICA8c3Ryb25nPkRlc2lnbiBkZXIgVkFJQS1PYmpla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIEF1cyBkZW0gYmVzY2jDpGRpZ3RlbiBSb2htYXRlcmlhbCBlbnRzdGVoZW4gbWluaW1hbGlzdGlzY2hlIHVuZCBiZWRldXR1bmdzdm9sbGUgRGVzaWdub2JqZWt0ZSwgYmVpIGRlbmVuIGRlciBNZW5zY2ggaW0gTWl0dGVscHVua3Qgc3RlaHQuIEplZGVzIFN0w7xjayB0csOkZ3QgZGllIFNwdXJlbiBkZXMgU3R1cm1zIGluIHNpY2ggdW5kIG1hY2h0IGVzIHp1IGVpbmVtIFN5bWJvbCBmw7xyIFdpZGVyc3RhbmRzZsOkaGlna2VpdCAoUmVzaWxpZW56KSB1bmQgU2Now7ZuaGVpdC4KICAgIDwvcD4KCiAgICA8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHg7IG1hcmdpbi1yaWdodDogMTBweDsiPgogICAgICAgIDxzdHJvbmc+UsO8Y2tnYWJlLSB1bmQgUmVnZW5lcmF0aW9uc3Byb2pla3RlPC9zdHJvbmc+PGJyPgogICAgICAgIERlciBLcmVpc2xhdWYgc2NobGllw590IHNpY2ggbWl0IGRlciBSw7xja2dhYmUuIEVpbiBUZWlsIGRlcyBFcmzDtnNlcyB3aXJkIGluIGtvbmtyZXRlIEF1ZmZvcnN0dW5ncy0gdW5kIFJlZ2VuZXJhdGlvbnNwcm9qZWt0ZSBkZXMgR2ViaWV0cyByZWludmVzdGllcnQsIHdvZHVyY2ggZGllIGR1cmNoIGRlbiBTdHVybSBoaW50ZXJsYXNzZW5lbiBXdW5kZW4gZ2VoZWlsdCB3ZXJkZW4uIEbDvHIgamVkZXMgdmVya2F1ZnRlIFByb2R1a3Qgd2lyZCBlaW4gQmF1bSBnZXBmbGFuenQgb2RlciBlaW4gR2xldHNjaGVyIGdlcmVpbmlndC4KICAgIDwvcD4KCjwvZGl2PnckNzg4OTliY2UtYmUzMC00NTNkLTk5N2QtOWM4OTI3YWFmZDk4eHcjPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48L2Rpdj53C2NvcmUvY29sdW1udyQ5Nzk0OTM0Zi03NDc0LTQyMGItODJhZi0xY2I5ODEwZWI3MzJ4dyQ8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIj48L2Rpdj53DGNvcmUvY29sdW1uc3h3JDRmNzRlMzVhLTY1OTYtNDAwNi04Y2Y4LTM2MzJmOWQ2ZTA5ZHh3IzxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PC9kaXY+dwtjb3JlL2NvbHVtbnckZGUwZTQzMWQtM2M0NC00Nzk1LWFhMjItM2UwOTNmMTNmZjA0eHeGCzxkaXYgY2xhc3M9InNsaWRlc2hvdy1jb250YWluZXIiPgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlMSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGUyIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTMiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlNCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGU1Ij48L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci5zbGlkZXNob3ctY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiA2MDBweDsKICBhc3BlY3QtcmF0aW86IDEgLyAxOyAvKiBxdWFkcmF0byAqLwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwIGF1dG87Cn0KCi5zbGlkZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDowOyBsZWZ0OjA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIG9wYWNpdHk6IDA7CiAgYW5pbWF0aW9uOiBmYWRlIDE2cyBpbmZpbml0ZTsKfQoKLyogaW1wb3N0YSBsZSBpbW1hZ2luaSAqLwouc2xpZGUxIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS0xLmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDBzOyB9Ci5zbGlkZTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTIuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogNHM7IH0KLnNsaWRlMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtMy5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiA0czsgfQouc2xpZGU0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS00LmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDhzOyB9Ci5zbGlkZTUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTUuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogMTJzOyB9CgoKQGtleWZyYW1lcyBmYWRlIHsKICAwJSB7IG9wYWNpdHk6IDA7IH0KICA2LjI1JSB7IG9wYWNpdHk6IDE7IH0gIC8qIGZhZGUtaW4gKi8KICAyNSUgeyBvcGFjaXR5OiAxOyB9ICAgIC8qIHZpc2liaWxlICovCiAgMzEuMjUlIHsgb3BhY2l0eTogMDsgfSAvKiBmYWRlLW91dCAqLwogIDEwMCUgeyBvcGFjaXR5OiAwOyB9Cn0KPC9zdHlsZT53CWNvcmUvaHRtbHeGCzxkaXYgY2xhc3M9InNsaWRlc2hvdy1jb250YWluZXIiPgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlMSI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGUyIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJzbGlkZSBzbGlkZTMiPjwvZGl2PgogIDxkaXYgY2xhc3M9InNsaWRlIHNsaWRlNCI+PC9kaXY+CiAgPGRpdiBjbGFzcz0ic2xpZGUgc2xpZGU1Ij48L2Rpdj4KPC9kaXY+Cgo8c3R5bGU+Ci5zbGlkZXNob3ctY29udGFpbmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7CiAgbWF4LXdpZHRoOiA2MDBweDsKICBhc3BlY3QtcmF0aW86IDEgLyAxOyAvKiBxdWFkcmF0byAqLwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwIGF1dG87Cn0KCi5zbGlkZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDowOyBsZWZ0OjA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIG9wYWNpdHk6IDA7CiAgYW5pbWF0aW9uOiBmYWRlIDE2cyBpbmZpbml0ZTsKfQoKLyogaW1wb3N0YSBsZSBpbW1hZ2luaSAqLwouc2xpZGUxIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS0xLmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDBzOyB9Ci5zbGlkZTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTIuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogNHM7IH0KLnNsaWRlMyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMS9Nb2RlbGxvSFBfREUtMy5qcGcnKTsgYW5pbWF0aW9uLWRlbGF5OiA0czsgfQouc2xpZGU0IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL01vZGVsbG9IUF9ERS00LmpwZycpOyBhbmltYXRpb24tZGVsYXk6IDhzOyB9Ci5zbGlkZTUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTEvTW9kZWxsb0hQX0RFLTUuanBnJyk7IGFuaW1hdGlvbi1kZWxheTogMTJzOyB9CgoKQGtleWZyYW1lcyBmYWRlIHsKICAwJSB7IG9wYWNpdHk6IDA7IH0KICA2LjI1JSB7IG9wYWNpdHk6IDE7IH0gIC8qIGZhZGUtaW4gKi8KICAyNSUgeyBvcGFjaXR5OiAxOyB9ICAgIC8qIHZpc2liaWxlICovCiAgMzEuMjUlIHsgb3BhY2l0eTogMDsgfSAvKiBmYWRlLW91dCAqLwogIDEwMCUgeyBvcGFjaXR5OiAwOyB9Cn0KPC9zdHlsZT54d0o8ZGl2IHN0eWxlPSJoZWlnaHQ6NTZweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BDU2cHh4dy48ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIGFsaWdud2lkZSI+PC9kaXY+dwxjb3JlL2NvbHVtbnN4dwR3aWRldyQ3NmJhMGIzMi01OTNlLTQ4NjAtYTM2Yi0wN2Y3NzdlNjQ2MmZ4dzs8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjEwMCUiPjwvZGl2PncLY29yZS9jb2x1bW53BDEwMCV3JDViODk4NTZhLTUwMTUtNGU4Ni1iN2VlLTA5MjcyOTE5MmNkMnh3OzxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U2luZCBTaWUgZWluIFVudGVybmVobWVuPzwvaDI+dwxjb3JlL2hlYWRpbmd9Anh31ww8IS0tIEhUTUwgLS0+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC92YWlhLWZ1ZXItZmlybWVuLyIgY2xhc3M9InZhaWEtbGluay1hemllbmRlIj4KICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3ZlciBhbGlnbndpZGUgdmFpYS1jb3Zlci1ob3Zlci1hemllbmRlIj4KICAgIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWF6aWVuZGUiCiAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDEvMTI4MHg2MDBfY2xpdmV0LTEuanBnJyk7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7Ij4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItYXppZW5kZSI+CiAgICAgIDxoMSBjbGFzcz0idmFpYS10aXRsZS1hemllbmRlIj5TY2hhZmZlbiBTaWUgV2VydGUgbWl0IHVuczwvaDE+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9hPgoKPCEtLSBDU1MgLS0+CjxzdHlsZT4KLnZhaWEtbGluay1hemllbmRlIHsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgZGlzcGxheTogYmxvY2s7Cn0KCi52YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIGRpc3BsYXk6IGJsb2NrOwogIGhlaWdodDogNDAwcHg7Cn0KCi8qIGltbWFnaW5lIGRpIHNmb25kbyAqLwoud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtYXppZW5kZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGluc2V0OiAwOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC42cyBlYXNlLCB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIHotaW5kZXg6IDA7Cn0KCi8qIGNvbnRlbml0b3JlIGNlbnRyYWxlICovCi53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWF6aWVuZGUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAyOwogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBoZWlnaHQ6IDEwMCU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgovKiB0aXRvbG8gKi8KLnZhaWEtdGl0bGUtYXppZW5kZSB7CiAgbWFyZ2luOiAwOwogIGNvbG9yOiB3aGl0ZTsKICBmb250LXNpemU6IDRyZW07CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4xOwogIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwp9CgovKiBlZmZldHRvIGhvdmVyICovCi52YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGU6aG92ZXIgLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWF6aWVuZGUgewogIGZpbHRlcjogYnJpZ2h0bmVzcygxLjE1KTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwp9CgoudmFpYS1jb3Zlci1ob3Zlci1hemllbmRlOmhvdmVyIC52YWlhLXRpdGxlLWF6aWVuZGUgewogIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7Cn0KPC9zdHlsZT53CWNvcmUvaHRtbHfXDDwhLS0gSFRNTCAtLT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L3ZhaWEtZnVlci1maXJtZW4vIiBjbGFzcz0idmFpYS1saW5rLWF6aWVuZGUiPgogIDxkaXYgY2xhc3M9IndwLWJsb2NrLWNvdmVyIGFsaWdud2lkZSB2YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGUiPgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtYXppZW5kZSIKICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wMS8xMjgweDYwMF9jbGl2ZXQtMS5qcGcnKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsiPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lci1hemllbmRlIj4KICAgICAgPGgxIGNsYXNzPSJ2YWlhLXRpdGxlLWF6aWVuZGUiPlNjaGFmZmVuIFNpZSBXZXJ0ZSBtaXQgdW5zPC9oMT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L2E+Cgo8IS0tIENTUyAtLT4KPHN0eWxlPgoudmFpYS1saW5rLWF6aWVuZGUgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKfQoKLnZhaWEtY292ZXItaG92ZXItYXppZW5kZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiA0MDBweDsKfQoKLyogaW1tYWdpbmUgZGkgc2ZvbmRvICovCi53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZC1hemllbmRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaW5zZXQ6IDA7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogIHRyYW5zaXRpb246IGZpbHRlciAwLjZzIGVhc2UsIHRyYW5zZm9ybSAwLjZzIGVhc2U7CiAgei1pbmRleDogMDsKfQoKLyogY29udGVuaXRvcmUgY2VudHJhbGUgKi8KLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItYXppZW5kZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIGhlaWdodDogMTAwJTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi8qIHRpdG9sbyAqLwoudmFpYS10aXRsZS1hemllbmRlIHsKICBtYXJnaW46IDA7CiAgY29sb3I6IHdoaXRlOwogIGZvbnQtc2l6ZTogNHJlbTsKICBmb250LXdlaWdodDogNzAwOwogIGxpbmUtaGVpZ2h0OiAxLjE7CiAgdGV4dC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7Cn0KCi8qIGVmZmV0dG8gaG92ZXIgKi8KLnZhaWEtY292ZXItaG92ZXItYXppZW5kZTpob3ZlciAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtYXppZW5kZSB7CiAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMTUpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KCi52YWlhLWNvdmVyLWhvdmVyLWF6aWVuZGU6aG92ZXIgLnZhaWEtdGl0bGUtYXppZW5kZSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsKfQo8L3N0eWxlPnh3JDxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbnMiPjwvZGl2PncMY29yZS9idXR0b25zdgMEdHlwZXcEZmxleA5qdXN0aWZ5Q29udGVudHcGY2VudGVyEXZlcnRpY2FsQWxpZ25tZW50dwN0b3B3JDBkNzY1ZjJkLWMwMDEtNGI1Mi1hM2EwLTc3ZDhlOGI3Nzg5ZHh3tAE8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b24gaXMtc3R5bGUtb3V0bGluZSI+PGEgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbl9fbGluayB3cC1lbGVtZW50LWJ1dHRvbiIgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9kZS9wcm9qZWN0L3ZhaWEtZnVlci1maXJtZW4vIj5FcmZhaHJlbiBTaWUgbWVocjwvYT48L2Rpdj53C2NvcmUvYnV0dG9udwFhdwZidXR0b253MGh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvcHJvamVjdC92YWlhLWZ1ZXItZmlybWVuL3cQaXMtc3R5bGUtb3V0bGluZXYBCmRpbWVuc2lvbnN2AQV3aWR0aHcDNzUleHdLPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncFMTAwcHh4d6YNPCEtLSBIVE1MIC0tPgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3dlci13aXItc2luZC8iIGNsYXNzPSJ2YWlhLWxpbmstY2hpLXNpYW1vIj4KICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3ZlciBhbGlnbndpZGUgdmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW8iPgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL0NoaS1zaWFtby1uby10ZXh0LmpwZycpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTUlOyI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWNoaS1zaWFtbyI+CiAgICAgIDxoMSBjbGFzcz0idmFpYS10aXRsZS1jaGktc2lhbW8iPldlciB3aXIgc2luZDwvaDE+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9hPgoKPCEtLSBDU1MgLS0+CjxzdHlsZT4KLnZhaWEtbGluay1jaGktc2lhbW8gewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDUwMHB4Owp9CgovKiBpbW1hZ2luZSBkaSBzZm9uZG8gKi8KLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWNoaS1zaWFtbyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGluc2V0OiAwOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB6LWluZGV4OiAwOwp9CgovKiBjb250ZW5pdG9yZSB0ZXN0byBpbiBhbHRvIGEgc2luaXN0cmEgKi8KLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICBoZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMnJlbSAzcmVtOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi8qIHRpdG9sbyAqLwoudmFpYS10aXRsZS1jaGktc2lhbW8gewogIG1hcmdpbjogMDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC1zaXplOiAzLjVyZW07CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4xOwogIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwp9CgovKiBlZmZldHRvIGhvdmVyICovCi52YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbzpob3ZlciAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIHsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vOmhvdmVyIC52YWlhLXRpdGxlLWNoaS1zaWFtbyB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQo8L3N0eWxlPncJY29yZS9odG1sd6YNPCEtLSBIVE1MIC0tPgo8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3dlci13aXItc2luZC8iIGNsYXNzPSJ2YWlhLWxpbmstY2hpLXNpYW1vIj4KICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3ZlciBhbGlnbndpZGUgdmFpYS1jb3Zlci1ob3Zlci1jaGktc2lhbW8iPgogICAgPGRpdiBjbGFzcz0id3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzExL0NoaS1zaWFtby1uby10ZXh0LmpwZycpOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTUlOyI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLWNoaS1zaWFtbyI+CiAgICAgIDxoMSBjbGFzcz0idmFpYS10aXRsZS1jaGktc2lhbW8iPldlciB3aXIgc2luZDwvaDE+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9hPgoKPCEtLSBDU1MgLS0+CjxzdHlsZT4KLnZhaWEtbGluay1jaGktc2lhbW8gewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBkaXNwbGF5OiBibG9jazsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDUwMHB4Owp9CgovKiBpbW1hZ2luZSBkaSBzZm9uZG8gKi8KLndwLWJsb2NrLWNvdmVyX19pbWFnZS1iYWNrZ3JvdW5kLWNoaS1zaWFtbyB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGluc2V0OiAwOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsKICB6LWluZGV4OiAwOwp9CgovKiBjb250ZW5pdG9yZSB0ZXN0byBpbiBhbHRvIGEgc2luaXN0cmEgKi8KLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXItY2hpLXNpYW1vIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMjsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICBoZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMnJlbSAzcmVtOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi8qIHRpdG9sbyAqLwoudmFpYS10aXRsZS1jaGktc2lhbW8gewogIG1hcmdpbjogMDsKICBjb2xvcjogd2hpdGU7CiAgZm9udC1zaXplOiAzLjVyZW07CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBsaW5lLWhlaWdodDogMS4xOwogIHRleHQtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwp9CgovKiBlZmZldHRvIGhvdmVyICovCi52YWlhLWNvdmVyLWhvdmVyLWNoaS1zaWFtbzpob3ZlciAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQtY2hpLXNpYW1vIHsKICBmaWx0ZXI6IGJyaWdodG5lc3MoMS4xNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQoKLnZhaWEtY292ZXItaG92ZXItY2hpLXNpYW1vOmhvdmVyIC52YWlhLXRpdGxlLWNoaS1zaWFtbyB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQo8L3N0eWxlPnh3SzxkaXYgc3R5bGU9ImhlaWdodDoxMDBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BTEwMHB4eHfdATxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWVtYmVkIGFsaWduZnVsbCBpcy10eXBlLXZpZGVvIGlzLXByb3ZpZGVyLXlvdXR1YmUgd3AtYmxvY2stZW1iZWQteW91dHViZSB3cC1lbWJlZC1hc3BlY3QtMTYtOSB3cC1oYXMtYXNwZWN0LXJhdGlvIj48ZGl2IGNsYXNzPSJ3cC1ibG9jay1lbWJlZF9fd3JhcHBlciI+Cmh0dHBzOi8veW91dHUuYmUvVnl6N0sxOWlfTGMKPC9kaXY+PC9maWd1cmU+dwpjb3JlL2VtYmVkdxxodHRwczovL3lvdXR1LmJlL1Z5ejdLMTlpX0xjdwV2aWRlb3cHeW91dHViZXh4eHcEZnVsbHcod3AtZW1iZWQtYXNwZWN0LTE2LTkgd3AtaGFzLWFzcGVjdC1yYXRpb3h3SzxkaXYgc3R5bGU9ImhlaWdodDoxMDBweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BTEwMHB4eHeUATxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgaGFzLWJhY2tncm91bmQiIGlkPSJwcmFuem8iIHN0eWxlPSJiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiKDI1MiwxODUsMCkgMTAwJSxyZ2IoMjU1LDEwNSwwKSAxMDAlKSI+Cgo8L2Rpdj53DGNvcmUvY29sdW1uc3h2AQVjb2xvcnYBCGdyYWRpZW50dz9saW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSl3BnByYW56b3ckMTFhNWFiN2QtYTQwOC00MTIwLTk3NGEtMGU4ZjEyYTVmYzg1eHcrPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCgoKCgoKCjwvZGl2PncLY29yZS9jb2x1bW53JDM4NWU2MjczLWRkMzAtNDdmYi1hMDAwLTE2NGM1ZjdmMzE1M3h3SjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncENTBweHckYTQ3NTEwYTktZmZmNC00MzkzLTllNDAtMzlhYWEwM2Q5MGUyeHc3PGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5VbnNlcmUgRWluemVsaMOkbmRsZXI8L2gyPncMY29yZS9oZWFkaW5nfQJ3JDBlNDUyYjE2LTM0ZDAtNDZjMy1hYTVjLWY4ZTc1Y2YzOGRlY3h3UTxwPk3DtmNodGVuIFNpZSBkaWUgUHJvZHVrdGUgaW0gTGFkZW4ga2F1ZmVuPyBFbnRkZWNrZW4gU2llIHVuc2VyZW4gSMOkbmRsZXIhPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQ0YWQxYWJmZS05ZGNjLTRkOWItYTQ4Yi0zOTNkODUxM2IwMWF4dyQ8ZGl2IGNsYXNzPSJ3cC1ibG9jay1idXR0b25zIj48L2Rpdj53DGNvcmUvYnV0dG9uc3ckZDczZGVjYmEtNWU1MS00NDFjLThmNDktNGYwYTA4ZGJhOTc2eHebAjxkaXYgY2xhc3M9IndwLWJsb2NrLWJ1dHRvbiBpcy1zdHlsZS1vdXRsaW5lIj48YSBjbGFzcz0id3AtYmxvY2stYnV0dG9uX19saW5rIGhhcy1iYWNrZ3JvdW5kIHdwLWVsZW1lbnQtYnV0dG9uIiBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2RlL3ZhaWEtYW1iYXNzYWRvcnMvIiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSkiPlp1ciBlbnRzcHJlY2hlbmRlbiBTZWl0ZSBnZWhlbjwvYT48L2Rpdj53C2NvcmUvYnV0dG9udwFhdwZidXR0b253KGh0dHBzOi8vd3d3LnZhaWEuZXUvZGUvdmFpYS1hbWJhc3NhZG9ycy93EGlzLXN0eWxlLW91dGxpbmV2AQVjb2xvcnYBCGdyYWRpZW50dz9saW5lYXItZ3JhZGllbnQoMTM1ZGVnLHJnYigyNTIsMTg1LDApIDEwMCUscmdiKDI1NSwxMDUsMCkgMTAwJSl3JGEyYWY0ODI4LTMxN2UtNDE5Mi04YjJlLWM4Y2UzYTc4OTBhZXh3SjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncENTBweHckOTVlYjA2N2MtZWJjNC00ZjBiLWI0N2ItZDJjMzE5YjU2YWQxeHclPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj4KCjwvZGl2PncLY29yZS9jb2x1bW53JDRlZDcwZDFhLTY3MTItNDRkYS05ODFhLTIwNTk4OTMzYmYyM3h3SjxkaXYgc3R5bGU9ImhlaWdodDo1MHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncENTBweHckNTJlYWZiYzYtODZhZS00NDBjLThmZTQtNWM3YWNhYmE1MDE1eHckPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1ucyI+PC9kaXY+dwxjb3JlL2NvbHVtbnN4dyRiMDhjNzJkMi1mZDhiLTQ4MjktYjg4ZS0yM2QwODkzMDI0MjZ4dz08ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW4iIHN0eWxlPSJmbGV4LWJhc2lzOjEwMCUiPgoKPC9kaXY+dwtjb3JlL2NvbHVtbncEMTAwJXckNTU1NzEzNWMtODY0Yy00MDE5LTk5ZTAtMTFiOWEwY2YyZjRkeHdsPGlmcmFtZSBzcmM9Imh0dHBzOi8vc25henp5bWFwcy5jb20vZW1iZWQvNjI5NzczIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0MDBweCIgc3R5bGU9ImJvcmRlcjpub25lOyI+PC9pZnJhbWU+dwljb3JlL2h0bWx3bDxpZnJhbWUgc3JjPSJodHRwczovL3NuYXp6eW1hcHMuY29tL2VtYmVkLzYyOTc3MyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iNDAwcHgiIHN0eWxlPSJib3JkZXI6bm9uZTsiPjwvaWZyYW1lPnckMjY1MzgxNDEtMzYwZS00YWZkLWJjMzktMDg0N2UzNGU1YWEzeHdKPGRpdiBzdHlsZT0iaGVpZ2h0OjUwcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0id3AtYmxvY2stc3BhY2VyIj48L2Rpdj53C2NvcmUvc3BhY2VydwQ1MHB4eHdLPGRpdiBzdHlsZT0iaGVpZ2h0OjEwMHB4IiBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9IndwLWJsb2NrLXNwYWNlciI+PC9kaXY+dwtjb3JlL3NwYWNlcncFMTAwcHh4dwB3CWFjZi9jYXJkc3cJYWNmL2NhcmRzdnoHaGVhZGluZ3cWRGFzIHNhZ3QgbWFuIMO8YmVyIHVucwhfaGVhZGluZ3cTZmllbGRfNWU0YWI3ZmQzYTJlZg9tYWludGl0bGUtY29sb3J3BnZpb2xldBBfbWFpbnRpdGxlLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAwCmJhY2tncm91bmR3C2xpZ2h0eWVsbG93C19iYWNrZ3JvdW5kdxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAxDHRpdGxlcy1jb2xvcncLdHJhbnNwYXJlbnQNX3RpdGxlcy1jb2xvcncWZmllbGRfNWU0YWI3ZmQzYTJlZl8wMg5jb250ZW50cy1jb2xvcncLdHJhbnNwYXJlbnQPX2NvbnRlbnRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzAzC2NhcmRzLWNvbG9ydwZ2aW9sZXQMX2NhcmRzLWNvbG9ydxZmaWVsZF81ZTRhYjdmZDNhMmVmXzA0D2NhcmRzXzBfaGVhZGluZ3cAEF9jYXJkc18wX2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfMF9jb250ZW50dwAQX2NhcmRzXzBfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc18wX2ltYWdlfYEzDl9jYXJkc18wX2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzBfbGluay10ZXh0dwASX2NhcmRzXzBfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc18wX2xpbmstdXJsd4QBaHR0cHM6Ly93d3cuY29ycmllcmUuaXQvY3JvbmFjaGUvMjFfb3R0b2JyZV8yOC9zdGFydC11cC1jaGUtcmlkYS12aXRhLWZvcmVzdGUtZmVyaXRlLXZhaWEtMDUxZjVkZTItMzgyYS0xMWVjLWI1N2QtMTg5OTAwZmY4ZjM2LnNodG1sEV9jYXJkc18wX2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc18wX2xpbmstY29sb3J3CXNlY29uZGFyeRNfY2FyZHNfMF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc18xX2hlYWRpbmd3ABBfY2FyZHNfMV9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzFfY29udGVudHcAEF9jYXJkc18xX2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfMV9pbWFnZX2+Mg5fY2FyZHNfMV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc18xX2xpbmstdGV4dHcAEl9jYXJkc18xX2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfMV9saW5rLXVybHdKaHR0cHM6Ly9mb3JiZXMuaXQvMjAyMC8wNy8wOC9zdGFydHVwLXZhaWEtYW1wbGlmaWNhdG9yZS10ZW1wZXN0YS11bmRlci0zMC8RX2NhcmRzXzFfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzFfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfMV9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc18yX2hlYWRpbmd3ABBfY2FyZHNfMl9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzJfY29udGVudHcAEF9jYXJkc18yX2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfMl9pbWFnZX24Mg5fY2FyZHNfMl9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc18yX2xpbmstdGV4dHcAEl9jYXJkc18yX2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfMl9saW5rLXVybHd4aHR0cHM6Ly93d3cucmVwdWJibGljYS5pdC9ncmVlbi1hbmQtYmx1ZS9kb3NzaWVyL3R1dHRpLXBlci1sYS10ZXJyYS8yMDIzLzA5LzE5L25ld3MvdmFpYS00MTQxMDQ5NTIvP3JlZj1SSFJNLUJHLVA1LVMxLVQxEV9jYXJkc18yX2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc18yX2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzJfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfM19oZWFkaW5ndwAQX2NhcmRzXzNfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc18zX2NvbnRlbnR3ABBfY2FyZHNfM19jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzNfaW1hZ2V9sjIOX2NhcmRzXzNfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfM19saW5rLXRleHR3ABJfY2FyZHNfM19saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzNfbGluay11cmx3cmh0dHBzOi8vc3RyZWFtMjQuaWxzb2xlMjRvcmUuY29tL3ZpZGVvL2l0YWxpYS9mb3Jlc3RhLWlubm92YXRvcmktMTAwMC1hbGJlcmktcGlhbnRhdGktcmlmb3Jlc3RhcmUtZG9sb21pdGkvQUZCQXRrMhFfY2FyZHNfM19saW5rLXVybHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDISY2FyZHNfM19saW5rLWNvbG9ydwdwcmltYXJ5E19jYXJkc18zX2xpbmstY29sb3J3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAzD2NhcmRzXzRfaGVhZGluZ3cAEF9jYXJkc180X2hlYWRpbmd3E2ZpZWxkXzVlMjk2NjVjNTdkNDAPY2FyZHNfNF9jb250ZW50dwAQX2NhcmRzXzRfY29udGVudHcTZmllbGRfNWUyOTY2NjI1N2Q0MQ1jYXJkc180X2ltYWdlfa8yDl9jYXJkc180X2ltYWdldxNmaWVsZF81ZTI5NjY2NzU3ZDQyEWNhcmRzXzRfbGluay10ZXh0dwASX2NhcmRzXzRfbGluay10ZXh0dxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMRBjYXJkc180X2xpbmstdXJsd6cBaHR0cHM6Ly93d3cudGdjb20yNC5tZWRpYXNldC5pdC8yMDIzL3ZpZGVvLy1zdHVkaW8tYXBlcnRvLW1hZy0tLW5leHQtZ2VuZXJhemlvbmUtZXVyb3BhLWd1YXJkYS1sYS1zZWNvbmRhLXB1bnRhdGEtc3UtaXN0cnV6aW9uZS1mb3JtYXppb25lLWUtcmljZXJjYV82MTY5OTU3MC0wMmsuc2h0bWwRX2NhcmRzXzRfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzRfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfNF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc181X2hlYWRpbmd3ABBfY2FyZHNfNV9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzVfY29udGVudHcAEF9jYXJkc181X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfNV9pbWFnZX27Mg5fY2FyZHNfNV9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc181X2xpbmstdGV4dHcAEl9jYXJkc181X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfNV9saW5rLXVybHdpaHR0cHM6Ly93d3cuZmF6Lm5ldC9ha3R1ZWxsL3RlY2huaWstbW90b3IvZnVlbmYtYW0tZnJlaXRhZy1yZWNoZW5iZWlzcGllbGUtMTg0MDMxNTEvcGx1cy0zMC0xODM5MTkwMi5odG1sEV9jYXJkc181X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc181X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzVfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfNl9oZWFkaW5ndwAQX2NhcmRzXzZfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc182X2NvbnRlbnR3ABBfY2FyZHNfNl9jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzZfaW1hZ2V9tTIOX2NhcmRzXzZfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfNl9saW5rLXRleHR3ABJfY2FyZHNfNl9saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzZfbGluay11cmx3UGh0dHBzOi8vdGcyNC5za3kuaXQvdGVjbm9sb2dpYS9ub3cvMjAyMS8wMy8xMS92YWlhLWNhc3NlLW11c2ljYWxpLWxlZ25vLXRlbXBlc3RhEV9jYXJkc182X2xpbmstdXJsdxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMhJjYXJkc182X2xpbmstY29sb3J3B3ByaW1hcnkTX2NhcmRzXzZfbGluay1jb2xvcncXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDMPY2FyZHNfN19oZWFkaW5ndwAQX2NhcmRzXzdfaGVhZGluZ3cTZmllbGRfNWUyOTY2NWM1N2Q0MA9jYXJkc183X2NvbnRlbnR3ABBfY2FyZHNfN19jb250ZW50dxNmaWVsZF81ZTI5NjY2MjU3ZDQxDWNhcmRzXzdfaW1hZ2V9hDMOX2NhcmRzXzdfaW1hZ2V3E2ZpZWxkXzVlMjk2NjY3NTdkNDIRY2FyZHNfN19saW5rLXRleHR3ABJfY2FyZHNfN19saW5rLXRleHR3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAxEGNhcmRzXzdfbGluay11cmx3YWh0dHBzOi8vd3d3LmNoaXAuZGUvbmV3cy9MYXV0c3ByZWNoZXItb2huZS1TdHJvbS11bmQtVGVjaG5pay1EYXMtaXN0LWRlci1WQUlBLUN1YmVfMTg0NDQ5NjUxLmh0bWwRX2NhcmRzXzdfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzdfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfN19saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMw9jYXJkc184X2hlYWRpbmd3ABBfY2FyZHNfOF9oZWFkaW5ndxNmaWVsZF81ZTI5NjY1YzU3ZDQwD2NhcmRzXzhfY29udGVudHcAEF9jYXJkc184X2NvbnRlbnR3E2ZpZWxkXzVlMjk2NjYyNTdkNDENY2FyZHNfOF9pbWFnZX2ucg5fY2FyZHNfOF9pbWFnZXcTZmllbGRfNWUyOTY2Njc1N2Q0MhFjYXJkc184X2xpbmstdGV4dHcAEl9jYXJkc184X2xpbmstdGV4dHcXZmllbGRfNWUyOTY2NWM1N2Q0MF8wMDEQY2FyZHNfOF9saW5rLXVybHdNaHR0cHM6Ly93d3cuZm9ydHVuZWl0YS5jb20vMjAyNC8wMi8xOC92YWlhLWN1YmUtaWwtbGVnbm8tY2hlLXZpc3NlLWR1ZS12b2x0ZS8RX2NhcmRzXzhfbGluay11cmx3F2ZpZWxkXzVlMjk2NjVjNTdkNDBfMDAyEmNhcmRzXzhfbGluay1jb2xvcncHcHJpbWFyeRNfY2FyZHNfOF9saW5rLWNvbG9ydxdmaWVsZF81ZTI5NjY1YzU3ZDQwXzAwMwVjYXJkc30JBl9jYXJkc3cTZmllbGRfNWUyOTY2NTA1N2QzZncAdwdwcmV2aWV3dyQ1MGJmMzdiOC1kMmE4LTQ1NzEtODdhMi0zM2QyMzY4MWFhYWF4d0o8ZGl2IHN0eWxlPSJoZWlnaHQ6ODFweCIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJ3cC1ibG9jay1zcGFjZXIiPjwvZGl2PncLY29yZS9zcGFjZXJ3BDgxcHh3JGI3ODJkMGVjLWZkMzAtNDE0MC04YmI2LTllNzZjMDk4ZWJkNHh3HDxkaXYgaWQ9ImZybS1tbHRjaG5sIj48L2Rpdj53CWNvcmUvaHRtbHccPGRpdiBpZD0iZnJtLW1sdGNobmwiPjwvZGl2PnckNDI5NzIwMzktNGFhYy00OTI0LTk5NDYtMDYzY2NiZmI5MjNkeHcHPHA+PC9wPncOY29yZS9wYXJhZ3JhcGh5A4zFzKgNAgEA1wFt\/MGapAsYAABlFgIBAQIDAgQCCAIEAuwBAgQCDAABAAQBAwIEAAEAIgEDAi8CBAI0AhUCagKhAQLho+PpAk0AANIkuwLuHsoc5tEBRiUAAQEBAQEeAQABAQEBARYBAAEBAQEBmwEBAAEBAQEBZAEAAQEBAQEPAQABAQECAS0BAAEBAQACAAEBAQEBKQEAAQEBAAIAAQEBAAEdAQABAQEAAgABAQEAAgABAQEAAgABAQEIAgABAQEAAgABAQECAeUBAQABAQEAAgABAQEDAgABAQEAAgABAQEAAgABAQEBARU=\",\"updateId\":751385824}","content-type":"","footnotes":""},"class_list":["post-38539","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VAIA | face what matters<\/title>\n<meta name=\"description\" content=\"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vaia.eu\/de\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VAIA | face what matters\" \/>\n<meta property=\"og:description\" content=\"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vaia.eu\/de\/\" \/>\n<meta property=\"og:site_name\" content=\"VAIA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/therealvaia\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-11T08:33:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/1920x1080_header-home.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/\",\"name\":\"VAIA | face what matters\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/HP_DesktopSettembre.jpg\",\"datePublished\":\"2025-11-03T10:55:46+00:00\",\"dateModified\":\"2026-06-11T08:33:09+00:00\",\"description\":\"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vaia.eu\\\/de\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/HP_DesktopSettembre.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/HP_DesktopSettembre.jpg\",\"width\":1920,\"height\":1080},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vaia.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"name\":\"VAIA - Face what matters\",\"description\":\"Face What Matters\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vaia.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\",\"name\":\"VAIA\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"width\":1000,\"height\":1000,\"caption\":\"VAIA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.instagram.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/vaiasrl\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCPtTJEh97yiEMm-vE_Ux3Aw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAIA | face what matters","description":"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vaia.eu\/de\/","og_locale":"de_DE","og_type":"article","og_title":"VAIA | face what matters","og_description":"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.","og_url":"https:\/\/www.vaia.eu\/de\/","og_site_name":"VAIA","article_publisher":"https:\/\/www.facebook.com\/therealvaia\/","article_modified_time":"2026-06-11T08:33:09+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/10\/1920x1080_header-home.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vaia.eu\/de\/","url":"https:\/\/www.vaia.eu\/de\/","name":"VAIA | face what matters","isPartOf":{"@id":"https:\/\/www.vaia.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vaia.eu\/de\/#primaryimage"},"image":{"@id":"https:\/\/www.vaia.eu\/de\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/09\/HP_DesktopSettembre.jpg","datePublished":"2025-11-03T10:55:46+00:00","dateModified":"2026-06-11T08:33:09+00:00","description":"Mehr als 42 Millionen B\u00e4ume wurden vom Sturm VAIA gef\u00e4llt. So entstand aus dem Holz dieser B\u00e4ume der Handyverst\u00e4rker VAIA Cube.","breadcrumb":{"@id":"https:\/\/www.vaia.eu\/de\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vaia.eu\/de\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.vaia.eu\/de\/#primaryimage","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/09\/HP_DesktopSettembre.jpg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2025\/09\/HP_DesktopSettembre.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.vaia.eu\/de\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vaia.eu\/de\/"},{"@type":"ListItem","position":2,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/www.vaia.eu\/#website","url":"https:\/\/www.vaia.eu\/","name":"VAIA - Face what matters","description":"Face What Matters","publisher":{"@id":"https:\/\/www.vaia.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vaia.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.vaia.eu\/#organization","name":"VAIA","url":"https:\/\/www.vaia.eu\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","width":1000,"height":1000,"caption":"VAIA"},"image":{"@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/therealvaia\/","https:\/\/www.instagram.com\/therealvaia\/","https:\/\/www.linkedin.com\/company\/vaiasrl\/","https:\/\/www.youtube.com\/channel\/UCPtTJEh97yiEMm-vE_Ux3Aw"]}]}},"_links":{"self":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/pages\/38539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/users\/336"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/comments?post=38539"}],"version-history":[{"count":20,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/pages\/38539\/revisions"}],"predecessor-version":[{"id":58260,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/pages\/38539\/revisions\/58260"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/media\/38718"}],"wp:attachment":[{"href":"https:\/\/www.vaia.eu\/de\/wp-json\/wp\/v2\/media?parent=38539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}