From 7df609fcf8476e844d6a24498a182b4274aaa48c Mon Sep 17 00:00:00 2001 From: asal sahami <asalsahami22@gmail.com> Date: Wed, 18 Sep 2024 13:07:24 +0200 Subject: [PATCH] fanzor --- .../models}/Fanzorviewer.glb | 0 src/components/Fanzorviewer.tsx | 1 - ....timestamp-1726657556925-28bfd7de5e211.mjs | 1027 +++++++++++++++++ 3 files changed, 1027 insertions(+), 1 deletion(-) rename {src/components => pubpub/models}/Fanzorviewer.glb (100%) create mode 100644 vite.config.js.timestamp-1726657556925-28bfd7de5e211.mjs diff --git a/src/components/Fanzorviewer.glb b/pubpub/models/Fanzorviewer.glb similarity index 100% rename from src/components/Fanzorviewer.glb rename to pubpub/models/Fanzorviewer.glb diff --git a/src/components/Fanzorviewer.tsx b/src/components/Fanzorviewer.tsx index 6e0ac6e8..9e1c4e6f 100644 --- a/src/components/Fanzorviewer.tsx +++ b/src/components/Fanzorviewer.tsx @@ -1,7 +1,6 @@ import React, { useEffect } from 'react'; import * as THREE from 'three'; import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader'; -//import fanzorModel from '/Users/sahamiasad/wiki.css/bielefeld-cebitec/pubpub/models/Fanzorviewer.glb'; const ProteinViewer: React.FC = () => { useEffect(() => { diff --git a/vite.config.js.timestamp-1726657556925-28bfd7de5e211.mjs b/vite.config.js.timestamp-1726657556925-28bfd7de5e211.mjs new file mode 100644 index 00000000..b6c3a4c3 --- /dev/null +++ b/vite.config.js.timestamp-1726657556925-28bfd7de5e211.mjs @@ -0,0 +1,1027 @@ +// vite.config.js +import { defineConfig, loadEnv } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/vite/dist/node/index.js"; +import react from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/@vitejs/plugin-react/dist/index.mjs"; + +// src/components/FadeIn.tsx +import { useEffect, useRef, useState } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { Fragment, jsx, jsxs } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/Home.tsx +import { jsx as jsx2, jsxs as jsxs2 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/team.tsx +import { useEffect as useEffect2 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/components/Headings.tsx +import { jsx as jsx3, jsxs as jsxs3 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/team.tsx +import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs4 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/attributions.tsx +import { useEffect as useEffect3 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs5 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/contribution.tsx +import { useEffect as useEffect5 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation3 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/components/Buttons.tsx +import { Link } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs6 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/VerticalTimeline.tsx +import { jsx as jsx7, jsxs as jsxs7 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Slider.tsx +import Slider from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-slick/lib/index.js"; +import { Fragment as Fragment5, jsx as jsx8 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/BFH-Timeline.tsx +import { Fragment as Fragment6, jsx as jsx9, jsxs as jsxs8 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Photo-grid.tsx +import { jsx as jsx10 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Pdfs.tsx +import { Fragment as Fragment7, jsx as jsx11, jsxs as jsxs9 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Quotes.tsx +import { jsx as jsx12, jsxs as jsxs10 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Tabs.tsx +import { Fragment as Fragment8, jsx as jsx13, jsxs as jsxs11 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/utils/TabNavigation.tsx +import { useEffect as useEffect4 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation2 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/contents/contribution.tsx +import { Fragment as Fragment9, jsx as jsx14, jsxs as jsxs12 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/description.tsx +import { useLocation as useLocation5 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/components/Boxes.tsx +import { jsx as jsx15, jsxs as jsxs13 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Collapsible.tsx +import { useEffect as useEffect6, useState as useState2 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation4 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment10, jsx as jsx16, jsxs as jsxs14 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/utils/goto.ts +var goTo = (el) => { + const elementRect = el.getBoundingClientRect(); + const elementTop = elementRect.top + window.pageYOffset; + const viewportHeight = window.innerHeight; + const middlePosition = elementTop - (viewportHeight / 5 - el.offsetHeight / 2); + window.scrollTo({ + top: middlePosition, + behavior: "smooth" + }); +}; + +// src/components/ScrollLink.tsx +import { jsx as jsx17 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; +var ScrollLinkWithChild = ({ targetId, children }) => { + const handleClick = () => { + const targetElement = document.getElementById(targetId); + if (targetElement) { + goTo(targetElement); + } + }; + return /* @__PURE__ */ jsx17("a", { onClick: handleClick, children }); +}; + +// src/components/Loremipsum.tsx +import { Fragment as Fragment11, jsx as jsx18 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Shapes.tsx +import { jsx as jsx19 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Svgs.tsx +import { Fragment as Fragment12, jsx as jsx20, jsxs as jsxs15 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/description.tsx +import { useEffect as useEffect7 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; + +// src/components/Graph.tsx +import { Pie } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; +import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; +import { jsx as jsx21 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; +ChartJS.register(ArcElement, Tooltip, Legend); + +// src/contents/description.tsx +import { jsx as jsx22, jsxs as jsxs16 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/sidebars/descS.tsx +import { useEffect as useEffect8 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { jsx as jsx23, jsxs as jsxs17 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/engineering.tsx +import { useEffect as useEffect9 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation6 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment13, jsx as jsx24, jsxs as jsxs18 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/experiments.tsx +import { useEffect as useEffect10 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation7 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment14, jsx as jsx25 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/notebook.tsx +import { useEffect as useEffect11 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation8 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment15, jsx as jsx26, jsxs as jsxs19 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/results.tsx +import { useEffect as useEffect12 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation9 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment16, jsx as jsx27, jsxs as jsxs20 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/safety.tsx +import { useEffect as useEffect13 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation10 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment17, jsx as jsx28, jsxs as jsxs21 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/human-practices.tsx +import { useEffect as useEffect14 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation11 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/utils/useNavigation.ts +import { useNavigate } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; + +// src/components/data/hptimelinedata.tsx +import { Fragment as Fragment18, jsx as jsx29, jsxs as jsxs22 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; +var pics = { + placeholder: "https://static.igem.wiki/teams/5247/placeholders/placehilderperson.jpeg", + max: "https://static.igem.wiki/teams/5247/photos/hp/hp-max-portrait.jpg", + kristian: "https://static.igem.wiki/teams/5247/photos/hp/kristian.jpeg", + olariu: "https://static.igem.wiki/teams/5247/photos/hp/olariu-cristian.jpg", + westhoff: "https://static.igem.wiki/teams/5247/photos/hp/hp-katrin-portrait.jpg", + mattijs: "https://static.igem.wiki/teams/5247/photos/hp/mattijs.jpg", + julia: "https://static.igem.wiki/teams/5247/photos/hp/julia.jpg", + kolonko: "https://static.igem.wiki/teams/5247/photos/hp/kolonko-neu.jpg", + svenja: "https://static.igem.wiki/teams/5247/placeholders/placehilderperson.jpeg", + berens: "https://static.igem.wiki/teams/5247/photos/hp/berens.jpg", + draeger: "https://static.igem.wiki/teams/5247/photos/hp/oliver-draeger-patch-clamp.jpeg", + winkeljann: "https://static.igem.wiki/teams/5247/photos/hp/rnhale-winkeljann.jpg", + kuehnel: "https://static.igem.wiki/teams/5247/photos/hp/hp-philippk-hnel.jpeg " +}; +var timelinedata = [ + { + vorname: "Building the team", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + heading: "Development of a multidisciplinary team structure", + interviewtabid: "recruiting", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + vorname: "Pitching ideas", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + heading: "Getting Acquainted with Cystic Fibrosis", + interviewtabid: "firstpresi", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + vorname: "Ideation", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + heading: "Brainstorming and selection of ideas and concepts", + interviewtabid: "ideas", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + title: "Prof. Dr.", + vorname: "Kristian", + nachnname: "M\xFCller", + job: "Research Group Cellular and Molecular Biotechnology", + pictureurl: pics["kristian"], + tag: "Academia", + heading: "", + interviewtabid: "kristian", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Max", + nachnname: "Beckmann", + job: "Bielefeld University", + pictureurl: pics["max"], + tag: "Patient", + heading: "Gathering valuable insights from the patient\u2019s perspective", + interviewtabid: "maxfirst", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + title: "XXX", + vorname: "Christoph", + nachnname: "Weber", + job: "", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "Feedback Session with Expert", + interviewtabid: "weber", + cardtext: "", + language: "en", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Exploring new ideas", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + affiliation: "", + heading: "Further brainstorming on approaches", + interviewtabid: "brainstorming", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + title: "Dr.", + vorname: "Michaela", + nachnname: "Bienert", + job: " Scientific Sales Representative for Cell Culture Products", + affiliation: "Stemcell", + pictureurl: pics["placeholder"], + tag: "Industry", + heading: "Determining the optimal cell media for experimentation", + interviewtabid: "michaela", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Looking for expertise", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + heading: "Identifying key experts in cystic fibrosis and prime editing", + interviewtabid: "experts", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + vorname: "Documenting progress", + nachnname: "", + pictureurl: pics["placeholder"], + tag: "Other", + heading: "Tracking progress in expert search and idea development", + interviewtabid: "progress", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + type: "meta" + }, + { + vorname: "Katrin", + nachnname: "Westhoff", + job: "Physiotherapist", + affiliation: "Independent", + pictureurl: pics["westhoff"], + tag: "Medical Professional", + heading: "Interview with a specialized physiotherapist regarding breathing therapy for cystic fibrosis patients", + interviewtabid: "westhoffinv", + cardtext: "", + language: "de", + quote: "The more we know, the more opportunities we have.", + aimofcontact: "The objective of the contact was to gain in-depth insights into the treatment and care of children with cystic fibrosis. The therapist's expertise was intended to help develop a better understanding of the challenges and necessary measures in the treatment of this chronic disease. In addition, the aim was to ascertain how the therapy is implemented in everyday life and which specific approaches and methods are particularly effective.", + insights: "The interview yielded valuable insights into the regular implementation of the therapy, the use of aids and the adaptation of exercises to the individual needs of the patients. It was notable that the therapy has improved considerably thanks to better medication and adapted exercises, with a concomitant increase in life expectancy for children affected by cystic fibrosis. Of particular interest was the emphasis on the importance of sport and exercise, which should not only be therapeutically effective, but also increase quality of life. ", + implementation: "The following statement by Katrin Westhoff had a particularly profound impact on our project: 'The more we know, the more opportunities we have.' We learned from the interview that the current medication is already helping many patients to a huge extent, but that there is still a significant opportunity for improvement. After all, successful gene therapy would markedly enhance the quality of life for those affected. The findings of this project will be disseminated to the relevant researchers in order to facilitate the rapid improvement of the quality of life of all cystic fibrosis patients, regardless of their mutation. ", + pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/katrin-westhoff-zoom.webp" + }, + { + vorname: "Cristian-Gabriel", + nachnname: "Olariu", + job: "pediatrician", + affiliation: "OWL University Hospital", + pictureurl: pics["olariu"], + tag: "Medical Professional", + heading: "Discussion with a pediatrician and his former patient about treatment challenges and perspectives", + interviewtabid: "olariu", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Mattijs", + nachnname: "Bulcaen", + job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", + affiliation: "KU Leuven", + pictureurl: pics["mattijs"], + tag: "Academia", + heading: "Discussion with a Prime Editing Expert on Similar Approaches for Different Mutations", + interviewtabid: "mattijsinv", + cardtext: "", + language: "en", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Nicole", + nachnname: "Friedlein", + job: "Research group on fundamental rights", + affiliation: "Universit\xE4t Potsdam", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "Discussion on how health insurance companies manage cystic fibrosis patients and gene therapy treatments", + interviewtabid: "nicole", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Katrin", + nachnname: "Westhoff", + job: "physiotherapist", + affiliation: "", + pictureurl: pics["westhoff"], + tag: "Medical Professional", + heading: "In-Depth Visit to Specialized Physiotherapist for CF Breathing Therapy", + interviewtabid: "westhoffvisit", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Jukia", + nachnname: "XXX", + job: "parent", + affiliation: "", + pictureurl: pics["julia"], + tag: "Patient", + heading: "Interview with a CF Parent About Their Experience and Treatment Needs", + interviewtabid: "julia", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Joshua", + nachnname: "Bauder", + job: "parent and activist", + affiliation: "CF vests worldwide", + pictureurl: pics["placeholder"], + tag: "Patient", + heading: "Interview with a CF Parent and Global Advocate on Worldwide Support and Perspectives", + interviewtabid: "joshua", + cardtext: "", + language: "en", + quote: "", + aimofcontact: "", + insights: "", + implementation: "", + pictureurl_interview: "" + }, + { + title: "Prof. Dr.", + vorname: "Erhard", + nachnname: "Wischmeyer", + job: "Research Group Cellular Neurophysiology", + affiliation: "Universit\xE4t Bielefeld", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "Discussion on Techniques for Measuring CFTR Channel Functionality", + interviewtabid: "patchclamp", + cardtext: "", + language: "de", + quoteNachname: "Guckes", + quoteVorname: "Isabell", + quote: "We hadn\u2019t initially considered patch-clamp measurements in our set of downstream applications, but it\u2019s proven to be an exceptionally sensitive method for assessing CFTR conductance.", + aimofcontact: [/* @__PURE__ */ jsxs22("p", { children: [ + "As part of our project, we aimed to demonstrate the functionality of the CFTR ion channel, after restoring it through our optimized Prime Editing, by using Patch-Clamp measurements. To ensure the optimal use of the Patch-Clamp and to gain an insight into electrophysiology, we asked experts from the medical faculty at Bielefeld University to critically examine our measurement planning. Prof. Dr. Erhard Wischmeyer, an experienced scientist in this field who has worked at the Max Planck Institute for Biophysical Chemistry in G\xF6ttingen, the development site of the Patch-Clamp technique", + /* @__PURE__ */ jsx29(ScrollLinkWithChild, { targetId: "desc-1", children: /* @__PURE__ */ jsx29("sup", { children: "1" }) }), + ", and currently leads the Cellular Neurophysiology working group at Bielefeld University, seemed to be an ideal interviewee. His knowledge and experience promised valuable insights and advice for conducting and optimizing our experiments. " + ] })], + insights: [/* @__PURE__ */ jsxs22(Fragment18, { children: [ + /* @__PURE__ */ jsxs22("p", { children: [ + "Prof. Dr. Wischmeyer taught us about the workflow of the Patch-Clamp technique. He highlighted the need for specialized electrodes and glass pipettes that must form a smooth surface devoid of the extracellular matrix (ECM). Additionally, he pointed out that measuring CFTR conductivity with the Patch-Clamp technique poses a technical challenge due to the low currents involved", + /* @__PURE__ */ jsx29(ScrollLinkWithChild, { targetId: "desc-2", children: /* @__PURE__ */ jsx29("sup", { children: "2" }) }), + ". He recommended using expression vectors for overexpressing the CFTR gene in HEK cells instead of epithelial cells from a nasal swab to achieve better results. Since Patch-Clamp measurements require a very sensitive testing environment, even challenging for the most experienced scientists, Prof. Dr. Wischmeyer invited us to conduct the measurements together with members of his group." + ] }), + /* @__PURE__ */ jsxs22("p", { children: [ + "In addition to the Patch-Clamp technique, Prof. Dr. Wischmeyer informed us about E-cis measurements as a current electrophysiological measurement method alongside the Patch-Clamp technique. This method allows the measurement of the membrane potential above and below a monolayer of confluent cells", + /* @__PURE__ */ jsx29(ScrollLinkWithChild, { targetId: "desc-3", children: /* @__PURE__ */ jsx29("sup", { children: "3" }) }), + ". Consequently, it enables precise measurement of conductivity dependent on CFTR expression. " + ] }) + ] })], + implementation: [/* @__PURE__ */ jsxs22(Fragment18, { children: [ + " ", + /* @__PURE__ */ jsx29("p", { children: "We decided to use HEK293T cells lines from Mattijs Bulcaen from KU Leuven [Link] which do overexpress the correct CFTR and those which express CFTR with F508del for the Patch-Clamp measurements. To conduct the Patch-Clamp experiments, we contacted the Cellular Neurophysiology group to perform the necessary measurements. It was a pleasure to work together with Dr. Oliver Dr\xE4ger[Link], who is working as a post-doc for the Cellular Neurophysiology working group at Bielefeld University. He taught us about the Patch-Clamp method and spent his valuable time supporting our project by guiding our Patch-Clamp measurements. " }), + /* @__PURE__ */ jsx29("p", { children: "In summary, through the interview with Prof. Dr. Wischmeyer and the collaboration with his employee Oliver Dr\xE4ger, we gained valuable insights and optimized our approach to effectively investigate and measure the functionality of the CFTR ion channel, thereby determining the efficiency of our Prime Editing strategy. " }) + ] })], + pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/hp-patch-clamp/bild-interssierte-wissenschaftler-oho.jpeg", + pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/hp-patch-clamp/20240625-184032.jpg", + references: [ + /* @__PURE__ */ jsxs22("ol", { children: [ + /* @__PURE__ */ jsxs22("li", { typeof: "schema:ScolarlyArticle", role: "doc-biblioentry", property: "schema:citation", id: "bielefeld-cebitec/human-practices#desc-1", children: [ + /* @__PURE__ */ jsxs22("span", { property: "schema:author", typeof: "schema:Person", children: [ + /* @__PURE__ */ jsx29("span", { property: "schema:Name", children: " Roth, F." }), + ";", + /* @__PURE__ */ jsx29("span", { property: "schema:Name", children: " Draguhn, A." }) + ] }), + /* @__PURE__ */ jsx29("span", { property: "schema:name", children: "\xA0Die Entwicklung der Patch-Clamp-Technik. " }), + /* @__PURE__ */ jsx29("i", { property: "schema:publisher", typeof: "schema:Organization", children: " Springer eBooks" }), + /* @__PURE__ */ jsx29("b", { property: "issueNumber", typeof: "PublicationIssue", children: " " }), + ",\xA0", + /* @__PURE__ */ jsx29("span", { property: "schema:pageBegin", children: " 1" }), + "-", + /* @__PURE__ */ jsx29("span", { property: "schema:pageEnd", children: "14" }), + "(", + /* @__PURE__ */ jsx29("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: " 2023", children: "2023" }), + ").", + /* @__PURE__ */ jsx29("a", { className: "doi", href: "https://doi.org/10.1007/978-3-662-66053-9_1", children: " doi: 10.1007/978-3-662-66053-9_1" }) + ] }), + /* @__PURE__ */ jsxs22("li", { typeof: "schema:ScolarlyArticle", role: "doc-biblioentry", property: "schema:citation", id: "desc-2", children: [ + /* @__PURE__ */ jsx29("span", { property: "schema:author", typeof: "schema:Person", children: /* @__PURE__ */ jsx29("span", { property: "schema:Name", children: " Mete, V." }) }), + /* @__PURE__ */ jsx29("span", { property: "schema:name", children: "\xA0Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme f\xFCr Mucociliary Clearance Disorders (MCCD). " }), + /* @__PURE__ */ jsx29("i", { property: "schema:publisher", typeof: "schema:Organization", children: " Dissertation, Westf\xE4lische Wilhelms-Universit\xE4t M\xFCnster" }), + /* @__PURE__ */ jsx29("b", { property: "issueNumber", typeof: "PublicationIssue", children: " " }), + ",\xA0", + /* @__PURE__ */ jsx29("span", { property: "schema:pageBegin", children: " " }), + "(", + /* @__PURE__ */ jsx29("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: " 2023", children: "2023" }), + ").", + /* @__PURE__ */ jsx29("a", { className: "doi", href: "https://doi.org/10.17879/98958441905", children: " doi: 10.17879/98958441905" }) + ] }), + /* @__PURE__ */ jsxs22("li", { typeof: "schema:ScolarlyArticle", role: "doc-biblioentry", property: "schema:citation", id: "desc-3", children: [ + /* @__PURE__ */ jsxs22("span", { property: "schema:author", typeof: "schema:Person", children: [ + /* @__PURE__ */ jsx29("span", { property: "schema:Name", children: " Giaever, I." }), + ";", + /* @__PURE__ */ jsx29("span", { property: "schema:Name", children: " Keese, C." }) + ] }), + /* @__PURE__ */ jsx29("span", { property: "schema:name", children: "\xA0A morphological biosensor for mammalian cells. " }), + /* @__PURE__ */ jsx29("i", { property: "schema:publisher", typeof: "schema:Organization", children: " Nature" }), + /* @__PURE__ */ jsx29("b", { property: "issueNumber", typeof: "PublicationIssue", children: " 366" }), + ",\xA0", + /* @__PURE__ */ jsx29("span", { property: "schema:pageBegin", children: " 591" }), + "-", + /* @__PURE__ */ jsx29("span", { property: "schema:pageEnd", children: "592" }), + "(", + /* @__PURE__ */ jsx29("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: " 1993", children: "1993" }), + ").", + /* @__PURE__ */ jsx29("a", { className: "doi", href: "https://doi.org/10.1038/366591a0", children: " doi: 10.1038/366591a0" }) + ] }) + ] }) + ] + }, + { + title: "Prof. Dr.", + vorname: "Stefan", + nachnname: "Hammer", + job: "Junior Professor of Organic Chemistry and Biocatalysis", + affiliation: "Universit\xE4t Bielefeld", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "Safety Briefing and Laboratory Practices Advice", + interviewtabid: "hammer", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + title: "Dr.", + vorname: "Katharina", + nachnname: "Kolonko", + job: "", + affiliation: "", + pictureurl: pics["kolonko"], + tag: "Academia", + heading: "First steps in LNPs", + interviewtabid: "kolonkofirst", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Svenja", + nachnname: "Vinke", + job: "PostDoc at Harvard Medical School", + affiliation: "Harvard Medical School", + pictureurl: pics["svenja"], + tag: "Academia", + heading: "", + interviewtabid: "svenja", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Max", + nachnname: "Beckmann", + job: "Bielefeld University", + pictureurl: pics["max"], + tag: "Patient", + heading: "Consultation on University Hygiene Risks and Improvement for Hygiene Concept", + interviewtabid: "maxhygiene", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + title: "Dr.", + vorname: "Eva-Maria", + nachnname: "Berens", + job: "Ethics Committee of Bielefeld University", + affiliation: "Bielefeld University", + pictureurl: pics["berens"], + tag: "Academia", + heading: "Bioethics: Best Practices for Handling Patient Data and Primary Cells", + /* Guidance from Ethics Committee on Best Practices for Patient Data and Primary Cells */ + interviewtabid: "berens", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "The aim of the interview was to get an answer to the question of whether we need an ethics vote for our project or not and to obtain guidelines for dealing with patient cells regarding ethical issues and data protection. ", + insights: "The discussion was very informative in terms of how we should approach this topic and focused primarily on the important factors that need to be considered when planning the handling of patient cells. These include which legal principles need to be observed, data protection, ethical considerations and, above all, detailed and specific information for the donor. It also made us look at the situation from many different angles and consider the risks of worst-case scenarios. Overall, this interview was very useful to us, and we were able to use the information we gained to develop a kind of guideline that allowed us to approach this sensitive topic, which was new to us, with a certain degree of confidence. ", + implementation: "Based on the knowledge we have gained, we have drawn up guidelines for our handling of the cells. We used this guide when handling the patient cells, to ensure they were handled in an ethically correct manner." + }, + { + vorname: "Collaboration", + nachnname: "", + job: "", + affiliation: "", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "LNP Handbook", + interviewtabid: "handbook", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Benjamin", + title: "Dr.", + nachnname: "Winkeljann", + job: "Co-Founder and CEO at RNhale", + affiliation: "RNhale", + pictureurl: pics["winkeljann"], + tag: "Industry", + heading: "Rnhale", + interviewtabid: "rnhale", + cardtext: "", + language: "de", + quote: "Spray-drying LNPs is a groundbreaking approach that enhances stability and enables efficient pulmonary delivery of mRNA, paving the way for innovative therapies for conditions like cystic fibrosis.", + aimofcontact: [/* @__PURE__ */ jsxs22("p", { children: [ + "As part of our development process of an innovative, effective pulmonary delivery of therapeutic mRNA to fight cystic fibrosis, we conducted an interview with Dr. Benjamin Winkeljann, who is the Co-Founder of ", + /* @__PURE__ */ jsx29("a", { href: "https://rnhale.com/", children: "RNhale" }), + ". Dr. Benjamin Winkeljann has a wealth of experience in the field of RNA therapeutics and nanotechnology. His background includes extensive research in the development of lipid-based delivery systems, focusing on optimizing stability and efficacy for therapeutic applications. Winkeljann\u2019s work is supported by cutting-edge research from academic institutions, including collaborations with Professor Olivia Merkel from the Ludwig-Maximilians-Universit\xE4t in Munich, Germany, since his doctoral thesis in her working group. The interview with Winkeljann promoted our project, which aimed to utilize spray-dried lipid nanoparticles (LNPs) for efficient delivery to the lung. By engaging with RNhale, we sought to understand the nuances of their nano-embedded microparticle technology and how it could enhance our delivery systems. " + ] })], + insights: [ + /* @__PURE__ */ jsx29("p", { children: "RNhale's technology leverages advanced spray drying techniques to stabilize and deliver RNA therapeutics. During our interview, Winkeljann detailed several crucial aspects. Firstly, the stability and shelf-life of spray-dried LNPs are remarkable. RNhale\u2019s siRNA formulations have maintained their integrity for up to 18 months at room temperature, and although specific data for mRNA is still pending, this suggests a promising shelf-life for mRNA formulations under similar conditions. The spray drying process itself involves mixing an ethanol phase containing lipids with an aqueous phase containing RNA. This mixture is then spray-dried, forming LNPs as tiny spherical particles. Key parameters for this process include maintaining an internal drying temperature of around 100 \xB0C and using excipients like lactose to preserve the nanoparticles' structure and function\u200B [1]. " }), + /* @__PURE__ */ jsx29("p", { children: 'Ensuring the integrity and efficiency of the LNPs involves various methods, including gel electrophoresis, blotting, and functional readouts through transfection assays. After drying, the nanoparticles retain their spherical structure, which resembles that of "golf balls" under scanning electron microscopy (SEM)[1]. Moreover, RNhale employs artificial intelligence to optimize LNP formulations and predict the best drying conditions, reducing the need for extensive wet lab work. This AI-driven approach enhances efficiency and reliability in developing therapeutic nanoparticles. ' }) + ], + implementation: [ + /* @__PURE__ */ jsx29("p", { children: "The interview with Dr. Benjamin Winkeljann from RNhale provided invaluable insights that will significantly enhance our project focused on mRNA delivery to the lungs using spray-dried LNPs. By seeking to integrate their proven techniques and innovative approach to spray-dry LNPs, we are optimistic about achieving superior stability, efficacy, and scalability in our therapeutic delivery systems. " }) + ], + pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/hp-rnhale-zoom.png", + pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-overview.jpg", + pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-sem.jpg", + references: [/* @__PURE__ */ jsx29("div", { children: "noch einf\xFCgen" })] + }, + { + title: "XXX", + vorname: "David", + nachnname: "Liu", + job: "", + affiliation: "", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "", + interviewtabid: "liu", + cardtext: "", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "", + nachnname: "", + job: "", + affiliation: "Corden Pharma", + pictureurl: pics["placeholder"], + tag: "Academia", + heading: "Corden", + interviewtabid: "corden", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + vorname: "Mattijs", + nachnname: "Bulcaen", + job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", + affiliation: "KU Leuven", + pictureurl: pics["mattijs"], + tag: "Academia", + heading: "", + interviewtabid: "mattijsvisit", + cardtext: "", + language: "en", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + }, + { + title: "Dr.", + vorname: "Oliver", + nachnname: "Dr\xE4ger", + job: "Bielefeld University", + affiliation: "Research Group Cellular Neurophysiology", + pictureurl: pics["draeger"], + tag: "Academia", + heading: "", + interviewtabid: "patchclamp", + cardtext: "", + language: "de", + quote: "", + aimofcontact: "", + insights: "", + implementation: "" + } +]; + +// src/components/HorizontalTimeline.tsx +import { jsx as jsx30, jsxs as jsxs23 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/HP-timeline.tsx +import { jsx as jsx31, jsxs as jsxs24 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/human-practices.tsx +import { Fragment as Fragment19, jsx as jsx32, jsxs as jsxs25 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/Sidebar.tsx +import { useEffect as useEffect15 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { Fragment as Fragment20, jsx as jsx33, jsxs as jsxs26 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/sidebars/hpS.tsx +import { jsx as jsx34 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/wiki.tsx +import { Box, Tab } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/@mui/material/node/index.js"; +import { TabContext, TabList, TabPanel } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/@mui/lab/node/index.js"; +import { useEffect as useEffect16 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation12 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import React2 from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; + +// src/components/Filter.tsx +import Select from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-select/dist/react-select.cjs.mjs"; +import React from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { jsx as jsx35 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; +var wikioptions = [ + { value: "all", label: "Show all" }, + { value: "react", label: "React" }, + { value: "type", label: "Types" }, + { value: "property", label: "Properties" }, + { value: "pipeline", label: "GitLab Pipeline" }, + { value: "html", label: "HTML" }, + { value: "css", label: "CSS" } +]; +function filterMultiSelection(arr) { + const nono = document.getElementById("nono"); + if (nono) { + nono.className = "noshow"; + } + const filterableElements = document.getElementsByClassName("filterable"); + for (let i = 0; i < filterableElements.length; i++) { + const el = filterableElements[i]; + w3RemoveClass(el, "show"); + } + console.log("Begin"); + for (let i = 0; i < filterableElements.length; i++) { + const el = filterableElements[i]; + let shouldShow = true; + for (const entry of arr) { + console.log(`entry: ${entry.value}`); + if (!el.classList.contains(entry.value)) { + shouldShow = false; + break; + } + } + console.log(`shouldShow: ${shouldShow}`); + if (shouldShow) { + w3AddClass(el, "show"); + } + } + const shownElements = document.getElementsByClassName("show"); + if (shownElements.length < 1 && nono) { + console.log(shownElements.length); + nono.className = "show"; + } +} +function w3AddClass(element, name) { + var i, arr1, arr2; + arr1 = element.className.split(" "); + arr2 = name.split(" "); + for (i = 0; i < arr2.length; i++) { + if (arr1.indexOf(arr2[i]) == -1) { + element.className += " " + arr2[i]; + } + } +} +function w3RemoveClass(element, name) { + var i, arr1, arr2; + arr1 = element.className.split(" "); + arr2 = name.split(" "); + for (i = 0; i < arr2.length; i++) { + while (arr1.indexOf(arr2[i]) > -1) { + arr1.splice(arr1.indexOf(arr2[i]), 1); + } + } + element.className = arr1.join(" "); +} +var WikiAction = class extends React.Component { + state = { + selectedOption: null + }; + handleChange = (selectedOption) => { + this.setState( + { selectedOption }, + () => console.log(`Option selected:`, this.state.selectedOption) + ); + filterMultiSelection(selectedOption); + }; + render() { + const { selectedOption } = this.state; + return /* @__PURE__ */ jsx35( + Select, + { + value: selectedOption, + onChange: this.handleChange, + isMulti: true, + options: wikioptions, + defaultValue: [wikioptions[0]], + className: "basic-multi-select", + classNamePrefix: "select" + } + ); + } +}; + +// src/components/Code.tsx +import { jsx as jsx36 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/wiki.tsx +import { Fragment as Fragment21, jsx as jsx37, jsxs as jsxs27 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/impressum.tsx +import { useEffect as useEffect17 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation13 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment22, jsx as jsx38, jsxs as jsxs28 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/partners.tsx +import { useEffect as useEffect18 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation14 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment23, jsx as jsx39, jsxs as jsxs29 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/supplementary-material.tsx +import { useEffect as useEffect19 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation15 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment24, jsx as jsx40, jsxs as jsxs30 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/interviews.tsx +import { useEffect as useEffect20 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation16 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment25, jsx as jsx41, jsxs as jsxs31 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/bhf-h.tsx +import { Fragment as Fragment26, jsx as jsx42, jsxs as jsxs32 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/components/HeaderBox.tsx +import { Fragment as Fragment27, jsx as jsx43, jsxs as jsxs33 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/attribution-h.tsx +import { jsx as jsx44 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/cont-h.tsx +import { jsx as jsx45 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/desc-h.tsx +import { jsx as jsx46 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/home-h.tsx +import { jsx as jsx47 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/exp-h.tsx +import { jsx as jsx48 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/hp-h.tsx +import { jsx as jsx49 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/imp-h.tsx +import { jsx as jsx50 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/note-h.tsx +import { jsx as jsx51 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/res-h.tsx +import { jsx as jsx52 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/safe-h.tsx +import { jsx as jsx53 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/team-h.tsx +import { jsx as jsx54 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/wiki-h.tsx +import { jsx as jsx55 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/ints-h.tsx +import { jsx as jsx56 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/spons-h.tsx +import { jsx as jsx57 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/dry-h.tsx +import { jsx as jsx58 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/eng-h.tsx +import { jsx as jsx59 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/sup-h.tsx +import { jsx as jsx60 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/parts.tsx +import { useEffect as useEffect21 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation17 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment28, jsx as jsx61, jsxs as jsxs34 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/part-h.tsx +import { jsx as jsx62 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/project-documentation.tsx +import { useEffect as useEffect22 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation18 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment29, jsx as jsx63 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/prodesc-h.tsx +import { jsx as jsx64 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/judging.tsx +import { useEffect as useEffect23 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation19 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment30, jsx as jsx65, jsxs as jsxs35 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/judge-h.tsx +import { jsx as jsx66 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/example.tsx +import { Bar, Doughnut, PolarArea } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; +import { Chart as ChartJS2, Tooltip as Tooltip2, Legend as Legend2, BarElement, CategoryScale, LinearScale, Title, RadialLinearScale } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; + +// src/components/Fanzorviewer.tsx +import { useEffect as useEffect24 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import * as THREE from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/three/build/three.module.js"; +import { GLTFLoader } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/three/examples/jsm/loaders/GLTFLoader.js"; + +// src/contents/example.tsx +import { Fragment as Fragment31, jsx as jsx67, jsxs as jsxs36 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; +ChartJS2.register( + CategoryScale, + RadialLinearScale, + LinearScale, + BarElement, + Title, + Tooltip2, + Legend2 +); + +// src/sidebars/engS.tsx +import { useEffect as useEffect25 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { jsx as jsx68, jsxs as jsxs37 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/sidebars/intS.tsx +import { useEffect as useEffect26 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { jsx as jsx69, jsxs as jsxs38 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/sidebars/safeS.tsx +import { useEffect as useEffect27 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { jsx as jsx70, jsxs as jsxs39 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/sidebars/none.tsx +import { jsx as jsx71 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/contents/igem-bielefeld.tsx +import { useEffect as useEffect28 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; +import { useLocation as useLocation20 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; +import { Fragment as Fragment32, jsx as jsx72 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/headers/ibie-h.tsx +import { jsx as jsx73 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; + +// src/utils/stringToSlug.ts +function stringToSlug(string) { + let slug = String(string).toLowerCase(); + slug = slug.replace(/[^a-z0-9-]/g, "-"); + slug = slug.replace(/-+/g, "-"); + const start = slug.search(/[^-]/); + const end = slug.search(/-+$/); + return slug.substring(start, end === -1 ? void 0 : end); +} + +// src/utils/useScript.ts +import { useEffect as useEffect29 } from "file:///Users/sahamiasad/wiki.css/bielefeld-cebitec/node_modules/react/index.js"; + +// vite.config.js +var vite_config_default = () => { + const env = loadEnv("dev", process.cwd()); + if (!env.VITE_TEAM_NAME) { + throw new Error("VITE_TEAM_NAME environment variable is not defined"); + } + console.log(`VITE_TEAM_NAME: ${env.VITE_TEAM_NAME}`); + const baseSlug = stringToSlug(env.VITE_TEAM_NAME); + console.log("VITE_TEAM_NAME:", env.VITE_TEAM_NAME); + console.log("Base Slug:", baseSlug); + return defineConfig({ + base: `/${stringToSlug(env.VITE_TEAM_NAME)}/`, + plugins: [react()], + build: { + outDir: "dist" + }, + publicDir: "pubpub" + }); +}; +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAic3JjL2NvbXBvbmVudHMvRmFkZUluLnRzeCIsICJzcmMvY29udGVudHMvSG9tZS50c3giLCAic3JjL2NvbnRlbnRzL3RlYW0udHN4IiwgInNyYy9jb21wb25lbnRzL0hlYWRpbmdzLnRzeCIsICJzcmMvY29udGVudHMvYXR0cmlidXRpb25zLnRzeCIsICJzcmMvY29udGVudHMvY29udHJpYnV0aW9uLnRzeCIsICJzcmMvY29tcG9uZW50cy9CdXR0b25zLnRzeCIsICJzcmMvY29tcG9uZW50cy9WZXJ0aWNhbFRpbWVsaW5lLnRzeCIsICJzcmMvY29tcG9uZW50cy9TbGlkZXIudHN4IiwgInNyYy9jb21wb25lbnRzL0JGSC1UaW1lbGluZS50c3giLCAic3JjL2NvbXBvbmVudHMvUGhvdG8tZ3JpZC50c3giLCAic3JjL2NvbXBvbmVudHMvUGRmcy50c3giLCAic3JjL2NvbXBvbmVudHMvUXVvdGVzLnRzeCIsICJzcmMvY29tcG9uZW50cy9UYWJzLnRzeCIsICJzcmMvdXRpbHMvVGFiTmF2aWdhdGlvbi50c3giLCAic3JjL2NvbnRlbnRzL2Rlc2NyaXB0aW9uLnRzeCIsICJzcmMvY29tcG9uZW50cy9Cb3hlcy50c3giLCAic3JjL2NvbXBvbmVudHMvQ29sbGFwc2libGUudHN4IiwgInNyYy91dGlscy9nb3RvLnRzIiwgInNyYy9jb21wb25lbnRzL1Njcm9sbExpbmsudHN4IiwgInNyYy9jb21wb25lbnRzL0xvcmVtaXBzdW0udHN4IiwgInNyYy9jb21wb25lbnRzL1NoYXBlcy50c3giLCAic3JjL2NvbXBvbmVudHMvU3Zncy50c3giLCAic3JjL2NvbXBvbmVudHMvR3JhcGgudHN4IiwgInNyYy9zaWRlYmFycy9kZXNjUy50c3giLCAic3JjL2NvbnRlbnRzL2VuZ2luZWVyaW5nLnRzeCIsICJzcmMvY29udGVudHMvZXhwZXJpbWVudHMudHN4IiwgInNyYy9jb250ZW50cy9ub3RlYm9vay50c3giLCAic3JjL2NvbnRlbnRzL3Jlc3VsdHMudHN4IiwgInNyYy9jb250ZW50cy9zYWZldHkudHN4IiwgInNyYy9jb250ZW50cy9odW1hbi1wcmFjdGljZXMudHN4IiwgInNyYy91dGlscy91c2VOYXZpZ2F0aW9uLnRzIiwgInNyYy9jb21wb25lbnRzL2RhdGEvaHB0aW1lbGluZWRhdGEudHN4IiwgInNyYy9jb21wb25lbnRzL0hvcml6b250YWxUaW1lbGluZS50c3giLCAic3JjL2NvbXBvbmVudHMvSFAtdGltZWxpbmUudHN4IiwgInNyYy9jb21wb25lbnRzL1NpZGViYXIudHN4IiwgInNyYy9zaWRlYmFycy9ocFMudHN4IiwgInNyYy9jb250ZW50cy93aWtpLnRzeCIsICJzcmMvY29tcG9uZW50cy9GaWx0ZXIudHN4IiwgInNyYy9jb21wb25lbnRzL0NvZGUudHN4IiwgInNyYy9jb250ZW50cy9pbXByZXNzdW0udHN4IiwgInNyYy9jb250ZW50cy9wYXJ0bmVycy50c3giLCAic3JjL2NvbnRlbnRzL3N1cHBsZW1lbnRhcnktbWF0ZXJpYWwudHN4IiwgInNyYy9jb250ZW50cy9pbnRlcnZpZXdzLnRzeCIsICJzcmMvaGVhZGVycy9iaGYtaC50c3giLCAic3JjL2NvbXBvbmVudHMvSGVhZGVyQm94LnRzeCIsICJzcmMvaGVhZGVycy9hdHRyaWJ1dGlvbi1oLnRzeCIsICJzcmMvaGVhZGVycy9jb250LWgudHN4IiwgInNyYy9oZWFkZXJzL2Rlc2MtaC50c3giLCAic3JjL2hlYWRlcnMvaG9tZS1oLnRzeCIsICJzcmMvaGVhZGVycy9leHAtaC50c3giLCAic3JjL2hlYWRlcnMvaHAtaC50c3giLCAic3JjL2hlYWRlcnMvaW1wLWgudHN4IiwgInNyYy9oZWFkZXJzL25vdGUtaC50c3giLCAic3JjL2hlYWRlcnMvcmVzLWgudHN4IiwgInNyYy9oZWFkZXJzL3NhZmUtaC50c3giLCAic3JjL2hlYWRlcnMvdGVhbS1oLnRzeCIsICJzcmMvaGVhZGVycy93aWtpLWgudHN4IiwgInNyYy9oZWFkZXJzL2ludHMtaC50c3giLCAic3JjL2hlYWRlcnMvc3BvbnMtaC50c3giLCAic3JjL2hlYWRlcnMvZHJ5LWgudHN4IiwgInNyYy9oZWFkZXJzL2VuZy1oLnRzeCIsICJzcmMvaGVhZGVycy9zdXAtaC50c3giLCAic3JjL2NvbnRlbnRzL3BhcnRzLnRzeCIsICJzcmMvaGVhZGVycy9wYXJ0LWgudHN4IiwgInNyYy9jb250ZW50cy9wcm9qZWN0LWRvY3VtZW50YXRpb24udHN4IiwgInNyYy9oZWFkZXJzL3Byb2Rlc2MtaC50c3giLCAic3JjL2NvbnRlbnRzL2p1ZGdpbmcudHN4IiwgInNyYy9oZWFkZXJzL2p1ZGdlLWgudHN4IiwgInNyYy9jb250ZW50cy9leGFtcGxlLnRzeCIsICJzcmMvY29tcG9uZW50cy9GYW56b3J2aWV3ZXIudHN4IiwgInNyYy9zaWRlYmFycy9lbmdTLnRzeCIsICJzcmMvc2lkZWJhcnMvaW50Uy50c3giLCAic3JjL3NpZGViYXJzL3NhZmVTLnRzeCIsICJzcmMvc2lkZWJhcnMvbm9uZS50c3giLCAic3JjL2NvbnRlbnRzL2lnZW0tYmllbGVmZWxkLnRzeCIsICJzcmMvaGVhZGVycy9pYmllLWgudHN4IiwgInNyYy91dGlscy9zdHJpbmdUb1NsdWcudHMiLCAic3JjL3V0aWxzL3VzZVNjcmlwdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9zYWhhbWlhc2FkL3dpa2kuY3NzL2JpZWxlZmVsZC1jZWJpdGVjXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy92aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy92aXRlLmNvbmZpZy5qc1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgcmVhY3QgZnJvbSBcIkB2aXRlanMvcGx1Z2luLXJlYWN0XCI7XG5pbXBvcnQgeyBzdHJpbmdUb1NsdWcgfSBmcm9tIFwiLi9zcmMvdXRpbHNcIjtcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgY29uc3QgZW52ID0gbG9hZEVudihcImRldlwiLCBwcm9jZXNzLmN3ZCgpKTtcbiAgICAvLyBTaWNoZXJzdGVsbGVuLCBkYXNzIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSB2b3JoYW5kZW4gaXN0XG4gIGlmICghZW52LlZJVEVfVEVBTV9OQU1FKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVklURV9URUFNX05BTUUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IGRlZmluZWRcIik7XG4gIH1cbiAgLy8gRGVidWdnaW5nLUxvZywgdW0gZGVuIFdlcnQgZGVyIFVtZ2VidW5nc3ZhcmlhYmxlIHp1IFx1MDBGQ2JlcnByXHUwMEZDZmVuXG4gIGNvbnNvbGUubG9nKGBWSVRFX1RFQU1fTkFNRTogJHtlbnYuVklURV9URUFNX05BTUV9YCk7XG5cblxuICBjb25zdCBiYXNlU2x1ZyA9IHN0cmluZ1RvU2x1ZyhlbnYuVklURV9URUFNX05BTUUpO1xuXG4gIGNvbnNvbGUubG9nKFwiVklURV9URUFNX05BTUU6XCIsIGVudi5WSVRFX1RFQU1fTkFNRSk7IC8vIERlYnVnZ2luZy1BdXNnYWJlXG4gIGNvbnNvbGUubG9nKFwiQmFzZSBTbHVnOlwiLCBiYXNlU2x1Zyk7IC8vIERlYnVnZ2luZy1BdXNnYWJlXG4gIFxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBiYXNlOiBgLyR7c3RyaW5nVG9TbHVnKGVudi5WSVRFX1RFQU1fTkFNRSl9L2AsXG4gICAgcGx1Z2luczogW3JlYWN0KCldLFxuICAgIGJ1aWxkOiB7XG4gICAgICBvdXREaXI6IFwiZGlzdFwiLFxuICAgIH0sXG4gICAgcHVibGljRGlyOiAncHVicHViJyxcbiAgfSk7XG4gIFxufTtcbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBGYWRlSW4oe2ZpbGVwYXRoLCBiZ306e2ZpbGVwYXRoOiBzdHJpbmcsIGJnOiBzdHJpbmd9KXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB7LyogZGVidWcgKi99XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IGNvbnNvbGUubG9nKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCd9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Ymd9PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17ZmlsZXBhdGh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnOTB2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgPC8+XHJcbiAgICApO1xyXG59IiwgImltcG9ydCB7IEZhZGVJbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZhZGVJblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSG9tZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8ZGl2ICBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzcwdmgnIH19PjwvZGl2PlxuXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC0xLndlYnBcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvYnJlYXRoLTIud2VicFwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC9icmVhdGgtMy53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC00LndlYnBcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvYnJlYXRoLTUud2VicFwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC9icmVhdGgtNi53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC03LndlYnBcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvYnJlYXRoLTgud2VicFwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC9icmVhdGgtOS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC0xMC53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC0xMS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2JyZWF0aC0xMi53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtMS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtMi53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtMy53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtNC53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtNS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvcHJvYmxlbXMtNi53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvZ2lmcy8yMDBrLWFuaW0tdHJhbnNwYXJlbnQtYmcuZ2lmXCIgYmc9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYmFja2dyb3VuZHMvYmFja2dyb3VuZC0xLXRleHQud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvZ2lmcy9vbmVpbnR3ZW50eS5naWZcIiBiZz0nJz48L0ZhZGVJbj5cblxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2dpZnMvMmstYW5pbS10cmFuc3BhcmVudC1iZy5naWZcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLTItdGV4dC53ZWJwJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzLzNrLWFuaW0tdHJhbnNwYXJlbnQtYmcuZ2lmXCIgYmc9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYmFja2dyb3VuZHMvYmFja2dyb3VuZC0zLXRleHQud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvdHJlYXRtZW50bm9sb29wLmdpZlwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL3ByZWN5c2UuZ2lmXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYWlyYnVkZHkuZ2lmXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxNTB2aCcgfX0+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+IFxuICAgIDwvZGl2PiBcbiAgKTtcbn1cbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5pbXBvcnQgeyBIMiB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUZWFtKCkge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgICAgIGNvbnN0IHRhYklkID0gcGFyYW1zLmdldCgndGFiJyk7XG5cbiAgICAgICAgLy8gU2Nyb2xsIHRvIHRoZSBzZWN0aW9uIHNwZWNpZmllZCBieSBjb2xsYXBzZUlkXG4gICAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb2xsYXBzZUlkKTtcbiAgICAgICAgICAgIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3BlbiB0aGUgdGFiIHNwZWNpZmllZCBieSB0YWJJZFxuICAgICAgICBpZiAodGFiSWQpIHtcbiAgICAgICAgICAgIG9wZW5Gcm9tT3RoZXJQYWdlKHRhYklkKSh7IGN1cnJlbnRUYXJnZXQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8YnIvPlxuICAgICAgPGJyLz5cbiAgICAgIDxIMiB0ZXh0PVwiTWVtYmVyc1wiIGlkPVwibWVtYmVyc1wiLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIFxuICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiQW5uYSBCYWFja1wiXG4gICAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgICA+IFxuICAgICAgICAgICAgLlxuICAgICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPFN0ZWNrYnJpZWYgXG4gICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgIG5hbWU9XCJBc2FsIFNhaGFtaSBNb2doYWRkYW1cIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPlxuICAgICAgICBcbiAgICAgICAgICAgIC5cbiAgICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8U3RlY2ticmllZiBcbiAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICBuYW1lPVwiQ2hyaXN0aWFuIE1pY2hhbGVrXCJcbiAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgPiBcbiAgICAgICAgICAuXG4gICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIFxuICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiSXNhYmVsbCBHdWNrZXNcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8U3RlY2ticmllZiB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgbmFtZT1cIkthaSBLYW50aGFrXCJcbiAgICAgICAgICBqb2I9XCJKb2JcIlxuICAgICAgICAgID4gXG4gICAgICAgICAgICAuIFxuICAgICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxTdGVja2JyaWVmIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgbmFtZT1cIkthdGhsZWVuIFN1c2F0XCJcbiAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgPiBcbiAgICAgICAgICAuXG4gICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIFxuICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiS2F5YSBMYW5nZVwiXG4gICAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgICA+IFxuICAgICAgICAgICAgLiBcbiAgICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiTGlsaWFuYSBTYW5maWxpcHBvXCJcbiAgICAgICAgICBqb2I9XCJKb2JcIlxuICAgICAgICAgID4gXG4gICAgICAgICAgICAuIFxuICAgICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxTdGVja2JyaWVmIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgbmFtZT1cIkxpc2EgV2llc25lclwiXG4gICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgID4gXG4gICAgICAgICAgLlxuICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBjZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8U3RlY2ticmllZiBcbiAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgbmFtZT1cIk1hbHRlIExlbmdlclwiXG4gICAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgICA+IFxuICAgICAgICAgICAgLiBcbiAgICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiTWljaGFlbCBHclx1MDBGNm5pbmdcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPFN0ZWNrYnJpZWYgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICBuYW1lPVwiUGhpbGlwIE11bmR0XCJcbiAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgPiBcbiAgICAgICAgICAuXG4gICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIFxuICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiVmVyYSBLXHUwMEY2aGxlclwiXG4gICAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgICA+IFxuICAgICAgICAgICAgLiBcbiAgICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8U3RlY2ticmllZiB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgbmFtZT1cIlZpbmNlbnQgU3RcdTAwRjZja2xcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxIMiB0ZXh0PVwiSW5zdHJ1Y3RvclwiIGlkPVwiaW5zdHJ1Y3RvclwiLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPFN0ZWNrYnJpZWYgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgIG5hbWU9XCJTaW5hbiBaaW1tZXJtYW5uXCJcbiAgICAgICAgICBqb2I9XCJKb2JcIlxuICAgICAgICAgID4gXG4gICAgICAgICAgICAuIFxuICAgICAgICAgIDwvU3RlY2ticmllZj5cbiAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgIFxuICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIFxuICAgICAgPEgyIHRleHQ9XCJBZHZpc29yc1wiIGlkPVwiQWR2aXNvcnNcIi8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBjZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8U3RlY2ticmllZiBcbiAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgbmFtZT1cIkZlbGljaXRhcyBaaW1tZXJcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPFN0ZWNrYnJpZWYgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgIG5hbWU9XCJMdWNhcyBLcmF1c2VcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxIMiB0ZXh0PVwiUHJpbmNpcGFsIEludmVzdGlnYXRvcnNcIiBpZD1cIlBJU1wiLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxTdGVja2JyaWVmIFxuICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICBuYW1lPVwiSlx1MDBGNnJuIEthbGlub3dza2lcIlxuICAgICAgICAgIGpvYj1cIkpvYlwiXG4gICAgICAgICAgPiBcbiAgICAgICAgICAgIC4gXG4gICAgICAgICAgPC9TdGVja2JyaWVmPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPFN0ZWNrYnJpZWYgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgIG5hbWU9XCJLcmlzdGlhbiBNXHUwMEZDbGxlclwiXG4gICAgICAgICAgam9iPVwiSm9iXCJcbiAgICAgICAgICA+IFxuICAgICAgICAgICAgLiBcbiAgICAgICAgICA8L1N0ZWNrYnJpZWY+XG4gICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufVxuXG5cbmludGVyZmFjZSBTdGVja1Byb3Bze1xuICBuYW1lPzogc3RyaW5nOyBcbiAgdXJsOiBzdHJpbmc7IFxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbiAgam9iOiBzdHJpbmcsXG5cbn1cblxuZnVuY3Rpb24gU3RlY2ticmllZih7Y2hpbGRyZW4sIHVybCwgbmFtZSxqb2IgfTogU3RlY2tQcm9wcyl7XG4gIHJldHVybihcbiAgICA8PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IHN0ZWNrYnJpZWZcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC03IGxucCBjZW50ZXJcIj5cbiAgICAgIDxpbWcgc3JjPXt1cmx9IGNsYXNzTmFtZT1cImltZy1yb3VuZFwiPjwvaW1nPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHRlYW1jb2x6d2VpXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNlbnRlclwiPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZWFtLW5hbWVcIj57bmFtZX08L3A+XG4gICAgICAgIDxpbWcgY2xhc3NOYW1lPVwidGVhbS1zb2NpYWxzXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2xpbmtlZGluLnBuZ1wiLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAge2pvYn1cbiAgICAgIDwvZGl2PiAgXG4gICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIiBzdHlsZT17e21hcmdpblRvcDogXCIxcmVtXCJ9fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgICAgIFxuICAgIDwvPlxuICApXG59XG4iLCAiaW1wb3J0IHsgc3RyaW5nVG9TbHVnIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIaG9wcCh7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgY29uc3QgYXJyID0gW107IFxuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHggPSB0ZXh0LmNoYXJBdChpKTsgXG4gICAgICAgIGFyci5wdXNoKDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt4fTwvc3Bhbj4pXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGgxIGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cInBsYXlmdWxcIiBhcmlhLWxhYmVsPVwiV2FzaCB5b3VyIGhhbmRzXCI+XG4gICAgICAgICAgICB7YXJyfSAgICAgICAgXG4gICAgICAgIDwvaDE+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSHNtb2tlKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICBjb25zdCBhcnIgPSBbXTsgXG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeCA9IHRleHQuY2hhckF0KGkpOyBcbiAgICAgICAgYXJyLnB1c2goPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3h9PC9zcGFuPilcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8aDEgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwic21va2VcIiBhcmlhLWxhYmVsPVwiV2FzaCB5b3VyIGhhbmRzXCI+XG4gICAgICAgICAgICB7YXJyfSAgICAgICAgXG4gICAgICAgIDwvaDE+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSDEoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIC8qIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgIDxkaXYgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwicm93IGhvbmVcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgIDx0ZXh0IHg9XCIwJVwiIHk9XCI2MCVcIj5cbiAgICAgICAge3RleHR9XG4gICAgICAgIDwvdGV4dD5cbiAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICApICovXG4gICByZXR1cm4oXG4gICAgPGgxIGlkPXtpZH0gPnt0ZXh0fTwvaDE+XG4gICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEgyKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoMiBpZD17aWR0ZXh0fT57dGV4dH08L2gyPlxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEgzKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoMyBpZD17aWR0ZXh0fT57dGV4dH08L2gzPiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEhoaWdobGlnaHQoe2NoaWxkcmVufTp7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnQgdjJcIj5cbiAgICAgICAgPHA+e2NoaWxkcmVufTwvcD5cbiAgICA8L2Rpdj5cbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gSHNwb2lsZXIoe2NoaWxkcmVufTp7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnQgdjNcIj5cbiAgICAgICAgPHA+e2NoaWxkcmVufTwvcD5cbiAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBId2F2ZSh7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxzdmcgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwiYmlndGl0bGVcIiB2aWV3Qm94PVwiMCAwIDE1MCAyMFwiPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cImdyYWRpZW50XCIgeDE9XCIwXCIgeDI9XCIwXCIgeTE9XCIwXCIgeTI9XCIxXCI+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI1JVwiIHN0b3BDb2xvcj1cIiM4NTBGNzhcIi8+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI5NSVcIiBzdG9wQ29sb3I9XCIjQTBBN0YzXCIvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgIDxwYXR0ZXJuIGlkPVwid2F2ZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjEyMFwiIGhlaWdodD1cIjIwXCIgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgIDxwYXRoIGlkPVwid2F2ZVBhdGhcIiBkPVwiTS00MCA5IFEtMzAgNyAtMjAgOSBUMCA5IFQyMCA5IFQ0MCA5IFQ2MCA5IFQ4MCA5IFQxMDAgOSBUMTIwIDkgVjIwIEgtNDB6XCIgbWFzaz1cInVybCgjbWFzaylcIiBmaWxsPVwidXJsKCNncmFkaWVudClcIj4gXG4gICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgICAgICAgICAgICBkdXI9XCIxLjVzXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZyb209XCIwLDBcIlxuICAgICAgICAgICAgICAgICAgICB0bz1cIjQwLDBcIlxuICAgICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiAvPlxuICAgICAgICAgICAgPC9wYXRoPlxuICAgICAgICAgICAgPC9wYXR0ZXJuPlxuICAgICAgICA8L2RlZnM+XG4gICAgICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjE3XCIgZmlsbD1cInVybCgjd2F2ZSlcIiAgZmlsbE9wYWNpdHk9XCIwLjZcIj57dGV4dH08L3RleHQ+XG4gICAgICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjE3XCIgZmlsbD1cInVybCgjZ3JhZGllbnQpXCIgZmlsbE9wYWNpdHk9XCIwLjFcIj57dGV4dH08L3RleHQ+XG4gICAgICAgIDwvc3ZnPlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhwb3BhcnQoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG5yZXR1cm4oXG4gICAgPGRpdiBpZD17aWR0ZXh0fSBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIHBvcGFydC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcG9wYXJ0XCI+XG4gICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9kaXY+IFxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhzaGFkb25lKHt0ZXh0fTp7dGV4dDogc3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInN0cm9rZSBzaGFkb3ctc3Ryb2tlXCI+e3RleHR9PC9wPlxuICAgIDwvZGl2PlxuICAgIClcbn1cbmV4cG9ydCBkZWZhdWx0IEgxOyIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEF0dHJpYnV0aW9ucygpIHtcbiAgY29uc3QgdGVhbUlEID0gaW1wb3J0Lm1ldGEuZW52LlZJVEVfVEVBTV9JRDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZ1bmN0aW9uIGxpc3RlblRvSWZyYW1lSGVpZ2h0KGU6IE1lc3NhZ2VFdmVudCkge1xuICAgICAgaWYgKGUub3JpZ2luID09PSBcImh0dHBzOi8vdGVhbXMuaWdlbS5vcmdcIikge1xuICAgICAgICBjb25zdCB7IHR5cGUsIGRhdGEgfSA9IEpTT04ucGFyc2UoZS5kYXRhKTtcbiAgICAgICAgaWYgKHR5cGUgPT09IFwiaWdlbS1hdHRyaWJ1dGlvbi1mb3JtXCIpIHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZ2VtLWF0dHJpYnV0aW9uLWZvcm1cIik7XG4gICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7ZGF0YSArIDEwMH1weGA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBsaXN0ZW5Ub0lmcmFtZUhlaWdodCk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBsaXN0ZW5Ub0lmcmFtZUhlaWdodCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlmcmFtZVxuICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX1cbiAgICAgICAgaWQ9XCJpZ2VtLWF0dHJpYnV0aW9uLWZvcm1cIlxuICAgICAgICBzcmM9e2BodHRwczovL3RlYW1zLmlnZW0ub3JnL3dpa2kvJHt0ZWFtSUR9L2F0dHJpYnV0aW9uc2B9XG4gICAgICAvPlxuICAgIDwvPlxuICApO1xufVxuIiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmltcG9ydCB7IEJGSFRpbWVsaW5lIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQkZILVRpbWVsaW5lXCI7XG5pbXBvcnQgQkZIR2FsbGVyeSBmcm9tIFwiLi4vY29tcG9uZW50cy9QaG90by1ncmlkXCI7XG5pbXBvcnQgQkZIcGRmLCB7IEd1aWRlUERGIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvUGRmc1wiO1xuaW1wb3J0IHsgSDJ9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBPTERCRkhTdHlsZVRhYnMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9UYWJzXCI7XG5pbXBvcnQgeyBCbG9ja1F1b3RlQiB9IGZyb20gXCIuLi9jb21wb25lbnRzL1F1b3Rlc1wiO1xuaW1wb3J0IHsgaGFuZGxlU2Nyb2xsVG9Db2xsYXBzZSwgb3Blbk5lc3RlZFRhYiwgb3BlblRhYiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnRyaWJ1dGlvbigpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcbiAgICBjb25zdCBzdWJUYWJJZCA9IHBhcmFtcy5nZXQoJ3N1YlRhYicpOyAvLyBOZXVlcyBQYXJhbWV0ZXIgZlx1MDBGQ3IgdmVyc2NoYWNodGVsdGUgVGFic1xuXG4gICAgLy8gT3BlbiB0aGUgdGFiIHNwZWNpZmllZCBieSB0YWJJZCAoYW5kIHN1YlRhYiBpZiBuZXN0ZWQpXG4gICAgaWYgKHRhYklkKSB7XG4gICAgICBpZiAoc3ViVGFiSWQpIHtcbiAgICAgICAgLy8gSWYgc3ViVGFiIGlzIHByb3ZpZGVkLCBvcGVuIHRoZSBuZXN0ZWQgdGFiXG4gICAgICAgIG9wZW5OZXN0ZWRUYWIodGFiSWQsIHN1YlRhYklkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwganVzdCBvcGVuIHRoZSBtYWluIHRhYlxuICAgICAgICBvcGVuVGFiKHRhYklkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWQgYWZ0ZXIgb3BlbmluZyB0aGUgdGFiXG4gICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgIGhhbmRsZVNjcm9sbFRvQ29sbGFwc2UoY29sbGFwc2VJZCk7XG4gICAgfVxuXG4gICAgLy8gT3BlbiB0aGUgdGFiIGZyb20gYW5vdGhlciBwYWdlXG4gICAgaWYgKHRhYklkKSB7XG4gICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgIH1cbiAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICBcbiAgICAgIDxIMiB0ZXh0PVwiQkZIIEV1cm9wZWFuIE1lZXR1cFwiIGlkPVwiYmZoXCI+PC9IMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCIgLyogc3R5bGU9e3sgcGFkZGluZ1RvcDogXCI1dndcIn19ICovPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3tkaXNwbGF5OiBcImZsZXhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJmaC1tZW51XCIgc3R5bGU9e3tkaXNwbGF5OiBcImZsZXhcIn19PlxuICAgICAgICA8TWVudVNWRz48L01lbnVTVkc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidWZmZXJcIj5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8T0xEQkZIU3R5bGVUYWJzIGRhdGE9e3RhYmJ5c30gY2xhPVwidGFiY29udGVudFwiPjwvT0xEQkZIU3R5bGVUYWJzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuXG5sZXQgdGFiYnlzID0gW1xuICB7XG4gICAgbm9kZTogPEJGSHBkZj48L0JGSHBkZj4sIFxuICAgIGNzc25hbWU6IFwicGRmXCIsXG4gICAgYnV0dG9ubmFtZTogXCJQREZzXCJcbiAgfSxcbiAge1xuICAgIG5vZGU6IDxCRkhUaW1lbGluZT48L0JGSFRpbWVsaW5lPiwgXG4gICAgY3NzbmFtZTogXCJ0aW1lbGluZVwiLFxuICAgIGJ1dHRvbm5hbWU6IFwiVGltZWxpbmVcIlxuICB9LFxuICB7XG4gICAgbm9kZTogPEd1aWRlUERGPjwvR3VpZGVQREY+LCBcbiAgICBjc3NuYW1lOiBcImd1aWRlXCIsXG4gICAgYnV0dG9ubmFtZTogXCJHdWlkZVwiXG4gIH0sXG4gIHtcbiAgICBub2RlOiA8QkZIR2FsbGVyeS8+LFxuICAgIGNzc25hbWU6IFwiZ2FsbFwiLFxuICAgIGJ1dHRvbm5hbWU6IFwiR2FsbGVyeVwiXG4gIH0sXG4gIHtcbiAgICBub2RlOiA8QWJvdXQvPiwgXG4gICAgY3NzbmFtZTogXCJhYm91dFwiLFxuICAgIGJ1dHRvbm5hbWU6IFwiQWJvdXRcIlxuICB9LFxuICB7XG4gICAgbm9kZTogPFBvc3RlckdhbGxlcnkvPiwgXG4gICAgY3NzbmFtZTogXCJwb3N0ZXJzXCIsXG4gICAgYnV0dG9ubmFtZTogXCJQb3N0ZXJcIlxuICB9XG5cbl1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBBYm91dCgpe1xuICByZXR1cm4oXG4gICAgPGRpdj5cbiAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PVwiVGhpcyB3YXMgdGhlIGJlc3QgbWVldCB1cCBldmVyIGluIHRoZSBoaXN0b3J5IG9mIGlHRU0uIFRoYW5rIHlvdSBzbyBtdWNoIVwiIGNpdGU9XCJOZW1hbmphIFN0aWplcG92aWNcIj48L0Jsb2NrUXVvdGVCPlxuICAgICAgPEgyIHRleHQ9XCJJbnRyb2R1Y3Rpb25cIi8+XG4gICAgICA8cD5UaGlzIHllYXIsIHdlIGhvc3RlZCB0aGUgZmlyc3QgQkZIIEV1cm9wZWFuIE1lZXQtVXAgZXZlci4gT3ZlciB0aGUgY291cnNlIG9mIHRocmVlIGZ1bGwgZGF5cywgd2UgZW1iYXJrZWQgb24gYSBqb3VybmV5IHdoZXJlIG1pbmRzIG1ldCwgYW5kIGlkZWFzIGlnbml0ZWQuIE91ciBtaXNzaW9uOiA8L3A+XG4gICAgICA8cD48Yj5JZ25pdGUuIElubm92YXRlLiBJbnNwaXJlLjwvYj48L3A+XG4gICAgICA8cD5UaGlzIGV2ZW50IHdhcyBkZXNpZ25lZCB0byB1bml0ZSB0aGUgYnJpZ2h0ZXN0IG1pbmRzIGZyb20gYWNyb3NzIEV1cm9wZSBhbmQgYmV5b25kLCBwcm92aWRpbmcgYSBwbGF0Zm9ybSBmb3Igc2hhcmluZyBncm91bmRicmVha2luZyBpZGVhcyBhbmQgZm9zdGVyaW5nIGludGVybmF0aW9uYWwgY29ubmVjdGlvbnMgZHVyaW5nIHRoZSBlYXJseSBzdGFnZXMgb2YgdGhlIGlHRU0gY29tcGV0aXRpb24uIDwvcD5cbiAgICAgIDxIMiB0ZXh0PVwiQWJvdXQgT3VyIENvb3BlcmF0aW9uXCIvPlxuICAgICAgPHA+IFRoZSBjb29wZXJhdGlvbiBiZXR3ZWVuIEJpZWxlZmVsZCwgRnJhbmtmdXJ0LCBhbmQgSGFtYnVyZyBpcyByb290ZWQgaW4gdGhlIGZyaWVuZHNoaXBzIGFuZCBuZXR3b3JrcyBmb3JtZWQgZHVyaW5nIHRoZSBpR0VNIGNvbXBldGl0aW9uIDIwMjMuIE91ciBtaXNzaW9uIGlzIHRvIHByb21vdGUgZnV0dXJlIHByb2plY3RzIGFuZCBicmluZyB0ZWFtcyB0b2dldGhlci4gQnkgYWx0ZXJuYXRpbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBCRkggRXVyb3BlYW4gTWVldC1VcCBlYWNoIHllYXIsIHdlIGFpbSB0byBwcm92aWRlIGRpdmVyc2UgbmV0d29ya2luZyBvcHBvcnR1bml0aWVzIGFuZCBmb3N0ZXIgYSBzdHJvbmcgc2Vuc2Ugb2YgY29tbXVuaXR5IGFtb25nIGlHRU0gcGFydGljaXBhbnRzLiA8L3A+XG4gICAgICA8aDM+SGVhZCBvZiBCRkggQ29tbWl0dGVlPC9oMz5cbiAgICAgIDxIMiB0ZXh0PVwiV2hhdCBXZXJlIE91ciBHb2Fscz9cIi8+IFxuICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgIDxsaT4gPGJpZz4mI3gyNzEzOzwvYmlnPiBVbml0ZSBpR0VNIHRlYW1zIGZyb20gYWNyb3NzIEV1cm9wZSBhbmQgZm9zdGVyIGEgc2Vuc2Ugb2YgY29tbXVuaXR5IGFuZCBjb2xsYWJvcmF0aW9uLiA8L2xpPlxuICAgICAgICA8bGk+IDxiaWc+JiN4MjcxMzs8L2JpZz4gUHJvdmlkZSBhIHBsYXRmb3JtIGZvciB0ZWFtcyB0byBwcmVzZW50IHRoZWlyIHByb2plY3RzIGFuZCByZWNlaXZlIHZhbHVhYmxlIGZlZWRiYWNrLiA8L2xpPlxuICAgICAgICA8bGk+IDxiaWc+JiN4MjcxMzs8L2JpZz4gT2ZmZXIgb3Bwb3J0dW5pdGllcyBmb3IgcGFydGljaXBhbnRzIHRvIGJ1aWxkIHRoZWlyIHNjaWVudGlmaWMgYW5kIHNvZnQgc2tpbGxzIHRocm91Z2ggd29ya3Nob3BzIGFuZCBwcmVzZW50YXRpb25zLiA8L2xpPlxuICAgICAgICA8bGk+IDxiaWc+JiN4MjcxMzs8L2JpZz4gRW5jb3VyYWdlIG5ldHdvcmtpbmcgYW5kIHNvY2lhbGl6aW5nIGFtb25nIGlHRU0gdGVhbXMgdG8gYnVpbGQgbGFzdGluZyByZWxhdGlvbnNoaXBzIGFuZCBleHBhbmQgc2NpZW50aWZpYyBuZXR3b3Jrcy4gPC9saT5cbiAgICAgICAgPGxpPiA8YmlnPiYjeDI3MTM7PC9iaWc+IEVsYWJvcmF0ZSB0aGVpciB0ZWFtIHByb2plY3RzIGFuZCByZWZsZWN0IHRoZWlyIGRlY2lzaW9ucyBpbiBlYXJseSBzdGFnZSBvZiB0aW1lIGluIGNvb3BlcmF0aW9uIHdpdGggaUdFTSBhbHVtbmkgYW5kIHNjaWVudGlzdCBmcm9tIGFsbCBhcm91bmQgdGhlIGdsb2JlIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPEgyIHRleHQ9XCJXaGF0IERpZCB0aGUgUGFydGljaXBhbnRzIExlYXJuP1wiLz5cbiAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICA8bGk+IDxiaWc+JiN4MjcxMzs8L2JpZz4gR2FpbmVkIGluc2lnaHRzIGludG8gY3VycmVudCByZXNlYXJjaCBmcm9tIEJpZWxlZmVsZCBVbml2ZXJzaXR5IGFuZCBuZWFyYnkgaW5zdGl0dXRpb25zIHRocm91Z2ggU2NpZW50aWZpYyBUYWxrcy4gPC9saT5cbiAgICAgICAgPGxpPiA8YmlnPiYjeDI3MTM7PC9iaWc+IExlYXJuZWQgZnJvbSBvdmVyIDEwIG5hdGlvbmFsIGFuZCBpbnRlcm5hdGlvbmFsIHNwZWFrZXJzIGFuZCBleHBlcnRzIGZyb20gaW5kdXN0cnksIGFjYWRlbWlhLCBhbmQgdGhlIGlHRU0gY29tbXVuaXR5PC9saT5cbiAgICAgICAgPGxpPiA8YmlnPiYjeDI3MTM7PC9iaWc+IFBhcnRpY2lwYXRlZCBpbiBoYW5kcy1vbiBXb3Jrc2hvcCBTZXNzaW9ucyBsZWQgYnkgbGVhZGluZyBleHBlcnRzLCB3aGljaCBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiBhbWJpdGlvdXMgcmVzZWFyY2hlcnM8L2xpPlxuICAgICAgICA8bGk+IDxiaWc+JiN4MjcxMzs8L2JpZz4gRW5nYWdlZCBpbiBQYW5lbCBEaXNjdXNzaW9ucyB0byBwdXp6bGUgb3ZlciBpZGVhcywgaW1wcmVzc2lvbnMsIGFuZCB0aGUgcG90ZW50aWFsIG9mIG11bHRpcGxlIHByb2plY3RzLCBmb3N0ZXJpbmcgY29sbGFib3JhdGlvbiBhbmQgbmV0d29ya2luZzwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPEgyIHRleHQ9XCJTdGlja2VyIENvbGxlY3Rpb24gQWxidW06IENvbm5lY3QgYW5kIENvbGxlY3QhXCIvPlxuICAgICAgPHA+V2UgYXJlIGV4Y2l0ZWQgdG8gaW50cm9kdWNlIHRoZSBmaXJzdCBvZmZpY2lhbCBCRkggaUdFTSBTdGlja2VyIENvbGxlY3Rpb24gQWxidW0gb2YgMjAyNCEgT3ZlciB0aGUgcGFzdCBmZXcgeWVhcnMsIGlHRU0gdGVhbXMgZnJvbSBhcm91bmQgdGhlIHdvcmxkIGhhdmUgc3RhcnRlZCBleGNoYW5naW5nIGZ1bm55IG1lbWVzLCBsb2dvcywgbWFzY290cywgYW5kIGNvbnRhY3QgaW5mb3JtYXRpb24gdmlhIHN0aWNrZXJzLiBSZWNvZ25pemluZyB0aGlzIGNyZWF0aXZlIHRyZW5kLCB3ZSd2ZSBlc3RhYmxpc2hlZCB0aGUgZmlyc3QtZXZlciBpR0VNIFRlYW1zIFN0aWNrZXIgQWxidW0gdG8gZW5oYW5jZSBzb2NpYWwgbmV0d29ya2luZyBhbW9uZyBwYXJ0aWNpcGFudHMgZHVyaW5nIHRoZSBHcmFuZCBKYW1ib3JlZSBhbmQgYmV5b25kLiA8L3A+XG4gICAgICA8cD5EbyB5b3Ugd2FudCB0byBqb2luIHRoZSBiaWdnZXN0IHNvY2lhbCBuZXR3b3JraW5nIGV2ZW50LCBjb2xsZWN0IGFsbCBzdGlja2VycywgYW5kIHdpbiBzcGVjaWFsIHByaXplcz8gU2lnbiB1cCBhbmQgZ2V0IHJlYWR5IHRvIGNhdGNoICdlbSBhbGwhIFRvIHBhcnRpY2lwYXRlLCBzdWJtaXQgeW91ciBwcm9qZWN0IHRpdGxlIGFuZCBhYnN0cmFjdCwgYW5kIGRlc2lnbiBhIHVuaXF1ZSBzdGlja2VyIHRoYXQgcmVwcmVzZW50cyB5b3VyIHRlYW0uIFRoZXNlIHN0aWNrZXJzIHdpbGwgYmUgZXhjaGFuZ2VkIGF0IHRoZSBHcmFuZCBKYW1ib3JlZSBpbiBQYXJpcy4gT25jZSB5b3UndmUgY29sbGVjdGVkIGFsbCB0aGUgc3RpY2tlcnMgZnJvbSBwYXJ0aWNpcGF0aW5nIHRlYW1zLCBzZW5kIGEgcGljdHVyZSBvZiB5b3VyIGNvbXBsZXRlZCBhbGJ1bSB0byB0aGUgaUdFTSBCaWVsZWZlbGQgaGVhZHF1YXJ0ZXJzIGZvciBhIGNoYW5jZSB0byB3aW4gc3BlY2lhbCBwcml6ZXMuIDwvcD5cbiAgICAgIDxwPiBUaGlzIGFsYnVtIGlzbid0IGp1c3QgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZSBcdTIwMTMgeW91IGNhbiBhbHNvIGNvbGxlY3Qgc3RpY2tlcnMgZnJvbSBub24tcGFydGljaXBhdGluZyB0ZWFtcyBvbiB0aGUgYmFja3NpZGUgb2YgdGhlIGFsYnVtLiBMZXQncyBjb25uZWN0LCBzaGFyZSwgYW5kIG1ha2UgbWVtb3JpZXMgdG9nZXRoZXIhIDwvcD5cbiAgICAgIDxIMiB0ZXh0PVwiQXdhcmRzIGFuZCBXaW5uZXJzIG9mIHRoZSBCRkggQ29tcGV0aXRpb24gXCIvPlxuICAgICAgPHA+VGhlIGV2ZW50IGN1bG1pbmF0ZWQgaW4gYW4gQXdhcmRzIENlcmVtb255IGNlbGVicmF0aW5nIGV4Y2VsbGVuY2UgaW4gY3JlYXRpdml0eSwgdGVhbXdvcmssIGFuZCBpbm5vdmF0aW9uLiBPdXIganVkZ2VzLCB1c2luZyB0aGVpciBleHBlcmllbmNlIGZyb20gcGFzdCBpR0VNIHllYXJzLCBldmFsdWF0ZWQgdGhlIHRlYW1zJyBwZXJmb3JtYW5jZXMuIFRoZSBoZWFydGZlbHQgd2lubmVyLCByZWNvZ25pemVkIGZvciB0aGVpciBvdXRzdGFuZGluZyBjb250cmlidXRpb24gYW5kIHNwaXJpdCwgd2FzIHRoZSB0ZWFtIHRoYXQgdHJ1bHkgZW1ib2RpZWQgdGhlIHZhbHVlcyBvZiB0aGUgaUdFTSBjb21tdW5pdHkuIDwvcD5cbiAgICAgIDxoMz5CZXN0IFByZXNlbnRhdGlvbjwvaDM+XG4gICAgICB7LyogaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2ZpcnN0LXBsYWNlLnN2ZyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9maXJzdC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gQWFjaGVuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJ0cm9waHlcIj48c3Bhbj5Ucm9waHk8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRpY2tldHNcIj4gPHNwYW4+MiBUaWNrZXRzIGZvciBTeW5CaW8gUmVhY3RvciBDb25mZXJlbmNlIHByb3ZpZGVkIGJ5IEdBU0I8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3NlY29uZC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gTWFyYnVyZzwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiY2VydGlmaWNhdGVcIj48c3Bhbj4gQ2VydGlmaWNhdGU8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJtb25leVwiPiA8c3Bhbj4kNTAwIFVTRCBwcm92aWRlZCBieSBaeW1vIFJlc2VhcmNoPC9zcGFuPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy90aGlyZC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gR1UtRnJhbmtmdXJ0PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm1vbmV5XCI+IDxzcGFuPiQyNTAgVVNEIHByb3ZpZGVkIGJ5IEplbmEgQmlvc2NpZW5jZTwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YnIvPlxuICAgICAgPGgzPkJlc3QgUG9zdGVyIEV4aGliaXRpb24gQm9vdGg8L2gzPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2ZpcnN0LXBsYWNlLnN2ZyBcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwid2lubmVyXCI+aUdFTSBGcmVpYnVyZyA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRyb3BoeVwiPjxzcGFuPlRyb3BoeTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwidGlja2V0c1wiPiA8c3Bhbj4yIFRpY2tldHMgZm9yIFN5bkJpbyBSZWFjdG9yIENvbmZlcmVuY2UgcHJvdmlkZWQgYnkgR0FTQjwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvc2Vjb25kLXBsYWNlLnN2ZyBcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwid2lubmVyXCI+aUdFTSBHVS1GcmFua2Z1cnQ8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwia2l0XCI+IDxzcGFuPlBsYXNtaWQgSXNvbGF0aW9uIEtpdHMgcHJvdmlkZWQgYnkgTWFjaGVyeSBOYWdlbDwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvdGhpcmQtcGxhY2Uuc3ZnIFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ3aW5uZXJcIj5pR0VNIFdhZ2VuaW5nZW5VUiA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwia2l0XCI+PHNwYW4+TWluaS1DaXJjbGUgcHJvdmlkZWQgYnkgUGxhc21pZEZhY3Rvcnk8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPEgyIHRleHQ9XCJXaGF0IGRpZCB3ZSBsZWFybiBhcyBvcmdhbml6ZXJzIGZvciB0aGUgbmV4dCBmZXcgeWVhcnM/XCIvPlxuICAgICAgPGgzPkdvb2QgcGxhbm5pbmcgaXMga2V5PC9oMz5cbiAgICAgIDxwPlN0YXJ0aW5nIGVhcmx5LCBjbGVhcmx5IGRpc3RyaWJ1dGluZyB0YXNrcywgYW5kIHN0YXlpbmcgb3JnYW5pemVkIFx1MjAxMyB0aGF0IGF2b2lkcyBjaGFvcy4gV2UgY2FuIG5vdyBzdHJ1Y3R1cmUsIGNvb3JkaW5hdGUsIGFuZCBtYW5hZ2UgdGhlIG5leHQgbWVldC11cCBpbiBGcmFua2Z1cnQgbW9yZSBlZmZpY2llbnRseSBhbmQgYWhlYWQgb2YgdGltZS4gPC9wPlxuICAgICAgPGgzPkNvbW11bmljYXRpb24gaXMgZXZlcnl0aGluZzwvaDM+XG4gICAgICA8cD5SZWd1bGFyIHRlYW0gY29tbXVuaWNhdGlvbiBhbmQgY2xlYXIgYWdyZWVtZW50cyBhcmUgZXNzZW50aWFsIHRvIGtlZXAgZXZlcnlvbmUgb24gdGhlIHNhbWUgcGFnZS4gV2VcdTIwMTl2ZSByZWFsaXplZCBqdXN0IGhvdyBpbXBvcnRhbnQgc29jaWFsaXppbmcgYW5kIG5ldHdvcmtpbmcgcmVhbGx5IGFyZSB3aXRoaW4gdGhlIGlHRU0gY29tbXVuaXR5LiA8L3A+XG4gICAgICA8aDM+U3RheSBmbGV4aWJsZSA8L2gzPlxuICAgICAgPHA+U3BvbnRhbmVvdXMgY2hhbmdlcyBoYXBwZW4gXHUyMDEzIGJhY2t1cCBwbGFucyBhbmQgcXVpY2sgZGVjaXNpb25zIGFyZSBhIG11c3QuIFdpdGggb3VyIHBsYXRmb3JtLCB3ZSB3ZXJlIGFibGUgdG8gYmV0dGVyIGNvbm5lY3QgdGhlIHRlYW1zLiA8L3A+XG4gICAgICA8aDM+Rm9jdXMgb24gdGhlIHBhcnRpY2lwYW50cyA8L2gzPlxuICAgICAgPHA+VW5kZXJzdGFuZGluZyBwYXJ0aWNpcGFudHMnIG5lZWRzIGFuZCBvZmZlcmluZyBhIGRpdmVyc2UgcHJvZ3JhbSB0aGF0IHJlc29uYXRlcy4gV2Ugbm93IGtub3cgaG93IG11Y2ggZnVuIHRoZSBleGNoYW5nZSBvbiBib3RoIHNjaWVudGlmaWMgYW5kIHBlcnNvbmFsIGxldmVscyBjYW4gYmUuIDwvcD5cbiAgICAgIDxoMz5GZWVkYmFjayBtYWtlcyBpdCBiZXR0ZXIgPC9oMz5cbiAgICAgIDxwPkdhdGhlcmluZyBmZWVkYmFjayBhZnRlciB0aGUgZXZlbnQgYW5kIGxlYXJuaW5nIGZyb20gaXQgdG8gbWFrZSB0aGUgbmV4dCBvbmUgZXZlbiBiZXR0ZXIuIFRoaXMgd2lsbCBtYWtlIHRoZSAyMDI1IG1lZXQtdXAgaW4gRnJhbmtmdXJ0IGV2ZW4gYmlnZ2VyIGFuZCBiZXR0ZXIhIFRoYW5rIHlvdSEgPC9wPlxuXG4gICAgICA8SDIgdGV4dD1cIkZlZWRiYWNrIHp1IHVuc2VyZW0gRXZlbnRcIi8+XG4gICAgICA8SDIgdGV4dD1cIkFja25vd2xlZGdtZW50c1wiLz5cbiAgICAgIDxwPlRoZSBCRkggQ29tbWl0dGVlIGV4dGVuZHMgaGVhcnRmZWx0IHRoYW5rcyB0bzogPC9wPlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+VGhlIDxiPmlHRU0gVGVhbSBvZiB0aGUgVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGQgPC9iPmZvciB0aGVpciBpbnZhbHVhYmxlIHN1cHBvcnQgaW4gb3JnYW5pemluZyBhbmQgZXhlY3V0aW5nIHRoaXMgZXZlbnQuIDwvbGk+XG4gICAgICAgIDxsaT5BbGwgdGhlIHNwZWFrZXJzLCB3b3Jrc2hvcCBsZWFkZXJzLCBhbmQgcGFydGljaXBhbnRzIHdobyBjb250cmlidXRlZCB0byBtYWtpbmcgdGhpcyBNZWV0LVVwIGEgc3VjY2Vzcy4gPC9saT5cbiAgICAgICAgPGxpPiAgICBUaGUgaUdFTSB0ZWFtcyBmb3IgdGhlaXIgZW5nYWdlbWVudCwgc2NpZW50aWZpYyBleGNlbGxlbmNlLCBhbmQgZm9yIG1ha2luZyB0aGUgZXZlbnQgYW4gdW5mb3JnZXR0YWJsZSBleHBlcmllbmNlLiA8L2xpPlxuICAgICAgICA8bGk+T3VyIFNwb25zb3JzIGFuZCBDb2xsYWJvcmF0b3JzPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8SDIgdGV4dD1cIkxvb2tpbmcgRm9yd2FyZCB0byAyMDI1IFwiLz5cbiAgICAgIDxwPm4gMjAyNSwgd2Ugd2lsbCB3ZWxjb21lIGFsbCBFdXJvcGVhbiBpR0VNIHRlYW1zIHRvIG91ciBsb3ZlbHkgdW5pdmVyc2l0eSBpbiBGcmFua2Z1cnQgQ2l0eS4gVGhpcyBNZWV0LVVwIHdpbGwgcHJlcGFyZSB5b3UgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZSBpbiBQYXJpcy4gQWZ0ZXIgZXN0YWJsaXNoZWQgYSBicmFuZCBhbmQgYSBwbGF0Zm9ybSwgd2UgYXJlIGV4Y2l0ZWQgdG8gYW5ub3VuY2Ugb3VyIHBsYW5zIGZvciB0aGUgZnV0dXJlOiA8L3A+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaT4gICAgPGI+RXhwYW5zaW9uPC9iPjogV2UgYXJlIGFscmVhZHkgcGxhbm5pbmcgdGhlIG5leHQsIGV2ZW4gbGFyZ2VyIGV2ZW50IGF0IHRoZSBVbml2ZXJzaXR5IG9mIEZyYW5rZnVydCBpbiAyMDI1LiBUaGlzIE1lZXQtVXAgd2lsbCBiZSBzaWduaWZpY2FudGx5IGJpZ2dlciBhbmQgbW9yZSBpbnRlcm5hdGlvbmFsLiA8L2xpPlxuICAgICAgICA8bGk+ICAgIDxiPlByZXBhcmF0aW9uIGFuZCBFdmFsdWF0aW9uPC9iPjogV2l0aCBtb3JlIHByZXBhcmF0aW9uIHRpbWUgYW5kIGludGVuc2l2ZSBldmFsdWF0aW9uIG9mIG91ciBmaXJzdCBldmVudCdzIHN1Y2Nlc3MsIHdlIGFpbSB0byBicmluZyBCRkggdG8gRnJhbmtmdXJ0LCBtYWtpbmcgaXQgYW4gZXZlbnQgbm90IHRvIGJlIG1pc3NlZC4gPC9saT5cbiAgICAgICAgPGxpPiAgICA8Yj5Db2xsYWJvcmF0aW9uIGJldHdlZW4gb3RoZXIgTWVldC1VcCBvcmdhbml6ZXJzPC9iPjogQnkgc3VwcG9ydGluZyBvdGhlciBpR0VNIHRlYW1zIHBsYW5uaW5nIHRvIG9yZ2FuaXplIG1lZXQgdXAgaW4gZGlmZmVyZW50IGxvY2F0aW9ucyBhcm91bmQgdGhlIGdsb2JlLCB3ZSBmb3N0ZXJpbmcgdG8gZW5oYW5jZSB0aGUgcG90ZW50aWFsIGFuZCBzdXBwb3J0IG9yZ2FuaXphdGlvbiB3aXRoIG91ciBleHBlcmllbmNlcy4gPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8SDIgdGV4dD1cIkNvbmNsdXNpb25cIi8+XG4gICAgICA8cD5UaGUgQkZIIEV1cm9wZWFuIE1lZXQtVXAgMjAyNCB3YXMgYSByZXNvdW5kaW5nIHN1Y2Nlc3MsIHVuaXRpbmcgb3ZlciAyMCB0ZWFtcyBhbmQgMTUwIHBhcnRpY2lwYW50cyBpbiBhIGNlbGVicmF0aW9uIG9mIHNjaWVuY2UsIGlubm92YXRpb24sIGFuZCBjb2xsYWJvcmF0aW9uLiBBcyB3ZSBsb29rIGZvcndhcmQgdG8gZnV0dXJlIGV2ZW50cywgd2UgcmVtYWluIGNvbW1pdHRlZCB0byBvdXIgbWlzc2lvbiBvZiBpZ25pdGluZywgaW5ub3ZhdGluZywgYW5kIGluc3BpcmluZyB0aGUgbmV4dCBnZW5lcmF0aW9uIG9mIHNjaWVudGlzdHMuIEhlcmUncyB0byBtYW55IG1vcmUgZ3JlYXQgbW9tZW50cyBhbmQgYW4gdW5mb3JnZXR0YWJsZSB0aW1lIGZvciBldmVyeSBwYXJ0aWNpcGFudCBcdTIwMTMgY2hlZXJzISA8L3A+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCByaWdodFwiPlxuICAgICAgICAgIDxidXR0b24+VmlzaXQgdGhlIFdlYnNpdGU8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJsZWZ0LWJ1dHRvblwiPlN0YXkgaW4gVG91Y2g8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5cblxuXG5mdW5jdGlvbiBNZW51U1ZHKCl7XG4gIHJldHVybihcbjxzdmcgXG4gIHdpZHRoPVwiMTQ0LjEzMjA4bW1cIlxuICBoZWlnaHQ9XCIxMzIuNDQ2MThtbVwiXG4gIHZpZXdCb3g9XCIwIDAgMTQ0LjEzMjA4IDEzMi40NDYxOFwiXG4gIHZlcnNpb249XCIxLjFcIlxuICBpZD1cInN2ZzFcIlxuPlxuICA8ZGVmcyBpZD1cImRlZnMxXCIgLz5cbiAgPGEgdHlwZW9mPVwiYnV0dG9uXCIgaHJlZj1cIi9iaWVsZWZlbGQtY2ViaXRlYy9jb250cmlidXRpb24/dGFiPWJmaCZzdWJUYWI9Z2FsbFwiID5cbiAgPGdcbiAgICBpZD1cImcyXCJcbiAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQ0LjEwMTkyLC01OC4zNDk3MTgpXCJcbiAgICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9XCJnYWxsZXJ5LnN2Z1wiXG4gICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9ezk2fVxuICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPXs5Nn1cbiAgPlxuICAgIDxjaXJjbGVcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG9wYWNpdHk6IFwiMC44NVwiLFxuICAgICAgICBmaWxsOiBcIiNmYWU5OWVcIixcbiAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgIHN0cm9rZTogXCIjOTQwMDg0XCIsXG4gICAgICAgIHN0cm9rZVdpZHRoOiBcIjEuMzIyOTJcIixcbiAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICBwYWludE9yZGVyOiBcImZpbGwgbWFya2VycyBzdHJva2VcIlxuICAgICAgfX1cbiAgICAgIGlkPVwicGF0aDEtMlwiXG4gICAgICBjeD1cIjExNi4zNDUxNlwiXG4gICAgICBjeT1cIjE3MS42MTM2XCJcbiAgICAgIHI9XCIxOC41MjA4MzRcIlxuICAgIC8+XG4gICAgPGltYWdlXG4gICAgICB3aWR0aD17MjB9XG4gICAgICBoZWlnaHQ9ezIwfVxuICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFnQUFBQUlBQ0FZQUFBRDBlTlQ2QUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpcbkFBQU94QUFBRHNRQmxTc09Hd0FBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUNBQVNVUkJcblZIaWM3TjExZUZUWDFnYndkeVFURDBRSUxzSGRvVWlMdTd0N0lXaHhEUjZrUUExcWw3WVVhR21CRm9maTdoUW9VRXB4ZHcyeGlVeG1cbjVueC9wTnlQUy9Ic3M4L0krM3NlbnZ2Y1FOWmFKU0ZublhQMjNnc2dJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlcbklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlcbklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlcbklpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUlpSWlJaUFYUmFGK0JnUEFBRS8vUExcbjY1K1BCV3BYRGhGUm1zUUJNUC96S3hwQVBJQVVUU3NpaCtHT0RVQVlnR0lBQ2dQSTljK3ZuQUN5QUFqUXJDb2lJdlhaQUZ3QmNBN0FcbldRRG5BUndEY1B5ZjN5TTM0dW9OUUFpQVNnQXFBNmdJb0FSNGtTY2llbFkwZ04wQWRnRFlCdUMwdHVXUURLN1dBQmdBbEFUUUdFQWpcbkFLWGhlditOUkVScU93MWdHWUNGQUs1cVdnbXB4aFV1amg0QWFnRm9BNkFaZ1BUYWxrTkU1REpzQUxZRCtCTEFid0FVYmNzaGtaeTVcbkFTZ09vQmVBRGdDQ05LNkZpTWpWL1FuZ1E2UStHYkJyWEFzSjRHd05nQkZBZXdEOUFieWpjUzFFUk83b0hJQnhBSlpyWFFpbGpiTTBcbkFDWUE3WkQ2VFpkUDQxcUlpQWpZaWRTYnNUTmFGMEp2eDlFYkFGOEE0UUNHQWNpcWNTMUVSUFMva2dITUFqQWRRSkxHdGRBYmN0UUdcbndBdkFZQUJEQVdUUXVCWWlJbnE1NHdEYUFyaWdkU0gwK2h5eEFhZ0w0QXZ3VVQ4UmtUT0pCZEFid0ZLdEM2SFhvOWU2Z0tka1ErcnFcbjBrM2d4WitJeU5rRUFGZ0M0R3VrTHRnbUIrY0lUd0NNU0YxSUVnbWUwa2RFNUFwK1Erb3JnUVN0QzZFWDA3b0JLSXpVanJHNHhuVVFcbkVaRlkrNUY2S3V0anJRdWg1OVB5RlVBM0FJZkJpejhSa1N1cURHQXZnRXhhRjBMUHA4VVRBRzhBYzVCNmloOFJFYm0ydndCVUJaOEVcbk9CelpEVUFoQUw4Z2RSd3ZFUkc1aDkwQTZvRm5CVGdVbWE4QU9nTDRBN3o0RXhHNW02b0Fma0xxeEZaeUVMSytHQU1CZklQVUkzMkpcbmlNajlGRWJxTk1GZEd0ZEIvMUQ3RllBT3dNUi9maEVSa1h1ekkvVlZ3RmF0Q3lGMUd3QWpnTytRdXRyZmFYam9QT0NqODRhdnpoczZcbjZPQ2w4OUs2SkNLaXQySlJMTEFnQllsS0ltTHQ4VnFYODhROUFDVUIzTlc2RUhlblZnUGdnOVRGZm8xVWlwOG1PdWlRUVIrTVRJWlFcblpES0VJbFFmakVCOU9nVHEwOEZUNTZsMWVVUkV3bGtVQ3g3YW8zRGJkZytYcmRkdzJYb05jWXBacTNLMkE2aU4xRmNDcEJFMUdnQXZcbkFCc0JWRk1oOWx2TGFNaUEvTWJjQ0RQbVFBNURWbmp6enA2STNKZ0NCVmV0TjNBODVSVCtTamtMaTJLUlhVSTNBRC9JVGtyL1QzUURcbllFRHFlZjdOQmNkOUs5a01tVkhNb3hDS2VoUkFlbjA2cmNzaEluSklpVW9TRGxxTzRrRHlVU1FxMG5icTNRZFFFRHdmUURPaUc0QnZcbm9mRUJQejQ2YjVReUZVTTVVd2xrMEFkcldRb1JrVk5KVXBLeE5Xa1BEbHVPd1M3bjZmeC9BUFNUa1lqK1RXUURNQVhBT0lIeDNraUFcbjNoL3ZtY3Fqbktra1BIUWVXcFZCUk9UMGJ0dnU0dGVFZFhoZ2Y2UjJLanVBc2dDT3E1MkkvazFVQTlBWHFTTWdwUXZVcDBNbFV6bVVcbjl5d0pJeWRRRWhFSmthSllzVDVwRzQ1WVRxaWRhaVdBbG1vbm9YOFQwUUEwQTdBQ2tnY0xlZXU4VU51cktzcVpTa0N2NlV3aklpTFhcbnRTZjVFTFlrN1ZMemhZQWRxVVBoL2xZdkJUMVBXazhDREVQcWluOXZBYlc4RmgyQTBxWmk2T3piQ21IR0hOQnBQdEdZaU1oMTVUUm1cblEzcDlPcHl6WGxTckNkQUJTSWZVSndFa1VWcXVuaWFram5vc0w2aVdWd28xaEtDcFYxM2tNbWFYbFpLSWlBQWN0cHpBbXNSTmFvVzNcbkFjZ1A0TEphQ2VqZjB2SUU0R05JZkc5VDNsUVNIWDFiSUVnZktDc2xFUkg5STZzaEV3RGdpdTI2R3VIMUFHSUI3RlFqT0QzZjJ6NEJcbmFBUmdiUm8rLzdWNTZreG81bDBQeFQwS3E1MktpSWhlUWdId2M4SUtuRW01b0ViNGEwaDlyY3pUQVNWNW15Y0FPUUZzaG9UMy9sa01cbkdkSER0ejNDakRuVVRrVkVSSytnQTVEWEdJYVRLYWVSTFA3a3dQUklQU0pZbFVjTTlHOXYwd0NzUk9wWVIxWGxOK1pHVjkrMjhOZjdcbnFwMktpSWhlazRmT0E0SDY5UGdyNVl3YTRXMEExcWtSbVA3dFRmZlBkUUJRUTQxQ25sYkNvd2c2K2JhQ2lRZjZFQkU1bk1JZStWSFFcbm1GZU4wRTBnNGRVeXBYcVRCc0Fmd0VkcUZmSkVSVk1adFBacEJBUDM5aE1ST2F4NjN0WFYySVlkQ3FDSTZLRDBmRzl5bFowQ0lJdGFcbmhRQkFEYy9LYU9SZG0zdjdpWWdjWEFaOU1BcDc1RmNqdE9wUG1TblY2ellBSlFIMFY3T1FDcWJTcU9uMW5wb3BpSWhJb0NxZUZkUUlcbnl3WkFrdGRwQUhSSVBlZGZ0WVAyaTNrVVFpUHYybXFGSnlJaUZXUXpaRWFvUGtSMDJDcmdPZ0FwWHFjQmFBMmdvbG9GNURIbVFtdWZcblJuenNUMFRraEVxYWlvb09HUWlWWHpkVHFsYzFBRG9BRVdvbEQ5RUhvYU5QQ3hqU1BKS0FpSWkwVU5nam54cGhDNm9SbFA3WHF4cUFcblJnQktxSkhZQ0NQYStqU0ZwODZrUm5naUlwSWdnejRZQVhvLzBXRlZXVjFJLyt0VjcvVlZ1L3R2NkYwVFdRd1oxUXJ2TUZLVUZGaVFcbmdtVEZnaVFsaVdkY3Vna0Q5QWpVcDRPbnpsUHJVdjVIa3BLRXgvWlk2QUNIcnM4T3U5YWwwQnZJcU0rQVdIdTh5SkI4QWlEQnkxNjhcbjF3U3dUWTJreFR3S29aMVBVelZDYXlMS0hvMjd0dnQ0YUkvQ1Ezc1VIdGdlSWNvZURiTmk1Z1hmellYb2cxREVvd0RLbTBvaHZUNUFcbmt4b2UyUi9qZDhzeG5FbTVnQ2g3dEZQVlIyN0xEdUFxZ0hNQXp2N3p2MmNBSEFHUXFGMVpydVZsRGNBT0FOVkZKd3pRKzJHd1h5K0hcbnUvTjRFOUgyV0Z5MlhzTmwyelZjdGw1SGpEMVc2NUxJd1JsaFJGV3ZDcWptV1JsNlNRdGViYkJoUzlJZUhFdytBdHNyN3FnZHZUNmlcbmZ5UUJPSVRVNjlNT0FMOERzR3Bha1JONzBiLzBkNUQ2bHl4Y081K21LT1pSU0kzUXFqSXJDZmpUY2hySFUwN2h0dTJ1MXVXUWs4cG5cbkRFTkhuNWJ3MEttMnF4WUFrS1FrNDBmek1seXozWHlqejNQMCtvaWU4UURBRWdDTEFCelZ1QmFuODZJR1lDR0FycUtUNVRIbVFnL2ZcbmRxTERxa2FCZ2pNcEYvQ0g1U1F1V0MvekxvV0VLT1NSRHgxOVdxcDJuMjJISGZQTlMzSEYrblpEMVJ5OVBxSVhPQU5nQVlCdkFQQ3hcbjdHdDQzdjY3ZEFEbUF4QTZpY2NBQXpyN3RvS3Z6a2RrV0ZYWVlNY0p5eW44bXJBV2h5ekg4TkFlQllWdjgwbVFoL1lvK09sOWtNMlFcbldaWDR1NUlQNHBqbDVGdC92cVBYUi9RQ0dRRFVCdEFYZ0MrQWsrQjZnWmQ2M2piQWpnQ0VYNlhmOHl5UERQcGcwV0dGc3NPT3c1YmpcbitDenVHNnhJWEk4SDlrZGFsMFF1YW52U1BsakV6MU9IV1VuQW51UzB2NzF6OVBxSVhpSTlnUEZJWFVRNEU0QTJxMXVkd1BNYWdFNmlcbmszanFUSGpYOHgzUllZVzZacjJKTCtNWFlFM2laankyeDJoZERyazRzNUtBVXlubmhNYzliamtsNU1MdDZQVVJ2UVkvQUNPUnVvT2dcbkMzaTg4TDg4MndCa0J5Qjh1c003cHRMdzFubUpEaXVFV1VuQWlzVDErTTc4RSs3WkhtaGREcm1SczlhTHdtT2VzMTRTRnN2UjZ5TjZcblRaa0EvSURVYmUwOFgrQXB6eTcxYlFQQlhaSVJSbFR5TENzeXBEQi9wNXpEcXNTTlNGU1N0QzZGM05BZDJ6MkhqdW5vOVJHOW9Sb0FcbmpnRVlDR0NleHJVNGhHY2JnQmFpRTVRemxZQy9Udmd4a1dsaWhRMmJFbmZnb09VUHJVc2hONWFvUzBCby9paGg4ZXlLSFVsSHhUV3pcbmpsNGYwVnZ3QnZBZGdHb0ErZ0FRZW55aHMzbjZiajhJd0gwOGYyZkFXOUZEaDJIK2ZaQmVuMDVVeURTTHNrZGphY0pxM09KZWZ0SllcblNLQWVWN2RtRXhaUFVZREFDdGRodFltSmx5SElnQ3Ric29vSkJ2SDFFYVhST2FUZTlKN1d1aEN0UEwwR29BNEVYdndCSUo4eHQwTmRcbi9LL2JidUhyK0lXOCtKTkR5SjVKN0dFN09oMlFMYU80bU5reWlwM1NLYm8rb2pRcUFHQXZnRXBhRjZLVnB4dUFlcUtEbHpXcE1randcbnJaeXpYc0o4ODFLKzd5ZUhVYjZZK09Pd3l4Y1hGOVBSNnlNU0lBakFWcVJPdm5VN1R6Y0FWVVVHOXRKNUliOUhIcEVoMzlyeGxGUDRcbjJid0NLVXFLMXFVUS9WZXJPdUlQeFdvcE1LYWoxMGNraUErQVZRQTZhMTJJYkU4YWdDd0Fjb2tNWE1RalA0eGkzeWk4bGFPV1A3RWlcbjRUY2U0MHNPcFVJSlQxUXNLZjV1dVA2NzNpaVczNVRtT0dyV1Z6aVAwRU5HaVVRd0l2VVk0V1phRnlMVGt3WkErRHVRUXNaOG9rTytcbnNUTXBGN0FtY1RNUDhTV0g0bW5TNGJOUmdhckUxdXVCejBZRnd2QzhJNzVlazlyMWZSNFJsS2I2aUZSaVFPcGdvU3BhRnlMTGszK0dcblFnLy9NY0tBUE1hY0lrTytzU3ZXNjFpYXNBWjIzdm1UQTlIcGdDL0dCZ201UzMrUkNpVThNV1BvMjEzQUhiMCtJcFY1QVZnRG9Maldcbmhjanc1Qm45Y0FEQ1h0aUhHWE5xdWdEd251MEJGaVQ4QWd2NHpwOGNoN2VuRHQ5T0RrRzcrcjZxNXlwWDFCTVpRd3pZY1NnSnR0ZnNcbmdSMjlQaUpKdkFBMEJQQWpYSHlZMEpNbkFFS3YxbUhHN0NMRHZaRmt4WUxGQ2F1UXBDUnJWZ1BSMDNRNm9HRVZieHhha2htdDY4cGJcbkJQZCtDei9zWFpRSk5kNTUrVEhjamw0ZmtRWnlBRmdJRjU4Zm9BT1FFWURRamZFOWZOc2hqekdYeUpDdjdkZUV0Zmd6eFhIT2RmQXlcbjZlRHZwNGVmdHc3cC9QWFF1ZlMzRXoxaE5BRFpNeHRScHJBSmphcjZJRThPYmZlL243bWNndlc3RTNIOGpBVzM3bG1oMHpsMmZYd3FcbjRGNHNLUW9TRWhVOGpyTWpPdGFodnZqREFIeXFkUkZxMFFGNEY2bUhJUWdMT0Q1Z0NEeDE4dmY3SHJHY3dPckVUZEx6UHVIcm8wUGxcbmtsNTRyNnduaXVVeklWOU9JN0puTWtMUEJVOUVSSy9GbktqZzR2VVVuTDlxeGY1alNkaDlOQmtYcm1uMk9qY0ZxZGZJdzFvVm9DWWpcbmdEQ1JBUVAxNlRXNStEK3dQOEw2cEczUzgvcDY2OUM0dWcvYU4vQkYxWEplTUdxLzg1R0l5R241ZXV0UW9vQUpKUXFZL3Z0SzZ2SU5cbks1WnNNR1BKZWpPdTNyYktMTWNEd0xjQXlnS1FtbGdHQTRDbUFLcUxDaGhteklIaUhvVkVoWHR0U3hQVzRKSDlzYlI4b1VFR2pPcVpcbkRqOU1EMEhydXI3SW5ZMTMra1JFYWdoTXAwZVZzbDdvMDlZZlJmSjY0TklOSys0OWtqWlVJaE9BS0FDL3kwb29peDZBMFAxNklmb2dcbmtlRmV5NThwcDNIWmVrMUtMbDhmSGFZT1RJKy8xMlhCMEs0QjhQZmxWWitJU0FhOUhtaFcwd2Y3ZnNxRUg2YUhJSE1HYVk5Y0l3RmtcbmxwVk1GajJBVUpFQlpRLy9TVmFTc1RGeGg1UmNUV3I0NE5qeUxCamNKUURlbmx6TlIwU2tCWjB1OVZqcDR5c3lvMmNyS2VQbUF3RE1cbmtwRklKajJBWUpFQjArc0RSSVo3cGUzSit4R25xRHZTMmR0VGg4OGpnckI0VmdpeWh2SWxQeEdSSS9EejBXUDI2Q0Q4UENzRUFYNnFcblA0MXRqOVFKZ2k1RER5QkVaRUEvbmZxSGlEeGhWaEp3MkhKYzFSelpNeG14YzJFbTlHZ2hwY3NrSXFJMzFMU0dEM1l0ekNoOHhQWXpcbkRBQkdxNWxBTmoyQTlDSUQrdWprSGVxeFAvbXdxaFArQ3ViMndMYjVHVkUwSDRlWEVCRTVzdnk1VW45ZUY4eXQ2cy9yamhBOE9FOUxcbmVnQkNELzMya3RRQUpDbEpPS1RpM1gvUmZCN1lPaThqSC9rVEVUbUpyS0VHL1BaMUtISmxVZTFKZ0FlQUVXb0ZsMDBQUU9pbWZTUGtcbm5DaDIwSElNeVNvZDk1c3JpeEdydndoRllBQlgrQk1ST1pOTUlRYXMrVElVd2VsVisvbmRDWUMzV3NGbEV2NEV3S0JULzQ1WmdZSWpcbmxoT3F4RTducjhlYUwwT1JLWVIzL2tSRXppaFBEaU8rbnhLaTF0a3NBVWc5UDhmcDZmSC9Fd0VGQlZSL2U5eGw2elhFMkdOVmlmMzFcbitDRE56MFVuSXFLMHFWWFJDME83cXJZcnJiTmFnV1Z5eW1mY3gxTk9xUkkzdkkwL210YVFOdzJOaUlqVUV4R2VEZ1hDVkZrVVdBZXBcbmcvU2NtdE0xQUJZbEJYK25uQmNlTjB1b0FaRUQ1QjVpUkVSRTZqRjU2UERacUVBMXByQWFBVFFSSGxVeXAyc0F6bGt2d2FKWWhNZWRcbk9UUVFmajVPOTlkQlJFUXZVYVdzRnhxOHA4cWF2UnBxQkpYSjZhNTRsNnhYaGNjc1Y5U0U1clg0NkorSXlCVU43NkhLMDkxcWdJUkZcbmJ5cHl1Z1pBamFFL0tuMXpFQkdSQXloWDFJUXFaWVdmVVpNSlFHSFJRV1Z5cWdZZ3hoNG5mT1J2b2R3ZWFqMGVJaUlpQjlHNWlTckhcbjFGZFRJNmdzVHRVQVhMYUp2L3Z2MHRSUGpRVWlSRVRrUUpwVTk0R3ZqL0FmOWtWRkI1VEpxUnFBVzlZN1F1TVpEVUNiZW56M1QwVGtcbjZueTlkYWhSWHZockFLZWVEdWhVRGNCRGU1VFFlSlZMZXlGak1FLzhJeUp5QjFYTENXOEFDb29PS0pOVEhYbjNRSEFEb01JM2c5TklcbnRpaTQvY0NHNkZnN3pJa0s0aFBzU0V4U3RDNkxpRWcxS1ZiaElUTUQ2QUlnOFptUEp3QXdBNGdERUEzZ0ZvQWs0ZG5UeUdrYWdCUWxcblJmanh2MVhLQ3AyRDVMRHVQclJoOTVFa0hEdGp3Zm1yS2JoNHpZcnJkNnl3MmJXdWpJakk2ZjN3R24vR0R1QTZnUE1BemdFNENtQW5cbmdCc3ExdlZLVHRNQVBMUS9oZ0p4ZDZoNlBWQ3lvTkE1U0E3RFpnZDJIRXJDK2owSjJITTBHZWV2cG1oZEVoR1JPOU1EeVBYUHJ6cFBcbmZmd2lVaHVCZFFBMkFaRDZ3OXBwR29CNHhTdzBYbzVNUm5pWlhHdjUvOW5MS1ZpNUxRRS9yVFBqK2gzeHo3cUlpRWlvdlAvODZnWGdcbk1ZQmxBQllCMkNjanVkTTBBTWxLc3RCNCtYT3BNaUJDRXdkUEpPUFRIMkt4Y2UrenI2R0lpTWhKQkFJSS8rZlhDUURUQVN3SEJENzZcbmZvWVROUUJpei8vUEdPSlVHeUNlYS8yZVJNeWFGNE0vVG91ZmpVQkVSSm9wQ2VCWEFIOENtQWFWR2dHbmFRQXNnbCtOK0hvN2J3TndcbitZWVZ3ejZLd3RZRERyZW9sSWlJeENtQjFFWmdMNEQrQVA0U0dkeHByb0tpbndENCt6cmYrLy9FWkFWVDU4YWdYTnM3dlBnVEVibVBcbjl3RDhBZUJqQUg2aWdqck5Fd0NiWWhNYXo4UG9YQTNBaFdzcDZEejZJVTVkNElwK0lpSTM1QUZnR0lBbUFOb2dkWjFBbWpqTkV3QjNcbnRtU0RHZTkydnN1TFB4RVI1UU53Q01DZ3RBWnltaWNBN3NocUE0Yk9qTUw4bGZGYWwwSkVSSTdERThCc0FPVUE5QUR3VnUvSStRVEFcblFTVmJGSFNMZU1pTFB4RVJ2VWhIcEI0Z0ZQQTJuOHdHd0FIRnhOblJaTUI5ck42ZW9IVXBSRVRrMktvRDJBRWc5RTAva1EyQWc0bFBcbnNLTngvL3ZZZjB6c3dVZEVST1N5eWlEMVNPSGdOL2trTmdBT3hKS2lvTk9vaHpqR2czMklpT2pORkFhd0FZRHY2MzRDR3dBSFliY0RcblBTYzh3cmFEM045UFJFUnZwVHlBWDVDNlpmQ1YyQUE0aUtsem83RnlLOS81RXhGUm1qUkU2b0ZCcjhRR3dBSHNPWnFFVHhiR2FsMEdcbkVSRzVob0VBV3J6cUQ3RUIwTmo5S0J1NmozMEVtMTNyU29pSXlJVjhEeUQzeS80QUd3Q045UnovQ1BjZWlUM21tSWlJM0Y1NkFEL2pcbkpkZDVuZ1Nvb1dXYkU3RGpkKzBXL2VsME9tVEprZ1BaczRmQjI4Y1gzdDQrbXRWQ1JPUXFrcElTa1poZ3hzMmJWM0hyMWpYWTdabzlcbjRxMEFJQnpBM09mOUpoc0FqY1NaN1JqejJXUHBlWXVYS0lmcTFSdWlVcVVhS0Zxc0RDLzZSRVFxU2s1T3d0K25qdUhnd1ozWXVYTURcbmp2MXhRSFlKMHdDc0FQRGcyZDlnQTZDUktYTmpjUGVobkVmLzN0NCthTnV1SnpwMDdJTzhlUXRKeVVsRVJJQ25weGRLbDZtRTBtVXFcbm9mK0FzYmgyOVNLV0xQa1dQLzgwRjJaem5Jd1NnZ0RNUk9yTWdQL0JOUUFhdUhIWGlubkwxVC9qMzJBd29HdTNEN0JuM3hWTW1EaUhcbkYzOGlJbzNsekpVWG84Zk13dDc5VjlHN3owZ1lqYSsxWlQrdHVnSW8rT3dIMlFCb1lQYVBjYkNrS0tybUtGQ3dHRmF2UFlLSmt6NUhcbmNQQWJIeEZOUkVRcVNwOCtDS05HejhUNmpTZFFva1I1dGRQcEFZeDUzZ2RKb3Z0Uk52eTRSdDI3LzNidGUySFY2dDlScEVncFZmTVFcbkVWSGE1TXRYR0w4dTM0c2VQUWFybmFvRG50a1d5QVpBc3E4V3h5RXhXWjI3ZjUxT2g1R2pQc1QwRDcrRmw1ZTNLam1JaUVnc0R3OFRcbnhrMzRESk1qdjRSZXI5cGwyUWhneE5NZllBTWdrZFVHL1B5YldiWDQ0eWZNUnArK28xV0xUMFJFNnVuY3BUOW1mYlFBT3AxT3JSVHRcbkFmejM3cEFOZ0VRN2ZrOVViZVgvZ0EvR29WdjNnYXJFSmlJaU9WcTA3SUl4RVIrcEZUNGRnS1pQL2c4YkFJbVdyRmZuN3I5YTlRWVlcbk1qUlNsZGhFUkNSWHoxN0QwS3g1SjdYQy96Y3dHd0JKeklrSzF1OU9GQjQzTkRRelB2bjBSelVmR1JFUmtXUlRwbjZOSERsZWVwVC9cbjI2b0xJQVJnQXlETndSUEpTRWdTdi9odjdQaFBFUmdZTER3dUVSRnB4OWZYSDVGVHYxWWp0QkZBZFlBTmdEUjdqb28vOC8rZGQ2cWlcbmNlTjJ3dU1TRVpIMnFsU3BpNXExR3FzUnVnYkFCa0FhTlJxQUR3YU9GeDZUaUlnY3grQWhrOVY0eGNzbkFMTEVKOWh4NHF4RmFNeWlcblJVdWpVdVdhUW1NU0VaRmpLVktrRkNwVXJDNDZiQUVBbWRrQVNIRHVxaFZXd2J2L1dyWHVMallnRVJFNXBKWXR1Nm9SdGdnYkFBa3VcblhFMFJHayt2MTZOUjQ3WkNZeElSa1dPcVY2OEZUQ1pQMFdFTHNnR1E0TUkxcTlCNGhRdVhSRkJRQnFFeGlZaklNZm40K3FGMDZZcWlcbncrWm5BeURCaGV0aW53Q1VMMTlGYUR3aUluSnM3MVNvSmpwa0FUWUFFanlJc2d1Tmw3OUFVYUh4aUlqSXNlWFBYMFIweUF4c0FDUXdcbko0cHRBSExuTGlBMEhoRVJPYlk4ZVFxS0RobkFCa0NDMkhpeERVQndTS2pRZUVSRTVOaFUrTG52endaQUFuT2kyQ09BZlh6OGhNWWpcbklpTEg1dXZyTHpva0d3QVprcExGTmdDZW5sNUM0eEVSa1dQejh2SVdIZEtiRFFBUkVaRWJZZ05BUkVUa2h0Z0FFQkVSdVNFMkFFUkVcblJHNklEUUFSRVpFYllnTkFSRVRraHRnQUVCRVJ1U0UyQUVSRVJHNklEUUFSRVpFYllnTkFSRVRraHRnQUVCRVJ1U0UyQUVSRVJHNklcbkRRQVJFWkViWWdOQVJFVGtodGdBRUJFUnVTRTJBRVJFUkc2SURRQVJFWkViTW1wZEFCRVJ5Wk9ZbUlBclY4N2p5dVh6dUhYckdzem1cbk9DUW1Kc0JzamtOOGZCejgvUHpoNitzUEh4OWYrUGo0SVV2V0hBZ0x5NCt3c1B6dzhmSFZ1bndTaUEwQUVaR0xVaFFGNTgrZHdvRURcbk8zRG80RTZjUG4wQ3QyOWZoNklvYnh4THA5TWhjK2JzS0Z5a0pDcFdySUdLbGFxalFJRmkwT2wwS2xST01yQUJJQ0p5SVhhN0hRY1BcbjdNQ3FWWXV3YStkR1JFVTlFQkpYVVJUY3ZuMGR0MjlmeDdhdGF3RUFRVUVaVUxWYVBUUnYzaGtWSzlXQXdXQVFrb3ZrWUFOQVJPUUNcbnJsKzdoS1ZMNTJIMTZwOXc5ODVOS1Rtam9oNWcxY3BGV0xWeUVUSmx5b3FtelRxaWJkdWV5QldXVDBwK1Noc3VBaVFpY21JWHp2K05cbllVTzdvR2JOZ3BqN254blNMdjdQdW52M0ZyNlpPd3UxYWhaRXovY2I0OVJmZjJoU0I3MCtOZ0JFUkU3bzh1Vno2TnU3QmVyWEs0NVZcbkt4ZkJaclZxWFJLQTFGY1FPN2IvaHFaTnlxRjNyMmE0ZE9tczFpWFJDN0FCSUNKeUlrbEppWmd6ZXhJYTFDdUJ6WnRYd1c2M2ExM1NcbmN5bUtncTFiMTZCKzNlS0luRHdJQ2VaNHJVdWlaN0FCSUNKeUVydDNiMExkMmtVd1ovWmtXQ3pKV3BmeldxeldGQ3hjOERucTFpbUtcblhUczNhRjBPUFlVTkFCR1JnN05aclpnemV4TGU3OTRRTjI1YzBicWN0M0xyMWpXODM2TVJJaWNQUWtxS1JldHlDR3dBaUlnYzJwMDdcbk45Q3VYVFhNbVQzWllSLzN2eTVGVWJCd3dlZG8xYkl5cmwrL3JIVTVibzhOQUJHUmd6cHg0bmMwYWxnYWZ4emRyM1VwUXYxMThpaWFcbk5TbUhZOGNPYWwyS1cyTURRRVRrZ0E3czM0N09IV3ZqY2RSRHJVdFJSWFIwRkRwM3JJV2RPOVpyWFlyYllnTkFST1JnMXE1WmpHNWRcbjY4TnNqdE82RkZVbEppWWdQTHdaVnE3NFVldFMzQkpQQWlRaWNpQmJ0NjdCc0tGZFlMUFp0QzVGQ3B2VmloSER1d0VBV3JUc29tMHhcbmJvWlBBSWlJSE1TaFE3c3djRUE3dDduNFA2RW9Da2FQNm9rOWV6WnJYWXBiWVFOQVJPUUEvdjc3T01KN05rVnljcExXcFdqQ2FrMUJcbi83NnRlWVN3Ukd3QWlJZzBGaFB6R0gxN3QwQjhmS3pXcFdqS2JJNURlSGd6bDEzNDZHallBQkFSYVVoUkZJd2EwUU0zYjE3VnVoU0hcbmNQZk9UUXdiMmdXS29taGRpc3RqQTBCRXBLSHY1MzJLTFZ0V2ExMkdROW0xYXlPKy9lWWpyY3R3ZVd3QWlJZzBjdjdjS2N5YU9VYnJcbk1oelN4eCtQeFpremYycGRoa3ZqTmtBaUlnMG9pb0x4NC92QmFrM1JKSC9HWUFPS0YvQkEvbHdleUJwcWdKK1BIdjYrZXNTWjdUQW5cbktyaDF6NHJ6VjYwNGVkNkN1dy9sNzBxd1dhMFlQNjRmbGkzZkI1MU9KejIvTzJBRFFFU2tnWlVyZjhTUnczdWw1aXllMzRUMkRYMVJcbnU2SVhDdWIyZU8zUE8zY2xCVnNQSm1IcEJqTk9uSlUzeU9mWUh3ZXdmTmtDdEc3VFExcE9kOElHZ0loSXN0allhTXlZUGxKS0xyMGVcbmFGek5COE83QjZCVUlkTmJ4U2dRNW9FQ1lSNFkwTUVmZjU2ejRPTUZzVml6SXdFeVpoUE5tREVLZGVvMlI3cDBnZW9uY3pOY0EwQkVcbkpOa1BDNy9BbzBmM1ZjL3pUbkZQN0YyVUNUL1BDbm5yaS8relNoUXdZZEdNRU96L0tSTXFsUEFVRXZObEhrYzl4TUlGYzFUUDQ0N1lcbkFCQVJTWlJnamxmOWd1WnAwbUhXc0VCc25aY1JKUXFJdWZBL3ExaCtFN2JPeTRoUFJnYkMwNlR1Ty9xRkN6NTMrek1TMU1BR2dJaElcbm9zV0x2OEhqeDQ5VWk1ODExSUN0OHpLaVgzdC82RlgrQ2EvVEFiM2IrR1BIZ296SW5rbTlOOG94TVkveDA2TC9xQmJmWGJFQklDS1NcbnhHYTE0dnQ1bjZvV1AzOHVEMnlibnhHbEM2dHoxLzhpSlFxWXNHMStSaFI2ZzRXRmIycis5NThoSlVYZUFrUjN3QWFBaUVpUzNiczNcbjRkNjkyNnJFRHN0cXhNWnZRbFc5RTMrWnJLRUdiUG8ySS9MbFZLY0plUGp3SG5idTNLQktiSGZGQm9DSVNKSlZxeGFwRWpja1VJKzFcblg0VWlZN0JCbGZpdkt6aTlIcXUreUlEUUlIWHFXTFZTbmI4L2Q4VUdnSWhJZ3JpNEdHemZ0azU0WEwwZW1CY1pnckJzanJHck8xY1dcbkl4Wk9ENFpCaGF2TGp1Mi9xYnArd3Qyd0FTQWlrbUR6cHBWSVNrb1VIbmRBaHdEVXF1Z2xQRzVhVkNucmhVR2RBNFRIVFVteFlNdm1cblZjTGp1aXMyQUVSRUV1emZ2MTE0ekd3WkRSZ2JuazU0WEJIR2hLZERyaXppbjBvY1VPSHYwVjJ4QVNBaWt1RFF3WjNDWTBaK2tCNitcblBvNTVUcjYzcHc2VEI2UVhIdmZBZ1IwY0ZTd0lHd0FpSXBWZHVuUlcrT3Ivc0d4R3RLanRLelNtYU0xcitRamZHdmpvMFgxY09QKzNcbjBKanV5akZXalJDNU9MTTVEdWZPL29WYnQ2N2h3WU83ZVBqd1BoVEZqdGpZYU9pZ1ExQndCZ1FHaGlBa0pCUmhZZm1STDM4UmVIbzZcbjFudGRlbnVIZjk4alBPYkFqZ0V3YXJ2by81WDBlcUJmZTM5OE1DMUthTnpmZjkrTi9BV0tDbzNwanRnQUVLa2dLdW9CZHUzY2lOMjdcbk4rSFVYMy9nMnJXTHNML0I1QlNEMFlpd1hQbFFydng3cUZLbExpcFZyZ2wvZjhkODEwdXZkdUdDMkR0V2s0Y09MZXY0Q0kycGxwYTFcbmZURHk0OGRJVEJiMzJQN0NoZFBDWXJrek5nQkVnaVFtSnVDM2RVdng2Ni96Y2Z6WXdUZTY0RC9MWnJYaTRzVXp1SGp4REpZcy9oWUdcbm94RlZxdFJGNjliZFViTldZM2g0eUQzcGpkTG04cVZ6UXVQVnJPQ0ZvSFRPOFFZM3dFK1BXaFc5c0c2WHVCMFFseTZkRlJiTG5iRUJcbklFcWp1M2R2NFp1NU03Rnl4WStJaTR0UkpZZk5hc1hPSGV1eGM4ZDZCQVZsUUpldUE5Q3QrMEFFQkloZlpFWGlYYjRzdGdHb1h0NjVcblhnOVZMU2UyQWJoeTVieXdXTzdNT1ZwSUlnZjBPT29ocGswZGhoclY4dUdIaFYrb2R2Ri9WbFRVSzFmZHlBQUFJQUJKUkVGVUE4eitcbmJDS3F2QnVHT2JNbklURXhRVXBlZWp2SnlVbTRmZnU2MEppVlNxay9obGVrOThxSWJWanUzYjJGQkhPODBKanVpQTBBMFZ2WXNINFpcbmF0VXFoTy9uZmFySzRTNnZJelkyR25ObVQwYk42dm14ZWROS1RXcWdWNHVPamtyVDY2Qm42ZlZBZ1REMWh1Nm9JVjlPbzlBRmk0cWlcbjRIRTBUd1JNS3pZQVJHL2d6cDBiNk5hbEhnYjBiNFBIVVErMUxnZEE2aXVJdm4xYVl2Q2dqakNiNDdRdWg1NGgrbXVTTGFNUjNwNk9cbnVmZi9SVXdlT3VRUWZDaVFPWjdmNjJuRkJvRG9OUjA5c2c5Tkc1ZkRuajJidFM3bHVkYXVXWXdtamNyaTdObVRXcGRDVHhGOW9Rb0pcbmRNNGYyeUhweGU1WmpHZXptMmJPK1oxRUpObWlINzlDaC9ZMThQRGhQYTFMZWFrclY4NmpaZk9LMk16ejBoMkdPVUhzdTJwZmIrZjhcbnNlM3ZLL2FwQlo5MnBaMXpmaWNSU2FJb0NtYk9HSVdKRXdiQWFrM1J1cHpYa3BpWWdBSDlXdVBYWDc3WHVoUUNZTGZaaE1Zek9QamhcblB5OWlOSWh0QUd4V3E5QjQ3b2piQUlsZUlEazVDVU9IZE1iR0RjdTFMdVdOMld3MmpCbmRDNG1KQ2VqYTdRT3R5M0ZyUHI1K1F1TWxcbkpEcm5PZml4Wm5FTElRSEF6MC84dEVGM3d3YUE2RGxpWWg2amQ2OW1PSHhZL0JHdXNpaUtnc2pKZzJBd0dOQ3Bjeit0eTNGYnZyNytcblF1TkZ4NG05a01vU0k3aHUwWTJWTzJJRFFQU01temV2b252WCtpNXgycGlpS0pnNFlRRDBCZ002ZE9pdGRUbHV5VmZ3aGVycUxTdHNcbmRzRGdSQzl3N2ZiVXVrWGlFNEMwYzZKdklTTDFuVDE3RW0xYXZlc1NGLzhuRkVYQmhISDlzSHJWVDFxWDRwYlNwUXNVR3MrU291Q2FcbjRJdXAybTdlc3lJaFNleXJDODdHU0RzMkFFVC8yTGQzSzlxMGVnOTM3OTdTdWhUaDdIWTdSZ3p2aG5WcmwyaGRpdHZ4OWZWSGNIQ29cbjBKaUhUaVlMamFlMmd5ZkUxaHNRa0I2QmdjRkNZN29qTmdCRUFKWXZYNGdlM1JzaVBqNVc2MUpVWTdQWk1HeG9WMnpkdWticlV0eE9cbjdqd0ZoTWJiZlNSSmFEeTE3VDRpdGdISWs2ZWcwSGp1aWcwQXVUVkZVVEQ3czRrWU9ieTcwMnp6U3d1ck5RVWY5RytMWGJzMmFsMktcbld3a0x5eTgwM29ZOWliQ2tPTWR1QUtzTjJMUlA3SEhadVhPTGJhamNGUnNBY2x0V2F3cEdqWHdmbjgrSjFMb1VxU3lXWlBUdDNRSUhcbjltL1h1aFMzSWZxTzlYR3NIVnNPT01kVGdHMEhFM0UvU3V4WkNLS2ZxTGdyTmdEa2xoTE04UWp2MVF6TGx5M1F1aFJOSkNjbm9WZlBcbkpqaDBhSmZXcGJpRjBxVXJDby81elMvT2NSTGVYQlhxTEYybWt2Q1k3b2dOQUxtZEJ3L3VvbDNicXRpMWM0UFdwV2dxTVRFQlBYczBcbndwSERlN1V1eGVXVkxQbU84UE1BZGg1T2N2akZnQ2ZPV3JEOWtOZ25GZDdlUGloVnFvTFFtTzZLNXdDUVc3bDQ4UXk2ZDYyUFc3ZXVcbmFaTGYwOU1IK1F0VVFyYWNSUkFVbEJVZUhsNUlTb3BIMUtOYnVIYjFCQzVkT0FLcjFTS3Rub1FFTTNyMWJJS2ZmdDZHb3NYS1NNdnJcbmJneEdJOHFXcll6ZHV6Y0pqVHYrODJocytTNGpkQTQ2SEhEc25HZ29ncGNxbENsYkdTYVRwOWlnYm9vTkFMbU5JNGYzSXJ4WFU4VEVcblBKYWVPMytCaXFqVG9EOUtsS29MRHcrdkYvNjVwTVI0SFBsOUZUYXQvd0szYnA2UlVsdHNiRFM2ZHFtTG41ZnNRTUdDeGFYa2RFY1Zcbks5VVEzZ0FjUEpHTXhldk42TmpJVjJoY0VYN1phRlpsdDBLbFNqV0V4M1JYZkFWQWJtSDliNytpUytjNjBpLytnVUZaTUhEWVVrUk1cbjJvS3k1WnUrOU9JUEFGN2Vmbml2V21kTW5YVUkzY08vaEkrUG5NTk9IajkraE00ZGErUENoZE5TOHJtakJnMWJRNmZDcmZySVR4N2pcbjZtM0hPaGpvNWowYlJueXN6cisxT25XYnF4TFhIYkVCSUpmMy9ieFBNV2hnZXlRbnkxMDFYYkR3ZTRpY2NRQ2x5elo4NDgvVjZmU29cbldyMHJKbis0RDlteUYxR2h1bjk3OU9nK09uZXNoU3RYemt2SjUyNnlaY3VGTW1VckM0OGJFMmRIMTlFUGtaanNHTnNDa3l3S09vOTZcbmdLZ1k4VE1MU3BXcXdDMkFBckVCSUpkbHQ5c3hKWEl3cGswZEJydGQ3Z0NWU3UrMncvQXhxK0h2bjdiVHlqS0U1c0tZaVp1UU80K2NcbjkvUDM3OTlCeHc0MWNlUEdGU241M0UzejVwMVZpZnZIYVF1Nmpua0lxOWpkZG0vTWJnZDZqbitFSTZmVVdjZlNvbVVYVmVLNkt6WUFcbjVKSXNsbVFNSHRnQkMrYlBrWjY3ZHIyKzZOWHZHeGlOSmlIeGZIM1RZMFRFV29UbExpMGszcXZjdlhNVDdkdFd3ODJiVjZYa2N5Y05cbkc3V0JsNWUzS3JFMzdFbEU3MG1Qa0dMVjVrbUExUWIwbWZ3SXE3Y25xQkxmWlBKRWc0WnRWSW50cnRnQWtNdUppWG1NenAxcTQ3ZmZcbmZwR2FWNjgzb0hPUFQ5R3g2eXpvZEdML2FYbjdCR0RvNkpYSWxyMncwTGd2Y3Z2MmRYVHVWQnYzN3QyV2tzOWRCQVNrUjZ2VzNWV0xcbi84dEdNOW9NZllENEJMbFB2TXdKQ3RvTmU0REY2ODJxNVdqUnNndlAveGVNRFFDNWxKczNyNkpWaTByUzk3YWJQSDB3Y05nUzFLemRcblM3VWMvdjdCR0RudU4yVEpKdWNjOUd0WEw2SkR1K3E0Zi8rT2xIenVvbSsvMGZEd0VQTjA2SG0ySGtoQzVVNTNjZks4bk8yazU2Nmtcbm9GcTN1OEtQKzMyYXdXQkFlUGdJMWVLN0t6WUE1REswR3VYcjV4ZUVFV1BXb0dUcCtxcm5DZ2pJZ05IajFpTnpGckZueTcvSWxTdm5cbjBiVkxYVHlPZWlnbG56dkluRGs3bWpidG9HcU9TOWV0cU43dEhxYk9qVkZ0Y1dDU1JjSDBiMk5RdWVOZG5MbXM3aHlOSmswN0lGZFlcblBsVnp1Q00yQU9RU3RCcmxteUUwRjhaRmJrZStBdkpPSmd0SUY0b1JFV3VRSVRTbmxIem56djZGVGgxcklUbzZTa28rZDlDMy94Z1lcbmpSNnE1a2kyS0pneEx3WmxXdDNCOXl2amtXd1Iwd2hZVWhRc1hCMlBzcTN1WVBxM01VZ1NGUGRGREVZait2V1BVRFdIdTJJRFFFNVBcbnExRyt1Zk9Vd2ZncE81QXBjMTZwZVFFZ0tEZ2JSby9maU9DUUhGTHluVG56SjdwMHFvM1kyR2dwK1Z4ZFdGaCt2Tjl6aUpSYzErOVlcbk1XaDZGSW8ydlkzeG4wZmo3NHR2ZDdkKytsSUtKbjRaamFKTmIyUEExQ2hwWnc5MDd6Nkk0MzlWb2dNZ3RIMmJsbTYweUhEL3RUMXBcbkgzWWs3eE1XTHlJOEhTTEM1Unl5a3IzR1RUeU9GYmNvNTlpSlIwaWZQa2hZUEdlbEtBbytuek1aYzJaUGxwNjdkTm1HNkROZ1BreWVcblB0SnpQKzNlM1V2NE1MSStvaC9MZVU5ZnVrd2wvUGpqWnZqNCtrbko1OG9TRXN5b1hiTVE3dHk1SVQxMzFsQURxcGJ6UW9rQ0p1VFBcbjVZRnNtUXp3ODlIQjMwZVB1QVE3ekFrS2J0eTE0Y0sxRlB4NXpvTGRSNUp3ODU3OFBZYVpNbVhGMXUxbmhNOVJjRmE1YzRrOVNJcEhcbkFaTlRzbG10bURDaFA1WXMvbFo2N3FyVnU2TEwrN05oTUdqL3p5ZGpwandZUFc0OVBweFNIekhSOTFUUGQreVBBK2pXclQ0Vy9yQUpcblBqNk9kL3lzTS9IeDhjV0VpYlBSdDA5TDZibHYzYmRoOFhxenFxdjJSUmczL2pOZS9GWEVWd0RrZEJMTThlalZxNm4waTc5T3AwT3pcbmxtUFFQZnhMaDdqNFA1RXBTejRNSDdNYWZuNXluZ29kUGJJUGZYbzNsMzZ5b2l1cVc2OEZHamRwcjNVWkRxbEJ3OVpvMExDMTFtVzRcbk5EWUE1RlMwR3VWck5Kb1EzdTg3Tkd2bG1JdVJzdWNvaXBIajFzSFhONzJVZlB2MmJrV2Y4T2F3V0J4N0hLMHorUEREYi9tTyt4azVcbmN1YkJoek8rMDdvTWw4Y0dnSnpHaFF1bjBhSlpCWnc2ZFV4cVhpOXZQd3dhL2dzcXZ0dFdhdDQzbFNObmNRd2R0UkplM25MZXorL2VcbnZRbURQbWdQbTlXeEJ0RTRHeDlmUDN6NTFhK3FuUkRvYkV3bVQzejU1Uy93OTVlelJzdWRzUUVncDNEczJFRzBhMXNWdDI1ZGs1bzNcbmZXQm1SRXpjakdJbGFrbk4rN2J5NUN1SFlhTld3Y3RMenZ2NXpadFhZZUJBTmdGcFZhQmdNVVJPK1VxVmFZSE9abkxrbHloYVRNN3NcbkMzZkhCb0FjM3VaTks5R3BRMDNwaDlGa3kxNFlFNmJzUUk2Y3hhWG1UYXQ4QlNyZ2c2RkxYamw2V0pTTkc1Wmo5S2llMGdjdXVacFdcbnJidGoyUENwV3BlaHFTRkRJOUcyWFUrdHkzQWJiQURJb1MyWVB3ZjkrN1ZHVXBKNng0dytUNkVpVlRGMjBsWUVCV2VUbWxlVUlzV3Fcblk5RHdwVEI2ZUVySnQyTEZEeGd6dWhjVXhURkcwanFyZnYwajBPTjlPZWNET0pxT0hmdmdnNEhqdFM3RHJiQUJJSWVrS0FwbXpoaUZcbktaR0Q1WS95ZmE4OWhvMWVDVytmQUtsNVJTdGF2Q2I2RFZ3SWcwSGRFK2VlV1BicmZFUk9IaVFsbHl1TEdQc3hXcmZwb1hVWlVyVm9cbjJRV1RwM3lsZFJsdWh3MEFPUnlMSlJtRFBtaVBiK2JPa3A2N2RyMis2TlYzcnJCUnZsb3JYYllSK2c1Y0lHM2I0ZzhMdjhEVUtVT2xcbjVISlZlcjBlTTJiT3c2REJFN1V1UllwdTNRZGkxa2NMb05memNpUWIvOGJKb1VSSFI3bmNLRit0bFMzZkZMMEhmQSs5M2lBbDMvenZcblA4UHN6OXpqNHFVV25VNkhRWU1uWWR6NFQxMTJZYUJPcDhQb01iTXdZZUljWHZ3MXdyOTFjaGczYmx4QjY1YVZYWEtVcjliS1YyaUJcbkh1RmZTV3R1UHA4VGlhKytuQ1lsbHl2cjhmNFEvT2VibFFnSWtITytneXorL3VudzFkZkxFTjZiSTM2MXhBYUFITUxac3lmUnR2VjdcbkxqM0tWMnZ2VnUySWJyMCtsM1pIK2NuSDR6RDNQek9sNUhKbGRlbzB3NFpOZjZKMDZZcGFseUpFMGFLbHNYYmRVZFNyTC84SVpQcGZcbmJBQkljKzQweWxkclZhdDNSZnZPTTZUbCsyaldHQ3o2a1l1NzBpcExsaHhZOHNzdTlPdzFEQWFEbkZjNW9oa01CdlRvTVJqTFZ4NUFcbnpsenlKMmpTdjdFQklFMjU0eWhmcmRXcDN3L3RPazJYa2t0UkZFeWErQUYrL25tdWxIeXV6TVBEaElpeEgyUE51cU1vWGFhUzF1VzhcbmthSkZTMlBaaXYwWU4rRXptRXh5dHFiU3E3RUJJRTBvaW9JNXN5ZGg1UER1c0ZyZmJqNzUyeXBkdGlGR2o5K0FnSUFNVXZNNmtub05cblAwRFRsdXFNN242V29paVlNSzRmZmxrNlQwbytWMWU0Y0VuOHVtd3Zwbi80TFlLRFE3VXU1NldDZ2pKZ3lyVC9ZUFhhSXloWjhoMnRcbnk2Rm5zQUVnNld4V0s4YU43WU01c3lkTHoxMjFlbGYwSC93VFRKNCswbk03bXVhdHhxSlIwMkZTY2ltS2duRmorMkR0bXNWUzhyazZcbnZWNlBkdTE3WWYvQjY1ZzIvUnRreXV4WUIxWUZCNGRpME9DSjJMWG5JanAyN01OVi9nN0tjV2Fha2x0SU1NZGpRUDgyMkxWcm85Uzhcbk9wME9UVnVNZHRocGZscHAxVzRTYkhZck5xNmJvM291bTgyR1lVTzd3R0F3b21Hak5xcm5jd2Nta3lmYWR3aEh5MVpkc1h6NVFpejVcbitSdjgvZmR4emVvcFZLZ0VPblRxZzlhdHUvTlJ2eE5nQTBEUzNMOS9CejE3TkpJK3pjOW9OT0g5M2w4Ny9EUS9yYlJwUHdXV3BBUnNcbjM2cisrRldiellhaFF6ckR5OHNiTldzMVZqMmZ1ekNaUE5HaFEyOTA2TkFiRnkrZXdmcmZmc0dLNVQvZzVzMnJxdWZPbURFTDZqZG9cbmhSWXR1NkpvMGRLcTV5TngyQUNRRkJjdW5FYVBiZzJrVC9Qejh2WkQvMEdMbkdhYW54WjBPaDA2ZGY4RU5yc1Z1N1l2VUQxZlNvb0Zcbi9mcTJ3amZmclVhMWFxNi8vVksydkhrTFlkRGdTUmcwZUJLdVg3K00vZnUyWWYvK2JkaTNkeXRpWTZQVEhOL2Iyd2VseTFSQzVjcTFcbjhPNjd0VkM0U0NrKzRuZFNiQUJJZGNlT0hVU3ZuazJrVC9OTEg1Z1pRMGN0ZDdwcGZsclE2WFRvK3Y1c1dKSVRjV0RmVXRYenBhUllcbjBMOXZLOHliL3hzcVZxeXVlajUzbFNOSGJ1VG9FSTcySGNKaHMxcHg5ZHBGWExwMEZwY3ZuY09WSytkeDU4NE54TVhHSUNFaEhtWnpcblBNem1PUGo2K3NQSHh4Yyt2bjd3OTArSHpKbXpJM2Z1QWdqTG5SOTU4aFJFV0s1OE1CaDU2WEFGL0NxU3FqWnZXb2toZ3p0Sm4rYVhcbkxYdGhEQjIxd21tbitXbEJwOU9qWjkrNXNObXQrUDNBY3RYekpTWW1vR2VQUmxqd3cwYVVMMTlGOVh6dXptQTBJaytlZ3NpVHA2RFdcbnBaQ0Q0SE1iVWcxSCtUb2Z2ZDZBOEg3Zm9sU1pCbEx5cFRZQmpYSHl6eU5TOGhIUi8yTURRTUlwaW9JWkg0N2tLRjhuWlRCNG9QL2dcblJTaFJxcTZVZlBIeHNlalN1UTVPL2ZXSGxIeEVsSW9OQUFuMVpKVHZ0OTk4SkQyM3E0M3kxWkxSYUVML3dZdFFxRWhWS2ZsaVk2UFJcbnRXczluRDkzU2tvK0ltSURRQUp4bEs5ck1abThNV1RFcnloWTZGMHArUjVIUFVUSERqVng4ZUlaS2ZtSTNCMS9XcElRV28zeTlYU0RcblViNWFNbm42WU1pb0ZjaGZVTTdaODQ4ZTNVZnJscFZ4N2VwRktmbUkzQmtiQUVvelRVZjVScXgxaTFHK1d2TDA5TUdRRWNzUWxsdk9cbklTOHhNWTlScjI0eDZRZEdFYmtiTmdDVUpscVA4czJibndOR1pQRDJDY0NJc1d1Uk02eWtsSHpKeVVsbzBhd0MvdUxDUUNMVnNBR2dcbnQ3WjgyUUtPOG5ValBqN3BNSHowS21UTlZraEtQcXMxQmExYVZNTFpzeWVsNUNOeU4yd0E2STM5ZDVUdmlCNGM1ZXRtL0FOQ01HcmNcbmI4aWNKYitVZkNrcEZqUnJVcDRMQTRsVXdBYUEzb2pOYXNYWWlONGM1ZXZHQXRLRllzVFl0Y2dRbWt0S1Bvc2xHVTBhbGNIMTY1ZWxcbjVDTnlGMndBNkxVbG1PUFJxMmNUTEYyaS90UzRwK2wwT2pSck9RYmR3NytFd2NEVHF4MUJVRkJXakI2L0FTRVpja2pKbDVTVWlQcDFcbmkrSDI3ZXRTOGhHNUF6WUE5RnJ1MzcrRGRtMnJZdGV1alZMekdvMG05TzQvRDgxYVJVak5TNjhXSEpJZEl5TFdJWDFnWmluNUVoTVRcblVMZDJVZHkvZjBkS1BpSlh4d2FBWHVuQ2hkTm8yYnlpOUcxWlh0NStHRHppVjFTbzNFWnFYbnA5R1RQbHh1anhHNUF1ZlVZcCtjem1cbk9OU3FVUkNQSHQyWGtvL0lsYkVCb0pjNmR1d2cycld0aWx1M3Jrbk5tejR3TXlJbWJrYlI0aldsNXFVM2x5bHpYb3lJV0FNL3Z5QXBcbitlTGpZMUc3Wm1FaHMrMkozQmtiQUhxaFRSdFhvR1A3R25nYzlWQnEzbXpaQzJQQ2xCM0lrYk80MUx6MDlySmxMNEtSNDliQjF5OVFcblNyN282RWVvVVMwL3pPWTRLZm1JWEJFYkFIcXVCZlBuWUVEL05raE9UcEthbDZOOG5WZU9uTVV4ZE5SS2VIbjdTY2tYRmZVQU5hc1hcblFGSlNncFI4Uks2R0RRRDlENDd5cGJUSWs3Y3NobzllRFM4dlh5bjU3dCsvZzVvMUNzS1NuQ3dsSDVFcllRTkEvNlg5S045dk9NclhcbkJlVE4vdzRHRGxzcTdXdDU1L1lOMUsxVEJGYXJWVW8rSWxmQkJvQUFhRHZLdDB1UHovNFo1YXVUbXB2VVU3aG9OUXdhdmxUYTEvVGFcbnRVdW9WNmNvYkRhYmxIeEVyb0NucWhCdTNMaUM3bDNyNC9MbGMxTHplbnI2b08vQUgxQ3lkRDJwZVVtT1lpVnFvMjNINlZqNjB4Z3BcbitTNWZQb2NtamNwZy9jWVRVdktST214V0s4NmMrUk5uenZ5SlI0OGVJRGIyTWFLam94QVQ4eGl4c2RFSVRCK000SkJRQkFWbFFFaElcblJvUmt5SWhpUmNzZ1UyYXVHM3BUYkFEYzNGOG5qK0w5SG8zdzhPRTlxWGtEQWpKZzhNaGx5SjJuak5TOEpGZTloZ01RRTNNUEc5Zk5cbmxwTHZ6SmsvMGF4SmVheGVlMWhLUGtxN2xCUUxEdisrQjBlUDdzUFJvL3R4L1BnaEpKamozemhPanB4NThNNDdWVkdoUWpWVXFGZ05cbm1UTm5WNkZhMThJR3dJM3QycmtCQS9xM1FVS0NXV3JlakpueVlOam9WUWpOR0NZMUwybWpiWWNwc0ZxU3NIWHpYQ241VHA0OGdwWXRcbkttTEZ5b05TOHRIYk9YNzhFRllzVzRnTkc1WWhPam9xemZHdVg3dUU2OWN1WWRtdjh3RUF4VXVVUSt2VzNkRzRTWHNFQktSUGMzeFhcbnhEVUFidXFYcGZQUXExZFQ2UmYvdlBuS1kxemtkbDc4M1V6SGJoK2hTdlV1MHZJZFAzWUluVHZXa3BhUFhvK2lLTml5WlRWYXRheU1cbmxzMHJZdkhpYjRSYy9KL241SjlITUg1Y1AxU3FtQjNUcHczSHZYdTNWY25qek5nQXVCbEZVZkRacHhNd1puUXYyQ1N2bWk1ZHRoRkdcbmp2c04vdjdCVXZPU1krZ1IvaFVxdmR0V1dyNzkrN2VqUi9lRzB2TFJ5eDA5c2c4dG1sVkFuL0RtT1BiSEFXbDVFOHp4bVBmZEo2ajZcblhtN01tam1haDBjOWhRMkFHN0ZhVXpCeWVIZDg4ZmtVNmJscjFnbkhnQ0Uvd1dUeWxwNmJIRWQ0LzNrb1U2Nnh0SHk3ZG01QTcvRG1cbjB2TFJ2MFZIUjJISTRFNW8wL285L1BtbmRtc3pMSlprelAzUFROU3NYa0Q2YmlkSHhRYkFUWmpOY1hpL2V5T3NXUEdEMUx3Nm5RNXRcbk9reEI1KzZmUUs4M1NNMU5qdW1Eb1l0UlF1TE9qNjFiVm1Qd29JN1M4dEgvMjdIOU45U3JVeFJyVnYrc2RTbi9kZi8rSFF3YzBBNkRcbkJuWkFUTXhqcmN2UkZCc0FOM0R2M20yMGJWMEZlL2R1a1pyWDZPR0ozZ08rUjRQR2c2WG1KY2MzWk1ReUZDejhuclI4YTljc3hzZ1JcblBhVGxjM2ZKeVVtWVBHa2dldlZzNHJEam05ZXRYWUtHOVV2aTJESDNYU3pLQnNERlhiaHdHcTFhVk1McDAzTDNSdnY0cE1QdzBhdFFcbm9WSnJxWG5KZVl3ZXZ3SDU4cjhqTGQveVpRc3djY0lBYWZuYzFhVkxaOUd5ZVVYOHNQQUxLSXFpZFRrdmRmdjJkYlJ0VXdWelprK1NcbmZ2UzVJMkFENE1LMEhPVTdac0pHcVhkNDVKekdUdDZHM0huTFNzdTM2TWV2RUJuSkoxSnFXYm5pUnpSdFhGYjZEVWRhMkt4V3pKazlcbkdiM0RtNm0ySThGUnNRRndVVnFQOHMyZXM1alV2T1M4eGszZWptelpDMHZMdDNEK0hIejZ5WGhwK2R4QmZId3NCZy9xaU9IRHVrcmZcbldpeks5bTNyMEtoQktSdy9ma2pyVXFSaEErQ0NPTXFYbklsZXIwZmtqSVBJa3JXZ3RKeGZmakVWbjgrWkxDMmZLenY1NXhFMGFsZ2FcbmE5Y3MxcnFVTkx0OSt6cmF0SDRQYy84ejArRmZYNGpBQnNDRmNKUXZPU3U5WG8rcHN3NGlRMmd1YVRsbmZ6WUozOC83VEZvK1Y2TW9cbkNoYk1uNFBXcmQ3RjlXdVh0QzVIR0p2Vmlsa3pSNk52N3hhSWpZM1d1aHhWc1FGd0VSWkxNZ1orMEk2amZNbHA2ZlZHZlBqSkh3Z0pcbnlTRXQ1N1NwUS9IREQxOUl5K2NxSGoyNmp4N2RHbUJLNUdDa3BGaTBMa2NWVzdhc1JzUDZKVFU5dTBCdGJBQmN3T1BIajlDaGZRMnNcbi8rMVhxWG4xZWdPNjlwekRVYjRrak5Gb3dvZWYvb0hBd016U2NrWk9Hb1RseXhkSXkrZnNkdTNjZ0xxMWkyTDM3azFhbDZLNlc3ZXVcbm9WMmJxbGk4K0J1dFMxRUZHd0FuZCtQR0ZiUnA5YTdVb3pXQjFGRytBNGN0UmZXYTNGdE5Zbmw0ZU9IRFQ0OGhJRjBHS2ZrVVJjR29cbkVlOWoxY3BGVXZJNUs2czFCWE5tVDBMUDl4c2pLdXFCMXVWSWs1eWNoSEVSZmRDM1QwdkV4Y1ZvWFk1UWJBQ2MyRjhuajZKbDg0cTRcbmRPbXMxTHgrZmtFWUViRVdKU1dlNWtidXhjdkxEN05tbjRSL1FJaVVmSXFpWVBpd2J0aXllYldVZk03bXlwWHphTjcwSGN5WlBka3Rcbjk4c0R3T1pOSzlHc1NYbWNQWHRTNjFLRVlRUGdwUGJ0M1lvTzdXdmc0Y043VXZPR1pnekQrQ2s3a0ZmaUFTN2tucnk4L1BEaHgwZmhcbjQ1dE9TajVGc2FOZjM1Yll2bTJkbEh6T1l1V0tIOUc0VVJuOC9mZHhyVXZSM0pOR2FNSDhPVnFYSWdRYkFDZTBkczFpOU9qZVVQcFVcbnF6eDV5Mko4NUE1a3pKUkhhbDV5WDM3K3daang2UWxwdTB2c2RqdDZoemZEN2wwYnBlUnpaR1p6SElZTzZaeTZ0OThjcjNVNURpTTVcbk9RbFRJZ2RqMk5BdVRudm13Uk5zQUp6UXBJa2Z3R3BOa1pxemRObUdHRFZ1dmJSSHNrUlBCQVNFWU5xc3cvRDA5SldTejI2M28rZjdcbmpYSDQ4QjRwK1J6Ulh5ZVBvbEhEMGxpOTZpZXRTM0ZZcTFZdVF0UEdaWEgrM0NtdFMzbHJScTBMSU1kWHEyNXZkT2d5azlQOFNETkJcbndWa3hiZGJ2aUJoUkRoWkxvdXI1YkRZYk9uV29pVitYN1VYSlVoVlV6K2NvRkVYQmQ5OStqSTgvR2l2OUp1TlpPcDBPMlhNVVEvNkNcbmxaQWpaekg0K1FmQlpQSkdYT3hEeE1UY3cvbXpCM0h1N0g2WTQ3V2I2SGZwMGxtMGFGNEJVNmIrQjgxYmROYXNqcmZGQm9CZVNLZlRcbm9VMzdLYWpmZUpEV3BSQWhKRFFuSmsvZmgvRmpLc0dha3F4NlBxdlZpclp0cW1MMTJzTW9WS2lFNnZtMDl2RGhQUXdiMGtYNjFOQm5cbm1UeDlVS05XVDlTcTJ4c2hHVjU4SmtTOWhnTmhzMWx4NHRoR2JGajNHUzVkT0NLeHl2K1hrR0RHc0tGZGNQandIa3ljOURtOHZMdzFcbnFlTnQ4QlVBUGRlVFViNjgrSk1qeVp3MVB5Wk4yeTN0MEttVUZBdWFOMzBIRnk3OExTV2ZWdmJzMll3RzlVcG9mdkV2WHJJdVpueDZcbkRPMDZUWHZweGY4Smc4R0lNdVVhWTl6azdRanYveDE4ZmROTHFQTDVmbGs2RHkyYlY4U1ZLK2MxcStGTnNRR2dmK0VvWDNKazJiSVhcblFjVGtMVEFZNUR6QXRGaVMwYVJSV1Z5OWVrRktQcGxTSitGTlFvOXVEYVR2S0hxYTBjTVRIYnJNeEpDUnl4QVVsUFdOUDErbjA2SFNcbnUrMHdaZFloVFhjb25UbnpKNW8wS290MWE1ZG9Wc09iWUFOQS80T2pmTWtaNU01ZEJtTW1icGJXQkNRbko2RkJ2Uks0Y2VPS2xId3lcbjNMeDVGVzNiVk5GOGIzL21MUGt4WWNvTzFLbmZMODBuaWdZRlpjV1lDWnZRck9VWXpVNG5OWnZqTUdoZ0J3d2IyZ1ZKU2VxdlYwa0xcbk5nRDBYeHpsUzg0a2I3N3lHRFo2bGJURnFVbEppV2hRcnpqdTM3OGpKWithTnF4ZmhrWU5TdUhZc1lPYTFsSHB2ZmFZTkgwdmN1UXNcbkxpeW13V0JFczFZUkdEaHNxYWF2QkZhdFhJVFdMU3ZqMnRXTG10WHdLbXdBQ0FCSCtaSnpLbHkwR29hT1dnRzlYczZQTXJNNUhyVnFcbkZNVERCOW85TGs4THN6a09ZeU42WTBEL05wcE91dlAyOWtlZkFkOGp2TiszOFBUMFVTVkhxVElORURuakFQTGtLNmRLL05meDk5L0hcbjBiaFJHZWx6V2w0WEd3QkM1U29kT01xWG5GYlI0alhSZi9BaWFZOTg0K05qVWFkMllhY2JGWHZxMURFMGJsZ0dTeFovcTJrZFlYbktcbllQS0grMUdoY2h2VmN3V0haRWZFeE0xbzJHU0k2cmxlSkQ0K0ZoOE1hSXV4RWIwZGJuSWlHd0EzVjd0ZVgvVHNNNWVqZk1tcGxTblhcbkJQMEcvaUN0Q1lpT2prTDFxbmtSSHg4ckpWOWFLSXFDQmZQbm9GV0xTcG91Wk5UcGRLaGRyeS9HVHRxQzBJeGgwdklhREI1bzNUNFNcbkE0Y3RnWStQbkdPbG4yZko0bS9Sc2tVbFhMOStXYk1hbnNVR3dFM3A5UVowNmZFWlIvbVN5eWhYb1RsNkQvaGUydmZ6NDhlUFVLdEdcblFTUWxKVWpKOXphaW9oNmc1L3VOTVNWeU1Dd1c5YzlPZUpHQWdBd1lPbW9GT25hZHBkbk5SdW15alRCbDVnSGt6bE5Hay93QWNPcXZcblA5QzRZV2xzM0xCY3N4cWV4Z2JBRFQwWjVWdWpkayt0U3lFU3FrS2wxdWphODNNQWNwcUErL2Z2b0hxMS9MQWtKMG5KOXlZT0h0aUJcbmh2VkxZdWVPOVpyV1VhUllEVXlaZVJERlN0VFd0QTRBQ0E3SmdZaUptMUc3WGwvTmFvaUxpOEdBL20wUU9YbVE1cThFMkFDNEdZN3lcbkpWZFhyVVkzZE83eGliUjg5KzdlUXAzYVJXQzFXcVhsZkprbmUvczdkNnFOZS9kdWExYUh3ZUNCWmkzSFlQaVlWVWlYUHFObWRUekxcbjZPR0pqbDFuNFlNaFAydTI3a2xSRkN4YzhEbGF0M29YTjI5ZTFhUUdnQTJBVytFb1gzSVhOV3YzUXV2Mms2WGx1Mzc5TXVyVUtxeDVcbkUzRHIxalcwYTFkTjg3MzltVExueFlTcE85R3NWUVIwT3NlOHpKUXAzd1FUcCs1RzloeEZOYXZoNUo5SDBMUnhXZXpTYVBxa1kzNWxcblNMaTgrY3BqL0pTZEhPVkxicU5oazZGbzFpcENXcjZyVnkrZ1FmMFNtbDE0MTYxYmlnYjFTdUNQby9zMXlmL0V1MVU3WXRMMGZjaVpcbnkvSG5KMlRLbkJmakk3Zmp2V3FkTkt2aDhlTkg2Tm1qRVQ3K2FDeHNraHRJTmdCdW9FeTV4aGc1N2pmNCt3ZHJYUXFSVk0xYWprR0RcbnhvT2w1YnQ0NFRTYU5wRzc3endod1l4Ukk5L0hvQS9hSXk0dVJtcnVwejNaMjkrenoxeDRlY2taM1N5Q3lkTUg3L2YrRDNyMm5RdVRcblNtY1N2SXJkYnNmWFgwMUhwNDYxcEw2MjBRTVF1Z3JCQnB2SWNKUkd0ZXIyUnYvQmkyQXlPYytFS2lLUjJuU1lnanIxKzBuTDkvZXBcblkyalJUTTRJNGRPblQ2QnA0N0pZOXV0OEtmbGVKTGZFdmYxcWViZEtSMHljdWd0WnNoYlFySWJmZjkrTlJnMUtZZisrYlZMeTZRSEVcbml3eG9VYlNkSVUycGREb2RtclVjZzA3ZFBwWjJWQ3FSbytyUVpTYXExdWdxTGQrSkU3K0ZoK2d0QUFBWEFVbEVRVlNqWS9zYXFzVlhcbkZBVkxGbitMVmkwcTRkS2xzNnJsZVpVbmUvc2pKTy90VjB2V2JJVXdhZnBlVkswdTczdmxXWThlM1VlWHpuVXdhK1pvMkd6cTNsRHJcbkFRZzl5U0pKMFc2dnFhT3lTbjRvWXZUd1JKOEI4NlcrL3lSeWROMTdmWWxLVmRwTHkzZnc0RTUwNzFwZmVOekhVUThSM3FzcHhrYjBcbjFuVFlURUM2VUF3YnZVclR2ZjFxTUptODBUMzhTM1R2OVlWbVQwNFZSY0hjLzh4RTF5NTFWWjNTS1B3SlFJemQ4VS9Ha2kwbFJaR1dcbjY4a28zM2NxdFpLV2s4aFpoUGY5Rm1YTE41V1diL2Z1VFFqdktTN2Z3WU03MGJCQlNXemZ0azVZekxkUnJIZ3RUSjE1RUVXTDE5UzBcbkRqVlZyZEVONHlPM0kxUG12SnJWY0dEL2RqUnFVQXEvLzc1YmxmakNud0E4c0Q4U0djNGxXRzF5R29EZ2tPd1lPM2tyUi9rU3ZjU0FcbklUK2hWT2tHMHZKdDI3WVdnd2FtN2NtRHpXckZKeCtQUStlT3RYRDM3aTFCbGIwNW85R0V0aDJuWXVqb2xRaElGNnBaSGJKa3oxa01cbkU2ZnR3VHNWVzJwV3cvMzdkOUNwUTAxOC9kVjA0YkgxQUs2TERIaWZEY0MvMkNWYy83TmxMNHl4azdZZ2E3WkM2aWNqY25LRFJ2eUNcblFvV3JTTXUzYnUxU0RCM2MrYTArOS9idDYyamZ2anErK25LYXBudjdRekxrd09nSkcxRy8wU0MzT2o3YzI5c2ZmUWN1UksrKzMyajJcblNzQm1zK0hqajhZS2o2c0hjRTVrd0t2V0d5TER1UVJGNVFhZ1NMRWFHRHQ1RzBmNUVyMkJVZVBYSTE4Qk9hdjFBV0QxNnA4d2NYei9cbk4vcWNEZXVYb1VHOUVqaDZaSjlLVmIyZVN1KzJ3OVNadnlOdnZ2S2ExcUdseWxVNklHTFNabVFJemFWMUtjSUlid0R1Mk80aFFkRnVcbllZcTdxVnlsQTRhT1dnNXZiMyt0U3lGeU9tTW5iVVdldlBMMjdTOWE5RFVtVHhyNHlqK1huSnlFeU1tRE1LQi9HMDNIRG50NSs2RmJcbno4OFIzdjg3ZUhuN2FWYUhvOGdWVmdxUk13NmdmSVVXV3BjaWhQQUdRSUdDYzlaTElrUFNDendaNVdzd2VHaGRDcEhUR2p0NUc3Smxcbkx5SXQzdzhMdjhBbkg0OTc0ZTlmdUhBYXpacVd4OElGbjB1cjZYbHlocFhFNU9uN1VLMW1kMDNyY0RUZTN2N29OK2dIZE92NXVkUHZcbmZualNBQWpkcUhiQ2NrcGtPSG9HUi9rU2lhUFg2eEU1NHdDeVppc29MZWRYWDA3RG5ObVQvdlh4bFN0K1JMTW01WER1N0YvU2Fubldcbms3Mzk0eWR2NDlIaEwxR3RabmVNbmJ6VnFWOEo2QUdZQWZ3aE11aGw2elZ1QjFSUi84R0xPTXFYU0NDOVhvOHBNdzlKdmVETm1UMFpcbjg3NUxuVm9ZSFIyRlB1SE5NWHhZVnlRbUpraXI0VmtCQVJrd1pPVHkxTDM5SHA2YTFlRXN3bktYeHFScGUxQ3l0UGp6SG1SNE1ndGdcbmg4aWdkaWpZWnpraU1pUTlwV0NoZDdVdWdjamw2UFVHVFB2b01JSkRza3ZMT1gzYWNFUk9Hb1NHOVV0aXk1YlYwdkkrVDVGaTFSRTVcbjh3Q0tsNnlqYVIzT3h0Y3ZFSU9HLzRLMkhhYkNZREJxWGM0YmVkSUE3QlFkK0lqbEJNeUtkcDBzRWRHYk1ocE5tUG5aQ2FrN2FoWXVcbi9CeDM3bWkzZThwZ01LSlp5ekVZUG1ZMTBxZlBwRmtkemt5bjA2Ris0MEVZTjNrYlFqTGswTHFjMS9ha0FkZ0hRT2dadmlsS0NyWW5cbmFidDFoWWpvVFJtTkprei8rQWdDMG1YUXVoVFZaUWpOaFloSlc5R3NWUVIwT2c2SFRhdXdQR1V3Y2RvZUZDdFJXK3RTWHN1VHIzZ0NcbmdPMmlneCsySE1jdDIxM1JZWW1JVk9YbDVZZFpzMC9DUDhCMW00Q3k1WnRpMHZTOXlKTzNyTmFsdUJSLy8yQU1IYlVDSGJyTWRQZ2RcbldrKzNmRCtLRHE1QXdhckVqYkJ5UkRBUk9Sa3ZMei9NK09RUCtQaW0xN29Vb1V3bWIzVG9NaE1EaHZ3RVh4ZjdiM01VT3AwT2RlcjNcbnc4aXg2NUErTUxQVzVielEwdzNBR2dEQ1Q1eTRZN3VIalluQ0h5NFFFYW5PMXk4UU16NDk3aklIYmVYSVdSeVJIKzVIbmZyOXRDN0ZcbkxSUW9WQm1SSCs1RDRhTFZ0QzdsdVo1dUFKSUFyRkFqeVNITE1SeFA0ZGtBUk9SOEFnSkNNUDJqSS9EMDlOVzZsTGYyWkcvL2hDazdcbmtDbExQcTNMY1NzQjZVSXhmTXhxTkdzNXh1SFdXVHhielh5MUVxMUsySUFMMWl0cWhTY2lVazFnY0ZaTW0vVzdac05nMHNMZlB4aURcbmh2L0t2ZjBhMHVzTmFOWXFBc1BIckVhQUE2MHJlYllCT0FCZ2p4cUpiTEJqY2NJcVhMWmVVeU04RVpHcVFrSnpZdktIKytIaFJCZlJcblFrV3FZTXJNZ3loWnVwN1dwUkQrT1d0aHhuNkhPY3ZsZWM4anBxbVZ6S0pZc05EOEsvNUtPYXRXQ2lJaTFXVE9rZytUUHR6bjhIZlNcblQvYjJqNGhZNjlDTDBOeFIrc0RNR0RudU40ZDRKZkM4N0ZzQXFIYU1udzAyL0pxd0JqdVM5ME9CeW5OeWlZZ0V5NXExSU1aTjJ1cXdcblc3eUNRN0pqMVBnTmFOWXFBbnE5UWV0eTZEbWV2QklZRWJFR0FlbEN0YXZqQlIrUFZET3BIUXEySiszRkF2TXZpTEhIcVptS2lFaTRcblhMbExJV0xpSnVnZDdPalhjaFdhWThyTWc4aGZvS0xXcGRCcitMLzI3anpLcXVwTXcvaFRGREpQQWdLS1lCUm9KWklvSWdhRGlPSVVcbnhVVWlFUTA0RXczcEVCc0hGRkZ4aUJxbkdPZG8xR2czUXFzUkF5b1lUVUlVQkVSVVFoQURvZ2d5eUNBRkNGVkZ6VGQvWEZ4dG00QWxcbjdEUGN5L05iNnk0RnFyN3ZXMUNyN2x2bjdIMzJON3Nkd3cyL25FNlhBM3NsMG45N0FXQXlNQ1hxNWt1cWxuRjM4U05NTFp0QnRjOEtcbmtKUkRPblU1Z2xIWFRFN0ZUOW4xNmpmaWdvdnVaL2lJc1RScTFEenBjZlExdEd6Wm5xdkd2TVRKcDQ2SS9YVFhIZDJBR0VGMmEyQ2tcbktqT1YvTFY4QnZkdWVZeDNLdVliQkNUbGpBTzc5dWF5VWM5UlVDZTVlN2tkT25iamhwdW4wYmZmK1luTm9GMVRXTGdIWjU1MU15TkdcblBrUGpKbnZHMW5kSFg3VkxnTnZpR3FTb1ppTi8yUG9TZDIxNW1MK1VUV2Q5ellhNFdrdlNUdXYyN2VPNDdJb0ppU3pvK202ZndZejVcbnhWVDIyZmVnMkhzcnZFTVBPNW1iYnB0RjV5NUh4Tkx2cTY1ZHZRbjhFSWh0NDJKNXBvSmwxU3VZWGZFT0M2c1dzNzVtQTlYVXNMNjZcbmlCWFZud1RyMDZkSEEvcjBhQkNzM283Yyt1aG5RZXYxSDNCcFR1NUhsdkpWMjNhZGFOLytJTjZlRTkrUnZoMDZkdU9TSzU3eGUwR2VcbmFkaW9HYjJQUG92cXFnbytYUHhtcEwyK0tyS1dBV2VRUFN3b2RxdXIxekd6L0MyZUxKbkF6SXJJTmlaSTBpN3IyZXMwaHYzOGQ3SGRcbngxMnhmQUgzM1RXRXFzcWdCN2txQlFvTDZ6Sm84Qys0K0xLbklqMnZvVGJYckJhUVhROGdTZHFCWHQ4ZHhIa1gzZ2ZFRXdMZS9mdWZcbmVlaUJvVlJYVjhYU1QvRTY3UEQrL09LMm1aR2QyRmpibTFhUEVjRnBnWktVYjQ3cGR6NW5uMzluYlAzZW1mTUNEejh3bEpvYUYxRG5cbm8xYXRPekw2dXBjNTdvU0xndGYrT3F0V2ZrWjJUWUFrYVFlT1Aya1lad3krS2JaK2I4MmV5T09QRENlVHFZbXRwK0pUZDQvNm5EUDBcbjE4SHJmcDBBVUFMMEJ4WUduMEtTOHN3cEF5NWg0S0JyWStzM1k5cDRubmowWWpJWm43Q3Eydm02KzFhS2dCT0I1UkhNSWtsNVpjREFcblViR0dnT212anVWL3g0NktyWjl5Mjg1c1hGMEpuQUtzQ1R5TEpPV2RBUU5IY2U3UVg4ZTJPK0RQTHovRTArT3VqcVdYY3R2T1BybmlcblBlQzd3QWNCWjVHa3ZOVHZoSXU0OEtjUHgvYXdvSmVuM00ra0NiK01wWmR5MTY1OE5TNEYrZ0J6QTgwaVNYbXI5OUZER1BxVEIyTUxcbkFaT2V1NVVYSi8wcWxsN0tUYnY2bGJnV09CWjRPY0Fza3BUWCtoeHpObWVkZDBkc3R3T2VlK1pHWG5yeG5saDZLZmVFaUtLYnllNE9cbnVCcndhUlNTdEFQSG56U013ZWZjR2x1L1o1KzZqcWwvZmpTMmZzb2RvYTVGMVFDM0FyMkJaWUZxU2xKZU92SGs0ZnpvN0Z0aTZaWEpcblpCajN4T1c4T3ZYeFdQb3BkNFMrR1RVSDZFbjJxWUZ1UnBXazdmaGUvLzlpd0dsWHh0SXJrOGt3OW5lWE1tdkcwN0gwVTI2SVlqWEtcbmV1QThvQy93YmdUMUpTa3ZERHhqRFAyL2Yxa3N2VEtaR2g1NzZLZk1udlZzTFAyVWZsRXVSMzBkNkFHTUpQc0FJVW5TbHd6NjBZMmNcbmZHbzg1NjNWMUZUejZHK0dNZmZ0S2JIMFU3cEZ2UitsRXJnTDJBKzRCRmdWY2I5YXE2enlEb1drZERoanlFMzBPK0hDV0hwVlYxZnlcbm0zdlBaZDVjTjIvdDd1TFprSm85UitCZW9ETXduT3lEaEJKVlhHb0FrSlFPQlFVRm5IUEJyK25iNy94WStsVlZWZkRBUFdjemY5NmZcbll1bW5kSW9yQUh5dURQZ04wRzNiNjNZU2VxUndjYW1uWmtsS2o0S0NBczc3OFQwY2VkU1pzZlNycWl6bmdYdk9ZZEUvWG8rbG45SW5cbjdnRHdSZThCVndFZGdPUEpiaU9jVFV6UEVsaTExck96SmFWTG5UcUZYUFNmditVN1IvNHdsbjRWNWFYY2ZjZnBMRjQwSzVaK1NwY2tcbkE4RG5xb0NwWkI4a2RDVFFDaGdBakFIR0EyK1RmZGhRVUl1WFZZWXVLVW03ckU2ZFFuNHkvRkc2OXpnbGxuN2w1YVhjZmVjZ2xpNTVcbko1WitTbzgwQklBdjJ3eThDTndNbkUzMnVRTE55VzRyREdiVnVtcHZBMGhLcGNMQ1BSaCt5Wk1jMHYya1dQcHRMZDNNbmIvOFBoOHZcbm5SZExQNlZER2dQQTlnUzlQWkRKd0t4NTVhSEtTVkpRZGV2V1kvZ2xUOUwxNEtOajZWZGEraG0vdXUwMFZxMWNHRXMvSlMrWEFrQUZcbjhISElndFBmTmdCSVNxOTY5Um95WXVUdjZYSmdyMWo2YmRtOG5qdHZHY0NuNjRKK3ExVks1VklBQUZnVXN0Z2ZYOThhc3B3a0JkZWdcblFXTXVHL1VIRHVqVUk1WittemF0NGE3YmZrQlpXVWtzL1pTY1hBc0FRYTlOdmIrMGtybi9xQWhaVXBLQ2E5aXdLWmVQbnNSKzN6Z2tcbmxuNXJWbi9JaEtkdmlLV1hrcE5yQVNENGh0WHhrMDI1a3RLdmNlTVdqTHo2ZWZidGNIQXMvVjZiK2pnYmlsYkcwa3ZKeUxVQU1BMElcbnVvRi8zSXZGck4vb2JnQko2ZGUwYVN1dXZPWUY5dDduUHlMdlZWVlZ3YXdaejBUZVI4bkp0UUR3R1RBM1pNR1NyUmtlZm1aTHlKS1NcbkZKbG16ZHN3K3JvL3hoSUMzbnYzMWNoN0tEbTVGZ0FBL2hxNjRJTlBiV0hOZXA4TUtDazNOR3ZlaHBHako5RjZyNDZSOWxtOTZ2MUlcbjZ5dFp1UmdBSm9jdXVLV2todEYzYnd4ZFZwSWkwNnAxQjBaZE80V1dMZHRIMXFPMDlMUElhaXQ1dVJnQVpnSWZoUzc2N0N1bHZETFRcbmJZR1Njc2RlYmI3QmxkZE9wa1dMZHBIVXI5K2djU1IxbFE2NUdBQXl3TGdvQ2w4NHBvamxxMk01aTBpU2dtaTNkMmV1R3ZNU3pWdTBcbmphUzI4bGN1QmdDQUo4a0dnYUEyYnE3aGdtdUtLS3NJWGxxU0l0TnVueTZNdkdvaWpadnNHYlR1UVYyUENscFA2WktyQWVCREluZ21cbkFNQ2I4OHNaZWswUjFlNE1sSlJET3V6M0xVYU9ua1REUnMyQzFDc29LT0RJM21jR3FhVjB5dFVBQUhCN1ZJVmZlTFdVNFRjWkFpVGxcbmx2MFBPSXpMcjVwSWc0Wk5kcm5XRWIwR3NzKytCd1dZU21tVnl3SGdKU0N5QTZ6SHZWakNrSkdmc3JYYzJ3R1Nja2ZuTGtkdzZSVVRcbnFGZS8wVTdYYU5xc05VUE9qZXhuTEtWRUxnY0FnRnVqTEQ1bCtsWk9HYmJXaFlHU2NzcUJYWHN6NHZLbmR5b0VOR2pZaEV1dm5CREpcbm9rS2xTNjRIZ0luQWdpZ2J2TFdnZ3Q1bnJlSEYxOXdpS0NsM0hQeXRZN25tK2xmWXE4MSt0ZjZjdHUwNmNlMk5mNG50NUVFbEs5Y0RcblFBMHduQWgyQkh6UnhzMDFEQjc1S1lNdS9aU1BQL0ZxZ0tUY3NOLytoM0xMSFhNNDdmUnJhTmE4elhZL3JrV0xkZ3o2MFkzY2ZNZnNcbjJBNGJVdklLa2g0Z2tQSEFrRGdhTldwUXdOQ0JUUmh4VGpQMjNxdXdWcC9UdE9keU1nRWp5b09QTGcrKzNVZFNmcXV1cm1MSkIzTllcbit0RmNObisyRG9EbUxkcHhRS2NlSE5ENWNPclVxZDMzTXlYbi9NRk5nOWJMbHdDd043QUlDTFAvcFJicTF5dmc5Qk1iTWFSL1kvcjBcbmFFQ2RIVnhMTVFCSWtuWlY2QUJRTjJpMTVLd0dSZ01QeHRXd3ZDTEQrTWtsako5Y1F2czJoUnpYcXlGOWU5Ym55RVByMDZGZFhRcnlcbkpWcEprdkpTdmdRQWdJZUFFNEFmeE4xNDFicHF4cjVRek5nWGlvSHNiWUxPSGZkZ256YUZORzVVRVBTbmYwbVNRc2luQUpBQkxnQU9cbkFmWlBjcERTc2d6ekYxY3dmM0dTVTBpU3RIMjV2Z3ZneXpZQlp3SVZTUThpU1ZLYTVWc0FBSGlMR0xZR1NwS1V5L0l4QUFBOEJseVhcbjlCQ1NKS1ZWdmdZQWdKdUJlNUllUXBLa05Ncm5BQUJ3T1RBdTZTRWtTVXFiZkE4QU5jQzV3SytTSGtTU3BEVEo5d0FBMmNXQVZ3Q1hcbjRNSkFTWktBM1NNQWZPNWU0RUtnUE9sQkpFbEsydTRVQUFBZUIzb0RTNUllUkpLa0pPMXVBUURnSGFBNzhIVFNnMGlTbEpUZE1RQUFcbmJBRUdrNzBsc0NIaFdTUkppdDN1R2dBKzl6dWdNM0FmMlIwRGtpVHRGbmIzQUFDd0VSZ0I5QUhlVG5nV1NaSmlZUUQ0UDdPQW5tU0RcbndOU0VaNUVrS1ZJR2dIODFBemdlNkF0TUFhcVRIVWVTcFBBTUFOczNIVGdWYUFzTUEyWW1PNDRrU2VFWUFMNWFFZkFJY0JUd2JlQXFcbjRFOUFhWkpEU1pLMEsrb21QVUNPZVhmYjYzYWdIdkFkc3NHZ0szRGd0bGZ6eEthVEpLbVdEQUE3cndKNGZkdnJpOW9DK3dKTmdTYmJcblh1TUplTFdsc3JJc1ZDbEpVZzZvS0E5LzBka0FFTjdhYmE4ditoK3lWd3lDS050YURIdUdxaVpKU3J1eXN1TFFKV3RjQXhDUHlwREZcbk5tMWFFN0tjSkNubEl2aStYMjBBaUVkRnlHSnJWbjhZc3B3a0tlVldmL0pCNkpLVkJvQjRiQTVaYk1YeUJTSExTWkpTYnVXSzkwS1hcbkxERUF4R05aeUdMdkw1d1JzcHdrS2VVV3ZqYzlkTWtWQm9CNHpBOVpiTlhLaFd6YzhFbklrcEtrbENvcDJjVFNKWE5EbDMzZkFCQ1BcbjJTR0xaVElaWnM5OE5tUkpTVkpLelpuOUI2cXJnNjRsQjNqTEFCQ1BQNFV1K1ByMGNXUXltZEJsSlVrcE0zUGErQ2pLL3RFQUVJLzFcbkJGNEkrTW5LUmZ6OWJ5K0hMQ2xKU3BsRkMyZnc0UWR6UXBjdEF4WVpBT0x6OTlBRm4zL3VOaktabXRCbEpVa3A4Znh6dDBaUmRoRjRcbkdGQ2NKb1l1dVBTanVVeC9kV3pvc3BLa0ZIaHoxb1FvVnY4RHZBUlFFRVZsL1ZzdGdBMEUvanR2M0dSUGJycjlEVnEyYkIreXJDUXBcblFWdTJGREZtMUpGczJyZzZpdklkY1J0Z3JEWUJ3Ui9oVjFLOGtZZnZIMHAxZFZYbzBwS2tCR1F5R1I3LzdjK2lldk5mQmF3QUtJeWlcbnVyYXJFUGhlNktKRjYxZFF2S1dJUTdvSEx5MUppdG1FcDY5bittdFBSbFgrUVdBcUdBRGk5aFp3TlJHc3ZWajYwVnhxTWpWMFBmam9cbjBLVWxTVEY1ZWNyOVRIejJscWpLWjRCVDJIWStqUUVnWGhuZ0dHRC9LSXEvdjNBbXBhV2I2ZmJ0NHlnb2NIbUhKT1dTaVJOdTRibG5cbmJveXl4VnpnZ2M5LzRidEUvUFlIbGhEaDMvMWhoL2ZueHo5OW1NYU5XMFRWUXBJVVNObldZcDU0N0dMZW5EVWg2bGFIQVgvNy9CY0dcbmdHUzhBZlNLc2tHcjFoMForcFA3T2ZoYi9hSnNJMG5hQllzWHplTHhSNGJIY2N6N2UwQzNMLzZHQVNBWjNZQjM0MmpVczlkcG5IN21cbjliUnQxeW1PZHBLa1dsai82WEltVHJpRldhOC9GZGRqM2ZzQS8rOG9XUU5BY3FhVC9RZUpYSjA2aGZUc2RSckhIamVVQTd2MnBxREFcbjNaK1NGTGRNSnNPU0QrYncydFFuZUdQbTc2TTQ0R2Q3NWdIZHYveWJCb0RrdEFUV0FIdkUyYlJWNnc0YzB2MGt1aDdjbHdNNkhVYkxcblZoMWNNQ2hKRWRsUXRKSmxTK2Z4andYVG1EL3ZGZGF0WFJyM0NEVmtIL3l6NnN0LzRIZitaTjBBWEova0FQWHFOYVQxWGgycDM2QUpcbmpSbzFTM0lVU2NvTFcwczNVMVpld29iMUt5Z3JLMGw2bkFlQm4vKzdQekFBSkc4RnNHL1NRMGlTOGs0UjBIcDdmK2pONE9RZEJmZ2NcblgwbFNTRFhBOFR2NkFBTkE4ajRHTGt4NkNFbFNYcm1hN09LLzdmSVdRSHBNQXI2ZjlCQ1NwSnozR25Ec1YzMlFBU0JkL2dZY212UVFcbmtxU2N0UXpvUWkxdUxSc0EwcVV1OEJIUUllbEJKRWs1WndPd0gxQmNtdzkyRFVDNlZKRjlTdUNHcEFlUkpPV1VZcUFydFh6ekJ3TkFcbkdtMG1lMkRReXFRSGtTVGxoSTFrMy96WGZaMVBNZ0NrMDJhZ0U3QXc2VUVrU2FuMkNYQUFPL0ZEb3dFZ3ZTckkzZzZZbnZRZ2txUlVcbmVvZnNQZjlOTy9QSkJvQjBxd0g2QWxkcyszOUprakxBdmNEaDdNS0Q1TndGa0R1NkFkUElIaUlrU2RvOWxRS25BcS91YWlHdkFPU09cbkJVQmI0Qkd5NlUrU3RIdVpSdlo5WUpmZi9NRXJBTG1xQy9BODJWV2ZrcVQ4dGhZWUNNd0tXZFFyQUxucEErQ2J3RkN5WHhpU3BQeFRcbkJGd010Q1B3bXo5NEJTQmZuQUhjaGNjS1MxSStXQXVNQnA2SXNva0JJTDkwQjhZQUp3R05FcDVGa2xSN0ZjQWJ3STBFdXNmL1ZRd0FcbitldE1ZQmpaVU5BaTRWa2tTZjlxTTlramU1OEEvanZ1NWdhQTNVTnI0TWRBUDdKUEdHd0xOTVovZjBtS1E0YnM5cjExd0JLeXEva2ZcbjRXcyt1amMwM3dCMmIrM0pyaHRvdmUzVk50bHhKQ2t2ZkFxczMvYmZWY0NLWk1lUkpFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNcbkpFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNcbkpFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNcbkpFbVNKRVhvbngzc1ZnNXcwUmsvQUFBQUFFbEZUa1N1UW1DQ1xuXCJcbiAgICAgIGlkPVwiaW1hZ2UxLTlcIlxuICAgICAgeD1cIjEwNi42MzEyOVwiXG4gICAgICB5PVwiMTYxLjg3MDkzXCJcbiAgICAvPlxuICA8L2c+XG4gIDwvYT5cbiAgPGEgdHlwZW9mPVwiYnV0dG9uXCIgaHJlZj1cIi9iaWVsZWZlbGQtY2ViaXRlYy9jb250cmlidXRpb24/dGFiPWJmaCZzdWJUYWI9cGRmXCIgPlxuICA8Z1xuICAgIGlkPVwiZzNcIlxuICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT1cImZpbGVzLnN2Z1wiXG4gICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9ezk2fVxuICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPXs5Nn1cbiAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM1LjgwNDE1NCwtNTYuOTA5OTY0KVwiXG4gID5cbiAgICA8Y2lyY2xlXG4gICAgICBzdHlsZT17e1xuICAgICAgICBvcGFjaXR5OiBcIjAuODVcIixcbiAgICAgICAgZmlsbDogXCIjZmFlOTllXCIsXG4gICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICBzdHJva2U6IFwiIzk0MDA4NFwiLFxuICAgICAgICBzdHJva2VXaWR0aDogXCIxLjMyMjkyXCIsXG4gICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgc3Ryb2tlT3BhY2l0eTogMSxcbiAgICAgICAgcGFpbnRPcmRlcjogXCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJcbiAgICAgIH19XG4gICAgICBpZD1cInBhdGgxLTVcIlxuICAgICAgY3g9XCI1NC45ODY0NDZcIlxuICAgICAgY3k9XCIxMzQuMTA3NzlcIlxuICAgICAgcj1cIjE4LjUyMDgzNFwiXG4gICAgLz5cbiAgICA8aW1hZ2VcbiAgICAgIHdpZHRoPXsyMH1cbiAgICAgIGhlaWdodD17MjB9XG4gICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWdBQUFBSUFDQVlBQUFEMGVOVDZBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZselxuQUFBT3hBQUFEc1FCbFNzT0d3QUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQ0FBU1VSQlxuVkhpYzdOMTNuQlhWL2YveDE5eTJ2YkN3OUNJZ0lJallzV0lMWW9zYXU4WVNZelR4RzF2VWFPeXhKQnBiYk5Gb05KWm9ZamQyRFJZVVxuRlJXeG9tSURwQXU3UzltK3QvNyt1SktmR3RvdWM4N2NtWGsvSDQ5OW1FZEN6dWNqZTh0N3pwdzV4OEcvSEdBZ01PTGJuNDJBSVVENVxudHorVjMvNlVBU1VlOVNqU0ZXbGdDVEFIbUFnOEJuemthVWNpRWppTzF3MTBRamt3RHRnVjJBWFlHQ2oxc2lFUml4NER6Z1crOExvUlxuRVFtR1FnOEFZNENEZ2QyQXNVRGMyM1pFUE5VQ0hBazg0WFVqSXVKL2hSZ0FlZ0ZIQU1jQ20zcmJpa2pCeVFML0Ivek42MFpFeE44S1xuSlFBNHdGN2tQOWoyQkdMZXRpTlMwTExBejREN3ZHNUVSS1NySEdCZllDcVEwNDkrOUxQT1AybmdVRVJFdXNpckdZQUlzQTl3TWJDRlxuUnoySStGMFNPQkI0eHV0R1JNUi92QWdBV3dCL0piK29UMFRXVHh1d04vQ0t4MzJJaU05RUxOYXFCbTRnUDkydkwzOFJkNVFBVHdNN1xuZXQySWlQaUxyUm1BbzRCcnlLL3dGeEgzTFNPL1I4YUhYamNpSXY1Z09nQlVBTGVSZjZ4UFJNeXFJNzlKMXFjZTl5RWlQbUF5QUl3RVxuSGlhL1k1K0kyTEdBL0k2WnM3MXVSRVFLbTZrMUFNY0EwOUNYdjRodC9jZ3ZDQnpvY1I4aVV1RGNEZ0FSNEJiZ0hyUlB2NGhYQmdMUFxuQTdWZU55SWloY3ZOV3dBSjRCL0FZUzZPS1NKZDl4SDVoWUZMdlc1RVJBcVBXd0dnREhpRS9EYStJbEk0M2daMkI1cThia1JFQ29zYlxuQWFBR2VCYll4b1d4Uk1SOWs4anZ2Tm5tZFNNaVVqaldOd0NVQWk4QzI3blFpNGlZTXhIWUQrand1aEVSS1F6cnN3Z3dUbjdhWDEvK1xuSW9WdkFuQS9PbWxUUkw0VjdlTC96d0Z1Qnc1eHNSY1JNV3NrTUJoNGd2eUpnaUlTWWwwTkFGY0NKN3ZaaUloWXNTa3dBSGpLNjBaRVxueEZ0ZFdRTndKSENmMjQyc3J5aFJhaUxWOUl6Mm9GdWtpbEtubElRVEowR2NJaWZoZFhzU2NrdXlEYnpVL3ByWGJYelgxY0RaWGpjaFxuSXQ3cDdQM0FZZVNQOHZWY3dra3dPRHFBSWJGQkRJa05vbmUwbG9qVnd3MUYxdDNYNlhtODVIVVQzM2NXMEF4YzZuVWpJdUtOemdTQVxuSXVBQjhnZjhlTUxCWVVoc0VKdkhSek02UG9LNEUvZXFGWkVndUFSb0I2N3l1aEVSc2E4ekFlQXFZQXRUamF4SmtaTmcyOFFXYkZlMFxuRlJWT3VSY3RpQVRWbjRBVjVFL3RGSkVRV2RjQXNEZHdpc2xHVmlYaEpOZ3hzVFhiRjIxTmlWTnN1N3hJR0Rqa3orOW9vUURYOW9pSVxuT2VzU0FFcUFtekI3ZFBELzJDaTJJZnVXVEtBNlVtbXpyRWdZUllDN2dTVHdrTGV0aUlndDZ4SUFmZ2NNTWQzSVNoVk9HVDhwM1l1TlxuWWh2YUtpa2krVWVDN3dVYXlaOGtLQ0lCdDdZQU1KUjhBTEJpY0d3Z2g1WHVwL3Y4SXQ1SUFJK1J2K1gzaXJldGlJaHBhd3NBMXdOV1xuYnI3dlhMUXQ0NHQzSm1MM1RvT0lmRjhKOENRd0hwanFjUzhpWXRDYUhwd2ZEL3pZZEFNT0R2dVdUR0JDOFM3NjhoY3BEQlhBYzhBWVxucnhzUkVYUFdGQURPTTEvYzRjQ1N2ZGsyNGNuVGhTS3llalhrVC9vYzZYVWpJbUxHNmdMQVdHQlhrNFVkNE1DU2ZkZ2lzWW5KTWlMU1xuZGJYQUMrUVBFQktSZ0ZsZEFEamZkT0c5aW5kajg4Um8wMlZFWlAzMEk3OGdjS0RIZllpSXkxWVZBRFlHOWpWWmRMdkVWdXhRTk5aa1xuQ1JGeHowRHlqd2JXZXQySWlMaG5WUUhnZEF4dSt0TS8yb2U5U25Zek5ieUltREVTbUFoVWU5MklpTGpqaHdHZ0dEaklWTEdFaytEUVxuMHYySTZ0UStFVC9halB4TWdHY0hnb21JZTM3NFRid2ZCaFArZmlVVDZCN3BabXA0a2REcEYrMXR1K1Eyd0JQazl3c1FFUi83WVFBNFxuMmxTaFFiSCtiQmJYb2o4Uk4xMVNlUllieEFiWUxyc3I4RGo1SThKRnhLZStHd0JxZ1QzTUZISFl0M2lDdHZrUmNWbGxwSnhycWk1aVxuUUxTdjdkSVRnUHZwM0pIaUlsSkF2aHNBRGdIaUpvcHNsZGlNUHRHZUpvWVdDYjNxU0JWL3FqcWYya2gzMjZVUEFQN09tamNVRTVFQ1xuOWQwMzd1NW1DamlNSzlyR3hOQWk4cTFlMFZxdXFmNDlOZmJYMkJ3RDNJN2w0OEpGWlAxRnZ2UFBjU1lLakltUG9pYWlKNGRFVE9zWFxuN2MyVlZlZFRHYkcrU1A4NDRNKzJpNHJJK2xrWkFEWUZqTXdmN3FpcmZ4RnJCc2NHY25uVnVaUTYxaGZwL3dhNHlIWlJFZW02bFFIQVxueUw3L2ZhTzlkZTlmeExLTllodHlSZFY1RkR2V0YrbGZBcHhsdTZpSWRNM0tBTENMaWNFM2kyOXNZbGdSV1l1TjR5TzRwUElzNG82UlxuZGIxcmNpVndvdTJpSXRKNUt3T0E2eHZ6UjNBWWs5QkpvaUplMlRJeGh2TXJUaVZLMUdaWkI3Z1pPTkptVVJIcHZBaFFCZlJ5ZStCK1xuMFQ1VU9PVnVEeXNpbmJCajBUYWNWZkZySEx1TDlDUEFQY0NoTm91S1NPZEVnQkVtQmg0YzArbWhJb1ZnZlBFNHpxdzQwWFlJaUFMM1xuQXZ2WUxDb2k2eTRDRERjeHNBS0FTT0hZczNoWC9xLzhaN2JMSm9DSE1iVEdTRVRXajVFQTRBQURvLzNjSGxaRTFzT0JKWHR6VktteFxud3o1WHB3UjRFZ1ByakVSay9SZ0pBQldSY2k4ZVFSS1J0VGkyN0RBT0tyRStLMThCUEFlTXNWMVlSRll2QXJqK29INFArM3VTaThnNlxuT3JIOEdINWNiR1RuN3pXcEFWNEU5R2lRU0lHSWtFL25ydXBoZno5eUVWbEhEZzZuVlJ6UGJrVTcyaTVkQzd3QURMWmRXRVQrVndSd1xuL1ZtOWlvZ2UveE1wWkE0TzUxU2V6TTVGMjlrdTNROTRCZEFxWVJHUEdaa0JTSkJ3ZTBnUmNWbUVDT2RXbnNMWXhPYTJTdzhrUHhQZ1xuK3Y0aklyTHVqTXdBSkJ3RkFCRS9pQkhqOTVWbk1DWnUvZGI4Y0dBaStiVUJJdUlCSXdHZ3lQNys0eUxTUlVWT0VaZFYvWTdoc1NHMlxuUzQ4Qm5zYkFaNUNJckYwRTNOOG8zUG52RVFNaTRnZGxUaWxYVkozUEJyRUJ0a3R2UjM2ZkFPdm5GNHVFbmI2cFJRU0Fxa2dGMTFSZFxueElCb1g5dWxkd1VlQjdSNWlJaEZDZ0FpOGwvVmtTcXVxcjZRM3RGYTI2VW5BUGNETWR1RlJjSktBVUJFdnFjMjBwMHJxeTZreHY1K1xuSGdjQWQ2TFBKUkVyOUVZVGtmL1JMOXFiSzZ2T3B6TGkrbFBDYTNNMGNCUFlQYnBRSkl3VUFFUmtsUWJIQm5KNTFibVVPdGJYNS8wYVxuK0xQdG9pSmhvd0FnSXF1MVVXeERycWc2ejR2RHZYNERYR2k3cUVpWUtBQ0l5QnB0SEIvQkpaVm5FYmUvdjhlbHdGbTJpNHFFaFFLQVxuaUt6Vmxva3hYRkR4RzZMdWJ4dXlObGNDSjlvdUtoSUdDZ0Fpc2s1MktOcWFzeXAraldOM2ZaNEQzQXdjYWJPb1NCZ29BSWpJT2h0ZlxuUEk0ekswNjBIUUlpd0QzQUlUYUxpZ1NkQW9DSWRNcWV4YnR5WXZreHRzdEdnZnVBdlcwWEZna3FCUUFSNmJTRFN2YmhxTktEYkpkTlxuQUk4QXU5Z3VMQkpFQ2dBaTBpWEhsaDNHb2FYNzJTNWJBandCakxWZFdDUm9GQUJFcE10T0tEdVNIeGZ2YnJ0c0pmQWZZSFBiaFVXQ1xuUkFGQVJMck13ZUcwaXVQWnJXaEgyNldyeVllQWtiWUxpd1NGQW9DSXJCY0hoM01xVDJhbm9tMXRsNjRGSmdLRGJSY1dDUUlGQUJGWlxuYnhFaW5GZDVLbU1UMW1mbCt3TXZBSDF0RnhieE93VUFFWEZGakJpL3J6eURNWEhycy9KRGdVbEFMOXVGUmZ4TUFVQkVYRlBrRlBHSFxucW5NWUhodHF1L1J3OHJjRGFtd1hGdkVyQlFBUmNWV3BVOElWVmVleFFXeUE3ZEpqZ0dlQUN0dUZSZnhJQVVCRVhGY1ZxZUNhcW9zWVxuRUxWK2EzNWI0SEh5K3dXSXlCb29BSWlJRWRXUktxNnF2cERlMFZyYnBYY2pId0tLYkJjVzhSTUZBQkV4cGpiU25TdXJMcVFtMHMxMlxuNlFuQS9VRE1kbUVSdjFBQUVCR2ora1Y3YzJYVitWUkdyTithUHdDNEUzM09pYXlTM2hnaVl0emcyRUF1cnpxWFVzZjZyZm1qZ1p0c1xuRnhYeEF3VUFFYkZpbzlpR1hGRjFIc1dPOVZ2enZ3YXVzMTFVcE5BcEFJaUlOUnZIUjNCSjVWbkVuYmp0MHI4QkxyUmRWS1NRS1FDSVxuaUZWYkpzWndRY1Z2aUJLMVhmcFM0Q3piUlVVS2xRS0FpRmkzUTlIV25GWHhheHdjMjZXdkJINWx1NmhJSVZJQUVMSEExQmRkbHB5UlxuY1cwWVh6eU9VOHQvWVRzRU9NQXR3SkUyaTRvVUlnVUFFUXRNM2ZQdXlIVVlHZGVXZlVzbWNHTDVNYmJMUm9CN2dFTnNGeFlwSkFvQVxuSWhZVU9Ra2o0N2JtMm8yTWE5TkJKZnR3Wk9sQnRzdEdnZnVBdlcwWEZpa1VDZ0FpRnBnS0FFdXp5NHlNYTl2UHl3N2pvSko5YkpkTlxuQUE4RE85a3VMRklJRkFCRUxDakNUQUNZbDFsb1pGd3ZuRmgrREQ4dTN0MTIyVkxnS1dCcjI0VkZ2S1lBSUdKQjNJbVRNTEFPWUc1NlxuZ2V0amVzWEI0YlNLNDltdGFBZmJwU3VCNThrZkp5d1NHZ29BSXBaME4zQWd6dlRVWjY2UDZTVUhoM01xVDJHbm9tMXRsNjRCWGdSR1xuMmk0czRoVUZBQkZMZWtScVhCOXpYbVlCOWRtbHJvL3JwUWdSenFzOGxiR0p6VzJYcmdVbUFvTnRGeGJ4Z2dLQWlDVzFrZTVHeG4yelxuWTVxUmNiMFVJOFpGbFdld2NYeUU3ZEw5Z1JlQXZyWUxpOWltQUNCaVNZK29tUUR3UXNka0krTjZyZGdwNHZLcWN4a2VHMks3OUZEeVxuSWFEV2RtRVJteFFBUkN6cEgrMWpaTndacVMrWms1bHZaR3l2bFRtbFhGRjFQaHZFQnRndVBRcjREMUJ0dTdDSUxRb0FJcFowajNTalxuT2xMbCtyZzVjanpRK29UcjR4YUtxa2dGMTFSZHhJQ285Vm41ellIbmdBcmJoVVZzVUFBUXNXaEliS0NSY1Y5dWY1MkZtY1ZHeGk0RVxuMVpFcXJxZzYzOWc2aWpYWUZuZ2NLTFpkV01RMEJRQVJpd1pIelFTQURCbHVhdjY3a2JFTFJlOW9MZGRVWDBTTmdjY3AxMkkzNEFtZ1xueUhaaEVaTVVBRVFzMmpDMmdiSFQ3OTVKZnNDVWpuZU1qRjBvK2tYNzhLZXE4Nmh3eW0yWG5nRGNTLzRNQVpGQVVBQVFzYWd5VXNGZ1xuUTdjQkFLNXR2bzJHZ0p3UHNEcERZb080b3ZvOFNwMFMyNlVQQWU1RW41c1NFSG9oaTFpMmVYeTBzYkZYWkJ1NXZQRkdNbVNNMVNnRVxuRzhVMjVBOVZ2ek4yeU5JYUhBUGNhTHVvaUFrS0FDS1dqWTZQTUhJdXdFb2ZwajdoNnFaYnlKRXpWcU1RakltUDR0TEtzNGtiL0x0Y1xualpPQTYyd1hGWEZiRkxqWTdVRkh4emVpVjFSN2FJaXNTdFNKc2lUVHdPSnNuYkVhczlKejZTREpsb2xnbjIvVE45cUxRZEgrdk40eFxuMVhiZzJSYklBTUhjaFVsQ1FRRkF4QU0xa1dyZVNYNWd0TVlucWM5WmtxMW5tNkl0aUFSNHNtOVFyRCs5b3oyWmtyUytBSEkzb0JXWVxuWXJ1d2lCc1VBRVE4VUJFcFoxNW1vZkVGZTErbHYyWldlZzViRjIxR3d2NzljbXVHeGdiUkxWTEYxT1Q3dGt1UEJ4WUM3OWt1TExLK1xuRkFCRVBOSXRXc1c3eVkrTTE1bVhXY2dySFc4eU1qYU1Xa1BuRVJTQ0VmR2hGRGtKM2t0TnQxbldBZllCdmdLc0ZoWlpYd29BSWg2cFxuamxReU96T1g1ZGtWeG1zMTUxcjRUL3NyTE0rdFlPUDRpTURPQm95T2IwU1dMQitsWnRnczZ3RDdrdzhBbjlrc0xMSStGQUJFUE5RclxuV3N1N3lRK3RMRi9Ma2VQejlFeWVhMytaREZtR3hqYndZZ1c5Y1pzbFJ0T1NhMlZHK2t1YlpTUEFBY0JVWUtiTndpSmRwUUFnNHFIS1xuU0RuTnVWWVdaQlpacTltUlMvSis2bU9lYW51QnhkbDZLcDN5d04wYTJDcXhLUTNaWlh5Wm5tMnpiQXc0Q0hnTm1HdXpzRWhYS0FDSVxuZUd4Z3JCL3ZKajhpUmNwcTNTUXB2dmgyUnVEWjlwZVltWmxEUzY2VkxCbEtuQkpmenc0NE9HeFR0QVVMTW91WW5abG5zM1NjZkFoNFxuaWZ6aVFKR0M1WUQ3czQrSGxlN1BtUGhJdDRjVkNhejNreC96U052VFhyZnhQZVZPR1dXUlVrcWNZaEw0TXd5a3lUQXJQY2VMMGt1QlxuWGREQ1FDbGdNYThiRUJIWVBER2FMOU96K1REMWlkZXQvRmR6cm9YbVRJdlhiZmhWRGZsWmdKMEJxeXNTUmRaVmNIY0hFZkdabjVUc1xuUVk5SWpkZHRpSHRxZ1luQVlLOGJFVmtWQlFDUkFwRndFaHhXdWg4eG5UZ2JKUDNKaHdBbE95azRDZ0FpQmFSdnREZjdsa3p3dWcxeFxuMTRiQXZlanpWZ3FNWHBBaUJXYXJ4S2I4cUhoSHI5c1FkKzFOL2loaGtZS2hBQ0JTZ0hZcjJwR3hpYzI5YmtQY2RSbFE3SFVUSWlzcFxuQUlnVXFIMUxKakE2dnBIWGJZaDcrZ043ZWQyRXlFb0tBQ0lGS29MRFlhWDdzV1Zpak5ldGlIc085TG9Ca1pVVUFFUUtXSVFJQjVUc1xuelc1RldoTVFFS084YmtCa0pRVUFrUUxuQUQ4cTNwRjlpbjlFQk1mcmRtVDk5UGU2QVpHVkZBQkVmR0w3b3EwNXJ1d0lLaVBsWHJjaVxuWGFkRmdGSXdGQUJFZkdSd2JDQW5seC9Ic0pnMmx4T1I5YU1BSU9JelpVNHBQeXM3bEFuRk94TjNkSnlIaUhTTkFvQ0lEems0N0Z5MFxuSGFlV0g4K0kyRkN2MnhFUkgxSUFFUEd4bWtnMXg1UWR3azlMRDZBNlV1VjFPeUxpSTVvL0ZBbUFqZU1qMkNnK2pJK1NuL0pLeHhUcVxuczB1OWJrbEVDcHdDZ0VoQVJJbXdlV0kwbXlaRzhWRnFCcE03M21KeHBzN3J0a1NrUUNrQWlBUk1oQWlieFRkbXMvakdMTW5VODM3cVxuWTk1TFRxYzUxK0oxYXlKU1FCd2c1L2FnaDVYdXo1ajRTTGVIRlpFdXlwRGx5L1FzdmtqTlpHWjZqbTRSZUtjUjBHSU5LUWlhQVJBSlxuZ1NnUk5vcHR5RWF4RFFGb3pEWXhNek9IdWVuNTFHV1hVcDlwb0VrekJDS2hvZ0FnRWtLVmtRbzJqNHhtOC9qby8vNTM3YmtPNnJOTFxuYWNvMmt5UkZNcGVrTGRkT1J5NUpscXlIM1hyam04d1N2a2pQOHJvTkVXTVVBRVFFZ0dLbmlQN1JQaEQxdXBQQzhFN3lBd1VBQ1RUdFxuQXlBaUloSkNDZ0FpSWlJaHBBQWdJaUlTUWdvQUlpSWlJYVFBSUNJaUVrSUtBQ0lpSWlHa0FDQWlJaEpDQ2dBaUlpSWhwQUFnSWlJU1xuUWdvQUlpSWlJYVFBSUNJaUVrSUtBQ0lpSWlHa0FDQWlJaEpDQ2dBaUlpSWhwQUFnSWlJU1Fnb0FJaUlpSWFRQUlDSWlFa0lLQUNJaVxuSWlHa0FDQWlJaEpDQ2dBaUlpSWhwQUFnSWlJU1Fnb0FJaUlpSWFRQUlDSWlFa0lLQUNJaUlpR2tBQ0FpSWhKQ0NnQWlJaUlocEFBZ1xuSWlJU1Fnb0FJaUlpSWFRQUlDSWlFa0lLQUNJaUlpR2tBQ0FpSWhKQ0NnQWlJaUlocEFBZ0lpSVNRZ29BSWlJaUlhUUFJQ0lpRWtJS1xuQUNJaUlpR2tBQ0FpSWhKQ0NnQWlJaUlocEFBZ0lpSVNRZ29BSWlJaUlhUUFJQ0lpRWtJS0FDSWlJaUdrQUNBaUloSkNDZ0FpSWlJaFxucEFBZ0lpSVNRZ29BSWlJaUlhUUFJQ0lpRWtJS0FDSWlJaUdrQUNBaUloSkNDZ0FpSWlJaHBBQWdJaUlTUWdvQUlpSWlJYVFBSUNJaVxuRWtJS0FDSWlJaUdrQUNBaUloSkNDZ0FpSWlJaHBBQWdJaUlTUWdvQUlpSWlJYVFBSUNJaUVrSUtBQ0lpSWlHa0FDQWlJaEpDQ2dBaVxuSWlJaHBBQWdJaUlTUWdvQUlpSWlJUlR6dW9FZ3laRmphWFk1VGRsbW1uTXRYcmNqblJCellsUTY1VlJIcWloMVNyeHVSMFRFT0FVQVxuRnl6TzFERWxPWTBacVM5cHliVjYzWTZzQndlSEFkRytqRW1NWk92RVpzVDBGaEdSZ05LbjIzcEk1cEk4M2Y0aTd5V25reVBuZFR2aVxuZ2h3NTVtWVdNTGR0QWE5M1RHWGY0Z2xzRk4vUTY3WkVSRnluTlFCZHRDTGJ5TjlhN3VQZDVFZjY4ZytvNWRsRzdtdDlsRmM3M3ZTNlxuRlJFUjF5a0FkRUZITHNrOXJRK3pLTFBFNjFiRXNCdzVKcmEveWx2Sjk3eHVSVVRFVlFvQVhmQlkyN01zenRSNTNZWlk5RXpiaTh6UFxuTFBLNkRSRVIxeWdBZE5LOHpFSStTWDNtZFJ0aVdaWXN6N1M5cUpzOUloSVlDZ0NkOUVySEZIMEpoTlRjekFMbXB1ZDczWWFJaUNzVVxuQURvaG1VdnlWZXBycjlzUUQzMmEvc0xyRmtSRVhLRUEwQW56TTR0SWsvYTZEZkhRN1BSY3Ixc1FFWEdGQWtBbnJNZzJlZDJDZUt4UlxucndFUkNRZ0ZnRTdvb01QckZzUmo3WG9OaUVoQUtBQjBRcmxUNW5VTDRyRnlwOXpyRmtSRVhLRUEwQW5Wa1Nxdld4Q1BkZE5yUUVRQ1xuUWdHZ0UvcEZlMU9oV1lCUUd4NGI0blVMSWlLdVVBRG9CQWVIamVNanZHNURQQklod21qOS9rVWtJQlFBT21ubm91MUpPSEd2MnhBUFxuYkpYWWxHNlJhcS9iRUJGeGhZNEQ3cVRLU0RtN0ZlM0k4KzJUdkc1RkxLcU1WREMrZUp6WGJjZ3FwRW5UbW0ybkxkZEdXNjZkMWx3YlxucmQvKzU3WmNHem55V3psMzVKSUFaTWlRektXSUVxSElTVkRzRkZQa0ZGSHNKQ2h4U2loeGlpbHhpbW5PdFhyN0x5WmltQUpBRjR3clxuMm9iRm1UcmVUMzNzZFN0aVFkeUpjV1RwZ1pRNXBWNjNFa29kdVNSMTJRYVdaMWV3SXR2SXNtd2p5M01yV0pGdFlubDJCYTI1TnE5YlxuRlBFbEJZQXVPckIwSHlyYXk1bmM4WmJYclloQkZVNDVSNVlkU1A5b0g2OWJDYnhVTHNXU2JBT0xNM1VzeWRhek9GTkhYYmFCWmRrVlxuWHJjbUVrZ0tBRjBVd1dHUDRsMFlFTzNMZjlwZm9UNjcxT3VXeEVVUkhMWklqR0Y4OFU1NjhzT0FIRG5xTWczTXl5eGtYbVloOHpNTFxuV1p5cEowdlc2OVpNaXdNN0F0T0Fkbzk3a1pCVEFGaFBvK0xER1JIZmtNOVRYekVqL1NYejBndFprV3NrbVV0NTNacDBnb05EdVZOR1xuVGFTYTRmR2hqSTZQb0Vla3h1dTJBaU5MbG5tWmhjeE16MkYyZWk0TE1vditlMDgrWkVxQTE0QWs4Qzd3SnZBR01BWDR4c08rSklRY1xuY1A5MDI4Tks5MmRNZktUYnc0cUlqeXpOTG1kbSttdSsrdmFuUGFjTDNyV1lCYno0N2M5RVFQYyt4Q2pOQUlpSUt6SmttSldleTZlcFxuTC9ncy9TV04yV2F2Vy9LYkljQXZ2LzFKa3A4VitBL3dPUENaaDMxSlFDa0FpRWlYcFhJcFpxYm44SEhxTTJha3Y5SlZ2bnNTd0M3ZlxuL2x4QmZuYmdhZUJoOHJjTVhKKzVsZkJSQUJDUlRzbVE0WXZVTE41UGZjem5xYTlJay9HNnBUQVlBcHo2N2M4QzhrSGdQdkxyQ0VTNlxuUkFGQVJOYkpnc3czdkovOG1JOVNuOUtpVFhLODFBLzR6YmMvbndFUEF2Y0NNNzFzU3Z4SGl3QkZaTFZhYzIxTVMzN0l0T1NITkdTWFxuZWQyT3JGNlcvTk1GZndNZUJUcThiVWY4UURNQUl2SS9GbVMrNFoza0IzeVErcGhVTHUxMU83SjJFV0RuYjM5dUJoNENiZ0ErOWJJcFxuS1d3S0FDSUM1QmYwdlovNmhLbko5MWlVV2VKMU85SjExZVNmSkRpZS9DT0ZOd0hQb0lXRDhnTUtBQ0loMTU3cjRMM2tkQ1ozdkVWVFxuVG8vdUJVZ0VtUER0ejFmQVg4amZJdERoQ1FJb0FJaUUxdkpzSTI4a3B6SXQrYUYycmd5K0RZSHJnWFBJQjRHL0F0cS9QT1FVQUVSQ1xucGo2N2xGZmFwL0JSNmxNeXdkOTdYNzZ2Ti9BSDRIZkFqY0NmVVJBSUxRVUFrWkJZa1cxa1VzY1UzazErRklaRGQyVE5Lb0R6Z2RQSVxuTHhxOEV0QmpIaUdqQUNBU2NFMjVabDVwbjhJN3lRL0phTk1lK2I1eThyTUJKNUsvUlhBTm9JVWdJYUVBSUJKUTdibDJYdWw0azdlU1xuNzVIU1BYNVpzeXJnOThDdnZ2M25uWUNlL3d5NGlOY05pSWk3Y3VSNFAva3gxelhkem1zZGIrdkxYenFqTjNBYk1CMDR4T05leERETlxuQUlnRXlPejBYSjVwZjFIUDhjdjYyb2o4WmtJdmtsOG5vQTJGQWtnQlFDUUFsbVZYOEh6N0pENU82ZFJZY2RWNDRBUGdPdUJTb01YYlxuZHNSTkNnQWlQcFlseXhzZDcvQlN4K3VobStvdkxYWVkxRGZHb0w0eCt0Ukc2ZEV0UWsxVmxKcXF5SDkvdWxkSGlVYWhPT0ZRVXVRQVxuVUZFZUlmcWRtNTh0clRsUzZSelpIS3hvenRMVWtxVzVKVWRUYTVhNnBWbm1MMDVUdHpUTGdzVnA2cFpsbWY5Ti9wL0pWR2cyMW9zRFxuWndOSGtKOE4rTGUzN1loYkZBQkVmR3BCNWhzZWIzdU9oWm5GWHJkaVREUUNRd2ZHR1Qwc3p1aGhDWWIyanpHd2I0d04ra2FwclltNlxuVXFPczFDRi9MaHJVVkszN3NxZ2xTek1zcXN2dytld1VNMmFsK1B6ck5KL05TakY3ZnBwVU9wRGhZQUR3R1BBczhHdGdqcmZ0eVByU1xuYVlBaVBwUE1wWGl4WXpKdmRrd2pHNkR0M1dOUjJIUkVnckZqaWhnelBNSG9ZWEZHRG8xVG5IQzhicTFUa3FrY244NU1NZTJUSk85OVxua21UYUp4MThQanRGSmxoYkx6UUJaNUhmV2pnNEw4S1FVUUFROFpGWjZUazgydllzeTdNcnZHNWx2VldXUjloMlRCSGJiSnBndTAyTFxuMkhMaklzcEsvUFZsdjY1YVduTzgrMmtIazZkMThPcTBkcVo5bkF6S0xNR0w1QThkMG15QUR5a0FpUGhBbWpRVDJ5Y3pwZU1kY2o2OVxuNEhLYy9CWCs3dHNYTTJIN0VzYU9LZnJldmZnd2FXbkw4ZVlISFV5ZTFzN3pyN2Z4NlV4ZnI5L1FiSUJQS1FDSUZMaEZtU1U4M1BZVVxuaXpOMVhyZlNhYVhGRG52c1dNSWVPNVN3Ky9iRjlPcnV6bjM3b1BsNllacG5YMjNqbWNsdHZQRmVPMmwvYnRqNEZIQWNVTzkxSTdKdVxuRkFCRUNsU09ISzkxdk0xTDdhK1I5dEVXdmlWRkRydnZVTUpCNDB2WmMxeEpZS2YxVFZuZW1PV1p5VzA4OUh3THIweHQ5OXZhZ1lYQVxuTWNCTFhqY2lhNmNBSUZLQVduS3RQTmo2SkRQVFgzdmR5anFKUm1EOGRpVWN0bGNwZSs5VVFubHBTT2YyWGJhNEljTmpMN1R5MFBNdFxudlBOeDB1dDIxbFVXdUFxNENQRDF2WTJnVXdBUUtUQmZwK2Z4WU5zVE5HWUwvMHlXL3IyaUhMTi9PY2ZzWDA3L1hwcmVOK25MT1NuK1xuL21nei8zeTZoV1dOdnBnV2VJdjhkc0x6dlc1RVZrMEJRS1JBNUlEWE85NW1ZdnVyQlgxY2J6UUNlNDByNGRnRHl0bDkrNUxRTHVUelxuU25zeXg3OWZiT1dPUjVwNSs2TU9yOXRabXlYQTRjQWtyeHVSLzZVQUlGSUEybkx0UE5yMkRETlNYM3JkeW1xVmxUb2N2Vzg1Si8yMFxuZ3NIOXRJZFlJWmorUlpJYjcydmlrWW10aGZ4WVlSbzRCL2d6ZWtxZ29DZ0FpSGlzSWJ1TWUxc2VvUzdiNEhVcnE5U3pKc3J4QjVkelxuNG1FVm5kb3BUK3haM0pEaDc0ODJjOHNEVFN3djNOc0RUd0EvQS95L2lVVkFLQUNJZU9pcjlOZmMzL280N2JsMnIxdjVIeHYwalhIMlxuOFpVY3ZsY1ppYmhXOHZ0QlkzT1cyeDlwNXNiN0dtbFlYcEJCNEVQZ3gyaGRRRUZRQUJEeHlEdkpEM2lxYlNLWkFydmYzNjlubE5PT1xucnVRWEI1VlQ1TE50ZUNXdnBUWEhiUTgzOGVkN0dndHhSbUFSc0I4d3pldEd3azRCUU1TeUxGbWViWHVaTjVPRjlmblhvMXVFVTQrcVxuNU5kSFZQaHUvMzFadGViV0xIOTd1SmxyN21xa3NibWdna0FMY0NUNTJ3TGlFUVVBRitUSU1UczlsMDlUWHpJL3M1QVZ1YWJRSGMwcVxuNnk1TGxvNWM0VHpUWFZyc2NQclBLam50NkVwS2kvWEZIMFIxU3pQODRkWVYzUDE0Y3lGdExKUWh2NFh3ZFY0M0VsWUtBT3RwWnZwclxubm0rZkZPZ2pXU1dZSEFjTzJhT015MDZ0cGw5UFBjTWZCaDkvbWVLYzY1Ynh5dFNDV25OeU5mQTc5SVNBZFFvQVhaUURYbTUvalVrZFxuYitoVks3Nno1YWdFVi8yMkc5dU1LZks2RmZIQU01UGJPUGU2WmN5YWwvYTZsWlgrRHZ3S2ZMVG5kUURvbVo0dWVxcHRJaS9yeTE5OFxucHFvaXdvM24xVERwN3Q3NjhnK3hmWFlxWWVxRGZmamRMNm9LNVFtUFh3QVBBbnBSV3FRQTBBVnZKOS9qN2VSN1hyY2gwaW43N2xMQ1xudElmNmNOeUI1VVQwemcrOTRvVERoZjlYeFJ2LzdNMTJteFhFOSs1QndOTkF1ZGVOaElVK0JqcXBKZGZLZjlwZjhib05rWFhXcTN1VVxuZjE3VmcvdXZxYVZQcmU3MXkvZU5IQkpuNHUyOXVQRzhHaXJMUGY5S0dBODhpMEtBRlo3L3R2M20xWTQzQzJvRnQ4aWFITEYzR2U4K1xuM0lmOWR5djF1aFVwWUk0RHh4MVl6bHYzOTJhbnJZcTlibWNjQ2dGV0tBQjBRZzZZbnZyTTZ6WkUxcXF5UE1JZGwzYm45a3U3VTEycFxudDdtc200RjlZanp6MTU3Y2VGNk4xNCtFamdPZVJ5SEFLSDB5ZE1LaXpEYzBacHU4YmtOa2pYYmNvb2lwRC9iaDhMM0x2RzVGZkdqbFxuYk1Dci8rak5tT0VKTDF2WkFYZ0swQXZaRUFXQVRsaWFYZTUxQ3lLckZZODVYSEp5TmMvZTJvdit2WFN2WDliUHlDRnhKdDNkaStNUFxuOXZRaWZCZmdjZlIwZ0JFS0FKM1FuR3YxdWdXUlZlcFRHK1c1MjNweTVyR1ZXdUV2cmlsS09GeC9UZzEzL2JFSFphV2UzUklZRDl3TFxuS05XNlRCOFZuWkFnN25VTEl2OWoyMDJMZU8zZTNteTdxUzZTeEl4RDlpamw5WHQ3cy9HR25uMEdIZ0xjN0ZYeG9GSUE2SVNxU0lYWFxuTFloOHo0bUhWZkRjYlQzcDNVTVhSMkxXc0VGeEp0M2Rtd1BHZS9aRXlhK0FTNzBxSGtRS0FKM1EvYXZhUmdBQUlBQkpSRUZVUDlxSFxucUdhaHBBQVVKeHp1dUxRNzE1elZqWGlzSUhaeWt4QW9MWGI0eHhVOU9PK1hWVGpldk93dUJFN3lwSElBS1FCMFFwRlR4TkRZSUsvYlxua0pEclhoM2g2VnQ3YXBXL2VNSng0THhmVm5IUDVUMjhlbFR3Qm1CUEx3b0hqUUpBSjQwcjJzYnJGaVRFaGc2TU1lbXUzbXlyZmZ6RlxuWXdmdVhzcnpmK3ZseGU2U1VlQUJZSlR0d2tHakFOQkpRMktEMkNpK29kZHRTQWh0dDFrUmsrN3F6WkFCTWE5YkVRRmdpMUVKWHJxelxuRjhNR1dWOGNXRVYrajRBZXRnc0hpUUpBRnh4VXNnODFrV3F2MjVBUU9XQjhLVS9kMHBPYUtyMWxwYkFNN0JQamhUdDZzZVVvNjVzR1xuRFFFZUF6emRyY2pQOUduU0JhVk9DY2VXSFViM1NEZXZXNUVRT0hxL011Nit2QWZGQ1MzMms4TFVvMXVFWjIvdHhXN2JXRDlIWUJ4d1xucSsyaVFSRUZMblo3ME5IeGplZ1ZyWFY3MklKUzZwU3dXV0kwUzdQTFdaS3Q5N29kQ2FoZkhsckJqZWZXYUhNZktYaUp1TU5CRTByNVxuY202YUdiTlNOa3R2RGl3QzNyVlpOQWdVQU5aRDNJbXhTWHdqaHNVSDA1RkxzanpYU0lhTTEyMUpRSngrVENWWG50SE5xOGV0UkRvdFxuR25YWWQ5ZFN2cHFiNHRPWlZrUEE3dVJQRVB6R1psRy8wMm9pRnd5TTltTmdhVC9TcEZtY3FhY3gyMFJ6cnNYcnRzUWxpektMZVR2NVxudnRXYTUvK3Fpbk5QcUxKYVU4UU5zU2o4L1E4OWNKeDZIdjZQdGUzVGk0R0hnUzJCRmJhSytwMENnSXRpeE9nWDdVMi9hRyt2V3hHWFxucE1ud1pyUGRtY1Z6anRlWHYvaGJOQUozWE5hRFdMU0IrNSsxZGpFMGxQeVpBZnVUUDcxZDFrSjNGa1hXNEtYMjExaWNxYk5XNytTZlxuVm5EQmlmcnlGLytMUnVEV2k3dHo4QVNyV3dmdkM1eHVzNkNmS1FDSXJNYmN6QUplNzNqYldyMmo5eXZqaXRQMVpJa0VSelFDdDEvYVxublFuYmw5Z3NleVd3dGMyQ2ZxVUFJTElLcVZ5S1IxcWZKbXRwSnZId3ZjdTQrWUx1V3ZBbmdST1BPZHgzVlErMjI4emE3cFV4NEI3QVxuYXVyd0l3VUFrVlY0dnYwVkdyTExyTlRhWTRjU2J2MTlkejNxSjRGVld1encwSjlyR1RuRTJvNkJJNEUvMmlybVYvcklFZm1CV2VrNVxudkoyMHMvQnYweEVKL25GRkQySTZaRklDcmx0bGhDZiswcE9CZmF5dFBUOE4yTlZXTVQvU1V3QWkzOUdSNitEUnRtZXRUUHozcVkzeVxuNEo5cktTdlZ2TDhOc3hla2VlYlZOajc2UE1taXVnenBEUFRyRldYRUJuSDIyYm1FVVVPdDcyY2ZPbjE3Um5uc2hscDJPMjR4amMxWlxuMCtVaXdEK0FNWUNkNlR5ZmNURHd1TVJocGZzekpqN1M3V0ZGakh1ODdYbmVTWDVndkU1RldZUVg3dWpGNkdINjBqSHR3OCtUWEhUVFxuY2w1NnEzMk5mMjZyalJOY2RtbzE0N2EwdnAxdDZEdzd1WTBqZmx0SHhuZ0dBT0F1NERncmxYeEdPd0dLZkd0dVpnRlB0YjFndkU0MFxuQWc5Y1c4dTJtK3BJWDlOdXViK0pJOCt1WjlhODlGci83TUs2RFA5OHVvVnY2ak9NMzY2WWFFUXpNNllNR3hTbnJNUlpheWh6eVdiQVxuWk9Cckc4WDhSR3NBUklBc09aNXFtMGpPd3VUL0pTZFhNMzQ3WFdXYWRzWlZ5emo3Mm1Wa08zbVZlZWRqelJ4MWRyMnRxOVBRT3ZXb1xuU241eFlMbU5VZzV3Ry9uZEF1VTdGQUJFZ0xjNnByRXdzOWg0blgxM0tlRzBveXVOMXdtN1crNXY0bThQTlhYNS8vL001RGJPdjE2M1xualUyNzV1eHV0bWJDaGdIbjJpamtKd29BRW5wTnVSWmU2bmpkZUoxaGcrTDg3Ukk5NjIvYW5JVnBMcnhwK1hxUDg1ZC9OZkhXaHgwdVxuZENTckU0ODUzSDE1RDdwWFcva3FPZ2NZWmFPUVh5Z0FTT2c5Mi9ZaTdUbXpIL1RscFJIdXY3b0hGV1Y2eTVuMmgxdFgwSkYwNTFiT1xuNzI5ZS95QWhhOWEvVjVTN0wrOUIxUHhiSXdIY1N2NldnS0FBSUNFM00vMDFINlZtR0s5ejI4VTFiR1J2RTVUUWFtM1A4Y1RMN3AxQVxuOThaN0hjeGVzUFlGaExKK2RoMWJ6RzkvYnVVTWpISEFUMjBVOGdNRkFBbXROQm1lYkp0b3ZNNnhQeWxuLzkyc0hvZ1NXaSsvM1U1clxudTdzTE9aK2IzT2JxZUxKcTUvMnFpcDIyc3JKTzd3cEFiMGdVQUNURTN1aVlTbjEycWRFYVF3Zkd1UEpNSGZCankrZXpVNzRZVS81WFxuTkpLZkthdXFNUDYxTkFBNDAzUVJQMUFBa0ZCcXpiVXh1ZU10b3pWaVViamowaDZVbGVpV295MkxHekt1ajdtbzN2MHhaZFVHOUk1eFxuN1ZsV0F2TTU1SU5BcUNrQVNDaTkwakhGK01LLzgzOVZ6ZGFqRTBacnlQZTF1VHo5RDdoK1MwSFc3UEM5eXpob2d2RVorbExnVXRORlxuQ3AwQ2dJVE84bXdqYjNlOGI3VEdObU9LT09OWVBlOHYwaFhYL2E2R1ByWEdUOGc2QnRqY2RKRkNwZ0Fnb2ZOU3gydWtNYmV5dXlqaFxuY1BNRk5UWWVheElKcEpxcUNEZWVWMk82VEFTNHpIU1JRcWFQS0FtVnVtd0RIeVEvTVZyanR6K3YxQ04vSXV0cHIzRWwvT1JIeG04RlxuN0FOc2E3cElvVklBa0ZCNXZuMFNXY3h0OGo1OGd6aG4vRXhUL3lKdXVQYnNiamFlQ3JqWWRJRkNwUUFnb1RFdnM1RFBVMThaR3o4U1xuZ1ZzdXJLRW9vVlgvSW03bzFUM0tKU2RWbXk2ekI3Q1Q2U0tGU0FGQVF1UDU5a2xHei9vNy91QUtIZkVyNHJMakRpeG5tekhHMzFlL1xuTjEyZ0VDa0FTQ2pNU3MvaDYvUThZK04zcTR4dzRZbFd0aklWQ1pWSUJQNzh1MjVFekg1YjdVWUlad0VVQUNRVVh1bDQwK2o0RjU1WVxuUmJkS3ZaMUVUTmgwUklLamZseHV1c3hacGdzVUduMWlTZUROenl4aVp2cHJZK09QR0J6bjV3Y2EvM0FTQ2JXTFQ2NHlmWnJtUG9Uc1xudUdBRkFBbThWenFtR0IzL3lqTzZFWTlwNForSVNUMXJvcHh1OWdrYkJ6amRaSUZDb3dBZ2dWYVhiZUN6MUpmR3h0OXJYQW5qdDdOeVxuZ3BsSTZKMXlaQVVEZXNkTWxqZ0s2R1d5UUNGUkFKQkFtOUl4emRqS2Y4ZUJpLzVQQy85RWJDa3BjampuQktPekFNWEFTU1lMRkJJRlxuQUFtc3RsdzdINlErTmpiK0FlTkwyV1M0RHZzUnNlbklINWN6WklEUldZQmZBeVVtQ3hRS0JRQUpySGVTSDVETW1UbkxQUnFCODMrcFxucTM4UjIySlIrTjB2akw3M3VnTUhteXhRS0l6R3FMQnB5QzVqYm1ZQlRkbG0ybkx0WHJjVGVpYXYvZy9kczR3Umc3WGZ2NGdYRHQrN1xuakd2dWF1VExPV1lDUHZCTDRGNVRneGNLQllEMWxDWEhlOG1QZUNQNURrc3k5VjYzSXhiRW9uRHVDYnI2Ri9GS05BTG5ubERKY1JjMFxubUNxeEkvbEhBajgxVmFBUTZCYkFlcWpQTHVVdnpYZnk3N2JuOU9VZklnZnZVV2I2SHFTSXJNVkJFOG9ZM00vbysvQUVrNE1YQWdXQVxuTHBxVG5zK3R6ZjlnY2FiTzYxYkVzbE9QcXZDNkJaSFFpMGJnNUNPTnZoZVBJZjlVUUdBcEFIUkJRM1laOTdVK3F2djhJYlRMMkdMR1xuYU9XL1NFRTRhdDl5YXFxTWZZM1ZBQWVaR3J3UUtBQjBVZzU0c1BVSlduTnRYcmNpSHREVnYwamhLQ3R4T09GZ28rL0pJMDBPN2pVRlxuZ0U2YW52cVVCWmx2dkc1RFBEQnlTSnpkdHd2RjQ4RWl2dkdydzhvcFRoamJpbnM4ME1QVTRGNVRBT2lrTnp2ZTlib0Y4Y2pKUjFiZ1xuYU10L2tZTFNzeWJLQWVOTFRRMGZKOEI3QWlnQWRFSnpyb1Y1bVlWZXR5RWVxQ3lQY01nZVpWNjNJU0tyY0p6WjB6aVBNRG00bHhRQVxuT21GQjVodHl4bmFXbDBKMitONWxsQmJyOGwra0VHMjNXUkdqaGhyYm1Hc2NNTWpVNEY1U0FPaUU1bXlMMXkySVI0NzlpYTcrUlFyWlxuenc4d05ndmdFTkRiQUFvQW5aQW00M1VMNG9FdFJ5WDA2SjlJZ1R0aTd6Sktpb3pOMHYzRTFNQmVVZ0RvaEFwSFY0RmhkS3k1S3dzUlxuY1VsMVpZUjlkelcyR0hBNzhvY0VCWW9DUUNmVVJnUDMrNWUxS0MxMk9HUVBZeDhxSXVJaWcrL1ZLTENYcWNHOW9nRFFDYldSN3ZTSVxuMUhqZGhsaTB4NDRsbEpmcWJTTGlCK08zS3phNU0rQ1BUUTNzRlgyeWRkTG1pVTI4YmtFc090RGM4OFVpNHJKNHpPR0FIeGw3eis1SlxuZmwrQXdGQUE2S1FkRWx0VEZkRjJzR0ZRV3V3d1lRZnQvQ2ZpSjRmc2FXeXRWaFg1UndJRFF3R2drK0pPalAxTDlpU0NuZ2tQdXIxMlxuS3FHc1JMOW5FVC9aZnJNaSt0UkdUUTAvd2RUQVhsQUE2SUlSc2FIc1Zmd2pSWUNBTzJoM1RmK0wrRTBrQW52dWFHem1iaGRUQTN0QlxuQWFDTHRpL2Fpa05MOXlmdXhMeHVSUXdvS1hMWWZYdE4vNHY0MFY3ampMMTN0d1FDY3c5WUFXQTlqSW1QNUxUeTQ5azBQZ3BIOHdHQlxuc3VPV1JTWTNGUkVSZzNZWlcyenEvUnNEZGpBeHNCZDArYnFldWtXcU9iUjBQL2JLN2NhTTFGZk15eXlnTWR0RVc2N2Q2OVpDWVhHbVxubmpScDE4ZWRvS3QvRWQ4cUxYYllaV3d4ejczV1ptTDRYWURuVFF4c213S0FTeXFjY3NZbU5tTXNtM25kU21oa3lYSlo0M1dZT0o5SlxuQVVERTMvWWFWMkl5QUFTQ2JnR0lieTNPMUpQTXBWd2ZkOGlBR0VNSEtodUwrTm11MnhTYkducExJQkQ3d2lzQWlHL055eXcwTXE2dVxuL2tYOGIzQy9HQVA3R0FueU1XQnpFd1BicGdBZ3ZqWGZVQURZZVd0alZ3NGlZdEc0TFl0TURiMlZxWUZ0VWdBUTM1cVhkajhBT0E1c1xuTzBaSC80b0V3Ymd0amQ0RzhEMEZBUEdsamx5U3VteUQ2K01PSFJDanRzYllMbUlpWXRIT1cyc0dZRTBVQU1TWDVtY1drak93L0gvYlxuVFkxOVlJaUlaUU42eHhqUTI4ZzZnT0ZBcFltQmJWSUFFRithbDFsa1pGd0ZBSkZnMlh5VWtWdDZFV0FMRXdQYnBBQWd2dlJOWm9tUlxuY2JmZlRBRkFKRWkyTkJNQUFIeC9OcndDZ1BoU1EzYXA2Mk5XbEVVWU5paFF4MzJMaE40VzVnTEFScVlHdGtVQlFId25CelJrbDdrK1xuN3VoaGNSeHQveThTS0Z1T1NwaDZYNDh3TXFwRkNnRGlPMDNaWmpweVNkZkgzWGlvcnY1RmdxYXlQTUxnL2tZV0FvNDBNYWhOQ2dEaVxuTy9VR0h2OERHRDFjei8rTEJKR2hjTjhYbno4Sm9BQWd2bE52WVBvZllQU0dtZ0VRQ2FJUmc0Mjl0MzE5RzBBQlFIekh4QUpBeDRGUlxudWdVZ0VrakROekQyM2g1dWFtQWJGQURFZCtvTkJJQitQYU5VbHV2dElCSkVCbWNBQnBvYTJBWjk0b252TkdUY3Z3VXdxSitPL3hVSlxucXVHRFlxYWVCQmhnWkZSTEZBREVkNXB5TGE2UE9jak1zYUVpVWdBcXlpTDA2bTdrakE4RkFCRmIwbVRveUxXN1B1NEdtZ0VRQ2JUK1xudlJRQWZrZ0JRSHlsSmR0aTRBZ2dHS2daQUpGQTY5Zkx5SHRjQVVERWx1WmNxNUZ4TlFNZ0VtejlleHVaQWFnQnlrME1iSU1DZ1BoS1xuaTZFQU1NRE1oNE9JRklqK1ptWUFBR3BORFd5YUFvRDRTbE8yMmNpNHRUVUtBQ0pCWm1nTkFFQzFxWUZOVXdBUVh6RXhBMUJTNUZCYVxuckZPQVJJS3NwN21RWDJOcVlOTVVBTVJYVEt3QjZGNnR0NEZJMEhXck12WSs3MlpxWU5QMHlTZSswcFpyYzMzTWJsV2EvaGNKdXVvS1xuQllBZlVnQVFYMG5sMHE2UDJVTXpBQ0tCcHhtQS82VlBQdkdWREJuWHh6VDR3U0FpQmFLa3lLRTRZV1N0ajI4WEFlcmhaL0dWdElFWlxuZ1BLUzhBV0F1cVVaRml6SjBOYWVvN1lteXNBK1VSSnhMWVFNc3ViV0xMUG1wMmxyejFGUkZtR0RmckhRTFg2dHFvalEzdUQ2UlVTeFxuMndQYW9nQWd2cEkyTUFPUVNMZytaRUZhVkpmaDV2dWJlT2JWTnI2Y2svcmUveGFOd0U1YkZYUHdIcVVjc1hlWndrQkFOQ3pQY3VkalxuelR6NlFnc2ZmL245MzNsUndtSHNKa1VjdlY4WmgrNVpSaXdFUzJHS2k0eThybjE3anJnQ2dQaUtpUm1BSWpQVGdnVWprNFVyNzFqQlxudFhjMzBwRmM5VWJLbVN4TW10ck9wS250WEhOWEkxZWQyWTI5eHBWWTdsVGNrc3ZCWHg5bzRvOS9XOEdLcHV3cS8weEhNc2RyNzdielxuMnJ2dC9PbU9GZHh4YVhmR2JsSmt1Vk83NG1hKzhYeDdDUkcrdVUveE5STnJBQkt4NEFhQWx0WWNCNTY2aE12L3RtSzFYLzQvTkh0K1xubWtQUHFPUHFPeHNOZHljbWRDUnpISGRCUFdkZnUyeTFYLzQvTkd0ZW1qMS91WVI3bmpDejBWYWhNRFN6NWRzWkFBVUE4WlVVN3M4QVxuQkhXNk81T0ZuNTFYejB0dmRmNzB4RndPTHJsbE9lZGV0OHhBWjJKS01wWGo4Ti9XOGZCL09yOWZSaktWNDVRL0x1WHhsOHhzdDEwSVxuREwzWE5RTWdZa01tNS80TVFOeTMrWDNOcnJ4akJjKy92bjc3SnR6MHp5YitkTWNLbHpvU2t6SlpPUDZpQmw2WTB2WGpzck5aT1A3Q1xuQm1ZdmNEOW9Gd0xkQXZnK0JRRHhsWnlCdzRDamtlRE5BQ3hZa3VINmY3Z3poZitIVzFkdzB6K2JYQmxMek1qbDRQUS9MZVd4RjliL1xuNnIwOW1lT0NHNWE3MEZYaGlVYU52TmQ5dTN4U0FVQjhKV0xnSlp0S3V4OHF2SGJML1UyMHRydjM3M1grRGN1NC85a1cxOFlUZDExeVxueTNMdWZNeTkrL2RQVG1wbHpzTGd6UUtrVWtiZTYwa1RnOXFnQUNDK0VuWGNEOXZydWpqT0wzSTUrUGVMN3Q3SHpXYmh4SXNiQW4xL1xuMksvKytrQVQxOXpsN29MTlhJNUEvcTZUWmpKTmg1RlJMVkFBRUYrSkdaaHRhdzlZQUppN0tNM2NSZTUvMG1XeWNOd0ZEYno0WnRmdlxuTVl1Ny92Vk1DMmRmYTJhaDVqc2YrL2JDZHJVTWhYMEZBQkVib2dZQ1FFZEhzQUxBMXdZWGNDVlRPWDU2VmgxdmZlamJ6N3pBZVByVlxuTm41OWFRTTVReTlmRXlIU2E3b0Y4SDBLQU9JckptNEJCRzBHb0tYTjdMOVBhM3VPUTgrb1k4YXMxTnIvc0JneGFXbzdQenUzbnJUN1xuRDhYOFY1dUxhMGdLUmRKTUFQQnRHbFlBRUYrSkduakp0Z2RzQnFDaXpQeFREVXRYWk5uN3hDVjhOVGQ0VjRtRmJ0b25TWTc0YmIzeFxudFN0QlBDVEwwQm9BelFDSTJCQjMzSDlvUDJpTEFJY01zTE94UWQzU0RBZWN1b1JGZFFZdlErVjdac3hLY2VDcFMyaHVYYmNkL3RiSFxuOEVIQjJ5Q2pzZG5JMzV0bUFFUnNLSFhjMzUrK3FUVllBYUJmenlnYkRyUnp6TWZzK1duMk8ya0pTMWVZLzBJS3UvbUxNeHg0YXAyMVxudit0ZHgvcjJrTHRWYW1uTm1Rcjd2dDBwU3dGQWZLWEVjZjlEYVluN3g0TjY3dkM5eTZ6VldubFYyaEt3SUZWSWxpek5zUGVKaTVuM1xualoxYkxqVlZFZmJZTVZnQm9INjVzZmQ1dmFtQlRWTUFFRjhwTVRBRHNEaUFBZUQvRHF1Z3N0emUyM3ZhSjBrT1BiTXVjQXNxQzhHS1xucGl6N24xekhySG4yMWx1YzlOTUt5a3VEOWZWZ2NPWkVBVURFaGxJRE13QkxWMlJOclE3MlRGVkZoQnZPcmJGYTg5VjMydm5aT1daWFxucG9kTlcwZU9RODZvWS9vWDl0YVpiVEk4d2FsSFZWcXJaNHZCQU5CZ2FtRFRGQURFVjB6TUFPUnlzR1JwOE81aEg3SkhLYjg2dE1KcVxueldjbW0zMDJQVXhTNlJ4SG5WM1BsUGZ0clRHcnFZcndyNnQ3VUZJVXZQTXhHblFMNEg4b0FJaXZtSmdCZ0dDdUF3QzQrcmZkT0doQ1xucWRXYS8zcW1oVE91V21xMVp0QmtzM0RDUlEzODU0MzFPODJ4TTBxTEhSNjZycGJCL2V3c0lMV3R6bHpJOSsyTFhRRkFmS1hjTWJPNFxuTFlqckFBQWlFYmpqMHU1TTJONzltWk0xdWYzaFp2NTRtMjhYUjN2dTNPdVg4Y2hFZTN2eEorSU8vN3E2bG0zSEZGbXJhZHNjTXpzYlxucGdCM0QyS3dTQUZBZktVcVl1YmVaRkFEQUVBODVuRGZWVDNZYmpPN0grNVgzTDZDRys3MTdXZWpaeTY5WlRrMy84dmU4Y3ZSQ1B6OVxuc3U2TTN5NVlxLzUvYUk2WkxiS1hnSUV6eWkxUkFCQmZLWGFLS0hiYy95S2JHOENqVDcrcnROamgwZXRyMlhSRXdtcmRDMjVjenQyUFxudTNkTWJkRGQ5bEFUVjkxcEx6UTVEdHg0ZmcwSGpMZDdtOGdMaG1ZQVpwc1kxQllGQVBFZEU3TUFuMzhkN0FBQVVGa2U0ZkdiYWhsbVxuY1llM1hBNU91M3dwajcwUXZLTmwzZmJBc3kyY2RZMlprLzFXNXcrblZ2T3ovY3V0MXZUS25JVkdadmw4SHdCY1h4bVI4KytNaVBoQVxudFdNaUFJVGpZSnZhbWloUDNseEwvMTd1SDZxME9wa3NISDlSQXhPbjJGdlE1amZQVEc3anhFc2F5RnA4R09XYzQ2czQ3ZWpnUGU2M1xuS3NzYXN6UzFHUG5ML2RyRW9MWkVBTmZuNTVJNTM1Nk5JRDVRYldBR1lOYThkR2llWHgvUU84YS9iK3BKamNYRFhwSXArNCswK2NYa1xuYWZiM1R6ais0SEl1T0xIS1hrR1B6WnB2YkliUDl6TUFMVzRQbXN5RjQycEt2R0hpRmtBeWxUTzFTS2dnalJ3UzU3RWJlMUpXYXU5NVxuNzliMkhBZWZYc2VIbitzQ1lhV1B2a2h5eEZuMVZuZFFQSFRQTXY1OHR0MU5vcnoyeVZmR1huTytEd0N1THpmdDhPL3BpT0lEM1NQZFxuakl3Ymx0c0FLMjIxY1lLSHJxMmxPR0V2QkRRMlo5bi81Q1Y4T1NkY2Y5ZXJNbk51bXArY1hNZUtKbnZ6L2ovYXRwaGJmMTlESkdTclxudno3NXl0anJUUUhnaDVxenJrOHFpUHhYcjJpdGtYRy9DRmtBQU5oNTYyTHV2cUlITVh0TEFxaGZsbVhmWHk5aHJwbFYyYjZ3WUVtR1xuZlU5YXdwS2w5dWI5dHhsVHhMK3VyaVVSRDk0dWYydnpxWmtBa0FRV21CallGaU1Cb0Q3cjI0MlJ4QWRxSXQySTR2NDNWdGhtQUZiNlxuOGM0bC9QWDMzWEVzZmkvTVgyei9DN0JRZUJHQVJnK0w4K2oxdFpTVmhPL0xINHpOQUh3TytEckZSakJ3a0lFQ2dKZ1VKVUtQcVB2M1xuTU4vOUpMeTNybzdZdTR5cmYydm0xc3Jxekp5YlpuL0xVK0JlYTJySmNzQ3BTNnpPTmcwWkVPUEptM3RTWFJteWVmOXYxUzNObUFxYVxuSDVrWTFLWUk4S1hiZ3pabUc3VVFVSXpxR2VudStwaWZ6VTdSMkJ5ZUw2TWZPdkd3Q3M0K3p1NWpZZE8vU0hMZ2FYVzB0QVgvMGVHMlxuanZ3aXlQZG4yQXVhL1hwR2Vlcm1udlNzc1hpUHA4Qk0vOUxZZDlGMFV3UGJFZ0crY0h2UUhEQXY0K3RiSTFMZ2VrWjd1RDVtTnBzL1xuMXo3TUx2cDFOU2Y5MU80SmdtOS8xTUZQejZvTDNKSE0zNVhKd2k4dWJPQ045K3c5QnRtOU9zS1ROL2RrVU45Z0h1NnpydDcreU5qZlxuZVNCbUFENDNNZkNzOUJ3VHc0b0EwQ3RpWmlIZzFPbDZUdjFQcDNmanFIM05ITHEwT2krOTFjN1B6MjhnRThBSm1Gd09UdjVEQTArK1xuYkc4M3hJcXlDSS9mMUpNUmcrM3QrbGlvREFZQXpRQ3N6cXowWEJQRGlnRFFOOXJMeUxqdlRBLzNEQURrOTRlLzZmd2E5dHpSN2dtQ1xuVDd6Y3lwbFhCbS85MExuWExlUGVKKzA5R1ZWUzVQRHdkYlZzUHRMdXVRK0ZLSnVGcVdiZTAwdUIrU1lHdGlrQzFHTmdJZUQ4ekNKYVxuY3RyL1c4em9GcW1tekhIL0FKT3AwenZJQlhjbWVwM0ZZdzczWHRtREhiYXdlNExnSFk4MmMvSE55NjNXTk9tUHQ2M2dMeDZjN0xlalxuNWQ5Ym9mcDBwckYxUGI2LytvZi9meGpRdTI0UG5DWExSNmtaYmc4cjhsOERZbjFkSDNOWlk1YXY1bW9CSytTdkpCKzVycGJOTnJKN1xuSlhuTlhZMWM5dy8vSHlQOHQ0ZWF1T0wyRmRicU9RNzg1WUx1N0xkYjhFLzJXMWR2Zm1Ccyt2OHRVd1BidERJQVRESXgrQWZKajAwTVxuS3dMQWdLajdBUURnRGUxWC8xOHI3eVVQMzhEdXZlU0xibHJPM3gvejd6SENEejdYd204dG4reDN4ZW5kT0hvL3UyczNDdDJiSHhwN1xuTDA4eE5iQk5SZ1BBL013aUZtZnFUQXd0WWl3QVRKelNibVJjdityUkxjSlR0L1JrWUI5N3E4bHpPVGo5VDB0NVpLTC9iaU0rTzdtTlxuWDExczkyUy9DMDZzNG1UTFQyOFV1bXdXWHBscTVMMmNJMkFCNEYzQXlKemJheDF2bXhoV2hIN1JQamk0djdQWnBMZmJTYVcxRU9DN1xudkhpZVBKdUZFeTVxNFBuWC9YT004RnNmZFhEc2VYWlA5dnZWb1JXY2MzeDRUdlpiVng5OGxqUzFBZEJuNU5mTytkN0tBSkFHWGpkUlxuNE1QVXB5ekxCbWRSanhTT1lxZUlXZ01iQWpXMVpIbkwzTlNoYncwZEdPT0p2OVJTVldGdlI3bFVPc2ZSdjZ1Myt2eDhWMDMvSXNsQlxucDlYUjJtNHZQQjd1d1E2T2Z2SGlXOFptOGdKeDlRLy9Qd0FBdkdDaVFKWXNyM1lFWXIyRUZLQWhzWUZHeHAzNGhtNERyTW9td3hNOFxuY0UwUHF5Y0llckdEWG1mTm1tZC9XK045ZGlyaDF0OTNEOTNKZnV0cTRodkdabzdlTURXd2JkOTk2VHdFR0prdmVUZjVJUXN6aTAwTVxuTFNFM05MYUJrWEVuVHZIUHRMTnQ0N1lzNWg5L3NudUNZRk5MbHArY3NvVFBaeGZlRXhwZW5PeTMwMWJGM0dQNWQrQW55eHV6VFB2WVxuMkt4UklBUEFRdUJsRTBXeTVIaXFiU0s2cXlwdUd4SWJTTVRBT29CUFo2WllzQ1I4SjlXdHE3MTNLdUcyaSsxZWZUWXN6N0xmU1V1WVxuczdCd0RtRHpvcWN0UnlWNDZNOTJaMkg4NXVXMzIwMnR3NWlMb2MzenZQRER0Kys5cGdyTnpTeGdXdklEVThOTFNCVTd4ZlNMOW5GOVxuM0Z6TzZCUmlJQnkyVnhuWG51WCtxWXhyc3ZKcWUzR0Q5K0ZzNWNsK05tY2xOaHdZNDVIcmF5a3YxYnovbWp4dWJ0dmw1MDBON0lVZlxudm9vZUE0dzlmUHRzKzBzc3lRWmk4YVFVRUZPM0FSNTd3WCtQb05sMndpSGxuUGRMdXl2UTgvZmJsN0M4MGJ1REE1S3BIRWVlWGM5N1xubjlwYmw5Qy9WNVNuYnVsSmJZaFA5bHNYcmUwNS9tUHV5WkhuVEEzc2hSOEdnQmJnMzZhS0pYTXBIbWg5Z2xTdWNLYnd4UDgyTkJRQVxuSms5cloxR2Q5MWVhaGU2OFgxWnh5cEYybjBILytNdFUvaGpoVnZzM0ZqTlorUG41RGJ6OHRyMkZvaXYzWWhqUU85d24rNjJMNXlhM1xubVRwZU9vV2gyK1JlV2RVODB2VW1DeTdPMVBGNDIzTmFEeUN1R1JEclI1SGovbmExbVN5KzNJakdDNWYvcGh2SDdGZHV0ZWJVNlIwY1xuL3RzNk9wTDJQazF5T1RqbEQwdDV3dUxKZnBYbCtkMFlodzNTeVg3cjR0RVhqZjF1M3NEUWZqbGVXVlVBZUEvRDl6aytTSDNDZjlxTlxuYkQ0b0lSUWp5dkRZVUNOalAvUzh2VlBjL014eDRLWUxhdGpmOGo3MGs2Ym1qeEcydGZITytUY3M1eDlQMnR1aTJLdnpHUHlxdVRYTFxuQytiVzdnUnEraDlXSFFBQUxqZGQrTFdPdDNtalk2cnBNaElTRzhlSEd4bjMvUm5KZ256MHJCQkZJM0RYSDd2em8yMkxyZFo5Y2xJclxuSjEzV1lQd1V4eXR1WDhHTjk5bTdBSXpISE82N3FnZmJiNjZUL2RiVlU2KzAwZFpoN0lVUXFBV0FBS3RiVFRJWCtCRXd5R1R4cjlLelxueVdGdU14Y0pqMjZSS3Q3b2VJY3M3aThNNjFZWlplZXQ3WDZwK1ZVMDZyRHZMaVc4L0xiZDlSUFR2MGl4dkNsTE9wUGZBdFpORy9TTFxuMGRLYTQvd2I3TzFvR29uQTN5L3J3WDY3Nm1TL3pqanI2bVhNWFdUa2RUY1RPTi9Fd0Y1YTAzTFNSY0JScGh1WW5abExPeDBNaXcweFxuOERTM2hFWFVpVEkvczVENjdGTFh4MTY0Sk1QL0hWNkJveGZvT2tuRUhmYmJ0WlRuWG11allibTlsZnJUUGs0eTc1czBiUzV2eGJ1aVxuS2N1VHI3UWFuMkZZeVhIZytuTnJPT3JIT3Rtdk03NmFtellaMG00bFlBc0FZZlczQUNBLzNXRmx5bU5LeHp2OHEvVXgybk9GdjkrM1xuRks1UmhtNER6RjZRWnZJMGJRM2NHZDJySXp4MWMwOEc5Ylc3YXQxRTRGaldtTFY2c3QvRkoxWHppd1B0THFnTWduc2ViellaMGg0eVxuTnJLSDFyYWJ4Q21BbFUrK1QxTmZjSFB6WFN6SWZHT2puQVRReVBnd0k3c0NBdHo2WUpPUmNZT3M3N2NuQ1BicXJ1ZlcxOVgvSFY3QlxubWNkV2V0Mkc3NlRTT2Y3NXRMRUZ1NThCSDVvYTNFdHJDd0JmQVZmYmFBUmdhWFk1ZjJ1K2wwa2RiNUEyY3l5QkJGaXBVOEtHc2NGR1xueG41MmNsdEJiVUhyRjBNR3hIank1cDVVVjJybnVyVTU4c2RsWEhXbVR2YnJpdWNtdDVrOGl5R1FWLyt3NWpVQUs3MEYvQlN3OHNyTVxua21OV2VpN1RVelBvRWUxTzk0amVFTEx1b2s2RWoxT2Z1ejV1THBlL3Q3M2JObG9NMkZrOWE2THN1RVVSajB4c0phVU10VXI3N2xMQ1xuSFpmMUlLcWMxQ1ZuWHIyTXJ4Y1llM0dkQk5TWkd0eEw2L0p5YXlQL0YyQjE3NTZHN0RMdWJubVF1MXNlWkhaNnJzM1M0bU1qNDhNb1xuZHN4OFNkL3plTFBWczk2RFpPd21SZHgvVFMxRk9zRG1mK3d5dHBpN0w5ZkpmbDMxNGVkSlhwbHE3RTcxeDhBbnBnYjMycnErNUw0Q1xucW9EdERQYXlTa3V6eTNrdk5aMlptYThwZG9xb2lYWWpzazY1UmNJb1FvVGwyZVZHMXBLMGQrUVkyQ2ZHNWlPMUtVdFhETzRmWStUZ1xuT0krL1pHOUZmYUhiZW5TQ2Y5L1FrNUppQmFPdU92K0c1WHp5bGJHOU92NUVmaFk4a0RxVE9TY0Jld0w5RFBXeVJpdXlqVXhQZmNiYlxueWZkWWxsMUJzVk5FUmFUQzJLSXY4YS9TU0FudkpqOHlNdmJjUldsT09OanV2dmRCTW1MQy9Fa3JBQUFVcGtsRVFWUnduTnFhS00rYlxuTzZ6Rk4wWU5qZlAwWDN0UldhNExtcTZhdnpqRHFYOWNhdW9walE3Z1dDQ3crNEYzSmdCa2dKZkkvNFY0ZGlNMFRab0ZtVzk0THpXZFxuTjVKVG1aT2VUMk91aVRScElrUW9jb29VQ1VLdUtsTEpSNmxQYWMyNS95VlR0elRMMkUyS0dESkFoN0owMVJhakVzUmlEcSsrRTk1SFxuS3dmM2kvSGNiYjJvN2FaNS8vWHhwenNhZWZNRFk0K1BQd0xjYTJyd1F0Q1Y3OHFEZ1lmZGJzUXRjU2RHVGFRYnhVNFJSU1JJT0FsS1xuRE4wVGxzSTFKejNmMk5IVFl6Y3A0dVc3ZWhrWk8wd3V1SEU1MS84alVHZXJySlBhbWlndjNOR0xEUWNxUks2UHh1WXNJL1paU0ZPTFxuc1UwYXhwTy82QTJzcnJ3Q0h3RitEMXppY2krdVNPWFNMTTRFY3NHbUZJaXAwenQ0WVVvN3UyK3ZZTGsrTGp1bG1oVk5XZTc2dDczRFxuZGJ4V1ZSSGhpYi9VNnN2ZkJYLzVWNVBKTC85WjVHOTdCMXBYNTU5ZUpmOVk0TFl1OWlMaUcxOThuZUxuQjVScmUrRDE0RGl3eDQ0bFxuZlBGMWlobXpnbi9nVW1teHcrTTM5V1RMalhXNHovcGEwWlRsMlBNYlRCNEZmUlh3bXFuQkM4WDZyRDQ1Z3dLK0ZTQmkwdnN6a3Z6SFxuM0xHam9SR053QjJYZGcvOGJFb2k3dkRQcTJyWmRsTjkrYnZodW44MHNxTEoyTlYvQjNDM3FjRUx5Zm9FZ0N6NXc0SW11dFNMaUsvOFxuOGJZVmVwek5CU3UvSExmYkxKaGZqdEVJL1AyeTRJY2NXeHFXWjduMVFhTzNqZTREUXJFbi9mbytmNUlFRGdTZWM2RVhFVjk1ZjBaU1xuajdPNXBMVFk0ZEhyYXhrelBGaDdMRGdPM0hCZURRZU0xN0crYnJuMjdrYWFXNDFkL2VlQTYwd05YbWpjZUFDMUJmZ0o4QzhYeGhMeFxubFl0dlhrNWF4MWE0b3JJOGVBdmtManVsbW1OL29wUDkzREozVVpyYkh6WjZNTmV6QkhqbnZ4OXk2eUhVRFBCdm9BelkzcVV4UlFwZVxuM2RJc1BXc2lXdGpsa3JLU0NIdnNXTUsvWDJ5bHVkWGY5MWZPUHE2UzN4MWY1WFViZ1hMSzVVdVovb1hSQmFPL0FyNDJXYUNRbUZqRFxuZkE3d1I5eVpYUkFwZU5XVkVUNThyQy9kcS9XU2Q4dW5NMVBzY2NKaWxqVWFtK28xNnZpRHlybiszQnF2MndpVUtlOTNzTWN2RjV0Y1xuZC9NdXNKV3gwUXVRaVcyb1hnZW1BSHNBbXZ1U3dHdnZ5TkhZbkdXdmNTVmV0eElZdFRWUnhtMVp6Q01UVzBqNTdBbkIvWFlyNWRhTFxudXhQUkk2S3V5V2JocDJmWDgwMjkwZnR0WjVJLy9DYzBURjJ5dkFpTVFVOElTRWpjL1hnejczNmE5THFOUU5sNmRJSUhmWGFDNEc3YlxuRkhQWEg3cnJXRitYM2Z0VU14OThadlQ5OVFYNVRlNUN4ZVJHMUMzQS9lUlhWWTVEdHdRa3dISTVtREV6eFRIN2FYTWdOMjNRTDhhb1xub1FtZWVLbVZiSUV2Q2RobVRCR1A2bVEvMXkxdnpQTFRzK3BwYVRQNkFqZ0ptRzZ5UUNFeWZSSkZEbmdGZUFyWUZPaHZ1SjZJWnhZc1xuempCMFFJelJ3NEwxS0p2WFJtd1FaMkRmR0UrL1dyaVBYSTRlRnVlcG0zdnFaRDhEenJ4cUdWUE1IZmdEK1duL1U4aC9YNFdLcmFPb1xudmdIdUFoYVRmMHBBTjBzbGtLWk9UL0t6L2NzcEx0SlZvSnMyR1o2Z1cyV0VGNllVM2dtQ1F3YkVlUGJXWHZUUXlYNnVtenl0bmQvOVxuZVpucE1pY0NNMHdYS1VRMlg3RTVZQnB3SjlDRC9JeUFQaVVsVUpwYmMzeFRuMkhmWGJYeGk5dTJIbDFFTXBVemZUWFlLWDE3Um5udVxudGw3MDZ4V2N2UXNLUlZ0SGpvTitVOGZTRlVhZkJIbVgvT0svVVBJaXNyWUNUNURmYnRFQk5xTnJweEtLRktUcFg2WVlOVFRPUmtQaVxuWHJjU09MdU1MV1o1VTVaM1B2Wit3V1gzNmdqUC9yVVhHdzdVNzltRXkvNjZnbWNuRzcvdGN3THdwZWtpaGFvUXJzQTNBTTRDamdPMFxuV2JZRVFtMU5sS2tQOUthMlJ0UENic3RtNGJnTDZubGtZcXRuUFpTWFJuajIxcDVzTVVyclBVeDRmMGFTWFkvOXh2UXVtNU9CblkxV1xuS0hDRjhPbTBuUHoyaTNjQzlVQmZvTmJUamtUV1UydGJqdG56TXh3MFFiY0MzT1k0c00vT0pYd3dJOFhNZVducjlSTnhod2V1cldXSFxuemJYN293a3RiVG4yUDdtTyttVkdwLzZ6NU0reENjV2hQNnRUQ0FGZ3BXYnltd2pkUXY1NXpDWmdRN1Naa1BqVTUxK24yS0JmakUwQ1xuZHNCTklZaEdIUGJiclpRMzN1OWczamYyRG1PSVJ1Q2VLM3BvMHllRGZudjFNbDU2eS9oaXp6dUEyMDBYS1hTRmNBdGdUV0xBanNDdVxuMy81c0EralRWSHlqcWlMQzJ3LzBvWCt2UXNyYXdkSFluR1h2RTVlWTNpUUd5TTg4M0h4aERjZnNwMnNTVTU1NnBZMGpmbHRudXN3S1xuWUFUNXA5SkNyZEFEd0ErVkFqc0F1d0NqZ0kyQUlTZ1VTQUhiWld3eFQvNmxKeEU5SW01RS9iSXN1eCsvbUMvbm1OMHorSXJUdTNIS1xua1JWR2E0VFpvcm9NMng2eGlJYmx4czkvT0F1NHhuUVJQL2gvN2QxNWxKVFZtY2Z4YnkvVlZiMUJRN01KQ2lJZ2dpSWkwQWpLNW9JaVxudURGcU9KS1JKT01XSERIaktHR2NUTVlZWjVpSmtZd1RqeVp4QVprRTlUQUtZMEFVVkFTbFFZRUFJb3V5TjB2VEs3MTNkWFV0ODhmRlxuMkNBMlRYZS83NjJxL24zT3VhZnhENzJQcDZuM1BuWGZlNThuMWhLQTAwbkdIQ1RzRC9RQnNqSFhETE14MVFkVDBlRkNhZHd3SU12SlxuQ1diOXFCMC9uK0hvRkczYTRZSVFFKzRwSUMvZm1UTUJqOS9YbnNmdlUyYy9wNFRDY1BPRGhhemU0UGpXLzI3Z0VzRCtOWklvRUE4SlxuZ0VoTFRRZm1PemxCUWdLODl1dk9UQjZyZDhkTzJac1g1THA3Q2lnc2JkMHpBZmZkbWNuY1dSMWE5YjhwSi92NWI4dVkrMnFGRzFOTlxud2h3NkY1UUFpSUQ1SEh5QU9XZmltSXkwUkQ2YTMxWDFBUnkwYVVlQVNROFVVbFhUT3R2SVUyOU01dzlQWk92MWpZT1dyamJ2L1Ixc1xuOC91MWhjQTB4MmVKSVVvQVJJeUxnYzJBbzZ0enYxNGUxaXpvU21hNlZoU25yTm5vWjhyTUl2eUJscTBvTjQ1SlplSFRuVW5XK1UzSFxuN01rTE11YnVZMVJVT2Y3ZXZ3UnpicXpRNllsaWlmNXFpeGhGUURybTFvbGpTc3ZEN0QwVTVMWnIwOVExMENHOXVpY3pvRThLYjM5WVxuUzdpWjY4cVlZVDVlZjZZektSNzlrcHhTWFJOaDhveENqaFM0Y28zengwQ3VHeFBGRWlVQUl0L0lCZTdFSENCMXpLNzk5YVNsSmpCeVxuc0FySk9LWC8rUjVHRHZheWJFMHRkV2U1RTNEck5Xbjg4VmVkU0ZWREo4ZUV3bkQzN0dMV3VkUFhZUVhtNUwrY1FnbUF5RGZxZ1MyWVxuUTRHT1B2M1hiUEF6dUg4Sy9YcnBQSUJUenUrUnpDMVhwN0h2VUxCSkZRT3pzeEtaODVNTy9ISm1GcDVrTGY1Tyt1a3p4MW00ck5xTlxucWFveEIvL0szSmdzMWlnQkVEbFpIcVlVZFk2VGswUWlzR3gxTGFPSCtUaFhuZVFjMDdGOUl0K2JtTTdvb1Y0OHlRa2NLUXhSVS92TlxuamtCeUVvd1k3T1dodTlyeC9MOWtNMnFJVjY5bUhQYjhhNVhNZWJIY3Jla2VCZDV6YTdKWW83L3FJdCtXRG13RGVqczlVWWQyaWF4OFxuU1RjRDNGUlZFK1pJUVloMkdZbDB5VTRpU2VjeFhiTjBkUzNUSGlzaTVQaVpQd0NXWTc3OU8zKy9JRVlwQVJBNXZkSEFLbHpZSlR1M1xuYXhJZnpPdEdqeTdha0pQNHRYRjdnQnZ2TDZERzc4cDZYQWhjaXNyOU5rcFBISkhUeXdPOG1FVEFVUlhWRWQ1ZjUrZU82OU4xOEV6aVxuMHZZOTlkejhZQ0VWMWE0cy9oSGdMdUF2Ymt3V3kvUzBFZmx1eVpnT2xTUGNtR3o0SlNrc2ZhRXI2YW42V0VyODJIY295SVI3Q3poV1xuN0ZyWHh1ZUFoOXlhTEpicFNTUFN1QXN4M3lUUzNaaHM0dWhVL3ZpZm5mQ202S01wc1M4dlA4aUVld280N001ZGY0RHR3SENnMXEwSlxuWTVsZUFZZzByZ1R6T21DS0c1UHR5UXV5ZVdlQVc2NU8wMVUwaVduSGlrTk1mS0NRZzBkZFcveXJnQnVBbzI1TkdPdVVBSWljMmVkQVxuRDJDb0c1UHRPeFFrZDBzZHQxMlRwa3AwRXBPT0ZZZTRhVVlodXc4NjA1M3hOQ0xBM2NCSGJrMFlEL1IwRVdrYUg3QVd1Tnl0Q2E4WVxuN0dYeGYzZFczd0NKS1FlUEJwazhvNUQ5aDExYi9BR2VCbWE1T1dFOFVBSWcwblI5Z1kyQWE0M2hoMTJjd3BMZmRpR3JuWklBaVg2N1xuOXRWejA0T0Y1QmU1dHUwUDVycnVCTURWakNNZTZLa2kwblI3TUwwQ1hIdTZiZHdlNE1ZSENpays3azdsRkpIbTJ2cGxnQnZ1TDNCN1xuOFQ4RVRFV0xmN1BvRElESTJka0xCSUJyM1pxd29DVEV1MnRydWY3S1ZMSXlsYk5MOUZtOXdjK1VoNHM0WHU1cW91ckhWUHI3eXMxSlxuNDRrU0FKR3p0eFp6UFhDUVd4TVdIdy96K2p2VjVBenkwdk1jOVE2UTZQR25wZFZNZjd6a3BCNExMb2dBUDhTVSs1Vm1VZ0lnMGp6TFxuZ2V1QjdtNU5XRnNYNFgvZnE2SDN1UjR1N3F2ZUFXSlhKQUp6WGl4bjl0empoRnpkOVFkZ052QTcxMmVOTTBvQVJKcW5Idmd6Y0FlUVxuNWRha3dSQzh2YW9HZjEyRWNUaytkYTRUS3dMMUVXWThXY3J6cjFmYW1QNGxUQUlnTGFRRVFLVDVxb0FWd0RUTU5VSFhyTnRheDk1RFxuUWE2L0twWGtKR1VCNHA2Q2toQjMvRU1SNzZ5eFVteHZPZkI5UUtkaVc0R2VIQ0l0Tng1NEYwaHhlK0lSbDNwWitIUW51bVlybHhmblxucmQ5YXg5L09MbmI3cFAvWHRnQmpBQ3ZiRHZGSVR3MlJsanVBcVVGK095NWZyVDFTRUdMaHNtb0c5dlhRNXp5ZEN4RG52UEpXRmRNZlxuTDZHODBzcVg3ejJZbXpjbE5pYVBWMG9BUkZySExrenY4VW00dkxOVzQ0K3c2RDF6TG1EMFVCK0p1aWtvcmFqR0grSEhUNWJ5OUNzVlxuaE94c3ZCOEV4Z0ZIck13ZXg1UUFpTFNlVFpnYUFkZTRQWEVrQXV1MjFMRXl0NVp4T1Q0NnFIS2d0SUlkZSt1NWJXWWhxejcxMndxaFxuRVBONTJtY3JnSGltQkVDa2RYMENwQUpYMlpnOHZ5akVhKzlVMDdkbk12MTc2NVdBTkU4NERNLytUd1hUSHkvaFdMR1Y5LzBBeFpqelxuTlR0dEJSRHZsQUNJdEw3M2dVeGdsSTNKL1hVUjNseFpRM0ZabU5GRGZXb3JMR2ZsYUdHSXUyWVY4OHBiVmJhMi9BSEtnZXN3blRqRlxuSVVvQVJKeXhBdE0wYUtTdEFEWnREN0RvM1JvdXVzQkQ3M05WUFZETzdJM2wxWHp2SDR2WXVhL2VaaGlsbUNKYm0yd0cwUllvQVJCeFxuemdwTWthQXJiQVZRVmhubXRYZXFPWEFreUpXWCswajFhVGRBdmkwdlA4Z1AvN21FM3l5b29MYk8xWksrcHpxR2VlZS8yV1lRYllVU1xuQUJGbnZZdHBXdUphODZEVDJiYTdudmxMcXNqS1RHVElBTmZMRlVpVUNvZGgzdUlxcGo1YWJQdGJQMEFlZXVmdktpVUFJczViQzlSaFxuT1FudzEwVlkvbkV0ZjlrUllPUmxYdHBuNktaQVc3YjF5d0IzUFZiRXkyOVdFYWkzK3EwZllEZHdOVHJ0N3lvbEFDTHUrQVFvQWlaaVxudVFMbm5yd2c4NWRVRVFyQmtBRmVVang2TGRDV0ZKV0dtRDIzaklmbmxIS2t3Tm9KLzRhK3dHejdIN1lkU0Z1alQ3Nkl1NllBZjhMbFxuM2dIZjVaek9TZnpUdmUyWmZtc0dTZG9RaUd2MXdRZ3ZMcXJpcWQrWFUxRVZOYVgwUHdUK0JpaXpIVWhicEFSQXhIMWpnU1c0MkVYd1xuVEFiMjhmRFV3MWxNR0pWcU94UnBaWkVJTEZ0VHk4K2VQYzZldktEdGNCcGFBTnlMS1o0bEZpZ0JFTEZqSUtheldVL2JnVFEwTHNmSFxuVXpPenVPd2lIUlNNQjZzKzgvUEVjMlZzMmhGVmEyd0VlQkw0eFlrL2l5VktBRVRzNlE3OEh6RE1kaUFOSlNiQ3plUFRlR1I2T3k0ZlxucUVRZ0ZxM2U0T2VYdnl0bi9kWTYyNkdjS29ENTFyL0FkaUNpQkVERXRsVGdGV0NxN1VCT1ozeU9qMGQrMEk3eE9WRnhaRUVhRVluQVxuQit2OVBETy9nbzgzV2F2ZDM1aGk0RTVnbGUxQXhGQUNJR0pmQWpBTCtIZGNiaWZjVklNdVRPR2hhWm5jZVVNNnlibzdGRlhxZ3hHV1xuZmxUTGZ5Mm9pTGF0L29ZMll3Nzc3YmNkaUh4RENZQkk5TGdaZUpVb09oeDRxajQ5azVuNS9YWk12U0dkOURROVBteXFxQXJ6OGx0VlxudlBCNkpVY0xvK0k2MzNkNUdmaDdURUVzaVNMNkJJdEVsMTdBSW1DNDdVQWE0MHRKWU9LWVZINDBKWU54dzMwazZFbmltczA3QTh4YlxuWE1VYnk2dXBybzNxTTNSMXdFK0JaMjBISXFlbmo2MUk5RWtGWGdDbTJ3NmtLUzY2d01NUGJzMWc2c1IwT25XSXlqY1lNYStrelBSMFxubUxlNGlpLzNXeS9aMnhSNXdPM0FCdHVCeUhkVEFpQVN2YVlEendFWnRnTnBpaFJQQXBQR3BqSnRjanJqYzN4NFUvUjRhWW5xV2xPNlxuK2MwVjFhekk5Vk1YaU9wdit3MHRBdTRIanRzT1JCcW5UNmhJZERzZldJakZ0c0xOa2VaTFlPeHdIN2RkbThia3NhbTBVOStCSnZFSFxuSW55NDNzL2k5MnQ0KzZNYXFtdGladEVIcUFRZUJmNWdPeEJwR2lVQUl0RXZCZmczNEJHaTlKWkFZN3dwQ1l3WjV1V21jV2xNR3B0S1xuMTJ4ZEkyZ29Mei9JeW5WKzNzK3Q1Y1BQL0xHMjZIL3RVMkFhc05kMklOSjBTZ0JFWXNkb1lCN1F4M1lnelpXWUNKY1BTT0dxb1Q2dVxuSE9KbDFHVmUybWZHWEU3VElqWCtDSjkrWHNmS1hEOHJjbXZaWmI4TmIwdUVnRG1ZcW41UlZXZFl6a3dKZ0Voc1NRWCtGWGlNR053TlxuT0ozZVBaSVpQOExIRllPOWpCN3E1Ynh1eWJaRGFsV0ZwU0UyZmhGZy9kWTZjcmZVc1hsbklKYmU1emRtRzNBUDhKbnRRS1I1bEFDSVxueEthcmdkOERmVzBIMHRyNjlFeG1VTDhVQnZieC9IVmNjSjRuNmdzUVJTSndNRC9JRjd2cjJiNG53QmU3NjluNlpZQjloK0x1aTdFZlxuVTh2LzEwQk1iMSswZFVvQVJHSlhLdkF6ekc2QXgzSXNqdkttSk5EL2ZBOEQrbmk0dUsrSFh1Y2swNzFMRXQwNkozRk81eVI4THQwNFxuQ0ljaHZ6aEUzdEVnQjQ0R09YQWtTRjUra0s4T0JObXh0NTdLNnFocHMrdVUxY0I5d0ZlMkE1R1dVd0lnRXZzdXdld0dqTElkaUMwZFxuMnlmU3JWTVMzYnNrMFRVN2lTNGRrOGhJVDhDVG5FQm1XaUpKU2RBK0k1SEVSR2lmbVhoUzRhSmFmK1N2Vy9KbGxXRkNJU2dwRDFGU1xuRnFhMFBFeHBXWmpTOGhERng4UGtGNGZpWmZ2K2JCM0hGUFY1Q1hYd0V4R0pLZ25BSFpnQ0xCRU5qVllhSVV6bnZpNklpRWhVU3dlZVxud0x5bnRiMTRhTVQyK0FDNEZCRVJpU245TUJYWnd0aGZTRFJpYSt3R2JrRkVSR0xhQ016QkxkdUxpa2IwandMZ0o0QVhFUkdKRzVPQlxuVGRoZlpEU2lieFJqRHZpbEl5SWljZXRhVEljMjI0dU9odjFSQWZ3SDBCNFJFV2tURWpEdmVOZGpmeEhTY0g4VVl3cjVkRUJFUk5xc1xucTRBL284T0NiV0hzQXg1R1cvMGlJdExBSmNETFFBMzJGeXFOMWgzcmdkdUJLQyttTENJaU5tVURzNEQ5MkYrNE5Kby8vTUFibUE2U1xuSWlJaVRaWUUzQVFzd1RSOHNiMmdhVFJ0N0FBZUFUcDkrMWNxSWlKeWRycGhkZ1YyWVgrQjAvajJxQUZleFp6bkVCRVJjY1J3WUM1d1xuQlBzTFgxc2VBV0FaTUIxZDR4TVJFUmNsQXVPQkY0Q2oyRjhRMjhLb0I5NEQvZzdvZU9aZmtVamoxQTVZUkZvcUVjZ0JiajB4K3RzTlxuSjY1VVlwcnlMQWNXQTBWMnc1RjRvZ1JBUkZwYmIrQTZUTlhCNjRBc3UrSEVuSDNBVWt4OWhvK0JPcnZoU0x4U0FpQWlUdkpnR2hLTlxueFZ4SnV4TElzQnBSOVBrS1dJdFo3RmNDaCsyR0kyMkZFZ0FSY1ZNeU1BUVlpVGxRbUlOcFhkeFdua1gxd0VZZ0Yvamt4TTlDcXhGSlxubTlWV1BuUWlFcjA2QU1PQXdjQ2dFMk1nc2QrVzloaXdEZGg2NHVjMnpEMTliZWxMVkZBQ0lDTFJLQm00QUxNN2NPR0puLzJBbmllR1xuejE1b0p5a0FEbUFxSng0NE1mWUFuNk1EZXhMbGxBQ0lTQ3pxRFBRQXpzTlV2ZXNFZE1XVU11NklhWGlUZGVKbkdwRFo0Tjl0MkFXdlxuRWdnQ0lVeDdYRENGZGVxQWtnYWorSlIvUG94WjdHdGErMzlNeEMzL0Q0Z0kxVFhPS3ViekFBQUFBRWxGVGtTdVFtQ0NcblwiXG4gICAgICBpZD1cImltYWdlMVwiXG4gICAgICB4PVwiNDYuNjc0Mjc4XCJcbiAgICAgIHk9XCIxMjQuMTcwNzJcIlxuICAgIC8+XG4gIDwvZz5cbiAgPC9hPlxuICA8YSB0eXBlb2Y9XCJidXR0b25cIiBocmVmPVwiL2JpZWxlZmVsZC1jZWJpdGVjL2NvbnRyaWJ1dGlvbj90YWI9YmZoJnN1YlRhYj10aW1lbGluZVwiID5cbiAgPGdcbiAgICBpZD1cImc1XCJcbiAgICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9XCJ0aW1lbGluZWJ1dHRvbi5zdmdcIlxuICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPXs5Nn1cbiAgICBpbmtzY2FwZTpleHBvcnQteWRwaT17OTZ9XG4gICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zNS44MDQxNTQsLTU2LjkwOTk2NClcIlxuICA+XG4gICAgPGNpcmNsZVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgb3BhY2l0eTogXCIwLjg1XCIsXG4gICAgICAgIGZpbGw6IFwiI2ZhZTk5ZVwiLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgc3Ryb2tlOiBcIiM5NDAwODRcIixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMS4zMjI5MlwiLFxuICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZURhc2hhcnJheTogXCJub25lXCIsXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgIHBhaW50T3JkZXI6IFwiZmlsbCBtYXJrZXJzIHN0cm9rZVwiXG4gICAgICB9fVxuICAgICAgaWQ9XCJwYXRoMVwiXG4gICAgICBjeD1cIjEwNy4xOTM4XCJcbiAgICAgIGN5PVwiMTE5LjYxMDg0XCJcbiAgICAgIHI9XCIyNS4xMzU0MTZcIlxuICAgIC8+XG4gICAgPGltYWdlXG4gICAgICB3aWR0aD17MzV9XG4gICAgICBoZWlnaHQ9ezM1fVxuICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFnQUFBQUlBQ0FZQUFBRDBlTlQ2QUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpcbkFBQU94QUFBRHNRQmxTc09Hd0FBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUNBQVNVUkJcblZIaWM3SjEzZEZWVjFzQi85NVgwRUVxQWdQUU9Bb29LSW1KRDdMMzNQdU9NT281am0vbDBiRE02TTVheGQyZnN2UThpS0NJS29ranZcbm5RQ0JRQUlrSVQzdjViWDcvWEZBS1Frazk1eFhrdXpmV25mQlNuTDMzZS9lOCs3Wlo1OWRRQkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVcblFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRVFSQUVRUkFFUVJBRXdTRld2QldJSVVsQWh4My90Z0xjUVBLT28yTEgzMVFDSWFCNGw1OEpcblFuTWdEV2dQZUlEV3Uvd01vR2JIdjZWQUdDamE1V2VDMEJ6STVOZnhuN25qWjYyQTJoMUhHUFhPRDZER2YyMGNkSXc1emNrQVNBRUdcbkFIMTNIUDJBWHFpSDNoRm8wMGg1ZnRSQUtBUTJBMnQySEt1QkZUdCtKd2lKUWhhL2p2LytPLzd0aWhyN09VQjZJK1ZWQTF1QXJjQkdcbjFOaGZ0ZVBmbFlpQkxDUVdIWUNCN1A3Kzd3eDBRczBCS1kyVVY0WWEvMFhBV241OTkrLzhIdmlOYUIxbm1ySUIwQnM0RWhnQkhBNGNcbkJIaGplUDBOd0t4ZGp0bEFNSWJYRjFvdUZtcThINEVhK3lOUWs3NHJSdGVQb0l5QW5lTitCckFFc0dOMGZhRmw0MFdOKzEyUGJqRzhcbmZoQllpQnI3czRDZmdIVXh2SDZMSkIwNEUzZ2V5RVc5YkJMcEtBYytBMzRIOUlqT0xSQmFNQjJBeTRHM1VhdnllSS8zUFk5QzRBM2dcbkVxQmRkRzZCMElMcEJkd0EvQS9sZllyM2VOL3pXQTA4QzV6R3IxdHJnaVp1WUN6d0ZtcC9QdDRQdVRISE11QXZLQmVVSURnaEM3Z1NcbkdJL2FtNHozbUc3b0VRSitCSzVIN2JNS2doTTZBN2VneGxLRStJL3JoaDQrMUhmMkFsVE1tZEJJQnFDc3FSTGkvekJOdkF3bkFXZWhcbkRCcEIyQitqZ1E5UUw1SjRqMS9kb3daNEI3VmRJUWo3d3cyY0MweEdCZWJGZS96cUhzWEEwNmlZQkdFZnVJRFRVWk5sVTdMMkduT3NcbkIrNms4UUdKUXZNbkJiZ1dtRS84eDJtMGpybkFWYWpNRzBIWWxYWW9qMmtlOFIrbjBUZ2l3RmZBcVRUdDJMdW9NQmFZUi93ZlVxeU9cblN1Qmh4QkFRbEl2d2VtQVQ4UitYc1RyeVVhNWRNUVNFVE5URVgwYjh4MldzamlXbzdZRVdid2ljUXN1YStQYzh0Z1AzSUVFakxSRTNcbjhGdFVOa204eDJHOGp2WEFOY1F1ZTBGSUhES0ErMmxaRS8rZXh4emdSTjBiMlJUcGd3cVNpUGNEU0pSakV5cllTMmdaREVlbEQ4VjdcbjNDWEtNUjhZcFhWSGhhYkVHYlJzdzNmUFl6d3F5Nkhaa3dyOEUxVkVJZDQzUFJHUGIxRUJrRUx6cENNcUlLNjV4cmpvSEJIZ05TRGJcbjhkMFZFcDNCd0RUaVA5WVM4ZkFCZjZNWmI0c05CUllSL3h1ZDZJY1B0U2NtYnRIbXhhbEFBZkVmWDRsK2JFVmx6QWpOQndzVjh5RUxcbnYvMGZ5NEJEbk4zbXhNU0QydXRwU25uTWlYQk1JYmJWcllUb2tBVzhTZnpIVTFNNy9zdXZOZHVGcGt0UDRBZmlQNTZhMGxFTDNFMHpcblNCdlBScm0xNDMxRG0rcFJqcXlHbWpJRFVIMGo0ajJPbXVxeEd1VTJGcG9tcDZJQ25lTTlqcHJxTVEyMWJkZ2tPWlRtbTlNWnl5T0NcblNobVVMWUdteGNWQUZmRWZQMDM5cUFUT2IrUzlGK0tMaGRyR2JBNkZmT0o5NUtONmZVU0ZhT1VoWGdtOFFvSUZOTFRLY05FdXkwVm1cbnVndTNHNUs4RnNsSkZwWFZFUUFxcXlOVVZ0c1VsNFlKUitLczdONThBbHhCTStsQzFZeXhnSCtoWG9BSmcyVlpaR1ptazVLYVFWcWFcbjZnYWNuSktHYmRzRWFuMEFWRmVYNHZkVlVsbFpFazlWNjhJRy9nNDhFR2M5aFAyVGhxcGllVWE4RmRrVkZ5N1NyVFNTclNTU0xWV2Rcbk45bEtKbVNIQ0JNbWdrMnRYVXUxN2FQV1RyaE93SDdnYXVCRDA0S2pZUURjQ1R3U0pkbjdwWE1ITjRjT1NxSmZEeTk5dW5ucDI5MURcbjEwNGVzbHU3U0U1cW1FcTJEY1dsWWJadGo1QzdNVWp1eGhDNUc0TXNYQmxreGRvQW9YQ1VQMFQ5VEFQT1J1WE9Db21IRjdWM0haZVVcblRzdXk2TmlwRHoxNkhFeE81NzdrZE9wRFRxYyt0RzdUaWN6TWJOeHVUNFBraE1NaEtpdUtLQzB0Wkd0aExsc0tjeWtzWEVQZXVnVnNcbjNiSTJ5cDlpbi93SDFSQW1mdDlBWVYrMEJiNGtUbVdmWGJqbzZHNVBaM2RIc2wxdGFlZHFRN2FyTFJtdWROS3RocGRhQ1JHaU9sSkRcbldhU0M0c2gyU2lMYjJSWXBZWE80a0lwSVZSUS93VDZKQUxjQ3o1Z1VhbktTdG9ESGdOc055dHd2UFRwN0dIdEVDc2NkbnNKaGc1TTVcbm9FTjA0eWFxZlRZTFZ3VDRhV0V0azJmNG1MT2tOdFlHd1dKVUFhV0NtRjVWMkI5cHdNZW9mYytZWUZrV1hic05ZY2hCeHpOZzBGSDBcbjZqT2M5UFRXVWIxbVZkVjIxdVhPWmNYeUgxaTZhQXI1RzVkRzlYcDE4RDlVeDBIeGhDVVdYWUd2Z1VHeHVxQUxGOTA4QjlEWDA0c2VcbjdpNGM0TTdCYTBXM0kzeDVwSUw4Y0FGclEzbXNDYTJuTkZJZTFldlZ3YitBdjZLOFl0cVlNZ0FzNERuZ1JrUHk5c25BWGw0dVBEbWRcbmM4YW0wYWRidzFZMTBhS2lLc0trbi94OFBLbWFiMy8yRXdnYWVTNzdZdzF3REtvRnF4Qi9Vb0VKd0hIUnZwQmx1ZWpiZnlSSEhIa2hcbmh4eDJPbG10NHhzalZGWmF5THc1NC9uNXA0OVl1MlkydGgyVDhiK3p1VmJDK1dwYktGMVFrZjQ5bzMwaE4yNzZlWHR4a0hjUS9UeTlcblNMYml1OHRjRkNsaGFYQVZpd0xMS0lyRWJPdnNLWlEzUUJ0VEJzRGp3RzJHWk5WSmVwckZKYWVtYzkyNUdRenBsNWdkRmtzcklud3dcbnNacVhQNm9rZDJNbzJwZGJocHB3aXFKOUlXR2ZKQVBqZ0pPaWVaR3MxaDA1N3Zock9lcllLMmlYM1RXYWwzSk1jZEZHcG4zL0J0T21cbnZFRkZSZFNINVJlbzRNQmd0QzhrN0pOT3dGU2kzTzJ1dmFzZEk1TVA1U0R2SUZLdGxHaGV5akVGNGEzTURpeGdVWEFaQVR2cXcvSmZcbnFGUkJMVXdZQUEraFhCSlJJU2ZielMxWHRPS3FzOUpwbGRFMEF1RWpFWmd5MDgrLzN5am5wL2xSWGFRc1JCa0JFaE1RSHp6QVowUXhcbjRPbUFMZ001L2F6YkdUN3lIRHlleERSODl5UVVyR1htejU4d1lkd1RGQmFzanVhbFBrWnRCMGhNUUh6SVJzVWxSYzN0Mzh2VG5XT1Ncbmo2QzNwMGVUNlp6anMvM01EU3hpZXUwc3F1MmFhRjdxWHRUODZ4amRlM285OExLbWpEcHAxOXJGN1ZlMzRqZm5aNUtXMGxRZS9kNU1cbm5lM253WmZLbWJVNGFvYkFGRlJNZ0t5RVlzOUx3TytpSVRpblV4L09QdTh1RGg5MVBwYlZOQXpmUFlsRXdzejg2U1BHZmZZd1c3ZXNcbmk5WmxuaVRLM2tlaFRwSlJOVjVHUjBONGQwOFhUa2crbXA2ZXBsc0xMV0FIbVJtWXgvVGFXZFRZdm1oY3drWmxCN3psVklET3pIb01cbjhBMnFuYWt4UEc2NDhxd003cit4TmUxYU44MFhYMTFNL01ISDdZK1drcjhsS2xzRHJ3SFhSVU93VUMrM0FrK1lGcHFjbk1ZcHA5L0NcbjZXZmRqc2ViVUZtMGpnbUhnMHo1NWo5OC92RkQrSHlWMGJqRVRjQUwwUkFzMUltRnFtNTVoV25CclZ5Wm5KaDhEQWNuRFc0eUsvNzlcbjRiZjlmT3Yva1ZtQitVUXdubDhlUkcwL2Z1L2taS2YzdUQ4d0V6QWFjbnpJb0NSZXZLOGRCL2FKYmlSbnZLaXVzZm5iaTJXOCtFRWxcblVZaVZ1Z01WaXlGRW4xTlJlOUJHVTA0T0hYNEdWMXo3QksxYjU1Z1VtekNVYmkvZ3pWZHZZZUg4cjAyTERxRzhZTithRml6VXlWL1JcbmREM3ZpWVhGa2Nrak9ENTVORWxSanVTUEY0WGhyWHpxbTBoaGVLdHAwY1hBNFVDajNXeE9ESUFVNEdmZ1lBZm4xb25IRFgrOHZCWDNcbi9ENkxKRzl6c2Z2cVorYWlXbjU3Znduck54bjFCb1JROFFBL21oUXE3RVVYVk94Rk8xTUNVMU16dWVpeWYzRHM4ZGVZRXBuUS9QVERcbmU3ejl4dTM0ZlVaenFvdFE3eVJKajQwdXg2QzJIWTBadjYxZFdaeWZlbHFUZHZjM2xBZ1J2dmZQWUdydFQwVE1aUEx0WkI1d0pJM01cbmpIRXkyeHJkOTh4dTQrTE5mMlp6elBERWpPeU1GcFhWRVg1N1h3bGZUak82TjdRSkdJYXlDQVh6ZUZBUnowZWFFdGkxMjJCdXZ1MDlcbk9uU01lZ1pWUXJGMXl6cWVmZUlTTnVVdk55bDJHbkE4RWhRWUxUb0FDNERPcGdUMjkvVG13clF6U0VuUXlQNW9rUmZLNS8yYS8xRmxcblY1c1UyK2owd01aYWNSZWk2dEliWWNTUVpDYTgyREZoMC9xaVNYS1N4YmtucEJNTzI4eFlhQ3hBc0JVd0VGV0tVekRQUThDbHBvU05cbkhIVUJmN3JqUTFwbGRUQWxzc21Ra2RHR1VVZGR5cGJDTlJSc1htVktiQTlVWU5SVVV3S0ZYN0JRR1M5R1BMOFdjSHpLVVp5VmVqSmVcbks3NjFYT0pCYTFjV1E3d0QyUkRPcDlJMjVnazdIR1dnTmZnTDFSZ0RJQnRWN0NTOWtVclZ5YWxIcC9MUmsrMXBtOVY4QXYwYWkyWEJcbk1jTlQ2SEdBaDY5LzlCTXhFeC9TSDlXRWFhRVJhY0pPaGdPdlk2Z3Awd2tuMzhBMXYzMjJ5YVQyUlFPUEo0bmhJODhoRUtnaGQvVXNcblUySkhBeE9SSWxtbStSMXdpd2xCTGx5Y2szb0tSeVlQYnphQmZrNUlzWkk1eUhzZ1c4TGJLSW1VbWhCcEFTY0Fid0FOeWo5c2pBSHdcblg1U0ZvYzNsWjZUejZrUFpEYTdOMzl3WjBpK0pvZjJTR1ArOXoxUlo0YU5SVWJwRy9Vc3RHQy9LK05XT3pyTXNpNHN2L3lmblhuQVBcbmxpWGozN0lzQmc4Wmc5ZWJ3dktsVTAySWRBR0hvVEpqRXErbFY5UGtBT0J6VlB5WEZsN0x5K1hwNXpIRU8wQmZxMmFBMjNJek9Ha2dcbjJ5TmxiSTBZS1o2VkJyUkhGU2ZiLy9VYktQUVVETG4rTHpzOW5SZnZhNGM3dWlYN214eDl1M3M1OU1Ca1B2KzJockMrRVpBS2RFY1ZcblNoSDB1UnZWM2xlYml5NTlpRk5PLzZNSlVjMktmZ09PSURXdEZVc1hUekVocmhOcUJmU1RDV0VDYjJMQTllL0d6V1hwNTlMUDA4dUFcblNzMEhGeGFEdlAwb01XY0VISXpLMHR0djU2NkdUTVBKS0pkYUcwMmxPUC9FTkY3NVd6YnVsdXYxM3llOXVuZ1kyTlBMdU85cWlPZ0hcbmlCNEl6TUJCYW9pd0c5MkJqMUFCZ0ZwY2NQSGZPUFZNSXlXOG15VjkrbzdBeG1iVkNpT0pMS05RQlZJcVRBaHJ3WndHUEtnclpPZmtcbjM5L1QyNEJLelE4TGk0SGV2bXlORkpucUtYQTRxa2pmUHBlVERURUE3Z0F1ME5WbTFMQmszbnVzUFY2UHVEMzNSZitlWGpwbXUvbHFcbnVwSHNnRU9CVnhCWHFBNHZZV0QxYzh4eFYzSGhaZHJ2MFdiUHdFRkhVMTYybGJ6MUMzUkZlVkZ4Uy8vVDE2ckY0Z0UrUlVYL2EzRm1cbjZra2M1STFabzhBbWlZWEZJRzlmMW9VMlVHNXJGOHhxQjVRQSt3eXUyWjhCMEI2MSt0SGErK25SMmNQNEZ6bzJtVnIrOFdiWXdDUktcbkt5TE1YUnJRRmRVZTJJaUtEQlVheitHb1VyTmFWdXZnb2Nmeis1dGZ3K1dTOGQ4UWhodzBsdHpWc3lqYWxxY3RDaFc3SVFHQnpyZ0JcblZXcFdpNk9UUjNKTThraDliVm9BTGx3TTh2WmpXWEFWUGx1NzQvWGhxTmk5ZWxlVCt6TUEvb1VxL09DWTFHU0xpUzkzcEh2bmxwZnFcbm9jT1l3MVA1WVo2Zi9DM2FBUUhEVVdWU285NmVzQm55SGlxMXpESHRzcnZ4NTcrT0p6azV6WXhHTFFDWHk4M1FZU2N4ODZlUDhPdVZcbkRyWlFMV3JmTnFOWml5SWRGZmlubGZYVjI5T0Q4OU5PdzJyUjhmNk53MnQ1NmVIcHdvTEFFdDFpUWFtbzc4RGsrdjVnWHdaQVI5UWVcbm1sWmR4aWYvcnkwbmprclZFV0VVMjRieXlnaGJTc0lVYkF1emFXc1lmOEFtR0xMeHVDMDg3c1FZcUM0WGpCbVp5dnNUcXZINXRRWkJcbkptb0ZOTWVNWmkyR1k0SDdkUVM0M1I3K2RPZEg1SFRxWTBZakE0VERJYXFyUzZrbzMwWko4VVlxeXJjUkNQaXc3UWh1dHpkaHZCVEpcbnlXbjA3SFVJTTZhL2o2MVhON3MzNmdXWWIwYXpGc010d05rNkF0S3ROSzdKdUloa0szRjZXb1FJVTJQN3FMSnIyQjRwdzJmN0NPN29cbm8rYXhQQWxqcG1TNk1raHhKYk02cEIzQ2RUQnFHN2pPdE1COWZkNUhnRC9yWFBuTU1XbTg5MmkyamdndHdoRll0RExBRDNQOXpGOFJcbklIZERpTnlOUVdycW1WQmRMdWlXNDZGUGR3K0RlaWN4K3BCa1JoK1NITmV0aS9GVGZWeHloM1prNkVhZ0Q5SXhzREY4ZzhxcGRjeTVcbkY5N0xtZWRvZllXMENBUjhyRjB6bXhYTHA1Ty9ZUW1GaFdzbzJwcEhPRnozTVBCNGttamZvUWVkT3ZlalcvY2hEQmgwRkwzN0RzZnJcbmpWK1Z0czgrZXBBdlBuOVVWOHlYUkxGbGN6TWtCUlU4M0VsSHlGWHBGOFkxNHQ5dis4a0xiV0pkZUNQYndrVVVSMG9waTVSajE3T3FcbjlscGVzbDF0eVhhMTRRQjNKM3A1dXRQSjNSRlhuTXdDRzNpNyttTldoZlliekw4L0hnVHVxK3NYOVgyeXRxaGlNcGxPcjlpNmxZdTVcbkgzVWlKenUyK1g3aENFeWI0K2Y5Q2RWTStNRkhSWlZlL0p2YkJTT0dKblB4cWVtY056YU4xcTFpYnd4Y2VWY3huMDNXN2l0OUhTbzNcbld0Zy9JOWhQOE16KzZOcHRNQS84OHdmYzd0ZzJOZ2tFZk15Zit5VXpwbi9JaW1YVENBYjE5aEc5M2hRT0hISWNSeDUxQ1FjZmVrck1cbmpZRlFzSmI3N2g1TndhYVZPbUpzVkluc1JXYTBhdmJjQ0R5dkkyQ1lkekRucDUxdVNKMkc0N1A5TEE0dVoyRmdHWnZDQmRyMTlsT3NcbkZBWjUrekxNTzVpZW5tNHgzOG9vajFUd2ROV3IxTnBhMVdMTFVObE1lMlhFMVBkcDdnUzB6TzduN21uTDFXZG42SWhvRk5VMU5xOStcblZzbno3MVd5ZVZ0MFNvRW5KMW1jZDBJYXQxM1ZpZ0c5WXZkaTM3WTl6S0huRjFKYW9XWE1MQVlPTXFSU2MrZGRORXIrV3BhTCt4NzhcbmpwNjlEeldvMHI0cEt5M2s2d25QTXUyN042TFZjcGUwdEN5T09mNXFUajcxWnJKYWQ0ektOZW9pZDgxcy9uSC9DZGkyMXZoL0hialdcbmtFck5HUXRZZ2FvbzZvZzBLNVZiTTY4bnpZcmQxdSsyY0RIVGFuOW1TWEFsNFNpMWdzaHl0ZUxJcE9FTVR6bzRwaDBMWndVVzhJVnZcbmtxNllQd0xQN3ZuRHVnd0FDMVZMdUsvVEt4M1VQNG5wYitjUWkrMUVmOERtMlhjcWVlYWRDdDBKc3NHNFhIREdzV2s4ZUhOcmVuV05cblRYRGpDKzlYOHVmSHRjdEZIb21xRFNEVVR6YXFxWkxqamN1amo3dVNhNi9YV2tBMW1NcUtZajc3K0NHbVQzdUhVTkJZVDRsOTR2V21cbmNNeVlxempuL0wrU25xRmRIcVJCdlBMQzljeVkvcjZPQ0IrcWsrTjJNeG8xVzQ1SHM2M3lXYWtuTVNKcG1DRjE5azF4WkR1VC9GTlpcbkVWeHR0cmZlUGtpelVqa3ErWENPVEI2TzIyeEg4RHF4c1htaDZrMEt3bHQweEt4QTFZYlo3VGJWcGYySmFOWjhmdXRmMlRHSitwODJcbng4OUZ0eGZ6NmVRYS9MV3hldndxa0hEVitpRC8vYlNLa3JJSVJ4NmNFdlUyeGdjUFRPTFRiMnJZWHE1bDVDU2hJbnVGK3JrWk9ObnBcbnlTa3A2ZHg4Ky91a3BFVFgrMlhiRVdaTWY1K24vMzBScTFiK1JDUVN1d1o0a1VpSWRXdm5NZTI3MS9GNlUraloreEFzSzdyV2ZxL2VcbmgvTDlsTmZxalY5b0FGNVVNS3l4cGdQTmxFY0J4d243N1YzdE9DZnRsS2k3eW9OMmlLbTFNL2k0NWd1MlJtTGIvRFJJaUxXaFBCWUhcblY5RE8zWloycnVnYXdSWVcyYTQyTEFndTFSSFRIdmdPMkxEckQrc3lBQjVCWXdDY2VuUXF0MS9keXVucERjSWZzTG5yeVRKdWZhU1VcbmtyTDQxYmlKUkdEdTBnRGp2dk54NUxCa09yYUxualhvZGxua1pMdjU3RnV0V0lEK3FKUkE3UVRUWm9xRmFxVFIxcW1BMDg2Nm5XR0hcbm5HcE1vYnFvcUNqaTJTY3U0K3NKenhJSUdHMG4zU2lDUVQ5TEZuM0w2bFV6R0R6MCtLZ2FQYW1wbWZoOWxheFpOVk5IVERmVStCZnFcbnBnTXFZdHp4aSt6YzFGUHA0STV1NFBlMlNER3YxM3pBMHVCSzdUMStIWHkybjBYQlpaUkd5dWpyNlluYml0Nzd2NDJyTmZuaHpXeVBcbmxPbUlTVUoxZFB5RlBjMzJURURyN1hWYmxDZi9OUnVDSEgzRkZsNzhJRHI3bkU1WXN5SEltR3UyOHNiL2pMVjFySk16ajB0alVHK3RcbnZhY1U0QnhENmpSSFJxRFN4aHlSbkp6RzJKTitiMUNkdlZtNmVBcC92WE1FeTVaOEY5WHJOSVlWeTM3Zy9ydEdzM0w1OUtoZTU2VFRcbmJpWkpyNTdDSUdDb0lYV2FJeGVna2ZiZHlkMkJBVjdITzhjTlluWmdBYzlYdnNHMmNHeFgvZnRpUVhBcEwxZS9iYXFqWDcyTVNSbXRcbksrSnM5cWpyc0tmSmNnRndrVlBweDQxSTRjL1haams5ZmIvTVdsekxhVGRzTTFFY3h6aWhNRXo4d1VkdHdPYlk0U2xFbzlHYlpVRkdcbnVvdngzMnV0K2xLQmR3eXAxTnk0RlZWRDNoRW5ubm9qaHh3V3Zjam42VlBmNGFWbnI4SHZqNjZoNllSYWZ6VXpaM3hNK3c0OTZOcHRcbmNGU3VrWnljVGtWNUVldHk1K3FJS1VXNVFvVzllUXlOd2xlbnA1NUF4eWl0L20zZ2EvLzNUUFpQSTVLQWxjMnI3R29XQlpmVDA5T05cbkxKZmo1TGw5a3VWcXhicndCc29panR0YkpLSGF4Qy9mK1lNOVBRQmFIYzl1dmp3Nkh4eGcwazgrenJoeFc4d0MvWnp5K0JzVjNQRDNcbkVzSlJVdk9DazlMcDFGN0wxWFE4Qm1wN04wTXM0SHluSjd0Y2JzYWVlTDFCZFhabjR2aW5lTzJWR3dtSEU3ZWdZeWdVNEpVWGZzdWtcbmljOUY3Um9ubm5LamJyekJ4V2lXZG02bWRBSWNMekd6WEswNDBPczRjV0NmUkxENTFQY2xQOVltZHZoR2plM2p0ZXIzVFJUdnFaY2pcbms0YnJpdGh0Z2Ivck55a2RqY0luUFRwN0dEc3lPbWtmc3hiWGNzVmZpdXN0NEpOb3ZETyttbHNmams2d3NjY05WNTZwdGRmcVJvcWlcbjFNVmhxRnhaUnh4OHlDbTB5KzVtVUoxZm1UTDVQM3owM3IyNkZmRmlnbTNidlAvMlhVeisrc1dveUcvZm9RZURoeDZ2STZJWHFrZUFcbnNEdG5vN0gzUHp6cDRLZ1V6TEdCTDN5VFdCRFFDb0NMR1FFN3lMdlZuNUVYaWs3aHlRSGVQclRTOHpDY3dpNjlmWFkxQUk1RkkvWHBcbjZuTXlvcEwydDNoMWdIUCtXTlJrSnYrZHZQWlpGUSsrV0I0VjJWZWZrNjU3cjA4MHBFcHo0aVNkazQ4Ykc1MFU4NWt6UHVhZDErK0lcbml1eG84djdiZHpGMzlyaW95RFp3cjJYODc0M2o4ZS9DeFdGSjBRbXRtT3lmeHB6QXdxaklqaFloUXJ4ZDh5bGJ3dHVNeTNiaDRqQ3ZcblZqbVhOSGJ4OU93NmpUaE9mYklzdVBCazg4MU95aW9pWEhwSHNYWTF2M2p4eUt2bGpQdE91NExmWG5UTjhURHFZSzM2MmllZ1llMDNcblV4eVAvOHhXMlF3YWZKeEpYUURZbEwrTTExNitTYmNBVGx5SVJNSzg4dnh2eWQrd3hManNnNGFkcEZ0L1FBeUEzZkVDamdkd0gwOFBcbk1pM3pHU0JMZ2l1WlZ2dXpjYm14d0cvN2Vidm1VeE1kL2ZaaVdKSjJqTTB2bnY1ZERRREhYNG9SUTVMcDFzbHMzcjl0d3cxL0x5R3ZcbklISDNQQnZDN3g3WXpwb041a3Z3bjMraVZwT3VOa0RzeXRRbFBsbW8xcG1PR0hINE9iamRac2UvMzEvTjgwOWRHZGMwUDEwQ0FSL1BcblAzMGxmcC9ab0VXMzI2c2JiSGtVS2hoV1VJd0NIS2R2RGZZT01LaUtvaVJTeXVlK3I0ekxqU1Zsa1hJKzhYMXBQRkd4cmFzMW5kMDVcbk9pSis4ZmJzTkFCeWdINU9wWjB6MXZ6cS85VlBxeGcvdGVtKy9IWlNWUlBoZHc5c0oySjRFWGYyOFdtNDliWUJqamFrU25OZ0ZPQjRcbkJoOCswbnhtNWJ0djNrRmh3V3JqY21QTmxzSmNQbnIvWHVOeVIramQ4eFJVeXFlZ2NQd3VjTy9vWDIrU0NEWWYxb3pUclgrZkVLd01cbjVqSTNDbHNZUS9TTXJxRkFhL2pWQUhDOCtnRTQ2VWl6RFVLMmJROXovL05hQlEvMmg0MHE5N29FbUFlc0pZckZjV1l2cWVWMXd6VUNcbnN0dTRPSGhBa280SXJXZmV6SEI4TDFKU00ramJmNlJKWFZpOWNnWS9UbnZYcU13OUNLSXFnaTNjY1d3QW91WnErLzdiMTFpM2RwNVJcbm1RTUdIYVZiRTBERy82ODR2aGRkUFFlUWFwbDkvODhPTEdDelh0bmIvZUZIdmZQbm9lYUF6UkM5aWtLVC9GT3B0czF1QmZmVjY3Sm9cbnNjTUEzbWtBT0xhR3UzWHkwTGU3MmNZSTl6eGRSbm1sOFgzUE5jRGZVZTYvREtBcnloSTZETlVxTngxVktlOTY0R3N3MjFIaWdlZktcbmpGY3RISHVFbGhkVFhvQy80bmo4RHpyd1dLTWQvOExoRUcrOWRtczBJdjVuQXJlaCtvT25vL0s5aCswNGV1ejQyU0hBSGNCc2t4ZTJcbjdRaHZ2WHFyMFZnR3J6ZUYvdjBkbDJ3QThRRHNpdVBjc3I2ZW5pYjFvTnF1WWJML0I2TXlVZS95cjREZm9EemQ2YWgzL21Hb09hQUxcbmFrNDRHdFU2Tjlma3hYMjJuMG4rcVNaRmt1UHVvQnQzY1RnWU1BREdIRzdXK2x1ZEYrU0RyNnBOaXB5SlNuM29COXdQL0FqVVpZNUZcbmdOWEFmM2I4ZlcvZ1JReXRqRW9ySWp6emp1TUNEblZ5bk42OTc0cG12KzltaE9NWDRJRkR4NWpVZzFrL2Y4S20vT1g3LzhPRzh3bHFcbjBqOENlQkxWRXJldW9KUUFzQUI0SFBWeU9Bd3dGc2FmdDM0QjgrYU1OeVVPZ0VGRGp0VTVYUXdBUlE4MDZvTDBNV3dBL0ZBN0M3KzVcbndMa2dxZ05lTDFTRjIxZFJDOEc2TE5FYVlEcHdIMnF1T0IyWVkwcVJCWUVsRkVmTXBZWmJRRytQNDZ4bDJNTUQ0RGd2OXZDaFd0SG9cbmUvSHYxeXRNN1pkWG8xYnpvMUFyK3NheUFkVVgreERVaTFHYmx6K3FNbHJJNk5BRGsvQjZ0SEp2SlI4YU9xTTZBRHFpYno5empoVGJcbmp2RGx1TWROaWNzSHhxS3FleTV5Y1A0OFZHNzRLVUNCQ1lYR2YvNllVYzlHbjc1YTk3NHJLaGkycGVNNGY4K0RoMDV1YzIyaGEyd2ZcbnN3TkdYclVBYzFHRzd4K0JqWTA4MXdZbUFDT0JHNmg3d2Rnb0l0akdNeHE2ZVE3UU9YMElLQU9nTmVENEtRNGZyTFVQdlJ1YnQ0WDVcbjZHc2pxLy8xcUZYZGY5RGYyMW1DV2oyOXFhdFVWVTJFLzN4aUxoWWdOZG5TN1ExZ1BueTM2ZUg0SGlRbHAzRkFGOGQ5cy9aaTRmeXZcbktkaTAwb1NvcWFpWDN4UURzcjdlSVV1N2pmU0d2RVVzWFd4Q0pVWDNuZ2ZoOFdpOWY2SlR1cTVwNFhqOGQzWjN4TDFYTVZubnpBb3NcbklHQUhUSWg2RGRYNlhOZVZGZ0ZlUW5uRU51em5iL2ZMb3NBeUtpTG1ldGgwY1hmV09iMGJrT0ZDWXdDa3AxbjA2MkZ1Ly9QOUNkV0VcbjlIZmUxNkFLSGF6UWx2UXJ0Y0Exd0RPNmd0NFpYNFhKN2QzRER0UjZBWW9Cb0RFSmRPOHgxR2o2MzQvVGpMUm8rQXExYWpkWmlySUlcbjVVM1FucjEvL01GY2NHTlNVaW9IZEJtb0kwTEd2OGI0UDhCdGJnZlJCdVlIRnBzUTlTUnFyOStJSmJHRHBTaURZcTJPa0RBUkZnYVhcbm1kRUlGUWZnY1o2OFpBRjlYV2dNZ1A0OXZFYXIvNzAzUVh2MVg0eXFaMkRFWmJrSE52QW40Q01kSWV2eVE4eGFiQzY5WlVBdjhRQm9cbjRuajhkejdBM08ycnJDeGgwWUpKdW1MbW92b1pSQ09qeFlmcUpPbGtPK0VYRnN5ZGdLL0dYQ3hNNXk1YXowREd2OGI0TjluMmQyTm9cbmsyNnJXNEQzZ051SlRrVC9adFRjb21WWW15eHA3TVpGTzdmV0x0WUFGeHIxejAydS9wZmxCbG1kcDEwdzV5b2dUMStiZXJGUjFxVldcbmxPaG4zNXBMQ2RITXdJaE84ZnFtaGVQeDM2bXp1ZGFuQytaT0lCVFNXclJVQUJkaVlMOXlIMVR1dUlaalN6MFE4TEZ3dnJrQ0w1MDZcbmFUMERHZjhhNDcrOXE2MHhKWllFdFIyMnExQXhYOUdzR2I4T3VGcEh3TFpJc2RGV3h1MWQ3WFJPNytaQ0ZRRnlSSjl1NXR5ZlUyZHJcbkwxcmVBeVlhVUdWL1ZLSUNReHhqNExQK1F0L3VXczlBc2dBMHhuOU9KM01GVUpZdm5hb3I0ajVVN0V1MFdRMDhwQ05nK2JLcFpqUUJcbk9uWFdlZ1l0ZmZ4YmFHUUFaTHUxSnAvZFdCdlMzbUsvQVEzRHRCR01SOU1MbkJ2S002TUprSzFuZGRxRWZnQUFJQUJKUkVGVWhIVjJcbm9hS2dIZEUxeDV3Qk1HMnUxcVFZQk80eHBFcEQrQmFZN1BUa0ZldUNiQzB4VTJiZ2dJNGVuWXFBYWFneXVDMFp4K08vWFhZWEl3cllcbnRzMks1VnE1ei9tb2xOVlk4U1RLSmVxSTVVdW5HVk9rYlR1dFo2QVZSZFVNeUViMWlHODBidHhrV0ZybHlIK2h5cTZtS0tLMUt2NEtcbitONklNZzNqTGpUU3c5ZUZ0WTJkWDhoeU9hN2dETkRKaFVZR1FNZDI1dnJKekY2aXRTLytLYkZaL2V6S28wNVB0RzJZczlSTWpJckhcbkRkbHR0SjVEUzM0SldtaU0vNnpXWmxLZ2lvczJVbDYyVlVmRWs1Z05ldG9mdGNEelRrOHVLYzZuckxUUWlDS3QyMmpWUkcvcEhnREhcbk55L0RsVzZzK2UvRzBHWmR2NzJ4M05rR3NnNDE1emhpWThpeDdid1hyZlNLQVhWeW9aRUwyN0dkbVFqQTBvb0l4YVZhK2ZGdkdWR2tcbmNYeUhLaWZzQ0pNTmduS3l0UXlBMXFiMGFJS2s0YkFGdHR2dEpUUFRqQXQwUzZGV3pmOHdFTlc2d2ZYd05ocjdyWVVGYTR3b2tkVzZcbkk1YmxlQ3JLcEdWM3hYVDgzYzgwdFBvSGRBdmtiQ1MycS8rZE9KNXpxdTBhWTEwQ00xMWFCa0JyRjZvRW9pUGFaSm41N21nRy8vbFJcbmVjK3hKZ0k0RHR0ZWsyZXU5SHJyVmxxR21QbE9UazBIeDJNL0xhMFZsbVhHQU5acytqTVBNTjk0ZlAvczdLWGhpQzFiekZSYjlYaVNcblNOYnJDU0RqM3dFbTYvOXJHZ0NUcUx1eVg3VDVEbzFzRzFOVkFUV2ZRN29MVlJmWjJkbXBacHhBbTdabzdZY3ZSS1VveFFQSHBaMDJcbmJqRm5BS1NsYUQwSGM2WjgwOFB4Q3pBNXhkeHRLeWwyN0VnQ1ZlbzZYamdlL3lWRmpTM09WajlKU1ZwenVJeC9CeVJaNWdyQWxVVzBcbjBrTGpOZjc5YUtURWxrWEtqU2podGJTeXdQUU1nRlM5aWVjWEttdTBETGg0OWt4ZDVmVEV5aXB6Um11YW5pR201VU5xNGpnZSs4bkpcbjV1WU52MCtyT3Bqak1XZ0F4OTg5bjk1bjNnMU5ZMHpHdndPU01KY0NydG4ydDBtKy8vMkdXaDFyUG9kMEZ4cDdZTWxlUXdaQXRWWUlcbmlMbWt5aGhldTdMR1hMcXE1bk5veVh1Z2pqKzd4MnV1QjRiZnIxVWV1a21PZjgzUHZCdWE1WUJsL0RzNTBUSjMyMnIxeXY4MnlmRnZcbnFPU3g3blB3dU5EWVA0a1ltc01DUVMxQnNZeCszaFBIWmx3Z1lNNEFDT3M1RTR5MlBXNWlPUDdza1lpNTJ4WU1hcTBHbXVUNEQrbDlcbjV0M1FmQll5L2gxZ0c2eTNFOVo3QlBFYy80NWpBSUtHaHAxbWM2MndDNDFCRUE2YkdRUVphVTEyRDl1eCt6QmQ3elB2UmtUUEVvdEhcbkFFMmk0UGl6MndZTmdKUVVMUzkwUEYzWUNSRkRJUWFBWTV3di9neStOalRqQ2VJNS9qT2RucGhzS0liQzFuc09lZ1pBMEZBY1czcXFcblZqUzFtV29zem5CY1NqUXozVndUQmMwR1NpM1pBSEE4Z2tOaGMybWNtcE5oa3h6L3FhbGFCVXgyUTlNQWtQSHZnTEJ0MEFEUTI4ZldcbjZvbXJpZVB4bit5cy90SmVSUFE4TVJFWEdoSDBGWVlDMmRwa2FVMkdnNDBvRWVOcnQ5RkwzZHVOeW1xdDV4Q3ZESXBFd0xFTHoxOWpcbkxvZ3RJME9yb1VjOHgvK0JUazlNVHpkWGZrS3p1VkEwR2ljMUZSeC9kczNBdmQxSXMxSjFUbStTNDk5VUdxVm1NS0hmQlRodXdWUmVcbmFjWUE2Tk5WcTZSd1grSm5CUjdyOU1UZWVwOTVOOG9xdEo1RHFTazltaUNPeDM1TmpaazBIb0NPT1gxMFRqL0dsQjZOeEFVYzdmVGtcbkRqbTlqQ2hoMnhIZGpBSVovdzR3RmNVTzZIYTBPOWFRR28ybEsrRDRpNnY1bVg5QnM2QlFxWjRCWU1nRDBMT0xCNDllVU9tNVJoUnBcbkhHMkE0NXllM05kZ0o4VXlQVVBNM0V6VzlLakFvUXM0RVBBWkMyVEwwZXNxMkFVNDNJZ2lqZU5vb0wzVGt6V2IrUHlDejFlSjdkd2RcblhVTjhnOGppaldQangyZlFjYUxaMEdZTThhbG1lcDdURTEyNGFPc3lZd0JvZW1MS1hHZ01BbE1OYlpLOEZyMjZhazJJdndGanBha2JcbnlwVTRMQ01MTUtpWE9RTmdhNG1XQVdDbUpGWFRKSUtHQVZSZWJxWUFYK2NEK3V0V0ZmeXRFVVVheDIrY251aDJlOGpSYStQN0MyV2xcblczUk9iOGxqSHpRV2YxVVJjNDMzT3JvYzI1RUFLY0FWaGxScEtCWnduZE9UMjduYTRER1VmVnBwYTZYVGJuZWhrY3VZWDJndWdQYm9cblE3WHlxb2NDWnhwU3BTR2tBbmM2UFRrdHhlS1FRV2FDUUNxcUlqb3hBRFpRWWtTUnBvdmo4VjlTbkc5RWdiUzBMTHIxR0tvajRnbzBcbitybzdvQzl3a2RPVGUvWTZSTGQ4N3k5c0w5R3FvaWhqM3lFMXRzOVlMdnNCbms2NkZlM3VSQmtDc2VJY05HSVBlbm9jeHc3dWhXWVZcbnhSSVhxcFdvSS9JTmxyTTlacmoyOC9zM3NSc0VkNk1SZHpCcVdETEpTV1ljRmh2MWpMQWlXbllRRkdpTWYxTUdBTUNnQTdXMjhwTlFcbkhRRmp4ZE9BNHlDV1FZT1BOYWFJNWpNd1Y0KzRhVktKemhhd2JTWVExb09iN202dE1LNnV3RitNS0xOLzBsQnpqV042ZTh6WjZ1VjZcbkJzQkdGeHBmZ3J6TlpnMEFyMGRyVXV5RDVvTnBJRWVnT2RqR0hxRVY5Ym9iR3d1MW5vSFc4cW1aNEhqOEZ4V1o2K3M5ZU9qeHVpTE9cbkFhNHlvTXIrdUI0NFJVZkE0SVBHR2xJRmlvdTE1bkFaLytCNEVHK1BPTFlkOXFLZlJ6c285RzVnaEFGVjlzY1RRRStuSjd0eDA5dlRcbnc1Z3lwYlpXQ05jbUxRL0FpdlhtY3FIYlpyazRjWlQyQXY0bW9yc2YyaDM0R0p3bnJycGRjUDZKNWhxUXJWaW45UXhhK2dvSU5PNUJcbndXWnpaZmdISG5nMGJkcDIxaFh6QXNwQWpSYkhvRmIvam1uZm9UdDkrNDAwcEE1c3psK2hjN3FNZjQzMy83YXd1U3E4UTd5RGNPbUZcbmNTVUJuNkM4QWRIaUJ1QjNPZ0w2ZVhzWjdhU28rUXcydW9EMVRzL08yeFRDVjJ1dUpPU2xweHVwRHZZaTBWa0o5UUFtbzVseU9HWmtcbkNqblo1dXBvaXdHZ2plTVYwT1pOV3BQUGJyaGNibzQ0OGtKZE1XbkFCTURjRFBzclJ3SGowTnhtTzJMMHhWaVd1WGhkeldjZzR4L3lcbm5KNjRMV0xPQUdqbHlqQ3hNdTZLZWtlYjIyVC9sV3VCWjNXRkRQT2FLMXNRdElPVTZuVVYzT2hDZFZOeXRKRWNqc0RxUEhOZWdKTkhcbnA5SzVnL2JrNkFaZUJ4N0NYS09QWTRBWnFPQW5MYTQ3ejNIMXlEcFpzVmJyL2k4M3BVY1R4dkU5MkZLd2huRFk0RGJZbUd0d3ViU0hcbmJCdmdXK0F5ZlkxKzRScmdHeUJMUjRqYjdlV1k0NjQwb3hFcUZiTm9XNTZPQ0JuL0d2ZGdhN2pJcEI2TVNCcG1Ra3gvVkp2cTBTYUVcbm9XSmRIZ2IraStaOGt1WEtaSUJYcStiSGJteUxsT2owWkFnQmExeW9JTEMxVHFYTVgyNHVqVFk1eWVLV3k0MlVDTFdBdndJL0FqcWpcbnFoVnF6MmNLMEVsWHFjRjl2WngydExuOWYxK3RyZXNCV0dwS2x5Yk1jbkQyTFFvRy9SUVk5QUowek9uRmlKRkdTbHFrQSs4QUh3QTZcbit3cmRnRStCMXpBUVlEdnFxSXRwbDIxdWNiWmgvU0tkTXNCaDR0dEtPVkZZNXZURXJlRWlRczZyQ2UvRlFHOC9PcnExVWdKMzBobjRcbkhuZ012VjRCaDZFV2ZuL0JRSnI1VWNramNSdHNQcmtwWEtoeittcWdkbWZ5c2VOQk1HZUoyVG9hMTV5YlFmdTJ4bTdTU0dBdWFtL29cbkdGVDFzb2JRRFhnQXRUMXlLNFk4Q1grNUxndUQzazhXcmdqb2RsS1VGWkFxQnVRNEdDeDN6V3lEcXNEcFo5K2hXeE5nVnk0Q2NsR3Vcbnk4YjRIb2VpdHRKV1k2aklsc3ZsNXZTemJqY2g2aGZXNW1yZCsxeGFkaG5zblRoKzk0Y0lVeERlYWt3UkN6ZzIyVmdJaXdlNEEvVU9cbnY0K0d4d2E0VUFYZVBnZG1BOE5OS0pOcFpYQ1k5eUFUb241aFU3aEE1L1JsOEdzcXp4SlVGSEdqbWJYRVhFbElVRG55RDl5VXhVMFBcbkdxdlI0VUpWYlRvUDJJeHlqODRCMWdFN0s3bWtveWI5SWFpSGZ5Z05OeFlheEJFSEozUDI4ZWFDL3dEbUxOVzY5NXRvMldWUWQyVXBcbkRvT0hjdGZNNXJpeGptdUM3RVdYcm9NNFpzeFZUSjN5dWltUnFjQWZkaHdyVU9OL01Xcjg3OXhBYkkyS2JENFlHSXR5b3hybCtCT3ZcbnAyTk9iNk15MStiTzFUbGR2RitLRXFBUWh4N08vRkFCM2ZSUytIWmppSGNnUDd2bnNURzgyWlRJYk9CdndQMm85LzVVMUxQZmdLb0VcbmFhRXFXdlpDVmRRY2l3RnY3NTZjbUhJTVhzdGMrWGVBalNHdGU3U2JBVERIcVpUVmVVRkt5aUswYTIxdXZyenl6QXplR2xmTnJNVm1cbmpRdFVBTjlWeENaZDZoYzhibmppejIyTXJ2NEJaaTdTOHI0NGZ1Yk5rRGs0VEcxYnZYS0dZVlhnZ292L3hydzU0Nm1zTUJka3RZT0Jcbk80NllrdFc2SStkYzhGZmpjdGVzbXFsenVvei9YNW1EdzBKcUc4S2JPTkxNSWhrQUM0dXpVMC9tdWFyWGpiWWNSaTNvRGljT1piTzdcbmU3b3dMR21JVVpuVmRnMGxFYTFGOGh6NGRaWDdNdzczUVcwYnBzNDJXMHZHc3VEWnY3WWxOVG5XMVgyancyMVh0V0pJUHpPVi8zWVNcbkNzUFVPVnIzL1dkVHVqUURITitMb20xNWJOdnFPSkdtVHRJejJuRFpsWThZbFJsUHJyejJTZExTdE9JSDkySlQvbkxLU3JYMlFHWDhcbi80cmplN0UydE1IMFJFMUhkM3RHSjhjaXBULzZlQzB2WjZlZWJMeE9mVzRvVDZjUnNBM01oRjhOZ0JMVW5wZ2pwc3cwWDB4dVVHOHZcbmo5eHVwbUZDUERsOGFESjNYVy8yNVFjd2QybXRianRtcmVWVE0yTW1HbjNobHk2ZVlsQVZ4Y2dqTCtTWTQyTHFxSW9LWTAvNlBZY09cblA4TzRYTTE3SGdMbUdWS2xPZURZQVBEYmZ0MWd0RG81SWVWb3VudTZHSmNiYTg1SU9ZRU9ybXpqY25ORFdvdU9WZXpvZzdHcjM5N3hcbklQaDJwZy9iWERtQVg3ajIzQXd1T2RWSWJZQzQwS0d0bTdjZnp0YXRjRmdubWtaWEVIa0I3a29aR2hIaFN4ZC9hMUNWWDduczZzZm9cbjFsMnJSMEJjNmRYN1VDNis3S0dveUY2MitEdWQwNWNBNXJyWk5IM21ndk53L2pWQnN4NHdVQjN6TGtvOWszVExiTnhVTERrMGFTaUhcbkpwbi8vdHBvR3dDemR2NW5Wd05nbWxOcEJkdkNMRmdSbmE2YXo5L2JsckZIeExMUGd4a3kwbHg4K25SN0UzVU42dVRMYVZvQnpMTlJcbkFURENyMHgxZXVMU0pkOVRXMnYrZGlZbHBYTGJYejZoZllkWTl2a3hRNGVPUGJubGpnL3hlTFdhZk5XSjMxZkZ5aFUvNm9qNDNwUXVcbnpZUnFOR0lpVm9iV0dGVGxWN0pjcmJncS9VS1NMYlBicDdHZ2w2YzdaNmFlRkJYWm04T0ZWRVMwdWdCTzNmbWZYUTJBU1RpTUF3QVlcbjkxMTA1cE1rcjhVN2oyUXpiR0RUR1FUSlNSWWYvRHQ2T3EvZkhHTEphaTJENnh0VHVqUWpITitUUUcwTlN4Wk5OcW5MTDdSdTA0azdcbjdocEhxMVpHOHFOalFsYnJqdHg1OXhka3RlNFlGZmtMNWswZ0dOVHlnTW40M3h2SDk2UWd2SldTU0hRU2lnNXc1M0JwMnJsRzgrZWpcblRSZDNKeTVQTzg5WXk5ODlXUmJVTGwveGk4dHlWd05nTXhwNTRaOU5qdDZDTWlQTnhaY3ZkT0RJUTh5dkpreVRubWJ4NGVQdE9YWkVcbjlMd1dCdTYxdkFEM1pncHFhOFFSYzJlTk02aks3blRNNmMwOWY1OUN4eHp0aGlsUnAzMkg3dHgxMzllMDc5QWphdGVZTzF2clh2dUJcbjZZWlVhVTVvdlJPVzZrOUs5ZExIMDRPcjB5OGsyVXI4OTM5UFR6ZXVTYjg0cWw0TFRRTmdDYnZVUGRremQyK1NVNm5yTjRkWXVESTZcbjJ3QUFXWmt1eGozWGdiUEdKTzZlVUtmMmJyNzliOGVvYjFsb2VsdEtrUlNvdXFoRUl6Qnk0WUt2Q0VSaEcyQW5IVHIyNUs3N3ZxWnJcbmQ3UHBSQ2JwMmVzUTd2MzdkK1IwTWxmdWRFLzh2aXFXNkFVQVRrZTJ2K3BpRmhwMVFaWUdWeHBVWlc5NmVicnptL1JMeUxRU055WnNcbmlIY0FWNmRmUkVvVURSVUQzcGJkWEpWN0dnQVRkU1MvKzJWMDQycFNrdFIyd0tPM3R5SEptMWdwZ2tjZmxzTDB0M09NcC92dHliTGNcbm9HNzU1VWs0N1AzUUFuQTgvdjIrS3ViTytjS2tMbnZSdWswbjd2MzdGRTQ0K1lhb1hzY0pvNDY2aEx2dSs0cFdXUjJpZXAzWk16L1Rcbk5iUzAzbkhObURCYTJ3QmJqUGNHMkpQTzdoeHV6cnlPdmg3SDNYaWpnZ3NYWTVKSGMxSGFXVkZ6Kys5a2ZtQ3hyb2pkeHYrZUJzQlVcbmZxMk8xMmcrL0txYTJrQVUwZ0Yyd2JMZ3hrc3krZXJsRHZUcWFyYXlraE5Ta2l6dXY3RTFYNzdRd1dpWHYvcDRjNXhXOEFlb3NzaENcbjNYeXFjL0wwcWUrWTBxTmVrcEpTdWV5cVI3bitwditRbnQ0NjZ0ZmJINW1aN2JqeGxqZTUvc1pYU0VxT3ZuZnVoNmx2Nlp4dUE1OFpcblVxVTVvalgrNXdXWG1OS2pYdEt0Tks1TXY1Q3hLVWRGZmJKdENObXV0dnd1NHdxT1R4bU5aVHpiZjNmQ2hGa1UxS3JlWHN3ZXdmNTdcbkdnQmh3UEV5Wm50NWhBbDYwZWtONXZDaHljejd1Qk9QM3Q2RzlMVDRlQU9PR1o3Q1QrL21jT2UxclhBWkxSeGNON1VCbXc4bWFubFpcbmFvQ3ZEYW5USEZrRExISjY4c3JsUHhndkNsUWZvMFpmektOUExlYUVrMjh3MlR1Z3dWaVd4YWlqTHVHZi81NXJxb0hSZmluWXRKTGNcbjFiUDIvNGYxTXdkcEFid3ZKcUt4UGJJd3NKUlFESnlMTGl5T1N6NlNQMmIraG42ZStNVEZlQzBQWTVKSGMzUG1kWFJ4RzY4Y1hDZkxcbmdxdW9zYlhtMTNIc2tlNVpsd2tWQUM1M2VvVXRKV0d1UEZPbkFWUERjYnNzaGc5SjV1SlQwZ21HWUhsdWtGQU1uTnVqaGlYejdGL2JcbmNlL3ZzOGh1RXpzcjlMMEoxWHp5alpiNzh3dmdYVVBxTkZmYW8vcEJPTUt5WEF3NWFLeEJkZW9uS1NtVm9RZWZ3TUdIbkV4bFJURmJcbkNuUFJTT1JwRUpibFl2aklzL245SDE1bHpBbS9JVGtHcS82ZGZQYnhRK1N0VzZBajRtbFVkemVoYm9MQUljQWdaeWNIeVhhMXBaTTdcbnV0dEFPMG16VWprNDZVQzZlRHBSRnFtZzNLNkkralc5bG9mRGs0WnhVZHJaRFBUMnhXVzJaY3crK1ovdmE4cnRTaDBSZDdOSDU5KzZcbmxzNWVvQURWUk1FUlA3NlR3OEVEWXArMnQ3VWt6SDgvcWVMOUNkWGtGWmhyVXdtcVNkSHB4Nlp4M2JrWmNjdEdPT0xTTGJycGY1ZWdcbldzUUs5VE1BMVRUSEVhbHByWGp5dVZXa3BNYkdDTjZWelp0V01PV2JWNWoxODZkVVY1bE55OHJNYk1maG84N24rQk92cDFQbmZrWmxcbk40U2Ftbkp1dmJHZlRyMEZHK2lMUnV2ekZzS0Z3SWRPVCs3c3p1R21qS3ZOYWRNSTFvYzJNanV3Z0JXaE5RUnRzKy8vdHE3V0hPd2RcbnpPSEp3OGlJUXlEaXBuQWhMMWE5cVNOaU82ckowVzRUU0gyKzg2ZUJQenE5MGtXbnBQUHFnKzJjbnE2TmJjUE1SYlY4OFgwTjArYlVcbnNqUTNRTVJCb2RjT2JkMGNmVmd5Sng2WnlwbkhwWktSRm50WDYwNSttT3ZuMU44N0RzOEFGZUY3QU5JQ3RTSDhqR29sN1loTHIzeVlcbkUwKzV5YUE2alNNVUNyQjQ0VGNzbXY4MXk1ZE5vMmhibmlNNUhYTjZNV0RRMFF3NzlGU0dIRFFXdDl0clZ0RkdNSEg4VTN6MDNyMDZcbkluNUF0UVFYOWswS2FnSG91QTc3YjlJdnBhZW5tem1OR2ttdFhjdXk0R3JXaE5heExyU1JLcnZ4MjZZV0ZqbnVEdlR5ZE9kQWJ6KzZcbnVidEVlWWQvMzN4WTh3V0w5ZmIvbjZXT09iMit6elFNbU8vMFNtNFh6UG1vRS8xNnhPK0ZzU3ZieXlNc1dCRmd6WVlncXplRTJGSVVcbnBySTZRbmxWQk51R3RGU0xqRlFYN1ZxNzZOUGRTOTl1SGdiMjh0Sy9wOWQ0Qnorbm5IblROcjZicFZYODVIbFVTMWhoLy93T2VNbnBcbnlWbXRPL0xZVTR0akVoVFhFRXFLODltUXQ1aXRoYmxzS1Z4RFJVVVJmbjhWdmhybFRreE55eVFsSllOV1dSM0k2ZFNIVHAzNzBhMzdcbkVOcTJTNHhhN0xXMU5kejV4OEZVVkdoRm1WOE5hQzJoV2hBdkFJNVRUYnA3dW5COXV1TmRaS1BZUUZHa21LM2hZb29qMnlrSmI2ZkdcbjlsRkxnS0N0eW42a1dDa2tXMG0wc2pKbzcyNUhPMWRiRG5EbmtHYWx4bGY1SFd5UGxQRms1U3U2VFplR0FRdjMvT0crcHJjRnFQN2dcbmpyanc1SFJlZXloK1hvRG14SnlsQVk2N2VvdXVtRU5RejFUWVA2MVFQZElkeitDWFhQRXZUanBWN0MwVFRCajNCQjkvY0wrT2lDcVVcbisxTTdoYWFGTUJ4Vkx0d3g4ZllDTkNjKzgwMWtubDc2M3p6Z3NMcCtzUytmOWlzNlYvejBtMnBXclhkY1dFM1loWWYvVTY0clloNHlcbitUZUdDalJqSlNaODhXUlVDd08xRlB5K0tyNmU4SXl1bUxlUnliOHh6RUhEQXd6d2JhMFVXelJCYWFTY2hZR2x1bUwrVTk4djltVUFcbnZNbU9sb0ZPQ0VmZ1gvb1RWNHRuenRJQTM4elEzclovMm9RdUxZd24wUWlwcnlqZnhwVEo5WDd2aEFZeWVkSkxWRmFXNklpd1VmdWZcblF1UFFzcnJ5UXZtc0MyMHdwVXVMNWJ2YUh3bnJ1ZjVMZ1hvTGxPekxBS2dCWHRPNThtZmYxckFzVjd3QU90ejNiSmx1cStWQ05LSjZcbld6QkxVWUZqanBuNHhaUDRmYkx3ZElyZlg4MDNYejJ2SytZYk5MSTZXakFmQUZ0MUJFejJhMzE5V2p4RmtSSVdCcGJwaW5tWmZiUytcbjNsOVkrL05vOUltT1JPQ0I1OHVjbnQ3aW1maURqK256dEFML0FGNWtqOVFQb2NFOHBYTnlaV1dKQ2ZkMWkrWEwvejFHWlVXeHJoaDVcbkFNNm9SVTBlanRrWTNzeUtZSFJhQmJjRUp2bW42Z2IraFZBQm5mV3lQd01nRDdWLzVwaXZwdnVZOUpOa25qbkJ3QlpLTmNvQUVKd3hcbkRvM0tnS0RTMTRxMmlTdTBzV3pidXA1SkU3VlgvL09Ccnd5bzAxSjVHaFVQNDVpSi9pbUVuSzhoV3l3RjRhMG1qS2NQZ1B4OS9VRkRcbkV0c2ZRcU5OS3NDZkh5K05lbytBNXNhS2RVRVdyTkJldUwrSXF2OHNPTU1HL3FZaklCRHc4Y0U3ZHhsU3ArWHc3cHQzRWd4cWU3L3Vcbkk5cWxFWnMzMjlHTUg5b2VLV042clZiNTVoYkpBdjIrQ2hIZ24vdjdvNFlZQU9zQXJRNGNhemVHZVBaZHJSS0dMWTdaUzJwMVJmaUFcbnh3Mm8wdEw1SHpCWFI4QzhPZU5adkZDcjNYcUxZdUg4cjFpMHdIRm44cDNNUXpyL21lQkpRTXNWT2ExMkptV1I2SmZwYlU3a2h3cDBcblJYeENBMkpmR2xyYTdoOW9lZ0VlZTYyY3pkdWtDMjFES1M3VjJ2c0JsY2FwWFR4QXdFWjV3YlI0OTgwL0V3cHFHM1hObmxBb3dBZnZcbjNHMUMxTDNJNnQ4RXBXakd3Z1R0SUYvNXZ6T2tUc3VnMnRaS0lZN1F3SGRXUXcyQTljQWJUclVCcVBiWjNQV2syZnJrelpsVzZWcGxcbmg2dG9nUHRIYURCZm9GYVVqdG02WlMzZmZDM2hHUHRqNHZpbmRqUTEwbUlXc3ZkdmtxY0FyV2p1cGNHVnJBM2xtZEdtQlpCc2FmV2JcbmVSOW8wQjVDWTJhWmY2QVpUZjdaNUJxK2pGRzc0S2JPMFA1YVpaUWZCN1FhQndpN29SMExBUEQ1eC8rZ1lOTktBK28wVHdvTFZqUCtcbjg4ZE1pTklxR3lqc1JSbHFLMENMejMxZkU3QWxJYWtoZEhaM2RIcHFBT1g5YWhDTk1RQTJvSmtXQW5ETFA3ZFRXcUh0M203MkhEWTRcbm1lNmRQVTVPM1licy9VZURMOUZzSlJzTStubjl2emRqMnpMKzl5UVNDZk9mRjY0M0VmajNBNkFkUUNEc3hWTm8xZ1VvalpReHlUL1ZcbmpEYk5uQ0hlZ1U1UGZRbmxzVzhRalcxbVB4TzRGbkRjRDdIYVoxTllGT2JNNHhLalVVcWk0cktnZGFhTEw2YzIybU55QytvNUNlWlpcbkFQeUd4aG5PdTdHOVpCTnBhVm4wNlR2Q25GYk5nSWxmUE1WUDA5L1RGUk1HemtGem9oTHFwQllvQWM3U0ViSTVYRWhQVHpmYXVMTE1cbmFOVk1hZXRxdzlwd0h1V05DNTRzQmk2Z0VSMWZHMnNBK0ZIdW9ETWFlZDV1TEYwVDVLQUJTZlRybmhqZEFoT1ZJWDJUV0w4NXhOSTFcbkRZNi8vQUM0SjRvcXRYUzJBSjJwcDdGR1ExbTk2bWRHakR5WGpJeTJaclJxNGhRV3JPYkZaNjhoRXRIT0YzOGV6VmdsWVo4c0JrNEdcbnROcEU1b1h6T1N6cElOeFdZNmVmbG9NRjlQSjBaM0Z3QllHR3hkK0hnUE5wNE43L1RwdzhnWVhBYWFnWG9XTituRmZMRldkbWtKcWNcbklQMTJFeERMZ2xPUFRxT2lPc0xjWmZ2Y083TlJMNy9mZ1Y3cEtHRy96QUN1UTZOVFlEZ2NKRy9kZkVZZmN6bVdwUlhzMmVTeDdRalBcblBIRUpSZHZ5ZEVXVm9GNkFFbVFVUFd4VVlhenIySGNuMlgzaXMvM1UyZ0g2ZTNzYlU2dzVrbXFsTU1qYmozWGhqZnZMQ2loQ3Jmd2JcbnZmWGx4QUN3VVZhRzFpQ29xckhKTHd4eDl2R3lGYkF2WEM0NDRjalUwaWZmS2g4VENwR0dhbXU2ODZhVm9LclZYWS9xK0NTVGYvVHhcbm9iSXNUdE1Sc24zN1psSlNNK2piYjZRWnJab29FNzU0Z2grbjFkdXJwREhjQXZ4a1FwQ3dUd3FBcnFqMjRvN1pITjVDZDA4WDJycGFcbm05R3FtWkptcFhLSWQrZ0xVMnRudkFxMEJYSlE4N2FOeXZOL0hyZ1MxYnVrMGVnc3YxOEhydFk0SDRDWDdtL0g1V2M0RGlsbzl0ZzJcbmhLendtRGFIYmY1K2x4L3YzRUNUZG92eHdZVktOZFBhQ25DN3Zkejl3RGYwN3FNbHBzbXlmdTA4SHJyL0JNSmg3WVpoODRBUmlBRWNcbks5b0RxNEEyT2tJeXJReHV6cnlXZEVzV2dmVmlzL1d2RlEvbjdQSVREOUFLMWF4UE8ySld4Ly80ZjJqbWhnTGMvdGgyMW02VVd0SDFcbjRySS8zR1B5QnpYeHkrUWZQeUxBbjlDY2NNTGhJUDk1NGJmVTFtb1YvWEJPSE12aytIeVZ2UERNMVNZbS93aHdJekw1eDVJaUdwRnFcblZoK1ZkaFdmMVV5VWFrMzFZR0hicmlUdm5wN0dFS3BFcy9ia0Qzb0d3RmJnTmwwRnFtdHNydjVyTVlHZ0RJTTZLTXM0SlAvU2VDc2hcbjFNbFA3S2ZUVmtQWVVwakx1Mi9lYVVBZEI4UXgvT2F0MTI0MXNlOFBLajk5dGdsQlFxTjRFYzEyMlFBclE3bk1DbWpWMkdxMmhHM1hcblMzY1ZQeGpWbTZNYmhya1FHQVlNMEJHeXBUaE1iUkRHSEo2aXFVN3p3YkpzT3psaW4rTHVVcEVYYjEyRWVwa0dYSVRhbTNQTWhyeEZcbjVIVHVTNWV1QjVyUktzSDU2WWYzR1BmWnd5WkVyVWJkZjNFaHhoNGJaUUJjQnlUcENGb1gyc0FBYjE4eVhiSVYvQXMyaGZkVVBEd21cbjJwY3hFWUw4Qnd5NG81OTVwNElwTTQxNE5ab0hFZXNWNzRoTjArS3RockJQYW9EZllzQ1ovdGFydDFKU3ZGRmZvd1JuNjVaMXZQM0dcbjdTWkVSVkNUajBUOXg0OTFxSTZMV29RSTg1SHZDNEsyOW5aUXM4Q3k3WERRRGh3YmkydVpTTVNzUUZXZjB5b1FZZHN3WmFhZkMwOUtcbkoxT3ZEbjZUeDRMODlPRWJqNCszSGtLRHlFTUZSV2xWOWdrR2ExbXplaGFqajc0VWw2dDU1a2NIZzM0ZWYrUmNTb3FNR0RwUG9USmZcbmhQZ3lHeGdEZE5jUlVtM1hVQm9wNTBCdmZ6TmFOV0VzeS9PWGV5c2VIUitMYTVtYWFWL0RRUE9Ob3UxaHJ2aS9Zb0toRmh3UFlCSDBcbkJWS09pTGNhUXFQNEM3QldWOGo2dGZQNDZEM3QyS3FFNWQwMy84eUc5UXROaUZxUGdaV25ZSVFJS2h1c1dsZlFvdUJ5NWdVV2F5dlVcbnhQbjU3dkovL0R0V0Z6TzUxSmlHY3NscGJlUnYzaG9tRUdpNThRQnVOemRralZnM05kNTZDSTBpaU1yRHZRTE4wTHExdVhNNG9Pc2dcbkR1aWlGVmFUY1B6ODQ0ZDgrdUhmVFlpS0FHY0QyaTBEQldPVW9xTFNUOUlWbEJ0ZXowQlBYekphWUR5QWhWVWRMRTg1YUNwVFk5WXhcbnlhUUJVSUg2VWw2b0syalc0bHFHOUV1aWY0K1dWaXJZL2liOTBQeGI0NjJGNElqMVFDWXdTbGZRa2tXVE9XejRXV1JrdHRQWEtnSFlcblVwakwwNDlmUkNoazVMMzJMMVFORWlHeG1BVWNDZlRTRVJJaFFtNG9qME9TaHVDeEhEVkRhNUpZMkxZRlo5eGIrOUNLV0Y3WDlHYjdcbko4Q2J1a0pzRzI3NGV3bDVCUzBxdUhkNytxSDVXdFhsaExoek53WlMwdnkrS3A1Lytrb0NnYVlmMzFaYlc4T3pUMXlLMzFkbFF0eGNcbjRBRVRnZ1RqUklETE1kQ0lxU1JTeXVjKzdSM2xKa1hFdHA2L3EvemhiMko5M1doRTIvMEJXS01ycEt3aXdsWC9WMHh0b0FYRUExaDJcbmhKRDdPTXVTZEtZbVRoQzFEYUM5SDVxL2NTbnZ2aEhGK2dBeCtscTkrZXFmMkx6SnlLS21BcFh5SjZIaWljdFdWTGRNN2RHMUpMaVNcbm1TMmtQb0J0c2V5ZWlvZHZqc2Uxb3hGdUhBQitSZ1dHYU1rdkxBcXp2VHpDeWFOVFRlZ1ZGMWFzQy9Mb3F4WGM5MndaRDd4UXpuUHZcblZqSnh1by9TOGdqOWUzaEpTYmJBN2Zwenh2Qzh6K090cTJDRUV0U0w4RXhkUVJ2eUZ0RXV1eHZkZXd6VjEycFBZbEFFNlB0dlgrWExcbi94bUxaL29OS3M1SVNHeFdBOWxvWnNVQXJBMXRvSSszSjFtdVRIMnQ0a0FFbTZYQlZYeGIrd09UL04vemZlMVB6QTRzSkQrOEdhL2xcbnBaMnJMWmFOUHkyemRzaWtpcGx4Y2ZkRjh6VndKL0NvQ1VHdlB0aU9pMDVwV2tFaG9UQXN2bkFIQUFBZ0FFbEVRVlRjODNRcEwzNVFcblNiaWVJcVhaYlZ6OC9ROVpDMjU4c0ZTcnNZYVFrTHdIWEtJcnhPdE40WjYvVGFaN3o0TU5xQlE3Tm01WXpFUDNqVFcxamZFMnF1R0pcbjBEUklRVzJGRGRFVmxPVnF4Ujh5cmlITmFscUx3T0xJZGo2cytZS0M4Slo2LzZhWHB6dWpVMFpjL0ZiVnh4L0dVTFhkaUtZQjRBSytcbkJrN1FGWlNlYXZIOUd6a002dDAwZ2dJakViajhMOFY4OFgyRGFyeEhnR3VBdDZLcmxSQmpXcU1xWldybFJ3TjB6T25GQS8rWVRtcGFcbkszMnRZa0IxVlNuMzN6MmFZalA1L3Jtb3puT1ZKb1FKTWVOQWxCR2czZW1ucjZjblY2VmZpQlhQMnRXTm9DaFN3aXRWNzFCak44ajRcbnpVTUZEaGRHVmFsNmlHYkZuWjFCSVFXNmdxcDlOcGY5dVppcW1xYlI3K1BCbDhvYU92bURlZ2F2b0ZsT1dVZzR5bEE5dXJWRDM3ZHVcbldjZkx6LzhHMjA3OGVCamJ0bm4xNVJ0TVRmNSsxTDYvVFA1TmoyWEFUU1lFclFtdDV6dC8wK2owWEd2WDhuYjFKdzJkL0FGNm9EeGNcbmNTSGFKY2VxZ1Rtb3dDZ3RZMk43ZVlTMStTSE9IWnZZclNPLy90SEhiWStVMHNoM3RRZlY1L25qcUNnbHhJc0MxT1Ixc3E2Z0xZVzVcbnBDU24wN2YvU0gydG9zajR6eC9sdTI5Zk5TWHVKdUJMVThLRW1MUFRBelpNVjFCZU9KOHVuczYwYzJsMUlJNHFOdkNSYnp3Yndwc2FcbmUyb3ZZQ1lHaW9rMWxsalVITjJJV2dXTjFSVzBjbDJRckF3WEk0WWs2MnNWQlRZVWhEam41aUo4ZmtjcnRiNm84cVl4S3dJaHhJUlpcbndHQmdrSzZnbGN0L29QL0EwV1MzNzZhdlZSUllzV3dhcjcxeWt5bFB4UWVvdEVxaGFUTVpGUkRiVVZmUW10QTZobm9Ia1dJbDV2dC9cblJ1MXNaZ1RtNm9pSWVTQjRySXJ1UDRvaFMvNmVaOHFZdWJqV2hDaWoxQVpzcnZpL1lrb3JIRzlUZURGZ0tRc0p5YlhBS2wwaDRYQ0lcbkY1NitpckxTdUd3WDdwUHQyemZ6d2pOWEU0bUVUWWhiRFZ4dlFwQVFkMnBRVzJIYTJ6ZzF0by8zYXo0bmhKRXhacFFONFUxTThrL1ZcbkVhR2ROZUdFV0JrQU5uQVZzRUZYVURCa2MrWC9GVk8wUGJFR3dWK2VLR1grY3UzRmUvTW8vU2JzU1NXcVFxWjJTSHhGK1RhZWUrb0tcbnd1SEVTWWNQaDRPODlNdzFWRllVbXhEblE5MHIyZmR2UHF6Q2tFRzNLVnpJUk44VUU2S01VVzNYOEVITk9NSm94YWpGNWQwZnk3WjdcbjIxRmZiTzNsZThHMk1OZmNVMUp2ZWwycytmQ3Jhdjc3aVpGS1o2VW1oQWdKeVdMZ0ZoT0NjbGZQTWxWWDN3Z2Z2bnNQcTFmOWJFcmNcbjc0QkZwb1FKQ2NNSHdQTW1CTTBLekdkUmNKa0pVZHBFc1BtdzVnc3FJdHIyYXBrSmZScExyUHVPYmtZWkF0b2xiL00yaDRpRWJZNFpcbkh0K21RU3ZXQmJubzlpS0Mralg4d3NCdHFNaG5vWGt5SCtnSmFDZjE1NjZaUmJmdVEralV1WisrVmhyTW1mazVIN3hqYkt2K1plQ2ZcbnBvUUpDY2Uzd0lsQUYxMUJhMExyR2VUcFI3b3J2a0hoMy9xbnN5QzR4SVNveWFoUytqRWxsaDZBbmJ3QXZHdEMwR092Vi9EeHBBYW5cbjJ4bW51RFRDaGJjVlVlMHpFdlQwRlhHeUFvV1ljaVBLRzZDRmJkdTg4c0p2eWQ5ZzVPWGppTHoxQzNqMTVSdE1pWnVMSVErSmtMQUVcblVGNWc3YjJpZ0IzazdacFBxTGJqOS81ZkVsekJ0Tm9acHNTOWIwcFFZNGlIQVFES3phZnR3N0Z0K1AzZlN2aHBmdXlEQW4yMU5oZmRcblhzVDZUVWJLOTRlUS91WXRoUnJnUEtCY1Y1RGZWOFhqajV4SFNYRyt2bGFOcEhSN0FjLzgreEw4ZnUyMkI2QzJ2b3hzRHdvSnowWlVcbmZSanREZHp0a1RMZXJ2NkVvQjM3RmlwNW9YdytxWmxncXFYR1RHQzhHVkdOSTE0R1FEWHFKYWk5Y1ZJYnNMbjRqaUxXYkloZFVGUWtcbkF0ZmRXOElzYzlrSTl3TUxUQWtURXA1Y1ZHME03ZmRIV1draFR6eHlIalUxMnZaRWcvSDVLbm5pa2ZQWXZuMnpDWEUycWhMbWVoUENcbmhDYkJKTUJJRUV0K3VJQ1BmZU94WTlYZENsWG05OTJhendpWjZkMVdqaXB6SFplSXRsakhBT3hLQ2JBY1ZlbExxOGFqdjlabTBvOStcbnpqOHBqZlRVNk5zMGR6MVp5dHRmR0ZuNUFFeEVGVHhKL0RKdmdrbFdBK21vSHVwYVZGWVVzMjd0WEVhT3VnQ1hLN3BmNlhBNHlOUC9cbnZwamNOYk5NaVh3SWVNbVVNS0hKTUIyVit0WlhWMUJScElSYUF2VDE5TkxYYWovVTJENWVyWDZmQ3R0SWtvcU44b2I4YUVLWUUrSnBcbkFJQktEMmtOYUpjM0s2dU1NR05CTFJlZGtvN1hFNzJhMFM5OVdNbERMeHRiYmVXaHFzVEZieU5MaUNmZkE4ZGlvRjlBY2RFR1Nrc0xcbk9lUXc3ZmphZXJGdG05ZGV2b2w1Yzc0d0pmSmI0TGVJOGRzU3NWRzlZaTRHc25TRjVZY0xTSE9sMHRYZFdWdXgrZ2phUWQ2by9wQXRcbmtTSlRJcDlFRlgrTEcvRTJBQUNtQU1kaDRDVllzQzNNMGpWQnpqc3hIVmNVYklDdmYvVHh1d2RLR2x2bXR6NXFnVk9JUS9sSElXR0lcbm9JSS9Md1cwZTU1dXpGdU15KzJoLzBCdHAwS2RqUHYwWDN6ejlRdW14RzFDUllRYnlaOFZtaVErNENlVUM5eWpLMnhOYUQwNTdnNjBcbmQ1dFBxYmV4K2REM0JibWhQRk1pWjZKVy8zRXRhSk1JQnNET2wrQmxHSGdKNW00TVVWVWRZZXdSWnR0SHpsOGU0UHcvRlZGckx0VGdcbmo0Q3hwWlRRWktsR3ZReXV4TUQzY2VYeTZXUzM3MGEzN2tPMUZkdVZtVE0rNXQwMy8yeEtYQkJWSG5hbEtZRkNrNlVBUTZuaEFDdERcbmEranQ2VUdXUzNzcTJZMkovaW5NRHhqTHVOa0dIRThDWkgwbGdnRUFhaFV3SDJVUmFXL2l6MTRTb0UwckY4TUhtNmtablZjUTRyVGZcbmI2T3MwbGljeGdmQS81a1NKalI1OGxIMUg3UmJad01zV2pDSlBuMUgwS0ZqVHhQaVdMbmlSNTU3NmdvaVlXUFIxcmNoamErRVg1bURcbm9mb1lFU0tzQ0s1aGtMY2ZhWmFaUmVDTTJqbDhWMnVzRzJFRUZRQy8wSlJBSFJMRkFBQzFIeDVDV1ViYVRKbnA1OEErWHZyMzlHckpcbnFhaUtjTWFOMjhnck1QYnlXNFZhL1VqVEgyRlhmc1pRMHlEYmpyQmc3cGNjTk93a3NySTZhTWtxMkxTU2YvL3JMR3JOcFBzQmZBVGNcbmFVcVkwR3lZaFBJQzVPZ0tDaElrTjVUSFFVa0g0clgwZGhaV2huTDV6RGZSWkpES3ZjQWI1c1Rwa1VnR0FLaG95SU9CQWJxQ2JCdStcbm11NWp6TWhVT3JkMzlqRnJBemJuM2xKa29zYi9Uc3BSWFJFTFRBa1VtaFdUZ0hPQWJGMUJvVkNBeFFzbmMvaW84MGhKeVhBa282eHNcbkN3OC9lQnJsNVZ0MTFkbkpNdUFzeFBnVjlpWUVURVY1Z2JYTHU5YllQdkxEQlJ5VU5BaVhRNmR5ZnJpQXQycytJV3h1bTM0ODhBY1NcbktPZzFYblVBNnNNR0xrSHRpV3BUNDdjNTk0L2JXSmZmK05XN2JjTWZIdHB1c3NoUUVOVVZTL1k5aGZvb1J3V0dHcGx4UzRvMzh1U2pcbkZ6Z3ExaE9vcmVIWnh5K2hwSGlqQ1ZVQXRxQldlTkxrUjZpUFZjRFpHQ29JdFQ2MGtVOXF2blEwMjVaR3luaW4rbE9DdHJHZ3IvbW9cbllOOEU2V0NqU0RRREFGUms2SmtZaW80dktZdHd3VzFGbERXeVRlOER6NWZ4L2tSamJrOGIxUTFyc2ltQlFyTmxQWEE2S2poUW13M3JcbkYvTEMwMWNTYnNUK2ZTUVM1cVhucm1WdHJsWnY4MTJwUWIzWXRidUJDczJlYWNEVkdGb2xMdzZ1WUlwL2VxUE84ZGwrM3FqK2lDcmJcbjJQdC9NOHJ6bFhBWkw0bTJCYkNUR3RSa2VTbWdIY2xSVWhaaDFwSmFMandwSFk5Ny8vbUJiNDZyNHA1bmpBWm8vZzE0MnFSQW9WbFRcbmdPb1hjQkVHalBTdFc5WlNYcmFWWVllZTJxQy9mL2ZOdi9EVGRHT2x5Y09vejVGWVBWeUZSR2Jwam4rUE5TRXNMNXhQcGl1ZEE5eWRcbjl2dTNZY0s4WGZNcG04TmJURndhb0FLMTdidkdsRUNUSktvQkFLcGh4TThvSTBBN1J6Uy9NTXk2L0JCbmpVbkQyb2NOTUhtR24ydnZcbktTWmlicGZtUGFUSmlkQjRWcVBTaFU0M0lXekQrb1VrSjZmVHQvKythMjU5OWVYVGpQLzhVUk9YM01tZmdMZE1DaFJhQkQrZ2FzTm9cblp3WUE1SWJXMDhYVG1YYXVOdlgralExOFdqT0JGU0ZqYzNVUXRmSTMxaXZiTklsc0FJQnlHVzVBdVErMVMvc3NYeHVrckRMQ0NVZWtcbjFta0UvRGkvbG92dktLTFdYSWpTdDZoOS83Z1dleENhTEhPQk5oaW9sQW13Zk9sVTJyVHRUSStlZGI5VHAzMy81bzVjZjJQVzcrT29cblVyK0M0SVNKd0NoQXU4YXZqYzJLVUM0OVBGMXA3V3BWeCs5aHZHOFM4NExhalRwM0ZYa044RDlUQXFOQm9oc0FvRnloTnFwYW9EWnpcbmx3Yll0RFhFY1NOU1NmTCthZ1Y4OFYwTmwvMS9lM2NlcFVkVkpuNzgyM3U2czZlemh5VUVFb0pBa0IwY1JtUWRVVkFVa1UxQkhVY1JcbjNNYmQzNnpPaUFvNkRzNk1oeGwxUkZFV1dSUkVpTElJSWlvaUF5UXNDUW1FbmV4cmQ5S2RYbjkvWENJWU8wdDNMYmZxZmIrZmM1NXpcbmNrNU8zL2ZXZlorMzZsYlZYVDZ6aWszcGJPMEw0VEdXeS93cXFkdUFPY0EreVl2cVo5NkRjMm1vYjJLdldZZFJVeFBlTHZUMzl6UDNcblo5L2dxdTkvaHY2VWxya2s3RzMrUVFvMDRsbWwwd2ZjUkhnS2xtdytLK0h4L2lQZEM1bFkyL29ucXdWMjkzZnprNDY1UEpEZXhSL0NcbkJtLy9tV2FCV2NodTBmeDAxUURmSlF3T1NjV1VDWFVjY1VBVGpRMDFMSDYyTzgycGZoRGU0UjVCV09CRlNxb0YrQ1Z3ZUZvRlRwNHlcbmsrbDdIQUExTlR5ejVHR1dMVTMxRmVYdkNPdDVkS1JacUtyV2JvU1pZVHQraWIrVGRxMmJTbXZ0T0hybzV0bWVGMm5yVDNWODNuZUJcbnYwNnpRRUVENFc2b3YrQ3hBVGd3b3paUTlScFBHQmNRTzc5M0ZFK1J3dDJhdEpXRENGTklZK2YzanVLWFFHTkdiVkQxUmdIemlQOGxcbmJ5dDZDRk1ZcFN6c1NSZ1lHRHZQdHhXcmdMMHpPM3BWdTVNSUErdGk1L20yNGxIQzdyYkswRFRDby9YWVgvWkFjVUdHeHkwQkhFVjRcbnRCNDcxN2VPemFRMFRrZmFqaTNiUnhjdFhpUzhxbEFPRHFSNGo0TytsT2tSUzYvWU1yTWtkczV2aVQ3Q2JwNVNIaTRoZnM2L09qYVFcbjBuUkY3YndpUFE3NkVjVmNWVkdWNjdQRXovc3RrZG8rd2RKT3FBRitTUHk4N3llODlqMGwyOFBWdHJ5ZitBbHdENURPdnNQUzRQd1hcbjhmUC8yNWtmcGZUbmhoRTJqNHVkL3gvSytrQzFmUmNUNzh0ZkFJekwvaENsQWRVRHR4QXYvMjhsaFZVNnBTR0tQVFBtb3V3UFVUdFNcbkExeEsvbC8rUW1DWEhJNVAycDVtd2piQ2VlZi9YY0RROWhtVzByTXJjVG9CMzZRODYraFVoWXZJNzh0ZkFFek41N0NrSFdva0xEbWFcblYvN2ZTZ3FiZEVrcG1VeVlncGRYL2wrY3oyRnBzTDVBOWwvK1E4Q0V2QTVJMmttTndBMWtuLzgvSTd4L2xZcGtJcThzRzU5bGZDV3ZcbkE5TFF2QXRZVFRaZi9yWEE2UHdPUlJxVWV1RHZDWFB5MDg3OVh1REwrTTVmeFRVR3VKeHN6djN0d0huNUhZcVNtRXk2ajBSWEF1L0xcbjlRaWtvZHNQK0FQcDVmOGl3cDdtVWhtOGlYUVhpN3NibUozbkFTZ2RaNUFzRWJvSlc1cHVleE5wcVpqcWdVK1NiTUdzTnVEVE9NMVZcbjVUT2FNRGk4aDZIbi8zUEFtVGpZcjlUZXd0QVRZRzZFK2twcFNqSTQ5Z3NSNml1bDZWYUdudituUnFodnJxcGg5YnIrQkgvYm5Wb3RcbnBEaDZFL3h0VDJxMWtPSklzczk3a210SEtWUkRCMENTSkczRkRvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElcbkRvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtcblNWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElEb0FrU1ZYSURvQWtTVlhJRG9Ba1NWWElcbkRvQWtTVlhJRG9Ba1NWV29Ham9BZFFuK3RqNjFXa2h4Sk1saDgxOWwxNURnYjVOY08wcWhKbllGTWxBUEhBQWMvM0s4SG1oTVVONFNcbjRBN2dOOENkd0l0Skt5aGxhRGh3SkNIM2ozcjUzMFB0NlBjREM0QjdDYitCMjRGMUtkUlJ5c29FNEEyRTNQOEw0T0FFWmZVQ0R4Tnlcbi93N2cxOERtaFBWVFJnNEd2Z0dzSkp5NHNvaGV3c253QThESWZBNUwycUU2d2dYL0NtQWoyZVYvSjNBemNEcko3cXlrTkRVVGN2Sm1cbm9KdnM4bjh0NFRkMlBKVjU4MXc2emNCSGdNVms5NlZ2SzlxQWJ3RjdabjZVMHNBbUFCY0JLOGcvLzVjQi93cU16L3dvcFlITkJMNERcbnRKTi8vajhCWEFnTXkvd285V2RHQXA4aG5JVHkvdUszamg3Z2g4QyttUjZ4OUlwcHdMOFQ1OFMzZGJRRFh3T21aSHJFMGl2MkI2NGlcbm5IdGo1LzlTNEZQQWlFeVBXSDkwQ3ZBYzhiLzRyYU9YOEhpb05idERWNVZyQUQ1R2VQb1VPOSszam8zQVA1TnN2STIwUFdNSXIzbUxcbmNPSGZPbDRDenMzdTBEV0xNQkFqOWhlOU00bHdWa1p0b09yMUJ1Qng0dWYzam1JK1lRQ1dsS1p6Z2VYRXorOGR4Yy94dFhEcTNrdTJcbmc1dXlpS3VCVVZrMGhxcEtQZkJsb0kvNE9iMnowUXY4QzFVd2pVcVpHdzFjVC95Y0hreTBBZS9Lb2pHcVRUTmhvRjNzTDNTbzhUUndcbldPcXRvbXF4QzNBUDhmTjRxSEUzTURYdFJsSFZPSWc0QTd6VGlpc0kwM0kxQkZPQWVjVC9FcE5HQi9EMmxOdEdsZThReXZISWMwZXhcbkZIaHR5bTJqeXZkT3dyVFQyUG1iTlA0UG1KUnkyMVM4UFNoM3oyL3I2QUhPVDdXRlZNbU9BZFlUUDIvVGlqYmdoRlJiU0pYc0FzSnJcbnBOaDVtMVlzSVV4WjFFNllRekdtOTJVUi95L0ZkbEpsZWh1VmNlZXpkWFFBYjAyeG5WU1ovcDc0dVpwRkxDVk1YOVIyekNDTW9vLzlcblpXVVpIMCt0dFZScGpxRXlMLzViWWpNK0NkQzJYVUQ4SE0weVhpSTgzZFlBSmhCV1Y0cjlKV1VkdllUM1c5S3JIUUpzSUg1K1poM3JcbmdRTlRhak5WanJPb3JNZisyNG9uY1V6QW54a0dQRUQ4THlldjZDUnNWQ0VCN0VhYzVYeGp4VXM0TzBDdk9Ccm9JbjVlNWhYM0FVMnBcbnRGeENSZG5RNERJeUhpUTNabGd0aCs4eWpOa1RHcGpWMnNpSXhocmF1L3JwN2V0bmVHTXR0VFh3ekxvZW5salZ4Zis5dEpuRnE3dXpcbnJBN0FDNFE3b1ZWWmY1QUtyUUg0RldIWHZzeE1IVm5QNGJzME1iTTE1SDlkSGJSdjdxTUdHTkZVUjNkdkg0dFhkN040ZFRlL2U3NlRcblplMjlXVllId2pFZlI3anJVL1dhQ0R4RXhoM0NXZU1iT0hCS0U3UEhOeko5VEQzOS9kRGUxVWRkYmMwZnJ3V0xWbmV4Y0dVMzk3M1Fcbnlmck92aXlyQS9DZndFZXovcEFkS1VJSDRBemdtaXdLbmphcW5yUDJIOEdwK3d6bmdNbE4xQTdpYUY5cTYrRzJKenU0ZW40YnYzbXVcbmsvNHNLZ2h6Z1pNSmk3eW9PbDBDZkRxTGd2ZWQyTWk3RGhqSlNUTmJtTms2dU0zN0ZxM3E1cFpGRzdseWZqc0xWblpsVVQyQUx3TC9cbmtGWGhLcnhhd2pud3hMUUxyZ0dPMm4wWVo4OFp5WWw3dFRCNXhNNnZTZFhiRHc4djNjeU5Delp5elNQdHZOVFdrM2IxdG5nSGNFTldcbmhlK00yQjJBWFlGSFNYbkZ2SU9uTnZIcG84Ync1bG5EQjNYUjM1YkZxN3Y1K20vWGNjMGo3WFQxcHQ0VitGdmcwclFMVlNrY0I5eE9cbmlyL0RHdUNrV1MxODZpL0djUGd1Nld4VTlydm5PL25xdmV1NDdjbE5hWGVFK3dnREgrOUp0MWlWeEtlQXI2WlpZR05kRGVjY01JSy9cblBYSU1lNDVMdm1OMVh6L2MvTVJHTHJsM0hROHYzWnhDRGYvRWVzSW1jaSttWGZET2l0MEJ1SUVVRjhuWlpWUTlsL3hWSzIrZG5jM2lcblMwK3Y3ZVpUdjFqTnp4ZHZTclBZTm1BZklpYUJvbWdpckpzL0s2MENENXpTeERmZU5KNkRwMmJ6ZXZIM0wzVHk4Ym1ybUw4czFTY0Ncbmp4RmVoV1gremsyRnNodGhiNHZVVHRadm50WEMxOTQ0bnQxRzE2ZFY1Sis0NGZHTmZPNjIxV2svRWJpVzhCUThpcGhyZFo5RWVBU1lcbml2Y2ROSXByejVqRW5FblpqYTBZMjF6SEdmdU5ZSjhKamZ6eTZRNDI5NlJ5UDlSRWVCSnlYUnFGcVRUK0grRVJZR0lOdFRYODYzSGpcbnVPd3RFNWsyS3B1VEg0UU85bnNQR2tWemZRMi9mcmFUdm5RZUIwd2tkSUovbTBwcEtvdkxDV3UrSkRabVdDM2ZmZHRFL3VFTjR4ZzlcbnJEYU5JZ2YwbWdtTnZPK2drYXpZMk11ODlEckIreEp5ZjBsYUJRNUdyQ2NBallUZVgrSmRrMW9hYXZqbXlSTjQ1Mzc1YnNmODlOcHVcbnpybCtCZk9XcGZaWTZIamd6clFLVTZGTkorUi9jOUtDcG82czU4clRKM0hZdEh3SEZmLzIrVTdlZmYzeXRBWUx0Z043RTJZSHFQTDlcbkZXSFh2TVFPbXRMRWxhZFB5dXl1ZjF1dW10L0dSMjVaUldjNk40R0xDQjJCekFZYmJFdXNKd0R2ZVRrU0dUMnNscCtjUFlVM3pteEpcblhLSEJHdHRjeHhuN2orRGhaWnRac2phVjcyMG04TDlwRktUQyt3cHdSTkpDWm94dDRKWjNUMkcvaVkwcFZHbHdkaDFkejZuN2pPQzJcbnB6YXhwaVB4R05aR3dzM0liY2xycGhLNGd2RFVNNUdqcHpkejB6bVRtVEE4Lzh2WS9wT2FPR1pHQ3pjdjNFUkg4azVBSy9BVVllK2JcblhNVjRBbEFITENEaDJzaWpoOVh5aTNPbnN2K2svRTkrcjdhNXQ1OHpmclNjMjU5S1pWekFHd2pUbzFTNXBoSWU5eVc2WmQ5N2ZBTzNcbm5UZVY4UzF4ZDl4ZHNiR1hFNzczRWsrdVNmd0tmeU5obGJTVnlXdWxBanNPdUNOcElXK2MyY0xWcDAraXNTN3VNTGFIbDI3bXBCOHNcblpjUG14SjNnaFlTbkFMbk9DTXZ1aGNtMm5VN0NpMzl6ZlEzWG5URTUrc1Vmb0ttdWhpdFBuOFNoNlR5Qy9mczBDbEdoZlpLRUYvOXBcbm8rcjU2VGxUb2wvOEFTWU9yK09uNTB4aHlzakVkUmxPbUJHanlwWjRQNVFqZGhuR0QwNkxmL0VIZU8yVUpxNDlZeExENmhQWFpUWXBcbmpRa2FqQmdkZ0F1VEZ2QnZieHpQWCt5V3poU25OQXh2cU9IYU15WVBhcTdwTmh4UFNBUlZwbUhBKzVJVTBGQmJ3dzlPbThndUdRNzJcbkc2emR4OVJ6OWVtVGFVZys1L2FERkdTRk5HVmlGbkJza2dJbURxL2p5dE1uMGRJUS8rSy94Vi91M3N6Rko3YW1VVlRpYStOZzVkMEJcbjJKT0VTK0Nlc2Y4SXpqdHdaRXJWU2MvRTRYVjg1OVNKYWF3NzhPNFVxcU5pZWlzd0pra0JYengrWEdyeis5TjA2TFFtL3ZHWXNVbUxcbkdVZVlIYVRLOU40a2YxeGJBOTk3KzhRMGJyUlM5LzZEUjNINnZva0hvdjhsT1c4V2xIY0g0TjBrR0hjd3JybU9yNmJUMDhyRU1YczBcbjgrN1hKdTZjdklzNFQyYVV2WE9UL1BIQlU1dTQ0TERSYWRVbGRSODdjZ3dIVEU1OEEyOEh1RExWQXVja0tlQzlCNDdpNk9tSko4NWtcbjV1c250ZEthN0xWY0RUbm5mOTRYbWtRSjhNWGp4aVZ0NE16OTY3SGpHTnVjcUZsM0E0NUtxVG9xamdra1dQSzB0Z2IrODgzalUxblpcbk1pdDFOWERwbThZbkhWbDhNbERjWG82RzZtZ1NqUHdmMTF6SEY0NGRsMkoxMGpldXVZNS9TdjRVN093MDZyS3o4dXdBekFEMkd1b2Zcbjd6RzJnWE1PeUhldS8xQzB0dFJ4WWZLN05QZE1yenpIQWtOK2NmL1cyY1BUdUx2TzNHSFRtamhwVnFKcHVZMkVpNFVxUzZKejJrZU9cbkdKMzB4aW9YN3psd1ZOSWxpUGNtckJPU2l6eGI5QTFKL3ZnVHJ4dE5mWkZ2ZjE3bGdzTkdNN0lwVWRNbUdpaWpRam9teVI5LytxaEVcblF3ZHk5Wm1qRXQ4RkhaZEdQVlFvUTg3L2tVMjFmUENRVkxlTHlVeGREWHpzeU1RM2dJbk9GWU9SWndkZ3lCZTFFWTIxdWEvMGw4VG9cblliVzhZOTlFUzF3ZlJzb2JKQ202SWYrb0Q1M1dWSXE3L3kwT25kYkVuTW1KcHVqbWRnSlVMa1lDQncvMWo5KzU3NGhNbC9oTjI1bjdcbmoyUkVZNkw2NXBiLzIzb2tPUXM0bExCT2QxcVQ3WWM4dXZmVWZZWW5iZERjbmJYL1NDNS9zRzJvZjE0UGZJMndPcFRLYnpnSk52MDVcbmUwN3hacjNzeUZuN2oyVCtzdFZEL2ZQOWdIOEVVdDkrVFZIc0JRejV1ZmhaYzhwejh3ZGhXdmdwczF1NGVuNzdVSXQ0TS9EWmxLclRcbkJhd0FIZ0NlMlBvL3QrNEFIRXRZcHZUUWxENDhGYWZzbmY5U3YwbTlicmRodExiVXNYclRrTmRLLzVzMDY2UHlPcm1FK1gveTNpMThcbi92WWhkd0JxZ0Mra1dCMlYxSVRoZFJ5eGEvR212ZTdJeWJPR0ora0FqQ05jaDlQMkFQQTVYclhuekt0dnEvK0pzRVJqb1M3K2RUVndcbjFPN0ZuZnF4TFRYQTYzY3ZYK0txV0dhMk5qQjFaSEVXL2RsWk04WTJzUHVZOHRWYnhmS0c2YzNSOTZ3ZmlxT25OeGR4eHM0aHdPMjhcbnFuTzlwUU53SWZEUHhOc2RjSnRtVDJoa1RJbmUvN3pha1FWYXJWRGxWTWE3bnkzS1hIY1Z3Mkc3bEdmc3k2dU5iYTVsOW9UNFM5VVBcbm9JYndldTBqRURvQXV3S1h4S3pSOXN4cVRUU2xJcXE5V3d1WkFDcVIyZVBMblAvbHJidUtZZS94NVQySEZqei92d0xzVmd1Y0R4VDJcbkplT01zWVZ1eE8zYXE5Z0pvQkpJT0tjNHFqTFhYY1ZRNWh5YVVleTZ0d0FmcXFYZ2EyOXY3azI4MTNJMDQwcXdjSVdLYlZTeTlTU2lcbkt0dk1IUlZQbWMraFhUMkZ2M2FkVkV2Q3JYbXp0ckU3MSsyUlV6WGNFNkFTNml6K1NXU2JOcFc0N2lxR0l1MzZOMWdsdUhidFZVc0JcbkIvNjlXbitKenlHRmJsaVZRbTlmaVg4QVVrSTFOV1UraXhhKzdyVzF3Tk94YTdFOUxRM2x2WXZlMkZYNEhxQUtycm5FK2Q5Y1gvZ1Rcbm9BcHVVNG5Qb2MzRmYzcnhkQzFoN245aGxma3grdHJPOGlhdmlxR2p1N3hQQU1wY2R4WER1aEtmUTB2UUFiNmpGcmdNNkk1ZGsyMTVcbmRsMWhxN1pEUzlhVXQrNHFocWZXbGplSGxwUzQ3aXFHcDB1Y1E4K3M2NGxkaGUzcEJpNnJCUllCWDRwY21XMTZZbFY1RTJEUjZ2TFdcblhjV3d5UHhYRlh1aXhEbTBhSFZYN0Nwc3oxZUFoVnVlci84TDhPMklsZG1teDFkMDBWN1M5MEMvZjZFemRoVlVjbjk0c2J3NWRMLzVcbnI0VCs4R0k1OTROcTcrcGp3WXJDZGw3K2w3RHk3eCtYQXU0RFBnQ2NCendmcDA0RDYrN3I1NzdueTVrRTl6empDVkRKUExxOEs4bUdcblV0RXNiZXRsY1ludjNsUU12M3E2STNZVmh1VGVaenZwTHQ0TW5oZUE5d0R2SjF6ei8ydzN3Q3VBSzRHakNSc0hqRXZ4d3ovRUVQZTRcbnYyWFJSbzdmczF3YkFqMjBkRE12dFNWNkIzUXRCWitob1owMkhQandVUDZ3SDVpN2VCUHZPcUJjV3dMZnVuaGowaUwrQXlqbjJWOWJcbm13R2NQcFEvZkdGREQvT1hkVEZuY3JtV0JKNjdlRk9TUDk5QUdKdVhsclhBSDRCN2dEKzVLQTIwWFZjdjhNdVhJMDE3QXU4WXloOWVcbjkxZzdYem14bGFhNndvK3EvS01FVzBGQytBNCtCS3hKcHpZcWdKT0I2VVA1dzZ2bXQ1ZXVBM0RWdkVUNXZ3ajRXRXBWVVh6amdOUDRcbjA5MW5kOXJWajdReFozSnJ1alhLVUZkdlB6OStQRkVIK09lRWJYc3psK2NjdXlGM0tOWjI5SEhUZ3NSM0ZMbloxTjNQang1TmRBSjhcbkdDLytsZWF1b2Y3aHI1L3Q0TWtTelNoWnNMSXI2ZmlYdEc4K0ZOY2F3amx0U0s2YTMwNUhpVmFWdkhIQlJ0WjBKSHB0bDF2KzU5a0JcbkdQSUpFT0RydjExSFdWTGd1dzl1WUZXeTk3WjNwbFVYRmNhUTg3K3ZQK1IvV1Z4eWIrTGZxdmxmZVlhYy82czI5Zkw5aDlyU3JFdG1cbitvR3YvU2J4YnpXMy9NK3pBN0NRQkFNTUgxbmV4WTBsZUFyUTN0WEhwYjlMbkFDRlhweEpRM0luTHcrOEdZcXI1N2Z6VkFtZUFpeFlcbjJjVU5qeVYrL1hWM09yVlJnU1E2cDMzOXQrdllXSUtGcFc1NHJKM0hWaVNhL3ZjTThHUTZ0ZG14dkpmWnV5YkpIMy91dHRXRm54SjRcbjBhL1dzclF0MGQzL0NoSStMVkVodlVRWWhETWtYYjM5Zkh6dXFoU3JrNzUrNEJNL1gwM0NEVHh2QjRwOW9CcUtPNERsUS8zakZ6ZjBcbmNQR3YxNlpZbmZTMWQvWHgrZHNUdjdsTmRJMGNyTHc3QUZjaytlTVhOdlR3aGJ1S213UVBMdDNNWmZkdlNGck1WV3cxVWxNVkkxSCtcbi8zSkpSOUxCcFpuNi9rTnQzUE5NNG9IN1AwaWpMaXFjSHVCSFNRcjRqOSt0NStHbHhaMFMvbzkzcmtrNjh3dmdoMm5VWldmbDNRRjRcbkZIZ29TUUdYM2IrZW55NHMzcXVBOVoxOW5IdkRpalRtZmlhNlNLalFiZ0FTelEvNjJLMHJDN2s2NW9LVlhYejZGNGx2M051Qm0xS29cbmpvb3BVZWV1dTYrZmQ5K3dnZzJiaS9jVStKWkZtL2pXQTRsdi92NFBlQ3lGNnV5MEdEdnRKSnJmMkErY2YvTktIay8ybmlWVjNYMzlcbm5QZmpGV21zVzMwL0NUdElLclFOaEhVMmhteGpkejluWDcrY3RSM0ZPUW11MmxBeXdsNEFBQkV6U1VSQlZOVExtZGN1WjFQeWQ3VGZcbkI0clh1MWRhSGlETVJ4K3lKV3U3ZWQ5UFZ0QlRvRVYySGxuZXhWL2Z1Q0tOUWVyL25ieUl3WW5SQWJpQ3NDTFJrSzN2N09PdFZ5M2pcbjJRSnN0dEFQWEhEekttNS9LdEdOM1JaZlRLTVFGZHJGSkh6RnMzQmxGNmRkczZ3UWc2TGF1L280N2VwbGFVeFQ3QUl1U2FGS0tyYUxcbmtoWXdkL0VtUG56THFrTE1DbnRtWFErblhyV1V0dVJQSlo0bnd0UGZ1cncva0RES3R3OTRZNUpDMnJyNitQR0NkbzZiMGNMRTRURU9cbkEzcjYrdm53ejFieHczbXBURkdaQjN3eWpZSlVhR3VCdllFNVNRcDVjVU1QZHkzcDRDMnpoOVBTRUdmTDdMVWRmWngyelRMdVQyZTlcbjlzdkorZjJub2xnRXZCMllsS1NRK2N1NldMSzJtemZOYXFHdUpzNENjUXRYZG5IeWxVdDVLZG1nN3kzK0RyZ3ZqWUlHSTliU2VpMkVcbnFRNVRraFkwcnJtT0g3NWpJa2RQejNlcDROV2Jlam52eHl1NEs3MjFxdDhPL0NTdHdsUm8rd0R6R1hnbHprR1pQYUdSYTA2ZnhNeldcbmh1UzFHb1FuVm5WenhyWEwwbHJ2dnd0NERmQlVHb1dwOEU0bkxIV2UyQWw3dG5ENTJ5WXl0am5mVHZDZFN6bzQ5NGJsck90TTVWWGNcbkM4Qk1JUGZOWStMY09vZTlpRjhpTEErWlNFZFBQOWM4MGs0L2NPU3V3NmpOb1RkNDczT2R2T1hLWmN4Zm50bzRoTnNKUFVCVmgxWEFcbldPREl4QVZ0NnVXSDg5clpiWFE5KzAzS1o3MzBLK2UxY2NhMXkxaldudG9tUlpjQTE2ZFZtQXJ2Y2NKK00zc2tMV2pKMm02dWU2eWRcblE2WTFzY3VveFAzcEhlcnU2K2VMZDYvbG83ZXVTbk4xd3I4aFBBSE9YZXpGOWU4RWprMnJzUDBtTlhMcFNlTTVjdGRoYVJYNUo5WjFcbjluSFJyOWJ5MzM5WVQ0cGpVTHFBQXdnTEphbDZqQVFXQU5QU0t2RG82YzFjZXRKNFpvM1A1bW5Ba3JYZGZHTHU2clRHdTJ6eEhPSHVcbjM4Ri8xV1VXNFNsWVV4cUYxUUJuemhuQnhTZTAwdHFTelgzdGI1N3I1T056VjZVOUFQME80SVEwQ3h5TTJCMkEyWVExb2xOSkFnZ0hcbmROS3NGajc3bDJNNVpHbzZ4YTdlMU1zMzc5L0FaZmV2ejJJS3loZUJmMGk3VUpWQ2FvOUN0MmlzcStGZEI0emtFNjhielI1ajAra0lcbkxGbmJ6ZGQrczQ2cjU3ZlRsWENWbndHOEZmaHAyb1dxRkw0RWZEN05Bc2NNcStWRGg0M213c05HcC9aYTRQY3ZkSExKdmV2NHhlSk5cbmFRODg3Q1RjL0MxS3Q5aWRGN3NEQUhBaDhGOVpGSHp3MUNiT21qT0NVMmVQWU1ySXdmVUtPM3I2dWZ2cERuNzBTRHMvZTJKalZwdFJcbjNBZThudkJLUk5YcGNzSWUzYW1xcTRGalo3Unc5cHdSdkhGbUM2T2FCbmN5WE5mWng5eEZtN2o2a1RidWZyb2o2ZXArMi9JL3dQbVpcbmxLd3lhQVR1QlE1TnUrRG0raHBPbVQyY3MvWWZ3ZXVuTnpPc2ZuQ1h1aGMzOUhEandvMWNQYitkaDdKYmZPaDh3bThnbWlKMEFBQ3Vcblk0aGJCZStzdmNjMzhMcmRoakdydFpHWnJRMU1HbEhIaUlaYUd1ckN0TUsycm42ZVh0dk40dFhkUFBEU1p1NS9vWlBPYkhlZ1dnTWNcbkJEeWI1WWVvOElZVDFuOTRUVllmVUZjREIwNXA0dkJkaGpGemZBTXp4all3cnJtV1VVMjE5QU50bS90WTA5SEhrclhkTEZyVnpYM1BcbmR6SnYyZWFzTHZwYnpBT09JTUxBSnhYS0hzQ0R3SmlzUG1CWWZRMkg3ektNZzZZMk1hdTFnVDNHMWpPeXNaYlJ3MnJwN29YMjdqNVdcbnRQZXllRTAzVDZ6cTR0NW5POU1hM0xvOTF3Qm5aZjBoWlRFYVdFeVlWbDhOMFF1Y2trckxxUkxzQzdRUlB5L3ppdldFZDhBU3dOc0lcblU4Tmo1MlZlc1pBd0JraXZNZ05ZU3Z3dko0LzRlRXB0cHNweExPRnVPSFp1WmgyYmlUam9TWVYxSWZGek00OVlUcGp5cHdITUlTeVVcbkV2dEx5akpjN1UvYmNpYmg2VkRzSE0wcWVna0RINldCWEV6OEhNMHkxZ01IcHRaYUZlb1lLdmR4NkRjcHpyZ0xGZE1GVkdZbm9CZjRcblFJcnRwTXBUUXhnVUZ6dFhzNGdOaEFIZjJnbUhBQ3VJLzZXbEdWOUp0WVZVeWM0bXJBOFJPMmZUaXMyRXB4dlNqdFFBLzB6OG5FMHpcblZoRUd2R29ROWlRc0Z4ejd5MHNhUGNDSFVtNGJWYjdqQ0hjTnNmTTNhYlFCSjZiY05xcDhINll5bm9RdHdRR3ZRellldUpYNFgrSlFcbll3VUpOejFTVlp0TldDMHRkaDRQTlI0SDlrdTlWVlF0anFQY0E4TnZKK0dtUndwYkZ2OGRZYkdjMkYvb1lPSXVVdGpzU0ZWdk9QQjlcbjR1ZnpZT003aEUyL3BDUjJBZTRoZmo0UEpycUJ6K0I0cjFTOWpyQjRTT3d2ZDBmUkJueUtlQnN0cVRLZFNkaEFLM1orN3loZUlPTkZcbnZWUjE2b0hQQXUzRXorOGR4WVBBWWRrMGcrcUJqeEdtVThUK29nZUttNEhkTXp0NlZidmhoTUdrUlh3YTFnMThBeGlWMmRHcjJrMERcbnJpQityZzhVN1lST1N2WmJFb29wd0w4VGRoQ0wvY1gzRTNZMVBEclRJNVplc1I5d05jVVlKTlVEWEFuc2sra1JTNjg0RHJpYitMbS9cbjVjTC9OWHpYSDhWRTRNdkVXVHlvRi9nWjRkV0VGTVBlaE0yRVlxd2cyQUY4RjFjMVV6eEhFUWFKeCtnSXJ3RXVJZ3hVVjJSTmhMWDFcbnJ5WE1PYzd5aTMrY01FOTFqendPVE5vSlk0QnpDYU9PczE1VC9RSENhemhQZkNxS2FZU2NmSWhzYzcrSDhCczdsd29aNEZxSm94UmJcbkNZK0lqbjA1a3Q2aHJDZU1RcjN6NVhnMFlYbFNsbllIanVlVi9KK2NzTHlsd0M5ZmpqdUE1eEtXSjJWcFA4TDUvempDYTlta1kxSVdcbjgwciszd21zVGxoZW9WUmlCMkJyVXdqdkoyY1JIcG51VHRpSmFRd3dnckFuOVRyQ3U1dzJ3bVlOVHdDTENMczJMU1k4WXBMS2FBWWhcbjkyY1Q4bjhhSWU5SEVYYmhoTkRKWFUvNERieEl5UHN0djRHbmM2NnZsSlo2WGpudjcvM3l2eWNSOG44RTRSclFSY2o3ZFlTRnQ1NGhcbjVQMGl3dFBlNVhsWFdwSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtcblNaSWtTWklrU1pJa1NaSWtTWklrU1pJa1NaSWtTWklrU1pLa3FsVVR1d0laR0p0UnVadUF6Um1WTGFXdEhoaVpVZGtiZ042TXlwYlNcbjFnUzBaRlQyMm96SzFVN2FGYmdZZUJ6b0Fmb3pqQlhBOWNDSnVSeVpORGdIQXQ4Qm5pWGIzMEUvOERUd0xXQk9Ma2NtRGM1SndJK0JcbmxXVDdPK2dCSGdXK0RFekw1Y2owUng4QTJzbitaRGRRL0FRWWxmMGhTanRVQi93YjRhNDg3OTlCRDZFRFhwZjVVVW83TmdhNG1UalhcbmhEYmdQWmtmb1FENEJIRys1RmZISDhqdTBaSzBNMnFBSzRuL1cvaGV4c2NwN2NnSTRDSGkveFkrblBXQlZydER5UDV4Lzg3R2YyVjhcbnJOTDIvQTN4ZndOYjRyeU1qMVhhbm04Ui96ZlFEM1FEQjJSOHJGVnRMdkcvNUMzUkEreVc3ZUZLQTJvQVhpTCtiMkJMUElldkFoVEhcbm5zUjVCYmF0dURIYnc2MWVyUlRyaSs0SFBwbnBFVXNETzRINHViOTFISjNwRVVzRCt6enhjLy9WMFUwSnhvalZ4cTdBRUJ4SThlcDlcbmNPd0txQ29kRkxzQ0F5aGluVlQ1aW5ZT3JxY0Vyd0dLZGlIZEdhTmpWMkFBWTJKWFFGV3BpSGxYeERxcDhoVXg3NHBZcHo5UnhnN0FcbjZ0Z1ZHRUFSNjZUS1Y4UzhLMktkVlBtS21IZXJZbGRnUjhyWUFYaVFNUEN1U082UFhRRlZwU0xtWFJIcnBNcFh0THpiRE15TFhZbEtcbmRRUHhCM2xzaVU1Z1VyYUhLdzJvRmxoQy9OL0FsbmlDeWx4ZVhNVTNEZWdpL205Z1MxeVY3ZUZXdDMwSUY5N1lYM0kvY0ZIR3h5cHRcbnp6dUoveHZZRXFkbWZLelM5bnlWK0wrQmZzSytNWHRsZkt4VjcxemlUd2U4alRBWFc0cnBVdUtmOUM3Si9DaWw3V3NFN2lMdTc2QUhcbk9EUHJBMVZ3S21HRG5yeS81RDdnTXNJdVUxSnNOY0JuZ0E3eS95MXNBdjQyKzBPVWRzb3d3b1pZZmVUL1cxZ0t2RG43UTB4UEpieXZcbkd3TzhGemdGbUUxSWdDejBBUzhDdnlZazJNTVpmWTQwVkxzVGxnWStBWmhPZGsrbnVnbTdBZDRHZkJ0NFBxUFBrWWJxSU9EOXdGR0VcbjhRRlpYZXM2Z0FXRURZZ3VKMnlWTFVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0pFbVNcbkpFbVNKRW1TSkVtU0pFbVNKRW1TSkVtU0lxdUovUG43QStjQlJ3Q1RnTnE0MWNuRkJ1QlI0RWJnSnFBbmJuVlVBRFhBc2NBWndHdUJcbjFyalZ5YzFLNEVIZ0d1Q2V5SFZSTVRRQ3B3R25BUHNDSStKV0p4ZTl3RExndDhEM2dJVlJhNU9ENGNCM2dUNmd2NHJqRWVEQWhHMnBcbmN0c051SXY0dVJnNzVnS1RFN2FseXUxSTRBbmk1MkxNNkFXK0NUUWxiTXZDR2c3OG52Z05YWlJvQjQ1SzFLSXFxejJCbDRpZmcwV0pcblo0QnBTUnBVcFhVaTBFSDhIQ3hLM0VXRmRnSytSL3pHTFZvc3Azb2UreXBvQU9ZUlAvZUtGcitoT2w0RjZoVlRnWFhFejcyaXhYOGtcbmFkUWllaTArOXQ5V2ZEVkJ1NnA4M2svOG5DdHF2RE5CdTZwOC9vZjRPVmZFNkFIMlN0Q3VPNVIzVC9zOXhCOTRXRlRuWWR0VWsvZkdcbnJrQ0IyVGJWb3hFNE8zWWxDcW9PT0RmTEQ4aTdBM0JrenA5WEpoUEl1TGVud3FnSERvbGRpUUx6UEZFOTlxYzZSdm9QVmFhL2hidzdcbkFCTnovcnl5c1gycXcxakNuWThHTnBvS0hRQ2xQK001Yi9zeWJaKzhPd0J0T1g5ZTJkZysxYUdOOEk1UEE5djhjcWp5ZWM3YnZremJcbkorOE93TU01ZjE2WmRCRG13S3J5ZFZJRmkzMGs0SG1pZWp4Q21QdXVnV1g2VzhpN0EzQnR6cDlYSmpmaFhVODF1UzUyQlFyTTgwVDFcbldBL2NGcnNTQmZhajJCVklVeTF3SC9HblZ4UXR1b0Q5RXJTcnlxZVZzQlJ1N053cldyd0FqRXpRcmlxZnd3bFBBV0xuWHRIaWppU05cbldsUXpnVlhFYjl3aXhVY1N0YWpLNmsxQU4vSHpyeWl4R1RnNlVZdXFyUDZPK1BsWHBIZ1IyRFZSaXhiWWEzRE41MzVnRTNCK3dyWlVcbnViMEpXRTM4WEl3ZHk0QmpFcmFseXUyVGhFNWc3RnlNSGZNSnk0Ulh0Q2JnbzRUZHdIcUkzK2g1eG91RURSOW1KRzVGVllJSndFWEFcbms4VFB6YnhqSWZCUGhLbVIwbXpnMjRRT1llemN6RE42Q0h2a25FOVlKandYUlZsNXJnVVlUMWdncGRLdEE5YkVyb1FLYXlUaHQxQ1VcbjMyWlcrZ2l2QXR0alYwU0ZOUjRZRmJzU09lZ20vQlk2WWxkRWtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpcbmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa3FRS1ZSUDU4OGNBcHdOSEFwT0F4cmpWeWNVcTRISGdKOENqa2V1aTR0Z2RcbmVBZHdJREFlcUl0Ym5jejFFSDRMRHdEWEF5L0dyWTRLNUNEZ0xjQSt3TGpJZGNuRFptQVpjQy93WTJCRDNPcGtyeGI0TE5BTzlGZHhcbjNBaE1UZGlXS3JlUndQOFFMb2l4OHpGV2RBT1hBczBKMjFMbE5oMzRPZkh6TVdhc0J6NUsvSnZ6ek5RQjF4Ry9vWXNTTHdDekVyV29cbnlxb1ZlSmo0T1ZpVXVJL1FJVkwxbVFNc0ozNE9GaVV1cDBJN0FWOGlmdU1XTFJiaTNVKzFxUUZ1STM3dUZTMnVUOUtvS3FWUndMUEVcbno3Mml4ZWVTTkdvUnpRQzZpTit3Ull6UEoyaFhsYy9iaVo5elJZM2pFN1NyeXVmTHhNKzVJc1ltWUhLQ2R0MmgyaXdMSDhEN2dJYWNcblA3TXNQaEM3QXNyVkIyTlhvTUJzbStwUkI3dy9kaVVLcWhrNE44c1B5THNEOFBxY1A2OU1waE5HZ3F2eTFRSkh4YTVFZ1htZXFCNnZcbkljeDYwY0F5L1MzazNRR1lsdlBubFkzdFV4M0dBaTJ4SzFGZ0U2bU9LY0h5bkxjanUyUlplTjRkZ002Y1A2OXNiSi9xNFBlOGZUMkVcbnFZR3FmUDRXdHE4ank4THo3Z0E4bnZQbmxVa1BzRGgySlpTTGpZUlJ6eHJZNDRSQlVLcDhqK0YzdlQyUFpWbDQzaDJBbTNMK3ZESzVcbkUyaUxYUW5seHQvQ3R2MDBkZ1dVbTVXRTlSODBzSXI2TFRRQmk0Zy92YUpvMFljRG42ck5kTUtUZ05pNVY3UllSOFpUbjFRNEp4TS9cbjc0b1lEMU9CUzRJZlNYaXZFYnR4aXhUL2xxaEZWVllmSUg3dUZTbjZnTE1TdGFqSzZ0dkV6NzhpUlJ0d1FLSVdMYkFUZ0RYRWIrVFlcbjBRZDhuZnhmeGFnNFBrb1k4Qlk3RjJOSEoyR2RFRlduQnVCYnhNL0RJc1FLcW1DYThHVGdtNFJIZnJFYlBPL29BZTRBamtuY2lxb0VcbmN3aEw0RzRtZm03bUhSM0FWY0RlaVZ0UmxlQWs0QjZnbC9pNW1YZXNBZjZkSE5kRktNSm1BL1hBYktybnZkOUd3aWpuOWJFcm9zSnBcbkJ2WWxiSk5kRGRZUWZndE9CZFBXeGhHdUM5V3dYa1kvc0JSNGd0RHhrU1JKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpcbmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpcbmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpcbmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa2lSSmtpUkpraVJKa3FUaSsvK2pcbnM3b3VwdkYwbkFBQUFBQkpSVTVFcmtKZ2dnPT1cblwiXG4gICAgICBpZD1cImltYWdlMS05MlwiXG4gICAgICB4PVwiOTAuMzUyODI5XCJcbiAgICAgIHk9XCIxMDEuMDc0ODlcIlxuICAgIC8+XG4gIDwvZz5cbiAgPC9hPlxuICA8YSB0eXBlb2Y9XCJidXR0b25cIiBocmVmPVwiL2JpZWxlZmVsZC1jZWJpdGVjL2NvbnRyaWJ1dGlvbj90YWI9YmZoJnN1YlRhYj1hYm91dFwiID5cbiAgPGdcbiAgICBpZD1cImc0XCJcbiAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM0LjY5MjMxMiwtNjQuMjYwOTkyKVwiXG4gICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPVwidW5pdGVkLnN2Z1wiXG4gICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9ezk2fVxuICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPXs5Nn1cbiAgPlxuICAgIDxjaXJjbGVcbiAgICAgIGNsYXNzTmFtZT1cImJmaC1jaXJjbGVcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgb3BhY2l0eTogXCIwLjg1XCIsXG4gICAgICAgIGZpbGw6IFwiI2ZhZTk5ZVwiLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgc3Ryb2tlOiBcIiM5NDAwODRcIixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMS4zMjI5MlwiLFxuICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZURhc2hhcnJheTogXCJub25lXCIsXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgIHBhaW50T3JkZXI6IFwiZmlsbCBtYXJrZXJzIHN0cm9rZVwiXG4gICAgICB9fVxuICAgICAgaWQ9XCJwYXRoMS01LTZcIlxuICAgICAgY3g9XCI3Mi4zNDg3MTdcIlxuICAgICAgY3k9XCI4NC4xNDM3OTlcIlxuICAgICAgcj1cIjE4LjUyMDgzNFwiXG4gICAgLz5cbiAgICA8aW1hZ2VcbiAgICAgIHdpZHRoPXsyMH1cbiAgICAgIGhlaWdodD17MjB9XG4gICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWdBQUFBSUFDQVlBQUFEMGVOVDZBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZselxuQUFBT3hBQUFEc1FCbFNzT0d3QUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQ0FBU1VSQlxuVkhpYzdOMTNlQlRWL3NmeDkyeDZRa0luOU41RlFSRlFsQ0lpRm9yWTVTcWdvQ2dvdG12RkxyWnJWK3g2dlhvdFZ5KzJxOWpCWGdFVlxuUlJGc2dBZ2lJRlU2eWY3K09NbFBSSkxzenB6ZG1kbjl2SjRuajBybW5QbktKbk8rYzZxRFNMamtBd09CL1lBOWdCWkFEU0RiejZBa1xuZEVxQTFjQlB3RmZBMjhBTHdBb2ZZeElSa1oyb0Jkd0VyQUdpK3RKWEFyNDJBMDhCblJFUkVkOWxBT2NCSy9HL2dkQlhlbnlWQVBjQlxuaFlpSWlDOEtnZi9oZjRPZ3IvVDhtZ2UwUXlSRk9YNEhJRktCSnNDclFFZS9BNUcwOWhzd0JQalE3MEJFYkZNQ0lFR1VCN3dMN09sM1xuSUNLWTRhY2V3UGQrQnlKaVU4VHZBRVIyNEFBUG84WmZncU1XWm9WQWRiOERFYkVwdys4QVJIWXdFcmpZN3lCRWRsQVhxQWxNOFRzUVxuRVZzMEJDQkJrb3VaZU5YVTcwQkVkcUlVcy9mRUYzNEhJbUtEaGdBa1NNYWh4bCtDS3dKTThEc0lFVnZVQXlCQk1oY3R1NUpnMndvMFxuUkRzR1NncFFENEFFUlJmVStFdndaUUdEL1E1Q3hBWWxBQklVZmZ3T1FDUkcrL2tkZ0lnTlNnQWtLSGIxT3dDUkdIWHlPd0FSRzVRQVxuU0ZBMDh6c0FrUmcxOXpzQUVSc3kvUTVBcEl6cmcxZEdqTHFWZmdlY1pETVdTWEh6Zi9pVUt5L3A2N1o0a2NWUVJIeWpIZ0FKQ3RmSlxuYU12V1hXM0dJV21nUmF1dU9JN3J4MThHZW5aS0N0QVBzWWlJU0JwU0FpQWlJcEtHbEFDSWlJaWtJU1VBSWlJaWFVZ0pnSWlJU0JwU1xuQWlBaUlwS0dsQUNJaUlpa0lTVUFJaUlpYVVnSmdJaUlTQnBTQWlBaUlwS0dsQUNJaUlpa0lTVUFJaUlpYVVnSmdJaUlTQnBTQWlBaVxuSXBLR2xBQ0lpSWlrSWRkbnNJdWtnL1hyVjdObTFWSnljdk9wWHIyWXpLd2N2ME1TRWJGQ0NZRElEclpzMmNpMDErL253L2VlWk5GUFxuWC8zL24yZG41N0hMcnZ0eDBNQXphTmRoSHg4akZCSHhUZ21BeUhZV0xaek5IYmNNWS9teWhYLzUzcFl0Ry9uODA1ZjUvTk9YMmJmUFxuY1p3dytuYjFDSWhJYUdrT2dFaVpSUXRuYzgyVkEzYmErTy9vL1hjZTUvYWJoMUZhV3BLRXlFUkU3Rk1DSUFKczNicUpPMjRaeHFhTlxudjhkY1p2WVhiL0RDY3pja01Db1JrY1JSQWlBQ3ZQbkdnekc5K2Uvb2xSZHZZKzNhNVFtSVNFUWtzWlFBaUFEdnYvdUVxM0tiTjIvZ1xuMCtrdldJNUdSQ1R4bEFCSTJ0dTA4WGNXTFp6dHV2eThiejZ3R0kySVNISW9BWkMwdDNyMVVtL2xWLzFpS1JJUmtlUlJBaUJwTHpzN1xuMTF2NW5IeExrWWlJSkk4U0FFbDcxV3NVZTJyRTZ4VzNzQmlOaUVoeUtBR1F0SmVSa1VXblhmdTVMdDk1OXdNdFJpTWlraHhLQUVTQVxuZ3dhT2QxV3VjWk5kMk1WRDhpQWk0aGNsQUNKQTIvWTkyYmZQY1hHVnljaklZc1NvVzRoRU1oSVVsWWhJNGlnQkVDa3pjdlJ0N0xwYlxuLzVpdXpjaklZdFNZTzJuYnZtZUNveElSU1F3bEFDSmxzckp5T2V2OHlSeDZ4SVdWVGdwczFMZ0RGMXd5aFgxNi95MkowWW1JMktYVFxuQUVXMms1R1J5V0ZIWGt5Ly9pY3g0NVBubVRmM0ExYXRYRUpPVGdIMWlsdlFlZmVEMkszTEFlcjJGNUhRVXdJZ3NoUFZheFRULzhCVFxuNkgvZ0tYNkhJaUtTRUJvQ0VCRVJTVU5LQUVSRVJOS1FFZ0FSRVpFMHBBUkFSRVFrRFNrQkVCRVJTVU5LQUVSRVJOS1FFZ0FSRVpFMFxucEFSQVJFUWtEU2tCRUJFUlNVTktBRVJFUk5LUUVnQVJFWkUwcEFSQVJFUWtEU2tCRUJFUlNVTktBRVJFUk5LUUVnQVJFWkUwcEFSQVxuUXErMHROVHZFQ1JrU2t0TGdLamZZWWo0S3RQdkFFVEtiSFJiOFBtbnIyV1BQUWZaakNVdVdWazUxS2habjFhdHU1T2JWODJYR0ZhdlxuWHNyQytWK3dkczB5U2txMitSSkRtQ3hjOEFYUnFPc0VZQk9nckZOQ3ovRTdBSkV5L3dPRytCMkVGNWxaT1hUdmNSaUhIMzBwZGVvMlxuVGNvOXYvOXVPczg4ZFNWejU3eFBOS28yS1VrV0E0MzlEa0xFcXd5L0F4QXBzeWZRMCs4Z3ZDZ3RMV0hSVDEveDNqdVAwYXg1WjRyclxudDB6by9WNTlhUkwzVGhyRjhtVUxVSGQyVW4wR1BPSjNFQ0plYVE2QUJNVU12d093WmVPR3RVeTY1VzhzbVA5NXd1N3gzdHVQOHVSalxuRThyR3NpWEpwdnNkZ0lnTlNnQWtLTjRFVW1id2VzdVdqZnp6dnRNUzBpMi9kczB5SG4va1BPdjFTc3hlOHpzQUVSdVVBRWhRTEFkZVxuOXpzSW14WXRuTTNzTDk2d1h1KzBOeDVnMDZiMTF1dVZtQ3dHM3ZFN0NCRWJsQUJJa0Z6dmR3QzJ6ZnJzMVZEVUtURzdFOUM0aTZRRVxuSlFBU0pPOEJML2dkaEUzTGZwMmZnRHAvdEY2bnhPUVg0QzYvZ3hDeFJmc0FTTkJjQ0F3QWN2ME94SVlhbWNzNXJPWDdWcWZvankzZFxuck9XNy9qZ0xXT2QzRUNLMktBR1FvUGtHT0FsNGxCVFlwNkpsZzVvVVJ0WlovZjlvV2x5YmVRdVgyS3hTcW5ZTDhGKy9neEN4U1VNQVxuRWtTUEEvL3dPd2diRHRock4vdDE5ckJmcDFUcVZlQjh2NE1Rc1UwSmdBVFZCTXh3UUdpM3QydFl0eWFIOWUxdXZkNXhSeDFJWm9iMlxuOEVxU3ljQVJhT0tmcENBOVJTVFJtbUYyK1d1RjJhNXVkUnhsUHdEbUFBT0JiUHVoSlk3ak9EeDAyVGc2dDJsbXZlNDZOWXBZdDM0alxuSDM3NXJmVzY1ZitWQXBjQ1p3SmJmWTVGSkNGQ1A4WXFnUlRCak9PZkJYVFk0WHZmQTVPQXU0bDk0NTltd00zQTRZVGdaellTY2JoK1xuL1BHY2UvemdoTjJqcExTVTRaZE80c25YUDBqWVBkTFlSNWlHUDliZEtSMmdGM0FJMEE2VE1Qd01UQU5lSWNTOVdKTGFBdjh3bGRDcFxuRFR3TDlLN2l1bytCd2NDS09PcmVGVGdWT0JxbzR5cTZCT3ZRb2hHM25IMENCKzdkT2VIM2lrYWozUDMwNjF4NS8zOVpzVnFUMHoxYVxuRDd3SVBJaHB1R1BWQmZnbnNFY0YzLzhLT0ExNDExTjBJZ21nQkVCc3lnWGVCN3JHZVAwc1lHL004YXJ4aUFDN1lSNjZMWUJhbUJVdFxuUTRGNmNkWUZ3TkMrM2FoWHM3cWJvbVJsWnRDZ2JpMTY3OTZCbnJ1MUl4Sko3cS9WeHMxYm1EcDlOcC9PK1lGZlY2N3hjc3h0YUh5M1xuNkJmZW12bTE2K0tZcmFkWEFUOWhHdWxQZ0MxeDFqTUFlQjdJcStENzJ6RFBXQWNZaFE0UWtvQlJBaUEyWFlPWnZCZVA2MXlVcWNnblxuZ0t0WmR4OC9mQzNkZDJsdEtReEp0RWRmZnBlUmw5L3B1amd3d21NSXpZRXZnY0pLcnRrS1pKWDlld2xtbU9BamovY1ZzVWFyQU1TV1xuYXNEcExzcWRSdVVQVVpFZytnZVYvOXlXOE9kOVZqTFFMb0lTTUVvQXhKYjlnQ0lYNVlyS3lvcUVSVEZtUW1wVmR1eGgzUjNZeTM0NFxuSXU0b0FSQmJPbmtvMjlGU0RCV054VllwTnp1cjZvdEVqTDJvZkJmVktCVXZzYTVxY3F4STBpZ0JFRnU4dEtDMldsL1hRd21GQmE1elxuQjBrL2phcjRmbVZ6cTVyWURFVEVDeVVBWXN0UEhzcitiQ21HYXE0TDVxWEUyVU9TSFBHdUZ0aGVySHRmaUNTY0VnQ3g1VDFNMTJlOFxub21WbHZjckRMQWQwcFVnOUFLR1M0MjNJSnNmajdiL3lVSGFPeDN1TFdLTUVRR3o1QVhqZFJiazNNTHNEZXRVYWx6L1BlVG5aWGhzVVxuU2JLQ1hFOXRlSUhIMjg4QUZya290dzE0eWVPOVJheFJBaUEyblFhc2plUDZUWmd0VjIxbzY3Wmc2eWIxTFlVZ3lWSXQzOU9RamV1aFxub2pJbHVEdXQ4aEZBNXpoTFlDZ0JFSnQrQUk3SGJLdGFsYzNBVWNCY1MvZDJmZXhlMjZZTkxJVWd5Wkx2clFlZ3FZVVE3Z0ZlaStQNlxuN3pCblk0Z0VoaElBc2UxRnpQYStsUjJrOGhuUUU1aGk4YjU5M1JaczI3U2h4VEFrR2VyWHJ1R2xlRk84bnk1Wml0a0w0UGtZcnAwSlxuOUFkKzkzaFBFYXNxVzhzcTR0WnN6QnQ1RCtBZ29DVm1hZFI4NEdYTWxyMDJGVkh4WVN4VmF0MVVRd0JoMDZodUxYS3pzOWkweGRWSlxudlJtWU9TTmVKK1J0QUE0RGhnSGpNWW52OW43RW5IcDVGL0dmZHlHU2NFb0EwbHNOeks1bXZ3T0xFMUQvSjlodjdIZm1NRHo4TE8vVlxueWZYMEFmRkpKT0xRdkdFOTVpNXcvV083Ti9abTVQK243S3NSSnRuTndVeHMvUWtkQlN3QnBpR0E5Sk1IWEFoOGd6a05iUzVtSGY0dlxud0NUc2pJOG0yM0Z1QzlhclZaMzJ6VFVFRUVZdEc3azYrTEhjUHJiaTJNNWl6SkxXcWNBQzFQaEx3S2tISUwzc2hobXpiTEdUNzlYSFxuSE9ZekVqZ0Y4MFlUQm8yQmZtNEw5OTI3SzA2ZGdDWUFwVkdJUm9Fb1JFdk52MGRMb2FRRVNyZHQ5ODlTM0czQkVHNmQyelRuNVE4K1xuZDF0OEFPWUZLR3lOZEYxZ0VPYkk3VHhnQmFhWDdTWE14RnFSbUNrQlNCKzdBdTlndXYwclV3ZzhobG5xOU45RUIyWEIzNmw0My9VcVxuOWRsckQzQUMyaEVXNi85VkZKTUliTnNDMjdhV2ZXMHBTeDVTMTk2N2VScTZhWVRaMC85RE85RWtYQTR3RVpPazcyelhxdVhBQmNERFxucEdNMktLNVV0bWUxcEk1TTRIUGlPN0JuTGRBZU16UVFWSFV3WGEydU5uWnhISWNmM3AxTTg4WXB1QXd3Q3BTVUpRS2JOOEhXMUp1RFxuOXR1YWRkUTc0Q1NpN2hPZDI0Q3pMWWFVS0lXWURiTjZ4SER0UThESmhLOW5RM3dRMEZjZnNld280ait0cndqemRoMWtGK0ZoVjdkOVxudXU2YW1vMC9tTlErTXd0eUM2QjZiYWpkRUlwcW0vK091TzR3Q1pUYTFRdTl6dDhZQ2VSYkNpZVJIaU8yeGg5Z0ZIQlpBbU9SRktJRVxuSUQwY2xlUnl5ZEFScy9US3RlTU9POUJTS0NIZ09KQ2RDOVZxUUsxaUtLb0RPZUUvLytEQXZicDRLVjRUczNGVmtBMHArNHJIUlpobFxuamlLVlVnS1FIcnE2TE5jVUQwZnNKcENEV1Z2dGVnUC83S3dzamp4NFAzc1JoWW9EMlRsUVdBdHFONENDNnBBUnpyTVFEdThYNjR0eFxuaGM3RDNuSFVpWENxaXpMWndCamJnVWpxVVFLUUhvbzhsUFY2Y0VvaW5JZUhuZjhBRGp1d043VnJWcmNUVFpnNUVjaXJCalhyUWZVNlxucHBjZ1JIcnUxbzZHZFd0NnFhSTFac3c4aUNKQUg1ZGw5N2NaaUtRbUpRRHBZYW5MY3Rzd2V3VUV5ZDdBMVY0cWNCeUhDOFlPdHhST1xuQ3NuS01mTUVhdFNGckhBa0FwR0l3MkY5WFI4RFVlNHlxbDRkNDRkNnVKK2owTXhtSUpLYWxBQ2toK2tleWdWcGJYRXpZRElldTJ3UFxuNnRPRExoM2IySWtvRldWbW00bUROZXFab1lLQUd6M1U4OHR1TVhDTGhWQnM4L0s3VjJJdENrbFpTZ0RTd3lNdXl6MW9OUXB2YWdPdlxuWXRadmUzTGh1QkhlbzBrSG1WbG1zbUQxT3BBUjNDMUR1clJ0VHEvZE8zaXQ1a1RnRUF2aDJMUUs5OHR3djdNWmlLUW1KUURwNFUzZ1xuaFRqTHpNUXNQd3FDNnBoRGhOcDdyV2hBcis3MDZ0YlplMFRwSkN2SHpCRW9xRzVXRXdUUTZVY2ZaS09hZjdQelhUTDk5SkxMY3E5WVxualVKU1VqQi9teVVSYW1FU2dWaGF2d1hBZm1YLzlGdDF6SnYvWGw0cnlzN0s0b3RYLzAyN2xtRTg3aUFnU2twZy9XcllFcXlOaGJhVlxubE5CNjZIaCtXcnJDYTFWZllJNnEzdUE5S2lzNllHS0taOWhyTmRBV3N6dWdTSVZTWTBjUWljVkc0R25NT0hwbG13SzlqbGwzdkNnWlxuUVZXaENIZ05DNDAvd0htbkhNY3hnelE1MnBOSUJITHl6WkRBbHVCTUQ0bEVJbFF2ek9lRmQyWjZyYW8rcHRHZDdEMHFLMVlBVzREK1xuTVY0ZnhTd0IvRGhoRVVuS1VBS1FYalpna29CWE1lZVRid08yQWdzeFhZM25ZdlliWCtkWGdOdXgydmczcmwrUEorK2FTSFpXa0pkOFxuaDBobUZ1VGt3dFl0NW9DaUFPamNwam4vZTJjR3Y2NWM0N1dxRHBnanNvTnlUc0FIbU43YVBsVGVhMXNDbkVXdzV1NUlnR2tJUUlLb1xuQ0pPazdHMmpza2drd2l1UDNNSUIrM2F6VVoxc0x4cUY5V3RoMCs5K1J3TEFsUGMrWmNnNS83QlJWUWx3RU9abzM2RG9DMXpMWDM4dlxub3BqaHZZdUFHVW1PU1VKTUNZQUVqZFhHSCtEaTAwY3k4ZS9hR0MyaE5tK0UzMWNGNGdUQ2dXZGV4eXNmdWo0bWVIdS9BTHNRdkwwd1xubW1OMjk2d04vSXFac0x2WXo0QWtuSlFBU0pBVVlHYjc5N1pWWWE5dW5abjJ4Q1F5TXpYYWxYRGJ0c0xhMzZEVTN5WG9TNWF2b3RNeFxuNTdCNjNYb2IxZjBiYzJpUVNNclJVMUdDb256TWYxOWJGUmJYcWNXcmo5NUtqYUlnSG1lUWdpSVpaaXRobitjRkZCYmtVYnQ2SVMrK1xuOTZtTjZqcGozckMxcmw1U2poS0FZTXZFSEFQYUczUDZYUjVtVzEvLysxbnRLc1IwKy9lMFZtRkJQcTgvZGh2dFdtcEgxS1NLUkNBM1xuei9RRytOZ1RzSHU3RnN6NCtnZStYK1IyRit3LzZRbmNpM2JYa3hTampZQ0NxUkF6RzM4WlppYnk0OENUbUFrK1M0RHpnWEJzMWw2MVxuQXVCRkxEYitXWm1aVEw3bkd2Ym8xTTVXbFJJUEorTDd3VUtPNC9EWXhETm8xYmpZUm5YTmdYRTJLaElKRXMwQkNKNVdtQWF4cXIxTlxucHdPSDR2NmdueUFveE94WXRvK3RDaU9SQ0kvZGRqbkhEbzUxMmJRa1RoVFdydlIxMDZBdnZsdkl2cU12WWYxR3ozc1dyTUNjSE9oNVxuamFGSVVHZ0lJRmhxQWU5aWR2R3FTaVBNc3FESE1PdjV3eVloamYvOTExM0E4TU90YkFzcm5qbVFuUWZidHZnMkhGQy9kZzFhTmlybVxuMmJmY25vZjEvL0l4aC9PODdUbW80TW9HQm1FMkV2b2Jadk9oWnBnVkJzRlk1eWxXS1FFSWxydUJmbkZjM3hDelM5ZzdpUWtuWVFxQVxuS1VBdld4VTZqc05kRTgvbDVHRkRiRlVwTmpnTzVPVEIxczIrSlFHZFdqVmx3OGJOZlBqbFBLOVY3UUpNSXB3SmQxV0dZWDRueDJDV1xuNEhZQnVnTURnVE14UnhPL2ozbmVTSXJRRUVCd05BSG1FMzlTdGhwem5HbFlmakVUOXVZLzZ1aEJ0cW9VMjZKUldMUGNUQTcwUVVscFxuS1FlUHY0YXAwMmQ3cldva1ptbGdLcmtPdURDRzYyWUJCMkxtSmtrSzBDVEE0RGdFZHoweU5iQTRnUzdCQ2pIci9LMDIvdmRkcThZL1xuOEJ3SGltcWJDWUkreUloRWVPanljVlN2bHUrMXF2RTI0Z21RVTRpdDhRZlRLekFac3pwSlVvQVNnT0NJWmR5L0ltMnNSWkU0K1pqelxuQnF5dDh5OXYvRWNmbzhZL0ZDSVpVTDAyZm5VOE5xNVhteHZQSE82MW1qMHhRd0dwb0JibTdUOGV2WUVURXhDTCtFQUpRSERrZUNnYlxuOUl3OEF6TlowZXFZLzZRcnoxSGpIemFaMlZCUTVOdnRSeC9hajY0ZFducXQ1bkFic1FUQU1VQk5GK1hPdEIySStFTUpRSEQ4N0tIc1xuVDlhaXNNL0JuRTUybUswS0k1RUk5MTEzQVdPUHQxYWxKRk5lTlhPa3NBOGN4K0dhY2NPOFZuT0VqVmdDd08zWjJMdGdKaUJMeUNrQlxuQ0k1cExzdHR3U3dkREtxSndBbTJLb3RFSXR4enpYbWNkTXhnVzFXS0g2clZnQXgvam1ZZXNGZG45dXpReWtzVm5RSFAzUWdCME1SRFxuMmFiV29oRGZLQUVJanBsbFgvRjZHRmhuTnhSckRnWW0yS3JNY1J6dXVPSnNUajVXUy8xQ3ozR2dzQ1orelFjNC9SalBlMFZZTzdES1xuUjE1V0R2bDMySU5Zb3dRZ09LS1lHY2J4L0ZJdUFTNVBURGllTmNJc2w3THloSGNjaDN1dlBaOXh3MU5sK0ZYSXpETERBVDQ0NW9DZVxuWGxjRVdGdko0cU52WEpZckJYNndHWWo0UXdsQXNIeU1tV0VieTJMcDVRUjNLK0FNelBrRmRXeFU1amdPOTF4em50NzhVMUZCb1prWVxubUdRNTJWa003dFhWU3hWaFdYcGJtU2t1eTMwQy9HWXpFUEdIRW9EZ2VRTFlEN1BwUmtWZUJMcmhic2dnR2NZQmZXeFVWTjc0anhsMlxucUkzcUpIQWNNeC9BaDZHQW9mdDE5MUs4QStCUDk0VTlVNEN2WEpTN3dYWWc0Zy90QkJoY0VjeWErZjB4KzNGdndaeEovakx3dFk5eFxuVmFVWW1JdlpvTWlUOHFWKzZ2WlBBK3ZYd01ia2JqZS9ZdlU2aWdlY1JEVHErblR0enNDWEZrUHlRMmZnSTh4UjQ3RjRDamcyY2VGSVxuTWdWOS9YZzZLOFhNN2cveURQK2R1UUUxL2hLdi9DTFl0QUdpeVp0YlZxZEdJVzJiTm1EZXdpVnVxMmhGK0JPQUw0REJ3Tk5VL1h2N1xuUE5vRUtLVm9DRUJzMmd2d3ZOVmErY0UrYXZ6VGlPT1krUUJKdGx1YlpsNkt0N1lWaDgrbUFidGpoaDkzTnY5b0FYQVNaZ09ramNrTFxuU3hKTlBRQmkwOFZZR0ZhNjZlTHhuSHJjVUF2aFNLamtGc0NHOVZDYXZNUDJXalV1OWxLOGdhMDRBbUFCY0J4bS9zNCttUCszVFpqaFxueGk4d3E1UWt4U2dCRUZ0MnhSd2Q2c21GWTRkejl1aGpMSVFqNGVOQXRTSll1ekpwZDJ6V29LNlg0bUdmQkxnemF6RHpqQ1FOYUFoQVxuYkxrUWoyLy9oeDdRaTJ2T084VlNPQkpLMlhsSlhSWllWT0JwTDRCVVRBQWtqU2dCRUJzYUFFZDdxYUJKZzNyODg0WUpPSTRXcHFTOVxuL09TMXE5WHljejBWdHhXSGlCK1VBSWdOdy9BNG5QU3ZteTZoVmczL1RvbVRBTW5LZzR5TTVOd3EwOU45L0RuTVFNUVN6UUd3cndIUVxuQTZnTnJBQStKOWluOWRsd3ZKZkN3NFljUUwrZW5uWmxrMVRpQUxuVnpONEFJcEl3U2dEczJSdTRHdWkzdzU5SGdmZUJDekFiYnFTYVxuanBnbFJLN2s1K1Z5NDRUVExZWWpLU0czQURhc1MrcStBQ0xwUmtNQWRweU4yYkJueDhZZnpQdE1MK0FENEx4a0JwVWtoM2twUFByb1xuUVRRc3RuSmtnS1FTeDRGY1R4UDBSS1FLU2dDOE93NjRoYXA3VXh6TUxubGpFaDVSY3ZWMVd6QXJNNU56VGg1bU1SUkpLYmtGZmtjZ1xua3RLVUFIaFRINWdFYkNEMmpUSnVBeG9tTEtMa3lzSU1mYmd5c0Y5UG1qV3FiekVjU1NrWm1lYklZQW16Yk16QlNUMHdXeWRybVUrQVxuS0FId1pqeFFFOGpISE5aVEVrT1pQQ0JWQnIyN0FhNWYwLzQyZElERlVDUWw1Y1I2Um8wRVRDdmdFY3l4NVhNd1I1MS9EeXdCYmdJOFxuN2NBa2RpZ0I4R2I3TTJwenl2NFp5ejZtaHlRZ0ZqKzRQaysxV240ZWcvcnRZek1XU1VVNW1nY1FRaU14V3dpUEFIWmMyMXNmK0h2WlxuOS9zbU55elprUklBOXlKQW14MytMQU16RjZDcXFjdXBjb2hJVzdjRjkrM1dtZHljNU8zNEppRVZ5ZEF3UUxnTUEvN0ZIeTlFRmFtTFxuMlhKNHo0UkhKQlZTQXVCTlJSUC9xdnA3VFpVbm11c0VvSGVQTGpiamtGU21Yb0N3cUE4OFFPemovQTRtV1VpVjUySG9LQUZ3cnhSWVxuNnJMc1FwdUIrR2pISHBDWTdibGJlNXR4U0NyTDlyUmRyeVRQMmNRMko2Z1VjNnh3TnRBSkMwZUlpenRLQUx4NXkyVzUxNjFHNFk4TVxub0xIYndtMWJOTFVZaXFTMGpNeWtiUTBzbnNSeWhuZEoyVmNlZjdRL1J5UXNJcW1VRWdCdjduSlJwZ1M0MTNZZ1BxaUd5NStmdk53Y1xuR3RmWEpHQ0pRNWJtaXdSY0ZsWDNDSlppbmhrN2R2bDNTa2hFVWlVbEFONThCRHdjWjVuYmdhL3NoNUowcms5Q3ExMmpPcEdJZnZRa1xuRHBsVnpTa1RuK1ZUOWRoL3BJSnJDdTJISTdIUVU5aTcwNERYWXJ4Mk1uQitBbU5KSnRlL3ROVUt0TFpiNHBTbEJDRGcxZ0RyWFpiOVxuMVdZZ0Vqc2xBTjV0QUFZRGw1ZjkrODZzd3F4OVBZYllOZ3NLQTlkVHMvUHpOS2xMNHBTUmFaWUVTcEM5NDdMY2UxYWprSmpwTkVBN1xudGdKWFliWUZIZ0xzQWRUQ05Qd2ZBaThCNjN5TExqRmNKNDhSUjd1QmlndFoyYkI1bzk5UlNNVWV3TjBtWi8reUhZakVSZ21BWGFzd1xuMjE4KzRuY2dJaWtuTTBzSlFMQTlEMHdGK3NkUjVpbFM4NWowVU5BUWdJaUVRNGIyaXdtQm96RjcvOGRpSm5CeUFtT1JLaWdCRUpGd1xuMEJ5QU1GZ0Y3QXM4VWNrMVVVd3ZhVjlTYjJnMFZEUUVJQ0xob0xralliRUtPQTY0RHJQTDM2NUFNV2Fsd0hUZ1VjeGhRT0l6SlFBaVxuRWc1S0FNTG1LK0FDdjRPUWlta0lRRVJFSkEwcEFSQ1JjSWhHL1k1QUpLVW9BUkFSRVVsRFNnQkVKQ1EwQjBERUppVUFJaUlpYVVpclxuQVA2c0dtWWppLzJBK3NCbXpLWVd6d0NmK0JpWGlJaUlWVW9BL25BU2NDTlFZNGMvSHdpY0I3d0pqQUYrU0hKY0lpSWkxbWtJd0xnSlxuYzVERmpvMy85dnBoOXF6dWtwU0lSR1FIV2dVZ1lwTVNBQmlCT2FvM0ZuV0JaNEhxaVF0SFJFUWs4ZEk5QWNqRHZQM0hvd1d4Snd3aVxuWW9zV0FZaFlsZTRKd0ZHWXQvcDRuWUllUnlJaXlhQm5iWUtrZXdMUXgyVzVla0JibTRHSVNCVTBCU0NkdEFGdUE3NER0bUErL1IrQVxuZTRHT1BzYVZVdEk5QVdqcW9XeXh0U2hFUktUY3haaURoTTRFV3ZQSGFyV1dtTjdYMmNBMWdNNkg5aWpkRTRDdEhzcHVzUmFGaUlnQVxuM0FKY0RXUlhjazBFbUFEY2g0WUhQRW4zQk9BcmwrVktnRzlzQmlJaWt1WU9CYzZPNC9yUndQRUppaVV0cEhzQzhLTExjbThBYTJ3R1xuSWlLU3hoeGdZcHhsU29DcjBGQ0FhK21lQUx3SGZCQm5tU2p3andURUlpS1NybllCZG8zeDJsSk00eDhCbW1NMmFSTVgwajBCQU5PTlxudERxTzYyOEgzazVNS0NJaWFhbDdETmRFTVkxL0JQUFdYejcrSDB0WjJRa2xBREFQR0FEOEVzTzFkNkZOZ0VSOG9uV0FLYXl5YmRqTFxuT2V5OHphcG5PWmEwb1FUQW1JSHBncnFObmZjR3ZBY2NCSnlPeVVCRlJNU2U1UjdLcnJVV1JaclJhWUIvV0lXWmdYbyswQW1vRFd6RFxuSEFlOHpNZTRSQVFncWhWZktXeUdoN0tmV29zaXpTZ0IrS3V0d09kK0J5RWlra2JtWWhyeXJuR1crdzJ6S2t0YzBCQ0FpSWdFd1FUaVxubitoeEhiQStBYkdrQlNVQUlpSVNCSzlqdHZpTjFZdkFyUW1LSlMwb0FSQ1JjSEMwQ2lBTlhBcU1wZkp0MnFQQUE4Q1JhRksySjBvQVxuUkVRa1NPNEZXZ0UzQWd1MysvT2x3Q1BBdnNBWWRCNkxaNW9FS0NJaVFiTUlzeUxyZkNDMzdNODIrUmRPYWxJQ0lDSWlRYWFHUDBFMFxuQkNBaUlwS0dsQUNJaUlpa0lTVUFJaElPV2dRZ1lwWG1BRWhLK25ucE1uNVo5aHNGZVhtMGFOS0F2TndjdjBNU0VRa1VKUUNTTXRadlxuMk1pdER6M0Z2LzQ3aGZtTC9qamNNUzgzaDRQNzdzWEZwNS9BN3J1MDlURkNFWkhnU1BVaGdJYkFST0F6ekpyUlV1QmI0SDVnZHgvalxuRXN2bWZMZUF6Z2VQNExLYkgvaFQ0dyt3Y2RObW5uMzFIYm9OR2MxMWR6OUtOS3ErWkJHUlZPNEJHSTNaSnJKd2h6OXZVL1oxRWpBSlxuT0pmS2Q1MlNnRnU0ZUNuNy8yMDh2NjVZV2VsMXBhV2xYSHpqdlRnT1hEaDJlSktpRXhFSnBsVHRBVGdiZUpDL052N2JjNEF6Z0NkSlxuM2IrSHRIRFNCZGRWMmZodjc1S2I3dWZMdWQ4bk1DSVJrZUJMeFlhdkIzQkRITmNmRHB5Vm9GZ2t3VDc4ZERiVFBwZ1pWNW5TMGxLdVxubWZSSWdpS1N4TkhRalloTnFaZ0FYRW44UXh1WEFnVUppRVVTN1BuWDNuVlY3dVczUDJUekZvMzhpRWo2U3JVRW9CNHd3RVc1R3NCQVxueTdGSUVuenp3d0pYNWRadjJNUlBTNWJhRFVZU3pQRTdBSkdVa21vSndGNjRmMHJzYVRNUVNZNVZhOWE1THZ2YnFyVVdJeEVSQ1pkVVxuV3dWUTAwUFp5aVlNU2tCNVdkS241WUFpS1dNUFlERFFEdE91L1F5OERid0VsUGdYVnJDbFdnTGcvblVRMWxpTFFrUkVrcUVWOEFDd1xuMzA2K2R6WXdIeGdMdkpiTW9NSWkxWVlBWm5rbys2bTFLTktENnlNNnQyN2Jaak1PU1J2cXNaRS8yUk9Zd2M0Yi8zSXRnRmVBY1VtSlxuS0dSU0xRSDRFZmpZUmJsVndNdVdZMGwxcm50TU5temNiRE1PRVVrL3RZRVhpVzNZMXdIdUJQb2xOS0lRU3JVRUFPQmk0bjlWdUE1WVxubjRCWVVwbnJHWFFyVnEyMkdZZUlwSjhyZ1BweFhPOEFkNkdsSkgrU2lnbkFtNWdHUFZaVGdGc1NGRXNxVzRjNVd5RnVxOWFzWSszdlxueXJkRXhKVmNZS1NMY3UycGZMZ2c3YVRhSk1CeUYyTzZxSzhHc2lxNTdpSE0ySkJtaWNhdkZQTjM3R3JseFRmZkw2UkhsNDUySXdxZ1xua3BKUzN2cjRVNmE5UDVPZmx5NGpNeU9EMXMyYk1MQmZUN3AwYk9OTFRMOHMrNDJYM3ZxUWhULy93cFl0VzJuVnZESDk5K2xHeTZZTlxuZllsbjdlL3JtZnIrVEJZdVhrcEphUW1ONjllai83N2RxRk96K2c1WDZ1Vk5BSE9RbTl0Vlc3MHhMNGxDNmlZQVlMWURmZzZ6emU4Z1xub0duWm42OEFwbUVPQXZyQW45QlN4cmVZclpmajl1bnN1U21mQUx6MTBXZU12L3htNW55MzRDL2Z1L1RtK3ptd2R3L3Vtbmh1MGhyZVxuWDFlczVLd3JiK1BaVjkvNXkwVE1TQ1RDSVgzM1p0SlY1OUNzVVR3OXErNnRYTDJXSzI1OWtBZWVmT0V2dXpKbVpFUTQ3dEFEdWZiOFxuVTJsWVhDY3A4VWhvZVBtRmFXRXRpaFNRaWtNQTIvc09PQTFvQnVRQjFZQzZ3TEdvOGJmaFM3Y0YzLzNrYzV0eEJNNi9Kci9FZ2NQUFxuMm1ualgrNjFkeitoeDlDVG1EbDdic0xqK1dEbWwzUSthQVJQVFptMjAxVVlwYVdsVEhuekEvWWNGa2M2WmdBQUlBQkpSRUZVUElwM1xucDN0WlRCT2I3eGYrekY1RFQrYk9meit6MHkyWlMwcEsrZmV6cjdEbjRGRjhPbnRlMlo5cUZZQUEzazV2MVJLazdhUjZBckM5VFdpaVxubjIxZnVTMzR4dnN6MkxZdE5VZGUzcHZ4QmFkT3VJRnRKVlgvLy8yMmFnMURUNzZBNVNzVE56Rnk0ZUtsSEg3S1JTejdiVlZNOFJ4NVxuNmdRVy9iSXNZZkdzWHZzN0EwODRsKzhYL2x6bHRVdVgvOGJnMGVmeDg5TEV4U09oNC9xNUEzeGpMWW9Va0U0SmdOam51Z2RnMVpwMVxudkRqdGZadXhCRUkwR3VYTUsyNk5hNitESmIrdVlPTHREeVVzcGpNdXZ5V3VCR1BGcWpXY2ZkVnRDWXZubWpzZjVyc0ZpMksrZnVueVxuMzdqZ3VydlZBU0RsZmdTK2RsRXVpdGtUUU1vb0FSQXZadUdoUysyK3g1KzNHRW93ZkRKckRyUG1mQmQzdVllZmZwbE5tN2RZaitmN1xuaFQvejBsc2Z4VjN1aFRmZVQ4aGI5OFpObTduMzhlZmlMdmZVbEduOHN2dzM2L0ZJYU4za29zd3J1RXNjVXBZU0FQRmlOZUQ2Tlg3cVxuQnpQNVllRmlpK0g0NzgwUDNXMG8rZnVHalV6L1lvN2xhR0RxK3pNcExZMS90ZWEya2hMZStkaitYSUQzWm56QitnM3hieUpaV2xyS1xuYSsvTnNCNlBoTmEvaVcvenRoWEFxUW1LSmJTVUFJaFhVOXdXTEMwdDViYUhucklaaSsrVy9McmNkZG1mRXpEdVB2OG45d25XajR2c1xuSjJjTEY3cy9nbm1CaDdLU2Nrb3hrN2xmamVIYUpVQi9JUFp4cHpTaEJFQzg4dFNQZisvanovSEZOOS9iaXNWM1hycnhOMjZ5UHdUZ1xuNWJqa2RlczJXSXlrck03ZjNkZjV1NGV5a3BMV0FRT0JVekR6QW5hMEZyUGN1eFB3UlJMakNnMGxBT0xWRDhDOEtxK3FRRWxKS1dkY1xuZm91TzVwV3FhUjhnK2F0UzRINmdOYkFyY0RRd0FyUGpYd1BnRE14Wkw3SVRTZ0RFaG45NktmemVqQzk0NUJsTnpoVVIxNktZNVlHVFxuZ1VlQnR3RjFHVlZCQ1lEWThBQWU5MWc0N2RLYmtySWhqb2lJR0VvQXhJYlZtRm01cm0zY3RKa2pUNTNBcnl0V1dncEpSRVFxb3dSQVxuYkptRXg2MWFmbHJ5SzBlT3ZaajFHelphQ2tsU2lxYUppRmlWeW9jQlNlSVVBRjJBM1lER1FDUE1oSnR0Vkg3NllwVSttUGtsL1k4N1xuZ3hjZnVta25wOEdKcEt5YW1GUHVkc0VjWE5ZWTh6dFZEWFA4YlI1bVZ2dUdzcS9sd0FMTWVTZnpnTG1BdXM4a0xrb0FKQmJWZ0FPQVxuUTRDZVFEc2dJMUUzKzJUV0hIb2RlU3F2UEhJTHpSczNTTlJ0UlB4VUI3TTJmUURRRisrbjFFVXh1OXk5QmJ4VDlrOGxCRktwVkVnQVxuYWdMRE1MOUV6VEhaOFZ6Z3BiS3YrTGRCRXpCdkhZY0RJekYvdDluSnZQbThIMytpNStHbmNPKzE1ek9rLzc3SnZMVklvaFFCaHdISFxuQWYyd20wUTdtUFh1bllEeHdCYk1Kam1QQXk4Q0dsZVR2d2o3SElDVE1ldlE3d0tPQXJvQmZUQWJRN3lBMmZ5aGkyL1JoVk5MNEZaZ1xuTWViaE1ZQWtOLzdsbGk3L2phRW5YOENJczY5aTVlcTFmb1FnVXBtOEdLOXJBOXlKMlpIdVlVeHZXc0o2ME1wa0EwT0FwNENsbU4vcFxuSmdtK3A0Uk1tQk9BNnpFYlFOU3M1SnBPd0VlWU4xaXBYRXZNZXY2NXdGbEFMWC9EK2NOano3OUdwd0hIYzhmRGt6VkJVSUtrRHpDaFxua3UrM3g2eExud3VjaHBrNzQ0Y2l6Ty8wOTVqZjhiWSt4U0VCRTlZRVlCaHdRWXpYNWdMUFlTYlV5Ri9Wd1BTZ3pBVkc0WEVTWDZJc1xuWGY0YloxMTVHeTMyUFlJcmIzK0l6Ny8rbHRNdXZZblB2bks5Q2FHSURkY0FGKzd3WjhYQWZjQnM0RWlDODV6Tnh2eU9mNFU1VGEvUVxuMzNERWIwSDV3WXhIRHZDUE9NdlVBSzVLUUN4aGR6UXdCeGhIUUJ2K0hhMVl0WVlyYi9zblhRZWR5RDJQUGNmbUxWdjlEa25rT3Y1NFxuSVJtQm1ZdzNodURPc2NvQy9vNUorb2Y1SEl2NEtJd0p3QUc0RzhzNkZzaTNIRXRZMWNJYzR2TVU2aGtSc2VGNllCYndDRkRiNTFoaVxuMVJCNEFqTk1vVFczYVNpTUNZRGJLZUhWTUlkRnBMdXV3QXpnVUw4REVVa3huZjBPd0tVak1ST205L1k3RUVtdU1DWUFYdDVZRzFxTFxuSXB6R0FCOWlKdnlKaUpScmhqbEFaNVRQY1VnU2hURUI4SEpvZWpxZkRuVUJabUtTTDB2NlJDVHdzb0VIZ1N0OGprT1NKSXdKd0J5WFxuNWNxUGkwdzNEbkF6Wm94U0pNUjBHRUFTT01EbG1MTTl3dGcrYkM4TE0vZnJCZUJuek02STh6RnpudzdCL0wrbXRUQit3UC9EM1pOZ1xuSm1aem0zUVN3YXo3UGNmdlFFUWtWRTdIOUFhRXNZMEE2QWhNQi80RERNYWNWMUlUczF2czBaaGRZbDhuelllRncvamgvb2ladVJxdlxuYTJ3SEVuQU9jRGR3b3QrQmlOaVI5aTlzeVhZaTVnVWliTzNFTHBqekVLcmFCYlovMlhWcHV4SXFiQjlzdVhNd1hUbXhlZ2pUYzVBdVxueWh2L1Uvd09SRVJDN1FUQzFST1FEVHlKT1d3cEZxMHhTemZUVWxBM3FxaktNc3grQVAvRFpIdVZlUkN6MFUyNmlBQVBrSVRadkMwYVxuMW1QZkx1MXAzNklSYlpzMnBFR2RHdVRsWmxHWW44R2FkZXRaczM0RHE5ZHRZTjdDcGN5YTl4T3o1aTNrdTBXL0pqb3NrZEJxMjdRQlxudTdkclFaZDJMV2pYckNFMUN2T3BYczE4clYyL2tRMmJOck5rK1NxK1cvUUxjK2N2NXYxWmM1bS9aRm1pd3pvUk0reDZNc0UvWEcwa1xuWmd2NGVCd0E3QTlNc3g5T3NJVTFBUUJ6Q0ZCM3pGalZXTXpZVHJsUzRBUGdXc3lKV09raTRZMS90NDZ0T083ZzNnenQyNDJtOVN0S1xuc2tzcGpXNWlaMU0xRnZ5eWdtZmZuTW16YjM3S0oxLzlRRFNxaVYyU3ZoekhZZTlkMjNKNHZ4NGMzcThIelJ2VWpidU9uNWF1NExtM1xucC9QRUsrOHhZODRQQ1lnUytPT1pFdlFrWUxpSGNrb0FRbVlEY0VQWlZ4dWdQckFWYytqRkNoL2o4a01FY3ppUzljWS9JeExoNkFQMlxuNXZ5UlErbmNwbGxNb1VTY1hFcWptOW54V2RHOFFSM09PZTRnempudUlMNzhiaEhYUHp5Rlo2Yk5wS1EweU04VUNZYlVTUll6SWhHT1xuNnI4M0Y1d1E2KzlVeFpyV3I4T1p4eDdDbWNjZXdoZmZMZVFmRHovUDVLa2ZKZUozYWhUbVF4aERNSk9BQ0xDSHk3STliQVlTRm1FWlxuMTRuRmQ4Qjd3TWVrYitNLzJuYkZBL2JxekZmL3ZZWEhyejR6emdlVlNRS2NTazQ5M2ExTkU1NjRaaXlYbnpMVWU2QWlJWEwraUVONVxuNHBwNGY2ZXExcmxOTTU2NDVreG1QM1V6Qi9UWXpXcmRaVVpqbmpWQmJEdXljSC9pWW1XbnlxYXNJSDZJRXArRU5QNjFpcXJ4NUhWblxuOCtxa2kyblh6TzFLR1FmSHljV3BwS1BwUDY5OXpKWDNQZSt5ZnBGd3V2NlI1N252MlRjU1ZuLzc1bzE0N2M1TCtNKzFaMUd6eVBvcFxueEVGTkFyYmlmcU80dE53a0xtZ2ZvTVFuZ3RuZHoycmp2L2V1YmZuczhSczR1citkcmNFZEp3ZUhuTC84K1g5ZSs1Z1RMbjlBM2YrU1xuZHFMUktPT3VmNUQ3bjV1YTBQc2NjMEJQUG52c0J2YmF0WTN0cWtkam5qMUJha05LTWZ1OXVESExaaUJoRWFRUFQrTGpBSGNDSjltc1xuZEdqZmJreTc5L0pLSnZpNTR6aVpSTWpIS2Z1Um16eDFPaWRlb2NaZjRwRmErd0JFbzFIR1h2Y0Fkei85V2tMdjA2eEJYZDYrNzBwclxuQ2YxMlRzSk1PZzVTTy9LTXkzSlBXbzBpSklMMHdVbnN5dC84eDlxc2RNeGgvWm44ajcrVG01MWxzOW8vT0daSTRLblhaM0w4SmZleFxuclVTTnY2UzNhRFRLR1RjK3hJUFBKM1lDZW5aV0pvOWZjeVpqRHV0dnUrcFJ3TDBFcHkyNW4vaDNmSjBGUEp1QVdBSXZLQitheE03QlxuN05OOXNzMUtUeDY2UC9kY2RESVprY1QrU1B4MzZzZU12UHhldmZtTEM2bXpDbUI3cGFWUlRybjJmdTU5Sm5GekFzQ3NQTGpub3BNNVxuL2VpRGJGZDlNc0hwQ2ZnZEdBWnNpdkg2VlpnbGdOc1NGbEdBQmVFRGs5aVZkL3RiM2RqSU5QNWpjSnpFZHJGT252b1J4MTl5Qjl0S1xuU2hKNkg1R3dpVWFqblBhUEJ4T2VCRGlPdyszbm5waUlKR0FVd1VrQzNnTU9CSDZwNHJydmdYNms1eUZ4UURBK0xJbU5nK2xxczlyNFxuanoxeUFQZE9HRU1ra3RqRy84blhQK0J2Rjk5dXRmSHYycUU1SFZ1azlWa2U0cU5ldTdlalQ5ZjIxdXFMUnFPY2ZzT0QvT3ZGdDZ6VlxudVRQbFNjRFlJd2ZZcm5vVWNBL0JtS3p4THRBQnVCVDRoai8yTFNnQlBnUE93cHdWa0phVC84b3BBUWlIOGpmL01UWXJQV25vL2t3NlxuYjNSUzN2eEhYSGFuMVc3L0x1MmE4Y3FrY3lrc3lMTldwMGc4Q3ZKeWVQSFdzK25idFlPMU9rdExvNXcwOGQ2RUxoRUVrd1RjZWY1b1xuVGp2cVFOdFZqeUU0UFFGcmdLc3hKd05XQStvQlJVQlg0SFpndlgraEJVTVFQaVNwWEVLNi9VOGF1ai8zWHBUNE4vL0pVei9pT012ZFxuL2wzYU5lUDF1ODZqbHYzMXpTSnh5Yy9ONW9WYno3S2FCSlFQQnp3eTVSMXJkZTZNNHpqY2NkNm9SQ1FCUWR3bllDT3duRFJkNzErUlxuSUgxQThsZHEvSGVneGwrQ0poRkpRR2xwbE5FVDcrYmZMeWtKa01UUmh4TmNvVzc4bjU3MmNVSWEvOWZ1UEZlTnZ3Uk9lUkpnYzA1QVxuYVdtVTBWZmRveVJBRWtZZlREQ1ZML1VMYmVOdmU4SmY1N1pOZWUzT2M2bGR2WnExT2tWc3lzL041b1ZiN0NZQkphV2xqTDdxSGg1OVxuK1YxcmRlNU1ncE9Bb08wWUtHWDBvUVJQZWVOL21zMUtSeC9hTDlTTi8rdDNuYWZHWHdLdklDK0hGMjQ1aTk1N3RMTldaMGxwS2FPdVxudkp2SFhublBXcDA3VTU0RWpEdlNlaEp3RWtvQ0FpbXNIMGdPTUFKNENwaU9XY3J4UCtCMHduMnFVOElhLy9zbW5CTEt4cjlMMjJacVxuL0NWVXlsY0g5TjdkM3B5QWt0SlNUcnppcnFRa0FaUE9WeEtRTHNMNFlmUUg1Z0dQQUVjRDNZRE93QkJNNC9rRFpqMXEyS2p4MzBHWFxudHMxNS9lNUwxUGhMNkJUazVURGw5Z3VVQlB5WmtvQ0FDZHNIY1F6d0NsRFpJZG8xZ1g4Q1Z5UWpJRXNjNEE1QzNQZ2ZkNG45eHYrTlxudXk5VjR5K2hWWkNYd3d1M1htajFKTDd5Sk9EeFYwT2RCQVRwN0lDMEZxWVBZUmZnWWFqa2NQay91d3c0TkdIUjJGUGUrSjl1czlKa1xuTi81YnR5V2k4UyswVnFlSUg0b0s4bmgxMGlYV2s0QVRMcitMSjE1OTMxcWRPNVBBSk9Ca1RCSVFoQjBEMDFxWUVvQnJnZHc0cm5lQVxuRzRHTXhJUmpSVUlhLzFGRDlrdEs0Ly9NbTUrbzhSZXBRbEZCSHEvY2NURTlPdGxOQWtaZWZtZllrNEQ3VUJMZ3E3QWtBSFdBUTF5VVxuYXdQMHRCeUxMZVhyL0swMi9pY04zWi83THo0MTRZMy9jMjlQWjlpRTI5VDRpOFNnZXJWOFhybGpBdDA2dHJKV1owbHBLU2RjY1JmUFxudlQzZFdwMDdVNzQ2NEtTaCs5dXUrbVRNTTFCSmdFL0NrZ0QwSVBhdS94M3Rhek1RUzBLOXpuL1d0d3NZZnVta0JJMzVxL0dYMUZTalxuc0lEWDdyekVhaEt3cmFTRUVaZE40c3Z2RmxxcmMyY2lFWWQ3THhxVGlDUmdIT1pacUNUQUIyRkpBSW85bEcxZ0xRbzdITXhCRkZZblxuL0kwYXNsOVNHbitBYzI1NWhBMmJObHVycjNPYlpyeCtseHAvU1gwMUNndDQvYTVMNmI1TGEydDFydCs0bWZFM1BtU3R2b3BFSWc3M1xuVFJpVGlGTUVUMFBEQWI0SVN3THd1NGV5cTYxRjRWMzVtUDk0bTVXT1ByUmZVcnI5d2J6OXYvM3AxOWJxNjlLMk9WUHZ1WXc2TmRUNFxuUzNvd3d3RVgwN1ZEUzJ0MXZ2ZjVOd252QllDeU9RSG5qV2Iwb2Yxc1YzMHk1dG1vSkNDSndwSUF6UEZRZHE2MUtMd0o5V3ovY2xPblxuejdaV1YrYzJ6ZFR0TDJtcFpsRUJyOTk1S1h1MGIyR3R6bWt6dnJKV1YyVk1UOEFwaVVnQ1RrZEpRRktGSlFINEdyUEJUN3cyQXk5YlxuanNXTjhtNy9VTTcyMzk3UHY2NndVay9uTnMyWWVzOWxhdndsYmRVc01zTUJ0cEtBUlV2dC9HN0dvandKR0RWa1A5dFZuNDU1VnRwOFxucURtWWVXUVRNQW5HTGNBcFFFT0w5d2lsc0NRQVVlQnFGK1h1d1A4aEFBZTREY3ZkL2ljTzNpOXAzZjdieThwME94ZnpEK2JOWDQyL1xuU0syaWFreTkrekwyN09COVltQk90dmZmelhoRUlnNFBYSElxcHg1eGdPMnF4Mk52bjRDZXdBemdZK0Nhc3JyUExxdC9FZkFnVU52Q1xuZlVJcExBa0FtSzEvbjQ3aitzK0FLeE1VUzZ6SzMvelBzRm5wcUNINzhjQWx5Vy84QVZvMjhqSWY4NC9HWDJQK0lrYU53Z0plbVRTQlxuTG0yYmU2cW5aZVA2ZGdLS2crTTQzSG4rU1lub0NSaUQ5NTZBRWNEYlFOY0t2aC9CbkZiNE1XQnZRa2FJaENrQmlBTEhBNC9GY08yN1xud01IQStvUkdWTG1VZXZNdmQ4Zyt1N3UrOTI1cS9FVjJxbmIxUXQ2NCsxSTZ0NmxzbC9PS1JTSU9CL2ZzWWptcTJPOTkvOFduY3VKZ1xuNjBuQWVNd3oxTTBEcHk5bVMvaXNHSzV0alRsTXJzREZmVUl0VEFrQW1ESDk0Y0JnNEIyZ2RJZnZ6OEprZFAyQVpja043Uzl1d1BLYlxuLzRtRC9YdnpMOWVzUVYyR0RZaC9hNFhkMmpSanFocC9rUXFaSk9BeVYwbkFjUWYxb25FOS8zcXl5NGNERXBBRW5JRjVsc1lWRG5BWFxuOGUwZDB3azRNODc3aEY3WUVvQnlVekFaWG0xTTkwNFBvRDZ3Ty9BUVlHK0hHbmZPQjg2MVdXRVFHdjl5TjUwOWdpYkZzVDlzMVBpTFxueEtaT2pVTGV2UGVLdUpZSU5xMWZoeHZQSEo3QXFHSVRpVGc4ZUdsQzVnU2NDNXdYeC9WOWdZNHU3bk1hYWJZQ0lhd0pRTG5WbUxIK1xuNmNDdlBzZFNiZ1J3dmMwS1R4alVOekNOUDBCeHJlcThNdW5pbU9ZRDlObWpJOU8wemw4a1pqV0xDbmgxMHNYMDJhUHFOcXhsbzJKZVxudm1NQzlXcFZUMEprVlN1ZkUzRENvTDYycS80SE1ETEdhL3U3dkVkRG9MM0xzcUVVOWdRZ2FQcGhacFZhYTZsUEdOU1hCeThkRzVqR1xudjF6SEZvMlo4ZS9yT2ZmNHdSUVY1UDNsKzQzcTF1TDJjMC9VRG44aUx0U3VYc2pyZDEzS3JYOC9nWVoxYS83bCswVUZlWnczZkFnelxuSDcyZWppMGEreEJoeFV4UHdGamJTWUNEZWJiMmp1RmFkeE1wakdEOVpTWlljdGVOcExaaTRIRmltM1FTazZBMi91VnFGaFZ3dzVuRFxudVhyY01HYk0rWUVGdnl3ak96T1QxazNxMDZWdGN4d25tSEdMaEVGV1pnWm5IbnNJWnh4ek1KL1BXOEFQUHk5bHk3WnRORzlRajI0ZFxuVzVHZEZkekhkM2tTQVBEd2xMZHRWWnNKL0FjejFGdlpISyt0SHU2UlZpL0Z3ZjBKQ3BjSThHL01QQVFyamgyd0R3OWNHcHh1Lzhwa1xuWjJXeVQrZDI3Tk81bmQraGlLUWN4M0hZbzMwTHE3c0dKa041RWhBbHlpTlQzckZWYlVQZ1NlQUFLcDdyTmQ5RC9mTThsQTJkdE1wMlxuRXVoOHdOb0pHU01IOWVHeGlXZVFFZEhISXlMaEZZazQvUFBTY1l3YzFNZG10ZnRSK1NUcjExeldPd2RZNExKc0tLbUY4YTRWY0xtdFxueW80ZHNFK2d1LzFGUk9LUm9DVGdjaXJldk9kajRBTVhkZDd1UHB4d1VnTGczZTFBcm8yS2poMndENDlPSEs4M2Z4RkpLUWxJQXZJd1xuYS8wcmNncnhuU0w3Rm1hU1lWcFJTK1BOb2NCQUd4V05HTmhIamIrSXBLenlPUUVqQmxwTEFnNENEcXZnZTE4RFE0bnRMSmozZ2NQNVxuNjhaeUtVK3RqWHVad00wMktocCtTRy8rZWRsWU5mNGlsWW42SFlCNGxSR0o4TS9MeGpMOGtGaFc4OFhrYWlwdXg2WmhOb3Fiek00blxuREs0RUxzUXMzL2I3MERoZmFCV0FlOGRneHY4OUdkeXJxeHAvRVVrYkdaRUlEMTAranZVYk4vUHNXNTk0cmE0amNDVHczd3ErL3lOd1xuTkZBSE0zbXdFV1pMK2JtWU4zOHZTd1pEVHdtQU93NW01cjhudlhidndKUFhuVTFtUm9hRmtFUlNuT2JGcG95TVNJUkhKNDduMTlOV1xuODhFWG5sZmVYWW81S2JheUx2d1ZtSjRBMlk1ZU85MFpDT3ptcFlJR2RXb3krZnB6eU12SnRoU1NpRWg0NU9WazgvUU41MUsvZGcydlxuVlhYQ25QNHFjVklDNE01cFhncEhJZzZQWGpVK01QdDNpNGo0b2JoV2RmNTkxWGdieTU1SDI0Z24zU2dCaUY4eDdnK2JBT0Qwb3craVxuWDdkT2xzSVJFUW12L3QxMzVkVERQZStqTmdpb1p5R2N0QkwyQktBUUdBczhBYndMdkFmY2cra09TdFRBK3JGNG1EdFJYS3M2VjR3NVxuMm1JNElpTGhObkhzc2RTdFdlU2xpaXpnZUV2aHBJMHdKd0FuQWo4QmR3UERnRjdBdnNDcHdNdkFwOEFlQ2JqdmNWNEtYelgyV0dvVVxuRnRpS1JVUWs5R29XRmRoNE1UcmNSaXpwSkt3SndOWEFRMEJsczBjNlkzb0Y5ck40MzNyQW5tNExONnBiaTVIMk5zRVFFVWtabzRic1xudDlPamorT3dGMURMVWpocElZd0p3TkhBeFRGZVc0QlordEhJMHIzNzRtRXgwbGwvR3hqb0l6eEZSUHlTazUzRm1jTThiYXlhZ2RuVVxuUjJJVXRnUWdDN2dsempLMWdjc3MzZC8xNjN0V1pnWWpCL1cxRklaSUd0Sk9nQ2x2NU1BK1h2ZEZzWFlxYXpvSVd3SndFTzdlNW9jRFxuT1JidTM5ZHR3WVAyN2tLZEdvVVdRaEFSU1UzMWFsWG5nQjZldGxoeFBVU2Jqc0tXQVBSMFdTNFBzeWUwRjNsQWU3ZUZqOWgvTDQrM1xuRnhGSmZVZjI5L1NzN0lqcEtaWVloQzBCcU8raGJMSEhlN2ZHdzk5WDM2NjdlTHk5U0xyVEdFQTY4UGlzekFIYVdRb2w1WVV0QWRqb1xub2V3V2ovZHU0N1pneTBiRk5LMWZ4K1B0UlVSU1g0dUc5V2plb0s2WEtyVExXb3pDbGdCODZhSHNISS8zZHAxVjd0NnV1Y2RiaTRoT1xuQTBvZlhidzlNeHRhQ2lQbGhTMEJlQVhZNXFMY1o4QjhqL2QyL1VQVnBta0RqN2NXRVVrZmJadDZhc085RHZlbWpiQXRTbDhJUEE2TVxuakxQY3RSYnVYYzF0d1ZhTnZVeGRFQkZBSFFCcHBGVVRUOC9NWXN5ZUFOMkFaa0Ixeks2eDA0R1Zub05MSVdGTEFBRE93V3o3MnpMR1xuNng4Rm5yRndYOWRyK0xUMXI0aEk3R3A2ZTJiMnhmVDROdG5oejB1Qmw0RHpnYmxlYnBBcXdqWUVBQ2FENjBkczh3SCtoYjFqSWwzM1xuQUZUTHk3VVVna2dhaTJvVlFMb296TS96VXJ3WmYyMzh3YlIzZ3pGRHdvZDV1VUdxQ0dNQ0FHWW9vRHR3THJCZ2grK1ZBaDlnUHVoUlxud0ZaTDk4eDNYVEEzMjFJSUlpS3BMOEhQekR6Z1NjelpBV2t0akVNQTVUWURONWQ5dGNMc0VGaUNtZTIveXNlNFJDUUJTa3Z0OXdCRVxuUGZRcU9GWE5TWWc2bXJjUVhObkFIVUFQMG5pRGlUQW5BTnY3b2V4TFJGTFVpdFZyck5lNWZOVmExMldyZWt1dE1rRVF2M1hEYkMvL1xuaXQrQitDV3NRd0Fpa21hV0xQdk5lcDJMbDd1ZkZGNllYOVhjSG1VQUlkRFg3d0Q4cEFSQVJFSmgrcGZ6MkxURjFwUWU0OTNQM084UFxuVnJkR2tjVkl4Q2U3K3gyQW41UUFpRWdvL0w1aEkyOTg0bVV6MEQ5YnZXNDliODM4Mm5YNU5zMnEybTlHUFFBQlV0RTRmNm9NZzd1aVxuQkVCRVF1T0dSNTYzVnRldFQweGh5MVkzRzRzYTdTclo0ZFBSb3pWb0tzckd2TzRRRzJyNktSV1IwUGpnaTNuOGQrcEhudXRaK010eVxuYm5sOGl1dnlPZG1aN042K1dTVlg2TkVhRXRQOERzQlAraWtWa1ZBWmMvVzl6Sm4vcyt2eUd6WnQ1dkR6Ym1MOXhzMnU2K2pScVZYbFxucXdDMEJDQU1mZ0dlOVRzSVB5a0JFSkZRV2J0K0l3ZVB2NFpaM3k2SXUrekt0Yjl6NkRrMzhQazhiejIvQi9YY3JmSUxvbWs5dEJ3V1xuWndDYi9BN0NUMG9BUkNSMEZ2MzZHNzFPdXBUN25uMkRiU1VsTVpWNWErYlg3SFhDQktiTm1PM3AzcEdJdzdBREs5dEV6c0Z4OUdnTlxudUl1QXAvME93bTlLVTBVa2xOWnYzTXpZNng3Z2ppZGZadHhSQnpHazk1NDBLYTc5cDJ2V3J0L0lxeC9ONHVFWDN1TFZqMlpadVcrL1xuYmgxcFVseXJ3dStyOGZmZEJpQ3I3R3RIUHdKbkF1NG5nS1FRSlFBaUVtcmZ6Ri9NK0J2K3lSazNQa1Q5MmpWb1ZMY1dPZG1aTEY2Mlxua3NYTFY3SjFXMnc5QkxFNmIvZ2hsVjhRemRRS1FIOTlDaHdKSEE2MEEyb0FTNEIzZ2FtWUxlTUZKUUFpa2lLaTBTaS9yRmpGTHlzU1xuZHhSSWowNnQyTDk3eDBxdWNIQWNQVllEWUJsd3I5OUJCSjM2cWtSRVl1QTREamVmZld3VjEyUWtLUm9SNzFJNVZYV0Fqa0NIc245ZlxuQXN6RW5DSW9JaEtYRXdmM1lxOWRXMWQ2amJQVFlXZVJZRXJGQkNBQ25BS2NBK3o0MjdvV2VCQzRDckIvdEppSXBLU205V3R6L1JsSFxuVjNxTlF5YnFWSlV3U2JXZjFrTGdkZUJ1L3RyNEF4UmhFb012TUwwRElpS1Z5c25PNUwvWG4wYXRvb0pLcjNNY3ZmMUx1S1JTQWhEQlxuN09xMGZ3elhOc05zQVZueFp0NGlrdlljeCtIZUNTZXdaOGNXVlZ5WFJXbzlUaVVkcE5KUDdNbEEveml1cncvY2thQllSQ1FGM0h6MlxuTUlZZnNrOFZWMFUwOWkraGxDb0pnQU9jNzZMYzRVQkx5N0dJU01obFJDTGNkZUVJempqMmdDcXZkWnhzdFBCZndpaFZFb0IydUd2SVxuSThDZ0dLOTEvUnZ1NkdBUWtkQ29VWmpQTXplTzU1VEQ5NnZ5V29kc0hMVDB6emFQejB3OWNHT1VLcXNBMm5zb3UwdU0xK1c2dlVGZVxuVGlXbmhvbElZT3pac1FYL3VYWXNMUnJXcmZKYWg0ZzIvVW1RM0J4UFF5bzV0dUpJZGFueTArdmxweVhXc2tWdWIxQllrT2UycUlna1xuUVVGZURuOC8vaUF1UEdFUTJWbXhQQllqT0U0dWV0bE1qR3A1cnQrM0FQVEFqVkdxSkFCZXp2WmNGT04xMWR6ZXdPTVBzNGdrU0VGZVxuRGljZjFvZHpoeDlDL2RyVll5emxFSEZ5VU9PZk9CNWZtbUw5SU5OZXFpUUFzNEhWbUVNZjR2VmVETmZrQU1VdTZnYWdzRUFKZ0loWFxuNDQ3YW4xNjd0K1dmLzN1WE4yZk1vYlEwNnJxdVRxMGJNL3lRZlJneGNCL3ExaXlNbzZSRHhNa2xkYVpQQlpQSGw2YUdRRGF3eFU0MFxucVN0VkVvRE53TCtBcytNczl6M3daZ3pYdFFKM00zMXlzN01veUZVQ0lPSlZUbFltUi9YdnpsSDl1N044MVRxbVRaL0QxT2xmTWV2YlxuUmN4YjhBc2JOKy84ZVo4UmlkQzhZUjEyYmQyRS9mYnNRTC91SGVqUXZHSGM5M2ZVN1o4MGhmbDVaR2Rsc21Yck5qZkZNNENtbU9lN1xuVkNKVkVnQ0FxNEZqTU5sZkxLTEFPS0EwaG12YnVRMnFWZVA2UkNKNllJallWTGRtSWNjZTJJTmpEK3dCUUdscGxNWExWN0Y2M1hyV1xucmQvRTFtMGxGQmJrVXJPb2dFWjFhOFk0cmw4eHg4bkVRY3Y5a2lVU2NXalZ1Smh2NWk5Mlc4V3VLQUdvVWlvbEFDdUJ3Wml0Z0d0WFxuY1cwVU9CTjRJOGE2OTNZYlZOdW0ybXhRSk5FaUVZY214YlZvVWx6TGNzME9qcE9salg1ODBLWkpBeThKUUEvZ09ZdmhwS1JVRzhqNlxuRE9nT1RLM2ttb1hBUUdCU0hQWDJjUnRRR3lVQUlxRlUzdVd2eHQ4ZkhsK2VxdHErVVVpdEhvQnlQd0lIQUh0aWVnVGFZcGFGL0lUWlxuLy84bElKNkJwUnJBSG02RGFkc3MvckZHRWZHVGcrTmtsNTN1SjM3eCtPemNHOU1UL0p1ZGFGSlRLditFenl6Nzh1b0lQUHc5OWR5dFxucllVUVJDVHgxTjBmSkQwN3U1NTZCV1lpNEVEZzMzYWlTVTJwTmdTUUNNZTVMVmkvZGczYXFRZEFKTkFjTW5DY0hDSk92aHIvQU9uUVxudkJIRnRUd3Q2UjltSzVaVXBRU2djaTN4TVA3ZnQrc3VPZ2RBSkhBY0hESnhuR3pUNkR1NTZ1NFBJTWR4NkwxSFJ5OVZISUFPZTZ1VVxuRW9ES25ZZUh2eU9QUDd3aUVnZlRxR2VZTjNveXpIK1RpVU1XRGprNDVCSng4c3NhL1p5eXQzMGw2RUhtOFJtYUFaeHJLWlNVcEFTZ1xuWXZXQmtXNExSeUlPZzNxNW5qc29JbkV5alhxdWVhTjNjczEvT3psbVFwOWprZ00xK09FeXBQZWVYdmRSR1FWb0tWWUZsQUJVN0NvOFxuSENyUnQrc3VOSzVYMVhZRUlpSlNrU2JGdGVuVnBZT1hLbktBeXl5RmszS1VBT3hjVjJDMGx3citkbEF2UzZHSWlLU3Z2eDNzK1ZrNlxuQnJNL2pPeEFDY0JmWlFIMzR1SHZKamM3aXlQNjliQVhrWWhJbWpwcS83M0l6ZmEwT2lNQzNFbHFMM3QzUlFuQVgwM0ViQ0xrMnJFRFxuOXFGNnRYeEw0WWlJcEs4YWhRVWNNNkNuMTJxNllZWjFaVHRoVFFEeWdDT0J1NENQZ0tYQVJzeXBnTXVBNmNDRHdOK0FvampxUFFnelxuODkrMVNNVGgvSkdIZXFsQ1JFUzJjOTZJUTIwY3FuWUJjR0FjMXhkaDlvRjVFTk9tTE1PME1Sc3hiYzVIbURib0NEek1GL05UMkxwRVxubW1LV2Rad0FWSFNJZDkyeXIyNlljZnlOd0pQQVA0QjVsZFRkQ1hnQ2owblJZWDI3MDc1NUl5OVZpSWpJZGpxMmFNeVEzbnZ5L05zelxudkZRVEFmNEQ5QUsrcnVTNjlzRDV3TEZVM0xEbkFzWEFYcGhUWmRjQ2p3QTNBb3U4QkpsTVlla0J5QVF1QWVZQzQ2bTQ4ZCtaUE9CRVxuWURibXc5blpCOW9VZUJXbzZTMU11T0NFb1Y2cmtCQ0xScU4raHlDU2tpNDg0VEFiMWRRSTJFaitBQUFnQUVsRVFWVEVQT3ViN3VSN1xuZWNCTm1MYmlST0o3cXkvQ3RFMXpnUW1FNU9VNkRBbEFNZkFXWm16ZVN6ZExGcWIzNEdQK3ZEdFVBOHdSd3A1ZjI0L28xNE05TzdUeVxuV28zRUlTOG4yM1habGF2WFdvd2tjWFY2a1orWDYzY0lmN0p5OVJyWFpiMTgxaEorM1hkcHpkQyszV3hVMVJqenpOOStmNEJXd0NmQVxuMy9IV2VPY0Qxd0J2WXRxdVFBdDZBdEFNZUIvWTEyS2R1d0VmbFAyekFlYUQ4blRxQkVCK2JnNDNuKzE2M3lDcFNMVHljYjlxK1RtdVxucTE2eWJJWHJzaFZadkhTNTlUcTlLS3BXNExyc3BzMmJMVVppTFBuVi9kOTVZYlZnSlRPU2ZMZWVjd0w1dWU1LzU3ZlREdk5pMlFEWVxuRmRQTzdHcWo0aks5eXVwc2JyRk82NEtjQURRSDNnWmFKNkR1K3BpamdkL0dqUGQ0Tm1IVTRUU3RYOGRHVmJLZHFzNVNxRlhrdm9IN1xuK0xPdlhKZmRtWFhyTnpCNzNnOVc2L1NxbW9mVktCOS9YdGt3cVRzZmVmZzdyMVZVclpMdmFvZS9kTkNzUVYwdXREZk0yZzdUQnJ5SlxuYVJOc2ExMVdmL01FMUcxRlVCT0FacGpzckhrQzcxRUhzSEpXYjVzbURmajdjWU5zVkNWeGF0M1VmUy9ibEdrZlVGSlNhaTJXMTk3OVxuaE0xYnRscXJ6d1l2TTZjL24vTXRQeTlkWmkyV2I3NWZ3THdmZjNKZHZrMlRpajlyUndsQTJqaHYrQkRhTkxHMnUyOWJURnVRS01sb1xueTF3TFlnTFFqSUJuVGR2THpzcmswWW5qeWZHMlVZVlV5SUZLZWdIYU5YWC9JRmkrY2pXUFB2ZXE2L0xiaTBhajNQcmdrMWJxQ29xU1xua2xMdWVHaXl0ZnE4L3YyMGJWYkpTNW9UeEVlWkpFSk9kaGIvdnVwMHNqSXovQTRsVnMwSmFCSVF0TithUUdkTE8zUE51R0YwM3lVUlxub3hSU3pxbmt4N1RiTGkwODFYM0ZyUSt5ZnNOR1QzVUFUSDc1TFUvZDIwRjE5MlBQZW5wckx6ZDczZy84NittWFhKZHZXcjgyOVd0WFxuZGphOGVnRFNTWTlPYmJqbXRMLzVIVVk4bW1QYXRtWSt4L0VuUVVvQXlodC9iMC8wSkJxMGIxZk9VZGQvRWxUOGNHOWF2emF0bTlSelxuWGZOUFMzNWw1TjhuZWxxK04rL0huemgxd2o5Y2x3K3lEUnMzTWZ5c0t6MGxTYXZXck9Pb3NSZDdHbTdaYjg4cURvU0pCdWxSSnNud1xuOStNR01YRGZVSjI0Mmh6VHV4MllKQ0FvdnpXaGEveGJOUzdtWDFlTXEzS1NtdGhRZVZmZmdMMjhUZDU5OXRWM09PM1NtOWkyclNUdVxuc3QvT1g4U2dVZWV5ZXUzdm5tSUlzcG16NXpKMHpJVnMyTGdwN3JLL3JWckRvU2VkejdmenZlMk5NbUN2VHBWKzN4ejFLK25FY1J6K1xuZGZscHRHb2MrTlYyMjJ0T2dIb0NncEFBTkNWa2pYOXhyZXE4T3VrU2FsZVBaejhpY2N1SlZ2NXdQKzdndlQzZjQ5N0huK2ZnRTg1aFxud2MrL3hGem02VmZlWXUvRFR1YUhoWXM5M3ovb3BuMHdrMjVEUmpOcnpuY3hsL253MDluMEdIb1M3OC84MHRPOUMvTnpHZHg3OTBxdVxuY05BUVFIcXFVNk9RVis2NG1IcTFLaHNlQ3B3V0JDUUo4RHNCYUlycEVnbE40MStZbjhlVTJ5NEtXOVlaYm81VDZUeUFIcDFhMGE2eVxuQ1dJeG12YkJURHJzUDR5enI3cWRUMmZQMittd3dQb05HM25tbGJmWjk4aFRPWHJjSmF4YXM4N3pmY1BpbSs4WDBHM0lLUDUyeHVWOFxuK09uc25YYnBiOTIyalRmZW44RVJwMDVnM3lOUDVjZWZsbmkrN3hINzcwbCtic1diQURuaDJIUk5FcVIxay9xOGROdEZGT2FIYWp2K1xuUUNRQmZxYk41Vy8rTGF1Nk1DaHlzck40OGRZTDZkL2Q1bjRSRW9zb1c0bEd0MVQ0L1FlZWU1dXgxejFpOVo2TjZ0ZWxkYlBHTkdsUVxuajNYck4vRExzdC80Y3U3M2JOcGNjUnhlUEhEOVJZdyt4dTZja3BzZWVJTHpyNzNMYXAzbGFsWXZaTmQycldoWVhJZHQyMHBZc213RlxuWDM4N256WHI3QTJIT0k3RHJDY21za3VyaWpmcWRKeGNuQ3FHaVNUMVRaMCttOEZuWHgrNHBiaFZtQS8wQmJ6UHRIWEJyOVE1bEkzL1xuNU92UFVlUHZFNGRNb2xUYzhJNFl1QzlYUC9nQ2k1ZXZzbmJQeFV1WEIyNW52eUJadFdZZDcwNmZsZEI3SE5wbmowb2JmN01EZ0JwL1xuZ2Y3ZGQyWHk5ZWR3MUlXM2hDa0pLTzhKMkE4ZmtnQS9oZ0NzTi81WlRoYkQ4NDlrVExYanlYZnNkd05sWjJVeStmcHpHTlNycS9XNlxuSlZhVlAraHpzak81K3JRamtoaVBKRnAyVmlaWGo2djhNM1VjZGYvTEh3YjE2c3JrNjg4aE84dit6MFd0NmhHbS9yT1kvOTVTbC94Y1xucTUzbkxURnQ0czRPS0Vxb1pDY0FUVWhBNHo4aS8wamFaN1dtV1VaalJoVWNhejBKS0NySW8zbEQ5MHZOeEpiS04xczYvdUNlOU5yZFxuODdFT0VoRG5ISGNnN1p0WHR0R1RneFBWQmx6eVo4MGIxcU9vd0c0YlVLdDZoQ24zMUdPdnpqa2MwanVQeWJlbVJoS1F6QVFnWVkxL1xueTh3LzVsRTB5Q2kybmdTc1dMMk8vdU91NHVzZlEzUE1jMHB5bkl4S0p3TTZqc1A5bDV4SVliNE9qUW03VHEwYmMvSG9JWlZlNHpnWlxubGU0U0tlbm42eDhYMFgvY1ZheFliVzl5Ym5uanYxdmJQeWFpOXVtV204Z2tvSW5OU2l1VHJBU2d2UEczZGxhdTZmWS80aytOZnptVFxuQkF5em1nUXNXN21HZnFkZXllenZmWm1ySWVXY3lvK0ViZE9rbVBzdk9URkp3VWdpRk9UbDhKOXJ4MVp4L0srRFUwV1BrS1NYdVFzV1xuTStDMHExbTIwdjJSMHp1cVhoamgrVWwvYnZ6TDllbVd5L09UNmxHUWJ6MEplSThrN1lhYmpBUWdJWTMvaVB3amFaWFp2TUpyR21UVVxuczk0VHNIelZXZ2FjTmxFOUFUNXl5S2h5MDVlaituZm5ncEVEa3hTUjJKUVJpZkRZeEZQbzBMeGhwZGM1VGhiK3IyS1dvUGo2eDBYc1xuZDhvVi9MTEMzaVRnV3RVanZISmZQZmJvV0hFaTJuUDNIUDU3cy9XZWdHYkFWSkxRRTVEbzM2REdKS2p4MzltYi80NGFaQlJ6b3VVa1xuNE5lVmErZy85aXJtelAvWldwMFNINGVxendPL2V0d1JuRGlrVnhLaXNTZUsrKzJJSzZ6VGZwVUo0emdPZDE4MHNvcE5md0FpZXZ1WFxuL3pkbi9zLzBIM3NWdjFwODg2OVZQY0tMZCsvOHpYOUhDUm9PYUVVU2hnTVNtUUEweG16eWs1UnUvNG8wVEZBU3NQK3BWeW9KOEkyRFxuVThWUWdPTTQzRGZoUk1ZZTJTOUpNWG4zMnlwN0Q3RC9yM1BsYXV0MUprSm1Sb1FITHgzRjZFTjdWM210NDFTZEFFcDZtRFAvWi9ZL1xuOVVxcmpYL05JdFA0ZDI1WGRlTmZyayszM0VTc0RraDRFcENvQkNBQmIvNlpETTgvb3RKdS80b29DVWc5RGxsVnJ2K09SQndtblQrY1xuaVdPUElDTVMvTzdpWDM1ZFliM09KUW1vMDdZYWhmazhkOU9aakJ5MGI1WFhtczg5K0orbEpGNmlHdjhwOThUWCtKZnIyOTBrQVhrNVxuQ1VrQ0d0dXN0RndpZnBQS0czOXJaK1NheHIveU1mK3FORXpBNm9CZnl5WUdmdldENWdUNHdid0pWdjNMZHRHSmczajlydk5vVUtkR1xuNG9QeTRMMFpYMWl2MCtzKy9JbTJlL3RtZlBMSTVSeTh6MjVWWG12bWY4VC9ZSmJVTTIvaEVnNFlOOUZxNDErOU1NTC83blRYK0pmclxuMjcxc1ltQ2U5U1RnZlJJd01kQjJBaERJeHI5YytaeUFQTWZlTXJGbEs5ZHd3TGlyK0daKzZoOElFendPanBOTExFbEFuNjd0bWZXZlxuaVl3YTBqdXdKempPbXZNZEN4Y3Z0VmJmNTE5L0c5ZmhSc2xVa0pmRGRlT1A0c09ITHFWVjQ2cjMySENJNEtEbG5RTGZ6RjlNM3pHWFxuVzUzd1Y3TW93a3YzVkQ3aEwxYjc3SkhEa3pkYjd3bG9CcnlCNVo0QW0zdG9Oc0tNK1FleThTOVhHS2xHNjh6bWZMVjFMdHZZWnFYT1xuOVJzMzg4eTBqeG00YjFmcTFpeXlVcWZFeHNIQi9CaFgvVm5tNTJZenVQZnVITFQzcml4ZXZwcnZGLzFxUFo3YzdDeTJlVGozZnR1MlxuRWc3WnovdnBoZ0Ivdi9vT3Z2cjJSOWZsSXhISCtpVEM3S3hNUmgzYW0vOWNPNDZEZSs0VzQ5Q01ROFRKMDVwLzRadjVpK2wzNmhVSlxuR2ZQdjB0NWU3MUtMUnBsMDJ6V0g1NmR1d01VcDR4V3BCUXdCbmdQVzJxalExbTlVSTh5YmZ4dEw5WkhsWkhKOC9wRzB0dGo0YjI5SlxueVZJZVd2OGtHNlB4bjNGZWtmcTFhekR0bnN2cDBLS3l2Y3NsRWFMUkVxSnNoamhtMG44MmR3SDNQZk1XVDArYndacmZOM3E2ZjRmbVxuRFJselJGLytyNzN6RHBPeXV2NzRaOHAyeWxLWHRpQW9WWW1Ob29oSVVVR3dVQVFGTllrbGdpMkpzU1ZxSWlRbVAwT0lOWW5ZTlZGc1xuSU5nYnpTN0ZnblJZMkdVTDI5aUYzV1g3bE44ZmQ0ZTZNenN6NzMybm5zL3o3QlBEN0h2ZXU3c3o3L2Q3enozMzNLc25qbURndE4relxuNzBCd0IrSWsyTzM4K09GTEREenBCRVBqK2ZxN2padzcvYVptVHpUMGh3RW5kT1g5eCs3ZzJXV3JlZjd0enlrdU4vYTg2ZFcxQTFkTlxuR01HTjA4YlFvM083QUs2MFlMVWtJMXYraEszWkJZeTdhUjVGWmZvS1c5UGJXSGxQcy9nZnljbzFkVnp4dTFKcTY3VTY2U3pVQVVLR1xuMDg0NkRFRFVpYjhITVFHeGhac21FeENnNk5VMU5MSjh6V1pXcnR2Q3F2WGIyTDZua0laRzN4bUZqUFp0K0ZuZm5wdy8vR1FtanZ6WlxuVWZ2V1o5NzdKRzh1WHh2VXp3RFF2MDlQdmxuNkRPbHRXZ1YxZlZGcEdjTXV2WUg4b3BLZ3gvQ2JtUmZ5ejl0bkF1QjB1Vml6Y1JjZlxuZmIyUmxldTNzbmxYUGxVMXZqOHpyVktUT0xWZlQ4WU5IY1Q1dzA3bXJNRW5ZYlVHK3JpeFlyVWtJZUl2bUNYKzcvNjdNNmNQTkxldVxueENRVHNCTjFnSkFoRTJEVUFFU3QrSHNRRXhCcnVIQzc2M0ZqSUEzdmRKRzl0NVM4b2pJT1ZOVndzTGFlNU1RRTJxUWwwN1pWS24xN1xuZHFGanVuZHhmdjZkejdueHdSZUN2ai9BaURNSHMvVHBoK2pVUHJEQ3hiekNFaTY5L2k0MmJNMHlkUDhQbjdpREM0YWY0dlgxUFlWbFxuNU93dHBiSzZsc3JxT2l3V2FKV1NUSHJyVkhwMzcwUm1SbnREOTdkZ2J5cjRrN1IvdkxNdHA0Q3hjNkpUL0QxRXFna3c4dW1LZXZIM1xuVU9BczRnVVRUTURLaFE4dzRBUXhBZUhBVFQxdXQ1NGFqMEE1VUZWRDVzVGJxYTMzZm55eFA1elFveXZQUFBSN3hwMHp4Sy92ZjJmNVxubDh6K3c5OHAzbGR1Nkw0SmRsdlYvdFVMVTVNVDdXRTVaOWRpU2NDQ1ZQc0xzU0grSGlMUkJBU2JXK3VHQ2VKL1ZlcTBrSXMvUUhkYlxuRisyN0E0cktEakIyemp5MjVjanVnSEJnSWNudkhRSzZTVytkeXRTeHhvK096c2t2NUlLcmY4UEVYOTdCa2c5WFUxMXpmSjFDUmRWQlxuWG50M09lZk51Sm5KdjdySHNQZ0RORHFjLzA1TFNyc0lMUHJLbC94QVZmcW5pUGdMZ0JML2NUZjlPU2JFSDJEczhHUXpkZ2YwUldseFxuVURQTllFYmlFZjkrd2R5d09lell1VHB0R24zdHZYV0ZEQW96TWdGZE83Wmp4Wk4va2t4QTJIRGpwaEczdXpHa2QxMjNlVGNqcm5zd1xuNkNLODVraEtUS0JQeis1MHkraUl5K1dpc0tTTVhYc0thSFJvelhRMEFyMkJBdmY2bHk5MHVod2ZnTnZrVElBNjJFZjE5eGVFdytLdlxuYzZ0Zk9NWC9TRlo4cXpJQmRRM2FNd0dqZ2IyQlhCU29BWWhaOGZjZ0ppQldjZU9tSWFUTEFsUHVmSngzUC84aFpQZlR4UCtBbjN2K1xuajdrbXdOSzAxcCtBclBVTEhzd1EvN2F0bGZqcjJPZXZBNU5Nd0E3VWNvRGZKaUNRVDEzTWk3OEhzMHpBeW9VUDBMK1g3MVBPQkxOeFxuNDNZMzRzWUpCZ29GL1dGalZoNURycDZMMDJYdWZUUlNDUXppbVBWRTNTWkF0ZksxeTR4Zk9JN3RlL1l5ZHM2OG1CWi9EOHUvcWVQS1xuTzhKckF2eXRBY2hBZFNIU0tQNDJacVpOampqeEIxVVRjRjNhVEswMUFZWDc5alA2eGdmazdJQ3dvdzRTc2xwU0RxMDN0M1NtUUxBTVxuUGltVE82NmVZRXBzazdpUFpvcUpMRU91L3NSbXRVODBVaE5nd1lhRlJLeWtZckdraVBnTHg3RWp0NUJ4TitrVi96YXRWSHZmU0JOL1xuZ1BQUFR1WjEvV2NIOUVNMTVQTXIzZXpQbmJzQks0SCt3WS9wYU96WXVTcHRLdjNzZlhTRk5JV0NwaTJDZFJvekFkMDZ0V1BGazVJSlxuaUVUY09NSHRBb3RMOVJLd0FPN0RoL1FlYWtUbnRvTEZDbGpBN2NUdG93dGhYVU1qUTYrZXk5YWNnSmJtd3NHM3dFakFxOGk3djMxOVxuak12bWVBdmM2YXJYZ3ZvNi92ZGpRYzB0MU85SkR1OFJXbUw3bnIyTXUya2VlMHYxenZ6ZitYZG56b3hBOFQrU1Q3K3VZK2FkMmpNQlxuMjRHeHRKQUphTWtBWktERWY1Q21RV0hEeHF5MEtReXdhK3NZYkNwN25jVThYLzJxMXVXQWpQWnRXYkh3QVFiMU51V0FKeUdVdU4yNFxucU1WWEI4S3RPWHNaZWQyRGhyc05ta2dSTUJSb01UM2wvblp4WDdmZHRRcDNjRlhIZ25Bc08zSUxHVHRucmxieGI5TktpZitRa3lOYlxuL0QyRXF6RFFseldQZS9FSHp5bUNlcGNENUNqaEdNS2lLdGg5TWZDRWJpejY2MDJSZWlSeEhUQUZQOFFmd0hMVzVUc3REdXNZTE1iYlxua0FyQ3pqeHp4UC90ZjBXUCtBT01PMHN0QnlRbm1ySkYwR3U2MmRzVHFTdndHUnJGMzFQd0YwM2k3NkdiTFlOZnBsMUJzbVlUY09FdFxuZjJGSGJtU2UxaWI0ano5VjdPUFBIc3pUOTE4YmFTYWdBYmdLbGY3M0d6RUJnZzUyNUJZeVpyWmU4ZmVrL1llZUVqM2k3MkhjV2NtOFxudWtDN0NlaUhtc2gzYmU3RjV1N1V0ZW1DQWJwR0VDMXIvaTJSN3l6a2hlclh0ZGNFckZ3NGwzNDltLzM3Q0ZHQ0d4ZHVkOHNwL2xjL1xuL3BacjV6NWo2TVJBVFJ3RXBxS0tlNE5DbGdPRVlKRzB2M2MrK2JxV1dYZnUwNzBjc0ExVkUzRFVqUE5ZQTlBT05mTWZyT3V1ZG14Y1xubFRZdDZzWGZnNWdBd1J0cWUySEw3WDlYcnR2Q1ZmY3ZwSFIvVlFoRzFTeEZxR05GMXhrTjVNMEVGSlNXczM3TExvckxLK2pRdGpWblxuRE9oTjcyNmRqZDVPaUFGMjV1bWYrWWRTL1BkWHV0aWUwMGpWUVRjZDBxME1QREZCZHlVL24zeGR5OHc3OTFHdjF3UnNCRVlCaDFvclxuSGpscUsvQWhjS0d1dThXYStIdFFKdUExNnR6MTJtSjI2OVNPVlUvTnBXK21tSUJveGswZGJuZkx1K1Z5aThxWWRkOUN2dDFvN05DZVxuSUZnS3pBWktkUVU4MGdTczJiU1RlLys5aU5YZmJUbXVDK0x3VS9yeTRNMVhNbTZvdHZtRkVHWHN6Q3RrN094NUZKUWFiMW50d2JQbVxuYjNiYS83TjFkY3gvdnBJdnY2dmp5QVJlYXJLRmkwYWxjTitOYmVsM2dyN3RyU2FaZ0krQVNUUTFRVG5TQU53T1BLenJMblpzekVxYlxuU24vN2licENSaFJtbUlEdW5kcXo4cWtIeEFSRU5XN2M3anEvVGlOMHVkd3NYTEtTUHo2NUpCUTdCUFlCZHdFdm1oSGMvZTNpdmcrL1xuL3M3YWV4NS9KZDNoOUc2QUxCWUw5MTgvbGJrM3pzQmlrZTUvOFVTMGluK2p3ODFkQy9iejdPS0RQcjh2d1c1aC9oM3QrTlgwNEk3eFxuYm82UHY2cGwxbDNhVGNCdmdjZmdzQUhvZ3VvZzFGcEg5RmdYZnc5NXpyMjhXUDI2bUFEaEdKcTJCdnB4RGtCdGZRTVgvL1lSUHZ0dVxubTFtREtRZitDVHdCbUxubWNDV3dDRCs3aTk0eWZUeVAzM1dkbUlBNElWckZIK0NXdjVUejB0dSt4ZjlJRnR6VmpqbFhhSkZTd0JRVFxuVUluYUlWRGlhWUgySjFUN1FNUEVpL2dEdExXMnBvKzlGNXNhdCtIdzNqOGxJS3BxYWxtNmNpMlhqRHFURG0zMXZZbUVVR0xCZ3EycFxuM2JCM2F1c2JtSExuNDZ4YXQxWDNBTnpBTjhBQzRGcGdPZmhSbkJBODdWREZoQ24rWHJCdXl5NzI3YS9pb25OT0Z4TVE0MFN6K0wvOFxuYmpWL2Zhb2lvR3RXcnFuajR0R3BkTzZncDhQb1NUMFRPRzFBSW0rdnJNVkhjaTBRa2xBTnYxYlltdjdQSWdMNDhIb2puc1RmZzVrbVxuNE5KUlEyamZWbDg2U1FnbEZpd1dPMnFwN1hqbjdoSC81V3MyNjd5cEczZ0l1QWExbkxjRzBKZWU4czV2Z0lzRHZXamRsbDJVN3E5a1xub3BpQW1DVXJyOGdVOFYvMlJDZUdEVTdTRnJNNUhFNjQ4bzVTS3FzRG0zbTczRkJZNm1UNitEUnRZem1wWndLbjl0ZHFBZ1lCajFxQlxuOFNnSGI0aDRGSDhQbWJadVRYMEM5TDBoQzByTEdUdG5IbGw1UmRwaUNxSEdnc1dTaEFYN1VmOXFvdmovRnJnWDJLTXpzQjlNQ3ZiQ1xuSnhkL3dpMS9mMWJyc2NsQ1pKQ1ZWOFRZT1hyRnYzVmFhTVFmNEpzZjY4Z3ZEazV0UC9tNmpnT1ZlcmY2VGhpWndpdnpPNUtrcDA5QVxuZStCQ0t6RE9hQ1FiTnE1TW5SeVg0dThoMDlaTmU4ZkEvSkl5UnYzcVQyek5sbjRyMFl2SEJDUUNGdW9iSEZ6eCsvK1lKZjZQNnd3YVxuQUlhNmV5MWM4aWszL3ZVcFhDNHhBYkZDVG1FcEY5N3lGL0pMeXJURmJKMW01ZTEvaFViOEFkWnRDbjdWck5IaDVzZHQrbGZkSm94TVxuNFRWOXpZTEdXb0ZUalVSUVcvMm1NakNocjQ0QlJUWGRiVjM0UmRvTWtqUm1Bb3JLRGpEKzFnY2xFeERsV0N3SjFEZmFtSHpIWTN6d1xuMVFhZG9kMm9IVHpoRW4vdy8xUlJyenozOWtwdStyK254UVRFQUZsNVJZeTY0VS9rRkdyYmFSclNtYitIa2pKanVmWmlnOWQ3NDRJUlxueWJ5c0p4TndtaFcxQXlBbzFKRytVK0o2NW44c21iWnVYSnQyaFZZVGtGOVN4dGc1ODlpVlg2d3RwaEJhNmhvYW1YTEhBajVkczBsblxuV0kvNFA2WXphQkRrNmdqeXpMSVZ6QkVURU5Yc3lpOW03Sng1Mm1mK3k1N294UENmaFU3OFFkVWFoUE42WDB3WW1jTExmemRzQXJvYVxuTWdDWHAxNFNsYjM5elViVkJPak5CT1NYbERGbTlsd3hBVkZJWFVNalUrNmN6eWZmYXAzNUEveU84SXMvd0NlNkFqMjdiQVd6L3liTFxuQWRHSUV2KzVNU0grQUNmMXRMZjhUVDdvMTB0ZlU2RG11T2pjRko2WjE4RklpQzVXSU9oOUZCbTJqa1p1SHRQMHRIVTN4UVNNblNNbVxuSUpyd2lQL0gzMmdYLzl1QlIzVUhEWktuVWFjS2F1RzV0MWR5NDE4WGlnbUlJanppbjFjY0crSVBjTUdJRkJJVGdwdGg5Kytkd0lrR1xuRFlRL0REclJrTWxJc2dIWEUrUXVnQjJPM1F4SzZLZTErajJXYUd0dFEyOTdUelkxYnNlcGFZdGdaWFV0eTFhdjVkSlJRMm5mUnJZSVxuUmpKMURZMU12Zk1mWm9qLzc0Z2M4UWVvQUJ6QStib0MvckE5aDl5aWZWd3lhb2hzRVl4d3pCTC9wVTkwNHF3d2lUOUFTcEtGa25JWFxuMzIwT3ZKanZvZCsxWTNCZmMzc1U1QlU1dU95V1VnNVVCYjNiSU04R1hBRmtCbk4xbmJ1T2JZNmRZZ0o4SUNZZ1B2R0kvMGZmL0tnN1xuOU8rQVIzUUgxY0RYcU9mSTZib0MvcmdqaHoxRnBWdzZhcWlZZ0FobGQ0Ris4VytWYW1YWnY4SXIvaDZHRFU1aTJZcWFnTGIwWFRBaVxubVQvZjJnNHozN0o1UlE0bXppNGhaNi9EU0ppdE51QThET3dFcUJVVDBDSm1tb0RMemh0S096RUJFWVdKNG44SGtTbitIdDREZXFMUlxuQkd6WXNZZWN3bEl1R1RVRXE1aUFpR0ozUVRGalpwc2cvazkwNHF4VEkwTkxVcElzbkg5V01oOTlXVWVGSHpQdEVhY25zV2grSjFLU1xuelh1dmVzUS91OENRK0VOVEo4RDJxS05CZzhaakFrNFdFK0NWd3laZ20yWVRzSTVMenhzaUppQkNxRzlvWk5wZEM4d1EvenZSZUZpWFxuU2JpQmQ0RWV3Qm02Z203WXVZZWN2U1ZjZXA2WWdFaEJ6ZnpueGJUNGUraVFidU9LQ1dtVVZUalp0TE94MlNNKzBsSXMzSGx0Vy81OVxuZjN2U1VzeXIvczh2ZHVvU2Y0REhMRUJIWUM5Z3VHUXgzZHFXRzlKbTBjN2ExdkRJWXBWY1p3RXZWcjlCdmNZRGhESXpPckJ5NFZ4T1xuN0pHaExhWVFPQTJORHFiZjgwL2UvZUk3M2FIdkJmNVBkMUFUc1FEL0FtN1dHZlNLQzBid3Y3L2NodDJtcDhlNkVCeDdDa3NaTzJjZVxuMlh0THRNVk1TN0d3NUxIT2pEd2pzc1QvV1BLS0hMei9XUzNiZGpkU1h1a2lvNE9OTXdZbE1tRmtDdTNhbUNmOG9NVC9vdG5GWk9kclxuRWY5R29LdkhUcjhCVE5jUnRiMDFuUnZTWnRIVzJrWkh1SmhranpPZmw2cmZvTjZ0cjFOVXp5NGRXYm53QWZwMEZ4TVFEdW9iR3BsMlxuOXdJKytPb0gzYUh2UWgzcUUyMVlnWVhBcjNRR25UVmhKQy9OdXhXYjFkeUhyZEE4bnBsL2J0RStiVEVqZGVZZlNXZ1dmNERYZ0prZVxuSzcwTDlVRTFuRityZGRleFZaWURmSkp1YmNNSjlreXR5d0VWQjJ0WXRub2RsNDBlU3J2VytnNmhFRnBHeEw5WjNLaWFnSzdBbWJxQ1xuYnN6S0pTdXZrTW1qaDhseVFJakozbHNpNGg4R1RCQi9GK3JBc0dLUEFTZ0VUa0JUOGM1aEU5QmZUSUFYekRNQmE4VUVoSkQ2aGtZdVxuditlZlpvai8zVVN2K0IvSiswQUdNRVJYd0UyNzh0aVpXOGhsbzRkaWxVeEFTTWplVzhLWTJYTzFpLy9TeHp0eDltbWlFZDR3UWZ3QlxubmdPZUFUaHlNZTB6MUpaQXd5Y0RnaklCbXgwN0dKVFFUK3NCT2JGRXVnbUZnUlVIYTFpNmFvMXNFUXdCRFkwT3J2akRJN3luZjgzL1xuUHVEdnVvT0drUStBRHNBd1hRRTM3Y3BqYTNZQlU4WU1FeE5nTXJsRit4ZzNaeDU3TlBiMlQwdXhzUGpSVHB4emhtaUROd3BLbkV5Y1xubzEzOGM0RnBORFh1T3RJQTFBRmZBTE1BTFphc3psM1Bkc2N1QmtrbXdDdHRyVzA0d1piSlJvZmUzUUh2Zkw1ZWJSR1VUSUFwZUdiK1xuSm9qL1BjQkR1b05HQUI4Qm5ZQ2h1Z0p1eWM1bmU4NWVKb3NKTUEzUHpGL253VDVwcVJhV1B0NlprU0wrWGlrb1VUUC8zWGxheGI4U1xuR0Eva2VQN2gySExhUW1BTk1BTU51d0xBczBVd1MweUFEOUt0YmVpdDJRUlVIS3poN2MvV2lRa3dnZnFHUnFiZjh6RHZmL205N3REM1xuQVBOMUI0MGdQa1R0T3RLV0NkaThPNTl0T1hzbEUyQUNPVTNWL2xwbi9xa1dsajdXbVJHbml4WjR3eVR4cndVdUE3NDU4aCtiMjArVFxualRJQjA5RnNBazVPNksrMU4zNHNrVzV0d3dtMkhteHk2R3NXNURFQmswY1BJMTFNZ0JiVVZyK0hlZTlMN1RQLzN4UGI0dS9oUTFUdlxua2VHNkFtN1puYy9XN0FJbWp4NG11d00wa1ZOWXlwalpjMFg4UTR5SjRuOHBzT0xZRjd4dHFOMk5XZzZZZ1lIRGdvNGFnYnVPM2M1Y1xuVGtzNEJadEY5dkUyUjdxMUxiMU5LQXhjdW1xdE5BdlNRRU9qZ3htL2Y5aU1mZjczRTEzNy9JM3lFWkFPbktVcjRKYnNmTGJzem1mS1xubU9GaUFneVNXN1NQc1hQbWFVMzdweVpiV1B4SUowYWVLV2wvYjVncy9zdWJlOUdYRXU4QnZrU2pDVGpvcnNhS2hUNzJYanJDeFNSbVxuYmhFVUV4QThub0svZHo1ZnJ6djAvY0JmZFFlTkFqNENrb0dSdWdKdXpTbmdoKzNaVEJzN1hKb0ZCWWxIL0hVMitVbE5WZ1YvbzRhSVxuK0h1anVNekp4VGVYa0xVbmRPSVB2ZzBBS0JPd0RyZ2NUY3NCaGE1aVJpUU94V1lSbCs2TmRHc2JlcG13SFBET1ordTVUSllEQXNZelxuOHpkQi9QOUFmTTM4ajJVRjBCWTRXMWZBbmJtRmJONmRweklCTm5uR0JJSW43YSsxdzE5VDJ2OWNtZmw3WlcrSmt3bXppOW1wWC93dlxudzRmNFE4c0dBTlJ5d0ZvMG1RQW5UbnJaZTlEQnFtVzNZY3lTYm0ycnZTYmd3TUVhM2w0dE5RR0JVRk5Yei9UZlAyeEd0Zis5eEdhMVxuZjZCOERMUkJvd25ZbHJPWERUdHltRHg2R0FsMnlRVDR3NTdDVXNicXJ2WlBzZkRXWTUwNUo4TGIrNGFUdlNWT0xwcFR6SzVjVThUL1xuMDVhKzBkOVBoMVlUa0dudlNxYXRtOUV3TWM5aEU3QU5KMEdmK1h3VVlnTDhaMzlsTlpOKzh6ZFdyTnVrTy9SOXhQZk0vMWcrQVZvRFxuSTNRRjNKRmJ5QmMvYkdYSzZHRWtKNWw3TG51MHM2ZHA1cTliL0tPaHQzODRDYmY0Zy84R0FKUUowTEljME1mZWkxNzJIa1pDeEEzS1xuQkdScU53SHZmTGFleWFPSGlnbnd3bzg3Y2hoLzY0TnMyTEZIZCtqN2dML3BEaG9EZkFLa0FlZm9DcGhidEkrbHE5WXk2b3hCWkhSSVxuMXhVMnB2QWM3Q1BpSDFvS1M4TXYvaENZQVFCMVpvQmhFekFrOFZReWJKMkN2VHp1U0xlMmJhb0owR2dDcXFyRkJEU0R5K1htWDI5OFxueE14N0g2VmtmNlh1OFBjajR1K0xUNEZVTkpxQXNvcUR2UFRlWjdScms4YVpBMDdFSXVjSEhDS2VUL1VMSjRXbHF0cmZCUEdmVEFEaVxuRDRFYkFEaHNBcVlEOWtBdnRtTGhrcFFMU2JSb3FTbU1HOXFKQ1RDZEg3Wm5NKzN1QlR5N2JBVU9wNTdmOFJIRWE3Vi9vQ3dIVXRDNFxuTzhEaGRQTEJWei93NlpxZkdETG9STHBJTnNBMDhWLzhhQ2NwK1BPQlIveXo5SXAvSFVyOFB3bjB3bUFyWklJMkFZTVRCbko2NHVBZ1xuYnh2Zm1Ha0Nwb3daUnR0V3FWcGlSaHRic3ZPNWJmNXozUDd3aStRWGw1bHhpejhpNGg4SXkxSHR5TS9WR1RTL3BJeG5saTVuYTNZQlxuSi9mSnBGTzcrRHl5M0l5dGZpTCtMUk5wNGcvR2ovOGREeXhEN2VkdGtSUkxNaEZSdkJNQUFCeGJTVVJCVkxlMnVwWjBhMXVEdDQxdlxuc2gyNS9MZm1UUnJjamRwaTl1N1dtVlZQemFWbmw0N2FZa1l5TlhYMXZQdkZkenl6ZERtcjFtL0c3WGFiZGFzL0FnK2FGVHpHK1N0cVxudDRSMkxCWUxZNGVjd3ErbW5zOGw1NTVKU3B3VUNuckVmM2RCc2JhWUl2NHRVMWpxWk9LY0VuYnUwZmZNNXJENGZ4eHNBQjBMWWhjQVxuYjZMMjgvcWk0cHJVYWJzSEpQVFZjdVJ3dkdPR0NlalRQWU9WQ3grSVNSTlFXOS9BaGgxN1dMY2xpMCsvL1lrVjZ6WlNXOTlnOW0zL1xuQlB6RjdKdkVPSDlCTForWVJtcHlFdU9HbnNMNXczL0cwRUVuY1ZyL0UwaE9qTDBsU2pQRVB6WFp3cExIUlB4OUVhbmlEM29NQUVCL1xuNEFtVUdXaU9qNEZmeiswMk56K2h1dlk5c0l6UmROKzRKdHVSeTBzMWI5SW9Kb0JHaDVPZmR1NWhkMEV4QmFYbDVCZVhVVkJTVG41SlxuR1hzSzkxRlVkZ0NIVTA4L0JUOFI4ZGZIbjFHWmxKQmd0OW5vMmpHZG5sMDYwcU56QjdwM2JrK1BqQTcwNk55QlB0MHpHSHhTejZqclxuTDJDVytFdUhQOStZS1A1VFVOMDBEYUc3SlBZVTRDTEEwK3MzQnpYSVF4dXA1M2FibXlvbVFCKzdIWHY0YjgzaXVETUJaUlZWZlBUTlxuajN5OVlUdnJ0K3ppcDZ4YzZodTBmc2lNOEFCS3RBUjl6RVg5WHNOT1VtSUNwL2J0eFpDQkp6TGkxUDVNR0hFYTdTTzR4WFplY1JsalxuWnM4VjhROHhSZnVjWERRN2NzVWY5QnNBdnhBVG9CZXpUTUNxcCthU21kRkJXMHlqN0M0b1p2R0tiM24veSsvNWVzTjJuQzd0bGZvNlxuRVBFM2p3ZFFSaUNpc0ZtdGpEaTFQNU5HbnNIMDg4K21kN2ZPNFI3U0lVVDh3ME0waUQrRXlRQ0FtQURkNURqeWVLbm1UUnJjK3RhMVxuZTNYdHhLcW41bkpDMS9EMWJIQzZYS3hhdjVsbmxpN25yWlZySWxYMEFkekFQY0Evd2oyUUdPYzI0RkVnSWh2OVc2MU54WVZUemc5N1xuSytLODRqTEd6cG5Mcm55OTR2L0d3NTBZUFV6RTN4c2w1U3J0djIyM1Z2RnZRUFhmZVZkbjBMQjJ4UkFUb0Jjek1nRW45c2hnNWNMUVxuWndKcTZ1cjV6K0pQZU9TVjl5amN0eitrOXc2Q1J1QTY0T1Z3RHlSTytEbndIRUgwSVFrbFhUdTI0L2FyTHVibXl5OGtOVG0walhITVxuRXY4M0grbkVlVU5GL0wxUnRFK0ovNDRjN1RQL3FjQ0hPb05DbUEwQWlBblFUYlNiZ05yNkJoWXUrWlQ1THkyanVMekM5UHRwNEFBd1xuQ3hNK25JSlBKZ0tMYUhuM1VkanAwaUdkdTM5eEdiT25YaENTN1lZaS91R2h1RXlsL1RXTGZ6MHE3Vy9LOHlYc0JnREVCT2pHTEJPd1xuNnFtNTlPaHNuZ2w0KzdOMS9Qb2Z6NU5uVGpNZU0vZ09tSUU2SjBNSVBTY0Nid0JuaEhzZy90Q3pTMGNlditzNkxoMDF4TFI3NUplb1xuTlg4Ui85QmlvdmhQQlQ3UUdmUklJc0lBUU1zbXdJRURoOXRKc2tWNlRQdEROSm1BZ3RKeWZqMy9lWmF1WHFzMXJvbTRnWVhBN2FnUFxucVJBK2tvRkhnTmxFMFBQTUYxUEhET2V4dTY2bGU2ZjJXdVBtbDVReGRzNDhzdktLdE1XVU5mK1dLUzVUYWYvdDJkRWwvaEJoSDVoalxuVFVDRnE0b3ZHOWF3cFhFbkIxd3FIWnhnc2RQYjFwT2hpYWN4S0tGZldNY2I2ZXh5NVBDL21pVmFUY0JKbVYxWXVmQUJiU1pnMFVkZlxuY3ZORHoxQlpYYXNsWGdqWUFjd0JWb1Y3SU1KUmpBT2VCUHFHZXlEKzBDWXRoU2YvY0NNengrczU5OGdNOFU5SlVqTi9FWC92UkxQNFxuUS9CbkFaakM2cXJWamFNNlhQQ21yYkZ4eFBjTm0zcS9WUE02ZXh6NTFMa1BUN0pjdUNoejdXZGo0MWJ5bkFYMFR6aUpCRXRFMXdLRlxuamZiV2RESnQzZGprMklaTDA5a0I1WlVIZWZlTDc1Z3laaGh0MG9JL082Q3VvWkhiNWovUGZmOTVsZnBHcmIyeHphSU9kWkxmVlVCV1xubU1jaUhFODI4RXpUZnc4bndnc0U2eHNkdkxWeURTWDdLemgvMkdEc3R1QWZ4V2FKL3h1UGRHS01pTDlYVEJUL2FZUkEvQ0hDTWdBZVxua3F4SnQ5Vzc2aC8zNTNzN1d6dHlmYXVadExMSWFYYmVVSm1BeFRTNjlRbXRrVXhBVG1FcGw5KzlnTyszWldzYmo0azBvQ3JPL3dia1xuaDNrc2duLzBBTzVEN2N5SStDYi9adzdzdytLLzMwR3ZJTGJiRnBTV00yYjJYQkgvRUZOU3J0YjhUUkwvOTNVRzlVVkVaUUNhT05ucFxuZHI2Rm4yT3JkdGV3bzNFM3B5VDJKOUVTOFovMXNHQm1KbURxMk9HMFNVdngrN3FOV2JtTXUya2VPM0lMdFl6RFJLcUFGNEFyVU5YbVxubGVFZGpoQUFsYWlINk11b280VUhFTUZHb0hEZmZoWXYvNVlMenpxVnp1MzkzOVFnNGg4ZVBQdjhvMTM4SVRJTndMK0JnTTRMRmhQUVxuTW1hWmdQYys5OThFZkxWaE8rTnZlNURTL1JHdHBldFIzZWF1QTk0Q29tSXZvdEFzQjREM2dIK2gycEozYS9xS09LcHFhbm50azY4NFxuOS9TQlpHYTAzSUs3b0xTY3NiUDFwLzFmZjdnVFk0ZUwrSHZEcENZL1lSRi9pTHdsZ0ZSZ0g4cTFCNHdzQjdSTWxpT0hselV2Qi9UTlxuN01yS3B4N3dXZFg4OFRjYm1IYjNBbXJxSXE1b3ZoSDRBaVVVN3lMcis3Rk9YK0FTNEdMZ1hDS3NWaUExT1lrbDgrOWsvTm1uZXYwZVxuai9qdnpOT1hSUlB4YnhrVHhmOXkxUE1uNUVTYUFUZ04rTUZJQURFQkxSTnFFL0R4Tnh1WWN1ZDg2c0ovV0U4ZGtBZjhpSnJwZTc0aVxuT2lVaG1FWWJZTWdSWDZjQm1haXRoV0VqT1RHQnR4YmN4WVN6VHp2dU5SSC84R0JpZTk5cGhFbjhJZklNd0huQWFxTkJPdHM2Y24yYVxubUFCZm1HVUNWajAxbDI2ZDJoMzZ0ekNJZno1SzFMY0FlNEhjcG44ckFFcENOUWdocXVrTWRFY1ZFL1pFTFJzTVFwbUVIcUVZUUhKaVxuQWtzWDNIMVVKbUJ2Nlg3R3pKNHI0aDlpb3FtM2Y2QkVtZ0U0bVNPT0RqWkNaMXRIYmtpYlJab2wrSzFxc1k0WkpxQmZ6NjZzWEtoTVxuUUlqRXZ4cjRHTFYrOWlFUThkV0ZRbFRURlppQVdrSVlENWcyeXpqU0JPd3QzYy9ZT1hPMUZzK21KRmw0N1orZEdIZVdpTDgzU3B2RVxuZjJzTWlqOUVuZ0d3QThXQWxoWlpZZ0phWnFjam0xZHFsbWczQWZkZU41VTVmM3ZhVFBIZkFEd0Z2SUtrOElYdzBBYlZGMkkyNEgzUlxuM2dESmlRa3N2UGRHL3ZiOFcxckZQemxSemZ4Ri9MMFQ2K0lQa1djQUFKNEFidFVWTE1QV2lldlRab29KOE1GT1J6WXZWeS9CUVZRMFxuNVBrZWRTNTgyTmJOQktFWkxrSHRIb240Y3dsRS9GdW10TnpKcEp0SzJMSkx1L2hQQjk3UkdkUUlrYmdOOEFmVUZxeWdkZ0ljUzdXN1xuaGgyTzNaeVNNSUJFUzRLT2tERkhCMnM3ZXRpN3NxbHh1N1l0Z2laUWdtckJleHVxSGE4Z1JCSTdVSjBJZHdFak1YRnB3QWpKaVNydFxuZi83Wkl2N2VpQmZ4aDhnMEFBZFJzN3dyMFRRK01RRXRFK0VtNEdYVW11dWFjQTlFRUZyZ0orQjVWQkhoejhJOGxxTVE4VytaZUJKL1xuaUV3REFPcDQxZTlRYXlWYTl1bFd1MnZZMXBqRnlZa0RTSkptUWMzaU1RR2JIUkZqQXVxQU80RjdnS2c1TFVpSWUycFJUYVN5VVlXQ1xuWVo5MUpDWlllSGwrUjhhZm95V3hHcFBzMisvaTRwdE5FZjhyZ0xkMUJ0VkZwQm9BVUExWk5xSk9SZEl5emhwM0xUc2QyWklKOEVFSFxuYXp1NjJicXdPZnlaZ0dMVUNXL0x3amtJUVREQUJ0UU9sY3VBVnVFYWhHZm1QMzZraUw4Mzl1MTNNWEZPc1JuaVA0TUlGWCtJYkFNQVxuc0IyMUhDQ1pnQkFTQWNzQk9TangxN0lsVkJEQ1NDR3dCSmlFcHQxTmdYQm81aS9pNzVWOSsxMU11a203K0RjU3dUTi9ENUZ1QUFCMlxub29SQU1nRWhwSU8xSGQzdFlja0VaQUdqVUNaQUVHS0JBNmdsZ1V1QXdJL1BEQktaK2JlTVIvdzNaNW1TOW8vNDdHVTBHQUNBYlNnVFxuTUEwcERBd1pZVEFCV2NBWVZOYytRUWdYVnRSelJ1ZWJ2Z3BsQWk0bEJKbUE1RVFMaXhaMDVNSVJJdjdlTUVuOFBUUC9pQmQvVUcvMFxuYUdFWk1CbDFlSUlXaXAybFBIUHdGYXJjMWJwQ3hoejk3SDI0T20wYWR2UFBUTWtCTGtDMTdSV0VVTk1EK0N1d0ZWVjgyb2hxSmYweVxuY0xhbWV4U2dEaURhcWlsZXN5UW1XUGp2UXlMK3ZqQlIvR2NRSmVJUGtka0lxQ1Vtb2RiVWtuUUY3R1R0d1BXdFp0RmF6Zzd3aXNuTlxuZ25KUU0vOGNNNElMUWd2Y0N2d2RWV2ZrclREb0plQm1vRWJEL2JvQUs0R0JHbUlkUldLQ2haZi8zcEdKbzBUOHZXSHl6SCtwenFCbVxuRXkxTEFFZXlFOWlNNXBxQUxFY09neE1Ha0NETEFjMXllRGxnR3k3Y3VzTmZnRHE4UnhCQ3pmM0FQemg2cTE1ekU2UFRnR0hBYXhoZlxuR2ppSTZtbnhLeS8zQ29xa1JBdXZMdWpJUmVlSytIdWo3SUNMaTI4VzhmY1FqUVlBVkUzQTk2aWFBQzI1NllQdWFuWTZzc1VFK0VEdFxuRHVobXh1NkFFYWdIYTUzT29JTFFBcU9CRnpnc3dsYkFpZmVsMFJPYlh2L000SDNib09vQnVocU1jd2pQekYvRTN6c0hLbDFjZG1zSlxuUDIwWDhmY1FyUVlBVkNaZ0N4b3pBUWZkMVdRMTdRNFFFOUE4SGF6dDZHYlBhQ29NMUpZSjZBeWNBcnhxSUVZS01BRG9pRElTRFJyR1xuSmNRMkx3TzlqdmszTjc1cm80WUJUeEs4V2JXZ3hPTGNJSzgvRHBuNXQwelpBUmVUYmlwaHczYXRqNFZHVk1mYXFCUi9pSzRpd09aNFxuQy9VSDBHYnBDcDBsUEYvOUtqVnVhVHpuamY3MkU1bVZOaFc3WHY4NENiWEdHaWpqVWMxV3FsQ05vellENWNDWHFQYWIwVmpuSXBoUFxuVCtDY1p2NjlwZXIvVk5SMnZtQzVGYmpJd1BWSGtaUm80UlhwOE9jVGxmWXZZZU1PVThUL0xaMUJRMDIwR3dBUUV4QVdURElCZjhIL1xuZmRLSndJdkFSOENGSEowRnNxTWU3bThBSHhDR0JpeEN4RFBVeDJzdG1jWmdUL3pyakhxUGE4RWovaE5rbjc5WHlpdEUvSDBSQ3dZQVxuMUI5aUptSUNRb29KSnFBZDhHcy92L2Qvd0MvOCtMNEp3UHVvbVpzZ2VHam40N1dXREVDd2h2STNRTnNncnowS0VmK1dLYTlRYVg4VFxueEg4bU1TRCtFTjAxQU1leUZWVVRNQVd0TlFFNUVWOFQwT0J1WUtOakcxODJyT1hyaHZWODM3aVIzYzQ5Tk5KSWUyczZOb3Q1ZithT1xuMXZaME85UXNTRXROd0VEZ1VYeW5ZWCtPcXQ3Mmx4Nm85OFFLQStNU1lvdE0xQ3d1R0ZhaGxwMENJUUZZaEFZam1wUW9CWDh0VVY3aFxuNG1MenhIK0p6cURoSkJiWFI2ZWhpc20wS1haWFd3YlhwVjFKcWlYeVBuRGZOMnprNDdyVkhQVFN6S2kxSlkzeEtXTTRQZUVVVThleFxuelpIRm91cWxPSEhxQ0hjQnNOekxheGJVTHBCK0FjYXNRMVZkSHpBd0xpSDBwS0txNzJ0UVRhSjBOUUxyRHVRU1hCYjBTdUQxQUs4WlxuajFxdU1rUmlncHI1aS9oN3h5UCtQNG40dDBpc0xBRWN5UkswMXdRVVIrUnl3QWQxSzFsUys3NVg4UWVvY2xlenVPWTlQcXhiWmVwWVxuQnRoUDB0a3hjSnlQMXdZUnVQZ0RKR09zZUVzSUhWWlVsdWNyVkVIblQ2ZzIwUWRRTlIxak5OeWpnT0MyODVVM2pTRlFmTDJuL1NJeFxud2NML1pPYnZrNG9xRjVOdjB5NytUdFJ5WTB5SlA4U21BUUMxUGpNTDlMV3RVelVCcjBXTUNmaW1ZVDFmMWEvMSsvdS9yRi9EbW9idlxuVFJ5UmFoczhNM1V5TnVNck1LZjZlTzEwQTNITlRZTUlPdWdFckVaMTNodkIwYytvWkZRRi9VcGdJY1o3Z053SEFhZXMvb3phY1JJb1xuZzRPNDVoQ2VmZjZUcE1PZlY4b3JYRncwdTRUdnQyZ1Zmd2RxUW1sa2kzTEVFcXNHQUdBeE1ab0pxSGJYOEduZDV3RmY5NUdQcFFKZFxuREVqd1pBSU1tWUF1UGw0ejhnVFVYUWpZQ3hnSm5BbWthNDRkajdSQzFXa2N1VWZlMnpMbGJOUXVFQ044QTl3ZHdQZS9CandlNUwyQ1xuYnZyajZlMHY3WDI5WStMTS8rY29MWWxKWXRrQWdFclpYSVhtVE1BTDFhOVI2dzVmMDdxMURUOVE3dzc4amQ3Z2JtQjl3MDhtak9ob1xuK3RuN01EVjFrcEVRdmg2V1JrNEtMRFZ3clljazRIWlVJNm9jNEF0Z2ZkTi9mNDFxVEJXTHRUV2g0Q0dPbnluNytsMWVoY3IwR2VGaFxuNEZwOHorb2JnYjgxM1MvWVN0ZU1JSzlqNFFQdHVmZzhFWDl2N0s5ME1YR09LVFAvbWNUb3pOOURyQnNBZ0RmUnZCeXd0eWtURUM0VFxuc0wxeGw0RnJzelNPeERzZHJMNTJXYldJcndMT3RRU2YxZmtxeU9zODlBSytSWW5HU1VmOGV5TXFNM0UyeW5TK0FjakpVb0hSRFRXclxuUDVhV0d2UDhVY085WDBUOVBmK0UrdnVXQS91QkRjQjgxTkxSZlMyTW95V0NMa3J1a3htNU81REN6ZjVLVmZDbnVjT2ZBNlVaYitvTVxuR29uRWd3RUE5WWZVMmlkZ3I3T1k1OEswSEZEbTJoK1dhd081eHlzMWh1cGxDbjI4dG8vZ2p0dmNpVnBiRHBiMndLZW9RMkdPeGNIUlxucDhoZGprb1h4OHJucXlkd0ovQUs2bmZ3R3ZBN2xHanI0aktDVzlNZkFQeE13LzFMVUUxNnprWTFvMnFQK2x2ZkErelFFTDg0MkF0blxuM0Y3S3R0MWErOWZIQkJWVnFyZS9adkgzRlB6RnZQaEQ3RHlnL0dFeHl0VnByZ2tJZldHZ3c4QldPNU9POHoxRW1Xcy96MVl2b3RKMVxuMEVnWVh3WUE0UGRBSU1VTWJ1QU9BaS80T3BKL0FIMjl2TmJjNStoaTRFWUQ5MnVPVEpRUXY0a1M0cVdvb2pTemlodGJBZjhCZHFOK1xuL3VuQSthakRULzRKN0duNlh4MzVhVjhpM3RLU1NqUVVkN2IwbnZaS1NibVRpWE5LeEFRY1FVV1ZpMHR2MFo3Mjk2ejVMOUlaTkpLSlxuSndNQXlnUmNqZGFhZ0dKZXFINDlwTXNCclMzQlo1ZmJXRnBySE1uUjdIT1Y4MnoxSzFTNmdpbVNQb3FkTGJ5K0c1aUIvd2YrUEFDOFxuYTJBOG1manVPdWp0YzNTZmo5Y0NJUUVsd0ZsTi8zczVTb2dubzFMZ0cxSDcwanRydUplSHRxaHErNXM0M0ZqcldDRzJveklCbjZCT1xudUROQ3NvL1hXaklBdnE2TkZGcDZUL3VrcE56SkpiZVVrSlZycm9HUEJ2WlhxZzUvMytsZjg1OUZISWsveEo4QkFMVStxN1V3Y0srelxuaU9kRFdCalkyOTdUd0xXWkdrZHltSDJ1Y3A0elB2UDNzTnFQNy9rQUdBVnM5elVzbEtNMzJuOTlFcjY3UzNyN0hQWEFkODk1ZjBnRVxuM2tQTi9CTjlmTjhNVkkxRDhHK09vM21SNDhmdWJUMStKR3BibmhGS0RGeXJvN2pUYkZZYkRWQlk2dVNpMmNWeGJRSU9WTHE0NU9ZU1xuZnR5bVhmeXZSbWxEWEJHUEJnRFVIM29tbWsxQXFHb0NUa3M0MmNDMStyT2xaYTc5UEZmOXFpN3hyd0UrOVBONzF3QW5vMmJFejZGT1xuQUZ5TCt2dmVpQ3JzK3ArR01RMXM0WFZmbjZPV3JtMkpCYWpEanZ6aEpOVFBiclJxYkFJcXUzQXNGcnhYd2M5RUdiSmcrVHJJNjV5b1xuN1h5UnpnZW85N1loQ2t1ZFhIaERjVnd1QjNqVy9EV0x2eFA0SllGM2Rvd0o0dFVBZ0VuTEFTK0dZRG1ndDcwbkErd250ZnlOeHpBb1xub1IrOTdEMjBqdVh3bXIvaHRMK0hSVUFnVHNLSnFyeS9BYlYvZkRocWpmb1pvRUxUbUZwYU4vR1ZvamJTZTJBZ2dSK1JQQnoxdmphQ1xucjlvRlh6OXJjMVg4L3ZJaHdhMlRMME5sZWlLZEtqU0pURW01azB0dkxXRlhIR1VDRGxTcVUvMU1TUHRmaFNwdWpVdmkyUUNBK2tCZVxuZzBZVFVPQXNDa21mZ0dtcGsyaHY5Yi8zVEFkck82YW1UTlE2QmhQRXZ4RzE3U3JTTU5KN29NakF0YjhndUlPdGpCWWZqdlR4bWk4RFxuY0s2UDExcWlBYlhNRVFqVndMMEc3aGxxNXFQcFdiTzN4TWxGYzRyandnUWNxSFJ4eVMwbC9MQlZ1L2hmUTV6Ty9EM0V1d0VBdGFYcFxuR294VmlCOUZLRXhBcWlXRkcxdGQ0OWVNL2dSN0pyTmJYVU9LUlYrdGxBbmlEL0F2REJaTG1jVHFJSzl6b1JvRkJjczVRVjQzaE9BelxuRHdtb2RyemU4R1VBZkhWdzlJZEZxQ0pIZjJoQXpkNTBiTkVMRmR1QWYrc0tGZzhtd0NUeGQ2S2UrYS9wREJxTlNNZXl3MHhIUFlDMFxubkdZRDBNMld3WFZwTTdVSzc3RzRjZk5UNHhiV052eElyaVAvMEpHOFZpejB0UGRnZU9McERFNFlwUFVQYlpMNGIwRVZuUmxlSnpVQlxuTzdDWndBOGhlZ3QxT21XdzdBWjZCM2x0VHlBdmlPdXNxQlAzZ3ZrY1ZLTzJEaHJsUnRSc3VhMlgxN2VqbG55KzFIQ3ZVSk1Hck1ONFxuYmNnaE1qclkrR0JoWi9yM2pxMkdRWjQxLy9XYlRWbnpmMWxuMEdoRkRNRFJ6RVFWalJrK3pjWkRkMXNYcmt1N2ttUVRUWUNIQm5jalxuRmU1S0FOSXRiVWl3Nkg4Z3FJSy9SVlRvRmY5OXFMU3pyNHIrY0hNUnFocmYzNnpaUWVBTWpHVTBOcUdLSElPaE04Rlh4LytJN3dPWlxudkxFR09DdklleDVMT21wYjFsalUwYjNWS0VQMExxcGVJSnFudlFOUTVxV0Ryb0RkTzl2NDhLa00rbVJxbTcrRWxZb3FOZk0zWVovL1xuTmNSNGU5OUFFQU53UEZGdEFzekVKUEd2UkZXNXI5RVoxQ1IraTJvRDNOTG5waDYxTStFOWcvZGJoSG8vQmtvSkJuclBBM05SdlJNQ1xuNVI0aXM0WWpFaG1PbnY0Smg0Z1ZFeURpSHpxa0J1QjRYa1h6RnNHQ3BpMkM0VHhBeUNqN1hSVzhVUDJhR2VJL251Z1FmNEJIVWR2alxuY254OHowYlVkamlqNGcvQnRUd0c0K2VXUDRucWhSOElKY0N6QnU4YlQ2eEJaVGUwOWVZdUtGRjlBbmJuUlc5eXBQS2dTdnViSVA2L1xuUk1UL09DUUQ0SjBacU8waFVWVVRZQWI3WFJVOFY3MkkvUzVkdStxQXcrTC9yYzZnSVNJSnRTUXdIclhXN2thbHB6OUF6ZXFNSEJwelxuSkRaVU9qNlE1ZzIxcUdXRGJJUDNubzcvNXhrNFVhY2d2bVB3bnZISW1haTJ6b1pPenpxU2FNMEVWQjVVN1gxbHpUOTBpQUh3VGR5YlxuQUpQRXZ4cVlDSHl1TTJpTWNncXEwWTIveFhXemdhYzEzZnRxNENsODd5aW9RaFhreFYwWE5ZMmNEWHhFSEM4SG1DaisxNktuR1ZoTVxub20yZE8wYlpqQ3BNbTRLbTVaSXFkelZaamh3R0p3d2d3UkxaSDg0REl2NlJRQW13SE5XTzJGZERvbnJnTnhodnlYc2tQNkgyU2JjR1xuK25OMGg4Rks0Q1dVU1RCNnpISzhrdzk4aHNxNkpPa0lXRlh0NXAxVk5Vd2FsVXE3dHBHOTB1dEorNHY0aHg3SkFQaUhDWmtBVlJnWVxucVptQUE2NEtuaFh4anlUYUFIZWhtZ01kZWFCREZhcFc0UCtBclNiZTM0N2FCcG1DMnFxNUE0MjlNd1FnRGpNQkh2RmZ0MG5FUHh5SVxuQWZDZnVERUJKb3IvSk5STVJ6QkdkMVRUbldyVUNZSFJXL1VsSElzcEp1Q2pwelBvM1NPeVRJQ0lmL2dSQXhBWU1XOENSUHdGSWV4b1xuTndFOU1sUW1JRkpNZ0loL1pDQTFBSUZoUWszQXdZaXBDUkR4RjRTSVFIdE5RR1cxbTNkWDFURHB2RlRhdFFsdlRZQ0o0bjhkSXY0QlxuSVFZZ2NEYWoxajhuRTBNbVFJbi9xeUwrZ2hBWjVLTnFaV0xLQkpncy92L1ZHVFFlRUFNUUhERmxBZzZML3dHZFlVWDhCY0VZZVNnVFxuTUlNWU1BRWkvcEdIR0lEZ01jVUU3SExrY0VvSVRZQ0o0bjh4SXY2Q1lKUTgxT2NvcWsxQTVVRVhrMjhyMVMzK0xrVDhEU0VHd0JoUlxuYlFJT3VDck5GUC9WT29NS1Fod1QxU2FncWxxSi85cU45VHJEaXZoclFBeUFjYUxTQkNqeFh5VGlMd2pSUVZTYWdLcHFGNWZkYXByNFxudjZRemFEd2lCa0FQbTFISHZrYUZDUkR4RjRTb0pLcE1nSWgvNUNNR1FCK2JVQ1pBNnhaQjNTWkF4RjhRb2hwUFlhRCszUUdqOVprQVxuRWYvb1FBeUFYamFobGdPMG1vQWNSeDZERXdaZ04yZ0NUQkwvR2tUOEJTR1VtR0lDM2x0ZHk2VHpVZ3liZ09wYU45TitXOHEzRzBUOFxuSXgweEFQclJiZ0lxM0ZWa0d6UUJJdjZDRUZQb053RUhYWVpOUUhXdG02bS9LZUdyNzBYOG93RXhBT1lRVVNiZ2dLdXk2VlEvVThSL1xubGM2Z2dpRDRUVVNaQUpQRTN3M2NERHluTTZpZ0VBTmdIaEZoQWp6aVh5N2lMd2l4U0VTWUFCUEYveWJnS1oxQmhjT0lBVENYVFVBdVxuY0NtYURsNEt4QVNJK0F0Q1hCQldFMUJkNjJhYWlIOVVJZ2JBZkg0a0RDWkF4RjhRNGdyVFRNREZvMU5JYjkyOENmQ0kvNWZtcFAxRlxuL0UxR0RFQm9DS2tKRVBFWGhMZ2tEL2dDelNiZzNWWE5td0NUeFgraHpxQkM4NGdCQ0IwL29qNmdsNkRkQkF6RWJsRi95Z29SZjBHSVxuWjNKUkptQUdrS2dqWUhNbVFNUmZFSUxqV3RRSlZtNWRYejF0M2QxL2F2TTc5OTJ0YjNhM3Q2WnJpOXYwVlEyTU5lMjNJUWlDR1l3RVxucXRENExNanNZbmR2ZXFlYnUvaUxUUGU1WnlicmZzNjRnRG1tL1RZRUlZSzREczBtb0xVbHpaMWtTZEw5b1R3SWpEYnJseUFJZ3FtTVxuUm4yRzlUMW4wcXp1akE0MjNjOFpKM0M5V2I4RVFZaEV0R2NDTkgvSnpGOFFvaC90bVFETlh5NVV0YjhneEIyUmFnSkUvQVVoZG9oVVxuRXlEaUw4UTkycGNEREg2SitBdEM3SEV1a1dVQ1JQd0ZvWWxJTVFFaS9vSVF1MFNLQ1JEeEY0UmpDTGNKRVBFWGhOZ24zQ2JBaGRycVxuSndqQ01ZVExCRlFENDBMdzh3bUNFSDdDWlFKRS9BV2hCVUp0QWtUOEJTSCtDTFVKRVBFWEJEOEpsUWtROFJlRStDVlVKa0RFWHhBQ1xueEd3VFVJT0l2eURFTzJhYkFCRi9RUWlTWDJHT0NUaUlpTDhnQ0lweGFPNFkyUFRsQkc0TTRjOGhDREhIZEZTcVh0ZUhzaEFZRnRLZlxuUUJDRVNHYzRVSVMrNTB3MWNIbElmd0pCaUZGT0JyN0QrSWZ5UFNBanhHTVhCQ0U2NkFLOGovSG56SHBnVUlqSExnZ3hqUTJWVHR0TlxuY0IvSWkwTS9aRUVRb3BCTENXN0NzUXU0QWJDR2ZzaUNFQi9ZZ0FuQXMwQVd6WDhRSGNBRzRKK28xSjRnQ0VLZ25BMDhBbXpFZXkzU1xuVHVCcDRFTFVzMG1JSWl6aEhvQmdtRlpBYjZBMTZrTmFpY29TMUlkelVJSWd4QlJKd0ltbzU0d050WE1nRzFVOEtBaUNJQWlDSUFpQ1xuSUFpQ0lBaUNJQWlDSUFpQ0lBaUNJQWlDSUFpQ0lBaUNJQWlDSUFpQ0lBaUNJQWlDSUFpQ0lBaUNJQWlDSUFpQ0lBaUNJQWlDSUFpQ1xuSUJ6UC93TUxwaHZJN0tscExRQUFBQUJKUlU1RXJrSmdnZz09XG5cIlxuICAgICAgaWQ9XCJpbWFnZTEtN1wiXG4gICAgICB4PVwiNjMuMTU0MTlcIlxuICAgICAgeT1cIjczLjQ2OTQzN1wiXG4gICAgLz5cbiAgPC9nPlxuICA8L2E+XG4gIDxhIHR5cGVvZj1cImJ1dHRvblwiIGhyZWY9XCIvYmllbGVmZWxkLWNlYml0ZWMvY29udHJpYnV0aW9uP3RhYj1iZmgmc3ViVGFiPXBvc3RlcnNcIiA+XG4gIDxnXG4gICAgaWQ9XCJnOVwiXG4gICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zOC40MzA5NjQsLTQ0LjY1MDc1NilcIlxuICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT1cInBvc3RlcnMuc3ZnXCJcbiAgICBpbmtzY2FwZTpleHBvcnQteGRwaT17OTZ9XG4gICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9ezk2fVxuICA+XG4gICAgPGNpcmNsZVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgb3BhY2l0eTogXCIwLjg1XCIsXG4gICAgICAgIGZpbGw6IFwiI2ZhZTk5ZVwiLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgc3Ryb2tlOiBcIiM5NDAwODRcIixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMS4zMjI5MlwiLFxuICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgIHN0cm9rZURhc2hhcnJheTogXCJub25lXCIsXG4gICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgIHBhaW50T3JkZXI6IFwiZmlsbCBtYXJrZXJzIHN0cm9rZVwiXG4gICAgICB9fVxuICAgICAgaWQ9XCJwYXRoMS03XCJcbiAgICAgIGN4PVwiMTM5LjgwNDUzXCJcbiAgICAgIGN5PVwiNjMuODMzMDVcIlxuICAgICAgcj1cIjE4LjUyMDgzNFwiXG4gICAgLz5cbiAgICA8Z1xuICAgICAgaWQ9XCJnN1wiXG4gICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC4wMzk5NDc2NywwLDAsMC4wMzk5NDc2NywxMzAuMzU2MDQsNTIuNzEwODI3KVwiXG4gICAgPlxuICAgICAgPHJlY3RcbiAgICAgICAgeD1cIjEwNi42NzhcIlxuICAgICAgICB5PVwiOC44MjEwMDAxXCJcbiAgICAgICAgc3R5bGU9e3sgZmlsbDogXCIjYTBhN2YzXCIsIGZpbGxPcGFjaXR5OiAxIH19XG4gICAgICAgIHdpZHRoPVwiMjk2LjY3M1wiXG4gICAgICAgIGhlaWdodD1cIjIxOC43MTdcIlxuICAgICAgICBpZD1cInJlY3QxXCJcbiAgICAgIC8+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMTM5Ljg4XCJcbiAgICAgICAgeT1cIjQyLjAyN1wiXG4gICAgICAgIHN0eWxlPXt7IGZpbGw6IFwiI2Y0Y2MxZVwiLCBmaWxsT3BhY2l0eTogMSB9fVxuICAgICAgICB3aWR0aD1cIjIzMC4yNTVcIlxuICAgICAgICBoZWlnaHQ9XCIxNTIuM1wiXG4gICAgICAgIGlkPVwicmVjdDJcIlxuICAgICAgLz5cbiAgICAgIDxyZWN0XG4gICAgICAgIHg9XCIyNDAuOTQ3MDFcIlxuICAgICAgICB5PVwiMzE0LjQyMDk5XCJcbiAgICAgICAgc3R5bGU9e3sgZmlsbDogXCIjZjU5MTIxXCIsIGZpbGxPcGFjaXR5OiAxIH19XG4gICAgICAgIHdpZHRoPVwiMjcuMTQ2XCJcbiAgICAgICAgaGVpZ2h0PVwiMTg4Ljc2MVwiXG4gICAgICAgIGlkPVwicmVjdDNcIlxuICAgICAgLz5cbiAgICAgIDxjaXJjbGVcbiAgICAgICAgc3R5bGU9e3sgZmlsbDogXCIjODUwZjc4XCIsIGZpbGxPcGFjaXR5OiAxIH19XG4gICAgICAgIGN4PVwiMjU0LjUyXCJcbiAgICAgICAgY3k9XCIyOTAuNjA0XCJcbiAgICAgICAgcj1cIjIzLjgxNlwiXG4gICAgICAgIGlkPVwiY2lyY2xlM1wiXG4gICAgICAvPlxuICAgICAgPHJlY3RcbiAgICAgICAgeD1cIjM2LjIxMzAwMVwiXG4gICAgICAgIHk9XCIzMTQuNDIwOTlcIlxuICAgICAgICBzdHlsZT17eyBmaWxsOiBcIiNmNTkxMjFcIiwgZmlsbE9wYWNpdHk6IDEgfX1cbiAgICAgICAgd2lkdGg9XCIyNy4xNDZcIlxuICAgICAgICBoZWlnaHQ9XCIxODguNzYxXCJcbiAgICAgICAgaWQ9XCJyZWN0NFwiXG4gICAgICAvPlxuICAgICAgPGNpcmNsZVxuICAgICAgICBzdHlsZT17eyBmaWxsOiBcIiM4NTBmNzhcIiwgZmlsbE9wYWNpdHk6IDEgfX1cbiAgICAgICAgY3g9XCI0OS43ODY5OTlcIlxuICAgICAgICBjeT1cIjI5MC42MDRcIlxuICAgICAgICByPVwiMjMuODE2XCJcbiAgICAgICAgaWQ9XCJjaXJjbGU0XCJcbiAgICAgIC8+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiNDQ2LjY2OFwiXG4gICAgICAgIHk9XCIzMTQuNDIwOTlcIlxuICAgICAgICBzdHlsZT17eyBmaWxsOiBcIiNmNTkxMjFcIiwgZmlsbE9wYWNpdHk6IDEgfX1cbiAgICAgICAgd2lkdGg9XCIyNy4xNDZcIlxuICAgICAgICBoZWlnaHQ9XCIxODguNzYxXCJcbiAgICAgICAgaWQ9XCJyZWN0NVwiXG4gICAgICAvPlxuICAgICAgPGNpcmNsZVxuICAgICAgICBzdHlsZT17eyBmaWxsOiBcIiM4NTBmNzhcIiwgZmlsbE9wYWNpdHk6IDEgfX1cbiAgICAgICAgY3g9XCI0NjAuMjQxXCJcbiAgICAgICAgY3k9XCIyOTAuNjA0XCJcbiAgICAgICAgcj1cIjIzLjgxNlwiXG4gICAgICAgIGlkPVwiY2lyY2xlNVwiXG4gICAgICAvPlxuICAgICAgPGcgaWQ9XCJnNlwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCIjZjk1NDI4XCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMTUsXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdDogMTBcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDI0MS4wNDgsMzQ0Ljk5MiBjIC00OS4xMzMsNDkuMTMzIC0xMjguNzkzLDQ5LjEzMyAtMTc3LjkyNiwwXCJcbiAgICAgICAgICBpZD1cInBhdGg1XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwiI2Y5NTQyOFwiLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDE1LFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ6IDEwXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA0NDYuMjc2LDM0NC45OTIgYyAtNDkuMTMzLDQ5LjEzMyAtMTI4Ljc5Myw0OS4xMzMgLTE3Ny45MjYsMFwiXG4gICAgICAgICAgaWQ9XCJwYXRoNlwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgICA8ZyBpZD1cImc4XCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3sgZmlsbDogXCIjMzMzMzMzXCIgfX1cbiAgICAgICAgICBkPVwibSAxMDcuNjY2LDIzNi4zNTcgaCAyOTYuNjcxIGMgNC44NzIsMCA4LjgyMSwtMy45NSA4LjgyMSwtOC44MjEgViA4LjgyMSBDIDQxMy4xNTgsMy45NDkgNDA5LjIwOCwwIDQwNC4zMzcsMCBIIDEwNy42NjYgYyAtNC44NzIsMCAtOC44MjEsMy45NSAtOC44MjEsOC44MjEgdiAyMTguNzE1IGMgLTAuMDAxLDQuODcyIDMuOTQ5LDguODIxIDguODIxLDguODIxIHogbSAzNi44NTksLTMzLjIwNiBoIDIyMi45NTEgbCAxNS41NjQsMTUuNTY0IEggMTI4Ljk2MSBaIG0gNS4xNjgsLTE3LjY0MiBWIDUwLjg0OSBoIDIxMi42MTYgdiAxMzQuNjYgeiBtIDIzMC4yNTksNS4xNjYgViA0NS42ODEgTCAzOTUuNTE1LDMwLjExOCBWIDIwNi4yNCBaIE0gMzY3LjQ3NywzMy4yMDYgSCAxNDQuNTI2IEwgMTI4Ljk2MSwxNy42NDIgSCAzODMuMDQgWiBNIDEzMi4wNTEsNDUuNjgxIFYgMTkwLjY3NiBMIDExNi40ODcsMjA2LjI0IFYgMzAuMTE3IFpcIlxuICAgICAgICAgIGlkPVwicGF0aDdcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7IGZpbGw6IFwiIzMzMzMzM1wiIH19XG4gICAgICAgICAgZD1cIk0gNDk3LjUwNyw0OTQuMzU4IEggNDgzLjYyMyBWIDMxNC40MTcgYyAwLC0wLjAzNCAtMC4wMDUsLTAuMDY3IC0wLjAwNSwtMC4xMDEgNi4zMDMsLTUuOTU1IDEwLjI0OSwtMTQuMzggMTAuMjQ5LC0yMy43MTUgMCwtMTcuOTk2IC0xNC42NDEsLTMyLjYzNyAtMzIuNjM3LC0zMi42MzcgLTE3Ljk5NiwwIC0zMi42MzcsMTQuNjQxIC0zMi42MzcsMzIuNjM3IDAsOS4zMzUgMy45NDUsMTcuNzYgMTAuMjQ5LDIzLjcxNSAwLDAuMDM0IC0wLjAwNSwwLjA2NyAtMC4wMDUsMC4xMDEgdiAyNi40NyBjIC0yMS44MjksMjAuNzQ1IC01MC4zMDYsMzIuMTM0IC04MC41MzUsMzIuMTM0IC0zMC4xNjUsMCAtNTguNTg1LC0xMS4zNDMgLTgwLjM5NywtMzIuMDA0IHYgLTI2LjYgYyAwLC0wLjAzNCAtMC4wMDUsLTAuMDY3IC0wLjAwNSwtMC4xMDEgNi4zMDMsLTUuOTU1IDEwLjI0OSwtMTQuMzggMTAuMjQ5LC0yMy43MTUgMCwtMTcuOTk2IC0xNC42NDEsLTMyLjYzNyAtMzIuNjM3LC0zMi42MzcgLTE3Ljk5NiwwIC0zMi42MzcsMTQuNjQxIC0zMi42MzcsMzIuNjM3IDAsOS4zMzUgMy45NDUsMTcuNzYgMTAuMjQ5LDIzLjcxNSAwLDAuMDM0IC0wLjAwNSwwLjA2NyAtMC4wMDUsMC4xMDEgdiAyNi45MjggYyAtMjEuNzY1LDIwLjQ1MiAtNTAuMDQxLDMxLjY3NyAtODAuMDQ0LDMxLjY3NyAtMjkuOTQsMCAtNTguMTYsLTExLjE3OCAtNzkuOTA3LC0zMS41NDkgdiAtMjcuMDU1IGMgMCwtMC4wMzQgLTAuMDA1LC0wLjA2NyAtMC4wMDUsLTAuMTAxIDYuMzAzLC01Ljk1NSAxMC4yNDksLTE0LjM4IDEwLjI0OSwtMjMuNzE1IDAsLTE3Ljk5NiAtMTQuNjQxLC0zMi42MzcgLTMyLjYzNywtMzIuNjM3IC0xNy45OTYsMCAtMzIuNjM3LDE0LjY0MSAtMzIuNjM3LDMyLjYzNyAwLDkuMzM1IDMuOTQ1LDE3Ljc2IDEwLjI0OSwyMy43MTUgMCwwLjAzNCAtMC4wMDUsMC4wNjcgLTAuMDA1LDAuMTAxIFYgNDk0LjM2IEggMTQuNDk0IGMgLTQuODcyLDAgLTguODIxLDMuOTUgLTguODIxLDguODIxIDAsNC44NzEgMy45NSw4LjgyMSA4LjgyMSw4LjgyMSBoIDIyLjcwNyAyNy4xNDQgMTc3LjU5MyAyNy4xNDQgMTc4LjU3NCAyNy4xNDQgMjIuNzA3IGMgNC44NzIsMCA4LjgyMSwtMy45NSA4LjgyMSwtOC44MjEgMCwtNC44NzEgLTMuOTQ5LC04LjgyMyAtOC44MjEsLTguODIzIHogTSA0NjEuMjI4LDI3NS42MDYgYyA4LjI2OCwwIDE0Ljk5NSw2LjcyNiAxNC45OTUsMTQuOTk1IDAsOC4yNjggLTYuNzI2LDE0Ljk5NSAtMTQuOTk1LDE0Ljk5NSAtOC4yNjksMCAtMTQuOTk1LC02LjcyNiAtMTQuOTk1LC0xNC45OTUgMCwtOC4yNjkgNi43MjcsLTE0Ljk5NSAxNC45OTUsLTE0Ljk5NSB6IE0gMzU4LjMsMzkwLjY2NCBjIDI5LjQyNCwwIDU3LjQwNCwtOS4zODEgODAuNTM1LC0yNi43MTkgViA0OTQuMzU4IEggMjc3LjkwMyBWIDM2NC4wNSBjIDIzLjEwNCwxNy4yNzEgNTEuMDMyLDI2LjYxNCA4MC4zOTcsMjYuNjE0IHogTSAyNTUuNTEsMjc1LjYwNiBjIDguMjY4LDAgMTQuOTk1LDYuNzI2IDE0Ljk5NSwxNC45OTUgMCw4LjI2OCAtNi43MjYsMTQuOTk1IC0xNC45OTUsMTQuOTk1IC04LjI2OCwwIC0xNC45OTUsLTYuNzI2IC0xNC45OTUsLTE0Ljk5NSAwLC04LjI2OSA2LjcyNywtMTQuOTk1IDE0Ljk5NSwtMTQuOTk1IHogTSAxNTMuMDczLDM5MC42NjQgYyAyOS4yMTQsMCA1Ny4wMDksLTkuMjQyIDgwLjA0NCwtMjYuMzQ1IHYgMTMwLjA0IEggNzMuMTY3IFYgMzY0LjQxOCBjIDIzLjAwOCwxNy4wMzcgNTAuNzQ4LDI2LjI0NiA3OS45MDYsMjYuMjQ2IHogTSA1MC43NzMsMjc1LjYwNiBjIDguMjY4LDAgMTQuOTk1LDYuNzI2IDE0Ljk5NSwxNC45OTUgMCw4LjI2OCAtNi43MjYsMTQuOTk1IC0xNC45OTUsMTQuOTk1IC04LjI2OSwwIC0xNC45OTUsLTYuNzI2IC0xNC45OTUsLTE0Ljk5NSAwLC04LjI2OSA2LjcyNiwtMTQuOTk1IDE0Ljk5NSwtMTQuOTk1IHogbSAtNC43NTEsMjE4Ljc1MiB2IC0xNzEuMTIgaCA5LjUwMiB2IDE3MS4xMjEgaCAtOS41MDIgeiBtIDIwNC43MzYsMCB2IC0xNzEuMTIgaCA5LjUwMiB2IDE3MS4xMjEgaCAtOS41MDIgeiBtIDIwNS43MiwwIHYgLTE3MS4xMiBoIDkuNTAyIHYgMTcxLjEyMSBoIC05LjUwMiB6XCJcbiAgICAgICAgICBpZD1cInBhdGg4XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvZz5cbiAgPC9hPlxuICA8YSB0eXBlb2Y9XCJidXR0b25cIiBocmVmPVwiL2JpZWxlZmVsZC1jZWJpdGVjL2NvbnRyaWJ1dGlvbj90YWI9YmZoJnN1YlRhYj1ndWlkZVwiID5cbiAgPGdcbiAgICBpZD1cImcxMVwiXG4gICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPVwiZ3VpZGUuc3ZnXCJcbiAgICBpbmtzY2FwZTpleHBvcnQteGRwaT17OTZ9XG4gICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9ezk2fVxuICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMzUuODA0MTU0LC01Ni45MDk5NjQpXCJcbiAgPlxuICAgIDxjaXJjbGVcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIG9wYWNpdHk6IFwiMC44NVwiLFxuICAgICAgICBmaWxsOiBcIiNmYWU5OWVcIixcbiAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgIHN0cm9rZTogXCIjOTQwMDg0XCIsXG4gICAgICAgIHN0cm9rZVdpZHRoOiBcIjEuMzIyOTJcIixcbiAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICBwYWludE9yZGVyOiBcImZpbGwgbWFya2VycyBzdHJva2VcIlxuICAgICAgfX1cbiAgICAgIGlkPVwicGF0aDEtNy0yXCJcbiAgICAgIGN4PVwiMTYwLjc1Mzk1XCJcbiAgICAgIGN5PVwiMTI1LjE2MjMyXCJcbiAgICAgIHI9XCIxOC41MjA4MzRcIlxuICAgIC8+XG4gICAgPGdcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGZpbGw6IFwiIzg1MGY3OFwiLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgc3Ryb2tlOiBcIiMwMDAwMDBcIixcbiAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMzIuNjI0NFwiLFxuICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICBzdHJva2VPcGFjaXR5OiAxXG4gICAgICB9fVxuICAgICAgaWQ9XCJnMTBcIlxuICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuMDIwMDgwMzIsMCwwLDAuMDIwMDgwMzIsMTQ5LjU1NjkxLDExNC40NzEyMSlcIlxuICAgID5cbiAgICAgIDxyZWN0XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgb3BhY2l0eTogXCIwLjg1XCIsXG4gICAgICAgICAgZmlsbDogXCIjZmY3YzE4XCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IFwiMC45OTU2NTNcIixcbiAgICAgICAgICBzdHJva2U6IFwiI2Y1N2QyMlwiLFxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjAuODAwNTExXCIsXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICAgIHBhaW50T3JkZXI6IFwiZmlsbCBtYXJrZXJzIHN0cm9rZVwiXG4gICAgICAgIH19XG4gICAgICAgIGlkPVwicmVjdDEwXCJcbiAgICAgICAgd2lkdGg9XCI2LjcwNTM0MzdcIlxuICAgICAgICBoZWlnaHQ9XCI5Ljk3NTA3ODZcIlxuICAgICAgICB4PVwiMTk3LjUwMjQxXCJcbiAgICAgICAgeT1cIjE1LjQxNDU0N1wiXG4gICAgICAgIHJ5PXswfVxuICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoNDIuNDQ1MTY0LDI2LjA0NzA0MSwtMjcuMTE5Nzk4LDQxLjc2Nzg5MywtNzQ0Ny45MzQ2LC01NzAwLjY2NjYpXCJcbiAgICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PVwiLTQuMjU4NzgyM1wiXG4gICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteT1cIi0xLjc5Njc3NjNcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgb3BhY2l0eTogXCIwLjg1XCIsXG4gICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IFwiMC45OTYwNzhcIixcbiAgICAgICAgICBzdHJva2U6IFwiI2Y1N2QyMlwiLFxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjMyLjYyNDRcIixcbiAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgcGFpbnRPcmRlcjogXCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJcbiAgICAgICAgfX1cbiAgICAgICAgZD1cIk0gNTIxLjg3NTExLDY3MC40OTczIEMgMTA3LjY4NDI3LDUxMS45NTc3NSAxMDcuNjg0MjcsNTExLjk1Nzc1IDEwNy42ODQyNyw1MTEuOTU3NzUgTCAzMS42OTg0MTQsNjIxLjYyOTQ5IDc0LjgyODEwNSw3NjUuMDU2OTMgNTc1LjI4OTc5LDkyNC41NTUxOSA5NDUuMjc3NzMsNDk1Ljk0MTQ5IDkxNC45OTk2MywyNjYuODUwODkgWlwiXG4gICAgICAgIGlkPVwicGF0aDEwXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjk0MjUwMDNlLTUsLTMuODM4NzUwNGUtNSlcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNIDk3MSwxNTIgNTI2LDU1IHEgLTIwLC01IC00MSwtMiAtMjksNiAtNDksMjggTCA3Myw0NzEgUSAzOSw1MDggMjAuNSw1NTUuNSAyLDYwMyAyLDY1MyB2IDE2IHEgMCw1MiAzMCw5My41IDMwLDQxLjUgNzksNTcuNSBsIDQyNywxNDYgcSAyNCw4IDQ4LjUsMSAyNC41LC03IDQwLjUsLTI3IEwgOTc5LDUwOCBxIDEwLC0xMyA3LC0zMCAtNSwtMTkgLTE2LC00MCAtMTAsLTE2IC0xMSwtMjYuNSAtMSwtMTAuNSAwLC0yMS41IDEsLTYgNCwtMjAgbCAzLC0xMCBxIDMsLTE2IC0zLjUsLTI4IC02LjUsLTEyIC0yMy41LC0xNSAtMTMsLTMgLTIzLDUgLTgsNiAtMTksMjIgLTgsMTQgLTEwLjUsMzkgLTIuNSwyNSAzLjUsNDcgNCwxMSAxMCwzMCA0LDExIC00LDIwIEwgNTgzLDg2NCBxIC04LDkgLTIwLjUsMTMgLTEyLjUsNCAtMjQuNSwwIEwgMTQzLDc1MyBRIDExNiw3NDQgOTksNzIxLjUgODIsNjk5IDgyLDY3MCB2IC0zMiBxIC0yLC0yMCA2LC0zMyA4LC0xMyAyMiwtMTcuNSAxNCwtNC41IDI4LC0wLjUgbCAzOTIsMTE4IHEgNywyIDE0LDIgaCAxIHEgMjEsMCAzNiwtMTcgTCA5ODksMjEyIHEgOSwtMTAgOSwtMjMgdiAtMiBxIDAsLTEyIC03LjUsLTIyIFEgOTgzLDE1NSA5NzEsMTUyIFogTSA0MjQsNDkzIHEgLTE2LDE4IC00MiwyNi41IC0yNiw4LjUgLTQ3LDQgLTIxLC00LjUgLTI0LjUsLTIwIC0zLjUsLTE1LjUgMTIuNSwtMzMgMTYsLTE3LjUgNDIsLTI2IDI2LC04LjUgNDcsLTMuNSAyMSw1IDI0LjUsMjAgMy41LDE1IC0xMi41LDMyIHogTSA3NDcsMjc2IHEgLTI0LDI2IC01Niw0MSAtMzYsMTcgLTEwNiwzMSAtNDQsOSAtNjQsMTkgLTE0LDcgLTQzLDM1IC04LDggLTE5LDUgbCAtMTIsLTMgcSAtMywtMSAtNCwtNCAtMSwtMyAxLC01IDIyLC0yNCAzNywtMzUgMTcsLTE0IDU3LC0zNC41IDQwLC0yMC41IDU5LC0zNC41IGwgMTIsLTggcSAyNiwtMTcgMzYsLTI4IDE2LC0xNyAyMi41LC0yOSA2LjUsLTEyIDQsLTIxLjUgLTIuNSwtOS41IC0xMywtMTcgUSA2NDgsMTgwIDYzNiwxNzggcSAtMTgsLTQgLTM1LDEgLTcsMSAtMTQuNSw1IC03LjUsNCAtMTEsOCAtMy41LDQgLTUuNSwxNCBsIC0xLDUgcSAtMywxMSAtNCwxNSAtMyw4IC04LDEzIC0xNSwxNiAtMjksMjAgLTE4LDYgLTM0LjUsMi41IFEgNDc3LDI1OCA0NzQsMjQ1IHEgLTEsLTggMCwtMTcgMywtMTEgMTAsLTE5IDEzLC0xNCAzNSwtMjQgMTgsLTggNDgsLTE3IDI4LC04IDU5LjUsLTkgMzEuNSwtMSA1OS41LDUgNTUsMTMgNzEsNDUgNywxNiA2LDMzIC0yLDE5IC0xNiwzNCB6XCJcbiAgICAgICAgaWQ9XCJwYXRoMS05XCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcIiM4NTBmNzhcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICBzdHJva2U6IFwiIzAwMDAwMFwiLFxuICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjMyLjYyNDRcIixcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDFcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgPC9nPlxuICA8L2c+XG4gIDwvYT5cbjwvc3ZnPlxuXG4gIClcbn1cblxuZnVuY3Rpb24gcmVTaXplKHtuYW1lfTp7bmFtZTogc3RyaW5nfSl7XG4gIGNvbnN0IHJlc2l6ZSA9ICAoX2V2ZW50IDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+e1xuICAgIHZhciBpbWc7IFxuICAgIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5hbWUpO1xuICAgIGlmIChpbWchLmNsYXNzTmFtZSA9PT0gXCJwaWN0dXJlLWZyYW1lIG5vcm1cIil7XG4gICAgICBjb25zb2xlLmxvZyhcIj09PSBwaWN0dXJlLWZyYW1lIG5vcm1cIilcbiAgICAgIGltZyEuY2xhc3NOYW1lID0gaW1nIS5jbGFzc05hbWUucmVwbGFjZShcInBpY3R1cmUtZnJhbWUgbm9ybVwiLCBcImZ1bGwtc2NyZWVuLXdpZHRoXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpbWchLmNsYXNzTmFtZSA9PT0gXCJmdWxsLXNjcmVlbi13aWR0aFwiKXtcbiAgICAgIGNvbnNvbGUubG9nKFwiPT09IGZ1bGwtc2NyZWVuLXdpZHRoXCIpXG4gICAgICBpbWchLmNsYXNzTmFtZSA9IGltZyEuY2xhc3NOYW1lLnJlcGxhY2UoXCJmdWxsLXNjcmVlbi13aWR0aFwiLCBcInBpY3R1cmUtZnJhbWUgbm9ybVwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc2l6ZTsgXG59XG5cbmZ1bmN0aW9uIFBvc3RlckdhbGxlcnkoKXtcbiAgcmV0dXJuKFxuICAgIDw+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxhIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e3JlU2l6ZSh7bmFtZTogXCJiaWVsZWZlbGRcIn0pfT5cbiAgICAgICAgICA8aW1nIGlkPVwiYmllbGVmZWxkXCIgY2xhc3NOYW1lPVwicGljdHVyZS1mcmFtZSBub3JtXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWJpZWxlZmVsZC0xLnBuZ1wiIGFsdD1cIlwiIC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGltZyBjbGFzc05hbWU9XCJwaWN0dXJlLWZyYW1lXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIiBhbHQ9XCJcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgIDwvPlxuICApXG59IiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmltcG9ydCB7IG9wZW5UaGVtIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5UaGVtXCI7XG5pbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi91dGlscy9vcGVuRWxlbWVudFwiO1xuaW50ZXJmYWNlIFVybEJ1dHRvblByb3Bze1xuICAgIGhyZWY6IHN0cmluZyxcbiAgICBjaGlsZHJlbjogc3RyaW5nLFxuICB9O1xuICBpbnRlcmZhY2UgVGFiQnV0dG9uUHJvcHN7XG4gICAgY2xhc3N5Pzogc3RyaW5nLCBcbiAgICBjbG9zaW5nOiBzdHJpbmcsIFxuICAgIG9wZW50eXBlOiBzdHJpbmdcbiAgICAvKiBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSwgICovXG4gICAgLyogb25DbGljazogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZCwgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHR5cGU6IHN0cmluZ1xuICB9XG5cbmV4cG9ydCBmdW5jdGlvbiBWaWxsYWdlYnV0dG9uKHsgdGl0bGUsIHNvdXJjZSwgcGFnZSB9OiB7IHRpdGxlOiBzdHJpbmc7IHNvdXJjZTogc3RyaW5nOyBwYWdlOnN0cmluZ30pIHtcbiAgcmV0dXJuIChcbiAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJ0biB2aWxsYWdlLXN0eWxlLWJ1dHRvblwiIHJvbGU9XCJidXR0b25cIiB0bz17cGFnZX0+XG4gICAgICAgIDxpbWcgc3JjPXtzb3VyY2V9IGNsYXNzTmFtZT1cImQtYmxvY2sgbXgtYXV0byBtYi0yXCIgYWx0PVwiXCI+PC9pbWc+XG4gICAgICAgIDxoMz57dGl0bGV9PC9oMz5cbiAgICAgIDwvTGluaz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlsbGJ1dHRvbnJvdygpe1xuICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgYm90dG9tLWJ1dHRvbnNcIj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9odW1hbi1wcmFjdGljZXNcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvaHVtYW5wcmFjdGljZXMucG5nXCIgdGl0bGU9XCJIdW1hbiBQcmFjdGljZVwiPjwvVmlsbGFnZWJ1dHRvbj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi90ZWFtXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3RlYW0ucG5nXCIgdGl0bGU9XCJUZWFtXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL2V4cGVyaW1lbnRzXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2xhYi5wbmdcIiB0aXRsZT1cIkV4cGVyaW1lbnRzXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL2Rlc2NyaXB0aW9uXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2RuYS5wbmdcIiB0aXRsZT1cIkRlc2NyaXB0aW9uXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL2VuZ2luZWVyaW5nXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2dlbmV0aWMtZW5naW5lZXJpbmcucG5nXCIgdGl0bGU9XCJFbmdpbmVlcmluZ1wiPjwvVmlsbGFnZWJ1dHRvbj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9zYWZldHlcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvc2FmZXR5LnBuZ1wiIHRpdGxlPVwiU2FmZXR5XCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL3Jlc3VsdHNcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvcmVzdWx0cy5wbmdcIiB0aXRsZT1cIlJlc3VsdHNcIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICA8L2Rpdj4gIFxuICApXG59XG5cblxuZXhwb3J0IGNvbnN0IFVybEJ1dHRvbiA9ICh7IGhyZWYsIGNoaWxkcmVuIH06VXJsQnV0dG9uUHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGEgaHJlZj17aHJlZn0gY2xhc3NOYW1lPVwidXJsLWJ1dHRvblwiPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG5cblxuXG5leHBvcnQgY29uc3QgRG93bmxvYWRMaW5rID0gKHsgdXJsLCBmaWxlTmFtZSB9OiB7dXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmd9KSA9PiB7XG5jb25zdCBoYW5kbGVEb3dubG9hZCA9ICgpID0+IHtcbiAgICBmZXRjaCh1cmwpXG4gICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5ibG9iKCkpXG4gICAgLnRoZW4oKGJsb2IpID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2Jsb2JdKSk7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZU5hbWUgfHwgXCJkb3dubG9hZGVkLWZpbGVcIjtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcblxuICAgICAgICBsaW5rLmNsaWNrKCk7XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHRoZSBmaWxlOlwiLCBlcnJvcik7XG4gICAgfSk7XG59O1xuICBcbnJldHVybiAoXG5cbiAgICA8YSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlRG93bmxvYWR9IGNsYXNzTmFtZT1cImRvd25sb2FkLWJ1dHRcIj5cbiAgICAgICAgRG93bmxvYWRcbiAgICA8L2E+XG5cbik7XG59O1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBUYWJCdXR0b25Sb3coe2RhdGEsIGNsYXNzeSwgb3BlbnR5cGUsIGNsb3Npbmd9OiB7ZGF0YTogQXJyYXk8VGFiRGF0ZW5zYXR6PiwgY2xhc3N5Pzogc3RyaW5nLCBvcGVudHlwZTogc3RyaW5nLCBjbG9zaW5nOiBzdHJpbmd9KXtcbiAgbGV0IHJvd3MgPSBbXVxuICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgIGlmKGNsYXNzeSl7XG4gICAgICByb3dzLnB1c2goPFRhYkJ1dHRvbiBjbGFzc3k9e2NsYXNzeX0gdHlwZT17ZGF0YVtpXS5jc3NuYW1lfSBuYW1lPXtkYXRhW2ldLmJ1dHRvbm5hbWV9IG9wZW50eXBlPXtvcGVudHlwZX0gY2xvc2luZz17Y2xvc2luZ30vPilcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHJvd3MucHVzaCg8VGFiQnV0dG9uIHR5cGU9e2RhdGFbaV0uY3NzbmFtZX0gbmFtZT17ZGF0YVtpXS5idXR0b25uYW1lfSBvcGVudHlwZT17b3BlbnR5cGV9IGNsb3Npbmc9e2Nsb3Npbmd9Lz4pXG4gICAgfVxuICB9XG4gIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImFsaWduLWl0ZW1zLWNlbnRlciBub3JtYWwtYnV0dG9uc1wiPlxuICAgIHtyb3dzfVxuICA8L2Rpdj47IFxufVxuXG5cblxuXG4vLyBuZXVlciBcbmV4cG9ydCBmdW5jdGlvbiBUYWJCdXR0b24oe2NsYXNzeSwgbmFtZSwgY2xvc2luZywgb3BlbnR5cGUsIHR5cGV9OlRhYkJ1dHRvblByb3BzKXtcbiAgaWYgKCFjbGFzc3kpe1xuICAgIGNsYXNzeSA9IFwiXCJcbiAgfVxuICBsZXQgY2xhc3NuYW1lID0gXCJ0YWJidXR0b24gXCIgKyB0eXBlICsgXCIgXCIgKyBjbGFzc3k7IFxuICByZXR1cm4oXG4gICAgPD5cbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NuYW1lfSBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogdHlwZSwgY2xhc3NUb0hpZGU6IG9wZW50eXBlLCBjbGFzc1RvQ2xvc2U6IGNsb3NpbmcsIGJ1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwiIH0pfT4ge25hbWV9PC9idXR0b24+XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhQTW9yZUJ1dHRvbih7bmFtZX06IHtuYW1lOiBzdHJpbmd9KXtcbiAgbGV0IGMgPSBcInRpbWVsaW5lcGVyc29udGFic1wiXG4gIHJldHVybihcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGhwLW1vcmUtYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IG5hbWUsIGNsYXNzVG9IaWRlOiBjLCBidXR0b25DbGFzczogXCJ0YWJidXR0b25cIn0pfT4gTW9yZTwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCRkhNb3JlQnV0dG9uKHtpdH06IHtpdDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGJmaC1tb3JlLWJ1dHRvblwiIG9uQ2xpY2s9e2V4cGFuZEl0KHtpdH0pfT4gTW9yZTwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIGV4cGFuZEl0KHtpdH06IHtpdDogc3RyaW5nfSl7XG4gIGNvbnN0IG9wZW5pdCA9ICAoX2V2ZW50IDogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pID0+e1xuICAgIGNvbnNvbGUubG9nKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSlcbiAgICBjb25zb2xlLmxvZyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkpXG4gICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSA9PT0gXCJibG9ja1wiKXtcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIH1cbiAgICBlbHNlIGlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSA9PT0gXCJub25lXCIpe1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpIS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3Blbml0OyBcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25UaHJlZSgpe1xuICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTNcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tdGhyZWVcIj5cbiAgICAgICAgPHNwYW4gdHlwZW9mPVwiYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiYWJvdXRcIiwgY2xhc3NUb0hpZGU6IFwidGFiY29udGVudFwiLCBidXR0b25DbGFzczogXCJ0YWJsaW5rc1wifSl9PkhPVkVSIE1FPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvblR3bygpe1xuICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTJcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tdHdvXCI+XG4gICAgICAgIDxzcGFuIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcImFib3V0XCIsIGNsYXNzVG9IaWRlOiBcInRhYmNvbnRlbnRcIiwgYnV0dG9uQ2xhc3M6IFwidGFibGlua3NcIn0pfT5IT1ZFUiBNRTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25PbmUoe3RleHQsIG9wZW4sIG9wZW5jbGFzc306IHt0ZXh0OnN0cmluZywgb3BlbjpzdHJpbmcsIG9wZW5jbGFzcz86IHN0cmluZ30pe1xuICBpZiAob3BlbmNsYXNzKSB7XG4gICAgcmV0dXJuKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgICAgPHNwYW4gdHlwZW9mPVwiYnV0dG9uXCIgb25DbGljaz17b3BlbkZyb21PdGhlclBhZ2Uob3Blbiwgb3BlbmNsYXNzKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgICA8L2Rpdj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gICAgXG4gIH1cbiAgcmV0dXJuKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94eS0xXCI+XG4gICAgICA8c3BhbiB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuRnJvbU90aGVyUGFnZShvcGVuKX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ0bi1uZXcgYnRuLW9uZVwiPlxuICAgICAge3RleHR9XG4gICAgICA8L2Rpdj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25PbmVFbmdpbmVlcmluZyh7bGFiZWwsIG9wZW59OiB7bGFiZWw6c3RyaW5nLCBvcGVuOnN0cmluZ30pe1xuICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgIDxzcGFuIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogb3Blbn0pfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICB7bGFiZWx9XG4gICAgICA8L2Rpdj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uRm91ckZpbGwoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZmlsbFwiPjxpIGNsYXNzTmFtZT1cImZhIGZhLWhvbWVcIj48L2k+PC9hPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyRW50ZXIoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZW50ZXJcIj48aSBjbGFzc05hbWU9XCJmYSBmYS1ob21lXCI+PC9pPjwvYT5cbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkZvdXJFeHBhbmQoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZXhwYW5kXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyQ29sbGFwc2UoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiAgY2xhc3NOYW1lPVwiaWNvbiBpY29uLWNvbGxhcHNlXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyUm90YXRlKCl7XG4gIHJldHVybihcbiAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiaWNvbiBpY29uLXJvdGF0ZVwiPjxpIGNsYXNzTmFtZT1cImZhIGZhLWhvbWVcIj48L2k+PC9hPlxuICApXG59XG5cblxuXG5cblxuXG5cbiAgICBcbiIsICJpbXBvcnQgeyBCRkhNb3JlQnV0dG9uIH0gZnJvbSBcIi4vQnV0dG9uc1wiO1xuXG5cblxuXG5pbnRlcmZhY2UgSXRlbVByb3BzIHtcbiAgICB0ZXh0Pzogc3RyaW5nOyBcbiAgICBoZWFkaW5nPzogc3RyaW5nOyBcbiAgICB2b3JuYW1lPzogc3RyaW5nLCBcbiAgICB2b3JuYW1lMj86IHN0cmluZywgXG4gICAgbmFjaG5hbWU/OiBzdHJpbmcsXG4gICAgbmFjaG5hbWUyPzogc3RyaW5nLFxuICAgIGRhdGU6IHN0cmluZyAsXG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICB0YWc6IHN0cmluZywgXG4gICAgY29sb3I6IHN0cmluZyxcbiAgICBjc3N0YWc6IHN0cmluZyxcbiAgICB1cmw6IHN0cmluZyxcbiAgICB1cmwyPzogc3RyaW5nXG59XG5cblxuXG5leHBvcnQgY29uc3QgVGltZWxpbmVJdGVtUGljICA9ICh7IGhlYWRpbmcsIHRleHQsIHZvcm5hbWUsIG5hY2huYW1lLCBkYXRlLCB0YWcsIGNvbG9yLCBjaGlsZHJlbiwgY3NzdGFnLCB1cmwgfTpJdGVtUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRhZ1wiIHN0eWxlPXt7IGJhY2tncm91bmQ6IGNvbG9yIH19PlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L3NwYW4+IFxuICAgICAgICAgICAgPHRpbWU+e2RhdGV9PC90aW1lPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzTmFtZT1cInNuaXAxMTEzIHJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3VybH0gYWx0PXtuYWNobmFtZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dm9ybmFtZX0gPGJyLz4gPHNwYW4+e25hY2huYW1lfTwvc3Bhbj48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCB0ZXh0LTEtYmZoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNT57aGVhZGluZ308L2g1PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJcIj57dGV4dH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PXtjc3N0YWd9PjwvQkZITW9yZUJ1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNpcmNsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuKTtcblxuZXhwb3J0IGNvbnN0IFRpbWVsaW5lSXRlbVR3b1BpYyAgPSAoeyB1cmwsIHVybDIsIGhlYWRpbmcsIHRleHQsIHZvcm5hbWUsIG5hY2huYW1lLCB2b3JuYW1lMiwgbmFjaG5hbWUyLCBkYXRlLCB0YWcsIGNvbG9yLCBjaGlsZHJlbiwgY3NzdGFnIH06SXRlbVByb3BzKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0YWdcIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiBjb2xvciB9fT5cbiAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgIDx0aW1lPntkYXRlfTwvdGltZT5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJzbmlwMTExMyByZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXt1cmx9IGFsdD17bmFjaG5hbWV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+e3Zvcm5hbWV9IDxici8+IDxzcGFuPntuYWNobmFtZX08L3NwYW4+PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3NOYW1lPVwic25pcDExMTMgcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17dXJsMn0gYWx0PXtuYWNobmFtZTJ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+e3Zvcm5hbWUyfSA8YnIvPiA8c3Bhbj57bmFjaG5hbWUyfTwvc3Bhbj48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCB0ZXh0LTEtYmZoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNT57aGVhZGluZ308L2g1PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJcIj57dGV4dH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PXtjc3N0YWd9PjwvQkZITW9yZUJ1dHRvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNpcmNsZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuKTtcblxuZXhwb3J0IGNvbnN0IFRpbWVsaW5lSXRlbSAgPSAoeyBkYXRlLCB0YWcsIGNvbG9yLCBjaGlsZHJlbiwgY3NzdGFnIH06SXRlbVByb3BzKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0YWdcIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiBjb2xvciB9fT5cbiAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgIDx0aW1lPntkYXRlfTwvdGltZT5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJGSE1vcmVCdXR0b24gaXQ9e2Nzc3RhZ30+PC9CRkhNb3JlQnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgUGFuZWxUaW1lbGluZUl0ZW0gID0gKCkgPT4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGFnXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogXCJ2YXIoLS1saWdodGJsdWUpXCIgfX0+XG4gICAgICAgICAgICAgICAgVGFsa3NcbiAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICA8dGltZT5QYW5lbCBEaXNjdXNzaW9uPC90aW1lPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHBhbmVsLXRhbGstZ2FsbGVyeVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXJvdW5kXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy90cmFjaS5qcGdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5UYWNpIDxici8+IEhhZGRvY2s8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZFwiICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL2FuaXRhLXNpZnVhbnRlcy5wbmdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5BbmEgPGJyLz4gU2lmdWVudGVzPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmRcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9vbGl2aWEucG5nXCIgYWx0PVwicHItc2FtcGxlMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwgbWlkZGxlXCI+T2xpdmlhIDxici8+IE1vem9sZXdza2E8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZFwiICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9taWRkZW5kb3JmLmpwZWdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5MYXNzZSA8YnIvPiBNaWRkZW5kb3JmPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmRcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9uZW1hbmphLmpwZ1wiIGFsdD1cInByLXNhbXBsZTFcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsIG1pZGRsZVwiPk5lbWFuamEgPGJyLz4gU3RpamVwb3ZpYzwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPHNwYW4+UGFuZWwgRGlzY3Vzc2lvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhbmVsXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgU28gbXVjaCBtb3JlXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwicGFuZWxcIj48L0JGSE1vcmVCdXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjaXJjbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG5cblxuXG5cbiIsICJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU2xpZGVyIGZyb20gXCJyZWFjdC1zbGlja1wiO1xuXG5pbnRlcmZhY2UgU2xpZGVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNpbXBsZVNsaWRlcih7Y2hpbGRyZW59OiBTbGlkZXJQcm9wcykge1xuICB2YXIgc2V0dGluZ3MgPSB7XG4gICAgZG90czogdHJ1ZSxcbiAgICBpbmZpbml0ZTogdHJ1ZSxcbiAgICBzbGlkZXNUb1Nob3c6IDEsXG4gICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgYXV0b3BsYXk6IHRydWUsXG4gICAgc3BlZWQ6IDIwMDAsXG4gICAgYXV0b3BsYXlTcGVlZDogMjAwMCxcbiAgICBjc3NFYXNlOiBcImxpbmVhclwiLFxuICAgIHBhdXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICBuZXh0QXJyb3c6IDw+PC8+LFxuICAgIHByZXZBcnJvdzogPD48Lz5cbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNsaWRlci1jb250YWluZXJcIj5cbiAgICAgICA8U2xpZGVyIHsuLi5zZXR0aW5nc30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU2xpZGVyPlxuICAgIDwvZGl2PlxuICAgXG4gICk7XG59IiwgImltcG9ydCB7IFBhbmVsVGltZWxpbmVJdGVtLCBUaW1lbGluZUl0ZW0sIFRpbWVsaW5lSXRlbVBpYywgVGltZWxpbmVJdGVtVHdvUGljIH0gZnJvbSBcIi4vVmVydGljYWxUaW1lbGluZVwiO1xuaW1wb3J0IFNpbXBsZVNsaWRlciBmcm9tIFwiLi9TbGlkZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEJGSFRpbWVsaW5lICgpIHtcbiAgICByZXR1cm4oXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSd0aW1lbGluZS1iZWdpbic+XG4gICAgICAgICAgICAgICAgQmVnaW4gJiBPcGVuaW5nXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtVHdvUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2tyaXN0aWFuLmpwZWdcIlxuICAgICAgICAgICAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL3JhbS5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J1NjaWVudGlmaWMgVGFsayBJLidcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tbGlnaHRibHVlKSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJ0YWxrb25lXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiS3Jpc3RpYW5cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWUyPVwiUmFtXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIk1cdTAwRkNsbGVyXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZTI9XCJTaGFrYXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRhbGtvbmVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICBTbyBtdWNoIG1vcmVcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9jaHJpc3RpYW4ta29sbGFuZC5wbmdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0hvdyB0byBXaWtpJ1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJ3aWtpd29ya3Nob3BcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJDaHJpc3RpYW5cIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiS29sbGFuZFwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm5pbmcgdGhlIGJhc2ljcyBvZiBXaWtpIGNvZGluZyBhbmQgZGVzaWduLiBJbiB0aGlzIHdvcmtzaG9wLCB0aGUgcGFydGljaXBhbnRzIGdlaW5lZCBleHBlcnRpc2UgdG8gZWxldmF0ZSB0aGVpciB0ZWFtcyB3aWtpLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ3aWtpd29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICBzbyBtdWNoIG1vcmVcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy90cmFjaS5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0hvdyB0byBTeW5CaW8nXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIEkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInN5bndvcmtzaG9wXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiVHJhY2lcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiSGFkZG9ja1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkRlc2lnbiBnZW5ldGljIGNvbnN0cnVjdHMgYW5kIHJlLXdyaXRlIHRoZSBnZW5vbWljIGNvZGUsIGFuZCBwbGFuIGV4cGVyaW1lbnRzIHVzaW5nIEFJLiBMZWFybiBob3cgdG8gZWZmZWN0aXZlbHkgYnVpbGQgZ2VuZXRpYyBjaXJjdWl0IHN5c3RlbXMgZm9yIGltcGxlbWVudGF0aW9uIGluIHlvdXIgaUdFTSBwcm9qZWN0LlxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInN5bndvcmtzaG9wXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgU28gbXVjaCBtb3JlXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVR3b1BpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvanVsaWFuLWdpcC5qcGdcIlxuICAgICAgICAgICAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL3Zpa3RvcmlhLmpwZ1wiXG4gICAgICAgICAgICAgICAgdm9ybmFtZTI9XCJXaWt0b3JpYVwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIkp1bGlhblwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJCb3JiZWNrXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZTI9XCJQYWxrYVwiXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIHVzZSBBSSBhcyBhIHNjaWVudGlzdCdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSS4nXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLXRleHQtcHJpbWFyeSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwiYWl3b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aDU+TW9kZXJuIHByb2JsZW1zIHJlcXVpcmUgbW9kZXJuIHNvbHV0aW9uczwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPkNvbXB1dGF0aW9uYWwgdGVjaG5vbG9naWVzIGFyZSBnZXR0aW5nIG1vcmUgaW4gdGhlIGZvY3VzIG9mIHNjaWVudGlmaWMgcmVzZWFyY2guIEludGVncmF0aW9uIG9mIGdlbmVyYXRpdmUgS0kgbGlrZSBHZW5BSSBieXBhc3MgbGltaXRhdGlvbnMgYW5kIG9mZmVycyBwb3RlbnRpYWwgcmlza3MgLSBsZWFybiBob3cgdG8gaW1wbGVtZW50IEFydGlmaWNpYWwgSW50ZWxsaWdlbmNlLlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJhaXdvcmtzaG9wXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgU28gbXVjaCBtb3JlXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9rYXJsYS13YWduZXIuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdTY2llbnRpZmljIFRhbGsgSUkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGt0d29cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJLYXJsYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJXYWduZXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRhbGt0d29cIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICBTbyBtdWNoIG1vcmVcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1cbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nVGVhbSBwcm9qZWN0IHByZXNlbnRhdGlvbnMnXG4gICAgICAgICAgICAgICAgdGFnPSAnVGVhbSBwcmVzZW50YXRpb25zJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1hY2NlbnQtcHJpbWFyeSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJ0ZWFtcHJlc1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aDU+VGVhbSBwcm9qZWN0IHByZXNlbnRhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBiZmgtc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvU2ltcGxlU2xpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidGVhbXByZXNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICBTbyBtdWNoIG1vcmVcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1cbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nUG9zdGVyIEV4aGliaXRpb24gQm9vdGgnXG4gICAgICAgICAgICAgICAgdGFnPSAnVGVhbSBwcmVzZW50YXRpb25zJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1hY2NlbnQtcHJpbWFyeSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwidGVhbWJvb3RoXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxoNT5Qb3N0ZXIgRXhoaWJpdGlvbiBCb290aCA8L2g1PlxuICAgICAgICAgICAgICAgICAgICBbTGluayB2aXJ0dWFsIGV4aGliaXRpb25dXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJmaC1zbGlkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPFNpbXBsZVNsaWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1wbGFzbWlkLWZhY3Rvcnkud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1mcmFua2Z1cnQud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi16eW1vLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tYWlyLXZpZXcud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1iaW9nbGltbWVyLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tZWluZGhvdmVuLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tZW5kb3NlbnNlLWp1ZGdlLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24taXNhYmVsbC1lcmtsLXJ0LndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tam9lcm4ud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1tYXJiaXJnLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tb25jby1iaW90aWNhLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tcmVmaWJhLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9leGhpYml0aW9uL3Bvc3RlcmV4aGliaXRpb24tdGVkZHkud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi16eW1vLWdydXBwZS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRlYW1ib290aFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNvIG11Y2ggbW9yZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW0+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvc3ZhbmphLXZpbmtlLmpwZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIHdvcmsgc2FmZSdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInNhZmV3b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIlN2ZW5qYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJWaW5rZVwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIkFib3V0IER1YWwtdXNlIGFuZCBCaW9zYWZldHlcIlxuICAgICAgICAgICAgICAgIHRleHQ9XCJOb3ZlbCB0ZWNobm9sb2dpZXMgb3BlbmVkIHBvc3NpYmlsaXRpZXMgYW5kIHJpc2tzLiBMZWFybiBob3cgeW91IGltcGxlbWVudCBTYWZldHkgYW5kIFNlY3VyaXR5IFN0cmF0ZWdpZXMgd2l0aGluIHlvdXIgcHJvamVjdCBhbmQgdGhpbmsgbW9yZSByZXNwb25zaWJsZSBpbiB0ZXJtcyBvZiBEdWFsIFVzZS5cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNhZmV3b3Jrc2hvcFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBiaW9zYWZldHkgd29ya3Nob3Agd2FzIGhlbGQgYnkgU3ZlbmphIFZpbmtlLiBTdmVuamEgaXMgYSBwb3N0ZG9jdG9yYWwgcmVzZWFyY2hlciBzcGVjaWFsaXppbmcgaW4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ludGhldGljIGJpb2xvZ3kgYXQgdGhlIENodXJjaCBMYWIsIEhhcnZhcmQgTWVkaWNhbCBTY2hvb2wsIGFuZCBzZXJ2ZXMgb24gdGhlIFNhZmV0eSBhbmQgU2VjdXJpdHkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWl0dGVlIG9mIGlHRU0uIFNoZSBzdGFydGVkIGJ5IG91dGxpbmluZyB0aGUga2V5IGNvbmNlcHRzIG9mIGJpb3NhZmV0eSBhbmQgYmlvc2VjdXJpdHkgYW5kIGVtcGhhc2l6ZWQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaG93IGltcG9ydGFudCBsYWJvcmF0b3J5IHNhZmV0eSBpcyBmaXJzdCBhbmQgZm9yZW1vc3QuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5TaGUgYWxzbyBleHBsYWluZWQgd2hpY2ggc2FmZXR5IGFzcGVjdHMgd2Ugc2hvdWxkIGNvbnNpZGVyIGZvciBvdXIgcHJvamVjdDogIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICAgIHBvc3NpYmxlIG1pc3VzZSAoZHVhbCB1c2UpICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgYnVpbHQtaW4gc2FmZXR5IGxldmVscyA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgaWYgcG9zc2libGUsIHNldmVyYWwgYnVpbHQgaW4gc2VjdXJpdHkgbWVjaGFuaXNtcyBvciBhdCBsZWFzdCByZWNvZ25pemFibGUgdGhhdCBzYWZldHkgc3RyYXRlZ2llcyB0aGF0IGhhdmUgYmVlbiB3b3JrZWQgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhpcyBwYXJ0aWN1bGFybHkgYXBwbGllcyB0byBhbnkgZGVsaXZlcnkgc3lzdGVtcyB0aGF0IGNhbiBhZGRyZXNzIHRoZWlyIHRhcmdldCBwYXJ0aWN1bGFybHkgZWZmaWNpZW50bHksIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHRoZXNlIHN5c3RlbXMgY291bGQgYmUgdGhlIGNlbnRlciBvZiBwb3RlbnRpYWwgbWlzdXNlLiAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+RmluYWxseSwgZWFjaCB0ZWFtIGdhdmUgYnJpZWYgcHJlc2VudGF0aW9ucyBvZiB0aGVpciBwcm9qZWN0cyBhbmQgZW5nYWdlZCBpbiBhIGdyb3VwIGRpc2N1c3Npb24gb24gcG90ZW50aWFsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5IHJpc2tzIGFuZCBnZW5lcmFsIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zLiBUb2dldGhlciwgd2UgYnJhaW5zdG9ybWVkIGFuZCBpZGVudGlmaWVkIHNwZWNpZmljIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdHMgb2YgZWFjaCBwcm9qZWN0IHRoYXQgY291bGQgcHJlc2VudCBwb3RlbnRpYWwgcmlza3MuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkZyb20gU3ZlbmphXHUyMDE5cyBzZW1pbmFyLCB3ZSBsZWFybmVkIHdoaWNoIHNhZmV0eS1yZWxldmFudCBhc3BlY3RzIGFyZSBwYXJ0aWN1bGFybHkgaW1wb3J0YW50LCBhcyB3ZWxsIGFzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBpbXBvcnRhbmNlIG9mIGV4YW1pbmluZyBhIHByb2plY3QgZnJvbSBkaWZmZXJlbnQgcGVyc3BlY3RpdmVzIHRvIGlkZW50aWZ5IGFuZCBtaW5pbWl6ZSBwb3RlbnRpYWwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlza3MgcmVsYXRlZCB0byBsYWIgd29yayBhbmQgdGhlIGVudmlyb25tZW50LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtVHdvUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9qdWxpYS1qLWxhaW5vd3NraS5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0hvdyB0byBDb21tdW5pY2F0ZSBTY2llbmNlJ1xuICAgICAgICAgICAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21hbG1lbmRpZXIucG5nXCJcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIHZvcm5hbWUyPVwiQ2Fyb2xpblwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIkp1bGlhXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkthbGlub3dza2lcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lMj1cIk1hbG1lbmRpZXJcIlxuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cImNvbW13b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkV4cGVyaWVuY2UgaG93IHNjaWVuY2UgY29tbXVuaWNhdGlvbiBjb3VsZCBiZS4gTGVhcm4gY3JlYXRpdmUgYW5kIGZ1bm55IHdheXMgdG8gY29tbXVuaWNhdGUgZGlmZmljdWx0IHRvcGljcy4gVGhpbmsgb3V0c2lkZSB0aGUgYm94IGFuZCB0cmFpbiB5b3VyIHNraWxscy4gXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxicj48L2JyPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImNvbW13b3Jrc2hvcFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj48L2JyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg2PlNldHRpbmc8L2g2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHdvcmtzaG9wIHdhcyBvZmZlcmVkIHRvIHVzIGJ5IDxhIGhyZWY9XCJodHRwczovL3d3dy5zdHVkLXNjaWNvbS5kZS9cIj5TdHVkU2NpQ29tPC9hPi5cbiAgICAgICAgICAgICAgICAgICAgICAgIFN0dWRTY2lDb20gaXMgYW4gaW5pdGlhdGl2ZSBmb3Igc2NpZW5jZSBjb21tdW5pY2F0aW9uIGJ5IHN0dWRlbnRzIGZvciBzdHVkZW50cyBpbiBHZXJtYW55LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZXkgaGVsZCB0aGlzIHdvcmtzaG9wIGZvciB1cyBmb3IgdGhlIHZlcnkgZmlyc3QgdGltZSBhbmQgd2UgYXJlIGdsYWQgdGhhdCB3ZSB3ZXJlIGFibGUgdG8gb2ZmZXIgdGhlIFxuICAgICAgICAgICAgICAgICAgICAgICAgdXByaXNpbmcgU3R1ZFNjaUNvbSB0ZWFtIGEgcGxhdGZvcm0gdG8gdHJ5IG91dCB0aGlzIGtpbmQgb2Ygb3V0cmVhY2guIEluIGFkZGl0aW9uLCB3ZSB3ZXJlIGFibGUgdG8gZ2FpbiBcbiAgICAgICAgICAgICAgICAgICAgICAgIGtub3dsZWRnZSBhYm91dCBwcm9wZXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIFx1MjAxMyAgYSBjbGVhciB3aW4td2luIHNpdHVhdGlvbiBmb3IgYWxsIG9mIHVzIVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg2PldoYXQgZGlkIHdlIGxlYXJuPzwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEp1bGlhIEthbGlub3dza2ksIFBoRCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgRm9yZWlnbiBNaW5pc3RlciBvZiBTdHVkU2NpQ29tLCB0b2dldGhlciB3aXRoIENhcm9saW4gTWFsbWVuZGllciwgXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtZXIgcGh5c2ljcyBzdHVkZW50IGFuZCBub3cgb3JnYW5pemVyIGluIHRoZSBTdHVkU2NpQ29tIHRlYW0sIGludHJvZHVjZWQgdXMgdG8gdGhlIHRoZW9yaWVzIGFuZCAgcHJhY3RpY2UgXG4gICAgICAgICAgICAgICAgICAgICAgICBvZiBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NpZW5jZSBjb21tdW5pY2F0aW9uIGFuZCBob3cgdG8gZGV2ZWxvcCBhIGNvbW11bmljYXRpb24gc3RyYXRlZ3kuIFxuICAgICAgICAgICAgICAgICAgICAgICAgSW4gZGV0YWlsLCB3ZSB3ZXJlIHRhdWdodCB0byBhc2sgb3Vyc2VsdmVzIHNldmVyYWwgcXVlc3Rpb25zIHRvIGRlZmluZSBvdXIgdG9waWMsIHRoZSBtZWRpdW0gb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tdW5pY2F0aW9uLCBhcyB3ZWxsIGFzIHRoZSBjaGFyYWN0ZXJpemF0aW9uIG9mIG91ciB0YXJnZXQgZ3JvdXAgYW5kIHRoZSBwbGFubmVkIGFjaGlldmVtZW50IHdpdGggb3VyIFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NpZW5jZSBjb21tdW5pY2F0aW9uLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL3ZvcnRyYWctc2NpY29tLWJmaC1zY3JlZW5zaG90LmpwZ1wiPjwvaW1nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGtleSBtZXNzYWdlIGZvciB1cyB3YXMgdG8gcGxhbiB0aGUgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGJlZm9yZSB3ZSBkaXZlIGluIGFuZCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0IGF1ZGllbmNlIGdldHMgdGhlIG1lc3NhZ2Ugd2Ugd2FudCB0byBzZW5kLiAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg2PkltcGxlbWVudGF0aW9uPC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgQWZ0ZXJ3YXJkcywgdGhlIGF0dGVuZGluZyBpR0VNIHRlYW1zIHRhbGtlZCBhYm91dCB0aGVpciBzY2llbmNlIGNvbW11bmljYXRpb24gcGxhbnMgYW5kIGhvdyB0aGV5IGNvdWxkIGltcHJvdmUgdGhlbSBcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSBza2lsbHMgbGVhcm5lZCBpbiB0aGlzIHdvcmtzaG9wLiBPdXIgdGVhbSByZXZpc2VkIHRoZWlyIHBsYW5zIGZvciBleHBsYWluaW5nIGdlbmUgZWRpdGluZyB0byBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuIGFuZCBzdGFydGVkIGRldmVsb3BpbmcgZXhwZXJpbWVudHMgdG8gaGVscCB0aGVtIGJldHRlciB1bmRlcnN0YW5kIGN5c3RpYyBmaWJyb3Npcywgd2hpY2ggd2UgXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50ZWQgbGF0ZXIgb250byB0aGUgcHVibGljIGF0IFx1MjAxQ0RlciBUZXV0byBydWZ0IVx1MjAxRCBbTGlua10sIGFuIGV2ZW50IGluIEJpZWxlZmVsZCB0byBjb25uZWN0IHRoZSBsb2NhbCBcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVsYXRpb24gd2l0aCByZWdpb25hbCBjb21wYW5pZXMgYW5kIGluc3RpdHV0ZXMgdG8gaW5mb3JtIHRoZW0gYWJvdXQgdGhlaXIgd29yayAtIGluY2x1ZGluZyBvdXIgaUdFTSB0ZWFtISBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIFBpdGNoIFlvdXIgUHJvamVjdCdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInBpdGNoXCJcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21hZGVsZWluZS1tdXNzZ251Zy5qcGdcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJNYWRlbGVpbmVcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiTXVzc2dudWdcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkltYWdlIHlvdSBoYXZlIG9ubHkgdGhyZWUgbWludXRlcyB3aXRoIHlvdXIgYm9zcyB0byBzZWxsIHlvdXIgaWRlYS4uLiBcbiAgICAgICAgICAgICAgICBBZnRlciBvdXIgd29ya3Nob3AgeW91IGxlYXJuZWQgdGVjaG5pcXVlcyB0byBzZWxsIGV2ZXJ5IHBlbiBhbmQgZXZlbiBtb3JlIHRvIGV2ZXJ5IGJvc3Mgb24gdGhlIHBsYW5ldC4gICAgICAgXG4gICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID4gXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInBpdGNoXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgU28gbXVjaCBtb3JlXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvbWljaGFlbC5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0hvdyB0byBNdWx0aSBNZWRpYSdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cIm11bHRpbWVkaWFcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJNaWNoYWVsXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkdyXHUwMEY2bmluZ1wiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm4gdGhlIGJhc2ljcyBvZiBmaWxtbWFraW5nIGFuZCB2aWRlbyBwcm9kdWN0aW9uLiBcbiAgICAgICAgICAgICAgICBMb29rIGJlaGluZCB0aGUgc2NlbmVzIGFuZCBnZXQgaW4gdG91Y2ggd2l0aCBwcm9mZXNzaW9uYWxzLiBcbiAgICAgICAgICAgICAgICBUcmFpbiB5b3VyIHNraWxscyB0byBkaXJlY3QgaUdFTS1yZWxhdGVkIHZpZGVvcyBhbmQgbW92aWVzLlwiXG4gICAgICAgICAgICAgICAgPiBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwibXVsdGltZWRpYVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNvIG11Y2ggbW9yZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxQYW5lbFRpbWVsaW5lSXRlbT48L1BhbmVsVGltZWxpbmVJdGVtPlxuIFxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21pZGRlbmRvcmYuanBlZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0naUdFTWVyIFRlZCBUYWxrcydcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tbGlnaHRibHVlKSdcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiU2VjcmV0cyB0byBhd2FyZC13aW5uaW5nIGJpb2luZm9ybWF0aWNzIHRvb2xzXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIkxhc3NlXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIk1pZGRlbmRvcmZcIlxuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRlZHRhbGsxXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0ZWR0YWxrMVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxhc3NlXHUyMDE5cyBUZWQgdGFsayB3YXMgYWxsIGFib3V0IGhvdyB0byBjcmVhdGUgZ29vZCBiaW9pbmZvcm1hdGljcyBzb2Z0d2FyZS4gSGUgaGltc2VsZiB3YXMgcGFydCBvZiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHJ5IGxhYiBpbiBpR0VNIE1cdTAwRkNuc3Rlclx1MjAxOXMgVGVhbSB0aGF0IHdvbiB0aGUgYmVzdCBzb2Z0d2FyZSBzcGVjaWFsIHByaXplIGluIDIwMjIuIFRoZSB0b29sIHRoZXkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlZCBhbGxvd2VkIHVzZXJzIHRvIGdlbmVyYXRlIGtub2Nrb3V0IGNhbmRpZGF0ZXMgZm9yIGFuIG9yZ2FuaXNtIG9mIHRoZWlyIGNob2ljZSB0aGF0IHdvdWxkIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWQgdG8gcmVkaXJlY3Rpb24gb2YgbWV0YWJvbGljIGZsdXggdG8gYSByZWFjdGlvbiBjaG9zZW4gYnkgdGhlIHVzZXIuIFdlIGxlYXJuZWQgdGhhdCB0aGUgbW9zdCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRhbnQgYXR0cmlidXRlcyBmb3IgYSBzdWNjZXNzZnVsIGJpb2luZm9ybWF0aWNzIHNvZnR3YXJlIGFyZTogPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Vc2VmdWxuZXNzIDwvYj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5BY2Nlc3NpYmlsaXR5PC9iPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkJ1aWxkIHVwb24gZXhpc3Rpbmcgc3RhbmRhcmRzICA8L2I+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UbyBlbnN1cmUgdXNlZnVsbmVzcywgdGhlIHNvZnR3YXJlIHNob3VsZCBiZSBnZW5lcmFsaXplZCBhbmQgbm90IG9ubHkgdXNhYmxlIGluIHRoZSBjb250ZXh0IG9mIG9uZVx1MjAxOXMgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3duIHByb2plY3QuIEFsc28sIGFsbCBzdGVwcyB0aGF0IGNhbiBiZSBhdXRvbWF0ZWQgc2hvdWxkIGJlIGF1dG9tYXRlZC4gQWNjZXNzaWJpbGl0eSwgTGFzc2Ugc2FpZCwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgZm9yIHRoZSBzb2Z0d2FyZSB0byBiZSBlYXN5IHRvIGluc3RhbGwsIGVhc3kgdG8gdXNlIGFuZCB3ZWxsIGRvY3VtZW50ZWQuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5BcyBhIGZ1bm55LCBidXQgYWxzbyB2ZXJ5IGZpdHRpbmcgYW5lY2RvdGUsIExhc3NlIHRvbGQgdXMgYWJvdXQgdGhlIEhVIHRlc3QuIEZvciB0ZXN0aW5nIHRoZWlyIG93biB0b29sIGZvciBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5LCBoZSBnYXZlIGEgYmlvaW5mb3JtYXRpY2FsbHkgdW5leHBlcmllbmNlZCwgPGI+aDwvYj51bmdvdmVyIDxiPnU8L2I+bmRlcmdyYWR1YXRlIHN0dWRlbnQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aGluZyBidXQgdGhlIHNvZnR3YXJlIHdpdGggdGhlIHByb3ZpZGVkIGRvY3VtZW50YXRpb24uIElmIHRoZSBzdHVkZW50IGNhbiB1c2UgdGhlIHRvb2wgaW4gYSByZWFzb25hYmxlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudCB0aW1lLCB0aGF0IHdvdWxkIG1ha2UgaXQgYWNjZXNzaWJsZSBlbm91Z2ggZm9yIGV2ZXJ5b25lLiBGdXJ0aGVybW9yZSwgTGFzc2UgYWxzbyByZWNvbW1lbmRlZCBtYWtpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBjb21tYW5kIGxpbmUgdG9vbCBmb3IgYmV0dGVyIGF2YWlsYWJpbGl0eSBvdmVyIHRpbWUgYW5kIGludGVncmF0aW9uIGludG8gb3RoZXIgd29ya2Zsb3dzLiBMYXN0bHksIHRoZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZSBzaG91bGQgdXNlIHN0YW5kYXJkIGRhdGEgZmlsZXMgbGlrZSBDU1YsIEZhc3RhIGV0Yy4gYW5kIGJlIHdyaXR0ZW4gaW4gY29tbW9ubHkgdXNlZCBwcm9ncmFtbWluZyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZXMgbGlrZSBQeXRob24uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk92ZXJhbGwsIExhc3NlIGdhdmUgYSBncmVhdCBpbnNpZ2h0IGludG8gdGhlIHByb3BlcnRpZXMgb2YgYSBzcGVjaWFsIHByaWNlIHdpbm5pbmcgc29mdHdhcmUgdG9vbCBhbmQgdmVyeSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmFjdGljYWxseSBleHBsYWluZWQgaG93IHRoZXNlIGNhbiBiZSB0ZXN0ZWQgYW5kIGFjaGlldmVkLCBpbmZvcm1hdGlvbiB0aGF0IGlzIGludmFsdWFibGUgZm9yIHVzIHdoZW4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRpbmcgb3VyIG93biBiaW9pbmZvcm1hdGljcyB0b29sLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvbWVyZWx2YW5kZW5ib3NjaC5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J2lHRU1lciBUZWQgVGFsa3MnXG4gICAgICAgICAgICAgICAgdGFnPSAnVGFsa3MnXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWxpZ2h0Ymx1ZSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwidGVkdGFsazJcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJNZXJlbFwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJ2YW4gZGVyIEJvc2NoXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIHRleHQ9XCJMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0ZWR0YWxrMlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNvIG11Y2ggbW9yZVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL3Zhc3F1ZXQuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdGaXJzdCBTY2llbmNlIFNsYW0nXG4gICAgICAgICAgICAgICAgdGFnPSAnVGFsa3MnXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWxpZ2h0Ymx1ZSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwic2xhbTFcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJDaGF0R1BUIGFuZCBMYXJnZSBMYW5ndWFnZSBNb2RlbHNcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiVmFxdWV0XCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiSm9uYXNcIlxuICAgICAgICAgICAgICAgIHRleHQ9XCJBdCB0aGlzIHllYXIncyBCRkggTWVldHVwLCBleHBlcmllbmNlZCBzbGFtbWVycyBhbmQgRmFtZUxhYiBbTGlua10gcGFydGljaXBhbnRzIHdlcmUgb25jZSBhZ2FpbiBhYmxlIHRvIHRha2UgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIHN0YWdlIGFuZCBwcmVzZW50IHRoZWlyIHNjaWVudGlmaWMgdG9waWMgYXMgc2ltcGx5IGFzIHBvc3NpYmxlIGluIDUgbWludXRlcy4gXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzbGFtMVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPHA+V2l0aCBKb25hcyBWYXF1ZXQsIGEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZWFyY2ggYXNzb2NpYXRlIG9mIHRoZSBFVSBwcm9qZWN0IEVSQyBXYXRlcmZ1dHVyZXMgW0xpbmtdLCB0aGUgYXVkaWVuY2UgZXhwbG9yZWQgTGFyZ2UgTGFuZ3VhZ2UgTW9kZWxzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMTE1zKSBzdWNoIGFzIENoYXRHUFQuIFRoZSBzcGVha2VyIGh1bW9yb3VzbHkgZW5nYWdlZCB0aGUgY3Jvd2QsIGFza2luZyB3aG8gaGFkIHVzZWQgc3VjaCBtb2RlbHMsIGFuZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWFybHkgYWxsIGhhbmRzIHdlcmUgcmFpc2VkIGluIHJlc3BvbnNlLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3BlYWtlciBpbnRyb2R1Y2VkIENoYXRHUFQsIGEgXCJHZW5lcmF0aXZlIFByZS10cmFpbmVkIFRyYW5zZm9ybWVyLFwiIHVzaW5nIGFuIGludGVyYWN0aXZlIGV4cGVyaW1lbnQgd2hlcmUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGF1ZGllbmNlIHByZWRpY3RlZCB0aGUgbmV4dCB3b3JkcyBpbiBzZW50ZW5jZXMsIHNob3dpbmcgaG93IHRoZSBtb2RlbCB3b3JrcyB3aXRoIHByZS10cmFpbmVkIGRhdGEgYW5kIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0ZXMgdGV4dCBjb250aW51YXRpb25zLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGlsZSBpdCBpcyBmYWlyIHRvIHNheSB0aGF0IENoYXRHUFQgaXMgYSBwb3dlcmZ1bCBhbmQgaGVscGZ1bCB0b29sLCBpdCBpcyBpbXBvcnRhbnQgdG8gZm9jdXMgb24gdGhlIHBvdGVudGlhbCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJzIGFuZCBjaGFsbGVuZ2VzIGl0IGJyaW5ncywgd2hpY2ggSm9uYXMgc3VtbWFyaXplcyBpbiB0aHJlZSBrZXkgZmFjdG9ycyBpbiBoaXMgdGFsazogPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5QbGFnaWFyaXNtIFJpc2tzOjwvYj4gVGhlIHNwZWFrZXIgZGVtb25zdHJhdGVkIGhvdyBlYXN5IGl0IGlzIHRvIHVuaW50ZW50aW9uYWxseSByZXBsaWNhdGUgZXhpc3RpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya3MsIHVzaW5nIGEgSGFycnkgUG90dGVyIGV4YW1wbGUgdG8gaWxsdXN0cmF0ZSBwbGFnaWFyaXNtIHJpc2tzIGluIGNyZWF0aXZlIHdyaXRpbmcuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+SGFsbHVjaW5hdGlvbnM6PC9iPiBMYW5ndWFnZSBtb2RlbHMgY2FuIGdlbmVyYXRlIHBsYXVzaWJsZSBidXQgaW5jb3JyZWN0IGluZm9ybWF0aW9uLCBleGVtcGxpZmllZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBhIGZpY3RpdGlvdXMgQ1Ygd2l0aCBpbnZlbnRlZCBncmFkZXMsIGhpZ2hsaWdodGluZyByaXNrcyBpbiBhY2FkZW1pYyBhbmQgcHJvZmVzc2lvbmFsIHVzZS48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5MYWNrIG9mIE9waW5pb24gRm9ybWF0aW9uOjwvYj4gQ2hhdEdQVCBkb2VzIG5vdCBmb3JtIHJlYWwgb3BpbmlvbnMsIGxlYWRpbmcgdG8gaW5jb25zaXN0ZW50IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcnMgd2hlbiBhc2tlZCBmb3IgcHJlZmVyZW5jZXMuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5BbHRob3VnaCBsYXJnZSBsYW5ndWFnZSBtb2RlbHMgKExMTXMpIGFyZSB0cmFpbmVkIHdpdGggZXh0ZW5zaXZlIGNvbGxlY3Rpb24gb2YgdGV4dHMgb3Igc3Bva2VuIGxhbmd1YWdlLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGV5IG9mdGVuIGZhaWwgaW4gdGhlIGFjY3VyYWN5IHJlcXVpcmVkIGZvciBzY2llbnRpZmljIHRvcGljcy4gU291cmNlcyBhcmUgc2VlbWluZ2x5IGNvbmp1cmVkIG91dCBvZiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGluIGFpciBhbmQgY2xhaW1zIHZhbmlzaCBpbnRvIHRoaW4gYWlyIGJlY2F1c2UgdGhlaXIgYW5zd2VycyBhcmUgYmFzZWQgb24gc3RhdGlzdGljYWwgcHJvYmFiaWxpdGllcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZGluZyB0byBjb25mdXNpb24sIGVzcGVjaWFsbHkgZm9yIG5pY2hlIHF1ZXN0aW9ucy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Sm9uYXMgZW5kZWQgaGlzIHRhbGsgYnkgZ2l2aW5nIHRoZSBhdWRpZW5jZSBmb29kIGZvciB0aG91Z2h0LiBIZSByZW1pbmRlZCBldmVyeW9uZSB3aG8gaGFkIGVhZ2VybHkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VkIHRoZWlyIGhhbmRzIGF0IHRoZSBiZWdpbm5pbmcgdG8gYWx3YXlzIGRvdWJsZS1jaGVjayBDaGF0R1BUJ3MgaW5mb3JtYXRpb24sIGVzcGVjaWFsbHkgaW4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNhZGVtaWMgYW5kIHByb2Zlc3Npb25hbCBzZXR0aW5ncy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2l0aCBoaXMgaW50ZXJhY3RpdmUgYW5kIGh1bW9yb3VzIGFwcHJvYWNoLCBKb25hcyB0dXJuZWQgdGhlIGNvbXBsZXggd29ybGQgb2YgTExNcyBpbnRvIGFuIGVuZ2FnaW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhY2Nlc3NpYmxlIGFkdmVudHVyZSwgb2ZmZXJpbmcgZGVlcCBpbnNpZ2h0cyBpbnRvIHRoZSB3b3JraW5ncyBhbmQgaWRpb3N5bmNyYXNpZXMgb2YgdGhpcyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXNjaW5hdGluZyB0ZWNobm9sb2d5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvbmlrbGFzLWJsb2ViYXVtLmpwZWdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J1NlY29uZCBTY2llbmNlIFNsYW0nXG4gICAgICAgICAgICAgICAgdGFnPSAnVGFsa3MnXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWxpZ2h0Ymx1ZSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwic2xhbTJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJNaWNyb2FsZ2FlIGZvciBTdXN0YWluYWJsZSBGb29kIFByb2R1Y3Rpb24gXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTmlrbGFzLCBhIGJpb3RlY2hub2xvZ2lzdCBhbmQgUGhEIHN0dWRlbnQgYXQgdGhlIEZhY3VsdHkgb2YgRW5naW5lZXJpbmcgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIHVzZWQgaGlzIGV4cGVyaWVuY2UgZnJvbSBwcmV2aW91cyBzY2llbmNlIHNsYW1zIGFuZCBoaXMgcGFydGljaXBhdGlvbiBpbiBhIHByZXZpb3VzIGlHRU0gY29tcGV0aXRpb24gdG8gcHJlc2VudCBtaWNyb2FsZ2FlIGluIGEgbmV3IGxpZ2h0LlwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIk5pa2xhc1wiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJCbG9lYmF1bVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2xhbTJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5XaXRoIGluc2lnaHRzIGludG8gaGlzIGN1cnJlbnQgcmVzZWFyY2gsIE5pa2xhcyBpbnRyb2R1Y2VkIHRoZSBhdWRpZW5jZSB0byB0aGUgaW5ub3ZhdGl2ZSB1c2VzIG9mIGNobG9yZWxsYSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3VzdGFpbmFibGUgZm9vZCBwcm9kdWN0aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3RhciBvZiB0aGUgc2hvdyB3YXMgdGhlIHNtYWxsZXN0IHZlZ2V0YWJsZSBpbiB0aGUgd29ybGQgQ2hsb3JlbGxhIGlzIHRpbnkgKDQgdG8gMTIgbWljcm9ucykgYnV0IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnkgcmljaCBpbiBudXRyaWVudHM6IDQ1LTY1JSBwcm90ZWluLCAxMC0yMCUgZmF0LCAxMC0yMCUgY2FyYm9oeWRyYXRlcywgNSUgZmliZXIgYW5kIHZhcmlvdXMgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdml0YW1pbnMgYW5kIG1pbmVyYWxzLCBpbmNsdWRpbmcgdml0YW1pbiBCMTIuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5pY2hvbGFzIHByZXNlbnRlZCB0d28gcHJvZHVjdGlvbiBtZXRob2RzOiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPm9wZW4gcG9uZCBzeXN0ZW1zOjwvYj50aGVzZSB1dGlsaXplIGxpZ2h0LCBDT1x1MjA4MiBhbmQgd2F0ZXIgZm9yIHBob3Rvc3ludGhlc2lzLCBidXQgaGF2ZSB0aGUgcHJvYmxlbSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgYXZhaWxhYmlsaXR5IG9mIGxpZ2h0IGFuZCB3YXRlci48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5iaW9yZWFjdG9yczo8L2I+bW9kZXJuLCBjb250cm9sbGVkLCBzdGVyaWxlIGVudmlyb25tZW50cyB0aGF0IHV0aWxpemUgc3VnYXIgYXMgYW4gZW5lcmd5IHNvdXJjZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmlmaWNhbnRseSBpbmNyZWFzZSBwcm9kdWN0aXZpdHkgYW5kIHJlZHVjZSB3YXRlciBjb25zdW1wdGlvbi48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJpb3JlYWN0b3JzIGFyZSB1cCB0byAxMDAgdGltZXMgbW9yZSBwcm9kdWN0aXZlIGFuZCB1c2UgMTAwIHRpbWVzIGxlc3Mgd2F0ZXIgdGhhbiBjb252ZW50aW9uYWwgbWV0aG9kcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU291bmRzIHBlcmZlY3QsIHJpZ2h0PyBCdXQgTmljaG9sYXMgaGFkIHRvIGJ1cnN0IHRoZSBidWJibGUgYW5kIG1ha2UgaXQgY2xlYXIgdGhhdCB0aGUgdGVjaG5vbG9neSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbCBuZWVkcyB0byBiZSBkZXZlbG9wZWQgZnVydGhlci4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIHRlcm1zIG9mIHN1c3RhaW5hYmlsaXR5LCBOaWNob2xhcyBoYWQgdG8gZW1waGFzaXplIHRoYXQgdGhlIHdob2xlIHByb2Nlc3Mgb2YgbWljcm9hbGdhZSBwcm9kdWN0aW9uIG5lZWRzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIHF1ZXN0aW9uZWQuIEhlIG5vdGVkIHRoYXQgdGhlIGN1cnJlbnQgY2FyYm9uIGZvb3RwcmludCBjYWxjdWxhdGlvbnMgZm9yIGJpb3JlYWN0b3JzIGFyZSBvdXRkYXRlZC4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnV0IGZlYXIgbm90LCBvdXIgYnJhdmUgYmlvdGVjaG5vbG9naXN0IGlzIG9uIGEgbWlzc2lvbiB0byBicmluZyB0aGVzZSBmaWd1cmVzIHVwIHRvIGRhdGUgd2l0aCBoaXMgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdW5kYnJlYWtpbmcgcmVzZWFyY2ghIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBjdXJpb3VzIGF1ZGllbmNlIGFza2VkIHF1ZXN0aW9ucyBhYm91dCBzY2FsYWJpbGl0eSwgY29zdHMgYW5kIHN1c3RhaW5hYmxlIHN1Z2FyIHNvdXJjZXMuIEFsd2F5cyB1cCBmb3IgYSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2UsIE5pY2hvbGFzIGV4cGxhaW5lZCB0aGF0IHRoZSBjdXJyZW50IGhpZ2ggY29zdHMgY291bGQgYmUgYWRkcmVzc2VkIGJ5IGltcHJvdmluZyB0aGUgcHJvZHVjdGl2aXR5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBiaW9yZWFjdG9ycyEgSG93ZXZlciwgaGUgYWxzbyBlbXBoYXNpemVkIHRoYXQgZnVydGhlciByZXNlYXJjaCBpcyBuZWVkZWQgdG8gZmluZCBhIHN1c3RhaW5hYmxlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSBvZiBzdWdhci4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gaGlzIGdyYW5kIGZpbmFsZSwgTmljaG9sYXMgcHJlc2VudGVkIHRocmVlIHdpc2UgaW5zaWdodHM6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+YmlvdGVjaG5vbG9neTwvYj4gZ29lcyBmYXIgYmV5b25kIG1lZGljaW5lIGFuZCBvcGVucyB0aGUgZG9vcnMgZm9yIHN1c3RhaW5hYmxlIGZvb2QgcHJvZHVjdGlvbi48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5zdXN0YWluYWJpbGl0eSA8L2I+IGFzc2Vzc21lbnRzIG11c3QgY29uc2lkZXIgdGhlIGVudGlyZSBwcm9kdWN0aW9uIHByb2Nlc3MgLSBubyBkZXRhaWwgc2hvdWxkIGJlIG92ZXJsb29rZWQhPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Y2hsb3JlbGxhPC9iPiwgdGhlIHRpbnksIG51dHJpZW50LXJpY2ggbWljcm9hbGdhZSwgaGFzIHRoZSBwb3RlbnRpYWwgdG8gYmUgYSBoZXJvIGluIG91ciBmdXR1cmUgZGlldC4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5OaWNob2xhcyBjYXB0aXZhdGVkIHRoZSBhdWRpZW5jZSB3aXRoIGhpcyB2aXZpZCBhbmQgZXllLW9wZW5pbmcgcHJlc2VudGF0aW9uLiBIZSBndWlkZWQgdGhlbSB0aHJvdWdoIHRoZSBmYXNjaW5hdGluZyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc29tZXRpbWVzIHR1cmJ1bGVudCB3b3JsZCBvZiBtaWNyb2FsZ2FlIHByb2R1Y3Rpb24sIGhpZ2hsaWdodGluZyB0aGUgY2hhbGxlbmdlcyBhbmQgb3Bwb3J0dW5pdGllcyBvZiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHRlY2hub2xvZ3kuIFRoZSBhdWRpZW5jZSB3YXMgbm90IG9ubHkgaW5mb3JtZWQgYnV0IGFsc28gZW50ZXJ0YWluZWQgYW5kIHJlYWR5IHRvIGVtYnJhY2UgdGhlIGZ1dHVyZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBzdXN0YWluYWJsZSBudXRyaXRpb24gd2l0aCBjaGxvcmVsbGEgYXMgdGhlaXIgbGl0dGxlIGdyZWVuIGhlcm8uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ndGltZWxpbmUtZW5kJz5cbiAgICAgICAgICAgICAgICAgICAgQXdhcmQgQ2VyZW1vbnlcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgKVxuICAgIFxufSIsICIvKiAgKi9cblxuY29uc3QgaW1hZ2VzID0gW1xuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9iYWRnZXMuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2pvZXJuLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2hla2luLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zaW5hbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3BhcnR5LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9vcmdhdGVhbS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvaGFsbC5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYnllMS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdW5pLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90YWxraW5nLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9rcmlzdGlhbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FmZmUuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL21hcmdidXJnLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZGlldHouanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3dhZ2VuaW5nZW4uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FhY2hlbi5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvb3JnYXRlYW0uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL29yZ2F0ZWFtLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9iYWRnZXMuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2pvZXJuLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2hla2luLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zaW5hbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3BhcnR5LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9vcmdhdGVhbS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvb3JnYXRlYW0uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL29yZ2F0ZWFtLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9vcmdhdGVhbS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvb3JnYXRlYW0uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG5dXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJGSEdhbGxlcnkoKXtcbiAgbGV0IHJvd3MgPSBbXVxuICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgaW1hZ2VzLmxlbmd0aDsgaSsrICl7XG4gICAgcm93cy5wdXNoKDxkaXY+PGltZyBzcmM9e2ltYWdlc1tpXS5zcmN9Lz48L2Rpdj4pIFxuICB9XG4gICAgcmV0dXJuKCBcbiAgICAgICAgPGRpdiBpZD1cImdhbGxlcnlcIj5cbiAgICAgICAgICB7cm93c31cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG4iLCAiaW1wb3J0IHsgQnV0dG9uT25lLCBEb3dubG9hZExpbmsgfSBmcm9tIFwiLi9CdXR0b25zXCJcblxuXG5leHBvcnQgZnVuY3Rpb24gUERGKHtsaW5rLCBuYW1lfToge2xpbms6IHN0cmluZywgbmFtZTpzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8aWZyYW1lIHNyYz17bGlua30gd2lkdGg9XCIxMDAlXCIgdGl0bGU9XCJ0aXRsZVwiIGNsYXNzTmFtZT0nb25lLXBkZi1saW5lIHNtYWxsLWknPlxuICAgICAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZG93bmxvYWQtY29sJz5cbiAgICAgICAgICAgICAgICA8RG93bmxvYWRMaW5rIHVybD17bGlua30gZmlsZU5hbWU9e25hbWV9ID48L0Rvd25sb2FkTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBUd29MaW5lUERGKHtsaW5rLCBuYW1lfToge2xpbms6IHN0cmluZywgbmFtZTpzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8aWZyYW1lIHNyYz17bGlua30gd2lkdGg9XCIxMDAlXCIgdGl0bGU9XCJ0aXRsZVwiIGNsYXNzTmFtZT0ndHdvLXBkZi1saW5lIHNtYWxsLWknPlxuICAgICAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZG93bmxvYWQtY29sJz5cbiAgICAgICAgICAgICAgICA8RG93bmxvYWRMaW5rIHVybD17bGlua30gZmlsZU5hbWU9e25hbWV9ID48L0Rvd25sb2FkTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgIClcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJGSHBkZigpe1xuICAgIHJldHVybihcbiAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjV2aFwifX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkZseWVyc1wiIG9wZW49XCJmbHllcnNcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiUHJlc2VudGF0aW9uc1wiIG9wZW49XCJwcmVzaXNcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiSnVkZ2luZyBGb3JtXCIgb3Blbj1cImZvcm1cIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwiZmx5ZXJzXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sICAnPlxuICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvYmZoLWZseWVyLWV1cm9wZWFuLW1lZXR1cC5wZGYnIG5hbWU9XCJiZmgtZmx5ZXItZXVyb3BlYW4tbWVldHVwLnBkZlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nc2VwZXJhdG9yLTIgY29sLTInPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wgICc+XG4gICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9wb3N0YmZoLWJyb3NjaC1yZS1jb21wcmVzc2VkLnBkZicgbmFtZT1cImJmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJwcmVzaXNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvYmZoLXByZXNlbnRhdGlvbi1iaWVsZWZlbGQucGRmJyBuYW1lPVwiYmZoLWZseWVyLWV1cm9wZWFuLW1lZXR1cC5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3NlcGVyYXRvci0yIGNvbC0yJz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9iZmgtc3R1ZGljb20tcHJlc2VudGF0aW9uLnBkZicgbmFtZT1cImJmaC1mbHllci1ldXJvcGVhbi1tZWV0dXAucGRmXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2Plxuey8qICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgPFBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1wb3N0ZXItYmllbGVmZWxkLnBkZicgbmFtZT1cImJmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwiZm9ybVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgXG4gICAgPC8+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gR3VpZGVQREYoKXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgPFBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGYnIG5hbWU9XCJiZmgtbWVldC11cC1ndWlkZWxpbmUucGRmXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJcblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrUXVvdGUoe3RleHQsIGNpdGV9OiB7dGV4dDogc3RyaW5nOyBjaXRlOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2txdW90ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGVcIj5cbiAgICAgICAgICAgICAgICA8aDI+XG4gICAgICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPGg0PjxlbT57Y2l0ZX08L2VtPjwvaDQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrUXVvdGVCKHt0ZXh0LCBjaXRlLCBpZH06IHt0ZXh0OiBzdHJpbmc7IGNpdGU6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICBpZiAoaWQpe1xuICAgICAgICBsZXQgaCA9IFwiI1wiICsge2lkfVxuICAgICAgICByZXR1cm4oXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2txdW90ZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgyPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxoND48ZW0+e2NpdGV9PC9lbT4gPGEgaHJlZj17aH0+PHN1cD57aWR9PC9zdXA+PC9hPjwvaDQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSAgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIHJldHVybihcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2txdW90ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9ja3F1b3RleFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGV4dH1cbiAgICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgPGg0PjxlbT57Y2l0ZX08L2VtPjwvaDQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG4gICAgXG59XG5cblxuLyogPHNwYW4+V2luc3RvbiBDaHVyY2hpbGw8L3NwYW4+XG4gIDxibG9ja3F1b3RlPlxuICAgIDxwPjxpPiZsZHF1bztTdWNjZXNzIGNvbnNpc3RzIG9mIGdvaW5nIGZyb20gZmFpbHVyZSB0byBmYWlsdXJlIHdpdGhvdXQgbG9zcyBvZiBlbnRodXNpYXNtLiZyZHF1bzsgPC9pPjwvcD5cbiAgPC9ibG9ja3F1b3RlPiAqLyIsICIvLyBUaGUgbWFpbiB0YWIgaGFzIHRvIGJlIGdpdmVuIGRpc3BsYXk6IGJsb2NrOyB2aWEgaWQgY3NzIG9yIGJlIGdpdmVuIHRoZSBpZCBcIkZpcnN0XCJcbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Sb3dUYWJzKHtkYXRhLCBjbGF9OiB7ZGF0YTogQXJyYXk8VGFiRGF0ZW5zYXR6PiwgY2xhOiBzdHJpbmd9KSB7XG4gICAgbGV0IHJvd3MgPSBbXVxuICAgIGZvciAoIGxldCBpID0gMDsgIGkgPCBkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgICByb3dzLnB1c2goXG4gICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9PlxuICAgICAgICAgICAge2RhdGFbaV0ubm9kZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiByb3dzOyBcbiAgfVxuICBcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4vUXVvdGVzXCI7XG5pbXBvcnQgeyBUaW1lbGluZURhdGVucHVua3QgfSBmcm9tIFwiLi9kYXRhL2hwdGltZWxpbmVkYXRhXCI7XG5cbi8qIGltcG9ydCB7IHN0cmluZ1RvU2x1ZyB9IGZyb20gXCIuLi91dGlsc1wiOyAqL1xuICBcbiAgZXhwb3J0IGZ1bmN0aW9uIEJGSFN0eWxlVGFicyh7ZGF0YSwgY2xhfToge2RhdGE6IEFycmF5PFRpbWVsaW5lRGF0ZW5wdW5rdD4sIGNsYTogc3RyaW5nfSkge1xuICAgIGxldCByb3dzID0gW11cbiAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgICAgdmFyIHByb2JsZW06IEJvb2xlYW4gPSBmYWxzZTsgXG4gICAgICB2YXIgcHJvYmxlbV9kZXNjOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAvKiBMYW5ndWFnZSAqL1xuICAgICAgdmFyIGxhbmc7IFxuICAgICAgaWYoZGF0YVtpXS5sYW5ndWFnZSA9PT0gXCJlblwiKXtcbiAgICAgICAgbGFuZyA9IFwiT3JpZ2luYWwgbGFuZ3VhZ2U6IEVuZ2xpc2hcIlxuICAgICAgfVxuICAgICAgZWxzZSBpZihkYXRhW2ldLmxhbmd1YWdlID09PSBcImRlXCIpe1xuICAgICAgICBsYW5nID0gXCJPcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuXCJcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYoZGF0YVtpXS50eXBlICE9IFwibWV0YVwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiaW50ZXJ2aWV3IGxhbmd1YWdlXCIpOyBcbiAgICAgIH1cblxuICAgICAgLyogQWltL0dvYWwgKi9cbiAgICAgIHZhciBnb2FsaGVhZGluZzogc3RyaW5nID0gXCJcIjsgXG4gICAgICBpZihkYXRhW2ldLnR5cGUgPT09IFwibWV0YVwiKXtcbiAgICAgICAgZ29hbGhlYWRpbmcgPSBcIkdvYWxzXCI7IFxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgZ29hbGhlYWRpbmcgPSBcIkFpbSBvZiBjb250YWN0XCJcbiAgICAgIH1cblxuICAgICAgLyogUXVvdGF0aW9uICovXG4gICAgICB2YXIgcXVvdGVkOiBzdHJpbmcgPSBcIlwiOyBcbiAgICAgIGlmKGRhdGFbaV0ucXVvdGUgIT0gXCJcIil7XG4gICAgICAgIGlmKGRhdGFbaV0ucXVvdGVOYWNobmFtZSAmJiBkYXRhW2ldLnF1b3RlVm9ybmFtZSl7XG4gICAgICAgICAgcXVvdGVkID0gZGF0YVtpXS5xdW90ZVZvcm5hbWUgKyBcIiBcIiArIGRhdGFbaV0ucXVvdGVOYWNobmFtZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIHF1b3RlZCA9IGRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgZGF0YVtpXS5uYWNobm5hbWU7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCJxdW90ZSBtaXNzaW5nXCIpOyBcbiAgICAgIH1cblxuICAgICAgLyogdGV4dHBhcnRzICovXG4gICAgICBpZihkYXRhW2ldLmFpbW9mY29udGFjdCA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBcIiArIGdvYWxoZWFkaW5nICsgXCIgbWlzc2luZ1wiKTsgXG4gICAgICB9XG4gICAgICBpZihkYXRhW2ldLmluc2lnaHRzID09PSBcIlwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIGluc2lnaHRzIG1pc3NpbmdcIik7IFxuICAgICAgfVxuICAgICAgaWYoZGF0YVtpXS5pbXBsZW1lbnRhdGlvbiA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBpbXBsZW1lbnRhdGlvbiBtaXNzaW5nXCIpOyBcbiAgICAgIH1cbiAgICAgIC8qIENsYXJpZmljYXRpb24gKi9cbiAgICAgIHZhciBjbGFyaTogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz5cbiAgICAgIGlmKGRhdGFbaV0uY2xhcmlmaWNhdGlvbil7XG4gICAgICAgIGNsYXJpID0gPD5cbiAgICAgICAgICAgICAgICAgIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgICAgICAgICAgICAgICAgIDxwPntkYXRhW2ldLmNsYXJpZmljYXRpb259PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgfVxuICAgICAgLyogT3RoZXIgd2FybmluZ3MgKi9cbiAgICAgIGlmKGRhdGFbaV0uaW50ZXJ2aWV3dGFiaWQgPT09IFwiXCIpe1xuICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgaW50ZXJ2aWV3dGFiaWQgbWlzc2luZ1wiKTsgXG4gICAgICB9XG4gICAgIC8qICBpZihkYXRhW2ldLmNhcmR0ZXh0ID09PSBcIlwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIGNhcmR0ZXh0IG1pc3NpbmdcIik7IFxuICAgICAgfSAqL1xuICAgICAgaWYoZGF0YVtpXS50eXBlICE9PSBcIm1ldGFcIil7XG4gICAgICAgIGlmKGRhdGFbaV0uYWZmaWxpYXRpb24gPT09IHVuZGVmaW5lZCB8fCBkYXRhW2ldLmFmZmlsaWF0aW9uID09PSBcIlwiKXtcbiAgICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBhZmZpbGlhdGlvbiBtaXNzaW5nXCIpOyBcbiAgICAgICAgfVxuICAgICAgICBpZihkYXRhW2ldLmpvYiA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbaV0uam9iID09PSBcIlwiKXtcbiAgICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBqb2IgbWlzc2luZ1wiICk7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZihkYXRhW2ldLnR5cGUgPT09IFwibWV0YVwiKXtcbiAgICAgICAgaWYoZGF0YVtpXS5xdW90ZVZvcm5hbWUgPT09IHVuZGVmaW5lZCB8fCBkYXRhW2ldLnF1b3RlVm9ybmFtZSA9PT0gXCJcIil7XG4gICAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgd2hvIGlzIHRoZSBxdW90ZSBmcm9tP1wiICk7IFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFJlZmVyZW5jZXMgKi9cbiAgICAgIHZhciByZWZzOiBSZWFjdC5SZWFjdE5vZGUgPSA8PjwvPjtcbiAgICAgIGlmIChkYXRhW2ldLnJlZmVyZW5jZXMpIHtcbiAgICAgICAgcmVmcyA9IDw+IDxoND5SZWZlcmVuY2VzIDwvaDQ+IHtkYXRhW2ldLnJlZmVyZW5jZXN9PC8+IFxuICAgICAgfVxuICAgICAgXG4gICAgICAvKiBGdXJ0aGVyIHBpY3R1cmVzICovXG4gICAgICB2YXIgaW52X2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2ludGVydmlldykge1xuICAgICAgICBpbnZfaW1nID0gIDw+ICA8ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj4gPGltZyBzcmM9e2RhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXd9IGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLWltZyBodGktcmlnaHRcIi8+IDwvZGl2PiA8ZGl2IGNsYXNzTmFtZT1cImh0aS1hYnN0YW5kXCIvPiA8Lz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICB9XG4gICAgICB2YXIgaW1wX2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9uKSB7XG4gICAgICAgIGltcF9pbWcgPSAgIDw+IDxkaXYgY2xhc3NOYW1lPVwiaHRpLWFic3RhbmRcIi8+PGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9ufSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLXJpZ2h0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgIH1cbiAgICAgIHZhciBhaW1faW1nOiBSZWFjdC5SZWFjdE5vZGUgPSA8PjwvPjtcbiAgICAgIGlmIChkYXRhW2ldLnBpY3R1cmV1cmxfYWltKSB7XG4gICAgICAgIGFpbV9pbWcgPSAgPD4gPGRpdiBjbGFzc05hbWU9XCJodGktYWJzdGFuZFwiLz4gPGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+XG4gICAgICAgIDxpbWcgc3JjPXtkYXRhW2ldLnBpY3R1cmV1cmxfYWltfSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLWxlZnRcIi8+IFxuICAgPC9kaXY+PC8+XG4gICAgICB9XG5cblxuICAgICAgbGV0IG5vZGUgPSA8PlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8aDM+e2RhdGFbaV0udm9ybmFtZX0ge2RhdGFbaV0ubmFjaG5uYW1lfTwvaDM+XG4gICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtcInQtdGFnIFwiICsgZGF0YVtpXS50YWd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF0YVtpXS5qb2J9XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+e2xhbmd9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9e2RhdGFbaV0ucXVvdGV9IGNpdGU9e3F1b3RlZH0+PC9CbG9ja1F1b3RlQj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIm1pZGRsZSBzZWNocHJvXCIgc3JjPXtkYXRhW2ldLnBpY3R1cmV1cmx9Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgPGg0Pntnb2FsaGVhZGluZ308L2g0PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4Ym94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtcFwiPntkYXRhW2ldLmFpbW9mY29udGFjdH08L3A+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAge2FpbV9pbWd9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICA8aDQ+SW5zaWdodHM8L2g0PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4Ym94XCI+XG4gICAgICAgICAgICAgICAgICAgIHtpbnZfaW1nfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJocC10aW1lbGluZS1wXCI+e2RhdGFbaV0uaW5zaWdodHN9PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIHtjbGFyaX1cblxuICAgICAgICAgICAgICAgICAgPGg0PkltcGxlbWVudGF0aW9uPC9oND5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleGJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLXBcIj57ZGF0YVtpXS5pbXBsZW1lbnRhdGlvbn08L3A+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAge2ltcF9pbWd9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIHtyZWZzfVxuICAgICAgICAgICAgPC8+XG4gICAgICBpZihwcm9ibGVtKXtcbiAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IGNsYXNzTmFtZT17Y2xhfSBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IFwiYmxhY2tcIiwgY29sb3I6IFwid2hpdGVcIn19PlxuICAgICAgICAgICAgICA8aDE+UFJPQkxFTSB3aXRoIHtkYXRhW2ldLnZvcm5hbWV9IHtkYXRhW2ldLm5hY2hubmFtZX08L2gxPlxuICAgICAgICAgICAgICA8cD4gYmVjYXVzZSBvZjogPC9wPlxuICAgICAgICAgICAgIHtwcm9ibGVtX2Rlc2N9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIGlmIChkYXRhW2ldLmludGVydmlld3RhYmlkID09PSBcInRpbWVsaW5lXCIpe1xuICAgICAgICAgIHJvd3MucHVzaChcbiAgICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IGNsYXNzTmFtZT17Y2xhfSBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgIHtub2RlfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgIHJvd3MucHVzaChcbiAgICAgICAgICA8ZGl2IGlkPXtkYXRhW2ldLmludGVydmlld3RhYmlkfSBjbGFzc05hbWU9e2NsYX0+XG4gICAgICAgICAgICAgIHtub2RlfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICByZXR1cm4gcm93czsgXG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gT0xEQkZIU3R5bGVUYWJzKHtkYXRhLCBjbGF9OiB7ZGF0YTogQXJyYXk8Tm9kZURhdGVuc2F0ej4sIGNsYTogc3RyaW5nfSkge1xuICAgIGxldCByb3dzID0gW11cbiAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgICAgaWYgKGRhdGFbaV0uY3NzbmFtZSA9PT0gXCJ0aW1lbGluZVwiKXtcbiAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9IHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgIHtkYXRhW2ldLm5vZGV9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICByb3dzLnB1c2goXG4gICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9PlxuICAgICAgICAgICAge2RhdGFbaV0ubm9kZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByb3dzOyBcbiAgfVxuIiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gJy4vb3BlbkZyb21PdGhlcnBBZ2UnO1xuXG5leHBvcnQgY29uc3Qgb3BlblRhYiA9ICh0YWJJZDogc3RyaW5nKSA9PiB7XG4gIC8vIEhpZGUgYWxsIHRhYnNcbiAgY29uc3QgdGFicyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50YWJjb250ZW50Jyk7XG4gIHRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgKHRhYiBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfSk7XG5cbiAgLy8gU2hvdyB0aGUgc2VsZWN0ZWQgdGFiXG4gIGNvbnN0IHNlbGVjdGVkVGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpO1xuICBpZiAoc2VsZWN0ZWRUYWIpIHtcbiAgICBzZWxlY3RlZFRhYi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9wZW5OZXN0ZWRUYWIgPSAocGFyZW50VGFiSWQ6IHN0cmluZywgY2hpbGRUYWJJZDogc3RyaW5nKSA9PiB7XG4gIC8vIE9wZW4gcGFyZW50IHRhYlxuICBvcGVuVGFiKHBhcmVudFRhYklkKTtcblxuICAvLyBPcGVuIGNoaWxkIHRhYiBpbnNpZGUgcGFyZW50IHRhYlxuICBjb25zdCBuZXN0ZWRUYWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgIyR7cGFyZW50VGFiSWR9IC5uZXN0ZWQtdGFiY29udGVudGApO1xuICBuZXN0ZWRUYWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICh0YWIgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIH0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkTmVzdGVkVGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2hpbGRUYWJJZCk7XG4gIGlmIChzZWxlY3RlZE5lc3RlZFRhYikge1xuICAgIHNlbGVjdGVkTmVzdGVkVGFiLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2Nyb2xsVG9Db2xsYXBzZSA9IChjb2xsYXBzZUlkOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBUYWJOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuICAgIGNvbnN0IHN1YlRhYklkID0gcGFyYW1zLmdldCgnc3ViVGFiJyk7IC8vIE5ldWVzIFBhcmFtZXRlciBmXHUwMEZDciB2ZXJzY2hhY2h0ZWx0ZSBUYWJzXG5cbiAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkIChhbmQgc3ViVGFiIGlmIG5lc3RlZClcbiAgICBpZiAodGFiSWQpIHtcbiAgICAgIGlmIChzdWJUYWJJZCkge1xuICAgICAgICAvLyBJZiBzdWJUYWIgaXMgcHJvdmlkZWQsIG9wZW4gdGhlIG5lc3RlZCB0YWJcbiAgICAgICAgb3Blbk5lc3RlZFRhYih0YWJJZCwgc3ViVGFiSWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBqdXN0IG9wZW4gdGhlIG1haW4gdGFiXG4gICAgICAgIG9wZW5UYWIodGFiSWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZCBhZnRlciBvcGVuaW5nIHRoZSB0YWJcbiAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgaGFuZGxlU2Nyb2xsVG9Db2xsYXBzZShjb2xsYXBzZUlkKTtcbiAgICB9XG5cbiAgICAvLyBPcGVuIHRoZSB0YWIgZnJvbSBhbm90aGVyIHBhZ2VcbiAgICBpZiAodGFiSWQpIHtcbiAgICAgIG9wZW5Gcm9tT3RoZXJQYWdlKHRhYklkKSh7IGN1cnJlbnRUYXJnZXQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEgfSk7XG4gICAgfVxuICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cbiAgcmV0dXJuIFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVGFiTmF2aWdhdGlvbjtcbiIsICJpbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBJbmZvQm94IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQm94ZXNcIjtcbmltcG9ydCB7IFRhYkJ1dHRvblJvdyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IEgyfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgTG9yZW1NZWRpdW0sIExvcmVtU2hvcnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Mb3JlbWlwc3VtXCI7XG5pbXBvcnQgeyBDaXJjbGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9TaGFwZXNcIjtcbmltcG9ydCB7IENvbXBsZXggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9TdmdzXCI7XG5pbXBvcnQgeyBCdXR0b25Sb3dUYWJzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvVGFic1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUGllQ2hhcnQgZnJvbSBcIi4uL2NvbXBvbmVudHMvR3JhcGhcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gRGVzY3JpcHRpb24oKSB7IFxuICAgIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcbiAgXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICAvLyBIaWRlIGFsbCB0YWJzXG4gICAgICAgICAgICBjb25zdCB0YWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmVuZ2lubmVlcmluZ3RhYicpO1xuICAgICAgICAgICAgdGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICAodGFiIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgICAgLy8gU2hvdyB0aGUgc2VsZWN0ZWQgdGFiXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZFRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFRhYikge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkVGFiLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWQgYWZ0ZXIgb3BlbmluZyB0aGUgdGFiXG4gICAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb2xsYXBzZUlkKTtcbiAgICAgICAgICAgIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuICBcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2ICBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICBcbiAgICAgICAgICAgIDxzZWN0aW9uICBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPEgyIGlkPVwiQWJzdHJhY3RcIiB0ZXh0PVwiQWJzdHJhY3RcIi8+XG4gICAgICAgICAgICAgICAgPHA+V2UgYXJlIHByb3VkIHRvIGludHJvZHVjZSBvdXIgbmV4dC1nZW5lcmF0aW9uIHByaW1lIGVkaXRpbmcgdGVjaG5vbG9neSA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cInVuZGVybGluZS0tbWFnaWNhbFwiPlByZUN5c2U8L2E+LiBXZSBhaW0gdG8gZGV2ZWxvcCBhbiBpbm5vdmF0aXZlIGdlbmUgdGhlcmFweSBhZ2FpbnN0IGN5c3RpYyBmaWJyb3NpcywgdGFja2xpbmcgdGhlIG1vc3QgY29tbW9uIG11dGF0aW9uIFx1MDM5NEY1MDggb2YgdGhlIENGVFIgKEN5c3RpYyBGaWJyb3NpcyBUcmFuc21lbWJyYW5lIENvbmR1Y3RhbmNlIFJlZ3VsYXRvcikgZ2VuZS4gV2Ugb3B0aW1pemUgbGlwaWQgbmFub3BhcnRpY2xlcyBmb3IgdGhlIGVmZmljaWVudCBhbmQgY2VsbC1zcGVjaWZpYyBkZWxpdmVyeSBvZiBvdXIgdGhlcmFwZXV0aWMgbVJOQS4gQ3VycmVudCB0cmVhdG1lbnQgc3RyYXRlZ2llcyBhcmUgbGltaXRlZCBpbiB0ZXJtcyBvZiBzcGVlZCwgcHJlY2lzaW9uIGFuZCBlZmZlY3RpdmVuZXNzLCBvZnRlbiBmYWlsaW5nIHRvIGFjaGlldmUgbG9uZy1sYXN0aW5nIGltcHJvdmVtZW50cy4gSW4gYWRkaXRpb24sIGhpZ2ggY29zdHMgYW5kIGxpbWl0ZWQgYWNjZXNzaWJpbGl0eSBvZiBwaGFybWFjZXV0aWNhbHMgY29udHJpYnV0ZSB0byBhZHZlcnNlIHByb2dub3NpcyBvZiBtYW55IHBhdGllbnRzLiBXZSB3YW50IHRvIGRldmVsb3AgYSBtb250aGx5IGFwcGxpZWQgd2hpY2ggcmVwcmVzZW50cyBhIGN1cmUgdGhhdCBpcyBtb3JlIGFkdmFuY2VkIGFuZCB1c2VyLWZyaWVuZGx5IGNvbXBhcmVkIHRvIG90aGVyIG1lZGljYXRpb25zIGR1ZSB0byBpdHMgbG9uZ2VyIGxhc3RpbmcgdGltZSwgbG93ZXJpbmcgdGhlIGZyZXF1ZW5jeSBvZiB1c2UuIDwvcD5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9kaXY+IFxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8SDIgdGV4dD1cIkN5c3RpYyBGaWJyb3Npc1wiIGlkPVwiQ3lzdGljLUZpYnJvc2lzXCIvPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJDRjFcIj48aDM+R2VuZXJhbDwvaDM+IDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGF0YS1hb3M9XCJ6b29tLXktb3V0XCIgPkN5c3RpYyBmaWJyb3NpcyAoQ0YpIGlzIHRoZSBtb3N0IGNvbW1vbiBsaWZlLWxpbWl0aW5nIGdlbmV0aWMgZGlzb3JkZXIgaW4gdGhlIENhdWNhc2lhbiBwb3B1bGF0aW9uLiBJbiBFdXJvcGUsIENGIGFmZmVjdGluZyBhYm91dCAxIGluIDMsMDAwIG5ld2Jvcm5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPi48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD4gSXQgaXMgY2F1c2VkIGJ5IG11dGF0aW9ucyBpbiB0aGUgQ0ZUUiBnZW5lLCB3aGljaCBjb250cm9scyBpb25zIGFuZCB3YXRlciBtb3ZlbWVudCBpbiBjZWxscy4gVGhpcyBsZWFkcyB0byB0aGljayBtdWN1cywgY2xvZ2dpbmcgYWlyd2F5cywgYW5kIGZyZXF1ZW50IGluZmVjdGlvbnMuIFRoZSBkZWZlY3RpdmUgQ0ZUUiBwcm90ZWluIGltcGFjdHMgdGhlIHJlc3BpcmF0b3J5IGFuZCBkaWdlc3RpdmUgc3lzdGVtcywgY2F1c2luZyBjaHJvbmljIGx1bmcgaW5mZWN0aW9ucywgYnJlYXRoaW5nIGRpZmZpY3VsdGllcywgYW5kIG1hbG51dHJpdGlvbi4gQ0YncyBzZXZlcml0eSB2YXJpZXMsIGJ1dCBpdCByZWR1Y2VzIGxpZmUgcXVhbGl0eSBhbmQgZXhwZWN0YW5jeS4gVGhlcmUgYXJlIG92ZXIgMSw3MDAgQ0ZUUiBtdXRhdGlvbnM7IHRoZSBcdTAzOTRGNTA4IG11dGF0aW9uIGlzIG1vc3QgY29tbW9uLCBwcmVzZW50IGluIDcwJSBvZiBjYXNlcy4gSXQgcHJldmVudHMgcHJvcGVyIHByb3RlaW4gZm9sZGluZywgYWZmZWN0aW5nIGl0cyBmdW5jdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+PExvcmVtTWVkaXVtLz48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdy1pZi1zbWFsbCBjb2wtMiBcIj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENpcmNsZSB0ZXh0PVwiMTozMDAwIG5ld2Jvcm5zIHdvcmxkd2lkZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2lyY2xlIHRleHQ9XCJ4OnkgbmV3Ym9ybnMgaW4gR2VybWFueVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2lyY2xlIHRleHQ9XCJrb3N0ZW5cIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB7LyogPExpbmVhclxuICAgICAgICAgICAgICAgICAgICB4QXhpcz17W3sgZGF0YTogWzEsIDIsIDMsIDUsIDgsIDEwXSB9XX1cbiAgICAgICAgICAgICAgICAgICAgc2VyaWVzPXtbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMiwgNS41LCAyLCA4LjUsIDEuNSwgNV0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17NTAwfVxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezMwMH1cbiAgICAgICAgICAgICAgICAgICAgLz4gICovfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvY2hhcnRzLW1hcHMvY2ZwZXIxMC0wMDAucG5nXCI+PC9pbWc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIkNGMlwiPjxoMz5DRlRSPC9oMz4gPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmdWxsLXNtYWxsIGNvbC0yXCI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgPHA+VGV4dCBhYm91dCBDRlRSIDxMb3JlbU1lZGl1bS8+PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQ0YzXCI+PGgzPlx1MDM5NEY1MDg8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cD5BIG11bHRpdHVkZSBvZiBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSwgZXhjZWVkaW5nIDEsMDAwLCBhcmUgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZlbG9wbWVudCBvZiBjeXN0aWMgXG4gICAgICAgICAgICAgICAgICAgIGZpYnJvc2lzLiBUaGUgbW9zdCBwcmV2YWxlbnQgdmFyaWFudCBpcyBGNTA4ZGVsLCBvYnNlcnZlZCBpbiBhcHByb3hpbWF0ZWx5IDcwJSBvZiBhZmZlY3RlZCBpbmRpdmlkdWFscyBvZiBcbiAgICAgICAgICAgICAgICAgICAgQ2F1Y2FzaWFuIGRlc2NlbnQgaW4gQ2FuYWRhLCBOb3J0aGVybiBFdXJvcGUsIGFuZCB0aGUgVW5pdGVkIFN0YXRlczxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTRcIi8+LiBJdCBpcyBlc3RpbWF0ZWQgdGhhdCBhcm91bmQgOTAlIG9mIFxuICAgICAgICAgICAgICAgICAgICB0aGUgRXVyb3BlYW4gcG9wdWxhdGlvbiBhbmQgcGVvcGxlIG9mIEV1cm9wZWFuIGhlcml0YWdlIHdpdGggY3lzdGljIGZpYnJvc2lzIGNhcnJ5IGF0IGxlYXN0IG9uZSBGNTA4ZGVsIFxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTVcIi8+PHN1cD4sPC9zdXA+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxNlwiLz4uIEFuYWx5c2VzIGhhdmUgZGVtb25zdHJhdGVkIHRoYXQgdGhlIEY1MDhkZWwgbXV0YXRpb24gb3JpZ2luYXRlZCBpbiBXZXN0ZXJuIEV1cm9wZSBhdCBsZWFzdCBcbiAgICAgICAgICAgICAgICAgICAgNSwwMDAgeWVhcnMgYWdvIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTVcIi8+LiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+SXQgaXMgYSBkZWxldGlvbiBvZiB0aGUgdGhyZWUgbnVjbGVvdGlkZXMgXCJDVFRcIiBhdCBwb3NpdGlvbiA1MDgsIHdoaWNoIHJlbW92ZXMgdGhlIHBoZW55bGFsYW5pbmUgcmVzaWR1ZSBcbiAgICAgICAgICAgICAgICAgICAgd2l0aG91dCBjYXVzaW5nIGEgZnJhbWVzaGlmdC4gVGhpcyBkZWxldGlvbiBsZWFkcyB0byBkZWZlY3RzIGluIHRoZSBraW5ldGljIGFuZCB0aGVybW9keW5hbWljIGZvbGRpbmcgXG4gICAgICAgICAgICAgICAgICAgIG9mIHRoZSBOQkQxIGRvbWFpbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE2XCIvPi4gSG93ZXZlciwgdGhpcyBub3Qgb25seSBsZWFkcyB0byBtaXNmb2xkaW5nIG9mIENGVFIgYnV0IGFsc28gdG8gZGVmZWN0cyBpbiBcbiAgICAgICAgICAgICAgICAgICAgdHJhZmZpY2tpbmcgYW5kIHByZW1hdHVyZSBkZWdyYWRhdGlvbiwgcmVzdWx0aW5nIGluIHJlZHVjZWQgc3VyZmFjZSBleHByZXNzaW9uIG9mIENGVFIgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxN1wiLz4uIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvY2hhcnRzLW1hcHMvY2ZwZXIxMC0wMDAucG5nXCIvPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJDRjRcIj48aDM+U3ltcHRvbXM8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cD5UZXh0IGFib3V0IHN5bXB0b21zPC9wPlxuICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cInN5bXB0b21zLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJIb3cgdGhlIHN5bXB0b21zIGFmZmVjdCBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGJvZHlcIiA+IENoaWxkIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIkNGNVwiPjxoMz5EaWFnbm9zaXM8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cD5BYm91dCB0aGUgd2F5cyBvbmUgY2FuIGJlIGRpYWdub3NlZCA8TG9yZW1NZWRpdW0vPjwvcD4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgSG93IG5ld2Jvcm5zY3JlZW5pbmcgYWZmZWN0ZWQgdGhlIG51bWJlcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQ0Y2XCI+PGgzPlRyZWF0bWVudDwvaDM+IDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCIvPiBcbiAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJkcnVncy1jb2xsYXBzaWJsZVwiIHRpdGxlPVwiRGlmZmVyZW50IHR5cGVzIG9mIGRydWdzXCIgPlxuICAgICAgICAgICAgICAgIDxUYWJCdXR0b25Sb3cgZGF0YT17bWVkaWJ1dHRvbnJvd2RhdGF9IG9wZW50eXBlPVwibWVkaXRhYnNcIiBjbG9zaW5nPVwiXCIvPlxuICAgICAgICAgICAgICAgIDxCdXR0b25Sb3dUYWJzIGRhdGE9e21lZGlidXR0b25yb3dkYXRhfSBjbGE9XCJtZWRpdGFic1wiLz5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgIDxwPldoeSB3ZSBzdGlsbCBuZWVkIG90aGVyIG9wdGlvbnM8L3A+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9jaGFydHMtbWFwcy9jZnBlcjEwLTAwMC5wbmdcIi8+IFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPEgyIGlkPVwiT3VyLW1vdGl2YXRpb25cIiB0ZXh0PVwiT3VyIG1vdGl2YXRpb25cIj48L0gyPlxuICAgICAgICAgICAgICAgIDxwPldlIGNob3NlIHRvIGZvY3VzIG9uIENGIGFuZCBzcGVjaWZpY2FsbHkgdGhlIFx1MDM5NEY1MDggbXV0YXRpb24gZHVlIHRvIGl0cyBwcmV2YWxlbmNlIGFuZCB0aGUgc2V2ZXJlIGltcGFjdCBpdCBoYXMgb24gcGF0aWVudHMnIGxpdmVzLiBBZGRpdGlvbmFsbHksIG91ciB0ZWFtIGluY2x1ZGVzIG1lbWJlcnMgd2hvIGhhdmUgY2xvc2UgZnJpZW5kcyBhZmZlY3RlZCBieSB0aGlzIGNvbmRpdGlvbiwgZ2l2aW5nIHVzIGEgcGVyc29uYWwgY29ubmVjdGlvbiBhbmQgYSBzdHJvbmcgbW90aXZhdGlvbiB0byBmaW5kIGEgc29sdXRpb24uIEJ5IHRhcmdldGluZyB0aGUgXHUwMzk0RjUwOCBtdXRhdGlvbiwgd2UgYWltIHRvIGRldmVsb3AgYSB0aGVyYXB5IHRoYXQgY291bGQgcG90ZW50aWFsbHksIG5vdCBvbmx5IGJlbmVmaXQgbWFueSBDRiBwYXRpZW50cyBhbmQgbWFrZSBhIHNpZ25pZmljYW50IGltcHJvdmVtZW50IGluIHRoZWlyIGxpdmVzLCBidXQgYWxzbyBjYW4gc2VydmUgYXMgYSB0ZW1wbGF0ZSwgd2hpY2ggcmVzZWFyY2ggZ3JvdXBzIGNhbiB1c2UgdG8gdGFyZ2V0IG90aGVyIGdlbmV0aWMgZGlzZWFzZXMuIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxwPk1heDwvcD4gXG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgIDxIMiBpZD1cIkFwcHJvYWNoXCIgdGV4dD1cIkFwcHJvYWNoXCI+PC9IMj5cbiAgICAgICAgICAgICAgICA8cD5UbyBjb3JyZWN0IHRoZSBtdXRhdGlvbiwgd2UgYXJlIHV0aWxpemluZyBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ2llcy4gUHJpbWUgRWRpdGluZyBpcyBhIGdlbm9tZSBlZGl0aW5nIHRlY2huaXF1ZSB0aGF0IGFsbG93cyBwcmVjaXNlIEROQSBtb2RpZmljYXRpb25zIHdpdGhvdXQgY2F1c2luZyBkb3VibGUtc3RyYW5kIGJyZWFrczxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMlwiLz4uIFN0cnVjdHVyYWxseSwgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBjb25zaXN0cyBvZiBhIENhczkgZW5kb251Y2xlYXNlIGZ1c2VkIHRvIGEgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIChSVCkgYW5kIGd1aWRlZCBieSBhIHBlZ1JOQSwgd2hpY2ggZGlyZWN0cyB0aGUgY29tcGxleCB0byB0aGUgdGFyZ2V0IHNpdGUgaW4gdGhlIGdlbm9tZS4gIDwvcD5cbiAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIlByaW1lIEVkaXRpbmdcIiBpZD1cInByaW1lLWVkaXRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5QcmltZSBlZGl0aW5nIGlzIGEgbmV3IG1ldGhvZCBvZiBnZW5lIGVkaXRpbmcgYmFzZWQgb24gYW4gUk5BLVByb3RlaW4gY29tcGxleC4gSXQgd2FzIGRldmVsb3BlZCBieSBhIGdyb3VwIG9mIHJlc2VhcmNoZXJzIHJldm9sdmluZyBhcm91bmQgUHJvZmVzc29yIERhdmlkIExpdSBmcm9tIEhhcnZhcmQgVW5pdmVyc2l0eSBpbiAyMDE5LiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjlcIi8+PC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGV0YWlsczwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Ib3dldmVyLCB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IGlzIHJlbGF0aXZlbHkgbGFyZ2UsIHBvc2luZyBjaGFsbGVuZ2VzIGZvciB0aGVyYXBldXRpYyBkZWxpdmVyeTxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiM1wiLz4uIEFkZGl0aW9uYWxseSwgUHJpbWUgRWRpdGluZyBoYXMgYmVlbiBzaG93biB0byBiZSByZWxhdGl2ZWx5IGluZWZmaWNpZW50IGluIHRlcm1zIG9mIGdlbmUgZWRpdGluZyByYXRlcywgd2hpY2ggY291bGQgbGltaXQgaXRzIHRoZXJhcGV1dGljIHV0aWxpdHk8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjRcIi8+LiBPdXIgcHJvamVjdCBhaW1zIHRvIGVuaGFuY2UgdGhlIFByaW1lIEVkaXRpbmcgYXBwcm9hY2ggYnkgbWluaWF0dXJpemluZyBpdHMgY29tcG9uZW50cy4gRmFuem9yLCBhIHJlY2VudGx5IGRpc2NvdmVyZWQgZXVrYXJ5b3RpYyBlbmRvbnVjbGVhc2UsIHBlcmZvcm1zIGZ1bmN0aW9ucyBzaW1pbGFyIHRvIENhczksIGEgY3J1Y2lhbCBwYXJ0IG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIGJ1dCBpcyBzaWduaWZpY2FudGx5IHNtYWxsZXIuIFdlIGFpbSB0byBzdWJzdGl0dXRlIENhczkgd2l0aCBGYW56b3IuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgcGxhbiB0byByZXBsYWNlIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgaW4gdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCB3aXRoIGEgc21hbGxlciBSVCB2YXJpYW50LiBGdXJ0aGVybW9yZSwgTUNQIHByb3RlaW5zIHdpbGwgYmUgYWRkZWQgdG8gdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCB0byBpbmNyZWFzZSBpdHMgc3RhYmlsaXR5PFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1XCIvPi4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW1nLXJpZ2h0IGltZy1oYWxmIGNvbFwiPjxDb21wbGV4PjwvQ29tcGxleD48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiZmFuem9yY2FzLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJDYXMgdnMuIEZhbnpvclwiPiBjaGlsZCA8L0NvbGxhcHNpYmxlPiBcbiAgICAgICAgICAgICAgICA8cD5UaGUgcGVnUk5BIGlzIG9wdGltaXplZCB2aWEgYW4gZXh0ZW5zaW9uIGJ5IGEgc3RlbSBsb29wLCB3aGljaCBzdGFiaWxpemVzIHRoZSBSTkEgYnkgcHJvdGVjdGluZyBpdCBmcm9tIFJOYXNlcyBhbmQgc2VydmVzIGFzIGEgYmluZGluZyBzaXRlIGZvciB0aGUgTUNQLCB3aGljaCBhbHNvIHN1cHBvcnRzIHRoZSBzZWNvbmRhcnkgUk5BIHN0cnVjdHVyZS4gQWRkaXRpb25hbGx5LCB0aGUgcGVnUk5BIGNvbnRhaW5zIGEgcmlib3N3aXRjaCwgYSBzb2RpdW0gaW9uLWNvbnRyb2xsZWQgcmVndWxhdG9yIHRoYXQgc3dpdGNoZXMgb2ZmIHRoZSBjb21wbGV4LiBUaGlzIHJlcHJlc2VudHMgYSBtYWpvciBiaW9zYWZldHkgZmVhdHVyZSBpbiB0aGF0IHRoZSBjb21wbGV4IGlzIHN3aXRjaGVkIG9mZiBhZnRlciBzdWNjZXNzZnVsIEROQSBlZGl0aW5nIGFuZCB0aGUgc3Vic2VxdWVudCBpbmNyZWFzZWQgaW5mbHV4IG9mIGNobG9yaWRlIGlvbnMgaW50byB0aGUgY2VsbC4gVGhlIHBlZ1JOQSBpcyBjb21iaW5lZCB3aXRoIGFuIG9wdGltaXplZCBzZ1JOQSByZXN1bHRpbmcgaW4gaGlnaGVyIG9uLXRhcmdldCBlZmZlY3QuIE92ZXJhbGwsIGl0cyBvcHRpbWl6YXRpb24gbGVhZHMgdG8gYSBsb25nZXIgc2hlbGYgbGlmZSBhbmQgYW4gaW5jcmVhc2UgaW4gdGhlIGJpb3NhZmV0eSBvZiB0aGUgY29tcGxleC4gPC9wPlxuICAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIlJpYm9zd2l0Y2hcIiBpZD1cInJpYm9zd2l0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgQWJvdXQgdGhlIFJpYm9zd2l0Y2hcbiAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uICBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPEgyIHRleHQ9XCJEZWxpdmVyeVwiIGlkPVwiRGVsaXZlcnlcIj48L0gyPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLWxlZnQgaW1nLWhhbGYgc3BpblwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9sbnAucG5nXCIgaGVpZ2h0PXtcIjIwMHZ3XCJ9Lz4gIFxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIGNob3NlIExOUHMgYXMgdGhlIGRlbGl2ZXJ5IHN5c3RlbSBvZiBvdXIgTmV4dC1HZW5lcmF0aW9uIFByaW1lIEVkaXRpbmcgVGVjaG5vbG9neS4gQmVjYXVzZSBvZiB0aGVpciBsYXJnZSBjYXBhY2l0eSBhbmQgbGVzcyBpbW11bm9nZW5pYyBzaWRlIGVmZmVjdHMgY29tcGFyZWQgdG8gb3RoZXIgZGVsaXZlcnkgc3lzdGVtcyBsaWtlIEFkZW5vLWFzc29jaWF0ZWQgVmlydXNlcyAoQVZWKTxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNlwiLz4uIE91ciBhaW0gaXMgdG8gb3B0aW1pemUgdGhlIExOUCBmb3JtdWxhdGlvbiB0byBpbXByb3ZlIGRlbGl2ZXJ5IHRvIGx1bmcgdGlzc3VlIHZpYSBpbmhhbGF0aW9uLiBCZWNhdXNlIG9mIG91ciBjb2xsYWJvcmF0aW9ucywgd2UgYXJlIGFibGUgdG8gdGVzdCBhbmQgb3B0aW1pemUgZGlmZmVyZW50IGRlbGl2ZXJ5IHN5c3RlbXMgdG8gaW1wcm92ZSBvdXIgb3JnYW4gc3BlY2lmaWMgdGhlcmFwZXV0aWMgYXBwcm9hY2guIFRoZXJlZm9yZSwgb3VyIExOUCBkZXNpZ24gZm9jdXNzZXMgb24gc3RhYmlsaXR5IGFuZCB0YXJnZXRpbmcuIFN0YWJpbGl0eSBpcyBhY2hpZXZlZCBieSBhIHBvbHlldGh5bGVuZSBnbHljb2wgKFBFRykgY29hdGluZyB0aGF0IHByb3RlY3RzIHRoZSBMTlBzIGZyb20gZGVncmFkYXRpb24gYnkgdGhlIGltbXVuZSBzeXN0ZW08U3VwU2Nyb2xsTGluayBsYWJlbD1cIjdcIi8+LiBNb3Jlb3Zlciwgd2UgdXNlIGNhcHNhaWNpbiBpbiBjb21iaW5hdGlvbiB3aXRoIGNoaXRvc2FuIHRvIGltcHJvdmUgdGhlIHVwdGFrZSBvZiBvdXIgY29uc3RydWN0IHRocm91Z2ggdGhlaXIgbXVjdXMtYWRoZXNpdmUgcHJvcGVydGllczxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOFwiLz4uIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBMQWdlcnRlbXBlcmF0dXIgZGVyIFBhcnRzIDxMb3JlbVNob3J0Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBUcm9ja251bmcgPExvcmVtU2hvcnQvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8cD5XZSBhcmUgZnVydGhlcm1vcmUgb3B0aW1pc2luZyB0aGUgTE5QcyBmb3IgcHVsbW9uYXJ5IHRoZXJhcHkgYW5kIGludmVzdGlnYXRpbmcgZGVsaXZlcnkgYnkgbmVidWxpc2F0aW9uIGFzIGEgbm9uLWludmFzaXZlIG1ldGhvZCBjb21wYXJlZCB0byBzeXN0ZW1pYyBhcHByb2FjaGVzIHRvIG1ha2UgdGhlIHRoZXJhcHkgbW9yZSBjb252ZW5pZW50IGZvciBwYXRpZW50cy4gRm9yIHNwZWNpZmljIHRhcmdldGluZywgd2UgYXJlIGZvY3Vzc2luZyBvbiBtYXJrZXIgcHJvdGVpbnMgb2YgYmFzYWwgY2VsbHMgYW5kIGlvbm9jeXRlcyB0aGF0IHByb2R1Y2UgcGFydGljdWxhcmx5IGhpZ2ggbGV2ZWxzIG9mIENGVFIgcHJvdGVpbiBhbmQgd2hpY2ggd2Ugd2FudCB0byB0YXJnZXQgd2l0aCBhcHByb3ByaWF0ZSBhbnRpYm9kaWVzPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5XCIvPi4gT3VyIHdvcmtmbG93IGluY2x1ZGVzIHRlc3Rpbmcgb3VyIG5leHQgZ2VuZXJhdGlvbiBQcmltZSBFZGl0aW5nIFRlY2hub2xvZ3kgZGVsaXZlcmVkIGJ5IG91ciBvcHRpbWl6ZWQgTE5QcyBpbiBjZWxsIGN1bHR1cmUgbGluZXMgYnV0IGFsc28gaW4gcHJpbWFyeSBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIENGIHBhdGllbnRzIHRvIGV2YWx1YXRlIG91ciBvcHRpbWl6YXRpb25zIGFuZCBmdXJ0aGVyIGltcHJvdmVtZW50cyBpbiB2aXRyby4gV2UgY2FuIGFsc28gcHJvdmlkZSB0aGUgb3V0bG9vayBvbiB0aGUgYWRhcHRhdGlvbiBvZiB0aGUgZGVsaXZlcnkgc3lzdGVtIGVuYWJsaW5nIHN5c3RlbWljIGFwcGxpY2F0aW9ucyBhcyB3ZWxsLiA8L3A+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgIDxIMiB0ZXh0PVwiT3VyIHZpc2lvblwiIGlkPVwiT3VyLXZpc2lvblwiPjwvSDI+XG5cbiAgICAgICAgICAgICAgICA8cD5XZSBhcmUgZW52aXNpb25pbmcgYSBwb3RlbnRpYWwgaW50ZWdyYXRpb24gaW50byBhIGJyb2FkZXIgdGhlcmFwZXV0aWMgZnJhbWV3b3JrIGludm9sdmluZyBjdXN0b21pemVkIGdlbmUgZWRpdGluZyB0b29scyBmb3IgdmFyaW91cyBnZW5ldGljIGRpc29yZGVycywgdGhhdCBwcmVzZW50IHNpbWlsYXIgcHJvYmxlbXMvZGlmZmljdWx0aWVzIHRvIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBhcyB3ZWxsIGFzIG90aGVyIGdlbmV0aWMgZGlzZWFzZXMgb2YgZGlmZmVyZW50IGNhdXNlcy4gVGhpcyBjb3VsZCBpbmNsdWRlIGNvbGxhYm9yYXRpb25zIHdpdGggcGhhcm1hY2V1dGljYWwgY29tcGFuaWVzIHRvIGRldmVsb3AgbmV3IHRyZWF0bWVudCBtb2RhbGl0aWVzIGZvciBnZW5ldGljIGRpc2Vhc2VzIGJleW9uZCBjeXN0aWMgZmlicm9zaXMsIHV0aWxpemluZyBhZHZhbmNlZCBkZWxpdmVyeSBzeXN0ZW1zIGFuZCBwZXJzb25hbGl6ZWQgbWVkaWNpbmUgYXBwcm9hY2hlcy4gPC9wPlxuICAgICAgICAgICAgICAgICA8SDIgdGV4dD1cIkVkaXRpbmcgU3RhdGlzdGljc1wiLz4gXG4gICAgICAgICAgICAgICAgIDxQaWVDaGFydCAvPiB7LyogUmVuZGVyIHRoZSBQaWVDaGFydCBjb21wb25lbnQgKi99XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgIHsvKiBTb3VyY2VzICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgICA8SDIgdGV4dD1cIlJlZmVyZW5jZXNcIiBpZD1cIlJlZmVyZW5jZXNcIj48L0gyPlxuICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgIHsvKiA8IS0tIENpdGF0aW9uIG51bSAxLS0+ICovfVxuICAgICAgICAgICAgICAgIDxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPlNjb3RldCwgVi48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkd1dGllcnJleiwgSC48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkZhcnJlbGwsIFAuIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+TmV3Ym9ybiBTY3JlZW5pbmcgZm9yIENGIGFjcm9zcyB0aGUgR2xvYmVcdTIwMTRXaGVyZSBJcyBJdCBXb3J0aHdoaWxlPyA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5JbnQgSiBOZW9uYXRhbCBTY3JlZW4gPC9pPlxuICAgICAgICAgICAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPjY8L2I+LFxuICAgICAgICAgICAgICAgICAgICAoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDIwXCI+MjAyMDwvdGltZT4pLiBcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4zMzkwL2lqbjYwMTAwMThcIj4gZG9pOiAxMC4zMzkwL2lqbjYwMTAwMTg8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgICAgIHsvKiA8IS0tIENpdGF0aW9uIG51bSAyLS0+ICovfVxuICAgICAgICAgICAgICAgIDxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkFuemFsb25lLCBBLlYuPC9zcGFuPixcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj5SYW5kb2xwaCwgUC5CLjwvc3Bhbj4sXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+RGF2aXMsIEouUi48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPlNvdXNhLCBBLkEuPC9zcGFuPixcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj5Lb2JsYW4sIEwuVy48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkxldnksIEouTS48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPk5ld2J5LCBHLkEuPC9zcGFuPixcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj5SYWd1cmFtLCBBLjwvc3Bhbj4sXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+TGl1LCBELlIuIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+U2VhcmNoLWFuZC1yZXBsYWNlIGdlbm9tZSBlZGl0aW5nIHdpdGhvdXQgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5OYXR1cmUgPC9pPlxuICAgICAgICAgICAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPjU3NDwvYj4sXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiA1ODk8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj41OTQgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAxOVwiPjIwMTk8L3RpbWU+KS5cbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4Ni0wMTktMTcxMS00XCI+IGRvaTogMTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNDwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICAgICAgey8qIDwhLS0gQ2l0YXRpb24gbnVtIDMtLT4gKi99XG4gICAgICAgICAgICAgICAgPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+QnJvYWQgSW5zdGl0dXRlIG9mIE1JVCBhbmQgSGFydmFyZC4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj5SZXNlYXJjaGVycyBlbmdpbmVlciBpbiB2aXZvIGRlbGl2ZXJ5IHN5c3RlbSBmb3IgcHJpbWUgZWRpdGluZywgcGFydGlhbGx5IHJlc3RvcmluZyB2aXNpb24gaW4gbWljZS4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+UGh5cy5vcmcgPC9pPlxuICAgICAgICAgICAgICAgICAgICAoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDI0XCI+MjAyNDwvdGltZT4pLlxuICAgICAgICAgICAgICAgIDwvbGk+XG5cbiAgICAgICAgICAgICAgICB7LyogPCEtLSBDaXRhdGlvbiBudW0gNC0tPiAqL31cbiAgICAgICAgICAgICAgICA8bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj5HYXVkZWxsaSwgTi48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPktvbW9yLCBBLjwvc3Bhbj4sXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+UmVlcywgSC48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPlBhY2tlciwgTS48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkJhZHJhbiwgQS48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkJyeXNvbiwgRC48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkxpdSwgRC4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj5Qcm9ncmFtbWFibGUgZWRpdGluZyBvZiBhIHRhcmdldCBiYXNlIGluIGdlbm9taWMgRE5BIHdpdGhvdXQgZG91YmxlLXN0cmFuZGVkIEROQSBjbGVhdmFnZS4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+TmF0dXJlIDwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj41MzM8L2I+LFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gNDIwPC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+NDI0IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAxNlwiPjIwMTY8L3RpbWU+KS4gXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9uYXR1cmUxNzk0NlwiPiBkb2k6IDEwLjEwMzgvbmF0dXJlMTc5NDY8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgICAgIHsvKiA8IS0tIENpdGF0aW9uIG51bSA1LS0+ICovfVxuICAgICAgICAgICAgICAgIDxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPk9wZW5FZCBDVU5ZLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPlJOQSBTdGFiaWxpdHkgYW5kIHRoZSBSb2xlIG9mIFJOQS1CaW5kaW5nIFByb3RlaW5zLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5PcGVuRWQgQ1VOWSA8L2k+XG4gICAgICAgICAgICAgICAgICAgICg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMjRcIj4yMDI0PC90aW1lPikuXG4gICAgICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgICAgIHsvKiA8IS0tIENpdGF0aW9uIG51bSA2LS0+ICovfVxuICAgICAgICAgICAgICAgIDxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPlNhaGF5LCBHLjwvc3Bhbj4sXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+QWxha2hvdmEsIEQuWS48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkthYmFub3YsIEEuVi4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj5FbmRvY3l0b3NpcyBvZiBuYW5vbWVkaWNpbmVzLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5Kb3VybmFsIG9mIENvbnRyb2xsZWQgUmVsZWFzZSA8L2k+XG4gICAgICAgICAgICAgICAgICAgIDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+MTQ1PC9iPixcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDE4Mjwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjE5NSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMTBcIj4yMDEwPC90aW1lPikuXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAxMC4wMS4wMzZcIj4gZG9pOiAxMC4xMDE2L2ouamNvbnJlbC4yMDEwLjAxLjAzNjwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICAgICAgey8qIDwhLS0gQ2l0YXRpb24gbnVtIDctLT4gKi99XG4gICAgICAgICAgICAgICAgPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtN1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+UmFtYWNoYW5kcmFuLCBTLjwvc3Bhbj4sXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+U2F0YXBhdGh5LCBTLlIuPC9zcGFuPixcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj5EdXR0YSwgVC4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj5EZWxpdmVyeSBTdHJhdGVnaWVzIGZvciBtUk5BIFZhY2NpbmVzLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5QaGFybWFjZXV0aWNhbCBNZWRpY2luZSA8L2k+XG4gICAgICAgICAgICAgICAgICAgIDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+MzY8L2I+LFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMTE8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4yMCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMjJcIj4yMDIyPC90aW1lPikuXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAwNy9zNDAyOTAtMDIxLTAwNDE3LTVcIj4gZG9pOiAxMC4xMDA3L3M0MDI5MC0wMjEtMDA0MTctNTwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuXG4gICAgICAgICAgICAgICAgey8qIDwhLS0gQ2l0YXRpb24gbnVtIDgtLT4gKi99XG4gICAgICAgICAgICAgICAgPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtOFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+QmFuZGksIFMuUC48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPkJoYXRuYWdhciwgUy48L3NwYW4+LFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPlZlbnVnYW50aSwgVi5WLksuIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+QWR2YW5jZWQgbWF0ZXJpYWxzIGZvciBkcnVnIGRlbGl2ZXJ5IGFjcm9zcyBtdWNvc2FsIGJhcnJpZXJzLiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5BY3RhIEJpb21hdGVyaWFsaWEgPC9pPlxuICAgICAgICAgICAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPjExOTwvYj4sXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxMzwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjI5IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAyMVwiPjIwMjE8L3RpbWU+KS5cbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouYWN0YmlvLjIwMjAuMTAuMDMxXCI+IGRvaTogMTAuMTAxNi9qLmFjdGJpby4yMDIwLjEwLjAzMTwvYT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIHsvKjwhLS0gQ2l0YXRpb24gbnVtIDktLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy05XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEFuemFsb25lLCBBLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYW5kb2xwaCwgUC48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRGF2aXMsIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFNvdXNhLCBBLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBLb2JsYW4sIEwuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExldnksIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoZW4sIFAuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFdpbHNvbiwgQy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTmV3YnksIEcuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFJhZ3VyYW0sIEEuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExpdSwgRC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1NlYXJjaC1hbmQtcmVwbGFjZSBnZW5vbWUgZWRpdGluZyB3aXRob3V0IGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQS4gPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gNTc2PC9iPiwmbmJzcDtcblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+MTQ5XHUyMDEzMTU3PC9zcGFuPlxuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAxOVwiPjIwMTk8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4Ni0wMTktMTcxMS00XCI+IGRvaTogMTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNDwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDEwLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTBcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRG9tYW4sIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFBhbmRleSwgUy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTmV1Z2ViYXVlciwgTS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQW4sIE0uPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IERhdmlzLCBKLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYW5kb2xwaCwgUC48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTWNFbHJveSwgQS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gR2FvLCBYLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYWd1cmFtLCBBLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSaWNodGVyLCBNLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBFdmVyZXR0ZSwgSy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQmFuc2tvdGEsIFMuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFRpYW4sIEsuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFRhbywgWS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gVG9sYXIsIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE9zYm9ybiwgTS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTGl1LCBELjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7UGhhZ2UtYXNzaXN0ZWQgZXZvbHV0aW9uIGFuZCBwcm90ZWluIGVuZ2luZWVyaW5nIHlpZWxkIGNvbXBhY3QsIGVmZmljaWVudCBwcmltZSBlZGl0b3JzLiA8L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gQ2VsbDwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTg2PC9iPiwmbmJzcDtcblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDM5ODM8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj40MDAyLmUyNjwvc3Bhbj5cblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjNcIj4yMDIzPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmNlbGwuMjAyMy4wNy4wMzlcIj4gZG9pOiAxMC4xMDE2L2ouY2VsbC4yMDIzLjA3LjAzOTwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDExLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTFcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSmluZWssIE0uPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoeWxpbnNraSwgSy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRm9uZmFyYSwgSS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSGF1ZXIsIE0uPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IERvdWRuYSwgSi48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hhcnBlbnRpZXIsIEUuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtBIHByb2dyYW1tYWJsZSBkdWFsIFJOQS1ndWlkZWQgRE5BIGVuZG9udWNsZWFzZSBpbiBhZGFwdGl2ZSBiYWN0ZXJpYWwgaW1tdW5pdHkuIDwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBTY2llbmNlIChOZXcgWW9yaywgTi5ZLik8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDMzNzwvYj4sJm5ic3A7XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPjgxNlx1MjAxMzgyMTwvc3Bhbj5cblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMTJcIj4yMDEyPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTEyNi9zY2llbmNlLjEyMjU4MjlcIj4gZG9pOiAxMC4xMTI2L3NjaWVuY2UuMTIyNTgyOTwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDEyLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTJcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTmVsc29uLCBKLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYW5kb2xwaCwgUC48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU2hlbiwgUy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRXZlcmV0dGUsIEsuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoZW4sIFAuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEFuemFsb25lLCBBLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBbiwgTS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTmV3YnksIEcuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoZW4sIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEhzdSwgQS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTGl1LCBELjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7RW5naW5lZXJlZCBwZWdSTkFzIGltcHJvdmUgcHJpbWUgZWRpdGluZyBlZmZpY2llbmN5LiA8L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlIEJpb3RlY2hub2xvZ3k8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDQwPC9iPiwmbmJzcDtcblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+NDAyXHUyMDEzNDEwPC9zcGFuPlxuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4Ny0wMjEtMDEwMzktN1wiPiBkb2k6IDEwLjEwMzgvczQxNTg3LTAyMS0wMTAzOS03PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTMtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xM1wiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTb3VzYSwgQS48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSGVtZXosIEMuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExlaSwgTC48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gVHJhb3JlLCBTLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBLdWxoYW5rb3ZhLCBLLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBOZXdieSwgRy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRG9tYW4sIEouPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE95ZSwgSy48L3NwYW4+O1xuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUGFuZGV5LCBTLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBLYXJwLCBQLjwvc3Bhbj47XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNY0NyYXksIFAuPC9zcGFuPjtcblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExpdSwgRC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1N5c3RlbWF0aWMgb3B0aW1pemF0aW9uIG9mIHByaW1lIGVkaXRpbmcgZm9yIHRoZSBlZmZpY2llbnQgZnVuY3Rpb25hbCBjb3JyZWN0aW9uIG9mIENGVFIgRjUwOGRlbCBpbiBodW1hbiBhaXJ3YXkgZXBpdGhlbGlhbCBjZWxscy4gPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBCaW9tZWRpY2FsIEVuZ2luZWVyaW5nPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiA8L2I+LCY7XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPjFcdTIwMTMxNTwvc3Bhbj5cblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjRcIj4yMDI0PC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9zNDE1NTEtMDI0LTAxMjMzLTNcIj4gZG9pOiAxMC4xMDM4L3M0MTU1MS0wMjQtMDEyMzMtMzwvYT5cbjwvbGk+XG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE0XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFJvZHJpZ3VlcywgUi48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0N5c3RpYyBmaWJyb3NpcyBhbmQgbmVvbmF0YWwgc2NyZWVuaW5nLiA8L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gQ2FkZXJub3MgZGUgU2FcdTAwRkFkZSBQXHUwMEZBYmxpY2E8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDI0PC9iPiwmbmJzcDtcblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDQ3NTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjQ4NDwvc3Bhbj5cblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMDhcIj4yMDA4PC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTU5MC9TMDEwMi0zMTFYMjAwODAwMTYwMDAwMlwiPiBkb2k6IDEwLjE1OTAvUzAxMDItMzExWDIwMDgwMDE2MDAwMDI8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNS0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE1XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEZhcnJlbGwsIFAuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtUaGUgSW1wYWN0IG9mIHRoZSBDRlRSIEdlbmUgRGlzY292ZXJ5IG9uIEN5c3RpYyBGaWJyb3NpcyBEaWFnbm9zaXMsIENvdW5zZWxpbmcsIGFuZCBQcmV2ZW50aXZlIFRoZXJhcHkuIDwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBHZW5lczwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTEoNCk8L2I+LCZuYnNwO1xuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj40MDE8L3NwYW4+XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIwXCI+MjAyMDwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjMzOTAvZ2VuZXMxMTA0MDQwMVwiPiBkb2k6IDEwLjMzOTAvZ2VuZXMxMTA0MDQwMTwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDE2LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTZcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTHVrYWNzLCBHLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7IENGVFI6IGZvbGRpbmcsIG1pc2ZvbGRpbmcgYW5kIGNvcnJlY3RpbmcgdGhlIFx1MDM5NEY1MDggY29uZm9ybWF0aW9uYWwgZGVmZWN0LiA8L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gVHJlbmRzIGluIG1vbGVjdWxhciBtZWRpY2luZTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTgoMik8L2I+LCZuYnNwO1xuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gODE8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj45MTwvc3Bhbj5cblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMTJcIj4yMDEyPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLm1vbG1lZC4yMDExLjEwLjAwM1wiPiBkb2k6IDEwLjEwMTYvai5tb2xtZWQuMjAxMS4xMC4wMDM8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNy0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE3XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEFtaWNvLCBHLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7VW5yYXZlbGxpbmcgdGhlIFJlZ2lvbnMgb2YgTXV0YW50IEY1MDhkZWwtQ0ZUUiBNb3JlIFN1c2NlcHRpYmxlIHRvIHRoZSBBY3Rpb24gb2YgRm91ciBDeXN0aWMgRmlicm9zaXMgQ29ycmVjdG9ycy4gPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEludGVybmF0aW9uYWwgSm91cm5hbCBvZiBNb2xlY3VsYXIgU2NpZW5jZXM8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDIwKDIxKTwvYj4sJm5ic3A7XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPjU0NjM8L3NwYW4+XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDE5XCI+MjAxOTwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjMzOTAvaWptczIwMjE1NDYzXCI+IGRvaTogMTAuMzM5MC9pam1zMjAyMTU0NjM8L2E+XG48L2xpPlxuXG5cblxuXG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L29sPlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG5cblxuICAgICAgICA8L2Rpdj4gIFxuICAgICAgPC9kaXY+ICAgIFxuICApO1xufVxuXG4gbGV0IG1lZGlidXR0b25yb3dkYXRhID1bXG4gICAge1xuICAgICAgICBub2RlOiA8SDIgaWQ9XCJhYm91dC1idG5cIiB0ZXh0PVwiQWJvdXRcIi8+LCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJBYm91dFwiLCBcbiAgICAgICAgY3NzbmFtZTogXCJGaXJzdFwiXG4gICAgICAgIFxuICAgIH0sXG4gICAgeyAgIFxuICAgICAgICBub2RlOiA8SDIgaWQ9XCJtb2R1bGF0b3ItYnRuXCIgdGV4dD1cIk1vZHVsYXRvcnNcIi8+LFxuICAgICAgICBidXR0b25uYW1lOiBcIk1vZHVsYXRvcnNcIiwgXG4gICAgICAgIGNzc25hbWU6IFwibW9kdWxhdG9yc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IDxIMiBpZD1cImluaGFsYXRvci1idG5cIiB0ZXh0PVwiSW5oYWxhdGlvbnNcIi8+LCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJJbmhhbGF0aW9uc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJpbmhhbGF0aW9uc1wiXG4gICAgfSxcbl1cbiIsICJcblxuZXhwb3J0IGZ1bmN0aW9uIEJ1bGJCb3goe3RpdGxlLCBjaGlsZHJlbn06e3RpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lciB0aXBcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInYtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUWFCb3goe3EsIGF9OntxOiBzdHJpbmcsIGE6IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICByZXR1cm4oXG4gICAgIDxkaXYgY2xhc3NOYW1lPVwicWFib3hcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHtxfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJxdWVzdGlvbi1idWJibGVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAge2F9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICApXG59XG5leHBvcnQgZnVuY3Rpb24gU3BlY2lhbFFhQm94KHtxLCBjaGlsZHJlbn06e3E6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICByZXR1cm4oXG4gICAgIDxkaXYgY2xhc3NOYW1lPVwicWFib3hcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHtxfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJxdWVzdGlvbi1idWJibGVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICA8L2Rpdj5cbiAgKVxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIEluZm9Cb3goe3RpdGxlLCBjaGlsZHJlbiwgaWR9Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlLCBpZDogc3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgaW5mb1wiIGlkPXtpZH0+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FzaWRlPlxuICAgIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBXYXJuQm94KHt0aXRsZSwgY2hpbGRyZW59Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgd2FybmluZ1wiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyLXRpdGxlXCI+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidi1jYXJkLXRleHRcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hc2lkZT5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbHVlSW5mb0JveCh7dGl0bGUsIGNoaWxkcmVufTp7dGl0bGU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICByZXR1cm4oXG4gICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgZGFuZ2VyXCI+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyLXRpdGxlXCI+XG4gICAgICAgICAge3RpdGxlfVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidi1jYXJkLXRleHRcIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FzaWRlPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOb3RlQm94KHt0aXRsZSwgY2hpbGRyZW4sIGlkfTp7dGl0bGU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSwgaWQ6IHN0cmluZ30pe1xuICByZXR1cm4oXG4gICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgbm90ZVwiIGlkPXtpZH0+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyLXRpdGxlXCI+XG4gICAgICAgICAge3RpdGxlfVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidi1jYXJkLXRleHRcIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FzaWRlPlxuICApXG59IiwgImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW50ZXJmYWNlIElQcm9wcyB7XG4gIG9wZW4/OiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xufVxuXG5cbiAgXG4gIGV4cG9ydCBjb25zdCBDb2xsYXBzaWJsZTogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG9wZW4gPSBmYWxzZSwgY2hpbGRyZW4sIHRpdGxlLCBpZCB9KSA9PiB7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKG9wZW4pO1xuICAgIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IFVSTCBoYXMgdGhlIHNwZWNpZmljIGNvbGxhcHNlIElEXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcblxuICAgICAgICBpZiAoY29sbGFwc2VJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIHNldElzT3Blbih0cnVlKTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2gsIGlkXSk7XG5cbiAgICBjb25zdCBoYW5kbGVGaWx0ZXJPcGVuaW5nID0gKCkgPT4ge1xuICAgICAgICBzZXRJc09wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgaWQ9e2lkfSBjbGFzc05hbWU9XCJjb2xsYXBzZS1jYXJkIGJnLWRiXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzc05hbWU9XCJmb250LXdlaWdodC1ib2xkIGNvbGxhcHNpYmxlLWFcIj57dGl0bGV9PC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0blwiIG9uQ2xpY2s9e2hhbmRsZUZpbHRlck9wZW5pbmd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHshaXNPcGVuID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtZG93bi5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC11cDMycHgucG5nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57aXNPcGVuICYmIDxkaXYgY2xhc3NOYW1lPVwicC0zXCI+PGhyIGNsYXNzTmFtZT0nY29sbGFwc2libGUtaHInIC8+e2NoaWxkcmVufTwvZGl2Pn08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuICBleHBvcnQgY29uc3QgQ29sbGFwc2libGVUd286IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBvcGVuLCBjaGlsZHJlbiwgdGl0bGUgfSkgPT4ge1xuICAgIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShvcGVuKTtcbiAgXG4gICAgY29uc3QgaGFuZGxlRmlsdGVyT3BlbmluZyA9ICgpID0+IHtcbiAgICAgIHNldElzT3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgIDxzZWN0aW9uIGlkPXt0aXRsZX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2UtY2FyZFwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZm9udC13ZWlnaHQtYm9sZCBjb2xsYXBzaWJsZS1hXCI+e3RpdGxlfTwvaDM+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0blwiIG9uQ2xpY2s9e2hhbmRsZUZpbHRlck9wZW5pbmd9PlxuICAgICAgICAgICAgICAgIHshaXNPcGVuID8gKFxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC1kb3duLnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtdXAzMnB4LnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgIDxkaXY+e2lzT3BlbiAmJiA8ZGl2IGNsYXNzTmFtZT1cInAtM1wiPiA8aHIgY2xhc3NOYW1lPSdjb2xsYXBzaWJsZS1ocicvPiB7Y2hpbGRyZW59PC9kaXY+fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbiAgXG4gIFxuICBleHBvcnQgZGVmYXVsdCBDb2xsYXBzaWJsZTtcblxuICBleHBvcnQgY29uc3QgQ29sbGFwc2libGVJbmZvQm94OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHsgb3BlbiwgY2hpbGRyZW4sIHRpdGxlIH0pID0+IHtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUob3Blbik7XG4gIFxuICAgIGNvbnN0IGhhbmRsZUZpbHRlck9wZW5pbmcgPSAoKSA9PiB7XG4gICAgICBzZXRJc09wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sbGFwc2UtY2FyZCBiZy1pbmZvXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgIDxoNiBjbGFzc05hbWU9XCJmb250LXdlaWdodC1ib2xkIGNvbGxhcHNpYmxlLWFcIj57dGl0bGV9PC9oNj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuXCIgb25DbGljaz17aGFuZGxlRmlsdGVyT3BlbmluZ30+XG4gICAgICAgICAgICAgICAgeyFpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLWRvd24ucG5nXCIgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC11cDMycHgucG5nXCIgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgICAgICAgPGRpdj57aXNPcGVuICYmIDxkaXYgY2xhc3NOYW1lPVwicC0zXCI+IDxociBjbGFzc05hbWU9J2NvbGxhcHNpYmxlLWhyJy8+IHtjaGlsZHJlbn08L2Rpdj59PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICAiLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9zYWhhbWlhc2FkL3dpa2kuY3NzL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3NhaGFtaWFzYWQvd2lraS5jc3MvYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL2dvdG8udHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3NhaGFtaWFzYWQvd2lraS5jc3MvYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL2dvdG8udHNcIjtleHBvcnQgY29uc3QgZ29UbyA9IChlbDogSFRNTEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICBjb25zdCBlbGVtZW50UmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBlbGVtZW50UmVjdC50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7IC8vIEFic29sdXRlIHBvc2l0aW9uIGZyb20gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnRcbiAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgIC8vIENhbGN1bGF0ZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIHNvIHRoZSB0b3Agb2YgdGhlIGVsZW1lbnQgaXMgY2VudGVyZWQgaW4gdGhlIHZpZXdwb3J0XG4gICAgY29uc3QgbWlkZGxlUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gKHZpZXdwb3J0SGVpZ2h0IC8gNSAtIGVsLm9mZnNldEhlaWdodCAvIDIpO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgdG9wOiBtaWRkbGVQb3NpdGlvbixcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgfSk7XG59O1xuXG5cbi8qIFxuZXhwb3J0IGNvbnN0IGdvVG9UZXh0c0FuZE9wZW5Db2xsYXBzaWJsZSA9ICh7Y29sbGFwc2VJZCwgcGF0aH06IHtjb2xsYXBzZUlkOiBzdHJpbmcsIHBhdGg6IHN0cmluZ30pID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgbmF2aWdhdGUoYCR7cGF0aH0ke2NvbGxhcHNlSWR9YCk7XG59O1xuZXhwb3J0IGNvbnN0IGdvVG9QYWdlc0FuZE9wZW5UYWIgPSAodGFiSWQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIG5hdmlnYXRlKGAke3BhdGh9JHt0YWJJZH1gKTtcbn07ICovIiwgIi8qIGltcG9ydCB7IG9wZW5UaGVtIH0gZnJvbSBcIi4uL2NvbnRlbnRzXCI7XG4gKi9cbmltcG9ydCB7IGdvVG8gfSBmcm9tIFwiLi4vdXRpbHMvZ290b1wiO1xuaW50ZXJmYWNlIFNjcm9sbExpbmtQcm9wcyB7XG4gICAgdGFyZ2V0SWQ6IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICBvcGVuVGhpcz86ICBzdHJpbmc7ICAgLyooX2V2ZW50OiBNb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDsgKi9cbn1cbmludGVyZmFjZSBTdXBTY3JvbGxMaW5rUHJvcHMge1xuICAgIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBTY3JvbGxMaW5rOiBSZWFjdC5GQzxTY3JvbGxMaW5rUHJvcHM+ID0gKHsgdGFyZ2V0SWQsIGxhYmVsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGFuY2hvciBiZWhhdmlvclxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSB0YXJnZXRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGVsZW1lbnRSZWN0LnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxPZmZzZXQgPSBlbGVtZW50VG9wIC0gKHZpZXdwb3J0SGVpZ2h0IC8gNSAtIHRhcmdldEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBFbGVtZW50IFRvcDogJHtlbGVtZW50VG9wfWApO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFZpZXdwb3J0IEhlaWdodDogJHt2aWV3cG9ydEhlaWdodH1gKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGwgT2Zmc2V0OiAke3Njcm9sbE9mZnNldH1gKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbE9mZnNldCxcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBFbGVtZW50IHdpdGggSUQgJHt0YXJnZXRJZH0gbm90IGZvdW5kLmApO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxhIGhyZWY9e2AjJHt0YXJnZXRJZH1gfSBvbkNsaWNrPXtoYW5kbGVDbGlja30+XG4gICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvYT5cbiAgICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgU3VwU2Nyb2xsTGluayA6IFJlYWN0LkZDPFN1cFNjcm9sbExpbmtQcm9wcz4gPSAoe2xhYmVsIH0pID0+IHtcbiAgICBsZXQgdGFyZ2V0SWQgPSBcImRlc2MtXCIgKyBsYWJlbFxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgZ29Ubyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgIDxzdXA+PGEgb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L2E+XG4gICAgICAgIDwvc3VwPiBcbiAgICApO1xufTtcbi8qIGV4cG9ydCBjb25zdCBTY3JvbGxMaW5rOiBSZWFjdC5GQzxTY3JvbGxMaW5rUHJvcHM+ID0gKHsgdGFyZ2V0SWQsIGxhYmVsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBkZWZhdWx0IGFuY2hvciBiZWhhdmlvclxuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgZ29Ubyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8YSBocmVmPXtgIyR7dGFyZ2V0SWR9YH0gb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L2E+XG4gICAgKTtcbn07ICovXG5cblxuLyogZXhwb3J0IGNvbnN0IFNjcm9sbExpbmtTaWRlYmFyOiBSZWFjdC5GQzxPcGVuU2Nyb2xsTGlua1dpdGhDaGlsZFByb3BzPiA9ICh7IHRhcmdldElkLCBjaGlsZHJlbiwgb3BlblRoaXN9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICBnb1RvKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIG9wZW5UaGVtKHtpdDogb3BlblRoaXN9KTsgXG4gICAgfTtcbiAgICBcbiAgICByZXR1cm4gKFxuICAgICAgICA8YSBvbkNsaWNrPXtoYW5kbGVDbGlja30+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvYT5cbiAgICApO1xufTsgKi9cblxuIGV4cG9ydCBjb25zdCBTY3JvbGxMaW5rV2l0aENoaWxkOiBSZWFjdC5GQzxTY3JvbGxMaW5rUHJvcHM+ID0gKHsgdGFyZ2V0SWQsIGNoaWxkcmVuIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGdvVG8odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2E+XG4gICAgKTtcbn07ICIsICJleHBvcnQgZnVuY3Rpb24gTG9yZW1NZWRpdW0oKXtcbiAgICByZXR1cm4oXG4gICAgICAgIDw+XG4gICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvIGRvbG9yZXMgZXQgZWEgcmVidW0uIFN0ZXQgY2xpdGEga2FzZCBndWJlcmdyZW4sIG5vIHNlYSB0YWtpbWF0YSBzYW5jdHVzIGVzdCBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiAgIFxuXG5EdWlzIGF1dGVtIHZlbCBldW0gaXJpdXJlIGRvbG9yIGluIGhlbmRyZXJpdCBpbiB2dWxwdXRhdGUgdmVsaXQgZXNzZSBtb2xlc3RpZSBjb25zZXF1YXQsIHZlbCBpbGx1bSBkb2xvcmUgZXUgZmV1Z2lhdCBudWxsYSBmYWNpbGlzaXMgYXQgdmVybyBlcm9zIGV0IGFjY3Vtc2FuIGV0IGl1c3RvIG9kaW8gZGlnbmlzc2ltIHF1aSBibGFuZGl0IHByYWVzZW50IGx1cHRhdHVtIHp6cmlsIGRlbGVuaXQgYXVndWUgZHVpcyBkb2xvcmUgdGUgZmV1Z2FpdCBudWxsYSBmYWNpbGlzaS4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVlciBhZGlwaXNjaW5nIGVsaXQsIHNlZCBkaWFtIG5vbnVtbXkgbmliaCBldWlzbW9kIHRpbmNpZHVudCB1dCBsYW9yZWV0IGRvbG9yZSBtYWduYSBhbGlxdWFtIGVyYXQgdm9sdXRwYXQuICAgXG5cblV0IHdpc2kgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2kgdGF0aW9uIHVsbGFtY29ycGVyIHN1c2NpcGl0IGxvYm9ydGlzIG5pc2wgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlbSB2ZWwgZXVtIGlyaXVyZSBkb2xvciBpbiBoZW5kcmVyaXQgaW4gdnVscHV0YXRlIHZlbGl0IGVzc2UgbW9sZXN0aWUgY29uc2VxdWF0LCB2ZWwgaWxsdW0gZG9sb3JlIGV1IGZldWdpYXQgbnVsbGEgZmFjaWxpc2lzIGF0IHZlcm8gZXJvcyBldCBhY2N1bXNhbiBldCBpdXN0byBvZGlvIGRpZ25pc3NpbSBxdWkgYmxhbmRpdCBwcmFlc2VudCBsdXB0YXR1bSB6enJpbCBkZWxlbml0IGF1Z3VlIGR1aXMgZG9sb3JlIHRlIGZldWdhaXQgbnVsbGEgZmFjaWxpc2kuICAgXG5cbk5hbSBsaWJlciB0ZW1wb3IgY3VtIHNvbHV0YSBub2JpcyBlbGVpZmVuZCBvcHRpb24gY29uZ3VlIG5paGlsIGltcGVyZGlldCBkb21pbmcgaWQgcXVvZCBtYXppbSBwbGFjZXJhdCBmYWNlclxuPC8+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTG9yZW1TaG9ydCgpe1xuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuXG4gICAgICAgIDwvPlxuICAgIClcbn0iLCAiXG5cbmV4cG9ydCBmdW5jdGlvbiBDaXJjbGUoe3RleHR9Ont0ZXh0OiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGNpcmNsZVwiPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwic2hhcGUtdGV4dFwiPnt0ZXh0fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCJcbmltcG9ydCB7IFNjcm9sbExpbmtXaXRoQ2hpbGQgfSBmcm9tIFwiLi9TY3JvbGxMaW5rXCI7XG5leHBvcnQgZnVuY3Rpb24gQ29tcGxleCgpe1xuICAgY29uc3QgeyBnb1RvUGFnZXNBbmRPcGVuVGFiIC8qICwgZ29Ub1RleHRzQW5kT3BlbkNvbGxhcHNpYmxlICovIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICAgPD5cbiAgIDxzdmdcbiAgIHZlcnNpb249XCIxLjFcIlxuICAgaWQ9XCJzdmcxXCJcbiAgIHdpZHRoPVwiMTY4MC41MzQ3XCJcbiAgIGhlaWdodD1cIjEwMCVcIlxuICAgdmlld0JveD1cIjAgMCAxNjgwLjUzNDcgODk0LjIyNjc1XCJcbiAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgPGRlZnNcbiAgICAgaWQ9XCJkZWZzMVwiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2I4NWJkMVwiLHN0cm9rZVdpZHRoOlwiMTFcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gNTM2LjI1NTkyLDE0MC42NjIyNSBjIDAsMCAzNi42ODc1NSwtNDEuNDY5NTA1IDE1Ni4xODMxNywtMzMuNDI2MTggMTE5LjQ5NTYyLDguMDQzMzMgMTY4LjI1NTgxLDE1LjM0MTkzIDIyOC43NDM3LDMxLjY0ODYyIDYwLjQ4Nzg5LDE2LjMwNjY5IDczLjExMTA1LDU4Ljg2MTYgNzMuMTExMDUsNTguODYxNlwiXG4gICAgIGlkPVwicGF0aDRcIiAvPlxuICA8cGF0aFxuICAgICBzdHlsZT17e2Rpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwiI2Y1N2QyMlwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjkuODI2NzdcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gMzQ5LjcwOTIsMTE1LjkwOTEyIGMgLTIxLjU4MTY0LDQzLjI5NTExIC0yMi4wNjg3MSw0My4zMjc5MiAtMTkuNzM4MTYsOTUuNTgxNjUgMS4wMDUyNiwyMi41MzkyOCAyNy44NTY2LDYxLjc5NzkzIDQwLjg0MjMzLDcwLjM0MjMyIDEyLjk4NTczLDguNTQ0MzggMzYuOTI3NjksMTEuMTk0MDUgODEuMDA2OTgsMi4xODAyMiA0NC4wNzkyOSwtOS4wMTM4MyA3OC4wNDg3NywtMTIuOTMxNDQgOTguMjkxMzcsLTQyLjMzODk0IDIwLjI0MjYsLTI5LjQwNzUgMTkuNjQzMzYsLTgwLjI5MDY4IDkuMjgxOTQsLTEwNS4yNDY3NyBDIDU0MC40NzU5LDkwLjg2MzAwOSA0MjUuOTQ3NzIsNTIuMzI2NiAzODEuOTI0OTMsODguMzE5NjQgMzUxLjI3MjgzLDExMy4zODA4IDM0OS43MDkyLDExNS45MDkxMiAzNDkuNzA5MiwxMTUuOTA5MTIgWlwiXG4gICAgIGlkPVwicm5hYmluZGluZ1wiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2I4NWJkMVwiLHN0cm9rZVdpZHRoOlwiMTFcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gMTE5OS43OTkxLDI3My4zOTAxNyBjIDAsMCA2Ny45NTEzLDIuMjA4NjYgMTAwLjQ2NDcsMjAuODA5NTQgMzIuNTEzMywxOC42MDA4OCA2NC45Mjg3LDUwLjk2OSA3Mi45NDcsNzMuODgwNDYgOC4wMTgyLDIyLjkxMTQ2IDkuOTk2Myw5NC44MDA3MiAtMS4xNjE1LDEzNS4wNTcwOSAtMTEuMTU3OSw0MC4yNTYzNyAtMjYuNTI4OSwxMDUuMDA5MzIgLTQwLjMzNzgsMTIxLjg1MTA1IC0xMy44MDg5LDE2Ljg0MTczIC0yNC45NDY0LDI5Ljc5NDgzIC02MC4xNDksMzMuNzgyMTkgLTM1LjIwMjYsMy45ODczNiAtMTQ1LjkxNDgsLTI0LjQxNzQ0IC0xNDUuOTE0OCwtMjQuNDE3NDRcIlxuICAgICBpZD1cInBhdGg1XCIgLz5cbiAgPHBhdGhcbiAgICAgIGNsYXNzTmFtZT1cInJuYWJpbmRpbmdsb2NoXCJcbiAgICAgc3R5bGU9e3tkaXNwbGF5OlwiaW5saW5lXCIsZmlsbDpcIiNkMTVmMDlcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCI5LjgyNjc3XCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gNDMzLjM1MzQzLDI4OC4wNDIwNyBjIDAsMCAtMy4wNDAyMywtMjMuMDgyNTcgLTQuNzE4NDYsLTQ5LjUwNzM0IC0xLjY3ODIzLC0yNi40MjQ3OCAtNy42NzMyNiwtMzkuMjIyMDEgLTE0LjU4OTc3LC02Ny41NDY5NyAtNi45MTY1MiwtMjguMzI0OTYgNC4xNDAxNiwtMzIuMDQyOTIgMTUuOTc4MjcsLTM3LjA1MDM0IDExLjgzODExLC01LjAwNzQzIDI4LjczMDk0LC0xNC45MTUwOCA0My4zNTIsOC43NTA2MSAxNC42MjEwNywyMy42NjU2OSAxNC45OTk4OSw1MS4wMjUgMjcuOTIsNzYuNzc4NSAxMi45MjAxMSwyNS43NTM1IDI0Ljg4MDA2LDQ0LjQxNTAzIDI0Ljg4MDA2LDQ0LjQxNTAzIDAsMCAtMjguMjg2MTMsMTYuNzY4MzcgLTQ3LjA1NDE0LDE5Ljg1NzAxIC0xOC43NjgsMy4wODg2MyAtNDUuNzY3OTYsNC4zMDM1IC00NS43Njc5Niw0LjMwMzUgelwiXG4gICAgIGlkPVwicm5hYmluZGluZ2xvY2hcIiAvPlxuICA8cGF0aFxuICAgICBzdHlsZT17e2Rpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjdcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gNTQwLjk3NDIxLDU0My42ODQ3OSBjIC0xMC4xMTQwMyw0LjMwMDg5IC0yMy44NDgzNywxMC44MTc1MSAtMTUuNTMyNzcsMjkuMjQ0OTYgOC4zMTU2LDE4LjQyNzQ1IDEzLjc0NDE4LDI3LjA0MTU4IDI1LjI2NjU1LDM2LjEyMTggMTAuNDU1NjEsOC4yMzk1NiAxMi4yMDkzMSwtMC43Nzk0MiAyOC4wMzIxMSw5LjM2MTM4IDE3LjEwODY1LDEwLjk2NDg5IDE2LjM5MzI2LDM4Ljc0NTUzIDMuMzQyMjEsNDYuNzUyOCAtMTMuMDUxMDUsOC4wMDcyNyAtMzguMDc5MjgsMTIuNTQwODQgLTQ3LjcwODEyLDEuNzA3MzEgLTguNDMyNjgsLTkuNDg3NzIgLTExLjUyOTA0LC0zMC41MzMxNyAtNi4xNjgzNywtMzguNjU4NjcgNS4zNjA2NywtOC4xMjU0OSAtMTIuOTc5NywtMjMuMTc2MzEgLTIxLjY5NTYzLC00Ni41NTgyIC04LjcxNTk0LC0yMy4zODE5IC0yLjY0ODU1LC0zMi4xMzc4NyAtMjYuMzYyMDgsLTMwLjY1NTE3IC0xNC4xMzMyMiwwLjg4MzY5IC0zNy4xMTI1NywyNS4xMDQ4NCAtMzcuMTEyNTcsMjUuMTA0ODQgbCAtMzQuNjkwNDgsMjIuMzY4NzFcIlxuICAgICBpZD1cInBhdGg4LTFcIlxuICAgICAgLz5cbiAgPHBhdGhcbiAgICAgc3R5bGU9e3tkaXNwbGF5OlwiaW5saW5lXCIsZmlsbDpcIiNmNTdkMjJcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCI5LjgyNjc3XCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJtIDkzNy41MzY3MSwyMjMuOTY3NzYgYyAtMjEuNDAwODksNjUuNjQ3MjggNDMuNTQ4MjUsMTAwLjg0MzQ5IDYwLjU4MDQyLDEwOC45NzQyMyAxNy4wMzIxNyw4LjEzMDc0IDQwLjk4NDk3LDE3LjYwNzA5IDY1LjQyNDE3LDIwLjYyNzk1IDI0LjQzOTIsMy4wMjA4NyA5Mi4zMzg4LDQuNzQwMyAxMTkuMjQzNCwtMTEuNjM5OCAxOS4xOTg3LC0xMS42ODg2IDYzLjYwOTIsLTMzLjc1OTYzIDQwLjQwMDYsLTk4LjMzNDc1IC0yMy4yMDg1LC02NC41NzUxMiAtNDIuOTQ5NywtODUuOTIxNjQgLTk4Ljg1ODksLTk3LjM3NDggLTU1LjkwOTIsLTExLjQ1MzE2IC02Ny41OTg0LC0xNS42MTIzMSAtMTIxLjE2NTgsMTIuMzY3NDEgLTUzLjU2NzQsMjcuOTc5NzMgLTY1LjYyMzg5LDY1LjM3OTc2IC02NS42MjM4OSw2NS4zNzk3NiB6XCJcbiAgICAgaWQ9XCJtaW5pcnRcIlxuICAgICAgLz5cbiAgPHBhdGhcbiAgICAgc3R5bGU9e3tkaXNwbGF5OlwiaW5saW5lXCIsZmlsbDpcIiNmNTdkMjJcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCI5LjgyNjc3XCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJtIDgzNy40MDM5OCw0NTkuNjIzODYgYyA1My42MTQ5LC0xOC43MTIyOCA3MS4wMTkyMiwtMjUuOTk4MTEgMTIzLjQ5MDc0LC0xNi43MjM1OSA1Mi40NzE0OCw5LjI3NDUyIDEyNi44Mjg0OCwyNi45Njk1NSAxNTAuMDMxOTgsNjIuMDgxOTIgMjMuMjAzNSwzNS4xMTIzNiA0NC45ODQ0LDk3LjYyNzAzIDM1Ljc4MjksMTMwLjIzNzI0IC05LjIwMTUsMzIuNjEwMjEgLTIyLjY1NjQsNDMuNzI0OTEgLTY0LjU4NDQsNjAuMzcyOTMgLTQxLjkyODEsMTYuNjQ4MDEgLTEwMS42NzkwMywzNi4zOTYyNCAtMTU1LjIyMTgyLDM3LjUzOTUyIC01My41NDI3OCwxLjE0MzI5IC05NC4xNDAzMywtMC4zODMzNyAtMTQ0LjI0MjgxLC0zNS43NTk5OSAtNTAuMTAyNDgsLTM1LjM3NjYyIC0xMDUuNjA0MjcsLTUzLjM4MzUgLTExMy4yMTc2MywtOTEuNjk0NjIgLTE1Ljk3MTg3LC04MC4zNzE4NyA0NS41OTc1OSwtMTAzLjM0NyAxNjcuOTYxMDQsLTE0Ni4wNTM0MSB6XCJcbiAgICAgaWQ9XCJwYXRoM1wiXG4gICAgICAvPlxuICA8cGF0aFxuICAgICBzdHlsZT17e2Rpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjdcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gNDMxLjc1MjAyLDI4OC4xNjc0MiBjIDAsMCAyMC44Mjc5NSwtMTQuNzE2MjcgMjAuNDgwMTUsLTMwLjE1MjU4IC0wLjM0NzgxLC0xNS40MzYzMSAtMTUuODM1MjIsLTY3Ljc2MzM5IC0xOC4yMjIzNCwtODMuNDA0MzkgLTIuMzg3MTIsLTE1LjY0MTAxIDIxLjU2Nzg2LC0zMS44NzI1MSAzMC44NDY4MywtNy4xMzc5OCA5LjI3ODk3LDI0LjczNDUyIDEzLjY3MTA3LDY0LjQ0NzQ0IDI2LjQ3MTkyLDgxLjIxMDA3IDEyLjgwMDg0LDE2Ljc2MjYzIDQyLjExNjE2LDE5LjExMTM5IDY0LjU3MjYyLDE0LjQ4NDc2XCJcbiAgICAgaWQ9XCJwYXRoOC0zXCJcbiAgICAgIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiN1wiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICBkPVwibSA1NTMuMTc0MTIsMjY0LjI1NzAzIGMgMjQuMDQ4NjYsMC41MzE4NyAxNzIuODg3MjMsMy4yMzMxMiAyMDUuMjQzNzgsLTAuNjQ3MTQgMzIuMzU2NTQsLTMuODgwMjYgNjUuNDg2MDEsLTAuNzc4NTEgMTAzLjEyNTEyLDExLjIyMTQxIDM3LjYzOTEsMTEuOTk5OTIgMTIxLjU1MjcxLDUyLjUxMzMyIDE0NC41NzI3OCw1Ny40ODY0MSAyMy4wMjAxLDQuOTczMDkgMTMyLjg3MjUsMjYuMTQ3ODEgMTUwLjgxMTEsMzIuMjI4NjcgMTcuOTM4Niw2LjA4MDg2IDMyLjkwMjksMzAuMzQ5MzkgMjkuMTQwNywzOC40NDcxMSAtNS40MjEzLDExLjY2ODU4IC0yNy44ODc5LDIxLjY0MTA4IC00Ny43ODE3LDE1LjgwMTY3IC0xOS44OTM5LC01LjgzOTQxIC02OS4xNjk3LC0yNi40NjU3OCAtOTQuMTU3NSwtMjguMjM5MTMgLTI0Ljk4NzgsLTEuNzczMzYgLTY4LjQzNTk0LDUuNTM1ODMgLTkwLjg2MDA1LDEzLjg4NjIgLTIyLjQyNDExLDguMzUwMzcgLTYwLjc0OTE3LDIwLjAwMDIzIC02Mi42MjEyMSwyOS45NjkwNiAtNC4zODU4NywyMy4zNTUyNyAxMy4wMDM4NywzMy45NjU3MyAyMy43OTQ5OSw1Mi41NDE3NiAxNC4yNjc2NSwyNC41NjA2IDMzLjc3NDUsNDkuMDU5NTkgMzkuNTEyMDQsNjQuNTI5MTcgNi4zMjA0MywxNy4wNDExOCAzLjI5MzYzLDM4LjA5NDQ1IC0xMi40NDEzMiw0Mi44MTY2OSAtMTUuNzM0OTUsNC43MjIyNSAtMjkuMTg4MDcsLTcuMjA2MzkgLTQxLjkxMTQ1LC0zNC4zNTY4IC0xMi43MjMzNywtMjcuMTUwNDEgLTI5LjQyMDU2LC03MC41NjcwNCAtMzYuNzI0OTksLTgxLjcyNjk2IC03LjMwNDQ0LC0xMS4xNTk5MiAtMjIuNTExMzcsLTM4LjE4MyAtMzguNTk2OTQsLTQwLjM4Njg2IC0xNi4wODU1NywtMi4yMDM4NyAtNDAuNzkxMTYsMTIuMzAwNDMgLTU1Ljk2NjI5LDIyLjgxMTI0IC0xNS4xNzUxMiwxMC41MTA4IC0yMTAuMzc0NzIsNzkuMzAxMDkgLTIyOS43MzkyMyw4NC4zMzI0XCJcbiAgICAgaWQ9XCJwYXRoOFwiXG4gICAgIC8+XG4gIDxnXG4gICAgIGlkPVwicGVncm5hcGF0aFwiXG4gICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDMyMi40Njc5MSw3NC45ODcyMjEpXCI+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDUzMC44NTk5OCwzODkuNzc5NDYgYyAzNy42MzQ4LC0xNy4xODg1OSAzNy42MzQ4LC0xNy4xODg1OSAzNy42MzQ4LC0xNy4xODg1OVwiXG4gICAgICAgaWQ9XCJwYXRoMTlcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NjUuMTM2ODQsNDU5LjcwMzUzIGMgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTZcIlxuICAgICAgIGlkPVwicGF0aDI2XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNzMzLjk5MTQ1LDI2NC4wNTY1NSAtMTIuMTYxNjMsNTAuMTA3NTNcIlxuICAgICAgIGlkPVwicGF0aDlcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA3NDYuOTY0NjQsMjc1LjM4MjE0IGMgLTUuNTgzOTMsMjAuOTE1NTMgLTguNjIyMTcsMzAuODk3OTQgLTEyLjE5MTYxLDQzLjE2MTczXCJcbiAgICAgICBpZD1cInBhdGgxMFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDc2My4wMDc4NywyNzMuODk0OTYgYyAtMTMuMTMzNzYsNDcuODM1NTkgLTEzLjEzMzc2LDQ3LjgzNTU5IC0xMy4xMzM3Niw0Ny44MzU1OVwiXG4gICAgICAgaWQ9XCJwYXRoMTFcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA3NzYuMDEzNzEsMjc4LjEwODMzIGMgLTExLjU1MzM4LDQ5LjYwOTk4IC0xMS41NTMzOCw0OS42MDk5OCAtMTEuNTUzMzgsNDkuNjA5OThcIlxuICAgICAgIGlkPVwicGF0aDEyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNzkwLjIzNzQxLDI4MC43ODc3MyBjIC0xMS41NTMzOCw0OS42MDk5OCAtMTEuNTUzMzgsNDkuNjA5OTggLTExLjU1MzM4LDQ5LjYwOTk4XCJcbiAgICAgICBpZD1cInBhdGgxMi0zXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gODA1LjQ1NDI1LDI4Mi4zMjUzNiBjIC0xMy43NzE2OSw1My4xMDM5MSAtMTMuNzcxNjksNTMuMTAzOTEgLTEzLjc3MTY5LDUzLjEwMzkxXCJcbiAgICAgICBpZD1cInBhdGgxM1wiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDgxOS40MDA1NiwyODYuMTI4NTUgYyAtNS41MjIyMywyMi45MjQ0OCAtNS41MjIyMywyMi45MjQ0OCAtNS41MjIyMywyMi45MjQ0OFwiXG4gICAgICAgaWQ9XCJwYXRoMjdcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA4MDMuMTg5NzMsMzM5LjE3NTA4IGMgNy42ODM4NiwtMTguNTEyNjggNy42ODM4NiwtMTguNTEyNjggNy42ODM4NiwtMTguNTEyNjhcIlxuICAgICAgIGlkPVwicGF0aDI4XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gODM3LjMxNzMxLDI5Mi40NDQ5MyBjIC0xMC43OTIzOCwxNC4yNTg1IC0xMC43OTIzOCwxNC4yNTg1IC0xMC43OTIzOCwxNC4yNTg1XCJcbiAgICAgICBpZD1cInBhdGgyOVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDgxOC4xNzk4LDM0Mi4wOTE0MyBjIDQuNjU5MDMsLTE3LjIxMTUgNC42NTkwMywtMTcuMjExNSA0LjY1OTAzLC0xNy4yMTE1XCJcbiAgICAgICBpZD1cInBhdGgzMFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDg0MC41ODE1NSwzNDIuNDA5MyBjIC02LjY4MzYyLC0xNy42MTIwOCAtNi42ODM2MiwtMTcuNjEyMDggLTYuNjgzNjIsLTE3LjYxMjA4XCJcbiAgICAgICBpZD1cInBhdGgzMVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDg0OS41MzU3MiwzMDIuNDA5NTcgYyAtMTMuNDk1MjYsMTMuMjExOTIgLTEzLjQ5NTI2LDEzLjIxMTkyIC0xMy40OTUyNiwxMy4yMTE5MlwiXG4gICAgICAgaWQ9XCJwYXRoMzJcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDo0LjM1LHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDg2My4zNzE4MiwzMjQuOTgxMTQgYyAtMTUuODMzMjksMCAtMTUuODMzMjksMCAtMTUuODMzMjksMFwiXG4gICAgICAgaWQ9XCJwYXRoMzNcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwiTSA1ODMuMTE3MjIsMzQ1LjEwMTk4IDU3Mi45OTMwMSwzMjkuODA4MDRcIlxuICAgICAgIGlkPVwicGF0aDQxLTgtMy04LTRcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwiTSA1OTQuNzc5MTYsMzM5LjI5MzQ0IDU4NC42NTQ5NSwzMjMuOTk5NVwiXG4gICAgICAgaWQ9XCJwYXRoNDEtOC0zLTgtNC02XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIk0gNjA4LjY4ODc4LDMzMi4zMTQxMSA1OTguNTY0NTcsMzE3LjAyMDE3XCJcbiAgICAgICBpZD1cInBhdGg0MS04LTMtOC00LTlcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwiTSA2MjEuMTgzMDksMzI4LjYwMzA0IDYxMS4wNTg4OCwzMTMuMzA5MVwiXG4gICAgICAgaWQ9XCJwYXRoNDEtOC0zLTgtNC04XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIk0gNjM1LjU1NzA0LDMyNC42NTIzMSA2MjUuNDMyODMsMzA5LjM1ODM3XCJcbiAgICAgICBpZD1cInBhdGg0MS04LTMtOC00LTg1XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjQ4Ljg0ODM1LDMyMC4wNTA4NiAtNC4zNzc1LC0xNi40NDExOVwiXG4gICAgICAgaWQ9XCJwYXRoNDEtOC0zLTgtNC04OFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDY2My42NTAyMywzMTcuOTY3MyAtMS43MzkxNiwtMTcuOTMzOTFcIlxuICAgICAgIGlkPVwicGF0aDQxLTgtMy04LTQtNjRcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA2NzYuOTA5NzIsMzE1LjEzNjM4IC0xLjczOTE2LC0xNy45MzM5MVwiXG4gICAgICAgaWQ9XCJwYXRoNDEtOC0zLTgtNC02NC02XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjkwLjIyMTExLDMxMy45NzM2MiAtMS43MzkxNiwtMTcuOTMzOTFcIlxuICAgICAgIGlkPVwicGF0aDQxLTgtMy04LTQtNjQtOFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJNIDcwNS45Nzk2NCwzMTMuMjU5NDEgNzA0LjI0MDQ4LDI5NS4zMjU1XCJcbiAgICAgICBpZD1cInBhdGg0MS04LTMtOC00LTY0LTRcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1MzkuMjkyMDgsMzk4LjY4NTM1IDMzLjg5MDAzLC0xNC45OTk1NlwiXG4gICAgICAgaWQ9XCJwYXRoMjFcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NDQuNDc5OTksNDExLjQzNDE1IGMgMzguNzY5MDksLTE3LjM1NDUgMzguNzY5MDksLTE3LjM1NDUgMzguNzY5MDksLTE3LjM1NDVcIlxuICAgICAgIGlkPVwicGF0aDIyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTQ5Ljk5ODc2LDQyMy4wNTY2IDQwLjU5MywtMTUuMjMwMjlcIlxuICAgICAgIGlkPVwicGF0aDIzXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIk0gNTU0LjQ0NDE0LDQzNC41NjYxNCBDIDU5NC4wNjU0LDQxOC44OTU4IDU5NC4wNjU0LDQxOC44OTU4IDU5NC4wNjU0LDQxOC44OTU4XCJcbiAgICAgICBpZD1cInBhdGgyNFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDU2MC42NDQ3Nyw0NDYuNDEyNjYgYyA0Mi45NzMwNiwtMTcuMzc2MDcgNDIuOTczMDYsLTE3LjM3NjA3IDQyLjk3MzA2LC0xNy4zNzYwN1wiXG4gICAgICAgaWQ9XCJwYXRoMjVcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NzIuNjc4ODcsNDcyLjY4NTE0IGMgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTZcIlxuICAgICAgIGlkPVwicGF0aDI2LTZcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NzguMDUzMDUsNDg1LjU4MDQ0IGMgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTYgNDYuMTc1MDgsLTE5Ljc0MTZcIlxuICAgICAgIGlkPVwicGF0aDI2LTYtMlwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDU4Mi44OTM4MSw0OTYuNjUwNjQgYyAyMS4yNjQxLC03Ljg4MTkyIDIxLjI2NDEsLTcuODgxOTIgMjEuMjY0MSwtNy44ODE5MlwiXG4gICAgICAgaWQ9XCJwYXRoMzRcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA2MjkuMjA1MzIsNDc1LjUzNTEzIGMgLTE1LjcxMTQsOS4yNzEzNiAtMTUuNzExNCw5LjI3MTM2IC0xNS43MTE0LDkuMjcxMzZcIlxuICAgICAgIGlkPVwicGF0aDM1XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTkzLjIyNDcsNTA5LjI1MzgxIGMgMTIuNjk0OTksLTEwLjE3MTM2IDEyLjY5NDk5LC0xMC4xNzEzNiAxMi42OTQ5OSwtMTAuMTcxMzZcIlxuICAgICAgIGlkPVwicGF0aDM2XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjM4LjA3OTU1LDQ5MC4zNTc1MSBjIC0xOS4zODI2Niw1LjI4MTIyIC0xOS4zODI2Niw1LjI4MTIyIC0xOS4zODI2Niw1LjI4MTIyXCJcbiAgICAgICBpZD1cInBhdGgzN1wiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDYxMC45OTE0Nyw1MTguMzk3NjQgYyAyLjMxNzM0LC0xMS41MTU4OSAyLjMxNzM0LC0xMS41MTU4OSAyLjMxNzM0LC0xMS41MTU4OVwiXG4gICAgICAgaWQ9XCJwYXRoMzhcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1MjIuNTUyNzQsMzc2LjA4NzUxIGMgMTQuNDAwNDIsLTguNzMxNjYgMTguMjg4MiwtMTAuODI4NDggMTguMjg4MiwtMTAuODI4NDhcIlxuICAgICAgIGlkPVwicGF0aDM5XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTE2Ljc2MTExLDM2OC42NTUxNiAxMy44OTQyMiwtMTguNTczMTlcIlxuICAgICAgIGlkPVwicGF0aDQwXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTcxLjg4OTM4LDM2MC44MDAxIC0xNy44OTQzNywwLjEyMTlcIlxuICAgICAgIGlkPVwicGF0aDQxLTgtMy0xXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDk4LjkyNzIyLDM2MS4zNzc1MyAwLjAxNDksLTE5LjQyMDc1XCJcbiAgICAgICBpZD1cInBhdGg0MVwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQ3My4wNDA5LDM1MS4zOTExOCBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC0yOVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQ4Ny42MzA2NywzNjEuODc4MTkgLTIuNjU5MjUsLTE4LjQwNjcyXCJcbiAgICAgICBpZD1cInBhdGg0MS04XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzEwLjgzNjgxLDQxOC41MjU5MyBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC01XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzM1LjgxMjM1LDQwOS40MjE2MyBjIDYuNzE4OTQsMTguNjE4NzkgNi43MTg5NCwxOC42MTg3OSA2LjcxODk0LDE4LjYxODc5XCJcbiAgICAgICBpZD1cInBhdGg1MVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDMyMy4xOTg0OSw0MTIuNzY3NzkgYyA3LjM2NDg0LDE4LjAwNjA5IDcuMzY0ODQsMTguMDA2MDkgNy4zNjQ4NCwxOC4wMDYwOSB2IDBcIlxuICAgICAgIGlkPVwicGF0aDUyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjk4LjY5MDUyLDQyMi41ODQ4MyBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDI4Ni4xMDIzMSw0MjYuNzUyNzIgYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtMVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDI3My41MDAwNSw0MzEuMzI2MDggYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtOVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDI1OS44OTM2OCw0MzQuOTc2NTcgYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtNTBcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAyNDYuNTU0OTMsNDQwLjUyODM5IGMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTNcIlxuICAgICAgIGlkPVwicGF0aDUwLTZcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAyMzEuOTc2MzgsNDQ1Ljk1MTA0IGMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTNcIlxuICAgICAgIGlkPVwicGF0aDUwLTE1XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjE4LjE2OTAyLDQ1MS4xNDUwMiBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC01NlwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDM0OC4zMDE1LDQwNC4yNzE1OSBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC00XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzYwLjQ0NDAzLDM5OS44MDYxMiBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC02OFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDM3My44OTE1NiwzOTUuNzY5MTYgYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtNDlcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAzODYuMjU3MTMsMzkxLjYyNjQzIGMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTNcIlxuICAgICAgIGlkPVwicGF0aDUwLTkyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzk5LjgzNTQ2LDM4NC4yOTYzNSBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC0yXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDE0LjI2ODA3LDM3OS40ODY4NCBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC0xMFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQyNS4yNDMzOSwzNzMuOTc5MjUgYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtNDkwXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDM2Ljc3NzUyLDM2OC40OTcgYyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxM1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtMTFcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA0NDguMjc4MDQsMzYxLjg5MzY1IGMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzIDcuMjU0ODIsMTUuMDc3MTNcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDYxLjcxMTYxLDM1NS4xMDgzOSBjIDcuMjU0ODIsMTUuMDc3MTMgNy4yNTQ4MiwxNS4wNzcxMyA3LjI1NDgyLDE1LjA3NzEzXCJcbiAgICAgICBpZD1cInBhdGg1MC0zXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTA3LjE3NzgsMzY0LjU3OTQyIDguMDk5OTgsLTIxLjg4NTc1XCJcbiAgICAgICBpZD1cInBhdGg0MS04LTNcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NzMuODAzMzYsMzUxLjAzNTI3IC0xNS40Mzc1OSwtMTAuMDg4NFwiXG4gICAgICAgaWQ9XCJwYXRoNDEtOC0zLThcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA0OTkuMjk1NjYsMTkxLjkwNzIgLTIuOTg0NiwxOS43NzczNlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04N1wiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQ4Ni41MjA5NiwxOTAuNzA2NTcgLTIuOTg0NiwxOS43NzczNlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi05XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDE3Ljc4MjMyLDE5MS42NzgzNSAtMS4xMzY0LDE5LjQ3NDcyXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LThcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NTQuMzI5MDcsMjA3LjkwNzA4IC02LjQ2NDgyLDE5LjY1NTU3XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtMTlcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NDEuMDAzMywyMDIuNDUyMTcgLTYuNDY0ODIsMTkuNjU1NTdcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC04XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTI3Ljc3OTMsMTk2LjQ0MjY0IC02LjQ2NDgyLDE5LjY1NTU3XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtNFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDUxNS41MjI5OCwxOTQuNzg2MDEgLTYuNDY0ODIsMTkuNjU1NTdcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC0yNlwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQ3NC43NTc0LDE5MC4xNTQ0OCAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTZcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA0NTkuMzgxOTIsMTg4Ljk0ODEgLTIuOTg0NiwxOS43NzczNlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi01XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDQ1LjcwNjMzLDE5MC42MzY3MiAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTkxXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNDMyLjcxMjc3LDE5MC4wODE3NSAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTEtN1wiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDQwNC43Mzg1NiwxOTIuODEyNzEgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTBcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAzOTIuNzgwMywxOTMuMTI1OTEgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTA1XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzgwLjYxNjk0LDE5Mi4zNjQ3IC0xLjEzNjQsMTkuNDc0NzJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC0yOFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDM2Ny4wNjY2NCwxOTIuOTEwODMgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTA5XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzU0LjEyNjEyLDE5Mi44MzI0MiAtMS4xMzY0LDE5LjQ3NDcyXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtNVwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDM0MS4zODczMywxOTQuOTk2OTkgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTM2XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMzI4LjkwNjk1LDE5MC44MTA0MiAtMS4xMzY0LDE5LjQ3NDcyXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtOVwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDMxNC41NjQ5LDE5MS4yMDA5OSAtMS4xMzY0LDE5LjQ3NDcyXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtNzRcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAzMDAuODE3MTQsMTkyLjY3MTA1IC0xLjEzNjQsMTkuNDc0NzJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC05NFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDI4Ny42MzkzMiwxOTMuMDQ0MTkgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTEyXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjc0LjE0MTMyLDE4OC45NDA2OCAtMS4xMzY0LDE5LjQ3NDcyXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtODhcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAyNTkuMTA5MTYsMTkyLjUxOTI3IC0xLjEzNjQsMTkuNDc0NzJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC04M1wiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDI0Ni4xMDg5OCwxODkuNDcyMzUgLTEuMTM2NCwxOS40NzQ3MlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTQ3XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNzE5LjU2Nzk5LDI2NS4xMDMxOSAtNy43MTM3NywyMC4wODUxXCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNTk4Ljg4MTI3LDIyNC43NDE0NyAtNi40NjQ4MiwxOS42NTU1N1wiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTdcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1ODguNjE4ODUsMjIwLjM0MDY3IC02LjQ2NDgyLDE5LjY1NTU3XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtMlwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDcwNS4zNTYxNSwyNjEuOTk3MDQgLTcuNzEzNzcsMjAuMDg1MVwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjg5LjY5NTk3LDI1Ni4xNDkwOSAtMy44ODkwNiwyMS43NjAyNlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTJcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA2NzcuNjE4OTUsMjUzLjAxMDI5IC02LjgzMzU1LDIxLjk0NTk1XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi01XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjYwLjA0NjcyLDI1Mi40NDI3NyAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjQ2LjE3MDQ3LDI0NS4yNjU5IC0yLjk4NDYsMTkuNzc3MzZcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMFwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDYzNC4yNDEwMSwyNDEuMTM0MjQgLTIuOTg0NiwxOS43NzczNlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0xXCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjIyLjY2NDU1LDIzNS40NDU0NyAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjYzAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gNjA5LjcxMzgyLDIzMS4zNDU0MiAtMi45ODQ2LDE5Ljc3NzM2XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTRcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNjMDAwMDBcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA1NjUuNzIwODQsMjExLjQyOTYzIC02LjQ2NDgyLDE5LjY1NTU3XCJcbiAgICAgICBpZD1cInBhdGg1MC02Ny05LTUtMi04LTA2LTgtM1wiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2MwMDAwMFwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJNIDU3Ny4wNjQwOCwyMTYuMTA0NDMgNTcwLjU5OTI2LDIzNS43NlwiXG4gICAgICAgaWQ9XCJwYXRoNTAtNjctOS01LTItOC0wNi04LTFcIlxuICAgICAgICAvPlxuICA8L2c+XG4gIFxuICA8Z1xuICAgICBpZD1cImc1NFwiXG4gICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDMyMi40Njc5MSw3NC45ODcyMjEpXCI+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJNIDIwMC4zMjYwNSwxODkuMjQ0MzMgMTk0LjEzOCwyMDYuMzMwNjJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC02LThcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAyMTMuNTA0ODksMTkwLjMxNzA5IC0xLjEzNjQsMTkuNDc0NzJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC02LTZcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAyMjYuNzgyNjgsMTkxLjg0OTg1IC0xLjEzNjQsMTkuNDc0NzJcIlxuICAgICAgIGlkPVwicGF0aDUwLTY3LTktNS0yLTgtMDYtOC02XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTc5LjE0OTU5LDE5OS42NzQ5IGMgMTEuNjE1MTYsLTEyLjM0ODE3IDExLjYxNTE2LC0xMi4zNDgxNyAxMS42MTUxNiwtMTIuMzQ4MTcgdiAwXCJcbiAgICAgICBpZD1cInBhdGg1NFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDE2MS43MzgsMTkwLjc4NTgzIGMgMTEuMzM3MDYsLTcuNjYzNjcgMTEuMzM3MDYsLTcuNjYzNjcgMTEuMzM3MDYsLTcuNjYzNjdcIlxuICAgICAgIGlkPVwicGF0aDU1XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTQ5Ljk1MzQ2LDE4MC42NzQ2MiBjIDE0LjMzMjg1LC05LjY2NzEgMTQuMzMyODUsLTkuNjY3MSAxNC4zMzI4NSwtOS42NjcxXCJcbiAgICAgICBpZD1cInBhdGg1NlwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDEyMy44OTA3NCwxNjYuNTM4NTUgYyAzNC4yMTYzMSwtMTAuMDYzODIgMzQuMjE2MzEsLTEwLjA2MzgyIDM0LjIxNjMxLC0xMC4wNjM4MlwiXG4gICAgICAgaWQ9XCJwYXRoNTdcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxMTguNTg0OSwxNTEuMjAwNTMgYyAzNy42NTE5NCwtOS4yMTQ1NiAzNy42NTE5NCwtOS4yMTQ1NiAzNy42NTE5NCwtOS4yMTQ1NlwiXG4gICAgICAgaWQ9XCJwYXRoNThcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxMTYuMTIwMTUsMTM1Ljc4NzI3IGMgMzcuMzYyMTEsLTkuMzMyMjUgMzcuMzYyMTEsLTkuMzMyMjUgMzcuMzYyMTEsLTkuMzMyMjVcIlxuICAgICAgIGlkPVwicGF0aDU5XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTEwLjg0NzE2LDExOS43NjAwMiBjIDM2LjkxNjU4LC02LjgzOTQ0IDM2LjkxNjU4LC02LjgzOTQ0IDM2LjkxNjU4LC02LjgzOTQ0XCJcbiAgICAgICBpZD1cInBhdGg2MFwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDExMi44NzExMSwxMDQuMjI0NjMgYyAzMC4zMzMxMSwtNi4yODI4OTQgMzAuMzMzMTEsLTYuMjgyODk0IDMwLjMzMzExLC02LjI4Mjg5NFwiXG4gICAgICAgaWQ9XCJwYXRoNjFcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxMjYuNTkzODgsMTgyLjQ1MjcyIGMgMTQuMDgwNDYsLTEuNzg2MzEgMTQuMDgwNDYsLTEuNzg2MzEgMTQuMDgwNDYsLTEuNzg2MzFcIlxuICAgICAgIGlkPVwicGF0aDYyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTI2LjY0MjIxLDE5My4xMDUyIGMgMTkuNzk2MywyLjExMzI0IDE5Ljc5NjMsMi4xMTMyNCAxOS43OTYzLDIuMTEzMjRcIlxuICAgICAgIGlkPVwicGF0aDYzXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTE5LjYzOTY5LDIwMS4xMDE5OCBjIDIwLjk1NjQ0LDguMDE4ODQgMjAuOTU2NDQsOC4wMTg4NCAyMC45NTY0NCw4LjAxODg0XCJcbiAgICAgICBpZD1cInBhdGg2NFwiIC8+XG4gIDwvZz5cbiAgPGdcbiAgICAgaWQ9XCJnNzlcIlxuICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzMjIuNDY3OTEsNzQuOTg3MjIxKVwiPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA4Ni4wNzY0NjksNTAzLjYxODYgYyA5Ljg4NTQ2NiwxMC4zNDQ4OSA5Ljg4NTQ2NiwxMC4zNDQ4OSA5Ljg4NTQ2NiwxMC4zNDQ4OVwiXG4gICAgICAgaWQ9XCJwYXRoNzlcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxNTAuMjk5NzgsNDU3LjkwNDQgYyAxLjk0MjQzLDE3Ljg2NiAxLjk0MjQzLDE3Ljg2NiAxLjk0MjQzLDE3Ljg2NlwiXG4gICAgICAgaWQ9XCJwYXRoNzRcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxOTkuMjg0OSw0ODkuMDkyNTMgYyAtMjAuMTYyOTYsNi4yNTU3MyAtMjAuMTYyOTYsNi4yNTU3MyAtMjAuMTYyOTYsNi4yNTU3M1wiXG4gICAgICAgaWQ9XCJwYXRoNjVcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxODUuNjQ2NDMsNTA3LjIxMjg5IDE4LjkxMDY5LC04LjEyNTFcIlxuICAgICAgIGlkPVwicGF0aDY2XCJcbiAgICAgICAgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjAwLjA2OTQsNTM1LjMyMDI5IDE4LjQ0MTc0LC0xMS4yMjM1M1wiXG4gICAgICAgaWQ9XCJwYXRoNjhcIlxuICAgICAgICAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxOTAuMzcyNzcsNDY4LjYzNDc1IGMgMTIuMDM2MDgsMTEuNjU2ODYgMTIuMDM2MDgsMTEuNjU2ODYgMTIuMDM2MDgsMTEuNjU2ODZcIlxuICAgICAgIGlkPVwicGF0aDcwXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTg4LjAxNDUyLDUyMC42MDY2NSBjIDIxLjk1NTUxLC03Ljc3NjI2IDIxLjk1NTUxLC03Ljc3NjI2IDIxLjk1NTUxLC03Ljc3NjI2XCJcbiAgICAgICBpZD1cInBhdGg2N1wiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDIwMy45OTI4NSw0NTguNDUzNjkgYyA2LjAyMzgyLDEyLjY1OTA3IDYuMDIzODIsMTIuNjU5MDcgNi4wMjM4MiwxMi42NTkwN1wiXG4gICAgICAgaWQ9XCJwYXRoNzFcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxNjguMDQwMjgsNDU5Ljg4NTA3IGMgLTMuNzM5NTgsMTQuOTE4MjUgLTMuNzM5NTgsMTQuOTE4MjUgLTMuNzM5NTgsMTQuOTE4MjVcIlxuICAgICAgIGlkPVwicGF0aDczXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTgyLjA3NzM2LDQ2OC45NDExNSAtNy4xMTYwNyw4Ljk0MjI5XCJcbiAgICAgICBpZD1cInBhdGg3MlwiXG4gICAgICAgIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDEzNC4zODIxNSw0NjYuNzAyMzYgYyA3Ljk2MjE2LDEyLjMzNzYzIDcuOTYyMTYsMTIuMzM3NjMgNy45NjIxNiwxMi4zMzc2M1wiXG4gICAgICAgaWQ9XCJwYXRoNzVcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSAxMDguOTQxNSw0ODUuNjg0NTMgYyAxNC45Mzg0OCwxMS44OTk3NSAxNC45Mzg0OCwxMS44OTk3NSAxNC45Mzg0OCwxMS44OTk3NVwiXG4gICAgICAgaWQ9XCJwYXRoNzdcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwibSA5OC44OTczNzMsNDk0LjczMDAyIGMgMTAuNzg4Mzg3LDExLjgxNTY1IDEwLjc4ODM4NywxMS44MTU2NSAxMC43ODgzODcsMTEuODE1NjVcIlxuICAgICAgIGlkPVwicGF0aDc4XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMTIyLjQ0OTQ4LDQ3NS42ODk5NyBjIDExLjMzOTgxLDExLjkzOTkxIDExLjMzOTgxLDExLjkzOTkxIDExLjMzOTgxLDExLjkzOTkxXCJcbiAgICAgICBpZD1cInBhdGg3NlwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJtIDIwNy41MTM0OCw1NDYuNzI3OTQgYyAxOS43NjUzNCwxNi40OTUzNiAxOS43NjUzNCwxNi40OTUzNiAxOS43NjUzNCwxNi40OTUzNlwiXG4gICAgICAgaWQ9XCJwYXRoODFcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwiTSAyNDcuODY3MzUsNTQwLjI0MjE5IEMgMjM1Ljc5Njg0LDU2NC4xNjExIDIzNS43OTY4NCw1NjQuMTYxMSAyMzUuNzk2ODQsNTY0LjE2MTFcIlxuICAgICAgIGlkPVwicGF0aDgzXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjY2LjM3MzgsNTUwLjI3MjY3IGMgLTI5LjUzNDYzLDE1Ljc0ODMgLTI5LjUzNDYzLDE1Ljc0ODMgLTI5LjUzNDYzLDE1Ljc0ODNcIlxuICAgICAgIGlkPVwicGF0aDg0XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjI1LjIwMjYzLDUzNC43OTA1IGMgOC4yMTEzNywyNC44OTI1MiA4LjIxMTM3LDI0Ljg5MjUyIDguMjExMzcsMjQuODkyNTJcIlxuICAgICAgIGlkPVwicGF0aDgyXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIk0gMjcxLjA4ODQ4LDU3OS44OTM2NyBDIDIzNC44MjgwNyw1NjYuNTU0ODIgMjM0LjgyODA3LDU2Ni41NTQ4MiAyMzQuODI4MDcsNTY2LjU1NDgyXCJcbiAgICAgICBpZD1cInBhdGg4NVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBzdHlsZT17e2ZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiI2Y1N2QyMlwiLHN0cm9rZVdpZHRoOlwiNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgIGQ9XCJNIDI1MS44NDc3Myw1OTIuNzQ2MTYgQyAyMzUuMjg5Niw1NjUuMTU1ODggMjM1LjI4OTYsNTY1LjE1NTg4IDIzNS4yODk2LDU2NS4xNTU4OFwiXG4gICAgICAgaWQ9XCJwYXRoODZcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgc3R5bGU9e3tmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VXaWR0aDpcIjVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICBkPVwiTSAyMjQuOTYzNTYsNTk4LjA1ODU1IEMgMjM1LjMzMjQ0LDU2My43NDMxIDIzNS4zMzI0NCw1NjMuNzQzMSAyMzUuMzMyNDQsNTYzLjc0MzFcIlxuICAgICAgIGlkPVwicGF0aDg3XCIgLz5cbiAgICA8cGF0aFxuICAgICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlV2lkdGg6XCI1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgZD1cIm0gMjA0LjU3Nzk5LDU4NS41ODQ5OCBjIDI4LjQ4NjQzLC0yMC4xOTQ1MiAyOC40ODY0MywtMjAuMTk0NTIgMjguNDg2NDMsLTIwLjE5NDUyIGwgLTI5Ljk1NDYxLDIuMDUxMDFcIlxuICAgICAgIGlkPVwicGF0aDg4XCIgLz5cbiAgPC9nPlxuICA8Y2lyY2xlXG4gICAgIHN0eWxlPXt7ZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCIjODgxMjc2XCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiOS44MjY3N1wiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGlkPVwicGF0aDZcIlxuICAgICBjeD1cIjU1Ny43MDMyNVwiXG4gICAgIGN5PVwiNjQxLjY0NTJcIlxuICAgICByPVwiOVwiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZmlsbDpcIm5vbmVcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjMDAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI3XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJNIDUyNS4wOTQ5Miw2NjIuMDgwNzUgQyAzNzUuNjYxNjEsNzE0LjQyNzUxIDM3NS42NjE2MSw3MTQuNDI3NTEgMzc1LjY2MTYxLDcxNC40Mjc1MVwiXG4gICAgIGlkPVwicGF0aDg5XCIgLz5cbiAgICAgPFNjcm9sbExpbmtXaXRoQ2hpbGQgdGFyZ2V0SWQ9XCJyaWJvc3dpdGNoXCI+XG4gIDx0ZXh0XG4gICAgIFxuICAgICBzdHlsZT17e2ZvbnRTdHlsZTpcIm5vcm1hbFwiLGZvbnRWYXJpYW50Olwibm9ybWFsXCIsZm9udFdlaWdodDpcIm5vcm1hbFwiLGZvbnRTdHJldGNoOlwibm9ybWFsXCIsZm9udFNpemU6XCIxNS42NjU0cHhcIixmb250RmFtaWx5OlwiQXJpYWxcIix3aGl0ZVNwYWNlOlwicHJlXCIsaW5saW5lU2l6ZTpcIjEyMy45MTFcIixmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiMwMDAwMDBcIixzdHJva2VXaWR0aDpcIjAuMzI2MzYzXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgaWQ9XCJyaWJvdGV4dFwiXG4gICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgzLjA1MjY2OTcsMCwwLDMuMDc1NTEzMiwxODcuOTU1MDgsLTEyNDMuOTUzOSlcIj48dHNwYW5cbiAgICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgICBpZD1cInJpYm90ZXh0XCI+PHRzcGFuXG4gICAgICAgICBzdHlsZT17e2ZpbGw6XCIjMDAwMDAwXCJ9fVxuICAgICAgICAgaWQ9XCJyaWJvdGV4dFwiPlJpYm9zd2l0Y2g8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PlxuICAgICAgICAgPC9TY3JvbGxMaW5rV2l0aENoaWxkPlxuICA8cGF0aFxuICAgICBzdHlsZT17e2ZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiIzAwMDAwMFwiLHN0cm9rZVdpZHRoOlwiN1wiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICBkPVwiTSA3MTQuNTc2NTQsMjg2LjczNzgyIEMgNjAzLjA4ODUzLDM3My45NTI2MyA2MDMuMDg4NTMsMzczLjk1MjYzIDYwMy4wODg1MywzNzMuOTUyNjNcIlxuICAgICBpZD1cInBhdGg5MFwiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjMDAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI3XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJNIDExMDMuNzM1OCwxOTYuNTY2NCBDIDEyNzMuNjk4NSw0NS41OTAyNTUgMTI3My42OTg1LDQ1LjU5MDI1NSAxMjczLjY5ODUsNDUuNTkwMjU1XCJcbiAgICAgaWQ9XCJwYXRoOTFcIiAvPlxuICA8cGF0aFxuICAgICBzdHlsZT17e2ZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiIzAwMDAwMFwiLHN0cm9rZVdpZHRoOlwiN1wiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICBkPVwibSAxMzc5LjY4OTksNDA1LjE3OTY5IGMgMTU1LjQwNjMsLTguMTY4NDMgMTU1LjQwNjMsLTguMTY4NDMgMTU1LjQwNjMsLTguMTY4NDNcIlxuICAgICBpZD1cInBhdGg5MlwiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjMDAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI3XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJtIDEwNDcuMzA2MSw2OTAuNjkwNTUgYyAxMDguMTA3LDE1NS4zNzc4OSAxMDguMTA3LDE1NS4zNzc4OSAxMDguMTA3LDE1NS4zNzc4OVwiXG4gICAgIGlkPVwicGF0aDkzXCIgLz5cbiAgPHBhdGhcbiAgICAgc3R5bGU9e3tmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiMwMDAwMDBcIixzdHJva2VXaWR0aDpcIjdcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgZD1cIm0gNDQwLjk2NTg3LDIyNS4xOTQ1IGMgLTIwMy40Mzk0LDM3LjgyNjE0IC0yMDMuNDM5NCwzNy44MjYxNCAtMjAzLjQzOTQsMzcuODI2MTRcIlxuICAgICBpZD1cInBhdGg5NFwiIC8+XG4gIDxwYXRoXG4gICAgIHN0eWxlPXt7ZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjMDAwMDAwXCIsc3Ryb2tlV2lkdGg6XCI3XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIGQ9XCJNIDM3Mi43MzI2NSwxMTguODg3MDUgQyAyMzQuMjU5MjYsODEuNzk2Nzg3IDIzNC4yNTkyNiw4MS43OTY3ODcgMjM0LjI1OTI2LDgxLjc5Njc4N1wiXG4gICAgIGlkPVwicGF0aDk1XCIgLz5cbiAgPHRleHRcbiAgICAgXG4gICAgIHN0eWxlPXt7Zm9udFN0eWxlOlwibm9ybWFsXCIsZm9udFZhcmlhbnQ6XCJub3JtYWxcIixmb250V2VpZ2h0Olwibm9ybWFsXCIsZm9udFN0cmV0Y2g6XCJub3JtYWxcIixmb250U2l6ZTpcIjE1LjY2NTRweFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLHdoaXRlU3BhY2U6XCJwcmVcIixpbmxpbmVTaXplOlwiMTIzLjkxMVwiLGRpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiMwMDAwMDBcIixzdHJva2VXaWR0aDpcIjAuMzI2MzYzXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgaWQ9XCJzdGVtbG9vcHRleHRcIlxuICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMy4wNTI2Njk3LDAsMCwzLjA3NTUxMzIsLTc3LjQ3MDExNiwtMTcxOC45NTUzKVwiPjx0c3BhblxuICAgICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICAgIHk9XCI2NTAuMjMzNjRcIlxuICAgICAgIGlkPVwic3RlbWxvb3B0ZXh0XCI+PHRzcGFuXG4gICAgICAgICBzdHlsZT17e2ZpbGw6XCIjMDAwMDAwXCJ9fVxuICAgICAgICAgaWQ9XCJzdGVtbG9vcHRleHRcIj5TdGVtIExvb3A8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PlxuICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignSW52V2VzdGhvZmYnLCAnL2VuZ2luZWVyaW5nP3RhYj0nKX0+XG4gICAgICAgICAgICA8dGV4dCAgXG4gICAgICAgICBzdHlsZT17e2ZvbnRTdHlsZTpcIm5vcm1hbFwiLGZvbnRWYXJpYW50Olwibm9ybWFsXCIsZm9udFdlaWdodDpcIm5vcm1hbFwiLGZvbnRTdHJldGNoOlwibm9ybWFsXCIsZm9udFNpemU6XCIxNS42NjU0cHhcIixmb250RmFtaWx5OlwiQXJpYWxcIix3aGl0ZVNwYWNlOlwicHJlXCIsaW5saW5lU2l6ZTpcIjEyMy45MTFcIixkaXNwbGF5OlwiaW5saW5lXCIsZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCIjMDAwMDAwXCIsc3Ryb2tlV2lkdGg6XCIwLjMyNjM2M1wiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgICAgeD1cIjI0LjgzODIzNlwiXG4gICAgICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgICAgIGlkPVwicm5hYmluZGluZ3RleHRcIlxuICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDMuMDUyNjY5NywwLDAsMy4wNzU1MTMyLC0zMy42NDk2OTYsLTE5NDcuMDcwOClcIj48dHNwYW5cbiAgICAgICAgICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICAgICAgICAgeT1cIjY1MC4yMzM2NFwiXG4gICAgICAgICAgICBpZD1cInRzcGFuN1wiPlJOQSBiaW5kaW5nIDwvdHNwYW4+PHRzcGFuXG4gICAgICAgICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgICAgICAgIHk9XCI2NjkuODE1MzlcIlxuICAgICAgICAgICAgaWQ9XCJ0c3BhbjhcIj5wcm90ZWluPC90c3Bhbj48L3RleHQ+XG4gICAgPC9hPlxuXG4gICB7LyogcGVnUk5BIFRleHQgKi99XG4gICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCd0YWItcGVncm5hJywgJy9lbmdpbmVlcmluZz90YWI9Jyl9PlxuICA8dGV4dFxuICAgICBzdHlsZT17e2ZvbnRTdHlsZTpcIm5vcm1hbFwiLGZvbnRWYXJpYW50Olwibm9ybWFsXCIsZm9udFdlaWdodDpcIm5vcm1hbFwiLGZvbnRTdHJldGNoOlwibm9ybWFsXCIsZm9udFNpemU6XCIxNS42NjU0cHhcIixmb250RmFtaWx5OlwiQXJpYWxcIiwgd2hpdGVTcGFjZTpcInByZVwiLGlubGluZVNpemU6XCIxMjMuOTExXCIsZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCJub25lXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiIzAwMDAwMFwiLHN0cm9rZVdpZHRoOlwiMC4zMjYzNjNcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgeD1cIjI0LjgzODIzNlwiXG4gICAgIHk9XCI2NTAuMjMzNjRcIlxuICAgICBpZD1cInBlZ3JuYXRleHRcIlxuICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMy4wNTI2Njk3LDAsMCwzLjA3NTUxMzIsMzI3LjE1NTYsLTE1ODguMzMpXCI+PHRzcGFuXG4gICAgICAgeD1cIjI0LjgzODIzNlwiXG4gICAgICAgeT1cIjY1MC4yMzM2NFwiXG4gICAgICAgaWQ9XCJwZWdybmF0ZXh0XCI+PHRzcGFuXG4gICAgICAgICBzdHlsZT17e2ZpbGw6XCIjMDAwMDAwXCJ9fVxuICAgICAgICAgaWQ9XCJwZWdybmF0ZXh0XCI+cGVnUk5BPC90c3Bhbj48L3RzcGFuPjwvdGV4dD5cbiAgICAgICAgIDwvYT5cbiAgPGdcbiAgICAgaWQ9XCJnMVwiXG4gICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4NDUuODk5NDcsMTE0LjExMzc4KVwiPlxuICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigndGFiLW5pa2FzZScsICcvZW5naW5lZXJpbmc/dGFiPScpfT5cbiAgICA8dGV4dFxuICAgICAgIFxuICAgICAgIHN0eWxlPXt7Zm9udFN0eWxlOlwibm9ybWFsXCIsZm9udFZhcmlhbnQ6XCJub3JtYWxcIixmb250V2VpZ2h0Olwibm9ybWFsXCIsZm9udFN0cmV0Y2g6XCJub3JtYWxcIixmb250U2l6ZTpcIjE1LjY2NTRweFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLHdoaXRlU3BhY2U6XCJwcmVcIixpbmxpbmVTaXplOlwiMTIzLjkxMVwiLGRpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiMwMDAwMDBcIixzdHJva2VXaWR0aDowLjMyNjM2MyxzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgICBpZD1cIm5pa2FzZXRleHRcIlxuICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgzLjA1MjY2OTcsMCwwLDMuMDc1NTEzMiwyMjUuMjQwMjQsLTEyMjAuNzUzOClcIj48dHNwYW5cbiAgICAgICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICAgICAgeT1cIjY1MC4yMzM2NFwiXG4gICAgICAgICBpZD1cInRzcGFuMTFcIj5OaWthc2U8L3RzcGFuPjwvdGV4dD5cbiAgICAgICAgIDwvYT5cbiAgPC9nPlxuICA8dGV4dFxuICAgICBcbiAgICAgc3R5bGU9e3tmb250U3R5bGU6XCJub3JtYWxcIixmb250VmFyaWFudDpcIm5vcm1hbFwiLGZvbnRXZWlnaHQ6XCJub3JtYWxcIixmb250U3RyZXRjaDpcIm5vcm1hbFwiLGZvbnRTaXplOlwiMTUuNjY1NHB4XCIsZm9udEZhbWlseTpcIkFyaWFsXCIsd2hpdGVTcGFjZTpcInByZVwiLGlubGluZVNpemU6XCIxMjMuOTExXCIsZGlzcGxheTpcImlubGluZVwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwiIzAwMDAwMFwiLHN0cm9rZVdpZHRoOjAuMzI2MzYzLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgeT1cIjY1MC4yMzM2NFwiXG4gICAgIGlkPVwibGlua2VydGV4dFwiXG4gICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgzLjA1MjY2OTcsMCwwLDMuMDc1NTEzMiwxNDczLjMxMTMsLTE1OTMuMzA1NilcIj48dHNwYW5cbiAgICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgICBpZD1cInRzcGFuMTJcIj5MaW5rZXI8L3RzcGFuPjwvdGV4dD5cbiAgPHRleHRcbiAgICAgXG4gICAgIHN0eWxlPXt7Zm9udFN0eWxlOlwibm9ybWFsXCIsZm9udFZhcmlhbnQ6XCJub3JtYWxcIixmb250V2VpZ2h0Olwibm9ybWFsXCIsZm9udFN0cmV0Y2g6XCJub3JtYWxcIixmb250U2l6ZTpcIjE1LjY2NTRweFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLHdoaXRlU3BhY2U6XCJwcmVcIixpbmxpbmVTaXplOlwiMTIzLjkxMVwiLGRpc3BsYXk6XCJpbmxpbmVcIixmaWxsOlwibm9uZVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIiMwMDAwMDBcIixzdHJva2VXaWR0aDpcIjAuMzI2MzYzXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgIHg9XCIyNC44MzgyMzZcIlxuICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgaWQ9XCJ0ZXh0ODktNDlcIlxuICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMy4wNTI2Njk3LDAsMCwzLjA3NTUxMzIsMTE5OS4wMjk4LC0xOTU3LjIxNilcIj48dHNwYW5cbiAgICAgICB4PVwiMjQuODM4MjM2XCJcbiAgICAgICB5PVwiNjUwLjIzMzY0XCJcbiAgICAgICBpZD1cIlBFdGV4dFwiPjx0c3BhblxuICAgICAgICAgc3R5bGU9e3tmaWxsOlwiIzAwMDAwMFwifX1cbiAgICAgICAgIGlkPVwiUEV0ZXh0XCI+UEU8L3RzcGFuPjx0c3BhblxuICAgICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjY1JVwiLGJhc2VsaW5lU2hpZnQ6XCJzdXBlclwifX1cbiAgICAgICAgIGlkPVwiUEV0ZXh0bG93XCI+Q088L3RzcGFuPjx0c3BhblxuICAgICAgICAgc3R5bGU9e3tmaWxsOlwiIzAwMDAwMFwifX1cbiAgICAgICAgIGlkPVwiUEV0ZXh0XCI+LU1pbmkgUlQ8L3RzcGFuPjwvdHNwYW4+PC90ZXh0PlxuPC9zdmc+XG4gICAgICA8Lz5cblxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVuZ2luZWVyaW5nQ3ljbGUoKXtcbiAgIHJldHVybihcbjxzdmdcbiAgIHdpZHRoPVwiNzAlXCJcbiAgIGhlaWdodD1cIjcwJVwiXG4gICB2aWV3Qm94PVwiMCAwIDEzMyAxMzNcIlxuICAgaWQ9XCJzdmcyNVwiXG4gICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxkZWZzXG4gICAgIGlkPVwiZGVmczFcIj5cbiAgICA8L2RlZnM+XG4gIDxnXG4gICAgIGlkPVwiTGF5ZXJfMlwiXG4gICAgIGRhdGEtbmFtZT1cIkxheWVyIDJcIlxuICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PlxuICAgIDxnXG4gICAgICAgaWQ9XCJQbGFzbWlkXCJcbiAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PlxuICAgICAgPGdcbiAgICAgICAgIGlkPVwiZzI1XCJcbiAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3LjUwMDk3OCwzLjA1MDQ4OTgpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgIGNsYXNzTmFtZT1cImNscy03XCJcbiAgICAgICAgICAgZD1cIm0gNDIuMDUsMTE1LjU5IGMgMjcuNzcsOS4xOSA1Ny44MywtNC43OSA2OS43NiwtMzIuMjNcIlxuICAgICAgICAgICAgaWQ9XCJwYXRoMjJcIlxuICAgICAgICAgICBzdHlsZT17e3N0cm9rZTpcIiNmNGNjMWVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCJ9fSAvPlxuICAgICAgPC9nPlxuICAgICAgPGdcbiAgICAgICAgIGlkPVwiZzI2XCJcbiAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjAwMTk2OTksMi44NDE4MjIzKVwiXG4gICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PiAgXG4gICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgIGNsYXNzTmFtZT1cImNscy0xM1wiXG4gICAgICAgICAgIHBvaW50cz1cIjExMi4wNyw4My4zNiAxMTAuOTQsNzYuMjcgMTE3LjY1LDc4Ljg0IFwiXG4gICAgICAgICAgICBpZD1cInBvbHlnb24yNVwiXG4gICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiM4NTBmNzhcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMi45ODA2MjU5LDAsMCwyLjk4MDYyNTksLTIyNS40MzcyMiwtMTU2LjQ1MTIzKVwiIC8+XG4gICAgICAgICA8cGF0aFxuICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTJcIlxuICAgICAgICAgICBkPVwiTSAxMTQsNzguNTUgQyAxMjMuNDUsNTAuODYgMTEwLDIwLjc1IDgyLjY2LDguNlwiXG4gICAgICAgICAgICBpZD1cInBhdGgyNVwiXG4gICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjODUwZjc4XCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgIGlkPVwidGV4dDMxXCJcbiAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUuNjkwMjE5NCwtMC4xMTU1MTg4MylcIj48dGV4dFBhdGhcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjVcIlxuICAgICAgICAgICAgIGlkPVwidGV4dFBhdGgzM1wiPkxlYXJuPHRzcGFuXG4gICAgICAgICBpZD1cInRzcGFuMzFcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PlxuICAgICAgPC9nPlxuICAgICAgPGdcbiAgICAgICAgIGlkPVwiZzI3XCJcbiAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjAwMTk2OTksMi44NDE4MjIzKVwiPlxuICAgICAgICA8cG9seWdvblxuICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTBcIlxuICAgICAgICAgICAgcG9pbnRzPVwiNjIuNTMsNy4xMiA2My40NywwIDY5LjE3LDQuMzcgXCJcbiAgICAgICAgICAgaWQ9XCJwb2x5Z29uMjNcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuNzcxMjI2MywwLjU4MTQ3NTQ4LC0wLjU4MTQ3NTQ4LDIuNzcxMjI2MywtOTYuNTg3ODI4LC0zOS43NDgwNzEpXCJcbiAgICAgICAgICAgc3R5bGU9e3tmaWxsOlwiI2EwYTdmM1wiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD1cIjMuNjE3Mzc1MVwiXG4gICAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteT1cIjUuMTk3ODg1MlwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgIGNsYXNzTmFtZT1cImNscy05XCJcbiAgICAgICAgICAgZD1cIk0gNzguNTk5MTExLDcuNTQ2ODI2NCBDIDQzLjgyMDM0NiwtMi42MTc3NTg4IDEzLjk1Njc0NiwxNC4yODYwNDYgNC4yMTA2MjgxLDQ2LjM2ODc0OVwiXG4gICAgICAgICAgIGlkPVwicGF0aDIzXCJcbiAgICAgICAgICAgc3R5bGU9e3tzdHJva2U6XCIjYTBhN2YzXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwifX0gLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICAgXG4gICAgICAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICAgICAgaWQ9XCJ0ZXh0MjhcIlxuICAgICAgICAgICBcbiAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjAzMDIzNTA2LC01Ljk2MDIzMzYpXCI+PHRleHRQYXRoXG4gICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjNcIlxuICAgICAgICAgICAgaWQ9XCJ0ZXh0UGF0aDI4XCI+VGVzdDwvdGV4dFBhdGg+PC90ZXh0PlxuICAgICAgPC9nPlxuICAgICAgPGdcbiAgICAgICAgIGlkPVwiZzI4XCJcbiAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjAwMTk2OTksMi44NDE4MjIzKVwiPlxuICAgICAgICA8cG9seWdvblxuICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTNcIlxuICAgICAgICAgICBwb2ludHM9XCIxMTcuNjUsNzguODQgMTEyLjA3LDgzLjM2IDExMC45NCw3Ni4yNyBcIlxuICAgICAgICAgICAgaWQ9XCJwb2x5Z29uMjUtNlwiXG4gICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiNmNTdkMjJcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTIuOTY1MDMxNCwwLjMwNDQ5ODkzLC0wLjMwNDQ5ODkzLC0yLjk2NTAzMTQsMzY0Ljg0MDY3LDI0OS4yODI0OSlcIiAvPlxuICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTExXCJcbiAgICAgICAgICAgZD1cIk0gMi42NjU5NzUzLDUwLjk1MzUwNSBDIC0yLjA5NTY2OTQsNzIuNzI3OTE1IDEwLjkzNjg2NiwxMDIuOTQyNzMgMzYuNjU2MjM0LDExMy42MjgzNFwiXG4gICAgICAgICAgICBpZD1cInBhdGgyNFwiXG4gICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgIFxuICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgICAgICBpZD1cInRleHQzMlwiXG4gICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNS43MTEwMzE1LDEuNzQ1MzI0MylcIj48dGV4dFBhdGhcbiAgICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjRcIlxuICAgICAgICAgICAgIGlkPVwidGV4dFBhdGgzMlwiPkJ1aWxkPHRzcGFuXG4gICBpZD1cInRzcGFuMzJcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PlxuICAgICAgPC9nPlxuICAgICAgPHBvbHlnb25cbiAgICAgICAgIGNsYXNzTmFtZT1cImNscy04XCJcbiAgICAgICAgIHBvaW50cz1cIjM3LjIyLDExMy43NCA0NC4zLDExMi41NiA0MS43OCwxMTkuMjggXCJcbiAgICAgICAgIGlkPVwicG9seWdvbjIyXCJcbiAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLGZpbGw6XCIjZjRjYzFlXCIsZmlsbE9wYWNpdHk6XCIxXCJ9fVxuICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuODI0ODU4OCwwLDAsMi44MjQ4NTg4LC02Ny43OTc3ODEsLTIwNy45Njk3NylcIiAvPlxuICAgICAgPHRleHRcbiAgICAgICAgIFxuICAgICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjE3LjMzMzNweFwiLGxpbmVIZWlnaHQ6XCIwXCIsZm9udEZhbWlseTpcIkFyaWFsXCIsZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICAgIGlkPVwidGV4dDI5XCJcbiAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjQwNTI5MjEsOC44NTUzMzM0KVwiPjx0ZXh0UGF0aFxuICAgICAgICAgeGxpbmtIcmVmPVwiI3BhdGgyMlwiXG4gICAgICAgICBpZD1cInRleHRQYXRoMzRcIj5EZXNpZ248dHNwYW5cbiAgICAgICAgIGlkPVwidHNwYW4yOVwiIC8+PC90ZXh0UGF0aD48L3RleHQ+XG4gICAgPC9nPlxuICA8L2c+XG48L3N2Zz5cblxuICAgKVxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIEVuZ2luZWVyaW5nQ3ljbGVad2VpKCl7XG4gICByZXR1cm4oXG48c3ZnXG4gICB2aWV3Qm94PVwiMCAwIDE1ODUxLjAxNCAxNTUyOS4xMThcIlxuICAgdmVyc2lvbj1cIjEuMVwiXG4gICBpZD1cInN2ZzI1XCJcbiAgIHdpZHRoPVwiMTU4NTEuMDE0XCJcbiAgIGhlaWdodD1cIjE1NTI5LjExOFwiXG4gICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxkZWZzXG4gICAgIGlkPVwiZGVmczFcIj5cbiAgIDwvZGVmcz5cbiAgPGdcbiAgICAgaWQ9XCJnMjVcIlxuICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTUxLjQ5MzQsMzQyLjM2NDEpXCJcbiAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fT5cbiAgICA8cGF0aFxuICAgICAgIGNsYXNzTmFtZT1cImNscy03XCJcbiAgICAgICBkPVwibSA0Mi4wNSwxMTUuNTkgYyAyNy43Nyw5LjE5IDU3LjgzLC00Ljc5IDY5Ljc2LC0zMi4yM1wiXG4gICAgICAgaWQ9XCJwYXRoMjJcIlxuICAgICAgIHN0eWxlPXt7c3Ryb2tlOlwiI2Y0Y2MxZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IFxuICAgICAgIC8+XG4gIDwvZz5cbiAgPGdcbiAgICAgaWQ9XCJnMjZcIlxuICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5NTEuOTk0MzksMzQyLjE1NTQzKVwiPlxuICAgIDxwb2x5Z29uXG4gICAgICAgY2xhc3NOYW1lPVwiY2xzLTEzXCJcbiAgICAgICBwb2ludHM9XCIxMTIuMDcsODMuMzYgMTEwLjk0LDc2LjI3IDExNy42NSw3OC44NCBcIlxuICAgICAgIGlkPVwicG9seWdvbjI1XCJcbiAgICAgICBzdHlsZT17e2ZpbGw6XCIjODUwZjc4XCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMi45ODA2MjU5LDAsMCwyLjk4MDYyNTksLTIyNS40MzcyMiwtMTU2LjQ1MTIzKVwiIC8+XG4gICAgPHBhdGhcbiAgICAgICBjbGFzc05hbWU9XCJjbHMtMTJcIlxuICAgICAgIGQ9XCJNIDExNCw3OC41NSBDIDEyMy40NSw1MC44NiAxMTAsMjAuNzUgODIuNjYsOC42XCJcbiAgICAgICBpZD1cInBhdGgyNVwiXG4gICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZTpcIiM4NTBmNzhcIixzdHJva2VPcGFjaXR5OlwiMVwifX0gLz5cbiAgICA8dGV4dFxuICAgICAgXG4gICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgaWQ9XCJ0ZXh0MzFcIlxuICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1LjY5MDIxOTQsLTAuMTE1NTE4ODMpXCI+PHRleHRQYXRoXG4gICAgICAgICBpZD1cInRleHRQYXRoMzNcIj5MZWFybjx0c3BhblxuICAgaWQ9XCJ0c3BhbjMxXCIgLz48L3RleHRQYXRoPjwvdGV4dD5cbiAgPC9nPlxuICA8Z1xuICAgICBpZD1cImcyN1wiXG4gICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDk1MS45OTQzOSwzNDIuMTU1NDMpXCI+XG4gICAgPHBvbHlnb25cbiAgICAgICBjbGFzc05hbWU9XCJjbHMtMTBcIlxuICAgICAgIHBvaW50cz1cIjYyLjUzLDcuMTIgNjMuNDcsMCA2OS4xNyw0LjM3IFwiXG4gICAgICAgaWQ9XCJwb2x5Z29uMjNcIlxuICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyLjc3MTIyNjMsMC41ODE0NzU0OCwtMC41ODE0NzU0OCwyLjc3MTIyNjMsLTk2LjU4NzgyOCwtMzkuNzQ4MDcxKVwiXG4gICAgICAgc3R5bGU9e3tmaWxsOlwiI2EwYTdmM1wiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PVwiMy42MTczNzUxXCJcbiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9XCI1LjE5Nzg4NTJcIiAvPlxuICAgIDxwYXRoXG4gICAgICAgY2xhc3NOYW1lPVwiY2xzLTlcIlxuICAgICAgIGQ9XCJNIDc4LjU5OTExMSw3LjU0NjgyNjQgQyA0My44MjAzNDYsLTIuNjE3NzU4OCAxMy45NTY3NDYsMTQuMjg2MDQ2IDQuMjEwNjI4MSw0Ni4zNjg3NDlcIlxuICAgICAgIGlkPVwicGF0aDIzXCJcbiAgICAgICBzdHlsZT17e3N0cm9rZTpcIiNhMGE3ZjNcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCJ9fSAvPlxuICAgIDx0ZXh0XG4gICAgICBcbiAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgIGlkPVwidGV4dDI4XCJcbiAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuMDMwMjM1MDYsLTUuOTYwMjMzNilcIj48dGV4dFBhdGhcbiAgICAgICAgIGlkPVwidGV4dFBhdGgyOFwiPlRlc3Q8L3RleHRQYXRoPjwvdGV4dD5cbiAgPC9nPlxuICA8Z1xuICAgICBpZD1cImcyOFwiXG4gICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDk1MS45OTQzOSwzNDIuMTU1NDMpXCI+XG4gICAgPHBvbHlnb25cbiAgICAgICBjbGFzc05hbWU9XCJjbHMtMTNcIlxuICAgICAgIHBvaW50cz1cIjExNy42NSw3OC44NCAxMTIuMDcsODMuMzYgMTEwLjk0LDc2LjI3IFwiXG4gICAgICAgaWQ9XCJwb2x5Z29uMjUtNlwiXG4gICAgICAgc3R5bGU9e3tmaWxsOlwiI2Y1N2QyMlwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0yLjk2NTAzMTQsMC4zMDQ0OTg5MywtMC4zMDQ0OTg5MywtMi45NjUwMzE0LDM2NC44NDA2NywyNDkuMjgyNDkpXCIgLz5cbiAgICA8cGF0aFxuICAgICAgIGNsYXNzTmFtZT1cImNscy0xMVwiXG4gICAgICAgZD1cIk0gMi42NjU5NzUzLDUwLjk1MzUwNSBDIC0yLjA5NTY2OTQsNzIuNzI3OTE1IDEwLjkzNjg2NiwxMDIuOTQyNzMgMzYuNjU2MjM0LDExMy42MjgzNFwiXG4gICAgICAgaWQ9XCJwYXRoMjRcIlxuICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgPHRleHRcbiAgICAgIFxuICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjE3LjMzMzNweFwiLGxpbmVIZWlnaHQ6XCIwXCIsZm9udEZhbWlseTpcIkFyaWFsXCIsZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgIGlkPVwidGV4dDMyXCJcbiAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUuNzExMDMxNSwxLjc0NTMyNDMpXCI+PHRleHRQYXRoXG4gICAgICAgICBpZD1cInRleHRQYXRoMzJcIj5CdWlsZDx0c3BhblxuICAgaWQ9XCJ0c3BhbjMyXCIgLz48L3RleHRQYXRoPjwvdGV4dD5cbiAgPC9nPlxuICA8cG9seWdvblxuICAgICBjbGFzc05hbWU9XCJjbHMtOFwiXG4gICAgIHBvaW50cz1cIjM3LjIyLDExMy43NCA0NC4zLDExMi41NiA0MS43OCwxMTkuMjggXCJcbiAgICAgaWQ9XCJwb2x5Z29uMjJcIlxuICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixmaWxsOlwiI2Y0Y2MxZVwiLGZpbGxPcGFjaXR5OlwiMVwifX1cbiAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuODI0ODU4OCwwLDAsMi44MjQ4NTg4LDg3Ni4xOTQ2NCwxMzEuMzQzODQpXCIgLz5cbiAgPHRleHRcbiAgICBcbiAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgIGlkPVwidGV4dDI5XCJcbiAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDk1Mi4zOTc3MiwzNDguMTY4OTQpXCI+PHRleHRQYXRoXG4gICAgICAgaWQ9XCJ0ZXh0UGF0aDM0XCI+RGVzaWduPHRzcGFuXG4gICBpZD1cInRzcGFuMjlcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PlxuPC9zdmc+XG5cbiAgIClcbn0iLCAiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFBpZSB9IGZyb20gJ3JlYWN0LWNoYXJ0anMtMic7XG5pbXBvcnQgeyBDaGFydCBhcyBDaGFydEpTLCBBcmNFbGVtZW50LCBUb29sdGlwLCBMZWdlbmQgfSBmcm9tICdjaGFydC5qcyc7XG5cblxuQ2hhcnRKUy5yZWdpc3RlcihBcmNFbGVtZW50LCBUb29sdGlwLCBMZWdlbmQpO1xuXG5jb25zdCBQaWVDaGFydDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ2luZGVsJywgJ2luc2VydGlvbicsICdkZWxldGlvbicsICdzdWJzdGl0dXRpb24nLCAnb3RoZXInXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgMC4wMDM3MDNcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgJ3JnYmEoMjU1LCA5OSwgMTMyLCAwLjIpJyxcbiAgICAgICAgICAncmdiYSg1NCwgMTYyLCAyMzUsIDAuMiknLFxuICAgICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC4yKScsXG4gICAgICAgICAgJ3JnYmEoNzUsIDE5MiwgMTkyLCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgxNTMsIDEwMiwgMjU1LCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuMiknLFxuICAgICAgICBdLFxuICAgICAgICBib3JkZXJDb2xvcjogW1xuICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMSknLFxuICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMSknLFxuICAgICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMSknLFxuICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMSknLFxuICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDEpJyxcbiAgICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDEpJyxcbiAgICAgICAgXSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFBpZUNoYXJ0O1xuIiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IEhpZ2hsaWdodCB9IGZyb20gXCIuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zLnRzXCI7XG5pbXBvcnQgeyBvcGVuQW5kU2Nyb2xsLCBvcGVuQW5kQ2xvc2VBbmRTY3JvbGwgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkFuZFNjcm9sbFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gRGVzY1NpZGViYXIoKXtcbiAgICBsZXQgbnVtcyA9IFsgXCJkZWwxXCJdXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIH0sIFtdKTtcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgICBmb3IobGV0IGlkeCBpbiBudW1zKXtcbiAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiV2UgYXJlIGxvb2tpbmcgYXQgJ2l0ZW0nID0gXCIgKyBudW1zW2lkeF0pICovXG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBudW1zW2lkeF07XG4gICAgICAgICAgICAgIGxldCBpbmQgPSBudW1zLmZpbmRJbmRleCgoZSkgPT4gZSA9PSBpdGVtKVxuICAgICAgICAgICAgIC8qICBjb25zb2xlLmxvZyhcImluZCBpczogXCIgKyBpbmQpICovXG4gICAgICAgICAgICAgIGxldCBzdWJkaSA9IFwic3VidGl0bGVcIiArIGluZCBcbiAgICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJzdWJkaSBpczogXCIgKyBzdWJkaSlcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3ZSB1c2UgXCIgKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk/LmlkICsgXCIgYW5kIFwiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpPy5pZCkgKi9cbiAgICAgICAgICAgICAgSGlnaGxpZ2h0KHtlbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSkhfSwge3N1YnRpdGxlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSkhfSk7XG4gICAgICAgICAgfSAgICAgICBcbiAgICAgICAgICAvKiAgICAgKi9cbiAgICAgIH1cbiAgICAgIC8qIGNvbnNvbGUubG9nKG51bXMpICovXG5cblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RpY2t5LXRvcFwiPlxuICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzaWRlYmFyXCI+XG4gICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kQ2xvc2VBbmRTY3JvbGwoeyBpdDogXCJ0YWItQWJzdHJhY3RcIiwgc2Nyb2xsVGFyZ2V0OiBcIkFic3RyYWN0XCIsIGNsb3NlOiBbXCJDeXN0aWMtRmlicm9zaXNcIl0gfSl9PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1BYnN0cmFjdFwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+QWJzdHJhY3Q8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIHsvKiBGem5rdGlvbmllcnQ6ICA8YSBvbkNsaWNrPXtvcGVuVGhlbSh7aXQ6IFwidGFiLUN5c3RpYy1GaWJyb3Npc1wifSl9ICA+ICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LUN5c3RpYy1GaWJyb3Npc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLUN5c3RpYy1GaWJyb3Npc1wiLCBzY3JvbGxUYXJnZXQ6IFwiQ3lzdGljLUZpYnJvc2lzXCIgfSl9PjxzdW1tYXJ5PkN5c3RpYyBGaWJyb3Npczwvc3VtbWFyeT48L2E+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInRhYi1DeXN0aWMtRmlicm9zaXNcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJHZW5lcmFsXCIgdGFyZ2V0SWQ9XCJDRjFcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJDRlRSXCIgdGFyZ2V0SWQ9XCJDRjJcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJcdTAzOTRGNTA4XCIgdGFyZ2V0SWQ9XCJDRjNcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJTeW1wdG9tc1wiIHRhcmdldElkPVwiQ0Y0XCIvPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxTY3JvbGxMaW5rIGxhYmVsPVwiRGlhZ25vc2lzXCIgdGFyZ2V0SWQ9XCJDRjVcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJUcmVhdG1lbnRcIiB0YXJnZXRJZD1cIkNGNlwiLz48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHtpdDogXCJ0YWItT3VyLW1vdGl2YXRpb25cIiwgc2Nyb2xsVGFyZ2V0OiBcIk91ci1tb3RpdmF0aW9uXCIsIGNsb3NlOiBbXCJDeXN0aWMtRmlicm9zaXNcIl19KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtcGUtc3lzdGVtc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk91ciBNb3RpdmF0aW9uPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kQ2xvc2VBbmRTY3JvbGwoe2l0OiBcInRhYi1PdXItbW90aXZhdGlvblwiLCBzY3JvbGxUYXJnZXQ6IFwiQXBwcm9hY2hcIiwgY2xvc2U6IFtcIkN5c3RpYy1GaWJyb3Npc1wiXX0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1uaWthc2VcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5BcHByb2FjaDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHtpdDogXCJ0YWItT3VyLW1vdGl2YXRpb25cIiwgc2Nyb2xsVGFyZ2V0OiBcIkRlbGl2ZXJ5XCIsIGNsb3NlOiBbXCJDeXN0aWMtRmlicm9zaXNcIl19KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtZGVsaXZlcnlcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5EZWxpdmVyeTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiB7LyogICovfVxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kQ2xvc2VBbmRTY3JvbGwoe2l0OiBcInRhYi1PdXItbW90aXZhdGlvblwiLCBzY3JvbGxUYXJnZXQ6IFwiT3VyLXZpc2lvblwiLCBjbG9zZTogW1wiQ3lzdGljLUZpYnJvc2lzXCJdfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlZ3JuYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk91ciB2aXNpb248L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gICBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHtpdDogXCJ0YWItT3VyLW1vdGl2YXRpb25cIiwgc2Nyb2xsVGFyZ2V0OiBcIlJlZmVyZW5jZXNcIiwgY2xvc2U6IFtcIkN5c3RpYy1GaWJyb3Npc1wiXX0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1yZWZlcmVuY2VzXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+UmVmZXJlbmNlczwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICA8L25hdj4gICBcbiAgICAgICAgPGJyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiBzdHlsZT17e2Rpc3BsYXk6IFwiZmxleFwiLCBhbGlnbkl0ZW1zOiBcInJpZ2h0XCJ9fT5cbiAgICAgICAgICAgIDxhIGhyZWY9JyMnIGNsYXNzTmFtZT1cImJhY2t0b3RvcFwiPlxuICAgICAgICAgICAgICAgIEJhY2sgdG8gVG9wICYjODU5MztcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5cblxuIiwgIlxuaW1wb3J0IHsgQnV0dG9uT25lRW5naW5lZXJpbmcgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBMb3JlbVNob3J0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi91dGlscy9vcGVuRWxlbWVudFwiO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIEVuZ2luZWVyaW5nKCkge1xuICAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgIGNvbnN0IHRhYklkID0gcGFyYW1zLmdldCgndGFiJyk7XG5cbiAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgIC8vIEhpZGUgYWxsIHRhYnNcbiAgICAgICAgICBjb25zdCB0YWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmVuZ2lubmVlcmluZ3RhYicpO1xuICAgICAgICAgIHRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgICh0YWIgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICAvLyBTaG93IHRoZSBzZWxlY3RlZCB0YWJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZFRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRUYWIpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRUYWIuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG5cbiAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZCBhZnRlciBvcGVuaW5nIHRoZSB0YWJcbiAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG10LTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxici8+IDxici8+IDxici8+XG4gICAgICAgICAgICA8ZGl2IGlkPVwidGFiLW91ci1jeWNsZVwiIGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgICA8c2VjdGlvbiBpZD1cIk91ciBDeWNsZVwiPlxuICAgICAgICAgICAgICAgICAgPGgzPk91ciBDeWNsZTwvaDM+XG4gICAgICAgICAgICAgICAgICA8cD5IYWxsbyBQcmltZSBFZGl0aW5nIGRpZXNkYXM8L3A+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cInByb29mLW9mLWNvbmNlcHRcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJ0YWItcHJvb2Ytb2YtY29uY2VwdFwiIGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiUHJvb2Ygb2YgQ29uY2VwdFwiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctbGIgYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPGgzPlByb29mIG9mIENvbmNlcHQ8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgPHA+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cIm91ci1jeWNsZVwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cInBlLXN5c3RlbXNcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5naW5uZWVyaW5ndGFiXCIgaWQ9XCJ0YWItcGUtc3lzdGVtc1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiUEUgU3lzdGVtc1wiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPGgzPlBFIFN5c3RlbXM8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgPHA+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cInByb29mLW9mLWNvbmNlcHRcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJuaWthc2VcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIGlkPVwidGFiLW5pa2FzZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiTmlrYXNlXCIgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8aDM+TmlrYXNlPC9oMz5cbiAgICAgICAgICAgICAgICAgICAgIDxwPjxMb3JlbVNob3J0PjwvTG9yZW1TaG9ydD48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJQcmV2aW91c1wiIG9wZW49XCJwZS1zeXN0ZW1zXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIk5leHRcIiBvcGVuPVwicGVncm5hXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBpZD1cInRhYi1wZWdybmFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cInBlZ1JOQVwiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPGgzPnBlZ1JOQTwvaDM+XG4gICAgICAgICAgICAgICAgICAgICA8cD48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwibmlrYXNlXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIk5leHRcIiBvcGVuPVwiZGVsaXZlcnlcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIGlkPVwidGFiLWRlbGl2ZXJ5XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJEZWxpdmVyeVwiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPGgzPkRlbGl2ZXJ5PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiZGVsMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPmRlbDE8L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPHA+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDxwPjxMb3JlbVNob3J0PjwvTG9yZW1TaG9ydD48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJQcmV2aW91c1wiIG9wZW49XCJwZWdybmFcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJyZWZlcmVuY2VzXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIGlkPVwidGFiLXJlZmVyZW5jZXNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICA8c2VjdGlvbiBpZD1cIlJlZmVyZW5jZXNcIiA+XG4gICAgICAgICAgICAgICAgICA8aDM+UmVmZXJlbmNlczwvaDM+XG4gICAgICAgICAgICAgICAgICA8cD48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9wPlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cImRlbGl2ZXJ5XCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9IFxuXG4gIFxuXG5leHBvcnQgZnVuY3Rpb24gRW5naW5lZXJpbmdDeWNsZVRhYigpe1xuICAgIHJldHVybihcbiA8c3ZnIGNsYXNzTmFtZT1cInJvdGF0ZS1saW5lYXItaW5maW5pdGVcIlxuICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgdmlld0JveD1cIjAgMCAxMzMgMTMzXCJcbiAgICBpZD1cInN2ZzI1XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICA8ZGVmc1xuICAgICAgaWQ9XCJkZWZzMVwiPlxuICAgICA8L2RlZnM+XG4gICA8Z1xuICAgICAgaWQ9XCJMYXllcl8yXCJcbiAgICAgIGRhdGEtbmFtZT1cIkxheWVyIDJcIlxuICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fT5cbiAgICAgPGdcbiAgICAgICAgaWQ9XCJQbGFzbWlkXCJcbiAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fT5cbiAgICAgICA8Z1xuICAgICAgICAgIGlkPVwiZzI1XCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNy41MDA5NzgsMy4wNTA0ODk4KVwiPlxuICAgICAgICAgICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJkZXNpZ25pbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtN1wiXG4gICAgICAgICAgICBkPVwibSA0Mi4wNSwxMTUuNTkgYyAyNy43Nyw5LjE5IDU3LjgzLC00Ljc5IDY5Ljc2LC0zMi4yM1wiXG4gICAgICAgICAgICAgaWQ9XCJwYXRoMjJcIlxuICAgICAgICAgICAgc3R5bGU9e3tzdHJva2U6XCIjZjRjYzFlXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwifX0gLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICA8L2c+XG4gICAgICAgPGdcbiAgICAgICAgICBpZD1cImcyNlwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDguMDAxOTY5OSwyLjg0MTgyMjMpXCJcbiAgICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PiAgXG4gICAgICAgICA8cG9seWdvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTEzXCJcbiAgICAgICAgICAgIHBvaW50cz1cIjExMi4wNyw4My4zNiAxMTAuOTQsNzYuMjcgMTE3LjY1LDc4Ljg0IFwiXG4gICAgICAgICAgICAgaWQ9XCJwb2x5Z29uMjVcIlxuICAgICAgICAgICAgc3R5bGU9e3tmaWxsOlwiIzg1MGY3OFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMi45ODA2MjU5LDAsMCwyLjk4MDYyNTksLTIyNS40MzcyMiwtMTU2LjQ1MTIzKVwiIC8+XG4gICAgICAgICAgICA8YSAgdHlwZW9mPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwic3ZnLWJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcImxlYXJuaW5nXCIsIGNsYXNzVG9IaWRlOiBcImN5Y2xldGFiXCJ9KX0+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTJcIlxuICAgICAgICAgICAgICBkPVwiTSAxMTQsNzguNTUgQyAxMjMuNDUsNTAuODYgMTEwLDIwLjc1IDgyLjY2LDguNlwiXG4gICAgICAgICAgICAgIGlkPVwicGF0aDI1XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZTpcIiM4NTBmNzhcIixzdHJva2VPcGFjaXR5OlwiMVwifX0gLz4gXG4gICAgICAgICAgIFxuICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgICBpZD1cInRleHQzMVwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNS42OTAyMTk0LC0wLjExNTUxODgzKVwiPjx0ZXh0UGF0aFxuICAgICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjVcIlxuICAgICAgICAgICAgICBpZD1cInRleHRQYXRoMzNcIj5MZWFybjx0c3BhblxuICAgICAgICAgIGlkPVwidHNwYW4zMVwiIC8+PC90ZXh0UGF0aD48L3RleHQ+ICA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjdcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4wMDE5Njk5LDIuODQxODIyMylcIj5cbiAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTBcIlxuICAgICAgICAgICAgIHBvaW50cz1cIjYyLjUzLDcuMTIgNjMuNDcsMCA2OS4xNyw0LjM3IFwiXG4gICAgICAgICAgICBpZD1cInBvbHlnb24yM1wiXG4gICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuNzcxMjI2MywwLjU4MTQ3NTQ4LC0wLjU4MTQ3NTQ4LDIuNzcxMjI2MywtOTYuNTg3ODI4LC0zOS43NDgwNzEpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiNhMGE3ZjNcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PVwiMy42MTczNzUxXCJcbiAgICAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteT1cIjUuMTk3ODg1MlwiIC8+XG4gICAgICAgICAgICA8YSAgdHlwZW9mPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwic3ZnLWJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInRlc3RpbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtOVwiXG4gICAgICAgICAgICBkPVwiTSA3OC41OTkxMTEsNy41NDY4MjY0IEMgNDMuODIwMzQ2LC0yLjYxNzc1ODggMTMuOTU2NzQ2LDE0LjI4NjA0NiA0LjIxMDYyODEsNDYuMzY4NzQ5XCJcbiAgICAgICAgICAgIGlkPVwicGF0aDIzXCJcbiAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlOlwiI2EwYTdmM1wiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgICA8dGV4dFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgICBpZD1cInRleHQyOFwiXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC4wMzAyMzUwNiwtNS45NjAyMzM2KVwiPjx0ZXh0UGF0aFxuICAgICAgICAgICAgeGxpbmtIcmVmPVwiI3BhdGgyM1wiXG4gICAgICAgICAgICAgaWQ9XCJ0ZXh0UGF0aDI4XCI+VGVzdDwvdGV4dFBhdGg+PC90ZXh0PiA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjhcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4wMDE5Njk5LDIuODQxODIyMylcIj5cbiAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTNcIlxuICAgICAgICAgICAgcG9pbnRzPVwiMTE3LjY1LDc4Ljg0IDExMi4wNyw4My4zNiAxMTAuOTQsNzYuMjcgXCJcbiAgICAgICAgICAgICBpZD1cInBvbHlnb24yNS02XCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiNmNTdkMjJcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0yLjk2NTAzMTQsMC4zMDQ0OTg5MywtMC4zMDQ0OTg5MywtMi45NjUwMzE0LDM2NC44NDA2NywyNDkuMjgyNDkpXCIgLz5cbiAgICAgICAgICAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiYnVpbGRpbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTExXCJcbiAgICAgICAgICAgIGQ9XCJNIDIuNjY1OTc1Myw1MC45NTM1MDUgQyAtMi4wOTU2Njk0LDcyLjcyNzkxNSAxMC45MzY4NjYsMTAyLjk0MjczIDM2LjY1NjIzNCwxMTMuNjI4MzRcIlxuICAgICAgICAgICAgIGlkPVwicGF0aDI0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgICA8dGV4dFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwiIzAwMDAwMFwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgICAgICAgaWQ9XCJ0ZXh0MzJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01LjcxMTAzMTUsMS43NDUzMjQzKVwiPjx0ZXh0UGF0aFxuICAgICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjRcIlxuICAgICAgICAgICAgICBpZD1cInRleHRQYXRoMzJcIj5CdWlsZDx0c3BhblxuICAgIGlkPVwidHNwYW4zMlwiIC8+PC90ZXh0UGF0aD48L3RleHQ+IDwvYT5cbiAgICAgICA8L2c+XG4gICAgICAgPHBvbHlnb25cbiAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtOFwiXG4gICAgICAgICAgcG9pbnRzPVwiMzcuMjIsMTEzLjc0IDQ0LjMsMTEyLjU2IDQxLjc4LDExOS4yOCBcIlxuICAgICAgICAgIGlkPVwicG9seWdvbjIyXCJcbiAgICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixmaWxsOlwiI2Y0Y2MxZVwiLGZpbGxPcGFjaXR5OlwiMVwifX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMi44MjQ4NTg4LDAsMCwyLjgyNDg1ODgsLTY3Ljc5Nzc4MSwtMjA3Ljk2OTc3KVwiIC8+XG4gICAgICAgICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJkZXNpZ25pbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICA8dGV4dFxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCIjMDAwMDAwXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgaWQ9XCJ0ZXh0MjlcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjQwNTI5MjEsOC44NTUzMzM0KVwiPjx0ZXh0UGF0aFxuICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjJcIlxuICAgICAgICAgIGlkPVwidGV4dFBhdGgzNFwiPkRlc2lnbjx0c3BhblxuICAgICAgICAgIGlkPVwidHNwYW4yOVwiIC8+PC90ZXh0UGF0aD48L3RleHQ+IDwvYT5cbiAgICAgPC9nPlxuICAgPC9nPlxuICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJvdmVydmlld1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgPGNpcmNsZVxuICAgICBzdHlsZT17e29wYWNpdHk6XCIwLjg1XCIsZmlsbDpcIiNlMmRhZDdcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICBpZD1cInBhdGgxXCJcbiAgICAgY3g9XCI2Ny45MTYyMTRcIlxuICAgICBjeT1cIjYzLjIxNDAwNVwiXG4gICAgIHI9XCIyMFwiIC8+XG4gIDx0ZXh0XG4gICAgIHN0eWxlPXt7Zm9udFNpemU6XCI4cHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLG9wYWNpdHk6XCIwLjg1XCIsZmlsbDpcIiMwMDAwMDBcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgeD1cIjUwLjkyOTgyNVwiXG4gICAgIHk9XCI2Ni42NzY2NzRcIlxuICAgICBpZD1cInRleHQxXCI+XG4gICAgICA8dHNwYW5cbiAgICAgICBpZD1cInRzcGFuMVwiXG4gICAgICAgeD1cIjUwLjkyOTgyNVwiXG4gICAgICAgeT1cIjY2LjY3NjY3NFwiXG4gICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjhweFwifX0+T3ZlcnZpZXc8L3RzcGFuPjwvdGV4dD4gXG4gICAgICAgPC9hPlxuXG4gPC9zdmc+XG4gXG4gICAgKVxuIH1cblxuXG4iLCAiXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5leHBvcnQgZnVuY3Rpb24gRXhwZXJpbWVudHMoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLThcIj5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufVxuIiwgIlxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuaW1wb3J0IEgxIGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5leHBvcnQgZnVuY3Rpb24gTm90ZWJvb2soKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLThcIj5cbiAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgPEgxIHRleHQ9XCJJY2ggYmluIGVpbiBIZWFkZXIhXCIvPiBcbiAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8aT5cbiAgICAgICAgICAgIDxwPiBJY2ggYmluIGVpbiBQYXJhZ3JhcGguIDwvcD5cbiAgICAgICAgICA8L2k+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn1cbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBSZXN1bHRzKCkge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT3BlbiB0aGUgdGFiIHNwZWNpZmllZCBieSB0YWJJZFxuICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgIH1cbiAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXQtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1sZy01XCI+XG4gICAgICAgICAgPHA+dGVzdCBoYWxsbyB3ZWx0PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLThcIj5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufVxuIiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmltcG9ydCB7IEgyIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmV4cG9ydCBmdW5jdGlvbiBTYWZldHkoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiUm9sZVwiPjxIMiB0ZXh0PVwiUm9sZSBpbiBpR2VtXCIvPjwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQ2hlY2tzXCI+PEgyIHRleHQ9XCJDaGVjay1JbnNcIi8+PC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJMYWJcIj48SDIgdGV4dD1cIk91ciBMYWJcIi8+PC9kaXY+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJCaW9zYWZldHlIXCIgY2xhc3NOYW1lPVwic2VjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJCaW9zYWZldHlcIj48SDIgdGV4dD1cIkJpb3NhZmV0eVwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQlMxXCI+PGgzPk1lY2hhbmlzbTwvaDM+IDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJCUzJcIj48aDM+RGVsaXZlcnk8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cIkJpb3NlY3VyaXR5SFwiIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQmlvc2VjdXJpdHlcIj48SDIgdGV4dD1cIkJpb3NlY3VyaXR5XCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJCU2VjMVwiPjxoMz5PdXIgUHJvamVjdDwvaDM+IDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJCU2VjMlwiPjxoMz5SaXNrIEFzc2VzbWVudDwvaDM+IDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJCU2VjM1wiPjxoMz5NYW5hZ2luZyBSaXNrczwvaDM+IDwvZGl2PlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiQmlvZXRoaWNzSFwiIGNsYXNzTmFtZT1cInNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQmlvZXRoaWNzXCI+PEgyIHRleHQ9XCJCaW9ldGhpY3NcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIkJFMVwiPjxoMz5HZW5lIFRoZXJhcHk8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQkUyXCI+PGgzPlByaW1hcnkgY2VsbHM8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiQkUzXCI+PGgzPkNvbnNlbnQgYW5kIEd1aWRlbGluZXM8L2gzPiA8L2Rpdj5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG4iLCAiLyogXG4tIHNlaXR3XHUwMEU0cnRzIFxuLSBtaXQgRmFyYmVuIHVuZCBUZXh0IGFuemVpZ2VuIHdvenUgZGllIGdlaFx1MDBGNnJlbiBcbi0gYmVpIHNob3cgbW9yZSB1bnRlbiBkcnVudGVyIFRhYnMgXHUwMEY2ZmZuZW5cbi0gd2VubiBtYW4gYXVmIGRpZSBQZXJzb24ga2xpY2t0IHNvbGwgZXMgSW5mb3MgXHUwMEZDYmVyIGRpZSBQZXJzb24gYW56ZWlnZW4gXG4tIGthbm4gbW4gZGllIEthcnRlbiBuYWNoIExpbmtzIHVuZCBuYWNoIHJlY2h0cyBhdXN3ZWl0ZW4gemIgZlx1MDBGQ3IgTWVociBpbmZvcyBmXHUwMEZDciBkaWUgUGVyc29uPyBcbi0gRmlsdGVyIG1pdCBIYWxia3JlaXNEaW5nIGFscyBUYWJzdGV1ZXJ1bmcgfCBFaW50ZWlsdW5nIG5hY2ggQmVyZWljaCAoQWNhZGVtaWEsIEluc3VzdHJ5LCAuLi4sIHVuZCBhdWNoIG5hY2ggRGVsaXZlcnkgdW5kIE1lY2hhbmlzbSkgXG4tIEROQSBTdHJhbmcgYWxzIFRpbWVsaW5lPyBcbiovXG5cblxuLyogICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxoMz5OYW1lPC9oMz5cbiAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBUYWdcIj5cbiAgICAgICAgICAgICAgICBCZXJ1ZlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PVwiUXVvdGVcIiBjaXRlPVwiLlwiPjwvQmxvY2tRdW90ZUI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtaWRkbGUgc2VjaHByb1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCIvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGg0PkFpbSBvZiBjb250YWN0PC9oND5cbiAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgIDxoND5JbnNpZ2h0czwvaDQ+XG4gICAgICAgICAgICA8cD48L3A+XG4gICAgICAgICAgICA8aDQ+Q2xhcmlmaWNhdGlvbjwvaDQ+XG4gICAgICAgICAgICA8cD48L3A+XG4gICAgICAgICAgICA8aDQ+SW1wbGVtZW50YXRpb248L2g0PlxuICAgICAgICAgICAgPHA+PC9wPiAqL1xuXG5cbi8qXG4gIDxoND5BaW0gb2YgY29udGFjdDwvaDQ+XG4gIDxwPjwvcD5cbiAgPGg0Pkluc2lnaHRzPC9oND5cbiAgPHA+PC9wPlxuICA8aDQ+Q2xhcmlmaWNhdGlvbjwvaDQ+XG4gIDxwPjwvcD5cbiAgPGg0PkltcGxlbWVudGF0aW9uPC9oND5cbiAgPHA+PC9wPiBcbiAgICAgICAgICAgICovXG5pbXBvcnQgeyAgQnV0dG9uT25lIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvdXNlTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgb3BlbkVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkVsZW1lbnRcIjtcbmltcG9ydCB7IEhQVGltZWxpbmUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IUC10aW1lbGluZVwiO1xuaW1wb3J0IHsgSDIsIEgzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFuUHJhY3RpY2VzKCkge1xuICBjb25zdCB7IGdvVG9QYWdlc0FuZE9wZW5UYWIvKiAsIGdvVG9UZXh0c0FuZE9wZW5Db2xsYXBzaWJsZSAqLyB9ID0gdXNlTmF2aWdhdGlvbigpO1xuICBcbiAgb3BlbkVsZW1lbnQoe2J1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwiLCBlbGVtZW50VG9PcGVuOiBcIkFsbFwiLCBjbGFzc1RvSGlkZTogXCJ0aW1lbGluZWNhcmR0YWJzXCIsIH0pOyBcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gIHJldHVybiAoICBcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICBcbiAgICA8QmxvY2tRdW90ZUJcbiAgICAgIHRleHQ9XCJIdW1hbiBQcmFjdGljZXMgaXMgdGhlIHN0dWR5IG9mIGhvdyB5b3VyIHdvcmsgYWZmZWN0cyB0aGUgd29ybGQsIGFuZCBob3cgdGhlIHdvcmxkIGFmZmVjdHMgeW91ciB3b3JrLlwiXG4gICAgICBjaXRlPVwiLSBQZXRlciBDYXJyLCBEaXJlY3RvciBvZiBKdWRnaW5nXCJcbiAgICAgIC8+IFxuICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9leHRlcm5hbC1jb250ZW50LmR1Y2tkdWNrZ28uY29tL2l1Lz91PWh0dHBzJTNBJTJGJTJGdHNlMS5tbS5iaW5nLm5ldCUyRnRoJTNGaWQlM0RPSVAuNm1SUHlXUEZFSVF6by1IUDRrRXVrZ0hhRUslMjZwaWQlM0RBcGkmZj0xJmlwdD1hZDFlNjJkM2RmNmEzNDNjMWMxNjNhODI0NmQ0MjRhN2I2MTAxNWFjNDNhMGNiZTI3OTk3NmNmNTQ0YmU3YWE3Jmlwbz1pbWFnZXNcIiBhbHQ9XCJwbGFjZWhvbGRlclwiPjwvaW1nPlxuXG4gICAgPEgyIHRleHQ9XCJJbnRyb2R1Y3Rpb25cIiBpZD1cImludHJvXCIvPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiMXZoXCJ9fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIk91ciBVbmRlcnN0YW5kaW5nIG9mIEhQXCIgb3Blbj1cInVuZGVyc3RhbmRpbmdcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiT3VyIE1pc3Npb24gJiBWaXNpb25cIiBvcGVuPVwibWlzc2lvblwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJPdXIgVGFyZ2V0IEdyb3Vwc1wiIG9wZW49XCJ0YXJnZXRzXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJ1bmRlcnN0YW5kaW5nXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT4gdW5kZXJzdGFuZGluZyA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwibWlzc2lvblwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5taXNzaW9uIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJ0YXJnZXRzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PnRhcmdldHMgPC9kaXY+XG4gICAgXG4gIDxIMyB0ZXh0PVwiRnJhbWV3b3JrXCIgaWQ9XCJmcmFtZVwiLz5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjV2aFwifX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJTdGFrZWhvbGRlciBNYW5hZ2VtZW50XCIgb3Blbj1cInN0YWtlbWFtYW5nZVwiIG9wZW5jbGFzcz1cImZyYW1lY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiTWVuZGVsb3cgQW5hbHlzaXNcIiBvcGVuPVwibWVuZGVsb3dcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlNXT1QgYW5hbHlzaXNcIiBvcGVuPVwic3dvdFwiIG9wZW5jbGFzcz1cImZyYW1lY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkZlZWRiYWNrIEN5Y2xlXCIgb3Blbj1cImZlZWRjeWNsZVwiIG9wZW5jbGFzcz1cImZyYW1lY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiVGhpcnMgUGFydHkgRmVlZGJhY2tcIiBvcGVuPVwidGhpcmRwYXJ0eVwiIG9wZW5jbGFzcz1cImZyYW1lY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiQ3ljbGUgb2YgUmVmbGVjdGlvblwiIG9wZW49XCJyZWZjeWNsZVwiIG9wZW5jbGFzcz1cImZyYW1lY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cInN0YWtlbWFtYW5nZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+c3Rha2VtYW1hbmdlIDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cIm1lbmRlbG93XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19Pm1lbmRlbG93IDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cInN3b3RcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjF2aFwifX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJQYXRpZW50c1wiIG9wZW49XCJwYXRzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiSW5kdXN0cnlcIiBvcGVuPVwiaW5kc1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkFjYWRlbWlhXCIgb3Blbj1cImFjc1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkhlYWx0aGNhcmVcIiBvcGVuPVwiaGVhbHRoc1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJHb3Zlcm5tZW50XCIgb3Blbj1cImdvdnNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJDb21tdW5pdHlcIiBvcGVuPVwiY29tbXNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJUaGUgUHVibGljXCIgb3Blbj1cInB1YnNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJCdXNpbmVzc1wiIG9wZW49XCJidXNpXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJwYXRzXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT4gcGF0cyA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImluZHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+aW5kcyA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImFjc1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5hY3MgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJoZWFsdGhzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiBoZWFsdGhzIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBzdWJjeWNsZXRhYlwiIGlkPVwiZ292c1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5nb3ZzIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBzdWJjeWNsZXRhYlwiIGlkPVwiY29tbXNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+Y29tbXMgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJwdWJzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PnB1YnMgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJidXNpXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PmJ1c2kgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwidGhpcmRwYXJ0eVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT50aGlyZHBhcnR5IDwvZGl2PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cImZlZWRjeWNsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5mZWVkY3ljbGUgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwicmVmY3ljbGVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+cmVmY3ljbGUgPC9kaXY+XG4gXG4gIDxIMiB0ZXh0PVwiSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXNcIiBpZD1cInRpbWVsaW5lXCIvPlxuICA8SFBUaW1lbGluZS8+XG4gIFxuICA8SDIgdGV4dD1cIkZlZWRiYWNrIGFuZCBJbXBsZW1lbnRhdGlvblwiIGlkPVwiZmVlZGJhY2tcIi8+XG4gIFxuICA8SDIgdGV4dD1cIkNvbmNsdXNpb25cIiBpZD1cImNvbmNsdXNpb25cIi8+XG4gIFxuICA8SDIgdGV4dD1cIkFkZGl0aW9uc1wiIGlkPVwiYWRkaXRpb25zXCIvPlxuXG4gIDxIMyB0ZXh0PVwiUHVibGljIEVuZ2FnZW1lbnRcIiBpZD1cInB1YmxpY1wiLz5cblxuICA8SDMgdGV4dD1cIkVkdWNhdGlvblwiIGlkPVwiZWR1XCIvPlxuICA8PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgey8qIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9UZXh0c0FuZE9wZW5Db2xsYXBzaWJsZShcInN5bXB0b21zLWNvbGxhcHNpYmxlXCIsIFwiL2Rlc2NyaXB0aW9uP2NvbGxhcHNlSWQ9XCIpfT4gXG4gICAgICAgICAgICAgICAgR28gdG8gVGV4dHMgYW5kIE9wZW4gQ29sbGFwc2libGUgMVxuICAgICAgICAgICAgPC9hPiAqL31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIk92ZXJ2aWV3XCIgb3Blbj1cIm92ZXJ2aWV3XCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIk11a29Nb3ZlXCIgb3Blbj1cIm11a29tb3ZlXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlRldXRvIHJ1ZnQhXCIgb3Blbj1cInRldXRvcnVmdFwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJTY2hcdTAwRkNsZXIqaW5uZW4gQWthZGVtaWVcIiBvcGVuPVwiYWthZGVtaWVcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJvdmVydmlld1wiIGNsYXNzTmFtZT1cImN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICA8SDIgaWQ9XCJlZHUtb3V0LWhlYWRpbmdcIiB0ZXh0PVwiT3VyIGVkdWNhdGlvbiBhbmQgb3V0cmVhY2hcIi8+XG4gICAgICAgICAgPEgyIGlkPVwid2h5LWhlYWRpbmdcIiB0ZXh0PVwiSWYgbm90IGFzIGEgc3BlY2lhbCBwcml6ZSAtIHRoZW4gd2h5P1wiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJha2FkZW1pZVwiIGNsYXNzTmFtZT1cImN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICA8SDIgaWQ9XCJzdHVkZW50LWFjYWRlbXktaGVhZGluZ1wiIHRleHQ9XCJTdHVkZW50IGFjYWRlbXkgb24gdGhlIHRvcGljIG9mIHN5bnRoZXRpYyBiaW9sb2d5XCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cInRldXRvcnVmdFwiIGNsYXNzTmFtZT1cImN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICA8SDIgaWQ9XCJ0ZXVyb3J1ZnQtaGVhZGluZ1wiIHRleHQ9XCJFZHVjYXRpb25hbCBjaXR5IHRvdXIgZm9yIHlvdW5nIGFuZCBvbGRcIi8+XG4gICAgICAgIFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC90ZXV0b3J1ZnQtZXhwZXJtaW5ldC5qcGVnXCI+PC9pbWc+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9lZGNhdGlvbi1hbmQtb3V0cmVhY2gvdGV1dG9ydWZ0LWdydXBwZS5qcGVnXCI+PC9pbWc+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwibXVrb21vdmVcIiBjbGFzc05hbWU9XCJjeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgPEgyIGlkPVwiY2YtbW9udGhcIiB0ZXh0PVwiQ3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBtb250aFwiLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmdWxsLXNtYWxsIGNvbC0zXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtYXg0MDBcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvcG8tbXVrb21vdmUvd2lyLXBsYWthdC1tdWtvbW92ZS5qcGVnXCI+PC9pbWc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8aDM+V2hhdCBpcyBNVUtPTU9WRT88L2gzPlxuICAgICAgICAgICAgPHA+QXMgcGFydCBvZiB0aGUgY3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBtb250aCBNYXksIHdlIHRvb2sgcGFydCBpbiB0aGlzIHllYXIncyA8YSBocmVmPVwiaHR0cHM6Ly93d3cubXVrby5pbmZvL211a29tb3ZlXCI+TVVLT21vdmU8L2E+IGZyb20gTWF5IDh0aCB0byBNYXlcbiAgICAgICAgICAgICAgMTJ0aCB1bmRlciB0aGUgdGVhbSBuYW1lIGlHRU0gQmllbGVmZWxkLiBNVUtPbW92ZSBpcyBhIHBhcnRpY2lwYXRvcnkgc3BvcnRzIGluaXRpYXRpdmUgb3JnYW5pemVkIGJ5IFxuICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cubXVrby5pbmZvL1wiPiBNdWtvdmlzemlkb3NlIGUuVi48L2E+LCB0aGUgR2VybWFuIEN5c3RpYyBGaWJyb3NpcyBBc3NvY2lhdGlvbiwgYWltZWQgYXQgcmFpc2luZyBhd2FyZW5lc3MgYW5kIGZ1bmRzIFxuICAgICAgICAgICAgICBmb3IgY3lzdGljIGZpYnJvc2lzIHJlc2VhcmNoIGFuZCBzdXBwb3J0LiBUaGlzIGFubnVhbCBldmVudCBlbmNvdXJhZ2VzIGluZGl2aWR1YWxzIGFuZCB0ZWFtcyB0byBcbiAgICAgICAgICAgICAgZW5nYWdlIGluIHZhcmlvdXMgcGh5c2ljYWwgYWN0aXZpdGllcywgdHJhY2sgdGhlaXIgbW92ZW1lbnQsIGFuZCBzaGFyZSB0aGVpciBleHBlcmllbmNlcyBvbmxpbmUuICA8L3A+XG4gICAgICAgICAgICAgIDxidXR0b24+U3BlbmRlbjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJyLz4gXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8aDM+V2h5IGFuZCBpbiB3aGljaCB3YXlzIHdlcmUgd2UgaW52ZXN0ZWQgaW4gTVVLT21vdmU/IDwvaDM+XG4gICAgICAgICAgPHA+V2UgZGlkIG5vdCBzdG9wIGF0IG91ciBwYXJ0aWNpcGF0aW9uIGl0c2VsZiBcdTIwMTMgd2Ugd2FudGVkIHRvIG1ha2Ugb3RoZXIgcGVvcGxlIGZyb20gb3VyIHVuaXZlcnNpdHkgYW5kIGNpdHkgXG4gICAgICAgICAgICBhd2FyZSBvZiB0aGUgZXZlbnQgYW5kIGNvbGxlY3Qgc3BvcnQgaG91cnMgZm9yIGN5c3RpYyBmaWJyb3NpcyB3aXRoIHRoZW0gYnkgaW52aXRpbmcgdGhlbSB0byBqb2luIG91ciB0ZWFtLiBcbiAgICAgICAgICAgIE91ciBzdXJ2ZXkgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBhbmQgb3VyIGRpc2N1c3Npb25zIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignSW52V2VzdGhvZmYnLCAnL2h1bWFuLXByYWN0aWNlcz90YWI9Jyl9PkthdGhyaW4gV2VzdGhvZmY8L2E+LCB0aGUgaGVhZCBvZiBhIFxuICAgICAgICAgICAgcHJhY3RpY2UgZm9yIHBoeXNpb3RoZXJhcHkgaW4gR1x1MDBGQ3RlcnNsb2ggd2hvIGlzIGFsc28gdHJlYXRpbmcgeW91bmcgQ0YgcGF0aWVudHMsIHNob3dlZCB1cyBob3cgbGl0dGxlIGtub3duIFxuICAgICAgICAgICAgdGhpcyBpbGxuZXNzIHN0aWxsIGlzLiBFc3BlY2lhbGx5IHRoZSBpbnRlcnZpZXcgd2l0aCB0aGUgcGh5c2lvdGhlcmFwaXN0IG1hZGUgdXMgcmVhbGl6ZSBob3cgaW1wb3J0YW50IFxuICAgICAgICAgICAgZXhlcmNpc2UgaXMgZm9yIGV2ZXJ5b25lIGFuZCBob3cgaXQgYnJpbmdzIGEgY29tbXVuaXR5IHRvZ2V0aGVyIFx1MjAxMyB3ZSB3YW50ZWQgdG8gZXN0YWJsaXNoIE1VS09tb3ZlIGluIFxuICAgICAgICAgICAgQmllbGVmZWxkLiBUaGF0IGlzIHdoeSB3ZSByZWFsbHkgZ290IHRoZSBwdWJsaWNpdHkgZ29pbmcgYnkgcHV0dGluZyB1cCBwb3N0ZXJzIGFuZCBkaXN0cmlidXRpbmcgZmx5ZXJzIFxuICAgICAgICAgICAgYXQgdGhlIHVuaXZlcnNpdHkgYW5kIGluIG91ciBjaXR5IGFzIHlvdSBjYW4gc2VlIGluIHRoZSBmb2xsb3dpbmcgcGljdHVyZS4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZ1bGwtc21hbGwgY29sLTRcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIm1heDQwMFwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9wby1tdWtvbW92ZS9pbWctNzgyOC5qcGVnXCI+PC9pbWc+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJyLz4gXG4gICAgICAgICAgPHA+V2UgYWxzbyBjYWxsZWQgZm9yIE1VS09tb3ZlIG9uIG91ciBzb2NpYWxzIGFuZCBzZXQgb3VyIHRlYW0gYSBnb2FsIG9mIGNvbGxlY3RpbmcgMjQwIGhvdXJzIGRvaW5nIHNwb3J0cyB0b2dldGhlciwgXG4gICAgICAgICAgICB3aGlsZSB0aGUgZW50aXJlIE1VS09tb3ZlIGhhZCBhIGdvYWwgb2YgY29sbGVjdGluZyAyNCwwMDAgc3BvcnQgaG91cnMuIEluIGNvb3BlcmF0aW9uIHdpdGggb3VyIHVuaXZlcnNpdHkncyBcbiAgICAgICAgICAgIHNwb3J0cyBmYWNpbGl0aWVzLCB1c2luZyB0aGVpciA8YSBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9laW5yaWNodHVuZ2VuL2hvY2hzY2h1bHNwb3J0L3p1c2F0emFuZ2Vib3RlL2hvdWJpL1wiPlx1MjAxQ0hPVUJJLUFrdGl2bW9iaWxcIjwvYT4gYW5kIG90aGVyIGVxdWlwbWVudCwgd2Ugb3JnYW5pemVkIGEgdGVhbSBldmVudCBhdCB0aGUgc3BvcnRzIFxuICAgICAgICAgICAgZ3JvdW5kIG9mIG91ciB1bml2ZXJzaXR5IGF0IHRoZSBiZWdpbiBvZiBNVUtPbW92ZS4gRXZlcnlvbmUgd2FzIHdhcm1seSBpbnZpdGVkIHRvIG91ciBldmVudCBvbiBNYXkgOHRoLCBhbmQgXG4gICAgICAgICAgICBpdCB3YXMgYSBsb3Qgb2YgZnVuIHRvIHBsYXkgdmFyaW91cyBzcG9ydCBnYW1lcyB0b2dldGhlciBvdXRzaWRlIGluIHRoZSBzdW4gXHUyMDEzIGNoZWNrIG91dCBpbiB0aGUgZm9sbG93aW5nIFxuICAgICAgICAgICAgdmlkZW8hIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vd3d3Lm1hcGNvbS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMTUvMDcvdmlkZW8tcGxhY2Vob2xkZXIuanBnXCI+PC9pbWc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YnIvPlxuICAgICAgICAgIDxoMz5XaGF0IGRpZCB3ZSBhY2hpZXZlPzwvaDM+XG4gICAgICAgICAgPHA+V2UgYXJlIGhhcHB5IHRvIGFubm91bmNlIHRoYXQgYm90aCBtb3ZlbWVudCBnb2FscyB3ZXJlIHN1cnBhc3NlZDogVGVhbSBpR0VNIEJpZWxlZmVsZCB3YXMgYWJsZSB0byBjb2xsZWN0IDM1OCBzcG9ydCBob3VycywgYW5kIGV2ZXJ5b25lIHdobyB0b29rIHBhcnQgaW4gTVVLT21vdmUgdG9nZXRoZXIgY29sbGVjdGVkIDM2LDU0MiBzcG9ydCBob3VycyEgIDwvcD5cbiAgICAgICAgICA8cD5UaGUgTVVLT21vdmUgd2FzIHRoZXJlZm9yZSBhIGNvbXBsZXRlIHN1Y2Nlc3MsIGFuZCB3ZSB0YWtlIHByaWRlIGluIGhhdmluZyBjb250cmlidXRlZCB0byB0aGUgZ29hbCB3aGlsZSByYWlzaW5nIG1vcmUgYXdhcmVuZXNzIGZvciBjeXN0aWMgZmlicm9zaXMgaW4gb3VyIHJlZ2lvbiBhbmQgR2VybWFueSBhcyBhIHdob2xlLjwvcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgPC8+XG4gIDxIMyB0ZXh0PVwiVGhlIHN1cnZleVwiIGlkPVwic3VydmV5XCIvPlxuXG4gIDxIMyB0ZXh0PVwiQ29sbGFicm9hdGlvbnNcIiBpZD1cImNvbGxhYnNcIi8+XG5cbiAgPEgzIHRleHQ9XCJQYXJ0bmVyc2hpcHNcIiBpZD1cInNoaXBzXCIvPlxuICAgIDwvZGl2PlxuICAgIFxuICBcbiAgKTsgIFxufVxuXG5cbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3NhaGFtaWFzYWQvd2lraS5jc3MvYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlTmF2aWdhdGlvbi50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlTmF2aWdhdGlvbi50c1wiO2ltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5hdmlnYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXG4gICAgY29uc3QgZ29Ub1BhZ2VzQW5kT3BlblRhYiA9ICh0YWJJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgbmF2aWdhdGUoYCR7cGF0aH0ke3RhYklkfWApO1xuICAgIH07XG5cbiAgICBjb25zdCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgPSAoY29sbGFwc2VJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgbmF2aWdhdGUoYCR7cGF0aH0ke2NvbGxhcHNlSWR9YCk7XG4gICAgfTtcbiAgICBjb25zdCBnb1RvUGFnZVdpdGhUYWJBbmRDb2xsYXBzaWJsZSA9ICh7IHBhdGgsIHRhYklkLCBjb2xsYXBzZUlkIH06IHsgcGF0aDogc3RyaW5nLCB0YWJJZDogc3RyaW5nLCBjb2xsYXBzZUlkPzogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgICAgICBuYXZpZ2F0ZShgJHtwYXRofT90YWI9JHt0YWJJZH0ke2NvbGxhcHNlSWQgPyBgJmNvbGxhcHNlSWQ9JHtjb2xsYXBzZUlkfWAgOiAnJ31gKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZ29Ub1BhZ2VXaXRoTmVzdGVkVGFicyA9ICh7IHBhdGgsIHRhYklkLCBzdWJUYWJJZCwgY29sbGFwc2VJZCB9OiB7IHBhdGg6IHN0cmluZywgdGFiSWQ6IHN0cmluZywgc3ViVGFiSWQ/OiBzdHJpbmcsIGNvbGxhcHNlSWQ/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgICAgIGxldCB1cmwgPSBgJHtwYXRofT90YWI9JHt0YWJJZH1gO1xuICAgICAgICBpZiAoc3ViVGFiSWQpIHtcbiAgICAgICAgICB1cmwgKz0gYCZzdWJUYWI9JHtzdWJUYWJJZH1gO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgdXJsICs9IGAmY29sbGFwc2VJZD0ke2NvbGxhcHNlSWR9YDtcbiAgICAgICAgfVxuICAgICAgICBuYXZpZ2F0ZSh1cmwpO1xuICAgICAgfTtcbi8qIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZENvbGxhcHNpYmxlKHtcbiAgICBwYXRoOiBcIi9odW1hbi1wcmFjdGljZXNcIixcbiAgICB0YWJJZDogXCJJbnZXZXN0aG9mZlwiLFxuICAgIGNvbGxhcHNlSWQ6IFwiY29sbGFwc2UtMVwiICAvLyBJRCBvZiB0aGUgY29sbGFwc2libGUgdG8gb3BlblxufSl9PlxuICAgIEdvIHRvIEh1bWFuIFByYWN0aWNlcyBhbmQgT3BlbiBDb2xsYXBzaWJsZSAxXG48L2E+ICovXG4gICAgcmV0dXJuIHsgZ29Ub1BhZ2VzQW5kT3BlblRhYiwgZ29Ub1RleHRzQW5kT3BlbkNvbGxhcHNpYmxlLCBnb1RvUGFnZVdpdGhUYWJBbmRDb2xsYXBzaWJsZSwgZ29Ub1BhZ2VXaXRoTmVzdGVkVGFicyB9O1xufTsiLCAiaW1wb3J0IHtTY3JvbGxMaW5rV2l0aENoaWxkIH0gZnJvbSBcIi4uL1Njcm9sbExpbmtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZURhdGVucHVua3Qge1xuICB0aXRsZT86IHN0cmluZzsgLyogUHJvZi4gLCBEci4sIC4uLiAqL1xuICB2b3JuYW1lOiBzdHJpbmc7IFxuICBuYWNobm5hbWU6IHN0cmluZzsgXG4gIHBpY3R1cmV1cmw6IHN0cmluZzsgXG4gIHRhZzogU3Rha2Vob2xkZXJUYWc7IFxuICBoZWFkaW5nOiBzdHJpbmc7IFxuICBpbnRlcnZpZXd0YWJpZDogc3RyaW5nOyBcbiAgdHlwZT86IFR5cGVUYWc7IC8qIG51ciBmYWxscyBlcyBlaW4gbWV0YSB0YWcgaXN0ICAqL1xuICBhZmZpbGlhdGlvbj86IHN0cmluZzsgXG4gIGpvYj86IHN0cmluZzsgXG4gIGNhcmR0ZXh0OiBzdHJpbmc7IFxuICBsYW5ndWFnZT86IExhbmd1YWdlOyBcbiAgcXVvdGU6IHN0cmluZzsgXG4gIHF1b3RlVm9ybmFtZT86IHN0cmluZzsgLyogV2VubiBkaWUgcXVvdGUgbmljaHQgdm9uIGRlciBQZXJzb24gaXN0IFx1MDBGQ2JlciBkaWUgZGVyIFRleHQgaXN0ICAqL1xuICBxdW90ZU5hY2huYW1lPzogc3RyaW5nOyBcbiAgYWltb2Zjb250YWN0OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIGluc2lnaHRzOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIGNsYXJpZmljYXRpb24/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIGltcGxlbWVudGF0aW9uOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIHBpY3R1cmV1cmxfaW50ZXJ2aWV3Pzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW5zaWdodHNcIiAgKi9cbiAgcGljdHVyZXVybF9haW0/OiBzdHJpbmc7ICAvKiBQaWN0dXJlIHRoYXQgZ29lcyBpbnRvIHRoZSBwYXJhZ3JhcGggXCJBaW0gb2YgY29udGFjdFwiICAqL1xuICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uPzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW1wbGVtZW50YXRpb25cIiAgKi9cbiAgbW9yZV9waWN0dXJlcz86IEFycmF5PHN0cmluZz4gO1xuICByZWZlcmVuY2VzPzogQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgIC8qIE11c3MgSFRNTCBDb2RlIHNlaW4gLSBMaWxpYW5hIGVyc3RlbGx0IGRlbiBhdXMgQmliIGRhdGVpZW4gKi9cbiAgaW50ZXJ2aWV3PzogUmVhY3QuUmVhY3ROb2RlOyBcbn1cbnR5cGUgU3Rha2Vob2xkZXJUYWcgPSAnSW5kdXN0cnknIHwgJ0FjYWRlbWlhJyB8ICdQYXRpZW50JyB8ICdNZWRpY2FsIFByb2Zlc3Npb25hbCcgfCAnTWlsZXN0b25lJyB8ICdPdGhlcic7IFxudHlwZSBUeXBlVGFnID0gJ21ldGEnIDsgXG50eXBlIExhbmd1YWdlID0gJ2VuJyB8ICdkZSc7IFxuXG5jb25zdCBwaWNzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBwbGFjZWhvbGRlcjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLFxuICBtYXg6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLW1heC1wb3J0cmFpdC5qcGdcIixcbiAga3Jpc3RpYW46IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2tyaXN0aWFuLmpwZWdcIixcbiAgb2xhcml1OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9vbGFyaXUtY3Jpc3RpYW4uanBnXCIsXG4gIHdlc3Rob2ZmOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1rYXRyaW4tcG9ydHJhaXQuanBnXCIsXG4gIG1hdHRpanM6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL21hdHRpanMuanBnXCIsXG4gIGp1bGlhOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9qdWxpYS5qcGdcIixcbiAga29sb25rbzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAva29sb25rby1uZXUuanBnXCIsXG4gIHN2ZW5qYTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLFxuICBiZXJlbnM6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2JlcmVucy5qcGdcIixcbiAgZHJhZWdlcjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvb2xpdmVyLWRyYWVnZXItcGF0Y2gtY2xhbXAuanBlZ1wiLFxuICB3aW5rZWxqYW5uOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ybmhhbGUtd2lua2VsamFubi5qcGdcIixcbiAga3VlaG5lbDogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtcGhpbGlwcGstaG5lbC5qcGVnIFwiLFxufTtcblxuLyoge1xuICAgIHZvcm5hbWU6IFwiXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiXCIsXG4gICAgaGVhZGluZzogXCJcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0gKi9cblxuXG4gICAgLyogV0lDSFRJRyFcbiAgICAgIEZlaGxlbmRlIEluZm9zIGVpbmZhY2ggbGVlciBsYXNzZW4gdW5kIGtlaW5lIER1bW15LVRleHRlIGVpbmZcdTAwRkNnZW4hIFxuICAgICovXG5cbmV4cG9ydCBjb25zdCB0aW1lbGluZWRhdGE6IEFycmF5PFRpbWVsaW5lRGF0ZW5wdW5rdD4gPSBbXG4gIHtcbiAgICB2b3JuYW1lOiBcIkJ1aWxkaW5nIHRoZSB0ZWFtXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiT3RoZXJcIixcbiAgICBoZWFkaW5nOiBcIkRldmVsb3BtZW50IG9mIGEgbXVsdGlkaXNjaXBsaW5hcnkgdGVhbSBzdHJ1Y3R1cmVcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJyZWNydWl0aW5nXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIHR5cGU6IFwibWV0YVwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlBpdGNoaW5nIGlkZWFzXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiT3RoZXJcIixcbiAgICBoZWFkaW5nOiBcIkdldHRpbmcgQWNxdWFpbnRlZCB3aXRoIEN5c3RpYyBGaWJyb3Npc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImZpcnN0cHJlc2lcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiSWRlYXRpb25cIixcbiAgICBuYWNobm5hbWU6IFwiXCIsICBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJPdGhlclwiLFxuICAgIGhlYWRpbmc6IFwiQnJhaW5zdG9ybWluZyBhbmQgc2VsZWN0aW9uIG9mIGlkZWFzIGFuZCBjb25jZXB0c1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImlkZWFzXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIHR5cGU6IFwibWV0YVwiXG4gIH0sXG4gIHsgXG4gICAgdGl0bGU6IFwiUHJvZi4gRHIuXCIsXG4gICAgdm9ybmFtZTogXCJLcmlzdGlhblwiLFxuICAgIG5hY2hubmFtZTogXCJNXHUwMEZDbGxlclwiLCAgXG4gICAgam9iOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIGFuZCBNb2xlY3VsYXIgQmlvdGVjaG5vbG9neVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2tyaXN0aWFuJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJrcmlzdGlhblwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuICB7IFxuICAgIHZvcm5hbWU6IFwiTWF4XCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlY2ttYW5uXCIsICBcbiAgICBqb2I6IFwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtYXgnXSxcbiAgICB0YWc6IFwiUGF0aWVudFwiLFxuICAgIGhlYWRpbmc6IFwiR2F0aGVyaW5nIHZhbHVhYmxlIGluc2lnaHRzIGZyb20gdGhlIHBhdGllbnRcdTIwMTlzIHBlcnNwZWN0aXZlXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWF4Zmlyc3RcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIlxuICB9LFxuICB7IFxuICAgIHRpdGxlOiBcIlhYWFwiLFxuICAgIHZvcm5hbWU6IFwiQ2hyaXN0b3BoXCIsXG4gICAgbmFjaG5uYW1lOiBcIldlYmVyXCIsICBcbiAgICBqb2I6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkZlZWRiYWNrIFNlc3Npb24gd2l0aCBFeHBlcnRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJ3ZWJlclwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJFeHBsb3JpbmcgbmV3IGlkZWFzXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiT3RoZXJcIixcbiAgICBhZmZpbGlhdGlvbjogXCJcIixcbiAgICBoZWFkaW5nOiBcIkZ1cnRoZXIgYnJhaW5zdG9ybWluZyBvbiBhcHByb2FjaGVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiYnJhaW5zdG9ybWluZ1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIlxuICB9LFxuICB7IFxuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiTWljaGFlbGFcIixcbiAgICBuYWNobm5hbWU6IFwiQmllbmVydFwiLCAgXG4gICAgam9iOiBcIiBTY2llbnRpZmljIFNhbGVzIFJlcHJlc2VudGF0aXZlIGZvciBDZWxsIEN1bHR1cmUgUHJvZHVjdHNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJTdGVtY2VsbFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgdGFnOiBcIkluZHVzdHJ5XCIsXG4gICAgaGVhZGluZzogXCJEZXRlcm1pbmluZyB0aGUgb3B0aW1hbCBjZWxsIG1lZGlhIGZvciBleHBlcmltZW50YXRpb25cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtaWNoYWVsYVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJMb29raW5nIGZvciBleHBlcnRpc2VcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsICBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJPdGhlclwiLFxuICAgIGhlYWRpbmc6IFwiSWRlbnRpZnlpbmcga2V5IGV4cGVydHMgaW4gY3lzdGljIGZpYnJvc2lzIGFuZCBwcmltZSBlZGl0aW5nXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZXhwZXJ0c1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJEb2N1bWVudGluZyBwcm9ncmVzc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIiwgIFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgdGFnOiBcIk90aGVyXCIsXG4gICAgaGVhZGluZzogXCJUcmFja2luZyBwcm9ncmVzcyBpbiBleHBlcnQgc2VhcmNoIGFuZCBpZGVhIGRldmVsb3BtZW50XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicHJvZ3Jlc3NcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCJcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIkthdHJpblwiLFxuICAgIG5hY2hubmFtZTogXCJXZXN0aG9mZlwiLCAgXG4gICAgam9iOiBcIlBoeXNpb3RoZXJhcGlzdFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkluZGVwZW5kZW50XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2VzdGhvZmYnXSxcbiAgICB0YWc6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIixcbiAgICBoZWFkaW5nOiBcIkludGVydmlldyB3aXRoIGEgc3BlY2lhbGl6ZWQgcGh5c2lvdGhlcmFwaXN0IHJlZ2FyZGluZyBicmVhdGhpbmcgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwid2VzdGhvZmZpbnZcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlRoZSBtb3JlIHdlIGtub3csIHRoZSBtb3JlIG9wcG9ydHVuaXRpZXMgd2UgaGF2ZS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVGhlIG9iamVjdGl2ZSBvZiB0aGUgY29udGFjdCB3YXMgdG8gZ2FpbiBpbi1kZXB0aCBpbnNpZ2h0cyBpbnRvIHRoZSB0cmVhdG1lbnQgYW5kIGNhcmUgb2YgY2hpbGRyZW4gd2l0aCBjeXN0aWMgZmlicm9zaXMuIFRoZSB0aGVyYXBpc3QncyBleHBlcnRpc2Ugd2FzIGludGVuZGVkIHRvIGhlbHAgZGV2ZWxvcCBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjaGFsbGVuZ2VzIGFuZCBuZWNlc3NhcnkgbWVhc3VyZXMgaW4gdGhlIHRyZWF0bWVudCBvZiB0aGlzIGNocm9uaWMgZGlzZWFzZS4gSW4gYWRkaXRpb24sIHRoZSBhaW0gd2FzIHRvIGFzY2VydGFpbiBob3cgdGhlIHRoZXJhcHkgaXMgaW1wbGVtZW50ZWQgaW4gZXZlcnlkYXkgbGlmZSBhbmQgd2hpY2ggc3BlY2lmaWMgYXBwcm9hY2hlcyBhbmQgbWV0aG9kcyBhcmUgcGFydGljdWxhcmx5IGVmZmVjdGl2ZS5cIixcbiAgICBpbnNpZ2h0czogXCJUaGUgaW50ZXJ2aWV3IHlpZWxkZWQgdmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgcmVndWxhciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdGhlcmFweSwgdGhlIHVzZSBvZiBhaWRzIGFuZCB0aGUgYWRhcHRhdGlvbiBvZiBleGVyY2lzZXMgdG8gdGhlIGluZGl2aWR1YWwgbmVlZHMgb2YgdGhlIHBhdGllbnRzLiBJdCB3YXMgbm90YWJsZSB0aGF0IHRoZSB0aGVyYXB5IGhhcyBpbXByb3ZlZCBjb25zaWRlcmFibHkgdGhhbmtzIHRvIGJldHRlciBtZWRpY2F0aW9uIGFuZCBhZGFwdGVkIGV4ZXJjaXNlcywgd2l0aCBhIGNvbmNvbWl0YW50IGluY3JlYXNlIGluIGxpZmUgZXhwZWN0YW5jeSBmb3IgY2hpbGRyZW4gYWZmZWN0ZWQgYnkgY3lzdGljIGZpYnJvc2lzLiBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IHdhcyB0aGUgZW1waGFzaXMgb24gdGhlIGltcG9ydGFuY2Ugb2Ygc3BvcnQgYW5kIGV4ZXJjaXNlLCB3aGljaCBzaG91bGQgbm90IG9ubHkgYmUgdGhlcmFwZXV0aWNhbGx5IGVmZmVjdGl2ZSwgYnV0IGFsc28gaW5jcmVhc2UgcXVhbGl0eSBvZiBsaWZlLiBcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBieSBLYXRyaW4gV2VzdGhvZmYgaGFkIGEgcGFydGljdWxhcmx5IHByb2ZvdW5kIGltcGFjdCBvbiBvdXIgcHJvamVjdDogJ1RoZSBtb3JlIHdlIGtub3csIHRoZSBtb3JlIG9wcG9ydHVuaXRpZXMgd2UgaGF2ZS4nIFdlIGxlYXJuZWQgZnJvbSB0aGUgaW50ZXJ2aWV3IHRoYXQgdGhlIGN1cnJlbnQgbWVkaWNhdGlvbiBpcyBhbHJlYWR5IGhlbHBpbmcgbWFueSBwYXRpZW50cyB0byBhIGh1Z2UgZXh0ZW50LCBidXQgdGhhdCB0aGVyZSBpcyBzdGlsbCBhIHNpZ25pZmljYW50IG9wcG9ydHVuaXR5IGZvciBpbXByb3ZlbWVudC4gQWZ0ZXIgYWxsLCBzdWNjZXNzZnVsIGdlbmUgdGhlcmFweSB3b3VsZCBtYXJrZWRseSBlbmhhbmNlIHRoZSBxdWFsaXR5IG9mIGxpZmUgZm9yIHRob3NlIGFmZmVjdGVkLiBUaGUgZmluZGluZ3Mgb2YgdGhpcyBwcm9qZWN0IHdpbGwgYmUgZGlzc2VtaW5hdGVkIHRvIHRoZSByZWxldmFudCByZXNlYXJjaGVycyBpbiBvcmRlciB0byBmYWNpbGl0YXRlIHRoZSByYXBpZCBpbXByb3ZlbWVudCBvZiB0aGUgcXVhbGl0eSBvZiBsaWZlIG9mIGFsbCBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMsIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgbXV0YXRpb24uIFwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rYXRyaW4td2VzdGhvZmYtem9vbS53ZWJwXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJDcmlzdGlhbi1HYWJyaWVsXCIsXG4gICAgbmFjaG5uYW1lOiBcIk9sYXJpdVwiLCAgXG4gICAgam9iOiBcInBlZGlhdHJpY2lhblwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIk9XTCBVbml2ZXJzaXR5IEhvc3BpdGFsXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snb2xhcml1J10sXG4gICAgdGFnOiBcIk1lZGljYWwgUHJvZmVzc2lvbmFsXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzaW9uIHdpdGggYSBwZWRpYXRyaWNpYW4gYW5kIGhpcyBmb3JtZXIgcGF0aWVudCBhYm91dCB0cmVhdG1lbnQgY2hhbGxlbmdlcyBhbmQgcGVyc3BlY3RpdmVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwib2xhcml1XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJNYXR0aWpzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJ1bGNhZW5cIiwgIFxuICAgIGpvYjogXCJQaEQgUmVzZWFyY2hlciBhdCBMYWJvcmF0b3J5IGZvciBNb2xlY3VsYXIgVmlyb2xvZ3kgJiBHZW5lIFRoZXJhcHlcIixcbiAgICBhZmZpbGlhdGlvbjogXCJLVSBMZXV2ZW5cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtYXR0aWpzJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzaW9uIHdpdGggYSBQcmltZSBFZGl0aW5nIEV4cGVydCBvbiBTaW1pbGFyIEFwcHJvYWNoZXMgZm9yIERpZmZlcmVudCBNdXRhdGlvbnNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtYXR0aWpzaW52XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJOaWNvbGVcIixcbiAgICBuYWNobm5hbWU6IFwiRnJpZWRsZWluXCIsICBcbiAgICBqb2I6IFwiUmVzZWFyY2ggZ3JvdXAgb24gZnVuZGFtZW50YWwgcmlnaHRzXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0XHUwMEU0dCBQb3RzZGFtXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gb24gaG93IGhlYWx0aCBpbnN1cmFuY2UgY29tcGFuaWVzIG1hbmFnZSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgYW5kIGdlbmUgdGhlcmFweSB0cmVhdG1lbnRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibmljb2xlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJLYXRyaW5cIixcbiAgICBuYWNobm5hbWU6IFwiV2VzdGhvZmZcIiwgIFxuICAgIGpvYjogXCJwaHlzaW90aGVyYXBpc3RcIixcbiAgICBhZmZpbGlhdGlvbjogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd3ZXN0aG9mZiddLFxuICAgIHRhZzogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwiLFxuICAgIGhlYWRpbmc6IFwiSW4tRGVwdGggVmlzaXQgdG8gU3BlY2lhbGl6ZWQgUGh5c2lvdGhlcmFwaXN0IGZvciBDRiBCcmVhdGhpbmcgVGhlcmFweVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIndlc3Rob2ZmdmlzaXRcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIkp1a2lhXCIsXG4gICAgbmFjaG5uYW1lOiBcIlhYWFwiLCAgXG4gICAgam9iOiBcInBhcmVudFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2p1bGlhJ10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIkludGVydmlldyB3aXRoIGEgQ0YgUGFyZW50IEFib3V0IFRoZWlyIEV4cGVyaWVuY2UgYW5kIFRyZWF0bWVudCBOZWVkc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImp1bGlhXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJKb3NodWFcIixcbiAgICBuYWNobm5hbWU6IFwiQmF1ZGVyXCIsICBcbiAgICBqb2I6IFwicGFyZW50IGFuZCBhY3RpdmlzdFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkNGIHZlc3RzIHdvcmxkd2lkZVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIkludGVydmlldyB3aXRoIGEgQ0YgUGFyZW50IGFuZCBHbG9iYWwgQWR2b2NhdGUgb24gV29ybGR3aWRlIFN1cHBvcnQgYW5kIFBlcnNwZWN0aXZlc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImpvc2h1YVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcIlwiXG4gIH0sXG4gIHsgXG4gICAgdGl0bGU6IFwiUHJvZi4gRHIuXCIsXG4gICAgdm9ybmFtZTogXCJFcmhhcmRcIixcbiAgICBuYWNobm5hbWU6IFwiV2lzY2htZXllclwiLCAgXG4gICAgam9iOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdFx1MDBFNHQgQmllbGVmZWxkXCIsICBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiBvbiBUZWNobmlxdWVzIGZvciBNZWFzdXJpbmcgQ0ZUUiBDaGFubmVsIEZ1bmN0aW9uYWxpdHlcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwYXRjaGNsYW1wXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkd1Y2tlc1wiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJJc2FiZWxsXCIsXG4gICAgcXVvdGU6IFwiV2UgaGFkblx1MjAxOXQgaW5pdGlhbGx5IGNvbnNpZGVyZWQgcGF0Y2gtY2xhbXAgbWVhc3VyZW1lbnRzIGluIG91ciBzZXQgb2YgZG93bnN0cmVhbSBhcHBsaWNhdGlvbnMsIGJ1dCBpdFx1MjAxOXMgcHJvdmVuIHRvIGJlIGFuIGV4Y2VwdGlvbmFsbHkgc2Vuc2l0aXZlIG1ldGhvZCBmb3IgYXNzZXNzaW5nIENGVFIgY29uZHVjdGFuY2UuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+QXMgcGFydCBvZiBvdXIgcHJvamVjdCwgd2UgYWltZWQgdG8gZGVtb25zdHJhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIENGVFIgaW9uIGNoYW5uZWwsIGFmdGVyIHJlc3RvcmluZ1xuICAgICAgaXQgdGhyb3VnaCBvdXIgb3B0aW1pemVkIFByaW1lIEVkaXRpbmcsIGJ5IHVzaW5nIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cy4gVG8gZW5zdXJlIHRoZSBvcHRpbWFsIHVzZSBvZiB0aGVcbiAgICAgICBQYXRjaC1DbGFtcCBhbmQgdG8gZ2FpbiBhbiBpbnNpZ2h0IGludG8gZWxlY3Ryb3BoeXNpb2xvZ3ksIHdlIGFza2VkIGV4cGVydHMgZnJvbSB0aGUgbWVkaWNhbCBmYWN1bHR5IGF0XG4gICAgICAgIEJpZWxlZmVsZCBVbml2ZXJzaXR5IHRvIGNyaXRpY2FsbHkgZXhhbWluZSBvdXIgbWVhc3VyZW1lbnQgcGxhbm5pbmcuIFByb2YuIERyLiBFcmhhcmQgV2lzY2htZXllciwgYW5cbiAgICAgICAgIGV4cGVyaWVuY2VkIHNjaWVudGlzdCBpbiB0aGlzIGZpZWxkIHdobyBoYXMgd29ya2VkIGF0IHRoZSBNYXggUGxhbmNrIEluc3RpdHV0ZSBmb3IgQmlvcGh5c2ljYWwgQ2hlbWlzdHJ5XG4gICAgICAgICAgaW4gR1x1MDBGNnR0aW5nZW4sIHRoZSBkZXZlbG9wbWVudCBzaXRlIG9mIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWU8U2Nyb2xsTGlua1dpdGhDaGlsZCB0YXJnZXRJZD1cImRlc2MtMVwiPjxzdXA+MTwvc3VwPjwvU2Nyb2xsTGlua1dpdGhDaGlsZD4sIGFuZCBjdXJyZW50bHkgbGVhZHMgdGhlIENlbGx1bGFyIFxuICAgICAgICAgIE5ldXJvcGh5c2lvbG9neSB3b3JraW5nIGdyb3VwIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCBzZWVtZWQgdG8gYmUgYW4gaWRlYWwgaW50ZXJ2aWV3ZWUuIEhpcyBcbiAgICAgICAgICBrbm93bGVkZ2UgYW5kIGV4cGVyaWVuY2UgcHJvbWlzZWQgdmFsdWFibGUgaW5zaWdodHMgYW5kIGFkdmljZSBmb3IgY29uZHVjdGluZyBhbmQgb3B0aW1pemluZyBvdXIgXG4gICAgICAgICAgZXhwZXJpbWVudHMuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbIDw+PHA+UHJvZi4gRHIuIFdpc2NobWV5ZXIgdGF1Z2h0IHVzIGFib3V0IHRoZSB3b3JrZmxvdyBvZiB0aGUgUGF0Y2gtQ2xhbXAgdGVjaG5pcXVlLiBIZSBoaWdobGlnaHRlZCB0aGUgbmVlZCBcbiAgICAgIGZvciBzcGVjaWFsaXplZCBlbGVjdHJvZGVzIGFuZCBnbGFzcyBwaXBldHRlcyB0aGF0IG11c3QgZm9ybSBhIHNtb290aCBzdXJmYWNlIGRldm9pZCBvZiB0aGUgZXh0cmFjZWxsdWxhciBcbiAgICAgIG1hdHJpeCAoRUNNKS4gQWRkaXRpb25hbGx5LCBoZSBwb2ludGVkIG91dCB0aGF0IG1lYXN1cmluZyBDRlRSIGNvbmR1Y3Rpdml0eSB3aXRoIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWUgXG4gICAgICBwb3NlcyBhIHRlY2huaWNhbCBjaGFsbGVuZ2UgZHVlIHRvIHRoZSBsb3cgY3VycmVudHMgaW52b2x2ZWQ8U2Nyb2xsTGlua1dpdGhDaGlsZCB0YXJnZXRJZD1cImRlc2MtMlwiPjxzdXA+Mjwvc3VwPjwvU2Nyb2xsTGlua1dpdGhDaGlsZD4uIEhlIHJlY29tbWVuZGVkIHVzaW5nIGV4cHJlc3Npb24gdmVjdG9ycyBcbiAgICAgIGZvciBvdmVyZXhwcmVzc2luZyB0aGUgQ0ZUUiBnZW5lIGluIEhFSyBjZWxscyBpbnN0ZWFkIG9mIGVwaXRoZWxpYWwgY2VsbHMgZnJvbSBhIG5hc2FsIHN3YWIgdG8gYWNoaWV2ZSBcbiAgICAgIGJldHRlciByZXN1bHRzLiBTaW5jZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHMgcmVxdWlyZSBhIHZlcnkgc2Vuc2l0aXZlIHRlc3RpbmcgZW52aXJvbm1lbnQsIGV2ZW4gXG4gICAgICBjaGFsbGVuZ2luZyBmb3IgdGhlIG1vc3QgZXhwZXJpZW5jZWQgc2NpZW50aXN0cywgUHJvZi4gRHIuIFdpc2NobWV5ZXIgaW52aXRlZCB1cyB0byBjb25kdWN0IHRoZSBcbiAgICAgIG1lYXN1cmVtZW50cyB0b2dldGhlciB3aXRoIG1lbWJlcnMgb2YgaGlzIGdyb3VwLiBcbiAgICA8L3A+XG4gICAgPHA+SW4gYWRkaXRpb24gdG8gdGhlIFBhdGNoLUNsYW1wIHRlY2huaXF1ZSwgUHJvZi4gRHIuIFdpc2NobWV5ZXIgaW5mb3JtZWQgdXMgYWJvdXQgRS1jaXMgbWVhc3VyZW1lbnRzIGFzIGEgXG4gICAgICBjdXJyZW50IGVsZWN0cm9waHlzaW9sb2dpY2FsIG1lYXN1cmVtZW50IG1ldGhvZCBhbG9uZ3NpZGUgdGhlIFBhdGNoLUNsYW1wIHRlY2huaXF1ZS4gVGhpcyBtZXRob2QgYWxsb3dzIFxuICAgICAgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBtZW1icmFuZSBwb3RlbnRpYWwgYWJvdmUgYW5kIGJlbG93IGEgbW9ub2xheWVyIG9mIGNvbmZsdWVudCBjZWxsczxTY3JvbGxMaW5rV2l0aENoaWxkIHRhcmdldElkPVwiZGVzYy0zXCI+PHN1cD4zPC9zdXA+PC9TY3JvbGxMaW5rV2l0aENoaWxkPi4gQ29uc2VxdWVudGx5LCBcbiAgICAgIGl0IGVuYWJsZXMgcHJlY2lzZSBtZWFzdXJlbWVudCBvZiBjb25kdWN0aXZpdHkgZGVwZW5kZW50IG9uIENGVFIgZXhwcmVzc2lvbi4gPC9wPlxuICAgICAgICA8Lz5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPD4gPHA+V2UgZGVjaWRlZCB0byB1c2UgSEVLMjkzVCBjZWxscyBsaW5lcyBmcm9tIE1hdHRpanMgQnVsY2FlbiBmcm9tIEtVIExldXZlbiBbTGlua10gd2hpY2ggZG8gb3ZlcmV4cHJlc3MgdGhlIFxuICAgIGNvcnJlY3QgQ0ZUUiBhbmQgdGhvc2Ugd2hpY2ggZXhwcmVzcyBDRlRSIHdpdGggRjUwOGRlbCBmb3IgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cy4gVG8gY29uZHVjdCB0aGUgXG4gICAgUGF0Y2gtQ2xhbXAgZXhwZXJpbWVudHMsIHdlIGNvbnRhY3RlZCB0aGUgQ2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5IGdyb3VwIHRvIHBlcmZvcm0gdGhlIG5lY2Vzc2FyeSBcbiAgICBtZWFzdXJlbWVudHMuIEl0IHdhcyBhIHBsZWFzdXJlIHRvIHdvcmsgdG9nZXRoZXIgd2l0aCBEci4gT2xpdmVyIERyXHUwMEU0Z2VyW0xpbmtdLCB3aG8gaXMgd29ya2luZyBhcyBhIHBvc3QtZG9jIGZvciBcbiAgICB0aGUgQ2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5IHdvcmtpbmcgZ3JvdXAgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkuIEhlIHRhdWdodCB1cyBhYm91dCB0aGUgUGF0Y2gtQ2xhbXAgXG4gICAgbWV0aG9kIGFuZCBzcGVudCBoaXMgdmFsdWFibGUgdGltZSBzdXBwb3J0aW5nIG91ciBwcm9qZWN0IGJ5IGd1aWRpbmcgb3VyIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cy4gPC9wPlxuICAgICAgPHA+SW4gc3VtbWFyeSwgdGhyb3VnaCB0aGUgaW50ZXJ2aWV3IHdpdGggUHJvZi4gRHIuIFdpc2NobWV5ZXIgYW5kIHRoZSBjb2xsYWJvcmF0aW9uIHdpdGggaGlzIGVtcGxveWVlIFxuICAgICAgT2xpdmVyIERyXHUwMEU0Z2VyLCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgYW5kIG9wdGltaXplZCBvdXIgYXBwcm9hY2ggdG8gZWZmZWN0aXZlbHkgaW52ZXN0aWdhdGUgYW5kIFxuICAgICAgbWVhc3VyZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgQ0ZUUiBpb24gY2hhbm5lbCwgdGhlcmVieSBkZXRlcm1pbmluZyB0aGUgZWZmaWNpZW5jeSBvZiBvdXIgUHJpbWUgXG4gICAgICBFZGl0aW5nIHN0cmF0ZWd5LiA8L3A+PC8+XSxcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9ocC1wYXRjaC1jbGFtcC9iaWxkLWludGVyc3NpZXJ0ZS13aXNzZW5zY2hhZnRsZXItb2hvLmpwZWdcIixcbiAgICBwaWN0dXJldXJsX2FpbTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvaHAtcGF0Y2gtY2xhbXAvMjAyNDA2MjUtMTg0MDMyLmpwZ1wiLFxuICAgIHJlZmVyZW5jZXM6IFtcbiAgICAgIDxvbD5cbiAgICAgICAgICAgICAgICAgIHsvKjwhLS0gQ2l0YXRpb24gbnVtIDEtLT4gKi99XG4gICAgICA8bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiYmllbGVmZWxkLWNlYml0ZWMvaHVtYW4tcHJhY3RpY2VzI2Rlc2MtMVwiPlxuICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cbiAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSb3RoLCBGLjwvc3Bhbj47XG4gICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRHJhZ3VobiwgQS48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtEaWUgRW50d2lja2x1bmcgZGVyIFBhdGNoLUNsYW1wLVRlY2huaWsuIDwvc3Bhbj5cbiAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IFNwcmluZ2VyIGVCb29rczwvaT5cbiAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiA8L2I+LCZuYnNwO1xuICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxPC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+MTQ8L3NwYW4+XG4gICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjNcIj4yMDIzPC90aW1lPikuXG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDA3Lzk3OC0zLTY2Mi02NjA1My05XzFcIj4gZG9pOiAxMC4xMDA3Lzk3OC0zLTY2Mi02NjA1My05XzE8L2E+XG4gICAgICA8L2xpPlxuICAgICAgXG4gICAgICB7Lyo8IS0tIENpdGF0aW9uIG51bSAyLS0+ICovfVxuICAgICAgPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMlwiPlxuICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cbiAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNZXRlLCBWLjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0VudHdpY2tsdW5nIHVuZCBWYWxpZGllcnVuZyBuZXVlciBuaWNodC1pbnZhc2l2ZXIgRGlhZ25vc2VzeXN0ZW1lIGZcdTAwRkNyIE11Y29jaWxpYXJ5IENsZWFyYW5jZSBEaXNvcmRlcnMgKE1DQ0QpLiA8L3NwYW4+XG4gICAgICAgICAgPGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBEaXNzZXJ0YXRpb24sIFdlc3RmXHUwMEU0bGlzY2hlIFdpbGhlbG1zLVVuaXZlcnNpdFx1MDBFNHQgTVx1MDBGQ25zdGVyPC9pPlxuICAgICAgICAgIDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+ICA8L2I+LCZuYnNwO1xuICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiA8L3NwYW4+XG4gICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjNcIj4yMDIzPC90aW1lPikuXG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xNzg3OS85ODk1ODQ0MTkwNVwiPiBkb2k6IDEwLjE3ODc5Lzk4OTU4NDQxOTA1PC9hPlxuICAgICAgPC9saT5cbiAgICAgIFxuICAgICAgey8qPCEtLSBDaXRhdGlvbiBudW0gMy0tPiAqL31cbiAgICAgIDxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTNcIj5cbiAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG4gICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gR2lhZXZlciwgSS48L3NwYW4+O1xuICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEtlZXNlLCBDLjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0EgbW9ycGhvbG9naWNhbCBiaW9zZW5zb3IgZm9yIG1hbW1hbGlhbiBjZWxscy4gPC9zcGFuPlxuICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlPC9pPlxuICAgICAgICAgIDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDM2NjwvYj4sJm5ic3A7XG4gICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDU5MTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjU5Mjwvc3Bhbj5cbiAgICAgICAgICAoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMTk5M1wiPjE5OTM8L3RpbWU+KS5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMzgvMzY2NTkxYTBcIj4gZG9pOiAxMC4xMDM4LzM2NjU5MWEwPC9hPlxuICAgICAgPC9saT5cbiAgICAgIDwvb2w+XG4gICAgXSxcbiAgfSxcbiAgeyBcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIlN0ZWZhblwiLFxuICAgIG5hY2hubmFtZTogXCJIYW1tZXJcIiwgIFxuICAgIGpvYjogXCJKdW5pb3IgUHJvZmVzc29yIG9mIE9yZ2FuaWMgQ2hlbWlzdHJ5IGFuZCBCaW9jYXRhbHlzaXNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXRcdTAwRTR0IEJpZWxlZmVsZFwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIlNhZmV0eSBCcmllZmluZyBhbmQgTGFib3JhdG9yeSBQcmFjdGljZXMgQWR2aWNlXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFtbWVyXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgdm9ybmFtZTogXCJLYXRoYXJpbmFcIixcbiAgICBuYWNobm5hbWU6IFwiS29sb25rb1wiLCAgXG4gICAgam9iOiBcIlwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1sna29sb25rbyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRmlyc3Qgc3RlcHMgaW4gTE5Qc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImtvbG9ua29maXJzdFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuICB7IFxuICAgIHZvcm5hbWU6IFwiU3ZlbmphXCIsXG4gICAgbmFjaG5uYW1lOiBcIlZpbmtlXCIsICBcbiAgICBqb2I6IFwiUG9zdERvYyBhdCBIYXJ2YXJkIE1lZGljYWwgU2Nob29sXCIsXG4gICAgYWZmaWxpYXRpb246IFwiSGFydmFyZCBNZWRpY2FsIFNjaG9vbFwiLCAgXG4gICAgcGljdHVyZXVybDogcGljc1snc3ZlbmphJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJzdmVuamFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIk1heFwiLFxuICAgIG5hY2hubmFtZTogXCJCZWNrbWFublwiLCAgXG4gICAgam9iOiBcIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF4J10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIkNvbnN1bHRhdGlvbiBvbiBVbml2ZXJzaXR5IEh5Z2llbmUgUmlza3MgYW5kIEltcHJvdmVtZW50IGZvciBIeWdpZW5lIENvbmNlcHRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtYXhoeWdpZW5lXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gIH0sXG4gIHsgXG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgdm9ybmFtZTogXCJFdmEtTWFyaWFcIixcbiAgICBuYWNobm5hbWU6IFwiQmVyZW5zXCIsICBcbiAgICBqb2I6IFwiRXRoaWNzIENvbW1pdHRlZSBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsIFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2JlcmVucyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiQmlvZXRoaWNzOiBCZXN0IFByYWN0aWNlcyBmb3IgSGFuZGxpbmcgUGF0aWVudCBEYXRhIGFuZCBQcmltYXJ5IENlbGxzXCIsIC8qIEd1aWRhbmNlIGZyb20gRXRoaWNzIENvbW1pdHRlZSBvbiBCZXN0IFByYWN0aWNlcyBmb3IgUGF0aWVudCBEYXRhIGFuZCBQcmltYXJ5IENlbGxzICovXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiYmVyZW5zXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVGhlIGFpbSBvZiB0aGUgaW50ZXJ2aWV3IHdhcyB0byBnZXQgYW4gYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiBvZiB3aGV0aGVyIHdlIG5lZWQgYW4gZXRoaWNzIHZvdGUgZm9yIG91ciBwcm9qZWN0IG9yIG5vdCBhbmQgdG8gb2J0YWluIGd1aWRlbGluZXMgZm9yIGRlYWxpbmcgd2l0aCBwYXRpZW50IGNlbGxzIHJlZ2FyZGluZyBldGhpY2FsIGlzc3VlcyBhbmQgZGF0YSBwcm90ZWN0aW9uLiBcIixcbiAgICBpbnNpZ2h0czogXCJUaGUgZGlzY3Vzc2lvbiB3YXMgdmVyeSBpbmZvcm1hdGl2ZSBpbiB0ZXJtcyBvZiBob3cgd2Ugc2hvdWxkIGFwcHJvYWNoIHRoaXMgdG9waWMgYW5kIGZvY3VzZWQgcHJpbWFyaWx5IG9uIHRoZSBpbXBvcnRhbnQgZmFjdG9ycyB0aGF0IG5lZWQgdG8gYmUgY29uc2lkZXJlZCB3aGVuIHBsYW5uaW5nIHRoZSBoYW5kbGluZyBvZiBwYXRpZW50IGNlbGxzLiBUaGVzZSBpbmNsdWRlIHdoaWNoIGxlZ2FsIHByaW5jaXBsZXMgbmVlZCB0byBiZSBvYnNlcnZlZCwgZGF0YSBwcm90ZWN0aW9uLCBldGhpY2FsIGNvbnNpZGVyYXRpb25zIGFuZCwgYWJvdmUgYWxsLCBkZXRhaWxlZCBhbmQgc3BlY2lmaWMgaW5mb3JtYXRpb24gZm9yIHRoZSBkb25vci4gSXQgYWxzbyBtYWRlIHVzIGxvb2sgYXQgdGhlIHNpdHVhdGlvbiBmcm9tIG1hbnkgZGlmZmVyZW50IGFuZ2xlcyBhbmQgY29uc2lkZXIgdGhlIHJpc2tzIG9mIHdvcnN0LWNhc2Ugc2NlbmFyaW9zLiBPdmVyYWxsLCB0aGlzIGludGVydmlldyB3YXMgdmVyeSB1c2VmdWwgdG8gdXMsIGFuZCB3ZSB3ZXJlIGFibGUgdG8gdXNlIHRoZSBpbmZvcm1hdGlvbiB3ZSBnYWluZWQgdG8gZGV2ZWxvcCBhIGtpbmQgb2YgZ3VpZGVsaW5lIHRoYXQgYWxsb3dlZCB1cyB0byBhcHByb2FjaCB0aGlzIHNlbnNpdGl2ZSB0b3BpYywgd2hpY2ggd2FzIG5ldyB0byB1cywgd2l0aCBhIGNlcnRhaW4gZGVncmVlIG9mIGNvbmZpZGVuY2UuIFwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIkJhc2VkIG9uIHRoZSBrbm93bGVkZ2Ugd2UgaGF2ZSBnYWluZWQsIHdlIGhhdmUgZHJhd24gdXAgZ3VpZGVsaW5lcyBmb3Igb3VyIGhhbmRsaW5nIG9mIHRoZSBjZWxscy4gV2UgdXNlZCB0aGlzIGd1aWRlIHdoZW4gaGFuZGxpbmcgdGhlIHBhdGllbnQgY2VsbHMsIHRvIGVuc3VyZSB0aGV5IHdlcmUgaGFuZGxlZCBpbiBhbiBldGhpY2FsbHkgY29ycmVjdCBtYW5uZXIuXCIsXG4gIH0sXG4gIHsgXG4gICAgdm9ybmFtZTogXCJDb2xsYWJvcmF0aW9uXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLCAgXG4gICAgam9iOiBcIlwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlwiLCBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiTE5QIEhhbmRib29rXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFuZGJvb2tcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIkJlbmphbWluXCIsXG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgbmFjaG5uYW1lOiBcIldpbmtlbGphbm5cIiwgIFxuICAgIGpvYjogXCJDby1Gb3VuZGVyIGFuZCBDRU8gYXQgUk5oYWxlXCIsXG4gICAgYWZmaWxpYXRpb246IFwiUk5oYWxlXCIsIFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3dpbmtlbGphbm4nXSxcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIlJuaGFsZVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcInJuaGFsZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiU3ByYXktZHJ5aW5nIExOUHMgaXMgYSBncm91bmRicmVha2luZyBhcHByb2FjaCB0aGF0IGVuaGFuY2VzIHN0YWJpbGl0eSBhbmQgZW5hYmxlcyBlZmZpY2llbnQgcHVsbW9uYXJ5IGRlbGl2ZXJ5IG9mIG1STkEsIHBhdmluZyB0aGUgd2F5IGZvciBpbm5vdmF0aXZlIHRoZXJhcGllcyBmb3IgY29uZGl0aW9ucyBsaWtlIGN5c3RpYyBmaWJyb3Npcy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BcyBwYXJ0IG9mIG91ciBkZXZlbG9wbWVudCBwcm9jZXNzIG9mIGFuIGlubm92YXRpdmUsIGVmZmVjdGl2ZSBwdWxtb25hcnkgZGVsaXZlcnkgb2YgdGhlcmFwZXV0aWMgbVJOQSB0byBmaWdodCBjeXN0aWMgZmlicm9zaXMsIFxuICAgICAgd2UgY29uZHVjdGVkIGFuIGludGVydmlldyB3aXRoIERyLiBCZW5qYW1pbiBXaW5rZWxqYW5uLCB3aG8gaXMgdGhlIENvLUZvdW5kZXIgb2YgPGEgaHJlZj1cImh0dHBzOi8vcm5oYWxlLmNvbS9cIj5STmhhbGU8L2E+LiBEci4gQmVuamFtaW4gXG4gICAgICBXaW5rZWxqYW5uIGhhcyBhIHdlYWx0aCBvZiBleHBlcmllbmNlIGluIHRoZSBmaWVsZCBvZiBSTkEgdGhlcmFwZXV0aWNzIGFuZCBuYW5vdGVjaG5vbG9neS4gSGlzIGJhY2tncm91bmQgaW5jbHVkZXMgZXh0ZW5zaXZlIHJlc2VhcmNoIGluIHRoZVxuICAgICAgIGRldmVsb3BtZW50IG9mIGxpcGlkLWJhc2VkIGRlbGl2ZXJ5IHN5c3RlbXMsIGZvY3VzaW5nIG9uIG9wdGltaXppbmcgc3RhYmlsaXR5IGFuZCBlZmZpY2FjeSBmb3IgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBXaW5rZWxqYW5uXHUyMDE5cyB3b3JrIFxuICAgICAgIGlzIHN1cHBvcnRlZCBieSBjdXR0aW5nLWVkZ2UgcmVzZWFyY2ggZnJvbSBhY2FkZW1pYyBpbnN0aXR1dGlvbnMsIGluY2x1ZGluZyBjb2xsYWJvcmF0aW9ucyB3aXRoIFByb2Zlc3NvciBPbGl2aWEgTWVya2VsIGZyb20gdGhlIFxuICAgICAgIEx1ZHdpZy1NYXhpbWlsaWFucy1Vbml2ZXJzaXRcdTAwRTR0IGluIE11bmljaCwgR2VybWFueSwgc2luY2UgaGlzIGRvY3RvcmFsIHRoZXNpcyBpbiBoZXIgd29ya2luZyBncm91cC4gVGhlIGludGVydmlldyB3aXRoIFdpbmtlbGphbm4gcHJvbW90ZWRcbiAgICAgICAgb3VyIHByb2plY3QsIHdoaWNoIGFpbWVkIHRvIHV0aWxpemUgc3ByYXktZHJpZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgZm9yIGVmZmljaWVudCBkZWxpdmVyeSB0byB0aGUgbHVuZy4gQnkgZW5nYWdpbmcgd2l0aCBSTmhhbGUsIHdlXG4gICAgICAgICBzb3VnaHQgdG8gdW5kZXJzdGFuZCB0aGUgbnVhbmNlcyBvZiB0aGVpciBuYW5vLWVtYmVkZGVkIG1pY3JvcGFydGljbGUgdGVjaG5vbG9neSBhbmQgaG93IGl0IGNvdWxkIGVuaGFuY2Ugb3VyIGRlbGl2ZXJ5IHN5c3RlbXMuICA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlJOaGFsZSdzIHRlY2hub2xvZ3kgbGV2ZXJhZ2VzIGFkdmFuY2VkIHNwcmF5IGRyeWluZyB0ZWNobmlxdWVzIHRvIHN0YWJpbGl6ZSBhbmQgZGVsaXZlciBSTkEgdGhlcmFwZXV0aWNzLiBEdXJpbmcgb3VyIGludGVydmlldywgXG4gICAgICBXaW5rZWxqYW5uIGRldGFpbGVkIHNldmVyYWwgY3J1Y2lhbCBhc3BlY3RzLiBGaXJzdGx5LCB0aGUgc3RhYmlsaXR5IGFuZCBzaGVsZi1saWZlIG9mIHNwcmF5LWRyaWVkIExOUHMgYXJlIHJlbWFya2FibGUuIFJOaGFsZVx1MjAxOXMgc2lSTkEgXG4gICAgICBmb3JtdWxhdGlvbnMgaGF2ZSBtYWludGFpbmVkIHRoZWlyIGludGVncml0eSBmb3IgdXAgdG8gMTggbW9udGhzIGF0IHJvb20gdGVtcGVyYXR1cmUsIGFuZCBhbHRob3VnaCBzcGVjaWZpYyBkYXRhIGZvciBtUk5BIGlzIHN0aWxsIHBlbmRpbmcsIFxuICAgICAgdGhpcyBzdWdnZXN0cyBhIHByb21pc2luZyBzaGVsZi1saWZlIGZvciBtUk5BIGZvcm11bGF0aW9ucyB1bmRlciBzaW1pbGFyIGNvbmRpdGlvbnMuIFRoZSBzcHJheSBkcnlpbmcgcHJvY2VzcyBpdHNlbGYgaW52b2x2ZXMgbWl4aW5nIGFuIGV0aGFub2xcbiAgICAgICBwaGFzZSBjb250YWluaW5nIGxpcGlkcyB3aXRoIGFuIGFxdWVvdXMgcGhhc2UgY29udGFpbmluZyBSTkEuIFRoaXMgbWl4dHVyZSBpcyB0aGVuIHNwcmF5LWRyaWVkLCBmb3JtaW5nIExOUHMgYXMgdGlueSBzcGhlcmljYWwgcGFydGljbGVzLiBcbiAgICAgICBLZXkgcGFyYW1ldGVycyBmb3IgdGhpcyBwcm9jZXNzIGluY2x1ZGUgbWFpbnRhaW5pbmcgYW4gaW50ZXJuYWwgZHJ5aW5nIHRlbXBlcmF0dXJlIG9mIGFyb3VuZCAxMDAgXHUwMEIwQyBhbmQgdXNpbmcgZXhjaXBpZW50cyBsaWtlIGxhY3Rvc2UgdG8gXG4gICAgICAgcHJlc2VydmUgdGhlIG5hbm9wYXJ0aWNsZXMnIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25cdTIwMEIgWzFdLiA8L3A+LFxuICAgICAgIDxwPkVuc3VyaW5nIHRoZSBpbnRlZ3JpdHkgYW5kIGVmZmljaWVuY3kgb2YgdGhlIExOUHMgaW52b2x2ZXMgdmFyaW91cyBtZXRob2RzLCBpbmNsdWRpbmcgZ2VsIGVsZWN0cm9waG9yZXNpcywgYmxvdHRpbmcsIGFuZCBmdW5jdGlvbmFsIHJlYWRvdXRzIHRocm91Z2ggdHJhbnNmZWN0aW9uIGFzc2F5cy4gXG4gICAgICBBZnRlciBkcnlpbmcsIHRoZSBuYW5vcGFydGljbGVzIHJldGFpbiB0aGVpciBzcGhlcmljYWwgc3RydWN0dXJlLCB3aGljaCByZXNlbWJsZXMgdGhhdCBvZiBcImdvbGYgYmFsbHNcIiB1bmRlciBzY2FubmluZyBlbGVjdHJvbiBtaWNyb3Njb3B5IChTRU0pWzFdLlxuICAgICAgIE1vcmVvdmVyLCBSTmhhbGUgZW1wbG95cyBhcnRpZmljaWFsIGludGVsbGlnZW5jZSB0byBvcHRpbWl6ZSBMTlAgZm9ybXVsYXRpb25zIGFuZCBwcmVkaWN0IHRoZSBiZXN0IGRyeWluZyBjb25kaXRpb25zLCByZWR1Y2luZyB0aGUgbmVlZCBmb3IgXG4gICAgICAgZXh0ZW5zaXZlIHdldCBsYWIgd29yay4gVGhpcyBBSS1kcml2ZW4gYXBwcm9hY2ggZW5oYW5jZXMgZWZmaWNpZW5jeSBhbmQgcmVsaWFiaWxpdHkgaW4gZGV2ZWxvcGluZyB0aGVyYXBldXRpYyBuYW5vcGFydGljbGVzLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogW1xuICAgICAgPHA+VGhlIGludGVydmlldyB3aXRoIERyLiBCZW5qYW1pbiBXaW5rZWxqYW5uIGZyb20gUk5oYWxlIHByb3ZpZGVkIGludmFsdWFibGUgaW5zaWdodHMgdGhhdCB3aWxsIHNpZ25pZmljYW50bHkgZW5oYW5jZSBvdXIgcHJvamVjdCBcbiAgICAgICAgZm9jdXNlZCBvbiBtUk5BIGRlbGl2ZXJ5IHRvIHRoZSBsdW5ncyB1c2luZyBzcHJheS1kcmllZCBMTlBzLiBCeSBzZWVraW5nIHRvIGludGVncmF0ZSB0aGVpciBwcm92ZW4gdGVjaG5pcXVlcyBhbmQgaW5ub3ZhdGl2ZSBhcHByb2FjaCBcbiAgICAgICAgdG8gc3ByYXktZHJ5IExOUHMsIHdlIGFyZSBvcHRpbWlzdGljIGFib3V0IGFjaGlldmluZyBzdXBlcmlvciBzdGFiaWxpdHksIGVmZmljYWN5LCBhbmQgc2NhbGFiaWxpdHkgaW4gb3VyIHRoZXJhcGV1dGljIGRlbGl2ZXJ5IHN5c3RlbXMuICA8L3A+ICAgICAgIFxuICAgICAgXSxcbiAgICBwaWN0dXJldXJsX2FpbTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtcm5oYWxlLXpvb20ucG5nXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2RlbC1pbnRlcnZpZXctcm5oYWxlL3BhcGVyLW92ZXJ2aWV3LmpwZ1wiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2RlbC1pbnRlcnZpZXctcm5oYWxlL3BhcGVyLXNlbS5qcGdcIixcbiAgICByZWZlcmVuY2VzOiBbPGRpdj5ub2NoIGVpbmZcdTAwRkNnZW48L2Rpdj5dXG4gIH0sXG4gIHsgXG4gICAgdGl0bGU6IFwiWFhYXCIsXG4gICAgdm9ybmFtZTogXCJEYXZpZFwiLFxuICAgIG5hY2hubmFtZTogXCJMaXVcIiwgIFxuICAgIGpvYjogXCJcIixcbiAgICBhZmZpbGlhdGlvbjogXCJcIiwgXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIlwiLFxuICAgIGludGVydmlld3RhYmlkOiBcImxpdVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIlwiLFxuICAgIG5hY2hubmFtZTogXCJcIiwgIFxuICAgIGpvYjogXCJcIixcbiAgICBhZmZpbGlhdGlvbjogXCJDb3JkZW4gUGhhcm1hXCIsIFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJDb3JkZW5cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJjb3JkZW5cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSxcbiAgeyBcbiAgICB2b3JuYW1lOiBcIk1hdHRpanNcIixcbiAgICBuYWNobm5hbWU6IFwiQnVsY2FlblwiLCAgXG4gICAgam9iOiBcIlBoRCBSZXNlYXJjaGVyIGF0IExhYm9yYXRvcnkgZm9yIE1vbGVjdWxhciBWaXJvbG9neSAmIEdlbmUgVGhlcmFweVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIktVIExldXZlblwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ21hdHRpanMnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIlwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm1hdHRpanN2aXNpdFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuICB7IFxuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiT2xpdmVyXCIsXG4gICAgbmFjaG5uYW1lOiBcIkRyXHUwMEU0Z2VyXCIsICBcbiAgICBqb2I6IFwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIixcbiAgICBhZmZpbGlhdGlvbjogXCJSZXNlYXJjaCBHcm91cCBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3lcIiwgXG4gICAgcGljdHVyZXVybDogcGljc1snZHJhZWdlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicGF0Y2hjbGFtcFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICB9LFxuXVxuXG4iLCAiaW1wb3J0IHsgSFBNb3JlQnV0dG9uIH0gZnJvbSBcIi4vQnV0dG9uc1wiO1xuaW1wb3J0IHsgdGltZWxpbmVkYXRhIH0gZnJvbSBcIi4vZGF0YS9ocHRpbWVsaW5lZGF0YVwiO1xuZnVuY3Rpb24gVGltZUl0ZW0oe3RhZywgdGl0bGUsIHBpYywgYXV0aG9yLCB0YWJpZH06IEl0ZW1Qcm9wcyl7XG4gICAgbGV0IGNsID0gXCJ0LXRhZyBcIiArIHRhZztcbiAgICByZXR1cm4oXG4gICAgPGxpIGNsYXNzTmFtZT1cInRpbWVsaW5lb2xsaVwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtIG1vcmV0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbH0+XG4gICAgICAgICAgICAgICAge3RhZ31cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXJvdW5kXCIgc3JjPXtwaWN9Lz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiMTBweFwifX0+e2F1dGhvcn08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0YWJcIj5cbiAgICAgICAgICAgICAgICA8SFBNb3JlQnV0dG9uIG5hbWU9e3RhYmlkfS8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICAgKVxuICB9XG4gIFxuICBmdW5jdGlvbiBUaW1lSXRlbU1ldGEoeyB0YWcsIHRpdGxlLCBwaWMsIGF1dGhvciwgdGFiaWR9OiBJdGVtUHJvcHMpe1xuICAgIHJldHVybihcbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0gdGltZS1tZXRhIG1vcmV0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIHQtdGFnIGNvbG91ci1tZXRhLXRhZ1wiPlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctY3ViZVwiIHNyYz17cGljfSAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8cCBzdHlsZT17e21hcmdpblRvcDogXCIxMHB4XCJ9fT57YXV0aG9yfTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhYlwiPlxuICAgICAgICAgICAgICAgIDxIUE1vcmVCdXR0b24gbmFtZT17dGFiaWR9Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgICApXG4gIH1cbiAgXG4gXG4gIFxuICBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUaW1lSG9yaSh7dGFifTp7dGFiOiBzdHJpbmd9KXtcbiAgICBsZXQgbm9kOyBcbiAgICAvKiBjb25zb2xlLmxvZyhcIlRpbWVIb3JpXCIpICovXG4gICAgaWYgKHRhYiA9PT0gXCJcIil7ICBcbiAgICAgIG5vZCA9IDxBbGxJdGVtcz48L0FsbEl0ZW1zPlxuICAgICAgLyogY29uc29sZS5sb2coXCJUYWIgPSAnJ1wiKSAqL1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgLyogY29uc29sZS5sb2coXCJUYWJcIikgKi9cbiAgICAgIG5vZCA9IGdldEl0ZW1zQnlUeXBlKHRhYik7XG4gICAgfVxuICAgIHJldHVybihcbiAgICA8ZGl2PlxuICA8c2VjdGlvbiBjbGFzc05hbWU9XCJ0aW1lbGluZVwiPlxuICA8b2wgY2xhc3NOYW1lPVwidGltZWxpbmVvbFwiPlxuICAgICAge25vZH1cbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+PC9saT5cbiAgPC9vbD5cbiAgXG4gIFxuICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuICBcbiAgICApXG4gIH1cbiAgXG5cbiAgXG4gICAgICBcbiAgICAgIGludGVyZmFjZSBJdGVtUHJvcHMge1xuICAgICAgICB0aXRsZTogc3RyaW5nICxcbiAgICAgICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICAgICAgdGFnOiBzdHJpbmcsIFxuICAgICAgICBwaWM6IHN0cmluZyxcbiAgICAgICAgYXV0aG9yOiBzdHJpbmcsIFxuICAgICAgICB0YWJpZDogc3RyaW5nXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgXG5cblxuICAgICAgZnVuY3Rpb24gQWxsSXRlbXMoKXtcbiAgICAgICAgbGV0IHJvd3MgPSBbXVxuICAgICAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgdGltZWxpbmVkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgICAgICAgaWYgKHRpbWVsaW5lZGF0YVtpXS50eXBlID09PSBcIm1ldGFcIil7XG4gICAgICAgICAgICB2YXIgbmFtZTogc3RyaW5nOyBcbiAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbU1ldGEgXG4gICAgICAgICAgICAgIHRpdGxlPXt0aW1lbGluZWRhdGFbaV0uaGVhZGluZ31cbiAgICAgICAgICAgICAgcGljPXt0aW1lbGluZWRhdGFbaV0ucGljdHVyZXVybH1cbiAgICAgICAgICAgICAgdGFnPXt0aW1lbGluZWRhdGFbaV0udGFnfVxuICAgICAgICAgICAgICBhdXRob3I9e25hbWV9XG4gICAgICAgICAgICAgIHRhYmlkPXt0aW1lbGluZWRhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dGltZWxpbmVkYXRhW2ldLmNhcmR0ZXh0fVxuICAgICAgICAgICAgICA8L1RpbWVJdGVtTWV0YT4pXG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICB2YXIgbmFtZTogc3RyaW5nOyBcbiAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbSBcbiAgICAgICAgICAgICAgdGl0bGU9e3RpbWVsaW5lZGF0YVtpXS5oZWFkaW5nfVxuICAgICAgICAgICAgICBwaWM9e3RpbWVsaW5lZGF0YVtpXS5waWN0dXJldXJsfVxuICAgICAgICAgICAgICB0YWc9e3RpbWVsaW5lZGF0YVtpXS50YWd9XG4gICAgICAgICAgICAgIGF1dGhvcj17bmFtZX1cbiAgICAgICAgICAgICAgdGFiaWQ9e3RpbWVsaW5lZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0aW1lbGluZWRhdGFbaV0uY2FyZHRleHR9XG4gICAgICAgICAgICAgIDwvVGltZUl0ZW0+KVxuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93czsgXG4gICAgICB9XG5cbiAgICAgIFxuICAgICAgZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1zQnlUeXBlKHRhYmlkOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IHJvd3MgPSBbXVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVsaW5lZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRhYmlkID09PSB0aW1lbGluZWRhdGFbaV0udGFnKSB7XG4gICAgICAgICAgICAgIHZhciBuYW1lOiBzdHJpbmc7IFxuICAgICAgICAgICAgICBpZiAodGltZWxpbmVkYXRhW2ldLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbVxuICAgICAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXt0aW1lbGluZWRhdGFbaV0uaGVhZGluZ31cbiAgICAgICAgICAgICAgICAgICAgcGljPXt0aW1lbGluZWRhdGFbaV0ucGljdHVyZXVybH1cbiAgICAgICAgICAgICAgICAgICAgdGFnPXt0aW1lbGluZWRhdGFbaV0udGFnfVxuICAgICAgICAgICAgICAgICAgICBhdXRob3I9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHRhYmlkPXt0aW1lbGluZWRhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGltZWxpbmVkYXRhW2ldLmNhcmR0ZXh0fVxuICAgICAgICAgICAgICAgIDwvVGltZUl0ZW0+KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dzOyBcbiAgICB9XG4gICAgXG4gICAgICIsICJpbXBvcnQgeyBUYWJCdXR0b25Sb3cgfSBmcm9tIFwiLi9CdXR0b25zXCI7XG5pbXBvcnQgVGltZUhvcmkgZnJvbSBcIi4vSG9yaXpvbnRhbFRpbWVsaW5lXCI7XG5pbXBvcnQgeyBCRkhTdHlsZVRhYnMsIEJ1dHRvblJvd1RhYnMgfSBmcm9tIFwiLi9UYWJzXCI7XG5pbXBvcnQgeyB0aW1lbGluZWRhdGEgfSBmcm9tIFwiLi9kYXRhL2hwdGltZWxpbmVkYXRhXCI7XG5leHBvcnQgZnVuY3Rpb24gSFBUaW1lbGluZSgpe1xuICAgIHJldHVybihcbiAgICAgIDxzZWN0aW9uIGlkPVwiVGltZWxpbmVcIiBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2VudGVyXCI+XG4gICAgICAgIDwvZGl2PiBcbiAgICAgICAgPFRhYkJ1dHRvblJvdyBkYXRhPXt0aW1lbGluZWJ1dHRvbnJvd2RhdGF9IGNsYXNzeT1cIlwiIG9wZW50eXBlPVwidGltZWxpbmVjYXJkdGFic1wiIGNsb3Npbmc9XCJ0aW1lbGluZXBlcnNvbnRhYnNcIiAvPlxuICAgICAgICA8QnV0dG9uUm93VGFicyBjbGE9XCJ0aW1lbGluZWNhcmR0YWJzXCIgZGF0YT17dGltZWxpbmVidXR0b25yb3dkYXRhfS8+IFxuICAgICAgICA8QkZIU3R5bGVUYWJzIGNsYT1cInRpbWVsaW5lcGVyc29udGFic1wiIGRhdGE9e3RpbWVsaW5lZGF0YX0+PC9CRkhTdHlsZVRhYnM+IFxuICAgICAgPC9zZWN0aW9uPlxuICAgIClcbiAgfVxuXG4gIGxldCB0aW1lbGluZWJ1dHRvbnJvd2RhdGEgPSBbXG4gICAge1xuICAgICAgYnV0dG9ubmFtZTogXCJBbGxcIiwgXG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiXCIgPjwvVGltZUhvcmk+LCBcbiAgICAgIGNzc25hbWU6IFwiRmlyc3RcIlxuICAgIH0sXG4gICAgeyBcbiAgICAgIG5vZGU6IDxUaW1lSG9yaSB0YWI9XCJQYXRpZW50XCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJQYXRpZW50c1wiLCBcbiAgICAgIGNzc25hbWU6IFwiUGF0aWVudFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIiA+PC9UaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIk1lZGljYWwgUHJvZmVzc2lvbmFsc1wiLCBcbiAgICAgIGNzc25hbWU6IFwiTWVkaWNhbFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiQWNhZGVtaWFcIiA+PC9UaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIkFjYWRlbWlhXCIsIFxuICAgICAgY3NzbmFtZTogXCJBY2FkZW1pYVwiXG4gICAgfSxcbiAgICB7IFxuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIkluZHVzdHJ5XCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJJbmR1c3RyeVwiLCBcbiAgICAgIGNzc25hbWU6IFwiSW5kdXN0cnlcIlxuICAgIH1cbiAgXVxuICBcblxuLyogZXhwb3J0IGZ1bmN0aW9uIEhQdGltZWxpbmVOZXcoZGF0YTogQXJyYXk8Tm9kZURhdGVuc2F0ej4pe1xuICB2YXIgdGltZWxpbmVjYXJkczogUmVhY3QuUmVhY3ROb2RlOyBcbiAgdmFyIGludGVydmlld3RhYnM6IFxuXG59ICovIiwgIlxuXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBIaWdobGlnaHQgfSBmcm9tICcuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zJztcbmZ1bmN0aW9uIFNpZGVJdGVtKHtoZXNoLCBudW19OntoZXNoOiBzdHJpbmc7IG51bTogbnVtYmVyfSl7XG4gICAgbGV0IGxpbmsgPSBcIiNcIiArIGhlc2hcbiAgICBsZXQgc3ViZGkgPSBcInN1YnRpdGxlXCIgKyBudW1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+ICAgXG4gICAgICAgICAgICA8YSBocmVmPXtsaW5rfT5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD17c3ViZGl9IGNsYXNzTmFtZT0nc2lkZWl0ZW0nPlxuICAgICAgICAgICAgICAgICAgICB7aGVzaH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PiAgIFxuICAgIClcbn1cblxuXG5cbi8qIExPYWRpbmcgdG9vIHNsb3cuLi5cbmZ1bmN0aW9uIFNpZGViYXIoKXtcbiAgICBjb25zdCBhbGxXaXRoQ2xhc3MgPSBBcnJheS5mcm9tKFxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzZWN0aW9uJylcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZyhhbGxXaXRoQ2xhc3MpO1xuICAgIGxldCBjb250ZW50ID0gW107XG4gICAgZm9yKGxldCBpZHggaW4gYWxsV2l0aENsYXNzKXtcbiAgICAgICAgY29uc3QgaXRlbSA9IGFsbFdpdGhDbGFzc1tpZHhdO1xuICAgICAgICBjb25zdCBpZCA9IGl0ZW0uaWQ7IFxuICAgICAgICBjb25zb2xlLmxvZyhcImlkeDogXCIgKyBpZHgpO1xuICAgICAgICBjb25zb2xlLmxvZyhcIml0ZW06IFwiICsgaXRlbSk7IFxuICAgICAgICBjb25zb2xlLmxvZyhcImlkOiBcIiArIGlkKTtcbiAgICAgICAgY29udGVudC5wdXNoKDxTaWRlSXRlbSBrZXk9e2lkfSBoZXNoPXtpZH0+PC9TaWRlSXRlbT4pO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIj5cbiAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICA8L25hdj4gICAgICAgIFxuICAgIClcbiAgICBcbn0gKi9cblxuXG4gICAgZnVuY3Rpb24gU2lkZWJhcih7bnVtc306e251bXM6IEFycmF5PHN0cmluZz59KXtcblxuICAgICAgXG4gICAgICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgICAgZm9yKGxldCBpZHggaW4gbnVtcyl7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgICAgICBsZXQgaW5kID0gbnVtcy5maW5kSW5kZXgoKGUpID0+IGUgPT0gaXRlbSlcbiAgICAgICAgICAgICAgICBsZXQgc3ViZGkgPSBcInN1YnRpdGxlXCIgKyBpbmQgXG4gICAgICAgICAgICAgICAgSGlnaGxpZ2h0KHtlbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSkhfSwge3N1YnRpdGxlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSkhfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZnVuY3Rpb24gSGlnaGxpZ2h0Q2hlY2tcIilcbiAgICAgICAgfVxuICAgICAgXG5cbiAgICAgICAgY29uc29sZS5sb2cobnVtcylcbiAgICAgICAgbGV0IGNvbnRlbnQgPSBbXTsgXG4gICAgICAgIGZvcihsZXQgaWR4IGluIG51bXMpe1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiaWR4OiBcIiArIGlkeCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIml0ZW06IFwiICsgaXRlbSk7ICAqL1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJUeXBlOiBcIiArIHR5cGVvZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSkpXG4gICAgICAgICAgICBsZXQgaW5kID0gbnVtcy5maW5kSW5kZXgoKGUpID0+IGUgPT0gaXRlbSlcbiAgICAgICAgICAgIGNvbnRlbnQucHVzaCg8U2lkZUl0ZW0ga2V5PXtpdGVtfSBoZXNoPXtpdGVtfSBudW09e2luZH0+PC9TaWRlSXRlbT4pO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihudW1zLmxlbmd0aCA+IDEpXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwic2lkZWJhclwiPlxuICAgICAgICAgICAgICAgICAgICB7Y29udGVudH1cbiAgICAgICAgICAgIDwvbmF2PiAgIFxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgc3R5bGU9e3tkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJyaWdodFwifX0+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj0nIycgY2xhc3NOYW1lPVwiYmFja3RvdG9wXCI+XG4gICAgICAgICAgICAgICAgICAgIEJhY2sgdG8gVG9wICYjODU5MztcbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj4gICBcbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgIFxuICAgICAgICApXG4gICAgICAgIHJldHVybihcbiAgICAgICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIClcbiAgICB9XG5cbiAgXG5cblxuXG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyOyIsICJpbXBvcnQgU2lkZWJhciBmcm9tIFwiLi4vY29tcG9uZW50cy9TaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIcFNpZGViYXIoKXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTIgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RpY2t5LXRvcFwiPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyIG51bXM9e1tcIk92ZXJ2aWV3XCIsIFwiVGltZWxpbmVcIiwgXCJJbnNwaXJhdGlvblwiLCBcIk1ldGhvZHNcIiwgXCJBbmFseXNpc1wiLCBcIlJlZmxlY3Rpb25cIiwgXCJJbXBsZW1lbnRhdGlvblwiXX0+PC9TaWRlYmFyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn0iLCAiaW1wb3J0IHsgQm94LCBUYWIgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHtUYWJDb250ZXh0LCBUYWJMaXN0LCBUYWJQYW5lbH0gZnJvbSAnQG11aS9sYWInO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuLi9jb21wb25lbnRzL0NvbGxhcHNpYmxlXCI7IFxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZXhwb3J0IGZ1bmN0aW9uIFdpa2kgICgpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgIC8vIEhhbmRsZSBzY3JvbGwgdG8gY29sbGFwc2Ugc2VjdGlvblxuICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb2xsYXBzZUlkKTtcbiAgICAgIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbixcbiAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSBvcGVuaW5nIHRoZSB0YWJcbiAgICBpZiAodGFiSWQpIHtcbiAgICAgIG9wZW5Gcm9tT3RoZXJQYWdlKHRhYklkKSh7IGN1cnJlbnRUYXJnZXQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEgfSk7XG4gICAgfVxuICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgPFdpa2lUYWJzPjwvV2lraVRhYnM+IFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuXG4gZXhwb3J0IGZ1bmN0aW9uIFdpa2lUYWJzKCkge1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKCcxJyk7XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKF9ldmVudDogUmVhY3QuU3ludGhldGljRXZlbnQsIG5ld1ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Qm94IHN4PXt7IHdpZHRoOiAnMTAwJScsIHR5cG9ncmFwaHk6ICdib2R5MScgfX0+XG4gICAgICA8VGFiQ29udGV4dCB2YWx1ZT17dmFsdWV9PlxuICAgICAgICA8Qm94IHN4PXt7IGJvcmRlckJvdHRvbTogMSwgYm9yZGVyQ29sb3I6ICdkaXZpZGVyJyB9fT5cbiAgICAgICAgICA8VGFiTGlzdCBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfSBhcmlhLWxhYmVsPVwibGFiIEFQSSB0YWJzIGV4YW1wbGVcIj5cbiAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJBYm91dFwiIHZhbHVlPVwiMVwiIC8+XG4gICAgICAgICAgICA8VGFiIGxhYmVsPVwiR2V0dGluZyBzdGFydGVkXCIgdmFsdWU9XCI2XCIgLz5cbiAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJUcm91Ymxlc2hvb3RpbmdcIiB2YWx1ZT1cIjJcIiAvPlxuICAgICAgICAgICAgPFRhYiBsYWJlbD1cIkNvbXBvbmVudHNcIiB2YWx1ZT1cIjNcIiAvPlxuICAgICAgICAgICAgPFRhYiBsYWJlbD1cIkRvd25sb2Fkc1wiIHZhbHVlPVwiNFwiIC8+XG4gICAgICAgICAgICA8VGFiIGxhYmVsPVwiUmVzb3VyY2VzXCIgdmFsdWU9XCI1XCIgLz5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjFcIj4gICA8L1RhYlBhbmVsPlxuICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCI2XCI+IDxTdGFydGVkLz4gIDwvVGFiUGFuZWw+XG4gICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjJcIj4gPFRyb3VibGVzaG9vdGluZy8+IDwvVGFiUGFuZWw+XG4gICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjNcIj4gIDwvVGFiUGFuZWw+XG4gICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjRcIj4gICA8L1RhYlBhbmVsPlxuICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCI1XCI+ICA8U291cmNlcy8+IDwvVGFiUGFuZWw+XG4gICAgICA8L1RhYkNvbnRleHQ+XG4gICAgPC9Cb3g+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFN0YXJ0ZWQoKXtcblxuICByZXR1cm4oXG4gICAgPD5cbiAgICA8aDM+RGlmZmVyZW5jZXMgYmV0d2VlbiBSZWFjdCBhbmQgcGxhaW4gSFRNTDwvaDM+XG4gICAgPHA+VGhlcmUgYXJlIHNvbWUgZGlmZmVyZW5jZXMgaW4gdGhlIHN5bnRheCB0aGF0IGNhbiBsZWFkIHRvIGVycm9ycy48L3A+XG4gICAgPHRhYmxlPlxuICAgICAgPHRyPlxuICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPHRoPlBsYWluIEhUTUw8L3RoPlxuICAgICAgICA8dGg+VXNpbmcgUmVhY3Q8L3RoPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoPiA8Y29kZT4mbHQ7dGFncyZndDsgPC9jb2RlPiA8L3RoPlxuICAgICAgICA8dGg+IFxuICAgICAgICAgIDxwPiBNb3N0IHRhZ3MgaGF2ZSB0byBiZSBvcGVuZWQgYW5kIGNsb3NlZCwgYnV0IHNvbWUgY2FuIGJlIG9ubHkgb3BlbmVkLiA8L3A+IFxuICAgICAgICAgIDxwPiBlLmcuIGltZywgYnIsIC4uLiA8Y29kZT4gJmx0O2ltZyBzcmM6XCJzb21lc291cmNlXCIgYWx0PVwiYWx0XCImZ3Q7ICA8L2NvZGU+IDwvcD5cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRoPlxuICAgICAgICAgIDxwPiBFdmVyeSB0YWcgaGFzIHRvIGJlIGNsb3NlZC4gIDwvcD5cbiAgICAgICAgICA8cD4gZS5nLiBpbWcsIGJyLCAuLi4gXG4gICAgICAgICAgICA8Y29kZT4gJmx0O2ltZyBzcmM6XCJzb21lc291cmNlXCIgYWx0PVwiYWx0XCIvJmd0OzwvY29kZT4gb3IgXG4gICAgICAgICAgICA8Y29kZT4gJmx0O2ltZyBzcmM6XCJzb21lc291cmNlXCIgYWx0PVwiYWx0XCImZ3Q7ICZsdDsvaW1nJmd0OyA8L2NvZGU+ICA8L3A+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgICAgPHRyPlxuICAgICAgICA8dGg+QXR0cmlidXRlIE5hbWVzPC90aD5cbiAgICAgICAgPHRoPlxuICAgICAgICAgIDxwPiBHbG9iYWwgYXR0cmlidXRlIG5hbWVzIGFyZSBhbHdheXMgd3JpdHRlbiBpbiBsb3dlcmNhc2UgYW5kIHR3byB3b3JkcyBhcmUgZnVzZWQgaW50byBvbmUgYnkgXCItXCIuIDwvcD5cbiAgICAgICAgICA8cD4gRS5nLiBcImNsYXNzXCIsIFwiY2hhcnNldFwiLCAuLi48L3A+XG4gICAgICAgICAgPHA+IFRoaXMgaXMgYWxzbyB0aGUgY2FzZSB3aGVuIHVzaW5nIHRoZSBzeWxlLWF0dHJpYnV0ZS4gPC9wPlxuICAgICAgICAgIDxwPiBFLmcuIDxjb2RlPnN0eWxlPVwiY29sb3I6Ymx1ZTsgdGV4dC1hbGlnbjpjZW50ZXJcIjwvY29kZT48L3A+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aD4gXG4gICAgICAgICAgPHA+R2xvYmFsIGF0dHJpYnV0ZSBuYW1lcyBhcmUgZ2VuZXJhbGx5IHdyaXR0ZW4gaW4gbG93ZXJjYXNlIGJ1dCB1c2UgdGhlIGNhbWVsIGNhc2UgaWYgdHdvIHdvcmRzIGhhdmUgdG8gYmUgZnVzZWQuIFNvbWUgYXR0cnVidXRlcyBoYXZlIHNsaWdodGx5IGRpZmZlcmVudCBuYW1lcy48L3A+XG4gICAgICAgICAgPHA+RS5nLiBcImNsYXNzTmFtZVwiLCBcImNoYXJTZXRcIiwgLi4uPC9wPlxuICAgICAgICAgIDxwPiBUaGlzIGlzIGFsc28gdGhlIGNhc2Ugd2hlbiB1c2luZyB0aGUgc3R5bGUtYXR0cmlidXRlLjwvcD5cbiAgICAgICAgICA8cD4gRS5nLiA8Y29kZT5zdHlsZT0mIzEyMzsmIzEyMzt2ZWN0b3JFZmZlY3Q6ICZxdW90O25vbi1zY2FsaW5nLXN0cm9rZSZxdW90OyYjMTI1OyYjMTI1OzwvY29kZT48L3A+XG4gICAgICAgICAgPHA+VGhpcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgY3NzIGZpbGUhPC9wPlxuICAgICAgICA8L3RoPlxuICAgICAgPC90cj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoPlN0eWxlIGF0dHJpYnV0ZTwvdGg+XG4gICAgICAgIDx0aD5cbiAgICAgICAgICA8cD4gc3R5bGU9XCI8dmFyPmF0dHJpYnV0ZTwvdmFyPjogPHZhcj52YWx1ZTwvdmFyPjsgPHZhcj5hdHRyaWJ1dGU8L3Zhcj46IDx2YXI+dmFsdWU8L3Zhcj5cIiA8L3A+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0aD5cbiAgICAgICAgICA8cD4gc3R5bGU9JiMxMjM7JiMxMjM7PHZhcj5hdHRyaWJ1dGU8L3Zhcj46IFwiPHZhcj52YWx1ZTwvdmFyPlwiLCA8dmFyPmF0dHJpYnV0ZTwvdmFyPjogXCI8dmFyPnZhbHVlPC92YXI+XCIgJiMxMjU7JiMxMjU7PC9wPlxuICAgICAgICA8L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RhYmxlPlxuICAgIDwvPlxuICApXG59XG5cblxuIGZ1bmN0aW9uIFNvdXJjZXMoKXtcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLWljb25zXCIgdGl0bGU9XCJJbWFnZXMgYW5kIEljb25zXCIgPlxuICAgICAgTW9zdCB0ZWFtcyBuZWVkIGEgbG90IG9mIHBpY3R1cmVzLCBjb21wb25lbnRzLCBpY29ucyBhbmQgYWxpa2UuIFRoZXkgY2FuIGJlIGRpZmZpY3VsdCB0byBmaW5kLCBlc3BlY2lhbGx5IGZyZWUgYW5kIG9wZW4gc291cmNlIG9uZXMuXG4gICAgICBcbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vYmlvaWNvbnMuY29tL1wiPiBodHRwczovL2Jpb2ljb25zLmNvbS88L2E+IDwvbGk+XG4gICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly90b2dvdHYuZGJjbHMuanAvZW4vcGljcy5odG1sXCIgPiBodHRwczovL3RvZ290di5kYmNscy5qcC9lbi9waWNzLmh0bWwgPC9hPiA8L2xpPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vc21hcnQuc2Vydmllci5jb20vXCIgPmh0dHBzOi8vc21hcnQuc2Vydmllci5jb20vPC9hPiA8L2xpPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vb3BlbmNsaXBhcnQub3JnL1wiID4gaHR0cHM6Ly9vcGVuY2xpcGFydC5vcmcvPC9hPiA8L2xpPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vY29tbW9ucy53aWtpbWVkaWEub3JnL3dpa2kvQ2F0ZWdvcnk6U1ZHX2ZpbGVzXCIgPmh0dHBzOi8vY29tbW9ucy53aWtpbWVkaWEub3JnL3dpa2kvQ2F0ZWdvcnk6U1ZHX2ZpbGVzPC9hPiA8L2xpPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9cIj5odHRwczovL3d3dy5mbGF0aWNvbi5jb20vPC9hPiA8L2xpPlxuICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vYmlvbG9naWNhbGljb25zLmNvbS9lblwiPmh0dHBzOi8vYmlvbG9naWNhbGljb25zLmNvbS9lbjwvYT4gPC9saT5cbiAgICAgICAgICA8bGk+IDxhIGhyZWY9XCJodHRwczovL3d3dy5zdmdyZXBvLmNvbS9cIj5odHRwczovL3d3dy5zdmdyZXBvLmNvbS88L2E+IDwvbGk+XG4gICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaHVtYW5iaW9tZWRpYS5vcmcvXCI+aHR0cHM6Ly93d3cuaHVtYW5iaW9tZWRpYS5vcmcvPC9hPiA8L2xpPlxuICAgICAgICA8L3VsPlxuXG4gICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS1jb2xvcnNcIiB0aXRsZT1cIkNvbG91cnNcIiA+XG4gICAgICAgIE5lZWQgYSBzbGlnaHRseSBsaWdodGVyIHZlcnNpb24gb2Ygb25lIG9mIHlvdXIgY29sb3JzIG9yIGEgbWl4IG9mIHR3byBjb2xvdXJzPyBcbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9jb2xvcnMvY29sb3JzX21peGVyLmFzcFwiPiBodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2NvbG9ycy9jb2xvcnNfbWl4ZXIuYXNwPC9hPjwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10b29sc1wiIHRpdGxlPVwiQ29kaW5nIFRvb2xzXCI+XG4gICAgICAgIEdlbmVyYXRvcnNcbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cuY3NzcG9ydGFsLmNvbS9cIj5odHRwczovL3d3dy5jc3Nwb3J0YWwuY29tLzwvYT48L2xpPlxuICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly9odG1sY3NzLnRvb2xzL1wiPmh0dHBzOi8vaHRtbGNzcy50b29scy88L2E+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvQ29sbGFwc2libGU+XG5cbiAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktcGxhY2Vob2xkZXJcIiB0aXRsZT1cIlBsYWNlaG9sZGVyc1wiPlxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL3d3dy5sb3JlbWlwc3VtLmRlL1wiPmh0dHBzOi8vd3d3LmxvcmVtaXBzdW0uZGUvPC9hPjwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L0NvbGxhcHNpYmxlPlxuXG4gICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXN2Z3NcIiB0aXRsZT1cIlNWR3NcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly9zdXBlcmRlc2lnbmVyLmNvL3Rvb2xzL3N2Zy1iYWNrZ3JvdW5kc1wiPmh0dHBzOi8vc3VwZXJkZXNpZ25lci5jby90b29scy9zdmctYmFja2dyb3VuZHM8L2E+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvQ29sbGFwc2libGU+XG5cbiAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktYWNjZXNzaWJpbGl0eVwiIHRpdGxlPVwiQWNjZXNzaWJpbGl0eVwiPlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+PGEgaHJlZj1cImh0dHBzOi8vc2NoZW1hLm9yZ1wiPmh0dHBzOi8vc2NoZW1hLm9yZzwvYT48L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgPC9kaXY+XG5cbiAgKVxufSBcblxuXG5cbmltcG9ydCB7IFdpa2lTZWxlY3RvciB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbHRlclwiO1xuaW1wb3J0IHsgQ29kZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0NvZGVcIjtcbmZ1bmN0aW9uIFRyb3VibGVzaG9vdGluZygpe1xuICBcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICBQbGVhc2Ugc2VsZWN0IHdoYXQgeW91IHdhbnQgdG8gdHJvdWJsZXNob290IGZvci4gXG4gICAgICA8V2lraVNlbGVjdG9yPjwvV2lraVNlbGVjdG9yPlxuICAgICAgPGRpdiBpZD1cIm5vbm9cIiBjbGFzc05hbWU9XCJub3Nob3dcIj5cbiAgICAgICAgVGhpcyBjb21iaW5hdGlvbiByZXR1cm5zIG5vIGluc3RhbmNlcy4gXG4gICAgICA8L2Rpdj5cbiAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmFibGUgYWxsIHJlYWN0IHR5cGUgcHJvcGVydHlcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTFcIiB0aXRsZT1cIkFyZ3VtZW50IG9mIHR5cGUgWCBpcyBub3QgYXNzaWduYWJsZSB0byBwYXJhbWV0ZXIgb2YgdHlwZSBZLiBcIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICBcbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCB0eXBlXCI+IFxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXRyb3VibGUtMlwiIHRpdGxlPVwiVHlwZSBYIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgWS5cIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCBjc3NcIj4gXG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktdHJvdWJsZS0zXCIgdGl0bGU9XCJJIGFkZGVkIGNzcyBzdHlsZXMgYnV0IHRoZXkgZG8gbm90IHNob3dcIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8cD5UaGUgY29sb3IgaXMgbm90IHNob3dpbmcgb24gaG92ZXIuPC9wPlxuICAgICAgICA8Q29kZT4ubmF2LWxpbms6aG92ZXIgJiMxMjM7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWRhcmtwdXJwbGUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdykgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgJiMxMjU7PC9Db2RlPlxuICAgICAgICA8aDY+U29sdXRpb248L2g2PlxuICAgICAgICA8cD5TdHlsZXMgbm90IHNob3dpbmcgaXMgb2Z0ZW4gYSBjYXNlIG9mIGEgZGlmZmVyZW50IHN0eWxlIG92ZXJyaWRpbmcgeW91ciBzdHlsZS4gU29tZSBzdHlsZXMgYXJlIHByZSBkZWZpbmVkIGJ5IGJvb3RzdHJhcCBvciBvdGhlciBwYWNrYWdlcyB5b3UgbWF5IHVzZS4gPC9wPlxuICAgICAgICA8cD4gSWYgYW4gZXh0ZXJuYWwgcGFja2FnZSBpcyBvdmVycmlkaW5nIHlvdXIgc3R5bGUsIHlvdSBuZWVkIHRvIGFkZCB0aGUgPGI+IWltcG9ydGFudDwvYj4gdGFnIHRvIHlvdXIgc3R5bGUuIDwvcD5cbiAgICAgICAgPHA+IElmIG9uZSBvZiB5b3VyIG93biBzdHlsZXMgaXMgb3ZlcnJpZGluZyB0aGUgbmV3IHN0eWxlLCB5b3UgY2FuIGNoYW5nZSB5b3VyIG9sZCBzdHlsZSBvciBkZWZpbmUgYSBuZXcsIG1vcmUgc3BlY2lmaWMgc3R5bGUgY2FzZS4gRS5nLiBieSB1c2luZyBhIG1vcmUgc3BlY2lmaWMgY3NzIHBhdGguIEJ1dCB5b3UgbWF5IHN0aWxsIG5lZWQgdG8gYWRkIHRoZSA8Yj4haW1wb3J0YW50PC9iPiB0YWcuIDwvcD5cbiAgICAgICAgPENvZGU+IC5uYXYtbGluazpob3ZlciAmIzEyMztcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZGFya3B1cnBsZSkgPGI+IWltcG9ydGFudDwvYj47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93KSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAmIzEyNTtcbiAgICAgICAgICA8L0NvZGU+XG4gICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsdGVyYWJsZSBhbGwgIHJlYWN0IHR5cGUgcHJvcGVydHlcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTRcIiB0aXRsZT1cIlByb3BlcnR5IHggaXMgbWlzc2luZyBpbiB0eXBlIHkgYnV0IHJlcXVpcmVkIGluIHR5cGUgei5cIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+IEFyZ3VtZW50IG9mIHR5cGUgJyYjMTIzOyBbeDogc3RyaW5nXTogYW55OyAmIzEyNTsnIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHBhcmFtZXRlciBvZiB0eXBlICcmIzEyMzsgY2xhc3NOYW1lczogc3RyaW5nW107ICYjMTI1OycuXG4gICAgICAgIFByb3BlcnR5ICdjbGFzc05hbWVzJyBpcyBtaXNzaW5nIGluIHR5cGUgJyYjMTIzOyBbeDogc3RyaW5nXTogYW55OyAmIzEyNTsnIGJ1dCByZXF1aXJlZCBpbiB0eXBlICcmIzEyMzsgY2xhc3NOYW1lczogc3RyaW5nW107ICYjMTI1OycuPC9wPlxuICAgICAgICA8cD4gZm9yIDwvcD5cbiAgICAgICAgPENvZGU+Y2xhc3NOYW1lPSYjMTIzO2pvaW5DbGFzc05hbWVzKCYjMTIzO1smIzM5O3RleHQtZXZlbnQmIzM5OywgY2xhc3NOYW1lXSYjMTI1OykmIzEyNTsgPC9Db2RlPlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPHA+SW4gdGhpcyBleGFtcGxlLCB0aGUgcHJvYmxlbSB3YXMgdGhhdCB0aGUgcHJvcGVydHkgXCJjbGFzc05hbWVzXCIgd2FzIG5vdCBleHBsaWNpdGx5IG5hbWVkLjwvcD5cbiAgICAgICAgPHA+Q2hhbmdpbmcgaXQgdG8gPC9wPlxuICAgICAgICAgIDxDb2RlPmNsYXNzTmFtZT0mIzEyMztqb2luQ2xhc3NOYW1lcygmIzEyMzs8Yj5jbGFzc05hbWVzOjwvYj5bJiMzOTt0ZXh0LWV2ZW50ICYjMzk7LCBjbGFzc05hbWVdJiMxMjU7KSYjMTI1OzwvQ29kZT5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCB0eXBlIHByb3BlcnR5XCI+XG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktdHJvdWJsZS01XCIgdGl0bGU9XCJQcm9wZXJ0eSB4IGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgWS5cIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCB0eXBlIHByb3BlcnR5XCI+XG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktdHJvdWJsZS02XCIgdGl0bGU9XCJUeXBlIFggaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgZnJvbSB0eXBlIFk6IGEsIGIsIGNcIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+XG4gICAgICAgIFR5cGUgJyYjMTIzOyBkYXRlOiBzdHJpbmc7IHRleHQ6IHN0cmluZzsgJiMxMjU7JyBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBmcm9tIHR5cGUgJ1RleHRFdmVudFByb3BzJzogbWFya2VyLCBjYXJkXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+SW4gcmVmZXJlbmNlIG9mIHRoZSBpbnRlcmZhY2UgVGV4dEV2ZW50UHJvcHM6PC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgPHA+aW50ZXJmYWNlIFRleHRFdmVudFByb3BzICYjMTIzOyA8L3A+XG4gICAgICAgIDxwPmRhdGU6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD50ZXh0OiBzdHJpbmc7IDwvcD5cbiAgICAgICAgPHA+bWFya2VyOiBSZWFjdC5SZWFjdE5vZGU7IDwvcD5cbiAgICAgICAgPHA+aWQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5jYXJkOiBGdW5jdGlvbjsgPC9wPlxuICAgICAgICAmIzEyNTtcbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8cD5Gb3IgdGhlIGNvZGU6PC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgICA8cD4gJmx0O1RleHRFdmVudCA8L3A+XG4gICAgICAgICAgPHA+IGlkPVwiMDVcIjwvcD5cbiAgICAgICAgICA8cD4gZGF0ZT1cIjE0LTA2LTIwMjRcIjwvcD5cbiAgICAgICAgICA8cD4gdGV4dD1cIlRlc3QgdGVzdFwiPC9wPlxuICAgICAgICAgIDxwPiAvJmd0OzwvcD5cbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPHA+T25lIHNvbHV0aW9uIGNvdWxkIGJlIGdldHRpbmcgcmlkIG9mIHRoZSBwcm9wZXJ0aWVzIHlvdSBkbyBub3QgbmVlZCBldmVyeXdoZXJlIGFuZCBjcmVhdGUgbmV3IHByb3BlcnR5IGludGVyZmFjZXMgZm9yIGFsbCBjYXNlcy48L3A+XG4gICAgICAgIDxwPklmIHlvdSB3YW50IHRvIHN0aWNrIHRvIG1vcmUgZ2VuZXJhbCBJbnRlcmZhY2VzLCB5b3UgY2FuIG1ha2UgcHJvcGVydGllcyBvcHRpb25hbDo8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5pbnRlcmZhY2UgVGV4dEV2ZW50UHJvcHMgJiMxMjM7IDwvcD5cbiAgICAgICAgPHA+ZGF0ZTogc3RyaW5nOyA8L3A+XG4gICAgICAgIDxwPnRleHQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5tYXJrZXI/OiBSZWFjdC5SZWFjdE5vZGU7IDwvcD5cbiAgICAgICAgPHA+aWQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5jYXJkPzogRnVuY3Rpb247IDwvcD5cbiAgICAgICAgJiMxMjU7XG4gICAgICAgIDwvQ29kZT5cbiAgICAgICAgPHA+UmVtZW1iZXIgdGhhdCB0aGlzIGNhbiBsZWFkIHRvIGRpZmZlcmVudCByZXR1cm4gY2FzZXMgZm9yIHlvdXIgZnVuY3Rpb25zLjwvcD5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCB0eXBlXCI+XG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktdHJvdWJsZS03XCIgdGl0bGU9XCJUeXBlICd4IHwgdW5kZWZpbmVkJyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICd4Jy5cIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCBwaXBlbGluZVwiPlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXRyb3VibGUtOFwiIHRpdGxlPVwiVGhlIHBpcGVsaW5lIHBhc3NlZCBidXQgdGhlIFdpa2kgaXMgbm90IHZpc2libGUgdW5kZXIgdGhlIHVybFwiPlxuICAgICAgICA8cD5UaGlzIGVycm9yIGNvdWxkIGJlIGEgcmVzdWx0IG9mIGEgd3JvbmcgYmFzZSB1cmwgaW4gdGhlIHZpdGUuY29uZmlnLmpzIGZpbGUuPC9wPlxuICAgICAgICA8cD5FLmcuIGlmIHlvdSBzd2l0Y2hlZCBmcm9tIHBsYWluIEhUTUwgdG8gdGhlIHJlYWN0IGZyYW1ld29yay4gPC9wPlxuICAgICAgICA8aDY+RXhhbXBsZTwvaDY+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICAgIDxwPnJldHVybiBkZWZpbmVDb25maWcoJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPmJhc2U6IGAvYCw8L3A+XG4gICAgICAgICAgPHA+Li4uPC9wPlxuICAgICAgICA8L0NvZGU+XG4gICAgICAgIDxoNj5Tb2x1dGlvbjwvaDY+XG4gICAgICAgIDxwPkNoYW5nZSB0aGUgYmFzZSB1cmwgdG8gcmVmbGVjdCB0aGUgY29ycmVjdCB0ZWFtIHVybC48L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICAgIDxwPnJldHVybiBkZWZpbmVDb25maWcoJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPmJhc2U6IGAvJCYjMTIzO3N0cmluZ1RvU2x1ZyhlbnYuVklURV9URUFNX05BTUUpJiMxMjU7L2AsPC9wPlxuICAgICAgICAgIDxwPi4uLjwvcD5cbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmFibGUgYWxsIGNvbnNvbGVcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTlcIiB0aXRsZT1cIk5TX0VSUk9SX0NPUlJVUFRFRF9DT05URU5UIGVycm9yIGluIGNvbnNvbGVcIj5cbiAgICAgICAgPHA+ICZyYXJyOyBTZWUgYWxzbyBcIlRoZSBwaXBlbGluZSBwYXNzZWQgYnV0IHRoZSBXaWtpIGlzIG5vdCB2aXNpYmxlIHVuZGVyIHRoZSB1cmxcIiBhcyB0aGVzZSBlcnJvcnMgY2FuIGJlIGNvbm5lY3RlZC48L3A+XG4gICAgICAgIDxwPiBUaGlzIGVycm9yIGZvciBjc3MgYW5kIGpzIGZpbGVzIGNhbiBiZSB0aGUgcmVzdWx0IG9mIHdyb25nIDxiPnJvbGx1cE9wdGlvbnM8L2I+IGluIGZvciB0aGUgYnVpbGQsIHRvIGJlIHNwZWNpZmljIHdyb25nIDxiPm91dHB1dDwvYj4gYW5kIDxiPmFzc2V0RmlsZU5hbWVzPC9iPiBvcHRpb25zIGFuZCBwb3NzaWJseSB3cm9uZy9lbXB0eSA8Yj5jc3M8L2I+IG9wdGlvbnMgaW4geW91ciB2aXRlLmNvbmZpZy5qcy4gPC9wPlxuICAgICAgICA8aDY+RXhhbXBsZTwvaDY+XG4gICAgICAgIDxwPkluIG91ciBjYXNlLCB3ZSBoYWQgdGhlIGZvbGxvd2luZyBjb2RlIG9uIG91ciB2aXRlLmNvbmZpZy5qczwvcD5cbiAgICAgICAgPENvZGU+XG4gICAgICAgIDxwPmJ1aWxkOiAmIzEyMzsgPC9wPlxuICAgICAgPHA+b3V0RGlyOiBcImRpc3RcIiw8L3A+XG4gICAgICA8cD5yb2xsdXBPcHRpb25zOiAmIzEyMzs8L3A+XG4gICAgICAgIDxwPm91dHB1dDogJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPiBhc3NldEZpbGVOYW1lczogYGFzc2V0cy9bZXh0XS9bbmFtZV0tW2hhc2hdLltleHRdYDwvcD5cbiAgICAgICAgPHA+JiMxMjU7ICYjMTI1OyAmIzEyNTsgLCA8L3A+XG4gICAgICAgIDwvQ29kZT5cbiAgICAgICAgPHA+IE91ciA8Yj5jc3M8L2I+IG9wdGlvbnMgd2VyZSBlbXB0eSwgd2hpY2ggY291bGQgYWxzbyBoYXZlIHBsYXllZCBhIGZhY3RvciBmb3IgdGhlIGNzcyBmaWxlcy48L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5jc3M6ICYjMTIzOzwvcD5cbiAgICAgIDxwPnByZXByb2Nlc3Nvck9wdGlvbnM6ICYjMTIzOzwvcD5cbiAgICAgICAgPHA+Y3NzOiAmIzEyMzs8L3A+XG4gICAgICAgICAgPHA+ICAvL2phdmFzY3JpcHRFbmFibGVkOiB0cnVlLCAvLyBFbmFibGUgSmF2YVNjcmlwdCBpbiBDU1MgKHVzZWZ1bCBmb3IgY2VydGFpbiBDU1MgcHJlcHJvY2Vzc29yIHBsdWdpbnMpPC9wPlxuICAgICAgIDxwPiAmIzEyNTsgJiMxMjU7ICYjMTI1Oyw8L3A+ICBcbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmFibGUgYWxsIGNvbnNvbGVcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTEwXCIgdGl0bGU9XCJCbG9ja2VkIGR1ZSB0byBNSU1FIHR5cGUgKFx1MjAxQ3RleHQvaHRtbFx1MjAxRCkgbWlzbWF0Y2ggKFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYpIChGaXJlZm94KVwiPlxuICAgICAgICA8cD4gJnJhcnI7IFNlZSBhbHNvIFwiUmVmdXNlZCB0byBhcHBseSBzdHlsZSBmcm9tICZsdDsmbHQ7Y3NzIGZpbGUmZ3Q7Jmd0OyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCd0ZXh0L2h0bWwnKSBpcyBub3QgYSBzdXBwb3J0ZWQgc3R5bGVzaGVldCBNSU1FIHR5cGUsIHN0cmljdCBNSU1FIGNoZWNraW5nIGlzIGVuYWJsZWQgKEVkZ2UpXCI8L3A+XG4gICAgICAgIDxwPlRoaXMgZXJyb3IgY291bGQgPC9wPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmFibGUgYWxsIGNvbnNvbGVcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTExXCIgdGl0bGU9XCJSZWZ1c2VkIHRvIGFwcGx5IHN0eWxlIGZyb20gPDxjc3MgZmlsZT4+IGJlY2F1c2UgaXRzIE1JTUUgdHlwZSAoJ3RleHQvaHRtbCcpIGlzIG5vdCBhIHN1cHBvcnRlZCBzdHlsZXNoZWV0IE1JTUUgdHlwZSwgc3RyaWN0IE1JTUUgY2hlY2tpbmcgaXMgZW5hYmxlZCAoRWRnZSlcIj5cbiAgICAgICAgPHA+ICZyYXJyOyBTZWUgYWxzbyBcIkJsb2NrZWQgZHVlIHRvIE1JTUUgdHlwZSAoXHUyMDFDdGV4dC9odG1sXHUyMDFEKSBtaXNtYXRjaCAoWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZikgKEZpcmVmb3gpXCI8L3A+XG4gICAgICAgIDxwPlRoaXMgZXJyb3IgY291bGQgPC9wPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmFibGUgYWxsIHJlYWN0IHR5cGVcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTEyXCIgdGl0bGU9XCJUeXBlICd1bmRlZmluZWQnIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGluZGV4IHR5cGVcIj5cbiAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCBvdmVybG9hZFwiPlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXRyb3VibGUtMTNcIiB0aXRsZT1cIk5vIG92ZXJsb2FkIG1hdGNoZXMgdGhpcyBjYWxsLlwiPlxuICAgICAgICA8aDY+RXhhbXBsZTwvaDY+XG4gICAgICAgIDxoNj5Tb2x1dGlvbnM8L2g2PlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgPC9kaXY+IFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCByZWFjdCBtb2R1bGVcIj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10cm91YmxlLTE0XCIgdGl0bGU9XCJNb2R1bGUgWiBoYXMgYWxyZWFkeSBleHBvcnRlZCBhIG1lbWJlciBuYW1lZCBBLiBDb25zaWRlciBleHBsaWNpdGx5IHJlLWV4cG9ydGluZyB0byByZXNvbHZlIHRoZSBhbWJpZ3VpdHkuXCI+XG4gICAgICAgIDxoNj5FeGFtcGxlPC9oNj5cbiAgICAgICAgaW5kZXgudHN4OiBcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwicHJvYmxlbS1lcnJvclwiPiBNb2R1bGUgXCIuL0JmaC50c3hcIiBoYXMgYWxyZWFkeSBleHBvcnRlZCBhIG1lbWJlciBuYW1lZCAnTGFiVGFicycuIENvbnNpZGVyIGV4cGxpY2l0bHkgcmUtZXhwb3J0aW5nIHRvIHJlc29sdmUgdGhlIGFtYmlndWl0eS48L3A+XG4gICAgICAgIDxoNj5Tb2x1dGlvbnM8L2g2PlxuICAgICAgICBTaW1wbHkgcmVuYW1lIHRoZSBmdW5jdGlvbiBpbiBvbmUgb2YgdGhlIG1vZHVsZXMgb3IgY29uc2lkZXIgbWFraW5nIGl0IGEgY29tcG9uZW50IGlmIHlvdSBwbGFuIG9uIHVzaW5nIGl0IGZyZXF1ZW50bHkuICBcbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXJhYmxlIGFsbCBwaXBlbGluZVwiPlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXRyb3VibGUtMTVcIiB0aXRsZT1cImVycm9yIFRTNjEzMzogJ2V2ZW50JyBpcyBkZWNsYXJlZCBidXQgaXRzIHZhbHVlIGlzIG5ldmVyIHJlYWQuXCI+XG4gICAgICAgICAgPGg2PkV4YW1wbGU8L2g2PlxuICAgICAgICAgIEhvcml6b250YWxUaW1lbGluZS50c3g6IFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGVybWluYWwtYm94XCI+XG4gICAgICAgICAgICAkIHlhcm4gYnVpbGRcbiAgICAgICAgICAgIDxwPnlhcm4gcnVuIHYxLjIyLjE5PC9wPlxuICAgICAgICAgICAgPHA+JCB0c2MgJiYgdml0ZSBidWlsZDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRlcm1pbmFsLWVycm9yXCI+c3JjL2NvbXBvbmVudHMvSG9yaXpvbnRhbFRpbWVsaW5lLnRzeCg2NywyMyk6IGVycm9yIFRTNjEzMzogJ2V2ZW50JyBpcyBkZWNsYXJlZCBidXQgaXRzIHZhbHVlIGlzIG5ldmVyIHJlYWQuXG4gICAgICAgICAgICBlcnJvciBDb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAyLjwvcD5cbiAgICAgICAgICAgIDxwPmluZm8gVmlzaXQgaHR0cHM6Ly95YXJucGtnLmNvbS9lbi9kb2NzL2NsaS9ydW4gZm9yIGRvY3VtZW50YXRpb24gYWJvdXQgdGhpcyBjb21tYW5kLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwPmluPC9wPlxuICAgICAgICAgIDxDb2RlPlxuICAgICAgICAgIGNvbnN0IG9wZW5Qb3AgPSAgKGV2ZW50IDogUmVhY3QuTW91c2VFdmVudCZsdDtIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudCZndDspID0mZ3Q7IHt9XG4gICAgICAgICAgPC9Db2RlPlxuICAgICAgICAgIDxoNj5Tb2x1dGlvbnM8L2g2PlxuICAgICAgICAgIDxwPkNoYW5nZSB0bzogPC9wPlxuICAgICAgICAgIDxDb2RlPlxuICAgICAgICAgIGNvbnN0IG9wZW5Qb3AgPSAgKF9ldmVudCA6IFJlYWN0Lk1vdXNlRXZlbnQmbHQ7SFRNTEJ1dHRvbkVsZW1lbnQsIE1vdXNlRXZlbnQmZ3Q7KSA9Jmd0OyB7fVxuICAgICAgICAgIDwvQ29kZT5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59IFxuXG5cbiIsICJcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cblxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB2YWx1ZTogc3RyaW5nLFxuICBsYWJlbDogc3RyaW5nXG59XG5jb25zdCB3aWtpb3B0aW9ucyA9W1xuICB7dmFsdWU6IFwiYWxsXCIsIGxhYmVsOiBcIlNob3cgYWxsXCJ9LFxuICB7dmFsdWU6IFwicmVhY3RcIiwgbGFiZWw6IFwiUmVhY3RcIn0sXG4gIHt2YWx1ZTogXCJ0eXBlXCIsIGxhYmVsOiBcIlR5cGVzXCJ9LFxuICB7dmFsdWU6IFwicHJvcGVydHlcIiwgbGFiZWw6IFwiUHJvcGVydGllc1wifSxcbiAge3ZhbHVlOiBcInBpcGVsaW5lXCIsIGxhYmVsOiBcIkdpdExhYiBQaXBlbGluZVwifSxcbiAge3ZhbHVlOiBcImh0bWxcIiwgbGFiZWw6IFwiSFRNTFwifSxcbiAge3ZhbHVlOiBcImNzc1wiLCBsYWJlbDogXCJDU1NcIn0sXG4gIFxuXVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJNdWx0aVNlbGVjdGlvbihhcnI6IEFycmF5PFByb3BzPikge1xuICBjb25zdCBub25vID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJub25vXCIpO1xuICBpZiAobm9ubykge1xuICAgIG5vbm8uY2xhc3NOYW1lID0gXCJub3Nob3dcIjtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmFibGVFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJmaWx0ZXJhYmxlXCIpO1xuXG4gIC8vIFJlbW92ZSBcInNob3dcIiBjbGFzcyBmcm9tIGFsbCBlbGVtZW50c1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbHRlcmFibGVFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGVsID0gZmlsdGVyYWJsZUVsZW1lbnRzW2ldO1xuICAgIHczUmVtb3ZlQ2xhc3MoZWwsIFwic2hvd1wiKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFwiQmVnaW5cIik7XG5cbiAgLy8gQXBwbHkgZmlsdGVyIGNyaXRlcmlhXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsdGVyYWJsZUVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgZWwgPSBmaWx0ZXJhYmxlRWxlbWVudHNbaV07XG4gICAgbGV0IHNob3VsZFNob3cgPSB0cnVlO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBhcnIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBlbnRyeTogJHtlbnRyeS52YWx1ZX1gKTtcbiAgICAgIGlmICghZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGVudHJ5LnZhbHVlKSkge1xuICAgICAgICBzaG91bGRTaG93ID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBzaG91bGRTaG93OiAke3Nob3VsZFNob3d9YCk7XG4gICAgaWYgKHNob3VsZFNob3cpIHtcbiAgICAgIHczQWRkQ2xhc3MoZWwsIFwic2hvd1wiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiBhbnkgZWxlbWVudCBpcyBzaG93blxuICBjb25zdCBzaG93bkVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNob3dcIik7XG4gIGlmIChzaG93bkVsZW1lbnRzLmxlbmd0aCA8IDEgJiYgbm9ubykge1xuICAgIGNvbnNvbGUubG9nKHNob3duRWxlbWVudHMubGVuZ3RoKTtcbiAgICBub25vLmNsYXNzTmFtZSA9IFwic2hvd1wiO1xuICB9XG59XG5cbi8qIGZ1bmN0aW9uIGZpbHRlclNlbGVjdGlvbihsYWJlbDogc3RyaW5nKSB7XG4gIHZhciB4LCBpO1xuICB4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImZpbHRlcmFibGVcIik7XG4gIGlmIChsYWJlbCA9PSBcImFsbFwiKSBsYWJlbCA9IFwiXCI7XG4gIGZvciAoaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGVsID0geFtpXTsgXG4gICAgdzNSZW1vdmVDbGFzcyhlbCwgXCJzaG93XCIpO1xuICAgIGlmICh4W2ldLmNsYXNzTmFtZS5pbmRleE9mKGxhYmVsKSA+IC0xKSB3M0FkZENsYXNzKHhbaV0sIFwic2hvd1wiKTtcbiAgfVxufSAqL1xuICBcbmZ1bmN0aW9uIHczQWRkQ2xhc3MoZWxlbWVudDogRWxlbWVudCwgbmFtZTogc3RyaW5nKSB7XG4gIHZhciBpLCBhcnIxLCBhcnIyO1xuICBhcnIxID0gZWxlbWVudC5jbGFzc05hbWUuc3BsaXQoXCIgXCIpO1xuICBhcnIyID0gbmFtZS5zcGxpdChcIiBcIik7XG4gIGZvciAoaSA9IDA7IGkgPCBhcnIyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGFycjEuaW5kZXhPZihhcnIyW2ldKSA9PSAtMSkge2VsZW1lbnQuY2xhc3NOYW1lICs9IFwiIFwiICsgYXJyMltpXTt9XG4gIH1cbn1cblxuZnVuY3Rpb24gdzNSZW1vdmVDbGFzcyhlbGVtZW50OiBFbGVtZW50LCBuYW1lOiBzdHJpbmcpIHtcbiAgdmFyIGksIGFycjEsIGFycjI7XG4gIGFycjEgPSBlbGVtZW50LmNsYXNzTmFtZS5zcGxpdChcIiBcIik7XG4gIGFycjIgPSBuYW1lLnNwbGl0KFwiIFwiKTtcbiAgZm9yIChpID0gMDsgaSA8IGFycjIubGVuZ3RoOyBpKyspIHtcbiAgICB3aGlsZSAoYXJyMS5pbmRleE9mKGFycjJbaV0pID4gLTEpIHtcbiAgICAgIGFycjEuc3BsaWNlKGFycjEuaW5kZXhPZihhcnIyW2ldKSwgMSk7ICAgICBcbiAgICB9XG4gIH1cbiAgZWxlbWVudC5jbGFzc05hbWUgPSBhcnIxLmpvaW4oXCIgXCIpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBXaWtpU2VsZWN0b3IoKXtcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICA8V2lraUFjdGlvbj48L1dpa2lBY3Rpb24+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuY2xhc3MgV2lraUFjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHNlbGVjdGVkT3B0aW9uOiBudWxsLFxuICB9O1xuICBoYW5kbGVDaGFuZ2UgPSAoc2VsZWN0ZWRPcHRpb246IGFueSkgPT4ge1xuICBcdFxuICBcdHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZE9wdGlvbiB9LCAoKSA9PlxuICBcdGNvbnNvbGUubG9nKGBPcHRpb24gc2VsZWN0ZWQ6YCwgdGhpcy5zdGF0ZS5zZWxlY3RlZE9wdGlvbilcbiAgIFx0XG4gICAgKTtcbiAgICBcdGZpbHRlck11bHRpU2VsZWN0aW9uKHNlbGVjdGVkT3B0aW9uKVxuICB9O1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzZWxlY3RlZE9wdGlvbiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2VsZWN0XG4gICAgICAgIHZhbHVlPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICBpc011bHRpXG4gICAgICAgIG9wdGlvbnM9e3dpa2lvcHRpb25zfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e1t3aWtpb3B0aW9uc1swXV19XG4gICAgICAgIGNsYXNzTmFtZT1cImJhc2ljLW11bHRpLXNlbGVjdFwiXG4gICAgICAgIGNsYXNzTmFtZVByZWZpeD1cInNlbGVjdFwiXG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cblxuLyogVHlwZSAnKHNlbGVjdGVkT3B0aW9uOiBQcm9wcyB8IG51bGwpID0+IHZvaWQnIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJyhuZXdWYWx1ZTogTXVsdGlWYWx1ZTx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsPiwgYWN0aW9uTWV0YTogQWN0aW9uTWV0YTx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsPikgPT4gdm9pZCcuXG4gIFR5cGVzIG9mIHBhcmFtZXRlcnMgJ3NlbGVjdGVkT3B0aW9uJyBhbmQgJ25ld1ZhbHVlJyBhcmUgaW5jb21wYXRpYmxlLlxuICAgIFR5cGUgJ3JlYWRvbmx5ICh7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsKVtdJyBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBmcm9tIHR5cGUgJ1Byb3BzJzogdmFsdWUsIGxhYmVsICovXG4gICAgLyogY29uc3QgaHBvcHRpb25zID1bXG4gICAgICB7dmFsdWU6IFwiYWxsXCIsIGxhYmVsOiBcIkFsbFwifSxcbiAgICAgIHt2YWx1ZTogXCJBY2FkZW1pYVwiLCBsYWJlbDogXCJBY2FkZW1pYVwifSxcbiAgICAgIHt2YWx1ZTogXCJQYXRpZW50UGF0aWVudFwiLCBsYWJlbDogXCJQYXRpZW50XCJ9LFxuICAgICAge3ZhbHVlOiBcIk1lZGljYWxcIiwgbGFiZWw6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIn0sXG4gICAgICB7dmFsdWU6IFwicHJvcGVydHlcIiwgbGFiZWw6IFwiUHJvcGVydGllc1wifSxcbiAgICAgIHt2YWx1ZTogXCJwaXBlbGluZVwiLCBsYWJlbDogXCJHaXRMYWIgUGlwZWxpbmVcIn0sXG4gICAgICB7dmFsdWU6IFwiaHRtbFwiLCBsYWJlbDogXCJIVE1MXCJ9LFxuICAgICAge3ZhbHVlOiBcImNzc1wiLCBsYWJlbDogXCJDU1NcIn0sXG4gICAgICBcbiAgICBdXG5cbiAgICBleHBvcnQgZnVuY3Rpb24gSFBTZWxlY3Rvcigpe1xuICAgICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxIUEFjdGlvbj48L0hQQWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG5cblxuXG4gICAgY2xhc3MgSFBBY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uOiBudWxsLFxuICAgICAgfTtcbiAgICAgIGhhbmRsZUNoYW5nZSA9IChzZWxlY3RlZE9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWRPcHRpb24gfSwgKCkgPT5cbiAgICAgICAgY29uc29sZS5sb2coYE9wdGlvbiBzZWxlY3RlZDpgLCB0aGlzLnN0YXRlLnNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgXG4gICAgICAgICk7XG4gICAgICAgICAgZmlsdGVyTXVsdGlTZWxlY3Rpb24oc2VsZWN0ZWRPcHRpb24pXG4gICAgICB9O1xuICAgICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGVkT3B0aW9uIH0gPSB0aGlzLnN0YXRlO1xuICAgIFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIGlzTXVsdGlcbiAgICAgICAgICAgIG9wdGlvbnM9e2hwb3B0aW9uc31cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17W2hwb3B0aW9uc1swXV19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJiYXNpYy1tdWx0aS1zZWxlY3RcIlxuICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwic2VsZWN0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gKi8iLCAiZXhwb3J0IGZ1bmN0aW9uIENvZGUoe2NoaWxkcmVufTp7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0gKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2Rlc25pcHBldFwiPlxuICAgICAgICAgICAgPGNvZGU+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgIlxuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuaW1wb3J0IHsgSDIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIEltcHJlc3N1bSgpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIMiBpZD1cImltcHJlc3N1bVwiIHRleHQ9XCJJbXByZXNzdW1cIi8+XG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPGgzPjxiPmlHRU0gVGVhbSBCaWVsZWZlbGQgQ2VCaVRlYyAyMDI0PC9iPjwvaDM+XG4gICAgICAgICAgICA8Yj5SZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRlbnQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1IFRNRyBhbmQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1NSBBYnMuIDIgUlN0ViBHZXJtYW55OjwvYj48YnIgLz5cbiAgICAgICAgICAgIEpcdTAwRjZybiBLYWxpbm93c2tpPGJyIC8+XG4gICAgICAgICAgICBVbml2ZXJzaXRcdTAwRTR0c3N0cmFcdTAwREZlIDI1PGJyIC8+XG4gICAgICAgICAgICAzMzYxNSBCaWVsZWZlbGQ8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+Q29udGFjdDwvYj48YnIgLz5cbiAgICAgICAgICAgIEUtbWFpbDogdGVhbTIwMjRAaWdlbS1iaWVsZWZlbGQuZGU8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+U3VwZXJ2aXNvcnkgQXV0aG9yaXR5PC9iPjxiciAvPlxuICAgICAgICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkgLSBDZW50ZXIgZm9yIEJpb3RlY2hub2xvZ3kgKENlQmlUZWMpXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj4gIFxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG4gICIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5pbXBvcnQgSDEsIHsgSDIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gUGFydG5lcnMoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgPGRpdiBpZD1cInNpZGViYXJib3hcIiBjbGFzc05hbWU9XCJjb2wtMSBkLW5vbmUgZC1sZy1ibG9ja1wiPiA8L2Rpdj5cbiAgICAgICAgPGJyLz4gXG4gICAgICAgIDxIMSAgdGV4dD1cIkEgYmlnIHRoYW5rIHlvdSB0byBhbGwgb3VyIHNwb25zb3JzIGFuZCBwYXJ0bmVycyFcIj48L0gxPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8YnIvPlxuXG4gICAgICAgIDxici8+IFxuICAgICAgICB7LyogR09MRCAqL31cbiAgICAgICAgPEgyIGlkPVwiZ29sZFwiIHRleHQ9XCJTcG9uc29yIGNhdGVnb3J5IEdvbGRcIi8+XG4gICAgICAgIDxici8+IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lciBzcC1hXCIgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sb2dvcy10ZWFtL3VuaS1iaWVsZWZlbGQtZHVua2VsLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXIgc3AtYVwiIGhyZWY9XCJodHRwczovL3d3dy5jZWJpdGVjLnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxici8+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cInplaXNzLXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwiY29sLTUgc3BvbnNvci1wb3J0cmFpdFwiPlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwOi8vd3d3LnplaXNzLmRlL25hdHVyd2lzc2Vuc2NoYWZ0ZW5cIj5cbiAgICAgICAgICAgIDxpbWcgaWQ9XCJ6ZWlzcy1wb3J0cmFpdC1sb2dvXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvemVpc3MucG5nXCI+PC9pbWc+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ6ZWlzcy10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGg0PlpFSVNTIGlzdCBUZWNobm9sb2dpZS4gWkVJU1MgaXN0IE9wdGlrIHVuZCBJbm5vdmF0aW9uLjwvaDQ+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPHA+IFdpciBlbnR3aWNrZWxuLCBmZXJ0aWdlbiB1bmQgdmVydHJlaWJlbiBmXHUwMEZDciB1bnNlcmUgS3VuZGVuIGluIGVpbmVyIFZpZWx6YWhsIHZvbiBHZXNjaFx1MDBFNGZ0c2ZlbGRlcm4gaG9jaGlubm92YXRpdmUgUHJvZHVrdGUgdW5kIExcdTAwRjZzdW5nZW4gXHUyMDEzIHVuZCBsb3RlbiBkYWJlaSBkaWUgR3JlbnplbiBkZXMgTWFjaGJhcmVuIGF1cy4gQWxzIHdlbHR3ZWl0IGZcdTAwRkNocmVuZGVzIFRlY2hub2xvZ2lldW50ZXJuZWhtZW4sIG1pdCBlaW5lciBzdGFya2VuIE1hcmtlIHVuZCBtaXQgZWluZW0gUG9ydGZvbGlvLCBkYXMgYXVmIFdhY2hzdHVtc2ZlbGRlciBkZXIgWnVrdW5mdCB3aWUgRGlnaXRhbGlzaWVydW5nLCBHZXN1bmRoZWl0IHVuZCBJbmR1c3RyaWUgNC4wIGF1c2dlcmljaHRldCBpc3QsIGdlc3RhbHRlbiB3aXIgZGllIFp1a3VuZnQgd2VpdCBcdTAwRkNiZXIgZGllIG9wdGlzY2hlIHVuZCBvcHRvZWxla3Ryb25pc2NoZSBCcmFuY2hlIGhpbmF1cy4gR3J1bmRsYWdlIGZcdTAwRkNyIGRlbiBFcmZvbGcgdW5kIGRlbiB3ZWl0ZXJlbiBrb250aW51aWVybGljaGVuIEF1c2JhdSBkZXIgVGVjaG5vbG9naWUgdW5kIE1hcmt0Zlx1MDBGQ2hyZXJzY2hhZnQgdm9uIFpFSVNTIHNpbmQgZGllIG5hY2hoYWx0aWcgaG9oZW4gQXVmd2VuZHVuZ2VuIGZcdTAwRkNyIEZvcnNjaHVuZyB1bmQgRW50d2lja2x1bmcuIEhhdXB0c3RhbmRvcnQgZGVzIDE4NDYgaW4gSmVuYSBnZWdyXHUwMEZDbmRldGVuIFVudGVybmVobWVucyBpc3QgT2JlcmtvY2hlbiwgRGV1dHNjaGxhbmQuIEFsbGVpbmlnZSBFaWdlbnRcdTAwRkNtZXJpbiBkZXIgRGFjaGdlc2VsbHNjaGFmdCwgZGVyIENhcmwgWmVpc3MgQUcsIGlzdCBkaWUgQ2FybC1aZWlzcy1TdGlmdHVuZywgZWluZSBkZXIgZ3JcdTAwRjZcdTAwREZ0ZW4gZGV1dHNjaGVuIFN0aWZ0dW5nZW4genVyIEZcdTAwRjZyZGVydW5nIGRlciBXaXNzZW5zY2hhZnQuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJpZHQtdGV4dFwiIGNsYXNzTmFtZT1cImNvbCBzcG9uc29yLXRleHQtbGVmdFwiPlxuICAgICAgICAgICAgICA8aDQ+QWNjZWxlcmF0ZSB0aGUgcGFjZSBvZiBnZW5vbWljcy4gV2UnbGwgaGVscC48L2g0PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8cD4gRm9yIG1vcmUgdGhhbiAzNSB5ZWFycywgSW50ZWdyYXRlZCBETkEgVGVjaG5vbG9naWVzIChJRFQpICBoYXMgZW1wb3dlcmVkIGdlbm9taWNzIGxhYm9yYXRvcmllcyB3aXRoIGFuIG9saWdvbnVjbGVvdGlkZSBtYW51ZmFjdHVyaW5nIHByb2Nlc3MgdW5saWtlIGFueW9uZSBlbHNlIGluIHRoZSBpbmR1c3RyeSwgZmVhdHVyaW5nIHRoZSBtb3N0IGFkdmFuY2VkIHN5bnRoZXNpcywgbW9kaWZpY2F0aW9uLCBwdXJpZmljYXRpb24sIGFuZCBxdWFsaXR5IGNvbnRyb2wgY2FwYWJpbGl0aWVzIGF2YWlsYWJsZS4gSURUIGhhcyBzdXBwb3J0ZWQgaUdFTSB0ZWFtIGZvciBvdmVyIGEgZGVjYWRlIHdpdGggMjBrYiBvZiBmcmVlIEROQSB0byBoZWxwIGFjY2VsZXJhdGUgdGhlaXIgaW5zcGlyaW5nIHByb2plY3RzIGZvciB0aGUgR3JhbmQgSmFtYm9yZWUuIFNpbmNlIGl0cyBmb3VuZGluZyBpbiAxOTg3LCBJRFQgaGFzIHByb2dyZXNzZWQgZnJvbSBhIGxlYWRpbmcgb2xpZ28gbWFudWZhY3R1cmVyIHRvIGEgZ2Vub21pY3Mgc29sdXRpb25zIHByb3ZpZGVyIHN1cHBvcnRpbmcga2V5IGFwcGxpY2F0aW9uIGFyZWFzIHN1Y2ggYXMgbmV4dCBnZW5lcmF0aW9uIHNlcXVlbmNpbmcsIENSSVNQUiBnZW5vbWUgZWRpdGluZywgc3ludGhldGljIGJpb2xvZ3ksIGRpZ2l0YWwgUENSLCBhbmQgUk5BIGludGVyZmVyZW5jZS4gSURUIG1hbnVmYWN0dXJlcyBwcm9kdWN0cyB1c2VkIGJ5IHNjaWVudGlzdHMgcmVzZWFyY2hpbmcgdGhlIHRvdWdoZXN0IGNoYWxsZW5nZXMgZmFjaW5nIG91ciBwbGFuZXQgdG9kYXkgYXMgd2VsbCBhcyBtYW55IGZvcm1zIG9mIGNhbmNlciBhbmQgbW9zdCBpbmhlcml0ZWQgYW5kIGluZmVjdGlvdXMgZGlzZWFzZXMuIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaWR0ZG5hLmNvbS9cIiBpZD1cImlkdC1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cImNvbC01IHNwb25zb3ItcG9ydHJhaXRcIj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImludGVncmEtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCI+XG4gICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmludGVncmEtYmlvc2NpZW5jZXMuY29tXCI+XG4gICAgICAgICAgICA8aW1nIGlkPVwiaW50ZWdyYS1wb3J0cmFpdC1sb2dvXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvaW50ZWdyYS1oaW50ZXJsZWd0LmpwZWdcIj48L2ltZz5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cImludGVncmEtdGV4dFwiIGNsYXNzTmFtZT1cImNvbCBzcG9uc29yLXRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxoND4gWW91ciBSZWxpYWJsZSBQYXJ0bmVyIEZvciBQcm9kdWN0aXZlIFBpcGV0dGVzIDwvaDQ+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBJTlRFR1JBIEJpb3NjaWVuY2VzIGlzIGFcbiAgICAgICAgICAgIGxlYWRpbmcgcHJvdmlkZXIgb2YgaGlnaC1xdWFsaXR5IGxhYm9yYXRvcnkgdG9vbHMgYW5kIGNvbnN1bWFibGVzIGZvclxuICAgICAgICAgICAgbGlxdWlkIGhhbmRsaW5nLiBUaGUgY29tcGFueSBpcyBjb21taXR0ZWQgdG8gY3JlYXRpbmcgaW5ub3ZhdGl2ZVxuICAgICAgICAgICAgc29sdXRpb25zIHdoaWNoIGZ1bGZpbCB0aGUgbmVlZHMgb2YgaXRzIGN1c3RvbWVycyBpbiByZXNlYXJjaCwgZGlhZ25vc3RpY3NcbiAgICAgICAgICAgIGFuZCBxdWFsaXR5IGNvbnRyb2wgd2l0aGluIHRoZSBsaWZlIHNjaWVuY2VzIG1hcmtldHMgYW5kIG1lZGljYWwgc2VjdG9yLlxuICAgICAgICAgICAgSU5URUdSQVx1MjAxOXMgZW5naW5lZXJpbmcgYW5kIHByb2R1Y3Rpb24gdGVhbXMgaW4gWml6ZXJzLCBTd2l0emVybGFuZCBhbmRcbiAgICAgICAgICAgIEh1ZHNvbiwgTkgsIFVTQSwgc3RyaXZlIHRvIGRldmVsb3AgYW5kIG1hbnVmYWN0dXJlIGluc3RydW1lbnRzIGFuZFxuICAgICAgICAgICAgY29uc3VtYWJsZXMgb2Ygb3V0c3RhbmRpbmcgcXVhbGl0eS4gVG9kYXksIElOVEVHUkFcdTIwMTlzIGlubm92YXRpdmVcbiAgICAgICAgICAgIGxhYm9yYXRvcnkgcHJvZHVjdHMgYXJlIHdpZGVseSB1c2VkIGFsbCBhcm91bmQgdGhlIHdvcmxkIHdoZXJlIHRoZXkgaGVscFxuICAgICAgICAgICAgc2NpZW50aXN0cyBhY2NlbGVyYXRlIHNjaWVudGlmaWMgZGlzY292ZXJ5LiBPdXIgcmV2b2x1dGlvbmFyeSBjb25jZXB0XG4gICAgICAgICAgICBjb21iaW5lcyBpbm5vdmF0aXZlIHBpcGV0dGluZyB3aXRoIHRoZSBtb3N0IG1vZGVybiByb2JvdGljcy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+IFxuICAgICAgICB7LyogU0lMVkVSICovfVxuICAgICAgICA8SDIgdGV4dD1cIlNwb25zb3IgY2F0ZWdvcnkgc2lsdmVyXCIgaWQ9XCJzaWx2ZXJcIi8+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwic3BvbnNvci1wb3J0cmFpdFwiIHN0eWxlPXt7cGFkZGluZzogXCIyMHB4XCJ9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cIlwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy96eW1vLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgU3RlbWNlbGxcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5wbGFzbWlkZmFjdG9yeS5jb20vXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3BsYXNtaWRmYWN0b3J5LnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICBXb2xmZlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vc25hcGdlbmUuY29tXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3NuYXBnZW5lLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9iaW9ucnctbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIHsvKiBCUk9OWkUgKi99XG4gICAgICAgIDxIMiB0ZXh0PVwiU3BvbnNvciBjYXRlZ29yeSBicm9uemVcIiBpZD1cImJyb256ZVwiPjwvSDI+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwic3BvbnNvci1wb3J0cmFpdFwiIHN0eWxlPXt7cGFkZGluZzogXCIyMHB4XCJ9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cInd3dy5wcm9tZWdhLmNvbVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvcHJvbWVnYS1nZWxiLnBuZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cIlwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvbWljcm9zeW50aC1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvbmViLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXRleHRcIiBjbGFzc05hbWU9XCJjb2wgc3BvbnNvci10ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPEgyIHRleHQ9XCJCRkggTWVldFVwIHNwb25zb3JzLi4uXCIgaWQ9XCJiZmgtc3BvbnNvcnNcIi8+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxwPjwvcD4gXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cInByb2plY3QtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNiBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5naXAuY29tL2hvbWUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2dpcC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuamVuYWJpb3NjaWVuY2UuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9qYnMtZHVua2VsZ3J1ZW4tdGV4dC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgViBCaW9cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgTU5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIGZpelxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICBjZWxsIHNpZ25hbGluZyB0ZWNobm9sb2dpZXNcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIEdBU0JcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJtZWV0dXAtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cIlwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9hc2ltb3YtY29sb3JmdWwucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvZmFrdWx0YWV0ZW4vdGVjaG5pc2NoZS1mYWt1bHRhZXQvYXJiZWl0c2dydXBwZW4vbXVsdGlzY2FsZS1iaW9lbmdpbmVlcmluZy9jYW1wdXNicmF1ZXJlaS9cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2NhbXB1cy1icmF1ZXJlaS5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2FsZ2VuaXVtLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbG9nb3MtdGVhbS9vdGhlci10ZWFtcy9ndS1mcmFua2Z1cnQtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2J0cy1ldi5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9idHMucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT4gXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cIlwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sb2dvcy10ZWFtL290aGVyLXRlYW1zL2lnZW0taGFtYnVyZy1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3N0dWRzY2ljb20tbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxuICAgICAgICAgIDxkaXYgaWQ9XCJtZWV0dXAtdGV4dFwiIGNsYXNzTmFtZT1cImNvbCBzcG9uc29yLXRleHQtcmlnaHRcIiBzdHlsZT17e3RleHRBbGlnbjogXCJyaWdodFwifX0+XG4gICAgICAgICAgICA8SDIgdGV4dD1cIi4uLiBhbmQgY29sbGFib3JhdG9ycyBcIiBpZD1cImJmaC1jb2xsYWJzXCIvPlxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxIMiB0ZXh0PVwiT3RoZXIgY29sbGFib3JhdG9yc1wiIGlkPVwib3RlaHJzXCIvPlxuICAgICAgICA8YnIvPiA8YnIvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwiaWR0LXRleHRcIiBjbGFzc05hbWU9XCJjb2wgc3BvbnNvci10ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPGg0PkNoYW5naW5nIENGIGxpdmVzIGFyb3VuZCB0aGUgd29ybGQsIG9uZSB2ZXN0IGF0IGEgdGltZS48L2g0PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8cD5BZnRlciBiZWluZyBjb250YWN0ZWQgdW5leHBlY3RlZGx5IGJ5IHR3byBwcmV2aW91c2x5IHVua25vd24gQ3lzdGljIEZpYnJvc2lzIHBhdGllbnRzIGluIENoaWxlIGFuZCBMZWJhbm9uIG1vbnRocyBhcGFydCBpbiBlYXJseSAyMDIwIHRvIHJlcXVlc3QgdGhlcmFweSB2ZXN0cywgdGhlIGdyZWF0IG5lZWQgZm9yIHRoaXMgZXF1aXBtZW50IHRvIENGIHBhdGllbnRzIGFyb3VuZCB0aGUgd29ybGQgYmVjYW1lIHF1aWNrbHkgZXZpZGVudC4gIENGIFZlc3RzIFdvcmxkd2lkZSB3YXMgZXN0YWJsaXNoZWQgaW4gSnVuZSAyMDIwIHRvIG1lZXQgdGhpcyBuZWVkLiAgVGhlIG1pc3Npb24gb2YgQ0YgVmVzdHMgV29ybGR3aWRlIGlzIHRvIGRvbmF0ZSBsaWZlc2F2aW5nIHRoZXJhcHkgdmVzdHMsIHdpdGggYSBjb3N0IG9mIG5lYXJseSAkMjAsMDAwLCBmb3IgdGhvc2Ugd2l0aCBDeXN0aWMgRmlicm9zaXMgb3V0c2lkZSBvZiB0aGUgVW5pdGVkIFN0YXRlcy4gIFRoZSBsaWZlIGV4cGVjdGFuY3kgb2YgQ0YgcGF0aWVudHMgb3V0c2lkZSB0aGUgVS5TLiBjYW4gYmUgYXMgbGltaXRlZCBhcyBhcHByb3hpbWF0ZWx5IDI0IHllYXJzIG9mIGFnZS4gIFRoZXNlIHRoZXJhcHkgdmVzdHMgbWVhbiBldmVyeXRoaW5nIHRvIHRoZSBDRiBwYXRpZW50IGFuZCB0aGVpciBmYW1pbHkuICBGdXJ0aGVyLCBpbiBtb3N0IENGIGNvbW11bml0aWVzIGluIHRoZSA1OSBjb3VudHJpZXMgd2hlcmUgQ0YgVmVzdHMgV29ybGR3aWRlIGhhcyBkb25hdGVkIG92ZXIgMzMwIHRoZXJhcHkgdmVzdHMsIGFjY2VzcyB0byB0aGUgbW9zdCBiYXNpYyBDeXN0aWMgRmlicm9zaXMgbWVkaWNhdGlvbiBpcyBlaXRoZXIgbGltaXRlZCBvciBub24tZXhpc3RlbnQuICBJbiB0aGVzZSBjYXNlcywgYSB0aGVyYXB5IHZlc3QgZG9uYXRlZCBieSBDRiBWZXN0cyBXb3JsZHdpZGUgaXMgdGhlIG9ubHkgaG9wZSBmb3IgY29tZm9ydCBhbmQgYW4gZXh0ZW5kZWQgbGlmZS48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cIlwiIGNsYXNzTmFtZT1cImNvbC01IHNwb25zb3ItcG9ydHJhaXRcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5jZnZ3dy5vcmcvXCI+XG4gICAgICAgICAgICAgIDxpbWcgaWQ9XCJpZHQtcG9ydHJhaXQtbG9nb1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2NmdmVzdHNsb2dvLnBuZ1wiPjwvaW1nPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBpZD1cIm1lZXR1cC1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cInNwb25zb3ItcG9ydHJhaXRcIiBzdHlsZT17e3BhZGRpbmc6IFwiMjBweFwifX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNhcmxyb3RoLmRlL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9yb3RoLmpwZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPiBcbiAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3RlY2hmYWsuanBnXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgU2Fyc3RlZHRcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY29yZGVuLXBoYXJtYS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICB7LyogbGVlciAqL31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2Fwcmljb3JuLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJcIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy90d2lzdC1iaW9zY2llbmNlLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICB7LyogbGVlciAqL31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4gICIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5leHBvcnQgZnVuY3Rpb24gU3VwcGxlbWVudGFyeSgpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuICAiLCAiaW1wb3J0IHsgQnV0dG9uT25lIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgUWFCb3gsIFNwZWNpYWxRYUJveCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0JveGVzXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7ICBIMyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuZXhwb3J0IGZ1bmN0aW9uIEludHMoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgICAgIGNvbnN0IHRhYklkID0gcGFyYW1zLmdldCgndGFiJyk7XG5cbiAgICAgICAgLy8gU2Nyb2xsIHRvIHRoZSBzZWN0aW9uIHNwZWNpZmllZCBieSBjb2xsYXBzZUlkXG4gICAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb2xsYXBzZUlkKTtcbiAgICAgICAgICAgIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3BlbiB0aGUgdGFiIHNwZWNpZmllZCBieSB0YWJJZFxuICAgICAgICBpZiAodGFiSWQpIHtcbiAgICAgICAgICAgIG9wZW5Gcm9tT3RoZXJQYWdlKHRhYklkKSh7IGN1cnJlbnRUYXJnZXQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cblxuXG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiIGlkPVwianVsaWFIXCI+XG4gICAgICAgICAgPGgzIGlkPVwianVsaWFcIj5KdWxpYTwvaDM+XG4gICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBQYXRpZW50XCI+XG4gICAgICAgICAgICAgICAgUGFyZW50XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5PcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvanVsaWEuanBnXCIvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8SDMgaWQ9XCJqdWxpYW5vdGVzXCIgdGV4dD1cIk5vdGVzIGZyb20gdGhlIGludGVydmlld1wiLz5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIlF1ZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJBbnN3ZXJcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiY29sXCIgaWQ9XCJuaWNvbGVIXCI+XG4gICAgICAgIDxoMyBpZD1cIm5pY29sZVwiPk5pY29sZSBGcmllZGxlaW48L2gzPlxuICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC10YWcgQWNhZGVtaWFcIj5cbiAgICAgICAgICAgICAgICBBY2FkZW1pYVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW50ZXJ2aWV3LWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCIvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8SDMgaWQ9XCJuaWNvbGVub3Rlc1wiIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBpbnRlcnZpZXdcIi8+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiIGlkPVwibWF0dGlqc0hcIj5cbiAgICAgICAgICA8aDMgaWQ9XCJtYXR0aWpzXCI+TWF0dGlqcyBCdWxjZWFuPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgICAgICBBY2FkZW1pYVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEVuZ2xpc2g8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW50ZXJ2aWV3LWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9tYXR0aWpzLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiRXJzdGVzIEludGVydmlld1wiIG9wZW49XCJtYXR0aWpzaW52MVwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJad2VpdGVzIEludGVydmlld1wiIG9wZW49XCJtYXR0aWpzaW52MlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY3ljbGV0YWJcIiBpZD1cIm1hdHRpanNpbnYxXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgPEgzIGlkPVwibWF0dGlqc25vdGVzMVwiIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBmaXJzdCBpbnRlcnZpZXdcIi8+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwibWF0dGlqc2ludjJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgIDxIMyBpZD1cIm1hdHRpanNub3RlczJcIiAgdGV4dD1cIk5vdGVzIGZyb20gdGhlIHNlY29uZCBpbnRlcnZpZXdcIi8+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiIGlkPVwid2VzdGhvZmZIXCI+XG4gICAgICAgICAgPGgzIGlkPVwid2VzdGhvZmZcIj5LYXRyaW4gV2VzdGhvZmY8L2gzPlxuICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC10YWcgTWVkaWNhbFwiPlxuICAgICAgICAgICAgICAgIFBoeXNpb3RoZXJhcGlzdFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW50ZXJ2aWV3LWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1rYXRyaW4tcG9ydHJhaXQuanBnXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aDM+Tm90ZXMgZnJvbSB0aGUgaW50ZXJ2aWV3PC9oMz5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgey8qIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIlF1ZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJBbnN3ZXJcIlxuICAgICAgICAgICAgICAgICAgLz4gKi99XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJGcm9tIHdoYXQgYWdlIGRvIHRoZSBwYXRpZW50cyBjb21lIHRvIHlvdT9cIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBwYXRpZW50cyBjb21lIHRvIHVzIGF0IGEgdmVyeSBlYXJseSBhZ2UuIEl0IGlzIGFsd2F5cyB2ZXJ5IGRpZmZpY3VsdCwgZm9yIHRoZSBwYXJlbnRzIGluIHBhcnRpY3VsYXIsIHRvIGRlYWwgd2l0aCB0aGUgbmV3IHNpdHVhdGlvbi4gQSBkZWZpbml0ZSBkaWFnbm9zaXMgaXMgbWFkZSBhZnRlciA2IHdlZWtzIGF0IHRoZSBsYXRlc3QuIE9uY2UgdGhlIGRpYWdub3NpcyBoYXMgYmVlbiBtYWRlLCB0aGUgd2hvbGUgZmFtaWx5IGlzIGdlbmV0aWNhbGx5IHRlc3RlZCwgaS5lLiB0aGUgcGFyZW50cyBhbmQgc2libGluZ3MuXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgbG9uZyBkbyB0aGV5IHN0YXk/XCJcbiAgICAgICAgICAgICAgICAgIGE9XCJXaGVuIHRoZSBjaGlsZHJlbiBhcmUgZGlzY2hhcmdlZCBmcm9tIGhvc3BpdGFsLCB0aGV5IGFyZSBpbW1lZGlhdGVseSBzZW50IGZvciBwaHlzaW90aGVyYXB5LiBIb3dldmVyLCB0aGVyYXB5IG9mdGVuIHN0YXJ0cyBpbiBob3NwaXRhbC4gVGhlc2Ugb2Z0ZW4gYWxzbyBoYXZlIENGIG91dHBhdGllbnQgY2xpbmljcywgc3VjaCBhcyB0aGUgQmV0aGVsIENsaW5pYyBpbiBCaWVsZWZlbGQuXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgbWFueSBwYXRpZW50cyBkbyB5b3UgdHJlYXQ/XCJcbiAgICAgICAgICAgICAgICAgIGE9XCJXZSBjdXJyZW50bHkgaGF2ZSA4IGNoaWxkcmVuIHdpdGggY3lzdGljIGZpYnJvc2lzIGluIG91ciBtZWRpY2FsIHByYWN0aWNlLCB3aGljaCBpcyBxdWl0ZSBhIGxvdC4gSG93ZXZlciwgaWYgeW91IGNvbXBhcmUgdGhpcyBudW1iZXIgd2l0aCBvdGhlciBkaXNlYXNlcywgaXQgaXMgcmF0aGVyIGEgc21hbGwgbnVtYmVyLiBXZSBoYXZlIHNsaWdodGx5IG1vcmUgY2hpbGRyZW4gd2l0aCBjeXN0aWMgZmlicm9zaXMgaW4gb3VyIHByYWN0aWNlIGJlY2F1c2Ugd2Ugc3BlY2lhbGl6ZSBpbiBpdCwgYW1vbmcgb3RoZXIgZGlzZWFzZXMuXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8U3BlY2lhbFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCBraW5kIG9mIGV4ZXJjaXNlcyBkbyB5b3UgZG8/XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIGRvIGEgbG90IG9mIGJyZWF0aGluZyB0aGVyYXB5LiBJbiBhbnkgY2FzZSwgaXQgaXMgaW1wb3J0YW50IHRvIHNheSB0aGF0IHdlIGhhdmUgYXR0ZW5kZWQgc3BlY2lhbCB0cmFpbmluZyBjb3Vyc2VzIGZvciBDRiB0aGF0IGhhdmUgc2hvd24gdXMgbmV3IHRlY2huaXF1ZXMuIEluIGdlbmVyYWwsIHRoZSBzYW1lIHRoaW5ncyBhcmUgdGF1Z2h0IGluIHRyYWluaW5nIGFzIDI1IHllYXJzIGFnbywgYnV0IHVuZm9ydHVuYXRlbHkgdGhpcyBkb2Vzbid0IGhlbHAgQ0YgcGF0aWVudHMgYXMgd2VsbCBhcyB0aGUgbmV3IHRlY2huaXF1ZXMuIFRoZSBjdXJyZW50IGdvbGQgc3RhbmRhcmQgaXMgYXV0b2dlbm91cyBkcmFpbmFnZSBhY2NvcmRpbmcgdG8gQ2hldmFsbGllci4gVGhpcyB3b3JrcyB2ZXJ5IHdlbGwhIEluIGdlbmVyYWwsIHRoZSBtYWluIHByb2JsZW0gaXMgdGhlIG11Y3VzIHRoYXQgY2Fubm90IGJlIHJlbW92ZWQuIFdpdGggYXV0b2dlbm91cyBkcmFpbmFnZSwgdGhlIGNoZXN0IGlzIGNvbXByZXNzZWQsIHdoaWNoIGZvcmNlcyB0aGUgbXVjdXMgb3V0LiBJdCdzIGxpa2UgY2xlYW5pbmcgdGhlIGx1bmdzIGZyb20gdGhlIGluc2lkZSwgd2hpY2ggd29ya3MgcmVhbGx5IHdlbGwuIEl0IGlzIGFsc28gdmVyeSBpbXBvcnRhbnQgdG8gaW5oYWxlLCB3aGVyZWJ5IHRoZXJlIGFyZSAzIGRpZmZlcmVudCBsZXZlbHMgb2Ygc2FsdCBjb250ZW50ICgwLjklLCAzJSBvciA2JSkuIENoaWxkcmVuIHdpdGggQ0YgYWx3YXlzIHVzZSBhdCBsZWFzdCAzJSBzYWx0IGNvbnRlbnQuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5PdXIgZ2VuZXJhbCByb3V0aW5lIGlzIGFzIGZvbGxvd3M6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPndldCBpbmhhbGF0aW9uLCBhcyBtb2lzdHVyZSBiaW5kcyBtdWN1czwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+ZHJhaW5hZ2UgdG8gZ2V0IG11Y3VzIG91dCBvZiB0aGUgbHVuZ3M8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPmFudGliaW90aWNzLCBub3cgdGhlIG1lZGljYXRpb24gY2FuIHdvcmsgYmVzdCBhcyB0aGUgbHVuZ3MgYXJlIGNsZWFuIGFuZCBkaWxhdGVkPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICA8L29sPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZXJlIGFyZSBhbHNvIHNvLWNhbGxlZCBcdTIwMUNtYWdpYyBwb2ludHNcdTIwMUQuIENvbXByZXNzaW9uIG9mIHRoZXNlIHBvaW50cyBsZWFkcyB0byB0aGUgYmVzdCBwb3NzaWJsZSB2ZW50aWxhdGlvbiBvZiB0aGUgbHVuZ3MuIFRoZXJlIGFyZSBzcGVjaWFsIGJlbHRzIGZvciBjb21wcmVzc2luZyB0aGVzZSBwb2ludHMgdGhhdCBwYXRpZW50cyBjYW4gd2VhciBhdCBob21lIHRvIGhlbHAgdGhlbSBicmVhdGhlIGJldHRlci4gT2xkZXIgcGF0aWVudHMgd2VhciB0aGVzZSBiZWx0cyBkdXJpbmcgc3BvcnQuPC9wPlxuICAgICAgICAgICAgICAgICAgPC9TcGVjaWFsUWFCb3g+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaGVuIGRvZXMgZHJhaW5hZ2Ugc3RhcnQ/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiV2Ugc3RhcnQgZHJhaW5hZ2UgaW4gbmV3Ym9ybnMgc28gdGhhdCB0aGUgbXVjdXMgY2Fubm90IHNldHRsZSBhcyBtdWNoLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgdGhlcmUgc3BlY2lhbCBleGVyY2lzZXMgdGhhdCBjYW4gYWxzbyBiZSBkb25lIGF0IGhvbWU/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiWWVzLCB0aGUgcGFyZW50cyBhcmUgaW5zdHJ1Y3RlZCB0byBkbyB0aGUgZXhlcmNpc2VzIHdoaWNoIHdlIGFsc28gZG8gaW4gb3VyIHByYWN0aWNlLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IG9mdGVuIGRvZXMgdGhlIHRoZXJhcHkgdGFrZSBwbGFjZT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGVyYXB5IHVzdWFsbHkgdGFrZXMgcGxhY2Ugb25jZSBhIHdlZWsgb3IgZXZlcnkgdHdvIHdlZWtzLiBUaGFua3MgdG8gaW1wcm92ZWQgbWVkaWNhdGlvbiwgdGhlIGNoaWxkcmVuIGFmZmVjdGVkIGFyZSBub3cgaW4gYSBtdWNoIGJldHRlciBwb3NpdGlvbi4gVGhlIHRoZXJhcHkgaGFzIGNoYW5nZWQgY29uc2lkZXJhYmx5IG92ZXIgdGltZSBhbmQgaGFzIGltcHJvdmVkIHNpZ25pZmljYW50bHkuIExlc3MgYW5kIG1vcmUgZmx1aWQgbXVjdXMgbWFrZXMgaXQgZWFzaWVyIHRvIGNvdWdoIHVwLCB3aGljaCBpbiB0dXJuIGluY3JlYXNlcyB0aGUgY2hpbGRyZW4ncyBsaWZlIGV4cGVjdGFuY3kuIFNwb3J0IGFuZCBleGVyY2lzZSBwbGF5IGEgY2VudHJhbCByb2xlIGluIHRoZXJhcHkgYW5kIHNob3VsZCBiZSBmdW4sIGFzIHRoZXkgbXVzdCBiZSBjYXJyaWVkIG91dCBmb3IgbGlmZS4gRnJvbSB0aGUgYWdlIG9mIDggb3IgOSwgZXhlcmNpc2Ugc3VjaCBhcyBjeWNsaW5nIHRvIHNjaG9vbCBzaG91bGQgYmUgdGhlIG5vcm0uIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCB3b3VsZCBoYXBwZW4gaWYgbm8gcGh5c2lvdGhlcmFweSB3YXMgcGVyZm9ybWVkPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIkl0IGlzIGRpZmZpY3VsdCB0byBwcmVkaWN0IGV4YWN0bHkgd2hhdCB3b3VsZCBoYXBwZW4gaWYgcGh5c2lvdGhlcmFweSB3YXMgbm90IGNhcnJpZWQgb3V0LCBhcyB0aGVyZSBpcyBubyBjb21wYXJpc29uIGdyb3VwLiBUaGVyZSBpcyBubyByZWFzb24gbm90IHRvIGRvIHRoZSB0aGVyYXB5LiBJZiBjaGlsZHJlbiBkbyBub3QgcmVjZWl2ZSBwaHlzaW90aGVyYXB5IG92ZXIgYSBsb25nZXIgcGVyaW9kIG9mIHRpbWUsIHRoZXkgb2Z0ZW4gYmVjb21lIG1vcmUgbXVjb3VzeSBhbmQgdGhlaXIgdmVudGlsYXRpb24gd29yc2Vucy4gU3BlY2lmaWMgdGhlcmFweSBpcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSBhdCB0aGUgbGF0ZXN0IGluIHRoZSBldmVudCBvZiBhbiBpbmZlY3Rpb24uICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgZG8geW91IG1lYXN1cmUgc3VjY2VzcyAoaW4gdGVybXMgb2YgbHVuZyBmdW5jdGlvbiB0ZXN0LCBleGVyY2lzZSwgZXRjLik/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlIHN1Y2Nlc3Mgb2YgdGhlIHRoZXJhcHkgaXMgbWVhc3VyZWQgc3ViamVjdGl2ZWx5IGJ5IGxpc3RlbmluZyB0byBhbmQgZmVlbGluZyB0aGUgYnJlYXRoaW5nIGFuZCBieSBvYnNlcnZpbmcgdGhlIGNoaWxkcmVuJ3Mgc2tpbi4gQW4gZXhhY3QgYW5zd2VyIHRvIHRoZSBzdWNjZXNzIG1lYXN1cmVtZW50IGlzIGRpZmZpY3VsdC4gQSB3ZWxsLXZlbnRpbGF0ZWQgbHVuZyB2b2x1bWUgaXMgaW5kaWNhdGVkIGJ5IGEgXHUyMDFDZnVsbCBiYXJyZWxcdTIwMUQsIHdoaWxlIHdoZWV6aW5nIGFuZCB2aWJyYXRpbmcgaW5kaWNhdGUgcG9vciB2ZW50aWxhdGlvbi4gVmVnZXRhdGl2ZSBzaWducyBzdWNoIGFzIGEgd2hpdGUgbW91dGgtbm9zZSB0cmlhbmdsZSBpbmRpY2F0ZSBhIGhpZ2ggbGV2ZWwgb2Ygc3RyZXNzLiBJbiB0aGUgY2xpbmljLCBsdW5nIGZ1bmN0aW9uIHRlc3RzLCBDTzIgbWVhc3VyZW1lbnRzIGFuZCBcdTIwMUNmaW5nZXIgY2xpcFx1MjAxRCB0ZXN0cyBhcmUgcGVyZm9ybWVkLiBIb3dldmVyLCBjaGlsZHJlbiBjYW4gc29tZXRpbWVzIHRyeSB0byBpbmZsdWVuY2UgdGhlIHRlc3RzLCBzbyB0aGUgcmVzdWx0cyBhcmUgbm90IGFsd2F5cyByZWxpYWJsZS4gIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiRG8gdGhlIGV4ZXJjaXNlcyBicmluZyByZWxpZWYgb3IgYXJlIHRoZXkgcHJldmVudGF0aXZlIGZvciBmdXJ0aGVyIGNvbXBsYWludHM/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlIGV4ZXJjaXNlcyBzZXJ2ZSBib3RoIHRvIHJlbGlldmUgYWN1dGUgaW5mZWN0aW9ucyBhbmQgdG8gcHJldmVudCBmdXJ0aGVyIGNvbXBsYWludHMuIFRoZSBmZXdlciBsdW5nIGluZmVjdGlvbnMgdGhlcmUgYXJlLCB0aGUgbG93ZXIgdGhlIGxpa2VsaWhvb2Qgb2YgYWRoZXNpb25zIG9mIG11Y3VzLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgdGhlcmUgYW55IHRvb2xzIHRvIHBlcmZvcm0gdGhlcmFweT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJEZXZpY2VzIHN1Y2ggYXMgdGhlIFx1MjAxQ2ZsdXR0ZXJcdTIwMUQgb3IgXHUyMDFDY29ybmV0XHUyMDFEIGFyZSB1c2VkIHRvIHN1cHBvcnQgZXhoYWxhdGlvbi4gVGhlc2UgZGV2aWNlcyBsb29rIGxpa2UgYSB3aGlzdGxlIHdpdGggYSBtZXRhbCBiYWxsIGluc2lkZS4gV2hlbiBleGhhbGluZywgdGhlIGJhbGwgbW92ZXMgYW5kIGNyZWF0ZXMgdmlicmF0aW9ucyB0aGF0IGxvb3NlbiB0aGUgbXVjdXMgaW4gdGhlIGx1bmdzLiBTdWNoIGRldmljZXMgc2hvdWxkIGJlIHVzZWQgYnkgYWxsIGNoaWxkcmVuIHdpdGggbHVuZyBkaXNlYXNlcy4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaGF0IGNvbXBsYWludHMgZG8gcGF0aWVudHMgYnJpbmcgd2l0aCB0aGVtPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlBhdGllbnRzIG9mdGVuIGhhdmUgbHVuZyBwcm9ibGVtcywgZHJ5IGx1bmcgbXVjb3NhIGFuZCBwcm9ibGVtcyB3aXRoIHRoZSBwYW5jcmVhcy4gVGhlIGxhdHRlciBsZWFkcyB0byBwb29yIG1ldGFib2xpc20sIHdoaWNoIGlzIHdoeSB0aG9zZSBhZmZlY3RlZCBoYXZlIHRvIHRha2UgZW56eW1lIHRoZXJhcGV1dGljcyBiZWZvcmUgZWF0aW5nLiBDaGlsZHJlbiBvZnRlbiBoYXZlIGdyb3d0aCBkaXNvcmRlcnMgZHVlIHRvIGEgbGFjayBvZiBmb29kLCB3aGljaCBpcyB3aHkgbnV0cml0aW9uYWwgYWR2aWNlIGlzIGVzc2VudGlhbC4gU29tZSBjaGlsZHJlbiBhbHNvIGhhdmUgcHJvYmxlbXMgd2l0aCBleGNlc3NpdmUgcGVyc3BpcmF0aW9uLCBhbHRob3VnaCB0aGlzIGlzIGxlc3MgY29tbW9uLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgcGFuY3JlYXRpYyBjb21wbGFpbnRzIGFsc28gdHJlYXRlZCBieSBwaHlzaW90aGVyYXBpc3RzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlBhbmNyZWF0aWMgY29tcGxhaW50cyBhcmUgcmFyZWx5IHRyZWF0ZWQgd2l0aCBwaHlzaW90aGVyYXB5LCB1bmxlc3MgaXQgaXMgYW4gaW5mbGFtbWF0aW9uLiBJbiBzdWNoIGNhc2VzLCB0aGUgcGF0aWVudCBpcyBhZG1pdHRlZCB0byBhIGhvc3BpdGFsLiBNYXNzYWdlIG9yIHRhcGluZyB0aGUgaW50ZXN0aW5lcyB3aXRoIGtpbmVzaW9sb2d5IHRhcGUgaGVscHMgd2l0aCBjb25zdGlwYXRpb24gYW5kIHdvcmtzIHZlcnkgd2VsbC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgdGhlcmUgYW55IHNwZWNpYWwgaHlnaWVuZSBndWlkZWxpbmVzIGZvciB5b3Ugd2hlbiB3b3JraW5nIHdpdGggY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIkh5Z2llbmUgZ3VpZGVsaW5lcyBhcmUgdmVyeSBpbXBvcnRhbnQgd2hlbiB3b3JraW5nIHdpdGggY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLiBBIGRpc3RpbmN0aW9uIGlzIG1hZGUgYmV0d2VlbiBjaGlsZHJlbiB3aXRoIGFuZCB3aXRob3V0IGluZmVjdGlvbnMgKFBzZXVkb21vbmFzKS4gUmVndWxhciBuYXNhbCBzd2FicyBhcmUgdGFrZW4gYW5kIG9ubHkgY2hpbGRyZW4gd2l0aCBvciB3aXRob3V0IGluZmVjdGlvbnMgYXJlIHRyZWF0ZWQgaW4gdGhlIHByYWN0aWNlIG9uIGFueSBnaXZlbiBkYXkuIFZlbnRpbGF0aW9uLCBwYXRpZW50cyB3ZWFyaW5nIG1hc2tzIHdoaWxlIGluZmVjdGVkIGFuZCBkaXNpbmZlY3Rpb24gb2YgdGhlIGZhY2lsaXRpZXMgYXJlIGVzc2VudGlhbC4gQ2hpbGRyZW4gaW5mZWN0ZWQgd2l0aCBtdWx0aS1yZXNpc3RhbnQgZ2VybXMgYXJlIG5vdCBhbGxvd2VkIHRvIGVudGVyIHRoZSBwcmFjdGljZTsgaW4gc3VjaCBjYXNlcywgcGh5c2lvdGhlcmFwaXN0cyB2aXNpdCB0aGUgcGF0aWVudHMnIGhvbWVzLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkFyZSB0aGUgc3BlY2lmaWMgZXhlcmNpc2VzIGN1c3RvbWl6ZWQ/IEFuZCBpZiBzbywgaG93IGRvIHlvdSBrbm93IHdoaWNoIHRoZXJhcHkgaXMgdGhlIHJpZ2h0IG9uZSBmb3Igd2hpY2ggcGF0aWVudCAoYmFzZWQgb24gbGFib3JhdG9yeSB2YWx1ZXMsIHRlc3RzLCBkaWZmZXJlbnQgbXV0YXRpb24gcGF0dGVybnMuLi4pPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBleGVyY2lzZXMgYXJlIGluZGl2aWR1YWxseSBhZGFwdGVkIHRvIHRoZSBwYXRpZW50J3MgY3VycmVudCBzaXR1YXRpb24uIEltcG9ydGFudCBjcml0ZXJpYSBhcmUgdGhlIHJlbW92YWwgb2YgbXVjdXMgYW5kIHZlbnRpbGF0aW9uIG9mIHRoZSBsdW5ncy4gRWFjaCB0aGVyYXBpc3QgaGFzIHRoZWlyIG93biBhcHByb2FjaCBhbmQgcHJlZmVycmVkIGV4ZXJjaXNlcyBhbmQgdGVjaG5pcXVlcy4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJEbyBwYXRpZW50cyBhbHdheXMgZ28gdG8gdGhlIHNhbWUgcGh5c2lvdGhlcmFwaXN0PyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIklmIHRoZXJhcHkgZ29lcyB3ZWxsLCBwYXRpZW50cyBzdGF5IHdpdGggdGhlIHNhbWUgcGh5c2lvdGhlcmFwaXN0LlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IG1hbnkgcGh5c2lvdGhlcmFwaXN0cyBvZmZlciBtdWNvLXRoZXJhcHk/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlIGV4YWN0IG51bWJlciBvZiBwaHlzaW90aGVyYXBpc3RzIG9mZmVyaW5nIGN5c3RpYyBmaWJyb3NpcyB0aGVyYXB5IGlzIHVua25vd24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBzZXZlcmFsIGNoaWxkIHRoZXJhcGlzdHMgaW4gdGhlIHJlZ2lvbiBwcm92aWRpbmcgdGhpcyB0aGVyYXB5LiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBhcmUgdGhlIHJlbGF0aXZlcyBlZHVjYXRlZD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJFZHVjYXRpbmcgcmVsYXRpdmVzIG9mdGVuIGJlZ2lucyBpbiB0aGUgbWF0ZXJuaXR5IHdhcmQgd2l0aCBhIHN3ZWF0IHRlc3QuIEFmZmVjdGVkIGNoaWxkcmVuIGFyZSBvZnRlbiByZWNvZ25pemFibGUgZHVlIHRvIHBvb3IgZm9vZCBpbnRha2UuIEluIEdcdTAwRkN0ZXJzbG9oLCB3aGVyZSBvdXIgb2ZmaWNlIGlzIGxvY2F0ZWQsIGFsbCBjaGlsZHJlbiBhcmUgc2VudCB0byBCZXRoZWwsIHdoZXJlIHRoZXkgaW1tZWRpYXRlbHkgcmVjZWl2ZSBDRiBjYXJlLiBQYXJlbnRzIGFyZSBvZnRlbiB0cmF1bWF0aXplZCwgYXMgdGhlIGNoaWxkcmVuIGFyZSBzZXZlcmVseSBpbGwgZGVzcGl0ZSBvZnRlbiBhcHBlYXJpbmcgaGVhbHRoeS5cIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgYXJlIHRoZSBsaW1pdGF0aW9ucyBvZiBpbmRpdmlkdWFsIG1lZGljaW5lPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBlZmZlY3RpdmVuZXNzIG9mIGRydWdzIGNhbiB2YXJ5LCBhbmQgc29tZSBhcmUgb25seSBhcHByb3ZlZCBmcm9tIGEgY2VydGFpbiBhZ2UuIEJldHRlciBtZWRpY2F0aW9ucyBjYW4gc2lnbmlmaWNhbnRseSBlbmhhbmNlIHRoZSBxdWFsaXR5IG9mIGxpZmUgYW5kIGxpZmUgZXhwZWN0YW5jeS4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiY29sXCIgIGlkPVwiYmVyZW5zSFwiPlxuICAgICAgICAgIDxoMyBpZD1cImJlcmVuc1wiPkRyLiBFdmEtTWFyaWEgQmVyZW5zPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgICAgRXRoaWNzIENvbW1pdHRlZSBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eSBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW50ZXJ2aWV3LWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9iZXJlbnMuanBnXCIvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8aDM+Tm90ZXMgZnJvbSB0aGUgaW50ZXJ2aWV3PC9oMz5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIlF1ZXN0aW9uXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJBbnN3ZXJcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj4gIFxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cIndpc2NobWV5ZXJIXCI+XG4gICAgICAgIDxoMyBpZD1cIndpc2NobWV5ZXJcIj5Qcm9mLiBEci4gRXJoYXJkIFdpc2NobWV5ZXI8L2gzPlxuICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC02XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC10YWcgQWNhZGVtaWFcIj5cbiAgICAgICAgICAgICAgUmVzZWFyY2ggR3JvdXAgQ2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5LCBCaWVsZWZlbGQgVW5pdmVyc2l0eVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW50ZXJ2aWV3LWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCIvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8aDM+Tm90ZXMgZnJvbSB0aGUgaW50ZXJ2aWV3PC9oMz5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkNhbiB5b3UgZWR1Y2F0ZSB1cyBhYm91dCB5b3VyIGFjYWRlbWljIGNhcmVlcj8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJJIGRpZCBteSBkb2N0b3JhdGUgMzAgeWVhcnMgYWdvIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5IGFuZCB0aGVuIHdvcmtlZCBhdCB0aGUgTWF4IFBsYW5jayBJbnN0aXR1dGUgaW4gR1x1MDBGNnR0aW5nZW4gYSBsb3Qgd2l0aCB0aGUgUGF0Y2gtQ2xhbXAgcCB0ZWNobmlxdWUuIFRvZGF5LCBJXHUyMDE5bSBoZWFkIG9mIHRoZSB3b3JraW5nIGdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSBvZiB0aGUgbWVkaWNpbmUgZmFjdWx0eSBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eS4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaGF0IG5ldyBtZXRob2RzIGFyZSBjdXJyZW50bHkgYXZhaWxhYmxlIGluIGVsZWN0cm9waHlzaW9sb2dpY2FsIHJlc2VhcmNoPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIk9uZSBvZiB0aGUgbGF0ZXN0IG1ldGhvZHMgaXMgRS1jaXMgbWVhc3VyZW1lbnRzLiBUaGVzZSBtYWtlIGl0IHBvc3NpYmxlIHRvIGV4YW1pbmUgYSBtb25vbGF5ZXIgb2YgY29uZmx1ZW50IGNlbGxzIGFuZCB0byBtZWFzdXJlIHRoZSBtZW1icmFuZSBwb3RlbnRpYWwgYm90aCBhYm92ZSBhbmQgYmVsb3cuIFRoZSBjaGFuZ2UgaW4gY29uZHVjdGl2aXR5IGNhbiBiZSBhbmFseXplZCBmb3IgaW5zdGFuY2UgYXMgYSBmdW5jdGlvbiBvZiBDRlRSIGV4cHJlc3Npb24uIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IGNhbiB3ZSBwcm9jZWVkIHdpdGggdGhlIGludmVzdGlnYXRpb24gb2YgQ0ZUUiBpbiBkaWZmZXJlbnQgY2VsbCBjdWx0dXJlcyBieSBQYXRjaC1DbGFtcD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJZb3UgY2FuIHN0dWR5IENGVFIgZXhwcmVzc2lvbiBpbiBIRUsgY2VsbHMsIHdoaWNoIGFsbG93cyBmb3IgYSBtZWFzdXJhYmxlIGNoYW5nZSBpbiBjaGxvcmlkZSBjb25kdWN0YW5jZS4gSSBhbSBub3Qgc3VyZSB3aGV0aGVyIHdlIHdpbGwgYmUgYWJsZSB0byBpbnZlc3RpZ2F0ZSBDRlRSIHN1ZmZpY2llbnRseSBpbiBlcGl0aGVsaWFsIGNlbGxzIHdoaWNoIHlvdSB3YW50IHRvIGNvbGxlY3QgZnJvbSB5b3VyIENGIHBhdGllbnQgZnJpZW5kIGFuZCB5b3VyIHRlYW0gbWVtYmVycy4gVGhhdCBpcyBzb21ldGhpbmcgd2UgaGF2ZSB0byB0cnkgb3V0LiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBjaGFsbGVuZ2luZyBpcyB0aGUgbWVhc3VyZW1lbnQgb2YgQ0ZUUiBjb25kdWN0YW5jZSBpbiBlcGl0aGVsaWFsIGNlbGxzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIkNGVFIgaW4gZXBpdGhlbGlhbCBjZWxscyBoYXMgdmVyeSBsb3cgY29uZHVjdGl2aXR5IGluIHRoZSBmZW10b2FtcGVyZSByYW5nZS4gVGhlcmVmb3JlLCBleHRyZW1lbHkgc2Vuc2l0aXZlIHRlc3RpbmcgaXMgbmVjZXNzYXJ5IHRvIG9idGFpbiBtZWFuaW5nZnVsIHJlc3VsdHMuICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBjaGFsbGVuZ2luZyBpcyB0aGUgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnQgb2YgQ0ZUUiBjb25kdWN0YW5jZSBpbiBlcGl0aGVsaWFsIGNlbGxzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBwcm9qZWN0IHdpbGwgY291bGQgdGFrZSBhdCBsZWFzdCBvbmUgeWVhciwgZXZlbiBmb3IgZXhwZXJpZW5jZWQgcmVzZWFyY2hlcnMuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCB0ZWNobmljYWwgY2hhbGxlbmdlcyBkbyB3ZSBmYWNlIGluIGltcGxlbWVudGluZyB0aGUgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnRzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIk9uZSBvZiB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2VzIGlzIG1lYXN1cmluZyB0aGUgY3VycmVudCBhY3Jvc3MgdGhlIGVudGlyZSBjZWxsLCBhcyB3ZSBkbyBub3Qgd2FudCB0byBjYXJyeSBvdXQgc2luZ2xlLWNoYW5uZWwgbWVhc3VyZW1lbnRzLCBidXQgcmF0aGVyIHJlY29yZCB0aGUgY3VycmVudCBhY3Jvc3MgY2VsbHMgd2l0aCBhIHN0cm9uZ2x5IGV4cHJlc3NpbmcgdmVjdG9yIGNhcnJ5aW5nIHRoZSBnZW5lIGZvciB0aGUgaW9uIGNoYW5uZWwuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCByZXF1aXJlbWVudHMgbXVzdCBiZSBtZXQgZm9yIGN1bHRpdmF0aW9uIGFuZCB0cmFuc2ZlY3Rpb24gYmVmb3JlIHRoZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJZb3UgaGF2ZSB0byBjdWx0aXZhdGUgdGhlIGNlbGxzIG9uIHBvbHktbHlzaW5lIGFuZCBsYW1pbmluIGFuZCB1c2Ugcm91bmQgY292ZXJzbGlwcyBvZiAxMCBtbSBkaWFtZXRlciB0byBwcmVwYXJlIHRoZW0gZm9yIG1lYXN1cmVtZW50LiBGb3IgaWRlbnRpZmljYXRpb24gb2YgcG9zaXRpdmUgdHJhbnNmZWN0YW50cywgd2UgdXNlIEdGUCBjby10cmFuc2ZlY3RlZCBjZWxscyBpbiBvdXIgd29ya2luZyBncm91cCwgeW91IHNob3VsZCB0aGluayBvZiBzb21ldGhpbmcgbGlrZSB0aGF0IGFzIHdlbGwuIEEgdHJhbnNmZWN0aW9uIHJhdGUgb2YgMTAgJSBpcyBzdWZmaWNpZW50IHRvIGdhaW4gZW5vdWdoIGNlbGxzIGZvciB0aGUgbWVhc3VyZW1lbnQuIFlvdSBjYW4gdGhpbmsgb2Ygb3B0aW1pemluZyB5b3VyIHRyYW5zZmVjdGlvbiBieSB1c2luZyBMaXBvZmVjdGFtaW4yMDAwIHRoYW4gTGlwb2ZlY3RhbWluZTIwMDAsIHdoaWNoIHdvcmtzIGdvb2QgZm9yIG91ciB3b3JraW5nIGdyb3VwLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldobyBjb3VsZCBoZWxwIHVzIHdpdGggdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgUGF0Y2gtQ2xhbXAgZGV2aWNlcyBhcmUgaGVhdmlseSB1dGlsaXplZCBpbiBvdXIgd29ya2luZyBncm91cCwgc28geW91IHByb2JhYmx5IGNhbm5vdCBwZXJmb3JtIG1lYXN1cmVtZW50cyBvbiB5b3VyIG93bi4gSG93ZXZlciwgcG9zdGRvY3MgY291bGQgc3VwcG9ydCB5b3UgZm9yIHNvbWUgbWVhc3VyZW1lbnRzLiBEci4gT2xpdmVyIERyXHUwMEU0Z2VyIGlzIGF2YWlsYWJsZSBhcyBhIGNvbnRhY3QgcGVyc29uIG9mIG15IHdvcmtpbmcgZ3JvdXAuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cD4gVGVzdCBhdXMgZGVtIFdpa2kgPC9wPiA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8YnIvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuICAgICIsICJcbmV4cG9ydCBmdW5jdGlvbiBCRkhIKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy12aWRlby1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogTWVldFVwICgyMDI0KSBbRW5nbGlzaF1cIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI3MDBcIiBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3ZpZGVvcy9lbWJlZC8zMGI4YTZlMC0yYjRhLTQ2MTgtODg2Ny00ZWI4ZTZhNTI5MzY/c3RhcnQ9MjdzJmFtcDtsb29wPTEmYW1wO2F1dG9wbGF5PTEmYW1wO211dGVkPTEmYW1wO3RpdGxlPTAmYW1wO3dhcm5pbmdUaXRsZT0wJmFtcDtjb250cm9sQmFyPTAmYW1wO3BlZXJ0dWJlTGluaz0wJmFtcDtwMnA9MFwiIGZyYW1lQm9yZGVyPVwiMFwiIHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZVwiPlxuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuICAiLCAiaW1wb3J0IHsgSHdhdmUgfSBmcm9tIFwiLi9IZWFkaW5nc1wiO1xuXG5pbnRlcmZhY2UgUHJvcHN7XG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0aXRsZTI/OiBzdHJpbmcsXG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGUsXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEhlYWRlckJveCh7Y2hpbGRyZW4sIHRpdGxlLCB0aXRsZTJ9OiBQcm9wcyApe1xuICB2YXIgdGk6IHN0cmluZyA9IFwiXCI7XG4gIGlmICh0aXRsZTIpIHtcbiAgICB0aSA9IHRpdGxlMjtcbiAgfVxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBoZWFkZXItdGl0bGVcIj5cbiAgICAgICAgICAgICAgPEh3YXZlIHRleHQ9e3RpdGxlfT48L0h3YXZlPlxuICAgICAgICAgICAgICA8SHdhdmUgdGV4dD17dGl9PjwvSHdhdmU+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFzZVwiPlxuICAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKVxufSIsICJpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQVRUSCgpIHtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiQXR0cmlidXRpb25zXCI+XG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9IiwgImltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBDT05USCgpIHtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiQ29udHJpYnV0aW9uXCI+XG4gICAgICAgIFxuICAgICAgPC9IZWFkZXJCb3g+XG4gICAgKTtcbiAgfSIsICJleHBvcnQgZnVuY3Rpb24gREVTQ0goKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94ICB0aXRsZT1cIkRlc2NyaXB0aW9uXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIEhPTUVIKCkge1xuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCIgXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIEVYUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiRXhwZXJpbWVudHNcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJleHBvcnQgZnVuY3Rpb24gSFBIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIkh1bWFuXCIgdGl0bGUyPVwiUHJhY3RpY2VzXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIElNUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIE5PVEVIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIk5vdGVib29rXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFJFU0goKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUmVzdWx0c1wiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTQUZFSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJTYWZldHlcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJleHBvcnQgZnVuY3Rpb24gVEVBTUgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiT3VyIFRlYW1cIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJleHBvcnQgZnVuY3Rpb24gV0lLSUgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiV2lraSBEb2N1bWVudGF0aW9uXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIElOVFNIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIkludGVydmlld3NcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJleHBvcnQgZnVuY3Rpb24gU1BPTkgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiU3BvbnNvcnMgYW5kIFBhcnRuZXJzXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIERSWUgoKSB7XG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cImRyeSBsYWJcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJleHBvcnQgZnVuY3Rpb24gRU5HSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJFbmdpbmVlcmluZ1wiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTVVBIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIlN1cHBsZW1lbnRhcnkgRGF0YVwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmV4cG9ydCBmdW5jdGlvbiBQYXJ0cygpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuICAiLCAiZXhwb3J0IGZ1bmN0aW9uIFBBUlRIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIlBhcnRzXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gUHJvRGVzYygpIHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+PC8+XG4gICAgKTtcbiAgfVxuICAiLCAiZXhwb3J0IGZ1bmN0aW9uIFBST0RFU0MoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUHJvamVjdCBEb2N1bWVudGF0aW9uXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gXCIuLi91dGlscy9vcGVuRnJvbU90aGVycEFnZVwiO1xuaW1wb3J0IHsgSDIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIEp1ZGdpbmcoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8SDIgdGV4dD1cIkJlc3QgTmV3IFBhcnRcIiBpZD1cIm5ld3BhcnRcIi8+XG5cbiAgICAgICAgPEgyIHRleHQ9XCJTYWZldHkgYW5kIFNlY3VyaXR5XCIgaWQ9XCJzYWZldHlcIi8+XG5cbiAgICAgICAgPEgyIHRleHQ9XCJCZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VcIiBpZD1cImlocFwiLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBKVURHRUgoKSB7XG5cbiAgICByZXR1cm4gKFxuICAgICAgXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiSnVkZ2luZ1wiPlxuICAgICAgICBcbiAgICAgIDwvSGVhZGVyQm94PlxuICAgICk7XG4gIH0iLCAiXG5pbXBvcnQgeyBCbHVlSW5mb0JveCwgQnVsYkJveCwgSW5mb0JveCwgTm90ZUJveCwgUWFCb3gsIFdhcm5Cb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgQkZITW9yZUJ1dHRvbiwgQnV0dG9uT25lIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuLi9jb21wb25lbnRzL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgUGllQ2hhcnQgZnJvbSBcIi4uL2NvbXBvbmVudHMvR3JhcGhcIjtcbmltcG9ydCBIMSwgeyBIMiwgSDMsIEhoaWdobGlnaHQsIEhob3BwLCBIc21va2UsIEhzcG9pbGVyLCBId2F2ZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBMb3JlbU1lZGl1bSwgTG9yZW1TaG9ydCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCBTaW1wbGVTbGlkZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvU2xpZGVyXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyLCBEb3VnaG51dCwgUG9sYXJBcmVhIH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcbmltcG9ydCB7IENoYXJ0IGFzIENoYXJ0SlMsIFRvb2x0aXAsIExlZ2VuZCwgQmFyRWxlbWVudCwgQ2F0ZWdvcnlTY2FsZSwgTGluZWFyU2NhbGUsIFRpdGxlLCBSYWRpYWxMaW5lYXJTY2FsZSB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCBGYW56b3JWaWV3ZXIgZnJvbSAnLi4vY29tcG9uZW50cy9GYW56b3J2aWV3ZXIudHN4JztcblxuXG5DaGFydEpTLnJlZ2lzdGVyKFxuICAgIENhdGVnb3J5U2NhbGUsXG4gICAgUmFkaWFsTGluZWFyU2NhbGUsXG4gICAgTGluZWFyU2NhbGUsXG4gICAgQmFyRWxlbWVudCxcbiAgICBUaXRsZSxcbiAgICBUb29sdGlwLFxuICAgIExlZ2VuZFxuICApO1xuICBcbmV4cG9ydCBmdW5jdGlvbiBFeGFtcGxlKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxoMT5Qcm90ZWluIFN0cnVjdHVyZSBWaWV3ZXI8L2gxPlxuICAgICAgICAgICAgPEZhbnpvclZpZXdlciAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgPGgxPiBIZXJlIHlvdSBjYW4gc2VlIHdoYXQgd2UgY2FuIHVzZTwvaDE+XG4gICAgICA8aDI+Q29sbGFwaXNibGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGV0YWlscz5cbiAgICAgICAgICAgICAgICA8c3VtbWFyeT5FeHBhbmQgbWU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgPExvcmVtTWVkaXVtPjwvTG9yZW1NZWRpdW0+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiVGl0bGVcIiBpZD1cImNvbGxhcHNpYmxlXCI+IDxMb3JlbU1lZGl1bT48L0xvcmVtTWVkaXVtPjwvQ29sbGFwc2libGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIkluZm9Cb3hcIiBpZD1cImJveGlkXCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvSW5mb0JveD5cbiAgICAgICAgICAgIDxCbHVlSW5mb0JveCB0aXRsZT1cIkJsdWVJbmZvQm94XCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvQmx1ZUluZm9Cb3g+XG4gICAgICAgICAgICA8Tm90ZUJveCB0aXRsZT1cIk5vdGVCb3hcIiBpZD1cIm5vdGVib3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9Ob3RlQm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxXYXJuQm94IHRpdGxlPVwiV2FybkJveFwiPjxMb3JlbVNob3J0PjwvTG9yZW1TaG9ydD48L1dhcm5Cb3g+XG4gICAgICAgICAgICA8QnVsYkJveCB0aXRsZT1cIkJ1bGJCb3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9CdWxiQm94PlxuICAgICAgICAgICAgPFFhQm94IFxuICAgICAgICAgICAgcT1cIkEgcXVlc3Rpb24gb3Igc2VudGVuY2UuXCIgXG4gICAgICAgICAgICBhPVwiQW4gYW5zd2VyIG9yIHNlbnRlbmNlXCIvPiBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxoMj5IZWFkaW5nczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8SDEgdGV4dD1cIkgxXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIMiB0ZXh0PVwiSDJcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICA8SDMgdGV4dD1cIkgzXCIgaWQ9XCJ0ZXh0XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIc21va2UgdGV4dD1cIkhzbW9rZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8SGhvcHAgdGV4dD1cIkhob3BwXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIaGlnaGxpZ2h0PiBIaWdobGlnaHQ8L0hoaWdobGlnaHQ+ICAgICAgICAgICAgICBcbiAgICAgICAgPEhzcG9pbGVyPiAgSHNwb2lsZXIgPC9Ic3BvaWxlcj5cbiAgICAgICAgPEh3YXZlIHRleHQ9XCJId2F2ZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cInVuZGVybGluZS0tbWFnaWNhbFwiPlByZUN5c2U8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+QnV0dG9uczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiVGhlIFB1YmxpY1wiIG9wZW49XCJwdWJzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwiaWQgb2YgcGFydCB0byBiZSBvcGVuZWRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJ0YWJsaW5rcyBQYXRpZW50IGhwLW1vcmUtYnV0dG9uXCIgPiBTb21ldGhpbmcgPC9idXR0b24+XG4gXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+R3JhcGhzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8UGllQ2hhcnQ+PC9QaWVDaGFydD5cbiAgICAgICAgICAgIDxEb3VnaG51dENoYXJ0PjwvRG91Z2hudXRDaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QmFyQ2hhcnRUd29TZXRzPjwvQmFyQ2hhcnRUd29TZXRzPlxuICAgICAgICAgICAgPEJhckNoYXJ0PjwvQmFyQ2hhcnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJhckNoYXJ0VmVydGljYWw+PC9CYXJDaGFydFZlcnRpY2FsPlxuICAgICAgICAgICAgPFBvbGFyQ2hhcnQ+PC9Qb2xhckNoYXJ0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJleGFtcGxlXCI+RXhlcmNpc2VzPC9oMz5cbiAgICAgICAgICAgIDxpPjxoNj5CeSBZb3VyIG5hbWU8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPiBBbGwgY29tcG9uZW50cyBzaG91bGQgYmUgaW4gdGhpcyBmaWxlLiBUaGUgZXh0cmEgY3NzIGhhcyB0byBiZSBwdXQgaW50byBleGFwbWxlLmNzcy4gVHVybiB0byBMaWxpYW5hIGlmIHlvdSBuZWVkIG9yIHdhbnQgYSBzY3NzIGZpbGUsIHRvby48L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGNvZGUgeW91IGNyZWF0ZSBzaG91bGQgYmUgaW4gdGhlIHJlc3BlY3RpdmUgY29sdW1ucyB3aGVyZSB0aGUgYXNzaWdubWVudHMgYXJlLCBpZiBub3Qgc3RhdGVkIG90aGVyd2lzZS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPldyaXRlIGRvd24gaG93IHlvdSBkaWQgaXQgaW4gdGhlIGRvY3VtZW50YXRpb24tYm94IGFzIGEgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG90aGVycy4gVXNlIHRoZSBEb2N1LUJvYyBjb21wb25lbnQgZm9yIHRoYXQuWW91IGhhdmUgdG8gYWRkIGl0IHRvIHlvdXIgYXhlcmNpc2UgYmxvY2sgbWFudWFsbHkuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPERvY3VCb3g+XG4gICAgICAgICAgICAgICAgPHA+SSB3cm90ZSBhIHRleHQuPC9wPlxuICAgICAgICAgICAgPC9Eb2N1Qm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+TGlzdHM8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj4gPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBudW1iZXJlZCBsaXN0IG9mIGZydWl0cy4gRml2ZSBpdGVtcyBhcmUgZW5vdWdoLiBVc2UgdGhlIEhUTUwgbGlzdCBlbGVtZW50LjwvcD4gXG4gICAgICAgICAgICAgICAgPHA+Yi4gQ3JlYXRlIGEgc2Vjb25kIGNvbHVtbiBuZXh0IHRvIHRoZSBvbmUgd2l0aCB0aGUgZnJ1aXQgbGlzdCB0aGF0IGNvbnRhaW5zIGEgYnV0dG9uLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmU8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj5FYXN5PC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPmEuIEluc2VydCBhIGNlbnRlcmVkIHBpY3R1cmUgb2YgU2luYW4gaGVyZS4gSXQgc2hvdWxkIGJlIGhhbGYgYXMgd2lkZSBhcyB0aGUgY29sdW1uIGFuZCBoYXZlIGEgZG90dGV0IGZyYW1lIGluIG91ciBwdXJwbGUuPC9wPlxuICAgICAgICAgICAgICAgIDxwPmIuIFdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgcGljdHVyZSwgaXQgc2hvdWxkIHR1cm4gYmxhY2sgYW5kIHdoaXRlLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmUgU2xpZGVyPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDxwPiBBZGQgYSBkdW1teSBzcG9uc29yIHRvIHRoaXMgc2xpZGVyLjwvcD5cbiAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2J0cy1ldi5kZS9cIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvclwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2J0cy5wbmdcIi8+XG4gICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9hcmJlaXRzZ3J1cHBlbi9tdWx0aXNjYWxlLWJpb2VuZ2luZWVyaW5nL2NhbXB1c2JyYXVlcmVpL1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2FtcHVzLWJyYXVlcmVpLWhpbnRlcmxlZ3QuanBlZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cInd3dy5pZHRkbmEuY29tXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9pZHQtbG9nby5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNlYml0ZWMudW5pLWJpZWxlZmVsZC5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkV4ZXJjaXNlIGJveDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1tZWRpdW0tdGFnXCI+TWVkaXVtPC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPkNyZWF0ZSBhIGJveCB0aGF0IGRpZmZlcnMgaW4gbG9va3MgZnJvbSB0aGUgcmVzdCBvZiB0aGUgc2l0ZSBhbmQgZW1waGF6aXNlcyBpdCBjb250YWlucyBhbiBhc3NpZ25tZW50LiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+QXJjaGlldmUgdGhpcyBlZmZlY3QgYnkgdXNpbmcgYmFja2dyb3VuZCwgc2hhZG93LCBib3JkZXIgYW5kL29yIG90aGVyIGNzcyBlZmZlY3RzIG9uIHRoZSBjbGFzcyBcImV4YW1wbGUtZXhlcmNpc2VcIi4gVGhlIGJveCBzaG91bGQgYmUgYWVzdGV0aWNhbGx5IHBsZWFzaW5nIHVubGlrZSB0aGUgZG9jdW1lbnRhdGlvbiBib3guIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+UERGPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+PC9kaXY+XG4gICAgICAgICAgICA8cD5hLiBJbnNlcnQgYSBwZGYgdXNpbmcgb3VyIFBERiBjb21wb25lbnQuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTbWFydHBob25lIGNvbXBhdGliaWxpdHk8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEgXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gQ3JlYXRlIGEgc2ltcGxlIGJveCB0aGF0IGhhcyBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gdGhlIHdlYnNpdGUgaXMgdXNlZCBvbiBhIHNtYXJ0cGhvbmUgKHNjcmVlbiB3aWR0aCA3NjhweCBvciBzbWFsbGVyKS4gIDwvcD5cbiAgICAgICAgICAgIDxwPiBVc2UgQG1lZGlhIHJ1bGVzIGZvciB0aGF0LjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5Db2xsYXBzaWJsZTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtbWVkaXVtLXRhZ1wiPk1lZGl1bTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBhLiBVc2Ugb3VyIENvbGxhcHNpYmxlIGNvbXBvbmVudCB0byBjcmVhdGUgYSBjb2xsYXBzaWJsZS48L3A+XG4gICAgICAgICAgICA8cD4gYi4gVGhlIGNvbGxhcHNpYmxlIHNob3VsZCBjb250YWluIHRocmVlIGNpcmNsZXMgd2l0aCBhIGZldyB3b3JkcyBpbiBhIHJvdyAob3VyIENpcmNsZSBjb21wb25lbnQpIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5IZWFkZXI8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBoZWFkZXIgZmlsZSBmb3IgdGhpcyBwYWdlLiBJdCBoYXMgdG8gYmUgdmlzaWJsZSBhbmQgdGhlcmVmb3JlIGJlIGFkZGVkIHRvIHBhZ2VzLnRzPC9wPlxuICAgICAgICAgICAgPHA+Yi4gQWRkIHRoaXMgcGFnZSB0byB0aGUgbmF2YmFyIHVuZGVyIFwiQ29udHJ1YnV0aW9uXCIuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkNoYXJ0IHdpdGggVmljdG9yeTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5DcmVhdGUgYSBzaW1wbGUgYmFyIENoYXJ0IHdpdGggUmVhY3QtQ2hhcnRzLCB1c2luZyB0aGVpciA8YSBocmVmPVwiaHR0cHM6Ly9tdWkuY29tL3gvcmVhY3QtY2hhcnRzL1wiPiBkb2N1bWVudGF0aW9uPC9hPiAgYW5kIGR1bW15IGRhdGEgb2YgeW91ciBjaG9pY2UuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTaW1wbGUgUmVhY3QgQ29tcG9uZW50PC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xIFwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1hZHZhbmNlZC10YWdcIj5BZHZhbmNlZDwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBDcmVhdGUgYSByZWFjdCBjb21wb25lbnQgdGhhdCB0YWtlcyBIVE1MLCBhIGxpbmsgdG8gYSBwaWN0dXJlLCBhIG51bWJlciBhbmQgYSB3b3JkIGFzIGlucHV0IGFuZCByZXR1cm4gdGhlIGNvZGUgaW4gYSBib3ggd2l0aCB0aGUgd29yZCBhcyBhIGhlYWRlci4gVGhlIHBpY3R1cmUgYW5kIG90aGVyIGNvZGUgc2hvdWxkIGJlIGluIHR3byBjb2x1bW5zIG5leHQgdG8gZWFjaCBvdGhlciwgdW5kZXIgdGhlIGhlYWRlci4gVGhlIG51bWJlciBzaG91bGQgYmUgbXVsdGlwbGllZCBieSAyIGFuZCB0aGVuIHNob3duIHNvbWV3aGVyZSB3aXRoIHRoZSBvdGhlciBwYXJ0cy48L3A+XG4gICAgICAgICAgICA8cD4gU2VlIERvY3VCb3ggY29tcG9uZW50LiAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBleGVyY2lzZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+IDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj48L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiBcblxuICAgICAgICBcblxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gRG9jdUJveCh7Y2hpbGRyZW59OiB7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1kb2N1XCI+XG4gICAgICAgICAgICA8aDU+RG9jdW1lbnRhdGlvbjogPC9oNT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgKVxuICB9XG4gIFxuXG4gIGNvbnN0IEJhckNoYXJ0VHdvU2V0czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMScsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMicsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDUzLCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnIGFzIGNvbnN0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnQmFyQ2hhcnRUd29TZXRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICAgIGNvbnN0IGxhYmVscyA9IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5J107XG5cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBsYWJlbHMsXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdEYXRhc2V0IDEnLFxuICAgICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAgIDAuMDA0ODU4MDAwMDAwMDAwMDAxLFxuICAgICAgICAgICAgICAgIDAuMDAwODg1OTk5OTk5OTk5OTk5NyxcbiAgICAgICAgICAgICAgICAwLjcyNjQxNzk5OTk5OTk5NzIsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzLFxuICAgICAgICAgICAgICAgIDAuMjM4NDE1OTk5OTk5OTk5NSxcbiAgICAgICAgICAgICAgICAwLjAwMzcwM1xuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTUsIDk5LCAxMzIsIDAuNSknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyBhcyBjb25zdCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJ0JhckNoYXJ0T25lU2V0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnRWZXJ0aWNhbDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFt7XG4gICAgICAgICAgICBheGlzOiAneScsXG4gICAgICAgICAgICBsYWJlbDogJ015IEZpcnN0IERhdGFzZXQnLFxuICAgICAgICAgICAgZGF0YTogWzY1LCA1OSwgODAsIDgxLCA1NiwgNTUsIDQwXSxcbiAgICAgICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA1LCA4NiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAgICAgICAncmdiYSgyMDEsIDIwMywgMjA3LCAwLjIpJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICAgICAgICAgJ3JnYigyNTUsIDk5LCAxMzIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDI1NSwgMTU5LCA2NCknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjU1LCAyMDUsIDg2KScsXG4gICAgICAgICAgICAgICAgJ3JnYig3NSwgMTkyLCAxOTIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDU0LCAxNjIsIDIzNSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMTUzLCAxMDIsIDI1NSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjAxLCAyMDMsIDIwNyknXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGluZGV4QXhpczogJ3knIGFzIGNvbnN0LFxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgICBwbHVnaW5zOiB7XG4gICAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcgYXMgY29uc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICdWZXJ0aWNhbCBCYXIgQ2hhcnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICBcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuXG4gIGNvbnN0IERvdWdobnV0Q2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuXG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gIGRhdGFzZXRzOiBbXG4gICAge1xuICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuMiknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMSknLFxuICAgICAgICAncmdiYSg1NCwgMTYyLCAyMzUsIDEpJyxcbiAgICAgICAgJ3JnYmEoMjU1LCAyMDYsIDg2LCAxKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMSknLFxuICAgICAgICAncmdiYSgxNTMsIDEwMiwgMjU1LCAxKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMSknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIH0sXG4gIF0sXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxEb3VnaG51dCBkYXRhPXtkYXRhfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG5cbiAgY29uc3QgUG9sYXJDaGFydDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgICAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuNSknLFxuICAgICAgICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuNSknLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuXG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgICAgICA8UG9sYXJBcmVhIGRhdGE9e2RhdGF9IC8+O1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9OyIsICJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgR0xURkxvYWRlciB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9sb2FkZXJzL0dMVEZMb2FkZXInO1xuXG5jb25zdCBQcm90ZWluVmlld2VyOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvL1NldCB1cCB0aGUgc2NlbmUsIGNhbWVyYSwgYW5kIHJlbmRlcmVyXG4gICAgY29uc3Qgc2NlbmUgPSBuZXcgVEhSRUUuU2NlbmUoKTtcbiAgICBjb25zdCBjYW1lcmEgPSBuZXcgVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEoNzUsIHdpbmRvdy5pbm5lcldpZHRoIC8gd2luZG93LmlubmVySGVpZ2h0LCAwLjEsIDEwMDApO1xuICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IFRIUkVFLldlYkdMUmVuZGVyZXIoeyBhbnRpYWxpYXM6IHRydWUgfSk7XG4gICAgcmVuZGVyZXIuc2V0U2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCwgd2luZG93LmlubmVySGVpZ2h0KTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJlbmRlcmVyLmRvbUVsZW1lbnQpO1xuXG4gICAgLy9BZGQgbGlnaHRpbmcgdG8gdGhlIHNjZW5lXG4gICAgY29uc3QgbGlnaHQgPSBuZXcgVEhSRUUuRGlyZWN0aW9uYWxMaWdodCgweGZmZmZmZiwgMSk7XG4gICAgbGlnaHQucG9zaXRpb24uc2V0KDAsIDEsIDIpO1xuICAgIHNjZW5lLmFkZChsaWdodCk7XG5cbiAgICAvL0xvYWQgdGhlIEdMQiBtb2RlbCB1c2luZyBHTFRGTG9hZGVyXG4gICAgY29uc3QgbG9hZGVyID0gbmV3IEdMVEZMb2FkZXIoKTtcbiAgICBsb2FkZXIubG9hZChgJHtwcm9jZXNzLmVudi5QVUJMSUNfVVJMfS9tb2RlbHMvRmFuem9ydmlld2VyLmdsYmAsIChnbHRmKSA9PiB7XG4gICAgICBzY2VuZS5hZGQoZ2x0Zi5zY2VuZSk7ICAvLyBBZGQgdGhlIHByb3RlaW4gbW9kZWwgdG8gdGhlIHNjZW5lXG4gICAgICByZW5kZXJlci5yZW5kZXIoc2NlbmUsIGNhbWVyYSk7XG4gICAgfSwgdW5kZWZpbmVkLCAoZXJyb3IpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0FuIGVycm9yIGhhcHBlbmVkIHdoaWxlIGxvYWRpbmcgdGhlIEdMQiBtb2RlbDonLCBlcnJvcik7XG4gICAgfSk7XG5cbiAgICBjYW1lcmEucG9zaXRpb24ueiA9IDU7IC8vIEFkanVzdCB0aGUgY2FtZXJhIHBvc2l0aW9uXG5cbiAgICAvL1JlbmRlciBsb29wXG4gICAgY29uc3QgYW5pbWF0ZSA9ICgpID0+IHtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTtcbiAgICAgIHJlbmRlcmVyLnJlbmRlcihzY2VuZSwgY2FtZXJhKTtcbiAgICB9O1xuICAgIGFuaW1hdGUoKTtcblxuICAgIC8vIENsZWFuIHVwIG9uIGNvbXBvbmVudCB1bm1vdW50XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocmVuZGVyZXIuZG9tRWxlbWVudCk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBudWxsOyAvLyBObyBKU1ggdG8gcmV0dXJuIGFzIHdlJ3JlIGFwcGVuZGluZyB0aGUgY2FudmFzIGRpcmVjdGx5IHRvIHRoZSBib2R5XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQcm90ZWluVmlld2VyOyIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEhpZ2hsaWdodCB9IGZyb20gXCIuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBvcGVuVGhlbSB9IGZyb20gXCIuLi91dGlscy9vcGVuVGhlbVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gRW5nU2lkZSgpe1xuICAgIGxldCBudW1zID0gWyBcImRlbDFcIl1cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgfSwgW10pO1xuICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgIGZvcihsZXQgaWR4IGluIG51bXMpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJXZSBhcmUgbG9va2luZyBhdCAnaXRlbScgPSBcIiArIG51bXNbaWR4XSlcbiAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgICAgbGV0IGluZCA9IG51bXMuZmluZEluZGV4KChlKSA9PiBlID09IGl0ZW0pXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5kIGlzOiBcIiArIGluZClcbiAgICAgICAgICAgICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgaW5kIFxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInN1YmRpIGlzOiBcIiArIHN1YmRpKVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIndlIHVzZSBcIiArICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKT8uaWQgKyBcIiBhbmQgXCIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSk/LmlkKVxuICAgICAgICAgICAgICBIaWdobGlnaHQoe2VsOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSF9LCB7c3VidGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN1YmRpKSF9KTtcbiAgICAgICAgICB9ICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiZnVuY3Rpb24gSGlnaGxpZ2h0Q2hlY2tcIilcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKG51bXMpXG5cblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RpY2t5LXRvcFwiPlxuICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJvdXItY3ljbGVcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1vdXItY3ljbGVcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PdXIgQ3ljbGU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwib3VyLWN5Y2xlXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDE8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMjwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAzPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJwcm9vZi1vZi1jb25jZXB0XCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtcHJvb2Ytb2YtY29uY2VwdFwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PlByb29mIE9mIENvbmNlcHQ8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicHJvb2Ytb2YtY29uY2VwdFwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAxPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDI8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMzwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuVGhlbSh7aXQ6IFwicGUtc3lzdGVtc1wifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5QRSBTeXN0ZW1zPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMTwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAyPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDM8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcIm5pa2FzZVwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW5pa2FzZVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk5pa2FzZTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJuaWthc2VcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMTwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAyPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDM8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInBlZ3JuYVwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlZ3JuYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PnBlZ1JOQTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwZWdybmFcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMTwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAyPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDM8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcImRlbGl2ZXJ5XCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtZGVsaXZlcnlcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5EZWxpdmVyeTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJkZWxpdmVyeVwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiI2RlbDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUwXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj48bGk+SXRlcmF0aW9uIDI8L2xpPjwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMzwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICAgXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJyZWZlcmVuY2VzXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtcmVmZXJlbmNlc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PlJlZmVyZW5jZXM8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicmVmZXJlbmNlc1wiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPVwiI3N1YnRpdGxlMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPjxsaT5JdGVyYXRpb24gMjwvbGk+PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+PGxpPkl0ZXJhdGlvbiAzPC9saT48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgPC9uYXY+ICAgXG4gICAgICAgIDxici8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgc3R5bGU9e3tkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJyaWdodFwifX0+XG4gICAgICAgICAgICA8YSBocmVmPScjJyBjbGFzc05hbWU9XCJiYWNrdG90b3BcIj5cbiAgICAgICAgICAgICAgICBCYWNrIHRvIFRvcCAmIzg1OTM7XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgIClcbn1cblxuXG5cblxuLyogZnVuY3Rpb24gU2lkZUl0ZW1Fbmcoe2hlc2gsIG51bX06e2hlc2g6IHN0cmluZzsgbnVtOiBudW1iZXJ9KXtcbiAgICBsZXQgc3ViZGkgPSBcInN1YnRpdGxlXCIgKyBudW1cbiAgICBsZXQgb3Blbm1vcmUgPSBzdHJpbmdUb1NsdWcoaGVzaCkgXG4gICAgY29uc29sZS5sb2coXCJvcGVubW9yZTogXCIgKyBvcGVubW9yZSlcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBvcGVubW9yZX0pfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9e3N1YmRpfSBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT57aGVzaH08L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPXtvcGVubW9yZX0gY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+T3RoZXI8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+ICAgXG4gICAgKVxufVxuICovXG5cblxuIiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSGlnaGxpZ2h0IH0gZnJvbSBcIi4uL3V0aWxzL0hpZ2hsaWdodC1mdW5jdGlvbnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEludFNpZGViYXIoKXtcbiAgICBsZXQgbnVtcyA9IFsgXCJtYXhIXCIsIFwib2xhcml1SFwiLCBcImpvc2h1YUhcIiwgXCJqdWxpYUhcIiwgXCJuaWNvbGVIXCIsIFwibWF0dGlqc0hcIiwgXCJ3ZXN0aG9mZkhcIiwgXCJiZXJlbnNIXCIsIFwid2lzY2htZXllckhcIl1cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgfSwgW10pO1xuICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgIGZvcihsZXQgaWR4IGluIG51bXMpe1xuICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJXZSBhcmUgbG9va2luZyBhdCAnaXRlbScgPSBcIiArIG51bXNbaWR4XSkgKi9cbiAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgICAgbGV0IGluZCA9IG51bXMuZmluZEluZGV4KChlKSA9PiBlID09IGl0ZW0pXG4gICAgICAgICAgICAgLyogIGNvbnNvbGUubG9nKFwiaW5kIGlzOiBcIiArIGluZCkgKi9cbiAgICAgICAgICAgICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgaW5kIFxuICAgICAgICAgICAgICAvKiBjb25zb2xlLmxvZyhcInN1YmRpIGlzOiBcIiArIHN1YmRpKVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIndlIHVzZSBcIiArICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKT8uaWQgKyBcIiBhbmQgXCIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSk/LmlkKSAqL1xuICAgICAgICAgICAgICBIaWdobGlnaHQoe2VsOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSF9LCB7c3VidGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN1YmRpKSF9KTtcbiAgICAgICAgICB9ICAgICAgIFxuICAgICAgICAgIC8qICAgICAqL1xuICAgICAgfVxuICAgICAgLyogY29uc29sZS5sb2cobnVtcykgKi9cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTIgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0aWNreS10b3BcIj5cbiAgICAgICAgICAgIDxuYXYgY2xhc3NOYW1lPVwic2lkZWJhclwiPlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLW1heFwiLCBzY3JvbGxUYXJnZXQ6IFwibWF4XCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlMFwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtbWF4XCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+TWF4PC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1vbGFyaXVcIiwgc2Nyb2xsVGFyZ2V0OiBcIm9sYXJpdVwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTFcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW9sYXJpdVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk9sYXJpdTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItam9zaHVhXCIsIHNjcm9sbFRhcmdldDogXCJqb3NodWFcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUyXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1qb3NodWFcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5Kb3NodWE8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLWp1bGlhXCIsIHNjcm9sbFRhcmdldDogXCJqdWxpYVwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTNcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LWp1bGlhXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+SnVsaWE8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLW5pY29sZVwiLCBzY3JvbGxUYXJnZXQ6IFwibmljb2xlXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlNFwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtbmljb2xlXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnkgPiBOaWNvbGUgPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1tYXR0aWpzXCIsIHNjcm9sbFRhcmdldDogXCJtYXR0aWpzXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlNVwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtbWF0dGlqc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pm1hdHRpanM8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLXdlc3Rob2ZmXCIsIHNjcm9sbFRhcmdldDogXCJ3ZXN0aG9mZlwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTZcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXdlc3Rob2ZmXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+S2F0cmluPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1iZXJlbnNcIiwgc2Nyb2xsVGFyZ2V0OiBcImJlcmVuc1wiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTdcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LWJlcmVuc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkJlcmVuczwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItd2lzY2htZXllclwiLCBzY3JvbGxUYXJnZXQ6IFwid2lzY2htZXllclwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZThcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXdpc2NobWV5ZXJcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5XaXNjaG1leWVyPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1vbGFyaXVcIiwgc2Nyb2xsVGFyZ2V0OiBcIm9sYXJpdVwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTlcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW9sYXJpdVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk9sYXJpdTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25hdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgKVxufVxuXG4gICBcblxuICBleHBvcnQgZnVuY3Rpb24gb3BlbkFuZFNjcm9sbCh7IGl0LCBzY3JvbGxUYXJnZXQgfTogeyBpdDogc3RyaW5nLCBzY3JvbGxUYXJnZXQ/OiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IGdvdG9hbmRvcGVuID0gKF9ldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgX2V2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBhbmNob3IgYmVoYXZpb3JcblxuICAgICAgICBjb25zb2xlLmxvZyhgb3BlbkFuZFNjcm9sbCBjYWxsZWQgd2l0aCBpdDogJHtpdH0gYW5kIHNjcm9sbFRhcmdldDogJHtzY3JvbGxUYXJnZXR9YCk7XG5cbiAgICAgICAgLy8gQXR0ZW1wdCB0byBmaW5kIHRoZSBlbGVtZW50c1xuICAgICAgICBjb25zdCBzdWJ0YWJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpO1xuICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50SWQgPSBcInBhcmVudC1cIiArIGl0LnJlcGxhY2UoXCJ0YWItXCIsIFwiXCIpO1xuICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGFyZW50RWxlbWVudElkKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhgc3VidGFiRWxlbWVudCB3aXRoIElEICR7aXR9OiBgLCBzdWJ0YWJFbGVtZW50KTtcbiAgICAgICAgY29uc29sZS5sb2coYHBhcmVudEVsZW1lbnQgd2l0aCBJRCAke3BhcmVudEVsZW1lbnRJZH06IGAsIHBhcmVudEVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChzdWJ0YWJFbGVtZW50ICYmIHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRm91bmQgc3VidGFiRWxlbWVudCBhbmQgcGFyZW50RWxlbWVudC5cIik7XG4gICAgICAgICAgICAvLyBTaG93IHRoZSBzZWxlY3RlZCB0YWIgaW4gdGhlIHNpZGViYXIgYW5kIGFkZCBhY3RpdmUgY2xhc3NcbiAgICAgICAgICAgIHN1YnRhYkVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImFjdGl2ZS1zaWRlaXRlbVwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFN1YnRhYiBlbGVtZW50IG9yIHBhcmVudCBlbGVtZW50IG5vdCBmb3VuZCBmb3IgSUQ6ICR7aXR9YCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBhIHNjcm9sbCB0YXJnZXQgaXMgcHJvdmlkZWQsIHNjcm9sbCB0byB0aGF0IGVsZW1lbnQgb24gdGhlIHBhZ2VcbiAgICAgICAgaWYgKHNjcm9sbFRhcmdldCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRhcmdldCk7XG4gICAgICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGxpbmcgdG8gZWxlbWVudCB3aXRoIElEOiAke3Njcm9sbFRhcmdldH1gKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50VG9wID0gZWxlbWVudFJlY3QudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaWRkbGUgb2YgdGhlIHZpZXdwb3J0XG4gICAgICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSB0YXJnZXRFbGVtZW50Lm9mZnNldEhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICAgLyogIFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBFbGVtZW50IFRvcDogJHtlbGVtZW50VG9wfWApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBWaWV3cG9ydCBIZWlnaHQ6ICR7dmlld3BvcnRIZWlnaHR9YCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFNjcm9sbCBPZmZzZXQ6ICR7c2Nyb2xsT2Zmc2V0fWApOyAqL1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsT2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBTY3JvbGwgdGFyZ2V0IGVsZW1lbnQgbm90IGZvdW5kIGZvciBJRDogJHtzY3JvbGxUYXJnZXR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGdvdG9hbmRvcGVuO1xufVxuXG4iLCAiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBOZXdIaWdobGlnaHQsIEhpZ2hsaWdodCB9IGZyb20gXCIuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBTY3JvbGxMaW5rIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvU2Nyb2xsTGlua1wiO1xuaW1wb3J0IHsgb3BlbkFuZENsb3NlQW5kU2Nyb2xsIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5BbmRTY3JvbGxcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gU2FmZXR5U2lkZWJhcigpe1xuICAgIGxldCBudW1zQmlnID0gW1wiUm9sZVwiLCBcIkNoZWNrc1wiLCBcIkxhYlwiLCBcIkJpb3NhZmV0eUhcIiwgXCJCaW9zZWN1cml0eUhcIiwgXCJCaW9ldGhpY3NIXCJdXG4gICAgbGV0IG51bXNTdWIgPSBbIFwiQlMxXCIsIFwiQlMyXCJdXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIH0sIFtdKTtcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgZm9yKGxldCBpZHggaW4gbnVtc1N1Yil7XG4gICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gbnVtc1N1YltpZHhdO1xuICAgICAgICAgICAgbGV0IGluZCA9IG51bXNTdWIuZmluZEluZGV4KChlKSA9PiBlID09IGl0ZW0pXG4gICAgICAgICAgICBsZXQgc3ViZGkgPSBcIm5ld3N1YnRpdGxlXCIgKyBpbmQgXG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiV2UgYXJlIGxvb2tpbmcgYXQgJ2l0ZW0nID0gXCIgKyBudW1zU3ViW2lkeF0pXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluZCBpczogXCIgKyBpbmQpXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInN1YmRpIGlzOiBcIiArIHN1YmRpKVxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3ZSB1c2UgXCIgKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk/LmlkICsgXCIgYW5kIFwiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpPy5pZClcbiAgICAgICAgICAgIE5ld0hpZ2hsaWdodCh7ZWw6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0ZW0pIX0sIHtzdWJ0aXRsZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpIX0pO1xuICAgICAgICB9ICAgIFxuICAgICAgICBmb3IobGV0IGlkeCBpbiBudW1zQmlnKXtcbiAgICAgICAgICBcbiAgICAgICAgICBjb25zdCBpdGVtID0gbnVtc0JpZ1tpZHhdO1xuICAgICAgICAgIGxldCBpbmQgPSBudW1zQmlnLmZpbmRJbmRleCgoZSkgPT4gZSA9PSBpdGVtKVxuICAgICAgICAgIGxldCBzdWJkaSA9IFwic3VidGl0bGVcIiArIGluZCBcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiV2UgYXJlIGxvb2tpbmcgYXQgJ2l0ZW0nID0gXCIgKyBudW1zQmlnW2lkeF0pXG4gICAgICAgICAgY29uc29sZS5sb2coXCJpbmQgaXM6IFwiICsgaW5kKVxuICAgICAgICAgIGNvbnNvbGUubG9nKFwic3ViZGkgaXM6IFwiICsgc3ViZGkpXG4gICAgICAgICAgY29uc29sZS5sb2coXCJ3ZSB1c2UgXCIgKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk/LmlkICsgXCIgYW5kIFwiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpPy5pZClcbiAgICAgICAgICBIaWdobGlnaHQoe2VsOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSF9LCB7c3VidGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN1YmRpKSF9KTtcbiAgICAgICAgICB9ICAgICAgIFxuICAgICAgICBjb25zb2xlLmxvZyhcImZ1bmN0aW9uIEhpZ2hsaWdodENoZWNrXCIpXG4gICAgfVxuICAgICAgLyogY29uc29sZS5sb2cobnVtcykgKi9cblxuXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIj5cbiAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRDbG9zZUFuZFNjcm9sbCh7IGl0OiBcInRhYi1Sb2xlXCIsIHNjcm9sbFRhcmdldDogXCJSb2xlXCIsIGNsb3NlOiBbXCJCaW9ldGhpY3NcIiwgXCJCaW9zYWZldHlcIiwgXCJCaW9zZWN1cml0eVwiXX0pfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlMFwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1Sb2xlXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5Sb2xlIGluIGlHZW08L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRDbG9zZUFuZFNjcm9sbCh7IGl0OiBcInRhYi1DaGVja3NcIiwgc2Nyb2xsVGFyZ2V0OiBcIkNoZWNrc1wiLCBjbG9zZTogW1wiQmlvZXRoaWNzXCIsIFwiQmlvc2FmZXR5XCIsIFwiQmlvc2VjdXJpdHlcIl0gfSl9PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUxXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LUNoZWNrc1wiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+Q2hlY2stSW5zPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLUxhYlwiLCBzY3JvbGxUYXJnZXQ6IFwiTGFiXCIsIGNsb3NlOiBbXCJCaW9ldGhpY3NcIiwgXCJCaW9zYWZldHlcIiwgXCJCaW9zZWN1cml0eVwiXSB9KX0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTJcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtTGFiXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PdXIgTGFiPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICB7LyogRnpua3Rpb25pZXJ0OiAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInRhYi1DeXN0aWMtRmlicm9zaXNcIn0pfSAgPiAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCIgaWQ9XCJzdWJ0aXRsZTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LUJpb3NhZmV0eVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLUJpb3NhZmV0eVwiLCBzY3JvbGxUYXJnZXQ6IFwiQmlvc2FmZXR5XCIsIGNsb3NlOiBbXCJCaW9ldGhpY3NcIiwgXCJCaW9zZWN1cml0eVwiXSB9KX0+PHN1bW1hcnk+Qmlvc2FmZXR5PC9zdW1tYXJ5PjwvYT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidGFiLUJpb3NhZmV0eVwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBpZD1cIm5ld3N1YnRpdGxlMFwiPjxTY3JvbGxMaW5rIGxhYmVsPVwiTWVjaGFuaXNtXCIgdGFyZ2V0SWQ9XCJCUzFcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgaWQ9XCJuZXdzdWJ0aXRsZTFcIj48U2Nyb2xsTGluayBsYWJlbD1cIkRlbGl2ZXJ5XCIgdGFyZ2V0SWQ9XCJCUzJcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIHsvKiBGem5rdGlvbmllcnQ6ICA8YSBvbkNsaWNrPXtvcGVuVGhlbSh7aXQ6IFwidGFiLUN5c3RpYy1GaWJyb3Npc1wifSl9ICA+ICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIiBpZD1cInN1YnRpdGxlNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtQmlvc2VjdXJpdHlcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgIG9uQ2xpY2s9e29wZW5BbmRDbG9zZUFuZFNjcm9sbCh7IGl0OiBcInRhYi1CaW9zZWN1cml0eVwiLCBzY3JvbGxUYXJnZXQ6IFwiQmlvc2VjdXJpdHlcIiwgY2xvc2U6IFtcIkJpb3NhZmV0eVwiLCBcIkJpb2V0aGljc1wiXX0pfT48c3VtbWFyeT5CaW9zZWN1cml0eTwvc3VtbWFyeT48L2E+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInRhYi1CaW9zZWN1cml0eVwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48U2Nyb2xsTGluayBsYWJlbD1cIk91ciBQcm9qZWN0XCIgdGFyZ2V0SWQ9XCJCU2VjMVwiLz48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48U2Nyb2xsTGluayBsYWJlbD1cIlJpc2sgQXNzZXNtZW50XCIgdGFyZ2V0SWQ9XCJCU2VjMlwiLz48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48U2Nyb2xsTGluayBsYWJlbD1cIk1hbmFnaW5nIFJpc2tzXCIgdGFyZ2V0SWQ9XCJCU2VjM1wiLz48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCIgIGlkPVwic3VidGl0bGU1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1CaW9ldGhpY3NcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZENsb3NlQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLUJpb2V0aGljc1wiLCBzY3JvbGxUYXJnZXQ6IFwiQmlvZXRoaWNzXCIsIGNsb3NlOiBbXCJCaW9zYWZldHlcIiwgXCJCaW9zZWN1cml0eVwiXX0pfT48c3VtbWFyeT5CaW9ldGhpY3M8L3N1bW1hcnk+PC9hPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ0YWItQmlvZXRoaWNzXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxTY3JvbGxMaW5rIGxhYmVsPVwiR2VuZSBUaGVyYXB5XCIgdGFyZ2V0SWQ9XCJCRTFcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJQcmltYXJ5IENlbGxzXCIgdGFyZ2V0SWQ9XCJCRTJcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PFNjcm9sbExpbmsgbGFiZWw9XCJDb25zZW50IGFuZCBHdWlkZWxpbmVzXCIgdGFyZ2V0SWQ9XCJCRTNcIi8+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L25hdj4gICBcbiAgICAgICAgPGJyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiBzdHlsZT17e2Rpc3BsYXk6IFwiZmxleFwiLCBhbGlnbkl0ZW1zOiBcInJpZ2h0XCJ9fT5cbiAgICAgICAgICAgIDxhIGhyZWY9JyMnIGNsYXNzTmFtZT1cImJhY2t0b3RvcFwiPlxuICAgICAgICAgICAgICAgIEJhY2sgdG8gVG9wICYjODU5MztcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5cblxuXG5cblxuXG4iLCAiZXhwb3J0IGZ1bmN0aW9uIE5vU2lkZWJhcigpe1xuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlnZW1CaWVsZWZlbGQoKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtcbiAgICAgICAgY29uc3QgY29sbGFwc2VJZCA9IHBhcmFtcy5nZXQoJ2NvbGxhcHNlSWQnKTtcbiAgICAgICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcblxuICAgICAgICAvLyBTY3JvbGwgdG8gdGhlIHNlY3Rpb24gc3BlY2lmaWVkIGJ5IGNvbGxhcHNlSWRcbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNvbGxhcHNlSWQpO1xuICAgICAgICAgICAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYklkXG4gICAgICAgIGlmICh0YWJJZCkge1xuICAgICAgICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBJQklFKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJpR2VtIEJpZWxlZmVsZFwiPlxuICAgICAgICBcbiAgICAgIDwvSGVhZGVyQm94PlxuICAgICk7XG4gIH1cbiAgXG4gIGltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9zYWhhbWlhc2FkL3dpa2kuY3NzL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy9zdHJpbmdUb1NsdWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3NhaGFtaWFzYWQvd2lraS5jc3MvYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3N0cmluZ1RvU2x1Zy50c1wiO2V4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb1NsdWcoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgc2x1ZyA9IFN0cmluZyhzdHJpbmcpLnRvTG93ZXJDYXNlKCk7XG4gIHNsdWcgPSBzbHVnLnJlcGxhY2UoL1teYS16MC05LV0vZywgXCItXCIpO1xuICBzbHVnID0gc2x1Zy5yZXBsYWNlKC8tKy9nLCBcIi1cIik7XG4gIC8vIHJlbW92ZSBkYXNoZXMgYXQgc3RhcnQgYW5kIGVuZFxuICBjb25zdCBzdGFydCA9IHNsdWcuc2VhcmNoKC9bXi1dLyk7IC8vIGZpbmQgaW5kZXggb2YgZmlyc3Qgbm9uLWRhc2hcbiAgY29uc3QgZW5kID0gc2x1Zy5zZWFyY2goLy0rJC8pOyAvLyBmaW5kIGluZGV4IG9mIGZpcnN0IGVuZCBkYXNoXG4gIHJldHVybiBzbHVnLnN1YnN0cmluZyhzdGFydCwgZW5kID09PSAtMSA/IHVuZGVmaW5lZCA6IGVuZCk7XG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9Vc2Vycy9zYWhhbWlhc2FkL3dpa2kuY3NzL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3NhaGFtaWFzYWQvd2lraS5jc3MvYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3VzZVNjcmlwdC50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvc2FoYW1pYXNhZC93aWtpLmNzcy9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlU2NyaXB0LnRzXCI7aW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2NyaXB0KHt1cmx9Ont1cmw6IHN0cmluZ30pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAgIHNjcmlwdC5zcmMgPSB1cmw7XG4gICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjcmlwdCk7XG4gICAgfVxuICB9LCBbdXJsXSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB1c2VTY3JpcHQ7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXNULFNBQVMsY0FBYyxlQUFlO0FBQzVWLE9BQU8sV0FBVzs7O0FDRGxCLFNBQVMsV0FBVyxRQUFRLGdCQUFnQjtBQWVwQyxtQkFLWSxLQUpSLFlBREo7OztBQ1RBLFNBRUUsT0FBQUEsTUFGRixRQUFBQyxhQUFBOzs7QUNOUixTQUFTLGFBQUFDLGtCQUFpQjtBQUMxQixTQUFTLG1CQUFtQjs7O0FDWVgsZ0JBQUFDLE1BNkRULFFBQUFDLGFBN0RTOzs7QUR1QmIscUJBQUFDLFdBQ0UsT0FBQUMsTUFHQSxRQUFBQyxhQUpGOzs7QUVwQ0osU0FBUyxhQUFBQyxrQkFBaUI7QUF3QnRCLHFCQUFBQyxXQUVJLE9BQUFDLE1BRkosUUFBQUMsYUFBQTs7O0FDeEJKLFNBQVMsYUFBQUMsa0JBQWlCO0FBQzFCLFNBQVMsZUFBQUMsb0JBQW1COzs7QUNENUIsU0FBUyxZQUFZO0FBb0JmLFNBeUZGLFlBQUFDLFdBeEZJLE9BQUFDLE1BREYsUUFBQUMsYUFBQTs7O0FDTU0sZ0JBQUFDLE1BV2dCLFFBQUFDLGFBWGhCOzs7QUN6QlosT0FBTyxZQUFZO0FBZ0JKLHFCQUFBQyxXQUFBLE9BQUFDLFlBQUE7OztBQ1pQLHFCQUFBQyxXQUVRLE9BQUFDLE1Bc0RBLFFBQUFDLGFBeERSOzs7QUNrQ1csZ0JBQUFDLGFBQUE7OztBQ2xDWCxTQXNCSixZQUFBQyxXQXJCWSxPQUFBQyxPQURSLFFBQUFDLGFBQUE7OztBQ0FJLFNBQ0ksT0FBQUMsT0FESixRQUFBQyxjQUFBOzs7QUNBSixTQXNFMkIsWUFBQUMsV0F0RTNCLE9BQUFDLE9Bd0VRLFFBQUFDLGNBeEVSOzs7QUNMUixTQUFTLGFBQUFDLGtCQUFpQjtBQUMxQixTQUFTLGVBQUFDLG9CQUFtQjs7O0FUMEN4QixxQkFBQUMsV0FFRSxPQUFBQyxPQUdFLFFBQUFDLGNBTEo7OztBVTNDSixTQUFTLGVBQUFDLG9CQUFtQjs7O0FDSXBCLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUNKUixTQUFTLGFBQUFDLFlBQVcsWUFBQUMsaUJBQWdCO0FBQ3BDLFNBQVMsZUFBQUMsb0JBQW1CO0FBNkJwQixxQkFBQUMsWUFJZ0IsT0FBQUMsT0FESixRQUFBQyxjQUhaOzs7QUM5QnFVLElBQU0sT0FBTyxDQUFDLE9BQTBCO0FBQ2pYLFFBQU0sY0FBYyxHQUFHLHNCQUFzQjtBQUM3QyxRQUFNLGFBQWEsWUFBWSxNQUFNLE9BQU87QUFDNUMsUUFBTSxpQkFBaUIsT0FBTztBQUc5QixRQUFNLGlCQUFpQixjQUFjLGlCQUFpQixJQUFJLEdBQUcsZUFBZTtBQUU1RSxTQUFPLFNBQVM7QUFBQSxJQUNaLEtBQUs7QUFBQSxJQUNMLFVBQVU7QUFBQSxFQUNkLENBQUM7QUFDTDs7O0FDeUJRLGdCQUFBQyxhQUFBO0FBd0RBLElBQU0sc0JBQWlELENBQUMsRUFBRSxVQUFVLFNBQVMsTUFBTTtBQUN2RixRQUFNLGNBQWMsTUFBTTtBQUN0QixVQUFNLGdCQUFnQixTQUFTLGVBQWUsUUFBUTtBQUN0RCxRQUFJLGVBQWU7QUFDZixXQUFLLGFBQWE7QUFBQSxJQUN0QjtBQUFBLEVBQ0o7QUFFQSxTQUNJLGdCQUFBQyxNQUFDLE9BQUUsU0FBUyxhQUNQLFVBQ0w7QUFFUjs7O0FDeEdRLHFCQUFBQyxZQUFBLE9BQUFDLGFBQUE7OztBQ0dJLGdCQUFBQyxhQUFBOzs7QUNBTixxQkFBQUMsWUFRSixPQUFBQyxPQTRDQSxRQUFBQyxjQXBESTs7O0FQS04sU0FBUyxhQUFBQyxrQkFBaUI7OztBUVQxQixTQUFTLFdBQVc7QUFDcEIsU0FBUyxTQUFTLFNBQVMsWUFBWSxTQUFTLGNBQWM7QUE2Q3hELGdCQUFBQyxhQUFBO0FBMUNOLFFBQVEsU0FBUyxZQUFZLFNBQVMsTUFBTTs7O0FSc0Q1QixnQkFBQUMsT0FDQSxRQUFBQyxjQURBOzs7QVMzRGhCLFNBQVMsYUFBQUMsa0JBQWlCO0FBNkJkLGdCQUFBQyxPQWtCeUIsUUFBQUMsY0FsQnpCOzs7QUMxQlosU0FBUyxhQUFBQyxrQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxvQkFBbUI7QUE4Q3RCLHFCQUFBQyxZQUdJLE9BQUFDLE9BTVEsUUFBQUMsY0FUWjs7O0FDakROLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMsb0JBQW1CO0FBZ0N4QixxQkFBQUMsWUFFSSxPQUFBQyxhQUZKOzs7QUNqQ0osU0FBUyxhQUFBQyxtQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxvQkFBbUI7QUFpQ3hCLHFCQUFBQyxZQUlRLE9BQUFDLE9BRkosUUFBQUMsY0FGSjs7O0FDbkNKLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMsb0JBQW1CO0FBa0N4QixxQkFBQUMsWUFHTSxPQUFBQyxPQUhOLFFBQUFDLGNBQUE7OztBQ25DSixTQUFTLGFBQUFDLG1CQUFpQjtBQUMxQixTQUFTLGVBQUFDLHFCQUFtQjtBQWlDeEIscUJBQUFDLFlBRzJCLE9BQUFDLE9BZ0JmLFFBQUFDLGNBbkJaOzs7QUNtQkosU0FBUyxhQUFBQyxtQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxxQkFBbUI7OztBQ3RENFQsU0FBUyxtQkFBbUI7OztBQ3VXalcsU0FTSCxZQUFBQyxZQUpnRyxPQUFBQyxPQUw3RixRQUFBQyxjQUFBO0FBdFVuQixJQUFNLE9BQWtDO0FBQUEsRUFDdEMsYUFBYTtBQUFBLEVBQ2IsS0FBSztBQUFBLEVBQ0wsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUNYO0FBc0JPLElBQU0sZUFBMEM7QUFBQSxFQUNyRDtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsRUFDUjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLEVBQ1I7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxFQUNSO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLFlBQVksS0FBSyxLQUFLO0FBQUEsSUFDdEIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFFZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsRUFDUjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxFQUNSO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFFZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsRUFDUjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsc0JBQXNCO0FBQUEsRUFDeEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFNBQVM7QUFBQSxJQUMxQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFFZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLE9BQU87QUFBQSxJQUN4QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsc0JBQXNCO0FBQUEsRUFDeEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUttRCxnQkFBQUQsTUFBQyx1QkFBb0IsVUFBUyxVQUFTLDBCQUFBQSxNQUFDLFNBQUksZUFBQyxHQUFNO0FBQUEsTUFBc0I7QUFBQSxPQUczSCxDQUFJO0FBQUEsSUFDdkIsVUFBVSxDQUFFLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQSxzQkFBQUUsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUc2QyxnQkFBQUQsTUFBQyx1QkFBb0IsVUFBUyxVQUFTLDBCQUFBQSxNQUFDLFNBQUksZUFBQyxHQUFNO0FBQUEsUUFBc0I7QUFBQSxTQUt2STtBQUFBLE1BQ0EsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFFdUYsZ0JBQUFELE1BQUMsdUJBQW9CLFVBQVMsVUFBUywwQkFBQUEsTUFBQyxTQUFJLGVBQUMsR0FBTTtBQUFBLFFBQXNCO0FBQUEsU0FDcEY7QUFBQSxPQUMzRSxDQUFHO0FBQUEsSUFDUCxnQkFBZ0IsQ0FBQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUFDLGdCQUFBQyxNQUFDLE9BQUUsK25CQUs0RTtBQUFBLE1BQ2pHLGdCQUFBQSxNQUFDLE9BQUUsK1VBR2U7QUFBQSxPQUFJLENBQUc7QUFBQSxJQUMzQiwyQkFBMkI7QUFBQSxJQUMzQixnQkFBZ0I7QUFBQSxJQUNoQixZQUFZO0FBQUEsTUFDVixnQkFBQUMsT0FBQyxRQUVEO0FBQUEsd0JBQUFBLE9BQUMsUUFBRyxRQUFPLDBCQUF5QixNQUFLLG1CQUFrQixVQUFTLG1CQUFrQixJQUFHLDRDQUNyRjtBQUFBLDBCQUFBQSxPQUFDLFVBQUssVUFBUyxpQkFBZ0IsUUFBTyxpQkFDbEM7QUFBQSw0QkFBQUQsTUFBQyxVQUFLLFVBQVMsZUFBYyx1QkFBUztBQUFBLFlBQU87QUFBQSxZQUM3QyxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsZUFBYywwQkFBWTtBQUFBLGFBQzdDO0FBQUEsVUFDQSxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsZUFBYywyREFBK0M7QUFBQSxVQUM1RSxnQkFBQUEsTUFBQyxPQUFFLFVBQVMsb0JBQW1CLFFBQU8sdUJBQXNCLDhCQUFnQjtBQUFBLFVBQzVFLGdCQUFBQSxNQUFDLE9BQUUsVUFBUyxlQUFjLFFBQU8sb0JBQW1CLGVBQUM7QUFBQSxVQUFJO0FBQUEsVUFDekQsZ0JBQUFBLE1BQUMsVUFBSyxVQUFTLG9CQUFtQixnQkFBRTtBQUFBLFVBQU87QUFBQSxVQUFDLGdCQUFBQSxNQUFDLFVBQUssVUFBUyxrQkFBaUIsZ0JBQUU7QUFBQSxVQUFPO0FBQUEsVUFDcEYsZ0JBQUFBLE1BQUMsVUFBSyxVQUFTLHdCQUF1QixVQUFTLGFBQVksVUFBUyxTQUFRLGtCQUFJO0FBQUEsVUFBTztBQUFBLFVBQ3hGLGdCQUFBQSxNQUFDLE9BQUUsV0FBVSxPQUFNLE1BQUssK0NBQThDLCtDQUFpQztBQUFBLFdBQzNHO0FBQUEsUUFHQSxnQkFBQUMsT0FBQyxRQUFHLFFBQU8sMEJBQXlCLE1BQUssbUJBQWtCLFVBQVMsbUJBQWtCLElBQUcsVUFDckY7QUFBQSwwQkFBQUQsTUFBQyxVQUFLLFVBQVMsaUJBQWdCLFFBQU8saUJBQ2xDLDBCQUFBQSxNQUFDLFVBQUssVUFBUyxlQUFjLHVCQUFTLEdBQzFDO0FBQUEsVUFDQSxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsZUFBYyxtSUFBb0g7QUFBQSxVQUNqSixnQkFBQUEsTUFBQyxPQUFFLFVBQVMsb0JBQW1CLFFBQU8sdUJBQXNCLCtFQUF3RDtBQUFBLFVBQ3BILGdCQUFBQSxNQUFDLE9BQUUsVUFBUyxlQUFjLFFBQU8sb0JBQW1CLGdCQUFFO0FBQUEsVUFBSTtBQUFBLFVBQzFELGdCQUFBQSxNQUFDLFVBQUssVUFBUyxvQkFBbUIsZUFBQztBQUFBLFVBQU87QUFBQSxVQUN6QyxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsd0JBQXVCLFVBQVMsYUFBWSxVQUFTLFNBQVEsa0JBQUk7QUFBQSxVQUFPO0FBQUEsVUFDeEYsZ0JBQUFBLE1BQUMsT0FBRSxXQUFVLE9BQU0sTUFBSyx3Q0FBdUMsd0NBQTBCO0FBQUEsV0FDN0Y7QUFBQSxRQUdBLGdCQUFBQyxPQUFDLFFBQUcsUUFBTywwQkFBeUIsTUFBSyxtQkFBa0IsVUFBUyxtQkFBa0IsSUFBRyxVQUNyRjtBQUFBLDBCQUFBQSxPQUFDLFVBQUssVUFBUyxpQkFBZ0IsUUFBTyxpQkFDbEM7QUFBQSw0QkFBQUQsTUFBQyxVQUFLLFVBQVMsZUFBYywwQkFBWTtBQUFBLFlBQU87QUFBQSxZQUNoRCxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsZUFBYyx3QkFBVTtBQUFBLGFBQzNDO0FBQUEsVUFDQSxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsZUFBYyxpRUFBcUQ7QUFBQSxVQUNsRixnQkFBQUEsTUFBQyxPQUFFLFVBQVMsb0JBQW1CLFFBQU8sdUJBQXNCLHFCQUFPO0FBQUEsVUFDbkUsZ0JBQUFBLE1BQUMsT0FBRSxVQUFTLGVBQWMsUUFBTyxvQkFBbUIsa0JBQUk7QUFBQSxVQUFJO0FBQUEsVUFDNUQsZ0JBQUFBLE1BQUMsVUFBSyxVQUFTLG9CQUFtQixrQkFBSTtBQUFBLFVBQU87QUFBQSxVQUFDLGdCQUFBQSxNQUFDLFVBQUssVUFBUyxrQkFBaUIsaUJBQUc7QUFBQSxVQUFPO0FBQUEsVUFDdkYsZ0JBQUFBLE1BQUMsVUFBSyxVQUFTLHdCQUF1QixVQUFTLGFBQVksVUFBUyxTQUFRLGtCQUFJO0FBQUEsVUFBTztBQUFBLFVBQ3hGLGdCQUFBQSxNQUFDLE9BQUUsV0FBVSxPQUFNLE1BQUssb0NBQW1DLG9DQUFzQjtBQUFBLFdBQ3JGO0FBQUEsU0FDQTtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFFZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxTQUFTO0FBQUEsSUFDMUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsWUFBWSxLQUFLLEtBQUs7QUFBQSxJQUN0QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxPQUFPO0FBQUEsSUFDUCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssWUFBWTtBQUFBLElBQzdCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUNpRSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssdUJBQXNCLG9CQUFNO0FBQUEsTUFBSTtBQUFBLE9BTVcsQ0FBSTtBQUFBLElBQzFJLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUseTRCQU04QztBQUFBLE1BQ3pELGdCQUFBQSxNQUFDLE9BQUUscWxCQUcwSDtBQUFBLElBQUk7QUFBQSxJQUNwSSxnQkFBZ0I7QUFBQSxNQUNkLGdCQUFBQSxNQUFDLE9BQUUsNlpBRXdJO0FBQUEsSUFDM0k7QUFBQSxJQUNGLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQjtBQUFBLElBQ3RCLDJCQUEyQjtBQUFBLElBQzNCLFlBQVksQ0FBQyxnQkFBQUEsTUFBQyxTQUFJLDhCQUFhLENBQU07QUFBQSxFQUN2QztBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUVkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFNBQVM7QUFBQSxJQUMxQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFFZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxTQUFTO0FBQUEsSUFDMUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBRWQsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsRUFDbEI7QUFDRjs7O0FDbG9CWSxnQkFBQUUsT0FJQSxRQUFBQyxjQUpBOzs7QUNGTixTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FKeUZGLFNBc0dGLFlBQUFDLFlBdEdFLE9BQUFDLE9BT0EsUUFBQUMsY0FQQTs7O0FLN0ZKLFNBQVMsYUFBQUMsbUJBQWlCO0FBUVYsU0FtRUosWUFBQUMsWUFuRUksT0FBQUMsT0FtRUosUUFBQUMsY0FuRUk7OztBQ0pBLGdCQUFBQyxhQUFBOzs7QUNOaEIsU0FBUyxLQUFLLFdBQVc7QUFDekIsU0FBUSxZQUFZLFNBQVMsZ0JBQWU7QUFFNUMsU0FBUyxhQUFBQyxtQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxxQkFBbUI7QUFFNUIsT0FBT0MsWUFBVzs7O0FDTGxCLE9BQU8sWUFBWTtBQUNuQixPQUFPLFdBQVc7QUFtR1osZ0JBQUFDLGFBQUE7QUEzRk4sSUFBTSxjQUFhO0FBQUEsRUFDakIsRUFBQyxPQUFPLE9BQU8sT0FBTyxXQUFVO0FBQUEsRUFDaEMsRUFBQyxPQUFPLFNBQVMsT0FBTyxRQUFPO0FBQUEsRUFDL0IsRUFBQyxPQUFPLFFBQVEsT0FBTyxRQUFPO0FBQUEsRUFDOUIsRUFBQyxPQUFPLFlBQVksT0FBTyxhQUFZO0FBQUEsRUFDdkMsRUFBQyxPQUFPLFlBQVksT0FBTyxrQkFBaUI7QUFBQSxFQUM1QyxFQUFDLE9BQU8sUUFBUSxPQUFPLE9BQU07QUFBQSxFQUM3QixFQUFDLE9BQU8sT0FBTyxPQUFPLE1BQUs7QUFFN0I7QUFHTyxTQUFTLHFCQUFxQixLQUFtQjtBQUN0RCxRQUFNLE9BQU8sU0FBUyxlQUFlLE1BQU07QUFDM0MsTUFBSSxNQUFNO0FBQ1IsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFFQSxRQUFNLHFCQUFxQixTQUFTLHVCQUF1QixZQUFZO0FBR3ZFLFdBQVMsSUFBSSxHQUFHLElBQUksbUJBQW1CLFFBQVEsS0FBSztBQUNsRCxVQUFNLEtBQUssbUJBQW1CLENBQUM7QUFDL0Isa0JBQWMsSUFBSSxNQUFNO0FBQUEsRUFDMUI7QUFFQSxVQUFRLElBQUksT0FBTztBQUduQixXQUFTLElBQUksR0FBRyxJQUFJLG1CQUFtQixRQUFRLEtBQUs7QUFDbEQsVUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBQy9CLFFBQUksYUFBYTtBQUVqQixlQUFXLFNBQVMsS0FBSztBQUN2QixjQUFRLElBQUksVUFBVSxNQUFNLEtBQUssRUFBRTtBQUNuQyxVQUFJLENBQUMsR0FBRyxVQUFVLFNBQVMsTUFBTSxLQUFLLEdBQUc7QUFDdkMscUJBQWE7QUFDYjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsWUFBUSxJQUFJLGVBQWUsVUFBVSxFQUFFO0FBQ3ZDLFFBQUksWUFBWTtBQUNkLGlCQUFXLElBQUksTUFBTTtBQUFBLElBQ3ZCO0FBQUEsRUFDRjtBQUdBLFFBQU0sZ0JBQWdCLFNBQVMsdUJBQXVCLE1BQU07QUFDNUQsTUFBSSxjQUFjLFNBQVMsS0FBSyxNQUFNO0FBQ3BDLFlBQVEsSUFBSSxjQUFjLE1BQU07QUFDaEMsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFDRjtBQWFBLFNBQVMsV0FBVyxTQUFrQixNQUFjO0FBQ2xELE1BQUksR0FBRyxNQUFNO0FBQ2IsU0FBTyxRQUFRLFVBQVUsTUFBTSxHQUFHO0FBQ2xDLFNBQU8sS0FBSyxNQUFNLEdBQUc7QUFDckIsT0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNoQyxRQUFJLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUk7QUFBQyxjQUFRLGFBQWEsTUFBTSxLQUFLLENBQUM7QUFBQSxJQUFFO0FBQUEsRUFDdkU7QUFDRjtBQUVBLFNBQVMsY0FBYyxTQUFrQixNQUFjO0FBQ3JELE1BQUksR0FBRyxNQUFNO0FBQ2IsU0FBTyxRQUFRLFVBQVUsTUFBTSxHQUFHO0FBQ2xDLFNBQU8sS0FBSyxNQUFNLEdBQUc7QUFDckIsT0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNoQyxXQUFPLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUk7QUFDakMsV0FBSyxPQUFPLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFBQSxJQUN0QztBQUFBLEVBQ0Y7QUFDQSxVQUFRLFlBQVksS0FBSyxLQUFLLEdBQUc7QUFDbkM7QUFXQSxJQUFNLGFBQU4sY0FBeUIsTUFBTSxVQUFVO0FBQUEsRUFDdkMsUUFBUTtBQUFBLElBQ04sZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBLGVBQWUsQ0FBQyxtQkFBd0I7QUFFdkMsU0FBSztBQUFBLE1BQVMsRUFBRSxlQUFlO0FBQUEsTUFBRyxNQUNsQyxRQUFRLElBQUksb0JBQW9CLEtBQUssTUFBTSxjQUFjO0FBQUEsSUFFeEQ7QUFDQyx5QkFBcUIsY0FBYztBQUFBLEVBQ3RDO0FBQUEsRUFDQSxTQUFTO0FBQ1AsVUFBTSxFQUFFLGVBQWUsSUFBSSxLQUFLO0FBRWhDLFdBQ0UsZ0JBQUFDO0FBQUEsTUFBQztBQUFBO0FBQUEsUUFDQyxPQUFPO0FBQUEsUUFDUCxVQUFVLEtBQUs7QUFBQSxRQUNmLFNBQU87QUFBQSxRQUNQLFNBQVM7QUFBQSxRQUNULGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUFBLFFBQzdCLFdBQVU7QUFBQSxRQUNWLGlCQUFnQjtBQUFBO0FBQUEsSUFDbEI7QUFBQSxFQUVKO0FBQ0Y7OztBQ2pJWSxnQkFBQUMsYUFBQTs7O0FGaUNMLHFCQUFBQyxZQUdJLE9BQUFDLE9BSEosUUFBQUMsY0FBQTs7O0FHcENQLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMscUJBQW1CO0FBaUN4QixxQkFBQUMsWUFHSSxPQUFBQyxPQURBLFFBQUFDLGNBRko7OztBQ25DSixTQUFTLGFBQUFDLG1CQUFpQjtBQUMxQixTQUFTLGVBQUFDLHFCQUFtQjtBQWtDdEIscUJBQUFDLFlBQ0EsT0FBQUMsT0FXRSxRQUFBQyxjQVpGOzs7QUNuQ04sU0FBUyxhQUFBQyxtQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxxQkFBbUI7QUFnQ3RCLHFCQUFBQyxZQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDL0JOLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMscUJBQW1CO0FBZ0N0QixxQkFBQUMsWUFHRSxPQUFBQyxPQUlNLFFBQUFDLGNBUFI7OztBQ2hDQSxxQkFBQUMsWUFJTSxPQUFBQyxPQUZGLFFBQUFDLGNBRko7OztBQ1dFLHFCQUFBQyxZQUlNLE9BQUFDLE9BREYsUUFBQUMsY0FISjs7O0FDVEYsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNGRixnQkFBQUMsYUFBQTs7O0FDREEsZ0JBQUFDLGFBQUE7OztBQ0NBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNEQSxnQkFBQUMsYUFBQTs7O0FDQ0EsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNISixTQUFTLGFBQUFDLG1CQUFpQjtBQUMxQixTQUFTLGVBQUFDLHFCQUFtQjtBQWdDdEIscUJBQUFDLFlBRUksT0FBQUMsT0FGSixRQUFBQyxjQUFBOzs7QUM5QkYsZ0JBQUFDLGFBQUE7OztBQ0hKLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMscUJBQW1CO0FBaUN0QixxQkFBQUMsWUFBQSxPQUFBQyxhQUFBOzs7QUMvQkYsZ0JBQUFDLGFBQUE7OztBQ0hKLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMscUJBQW1CO0FBaUN0QixxQkFBQUMsWUFDRSxPQUFBQyxPQURGLFFBQUFDLGNBQUE7OztBQzVCQSxnQkFBQUMsYUFBQTs7O0FDR04sU0FBUyxLQUFLLFVBQVUsaUJBQWlCO0FBQ3pDLFNBQVMsU0FBU0MsVUFBUyxXQUFBQyxVQUFTLFVBQUFDLFNBQVEsWUFBWSxlQUFlLGFBQWEsT0FBTyx5QkFBeUI7OztBQ1ZwSCxTQUFnQixhQUFBQyxtQkFBaUI7QUFDakMsWUFBWSxXQUFXO0FBQ3ZCLFNBQVMsa0JBQWtCOzs7QUR3QnJCLHFCQUFBQyxZQUVNLE9BQUFDLE9BRE4sUUFBQUMsY0FEQTtBQVpOQyxTQUFRO0FBQUEsRUFDSjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQ0Y7OztBRXRCRixTQUFTLGFBQUFDLG1CQUFpQjtBQTRCZCxnQkFBQUMsT0FTeUIsUUFBQUMsY0FUekI7OztBQzVCWixTQUFTLGFBQUFDLG1CQUFpQjtBQXlCZCxnQkFBQUMsT0FFQSxRQUFBQyxjQUZBOzs7QUN6QlosU0FBUyxhQUFBQyxtQkFBaUI7QUE2Q2QsZ0JBQUFDLE9BcUN5QixRQUFBQyxjQXJDekI7OztBQzNDSixnQkFBQUMsYUFBQTs7O0FDRlIsU0FBUyxhQUFBQyxtQkFBaUI7QUFDMUIsU0FBUyxlQUFBQyxxQkFBbUI7QUFpQ3RCLHFCQUFBQyxZQUVJLE9BQUFDLGFBRko7OztBQy9CQSxnQkFBQUMsYUFBQTs7O0FDSHVWLFNBQVMsYUFBYSxRQUF3QjtBQUN6WSxNQUFJLE9BQU8sT0FBTyxNQUFNLEVBQUUsWUFBWTtBQUN0QyxTQUFPLEtBQUssUUFBUSxlQUFlLEdBQUc7QUFDdEMsU0FBTyxLQUFLLFFBQVEsT0FBTyxHQUFHO0FBRTlCLFFBQU0sUUFBUSxLQUFLLE9BQU8sTUFBTTtBQUNoQyxRQUFNLE1BQU0sS0FBSyxPQUFPLEtBQUs7QUFDN0IsU0FBTyxLQUFLLFVBQVUsT0FBTyxRQUFRLEtBQUssU0FBWSxHQUFHO0FBQzNEOzs7QUNSZ1YsU0FBUyxhQUFBQyxtQkFBaUI7OztBL0VLMVcsSUFBTyxzQkFBUSxNQUFNO0FBQ25CLFFBQU0sTUFBTSxRQUFRLE9BQU8sUUFBUSxJQUFJLENBQUM7QUFFeEMsTUFBSSxDQUFDLElBQUksZ0JBQWdCO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLEVBQ3RFO0FBRUEsVUFBUSxJQUFJLG1CQUFtQixJQUFJLGNBQWMsRUFBRTtBQUduRCxRQUFNLFdBQVcsYUFBYSxJQUFJLGNBQWM7QUFFaEQsVUFBUSxJQUFJLG1CQUFtQixJQUFJLGNBQWM7QUFDakQsVUFBUSxJQUFJLGNBQWMsUUFBUTtBQUVsQyxTQUFPLGFBQWE7QUFBQSxJQUNsQixNQUFNLElBQUksYUFBYSxJQUFJLGNBQWMsQ0FBQztBQUFBLElBQzFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFBQSxJQUNqQixPQUFPO0FBQUEsTUFDTCxRQUFRO0FBQUEsSUFDVjtBQUFBLElBQ0EsV0FBVztBQUFBLEVBQ2IsQ0FBQztBQUVIOyIsCiAgIm5hbWVzIjogWyJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VMb2NhdGlvbiIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlU3RhdGUiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJqc3giLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgInVzZUxvY2F0aW9uIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJSZWFjdCIsICJqc3giLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgInVzZUxvY2F0aW9uIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4IiwgInVzZUVmZmVjdCIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAiQ2hhcnRKUyIsICJUb29sdGlwIiwgIkxlZ2VuZCIsICJ1c2VFZmZlY3QiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiQ2hhcnRKUyIsICJUb29sdGlwIiwgIkxlZ2VuZCIsICJ1c2VFZmZlY3QiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJqc3giLCAianN4cyIsICJqc3giLCAidXNlRWZmZWN0IiwgInVzZUxvY2F0aW9uIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3giLCAidXNlRWZmZWN0Il0KfQo= -- GitLab