@charset "UTF-8";
/*------------------------------------*\
    VARS.SCSS
\*------------------------------------*/
/**
 * Any variables you find set in inuit.css’ `_vars.scss` that you do not wish to
 * keep, simply redefine here. This means that if inuit.css, for example, sets
 * your `$base-font-size` at 16px and you wish it to be 14px, simply redeclare
 * that variable in this file. inuit.css ignores its own variables in favour of
 * using your own, so you can completely modify how inuit.css works without ever
 * having to alter the framework itself.
 */
/*------------------------------------*\
    $OBJECTS-AND-ABSTRACTIONS
\*------------------------------------*/
/**
 * All of inuit.css’ objects and abstractions are initially turned off by
 * default. This means that you start any project with as little as possible,
 * and introducing objects and abstractions is as simple as switching the
 * following variables to `true`.
 */
/*------------------------------------*\
    $CUSTOM
\*------------------------------------*/
/**
 * Place any of your own variables that sit on top of inuit.css here.
 */
.secondary-footer {
  display: none;
}

.secondary-footer.home {
  display: block;
}

/*------------------------------------*\
    INUIT.CSS
\*------------------------------------*/
/*!*
 *
 * inuitcss.com -- @inuitcss -- @csswizardry
 *
 */
/**
 * inuit.css acts as a base stylesheet which you should extend with your own
 * theme stylesheet.
 *
 * inuit.css aims to do the heavy lifting; sorting objects and abstractions,
 * design patterns and fiddly bits of CSS, whilst leaving as much design as
 * possible to you. inuit.css is the scaffolding to your decorator.
 *
 * This stylesheet is heavily documented and contains lots of comments, please
 * take care to read and refer to them as you build. For further support please
 * tweet at @inuitcss.
 *
 * Owing to the amount of comments please only ever use minified CSS in
 * production. This file is purely a dev document.
 *
 * The table of contents below maps to section titles of the same name, to jump
 * to any section simply run a find for $[SECTION-TITLE].
 *
 * Most objects and abstractions come with a chunk of markup that you should be
 * able to paste into any view to quickly see how the CSS works in conjunction
 * with the correct HTML.
 *
 * inuit.css is written to this standard: github.com/csswizardry/CSS-Guidelines
 *
 * LICENSE
 *
 * Copyright 2013 Harry Roberts
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Thank you for choosing inuit.css. May your web fonts render perfectly.
 */
/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............You’re reading it!
 * WARNING.............Here be dragons!
 * IMPORTS.............Begin importing the sections below
 *
 * MIXINS..............Super-simple Sass stuff
 * NORMALIZE...........normalize.css
 * RESET...............Set some defaults
 * CLEARFIX............
 * SHARED..............Shared declarations
 *
 * MAIN................High-level elements like `html`, `body`, etc.
 * HEADINGS............Double-stranded heading hierarchy
 * PARAGRAPHS..........
 * SMALLPRINT..........Smaller text elements like `small`
 * QUOTES..............
 * CODE................
 * LISTS...............
 * IMAGES..............
 * TABLES..............
 * FORMS...............
 *
 * GRIDS...............Fluid, proportional and nestable grids
 * FLEXBOX.............Crudely emulate flexbox
 * COLUMNS.............CSS3 columns
 * NAV.................A simple abstraction to put a list in horizontal nav mode
 * OPTIONS.............Grouped nav items
 * PAGINATION..........Very stripped back, basic paginator
 * BREADCRUMB..........Simple breadcrumb trail object
 * MEDIA...............Media object
 * MARGINALIA..........Simple marginalia content
 * ISLAND..............Boxed off content
 * BLOCK-LIST..........Blocky lists of content
 * MATRIX..............Gridded lists
 * SPLIT...............A simple split-in-two object
 * THIS-OR-THIS........Options object
 * LINK-COMPLEX........
 * FLYOUT..............Flyout-on-hover object
 * ARROWS..............CSS arrows
 * SPRITE..............Generic spriting element
 * ICON-TEXT...........Icon and text couplings
 * BEAUTONS............Use the beautons micro library
 * LOZENGES............Basic lozenge styles
 * RULES...............Horizontal rules
 * STATS...............Simple stats object
 * GREYBOX.............Wireframing styles
 *
 * WIDTHS..............Width classes for use alongside the grid system etc.
 * PUSH................Push classes for manipulating grids
 * PULL................Pull classes for manipulating grids
 * BRAND...............Helper class to apply brand treatment to elements
 * HELPER..............A series of helper classes to use arbitrarily
 * DEBUG...............Enable to add visual flags for debugging purposes
 */
/*------------------------------------*\
    $WARNING
\*------------------------------------*/
/*
 * inuit.css, being an OO framework, works in keeping with the open/closed
 * principle. The variables you set previously are now being used throughout
 * inuit.css to style everything we need for a base. Any custom styles SHOULD
 * NOT be added or modified in inuit.css directly, but added via your theme
 * stylesheet as per the open/closed principle:
 *
 * csswizardry.com/2012/06/the-open-closed-principle-applied-to-css
 *
 * Try not to edit any CSS beyond this point; if you find you need to do so
 * it is a failing of the framework so please tweet at @inuitcss.
 */
/*------------------------------------*\
    $IMPORTS
\*------------------------------------*/
/**
 * Generic utility styles etc.
 */
/*------------------------------------*\
    $DEFAULTS
\*------------------------------------*/
/**
 * inuit.css’ default variables. Redefine these in your `_vars.scss` file (found
 * in the inuit.css-web-template) to override them.
 */
/*------------------------------------*\
    $DEBUG
\*------------------------------------*/
/**
 * Debug mode will visually highlight any potential markup/accessibility quirks
 * in the browser. Set to `true` or `false`.
 */
/*------------------------------------*\
    $BORDER-BOX
\*------------------------------------*/
/**
 * Do you want all elements to adopt `box-sizing:border-box;` as per
 * paulirish.com/2012/box-sizing-border-box-ftw ?
 */
/*------------------------------------*\
    $BASE
\*------------------------------------*/
/**
 * Base stuff
 */
/**
 * Base font-family.
 */
/**
 * Default colour for objects’ borders etc.
 */
/*------------------------------------*\
    $RESPONSIVE
\*------------------------------------*/
/**
 * Responsiveness?
 */
/**
 * Responsiveness for widescreen/high resolution desktop monitors and beyond?
 * Note: `$responsive` variable above must be set to true before enabling this.
 */
/**
 * Responsive push and pull produce a LOT of code, only turn them on if you
 * definitely need them.
 */
/**
 * Note: `$push` variable above must be set to true before enabling these.
 */
/**
 * Note: `$pull` variable above must be set to true before enabling these.
 */
/**
 * Tell inuit.css when breakpoints start.
 */
/*------------------------------------*\
    $FONT-SIZES
\*------------------------------------*/
/**
 * Font-sizes (in pixels). Refer to relevant sections for their implementations.
 */
/*------------------------------------*\
    $QUOTES
\*------------------------------------*/
/**
 * English quote marks?
 */
/**
 * If you want English quotes then please do not edit these; they’re only here
 * because Sass needs them.
 */
/**
 * If you need non-English quotes, please alter the following values accordingly:
 */
/*------------------------------------*\
    $BRAND
\*------------------------------------*/
/**
 * Brand stuff
 */
/**
 * How big would you like round corners to be by default?
 */
/*------------------------------------*\
    $OBJECTS AND ABSTRACTIONS
\*------------------------------------*/
/**
 * Which objects and abstractions would you like to use?
 */
/*------------------------------------*\
    $FRAMEWORK
\*------------------------------------*/
/**
 * inuit.css will work these next ones out for use within the framework.
 *
 * Assign our `$base-line-height` to a new spacing var for more transparency.
 */
/*------------------------------------*\
    $MIXINS
\*------------------------------------*/
/**
 * Create a fully formed type style (sizing and vertical rhythm) by passing in a
 * single value, e.g.:
 *
   `@include font-size(10px);`
 *
 * Thanks to @redclov3r for the `line-height` Sass:
 * twitter.com/redclov3r/status/250301539321798657
 */
/**
 * Style any number of headings in one fell swoop, e.g.:
 *
   .foo{
       @include headings(1, 3){
           color:#BADA55;
       }
    }
 *
 * With thanks to @lar_zzz, @paranoida, @rowanmanning and ultimately
 * @thierrylemoulec for refining and improving my initial mixin.
 */
/**
 * Create vendor-prefixed CSS in one go, e.g.
 *
   `@include vendor(border-radius, 4px);`
 *
 */
/**
 * Create CSS keyframe animations for all vendors in one go, e.g.:
 *
   .foo{
       @include vendor(animation, shrink 3s);
   }

   @include keyframe(shrink){
       from{
           font-size:5em;
       }
   }
 *
 * Courtesy of @integralist: twitter.com/integralist/status/260484115315437569
 */
/**
 * Force overly long spans of text to truncate, e.g.:
 *
   `@include truncate(100%);`
 *
 * Where `$truncation-boundary` is a united measurement.
 */
/**
 * CSS arrows!!! But... before you read on, you might want to grab a coffee...
 *
 * This mixin creates a CSS arrow on a given element. We can have the arrow
 * appear in one of 12 locations, thus:
 *
 *       01    02    03
 *    +------------------+
 * 12 |                  | 04
 *    |                  |
 * 11 |                  | 05
 *    |                  |
 * 10 |                  | 06
 *    +------------------+
 *       09    08    07
 *
 * You pass this position in along with a desired arrow color and optional
 * border color, for example:
 *
 * `@include arrow(top, left, red)`
 *
 * for just a single, red arrow, or:
 *
 * `@include arrow(bottom, center, red, black)`
 *
 * which will create a red triangle with a black border which sits at the bottom
 * center of the element. Call the mixin thus:
 *
   .foo{
       background-color:#BADA55;
       border:1px solid #ACE;
       @include arrow(top, left, #BADA55, #ACE);
   }
 *
 */
/**
 * Media query mixin.
 *
 * It’s not great practice to define solid breakpoints up-front, preferring to
 * modify your design when it needs it, rather than assuming you’ll want a
 * change at ‘mobile’. However, as inuit.css is required to take a hands off
 * approach to design decisions, this is the closest we can get to baked-in
 * responsiveness. It’s flexible enough to allow you to set your own breakpoints
 * but solid enough to be frameworkified.
 *
 * We define some broad breakpoints in our vars file that are picked up here
 * for use in a simple media query mixin. Our options are:
 *
 * palm
 * lap
 * lap-and-up
 * portable
 * desk
 * desk-wide
 *
 * Not using a media query will, naturally, serve styles to all devices.
 *
 * `@include media-query(palm){ [styles here] }`
 *
 * We work out your end points for you:
 */
/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/*
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/*
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: 600;
}

/*
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/*
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/*
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/*
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/*
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/*
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/*
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/*
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/*
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/*
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled],
select[disabled] {
  cursor: default;
}

/*
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*------------------------------------*\
    $RESET
\*------------------------------------*/
/**
 * A more considered reset; more of a restart...
 * As per: csswizardry.com/2011/10/reset-restarted
 */
/**
    * Let’s make the box model all nice, shall we...?
    */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * The usual...
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0;
}

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title], dfn[title] {
  cursor: help;
}

/**
 * Remove underlines from potentially troublesome elements.
 */
u, ins {
  text-decoration: none;
}

/**
 * Apply faux underline via `border-bottom`.
 */
ins {
  border-bottom: 1px solid;
}

/**
 * So that `alt` text is visually offset if images don’t load.
 */
img {
  font-style: italic;
}

/**
 * Give form elements some cursor interactions...
 */
label,
input,
textarea,
button,
select,
option {
  cursor: pointer;
}

.text-input:active,
.text-input:focus,
textarea:active,
textarea:focus {
  cursor: text;
  outline: none;
}

/*------------------------------------*\
    $CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
 * Extend the clearfix class with Sass to avoid the `.cf` class appearing over
 * and over in your markup.
 */
.cf:after, .nav:after, .media:after {
  content: "";
  display: table;
  clear: both;
}

/*------------------------------------*\
    $SHARED
\*------------------------------------*/
/**
 * Where `margin-bottom` is concerned, this value will be the same as the
 * base line-height. This allows us to keep a consistent vertical rhythm.
 * As per: csswizardry.com/2012/06/single-direction-margin-declarations
 */
/**
 * Base elements
 */
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dl,
blockquote, p, address,
table,
fieldset, figure,
pre,
.form-fields > li,
.media,
.island,
.infographics,
.islet {
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}

.islet h1, .islet h2, .islet h3, .islet h4, .islet h5, .islet h6, .islet hgroup, .islet
ul, .islet ol, .islet dl, .islet
blockquote, .islet p, .islet address, .islet
table, .islet
fieldset, .islet figure, .islet
pre, .islet .form-fields > li, .islet
.media, .islet
.island, .islet
.infographics, .islet
.islet {
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
}

/**
 * Doubled up `margin-bottom` helper class.
 */
.landmark {
  margin-bottom: 48px;
  margin-bottom: 3rem;
}

/**
 * `hr` elements only take up a few pixels, so we need to give them special
 * treatment regarding vertical rhythm.
 */
hr {
  margin-bottom: 22px;
  margin-bottom: 1.375rem;
}

/**
 * Where `margin-left` is concerned we want to try and indent certain elements
 * by a consistent amount. Define that amount once, here.
 */
ul, ol, dd {
  margin-left: 48px;
  margin-left: 3rem;
}

/**
 * Base styles; unclassed HTML elements etc.
 */
/*------------------------------------*\
    $MAIN
\*------------------------------------*/
html {
  font: 1em/1.5 sans-serif;
  overflow-y: scroll;
  min-height: 100%;
  height: 100%;
  position: relative;
}

/*------------------------------------*\
    $HEADINGS
\*------------------------------------*/
/**
 * As per: csswizardry.com/2012/02/pragmatic-practical-font-sizing-in-css
 *
 * When we define a heading we also define a corresponding class to go with it.
 * This allows us to apply, say, `class=alpha` to a `h3`; a double-stranded
 * heading hierarchy.
 */
h1, .alpha {
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.33333;
}

h2, .beta {
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6;
}

h3, .gamma {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

h4, .delta {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.2;
}

h5, .epsilon {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

h6, .zeta {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

/**
 * Heading groups and generic any-heading class.
 * To target any heading of any level simply apply a class of `.hN`, e.g.:
 *
   <hgroup>
       <h1 class=hN>inuit.css</h1>
       <h2 class=hN>Best. Framework. Ever!</h2>
   </hgroup>
 *
 */
hgroup .hN {
  margin-bottom: 0;
}

/**
 * A series of classes for setting massive type; for use in heroes, mastheads,
 * promos, etc.
 */
.giga {
  font-size: 96px;
  font-size: 6rem;
  line-height: 1;
}

.mega {
  font-size: 72px;
  font-size: 4.5rem;
  line-height: 1;
}

.kilo {
  font-size: 48px;
  font-size: 3rem;
  line-height: 1;
}

/*------------------------------------*\
    $PARAGRAPHS
\*------------------------------------*/
/**
 * The `.lede` class is used to make the introductory text (usually a paragraph)
 * of a document slightly larger.
 */
.lede,
.lead {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
}

/*------------------------------------*\
    $SMALLPRINT
\*------------------------------------*/
/**
 * A series of classes for setting tiny type; for use in smallprint etc.
 */
.smallprint,
.milli {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
}

.micro {
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 2.4;
}

/*------------------------------------*\
    $QUOTES
\*------------------------------------*/
/**
 * If English quotes are set in `_vars.scss`, define them here.
 */
/**
 * Big up @boblet: html5doctor.com/blockquote-q-cite
 */
/**
 * Inline quotes.
 */
q {
  quotes: "‘" "’" "“" "”";
}

q:before {
  content: "\2018";
  content: open-quote;
}

q:after {
  content: "\2019";
  content: close-quote;
}

q q:before {
  content: "\201C";
  content: open-quote;
}

q q:after {
  content: "\201D";
  content: close-quote;
}

blockquote {
  quotes: "“" "”";
}

blockquote p:before {
  content: "“";
  content: open-quote;
}

blockquote p:after {
  content: "";
  content: no-close-quote;
}

blockquote p:last-of-type:after {
  content: "”";
  content: close-quote;
}

blockquote q:before {
  content: "\2018";
  content: open-quote;
}

blockquote q:after {
  content: "\2019";
  content: close-quote;
}

/**
 *
   <blockquote>
       <p>Insanity: doing the same thing over and over again and expecting
       different results.</p>
       <b class=source>Albert Einstein</b>
   </blockquote>
 *
 */
blockquote {
  /**
     * .4em is roughly equal to the width of the opening “ that we wish to hang.
     */
  text-indent: -0.41em;
}

blockquote p:last-of-type {
  margin-bottom: 0;
}

.source {
  display: block;
  text-indent: 0;
}

.source:before {
  content: "\2014";
}

/*------------------------------------*\
    $CODE
\*------------------------------------*/
/**
 * Use an explicit font stack to ensure browsers render correct `line-height`.
 */
pre {
  overflow: auto;
}

pre mark {
  background: none;
  border-bottom: 1px solid;
  color: inherit;
}

/**
 * Add comments to your code examples, e.g.:
 *
   <code>&lt;/div&gt;<span class=code-comment>&lt;!-- /wrapper --&gt;</span></code>
 *
 */
.code-comment {
  /**
     * Override this setting in your theme stylesheet
     */
  opacity: 0.75;
  filter: alpha(opacity=75);
}

/**
 * You can add line numbers to your code examples but be warned, it requires
 * some pretty funky looking markup, e.g.:
 *
   <ol class=line-numbers>
       <li><code>.nav{</code></li>
       <li><code>    list-style:none;</code></li>
       <li><code>    margin-left:0;</code></li>
       <li><code>}</code></li>
       <li><code>    .nav > li,</code></li>
       <li><code>        .nav > li > a{</code></li>
       <li><code>            display:inline-block;</code></li>
       <li><code>           *display:inline-block;</code></li>
       <li><code>            zoom:1;</code></li>
       <li><code>        }</code></li>
   </ol>
 *
 * 1. Make the list look like code.
 * 2. Give the list flush numbers with a leading zero.
 * 3. Make sure lines of code don’t wrap.
 * 4. Give the code form by forcing the `code` to honour white-space.
 */
.line-numbers {
  font-family: monospace, serif;
  /* [1] */
  list-style: decimal-leading-zero inside;
  /* [2] */
  white-space: nowrap;
  /* [3] */
  overflow: auto;
  /* [3] */
  margin-left: 0;
}

.line-numbers code {
  white-space: pre;
  /* [4] */
}

/*------------------------------------*\
    $IMAGES
\*------------------------------------*/
/**
 * Demo: jsfiddle.net/inuitcss/yMtur
 */
/**
 * Fluid images.
 */
img {
  max-width: 100%;
}

/**
 * Non-fluid images if you specify `width` and/or `height` attributes.
 */
img[width],
img[height] {
  max-width: none;
}

/**
 * Rounded images.
 */
.img--round {
  border-radius: 4px;
}

/**
 * Image placement variations.
 */
.img--right {
  float: right;
  margin-bottom: 24px;
  margin-left: 24px;
}

.img--left {
  float: left;
  margin-right: 24px;
  margin-bottom: 24px;
}

.img--center {
  display: block;
  margin-right: auto;
  margin-bottom: 24px;
  margin-left: auto;
}

/**
 * Keep your images on your baseline.
 *
 * Please note, these will not work too nicely with fluid images and will
 * distort when resized below a certain width. Use with caution.
 */
.img--short {
  height: 120px;
}

.img--medium {
  height: 240px;
}

.img--tall {
  height: 360px;
}

/**
 * Images in `figure` elements.
 */
figure > img {
  display: block;
}

/*------------------------------------*\
    $LISTS
\*------------------------------------*/
/**
 * Remove vertical spacing from nested lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/**
 * Have a numbered `ul` without the semantics implied by using an `ol`.
 */
/*ul*/
.numbered-list {
  list-style-type: decimal;
}

/*------------------------------------*\
    $TABLES
\*------------------------------------*/
/**
 * We have a lot at our disposal for making very complex table constructs, e.g.:
 *
   <table class="table--bordered  table--striped  table--data">
       <colgroup>
           <col class=t10>
           <col class=t10>
           <col class=t10>
           <col>
       </colgroup>
       <thead>
           <tr>
               <th colspan=3>Foo</th>
               <th>Bar</th>
           </tr>
           <tr>
               <th>Lorem</th>
               <th>Ipsum</th>
               <th class=numerical>Dolor</th>
               <th>Sit</th>
           </tr>
       </thead>
       <tbody>
           <tr>
               <th rowspan=3>Sit</th>
               <td>Dolor</td>
               <td class=numerical>03.788</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>32.210</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>47.797</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <th rowspan=2>Sit</th>
               <td>Dolor</td>
               <td class=numerical>09.640</td>
               <td>Lorem</td>
           </tr>
           <tr>
               <td>Dolor</td>
               <td class=numerical>12.117</td>
               <td>Lorem</td>
           </tr>
       </tbody>
   </table>
 *
 */
table {
  width: 100%;
}

th,
td {
  padding: 6px;
  text-align: left;
}

@media screen and (min-width: 480px) {
  th,
  td {
    padding: 12px;
  }
}

/**
 * Cell alignments
 */
[colspan] {
  text-align: center;
}

[colspan="1"] {
  text-align: left;
}

[rowspan] {
  vertical-align: middle;
}

[rowspan="1"] {
  vertical-align: top;
}

.numerical {
  text-align: right;
}

/**
 * In the HTML above we see several `col` elements with classes whose numbers
 * represent a percentage width for that column. We leave one column free of a
 * class so that column can soak up the effects of any accidental breakage in
 * the table.
 */
.t5 {
  width: 5%;
}

.t10 {
  width: 10%;
}

.t12 {
  width: 12.5%;
}

/* 1/8 */
.t15 {
  width: 15%;
}

.t20 {
  width: 20%;
}

.t25 {
  width: 25%;
}

/* 1/4 */
.t30 {
  width: 30%;
}

.t33 {
  width: 33.333%;
}

/* 1/3 */
.t35 {
  width: 35%;
}

.t37 {
  width: 37.5%;
}

/* 3/8 */
.t40 {
  width: 40%;
}

.t45 {
  width: 45%;
}

.t50 {
  width: 50%;
}

/* 1/2 */
.t55 {
  width: 55%;
}

.t60 {
  width: 60%;
}

.t62 {
  width: 62.5%;
}

/* 5/8 */
.t65 {
  width: 65%;
}

.t66 {
  width: 66.666%;
}

/* 2/3 */
.t70 {
  width: 70%;
}

.t75 {
  width: 75%;
}

/* 3/4*/
.t80 {
  width: 80%;
}

.t85 {
  width: 85%;
}

.t87 {
  width: 87.5%;
}

/* 7/8 */
.t90 {
  width: 90%;
}

.t95 {
  width: 95%;
}

/**
 * Bordered tables
 */
.table--bordered th,
.table--bordered td {
  border: 1px solid #ccc;
}

.table--bordered th:empty,
.table--bordered td:empty {
  border: none;
}

.table--bordered thead tr:last-child th {
  border-bottom-width: 2px;
}

.table--bordered tbody tr th:last-of-type {
  border-right-width: 2px;
}

/**
 * Striped tables
 */
.table--striped tbody tr:nth-of-type(odd) {
  background-color: #ffc;
  /* Override this color in your theme stylesheet */
}

/**
 * Data table
 */
.table--data {
  font: 12px/1.5 sans-serif;
}

/*------------------------------------*\
    $FORMS
\*------------------------------------*/
/**
 *
 * Demo: jsfiddle.net/inuitcss/MhHHU
 *
 */
fieldset {
  padding: 24px;
}

/**
 * Text inputs
 *
 * Instead of a `[type]` selector for each kind of form input, we just use a
 * class to target any/every one, e.g.:
   <input type=text class=text-input>
   <input type=email class=text-input>
   <input type=password class=text-input>
 *
 */
.text-input,
textarea {
  /**
     * Style these via your theme stylesheet.
     */
}

/**
 * Group sets of form fields in a list, e.g.:
 *
   <ul class=form-fields>
       <li>
           <label />
           <input />
       </li>
       <li>
           <label />
           <select />
       </li>
       <li>
           <label />
           <input />
       </li>
   </ul>
 *
 */
.form-fields {
  list-style: none;
  margin: 0;
}

.form-fields > li:last-child {
  margin-bottom: 0;
}

/**
 * Labels
 *
 * Define a `.label` class as well as a `label` element. This means we can apply
 * label-like styling to meta-labels for groups of options where a `label`
 * element is not suitable, e.g.:
 *
   <li>
       <span class=label>Select an option below:</span>
       <ul class="multi-list  four-cols">
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
       </ul>
   </li>
 *
 */
label,
.label {
  display: block;
}

/**
     * Extra help text in `label`s, e.g.:
     *
       <label>Card number <small class=additional>No spaces</small></label>
     *
     */
.additional {
  display: block;
  font-weight: normal;
}

/*
 * Groups of checkboxes and radios, e.g.:
 *
   <li>
       <ul class=check-list>
           <li>
               <input /> <label />
           </li>
           <li>
               <input /> <label />
           </li>
       </ul>
   </li>
 *
 */
.check-list {
  list-style: none;
  margin: 0;
}

/*
     * Labels in check-lists
     */
.check-label,
.check-list label,
.check-list .label {
  display: inline-block;
}

/**
 * Spoken forms are for forms that read like spoken word, e.g.:
 *
   <li class=spoken-form>
       Hello, my <label for=spoken-name>name</label> is
       <input type=text class=text-input id=spoken-name>. My home
       <label for=country>country</label> is
       <select id=country>
           <option>UK</option>
           <option>US</option>
           <option>Other</option>
       </select>
   </li>
 *
 */
.spoken-form label {
  display: inline-block;
  font: inherit;
}

/**
 * Extra help text displayed after a field when that field is in focus, e.g.:
 *
   <label for=email>Email:</label>
   <input type=email class=text-input id=email>
   <small class=extra-help>.edu emails only</small>
 *
 * We leave the help text in the document flow and merely set it to
 * `visibility:hidden;`. This means that it won’t interfere with anything once
 * it reappears.
 *
 */
/*small*/
.extra-help {
  display: inline-block;
  visibility: hidden;
}

.text-input:active + .extra-help,
.text-input:focus + .extra-help {
  visibility: visible;
}

/**
 * Objects and abstractions
 */
/*------------------------------------*\
    $GRIDS
\*------------------------------------*/
/**
 * Fluid and nestable grid system, e.g.:
 *
   <div class="grid">

       <div class="grid__item  one-third">
           <p>One third grid</p>
       </div><!--

    --><div class="grid__item  two-thirds">
           <p>Two thirds grid</p>
       </div><!--

    --><div class="grid__item  one-half">
           <p>One half grid</p>
       </div><!--

    --><div class="grid__item  one-quarter">
           <p>One quarter grid</p>
       </div><!--

    --><div class="grid__item  one-quarter">
           <p>One quarter grid</p>
       </div>

   </div>
 *
 * Demo: jsfiddle.net/inuitcss/CLYUC
 *
 */
/**
 * Grid wrapper
 */
.grid, .page-boxes, .page-box__links .links {
  margin-left: -24px;
  list-style: none;
  margin-bottom: 0;
}

/**
     * Very infrequently occuring grid wrappers as children of grid wrappers.
     */
.grid > .grid, .page-boxes > .grid, .page-box__links .links > .grid, .grid > .page-boxes, .page-boxes > .page-boxes, .page-box__links .links > .page-boxes, .page-box__links .grid > .links, .page-box__links .page-boxes > .links, .page-box__links .links > .links {
  margin-left: 0;
}

/**
     * Grid
     */
.grid__item, .page-box, .page-box__links .links a {
  display: inline-block;
  width: 100%;
  padding-left: 24px;
  vertical-align: top;
}

/*------------------------------------*\
    $NAV
\*------------------------------------*/
/**
 * Nav abstraction as per: csswizardry.com/2011/09/the-nav-abstraction
 * When used on an `ol` or `ul`, this class throws the list into horizontal mode
 * e.g.:
 *
   <ul class=nav>
       <li><a href=#>Home</a></li>
       <li><a href=#>About</a></li>
       <li><a href=#>Portfolio</a></li>
       <li><a href=#>Contact</a></li>
   </ul>
 *
 * Demo: jsfiddle.net/inuitcss/Vnph4
 *
 */
.nav {
  list-style: none;
  margin-left: 0;
}

.nav > li,
.nav > li > a {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

/**
 * `.nav--stacked` extends `.nav` and throws the list into vertical mode, e.g.:
 *
   <ul class="nav  nav--stacked">
       <li><a href=#>Home</a></li>
       <li><a href=#>About</a></li>
       <li><a href=#>Portfolio</a></li>
       <li><a href=#>Contact</a></li>
   </ul>
 *
 */
.nav--stacked > li {
  display: list-item;
}

.nav--stacked > li > a {
  display: block;
}

/**
 * `.nav--banner` extends `.nav` and centres the list, e.g.:
 *
   <ul class="nav  nav--banner">
       <li><a href=#>Home</a></li>
       <li><a href=#>About</a></li>
       <li><a href=#>Portfolio</a></li>
       <li><a href=#>Contact</a></li>
   </ul>
 *
 */
.nav--banner {
  text-align: center;
}

/**
 * Give nav links a big, blocky hit area. Extends `.nav`, e.g.:
 *
   <ul class="nav  nav--block">
       <li><a href=#>Home</a></li>
       <li><a href=#>About</a></li>
       <li><a href=#>Portfolio</a></li>
       <li><a href=#>Contact</a></li>
   </ul>
 *
 */
.nav--block {
  line-height: 1;
  /**
     * Remove whitespace caused by `inline-block`.
     */
  letter-spacing: -0.31em;
  word-spacing: -0.43em;
  white-space: nowrap;
}

.nav--block > li {
  letter-spacing: normal;
  word-spacing: normal;
}

.nav--block > li > a {
  padding: 12px;
}

/**
 * Force a nav to occupy 100% of the available width of its parent. Extends
 * `.nav`, e.g.:
 *
   <ul class="nav  nav--fit">
       <li><a href=#>Home</a></li>
       <li><a href=#>About</a></li>
       <li><a href=#>Portfolio</a></li>
       <li><a href=#>Contact</a></li>
   </ul>
 *
 * Thanks to @pimpl for this idea!
 */
.nav--fit {
  display: table;
  width: 100%;
}

.nav--fit > li {
  display: table-cell;
}

.nav--fit > li > a {
  display: block;
}

/**
 * Make a list of keywords. Extends `.nav`, e.g.:
 *
   `<ul class="nav  nav--keywords>`
 *
 */
.nav--keywords > li:after {
  content: "\002C" "\00A0";
}

.nav--keywords > li:last-child:after {
  display: none;
}

/*------------------------------------*\
    $MEDIA
\*------------------------------------*/
/**
 * Place any image- and text-like content side-by-side, as per:
 * stubbornella.org/content/2010/06/25/the-media-object-saves-hundreds-of-lines-of-code
 * E.g.:
 *
   <div class=media>
       <img src=http://placekitten.com/200/300 alt="" class=media__img>
       <p class=media__body>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
       sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
   </div>
 *
 * Demo: jsfiddle.net/inuitcss/cf4Qs
 *
 */
.media {
  display: block;
}

.media__img {
  float: left;
  margin-right: 24px;
}

/**
     * Reversed image location (right instead of left).
     */
.media__img--rev {
  float: right;
  margin-left: 24px;
}

.media__img img,
.media__img--rev img {
  display: block;
}

.media__body {
  overflow: hidden;
}

.media__body,
.media__body > :last-child {
  margin-bottom: 0;
}

/**
     * `.img`s in `.islet`s need an appropriately sized margin.
     */
.islet .media__img {
  margin-right: 12px;
}

.islet .media__img--rev {
  margin-left: 12px;
}

/**
 * Style trumps; helper and brand classes
 */
/*------------------------------------*\
    $WIDTHS
\*------------------------------------*/
/**
 * Sizes in human readable format. These are used in conjunction with other
 * objects and abstractions found in inuit.css, most commonly the grid system
 * and faux flexbox.
 *
 * We have a mixin to generate our widths and their breakpoint-specific
 * variations.
 */
/**
    * Whole
    */
.one-whole {
  width: 100%;
}

/**
    * Halves
    */
.one-half, .two-quarters, .three-sixths, .four-eighths, .five-tenths, .six-twelfths {
  width: 50%;
}

/**
    * Thirds
    */
.one-third, .two-sixths, .four-twelfths {
  width: 33.333%;
}

.two-thirds, .four-sixths, .eight-twelfths {
  width: 66.666%;
}

/**
    * Quarters
    */
.one-quarter, .two-eighths, .three-twelfths {
  width: 25%;
}

.three-quarters, .six-eighths, .nine-twelfths {
  width: 75%;
}

/**
    * Fifths
    */
.one-fifth, .two-tenths {
  width: 20%;
}

.two-fifths, .four-tenths {
  width: 40%;
}

.three-fifths, .six-tenths {
  width: 60%;
}

.four-fifths, .eight-tenths {
  width: 80%;
}

/**
    * Sixths
    */
.one-sixth, .two-twelfths {
  width: 16.666%;
}

.five-sixths, .ten-twelfths {
  width: 83.333%;
}

/**
    * Eighths
    */
.one-eighth {
  width: 12.5%;
}

.three-eighths {
  width: 37.5%;
}

.five-eighths {
  width: 62.5%;
}

.seven-eighths {
  width: 87.5%;
}

/**
    * Tenths
    */
.one-tenth {
  width: 10%;
}

.three-tenths {
  width: 30%;
}

.seven-tenths {
  width: 70%;
}

.nine-tenths {
  width: 90%;
}

/**
    * Twelfths
    */
.one-twelfth {
  width: 8.333%;
}

.five-twelfths {
  width: 41.666%;
}

.seven-twelfths {
  width: 58.333%;
}

.eleven-twelfths {
  width: 91.666%;
}

/**
 * If you have set `$responsive` to ‘true’ in `_vars.scss` then you now have
 * access to these classes. You can define at which breakpoint you’d like an
 * element to be a certain size, e.g.:
 *
 * `<div class="g  one-quarter  lap-one-half  palm-one-whole"> ... </div>`
 *
 * This would create a `div` that, at ‘desktop’ sizes, takes up a quarter of the
 * horizontal space, a half of that space at ‘tablet’ sizes, and goes full width
 * at ‘mobile’ sizes.
 *
 * Demo: jsfiddle.net/inuitcss/WS4Ge
 *
 */
@media only screen and (max-width: 719px) {
  /**
    * Whole
    */
  .palm-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .palm-one-half, .palm-two-quarters, .palm-three-sixths, .palm-four-eighths, .palm-five-tenths, .palm-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .palm-one-third, .palm-two-sixths, .palm-four-twelfths {
    width: 33.333%;
  }
  .palm-two-thirds, .palm-four-sixths, .palm-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .palm-one-quarter, .palm-two-eighths, .palm-three-twelfths {
    width: 25%;
  }
  .palm-three-quarters, .palm-six-eighths, .palm-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .palm-one-fifth, .palm-two-tenths {
    width: 20%;
  }
  .palm-two-fifths, .palm-four-tenths {
    width: 40%;
  }
  .palm-three-fifths, .palm-six-tenths {
    width: 60%;
  }
  .palm-four-fifths, .palm-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .palm-one-sixth, .palm-two-twelfths {
    width: 16.666%;
  }
  .palm-five-sixths, .palm-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .palm-one-eighth {
    width: 12.5%;
  }
  .palm-three-eighths {
    width: 37.5%;
  }
  .palm-five-eighths {
    width: 62.5%;
  }
  .palm-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .palm-one-tenth {
    width: 10%;
  }
  .palm-three-tenths {
    width: 30%;
  }
  .palm-seven-tenths {
    width: 70%;
  }
  .palm-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .palm-one-twelfth {
    width: 8.333%;
  }
  .palm-five-twelfths {
    width: 41.666%;
  }
  .palm-seven-twelfths {
    width: 58.333%;
  }
  .palm-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 720px) and (max-width: 899px) {
  /**
    * Whole
    */
  .lap-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .lap-one-half, .lap-two-quarters, .lap-three-sixths, .lap-four-eighths, .lap-five-tenths, .lap-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .lap-one-third, .lap-two-sixths, .lap-four-twelfths {
    width: 33.333%;
  }
  .lap-two-thirds, .lap-four-sixths, .lap-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .lap-one-quarter, .lap-two-eighths, .lap-three-twelfths {
    width: 25%;
  }
  .lap-three-quarters, .lap-six-eighths, .lap-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .lap-one-fifth, .lap-two-tenths {
    width: 20%;
  }
  .lap-two-fifths, .lap-four-tenths {
    width: 40%;
  }
  .lap-three-fifths, .lap-six-tenths {
    width: 60%;
  }
  .lap-four-fifths, .lap-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .lap-one-sixth, .lap-two-twelfths {
    width: 16.666%;
  }
  .lap-five-sixths, .lap-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .lap-one-eighth {
    width: 12.5%;
  }
  .lap-three-eighths {
    width: 37.5%;
  }
  .lap-five-eighths {
    width: 62.5%;
  }
  .lap-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .lap-one-tenth {
    width: 10%;
  }
  .lap-three-tenths {
    width: 30%;
  }
  .lap-seven-tenths {
    width: 70%;
  }
  .lap-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .lap-one-twelfth {
    width: 8.333%;
  }
  .lap-five-twelfths {
    width: 41.666%;
  }
  .lap-seven-twelfths {
    width: 58.333%;
  }
  .lap-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 720px) {
  /**
    * Whole
    */
  .lap-and-up-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .lap-and-up-one-half, .lap-and-up-two-quarters, .lap-and-up-three-sixths, .lap-and-up-four-eighths, .lap-and-up-five-tenths, .lap-and-up-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .lap-and-up-one-third, .lap-and-up-two-sixths, .lap-and-up-four-twelfths {
    width: 33.333%;
  }
  .lap-and-up-two-thirds, .lap-and-up-four-sixths, .lap-and-up-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .lap-and-up-one-quarter, .lap-and-up-two-eighths, .lap-and-up-three-twelfths {
    width: 25%;
  }
  .lap-and-up-three-quarters, .lap-and-up-six-eighths, .lap-and-up-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .lap-and-up-one-fifth, .lap-and-up-two-tenths {
    width: 20%;
  }
  .lap-and-up-two-fifths, .lap-and-up-four-tenths {
    width: 40%;
  }
  .lap-and-up-three-fifths, .lap-and-up-six-tenths {
    width: 60%;
  }
  .lap-and-up-four-fifths, .lap-and-up-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .lap-and-up-one-sixth, .lap-and-up-two-twelfths {
    width: 16.666%;
  }
  .lap-and-up-five-sixths, .lap-and-up-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .lap-and-up-one-eighth {
    width: 12.5%;
  }
  .lap-and-up-three-eighths {
    width: 37.5%;
  }
  .lap-and-up-five-eighths {
    width: 62.5%;
  }
  .lap-and-up-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .lap-and-up-one-tenth {
    width: 10%;
  }
  .lap-and-up-three-tenths {
    width: 30%;
  }
  .lap-and-up-seven-tenths {
    width: 70%;
  }
  .lap-and-up-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .lap-and-up-one-twelfth {
    width: 8.333%;
  }
  .lap-and-up-five-twelfths {
    width: 41.666%;
  }
  .lap-and-up-seven-twelfths {
    width: 58.333%;
  }
  .lap-and-up-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (max-width: 899px) {
  /**
    * Whole
    */
  .portable-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .portable-one-half, .portable-two-quarters, .portable-three-sixths, .portable-four-eighths, .portable-five-tenths, .portable-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .portable-one-third, .portable-two-sixths, .portable-four-twelfths {
    width: 33.333%;
  }
  .portable-two-thirds, .portable-four-sixths, .portable-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .portable-one-quarter, .portable-two-eighths, .portable-three-twelfths {
    width: 25%;
  }
  .portable-three-quarters, .portable-six-eighths, .portable-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .portable-one-fifth, .portable-two-tenths {
    width: 20%;
  }
  .portable-two-fifths, .portable-four-tenths {
    width: 40%;
  }
  .portable-three-fifths, .portable-six-tenths {
    width: 60%;
  }
  .portable-four-fifths, .portable-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .portable-one-sixth, .portable-two-twelfths {
    width: 16.666%;
  }
  .portable-five-sixths, .portable-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .portable-one-eighth {
    width: 12.5%;
  }
  .portable-three-eighths {
    width: 37.5%;
  }
  .portable-five-eighths {
    width: 62.5%;
  }
  .portable-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .portable-one-tenth {
    width: 10%;
  }
  .portable-three-tenths {
    width: 30%;
  }
  .portable-seven-tenths {
    width: 70%;
  }
  .portable-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .portable-one-twelfth {
    width: 8.333%;
  }
  .portable-five-twelfths {
    width: 41.666%;
  }
  .portable-seven-twelfths {
    width: 58.333%;
  }
  .portable-eleven-twelfths {
    width: 91.666%;
  }
}

@media only screen and (min-width: 900px) {
  /**
    * Whole
    */
  .desk-one-whole {
    width: 100%;
  }
  /**
    * Halves
    */
  .desk-one-half, .desk-two-quarters, .desk-three-sixths, .desk-four-eighths, .desk-five-tenths, .desk-six-twelfths {
    width: 50%;
  }
  /**
    * Thirds
    */
  .desk-one-third, .desk-two-sixths, .desk-four-twelfths {
    width: 33.333%;
  }
  .desk-two-thirds, .desk-four-sixths, .desk-eight-twelfths {
    width: 66.666%;
  }
  /**
    * Quarters
    */
  .desk-one-quarter, .desk-two-eighths, .desk-three-twelfths {
    width: 25%;
  }
  .desk-three-quarters, .desk-six-eighths, .desk-nine-twelfths {
    width: 75%;
  }
  /**
    * Fifths
    */
  .desk-one-fifth, .desk-two-tenths {
    width: 20%;
  }
  .desk-two-fifths, .desk-four-tenths {
    width: 40%;
  }
  .desk-three-fifths, .desk-six-tenths {
    width: 60%;
  }
  .desk-four-fifths, .desk-eight-tenths {
    width: 80%;
  }
  /**
    * Sixths
    */
  .desk-one-sixth, .desk-two-twelfths {
    width: 16.666%;
  }
  .desk-five-sixths, .desk-ten-twelfths {
    width: 83.333%;
  }
  /**
    * Eighths
    */
  .desk-one-eighth {
    width: 12.5%;
  }
  .desk-three-eighths {
    width: 37.5%;
  }
  .desk-five-eighths {
    width: 62.5%;
  }
  .desk-seven-eighths {
    width: 87.5%;
  }
  /**
    * Tenths
    */
  .desk-one-tenth {
    width: 10%;
  }
  .desk-three-tenths {
    width: 30%;
  }
  .desk-seven-tenths {
    width: 70%;
  }
  .desk-nine-tenths {
    width: 90%;
  }
  /**
    * Twelfths
    */
  .desk-one-twelfth {
    width: 8.333%;
  }
  .desk-five-twelfths {
    width: 41.666%;
  }
  .desk-seven-twelfths {
    width: 58.333%;
  }
  .desk-eleven-twelfths {
    width: 91.666%;
  }
}

/**
 * If you have set the additional `$responsive-extra` variable to ‘true’ in
 * `_vars.scss` then you now have access to the following class available to
 * accomodate much larger screen resolutions.
 */
/* endif */
/*------------------------------------*\
    $PUSH
\*------------------------------------*/
/**
 * Push classes, to move grid items over to the right by certain amounts.
 */
/*------------------------------------*\
    $PULL
\*------------------------------------*/
/**
 * Pull classes, to move grid items over to the right by certain amounts.
 */
/*------------------------------------*\
    $BRAND
\*------------------------------------*/
/**
 * `.brand` is a quick and simple way to apply your brand face and/or color to
 * any element using a handy helper class.
 */
.brand {
  font-family: "Helvetica Neue", sans-serif!important;
  color: #4a8ec2!important;
}

.brand-face {
  font-family: "Helvetica Neue", sans-serif!important;
}

.brand-color,
.brand-colour {
  color: #4a8ec2!important;
}

/*------------------------------------*\
    $HELPER
\*------------------------------------*/
/**
 * A series of helper classes to use arbitrarily. Only use a helper class if an
 * element/component doesn’t already have a class to which you could apply this
 * styling, e.g. if you need to float `.main-nav` left then add `float:left;` to
 * that ruleset as opposed to adding the `.float--left` class to the markup.
 *
 * A lot of these classes carry `!important` as you will always want them to win
 * out over other selectors.
 */
/**
 * Add/remove floats
 */
.float--right {
  float: right !important;
}

.float--left {
  float: left !important;
}

.float--none {
  float: none !important;
}

/**
 * Text alignment
 */
.text--left {
  text-align: left  !important;
}

.text--center {
  text-align: center !important;
}

.text--right {
  text-align: right !important;
}

/**
 * Font weights
 */
.weight--light {
  font-weight: 300 !important;
}

.weight--normal {
  font-weight: 400 !important;
}

.weight--semibold {
  font-weight: 600 !important;
}

/**
 * Add/remove margins
 */
.push {
  margin: 24px !important;
}

.push--top {
  margin-top: 24px !important;
}

.push--right {
  margin-right: 24px !important;
}

.push--bottom {
  margin-bottom: 24px !important;
}

.push--left {
  margin-left: 24px !important;
}

.push--ends {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.push--sides {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.push-half {
  margin: 12px !important;
}

.push-half--top {
  margin-top: 12px !important;
}

.push-half--right {
  margin-right: 12px !important;
}

.push-half--bottom {
  margin-bottom: 12px !important;
}

.push-half--left {
  margin-left: 12px !important;
}

.push-half--ends {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.push-half--sides {
  margin-right: 12px !important;
  margin-left: 12px !important;
}

.flush {
  margin: 0 !important;
}

.flush--top {
  margin-top: 0 !important;
}

.flush--right {
  margin-right: 0 !important;
}

.flush--bottom {
  margin-bottom: 0 !important;
}

.flush--left {
  margin-left: 0 !important;
}

.flush--ends {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.flush--sides {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/**
 * Add/remove paddings
 */
.soft {
  padding: 24px !important;
}

.soft--top {
  padding-top: 24px !important;
}

.soft--right {
  padding-right: 24px !important;
}

.soft--bottom {
  padding-bottom: 24px !important;
}

.soft--left {
  padding-left: 24px !important;
}

.soft--ends {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.soft--sides {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.soft-half {
  padding: 12px !important;
}

.soft-half--top {
  padding-top: 12px !important;
}

.soft-half--right {
  padding-right: 12px !important;
}

.soft-half--bottom {
  padding-bottom: 12px !important;
}

.soft-half--left {
  padding-left: 12px !important;
}

.soft-half--ends {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.soft-half--sides {
  padding-right: 12px !important;
  padding-left: 12px !important;
}

.hard {
  padding: 0 !important;
}

.hard--top {
  padding-top: 0 !important;
}

.hard--right {
  padding-right: 0 !important;
}

.hard--bottom {
  padding-bottom: 0 !important;
}

.hard--left {
  padding-left: 0 !important;
}

.hard--ends {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.hard--sides {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/**
 * Pull items full width of `.island` parents.
 */
.full-bleed {
  margin-right: -24px !important;
  margin-left: -24px !important;
}

.islet .full-bleed {
  margin-right: -12px !important;
  margin-left: -12px !important;
}

/**
 * Add a help cursor to any element that gives the user extra information on
 * `:hover`.
 */
.informative {
  cursor: help !important;
}

/**
 * Mute an object by reducing its opacity.
 */
.muted {
  opacity: 0.5 !important;
  filter: alpha(opacity=50) !important;
}

/**
 * Align items to the right where they imply progression/movement forward, e.g.:
 *
   <p class=proceed><a href=#>Read more...</a></p>
 *
 */
.proceed {
  text-align: right !important;
}

/**
 * Add a right-angled quote to links that imply movement, e.g.:
 *
   <a href=# class=go>Read more</a>
 *
 */
.go:after {
  content: " " "»" !important;
}

/**
 * Apply capital case to an element (usually a `strong`).
 */
.caps {
  text-transform: uppercase !important;
}

/**
 * Hide content off-screen without resorting to `display:none;`, also provide
 * breakpoint specific hidden elements.
 */
.accessibility,
.visuallyhidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

@media only screen and (max-width: 719px) {
  .accessibility--palm,
  .visuallyhidden--palm {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 720px) and (max-width: 899px) {
  .accessibility--lap,
  .visuallyhidden--lap {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 720px) {
  .accessibility--lap-and-up,
  .visuallyhidden--lap-and-up {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (max-width: 899px) {
  .accessibility--portable,
  .visuallyhidden--portable {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 900px) {
  .accessibility--desk,
  .visuallyhidden--desk {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

@media only screen and (min-width: 1160px) {
  .accessibility--desk-wide,
  .visuallyhidden--desk-wide {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
  }
}

/* endif */
/*=====================================*\
    CONTENTS
    --------
    - svg
    - clearfix
    - break-text
    - triangle
    - transition
    - aspect-ratio
    - tile-right-border
    - font-light
    - font-strong
    - font-bold
    - tint
    - ribbon
\*=====================================*/
/* 
* @include triangle within a pseudo element and add positioning properties (ie. top, left)
* $direction: up, down, left, right
*/
/* Ribbon style */
.page-boxes {
  margin-left: -12px;
  margin-bottom: -24px;
}

.page-boxes:after {
  content: "";
  display: table;
  clear: both;
}

.page-boxes .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.page-boxes .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

.page-boxes .ribbon-front.ribbon-front-left {
  right: auto;
  left: -24px;
  float: left;
}

.page-boxes .ribbon-front.ribbon-front-right {
  right: -24px;
  left: auto;
  float: right;
}

@media (min-width: 900px) {
  .page-boxes .ribbon-front {
    width: 65%;
  }
}

.page-boxes .ribbon-front h1, .page-boxes .ribbon-front h2, .page-boxes .ribbon-front h3, .page-boxes .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.page-boxes .ribbon-front h1 {
  font-size: 24px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .page-boxes .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.page-boxes .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .page-boxes .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.page-boxes .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .page-boxes .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.page-boxes .ribbon-edge-bottomleft {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  top: 78px;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.page-boxes .ribbon-edge-bottomright {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  top: 78px;
  left: auto;
  right: -24px;
  border-color: #204067 transparent transparent transparent;
  border-width: 24px 24px 0 0;
}

.page-box {
  overflow: hidden;
  float: left;
  padding-left: 12px;
  margin-bottom: 24px;
}

.page-box:after {
  content: "";
  display: table;
  clear: both;
}

.page-box .subtitle {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
  font-weight: 600;
  color: #666;
}

.page-box .subtitle + .subtitle {
  margin-top: -12px;
}

.page-box__inside, .page-box__title {
  position: relative;
  background: #fff;
}

.page-box__inside:after, .page-box__title:after {
  content: "";
  display: table;
  clear: both;
}

.page-box__inside--padded {
  padding: 24px;
}

@media screen and (min-width: 720px) and (max-width: 1160px) {
  .page-box__inside.js-search-results-list {
    padding: 0 24px;
  }
}

@media (min-width: 720px) {
  .page-box--combo .page-box__inside {
    padding: 24px 24px 0 0;
  }
  .page-box--combo .page-box__inside:after {
    content: "";
    display: table;
    clear: both;
  }
  .page-box--combo .page-box__element {
    padding: 0 0 0 24px;
    width: 100%;
    clear: none;
    overflow: hidden;
  }
  .page-box--combo .page-box__image {
    float: left;
    overflow: visible;
    min-height: 300px;
  }
  .page-box--combo .left-sided {
    width: 50%;
  }
  .page-box--combo .right-sided {
    width: 50%;
  }
  .page-box--combo .page-box__body {
    padding-bottom: 24px;
    width: 100%;
    clear: both;
  }
  .page-box--combo .page-box__body ul li, .page-box--combo .page-box__body ol li {
    color: #666;
    font-weight: 300;
  }
  .page-box--combo .image {
    margin-left: -24px;
    margin-top: -24px;
  }
  .page-box--combo .image img {
    display: block;
  }
  .page-box--combo .back-link {
    font-weight: 300;
    margin-left: -24px;
    display: block;
    text-decoration: none;
  }
  .page-box--combo .back-link:before {
    transition: transform 0.2s linear;
    vertical-align: middle;
    height: 0;
    width: 0;
    display: inline-block;
    content: '';
    position: relative;
    top: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid currentColor;
    margin-right: 12px;
  }
  .page-box--combo .page-box__inside > .page-box__element.right-sided:first-child {
    float: right;
  }
}

@media (min-width: 1160px) {
  .page-box--combo .left-sided {
    width: 33.333333%;
    float: left;
    clear: left;
  }
  .page-box--combo .right-sided {
    width: 66.666666%;
    overflow: hidden;
    clear: none;
  }
  .page-box--combo .half {
    width: 50%;
  }
  .page-box--combo .full {
    width: 100%;
  }
}

.page-box.page-box--three-news .page-box__inside {
  background: none;
}

.page-box--full-width .page-box__inside {
  padding: 24px;
}

.page-box--middle {
  position: relative;
}

@media (min-width: 720px) {
  .page-box--middle {
    height: 0;
  }
  .page-box--middle .tile {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding-bottom: 0;
    height: auto;
    margin-bottom: 0;
  }
  .page-box--middle .page-box__inside {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 12px;
  }
}

@media (min-width: 1160px) {
  .page-box--middle .tile--middle {
    width: 100%;
    padding-bottom: 50%;
  }
}

.page-box--middle .tile--double {
  width: 100%;
  padding-bottom: 0;
}

.page-box--middle .tile--double .tile__image:after {
  display: none;
}

@media (min-width: 720px) {
  .page-box--middle .tile--double {
    width: 50%;
    padding-bottom: 30%;
  }
  .page-box--middle .tile--double:first-child {
    left: 50%;
  }
  .page-box--middle .tile--double .tile__highlight-flag {
    display: block;
  }
}

@media (min-width: 720px) {
  .page-box--middle {
    width: 100%;
    padding-bottom: 50%;
  }
}

@media (min-width: 1160px) {
  .page-box--middle {
    width: 66.66666%;
    padding-bottom: 33.33333%;
  }
}

.page-box--expertise {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.71429;
}

.page-box--expertise .page-box__inside {
  position: relative;
  padding: 24px;
  min-height: 100%;
  background: #bbb;
  overflow: hidden;
}

.page-box--expertise .tags {
  top: 72px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  margin-bottom: 12px;
}

.page-box--expertise .tags:after {
  content: "";
  display: table;
  clear: both;
}

.page-box--expertise .tags ul {
  display: inline-block;
  list-style: none;
  padding: 0;
}

.page-box--expertise .tags ul li {
  display: inline-block;
  padding: 0;
  width: 100%;
}

@media (min-width: 720px) {
  .page-box--expertise .tags ul li {
    width: auto;
  }
}

.page-box--expertise .tags ul li a {
  margin-bottom: 0;
}

.page-box--expertise .tag {
  color: #fff;
  background: #13294a;
}

.page-box--expertise.active {
  /*padding-bottom: 0;*/
  /*height: auto;*/
}

.page-box--expertise.active .tags {
  /*height: auto;*/
}

.page-box--expertise.active .page-box__inside {
  /*position: static;*/
}

.page-box__element {
  background: #fff;
}

.page-box__title .title {
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.09091;
  margin-bottom: 12px;
  font-weight: 600;
}

.page-box__title .subtitle {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.33333;
  font-style: italic;
}

.page-box__title .applies-to {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 300;
}

.page-box__title .applies-to a {
  font-weight: 700;
  text-decoration: none;
}

[data-current-branch="ago"] .page-box__title .applies-to {
  display: none;
}

.page-box__title .link {
  font-weight: 700;
  margin-top: -12px;
  margin-bottom: 24px;
}

@media (min-width: 720px) {
  .page-box__title .title {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.71429;
    line-height: 36px;
  }
  .page-box__title .subtitle {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
  }
}

.page-box__image {
  margin-bottom: 24px;
}

.page-box__image img {
  display: block;
}

.page-box__image .back-link {
  background: #13294a;
  color: #fff;
  padding: 6px 12px;
}

.page-box__contacts {
  max-width: 300px;
}

.page-box__contacts .telephone-numbers {
  margin-bottom: 24px;
}

.page-box__contacts .email {
  margin-bottom: 24px;
}

.page-box__contacts .email a {
  text-decoration: none;
  display: block;
  height: 24px;
  width: 24px;
}

.page-box__contacts .address {
  margin-bottom: 24px;
}

.page-box__contacts .languages {
  margin-bottom: 24px;
}

.page-box__partner .subtitle {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: normal;
}

.page-box__links {
  min-height: 72px;
}

.page-box__links .links {
  margin-bottom: 24px;
}

.page-box__links .links a {
  fill: none;
  stroke: #13294a;
  overflow: hidden;
  width: auto;
}

.page-box__links .links a .icon-xing {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-twitter {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-linkedin {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-calendar {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-share_alt {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-lawnow {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-regzone {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-eguide {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a .icon-facebook {
  stroke-width: 0;
  fill: #13294a;
}

.page-box__links .links a svg,
.page-box__links .links a img {
  display: block;
  height: 24px;
  width: 30px;
}

.page-box__links .links a .icon-phone {
  stroke-width: 15;
}

.page-box__links .links a .icon-bookmark {
  stroke-width: 24px;
}

.page-box__links .links a.right {
  float: right;
}

.page-box__links .links a.user_card {
  fill: #13294a;
  stroke: #13294a;
}

.page-box__links .links a.js-obfuscate svg {
  height: 28px;
  top: -2px;
  position: relative;
}

.page-box__links .links a:first-child {
  padding-left: 24px;
}

@media (min-width: 1160px) {
  .page-box__links {
    height: 24px;
  }
  .page-box__links .links {
    width: 100%;
  }
  .page-box__links .links a:first-child:nth-last-child(5) ~ a {
    padding-left: 13px;
  }
}

@media (min-width: 720px) {
  .page-box__links {
    float: right;
  }
}

@media screen and (min-width: 720px) and (max-width: 1159px) {
  .page-box__links .links a:first-child:nth-last-child(5) ~ a {
    padding-left: 20px;
  }
}

.page-box--location .text {
  padding: 24px;
}

.page-box--location .text a {
  clear: left;
  text-decoration: none;
  display: block;
  color: #666;
  margin-bottom: 8px;
}

.page-box--location .text a:after {
  transition: transform 0.2s linear;
  vertical-align: middle;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 12px;
  margin-top: 6px;
  vertical-align: top;
}

.page-box--location .text .locations-list a {
  margin-bottom: 0;
}

.page-box--location .text .locations-list a:after {
  display: none;
}

.page-box--location .address {
  margin-bottom: 24px;
}

.page-box--location .map {
  width: 100%;
  height: 100%;
  min-height: 312px;
}

@media (min-width: 1160px) {
  .page-box--location .page-box__inside {
    min-height: 312px;
  }
  .page-box--location .page-box__element {
    float: left;
  }
  .page-box--location .left-sided {
    width: 33.333333%;
  }
  .page-box--location .right-sided {
    position: absolute;
    width: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 33.3333333%;
    min-height: 0;
  }
}

.page-box--three-news.international-desks-box {
  padding-left: 0;
  margin-top: 24px;
}

.page-box--three-news .tile:not(.tile--bucket-publication) {
  margin-bottom: 0;
}

.page-box--highlighted-tile.international-desks-box {
  padding-left: 0;
  margin-top: 24px;
}

@media (min-width: 720px) {
  .page-box--highlighted-tile .page-box__inside {
    background: #eaeaea;
  }
}

.page-box--homepage-three-news {
  float: none;
  padding-left: 0;
  padding-top: 24px;
}

.page-box--homepage-three-news .page-box__inside {
  background: #eaeaea;
}

.block-sitemap .main-content {
  width: 100%;
}

.block-sitemap .main-content .page-box__inside {
  padding: 24px;
}

.page-box--sitemap-controls {
  overflow: unset;
}

.page-box--sitemap-controls .ribbon-wrapper {
  margin-top: 0;
  padding-top: 16px;
}

.page-box--sitemap-controls .ribbon-wrapper .ribbon-front {
  text-transform: none;
  font-weight: 600;
}

.page-box--sitemap-controls .ribbon-wrapper .ribbon-edge-bottomleft {
  top: 93px;
}

.page-box--sitemap-controls .btn.expand-box-btn {
  font-size: 1.1rem;
  font-weight: 400;
  width: 100%;
  margin-top: 24px;
  margin-left: 0;
  text-transform: none;
  clear: left;
  text-decoration: none;
}

.page-box--sitemap-controls .btn.expand-box-btn:after {
  transition: transform 0.2s linear;
  vertical-align: middle;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 12px;
  margin-top: 6px;
  vertical-align: top;
}

.page-box--sitemap-controls .btn.expand-box-btn:nth-child(-n+1) {
  margin-top: 0;
}

.page-box--sitemap-controls .btn.expand-box-btn:after {
  margin-top: 10px;
}

@media screen and (min-width: 900px) {
  .page-box--sitemap-controls .btn.expand-box-btn {
    margin-right: 6px;
    width: calc(33.3333333% - 7px);
  }
  .page-box--sitemap-controls .btn.expand-box-btn:nth-child(-n+4) {
    margin-top: 0;
  }
  .page-box--sitemap-controls .btn.expand-box-btn:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 720px) and (max-width: 899px) {
  .page-box--sitemap-controls .btn.expand-box-btn {
    margin-right: 17px;
    width: calc(50% - 11px);
  }
  .page-box--sitemap-controls .btn.expand-box-btn:nth-child(-n+3) {
    margin-top: 0;
  }
  .page-box--sitemap-controls .btn.expand-box-btn:nth-child(2n) {
    margin-right: 0;
  }
}

.page-box--sitemap {
  margin-bottom: 24px;
}

.page-box--sitemap .page-box__inside a {
  text-decoration: none;
  padding-top: 12px;
}

.page-box--sitemap .title {
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.75rem;
  color: #555;
}

.page-box--sitemap .subtitle {
  margin-top: 6px;
  font-size: 1.4rem;
  font-weight: 600;
}

.page-box--sitemap .sitemap-list {
  display: flex;
  flex: 1;
  flex-direction: row;
  flex-wrap: wrap;
  font-weight: normal;
}

.page-box--sitemap .sitemap-list .column {
  display: flex;
  flex: 1;
  flex-direction: column;
  box-sizing: border-box;
  flex-basis: 100%;
}

.page-box--sitemap .sitemap-list .column > .sitemap-list__level-2:first-child {
  padding-top: 0;
}

@media (min-width: 900px) {
  .page-box--sitemap .sitemap-list .column {
    flex-basis: calc(50% - 24px);
  }
  .page-box--sitemap .sitemap-list .column > .sitemap-list__level-2:first-child {
    padding-top: 54px;
  }
}

.page-box--sitemap .sitemap-list .sitemap-list__level-1 {
  padding-top: 24px;
  color: #13294a;
  font-size: 1.1rem;
  font-weight: 600;
}

.page-box--sitemap .sitemap-list .sitemap-list__level-1 a {
  text-decoration: none;
  padding-top: 0;
}

.page-box--sitemap .sitemap-list .sitemap-list__level-2 {
  color: #666;
  font-size: 0.875rem;
  font-weight: 600;
}

.page-box--sitemap .sitemap-list .sitemap-list__level-2:nth-of-type(1) {
  padding-top: 6px;
}

.page-box--sitemap .sitemap-list .sitemap-list__level-2 a {
  text-decoration: none;
}

.page-box--sitemap.page-box--sitemap__one-level .sitemap-list .title {
  margin-bottom: 15px;
}

.page-box--sitemap.page-box--sitemap__one-level .sitemap-list .sitemap-list__level-1 {
  padding: 0;
}

.page-box--sitemap.page-box--sitemap-branch .title {
  margin-bottom: 15px;
}

.page-box--sitemap.page-box--sitemap-branch .sitemap-list__level-1 {
  padding: 0;
}

.page-box--sitemap.page-box--sitemap-branch .sitemap-list__level-1 .regular-link a {
  text-decoration: underline;
  color: #5a77a2;
}

.page-box__toc {
  margin-bottom: 24px;
}

.page-box__toc:empty {
  display: none;
}

@media screen and (min-width: 720px) {
  .page-box__toc {
    position: sticky;
    top: 100px;
    z-index: 15;
  }
}

/* Share block*/
/* Ribbon style */
/*
Contact form block
 */
/*
Infographics block
 */
/* Video block */
/* Half block */
/* Content block */
/* Download block*/
.key-contact h3 {
  text-align: center;
  text-transform: uppercase;
}

.key-contact.row-oriented:after {
  content: "";
  display: table;
  clear: both;
}

.key-contact.row-oriented .person-link {
  right: 75px;
  bottom: 0;
}

.key-contact.row-oriented .person-image-photo {
  width: 25%;
  float: left;
  height: 60%;
}

.key-contact.row-oriented .person-text {
  display: flex;
  width: 75%;
  float: none;
  text-align: left;
  padding: 10px 0 10px 20px;
}

.key-contact.row-oriented .person-text .person-address-block {
  width: 84%;
}

.key-contact.row-oriented .person-text .person-address-block .name {
  font-size: 14px;
}

.key-contact.row-oriented .person-text .action-bar.person-actions {
  width: 16%;
  padding: 0;
  text-align: right;
}

.key-contact.row-oriented .person-text .action-bar.person-actions .action {
  padding-bottom: 5px;
  text-align: center;
}

.key-contact.row-oriented .person-text .action-bar.person-actions .action.action--phone {
  padding-right: 3px;
}

.key-contact.row-oriented .listing__load-more {
  margin-top: 6px;
  text-align: right;
  color: #13294a;
}

.key-contact.row-oriented .listing__load-more .btn {
  padding: 6px 24px;
}

.key-contact .person-image-photo {
  margin: 0 auto;
  float: none;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 15px;
  width: 120px;
  height: 120px;
}

.key-contact .person-image-photo img {
  display: block;
}

.key-contact .person-text {
  float: left;
  width: 100%;
  text-align: center;
}

.key-contact .person-actions {
  text-align: center;
}

/* General page */
.top_publication {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.top_publication .container-inner .main-content {
  width: 100%;
}

.top_publication .container-inner .main-content .zones-layout-simple.editorial_mode {
  background-color: #eaeaea;
}

@media (max-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple {
    margin-top: 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .row {
  margin-bottom: 24px;
  width: 100%;
  display: inline-block;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .form_block {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half:first-child {
  margin-bottom: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half:nth-child(2) .ribbon-front {
  right: -24px;
  left: auto;
  float: right;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half:nth-child(2) .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  top: 78px;
  left: auto;
  right: -24px;
  border-color: #204067 transparent transparent transparent;
  border-width: 24px 24px 0 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half.block_invisible {
  background: transparent;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .block_base.tpt_toc:empty {
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .row .base_block__content.float--right {
  float: none !important;
  position: static;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .row {
    float: left;
  }
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .row {
    display: flex;
  }
  .top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half:first-child {
    margin-right: 5px;
    margin-bottom: 0;
  }
  .top_publication .container-inner .main-content .zones-layout-simple .row .block_base.half:nth-child(2) {
    margin-left: 5px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .landing-page__block, .top_publication .container-inner .main-content .zones-layout-simple .block_base, .top_publication .container-inner .main-content .zones-layout-simple .block_slider, .top_publication .container-inner .main-content .zones-layout-simple .block_video, .top_publication .container-inner .main-content .zones-layout-simple .block_download, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles {
  background: #fff;
  width: 100%;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form {
  display: inline-block;
  width: 100%;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form {
    display: flex;
  }
}

@media (min-width: 1160px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form {
    min-height: 335px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left {
  flex-basis: 100%;
  background: #fff;
  color: #191919;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left {
    flex-basis: 66.66%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left h2 {
  text-transform: uppercase;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .btn {
  background: #abb300;
  color: #fff;
  text-transform: capitalize;
  margin: 10px 0;
  font-size: 18px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .two-state-block {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .two-state-block__initial {
  overflow: initial;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front {
    width: 65%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h1 {
  font-size: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front.ribbon-header h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front.ribbon-header h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front.ribbon-header h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-front.ribbon-header h4 {
  font-size: 2rem;
  padding: 7px 30px;
  line-height: 2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .left .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .right {
  flex-basis: 100%;
  background: #13294a;
  color: #fff;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .right {
    flex-basis: 33.33%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .right .key-contact {
  padding: 20px 24px 24px 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .right .key-contact .person-name .name {
  font-size: 20px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .right .show-all {
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .contact-form__head--sent {
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .text {
  margin-bottom: 25px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form form {
  position: relative;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form input[type=email],
.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form input[type=text],
.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form textarea {
  margin-bottom: 12px;
  background: #fff;
  border-color: #d0d4db;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form textarea {
  height: 120px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .privacy {
  font-size: 12px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .contact-form__overlay {
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .contact-form__error {
  color: #e51313;
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form .contact-form__head--sent {
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--wrong textarea,
.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--wrong input[type=text],
.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--wrong input[type=email] {
  border: 1px solid #e51313;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--wrong .contact-form__error {
  display: block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--submitting > * {
  opacity: 0.4;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--submitting .contact-form__overlay {
  display: table;
  content: '';
  opacity: 1;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 120px;
  background: #abb300;
  text-align: center;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--submitting .contact-form__overlay-content {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  display: table-cell;
  vertical-align: middle;
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--sent .contact-form__head--initial {
  display: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .contact-form.contact-form--sent .contact-form__head--sent {
  display: block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .infographics {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block h2 {
  text-transform: uppercase;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav {
  position: absolute;
  top: 0;
  z-index: 10000;
  height: 100%;
  background: none;
  border: none;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav .icon {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 451.846 451.847'%3e%3cg%3e%3cpath fill='%23666' d='M345.441 248.292L151.154 442.573c-12.359 12.365-32.397 12.365-44.75 0-12.354-12.354-12.354-32.391 0-44.744L278.318 225.92 106.409 54.017c-12.354-12.359-12.354-32.394 0-44.748 12.354-12.359 32.391-12.359 44.75 0l194.287 194.284c6.177 6.18 9.262 14.271 9.262 22.366 0 8.099-3.091 16.196-9.267 22.373z'/%3e%3c/g%3e%3c/svg%3e") center no-repeat;
  width: 20px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.next {
  right: 3px;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.next {
    right: 8px;
  }
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.next {
    right: 15px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.next .icon {
  bottom: 51%;
  position: absolute;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.previous {
  transform: rotate(180deg);
  left: 3px;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.previous {
    left: 8px;
  }
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.previous {
    left: 15px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav.previous .icon {
  top: 51%;
  position: absolute;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block button.slider_nav .icon svg {
  stroke: #666;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items {
  padding: 15px;
  display: inline-block;
  width: 100%;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview {
  width: 50%;
  float: left;
  padding: 10px;
  text-align: center;
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview a {
  text-decoration: none;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview {
    width: 33.33333%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview .partner_image {
  position: relative;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview .partner_image img {
  margin: 0 auto;
  width: 100%;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview .partner_image .name {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  padding: 2px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview .interview {
  background-color: #13294a;
  padding: 10px;
  text-align: left;
  min-height: 130px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .items .partner_interview .interview:after {
  transition: transform 0.2s linear;
  vertical-align: middle;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 12px;
  vertical-align: top;
  margin-top: 6px;
  margin-left: 2px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front {
    width: 65%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h1 {
  font-size: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front.ribbon-header h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front.ribbon-header h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front.ribbon-header h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front.ribbon-header h4 {
  font-size: 2rem;
  padding: 7px 30px;
  line-height: 2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .partner-interviews-block .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav {
  position: absolute !important;
  top: 0;
  z-index: 10000;
  height: 100%;
  background: none;
  border: none;
  width: 33px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav {
    width: 40px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav.next {
  right: 20px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav.next .icon {
  bottom: 18px;
  position: absolute;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav.previous {
  transform: rotate(180deg);
  left: 20px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav.previous .icon {
  top: 18px;
  position: absolute;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider button.slider_nav .icon svg {
  stroke: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block .slick-slider .slick-slide img {
  display: inline-block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items {
  position: relative;
  min-height: 380px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items > .content-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #13294a;
  color: #fff;
}

@media (max-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items > .content-block {
    min-height: unset;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items > .content-block p {
  color: #fff;
}

@media (max-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items {
    min-height: 330px;
  }
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items .content-block {
    min-height: 330px;
  }
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items .half:not(.base_block__content) {
    display: none;
  }
}

@media (min-width: 720px) and (max-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items {
    height: 610px;
  }
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items .content-block {
    min-height: 610px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items .slick-dots {
  margin-bottom: 0;
  bottom: 10px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_1 div.items .slick-dots {
    left: auto;
    width: 50%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items {
  position: relative;
  min-height: 380px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block {
  display: flex;
  position: relative;
  background: #13294a;
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block .half {
  width: 100%;
  display: inline-block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block .half.base_block__content {
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  bottom: 0;
  left: 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block .half.base_block__content .text {
  background: transparent;
  color: #fff;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block {
    display: inline-block;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .content-block p {
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .slick-dots {
  margin-bottom: 0;
  bottom: 10px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base.slider_block.max_count_2 div.items .slick-dots {
    left: auto;
    width: 100%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block {
  min-height: 380px;
  position: relative;
  background: #fff;
  color: #191919;
  display: inline-block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .base_block__content {
  padding: 42px;
  position: relative;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .base_block__content .text {
  font-size: 16px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .base_block__content .text {
    font-size: 1rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication {
  margin-top: 15px;
  background: #fff;
  color: #13294a;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication .base_block__content {
  overflow: hidden;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication .base_block__content .text {
  max-height: 280px;
  color: #13294a;
}

@media (max-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication .base_block__content .text {
    max-height: unset;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication .base_block__content .text p {
  color: #13294a;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication {
    display: flex;
    max-height: 380px;
  }
}

@media (max-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_publication .half:not(.base_block__content) {
    display: none;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_text_content {
  margin-top: 15px;
  width: 100%;
  max-width: 100%;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_text_content .text {
  max-height: 100%;
  background: #fff;
  color: #191919;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_text_content .text {
    font-size: 1.1rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_text_content .text p {
  color: #191919;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_text_content .text .btn--center {
  width: max-content;
  margin: 25px auto;
  display: block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote {
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.linkable {
  cursor: pointer;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .link_arrow {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31.49 31.49'%3e%3cpath fill='%2313294a' d='M21.205 5.007a1.112 1.112 0 00-1.587 0 1.12 1.12 0 000 1.571l8.047 8.047H1.111A1.106 1.106 0 000 15.737c0 .619.492 1.127 1.111 1.127h26.554l-8.047 8.032c-.429.444-.429 1.159 0 1.587a1.112 1.112 0 001.587 0l9.952-9.952a1.093 1.093 0 000-1.571l-9.952-9.953z'/%3e%3c/svg%3e") center no-repeat;
  position: relative;
  top: 4px;
  width: 20px;
  height: 20px;
  display: inline-block;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote {
  background-color: #13294a;
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote blockquote {
  color: #fff;
  font-style: italic;
  font-size: 1.2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote blockquote::before, .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote blockquote::after {
  color: #fff;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block.type_quote blockquote::after {
  top: unset;
  bottom: -12px;
  padding: unset;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .half {
  width: 100%;
  display: inline-block;
  float: left;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .half {
    width: 50%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block h3 {
  font-size: 18px;
  margin-bottom: 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block h3 {
    font-size: 1.5rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .half__image {
  width: 100%;
  position: relative;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .half__image img {
  position: relative;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .content-block .half__image img {
    /* Set up proportionate scaling */
    width: 100%;
    height: auto;
    /* Set up positioning */
    position: relative;
    top: 0;
    left: 0;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .intro {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front {
    width: 65%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h1 {
  font-size: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front.ribbon-header h1, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front.ribbon-header h2, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front.ribbon-header h3, .top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-front.ribbon-header h4 {
  font-size: 2rem;
  padding: 7px 30px;
  line-height: 2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .block__intro {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_base .text-content {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .half {
  width: 100%;
  display: inline-block;
  float: left;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .half {
    width: 50%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box {
  margin: auto;
  height: 384px;
  position: relative;
  margin-top: 50px;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box {
    margin-top: unset;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box.block_video-flex-video-box-image {
  height: auto;
  max-height: 600px;
  min-height: 430px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box.block_video-flex-video-box-image .block_video-video-preview {
  cursor: default;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video {
  opacity: 1;
  position: relative;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video .block_video-player-video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .preview-button {
  z-index: 10;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .preview-button:after {
  content: '';
  position: absolute;
  top: 45%;
  left: 43%;
  width: 0;
  height: 0;
  margin: -20px 0 0 -10px;
  border-left: 80px solid rgba(19, 41, 74, 0.75);
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  -webkit-transition: border-color 300ms;
  -moz-transition: border-color 300ms;
  transition: border-color 300ms;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .preview-button:after {
    position: absolute;
    top: 45%;
    left: 48%;
    width: 0;
    height: 0;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .preview-button:hover:after {
  border-left: 80px solid rgba(19, 41, 74, 0.9);
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front {
    width: 65%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h1, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h2, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h3, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h1 {
  font-size: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front.ribbon-header h1, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front.ribbon-header h2, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front.ribbon-header h3, .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-front.ribbon-header h4 {
  font-size: 2rem;
  padding: 7px 30px;
  line-height: 2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-wrapper {
  position: relative;
  margin-top: -55px;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_video .block_video-flex-video-box .block_video-video-preview .ribbon-wrapper {
    margin-top: 15px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-wrapper {
  position: relative;
  margin-top: 15px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front {
  background-color: #13294a;
  height: 78px;
  width: 95%;
  position: relative;
  left: -24px;
  text-transform: uppercase;
  color: #fff;
  display: table;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front {
    width: 65%;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h1, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h2, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h3, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h4 {
  margin: 0;
  display: table-cell;
  vertical-align: middle;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h1 {
  font-size: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h1 {
    font-size: 2rem;
    padding: 7px 30px;
    line-height: 2rem;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h2 {
  font-size: 22px;
  line-height: 25px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h2 {
    font-size: 1.7rem;
    line-height: 1.6rem;
    padding: 14px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h3 {
  font-size: 18px;
  line-height: 22px;
  padding: 8px 20px 8px 30px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front h3 {
    font-size: 1.7rem;
    padding: 15px 30px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front.ribbon-header h1, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front.ribbon-header h2, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front.ribbon-header h3, .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-front.ribbon-header h4 {
  font-size: 2rem;
  padding: 7px 30px;
  line-height: 2rem;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .ribbon-edge {
  position: absolute;
  z-index: 1;
  border-style: solid;
  height: 0;
  width: 0;
  left: -24px;
  border-color: transparent #204067 transparent transparent;
  border-width: 0 24px 24px 0;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .block__intro {
  padding: 24px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .tile__heading {
  color: #13294a;
}

@media (min-width: 720px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_tiles .tile__heading {
    color: #fff;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .button-container {
  width: 100%;
  float: left;
  text-align: center;
  margin-bottom: 25px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_tiles .button-container .btn.load-more {
  background: #abb300;
  color: #fff;
  text-transform: capitalize;
  margin: 10px 0;
  font-size: 18px;
}

.top_publication .container-inner .main-content .zones-layout-simple .block_download .dl-box {
  background: #fff;
  margin-bottom: 0;
  min-height: 260px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_download .dl-box {
    min-height: 335px;
  }
}

.top_publication .container-inner .main-content .zones-layout-simple .block_download .dl-box .dl-box__title {
  margin: 30px 0;
  font-size: 26px;
  line-height: 35px;
}

@media (min-width: 900px) {
  .top_publication .container-inner .main-content .zones-layout-simple .block_download .dl-box .dl-box__title {
    font-size: 36px;
  }
}

.top_publication .flyout-menu {
  position: fixed;
  background: #13294a;
  width: 50px;
  height: auto;
  top: 175px;
  z-index: 33;
  right: 0;
}

@media (min-width: 720px) {
  .top_publication .flyout-menu {
    top: 260px;
  }
}

.top_publication .flyout-menu .flyout-menu-element {
  display: block;
  height: 50px;
}

.top_publication .flyout-menu > hr {
  border: none;
  height: 1px;
  background: #fff;
  margin: 0 5px;
}

.top_publication .flyout-menu svg {
  fill: none;
  stroke: #fff;
  width: 24px;
  height: 24px;
  margin: 13px;
}

.top_publication .flyout-menu svg .icon-xing {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-twitter {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-linkedin {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-calendar {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-share_alt {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-lawnow {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-regzone {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-eguide {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu svg .icon-facebook {
  stroke-width: 0;
  fill: #fff;
}

.top_publication .flyout-menu .sidebar-shariff {
  background-color: #fff;
  width: auto;
  padding: 9px;
  margin-top: 0;
}

.top_publication .flyout-menu .sidebar-shariff .close {
  display: none;
}

.top_publication .flyout-menu .sidebar-shariff .shariff-button {
  height: 28px;
  margin-bottom: 6px;
}

@media (min-width: 900px) {
  .top_publication .flyout-menu .sidebar-shariff .shariff-button {
    font-size: 35px;
    height: 35px;
    margin-bottom: 10px;
  }
  .top_publication .flyout-menu .sidebar-shariff .shariff-button a {
    display: flex;
    height: auto;
  }
}

.top_publication .flyout-menu .sidebar-shariff .shariff-button span.fa {
  font-size: 18px;
  width: 28px;
  line-height: 27px;
}

@media (min-width: 900px) {
  .top_publication .flyout-menu .sidebar-shariff .shariff-button span.fa {
    font-size: 21px;
    width: 35px;
    line-height: 35px;
  }
}

.top_publication .tile-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 0;
  margin-top: 30px;
  padding: 0 15px;
}

.top_publication .tile-grid .tile .tile__heading {
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 0;
  margin-bottom: 0;
  max-height: 77px;
  font-size: 1.3rem;
  line-height: 1.1;
  word-wrap: inherit;
}

.top_publication .tile-grid .tile .show-all:after {
  transition: transform .2s linear;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 12px;
  margin-top: 6px;
  vertical-align: top;
}

.top_publication .tile-grid .tile.tile--gray .tile__heading {
  color: #13294a;
}

@media (min-width: 720px) {
  .top_publication .tile-grid .tile.tile--gray .tile__heading {
    color: #fff;
  }
}

.top_publication .tile-grid .tile.tile--gray .tile__more {
  color: #13294a;
}

@media (min-width: 720px) {
  .top_publication .tile-grid .tile.tile--gray .tile__more {
    color: #fff;
  }
}

.top_publication .tile-grid .tile:before {
  content: none !important;
}

@media (min-width: 720px) {
  .top_publication .tile-grid .tile {
    width: 50%;
    height: 0;
    padding-bottom: 50%;
  }
  .top_publication .tile-grid .tile .tile__image {
    left: 0 !important;
    padding-bottom: 0;
    display: flex;
    width: 100%;
    height: 100%;
  }
  .top_publication .tile-grid .tile .tile__image picture {
    position: static;
    overflow: hidden;
    height: 100%;
  }
  .top_publication .tile-grid .tile .tile__image picture img {
    position: static;
    -webkit-transform: none;
    transform: none;
  }
  .top_publication .tile-grid .tile .tile__content {
    z-index: 2;
    padding-top: 12px;
    top: auto;
    bottom: 0;
    height: auto;
    background: rgba(0, 0, 0, 0.6);
  }
  .top_publication .tile-grid .tile .tile__content .tile__heading {
    overflow: hidden;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding-bottom: 0;
    min-height: 48px;
    max-height: 100px;
    margin-top: 0;
    font-size: 1.5rem;
    line-height: 1.1;
    color: #fff;
  }
  .top_publication .tile-grid .tile .tile__more {
    position: relative;
    bottom: 0;
  }
}

@media (min-width: 1160px) {
  .top_publication .tile-grid .tile {
    width: calc(100% / 3);
    padding-bottom: calc(100% / 3);
  }
}

@media (min-width: 720px) {
  .top_publication .tile-grid .tile {
    margin-bottom: 6px;
  }
  .top_publication .tile-grid .tile .tile__image {
    padding-right: 6px;
    padding-left: 24px;
  }
  .top_publication .tile-grid .tile .tile__content {
    left: 24px;
    width: calc(100% - 30px);
  }
}

.text-transform-upper {
  text-transform: uppercase;
}

.partner-interview .main-content {
  width: 100%;
}

.partner-interview .contact-form {
  display: inline-block;
  width: 100%;
}

@media (min-width: 900px) {
  .partner-interview .contact-form {
    display: flex;
  }
}

.partner-interview .contact-form .left {
  flex-basis: 100%;
  background: #ccc no-repeat scroll center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

@media (min-width: 900px) {
  .partner-interview .contact-form .left {
    flex-basis: 66.66%;
  }
}

.partner-interview .contact-form .left h1 {
  text-align: center;
  position: relative;
  text-transform: uppercase;
}

@media (min-width: 720px) {
  .partner-interview .contact-form .left h1 {
    top: 50%;
    transform: translateY(-50%);
  }
}

.partner-interview .contact-form .right {
  flex-basis: 100%;
  background: #13294a;
  color: #fff;
}

@media (min-width: 900px) {
  .partner-interview .contact-form .right {
    flex-basis: 33.33%;
  }
}

.partner-interview .contact-form .column {
  padding: 24px 42px;
}

.partner-interview .contact-form .key-contact h3 {
  text-align: center;
  text-transform: uppercase;
}

.partner-interview .contact-form .key-contact .person-image-photo {
  text-align: center;
}

.partner-interview .contact-form .key-contact .person-image {
  margin: 0 auto;
  float: none;
  margin-bottom: 15px;
  width: 100px;
  height: 100px;
}

.partner-interview .contact-form .key-contact .person-text {
  float: left;
  width: 100%;
  text-align: center;
}

.partner-interview .contact-form .key-contact .person-actions {
  text-align: center;
}

.top_publication_subpage {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.top_publication_subpage .main-content {
  width: 100%;
}

.top_publication_subpage .cf, .top_publication_subpage .nav, .top_publication_subpage .media {
  overflow: hidden;
}

.top_publication_subpage .column {
  float: left;
  padding-bottom: 100%;
  margin-bottom: -100%;
}

.top_publication_subpage .left {
  display: inline-block;
  float: left;
  width: 100%;
  flex: 1;
}

@media screen and (min-width: 720px) {
  .top_publication_subpage .left {
    float: left;
    width: 66.67%;
  }
}

@media screen and (min-width: 720px) {
  .top_publication_subpage .left .general {
    float: left;
    padding: 24px;
    width: 100%;
    display: inline-block;
  }
}

.top_publication_subpage .right {
  display: inline-block;
  float: left;
  width: 100%;
  color: #fff;
  flex: 1;
  margin-top: 24px;
}

@media screen and (min-width: 720px) {
  .top_publication_subpage .right {
    float: left;
    width: 33.32%;
    margin-top: 0;
  }
}

.top_publication_subpage .right .key-contact h3 {
  text-align: left;
}

.top_publication_subpage .right .key-contact .show-all {
  color: #fff;
}

.top_publication_subpage li {
  color: #666;
  font-weight: 300;
}

.top_publication_subpage .flyout-menu {
  position: fixed;
  background: #13294a;
  width: 50px;
  height: auto;
  top: 175px;
  z-index: 33;
  right: 0;
}

@media (min-width: 720px) {
  .top_publication_subpage .flyout-menu {
    top: 260px;
  }
}

.top_publication_subpage .flyout-menu .flyout-menu-element {
  display: block;
  height: 50px;
}

.top_publication_subpage .flyout-menu > hr {
  border: none;
  height: 1px;
  background: #fff;
  margin: 0 5px;
}

.top_publication_subpage .flyout-menu svg {
  fill: none;
  stroke: #fff;
  width: 24px;
  height: 24px;
  margin: 13px;
}

.top_publication_subpage .flyout-menu svg .icon-xing {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-twitter {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-linkedin {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-calendar {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-share_alt {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-lawnow {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-regzone {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-eguide {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu svg .icon-facebook {
  stroke-width: 0;
  fill: #fff;
}

.top_publication_subpage .flyout-menu .sidebar-shariff {
  background-color: #fff;
  width: auto;
  padding: 9px;
  margin-top: 0;
}

.top_publication_subpage .flyout-menu .sidebar-shariff .close {
  display: none;
}

.top_publication_subpage .flyout-menu .sidebar-shariff .shariff-button {
  height: 28px;
  margin-bottom: 6px;
}

@media (min-width: 900px) {
  .top_publication_subpage .flyout-menu .sidebar-shariff .shariff-button {
    font-size: 35px;
    height: 35px;
    margin-bottom: 10px;
  }
  .top_publication_subpage .flyout-menu .sidebar-shariff .shariff-button a {
    display: flex;
    height: auto;
  }
}

.top_publication_subpage .flyout-menu .sidebar-shariff .shariff-button span.fa {
  font-size: 18px;
  width: 28px;
  line-height: 27px;
}

@media (min-width: 900px) {
  .top_publication_subpage .flyout-menu .sidebar-shariff .shariff-button span.fa {
    font-size: 21px;
    width: 35px;
    line-height: 35px;
  }
}

.page-box--subpage {
  overflow: unset;
}

.page-box--subpage .page-box__subpage-side {
  background: #13294a;
  width: 100%;
  padding: 24px;
  overflow: unset;
}

@media screen and (min-width: 720px) {
  .page-box--subpage .page-box__subpage-side {
    float: right;
  }
}

.page-box--subpage .page-box__subpage-side .listing__load-more {
  text-align: left;
}

.page-box--subpage .page-box__subpage-side .listing__load-more .btn {
  background: #abb300;
  color: #fff;
  text-transform: capitalize;
  margin: 10px 0;
  font-size: 18px;
}

.page-box--subpage .page-box__subpage-side .sidebar-block.tags {
  padding-left: 5px;
}

.page-box--subpage .page-box__subpage-side .sidebar-block.tags .show-all {
  color: #fff;
  margin-left: 0;
}

.page-box--subpage .page-box__element {
  background: #13294a;
  color: #fff;
}

.page-box--subpage .page-box__subpage-body {
  padding: 24px;
  overflow: unset;
}

.page-box--subpage .page-box__subpage-body .title h1 {
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 36px;
}

.page-box--subpage .page-box__subpage-body .body {
  font-weight: 600;
  line-height: 1.7142857143;
  color: black;
}

.page-box--subpage .page-box__subpage-children {
  background: transparent;
}

.page-box--subpage .page-box__subpage-children .subsection-link:nth-child(2):after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.page-box--subpage .page-box__subpage-children .subsection {
  width: 50%;
  position: relative;
  float: left;
}

@media (max-width: 720px) {
  .page-box--subpage .page-box__subpage-children .subsection {
    width: 100%;
  }
}

@media screen and (min-width: 720px) and (max-width: 1160px) {
  .page-box--subpage .page-box__subpage-children .subsection {
    width: 50%;
  }
}

.page-box--subpage .page-box__subpage-children .subsection .subsection-content {
  color: white;
  background-color: #abb300;
  padding: 12px 24px;
  margin: 12px 0;
  font-size: 1.1rem;
  font-weight: 400;
  text-decoration: none;
  line-height: 1.7142857143;
  min-height: 84px;
  max-height: 84px;
  overflow: hidden;
}

.page-box--subpage .page-box__subpage-children .subsection .subsection-content.current {
  background-color: #79722e;
}

@media (min-width: 720px) {
  .page-box--subpage .page-box__subpage-children .subsection .subsection-content {
    margin: 24px;
  }
}

.page-box--subpage .page-box__subpage-children .subsection .subsection-content .subsection-text:after {
  transition: transform 0.2s linear;
  vertical-align: middle;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid currentColor;
  margin-left: 12px;
  vertical-align: top;
  margin-top: 9px;
  margin-left: 10px;
}

.page-box--subpage .page-box__subpage-children .subsection .subsection-content .subsection-text.current:after {
  transition: transform 0.2s linear;
  vertical-align: middle;
  height: 0;
  width: 0;
  display: inline-block;
  content: '';
  position: relative;
  top: 0;
  border-top: 6px solid currentColor;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  margin-left: 12px;
  top: -3px;
}

.page-box--subsection {
  overflow: unset;
}

@media (min-width: 720px) {
  .page-box--subsection {
    min-height: 340px;
  }
}

.page-box--subsection h2.title {
  padding: 24px 0;
  margin: 0;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 600;
}

@media (min-width: 720px) {
  .page-box--subsection h2.title {
    padding: 24px;
  }
}

.page-box--subsection h3.subtitle {
  padding-left: 24px;
  padding-bottom: 24px;
  margin: 0;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 400;
}

.page-box--subsection .body {
  padding: 24px 0;
}

@media (min-width: 720px) {
  .page-box--subsection .body {
    padding: 24px;
  }
}

.page-box--subsection li {
  color: #666;
  font-weight: 300;
}

.page-box--subsection .general-page__head {
  padding: unset;
  margin: unset;
  height: 300px;
  width: auto;
}

.page-box--subsection .general-page__head:before {
  background-color: transparent;
}

.page-box--subsection .sidebar-block .tags {
  margin-top: 24px;
}

.page-box--subsection .page-box__inside {
  height: 100%;
}

.page-box--subsection .flyout-menu {
  position: fixed;
  background: #13294a;
  width: 50px;
  height: auto;
  top: 175px;
  z-index: 33;
  right: 0;
}

@media (min-width: 720px) {
  .page-box--subsection .flyout-menu {
    top: 260px;
  }
}

.page-box--subsection .flyout-menu .flyout-menu-element {
  display: block;
  height: 50px;
}

.page-box--subsection .flyout-menu > hr {
  border: none;
  height: 1px;
  background: #fff;
  margin: 0 5px;
}

.page-box--subsection .flyout-menu svg {
  fill: none;
  stroke: #fff;
  width: 24px;
  height: 24px;
  margin: 13px;
}

.page-box--subsection .flyout-menu svg .icon-xing {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-twitter {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-linkedin {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-calendar {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-share_alt {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-lawnow {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-regzone {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-eguide {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu svg .icon-facebook {
  stroke-width: 0;
  fill: #fff;
}

.page-box--subsection .flyout-menu .sidebar-shariff {
  background-color: #fff;
  width: auto;
  padding: 9px;
  margin-top: 0;
}

.page-box--subsection .flyout-menu .sidebar-shariff .close {
  display: none;
}

.page-box--subsection .flyout-menu .sidebar-shariff .shariff-button {
  height: 28px;
  margin-bottom: 6px;
}

@media (min-width: 900px) {
  .page-box--subsection .flyout-menu .sidebar-shariff .shariff-button {
    font-size: 35px;
    height: 35px;
    margin-bottom: 10px;
  }
  .page-box--subsection .flyout-menu .sidebar-shariff .shariff-button a {
    display: flex;
    height: auto;
  }
}

.page-box--subsection .flyout-menu .sidebar-shariff .shariff-button span.fa {
  font-size: 18px;
  width: 28px;
  line-height: 27px;
}

@media (min-width: 900px) {
  .page-box--subsection .flyout-menu .sidebar-shariff .shariff-button span.fa {
    font-size: 21px;
    width: 35px;
    line-height: 35px;
  }
}

.page-box-container {
  display: flex;
  font-size: 0;
  padding-left: 12px;
  margin-bottom: 24px;
}

.page-box-container .page-box--subsection {
  background-color: white;
  padding: 12px 0;
  width: 33.33333%;
  margin-right: 4px;
}

@media (min-width: 720px) {
  .page-box-container .page-box--subsection {
    padding: 24px;
  }
}

.page-box-container .page-box--subsection:nth-child(3n) {
  margin-right: 0;
}

.page-box-container .page-box--subsection:nth-child(3) ~ * {
  display: none;
}

.page-box-container .page-box--subsection-contacts h3 {
  text-align: left;
  text-transform: unset;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  margin-top: 0;
}

.page-box-container .page-box--subsection-contacts .person-image-photo {
  float: unset;
}

.page-box-container .page-box--subsection-contacts .person-text {
  width: 100%;
}

.page-box-container .page-box--subsection-contacts .person-text .person-actions .action {
  margin-right: 0;
}

.page-box-container .page-box--subsection-contacts .listing__load-more {
  display: block;
}

.page-box-container .page-box--subsection-contacts .show-all {
  color: #666;
  font-size: 0.875rem;
  text-align: left;
  display: block;
}

.page-box-container .page-box--subsection-contacts .show-all:after {
  margin-top: 4px;
}

.page-box-container .page-box--subsection-expertise .tags .tag {
  color: white;
  background: #13294a;
  font-size: 1rem;
  line-height: 1.7142857143;
  margin-left: 0;
  padding: 6px 10px;
  text-align: center;
  width: 100%;
}

.page-box-container .page-box--subsection-expertise .show-all {
  padding-top: 14px;
  margin-bottom: unset;
  margin-left: 0;
}

.page-box-container .sidebar-block {
  padding: 0;
  margin-left: 0;
}

@media (max-width: 720px) {
  .page-box-container {
    display: block;
  }
  .page-box-container .page-box--subsection {
    width: 100%;
    margin-right: 0;
  }
  .page-box-container .page-box--subsection-clear {
    display: none;
  }
}

@media (max-width: 720px) and (min-width: 720px) {
  .page-box-container .page-box--subsection-contacts {
    margin-bottom: 24px;
  }
}

@media (max-width: 720px) {
  .page-box-container .page-box--subsection-contacts .person-text {
    width: 60%;
  }
}

@media (max-width: 720px) and (min-width: 720px) {
  .page-box-container .page-box--subsection-contacts .person-text {
    width: 75%;
  }
}

@media (max-width: 720px) {
  .page-box-container .page-box--subsection-contacts .person-image-photo {
    float: left;
  }
  .page-box-container .page-box--subsection-expertise {
    margin-bottom: 24px;
  }
}

@media (min-width: 1160px) {
  .page-box-container .page-box--subsection-contacts .person-text {
    width: 64%;
  }
  .page-box-container .page-box--subsection-contacts .person-image-photo {
    float: left;
  }
}

.toc {
  background: white;
  margin-bottom: 12px;
}

.toc.tpt_toc {
  margin-bottom: 0;
}

.toc input[type="checkbox"] {
  display: none;
}

.toc .toggle:checked + .toc--header .toc--header__icon {
  transform: rotate(-180deg);
}

.toc .toggle:checked + .toc--header + .toc--contents {
  max-height: 100%;
  padding: 24px 0 28.8px;
  display: inline-block;
}

.toc--header {
  display: flex;
  text-align: center;
  align-items: center;
  height: 60px;
  border-bottom: 1px solid #bbb;
  transition: all 300ms;
  opacity: 1;
}

.toc--header__title {
  flex: 1;
  font-size: 1.3em;
  padding: 12px 24px;
}

.toc--header__icon {
  border-top: 6px solid currentColor;
  border-bottom: 6px solid transparent;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent !important;
  margin-right: 30px;
  transition: all 300ms;
}

.toc--header:hover {
  opacity: 0.6;
}

.toc--contents {
  max-height: 0;
  overflow: hidden;
  color: #666;
  display: none;
}

.toc--contents a.current {
  font-weight: bold;
  color: #13294a;
}

.toc--contents__subtitle {
  margin: 0;
  margin-left: 3rem;
  margin-right: 3rem;
  box-sizing: border-box;
  padding: 0 0 48px 0;
}

@media (max-width: 720px) {
  .toc--contents__subtitle {
    margin-left: 12px;
    margin-right: 12px;
  }
}

.toc--contents__subtitle a {
  float: left;
  max-width: 85%;
  display: block;
  text-decoration: none;
  margin: 8px 0 8px 0;
  font-weight: bold;
}

.toc--contents.toc--type-1 ol, .toc--contents.toc--type-2 ol {
  counter-reset: item;
}

.toc--contents.toc--type-1 ol li:after, .toc--contents.toc--type-2 ol li:after {
  content: "";
  display: table;
  clear: both;
}

.toc--contents.toc--type-1 ol li::before, .toc--contents.toc--type-2 ol li::before {
  clear: left;
  content: counters(item, ".") " ";
  counter-increment: item;
  font-weight: bold;
  color: #13294a;
  position: relative;
  width: 50px;
  display: block;
  float: left;
}

.toc--contents.toc--type-1 ol li a, .toc--contents.toc--type-2 ol li a {
  float: left;
  max-width: 70%;
  display: block;
}

@media (min-width: 720px) {
  .toc--contents.toc--type-1 ol li a, .toc--contents.toc--type-2 ol li a {
    max-width: 85%;
  }
}

.toc--contents.toc--type-1 ol li ol, .toc--contents.toc--type-2 ol li ol {
  padding: 24px 0;
}

.tpt_toc .toc--contents.toc--type-1 ol li ol, .tpt_toc .toc--contents.toc--type-2 ol li ol {
  padding: 24px 0 0 0;
}

.toc--contents > ol {
  margin: 0;
  margin-left: 3rem;
  margin-right: 3rem;
  box-sizing: border-box;
}

@media (max-width: 720px) {
  .toc--contents > ol {
    margin-left: 12px;
    margin-right: 12px;
  }
}

.toc--contents ol {
  list-style: none;
}

.toc--contents ol li {
  margin: 8px 0 8px 0;
  font-weight: bold;
}

.tpt_toc .toc--contents ol li:last-child {
  margin-bottom: 0;
}

.toc--contents ol li ol li {
  font-weight: normal;
}

.toc--contents__content {
  text-decoration: none;
}

.toc--contents__content_decorate {
  pointer-events: none;
  cursor: default;
}

.toc--contents .toc--subheader {
  float: left;
}

.toc--contents .toc--subheader .toc--subheader__icon {
  border-top: 6px solid currentColor;
  border-bottom: 6px solid transparent;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent !important;
  margin-right: 6px;
  margin-top: 5px;
  transform: rotate(-90deg);
  transition: all 300ms;
}

.toc--contents li > .toggle ~ ol, .toc--contents li > .toggle ~ ul {
  display: none;
}

.toc--contents li > .toggle:checked + .toc--subheader .toc--subheader__icon {
  transform: rotate(0deg);
  margin-top: 8px;
}

.toc--contents li > .toggle:checked ~ ol, .toc--contents li > .toggle:checked ~ ul {
  display: block;
}

@media screen and (min-width: 720px) {
  .tpt_toc {
    max-height: 60px;
  }
  .tpt_toc.open {
    overflow-y: auto;
    max-height: unset;
  }
}

.tpt_toc .tpt_toc--toggle:checked + .toc--header .toc--header__icon {
  transform: rotate(-180deg);
}

.tpt_toc .tpt_toc--toggle:checked + .toc--header + .toc--contents {
  max-height: 100%;
  opacity: 1;
  transition: max-height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.tpt_toc .toc--contents {
  z-index: 1000;
  overflow-y: auto;
  position: fixed;
  top: 87px;
  right: 0;
  left: 0;
  display: block;
  background-color: #f3f4f6;
  max-height: 0;
  padding: 24px 0 28.8px;
  opacity: 0;
  transition: opacity 0.4s ease-out, max-height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

@media screen and (min-width: 720px) {
  .tpt_toc .toc--contents {
    background: #fff;
    position: static;
  }
}

.tpt_toc .toc--contents.show {
  max-height: 100%;
  opacity: 1;
  transition: max-height 0.3s ease-out, padding-top 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.tpt_toc .toc--contents .toc--header__close {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 23'%3e%3cg%3e%3cg fill='%23000' transform='translate(0 .5)'%3e%3cpath d='M19.484 0l2.165 2.165-8.66 8.66 8.66 8.659-2.165 2.165-8.66-8.66-8.66 8.66L0 19.484l8.659-8.66L0 2.164 2.165 0l8.66 8.659z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e") center no-repeat;
}

@media screen and (min-width: 720px) {
  .tpt_toc .toc--contents .toc--header__close {
    display: none !important;
    opacity: 0;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vdG9wLXB1YmxpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvX2ludWl0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX3NoYXJlZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2hlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX3BhcmFncmFwaHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fc21hbGxwcmludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19xdW90ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fY29kZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9iYXNlL19pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fbGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvYmFzZS9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2Jhc2UvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX2dyaWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL29iamVjdHMvX25hdi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9vYmplY3RzL19tZWRpYS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL193aWR0aHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9pbnVpdC5jc3MvZ2VuZXJpYy9fcHVzaC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19wdWxsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2JyYW5kLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvaW51aXQuY3NzL2dlbmVyaWMvX2hlbHBlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2ludWl0LmNzcy9nZW5lcmljL19kZWJ1Zy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL2dsb2JhbHMvX21peGlucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL19wYWdlLWJveC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL190b3AtcHVibGljYXRpb24tbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0V0ZWN0dXJlL0RwY21zQnVuZGxlL1Jlc291cmNlcy9wdWJsaWMvc3JjL3Nhc3MvcGFydGlhbHMvX3RvcC1wdWJsaWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9FdGVjdHVyZS9EcGNtc0J1bmRsZS9SZXNvdXJjZXMvcHVibGljL3NyYy9zYXNzL3BhcnRpYWxzL190aWxlcy1taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fcGFydG5lci1pbnRlcnZpZXcuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fdG9wLXB1YmxpY2F0aW9uLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRXRlY3R1cmUvRHBjbXNCdW5kbGUvUmVzb3VyY2VzL3B1YmxpYy9zcmMvc2Fzcy9wYXJ0aWFscy9fdGFibGVvZmNvbnRlbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzt1Q0RHdUM7QUNBdkM7Ozs7Ozs7RURRRTtBQ0NGOzt1Q0RFdUM7QUNDdkM7Ozs7O0VES0U7QUMwQkY7O3VDRHZCdUM7QUMwQnZDOztFRHZCRTtBQ3dGRjtFQUFtQixhQUFhO0FEckZoQzs7QUNxRkE7RUFDVSxjQUFjO0FEbEZ4Qjs7QUVqQ0E7O3VDRnFDdUM7QUVsQ3ZDOzs7O0VGdUNFO0FFbENGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFRjRFRTtBRTdCRjs7dUNGZ0N1QztBRTdCdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VGbUZFO0FFeEJGOzt1Q0YyQnVDO0FFeEJ2Qzs7Ozs7Ozs7Ozs7RUZvQ0U7QUVuQkY7O3VDRnNCdUM7QUVuQnZDOztFRnNCRTtBR2xLRjs7dUNIcUt1QztBR2xLdkM7OztFSHNLRTtBRzdKRjs7dUNIZ0t1QztBRzdKdkM7OztFSGlLRTtBR3ZKRjs7dUNIMEp1QztBR3ZKdkM7OztFSDJKRTtBR2pKRjs7dUNIb0p1QztBR2pKdkM7O0VIb0pFO0FHOUlGOztFSGlKRTtBRzVJRjs7RUgrSUU7QUd0SUY7O3VDSHlJdUM7QUd0SXZDOztFSHlJRTtBR3BJRjs7O0VId0lFO0FHbElGOzs7RUhzSUU7QUdqSUY7O0VIb0lFO0FHMUhGOztFSDZIRTtBR3BIRjs7RUh1SEU7QUczR0Y7O3VDSDhHdUM7QUczR3ZDOztFSDhHRTtBR3pGRjs7dUNINEZ1QztBR3pGdkM7O0VINEZFO0FHdkZGOzs7RUgyRkU7QUdwRkY7O0VIdUZFO0FHM0VGOzt1Q0g4RXVDO0FHM0V2Qzs7RUg4RUU7QUd4RUY7O0VIMkVFO0FHbEVGOzt1Q0hxRXVDO0FHbEV2Qzs7RUhxRUU7QUdyQ0Y7O3VDSHdDdUM7QUdyQ3ZDOzs7O0VIMENFO0FJcFFGOzt1Q0p1UXVDO0FJcFF2Qzs7Ozs7Ozs7RUo2UUU7QUkzUEY7Ozs7Ozs7Ozs7O0VKdVFFO0FJNU9GOzs7OztFSmtQRTtBSW5PRjs7Ozs7Ozs7Ozs7Ozs7RUprUEU7QUk1TUY7Ozs7OztFSm1ORTtBSXBNRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFSnVPRTtBSXZGRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFSmlIRTtBS3JYRjtBQUVBOzsrRUx1WCtFO0FLblgvRTs7RUxzWEU7QUtsWEY7Ozs7Ozs7Ozs7OztFQVlJLGNBQWM7QUxvWGxCOztBS2pYQTs7RUxxWEU7QUtqWEY7OztFQUdJLHFCQUFxQjtBTG1YekI7O0FLaFhBOzs7RUxxWEU7QUtoWEY7RUFDSSxhQUFhO0VBQ2IsU0FBUztBTGtYYjs7QUsvV0E7O0VMbVhFO0FBQ0Y7RUsvV0ksYUFBYTtBTGlYakI7O0FLOVdBOzsrRUxrWCtFO0FLOVcvRTs7OztFTG1YRTtBSzdXRjtFQUNJLHVCQUF1QjtFQUFFO0VBQ3pCLDhCQUE4QjtFQUFFO0VBQ2hDLDBCQUEwQjtFQUFFO0FMa1hoQzs7QUsvV0E7O0VMbVhFO0FLL1dGO0VBQ0ksU0FBUztBTGlYYjs7QUs5V0E7OytFTGtYK0U7QUs5Vy9FOztFTGlYRTtBSzdXRjtFQUNJLG9CQUFvQjtBTCtXeEI7O0FLNVdBOztFTGdYRTtBSzVXRjs7RUFFSSxVQUFVO0FMOFdkOztBSzNXQTs7K0VMK1crRTtBSzNXL0U7OztFTCtXRTtBSzFXRjtFQUNJLGNBQWM7RUFDZCxnQkFBZ0I7QUw0V3BCOztBS3pXQTs7RUw2V0U7QUt6V0Y7RUFDSSx5QkFBeUI7QUwyVzdCOztBS3hXQTs7RUw0V0U7QUt4V0Y7O0VBRUksZ0JBQWdCO0FMMFdwQjs7QUt2V0E7O0VMMldFO0FLdldGO0VBQ0ksa0JBQWtCO0FMeVd0Qjs7QUt0V0E7O0VMMFdFO0FLdFdGO0VBQ0ksNEJBQTRCO0VBQzVCLHVCQUF1QjtFQUN2QixTQUFTO0FMd1diOztBS3JXQTs7RUx5V0U7QUtyV0Y7RUFDSSxnQkFBZ0I7RUFDaEIsV0FBVztBTHVXZjs7QUtwV0E7O0VMd1dFO0FLcFdGOzs7O0VBSUksNkJBQTZCO0VBQzdCLGNBQWM7QUxzV2xCOztBS25XQTs7RUx1V0U7QUtuV0Y7RUFDSSxxQkFBcUI7QUxxV3pCOztBS2xXQTs7RUxzV0U7QUtsV0Y7RUFDSSx1Q0FBdUM7QUxvVzNDOztBS2pXQTs7RUxxV0U7QUtqV0Y7RUFDSSxjQUFjO0FMbVdsQjs7QUtoV0E7O0VMb1dFO0FLaFdGOztFQUVJLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QjtBTGtXNUI7O0FLL1ZBO0VBQ0ksV0FBVztBTGtXZjs7QUsvVkE7RUFDSSxlQUFlO0FMa1duQjs7QUsvVkE7OytFTG1XK0U7QUsvVi9FOztFTGtXRTtBSzlWRjtFQUNJLFNBQVM7QUxnV2I7O0FLN1ZBOztFTGlXRTtBSzdWRjtFQUNJLGdCQUFnQjtBTCtWcEI7O0FLNVZBOzsrRUxnVytFO0FLNVYvRTs7RUwrVkU7QUszVkY7RUFDSSxTQUFTO0FMNlZiOztBSzFWQTs7K0VMOFYrRTtBSzFWL0U7O0VMNlZFO0FLelZGO0VBQ0kseUJBQXlCO0VBQ3pCLGFBQWE7RUFDYiw4QkFBOEI7QUwyVmxDOztBS3hWQTs7O0VMNlZFO0FLeFZGO0VBQ0ksU0FBUztFQUFFO0VBQ1gsVUFBVTtFQUFFO0FMNFZoQjs7QUt6VkE7Ozs7RUwrVkU7QUt6VkY7Ozs7RUFJSSxvQkFBb0I7RUFBRTtFQUN0QixlQUFlO0VBQUU7RUFDakIsU0FBUztFQUFFO0FMOFZmOztBSzNWQTs7O0VMZ1dFO0FLM1ZGOztFQUVJLG1CQUFtQjtBTDZWdkI7O0FLMVZBOzs7OztFTGlXRTtBSzFWRjs7RUFFSSxvQkFBb0I7QUw0VnhCOztBS3pWQTs7Ozs7O0VMaVdFO0FLelZGOzs7O0VBSUksMEJBQTBCO0VBQUU7RUFDNUIsZUFBZTtFQUFFO0FMNlZyQjs7QUsxVkE7O0VMOFZFO0FLMVZGOzs7RUFHSSxlQUFlO0FMNFZuQjs7QUt6VkE7OztFTDhWRTtBS3pWRjs7RUFFSSxzQkFBc0I7RUFBRTtFQUN4QixVQUFVO0VBQUU7QUw2VmhCOztBSzFWQTs7OztFTGdXRTtBSzFWRjtFQUNJLDZCQUE2QjtFQUFFO0VBQy9CLDRCQUE0QjtFQUM1QiwrQkFBK0I7RUFBRTtFQUNqQyx1QkFBdUI7QUw4VjNCOztBSzNWQTs7O0VMZ1dFO0FLM1ZGOztFQUVJLHdCQUF3QjtBTDZWNUI7O0FLMVZBOztFTDhWRTtBSzFWRjs7RUFFSSxTQUFTO0VBQ1QsVUFBVTtBTDRWZDs7QUt6VkE7OztFTDhWRTtBS3pWRjtFQUNJLGNBQWM7RUFBRTtFQUNoQixtQkFBbUI7RUFBRTtBTDZWekI7O0FLMVZBOzsrRUw4VitFO0FLMVYvRTs7RUw2VkU7QUt6VkY7RUFDSSx5QkFBeUI7RUFDekIsaUJBQWlCO0FMMlZyQjs7QU10dUJBOzt1Q04wdUJ1QztBTXZ1QnZDOzs7RU4ydUJFO0FNcnVCRTs7S053dUJDO0FNcnVCRDtFRjJDQSw4QkV2QzhDO0VGd0MzQywyQkV4QzJDO0VGeUMxQywwQkV6QzBDO0VGMEN6Qyx5QkUxQ3lDO0VGMkN0QyxzQkUzQ3NDO0FOd3VCbEQ7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjs7Ozs7O0VBTUksU0FBUTtFQUNSLFVBQVM7QU5zdUJiOztBTW51QkE7O0VOdXVCRTtBTXB1QkY7RUFDSSxZQUFXO0FOc3VCZjs7QU1udUJBOztFTnV1QkU7QU1wdUJGO0VBQ0kscUJBQW9CO0FOc3VCeEI7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjtFQUNJLHdCQUF1QjtBTnN1QjNCOztBTW51QkE7O0VOdXVCRTtBS2xrQkY7RUNqS0ksa0JBQWlCO0FOc3VCckI7O0FNbnVCQTs7RU51dUJFO0FNcHVCRjs7Ozs7O0VBTUksZUFBYztBTnN1QmxCOztBTXB1Qkk7Ozs7RUFJSSxZQUFXO0VBQ1gsYUFBWTtBTnV1QnBCOztBT3J6QkE7O3VDUHl6QnVDO0FPdHpCdkM7Ozs7RVAyekJFO0FPdHpCRjtFQUVRLFdBQVU7RUFDVixjQUFhO0VBQ2IsV0FBVTtBUHV6QmxCOztBUW4wQkE7O3VDUnUwQnVDO0FRcDBCdkM7Ozs7RVJ5MEJFO0FRcDBCRjs7RVJ1MEJFO0FRcDBCRjs7Ozs7Ozs7Ozs7RUFjSSxtQlB5Sm1CO0VPeEpuQixxQkFBeUQ7QVJtMEI3RDs7QVFqMEJJOzs7Ozs7Ozs7O0VBQ0ksbUJBQW9DO0VBQ3BDLHNCQUErRDtBUjYwQnZFOztBUXgwQkE7O0VSNDBCRTtBUXowQkY7RUFDSSxtQkFBb0M7RUFDcEMsbUJBQTZEO0FSMjBCakU7O0FRdjBCQTs7O0VSNDBCRTtBSzN1QkY7RUc1RkksbUJBQXNDO0VBQ3RDLHVCQUFpRTtBUjAwQnJFOztBUXQwQkE7OztFUjIwQkU7QVF2MEJGO0VBQ0ksaUJBQWtDO0VBQ2xDLGlCQUEyRDtBUnkwQi9EOztBRTN1QkE7O0VGK3VCRTtBU3o0QkY7O3VDVDQ0QnVDO0FLNzBCdkM7RUkzREksd0JOOEMwQjtFTTdDMUIsa0JBQWlCO0VBQ2pCLGdCQUFlO0VBQ2YsWUFBWTtFQUNaLGtCQUFrQjtBVDI0QnRCOztBVW41QkE7O3VDVnU1QnVDO0FVcDVCdkM7Ozs7OztFVjI1QkU7QVVwNUJGO0VOR0ksZUQ0R29CO0VDM0dwQixrQkFBNkM7RUFFekMsb0JBQWdCO0FKbTVCeEI7O0FVdDVCQTtFTkFJLGVENkdvQjtFQzVHcEIsbUJBQTZDO0VBRXpDLGdCQUFnQjtBSnk1QnhCOztBVXo1QkE7RU5ISSxlRDhHb0I7RUM3R3BCLGlCQUE2QztFQUV6QyxjQUFnQjtBSis1QnhCOztBVTU1QkE7RU5OSSxlRCtHb0I7RUM5R3BCLGtCQUE2QztFQUV6QyxnQkFBZ0I7QUpxNkJ4Qjs7QVUvNUJBO0VOVEksZURnSG9CO0VDL0dwQixlQUE2QztFQUV6QyxnQkFBZ0I7QUoyNkJ4Qjs7QVVsNkJBO0VOWkksZURpSG9CO0VDaEhwQixtQkFBNkM7RUFFekMsb0JBQWdCO0FKaTdCeEI7O0FVbjZCQTs7Ozs7Ozs7O0VWODZCRTtBVWw2QkY7RUFDSSxnQkFBZTtBVm82Qm5COztBVWg2QkE7OztFVnE2QkU7QVVqNkJGO0VOdENJLGVEd0dvQjtFQ3ZHcEIsZUFBNkM7RUFFekMsY0FBZ0I7QUp5OEJ4Qjs7QVVuNkJBO0VOekNJLGVEeUdvQjtFQ3hHcEIsaUJBQTZDO0VBRXpDLGNBQWdCO0FKKzhCeEI7O0FVdDZCQTtFTjVDSSxlRDBHb0I7RUN6R3BCLGVBQTZDO0VBRXpDLGNBQWdCO0FKcTlCeEI7O0FXcitCQTs7dUNYeStCdUM7QVd0K0J2Qzs7O0VYMCtCRTtBV3QrQkY7O0VQTUksZU9KMEM7RVBLMUMsbUJBQTZDO0VBRXpDLG9CQUFnQjtBSm0rQnhCOztBWW4vQkE7O3VDWnUvQnVDO0FZcC9CdkM7O0VadS9CRTtBWXAvQkY7O0VST0ksZURtSG9CO0VDbEhwQixrQkFBNkM7RUFFekMsY0FBZ0I7QUpnL0J4Qjs7QVl0L0JBO0VSR0ksZURvSG9CO0VDbkhwQixtQkFBNkM7RUFFekMsZ0JBQWdCO0FKcy9CeEI7O0FhdGdDQTs7dUNiMGdDdUM7QWF2Z0N2Qzs7RWIwZ0NFO0FhamdDRjs7RWJvZ0NFO0FhaGdDRjs7RWJtZ0NFO0FLLzFCRjtFUWhLSSx1QkFBd0M7QWJrZ0M1Qzs7QWFuZ0NBO0VBSVEsZ0JBQWU7RUFDZixtQkFBa0I7QWJtZ0MxQjs7QWF4Z0NBO0VBUVEsZ0JBQWU7RUFDZixvQkFBbUI7QWJvZ0MzQjs7QWE3Z0NBO0VBYVEsZ0JBQWU7RUFDZixtQkFBa0I7QWJvZ0MxQjs7QWFsaENBO0VBaUJRLGdCQUFlO0VBQ2Ysb0JBQW1CO0FicWdDM0I7O0FhamdDQTtFQUNJLGVBQXdCO0Fib2dDNUI7O0FhcmdDQTtFQUlRLFlBQVE7RUFDUixtQkFBa0I7QWJxZ0MxQjs7QWExZ0NBO0VBUVEsV0FBVTtFQUNWLHVCQUFzQjtBYnNnQzlCOztBYS9nQ0E7RUFZUSxZQUFRO0VBQ1Isb0JBQW1CO0FidWdDM0I7O0FhcGhDQTtFQWlCUSxnQkFBZTtFQUNmLG1CQUFrQjtBYnVnQzFCOztBYXpoQ0E7RUFxQlEsZ0JBQWU7RUFDZixvQkFBbUI7QWJ3Z0MzQjs7QWFuZ0NBOzs7Ozs7OztFYjZnQ0U7QWF4aUNGO0VBcUNJOztNYnVnQ0U7RWFwZ0NGLG9CQUFtQjtBYnNnQ3ZCOztBYTFnQ0E7RUFPUSxnQkFBZTtBYnVnQ3ZCOztBYW5nQ0E7RUFDSSxjQUFhO0VBQ2IsY0FBYTtBYnNnQ2pCOztBYXhnQ0E7RUFLUSxnQkFBZTtBYnVnQ3ZCOztBY3BtQ0E7O3VDZHdtQ3VDO0Fjcm1DdkM7O0Vkd21DRTtBSy83QkY7RVNyS0ksY0FBYTtBZHVtQ2pCOztBY3JtQ0k7RUFDSSxnQkFBZTtFQUNmLHdCQUF1QjtFQUN2QixjQUFhO0Fkd21DckI7O0FjcG1DQTs7Ozs7RWQybUNFO0Fjcm1DRjtFQUNJOztNZHdtQ0U7RWNybUNGLGFBQVk7RUFDWix5QkFBd0I7QWR1bUM1Qjs7QWNubUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RWQwbkNFO0FjcG1DRjtFQUNJLDZCQUE0QjtFQUFZO0VBQ3hDLHVDQUFzQztFQUFFO0VBQ3hDLG1CQUFrQjtFQUFzQjtFQUN4QyxjQUFhO0VBQTJCO0VBQ3hDLGNBQWE7QWQwbUNqQjs7QWN4bUNJO0VBQ0ksZ0JBQWU7RUFBcUI7QWQ0bUM1Qzs7QWV6cUNBOzt1Q2Y2cUN1QztBZTFxQ3ZDOztFZjZxQ0U7QWUxcUNGOztFZjZxQ0U7QUt2OUJGO0VVbE5JLGVBQWM7QWY0cUNsQjs7QWV4cUNBOztFZjRxQ0U7QWV6cUNGOztFQUVJLGVBQWM7QWYycUNsQjs7QWV2cUNBOztFZjJxQ0U7QWV4cUNGO0VBQWMsa0Jab0pVO0FIdWhDeEI7O0FleHFDQTs7RWY0cUNFO0FlenFDRjtFQUNJLFlBQVc7RUFDWCxtQmRnSm1CO0VjL0luQixpQmQrSW1CO0FENGhDdkI7O0FlenFDQTtFQUNJLFdBQVU7RUFDVixrQmQySW1CO0VjMUluQixtQmQwSW1CO0FEa2lDdkI7O0FlMXFDQTtFQUNJLGNBQWE7RUFDYixrQkFBaUI7RUFDakIsbUJkcUltQjtFY3BJbkIsaUJBQWdCO0FmNnFDcEI7O0FlenFDQTs7Ozs7RWZnckNFO0FlMXFDRjtFQUNJLGFBQTZCO0FmNHFDakM7O0FlMXFDQTtFQUNJLGFBQThCO0FmNnFDbEM7O0FlM3FDQTtFQUNJLGFBQThCO0FmOHFDbEM7O0FlMXFDQTs7RWY4cUNFO0FlM3FDRjtFQUNJLGNBQWE7QWY2cUNqQjs7QWdCcHZDQTs7dUNoQnd2Q3VDO0FnQnJ2Q3ZDOztFaEJ3dkNFO0FnQnJ2Q0Y7O0VBR1MsZ0JBQWU7QWhCc3ZDeEI7O0FnQmx2Q0E7O0VoQnN2Q0U7QWdCbnZDRjtBQUFNO0VBQ0Ysd0JBQXVCO0FoQnN2QzNCOztBaUJ2d0NBOzt1Q2pCMndDdUM7QWlCeHdDdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VqQjh6Q0U7QUt4N0JGO0VZL1VJLFdBQVU7QWpCMHdDZDs7QWlCeHdDQTs7RUFFSSxZQUE4QjtFQUk5QixnQkFBZTtBakJ3d0NuQjs7QWlCM3dDSTtFQUhKOztJQUlRLGFkZ0trQztFSGduQ3hDO0FBQ0Y7O0FpQjN3Q0E7O0VqQit3Q0U7QUFDRjtFaUI1d0NJLGtCQUFpQjtBakI4d0NyQjs7QUFFQTtFaUI3d0NJLGdCQUFlO0FqQit3Q25COztBQUVBO0VpQjl3Q0ksc0JBQXFCO0FqQmd4Q3pCOztBQUVBO0VpQi93Q0ksbUJBQWtCO0FqQml4Q3RCOztBaUIvd0NBO0VBQ0ksaUJBQWdCO0FqQmt4Q3BCOztBaUIvd0NBOzs7OztFakJzeENFO0FpQmh4Q0Y7RUFBVSxTQUFVO0FqQm14Q3BCOztBaUJseENBO0VBQVUsVUFBVTtBakJzeENwQjs7QWlCcnhDQTtFQUFVLFlBQVk7QWpCeXhDdEI7O0FpQnp4QzRCO0FBQzVCO0VBQVUsVUFBVTtBakI2eENwQjs7QWlCNXhDQTtFQUFVLFVBQVU7QWpCZ3lDcEI7O0FpQi94Q0E7RUFBVSxVQUFVO0FqQm15Q3BCOztBaUJueUM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCdXlDcEI7O0FpQnR5Q0E7RUFBVSxjQUFjO0FqQjB5Q3hCOztBaUIxeUM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCOHlDcEI7O0FpQjd5Q0E7RUFBVSxZQUFZO0FqQml6Q3RCOztBaUJqekM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCcXpDcEI7O0FpQnB6Q0E7RUFBVSxVQUFVO0FqQnd6Q3BCOztBaUJ2ekNBO0VBQVUsVUFBVTtBakIyekNwQjs7QWlCM3pDNEI7QUFDNUI7RUFBVSxVQUFVO0FqQit6Q3BCOztBaUI5ekNBO0VBQVUsVUFBVTtBakJrMENwQjs7QWlCajBDQTtFQUFVLFlBQVk7QWpCcTBDdEI7O0FpQnIwQzRCO0FBQzVCO0VBQVUsVUFBVTtBakJ5MENwQjs7QWlCeDBDQTtFQUFVLGNBQWM7QWpCNDBDeEI7O0FpQjUwQzRCO0FBQzVCO0VBQVUsVUFBVTtBakJnMUNwQjs7QWlCLzBDQTtFQUFVLFVBQVU7QWpCbTFDcEI7O0FpQm4xQzRCO0FBQzVCO0VBQVUsVUFBVTtBakJ1MUNwQjs7QWlCdDFDQTtFQUFVLFVBQVU7QWpCMDFDcEI7O0FpQnoxQ0E7RUFBVSxZQUFZO0FqQjYxQ3RCOztBaUI3MUM0QjtBQUM1QjtFQUFVLFVBQVU7QWpCaTJDcEI7O0FpQmgyQ0E7RUFBVSxVQUFVO0FqQm8yQ3BCOztBaUJqMkNBOztFakJxMkNFO0FpQmwyQ0Y7O0VBSVEsc0JkMUVnQjtBSDQ2Q3hCOztBaUJ0MkNBOztFQU9ZLFlBQVc7QWpCbzJDdkI7O0FpQjMyQ0E7RUFZUSx3QkFBdUI7QWpCbTJDL0I7O0FpQi8yQ0E7RUFnQlEsdUJBQXNCO0FqQm0yQzlCOztBaUI5MUNBOztFakJrMkNFO0FpQi8xQ0Y7RUFHUSxzQkFBcUI7RUFBRTtBakJnMkMvQjs7QWlCMzFDQTs7RWpCKzFDRTtBaUI1MUNGO0VBQ0kseUJBQXdCO0FqQjgxQzVCOztBa0IvL0NBOzt1Q2xCbWdEdUM7QWtCaGdEdkM7Ozs7RWxCcWdERTtBSzV3Q0Y7RWFuUEksYWpCeUttQjtBRHkxQ3ZCOztBa0I5L0NBOzs7Ozs7Ozs7RWxCeWdERTtBa0IvL0NGOztFQUVJOztNbEJrZ0RFO0FBQ047O0FrQjcvQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztFbEJpaERFO0FrQjkvQ0Y7RUFDSSxnQkFBZTtFQUNmLFNBQVE7QWxCZ2dEWjs7QWtCMy9DSTtFQUNJLGdCQUFlO0FsQjgvQ3ZCOztBa0IxL0NBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VsQnFoREU7QWtCMy9DRjs7RUFFSSxjQUFhO0FsQjYvQ2pCOztBa0IzL0NJOzs7OztNbEJrZ0RFO0FrQjUvQ0Y7RUFDSSxjQUFhO0VBQ2IsbUJBQWtCO0FsQjgvQzFCOztBa0IxL0NBOzs7Ozs7Ozs7Ozs7OztFbEIwZ0RFO0FrQjMvQ0Y7RUFDSSxnQkFBZTtFQUNmLFNBQVE7QWxCNi9DWjs7QWtCMy9DSTs7TWxCKy9DRTtBa0I1L0NGOzs7RUFHSSxxQkFBb0I7QWxCOC9DNUI7O0FrQjEvQ0E7Ozs7Ozs7Ozs7Ozs7O0VsQjBnREU7QWtCMy9DRjtFQUNJLHFCQUFvQjtFQUNwQixhQUFZO0FsQjYvQ2hCOztBa0J6L0NBOzs7Ozs7Ozs7OztFbEJzZ0RFO0FrQjEvQ0Y7QUFBUztFQUNMLHFCQUFvQjtFQUNwQixrQkFBaUI7QWxCNi9DckI7O0FrQjMvQ0E7O0VBRUksbUJBQWtCO0FsQjgvQ3RCOztBRTkvQ0E7O0VGa2dERTtBbUI1cURGOzt1Q25CK3FEdUM7QW1CNXFEdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VuQjBzREU7QW1CMXFERjs7RW5CNnFERTtBbUIxcURGO0VBQ0ksa0JsQnlJbUI7RWtCeEluQixnQkFBZTtFQUNmLGdCQUFlO0FuQjRxRG5COztBbUJ4cURJOztNbkI0cURFO0FtQnpxREY7RUFDSSxjQUFhO0FuQjJxRHJCOztBbUJ2cURJOztNbkIycURFO0FtQnhxREY7RUFDSSxxQkFBb0I7RUFDcEIsV0FBVTtFQUNWLGtCbEJxSGU7RWtCcEhmLG1CQUFrQjtBbkIwcUQxQjs7QW9CdHVEQTs7dUNwQjB1RHVDO0FvQnZ1RHZDOzs7Ozs7Ozs7Ozs7OztFcEJzdkRFO0FvQnZ1REY7RUFDSSxnQkFBZTtFQUNmLGNBQWE7QXBCeXVEakI7O0FvQjN1REE7O0VBU1kscUJBQW9CO0dBQ3JCLGVBQWU7RUFDZCxPQUFNO0FwQnV1RGxCOztBb0JqdURBOzs7Ozs7Ozs7O0VwQjZ1REU7QW9CbHVERjtFQUdRLGtCQUFpQjtBcEJrdUR6Qjs7QW9CcnVEQTtFQU1ZLGNBQWE7QXBCbXVEekI7O0FvQjd0REE7Ozs7Ozs7Ozs7RXBCeXVERTtBb0I5dERGO0VBQ0ksa0JBQWlCO0FwQmd1RHJCOztBb0I1dERBOzs7Ozs7Ozs7O0VwQnd1REU7QW9CN3RERjtFQUNJLGNBQWE7RUFDYjs7TXBCZ3VERTtFb0I3dERGLHVCQUFzQjtFQUN0QixxQkFBb0I7RUFDcEIsbUJBQWtCO0FwQit0RHRCOztBb0J0dURBO0VBVVEsc0JBQXFCO0VBQ3JCLG9CQUFtQjtBcEJndUQzQjs7QW9CM3VEQTtFQWNZLGFqQjJIOEI7QUhzbUQxQzs7QW9CM3REQTs7Ozs7Ozs7Ozs7O0VwQnl1REU7QW9CNXRERjtFQUNJLGNBQWE7RUFDYixXQUFVO0FwQjh0RGQ7O0FvQmh1REE7RUFLUSxtQkFBa0I7QXBCK3REMUI7O0FvQnB1REE7RUFRWSxjQUFhO0FwQmd1RHpCOztBb0IxdERBOzs7OztFcEJpdURFO0FvQjN0REY7RUFLWSx3QkFBdUI7QXBCeXREbkM7O0FvQjl0REE7RUFTWSxhQUFZO0FwQnl0RHhCOztBcUI1MkRBOzt1Q3JCZzNEdUM7QXFCNzJEdkM7Ozs7Ozs7Ozs7Ozs7RXJCMjNERTtBcUI3MkRGO0VBQ0ksY0FBYTtBckIrMkRqQjs7QXFCNTJESTtFQUNJLFdBQVU7RUFDVixrQnBCeUplO0FEc3REdkI7O0FxQjcyREk7O01yQmkzREU7QXFCOTJERjtFQUNJLFlBQVc7RUFDWCxpQnBCa0plO0FEOHREdkI7O0FxQjcyRFE7O0VBRUksY0FBYTtBckJnM0R6Qjs7QXFCNzJESTtFQUNJLGdCQUFlO0FyQmczRHZCOztBcUI5MkRROztFQUVJLGdCQUFlO0FyQmkzRDNCOztBcUI3MkRJOztNckJpM0RFO0FxQjkyREY7RUFDSSxrQmxCMktrQztBSHFzRDFDOztBcUI5MkRJO0VBQ0ksaUJsQndLa0M7QUh5c0QxQzs7QUU3dERBOztFRml1REU7QXNCNzZERjs7dUN0Qmc3RHVDO0FzQjc2RHZDOzs7Ozs7O0V0QnE3REU7QXNCMzZERTs7S3RCODZEQztBc0IzNkREO0VBQWtDLFdBQVU7QXRCODZEaEQ7O0FzQjM2REk7O0t0Qis2REM7QXNCNTZERDtFQUFrQyxVQUFTO0F0Qis2RC9DOztBc0I1NkRJOztLdEJnN0RDO0FzQjc2REQ7RUFBa0MsY0FBYTtBdEJnN0RuRDs7QXNCLzZESTtFQUFrQyxjQUFhO0F0Qm03RG5EOztBc0JoN0RJOztLdEJvN0RDO0FzQmo3REQ7RUFBa0MsVUFBUztBdEJvN0QvQzs7QXNCbDdESTtFQUFrQyxVQUFTO0F0QnM3RC9DOztBc0JuN0RJOztLdEJ1N0RDO0FzQnA3REQ7RUFBa0MsVUFBUztBdEJ1N0QvQzs7QXNCdDdESTtFQUFrQyxVQUFTO0F0QjA3RC9DOztBc0J6N0RJO0VBQWtDLFVBQVM7QXRCNjdEL0M7O0FzQjU3REk7RUFBa0MsVUFBUztBdEJnOEQvQzs7QXNCNzdESTs7S3RCaThEQztBc0I5N0REO0VBQWtDLGNBQWE7QXRCaThEbkQ7O0FzQjc3REk7RUFBa0MsY0FBYTtBdEJpOERuRDs7QXNCOTdESTs7S3RCazhEQztBc0IvN0REO0VBQWtDLFlBQVc7QXRCazhEakQ7O0FzQmg4REk7RUFBa0MsWUFBVztBdEJvOERqRDs7QXNCbDhESTtFQUFrQyxZQUFXO0F0QnM4RGpEOztBc0JwOERJO0VBQWtDLFlBQVc7QXRCdzhEakQ7O0FzQnI4REk7O0t0Qnk4REM7QXNCdDhERDtFQUFrQyxVQUFTO0F0Qnk4RC9DOztBc0J2OERJO0VBQWtDLFVBQVM7QXRCMjhEL0M7O0FzQnY4REk7RUFBa0MsVUFBUztBdEIyOEQvQzs7QXNCejhESTtFQUFrQyxVQUFTO0F0QjY4RC9DOztBc0IxOERJOztLdEI4OERDO0FzQjM4REQ7RUFBa0MsYUFBWTtBdEI4OERsRDs7QXNCMThESTtFQUFrQyxjQUFjO0F0Qjg4RHBEOztBc0I1OERJO0VBQWtDLGNBQWE7QXRCZzlEbkQ7O0FzQjU4REk7RUFBa0MsY0FBYTtBdEJnOURuRDs7QXNCejhEQTs7Ozs7Ozs7Ozs7OztFdEJ3OURFO0FJN3hETTtFa0J2Uko7O0t0QndqRUM7RXNCcmpFRDtJQUFrQyxXQUFVO0V0QndqRTlDO0VzQnJqRUU7O0t0QndqRUM7RXNCcmpFRDtJQUFrQyxVQUFTO0V0QndqRTdDO0VzQnJqRUU7O0t0QndqRUM7RXNCcmpFRDtJQUFrQyxjQUFhO0V0QndqRWpEO0VzQnZqRUU7SUFBa0MsY0FBYTtFdEIwakVqRDtFc0J2akVFOztLdEIwakVDO0VzQnZqRUQ7SUFBa0MsVUFBUztFdEIwakU3QztFc0J4akVFO0lBQWtDLFVBQVM7RXRCMmpFN0M7RXNCeGpFRTs7S3RCMmpFQztFc0J4akVEO0lBQWtDLFVBQVM7RXRCMmpFN0M7RXNCMWpFRTtJQUFrQyxVQUFTO0V0QjZqRTdDO0VzQjVqRUU7SUFBa0MsVUFBUztFdEIrakU3QztFc0I5akVFO0lBQWtDLFVBQVM7RXRCaWtFN0M7RXNCOWpFRTs7S3RCaWtFQztFc0I5akVEO0lBQWtDLGNBQWE7RXRCaWtFakQ7RXNCN2pFRTtJQUFrQyxjQUFhO0V0QmdrRWpEO0VzQjdqRUU7O0t0QmdrRUM7RXNCN2pFRDtJQUFrQyxZQUFXO0V0QmdrRS9DO0VzQjlqRUU7SUFBa0MsWUFBVztFdEJpa0UvQztFc0IvakVFO0lBQWtDLFlBQVc7RXRCa2tFL0M7RXNCaGtFRTtJQUFrQyxZQUFXO0V0Qm1rRS9DO0VzQmhrRUU7O0t0Qm1rRUM7RXNCaGtFRDtJQUFrQyxVQUFTO0V0Qm1rRTdDO0VzQmprRUU7SUFBa0MsVUFBUztFdEJva0U3QztFc0Joa0VFO0lBQWtDLFVBQVM7RXRCbWtFN0M7RXNCamtFRTtJQUFrQyxVQUFTO0V0Qm9rRTdDO0VzQmprRUU7O0t0Qm9rRUM7RXNCamtFRDtJQUFrQyxhQUFZO0V0Qm9rRWhEO0VzQmhrRUU7SUFBa0MsY0FBYztFdEJta0VsRDtFc0Jqa0VFO0lBQWtDLGNBQWE7RXRCb2tFakQ7RXNCaGtFRTtJQUFrQyxjQUFhO0V0Qm1rRWpEO0FBQ0Y7O0FJNTNEUTtFa0I3Uko7O0t0QjhwRUM7RXNCM3BFRDtJQUFrQyxXQUFVO0V0QjhwRTlDO0VzQjNwRUU7O0t0QjhwRUM7RXNCM3BFRDtJQUFrQyxVQUFTO0V0QjhwRTdDO0VzQjNwRUU7O0t0QjhwRUM7RXNCM3BFRDtJQUFrQyxjQUFhO0V0QjhwRWpEO0VzQjdwRUU7SUFBa0MsY0FBYTtFdEJncUVqRDtFc0I3cEVFOztLdEJncUVDO0VzQjdwRUQ7SUFBa0MsVUFBUztFdEJncUU3QztFc0I5cEVFO0lBQWtDLFVBQVM7RXRCaXFFN0M7RXNCOXBFRTs7S3RCaXFFQztFc0I5cEVEO0lBQWtDLFVBQVM7RXRCaXFFN0M7RXNCaHFFRTtJQUFrQyxVQUFTO0V0Qm1xRTdDO0VzQmxxRUU7SUFBa0MsVUFBUztFdEJxcUU3QztFc0JwcUVFO0lBQWtDLFVBQVM7RXRCdXFFN0M7RXNCcHFFRTs7S3RCdXFFQztFc0JwcUVEO0lBQWtDLGNBQWE7RXRCdXFFakQ7RXNCbnFFRTtJQUFrQyxjQUFhO0V0QnNxRWpEO0VzQm5xRUU7O0t0QnNxRUM7RXNCbnFFRDtJQUFrQyxZQUFXO0V0QnNxRS9DO0VzQnBxRUU7SUFBa0MsWUFBVztFdEJ1cUUvQztFc0JycUVFO0lBQWtDLFlBQVc7RXRCd3FFL0M7RXNCdHFFRTtJQUFrQyxZQUFXO0V0QnlxRS9DO0VzQnRxRUU7O0t0QnlxRUM7RXNCdHFFRDtJQUFrQyxVQUFTO0V0QnlxRTdDO0VzQnZxRUU7SUFBa0MsVUFBUztFdEIwcUU3QztFc0J0cUVFO0lBQWtDLFVBQVM7RXRCeXFFN0M7RXNCdnFFRTtJQUFrQyxVQUFTO0V0QjBxRTdDO0VzQnZxRUU7O0t0QjBxRUM7RXNCdnFFRDtJQUFrQyxhQUFZO0V0QjBxRWhEO0VzQnRxRUU7SUFBa0MsY0FBYztFdEJ5cUVsRDtFc0J2cUVFO0lBQWtDLGNBQWE7RXRCMHFFakQ7RXNCdHFFRTtJQUFrQyxjQUFhO0V0QnlxRWpEO0FBQ0Y7O0FJNTlEUTtFa0JuU0o7O0t0Qm93RUM7RXNCandFRDtJQUFrQyxXQUFVO0V0Qm93RTlDO0VzQmp3RUU7O0t0Qm93RUM7RXNCandFRDtJQUFrQyxVQUFTO0V0Qm93RTdDO0VzQmp3RUU7O0t0Qm93RUM7RXNCandFRDtJQUFrQyxjQUFhO0V0Qm93RWpEO0VzQm53RUU7SUFBa0MsY0FBYTtFdEJzd0VqRDtFc0Jud0VFOztLdEJzd0VDO0VzQm53RUQ7SUFBa0MsVUFBUztFdEJzd0U3QztFc0Jwd0VFO0lBQWtDLFVBQVM7RXRCdXdFN0M7RXNCcHdFRTs7S3RCdXdFQztFc0Jwd0VEO0lBQWtDLFVBQVM7RXRCdXdFN0M7RXNCdHdFRTtJQUFrQyxVQUFTO0V0Qnl3RTdDO0VzQnh3RUU7SUFBa0MsVUFBUztFdEIyd0U3QztFc0Ixd0VFO0lBQWtDLFVBQVM7RXRCNndFN0M7RXNCMXdFRTs7S3RCNndFQztFc0Ixd0VEO0lBQWtDLGNBQWE7RXRCNndFakQ7RXNCendFRTtJQUFrQyxjQUFhO0V0QjR3RWpEO0VzQnp3RUU7O0t0QjR3RUM7RXNCendFRDtJQUFrQyxZQUFXO0V0QjR3RS9DO0VzQjF3RUU7SUFBa0MsWUFBVztFdEI2d0UvQztFc0Izd0VFO0lBQWtDLFlBQVc7RXRCOHdFL0M7RXNCNXdFRTtJQUFrQyxZQUFXO0V0Qit3RS9DO0VzQjV3RUU7O0t0Qit3RUM7RXNCNXdFRDtJQUFrQyxVQUFTO0V0Qit3RTdDO0VzQjd3RUU7SUFBa0MsVUFBUztFdEJneEU3QztFc0I1d0VFO0lBQWtDLFVBQVM7RXRCK3dFN0M7RXNCN3dFRTtJQUFrQyxVQUFTO0V0Qmd4RTdDO0VzQjd3RUU7O0t0Qmd4RUM7RXNCN3dFRDtJQUFrQyxhQUFZO0V0Qmd4RWhEO0VzQjV3RUU7SUFBa0MsY0FBYztFdEIrd0VsRDtFc0I3d0VFO0lBQWtDLGNBQWE7RXRCZ3hFakQ7RXNCNXdFRTtJQUFrQyxjQUFhO0V0Qit3RWpEO0FBQ0Y7O0FJNWpFUTtFa0J6U0o7O0t0QjAyRUM7RXNCdjJFRDtJQUFrQyxXQUFVO0V0QjAyRTlDO0VzQnYyRUU7O0t0QjAyRUM7RXNCdjJFRDtJQUFrQyxVQUFTO0V0QjAyRTdDO0VzQnYyRUU7O0t0QjAyRUM7RXNCdjJFRDtJQUFrQyxjQUFhO0V0QjAyRWpEO0VzQnoyRUU7SUFBa0MsY0FBYTtFdEI0MkVqRDtFc0J6MkVFOztLdEI0MkVDO0VzQnoyRUQ7SUFBa0MsVUFBUztFdEI0MkU3QztFc0IxMkVFO0lBQWtDLFVBQVM7RXRCNjJFN0M7RXNCMTJFRTs7S3RCNjJFQztFc0IxMkVEO0lBQWtDLFVBQVM7RXRCNjJFN0M7RXNCNTJFRTtJQUFrQyxVQUFTO0V0QisyRTdDO0VzQjkyRUU7SUFBa0MsVUFBUztFdEJpM0U3QztFc0JoM0VFO0lBQWtDLFVBQVM7RXRCbTNFN0M7RXNCaDNFRTs7S3RCbTNFQztFc0JoM0VEO0lBQWtDLGNBQWE7RXRCbTNFakQ7RXNCLzJFRTtJQUFrQyxjQUFhO0V0QmszRWpEO0VzQi8yRUU7O0t0QmszRUM7RXNCLzJFRDtJQUFrQyxZQUFXO0V0QmszRS9DO0VzQmgzRUU7SUFBa0MsWUFBVztFdEJtM0UvQztFc0JqM0VFO0lBQWtDLFlBQVc7RXRCbzNFL0M7RXNCbDNFRTtJQUFrQyxZQUFXO0V0QnEzRS9DO0VzQmwzRUU7O0t0QnEzRUM7RXNCbDNFRDtJQUFrQyxVQUFTO0V0QnEzRTdDO0VzQm4zRUU7SUFBa0MsVUFBUztFdEJzM0U3QztFc0JsM0VFO0lBQWtDLFVBQVM7RXRCcTNFN0M7RXNCbjNFRTtJQUFrQyxVQUFTO0V0QnMzRTdDO0VzQm4zRUU7O0t0QnMzRUM7RXNCbjNFRDtJQUFrQyxhQUFZO0V0QnMzRWhEO0VzQmwzRUU7SUFBa0MsY0FBYztFdEJxM0VsRDtFc0JuM0VFO0lBQWtDLGNBQWE7RXRCczNFakQ7RXNCbDNFRTtJQUFrQyxjQUFhO0V0QnEzRWpEO0FBQ0Y7O0FJNXBFUTtFa0IvU0o7O0t0Qmc5RUM7RXNCNzhFRDtJQUFrQyxXQUFVO0V0Qmc5RTlDO0VzQjc4RUU7O0t0Qmc5RUM7RXNCNzhFRDtJQUFrQyxVQUFTO0V0Qmc5RTdDO0VzQjc4RUU7O0t0Qmc5RUM7RXNCNzhFRDtJQUFrQyxjQUFhO0V0Qmc5RWpEO0VzQi84RUU7SUFBa0MsY0FBYTtFdEJrOUVqRDtFc0IvOEVFOztLdEJrOUVDO0VzQi84RUQ7SUFBa0MsVUFBUztFdEJrOUU3QztFc0JoOUVFO0lBQWtDLFVBQVM7RXRCbTlFN0M7RXNCaDlFRTs7S3RCbTlFQztFc0JoOUVEO0lBQWtDLFVBQVM7RXRCbTlFN0M7RXNCbDlFRTtJQUFrQyxVQUFTO0V0QnE5RTdDO0VzQnA5RUU7SUFBa0MsVUFBUztFdEJ1OUU3QztFc0J0OUVFO0lBQWtDLFVBQVM7RXRCeTlFN0M7RXNCdDlFRTs7S3RCeTlFQztFc0J0OUVEO0lBQWtDLGNBQWE7RXRCeTlFakQ7RXNCcjlFRTtJQUFrQyxjQUFhO0V0Qnc5RWpEO0VzQnI5RUU7O0t0Qnc5RUM7RXNCcjlFRDtJQUFrQyxZQUFXO0V0Qnc5RS9DO0VzQnQ5RUU7SUFBa0MsWUFBVztFdEJ5OUUvQztFc0J2OUVFO0lBQWtDLFlBQVc7RXRCMDlFL0M7RXNCeDlFRTtJQUFrQyxZQUFXO0V0QjI5RS9DO0VzQng5RUU7O0t0QjI5RUM7RXNCeDlFRDtJQUFrQyxVQUFTO0V0QjI5RTdDO0VzQno5RUU7SUFBa0MsVUFBUztFdEI0OUU3QztFc0J4OUVFO0lBQWtDLFVBQVM7RXRCMjlFN0M7RXNCejlFRTtJQUFrQyxVQUFTO0V0QjQ5RTdDO0VzQno5RUU7O0t0QjQ5RUM7RXNCejlFRDtJQUFrQyxhQUFZO0V0QjQ5RWhEO0VzQng5RUU7SUFBa0MsY0FBYztFdEIyOUVsRDtFc0J6OUVFO0lBQWtDLGNBQWE7RXRCNDlFakQ7RXNCeDlFRTtJQUFrQyxjQUFhO0V0QjI5RWpEO0FBQ0Y7O0FzQi82RUE7Ozs7RXRCcTdFRTtBc0J2NkVBO0FDN0pGOzt1Q3ZCd2tGdUM7QXVCcmtGdkM7O0V2QndrRkU7QXdCM2tGRjs7dUN4QjhrRnVDO0F3QjNrRnZDOztFeEI4a0ZFO0F5QmpsRkY7O3VDekJvbEZ1QztBeUJqbEZ2Qzs7O0V6QnFsRkU7QXlCamxGRjtFQUNJLG1EQUFtQztFQUNuQyx3QkFBOEI7QXpCbWxGbEM7O0F5QmpsRkE7RUFDSSxtREFBbUM7QXpCb2xGdkM7O0F5QmxsRkE7O0VBRUksd0JBQThCO0F6QnFsRmxDOztBMEJybUZBOzt1QzFCeW1GdUM7QTBCdG1GdkM7Ozs7Ozs7O0UxQittRkU7QTBCcG1GRjs7RTFCdW1GRTtBMEJwbUZGO0VBQWtCLHVCQUFxQjtBMUJ1bUZ2Qzs7QTBCdG1GQTtFQUFrQixzQkFBcUI7QTFCMG1GdkM7O0EwQnptRkE7RUFBa0Isc0JBQXFCO0ExQjZtRnZDOztBMEIxbUZBOztFMUI4bUZFO0EwQjNtRkY7RUFBa0IsNEJBQTJCO0ExQjhtRjdDOztBMEI3bUZBO0VBQWtCLDZCQUEyQjtBMUJpbkY3Qzs7QTBCaG5GQTtFQUFrQiw0QkFBMkI7QTFCb25GN0M7O0EwQmpuRkE7O0UxQnFuRkU7QTBCbG5GRjtFQUFzQiwyQkFBeUI7QTFCcW5GL0M7O0EwQnBuRkE7RUFBc0IsMkJBQXlCO0ExQnduRi9DOztBMEJ2bkZBO0VBQXNCLDJCQUF5QjtBMUIybkYvQzs7QTBCeG5GQTs7RTFCNG5GRTtBMEJ6bkZGO0VBQWtCLHVCQUEwQztBMUI0bkY1RDs7QTBCM25GQTtFQUFrQiwyQkFBMEM7QTFCK25GNUQ7O0EwQjluRkE7RUFBa0IsNkJBQTBDO0ExQmtvRjVEOztBMEJqb0ZBO0VBQWtCLDhCQUEwQztBMUJxb0Y1RDs7QTBCcG9GQTtFQUFrQiw0QkFBMEM7QTFCd29GNUQ7O0EwQnZvRkE7RUFBa0IsMkJBQTBDO0VBQUUsOEJBQTBDO0ExQjRvRnhHOztBMEIzb0ZBO0VBQWtCLDZCQUEwQztFQUFFLDRCQUEwQztBMUJncEZ4Rzs7QTBCOW9GQTtFQUFzQix1QkFBMEM7QTFCa3BGaEU7O0EwQmpwRkE7RUFBc0IsMkJBQTBDO0ExQnFwRmhFOztBMEJwcEZBO0VBQXNCLDZCQUEwQztBMUJ3cEZoRTs7QTBCdnBGQTtFQUFzQiw4QkFBMEM7QTFCMnBGaEU7O0EwQjFwRkE7RUFBc0IsNEJBQTBDO0ExQjhwRmhFOztBMEI3cEZBO0VBQXNCLDJCQUEwQztFQUFFLDhCQUEwQztBMUJrcUY1Rzs7QTBCanFGQTtFQUFzQiw2QkFBMEM7RUFBRSw0QkFBMEM7QTFCc3FGNUc7O0EwQnBxRkE7RUFBa0Isb0JBQXlCO0ExQndxRjNDOztBMEJ2cUZBO0VBQWtCLHdCQUF5QjtBMUIycUYzQzs7QTBCMXFGQTtFQUFrQiwwQkFBeUI7QTFCOHFGM0M7O0EwQjdxRkE7RUFBa0IsMkJBQXlCO0ExQmlyRjNDOztBMEJockZBO0VBQWtCLHlCQUF5QjtBMUJvckYzQzs7QTBCbnJGQTtFQUFrQix3QkFBeUI7RUFBRSwyQkFBeUI7QTFCd3JGdEU7O0EwQnZyRkE7RUFBa0IsMEJBQXlCO0VBQUUseUJBQXlCO0ExQjRyRnRFOztBMEJ6ckZBOztFMUI2ckZFO0EwQjFyRkY7RUFBa0Isd0JBQTJDO0ExQjZyRjdEOztBMEI1ckZBO0VBQWtCLDRCQUEyQztBMUJnc0Y3RDs7QTBCL3JGQTtFQUFrQiw4QkFBMkM7QTFCbXNGN0Q7O0EwQmxzRkE7RUFBa0IsK0JBQTJDO0ExQnNzRjdEOztBMEJyc0ZBO0VBQWtCLDZCQUEyQztBMUJ5c0Y3RDs7QTBCeHNGQTtFQUFrQiw0QkFBMkM7RUFBRSwrQkFBMkM7QTFCNnNGMUc7O0EwQjVzRkE7RUFBa0IsOEJBQTJDO0VBQUUsNkJBQTJDO0ExQml0RjFHOztBMEIvc0ZBO0VBQXVCLHdCQUEyQztBMUJtdEZsRTs7QTBCbHRGQTtFQUF1Qiw0QkFBMkM7QTFCc3RGbEU7O0EwQnJ0RkE7RUFBdUIsOEJBQTJDO0ExQnl0RmxFOztBMEJ4dEZBO0VBQXVCLCtCQUEyQztBMUI0dEZsRTs7QTBCM3RGQTtFQUF1Qiw2QkFBMkM7QTFCK3RGbEU7O0EwQjl0RkE7RUFBdUIsNEJBQTJDO0VBQUUsK0JBQTJDO0ExQm11Ri9HOztBMEJsdUZBO0VBQXVCLDhCQUEyQztFQUFFLDZCQUEyQztBMUJ1dUYvRzs7QTBCcnVGQTtFQUFrQixxQkFBMEI7QTFCeXVGNUM7O0EwQnh1RkE7RUFBa0IseUJBQTBCO0ExQjR1RjVDOztBMEIzdUZBO0VBQWtCLDJCQUEwQjtBMUIrdUY1Qzs7QTBCOXVGQTtFQUFrQiw0QkFBMEI7QTFCa3ZGNUM7O0EwQmp2RkE7RUFBa0IsMEJBQTBCO0ExQnF2RjVDOztBMEJwdkZBO0VBQWtCLHlCQUEwQjtFQUFFLDRCQUEwQjtBMUJ5dkZ4RTs7QTBCeHZGQTtFQUFrQiwyQkFBMEI7RUFBRSwwQkFBMEI7QTFCNnZGeEU7O0EwQjF2RkE7O0UxQjh2RkU7QTBCM3ZGRjtFQUNJLDhCQUEwQztFQUMxQyw2QkFBMEM7QTFCNnZGOUM7O0EwQjN2Rkk7RUFDSSw4QkFBNEM7RUFDNUMsNkJBQTRDO0ExQjh2RnBEOztBMEJ6dkZBOzs7RTFCOHZGRTtBMEIxdkZGO0VBQ0ksdUJBQXFCO0ExQjR2RnpCOztBMEJ4dkZBOztFMUI0dkZFO0EwQnp2RkY7RUFDSSx1QkFBcUI7RUFDckIsb0NBQW9DO0ExQjJ2RnhDOztBMEJ2dkZBOzs7OztFMUI4dkZFO0EwQnh2RkY7RUFDSSw0QkFBMEI7QTFCMHZGOUI7O0EwQnR2RkE7Ozs7O0UxQjZ2RkU7QTBCdnZGRjtFQUNJLDJCQUFpQztBMUJ5dkZyQzs7QTBCcnZGQTs7RTFCeXZGRTtBMEJ0dkZGO0VBQ0ksb0NBQWtDO0ExQnd2RnRDOztBMEJwdkZBOzs7RTFCeXZGRTtBMEIzdUZGOztFQVRJLG9CQUFr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LG1CQUE2QztFQUV6QyxvQkFBZ0I7RXlCNE9oQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0E3Qm1xR3hCOztBNkJ2cUdBO0V6QjVPSSxleUJtUDJCO0V6QmxQM0IsbUJBQTZDO0VBRXpDLG9CQUFnQjtFd0I2U3BCLGtCQUFrQjtBNUIwbUd0Qjs7QTZCOXFHQTtFekI1T0ksZXlCdVAyQjtFekJ0UDNCLGVBQTZDO0VBRXpDLGdCQUFnQjtFd0JpU3ZCLGdCQUFnQjtBNUI2bkdqQjs7QTZCcnJHQTtFRGdFQyxnQkFBZ0I7RUNqREwscUJBQXFCO0E3QjJxR2pDOztBQUVBO0U2QnpxR1ksYUFBYTtBN0IycUd6Qjs7QTZCOXJHQTtFRGdFQyxnQkFBZ0I7RUN4Q1QsaUJBQXFCO0VBQ3JCLG1CNUJoR2U7QUQyd0d2Qjs7QTZCenFHSTtFQTNCSjtJekI1T0ksZXlCeVErQjtJekJ4US9CLGtCQUE2QztJQUV6QyxvQkFBZ0I7SXlCdVFaLGlCQUFpQjtFN0I4cUczQjtFNkI1c0dGO0l6QjVPSSxleUI2UStCO0l6QjVRL0IsaUJBQTZDO0lBRXpDLGNBQWdCO0VKMDdHdEI7QUFDRjs7QTZCNXFHQTtFQUNJLG1CNUI5R21CO0FENnhHdkI7O0E2QmhyR0E7RUFHUSxjQUFjO0E3QmlyR3RCOztBNkJwckdBO0VBTVEsbUI1QnhOaUI7RTRCeU5qQixXNUJoUFU7RTRCaVBWLGlCQUEwQjtBN0JrckdsQzs7QTZCOXFHQTtFQUVJLGdCQUFnQjtBN0JnckdwQjs7QTZCbHJHQTtFQUlRLG1CNUI3SGU7QUQreUd2Qjs7QTZCdHJHQTtFQU9RLG1CNUJoSWU7QURtekd2Qjs7QTZCMXJHQTtFQVNZLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsWUFBWTtFQUNaLFdBQVc7QTdCcXJHdkI7O0E2QmpzR0E7RUFnQlEsbUI1QnpJZTtBRDh6R3ZCOztBNkJyc0dBO0VBbUJRLG1CNUI1SWU7QURrMEd2Qjs7QTZCbHJHQTtFekJyVEksZXlCdVQyQjtFekJ0VDNCLGVBQTZDO0VBRXpDLGdCQUFnQjtFeUJxVGhCLG1CQUFtQjtBN0JzckczQjs7QTZCbHJHQTtFQUNJLGdCQUFvQjtBN0Jxckd4Qjs7QTZCdHJHQTtFQUlRLG1CNUIzSmU7QURpMUd2Qjs7QTZCMXJHQTtFRDVTSSxVQUFVO0VBQ1YsZTNCK0NxQjtFMkIzQnJCLGdCQUFnQjtFQytSUixXQUFXO0E3QnlyR3ZCOztBNEIxK0dRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRGs4R3pCOztBNEIvK0dRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRHU4R3pCOztBNEJwL0dRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRDQ4R3pCOztBNEJ6L0dRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRGk5R3pCOztBNEI5L0dRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRHM5R3pCOztBNEJuZ0hRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRDI5R3pCOztBNEJ4Z0hRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRGcrR3pCOztBNEI3Z0hRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRHErR3pCOztBNEJsaEhRO0VBQ0ksZUFBZTtFQUNmLGEzQjJDYTtBRDArR3pCOztBNEJwZ0hJOztFQUVJLGNBQWM7RUFDZCxZQ3lSNkI7RUR4UjdCLFdDd1JtQztBN0IrdUczQzs7QTRCcmdIRTtFQUNJLGdCQUFnQjtBNUJ3Z0h0Qjs7QTRCdGdIRTtFQUNJLGtCQUFrQjtBNUJ5Z0h4Qjs7QTZCN3ZHQTtFQVVnQixZQUFZO0E3QnV2RzVCOztBNkJqd0dBO0VBYWdCLGE1QnpRUztFNEIwUVQsZTVCMVFTO0FEa2dIekI7O0E2QnR3R0E7RUFpQmdCLFlBQVk7RUFDWixTQUFTO0VBQ1Qsa0JBQWtCO0E3Qnl2R2xDOztBNkI1d0dBO0VBdUJZLGtCQUFrQjtBN0J5dkc5Qjs7QTZCdHZHSTtFQTFCSjtJQTJCUSxZNUJsTGU7RUQ0NkdyQjtFNkJyeEdGO0lBNkJZLFdBQVc7RTdCMnZHckI7RTZCeHhHRjtJQStCZ0Isa0JBQWtCO0U3QjR2R2hDO0FBQ0Y7O0E2Qnp2R0k7RUFuQ0o7SUFvQ1EsWUFBWTtFN0I2dkdsQjtBQUNGOztBNkI1dkdJO0VBdENKO0lBeUNn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O0FBQ0Y7O0FvQ2gwTUE7RUF5Q00sZ0JBQWdCO0VBQ2hCLFVBQVU7RVJNWiw2RlFMdUc7QXBDMnhNM0c7O0FvQ3QwTUE7RUErQ00sa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxTQUFTO0VBQ1QsV0FBVztFQUNYLFlBQVk7RUowVWQsbVZBQXlDO0FoQ2s5TDdDOztBb0N6eE1NO0VBdEROO0lBdURRLHdCQUF3QjtJQUN4QixVQUFVO0VwQzZ4TWhCO0FBQ0YiLCJmaWxlIjoiY21zLXN0eWxlcy10b3AtcHVibGljYXRpb24uMmQ4YjIxMTIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBWQVJTLlNDU1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFueSB2YXJpYWJsZXMgeW91IGZpbmQgc2V0IGluIGludWl0LmNzc+KAmSBgX3ZhcnMuc2Nzc2AgdGhhdCB5b3UgZG8gbm90IHdpc2ggdG9cbiAqIGtlZXAsIHNpbXBseSByZWRlZmluZSBoZXJlLiBUaGlzIG1lYW5zIHRoYXQgaWYgaW51aXQuY3NzLCBmb3IgZXhhbXBsZSwgc2V0c1xuICogeW91ciBgJGJhc2UtZm9udC1zaXplYCBhdCAxNnB4IGFuZCB5b3Ugd2lzaCBpdCB0byBiZSAxNHB4LCBzaW1wbHkgcmVkZWNsYXJlXG4gKiB0aGF0IHZhcmlhYmxlIGluIHRoaXMgZmlsZS4gaW51aXQuY3NzIGlnbm9yZXMgaXRzIG93biB2YXJpYWJsZXMgaW4gZmF2b3VyIG9mXG4gKiB1c2luZyB5b3VyIG93biwgc28geW91IGNhbiBjb21wbGV0ZWx5IG1vZGlmeSBob3cgaW51aXQuY3NzIHdvcmtzIHdpdGhvdXQgZXZlclxuICogaGF2aW5nIHRvIGFsdGVyIHRoZSBmcmFtZXdvcmsgaXRzZWxmLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRPQkpFQ1RTLUFORC1BQlNUUkFDVElPTlNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFsbCBvZiBpbnVpdC5jc3PigJkgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGFyZSBpbml0aWFsbHkgdHVybmVkIG9mZiBieVxuICogZGVmYXVsdC4gVGhpcyBtZWFucyB0aGF0IHlvdSBzdGFydCBhbnkgcHJvamVjdCB3aXRoIGFzIGxpdHRsZSBhcyBwb3NzaWJsZSxcbiAqIGFuZCBpbnRyb2R1Y2luZyBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgaXMgYXMgc2ltcGxlIGFzIHN3aXRjaGluZyB0aGVcbiAqIGZvbGxvd2luZyB2YXJpYWJsZXMgdG8gYHRydWVgLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDVVNUT01cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFBsYWNlIGFueSBvZiB5b3VyIG93biB2YXJpYWJsZXMgdGhhdCBzaXQgb24gdG9wIG9mIGludWl0LmNzcyBoZXJlLlxuICovXG4uc2Vjb25kYXJ5LWZvb3RlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWNvbmRhcnktZm9vdGVyLmhvbWUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBJTlVJVC5DU1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiEqXG4gKlxuICogaW51aXRjc3MuY29tIC0tIEBpbnVpdGNzcyAtLSBAY3Nzd2l6YXJkcnlcbiAqXG4gKi9cbi8qKlxuICogaW51aXQuY3NzIGFjdHMgYXMgYSBiYXNlIHN0eWxlc2hlZXQgd2hpY2ggeW91IHNob3VsZCBleHRlbmQgd2l0aCB5b3VyIG93blxuICogdGhlbWUgc3R5bGVzaGVldC5cbiAqXG4gKiBpbnVpdC5jc3MgYWltcyB0byBkbyB0aGUgaGVhdnkgbGlmdGluZzsgc29ydGluZyBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMsXG4gKiBkZXNpZ24gcGF0dGVybnMgYW5kIGZpZGRseSBiaXRzIG9mIENTUywgd2hpbHN0IGxlYXZpbmcgYXMgbXVjaCBkZXNpZ24gYXNcbiAqIHBvc3NpYmxlIHRvIHlvdS4gaW51aXQuY3NzIGlzIHRoZSBzY2FmZm9sZGluZyB0byB5b3VyIGRlY29yYXRvci5cbiAqXG4gKiBUaGlzIHN0eWxlc2hlZXQgaXMgaGVhdmlseSBkb2N1bWVudGVkIGFuZCBjb250YWlucyBsb3RzIG9mIGNvbW1lbnRzLCBwbGVhc2VcbiAqIHRha2UgY2FyZSB0byByZWFkIGFuZCByZWZlciB0byB0aGVtIGFzIHlvdSBidWlsZC4gRm9yIGZ1cnRoZXIgc3VwcG9ydCBwbGVhc2VcbiAqIHR3ZWV0IGF0IEBpbnVpdGNzcy5cbiAqXG4gKiBPd2luZyB0byB0aGUgYW1vdW50IG9mIGNvbW1lbnRzIHBsZWFzZSBvbmx5IGV2ZXIgdXNlIG1pbmlmaWVkIENTUyBpblxuICogcHJvZHVjdGlvbi4gVGhpcyBmaWxlIGlzIHB1cmVseSBhIGRldiBkb2N1bWVudC5cbiAqXG4gKiBUaGUgdGFibGUgb2YgY29udGVudHMgYmVsb3cgbWFwcyB0byBzZWN0aW9uIHRpdGxlcyBvZiB0aGUgc2FtZSBuYW1lLCB0byBqdW1wXG4gKiB0byBhbnkgc2VjdGlvbiBzaW1wbHkgcnVuIGEgZmluZCBmb3IgJFtTRUNUSU9OLVRJVExFXS5cbiAqXG4gKiBNb3N0IG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBjb21lIHdpdGggYSBjaHVuayBvZiBtYXJrdXAgdGhhdCB5b3Ugc2hvdWxkIGJlXG4gKiBhYmxlIHRvIHBhc3RlIGludG8gYW55IHZpZXcgdG8gcXVpY2tseSBzZWUgaG93IHRoZSBDU1Mgd29ya3MgaW4gY29uanVuY3Rpb25cbiAqIHdpdGggdGhlIGNvcnJlY3QgSFRNTC5cbiAqXG4gKiBpbnVpdC5jc3MgaXMgd3JpdHRlbiB0byB0aGlzIHN0YW5kYXJkOiBnaXRodWIuY29tL2Nzc3dpemFyZHJ5L0NTUy1HdWlkZWxpbmVzXG4gKlxuICogTElDRU5TRVxuICpcbiAqIENvcHlyaWdodCAyMDEzIEhhcnJ5IFJvYmVydHNcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cDovL2FwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICpcbiAqIFRoYW5rIHlvdSBmb3IgY2hvb3NpbmcgaW51aXQuY3NzLiBNYXkgeW91ciB3ZWIgZm9udHMgcmVuZGVyIHBlcmZlY3RseS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIENPTlRFTlRTLi4uLi4uLi4uLi4uWW914oCZcmUgcmVhZGluZyBpdCFcbiAqIFdBUk5JTkcuLi4uLi4uLi4uLi4uSGVyZSBiZSBkcmFnb25zIVxuICogSU1QT1JUUy4uLi4uLi4uLi4uLi5CZWdpbiBpbXBvcnRpbmcgdGhlIHNlY3Rpb25zIGJlbG93XG4gKlxuICogTUlYSU5TLi4uLi4uLi4uLi4uLi5TdXBlci1zaW1wbGUgU2FzcyBzdHVmZlxuICogTk9STUFMSVpFLi4uLi4uLi4uLi5ub3JtYWxpemUuY3NzXG4gKiBSRVNFVC4uLi4uLi4uLi4uLi4uLlNldCBzb21lIGRlZmF1bHRzXG4gKiBDTEVBUkZJWC4uLi4uLi4uLi4uLlxuICogU0hBUkVELi4uLi4uLi4uLi4uLi5TaGFyZWQgZGVjbGFyYXRpb25zXG4gKlxuICogTUFJTi4uLi4uLi4uLi4uLi4uLi5IaWdoLWxldmVsIGVsZW1lbnRzIGxpa2UgYGh0bWxgLCBgYm9keWAsIGV0Yy5cbiAqIEhFQURJTkdTLi4uLi4uLi4uLi4uRG91YmxlLXN0cmFuZGVkIGhlYWRpbmcgaGllcmFyY2h5XG4gKiBQQVJBR1JBUEhTLi4uLi4uLi4uLlxuICogU01BTExQUklOVC4uLi4uLi4uLi5TbWFsbGVyIHRleHQgZWxlbWVudHMgbGlrZSBgc21hbGxgXG4gKiBRVU9URVMuLi4uLi4uLi4uLi4uLlxuICogQ09ERS4uLi4uLi4uLi4uLi4uLi5cbiAqIExJU1RTLi4uLi4uLi4uLi4uLi4uXG4gKiBJTUFHRVMuLi4uLi4uLi4uLi4uLlxuICogVEFCTEVTLi4uLi4uLi4uLi4uLi5cbiAqIEZPUk1TLi4uLi4uLi4uLi4uLi4uXG4gKlxuICogR1JJRFMuLi4uLi4uLi4uLi4uLi5GbHVpZCwgcHJvcG9ydGlvbmFsIGFuZCBuZXN0YWJsZSBncmlkc1xuICogRkxFWEJPWC4uLi4uLi4uLi4uLi5DcnVkZWx5IGVtdWxhdGUgZmxleGJveFxuICogQ09MVU1OUy4uLi4uLi4uLi4uLi5DU1MzIGNvbHVtbnNcbiAqIE5BVi4uLi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgYWJzdHJhY3Rpb24gdG8gcHV0IGEgbGlzdCBpbiBob3Jpem9udGFsIG5hdiBtb2RlXG4gKiBPUFRJT05TLi4uLi4uLi4uLi4uLkdyb3VwZWQgbmF2IGl0ZW1zXG4gKiBQQUdJTkFUSU9OLi4uLi4uLi4uLlZlcnkgc3RyaXBwZWQgYmFjaywgYmFzaWMgcGFnaW5hdG9yXG4gKiBCUkVBRENSVU1CLi4uLi4uLi4uLlNpbXBsZSBicmVhZGNydW1iIHRyYWlsIG9iamVjdFxuICogTUVESUEuLi4uLi4uLi4uLi4uLi5NZWRpYSBvYmplY3RcbiAqIE1BUkdJTkFMSUEuLi4uLi4uLi4uU2ltcGxlIG1hcmdpbmFsaWEgY29udGVudFxuICogSVNMQU5ELi4uLi4uLi4uLi4uLi5Cb3hlZCBvZmYgY29udGVudFxuICogQkxPQ0stTElTVC4uLi4uLi4uLi5CbG9ja3kgbGlzdHMgb2YgY29udGVudFxuICogTUFUUklYLi4uLi4uLi4uLi4uLi5HcmlkZGVkIGxpc3RzXG4gKiBTUExJVC4uLi4uLi4uLi4uLi4uLkEgc2ltcGxlIHNwbGl0LWluLXR3byBvYmplY3RcbiAqIFRISVMtT1ItVEhJUy4uLi4uLi4uT3B0aW9ucyBvYmplY3RcbiAqIExJTkstQ09NUExFWC4uLi4uLi4uXG4gKiBGTFlPVVQuLi4uLi4uLi4uLi4uLkZseW91dC1vbi1ob3ZlciBvYmplY3RcbiAqIEFSUk9XUy4uLi4uLi4uLi4uLi4uQ1NTIGFycm93c1xuICogU1BSSVRFLi4uLi4uLi4uLi4uLi5HZW5lcmljIHNwcml0aW5nIGVsZW1lbnRcbiAqIElDT04tVEVYVC4uLi4uLi4uLi4uSWNvbiBhbmQgdGV4dCBjb3VwbGluZ3NcbiAqIEJFQVVUT05TLi4uLi4uLi4uLi4uVXNlIHRoZSBiZWF1dG9ucyBtaWNybyBsaWJyYXJ5XG4gKiBMT1pFTkdFUy4uLi4uLi4uLi4uLkJhc2ljIGxvemVuZ2Ugc3R5bGVzXG4gKiBSVUxFUy4uLi4uLi4uLi4uLi4uLkhvcml6b250YWwgcnVsZXNcbiAqIFNUQVRTLi4uLi4uLi4uLi4uLi4uU2ltcGxlIHN0YXRzIG9iamVjdFxuICogR1JFWUJPWC4uLi4uLi4uLi4uLi5XaXJlZnJhbWluZyBzdHlsZXNcbiAqXG4gKiBXSURUSFMuLi4uLi4uLi4uLi4uLldpZHRoIGNsYXNzZXMgZm9yIHVzZSBhbG9uZ3NpZGUgdGhlIGdyaWQgc3lzdGVtIGV0Yy5cbiAqIFBVU0guLi4uLi4uLi4uLi4uLi4uUHVzaCBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgZ3JpZHNcbiAqIFBVTEwuLi4uLi4uLi4uLi4uLi4uUHVsbCBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgZ3JpZHNcbiAqIEJSQU5ELi4uLi4uLi4uLi4uLi4uSGVscGVyIGNsYXNzIHRvIGFwcGx5IGJyYW5kIHRyZWF0bWVudCB0byBlbGVtZW50c1xuICogSEVMUEVSLi4uLi4uLi4uLi4uLi5BIHNlcmllcyBvZiBoZWxwZXIgY2xhc3NlcyB0byB1c2UgYXJiaXRyYXJpbHlcbiAqIERFQlVHLi4uLi4uLi4uLi4uLi4uRW5hYmxlIHRvIGFkZCB2aXN1YWwgZmxhZ3MgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlc1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRXQVJOSU5HXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAqIGludWl0LmNzcywgYmVpbmcgYW4gT08gZnJhbWV3b3JrLCB3b3JrcyBpbiBrZWVwaW5nIHdpdGggdGhlIG9wZW4vY2xvc2VkXG4gKiBwcmluY2lwbGUuIFRoZSB2YXJpYWJsZXMgeW91IHNldCBwcmV2aW91c2x5IGFyZSBub3cgYmVpbmcgdXNlZCB0aHJvdWdob3V0XG4gKiBpbnVpdC5jc3MgdG8gc3R5bGUgZXZlcnl0aGluZyB3ZSBuZWVkIGZvciBhIGJhc2UuIEFueSBjdXN0b20gc3R5bGVzIFNIT1VMRFxuICogTk9UIGJlIGFkZGVkIG9yIG1vZGlmaWVkIGluIGludWl0LmNzcyBkaXJlY3RseSwgYnV0IGFkZGVkIHZpYSB5b3VyIHRoZW1lXG4gKiBzdHlsZXNoZWV0IGFzIHBlciB0aGUgb3Blbi9jbG9zZWQgcHJpbmNpcGxlOlxuICpcbiAqIGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3RoZS1vcGVuLWNsb3NlZC1wcmluY2lwbGUtYXBwbGllZC10by1jc3NcbiAqXG4gKiBUcnkgbm90IHRvIGVkaXQgYW55IENTUyBiZXlvbmQgdGhpcyBwb2ludDsgaWYgeW91IGZpbmQgeW91IG5lZWQgdG8gZG8gc29cbiAqIGl0IGlzIGEgZmFpbGluZyBvZiB0aGUgZnJhbWV3b3JrIHNvIHBsZWFzZSB0d2VldCBhdCBAaW51aXRjc3MuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJElNUE9SVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEdlbmVyaWMgdXRpbGl0eSBzdHlsZXMgZXRjLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRERUZBVUxUU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogaW51aXQuY3Nz4oCZIGRlZmF1bHQgdmFyaWFibGVzLiBSZWRlZmluZSB0aGVzZSBpbiB5b3VyIGBfdmFycy5zY3NzYCBmaWxlIChmb3VuZFxuICogaW4gdGhlIGludWl0LmNzcy13ZWItdGVtcGxhdGUpIHRvIG92ZXJyaWRlIHRoZW0uXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFQlVHXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEZWJ1ZyBtb2RlIHdpbGwgdmlzdWFsbHkgaGlnaGxpZ2h0IGFueSBwb3RlbnRpYWwgbWFya3VwL2FjY2Vzc2liaWxpdHkgcXVpcmtzXG4gKiBpbiB0aGUgYnJvd3Nlci4gU2V0IHRvIGB0cnVlYCBvciBgZmFsc2VgLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCT1JERVItQk9YXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEbyB5b3Ugd2FudCBhbGwgZWxlbWVudHMgdG8gYWRvcHQgYGJveC1zaXppbmc6Ym9yZGVyLWJveDtgIGFzIHBlclxuICogcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcgP1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCQVNFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCYXNlIHN0dWZmXG4gKi9cbi8qKlxuICogQmFzZSBmb250LWZhbWlseS5cbiAqL1xuLyoqXG4gKiBEZWZhdWx0IGNvbG91ciBmb3Igb2JqZWN0c+KAmSBib3JkZXJzIGV0Yy5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUkVTUE9OU0lWRVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUmVzcG9uc2l2ZW5lc3M/XG4gKi9cbi8qKlxuICogUmVzcG9uc2l2ZW5lc3MgZm9yIHdpZGVzY3JlZW4vaGlnaCByZXNvbHV0aW9uIGRlc2t0b3AgbW9uaXRvcnMgYW5kIGJleW9uZD9cbiAqIE5vdGU6IGAkcmVzcG9uc2l2ZWAgdmFyaWFibGUgYWJvdmUgbXVzdCBiZSBzZXQgdG8gdHJ1ZSBiZWZvcmUgZW5hYmxpbmcgdGhpcy5cbiAqL1xuLyoqXG4gKiBSZXNwb25zaXZlIHB1c2ggYW5kIHB1bGwgcHJvZHVjZSBhIExPVCBvZiBjb2RlLCBvbmx5IHR1cm4gdGhlbSBvbiBpZiB5b3VcbiAqIGRlZmluaXRlbHkgbmVlZCB0aGVtLlxuICovXG4vKipcbiAqIE5vdGU6IGAkcHVzaGAgdmFyaWFibGUgYWJvdmUgbXVzdCBiZSBzZXQgdG8gdHJ1ZSBiZWZvcmUgZW5hYmxpbmcgdGhlc2UuXG4gKi9cbi8qKlxuICogTm90ZTogYCRwdWxsYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuLyoqXG4gKiBUZWxsIGludWl0LmNzcyB3aGVuIGJyZWFrcG9pbnRzIHN0YXJ0LlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGT05ULVNJWkVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBGb250LXNpemVzIChpbiBwaXhlbHMpLiBSZWZlciB0byByZWxldmFudCBzZWN0aW9ucyBmb3IgdGhlaXIgaW1wbGVtZW50YXRpb25zLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRRVU9URVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEVuZ2xpc2ggcXVvdGUgbWFya3M/XG4gKi9cbi8qKlxuICogSWYgeW91IHdhbnQgRW5nbGlzaCBxdW90ZXMgdGhlbiBwbGVhc2UgZG8gbm90IGVkaXQgdGhlc2U7IHRoZXnigJlyZSBvbmx5IGhlcmVcbiAqIGJlY2F1c2UgU2FzcyBuZWVkcyB0aGVtLlxuICovXG4vKipcbiAqIElmIHlvdSBuZWVkIG5vbi1FbmdsaXNoIHF1b3RlcywgcGxlYXNlIGFsdGVyIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFjY29yZGluZ2x5OlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCUkFORFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQnJhbmQgc3R1ZmZcbiAqL1xuLyoqXG4gKiBIb3cgYmlnIHdvdWxkIHlvdSBsaWtlIHJvdW5kIGNvcm5lcnMgdG8gYmUgYnkgZGVmYXVsdD9cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkT0JKRUNUUyBBTkQgQUJTVFJBQ1RJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBXaGljaCBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgd291bGQgeW91IGxpa2UgdG8gdXNlP1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRGUkFNRVdPUktcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIGludWl0LmNzcyB3aWxsIHdvcmsgdGhlc2UgbmV4dCBvbmVzIG91dCBmb3IgdXNlIHdpdGhpbiB0aGUgZnJhbWV3b3JrLlxuICpcbiAqIEFzc2lnbiBvdXIgYCRiYXNlLWxpbmUtaGVpZ2h0YCB0byBhIG5ldyBzcGFjaW5nIHZhciBmb3IgbW9yZSB0cmFuc3BhcmVuY3kuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1JWElOU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ3JlYXRlIGEgZnVsbHkgZm9ybWVkIHR5cGUgc3R5bGUgKHNpemluZyBhbmQgdmVydGljYWwgcmh5dGhtKSBieSBwYXNzaW5nIGluIGFcbiAqIHNpbmdsZSB2YWx1ZSwgZS5nLjpcbiAqXG4gICBgQGluY2x1ZGUgZm9udC1zaXplKDEwcHgpO2BcbiAqXG4gKiBUaGFua3MgdG8gQHJlZGNsb3YzciBmb3IgdGhlIGBsaW5lLWhlaWdodGAgU2FzczpcbiAqIHR3aXR0ZXIuY29tL3JlZGNsb3Yzci9zdGF0dXMvMjUwMzAxNTM5MzIxNzk4NjU3XG4gKi9cbi8qKlxuICogU3R5bGUgYW55IG51bWJlciBvZiBoZWFkaW5ncyBpbiBvbmUgZmVsbCBzd29vcCwgZS5nLjpcbiAqXG4gICAuZm9ve1xuICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzKDEsIDMpe1xuICAgICAgICAgICBjb2xvcjojQkFEQTU1O1xuICAgICAgIH1cbiAgICB9XG4gKlxuICogV2l0aCB0aGFua3MgdG8gQGxhcl96enosIEBwYXJhbm9pZGEsIEByb3dhbm1hbm5pbmcgYW5kIHVsdGltYXRlbHlcbiAqIEB0aGllcnJ5bGVtb3VsZWMgZm9yIHJlZmluaW5nIGFuZCBpbXByb3ZpbmcgbXkgaW5pdGlhbCBtaXhpbi5cbiAqL1xuLyoqXG4gKiBDcmVhdGUgdmVuZG9yLXByZWZpeGVkIENTUyBpbiBvbmUgZ28sIGUuZy5cbiAqXG4gICBgQGluY2x1ZGUgdmVuZG9yKGJvcmRlci1yYWRpdXMsIDRweCk7YFxuICpcbiAqL1xuLyoqXG4gKiBDcmVhdGUgQ1NTIGtleWZyYW1lIGFuaW1hdGlvbnMgZm9yIGFsbCB2ZW5kb3JzIGluIG9uZSBnbywgZS5nLjpcbiAqXG4gICAuZm9ve1xuICAgICAgIEBpbmNsdWRlIHZlbmRvcihhbmltYXRpb24sIHNocmluayAzcyk7XG4gICB9XG5cbiAgIEBpbmNsdWRlIGtleWZyYW1lKHNocmluayl7XG4gICAgICAgZnJvbXtcbiAgICAgICAgICAgZm9udC1zaXplOjVlbTtcbiAgICAgICB9XG4gICB9XG4gKlxuICogQ291cnRlc3kgb2YgQGludGVncmFsaXN0OiB0d2l0dGVyLmNvbS9pbnRlZ3JhbGlzdC9zdGF0dXMvMjYwNDg0MTE1MzE1NDM3NTY5XG4gKi9cbi8qKlxuICogRm9yY2Ugb3Zlcmx5IGxvbmcgc3BhbnMgb2YgdGV4dCB0byB0cnVuY2F0ZSwgZS5nLjpcbiAqXG4gICBgQGluY2x1ZGUgdHJ1bmNhdGUoMTAwJSk7YFxuICpcbiAqIFdoZXJlIGAkdHJ1bmNhdGlvbi1ib3VuZGFyeWAgaXMgYSB1bml0ZWQgbWVhc3VyZW1lbnQuXG4gKi9cbi8qKlxuICogQ1NTIGFycm93cyEhISBCdXQuLi4gYmVmb3JlIHlvdSByZWFkIG9uLCB5b3UgbWlnaHQgd2FudCB0byBncmFiIGEgY29mZmVlLi4uXG4gKlxuICogVGhpcyBtaXhpbiBjcmVhdGVzIGEgQ1NTIGFycm93IG9uIGEgZ2l2ZW4gZWxlbWVudC4gV2UgY2FuIGhhdmUgdGhlIGFycm93XG4gKiBhcHBlYXIgaW4gb25lIG9mIDEyIGxvY2F0aW9ucywgdGh1czpcbiAqXG4gKiAgICAgICAwMSAgICAwMiAgICAwM1xuICogICAgKy0tLS0tLS0tLS0tLS0tLS0tLStcbiAqIDEyIHwgICAgICAgICAgICAgICAgICB8IDA0XG4gKiAgICB8ICAgICAgICAgICAgICAgICAgfFxuICogMTEgfCAgICAgICAgICAgICAgICAgIHwgMDVcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMCB8ICAgICAgICAgICAgICAgICAgfCAwNlxuICogICAgKy0tLS0tLS0tLS0tLS0tLS0tLStcbiAqICAgICAgIDA5ICAgIDA4ICAgIDA3XG4gKlxuICogWW91IHBhc3MgdGhpcyBwb3NpdGlvbiBpbiBhbG9uZyB3aXRoIGEgZGVzaXJlZCBhcnJvdyBjb2xvciBhbmQgb3B0aW9uYWxcbiAqIGJvcmRlciBjb2xvciwgZm9yIGV4YW1wbGU6XG4gKlxuICogYEBpbmNsdWRlIGFycm93KHRvcCwgbGVmdCwgcmVkKWBcbiAqXG4gKiBmb3IganVzdCBhIHNpbmdsZSwgcmVkIGFycm93LCBvcjpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3coYm90dG9tLCBjZW50ZXIsIHJlZCwgYmxhY2spYFxuICpcbiAqIHdoaWNoIHdpbGwgY3JlYXRlIGEgcmVkIHRyaWFuZ2xlIHdpdGggYSBibGFjayBib3JkZXIgd2hpY2ggc2l0cyBhdCB0aGUgYm90dG9tXG4gKiBjZW50ZXIgb2YgdGhlIGVsZW1lbnQuIENhbGwgdGhlIG1peGluIHRodXM6XG4gKlxuICAgLmZvb3tcbiAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNCQURBNTU7XG4gICAgICAgYm9yZGVyOjFweCBzb2xpZCAjQUNFO1xuICAgICAgIEBpbmNsdWRlIGFycm93KHRvcCwgbGVmdCwgI0JBREE1NSwgI0FDRSk7XG4gICB9XG4gKlxuICovXG4vKipcbiAqIE1lZGlhIHF1ZXJ5IG1peGluLlxuICpcbiAqIEl04oCZcyBub3QgZ3JlYXQgcHJhY3RpY2UgdG8gZGVmaW5lIHNvbGlkIGJyZWFrcG9pbnRzIHVwLWZyb250LCBwcmVmZXJyaW5nIHRvXG4gKiBtb2RpZnkgeW91ciBkZXNpZ24gd2hlbiBpdCBuZWVkcyBpdCwgcmF0aGVyIHRoYW4gYXNzdW1pbmcgeW914oCZbGwgd2FudCBhXG4gKiBjaGFuZ2UgYXQg4oCYbW9iaWxl4oCZLiBIb3dldmVyLCBhcyBpbnVpdC5jc3MgaXMgcmVxdWlyZWQgdG8gdGFrZSBhIGhhbmRzIG9mZlxuICogYXBwcm9hY2ggdG8gZGVzaWduIGRlY2lzaW9ucywgdGhpcyBpcyB0aGUgY2xvc2VzdCB3ZSBjYW4gZ2V0IHRvIGJha2VkLWluXG4gKiByZXNwb25zaXZlbmVzcy4gSXTigJlzIGZsZXhpYmxlIGVub3VnaCB0byBhbGxvdyB5b3UgdG8gc2V0IHlvdXIgb3duIGJyZWFrcG9pbnRzXG4gKiBidXQgc29saWQgZW5vdWdoIHRvIGJlIGZyYW1ld29ya2lmaWVkLlxuICpcbiAqIFdlIGRlZmluZSBzb21lIGJyb2FkIGJyZWFrcG9pbnRzIGluIG91ciB2YXJzIGZpbGUgdGhhdCBhcmUgcGlja2VkIHVwIGhlcmVcbiAqIGZvciB1c2UgaW4gYSBzaW1wbGUgbWVkaWEgcXVlcnkgbWl4aW4uIE91ciBvcHRpb25zIGFyZTpcbiAqXG4gKiBwYWxtXG4gKiBsYXBcbiAqIGxhcC1hbmQtdXBcbiAqIHBvcnRhYmxlXG4gKiBkZXNrXG4gKiBkZXNrLXdpZGVcbiAqXG4gKiBOb3QgdXNpbmcgYSBtZWRpYSBxdWVyeSB3aWxsLCBuYXR1cmFsbHksIHNlcnZlIHN0eWxlcyB0byBhbGwgZGV2aWNlcy5cbiAqXG4gKiBgQGluY2x1ZGUgbWVkaWEtcXVlcnkocGFsbSl7IFtzdHlsZXMgaGVyZV0gfWBcbiAqXG4gKiBXZSB3b3JrIG91dCB5b3VyIGVuZCBwb2ludHMgZm9yIHlvdTpcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4wIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLypcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi8qXG4gKiBTZXQgY29uc2lzdGVudCBxdW90ZSB0eXBlcy5cbiAqL1xucSB7XG4gIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQ29ycmVjdCBmb250IGZhbWlseSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgZm9udCBzaXplIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLypcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDgrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG59XG5cbi8qXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0sXG5zZWxlY3RbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFJFU0VUXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIG1vcmUgY29uc2lkZXJlZCByZXNldDsgbW9yZSBvZiBhIHJlc3RhcnQuLi5cbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTEvMTAvcmVzZXQtcmVzdGFydGVkXG4gKi9cbi8qKlxuICAgICogTGV04oCZcyBtYWtlIHRoZSBib3ggbW9kZWwgYWxsIG5pY2UsIHNoYWxsIHdlLi4uP1xuICAgICovXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW8tYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyoqXG4gKiBUaGUgdXN1YWwuLi5cbiAqL1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnAsIGJsb2NrcXVvdGUsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCxcbnRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBHaXZlIGEgaGVscCBjdXJzb3IgdG8gZWxlbWVudHMgdGhhdCBnaXZlIGV4dHJhIGluZm8gb24gYDpob3ZlcmAuXG4gKi9cbmFiYnJbdGl0bGVdLCBkZm5bdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgZWxlbWVudHMuXG4gKi9cbnUsIGlucyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqXG4gKiBBcHBseSBmYXV4IHVuZGVybGluZSB2aWEgYGJvcmRlci1ib3R0b21gLlxuICovXG5pbnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG59XG5cbi8qKlxuICogU28gdGhhdCBgYWx0YCB0ZXh0IGlzIHZpc3VhbGx5IG9mZnNldCBpZiBpbWFnZXMgZG9u4oCZdCBsb2FkLlxuICovXG5pbWcge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogR2l2ZSBmb3JtIGVsZW1lbnRzIHNvbWUgY3Vyc29yIGludGVyYWN0aW9ucy4uLlxuICovXG5sYWJlbCxcbmlucHV0LFxudGV4dGFyZWEsXG5idXR0b24sXG5zZWxlY3QsXG5vcHRpb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50ZXh0LWlucHV0OmFjdGl2ZSxcbi50ZXh0LWlucHV0OmZvY3VzLFxudGV4dGFyZWE6YWN0aXZlLFxudGV4dGFyZWE6Zm9jdXMge1xuICBjdXJzb3I6IHRleHQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJENMRUFSRklYXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBNaWNybyBjbGVhcmZpeCwgYXMgcGVyOiBjc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHBcbiAqIEV4dGVuZCB0aGUgY2xlYXJmaXggY2xhc3Mgd2l0aCBTYXNzIHRvIGF2b2lkIHRoZSBgLmNmYCBjbGFzcyBhcHBlYXJpbmcgb3ZlclxuICogYW5kIG92ZXIgaW4geW91ciBtYXJrdXAuXG4gKi9cbi5jZjphZnRlciwgLm5hdjphZnRlciwgLm1lZGlhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRTSEFSRURcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFdoZXJlIGBtYXJnaW4tYm90dG9tYCBpcyBjb25jZXJuZWQsIHRoaXMgdmFsdWUgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGVcbiAqIGJhc2UgbGluZS1oZWlnaHQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgYSBjb25zaXN0ZW50IHZlcnRpY2FsIHJoeXRobS5cbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDYvc2luZ2xlLWRpcmVjdGlvbi1tYXJnaW4tZGVjbGFyYXRpb25zXG4gKi9cbi8qKlxuICogQmFzZSBlbGVtZW50c1xuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRsLFxuYmxvY2txdW90ZSwgcCwgYWRkcmVzcyxcbnRhYmxlLFxuZmllbGRzZXQsIGZpZ3VyZSxcbnByZSxcbi5mb3JtLWZpZWxkcyA+IGxpLFxuLm1lZGlhLFxuLmlzbGFuZCxcbi5pbmZvZ3JhcGhpY3MsXG4uaXNsZXQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5pc2xldCBoMSwgLmlzbGV0IGgyLCAuaXNsZXQgaDMsIC5pc2xldCBoNCwgLmlzbGV0IGg1LCAuaXNsZXQgaDYsIC5pc2xldCBoZ3JvdXAsIC5pc2xldFxudWwsIC5pc2xldCBvbCwgLmlzbGV0IGRsLCAuaXNsZXRcbmJsb2NrcXVvdGUsIC5pc2xldCBwLCAuaXNsZXQgYWRkcmVzcywgLmlzbGV0XG50YWJsZSwgLmlzbGV0XG5maWVsZHNldCwgLmlzbGV0IGZpZ3VyZSwgLmlzbGV0XG5wcmUsIC5pc2xldCAuZm9ybS1maWVsZHMgPiBsaSwgLmlzbGV0XG4ubWVkaWEsIC5pc2xldFxuLmlzbGFuZCwgLmlzbGV0XG4uaW5mb2dyYXBoaWNzLCAuaXNsZXRcbi5pc2xldCB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi8qKlxuICogRG91YmxlZCB1cCBgbWFyZ2luLWJvdHRvbWAgaGVscGVyIGNsYXNzLlxuICovXG4ubGFuZG1hcmsge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG4vKipcbiAqIGBocmAgZWxlbWVudHMgb25seSB0YWtlIHVwIGEgZmV3IHBpeGVscywgc28gd2UgbmVlZCB0byBnaXZlIHRoZW0gc3BlY2lhbFxuICogdHJlYXRtZW50IHJlZ2FyZGluZyB2ZXJ0aWNhbCByaHl0aG0uXG4gKi9cbmhyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG59XG5cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1sZWZ0YCBpcyBjb25jZXJuZWQgd2Ugd2FudCB0byB0cnkgYW5kIGluZGVudCBjZXJ0YWluIGVsZW1lbnRzXG4gKiBieSBhIGNvbnNpc3RlbnQgYW1vdW50LiBEZWZpbmUgdGhhdCBhbW91bnQgb25jZSwgaGVyZS5cbiAqL1xudWwsIG9sLCBkZCB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICBtYXJnaW4tbGVmdDogM3JlbTtcbn1cblxuLyoqXG4gKiBCYXNlIHN0eWxlczsgdW5jbGFzc2VkIEhUTUwgZWxlbWVudHMgZXRjLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRNQUlOXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHRtbCB7XG4gIGZvbnQ6IDFlbS8xLjUgc2Fucy1zZXJpZjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSEVBRElOR1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBXaGVuIHdlIGRlZmluZSBhIGhlYWRpbmcgd2UgYWxzbyBkZWZpbmUgYSBjb3JyZXNwb25kaW5nIGNsYXNzIHRvIGdvIHdpdGggaXQuXG4gKiBUaGlzIGFsbG93cyB1cyB0byBhcHBseSwgc2F5LCBgY2xhc3M9YWxwaGFgIHRvIGEgYGgzYDsgYSBkb3VibGUtc3RyYW5kZWRcbiAqIGhlYWRpbmcgaGllcmFyY2h5LlxuICovXG5oMSwgLmFscGhhIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xufVxuXG5oMiwgLmJldGEge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmgzLCAuZ2FtbWEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaDQsIC5kZWx0YSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5oNSwgLmVwc2lsb24ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuaDYsIC56ZXRhIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyOTtcbn1cblxuLyoqXG4gKiBIZWFkaW5nIGdyb3VwcyBhbmQgZ2VuZXJpYyBhbnktaGVhZGluZyBjbGFzcy5cbiAqIFRvIHRhcmdldCBhbnkgaGVhZGluZyBvZiBhbnkgbGV2ZWwgc2ltcGx5IGFwcGx5IGEgY2xhc3Mgb2YgYC5oTmAsIGUuZy46XG4gKlxuICAgPGhncm91cD5cbiAgICAgICA8aDEgY2xhc3M9aE4+aW51aXQuY3NzPC9oMT5cbiAgICAgICA8aDIgY2xhc3M9aE4+QmVzdC4gRnJhbWV3b3JrLiBFdmVyITwvaDI+XG4gICA8L2hncm91cD5cbiAqXG4gKi9cbmhncm91cCAuaE4ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKipcbiAqIEEgc2VyaWVzIG9mIGNsYXNzZXMgZm9yIHNldHRpbmcgbWFzc2l2ZSB0eXBlOyBmb3IgdXNlIGluIGhlcm9lcywgbWFzdGhlYWRzLFxuICogcHJvbW9zLCBldGMuXG4gKi9cbi5naWdhIHtcbiAgZm9udC1zaXplOiA5NnB4O1xuICBmb250LXNpemU6IDZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWVnYSB7XG4gIGZvbnQtc2l6ZTogNzJweDtcbiAgZm9udC1zaXplOiA0LjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ua2lsbyB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUEFSQUdSQVBIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogVGhlIGAubGVkZWAgY2xhc3MgaXMgdXNlZCB0byBtYWtlIHRoZSBpbnRyb2R1Y3RvcnkgdGV4dCAodXN1YWxseSBhIHBhcmFncmFwaClcbiAqIG9mIGEgZG9jdW1lbnQgc2xpZ2h0bHkgbGFyZ2VyLlxuICovXG4ubGVkZSxcbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkU01BTExQUklOVFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzZXJpZXMgb2YgY2xhc3NlcyBmb3Igc2V0dGluZyB0aW55IHR5cGU7IGZvciB1c2UgaW4gc21hbGxwcmludCBldGMuXG4gKi9cbi5zbWFsbHByaW50LFxuLm1pbGxpIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyO1xufVxuXG4ubWljcm8ge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFFVT1RFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogSWYgRW5nbGlzaCBxdW90ZXMgYXJlIHNldCBpbiBgX3ZhcnMuc2Nzc2AsIGRlZmluZSB0aGVtIGhlcmUuXG4gKi9cbi8qKlxuICogQmlnIHVwIEBib2JsZXQ6IGh0bWw1ZG9jdG9yLmNvbS9ibG9ja3F1b3RlLXEtY2l0ZVxuICovXG4vKipcbiAqIElubGluZSBxdW90ZXMuXG4gKi9cbnEge1xuICBxdW90ZXM6IFwi4oCYXCIgXCLigJlcIiBcIuKAnFwiIFwi4oCdXCI7XG59XG5cbnE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMThcIjtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cblxucTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyMDE5XCI7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuXG5xIHE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMUNcIjtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cblxucSBxOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIwMURcIjtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUge1xuICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcbn1cblxuYmxvY2txdW90ZSBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCcXCI7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vLWNsb3NlLXF1b3RlO1xufVxuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlOmFmdGVyIHtcbiAgY29udGVudDogXCLigJ1cIjtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbmJsb2NrcXVvdGUgcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjAxOFwiO1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuXG5ibG9ja3F1b3RlIHE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjAxOVwiO1xuICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbn1cblxuLyoqXG4gKlxuICAgPGJsb2NrcXVvdGU+XG4gICAgICAgPHA+SW5zYW5pdHk6IGRvaW5nIHRoZSBzYW1lIHRoaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4gYW5kIGV4cGVjdGluZ1xuICAgICAgIGRpZmZlcmVudCByZXN1bHRzLjwvcD5cbiAgICAgICA8YiBjbGFzcz1zb3VyY2U+QWxiZXJ0IEVpbnN0ZWluPC9iPlxuICAgPC9ibG9ja3F1b3RlPlxuICpcbiAqL1xuYmxvY2txdW90ZSB7XG4gIC8qKlxuICAgICAqIC40ZW0gaXMgcm91Z2hseSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIG9wZW5pbmcg4oCcIHRoYXQgd2Ugd2lzaCB0byBoYW5nLlxuICAgICAqL1xuICB0ZXh0LWluZGVudDogLTAuNDFlbTtcbn1cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zb3VyY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IDA7XG59XG5cbi5zb3VyY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ09ERVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogVXNlIGFuIGV4cGxpY2l0IGZvbnQgc3RhY2sgdG8gZW5zdXJlIGJyb3dzZXJzIHJlbmRlciBjb3JyZWN0IGBsaW5lLWhlaWdodGAuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5wcmUgbWFyayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIGNvbW1lbnRzIHRvIHlvdXIgY29kZSBleGFtcGxlcywgZS5nLjpcbiAqXG4gICA8Y29kZT4mbHQ7L2RpdiZndDs8c3BhbiBjbGFzcz1jb2RlLWNvbW1lbnQ+Jmx0OyEtLSAvd3JhcHBlciAtLSZndDs8L3NwYW4+PC9jb2RlPlxuICpcbiAqL1xuLmNvZGUtY29tbWVudCB7XG4gIC8qKlxuICAgICAqIE92ZXJyaWRlIHRoaXMgc2V0dGluZyBpbiB5b3VyIHRoZW1lIHN0eWxlc2hlZXRcbiAgICAgKi9cbiAgb3BhY2l0eTogMC43NTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTc1KTtcbn1cblxuLyoqXG4gKiBZb3UgY2FuIGFkZCBsaW5lIG51bWJlcnMgdG8geW91ciBjb2RlIGV4YW1wbGVzIGJ1dCBiZSB3YXJuZWQsIGl0IHJlcXVpcmVzXG4gKiBzb21lIHByZXR0eSBmdW5reSBsb29raW5nIG1hcmt1cCwgZS5nLjpcbiAqXG4gICA8b2wgY2xhc3M9bGluZS1udW1iZXJzPlxuICAgICAgIDxsaT48Y29kZT4ubmF2ezwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgbGlzdC1zdHlsZTpub25lOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgbWFyZ2luLWxlZnQ6MDs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+fTwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgLm5hdiA+IGxpLDwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgIC5uYXYgPiBsaSA+IGF7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgICAgICpkaXNwbGF5OmlubGluZS1ibG9jazs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+ICAgICAgICAgICAgem9vbToxOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgIH08L2NvZGU+PC9saT5cbiAgIDwvb2w+XG4gKlxuICogMS4gTWFrZSB0aGUgbGlzdCBsb29rIGxpa2UgY29kZS5cbiAqIDIuIEdpdmUgdGhlIGxpc3QgZmx1c2ggbnVtYmVycyB3aXRoIGEgbGVhZGluZyB6ZXJvLlxuICogMy4gTWFrZSBzdXJlIGxpbmVzIG9mIGNvZGUgZG9u4oCZdCB3cmFwLlxuICogNC4gR2l2ZSB0aGUgY29kZSBmb3JtIGJ5IGZvcmNpbmcgdGhlIGBjb2RlYCB0byBob25vdXIgd2hpdGUtc3BhY2UuXG4gKi9cbi5saW5lLW51bWJlcnMge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgLyogWzFdICovXG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWwtbGVhZGluZy16ZXJvIGluc2lkZTtcbiAgLyogWzJdICovXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIFszXSAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogWzNdICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubGluZS1udW1iZXJzIGNvZGUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICAvKiBbNF0gKi9cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSU1BR0VTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MveU10dXJcbiAqL1xuLyoqXG4gKiBGbHVpZCBpbWFnZXMuXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiBOb24tZmx1aWQgaW1hZ2VzIGlmIHlvdSBzcGVjaWZ5IGB3aWR0aGAgYW5kL29yIGBoZWlnaHRgIGF0dHJpYnV0ZXMuXG4gKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XSB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyoqXG4gKiBSb3VuZGVkIGltYWdlcy5cbiAqL1xuLmltZy0tcm91bmQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qKlxuICogSW1hZ2UgcGxhY2VtZW50IHZhcmlhdGlvbnMuXG4gKi9cbi5pbWctLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tbGVmdDogMjRweDtcbn1cblxuLmltZy0tbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5pbWctLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vKipcbiAqIEtlZXAgeW91ciBpbWFnZXMgb24geW91ciBiYXNlbGluZS5cbiAqXG4gKiBQbGVhc2Ugbm90ZSwgdGhlc2Ugd2lsbCBub3Qgd29yayB0b28gbmljZWx5IHdpdGggZmx1aWQgaW1hZ2VzIGFuZCB3aWxsXG4gKiBkaXN0b3J0IHdoZW4gcmVzaXplZCBiZWxvdyBhIGNlcnRhaW4gd2lkdGguIFVzZSB3aXRoIGNhdXRpb24uXG4gKi9cbi5pbWctLXNob3J0IHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLmltZy0tbWVkaXVtIHtcbiAgaGVpZ2h0OiAyNDBweDtcbn1cblxuLmltZy0tdGFsbCB7XG4gIGhlaWdodDogMzYwcHg7XG59XG5cbi8qKlxuICogSW1hZ2VzIGluIGBmaWd1cmVgIGVsZW1lbnRzLlxuICovXG5maWd1cmUgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTElTVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlbW92ZSB2ZXJ0aWNhbCBzcGFjaW5nIGZyb20gbmVzdGVkIGxpc3RzLlxuICovXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogSGF2ZSBhIG51bWJlcmVkIGB1bGAgd2l0aG91dCB0aGUgc2VtYW50aWNzIGltcGxpZWQgYnkgdXNpbmcgYW4gYG9sYC5cbiAqL1xuLyp1bCovXG4ubnVtYmVyZWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkVEFCTEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBXZSBoYXZlIGEgbG90IGF0IG91ciBkaXNwb3NhbCBmb3IgbWFraW5nIHZlcnkgY29tcGxleCB0YWJsZSBjb25zdHJ1Y3RzLCBlLmcuOlxuICpcbiAgIDx0YWJsZSBjbGFzcz1cInRhYmxlLS1ib3JkZXJlZCAgdGFibGUtLXN0cmlwZWQgIHRhYmxlLS1kYXRhXCI+XG4gICAgICAgPGNvbGdyb3VwPlxuICAgICAgICAgICA8Y29sIGNsYXNzPXQxMD5cbiAgICAgICAgICAgPGNvbCBjbGFzcz10MTA+XG4gICAgICAgICAgIDxjb2wgY2xhc3M9dDEwPlxuICAgICAgICAgICA8Y29sPlxuICAgICAgIDwvY29sZ3JvdXA+XG4gICAgICAgPHRoZWFkPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGggY29sc3Bhbj0zPkZvbzwvdGg+XG4gICAgICAgICAgICAgICA8dGg+QmFyPC90aD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoPkxvcmVtPC90aD5cbiAgICAgICAgICAgICAgIDx0aD5JcHN1bTwvdGg+XG4gICAgICAgICAgICAgICA8dGggY2xhc3M9bnVtZXJpY2FsPkRvbG9yPC90aD5cbiAgICAgICAgICAgICAgIDx0aD5TaXQ8L3RoPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgIDwvdGhlYWQ+XG4gICAgICAgPHRib2R5PlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGggcm93c3Bhbj0zPlNpdDwvdGg+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4wMy43ODg8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MzIuMjEwPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjQ3Ljc5NzwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGggcm93c3Bhbj0yPlNpdDwvdGg+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD4wOS42NDA8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MTIuMTE3PC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgPC90Ym9keT5cbiAgIDwvdGFibGU+XG4gKlxuICovXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50aCxcbnRkIHtcbiAgcGFkZGluZzogNnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6IDEycHg7XG4gIH1cbn1cblxuLyoqXG4gKiBDZWxsIGFsaWdubWVudHNcbiAqL1xuW2NvbHNwYW5dIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5bY29sc3Bhbj1cIjFcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5bcm93c3Bhbl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5bcm93c3Bhbj1cIjFcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubnVtZXJpY2FsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qKlxuICogSW4gdGhlIEhUTUwgYWJvdmUgd2Ugc2VlIHNldmVyYWwgYGNvbGAgZWxlbWVudHMgd2l0aCBjbGFzc2VzIHdob3NlIG51bWJlcnNcbiAqIHJlcHJlc2VudCBhIHBlcmNlbnRhZ2Ugd2lkdGggZm9yIHRoYXQgY29sdW1uLiBXZSBsZWF2ZSBvbmUgY29sdW1uIGZyZWUgb2YgYVxuICogY2xhc3Mgc28gdGhhdCBjb2x1bW4gY2FuIHNvYWsgdXAgdGhlIGVmZmVjdHMgb2YgYW55IGFjY2lkZW50YWwgYnJlYWthZ2UgaW5cbiAqIHRoZSB0YWJsZS5cbiAqL1xuLnQ1IHtcbiAgd2lkdGg6IDUlO1xufVxuXG4udDEwIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLnQxMiB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuLyogMS84ICovXG4udDE1IHtcbiAgd2lkdGg6IDE1JTtcbn1cblxuLnQyMCB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi50MjUge1xuICB3aWR0aDogMjUlO1xufVxuXG4vKiAxLzQgKi9cbi50MzAge1xuICB3aWR0aDogMzAlO1xufVxuXG4udDMzIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG5cbi8qIDEvMyAqL1xuLnQzNSB7XG4gIHdpZHRoOiAzNSU7XG59XG5cbi50Mzcge1xuICB3aWR0aDogMzcuNSU7XG59XG5cbi8qIDMvOCAqL1xuLnQ0MCB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi50NDUge1xuICB3aWR0aDogNDUlO1xufVxuXG4udDUwIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLyogMS8yICovXG4udDU1IHtcbiAgd2lkdGg6IDU1JTtcbn1cblxuLnQ2MCB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi50NjIge1xuICB3aWR0aDogNjIuNSU7XG59XG5cbi8qIDUvOCAqL1xuLnQ2NSB7XG4gIHdpZHRoOiA2NSU7XG59XG5cbi50NjYge1xuICB3aWR0aDogNjYuNjY2JTtcbn1cblxuLyogMi8zICovXG4udDcwIHtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLnQ3NSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi8qIDMvNCovXG4udDgwIHtcbiAgd2lkdGg6IDgwJTtcbn1cblxuLnQ4NSB7XG4gIHdpZHRoOiA4NSU7XG59XG5cbi50ODcge1xuICB3aWR0aDogODcuNSU7XG59XG5cbi8qIDcvOCAqL1xuLnQ5MCB7XG4gIHdpZHRoOiA5MCU7XG59XG5cbi50OTUge1xuICB3aWR0aDogOTUlO1xufVxuXG4vKipcbiAqIEJvcmRlcmVkIHRhYmxlc1xuICovXG4udGFibGUtLWJvcmRlcmVkIHRoLFxuLnRhYmxlLS1ib3JkZXJlZCB0ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbi50YWJsZS0tYm9yZGVyZWQgdGg6ZW1wdHksXG4udGFibGUtLWJvcmRlcmVkIHRkOmVtcHR5IHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4udGFibGUtLWJvcmRlcmVkIHRoZWFkIHRyOmxhc3QtY2hpbGQgdGgge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG59XG5cbi50YWJsZS0tYm9yZGVyZWQgdGJvZHkgdHIgdGg6bGFzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG59XG5cbi8qKlxuICogU3RyaXBlZCB0YWJsZXNcbiAqL1xuLnRhYmxlLS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjO1xuICAvKiBPdmVycmlkZSB0aGlzIGNvbG9yIGluIHlvdXIgdGhlbWUgc3R5bGVzaGVldCAqL1xufVxuXG4vKipcbiAqIERhdGEgdGFibGVcbiAqL1xuLnRhYmxlLS1kYXRhIHtcbiAgZm9udDogMTJweC8xLjUgc2Fucy1zZXJpZjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkRk9STVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvTWhISFVcbiAqXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLyoqXG4gKiBUZXh0IGlucHV0c1xuICpcbiAqIEluc3RlYWQgb2YgYSBgW3R5cGVdYCBzZWxlY3RvciBmb3IgZWFjaCBraW5kIG9mIGZvcm0gaW5wdXQsIHdlIGp1c3QgdXNlIGFcbiAqIGNsYXNzIHRvIHRhcmdldCBhbnkvZXZlcnkgb25lLCBlLmcuOlxuICAgPGlucHV0IHR5cGU9dGV4dCBjbGFzcz10ZXh0LWlucHV0PlxuICAgPGlucHV0IHR5cGU9ZW1haWwgY2xhc3M9dGV4dC1pbnB1dD5cbiAgIDxpbnB1dCB0eXBlPXBhc3N3b3JkIGNsYXNzPXRleHQtaW5wdXQ+XG4gKlxuICovXG4udGV4dC1pbnB1dCxcbnRleHRhcmVhIHtcbiAgLyoqXG4gICAgICogU3R5bGUgdGhlc2UgdmlhIHlvdXIgdGhlbWUgc3R5bGVzaGVldC5cbiAgICAgKi9cbn1cblxuLyoqXG4gKiBHcm91cCBzZXRzIG9mIGZvcm0gZmllbGRzIGluIGEgbGlzdCwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9Zm9ybS1maWVsZHM+XG4gICAgICAgPGxpPlxuICAgICAgICAgICA8bGFiZWwgLz5cbiAgICAgICAgICAgPGlucHV0IC8+XG4gICAgICAgPC9saT5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8c2VsZWN0IC8+XG4gICAgICAgPC9saT5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8aW5wdXQgLz5cbiAgICAgICA8L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5mb3JtLWZpZWxkcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmZvcm0tZmllbGRzID4gbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qKlxuICogTGFiZWxzXG4gKlxuICogRGVmaW5lIGEgYC5sYWJlbGAgY2xhc3MgYXMgd2VsbCBhcyBhIGBsYWJlbGAgZWxlbWVudC4gVGhpcyBtZWFucyB3ZSBjYW4gYXBwbHlcbiAqIGxhYmVsLWxpa2Ugc3R5bGluZyB0byBtZXRhLWxhYmVscyBmb3IgZ3JvdXBzIG9mIG9wdGlvbnMgd2hlcmUgYSBgbGFiZWxgXG4gKiBlbGVtZW50IGlzIG5vdCBzdWl0YWJsZSwgZS5nLjpcbiAqXG4gICA8bGk+XG4gICAgICAgPHNwYW4gY2xhc3M9bGFiZWw+U2VsZWN0IGFuIG9wdGlvbiBiZWxvdzo8L3NwYW4+XG4gICAgICAgPHVsIGNsYXNzPVwibXVsdGktbGlzdCAgZm91ci1jb2xzXCI+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgPC9saT5cbiAqXG4gKi9cbmxhYmVsLFxuLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICAgICAqIEV4dHJhIGhlbHAgdGV4dCBpbiBgbGFiZWxgcywgZS5nLjpcbiAgICAgKlxuICAgICAgIDxsYWJlbD5DYXJkIG51bWJlciA8c21hbGwgY2xhc3M9YWRkaXRpb25hbD5ObyBzcGFjZXM8L3NtYWxsPjwvbGFiZWw+XG4gICAgICpcbiAgICAgKi9cbi5hZGRpdGlvbmFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi8qXG4gKiBHcm91cHMgb2YgY2hlY2tib3hlcyBhbmQgcmFkaW9zLCBlLmcuOlxuICpcbiAgIDxsaT5cbiAgICAgICA8dWwgY2xhc3M9Y2hlY2stbGlzdD5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgPC91bD5cbiAgIDwvbGk+XG4gKlxuICovXG4uY2hlY2stbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLypcbiAgICAgKiBMYWJlbHMgaW4gY2hlY2stbGlzdHNcbiAgICAgKi9cbi5jaGVjay1sYWJlbCxcbi5jaGVjay1saXN0IGxhYmVsLFxuLmNoZWNrLWxpc3QgLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIFNwb2tlbiBmb3JtcyBhcmUgZm9yIGZvcm1zIHRoYXQgcmVhZCBsaWtlIHNwb2tlbiB3b3JkLCBlLmcuOlxuICpcbiAgIDxsaSBjbGFzcz1zcG9rZW4tZm9ybT5cbiAgICAgICBIZWxsbywgbXkgPGxhYmVsIGZvcj1zcG9rZW4tbmFtZT5uYW1lPC9sYWJlbD4gaXNcbiAgICAgICA8aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXRleHQtaW5wdXQgaWQ9c3Bva2VuLW5hbWU+LiBNeSBob21lXG4gICAgICAgPGxhYmVsIGZvcj1jb3VudHJ5PmNvdW50cnk8L2xhYmVsPiBpc1xuICAgICAgIDxzZWxlY3QgaWQ9Y291bnRyeT5cbiAgICAgICAgICAgPG9wdGlvbj5VSzwvb3B0aW9uPlxuICAgICAgICAgICA8b3B0aW9uPlVTPC9vcHRpb24+XG4gICAgICAgICAgIDxvcHRpb24+T3RoZXI8L29wdGlvbj5cbiAgICAgICA8L3NlbGVjdD5cbiAgIDwvbGk+XG4gKlxuICovXG4uc3Bva2VuLWZvcm0gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogRXh0cmEgaGVscCB0ZXh0IGRpc3BsYXllZCBhZnRlciBhIGZpZWxkIHdoZW4gdGhhdCBmaWVsZCBpcyBpbiBmb2N1cywgZS5nLjpcbiAqXG4gICA8bGFiZWwgZm9yPWVtYWlsPkVtYWlsOjwvbGFiZWw+XG4gICA8aW5wdXQgdHlwZT1lbWFpbCBjbGFzcz10ZXh0LWlucHV0IGlkPWVtYWlsPlxuICAgPHNtYWxsIGNsYXNzPWV4dHJhLWhlbHA+LmVkdSBlbWFpbHMgb25seTwvc21hbGw+XG4gKlxuICogV2UgbGVhdmUgdGhlIGhlbHAgdGV4dCBpbiB0aGUgZG9jdW1lbnQgZmxvdyBhbmQgbWVyZWx5IHNldCBpdCB0b1xuICogYHZpc2liaWxpdHk6aGlkZGVuO2AuIFRoaXMgbWVhbnMgdGhhdCBpdCB3b27igJl0IGludGVyZmVyZSB3aXRoIGFueXRoaW5nIG9uY2VcbiAqIGl0IHJlYXBwZWFycy5cbiAqXG4gKi9cbi8qc21hbGwqL1xuLmV4dHJhLWhlbHAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnRleHQtaW5wdXQ6YWN0aXZlICsgLmV4dHJhLWhlbHAsXG4udGV4dC1pbnB1dDpmb2N1cyArIC5leHRyYS1oZWxwIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBPYmplY3RzIGFuZCBhYnN0cmFjdGlvbnNcbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkR1JJRFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZsdWlkIGFuZCBuZXN0YWJsZSBncmlkIHN5c3RlbSwgZS5nLjpcbiAqXG4gICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuXG4gICAgICAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIG9uZS10aGlyZFwiPlxuICAgICAgICAgICA8cD5PbmUgdGhpcmQgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgdHdvLXRoaXJkc1wiPlxuICAgICAgICAgICA8cD5Ud28gdGhpcmRzIGdyaWQ8L3A+XG4gICAgICAgPC9kaXY+PCEtLVxuXG4gICAgLS0+PGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIG9uZS1oYWxmXCI+XG4gICAgICAgICAgIDxwPk9uZSBoYWxmIGdyaWQ8L3A+XG4gICAgICAgPC9kaXY+PCEtLVxuXG4gICAgLS0+PGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIG9uZS1xdWFydGVyXCI+XG4gICAgICAgICAgIDxwPk9uZSBxdWFydGVyIGdyaWQ8L3A+XG4gICAgICAgPC9kaXY+PCEtLVxuXG4gICAgLS0+PGRpdiBjbGFzcz1cImdyaWRfX2l0ZW0gIG9uZS1xdWFydGVyXCI+XG4gICAgICAgICAgIDxwPk9uZSBxdWFydGVyIGdyaWQ8L3A+XG4gICAgICAgPC9kaXY+XG5cbiAgIDwvZGl2PlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9DTFlVQ1xuICpcbiAqL1xuLyoqXG4gKiBHcmlkIHdyYXBwZXJcbiAqL1xuLmdyaWQsIC5wYWdlLWJveGVzLCAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gICAgICogVmVyeSBpbmZyZXF1ZW50bHkgb2NjdXJpbmcgZ3JpZCB3cmFwcGVycyBhcyBjaGlsZHJlbiBvZiBncmlkIHdyYXBwZXJzLlxuICAgICAqL1xuLmdyaWQgPiAuZ3JpZCwgLnBhZ2UtYm94ZXMgPiAuZ3JpZCwgLnBhZ2UtYm94X19saW5rcyAubGlua3MgPiAuZ3JpZCwgLmdyaWQgPiAucGFnZS1ib3hlcywgLnBhZ2UtYm94ZXMgPiAucGFnZS1ib3hlcywgLnBhZ2UtYm94X19saW5rcyAubGlua3MgPiAucGFnZS1ib3hlcywgLnBhZ2UtYm94X19saW5rcyAuZ3JpZCA+IC5saW5rcywgLnBhZ2UtYm94X19saW5rcyAucGFnZS1ib3hlcyA+IC5saW5rcywgLnBhZ2UtYm94X19saW5rcyAubGlua3MgPiAubGlua3Mge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gICAgICogR3JpZFxuICAgICAqL1xuLmdyaWRfX2l0ZW0sIC5wYWdlLWJveCwgLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTkFWXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBOYXYgYWJzdHJhY3Rpb24gYXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8wOS90aGUtbmF2LWFic3RyYWN0aW9uXG4gKiBXaGVuIHVzZWQgb24gYW4gYG9sYCBvciBgdWxgLCB0aGlzIGNsYXNzIHRocm93cyB0aGUgbGlzdCBpbnRvIGhvcml6b250YWwgbW9kZVxuICogZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9bmF2PlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvVm5waDRcbiAqXG4gKi9cbi5uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm5hdiA+IGxpLFxuLm5hdiA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgem9vbTogMTtcbn1cblxuLyoqXG4gKiBgLm5hdi0tc3RhY2tlZGAgZXh0ZW5kcyBgLm5hdmAgYW5kIHRocm93cyB0aGUgbGlzdCBpbnRvIHZlcnRpY2FsIG1vZGUsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLXN0YWNrZWRcIj5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkhvbWU8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkFib3V0PC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Qb3J0Zm9saW88L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPkNvbnRhY3Q8L2E+PC9saT5cbiAgIDwvdWw+XG4gKlxuICovXG4ubmF2LS1zdGFja2VkID4gbGkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi5uYXYtLXN0YWNrZWQgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBgLm5hdi0tYmFubmVyYCBleHRlbmRzIGAubmF2YCBhbmQgY2VudHJlcyB0aGUgbGlzdCwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tYmFubmVyXCI+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLm5hdi0tYmFubmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEdpdmUgbmF2IGxpbmtzIGEgYmlnLCBibG9ja3kgaGl0IGFyZWEuIEV4dGVuZHMgYC5uYXZgLCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1ibG9ja1wiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJsb2NrIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qKlxuICAgICAqIFJlbW92ZSB3aGl0ZXNwYWNlIGNhdXNlZCBieSBgaW5saW5lLWJsb2NrYC5cbiAgICAgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxZW07XG4gIHdvcmQtc3BhY2luZzogLTAuNDNlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm5hdi0tYmxvY2sgPiBsaSB7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xufVxuXG4ubmF2LS1ibG9jayA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDEycHg7XG59XG5cbi8qKlxuICogRm9yY2UgYSBuYXYgdG8gb2NjdXB5IDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aCBvZiBpdHMgcGFyZW50LiBFeHRlbmRzXG4gKiBgLm5hdmAsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWZpdFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBUaGFua3MgdG8gQHBpbXBsIGZvciB0aGlzIGlkZWEhXG4gKi9cbi5uYXYtLWZpdCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdi0tZml0ID4gbGkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4ubmF2LS1maXQgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBNYWtlIGEgbGlzdCBvZiBrZXl3b3Jkcy4gRXh0ZW5kcyBgLm5hdmAsIGUuZy46XG4gKlxuICAgYDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1rZXl3b3Jkcz5gXG4gKlxuICovXG4ubmF2LS1rZXl3b3JkcyA+IGxpOmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwMkNcIiBcIlxcMDBBMFwiO1xufVxuXG4ubmF2LS1rZXl3b3JkcyA+IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRNRURJQVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqIEUuZy46XG4gKlxuICAgPGRpdiBjbGFzcz1tZWRpYT5cbiAgICAgICA8aW1nIHNyYz1odHRwOi8vcGxhY2VraXR0ZW4uY29tLzIwMC8zMDAgYWx0PVwiXCIgY2xhc3M9bWVkaWFfX2ltZz5cbiAgICAgICA8cCBjbGFzcz1tZWRpYV9fYm9keT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCxcbiAgICAgICBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS48L3A+XG4gICA8L2Rpdj5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvY2Y0UXNcbiAqXG4gKi9cbi5tZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVkaWFfX2ltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG59XG5cbi8qKlxuICAgICAqIFJldmVyc2VkIGltYWdlIGxvY2F0aW9uIChyaWdodCBpbnN0ZWFkIG9mIGxlZnQpLlxuICAgICAqL1xuLm1lZGlhX19pbWctLXJldiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5tZWRpYV9faW1nIGltZyxcbi5tZWRpYV9faW1nLS1yZXYgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZWRpYV9fYm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tZWRpYV9fYm9keSxcbi5tZWRpYV9fYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqXG4gICAgICogYC5pbWdgcyBpbiBgLmlzbGV0YHMgbmVlZCBhbiBhcHByb3ByaWF0ZWx5IHNpemVkIG1hcmdpbi5cbiAgICAgKi9cbi5pc2xldCAubWVkaWFfX2ltZyB7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbn1cblxuLmlzbGV0IC5tZWRpYV9faW1nLS1yZXYge1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cblxuLyoqXG4gKiBTdHlsZSB0cnVtcHM7IGhlbHBlciBhbmQgYnJhbmQgY2xhc3Nlc1xuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRXSURUSFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNpemVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdC4gVGhlc2UgYXJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlclxuICogb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGZvdW5kIGluIGludWl0LmNzcywgbW9zdCBjb21tb25seSB0aGUgZ3JpZCBzeXN0ZW1cbiAqIGFuZCBmYXV4IGZsZXhib3guXG4gKlxuICogV2UgaGF2ZSBhIG1peGluIHRvIGdlbmVyYXRlIG91ciB3aWR0aHMgYW5kIHRoZWlyIGJyZWFrcG9pbnQtc3BlY2lmaWNcbiAqIHZhcmlhdGlvbnMuXG4gKi9cbi8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuLm9uZS13aG9sZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4ub25lLWhhbGYsIC50d28tcXVhcnRlcnMsIC50aHJlZS1zaXh0aHMsIC5mb3VyLWVpZ2h0aHMsIC5maXZlLXRlbnRocywgLnNpeC10d2VsZnRocyB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbi5vbmUtdGhpcmQsIC50d28tc2l4dGhzLCAuZm91ci10d2VsZnRocyB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuXG4udHdvLXRoaXJkcywgLmZvdXItc2l4dGhzLCAuZWlnaHQtdHdlbGZ0aHMge1xuICB3aWR0aDogNjYuNjY2JTtcbn1cblxuLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4ub25lLXF1YXJ0ZXIsIC50d28tZWlnaHRocywgLnRocmVlLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnRocmVlLXF1YXJ0ZXJzLCAuc2l4LWVpZ2h0aHMsIC5uaW5lLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuLm9uZS1maWZ0aCwgLnR3by10ZW50aHMge1xuICB3aWR0aDogMjAlO1xufVxuXG4udHdvLWZpZnRocywgLmZvdXItdGVudGhzIHtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLnRocmVlLWZpZnRocywgLnNpeC10ZW50aHMge1xuICB3aWR0aDogNjAlO1xufVxuXG4uZm91ci1maWZ0aHMsIC5laWdodC10ZW50aHMge1xuICB3aWR0aDogODAlO1xufVxuXG4vKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4ub25lLXNpeHRoLCAudHdvLXR3ZWxmdGhzIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG5cbi5maXZlLXNpeHRocywgLnRlbi10d2VsZnRocyB7XG4gIHdpZHRoOiA4My4zMzMlO1xufVxuXG4vKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuLm9uZS1laWdodGgge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbi50aHJlZS1laWdodGhzIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuXG4uZml2ZS1laWdodGhzIHtcbiAgd2lkdGg6IDYyLjUlO1xufVxuXG4uc2V2ZW4tZWlnaHRocyB7XG4gIHdpZHRoOiA4Ny41JTtcbn1cblxuLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuLm9uZS10ZW50aCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi50aHJlZS10ZW50aHMge1xuICB3aWR0aDogMzAlO1xufVxuXG4uc2V2ZW4tdGVudGhzIHtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLm5pbmUtdGVudGhzIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4ub25lLXR3ZWxmdGgge1xuICB3aWR0aDogOC4zMzMlO1xufVxuXG4uZml2ZS10d2VsZnRocyB7XG4gIHdpZHRoOiA0MS42NjYlO1xufVxuXG4uc2V2ZW4tdHdlbGZ0aHMge1xuICB3aWR0aDogNTguMzMzJTtcbn1cblxuLmVsZXZlbi10d2VsZnRocyB7XG4gIHdpZHRoOiA5MS42NjYlO1xufVxuXG4vKipcbiAqIElmIHlvdSBoYXZlIHNldCBgJHJlc3BvbnNpdmVgIHRvIOKAmHRydWXigJkgaW4gYF92YXJzLnNjc3NgIHRoZW4geW91IG5vdyBoYXZlXG4gKiBhY2Nlc3MgdG8gdGhlc2UgY2xhc3Nlcy4gWW91IGNhbiBkZWZpbmUgYXQgd2hpY2ggYnJlYWtwb2ludCB5b3XigJlkIGxpa2UgYW5cbiAqIGVsZW1lbnQgdG8gYmUgYSBjZXJ0YWluIHNpemUsIGUuZy46XG4gKlxuICogYDxkaXYgY2xhc3M9XCJnICBvbmUtcXVhcnRlciAgbGFwLW9uZS1oYWxmICBwYWxtLW9uZS13aG9sZVwiPiAuLi4gPC9kaXY+YFxuICpcbiAqIFRoaXMgd291bGQgY3JlYXRlIGEgYGRpdmAgdGhhdCwgYXQg4oCYZGVza3RvcOKAmSBzaXplcywgdGFrZXMgdXAgYSBxdWFydGVyIG9mIHRoZVxuICogaG9yaXpvbnRhbCBzcGFjZSwgYSBoYWxmIG9mIHRoYXQgc3BhY2UgYXQg4oCYdGFibGV04oCZIHNpemVzLCBhbmQgZ29lcyBmdWxsIHdpZHRoXG4gKiBhdCDigJhtb2JpbGXigJkgc2l6ZXMuXG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL1dTNEdlXG4gKlxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC8qKlxuICAgICogV2hvbGVcbiAgICAqL1xuICAucGFsbS1vbmUtd2hvbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbiAgLnBhbG0tb25lLWhhbGYsIC5wYWxtLXR3by1xdWFydGVycywgLnBhbG0tdGhyZWUtc2l4dGhzLCAucGFsbS1mb3VyLWVpZ2h0aHMsIC5wYWxtLWZpdmUtdGVudGhzLCAucGFsbS1zaXgtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAucGFsbS1vbmUtdGhpcmQsIC5wYWxtLXR3by1zaXh0aHMsIC5wYWxtLWZvdXItdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5wYWxtLXR3by10aGlyZHMsIC5wYWxtLWZvdXItc2l4dGhzLCAucGFsbS1laWdodC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gIC5wYWxtLW9uZS1xdWFydGVyLCAucGFsbS10d28tZWlnaHRocywgLnBhbG0tdGhyZWUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnBhbG0tdGhyZWUtcXVhcnRlcnMsIC5wYWxtLXNpeC1laWdodGhzLCAucGFsbS1uaW5lLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLWZpZnRoLCAucGFsbS10d28tdGVudGhzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5wYWxtLXR3by1maWZ0aHMsIC5wYWxtLWZvdXItdGVudGhzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5wYWxtLXRocmVlLWZpZnRocywgLnBhbG0tc2l4LXRlbnRocyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAucGFsbS1mb3VyLWZpZnRocywgLnBhbG0tZWlnaHQtdGVudGhzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLXNpeHRoLCAucGFsbS10d28tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5wYWxtLWZpdmUtc2l4dGhzLCAucGFsbS10ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA4My4zMzMlO1xuICB9XG4gIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gIC5wYWxtLW9uZS1laWdodGgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAucGFsbS10aHJlZS1laWdodGhzIHtcbiAgICB3aWR0aDogMzcuNSU7XG4gIH1cbiAgLnBhbG0tZml2ZS1laWdodGhzIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gIH1cbiAgLnBhbG0tc2V2ZW4tZWlnaHRocyB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG4gIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgLnBhbG0tb25lLXRlbnRoIHtcbiAgICB3aWR0aDogMTAlO1xuICB9XG4gIC5wYWxtLXRocmVlLXRlbnRocyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAucGFsbS1zZXZlbi10ZW50aHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLnBhbG0tbmluZS10ZW50aHMge1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUd2VsZnRoc1xuICAgICovXG4gIC5wYWxtLW9uZS10d2VsZnRoIHtcbiAgICB3aWR0aDogOC4zMzMlO1xuICB9XG4gIC5wYWxtLWZpdmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA0MS42NjYlO1xuICB9XG4gIC5wYWxtLXNldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTguMzMzJTtcbiAgfVxuICAucGFsbS1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA5MS42NjYlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLmxhcC1vbmUtd2hvbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qKlxuICAgICogSGFsdmVzXG4gICAgKi9cbiAgLmxhcC1vbmUtaGFsZiwgLmxhcC10d28tcXVhcnRlcnMsIC5sYXAtdGhyZWUtc2l4dGhzLCAubGFwLWZvdXItZWlnaHRocywgLmxhcC1maXZlLXRlbnRocywgLmxhcC1zaXgtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAubGFwLW9uZS10aGlyZCwgLmxhcC10d28tc2l4dGhzLCAubGFwLWZvdXItdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5sYXAtdHdvLXRoaXJkcywgLmxhcC1mb3VyLXNpeHRocywgLmxhcC1laWdodC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gIC5sYXAtb25lLXF1YXJ0ZXIsIC5sYXAtdHdvLWVpZ2h0aHMsIC5sYXAtdGhyZWUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcC10aHJlZS1xdWFydGVycywgLmxhcC1zaXgtZWlnaHRocywgLmxhcC1uaW5lLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgLmxhcC1vbmUtZmlmdGgsIC5sYXAtdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFwLXR3by1maWZ0aHMsIC5sYXAtZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLmxhcC10aHJlZS1maWZ0aHMsIC5sYXAtc2l4LXRlbnRocyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAubGFwLWZvdXItZmlmdGhzLCAubGFwLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5sYXAtb25lLXNpeHRoLCAubGFwLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLmxhcC1maXZlLXNpeHRocywgLmxhcC10ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA4My4zMzMlO1xuICB9XG4gIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gIC5sYXAtb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5sYXAtdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5sYXAtZml2ZS1laWdodGhzIHtcbiAgICB3aWR0aDogNjIuNSU7XG4gIH1cbiAgLmxhcC1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAubGFwLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAubGFwLXRocmVlLXRlbnRocyB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAubGFwLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAubGFwLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAubGFwLW9uZS10d2VsZnRoIHtcbiAgICB3aWR0aDogOC4zMzMlO1xuICB9XG4gIC5sYXAtZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLmxhcC1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLmxhcC1lbGV2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA5MS42NjYlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtaGFsZiwgLmxhcC1hbmQtdXAtdHdvLXF1YXJ0ZXJzLCAubGFwLWFuZC11cC10aHJlZS1zaXh0aHMsIC5sYXAtYW5kLXVwLWZvdXItZWlnaHRocywgLmxhcC1hbmQtdXAtZml2ZS10ZW50aHMsIC5sYXAtYW5kLXVwLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5sYXAtYW5kLXVwLW9uZS10aGlyZCwgLmxhcC1hbmQtdXAtdHdvLXNpeHRocywgLmxhcC1hbmQtdXAtZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdHdvLXRoaXJkcywgLmxhcC1hbmQtdXAtZm91ci1zaXh0aHMsIC5sYXAtYW5kLXVwLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXF1YXJ0ZXIsIC5sYXAtYW5kLXVwLXR3by1laWdodGhzLCAubGFwLWFuZC11cC10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFwLWFuZC11cC10aHJlZS1xdWFydGVycywgLmxhcC1hbmQtdXAtc2l4LWVpZ2h0aHMsIC5sYXAtYW5kLXVwLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtZmlmdGgsIC5sYXAtYW5kLXVwLXR3by10ZW50aHMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdHdvLWZpZnRocywgLmxhcC1hbmQtdXAtZm91ci10ZW50aHMge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdGhyZWUtZmlmdGhzLCAubGFwLWFuZC11cC1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5sYXAtYW5kLXVwLWZvdXItZmlmdGhzLCAubGFwLWFuZC11cC1laWdodC10ZW50aHMge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLyoqXG4gICAgKiBTaXh0aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtc2l4dGgsIC5sYXAtYW5kLXVwLXR3by10d2VsZnRocyB7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZml2ZS1zaXh0aHMsIC5sYXAtYW5kLXVwLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLWVpZ2h0aCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXRocmVlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxuICAubGFwLWFuZC11cC1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAubGFwLWFuZC11cC1zZXZlbi1laWdodGhzIHtcbiAgICB3aWR0aDogODcuNSU7XG4gIH1cbiAgLyoqXG4gICAgKiBUZW50aHNcbiAgICAqL1xuICAubGFwLWFuZC11cC1vbmUtdGVudGgge1xuICAgIHdpZHRoOiAxMCU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5sYXAtYW5kLXVwLXNldmVuLXRlbnRocyB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAubGFwLWFuZC11cC1uaW5lLXRlbnRocyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAvKipcbiAgICAqIFR3ZWxmdGhzXG4gICAgKi9cbiAgLmxhcC1hbmQtdXAtb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtZml2ZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDQxLjY2NiU7XG4gIH1cbiAgLmxhcC1hbmQtdXAtc2V2ZW4tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA1OC4zMzMlO1xuICB9XG4gIC5sYXAtYW5kLXVwLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS13aG9sZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLWhhbGYsIC5wb3J0YWJsZS10d28tcXVhcnRlcnMsIC5wb3J0YWJsZS10aHJlZS1zaXh0aHMsIC5wb3J0YWJsZS1mb3VyLWVpZ2h0aHMsIC5wb3J0YWJsZS1maXZlLXRlbnRocywgLnBvcnRhYmxlLXNpeC10d2VsZnRocyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKipcbiAgICAqIFRoaXJkc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtdGhpcmQsIC5wb3J0YWJsZS10d28tc2l4dGhzLCAucG9ydGFibGUtZm91ci10d2VsZnRocyB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLXR3by10aGlyZHMsIC5wb3J0YWJsZS1mb3VyLXNpeHRocywgLnBvcnRhYmxlLWVpZ2h0LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxuICAvKipcbiAgICAqIFF1YXJ0ZXJzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS1xdWFydGVyLCAucG9ydGFibGUtdHdvLWVpZ2h0aHMsIC5wb3J0YWJsZS10aHJlZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtcXVhcnRlcnMsIC5wb3J0YWJsZS1zaXgtZWlnaHRocywgLnBvcnRhYmxlLW5pbmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyoqXG4gICAgKiBGaWZ0aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLWZpZnRoLCAucG9ydGFibGUtdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAucG9ydGFibGUtdHdvLWZpZnRocywgLnBvcnRhYmxlLWZvdXItdGVudGhzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC5wb3J0YWJsZS10aHJlZS1maWZ0aHMsIC5wb3J0YWJsZS1zaXgtdGVudGhzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC5wb3J0YWJsZS1mb3VyLWZpZnRocywgLnBvcnRhYmxlLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5wb3J0YWJsZS1vbmUtc2l4dGgsIC5wb3J0YWJsZS10d28tdHdlbGZ0aHMge1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5wb3J0YWJsZS1maXZlLXNpeHRocywgLnBvcnRhYmxlLXRlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDgzLjMzMyU7XG4gIH1cbiAgLyoqXG4gICAgKiBFaWdodGhzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS1laWdodGgge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5wb3J0YWJsZS1maXZlLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgfVxuICAucG9ydGFibGUtc2V2ZW4tZWlnaHRocyB7XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG4gIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgLnBvcnRhYmxlLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAucG9ydGFibGUtdGhyZWUtdGVudGhzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5wb3J0YWJsZS1zZXZlbi10ZW50aHMge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbiAgLnBvcnRhYmxlLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAucG9ydGFibGUtb25lLXR3ZWxmdGgge1xuICAgIHdpZHRoOiA4LjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLWZpdmUtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA0MS42NjYlO1xuICB9XG4gIC5wb3J0YWJsZS1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLnBvcnRhYmxlLWVsZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDkxLjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAvKipcbiAgICAqIFdob2xlXG4gICAgKi9cbiAgLmRlc2stb25lLXdob2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKipcbiAgICAqIEhhbHZlc1xuICAgICovXG4gIC5kZXNrLW9uZS1oYWxmLCAuZGVzay10d28tcXVhcnRlcnMsIC5kZXNrLXRocmVlLXNpeHRocywgLmRlc2stZm91ci1laWdodGhzLCAuZGVzay1maXZlLXRlbnRocywgLmRlc2stc2l4LXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qKlxuICAgICogVGhpcmRzXG4gICAgKi9cbiAgLmRlc2stb25lLXRoaXJkLCAuZGVzay10d28tc2l4dGhzLCAuZGVzay1mb3VyLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgfVxuICAuZGVzay10d28tdGhpcmRzLCAuZGVzay1mb3VyLXNpeHRocywgLmRlc2stZWlnaHQtdHdlbGZ0aHMge1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC8qKlxuICAgICogUXVhcnRlcnNcbiAgICAqL1xuICAuZGVzay1vbmUtcXVhcnRlciwgLmRlc2stdHdvLWVpZ2h0aHMsIC5kZXNrLXRocmVlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5kZXNrLXRocmVlLXF1YXJ0ZXJzLCAuZGVzay1zaXgtZWlnaHRocywgLmRlc2stbmluZS10d2VsZnRocyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAvKipcbiAgICAqIEZpZnRoc1xuICAgICovXG4gIC5kZXNrLW9uZS1maWZ0aCwgLmRlc2stdHdvLXRlbnRocyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAuZGVzay10d28tZmlmdGhzLCAuZGVzay1mb3VyLXRlbnRocyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAuZGVzay10aHJlZS1maWZ0aHMsIC5kZXNrLXNpeC10ZW50aHMge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLmRlc2stZm91ci1maWZ0aHMsIC5kZXNrLWVpZ2h0LXRlbnRocyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKipcbiAgICAqIFNpeHRoc1xuICAgICovXG4gIC5kZXNrLW9uZS1zaXh0aCwgLmRlc2stdHdvLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogMTYuNjY2JTtcbiAgfVxuICAuZGVzay1maXZlLXNpeHRocywgLmRlc2stdGVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogODMuMzMzJTtcbiAgfVxuICAvKipcbiAgICAqIEVpZ2h0aHNcbiAgICAqL1xuICAuZGVzay1vbmUtZWlnaHRoIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbiAgLmRlc2stdGhyZWUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG4gIC5kZXNrLWZpdmUtZWlnaHRocyB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICB9XG4gIC5kZXNrLXNldmVuLWVpZ2h0aHMge1xuICAgIHdpZHRoOiA4Ny41JTtcbiAgfVxuICAvKipcbiAgICAqIFRlbnRoc1xuICAgICovXG4gIC5kZXNrLW9uZS10ZW50aCB7XG4gICAgd2lkdGg6IDEwJTtcbiAgfVxuICAuZGVzay10aHJlZS10ZW50aHMge1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cbiAgLmRlc2stc2V2ZW4tdGVudGhzIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC5kZXNrLW5pbmUtdGVudGhzIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAuZGVzay1vbmUtdHdlbGZ0aCB7XG4gICAgd2lkdGg6IDguMzMzJTtcbiAgfVxuICAuZGVzay1maXZlLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogNDEuNjY2JTtcbiAgfVxuICAuZGVzay1zZXZlbi10d2VsZnRocyB7XG4gICAgd2lkdGg6IDU4LjMzMyU7XG4gIH1cbiAgLmRlc2stZWxldmVuLXR3ZWxmdGhzIHtcbiAgICB3aWR0aDogOTEuNjY2JTtcbiAgfVxufVxuXG4vKipcbiAqIElmIHlvdSBoYXZlIHNldCB0aGUgYWRkaXRpb25hbCBgJHJlc3BvbnNpdmUtZXh0cmFgIHZhcmlhYmxlIHRvIOKAmHRydWXigJkgaW5cbiAqIGBfdmFycy5zY3NzYCB0aGVuIHlvdSBub3cgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBjbGFzcyBhdmFpbGFibGUgdG9cbiAqIGFjY29tb2RhdGUgbXVjaCBsYXJnZXIgc2NyZWVuIHJlc29sdXRpb25zLlxuICovXG4vKiBlbmRpZiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUFVTSFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUHVzaCBjbGFzc2VzLCB0byBtb3ZlIGdyaWQgaXRlbXMgb3ZlciB0byB0aGUgcmlnaHQgYnkgY2VydGFpbiBhbW91bnRzLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQVUxMXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQdWxsIGNsYXNzZXMsIHRvIG1vdmUgZ3JpZCBpdGVtcyBvdmVyIHRvIHRoZSByaWdodCBieSBjZXJ0YWluIGFtb3VudHMuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBgLmJyYW5kYCBpcyBhIHF1aWNrIGFuZCBzaW1wbGUgd2F5IHRvIGFwcGx5IHlvdXIgYnJhbmQgZmFjZSBhbmQvb3IgY29sb3IgdG9cbiAqIGFueSBlbGVtZW50IHVzaW5nIGEgaGFuZHkgaGVscGVyIGNsYXNzLlxuICovXG4uYnJhbmQge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmIWltcG9ydGFudDtcbiAgY29sb3I6ICM0YThlYzIhaW1wb3J0YW50O1xufVxuXG4uYnJhbmQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYhaW1wb3J0YW50O1xufVxuXG4uYnJhbmQtY29sb3IsXG4uYnJhbmQtY29sb3VyIHtcbiAgY29sb3I6ICM0YThlYzIhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRIRUxQRVJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseS4gT25seSB1c2UgYSBoZWxwZXIgY2xhc3MgaWYgYW5cbiAqIGVsZW1lbnQvY29tcG9uZW50IGRvZXNu4oCZdCBhbHJlYWR5IGhhdmUgYSBjbGFzcyB0byB3aGljaCB5b3UgY291bGQgYXBwbHkgdGhpc1xuICogc3R5bGluZywgZS5nLiBpZiB5b3UgbmVlZCB0byBmbG9hdCBgLm1haW4tbmF2YCBsZWZ0IHRoZW4gYWRkIGBmbG9hdDpsZWZ0O2AgdG9cbiAqIHRoYXQgcnVsZXNldCBhcyBvcHBvc2VkIHRvIGFkZGluZyB0aGUgYC5mbG9hdC0tbGVmdGAgY2xhc3MgdG8gdGhlIG1hcmt1cC5cbiAqXG4gKiBBIGxvdCBvZiB0aGVzZSBjbGFzc2VzIGNhcnJ5IGAhaW1wb3J0YW50YCBhcyB5b3Ugd2lsbCBhbHdheXMgd2FudCB0aGVtIHRvIHdpblxuICogb3V0IG92ZXIgb3RoZXIgc2VsZWN0b3JzLlxuICovXG4vKipcbiAqIEFkZC9yZW1vdmUgZmxvYXRzXG4gKi9cbi5mbG9hdC0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LS1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LS1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudFxuICovXG4udGV4dC0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBGb250IHdlaWdodHNcbiAqL1xuLndlaWdodC0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi53ZWlnaHQtLW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLndlaWdodC0tc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkL3JlbW92ZSBtYXJnaW5zXG4gKi9cbi5wdXNoIHtcbiAgbWFyZ2luOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS10b3Age1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1lbmRzIHtcbiAgbWFyZ2luLXRvcDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLS1zaWRlcyB7XG4gIG1hcmdpbi1yaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmIHtcbiAgbWFyZ2luOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wdXNoLWhhbGYtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnB1c2gtaGFsZi0tZW5kcyB7XG4gIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweCAhaW1wb3J0YW50O1xufVxuXG4ucHVzaC1oYWxmLS1zaWRlcyB7XG4gIG1hcmdpbi1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMTJweCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS10b3Age1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmZsdXNoLS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mbHVzaC0tZW5kcyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uZmx1c2gtLXNpZGVzIHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkL3JlbW92ZSBwYWRkaW5nc1xuICovXG4uc29mdCB7XG4gIHBhZGRpbmc6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LS1lbmRzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtLXNpZGVzIHtcbiAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZiB7XG4gIHBhZGRpbmc6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tdG9wIHtcbiAgcGFkZGluZy10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLnNvZnQtaGFsZi0tZW5kcyB7XG4gIHBhZGRpbmctdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zb2Z0LWhhbGYtLXNpZGVzIHtcbiAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cblxuLmhhcmQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uaGFyZC0tZW5kcyB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5oYXJkLS1zaWRlcyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUHVsbCBpdGVtcyBmdWxsIHdpZHRoIG9mIGAuaXNsYW5kYCBwYXJlbnRzLlxuICovXG4uZnVsbC1ibGVlZCB7XG4gIG1hcmdpbi1yaWdodDogLTI0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0yNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5pc2xldCAuZnVsbC1ibGVlZCB7XG4gIG1hcmdpbi1yaWdodDogLTEycHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogQWRkIGEgaGVscCBjdXJzb3IgdG8gYW55IGVsZW1lbnQgdGhhdCBnaXZlcyB0aGUgdXNlciBleHRyYSBpbmZvcm1hdGlvbiBvblxuICogYDpob3ZlcmAuXG4gKi9cbi5pbmZvcm1hdGl2ZSB7XG4gIGN1cnNvcjogaGVscCAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIE11dGUgYW4gb2JqZWN0IGJ5IHJlZHVjaW5nIGl0cyBvcGFjaXR5LlxuICovXG4ubXV0ZWQge1xuICBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKSAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEFsaWduIGl0ZW1zIHRvIHRoZSByaWdodCB3aGVyZSB0aGV5IGltcGx5IHByb2dyZXNzaW9uL21vdmVtZW50IGZvcndhcmQsIGUuZy46XG4gKlxuICAgPHAgY2xhc3M9cHJvY2VlZD48YSBocmVmPSM+UmVhZCBtb3JlLi4uPC9hPjwvcD5cbiAqXG4gKi9cbi5wcm9jZWVkIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBBZGQgYSByaWdodC1hbmdsZWQgcXVvdGUgdG8gbGlua3MgdGhhdCBpbXBseSBtb3ZlbWVudCwgZS5nLjpcbiAqXG4gICA8YSBocmVmPSMgY2xhc3M9Z28+UmVhZCBtb3JlPC9hPlxuICpcbiAqL1xuLmdvOmFmdGVyIHtcbiAgY29udGVudDogXCLCoFwiIFwiwrtcIiAhaW1wb3J0YW50O1xufVxuXG4vKipcbiAqIEFwcGx5IGNhcGl0YWwgY2FzZSB0byBhbiBlbGVtZW50ICh1c3VhbGx5IGEgYHN0cm9uZ2ApLlxuICovXG4uY2FwcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBIaWRlIGNvbnRlbnQgb2ZmLXNjcmVlbiB3aXRob3V0IHJlc29ydGluZyB0byBgZGlzcGxheTpub25lO2AsIGFsc28gcHJvdmlkZVxuICogYnJlYWtwb2ludCBzcGVjaWZpYyBoaWRkZW4gZWxlbWVudHMuXG4gKi9cbi5hY2Nlc3NpYmlsaXR5LFxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1wYWxtLFxuICAudmlzdWFsbHloaWRkZW4tLXBhbG0ge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tbGFwLFxuICAudmlzdWFsbHloaWRkZW4tLWxhcCB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tbGFwLWFuZC11cCxcbiAgLnZpc3VhbGx5aGlkZGVuLS1sYXAtYW5kLXVwIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5hY2Nlc3NpYmlsaXR5LS1wb3J0YWJsZSxcbiAgLnZpc3VhbGx5aGlkZGVuLS1wb3J0YWJsZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tZGVzayxcbiAgLnZpc3VhbGx5aGlkZGVuLS1kZXNrIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNjBweCkge1xuICAuYWNjZXNzaWJpbGl0eS0tZGVzay13aWRlLFxuICAudmlzdWFsbHloaWRkZW4tLWRlc2std2lkZSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogZW5kaWYgKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcXFxuICAgIENPTlRFTlRTXG4gICAgLS0tLS0tLS1cbiAgICAtIHN2Z1xuICAgIC0gY2xlYXJmaXhcbiAgICAtIGJyZWFrLXRleHRcbiAgICAtIHRyaWFuZ2xlXG4gICAgLSB0cmFuc2l0aW9uXG4gICAgLSBhc3BlY3QtcmF0aW9cbiAgICAtIHRpbGUtcmlnaHQtYm9yZGVyXG4gICAgLSBmb250LWxpZ2h0XG4gICAgLSBmb250LXN0cm9uZ1xuICAgIC0gZm9udC1ib2xkXG4gICAgLSB0aW50XG4gICAgLSByaWJib25cblxcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogXG4qIEBpbmNsdWRlIHRyaWFuZ2xlIHdpdGhpbiBhIHBzZXVkbyBlbGVtZW50IGFuZCBhZGQgcG9zaXRpb25pbmcgcHJvcGVydGllcyAoaWUuIHRvcCwgbGVmdClcbiogJGRpcmVjdGlvbjogdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4qL1xuLyogUmliYm9uIHN0eWxlICovXG4ucGFnZS1ib3hlcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogLTI0cHg7XG59XG5cbi5wYWdlLWJveGVzOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFnZS1ib3hlcyAucmliYm9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBoZWlnaHQ6IDc4cHg7XG4gIHdpZHRoOiA5NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udC5yaWJib24tZnJvbnQtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMjRweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQucmliYm9uLWZyb250LXJpZ2h0IHtcbiAgcmlnaHQ6IC0yNHB4O1xuICBsZWZ0OiBhdXRvO1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3hlcyAucmliYm9uLWZyb250IHtcbiAgICB3aWR0aDogNjUlO1xuICB9XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDEsIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDIsIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDMsIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDQge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnBhZ2UtYm94ZXMgLnJpYmJvbi1mcm9udCBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICB9XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDIge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDMge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJveGVzIC5yaWJib24tZnJvbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgfVxufVxuXG4ucGFnZS1ib3hlcyAucmliYm9uLWVkZ2UtYm90dG9tbGVmdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgdG9wOiA3OHB4O1xuICBsZWZ0OiAtMjRweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMjA0MDY3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgMjRweCAyNHB4IDA7XG59XG5cbi5wYWdlLWJveGVzIC5yaWJib24tZWRnZS1ib3R0b21yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgdG9wOiA3OHB4O1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTI0cHg7XG4gIGJvcmRlci1jb2xvcjogIzIwNDA2NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAyNHB4IDI0cHggMCAwO1xufVxuXG4ucGFnZS1ib3gge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGFnZS1ib3g6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wYWdlLWJveCAuc3VidGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnBhZ2UtYm94IC5zdWJ0aXRsZSArIC5zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xufVxuXG4ucGFnZS1ib3hfX2luc2lkZSwgLnBhZ2UtYm94X190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnBhZ2UtYm94X19pbnNpZGU6YWZ0ZXIsIC5wYWdlLWJveF9fdGl0bGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wYWdlLWJveF9faW5zaWRlLS1wYWRkZWQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAucGFnZS1ib3hfX2luc2lkZS5qcy1zZWFyY2gtcmVzdWx0cy1saXN0IHtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCAwIDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2luc2lkZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5wYWdlLWJveF9fZWxlbWVudCB7XG4gICAgcGFkZGluZzogMCAwIDAgMjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19pbWFnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAubGVmdC1zaWRlZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5yaWdodC1zaWRlZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5wYWdlLWJveF9fYm9keSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAucGFnZS1ib3hfX2JvZHkgdWwgbGksIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19ib2R5IG9sIGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLmltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgbWFyZ2luLXRvcDogLTI0cHg7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAuaW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5iYWNrLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAucGFnZS1ib3gtLWNvbWJvIC5iYWNrLWxpbms6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnBhZ2UtYm94X19pbnNpZGUgPiAucGFnZS1ib3hfX2VsZW1lbnQucmlnaHQtc2lkZWQ6Zmlyc3QtY2hpbGQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC0tY29tYm8gLmxlZnQtc2lkZWQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLnJpZ2h0LXNpZGVkIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5wYWdlLWJveC0tY29tYm8gLmhhbGYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnBhZ2UtYm94LS1jb21ibyAuZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnBhZ2UtYm94LnBhZ2UtYm94LS10aHJlZS1uZXdzIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnBhZ2UtYm94LS1mdWxsLXdpZHRoIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgcGFkZGluZzogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1taWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIC5wYWdlLWJveC0tbWlkZGxlIC50aWxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wYWdlLWJveC0tbWlkZGxlIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAxMnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnBhZ2UtYm94LS1taWRkbGUgLnRpbGUtLW1pZGRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSAudGlsZS0tZG91YmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSAudGlsZS0tZG91YmxlIC50aWxlX19pbWFnZTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLW1pZGRsZSAudGlsZS0tZG91YmxlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMCU7XG4gIH1cbiAgLnBhZ2UtYm94LS1taWRkbGUgLnRpbGUtLWRvdWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIC5wYWdlLWJveC0tbWlkZGxlIC50aWxlLS1kb3VibGUgLnRpbGVfX2hpZ2hsaWdodC1mbGFnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1taWRkbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExNjBweCkge1xuICAucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMlO1xuICB9XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyOTtcbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UgLnBhZ2UtYm94X19pbnNpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNiYmI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIC50YWdzIHtcbiAgdG9wOiA3MnB4O1xuICBsZWZ0OiAyNHB4O1xuICByaWdodDogMjRweDtcbiAgYm90dG9tOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZSAudGFnczphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UgLnRhZ3MgdWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIC50YWdzIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tZXhwZXJ0aXNlIC50YWdzIHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZSAudGFncyB1bCBsaSBhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBhZ2UtYm94LS1leHBlcnRpc2UgLnRhZyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3gtLWV4cGVydGlzZS5hY3RpdmUge1xuICAvKnBhZGRpbmctYm90dG9tOiAwOyovXG4gIC8qaGVpZ2h0OiBhdXRvOyovXG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlLmFjdGl2ZSAudGFncyB7XG4gIC8qaGVpZ2h0OiBhdXRvOyovXG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlLmFjdGl2ZSAucGFnZS1ib3hfX2luc2lkZSB7XG4gIC8qcG9zaXRpb246IHN0YXRpYzsqL1xufVxuXG4ucGFnZS1ib3hfX2VsZW1lbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ucGFnZS1ib3hfX3RpdGxlIC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDkwOTE7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUgLnN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ucGFnZS1ib3hfX3RpdGxlIC5hcHBsaWVzLXRvIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUgLmFwcGxpZXMtdG8gYSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuW2RhdGEtY3VycmVudC1icmFuY2g9XCJhZ29cIl0gLnBhZ2UtYm94X190aXRsZSAuYXBwbGllcy10byB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWJveF9fdGl0bGUgLmxpbmsge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveF9fdGl0bGUgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI5O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG4gIC5wYWdlLWJveF9fdGl0bGUgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuLnBhZ2UtYm94X19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveF9faW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wYWdlLWJveF9faW1hZ2UgLmJhY2stbGluayB7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyB7XG4gIG1heC13aWR0aDogMzAwcHg7XG59XG5cbi5wYWdlLWJveF9fY29udGFjdHMgLnRlbGVwaG9uZS1udW1iZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyAuZW1haWwge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGFnZS1ib3hfX2NvbnRhY3RzIC5lbWFpbCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyAuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveF9fY29udGFjdHMgLmxhbmd1YWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveF9fcGFydG5lciAuc3VidGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyB7XG4gIG1pbi1oZWlnaHQ6IDcycHg7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogIzEzMjk0YTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24teGluZyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi10d2l0dGVyIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLWxpbmtlZGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLWNhbGVuZGFyIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhIC5pY29uLXNoYXJlX2FsdCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1sYXdub3cge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tcmVnem9uZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogIzEzMjk0YTtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1lZ3VpZGUge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tZmFjZWJvb2sge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICMxMzI5NGE7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgc3ZnLFxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMzBweDtcbn1cblxuLnBhZ2UtYm94X19saW5rcyAubGlua3MgYSAuaWNvbi1waG9uZSB7XG4gIHN0cm9rZS13aWR0aDogMTU7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEgLmljb24tYm9va21hcmsge1xuICBzdHJva2Utd2lkdGg6IDI0cHg7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEucmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGEudXNlcl9jYXJkIHtcbiAgZmlsbDogIzEzMjk0YTtcbiAgc3Ryb2tlOiAjMTMyOTRhO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhLmpzLW9iZnVzY2F0ZSBzdmcge1xuICBoZWlnaHQ6IDI4cHg7XG4gIHRvcDogLTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS1ib3hfX2xpbmtzIC5saW5rcyBhOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveF9fbGlua3Mge1xuICAgIGhlaWdodDogMjRweDtcbiAgfVxuICAucGFnZS1ib3hfX2xpbmtzIC5saW5rcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBhZ2UtYm94X19saW5rcyAubGlua3MgYTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94X19saW5rcyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTE1OXB4KSB7XG4gIC5wYWdlLWJveF9fbGlua3MgLmxpbmtzIGE6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiAudGV4dCB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24gLnRleHQgYSB7XG4gIGNsZWFyOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzY2NjtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucGFnZS1ib3gtLWxvY2F0aW9uIC50ZXh0IGE6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24gLnRleHQgLmxvY2F0aW9ucy1saXN0IGEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnZS1ib3gtLWxvY2F0aW9uIC50ZXh0IC5sb2NhdGlvbnMtbGlzdCBhOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiAuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveC0tbG9jYXRpb24gLm1hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDMxMnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC0tbG9jYXRpb24gLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIG1pbi1oZWlnaHQ6IDMxMnB4O1xuICB9XG4gIC5wYWdlLWJveC0tbG9jYXRpb24gLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAucGFnZS1ib3gtLWxvY2F0aW9uIC5sZWZ0LXNpZGVkIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzJTtcbiAgfVxuICAucGFnZS1ib3gtLWxvY2F0aW9uIC5yaWdodC1zaWRlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMzMuMzMzMzMzMyU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXRocmVlLW5ld3MuaW50ZXJuYXRpb25hbC1kZXNrcy1ib3gge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5wYWdlLWJveC0tdGhyZWUtbmV3cyAudGlsZTpub3QoLnRpbGUtLWJ1Y2tldC1wdWJsaWNhdGlvbikge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnZS1ib3gtLWhpZ2hsaWdodGVkLXRpbGUuaW50ZXJuYXRpb25hbC1kZXNrcy1ib3gge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLWhpZ2hsaWdodGVkLXRpbGUgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1ob21lcGFnZS10aHJlZS1uZXdzIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG59XG5cbi5wYWdlLWJveC0taG9tZXBhZ2UtdGhyZWUtbmV3cyAucGFnZS1ib3hfX2luc2lkZSB7XG4gIGJhY2tncm91bmQ6ICNlYWVhZWE7XG59XG5cbi5ibG9jay1zaXRlbWFwIC5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJsb2NrLXNpdGVtYXAgLm1haW4tY29udGVudCAucGFnZS1ib3hfX2luc2lkZSB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyB7XG4gIG92ZXJmbG93OiB1bnNldDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5yaWJib24td3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLnJpYmJvbi13cmFwcGVyIC5yaWJib24tZnJvbnQge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5yaWJib24td3JhcHBlciAucmliYm9uLWVkZ2UtYm90dG9tbGVmdCB7XG4gIHRvcDogOTNweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG4ge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY2xlYXI6IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG46YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyAuYnRuLmV4cGFuZC1ib3gtYnRuOm50aC1jaGlsZCgtbisxKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC1jb250cm9scyAuYnRuLmV4cGFuZC1ib3gtYnRuOmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG4ge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMlIC0gN3B4KTtcbiAgfVxuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0bjpudGgtY2hpbGQoLW4rNCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG46bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG4ge1xuICAgIG1hcmdpbi1yaWdodDogMTdweDtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMXB4KTtcbiAgfVxuICAucGFnZS1ib3gtLXNpdGVtYXAtY29udHJvbHMgLmJ0bi5leHBhbmQtYm94LWJ0bjpudGgtY2hpbGQoLW4rMykge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIC5idG4uZXhwYW5kLWJveC1idG46bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAucGFnZS1ib3hfX2luc2lkZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgY29sb3I6ICM1NTU7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAuc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IC5jb2x1bW4gPiAuc2l0ZW1hcC1saXN0X19sZXZlbC0yOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuY29sdW1uIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDI0cHgpO1xuICB9XG4gIC5wYWdlLWJveC0tc2l0ZW1hcCAuc2l0ZW1hcC1saXN0IC5jb2x1bW4gPiAuc2l0ZW1hcC1saXN0X19sZXZlbC0yOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogNTRweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIHtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIGNvbG9yOiAjMTMyOTRhO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMiB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAgLnNpdGVtYXAtbGlzdCAuc2l0ZW1hcC1saXN0X19sZXZlbC0yOm50aC1vZi10eXBlKDEpIHtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIC5zaXRlbWFwLWxpc3QgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucGFnZS1ib3gtLXNpdGVtYXAucGFnZS1ib3gtLXNpdGVtYXBfX29uZS1sZXZlbCAuc2l0ZW1hcC1saXN0IC50aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC5wYWdlLWJveC0tc2l0ZW1hcF9fb25lLWxldmVsIC5zaXRlbWFwLWxpc3QgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wYWdlLWJveC0tc2l0ZW1hcC5wYWdlLWJveC0tc2l0ZW1hcC1icmFuY2ggLnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLnBhZ2UtYm94LS1zaXRlbWFwLWJyYW5jaCAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLnBhZ2UtYm94LS1zaXRlbWFwLWJyYW5jaCAuc2l0ZW1hcC1saXN0X19sZXZlbC0xIC5yZWd1bGFyLWxpbmsgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzVhNzdhMjtcbn1cblxuLnBhZ2UtYm94X190b2Mge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGFnZS1ib3hfX3RvYzplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveF9fdG9jIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMTAwcHg7XG4gICAgei1pbmRleDogMTU7XG4gIH1cbn1cblxuLyogU2hhcmUgYmxvY2sqL1xuLyogUmliYm9uIHN0eWxlICovXG4vKlxuQ29udGFjdCBmb3JtIGJsb2NrXG4gKi9cbi8qXG5JbmZvZ3JhcGhpY3MgYmxvY2tcbiAqL1xuLyogVmlkZW8gYmxvY2sgKi9cbi8qIEhhbGYgYmxvY2sgKi9cbi8qIENvbnRlbnQgYmxvY2sgKi9cbi8qIERvd25sb2FkIGJsb2NrKi9cbi5rZXktY29udGFjdCBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLWxpbmsge1xuICByaWdodDogNzVweDtcbiAgYm90dG9tOiAwO1xufVxuXG4ua2V5LWNvbnRhY3Qucm93LW9yaWVudGVkIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA2MCU7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDc1JTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi10ZXh0IC5wZXJzb24tYWRkcmVzcy1ibG9jayB7XG4gIHdpZHRoOiA4NCU7XG59XG5cbi5rZXktY29udGFjdC5yb3ctb3JpZW50ZWQgLnBlcnNvbi10ZXh0IC5wZXJzb24tYWRkcmVzcy1ibG9jayAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQgLmFjdGlvbi1iYXIucGVyc29uLWFjdGlvbnMge1xuICB3aWR0aDogMTYlO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQgLmFjdGlvbi1iYXIucGVyc29uLWFjdGlvbnMgLmFjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAucGVyc29uLXRleHQgLmFjdGlvbi1iYXIucGVyc29uLWFjdGlvbnMgLmFjdGlvbi5hY3Rpb24tLXBob25lIHtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xufVxuXG4ua2V5LWNvbnRhY3Qucm93LW9yaWVudGVkIC5saXN0aW5nX19sb2FkLW1vcmUge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuLmtleS1jb250YWN0LnJvdy1vcmllbnRlZCAubGlzdGluZ19fbG9hZC1tb3JlIC5idG4ge1xuICBwYWRkaW5nOiA2cHggMjRweDtcbn1cblxuLmtleS1jb250YWN0IC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4ua2V5LWNvbnRhY3QgLnBlcnNvbi1pbWFnZS1waG90byBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmtleS1jb250YWN0IC5wZXJzb24tdGV4dCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ua2V5LWNvbnRhY3QgLnBlcnNvbi1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBHZW5lcmFsIHBhZ2UgKi9cbi50b3BfcHVibGljYXRpb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUuZWRpdG9yaWFsX21vZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5yb3cgLmZvcm1fYmxvY2sge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6bnRoLWNoaWxkKDIpIC5yaWJib24tZnJvbnQge1xuICByaWdodDogLTI0cHg7XG4gIGxlZnQ6IGF1dG87XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmOm50aC1jaGlsZCgyKSAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHRvcDogNzhweDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMjRweCAyNHB4IDAgMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmLmJsb2NrX2ludmlzaWJsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLnRwdF90b2M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5iYXNlX2Jsb2NrX19jb250ZW50LmZsb2F0LS1yaWdodCB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAucm93IC5ibG9ja19iYXNlLmhhbGY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLnJvdyAuYmxvY2tfYmFzZS5oYWxmOm50aC1jaGlsZCgyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAubGFuZGluZy1wYWdlX19ibG9jaywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19zbGlkZXIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Rvd25sb2FkLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTYwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSB7XG4gICAgbWluLWhlaWdodDogMzM1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMTkxOTE5O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gICAgZmxleC1iYXNpczogNjYuNjYlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjYWJiMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnR3by1zdGF0ZS1ibG9jayB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnR3by1zdGF0ZS1ibG9ja19faW5pdGlhbCB7XG4gIG92ZXJmbG93OiBpbml0aWFsO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgaGVpZ2h0OiA3OHB4O1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmxlZnQgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5sZWZ0IC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDQge1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDdweCAzMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAubGVmdCAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLnJpZ2h0IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLmtleS1jb250YWN0IHtcbiAgcGFkZGluZzogMjBweCAyNHB4IDI0cHggMjRweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLmtleS1jb250YWN0IC5wZXJzb24tbmFtZSAubmFtZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucmlnaHQgLnNob3ctYWxsIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gLnRleHQge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIGlucHV0W3R5cGU9dGV4dF0sXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZDBkNGRiO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIHRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAucHJpdmFjeSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybSAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gIGNvbG9yOiAjZTUxMzEzO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtIC5jb250YWN0LWZvcm1fX2hlYWQtLXNlbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0td3JvbmcgdGV4dGFyZWEsXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0td3JvbmcgaW5wdXRbdHlwZT10ZXh0XSxcbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS13cm9uZyBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNTEzMTM7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS13cm9uZyAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0tc3VibWl0dGluZyA+ICoge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250YWN0LWZvcm0uY29udGFjdC1mb3JtLS1zdWJtaXR0aW5nIC5jb250YWN0LWZvcm1fX292ZXJsYXkge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyc7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGJhY2tncm91bmQ6ICNhYmIzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybS5jb250YWN0LWZvcm0tLXN1Ym1pdHRpbmcgLmNvbnRhY3QtZm9ybV9fb3ZlcmxheS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGFjdC1mb3JtLmNvbnRhY3QtZm9ybS0tc2VudCAuY29udGFjdC1mb3JtX19oZWFkLS1pbml0aWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRhY3QtZm9ybS5jb250YWN0LWZvcm0tLXNlbnQgLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuaW5mb2dyYXBoaWNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdiAuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDUxLjg0NiA0NTEuODQ3JyUzZSUzY2clM2UlM2NwYXRoIGZpbGw9JyUyMzY2NicgZD0nTTM0NS40NDEgMjQ4LjI5MkwxNTEuMTU0IDQ0Mi41NzNjLTEyLjM1OSAxMi4zNjUtMzIuMzk3IDEyLjM2NS00NC43NSAwLTEyLjM1NC0xMi4zNTQtMTIuMzU0LTMyLjM5MSAwLTQ0Ljc0NEwyNzguMzE4IDIyNS45MiAxMDYuNDA5IDU0LjAxN2MtMTIuMzU0LTEyLjM1OS0xMi4zNTQtMzIuMzk0IDAtNDQuNzQ4IDEyLjM1NC0xMi4zNTkgMzIuMzkxLTEyLjM1OSA0NC43NSAwbDE5NC4yODcgMTk0LjI4NGM2LjE3NyA2LjE4IDkuMjYyIDE0LjI3MSA5LjI2MiAyMi4zNjYgMCA4LjA5OS0zLjA5MSAxNi4xOTYtOS4yNjcgMjIuMzczeicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQge1xuICByaWdodDogM3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdi5uZXh0IHtcbiAgICByaWdodDogOHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQge1xuICAgIHJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYubmV4dCAuaWNvbiB7XG4gIGJvdHRvbTogNTElO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsZWZ0OiAzcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIGJ1dHRvbi5zbGlkZXJfbmF2LnByZXZpb3VzIHtcbiAgICBsZWZ0OiA4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICAgIGxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayBidXR0b24uc2xpZGVyX25hdi5wcmV2aW91cyAuaWNvbiB7XG4gIHRvcDogNTElO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgYnV0dG9uLnNsaWRlcl9uYXYgLmljb24gc3ZnIHtcbiAgc3Ryb2tlOiAjNjY2O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyAucGFydG5lcl9pbnRlcnZpZXcgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5pdGVtcyAucGFydG5lcl9pbnRlcnZpZXcgLnBhcnRuZXJfaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAucGFydG5lcl9pbWFnZSBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAucGFydG5lcl9pbWFnZSAubmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAuaW50ZXJ2aWV3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWluLWhlaWdodDogMTMwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLml0ZW1zIC5wYXJ0bmVyX2ludGVydmlldyAuaW50ZXJ2aWV3OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tbGVmdDogMnB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMjk0YTtcbiAgaGVpZ2h0OiA3OHB4O1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGg0IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgzIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5wYXJ0bmVyLWludGVydmlld3MtYmxvY2sgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDQge1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDdweCAzMHB4O1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnBhcnRuZXItaW50ZXJ2aWV3cy1ibG9jayAucmliYm9uLWZyb250IGgyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIC5yaWJib24tZnJvbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgcGFkZGluZzogMTRweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMzNweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgICB3aWR0aDogNDBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdi5uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIGJ1dHRvbi5zbGlkZXJfbmF2Lm5leHQgLmljb24ge1xuICBib3R0b206IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrIC5zbGljay1zbGlkZXIgYnV0dG9uLnNsaWRlcl9uYXYucHJldmlvdXMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBsZWZ0OiAyMHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdi5wcmV2aW91cyAuaWNvbiB7XG4gIHRvcDogMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2sgLnNsaWNrLXNsaWRlciBidXR0b24uc2xpZGVyX25hdiAuaWNvbiBzdmcge1xuICBzdHJva2U6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jayAuc2xpY2stc2xpZGVyIC5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMSBkaXYuaXRlbXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zID4gLmNvbnRlbnQtYmxvY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zID4gLmNvbnRlbnQtYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMSBkaXYuaXRlbXMgPiAuY29udGVudC1ibG9jayBwIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5oYWxmOm5vdCguYmFzZV9ibG9ja19fY29udGVudCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8xIGRpdi5pdGVtcyB7XG4gICAgaGVpZ2h0OiA2MTBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiA2MTBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzEgZGl2Lml0ZW1zIC5zbGljay1kb3RzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8xIGRpdi5pdGVtcyAuc2xpY2stZG90cyB7XG4gICAgbGVmdDogYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDM4MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzIgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8yIGRpdi5pdGVtcyAuY29udGVudC1ibG9jayAuaGFsZiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sgLmhhbGYuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sgLmhhbGYuYmFzZV9ibG9ja19fY29udGVudCAudGV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLmNvbnRlbnQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZS5zbGlkZXJfYmxvY2subWF4X2NvdW50XzIgZGl2Lml0ZW1zIC5jb250ZW50LWJsb2NrIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2Uuc2xpZGVyX2Jsb2NrLm1heF9jb3VudF8yIGRpdi5pdGVtcyAuc2xpY2stZG90cyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvdHRvbTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlLnNsaWRlcl9ibG9jay5tYXhfY291bnRfMiBkaXYuaXRlbXMgLnNsaWNrLWRvdHMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sge1xuICBtaW4taGVpZ2h0OiAzODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzE5MTkxOTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIHBhZGRpbmc6IDQycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgLmJhc2VfYmxvY2tfX2NvbnRlbnQgLnRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuYmFzZV9ibG9ja19fY29udGVudCAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9wdWJsaWNhdGlvbiAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24gLmJhc2VfYmxvY2tfX2NvbnRlbnQgLnRleHQge1xuICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3B1YmxpY2F0aW9uIC5iYXNlX2Jsb2NrX19jb250ZW50IC50ZXh0IHtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3B1YmxpY2F0aW9uIC5iYXNlX2Jsb2NrX19jb250ZW50IC50ZXh0IHAge1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LWhlaWdodDogMzgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcHVibGljYXRpb24gLmhhbGY6bm90KC5iYXNlX2Jsb2NrX19jb250ZW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfdGV4dF9jb250ZW50IC50ZXh0IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMxOTE5MTk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV90ZXh0X2NvbnRlbnQgLnRleHQgcCB7XG4gIGNvbG9yOiAjMTkxOTE5O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3RleHRfY29udGVudCAudGV4dCAuYnRuLS1jZW50ZXIge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1hcmdpbjogMjVweCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9xdW90ZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLmxpbmthYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAubGlua19hcnJvdyB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNlJTNjcGF0aCBmaWxsPSclMjMxMzI5NGEnIGQ9J00yMS4yMDUgNS4wMDdhMS4xMTIgMS4xMTIgMCAwMC0xLjU4NyAwIDEuMTIgMS4xMiAwIDAwMCAxLjU3MWw4LjA0NyA4LjA0N0gxLjExMUExLjEwNiAxLjEwNiAwIDAwMCAxNS43MzdjMCAuNjE5LjQ5MiAxLjEyNyAxLjExMSAxLjEyN2gyNi41NTRsLTguMDQ3IDguMDMyYy0uNDI5LjQ0NC0uNDI5IDEuMTU5IDAgMS41ODdhMS4xMTIgMS4xMTIgMCAwMDEuNTg3IDBsOS45NTItOS45NTJhMS4wOTMgMS4wOTMgMCAwMDAtMS41NzFsLTkuOTUyLTkuOTUzeicvJTNlJTNjL3N2ZyUzZVwiKSBjZW50ZXIgbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sudHlwZV9xdW90ZSBibG9ja3F1b3RlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUgYmxvY2txdW90ZTo6YmVmb3JlLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jay50eXBlX3F1b3RlIGJsb2NrcXVvdGU6OmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrLnR5cGVfcXVvdGUgYmxvY2txdW90ZTo6YWZ0ZXIge1xuICB0b3A6IHVuc2V0O1xuICBib3R0b206IC0xMnB4O1xuICBwYWRkaW5nOiB1bnNldDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgLmhhbGYge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmNvbnRlbnQtYmxvY2sgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5jb250ZW50LWJsb2NrIC5oYWxmX19pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuY29udGVudC1ibG9jayAuaGFsZl9faW1hZ2UgaW1nIHtcbiAgICAvKiBTZXQgdXAgcHJvcG9ydGlvbmF0ZSBzY2FsaW5nICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIFNldCB1cCBwb3NpdGlvbmluZyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAuaW50cm8ge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBoZWlnaHQ6IDc4cHg7XG4gIHdpZHRoOiA5NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoNCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDMsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoNCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZzogN3B4IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfYmFzZSAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Jhc2UgLmJsb2NrX19pbnRybyB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19iYXNlIC50ZXh0LWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuaGFsZiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmhhbGYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCB7XG4gIG1hcmdpbjogYXV0bztcbiAgaGVpZ2h0OiAzODRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveC1pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogNjAwcHg7XG4gIG1pbi1oZWlnaHQ6IDQzMHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94LmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94LWltYWdlIC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlbyB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8gLmJsb2NrX3ZpZGVvLXBsYXllci12aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucHJldmlldy1idXR0b24ge1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucHJldmlldy1idXR0b246YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ1JTtcbiAgbGVmdDogNDMlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IC0yMHB4IDAgMCAtMTBweDtcbiAgYm9yZGVyLWxlZnQ6IDgwcHggc29saWQgcmdiYSgxOSwgNDEsIDc0LCAwLjc1KTtcbiAgYm9yZGVyLXRvcDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXM7XG4gIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDMwMG1zO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5wcmV2aWV3LWJ1dHRvbjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDUlO1xuICAgIGxlZnQ6IDQ4JTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucHJldmlldy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItbGVmdDogODBweCBzb2xpZCByZ2JhKDE5LCA0MSwgNzQsIDAuOSk7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyOTRhO1xuICBoZWlnaHQ6IDc4cHg7XG4gIHdpZHRoOiA5NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCB7XG4gICAgd2lkdGg6IDY1JTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCBoMiwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgzLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDQge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCBoMSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDIge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDMwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250IGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoMSwgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3ZpZGVvIC5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveCAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyAucmliYm9uLWZyb250LnJpYmJvbi1oZWFkZXIgaDIsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja192aWRlbyAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3ggLmJsb2NrX3ZpZGVvLXZpZGVvLXByZXZpZXcgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgzLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZnJvbnQucmliYm9uLWhlYWRlciBoNCB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcGFkZGluZzogN3B4IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24tZWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGVmdDogLTI0cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIwNDA2NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwIDI0cHggMjRweCAwO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdmlkZW8gLmJsb2NrX3ZpZGVvLWZsZXgtdmlkZW8tYm94IC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IC5yaWJib24td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzI5NGE7XG4gIGhlaWdodDogNzhweDtcbiAgd2lkdGg6IDk1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQge1xuICAgIHdpZHRoOiA2NSU7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDEsIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMywgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDQge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgxIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDIge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWZyb250IGgyIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgIHBhZGRpbmc6IDE0cHggMzBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udCBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5yaWJib24tZnJvbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgxLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgyLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGgzLCAudG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnJpYmJvbi1mcm9udC5yaWJib24taGVhZGVyIGg0IHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBwYWRkaW5nOiA3cHggMzBweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAucmliYm9uLWVkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IC0yNHB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMDQwNjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMCAyNHB4IDI0cHggMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5ibG9ja19faW50cm8ge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfdGlsZXMgLnRpbGVfX2hlYWRpbmcge1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAudGlsZV9faGVhZGluZyB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX3RpbGVzIC5idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja190aWxlcyAuYnV0dG9uLWNvbnRhaW5lciAuYnRuLmxvYWQtbW9yZSB7XG4gIGJhY2tncm91bmQ6ICNhYmIzMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Rvd25sb2FkIC5kbC1ib3gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAyNjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmNvbnRhaW5lci1pbm5lciAubWFpbi1jb250ZW50IC56b25lcy1sYXlvdXQtc2ltcGxlIC5ibG9ja19kb3dubG9hZCAuZGwtYm94IHtcbiAgICBtaW4taGVpZ2h0OiAzMzVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5jb250YWluZXItaW5uZXIgLm1haW4tY29udGVudCAuem9uZXMtbGF5b3V0LXNpbXBsZSAuYmxvY2tfZG93bmxvYWQgLmRsLWJveCAuZGwtYm94X190aXRsZSB7XG4gIG1hcmdpbjogMzBweCAwO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuY29udGFpbmVyLWlubmVyIC5tYWluLWNvbnRlbnQgLnpvbmVzLWxheW91dC1zaW1wbGUgLmJsb2NrX2Rvd25sb2FkIC5kbC1ib3ggLmRsLWJveF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAxNzVweDtcbiAgei1pbmRleDogMzM7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUge1xuICAgIHRvcDogMjYwcHg7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgLmZseW91dC1tZW51LWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSA+IGhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjZmZmO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDEzcHg7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi14aW5nIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tdHdpdHRlciB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWxpbmtlZGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tY2FsZW5kYXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1zaGFyZV9hbHQge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1sYXdub3cge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1yZWd6b25lIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZWd1aWRlIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZmFjZWJvb2sge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHtcbiAgaGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIHdpZHRoOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19oZWFkaW5nIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWF4LWhlaWdodDogNzdweDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIHdvcmQtd3JhcDogaW5oZXJpdDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC5zaG93LWFsbDphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgbGluZWFyO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUudGlsZS0tZ3JheSAudGlsZV9faGVhZGluZyB7XG4gIGNvbG9yOiAjMTMyOTRhO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlLnRpbGUtLWdyYXkgLnRpbGVfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZS50aWxlLS1ncmF5IC50aWxlX19tb3JlIHtcbiAgY29sb3I6ICMxMzI5NGE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUudGlsZS0tZ3JheSAudGlsZV9fbW9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUgLnRpbGVfX2ltYWdlIHtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19pbWFnZSBwaWN0dXJlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9faW1hZ2UgcGljdHVyZSBpbWcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9fY29udGVudCB7XG4gICAgei1pbmRleDogMjtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19jb250ZW50IC50aWxlX19oZWFkaW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUgLnRpbGVfX21vcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExNjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uIC50aWxlLWdyaWQgLnRpbGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gMyk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB9XG4gIC50b3BfcHVibGljYXRpb24gLnRpbGUtZ3JpZCAudGlsZSAudGlsZV9faW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIH1cbiAgLnRvcF9wdWJsaWNhdGlvbiAudGlsZS1ncmlkIC50aWxlIC50aWxlX19jb250ZW50IHtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuXG4udGV4dC10cmFuc2Zvcm0tdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAubGVmdCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNjY2Mgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5sZWZ0IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NiU7XG4gIH1cbn1cblxuLnBhcnRuZXItaW50ZXJ2aWV3IC5jb250YWN0LWZvcm0gLmxlZnQgaDEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5sZWZ0IGgxIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLnBhcnRuZXItaW50ZXJ2aWV3IC5jb250YWN0LWZvcm0gLnJpZ2h0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAucmlnaHQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzJTtcbiAgfVxufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAuY29sdW1uIHtcbiAgcGFkZGluZzogMjRweCA0MnB4O1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgaDMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5rZXktY29udGFjdCAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgLnBlcnNvbi1pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4ucGFydG5lci1pbnRlcnZpZXcgLmNvbnRhY3QtZm9ybSAua2V5LWNvbnRhY3QgLnBlcnNvbi10ZXh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wYXJ0bmVyLWludGVydmlldyAuY29udGFjdC1mb3JtIC5rZXktY29udGFjdCAucGVyc29uLWFjdGlvbnMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLm1haW4tY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmNmLCAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLm5hdiwgLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5tZWRpYSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuY29sdW1uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAtMTAwJTtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDY2LjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmxlZnQgLmdlbmVyYWwge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMiU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLnJpZ2h0IC5rZXktY29udGFjdCBoMyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAucmlnaHQgLmtleS1jb250YWN0IC5zaG93LWFsbCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgbGkge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzEzMjk0YTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAxNzVweDtcbiAgei1pbmRleDogMzM7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSB7XG4gICAgdG9wOiAyNjBweDtcbiAgfVxufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IC5mbHlvdXQtbWVudS1lbGVtZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSA+IGhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDVweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6ICNmZmY7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogMTNweDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24teGluZyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tdHdpdHRlciB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tbGlua2VkaW4ge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWNhbGVuZGFyIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IHN2ZyAuaWNvbi1zaGFyZV9hbHQge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWxhd25vdyB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tcmVnem9uZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSBzdmcgLmljb24tZWd1aWRlIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4udG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IHN2ZyAuaWNvbi1mYWNlYm9vayB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDlweDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24ge1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2UgLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi50b3BfcHVibGljYXRpb25fc3VicGFnZSAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24gc3Bhbi5mYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgd2lkdGg6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnRvcF9wdWJsaWNhdGlvbl9zdWJwYWdlIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBzcGFuLmZhIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUge1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjRweDtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLXNpZGUgLmxpc3RpbmdfX2xvYWQtbW9yZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAubGlzdGluZ19fbG9hZC1tb3JlIC5idG4ge1xuICBiYWNrZ3JvdW5kOiAjYWJiMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAuc2lkZWJhci1ibG9jay50YWdzIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2Utc2lkZSAuc2lkZWJhci1ibG9jay50YWdzIC5zaG93LWFsbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6ICMxMzI5NGE7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWJvZHkge1xuICBwYWRkaW5nOiAyNHB4O1xuICBvdmVyZmxvdzogdW5zZXQ7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtYm9keSAudGl0bGUgaDEge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWJvZHkgLmJvZHkge1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbi1saW5rOm50aC1jaGlsZCgyKTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIHtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4gLnN1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4gLnN1YnNlY3Rpb24ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIC5wYWdlLWJveF9fc3VicGFnZS1jaGlsZHJlbiAuc3Vic2VjdGlvbiAuc3Vic2VjdGlvbi1jb250ZW50IHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJiMzAwO1xuICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gIG1hcmdpbjogMTJweCAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICBtaW4taGVpZ2h0OiA4NHB4O1xuICBtYXgtaGVpZ2h0OiA4NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIC5zdWJzZWN0aW9uLWNvbnRlbnQuY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3OTcyMmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIC5zdWJzZWN0aW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMjRweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnBhZ2UgLnBhZ2UtYm94X19zdWJwYWdlLWNoaWxkcmVuIC5zdWJzZWN0aW9uIC5zdWJzZWN0aW9uLWNvbnRlbnQgLnN1YnNlY3Rpb24tdGV4dDphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbi10b3A6IDlweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5wYWdlLWJveC0tc3VicGFnZSAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4gLnN1YnNlY3Rpb24gLnN1YnNlY3Rpb24tY29udGVudCAuc3Vic2VjdGlvbi10ZXh0LmN1cnJlbnQ6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHRvcDogLTNweDtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgICBtaW4taGVpZ2h0OiAzNDBweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gaDIudGl0bGUge1xuICBwYWRkaW5nOiAyNHB4IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIGgyLnRpdGxlIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICB9XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiBoMy5zdWJ0aXRsZSB7XG4gIHBhZGRpbmctbGVmdDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmJvZHkge1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmJvZHkge1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIGxpIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZ2VuZXJhbC1wYWdlX19oZWFkIHtcbiAgcGFkZGluZzogdW5zZXQ7XG4gIG1hcmdpbjogdW5zZXQ7XG4gIGhlaWdodDogMzAwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmdlbmVyYWwtcGFnZV9faGVhZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5zaWRlYmFyLWJsb2NrIC50YWdzIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDE3NXB4O1xuICB6LWluZGV4OiAzMztcbiAgcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHtcbiAgICB0b3A6IDI2MHB4O1xuICB9XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgLmZseW91dC1tZW51LWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51ID4gaHIge1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDAgNXB4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogI2ZmZjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAxM3B4O1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi14aW5nIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi10d2l0dGVyIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1saW5rZWRpbiB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tY2FsZW5kYXIge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLXNoYXJlX2FsdCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSBzdmcgLmljb24tbGF3bm93IHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1yZWd6b25lIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IHN2ZyAuaWNvbi1lZ3VpZGUge1xuICBzdHJva2Utd2lkdGg6IDA7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgc3ZnIC5pY29uLWZhY2Vib29rIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xuICBmaWxsOiAjZmZmO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogOXB4O1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLmNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiB7XG4gIGhlaWdodDogMjhweDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5wYWdlLWJveC0tc3Vic2VjdGlvbiAuZmx5b3V0LW1lbnUgLnNpZGViYXItc2hhcmlmZiAuc2hhcmlmZi1idXR0b24gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIC5mbHlvdXQtbWVudSAuc2lkZWJhci1zaGFyaWZmIC5zaGFyaWZmLWJ1dHRvbiBzcGFuLmZhIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB3aWR0aDogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24gLmZseW91dC1tZW51IC5zaWRlYmFyLXNoYXJpZmYgLnNoYXJpZmYtYnV0dG9uIHNwYW4uZmEge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDEycHggMDtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbiB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgfVxufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbjpudGgtY2hpbGQoM24pIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbjpudGgtY2hpbGQoMykgfiAqIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgaDMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICBmbG9hdDogdW5zZXQ7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyAucGVyc29uLXRleHQgLnBlcnNvbi1hY3Rpb25zIC5hY3Rpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5saXN0aW5nX19sb2FkLW1vcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMgLnNob3ctYWxsIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyAuc2hvdy1hbGw6YWZ0ZXIge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWV4cGVydGlzZSAudGFncyAudGFnIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjMTMyOTRhO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tZXhwZXJ0aXNlIC5zaG93LWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5wYWdlLWJveC1jb250YWluZXIgLnNpZGViYXItYmxvY2sge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSBhbmQgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnBhZ2UtYm94LWNvbnRhaW5lciAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24tdGV4dCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyAucGVyc29uLXRleHQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWV4cGVydGlzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTE2MHB4KSB7XG4gIC5wYWdlLWJveC1jb250YWluZXIgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIC5wZXJzb24tdGV4dCB7XG4gICAgd2lkdGg6IDY0JTtcbiAgfVxuICAucGFnZS1ib3gtY29udGFpbmVyIC5wYWdlLWJveC0tc3Vic2VjdGlvbi1jb250YWN0cyAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4udG9jIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi50b2MudHB0X3RvYyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50b2MgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvYyAudG9nZ2xlOmNoZWNrZWQgKyAudG9jLS1oZWFkZXIgLnRvYy0taGVhZGVyX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG5cbi50b2MgLnRvZ2dsZTpjaGVja2VkICsgLnRvYy0taGVhZGVyICsgLnRvYy0tY29udGVudHMge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAyNHB4IDAgMjguOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi50b2MtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICBvcGFjaXR5OiAxO1xufVxuXG4udG9jLS1oZWFkZXJfX3RpdGxlIHtcbiAgZmxleDogMTtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgcGFkZGluZzogMTJweCAyNHB4O1xufVxuXG4udG9jLS1oZWFkZXJfX2ljb24ge1xuICBib3JkZXItdG9wOiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuXG4udG9jLS1oZWFkZXI6aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi50b2MtLWNvbnRlbnRzIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICM2NjY7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b2MtLWNvbnRlbnRzIGEuY3VycmVudCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzEzMjk0YTtcbn1cblxuLnRvYy0tY29udGVudHNfX3N1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDAgNDhweCAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnRvYy0tY29udGVudHNfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbn1cblxuLnRvYy0tY29udGVudHNfX3N1YnRpdGxlIGEge1xuICBmbG9hdDogbGVmdDtcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbjogOHB4IDAgOHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4udG9jLS1jb250ZW50cy50b2MtLXR5cGUtMSBvbCwgLnRvYy0tY29udGVudHMudG9jLS10eXBlLTIgb2wge1xuICBjb3VudGVyLXJlc2V0OiBpdGVtO1xufVxuXG4udG9jLS1jb250ZW50cy50b2MtLXR5cGUtMSBvbCBsaTphZnRlciwgLnRvYy0tY29udGVudHMudG9jLS10eXBlLTIgb2wgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50b2MtLWNvbnRlbnRzLnRvYy0tdHlwZS0xIG9sIGxpOjpiZWZvcmUsIC50b2MtLWNvbnRlbnRzLnRvYy0tdHlwZS0yIG9sIGxpOjpiZWZvcmUge1xuICBjbGVhcjogbGVmdDtcbiAgY29udGVudDogY291bnRlcnMoaXRlbSwgXCIuXCIpIFwiIFwiO1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMTMyOTRhO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50b2MtLWNvbnRlbnRzLnRvYy0tdHlwZS0xIG9sIGxpIGEsIC50b2MtLWNvbnRlbnRzLnRvYy0tdHlwZS0yIG9sIGxpIGEge1xuICBmbG9hdDogbGVmdDtcbiAgbWF4LXdpZHRoOiA3MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgLnRvYy0tY29udGVudHMudG9jLS10eXBlLTEgb2wgbGkgYSwgLnRvYy0tY29udGVudHMudG9jLS10eXBlLTIgb2wgbGkgYSB7XG4gICAgbWF4LXdpZHRoOiA4NSU7XG4gIH1cbn1cblxuLnRvYy0tY29udGVudHMudG9jLS10eXBlLTEgb2wgbGkgb2wsIC50b2MtLWNvbnRlbnRzLnRvYy0tdHlwZS0yIG9sIGxpIG9sIHtcbiAgcGFkZGluZzogMjRweCAwO1xufVxuXG4udHB0X3RvYyAudG9jLS1jb250ZW50cy50b2MtLXR5cGUtMSBvbCBsaSBvbCwgLnRwdF90b2MgLnRvYy0tY29udGVudHMudG9jLS10eXBlLTIgb2wgbGkgb2wge1xuICBwYWRkaW5nOiAyNHB4IDAgMCAwO1xufVxuXG4udG9jLS1jb250ZW50cyA+IG9sIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnRvYy0tY29udGVudHMgPiBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICB9XG59XG5cbi50b2MtLWNvbnRlbnRzIG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRvYy0tY29udGVudHMgb2wgbGkge1xuICBtYXJnaW46IDhweCAwIDhweCAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRwdF90b2MgLnRvYy0tY29udGVudHMgb2wgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50b2MtLWNvbnRlbnRzIG9sIGxpIG9sIGxpIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRvYy0tY29udGVudHNfX2NvbnRlbnQge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50b2MtLWNvbnRlbnRzX19jb250ZW50X2RlY29yYXRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnRvYy0tY29udGVudHMgLnRvYy0tc3ViaGVhZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50b2MtLWNvbnRlbnRzIC50b2MtLXN1YmhlYWRlciAudG9jLS1zdWJoZWFkZXJfX2ljb24ge1xuICBib3JkZXItdG9wOiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbn1cblxuLnRvYy0tY29udGVudHMgbGkgPiAudG9nZ2xlIH4gb2wsIC50b2MtLWNvbnRlbnRzIGxpID4gLnRvZ2dsZSB+IHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvYy0tY29udGVudHMgbGkgPiAudG9nZ2xlOmNoZWNrZWQgKyAudG9jLS1zdWJoZWFkZXIgLnRvYy0tc3ViaGVhZGVyX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnRvYy0tY29udGVudHMgbGkgPiAudG9nZ2xlOmNoZWNrZWQgfiBvbCwgLnRvYy0tY29udGVudHMgbGkgPiAudG9nZ2xlOmNoZWNrZWQgfiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAudHB0X3RvYyB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgfVxuICAudHB0X3RvYy5vcGVuIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICB9XG59XG5cbi50cHRfdG9jIC50cHRfdG9jLS10b2dnbGU6Y2hlY2tlZCArIC50b2MtLWhlYWRlciAudG9jLS1oZWFkZXJfX2ljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cblxuLnRwdF90b2MgLnRwdF90b2MtLXRvZ2dsZTpjaGVja2VkICsgLnRvYy0taGVhZGVyICsgLnRvYy0tY29udGVudHMge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi50cHRfdG9jIC50b2MtLWNvbnRlbnRzIHtcbiAgei1pbmRleDogMTAwMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDg3cHg7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNjtcbiAgbWF4LWhlaWdodDogMDtcbiAgcGFkZGluZzogMjRweCAwIDI4LjhweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2Utb3V0LCBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50cHRfdG9jIC50b2MtLWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cblxuLnRwdF90b2MgLnRvYy0tY29udGVudHMuc2hvdyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLW91dCwgcGFkZGluZy10b3AgMC4zcyBlYXNlLW91dCwgcGFkZGluZy1ib3R0b20gMC4zcyBlYXNlLW91dDtcbn1cblxuLnRwdF90b2MgLnRvYy0tY29udGVudHMgLnRvYy0taGVhZGVyX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDMwcHg7XG4gIHRvcDogMzBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMiAyMyclM2UlM2NnJTNlJTNjZyBmaWxsPSclMjMwMDAnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLjUpJyUzZSUzY3BhdGggZD0nTTE5LjQ4NCAwbDIuMTY1IDIuMTY1LTguNjYgOC42NiA4LjY2IDguNjU5LTIuMTY1IDIuMTY1LTguNjYtOC42Ni04LjY2IDguNjZMMCAxOS40ODRsOC42NTktOC42NkwwIDIuMTY0IDIuMTY1IDBsOC42NiA4LjY1OXonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIpIGNlbnRlciBuby1yZXBlYXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSB7XG4gIC50cHRfdG9jIC50b2MtLWNvbnRlbnRzIC50b2MtLWhlYWRlcl9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIFZBUlMuU0NTU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQW55IHZhcmlhYmxlcyB5b3UgZmluZCBzZXQgaW4gaW51aXQuY3Nz4oCZIGBfdmFycy5zY3NzYCB0aGF0IHlvdSBkbyBub3Qgd2lzaCB0b1xuICoga2VlcCwgc2ltcGx5IHJlZGVmaW5lIGhlcmUuIFRoaXMgbWVhbnMgdGhhdCBpZiBpbnVpdC5jc3MsIGZvciBleGFtcGxlLCBzZXRzXG4gKiB5b3VyIGAkYmFzZS1mb250LXNpemVgIGF0IDE2cHggYW5kIHlvdSB3aXNoIGl0IHRvIGJlIDE0cHgsIHNpbXBseSByZWRlY2xhcmVcbiAqIHRoYXQgdmFyaWFibGUgaW4gdGhpcyBmaWxlLiBpbnVpdC5jc3MgaWdub3JlcyBpdHMgb3duIHZhcmlhYmxlcyBpbiBmYXZvdXIgb2ZcbiAqIHVzaW5nIHlvdXIgb3duLCBzbyB5b3UgY2FuIGNvbXBsZXRlbHkgbW9kaWZ5IGhvdyBpbnVpdC5jc3Mgd29ya3Mgd2l0aG91dCBldmVyXG4gKiBoYXZpbmcgdG8gYWx0ZXIgdGhlIGZyYW1ld29yayBpdHNlbGYuXG4gKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkT0JKRUNUUy1BTkQtQUJTVFJBQ1RJT05TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBbGwgb2YgaW51aXQuY3Nz4oCZIG9iamVjdHMgYW5kIGFic3RyYWN0aW9ucyBhcmUgaW5pdGlhbGx5IHR1cm5lZCBvZmYgYnlcbiAqIGRlZmF1bHQuIFRoaXMgbWVhbnMgdGhhdCB5b3Ugc3RhcnQgYW55IHByb2plY3Qgd2l0aCBhcyBsaXR0bGUgYXMgcG9zc2libGUsXG4gKiBhbmQgaW50cm9kdWNpbmcgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIGlzIGFzIHNpbXBsZSBhcyBzd2l0Y2hpbmcgdGhlXG4gKiBmb2xsb3dpbmcgdmFyaWFibGVzIHRvIGB0cnVlYC5cbiAqL1xuJHVzZS1ncmlkczogdHJ1ZTtcbiR1c2UtZmxleGJveDogZmFsc2U7XG4kdXNlLWNvbHVtbnM6IGZhbHNlO1xuJHVzZS1uYXY6IHRydWU7XG4kdXNlLW9wdGlvbnM6IGZhbHNlO1xuJHVzZS1wYWdpbmF0aW9uOiBmYWxzZTtcbiR1c2UtYnJlYWRjcnVtYjogZmFsc2U7XG4kdXNlLW1lZGlhOiB0cnVlO1xuJHVzZS1tYXJnaW5hbGlhOiBmYWxzZTtcbiR1c2UtaXNsYW5kOiBmYWxzZTtcbiR1c2UtYmxvY2stbGlzdDogZmFsc2U7XG4kdXNlLW1hdHJpeDogZmFsc2U7XG4kdXNlLXNwbGl0OiBmYWxzZTtcbiR1c2UtdGhpcy1vci10aGlzOiBmYWxzZTtcbiR1c2UtbGluay1jb21wbGV4OiBmYWxzZTtcbiR1c2UtZmx5b3V0OiBmYWxzZTtcbiR1c2UtYXJyb3dzOiBmYWxzZTtcbiR1c2Utc3ByaXRlOiBmYWxzZTtcbiR1c2UtaWNvbi10ZXh0OiBmYWxzZTtcbiR1c2UtYmVhdXRvbnM6IGZhbHNlO1xuJHVzZS1sb3plbmdlczogZmFsc2U7XG4kdXNlLXJ1bGVzOiBmYWxzZTtcbiR1c2Utc3RhdHM6IGZhbHNlO1xuJHVzZS1ncmV5Ym94OiBmYWxzZTtcblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ1VTVE9NXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQbGFjZSBhbnkgb2YgeW91ciBvd24gdmFyaWFibGVzIHRoYXQgc2l0IG9uIHRvcCBvZiBpbnVpdC5jc3MgaGVyZS5cbiAqL1xuXG4vLyBDT0xPUlM6XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMxMzI5NGE7XG4kY29sb3ItcmVkOiAjZTUxMzEzO1xuXG4kY29sb3ItbGlnaHRlc3QtZ3JheTogI2VkZWZmMjtcbiRjb2xvci1saWdodC1ncmF5OiAjYmJiO1xuJGNvbG9yLW1lZGl1bS1ncmF5OiAjOTk5O1xuJGNvbG9yLWxpZ2h0LWdyYXktMjogbWl4KCRjb2xvci1ibGFjaywgd2hpdGUsIDYwJSk7XG4kY29sb3ItbGlnaHQtZ3JheS0zOiAjZWFlYWVhO1xuJGNvbG9yLWxpZ2h0LWdyYXktNDogI2Y0ZjRmNDtcbiRjb2xvci1saWdodC1ncmF5LTU6ICNlYmViZWI7XG4kY29sb3ItbGlnaHQtZ3JheS02OiAjZjVmNWY1O1xuJGNvbG9yLWxpZ2h0LWdyYXktNzogI2RkZGRkZDtcbiRjb2xvci1ncmF5OiAjZDBkNGRiO1xuJGNvbG9yLXNvbGlkLWdyYXk6ICNjY2M7XG4kY29sb3ItZGFyay1ncmF5OiAjNjY2O1xuJGNvbG9yLWRhcmstZ3JheS0yOiAjQTBBMEEwO1xuJGNvbG9yLXZlcnktZGFyay1ncmF5OiAjMTkxOTE5O1xuXG4kY29sb3ItYmVpZ2U6ICM3NjZhNjI7XG5cbiRjb2xvci1saWdodC1ibHVlOiAjM2U3NWE3O1xuJGNvbG9yLW1pZGRsZS1ibHVlOiAjNWE3N2EyO1xuJGNvbG9yLWRhcmstYmx1ZTogIzEzMjk0YTtcbiRjb2xvci1wYWxlLWJsdWU6ICMyMDQwNjc7XG4kY29sb3ItYnJpZ2h0LWJsdWU6ICMzMDk1YjQ7XG4kY29sb3ItbWlkLWJsdWU6ICMxMTM1NUU7XG5cbiRjb2xvci15ZWxsb3ctMTogI2VjYzQxMTtcbiRjb2xvci15ZWxsb3ctMjogI2M1OTIxNztcbiRjb2xvci1vcmFuZ2UtMTogI2U5ODMwMDtcbiRjb2xvci1vcmFuZ2UtMjogI2QyNDkyYTtcbiRjb2xvci1vcmFuZ2UtMzogI2VmYTY0ODtcbiRjb2xvci1yZWQtMTogI2RjMjIyZDtcbiRjb2xvci1yZWQtMjogIzhhMzQzZDtcbiRjb2xvci1wdXJwbGUtMTogI2FkNzZjMDtcbiRjb2xvci1wdXJwbGUtMjogIzZiNDg3YTtcbiRjb2xvci10dXJxdW9pc2UtMTogIzAwYWZkODtcbiRjb2xvci10dXJxdW9pc2UtMjogIzMwOTViNDtcbiRjb2xvci1wZXRyb2wtMTogIzAwNzU5YTtcbiRjb2xvci1wZXRyb2wtMjogIzAwNTE1NztcblxuJGNvbG9yLWdyZWVuOiAjYWJiMzAwO1xuJGNvbG9yLW1lZGl1bS1ncmVlbjogIzk4YTAwMDtcbiRjb2xvci1kYXJrLWdyZWVuOiAjNzk3MjJlO1xuJGNvbG9yLXBpbms6ICM2YjQ4N2E7XG4kY29sb3Itb3JhbmdlOiAjZTk4MzAwO1xuJGNvbG9yLXRhYmxlLWZvbnQ6ICM3YjdiN2I7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBDb2xvciAmIExheW91dCB2YXJpYXRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdGlsZS1zaGFkZTogJ2RhcmsnO1xuJG5ld3MtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXBldHJvbC0xLCAwJSk7XG4kcHVibGljYXRpb24tY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXR1cnF1b2lzZS0xLCAwJSk7XG4kZXZlbnQtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLW9yYW5nZS0xLCAwJSk7XG4kZXZlbnQtcGFzdC1jb2xvcjogbGlnaHRlbigkY29sb3IteWVsbG93LTIsIDAlKTtcbiRldmVudC10YWctY29sb3I6ICRjb2xvci1ncmVlbjtcbiRzb2NpYWwtY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLXJlZC0xLCAwJSk7XG4kZmVlZC1iZy1jb2xvcjogJGNvbG9yLWdyYXk7XG4uc2Vjb25kYXJ5LWZvb3RlciB7ZGlzcGxheTogbm9uZTtcbiAgJi5ob21lIHtkaXNwbGF5OiBibG9jazt9XG59XG4kY29sb3ItaW5zaWdodC10aWxlOiAjMDA1MTU3O1xuJGNvbG9yLWluc2lnaHQtdGlsZS1saWdodGVuOiAjMTk2MzY4O1xuJGNvbG9yLWluc2lnaHQtZnJhbWU6ICMzYTkwOTU7XG4kY29sb3ItaW5zaWdodC1mcmFtZS1saWdodGVuOiAjZDVlOWVhO1xuXG4kYmx1ZS1ncmV5OiAjZWRmMGYyO1xuJGN5YW5ncmVlbi1zZWFyY2gtYnRuOiAjNmU2ZTZlO1xuJGRhcmtuYXZ5LWJsdWU6ICMxMzI5NGE7XG4kY2F0ZWdvcnktaDMtY29sb3I6ICMwMDIwNjA7XG4kbGlnaHQtY3lhbmdyZWVuOiAjODk5NGE1O1xuJGNvcnBvcmF0ZS1iYWNrZy1ncmV5OiAjZWFlYWVhO1xuJHJlc3VsdC10ZXh0Y29sb3I6ICNkNWQ5ZGY7XG5cbi8vIGVndWlkZSBjb21wYXJlXG4kdG9jLWJnLWNvbG9yOiAjRjNGNEY2O1xuXG4vLyBzZXR0aW5nIHRoZSBtYWluIGJyZWFrcG9pbnRzXG4vLyAxLiBNb2JpbGUgcGhvbmVzIDogMHB4IDw+IDQxM3B4XG4vLyAyLiBTbWFydHBob25lczogNDE0cHggPD4gNzE5cHhcbi8vIDMuIFRhYmxldHM6IDcyMHB4IDw+IDExNTlweFxuLy8gNC4gRGVza3RvcHM6IDExNjBweCA+XG5cbiRzbWFydHBob25lLXN0YXJ0OiA0MTRweDtcbiR0YWJsZXQtc3RhcnQ6IDcyMHB4O1xuJGRlc2stc3RhcnQ6IDkwMHB4O1xuJGRlc2std2lkZS1zdGFydDogMTE2MHB4O1xuXG4kc21hcnRwaG9uZS1lbmQ6ICR0YWJsZXQtc3RhcnQgLSAxcHg7XG4kdGFibGV0LWVuZDogJGRlc2stc3RhcnQgLSAxcHg7XG4kZGVzay1lbmQ6ICRkZXNrLXdpZGUtc3RhcnQgLSAxcHg7XG5cbiRsYXAtc3RhcnQ6ICR0YWJsZXQtc3RhcnQ7IC8vIG92ZXJyaWRlIGludWl0LmNzc1xuXG5AbWl4aW4gc20ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc21hcnRwaG9uZS1zdGFydCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbGcge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB4bCB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBtYXgtd2lkdGggb2YgdGhlIG1haW4gY29udGFpbmVyIGluY2x1ZGluZyBwYWRkaW5nXG4kY29udGFpbmVyLXNpemU6IDEyODBweDtcblxuLy8gc2hvcnRlbmVkIHNwYWNpbmcgbm90YXRpb25cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4O1xuJHNwYWNlOiAkYmFzZS1saW5lLWhlaWdodDtcblxuJGhlcm8taGVpZ2h0OiAkc3BhY2UqMTY7XG5cbiRmb290ZXItaGVpZ2h0OiAkc3BhY2UqMjA7XG5cbiRnbG9iYWwtZmlsdGVyLWhlaWdodDogMzZweDtcbiRjb21tb24tcGFkZGluZy13aWR0aDogMjRweDtcbiRzbWFsbC1wYWRkaW5nOiA0cHg7XG5cbiRzdGlja3ktc2VhcmNoLWhlaWdodDogNzVweDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIE1lbnVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vbWVudSBjb2xvcnNcbiRtZW51LWNvbG9yLW1haW46ICNmZmZmZmY7XG4kbWVudS1jb2xvci1maXJzdC1sZXZlbDogI2VkZWVmMTtcbiRtZW51LWNvbG9yLXNlY29uZC1sZXZlbC10b3A6ICNlZGVlZjE7XG4kbWVudS1jb2xvci1zZWNvbmQtbGV2ZWw6ICNlMWUzZTc7XG4kbWVudS1jb2xvci10aGlyZC1sZXZlbDogI2Q0ZDdkZTtcbiRtZW51LWNvbG9yLXRoaXJkLWxldmVsLWJhcjogI2NiY2VkNDtcbiRtZW51LWNvbG9yLWljb246ICM5NWE1YWY7XG4kbWVudS1jb2xvci1iYXI6ICNjYmNlZDQ7XG4kbWVudS1jb2xvci1zZWNvbmQtbGV2ZWwtYWN0aXZlLWxpbms6ICNjOGNkZDY7XG5cbiRtZW51LWhlYWRsaW5lOiAjNTY3ZDlmO1xuJG1lbnUtYmFyLWxpbms6ICMwOTU4OGI7XG4kbWVudS1saW5rOiAkY29sb3ItbWlkLWJsdWU7XG4kbWVudS1saW5rLW1ldGE6IHJnYmEoJG1lbnUtbGluaywgMC43KTtcbiRtZW51LWxpbmstYnJlYWRjcnVtYjogJG1lbnUtbGluaztcbiRtZW51LXRleHQ6ICMwMDAwMDA7XG5cbi8vbWVudSBtYXJnaW5zIGFuZCBwYWRkaW5nXG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiAxNXB4O1xuJG1vYmlsZS1maXJzdC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDE1cHg7XG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi10b3A6IDIwcHg7XG4kbW9iaWxlLWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDIwcHg7XG4kbW9iaWxlLXNlY29uZC1sZXZlbC1tYXJnaW4tbGVmdDogMzBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi1yaWdodDogMzBweDtcbiRtb2JpbGUtc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDIwcHg7XG4kbW9iaWxlLXNlY29uZC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyMHB4O1xuJG1vYmlsZS1jb250ZW50LXBhZGRpbmc6IDMwcHg7XG4kbW9iaWxlLXRvcC1iYXItaGVpZ2h0OiA4NXB4O1xuJG1vYmlsZS1icmVhZGNydW1iLWhlaWdodDogNDVweDtcbiRtb2JpbGUtbGlzdC1wYWRkaW5nOiAyMXB4O1xuXG4kc21hcnRwaG9uZS1maXJzdC1sZXZlbC1tYXJnaW4tbGVmdDogMTVweDtcbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi1yaWdodDogMTVweDtcbiRzbWFydHBob25lLWZpcnN0LWxldmVsLW1hcmdpbi10b3A6IDI3cHg7XG4kc21hcnRwaG9uZS1maXJzdC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyN3B4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1sZWZ0OiA0OHB4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1yaWdodDogNDhweDtcbiRzbWFydHBob25lLXNlY29uZC1sZXZlbC1tYXJnaW4tdG9wOiAyN3B4O1xuJHNtYXJ0cGhvbmUtc2Vjb25kLWxldmVsLW1hcmdpbi1ib3R0b206IDI3cHg7XG4kc21hcnRwaG9uZS1jb250ZW50LXBhZGRpbmc6IDM1cHg7XG4kc21hcnRwaG9uZS10b3AtYmFyLWhlaWdodDogMTE1cHg7XG4kc21hcnRwaG9uZS1icmVhZGNydW1iLWhlaWdodDogNjBweDtcbiRzbWFydHBob25lLWxpc3QtcGFkZGluZzogMzBweDtcblxuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tbGVmdDogMzBweDtcbiR0YWJsZXQtZmlyc3QtbGV2ZWwtbWFyZ2luLXJpZ2h0OiAzMHB4O1xuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tdG9wOiAyNXB4O1xuJHRhYmxldC1maXJzdC1sZXZlbC1tYXJnaW4tYm90dG9tOiAyNXB4O1xuJHRhYmxldC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWxlZnQ6IDQ1cHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tcmlnaHQ6IDQ1cHg7XG4kdGFibGV0LXNlY29uZC1sZXZlbC1tYXJnaW4tdG9wOiA0MHB4O1xuJHRhYmxldC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWJvdHRvbTogNDBweDtcbiR0YWJsZXQtY29udGVudC1wYWRkaW5nOiA0MHB4O1xuJHRhYmxldC10b3AtYmFyLWhlaWdodDogMTAwcHg7XG4kdGFibGV0LWJyZWFkY3J1bWItaGVpZ2h0OiA0MnB4O1xuJHRhYmxldC1saXN0LXBhZGRpbmc6IDMwcHg7XG5cbiRkZXNrdG9wLWZpcnN0LWxldmVsLW1hcmdpbi1sZWZ0OiA1MHB4O1xuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLXJpZ2h0OiA1MHB4O1xuJGRlc2t0b3AtZmlyc3QtbGV2ZWwtbWFyZ2luLXRvcDogMjFweDtcbiRkZXNrdG9wLWZpcnN0LWxldmVsLW1hcmdpbi1ib3R0b206IDQwcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWxlZnQ6IDUwcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLXJpZ2h0OiA1MHB4O1xuJGRlc2t0b3Atc2Vjb25kLWxldmVsLW1hcmdpbi10b3A6IDIxcHg7XG4kZGVza3RvcC1zZWNvbmQtbGV2ZWwtbWFyZ2luLWJvdHRvbTogNDBweDtcbiRkZXNrdG9wLWNvbnRlbnQtcGFkZGluZzogMjFweDtcbiRkZXNrdG9wLXRvcC1iYXItaGVpZ2h0OiAyMDBweDtcbiRkZXNrdG9wLXRvcC1iYXItaGVpZ2h0LXNtYWxsOiAxMDBweDtcbiRkZXNrdG9wLWxpc3QtcGFkZGluZzogMzBweDtcblxuJGZlZWQtdGlsZS1oZWlnaHQ6IDIwMHB4O1xuXG4vLyBlZ3VpZGUgY29tcGFyZVxuLy8gMS4gTW9iaWxlIHBob25lcyA6IDBweCA8PiA0MTNweCAtPiAxIGNvbHVtblxuLy8gMi4xIFNtYXJ0cGhvbmU6IDQxNHB4IDw+IDcxOXB4IC0+IDEgY29sdW1uc1xuLy8gMi4yIFNtYXJ0cGhvbmVzIExhbmRzY2FwZTogNTAwcHggPD4gNzE5cHggIC0+IDIgY29sdW1uc1xuLy8gMy4gVGFibGV0czogNzIwcHggPD4gMTE1OXB4IC0+IDIgY29sdW1ucyArIHNpZGViYXJcbi8vIDQuIERlc2t0b3BzIChXaWRlKTogMTE2MHB4ID4gLT4gMyBjb2x1bW5zICsgc2lkZWJhclxuJG1vYmlsZS1sYW5kc2NhcGUtc3RhcnQ6IDUwMHB4O1xuXG4kb3ZlcmxheS1ob3Jpem9udGFsLW1ibDogNTJweDtcbiRvdmVybGF5LXZlcnRpY2FsLW1ibDogMjVweDtcbiRvdmVybGF5LWhlYWQtdmVydGljYWwtbWJsOiAzMnB4OyIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgSU5VSVQuQ1NTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyohKlxuICpcbiAqIGludWl0Y3NzLmNvbSAtLSBAaW51aXRjc3MgLS0gQGNzc3dpemFyZHJ5XG4gKlxuICovXG4vKipcbiAqIGludWl0LmNzcyBhY3RzIGFzIGEgYmFzZSBzdHlsZXNoZWV0IHdoaWNoIHlvdSBzaG91bGQgZXh0ZW5kIHdpdGggeW91ciBvd25cbiAqIHRoZW1lIHN0eWxlc2hlZXQuXG4gKlxuICogaW51aXQuY3NzIGFpbXMgdG8gZG8gdGhlIGhlYXZ5IGxpZnRpbmc7IHNvcnRpbmcgb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zLFxuICogZGVzaWduIHBhdHRlcm5zIGFuZCBmaWRkbHkgYml0cyBvZiBDU1MsIHdoaWxzdCBsZWF2aW5nIGFzIG11Y2ggZGVzaWduIGFzXG4gKiBwb3NzaWJsZSB0byB5b3UuIGludWl0LmNzcyBpcyB0aGUgc2NhZmZvbGRpbmcgdG8geW91ciBkZWNvcmF0b3IuXG4gKlxuICogVGhpcyBzdHlsZXNoZWV0IGlzIGhlYXZpbHkgZG9jdW1lbnRlZCBhbmQgY29udGFpbnMgbG90cyBvZiBjb21tZW50cywgcGxlYXNlXG4gKiB0YWtlIGNhcmUgdG8gcmVhZCBhbmQgcmVmZXIgdG8gdGhlbSBhcyB5b3UgYnVpbGQuIEZvciBmdXJ0aGVyIHN1cHBvcnQgcGxlYXNlXG4gKiB0d2VldCBhdCBAaW51aXRjc3MuXG4gKlxuICogT3dpbmcgdG8gdGhlIGFtb3VudCBvZiBjb21tZW50cyBwbGVhc2Ugb25seSBldmVyIHVzZSBtaW5pZmllZCBDU1MgaW5cbiAqIHByb2R1Y3Rpb24uIFRoaXMgZmlsZSBpcyBwdXJlbHkgYSBkZXYgZG9jdW1lbnQuXG4gKlxuICogVGhlIHRhYmxlIG9mIGNvbnRlbnRzIGJlbG93IG1hcHMgdG8gc2VjdGlvbiB0aXRsZXMgb2YgdGhlIHNhbWUgbmFtZSwgdG8ganVtcFxuICogdG8gYW55IHNlY3Rpb24gc2ltcGx5IHJ1biBhIGZpbmQgZm9yICRbU0VDVElPTi1USVRMRV0uXG4gKlxuICogTW9zdCBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgY29tZSB3aXRoIGEgY2h1bmsgb2YgbWFya3VwIHRoYXQgeW91IHNob3VsZCBiZVxuICogYWJsZSB0byBwYXN0ZSBpbnRvIGFueSB2aWV3IHRvIHF1aWNrbHkgc2VlIGhvdyB0aGUgQ1NTIHdvcmtzIGluIGNvbmp1bmN0aW9uXG4gKiB3aXRoIHRoZSBjb3JyZWN0IEhUTUwuXG4gKlxuICogaW51aXQuY3NzIGlzIHdyaXR0ZW4gdG8gdGhpcyBzdGFuZGFyZDogZ2l0aHViLmNvbS9jc3N3aXphcmRyeS9DU1MtR3VpZGVsaW5lc1xuICpcbiAqIExJQ0VOU0VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBIYXJyeSBSb2JlcnRzXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly9hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqXG4gKiBUaGFuayB5b3UgZm9yIGNob29zaW5nIGludWl0LmNzcy4gTWF5IHlvdXIgd2ViIGZvbnRzIHJlbmRlciBwZXJmZWN0bHkuXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQ09OVEVOVFMuLi4uLi4uLi4uLi5Zb3XigJlyZSByZWFkaW5nIGl0IVxuICogV0FSTklORy4uLi4uLi4uLi4uLi5IZXJlIGJlIGRyYWdvbnMhXG4gKiBJTVBPUlRTLi4uLi4uLi4uLi4uLkJlZ2luIGltcG9ydGluZyB0aGUgc2VjdGlvbnMgYmVsb3dcbiAqXG4gKiBNSVhJTlMuLi4uLi4uLi4uLi4uLlN1cGVyLXNpbXBsZSBTYXNzIHN0dWZmXG4gKiBOT1JNQUxJWkUuLi4uLi4uLi4uLm5vcm1hbGl6ZS5jc3NcbiAqIFJFU0VULi4uLi4uLi4uLi4uLi4uU2V0IHNvbWUgZGVmYXVsdHNcbiAqIENMRUFSRklYLi4uLi4uLi4uLi4uXG4gKiBTSEFSRUQuLi4uLi4uLi4uLi4uLlNoYXJlZCBkZWNsYXJhdGlvbnNcbiAqXG4gKiBNQUlOLi4uLi4uLi4uLi4uLi4uLkhpZ2gtbGV2ZWwgZWxlbWVudHMgbGlrZSBgaHRtbGAsIGBib2R5YCwgZXRjLlxuICogSEVBRElOR1MuLi4uLi4uLi4uLi5Eb3VibGUtc3RyYW5kZWQgaGVhZGluZyBoaWVyYXJjaHlcbiAqIFBBUkFHUkFQSFMuLi4uLi4uLi4uXG4gKiBTTUFMTFBSSU5ULi4uLi4uLi4uLlNtYWxsZXIgdGV4dCBlbGVtZW50cyBsaWtlIGBzbWFsbGBcbiAqIFFVT1RFUy4uLi4uLi4uLi4uLi4uXG4gKiBDT0RFLi4uLi4uLi4uLi4uLi4uLlxuICogTElTVFMuLi4uLi4uLi4uLi4uLi5cbiAqIElNQUdFUy4uLi4uLi4uLi4uLi4uXG4gKiBUQUJMRVMuLi4uLi4uLi4uLi4uLlxuICogRk9STVMuLi4uLi4uLi4uLi4uLi5cbiAqXG4gKiBHUklEUy4uLi4uLi4uLi4uLi4uLkZsdWlkLCBwcm9wb3J0aW9uYWwgYW5kIG5lc3RhYmxlIGdyaWRzXG4gKiBGTEVYQk9YLi4uLi4uLi4uLi4uLkNydWRlbHkgZW11bGF0ZSBmbGV4Ym94XG4gKiBDT0xVTU5TLi4uLi4uLi4uLi4uLkNTUzMgY29sdW1uc1xuICogTkFWLi4uLi4uLi4uLi4uLi4uLi5BIHNpbXBsZSBhYnN0cmFjdGlvbiB0byBwdXQgYSBsaXN0IGluIGhvcml6b250YWwgbmF2IG1vZGVcbiAqIE9QVElPTlMuLi4uLi4uLi4uLi4uR3JvdXBlZCBuYXYgaXRlbXNcbiAqIFBBR0lOQVRJT04uLi4uLi4uLi4uVmVyeSBzdHJpcHBlZCBiYWNrLCBiYXNpYyBwYWdpbmF0b3JcbiAqIEJSRUFEQ1JVTUIuLi4uLi4uLi4uU2ltcGxlIGJyZWFkY3J1bWIgdHJhaWwgb2JqZWN0XG4gKiBNRURJQS4uLi4uLi4uLi4uLi4uLk1lZGlhIG9iamVjdFxuICogTUFSR0lOQUxJQS4uLi4uLi4uLi5TaW1wbGUgbWFyZ2luYWxpYSBjb250ZW50XG4gKiBJU0xBTkQuLi4uLi4uLi4uLi4uLkJveGVkIG9mZiBjb250ZW50XG4gKiBCTE9DSy1MSVNULi4uLi4uLi4uLkJsb2NreSBsaXN0cyBvZiBjb250ZW50XG4gKiBNQVRSSVguLi4uLi4uLi4uLi4uLkdyaWRkZWQgbGlzdHNcbiAqIFNQTElULi4uLi4uLi4uLi4uLi4uQSBzaW1wbGUgc3BsaXQtaW4tdHdvIG9iamVjdFxuICogVEhJUy1PUi1USElTLi4uLi4uLi5PcHRpb25zIG9iamVjdFxuICogTElOSy1DT01QTEVYLi4uLi4uLi5cbiAqIEZMWU9VVC4uLi4uLi4uLi4uLi4uRmx5b3V0LW9uLWhvdmVyIG9iamVjdFxuICogQVJST1dTLi4uLi4uLi4uLi4uLi5DU1MgYXJyb3dzXG4gKiBTUFJJVEUuLi4uLi4uLi4uLi4uLkdlbmVyaWMgc3ByaXRpbmcgZWxlbWVudFxuICogSUNPTi1URVhULi4uLi4uLi4uLi5JY29uIGFuZCB0ZXh0IGNvdXBsaW5nc1xuICogQkVBVVRPTlMuLi4uLi4uLi4uLi5Vc2UgdGhlIGJlYXV0b25zIG1pY3JvIGxpYnJhcnlcbiAqIExPWkVOR0VTLi4uLi4uLi4uLi4uQmFzaWMgbG96ZW5nZSBzdHlsZXNcbiAqIFJVTEVTLi4uLi4uLi4uLi4uLi4uSG9yaXpvbnRhbCBydWxlc1xuICogU1RBVFMuLi4uLi4uLi4uLi4uLi5TaW1wbGUgc3RhdHMgb2JqZWN0XG4gKiBHUkVZQk9YLi4uLi4uLi4uLi4uLldpcmVmcmFtaW5nIHN0eWxlc1xuICpcbiAqIFdJRFRIUy4uLi4uLi4uLi4uLi4uV2lkdGggY2xhc3NlcyBmb3IgdXNlIGFsb25nc2lkZSB0aGUgZ3JpZCBzeXN0ZW0gZXRjLlxuICogUFVTSC4uLi4uLi4uLi4uLi4uLi5QdXNoIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogUFVMTC4uLi4uLi4uLi4uLi4uLi5QdWxsIGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBncmlkc1xuICogQlJBTkQuLi4uLi4uLi4uLi4uLi5IZWxwZXIgY2xhc3MgdG8gYXBwbHkgYnJhbmQgdHJlYXRtZW50IHRvIGVsZW1lbnRzXG4gKiBIRUxQRVIuLi4uLi4uLi4uLi4uLkEgc2VyaWVzIG9mIGhlbHBlciBjbGFzc2VzIHRvIHVzZSBhcmJpdHJhcmlseVxuICogREVCVUcuLi4uLi4uLi4uLi4uLi5FbmFibGUgdG8gYWRkIHZpc3VhbCBmbGFncyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRXQVJOSU5HXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAqIGludWl0LmNzcywgYmVpbmcgYW4gT08gZnJhbWV3b3JrLCB3b3JrcyBpbiBrZWVwaW5nIHdpdGggdGhlIG9wZW4vY2xvc2VkXG4gKiBwcmluY2lwbGUuIFRoZSB2YXJpYWJsZXMgeW91IHNldCBwcmV2aW91c2x5IGFyZSBub3cgYmVpbmcgdXNlZCB0aHJvdWdob3V0XG4gKiBpbnVpdC5jc3MgdG8gc3R5bGUgZXZlcnl0aGluZyB3ZSBuZWVkIGZvciBhIGJhc2UuIEFueSBjdXN0b20gc3R5bGVzIFNIT1VMRFxuICogTk9UIGJlIGFkZGVkIG9yIG1vZGlmaWVkIGluIGludWl0LmNzcyBkaXJlY3RseSwgYnV0IGFkZGVkIHZpYSB5b3VyIHRoZW1lXG4gKiBzdHlsZXNoZWV0IGFzIHBlciB0aGUgb3Blbi9jbG9zZWQgcHJpbmNpcGxlOlxuICpcbiAqIGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3RoZS1vcGVuLWNsb3NlZC1wcmluY2lwbGUtYXBwbGllZC10by1jc3NcbiAqXG4gKiBUcnkgbm90IHRvIGVkaXQgYW55IENTUyBiZXlvbmQgdGhpcyBwb2ludDsgaWYgeW91IGZpbmQgeW91IG5lZWQgdG8gZG8gc29cbiAqIGl0IGlzIGEgZmFpbGluZyBvZiB0aGUgZnJhbWV3b3JrIHNvIHBsZWFzZSB0d2VldCBhdCBAaW51aXRjc3MuXG4gKi9cblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRJTVBPUlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBHZW5lcmljIHV0aWxpdHkgc3R5bGVzIGV0Yy5cbiAqL1xuQGltcG9ydCBcImRlZmF1bHRzXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9taXhpbnNcIjtcbkBpbXBvcnQgXCJnZW5lcmljL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImdlbmVyaWMvcmVzZXRcIjtcbkBpbXBvcnQgXCJnZW5lcmljL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9zaGFyZWRcIjtcblxuXG5cblxuXG4vKipcbiAqIEJhc2Ugc3R5bGVzOyB1bmNsYXNzZWQgSFRNTCBlbGVtZW50cyBldGMuXG4gKi9cbkBpbXBvcnQgXCJiYXNlL21haW5cIjtcbkBpbXBvcnQgXCJiYXNlL2hlYWRpbmdzXCI7XG5AaW1wb3J0IFwiYmFzZS9wYXJhZ3JhcGhzXCI7XG5AaW1wb3J0IFwiYmFzZS9zbWFsbHByaW50XCI7XG5AaW1wb3J0IFwiYmFzZS9xdW90ZXNcIjtcbkBpbXBvcnQgXCJiYXNlL2NvZGVcIjtcbkBpbXBvcnQgXCJiYXNlL2ltYWdlc1wiO1xuQGltcG9ydCBcImJhc2UvbGlzdHNcIjtcbkBpbXBvcnQgXCJiYXNlL3RhYmxlc1wiO1xuQGltcG9ydCBcImJhc2UvZm9ybXNcIjtcblxuXG5cblxuXG4vKipcbiAqIE9iamVjdHMgYW5kIGFic3RyYWN0aW9uc1xuICovXG5AaW1wb3J0IFwib2JqZWN0cy9ncmlkc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvZmxleGJveFwiO1xuQGltcG9ydCBcIm9iamVjdHMvY29sdW1uc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvbmF2XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9vcHRpb25zXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9tZWRpYVwiO1xuQGltcG9ydCBcIm9iamVjdHMvbWFyZ2luYWxpYVwiO1xuQGltcG9ydCBcIm9iamVjdHMvaXNsYW5kXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9ibG9jay1saXN0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9tYXRyaXhcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3NwbGl0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy90aGlzLW9yLXRoaXNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2xpbmstY29tcGxleFwiO1xuQGltcG9ydCBcIm9iamVjdHMvZmx5b3V0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hcnJvd3NcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3Nwcml0ZVwiO1xuQGltcG9ydCBcIm9iamVjdHMvaWNvbi10ZXh0XCI7XG5AaW1wb3J0IFwib2JqZWN0cy9iZWF1dG9uc1wiO1xuQGltcG9ydCBcIm9iamVjdHMvbG96ZW5nZXNcIjtcbkBpbXBvcnQgXCJvYmplY3RzL3J1bGVzXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9zdGF0c1wiO1xuQGltcG9ydCBcIm9iamVjdHMvZ3JleWJveFwiO1xuXG5cblxuXG5cbi8qKlxuICogU3R5bGUgdHJ1bXBzOyBoZWxwZXIgYW5kIGJyYW5kIGNsYXNzZXNcbiAqL1xuQGltcG9ydCBcImdlbmVyaWMvd2lkdGhzXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9wdXNoXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9wdWxsXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9icmFuZFwiO1xuQGltcG9ydCBcImdlbmVyaWMvaGVscGVyXCI7XG5AaW1wb3J0IFwiZ2VuZXJpYy9kZWJ1Z1wiO1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVGQVVMVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIGludWl0LmNzc+KAmSBkZWZhdWx0IHZhcmlhYmxlcy4gUmVkZWZpbmUgdGhlc2UgaW4geW91ciBgX3ZhcnMuc2Nzc2AgZmlsZSAoZm91bmRcbiAqIGluIHRoZSBpbnVpdC5jc3Mtd2ViLXRlbXBsYXRlKSB0byBvdmVycmlkZSB0aGVtLlxuICovXG5cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkREVCVUdcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIERlYnVnIG1vZGUgd2lsbCB2aXN1YWxseSBoaWdobGlnaHQgYW55IHBvdGVudGlhbCBtYXJrdXAvYWNjZXNzaWJpbGl0eSBxdWlya3NcbiAqIGluIHRoZSBicm93c2VyLiBTZXQgdG8gYHRydWVgIG9yIGBmYWxzZWAuXG4gKi9cbiRkZWJ1Zy1tb2RlOiAgICAgICAgZmFsc2UhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCT1JERVItQk9YXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBEbyB5b3Ugd2FudCBhbGwgZWxlbWVudHMgdG8gYWRvcHQgYGJveC1zaXppbmc6Ym9yZGVyLWJveDtgIGFzIHBlclxuICogcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcgP1xuICovXG4kZ2xvYmFsLWJvcmRlci1ib3g6IHRydWUhZGVmYXVsdDtcblxuXG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRCQVNFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCYXNlIHN0dWZmXG4gKi9cbiRiYXNlLWZvbnQtc2l6ZTogICAgMTZweCFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6ICAyNHB4IWRlZmF1bHQ7XG5cbi8qKlxuICogQmFzZSBmb250LWZhbWlseS5cbiAqL1xuJGJhc2UtZm9udC1mYW1pbHk6ICBzYW5zLXNlcmlmIWRlZmF1bHQ7XG5cbi8qKlxuICogRGVmYXVsdCBjb2xvdXIgZm9yIG9iamVjdHPigJkgYm9yZGVycyBldGMuXG4gKi9cbiRiYXNlLXVpLWNvbG9yOiAgICAgI2NjYyFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFJFU1BPTlNJVkVcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlc3BvbnNpdmVuZXNzP1xuICovXG4kcmVzcG9uc2l2ZTogICAgICAgIHRydWUhZGVmYXVsdDtcblxuLyoqXG4gKiBSZXNwb25zaXZlbmVzcyBmb3Igd2lkZXNjcmVlbi9oaWdoIHJlc29sdXRpb24gZGVza3RvcCBtb25pdG9ycyBhbmQgYmV5b25kP1xuICogTm90ZTogYCRyZXNwb25zaXZlYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGlzLlxuICovXG4kcmVzcG9uc2l2ZS1leHRyYTogIGZhbHNlIWRlZmF1bHQ7XG5cbi8qKlxuICogUmVzcG9uc2l2ZSBwdXNoIGFuZCBwdWxsIHByb2R1Y2UgYSBMT1Qgb2YgY29kZSwgb25seSB0dXJuIHRoZW0gb24gaWYgeW91XG4gKiBkZWZpbml0ZWx5IG5lZWQgdGhlbS5cbiAqL1xuJHB1c2g6ICAgICAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuLyoqXG4gKiBOb3RlOiBgJHB1c2hgIHZhcmlhYmxlIGFib3ZlIG11c3QgYmUgc2V0IHRvIHRydWUgYmVmb3JlIGVuYWJsaW5nIHRoZXNlLlxuICovXG4kcGFsbS1wdXNoOiAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG4kbGFwLXB1c2g6ICAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG4kbGFwLWFuZC11cC1wdXNoOiAgIGZhbHNlIWRlZmF1bHQ7XG4kcG9ydGFibGUtcHVzaDogICAgIGZhbHNlIWRlZmF1bHQ7XG4kZGVzay1wdXNoOiAgICAgICAgIGZhbHNlIWRlZmF1bHQ7XG5cbiRwdWxsOiAgICAgICAgICAgICAgZmFsc2UhZGVmYXVsdDtcbi8qKlxuICogTm90ZTogYCRwdWxsYCB2YXJpYWJsZSBhYm92ZSBtdXN0IGJlIHNldCB0byB0cnVlIGJlZm9yZSBlbmFibGluZyB0aGVzZS5cbiAqL1xuJHBhbG0tcHVsbDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1wdWxsOiAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJGxhcC1hbmQtdXAtcHVsbDogICBmYWxzZSFkZWZhdWx0O1xuJHBvcnRhYmxlLXB1bGw6ICAgICBmYWxzZSFkZWZhdWx0O1xuJGRlc2stcHVsbDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuXG4vKipcbiAqIFRlbGwgaW51aXQuY3NzIHdoZW4gYnJlYWtwb2ludHMgc3RhcnQuXG4gKi9cbiRtb2JpbGUtc3RhcnQ6ICAgICAgICAgMzUwcHghZGVmYXVsdDtcbiR0YWJsZXQtc3RhcnQ6ICAgICAgICAgNDgxcHghZGVmYXVsdDtcbiRkZXNrLXN0YXJ0OiAgICAgICAgMTAyNHB4IWRlZmF1bHQ7XG4kZGVzay13aWRlLXN0YXJ0OiAgIDEyMDBweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPTlQtU0laRVNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEZvbnQtc2l6ZXMgKGluIHBpeGVscykuIFJlZmVyIHRvIHJlbGV2YW50IHNlY3Rpb25zIGZvciB0aGVpciBpbXBsZW1lbnRhdGlvbnMuXG4gKi9cbiRnaWdhLXNpemU6ICAgICAgICAgOTZweCFkZWZhdWx0O1xuJG1lZ2Etc2l6ZTogICAgICAgICA3MnB4IWRlZmF1bHQ7XG4ka2lsby1zaXplOiAgICAgICAgIDQ4cHghZGVmYXVsdDtcblxuJGgxLXNpemU6ICAgICAgICAgICAzNnB4IWRlZmF1bHQ7IC8vIC5hbHBoYVxuJGgyLXNpemU6ICAgICAgICAgICAzMHB4IWRlZmF1bHQ7IC8vIC5iZXRhXG4kaDMtc2l6ZTogICAgICAgICAgIDI0cHghZGVmYXVsdDsgLy8gLmdhbW1hXG4kaDQtc2l6ZTogICAgICAgICAgIDIwcHghZGVmYXVsdDsgLy8gLmRlbHRhXG4kaDUtc2l6ZTogICAgICAgICAgIDE2cHghZGVmYXVsdDsgLy8gLmVwc2lsb25cbiRoNi1zaXplOiAgICAgICAgICAgMTRweCFkZWZhdWx0OyAvLyAuemV0YVxuXG4kbWlsbGktc2l6ZTogICAgICAgIDEycHghZGVmYXVsdDtcbiRtaWNyby1zaXplOiAgICAgICAgMTBweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFFVT1RFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRW5nbGlzaCBxdW90ZSBtYXJrcz9cbiAqL1xuJGVuZ2xpc2gtcXVvdGVzOiAgICB0cnVlIWRlZmF1bHQ7XG5cbi8qKlxuICogSWYgeW91IHdhbnQgRW5nbGlzaCBxdW90ZXMgdGhlbiBwbGVhc2UgZG8gbm90IGVkaXQgdGhlc2U7IHRoZXnigJlyZSBvbmx5IGhlcmVcbiAqIGJlY2F1c2UgU2FzcyBuZWVkcyB0aGVtLlxuICovXG4kb3Blbi1xdW90ZTogICAgbnVsbDtcbiRjbG9zZS1xdW90ZTogICBudWxsO1xuXG4vKipcbiAqIElmIHlvdSBuZWVkIG5vbi1FbmdsaXNoIHF1b3RlcywgcGxlYXNlIGFsdGVyIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFjY29yZGluZ2x5OlxuICovXG5AaWYgJGVuZ2xpc2gtcXVvdGVzICE9IHRydWV7XG4gICAgJG9wZW4tcXVvdGU6ICAgIFxcMDBBQjtcbiAgICAkY2xvc2UtcXVvdGU6ICAgXFwwMEJCO1xufVxuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBCcmFuZCBzdHVmZlxuICovXG4kYnJhbmQtY29sb3I6ICAgICAgICM0YThlYzIhZGVmYXVsdDtcbiRicmFuZC1mYWNlOiAgICAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmIWRlZmF1bHQ7XG5cbi8qKlxuICogSG93IGJpZyB3b3VsZCB5b3UgbGlrZSByb3VuZCBjb3JuZXJzIHRvIGJlIGJ5IGRlZmF1bHQ/XG4gKi9cbiRicmFuZC1yb3VuZDogICAgICAgIDRweCFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE9CSkVDVFMgQU5EIEFCU1RSQUNUSU9OU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2hpY2ggb2JqZWN0cyBhbmQgYWJzdHJhY3Rpb25zIHdvdWxkIHlvdSBsaWtlIHRvIHVzZT9cbiAqL1xuJHVzZS1ncmlkczogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1mbGV4Ym94OiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1jb2x1bW5zOiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1uYXY6ICAgICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1vcHRpb25zOiAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1wYWdpbmF0aW9uOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1icmVhZGNydW1iOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tZWRpYTogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tYXJnaW5hbGlhOiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1pc2xhbmQ6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ibG9jay1saXN0OiAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1tYXRyaXg6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zcGxpdDogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS10aGlzLW9yLXRoaXM6ICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1saW5rLWNvbXBsZXg6ICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1mbHlvdXQ6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1hcnJvd3M6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zcHJpdGU6ICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1pY29uLXRleHQ6ICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1iZWF1dG9uczogICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1sb3plbmdlczogICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ydWxlczogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1zdGF0czogICAgICAgICBmYWxzZSFkZWZhdWx0O1xuJHVzZS1ncmV5Ym94OiAgICAgICBmYWxzZSFkZWZhdWx0O1xuXG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZSQU1FV09SS1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogaW51aXQuY3NzIHdpbGwgd29yayB0aGVzZSBuZXh0IG9uZXMgb3V0IGZvciB1c2Ugd2l0aGluIHRoZSBmcmFtZXdvcmsuXG4gKlxuICogQXNzaWduIG91ciBgJGJhc2UtbGluZS1oZWlnaHRgIHRvIGEgbmV3IHNwYWNpbmcgdmFyIGZvciBtb3JlIHRyYW5zcGFyZW5jeS5cbiAqL1xuJGJhc2Utc3BhY2luZy11bml0OiAkYmFzZS1saW5lLWhlaWdodCFkZWZhdWx0O1xuJGhhbGYtc3BhY2luZy11bml0OiAkYmFzZS1zcGFjaW5nLXVuaXQgLyAyIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtcmF0aW86ICRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplO1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTUlYSU5TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBDcmVhdGUgYSBmdWxseSBmb3JtZWQgdHlwZSBzdHlsZSAoc2l6aW5nIGFuZCB2ZXJ0aWNhbCByaHl0aG0pIGJ5IHBhc3NpbmcgaW4gYVxuICogc2luZ2xlIHZhbHVlLCBlLmcuOlxuICpcbiAgIGBAaW5jbHVkZSBmb250LXNpemUoMTBweCk7YFxuICpcbiAqIFRoYW5rcyB0byBAcmVkY2xvdjNyIGZvciB0aGUgYGxpbmUtaGVpZ2h0YCBTYXNzOlxuICogdHdpdHRlci5jb20vcmVkY2xvdjNyL3N0YXR1cy8yNTAzMDE1MzkzMjE3OTg2NTdcbiAqL1xuQG1peGluIGZvbnQtc2l6ZSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQ6dHJ1ZSl7XG4gICAgZm9udC1zaXplOiRmb250LXNpemU7XG4gICAgZm9udC1zaXplOigkZm9udC1zaXplIC8gJGJhc2UtZm9udC1zaXplKSoxcmVtO1xuICAgIEBpZiAkbGluZS1oZWlnaHQgPT0gdHJ1ZXtcbiAgICAgICAgbGluZS1oZWlnaHQ6Y2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpICogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSk7XG4gICAgfVxufVxuXG5cbi8qKlxuICogU3R5bGUgYW55IG51bWJlciBvZiBoZWFkaW5ncyBpbiBvbmUgZmVsbCBzd29vcCwgZS5nLjpcbiAqXG4gICAuZm9ve1xuICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzKDEsIDMpe1xuICAgICAgICAgICBjb2xvcjojQkFEQTU1O1xuICAgICAgIH1cbiAgICB9XG4gKlxuICogV2l0aCB0aGFua3MgdG8gQGxhcl96enosIEBwYXJhbm9pZGEsIEByb3dhbm1hbm5pbmcgYW5kIHVsdGltYXRlbHlcbiAqIEB0aGllcnJ5bGVtb3VsZWMgZm9yIHJlZmluaW5nIGFuZCBpbXByb3ZpbmcgbXkgaW5pdGlhbCBtaXhpbi5cbiAqL1xuQG1peGluIGhlYWRpbmdzKCRmcm9tOiAxLCAkdG86IDYpe1xuICAgICViYXNlLWhlYWRpbmcge1xuICAgICAgICBAY29udGVudFxuICAgIH1cblxuICAgIEBpZiAkZnJvbSA+PSAxIGFuZCAkdG8gPD0gNntcbiAgICAgICAgQGZvciAkaSBmcm9tICRmcm9tIHRocm91Z2ggJHRve1xuICAgICAgICAgICAgaCN7JGl9e1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWJhc2UtaGVhZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIENyZWF0ZSB2ZW5kb3ItcHJlZml4ZWQgQ1NTIGluIG9uZSBnbywgZS5nLlxuICpcbiAgIGBAaW5jbHVkZSB2ZW5kb3IoYm9yZGVyLXJhZGl1cywgNHB4KTtgXG4gKlxuICovXG5AbWl4aW4gdmVuZG9yKCRwcm9wZXJ0eSwgJHZhbHVlLi4uKXtcbiAgICAtd2Via2l0LSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgLW1vei0jeyRwcm9wZXJ0eX06JHZhbHVlO1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiR2YWx1ZTtcbiAgICAgICAgIC1vLSN7JHByb3BlcnR5fTokdmFsdWU7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06JHZhbHVlO1xufVxuXG5cbi8qKlxuICogQ3JlYXRlIENTUyBrZXlmcmFtZSBhbmltYXRpb25zIGZvciBhbGwgdmVuZG9ycyBpbiBvbmUgZ28sIGUuZy46XG4gKlxuICAgLmZvb3tcbiAgICAgICBAaW5jbHVkZSB2ZW5kb3IoYW5pbWF0aW9uLCBzaHJpbmsgM3MpO1xuICAgfVxuXG4gICBAaW5jbHVkZSBrZXlmcmFtZShzaHJpbmspe1xuICAgICAgIGZyb217XG4gICAgICAgICAgIGZvbnQtc2l6ZTo1ZW07XG4gICAgICAgfVxuICAgfVxuICpcbiAqIENvdXJ0ZXN5IG9mIEBpbnRlZ3JhbGlzdDogdHdpdHRlci5jb20vaW50ZWdyYWxpc3Qvc3RhdHVzLzI2MDQ4NDExNTMxNTQzNzU2OVxuICovXG5AbWl4aW4ga2V5ZnJhbWUgKCRhbmltYXRpb24tbmFtZSl7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tb3ota2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQC1tcy1rZXlmcmFtZXMgJGFuaW1hdGlvbi1uYW1le1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBALW8ta2V5ZnJhbWVzICRhbmltYXRpb24tbmFtZXtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyAkYW5pbWF0aW9uLW5hbWV7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG4vKipcbiAqIEZvcmNlIG92ZXJseSBsb25nIHNwYW5zIG9mIHRleHQgdG8gdHJ1bmNhdGUsIGUuZy46XG4gKlxuICAgYEBpbmNsdWRlIHRydW5jYXRlKDEwMCUpO2BcbiAqXG4gKiBXaGVyZSBgJHRydW5jYXRpb24tYm91bmRhcnlgIGlzIGEgdW5pdGVkIG1lYXN1cmVtZW50LlxuICovXG5AbWl4aW4gdHJ1bmNhdGUoJHRydW5jYXRpb24tYm91bmRhcnkpe1xuICAgIG1heC13aWR0aDokdHJ1bmNhdGlvbi1ib3VuZGFyeTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XG59XG5cblxuLyoqXG4gKiBDU1MgYXJyb3dzISEhIEJ1dC4uLiBiZWZvcmUgeW91IHJlYWQgb24sIHlvdSBtaWdodCB3YW50IHRvIGdyYWIgYSBjb2ZmZWUuLi5cbiAqXG4gKiBUaGlzIG1peGluIGNyZWF0ZXMgYSBDU1MgYXJyb3cgb24gYSBnaXZlbiBlbGVtZW50LiBXZSBjYW4gaGF2ZSB0aGUgYXJyb3dcbiAqIGFwcGVhciBpbiBvbmUgb2YgMTIgbG9jYXRpb25zLCB0aHVzOlxuICpcbiAqICAgICAgIDAxICAgIDAyICAgIDAzXG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogMTIgfCAgICAgICAgICAgICAgICAgIHwgMDRcbiAqICAgIHwgICAgICAgICAgICAgICAgICB8XG4gKiAxMSB8ICAgICAgICAgICAgICAgICAgfCAwNVxuICogICAgfCAgICAgICAgICAgICAgICAgIHxcbiAqIDEwIHwgICAgICAgICAgICAgICAgICB8IDA2XG4gKiAgICArLS0tLS0tLS0tLS0tLS0tLS0tK1xuICogICAgICAgMDkgICAgMDggICAgMDdcbiAqXG4gKiBZb3UgcGFzcyB0aGlzIHBvc2l0aW9uIGluIGFsb25nIHdpdGggYSBkZXNpcmVkIGFycm93IGNvbG9yIGFuZCBvcHRpb25hbFxuICogYm9yZGVyIGNvbG9yLCBmb3IgZXhhbXBsZTpcbiAqXG4gKiBgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCByZWQpYFxuICpcbiAqIGZvciBqdXN0IGEgc2luZ2xlLCByZWQgYXJyb3csIG9yOlxuICpcbiAqIGBAaW5jbHVkZSBhcnJvdyhib3R0b20sIGNlbnRlciwgcmVkLCBibGFjaylgXG4gKlxuICogd2hpY2ggd2lsbCBjcmVhdGUgYSByZWQgdHJpYW5nbGUgd2l0aCBhIGJsYWNrIGJvcmRlciB3aGljaCBzaXRzIGF0IHRoZSBib3R0b21cbiAqIGNlbnRlciBvZiB0aGUgZWxlbWVudC4gQ2FsbCB0aGUgbWl4aW4gdGh1czpcbiAqXG4gICAuZm9ve1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6I0JBREE1NTtcbiAgICAgICBib3JkZXI6MXB4IHNvbGlkICNBQ0U7XG4gICAgICAgQGluY2x1ZGUgYXJyb3codG9wLCBsZWZ0LCAjQkFEQTU1LCAjQUNFKTtcbiAgIH1cbiAqXG4gKi9cbkBtaXhpbiBhcnJvdygkYXJyb3ctZWRnZSwgJGFycm93LWxvY2F0aW9uLCAkYXJyb3ctY29sb3IsICRib3JkZXItY29sb3I6ICRhcnJvdy1jb2xvcil7XG5cbiAgICBAaWYgJGFycm93LWVkZ2UgPT0gdG9we1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS10b3A7XG5cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6JGFycm93LWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gbGVmdHtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSBjZW50ZXJ7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSByaWdodHtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1yaWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGlmICRhcnJvdy1lZGdlID09IHJpZ2h0e1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS1mYXI7XG5cbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjokYXJyb3ctY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSB0b3B7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tdXBwZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGNlbnRlcntcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1taWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGJvdHRvbXtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sb3dlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGlmICRhcnJvdy1lZGdlID09IGJvdHRvbXtcblxuICAgICAgICBAZXh0ZW5kICVhcnJvdy0tYm90dG9tO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjokYm9yZGVyLWNvbG9yIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiRhcnJvdy1jb2xvciFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGxlZnR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gY2VudGVye1xuICAgICAgICAgICAgQGV4dGVuZCAlYXJyb3ctLWNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYXJyb3ctbG9jYXRpb24gPT0gcmlnaHR7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tcmlnaHQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIEBpZiAkYXJyb3ctZWRnZSA9PSBsZWZ0e1xuXG4gICAgICAgIEBleHRlbmQgJWFycm93LS1uZWFyO1xuXG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiRib3JkZXItY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjokYXJyb3ctY29sb3IhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRhcnJvdy1sb2NhdGlvbiA9PSB0b3B7XG4gICAgICAgICAgICBAZXh0ZW5kICVhcnJvdy0tdXBwZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGNlbnRlcntcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1taWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGFycm93LWxvY2F0aW9uID09IGJvdHRvbXtcbiAgICAgICAgICAgIEBleHRlbmQgJWFycm93LS1sb3dlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cblxuLyoqXG4gKiBNZWRpYSBxdWVyeSBtaXhpbi5cbiAqXG4gKiBJdOKAmXMgbm90IGdyZWF0IHByYWN0aWNlIHRvIGRlZmluZSBzb2xpZCBicmVha3BvaW50cyB1cC1mcm9udCwgcHJlZmVycmluZyB0b1xuICogbW9kaWZ5IHlvdXIgZGVzaWduIHdoZW4gaXQgbmVlZHMgaXQsIHJhdGhlciB0aGFuIGFzc3VtaW5nIHlvdeKAmWxsIHdhbnQgYVxuICogY2hhbmdlIGF0IOKAmG1vYmlsZeKAmS4gSG93ZXZlciwgYXMgaW51aXQuY3NzIGlzIHJlcXVpcmVkIHRvIHRha2UgYSBoYW5kcyBvZmZcbiAqIGFwcHJvYWNoIHRvIGRlc2lnbiBkZWNpc2lvbnMsIHRoaXMgaXMgdGhlIGNsb3Nlc3Qgd2UgY2FuIGdldCB0byBiYWtlZC1pblxuICogcmVzcG9uc2l2ZW5lc3MuIEl04oCZcyBmbGV4aWJsZSBlbm91Z2ggdG8gYWxsb3cgeW91IHRvIHNldCB5b3VyIG93biBicmVha3BvaW50c1xuICogYnV0IHNvbGlkIGVub3VnaCB0byBiZSBmcmFtZXdvcmtpZmllZC5cbiAqXG4gKiBXZSBkZWZpbmUgc29tZSBicm9hZCBicmVha3BvaW50cyBpbiBvdXIgdmFycyBmaWxlIHRoYXQgYXJlIHBpY2tlZCB1cCBoZXJlXG4gKiBmb3IgdXNlIGluIGEgc2ltcGxlIG1lZGlhIHF1ZXJ5IG1peGluLiBPdXIgb3B0aW9ucyBhcmU6XG4gKlxuICogcGFsbVxuICogbGFwXG4gKiBsYXAtYW5kLXVwXG4gKiBwb3J0YWJsZVxuICogZGVza1xuICogZGVzay13aWRlXG4gKlxuICogTm90IHVzaW5nIGEgbWVkaWEgcXVlcnkgd2lsbCwgbmF0dXJhbGx5LCBzZXJ2ZSBzdHlsZXMgdG8gYWxsIGRldmljZXMuXG4gKlxuICogYEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBhbG0peyBbc3R5bGVzIGhlcmVdIH1gXG4gKlxuICogV2Ugd29yayBvdXQgeW91ciBlbmQgcG9pbnRzIGZvciB5b3U6XG4gKi9cbiRwYWxtLWVuZDogICAgICAgICAgICAgICR0YWJsZXQtc3RhcnQgLSAxcHg7XG5cbkBtaXhpbiBtZWRpYS1xdWVyeSgkbWVkaWEtcXVlcnkpe1xuXG4gICAgQGlmICRtZWRpYS1xdWVyeSA9PSBwYWxtIHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHBhbG0tZW5kKSB7IEBjb250ZW50OyB9XG5cbiAgICB9XG5cbiAgICBAaWYgJG1lZGlhLXF1ZXJ5ID09IGxhcHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHRhYmxldC1zdGFydCkgYW5kIChtYXgtd2lkdGg6JHRhYmxldC1lbmQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gbGFwLWFuZC11cHtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JHRhYmxldC1zdGFydCkgeyBAY29udGVudDsgfVxuXG4gICAgfVxuXG4gICAgQGlmICRtZWRpYS1xdWVyeSA9PSBwb3J0YWJsZXtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JHRhYmxldC1lbmQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gZGVza3tcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6JGRlc2stc3RhcnQpIHsgQGNvbnRlbnQ7IH1cblxuICAgIH1cblxuICAgIEBpZiAkbWVkaWEtcXVlcnkgPT0gZGVzay13aWRle1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkgeyBAY29udGVudDsgfVxuXG4gICAgfVxuXG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2Mi4xLjAgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyBgb3V0bGluZWAgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIENocm9tZSBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBvZ3JhcGh5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLypcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLypcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLypcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaSA1LlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCBmb250IHNpemUgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSA1LCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlOyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLypcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIENocm9tZSwgU2FmYXJpIDUrLCBhbmQgSUUgOCsuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3ggNCsgYW5kIE9wZXJhLlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLypcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdLFxuc2VsZWN0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLypcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS5cbiAqIDIuIEltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgLyogMiAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUkVTRVRcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEEgbW9yZSBjb25zaWRlcmVkIHJlc2V0OyBtb3JlIG9mIGEgcmVzdGFydC4uLlxuICogQXMgcGVyOiBjc3N3aXphcmRyeS5jb20vMjAxMS8xMC9yZXNldC1yZXN0YXJ0ZWRcbiAqL1xuXG5AaWYgJGdsb2JhbC1ib3JkZXItYm94ID09IHRydWV7XG4gICAgLyoqXG4gICAgKiBMZXTigJlzIG1ha2UgdGhlIGJveCBtb2RlbCBhbGwgbmljZSwgc2hhbGwgd2UuLi4/XG4gICAgKi9cbiAgICAqe1xuICAgICAgICAmLFxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlbmRvcihib3gtc2l6aW5nLCBib3JkZXItYm94KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBUaGUgdXN1YWwuLi5cbiAqL1xuaDEsaDIsaDMsaDQsaDUsaDYsXG5wLGJsb2NrcXVvdGUscHJlLFxuZGwsZGQsb2wsdWwsXG5mb3JtLGZpZWxkc2V0LGxlZ2VuZCxcbnRhYmxlLHRoLHRkLGNhcHRpb24sXG5ocntcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG59XG5cbi8qKlxuICogR2l2ZSBhIGhlbHAgY3Vyc29yIHRvIGVsZW1lbnRzIHRoYXQgZ2l2ZSBleHRyYSBpbmZvIG9uIGA6aG92ZXJgLlxuICovXG5hYmJyW3RpdGxlXSxkZm5bdGl0bGVde1xuICAgIGN1cnNvcjpoZWxwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgZWxlbWVudHMuXG4gKi9cbnUsaW5ze1xuICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xufVxuXG4vKipcbiAqIEFwcGx5IGZhdXggdW5kZXJsaW5lIHZpYSBgYm9yZGVyLWJvdHRvbWAuXG4gKi9cbmluc3tcbiAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZDtcbn1cblxuLyoqXG4gKiBTbyB0aGF0IGBhbHRgIHRleHQgaXMgdmlzdWFsbHkgb2Zmc2V0IGlmIGltYWdlcyBkb27igJl0IGxvYWQuXG4gKi9cbmltZ3tcbiAgICBmb250LXN0eWxlOml0YWxpYztcbn1cblxuLyoqXG4gKiBHaXZlIGZvcm0gZWxlbWVudHMgc29tZSBjdXJzb3IgaW50ZXJhY3Rpb25zLi4uXG4gKi9cbmxhYmVsLFxuaW5wdXQsXG50ZXh0YXJlYSxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGlvbntcbiAgICBjdXJzb3I6cG9pbnRlcjtcbn1cbiAgICAudGV4dC1pbnB1dDphY3RpdmUsXG4gICAgLnRleHQtaW5wdXQ6Zm9jdXMsXG4gICAgdGV4dGFyZWE6YWN0aXZlLFxuICAgIHRleHRhcmVhOmZvY3Vze1xuICAgICAgICBjdXJzb3I6dGV4dDtcbiAgICAgICAgb3V0bGluZTpub25lO1xuICAgIH1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJENMRUFSRklYXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBNaWNybyBjbGVhcmZpeCwgYXMgcGVyOiBjc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHBcbiAqIEV4dGVuZCB0aGUgY2xlYXJmaXggY2xhc3Mgd2l0aCBTYXNzIHRvIGF2b2lkIHRoZSBgLmNmYCBjbGFzcyBhcHBlYXJpbmcgb3ZlclxuICogYW5kIG92ZXIgaW4geW91ciBtYXJrdXAuXG4gKi9cbi5jZntcbiAgICAmOmFmdGVye1xuICAgICAgICBjb250ZW50OlwiXCI7XG4gICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkU0hBUkVEXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBXaGVyZSBgbWFyZ2luLWJvdHRvbWAgaXMgY29uY2VybmVkLCB0aGlzIHZhbHVlIHdpbGwgYmUgdGhlIHNhbWUgYXMgdGhlXG4gKiBiYXNlIGxpbmUtaGVpZ2h0LiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIGEgY29uc2lzdGVudCB2ZXJ0aWNhbCByaHl0aG0uXG4gKiBBcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3NpbmdsZS1kaXJlY3Rpb24tbWFyZ2luLWRlY2xhcmF0aW9uc1xuICovXG4vKipcbiAqIEJhc2UgZWxlbWVudHNcbiAqL1xuaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLFxudWwsb2wsZGwsXG5ibG9ja3F1b3RlLHAsYWRkcmVzcyxcbnRhYmxlLFxuZmllbGRzZXQsZmlndXJlLFxucHJlLFxuLyoqXG4gKiBPYmplY3RzIGFuZCBhYnN0cmFjdGlvbnNcbiAqL1xuJXNhc3MtbWFyZ2luLWJvdHRvbSxcbi5tZWRpYSxcbi5pc2xhbmQsXG4uaW5mb2dyYXBoaWNzLFxuLmlzbGV0e1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0O1xuICAgIG1hcmdpbi1ib3R0b206KCRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcblxuICAgIC5pc2xldCAme1xuICAgICAgICBtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCAvIDI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLyAkYmFzZS1mb250LXNpemUpIC8gMikqMXJlbTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBEb3VibGVkIHVwIGBtYXJnaW4tYm90dG9tYCBoZWxwZXIgY2xhc3MuXG4gKi9cbi5sYW5kbWFya3tcbiAgICBtYXJnaW4tYm90dG9tOjIgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cblxuXG4vKipcbiAqIGBocmAgZWxlbWVudHMgb25seSB0YWtlIHVwIGEgZmV3IHBpeGVscywgc28gd2UgbmVlZCB0byBnaXZlIHRoZW0gc3BlY2lhbFxuICogdHJlYXRtZW50IHJlZ2FyZGluZyB2ZXJ0aWNhbCByaHl0aG0uXG4gKi9cbmhye1xuICAgIG1hcmdpbi1ib3R0b206JGJhc2Utc3BhY2luZy11bml0IC0gMnB4O1xuICAgIG1hcmdpbi1ib3R0b206KCgkYmFzZS1zcGFjaW5nLXVuaXQgLSAycHgpIC8gJGJhc2UtZm9udC1zaXplKSoxcmVtO1xufVxuXG5cbi8qKlxuICogV2hlcmUgYG1hcmdpbi1sZWZ0YCBpcyBjb25jZXJuZWQgd2Ugd2FudCB0byB0cnkgYW5kIGluZGVudCBjZXJ0YWluIGVsZW1lbnRzXG4gKiBieSBhIGNvbnNpc3RlbnQgYW1vdW50LiBEZWZpbmUgdGhhdCBhbW91bnQgb25jZSwgaGVyZS5cbiAqL1xudWwsb2wsZGR7XG4gICAgbWFyZ2luLWxlZnQ6MiAqICRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tbGVmdDooMiAqICRiYXNlLXNwYWNpbmctdW5pdCAvICRiYXNlLWZvbnQtc2l6ZSkqMXJlbTtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJE1BSU5cblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1se1xuICAgIGZvbnQ6I3soJGJhc2UtZm9udC1zaXplLzE2cHgpKjFlbX0vI3skbGluZS1oZWlnaHQtcmF0aW99ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG92ZXJmbG93LXk6c2Nyb2xsO1xuICAgIG1pbi1oZWlnaHQ6MTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkSEVBRElOR1NcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIEFzIHBlcjogY3Nzd2l6YXJkcnkuY29tLzIwMTIvMDIvcHJhZ21hdGljLXByYWN0aWNhbC1mb250LXNpemluZy1pbi1jc3NcbiAqXG4gKiBXaGVuIHdlIGRlZmluZSBhIGhlYWRpbmcgd2UgYWxzbyBkZWZpbmUgYSBjb3JyZXNwb25kaW5nIGNsYXNzIHRvIGdvIHdpdGggaXQuXG4gKiBUaGlzIGFsbG93cyB1cyB0byBhcHBseSwgc2F5LCBgY2xhc3M9YWxwaGFgIHRvIGEgYGgzYDsgYSBkb3VibGUtc3RyYW5kZWRcbiAqIGhlYWRpbmcgaGllcmFyY2h5LlxuICovXG5oMSwuYWxwaGF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1zaXplKTtcbn1cbmgyLC5iZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDItc2l6ZSk7XG59XG5oMywuZ2FtbWF7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1zaXplKTtcbn1cbmg0LC5kZWx0YXtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGg0LXNpemUpO1xufVxuaDUsLmVwc2lsb257XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1zaXplKTtcbn1cbmg2LC56ZXRhe1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaDYtc2l6ZSk7XG59XG5cblxuLyoqXG4gKiBIZWFkaW5nIGdyb3VwcyBhbmQgZ2VuZXJpYyBhbnktaGVhZGluZyBjbGFzcy5cbiAqIFRvIHRhcmdldCBhbnkgaGVhZGluZyBvZiBhbnkgbGV2ZWwgc2ltcGx5IGFwcGx5IGEgY2xhc3Mgb2YgYC5oTmAsIGUuZy46XG4gKlxuICAgPGhncm91cD5cbiAgICAgICA8aDEgY2xhc3M9aE4+aW51aXQuY3NzPC9oMT5cbiAgICAgICA8aDIgY2xhc3M9aE4+QmVzdC4gRnJhbWV3b3JrLiBFdmVyITwvaDI+XG4gICA8L2hncm91cD5cbiAqXG4gKi9cbi5oTntcbn1cbmhncm91cCAuaE57XG4gICAgbWFyZ2luLWJvdHRvbTowO1xufVxuXG5cbi8qKlxuICogQSBzZXJpZXMgb2YgY2xhc3NlcyBmb3Igc2V0dGluZyBtYXNzaXZlIHR5cGU7IGZvciB1c2UgaW4gaGVyb2VzLCBtYXN0aGVhZHMsXG4gKiBwcm9tb3MsIGV0Yy5cbiAqL1xuLmdpZ2F7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRnaWdhLXNpemUpO1xufVxuLm1lZ2F7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRtZWdhLXNpemUpO1xufVxuLmtpbG97XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRraWxvLXNpemUpO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUEFSQUdSQVBIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogVGhlIGAubGVkZWAgY2xhc3MgaXMgdXNlZCB0byBtYWtlIHRoZSBpbnRyb2R1Y3RvcnkgdGV4dCAodXN1YWxseSBhIHBhcmFncmFwaClcbiAqIG9mIGEgZG9jdW1lbnQgc2xpZ2h0bHkgbGFyZ2VyLlxuICovXG4ubGVkZSxcbi5sZWFke1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFzZS1mb250LXNpemUgKiAxLjEyNSk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRTTUFMTFBSSU5UXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBBIHNlcmllcyBvZiBjbGFzc2VzIGZvciBzZXR0aW5nIHRpbnkgdHlwZTsgZm9yIHVzZSBpbiBzbWFsbHByaW50IGV0Yy5cbiAqL1xuLnNtYWxscHJpbnQsXG4ubWlsbGl7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRtaWxsaS1zaXplKTtcbn1cbi5taWNyb3tcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJG1pY3JvLXNpemUpO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUVVPVEVTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBJZiBFbmdsaXNoIHF1b3RlcyBhcmUgc2V0IGluIGBfdmFycy5zY3NzYCwgZGVmaW5lIHRoZW0gaGVyZS5cbiAqL1xuQGlmICRlbmdsaXNoLXF1b3RlcyA9PSB0cnVle1xuICAgICRvcGVuLXF1b3RlOiAgICAnXFwyMDFDJztcbiAgICAkY2xvc2UtcXVvdGU6ICAgJ1xcMjAxRCc7XG59XG5cblxuLyoqXG4gKiBCaWcgdXAgQGJvYmxldDogaHRtbDVkb2N0b3IuY29tL2Jsb2NrcXVvdGUtcS1jaXRlXG4gKi9cblxuLyoqXG4gKiBJbmxpbmUgcXVvdGVzLlxuICovXG5xe1xuICAgIHF1b3RlczpcIlxcMjAxOFwiIFwiXFwyMDE5XCIgXCIjeyRvcGVuLXF1b3RlfVwiIFwiI3skY2xvc2UtcXVvdGV9XCI7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxOFwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTlcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG5cbiAgICBxOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxQ1wiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHE6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMURcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG59XG5cbmJsb2NrcXVvdGV7XG4gICAgcXVvdGVzOlwiI3skb3Blbi1xdW90ZX1cIiBcIiN7JGNsb3NlLXF1b3RlfVwiO1xuXG4gICAgcDpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6XCIjeyRvcGVuLXF1b3RlfVwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHA6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgY29udGVudDpuby1jbG9zZS1xdW90ZTtcbiAgICB9XG4gICAgcDpsYXN0LW9mLXR5cGU6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCIjeyRjbG9zZS1xdW90ZX1cIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG5cbiAgICBxOmJlZm9yZXtcbiAgICAgICAgY29udGVudDpcIlxcMjAxOFwiO1xuICAgICAgICBjb250ZW50Om9wZW4tcXVvdGU7XG4gICAgfVxuICAgIHE6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTlcIjtcbiAgICAgICAgY29udGVudDpjbG9zZS1xdW90ZTtcbiAgICB9XG59XG5cblxuLyoqXG4gKlxuICAgPGJsb2NrcXVvdGU+XG4gICAgICAgPHA+SW5zYW5pdHk6IGRvaW5nIHRoZSBzYW1lIHRoaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4gYW5kIGV4cGVjdGluZ1xuICAgICAgIGRpZmZlcmVudCByZXN1bHRzLjwvcD5cbiAgICAgICA8YiBjbGFzcz1zb3VyY2U+QWxiZXJ0IEVpbnN0ZWluPC9iPlxuICAgPC9ibG9ja3F1b3RlPlxuICpcbiAqL1xuYmxvY2txdW90ZXtcbiAgICAvKipcbiAgICAgKiAuNGVtIGlzIHJvdWdobHkgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBvcGVuaW5nIOKAnCB0aGF0IHdlIHdpc2ggdG8gaGFuZy5cbiAgICAgKi9cbiAgICB0ZXh0LWluZGVudDotMC40MWVtO1xuXG4gICAgcDpsYXN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG59XG5cbi5zb3VyY2V7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICB0ZXh0LWluZGVudDowO1xuXG4gICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6XCJcXDIwMTRcIjtcbiAgICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRDT0RFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBVc2UgYW4gZXhwbGljaXQgZm9udCBzdGFjayB0byBlbnN1cmUgYnJvd3NlcnMgcmVuZGVyIGNvcnJlY3QgYGxpbmUtaGVpZ2h0YC5cbiAqL1xucHJle1xuICAgIG92ZXJmbG93OmF1dG87XG59XG4gICAgcHJlIG1hcmt7XG4gICAgICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7XG4gICAgICAgIGNvbG9yOmluaGVyaXQ7XG4gICAgfVxuXG5cbi8qKlxuICogQWRkIGNvbW1lbnRzIHRvIHlvdXIgY29kZSBleGFtcGxlcywgZS5nLjpcbiAqXG4gICA8Y29kZT4mbHQ7L2RpdiZndDs8c3BhbiBjbGFzcz1jb2RlLWNvbW1lbnQ+Jmx0OyEtLSAvd3JhcHBlciAtLSZndDs8L3NwYW4+PC9jb2RlPlxuICpcbiAqL1xuLmNvZGUtY29tbWVudHtcbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSB0aGlzIHNldHRpbmcgaW4geW91ciB0aGVtZSBzdHlsZXNoZWV0XG4gICAgICovXG4gICAgb3BhY2l0eTowLjc1O1xuICAgIGZpbHRlcjphbHBoYShvcGFjaXR5PTc1KTtcbn1cblxuXG4vKipcbiAqIFlvdSBjYW4gYWRkIGxpbmUgbnVtYmVycyB0byB5b3VyIGNvZGUgZXhhbXBsZXMgYnV0IGJlIHdhcm5lZCwgaXQgcmVxdWlyZXNcbiAqIHNvbWUgcHJldHR5IGZ1bmt5IGxvb2tpbmcgbWFya3VwLCBlLmcuOlxuICpcbiAgIDxvbCBjbGFzcz1saW5lLW51bWJlcnM+XG4gICAgICAgPGxpPjxjb2RlPi5uYXZ7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBsaXN0LXN0eWxlOm5vbmU7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICBtYXJnaW4tbGVmdDowOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT59PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAubmF2ID4gbGksPC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgLm5hdiA+IGxpID4gYXs8L2NvZGU+PC9saT5cbiAgICAgICA8bGk+PGNvZGU+ICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgICAgKmRpc3BsYXk6aW5saW5lLWJsb2NrOzwvY29kZT48L2xpPlxuICAgICAgIDxsaT48Y29kZT4gICAgICAgICAgICB6b29tOjE7PC9jb2RlPjwvbGk+XG4gICAgICAgPGxpPjxjb2RlPiAgICAgICAgfTwvY29kZT48L2xpPlxuICAgPC9vbD5cbiAqXG4gKiAxLiBNYWtlIHRoZSBsaXN0IGxvb2sgbGlrZSBjb2RlLlxuICogMi4gR2l2ZSB0aGUgbGlzdCBmbHVzaCBudW1iZXJzIHdpdGggYSBsZWFkaW5nIHplcm8uXG4gKiAzLiBNYWtlIHN1cmUgbGluZXMgb2YgY29kZSBkb27igJl0IHdyYXAuXG4gKiA0LiBHaXZlIHRoZSBjb2RlIGZvcm0gYnkgZm9yY2luZyB0aGUgYGNvZGVgIHRvIGhvbm91ciB3aGl0ZS1zcGFjZS5cbiAqL1xuLmxpbmUtbnVtYmVyc3tcbiAgICBmb250LWZhbWlseTptb25vc3BhY2UsIHNlcmlmOyAgICAgICAgICAgLyogWzFdICovXG4gICAgbGlzdC1zdHlsZTpkZWNpbWFsLWxlYWRpbmctemVybyBpbnNpZGU7IC8qIFsyXSAqL1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsgICAgICAgICAgICAgICAgICAgICAvKiBbM10gKi9cbiAgICBvdmVyZmxvdzphdXRvOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogWzNdICovXG4gICAgbWFyZ2luLWxlZnQ6MDtcbn1cbiAgICAubGluZS1udW1iZXJzIGNvZGV7XG4gICAgICAgIHdoaXRlLXNwYWNlOnByZTsgICAgICAgICAgICAgICAgICAgIC8qIFs0XSAqL1xuICAgIH1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJElNQUdFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL3lNdHVyXG4gKi9cbi8qKlxuICogRmx1aWQgaW1hZ2VzLlxuICovXG5pbWd7XG4gICAgbWF4LXdpZHRoOjEwMCU7XG59XG5cblxuLyoqXG4gKiBOb24tZmx1aWQgaW1hZ2VzIGlmIHlvdSBzcGVjaWZ5IGB3aWR0aGAgYW5kL29yIGBoZWlnaHRgIGF0dHJpYnV0ZXMuXG4gKi9cbmltZ1t3aWR0aF0sXG5pbWdbaGVpZ2h0XXtcbiAgICBtYXgtd2lkdGg6bm9uZTtcbn1cblxuXG4vKipcbiAqIFJvdW5kZWQgaW1hZ2VzLlxuICovXG4uaW1nLS1yb3VuZCB7IGJvcmRlci1yYWRpdXM6JGJyYW5kLXJvdW5kOyB9XG5cblxuLyoqXG4gKiBJbWFnZSBwbGFjZW1lbnQgdmFyaWF0aW9ucy5cbiAqL1xuLmltZy0tcmlnaHR7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWxlZnQ6JGJhc2Utc3BhY2luZy11bml0O1xufVxuLmltZy0tbGVmdHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG4uaW1nLS1jZW50ZXJ7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xufVxuXG5cbi8qKlxuICogS2VlcCB5b3VyIGltYWdlcyBvbiB5b3VyIGJhc2VsaW5lLlxuICpcbiAqIFBsZWFzZSBub3RlLCB0aGVzZSB3aWxsIG5vdCB3b3JrIHRvbyBuaWNlbHkgd2l0aCBmbHVpZCBpbWFnZXMgYW5kIHdpbGxcbiAqIGRpc3RvcnQgd2hlbiByZXNpemVkIGJlbG93IGEgY2VydGFpbiB3aWR0aC4gVXNlIHdpdGggY2F1dGlvbi5cbiAqL1xuLmltZy0tc2hvcnR7XG4gICAgaGVpZ2h0OjUgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG4uaW1nLS1tZWRpdW17XG4gICAgaGVpZ2h0OjEwICogJGJhc2Utc3BhY2luZy11bml0O1xufVxuLmltZy0tdGFsbHtcbiAgICBoZWlnaHQ6MTUgKiAkYmFzZS1zcGFjaW5nLXVuaXQ7XG59XG5cblxuLyoqXG4gKiBJbWFnZXMgaW4gYGZpZ3VyZWAgZWxlbWVudHMuXG4gKi9cbmZpZ3VyZSA+IGltZ3tcbiAgICBkaXNwbGF5OmJsb2NrO1xufVxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkTElTVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFJlbW92ZSB2ZXJ0aWNhbCBzcGFjaW5nIGZyb20gbmVzdGVkIGxpc3RzLlxuICovXG5saXtcbiAgICA+IHVsLFxuICAgID4gb2x7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgIH1cbn1cblxuLyoqXG4gKiBIYXZlIGEgbnVtYmVyZWQgYHVsYCB3aXRob3V0IHRoZSBzZW1hbnRpY3MgaW1wbGllZCBieSB1c2luZyBhbiBgb2xgLlxuICovXG4vKnVsKi8ubnVtYmVyZWQtbGlzdHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFRBQkxFU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogV2UgaGF2ZSBhIGxvdCBhdCBvdXIgZGlzcG9zYWwgZm9yIG1ha2luZyB2ZXJ5IGNvbXBsZXggdGFibGUgY29uc3RydWN0cywgZS5nLjpcbiAqXG4gICA8dGFibGUgY2xhc3M9XCJ0YWJsZS0tYm9yZGVyZWQgIHRhYmxlLS1zdHJpcGVkICB0YWJsZS0tZGF0YVwiPlxuICAgICAgIDxjb2xncm91cD5cbiAgICAgICAgICAgPGNvbCBjbGFzcz10MTA+XG4gICAgICAgICAgIDxjb2wgY2xhc3M9dDEwPlxuICAgICAgICAgICA8Y29sIGNsYXNzPXQxMD5cbiAgICAgICAgICAgPGNvbD5cbiAgICAgICA8L2NvbGdyb3VwPlxuICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49Mz5Gb288L3RoPlxuICAgICAgICAgICAgICAgPHRoPkJhcjwvdGg+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0aD5Mb3JlbTwvdGg+XG4gICAgICAgICAgICAgICA8dGg+SXBzdW08L3RoPlxuICAgICAgICAgICAgICAgPHRoIGNsYXNzPW51bWVyaWNhbD5Eb2xvcjwvdGg+XG4gICAgICAgICAgICAgICA8dGg+U2l0PC90aD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICA8L3RoZWFkPlxuICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIHJvd3NwYW49Mz5TaXQ8L3RoPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MDMuNzg4PC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjMyLjIxMDwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICA8dGQ+RG9sb3I8L3RkPlxuICAgICAgICAgICAgICAgPHRkIGNsYXNzPW51bWVyaWNhbD40Ny43OTc8L3RkPlxuICAgICAgICAgICAgICAgPHRkPkxvcmVtPC90ZD5cbiAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgPHRoIHJvd3NwYW49Mj5TaXQ8L3RoPlxuICAgICAgICAgICAgICAgPHRkPkRvbG9yPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1udW1lcmljYWw+MDkuNjQwPC90ZD5cbiAgICAgICAgICAgICAgIDx0ZD5Mb3JlbTwvdGQ+XG4gICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgIDx0ZD5Eb2xvcjwvdGQ+XG4gICAgICAgICAgICAgICA8dGQgY2xhc3M9bnVtZXJpY2FsPjEyLjExNzwvdGQ+XG4gICAgICAgICAgICAgICA8dGQ+TG9yZW08L3RkPlxuICAgICAgICAgICA8L3RyPlxuICAgICAgIDwvdGJvZHk+XG4gICA8L3RhYmxlPlxuICpcbiAqL1xudGFibGV7XG4gICAgd2lkdGg6MTAwJTtcbn1cbnRoLFxudGR7XG4gICAgcGFkZGluZzokYmFzZS1zcGFjaW5nLXVuaXQgLyA0O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDgwcHgpe1xuICAgICAgICBwYWRkaW5nOiRoYWxmLXNwYWNpbmctdW5pdDtcbiAgICB9XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xufVxuXG5cbi8qKlxuICogQ2VsbCBhbGlnbm1lbnRzXG4gKi9cbltjb2xzcGFuXXtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cbltjb2xzcGFuPVwiMVwiXXtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG59XG5bcm93c3Bhbl17XG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xufVxuW3Jvd3NwYW49XCIxXCJde1xuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbn1cbi5udW1lcmljYWx7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbn1cblxuLyoqXG4gKiBJbiB0aGUgSFRNTCBhYm92ZSB3ZSBzZWUgc2V2ZXJhbCBgY29sYCBlbGVtZW50cyB3aXRoIGNsYXNzZXMgd2hvc2UgbnVtYmVyc1xuICogcmVwcmVzZW50IGEgcGVyY2VudGFnZSB3aWR0aCBmb3IgdGhhdCBjb2x1bW4uIFdlIGxlYXZlIG9uZSBjb2x1bW4gZnJlZSBvZiBhXG4gKiBjbGFzcyBzbyB0aGF0IGNvbHVtbiBjYW4gc29hayB1cCB0aGUgZWZmZWN0cyBvZiBhbnkgYWNjaWRlbnRhbCBicmVha2FnZSBpblxuICogdGhlIHRhYmxlLlxuICovXG4udDUgICAgIHsgd2lkdGg6IDUlIH1cbi50MTAgICAgeyB3aWR0aDoxMCUgfVxuLnQxMiAgICB7IHdpZHRoOjEyLjUlIH0gICAgIC8qIDEvOCAqL1xuLnQxNSAgICB7IHdpZHRoOjE1JSB9XG4udDIwICAgIHsgd2lkdGg6MjAlIH1cbi50MjUgICAgeyB3aWR0aDoyNSUgfSAgICAgICAvKiAxLzQgKi9cbi50MzAgICAgeyB3aWR0aDozMCUgfVxuLnQzMyAgICB7IHdpZHRoOjMzLjMzMyUgfSAgIC8qIDEvMyAqL1xuLnQzNSAgICB7IHdpZHRoOjM1JSB9XG4udDM3ICAgIHsgd2lkdGg6MzcuNSUgfSAgICAgLyogMy84ICovXG4udDQwICAgIHsgd2lkdGg6NDAlIH1cbi50NDUgICAgeyB3aWR0aDo0NSUgfVxuLnQ1MCAgICB7IHdpZHRoOjUwJSB9ICAgICAgIC8qIDEvMiAqL1xuLnQ1NSAgICB7IHdpZHRoOjU1JSB9XG4udDYwICAgIHsgd2lkdGg6NjAlIH1cbi50NjIgICAgeyB3aWR0aDo2Mi41JSB9ICAgICAvKiA1LzggKi9cbi50NjUgICAgeyB3aWR0aDo2NSUgfVxuLnQ2NiAgICB7IHdpZHRoOjY2LjY2NiUgfSAgIC8qIDIvMyAqL1xuLnQ3MCAgICB7IHdpZHRoOjcwJSB9XG4udDc1ICAgIHsgd2lkdGg6NzUlIH0gICAgICAgLyogMy80Ki9cbi50ODAgICAgeyB3aWR0aDo4MCUgfVxuLnQ4NSAgICB7IHdpZHRoOjg1JSB9XG4udDg3ICAgIHsgd2lkdGg6ODcuNSUgfSAgICAgLyogNy84ICovXG4udDkwICAgIHsgd2lkdGg6OTAlIH1cbi50OTUgICAgeyB3aWR0aDo5NSUgfVxuXG5cbi8qKlxuICogQm9yZGVyZWQgdGFibGVzXG4gKi9cbi50YWJsZS0tYm9yZGVyZWR7XG5cbiAgICB0aCxcbiAgICB0ZHtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkYmFzZS11aS1jb2xvcjtcblxuICAgICAgICAmOmVtcHR5e1xuICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGVhZCB0cjpsYXN0LWNoaWxkIHRoe1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOjJweDtcbiAgICB9XG5cbiAgICB0Ym9keSB0ciB0aDpsYXN0LW9mLXR5cGV7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDoycHg7XG4gICAgfVxufVxuXG5cbi8qKlxuICogU3RyaXBlZCB0YWJsZXNcbiAqL1xuLnRhYmxlLS1zdHJpcGVke1xuXG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZmZjOyAvKiBPdmVycmlkZSB0aGlzIGNvbG9yIGluIHlvdXIgdGhlbWUgc3R5bGVzaGVldCAqL1xuICAgIH1cbn1cblxuXG4vKipcbiAqIERhdGEgdGFibGVcbiAqL1xuLnRhYmxlLS1kYXRhe1xuICAgIGZvbnQ6MTJweC8xLjUgc2Fucy1zZXJpZjtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEZPUk1TXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL01oSEhVXG4gKlxuICovXG5maWVsZHNldHtcbiAgICBwYWRkaW5nOiRiYXNlLXNwYWNpbmctdW5pdDtcbn1cblxuXG4vKipcbiAqIFRleHQgaW5wdXRzXG4gKlxuICogSW5zdGVhZCBvZiBhIGBbdHlwZV1gIHNlbGVjdG9yIGZvciBlYWNoIGtpbmQgb2YgZm9ybSBpbnB1dCwgd2UganVzdCB1c2UgYVxuICogY2xhc3MgdG8gdGFyZ2V0IGFueS9ldmVyeSBvbmUsIGUuZy46XG4gICA8aW5wdXQgdHlwZT10ZXh0IGNsYXNzPXRleHQtaW5wdXQ+XG4gICA8aW5wdXQgdHlwZT1lbWFpbCBjbGFzcz10ZXh0LWlucHV0PlxuICAgPGlucHV0IHR5cGU9cGFzc3dvcmQgY2xhc3M9dGV4dC1pbnB1dD5cbiAqXG4gKi9cbi50ZXh0LWlucHV0LFxudGV4dGFyZWF7XG4gICAgLyoqXG4gICAgICogU3R5bGUgdGhlc2UgdmlhIHlvdXIgdGhlbWUgc3R5bGVzaGVldC5cbiAgICAgKi9cbn1cblxuXG4vKipcbiAqIEdyb3VwIHNldHMgb2YgZm9ybSBmaWVsZHMgaW4gYSBsaXN0LCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1mb3JtLWZpZWxkcz5cbiAgICAgICA8bGk+XG4gICAgICAgICAgIDxsYWJlbCAvPlxuICAgICAgICAgICA8aW5wdXQgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxzZWxlY3QgLz5cbiAgICAgICA8L2xpPlxuICAgICAgIDxsaT5cbiAgICAgICAgICAgPGxhYmVsIC8+XG4gICAgICAgICAgIDxpbnB1dCAvPlxuICAgICAgIDwvbGk+XG4gICA8L3VsPlxuICpcbiAqL1xuLmZvcm0tZmllbGRze1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICBtYXJnaW46MDtcbn1cbiAgICAuZm9ybS1maWVsZHMgPiBsaXtcbiAgICAgICAgQGV4dGVuZCAlc2Fzcy1tYXJnaW4tYm90dG9tO1xuICAgIH1cbiAgICAuZm9ybS1maWVsZHMgPiBsaTpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuXG5cbi8qKlxuICogTGFiZWxzXG4gKlxuICogRGVmaW5lIGEgYC5sYWJlbGAgY2xhc3MgYXMgd2VsbCBhcyBhIGBsYWJlbGAgZWxlbWVudC4gVGhpcyBtZWFucyB3ZSBjYW4gYXBwbHlcbiAqIGxhYmVsLWxpa2Ugc3R5bGluZyB0byBtZXRhLWxhYmVscyBmb3IgZ3JvdXBzIG9mIG9wdGlvbnMgd2hlcmUgYSBgbGFiZWxgXG4gKiBlbGVtZW50IGlzIG5vdCBzdWl0YWJsZSwgZS5nLjpcbiAqXG4gICA8bGk+XG4gICAgICAgPHNwYW4gY2xhc3M9bGFiZWw+U2VsZWN0IGFuIG9wdGlvbiBiZWxvdzo8L3NwYW4+XG4gICAgICAgPHVsIGNsYXNzPVwibXVsdGktbGlzdCAgZm91ci1jb2xzXCI+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgIDxpbnB1dCAvPiA8bGFiZWwgLz5cbiAgICAgICAgICAgPC9saT5cbiAgICAgICA8L3VsPlxuICAgPC9saT5cbiAqXG4gKi9cbmxhYmVsLFxuLmxhYmVse1xuICAgIGRpc3BsYXk6YmxvY2s7XG59XG4gICAgLyoqXG4gICAgICogRXh0cmEgaGVscCB0ZXh0IGluIGBsYWJlbGBzLCBlLmcuOlxuICAgICAqXG4gICAgICAgPGxhYmVsPkNhcmQgbnVtYmVyIDxzbWFsbCBjbGFzcz1hZGRpdGlvbmFsPk5vIHNwYWNlczwvc21hbGw+PC9sYWJlbD5cbiAgICAgKlxuICAgICAqL1xuICAgIC5hZGRpdGlvbmFse1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgfVxuXG5cbi8qXG4gKiBHcm91cHMgb2YgY2hlY2tib3hlcyBhbmQgcmFkaW9zLCBlLmcuOlxuICpcbiAgIDxsaT5cbiAgICAgICA8dWwgY2xhc3M9Y2hlY2stbGlzdD5cbiAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgPGlucHV0IC8+IDxsYWJlbCAvPlxuICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICA8aW5wdXQgLz4gPGxhYmVsIC8+XG4gICAgICAgICAgIDwvbGk+XG4gICAgICAgPC91bD5cbiAgIDwvbGk+XG4gKlxuICovXG4uY2hlY2stbGlzdHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luOjA7XG59XG4gICAgLypcbiAgICAgKiBMYWJlbHMgaW4gY2hlY2stbGlzdHNcbiAgICAgKi9cbiAgICAuY2hlY2stbGFiZWwsXG4gICAgLmNoZWNrLWxpc3QgbGFiZWwsXG4gICAgLmNoZWNrLWxpc3QgLmxhYmVse1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB9XG5cblxuLyoqXG4gKiBTcG9rZW4gZm9ybXMgYXJlIGZvciBmb3JtcyB0aGF0IHJlYWQgbGlrZSBzcG9rZW4gd29yZCwgZS5nLjpcbiAqXG4gICA8bGkgY2xhc3M9c3Bva2VuLWZvcm0+XG4gICAgICAgSGVsbG8sIG15IDxsYWJlbCBmb3I9c3Bva2VuLW5hbWU+bmFtZTwvbGFiZWw+IGlzXG4gICAgICAgPGlucHV0IHR5cGU9dGV4dCBjbGFzcz10ZXh0LWlucHV0IGlkPXNwb2tlbi1uYW1lPi4gTXkgaG9tZVxuICAgICAgIDxsYWJlbCBmb3I9Y291bnRyeT5jb3VudHJ5PC9sYWJlbD4gaXNcbiAgICAgICA8c2VsZWN0IGlkPWNvdW50cnk+XG4gICAgICAgICAgIDxvcHRpb24+VUs8L29wdGlvbj5cbiAgICAgICAgICAgPG9wdGlvbj5VUzwvb3B0aW9uPlxuICAgICAgICAgICA8b3B0aW9uPk90aGVyPC9vcHRpb24+XG4gICAgICAgPC9zZWxlY3Q+XG4gICA8L2xpPlxuICpcbiAqL1xuLnNwb2tlbi1mb3JtIGxhYmVse1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6aW5oZXJpdDtcbn1cblxuXG4vKipcbiAqIEV4dHJhIGhlbHAgdGV4dCBkaXNwbGF5ZWQgYWZ0ZXIgYSBmaWVsZCB3aGVuIHRoYXQgZmllbGQgaXMgaW4gZm9jdXMsIGUuZy46XG4gKlxuICAgPGxhYmVsIGZvcj1lbWFpbD5FbWFpbDo8L2xhYmVsPlxuICAgPGlucHV0IHR5cGU9ZW1haWwgY2xhc3M9dGV4dC1pbnB1dCBpZD1lbWFpbD5cbiAgIDxzbWFsbCBjbGFzcz1leHRyYS1oZWxwPi5lZHUgZW1haWxzIG9ubHk8L3NtYWxsPlxuICpcbiAqIFdlIGxlYXZlIHRoZSBoZWxwIHRleHQgaW4gdGhlIGRvY3VtZW50IGZsb3cgYW5kIG1lcmVseSBzZXQgaXQgdG9cbiAqIGB2aXNpYmlsaXR5OmhpZGRlbjtgLiBUaGlzIG1lYW5zIHRoYXQgaXQgd29u4oCZdCBpbnRlcmZlcmUgd2l0aCBhbnl0aGluZyBvbmNlXG4gKiBpdCByZWFwcGVhcnMuXG4gKlxuICovXG4vKnNtYWxsKi8uZXh0cmEtaGVscHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB2aXNpYmlsaXR5OmhpZGRlbjtcbn1cbi50ZXh0LWlucHV0OmFjdGl2ZSArIC5leHRyYS1oZWxwLFxuLnRleHQtaW5wdXQ6Zm9jdXMgKyAuZXh0cmEtaGVscHtcbiAgICB2aXNpYmlsaXR5OnZpc2libGU7XG59XG4iLCJAaWYgJHVzZS1ncmlkcyA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRHUklEU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogRmx1aWQgYW5kIG5lc3RhYmxlIGdyaWQgc3lzdGVtLCBlLmcuOlxuICpcbiAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XG5cbiAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXRoaXJkXCI+XG4gICAgICAgICAgIDxwPk9uZSB0aGlyZCBncmlkPC9wPlxuICAgICAgIDwvZGl2PjwhLS1cblxuICAgIC0tPjxkaXYgY2xhc3M9XCJncmlkX19pdGVtICB0d28tdGhpcmRzXCI+XG4gICAgICAgICAgIDxwPlR3byB0aGlyZHMgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLWhhbGZcIj5cbiAgICAgICAgICAgPHA+T25lIGhhbGYgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj48IS0tXG5cbiAgICAtLT48ZGl2IGNsYXNzPVwiZ3JpZF9faXRlbSAgb25lLXF1YXJ0ZXJcIj5cbiAgICAgICAgICAgPHA+T25lIHF1YXJ0ZXIgZ3JpZDwvcD5cbiAgICAgICA8L2Rpdj5cblxuICAgPC9kaXY+XG4gKlxuICogRGVtbzoganNmaWRkbGUubmV0L2ludWl0Y3NzL0NMWVVDXG4gKlxuICovXG5cblxuLyoqXG4gKiBHcmlkIHdyYXBwZXJcbiAqL1xuLmdyaWR7XG4gICAgbWFyZ2luLWxlZnQ6LSRiYXNlLXNwYWNpbmctdW5pdDtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xufVxuXG5cbiAgICAvKipcbiAgICAgKiBWZXJ5IGluZnJlcXVlbnRseSBvY2N1cmluZyBncmlkIHdyYXBwZXJzIGFzIGNoaWxkcmVuIG9mIGdyaWQgd3JhcHBlcnMuXG4gICAgICovXG4gICAgLmdyaWQgPiAuZ3JpZHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEdyaWRcbiAgICAgKi9cbiAgICAuZ3JpZF9faXRlbXtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDokYmFzZS1zcGFjaW5nLXVuaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICAgICAgQGlmICRnbG9iYWwtYm9yZGVyLWJveCA9PSBmYWxzZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlbmRvcihib3gtc2l6aW5nLCBib3JkZXItYm94KTtcbiAgICAgICAgfVxuICAgIH1cblxufS8vZW5kaWZcbiIsIkBpZiAkdXNlLW5hdiA9PSB0cnVlIG9yICR1c2Utb3B0aW9ucyA9PSB0cnVlIG9yICR1c2UtcGFnaW5hdGlvbiA9PSB0cnVlIG9yICR1c2UtYnJlYWRjcnVtYiA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICROQVZcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIE5hdiBhYnN0cmFjdGlvbiBhcyBwZXI6IGNzc3dpemFyZHJ5LmNvbS8yMDExLzA5L3RoZS1uYXYtYWJzdHJhY3Rpb25cbiAqIFdoZW4gdXNlZCBvbiBhbiBgb2xgIG9yIGB1bGAsIHRoaXMgY2xhc3MgdGhyb3dzIHRoZSBsaXN0IGludG8gaG9yaXpvbnRhbCBtb2RlXG4gKiBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1uYXY+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Ib21lPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5BYm91dDwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+UG9ydGZvbGlvPC9hPjwvbGk+XG4gICAgICAgPGxpPjxhIGhyZWY9Iz5Db250YWN0PC9hPjwvbGk+XG4gICA8L3VsPlxuICpcbiAqIERlbW86IGpzZmlkZGxlLm5ldC9pbnVpdGNzcy9WbnBoNFxuICpcbiAqL1xuLm5hdntcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgICBAZXh0ZW5kIC5jZjtcblxuICAgID4gbGl7XG5cbiAgICAgICAgJixcbiAgICAgICAgPiBhe1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICpkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICAgIHpvb206MTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIGAubmF2LS1zdGFja2VkYCBleHRlbmRzIGAubmF2YCBhbmQgdGhyb3dzIHRoZSBsaXN0IGludG8gdmVydGljYWwgbW9kZSwgZS5nLjpcbiAqXG4gICA8dWwgY2xhc3M9XCJuYXYgIG5hdi0tc3RhY2tlZFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLXN0YWNrZWR7XG5cbiAgICA+IGxpe1xuICAgICAgICBkaXNwbGF5Omxpc3QtaXRlbTtcblxuICAgICAgICA+IGF7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogYC5uYXYtLWJhbm5lcmAgZXh0ZW5kcyBgLm5hdmAgYW5kIGNlbnRyZXMgdGhlIGxpc3QsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWJhbm5lclwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJhbm5lcntcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuXG4vKipcbiAqIEdpdmUgbmF2IGxpbmtzIGEgYmlnLCBibG9ja3kgaGl0IGFyZWEuIEV4dGVuZHMgYC5uYXZgLCBlLmcuOlxuICpcbiAgIDx1bCBjbGFzcz1cIm5hdiAgbmF2LS1ibG9ja1wiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKi9cbi5uYXYtLWJsb2Nre1xuICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgLlxuICAgICAqL1xuICAgIGxldHRlci1zcGFjaW5nOi0wLjMxZW07XG4gICAgd29yZC1zcGFjaW5nOi0wLjQzZW07XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuXG4gICAgPiBsaXtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6bm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6bm9ybWFsO1xuXG4gICAgICAgID4gYXtcbiAgICAgICAgICAgIHBhZGRpbmc6JGhhbGYtc3BhY2luZy11bml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKlxuICogRm9yY2UgYSBuYXYgdG8gb2NjdXB5IDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aCBvZiBpdHMgcGFyZW50LiBFeHRlbmRzXG4gKiBgLm5hdmAsIGUuZy46XG4gKlxuICAgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWZpdFwiPlxuICAgICAgIDxsaT48YSBocmVmPSM+SG9tZTwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+QWJvdXQ8L2E+PC9saT5cbiAgICAgICA8bGk+PGEgaHJlZj0jPlBvcnRmb2xpbzwvYT48L2xpPlxuICAgICAgIDxsaT48YSBocmVmPSM+Q29udGFjdDwvYT48L2xpPlxuICAgPC91bD5cbiAqXG4gKiBUaGFua3MgdG8gQHBpbXBsIGZvciB0aGlzIGlkZWEhXG4gKi9cbi5uYXYtLWZpdHtcbiAgICBkaXNwbGF5OnRhYmxlO1xuICAgIHdpZHRoOjEwMCU7XG5cbiAgICA+IGxpe1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG5cbiAgICAgICAgPiBhe1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKipcbiAqIE1ha2UgYSBsaXN0IG9mIGtleXdvcmRzLiBFeHRlbmRzIGAubmF2YCwgZS5nLjpcbiAqXG4gICBgPHVsIGNsYXNzPVwibmF2ICBuYXYtLWtleXdvcmRzPmBcbiAqXG4gKi9cbi5uYXYtLWtleXdvcmRze1xuXG4gICAgPiBsaXtcblxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudDpcIlxcMDAyQ1wiIFwiXFwwMEEwXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXJ7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbn0vL2VuZGlmXG4iLCJAaWYgJHVzZS1tZWRpYSA9PSB0cnVle1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRNRURJQVxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUGxhY2UgYW55IGltYWdlLSBhbmQgdGV4dC1saWtlIGNvbnRlbnQgc2lkZS1ieS1zaWRlLCBhcyBwZXI6XG4gKiBzdHViYm9ybmVsbGEub3JnL2NvbnRlbnQvMjAxMC8wNi8yNS90aGUtbWVkaWEtb2JqZWN0LXNhdmVzLWh1bmRyZWRzLW9mLWxpbmVzLW9mLWNvZGVcbiAqIEUuZy46XG4gKlxuICAgPGRpdiBjbGFzcz1tZWRpYT5cbiAgICAgICA8aW1nIHNyYz1odHRwOi8vcGxhY2VraXR0ZW4uY29tLzIwMC8zMDAgYWx0PVwiXCIgY2xhc3M9bWVkaWFfX2ltZz5cbiAgICAgICA8cCBjbGFzcz1tZWRpYV9fYm9keT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCxcbiAgICAgICBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS48L3A+XG4gICA8L2Rpdj5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvY2Y0UXNcbiAqXG4gKi9cbi5tZWRpYXtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIEBleHRlbmQgLmNmO1xufVxuICAgIC5tZWRpYV9faW1ne1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGJhc2Utc3BhY2luZy11bml0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlZCBpbWFnZSBsb2NhdGlvbiAocmlnaHQgaW5zdGVhZCBvZiBsZWZ0KS5cbiAgICAgKi9cbiAgICAubWVkaWFfX2ltZy0tcmV2e1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGJhc2Utc3BhY2luZy11bml0O1xuICAgIH1cblxuICAgICAgICAubWVkaWFfX2ltZyBpbWcsXG4gICAgICAgIC5tZWRpYV9faW1nLS1yZXYgaW1ne1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgfVxuXG4gICAgLm1lZGlhX19ib2R5e1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgfVxuICAgICAgICAubWVkaWFfX2JvZHksXG4gICAgICAgIC5tZWRpYV9fYm9keSA+IDpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIGAuaW1nYHMgaW4gYC5pc2xldGBzIG5lZWQgYW4gYXBwcm9wcmlhdGVseSBzaXplZCBtYXJnaW4uXG4gICAgICovXG4gICAgLmlzbGV0IC5tZWRpYV9faW1ne1xuICAgICAgICBtYXJnaW4tcmlnaHQ6JGhhbGYtc3BhY2luZy11bml0O1xuICAgIH1cbiAgICAuaXNsZXQgLm1lZGlhX19pbWctLXJldntcbiAgICAgICAgbWFyZ2luLWxlZnQ6JGhhbGYtc3BhY2luZy11bml0O1xuICAgIH1cblxufS8vZW5kaWZcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJFdJRFRIU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0LiBUaGVzZSBhcmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIG90aGVyXG4gKiBvYmplY3RzIGFuZCBhYnN0cmFjdGlvbnMgZm91bmQgaW4gaW51aXQuY3NzLCBtb3N0IGNvbW1vbmx5IHRoZSBncmlkIHN5c3RlbVxuICogYW5kIGZhdXggZmxleGJveC5cbiAqXG4gKiBXZSBoYXZlIGEgbWl4aW4gdG8gZ2VuZXJhdGUgb3VyIHdpZHRocyBhbmQgdGhlaXIgYnJlYWtwb2ludC1zcGVjaWZpY1xuICogdmFyaWF0aW9ucy5cbiAqL1xuXG5AbWl4aW4gZ3JpZC1zZXR1cCgkbmFtZXNwYWNlOiBcIlwiKSB7XG4gICAgLyoqXG4gICAgKiBXaG9sZVxuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtd2hvbGUgICAgICAgICB7IHdpZHRoOjEwMCU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBIYWx2ZXNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgeyB3aWR0aDo1MCU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBUaGlyZHNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLXRoaXJkICAgICAgICAgeyB3aWR0aDozMy4zMzMlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tdGhpcmRzICAgICAgICB7IHdpZHRoOjY2LjY2NiU7IH1cblxuXG4gICAgLyoqXG4gICAgKiBRdWFydGVyc1xuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlciAgICAgICB7IHdpZHRoOjI1JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dHdvLXF1YXJ0ZXJzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzICAgIHsgd2lkdGg6NzUlOyB9XG5cblxuICAgIC8qKlxuICAgICogRmlmdGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS1maWZ0aCAgICAgICAgIHsgd2lkdGg6MjAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tZmlmdGhzICAgICAgICB7IHdpZHRoOjQwJTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzICAgICAgeyB3aWR0aDo2MCU7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZvdXItZmlmdGhzICAgICAgIHsgd2lkdGg6ODAlOyB9XG5cblxuICAgIC8qKlxuICAgICogU2l4dGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS1zaXh0aCAgICAgICAgIHsgd2lkdGg6MTYuNjY2JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dHdvLXNpeHRocyAgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLXRoaXJkOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10aHJlZS1zaXh0aHMgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zm91ci1zaXh0aHMgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zml2ZS1zaXh0aHMgICAgICAgeyB3aWR0aDo4My4zMzMlOyB9XG5cblxuICAgIC8qKlxuICAgICogRWlnaHRoc1xuICAgICovXG4gICAgLiN7JG5hbWVzcGFjZX1vbmUtZWlnaHRoICAgICAgICB7IHdpZHRoOjEyLjUlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlcjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtZWlnaHRocyAgICAgeyB3aWR0aDozNy41JTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zm91ci1laWdodGhzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZpdmUtZWlnaHRocyAgICAgIHsgd2lkdGg6NjIuNSU7IH1cbiAgICAuI3skbmFtZXNwYWNlfXNpeC1laWdodGhzICAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi1laWdodGhzICAgICB7IHdpZHRoOjg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICogVGVudGhzXG4gICAgKi9cbiAgICAuI3skbmFtZXNwYWNlfW9uZS10ZW50aCAgICAgICAgIHsgd2lkdGg6MTAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10d28tdGVudGhzICAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtZmlmdGg7IH1cbiAgICAuI3skbmFtZXNwYWNlfXRocmVlLXRlbnRocyAgICAgIHsgd2lkdGg6MzAlOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1mb3VyLXRlbnRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX10d28tZmlmdGhzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1maXZlLXRlbnRocyAgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC4jeyRuYW1lc3BhY2V9c2l4LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi10ZW50aHMgICAgICB7IHdpZHRoOjcwJTsgfVxuICAgIC4jeyRuYW1lc3BhY2V9ZWlnaHQtdGVudGhzICAgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAuI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgIHsgd2lkdGg6OTAlOyB9XG5cblxuICAgIC8qKlxuICAgICogVHdlbGZ0aHNcbiAgICAqL1xuICAgIC4jeyRuYW1lc3BhY2V9b25lLXR3ZWxmdGggICAgICAgeyB3aWR0aDo4LjMzMyU7IH1cbiAgICAuI3skbmFtZXNwYWNlfXR3by10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS1zaXh0aDsgfVxuICAgIC4jeyRuYW1lc3BhY2V9dGhyZWUtdHdlbGZ0aHMgICAgeyBAZXh0ZW5kIC4jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXI7IH1cbiAgICAuI3skbmFtZXNwYWNlfWZvdXItdHdlbGZ0aHMgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC4jeyRuYW1lc3BhY2V9Zml2ZS10d2VsZnRocyAgICAgeyB3aWR0aDo0MS42NjYlIH1cbiAgICAuI3skbmFtZXNwYWNlfXNpeC10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfW9uZS1oYWxmOyB9XG4gICAgLiN7JG5hbWVzcGFjZX1zZXZlbi10d2VsZnRocyAgICB7IHdpZHRoOjU4LjMzMyU7IH1cbiAgICAuI3skbmFtZXNwYWNlfWVpZ2h0LXR3ZWxmdGhzICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXR3by10aGlyZHM7IH1cbiAgICAuI3skbmFtZXNwYWNlfW5pbmUtdHdlbGZ0aHMgICAgIHsgQGV4dGVuZCAuI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLiN7JG5hbWVzcGFjZX10ZW4tdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLiN7JG5hbWVzcGFjZX1maXZlLXNpeHRoczsgfVxuICAgIC4jeyRuYW1lc3BhY2V9ZWxldmVuLXR3ZWxmdGhzICAgeyB3aWR0aDo5MS42NjYlOyB9XG59XG5cbkBpbmNsdWRlIGdyaWQtc2V0dXAoKTtcblxuXG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IGAkcmVzcG9uc2l2ZWAgdG8g4oCYdHJ1ZeKAmSBpbiBgX3ZhcnMuc2Nzc2AgdGhlbiB5b3Ugbm93IGhhdmVcbiAqIGFjY2VzcyB0byB0aGVzZSBjbGFzc2VzLiBZb3UgY2FuIGRlZmluZSBhdCB3aGljaCBicmVha3BvaW50IHlvdeKAmWQgbGlrZSBhblxuICogZWxlbWVudCB0byBiZSBhIGNlcnRhaW4gc2l6ZSwgZS5nLjpcbiAqXG4gKiBgPGRpdiBjbGFzcz1cImcgIG9uZS1xdWFydGVyICBsYXAtb25lLWhhbGYgIHBhbG0tb25lLXdob2xlXCI+IC4uLiA8L2Rpdj5gXG4gKlxuICogVGhpcyB3b3VsZCBjcmVhdGUgYSBgZGl2YCB0aGF0LCBhdCDigJhkZXNrdG9w4oCZIHNpemVzLCB0YWtlcyB1cCBhIHF1YXJ0ZXIgb2YgdGhlXG4gKiBob3Jpem9udGFsIHNwYWNlLCBhIGhhbGYgb2YgdGhhdCBzcGFjZSBhdCDigJh0YWJsZXTigJkgc2l6ZXMsIGFuZCBnb2VzIGZ1bGwgd2lkdGhcbiAqIGF0IOKAmG1vYmlsZeKAmSBzaXplcy5cbiAqXG4gKiBEZW1vOiBqc2ZpZGRsZS5uZXQvaW51aXRjc3MvV1M0R2VcbiAqXG4gKi9cblxuQGlmICRyZXNwb25zaXZlID09IHRydWV7XG5cbkBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBhbG0pe1xuICAgIEBpbmNsdWRlIGdyaWQtc2V0dXAoXCJwYWxtLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwKXtcbiAgICBAaW5jbHVkZSBncmlkLXNldHVwKFwibGFwLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwLWFuZC11cCl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImxhcC1hbmQtdXAtXCIpO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1xdWVyeShwb3J0YWJsZSl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcInBvcnRhYmxlLVwiKTtcbn1cblxuQGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzayl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImRlc2stXCIpO1xufVxuXG5cbi8qKlxuICogSWYgeW91IGhhdmUgc2V0IHRoZSBhZGRpdGlvbmFsIGAkcmVzcG9uc2l2ZS1leHRyYWAgdmFyaWFibGUgdG8g4oCYdHJ1ZeKAmSBpblxuICogYF92YXJzLnNjc3NgIHRoZW4geW91IG5vdyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGNsYXNzIGF2YWlsYWJsZSB0b1xuICogYWNjb21vZGF0ZSBtdWNoIGxhcmdlciBzY3JlZW4gcmVzb2x1dGlvbnMuXG4gKi9cblxuQGlmICRyZXNwb25zaXZlLWV4dHJhID09IHRydWV7XG5cbkBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGRlc2std2lkZSl7XG4gICAgQGluY2x1ZGUgZ3JpZC1zZXR1cChcImRlc2std2lkZS1cIik7XG59XG5cbn1cblxufSAvKiBlbmRpZiAqL1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkUFVTSFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogUHVzaCBjbGFzc2VzLCB0byBtb3ZlIGdyaWQgaXRlbXMgb3ZlciB0byB0aGUgcmlnaHQgYnkgY2VydGFpbiBhbW91bnRzLlxuICovXG5cbkBtaXhpbiBwdXNoLXNldHVwKCRuYW1lc3BhY2U6IFwiXCIpIHtcblxuICAgIC8qKlxuICAgICAqIFdob2xlXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtd2hvbGUgICAgICAgICAgIHsgbGVmdDoxMDAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEhhbHZlc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgICB7IGxlZnQ6NTAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRoaXJkc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXRoaXJkICAgICAgICAgICB7IGxlZnQ6MzMuMzMzJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkcyAgICAgICAgICB7IGxlZnQ6NjYuNjY2JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBRdWFydGVyc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXIgICAgICAgICB7IGxlZnQ6MjUlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tcXVhcnRlcnMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1oYWxmOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVycyAgICAgIHsgbGVmdDo3NSU7IH1cblxuXG4gICAgLyoqXG4gICAgICogRmlmdGhzXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtZmlmdGggICAgICAgICAgIHsgbGVmdDoyMCU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHMgICAgICAgICAgeyBsZWZ0OjQwJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzICAgICAgICB7IGxlZnQ6NjAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1mb3VyLWZpZnRocyAgICAgICAgIHsgbGVmdDo4MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogU2l4dGhzXG4gICAgICovXG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtc2l4dGggICAgICAgICAgIHsgbGVmdDoxNi42NjYlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tc2l4dGhzICAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtc2l4dGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1zaXh0aHMgICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1maXZlLXNpeHRocyAgICAgICAgIHsgbGVmdDo4My4zMzMlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEVpZ2h0aHNcbiAgICAgKi9cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1laWdodGggICAgICAgICAgeyBsZWZ0OjEyLjUlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10aHJlZS1laWdodGhzICAgICAgIHsgbGVmdDozNy41JTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1laWdodGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zml2ZS1laWdodGhzICAgICAgICB7IGxlZnQ6NjIuNSU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNpeC1laWdodGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtcXVhcnRlcnM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNldmVuLWVpZ2h0aHMgICAgICAgeyBsZWZ0Ojg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRlbnRoc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXRlbnRoICAgICAgICAgICB7IGxlZnQ6MTAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGVudGhzICAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1maWZ0aDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtdGVudGhzICAgICAgICB7IGxlZnQ6MzAlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1mb3VyLXRlbnRocyAgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtdGVudGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfXNpeC10ZW50aHMgICAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtZmlmdGhzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1zZXZlbi10ZW50aHMgICAgICAgIHsgbGVmdDo3MCU7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWVpZ2h0LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgICAgeyBsZWZ0OjkwJTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBUd2VsZnRoc1xuICAgICAqL1xuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9b25lLXR3ZWxmdGggICAgICAgICB7IGxlZnQ6OC4zMzMlOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdHdlbGZ0aHMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfW9uZS1zaXh0aDsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9dGhyZWUtdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtcXVhcnRlcjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9Zm91ci10d2VsZnRocyAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtdGhpcmQ7IH1cbiAgICAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtdHdlbGZ0aHMgICAgICAgeyBsZWZ0OjQxLjY2NiUgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9c2l4LXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9c2V2ZW4tdHdlbGZ0aHMgICAgICB7IGxlZnQ6NTguMzMzJTsgfVxuICAgIC5wdXNoLS0jeyRuYW1lc3BhY2V9ZWlnaHQtdHdlbGZ0aHMgICAgICB7IEBleHRlbmQgLnB1c2gtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1uaW5lLXR3ZWxmdGhzICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfXRocmVlLXF1YXJ0ZXJzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX10ZW4tdHdlbGZ0aHMgICAgICAgIHsgQGV4dGVuZCAucHVzaC0tI3skbmFtZXNwYWNlfWZpdmUtc2l4dGhzOyB9XG4gICAgLnB1c2gtLSN7JG5hbWVzcGFjZX1lbGV2ZW4tdHdlbGZ0aHMgICAgIHsgbGVmdDo5MS42NjYlOyB9XG59XG5cbkBpZiAkcHVzaCA9PSB0cnVle1xuXG5AaW5jbHVkZSBwdXNoLXNldHVwKCk7XG5cbi8qKlxuICogTm90IGEgcGFydGljdWxhcmx5IGdyZWF0IHNlbGVjdG9yLCBidXQgdGhlIERSWWVzdCB3YXkgdG8gZG8gdGhpbmdzLlxuICovXG5bY2xhc3MqPVwicHVzaC0tXCJdeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuXG5AaWYgJHBhbG0tcHVzaCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkocGFsbSl7XG4gICAgICAgIEBpbmNsdWRlIHB1c2gtc2V0dXAoXCJwYWxtLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRsYXAtcHVzaCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcImxhcC1cIik7XG4gICAgfVxuXG59XG5cbkBpZiAkbGFwLWFuZC11cC1wdXNoID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXAtYW5kLXVwKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcImxhcC1hbmQtdXAtXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJHBvcnRhYmxlLXB1c2ggPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHBvcnRhYmxlKXtcbiAgICAgICAgQGluY2x1ZGUgcHVzaC1zZXR1cChcInBvcnRhYmxlLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRkZXNrLXB1c2ggPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGRlc2spe1xuICAgICAgICBAaW5jbHVkZSBwdXNoLXNldHVwKFwiZGVzay1cIik7XG4gICAgfVxuXG59XG5cbn0vL2VuZGlmXG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICRQVUxMXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBQdWxsIGNsYXNzZXMsIHRvIG1vdmUgZ3JpZCBpdGVtcyBvdmVyIHRvIHRoZSByaWdodCBieSBjZXJ0YWluIGFtb3VudHMuXG4gKi9cblxuQG1peGluIHB1bGwtc2V0dXAoJG5hbWVzcGFjZTogXCJcIikge1xuXG4gICAgLyoqXG4gICAgICogV2hvbGVcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS13aG9sZSAgICAgICAgICAgeyByaWdodDoxMDAlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIEhhbHZlc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGYgICAgICAgICAgICB7IHJpZ2h0OjUwJTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBUaGlyZHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZCAgICAgICAgICAgeyByaWdodDozMy4zMzMlOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10d28tdGhpcmRzICAgICAgICAgIHsgcmlnaHQ6NjYuNjY2JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBRdWFydGVyc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXF1YXJ0ZXIgICAgICAgICB7IHJpZ2h0OjI1JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXF1YXJ0ZXJzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dGhyZWUtcXVhcnRlcnMgICAgICB7IHJpZ2h0Ojc1JTsgfVxuXG5cbiAgICAvKipcbiAgICAgKiBGaWZ0aHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1maWZ0aCAgICAgICAgICAgeyByaWdodDoyMCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXR3by1maWZ0aHMgICAgICAgICAgeyByaWdodDo0MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLWZpZnRocyAgICAgICAgeyByaWdodDo2MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItZmlmdGhzICAgICAgICAgeyByaWdodDo4MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogU2l4dGhzXG4gICAgICovXG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtc2l4dGggICAgICAgICAgIHsgcmlnaHQ6MTYuNjY2JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXNpeHRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtdGhpcmQ7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLXNpeHRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItc2l4dGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS1zaXh0aHMgICAgICAgICB7IHJpZ2h0OjgzLjMzMyU7IH1cblxuXG4gICAgLyoqXG4gICAgICogRWlnaHRoc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWVpZ2h0aCAgICAgICAgICB7IHJpZ2h0OjEyLjUlOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10d28tZWlnaHRocyAgICAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1laWdodGhzICAgICAgIHsgcmlnaHQ6MzcuNSU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItZWlnaHRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLWhhbGY7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZpdmUtZWlnaHRocyAgICAgICAgeyByaWdodDo2Mi41JTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LWVpZ2h0aHMgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVyczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2V2ZW4tZWlnaHRocyAgICAgICB7IHJpZ2h0Ojg3LjUlOyB9XG5cblxuICAgIC8qKlxuICAgICAqIFRlbnRoc1xuICAgICAqL1xuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXRlbnRoICAgICAgICAgICB7IHJpZ2h0OjEwJTsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRlbnRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtZmlmdGg7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXRocmVlLXRlbnRocyAgICAgICAgeyByaWdodDozMCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWZvdXItdGVudGhzICAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLWZpZnRoczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS10ZW50aHMgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LXRlbnRocyAgICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1maWZ0aHM7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXNldmVuLXRlbnRocyAgICAgICAgeyByaWdodDo3MCU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWVpZ2h0LXRlbnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zm91ci1maWZ0aHM7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW5pbmUtdGVudGhzICAgICAgICAgeyByaWdodDo5MCU7IH1cblxuXG4gICAgLyoqXG4gICAgICogVHdlbGZ0aHNcbiAgICAgKi9cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10d2VsZnRoICAgICAgICAgeyByaWdodDo4LjMzMyU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfXR3by10d2VsZnRocyAgICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9b25lLXNpeHRoOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS10d2VsZnRocyAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS1xdWFydGVyOyB9XG4gICAgLnB1bGwtLSN7JG5hbWVzcGFjZX1mb3VyLXR3ZWxmdGhzICAgICAgIHsgQGV4dGVuZCAucHVsbC0tI3skbmFtZXNwYWNlfW9uZS10aGlyZDsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9Zml2ZS10d2VsZnRocyAgICAgICB7IHJpZ2h0OjQxLjY2NiUgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2l4LXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1vbmUtaGFsZjsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9c2V2ZW4tdHdlbGZ0aHMgICAgICB7IHJpZ2h0OjU4LjMzMyU7IH1cbiAgICAucHVsbC0tI3skbmFtZXNwYWNlfWVpZ2h0LXR3ZWxmdGhzICAgICAgeyBAZXh0ZW5kIC5wdWxsLS0jeyRuYW1lc3BhY2V9dHdvLXRoaXJkczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9bmluZS10d2VsZnRocyAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX10aHJlZS1xdWFydGVyczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9dGVuLXR3ZWxmdGhzICAgICAgICB7IEBleHRlbmQgLnB1bGwtLSN7JG5hbWVzcGFjZX1maXZlLXNpeHRoczsgfVxuICAgIC5wdWxsLS0jeyRuYW1lc3BhY2V9ZWxldmVuLXR3ZWxmdGhzICAgICB7IHJpZ2h0OjkxLjY2NiU7IH1cbn1cblxuQGlmICRwdWxsID09IHRydWV7XG5cbi8qKlxuICogTm90IGEgcGFydGljdWxhcmx5IGdyZWF0IHNlbGVjdG9yLCBidXQgdGhlIERSWWVzdCB3YXkgdG8gZG8gdGhpbmdzLlxuICovXG5bY2xhc3MqPVwicHVsbC0tXCJdeyBwb3NpdGlvbjpyZWxhdGl2ZTsgfVxuXG5AaW5jbHVkZSBwdWxsLXNldHVwKCk7XG5cbkBpZiAkcGFsbS1wdWxsID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShwYWxtKXtcbiAgICAgICAgQGluY2x1ZGUgcHVsbC1zZXR1cChcInBhbG0tXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJGxhcC1wdWxsID09IHRydWV7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXApe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwibGFwLVwiKTtcbiAgICB9XG5cbn1cblxuQGlmICRsYXAtYW5kLXVwLXB1bGwgPT0gdHJ1ZXtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KGxhcC1hbmQtdXApe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwibGFwLWFuZC11cC1cIik7XG4gICAgfVxuXG59XG5cbkBpZiAkcG9ydGFibGUtcHVsbCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkocG9ydGFibGUpe1xuICAgICAgICBAaW5jbHVkZSBwdWxsLXNldHVwKFwicG9ydGFibGUtXCIpO1xuICAgIH1cblxufVxuXG5AaWYgJGRlc2stcHVsbCA9PSB0cnVle1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzayl7XG4gICAgICAgIEBpbmNsdWRlIHB1bGwtc2V0dXAoXCJkZXNrLVwiKTtcbiAgICB9XG5cbn1cblxufS8vZW5kaWZcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEJSQU5EXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBgLmJyYW5kYCBpcyBhIHF1aWNrIGFuZCBzaW1wbGUgd2F5IHRvIGFwcGx5IHlvdXIgYnJhbmQgZmFjZSBhbmQvb3IgY29sb3IgdG9cbiAqIGFueSBlbGVtZW50IHVzaW5nIGEgaGFuZHkgaGVscGVyIGNsYXNzLlxuICovXG4uYnJhbmR7XG4gICAgZm9udC1mYW1pbHk6JGJyYW5kLWZhY2UgKyFpbXBvcnRhbnQ7XG4gICAgY29sb3I6JGJyYW5kLWNvbG9yICshaW1wb3J0YW50O1xufVxuLmJyYW5kLWZhY2V7XG4gICAgZm9udC1mYW1pbHk6JGJyYW5kLWZhY2UgKyFpbXBvcnRhbnQ7XG59XG4uYnJhbmQtY29sb3IsXG4uYnJhbmQtY29sb3Vye1xuICAgIGNvbG9yOiRicmFuZC1jb2xvciArIWltcG9ydGFudDtcbn1cbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJEhFTFBFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogQSBzZXJpZXMgb2YgaGVscGVyIGNsYXNzZXMgdG8gdXNlIGFyYml0cmFyaWx5LiBPbmx5IHVzZSBhIGhlbHBlciBjbGFzcyBpZiBhblxuICogZWxlbWVudC9jb21wb25lbnQgZG9lc27igJl0IGFscmVhZHkgaGF2ZSBhIGNsYXNzIHRvIHdoaWNoIHlvdSBjb3VsZCBhcHBseSB0aGlzXG4gKiBzdHlsaW5nLCBlLmcuIGlmIHlvdSBuZWVkIHRvIGZsb2F0IGAubWFpbi1uYXZgIGxlZnQgdGhlbiBhZGQgYGZsb2F0OmxlZnQ7YCB0b1xuICogdGhhdCBydWxlc2V0IGFzIG9wcG9zZWQgdG8gYWRkaW5nIHRoZSBgLmZsb2F0LS1sZWZ0YCBjbGFzcyB0byB0aGUgbWFya3VwLlxuICpcbiAqIEEgbG90IG9mIHRoZXNlIGNsYXNzZXMgY2FycnkgYCFpbXBvcnRhbnRgIGFzIHlvdSB3aWxsIGFsd2F5cyB3YW50IHRoZW0gdG8gd2luXG4gKiBvdXQgb3ZlciBvdGhlciBzZWxlY3RvcnMuXG4gKi9cblxuXG4vKipcbiAqIEFkZC9yZW1vdmUgZmxvYXRzXG4gKi9cbi5mbG9hdC0tcmlnaHQgICB7IGZsb2F0OnJpZ2h0IWltcG9ydGFudDsgfVxuLmZsb2F0LS1sZWZ0ICAgIHsgZmxvYXQ6bGVmdCAhaW1wb3J0YW50OyB9XG4uZmxvYXQtLW5vbmUgICAgeyBmbG9hdDpub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIFRleHQgYWxpZ25tZW50XG4gKi9cbi50ZXh0LS1sZWZ0ICAgICB7IHRleHQtYWxpZ246bGVmdCAgIWltcG9ydGFudDsgfVxuLnRleHQtLWNlbnRlciAgIHsgdGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50OyB9XG4udGV4dC0tcmlnaHQgICAgeyB0ZXh0LWFsaWduOnJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIEZvbnQgd2VpZ2h0c1xuICovXG4ud2VpZ2h0LS1saWdodCAgICAgIHsgZm9udC13ZWlnaHQ6MzAwIWltcG9ydGFudDsgfVxuLndlaWdodC0tbm9ybWFsICAgICB7IGZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnQ7IH1cbi53ZWlnaHQtLXNlbWlib2xkICAgeyBmb250LXdlaWdodDo2MDAhaW1wb3J0YW50OyB9XG5cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIG1hcmdpbnNcbiAqL1xuLnB1c2ggICAgICAgICAgIHsgbWFyZ2luOiAgICAgICAkYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tdG9wICAgICAgeyBtYXJnaW4tdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLS1yaWdodCAgICB7IG1hcmdpbi1yaWdodDogJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnB1c2gtLWJvdHRvbSAgIHsgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tbGVmdCAgICAgeyBtYXJnaW4tbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLS1lbmRzICAgICB7IG1hcmdpbi10b3A6ICAgJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTokYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC0tc2lkZXMgICAgeyBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiAgJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuXG4ucHVzaC1oYWxmICAgICAgICAgIHsgbWFyZ2luOiAgICAgICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS10b3AgICAgIHsgbWFyZ2luLXRvcDogICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1yaWdodCAgIHsgbWFyZ2luLXJpZ2h0OiAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1ib3R0b20gIHsgbWFyZ2luLWJvdHRvbTokaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6ICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4ucHVzaC1oYWxmLS1lbmRzICAgIHsgbWFyZ2luLXRvcDogICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOiRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5wdXNoLWhhbGYtLXNpZGVzICAgeyBtYXJnaW4tcmlnaHQ6ICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IG1hcmdpbi1sZWZ0OiAgJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuXG4uZmx1c2ggICAgICAgICAgeyBtYXJnaW46ICAgICAgIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXRvcCAgICAgeyBtYXJnaW4tdG9wOiAgIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXJpZ2h0ICAgeyBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWJvdHRvbSAgeyBtYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWxlZnQgICAgeyBtYXJnaW4tbGVmdDogIDAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLWVuZHMgICAgeyBtYXJnaW4tdG9wOiAgIDAhaW1wb3J0YW50OyBtYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uZmx1c2gtLXNpZGVzICAgeyBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogIDAhaW1wb3J0YW50OyB9XG5cblxuLyoqXG4gKiBBZGQvcmVtb3ZlIHBhZGRpbmdzXG4gKi9cbi5zb2Z0ICAgICAgICAgICB7IHBhZGRpbmc6ICAgICAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS10b3AgICAgICB7IHBhZGRpbmctdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1yaWdodCAgICB7IHBhZGRpbmctcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1ib3R0b20gICB7IHBhZGRpbmctYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1sZWZ0ICAgICB7IHBhZGRpbmctbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1lbmRzICAgICB7IHBhZGRpbmctdG9wOiAgICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LS1zaWRlcyAgICB7IHBhZGRpbmctcmlnaHQ6ICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDogICRiYXNlLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cblxuLnNvZnQtaGFsZiAgICAgICAgICAgeyBwYWRkaW5nOiAgICAgICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4uc29mdC1oYWxmLS10b3AgICAgICB7IHBhZGRpbmctdG9wOiAgICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LWhhbGYtLXJpZ2h0ICAgIHsgcGFkZGluZy1yaWdodDogJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnNvZnQtaGFsZi0tYm90dG9tICAgeyBwYWRkaW5nLWJvdHRvbTokaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG4uc29mdC1oYWxmLS1sZWZ0ICAgICB7IHBhZGRpbmctbGVmdDogICRoYWxmLXNwYWNpbmctdW5pdCFpbXBvcnRhbnQ7IH1cbi5zb2Z0LWhhbGYtLWVuZHMgICAgIHsgcGFkZGluZy10b3A6ICAgJGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgcGFkZGluZy1ib3R0b206JGhhbGYtc3BhY2luZy11bml0IWltcG9ydGFudDsgfVxuLnNvZnQtaGFsZi0tc2lkZXMgICAgeyBwYWRkaW5nLXJpZ2h0OiAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6ICAkaGFsZi1zcGFjaW5nLXVuaXQhaW1wb3J0YW50OyB9XG5cbi5oYXJkICAgICAgICAgICB7IHBhZGRpbmc6ICAgICAgIDAhaW1wb3J0YW50OyB9XG4uaGFyZC0tdG9wICAgICAgeyBwYWRkaW5nLXRvcDogICAwIWltcG9ydGFudDsgfVxuLmhhcmQtLXJpZ2h0ICAgIHsgcGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7IH1cbi5oYXJkLS1ib3R0b20gICB7IHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uaGFyZC0tbGVmdCAgICAgeyBwYWRkaW5nLWxlZnQ6ICAwIWltcG9ydGFudDsgfVxuLmhhcmQtLWVuZHMgICAgIHsgcGFkZGluZy10b3A6ICAgMCFpbXBvcnRhbnQ7IHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50OyB9XG4uaGFyZC0tc2lkZXMgICAgeyBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OiAgMCFpbXBvcnRhbnQ7IH1cblxuXG4vKipcbiAqIFB1bGwgaXRlbXMgZnVsbCB3aWR0aCBvZiBgLmlzbGFuZGAgcGFyZW50cy5cbiAqL1xuLmZ1bGwtYmxlZWR7XG4gICAgbWFyZ2luLXJpZ2h0Oi0kYmFzZS1zcGFjaW5nLXVuaXQhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJhc2Utc3BhY2luZy11bml0IWltcG9ydGFudDtcblxuICAgIC5pc2xldCAme1xuICAgICAgICBtYXJnaW4tcmlnaHQ6LSgkaGFsZi1zcGFjaW5nLXVuaXQpIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGhhbGYtc3BhY2luZy11bml0KSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi8qKlxuICogQWRkIGEgaGVscCBjdXJzb3IgdG8gYW55IGVsZW1lbnQgdGhhdCBnaXZlcyB0aGUgdXNlciBleHRyYSBpbmZvcm1hdGlvbiBvblxuICogYDpob3ZlcmAuXG4gKi9cbi5pbmZvcm1hdGl2ZXtcbiAgICBjdXJzb3I6aGVscCFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBNdXRlIGFuIG9iamVjdCBieSByZWR1Y2luZyBpdHMgb3BhY2l0eS5cbiAqL1xuLm11dGVke1xuICAgIG9wYWNpdHk6MC41IWltcG9ydGFudDtcbiAgICBmaWx0ZXI6YWxwaGEob3BhY2l0eSA9IDUwKSFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBBbGlnbiBpdGVtcyB0byB0aGUgcmlnaHQgd2hlcmUgdGhleSBpbXBseSBwcm9ncmVzc2lvbi9tb3ZlbWVudCBmb3J3YXJkLCBlLmcuOlxuICpcbiAgIDxwIGNsYXNzPXByb2NlZWQ+PGEgaHJlZj0jPlJlYWQgbW9yZS4uLjwvYT48L3A+XG4gKlxuICovXG4ucHJvY2VlZHtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudDtcbn1cblxuXG4vKipcbiAqIEFkZCBhIHJpZ2h0LWFuZ2xlZCBxdW90ZSB0byBsaW5rcyB0aGF0IGltcGx5IG1vdmVtZW50LCBlLmcuOlxuICpcbiAgIDxhIGhyZWY9IyBjbGFzcz1nbz5SZWFkIG1vcmU8L2E+XG4gKlxuICovXG4uZ286YWZ0ZXJ7XG4gICAgY29udGVudDpcIlxcMDBBMFwiIFwiXFwwMEJCXCIhaW1wb3J0YW50O1xufVxuXG5cbi8qKlxuICogQXBwbHkgY2FwaXRhbCBjYXNlIHRvIGFuIGVsZW1lbnQgKHVzdWFsbHkgYSBgc3Ryb25nYCkuXG4gKi9cbi5jYXBze1xuICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBIaWRlIGNvbnRlbnQgb2ZmLXNjcmVlbiB3aXRob3V0IHJlc29ydGluZyB0byBgZGlzcGxheTpub25lO2AsIGFsc28gcHJvdmlkZVxuICogYnJlYWtwb2ludCBzcGVjaWZpYyBoaWRkZW4gZWxlbWVudHMuXG4gKi9cbkBtaXhpbiBhY2Nlc3NpYmlsaXR5e1xuICAgIGJvcmRlcjowIWltcG9ydGFudDtcbiAgICBjbGlwOnJlY3QoMCAwIDAgMCkhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxcHghaW1wb3J0YW50O1xuICAgIG1hcmdpbjotMXB4IWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O1xuICAgIHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcbiAgICB3aWR0aDoxcHghaW1wb3J0YW50O1xufVxuLmFjY2Vzc2liaWxpdHksXG4udmlzdWFsbHloaWRkZW57XG4gICAgQGluY2x1ZGUgYWNjZXNzaWJpbGl0eTtcbn1cbkBpZiAkcmVzcG9uc2l2ZXtcbiAgICBAZWFjaCAkc3RhdGUgaW4gcGFsbSwgbGFwLCBsYXAtYW5kLXVwLCBwb3J0YWJsZSwgZGVzaywgZGVzay13aWRle1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeSgjeyRzdGF0ZX0pe1xuICAgICAgICAgICAgLmFjY2Vzc2liaWxpdHktLSN7JHN0YXRlfSxcbiAgICAgICAgICAgIC52aXN1YWxseWhpZGRlbi0tI3skc3RhdGV9e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFjY2Vzc2liaWxpdHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgJGRlYnVnLW1vZGUgPT0gdHJ1ZXtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgJERFQlVHXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBFbmFibGUgdGhpcyBzdHlsZXNoZWV0IHRvIHZpc3VhbGx5IGRldGVjdCBhbnkgaW1wcm9wZXJseSBuZXN0ZWQgb3JcbiAqIHBvdGVudGlhbGx5IGludmFsaWQgbWFya3VwLCBvciBhbnkgcG90ZW50aWFsbHkgaW5hY2Nlc3NpYmxlIGNvZGUuXG4gKlxuICogUmVkICAgICAgICAgID09ICAgICAgZGVmaW5pdGUgZXJyb3JcbiAqIFllbGxvdyAgICAgICA9PSAgICAgIGRvdWJsZS1jaGVja1xuICogTm9uZSAgICAgICAgID09ICAgICAgc2hvdWxkIGJlIGZpbmVcbiAqXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgbWV0aG9kIG9mIGNoZWNraW5nIG1hcmt1cCBxdWFsaXR5IHNob3VsZCBub3QgYmUgcmVsaWVkXG4gKiB1cG9uIGVudGlyZWx5LiBWYWxpZGF0ZSB5b3VyIG1hcmt1cCFcbiAqL1xuXG5cbi8qKlxuICogQXJlIHRoZXJlIGFueSBlbXB0eSBlbGVtZW50cyBpbiB5b3VyIHBhZ2U/XG4gKi9cbjplbXB0eXtcbiAgICBvdXRsaW5lOjVweCBzb2xpZCB5ZWxsb3c7XG59XG5cblxuLyoqXG4gKiBJbWFnZXMgcmVxdWlyZSBgYWx0YCBhdHRyaWJ1dGVzLCBlbXB0eSBgYWx0YHMgYXJlIGZpbmUgYnV0IHNob3VsZCBiZVxuICogZG91YmxlLWNoZWNrZWQsIG5vIGBhbHRgIGlzIGJhZCBhbmQgaXMgZmxhZ2dlZCByZWQuXG4gKi9cbmltZ3tcbiAgICBvdXRsaW5lOjVweCBzb2xpZCByZWQ7XG59XG5pbWdbYWx0XXtcbiAgICBvdXRsaW5lOm5vbmU7XG59XG5pbWdbYWx0PVwiXCJde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cblxuXG4vKipcbiAqIExpbmtzIHNvbWV0aW1lcywgdGhvdWdoIG5vdCBhbHdheXMsIGJlbmVmaXQgZnJvbSBgdGl0bGVgIGF0dHJpYnV0ZXMuIExpbmtzXG4gKiB3aXRob3V0IGFyZSBuZXZlciBpbnZhbGlkIGJ1dCBpdOKAmXMgYSBnb29kIGlkZWEgdG8gY2hlY2suXG4gKi9cbmF7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuYVt0aXRsZV17XG4gICAgb3V0bGluZTpub25lO1xufVxuXG5cbi8qKlxuICogRG91YmxlLWNoZWNrIGFueSBsaW5rcyB3aG9zZSBgaHJlZmAgaXMgc29tZXRoaW5nIHF1ZXN0aW9uYWJsZS5cbiAqL1xuYVtocmVmPVwiI1wiXSxcbmFbaHJlZio9XCJqYXZhc2NyaXB0XCJde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cblxuXG4vKipcbiAqIFRoZSBgdGFyZ2V0YCBhdHRyaWJ1dGUgYWlu4oCZdCB0b28gbmljZS4uLlxuICovXG5hW3RhcmdldF17XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogRW5zdXJlIGFueSBsaXN0cyBvbmx5IGNvbnRhaW4gYGxpYHMgYXMgY2hpbGRyZW4uXG4gKi9cbnVsLFxub2x7XG4gICAgPiAqOm5vdChsaSl7XG4gICAgICAgIG91dGxpbmU6NXB4IHNvbGlkIHJlZDtcbiAgICB9XG59XG5cblxuLyoqXG4gKiBJdOKAmXMgYWx3YXlzIG5pY2UgdG8gZ2l2ZSBgdGhgcyBgc2NvcGVgIGF0dHJpYnV0ZXMuXG4gKi9cbnRoe1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHllbGxvdztcbn1cbnRoW3Njb3BlXXtcbiAgICBvdXRsaW5lOm5vbmU7XG59XG5cblxuLyoqXG4gKiBgdHJgcyBhcyBjaGlsZHJlbiBvZiBgdGFibGVgcyBhaW7igJl0IGdyZWF0LCBkaWQgeW91IG5lZWQgYSBgdGhlYWRgL2B0Ym9keWA/XG4gKi9cbnRhYmxlID4gdHJ7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogYHRmb290YCBuZWVkcyB0byBjb21lICpiZWZvcmUqIGB0Ym9keWAuXG4gKi9cbnRib2R5ICsgdGZvb3R7XG4gICAgb3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogRm9ybXMgcmVxdWlyZSBgYWN0aW9uYCBhdHRyaWJ1dGVzXG4gKi9cbmZvcm17XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuZm9ybVthY3Rpb25de1xuICAgIG91dGxpbmU6bm9uZTtcbn1cblxuXG4vKipcbiAqIFZhcmlvdXMgZm9ybS1maWVsZCB0eXBlcyBoYXZlIHJlcXVpcmVkIGF0dHJpYnV0ZXMuIGBpbnB1dGBzIG5lZWQgYHR5cGVgXG4gKiBhdHRyaWJ1dGVzLCBgdGV4dGFyZWFgcyBuZWVkIGByb3dzYCBhbmQgYGNvbHNgIGF0dHJpYnV0ZXMgYW5kIHN1Ym1pdCBidXR0b25zXG4gKiBuZWVkIGEgYHZhbHVlYCBhdHRyaWJ1dGUuXG4gKi9cbnRleHRhcmVhLFxuaW5wdXR7XG4gICAgb3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuaW5wdXRbdHlwZV17XG4gICAgb3V0bGluZTpub25lO1xufVxudGV4dGFyZWFbcm93c11bY29sc117XG4gICAgb3V0bGluZTpub25lO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRde1xuICAgIG91dGxpbmU6NXB4IHNvbGlkIHJlZDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVt2YWx1ZV17XG4gICAgb3V0bGluZTpub25lO1xufVxuXG5cbi8qKlxuICogQXZvaWQgaW5saW5lIHN0eWxlcyB3aGVyZSBwb3NzaWJsZS5cbiAqL1xuW3N0eWxlXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogWW91IHNob3VsZCBhdm9pZCB1c2luZyBJRHMgZm9yIENTUywgaXMgdGhpcyBkb2luZyBhbnkgc3R5bGluZz9cbiAqL1xuW2lkXXtcblx0b3V0bGluZTo1cHggc29saWQgeWVsbG93O1xufVxuXG5cbi8qKlxuICogQXJlIHlvdSB1c2luZyB0aGUgZ3JpZCBzeXN0ZW0gY29ycmVjdGx5P1xuICovXG4uZ3cgPiA6bm90KC5nKSxcbi5ncmlkLXdyYXBwZXIgPiA6bm90KC5ncmlkKSxcbi5ndy0tcmV2ID4gOm5vdCguZyksXG4uZ3JpZC13cmFwcGVyLS1yZXYgPiA6bm90KC5ncmlkKXtcblx0b3V0bGluZTo1cHggc29saWQgcmVkO1xufVxuXG59LyogZW5kaWYgKi9cbiIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSpcXFxuICAgIENPTlRFTlRTXG4gICAgLS0tLS0tLS1cbiAgICAtIHN2Z1xuICAgIC0gY2xlYXJmaXhcbiAgICAtIGJyZWFrLXRleHRcbiAgICAtIHRyaWFuZ2xlXG4gICAgLSB0cmFuc2l0aW9uXG4gICAgLSBhc3BlY3QtcmF0aW9cbiAgICAtIHRpbGUtcmlnaHQtYm9yZGVyXG4gICAgLSBmb250LWxpZ2h0XG4gICAgLSBmb250LXN0cm9uZ1xuICAgIC0gZm9udC1ib2xkXG4gICAgLSB0aW50XG4gICAgLSByaWJib25cblxcKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kZmlsbGVkLWljb25zOiAoXG4gICAgXCJpY29uLXhpbmdcIixcbiAgICBcImljb24tdHdpdHRlclwiLFxuICAgIFwiaWNvbi1saW5rZWRpblwiLFxuICAgIFwiaWNvbi1jYWxlbmRhclwiLFxuICAgIFwiaWNvbi1zaGFyZV9hbHRcIixcbiAgICBcImljb24tbGF3bm93XCIsXG4gICAgXCJpY29uLXJlZ3pvbmVcIixcbiAgICBcImljb24tZWd1aWRlXCIsXG4gICAgXCJpY29uLWZhY2Vib29rXCIsXG4pO1xuQG1peGluIGljb24tY29sb3IoJGNvbG9yKSB7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgICBAZWFjaCAkaWNvbiBpbiAkZmlsbGVkLWljb25zIHtcbiAgICAgICAgLiN7JGljb259IHtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHN2ZygkaW1nLCAkcmVwZWF0OiBuby1yZXBlYXQsICRwb3NpdGlvbjogdG9wIGNlbnRlcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYnVuZGxlcy9ldGVjdHVyZWRwY21zL2ltZy8jeyRpbWd9LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6ICRyZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgLm5vLWpzICYsIC5uby1zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2J1bmRsZXMvZXRlY3R1cmVkcGNtcy9pbWcvI3skaW1nfS5wbmdcIik7XG4gIH1cbn1cblxuQG1peGluIHN2Zy1jb250ZW50KCRoZWlnaHQ6ICRzcGFjZSwgJHdpZHRoOiAkc3BhY2UsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSkge1xuICAgIEBpbmNsdWRlIGljb24tY29sb3IoJGNvbG9yKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHN2ZyxcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgLmljb24tcGhvbmUge1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxNTtcbiAgfVxuICAuaWNvbi1ib29rbWFyayB7XG4gICAgICBzdHJva2Utd2lkdGg6IDI0cHg7XG4gIH1cblxufVxuXG5AbWl4aW4gbGluay10cmFuc2l0aW9uIHtcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgb3BhY2l0eSAwLjJzKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbkBtaXhpbiBicmVhay10ZXh0IHtcblx0LW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0d29yZC1icmVhazogYnJlYWstYWxsO1xuXHQgd29yZC1icmVhazogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQgICAtbW96LWh5cGhlbnM6IGF1dG87XG5cdCAgICAgICAgaHlwaGVuczogYXV0bztcbn1cblxuLyogXG4qIEBpbmNsdWRlIHRyaWFuZ2xlIHdpdGhpbiBhIHBzZXVkbyBlbGVtZW50IGFuZCBhZGQgcG9zaXRpb25pbmcgcHJvcGVydGllcyAoaWUuIHRvcCwgbGVmdClcbiogJGRpcmVjdGlvbjogdXAsIGRvd24sIGxlZnQsIHJpZ2h0XG4qL1xuQG1peGluIHRyaWFuZ2xlKCRkaXJlY3Rpb24sICRzaXplOiA2cHgsICRjb2xvcjogIzIyMil7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDA7IHdpZHRoOiAwO1xuICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2Rvd24nKXtcbiAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnbGVmdCcpe1xuICAgIGJvcmRlci10b3A6IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxLzIqJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gIH1cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgYm9yZGVyLXRvcDogMS8yKiRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEvMiokc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb246J2xlZnQnLCAkc2l6ZTogNnB4LCAkY29sb3I6ICdjdXJyZW50Q29sb3InKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4ycyBsaW5lYXIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAwOyB3aWR0aDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBAaWYgKCRkaXJlY3Rpb24gPT0gJ3VwJyl7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSAnZG93bicpe1xuICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ2xlZnQnKXtcbiAgICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gJ3JpZ2h0Jyl7XG4gICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICB9XG59XG5cbkBtaXhpbiB0cmlhbmdsZS1iZWZvcmUoJGRpcmVjdGlvbjonbGVmdCcsICRzaXplOiA2cHgsICRjb2xvcjogY3VycmVudENvbG9yKSB7XG4gICAgQGluY2x1ZGUgdHJpYW5nbGUtdGV4dCgkZGlyZWN0aW9uLCAkc2l6ZSwgJGNvbG9yKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS8yOyBcbn1cblxuQG1peGluIHRyaWFuZ2xlLWFmdGVyKCRkaXJlY3Rpb246J3JpZ2h0JywgJHNpemU6IDZweCwgJGNvbG9yOiBjdXJyZW50Q29sb3IpIHtcbiAgICBAaW5jbHVkZSB0cmlhbmdsZS10ZXh0KCRkaXJlY3Rpb24sICRzaXplLCAkY29sb3IpO1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2UvMjsgXG59XG5cbkBtaXhpbiBzY3JvbGxiYXItc3R5bGluZygkY29sb3IpIHtcblx0c2Nyb2xsYmFyLWJhc2UtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItZmFjZS1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci0zZGxpZ2h0LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG5cdHNjcm9sbGJhci10cmFjay1jb2xvcjogJGNvbG9yO1xuXHRzY3JvbGxiYXItYXJyb3ctY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpO1xuXHRzY3JvbGxiYXItc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0c2Nyb2xsYmFyLWRhcmstc2hhZG93LWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4yKTtcblx0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cdCAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQ7XG5cdH0gXG5cdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdCAgICB3aWR0aDogNnB4OyBcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogMDtcblx0ICAgIHotaW5kZXg6IDM7IFxuXHR9ICBcblx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7ICBcblx0ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLWJsYWNrLCAwLjIpICA7XG5cdH0gXG5cdDo6LXdlYmtpdC1yZXNpemVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ibGFjaywgMC4wNSk7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzaykge1xuXHRcdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAgXG5cdFx0ICAgIHdpZHRoOiAxMnB4OyBcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIHotaW5kZXg6IDM7IFxuXHRcdH0gIFxuXHR9XG59XG4vLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsICRyYWRpaSwgd2Via2l0IG1zIHNwZWMpO1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVmFyaWFibGVzIGxvY2F0ZWQgaW4gL3NldHRpbmdzL19wcmVmaXhlci5zY3NzXG5cbkBtaXhpbiBwcmVmaXhlciAoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLXNwZWMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG5cblxuLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbiAoJHByb3BlcnRpZXMuLi4pIHtcbiAgICB0cmFuc2l0aW9uOiAkcHJvcGVydGllcztcbn1cblxuLy8gIHRyYW5zZm9ybVxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHk6IG5vbmUpIHtcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCAkcHJvcGVydHksIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJGF4ZXM6IDUwJSkge1xuLy8geC1heGlzIC0gbGVmdCB8IGNlbnRlciB8IHJpZ2h0ICB8IGxlbmd0aCB8ICVcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4vLyB6LWF4aXMgLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1vcmlnaW4sICRheGVzLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2Zvcm0tc3R5bGUgKCRzdHlsZTogZmxhdCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gICAgfVxuICAgID4gLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBtaXhpbiB0aWxlLXJpZ2h0LWJvcmRlcigkY29sb3I6ICRjb2xvci1ncmF5KSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb250ZW50OiBcIlwiO1xuXHRiYWNrZ3JvdW5kOiAkY29sb3I7XG5cdHdpZHRoOiAycHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xufVxuXG5AbWl4aW4gZm9udC1saWdodCB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtaXhpbiBmb250LXN0cm9uZ2VyIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBtaXhpbiB0ZXh0LXNoYWRvdy1kYXJrIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxNTAsIDE1MCwgMTUwLCAxKTtcbn1cblxuQG1peGluIHRleHQtc2hhZG93LWxpZ2h0IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KCRjb2xvciwgd2hpdGUsICRwZXJjZW50YWdlKTtcbn1cblxuQG1peGluIHRyaWFuZ2xlLWxpbmsoJGZsb2F0LXJpZ2h0OiBmYWxzZSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoJ3JpZ2h0JywgNnB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlLzQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIEBpZigkZmxvYXQtcmlnaHQpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBpY29uLWNsb3NlICgkdG9wOiAyNHB4LCAkcmlnaHQ6IDEycHgsICRjb2xvcjogJGNvbG9yLWRhcmstYmx1ZSwgJHdpZHRoOiAxMnB4LCAkaGVpZ2h0OiAxMnB4KSB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICR0b3A7XG4gIHJpZ2h0OiAkcmlnaHQ7XG4gIHN2ZyB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgc3Ryb2tlOiAkY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLyogUmliYm9uIHN0eWxlICovXG5AbWl4aW4gcmliYm9uKCkge1xuXG4gICAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cblxuICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICBoZWlnaHQ6IDc4cHg7XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgICAgICYucmliYm9uLWZyb250LWxlZnQge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMjRweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yaWJib24tZnJvbnQtcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxLCBoMiwgaDMsIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTRweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpYmJvbi1lZGdlLWJvdHRvbWxlZnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHRvcDogNzhweDtcbiAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDI0cHggMjRweCAwO1xuICAgIH1cblxuICAgIC5yaWJib24tZWRnZS1ib3R0b21yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAyNHB4IDI0cHggMCAwO1xuICAgIH1cbn1cblxuQG1peGluIGxpbmstYXJyb3coJGNvbG9yOiAkbWVudS1saW5rKSB7XG4gIEBpbmNsdWRlIHNwcml0ZSgnYWxsLWFycm93JywgKGZpbGw6ICRjb2xvcikpO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuQG1peGluIGNsZWFyLWZpeCgpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWl4aW4gdGlsZS1kZXNpZ24oJGNvbG9yOiAkY29sb3ItZGFyay1ibHVlLCAkaWNvbjogJ2ZpbGUtYWx0Jykge1xuICAudGlsZV9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAwLjE1KTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLCAoZmlsbDogcmdiYSgkY29sb3ItYmxhY2ssIDAuMDUpKSk7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyMDAlO1xuICAgICAgaGVpZ2h0OiAyMDAlO1xuICAgICAgdG9wOiAtNTAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICB3aWR0aDogMTUwJTtcbiAgICAgICAgaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0b3A6IC0yMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRpbGVfX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgc3ZnIHtcbiAgICAgIHN0cm9rZTogJGNvbG9yO1xuICAgICAgZmlsbDogJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVMUEVSU1xuXG5AbWl4aW4gcmVzcG9uc2l2ZUF0dHIoJGF0dHIsICRtb2JpbGVWYWw6IG51bGwsICRzbWFydHBob25lVmFsOiBudWxsLCAkdGFibGV0VmFsOiBudWxsLCAkd2lkZVZhbDogbnVsbCkge1xuICBAaWYgJG1vYmlsZVZhbCB7XG4gICAgI3skYXR0cn06ICRtb2JpbGVWYWw7XG4gIH1cblxuICBAaWYgJHNtYXJ0cGhvbmVWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbWFydHBob25lLXN0YXJ0KSB7XG4gICAgICAjeyRhdHRyfTogJHNtYXJ0cGhvbmVWYWw7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZXRWYWwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICN7JGF0dHJ9OiAkdGFibGV0VmFsO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkd2lkZVZhbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2std2lkZS1zdGFydCkge1xuICAgICAgI3skYXR0cn06ICR3aWRlVmFsO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZVNxdWFyZVRodW1iKCkge1xuICAuaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIC5yZXNwb25zaXZlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXJyb3coJGNvbG9yOiAkY29sb3ItbWlkLWJsdWUsICRkaXJlY3Rpb246ICdkb3duJykge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNHB4O1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09ICd1cCcge1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gJ2Rvd24nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIEBpZiAkZGlyZWN0aW9uID09ICdyaWdodCcge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRjb2xvcjtcbiAgfVxufSIsIiRwYWdlLWJveC1icDE6ICR0YWJsZXQtc3RhcnQ7XG4kcGFnZS1ib3gtYnAyOiAkZGVzay13aWRlLXN0YXJ0O1xuXG4ucGFnZS1ib3hlcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgQGluY2x1ZGUgcmliYm9uO1xuICAgIEBleHRlbmQgLmdyaWQ7XG4gICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2UvMjtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHNwYWNlO1xufVxuXG4ucGFnZS1ib3gge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBleHRlbmQgLmdyaWRfX2l0ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjZS8yO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICAuc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMThweCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc3Ryb25nO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcbiAgICAgICAgKyAuc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRzcGFjZS8yO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3hfX2luc2lkZSwgLnBhZ2UtYm94X190aXRsZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbn1cbi5wYWdlLWJveF9faW5zaWRlLS1wYWRkZWQge1xuICAgIHBhZGRpbmc6ICRzcGFjZTtcbn1cblxuLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICYuanMtc2VhcmNoLXJlc3VsdHMtbGlzdCB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIGFuZCAobWF4LXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wYWdlLWJveC0tY29tYm8ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlICRzcGFjZSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtYm94X19lbGVtZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRzcGFjZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5wYWdlLWJveF9faW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0LXNpZGVkIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0LXNpZGVkIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtYm94X19ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIHVsIGxpLCBvbCBsaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2U7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJHNwYWNlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmFjay1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbGlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRzcGFjZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlLWJlZm9yZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmIGZpcnN0IGVsZW1lbnQgaXMgcmlnaHQtc2lkZWRcbiAgICAgICAgLnBhZ2UtYm94X19pbnNpZGUgPiAucGFnZS1ib3hfX2VsZW1lbnQucmlnaHQtc2lkZWQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAyKSB7XG4gICAgICAgIC5sZWZ0LXNpZGVkIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHQtc2lkZWQge1xuICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjY2NiU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAuZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LnBhZ2UtYm94LS10aHJlZS1uZXdzIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4ucGFnZS1ib3gtLWZ1bGwtd2lkdGgge1xuICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1taWRkbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMSkge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIC50aWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6ICRzcGFjZS8yO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAyKSB7XG4gICAgICAgIC50aWxlLS1taWRkbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3gtLW1pZGRsZSB7XG4gICAgLnRpbGUtLWRvdWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAudGlsZV9faW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpbGVfX2hpZ2hsaWdodC1mbGFnIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1taWRkbGUge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMikge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjYlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMlOztcbiAgICB9XG59XG5cbi5wYWdlLWJveC0tZXhwZXJ0aXNlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTRweCk7XG4gICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC50YWdzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHRvcDogJHNwYWNlKjM7XG4gICAgICAgIGxlZnQ6ICRzcGFjZTtcbiAgICAgICAgcmlnaHQ6ICRzcGFjZTtcbiAgICAgICAgYm90dG9tOiAkc3BhY2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZS8yO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhZyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAvKnBhZGRpbmctYm90dG9tOiAwOyovXG4gICAgICAgIC8qaGVpZ2h0OiBhdXRvOyovXG4gICAgICAgIC50YWdzIHtcbiAgICAgICAgICAgIC8qaGVpZ2h0OiBhdXRvOyovXG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICAgICAgLypwb3NpdGlvbjogc3RhdGljOyovXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveF9fZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xufVxuXG4ucGFnZS1ib3hfX3RpdGxlIHtcbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjJweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgfVxuICAgIC5hcHBsaWVzLXRvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICAgICBAaW5jbHVkZSBmb250LWxpZ2h0O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc3Ryb25nZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBbZGF0YS1jdXJyZW50LWJyYW5jaD1cImFnb1wiXSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LXN0cm9uZ2VyO1xuICAgICAgICBtYXJnaW4tdG9wOiAtJHNwYWNlLzI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveF9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmJhY2stbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZS80ICRzcGFjZS8yO1xuICAgIH1cbn1cblxuLnBhZ2UtYm94X19jb250YWN0cyB7XG4gICAgLy8gIHRlbXBvcmFyeSBmb3Igc21hbGxlciBpbWFnZXNcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIC50ZWxlcGhvbmUtbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG4gICAgLmVtYWlsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgfVxuICAgIC5sYW5ndWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XG4gICAgfVxufVxuXG4ucGFnZS1ib3hfX3BhcnRuZXIge1xuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG59XG5cbi5wYWdlLWJveF9fbGlua3Mge1xuICAgIG1pbi1oZWlnaHQ6ICRzcGFjZSozO1xuICAgIC5saW5rcyB7XG4gICAgICAgIEBleHRlbmQgLmdyaWQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdmctY29udGVudCgyNHB4LCAzMHB4KTtcbiAgICAgICAgICAgIEBleHRlbmQgLmdyaWRfX2l0ZW07XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudXNlcl9jYXJkIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuanMtb2JmdXNjYXRlIHN2ZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDIpIHtcbiAgICAgICAgaGVpZ2h0OiAkc3BhY2U7XG4gICAgICAgIC5saW5rcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGE6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcGFnZS1ib3gtYnAxKSBhbmQgKG1heC13aWR0aDogJHBhZ2UtYm94LWJwMiAtIDFweCkge1xuICAgICAgICAubGlua3Mge1xuICAgICAgICAgICAgYTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1sb2NhdGlvbiB7XG4gICAgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtbGluaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWdyYXk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2UvMztcbiAgICAgICAgfVxuICAgICAgICAubG9jYXRpb25zLWxpc3QgYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcbiAgICB9XG4gICAgLm1hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxMnB4O1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMikge1xuICAgICAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMTJweDtcbiAgICAgICAgfVxuICAgICAgICAucGFnZS1ib3hfX2VsZW1lbnQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmxlZnQtc2lkZWQge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICAgIH1cbiAgICAgICAgLnJpZ2h0LXNpZGVkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAzMy4zMzMzMzMzJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYWdlLWJveC0tdGhyZWUtbmV3cyB7XG4gICAgJi5pbnRlcm5hdGlvbmFsLWRlc2tzLWJveCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG4gICAgLnRpbGU6bm90KC50aWxlLS1idWNrZXQtcHVibGljYXRpb24pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wYWdlLWJveC0taGlnaGxpZ2h0ZWQtdGlsZSB7XG4gICAgJi5pbnRlcm5hdGlvbmFsLWRlc2tzLWJveCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwYWdlLWJveC1icDEpIHtcbiAgICAgICAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyYXktMztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1ob21lcGFnZS10aHJlZS1uZXdzIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjZTtcbiAgICAucGFnZS1ib3hfX2luc2lkZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodC1ncmF5LTM7XG4gICAgfVxufVxuXG4vL1NpdGVtYXBcbi5ibG9jay1zaXRlbWFwIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwLWNvbnRyb2xzIHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICAgIC5yaWJib24tZWRnZS1ib3R0b21sZWZ0IHtcbiAgICAgICAgICAgIHRvcDogOTNweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuLmV4cGFuZC1ib3gtYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlLWxpbms7XG4gICAgICAgICY6bnRoLWNoaWxkKC1uKzEpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMlIC0gN3B4KTtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKC1uKzQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSBhbmQgKG1heC13aWR0aDogJGRlc2stc3RhcnQgLSAxcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTdweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDExcHgpO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoLW4rMykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2UtYm94LS1zaXRlbWFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIC5wYWdlLWJveF9faW5zaWRlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuc2l0ZW1hcC1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgJiA+IC5zaXRlbWFwLWxpc3RfX2xldmVsLTI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyNHB4KTtcbiAgICAgICAgICAgICAgICAmID4gLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlbWFwLWxpc3RfX2xldmVsLTEge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2l0ZW1hcC1saXN0X19sZXZlbC0yIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1ib3gtLXNpdGVtYXBfX29uZS1sZXZlbCB7XG4gICAgICAgIC5zaXRlbWFwLWxpc3Qge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1ib3gtLXNpdGVtYXAtYnJhbmNoIHtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNpdGVtYXAtbGlzdF9fbGV2ZWwtMSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLnJlZ3VsYXItbGluayBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1pZGRsZS1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS1ib3hfX3RvYyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlO1xuICAgICY6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIHotaW5kZXg6IDE1O1xuICAgIH1cbn1cbiIsIiR0aGluLWJsb2NrLWhlaWdodDogMzM1cHg7XG5cbkBtaXhpbiBidXR0b24tZ3JlZW4oKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qIFNoYXJlIGJsb2NrKi9cbkBtaXhpbiBmbHlvdXQtbWVudSgpIHtcbiAgLmZseW91dC1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiAxNzVweDtcbiAgICB6LWluZGV4OiAzMztcbiAgICByaWdodDogMDtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgdG9wOiAyNjBweDtcbiAgICB9XG5cbiAgICAuZmx5b3V0LW1lbnUtZWxlbWVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG5cbiAgICAmID4gaHIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBtYXJnaW46IDAgNXB4O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCRjb2xvci13aGl0ZSk7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbjogMTNweDtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1zaGFyaWZmIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnNoYXJpZmYtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4uZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogUmliYm9uIHN0eWxlICovXG5AbWl4aW4gcmliYm9uKCkge1xuXG4gIC5yaWJib24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAucmliYm9uLWZyb250IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgIGhlaWdodDogNzhweDtcbiAgICB3aWR0aDogOTUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgZGlzcGxheTogdGFibGU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgfVxuXG4gICAgaDEsIGgyLCBoMywgaDQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggOHB4IDMwcHg7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDhweCAzMHB4O1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpYmJvbi1oZWFkZXIge1xuICAgICAgaDEsIGgyLCBoMywgaDQge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmliYm9uLWVkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDAgMjRweCAyNHB4IDA7XG4gIH1cbn1cblxuQG1peGluIHBhcnRuZXItaW50ZXJ2aWV3KCkge1xuICAucGFydG5lci1pbnRlcnZpZXdzLWJsb2NrIHtcbiAgICBoMiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBzcHJpdGUoJ2NoZXZyb25fb3BlbicsIChmaWxsOiAkY29sb3ItZGFyay1ncmF5KSk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAmLm5leHQge1xuICAgICAgICByaWdodDogM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGJvdHRvbTogNTElO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgbGVmdDogM3B4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICB0b3A6IDUxJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHN0cm9rZTogJGNvbG9yLWRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtcyB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5wYXJ0bmVyX2ludGVydmlldyB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJ0bmVyX2ltYWdlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW50ZXJ2aWV3IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJpYmJvbjtcblxuICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCA4cHggMzBweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDE0cHggMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbi8qXG5Db250YWN0IGZvcm0gYmxvY2tcbiAqL1xuQG1peGluIGNvbnRhY3QtZm9ybSgpIHtcbiAgLmNvbnRhY3QtZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gICAgICBtaW4taGVpZ2h0OiAkdGhpbi1ibG9jay1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLmxlZnQge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItdmVyeS1kYXJrLWdyYXk7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmbGV4LWJhc2lzOiA2Ni42NiU7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncmVlbjtcbiAgICAgIH1cblxuICAgICAgLnR3by1zdGF0ZS1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICAgIH1cblxuICAgICAgLnR3by1zdGF0ZS1ibG9ja19faW5pdGlhbCB7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByaWJib247XG5cbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgZmxleC1iYXNpczogMzMuMzMlO1xuICAgICAgfVxuXG4gICAgICAua2V5LWNvbnRhY3Qge1xuICAgICAgICBwYWRkaW5nOiAyMHB4ICRzcGFjZSAkc3BhY2UgJHNwYWNlO1xuXG4gICAgICAgIC5wZXJzb24tbmFtZSAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWFsbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZm9ybV9faGVhZC0tc2VudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgJGNvbnRhY3QtdGV4dGFyZWEtaGVpZ2h0OiAkc3BhY2UqNTtcblxuICAgIGZvcm0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgIGlucHV0W3R5cGU9dGV4dF0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlLzI7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIGhlaWdodDogJGNvbnRhY3QtdGV4dGFyZWEtaGVpZ2h0O1xuICAgIH1cblxuICAgIC5wcml2YWN5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1mb3JtX19vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZm9ybV9fZXJyb3Ige1xuICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb250YWN0LWZvcm1fX2hlYWQtLXNlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNvbnRhY3QtZm9ybS0td3Jvbmcge1xuICAgICAgdGV4dGFyZWEsXG4gICAgICBpbnB1dFt0eXBlPXRleHRdLFxuICAgICAgaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcmVkO1xuICAgICAgfVxuXG4gICAgICAuY29udGFjdC1mb3JtX19lcnJvciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGFjdC1mb3JtLS1zdWJtaXR0aW5nIHtcbiAgICAgID4gKiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRhY3QtZm9ybV9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAkY29udGFjdC10ZXh0YXJlYS1oZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY29udGFjdC1mb3JtX19vdmVybGF5LWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5jb250YWN0LWZvcm0tLXNlbnQge1xuICAgICAgLmNvbnRhY3QtZm9ybV9faGVhZC0taW5pdGlhbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWN0LWZvcm1fX2hlYWQtLXNlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFic29sdXRlLXBvc2l0aW9uKCR0b3AgOiAwLCAkbGVmdDogMCwgJHdpZHRoIDogMTAwJSwgJGhlaWdodDogMTAwJSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHRvcDtcbiAgbGVmdDogJGxlZnQ7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuLypcbkluZm9ncmFwaGljcyBibG9ja1xuICovXG5AbWl4aW4gaW5mb2dyYXBoaWNzKCkge1xuICAuaW5mb2dyYXBoaWNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbn1cblxuLyogVmlkZW8gYmxvY2sgKi9cbkBtaXhpbiB2aWRlbygpIHtcbiAgLmJsb2NrX3ZpZGVvIHtcbiAgICAuYmxvY2tfdmlkZW8tZmxleC12aWRlby1ib3gge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAzODRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgJi5ibG9ja192aWRlby1mbGV4LXZpZGVvLWJveC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xuXG4gICAgICAgIC5ibG9ja192aWRlby12aWRlby1wcmV2aWV3IHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJsb2NrX3ZpZGVvLXZpZGVvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5ibG9ja192aWRlby1wbGF5ZXItdmlkZW8ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmxvY2tfdmlkZW8tdmlkZW8tcHJldmlldyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLnByZXZpZXctYnV0dG9uIHtcbiAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1wb3NpdGlvbig0NSUsIDQzJSwgMCwgMCk7XG4gICAgICAgICAgICBtYXJnaW46IC0yMHB4IDAgMCAtMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4MHB4IHNvbGlkIHJnYmEoMTksIDQxLCA3NCwgLjc1KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDUwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA1MHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMzAwbXM7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcztcblxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLXBvc2l0aW9uKDQ1JSwgNDglLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogODBweCBzb2xpZCByZ2JhKDE5LCA0MSwgNzQsIC45KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByaWJib247XG5cbiAgICAgICAgLnJpYmJvbi13cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogSGFsZiBibG9jayAqL1xuQG1peGluIGhhbGYoKSB7XG4gIC5oYWxmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbnRlbnQgYmxvY2sgKi9cbkBtaXhpbiBjb250ZW50KCkge1xuICAmLnNsaWRlcl9ibG9jayB7XG4gICAgLnNsaWNrLXNsaWRlciB7XG5cbiAgICAgIGJ1dHRvbi5zbGlkZXJfbmF2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwMDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMzNweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBib3R0b206IDE4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXhfY291bnRfMSB7XG4gICAgICBkaXYuaXRlbXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM4MHB4O1xuXG4gICAgICAgICYgPiAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtcG9zaXRpb247XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmhhbGY6bm90KC5iYXNlX2Jsb2NrX19jb250ZW50KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSBhbmQgKG1heC13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBoZWlnaHQ6IDYxMHB4O1xuICAgICAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGJvdHRvbTogMTBweDtcblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1heF9jb3VudF8yIHtcbiAgICAgIGRpdi5pdGVtcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMzgwcHg7XG5cbiAgICAgICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgLmhhbGYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICYuYmFzZV9ibG9ja19fY29udGVudCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWRvdHMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IDM4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci12ZXJ5LWRhcmstZ3JheTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuYmFzZV9ibG9ja19fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA0MnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50eXBlX3B1YmxpY2F0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcblxuICAgICAgLmJhc2VfYmxvY2tfX2NvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM4MHB4O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgLmhhbGY6bm90KC5iYXNlX2Jsb2NrX19jb250ZW50KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudHlwZV90ZXh0X2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAudGV4dCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci12ZXJ5LWRhcmstZ3JheTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXZlcnktZGFyay1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi0tY2VudGVyIHtcbiAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnR5cGVfcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICAmLmxpbmthYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAubGlua19hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzcHJpdGUoJ3JpZ2h0LWFycm93Jyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICYudHlwZV9xdW90ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IHVuc2V0O1xuICAgICAgICAgIGJvdHRvbTogLTEycHg7XG4gICAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBoYWxmO1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFsZl9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICAvKiBTZXQgdXAgcHJvcG9ydGlvbmF0ZSBzY2FsaW5nICovXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgLyogU2V0IHVwIHBvc2l0aW9uaW5nICovXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmludHJvIHtcbiAgICBwYWRkaW5nOiAkc3BhY2U7XG4gIH1cbn1cblxuLyogRG93bmxvYWQgYmxvY2sqL1xuQG1peGluIGRvd25sb2FkKCkge1xuICAuYmxvY2tfZG93bmxvYWQge1xuICAgIC5kbC1ib3gge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI2MHB4O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICR0aGluLWJsb2NrLWhlaWdodDtcbiAgICAgIH1cblxuICAgICAgLmRsLWJveF9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIua2V5LWNvbnRhY3Qge1xuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmLnJvdy1vcmllbnRlZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgLnBlcnNvbi1saW5rIHtcbiAgICAgIHJpZ2h0OiA3NXB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGhlaWdodDogNjAlO1xuICAgIH1cbiAgICAucGVyc29uLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4O1xuXG4gICAgICAucGVyc29uLWFkZHJlc3MtYmxvY2sge1xuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiA4NCU7XG4gICAgICB9XG4gICAgICAuYWN0aW9uLWJhci5wZXJzb24tYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxNiU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAmLmFjdGlvbi0tcGhvbmUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDozcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5saXN0aW5nX19sb2FkLW1vcmUge1xuICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBjb2xvcjogIzEzMjk0YTtcbiAgICAgIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiA2cHggMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAucGVyc29uLXRleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5wZXJzb24tYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8qIEdlbmVyYWwgcGFnZSAqL1xuLnRvcF9wdWJsaWNhdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5jb250YWluZXItaW5uZXIge1xuXG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnpvbmVzLWxheW91dC1zaW1wbGUge1xuICAgICAgICAmLmVkaXRvcmlhbF9tb2Rle1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1ncmF5LTM7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2UtbGluZS1oZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgLmZvcm1fYmxvY2sge1xuICAgICAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmxvY2tfYmFzZS5oYWxmIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgIC5yaWJib24tZnJvbnQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC5yaWJib24tZWRnZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA3OHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBhbGUtYmx1ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDI0cHggMjRweCAwIDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ibG9ja19pbnZpc2libGUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmxvY2tfYmFzZS50cHRfdG9jOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJhc2VfYmxvY2tfX2NvbnRlbnQuZmxvYXQtLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5ibG9ja19iYXNlLmhhbGYge1xuICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZGluZy1wYWdlX19ibG9jaywgLmJsb2NrX2Jhc2UsIC5ibG9ja19zbGlkZXIsIC5ibG9ja192aWRlbywgLmJsb2NrX2Rvd25sb2FkLCAuYmxvY2tfdGlsZXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9ja19iYXNlIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb250YWN0LWZvcm07XG4gICAgICAgICAgQGluY2x1ZGUgaW5mb2dyYXBoaWNzO1xuICAgICAgICAgIEBpbmNsdWRlIHBhcnRuZXItaW50ZXJ2aWV3O1xuICAgICAgICAgIEBpbmNsdWRlIGNvbnRlbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgcmliYm9uO1xuXG4gICAgICAgICAgLmJsb2NrX19pbnRybyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRleHQtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGhhbGY7XG4gICAgICAgIEBpbmNsdWRlIHZpZGVvO1xuXG4gICAgICAgIC5ibG9ja190aWxlcyB7XG4gICAgICAgICAgQGluY2x1ZGUgcmliYm9uO1xuICAgICAgICAgIC5ibG9ja19faW50cm8ge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50aWxlX19oZWFkaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGxhcC1zdGFydCkge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICAgICAuYnRuLmxvYWQtbW9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBkb3dubG9hZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBmbHlvdXQtbWVudTtcblxuICAudGlsZS1ncmlkIHtcbiAgICBAaW5jbHVkZSB0aWxlc0dyaWRfdG9wUHVibGljYXRpb25zO1xuICB9XG59XG5cbi50ZXh0LXRyYW5zZm9ybS11cHBlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIkc3ByaXRlczogKFxuICAgICdhbGVydCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZmlsbD0nJTIzZTUxMzEzJyBkPSdNMjQ4Ljc0NyAyMDQuNzA1bDYuNTg4IDExMmMuMzczIDYuMzQzIDUuNjI2IDExLjI5NSAxMS45NzkgMTEuMjk1aDQxLjM3YTEyIDEyIDAgMDAxMS45NzktMTEuMjk1bDYuNTg4LTExMmMuNDA1LTYuODkzLTUuMDc1LTEyLjcwNS0xMS45NzktMTIuNzA1aC01NC41NDdjLTYuOTAzIDAtMTIuMzgzIDUuODEyLTExLjk3OCAxMi43MDV6TTMzMCAzODRjMCAyMy4xOTYtMTguODA0IDQyLTQyIDQycy00Mi0xOC44MDQtNDItNDIgMTguODA0LTQyIDQyLTQyIDQyIDE4LjgwNCA0MiA0MnptLS40MjMtMzYwLjAxNWMtMTguNDMzLTMxLjk1MS02NC42ODctMzIuMDA5LTgzLjE1NCAwTDYuNDc3IDQ0MC4wMTNDLTExLjk0NSA0NzEuOTQ2IDExLjExOCA1MTIgNDguMDU0IDUxMkg1MjcuOTRjMzYuODY1IDAgNjAuMDM1LTM5Ljk5MyA0MS41NzctNzEuOTg3TDMyOS41NzcgMjMuOTg1ek01My4xOTEgNDU1LjAwMkwyODIuODAzIDU3LjAwOGMyLjMwOS00LjAwMiA4LjA4NS00LjAwMiAxMC4zOTQgMGwyMjkuNjEyIDM5Ny45OTNjMi4zMDggNC0uNTc5IDguOTk4LTUuMTk3IDguOTk4SDU4LjM4OGMtNC42MTcuMDAxLTcuNTA0LTQuOTk3LTUuMTk3LTguOTk3eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdhbGwtYXJyb3ctYm9sZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC01LjUgLTYpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZD0nTTYuMzk1IDguMTk0TDYuMzggNi45ODdhLjg5Ljg5IDAgMDEuOTEtLjkwOWwxMC41NjMuMTMzYy41MTEuMDA2LjkzLjQyNS45MzMuOTMzbC4xMzYgMTAuNTY3YS44OS44OSAwIDAxLS45MS45MWwtMS4yMDYtLjAxNmEuOTUyLjk1MiAwIDAxLS45MzQtLjk1NWwuMDczLTYuMzkzLTcuNzEgNy43MWEuOTIuOTIgMCAwMS0xLjMwNS0uMDE2bC0uODgtLjg4MWEuOTIuOTIgMCAwMS0uMDE4LTEuMzA1bDcuNzExLTcuNzEtNi4zOTMuMDczYS45NDUuOTQ1IDAgMDEtLjk1NS0uOTM0eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYWxsLWFycm93LXNlbWknOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTMgMTMnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNiAtNiknIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBkPSdNNy4yODQgNi4zNzhsMTAuNTY2LjEzM2MuMzQ3LjAwNC42MzQuMjkuNjM2LjYzNWwuMTM2IDEwLjU2OWEuNTkuNTkgMCAwMS0uNjA0LjYwNWwtMS4yMDgtLjAxNWEuNjUyLjY1MiAwIDAxLS42MzgtLjY1M2wuMDgyLTcuMTI4LTguMjMyIDguMjMxYS42Mi42MiAwIDAxLS44OC0uMDE2bC0uODgtLjg4MWEuNjIuNjIgMCAwMS0uMDE3LS44OGw4LjIzLTguMjMyLTcuMTI4LjA4MmEuNjQ2LjY0NiAwIDAxLS42NTItLjYzNkw2LjY4IDYuOTg0YS41OS41OSAwIDAxLjYwNC0uNjA2eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYWxsLWFycm93JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE0IDE0JyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTUgLTYpJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNi4zOTUgOC4xOTRMNi4zOCA2Ljk4N2EuODkuODkgMCAwMS45MS0uOTA5bDEwLjU2My4xMzNjLjUxMS4wMDYuOTMuNDI1LjkzMy45MzNsLjEzNiAxMC41NjdhLjg5Ljg5IDAgMDEtLjkxLjkxbC0xLjIwNi0uMDE2YS45NTIuOTUyIDAgMDEtLjkzNC0uOTU1bC4wNzMtNi4zOTMtNy43MSA3LjcxYS45Mi45MiAwIDAxLTEuMzA1LS4wMTZsLS44OC0uODgxYS45Mi45MiAwIDAxLS4wMTgtMS4zMDVsNy43MTEtNy43MS02LjM5My4wNzNhLjk0NS45NDUgMCAwMS0uOTU1LS45MzR6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdhcnJvd19idWxreSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMTIuNzYgMjY2Ljg2JyUzZSUzY3BhdGggZD0nTTI5Mi45ODcgMTU1Ljg2MmwtMTM2LjM4LTEzNi4zOC0xMzYuMzggMTM2LjM4SDc5Ljc2djkxaDE1M3YtOTEnLyUzZSUzYy9zdmclM2VcIixcbiAgICAnYXJyb3dfc2xpZGVzaG93JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE0IDIxJyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyBzdHJva2UtbGluZWNhcD0ncm91bmQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtNCAtMSknIHN0cm9rZT0nJTIzMTEzNTVFJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNCAxLjIpJyBzdHJva2Utd2lkdGg9JzEuOCclM2UlM2NwYXRoIGQ9J00xLjQgMTkuMzJMMTMgMTAuMk0xLjQgMS4wOEwxMyAxMC4yJy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2Fycm93X3RoaW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjA2IDMyMyclM2UlM2NnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI4Ljc1IDIzNC40MTZsNjMuMjcgNTguMTdjNi4yNDggNS43NDQgMTQuNTggNS44IDIwLjg3My4xNDNsNjQuODQ2LTU4LjMxNE0xMDMuMTQgMjQuMjd2MjYwJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnYmFja190b190b3AnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSd3aGl0ZScgZD0nTTggMi44bDggNy45LTIuNCAyLjQtNS41LTUuNS01LjYgNS42TDAgMTAuN3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnYmxvZyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOCAxOCclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9J2JsYWNrJyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBkPSdNMTggMTIuNzAxVjEuOTI5QTEuOTI5IDEuOTI5IDAgMDAxNi4wNzEgMEgxLjkzQTEuOTI5IDEuOTI5IDAgMDAwIDEuOTI5VjE2LjA3QzAgMTcuMTM3Ljg2MyAxOCAxLjkyOSAxOEgxMi43Yy41MTIgMCAxLjAwMi0uMjAzIDEuMzY0LS41NjVsMy4zNy0zLjM3Yy4zNjItLjM2Mi41NjUtLjg1Mi41NjUtMS4zNjR6bS01LjE0MyAzLjIxNHYtMy4wNThoMy4wNThsLTMuMDU4IDMuMDU4ek0xNi4wNzEgMS45M3Y5aC00LjE3OGEuOTY0Ljk2NCAwIDAwLS45NjQuOTY0djQuMTc4aC05VjEuOTNIMTYuMDd6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdib29rbWFyayc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzODQgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTMzNiAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQ2NGwxOTItMTEyIDE5MiAxMTJWNDhjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0MjguNDNsLTE0NC04NC0xNDQgODRWNTRhNiA2IDAgMDE2LTZoMjc2YzMuMzE0IDAgNiAyLjY4MyA2IDUuOTk2VjQyOC40M3onLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2FsZW5kYXItYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ0OCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBzdHJva2U9J19fX3N0cm9rZV9fXycgZD0nTTE0OCAyODhoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyem0xMDgtMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem05NiAwdi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDk2di00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDB2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem0xOTIgMHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bTk2LTI2MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2VjE2MEg0OHYyOThjMCAzLjMgMi43IDYgNiA2aDM0MGMzLjMgMCA2LTIuNyA2LTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NoYXJ0LWxpbmUtZG93bic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgc3Ryb2tlPSdfX19zdHJva2VfX18nIGQ9J00xODAuNjkgMjQ2LjYyYzYuMjUgNi4yNSAxNi4zOCA2LjI1IDIyLjYzIDBMMjg4IDE2MS45NGw4Ny42IDg3LjYtMjkuNSAyOS40OWMtMTUuMTIgMTUuMTItNC40MSA0MC45NyAxNi45NyA0MC45N0g0NjRjOC44NCAwIDE2LTcuMTYgMTYtMTZWMjAzLjA3YzAtMjEuMzgtMjUuODUtMzIuMDktNDAuOTctMTYuOTdsLTI5LjQ5IDI5LjUtMTEwLjIzLTExMC4yMmMtNi4yNS02LjI1LTE2LjM4LTYuMjUtMjIuNjMgMEwxOTIgMTkwLjA2bC01MS43Mi01MS43MmMtNi4yNS02LjI1LTE2LjM4LTYuMjUtMjIuNjMgMGwtMTEuMzEgMTEuMzFjLTYuMjUgNi4yNS02LjI1IDE2LjM4IDAgMjIuNjNsNzQuMzUgNzQuMzR6TTQ5NiA0MDBINDhWODBjMC04Ljg0LTcuMTYtMTYtMTYtMTZIMTZDNy4xNiA2NCAwIDcxLjE2IDAgODB2MzM2YzAgMTcuNjcgMTQuMzMgMzIgMzIgMzJoNDY0YzguODQgMCAxNi03LjE2IDE2LTE2di0xNmMwLTguODQtNy4xNi0xNi0xNi0xNnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hlY2snOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9JyUyM2FiYjMwMCcgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjaGV2cm9uX2Nsb3NlZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNzYuMzggMzEyLjc2JyUzZSUzY3BhdGggZD0nTTIwIDE5LjY2OHYyNzIuNzU4bDEzNi4zOC0xMzYuMzgnLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hldnJvbl9vcGVuJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ1MS44NDYgNDUxLjg0NyclM2UlM2NnJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMzQ1LjQ0MSAyNDguMjkyTDE1MS4xNTQgNDQyLjU3M2MtMTIuMzU5IDEyLjM2NS0zMi4zOTcgMTIuMzY1LTQ0Ljc1IDAtMTIuMzU0LTEyLjM1NC0xMi4zNTQtMzIuMzkxIDAtNDQuNzQ0TDI3OC4zMTggMjI1LjkyIDEwNi40MDkgNTQuMDE3Yy0xMi4zNTQtMTIuMzU5LTEyLjM1NC0zMi4zOTQgMC00NC43NDggMTIuMzU0LTEyLjM1OSAzMi4zOTEtMTIuMzU5IDQ0Ljc1IDBsMTk0LjI4NyAxOTQuMjg0YzYuMTc3IDYuMTggOS4yNjIgMTQuMjcxIDkuMjYyIDIyLjM2NiAwIDguMDk5LTMuMDkxIDE2LjE5Ni05LjI2NyAyMi4zNzN6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hldnJvbi1kb3duJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ1MS44NDcgNDUxLjg0NyclM2UlM2NnJTNlJTNjcGF0aCBkPSdNMjI1LjkyMyAzNTQuNzA2Yy04LjA5OCAwLTE2LjE5NS0zLjA5Mi0yMi4zNjktOS4yNjNMOS4yNyAxNTEuMTU3Yy0xMi4zNTktMTIuMzU5LTEyLjM1OS0zMi4zOTcgMC00NC43NTEgMTIuMzU0LTEyLjM1NCAzMi4zODgtMTIuMzU0IDQ0Ljc0OCAwbDE3MS45MDUgMTcxLjkxNSAxNzEuOTA2LTE3MS45MDljMTIuMzU5LTEyLjM1NCAzMi4zOTEtMTIuMzU0IDQ0Ljc0NCAwIDEyLjM2NSAxMi4zNTQgMTIuMzY1IDMyLjM5MiAwIDQ0Ljc1MUwyNDguMjkyIDM0NS40NDljLTYuMTc3IDYuMTcyLTE0LjI3NCA5LjI1Ny0yMi4zNjkgOS4yNTd6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2hldnJvbi1yaWdodCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxODUuMzQzIDE4NS4zNDMnJTNlJTNjZyUzZSUzY2clM2UlM2NwYXRoIGQ9J001MS43MDcgMTg1LjM0M2ExMC42OTIgMTAuNjkyIDAgMDEtNy41OTMtMy4xNDkgMTAuNzI0IDEwLjcyNCAwIDAxMC0xNS4xNzVsNzQuMzUyLTc0LjM0N0w0NC4xMTQgMTguMzJjLTQuMTk0LTQuMTk0LTQuMTk0LTEwLjk4NyAwLTE1LjE3NSA0LjE5NC00LjE5NCAxMC45ODctNC4xOTQgMTUuMTggMGw4MS45MzQgODEuOTM0YzQuMTk0IDQuMTk0IDQuMTk0IDEwLjk4NyAwIDE1LjE3NWwtODEuOTM0IDgxLjkzOWExMC42NzggMTAuNjc4IDAgMDEtNy41ODcgMy4xNXonIGZpbGw9JyUyMzAxMDAwMicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnY2xvc2UnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjIgMjMnJTNlJTNjZyUzZSUzY2cgZmlsbD0nX19fZmlsbF9fXycgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAuNSknJTNlJTNjcGF0aCBkPSdNMTkuNDg0IDBsMi4xNjUgMi4xNjUtOC42NiA4LjY2IDguNjYgOC42NTktMi4xNjUgMi4xNjUtOC42Ni04LjY2LTguNjYgOC42NkwwIDE5LjQ4NGw4LjY1OS04LjY2TDAgMi4xNjQgMi4xNjUgMGw4LjY2IDguNjU5eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnY29nJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDUyLjUxNSAyMzdsMzEuODQzLTE4LjM4MmM5LjQyNi01LjQ0MSAxMy45OTYtMTYuNTQyIDExLjE3Ny0yNy4wNTQtMTEuNDA0LTQyLjUzMS0zMy44NDItODAuNTQ3LTY0LjA1OC0xMTAuNzk3LTcuNjgtNy42ODgtMTkuNTc1LTkuMjQ2LTI4Ljk4NS0zLjgxMWwtMzEuNzg1IDE4LjM1OGExOTYuMjc2IDE5Ni4yNzYgMCAwMC0zMi44OTktMTkuMDJWMzkuNTQxYTI0LjAxNiAyNC4wMTYgMCAwMC0xNy44NDItMjMuMjA2Yy00MS43NjEtMTEuMTA3LTg2LjExNy0xMS4xMjEtMTI3LjkzLS4wMDEtMTAuNTE5IDIuNzk4LTE3Ljg0NCAxMi4zMjEtMTcuODQ0IDIzLjIwNnYzNi43NTNhMTk2LjI3NiAxOTYuMjc2IDAgMDAtMzIuODk5IDE5LjAybC0zMS43ODUtMTguMzU4Yy05LjQxLTUuNDM1LTIxLjMwNS0zLjg3Ny0yOC45ODUgMy44MTEtMzAuMjE2IDMwLjI1LTUyLjY1NCA2OC4yNjUtNjQuMDU4IDExMC43OTctMi44MTkgMTAuNTEyIDEuNzUxIDIxLjYxMyAxMS4xNzcgMjcuMDU0TDU5LjQ4NSAyMzdhMTk3LjcxNSAxOTcuNzE1IDAgMDAwIDM3Ljk5OWwtMzEuODQzIDE4LjM4MmMtOS40MjYgNS40NDEtMTMuOTk2IDE2LjU0Mi0xMS4xNzcgMjcuMDU0IDExLjQwNCA0Mi41MzEgMzMuODQyIDgwLjU0NyA2NC4wNTggMTEwLjc5NyA3LjY4IDcuNjg4IDE5LjU3NSA5LjI0NiAyOC45ODUgMy44MTFsMzEuNzg1LTE4LjM1OGExOTYuMjAyIDE5Ni4yMDIgMCAwMDMyLjg5OSAxOS4wMTl2MzYuNzUzYTI0LjAxNiAyNC4wMTYgMCAwMDE3Ljg0MiAyMy4yMDZjNDEuNzYxIDExLjEwNyA4Ni4xMTcgMTEuMTIyIDEyNy45My4wMDEgMTAuNTE5LTIuNzk4IDE3Ljg0NC0xMi4zMjEgMTcuODQ0LTIzLjIwNnYtMzYuNzUzYTE5Ni4zNCAxOTYuMzQgMCAwMDMyLjg5OS0xOS4wMTlsMzEuNzg1IDE4LjM1OGM5LjQxIDUuNDM1IDIxLjMwNSAzLjg3NyAyOC45ODUtMy44MTEgMzAuMjE2LTMwLjI1IDUyLjY1NC02OC4yNjYgNjQuMDU4LTExMC43OTcgMi44MTktMTAuNTEyLTEuNzUxLTIxLjYxMy0xMS4xNzctMjcuMDU0TDQ1Mi41MTUgMjc1YzEuMjItMTIuNjUgMS4yMi0yNS4zNSAwLTM4em0tNTIuNjc5IDYzLjAxOWw0My44MTkgMjUuMjg5YTIwMC4xMzggMjAwLjEzOCAwIDAxLTMzLjg0OSA1OC41MjhsLTQzLjgyOS0yNS4zMDljLTMxLjk4NCAyNy4zOTctMzYuNjU5IDMwLjA3Ny03Ni4xNjggNDQuMDI5djUwLjU5OWEyMDAuOTE3IDIwMC45MTcgMCAwMS02Ny42MTggMHYtNTAuNTk5Yy0zOS41MDQtMTMuOTUtNDQuMTk2LTE2LjY0Mi03Ni4xNjgtNDQuMDI5bC00My44MjkgMjUuMzA5YTIwMC4xNSAyMDAuMTUgMCAwMS0zMy44NDktNTguNTI4bDQzLjgxOS0yNS4yODljLTcuNjMtNDEuMjk5LTcuNjM0LTQ2LjcxOSAwLTg4LjAzOGwtNDMuODE5LTI1LjI4OWM3Ljg1LTIxLjIyOSAxOS4zMS00MS4wNDkgMzMuODQ5LTU4LjUyOWw0My44MjkgMjUuMzA5YzMxLjk4NC0yNy4zOTcgMzYuNjYtMzAuMDc4IDc2LjE2OC00NC4wMjlWNTguODQ1YTIwMC45MTcgMjAwLjkxNyAwIDAxNjcuNjE4IDB2NTAuNTk5YzM5LjUwNCAxMy45NSA0NC4xOTYgMTYuNjQyIDc2LjE2OCA0NC4wMjlsNDMuODI5LTI1LjMwOWEyMDAuMTQzIDIwMC4xNDMgMCAwMTMzLjg0OSA1OC41MjlsLTQzLjgxOSAyNS4yODljNy42MzEgNDEuMyA3LjYzNCA0Ni43MTggMCA4OC4wMzd6TTI1NiAxNjBjLTUyLjkzNSAwLTk2IDQzLjA2NS05NiA5NnM0My4wNjUgOTYgOTYgOTYgOTYtNDMuMDY1IDk2LTk2LTQzLjA2NS05Ni05Ni05NnptMCAxNDRjLTI2LjQ2OCAwLTQ4LTIxLjUzMi00OC00OCAwLTI2LjQ2NyAyMS41MzItNDggNDgtNDhzNDggMjEuNTMzIDQ4IDQ4YzAgMjYuNDY4LTIxLjUzMiA0OC00OCA0OHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY29tbWVudCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTI1NiAzMkMxMTQuNiAzMiAwIDEyNS4xIDAgMjQwYzAgNDcuNiAxOS45IDkxLjIgNTIuOSAxMjYuM0MzOCA0MDUuNyA3IDQzOS4xIDYuNSA0MzkuNWMtNi42IDctOC40IDE3LjItNC42IDI2UzE0LjQgNDgwIDI0IDQ4MGM2MS41IDAgMTEwLTI1LjcgMTM5LjEtNDYuM0MxOTIgNDQyLjggMjIzLjIgNDQ4IDI1NiA0NDhjMTQxLjQgMCAyNTYtOTMuMSAyNTYtMjA4UzM5Ny40IDMyIDI1NiAzMnptMCAzNjhjLTI2LjcgMC01My4xLTQuMS03OC40LTEyLjFsLTIyLjctNy4yLTE5LjUgMTMuOGMtMTQuMyAxMC4xLTMzLjkgMjEuNC01Ny41IDI5IDcuMy0xMi4xIDE0LjQtMjUuNyAxOS45LTQwLjJsMTAuNi0yOC4xLTIwLjYtMjEuOEM2OS43IDMxNC4xIDQ4IDI4Mi4yIDQ4IDI0MGMwLTg4LjIgOTMuMy0xNjAgMjA4LTE2MHMyMDggNzEuOCAyMDggMTYwLTkzLjMgMTYwLTIwOCAxNjB6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvbXBhcmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDQ4IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000MzMuOTQxIDY1Ljk0MWwtNTEuODgyLTUxLjg4MkE0OCA0OCAwIDAwMzQ4LjExOCAwSDE3NmMtMjYuNTEgMC00OCAyMS40OS00OCA0OHY0OEg0OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYzMjBjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgyMjRjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtNDhoODBjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY5OS44ODJhNDggNDggMCAwMC0xNC4wNTktMzMuOTQxek0yNjYgNDY0SDU0YTYgNiAwIDAxLTYtNlYxNTBhNiA2IDAgMDE2LTZoNzR2MjI0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoOTZ2NDJhNiA2IDAgMDEtNiA2em0xMjgtOTZIMTgyYTYgNiAwIDAxLTYtNlY1NGE2IDYgMCAwMTYtNmgxMDZ2ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDg4djIwMmE2IDYgMCAwMS02IDZ6bTYtMjU2aC02NFY0OGg5LjYzMmMxLjU5MSAwIDMuMTE3LjYzMiA0LjI0MyAxLjc1N2w0OC4zNjggNDguMzY4YTYgNiAwIDAxMS43NTcgNC4yNDNWMTEyeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjb21wYXNzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ5NiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMzQ3Ljk0IDEyOS44NkwyMDMuNiAxOTUuODNhMzEuOTM4IDMxLjkzOCAwIDAwLTE1Ljc3IDE1Ljc3bC02NS45NyAxNDQuMzRjLTcuNjEgMTYuNjUgOS41NCAzMy44MSAyNi4yIDI2LjJsMTQ0LjM0LTY1Ljk3YTMxLjkzOCAzMS45MzggMCAwMDE1Ljc3LTE1Ljc3bDY1Ljk3LTE0NC4zNGM3LjYxLTE2LjY2LTkuNTQtMzMuODEtMjYuMi0yNi4yem0tNzcuMzYgMTQ4LjcyYy0xMi40NyAxMi40Ny0zMi42OSAxMi40Ny00NS4xNiAwLTEyLjQ3LTEyLjQ3LTEyLjQ3LTMyLjY5IDAtNDUuMTYgMTIuNDctMTIuNDcgMzIuNjktMTIuNDcgNDUuMTYgMCAxMi40NyAxMi40NyAxMi40NyAzMi42OSAwIDQ1LjE2ek0yNDggOEMxMTEuMDMgOCAwIDExOS4wMyAwIDI1NnMxMTEuMDMgMjQ4IDI0OCAyNDggMjQ4LTExMS4wMyAyNDgtMjQ4UzM4NC45NyA4IDI0OCA4em0wIDQ0OGMtMTEwLjI4IDAtMjAwLTg5LjcyLTIwMC0yMDBTMTM3LjcyIDU2IDI0OCA1NnMyMDAgODkuNzIgMjAwIDIwMC04OS43MiAyMDAtMjAwIDIwMHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnY29udGFjdC1kZXRhaWxzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIxIDE5JyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbD0nYmxhY2snJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMTcuNDg3IDEzLjcybC0zLjkzOC0xLjY4OGEuODQ0Ljg0NCAwIDAwLS45ODQuMjQzbC0xLjc0NCAyLjEzYTEzLjAzMSAxMy4wMzEgMCAwMS02LjIzLTYuMjNsMi4xMzEtMS43NDNhLjg0Mi44NDIgMCAwMC4yNDMtLjk4NUw1LjI3NyAxLjUxYS44NS44NSAwIDAwLS45NjctLjQ4OWwtMy42NTYuODQ0QS44NDQuODQ0IDAgMDAwIDIuNjg3QzAgMTEuNzA1IDcuMzEgMTkgMTYuMzEzIDE5Yy4zOTMgMCAuNzM0LS4yNy44MjItLjY1NGwuODQ0LTMuNjU2YS44NTQuODU0IDAgMDAtLjQ5Mi0uOTd6JyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2NvdW50cnknOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgMjEnJTNlJTNjZyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLjMxMyAuODEzKSclM2UlM2NwYXRoIGQ9J005LjY4NyAxOS4zNzVhOS42ODcgOS42ODcgMCAwMDkuNjg4LTkuNjg4QTkuNjg3IDkuNjg3IDAgMDA5LjY4NyAwIDkuNjg3IDkuNjg3IDAgMDAwIDkuNjg3YTkuNjg3IDkuNjg3IDAgMDA5LjY4NyA5LjY4OHptMC0xLjg3NXYtMS4wN2MuMDY3LS40OTMtLjI5OC0xLjQxNi0uODg0LTIuMDAyYTEuMjUgMS4yNSAwIDAxLS4zNjYtLjg4M3YtMS4yNWMwLS40NTYtLjI0NC0uODc0LS42NDItMS4wOTMtLjU2Mi0uMzExLTEuMzYtLjc0NS0xLjkwNy0xLjAyYTUuNjMyIDUuNjMyIDAgMDEtMS4yMzYtLjg1bC0uMDMyLS4wMjhhNS4zODggNS4zODggMCAwMS0uNzA1LS44MWMtLjM2Ny0uNTM4LS45NjMtMS40MjMtMS4zNTEtMS45OThhNy44NTUgNy44NTUgMCAwMTQuMDMtMy45OGwuOTM5LjQ3YS42MjUuNjI1IDAgMDAuOTA0LS41NnYtLjQ0MWMuMzEzLS4wNS42My0uMDgzLjk1My0uMDk1bDEuMTA2IDEuMTA2YS42MjUuNjI1IDAgMDEwIC44ODRsLS4xODQuMTgyLS40MDMuNDA0YS4zMTMuMzEzIDAgMDAwIC40NDJsLjE4My4xODNhLjMxMy4zMTMgMCAwMTAgLjQ0MmwtLjMxMy4zMTNhLjM2Mi4zNjIgMCAwMS0uMTYzLjA4NGwtLjA1OC4wMDdoLS4zNTFhLjMxMi4zMTIgMCAwMC0uMjE4LjA4OWwtLjM4Ny4zNzdhLjM1OS4zNTkgMCAwMC0uMDk1LjIyNGMwIC4wNC4wMTUuMTAzLjAzMy4xNGwuNjA5IDEuMjE4YS4zMTMuMzEzIDAgMDEtLjI4LjQ1MmgtLjIyYS4zMTIuMzEyIDAgMDEtLjIwNS0uMDc2bC0uMzYyLS4zMTVhLjcyNS43MjUgMCAwMC0uNDEtLjE1My43NDkuNzQ5IDAgMDAtLjE5Ny4wMzJsLTEuMjE4LjQwNWEuNTA0LjUwNCAwIDAwLS4zMS4zNjNsLS4wMS4wOGMwIC4xNzcuMS4zMzkuMjYuNDE4bC40MzIuMjE2Yy4zNjcuMTg0Ljc3My4yOCAxLjE4NC4yOC40MSAwIC44ODIgMS4wNjYgMS4yNSAxLjI1aDIuNjA3Yy4zMzIgMCAuNjUuMTMyLjg4NC4zNjZsLjUzNS41MzVjLjE2NS4xNjUuMzAzLjQ2Ni4zNC43MmwuMDA5LjEyMmMwIC40MTctLjI0Ljk5NS0uNTM2IDEuMjg5bC0uNDQyLjQ0YS45MzQuOTM0IDAgMDAtLjI0LjQxOWMtLjA2LjIyLS4xMDguNDQ0LS4xODcuNjU5bC0uNjggMS44M2E3LjgwNyA3LjgwNyAwIDAxLTEuNjY2LjE4M3ptNy43NDItNi44MTVsLTEuMTQtLjI4NWEuOTM4LjkzOCAwIDAxLS41NTMtLjM5bC0uNzAyLTEuMDUzYTEuMSAxLjEgMCAwMS0uMTU4LS41MmMwLS4xNTYuMDctLjM5LjE1OC0uNTJsLjc2NS0xLjE0N2EuOTM2LjkzNiAwIDAxLjM2MS0uMzE4bC41MDctLjI1NGE3Ljc1IDcuNzUgMCAwMS44MzMgMy40OWMwIC4zMzgtLjAyOS42Ny0uMDcxLjk5N3pNMzAuMTg4IDEuNTN2MTAuNjU3SDM1bC01LjY1NyA1LjY1Ny01LjY1Ny01LjY1N2g0LjVWMS41M2gyeicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdjdXN0b21fc29jaWFsX21lZGlhX2xpbmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzUyLjc3OSAzODAnJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZD0nTTMzMS40MzYgMTU2LjkzNWwtMTEzLjA5IDExMy4wOWExNi40ODcgMTYuNDg3IDAgMDEtNi41MzcgNC4wM2wtMzkuMDUgMTIuNjgyIDEyLjY4Mi0zOS4wNDhhMTYuNTAyIDE2LjUwMiAwIDAxNC4wMzItNi41NGwxMTMuMDktMTEzLjA4OCAyOC44NzIgMjguODczeicgZmlsbD0nbm9uZScvJTNlJTNjcGF0aCBzdHJva2U9J19fX3N0cm9rZV9fXycgZmlsbD0nX19fZmlsbF9fXycgZmlsbD0nbm9uZScgZD0nTTI3OC40OTYgMjA5Ljg3NXYxNDMuNzdIMjUuMTJWMjguMDYyaDI1My4zNzZWMTUyLjEzJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2RvY3VtZW50JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwOSAzODEnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMjcuNSAzNTIuNTk3VjI4LjI2MmMwLS4zNDUuMjgtLjYyNS42MjUtLjYyNUgxNzYuODVjNC44OTcgMCA5LjU5MyAxLjk1MiAxMy4wNDggNS40MjNsODYuMjQgODYuNzc1YTE4LjQxMiAxOC40MTIgMCAwMTUuMzYyIDEyLjk5djIxOS43NzNjMCAuMzQ1LS4yOC42MjUtLjYyNS42MjVIMjguMTI1YS42MjUuNjI1IDAgMDEtLjYyNS0uNjI2eicvJTNlJTNjcGF0aCBkPSdNMjc4LjUgMTI3LjgwNGgtOTYuMzc1Yy0uMzQ1IDAtLjYyNS0uMy0uNjI1LS42N1YyOC43MjInLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdkb3duJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE4IDEyJyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgZmlsbD0nYmxhY2snJTNlJTNjcGF0aCBkPSdNOC43NTUuNTJsMi40NzUgMi40NzUtLjAwNi4wMDUgNi4wMDYgNi4wMDUtMi40NzUgMi40NzVMOC43NSA1LjQ3NSAyLjc0NSAxMS40OC4yNyA5LjAwNSA2LjI3NSAzbC0uMDA1LS4wMDVMOC43NDUuNTJsLjAwNS4wMDUuMDA1LS4wMDV6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdkb3dubG9hZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNjIgMzU2JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMTc1Ljc1MyAxMjIuMjU0aDQzLjU5OGM4LjE1IDAgMTQuNzU1IDYuNjA1IDE0Ljc1NSAxNC43NTR2MTc3LjNjMCA4LjE1LTYuNjA1IDE0Ljc1NS0xNC43NTQgMTQuNzU1SDQyLjA1Yy04LjE0OCAwLTE0Ljc1NC02LjYwNS0xNC43NTQtMTQuNzU0VjEzNy4wMDZjMC04LjE0OCA2LjYwNS0xNC43NTQgMTQuNzU0LTE0Ljc1NGg0My41OTgnLyUzZSUzY3BhdGggZD0nTTY2LjA0MiAyMDkuMDg4bDU0LjkxNyA1MC40OWM1LjQyIDQuOTg2IDEyLjY1MyA1LjAzNSAxOC4xMTUuMTI0bDU2LjI4NC01MC42MTRNMTMwLjU5NiAyNi42ODd2MjI2Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnZWd1aWRlJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4NCA1MTInJTNlJTNjcGF0aCBkPSdNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4eicvJTNlJTNjcGF0aCBkPSdNMjQ3LjYgMjYxLjdjLTEyLjEtMTcuOC0zMS43LTI2LjktNTguMy0yNi45LTIyLjYgMC00MS4yIDguNC01NCAyNC4zLTExLjYgMTQuMy0xNy43IDMzLjgtMTcuNyA1Ni4zIDAgNDkuNyAyOS44IDc5LjMgNzkuOCA3OS4zIDE5LjggMCAzNS45LTMuNyA1MC42LTExLjYgMi42LTEgNC40LTMuNiA0LjQtNi41di0yOS41YzAtMi41LTEuMy00LjgtMy41LTYtMi4xLTEuMy00LjgtMS4zLTctLjEtMTEuNyA2LjUtMjUuOSAxMy4yLTQyLjkgMTMuMi0xNi43IDAtMjcuOS03LjYtMzEuNi0yMS4yaDg4LjFjMy45IDAgNy0zLjEgNy03IC4xLTI4LjQtNC44LTQ5LjQtMTQuOS02NC4zem0tODAgMzIuNGMyLjQtOSA4LjYtMTguNyAyMy45LTE4LjcgMTEuNyAwIDE4LjkgNi4zIDIxLjUgMTguN2gtNDUuNHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZXh0ZXJuYWwtYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDMyIDI4OGgtMTZhMTYgMTYgMCAwMC0xNiAxNnYxNTRhNiA2IDAgMDEtNiA2SDU0YTYgNiAwIDAxLTYtNlYxMThhNiA2IDAgMDE2LTZoMTU0YTE2IDE2IDAgMDAxNi0xNlY4MGExNiAxNiAwIDAwLTE2LTE2SDQ4YTQ4IDQ4IDAgMDAtNDggNDh2MzUyYTQ4IDQ4IDAgMDA0OCA0OGgzNTJhNDggNDggMCAwMDQ4LTQ4VjMwNGExNiAxNiAwIDAwLTE2LTE2ek01MDAgMEgzNjRhMTIgMTIgMCAwMC04LjQ4IDIwLjQ4bDQ4LjE5IDQ4LjIxLTI3Mi4yIDI3Mi4yYTEyIDEyIDAgMDAwIDE3bDIyLjYzIDIyLjYzYTEyIDEyIDAgMDAxNyAwbDI3Mi4yLTI3Mi4yMSA0OC4yMSA0OC4yQTEyIDEyIDAgMDA1MTIgMTQ4VjEyYTEyIDEyIDAgMDAtMTItMTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2V5ZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTI4OCAxNDRhMTEwLjk0IDExMC45NCAwIDAwLTMxLjI0IDUgNTUuNCA1NS40IDAgMDE3LjI0IDI3IDU2IDU2IDAgMDEtNTYgNTYgNTUuNCA1NS40IDAgMDEtMjctNy4yNEExMTEuNzEgMTExLjcxIDAgMTAyODggMTQ0em0yODQuNTIgOTcuNEM1MTguMjkgMTM1LjU5IDQxMC45MyA2NCAyODggNjRTNTcuNjggMTM1LjY0IDMuNDggMjQxLjQxYTMyLjM1IDMyLjM1IDAgMDAwIDI5LjE5QzU3LjcxIDM3Ni40MSAxNjUuMDcgNDQ4IDI4OCA0NDhzMjMwLjMyLTcxLjY0IDI4NC41Mi0xNzcuNDFhMzIuMzUgMzIuMzUgMCAwMDAtMjkuMTl6TTI4OCA0MDBjLTk4LjY1IDAtMTg5LjA5LTU1LTIzNy45My0xNDRDOTguOTEgMTY3IDE4OS4zNCAxMTIgMjg4IDExMnMxODkuMDkgNTUgMjM3LjkzIDE0NEM0NzcuMSAzNDUgMzg2LjY2IDQwMCAyODggNDAweicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdmYWNlYm9vayc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY2clM2UlM2NnJTNlJTNjcGF0aCBkPSdNNDUyIDBINjBDMjYuOTE2IDAgMCAyNi45MTYgMCA2MHYzOTJjMCAzMy4wODQgMjYuOTE2IDYwIDYwIDYwaDM5MmMzMy4wODQgMCA2MC0yNi45MTYgNjAtNjBWNjBjMC0zMy4wODQtMjYuOTE2LTYwLTYwLTYwem0yMCA0NTJjMCAxMS4wMjgtOC45NzIgMjAtMjAgMjBIMzM4VjMwOWg2MS43OUw0MTAgMjQ3aC03MnYtNDNjMC0xNi45NzUgMTMuMDI1LTMwIDMwLTMwaDQxdi02MmgtNDFjLTUwLjkyMyAwLTkxLjk3OCA0MS4yNS05MS45NzggOTIuMTc0VjI0N0gyMTZ2NjJoNjAuMDIydjE2M0g2MGMtMTEuMDI4IDAtMjAtOC45NzItMjAtMjBWNjBjMC0xMS4wMjggOC45NzItMjAgMjAtMjBoMzkyYzExLjAyOCAwIDIwIDguOTcyIDIwIDIwdjM5MnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2ZpbGUtYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4NCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMjg4IDI0OHYyOGMwIDYuNi01LjQgMTItMTIgMTJIMTA4Yy02LjYgMC0xMi01LjQtMTItMTJ2LTI4YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0tMTIgNzJIMTA4Yy02LjYgMC0xMiA1LjQtMTIgMTJ2MjhjMCA2LjYgNS40IDEyIDEyIDEyaDE2OGM2LjYgMCAxMi01LjQgMTItMTJ2LTI4YzAtNi42LTUuNC0xMi0xMi0xMnptMTA4LTE4OC4xVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDhDMCAyMS41IDIxLjUgMCA0OCAwaDIwNC4xQzI2NC44IDAgMjc3IDUuMSAyODYgMTQuMUwzNjkuOSA5OGM5IDguOSAxNC4xIDIxLjIgMTQuMSAzMy45em0tMTI4LTgwVjEyOGg3Ni4xTDI1NiA1MS45ek0zMzYgNDY0VjE3NkgyMzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjQ4SDQ4djQxNmgyODh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2ZpbGUtcGRmJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM4NCA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4em0yNTAuMi0xNDMuN2MtMTIuMi0xMi00Ny04LjctNjQuNC02LjUtMTcuMi0xMC41LTI4LjctMjUtMzYuOC00Ni4zIDMuOS0xNi4xIDEwLjEtNDAuNiA1LjQtNTYtNC4yLTI2LjItMzcuOC0yMy42LTQyLjYtNS45LTQuNCAxNi4xLS40IDM4LjUgNyA2Ny4xLTEwIDIzLjktMjQuOSA1Ni0zNS40IDc0LjQtMjAgMTAuMy00NyAyNi4yLTUxIDQ2LjItMy4zIDE1LjggMjYgNTUuMiA3Ni4xLTMxLjIgMjIuNC03LjQgNDYuOC0xNi41IDY4LjQtMjAuMSAxOC45IDEwLjIgNDEgMTcgNTUuOCAxNyAyNS41IDAgMjgtMjguMiAxNy41LTM4Ljd6bS0xOTguMSA3Ny44YzUuMS0xMy43IDI0LjUtMjkuNSAzMC40LTM1LTE5IDMwLjMtMzAuNCAzNS43LTMwLjQgMzV6bTgxLjYtMTkwLjZjNy40IDAgNi43IDMyLjEgMS44IDQwLjgtNC40LTEzLjktNC4zLTQwLjgtMS44LTQwLjh6bS0yNC40IDEzNi42YzkuNy0xNi45IDE4LTM3IDI0LjctNTQuNyA4LjMgMTUuMSAxOC45IDI3LjIgMzAuMSAzNS41LTIwLjggNC4zLTM4LjkgMTMuMS01NC44IDE5LjJ6bTEzMS42LTVzLTUgNi0zNy4zLTcuOGMzNS4xLTIuNiA0MC45IDUuNCAzNy4zIDcuOHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZmxhZyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTMzNi4xNzQgODBjLTQ5LjEzMiAwLTkzLjMwNS0zMi0xNjEuOTEzLTMyLTMxLjMwMSAwLTU4LjMwMyA2LjQ4Mi04MC43MjEgMTUuMTY4YTQ4LjA0IDQ4LjA0IDAgMDAyLjE0Mi0yMC43MjdDOTMuMDY3IDE5LjU3NSA3NC4xNjcgMS41OTQgNTEuMjAxLjEwNCAyMy4yNDItMS43MSAwIDIwLjQzMSAwIDQ4YzAgMTcuNzY0IDkuNjU3IDMzLjI2MiAyNCA0MS41NjJWNDk2YzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtODMuNDQzQzEwOS44NjkgMzk1LjI4IDE0My4yNTkgMzg0IDE5OS44MjYgMzg0YzQ5LjEzMiAwIDkzLjMwNSAzMiAxNjEuOTEzIDMyIDU4LjQ3OSAwIDEwMS45NzItMjIuNjE3IDEyOC41NDgtMzkuOTgxQzUwMy44NDYgMzY3LjE2MSA1MTIgMzUyLjA1MSA1MTIgMzM1Ljg1NVY5NS45MzdjMC0zNC40NTktMzUuMjY0LTU3Ljc2OC02Ni45MDQtNDQuMTE3QzQwOS4xOTMgNjcuMzA5IDM3MS42NDEgODAgMzM2LjE3NCA4MHpNNDY0IDMzNmMtMjEuNzgzIDE1LjQxMi02MC44MjQgMzItMTAyLjI2MSAzMi01OS45NDUgMC0xMDIuMDAyLTMyLTE2MS45MTMtMzItNDMuMzYxIDAtOTYuMzc5IDkuNDAzLTEyNy44MjYgMjRWMTI4YzIxLjc4NC0xNS40MTIgNjAuODI0LTMyIDEwMi4yNjEtMzIgNTkuOTQ1IDAgMTAyLjAwMiAzMiAxNjEuOTEzIDMyIDQzLjI3MSAwIDk2LjMyLTE3LjM2NiAxMjcuODI2LTMydjI0MHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZmxhbWUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzg0IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00yMTYgMjQuMDFjMC0yMy44LTMxLjE2LTMzLjExLTQ0LjE1LTEzLjA0Qzc2LjU1IDE1OC4yNSAyMDAgMjM4LjczIDIwMCAyODhjMCAyMi4wNi0xNy45NCA0MC00MCA0MHMtNDAtMTcuOTQtNDAtNDBWMTgyLjEzYzAtMTkuMzktMjEuODYtMzAuNzYtMzcuNzMtMTkuNjhDMzAuNzUgMTk4LjM4IDAgMjU3LjI4IDAgMzIwYzAgMTA1Ljg3IDg2LjEzIDE5MiAxOTIgMTkyczE5Mi04Ni4xMyAxOTItMTkyYzAtMTcwLjI5LTE2OC0xOTIuODUtMTY4LTI5NS45OXpNMTkyIDQ2NGMtNzkuNCAwLTE0NC02NC42LTE0NC0xNDQgMC0yOC42NiA4LjU2LTY0LjcxIDI0LTg4djU2YzAgNDguNTIgMzkuNDggODggODggODhzODgtMzkuNDggODgtODhjMC02NC4yNy04OC0xMjAtNjQtMjA4IDQwIDg4IDE1MiAxMjEuNzcgMTUyIDI0MCAwIDc5LjQtNjQuNiAxNDQtMTQ0IDE0NHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZ2VtJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDU3NiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDY0IDBIMTEyYy00IDAtNy44IDItMTAgNS40TDIgMTUyLjZjLTIuOSA0LjQtMi42IDEwLjIuNyAxNC4ybDI3NiAzNDAuOGM0LjggNS45IDEzLjggNS45IDE4LjYgMGwyNzYtMzQwLjhjMy4zLTQuMSAzLjYtOS44LjctMTQuMkw0NzQuMSA1LjRDNDcxLjggMiA0NjguMSAwIDQ2NCAwem0tMTkuMyA0OGw2My4zIDk2aC02OC40bC01MS43LTk2aDU2Ljh6bS0yMDIuMSAwaDkwLjdsNTEuNyA5NkgxOTFsNTEuNi05NnptLTExMS4zIDBoNTYuOGwtNTEuNyA5Nkg2OGw2My4zLTk2em0tNDMgMTQ0aDUxLjRMMjA4IDM1MiA4OC4zIDE5MnptMTAyLjkgMGgxOTMuNkwyODggNDM1LjMgMTkxLjIgMTkyek0zNjggMzUybDY4LjItMTYwaDUxLjRMMzY4IDM1MnonLyUzZSUzYy9zdmclM2VcIixcbiAgICAnZ2xvYmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzMzLjQ1IDMzMy40MyclM2UlM2NwYXRoIGQ9J00xNjYuNzIgMTkuOTk4Qzg1LjgyIDE5Ljk5OCAyMCA4NS44MTggMjAgMTY2LjcxNXM2NS44MyAxNDYuNzE3IDE0Ni43MyAxNDYuNzE3IDE0Ni43MTYtNjUuODIgMTQ2LjcxNi0xNDYuNzE3LTY1LjgzLTE0Ni43MTctMTQ2LjczLTE0Ni43MTd6bTQxLjU3NyA5Mi40MjRjLjgyMyAyLjgxIDIuNjIzIDUuOTE2IDUuNDM0IDkuMzg2bDEuMTMgMS41NGMuNDcuNjQ4IDEuMDgyIDEuMzQyIDEuNjcgMi4wMzZhMTIyLjUyIDEyMi41MiAwIDAwLTYuNTE2LTEuNmwtMy42Ny0xMS4xODZjLjc0Mi0uMDIzIDEuMzktLjA5MyAxLjk1My0uMTc2em0tMTMuODA4IDIuNjdsMy45MDQgNi4yNDYtLjMxOC4wMzUtMS42NDcgMS4yOTRjLTEuMjQ4IDEuMDEyLTEwLjU4Ny42NDctMTMuODkyLS43MDZhNTEuNzcgNTEuNzcgMCAwMC0uNDM1LTJsMS44MjMgMS4zNTQgMi40ODItLjQxMmExMS4xNTMgMTEuMTUzIDAgMDA4LjA4LTUuODF6bS0yNy43NyAxODIuMzQ0Yy0zMC40ODggMC01OS41NC0xMC40OC04Mi44NzUtMjkuNjg3YTI1LjE3IDI1LjE3IDAgMDAyLjY3LTEuOTA2bDMuMDctMi41NzYtMi43My04LjE5OCAzLjk2NS0xMi40OS4zMy0xLjk5YzAtNC43NjMtMS44OTUtMTAuMjY3LTYuOTMtMTEuMjU1LS41NzUtLjIzNS0yLjA1Ny0yLjU3Ni0yLjk0LTMuMi0yLjUwNC0xLjgzNC00LjQ5Mi00LjUyNy02LjkyNy00LjUyN2gtLjAyNGMtLjQ0OCAwLTEuNzE4LjcxNy0yLjQ4My4yMTItLjY4Mi0uNDM1LTEuNTc2LS4yOTQtMi41NC0uNzc2LS41NzctLjI3LTEuNTQyLS40MjMtMS40MTItLjIzNWEzMC4xOTIgMzAuMTkyIDAgMDEtMy4zMTctNi4yNDdjLS45MDYtMi41My0xLjcxNy0zLjc4Ny01Ljk3NS04LjU3NC0yLjgtMy4xNzctMy40Ny0zLjg3LTYuMDU3LTUuMDgybC0xLjA4Mi0uNDk0Yy0xLjA5NC0uNTQtMS44MS0xLjA5NC0yLjUxNy0xLjYtMS4xMTctLjgtMi41MDUtMS44MS00LjUxNy0yLjYzNS0xLjY5NC0uNjk1LTIuMjM1LTEuMTA3LTMuODctMi40OTUtLjU4OC0uNTMtMS4yODItMS4xMTctMi4xMTctMS42NThhMTMxLjc5NCAxMzEuNzk0IDAgMDEtMi40NDYtMjUuMzFsLjAyNC0xLjYyNGMxLjI5NS0zLjM2NCAyLjQ5NS05LjA2OCAxLjkxOC0xMS45NjItLjAzNS0uNzI4LjQyMy0zLjAxLjcwNi00LjM2My40ODItMi4zNzYuODk0LTQuNzI4Ljg0Ny01Ljg4LjI0OC0uOTkgMi0zLjY3IDIuOTMtNS4xMDYgMS4yMzUtMS45MDQgMi4yOTQtMy42NyAyLjc3Ni00Ljg0NS40OTQtMS4yIDMuMjEtNS4zNzUgNC44NDYtNy44OGwyLjczLTQuMjhjLjcxNi0xLjExOCAyLjM3NS0zLjc2NSAxLjc0LTYuNjgyIDMuMDkzLTIuMTg4IDcuMDgtNS4wMjIgNy41OTgtNS40NTcuNjM1LS42MzUgNS45NS02LjQ0NS41MDYtMTYuNTM3LS4xNzYtLjMzIDEuODctLjU5IDEuNzg4LS43My40Ni0uODQ3IDMuMjM1LTIuMjM1IDMuMjM1LTQuMDkzdi0uNDM3YzAtMy41ODcgMS40LTYuMzk4IDQuNTUtNi4zOThoMS45NTNjLjcwNiAwIDEuNC0yLjA1OCAyLjA0Ny0yLjE3Nmw0LjggMS4xNjQgOS45MzgtNC4xODcgMS4wNi0yLjJjLjAxLS4wMSAxLjA1OC0yLjAzNCAzLjI3LTMuNjEgMy4yOTItMi4zNjQgNC4yOTItMy44NTggNS44MzMtNi40MWwtNC43MTUtMy41NCA1LjU2MyAyLjUwNWMuNjQ3LS42MzUgMS45NTItNC45NzUgNS4zNC04LjYxIDMuOTQtNC4yMzQgNi4xOTgtOC4yMSA1Ljk0LTguMjFoMi40NThsMS43NCAxLjEwNmMuNTMtLjU4OCAyLjc0Mi0xLjUzIDQuNDQ3LTMuODM0IDIyLjY0Mi04LjMwNCA0Ny42MTItOS4zMjcgNzEuMTM2LTQuNTI4LTMuMTA2LjA3LTYuMDIzIDEuNC0xMC40NyAzLjUzLTEuMDguNTE3LTIuMDQ2IDEuMi0yLjYyMiAxLjM4Ny0xLjAxMi4yNDYtMi41NC45NjMtNC4xNTIgMS42OTMtLjk3Ni40MjMtMi43ODggMS4yNy0zIDEuMzY0LTQuMDEgMC03LjQ2OCAzLjMwNS0xMC4yMiA2LjkxNi0zLjQ0NiA2LjI3LTIuNjEgMTAuMDQ1LTEuNTA2IDExLjkwM2wyLjI1OCAzLjk4N2gxLjYzNWMtMi4xNCAwLTQuMTI4IDMuMTMtNS4zNjMgNC4yMWwtNS45NC03LjMyNy01LjYxLTExLjgzMi05LjgxIDguNDd2NC4zOWwtNi4wMS0yLjA1OC02LjA5MiAxMi43MDMgOC42OCAxMS45NzQgMy40NDYtMy4wMzZ2LjgyM2w1LjUwNS0xLjRjLS4xMyAxLjM4OC0uNDEzIDIuNzUyLjA0NiA0LjAyM2wtMTYuMTE0IDMuNzQgMS4zODggNmMuMjQ3Ljk2My4zMDYgMi44NTcuMzg4IDMuOTk4LTIuMjEgOC43NzQtLjIxMiAxMS40NDQuNTc2IDEyLjQ2OGwxLjQ0NyAxLjZjLTIuMDM0IDIuMDU4LTMuMzc1IDQuMzUyLTQuMDQ1IDUuNDgtLjkxNyAxLjA3LTIuNTg4IDIuOTY1LTIuOTQgNS43NjQtLjUzLjY3LTEuNzA1IDEuNzQtMi41NCAyLjMwNWwtMS4wNy42NmMtMy44NiAyLjM2My03LjQ3IDQuNzI3LTkuMjkzIDcuNzYyLTIuMjcgMy44MjMtMy43MDUgNy4xNzUtNC4yNDYgOS45NzQtLjYyMyAzLjExOC0uNjIzIDUuNTUzLS42MjMgOS4yMzQgMCAxLjEzLS4wNiAyLjA5NC0uMTE4IDIuOTg4LS4xMTggMS45NTItLjI0NyAzLjk3Ni4yIDYuNjEuOTQgNS42MzQgOC42OTIgMTUuNzUgOC43OTggMTUuODc4IDIuNDIzIDMuMDM1IDUuMjkzIDYuNDM0IDguNjIgOC40MSAxLjcxOCAxLjAzNSAzLjk0IDIuODcgNC44NiAzLjY0NiAyLjIxIDIuNiA3LjM1IDQuODM0IDEyLjM4NCAyLjkxNyAxLjQxLS41NCAyLjgzNS0uOCA0LjIxLTEuMTMgMi41NDItLjU2NCA1LjQzNS0xLjE4NyA4LjI4LTIuNzk4LjY2LS4zNzYgMS4yNDgtLjcxNyAxLjc5LS45NjQgMi4xOTggMy42NiA2LjcxNSA1LjQ3IDExLjI5IDMuOTY1bC4wOTQtLjAzNWMuMTU0Ljk0LjI5NSAxLjgxLjQ0OCAyLjYyMy4xNjUuOC4zMDYgMS40OTQuMjk0IDIuODgyLS4wOTQgMi0uMjcgNS43MjggMi43NjQgOC43ODYuNi42IDEuNDk0IDEuMzE4IDIuNDU4IDIuMTE4LjQxMi4zMTggMS4wMjMuOCAxLjQ5NCAxLjIyMy4yIDIuNTE4LjczIDYuNzMgMi4wNDcgOS4zNTIuNjM1IDEuMjM1LjggMi4xODggMS4wMjMgMS43NjQtMS4xMTcgMi4yMS0zLjMxNyA4LjIyMi0zLjU0IDguOTc0LTEuMzY0IDYuMTQtLjU3NiA4LjQ4LS4zNCA5LjE1Ljk1MiAyLjk0IDIuNzQgNS42OTQgNS40NjggOC40MS4zMy4zMy40ODIuODEzLjggMiAuMzc2IDEuMzY1Ljg4MiAzLjIyNCAyLjE3NiA0Ljk1My41MTguNzMgMS43MDUgMy43NCAyLjI5NCA1LjU2M2wuNzQgNC4wOTMtLjAxIDExLjM1IDYuNzI3LS45NjVzMTEuMDMzLTEuNjEgMTMuMTg1LTIuMTUyYzIuNTA1LS42NDcgMTAuOTg2LTQuNTY0IDE0LjAzMi03LjU5OCAxLjU1My0xLjU1MyAyLjI5NC0zIDIuNzg4LTMuOTY0LjQtLjc0LjQ0Ny0uODM0LjgzNS0xLjE3NSAyLjUxNy0yIDcuMDkyLTUuNTE2IDcuMDkyLTUuNTE2bDIuNDgyLTEuOTA2LS41NC04LjU3NCA0LjIyMi01LjY5MyAzLjU5OC0zLjY3Yy0uODQ3IDIuMDIzLTEuOTE3IDQuNjU4LTIuMzA1IDYuMi0uNzA2IDIuNzk4LS4yMzUgNi4xNzQgMiA5LjAxbDIuNjEgMS42MjJoMi44NmwyLjEwNC43ODdjMi4xODgtLjcxNyAzLjkxNy0xLjggNS42MjItMy40MjMuNTE3LS40OTQgMS4wMS0uNzE3IDEuMzI4LS45NTMgMy4yMS0yLjExNiA2LjMxNi03LjUyNyA3LjA1Ny0xMC40MmwyLjAzNS03LjUyOGMuNTg4LTIuMzQgMS4xODgtNi44NTcgMS4xODgtOC45OTggMC0yLjEzLS41NjUtNC40OC0uNjgyLTQuOTRsLTMuNjgtMTQuODU1LTEwLjI5MyAxOS4zMzVhMjIuNzE1IDIyLjcxNSAwIDAwLTMuNTY0IDIuMTE3Yy4wMS0uODk0LS4wNzItMS42MjMtLjE3Ny0yLS4yNDctLjk4OC0uNzY1LTUuNTQtMS4yMjMtOS43MTUuNzMtMS41MyAxLjY4Mi0zLjMwNSAyLjIyMy00LjA3Ljk2NC0xLjI4MiAxLjUxNy0yLjU2NCAxLjk1Mi0zLjU3Ni41My0xLjIyMi43ODgtMS44IDEuNjQ3LTIuNTI4IDMuMTY0LTIuNjIzIDUuMjgtNS41NCA2Ljg0NS03LjY3bDEuMjIzLTEuNjM0YzEuNjgyLTIuMjEgNC4zMDUtNS43NCA1LjE3NS03LjEwNCAxLjQ0Ny0yLjE1MiAyLjQ0Ni02LjAxIDIuOTA1LTguMDkybDEuODctOC40OTItNy4wNDUgMS4xNzZjLjg0Ny0uNDIzIDEuNjEtLjgyMyAyLjEzLTEuMTc2LjQxLS4yNyAxLjEyOC0uNjgyIDEuOTQtMS4xNCAzLjIxLTEuOCA1LjYxLTMuMTg4IDcuMTA0LTQuNjgybDMuMTUtMi4yOTRjMi43NjUtMS44MzUgNi4yMS00LjEyOCA2LjY0Ni04LjA5Mi42MTIuNDgyIDEuMjYuOTQgMi4wMSAxLjI5NC41MDcuMzE4IDEuNzE4IDEuNjQ3IDIuNjk0IDIuODcuNzMgMS43MTcgMi41NjQgNi4wNDYgMi45NCA3LjU2My4yNiAxLjAyMiAxLjAyMyAyLjkyOCAxLjg1OCA0LjkxNS42NDcgMS41MDYgMS4zNTMgMy4wOTMgMS41MDYgMy4yMzUgMCAxLjMzLjYgNS4zMDUgMi44MSA3LjgzMy04LjcwNyA2My41Ny02My40MjMgMTEyLjczMy0xMjkuMzk1IDExMi43MzN6bTEuODgtMTg3LjU2NmMtLjA0NiAwLS4xNTIuMDI0LS4xODcuMDI0LS41NTMtLjEwNi0yLjI5NC0uNjctMy42Ny0xLjIxbC0xLjMxNy0uNTItMS40LjEzYy0uNDk0LjA2LTEuMjIzLjE1My0yLjAyMy4yNDcuMDQ3LS4wNy4xNjUtLjI0Ni4yLS4yOC40MTItLjYyNC44LTEuMjEyIDIuMzg4LTEuNzE4IDIuOTA2LS45NzYgNC40Ny0yLjMzIDUuMDEyLTMuMDM1LjgzNS0uMjYgMi44MjMtLjY2IDQuNDIyLS45MTdsMi40NyAxLjYzNWMuNzMuODcgMS43NjQgMS44MzUgMy4yNTggMi43NzZsLTkuMzk4IDIuNjgzLjI0Ny4xODd6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xhbmd1YWdlLWFycm93JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM2IDIxJyUzZSUzY2cgZmlsbC1ydWxlPSdldmVub2RkJyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCA0KSclM2UlM2NwYXRoIGQ9J00yNC4wNjIgMTIuNzVjLjUyIDAgLjkzOC0uNDE4LjkzOC0uOTM3VjEuMTg4YS45MzUuOTM1IDAgMDAtLjkzOC0uOTM4SDEzLjEyNXYxMi41aDEwLjkzN3ptLTEyLjE4NyAwVi4yNUguOTM3QS45MzUuOTM1IDAgMDAwIDEuMTg4djEwLjYyNWMwIC41MTkuNDE4LjkzNy45MzcuOTM3aDEwLjkzOHptLTguMjM0LTIuNWgtLjg5NWEuNDcyLjQ3MiAwIDAxLS40NDUtLjYyMWwyLjI0Ni02LjYwNmEuNDY3LjQ2NyAwIDAxLjQ0NS0uMzE2aDEuMjdjLjE5OSAwIC4zNzkuMTI5LjQ0NS4zMTZMOC45NTMgOS42M2EuNDcuNDcgMCAwMS0uNDQ1LjYyMWgtLjg5NWEuNDk3LjQ5NyAwIDAxLS40NDktLjMzNmwtLjM2Ny0xLjI0Nkg0LjQ0NUw0LjA5IDkuOTFhLjQ3Mi40NzIgMCAwMS0uNDUuMzR6bTE3LjEyLS4wNjZhMTMuNTk0IDEzLjU5NCAwIDAxLTEuMzgyLS45NzNjLS40MjYuMzQtLjg4Ny42NjgtMS4zODMuOTczYS40Ny40NyAwIDAxLS42NTItLjE2OGwtLjMwOS0uNTQzYS40NjguNDY4IDAgMDEuMTY0LS42MzNjLjM2My0uMjIzLjcwMy0uNDU3IDEuMDItLjcwM2E5LjA2MSA5LjA2MSAwIDAxLS44Mi0xLjAwNC40NjcuNDY3IDAgMDEuMTQ0LS42NjhsLjI1NC0uMTUyLjI4NS0uMTY4YS40NzIuNDcyIDAgMDEuNjI1LjEzMmMuMTk1LjI3NC40MjIuNTQ3LjY4LjgxNy41MjctLjU1NS45My0xLjEzIDEuMTcyLTEuNjg4aC00LjQ2NWEuNDcuNDcgMCAwMS0uNDY5LS40Njh2LS42MjVhLjQ3LjQ3IDAgMDEuNDY5LS40N2gyLjVWMy4yMmEuNDcuNDcgMCAwMS40NjgtLjQ2OWguNjI1YS40Ny40NyAwIDAxLjQ3LjQ2OXYuNjI1aDIuNWEuNDcuNDcgMCAwMS40NjguNDY5di42MjVhLjQ3LjQ3IDAgMDEtLjQ2OS40NjhoLS40NDVjLS4yNy45MjItLjg0OCAxLjg1Mi0xLjY2OCAyLjczLjMyOC4yNS42NjguNDg5IDEuMDIuNzA0YS40Ny40NyAwIDAxLjE2LjYzM2wtLjMwOS41NDNhLjQ3LjQ3IDAgMDEtLjY1Mi4xNjh6TTYuMzY4IDcuMTlsLS40MjYtMS40NjRjLS4xMzYtLjQ3My0uMzA0LTEuMjk3LS4zMDQtMS4yOTdoLS4wMnMtLjE2OC44MjQtLjMwNSAxLjI5N0w0Ljg4IDcuMTloMS40ODh6Jy8lM2UlM2MvZyUzZSUzY2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNSAxKSclM2UlM2NwYXRoIGQ9J00zMC4xODggMS41M3YxMC42NTdIMzVsLTUuNjU3IDUuNjU3LTUuNjU3LTUuNjU3aDQuNVYxLjUzaDJ6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsYW5ndWFnZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNSAxMyclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J00yNC4wNjIgMTIuNzVjLjUyIDAgLjkzOC0uNDE4LjkzOC0uOTM3VjEuMTg4YS45MzUuOTM1IDAgMDAtLjkzOC0uOTM4SDEzLjEyNXYxMi41aDEwLjkzN3ptLTEyLjE4NyAwVi4yNUguOTM3QS45MzUuOTM1IDAgMDAwIDEuMTg4djEwLjYyNWMwIC41MTkuNDE4LjkzNy45MzcuOTM3aDEwLjkzOHptLTguMjM0LTIuNWgtLjg5NWEuNDcyLjQ3MiAwIDAxLS40NDUtLjYyMWwyLjI0Ni02LjYwNmEuNDY3LjQ2NyAwIDAxLjQ0NS0uMzE2aDEuMjdjLjE5OSAwIC4zNzkuMTI5LjQ0NS4zMTZMOC45NTMgOS42M2EuNDcuNDcgMCAwMS0uNDQ1LjYyMWgtLjg5NWEuNDk3LjQ5NyAwIDAxLS40NDktLjMzNmwtLjM2Ny0xLjI0Nkg0LjQ0NUw0LjA5IDkuOTFhLjQ3Mi40NzIgMCAwMS0uNDUuMzR6bTE3LjEyLS4wNjZhMTMuNTk0IDEzLjU5NCAwIDAxLTEuMzgyLS45NzNjLS40MjYuMzQtLjg4Ny42NjgtMS4zODMuOTczYS40Ny40NyAwIDAxLS42NTItLjE2OGwtLjMwOS0uNTQzYS40NjguNDY4IDAgMDEuMTY0LS42MzNjLjM2My0uMjIzLjcwMy0uNDU3IDEuMDItLjcwM2E5LjA2MSA5LjA2MSAwIDAxLS44Mi0xLjAwNC40NjcuNDY3IDAgMDEuMTQ0LS42NjhsLjI1NC0uMTUyLjI4NS0uMTY4YS40NzIuNDcyIDAgMDEuNjI1LjEzMmMuMTk1LjI3NC40MjIuNTQ3LjY4LjgxNy41MjctLjU1NS45My0xLjEzIDEuMTcyLTEuNjg4aC00LjQ2NWEuNDcuNDcgMCAwMS0uNDY5LS40Njh2LS42MjVhLjQ3LjQ3IDAgMDEuNDY5LS40N2gyLjVWMy4yMmEuNDcuNDcgMCAwMS40NjgtLjQ2OWguNjI1YS40Ny40NyAwIDAxLjQ3LjQ2OXYuNjI1aDIuNWEuNDcuNDcgMCAwMS40NjguNDY5di42MjVhLjQ3LjQ3IDAgMDEtLjQ2OS40NjhoLS40NDVjLS4yNy45MjItLjg0OCAxLjg1Mi0xLjY2OCAyLjczLjMyOC4yNS42NjguNDg5IDEuMDIuNzA0YS40Ny40NyAwIDAxLjE2LjYzM2wtLjMwOS41NDNhLjQ3LjQ3IDAgMDEtLjY1Mi4xNjh6TTYuMzY4IDcuMTlsLS40MjYtMS40NjRjLS4xMzYtLjQ3My0uMzA0LTEuMjk3LS4zMDQtMS4yOTdoLS4wMnMtLjE2OC44MjQtLjMwNSAxLjI5N0w0Ljg4IDcuMTloMS40ODh6Jy8lM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsYXdub3cnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzgyLjQgMjU0LjEzJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTIwIDExOC43NTRWMjAuNDI4aDIwLjg0djgxLjE1NGgzOS45MDR2MTcuMjMzSDIwdi0uMDZ6bTEzOC4wNDggMGwtNy4xNS0yMy40MDVoLTM1Ljg3MmwtNy4xNSAyMy40MDRIODUuMzg4TDEyMC4wOTggMjBoMjUuNDgzbDM0LjgzNCA5OC43NTRoLTIyLjM2NnptLTEyLjEtNDAuODgzYy02LjYtMjEuMjA0LTEwLjMyOC0zMy4xODItMTEuMTIyLTM1Ljk5M2E4MS40MjMgODEuNDIzIDAgMDEtMS43NzItNi42Yy0xLjQ2NyA1Ljc0NC01Ljc0NCAxOS45MjItMTIuNzEgNDIuNTk0aDI1LjYwNHpNMjg4LjcgMTE4Ljc1NGgtMjMuNzdsLTEzLjMyMy01MS42MzhjLS40OS0xLjgzMy0xLjM0NC01LjYyMi0yLjUwNi0xMS40MjgtMS4xNi01Ljc0NC0xLjg5My05LjY1NS0yLjA3Ny0xMS42MS0uMjQ0IDIuNDQzLS45MTcgNi4yOTMtMi4wMTcgMTEuNjdzLTEuODk0IDkuMTY4LTIuNTA2IDExLjQ5bC0xMy4yNiA1MS41MTZoLTIzLjcxbC0yNC45OTQtOTguMzI2aDIwLjUzM2wxMi41ODggNTMuNjU1YzIuMiA5LjkgMy43OSAxOC41MTYgNC43NjcgMjUuNzg4LjI0NC0yLjU2Ni44NTYtNi41MzggMS44MzMtMTEuODU0Ljk3OC01LjM3OCAxLjg5NC05LjUzMyAyLjc1LTEyLjQ2NmwxNC4zLTU1LjEyaDE5LjY3N2wxNC4zIDU1LjEyYy42MSAyLjQ0NCAxLjQwNiA2LjIzMyAyLjM4MyAxMS4zMDUuOTE3IDUuMDcyIDEuNjUgOS40MSAyLjE0IDEzLjA3OC40MjctMy40ODMgMS4xNi03Ljg4MyAyLjEzOC0xMy4wNzguOTc4LTUuMTk0IDEuODk0LTkuNDcyIDIuNjktMTIuNzFsMTIuNTI3LTUzLjY1NmgyMC41MzNMMjg4LjcgMTE4Ljc1M3ptMjkuMTUtMjguNTM4VjczLjQxaDM2LjExN3YxNi44MDVIMzE3Ljg1em0tMjEwLjU4NSAxNDIuNTdIODAuNzQzbC00Mi43NzctNzQuNDMyaC0uNjFjLjg1NSAxMy4xNCAxLjI4MiAyMi40OSAxLjI4MiAyOC4xMXY0Ni4yNkgyMFYxMzQuNGgyNi4yNzdsNDIuNzE2IDczLjYzN2guNDljLS42NzMtMTIuNzcyLTEuMDQtMjEuODE2LTEuMDQtMjcuMTMzdi00Ni41NjZoMTguODIydjk4LjQ0OHptMTE0LjAzMi00OS4zMTZjMCAxNi4yNTUtNC4wMzMgMjguNzgzLTEyLjEgMzcuNTIyLTguMDY3IDguNzQtMTkuNjE2IDEzLjE0LTM0LjcxIDEzLjE0LTE1LjA5NSAwLTI2LjY0NS00LjQtMzQuNzEyLTEzLjE0cy0xMi4xLTIxLjMyNy0xMi4xLTM3LjY0NGMwLTE2LjM3OCA0LjAzMy0yOC44NDQgMTIuMTYtMzcuNTIyIDguMDY4LTguNjE3IDE5LjY3OC0xMi45NTUgMzQuODM0LTEyLjk1NSAxNS4wOTMgMCAyNi42NDMgNC4zNCAzNC42NDggMTMuMDggNy45NDUgOC42NzYgMTEuOTggMjEuMjAzIDExLjk4IDM3LjUyem0tNzEuODA1IDBjMCAxMSAyLjA3OCAxOS4yNSA2LjIzMyAyNC44MSA0LjE1NiA1LjU2MiAxMC4zOSA4LjM3MyAxOC43IDguMzczIDE2LjYyMiAwIDI0LjkzMy0xMS4wNiAyNC45MzMtMzMuMTgzIDAtMjIuMTgzLTguMjUtMzMuMjQ0LTI0LjgxLTMzLjI0NC04LjMxMiAwLTE0LjU0NSAyLjgxLTE4Ljc2MiA4LjM3Mi00LjE1NSA1LjU2LTYuMjk0IDEzLjg3Mi02LjI5NCAyNC44NzJ6bTE4Ny45NzUgNDkuMzE2aC0yMy43NzJsLTEzLjMyMi01MS43Yy0uNDktMS44MzItMS4zNDQtNS42Mi0yLjUwNi0xMS40MjctMS4xNi01Ljc0NS0xLjg5NC05LjY1Ni0yLjA3OC0xMS42MTItLjI0NSAyLjQ0NC0uOTE4IDYuMjk0LTIuMDE4IDExLjY3Mi0xLjEgNS4zNzgtMS44OTQgOS4xNjctMi41MDYgMTEuNDlsLTEzLjI2IDUxLjUxNWgtMjMuNzEyTDIyOS4xNzggMTM0LjRoMjAuNTMzbDEyLjU5IDUzLjY1NGMyLjIgOS45IDMuNzkgMTguNTE2IDQuNzY3IDI1Ljc4OC4yNDQtMi41NjcuODU2LTYuNTQgMS44MzMtMTEuODU1Ljk3OC01LjM3OCAxLjg5NC05LjUzMyAyLjc1LTEyLjQ2NmwxNC4zLTU1LjEyaDE5Ljc0bDE0LjMgNTUuMTJjLjYxIDIuNDQ1IDEuNDA1IDYuMjM0IDIuMzgyIDExLjMwNi45MTcgNS4wNzIgMS42NSA5LjQxIDIuMTQgMTMuMDc4LjQyNy0zLjQ4MyAxLjE2LTcuODgzIDIuMTM4LTEzLjA3OC45NzgtNS4xOTQgMS44OTQtOS40NzIgMi42OS0xMi43MWwxMi41MjctNTMuNjU2SDM2Mi40bC0yNC45MzMgOTguMzI2eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsYXllcnMnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjk2Ljk3OSAyOTYuOTc5JyUzZSUzY2cgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzZSUzY3BhdGggZD0nTTI4OS40NDMgNzkuMjI2TDE1My42NjcgMTguNjc5YTEyLjY4IDEyLjY4IDAgMDAtMTAuMzU2IDBMNy41MzYgNzkuMjI2YTEyLjcxNiAxMi43MTYgMCAwMC0uODEgMjIuODIybDEzNS43NzUgNzIuNDA1YTEyLjYyNCAxMi42MjQgMCAwMDUuOTgzIDEuNDk2YzIuMDYxIDAgNC4xMTItLjQ5NSA1Ljk5NC0xLjQ5NmwxMzUuNzc1LTcyLjQwNWExMi43IDEyLjcgMCAwMDYuNzEyLTExLjY2MSAxMi43MjQgMTIuNzI0IDAgMDAtNy41MjItMTEuMTYxem0tMTQwLjk1OSA2OS42MWwtMTA2Ljg1LTU2Ljk4IDEwNi44NS00Ny42NDZMMjU1LjM0IDkxLjg1NmwtMTA2Ljg1NiA1Ni45OHonLyUzZSUzY3BhdGggZD0nTTI3OC4yNzYgMTMzLjQwNWwtMTI5Ljc5MiA2OS4yMjgtMTI5Ljc4Ny02OS4yMjhjLTYuMjE3LTMuMzE4LTEzLjkwOC0uOTY4LTE3LjE5OCA1LjIzMi0zLjMwMiA2LjIwMS0uOTY4IDEzLjg5NyA1LjIyNyAxNy4xOThsMTM1Ljc3NSA3Mi40MjFhMTIuNzI5IDEyLjcyOSAwIDAwMTEuOTc3IDBsMTM1Ljc3NS03Mi40MjFjNi4xOTUtMy4zMDEgOC41MjgtMTAuOTk4IDUuMjI3LTE3LjE5OC0zLjMwMS02LjItMTAuOTk4LTguNTQ0LTE3LjIwNC01LjIzMnonLyUzZSUzY3BhdGggZD0nTTI3OC4yNzYgMTgzLjA2NGwtMTI5Ljc5MiA2OS4yMTgtMTI5Ljc4Ny02OS4yMThjLTYuMjE3LTMuMzE4LTEzLjkwOC0uOTU3LTE3LjE5OCA1LjIzMi0zLjMwMiA2LjIwMS0uOTY4IDEzLjg5NyA1LjIyNyAxNy4xOThsMTM1Ljc3NSA3Mi40MTZhMTIuNzI5IDEyLjcyOSAwIDAwMTEuOTc3IDBsMTM1Ljc3NS03Mi40MTZjNi4xOTUtMy4zMDEgOC41MjgtMTAuOTk4IDUuMjI3LTE3LjE5OC0zLjMwNy02LjE5LTEwLjk4Ny04LjU1LTE3LjIwNC01LjIzMnonLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsaW5rZWRpbic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOCAxNyclM2UlM2NnIGZpbGw9J25vbmUnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgLTEpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTIuMDU0IDUuMzI2YzEuMjgzIDAgMi4wODctLjg0OCAyLjA3NS0xLjkwOS0uMDEtMS4wODItLjc5Mi0xLjkwOC0yLjA1My0xLjkwOEMuODI2IDEuNTA5IDAgMi4zMzUgMCAzLjQxN2MwIDEuMDYuNzkyIDEuOTA5IDIuMDMxIDEuOTA5aC4wMjN6bTcuNTQ0IDEyLjU2N1YxMS43MmMwLS4zMzUuMDM0LS42NTkuMTIzLS45MDQuMjY4LS42NTkuODctMS4zNCAxLjg4Ni0xLjM0IDEuMzI4IDAgMS44NjQgMS4wMTYgMS44NjQgMi41djUuOTE2aDMuNjcydi02LjM0YzAtMy4zOTItMS44MDgtNC45NzctNC4yMy00Ljk3Ny0xLjkwNCAwLTIuNzgzIDEuMDE1LTMuMjc1IDEuNzY3bC0uMDQuMDYxVjYuODMzSDUuOTI2bC4wMDEuMDE4Yy4wMDUuMTcyLjA0IDEuNzI1IDAgMTEuMDQyaDMuNjcxem0tNS43MDMgMFY2LjgzM0guMjEydjExLjA2aDMuNjgzeicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnbGlzdCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMTUgMTY3JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScyNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMzQgODMuNWgtMW0xIDUwaC0xbTEtMTAwaC0xbTE0OCA1MEg3NW0xMDYgNTBINzVtMTA2LTEwMEg3NScvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ2xvYWRlcic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJyUzZSUzY3BhdGggZmlsbD0nJTIzMTMyOTRhJyBkPSdNNzMgNTBjMC0xMi43LTEwLjMtMjMtMjMtMjNTMjcgMzcuMyAyNyA1MG0zLjkgMGMwLTEwLjUgOC41LTE5LjEgMTkuMS0xOS4xUzY5LjEgMzkuNSA2OS4xIDUwJyUzZSUzY2FuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0ndHJhbnNmb3JtJyBhdHRyaWJ1dGVUeXBlPSdYTUwnIHR5cGU9J3JvdGF0ZScgZHVyPScxcycgZnJvbT0nMCA1MCA1MCcgdG89JzM2MCA1MCA1MCcgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLyUzZSUzYy9wYXRoJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdsb2NhdGlvbic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyOTIuMDkgNDAyLjYnJTNlJTNjY2lyY2xlIGN4PScxNDYuMDQ1JyBjeT0nMTQ1Ljk5OCcgcj0nMzQuMjQnIGZpbGw9J25vbmUnLyUzZSUzY3BhdGggZD0nTTI3LjU0NSAxNDUuOTk4YzAtNjUuNDQ2IDUzLjA1NC0xMTguNSAxMTguNS0xMTguNXMxMTguNSA1My4wNTQgMTE4LjUgMTE4LjVjMCAwIDEuNTE3IDI2LjQwOC0xMy4zMSA2Mi41NDMtMTQuNzk3IDM2LjA2My0xMDUuMTkgMTYxLjI1LTEwNS4xOSAxNjEuMjVTNTUuNjUzIDI0NC42MDMgNDAuODU1IDIwOC41NGMtMTQuODI3LTM2LjEzNS0xMy4zMS02Mi41NDItMTMuMzEtNjIuNTQyeicgZmlsbD0nbm9uZScvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdtYWlsX2RhcmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0OHY0MC44MDVjLTIyLjQyMiAxOC4yNTktNTguMTY4IDQ2LjY1MS0xMzQuNTg3IDEwNi40OS0xNi44NDEgMTMuMjQ3LTUwLjIwMSA0NS4wNzItNzMuNDEzIDQ0LjcwMS0yMy4yMDguMzc1LTU2LjU3OS0zMS40NTktNzMuNDEzLTQ0LjcwMUMxMDYuMTggMTk5LjQ2NSA3MC40MjUgMTcxLjA2NyA0OCAxNTIuODA1VjExMmg0MTZ6TTQ4IDQwMFYyMTQuMzk4YzIyLjkxNCAxOC4yNTEgNTUuNDA5IDQzLjg2MiAxMDQuOTM4IDgyLjY0NiAyMS44NTcgMTcuMjA1IDYwLjEzNCA1NS4xODYgMTAzLjA2MiA1NC45NTUgNDIuNzE3LjIzMSA4MC41MDktMzcuMTk5IDEwMy4wNTMtNTQuOTQ3IDQ5LjUyOC0zOC43ODMgODIuMDMyLTY0LjQwMSAxMDQuOTQ3LTgyLjY1M1Y0MDBINDh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ21haWwnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0OHY0MC44MDVjLTIyLjQyMiAxOC4yNTktNTguMTY4IDQ2LjY1MS0xMzQuNTg3IDEwNi40OS0xNi44NDEgMTMuMjQ3LTUwLjIwMSA0NS4wNzItNzMuNDEzIDQ0LjcwMS0yMy4yMDguMzc1LTU2LjU3OS0zMS40NTktNzMuNDEzLTQ0LjcwMUMxMDYuMTggMTk5LjQ2NSA3MC40MjUgMTcxLjA2NyA0OCAxNTIuODA1VjExMmg0MTZ6TTQ4IDQwMFYyMTQuMzk4YzIyLjkxNCAxOC4yNTEgNTUuNDA5IDQzLjg2MiAxMDQuOTM4IDgyLjY0NiAyMS44NTcgMTcuMjA1IDYwLjEzNCA1NS4xODYgMTAzLjA2MiA1NC45NTUgNDIuNzE3LjIzMSA4MC41MDktMzcuMTk5IDEwMy4wNTMtNTQuOTQ3IDQ5LjUyOC0zOC43ODMgODIuMDMyLTY0LjQwMSAxMDQuOTQ3LTgyLjY1M1Y0MDBINDh6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ21lbnUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzYgMjQnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsPSclMjMxMTM1NUUnJTNlJTNjcGF0aCBkPSdNMzAgMjB2NEgwdi00aDMwem02LTEwdjRIMHYtNGgzNnptMC0xMHY0SDBWMGgzNnonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3MnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzQ4LjY3IDM4MS4zMyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3MS42NjggMTUyLjQ5OGgtNTZtNTYgNDloLTE1Nm0xNTYgNTBoLTE1Nm0xMDAgNTBoLTEwMG0xNTYtMTk5aC01Nk0xMTYuMTY4IDEwMi40OThoNTV2NTBoLTU1eicvJTNlJTNjZyUzZSUzY3BhdGggZD0nTTY4LjE2NyAzMDIuNTNWMjkuNjU2YzAtLjI5Ni4yOC0uNTM2LjYyNS0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM3VjMwOC41M20wLTI0LjgyMnY0OC4wMmMwIDEyLjg5OC0xMC40NTYgMjMuMzU0LTIzLjM1NSAyMy4zNTRINTIuNjY3Yy0xMi45IDAtMjMuMzU1LTEwLjQ1Ni0yMy4zNTUtMjMuMzU1di00OC4wMicvJTNlJTNjcGF0aCBkPSdNMjkuMzEyIDMwOC45MDRWOTQuNzRjMC0uMjI2LjA1Ny0uNDEuMTI4LS40MWgzOC43MjcnLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25ld3NsZXR0ZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDA5IDM4MS4zNyclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00zMzEuNSA2Ny44NGw0NC44NDYgMjkuOTYzYTI1LjE0MyAyNS4xNDMgMCAwMTUuMTU0IDE1LjI5MlYzMjguNjJjMCAxMy45NDctMTEuMzA3IDI1LjI1My0yNS4yNTQgMjUuMjUzSDUyLjc1NGMtMTMuOTQ4IDAtMjUuMjU0LTExLjMwNy0yNS4yNTQtMjUuMjU0VjExMy4wOTNjMC01Ljk0NSAyLjA1NC0xMS40MSA1LjQ5Mi0xNS43MjVMNzcuNSA2Ny44NCcvJTNlJTNjcGF0aCBkPSdNMzgwLjYyIDMxNi40MTRMMjMxLjAzNSAxNzguODg2Yy0xNC43Ny0xMy41OC0zNC40Ny0xMy43MTItNDkuMzQ1LS4zMzVMMjguMzggMzE2LjQxNScvJTNlJTNjZyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzZSUzY3BhdGggZD0nTTI3OS4xNzggMjIwLjY4N2MzNC4zODUtMzIuMjM2IDY3LjY5NS02MS4yNDggMTAxLjQ0Mi05Mi4wNzhtLTM1Mi4yNC03LjI1NGMzNS41MSAzNC4xNiA3My4yMzcgNjYuNDk2IDEwOS4xNzggMTAwLjM3OCcvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J003Ny4zMSAxNjcuMjVWMjguMDMyYzAtLjI5Ni4yOC0uNTM2LjYyNC0uNTM2aDI1Mi43NWMuMzQ1IDAgLjYyNS4yNC42MjUuNTM2djEzOS4yMTUnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICduZXdzcGFwZXInOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTc2IDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001NTIgNjRIMTEyYy0yMC44NTggMC0zOC42NDMgMTMuMzc3LTQ1LjI0OCAzMkgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djI3MmMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZoNDk2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY4OGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6TTQ4IDM5MlYxNDRoMTZ2MjQ4YzAgNC40MTEtMy41ODkgOC04IDhzLTgtMy41ODktOC04em00ODAgOEgxMTEuNDIyYy4zNzQtMi42MTQuNTc4LTUuMjgzLjU3OC04VjExMmg0MTZ2Mjg4ek0xNzIgMjgwaDEzNmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi05NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDE3MmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY5NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyem0yOC04MGg4MHY0MGgtODB2LTQwem0tNDAgMTQwdi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEzNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMTcyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0xOTIgMHYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDM2NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnptMC0xNDR2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTAgNzJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzNjRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ25vLXZpZGVvJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwMDAgMTAwMCclM2UlM2NnJTNlJTNjZyB0cmFuc2Zvcm09J21hdHJpeCguMSAwIDAgLS4xIDAgNTExKSclM2UlM2NwYXRoIGQ9J005NjAxLjkgNDc3OS43Yy0zNS4zLTIyLjEtMjA5OS43LTIwNzcuNi00NTg1LjgtNDU2My43LTMyODcuNi0zMjkyLTQ1MjQtNDU0MS42LTQ1MzUtNDU4OC0zMC45LTEyNS44IDEwMS42LTI1My45IDIyOS42LTIyMyA2Ni4zIDE1LjQgOTEwMSA5MDI4IDkxNTguNCA5MTM0IDQ2LjQgODguMyAzNy41IDE0NS43LTMzLjEgMjE4LjYtNzUuMSA3NS4xLTE0MS4zIDgxLjctMjM0LjEgMjIuMXpNNTkzLjcgMjUxMi4yYy0yMjMtNzkuNS00MjYuMS0zMTMuNS00NzQuNy01NDcuNi0xNS41LTc3LjMtMjIuMS03NTcuMy0xNy43LTIxMTAuN2w2LjYtMTk5OC4yIDU5LjYtMTI1LjhjNzAuNi0xNTIuNCAyMTQuMi0zMDAuMyAzNTkuOS0zNzMuMSAxMDYtNTAuOCAxMzIuNS01MyA1NzQuMS01OS42bDQ2My43LTYuNiAyNTM2LjkgMjUzOUw2NjM5IDIzNjYuNWwtMTA4LjIgNjguNGMtNTcuNCAzNy41LTE0MS4zIDc5LjUtMTg1LjUgOTAuNS00OC42IDEzLjItMTEwMy45IDIyLjEtMjg3MC4zIDE5LjktMjM2MC4yIDAtMjgwNi4yLTYuNi0yODgxLjMtMzMuMXpNODg2Mi4zIDIwMTUuNGMtNDQzLjgtMTk0LjMtOTg2LjktNDM0LjktMTIwNy43LTUzMi4xbC00MDQtMTc2LjZ2LTI3NzFsMTUwLjEtNjYuMmMxMDc5LjctNDgzLjUgMjI4My0xMDAwLjIgMjMyMC41LTEwMDAuMiAyOC43IDAgNzkuNSAyOC43IDExNC44IDY0bDY0IDY0djQ2NDUuNWwtNjQgNjRjLTM1LjMgMzUuMy04OC4zIDY0LTExNyA2NC0yOC44LjEtNDEyLjktMTYxLjEtODU2LjctMzU1LjR6TTUwMjAuNS04NjMuN0wzMTc3LTI3MDcuM2wxNTg5LjcgNC40IDE1ODkuNyA2LjYgMTE3IDY2LjJjMTU0LjYgODMuOSAzMDAuMyAyNDcuMyAzNTcuNyAzOTkuNiA0NC4yIDExOS4yIDQ0LjIgMTUyLjQgMzkuNyAxNjY3bC02LjYgMTU0My4zTDUwMjAuNS04NjMuN3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3BhcGVyLXBsYW5lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDQwIDYuNUwyNCAyNDYuNGMtMzQuNCAxOS45LTMxLjEgNzAuOCA1LjcgODUuOUwxNDQgMzc5LjZWNDY0YzAgNDYuNCA1OS4yIDY1LjUgODYuNiAyOC42bDQzLjgtNTkuMSAxMTEuOSA0Ni4yYzUuOSAyLjQgMTIuMSAzLjYgMTguMyAzLjYgOC4yIDAgMTYuMy0yLjEgMjMuNi02LjIgMTIuOC03LjIgMjEuNi0yMCAyMy45LTM0LjVsNTkuNC0zODcuMmM2LjEtNDAuMS0zNi45LTY4LjgtNzEuNS00OC45ek0xOTIgNDY0di02NC42bDM2LjYgMTUuMUwxOTIgNDY0em0yMTIuNi0yOC43bC0xNTMuOC02My41TDM5MSAxNjkuNWMxMC43LTE1LjUtOS41LTMzLjUtMjMuNy0yMS4yTDE1NS44IDMzMi42IDQ4IDI4OCA0NjQgNDhsLTU5LjQgMzg3LjN6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bob25lX2RhcmsnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000NzYuNSAyMi45TDM4Mi4zIDEuMmMtMjEuNi01LTQzLjYgNi4yLTUyLjMgMjYuNmwtNDMuNSAxMDEuNWMtOCAxOC42LTIuNiA0MC42IDEzLjEgNTMuNGw0MCAzMi43QzMxMSAyNjcuOCAyNjcuOCAzMTEgMjE1LjQgMzM5LjVsLTMyLjctNDBjLTEyLjgtMTUuNy0zNC44LTIxLjEtNTMuNC0xMy4xTDI3LjcgMzI5LjljLTIwLjQgOC43LTMxLjUgMzAuNy0yNi42IDUyLjNsMjEuNyA5NC4yYzQuOCAyMC45IDIzLjIgMzUuNSA0NC42IDM1LjVDMzEyLjMgNTEyIDUxMiAzMTMuNyA1MTIgNjcuNWMwLTIxLjQtMTQuNi0zOS44LTM1LjUtNDQuNnpNNjkuMyA0NjRsLTIwLjktOTAuNyA5OC4yLTQyLjEgNTUuNyA2OC4xYzk4LjgtNDYuNCAxNTAuNi05OCAxOTctMTk3bC02OC4xLTU1LjcgNDIuMS05OC4yTDQ2NCA2OS4zQzQ2MyAyODYuOSAyODYuOSA0NjMgNjkuMyA0NjR6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3Bob25lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUxMiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNDc2LjUgMjIuOUwzODIuMyAxLjJjLTIxLjYtNS00My42IDYuMi01Mi4zIDI2LjZsLTQzLjUgMTAxLjVjLTggMTguNi0yLjYgNDAuNiAxMy4xIDUzLjRsNDAgMzIuN0MzMTEgMjY3LjggMjY3LjggMzExIDIxNS40IDMzOS41bC0zMi43LTQwYy0xMi44LTE1LjctMzQuOC0yMS4xLTUzLjQtMTMuMUwyNy43IDMyOS45Yy0yMC40IDguNy0zMS41IDMwLjctMjYuNiA1Mi4zbDIxLjcgOTQuMmM0LjggMjAuOSAyMy4yIDM1LjUgNDQuNiAzNS41QzMxMi4zIDUxMiA1MTIgMzEzLjcgNTEyIDY3LjVjMC0yMS40LTE0LjYtMzkuOC0zNS41LTQ0LjZ6TTY5LjMgNDY0bC0yMC45LTkwLjcgOTguMi00Mi4xIDU1LjcgNjguMWM5OC44LTQ2LjQgMTUwLjYtOTggMTk3LTE5N2wtNjguMS01NS43IDQyLjEtOTguMkw0NjQgNjkuM0M0NjMgMjg2LjkgMjg2LjkgNDYzIDY5LjMgNDY0eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdwaW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEwIDMxMCclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00xMjkuOTcgMTQxLjgyTDI3LjE2IDI4Mi40OWwxNDEuMDkyLTEwMi4zODVNMjE4LjAwNyAxNDMuNjkzbDYyLjk2LTQ1LjY4OGE0LjUzMyA0LjUzMyAwIDAwLjU0NC02Ljg3NmwtNjIuNTgtNjIuNThhNC41MzMgNC41MzMgMCAwMC02Ljg2Ni41M2wtNDUuOTc3IDYyLjkwN2E0LjUxNyA0LjUxNyAwIDAxLTUuMDk0IDEuNjE4Yy0yMS43NTYtNy4zNjQtNDUuOC02LjA0OC02Ni43MzYgMy45NTYtMi44MiAxLjM1LTMuNDU0IDUuMDkzLTEuMjQzIDcuMzA0TDIwNS4yMSAyMTcuMDZjMi4yMSAyLjIxIDUuOTU0IDEuNTc3IDcuMzAzLTEuMjQ1IDEwLjA0NS0yMS4wMiAxMS4zMzQtNDUuMTggMy44Ny02Ny4wMDVhNC41MTQgNC41MTQgMCAwMTEuNjI0LTUuMTE3eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3BvZGNhc3QnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNDQ4IDUxMiclM2UlM2NwYXRoIGZpbGw9J2N1cnJlbnRDb2xvcicgZD0nTTI2Ny40MjkgNDg4LjU2M0MyNjIuMjg2IDUwNy41NzMgMjQyLjg1OCA1MTIgMjI0IDUxMmMtMTguODU3IDAtMzguMjg2LTQuNDI3LTQzLjQyOC0yMy40MzdDMTcyLjkyNyA0NjAuMTM0IDE2MCAzODguODk4IDE2MCAzNTUuNzVjMC0zNS4xNTYgMzEuMTQyLTQzLjc1IDY0LTQzLjc1czY0IDguNTk0IDY0IDQzLjc1YzAgMzIuOTQ5LTEyLjg3MSAxMDQuMTc5LTIwLjU3MSAxMzIuODEzek0xNTYuODY3IDI4OC41NTRjLTE4LjY5My0xOC4zMDgtMjkuOTU4LTQ0LjE3My0yOC43ODQtNzIuNTk5IDIuMDU0LTQ5LjcyNCA0Mi4zOTUtODkuOTU2IDkyLjEyNC05MS44ODFDMjc0Ljg2MiAxMjEuOTU4IDMyMCAxNjUuODA3IDMyMCAyMjBjMCAyNi44MjctMTEuMDY0IDUxLjExNi0yOC44NjYgNjguNTUyLTIuNjc1IDIuNjItMi40MDEgNi45ODYuNjI4IDkuMTg3IDkuMzEyIDYuNzY1IDE2LjQ2IDE1LjM0MyAyMS4yMzQgMjUuMzYzIDEuNzQxIDMuNjU0IDYuNDk3IDQuNjYgOS40NDkgMS44OTEgMjguODI2LTI3LjA0MyA0Ni41NTMtNjUuNzgzIDQ1LjUxMS0xMDguNTY1LTEuODU1LTc2LjIwNi02My41OTUtMTM4LjIwOC0xMzkuNzkzLTE0MC4zNjlDMTQ2Ljg2OSA3My43NTMgODAgMTM5LjIxNSA4MCAyMjBjMCA0MS4zNjEgMTcuNTMyIDc4LjcgNDUuNTUgMTA0Ljk4OSAyLjk1MyAyLjc3MSA3LjcxMSAxLjc3IDkuNDUzLTEuODg3IDQuNzc0LTEwLjAyMSAxMS45MjMtMTguNTk4IDIxLjIzNS0yNS4zNjMgMy4wMjktMi4yIDMuMzA0LTYuNTY2LjYyOS05LjE4NXpNMjI0IDBDMTAwLjIwNCAwIDAgMTAwLjE4NSAwIDIyNGMwIDg5Ljk5MiA1Mi42MDIgMTY1LjY0NyAxMjUuNzM5IDIwMS40MDggNC4zMzMgMi4xMTggOS4yNjctMS41NDQgOC41MzUtNi4zMS0yLjM4Mi0xNS41MTItNC4zNDItMzAuOTQ2LTUuNDA2LTQ0LjMzOS0uMTQ2LTEuODM2LTEuMTQ5LTMuNDg2LTIuNjc4LTQuNTEyLTQ3LjQtMzEuODA2LTc4LjU2NC04Ni4wMTYtNzguMTg3LTE0Ny4zNDcuNTkyLTk2LjIzNyA3OS4yOS0xNzQuNjQ4IDE3NS41MjktMTc0Ljg5OUMzMjAuNzkzIDQ3Ljc0NyA0MDAgMTI2Ljc5NyA0MDAgMjI0YzAgNjEuOTMyLTMyLjE1OCAxMTYuNDktODAuNjUgMTQ3Ljg2Ny0uOTk5IDE0LjAzNy0zLjA2OSAzMC41ODgtNS42MjQgNDcuMjMtLjczMiA0Ljc2NyA0LjIwMyA4LjQyOSA4LjUzNSA2LjMxQzM5NS4yMjcgMzg5LjcyNyA0NDggMzE0LjE4NyA0NDggMjI0IDQ0OCAxMDAuMjA1IDM0Ny44MTUgMCAyMjQgMHptMCAxNjBjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTQgNjQgNjQgNjQgNjQtMjguNjU0IDY0LTY0LTI4LjY1NC02NC02NC02NHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAncHJpbnQnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000MDAgMjY0Yy0xMy4yNSAwLTI0IDEwLjc0LTI0IDI0IDAgMTMuMjUgMTAuNzUgMjQgMjQgMjRzMjQtMTAuNzUgMjQtMjRjMC0xMy4yNi0xMC43NS0yNC0yNC0yNHptMzItODhWOTkuODhjMC0xMi43My01LjA2LTI0Ljk0LTE0LjA2LTMzLjk0bC01MS44OC01MS44OGMtOS05LTIxLjIxLTE0LjA2LTMzLjk0LTE0LjA2SDExMC40OEM5My42NCAwIDgwIDE0LjMzIDgwIDMydjE0NGMtNDQuMTggMC04MCAzNS44Mi04MCA4MHYxMjhjMCA4Ljg0IDcuMTYgMTYgMTYgMTZoNjR2OTZjMCA4Ljg0IDcuMTYgMTYgMTYgMTZoMzIwYzguODQgMCAxNi03LjE2IDE2LTE2di05Nmg2NGM4Ljg0IDAgMTYtNy4xNiAxNi0xNlYyNTZjMC00NC4xOC0zNS44Mi04MC04MC04MHpNMTI4IDQ4aDE5MnY0OGMwIDguODQgNy4xNiAxNiAxNiAxNmg0OHY2NEgxMjhWNDh6bTI1NiA0MTZIMTI4di02NGgyNTZ2NjR6bTgwLTExMkg0OHYtOTZjMC0xNy42NCAxNC4zNi0zMiAzMi0zMmgzNTJjMTcuNjQgMCAzMiAxNC4zNiAzMiAzMnY5NnonIGNsYXNzPScnLyUzZSUzYy9zdmclM2VcIixcbiAgICAncmFkaW8tY2hlY2tlZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA5NiA5NiclM2UlM2NnJTNlJTNjcGF0aCBkPSdNNDggMzRjLTcuNyAwLTE0IDYuMy0xNCAxNHM2LjMgMTQgMTQgMTQgMTQtNi4zIDE0LTE0LTYuMy0xNC0xNC0xNHptMC0xNGMtMTUuNSAwLTI4IDEyLjUtMjggMjhzMTIuNSAyOCAyOCAyOCAyOC0xMi41IDI4LTI4LTEyLjUtMjgtMjgtMjh6bTAgNTAuNGMtMTIuNCAwLTIyLjQtMTAtMjIuNC0yMi40czEwLTIyLjQgMjIuNC0yMi40IDIyLjQgMTAgMjIuNCAyMi40LTEwIDIyLjQtMjIuNCAyMi40eicgZmlsbD0nJTIzMTMyOTRhJy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncmFkaW8tdW5jaGVja2VkJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDk2IDk2JyUzZSUzY2clM2UlM2NwYXRoIGQ9J000OCAyMC41Yy0xNS4yIDAtMjcuNSAxMi4zLTI3LjUgMjcuNVMzMi44IDc1LjUgNDggNzUuNSA3NS41IDYzLjIgNzUuNSA0OCA2My4yIDIwLjUgNDggMjAuNXpNNDggNzBjLTEyLjIgMC0yMi05LjgtMjItMjJzOS44LTIyIDIyLTIyIDIyIDkuOCAyMiAyMi05LjggMjItMjIgMjJ6JyBmaWxsPSclMjMxMzI5NGEnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdyZWd6b25lJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDcyIDcyJyUzZSUzY2cgZmlsbD0nX19fZmlsbF9fXyclM2UlM2NwYXRoIGQ9J00yNC4xIDQyLjI4M2MwLTMuNzQ2IDIuMS02LjI4MyA1Ljk4My02LjI4MyAzLjgzMyAwIDUuOTg2IDIuNTg5IDUuOTg2IDYuMjgzcy0yLjExOCA2LjM1My01Ljk4NiA2LjM1M2MtMy45MjEgMC01Ljk4My0yLjYwOC01Ljk4My02LjM1M3ptMi41NTUgMGMwIDIuMi45MjcgNC40MjcgMy40MyA0LjQyN3MzLjQzMS0yLjIyMiAzLjQzMS00LjQyN2MwLTIuMTU0LTEtNC4zNTktMy40MzEtNC4zNTlzLTMuNDMyIDIuMjA2LTMuNDMyIDQuMzU5em0yNC42MzkgNi4xNDJWMzYuMjA5SDU4LjV2MS45MjZoLTQuNzU4djMuMDFINTguMXYxLjkyNWgtNC4zNTh2My40M2g0Ljh2MS45MjZ6bS01Ljg4IDBMNDAuNzQgMzkuMjloLS4wNHY5LjEzNmgtMi4zNFYzNi4yMDloMy4wMWw0LjY1NiA5LjEzNmguMDM1di05LjEzNmgyLjM0NXYxMi4yMTd6TTE0IDQ4LjQyNnYtMS45OTVsNS43NC04LjNoLTUuNTEydi0xLjkyMmg4LjEyMXYyTDE2LjU1NiA0Ni41aDUuOTE1djEuOTI2em0yMC45NjUtMTkuOWMwLTQuMTgyIDIuNTU2LTYuNTI4IDYuNy02LjUyOGExMi4wNjMgMTIuMDYzIDAgMDEzLjU4OC41MDdsLS4xNTMgMi4wNjdhOCA4IDAgMDAtMy4xNTEtLjY0NyA0LjE1OSA0LjE1OSAwIDAwLTQuNDI3IDQuNDI4IDQuMDI0IDQuMDI0IDAgMDA0LjE0NyA0LjM1NyA2LjY3MiA2LjY3MiAwIDAwMS42MTEtLjE3NFYyOS4zNWgtMi41OXYtMS45MjVoNC45MzZ2Ni41ODFhMTUuNDE5IDE1LjQxOSAwIDAxLTMuOTU2LjYzYy0zLjk1NyAwLTYuNzA1LTEuOTc4LTYuNzA1LTYuMTA4em0tOS4zMSA1LjlWMjIuMjA5aDcuMjF2MS45MjZIMjguMXYzLjAxaDQuMzU4djEuOTI1SDI4LjF2My40M2g0Ljh2MS45MjZ6bS00LjY3MSAwbC0xLjQ3MS0zLjgxNmMtLjM1LS45MS0uNjY1LTEuMjYtMS43LTEuMjZoLS43ODV2NS4wNzZoLTIuNDUxVjIyLjIwOWgyLjY0NGMyLjYyNSAwIDUuNzU4LS4wODYgNS43NTggMy4zMDlhMi44IDIuOCAwIDAxLTIuNTIxIDIuODM1di4wMzVjLjY2NC4wNTIgMS4wNDkuNzE2IDEuMjk0IDEuMjZsMS45NjEgNC43Nzh6bS0zLjk1Ni03aC44MDZjMS4yMDcgMCAyLjU5LS4xNzUgMi41OS0xLjcgMC0xLjQ3MS0xLjM2NS0xLjU5My0yLjU5LTEuNTkzaC0uODA2eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3JlcGx5JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMxNS4wMyAzMDEuMSclM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI5My44ODYgMTQ5Ljk1NEwxNjMuNTI4IDE5LjU5NlYxMDUuNmgtMTYuOGMtMTMzLjE2OCAwLTEyOC4yIDE3NS4wOTQtMTI4LjIgMTc1LjA5NHYtLjQ1czE0LjY2Ni04MS4xOTIgMTE1LjE5Ni04Mi42OTJhMTQ1MC44OCAxNDUwLjg4IDAgMDEyOS44MDQtLjExM3Y4Mi44NzNsMTMwLjM1OC0xMzAuMzZ6Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncmV0d2VldCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNjEgMTk4JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNMTEyLjM2NCA2Mi43MTdsLTM1LjgyLTMyLjkzNGMtMy41MzctMy4yNTItOC4yNTQtMy4yODQtMTEuODE3LS4wOEwyOC4wMTQgNjIuNzE3TTIwOS42OSAxNzFINzAuMTlWNDEuNScvJTNlJTNjL2clM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI1MC4wMTQgMTM1LjYwNWwzNS44MiAzMi45MzRjMy41MzcgMy4yNSA4LjI1NCAzLjI4MyAxMS44MTcuMDhsMzYuNzEzLTMzLjAxNScvJTNlJTNjcGF0aCBkPSdNMTUyLjY5IDI3aDEzOS41djEyOS41Jy8lM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAncmlnaHQtYXJyb3cnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzEuNDkgMzEuNDknJTNlJTNjcGF0aCBmaWxsPSclMjMxMzI5NGEnIGQ9J00yMS4yMDUgNS4wMDdhMS4xMTIgMS4xMTIgMCAwMC0xLjU4NyAwIDEuMTIgMS4xMiAwIDAwMCAxLjU3MWw4LjA0NyA4LjA0N0gxLjExMUExLjEwNiAxLjEwNiAwIDAwMCAxNS43MzdjMCAuNjE5LjQ5MiAxLjEyNyAxLjExMSAxLjEyN2gyNi41NTRsLTguMDQ3IDguMDMyYy0uNDI5LjQ0NC0uNDI5IDEuMTU5IDAgMS41ODdhMS4xMTIgMS4xMTIgMCAwMDEuNTg3IDBsOS45NTItOS45NTJhMS4wOTMgMS4wOTMgMCAwMDAtMS41NzFsLTkuOTUyLTkuOTUzeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzZWFyY2gnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTUgMTYnJTNlJTNjZyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsLXJ1bGU9J25vbnplcm8nJTNlJTNjcGF0aCBkPSdNMTMuNzE0IDE1LjI4NmExLjE1IDEuMTUgMCAwMDEuMTQzLTEuMTQzIDEuMTUgMS4xNSAwIDAwLS4zMy0uODA0bC0zLjA2My0zLjA2MkE2LjI4NCA2LjI4NCAwIDAwNi4yODUuNDI5IDYuMjg0IDYuMjg0IDAgMDAwIDYuNzE0YTYuMjg0IDYuMjg0IDAgMDA5Ljg0OCA1LjE3OWwzLjA2MyAzLjA1M2MuMjA1LjIxNS41LjM0LjgwMy4zNHptLTcuNDI4LTQuNTcyYy0yLjIwNiAwLTQtMS43OTQtNC00IDAtMi4yMDUgMS43OTQtNCA0LTQgMi4yMDUgMCA0IDEuNzk1IDQgNCAwIDIuMjA2LTEuNzk1IDQtNCA0eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnc2hhcmVfYWx0JzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI3NS4wMjYgMjYxLjA5OCclM2UlM2NwYXRoIGQ9J00xNDQuNjY3IDBsMTMwLjM2IDEzMC4zNTgtMTMwLjM2IDEzMC4zNicvJTNlJTNjcGF0aCBkPSdNMTU2LjAzMiA4NS41MDNIMTI3LjdDLTUuNDcgODUuNTAzLjAzIDI2MS4wOTguMDMgMjYxLjA5OHYtLjQ1czE0LjUtODEuMTkyIDExNS4wMy04Mi42OTJjMjEuMzc3LS4zMiA0MC45NyAwIDQwLjk3IDBWODUuNTAzeicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzaGFyZSc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0NDggNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM1MiAzMjBjLTI1LjYgMC00OC45IDEwLTY2LjEgMjYuNGwtOTguMy02MS41YzUuOS0xOC44IDUuOS0zOS4xIDAtNTcuOGw5OC4zLTYxLjVDMzAzLjEgMTgyIDMyNi40IDE5MiAzNTIgMTkyYzUzIDAgOTYtNDMgOTYtOTZTNDA1IDAgMzUyIDBzLTk2IDQzLTk2IDk2YzAgOS44IDEuNSAxOS42IDQuNCAyOC45bC05OC4zIDYxLjVDMTQ0LjkgMTcwIDEyMS42IDE2MCA5NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjUuNiAwIDQ4LjktMTAgNjYuMS0yNi40bDk4LjMgNjEuNWMtMi45IDkuNC00LjQgMTkuMS00LjQgMjguOSAwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2LTQzLTk2LTk2LTk2em0wLTI3MmMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OC00OC0yMS41LTQ4LTQ4IDIxLjUtNDggNDgtNDh6TTk2IDMwNGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OCA0OCAyMS41IDQ4IDQ4LTIxLjUgNDgtNDggNDh6bTI1NiAxNjBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDggNDggMjEuNSA0OCA0OC0yMS41IDQ4LTQ4IDQ4eicgY2xhc3M9JycvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzbGlkZXNob3dfYXJyb3cnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjcgNDAnJTNlJTNjZGVmcyUzZSUzY3BhdGggaWQ9J2EnIGQ9J00zLjg1NyAwTDAgNC40NDQgMTggMjAgMCAzNS41NTYgMy44NTcgNDAgMjcgMjB6Jy8lM2UlM2MvZGVmcyUzZSUzY2cgc3Ryb2tlLXdpZHRoPScwJyBmaWxsPSdjdXJyZW50Q29sb3InIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xOTMgLTE5OSknJTNlJTNjZyB0cmFuc2Zvcm09J21hdHJpeCgtMSAwIDAgMSAyMjAgMTk5KSclM2UlM2N1c2UgZmlsbC1ydWxlPSdub256ZXJvJyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeGxpbms6aHJlZj0nJTIzYScvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdGFyJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDU3NiA1MTInJTNlJTNjcGF0aCBmaWxsPSdfX19maWxsX19fJyBkPSdNNTI4LjEgMTcxLjVMMzgyIDE1MC4yIDMxNi43IDE3LjhjLTExLjctMjMuNi00NS42LTIzLjktNTcuNCAwTDE5NCAxNTAuMiA0Ny45IDE3MS41Yy0yNi4yIDMuOC0zNi43IDM2LjEtMTcuNyA1NC42bDEwNS43IDEwMy0yNSAxNDUuNWMtNC41IDI2LjMgMjMuMiA0NiA0Ni40IDMzLjdMMjg4IDQzOS42bDEzMC43IDY4LjdjMjMuMiAxMi4yIDUwLjktNy40IDQ2LjQtMzMuN2wtMjUtMTQ1LjUgMTA1LjctMTAzYzE5LTE4LjUgOC41LTUwLjgtMTcuNy01NC42ek0zODguNiAzMTIuM2wyMy43IDEzOC40TDI4OCAzODUuNGwtMTI0LjMgNjUuMyAyMy43LTEzOC40LTEwMC42LTk4IDEzOS0yMC4yIDYyLjItMTI2IDYyLjIgMTI2IDEzOSAyMC4yLTEwMC42IDk4eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdWItaW5kaWNhdG9yJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggNSclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGwtcnVsZT0nbm9uemVybyclM2UlM2NwYXRoIGQ9J000IDQuNWEuNDk3LjQ5NyAwIDAwLjM1Mi0uMTQ4bDMuNS0zLjVBLjQ5Ny40OTcgMCAwMDcuNSAwaC03Qy4yMjcgMCAwIC4yMjcgMCAuNWMwIC4xMzMuMDU1LjI1OC4xNDguMzUybDMuNSAzLjVBLjQ5Ny40OTcgMCAwMDQgNC41eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9zdmclM2VcIixcbiAgICAnc3VibWVudS1pbmRpY2F0b3InOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOSAxNyclM2UlM2NnIGZpbGwtcnVsZT0nZXZlbm9kZCclM2UlM2NnIGZpbGw9JyUyMzEzMjk0YScgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY2clM2UlM2NwYXRoIGQ9J00yLjM0MS4yNjlsLjA3NC4wODUgNS44IDcuNi4wNTIuMDc1LjA1NC4xMDEuMDM4LjEwMy4wMjIuMDgzLjAxNC4wOS4wMDUuMDk1LS4wMDkuMTI3LS4wMjMuMTEtLjAzMi4wOTUtLjAyNy4wNjFhLjkuOSAwIDAxLS4wMy4wNThsLS4wNjQuMDk0LTUuOCA3LjZhLjkuOSAwIDAxLTEuNDkzLS45OThsLjA2My0uMDk0TDYuMzY3IDguNS45ODUgMS40NDZBLjkuOSAwIDAxMi4yNS4xODhsLjA5LjA4eicvJTNlJTNjL2clM2UlM2MvZyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICdzdW4nOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNTEyIDUxMiclM2UlM2NwYXRoIGZpbGw9J19fX2ZpbGxfX18nIGQ9J000OTQuMiAyMjEuOWwtNTkuOC00MC41IDEzLjctNzFjMi42LTEzLjItMS42LTI2LjgtMTEuMS0zNi40LTkuNi05LjUtMjMuMi0xMy43LTM2LjItMTEuMWwtNzAuOSAxMy43LTQwLjQtNTkuOWMtMTUuMS0yMi4zLTUxLjktMjIuMy02NyAwbC00MC40IDU5LjktNzAuOC0xMy43Qzk4IDYwLjQgODQuNSA2NC41IDc1IDc0LjFjLTkuNSA5LjYtMTMuNyAyMy4xLTExLjEgMzYuM2wxMy43IDcxLTU5LjggNDAuNUM2LjYgMjI5LjUgMCAyNDIgMCAyNTUuNXM2LjcgMjYgMTcuOCAzMy41bDU5LjggNDAuNS0xMy43IDcxYy0yLjYgMTMuMiAxLjYgMjYuOCAxMS4xIDM2LjMgOS41IDkuNSAyMi45IDEzLjcgMzYuMyAxMS4xbDcwLjgtMTMuNyA0MC40IDU5LjlDMjMwIDUwNS4zIDI0Mi42IDUxMiAyNTYgNTEyczI2LTYuNyAzMy41LTE3LjhsNDAuNC01OS45IDcwLjkgMTMuN2MxMy40IDIuNyAyNi44LTEuNiAzNi4zLTExLjEgOS41LTkuNSAxMy42LTIzLjEgMTEuMS0zNi4zbC0xMy43LTcxIDU5LjgtNDAuNWMxMS4xLTcuNSAxNy44LTIwLjEgMTcuOC0zMy41LS4xLTEzLjYtNi43LTI2LjEtMTcuOS0zMy43em0tMTEyLjkgODUuNmwxNy42IDkxLjItOTEtMTcuNkwyNTYgNDU4bC01MS45LTc3LTkwLjkgMTcuNiAxNy42LTkxLjItNzYuOC01MiA3Ni44LTUyLTE3LjYtOTEuMiA5MSAxNy42TDI1NiA1M2w1MS45IDc2LjkgOTEtMTcuNi0xNy42IDkxLjEgNzYuOCA1Mi03Ni44IDUyLjF6TTI1NiAxNTJjLTU3LjMgMC0xMDQgNDYuNy0xMDQgMTA0czQ2LjcgMTA0IDEwNCAxMDQgMTA0LTQ2LjcgMTA0LTEwNC00Ni43LTEwNC0xMDQtMTA0em0wIDE2MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZzMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2LTI1LjEgNTYtNTYgNTZ6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RhYmxlLW9mLWNvbnRlbnRzJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI5IDI0JyUzZSUzY2cgZmlsbD0nbm9uZScgZmlsbC1ydWxlPSdldmVub2RkJyBmb250LWZhbWlseT0nRm9udEF3ZXNvbWUnIGZvbnQtc2l6ZT0nMjknIGxldHRlci1zcGFjaW5nPScuMzYyJyUzZSUzY3RleHQgZmlsbD0nJTIzMTEzNTVFJyUzZSUzY3RzcGFuIHg9JzAnIHk9JzIyJyUzZSVlZiU4MyU4YSUzYy90c3BhbiUzZSUzYy90ZXh0JTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RhcmdldCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNzMuNTEgMjczLjUxJyUzZSUzY3BhdGggZD0nTTEzNi42MDcgMjBDNzIuMTI1IDIwIDE5Ljg1MiA3Mi4yNzMgMTkuODUyIDEzNi43NTVTNzIuMTI1IDI1My41MSAxMzYuNjA3IDI1My41MXMxMTYuNzU1LTUyLjI3MyAxMTYuNzU1LTExNi43NTVTMjAxLjA5IDIwIDEzNi42MDcgMjB6bTAgMjAzLjU5NGMtNDcuOTYgMC04Ni44NC0zOC44OC04Ni44NC04Ni44NHMzOC44OC04Ni44MzggODYuODQtODYuODM4IDg2Ljg0IDM4Ljg4IDg2Ljg0IDg2Ljg0LTM4Ljg4IDg2LjgzOC04Ni44NCA4Ni44Mzh6Jy8lM2UlM2NwYXRoIGQ9J00xMzYuNjA3IDc5LjgzMmMtMzEuNDM4IDAtNTYuOTIzIDI1LjQ4NS01Ni45MjMgNTYuOTIzczI1LjQ4NSA1Ni45MjMgNTYuOTIzIDU2LjkyMyA1Ni45MjMtMjUuNDg1IDU2LjkyMy01Ni45MjMtMjUuNDg1LTU2LjkyMy01Ni45MjMtNTYuOTIzem0wIDgzLjkzYy0xNC45MTYgMC0yNy4wMDctMTIuMDkyLTI3LjAwNy0yNy4wMDcgMC0xNC45MTYgMTIuMDkyLTI3LjAwNyAyNy4wMDctMjcuMDA3czI3LjAwNyAxMi4wOTIgMjcuMDA3IDI3LjAwN2MwIDE0LjkxNi0xMi4wOTIgMjcuMDA3LTI3LjAwNyAyNy4wMDd6Jy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3RodW1ic191cCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMjIgMzMzJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY3BhdGggZD0nTTI3LjM0NSAxNDYuNTQ1aDgwdjE1OWgtODB6TTEwOS44NDUgMjkyLjU0NWgxMjMuMzI5YzYuNzk4IDAgMTMuMjc2LTMuNTUgMTcuODI4LTguNTk4bDM3LjU0LTQyLjM4N2MzLjk3Ny00LjQxIDUuODAyLTEwLjQ3IDUuODAyLTE2LjQxdi04NC4xNjVjMC0xMy4yNTctOS45OTYtMjIuNDQtMjMuMjUzLTIyLjQ0aC00Ny4wMTZjLTE0Ljk0NiAwLTI2LjI1OC0xNC4yOTQtMjMuNjMtMjkuMDA3bDMuNzE0LTIyLjI1Yy4yNS0xLjM5Mi4xODYtMy4xOTUuMTg2LTQuNjF2LTEyLjA3YzAtMTMuMjU2LTEwLjM5LTIzLjA2My0yMy42NDctMjMuMDYzaC4wMWMtMTEuMDY3IDAtMjAuNjk1IDcuMDk1LTIzLjMxOCAxNy44NDZsLTQuMTU0IDE2LjgwM2MtLjQ2IDEuODktMS4xNSA0LjAyLTIuMDUgNS43NDVsLTQzLjM0MiA4MC42MDcnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLFxuICAgICd0d2l0dGVyJzogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMzNS4zMyAyODMuMzMnJTNlJTNjZyBmaWxsPSdub25lJyBzdHJva2Utd2lkdGg9JzE1JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIHN0cm9rZT0nX19fc3Ryb2tlX19fJyBmaWxsPSdfX19maWxsX19fJyBkPSdNMzA4LjYxMiA1NS4xNTZjLTEwLjI5OCA0LjU3OC0yMS4zOCA3LjY2NS0zMy4wMSA5LjA0NyAxMS44NzQtNy4xMDggMjAuOTc4LTE4LjM2OCAyNS4yNy0zMS44YTExNS4wMjMgMTE1LjAyMyAwIDAxLTM2LjQ5NSAxMy45NTZjLTEwLjQ4LTExLjE3LTI1LjQyLTE4LjE1Mi00MS45NS0xOC4xNTItMzEuNzM3IDAtNTcuNDY4IDI1LjczMi01Ny40NjggNTcuNDc0IDAgNC40OTguNTA1IDguODgyIDEuNDkgMTMuMDk2LTQ3Ljc2OC0yLjQtOTAuMTItMjUuMjc3LTExOC40Ny02MC4wNS00Ljk0NiA4LjQ4NC03Ljc3OCAxOC4zNTYtNy43NzggMjguOSAwIDE5LjkzNiAxMC4xNDUgMzcuNTMgMjUuNTY3IDQ3LjgzNGE1Ny4zMTQgNTcuMzE0IDAgMDEtMjYuMDM0LTcuMTkzYy0uMDA2LjIzOC0uMDA2LjQ4Mi0uMDA2LjcyNyAwIDI3Ljg0IDE5LjgxMiA1MS4wNjUgNDYuMTA3IDU2LjM1NGE1Ny42OTQgNTcuNjk0IDAgMDEtMTUuMTQzIDIuMDE0IDU2LjkyIDU2LjkyIDAgMDEtMTAuODE2LTEuMDM1YzcuMzIgMjIuODMgMjguNTQgMzkuNDUyIDUzLjY4NyAzOS45MTMtMTkuNjcgMTUuNDE2LTQ0LjQ0NiAyNC42MDYtNzEuMzc4IDI0LjYwNi00LjYzNSAwLTkuMjEyLS4yNzQtMTMuNzEtLjgwOCAyNS40NDIgMTYuMzE1IDU1LjY1IDI1LjgyMyA4OC4xMDIgMjUuODIzIDEwNS43MTggMCAxNjMuNTItODcuNTczIDE2My41Mi0xNjMuNTIyIDAtMi40OS0uMDUtNC45NzYtLjE1OC03LjQ0NCAxMS4yMjQtOC4wOSAyMC45Ny0xOC4yMTggMjguNjctMjkuNzQ0eicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3VwbG9hZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNjEgMzU4JyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnJTNlJTNjcGF0aCBkPSdNODUuMTUgMjM1LjA2NWgtNDMuNmMtOC4xNDggMC0xNC43NTQtNi42MDUtMTQuNzU0LTE0Ljc1NFY0My4wMWMwLTguMTQ4IDYuNjA1LTE0Ljc1NCAxNC43NTQtMTQuNzU0aDE3Ny4zYzguMTUgMCAxNC43NTUgNi42MDUgMTQuNzU1IDE0Ljc1NHYxNzcuM2MwIDguMTUtNi42MDUgMTQuNzU1LTE0Ljc1NCAxNC43NTVoLTQzLjU5NycvJTNlJTNjcGF0aCBkPSdNMTk0Ljg2IDE0OC4yM2wtNTQuOTE3LTUwLjQ5Yy01LjQyMi00Ljk4NS0xMi42NTQtNS4wMzQtMTguMTE2LS4xMjNMNjUuNTQyIDE0OC4yM00xMzAuMDk2IDMzMC4yNTZ2LTIyNicvJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3VzZXJfY2FyZCc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyUzZSUzY3BhdGggZD0nTTUyOCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0ODBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6bTAgNDAwSDQ4VjgwaDQ4MHYzNTJ6TTIwOCAyNTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjQtNjQgMjguNy02NCA2NCAyOC43IDY0IDY0IDY0em0tODkuNiAxMjhoMTc5LjJjMTIuNCAwIDIyLjQtOC42IDIyLjQtMTkuMnYtMTkuMmMwLTMxLjgtMzAuMS01Ny42LTY3LjItNTcuNi0xMC44IDAtMTguNyA4LTQ0LjggOC0yNi45IDAtMzMuNC04LTQ0LjgtOC0zNy4xIDAtNjcuMiAyNS44LTY3LjIgNTcuNnYxOS4yYzAgMTAuNiAxMCAxOS4yIDIyLjQgMTkuMnpNMzYwIDMyMGgxMTJjNC40IDAgOC0zLjYgOC04di0xNmMwLTQuNC0zLjYtOC04LThIMzYwYy00LjQgMC04IDMuNi04IDh2MTZjMCA0LjQgMy42IDggOCA4em0wLTY0aDExMmM0LjQgMCA4LTMuNiA4LTh2LTE2YzAtNC40LTMuNi04LTgtOEgzNjBjLTQuNCAwLTggMy42LTggOHYxNmMwIDQuNCAzLjYgOCA4IDh6bTAtNjRoMTEyYzQuNCAwIDgtMy42IDgtOHYtMTZjMC00LjQtMy42LTgtOC04SDM2MGMtNC40IDAtOCAzLjYtOCA4djE2YzAgNC40IDMuNiA4IDggOHonLyUzZSUzYy9zdmclM2VcIixcbiAgICAndXNlcic6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyUzZSUzY3BhdGggZmlsbD0nX19fZmlsbF9fXycgZD0nTTM4NCAzMzZjLTQwLjYgMC00Ny42LTEuNS03Mi4yIDYuOC0xNy41IDUuOS0zNi4zIDkuMi01NS44IDkuMnMtMzguMy0zLjMtNTUuOC05LjJjLTI0LjYtOC4zLTMxLjUtNi44LTcyLjItNi44QzU3LjMgMzM2IDAgMzkzLjMgMCA0NjR2MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMydi0xNmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOHptODAgMTI4SDQ4YzAtMjEuNCA4LjMtNDEuNSAyMy40LTU2LjZDODYuNSAzOTIuMyAxMDYuNiAzODQgMTI4IDM4NGM0MS4xIDAgNDEtMS4xIDU2LjggNC4yIDIzIDcuOCA0NyAxMS44IDcxLjIgMTEuOCAyNC4yIDAgNDguMi00IDcxLjItMTEuOCAxNS44LTUuNCAxNS43LTQuMiA1Ni44LTQuMiA0NC4xIDAgODAgMzUuOSA4MCA4MHpNMjU2IDMyMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFMzNDQuNCAwIDI1NiAwIDk2IDcxLjYgOTYgMTYwczcxLjYgMTYwIDE2MCAxNjB6bTAtMjcyYzYxLjggMCAxMTIgNTAuMiAxMTIgMTEycy01MC4yIDExMi0xMTIgMTEyLTExMi01MC4yLTExMi0xMTJTMTk0LjIgNDggMjU2IDQ4eicvJTNlJTNjL3N2ZyUzZVwiLFxuICAgICd1c2Vycyc6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNDAgMzQwJyUzZSUzY2cgZmlsbD0nbm9uZScgc3Ryb2tlLXdpZHRoPScxNScgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyUzZSUzY2NpcmNsZSBjeD0nMTcwLjYyJyBjeT0nMTE4LjIwNScgcj0nNTEuNzQ4Jy8lM2UlM2NwYXRoIGQ9J00xOTEuMzQ0IDE3My45NjRoLTQxLjY5QzExNy45NDUgMTczLjk2NCA5MiAxOTkuOTEgOTIgMjMxLjYydjY2LjI0N2MwIDMuODEgMi41OSA3LjE0NiA2LjI5MiA4LjA0NCAxOS4zOTUgNC43MDYgNDQuODUgNy41MzMgNzIuMjA3IDcuNTMzIDI3LjQyNCAwIDUyLjEyOC0yLjg0IDcyLjExNC03LjU2OGE4LjI5IDguMjkgMCAwMDYuMzg1LTguMDdWMjMxLjYyYzAtMzEuODQzLTI1LjgxMy01Ny42NTYtNTcuNjU2LTU3LjY1NnonLyUzZSUzYy9nJTNlJTNjcGF0aCBkPSdNMjIyLjM2OCAxMjguMjA1YzAgLjA5Mi0uMDA3LjE4My0uMDA3LjI3NWE1MS44NyA1MS44NyAwIDAwMTIuMjYgMS40NzRjMjguNTggMCA1MS43NDgtMjMuMTY4IDUxLjc0OC01MS43NDhzLTIzLjE2OC01MS43NS01MS43NDgtNTEuNzVjLTI1LjAwNiAwLTQ1Ljg3IDE3LjczOC01MC42OTYgNDEuMzE3JyBmaWxsPSdub25lJy8lM2UlM2NnIGZpbGw9J25vbmUnIHN0cm9rZS13aWR0aD0nMTUnIHN0cm9rZS1taXRlcmxpbWl0PScxMCclM2UlM2NwYXRoIGQ9J00xNTcuMzE2IDY3Ljc3M2MtNC44MjYtMjMuNTgtMjUuNjktNDEuMzE2LTUwLjY5Ni00MS4zMTYtMjguNTggMC01MS43NDggMjMuMTY4LTUxLjc0OCA1MS43NDhzMjMuMTY4IDUxLjc0OCA1MS43NDggNTEuNzQ4YzQuMjI1IDAgOC4zMjctLjUxOCAxMi4yNTgtMS40NzQgMC0uMDkzLS4wMDctLjE4NC0uMDA3LS4yNzZtLjYyOSA1Ljc2MUg4Ni4yYy0zMi4wMSAwLTU4LjIgMjYuMTktNTguMiA1OC4ydjY1LjY4OGMwIDMuODE0IDIuNTk1IDcuMTUgNi4zIDguMDQ3IDE2LjAwNyAzLjg2NSAzNS43MzQgNi40NiA1Ny43NSA3LjI2NycvJTNlJTNjL2clM2UlM2NwYXRoIGQ9J00yNDguODMgMjczLjE2NGMyMS4yMi0uODE0IDQxLjAwNy0zLjQyNCA1Ny43NDgtNy4zMTNhOC4yOSA4LjI5IDAgMDA2LjQyMy04LjA3NlYxOTEuNjJjMC0zMS44NDMtMjUuODEyLTU3LjY1Ny01Ny42NTUtNTcuNjU3SDIyMS41JyBmaWxsPSdub25lJy8lM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3hpbmcnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMjAnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDEpJyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J00xMy4xNyAxOC40MjljLjE1NiAwIC4yNzktLjA1Ni4zNTctLjE2OC4wNjctLjExMS4wNjctLjI2OC0uMDExLS40MTNsLTMuNzUtNi44NjRjLS4wMTIgMC0uMDEyLS4wMSAwLS4wMUwxNS42NTkuNTQ4Yy4wNzgtLjE0NS4wNzgtLjMwMSAwLS40MTMtLjA2Ny0uMTExLS4xOS0uMTY3LS4zNDYtLjE2N2gtMi42OWMtLjQwMiAwLS41Ny4yNDUtLjcxNS41MDJMNS45ODMgMTAuOTg0Yy4wMDguMDE3LjE4LjM0MiAzLjc4MyA2Ljk0Mi4xMjIuMjM1LjMzNC41MDMuNzM2LjUwM2gyLjY2OHptLTEwLjEtNS41MjVjLjM5IDAgLjU4LS4yNjguNzI1LS41MTNDNi40NDUgNy42OCA2LjY1IDcuMzIzIDYuNjYyIDcuMzAyYy0uMDA1LS4wMS0uMTAzLS4xNzUtMS44My0zLjE5My0uMTMzLS4yMzQtLjMzNC0uNTAyLS43MzYtLjUwMkgxLjQyOWMtLjE1NyAwLS4yOS4wNTYtLjM1OC4xNjgtLjA3OC4xMTEtLjA2Ny4yNjcuMDEyLjQxMmwxLjc5NiAzLjExNGMuMDEyLjAxMS4wMTIuMDExIDAgLjAxMWwtMi44MjMgNWEuMzk3LjM5NyAwIDAwMCAuNDAyYy4wNjcuMTEyLjE5LjE5LjM0Ni4xOWgyLjY2N3onLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCIsXG4gICAgJ3lvdXR1YmUnOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTcgMjEnJTNlJTNjZyBmaWxsPSdub25lJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnJTNlJTNjZyBmaWxsPSdibGFjaycgZmlsbC1ydWxlPSdub256ZXJvJyUzZSUzY3BhdGggc3Ryb2tlPSdfX19zdHJva2VfX18nIGZpbGw9J19fX2ZpbGxfX18nIGQ9J001LjQ5MSA4LjMzNVY1LjMxTDYuODQxLjg1N0g1LjcwNGwtLjc1OSAyLjkzNUw0LjE1Mi44NTdIMi45NjljLjIzNC42OTIuNDggMS4zOTUuNzI1IDIuMDg3LjM1NyAxLjAzOC41OCAxLjgyLjY4MSAyLjM2NnYzLjAyNWgxLjExNnptMi44NDYuMDc4Yy41MTMgMCAuOTA0LS4xOSAxLjE4My0uNTcuMjEyLS4yNzguMzEzLS43MjUuMzEzLTEuMzE2VjQuNTc0YzAtLjU5Mi0uMS0xLjAyNy0uMzEzLTEuMzA2LS4yNzktLjM4LS42Ny0uNTctMS4xODMtLjU3LS41MDIgMC0uODkzLjE5LTEuMTcyLjU3LS4yMTIuMjc5LS4zMTIuNzE0LS4zMTIgMS4zMDZ2MS45NTNjMCAuNTkxLjEgMS4wMjcuMzEyIDEuMzE3LjI4LjM4LjY3LjU2OSAxLjE3Mi41Njl6bTMuMDcgMGMuMzY4IDAgLjc0Ny0uMjIzIDEuMTQ5LS42OTJ2LjYxNGgxLjAxNXYtNS41N2gtMS4wMTV2NC4yNTNjLS4yMjMuMzI0LS40MzUuNDgtLjYzNi40OC0uMTM0IDAtLjIxMi0uMDktLjIzNS0uMjQ2YS44NjcuODY3IDAgMDEtLjAxLS4xOVYyLjc2NmgtMS4wMTd2NC4zOTdjMCAuNDAyLjAzNC42Ny4wOS44MzcuMS4yNzkuMzM1LjQxMy42NTguNDEzem0tMy4wNy0uOTE1Yy0uMzI0IDAtLjQ4LS4yNjgtLjQ4LS43ODFWNC4zNzNjMC0uNTE0LjE1Ni0uNzcuNDgtLjc3LjMzNSAwIC40OC4yNTYuNDguNzd2Mi4zNDRjMCAuNTEzLS4xNDUuNzgtLjQ4Ljc4em0uMjM0IDEzLjM2YzIuMDY1IDAgNC4xNDEgMCA2LjE5NS0uMjM1Ljg1OS0uMDkgMS41NzMtLjczNyAxLjc4NS0xLjYxOS4yOC0xLjI1LjI5LTIuNjIyLjI5LTMuOTA2IDAtMS4yOTQgMC0yLjY1Ni0uMjktMy45MDZhMi4xIDIuMSAwIDAwLTEuNzg1LTEuNjNjLTEuNzYtLjE5LTMuNTM3LS4yMTgtNS4zMS0uMjIyaC0uODg1Yy0yLjA2NCAwLTQuMTQgMC02LjE4My4yMjItLjg3LjEtMS41ODQuNzQ4LTEuNzk2IDEuNjMtLjI4IDEuMjUtLjI5IDIuNjEyLS4yOSAzLjkwNiAwIDEuMjg0IDAgMi42NTYuMjkgMy45MDYuMi44ODIuOTI2IDEuNTMgMS43ODUgMS42MTkgMi4wNTQuMjM0IDQuMTMuMjM0IDYuMTk0LjIzNHpNMy44MjggMTguNjdIMi43MTJ2LTYuMzVIMS41NHYtMS4wNWgzLjQ4MnYxLjA1SDMuODI4djYuMzV6bTcuMTEuMDc4Yy0uMzU4IDAtLjcwNC0uMjAxLTEuMDM4LS42MTR2LjUzNmgtLjk5NHYtNy40SDkuOXYyLjQyMmMuMzIzLS40MDIuNjctLjYwMyAxLjAzOC0uNjAzLjM5IDAgLjY3LjIxMi43OTIuNjI1LjA3OC4yMjMuMS41OTIuMSAxLjEwNXYyLjE5OWMwIC41MTMtLjAyMi44ODItLjEgMS4xMTYtLjEyMy40MDItLjQwMi42MTQtLjc5Mi42MTR6bTMuMjAzIDBjLS41MjUgMC0uOTE2LS4xOS0xLjIwNi0uNTctLjIxMi0uMjY3LS4zMjMtLjcwMy0uMzIzLTEuMjk0di0xLjkzYzAtLjU5Mi4xLTEuMDE3LjMxMi0xLjI5Ni4yOS0uMzc5LjY4LS41NjkgMS4xOTQtLjU2OS41MDMgMCAuODkzLjE5IDEuMTgzLjU3LjIwMS4yNzguMzAyLjcwMy4zMDIgMS4yOTR2MS4xNWgtMS45OTh2Ljk3YzAgLjUxNC4xNjcuNzcuNTEzLjc3LjI0NiAwIC4zOS0uMTMzLjQ0Ny0uNDAxLjAxLS4wNTYuMDIyLS4yOC4wMjItLjY4aDEuMDE2di4zOTdhMi4zNiAyLjM2IDAgMDEtLjAyMy4zOTUgMS4yOSAxLjI5IDAgMDEtLjIzNC42MDJjLS4yNjguMzktLjY4LjU5Mi0xLjIwNS41OTJ6bS04LjIzNyAwYy0uMzI0IDAtLjU1OC0uMTM0LS42NDctLjQxMy0uMDU2LS4xNjgtLjA5LS40MjQtLjA5LS44MTV2LTQuMzY0aC45OTR2NC4wNjNjMCAuMjM0IDAgLjM1Ny4wMS4zOS4wMjMuMTU3LjEwMS4yMzUuMjM1LjIzNS4yMDEgMCAuNDEzLS4xNTcuNjM2LS40Njl2LTQuMjE5aC45OTR2NS41MTRoLS45OTR2LS42MDNjLS40MDEuNDU4LS43OC42OC0xLjEzOC42OHptNC40OTgtLjkwNGMuMjkgMCAuNDM1LS4yNDYuNDM1LS43NDh2LTIuMzU1YzAtLjQ5MS0uMTQ1LS43NDgtLjQzNS0uNzQ4LS4xNjggMC0uMzM1LjA3OC0uNTAyLjI0NnYzLjM2Yy4xNjcuMTY3LjMzNC4yNDUuNTAyLjI0NXptNC4yMDctMi41Nzh2LS41MTRjMC0uNTAyLS4xNjctLjc1OS0uNTAyLS43NTktLjMzNSAwLS41MDIuMjU3LS41MDIuNzZ2LjUxM2gxLjAwNHonLyUzZSUzYy9nJTNlJTNjL2clM2UlM2Mvc3ZnJTNlXCJcbik7XG5cbiRzaXplczogKFxuICAgICdhbGVydCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdy1ib2xkJzogKFxuICAgICAgICAnd2lkdGgnOiAxNHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTRweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdy1zZW1pJzogKFxuICAgICAgICAnd2lkdGgnOiAxM3B4LFxuICAgICAgICAnaGVpZ2h0JzogMTNweFxuICAgICksXG4gICAgJ2FsbC1hcnJvdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTRweCxcbiAgICAgICAgJ2hlaWdodCc6IDE0cHhcbiAgICApLFxuICAgICdhcnJvd19idWxreSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzEyLjc2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyNjYuODZweFxuICAgICksXG4gICAgJ2Fycm93X3NsaWRlc2hvdyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTRweCxcbiAgICAgICAgJ2hlaWdodCc6IDIxcHhcbiAgICApLFxuICAgICdhcnJvd190aGluJzogKFxuICAgICAgICAnd2lkdGgnOiAyMDZweCxcbiAgICAgICAgJ2hlaWdodCc6IDMyM3B4XG4gICAgKSxcbiAgICAnYmFja190b190b3AnOiAoXG4gICAgICAgICd3aWR0aCc6IDE2cHgsXG4gICAgICAgICdoZWlnaHQnOiAxNnB4XG4gICAgKSxcbiAgICAnYmxvZyc6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDE4cHhcbiAgICApLFxuICAgICdib29rbWFyayc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NhbGVuZGFyLWFsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogNDQ4cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NoYXJ0LWxpbmUtZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NoZWNrJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY2hldnJvbl9jbG9zZWQnOiAoXG4gICAgICAgICd3aWR0aCc6IDE3Ni4zOHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzEyLjc2cHhcbiAgICApLFxuICAgICdjaGV2cm9uX29wZW4nOiAoXG4gICAgICAgICd3aWR0aCc6IDQ1MS44NDZweCxcbiAgICAgICAgJ2hlaWdodCc6IDQ1MS44NDdweFxuICAgICksXG4gICAgJ2NoZXZyb24tZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogNDUxLjg0N3B4LFxuICAgICAgICAnaGVpZ2h0JzogNDUxLjg0N3B4XG4gICAgKSxcbiAgICAnY2hldnJvbi1yaWdodCc6IChcbiAgICAgICAgJ3dpZHRoJzogMTg1LjM0M3B4LFxuICAgICAgICAnaGVpZ2h0JzogMTg1LjM0M3B4XG4gICAgKSxcbiAgICAnY2xvc2UnOiAoXG4gICAgICAgICd3aWR0aCc6IDIycHgsXG4gICAgICAgICdoZWlnaHQnOiAyM3B4XG4gICAgKSxcbiAgICAnY29nJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY29tbWVudCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2NvbXBhcmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDQ0OHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdjb21wYXNzJzogKFxuICAgICAgICAnd2lkdGgnOiA0OTZweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnY29udGFjdC1kZXRhaWxzJzogKFxuICAgICAgICAnd2lkdGgnOiAyMXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTlweFxuICAgICksXG4gICAgJ2NvdW50cnknOiAoXG4gICAgICAgICd3aWR0aCc6IDM2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyMXB4XG4gICAgKSxcbiAgICAnY3VzdG9tX3NvY2lhbF9tZWRpYV9saW5rJzogKFxuICAgICAgICAnd2lkdGgnOiAzNTIuNzc5cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODBweFxuICAgICksXG4gICAgJ2RvY3VtZW50JzogKFxuICAgICAgICAnd2lkdGgnOiAzMDlweCxcbiAgICAgICAgJ2hlaWdodCc6IDM4MXB4XG4gICAgKSxcbiAgICAnZG93bic6IChcbiAgICAgICAgJ3dpZHRoJzogMThweCxcbiAgICAgICAgJ2hlaWdodCc6IDEycHhcbiAgICApLFxuICAgICdkb3dubG9hZCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjYycHgsXG4gICAgICAgICdoZWlnaHQnOiAzNTZweFxuICAgICksXG4gICAgJ2VndWlkZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2V4dGVybmFsLWFsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2V5ZSc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2ZhY2Vib29rJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnZmlsZS1hbHQnOiAoXG4gICAgICAgICd3aWR0aCc6IDM4NHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdmaWxlLXBkZic6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2ZsYWcnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdmbGFtZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMzg0cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2dlbSc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ2dsb2JlJzogKFxuICAgICAgICAnd2lkdGgnOiAzMzMuNDVweCxcbiAgICAgICAgJ2hlaWdodCc6IDMzMy40M3B4XG4gICAgKSxcbiAgICAnbGFuZ3VhZ2UtYXJyb3cnOiAoXG4gICAgICAgICd3aWR0aCc6IDM2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyMXB4XG4gICAgKSxcbiAgICAnbGFuZ3VhZ2UnOiAoXG4gICAgICAgICd3aWR0aCc6IDI1cHgsXG4gICAgICAgICdoZWlnaHQnOiAxM3B4XG4gICAgKSxcbiAgICAnbGF3bm93JzogKFxuICAgICAgICAnd2lkdGgnOiAzODIuNHB4LFxuICAgICAgICAnaGVpZ2h0JzogMjU0LjEzcHhcbiAgICApLFxuICAgICdsYXllcnMnOiAoXG4gICAgICAgICd3aWR0aCc6IDI5Ni45NzlweCxcbiAgICAgICAgJ2hlaWdodCc6IDI5Ni45NzlweFxuICAgICksXG4gICAgJ2xpbmtlZGluJzogKFxuICAgICAgICAnd2lkdGgnOiAxOHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTdweFxuICAgICksXG4gICAgJ2xpc3QnOiAoXG4gICAgICAgICd3aWR0aCc6IDIxNXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTY3cHhcbiAgICApLFxuICAgICdsb2FkZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDEwMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTAwcHhcbiAgICApLFxuICAgICdsb2NhdGlvbic6IChcbiAgICAgICAgJ3dpZHRoJzogMjkyLjA5cHgsXG4gICAgICAgICdoZWlnaHQnOiA0MDIuNnB4XG4gICAgKSxcbiAgICAnbWFpbF9kYXJrJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAnbWFpbCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTEycHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ21lbnUnOiAoXG4gICAgICAgICd3aWR0aCc6IDM2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyNHB4XG4gICAgKSxcbiAgICAnbmV3cyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzQ4LjY3cHgsXG4gICAgICAgICdoZWlnaHQnOiAzODEuMzNweFxuICAgICksXG4gICAgJ25ld3NsZXR0ZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDQwOXB4LFxuICAgICAgICAnaGVpZ2h0JzogMzgxLjM3cHhcbiAgICApLFxuICAgICduZXdzcGFwZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDU3NnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICduby12aWRlbyc6IChcbiAgICAgICAgJ3dpZHRoJzogMTAwMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMTAwMHB4XG4gICAgKSxcbiAgICAncGFwZXItcGxhbmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdwaG9uZV9kYXJrJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAncGhvbmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdwaW4nOiAoXG4gICAgICAgICd3aWR0aCc6IDMxMHB4LFxuICAgICAgICAnaGVpZ2h0JzogMzEwcHhcbiAgICApLFxuICAgICdwb2RjYXN0JzogKFxuICAgICAgICAnd2lkdGgnOiA0NDhweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAncHJpbnQnOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdyYWRpby1jaGVja2VkJzogKFxuICAgICAgICAnd2lkdGgnOiA5NnB4LFxuICAgICAgICAnaGVpZ2h0JzogOTZweFxuICAgICksXG4gICAgJ3JhZGlvLXVuY2hlY2tlZCc6IChcbiAgICAgICAgJ3dpZHRoJzogOTZweCxcbiAgICAgICAgJ2hlaWdodCc6IDk2cHhcbiAgICApLFxuICAgICdyZWd6b25lJzogKFxuICAgICAgICAnd2lkdGgnOiA3MnB4LFxuICAgICAgICAnaGVpZ2h0JzogNzJweFxuICAgICksXG4gICAgJ3JlcGx5JzogKFxuICAgICAgICAnd2lkdGgnOiAzMTUuMDNweCxcbiAgICAgICAgJ2hlaWdodCc6IDMwMS4xcHhcbiAgICApLFxuICAgICdyZXR3ZWV0JzogKFxuICAgICAgICAnd2lkdGgnOiAzNjFweCxcbiAgICAgICAgJ2hlaWdodCc6IDE5OHB4XG4gICAgKSxcbiAgICAncmlnaHQtYXJyb3cnOiAoXG4gICAgICAgICd3aWR0aCc6IDMxLjQ5cHgsXG4gICAgICAgICdoZWlnaHQnOiAzMS40OXB4XG4gICAgKSxcbiAgICAnc2VhcmNoJzogKFxuICAgICAgICAnd2lkdGgnOiAxNXB4LFxuICAgICAgICAnaGVpZ2h0JzogMTZweFxuICAgICksXG4gICAgJ3NoYXJlX2FsdCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjc1LjAyNnB4LFxuICAgICAgICAnaGVpZ2h0JzogMjYxLjA5OHB4XG4gICAgKSxcbiAgICAnc2hhcmUnOiAoXG4gICAgICAgICd3aWR0aCc6IDQ0OHB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICdzbGlkZXNob3dfYXJyb3cnOiAoXG4gICAgICAgICd3aWR0aCc6IDI3cHgsXG4gICAgICAgICdoZWlnaHQnOiA0MHB4XG4gICAgKSxcbiAgICAnc3Rhcic6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ3N1Yi1pbmRpY2F0b3InOiAoXG4gICAgICAgICd3aWR0aCc6IDhweCxcbiAgICAgICAgJ2hlaWdodCc6IDVweFxuICAgICksXG4gICAgJ3N1Ym1lbnUtaW5kaWNhdG9yJzogKFxuICAgICAgICAnd2lkdGgnOiA5cHgsXG4gICAgICAgICdoZWlnaHQnOiAxN3B4XG4gICAgKSxcbiAgICAnc3VuJzogKFxuICAgICAgICAnd2lkdGgnOiA1MTJweCxcbiAgICAgICAgJ2hlaWdodCc6IDUxMnB4XG4gICAgKSxcbiAgICAndGFibGUtb2YtY29udGVudHMnOiAoXG4gICAgICAgICd3aWR0aCc6IDI5cHgsXG4gICAgICAgICdoZWlnaHQnOiAyNHB4XG4gICAgKSxcbiAgICAndGFyZ2V0JzogKFxuICAgICAgICAnd2lkdGgnOiAyNzMuNTFweCxcbiAgICAgICAgJ2hlaWdodCc6IDI3My41MXB4XG4gICAgKSxcbiAgICAndGh1bWJzX3VwJzogKFxuICAgICAgICAnd2lkdGgnOiAzMjJweCxcbiAgICAgICAgJ2hlaWdodCc6IDMzM3B4XG4gICAgKSxcbiAgICAndHdpdHRlcic6IChcbiAgICAgICAgJ3dpZHRoJzogMzM1LjMzcHgsXG4gICAgICAgICdoZWlnaHQnOiAyODMuMzNweFxuICAgICksXG4gICAgJ3VwbG9hZCc6IChcbiAgICAgICAgJ3dpZHRoJzogMjYxcHgsXG4gICAgICAgICdoZWlnaHQnOiAzNThweFxuICAgICksXG4gICAgJ3VzZXJfY2FyZCc6IChcbiAgICAgICAgJ3dpZHRoJzogNTc2cHgsXG4gICAgICAgICdoZWlnaHQnOiA1MTJweFxuICAgICksXG4gICAgJ3VzZXInOiAoXG4gICAgICAgICd3aWR0aCc6IDUxMnB4LFxuICAgICAgICAnaGVpZ2h0JzogNTEycHhcbiAgICApLFxuICAgICd1c2Vycyc6IChcbiAgICAgICAgJ3dpZHRoJzogMzQwcHgsXG4gICAgICAgICdoZWlnaHQnOiAzNDBweFxuICAgICksXG4gICAgJ3hpbmcnOiAoXG4gICAgICAgICd3aWR0aCc6IDE2cHgsXG4gICAgICAgICdoZWlnaHQnOiAyMHB4XG4gICAgKSxcbiAgICAneW91dHViZSc6IChcbiAgICAgICAgJ3dpZHRoJzogMTdweCxcbiAgICAgICAgJ2hlaWdodCc6IDIxcHhcbiAgICApXG4pO1xuXG4kdmFyaWFibGVzOiAoXG4gICAgJ2FsbC1hcnJvdyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2Jvb2ttYXJrJzogKFxuICAgICAgICAnZmlsbCc6ICcjMTMyOTRhJ1xuICAgICksXG4gICAgJ2NhbGVuZGFyLWFsdCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ3N0cm9rZSc6ICcnXG4gICAgKSxcbiAgICAnY2hhcnQtbGluZS1kb3duJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnc3Ryb2tlJzogJydcbiAgICApLFxuICAgICdjaGV2cm9uX29wZW4nOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdjbG9zZSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2NvZyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2NvbW1lbnQnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdjb21wYXJlJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnY29tcGFzcyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2NvbnRhY3QtZGV0YWlscyc6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ2N1c3RvbV9zb2NpYWxfbWVkaWFfbGluayc6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZXh0ZXJuYWwtYWx0JzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZXllJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZmlsZS1hbHQnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdmaWxlLXBkZic6IChcbiAgICAgICAgJ2ZpbGwnOiAnI2ZmZmZmZidcbiAgICApLFxuICAgICdmbGFnJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnZmxhbWUnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdnZW0nOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdsYXdub3cnOiAoXG4gICAgICAgICdmaWxsJzogJ2N1cnJlbnRDb2xvcidcbiAgICApLFxuICAgICdsaW5rZWRpbic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ21haWxfZGFyayc6IChcbiAgICAgICAgJ2ZpbGwnOiAnIzEzMjk0YSdcbiAgICApLFxuICAgICdtYWlsJzogKFxuICAgICAgICAnZmlsbCc6ICcjZmZmZmZmJ1xuICAgICksXG4gICAgJ25ld3NwYXBlcic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3BhcGVyLXBsYW5lJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAncGhvbmVfZGFyayc6IChcbiAgICAgICAgJ2ZpbGwnOiAnIzEzMjk0YSdcbiAgICApLFxuICAgICdwaG9uZSc6IChcbiAgICAgICAgJ2ZpbGwnOiAnI2ZmZmZmZidcbiAgICApLFxuICAgICdwcmludCc6IChcbiAgICAgICAgJ2ZpbGwnOiAnI2ZmZmZmZidcbiAgICApLFxuICAgICdyZWd6b25lJzogKFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAnc2hhcmUnOiAoXG4gICAgICAgICdmaWxsJzogJyNmZmZmZmYnXG4gICAgKSxcbiAgICAnc3Rhcic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3N1bic6IChcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3R3aXR0ZXInOiAoXG4gICAgICAgICdzdHJva2UnOiAnY3VycmVudENvbG9yJyxcbiAgICAgICAgJ2ZpbGwnOiAnY3VycmVudENvbG9yJ1xuICAgICksXG4gICAgJ3VzZXInOiAoXG4gICAgICAgICdmaWxsJzogJyMxMzI5NGEnXG4gICAgKSxcbiAgICAneGluZyc6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKSxcbiAgICAneW91dHViZSc6IChcbiAgICAgICAgJ3N0cm9rZSc6ICdjdXJyZW50Q29sb3InLFxuICAgICAgICAnZmlsbCc6ICdjdXJyZW50Q29sb3InXG4gICAgKVxuKTtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3dhbGRlbWFyZm0vc2Fzcy1zdmctdXJpL2Jsb2IvdjEuMC4wL19zdmctdXJpLnNjc3NcbkBmdW5jdGlvbiBzcHJpdGUtc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgICBAaWYgdHlwZS1vZigkcmVwbGFjZSkgPT0gJ251bGwnIHtcbiAgICAgICAgJHJlcGxhY2U6ICcnO1xuICAgIH1cblxuICAgIEBpZiAoICRpbmRleCApIHtcbiAgICAgICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHNwcml0ZS1zdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBmdW5jdGlvbiBzcHJpdGUtc3ZnLXVyaSgkdmFsdWUpIHtcbiAgICAkZW5jb2RlZDogJyc7XG4gICAgJHNsaWNlOiAyMDAwO1xuICAgICRpbmRleDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggY2VpbChzdHItbGVuZ3RoKCR2YWx1ZSkgLyAkc2xpY2UpIHtcbiAgICAgICAgJGNodW5rOiBzdHItc2xpY2UoJHZhbHVlLCAkaW5kZXgsICRpbmRleCArICRzbGljZSAtIDEpO1xuICAgICAgICAkY2h1bms6IHNwcml0ZS1zdHItcmVwbGFjZSgkY2h1bmssICdcIicsIFwiJ1wiKTtcbiAgICAgICAgJGNodW5rOiBzcHJpdGUtc3RyLXJlcGxhY2UoJGNodW5rLCAnPCcsICclM0MnKTtcbiAgICAgICAgJGNodW5rOiBzcHJpdGUtc3RyLXJlcGxhY2UoJGNodW5rLCAnPicsICclM0UnKTtcbiAgICAgICAgJGNodW5rOiBzcHJpdGUtc3RyLXJlcGxhY2UoJGNodW5rLCAnJicsICclMjYnKTtcbiAgICAgICAgJGNodW5rOiBzcHJpdGUtc3RyLXJlcGxhY2UoJGNodW5rLCAnIycsICclMjMnKTtcbiAgICAgICAgJGVuY29kZWQ6ICN7JGVuY29kZWR9I3skY2h1bmt9O1xuICAgICAgICAkaW5kZXg6ICRpbmRleCArICRzbGljZTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRlbmNvZGVkO1xufVxuXG5AbWl4aW4gc3ByaXRlKCRuYW1lLCAkdXNlci12YXJpYWJsZXM6ICgpLCAkaW5jbHVkZS1zaXplOiBmYWxzZSkge1xuICAgICRzcHJpdGU6IG1hcC1nZXQoJHNwcml0ZXMsICRuYW1lKTtcblxuICAgIC8vIEluamVjdCB2YXJpYWJsZXNcbiAgICAkZGVmYXVsdC12YXJpYWJsZXM6IG1hcC1nZXQoJHZhcmlhYmxlcywgJG5hbWUpO1xuICAgIEBpZiB0eXBlLW9mKCRkZWZhdWx0LXZhcmlhYmxlcykgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gbWFwLW1lcmdlKCRkZWZhdWx0LXZhcmlhYmxlcywgJHVzZXItdmFyaWFibGVzKSB7XG4gICAgICAgICAgICBAaWYgKCBub3QgbWFwLWhhcy1rZXkoJGRlZmF1bHQtdmFyaWFibGVzLCAka2V5KSApIHtcbiAgICAgICAgICAgICAgICBAd2FybiAnU3ByaXRlIFxcJyN7JG5hbWV9XFwnIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFibGUgbmFtZWQgXFwnI3ska2V5fVxcJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICRzcHJpdGU6IHNwcml0ZS1zdHItcmVwbGFjZSgkc3ByaXRlLCAnX19fI3ska2V5fV9fXycsIHNwcml0ZS1zdmctdXJpKHF1b3RlKCN7JHZhbHVlfSkpKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdXNlci12YXJpYWJsZXMpID09ICdtYXAnIHtcbiAgICAgICAgQHdhcm4gJ1Nwcml0ZSBcXCcjeyRuYW1lfVxcJyBkb2VzIG5vdCBjb250YWluIGFueSB2YXJpYWJsZXMnO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6IHVybCgkc3ByaXRlKSBjZW50ZXIgbm8tcmVwZWF0O1xuXG4gICAgQGlmICRpbmNsdWRlLXNpemUge1xuICAgICAgICAkc2l6ZTogbWFwLWdldCgkc2l6ZXMsICRuYW1lKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBtYXAtZ2V0KCRzaXplLCB3aWR0aCkgbWFwLWdldCgkc2l6ZSwgaGVpZ2h0KTtcbiAgICB9XG59XG4iLCJAbWl4aW4gX190aWxlc0dyaWRfMyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAudGlsZSB7XG4gICAgLnRpbGVfX2hlYWRpbmcge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC1oZWlnaHQ6IDc3cHg7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICB3b3JkLXdyYXA6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLnNob3ctYWxsOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgbGluZWFyO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgICYudGlsZS0tZ3JheSB7XG4gICAgICAudGlsZV9faGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyay1ibHVlO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRpbGVfX21vcmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyByZXNldFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG5cbiAgICAgIC50aWxlX19pbWFnZSB7XG4gICAgICAgIC8vIHJlc2V0XG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgLy8gc2l6ZVxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC8vIHBpY3R1cmVcbiAgICAgICAgcGljdHVyZSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aWxlX19jb250ZW50IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcblxuICAgICAgICAudGlsZV9faGVhZGluZyB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGlsZV9fbW9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay13aWRlLXN0YXJ0KSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gMyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfX3RpbGVzR3JpZF8zX3RpbGVzU3BhY2UoJHRvcCwgJHJpZ2h0LCAkYm90dG9tLCAkbGVmdCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgIC50aWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRib3R0b207XG5cbiAgICAgIC50aWxlX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGVmdDtcbiAgICAgIH1cblxuICAgICAgLnRpbGVfX2NvbnRlbnQge1xuICAgICAgICBsZWZ0OiAkbGVmdDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHJpZ2h0ICsgJGxlZnR9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRpbGVzR3JpZF90b3BQdWJsaWNhdGlvbnMge1xuICBAaW5jbHVkZSBfX3RpbGVzR3JpZF8zO1xuICBAaW5jbHVkZSBfX3RpbGVzR3JpZF8zX3RpbGVzU3BhY2UoMCwgNnB4LCA2cHgsICRzcGFjZSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuQG1peGluIHRpbGVzR3JpZF9faW5ub3ZhdGlvbiB7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzM7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgwLCAycHgsIDJweCwgMCk7XG59XG5cbkBtaXhpbiB0aWxlc0dyaWRfX2VHdWlkZSB7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzM7XG4gIEBpbmNsdWRlIF9fdGlsZXNHcmlkXzNfdGlsZXNTcGFjZSgwLCAycHgsIDJweCwgMCk7XG59XG5cbkBtaXhpbiB0aWxlc0dyaWRfX2luc2lnaHRzIHtcbiAgQGluY2x1ZGUgX190aWxlc0dyaWRfMztcbiAgQGluY2x1ZGUgX190aWxlc0dyaWRfM190aWxlc1NwYWNlKDAsIDJweCwgMnB4LCAwKTtcbiAgLnRpbGUgLnRpbGVfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICMwMDUxNTc7XG4gICAgLnNob3ctYWxsIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYXJ0bmVyLWludGVydmlldyB7XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29udGFjdC1mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGRlc2stc3RhcnQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmxlZnQge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zb2xpZC1ncmF5IG5vLXJlcGVhdCBzY3JvbGwgY2VudGVyIGNlbnRlciA7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXN0YXJ0KSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDY2LjY2JTtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBhZ2UtYm94LWJwMSkge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkZGVzay1zdGFydCkge1xuICAgICAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbHVtbiB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDQycHg7XG4gICAgfVxuXG4gICAgLmtleS1jb250YWN0IHtcbiAgICAgIGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucGVyc29uLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5wZXJzb24tdGV4dCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucGVyc29uLWFjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudG9wX3B1YmxpY2F0aW9uX3N1YnBhZ2Uge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAubWFpbi1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jZiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5jb2x1bW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMDAlO1xuICB9XG5cbiAgLmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNjYuNjclO1xuICAgIH1cblxuICAgIC5nZW5lcmFsIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDMzLjMyJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5rZXktY29udGFjdCB7XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWFsbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICBAaW5jbHVkZSBmbHlvdXQtbWVudTtcbn1cblxuLnBhZ2UtYm94LS1zdWJwYWdlIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xuXG4gIC5wYWdlLWJveF9fc3VicGFnZS1zaWRlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJHNwYWNlO1xuICAgIG92ZXJmbG93OiB1bnNldDtcblxuICAgIC5saXN0aW5nX19sb2FkLW1vcmUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncmVlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1ibG9jay50YWdzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuXG4gICAgICAuc2hvdy1hbGwge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZS1ib3hfX2VsZW1lbnQge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gIC5wYWdlLWJveF9fc3VicGFnZS1ib2R5IHtcbiAgICBwYWRkaW5nOiAkc3BhY2U7XG4gICAgb3ZlcmZsb3c6IHVuc2V0O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm9keSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0MztcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cblxuICAucGFnZS1ib3hfX3N1YnBhZ2UtY2hpbGRyZW4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLnN1YnNlY3Rpb24tbGluayB7XG4gICAgICAmOm50aC1jaGlsZCgyKTphZnRlcntcbiAgICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkgYW5kIChtYXgtd2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgLnN1YnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlLzIgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0MztcbiAgICAgICAgbWluLWhlaWdodDogODRweDtcbiAgICAgICAgbWF4LWhlaWdodDogODRweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYXJrLWdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJzZWN0aW9uLXRleHQge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUtYWZ0ZXIoKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlLWFmdGVyKCdkb3duJyk7XG4gICAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgb3ZlcmZsb3c6IHVuc2V0O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgbWluLWhlaWdodDogMzQwcHg7XG4gIH1cblxuICBoMi50aXRsZSB7XG4gICAgcGFkZGluZzogJHNwYWNlIDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgcGFkZGluZzogJHNwYWNlO1xuICAgIH1cbiAgfVxuXG4gIGgzLnN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgLmJvZHkge1xuICAgIHBhZGRpbmc6ICRzcGFjZSAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgIHBhZGRpbmc6ICRzcGFjZTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC5nZW5lcmFsLXBhZ2VfX2hlYWQge1xuICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogYXV0bztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyLWJsb2NrIC50YWdzIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG5cbiAgLnBhZ2UtYm94X19pbnNpZGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZseW91dC1tZW51O1xufVxuXG4ucGFnZS1ib3gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG5cbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykgfiAqIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIHtcbiAgICBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAucGVyc29uLWltYWdlLXBob3RvIHtcbiAgICAgIGZsb2F0OiB1bnNldDtcbiAgICB9XG5cbiAgICAucGVyc29uLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5wZXJzb24tYWN0aW9ucyB7XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0aW5nX19sb2FkLW1vcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNob3ctYWxsIHtcbiAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tZXhwZXJ0aXNlIHtcblxuICAgIC50YWdzIHtcbiAgICAgIC50YWcge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctYWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhci1ibG9jayB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAucGFnZS1ib3gtLXN1YnNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhZ2UtYm94LS1zdWJzZWN0aW9uLWNvbnRhY3RzIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC5wZXJzb24tdGV4dCB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wZXJzb24taW1hZ2UtcGhvdG8ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tZXhwZXJ0aXNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRkZXNrLXdpZGUtc3RhcnQpIHtcbiAgICAucGFnZS1ib3gtLXN1YnNlY3Rpb24tY29udGFjdHMge1xuICAgICAgLnBlcnNvbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDY0JTtcbiAgICAgIH1cblxuICAgICAgLnBlcnNvbi1pbWFnZS1waG90byB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHRvYy1oZWlnaHQ6IDYwcHg7XG4kYXJyb3ctd2lkdGg6IDZweDtcblxuLnRvYyB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2UvMjtcblxuICAmLnRwdF90b2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAudG9nZ2xlOmNoZWNrZWQge1xuICAgICYgKyAudG9jLS1oZWFkZXIge1xuICAgICAgLnRvYy0taGVhZGVyX19pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiArIC50b2MtLWhlYWRlciArIC50b2MtLWNvbnRlbnRzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkc3BhY2UgMCAkc3BhY2UqMS4yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6ICR0b2MtaGVpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JheTtcblxuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgZmxleDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICBwYWRkaW5nOiAkc3BhY2UvMiAkc3BhY2U7XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICBib3JkZXItdG9wOiAkYXJyb3ctd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFycm93LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkYXJyb3ctd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogJGFycm93LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50IWltcG9ydGFudDtcblxuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9jLWhlaWdodC8yO1xuXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG5cbiAgJi0tY29udGVudHMge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogJGNvbG9yLWRhcmstZ3JheTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgYS5jdXJyZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRjb2xvci1kYXJrLWJsdWU7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZzogMCAwICRiYXNlLWxpbmUtaGVpZ2h0KjIgMDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjZS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS8yO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA4cHggMCA4cHggMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50b2MtLXR5cGUge1xuICAgICAgJi0xLCAmLTIge1xuICAgICAgICBvbCB7XG4gICAgICAgICAgY291bnRlci1yZXNldDogaXRlbTtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgY29udGVudDogY291bnRlcnMoaXRlbSAsIFwiLlwiKSBcIiBcIjtcbiAgICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvbCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0IDA7XG4gICAgICAgICAgICAgIC50cHRfdG9jICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0IDAgMCAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjZS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZS8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMCA4cHggMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgLnRwdF90b2MgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgb2wge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmX2RlY29yYXRlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9jLS1zdWJoZWFkZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIC50b2MtLXN1YmhlYWRlcl9faWNvbiB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhcnJvdy13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRhcnJvdy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYXJyb3ctd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYXJyb3ctd2lkdGggc29saWQgdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhcnJvdy13aWR0aDtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSA+IC50b2dnbGUge1xuICAgICAgJiB+IG9sLCAmIH4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICAmICsgLnRvYy0tc3ViaGVhZGVyIHtcbiAgICAgICAgICAudG9jLS1zdWJoZWFkZXJfX2ljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYgfiBvbCwgJiB+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udHB0X3RvYyAge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGV0LXN0YXJ0KSB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAmLm9wZW4ge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAudHB0X3RvYy0tdG9nZ2xlOmNoZWNrZWQge1xuICAgICYgKyAudG9jLS1oZWFkZXIge1xuICAgICAgLnRvYy0taGVhZGVyX19pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiArIC50b2MtLWhlYWRlciArIC50b2MtLWNvbnRlbnRzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQpO1xuICAgIH1cbiAgfVxuICAudG9jLS1jb250ZW50cyB7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDg3cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY2O1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogJHNwYWNlIDAgJHNwYWNlKjEuMjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjRzIGVhc2Utb3V0LCBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctdG9wIDAuM3MgZWFzZS1vdXQsIHBhZGRpbmctYm90dG9tIDAuM3MgZWFzZS1vdXQpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1zdGFydCkge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQgMC4zcyBlYXNlLW91dCwgcGFkZGluZy10b3AgMC4zcyBlYXNlLW91dCwgcGFkZGluZy1ib3R0b20gMC4zcyBlYXNlLW91dCk7XG4gICAgfVxuXG4gICAgLnRvYy0taGVhZGVyX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIHRvcDogMzBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBzcHJpdGUoJ2Nsb3NlJywgKGZpbGw6ICMwMDApKTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtc3RhcnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJzb3VyY2VSb290IjoiIn0=*/